This commit is contained in:
李鹏宇
2026-03-11 10:49:43 +08:00
3 changed files with 11 additions and 12 deletions
@@ -153,6 +153,11 @@ class SoongWorkflowMixin(models.AbstractModel):
all_approved = all(log.approval_state == '2' for log in lg1)
if all_approved:
record.is_done = True
workflow_record_id = self.env["soong.workflow.record"].search(
[("res_model", "=", self._name), ("res_id", "=", self.id), ('reclaim_state', '=', False)])
if workflow_record_id:
if workflow_record_id.approve_state == 'end':
record.is_done = True
def _compute_is_confirm(self):
for record in self:
+6 -11
View File
@@ -185,7 +185,8 @@ class SoongWorkflowRecord(models.Model):
emp_to_user = {emp.id: emp.user_id.id for emp in all_employees if emp.user_id}
for record in self:
record.is_to_do = False
if record.approve_state == 'start' and set(active_employee_ids) & set(record.employee_ids.ids) and not record.reclaim_state:
all_record_emp_ids = record.employee_ids.ids + record.employee2_ids.ids
if record.approve_state == 'start' and set(active_employee_ids) & set(all_record_emp_ids) and not record.reclaim_state:
record.is_to_do = True
continue
# 原有逻辑:仅当新增条件不满足时,才执行原有log_ids/log_ids2判断
@@ -236,7 +237,7 @@ class SoongWorkflowRecord(models.Model):
active_employee_ids = current_employees.ids if current_employees else []
if not active_employee_ids:
return [('id', '=', False)]
base_domain = [('employee_ids', 'in', active_employee_ids)]
base_domain = ['|', ('employee_ids', 'in', active_employee_ids), ('employee2_ids', 'in', active_employee_ids)]
if (operator == '=' and value) or (operator == '!=' and not value):
candidate_records = self.search(base_domain)
valid_ids = []
@@ -277,7 +278,8 @@ class SoongWorkflowRecord(models.Model):
for rec in candidate_records:
# 标记满足条件1的记录
if rec.approve_state == 'start':
all_rec_emp_ids = rec.employee_ids.ids + rec.employee2_ids.ids
if rec.approve_state == 'start' and set(active_employee_ids) & set(all_rec_emp_ids) and not rec.reclaim_state:
invalid_ids.append(rec.id)
continue
if rec.res_model and rec.res_id:
@@ -550,17 +552,10 @@ class SoongWorkflowRecord(models.Model):
)
# 修改日志
log_records = None
if record_id.log_ids2:
log_records = record_id.log_ids2
elif record_id.log_ids:
if record_id.log_ids:
log_records = record_id.log_ids
log_model = "soong.workflow.log"
if record_id.log_ids2:
log_model = "soong.workflow.log2"
elif record_id.log_ids:
log_model = "soong.workflow.log"
if log_records:
log_records[-1].write({
'approval_state': '3',
@@ -71,7 +71,6 @@ class MeterArchivesLine(models.Model):
for record in archives_ids:
record.lessee_id = record.contract_id.lessee_id.id
class MeterWaterLine(models.Model):
_inherit = 'meter.water.line'