委托加工和回收率管理优化

This commit is contained in:
潘荣晟
2026-02-04 16:28:24 +08:00
parent 7ba5dc2fc3
commit 4a091f54c3
13 changed files with 499 additions and 56 deletions

View File

@@ -13,4 +13,7 @@ public class ErpConstants {
public static final String WAREHOUSE_MMSITYPE_ENT = "ENT";//委托加工 public static final String WAREHOUSE_MMSITYPE_ENT = "ENT";//委托加工
public static final String WAREHOUSE_MMSITYPE_ENTED = "ENTED";//来料加工 public static final String WAREHOUSE_MMSITYPE_ENTED = "ENTED";//来料加工
public static final String SALES_DOCUMENT_REQUEST_FLAG_U = "U";//更新
public static final String SALES_DOCUMENT_REQUEST_FLAG_D = "D";//删除
public static final String SALES_DOCUMENT_REQUEST_FLAG_I = "I";//插入
} }

View File

@@ -199,4 +199,6 @@ public class SalesOrderSaveReqVO {
@ExcelProperty("订单明细") @ExcelProperty("订单明细")
private List<SalesOrderDetailSaveReqVO> details; private List<SalesOrderDetailSaveReqVO> details;
@Schema(description = "系统订单号", requiredMode = Schema.RequiredMode.REQUIRED)
private String systemOrderNumber;
} }

View File

@@ -251,7 +251,7 @@ public class SalesOrderDO extends BusinessBaseDO {
private String mtrlTp; private String mtrlTp;
/** /**
* 订单分类 * 订单分类(字典SALE_ORD_TP)
* *
*/ */
@TableField("SPLY_BSN_TP") @TableField("SPLY_BSN_TP")

View File

@@ -1560,7 +1560,9 @@ public class ContractServiceImpl implements ContractService {
// 合同状态校验 // 合同状态校验
if (!(DictEnum.BSE_CTRT_STS_WAIT_PUSH.getCode().equals(contractMainDO.getStatus()) if (!(DictEnum.BSE_CTRT_STS_WAIT_PUSH.getCode().equals(contractMainDO.getStatus())
|| DictEnum.BSE_CTRT_STS_VOID.getCode().equals(contractMainDO.getStatus()) || DictEnum.BSE_CTRT_STS_VOID.getCode().equals(contractMainDO.getStatus())
|| DictEnum.BSE_CTRT_STS_TERMINATED.getCode().equals(contractMainDO.getStatus()))) { || DictEnum.BSE_CTRT_STS_TERMINATED.getCode().equals(contractMainDO.getStatus())
|| DictEnum.BSE_CTRT_STS_PUSH_ERROR.getCode().equals(contractMainDO.getStatus())
)) {
throw exception(CONTRACT_STATUS_NOT_SUBMIT_ERP, throw exception(CONTRACT_STATUS_NOT_SUBMIT_ERP,
DictEnum.getByCodeAndType(contractMainDO.getStatus(), DictTypeConstants.BSE_CTRT_STS).getLabel()); DictEnum.getByCodeAndType(contractMainDO.getStatus(), DictTypeConstants.BSE_CTRT_STS).getLabel());

View File

@@ -154,6 +154,7 @@ public class PrchOrdDtlServiceImpl implements PrchOrdDtlService {
@Override @Override
public List<PrchOrdDtlRespVO> batchCreatePrchOrdDtl(List<PrchOrdDtlSaveReqVO> createReqVOS) { public List<PrchOrdDtlRespVO> batchCreatePrchOrdDtl(List<PrchOrdDtlSaveReqVO> createReqVOS) {
List<PrchOrdDtlDO> prchOrdDtlDOS = BeanUtils.toBean(createReqVOS, PrchOrdDtlDO.class); List<PrchOrdDtlDO> prchOrdDtlDOS = BeanUtils.toBean(createReqVOS, PrchOrdDtlDO.class);
prchOrdDtlDOS.forEach(this::setElemInfo);
prchOrdDtlMapper.insertBatch(prchOrdDtlDOS); prchOrdDtlMapper.insertBatch(prchOrdDtlDOS);
log.info("批量创建采购订单明细成功,工插入【{}】条数据", prchOrdDtlDOS.size()); log.info("批量创建采购订单明细成功,工插入【{}】条数据", prchOrdDtlDOS.size());
return BeanUtils.toBean(prchOrdDtlDOS, PrchOrdDtlRespVO.class); return BeanUtils.toBean(prchOrdDtlDOS, PrchOrdDtlRespVO.class);
@@ -167,6 +168,7 @@ public class PrchOrdDtlServiceImpl implements PrchOrdDtlService {
if (p.getLineNum() == null) { if (p.getLineNum() == null) {
exitsLineNumber(p); exitsLineNumber(p);
} }
setElemInfo(p);
}); });
prchOrdDtlMapper.insertOrUpdate(prchOrdDtlDOS); prchOrdDtlMapper.insertOrUpdate(prchOrdDtlDOS);
log.info("批量更新采购订单明细成功,更新【{}】条数据", prchOrdDtlDOS.size()); log.info("批量更新采购订单明细成功,更新【{}】条数据", prchOrdDtlDOS.size());
@@ -207,8 +209,9 @@ public class PrchOrdDtlServiceImpl implements PrchOrdDtlService {
throw exception(PURCHASE_ORDER_DETAIL_NOT_EXISTS); throw exception(PURCHASE_ORDER_DETAIL_NOT_EXISTS);
} }
PurchaseOrderDO purchaseOrderDO = SpringUtils.getBean(PurchaseOrderMapper.class).selectById(purchaseOrderDetailsDOS.get(0).getOrdId()); PurchaseOrderDO purchaseOrderDO = SpringUtils.getBean(PurchaseOrderMapper.class).selectById(purchaseOrderDetailsDOS.get(0).getOrdId());
if (purchaseOrderDO == null) { if (purchaseOrderDO.getOrderSAPNumber()==null){
throw exception(PURCHASE_ORDER_NOT_EXISTS); log.info("该订单尚未提交erpID{}", purchaseOrderDetailsDOS.get(0).getOrdId());
return;
} }
ErpOrderUpdateReqVO erpOrderUpdateReqVO = new ErpOrderUpdateReqVO(); ErpOrderUpdateReqVO erpOrderUpdateReqVO = new ErpOrderUpdateReqVO();

View File

@@ -128,4 +128,11 @@ public interface SalesOrderService {
* *
*/ */
SalesOrderDO getSalesOrderByOrderNo(String orderNo); SalesOrderDO getSalesOrderByOrderNo(String orderNo);
/**
* 提交erp092
*
* @param orderId 销售订单更新请求erp
*
*/
// void submitErpUpdate092(String orderId);
} }

View File

@@ -128,7 +128,7 @@ public class ErpSalesOrderSaveReqVO {
private BigDecimal target_qty; // 销售数量 QUAN13,3 private BigDecimal target_qty; // 销售数量 QUAN13,3
@Schema(description = "税分类(默认从客户和物料基础数据带出,创建物料销售视图时默认值为1-13%)") @Schema(description = "税分类(默认从客户和物料基础数据带出,创建物料销售视图时默认值为1-13%)")
private String tax_class1 = "1"; // 税分类 CHAR1 private String tax_class1; // 税分类 CHAR1
@Schema(description = "项目类别") @Schema(description = "项目类别")
private String item_categ; // 项目类别 CHAR4 private String item_categ; // 项目类别 CHAR4

Some files were not shown because too many files have changed in this diff Show More