库存查询增加入库编号和LOT编号(前置条件为物料明细表shelf_material_detail需存入LOT编号)

This commit is contained in:
zhou-hongcheng
2026-03-30 15:04:15 +08:00
parent cc27711593
commit e604670bcf
4 changed files with 30 additions and 2 deletions
@@ -227,4 +227,13 @@ public class MaterialInventory extends BaseVOEntity {
@ApiModelProperty("条码")
@Excel(name = "条码")
private String barCode;
@ApiModelProperty("入库单号")
@Excel(name = "入库单号")
private String inOrderNumber;
@ApiModelProperty("LOT编号")
@Excel(name = "LOT编号")
private String LotNumber;
}
@@ -221,4 +221,12 @@ public class MaterialInventoryPO extends MaterialBasePO {
@ApiModelProperty("条码")
@Excel(name = "条码")
private String barCode;
@ApiModelProperty("入库单号")
@Excel(name = "入库单号")
private String inOrderNumber;
@ApiModelProperty("LOT编号")
@Excel(name = "LOT编号")
private String LotNumber;
}
@@ -325,4 +325,8 @@ public class ShelfMaterialDetail extends BaseVOEntity {
@ApiModelProperty("总面积(SQM)")
@Excel(name = "总面积(SQM)")
private BigDecimal totalArea;
@ApiModelProperty("LOT编号")
@Excel(name = "LOT编号")
private String LotNumber;
}
@@ -649,12 +649,14 @@ public class StockShelfOrderDomainService {
.collect(Collectors.toList());
}
Long shipperId = stockReceiptOrderDO.getShipperId();
MaterialInventory param = getParam(shelfMaterialDetail, fieldNames, shipperId);
MaterialInventory param = getParam(shelfMaterialDetail, fieldNames, shipperId,stockReceiptOrderDO.getInOrderNumber());
List<MaterialInventoryPO> materialInventoryPOS = materialInventoryMapper.selectListByWhere(param);
MaterialBaseInfo materialBaseInfo = materialBaseInfoMapper.selectById(materialBaseInfoId);
LoginUser loginUser = SecurityUtils.getLoginUser();
if (materialInventoryPOS.size() == 0) {
MaterialInventory materialInventory = new MaterialInventory();
materialInventory.setInOrderNumber(stockReceiptOrderDO.getInOrderNumber());
materialInventory.setLotNumber(shelfMaterialDetail.getLotNumber());
//仓库信息
materialInventory.setWarehouseId(stockReceiptOrderDO.getWarehouseId());
materialInventory.setWarehouseCode(stockReceiptOrderDO.getWarehouseCode());
@@ -802,6 +804,9 @@ public class StockShelfOrderDomainService {
inventoryAdjustmentRecordMapper.insert(inventoryAdjustmentRecord);
} else if (materialInventoryPOS.size() == 1) {
MaterialInventory materialInventory = new MaterialInventory();
materialInventory.setInOrderNumber(stockReceiptOrderDO.getInOrderNumber());
materialInventory.setLotNumber(shelfMaterialDetail.getLotNumber());
BigDecimal shelvesQuantity = shelfMaterialDetail.getShelvesQuantity();
shelvesQuantity = shelvesQuantity != null ? shelvesQuantity : BigDecimal.ZERO;
MaterialInventoryPO materialInventoryPO = materialInventoryPOS.get(0);
@@ -923,7 +928,7 @@ public class StockShelfOrderDomainService {
}
}
private MaterialInventory getParam(ShelfMaterialDetail shelfMaterialDetail, List<String> fieldNames,Long shipperId){
private MaterialInventory getParam(ShelfMaterialDetail shelfMaterialDetail, List<String> fieldNames,Long shipperId,String inOrderNumber){
MaterialInventory param = new MaterialInventory();
param.setShipperId(shipperId);
param.setWarehouseId(shelfMaterialDetail.getWarehouseId());
@@ -932,6 +937,8 @@ public class StockShelfOrderDomainService {
param.setStorageLocationId(shelfMaterialDetail.getStorageLocationId());
param.setOrganizationId(shelfMaterialDetail.getOrganizationId());
param.setBatchNumber(shelfMaterialDetail.getBatchNumber());
param.setLotNumber(shelfMaterialDetail.getLotNumber());
param.setInOrderNumber(inOrderNumber);
if (fieldNames.size() > 0) {
for (String fieldName : fieldNames) {
switch (fieldName) {