Переглянути джерело

Merge remote-tracking branch 'origin/master'

yuhan 1 рік тому
батько
коміт
194e57bfdf
19 змінених файлів з 227 додано та 152 видалено
  1. 16 32
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/controller/ItdmFlowPathController.java
  2. 55 45
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/controller/ItdmRunFlowPathStepController.java
  3. 3 1
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/dto/ItdmCreateRunFlowPath.java
  4. 2 1
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/dto/ItdmPassRunFlowPath.java
  5. 12 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/dto/ItdmPassSelectNextStepUserRunFlowPath.java
  6. 2 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/entity/ItdmRunFlowPath.java
  7. 0 1
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/entity/ItdmRunFlowPathStep.java
  8. 1 3
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/IItdmFlowPathService.java
  9. 5 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/IItdmFlowPathStepService.java
  10. 4 3
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/IItdmRunFlowPathService.java
  11. 5 7
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/IItdmRunFlowPathStepService.java
  12. 1 20
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/impl/ItdmFlowPathServiceImpl.java
  13. 19 1
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/impl/ItdmFlowPathStepServiceImpl.java
  14. 18 13
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/impl/ItdmRunFlowPathServiceImpl.java
  15. 49 21
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/impl/ItdmRunFlowPathStepServiceImpl.java
  16. 21 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/vo/NextStepUserVO.java
  17. 6 4
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmFirstPage/mapper/ItdmTaskMapper.java
  18. 3 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmFirstPage/service/IItdmTaskService.java
  19. 5 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmFirstPage/service/impl/ItdmTaskServiceImpl.java

+ 16 - 32
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/controller/ItdmFlowPathController.java

@@ -1,46 +1,30 @@
 package org.jeecg.modules.flowpath.controller;
 
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.google.common.collect.Maps;
-import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.system.query.QueryGenerator;
-import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.flowpath.dto.ItdmCreateRunFlowPath;
-import org.jeecg.modules.flowpath.entity.ItdmFlowPath;
-import org.jeecg.modules.flowpath.service.IItdmFlowPathService;
-
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
-
-import org.jeecgframework.poi.excel.ExcelImportUtil;
-import org.jeecgframework.poi.excel.def.NormalExcelConstants;
-import org.jeecgframework.poi.excel.entity.ExportParams;
-import org.jeecgframework.poi.excel.entity.ImportParams;
-import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.flowpath.entity.ItdmFlowPath;
+import org.jeecg.modules.flowpath.service.IItdmFlowPathService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-import org.springframework.web.multipart.MultipartHttpServletRequest;
 import org.springframework.web.servlet.ModelAndView;
-import com.alibaba.fastjson.JSON;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.jeecg.common.aspect.annotation.AutoLog;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @Description: 流程表

+ 55 - 45
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/controller/ItdmRunFlowPathStepController.java

@@ -1,49 +1,29 @@
 package org.jeecg.modules.flowpath.controller;
 
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import lombok.Getter;
-import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.system.query.QueryGenerator;
-import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.flowpath.dto.ItdmPassRunFlowPath;
-import org.jeecg.modules.flowpath.dto.ItdmRejectDQRunFlowPath;
-import org.jeecg.modules.flowpath.dto.ItdmRejectZDRunFlowPath;
-import org.jeecg.modules.flowpath.dto.ItdmSaveRunFlowPath;
-import org.jeecg.modules.flowpath.entity.ItdmRunFlowPathStep;
-import org.jeecg.modules.flowpath.service.IItdmRunFlowPathStepService;
-
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
-
-import org.jeecg.modules.flowpath.vo.ItdmBuohuiRunFlowPathStepVO;
-import org.jeecgframework.poi.excel.ExcelImportUtil;
-import org.jeecgframework.poi.excel.def.NormalExcelConstants;
-import org.jeecgframework.poi.excel.entity.ExportParams;
-import org.jeecgframework.poi.excel.entity.ImportParams;
-import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.flowpath.dto.*;
+import org.jeecg.modules.flowpath.entity.ItdmRunFlowPathStep;
+import org.jeecg.modules.flowpath.service.IItdmFlowPathStepService;
+import org.jeecg.modules.flowpath.service.IItdmRunFlowPathStepService;
+import org.jeecg.modules.flowpath.vo.ItdmBuohuiRunFlowPathStepVO;
+import org.jeecg.modules.flowpath.vo.NextStepUserVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-import org.springframework.web.multipart.MultipartHttpServletRequest;
-import org.springframework.web.servlet.ModelAndView;
-import com.alibaba.fastjson.JSON;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.jeecg.common.aspect.annotation.AutoLog;
 
