Merge branch 'dev' into dev_WMS20260401

This commit is contained in:
高正杨
2026-04-09 09:39:09 +08:00
25 changed files with 750 additions and 87 deletions
@@ -155,6 +155,13 @@ public class StockInOrderDomainService {
if (stockInOrderPO == null){
throw new ServiceException("入库单信息不存在");
}
if (!CollectionUtils.isEmpty(stockInOrderDO.getMaterialDetailList())) {
stockInOrderDO.getMaterialDetailList().forEach(detail -> {
if (detail.getInboundQuantity() != null) {
detail.setQuantity(detail.getInboundQuantity());
}
});
}
//设置物料信息
setMaterialDetailInfo(stockInOrderDO);
//统计总物料种数
@@ -568,19 +575,18 @@ public class StockInOrderDomainService {
inMaterialDetailDO.setWeightLimit(packDetailFeignPO.getWeight());
inMaterialDetailDO.setVolumeLimit(packDetailFeignPO.getVolume());
//获取仓库控制信息
// 仓库控制信息:有则回填,无则不校验(允许未维护物料-仓库控制时编辑入库单)
MaterialWarehouseControlPO materialWarehouseControlPO = materialWarehouseControlService.getInfoByMaterialBaseInfoIds(materialBaseInfoPO.getMaterialBaseInfoId());
if (materialWarehouseControlPO == null){
throw new ServiceException("物料仓库控制信息不存在");
if (materialWarehouseControlPO != null) {
inMaterialDetailDO.setMaterialWarehouseControlId(materialWarehouseControlPO.getMaterialWarehouseControlId());
inMaterialDetailDO.setSerialNumberManage(materialWarehouseControlPO.getSerialNumberManage());
inMaterialDetailDO.setQualityInspectionManage(materialWarehouseControlPO.getQualityInspectionManage());
inMaterialDetailDO.setQualityInspectionStage(materialWarehouseControlPO.getQualityInspectionStage());
inMaterialDetailDO.setQualityInspectionRule(materialWarehouseControlPO.getQualityInspectionRule());
inMaterialDetailDO.setQualityInspectionTerm(materialWarehouseControlPO.getQualityInspectionTerm());
inMaterialDetailDO.setAllowOvercharge(materialWarehouseControlPO.getAllowOvercharge());
inMaterialDetailDO.setOverchargeRatio(materialWarehouseControlPO.getOverchargeRatio());
}
inMaterialDetailDO.setMaterialWarehouseControlId(materialWarehouseControlPO.getMaterialWarehouseControlId());
inMaterialDetailDO.setSerialNumberManage(materialWarehouseControlPO.getSerialNumberManage());
inMaterialDetailDO.setQualityInspectionManage(materialWarehouseControlPO.getQualityInspectionManage());
inMaterialDetailDO.setQualityInspectionStage(materialWarehouseControlPO.getQualityInspectionStage());
inMaterialDetailDO.setQualityInspectionRule(materialWarehouseControlPO.getQualityInspectionRule());
inMaterialDetailDO.setQualityInspectionTerm(materialWarehouseControlPO.getQualityInspectionTerm());
inMaterialDetailDO.setAllowOvercharge(materialWarehouseControlPO.getAllowOvercharge());
inMaterialDetailDO.setOverchargeRatio(materialWarehouseControlPO.getOverchargeRatio());
//获取商品规则信息
MaterialGoodsRulePO materialGoodsRulePO = materialGoodsRuleService.getInfoByMaterialBaseInfoIds(materialBaseInfoPO.getMaterialBaseInfoId());
@@ -170,6 +170,13 @@ public class StockReceiptOrderDO extends StockInOrderBaseDO {
@ApiModelProperty("是否来自PDA收货:true-PDA收货完成,false-PC收货完成(用于上架单是否下发:PDA=是,PC=否)")
private Boolean fromPda;
/**
* PC 收货确认:以页面提交数据为全量实绩覆盖落库(由 Application 层根据入口设置,非前端传入)
*/
@ApiModelProperty(hidden = true)
private Boolean receiptSubmitOverwriteFromPage;
@ApiModelProperty("费用")
List<ReceiptOrderAccount> receiptOrderAccountList;
}
@@ -429,12 +429,14 @@ public class StockReceiptOrderDomainService {
private void saveAmount(StockReceiptOrderDO stockReceiptOrderDO) {
Long receiptOrderId = stockReceiptOrderDO.getReceiptOrderId();
List<ReceiptOrderAccount> receiptOrderAccountList = stockReceiptOrderDO.getReceiptOrderAccountList();
for (ReceiptOrderAccount receiptOrderAccount : receiptOrderAccountList) {
receiptOrderAccount.setOrderId(receiptOrderId);
}
receiptOrderAccountService.remove(new QueryWrapper<ReceiptOrderAccount>().lambda().eq(ReceiptOrderAccount::getOrderId, receiptOrderId));
receiptOrderAccountService.saveBatch(receiptOrderAccountList);
List<ReceiptOrderAccount> receiptOrderAccountList = stockReceiptOrderDO.getReceiptOrderAccountList();
if (receiptOrderAccountList != null && !receiptOrderAccountList.isEmpty()) {
for (ReceiptOrderAccount receiptOrderAccount : receiptOrderAccountList) {
receiptOrderAccount.setOrderId(receiptOrderId);
}
receiptOrderAccountService.saveBatch(receiptOrderAccountList);
}
}
/**
@@ -694,8 +696,19 @@ public class StockReceiptOrderDomainService {
LoginUser loginUser = SecurityUtils.getLoginUser();
StockReceiptOrder stockReceiptOrder = new StockReceiptOrder();
stockReceiptOrder.setReceiptOrderId(stockReceiptOrderPO.getReceiptOrderId());
stockReceiptOrder.setReceiptQuantity(stockReceiptOrderPO.getReceiptQuantity().add(stockReceiptOrderDO.getActualQuantity()));
stockReceiptOrder.setReceiptMaterialQuantity(stockReceiptOrderPO.getReceiptMaterialQuantity() + stockReceiptOrderDO.getActualReceiptMaterialQuantity());
if (Boolean.TRUE.equals(stockReceiptOrderDO.getReceiptSubmitOverwriteFromPage())) {
BigDecimal rq = stockReceiptOrderDO.getReceiptQuantity();
stockReceiptOrder.setReceiptQuantity(rq != null ? rq : BigDecimal.ZERO);
Integer rmq = stockReceiptOrderDO.getReceiptMaterialQuantity();
stockReceiptOrder.setReceiptMaterialQuantity(rmq != null ? rmq : 0);
} else {
BigDecimal prevRq = stockReceiptOrderPO.getReceiptQuantity() != null ? stockReceiptOrderPO.getReceiptQuantity() : BigDecimal.ZERO;
BigDecimal addAq = stockReceiptOrderDO.getActualQuantity() != null ? stockReceiptOrderDO.getActualQuantity() : BigDecimal.ZERO;
stockReceiptOrder.setReceiptQuantity(prevRq.add(addAq));
int prevRmq = stockReceiptOrderPO.getReceiptMaterialQuantity() != null ? stockReceiptOrderPO.getReceiptMaterialQuantity() : 0;
int addArm = stockReceiptOrderDO.getActualReceiptMaterialQuantity() != null ? stockReceiptOrderDO.getActualReceiptMaterialQuantity() : 0;
stockReceiptOrder.setReceiptMaterialQuantity(prevRmq + addArm);
}
stockReceiptOrder.setStatus(2);
stockReceiptOrder.setUpdateBy(loginUser.getUserid());
stockReceiptOrder.setUpdateByName(loginUser.getUsername());