委托加工更新提交erp优化

This commit is contained in:
潘荣晟
2026-02-12 15:37:06 +08:00
parent 9c3e7b0651
commit 2dfb9b4c10
6 changed files with 26 additions and 7 deletions

View File

@@ -25,4 +25,5 @@ public interface ErrorCodeConstants {
ErrorCode PURCHASE_ORDER_ID_IS_NULL = new ErrorCode(1_008_000_070, "订单ID不能为空");
ErrorCode PURCHASE_ORDER_ID_IS_EMPTY = new ErrorCode(1_008_000_080, "业务订单类型非法请参考字典SPLY_BSN_TP");
ErrorCode PURCHASE_ORDER_NOT_ALLOW_BIND = new ErrorCode(1_008_000_090, "来料销售加工订单不允许绑定订单");
ErrorCode ORDER_ALREADY_SUBMIT = new ErrorCode(1_008_000_100, "不允许重复提交erp");
}

View File

@@ -162,12 +162,12 @@ public class OriginalMaterialProcessingController {
originalMaterialProcessingService.closeOrder(ids);
return success(true);
}
//来料采购提交erp061
@PostMapping("/submit-to-erp061")
@Operation(summary = "来料采购提交erp061")
//来料采购提交erp
@PostMapping("/submit-to-erp")
@Operation(summary = "来料采购提交erp")
@PreAuthorize("@ss.hasAnyPermissions('base:original-material-processing-order:update')")
public CommonResult<Boolean> submitToErp061(@RequestParam("id") Long id) {
originalMaterialProcessingService.submitToErp061(id);
originalMaterialProcessingService.submitToErp(id);
return success(true);
}
}

View File

@@ -48,8 +48,7 @@ import static com.zt.plat.module.contractorder.enums.ErpConstants.CONSTANTS_L;
import static com.zt.plat.module.contractorder.enums.ErrorCodeConstants.CONTRACT_ORDER_EXISTS;
import static com.zt.plat.module.contractorder.enums.entrustorder.ErrorCodeConstants.ENTRUST_ORDER_DETAIL_NOT_EXISTS;
import static com.zt.plat.module.contractorder.enums.entrustorder.ErrorCodeConstants.ENTRUST_ORDER_NOT_EXISTS;
import static com.zt.plat.module.contractorder.enums.purchaseorder.ErrorCodeConstants.MTRL_CODE_NOT_EXISTS;
import static com.zt.plat.module.contractorder.enums.purchaseorder.ErrorCodeConstants.PURCHASE_ORDER_NOT_EXISTS;
import static com.zt.plat.module.contractorder.enums.purchaseorder.ErrorCodeConstants.*;
/**
@@ -271,6 +270,9 @@ public class EntrustOrderOrderServiceImplImpl implements EntrustOrderOrderServic
if (entrustOrderOrderDO == null) {
throw exception(ENTRUST_ORDER_NOT_EXISTS);
}
if (entrustOrderOrderDO.getOrderSAPNumber() != null && !entrustOrderOrderDO.getOrderSAPNumber().isEmpty()){
throw exception(ORDER_ALREADY_SUBMIT);
}
log.info("提交订单到ERP【{}】,订单信息:【{}】", id, entrustOrderOrderDO);
List<EntrustOrderDetailRespVO> entrustOrderDetailListByOrderId = entrustOrderDetailService.getEntrustOrderDetailListByOrderId(id);
if (entrustOrderDetailListByOrderId == null || entrustOrderDetailListByOrderId.isEmpty()) {

View File

@@ -52,6 +52,7 @@ import static com.zt.plat.module.contractorder.enums.ErrorCodeConstants.CONTRACT
import static com.zt.plat.module.contractorder.enums.entrustorder.ErrorCodeConstants.ENTRUST_ORDER_NOT_EXISTS;
import static com.zt.plat.module.contractorder.enums.originalmaterialprocessing.ErrorCodeConstants.*;
import static com.zt.plat.module.contractorder.enums.purchaseorder.ErrorCodeConstants.MTRL_CODE_NOT_EXISTS;
import static com.zt.plat.module.contractorder.enums.purchaseorder.ErrorCodeConstants.ORDER_ALREADY_SUBMIT;
/**
@@ -410,6 +411,7 @@ public class OriginalMaterialProcessingServiceImplImpl implements OriginalMateri
erpOrderSaveReqVO.setItems(items);
erpOrderSaveReqVO.setItex(itexes);
}
public void submitToErp091(Long id) {
//获取订单并且判断
OriginalMaterialProcessingDO originalMaterialProcessingDO
@@ -428,6 +430,7 @@ public class OriginalMaterialProcessingServiceImplImpl implements OriginalMateri
String result = erpOrderService.submitOrderToErp091(erpSalesOrderSaveReqVO);
log.info("提交订单结果:{}", result);
}
private void build091ReqData(OriginalMaterialProcessingDO salesOrder, List<OriginalMaterialProcessingDetailDO> originalMaterialProcessingDetailDOS, ErpSalesOrderSaveReqVO erpSalesOrderSaveReqVO) {
erpSalesOrderSaveReqVO.setOrderNo(salesOrder.getSystemOrderNumber());
erpSalesOrderSaveReqVO.setPartn_es(salesOrder.getPayerNum()); // 供应商编码
@@ -475,14 +478,21 @@ public class OriginalMaterialProcessingServiceImplImpl implements OriginalMateri
//获取订单并且判断
OriginalMaterialProcessingDO originalMaterialProcessingDO
= originalMaterialProcessingMapper.selectById(id);
if (originalMaterialProcessingDO == null) {
throw exception(ORIGINAL_MATERIAL_PROCESSING_DO_NOT_EXISTS);
}
if (!originalMaterialProcessingDO.getOrderSAPNumber().isEmpty()) {
throw exception(ORDER_ALREADY_SUBMIT);
}
if (OrderTypeEnum.ENTED_PUR.getCode().equals(originalMaterialProcessingDO.getSplyBsnTp())) {
submitToErp061(id);
} else if (OrderTypeEnum.ENTED_SALE.getCode().equals(originalMaterialProcessingDO.getSplyBsnTp())) {
//销售
submitToErp091(id);
submitToErp091(id);
} else {
throw exception(ORIGINAL_MATERIAL_PROCESSING_NOT_ALLOW_CALL_ERP, originalMaterialProcessingDO.getSplyBsnTp());
}

View File

@@ -247,6 +247,9 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
if (ObjectUtils.isEmpty(purchaseOrderDO)) {
throw exception(ORDER_ID_NOT_EXISTS);
}
if (purchaseOrderDO.getOrderSAPNumber() != null){
throw exception(ORDER_ALREADY_SUBMIT);
}
if (purchaseOrderDO.getIsPush() == 0) {
throw exception(ORDER_DONT_SUBMIT);
}

View File

@@ -382,6 +382,9 @@ public class SalesOrderServiceImpl implements SalesOrderService {
if (ObjectUtils.isEmpty(salesOrderDO)) {
throw exception(ORDER_ID_NOT_EXISTS);
}
if (salesOrderDO.getOrderSAPNumber() != null && !salesOrderDO.getOrderSAPNumber().isEmpty()) {
throw exception(ORDER_ALREADY_SUBMIT);
}
if (salesOrderDO.getIsPush() == 0) {
throw exception(ORDER_DONT_SUBMIT);
}