拣货报错
This commit is contained in:
+21
-8
@@ -167,19 +167,20 @@ public class PickingMaterialDetailImpl extends ServiceImpl<PickingMaterialDetail
|
||||
throw new ServiceException("物料信息不存在");
|
||||
}
|
||||
PickingMaterialDetail pickingMaterialDetail = new PickingMaterialDetail();
|
||||
if (!pickingMaterialDetailDO.getCopyCodeReferenceIds().equals(pickingMaterialDetailDb.getCopyCodeReferenceIds())){
|
||||
if (!Objects.equals(pickingMaterialDetailDO.getCopyCodeReferenceIds(), pickingMaterialDetailDb.getCopyCodeReferenceIds())) {
|
||||
pickingMaterialDetail.setCopyCodeReferenceIds(pickingMaterialDetailDO.getCopyCodeReferenceIds());
|
||||
//数据库中的
|
||||
List<Integer> copDO = Arrays.stream(pickingMaterialDetailDb.getCopyCodeReferenceIds().split(","))
|
||||
.map(Integer::parseInt).collect(Collectors.toList());
|
||||
//用户取消后的
|
||||
List<Integer> cop = Arrays.stream(pickingMaterialDetailDO.getCopyCodeReferenceIds().split(","))
|
||||
.map(Integer::parseInt).collect(Collectors.toList());
|
||||
// 数据库中的 id 列表
|
||||
List<Integer> copDO = splitCopyCodeReferenceIdsToInts(pickingMaterialDetailDb.getCopyCodeReferenceIds());
|
||||
// 请求中仍保留的 id(用户取消抄码 = 从列表中移除)
|
||||
List<Integer> cop = splitCopyCodeReferenceIdsToInts(pickingMaterialDetailDO.getCopyCodeReferenceIds());
|
||||
List<Integer> collect = copDO.stream().filter(id -> !cop.contains(id)).collect(Collectors.toList());
|
||||
if (!collect.isEmpty()) {
|
||||
copyCodeReferenceService.lambdaUpdate()
|
||||
.set(CopyCodeReference::getMaterialStatusCode, 1)
|
||||
.set(CopyCodeReference::getMaterialStatusName, "可用")
|
||||
.in(CopyCodeReference::getId, collect);
|
||||
.in(CopyCodeReference::getId, collect)
|
||||
.update();
|
||||
}
|
||||
}
|
||||
pickingMaterialDetail.setMaterialDetailId(pickingMaterialDetailDO.getMaterialDetailId());
|
||||
pickingMaterialDetail.setUpdateBy(loginUser.getUserid());
|
||||
@@ -224,6 +225,18 @@ public class PickingMaterialDetailImpl extends ServiceImpl<PickingMaterialDetail
|
||||
return pickingOrderPO;
|
||||
}
|
||||
|
||||
/** 逗号分隔抄码 id 字符串解析为整数列表;null/空串返回空列表 */
|
||||
private static List<Integer> splitCopyCodeReferenceIdsToInts(String csv) {
|
||||
if (csv == null || csv.trim().isEmpty()) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
return Arrays.stream(csv.split(","))
|
||||
.map(String::trim)
|
||||
.filter(s -> !s.isEmpty())
|
||||
.map(Integer::parseInt)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 生成流水号
|
||||
* @author ZhouGY
|
||||
|
||||
Reference in New Issue
Block a user