This commit is contained in:
pengyuthon
2025-10-04 10:48:27 +08:00
parent 1d8999326e
commit 3c660cabe0
2 changed files with 45 additions and 13 deletions
+35 -11
View File
@@ -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(
+10 -2
View File
@@ -74,8 +74,8 @@
<field name="create_uid"/>
<field name="node_id" string="当前节点"/>
<field name="employee_ids" widget="many2many_tags" string="当前经办人" class="list_ids_width"/>
<field name="soong_state"/>
<field name="documents_ids" widget="preview_many2many"/>
<field name="soong_state"/>
<field name="documents_ids" widget="preview_many2many"/>
<field name="approvals_group_id" optional="hide"/>
<field name="department_id" optional="hide"/>
<field name="users_ids" string="用户" widget="many2many_tags" optional="hide"/>
@@ -85,6 +85,7 @@
<field name="reclaim_state" column_invisible="1"/>
<field name="member_of_department" optional="hide"/>
<field name="is_manager" column_invisible="1"/>
<field name="workflow_happen_date" string="发生日期"/>
<button name="delete_record" type="object" string="删除" class="btn-primary" confirm="你确定要删除吗?"
invisible="not (is_manager or approve_state == 'start') "/>
<button name="reminders_record" type="object" string="催办" class="btn-primary"
@@ -219,6 +220,13 @@
<field name="code">action = model.admin_end()</field>
<field name="groups_id" eval="[(4, ref('base.group_system'))]"/>
</record>
<record id="action_admin_delete_end22" model="ir.actions.server">
<field name="name">发生日期</field>
<field name="model_id" ref="soong_workflow.model_soong_workflow_record"/>
<field name="binding_model_id" ref="soong_workflow.model_soong_workflow_record"/>
<field name="state">code</field>
<field name="code">action = model.append_date()</field>
</record>
<!-- <record id="all_holiday_update_self_users_ids" model="ir.actions.server">-->
<!-- <field name="name">一次性</field>-->
<!-- <field name="model_id" ref="soong_workflow.model_soong_workflow_record"/>-->