diff --git a/soong_workflow/models/soong_workflow_record.py b/soong_workflow/models/soong_workflow_record.py
index 1afd6d98d..bdf21c93f 100644
--- a/soong_workflow/models/soong_workflow_record.py
+++ b/soong_workflow/models/soong_workflow_record.py
@@ -54,20 +54,44 @@ class SoongWorkflowRecord(models.Model):
member_of_department = fields.Boolean("是否是本部门数据", compute='_compute_part_of_department', search='_search_part_of_department')
# 人力资源流程的发生日期
- workflow_happen_date = fields.Date(string="发生日期", compute="_compute_happen_date", store=True, index=True)
+ workflow_happen_date = fields.Date(string="发生日期")
- @api.depends('workflow_id')
- def _compute_happen_date(self):
- """
- 人力资源流程的发生日期
- :return:
+ @api.model
+ def create(self, vals_list):
+ res = super().create(vals_list)
+ res.append_date2(res)
+ return res
- workflow_record_id = self.env["soong.workflow.record"].search(
- [("res_model", "=", self._name), ("res_id", "=", self.id)])
- """
- for i in self.search([]):
- workflow_happen_date = False
+ def append_date2(self, res):
+ res.workflow_happen_date = False
+ if res.approvals_group_id.name == '考勤':
+ record_id = self.env[res.res_model].search([('id', '=', res.res_id)])
+ if res.workflow_id.name == '请假':
+ if record_id.is_day:
+ res.workflow_happen_date = record_id.leave_ids[0].request_date_from
+ else:
+ res.workflow_happen_date = record_id.hour_leave_ids[0].request_date_from
+ if res.workflow_id.name == '加班':
+ res.workflow_happen_date = record_id.start_time
+ if res.workflow_id.name == '外出':
+ res.workflow_happen_date = record_id.date_start
+ def append_date(self):
+ """请假,加班,外出,补卡"""
+ workflow_ids = self.env["soong.workflow.record"].browse(self._context.get('active_ids', self._context.get('active_id', [])))
+ for work in workflow_ids:
+ work.workflow_happen_date = False
+ if work.approvals_group_id.name == '考勤':
+ record_id = self.env[work.res_model].search([('id', '=', work.res_id)])
+ if work.workflow_id.name == '请假':
+ if record_id.is_day:
+ work.workflow_happen_date = record_id.leave_ids[0].request_date_from
+ else:
+ work.workflow_happen_date = record_id.hour_leave_ids[0].request_date_from
+ if work.workflow_id.name == '加班':
+ work.workflow_happen_date = record_id.start_time
+ if work.workflow_id.name == '外出':
+ work.workflow_happen_date = record_id.date_start
def admin_end(self):
workflow_ids = self.env["soong.workflow.record"].browse(
diff --git a/soong_workflow/views/soong_workflow_record.xml b/soong_workflow/views/soong_workflow_record.xml
index fb83f3c5e..7aa8c09c2 100644
--- a/soong_workflow/views/soong_workflow_record.xml
+++ b/soong_workflow/views/soong_workflow_record.xml
@@ -74,8 +74,8 @@
-
-
+
+
@@ -85,6 +85,7 @@
+