Browse Source

优化 删除合同 删除流程

java110 4 years ago
parent
commit
14fe00a83d

+ 7 - 1
java110-interface/src/main/java/com/java110/intf/common/IContractApplyUserInnerServiceSMO.java

@@ -5,6 +5,7 @@ import com.java110.dto.auditMessage.AuditMessageDto;
 import com.java110.dto.contract.ContractDto;
 import com.java110.dto.purchaseApply.PurchaseApplyDto;
 import com.java110.entity.audit.AuditUser;
+import com.java110.po.contract.ContractPo;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -89,6 +90,11 @@ public interface IContractApplyUserInnerServiceSMO {
      */
     @RequestMapping(value = "/completeTask", method = RequestMethod.POST)
     public boolean completeTask(@RequestBody ContractDto contractDto);
-
+    /**
+     * 处理任务
+     * @return true 为流程结束 false 为流程没有结束
+     */
+    @RequestMapping(value = "/deleteTask", method = RequestMethod.POST)
+    public boolean deleteTask(@RequestBody ContractPo contractDto);
 
 }

+ 25 - 2
service-common/src/main/java/com/java110/common/smo/impl/ContractApplyUserInnerServiceSMOImpl.java

@@ -4,12 +4,12 @@ package com.java110.common.smo.impl;
 import com.java110.core.base.smo.BaseServiceSMO;
 import com.java110.dto.PageDto;
 import com.java110.dto.contract.ContractDto;
-import com.java110.dto.purchaseApply.PurchaseApplyDto;
 import com.java110.dto.workflow.WorkflowDto;
 import com.java110.entity.audit.AuditUser;
 import com.java110.intf.common.IContractApplyUserInnerServiceSMO;
 import com.java110.intf.common.IWorkflowInnerServiceSMO;
 import com.java110.intf.store.IContractInnerServiceSMO;
+import com.java110.po.contract.ContractPo;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.StringUtil;
 import org.activiti.engine.HistoryService;
@@ -65,7 +65,7 @@ public class ContractApplyUserInnerServiceSMOImpl extends BaseServiceSMO impleme
         variables.put("userId", contractDto.getCurrentUserId());
         variables.put("startUserId", contractDto.getCurrentUserId());
         //开启流程
-        ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(getWorkflowDto(contractDto.getStoreId()),contractDto.getContractId(), variables);
+        ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(getWorkflowDto(contractDto.getStoreId()), contractDto.getContractId(), variables);
         //将得到的实例流程id值赋给之前设置的变量
         String processInstanceId = processInstance.getId();
         // System.out.println("流程开启成功.......实例流程id:" + processInstanceId);
@@ -284,4 +284,27 @@ public class ContractApplyUserInnerServiceSMOImpl extends BaseServiceSMO impleme
         return false;
     }
 
+    //删除任务
+    public boolean deleteTask(@RequestBody ContractPo contractDto) {
+        TaskService taskService = processEngine.getTaskService();
+
+        TaskQuery query = taskService.createTaskQuery().processInstanceBusinessKey(contractDto.getContractId());
+        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;
+    }
+
+
 }

+ 6 - 0
service-store/src/main/java/com/java110/store/bmo/contract/impl/DeleteContractBMOImpl.java

@@ -5,6 +5,7 @@ import com.java110.dto.RoomDto;
 import com.java110.dto.contractRoom.ContractRoomDto;
 import com.java110.dto.fee.FeeDto;
 import com.java110.dto.owner.OwnerRoomRelDto;
+import com.java110.intf.common.IContractApplyUserInnerServiceSMO;
 import com.java110.intf.community.IRoomInnerServiceSMO;
 import com.java110.intf.fee.IFeeInnerServiceSMO;
 import com.java110.intf.store.IContractInnerServiceSMO;
@@ -43,6 +44,9 @@ public class DeleteContractBMOImpl implements IDeleteContractBMO {
     @Autowired
     private IFeeInnerServiceSMO feeInnerServiceSMOImpl;
 
+    @Autowired
+    private IContractApplyUserInnerServiceSMO contractApplyUserInnerServiceSMOImpl;
+
     /**
      * @param contractPo 数据
      * @return 订单服务能够接受的报文
@@ -56,6 +60,8 @@ public class DeleteContractBMOImpl implements IDeleteContractBMO {
             return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
         }
 
+        //删除流程信息
+        contractApplyUserInnerServiceSMOImpl.deleteTask(contractPo);
         deleteContractRoomRel(contractPo);
 
         return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");