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):