From 3df87f5cefa67965b719ae0c7c9bef0933739398 Mon Sep 17 00:00:00 2001 From: zfh <15856818120@163.com> Date: Wed, 5 Mar 2025 09:23:17 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=86=E7=94=A8=E5=AE=A1=E6=89=B9=E4=BC=98?= =?UTF-8?q?=E5=8C=96=EF=BC=8C=E5=8A=A0=E4=B8=8A=E4=BC=9A=E7=AD=BE=E7=9A=84?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/domain/lease/LeaseApplyInfo.java | 9 ++++ .../service/impl/LeaseTaskServiceImpl.java | 49 +++++++++++++++++++ .../mapper/material/lease/LeaseTaskMapper.xml | 23 +++++---- 3 files changed, 71 insertions(+), 10 deletions(-) diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseApplyInfo.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseApplyInfo.java index 13d06ba6..895caa19 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseApplyInfo.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseApplyInfo.java @@ -265,4 +265,13 @@ public class LeaseApplyInfo extends BaseEntity{ @ApiModelProperty(value = "公司名称") private String companyName; + + @ApiModelProperty(value = "本流程节点id") + private Integer nodeId; + + @ApiModelProperty(value = "流程配置值") + private String configValue; + + @ApiModelProperty(value = "所属记录") + private Integer recordId; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java index 31d47f5d..a8463d6c 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java @@ -29,7 +29,10 @@ import com.bonus.material.task.domain.TmTaskAgreement; import com.bonus.material.task.mapper.TmTaskAgreementMapper; import com.bonus.material.task.mapper.TmTaskMapper; import com.bonus.material.work.domain.SysWorkflowRecord; +import com.bonus.material.work.domain.SysWorkflowRecordHistory; import com.bonus.material.work.domain.SysWorkflowType; +import com.bonus.material.work.mapper.SysWorkflowConfigMapper; +import com.bonus.material.work.mapper.SysWorkflowRecordHistoryMapper; import com.bonus.material.work.mapper.SysWorkflowRecordMapper; import com.bonus.material.work.mapper.SysWorkflowTypeMapper; import com.bonus.material.work.service.SysWorkflowRecordService; @@ -73,6 +76,12 @@ public class LeaseTaskServiceImpl implements ILeaseTaskService { @Resource private SysWorkflowRecordService sysWorkflowRecordService; + + @Resource + private SysWorkflowConfigMapper sysWorkflowConfigMapper; + + @Resource + private SysWorkflowRecordHistoryMapper sysWorkflowRecordHistoryMapper; /** * 新增领用任务 * @@ -368,6 +377,7 @@ public class LeaseTaskServiceImpl implements ILeaseTaskService { public List selectAuditLeaseApplyInfoList(LeaseApplyInfo leaseApplyInfo) { Long userId = SecurityUtils.getUserId(); leaseApplyInfo.setUserId(userId == 0 ? null : userId); + log.info("用户id为{}",userId); List list = mapper.selectAuditLeaseApplyInfoList(leaseApplyInfo); if (!CollectionUtils.isEmpty(list)) { String keyWord = leaseApplyInfo.getKeyWord(); @@ -378,6 +388,45 @@ public class LeaseTaskServiceImpl implements ILeaseTaskService { .collect(Collectors.toList()); } } + for (LeaseApplyInfo leaseApplyInfoNew : list) { + //获取当前节点,并根据当前节点获取审核人审核的角色信息 + if (leaseApplyInfoNew.getNodeId()!=null){ + log.info("当前节点为{}",leaseApplyInfoNew.getNodeId()); + String configValue = sysWorkflowConfigMapper.selectConfigValueByNodeId(leaseApplyInfoNew.getNodeId()); + leaseApplyInfoNew.setConfigValue(configValue); + //判断当前节点是否审核 + SysWorkflowRecordHistory sysWorkflowRecordHistory = new SysWorkflowRecordHistory(); + sysWorkflowRecordHistory.setRecordId(leaseApplyInfoNew.getRecordId()); + sysWorkflowRecordHistory.setNodeId(leaseApplyInfoNew.getNodeId()); + List SysWorkflowRecordHistoryList = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory); + //判断是或签还是会签0:或签 1:会签 + if (0==leaseApplyInfoNew.getLeaseSignType().intValue()){ + //当前节点已经审核需要修改节点值 + if (SysWorkflowRecordHistoryList.get(0)!=null){ + String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(SysWorkflowRecordHistoryList.get(0).getNextNodeId()); + leaseApplyInfoNew.setNodeId(SysWorkflowRecordHistoryList.get(0).getNextNodeId()); + leaseApplyInfoNew.setConfigValue(configValueNew); + } + }else { + String[] ConfigValue = configValue.split(","); + for (SysWorkflowRecordHistory sysWorkflowRecordHistoryNew : SysWorkflowRecordHistoryList) { + if (sysWorkflowRecordHistoryNew!=null){ + // 过滤数组元素 + List filteredList = Arrays.stream(ConfigValue) + .filter(value -> value.equals(sysWorkflowRecordHistoryNew.getCreateBy())) + .collect(Collectors.toList()); + leaseApplyInfoNew.setConfigValue(filteredList.toString()); + //判断是否这个节点的所有人都审核 + if (filteredList.size()==0){ + String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(SysWorkflowRecordHistoryList.get(0).getNextNodeId()); + leaseApplyInfoNew.setNodeId(SysWorkflowRecordHistoryList.get(0).getNextNodeId()); + leaseApplyInfoNew.setConfigValue(configValueNew); + } + } + } + } + } + } return list; } diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml index 2d5fc734..510b1c73 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml @@ -38,6 +38,8 @@ + + @@ -465,14 +467,15 @@ lai.dept_audit_remark, lai.direct_audit_by, lai.direct_audit_time, lai.direct_audit_remark, lai.create_by, lai.create_time, lai.update_by, lai.update_time, lai.remark, lai.company_id, lai.direct_id, lai.lease_type, lai.estimate_lease_time, lai.cost_bearing_party, lai.lease_sign_url, - lai.lease_sign_type,tt.task_id as taskId, - bai.unit_id,bai.project_id,bu.unit_name, bp.pro_name,bai.agreement_id, bai.agreement_code, swr.workflow_status as taskStatus, - + lai.lease_sign_type,tt.task_id as taskId,swn.node_sign_type as leaseSignType, + lai.unit_id,lai.project_id,bu.unit_name, bp.pro_name, swr.workflow_status as taskStatus,bai.agreement_code, + swrs.next_node_id,swrs.record_id, case tt.task_status when 0 then '待审核' - when 1 then '执行中' - when 2 then '执行完成' - when 3 then '执行中断' + when 1 then '待审核' + when 2 then '审核中' + when 3 then '已完成' + when 4 then '已完成' end as taskStatusName, IFNULL(sum(lad.pre_num),0) as preCountNum, IFNULL(sum(lad.al_num),0) as alNum, @@ -485,8 +488,8 @@ left join lease_apply_details lad on lai.id = lad.parent_id left join tm_task_agreement tta on lai.task_id = tta.task_id left join bm_agreement_info bai on tta.agreement_id = bai.agreement_id - left join bm_unit bu on bu.unit_id = bai.unit_id - left join bm_project bp on bp.pro_id = bai.project_id + left join bm_unit bu on bu.unit_id = lai.unit_id + left join bm_project bp on bp.pro_id = lai.project_id left join sys_dept sd on sd.dept_id = bp.imp_unit left join sys_dict_data sda on tt.task_status = sda.dict_value and sda.dict_type = 'lease_task_status' @@ -496,8 +499,9 @@ left join sys_workflow_type swt on swr.workflow_id = swt.id left join sys_workflow_node swn on swt.id = swn.type_id left join sys_workflow_config swc on swn.id = swc.node_id + left join sys_workflow_record_history swrs on swr.id = swrs.record_id where 1=1 - and swc.config_value = #{userId} + and swc.config_value LIKE CONCAT('%', #{userId}, '%') and lai.code = #{code} and lai.task_id = #{taskId} and lai.lease_person = #{leasePerson} @@ -545,7 +549,6 @@ and lai.cost_bearing_party = #{costBearingParty} - and lai.apply_code is not null and (tt.task_status = 0 or tt.task_status = 1 or tt.task_status = 2) and (tt.task_status = 3 or tt.task_status = 4) GROUP BY lai.id