java110 4 anni fa
parent
commit
cf67062bda

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

@@ -4,6 +4,8 @@ import com.java110.config.feign.FeignConfiguration;
 import com.java110.dto.auditMessage.AuditMessageDto;
 import com.java110.dto.purchaseApply.PurchaseApplyDto;
 import com.java110.entity.audit.AuditUser;
+import com.java110.po.contract.ContractPo;
+import com.java110.po.purchase.PurchaseApplyPo;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -79,4 +81,11 @@ public interface IPurchaseApplyUserInnerServiceSMO {
     @RequestMapping(value = "/getTaskCurrentUser", method = RequestMethod.POST)
     public PurchaseApplyDto getTaskCurrentUser(@RequestBody PurchaseApplyDto purchaseApplyDto);
 
+    /**
+     * 处理任务
+     * @return true 为流程结束 false 为流程没有结束
+     */
+    @RequestMapping(value = "/deleteTask", method = RequestMethod.POST)
+    public boolean deleteTask(@RequestBody PurchaseApplyPo purchaseApplyPo);
+
 }

+ 27 - 13
service-api/src/main/java/com/java110/api/listener/purchaseApply/DeletePurchaseApplyListener.java

@@ -4,11 +4,12 @@ import com.alibaba.fastjson.JSONObject;
 import com.java110.api.listener.AbstractServiceApiPlusListener;
 import com.java110.core.annotation.Java110Listener;
 import com.java110.core.context.DataFlowContext;
+import com.java110.core.event.service.api.ServiceDataFlowEvent;
+import com.java110.dto.purchaseApply.PurchaseApplyDto;
 import com.java110.dto.purchaseApplyDetail.PurchaseApplyDetailDto;
+import com.java110.intf.common.IPurchaseApplyUserInnerServiceSMO;
 import com.java110.intf.store.IPurchaseApplyDetailInnerServiceSMO;
 import com.java110.intf.store.IPurchaseApplyInnerServiceSMO;
-import com.java110.dto.purchaseApply.PurchaseApplyDto;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
 import com.java110.po.purchase.PurchaseApplyDetailPo;
 import com.java110.po.purchase.PurchaseApplyPo;
 import com.java110.utils.constant.BusinessTypeConstant;
@@ -20,6 +21,7 @@ import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpMethod;
+import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 
 import java.util.List;
@@ -37,6 +39,9 @@ public class DeletePurchaseApplyListener extends AbstractServiceApiPlusListener
     @Autowired
     private IPurchaseApplyDetailInnerServiceSMO purchaseApplyDetailInnerServiceSMOImpl;
 
+    @Autowired
+    private IPurchaseApplyUserInnerServiceSMO iPurchaseApplyUserInnerServiceSMO;
+
     @Override
     protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
         Assert.hasKeyAndValue(reqJson, "applyOrderId", "订单号不能为空");
@@ -49,25 +54,33 @@ public class DeletePurchaseApplyListener extends AbstractServiceApiPlusListener
         PurchaseApplyDto purchaseApplyDto = new PurchaseApplyDto();
         purchaseApplyDto.setApplyOrderId(applyOrderId);
         List<PurchaseApplyDto> purchaseApplyDtos = purchaseApplyInnerServiceSMOImpl.queryPurchaseApplys(purchaseApplyDto);
-        if(purchaseApplyDtos.size()!= 1){
+        if (purchaseApplyDtos.size() != 1) {
             ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_BUSINESS_VERIFICATION, "采购申请单出现多条或者未找到采购申请单!");
             context.setResponseEntity(responseEntity);
             return;
         }
