fix:修复轴库存爆空指针问题
This commit is contained in:
@@ -262,6 +262,16 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl<PdmBiSubpack
|
|||||||
Set<String> containerNameList = packagerelationList.stream()
|
Set<String> containerNameList = packagerelationList.stream()
|
||||||
.map(PdmBiSubpackagerelation::getContainer_name)
|
.map(PdmBiSubpackagerelation::getContainer_name)
|
||||||
.collect(Collectors.toSet());
|
.collect(Collectors.toSet());
|
||||||
|
|
||||||
|
List<BstIvtPackageinfoivt> ivtList = packageinfoivtService
|
||||||
|
.list(new QueryWrapper<BstIvtPackageinfoivt>()
|
||||||
|
.in("container_name", containerNameList));
|
||||||
|
|
||||||
|
for (BstIvtPackageinfoivt ivtPackageinfoivt : ivtList) {
|
||||||
|
if (!ivtPackageinfoivt.getIvt_status().equals(PackageInfoIvtEnum.IVT_STATUS.code("合格品"))){
|
||||||
|
throw new BadRequestException("当前子卷未质检"+ivtPackageinfoivt.getContainer_name());
|
||||||
|
}
|
||||||
|
}
|
||||||
List<PdmBiSlittingproductionplan> planList = iPdmBiSlittingproductionplanService.list(new LambdaQueryWrapper<PdmBiSlittingproductionplan>()
|
List<PdmBiSlittingproductionplan> planList = iPdmBiSlittingproductionplanService.list(new LambdaQueryWrapper<PdmBiSlittingproductionplan>()
|
||||||
.in(PdmBiSlittingproductionplan::getContainer_name, containerNameList)
|
.in(PdmBiSlittingproductionplan::getContainer_name, containerNameList)
|
||||||
.eq(PdmBiSlittingproductionplan::getIs_delete,IOSEnum.IS_NOTANDYES.code("否"))
|
.eq(PdmBiSlittingproductionplan::getIs_delete,IOSEnum.IS_NOTANDYES.code("否"))
|
||||||
@@ -710,14 +720,17 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl<PdmBiSubpack
|
|||||||
List<BstIvtPackageinfoivt> djqPoints = djqPointList.stream()
|
List<BstIvtPackageinfoivt> djqPoints = djqPointList.stream()
|
||||||
.filter(r -> containerNameList.contains(r.getContainer_name()))
|
.filter(r -> containerNameList.contains(r.getContainer_name()))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
if (CollectionUtils.isEmpty(djqPoints) || djqPoints.size()!=containerNameList.size()){
|
||||||
|
throw new BadRequestException(containerNameList+"该子卷未设置成合格品");
|
||||||
|
}
|
||||||
//任务组id
|
//任务组id
|
||||||
String groupId = deviceCode.substring(deviceCode.indexOf("_") + 1, deviceCode.indexOf("_", deviceCode.indexOf("_") + 1));
|
String groupId = deviceCode.substring(deviceCode.indexOf("_") + 1, deviceCode.indexOf("_", deviceCode.indexOf("_") + 1));
|
||||||
String now = DateUtil.now();
|
String now = DateUtil.now();
|
||||||
for (int i1 = 0; i1 < djqPoints.size(); i1++) {
|
for (int i1 = 0; i1 < djqPoints.size(); i1++) {
|
||||||
BstIvtPackageinfoivt item = djqPoints.get(i1);
|
BstIvtPackageinfoivt item = djqPoints.get(i1);
|
||||||
//校验重复任务
|
//校验重复任务
|
||||||
List<SchBaseTask> taskList = taskService.list(new LambdaQueryWrapper<SchBaseTask>().eq(SchBaseTask::getVehicle_code, item.getContainer_name()).eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("待检区->装箱区"))
|
List<SchBaseTask> taskList = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
||||||
|
.eq(SchBaseTask::getVehicle_code, item.getContainer_name()).eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("待检区->装箱区"))
|
||||||
.eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")).lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()));
|
.eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")).lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()));
|
||||||
if (CollectionUtils.isEmpty(taskList)){
|
if (CollectionUtils.isEmpty(taskList)){
|
||||||
JSONObject jo = new JSONObject();
|
JSONObject jo = new JSONObject();
|
||||||
|
|||||||
@@ -889,22 +889,19 @@ public class SlitterServiceImpl implements SlitterService {
|
|||||||
log.warn("托盘:" + vehicleCode + "第" + param.getString("row_num") + "行没数据!");
|
log.warn("托盘:" + vehicleCode + "第" + param.getString("row_num") + "行没数据!");
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
int qty = mdPbPapervehicle.getQty().intValue();
|
if (mdPbPapervehicle != null || mdPbPapervehicle.getQty().intValue() > 0) {
|
||||||
if (qty <= 0) {
|
UpdateWrapper<MdPbPapervehicle> updateWrapper = new UpdateWrapper<>();
|
||||||
throw new BadRequestException("当前物料数量为0!");
|
updateWrapper.eq("vehicle_code", vehicleCode)
|
||||||
|
.eq("row_num", param.getString("row_num"))
|
||||||
|
.setSql("qty=qty-1");
|
||||||
|
papervehicleService.update(updateWrapper);
|
||||||
|
// 检查更新后的 qty 是否为 0,然后删除相应的记录
|
||||||
|
QueryWrapper<MdPbPapervehicle> deleteWrapper = new QueryWrapper<>();
|
||||||
|
deleteWrapper.eq("vehicle_code", vehicleCode)
|
||||||
|
.eq("row_num", param.getString("row_num"))
|
||||||
|
.eq("qty", "0");
|
||||||
|
boolean remove = papervehicleService.remove(deleteWrapper);
|
||||||
}
|
}
|
||||||
UpdateWrapper<MdPbPapervehicle> updateWrapper = new UpdateWrapper<>();
|
|
||||||
updateWrapper.eq("vehicle_code", vehicleCode)
|
|
||||||
.eq("row_num", param.getString("row_num"))
|
|
||||||
.setSql("qty=qty-1");
|
|
||||||
papervehicleService.update(updateWrapper);
|
|
||||||
// 检查更新后的 qty 是否为 0,然后删除相应的记录
|
|
||||||
QueryWrapper<MdPbPapervehicle> deleteWrapper = new QueryWrapper<>();
|
|
||||||
deleteWrapper.eq("vehicle_code", vehicleCode)
|
|
||||||
.eq("row_num", param.getString("row_num"))
|
|
||||||
.eq("qty", "0");
|
|
||||||
boolean remove = papervehicleService.remove(deleteWrapper);
|
|
||||||
// todo: 如果等于0,则创建AGV任务,将托盘拉回去
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -162,9 +162,10 @@ public class OutBoxManageServiceImpl implements OutBoxManageService {
|
|||||||
|
|
||||||
}
|
}
|
||||||
JSONObject jsonBox;
|
JSONObject jsonBox;
|
||||||
if (structArray.size() == 1){
|
if (structArray.size() < 4){
|
||||||
jsonBox = structArray.getJSONObject(0);
|
jsonBox = structArray.getJSONObject(0);
|
||||||
}else {
|
}else
|
||||||
|
{
|
||||||
//大于一个的话则走查找逻辑
|
//大于一个的话则走查找逻辑
|
||||||
// 确定巷道:找相同规格木箱的最多的巷道
|
// 确定巷道:找相同规格木箱的最多的巷道
|
||||||
if (ObjectUtil.isEmpty(block_num)) {
|
if (ObjectUtil.isEmpty(block_num)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user