分批上架多余数据处理;

This commit is contained in:
王奎兴
2026-07-16 19:00:49 +08:00
parent 1f0703bc64
commit 2d03084f0c
@@ -3,6 +3,7 @@ package com.mhd.wms.domain.stockInOrder.service;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference; import com.alibaba.fastjson.TypeReference;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.mhd.common.core.constant.SnowFlakeConstants; import com.mhd.common.core.constant.SnowFlakeConstants;
@@ -525,6 +526,10 @@ public class StockInOrderDomainService {
.eq(ReceiptMaterialDetail::getMaterialBaseInfoId, materialBaseInfoId) .eq(ReceiptMaterialDetail::getMaterialBaseInfoId, materialBaseInfoId)
.eq(ReceiptMaterialDetail::getInUniqueId, uniqueId) .eq(ReceiptMaterialDetail::getInUniqueId, uniqueId)
.eq(ReceiptMaterialDetail::getDelFlag, 1), false); .eq(ReceiptMaterialDetail::getDelFlag, 1), false);
BigDecimal alreadyReceiptQuantity = receiptMaterialDetail.getAlreadyReceiptQuantity();
if (alreadyReceiptQuantity != null && alreadyReceiptQuantity.compareTo(collectQuantity) == 0) {
continue;
}
receiptMaterialDetail.setReceiptQuantity(collectQuantity); receiptMaterialDetail.setReceiptQuantity(collectQuantity);
receiptMaterialDetail.setAlreadyReceiptQuantity(collectQuantity); receiptMaterialDetail.setAlreadyReceiptQuantity(collectQuantity);
BigDecimal quantity = receiptMaterialDetail.getQuantity(); BigDecimal quantity = receiptMaterialDetail.getQuantity();
@@ -722,6 +727,23 @@ public class StockInOrderDomainService {
materialDetailService.updateById(inMaterialDetail); materialDetailService.updateById(inMaterialDetail);
} }
} }
StockShelfOrder stockShelfOrder = stockShelfOrderService.getOne(new QueryWrapper<StockShelfOrder>().lambda()
.eq(StockShelfOrder::getInOrderNumber, inOrderNumber)
.eq(StockShelfOrder::getDelFlag, 1), false);
if (stockShelfOrder != null) {
String shelfOrderNumber = stockShelfOrder.getShelfOrderNumber();
List<ShelfMaterialDetail> list = shelfMaterialDetailService.list(new LambdaQueryWrapper<ShelfMaterialDetail>()
.eq(ShelfMaterialDetail::getShelfOrderNumber, shelfOrderNumber)
.eq(ShelfMaterialDetail::getDelFlag, 1));
if (list!=null&&list.size() > 0) {
BigDecimal quantity = BigDecimal.ZERO;
for (ShelfMaterialDetail shelfMaterialDetail : list) {
quantity = quantity.add(shelfMaterialDetail.getAlreadyShelvesQuantity());
}
stockShelfOrder.setShelvesQuantity(quantity);
stockShelfOrderService.updateById(stockShelfOrder);
}
}
return true; return true;
} }