库存分配和出库生成调整记录没有lot编码解决

This commit is contained in:
秦鸿展
2026-04-22 13:55:50 +08:00
parent 93dfd9c97e
commit 51ec8e7fe0
2 changed files with 20 additions and 6 deletions
@@ -584,9 +584,23 @@ public class MaterialInventoryImpl extends ServiceImpl<MaterialInventoryMapper,
inventoryAdjustmentRecord.setAdjustBeforeStatusName(materialInventory.getMaterialStatusName() == null ? "" : materialInventory.getMaterialStatusName()); inventoryAdjustmentRecord.setAdjustBeforeStatusName(materialInventory.getMaterialStatusName() == null ? "" : materialInventory.getMaterialStatusName());
inventoryAdjustmentRecord.setMaterialBaseInfoId(materialInventory.getMaterialBaseInfoId()); inventoryAdjustmentRecord.setMaterialBaseInfoId(materialInventory.getMaterialBaseInfoId());
inventoryAdjustmentRecord.setLotNumber(materialInventoryParamDO.getLotNumber()); // 分配/取消分配/完成交接(出库):调整记录 LOT 以库存行 material_inventory.lot_number 为准;仅库存为空时再用入参兜底
inventoryAdjustmentRecord.setInOrderNumber(materialInventoryParamDO.getInOrderNumber()); // 其它业务(入上架、移库等):入参优先,入参无则取库存
inventoryAdjustmentRecord.setBatchNumber(materialInventoryParamDO.getBatchNumber()); String lotForRecord;
if ("分配库存".equals(adjustAction) || "取消分配".equals(adjustAction) || "出库".equals(adjustAction)) {
lotForRecord = StringUtils.hasText(materialInventory.getLotNumber())
? materialInventory.getLotNumber() : materialInventoryParamDO.getLotNumber();
} else {
lotForRecord = StringUtils.hasText(materialInventoryParamDO.getLotNumber())
? materialInventoryParamDO.getLotNumber() : materialInventory.getLotNumber();
}
inventoryAdjustmentRecord.setLotNumber(lotForRecord);
String inOrderForRecord = StringUtils.hasText(materialInventoryParamDO.getInOrderNumber())
? materialInventoryParamDO.getInOrderNumber() : materialInventory.getInOrderNumber();
inventoryAdjustmentRecord.setInOrderNumber(inOrderForRecord);
String batchForRecord = StringUtils.hasText(materialInventoryParamDO.getBatchNumber())
? materialInventoryParamDO.getBatchNumber() : materialInventory.getBatchNumber();
inventoryAdjustmentRecord.setBatchNumber(batchForRecord);
if (ObjectUtil.isNotNull(materialBaseInfo)) { if (ObjectUtil.isNotNull(materialBaseInfo)) {
inventoryAdjustmentRecord.setMaterialCode(materialBaseInfo.getMaterialCode()); inventoryAdjustmentRecord.setMaterialCode(materialBaseInfo.getMaterialCode());
inventoryAdjustmentRecord.setMaterialName(materialBaseInfo.getMaterialName()); inventoryAdjustmentRecord.setMaterialName(materialBaseInfo.getMaterialName());
@@ -24,9 +24,9 @@ public interface StockShelfOrderMapper extends BaseMapper<StockShelfOrder>
public void updateOmsOrder(@Param("orderNumber") String orderNumber, @Param("status") Integer status, @Param("shelvesQuantity") Integer shelvesQuantity); public void updateOmsOrder(@Param("orderNumber") String orderNumber, @Param("status") Integer status, @Param("shelvesQuantity") Integer shelvesQuantity);
void updateOmsDocument(BigDecimal shelvesQuantity, BigDecimal totalNetWeight, String omsInMaterialDetail); void updateOmsDocument(@Param("shelvesQuantity") BigDecimal shelvesQuantity, @Param("totalNetWeight") BigDecimal totalNetWeight, @Param("omsInMaterialDetail") String omsInMaterialDetail);
void updateOmsHandover(BigDecimal checkQuantity, BigDecimal totalNetWeight, String outOrderNumber, Long uniqueId); void updateOmsHandover(@Param("checkQuantity") BigDecimal checkQuantity, @Param("totalNetWeight") BigDecimal totalNetWeight, @Param("outOrderNumber") String outOrderNumber, @Param("uniqueId") Long uniqueId);
void updateOmsDocumentLot(BigDecimal shelvesQuantity, BigDecimal totalNetWeight, String lotNumber); void updateOmsDocumentLot(@Param("shelvesQuantity") BigDecimal shelvesQuantity, @Param("totalNetWeight") BigDecimal totalNetWeight, @Param("lotNumber") String lotNumber);
} }