2 Commits 08cfba0b7f ... 098b847443

Author SHA1 Message Date
  13408401276 098b847443 Merge branch 'dcsw' of http://192.168.2.241:3000/linzhiwei/tofly-hnls into dcsw 1 year ago
  13408401276 8f89b9c3e0 工作流功能修复 1 year ago
19 changed files with 333 additions and 63 deletions
  1. 1 1
      common-flow/pom.xml
  2. 0 2
      common-flow/src/main/java/com/tofly/flow/controller/FormController.java
  3. 1 5
      common-flow/src/main/java/com/tofly/flow/controller/FormTemplateController.java
  4. 1 1
      common-flow/src/main/java/com/tofly/flow/controller/ProcessController.java
  5. 166 32
      common-flow/src/main/java/com/tofly/flow/controller/ProcessTemplateController.java
  6. 46 0
      common-flow/src/main/java/com/tofly/flow/dto/ProcessTemplateNodeInfoChangeDto.java
  7. 9 0
      common-flow/src/main/java/com/tofly/flow/entity/ProcessTemplate.java
  8. 0 10
      common-flow/src/main/java/com/tofly/flow/entity/ProcessTemplateNode.java
  9. 10 5
      common-flow/src/main/java/com/tofly/flow/entity/ProcessTemplateNodeJudge.java
  10. 11 0
      common-flow/src/main/java/com/tofly/flow/mapper/ProcessInstanceNodeInfoMapper.java
  11. 1 1
      common-flow/src/main/java/com/tofly/flow/mapper/ProcessTemplateMapper.java
  12. 5 0
      common-flow/src/main/java/com/tofly/flow/mapper/ProcessTemplateNodeMapper.java
  13. 8 0
      common-flow/src/main/java/com/tofly/flow/service/ProcessInstanceNodeInfoService.java
  14. 6 0
      common-flow/src/main/java/com/tofly/flow/service/ProcessTemplateService.java
  15. 4 0
      common-flow/src/main/java/com/tofly/flow/service/impl/ProcessInstanceNodeInfoServiceImpl.java
  16. 22 4
      common-flow/src/main/java/com/tofly/flow/service/impl/ProcessInstanceServiceImpl.java
  17. 8 0
      common-flow/src/main/java/com/tofly/flow/service/impl/ProcessTemplateServiceImpl.java
  18. 26 2
      common-flow/src/main/resources/mapper/ProcessTemplateMapper.xml
  19. 8 0
      flow_project/src/main/java/com/tofly/install/entity/ApplyInstall.java

+ 1 - 1
common-flow/pom.xml

@@ -21,7 +21,7 @@
             <groupId>com.tofly</groupId>
             <artifactId>hnls-admin-api</artifactId>
             <version>1.0.0</version>
-        </dependency>
+        </dependency> 
 <!--        <dependency>-->
 <!--            <groupId>com.haiqiu.tools</groupId>-->
 <!--            <artifactId>hq-all-tools</artifactId>-->

+ 0 - 2
common-flow/src/main/java/com/tofly/flow/controller/FormController.java

@@ -147,8 +147,6 @@ public class FormController {
                 		processInstanceService.updateById(updateInstance);
             		}
         		}
-    		
-    			
         	return ResultRespone.success("赋值成功");
     	}catch (Exception e) {
     		e.printStackTrace();

+ 1 - 5
common-flow/src/main/java/com/tofly/flow/controller/FormTemplateController.java

@@ -207,9 +207,5 @@ public class FormTemplateController {
         	return ResultRespone.success(formTemplateContentService.list(Wrappers.<FormTemplateContent>lambdaQuery()
        				.eq(FormTemplateContent::getFormTemplateId,id)));
        }
-      
-      
-       
-      
-    
+
 }

+ 1 - 1
common-flow/src/main/java/com/tofly/flow/controller/ProcessController.java

