diff --git a/yuthon_contract/data/contract_code_data.xml b/yuthon_contract/data/contract_code_data.xml index 691b0f896..22610f704 100644 --- a/yuthon_contract/data/contract_code_data.xml +++ b/yuthon_contract/data/contract_code_data.xml @@ -6,4 +6,17 @@ HT%(y)s%(month)s%(day)s 3 + + 定时任务:更新员工合同状态 + + code + model.card_lc_remind_in() + + + 1 + days + + -1 + + \ No newline at end of file diff --git a/yuthon_contract/models/inherit_hr_contract.py b/yuthon_contract/models/inherit_hr_contract.py index 912dd63f6..432408276 100644 --- a/yuthon_contract/models/inherit_hr_contract.py +++ b/yuthon_contract/models/inherit_hr_contract.py @@ -56,6 +56,20 @@ class HrContract(models.Model): # 调用原生写入逻辑 return super(HrContract, self).write(vals) + def update_contract_states(self): + today = date.today() + active_contracts = self.search([ + ('state', 'not in', ['cancel']), + ]) + for contract in active_contracts: + if not contract.date_end: + contract.state = 'open' + else: + if contract.date_end < today: + contract.state = 'close' + else: + contract.state = 'open' + @api.depends_context('uid', 'company') @api.depends('company_id') def _compute_is_company(self):