物料优化

This commit is contained in:
潘荣晟
2026-02-09 11:03:53 +08:00
parent d580e2878b
commit 42d152d54b
3 changed files with 39 additions and 12 deletions

View File

@@ -37,7 +37,7 @@ import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@Tag(name = "管理后台 - 委托加工订单明细") @Tag(name = "管理后台 - 委托加工订单明细")
@RestController @RestController
@RequestMapping("/bse/entrust-order-detail") @RequestMapping("/base/entrust-order-detail")
@Validated @Validated
public class EntrustOrderDetailController implements BusinessControllerMarker { public class EntrustOrderDetailController implements BusinessControllerMarker {
@@ -47,14 +47,14 @@ public class EntrustOrderDetailController implements BusinessControllerMarker {
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建委托加工订单明细") @Operation(summary = "创建委托加工订单明细")
@PreAuthorize("@ss.hasPermission('bse:entrust-order-detail:create')") @PreAuthorize("@ss.hasPermission('base:entrust-order-detail:create')")
public CommonResult<EntrustOrderDetailRespVO> createEntrustOrderDetail(@Valid @RequestBody EntrustOrderDetailSaveReqVO createReqVO) { public CommonResult<EntrustOrderDetailRespVO> createEntrustOrderDetail(@Valid @RequestBody EntrustOrderDetailSaveReqVO createReqVO) {
return success(entrustOrderDetailService.createEntrustOrderDetail(createReqVO)); return success(entrustOrderDetailService.createEntrustOrderDetail(createReqVO));
} }
@PutMapping("/update") @PutMapping("/update")
@Operation(summary = "更新委托加工订单明细") @Operation(summary = "更新委托加工订单明细")
@PreAuthorize("@ss.hasPermission('bse:entrust-order-detail:update')") @PreAuthorize("@ss.hasPermission('base:entrust-order-detail:update')")
public CommonResult<Boolean> updateEntrustOrderDetail(@Valid @RequestBody EntrustOrderDetailSaveReqVO updateReqVO) { public CommonResult<Boolean> updateEntrustOrderDetail(@Valid @RequestBody EntrustOrderDetailSaveReqVO updateReqVO) {
entrustOrderDetailService.updateEntrustOrderDetail(updateReqVO); entrustOrderDetailService.updateEntrustOrderDetail(updateReqVO);
return success(true); return success(true);
@@ -63,7 +63,7 @@ public class EntrustOrderDetailController implements BusinessControllerMarker {
@DeleteMapping("/delete") @DeleteMapping("/delete")
@Operation(summary = "删除委托加工订单明细") @Operation(summary = "删除委托加工订单明细")
@Parameter(name = "id", description = "编号", required = true) @Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('bse:entrust-order-detail:delete')") @PreAuthorize("@ss.hasPermission('base:entrust-order-detail:delete')")
public CommonResult<Boolean> deleteEntrustOrderDetail(@RequestParam("id") Long id) { public CommonResult<Boolean> deleteEntrustOrderDetail(@RequestParam("id") Long id) {
entrustOrderDetailService.deleteEntrustOrderDetail(id); entrustOrderDetailService.deleteEntrustOrderDetail(id);
return success(true); return success(true);
@@ -72,7 +72,7 @@ public class EntrustOrderDetailController implements BusinessControllerMarker {
@DeleteMapping("/delete-list") @DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true) @Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除委托加工订单明细") @Operation(summary = "批量删除委托加工订单明细")
@PreAuthorize("@ss.hasPermission('bse:entrust-order-detail:delete')") @PreAuthorize("@ss.hasPermission('base:entrust-order-detail:delete')")
public CommonResult<Boolean> deleteEntrustOrderDetailList(@RequestBody BatchDeleteReqVO req) { public CommonResult<Boolean> deleteEntrustOrderDetailList(@RequestBody BatchDeleteReqVO req) {
entrustOrderDetailService.deleteEntrustOrderDetailListByIds(req.getIds()); entrustOrderDetailService.deleteEntrustOrderDetailListByIds(req.getIds());
return success(true); return success(true);
@@ -81,7 +81,7 @@ public class EntrustOrderDetailController implements BusinessControllerMarker {
@GetMapping("/get") @GetMapping("/get")
@Operation(summary = "获得委托加工订单明细") @Operation(summary = "获得委托加工订单明细")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @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<EntrustOrderDetailRespVO> getEntrustOrderDetail(@RequestParam("id") Long id) { public CommonResult<EntrustOrderDetailRespVO> getEntrustOrderDetail(@RequestParam("id") Long id) {
EntrustOrderDetailDO entrustOrderDetail = entrustOrderDetailService.getEntrustOrderDetail(id); EntrustOrderDetailDO entrustOrderDetail = entrustOrderDetailService.getEntrustOrderDetail(id);
return success(BeanUtils.toBean(entrustOrderDetail, EntrustOrderDetailRespVO.class)); return success(BeanUtils.toBean(entrustOrderDetail, EntrustOrderDetailRespVO.class));
@@ -89,7 +89,7 @@ public class EntrustOrderDetailController implements BusinessControllerMarker {
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得委托加工订单明细分页") @Operation(summary = "获得委托加工订单明细分页")
@PreAuthorize("@ss.hasPermission('bse:entrust-order-detail:query')") @PreAuthorize("@ss.hasPermission('base:entrust-order-detail:query')")
public CommonResult<PageResult<EntrustOrderDetailRespVO>> getEntrustOrderDetailPage(@Valid EntrustOrderDetailPageReqVO pageReqVO) { public CommonResult<PageResult<EntrustOrderDetailRespVO>> getEntrustOrderDetailPage(@Valid EntrustOrderDetailPageReqVO pageReqVO) {
PageResult<EntrustOrderDetailDO> pageResult = entrustOrderDetailService.getEntrustOrderDetailPage(pageReqVO); PageResult<EntrustOrderDetailDO> pageResult = entrustOrderDetailService.getEntrustOrderDetailPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, EntrustOrderDetailRespVO.class)); return success(BeanUtils.toBean(pageResult, EntrustOrderDetailRespVO.class));
@@ -97,7 +97,7 @@ public class EntrustOrderDetailController implements BusinessControllerMarker {
@GetMapping("/export-excel") @GetMapping("/export-excel")
@Operation(summary = "导出委托加工订单明细 Excel") @Operation(summary = "导出委托加工订单明细 Excel")
@PreAuthorize("@ss.hasPermission('bse:entrust-order-detail:export')") @PreAuthorize("@ss.hasPermission('base:entrust-order-detail:export')")
@ApiAccessLog(operateType = EXPORT) @ApiAccessLog(operateType = EXPORT)
public void exportEntrustOrderDetailExcel(@Valid EntrustOrderDetailPageReqVO pageReqVO, public void exportEntrustOrderDetailExcel(@Valid EntrustOrderDetailPageReqVO pageReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {

View File

@@ -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.MaterialInfomationApi;
import com.zt.plat.module.base.api.materialinfomation.dto.MaterialInfomationPageReqDTO; 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.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.EntrustOrderDetailPageReqVO;
import com.zt.plat.module.contractorder.controller.admin.entrustorder.vo.EntrustOrderDetailRespVO; 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.controller.admin.entrustorder.vo.EntrustOrderDetailSaveReqVO;
import com.zt.plat.module.contractorder.dal.dataobject.entrustorder.EntrustOrderDetailDO; 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.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.EntrustOrderDetailMapper;
import com.zt.plat.module.contractorder.dal.mysql.entrustorder.EntrustOrderOrderMapper; 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.controller.admin.erp.vo.ErpOrderUpdateReqVO;
import com.zt.plat.module.erp.service.erp.ErpOrderService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
import java.util.*; import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.atomic.AtomicReference;
import com.zt.plat.framework.common.pojo.PageResult; 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; import com.zt.plat.framework.common.util.object.BeanUtils;
@@ -44,6 +47,9 @@ import static com.zt.plat.module.contractorder.enums.purchaseorder.ErrorCodeCons
@Slf4j @Slf4j
public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService { public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService {
@Resource
private ElementService elementService;
@Resource @Resource
private EntrustOrderDetailMapper entrustOrderDetailMapper; private EntrustOrderDetailMapper entrustOrderDetailMapper;
@@ -97,9 +103,15 @@ public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService
log.warn("提交订单明细到erp主订单为空订单明细ID{}", ids); log.warn("提交订单明细到erp主订单为空订单明细ID{}", ids);
return; return;
} }
if (entrustOrderOrderDO.getOrderSAPNumber() == null || entrustOrderOrderDO.getOrderSAPNumber().isEmpty()) {
return;
}
log.info("提交订单明细到erp主订单{}", entrustOrderOrderDO); log.info("提交订单明细到erp主订单{}", entrustOrderOrderDO);
ErpOrderUpdateReqVO erpOrderUpdateReqVO = new ErpOrderUpdateReqVO(); ErpOrderUpdateReqVO erpOrderUpdateReqVO = new ErpOrderUpdateReqVO();
buildErp062Data(erpOrderUpdateReqVO, entrustOrderOrderDO, entrustOrderDetails); 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<EntrustOrderDetailDO> entrustOrderDetailList) { private void buildErp062Data(ErpOrderUpdateReqVO erpOrderUpdateReqVO, EntrustOrderOrderDO order, List<EntrustOrderDetailDO> entrustOrderDetailList) {
erpOrderUpdateReqVO erpOrderUpdateReqVO
@@ -136,8 +148,8 @@ public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService
ErpOrderUpdateReqVO.comp comp = new ErpOrderUpdateReqVO.comp(); ErpOrderUpdateReqVO.comp comp = new ErpOrderUpdateReqVO.comp();
comp.setPo_item(Long.valueOf(detail.getLineNumber())); comp.setPo_item(Long.valueOf(detail.getLineNumber()));
comp.setSched_line(index.get()); // 计划行号 -> 计划行号(保持一致) // comp.setSched_line(index.get()); // 计划行号 -> 计划行号(保持一致)
comp.setItem_no(index.get()); // 项目编号 -> 项目编号 // comp.setItem_no(index.get()); // 项目编号 -> 项目编号
comp.setMaterial(detail.getSendMaterialNumber()); // 物料号 -> 物料号 comp.setMaterial(detail.getSendMaterialNumber()); // 物料号 -> 物料号
comp.setPlant(detail.getReceiveFactoryNumber()); // 收货工厂 -> 收货工厂 comp.setPlant(detail.getReceiveFactoryNumber()); // 收货工厂 -> 收货工厂
comp.setEntry_quantity(detail.getForecastQuantity()); // 委托加工需求数量 -> 委托加工需求数量 comp.setEntry_quantity(detail.getForecastQuantity()); // 委托加工需求数量 -> 委托加工需求数量
@@ -214,4 +226,18 @@ public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService
} }
return mtrlZhongtongCode; 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());
// }
//
// }
} }

View File

@@ -94,6 +94,7 @@ public class PrchOrdDtlServiceImpl implements PrchOrdDtlService {
validatePrchOrdDtlExists(updateReqVO.getId()); validatePrchOrdDtlExists(updateReqVO.getId());
// 更新 // 更新
PrchOrdDtlDO updateObj = BeanUtils.toBean(updateReqVO, PrchOrdDtlDO.class); PrchOrdDtlDO updateObj = BeanUtils.toBean(updateReqVO, PrchOrdDtlDO.class);
setElemInfo(updateObj);
prchOrdDtlMapper.updateById(updateObj); prchOrdDtlMapper.updateById(updateObj);
} }