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 395b7f3d..1b4ef9e7 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 @@ -269,6 +269,9 @@ public class LeaseApplyInfo extends BaseEntity{ @ApiModelProperty(value = "本流程节点id") private Integer nodeId; + @ApiModelProperty(value = "下个流程节点id") + private Integer nextNodeId; + @ApiModelProperty(value = "流程配置值") private String configValue; @@ -281,6 +284,10 @@ public class LeaseApplyInfo extends BaseEntity{ @ApiModelProperty(value = "设备id") private Long maId; + @ApiModelProperty(value = "所属记录") + private Integer nodeSignType; + + @ApiModelProperty(value = "发布批次") private String publishTask; } 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 d7949c49..4cd40c23 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 @@ -379,53 +379,67 @@ public class LeaseTaskServiceImpl implements ILeaseTaskService { leaseApplyInfo.setUserId(userId == 0 ? null : userId); log.info("用户id为{}",userId); List list = mapper.selectAuditLeaseApplyInfoList(leaseApplyInfo); - if (!CollectionUtils.isEmpty(list)) { - String keyWord = leaseApplyInfo.getKeyWord(); - // 如果关键字不为空,进行过滤 - if (!StringUtils.isBlank(keyWord)) { - list = list.stream() - .filter(item -> containsKeyword(item, keyWord)) - .collect(Collectors.toList()); + try { + if (!CollectionUtils.isEmpty(list)) { + String keyWord = leaseApplyInfo.getKeyWord(); + // 如果关键字不为空,进行过滤 + if (!StringUtils.isBlank(keyWord)) { + list = list.stream() + .filter(item -> containsKeyword(item, keyWord)) + .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); + for (LeaseApplyInfo leaseApplyInfoNew : list) { + //获取当前节点,并根据当前节点获取审核人审核的角色信息 + if (leaseApplyInfoNew.getNodeId()!=null){ + log.info("当前节点为{}",leaseApplyInfoNew.getNodeId()); + SysWorkflowRecordHistory sysWorkflowRecordHistory = sysWorkflowRecordHistoryMapper.getWorkflowRecordHistoryByRecordId(leaseApplyInfoNew.getRecordId()); + leaseApplyInfoNew.setNodeId(sysWorkflowRecordHistory.getNodeId()); + if (sysWorkflowRecordHistory.getNodeSort()==1){ + leaseApplyInfoNew.setNodeId(sysWorkflowRecordHistory.getNextNodeId()); } - }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); + String configValue = sysWorkflowConfigMapper.selectConfigValueByNodeId(leaseApplyInfoNew.getNodeId()); + leaseApplyInfoNew.setConfigValue(configValue); + //判断当前节点是否审核 + sysWorkflowRecordHistory.setRecordId(leaseApplyInfoNew.getRecordId()); + sysWorkflowRecordHistory.setNodeId(leaseApplyInfoNew.getNodeId()); + List SysWorkflowRecordHistoryList = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory); + //判断是或签还是会签0:或签 1:会签 + if (0==leaseApplyInfoNew.getNodeSignType()){ + //当前节点已经审核需要修改节点值 + 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(","); + List filteredList = Arrays.stream(ConfigValue).collect(Collectors.toList()); + for (SysWorkflowRecordHistory sysWorkflowRecordHistoryNew : SysWorkflowRecordHistoryList) { + if (sysWorkflowRecordHistoryNew!=null){ + // 过滤数组元素 + filteredList = filteredList.stream() + .filter(value ->value != null && !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); + }else { + if (SysWorkflowRecordHistoryList.size()>0){ + leaseApplyInfoNew.setNodeId(leaseApplyInfoNew.getNodeId()); + leaseApplyInfoNew.setConfigValue(filteredList.toString()); } } } } } + }catch (Exception e){ + log.info("查询失败",e.getMessage()); } return list; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/DirectRotationImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/DirectRotationImpl.java index ba38ecb0..bccbe0f6 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/DirectRotationImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/DirectRotationImpl.java @@ -14,6 +14,7 @@ import com.bonus.material.work.domain.SysWorkflowRecord; import com.bonus.material.work.domain.SysWorkflowRecordHistory; import com.bonus.material.work.mapper.SysWorkflowRecordHistoryMapper; import com.bonus.material.work.mapper.SysWorkflowRecordMapper; +import com.bonus.material.work.service.SysWorkflowRecordService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -44,6 +45,9 @@ public class DirectRotationImpl implements DirectRotationService { @Resource(name = "workSiteDirectManageService") private WorkSiteDirectManageService workSiteDirectManageService; + @Resource + private SysWorkflowRecordService sysWorkflowRecordService; + @Override public List getUseringData(SltAgreementInfo sltAgreementInfo) { return mapper.getUseringData(sltAgreementInfo); @@ -103,7 +107,8 @@ public class DirectRotationImpl implements DirectRotationService { } else { return AjaxResult.error("保存失败"); } - initAuditDir(id,code); + sysWorkflowRecordService.addSysWorkflowRecord(id,code,TM_TASK_DIRECT.getTaskTypeId()); + //initAuditDir(id,code); return AjaxResult.success("保存成功"); @@ -116,7 +121,7 @@ public class DirectRotationImpl implements DirectRotationService { wf.setTaskId(id); wf.setTaskType(TM_TASK_DIRECT.getTaskTypeId()); wf.setTaskCode(code); - wf.setWorkflowId(16); + wf.setWorkflowId(15); wfMapper.addSysWorkflowRecord(wf); //2 生成直转审核人 SysWorkflowRecordHistory his = new SysWorkflowRecordHistory(); @@ -128,6 +133,7 @@ public class DirectRotationImpl implements DirectRotationService { his.setCreateBy(SecurityUtils.getUsername()); his.setCreateTime(new Date()); hisMapper.addSysWorkflowRecordHistory(his) ; + } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/domain/SysWorkflowConfig.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/domain/SysWorkflowConfig.java index de892a78..71b6f26a 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/domain/SysWorkflowConfig.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/domain/SysWorkflowConfig.java @@ -40,4 +40,9 @@ public class SysWorkflowConfig { * 创建人 */ private String keyWord; + + /** + * 角色信息 + */ + private String roleIds; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/domain/SysWorkflowNode.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/domain/SysWorkflowNode.java index f30509f7..98271abc 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/domain/SysWorkflowNode.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/domain/SysWorkflowNode.java @@ -92,4 +92,9 @@ public class SysWorkflowNode { */ private Integer nodeId; private String nodeLabel; + + /** + * 角色信息 + */ + private String roleIds; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/domain/SysWorkflowRecordHistory.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/domain/SysWorkflowRecordHistory.java index 5ef6e7e3..4e5790ee 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/domain/SysWorkflowRecordHistory.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/domain/SysWorkflowRecordHistory.java @@ -61,4 +61,9 @@ public class SysWorkflowRecordHistory { * 所属流程类型ID */ private Integer typeId; + + /** + * 流程节点顺序 + */ + private Integer nodeSort; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/mapper/SysWorkflowRecordHistoryMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/mapper/SysWorkflowRecordHistoryMapper.java index 65606661..2d3cc22f 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/mapper/SysWorkflowRecordHistoryMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/mapper/SysWorkflowRecordHistoryMapper.java @@ -11,4 +11,6 @@ public interface SysWorkflowRecordHistoryMapper { int addSysWorkflowRecordHistory(SysWorkflowRecordHistory sysWorkflowRecordHistory); List seleteSysWorkflowRecordHistory(SysWorkflowRecordHistory sysWorkflowRecordHistory); + + SysWorkflowRecordHistory getWorkflowRecordHistoryByRecordId(Integer recordId); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/service/impl/SysWorkflowNodeServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/service/impl/SysWorkflowNodeServiceImpl.java index 0d8bd23b..95efe6f3 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/service/impl/SysWorkflowNodeServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/service/impl/SysWorkflowNodeServiceImpl.java @@ -15,8 +15,9 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.Arrays; import java.util.List; -import java.util.Optional; +import java.util.stream.Collectors; @Service public class SysWorkflowNodeServiceImpl implements SysWorkflowNodeService { @@ -55,8 +56,11 @@ public class SysWorkflowNodeServiceImpl implements SysWorkflowNodeService { int count = sysWorkflowNodeMapper.addSysWorkflowNode(sysWorkflowNode); SysWorkflowConfig sysWorkflowConfig = new SysWorkflowConfig(); sysWorkflowConfig.setNodeId(sysWorkflowNode.getId()); - sysWorkflowConfig.setConfigType(sysWorkflowNode.getNodeSignType()); + sysWorkflowConfig.setConfigType(sysWorkflowNode.getNodeSignConfig()); sysWorkflowConfig.setConfigValue(sysWorkflowNode.getConfigValues()); + if (sysWorkflowNode.getNodeSignConfig()==0){ + sysWorkflowConfig.setRoleIds(sysWorkflowNode.getRoleIds()); + } //新增审核详情表信息 sysWorkflowConfigMapper.addSysWorkflowConfig(sysWorkflowConfig); return count; @@ -90,8 +94,11 @@ public class SysWorkflowNodeServiceImpl implements SysWorkflowNodeService { sysWorkflowConfig.setNodeId(sysWorkflowNode.getId()); sysWorkflowConfigMapper.deleteSysWorkflowConfig(sysWorkflowConfig); sysWorkflowConfig.setNodeId(sysWorkflowNode.getId()); - sysWorkflowConfig.setConfigType(sysWorkflowNode.getNodeSignType()); + sysWorkflowConfig.setConfigType(sysWorkflowNode.getNodeSignConfig()); sysWorkflowConfig.setConfigValue(sysWorkflowNode.getConfigValues()); + if (sysWorkflowNode.getNodeSignConfig()==0){ + sysWorkflowConfig.setRoleIds(sysWorkflowNode.getRoleIds()); + } //新增审核详情表信息 sysWorkflowConfigMapper.addSysWorkflowConfig(sysWorkflowConfig); return count; @@ -106,42 +113,54 @@ public class SysWorkflowNodeServiceImpl implements SysWorkflowNodeService { sysWorkflowRecordHistory.setRecordId(SysWorkflowNode.getRecordId()); sysWorkflowRecordHistory.setNodeId(SysWorkflowNode.getNodeId()); List sysWorkflowRecordHistoryList = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory); - if (StringUtils.isNotNull(sysWorkflowRecordHistoryList)){ + if (sysWorkflowRecordHistoryList.size()>0){ //判断是或签还是会签0:或签 1:会签 if (0==SysWorkflowNode.getNodeSignType()){ SysWorkflowNode.setIsAccept(sysWorkflowRecordHistoryList.get(0).getIsAccept()); SysWorkflowNode.setCreateTime(sysWorkflowRecordHistoryList.get(0).getCreateTime()); SysWorkflowNode.setRemark(sysWorkflowRecordHistoryList.get(0).getRemark()); }else { - String[] ConfigValue =SysWorkflowNode.getConfigValues().split(","); + String[] configValue = SysWorkflowNode.getConfigValues().split(","); + List filteredList = Arrays.stream(configValue).collect(Collectors.toList()); // 过滤数组元素 for (SysWorkflowRecordHistory sysWorkflowRecordHistoryNew : sysWorkflowRecordHistoryList) { - /*List filteredList = Arrays.stream(ConfigValue) - .filter(value -> value.equals(sysWorkflowRecordHistoryNew.getCreateBy())) + // 过滤数组元素 + filteredList = filteredList.stream() + .filter(value ->value != null && !value.equals(sysWorkflowRecordHistoryNew.getCreateBy())) .collect(Collectors.toList()); - //判断是不是所有人都审核完成 - if(filteredList.size()==0){ - - }*/ - //查看当前人是否审核 - if(userId.toString().equals(sysWorkflowRecordHistoryNew.getCreateBy())){ - SysWorkflowNode.setIsAccept(sysWorkflowRecordHistoryNew.getIsAccept()); - SysWorkflowNode.setCreateTime(sysWorkflowRecordHistoryNew.getCreateTime()); - SysWorkflowNode.setRemark(sysWorkflowRecordHistoryNew.getRemark()); } - //查看别人审核是否有驳回的 - if (sysWorkflowRecordHistoryNew.getIsAccept().equals(2)){ - SysWorkflowNode.setIsAccept(sysWorkflowRecordHistoryNew.getIsAccept()); - SysWorkflowNode.setCreateTime(sysWorkflowRecordHistoryNew.getCreateTime()); - SysWorkflowNode.setRemark(sysWorkflowRecordHistoryNew.getRemark()); + //获取所有的审核状态 + List isAcceptList =sysWorkflowRecordHistoryList.stream() + .map(SysWorkflowRecordHistory::getIsAccept) + .collect(Collectors.toList()); + //判断是否有人是驳回 + if(isAcceptList.contains(2)){ + //获取驳回信息 + List sysWorkflowRecordHistoryListNew = sysWorkflowRecordHistoryList.stream() + .filter(value ->value != null && 2==(value.getIsAccept())) + .collect(Collectors.toList()); + SysWorkflowNode.setIsAccept(sysWorkflowRecordHistoryListNew.get(0).getIsAccept()); + SysWorkflowNode.setCreateTime(sysWorkflowRecordHistoryListNew.get(0).getCreateTime()); + SysWorkflowNode.setRemark(sysWorkflowRecordHistoryListNew.get(0).getRemark()); + }else { + //获取当前人的审核信息 + List sysWorkflowRecordHistoryListNew = sysWorkflowRecordHistoryList.stream() + .filter(value ->value != null && userId.toString().equals(value.getCreateBy())) + .collect(Collectors.toList()); + //判断当前人是否是这个节点的审核人 + if (!sysWorkflowRecordHistoryListNew.isEmpty()){ + SysWorkflowNode.setIsAccept(sysWorkflowRecordHistoryListNew.get(0).getIsAccept()); + SysWorkflowNode.setCreateTime(sysWorkflowRecordHistoryListNew.get(0).getCreateTime()); + SysWorkflowNode.setRemark(sysWorkflowRecordHistoryListNew.get(0).getRemark()); + }else { + SysWorkflowNode.setIsAccept(sysWorkflowRecordHistoryList.get(0).getIsAccept()); + SysWorkflowNode.setCreateTime(sysWorkflowRecordHistoryList.get(0).getCreateTime()); + SysWorkflowNode.setRemark(sysWorkflowRecordHistoryList.get(0).getRemark()); } } - - } } } - - + } return sysWorkflowNodeList; } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/service/impl/SysWorkflowRecordHistoryServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/service/impl/SysWorkflowRecordHistoryServiceImpl.java index b82e1af9..94866ca9 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/service/impl/SysWorkflowRecordHistoryServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/service/impl/SysWorkflowRecordHistoryServiceImpl.java @@ -11,10 +11,7 @@ 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.domain.dto.SysWorkflowAuditDto; -import com.bonus.material.work.mapper.SysWorkflowNodeMapper; -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.mapper.*; import com.bonus.material.work.service.SysWorkflowRecordHistoryService; import com.bonus.material.work.service.SysWorkflowRecordService; import lombok.extern.slf4j.Slf4j; @@ -22,7 +19,9 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; @Slf4j @Service @@ -35,7 +34,7 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis private ISltAgreementReduceService sltAgreementReduceService; @Resource - private SysWorkflowTypeMapper sysWorkflowTypeMapper; + private SysWorkflowConfigMapper sysWorkflowConfigMapper; @Resource private SysWorkflowRecordHistoryMapper sysWorkflowRecordHistoryMapper; @@ -80,36 +79,55 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis } //判断是否是最后一级 if (sysWorkflowNodeList.get(sysWorkflowNodeList.size()-1).getId().equals(sysWorkflowRecordHistory.getNodeId())){ - SysWorkflowRecord sysWorkflowRecord = new SysWorkflowRecord(); - sysWorkflowRecord.setTaskId(sysWorkflowRecordHistory.getTaskId()); - sysWorkflowRecord.setWorkflowStatus(2); - sysWorkflowRecordMapper.updateSysWorkflowRecord(sysWorkflowRecord); - System.out.println("-------------节点更新任务信息为完成-------------"); - SysWorkflowAuditDto sysWorkflowRecodeInfo = sysWorkflowRecordMapper.getSysWorkflowRecodeByTaskId(sysWorkflowRecordHistory.getTaskId()); - if (sysWorkflowRecodeInfo == null) { - throw new ServiceException("任务类型为空"); + //判断最后节点是否所有人都审核完成 + sysWorkflowRecordHistory.setRecordId(sysWorkflowRecordHistory.getRecordId()); + sysWorkflowRecordHistory.setNodeId(sysWorkflowRecordHistory.getNodeId()); + //获取这个节点所有审核信息 + List sysWorkflowRecordHistoryList = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory); + //获取该节点需要审核人员信息 + String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(sysWorkflowRecordHistory.getNodeId()); + String[] ConfigValue = configValueNew.split(","); + List filteredList = Arrays.stream(ConfigValue).collect(Collectors.toList()); + for (SysWorkflowRecordHistory sysWorkflowRecordHistoryNew : sysWorkflowRecordHistoryList) { + if (sysWorkflowRecordHistoryNew!=null){ + // 过滤数组元素 + filteredList = filteredList.stream() + .filter(value ->value != null && !value.equals(sysWorkflowRecordHistoryNew.getCreateBy())) + .collect(Collectors.toList()); + //判断是否这个节点的所有人都审核 + if (filteredList.size()==0){ + SysWorkflowRecord sysWorkflowRecord = new SysWorkflowRecord(); + sysWorkflowRecord.setTaskId(sysWorkflowRecordHistory.getTaskId()); + sysWorkflowRecord.setWorkflowStatus(2); + sysWorkflowRecordMapper.updateSysWorkflowRecord(sysWorkflowRecord); + System.out.println("-------------节点更新任务信息为完成-------------"); + SysWorkflowAuditDto sysWorkflowRecodeInfo = sysWorkflowRecordMapper.getSysWorkflowRecodeByTaskId(sysWorkflowRecordHistory.getTaskId()); + if (sysWorkflowRecodeInfo == null) { + throw new ServiceException("任务类型为空"); + } + // 根据任务类型修改业务状态 + switch (sysWorkflowRecodeInfo.getTaskType()) { + // 领料任务:2 + case 2: + //修改业务状态 + TmTask tmTask = new TmTask(); + tmTask.setTaskId(sysWorkflowRecordHistory.getTaskId().longValue()); + tmTask.setTaskStatus(1); + tmTaskMapper.updateTmTask(tmTask); + System.out.println("-------------执行了最后业务办理领料-------------"); + break; + // 费用减免:13 + case 13: + sltAgreementReduceService.audit(sysWorkflowRecodeInfo); + System.out.println("-------------执行了最后业务办理费用减免-------------"); + break; + // 工地直转16 + case 16: + break; + } + } + } } - // 根据任务类型修改业务状态 - switch (sysWorkflowRecodeInfo.getTaskType()) { - // 领料任务:2 - case 2: - //修改业务状态 - TmTask tmTask = new TmTask(); - tmTask.setTaskId(sysWorkflowRecordHistory.getTaskId().longValue()); - tmTask.setTaskStatus(1); - tmTaskMapper.updateTmTask(tmTask); - System.out.println("-------------执行了最后业务办理领料-------------"); - break; - // 费用减免:13 - case 13: - sltAgreementReduceService.audit(sysWorkflowRecodeInfo); - System.out.println("-------------执行了最后业务办理费用减免-------------"); - break; - // 工地直转16 - case 16: - break; - } - } }else { SysWorkflowRecord sysWorkflowRecord = new SysWorkflowRecord(); @@ -119,4 +137,5 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis } return 0; } + } 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 d2762af0..da48682a 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,7 +38,8 @@ - + + @@ -505,9 +506,9 @@ 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,swn.node_sign_type as leaseSignType, + tt.task_id as taskId,swn.node_sign_type as nodeSignType, 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, + swrs.node_id,swrs.next_node_id,swrs.record_id, case tt.task_status when 0 then '待审核' when 1 then '待审核' diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/work/DirectAuditMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/work/DirectAuditMapper.xml index f0f96fb1..dcebb3d5 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/work/DirectAuditMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/work/DirectAuditMapper.xml @@ -18,7 +18,7 @@ bpl1.pro_name AS leaseProName, dai.lease_man as leaseMan , swr.workflow_status as flowStatus, - swr.id as flowId + swr.task_id as flowId FROM direct_apply_info dai LEFT JOIN bm_agreement_info bai ON dai.back_agreement_id = bai.agreement_id diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/work/SysWorkflowConfigMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/work/SysWorkflowConfigMapper.xml index 49074699..546d37ca 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/work/SysWorkflowConfigMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/work/SysWorkflowConfigMapper.xml @@ -12,12 +12,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" config_type, config_value, is_enable, + roleIds, #{nodeId}, #{configType}, #{configValue}, #{isEnable}, + #{roleIds}, diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/work/SysWorkflowNodeMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/work/SysWorkflowNodeMapper.xml index fe0d5adf..73888d9a 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/work/SysWorkflowNodeMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/work/SysWorkflowNodeMapper.xml @@ -58,7 +58,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select swn.id as id, swn.type_id typeId, swn.node_name as nodeName, swn.node_sort as nodeSort, swn.node_sign_type as nodeSignType, swn.node_sign_config as nodeSignConfig,swn.id as nodeId, - swrh.create_by as createBy,swn.is_enable as isEnable,sec.config_value as configValues, + swrh.create_by as createBy,swn.is_enable as isEnable, GROUP_CONCAT(DISTINCT sec.config_value SEPARATOR ',') AS configValues, swr.id as recordId from sys_workflow_node swn diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/work/SysWorkflowRecordhistoryMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/work/SysWorkflowRecordhistoryMapper.xml index d462c8ac..c5a6d696 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/work/SysWorkflowRecordhistoryMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/work/SysWorkflowRecordhistoryMapper.xml @@ -28,8 +28,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +