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

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; package com.mhd.wms.domain.materialInventory.repository.persistence;
import cn.hutool.core.util.ObjectUtil; 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.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mhd.common.core.exception.ServiceException; 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.common.security.utils.SecurityUtils;
import com.mhd.system.api.SystemServiceFeign;
import com.mhd.system.api.model.LoginUser; 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.entity.MaterialInventory;
import com.mhd.wms.domain.materialInventory.repository.facade.IMaterialInventoryService; import com.mhd.wms.domain.materialInventory.repository.facade.IMaterialInventoryService;
import com.mhd.wms.domain.materialInventory.repository.mapper.MaterialInventoryMapper; 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.facade.IMaterialBaseInfoService;
import com.mhd.wms.domain.materialBaseInfo.repository.po.MaterialBaseInfoPO; import com.mhd.wms.domain.materialBaseInfo.repository.po.MaterialBaseInfoPO;
import com.mhd.wms.domain.materialBaseInfo.repository.todo.MaterialBaseInfoDO; 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.po.ImmediateInventoryPO;
import com.mhd.wms.domain.statementStatistics.todo.ImmediateInventoryDO; import com.mhd.wms.domain.statementStatistics.todo.ImmediateInventoryDO;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
@@ -27,6 +35,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -146,6 +155,12 @@ public class MaterialInventoryImpl extends ServiceImpl<MaterialInventoryMapper,
return materialInventoryMapper.materialQueryList(materialInventoryQueryListDO); return materialInventoryMapper.materialQueryList(materialInventoryQueryListDO);
} }
@Resource
private SystemServiceFeign systemServiceFeign;
@Autowired
private IMaterialGoodsRuleService materialGoodsRuleService;
/** /**
* @description 增加物料库存信息 * @description 增加物料库存信息
* @author ZhouGY * @author ZhouGY
@@ -241,6 +256,8 @@ public class MaterialInventoryImpl extends ServiceImpl<MaterialInventoryMapper,
if (materialInventoryDO.getContainerId() != null) { if (materialInventoryDO.getContainerId() != null) {
wrapper.eq(MaterialInventory::getContainerId, materialInventoryDO.getContainerId()); wrapper.eq(MaterialInventory::getContainerId, materialInventoryDO.getContainerId());
} }
//构造物料批次信息条件
batchInformationWrapper(materialInventoryDO, wrapper);
materialInventoryDb = materialInventoryMapper.selectOne(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 减少物料库存信息 * @description 减少物料库存信息
* @author ZhouGY * @author ZhouGY