Merge remote-tracking branch 'origin/dev_WMS20260401' into dev_WMS20260401
This commit is contained in:
+29
-4
@@ -2,6 +2,7 @@ package com.mhd.wms.domain.outMaterialDetail.repository.persistence;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.mhd.common.core.constant.SnowFlakeConstants;
|
||||
@@ -50,10 +51,7 @@ import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.ObjectUtils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -711,6 +709,15 @@ public class OutMaterialDetailImpl extends ServiceImpl<OutMaterialDetailMapper,
|
||||
throw new ServiceException("物料信息不存在");
|
||||
}
|
||||
OutMaterialDetail outMaterialDetail = new OutMaterialDetail();
|
||||
if (!CollectionUtils.isEmpty(outMaterialDetailDO.getCopyCodeReferenceIdsCancel())){
|
||||
//数据库中的抄码信息
|
||||
String copyCodeReferenceIds = outMaterialDetailDb.getCopyCodeReferenceIds();
|
||||
List<Integer> copyCodeReferenceIdsCancel = outMaterialDetailDO.getCopyCodeReferenceIdsCancel();
|
||||
List<Integer> idsList = Arrays.stream(copyCodeReferenceIds.split(",")).map(Integer::parseInt).collect(Collectors.toList());
|
||||
List<Integer> collect = idsList.stream().filter(id -> !copyCodeReferenceIdsCancel.contains(id)).collect(Collectors.toList());
|
||||
String resultStr = collect.stream().map(String::valueOf).collect(Collectors.joining(","));
|
||||
outMaterialDetail.setCopyCodeReferenceIds(resultStr);
|
||||
}
|
||||
outMaterialDetail.setBarCode(outMaterialDetailDb.getBarCode());
|
||||
outMaterialDetail.setMaterialNo(outMaterialDetailDb.getMaterialNo());
|
||||
outMaterialDetail.setMaterialName(outMaterialDetailDb.getMaterialName());
|
||||
@@ -737,6 +744,16 @@ public class OutMaterialDetailImpl extends ServiceImpl<OutMaterialDetailMapper,
|
||||
throw new ServiceException("物料信息不存在");
|
||||
}
|
||||
OutMaterialDetail outMaterialDetailChild = new OutMaterialDetail();
|
||||
|
||||
//数据库中的抄码信息
|
||||
if (!CollectionUtils.isEmpty(outMaterialDetailDOChild.getCopyCodeReferenceIdsCancel())){
|
||||
String copyCodeReferenceIdsChild = outMaterialDetailChildDb.getCopyCodeReferenceIds();
|
||||
List<Integer> copyCodeReferenceIdsCancelChild = outMaterialDetailDOChild.getCopyCodeReferenceIdsCancel();
|
||||
List<Integer> idsListChild = Arrays.stream(copyCodeReferenceIdsChild.split(",")).map(Integer::parseInt).collect(Collectors.toList());
|
||||
List<Integer> collectChild = idsListChild.stream().filter(id -> !copyCodeReferenceIdsCancelChild.contains(id)).collect(Collectors.toList());
|
||||
String resultStrChild = collectChild.stream().map(String::valueOf).collect(Collectors.joining(","));
|
||||
outMaterialDetail.setCopyCodeReferenceIds(resultStrChild);
|
||||
}
|
||||
outMaterialDetailChild.setMaterialDetailId(outMaterialDetailDOChild.getMaterialDetailId());
|
||||
|
||||
// 子项同样视为全部取消分配:分配数量/已分配数量扣减取消数量,并清空库位/批次等信息
|
||||
@@ -832,6 +849,14 @@ public class OutMaterialDetailImpl extends ServiceImpl<OutMaterialDetailMapper,
|
||||
//记录收货单收货总数
|
||||
totalAllocationQuantity = totalAllocationQuantity.add(allocationQuantity);
|
||||
totalAlreadyAllocationQuantity = totalAlreadyAllocationQuantity.add(alreadyAllocationQuantity);
|
||||
|
||||
//抄码商品取消分配
|
||||
if (!CollectionUtils.isEmpty(outMaterialDetailDO.getCopyCodeReferenceIdsCancel())){
|
||||
copyCodeReferenceService.lambdaUpdate()
|
||||
.set(CopyCodeReference::getMaterialStatusCode, 1)
|
||||
.set(CopyCodeReference::getMaterialStatusName, "可用")
|
||||
.in(CopyCodeReference::getId, outMaterialDetailDO.getCopyCodeReferenceIdsCancel());
|
||||
}
|
||||
}
|
||||
stockOutOrderPO.setAllocationQuantity(totalAllocationQuantity);
|
||||
stockOutOrderPO.setAlreadyAllocationQuantity(totalAlreadyAllocationQuantity);
|
||||
|
||||
+4
@@ -481,4 +481,8 @@ public class OutMaterialDetailDO extends BaseVOEntity {
|
||||
@ApiModelProperty("抄码总重量")
|
||||
@Excel(name = "抄码总重量")
|
||||
private BigDecimal copyTotalWeight;
|
||||
|
||||
@ApiModelProperty("取消分配抄码id数组")
|
||||
@Excel(name = "取消分配抄码id数组")
|
||||
private List<Integer> copyCodeReferenceIdsCancel;
|
||||
}
|
||||
+4
@@ -471,4 +471,8 @@ public class OutMaterialDetailDTO extends BaseVOEntity {
|
||||
@Excel(name = "抄码总重量")
|
||||
private BigDecimal copyTotalWeight;
|
||||
|
||||
@ApiModelProperty("取消分配抄码id数组")
|
||||
@Excel(name = "取消分配抄码id数组")
|
||||
private List<Integer> copyCodeReferenceIdsCancel;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user