-        if (!"1000".equals(purchaseApplyDtos.get(0).getState()) && PurchaseApplyDto.RES_ORDER_TYPE_OUT.equals(purchaseApplyDtos.get(0).getResOrderType()) ) {
-            ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_BUSINESS_VERIFICATION, "您的物品领用订单已经状态已改变,无法进行取消操作!");
-            context.setResponseEntity(responseEntity);
-            return;
-        }
-        if (!"1000".equals(purchaseApplyDtos.get(0).getState()) && PurchaseApplyDto.RES_ORDER_TYPE_ENTER.equals(purchaseApplyDtos.get(0).getResOrderType())) {
-            ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_BUSINESS_VERIFICATION, "您的采购申请订单已经状态已改变,无法进行取消操作!");
-            context.setResponseEntity(responseEntity);
-            return;
-        }
+//        if (!"1000".equals(purchaseApplyDtos.get(0).getState()) && PurchaseApplyDto.RES_ORDER_TYPE_OUT.equals(purchaseApplyDtos.get(0).getResOrderType()) ) {
+//            ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_BUSINESS_VERIFICATION, "您的物品领用订单已经状态已改变,无法进行取消操作!");
+//            context.setResponseEntity(responseEntity);
+//            return;
+//        }
+//        if (!"1000".equals(purchaseApplyDtos.get(0).getState()) && PurchaseApplyDto.RES_ORDER_TYPE_ENTER.equals(purchaseApplyDtos.get(0).getResOrderType())) {
+//            ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_BUSINESS_VERIFICATION, "您的采购申请订单已经状态已改变,无法进行取消操作!");
+//            context.setResponseEntity(responseEntity);
+//            return;
+//        }
         HttpHeaders header = new HttpHeaders();
         context.getRequestCurrentHeaders().put(CommonConstant.HTTP_ORDER_TYPE_CD, "D");
         deletePurchaseApply(reqJson, context);
         deletePurchaseApplyDetail(reqJson, context);
+        commit(context);
+        ResponseEntity<String> responseEntity = context.getResponseEntity();
+
+        if (responseEntity.getStatusCode() != HttpStatus.OK) {
+            return;
+        }
+        PurchaseApplyPo purchaseApplyPo = BeanConvertUtil.covertBean(reqJson, PurchaseApplyPo.class);
+        iPurchaseApplyUserInnerServiceSMO.deleteTask(purchaseApplyPo);
     }
 
     @Override
@@ -93,6 +106,7 @@ public class DeletePurchaseApplyListener extends AbstractServiceApiPlusListener
     private void deletePurchaseApply(JSONObject paramInJson, DataFlowContext dataFlowContext) {
         PurchaseApplyPo purchaseApplyPo = BeanConvertUtil.covertBean(paramInJson, PurchaseApplyPo.class);
         super.delete(dataFlowContext, purchaseApplyPo, BusinessTypeConstant.BUSINESS_TYPE_DELETE_PURCHASE_APPLY);
+
     }
 
     //删除订单明细

+ 23 - 0
service-common/src/main/java/com/java110/common/smo/impl/PurchaseApplyUserInnerServiceSMOImpl.java

@@ -14,7 +14,9 @@ import com.java110.intf.job.IDataBusInnerServiceSMO;
 import com.java110.intf.store.IComplaintInnerServiceSMO;
 import com.java110.intf.store.IPurchaseApplyInnerServiceSMO;
 import com.java110.intf.user.IUserInnerServiceSMO;
+import com.java110.po.contract.ContractPo;
 import com.java110.po.machine.MachineRecordPo;
+import com.java110.po.purchase.PurchaseApplyPo;
 import com.java110.utils.constant.BusinessTypeConstant;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
@@ -397,6 +399,27 @@ public class PurchaseApplyUserInnerServiceSMOImpl extends BaseServiceSMO impleme
 
     }
 
+    //删除任务
+    public boolean deleteTask(@RequestBody PurchaseApplyPo purchaseApplyPo) {
+        TaskService taskService = processEngine.getTaskService();
+
+        TaskQuery query = taskService.createTaskQuery().processInstanceBusinessKey(purchaseApplyPo.getApplyOrderId());
+        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;
+    }
 
     public ProcessEngine getProcessEngine() {
         return processEngine;