Selaa lähdekoodia

审批系统开发

liujiankang 6 vuotta sitten
vanhempi
commit
44100df04b

+ 6 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/approval/ApprovalOrderService.java

@@ -68,4 +68,10 @@ public interface ApprovalOrderService {
      * @return
      */
     Integer updateApprovalInfo(ApprovalInfo approvalInfo);
+
+    /**
+     * 删除审核历史记录信息
+     * @return
+     */
+    Integer deleteHistoricalRecord(Integer approvalId);
 }

+ 5 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/approval/ApprovalOrderServiceImpl.java

@@ -147,4 +147,9 @@ public class ApprovalOrderServiceImpl implements ApprovalOrderService {
     public Integer updateApprovalInfo(ApprovalInfo approvalInfo) {
         return approvalOrderMapper.updateApprovalInfo(approvalInfo);
     }
+
+    @Override
+    public Integer deleteHistoricalRecord(Integer approvalId) {
+        return approvalOrderMapper.deleteHistoricalRecord(approvalId);
+    }
 }

+ 7 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/approval/mapper/ApprovalOrderMapper.java

@@ -65,5 +65,12 @@ public interface ApprovalOrderMapper {
       * @return
       */
      Integer updateApprovalInfo(ApprovalInfo approvalInfo);
+     /**
+      * 删除审核历史记录信息
+      * @return
+      */
+     Integer deleteHistoricalRecord(Integer approvalId);
+
+
 
 }

+ 4 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/approval/mapper/approvalOrderMapper.xml

@@ -459,6 +459,10 @@
       </if>
     </where>
   </update>
+
+  <delete id="deleteHistoricalRecord" parameterType="Integer">
+    DELETE FROM tb_rst_historical_record where approval_id = #{approvalId}
+  </delete>
  <!-- <resultMap id="BaseResultMap" type="ApprovalOrderInfo" >
     <id column="approval_id" property="approvalId" jdbcType="INTEGER" />
     <result column="applicant_name" property="applicantName" jdbcType="VARCHAR" />

+ 65 - 13
watero-rst-web/src/main/java/com/iamberry/rst/controllers/approval/ApprovalController.java

@@ -163,47 +163,99 @@ public class ApprovalController {
         if(status == null){
             return  ResponseJson.getFAILURE();
         }
+        //审批历史记录封装
         HistoricalRecord historicalRecord = new HistoricalRecord();
         historicalRecord.setApprovalId(approvalInfo.getApprovalId());
         historicalRecord.setAdminId(1);
+        historicalRecord.setApprovalTime(new Date());
+        //流程信息封装
+        ProcessInfo processInfo = new ProcessInfo();
+        processInfo.setAdminId(1);
+        processInfo.setApprovalId(approvalInfo.getApprovalId());
+        processInfo.setProcessDesc(approvalInfo.getApprovalDetails());
+        //审批信息封装
+        ApprovalInfo info = new ApprovalInfo();
+        info.setApprovalId(approvalInfo.getApprovalId());
         switch (status){
             case 1:
-
-                //查询当前审核人当前审核任务信息
-                HistoricalRecord record = approvalOrderService.getHistoricalRecord(historicalRecord);
-                if(record == null){
-                    return  ResponseJson.getFAILURE();
-                }
                 //修改审核历史记录状态为已通过
                 historicalRecord.setRecordState(2);
                 if(approvalOrderService.updateHistoricalRecord(historicalRecord) < 1){
                     return  ResponseJson.getFAILURE();
                 }
+                //查询当前审核人当前审核任务信息
+                HistoricalRecord record = approvalOrderService.getHistoricalRecord(historicalRecord);
+                if(record == null){
+                    return  ResponseJson.getFAILURE();
+                }
                 //获取下一个审核人,并添加审核历史信息
                 Map<String, Object> taskMap = approvalTaskService.completeTask(approvalInfo.getActivitiId(),record.getTaskId());
                 if(taskMap == null){
                     return  ResponseJson.getFAILURE();
                 }
                 if(taskMap.get("status") == 1){//没有下一个审批人,修改审批任务状态为已审批通过
-
+                    info.setApprovalStatus(2);
+                    if(approvalOrderService.updateApprovalInfo(info) < 1){
+                        return  ResponseJson.getFAILURE();
+                    }
                 }else if(taskMap.get("status") == 0){//还有下一个审批人,需要增加审批历史记录
-
+                    HistoricalRecord recordInfo = new HistoricalRecord();
+                    recordInfo.setApprovalId(approvalInfo.getApprovalId());
+                    recordInfo.setAdminId(1);
+                    recordInfo.setRecordState(1);
+                    recordInfo.setTaskId(taskMap.get("taskId").toString());
+                    if(approvalOrderService.insertHistoricalRecord(recordInfo) < 1){
+                        return  ResponseJson.getFAILURE();
+                    }
+                }
+                //添加流程信息记录
+                processInfo.setProcessState(2);
+                if(approvalOrderService.insertProcessInfo(processInfo) < 1){
+                    return  ResponseJson.getFAILURE();
                 }
                 break;
             case 2:
-                //修改状态为已驳回
+                //修改历史记录状态为已驳回
                 historicalRecord.setRecordState(3);
                 if(approvalOrderService.updateHistoricalRecord(historicalRecord) < 1){
                     return  ResponseJson.getFAILURE();
                 }
-                ApprovalInfo approvalinfo = new ApprovalInfo();
-                approvalinfo.setApprovalId(approvalInfo.getApprovalId());
-                approvalinfo.setApprovalStatus(3);
-                if(approvalOrderService.updateApprovalInfo(approvalinfo) < 1){
+                info.setApprovalStatus(3);
+                if(approvalOrderService.updateApprovalInfo(info) < 1){
                     return  ResponseJson.getFAILURE();
                 }
                 //添加流程信息记录
+                processInfo.setProcessState(3);
+                if(approvalOrderService.insertProcessInfo(processInfo) < 1){
+                    return  ResponseJson.getFAILURE();
+                }
+
+                //调用第三方revokeTask接口执行撤销
+                approvalTaskService.revokeTask(approvalInfo.getActivitiId(),"审批人驳回审核");
+                break;
+            case 3:
+                //修改审批信息状态为撤销
+                info.setApprovalStatus(9);
+                if(approvalOrderService.updateApprovalInfo(info) < 1){
+                    return  ResponseJson.getFAILURE();
+                }
+                //删除该审批的历史记录
+                approvalOrderService.deleteHistoricalRecord(approvalInfo.getApprovalId());
 
+                //添加流程信息记录
+                processInfo.setProcessState(4);
+                if(approvalOrderService.insertProcessInfo(processInfo) < 1){
+                    return  ResponseJson.getFAILURE();
+                }
+                //调用第三方revokeTask接口执行撤销
+                approvalTaskService.revokeTask(approvalInfo.getActivitiId(),"业务员撤销审核");
+                break;
+            case 4:
+                //添加评论内容到流程信息表,不用修改任何状态
+                processInfo.setProcessState(0);
+                if(approvalOrderService.insertProcessInfo(processInfo) < 1){
+                    return  ResponseJson.getFAILURE();
+                }
                 break;
         }
         return rj;