From 42d152d54befde816a161e141b085dc533c74a35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BD=98=E8=8D=A3=E6=99=9F?= <9691125+pan-rongsheng@user.noreply.gitee.com> Date: Mon, 9 Feb 2026 11:03:53 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E6=96=99=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EntrustOrderDetailController.java | 16 ++++----- .../EntrustOrderDetailServiceImpl.java | 34 ++++++++++++++++--- .../purchaseorder/PrchOrdDtlServiceImpl.java | 1 + 3 files changed, 39 insertions(+), 12 deletions(-) diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/entrustorder/EntrustOrderDetailController.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/entrustorder/EntrustOrderDetailController.java index 54dd7fe9..a88e8de5 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/entrustorder/EntrustOrderDetailController.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/entrustorder/EntrustOrderDetailController.java @@ -37,7 +37,7 @@ import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*; @Tag(name = "管理后台 - 委托加工订单明细") @RestController -@RequestMapping("/bse/entrust-order-detail") +@RequestMapping("/base/entrust-order-detail") @Validated public class EntrustOrderDetailController implements BusinessControllerMarker { @@ -47,14 +47,14 @@ public class EntrustOrderDetailController implements BusinessControllerMarker { @PostMapping("/create") @Operation(summary = "创建委托加工订单明细") - @PreAuthorize("@ss.hasPermission('bse:entrust-order-detail:create')") + @PreAuthorize("@ss.hasPermission('base:entrust-order-detail:create')") public CommonResult createEntrustOrderDetail(@Valid @RequestBody EntrustOrderDetailSaveReqVO createReqVO) { return success(entrustOrderDetailService.createEntrustOrderDetail(createReqVO)); } @PutMapping("/update") @Operation(summary = "更新委托加工订单明细") - @PreAuthorize("@ss.hasPermission('bse:entrust-order-detail:update')") + @PreAuthorize("@ss.hasPermission('base:entrust-order-detail:update')") public CommonResult updateEntrustOrderDetail(@Valid @RequestBody EntrustOrderDetailSaveReqVO updateReqVO) { entrustOrderDetailService.updateEntrustOrderDetail(updateReqVO); return success(true); @@ -63,7 +63,7 @@ public class EntrustOrderDetailController implements BusinessControllerMarker { @DeleteMapping("/delete") @Operation(summary = "删除委托加工订单明细") @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('bse:entrust-order-detail:delete')") + @PreAuthorize("@ss.hasPermission('base:entrust-order-detail:delete')") public CommonResult deleteEntrustOrderDetail(@RequestParam("id") Long id) { entrustOrderDetailService.deleteEntrustOrderDetail(id); return success(true); @@ -72,7 +72,7 @@ public class EntrustOrderDetailController implements BusinessControllerMarker { @DeleteMapping("/delete-list") @Parameter(name = "ids", description = "编号", required = true) @Operation(summary = "批量删除委托加工订单明细") - @PreAuthorize("@ss.hasPermission('bse:entrust-order-detail:delete')") + @PreAuthorize("@ss.hasPermission('base:entrust-order-detail:delete')") public CommonResult deleteEntrustOrderDetailList(@RequestBody BatchDeleteReqVO req) { entrustOrderDetailService.deleteEntrustOrderDetailListByIds(req.getIds()); return success(true); @@ -81,7 +81,7 @@ public class EntrustOrderDetailController implements BusinessControllerMarker { @GetMapping("/get") @Operation(summary = "获得委托加工订单明细") @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('bse:entrust-order-detail:query')") + @PreAuthorize("@ss.hasPermission('base:entrust-order-detail:query')") public CommonResult getEntrustOrderDetail(@RequestParam("id") Long id) { EntrustOrderDetailDO entrustOrderDetail = entrustOrderDetailService.getEntrustOrderDetail(id); return success(BeanUtils.toBean(entrustOrderDetail, EntrustOrderDetailRespVO.class)); @@ -89,7 +89,7 @@ public class EntrustOrderDetailController implements BusinessControllerMarker { @GetMapping("/page") @Operation(summary = "获得委托加工订单明细分页") - @PreAuthorize("@ss.hasPermission('bse:entrust-order-detail:query')") + @PreAuthorize("@ss.hasPermission('base:entrust-order-detail:query')") public CommonResult> getEntrustOrderDetailPage(@Valid EntrustOrderDetailPageReqVO pageReqVO) { PageResult pageResult = entrustOrderDetailService.getEntrustOrderDetailPage(pageReqVO); return success(BeanUtils.toBean(pageResult, EntrustOrderDetailRespVO.class)); @@ -97,7 +97,7 @@ public class EntrustOrderDetailController implements BusinessControllerMarker { @GetMapping("/export-excel") @Operation(summary = "导出委托加工订单明细 Excel") - @PreAuthorize("@ss.hasPermission('bse:entrust-order-detail:export')") + @PreAuthorize("@ss.hasPermission('base:entrust-order-detail:export')") @ApiAccessLog(operateType = EXPORT) public void exportEntrustOrderDetailExcel(@Valid EntrustOrderDetailPageReqVO pageReqVO, HttpServletResponse response) throws IOException { diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/entrustorder/EntrustOrderDetailServiceImpl.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/entrustorder/EntrustOrderDetailServiceImpl.java index 44308b37..aedfccf3 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/entrustorder/EntrustOrderDetailServiceImpl.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/entrustorder/EntrustOrderDetailServiceImpl.java @@ -6,25 +6,28 @@ import com.zt.plat.framework.common.util.spring.SpringUtils; import com.zt.plat.module.base.api.materialinfomation.MaterialInfomationApi; import com.zt.plat.module.base.api.materialinfomation.dto.MaterialInfomationPageReqDTO; import com.zt.plat.module.base.api.materialinfomation.dto.MaterialInfomationRespDTO; +import com.zt.plat.module.base.dal.dataobject.base.ElementDO; +import com.zt.plat.module.base.service.base.ElementService; import com.zt.plat.module.contractorder.controller.admin.entrustorder.vo.EntrustOrderDetailPageReqVO; import com.zt.plat.module.contractorder.controller.admin.entrustorder.vo.EntrustOrderDetailRespVO; import com.zt.plat.module.contractorder.controller.admin.entrustorder.vo.EntrustOrderDetailSaveReqVO; import com.zt.plat.module.contractorder.dal.dataobject.entrustorder.EntrustOrderDetailDO; import com.zt.plat.module.contractorder.dal.dataobject.entrustorder.EntrustOrderOrderDO; +import com.zt.plat.module.contractorder.dal.dataobject.purchaseorder.PrchOrdDtlDO; import com.zt.plat.module.contractorder.dal.mysql.entrustorder.EntrustOrderDetailMapper; import com.zt.plat.module.contractorder.dal.mysql.entrustorder.EntrustOrderOrderMapper; import com.zt.plat.module.erp.controller.admin.erp.vo.ErpOrderUpdateReqVO; +import com.zt.plat.module.erp.service.erp.ErpOrderService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicReference; import com.zt.plat.framework.common.pojo.PageResult; -import com.zt.plat.framework.common.pojo.PageParam; import com.zt.plat.framework.common.util.object.BeanUtils; @@ -44,6 +47,9 @@ import static com.zt.plat.module.contractorder.enums.purchaseorder.ErrorCodeCons @Slf4j public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService { + @Resource + private ElementService elementService; + @Resource private EntrustOrderDetailMapper entrustOrderDetailMapper; @@ -97,9 +103,15 @@ public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService log.warn("提交订单明细到erp,主订单为空,订单明细ID:{}", ids); return; } + if (entrustOrderOrderDO.getOrderSAPNumber() == null || entrustOrderOrderDO.getOrderSAPNumber().isEmpty()) { + return; + } log.info("提交订单明细到erp,主订单:{}", entrustOrderOrderDO); ErpOrderUpdateReqVO erpOrderUpdateReqVO = new ErpOrderUpdateReqVO(); buildErp062Data(erpOrderUpdateReqVO, entrustOrderOrderDO, entrustOrderDetails); + log.info("提交订单明细到erp,数据:{}", erpOrderUpdateReqVO); + String result = SpringUtils.getBean(ErpOrderService.class).submitOrderToErp062(erpOrderUpdateReqVO); + log.info("提交订单明细到erp,结果:{}", result); } private void buildErp062Data(ErpOrderUpdateReqVO erpOrderUpdateReqVO, EntrustOrderOrderDO order, List entrustOrderDetailList) { erpOrderUpdateReqVO @@ -136,8 +148,8 @@ public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService ErpOrderUpdateReqVO.comp comp = new ErpOrderUpdateReqVO.comp(); comp.setPo_item(Long.valueOf(detail.getLineNumber())); - comp.setSched_line(index.get()); // 计划行号 -> 计划行号(保持一致) - comp.setItem_no(index.get()); // 项目编号 -> 项目编号 +// comp.setSched_line(index.get()); // 计划行号 -> 计划行号(保持一致) +// comp.setItem_no(index.get()); // 项目编号 -> 项目编号 comp.setMaterial(detail.getSendMaterialNumber()); // 物料号 -> 物料号 comp.setPlant(detail.getReceiveFactoryNumber()); // 收货工厂 -> 收货工厂 comp.setEntry_quantity(detail.getForecastQuantity()); // 委托加工需求数量 -> 委托加工需求数量 @@ -214,4 +226,18 @@ public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService } return mtrlZhongtongCode; } + +// private void setElemInfo(EntrustOrderDetailDO entrustOrderDetailDO) { +// if (entrustOrderDetailDO.getElemAbbr() == null) { +// return; +// } +// ElementDO elementBySymbol = elementService.getElementBySymbol(entrustOrderDetailDO.getElemAbbr()); +// if (elementBySymbol != null) { +// entrustOrderDetailDO.setElemName(elementBySymbol.getName()); +// entrustOrderDetailDO.setElemCdg(elementBySymbol.getCoding()); +// } else { +// log.warn("元素【{}】不存在,订单ID【{}】", entrustOrderDetailDO.getElemAbbr(), entrustOrderDetailDO.getOrdId()); +// } +// +// } } \ No newline at end of file diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PrchOrdDtlServiceImpl.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PrchOrdDtlServiceImpl.java index cadaa2ef..634b5bfb 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PrchOrdDtlServiceImpl.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PrchOrdDtlServiceImpl.java @@ -94,6 +94,7 @@ public class PrchOrdDtlServiceImpl implements PrchOrdDtlService { validatePrchOrdDtlExists(updateReqVO.getId()); // 更新 PrchOrdDtlDO updateObj = BeanUtils.toBean(updateReqVO, PrchOrdDtlDO.class); + setElemInfo(updateObj); prchOrdDtlMapper.updateById(updateObj); }