@@ -284,7 +284,7 @@ public class ProcessController {
     	try {
     		ProcessInstance pi =new ProcessInstance();
         	pi.setCreateTime(new Date());
-//        	pi.setCreateUser(SecurityUtils.getUserId());
+        	pi.setCreateUser(SecurityUtils.getUserId());
         	pi.setCurrentNodeSort(1);
         	pi.setProcessDelFlag(1);
         	pi.setProcessInstanceName(processInstanceDto.getProcessInstanceName());

+ 166 - 32
common-flow/src/main/java/com/tofly/flow/controller/ProcessTemplateController.java

@@ -2,6 +2,7 @@ package com.tofly.flow.controller;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -15,6 +16,7 @@ import com.tofly.flow.dto.FormDataDto;
 import com.tofly.flow.dto.ProcessInfoDto;
 import com.tofly.flow.dto.ProcessInstanceDto;
 import com.tofly.flow.dto.ProcessNodeInfoDto;
+import com.tofly.flow.dto.ProcessTemplateNodeInfoChangeDto;
 import com.tofly.flow.dto.ProcessTemplateNodeInfoDto;
 import com.tofly.flow.entity.FormData;
 import com.tofly.flow.entity.FormInstance;
@@ -72,6 +74,8 @@ public class ProcessTemplateController {
     
     private final  ProcessTemplateNodeJudgeService processTemplateNodeJudgeService;
     
+    //模板流程增删改(对应实体为:ProcessTemplate)
+    //----------------------------------------------------------------------------------------------------------
     
     /**
      * 流程模板分页查询
@@ -94,12 +98,14 @@ public class ProcessTemplateController {
      @ApiImplicitParams({
              @ApiImplicitParam(name = "id", value = "ID", required = true, dataType = "BigDecimal")
      })
-     public ResultRespone getProcessTemplateById(@PathVariable("id" ) Long id) {
-     	return ResultRespone.success(processTemplateService.getById(id));
+     public ResultRespone getProcessTemplateById(@PathVariable("id" ) Long id) { 
+    	ProcessTemplate processTemplate = processTemplateService.getById(id);    	 
+     	List<ProcessTemplateNodeJudge>  judges = processTemplateNodeJudgeService.list(Wrappers.<ProcessTemplateNodeJudge>lambdaQuery()
+ 				.eq(ProcessTemplateNodeJudge::getProcessTemplateId,id)); 	
+     	processTemplate.setProcessTemplateNodeJudges(judges);     	
+     	return ResultRespone.success(processTemplate);
      }
-     
-     
-     
+
      /**
       * 新增流程模板信息
       * @return ResultRespone
@@ -108,11 +114,12 @@ public class ProcessTemplateController {
      @ApiOperation(value = "新增流程模板信息")
      @PostMapping
      public ResultRespone saveProcessTemplate(@RequestBody ProcessTemplate processTemplate,HttpServletRequest request) {		
+    	 processTemplate.setCreateUser(SecurityUtils.getUserId());
+    	 processTemplate.setCreateTime(new Date());
     	 processTemplateService.save(processTemplate);
-         return ResultRespone.success(processTemplate.getId().toString());
+         return ResultRespone.success(processTemplate.getId());
      }
      
-     
      /**
       * 修改
       * @return ResultRespone
@@ -124,7 +131,7 @@ public class ProcessTemplateController {
      	return ResultRespone.success(processTemplateService.updateById(processTemplate));
      }
      
-          
+            
      /**
       * 通过id批量删除
       * @param ids id
@@ -136,8 +143,18 @@ public class ProcessTemplateController {
              @ApiImplicitParam(name = "ids", value = "批量删除,多个id以逗号隔开", required = true, dataType = "String")
      })
      @DeleteMapping("/deleteByIds" )
-     public ResultRespone removeFormTemplateByIds(String ids) {
-         return ResultRespone.success(processTemplateService.removeByIds(Arrays.asList(ids.split(","))));
+     public ResultRespone removeProcessTemplateByIds(String ids) {
+    	 
+    	 List<String> idList = Arrays.asList(ids.split(","));
+    	 
+    	 for(String id : idList) {		 
+    		 processTemplateNodeService.remove((Wrappers.<ProcessTemplateNode>lambdaQuery()
+     				.eq(ProcessTemplateNode::getProcessTemplateId,id))); 
+    		 processTemplateNodeJudgeService.remove((Wrappers.<ProcessTemplateNodeJudge>lambdaQuery()
+      				.eq(ProcessTemplateNodeJudge::getProcessTemplateId,id)));
+    	 }
+    	 
+         return ResultRespone.success(processTemplateService.removeByIds(idList));
      }
      
      
@@ -155,11 +172,24 @@ public class ProcessTemplateController {
      		return ResultRespone.failed(e.getMessage());
  		}
      }
-      
      
+     //模板流程节点增删改(对应实体为:ProcessTemplateNode)
      //----------------------------------------------------------------------------------------------------------
      
-     
+     /**
+      * 根据流程模板ID获取该流程下所有的流程模板节点信息(去重查询)
+      * @return ResultRespone
+      */
+     @ApiOperation(value = "根据流程模板ID获取该流程下流程模板节点(去重查询) id:流程模板ID ")
+     @GetMapping("/processTemplateApprovalNodes/{id}")
+     public ResultRespone processTemplateApprovalNodes(@PathVariable("id") Long processTemplateId) {    	
+     	try {
+         	return ResultRespone.success(processTemplateService.getNodeInfoApprovalByTemplateId(processTemplateId));
+     	}catch (Exception e) {
+     		e.printStackTrace();
+     		return ResultRespone.failed(e.getMessage());
+ 		}
+     }
      
      /**
       * 通过id查询
@@ -172,17 +202,9 @@ public class ProcessTemplateController {
              @ApiImplicitParam(name = "id", value = "ID", required = true, dataType = "BigDecimal")
      })
      public ResultRespone getProcessTemplateNodeById(@PathVariable("id" ) Long id) {
-    	 
-    	ProcessTemplateNode processTemplateNode = processTemplateNodeService.getById(id);
-    	List<ProcessTemplateNodeJudge>  judges = processTemplateNodeJudgeService.list(Wrappers.<ProcessTemplateNodeJudge>lambdaQuery()
-				.eq(ProcessTemplateNodeJudge::getProcessTemplateId,processTemplateNode.getId())); 	
-    	processTemplateNode.setProcessTemplateNodeJudges(judges);
-     	return ResultRespone.success(processTemplateNode);
+     	return ResultRespone.success(processTemplateNodeService.getById(id));
      }
      
-     
-     
-
      /**
       * 新增流程模板节点信息
       * @return ResultRespone
@@ -190,9 +212,9 @@ public class ProcessTemplateController {
      @ToFlyAppLog(title="新增流程模板节点信息" )
      @ApiOperation(value = "新增流程模板节点信息")
      @PostMapping("/processTemplateNode")
-     public ResultRespone saveProcessTemplateNode(@RequestBody ProcessTemplateNode processTemplateNode,HttpServletRequest request) {		
+     public ResultRespone saveProcessTemplateNode(@RequestBody ProcessTemplateNode processTemplateNode) {		
     	 processTemplateNodeService.save(processTemplateNode);
-         return ResultRespone.success(processTemplateNode.getId().toString());
+         return ResultRespone.success(processTemplateNode.getId());
      }
      
      
@@ -201,10 +223,26 @@ public class ProcessTemplateController {
       * @return ResultRespone
       */
      @ToFlyAppLog(title="修改流程模板节点信息" )
-     @ApiOperation(value = "修改流程模板节点信息")
+     @ApiOperation(value = "修改流程模板节点信息(不修改审批人信息)")
      @PutMapping("/processTemplateNode")
-     public ResultRespone updateProcessTemplateNodeById(@RequestBody ProcessTemplateNode processTemplateNode,HttpServletRequest request) {
-     	return ResultRespone.success(processTemplateNodeService.updateById(processTemplateNode));
+     public ResultRespone updateProcessTemplateNodeById(@RequestBody ProcessTemplateNode processTemplateNode) {
+    	 
+    	 
+    	ProcessTemplateNode existNode = processTemplateNodeService.getById(processTemplateNode.getId());    	 
+    	 
+  		List<ProcessTemplateNode> nodes = processTemplateNodeService.list(Wrappers.<ProcessTemplateNode>lambdaQuery()
+ 				.eq(ProcessTemplateNode::getProcessTemplateId,existNode.getProcessTemplateId())
+ 				.eq(ProcessTemplateNode::getProcessNodeAlias,existNode.getProcessNodeAlias()));
+  		
+  		for(ProcessTemplateNode node:nodes) {
+  			node.setSortNum(processTemplateNode.getSortNum());
+  			node.setProcessNodeAlias(processTemplateNode.getProcessNodeAlias());
+  			node.setProcessNodeName(processTemplateNode.getProcessNodeName());
+  			node.setFormTemplateId(processTemplateNode.getFormTemplateId());
+  			processTemplateNodeService.updateById(node);
+  		}
+  		
+    	return ResultRespone.success(true);
      }
      
           
@@ -213,38 +251,134 @@ public class ProcessTemplateController {
       * @param ids id
       * @return ResultRespone
       */
-     @ToFlyAppLog(title="通过id批量删除流程模板" )
-     @ApiOperation(value = "通过ID批量删除流程模板")
+     @ToFlyAppLog(title="通过id批量删除流程节点信息" )
+     @ApiOperation(value = "通过id批量删除流程节点信息")
      @ApiImplicitParams({
              @ApiImplicitParam(name = "ids", value = "批量删除,多个id以逗号隔开", required = true, dataType = "String")
      })
      @DeleteMapping("/processTemplateNode/deleteByIds" )
      public ResultRespone removeFormTemplateNodeByIds(String ids) {
-         return ResultRespone.success(processTemplateNodeService.removeByIds(Arrays.asList(ids.split(","))));
+    	 
+    	 List<String> idList = Arrays.asList(ids.split(","));
+    	 
+    	 for(String id : idList) {	
+    		 ProcessTemplateNode  node=  processTemplateNodeService.getById(id);
+    		 processTemplateNodeService.remove(Wrappers.<ProcessTemplateNode>lambdaQuery()
+    	 				.eq(ProcessTemplateNode::getProcessTemplateId,node.getProcessTemplateId())
+    	 				.eq(ProcessTemplateNode::getProcessNodeAlias,node.getProcessNodeAlias()));
+    	 }
+    	 
+         return ResultRespone.success(true);
      }
      
      
+     //流程模板节点审批人(多人查询、修改)
+     //----------------------------------------------------------------------------------------------------------
+     
+     
      /**
       * 根据流程模板ID获取该流程下所有的流程模板节点信息
       * @return ResultRespone
       */
      @ApiOperation(value = "根据流程模板ID获取该流程下所有的流程模板节点信息 id:流程模板ID ")
      @GetMapping("/processTemplateNodes/{id}")
-     public ResultRespone queryProcessTemplateNodes(@PathVariable("id") Long processTemplateId) {    	
+     public ResultRespone processTemplateNodes(@PathVariable("id") Long processTemplateId) {    	
      	try {
-     		    		
      		List<ProcessTemplateNode> nodes = processTemplateNodeService.list(Wrappers.<ProcessTemplateNode>lambdaQuery()
      				.eq(ProcessTemplateNode::getProcessTemplateId,processTemplateId)
      				.orderByAsc(ProcessTemplateNode::getSortNum));
-
          	return ResultRespone.success(nodes);
      	}catch (Exception e) {
      		e.printStackTrace();
      		return ResultRespone.failed(e.getMessage());
  		}
      }
+
+     
+     /**
+      * 修改流程节点审批信息
+      * @return ResultRespone
+      */
+     @ApiOperation(value = "修改流程节点审批人信息")
+     @PostMapping("/processTemplateNode/updateProcessTemplateApprovalNode")
+     public ResultRespone updateProcessTemplateApprovalNode(@RequestBody ProcessTemplateNodeInfoChangeDto processTemplateNodeInfoChangeDto) {    	
+     	try {
+     		
+     		 processTemplateNodeService.remove((Wrappers.<ProcessTemplateNode>lambdaQuery()
+      				.eq(ProcessTemplateNode::getProcessTemplateId, processTemplateNodeInfoChangeDto.getProcessTemplateId())
+      				.eq(ProcessTemplateNode::getProcessNodeAlias,  processTemplateNodeInfoChangeDto.getProcessTemplateNodeAlias()))); 
+     		 	 
+      		 
+     		 System.out.println("审批人修改>>>>>>>>>>>>>>>>>>>"+processTemplateNodeInfoChangeDto.getApprovalPerson().size());
+     		 
+     		 for(Map<String,String> person: processTemplateNodeInfoChangeDto.getApprovalPerson()) {
+      			 
+      			ProcessTemplateNode templateNode =new ProcessTemplateNode();
+      			
+      			templateNode.setApprovalPersonId(Long.valueOf(person.get("approvalPersonId")));
+      			templateNode.setApprovalPersonName(person.get("approvalPersonName"));
+      			templateNode.setApprovalType(processTemplateNodeInfoChangeDto.getApprovalType());
+      			templateNode.setProcessTemplateId(processTemplateNodeInfoChangeDto.getProcessTemplateId());
+      			templateNode.setProcessNodeAlias(processTemplateNodeInfoChangeDto.getProcessTemplateNodeAlias());
+      			
+      			templateNode.setFormTemplateId(processTemplateNodeInfoChangeDto.getFormTemplateId());
+      			templateNode.setSortNum(processTemplateNodeInfoChangeDto.getSortNum());
+      			templateNode.setProcessNodeName(processTemplateNodeInfoChangeDto.getProcessTemplateNodeName());
+      			
+      			processTemplateNodeService.save(templateNode);
+      			 
+      		 }
+     		     		     		     		
+         	return ResultRespone.success(true);
+     	}catch (Exception e) {
+     		e.printStackTrace();
+     		return ResultRespone.failed(e.getMessage());
+ 		}
+     }
+     
      
      
      
+     //模板流程规则增删改(对应实体为:ProcessTemplateNodeJudge)
+     //----------------------------------------------------------------------------------------------------------
+     
+     /**
+      * 新增流程规则信息
+      * @return ResultRespone
+      */
+     @ToFlyAppLog(title="新增流程规则信息" )
+     @ApiOperation(value = "新增流程规则信息")
+     @PostMapping("/processTemplateNodeJudge")
+     public ResultRespone saveProcessTemplateNodeJudge(@RequestBody ProcessTemplateNodeJudge processTemplateNodeJudge) {		
+    	 processTemplateNodeJudgeService.save(processTemplateNodeJudge);
+         return ResultRespone.success(processTemplateNodeJudge.getId());
+     }
+     
+     /**
+      * 修改
+      * @return ResultRespone
+      */
+     @ToFlyAppLog(title="修改流程规则信息" )
+     @ApiOperation(value = "修改流程规则信息")
+     @PutMapping("/processTemplateNodeJudge")
+     public ResultRespone updateProcessTemplateNodeJudge(@RequestBody ProcessTemplateNodeJudge processTemplateNodeJudge) {
+     	return ResultRespone.success(processTemplateNodeJudgeService.updateById(processTemplateNodeJudge));
+     }
      
+            
+     /**
+      * 通过id批量删除
+      * @param ids id
+      * @return ResultRespone
+      */
+     @ToFlyAppLog(title="通过id批量删除流程规则信息" )
+     @ApiOperation(value = "通过ID批量删除流程规则信息")
+     @ApiImplicitParams({
+             @ApiImplicitParam(name = "ids", value = "批量删除,多个id以逗号隔开", required = true, dataType = "String")
+     })
+     @DeleteMapping("/processTemplateNodeJudge/deleteByIds" )
+     public ResultRespone removeProcessTemplateNodeJudge(String ids) {
+    	 List<String> idList = Arrays.asList(ids.split(","));
+         return ResultRespone.success(processTemplateNodeJudgeService.removeByIds(idList));
+     }
 }

+ 46 - 0
common-flow/src/main/java/com/tofly/flow/dto/ProcessTemplateNodeInfoChangeDto.java

@@ -0,0 +1,46 @@
+package com.tofly.flow.dto;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+import org.springframework.format.annotation.DateTimeFormat;
+
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel
+public class ProcessTemplateNodeInfoChangeDto {
+
+        @ApiModelProperty(value = "流程模板ID")
+        private Long processTemplateId;
+        
+        @ApiModelProperty(value = "1、串签、2、并签、3或签")
+        private Integer approvalType;
+
+        @ApiModelProperty(value = "数组、审批人ID:approvalPersonId 审批人姓名:approvalPersonName")
+        private List<Map<String,String>> approvalPerson;
+        
+        @ApiModelProperty(value = "流程模板节点别名")
+        private String processTemplateNodeAlias;
+        
+        
+    	@ApiModelProperty(value = "表单模板ID")
+        private Long formTemplateId;
+    	
+    	@ApiModelProperty(value = "排序号")
+        private Integer sortNum;
+    	
+    	
+    	@ApiModelProperty(value = "流程模板节点名称")
+        private String processTemplateNodeName;
+        
+}

+ 9 - 0
common-flow/src/main/java/com/tofly/flow/entity/ProcessTemplate.java

@@ -12,6 +12,7 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 
 import java.util.Date;
+import java.util.List;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -83,6 +84,14 @@ public class ProcessTemplate extends Model<ProcessTemplate> {
     private String createUserName;
     
     
+    /**
+     * 流程规则列表信息
+     */
+    @TableField(exist = false)
+    @ApiModelProperty(value = "流程节点规则列表信息")
+    private List<ProcessTemplateNodeJudge>  processTemplateNodeJudges ;
+    
+    
     
 
 

+ 0 - 10
common-flow/src/main/java/com/tofly/flow/entity/ProcessTemplateNode.java

@@ -78,15 +78,5 @@ public class ProcessTemplateNode extends Model<ProcessTemplateNode> {
             
     	
     	
-        
-        /**
-         * 流程节点规则列表信息
-         */
-        @TableField(exist = false)
-        @ApiModelProperty(value = "流程节点规则列表信息")
-        private List<ProcessTemplateNodeJudge>  processTemplateNodeJudges ;
-    	
-    	
-    	
             
 }

+ 10 - 5
common-flow/src/main/java/com/tofly/flow/entity/ProcessTemplateNodeJudge.java

@@ -1,5 +1,7 @@
 package com.tofly.flow.entity;
 
+import java.util.List;
+
 import com.baomidou.mybatisplus.annotation.*;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import io.swagger.annotations.ApiModel;
@@ -35,6 +37,13 @@ public class ProcessTemplateNodeJudge extends Model<ProcessTemplateNodeJudge> {
      private Long processTemplateId;
      
      
+     /**
+      * 表单模板id
+      */
+      @ApiModelProperty(value = "表单模板id")
+      private Long formTemplateId;
+     
+     
      /**
       * 流程模板节点别名
       */
@@ -80,11 +89,7 @@ public class ProcessTemplateNodeJudge extends Model<ProcessTemplateNodeJudge> {
       */
      @ApiModelProperty(value = "表单流程目标节点别名")
      private String templateTargetNodeAlias;
-     
-     
-     
-     
-     
+                   
      
      
      

+ 11 - 0
common-flow/src/main/java/com/tofly/flow/mapper/ProcessInstanceNodeInfoMapper.java

@@ -1,7 +1,13 @@
 package com.tofly.flow.mapper;
 
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.tofly.flow.entity.ProcessInstanceNodeInfo;
+import com.tofly.flow.entity.ProcessTemplateNode;
+import com.tofly.flow.vo.ApprovalNodeInfoVo;
 
 /**
  * 流程实例节点信息mapper
@@ -10,4 +16,9 @@ import com.tofly.flow.entity.ProcessInstanceNodeInfo;
  * @date Wed Mar 31 00:00:00 CST 2021
  */
 public interface ProcessInstanceNodeInfoMapper extends BaseMapper<ProcessInstanceNodeInfo> {
+	
+	
+	void updateProcessApproval(@Param("approvalNodeInfoVo") ApprovalNodeInfoVo approvalNodeInfoVo);
+	
+	
 }

+ 1 - 1
common-flow/src/main/java/com/tofly/flow/mapper/ProcessTemplateMapper.java

@@ -16,5 +16,5 @@ import com.tofly.flow.entity.ProcessTemplateNode;
 public interface ProcessTemplateMapper extends BaseMapper<ProcessTemplate> {
 	
 	
-	List<ProcessTemplateNode> getNodeInfoByTemplateId(@Param("templateId") Long templateId);
+	List<ProcessTemplateNode> getNodeInfoApprovalByTemplateId(@Param("templateId") Long templateId);
 }

+ 5 - 0
common-flow/src/main/java/com/tofly/flow/mapper/ProcessTemplateNodeMapper.java

@@ -9,4 +9,9 @@ import com.tofly.flow.entity.ProcessTemplateNode;
  * @author zhoux
  */
 public interface ProcessTemplateNodeMapper extends BaseMapper<ProcessTemplateNode> {
+	
+	
+	
+	
+	
 }

+ 8 - 0
common-flow/src/main/java/com/tofly/flow/service/ProcessInstanceNodeInfoService.java

@@ -24,4 +24,12 @@ public interface ProcessInstanceNodeInfoService extends IService<ProcessInstance
 	 */
 	void processApproval(ApprovalNodeInfoVo approvalNodeInfoVo) throws Exception;
 	
+	
+	
+
+	
+	
+	
+	
+	
 }

+ 6 - 0
common-flow/src/main/java/com/tofly/flow/service/ProcessTemplateService.java

@@ -8,6 +8,7 @@ import com.tofly.flow.entity.ProcessTemplateNode;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -17,6 +18,11 @@ import java.util.Map;
  * @date Wed Mar 10 00:00:00 CST 2021
  */
 public interface ProcessTemplateService extends IService<ProcessTemplate> {
+	
+	
+	
+	
+	List<ProcessTemplateNode> getNodeInfoApprovalByTemplateId(Long templateId);
 
 	
 

+ 4 - 0
common-flow/src/main/java/com/tofly/flow/service/impl/ProcessInstanceNodeInfoServiceImpl.java

@@ -113,5 +113,9 @@ public class ProcessInstanceNodeInfoServiceImpl extends ServiceImpl<ProcessInsta
 		processApprovalHistoryService.save(history);
 		
 	}
+
+
+
+
 	
 }

+ 22 - 4
common-flow/src/main/java/com/tofly/flow/service/impl/ProcessInstanceServiceImpl.java

@@ -58,6 +58,23 @@ public class ProcessInstanceServiceImpl extends ServiceImpl<ProcessInstanceMappe
 		approvalNode.setId(processInstanceNodeInfo.getId());		
 		processInstanceNodeInfoService.updateById(approvalNode);
 		
+		//如果是驳回请求,更新上一节点信息为初始状态
+		if(processInstanceNodeInfo.getApprovalStatus()==2) {
+			ProcessInstanceNodeInfo rejectNode =new ProcessInstanceNodeInfo();
+			rejectNode.setApprovalSuggest("");
+			rejectNode.setApprovalStatus(0);
+			rejectNode.setApprovalTime(null);
+			
+			QueryWrapper<ProcessInstanceNodeInfo> rejectQueryWrapper =new QueryWrapper<ProcessInstanceNodeInfo>();
+			rejectQueryWrapper.eq("PROCESS_ID", instance.getId());
+			
+			rejectQueryWrapper.eq("NODE_SORT_NUM", processInstanceNodeInfo.getNodeSortNum()-1);
+			
+			processInstanceNodeInfoService.update(rejectNode,rejectQueryWrapper);
+		}
+		
+		
+		
 		//查询流程节点审批状态 (并签、或签需要)
 		List<ProcessInstanceNodeInfo> processNodeList = processInstanceNodeInfoService.list
 				(Wrappers.<ProcessInstanceNodeInfo>lambdaQuery()
@@ -182,18 +199,19 @@ public class ProcessInstanceServiceImpl extends ServiceImpl<ProcessInstanceMappe
 		
 		//审批驳回流转	
 		}else if(approvalStatus==Constant.FLOW_APPROVAL_STATUS_REJECT){
-			
-			
+						
 			if(currentNodeSort==1) {
 				throw new Exception("流程属于第一节点,无法进行驳回,请直接拒绝,重新发起流程。");
 			}else {
+				
+				
 				if(!configAction.equals("1")) {
 					instance.setCurrentNode(templateNodeList.get(currentNodeListSort-1).getProcessNodeAlias());
 					instance.setCurrentNodeSort(currentNodeSort-1);
 					processInstanceMapper.updateById(instance);			
 				}
-			}
-		
+								
+			}		
 		//审批拒绝流转	
 		}else if(approvalStatus==Constant.FLOW_APPROVAL_STATUS_REFUSE) {
 			

+ 8 - 0
common-flow/src/main/java/com/tofly/flow/service/impl/ProcessTemplateServiceImpl.java

@@ -3,9 +3,12 @@ package com.tofly.flow.service.impl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
 import com.tofly.flow.entity.ProcessTemplate;
+import com.tofly.flow.entity.ProcessTemplateNode;
 import com.tofly.flow.mapper.ProcessTemplateMapper;
 import com.tofly.flow.service.ProcessTemplateService;
 
+import java.util.List;
+
 import org.springframework.stereotype.Service;
 
 
@@ -18,6 +21,11 @@ import org.springframework.stereotype.Service;
 @Service("processTemplateService")
 public class ProcessTemplateServiceImpl extends ServiceImpl<ProcessTemplateMapper, ProcessTemplate> implements ProcessTemplateService {
 
+	@Override
+	public List<ProcessTemplateNode> getNodeInfoApprovalByTemplateId(Long templateId) {
+		return baseMapper.getNodeInfoApprovalByTemplateId(templateId);
+	}
+
 	
 	
 }

+ 26 - 2
common-flow/src/main/resources/mapper/ProcessTemplateMapper.xml

@@ -6,14 +6,38 @@
     <resultMap id="processTemplateMap" type="com.tofly.flow.entity.ProcessTemplate">
         <id property="id" column="ID"/>
         <result property="id" column="ID"/>
-       <result property="processTemplateName" column="PROCESS_TEMPLATE_NAME"/>
+        <result property="processTemplateName" column="PROCESS_TEMPLATE_NAME"/>
         <result property="processTypeId" column="PROCESS_TYPE_ID"/>
         <result property="processNodesNum" column="PROCESS_NODES_NUM"/>
         <result property="createTime" column="CREATE_TIME"/>
-       <result property="createUser" column="CREATE_USER"/>
+        <result property="createUser" column="CREATE_USER"/>
         <result property="processRemark" column="PROCESS_REMARK"/>
         <association property="createUserName" column="CREATE_USER"
                      select="com.tofly.baseapi.mapper.ToflyCodeCommonMapper.getUserName"/>
     </resultMap>
+    
+    
+    <select id="getNodeInfoApprovalByTemplateId" resultType="map" >
+    	   SELECT A.*, T.FORM_TEMPLATE_NAME FROM TF_PROCESS_TEMPLATE_NODE A 
+ 		   left join TF_FORM_TEMPLATE  T on t.id = A.FORM_TEMPLATE_ID 
+ 		   WHERE A.ID IN (SELECT MIN(ID) FROM TF_PROCESS_TEMPLATE_NODE GROUP BY PROCESS_NODE_ALIAS) 
+ 		   AND A.PROCESS_TEMPLATE_ID =  #{templateId}  
+ 	 	   ORDER BY A.SORT_NUM ASC 
+    </select>
+    
+    
+  
+    
+    
+    
+    
+    
+    
+    
+    
+	
+	
+	
+	
 
 </mapper>

+ 8 - 0
flow_project/src/main/java/com/tofly/install/entity/ApplyInstall.java

@@ -142,6 +142,14 @@ public class ApplyInstall extends Model<ApplyInstall> {
     
     
     
+    /**
+     * 用户身份证
+     */
+    @ApiModelProperty(value = "用户身份证")
+    private String applyUserCard;
+    
+    
+    
     
     /**
      * 登记时间