Procházet zdrojové kódy

取消合同变更时删除流程信息

java110 před 4 roky
rodič
revize
6894242f1f

+ 9 - 0
java110-interface/src/main/java/com/java110/intf/common/IContractChangeUserInnerServiceSMO.java

@@ -4,6 +4,8 @@ import com.java110.config.feign.FeignConfiguration;
 import com.java110.dto.contract.ContractDto;
 import com.java110.dto.contractChangePlan.ContractChangePlanDto;
 import com.java110.entity.audit.AuditUser;
+import com.java110.po.contract.ContractPo;
+import com.java110.po.contractChangePlan.ContractChangePlanPo;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -91,4 +93,11 @@ public interface IContractChangeUserInnerServiceSMO {
     @RequestMapping(value = "/completeTask", method = RequestMethod.POST)
     public boolean completeTask(@RequestBody ContractChangePlanDto contractChangePlanDto);
 
+    /**
+     * 删除任务
+     * @return true 为流程结束 false 为流程没有结束
+     */
+    @RequestMapping(value = "/deleteTask", method = RequestMethod.POST)
+    public boolean deleteTask(@RequestBody ContractChangePlanPo contractDto);
+
 }

+ 25 - 0
service-common/src/main/java/com/java110/common/smo/impl/ContractChangeUserInnerServiceSMOImpl.java

@@ -10,6 +10,8 @@ import com.java110.entity.audit.AuditUser;
 import com.java110.intf.common.IContractChangeUserInnerServiceSMO;
 import com.java110.intf.common.IWorkflowInnerServiceSMO;
 import com.java110.intf.store.IContractChangePlanInnerServiceSMO;
+import com.java110.po.contract.ContractPo;
+import com.java110.po.contractChangePlan.ContractChangePlanPo;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.StringUtil;
 import org.activiti.engine.HistoryService;
@@ -282,4 +284,27 @@ public class ContractChangeUserInnerServiceSMOImpl extends BaseServiceSMO implem
         return false;
     }
 
+
+    //删除任务
+    public boolean deleteTask(@RequestBody ContractChangePlanPo contractChangePlanPo) {
+        TaskService taskService = processEngine.getTaskService();
+
+        TaskQuery query = taskService.createTaskQuery().processInstanceBusinessKey(contractChangePlanPo.getPlanId());
+        query.orderByTaskCreateTime().desc();
+        List<Task> list = query.list();
+
+        if (list == null || list.size() < 1) {
+            return true;
+        }
+
+        for (Task task : list) {
+            String processInstanceId = task.getProcessInstanceId();
+            //3.使用流程实例,查询
+            runtimeService.deleteProcessInstance(processInstanceId, "取消合同");
+
+        }
+
+        return true;
+    }
+
 }

+ 2 - 3
service-store/src/main/java/com/java110/store/bmo/contract/impl/DeleteContractBMOImpl.java

@@ -60,10 +60,9 @@ public class DeleteContractBMOImpl implements IDeleteContractBMO {
             return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
         }
 
-        //删除流程信息
-        contractApplyUserInnerServiceSMOImpl.deleteTask(contractPo);
         deleteContractRoomRel(contractPo);
-
+//删除流程信息
+        contractApplyUserInnerServiceSMOImpl.deleteTask(contractPo);
         return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
 
     }

+ 9 - 3
service-store/src/main/java/com/java110/store/bmo/contractChangePlan/impl/DeleteContractChangePlanBMOImpl.java

@@ -1,6 +1,7 @@
 package com.java110.store.bmo.contractChangePlan.impl;
 
 import com.java110.core.annotation.Java110Transactional;
+import com.java110.intf.common.IContractChangeUserInnerServiceSMO;
 import com.java110.intf.store.IContractChangePlanInnerServiceSMO;
 import com.java110.po.contractChangePlan.ContractChangePlanPo;
 import com.java110.store.bmo.contractChangePlan.IDeleteContractChangePlanBMO;
@@ -15,6 +16,9 @@ public class DeleteContractChangePlanBMOImpl implements IDeleteContractChangePla
     @Autowired
     private IContractChangePlanInnerServiceSMO contractChangePlanInnerServiceSMOImpl;
 
+    @Autowired
+    private IContractChangeUserInnerServiceSMO contractChangeUserInnerServiceSMO;
+
     /**
      * @param contractChangePlanPo 数据
      * @return 订单服务能够接受的报文
@@ -24,11 +28,13 @@ public class DeleteContractChangePlanBMOImpl implements IDeleteContractChangePla
 
         int flag = contractChangePlanInnerServiceSMOImpl.deleteContractChangePlan(contractChangePlanPo);
 
-        if (flag > 0) {
-            return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
+        if (flag < 1) {
+            return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
         }
 
-        return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
+        contractChangeUserInnerServiceSMO.deleteTask(contractChangePlanPo);
+        return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
+
     }
 
 }