@@ -46,7 +46,7 @@ class SoongWorkflowCommentWizard(models.TransientModel):
|
||||
string="传阅人员", store=True)
|
||||
circulated_employee_ids = fields.Many2many('hr.employee', 'circulated_employee_rel',
|
||||
'custom_id', 'employee_id',
|
||||
string="传阅人员", store=True)
|
||||
string="抄送/传阅人员", store=True)
|
||||
dep_manager_employee_ids = fields.Many2many('hr.employee', 'dep_manager_employee_rel',
|
||||
'custom_id', 'employee_id',
|
||||
string="承办", store=True)
|
||||
@@ -79,7 +79,7 @@ class SoongWorkflowCommentWizard(models.TransientModel):
|
||||
|
||||
@api.constrains('employee_ids')
|
||||
def _check_employee_ids(self):
|
||||
if not self.employee_ids and self.node_btn_name == '转交' :
|
||||
if not self.employee_ids and self.node_btn_name == '转交':
|
||||
raise ValidationError("必须有转交人员")
|
||||
|
||||
@api.depends('comment_note_id', 'comment_note')
|
||||
@@ -510,7 +510,30 @@ class SoongWorkflowCommentWizard(models.TransientModel):
|
||||
btntxt="查看详情")
|
||||
self.env['soong.workflow.record'].search([('code', '=', record_id.code)]).write({'approve_state': 'pending'})
|
||||
return self.node_btn_id.with_context(cx).run()
|
||||
|
||||
for employee in self.circulated_employee_ids:
|
||||
record_id = self.env[self.res_model].search([('id', '=', self.res_id)])
|
||||
self.sudo().env["soong.workflow.record.copy"].create({
|
||||
"code": record_id.code,
|
||||
"name": record_id.name,
|
||||
"res_model": self.res_model,
|
||||
"workflow_id": self.node_btn_id.workflow_id.id,
|
||||
"res_id": self.res_id,
|
||||
"done_by": employee.user_id.id,
|
||||
"approval_state_copy": "0",
|
||||
})
|
||||
self.sudo().env["soong.workflow.log2"].create({
|
||||
"model": self.res_model,
|
||||
"res_id": self.res_id,
|
||||
"node_id": self.node_btn_id.node_id.id,
|
||||
"workflow_id": self.node_btn_id.workflow_id.id,
|
||||
"done_by": employee.user_id.id,
|
||||
"node_btn_id": self.node_btn_id.id,
|
||||
"approval_state": "0",
|
||||
})
|
||||
action_id = self.env['ir.actions.act_window'].search([('res_model', '=', self.res_model)])[0]
|
||||
url = f'https://oa.thtzjt.com/web#id={record_id.id}&cids=2&action={action_id.id}&model={self.res_model}&view_type=from&menu_id={record_id.id}'
|
||||
description = "标题: {}\n".format(record_id.name) + self.env.user.name + ' ' + str(fields.Datetime.now() + timedelta(hours=8))
|
||||
self.sudo().env["wecom.apps"].sync_send_message_textcard(category='oa', user_id=employee.wecom_userid, title=record_id._description + "传阅/抄送",description=description, url=url, btntxt="查看详情")
|
||||
if self.node_btn_name == '退回':
|
||||
record_id.write({'state': self.return_link_id.name})
|
||||
next_node_id = record_id.workflow_id.node_ids.search([('name', '=', self.return_link_id.name), ('workflow_id', '=', record_id.workflow_id.id)])
|
||||
@@ -649,27 +672,32 @@ class SoongWorkflowCommentWizard(models.TransientModel):
|
||||
url = f'https://oa.thtzjt.com/web#id={record_id.id}&cids=2&action={action_id.id}&model={self.res_model}&view_type=from&menu_id={record_id.id}'
|
||||
description = "标题: {}\n".format(record_id.name) + self.env.user.name + ' ' + str(fields.Datetime.now() + timedelta(hours=8))
|
||||
if self.employee_ids:
|
||||
next_node_id = record_id.workflow_id.node_ids.search([
|
||||
('name', '=', '董事长'),
|
||||
('workflow_id', '=', record_id.workflow_id.id)
|
||||
])
|
||||
record_id.log_ids[-1].write({"comment": self.comment, "approval_state": "2", "lase_click_date": fields.Datetime.now()})
|
||||
self.sudo().env["soong.workflow.log"].create({
|
||||
"code": self.code,
|
||||
"model": self.res_model,
|
||||
"res_id": self.res_id,
|
||||
"node_id": self.node_btn_id.node_id.id,
|
||||
"node_id": next_node_id.id,
|
||||
"workflow_id": self.node_btn_id.workflow_id.id,
|
||||
"done_by": self.employee_ids.user_id.id,
|
||||
"node_btn_name": "5",
|
||||
"node_btn_name": "0",
|
||||
})
|
||||
self.sudo().env["wecom.apps"].sync_send_message_textcard(category='oa', user_id=self.employee_ids.wecom_userid, title=record_id._description, description=description, url=url, btntxt="查看详情")
|
||||
for emp in self.dep_manager_employee_ids:
|
||||
next_node_id = record_id.workflow_id.node_ids.search([('name', '=', '承办'),('workflow_id', '=', record_id.workflow_id.id)])
|
||||
record_id.log_ids[-1].write({"comment": self.comment, "approval_state": "2", "lase_click_date": fields.Datetime.now()})
|
||||
self.sudo().env["soong.workflow.log"].create({
|
||||
"code": self.code,
|
||||
"model": self.res_model,
|
||||
"res_id": self.res_id,
|
||||
"node_id": self.node_btn_id.node_id.id,
|
||||
"node_id": next_node_id,
|
||||
"workflow_id": self.node_btn_id.workflow_id.id,
|
||||
"done_by": emp.user_id.id,
|
||||
"node_btn_name": "6",
|
||||
"node_btn_name": "0",
|
||||
})
|
||||
self.sudo().env["wecom.apps"].sync_send_message_textcard(category='oa', user_id=emp.wecom_userid, title=record_id._description + "承办", description=description, url=url, btntxt="查看详情")
|
||||
for employee in self.circulated_employee_ids:
|
||||
|
||||
@@ -63,6 +63,7 @@
|
||||
<field name="company_id" invisible="1"/>
|
||||
<field name="employee_ids1" widget="many2many_tags" string="人员范围" invisible="1"/>
|
||||
<field name="employee_ids" widget="many2many_tags" string="人员范围" domain = "[('company_id', '=', company_id), ('id', 'in', employee_ids1)] if is_this_company else [('id', 'in', employee_ids1)]" options="{'no_create': True}"/>
|
||||
<field name="circulated_employee_ids" invisible="node_btn_name == '退回'" widget="many2many_tags" options="{'no_create': True}"/>
|
||||
</group>
|
||||
</group>
|
||||
<group invisible="node_btn_name != '结束'">
|
||||
|
||||
Reference in New Issue
Block a user