委托加工订单接口相关实现

This commit is contained in:
潘荣晟
2026-02-05 17:55:14 +08:00
parent 723daf8ee5
commit 0c6f349683
2 changed files with 20 additions and 16 deletions

View File

@@ -98,8 +98,8 @@ public interface EntrustOrderOrderService {
/**
* 提交erp062
*
* @param id 编号
* @param updateReqVO 编号
*/
void submitErpUpdate062(Long id);
void submitErpUpdate062(EntrustOrderOrderSaveReqVO updateReqVO);
}

View File

@@ -112,7 +112,6 @@ public class EntrustOrderOrderServiceImplImpl implements EntrustOrderOrderServic
validateEntrustOrderOrderExists(updateReqVO.getId());
// 更新
EntrustOrderOrderDO updateObj = BeanUtils.toBean(updateReqVO, EntrustOrderOrderDO.class);
entrustOrderOrderMapper.updateById(updateObj);
if (updateReqVO.getDetails() != null && !updateReqVO.getDetails().isEmpty()) {
//如果明细ID为空(表示新增)则设置订单ID
updateReqVO.getDetails().forEach(item -> {
@@ -120,8 +119,13 @@ public class EntrustOrderOrderServiceImplImpl implements EntrustOrderOrderServic
item.setOrderId(updateReqVO.getId());
}
});
submitErpUpdate062(updateReqVO);
}
entrustOrderOrderMapper.updateById(updateObj);
if (updateReqVO.getDetails() != null && !updateReqVO.getDetails().isEmpty()) {
entrustOrderDetailService.updateBatchSomeColumn(updateReqVO.getDetails());
}
}
@Override
@@ -316,22 +320,22 @@ public class EntrustOrderOrderServiceImplImpl implements EntrustOrderOrderServic
}
@Override
public void submitErpUpdate062(Long id) {
EntrustOrderOrderDO entrustOrderOrderDO = entrustOrderOrderMapper.selectById(id);
public void submitErpUpdate062(EntrustOrderOrderSaveReqVO updateReqVO) {
EntrustOrderOrderDO entrustOrderOrderDO = BeanUtils.toBean(updateReqVO, EntrustOrderOrderDO.class);
if (entrustOrderOrderDO == null) {
throw exception(ENTRUST_ORDER_NOT_EXISTS);
}
//获取订单明细
List<EntrustOrderDetailRespVO> entrustOrderDetailList = entrustOrderDetailService.getEntrustOrderDetailListByOrderId(id);
List<EntrustOrderDetailRespVO> entrustOrderDetailList = BeanUtils.toBean(updateReqVO.getDetails(), EntrustOrderDetailRespVO.class);
if (entrustOrderDetailList == null || entrustOrderDetailList.isEmpty()) {
throw exception(ENTRUST_ORDER_DETAIL_NOT_EXISTS);
}
log.info("提交订单到ERP【{}】,订单信息:【{}】", id, entrustOrderOrderDO);
log.info("提交订单到ERP【{}】,订单明细信息:【{}】", id, entrustOrderDetailList);
log.info("提交订单到ERP【{}】,订单信息:【{}】", updateReqVO.getId(), entrustOrderOrderDO);
log.info("提交订单到ERP【{}】,订单明细信息:【{}】", updateReqVO.getId(), entrustOrderDetailList);
ErpOrderUpdateReqVO erpOrderUpdateReqVO = new ErpOrderUpdateReqVO();
buildErp062Data(erpOrderUpdateReqVO, entrustOrderOrderDO, entrustOrderDetailList);
String result = erpOrderService.submitOrderToErp062(erpOrderUpdateReqVO);
log.info("提交订单到ERP【{}】,结果:【{}】", id, result);
log.info("提交订单到ERP【{}】,结果:【{}】", updateReqVO.getId(), result);
}
private void buildErp062Data(ErpOrderUpdateReqVO erpOrderUpdateReqVO, EntrustOrderOrderDO order, List<EntrustOrderDetailRespVO> entrustOrderDetailList) {
@@ -349,7 +353,7 @@ public class EntrustOrderOrderServiceImplImpl implements EntrustOrderOrderServic
//item
List<ErpOrderUpdateReqVO.item> items = new ArrayList<>();
List<ErpOrderUpdateReqVO.comp> comps = new ArrayList<>();
AtomicReference<Integer> index= new AtomicReference<>(0);
AtomicReference<Integer> index = new AtomicReference<>(0);
entrustOrderDetailList.forEach(detail -> {
index.getAndSet(index.get() + 1);
ErpOrderUpdateReqVO.item item = new ErpOrderUpdateReqVO.item(); // item
@@ -378,13 +382,13 @@ public class EntrustOrderOrderServiceImplImpl implements EntrustOrderOrderServic
comps.add(comp);
});
erpOrderUpdateReqVO.setItems(items);
//comp
//comp
erpOrderUpdateReqVO.setComps(comps);
}
private void buildErp061Data(ErpOrderSaveReqVO erpOrderSaveReqVO, EntrustOrderOrderDO order, List<EntrustOrderDetailRespVO> entrustOrderDetailList) {
//订单号
//订单号
erpOrderSaveReqVO.setOrderNo(order.getSystemOrderNumber());
// 1. 处理抬头信息(Head)
@@ -447,10 +451,10 @@ public class EntrustOrderOrderServiceImplImpl implements EntrustOrderOrderServic
ErpOrderSaveReqVO.Itex itex = new ErpOrderSaveReqVO.Itex();
itex.setPo_item(detail.getLineNumber() != null ? detail.getLineNumber() : null);
itex.setZmatnr(getMtrlZhongtongCode(detail.getSendMaterialNumber())); // 物料号 -> 销售物料号
// itex.setZaufnr(detail.get()); // 统计型内部订单 -> 统计型内部订单
// itex.setZpurty(detail.getPrchCtgr()); // 采购类别 -> 采购类别
// itex.setZmenge(detail.getOrigWet()); // 原料湿重 -> 原料湿重
//itex.setZmatnr(getMtrlZhongtongCode(detail.getSendMaterialNumber())); // 物料号 -> 销售物料号
//itex.setZaufnr(detail.get()); // 统计型内部订单 -> 统计型内部订单
//itex.setZpurty(detail.getPrchCtgr()); // 采购类别 -> 采购类别
//itex.setZmenge(detail.getOrigWet()); // 原料湿重 -> 原料湿重
itexes.add(itex);
// 列表-comp