抄码商品取消分配
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 cn.hutool.core.collection.CollectionUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
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.core.conditions.update.UpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.mhd.common.core.constant.SnowFlakeConstants;
|
import com.mhd.common.core.constant.SnowFlakeConstants;
|
||||||
@@ -50,10 +51,7 @@ import org.springframework.util.CollectionUtils;
|
|||||||
import org.springframework.util.ObjectUtils;
|
import org.springframework.util.ObjectUtils;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@@ -711,6 +709,15 @@ public class OutMaterialDetailImpl extends ServiceImpl<OutMaterialDetailMapper,
|
|||||||
throw new ServiceException("物料信息不存在");
|
throw new ServiceException("物料信息不存在");
|
||||||
}
|
}
|
||||||
OutMaterialDetail outMaterialDetail = new OutMaterialDetail();
|
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.setBarCode(outMaterialDetailDb.getBarCode());
|
||||||
outMaterialDetail.setMaterialNo(outMaterialDetailDb.getMaterialNo());
|
outMaterialDetail.setMaterialNo(outMaterialDetailDb.getMaterialNo());
|
||||||
outMaterialDetail.setMaterialName(outMaterialDetailDb.getMaterialName());
|
outMaterialDetail.setMaterialName(outMaterialDetailDb.getMaterialName());
|
||||||
@@ -737,6 +744,16 @@ public class OutMaterialDetailImpl extends ServiceImpl<OutMaterialDetailMapper,
|
|||||||
throw new ServiceException("物料信息不存在");
|
throw new ServiceException("物料信息不存在");
|
||||||
}
|
}
|
||||||
OutMaterialDetail outMaterialDetailChild = new OutMaterialDetail();
|
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());
|
outMaterialDetailChild.setMaterialDetailId(outMaterialDetailDOChild.getMaterialDetailId());
|
||||||
|
|
||||||
// 子项同样视为全部取消分配:分配数量/已分配数量扣减取消数量,并清空库位/批次等信息
|
// 子项同样视为全部取消分配:分配数量/已分配数量扣减取消数量,并清空库位/批次等信息
|
||||||
@@ -832,6 +849,14 @@ public class OutMaterialDetailImpl extends ServiceImpl<OutMaterialDetailMapper,
|
|||||||
//记录收货单收货总数
|
//记录收货单收货总数
|
||||||
totalAllocationQuantity = totalAllocationQuantity.add(allocationQuantity);
|
totalAllocationQuantity = totalAllocationQuantity.add(allocationQuantity);
|
||||||
totalAlreadyAllocationQuantity = totalAlreadyAllocationQuantity.add(alreadyAllocationQuantity);
|
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.setAllocationQuantity(totalAllocationQuantity);
|
||||||
stockOutOrderPO.setAlreadyAllocationQuantity(totalAlreadyAllocationQuantity);
|
stockOutOrderPO.setAlreadyAllocationQuantity(totalAlreadyAllocationQuantity);
|
||||||
|
|||||||
+4
@@ -481,4 +481,8 @@ public class OutMaterialDetailDO extends BaseVOEntity {
|
|||||||
@ApiModelProperty("抄码总重量")
|
@ApiModelProperty("抄码总重量")
|
||||||
@Excel(name = "抄码总重量")
|
@Excel(name = "抄码总重量")
|
||||||
private BigDecimal copyTotalWeight;
|
private BigDecimal copyTotalWeight;
|
||||||
|
|
||||||
|
@ApiModelProperty("取消分配抄码id数组")
|
||||||
|
@Excel(name = "取消分配抄码id数组")
|
||||||
|
private List<Integer> copyCodeReferenceIdsCancel;
|
||||||
}
|
}
|
||||||
+4
@@ -471,4 +471,8 @@ public class OutMaterialDetailDTO extends BaseVOEntity {
|
|||||||
@Excel(name = "抄码总重量")
|
@Excel(name = "抄码总重量")
|
||||||
private BigDecimal copyTotalWeight;
|
private BigDecimal copyTotalWeight;
|
||||||
|
|
||||||
|
@ApiModelProperty("取消分配抄码id数组")
|
||||||
|
@Excel(name = "取消分配抄码id数组")
|
||||||
|
private List<Integer> copyCodeReferenceIdsCancel;
|
||||||
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user