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 34ab190b..de892a78 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 @@ -29,7 +29,7 @@ public class SysWorkflowConfig { /** * 配置值 */ - private Integer configValue; + private String configValue; /** * 0关闭 1启用 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 d04e5017..f30509f7 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 @@ -78,7 +78,7 @@ public class SysWorkflowNode { private String remark; /** - * 审批结果,0拒绝 1通过 + * 审批结果,0待审批 1通过 2已驳回 */ private int isAccept; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/mapper/SysWorkflowConfigMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/mapper/SysWorkflowConfigMapper.java index 9d5f9cdd..012d9fa5 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/mapper/SysWorkflowConfigMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/mapper/SysWorkflowConfigMapper.java @@ -11,4 +11,6 @@ public interface SysWorkflowConfigMapper { int addSysWorkflowConfig(SysWorkflowConfig sysWorkflowConfig); int deleteSysWorkflowConfig(SysWorkflowConfig sysWorkflowConfig); + + String selectConfigValueByNodeId(Integer nodeId); } 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 d71caf8b..65606661 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 @@ -3,10 +3,12 @@ package com.bonus.material.work.mapper; import com.bonus.material.work.domain.SysWorkflowRecord; import com.bonus.material.work.domain.SysWorkflowRecordHistory; +import java.util.List; + public interface SysWorkflowRecordHistoryMapper { int addSysWorkflowRecordHistory(SysWorkflowRecordHistory sysWorkflowRecordHistory); - SysWorkflowRecordHistory seleteSysWorkflowRecordHistory(SysWorkflowRecordHistory sysWorkflowRecordHistory); + List seleteSysWorkflowRecordHistory(SysWorkflowRecordHistory sysWorkflowRecordHistory); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/mapper/SysWorkflowRecordMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/mapper/SysWorkflowRecordMapper.java index 084db1d5..996a1085 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/mapper/SysWorkflowRecordMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/mapper/SysWorkflowRecordMapper.java @@ -2,6 +2,7 @@ package com.bonus.material.work.mapper; import com.bonus.material.work.domain.SysWorkflowRecord; import com.bonus.material.work.domain.dto.SysWorkflowAuditDto; +import org.apache.ibatis.annotations.Param; public interface SysWorkflowRecordMapper { @@ -11,6 +12,8 @@ public interface SysWorkflowRecordMapper { // 修改审批流任务信息 int updateSysWorkflowRecord(SysWorkflowRecord sysWorkflowRecord); + + // 根据任务id,查询审批流任务信息 - SysWorkflowAuditDto getSysWorkflowRecodeByTaskId(Integer taskId); + SysWorkflowAuditDto getSysWorkflowRecodeByTaskId(@Param("taskId") Integer taskId); } 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 fff60178..0d8bd23b 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 @@ -48,19 +48,17 @@ public class SysWorkflowNodeServiceImpl implements SysWorkflowNodeService { sysWorkflowNode.setCreateBy(SecurityUtils.getLoginUser().getUserid().toString()); //保存创建时间 sysWorkflowNode.setCreateTime(DateUtils.getNowDate()); - String[] ConfigValue = sysWorkflowNode.getConfigValues().split(","); + if (sysWorkflowNode.getConfigValues().isEmpty()){ throw new ServiceException("请选择审核人员"); } int count = sysWorkflowNodeMapper.addSysWorkflowNode(sysWorkflowNode); - for (int i = 0; i < ConfigValue.length; i++) { - SysWorkflowConfig sysWorkflowConfig = new SysWorkflowConfig(); - sysWorkflowConfig.setNodeId(sysWorkflowNode.getId()); - sysWorkflowConfig.setConfigType(sysWorkflowNode.getNodeSignType()); - sysWorkflowConfig.setConfigValue(Integer.valueOf(ConfigValue[i])); - //新增审核详情表信息 - sysWorkflowConfigMapper.addSysWorkflowConfig(sysWorkflowConfig); - } + SysWorkflowConfig sysWorkflowConfig = new SysWorkflowConfig(); + sysWorkflowConfig.setNodeId(sysWorkflowNode.getId()); + sysWorkflowConfig.setConfigType(sysWorkflowNode.getNodeSignType()); + sysWorkflowConfig.setConfigValue(sysWorkflowNode.getConfigValues()); + //新增审核详情表信息 + sysWorkflowConfigMapper.addSysWorkflowConfig(sysWorkflowConfig); return count; } @@ -85,39 +83,65 @@ public class SysWorkflowNodeServiceImpl implements SysWorkflowNodeService { @Transactional public int updateSysWorkflowNode(SysWorkflowNode sysWorkflowNode) { int count = sysWorkflowNodeMapper.updateSysWorkflowNode(sysWorkflowNode); - String[] ConfigValue = sysWorkflowNode.getConfigValues().split(","); if (sysWorkflowNode.getConfigValues().isEmpty()){ throw new ServiceException("请选择审核人员"); } SysWorkflowConfig sysWorkflowConfig = new SysWorkflowConfig(); sysWorkflowConfig.setNodeId(sysWorkflowNode.getId()); sysWorkflowConfigMapper.deleteSysWorkflowConfig(sysWorkflowConfig); - for (int i = 0; i < ConfigValue.length; i++) { - sysWorkflowConfig.setNodeId(sysWorkflowNode.getId()); - sysWorkflowConfig.setConfigType(sysWorkflowNode.getNodeSignType()); - sysWorkflowConfig.setConfigValue(Integer.valueOf(ConfigValue[i])); - //新增审核详情表信息 - sysWorkflowConfigMapper.addSysWorkflowConfig(sysWorkflowConfig); - } + sysWorkflowConfig.setNodeId(sysWorkflowNode.getId()); + sysWorkflowConfig.setConfigType(sysWorkflowNode.getNodeSignType()); + sysWorkflowConfig.setConfigValue(sysWorkflowNode.getConfigValues()); + //新增审核详情表信息 + sysWorkflowConfigMapper.addSysWorkflowConfig(sysWorkflowConfig); return count; } @Override public List listByTaskId(SysWorkflowNode sysWorkflowNode) { + Long userId = SecurityUtils.getUserId(); List sysWorkflowNodeList = sysWorkflowNodeMapper.listByTaskId(sysWorkflowNode); for (SysWorkflowNode SysWorkflowNode: sysWorkflowNodeList) { SysWorkflowRecordHistory sysWorkflowRecordHistory = new SysWorkflowRecordHistory(); sysWorkflowRecordHistory.setRecordId(SysWorkflowNode.getRecordId()); sysWorkflowRecordHistory.setNodeId(SysWorkflowNode.getNodeId()); - System.out.println(sysWorkflowRecordHistory); - SysWorkflowRecordHistory sysWorkflowRecordHistoryNew = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory); - if (StringUtils.isNotNull(sysWorkflowRecordHistoryNew)){ - SysWorkflowNode.setIsAccept(sysWorkflowRecordHistoryNew.getIsAccept()); - SysWorkflowNode.setCreateTime(sysWorkflowRecordHistoryNew.getCreateTime()); - SysWorkflowNode.setRemark(sysWorkflowRecordHistoryNew.getRemark()); + List sysWorkflowRecordHistoryList = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory); + if (StringUtils.isNotNull(sysWorkflowRecordHistoryList)){ + //判断是或签还是会签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(","); + // 过滤数组元素 + for (SysWorkflowRecordHistory sysWorkflowRecordHistoryNew : sysWorkflowRecordHistoryList) { + /*List filteredList = Arrays.stream(ConfigValue) + .filter(value -> 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()); + } + } + + } } } + 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 161b3254..b82e1af9 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 @@ -17,12 +17,14 @@ import com.bonus.material.work.mapper.SysWorkflowRecordMapper; import com.bonus.material.work.mapper.SysWorkflowTypeMapper; import com.bonus.material.work.service.SysWorkflowRecordHistoryService; import com.bonus.material.work.service.SysWorkflowRecordService; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.List; +@Slf4j @Service public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHistoryService { @@ -50,6 +52,9 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis @Override @Transactional public int updateSysWorkflowRecordHistory(SysWorkflowRecordHistory sysWorkflowRecordHistory) { + //保存审核人信息 + Long userId = SecurityUtils.getUserId(); + sysWorkflowRecordHistory.setCreateBy(userId.toString()); sysWorkflowRecordHistoryMapper.addSysWorkflowRecordHistory(sysWorkflowRecordHistory); //根据当前审批状态,修改流程状态 if (sysWorkflowRecordHistory.getIsAccept()==1){ @@ -80,12 +85,10 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis 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 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 835c0230..49074699 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 @@ -24,4 +24,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" delete from sys_workflow_config where node_id=#{nodeId} + 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 3e74e582..fe0d5adf 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 @@ -70,7 +70,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select - a.id, - a.task_id, - a.task_type, - a.task_code, - a.workflow_id, - a.workflow_status - from sys_workflow_record a - - - a.task_id = #{taskId} - - - limit 1 - + + 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 158afeff..d462c8ac 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 @@ -27,9 +27,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"