- /**
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
  * @Description: 运行流程步骤表
  * @Author: jeecg-boot
  * @Date:   2023-07-20
@@ -56,16 +36,18 @@ import org.jeecg.common.aspect.annotation.AutoLog;
 public class ItdmRunFlowPathStepController extends JeecgController<ItdmRunFlowPathStep, IItdmRunFlowPathStepService> {
 	@Autowired
 	private IItdmRunFlowPathStepService itdmRunFlowPathStepService;
+	@Autowired
+	private IItdmFlowPathStepService flowPathStepService;
 
-	/**
-	 * 分页列表查询
-	 *
-	 * @param itdmRunFlowPathStep
-	 * @param pageNo
-	 * @param pageSize
-	 * @param req
-	 * @return
-	 */
+	 /**
+      * 分页列表查询
+      *
+      * @param itdmRunFlowPathStep
+      * @param pageNo
+      * @param pageSize
+      * @param req
+      * @return
+      */
 	//@AutoLog(value = "运行流程步骤表-分页列表查询")
 	@ApiOperation(value="运行流程步骤表-分页列表查询", notes="运行流程步骤表-分页列表查询")
 	@GetMapping(value = "/list")
@@ -112,7 +94,35 @@ public class ItdmRunFlowPathStepController extends JeecgController<ItdmRunFlowPa
 		 return Result.OK("编辑成功!");
 	 }
 
+	 /**新增运行流程——选择第一步操作的人*/
+	 @AutoLog(value = "新增运行流程——选择第一步操作的人")
+	 @ApiOperation(value="新增运行流程——选择第一步操作的人", notes="新增运行流程——选择第一步操作的人")
+	 @GetMapping(value = "/AddSelectNextStepUser")
+	 public List<NextStepUserVO> AddSelectNextStepUser(){
+		 List<String>  list = flowPathStepService.AddSelectNextStepUser();
+		 List<NextStepUserVO> list1 = list.stream().map(i->{
+			 NextStepUserVO vo = new NextStepUserVO();
+			 vo.setUserName(i);
+			 vo.setRealName(i);
+			 return vo;
+		 }).collect(Collectors.toList());
+		 return list1;
+	 }
 
