移位管理根据物料批次信息新增或合并物料

This commit is contained in:
zhou-hongcheng
2026-03-17 20:55:12 +08:00
parent ef5a1be76c
commit 3e467e3b59
@@ -1,12 +1,19 @@
package com.mhd.wms.domain.materialInventory.repository.persistence;
import cn.hutool.core.util.ObjectUtil;
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.extension.service.impl.ServiceImpl;
import com.mhd.common.core.exception.ServiceException;
import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.SystemServiceFeign;
import com.mhd.system.api.model.LoginUser;
import com.mhd.wms.domain.materialGoodsRule.repository.facade.IMaterialGoodsRuleService;
import com.mhd.wms.domain.materialGoodsRule.repository.po.BatchDetailPO;
import com.mhd.wms.domain.materialGoodsRule.repository.po.BatchPO;
import com.mhd.wms.domain.materialGoodsRule.repository.po.MaterialGoodsRulePO;
import com.mhd.wms.domain.materialInventory.entity.MaterialInventory;
import com.mhd.wms.domain.materialInventory.repository.facade.IMaterialInventoryService;
import com.mhd.wms.domain.materialInventory.repository.mapper.MaterialInventoryMapper;
@@ -18,6 +25,7 @@ import com.mhd.wms.domain.materialInventory.repository.todo.MaterialInventoryQue
import com.mhd.wms.domain.materialBaseInfo.repository.facade.IMaterialBaseInfoService;
import com.mhd.wms.domain.materialBaseInfo.repository.po.MaterialBaseInfoPO;
import com.mhd.wms.domain.materialBaseInfo.repository.todo.MaterialBaseInfoDO;
import com.mhd.wms.domain.shelfMaterialDetail.entity.ShelfMaterialDetail;
import com.mhd.wms.domain.statementStatistics.po.ImmediateInventoryPO;
import com.mhd.wms.domain.statementStatistics.todo.ImmediateInventoryDO;
import org.springframework.beans.BeanUtils;
@@ -27,6 +35,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
@@ -146,6 +155,12 @@ public class MaterialInventoryImpl extends ServiceImpl<MaterialInventoryMapper,
return materialInventoryMapper.materialQueryList(materialInventoryQueryListDO);
}
@Resource
private SystemServiceFeign systemServiceFeign;
@Autowired
private IMaterialGoodsRuleService materialGoodsRuleService;
/**
* @description 增加物料库存信息
* @author ZhouGY
@@ -241,6 +256,8 @@ public class MaterialInventoryImpl extends ServiceImpl<MaterialInventoryMapper,
if (materialInventoryDO.getContainerId() != null) {
wrapper.eq(MaterialInventory::getContainerId, materialInventoryDO.getContainerId());
}
//构造物料批次信息条件
batchInformationWrapper(materialInventoryDO, wrapper);
materialInventoryDb = materialInventoryMapper.selectOne(wrapper);
}
@@ -359,6 +376,39 @@ public class MaterialInventoryImpl extends ServiceImpl<MaterialInventoryMapper,
}
}
private static void batchInformationWrapper(MaterialInventoryDO materialInventoryDO, LambdaQueryWrapper<MaterialInventory> wrapper) {
if (materialInventoryDO.getExtAttr4() != null) {
wrapper.eq(MaterialInventory::getExtAttr4, materialInventoryDO.getExtAttr4());
}
if (materialInventoryDO.getExtAttr3() != null) {
wrapper.eq(MaterialInventory::getExtAttr3, materialInventoryDO.getExtAttr3());
}
if (materialInventoryDO.getExtAttr2() != null) {
wrapper.eq(MaterialInventory::getExtAttr2, materialInventoryDO.getExtAttr2());
}
if (materialInventoryDO.getExtAttr1() != null) {
wrapper.eq(MaterialInventory::getExtAttr1, materialInventoryDO.getExtAttr1());
}
if (materialInventoryDO.getBoxPalletNo() != null) {
wrapper.eq(MaterialInventory::getBoxPalletNo, materialInventoryDO.getBoxPalletNo());
}
if (materialInventoryDO.getSheetRefNo() != null) {
wrapper.eq(MaterialInventory::getSheetRefNo, materialInventoryDO.getSheetRefNo());
}
if (materialInventoryDO.getBatchRefNo() != null) {
wrapper.eq(MaterialInventory::getBatchRefNo, materialInventoryDO.getBatchRefNo());
}
if (materialInventoryDO.getInventoryDate() != null) {
wrapper.eq(MaterialInventory::getInventoryDate, materialInventoryDO.getInventoryDate());
}
if (materialInventoryDO.getExpiryDate() != null) {
wrapper.eq(MaterialInventory::getExpiryDate, materialInventoryDO.getExpiryDate());
}
if (materialInventoryDO.getProductionDate() != null) {
wrapper.eq(MaterialInventory::getProductionDate, materialInventoryDO.getProductionDate());
}
}
/**
* @description 减少物料库存信息
* @author ZhouGY