diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/BstIvtPackageinfoivtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/BstIvtPackageinfoivtServiceImpl.java index 01d775aa6..c51308225 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/BstIvtPackageinfoivtServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/BstIvtPackageinfoivtServiceImpl.java @@ -91,6 +91,15 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl(page.getPage() + 1, page.getSize()), queryWrapper); } + /** + * 查询没有搬运任务的空的目标点位 + * @param ivtType 点位类型 + * @param ivtStatus 库存状态 + * @param pointCode 取货还是放货 + * @param sortType 点位排序规则1:升序2:降序 + * @param taskType 任务类型 + * @return List + */ @Override public List checkEndPointTask(String ivtType, String ivtStatus, String pointCode, String sortType, String taskType) { List packageinfoivtList = getBstIvtPackageinfoivts(ivtType, ivtStatus, sortType); @@ -132,7 +141,6 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl Stream.of( task.getPoint_code1(), task.getPoint_code2(), @@ -412,6 +420,11 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl满轴缓存位"))) { + //放满轴任务不判断终点是否有任务 + taskPointType = PackageInfoIvtEnum.TASK_POINT_TYPE.code("四个点任务放货"); } + BstIvtPackageinfoivt bstIvtPackageinfoivt = bstIvtPackageinfoivtMapper.selectOne(queryWrapper); //根据任务类型返回点位分配规则 BstIvtPackageinfoivt ivtInfo = getIvtInfoFromRegion(baseTask.getTask_type(), actionType); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqTask.java index 780ba1bf9..f9a382729 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqTask.java @@ -78,7 +78,6 @@ public class DjqTask extends AbstractAcsTask { .product_area(r.getProduct_area()) .agv_action_type(r.getVehicle_code2()) .agv_system_type(PackageInfoIvtEnum.AGV_SYSTEM_TYPE.code("1楼诺宝任务")) - .interaction_json(JSON.parseObject(r.getRequest_param())) .build(); resultList.add(dto); }); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/GzqTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/GzqTask.java index 52c6a28b7..7ea61f4e6 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/GzqTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/GzqTask.java @@ -73,7 +73,6 @@ public class GzqTask extends AbstractAcsTask { .agv_system_type(PackageInfoIvtEnum.AGV_SYSTEM_TYPE.code("1楼诺宝任务")) //.truss_type(PackageInfoIvtEnum.TRUSS_TYPE.code("点对点任务")) //.dtl_type(r.getDtl_type()) - .interaction_json(JSON.parseObject(r.getRequest_param())) .build(); resultList.add(dto); }); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/mapper/SlitterMapper.xml b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/mapper/SlitterMapper.xml index 8de13ae16..315efbd33 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/mapper/SlitterMapper.xml +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/mapper/SlitterMapper.xml @@ -27,6 +27,7 @@ FROM `bst_ivt_cutpointivt` bct WHERE bct.point_type = '3' AND bct.point_status = '3' + AND bct.product_area = 'B2' AND bct.is_used = '1' AND 0 = (SELECT COUNT(*) FROM sch_base_task t diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java index 8eca237ac..732acd994 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java @@ -445,7 +445,7 @@ public class SlitterServiceImpl implements SlitterService { public JSONObject mesSlittingMachineSendMaterial(JSONObject param) { log.info("分切机下料的输入参数为:{}", param); JSONObject res = new JSONObject(); - // todo: 获取子卷号数组 + // 获取子卷号数组 JSONArray containers = param.getJSONArray("container"); List containerList = containers.toJavaList(String.class); if (containerList.size() == 0) { @@ -955,7 +955,7 @@ public class SlitterServiceImpl implements SlitterService { try { openLock = open.tryLock(0, TimeUnit.SECONDS); } catch (InterruptedException e) { - throw new RuntimeException(e); + throw new BadRequestException("获取锁异常"); } try { if (openLock) { @@ -975,7 +975,7 @@ public class SlitterServiceImpl implements SlitterService { try { tryLock = lock.tryLock(0, TimeUnit.SECONDS); } catch (InterruptedException e) { - throw new RuntimeException(e); + throw new BadRequestException("获取锁异常"); } try { if (tryLock) { diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvdtlServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvdtlServiceImpl.java index 2bcc294ff..0ce9ddbf6 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvdtlServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvdtlServiceImpl.java @@ -305,13 +305,15 @@ public class StIvtIostorinvdtlServiceImpl extends ServiceImpl().lambda() - .set(StIvtIostorinvdtl::getBill_status, dtlDao.getBill_status()) - .eq(StIvtIostorinvdtl::getIostorinv_id, dtlDao.getIostorinv_id()) - .eq(StIvtIostorinvdtl::getBox_no, dtlDao.getBox_no()) - ); + // 更新此木箱中所有的明细状态 (如果此明细的木箱不为空) + if (ObjectUtil.isNotEmpty(dtlDao.getBox_no())) { + this.update( + new UpdateWrapper().lambda() + .set(StIvtIostorinvdtl::getBill_status, dtlDao.getBill_status()) + .eq(StIvtIostorinvdtl::getIostorinv_id, dtlDao.getIostorinv_id()) + .eq(StIvtIostorinvdtl::getBox_no, dtlDao.getBox_no()) + ); + } } /** diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/LashManageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/LashManageServiceImpl.java index aaee5bec8..7b314defd 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/LashManageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/LashManageServiceImpl.java @@ -5,7 +5,6 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.RequiredArgsConstructor; import org.hibernate.annotations.Source; @@ -69,8 +68,6 @@ public class LashManageServiceImpl implements LashManageService { */ private final TwoLashTask twoLashTask; - private final TwoOutHeapTask twoOutHeapTask; - /** * 木箱类型信息服务 */ @@ -94,8 +91,11 @@ public class LashManageServiceImpl implements LashManageService { throw new BadRequestException("没有此木箱信息:"+whereJson.getString("vehicle_code")); } - //查询该木箱的堆叠模版信息 - MdpbBoxtype boxtype = iMdpbBoxtypeService.getOne(new LambdaQueryWrapper().eq(MdpbBoxtype::getBox_type, boxDao.getMaterial_code())); + // 获取次木箱对应的木箱类型 + MdpbBoxtype boxTypeDao = iMdpbBoxtypeService.getById(boxDao.getMaterial_code()); + if (ObjectUtil.isEmpty(boxTypeDao)) { + throw new BadRequestException("木箱类型不存在!"+boxDao.getMaterial_code()); + } JSONObject jsonSub = WQLObject.getWQLObject("pdm_bi_subpackagerelation") .query("package_box_sn = '" + boxDao.getBox_no() + "'") @@ -139,7 +139,7 @@ public class LashManageServiceImpl implements LashManageService { jsonPoint.put("vehicle_qty", NumberUtil.add(jsonPoint.getBigDecimal("vehicle_qty"),1)); - if (jsonPoint.getIntValue("vehicle_qty") == Integer.parseInt(boxtype.getLash_num())) { + if (jsonPoint.getIntValue("vehicle_qty") == Integer.parseInt(boxTypeDao.getLash_num_tow())) { // 相同清空载具以及数量 jsonPoint.put("vehicle_qty",0); jsonPoint.put("vehicle_code","");