已分配过的明细不再二次操作库存;拣货数量从累加改为覆盖;

This commit is contained in:
王奎兴
2026-02-11 15:57:53 +08:00
parent 801c9fec3d
commit 3d35fef0e8
6 changed files with 20 additions and 2 deletions
@@ -415,6 +415,11 @@ public class OutMaterialDetailImpl extends ServiceImpl<OutMaterialDetailMapper,
public synchronized void xgkc(List<OutMaterialDetail> outMaterialDetailList,String outOrderNumber,LoginUser loginUser) {
StockOutOrder stockOutOrder = stockOutOrderMapper.selectOne(new QueryWrapper<StockOutOrder>().lambda().eq(StockOutOrder::getOutOrderNumber, outOrderNumber));
for (OutMaterialDetail outMaterialDetail : outMaterialDetailList) {
BigDecimal alreadyAllocationQuantity = outMaterialDetail.getAlreadyAllocationQuantity();
// 如果已经分配数量大于0,则跳过本次循环(该明细已分配过,不再重复处理)
if (alreadyAllocationQuantity != null && alreadyAllocationQuantity.compareTo(BigDecimal.ZERO) > 0) {
continue;
}
Long materialInventoryId = outMaterialDetail.getMaterialInventoryId();
BigDecimal allocationQuantity = outMaterialDetail.getAllocationQuantity();
if (ObjectUtils.isEmpty(allocationQuantity)) {
@@ -84,6 +84,10 @@ public class PickingMaterialDetail extends BaseVOEntity {
@Excel(name = "拣货数量")
private BigDecimal pickingQuantity;
@ApiModelProperty("已拣货数量")
@Excel(name = "已拣货数量")
private BigDecimal alreadyPickingQuantity;
@ApiModelProperty("包装规格id")
@Excel(name = "包装规格id")
private Long packId;
@@ -148,7 +148,7 @@ public class PickingMaterialDetailImpl extends ServiceImpl<PickingMaterialDetail
pickingMaterialDetail.setUnitCode(pickingMaterialDetailDO.getUnitCode());
pickingMaterialDetail.setUnitName(pickingMaterialDetailDO.getUnitName());
BigDecimal actualQuantity = pickingMaterialDetailDO.getActualQuantity();
pickingMaterialDetail.setPickingQuantity(pickingMaterialDetailDb.getPickingQuantity().add(actualQuantity));
pickingMaterialDetail.setPickingQuantity(actualQuantity);
pickingMaterialDetailList.add(pickingMaterialDetail);
//判断是否开启了序列号管理
@@ -87,6 +87,10 @@ public class PickingMaterialDetailPO extends BaseVOEntity {
@Excel(name = "拣货数量")
private BigDecimal pickingQuantity;
@ApiModelProperty("已拣货数量")
@Excel(name = "已拣货数量")
private BigDecimal alreadyPickingQuantity;
@ApiModelProperty("包装规格id")
@Excel(name = "包装规格id")
private Long packId;
@@ -82,6 +82,10 @@ public class PickingMaterialDetailDO extends BaseVOEntity {
@Excel(name = "拣货数量")
private BigDecimal pickingQuantity;
@ApiModelProperty("已拣货数量")
@Excel(name = "已拣货数量")
private BigDecimal alreadyPickingQuantity;
@ApiModelProperty("包装规格id")
@Excel(name = "包装规格id")
private Long packId;
@@ -342,7 +342,8 @@ public class PickingOrderDomainService {
PickingOrder pickingOrder = new PickingOrder();
pickingOrder.setPickingOrderId(pickingOrderPODb.getPickingOrderId());
pickingOrder.setStatus(2);
pickingOrder.setPickingQuantity(pickingOrderPODb.getPickingQuantity().add(pickingOrderPO.getPickingQuantity()));
pickingOrder.setPickingQuantity(pickingOrderPO.getPickingQuantity());
//pickingOrder.setPickingQuantity(pickingOrderPODb.getPickingQuantity().add(pickingOrderPO.getPickingQuantity()));
pickingOrder.setPickingMaterialQuantity(pickingOrderPODb.getPickingMaterialQuantity() + pickingOrderPO.getPickingMaterialQuantity());
pickingOrder.setUpdateBy(loginUser.getUserid());
pickingOrder.setUpdateByName(loginUser.getUsername());