Files
gzth/soong_workflow/models/soong_workflow_inspector.py
T
2025-01-23 17:21:50 +08:00

71 lines
3.0 KiB
Python

# -*- coding: utf-8 -*-
import logging
import datetime
from odoo import models, fields, api, _, modules
from odoo.exceptions import ValidationError, UserError
class SoongWorkflowInspector(models.Model):
_name = "soong.workflow.inspector"
_description = "督查督办"
name = fields.Char(string="标题")
start_data = fields.Date(string="督办日期")
end_data = fields.Date(string="完成日期")
reason = fields.Html(string="正文")
user_id = fields.Many2one('res.users', string="申请人", default=lambda self: self.env.user)
department_id = fields.Many2one(related='user_id.department_id', string="部门")
code = fields.Char(string="督办编号", default=lambda self: self.env['ir.sequence'].next_by_code('inspector_code'))
department_ids = fields.Many2many('hr.department', string="督办部门")
employee_ids = fields.Many2many('hr.employee', string="督办人员")
inspector_html = fields.Html(string="督办内容")
inspector_state = fields.Selection([('to_executed','待执行'),
('executed','已执行'), ('finish', '已完成'), ('postponed', '延期')], string='督办状态', default='to_executed')
inspector_text = fields.Text(string="督办要求")
inspector_result = fields.Text(string="督办结果")
remarks = fields.Text(string='备注')
document_ids = fields.Many2many('ir.attachment', string="附件")
inspector_line_ids = fields.One2many('soong.workflow.inspector.line', 'workflow_inspector_id', string='任务进度')
inspector_line2_ids = fields.One2many('soong.workflow.inspector.line2', 'workflow_inspector_id', string='督办明细')
relevancy_type = fields.Selection([('none', '无')], string="关联流程类型")
class SoongWorkflowInspectorLine(models.Model):
_name = "soong.workflow.inspector.line"
_description = "任务进度"
workflow_inspector_id = fields.Many2one('soong.workflow.inspector', string="督办标题")
department_id = fields.Many2one('hr.department', string="部门")
task_text = fields.Text(string="内容")
end_data = fields.Date(string="截止日期")
task_state = fields.Selection([('no', '未办结'), ('ing', '进行中'), ('ed', '已超时'), ('done', '已办结')], string="状态")
employee_id = fields.Many2one('hr.employee', string="上级负责人")
# 办结
def inspector_task_done(self):
pass
# 任务下发
def inspector_task_issued(self):
pass
# 延期
def long_end_data(self):
pass
class SoongWorkflowInspectorLine2(models.Model):
_name = "soong.workflow.inspector.line2"
_description = "督办事项明细"
workflow_inspector_id = fields.Many2one('soong.workflow.inspector', string="督办事项")
department_id = fields.Many2one('hr.department', string="部门")
employee_id = fields.Many2one('hr.employee', string="部门负责人")
end_data = fields.Date(string="截止日期")
inspector_line_text = fields.Text(string="工作内容")