diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoInBoxTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoInBoxTask.java index d59ba8276..dfcf89558 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoInBoxTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoInBoxTask.java @@ -117,7 +117,7 @@ public class TwoInBoxTask extends AbstractAcsTask { jsonVeExt.put("update_time", DateUtil.now()); veExtTab.insert(jsonVeExt); }else { - ext_jo.put("pcsn", jsonTask.getString("vehicle_code2")); + ext_jo.put("pcsn", jsonTask.getString("vehicle_code")); ext_jo.put("device_uuid", org.nl.common.utils.IdUtil.getLongId()); ext_jo.put("update_time", DateUtil.now()); veExtTab.update(ext_jo); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoMoveBoxTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoMoveBoxTask.java index 809c20814..02f3e2e58 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoMoveBoxTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoMoveBoxTask.java @@ -49,7 +49,7 @@ public class TwoMoveBoxTask extends AbstractAcsTask { .start_device_code(json.getString("point_code1")) .next_device_code(json.getString("point_code2")) .route_plan_code(getRoutePlanCode(json.getString("point_code2"))) - .vehicle_code(json.getString("vehicle_code")) + .vehicle_code(json.getString("vehicle_code2")) .priority(json.getString("priority")) .class_type(json.getString("task_type")) .dtl_type(String.valueOf(dtl_type)) @@ -163,6 +163,7 @@ public class TwoMoveBoxTask extends AbstractAcsTask { json.put("task_code", IdUtil.getSnowflake(1, 1).nextId()); json.put("task_type", form.getString("task_type")); json.put("vehicle_code", form.getString("vehicle_code")); + json.put("vehicle_code2", form.getString("vehicle_code2")); json.put("task_status", TaskStatusEnum.START_AND_POINT.getCode()); json.put("task_group_id", form.getLongValue("task_group_id")); json.put("point_code1", form.getString("start_device_code")); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutBoxTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutBoxTask.java index 8b38d44e3..a81ea3ace 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutBoxTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutBoxTask.java @@ -64,7 +64,7 @@ public class TwoOutBoxTask extends AbstractAcsTask { .task_type(json.getString("acs_task_type")) .start_device_code(json.getString("point_code1")) .next_device_code(json.getString("point_code2")) - .vehicle_code(json.getString("vehicle_code")) + .vehicle_code(json.getString("vehicle_code2")) .interaction_json(json.getJSONObject("request_param")) .priority(json.getString("priority")) .class_type(json.getString("task_type")) @@ -176,6 +176,7 @@ public class TwoOutBoxTask extends AbstractAcsTask { json.put("task_code", IdUtil.getSnowflake(1, 1).nextId()); json.put("task_type", form.getString("task_type")); json.put("vehicle_code", form.getString("vehicle_code")); + json.put("vehicle_code2", form.getString("vehicle_code2")); json.put("vehicle_type", form.getString("vehicle_type")); json.put("task_status", TaskStatusEnum.START_AND_POINT.getCode()); json.put("task_group_id", form.getLongValue("task_group_id")); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutExceptionalTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutExceptionalTask.java index 74ad6b44f..6cd7cd933 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutExceptionalTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutExceptionalTask.java @@ -2,6 +2,7 @@ package org.nl.b_lms.sch.tasks; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -49,7 +50,7 @@ public class TwoOutExceptionalTask extends AbstractAcsTask { .task_type(json.getString("acs_task_type")) .start_device_code(json.getString("point_code1")) .next_device_code(json.getString("point_code2")) - .vehicle_code(json.getString("vehicle_code")) + .vehicle_code(json.getString("vehicle_code2")) .priority(json.getString("priority")) .class_type(json.getString("task_type")) .route_plan_code(getRoutePlanCode(json.getString("point_code1"))) @@ -70,6 +71,8 @@ public class TwoOutExceptionalTask extends AbstractAcsTask { WQLObject disTab = WQLObject.getWQLObject("st_ivt_iostorinvdis"); // 点位表 WQLObject pointTab = WQLObject.getWQLObject("sch_base_point"); + // 载具扩展属性表 + WQLObject extTab = WQLObject.getWQLObject("md_pb_storagevehicleext"); JSONObject jsonTask = taskTab.query("task_id = '" + taskObj.getString("task_id") + "'").uniqueResult(0); @@ -97,11 +100,19 @@ public class TwoOutExceptionalTask extends AbstractAcsTask { JSONObject jsonPoint = pointTab.query("region_id = '" + RegionTypeEnum.TWO_OUT01.getId() + "' and is_delete = '0' and is_used = '1'").uniqueResult(0); + // 查询木箱对应的载具 + JSONObject jsonVeExt = extTab.query("pcsn = '" + jsonTask.getString("vehicle_code") + "'") + .uniqueResult(0); + if (ObjectUtil.isEmpty(jsonVeExt)) { + throw new BadRequestException("此木箱没有绑定托盘号!"+jsonTask.getString("vehicle_code")); + } + JSONObject jsonTaskParam = new JSONObject(); jsonTaskParam.put("task_type", "010711"); jsonTaskParam.put("point_code1", jsonTask.getString("point_code2")); jsonTaskParam.put("point_code2", jsonPoint.getString("point_code")); jsonTaskParam.put("vehicle_code", jsonTask.getString("vehicle_code")); + jsonTaskParam.put("vehicle_code2", jsonVeExt.getString("storagevehicle_code")); jsonTaskParam.put("task_group_id", jsonDis.getString("task_id")); jsonTaskParam.put("is_auto_issue", IOSEnum.IS_SEND.code("否")); jsonTaskParam.put("table_fk", jsonTask.getString("table_fk")); @@ -171,6 +182,7 @@ public class TwoOutExceptionalTask extends AbstractAcsTask { json.put("task_code", IdUtil.getSnowflake(1, 1).nextId()); json.put("task_type", form.getString("task_type")); json.put("vehicle_code", form.getString("vehicle_code")); + json.put("vehicle_code2", form.getString("vehicle_code2")); json.put("task_status", TaskStatusEnum.START_AND_POINT.getCode()); json.put("point_code1", form.getString("start_device_code")); json.put("point_code2", form.getString("next_device_code")); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutHeapTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutHeapTask.java index 1217b4be8..c26339e40 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutHeapTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutHeapTask.java @@ -54,7 +54,7 @@ public class TwoOutHeapTask extends AbstractAcsTask { .task_type(json.getString("acs_task_type")) .start_device_code(json.getString("point_code1")) .next_device_code(json.getString("point_code2")) - .vehicle_code(json.getString("vehicle_code")) + .vehicle_code(json.getString("vehicle_code2")) .interaction_json(json.getJSONObject("request_param")) .priority(json.getString("priority")) .class_type(json.getString("task_type")) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutTask.java index b530d2f1d..25c481177 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutTask.java @@ -101,7 +101,7 @@ public class TwoOutTask extends AbstractAcsTask { .task_type(json.getString("acs_task_type")) .start_device_code(json.getString("point_code1")) .next_device_code(json.getString("point_code2")) - .vehicle_code(json.getString("vehicle_code")) + .vehicle_code(json.getString("vehicle_code2")) .interaction_json(json.getJSONObject("request_param")) .route_plan_code(getRoutePlanCode(json.getString("point_code1"))) .priority(json.getString("priority")) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvOutServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvOutServiceImpl.java index 99555408f..2fa1a0d5c 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvOutServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvOutServiceImpl.java @@ -1102,6 +1102,8 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl list = (ArrayList) whereJson.get("tableMater"); @@ -520,13 +522,20 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl executeArr = WQLObject.getWQLObject("SCH_BASE_Task") .query("handle_class = '" + TwoOutHeapTask.class.getName() + "' and task_status IN ('05','06') and is_delete = '0' " ) @@ -223,6 +226,13 @@ public class LashManageServiceImpl implements LashManageService { next_device_code = IOSEnum.OUT_HANGER.code("行架位2"); } + // 查询木箱对应的载具 + JSONObject jsonVeExt = extTab.query("pcsn = '" + whereJson.getString("vehicle_code") + "'") + .uniqueResult(0); + if (ObjectUtil.isEmpty(jsonVeExt)) { + throw new BadRequestException("此木箱没有绑定托盘号!"+whereJson.getString("vehicle_code")); + } + // 创建任务并下发 JSONObject jsonTaskParam = new JSONObject(); jsonTaskParam.put("task_type", "010720"); @@ -231,6 +241,7 @@ public class LashManageServiceImpl implements LashManageService { jsonTaskParam.put("task_group_id", whereJson.getString("task_group_id")); jsonTaskParam.put("point_code2", next_device_code); jsonTaskParam.put("vehicle_code", whereJson.getString("vehicle_code")); + jsonTaskParam.put("vehicle_code2", jsonVeExt.getString("storagevehicle_code")); jsonTaskParam.put("request_param", whereJson); TwoOutHeapTask bean = SpringContextHolder.getBean(TwoOutHeapTask.class); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBoxManageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBoxManageServiceImpl.java index cf87b5822..9c94ad794 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBoxManageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBoxManageServiceImpl.java @@ -71,6 +71,9 @@ public class OutBoxManageServiceImpl implements OutBoxManageService { WQLObject schBasePointService = WQLObject.getWQLObject("sch_base_point"); // 仓位表 WQLObject attrTab = WQLObject.getWQLObject("st_ivt_structattr"); + // 载具扩展属性表 + WQLObject veExtTab = WQLObject.getWQLObject("md_pb_storagevehicleext"); + whereJson.put("stor_id", IOSEnum.STOR_ID.code("二期")); whereJson.put("sect_id", RegionTypeEnum.TWO_BZC01.getId()); @@ -92,13 +95,20 @@ public class OutBoxManageServiceImpl implements OutBoxManageService { throw new BadRequestException("没有符合规格的木箱!"); } + // 查询木箱对应的托盘号 + JSONObject jsonVeExt = veExtTab.query("pcsn = '" + jsonAttr.getString("storagevehicle_code") + "'") + .uniqueResult(0); + if (ObjectUtil.isEmpty(jsonVeExt)) { + throw new BadRequestException("此木箱没有绑定托盘号!"+jsonAttr.getString("storagevehicle_code")); + } + // 生成任务 JSONObject jsonTaskParam = new JSONObject(); jsonTaskParam.put("task_type", "010704"); jsonTaskParam.put("start_device_code", jsonAttr.getString("struct_code")); jsonTaskParam.put("next_device_code", whereJson.getString("device_code")); jsonTaskParam.put("vehicle_code", jsonAttr.getString("storagevehicle_code")); - + jsonTaskParam.put("vehicle_code2", jsonVeExt.getString("storagevehicle_code")); jsonTaskParam.put("task_group_id", jsonAttr.getString("task_group_id")); JSONObject request_param = new JSONObject(); request_param.put("containerType", jsonAttr.getString("storagevehicle_type")); @@ -534,6 +544,8 @@ public class OutBoxManageServiceImpl implements OutBoxManageService { */ private String createBoxMove(JSONObject jsonObject) { WQLObject attrTab = WQLObject.getWQLObject("st_ivt_structattr"); + // 载具扩展属性表 + WQLObject extTab = WQLObject.getWQLObject("md_pb_storagevehicleext"); // 找一个空的仓位 JSONObject paramIn = new JSONObject(); @@ -557,12 +569,20 @@ public class OutBoxManageServiceImpl implements OutBoxManageService { jsonAttr.put("lock_type", IOSEnum.LOCK_TYPE.code("移入锁")); attrTab.update(jsonAttr); + // 查询木箱对应的载具 + JSONObject jsonVeExt = extTab.query("pcsn = '" + jsonObject.getString("storagevehicle_code") + "'") + .uniqueResult(0); + if (ObjectUtil.isEmpty(jsonVeExt)) { + throw new BadRequestException("此木箱没有绑定托盘号!"+jsonObject.getString("storagevehicle_code")); + } + // 生成任务 JSONObject jsonTaskParam = new JSONObject(); - jsonTaskParam.put("task_type", "010505"); + jsonTaskParam.put("task_type", "010709"); jsonTaskParam.put("start_device_code", jsonObject.getString("struct_code")); jsonTaskParam.put("next_device_code", jsonAttr.getString("struct_code")); jsonTaskParam.put("vehicle_code", jsonObject.getString("storagevehicle_code")); + jsonTaskParam.put("vehicle_code2", jsonVeExt.getString("storagevehicle_code")); jsonTaskParam.put("task_group_id", IdUtil.getLongId()); TwoMoveBoxTask taskBan = new TwoMoveBoxTask(); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBussManageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBussManageServiceImpl.java index 3385a6513..34d4f5775 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBussManageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBussManageServiceImpl.java @@ -341,6 +341,8 @@ public class OutBussManageServiceImpl implements OutBussManageService { //物料表 WQLObject materTab = WQLObject.getWQLObject("md_me_materialbase"); + // 载具扩展属性表 + WQLObject extTab = WQLObject.getWQLObject("md_pb_storagevehicleext"); // 获取子卷包装集合 String vehilcle_in = list.stream() @@ -445,10 +447,18 @@ public class OutBussManageServiceImpl implements OutBussManageService { jsonMoveDtl.put("turnin_struct_code", jsonMove.getString("struct_code")); jsonMoveDtl.put("turnin_struct_name", jsonMove.getString("struct_name")); + // 查询木箱对应的载具 + JSONObject jsonVeExt = extTab.query("pcsn = '" + json.getString("storagevehicle_code") + "'") + .uniqueResult(0); + if (ObjectUtil.isEmpty(jsonVeExt)) { + throw new BadRequestException("此木箱没有绑定托盘号!"+json.getString("storagevehicle_code")); + } + // 生成任务 JSONObject param2 = new JSONObject(); param2.put("task_type", "010709"); param2.put("vehicle_code", json.getString("storagevehicle_code")); + param2.put("vehicle_code2", jsonVeExt.getString("storagevehicle_code")); param2.put("point_code1", json.getString("struct_code")); param2.put("point_code2", jsonMove.getString("struct_code")); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/service/InBoxManageService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/service/InBoxManageService.java index 04332288a..b21ac6d2d 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/service/InBoxManageService.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/service/InBoxManageService.java @@ -46,6 +46,13 @@ public interface InBoxManageService { */ JSONObject taskExceptional(JSONObject jsonObject); + /** + * 成品退货入库 + * @param whereJson ; { + * box_no: 木箱号 + * vehicle_code: 载具号 + * } + */ void returnIn(JSONObject whereJson); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/service/OutBoxManageService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/service/OutBoxManageService.java index fee13efa1..e83e0ff68 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/service/OutBoxManageService.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/service/OutBoxManageService.java @@ -20,6 +20,7 @@ public interface OutBoxManageService { * box_width: 宽 * box_high: 高 * num: 子卷数 + * @return String:木箱号 * } */ String outBox(JSONObject whereJson); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/task/HandMoveStorAcsTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/task/HandMoveStorAcsTask.java index 5c593cfd7..fa713cb72 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/task/HandMoveStorAcsTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/task/HandMoveStorAcsTask.java @@ -60,6 +60,12 @@ public class HandMoveStorAcsTask extends AbstractAcsTask { .dtl_type(String.valueOf(dtl_type)) .remark(json.getString("remark")) .build(); + + // 如果是二期转库任务则下发托盘 + if (json.getString("task_type").equals("010709")) { + dto.setVehicle_code(json.getString("vehicle_code2")); + } + resultList.add(dto); json.put("task_status", TaskStatusEnum.ISSUE.getCode()); WQLObject.getWQLObject("SCH_BASE_Task").update(json); @@ -130,6 +136,7 @@ public class HandMoveStorAcsTask extends AbstractAcsTask { json.put("task_type", form.getString("task_type")); json.put("vehicle_code", form.getString("vehicle_code")); + json.put("vehicle_code2", form.getString("vehicle_code2")); json.put("task_name", form.getString("task_name")); json.put("point_code1", form.getString("point_code1")); json.put("point_code2", form.getString("point_code2"));