+	 /**通过时(下一步)选择下一步操作的人*/
+	 @AutoLog(value = "运行流程步骤表-通过1——选择下一步操作的人")
+	 @ApiOperation(value="运行流程步骤表-通过1——选择下一步操作的人", notes="运行流程步骤表-通过1——选择下一步操作的人")
+	 @GetMapping(value = "/selectNextStepUser")
+	 public List<NextStepUserVO> selectNextStepUser(ItdmPassSelectNextStepUserRunFlowPath runFlowPath){
+		 List<String>  list = itdmRunFlowPathStepService.selectNextStepUser(runFlowPath);
+		 List<NextStepUserVO> list1 = list.stream().map(i->{
+			 NextStepUserVO vo = new NextStepUserVO();
+			 vo.setUserName(i);
+			 vo.setRealName(i);
+			 return vo;
+		 }).collect(Collectors.toList());
+		 return list1;
+	 }
 
 	 /**
 	  *  下一步

+ 3 - 1
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/dto/ItdmCreateRunFlowPath.java

@@ -11,9 +11,11 @@ public class ItdmCreateRunFlowPath {
     private java.lang.String flowPathId;
 
     @ApiModelProperty(value = "委托编号")
-
     private String weituoNo;
 
+    @ApiModelProperty(value = "第一步操作人")
+    private String userName;
+
 //
 //    @ApiModelProperty(value = "保存数据")
 //    private java.lang.String saveData;

+ 2 - 1
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/dto/ItdmPassRunFlowPath.java

@@ -10,7 +10,8 @@ public class ItdmPassRunFlowPath {
     @ApiModelProperty(value = "运行流程id")
     private String runFlowPath;
 
-
+    @ApiModelProperty(value = "下一步操作人员")
+    private String nextStepUser;
 
 
 }

+ 12 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/dto/ItdmPassSelectNextStepUserRunFlowPath.java

@@ -0,0 +1,12 @@
+package org.jeecg.modules.flowpath.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class ItdmPassSelectNextStepUserRunFlowPath {
+    @ApiModelProperty(value = "运行流程id")
+    private String runFlowPath;
+}

+ 2 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/entity/ItdmRunFlowPath.java

@@ -61,9 +61,11 @@ public class ItdmRunFlowPath implements Serializable {
 	/**当前步骤用户*/
 	@Excel(name = "当前步骤用户", width = 15)
     @ApiModelProperty(value = "当前步骤用户")
+    @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
     private String dqSetpUserIds;
 	/**当前步骤角色*/
 	@Excel(name = "当前步骤角色", width = 15)
+    @Dict(dictTable = "sys_role", dicText = "role_name", dicCode = "id")
     @ApiModelProperty(value = "当前步骤角色")
     private String dqSetpRoleId;
 	/**状态*/

+ 0 - 1
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/entity/ItdmRunFlowPathStep.java

@@ -44,7 +44,6 @@ public class ItdmRunFlowPathStep implements Serializable {
     @Excel(name = "运行流程id", width = 15)
     @ApiModelProperty(value = "运行流程id")
     @Dict(dictTable ="itdm_run_flow_path", dicCode = "id",dicText = "name")
-
     private java.lang.String runFlowPath;
 	/**流程步骤id*/
 	@Excel(name = "流程步骤id", width = 15)

+ 1 - 3
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/IItdmFlowPathService.java

@@ -1,9 +1,7 @@
 package org.jeecg.modules.flowpath.service;
 
-import org.jeecg.modules.flowpath.dto.ItdmCreateRunFlowPath;
-import org.jeecg.modules.flowpath.entity.ItdmFlowPath;
 import com.baomidou.mybatisplus.extension.service.IService;
-import org.springframework.web.bind.annotation.RequestBody;
+import org.jeecg.modules.flowpath.entity.ItdmFlowPath;
 
 /**
  * @Description: 流程表

+ 5 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/IItdmFlowPathStepService.java

@@ -3,6 +3,8 @@ package org.jeecg.modules.flowpath.service;
 import org.jeecg.modules.flowpath.entity.ItdmFlowPathStep;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * @Description: 流程步骤表
  * @Author: jeecg-boot
@@ -11,4 +13,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IItdmFlowPathStepService extends IService<ItdmFlowPathStep> {
 
+    /**新增运行流程——选择下一步操作的人*/
+    public List<String> AddSelectNextStepUser();
+
 }

+ 4 - 3
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/IItdmRunFlowPathService.java

@@ -11,7 +11,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @Version: V1.0
  */
 public interface IItdmRunFlowPathService extends IService<ItdmRunFlowPath> {
-    void    createRunFlowPath( ItdmCreateRunFlowPath itdmCreateRunFlowPath);
-
-
+    /**
+     * 新增运行流程
+     */
+    void createRunFlowPath( ItdmCreateRunFlowPath itdmCreateRunFlowPath);
 }

