PDA容器移位修改bug
This commit is contained in:
+46
@@ -3,6 +3,7 @@ package com.mhd.wms.domain.materialInventory.repository.po;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.mhd.common.core.annotation.Excel;
|
||||
import com.mhd.wms.domain.materialBaseInfo.repository.po.MaterialBasePO;
|
||||
import com.mhd.wms.domain.materialMoreDetail.repository.po.MaterialMoreDetailPO;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@@ -10,6 +11,7 @@ import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
@@ -103,6 +105,15 @@ public class MaterialInventoryQueryListPO extends MaterialBasePO {
|
||||
@Excel(name = "库位名称")
|
||||
private String storageLocationName;
|
||||
|
||||
@ApiModelProperty("移入库位id,供 PDA 底部表单区填写")
|
||||
private Long newStorageLocationId;
|
||||
|
||||
@ApiModelProperty("移入库位编码,供 PDA 底部表单区填写")
|
||||
private String newStorageLocationCode;
|
||||
|
||||
@ApiModelProperty("移入库位名称,供 PDA 底部表单区显示")
|
||||
private String newStorageLocationName;
|
||||
|
||||
@ApiModelProperty("批次号")
|
||||
@Excel(name = "批次号")
|
||||
private String batchNumber;
|
||||
@@ -139,6 +150,10 @@ public class MaterialInventoryQueryListPO extends MaterialBasePO {
|
||||
@Excel(name = "可用数量")
|
||||
private BigDecimal allocationQuantity;
|
||||
|
||||
@ApiModelProperty("移位数量,供 PDA 底部表单区显示,库存查询时等于可用数量")
|
||||
@Excel(name = "移位数量")
|
||||
private BigDecimal shiftQuantity;
|
||||
|
||||
@ApiModelProperty("冻结数量")
|
||||
@Excel(name = "冻结数量")
|
||||
private BigDecimal freezeQuantity;
|
||||
@@ -156,6 +171,10 @@ public class MaterialInventoryQueryListPO extends MaterialBasePO {
|
||||
@Excel(name = "单位")
|
||||
private String unit;
|
||||
|
||||
@ApiModelProperty("单位名称")
|
||||
@Excel(name = "单位名称")
|
||||
private String unitName;
|
||||
|
||||
@ApiModelProperty("净重(KG)")
|
||||
@Excel(name = "净重(KG)")
|
||||
private BigDecimal netWeight;
|
||||
@@ -222,4 +241,31 @@ public class MaterialInventoryQueryListPO extends MaterialBasePO {
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@Excel(name = "ExtAttr4", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date extAttr4;
|
||||
|
||||
@ApiModelProperty("批次属性列表,与按单移位一致")
|
||||
private List<MaterialMoreDetailPO> materialMoreDetailList;
|
||||
|
||||
@ApiModelProperty("层级深度,与移位详情一致:1-主项 2-子项")
|
||||
private Integer level;
|
||||
|
||||
@ApiModelProperty("业务唯一id,与移位详情一致")
|
||||
private Long uniqueId;
|
||||
|
||||
@ApiModelProperty("父级唯一Id,子项时使用")
|
||||
private Long parentUniqueId;
|
||||
|
||||
@ApiModelProperty("子项列表,与移位详情一致,主项下含一条 parent_copy 子项")
|
||||
private List<MaterialInventoryQueryListPO> children;
|
||||
|
||||
@ApiModelProperty("总净重(KG),PDA 表单区显示")
|
||||
private BigDecimal totalNetWeight;
|
||||
|
||||
@ApiModelProperty("总毛重(KG),PDA 表单区显示")
|
||||
private BigDecimal totalGrossWeight;
|
||||
|
||||
@ApiModelProperty("总体积(CBM),PDA 表单区显示")
|
||||
private BigDecimal totalVolume;
|
||||
|
||||
@ApiModelProperty("总面积(SQM),PDA 表单区显示")
|
||||
private BigDecimal totalArea;
|
||||
}
|
||||
+3
@@ -172,6 +172,9 @@ public class MaterialInventoryQueryListDO extends MaterialBaseDO {
|
||||
@Excel(name = "物料/库位信息")
|
||||
private String storageInfo;
|
||||
|
||||
@ApiModelProperty("容器号或批次号,输入后同时按容器号、批次号模糊匹配")
|
||||
@Excel(name = "容器号或批次号")
|
||||
private String containerOrBatch;
|
||||
|
||||
@ApiModelProperty("单位")
|
||||
@Excel(name = "单位")
|
||||
|
||||
+40
-1
@@ -22,6 +22,7 @@ import com.mhd.common.core.web.domain.AjaxResult;
|
||||
import com.mhd.common.core.utils.StringUtils;
|
||||
import com.mhd.system.api.SystemServiceFeign;
|
||||
import com.mhd.system.api.domain.BatchDetailFeignPO;
|
||||
import com.mhd.system.api.domain.StorageLocationFeignPO;
|
||||
import com.mhd.wms.domain.materialInventory.entity.MaterialInventory;
|
||||
import com.mhd.wms.domain.materialInventory.repository.facade.IMaterialInventoryService;
|
||||
import com.mhd.wms.domain.materialInventory.repository.todo.MaterialInventoryDO;
|
||||
@@ -107,6 +108,8 @@ public class ShiftManageDomainService {
|
||||
fillMaterialMoreDetailForShiftDetail(shiftMaterialDetailPO);
|
||||
// 填充 totalNetWeight 等,供 PDA 表单区(移入数量、移入库位、容器旁)显示
|
||||
fillTotalWeightVolumeArea(shiftMaterialDetailPO);
|
||||
// 填充移入库位名称,供 PDA 底部表单区显示
|
||||
fillNewStorageLocationName(shiftMaterialDetailPO);
|
||||
List<ShiftMaterialDetailPO> shiftMaterialDetailPOChildrenNowList = new ArrayList<>();
|
||||
ShiftMaterialDetailPO shiftMaterialDetailPOChildrenNow = new ShiftMaterialDetailPO();
|
||||
BeanUtils.copyProperties(shiftMaterialDetailPO, shiftMaterialDetailPOChildrenNow, "children");
|
||||
@@ -119,12 +122,14 @@ public class ShiftManageDomainService {
|
||||
// 子项副本同步批次属性
|
||||
shiftMaterialDetailPOChildrenNow.setMaterialMoreDetailList(shiftMaterialDetailPO.getMaterialMoreDetailList());
|
||||
fillTotalWeightVolumeArea(shiftMaterialDetailPOChildrenNow);
|
||||
fillNewStorageLocationName(shiftMaterialDetailPOChildrenNow);
|
||||
shiftMaterialDetailPOChildrenNowList.add(shiftMaterialDetailPOChildrenNow);
|
||||
//子集
|
||||
List<ShiftMaterialDetailPO> shiftMaterialDetailPOChildrenList = shiftMaterialDetailPO.getChildren();
|
||||
shiftMaterialDetailPOChildrenList.forEach(receiptMaterialDetailPOChildren -> {
|
||||
fillMaterialMoreDetailForShiftDetail(receiptMaterialDetailPOChildren);
|
||||
fillTotalWeightVolumeArea(receiptMaterialDetailPOChildren);
|
||||
fillNewStorageLocationName(receiptMaterialDetailPOChildren);
|
||||
List<OutMaterialDetailSerialNumberPO> materialDetailSerialNumberChildrenList = inMaterialDetailSerialNumberMap.get(shiftMaterialDetailPO.getUniqueId());
|
||||
if (!CollectionUtils.isEmpty(materialDetailSerialNumberChildrenList)){
|
||||
receiptMaterialDetailPOChildren.setMaterialDetailSerialNumberList(materialDetailSerialNumberChildrenList);
|
||||
@@ -214,6 +219,30 @@ public class ShiftManageDomainService {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 填充移入库位名称,供 PDA 底部表单区显示。当 newStorageLocationId 有值但 newStorageLocationName 为空时,从系统服务获取
|
||||
*/
|
||||
private void fillNewStorageLocationName(ShiftMaterialDetailPO shiftMaterialDetailPO) {
|
||||
if (shiftMaterialDetailPO == null || shiftMaterialDetailPO.getNewStorageLocationId() == null) {
|
||||
return;
|
||||
}
|
||||
if (StringUtils.isNotBlank(shiftMaterialDetailPO.getNewStorageLocationName())) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
AjaxResult result = systemServiceFeign.getStorageLocationInfoByStorageLocationId(shiftMaterialDetailPO.getNewStorageLocationId());
|
||||
if (result != null && "200".equals(String.valueOf(result.get("code"))) && result.get("data") != null) {
|
||||
StorageLocationFeignPO po = JSON.parseObject(JSONObject.toJSONString(result.get("data")), StorageLocationFeignPO.class);
|
||||
if (po != null) {
|
||||
shiftMaterialDetailPO.setNewStorageLocationCode(po.getStorageLocationCode());
|
||||
shiftMaterialDetailPO.setNewStorageLocationName(po.getStorageLocationName());
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.warn("获取移入库位信息失败, newStorageLocationId={}", shiftMaterialDetailPO.getNewStorageLocationId(), e);
|
||||
}
|
||||
}
|
||||
|
||||
/** 净重、毛重、体积、面积在移位上面区域不展示,从 materialMoreDetailList 中排除 */
|
||||
private static final String[] WEIGHT_VOLUME_AREA_LABELS = {
|
||||
"净重(KG)", "净重", "总净重",
|
||||
@@ -704,10 +733,20 @@ public class ShiftManageDomainService {
|
||||
ShiftMaterialDetailDO shiftMaterialDetailDO = new ShiftMaterialDetailDO();
|
||||
shiftMaterialDetailDO.setShiftNumber(shiftManagePO.getShiftNumber());
|
||||
List<ShiftMaterialDetailPO> shiftMaterialDetailPOList = shiftMaterialDetailService.queryList(shiftMaterialDetailDO);
|
||||
// 有子项时仅用子项(level=2)生成追溯,避免主项+子项重复统计;无子项时用全部
|
||||
List<ShiftMaterialDetailPO> toUseList = shiftMaterialDetailPOList.stream()
|
||||
.filter(p -> p.getLevel() != null && p.getLevel() == 2)
|
||||
.collect(Collectors.toList());
|
||||
if (toUseList.isEmpty()) {
|
||||
toUseList = shiftMaterialDetailPOList;
|
||||
}
|
||||
//生成追溯记录
|
||||
List<InventoryStandingDetailDO> inventoryStandingDetailDOList = new ArrayList<>();
|
||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||
for (ShiftMaterialDetailPO shiftMaterialDetailPO : shiftMaterialDetailPOList){
|
||||
for (ShiftMaterialDetailPO shiftMaterialDetailPO : toUseList){
|
||||
if (shiftMaterialDetailPO.getShiftQuantity() == null || shiftMaterialDetailPO.getShiftQuantity().compareTo(BigDecimal.ZERO) <= 0) {
|
||||
continue;
|
||||
}
|
||||
InventoryStandingDetailDO inventoryStandingDetailDO = new InventoryStandingDetailDO();
|
||||
inventoryStandingDetailDO.setOrganizationId(shiftManagePO.getOrganizationId());
|
||||
inventoryStandingDetailDO.setOrganizationName(shiftManagePO.getOrganizationName());
|
||||
|
||||
+101
-27
@@ -213,11 +213,11 @@ public class ShiftMaterialDetailImpl extends ServiceImpl<ShiftMaterialDetailMapp
|
||||
}
|
||||
|
||||
/**
|
||||
* @description app 容器移位
|
||||
* @description app 容器移位,参考按单移位:主项子项结构,主项为容器库存信息,子项为各移入目标明细
|
||||
* @author ZhouGY
|
||||
* @date 2024/7/30 14:24
|
||||
* @param containerShiftDOList
|
||||
* @return Boolean
|
||||
* @return List<ShiftMaterialDetailDO> 主项列表,每个主项含 children 子项
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@@ -227,40 +227,114 @@ public class ShiftMaterialDetailImpl extends ServiceImpl<ShiftMaterialDetailMapp
|
||||
List<MaterialInventoryDO> materialInventoryNowList = new ArrayList<>();
|
||||
List<ShiftMaterialDetailDO> shiftMaterialDetailDOList = new ArrayList<>();
|
||||
for (ContainerShiftDO containerShiftDO : containerShiftDOList){
|
||||
BigDecimal shiftQuantity = BigDecimal.ZERO;
|
||||
List<ShiftMoveMaterialQuantityPO> shiftMoveMaterialQuantityList = containerShiftDO.getChildren();
|
||||
if (CollectionUtils.isEmpty(shiftMoveMaterialQuantityList)){
|
||||
//没有移位 跳过
|
||||
continue;
|
||||
}
|
||||
//原库位
|
||||
// 先累加有效移位数量及用户填写的净重、毛重、体积、面积
|
||||
BigDecimal totalShiftQuantity = BigDecimal.ZERO;
|
||||
BigDecimal totalNetWeight = BigDecimal.ZERO;
|
||||
BigDecimal totalGrossWeight = BigDecimal.ZERO;
|
||||
BigDecimal totalVolume = BigDecimal.ZERO;
|
||||
BigDecimal totalArea = BigDecimal.ZERO;
|
||||
for (ShiftMoveMaterialQuantityPO c : shiftMoveMaterialQuantityList) {
|
||||
if (c.getShiftQuantity() != null && c.getShiftQuantity().compareTo(BigDecimal.ZERO) > 0) {
|
||||
totalShiftQuantity = totalShiftQuantity.add(c.getShiftQuantity());
|
||||
if (c.getNetWeight() != null) totalNetWeight = totalNetWeight.add(c.getNetWeight());
|
||||
if (c.getGrossWeight() != null) totalGrossWeight = totalGrossWeight.add(c.getGrossWeight());
|
||||
if (c.getVolume() != null) totalVolume = totalVolume.add(c.getVolume());
|
||||
if (c.getArea() != null) totalArea = totalArea.add(c.getArea());
|
||||
}
|
||||
}
|
||||
if (totalShiftQuantity.compareTo(BigDecimal.ZERO) <= 0){
|
||||
continue;
|
||||
}
|
||||
// 原库位校验
|
||||
MaterialInventory materialInventoryOldDb = materialInventoryMapper.selectById(containerShiftDO.getMaterialInventoryId());
|
||||
if (ObjectUtil.isNull(materialInventoryOldDb)){
|
||||
throw new ServiceException("原库位【" + containerShiftDO.getContainerTypeName() + "】不存在,不能进行移位");
|
||||
}
|
||||
if (materialInventoryOldDb.getInventoryQuantity().compareTo(shiftQuantity) < 0){
|
||||
if (materialInventoryOldDb.getInventoryQuantity().compareTo(totalShiftQuantity) < 0){
|
||||
throw new ServiceException("容器【" + containerShiftDO.getContainerTypeName() + "】下的物料库存不足,不能进行移位");
|
||||
}
|
||||
// 主项(参考按单移位),主项 newStorageLocationId 取第一个子项,供 insert 时 setWarehouseInfo 使用
|
||||
ShiftMoveMaterialQuantityPO firstChild = shiftMoveMaterialQuantityList.stream()
|
||||
.filter(c -> c.getShiftQuantity() != null && c.getShiftQuantity().compareTo(BigDecimal.ZERO) > 0)
|
||||
.findFirst().orElse(null);
|
||||
ShiftMaterialDetailDO parentDO = new ShiftMaterialDetailDO();
|
||||
parentDO.setMaterialInventoryId(containerShiftDO.getMaterialInventoryId());
|
||||
parentDO.setMaterialBaseInfoId(containerShiftDO.getMaterialBaseInfoId());
|
||||
parentDO.setQuantity(totalShiftQuantity);
|
||||
parentDO.setLevel(1);
|
||||
if (firstChild != null) {
|
||||
parentDO.setNewStorageLocationId(firstChild.getNewStorageLocationId());
|
||||
parentDO.setNewStorageSectionId(firstChild.getNewStorageSectionId());
|
||||
parentDO.setNewStorageCode(firstChild.getNewStorageCode());
|
||||
parentDO.setNewStorageName(firstChild.getNewStorageName());
|
||||
parentDO.setNewStorageLocationCode(firstChild.getNewStorageLocationCode());
|
||||
parentDO.setNewStorageLocationName(firstChild.getNewStorageLocationName());
|
||||
}
|
||||
List<ShiftMaterialDetailDO> children = new ArrayList<>();
|
||||
// 原库位减少,净重毛重体积面积:优先用用户填写汇总,无则按原库存比例计算
|
||||
MaterialInventoryDO materialInventoryDOOld = new MaterialInventoryDO();
|
||||
materialInventoryDOOld.setMaterialInventoryId(containerShiftDO.getMaterialInventoryId());
|
||||
materialInventoryDOOld.setInventoryQuantity(shiftQuantity);
|
||||
materialInventoryDOOld.setAllocationQuantity(shiftQuantity);
|
||||
materialInventoryDOOld.setInventoryQuantity(totalShiftQuantity);
|
||||
materialInventoryDOOld.setAllocationQuantity(totalShiftQuantity);
|
||||
if (totalNetWeight.compareTo(BigDecimal.ZERO) > 0) {
|
||||
materialInventoryDOOld.setNetWeight(totalNetWeight);
|
||||
}
|
||||
if (totalGrossWeight.compareTo(BigDecimal.ZERO) > 0) {
|
||||
materialInventoryDOOld.setGrossWeight(totalGrossWeight);
|
||||
}
|
||||
if (totalVolume.compareTo(BigDecimal.ZERO) > 0) {
|
||||
materialInventoryDOOld.setVolume(totalVolume);
|
||||
}
|
||||
if (totalArea.compareTo(BigDecimal.ZERO) > 0) {
|
||||
materialInventoryDOOld.setArea(totalArea);
|
||||
}
|
||||
if (materialInventoryDOOld.getNetWeight() == null && materialInventoryDOOld.getGrossWeight() == null
|
||||
&& materialInventoryDOOld.getVolume() == null && materialInventoryDOOld.getArea() == null) {
|
||||
BigDecimal oldQty = materialInventoryOldDb.getInventoryQuantity();
|
||||
if (oldQty != null && oldQty.compareTo(BigDecimal.ZERO) > 0) {
|
||||
BigDecimal ratio = totalShiftQuantity.divide(oldQty, 10, java.math.RoundingMode.HALF_UP);
|
||||
if (materialInventoryOldDb.getNetWeight() != null) materialInventoryDOOld.setNetWeight(materialInventoryOldDb.getNetWeight().multiply(ratio));
|
||||
if (materialInventoryOldDb.getGrossWeight() != null) materialInventoryDOOld.setGrossWeight(materialInventoryOldDb.getGrossWeight().multiply(ratio));
|
||||
if (materialInventoryOldDb.getVolume() != null) materialInventoryDOOld.setVolume(materialInventoryOldDb.getVolume().multiply(ratio));
|
||||
if (materialInventoryOldDb.getArea() != null) materialInventoryDOOld.setArea(materialInventoryOldDb.getArea().multiply(ratio));
|
||||
}
|
||||
}
|
||||
materialInventoryOldList.add(materialInventoryDOOld);
|
||||
for (ShiftMoveMaterialQuantityPO shiftMoveMaterialQuantityPO : shiftMoveMaterialQuantityList) {
|
||||
if (ObjectUtil.isNull(shiftMoveMaterialQuantityPO.getShiftQuantity()) || shiftMoveMaterialQuantityPO.getShiftQuantity().compareTo(BigDecimal.ZERO) == 0){
|
||||
//没有移位 跳过
|
||||
continue;
|
||||
}
|
||||
//新库位
|
||||
// 子项(参考按单移位)
|
||||
ShiftMaterialDetailDO childDO = new ShiftMaterialDetailDO();
|
||||
childDO.setMaterialInventoryId(null);
|
||||
childDO.setQuantity(shiftMoveMaterialQuantityPO.getShiftQuantity());
|
||||
childDO.setShiftQuantity(shiftMoveMaterialQuantityPO.getShiftQuantity());
|
||||
childDO.setNewStorageLocationId(shiftMoveMaterialQuantityPO.getNewStorageLocationId());
|
||||
childDO.setNewStorageSectionId(shiftMoveMaterialQuantityPO.getNewStorageSectionId());
|
||||
childDO.setNewStorageCode(shiftMoveMaterialQuantityPO.getNewStorageCode());
|
||||
childDO.setNewStorageName(shiftMoveMaterialQuantityPO.getNewStorageName());
|
||||
childDO.setNewStorageLocationCode(shiftMoveMaterialQuantityPO.getNewStorageLocationCode());
|
||||
childDO.setNewStorageLocationName(shiftMoveMaterialQuantityPO.getNewStorageLocationName());
|
||||
childDO.setContainerId(shiftMoveMaterialQuantityPO.getContainerId());
|
||||
childDO.setContainerCode(shiftMoveMaterialQuantityPO.getContainerCode());
|
||||
childDO.setContainerType(shiftMoveMaterialQuantityPO.getContainerType());
|
||||
childDO.setContainerTypeName(shiftMoveMaterialQuantityPO.getContainerTypeName());
|
||||
childDO.setLevel(2);
|
||||
children.add(childDO);
|
||||
// 新库位增加
|
||||
LambdaQueryWrapper<MaterialInventory> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(MaterialInventory::getWarehouseId, SystemServiceCacheUtil.getAssociationWarehouseCache(SecurityUtils.getLoginUser().getUserid()).getWarehouseId()); // 仓库
|
||||
queryWrapper.eq(MaterialInventory::getStorageSectionId, shiftMoveMaterialQuantityPO.getNewStorageSectionId()); // 库区
|
||||
queryWrapper.eq(MaterialInventory::getStorageLocationId, shiftMoveMaterialQuantityPO.getNewStorageLocationId()); // 库位
|
||||
queryWrapper.eq(MaterialInventory::getMaterialBaseInfoId, containerShiftDO.getMaterialBaseInfoId()); // 物料基础信息id
|
||||
queryWrapper.eq(MaterialInventory::getBatchNumber, containerShiftDO.getBatchNumber()); // 批次号
|
||||
queryWrapper.eq(MaterialInventory::getMaterialStatusCode, containerShiftDO.getMaterialStatusCode()); // 物料状态
|
||||
queryWrapper.eq(MaterialInventory::getWarehouseId, SystemServiceCacheUtil.getAssociationWarehouseCache(SecurityUtils.getLoginUser().getUserid()).getWarehouseId());
|
||||
queryWrapper.eq(MaterialInventory::getStorageSectionId, shiftMoveMaterialQuantityPO.getNewStorageSectionId());
|
||||
queryWrapper.eq(MaterialInventory::getStorageLocationId, shiftMoveMaterialQuantityPO.getNewStorageLocationId());
|
||||
queryWrapper.eq(MaterialInventory::getMaterialBaseInfoId, containerShiftDO.getMaterialBaseInfoId());
|
||||
queryWrapper.eq(MaterialInventory::getBatchNumber, containerShiftDO.getBatchNumber());
|
||||
queryWrapper.eq(MaterialInventory::getMaterialStatusCode, containerShiftDO.getMaterialStatusCode());
|
||||
if (!ObjectUtil.isNull(shiftMoveMaterialQuantityPO.getContainerId())){
|
||||
queryWrapper.eq(MaterialInventory::getContainerId,shiftMoveMaterialQuantityPO.getContainerId());
|
||||
queryWrapper.eq(MaterialInventory::getContainerId, shiftMoveMaterialQuantityPO.getContainerId());
|
||||
}
|
||||
MaterialInventory materialInventoryDb = materialInventoryMapper.selectOne(queryWrapper);
|
||||
if (ObjectUtil.isNull(materialInventoryDb)){
|
||||
@@ -278,6 +352,10 @@ public class ShiftMaterialDetailImpl extends ServiceImpl<ShiftMaterialDetailMapp
|
||||
materialInventoryDONow.setContainerTypeName(shiftMoveMaterialQuantityPO.getContainerTypeName());
|
||||
materialInventoryDONow.setInventoryQuantity(shiftMoveMaterialQuantityPO.getShiftQuantity());
|
||||
materialInventoryDONow.setAllocationQuantity(shiftMoveMaterialQuantityPO.getShiftQuantity());
|
||||
if (shiftMoveMaterialQuantityPO.getNetWeight() != null) materialInventoryDONow.setNetWeight(shiftMoveMaterialQuantityPO.getNetWeight());
|
||||
if (shiftMoveMaterialQuantityPO.getGrossWeight() != null) materialInventoryDONow.setGrossWeight(shiftMoveMaterialQuantityPO.getGrossWeight());
|
||||
if (shiftMoveMaterialQuantityPO.getVolume() != null) materialInventoryDONow.setVolume(shiftMoveMaterialQuantityPO.getVolume());
|
||||
if (shiftMoveMaterialQuantityPO.getArea() != null) materialInventoryDONow.setArea(shiftMoveMaterialQuantityPO.getArea());
|
||||
materialInventoryDONow.setOrganizationId(loginUser.getUserPo().getOrganizationId());
|
||||
materialInventoryDONow.setOrganizationName(loginUser.getUserPo().getOrganizationName());
|
||||
materialInventoryDONow.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId());
|
||||
@@ -290,23 +368,19 @@ public class ShiftMaterialDetailImpl extends ServiceImpl<ShiftMaterialDetailMapp
|
||||
materialInventoryDONow.setMaterialInventoryId(materialInventoryDb.getMaterialInventoryId());
|
||||
materialInventoryDONow.setInventoryQuantity(shiftMoveMaterialQuantityPO.getShiftQuantity());
|
||||
materialInventoryDONow.setAllocationQuantity(shiftMoveMaterialQuantityPO.getShiftQuantity());
|
||||
if (shiftMoveMaterialQuantityPO.getNetWeight() != null) materialInventoryDONow.setNetWeight(shiftMoveMaterialQuantityPO.getNetWeight());
|
||||
if (shiftMoveMaterialQuantityPO.getGrossWeight() != null) materialInventoryDONow.setGrossWeight(shiftMoveMaterialQuantityPO.getGrossWeight());
|
||||
if (shiftMoveMaterialQuantityPO.getVolume() != null) materialInventoryDONow.setVolume(shiftMoveMaterialQuantityPO.getVolume());
|
||||
if (shiftMoveMaterialQuantityPO.getArea() != null) materialInventoryDONow.setArea(shiftMoveMaterialQuantityPO.getArea());
|
||||
materialInventoryNowList.add(materialInventoryDONow);
|
||||
}
|
||||
shiftQuantity = shiftQuantity.add(shiftMoveMaterialQuantityPO.getShiftQuantity());
|
||||
ShiftMaterialDetailDO shiftMaterialDetailDO = new ShiftMaterialDetailDO();
|
||||
shiftMaterialDetailDO.setMaterialInventoryId(materialInventoryOldDb.getMaterialInventoryId());
|
||||
shiftMaterialDetailDO.setQuantity(shiftMoveMaterialQuantityPO.getShiftQuantity());
|
||||
shiftMaterialDetailDO.setShiftQuantity(shiftMoveMaterialQuantityPO.getShiftQuantity());
|
||||
shiftMaterialDetailDO.setNewStorageLocationId(shiftMoveMaterialQuantityPO.getNewStorageLocationId());
|
||||
shiftMaterialDetailDO.setContainerId(shiftMoveMaterialQuantityPO.getContainerId());
|
||||
shiftMaterialDetailDOList.add(shiftMaterialDetailDO);
|
||||
}
|
||||
parentDO.setChildren(children);
|
||||
shiftMaterialDetailDOList.add(parentDO);
|
||||
}
|
||||
//目标库位 需要增加的库存
|
||||
if (!CollectionUtils.isEmpty(materialInventoryNowList)){
|
||||
materialInventoryService.updateMaterialInventoryInfo(materialInventoryNowList, 1);
|
||||
}
|
||||
//原库位 需要减少的库存
|
||||
if (!CollectionUtils.isEmpty(materialInventoryOldList)){
|
||||
materialInventoryService.updateMaterialInventoryInfo(materialInventoryOldList, 2);
|
||||
}
|
||||
|
||||
+11
@@ -75,5 +75,16 @@ public class ShiftMoveMaterialQuantityPO {
|
||||
@Excel(name = "容器类型名称 数据字典")
|
||||
private String containerTypeName;
|
||||
|
||||
@ApiModelProperty("净重(KG),PDA 表单填写")
|
||||
private BigDecimal netWeight;
|
||||
|
||||
@ApiModelProperty("毛重(KG),PDA 表单填写")
|
||||
private BigDecimal grossWeight;
|
||||
|
||||
@ApiModelProperty("体积(CBM),PDA 表单填写")
|
||||
private BigDecimal volume;
|
||||
|
||||
@ApiModelProperty("面积(SQM),PDA 表单填写")
|
||||
private BigDecimal area;
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user