diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/purchaseorder/ErrorCodeConstants.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/purchaseorder/ErrorCodeConstants.java index 070098ff..ffb28135 100644 --- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/purchaseorder/ErrorCodeConstants.java +++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/purchaseorder/ErrorCodeConstants.java @@ -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"); } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/originalmaterialprocessing/OriginalMaterialProcessingController.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/originalmaterialprocessing/OriginalMaterialProcessingController.java index 6476f8ec..5ab6b62d 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/originalmaterialprocessing/OriginalMaterialProcessingController.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/originalmaterialprocessing/OriginalMaterialProcessingController.java @@ -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 submitToErp061(@RequestParam("id") Long id) { - originalMaterialProcessingService.submitToErp061(id); + originalMaterialProcessingService.submitToErp(id); return success(true); } } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/entrustorder/EntrustOrderOrderServiceImplImpl.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/entrustorder/EntrustOrderOrderServiceImplImpl.java index 079dc317..e1639c8e 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/entrustorder/EntrustOrderOrderServiceImplImpl.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/entrustorder/EntrustOrderOrderServiceImplImpl.java @@ -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 entrustOrderDetailListByOrderId = entrustOrderDetailService.getEntrustOrderDetailListByOrderId(id); if (entrustOrderDetailListByOrderId == null || entrustOrderDetailListByOrderId.isEmpty()) { diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/originalmaterialprocessing/OriginalMaterialProcessingServiceImplImpl.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/originalmaterialprocessing/OriginalMaterialProcessingServiceImplImpl.java index 690f8000..e9bf7fdc 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/originalmaterialprocessing/OriginalMaterialProcessingServiceImplImpl.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/originalmaterialprocessing/OriginalMaterialProcessingServiceImplImpl.java @@ -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 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()); } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PurchaseOrderServiceImpl.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PurchaseOrderServiceImpl.java index 5a5ebbe9..5d24234c 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PurchaseOrderServiceImpl.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PurchaseOrderServiceImpl.java @@ -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); } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/salesorder/SalesOrderServiceImpl.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/salesorder/SalesOrderServiceImpl.java index 9449a454..1c54dca8 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/salesorder/SalesOrderServiceImpl.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/salesorder/SalesOrderServiceImpl.java @@ -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); }