Commit 0a2d6eb9 authored by 1650842865's avatar 1650842865

强制终止流程优化

parent 42cf43bf
...@@ -1364,10 +1364,10 @@ function forceAbortTask(){ ...@@ -1364,10 +1364,10 @@ function forceAbortTask(){
} }
var url = ""; var url = "";
if (processDefinitionKey == "sapPurchaseProc"){//采购申请审批 if (processDefinitionKey == "sapPurchaseApprovalProc"){//采购申请审批
url = '/sapPurchaseApproval/forceAbortTask.ajax'; url = '/sapPurchaseApproval/forceAbortPurchaseApproval.ajax';
}else if (processDefinitionKey == "sapPurchaseOrderProc"){//采购订单审批 }else if (processDefinitionKey == "sapPurchaseOrderProc"){//采购订单审批
url = "/sapPurchaseOrder/forceAbortTask.ajax" url = "/sapPurchaseOrder/forceAbortPurchaseOrder.ajax"
} }
Public.ajax(web_app.name + url,{ jobPageId: taskId,id: bizId },function () { Public.ajax(web_app.name + url,{ jobPageId: taskId,id: bizId },function () {
closeJobPageAndReloadTaskCenter(); closeJobPageAndReloadTaskCenter();
......
...@@ -3,6 +3,7 @@ package com.huigou.topsun.sap.common.application; ...@@ -3,6 +3,7 @@ package com.huigou.topsun.sap.common.application;
import com.huigou.topsun.sap.common.domain.SapMutualEpLog; import com.huigou.topsun.sap.common.domain.SapMutualEpLog;
import com.huigou.topsun.sap.common.domain.query.MutualEpLogQueryRequest; import com.huigou.topsun.sap.common.domain.query.MutualEpLogQueryRequest;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
...@@ -24,4 +25,6 @@ public interface SapMutualEpLogApplication { ...@@ -24,4 +25,6 @@ public interface SapMutualEpLogApplication {
SapMutualEpLog saveSapMutualEpLog(Map<String, Object> map); SapMutualEpLog saveSapMutualEpLog(Map<String, Object> map);
Map<String, Object> slicedMutualEpLogQuery(MutualEpLogQueryRequest query); Map<String, Object> slicedMutualEpLogQuery(MutualEpLogQueryRequest query);
List<SapMutualEpLog> findByBusinessId(String businessId);
} }
...@@ -21,6 +21,7 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -21,6 +21,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -82,4 +83,9 @@ public class SapMutualEpLogApplicationImpl extends FlowBroker implements SapMutu ...@@ -82,4 +83,9 @@ public class SapMutualEpLogApplicationImpl extends FlowBroker implements SapMutu
return this.sqlExecutorDao.executeSlicedQuery(model); return this.sqlExecutorDao.executeSlicedQuery(model);
} }
@Override
public List<SapMutualEpLog> findByBusinessId(String businessId) {
return sapMutualEpLogRepository.findByBusinessId(businessId);
}
} }
...@@ -13,4 +13,6 @@ import java.util.List; ...@@ -13,4 +13,6 @@ import java.util.List;
public interface SapMutualEpLogRepository extends JpaRepository<SapMutualEpLog,String> { public interface SapMutualEpLogRepository extends JpaRepository<SapMutualEpLog,String> {
// List<SapMutualEpLog> findAllBybusinessType(String businessType); // List<SapMutualEpLog> findAllBybusinessType(String businessType);
List<SapMutualEpLog> findByBusinessId(String businessId);
} }
...@@ -16,6 +16,7 @@ import com.huigou.data.query.model.QueryModel; ...@@ -16,6 +16,7 @@ import com.huigou.data.query.model.QueryModel;
import com.huigou.topsun.base.bsnMessage.appliction.MannualStartWorkApplication; import com.huigou.topsun.base.bsnMessage.appliction.MannualStartWorkApplication;
import com.huigou.topsun.sap.common.DefaultHttpClient; import com.huigou.topsun.sap.common.DefaultHttpClient;
import com.huigou.topsun.sap.common.application.SapMutualEpLogApplication; import com.huigou.topsun.sap.common.application.SapMutualEpLogApplication;
import com.huigou.topsun.sap.common.domain.SapMutualEpLog;
import com.huigou.topsun.sap.costReimbursement.domain.SapCostReimbursement; import com.huigou.topsun.sap.costReimbursement.domain.SapCostReimbursement;
import com.huigou.topsun.sap.purchase.domain.SapPurchase; import com.huigou.topsun.sap.purchase.domain.SapPurchase;
import com.huigou.topsun.sap.purchase.domain.SapPurchaseItem; import com.huigou.topsun.sap.purchase.domain.SapPurchaseItem;
...@@ -509,11 +510,21 @@ public class SapPurchaseApprovalApplicationImpl extends FlowBroker implements Sa ...@@ -509,11 +510,21 @@ public class SapPurchaseApprovalApplicationImpl extends FlowBroker implements Sa
public void abortPurchaseApproval(String id,String jobPageId) { public void abortPurchaseApproval(String id,String jobPageId) {
//先标记终止状态 //先标记终止状态
SapPurchaseApproval purchaseApproval = sapPurchaseApprovalRepository.findOne(id); SapPurchaseApproval purchaseApproval = sapPurchaseApprovalRepository.findOne(id);
if ("E".equals(purchaseApproval.getType())){ List<SapMutualEpLog> logList = sapMutualEpLogApplication.findByBusinessId(purchaseApproval.getId());
if (!CollectionUtils.isEmpty(logList)){
List<String> types = logList
.stream()
.map(SapMutualEpLog::getType)
.collect(Collectors.toList());
if (types.contains("E")){
purchaseApproval.setStatusId(BizBillStatus.ABORTED.getId()); purchaseApproval.setStatusId(BizBillStatus.ABORTED.getId());
//删除待办 //删除待办
actApplication.deleteRuntimeTaskExtension(jobPageId); actApplication.deleteRuntimeTaskExtension(jobPageId);
sapPurchaseApprovalRepository.save(purchaseApproval); sapPurchaseApprovalRepository.save(purchaseApproval);
}
else {
throw new RuntimeException("正常流程不能强制终止");
}
}else { }else {
throw new RuntimeException("正常流程不能强制终止"); throw new RuntimeException("正常流程不能强制终止");
} }
......
...@@ -2,6 +2,7 @@ package com.huigou.topsun.sap.purchaseOrder.application.impl; ...@@ -2,6 +2,7 @@ package com.huigou.topsun.sap.purchaseOrder.application.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.huigou.cache.DictUtil; import com.huigou.cache.DictUtil;
...@@ -16,6 +17,8 @@ import com.huigou.topsun.common.CommonUtils; ...@@ -16,6 +17,8 @@ import com.huigou.topsun.common.CommonUtils;
import com.huigou.topsun.ep.epApplication.EpApplication; import com.huigou.topsun.ep.epApplication.EpApplication;
import com.huigou.topsun.ep.epApplication.EpVo.EpProductInfoVo; import com.huigou.topsun.ep.epApplication.EpVo.EpProductInfoVo;
import com.huigou.topsun.sap.common.DefaultHttpClient; import com.huigou.topsun.sap.common.DefaultHttpClient;
import com.huigou.topsun.sap.common.application.SapMutualEpLogApplication;
import com.huigou.topsun.sap.common.domain.SapMutualEpLog;
import com.huigou.topsun.sap.permit.application.SapPermitApplication; import com.huigou.topsun.sap.permit.application.SapPermitApplication;
import com.huigou.topsun.sap.permit.vo.SapPermitItemVo; import com.huigou.topsun.sap.permit.vo.SapPermitItemVo;
import com.huigou.topsun.sap.permit.vo.SapPermitVo; import com.huigou.topsun.sap.permit.vo.SapPermitVo;
...@@ -100,6 +103,8 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu ...@@ -100,6 +103,8 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu
private ProcessOutsourceMaterialRepository processOutsourceMaterialRepository; private ProcessOutsourceMaterialRepository processOutsourceMaterialRepository;
@Autowired @Autowired
private ProcessQuotedPriceItemApplication processQuotedPriceItemApplication; private ProcessQuotedPriceItemApplication processQuotedPriceItemApplication;
@Autowired
SapMutualEpLogApplication sapMutualEpLogApplication;
@Override @Override
protected String saveBizAndApprovalData() { protected String saveBizAndApprovalData() {
...@@ -391,6 +396,10 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu ...@@ -391,6 +396,10 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu
String url = "pass_approval/approval"; String url = "pass_approval/approval";
String type = ""; String type = "";
String message = ""; String message = "";
Map<String, Object> logMap = new HashMap<>();
logMap.put("businessType", "采购订单审批");
logMap.put("businessId", sapPurchaseOrder.getId());
logMap.put("parameter", JSON.toJSONString(param));
try { try {
String result = defaultHttpClient.execute(param, url); String result = defaultHttpClient.execute(param, url);
List<Map<String, Object>> resultList = objectMapper.readValue(result, new TypeReference<List<Map<String, Object>>>() { List<Map<String, Object>> resultList = objectMapper.readValue(result, new TypeReference<List<Map<String, Object>>>() {
...@@ -398,6 +407,8 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu ...@@ -398,6 +407,8 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu
Map<String, Object> resultMap = resultList.get(0); Map<String, Object> resultMap = resultList.get(0);
type = (String) resultMap.get("TYPE"); type = (String) resultMap.get("TYPE");
message = (String) resultMap.get("MESSAGE"); message = (String) resultMap.get("MESSAGE");
logMap.put("TYPE", type);
logMap.put("MESSAGE", message);
if (!"S".equals(type)) { if (!"S".equals(type)) {
throw new RuntimeException("数据传输失败,请稍后手动重试!" + resultMap.get("MESSAGE")); throw new RuntimeException("数据传输失败,请稍后手动重试!" + resultMap.get("MESSAGE"));
} }
...@@ -407,6 +418,7 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu ...@@ -407,6 +418,7 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu
sapPurchaseOrder.setMsgType(type); sapPurchaseOrder.setMsgType(type);
sapPurchaseOrder.setMessage(message); sapPurchaseOrder.setMessage(message);
this.sapPurchaseOrderRepository.save(sapPurchaseOrder); this.sapPurchaseOrderRepository.save(sapPurchaseOrder);
sapMutualEpLogApplication.saveSapMutualEpLog(logMap);
} }
} }
...@@ -477,11 +489,21 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu ...@@ -477,11 +489,21 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu
public void abortPurchaseOrder(String id, String jobPageId) { public void abortPurchaseOrder(String id, String jobPageId) {
//先标记终止状态 //先标记终止状态
SapPurchaseOrder purchaseOrder = sapPurchaseOrderRepository.findOne(id); SapPurchaseOrder purchaseOrder = sapPurchaseOrderRepository.findOne(id);
if ("E".equals(purchaseOrder.getMsgType())){ List<SapMutualEpLog> logList = sapMutualEpLogApplication.findByBusinessId(purchaseOrder.getId());
if (!CollectionUtils.isEmpty(logList)){
List<String> types = logList
.stream()
.map(SapMutualEpLog::getType)
.collect(Collectors.toList());
if (types.contains("E")){
purchaseOrder.setStatusId(BizBillStatus.ABORTED.getId()); purchaseOrder.setStatusId(BizBillStatus.ABORTED.getId());
//删除待办 //删除待办
actApplication.deleteRuntimeTaskExtension(jobPageId); actApplication.deleteRuntimeTaskExtension(jobPageId);
sapPurchaseOrderRepository.save(purchaseOrder); sapPurchaseOrderRepository.save(purchaseOrder);
}
else {
throw new RuntimeException("正常流程不能强制终止");
}
}else { }else {
throw new RuntimeException("正常流程不能强制终止"); throw new RuntimeException("正常流程不能强制终止");
} }
......
...@@ -124,7 +124,7 @@ public class SapPurchaseOrderController extends CommonController { ...@@ -124,7 +124,7 @@ public class SapPurchaseOrderController extends CommonController {
* 强制删除待办 * 强制删除待办
* @return * @return
*/ */
public String forceAbortTask(){ public String forceAbortPurchaseOrder(){
SDO sdo = this.getSDO(); SDO sdo = this.getSDO();
String id = sdo.getId(); String id = sdo.getId();
//任务ID //任务ID
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment