55 lines
3.0 KiB
Python
55 lines
3.0 KiB
Python
from odoo import api, fields, models, tools
|
|
|
|
|
|
class IssueApprovalDecision(models.Model):
|
|
_name = "issue.approval.decision"
|
|
_description = '决策清单'
|
|
_order = 'sequence asc'
|
|
_rec_name = 'specifics'
|
|
|
|
decision_type_id = fields.Many2one('issue.approval.decision.type', string='事项类别')
|
|
decision_type_on_id = fields.Many2one('issue.approval.decision.type', string='事项类别上级')
|
|
sequence = fields.Char(string='序号', store=True)
|
|
specifics = fields.Text(string='具体事项')
|
|
by_law = fields.Selection([('yes', '是'), ('no', '否')], string='是否经过法律审核')
|
|
is_filing = fields.Selection([('yes', '备'), ('no', '否')], string='是否备案')
|
|
council_id = fields.Many2one('issue.library.type', string='党总支')
|
|
team_meet_id = fields.Many2one('issue.library.type', string='经营班子会')
|
|
board_meet_id = fields.Many2one('issue.library.type', string='董事会')
|
|
district_state_id = fields.Many2one('issue.library.type', string="区国资局",)
|
|
district_government_id = fields.Many2one('issue.library.type', string="区政府",)
|
|
district_party_id= fields.Many2one('issue.library.type', string="区委组织部")
|
|
department_id = fields.Many2one('hr.department', string="部门")
|
|
management_matters_id = fields.Many2one('issue.approval.decision.type', string='管理事项')
|
|
company_id = fields.Many2one('res.company', string="公司", default=lambda self: self._get_default_company())
|
|
scope = fields.Selection([('one', '一级区属国有企业'), ('two', '二级区属国有企业'), ('one_two', '一级、二级区属国有企业')], string='适用范围', default='one')
|
|
start_date = fields.Date(string="生效日期")
|
|
end_date = fields.Date(string="失效日期")
|
|
remarks = fields.Text(string='备注')
|
|
issue_approval_id = fields.Many2one('issue.approval', string="关联议题审批")
|
|
version = fields.Char(string="版本", default="V3.0")
|
|
|
|
def _get_default_company(self):
|
|
company = self.env['res.company'].search([('name', '=', '集团本部')], limit=1)
|
|
return company.id if company else False
|
|
|
|
@api.onchange('decision_type_id')
|
|
def onchange_sequence(self):
|
|
for seq in self:
|
|
seq.sequence = seq.decision_type_id.sequence or ''
|
|
num = seq.search_count([('decision_type_id', '=', seq.decision_type_id.id)])
|
|
if seq.decision_type_id:
|
|
seq.sequence = seq.sequence + '.' + str(num+1)
|
|
else:
|
|
seq.sequence = ''
|
|
if seq.decision_type_id.decision_type_id:
|
|
seq.decision_type_on_id = seq.decision_type_id.decision_type_id
|
|
|
|
def update_issue(self):
|
|
company = self.env['res.company'].search([('name', '=', '集团本部')], limit=1)
|
|
issue_active_ids = self.env["issue.approval.decision"].browse(
|
|
self._context.get('active_ids', self._context.get('active_id')))
|
|
for record in issue_active_ids:
|
|
record.scope = 'one'
|
|
record.company_id = company.id
|