# -*- 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="结束日期") code = fields.Char(string="督办编号", default=lambda self: self.env['ir.sequence'].next_by_code('inspector_code')) department_id = fields.Many2one('hr.department', string="部门") inspector_importance = fields.Selection([('normal', '正常'), ('urgent', '紧急')], string="重要程度") inspector_html = fields.Html(string="督办内容") inspector_text = fields.Text(string="督办要求") document_id = fields.Binary(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='督办明细') attachment_ids = fields.Many2many('ir.attachment', string='Attachments') 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="工作内容")