fix:修复轴库存爆空指针问题
This commit is contained in:
@@ -262,6 +262,16 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl<PdmBiSubpack
|
||||
Set<String> containerNameList = packagerelationList.stream()
|
||||
.map(PdmBiSubpackagerelation::getContainer_name)
|
||||
.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>()
|
||||
.in(PdmBiSlittingproductionplan::getContainer_name, containerNameList)
|
||||
.eq(PdmBiSlittingproductionplan::getIs_delete,IOSEnum.IS_NOTANDYES.code("否"))
|
||||
@@ -710,14 +720,17 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl<PdmBiSubpack
|
||||
List<BstIvtPackageinfoivt> djqPoints = djqPointList.stream()
|
||||
.filter(r -> containerNameList.contains(r.getContainer_name()))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
if (CollectionUtils.isEmpty(djqPoints) || djqPoints.size()!=containerNameList.size()){
|
||||
throw new BadRequestException(containerNameList+"该子卷未设置成合格品");
|
||||
}
|
||||
//任务组id
|
||||
String groupId = deviceCode.substring(deviceCode.indexOf("_") + 1, deviceCode.indexOf("_", deviceCode.indexOf("_") + 1));
|
||||
String now = DateUtil.now();
|
||||
for (int i1 = 0; i1 < djqPoints.size(); 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()));
|
||||
if (CollectionUtils.isEmpty(taskList)){
|
||||
JSONObject jo = new JSONObject();
|
||||
|
||||
@@ -889,22 +889,19 @@ public class SlitterServiceImpl implements SlitterService {
|
||||
log.warn("托盘:" + vehicleCode + "第" + param.getString("row_num") + "行没数据!");
|
||||
return res;
|
||||
}
|
||||
int qty = mdPbPapervehicle.getQty().intValue();
|
||||
if (qty <= 0) {
|
||||
throw new BadRequestException("当前物料数量为0!");
|
||||
if (mdPbPapervehicle != null || mdPbPapervehicle.getQty().intValue() > 0) {
|
||||
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);
|
||||
}
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
@@ -162,9 +162,10 @@ public class OutBoxManageServiceImpl implements OutBoxManageService {
|
||||
|
||||
}
|
||||
JSONObject jsonBox;
|
||||
if (structArray.size() == 1){
|
||||
if (structArray.size() < 4){
|
||||
jsonBox = structArray.getJSONObject(0);
|
||||
}else {
|
||||
}else
|
||||
{
|
||||
//大于一个的话则走查找逻辑
|
||||
// 确定巷道:找相同规格木箱的最多的巷道
|
||||
if (ObjectUtil.isEmpty(block_num)) {
|
||||
|
||||
Reference in New Issue
Block a user