+ 5 - 7
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/IItdmRunFlowPathStepService.java

@@ -1,14 +1,9 @@
 package org.jeecg.modules.flowpath.service;
 
-import org.jeecg.common.api.vo.Result;
-import org.jeecg.modules.flowpath.dto.ItdmPassRunFlowPath;
-import org.jeecg.modules.flowpath.dto.ItdmRejectDQRunFlowPath;
-import org.jeecg.modules.flowpath.dto.ItdmRejectZDRunFlowPath;
-import org.jeecg.modules.flowpath.dto.ItdmSaveRunFlowPath;
-import org.jeecg.modules.flowpath.entity.ItdmRunFlowPathStep;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.flowpath.dto.*;
+import org.jeecg.modules.flowpath.entity.ItdmRunFlowPathStep;
 import org.jeecg.modules.flowpath.vo.ItdmBuohuiRunFlowPathStepVO;
-import org.springframework.web.bind.annotation.RequestBody;
 
 import java.util.List;
 
@@ -26,6 +21,9 @@ public interface IItdmRunFlowPathStepService extends IService<ItdmRunFlowPathSte
 
     void pass(ItdmSaveRunFlowPath saveRunFlowPath);
 
+    /**通过时选择下一步操作的人*/
+    public List<String> selectNextStepUser(ItdmPassSelectNextStepUserRunFlowPath runFlowPath);
+
     void pass1(ItdmPassRunFlowPath itdmRunFlowPathStep);
 
 

+ 1 - 20
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/impl/ItdmFlowPathServiceImpl.java

@@ -1,30 +1,11 @@
 package org.jeecg.modules.flowpath.service.impl;
 
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import lombok.AllArgsConstructor;
-import org.apache.shiro.SecurityUtils;
-import org.jeecg.common.exception.JeecgBootException;
-import org.jeecg.common.system.vo.LoginUser;
-import org.jeecg.modules.flowpath.convert.FlowPathConvert;
-import org.jeecg.modules.flowpath.dto.ItdmCreateRunFlowPath;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.jeecg.modules.flowpath.entity.ItdmFlowPath;
-import org.jeecg.modules.flowpath.entity.ItdmFlowPathStep;
-import org.jeecg.modules.flowpath.entity.ItdmRunFlowPath;
-import org.jeecg.modules.flowpath.entity.ItdmRunFlowPathStep;
 import org.jeecg.modules.flowpath.mapper.ItdmFlowPathMapper;
-import org.jeecg.modules.flowpath.mapper.ItdmFlowPathStepMapper;
-import org.jeecg.modules.flowpath.mapper.ItdmRunFlowPathMapper;
-import org.jeecg.modules.flowpath.mapper.ItdmRunFlowPathStepMapper;
 import org.jeecg.modules.flowpath.service.IItdmFlowPathService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.List;
-import java.util.Objects;
-
 /**
  * @Description: 流程表
  * @Author: jeecg-boot

+ 19 - 1
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/impl/ItdmFlowPathStepServiceImpl.java

@@ -1,11 +1,15 @@
 package org.jeecg.modules.flowpath.service.impl;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.jeecg.modules.flowpath.entity.ItdmFlowPathStep;
 import org.jeecg.modules.flowpath.mapper.ItdmFlowPathStepMapper;
 import org.jeecg.modules.flowpath.service.IItdmFlowPathStepService;
 import org.springframework.stereotype.Service;
 
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
 
 /**
  * @Description: 流程步骤表
@@ -16,4 +20,18 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 @Service
 public class ItdmFlowPathStepServiceImpl extends ServiceImpl<ItdmFlowPathStepMapper, ItdmFlowPathStep> implements IItdmFlowPathStepService {
 
+    /**新增运行流程——选择下一步操作的人*/
+    public List<String> AddSelectNextStepUser() {
+        ItdmFlowPathStep itdmFlowPathStep = this.baseMapper.selectOne(Wrappers.lambdaQuery(ItdmFlowPathStep.class)
+                .eq(ItdmFlowPathStep::getSort, "1")
+        );
+
+        String userIds = itdmFlowPathStep.getUserIds();
+        List<String> userIdList = new ArrayList<>();
+        if(userIds!=null && !userIds.equals("")){
+            userIdList = Arrays.asList(userIds.split(","));
+        }
+        return userIdList;
+    }
+
 }

