Merge branch 'dev' of https://gitee.com/jinan-pengyusen-data/gzth into dev_wang
This commit is contained in:
@@ -425,23 +425,23 @@ class SoongWorkflowMixin(models.AbstractModel):
|
||||
if apostille_log_obj:
|
||||
raise UserError("当前加签人员还有没有审批完成的!")
|
||||
# 继续正常流程
|
||||
if btn_rec.has_comment:
|
||||
return self.with_context(cx)._add_comment(log_obj, btn_rec)
|
||||
if btn_rec.name == '收回':
|
||||
return {
|
||||
'name': '收回弹窗',
|
||||
'type': 'ir.actions.act_window',
|
||||
'view_mode': 'form',
|
||||
'res_model': 'soong.bounced.wizard',
|
||||
"target": "new",
|
||||
'context': {
|
||||
'default_res_id': self.id,
|
||||
"default_res_model": self._name,
|
||||
}
|
||||
}
|
||||
else:
|
||||
btn_rec.with_context(cx).log()
|
||||
return btn_rec.with_context(cx).run()
|
||||
# if btn_rec.has_comment:
|
||||
return self.with_context(cx)._add_comment(log_obj, btn_rec)
|
||||
# if btn_rec.name == '收回':
|
||||
# return {
|
||||
# 'name': '收回弹窗',
|
||||
# 'type': 'ir.actions.act_window',
|
||||
# 'view_mode': 'form',
|
||||
# 'res_model': 'soong.bounced.wizard',
|
||||
# "target": "new",
|
||||
# 'context': {
|
||||
# 'default_res_id': self.id,
|
||||
# "default_res_model": self._name,
|
||||
# }
|
||||
# }
|
||||
# else:
|
||||
# btn_rec.with_context(cx).log()
|
||||
# return btn_rec.with_context(cx).run()
|
||||
|
||||
def _add_comment(self, logs, btn_rec):
|
||||
trans_link_ids = []
|
||||
|
||||
@@ -163,7 +163,7 @@
|
||||
<field name="name" required="1"/>
|
||||
<field name="is_highlight"/>
|
||||
<!-- <field name="is_high_red"/>-->
|
||||
<field name="has_comment"/>
|
||||
<field name="has_comment" invisible="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="node_id" options="{'no_open': True, 'no_create': True}"
|
||||
|
||||
@@ -498,7 +498,6 @@ class SoongWorkflowCommentWizard(models.TransientModel):
|
||||
"done_by": query_user_id,
|
||||
"node_btn_name": "0",
|
||||
"node_btn_id": self.node_btn_id.id,
|
||||
"lase_click_date": fields.Datetime.now(),
|
||||
"approval_state": "2", # 已完成
|
||||
"comment": self.comment,
|
||||
})
|
||||
@@ -614,7 +613,6 @@ class SoongWorkflowCommentWizard(models.TransientModel):
|
||||
"workflow_id": self.node_btn_id.workflow_id.id,
|
||||
"done_by": employee_id.user_id.id if self.employee_ids else query_user_id,
|
||||
"node_btn_name": "3",
|
||||
"lase_click_date": fields.Datetime.now(),
|
||||
"approval_state": "1", # 待审批
|
||||
})
|
||||
|
||||
@@ -859,7 +857,6 @@ class SoongWorkflowCommentWizard(models.TransientModel):
|
||||
"model": self.res_model,
|
||||
"res_id": self.res_id,
|
||||
"workflow_id": self.node_btn_id.workflow_id.id,
|
||||
"lase_click_date": fields.Datetime.now(),
|
||||
"done_by": record_id.log_ids[0].done_by.id,
|
||||
"approval_state": "0",
|
||||
"node_btn_id": self.node_btn_id.id,
|
||||
@@ -1053,7 +1050,6 @@ class SoongWorkflowCommentWizard(models.TransientModel):
|
||||
record.write({'state': prev_log.name,
|
||||
'work_end': False,
|
||||
})
|
||||
self.node_btn_id.with_context(cx).run()
|
||||
if self.node_btn_name == '归档':
|
||||
menu_id = self.env['ir.ui.menu'].search([('name', '=', '行政收文')], limit=1)
|
||||
action_id = self.env['ir.actions.act_window'].search([('res_model', '=', self.res_model)])[0]
|
||||
|
||||
@@ -14,6 +14,10 @@ class YuthonShiftApproval(models.Model):
|
||||
resource_id = fields.Many2one('resource.resource', string="申请人", default=lambda self: self.env.user.employee_id.resource_id.id)
|
||||
company_id = fields.Many2one('res.company', string="公司", default=lambda self: self.env.user.company_id.id)
|
||||
transferees_id = fields.Many2one('resource.resource', string="换班对象", domain="[('id', 'in', resource_ids)]")
|
||||
|
||||
resource_id1 = fields.Many2one('resource.resource', string="申请人", default=lambda self: self.env.user.employee_id.resource_id.id)
|
||||
transferees_id1 = fields.Many2one('resource.resource', string="换班对象", domain="[('id', 'in', resource_ids)]")
|
||||
|
||||
alternate_id = fields.Many2one('resource.resource', string="顶班对象", domain="[('id', 'in', resource_ids)]")
|
||||
alternate_shifts = fields.Selection([('transferees', '换班'), ('alternate', '顶班')], string="申请类型" , default='transferees')
|
||||
shift_date = fields.Date(string="日期")
|
||||
@@ -56,7 +60,7 @@ class YuthonShiftApproval(models.Model):
|
||||
self_users_ids = fields.Many2many('res.users', string="当前经办人", default=lambda self: [(6, 0, [self.env.user.id])])
|
||||
|
||||
@api.onchange('shift_date', 'resource_id',
|
||||
'shift_two_date',
|
||||
'shift_two_date', 'resource_id1', 'transferees_id1', 'return_id',
|
||||
'return_date', 'transferees_id', 'alternate_id', 'alternate_shifts',
|
||||
'return_two_date')
|
||||
def _onchange_shifts(self):
|
||||
@@ -72,8 +76,8 @@ class YuthonShiftApproval(models.Model):
|
||||
self.shift_id = False
|
||||
|
||||
# 2. 校验并计算"我的第二班次"
|
||||
if self.shift_two_date and self.resource_id:
|
||||
slot = self._get_slot(self.resource_id.id, self.shift_two_date)
|
||||
if self.shift_two_date and self.resource_id1:
|
||||
slot = self._get_slot(self.resource_id1.id, self.shift_two_date)
|
||||
if not slot:
|
||||
self.shift_two_rest = '休息'
|
||||
else:
|
||||
@@ -97,8 +101,8 @@ class YuthonShiftApproval(models.Model):
|
||||
self.return_id = False
|
||||
|
||||
# 5. 校验并计算"对方第二班次"
|
||||
if self.return_two_date and other_resource:
|
||||
slot = self._get_slot(other_resource.id, self.return_two_date)
|
||||
if self.return_two_date and self.transferees_id1:
|
||||
slot = self._get_slot(self.transferees_id1.id, self.return_two_date)
|
||||
if not slot:
|
||||
self.return_two_rest = '休息'
|
||||
else:
|
||||
@@ -202,7 +206,7 @@ class YuthonShiftApproval(models.Model):
|
||||
# 申请人休息(第二班次)
|
||||
if self_rest_two and return_two_id:
|
||||
self.env['planning.slot'].create({
|
||||
'resource_id': record.resource_id.id,
|
||||
'resource_id': record.resource_id1.id,
|
||||
'template_id': return_two_id.template_id.id,
|
||||
'start_datetime': return_two_id.start_datetime,
|
||||
'end_datetime': return_two_id.end_datetime,
|
||||
@@ -228,7 +232,7 @@ class YuthonShiftApproval(models.Model):
|
||||
# 对方休息(第二班次)
|
||||
if other_rest_two and shift_two_id:
|
||||
self.env['planning.slot'].create({
|
||||
'resource_id': record.transferees_id.id,
|
||||
'resource_id': record.transferees_id1.id,
|
||||
'template_id': shift_two_id.template_id.id,
|
||||
'start_datetime': shift_two_id.start_datetime,
|
||||
'end_datetime': shift_two_id.end_datetime,
|
||||
@@ -249,13 +253,27 @@ class YuthonShiftApproval(models.Model):
|
||||
shift_two_id.write({'template_id': return_template_two})
|
||||
return_two_id.write({'template_id': shift_template_two})
|
||||
|
||||
@api.onchange('resource_id', 'transferees_id', 'alternate_id')
|
||||
@api.onchange('resource_id', 'transferees_id', 'alternate_id', 'resource_id1', 'transferees_id1')
|
||||
def onchange_name(self):
|
||||
for rec in self:
|
||||
if rec.resource_id and rec.transferees_id and rec.alternate_shifts =='transferees':
|
||||
rec.name = '调班:'+ rec.resource_id.name + '-' + rec.transferees_id.name
|
||||
elif rec.resource_id and rec.alternate_id and rec.alternate_shifts =='alternate':
|
||||
rec.name = '替班:'+ rec.resource_id.name + '-' + rec.alternate_id.name
|
||||
rec.name = ''
|
||||
res = rec.resource_id
|
||||
trans = rec.transferees_id
|
||||
res1 = rec.resource_id1
|
||||
trans1 = rec.transferees_id1
|
||||
if res and trans and res1 and trans1:
|
||||
if (res.id == res1.id) and (trans.id == trans1.id):
|
||||
rec.name = '调班:' + res.name + '-' + trans.name
|
||||
continue
|
||||
name_parts = []
|
||||
if rec.alternate_shifts == 'transferees':
|
||||
if res and trans:
|
||||
name_parts.append(f"{res.name}-{trans.name}")
|
||||
if res1 and trans1:
|
||||
name_parts.append(f"{res1.name}-{trans1.name}")
|
||||
|
||||
if name_parts:
|
||||
rec.name = '调班:' + ' | '.join(name_parts)
|
||||
|
||||
@api.onchange('department_id')
|
||||
def _onchange_resource_ids(self):
|
||||
|
||||
@@ -67,14 +67,14 @@
|
||||
<group>
|
||||
<label for="resource_id"/>
|
||||
<div>
|
||||
<field name="resource_id" class="oe_inline"/>
|
||||
<field name="resource_id" class="oe_inline" options="{'no_open': True, 'no_create': True}"/>
|
||||
<field name="shift_date" class="oe_inline"/>
|
||||
<field name="shift_id" class="oe_inline" invisible="shift_rest" readonly="1"/>
|
||||
<field name="shift_rest" class="oe_inline" invisible="shift_id or shift_date == False"/>
|
||||
</div>
|
||||
<label for="transferees_id"/>
|
||||
<div>
|
||||
<field name="transferees_id" class="oe_inline"/>
|
||||
<field name="transferees_id" class="oe_inline" options="{'no_open': True, 'no_create': True}"/>
|
||||
<field name="return_date" class="oe_inline"/>
|
||||
<field name="return_id" class="oe_inline" invisible="return_rest" readonly="1"/>
|
||||
<field name="return_rest" class="oe_inline" invisible="return_id or return_date == False" />
|
||||
@@ -86,13 +86,13 @@
|
||||
<group>
|
||||
<label for="resource_id"/>
|
||||
<div>
|
||||
<field name="resource_id" class="oe_inline"/>
|
||||
<field name="resource_id" class="oe_inline" options="{'no_open': True, 'no_create': True}"/>
|
||||
<field name="shift_date" class="oe_inline"/>
|
||||
<field name="old_shift" class="oe_inline"/>
|
||||
</div>
|
||||
<label for="transferees_id"/>
|
||||
<div>
|
||||
<field name="transferees_id" class="oe_inline"/>
|
||||
<field name="transferees_id" class="oe_inline" options="{'no_open': True, 'no_create': True}"/>
|
||||
<field name="return_date" class="oe_inline"/>
|
||||
<field name="old_return" class="oe_inline"/>
|
||||
</div>
|
||||
@@ -110,9 +110,9 @@
|
||||
<!-- </group>-->
|
||||
<group string="换班2" invisible="work_end">
|
||||
<group>
|
||||
<label for="resource_id"/>
|
||||
<label for="resource_id1"/>
|
||||
<div>
|
||||
<field name="resource_id" class="oe_inline"/>
|
||||
<field name="resource_id1" class="oe_inline" options="{'no_open': True, 'no_create': True}"/>
|
||||
<field name="shift_two_date" class="oe_inline"/>
|
||||
<field name="shift_two_id" class="oe_inline" readonly="1" invisible="shift_two_rest"
|
||||
context="{'tree_view_ref': 'yuthon_hr_attendance.view_yuthon_shift_context',
|
||||
@@ -122,9 +122,9 @@
|
||||
/>
|
||||
<field name="shift_two_rest" class="oe_inline" invisible="shift_two_id or shift_two_date == False"/>
|
||||
</div>
|
||||
<label for="transferees_id"/>
|
||||
<label for="transferees_id1"/>
|
||||
<div>
|
||||
<field name="transferees_id" class="oe_inline"/>
|
||||
<field name="transferees_id1" class="oe_inline" options="{'no_open': True, 'no_create': True}"/>
|
||||
<field name="return_two_date" class="oe_inline"/>
|
||||
<field name="return_two_id" class="oe_inline" readonly="1" invisible="return_two_rest"
|
||||
context="{'tree_view_ref': 'yuthon_hr_attendance.view_yuthon_shift_context',
|
||||
@@ -139,15 +139,15 @@
|
||||
<!--与上述同理-->
|
||||
<group string="换班2" invisible="not work_end">
|
||||
<group>
|
||||
<label for="resource_id"/>
|
||||
<label for="resource_id1"/>
|
||||
<div>
|
||||
<field name="resource_id" class="oe_inline"/>
|
||||
<field name="resource_id1" class="oe_inline" options="{'no_open': True, 'no_create': True}"/>
|
||||
<field name="shift_two_date" class="oe_inline"/>
|
||||
<field name="old_two_shift" class="oe_inline"/>
|
||||
</div>
|
||||
<label for="transferees_id"/>
|
||||
<label for="transferees_id1"/>
|
||||
<div>
|
||||
<field name="transferees_id" class="oe_inline"/>
|
||||
<field name="transferees_id1" class="oe_inline" options="{'no_open': True, 'no_create': True}"/>
|
||||
<field name="return_two_date" class="oe_inline"/>
|
||||
<field name="old_two_return" class="oe_inline"/>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user