+ 18 - 13
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/impl/ItdmRunFlowPathServiceImpl.java

@@ -74,10 +74,13 @@ public class ItdmRunFlowPathServiceImpl extends ServiceImpl<ItdmRunFlowPathMappe
     private IItdmFlowPathStepService flowPathStepService;
 
 
-
+    /**
+     * 新增运行流程
+     */
     @Override
     @Transactional
     public void createRunFlowPath(ItdmCreateRunFlowPath itdmCreateRunFlowPath) {
+        //流程(目前只有唯一一条)
         ItdmFlowPath itdmFlowPath = itdmFlowPathMapper.selectById(itdmCreateRunFlowPath.getFlowPathId());
 
         if (itdmFlowPath == null || !Objects.equals(itdmFlowPath.getStatus(), "0")) {
@@ -86,31 +89,29 @@ public class ItdmRunFlowPathServiceImpl extends ServiceImpl<ItdmRunFlowPathMappe
 
         boolean b = itdmRunFlowPathMapper.exists(Wrappers.lambdaQuery(ItdmRunFlowPath.class).eq(ItdmRunFlowPath::getWeituoNo, itdmCreateRunFlowPath.getWeituoNo()));
 
-
         if (b) {
             throw new JeecgBootException("该委托编号已经有流程了");
-
         }
 
-
+        //查对应所有流程步骤,按sort正序
         List<ItdmFlowPathStep> list = itdmFlowPathStepMapper.selectList(Wrappers.lambdaQuery(ItdmFlowPathStep.class)
                 .eq(ItdmFlowPathStep::getFlowPathId, itdmCreateRunFlowPath.getFlowPathId()).orderByAsc(ItdmFlowPathStep::getSort));
 
+        //当前登录用户
         LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
 
-
+        //新增一条当前运行流程
         ItdmRunFlowPath itdmRunFlowPath = new ItdmRunFlowPath();
         itdmRunFlowPath.setFlowPathId(itdmCreateRunFlowPath.getFlowPathId());
         itdmRunFlowPath.setWeituoNo(itdmCreateRunFlowPath.getWeituoNo());
         itdmRunFlowPath.setName(itdmFlowPath.getName());
         itdmRunFlowPath.setFaqiUser(user.getUsername());
         itdmRunFlowPath.setDqSetp(list.get(0).getId());
-        itdmRunFlowPath.setDqSetpUserIds(list.get(0).getUserIds());
+//        itdmRunFlowPath.setDqSetpUserIds(list.get(0).getUserIds());
+        //当前步骤用户改为选择的人
+        itdmRunFlowPath.setDqSetpUserIds(itdmCreateRunFlowPath.getUserName());
         itdmRunFlowPath.setDqSetpRoleId(list.get(0).getRoleId());
-
-
-
-        itdmRunFlowPath.setStatus("0");
+        itdmRunFlowPath.setStatus("0");//当前运行流程状态0开始2结束
         itdmRunFlowPathMapper.insert(itdmRunFlowPath);
 
         //新增运行流程后,新增一条我的审批
@@ -120,21 +121,25 @@ public class ItdmRunFlowPathServiceImpl extends ServiceImpl<ItdmRunFlowPathMappe
             itdmTask.setTaskRole(role);//待办角色
         }
         if(list.get(0).getUserIds()!=null && !"".equals(list.get(0).getUserIds())){
-            String userName = userService.getUserByName(list.get(0).getUserIds().split(",")[0]).getRealname();
+//            String userName = userService.getUserByName(list.get(0).getUserIds().split(",")[0]).getRealname();
+            //改为选择的人
+            String userName = userService.getUserByName(itdmCreateRunFlowPath.getUserName()).getRealname();
             itdmTask.setTaskUser(userName);//待办人员
         }
         Map<String, Object> weituoMap = new HashMap<>();
         weituoMap.put("weituo_no",itdmCreateRunFlowPath.getWeituoNo());
         String weituoId = weituoInfoService.listByMap(weituoMap).get(0).getId();
         itdmTask.setWeituoId(weituoId);//委托id
-        String taskContent = flowPathStepService.getById(list.get(0).getId()).getName();
+        String taskContent = flowPathStepService.getById(list.get(0).getId()).getName();//步骤名称
         itdmTask.setTaskContent(taskContent);//当前步骤名
         itdmTask.setTaskStatus(0);//待办
         taskService.insertTaskAfterJudge(itdmTask);
 
-
+        //新增运行流程步骤
         for (int i = 0; i < list.size(); i++) {
             ItdmFlowPathStep itdmFlowPathStep = list.get(i);
+            //第一步的所属用户改为新增时选择的人
+            if(itdmFlowPathStep.getSort().equals("1")) itdmFlowPathStep.setUserIds(itdmCreateRunFlowPath.getUserName());
             // todo
             ItdmRunFlowPathStep itdmRunFlowPathStep = FlowPathConvert.INSTANCE.to(itdmFlowPathStep, null,itdmRunFlowPath.getId());
             itdmRunFlowPathStepMapper.insert(itdmRunFlowPathStep);

+ 49 - 21
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/impl/ItdmRunFlowPathStepServiceImpl.java

@@ -2,17 +2,14 @@ package org.jeecg.modules.flowpath.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.flowpath.convert.FlowPathConvert;
-import org.jeecg.modules.flowpath.dto.ItdmPassRunFlowPath;
-import org.jeecg.modules.flowpath.dto.ItdmRejectDQRunFlowPath;
-import org.jeecg.modules.flowpath.dto.ItdmRejectZDRunFlowPath;
-import org.jeecg.modules.flowpath.dto.ItdmSaveRunFlowPath;
+import org.jeecg.modules.flowpath.dto.*;
 import org.jeecg.modules.flowpath.entity.ItdmRunFlowPath;
 import org.jeecg.modules.flowpath.entity.ItdmRunFlowPathStep;
 import org.jeecg.modules.flowpath.mapper.ItdmRunFlowPathLogMapper;
@@ -30,14 +27,9 @@ import org.jeecg.modules.weituo.entity.ItdmWeituoInfo;
 import org.jeecg.modules.weituo.service.IItdmWeituoInfoService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.HashMap;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -138,41 +130,74 @@ public class ItdmRunFlowPathStepServiceImpl extends ServiceImpl<ItdmRunFlowPathS
 
     }
 
+    /**通过时选择下一步操作的人(不是id,是用户账号)*/
+    public List<String> selectNextStepUser(ItdmPassSelectNextStepUserRunFlowPath runFlowPath) {
+        ItdmRunFlowPath itdmRunFlowPath = this.itdmRunFlowPathMapper.selectById(runFlowPath.getRunFlowPath());
+
+        ItdmRunFlowPathStep select = this.baseMapper.selectOne(Wrappers.lambdaQuery(ItdmRunFlowPathStep.class)
+                .eq(ItdmRunFlowPathStep::getRunFlowPath, itdmRunFlowPath.getId())
+                .eq(ItdmRunFlowPathStep::getFlowPathSetp, itdmRunFlowPath.getDqSetp())
+
+        );
+        ItdmRunFlowPathStep nextstep = this.baseMapper.selectOne(Wrappers.lambdaQuery(ItdmRunFlowPathStep.class)
+                .eq(ItdmRunFlowPathStep::getRunFlowPath, select.getRunFlowPath())
+                .eq(ItdmRunFlowPathStep::getSort, Integer.parseInt(select.getSort()) + 1)
+
+        );
+        String userIds = nextstep.getUserIds();
+        List<String> userIdList = new ArrayList<>();
+        if(userIds!=null && !userIds.equals("")){
+            userIdList = Arrays.asList(userIds.split(","));
+        }
+
+        return userIdList;
+    }
+
     /**通过*/
     @Override
     @Transactional
 
     public void pass1(ItdmPassRunFlowPath itdmRunFlowPathStep) {
+        String nextStepUser = itdmRunFlowPathStep.getNextStepUser();//下一步操作人员的登录账号
 
+        //根据当前运行流程id查当前运行流程
         ItdmRunFlowPath itdmRunFlowPath = this.itdmRunFlowPathMapper.selectById(itdmRunFlowPathStep.getRunFlowPath());
 
-
+        //根据当前运行流程的主键id和当前步骤id——查对应当前运行流程步骤
         ItdmRunFlowPathStep select = this.baseMapper.selectOne(Wrappers.lambdaQuery(ItdmRunFlowPathStep.class)
                 .eq(ItdmRunFlowPathStep::getRunFlowPath, itdmRunFlowPath.getId())
                 .eq(ItdmRunFlowPathStep::getFlowPathSetp, itdmRunFlowPath.getDqSetp())
-
         );
-        if (StringUtils.isBlank(select.getSaveData())) {
 
+        if (StringUtils.isBlank(select.getSaveData())) {
             throw new JeecgBootException("数据为空");
-
         }
+
+        //运行流程步骤表修改——最后修改人员(当前登录用户)、审核时间
         LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         select.setFqUser(user.getUsername());
         select.setShenheTime(new Date());
-
         this.baseMapper.updateById(select);
+
+        //根据当前运行流程步骤的运行流程id、步骤顺序+1查————当前运行流程的下一运行步骤
         ItdmRunFlowPathStep nextstep = this.baseMapper.selectOne(Wrappers.lambdaQuery(ItdmRunFlowPathStep.class)
                 .eq(ItdmRunFlowPathStep::getRunFlowPath, select.getRunFlowPath())
                 .eq(ItdmRunFlowPathStep::getSort, Integer.parseInt(select.getSort()) + 1)
-
         );
 
-
+        //下一步为空,运行流程改为结束状态
         if (nextstep == null) {
             itdmRunFlowPath.setStatus("2");
             itdmRunFlowPathMapper.updateById(itdmRunFlowPath);
 
+            //修改该委托对应的所有任务状态为2完结
+            if(itdmRunFlowPath!=null){
+                Map<String, Object> weituoMap = new HashMap<>();
+                weituoMap.put("weituo_no",itdmRunFlowPath.getWeituoNo());
+                String weituoId = weituoInfoService.listByMap(weituoMap).get(0).getId();
+                taskService.updateByWeituoId(weituoId);
+            }
+
             return;
         }
 
@@ -183,9 +208,11 @@ public class ItdmRunFlowPathStepServiceImpl extends ServiceImpl<ItdmRunFlowPathS
             weituoMap.put("weituo_no",itdmRunFlowPath.getWeituoNo());
             String weituoId = weituoInfoService.listByMap(weituoMap).get(0).getId();
 
+            //修改当前运行流程的 当前步骤id、当前步骤用户————由下一运行步骤的所属用户改为选择的用户、当前步骤角色
             itdmRunFlowPath.setId(select.getRunFlowPath());
             itdmRunFlowPath.setDqSetp(nextstep.getFlowPathSetp());
-            itdmRunFlowPath.setDqSetpUserIds(nextstep.getUserIds());
+//            itdmRunFlowPath.setDqSetpUserIds(nextstep.getUserIds());
+            itdmRunFlowPath.setDqSetpUserIds(nextStepUser);
             itdmRunFlowPath.setDqSetpRoleId(nextstep.getRoleId());
             itdmRunFlowPathMapper.updateById(itdmRunFlowPath);
 
@@ -201,10 +228,11 @@ public class ItdmRunFlowPathStepServiceImpl extends ServiceImpl<ItdmRunFlowPathS
             }
             // 然后新增一条该步骤的我的任务
             String role = roleService.getById(itdmRunFlowPath.getDqSetpRoleId()).getRoleName();
-            String userName = userService.getUserByName(itdmRunFlowPath.getDqSetpUserIds().split(",")[0]).getRealname();
+//            String userName = userService.getUserByName(itdmRunFlowPath.getDqSetpUserIds().split(",")[0]).getRealname();
+            String userName = userService.getUserByName(itdmRunFlowPath.getDqSetpUserIds().split(",")[0]).getRealname();//真实姓名
             ItdmTask itdmTask = new ItdmTask();
             itdmTask.setTaskRole(role);
-            itdmTask.setTaskUser(userName);
+            itdmTask.setTaskUser(userName);//真实姓名
             itdmTask.setWeituoId(weituoId);//委托id
             String taskContent = flowPathStepService.getById(nextstep.getFlowPathSetp()).getName();
             itdmTask.setTaskContent(taskContent);//当前步骤名

+ 21 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/vo/NextStepUserVO.java

@@ -0,0 +1,21 @@
+package org.jeecg.modules.flowpath.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.jeecg.common.aspect.annotation.Dict;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+@Data
+public class NextStepUserVO {
+
+    @Excel(name = "当前步骤用户账号", width = 15)
+    @ApiModelProperty(value = "当前步骤用户账号")
+    private String userName;
+
+    @Excel(name = "当前步骤用户真实姓名", width = 15)
+    @ApiModelProperty(value = "当前步骤用户真实姓名")
+    @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
+    private String realName;
+
+
+}

+ 6 - 4
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmFirstPage/mapper/ItdmTaskMapper.java

@@ -1,10 +1,8 @@
 package org.jeecg.modules.itdmFirstPage.mapper;
 
-import java.util.List;
-
-import org.apache.ibatis.annotations.Param;
-import org.jeecg.modules.itdmFirstPage.entity.ItdmTask;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Select;
+import org.jeecg.modules.itdmFirstPage.entity.ItdmTask;
 
 /**
  * @Description: 任务表
@@ -14,4 +12,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface ItdmTaskMapper extends BaseMapper<ItdmTask> {
 
+    /**将对应委托id的左右任务状态都修改为完结状态*/
+    @Select("update itdm_task set task_status = 2 where weituo_id = #{weituoId}")
+    public void updateByWeituoId(String weituoId);
+
 }

+ 3 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmFirstPage/service/IItdmTaskService.java

@@ -11,6 +11,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IItdmTaskService extends IService<ItdmTask> {
 
+    /**将对应委托id的左右任务状态都修改为完结状态*/
+    public void updateByWeituoId(String weituoId);
+
     /**先根据待办人员、角色、任务判断是否已存在该任务,不存在再新增*/
     public boolean insertTaskAfterJudge(ItdmTask task);
 

+ 5 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmFirstPage/service/impl/ItdmTaskServiceImpl.java

@@ -24,6 +24,11 @@ public class ItdmTaskServiceImpl extends ServiceImpl<ItdmTaskMapper, ItdmTask> i
     @SuppressWarnings("all")
     private ItdmTaskMapper taskMapper;
 
+    /**将对应委托id的左右任务状态都修改为完结状态*/
+    public void updateByWeituoId(String weituoId){
+        taskMapper.updateByWeituoId(weituoId);
+    }
+
     /**先根据待办人员、角色、任务判断是否已存在该任务,不存在再新增*/
     public boolean insertTaskAfterJudge(ItdmTask task) {
         if(task.getTaskUser()!=null){