diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/BakingServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/BakingServiceImpl.java index cdffdf2d8..6dd3129b7 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/BakingServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/BakingServiceImpl.java @@ -118,7 +118,7 @@ public class BakingServiceImpl implements BakingService { */ JSONObject jsonPointZc = pointTab.query("point_code = '" + point_code1 + "'").uniqueResult(0); - JSONObject cool_jo = coolIvtTab.query("full_point_code = '" + point_code1 + "' AND point_type = '3'").uniqueResult(0); + JSONObject cool_jo = coolIvtTab.query("point_code = '" + point_code1 + "' AND point_type = '3'").uniqueResult(0); if (ObjectUtil.isNotEmpty(jsonPointZc) || ObjectUtil.isNotEmpty(cool_jo)) { if (ObjectUtil.isEmpty(jsonPointZc)) { jsonPointZc = cool_jo; @@ -150,7 +150,27 @@ public class BakingServiceImpl implements BakingService { } if (ObjectUtil.isEmpty(jsonHotIvt)) { - throw new BadRequestException("烘烤区没有合适温度的空位!"); + //如果属于B1的烘箱,变更位置再查询 + if (ObjectUtil.isNotEmpty(cool_jo) && cool_jo.getString("product_area").equals("B1")) { + jsonMap.put("point_location", jsonPointZc.getString("point_location").equals("0") ? "1" : "0"); + hot_rows = WQL.getWO("PDA_BAKING_01").addParamMap(jsonMap).process().getResultJSONArray(0); + for (int i = 0; i < hot_rows.size(); i++) { + JSONObject hot_row = hot_rows.getJSONObject(i); + String point_code = hot_row.getString("point_code"); + String point_temperature = (String) redisUtils.hget(point_code, "temperature"); + if (!ObjectUtil.isEmpty(point_temperature)) { + if (point_temperature.equals(temperature)) { + jsonHotIvt = hot_row; + break; + } + } + } + if (ObjectUtil.isEmpty(jsonHotIvt)) { + throw new BadRequestException("烘烤区没有合适温度的空位!"); + } + } else { + throw new BadRequestException("烘烤区没有合适温度的空位!"); + } } // 2.创建暂存位 --> 烘烤区任务 JSONObject param = new JSONObject(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/FeedingServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/FeedingServiceImpl.java index 37df422e4..4786aadd4 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/FeedingServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/FeedingServiceImpl.java @@ -233,7 +233,7 @@ public class FeedingServiceImpl implements FeedingService { JSONObject cool_jo = WQLObject.getWQLObject("st_ivt_coolpointivt").query("full_point_code = '" + point_code + "'").uniqueResult(0); if (ObjectUtil.isEmpty(cool_jo)) { - cool_jo = WQLObject.getWQLObject("st_ivt_coolpointivt").query("full_point_code = '" + point_code + "'").uniqueResult(0); + cool_jo = WQLObject.getWQLObject("st_ivt_coolpointivt").query("point_code = '" + point_code + "'").uniqueResult(0); } if (ObjectUtil.isEmpty(cool_jo)) { @@ -269,7 +269,7 @@ public class FeedingServiceImpl implements FeedingService { JSONObject cool_jo = WQLObject.getWQLObject("st_ivt_coolpointivt").query("full_point_code = '" + point_code + "'").uniqueResult(0); if (ObjectUtil.isEmpty(cool_jo)) { - cool_jo = WQLObject.getWQLObject("st_ivt_coolpointivt").query("full_point_code = '" + point_code + "'").uniqueResult(0); + cool_jo = WQLObject.getWQLObject("st_ivt_coolpointivt").query("point_code = '" + point_code + "'").uniqueResult(0); } if (ObjectUtil.isEmpty(cool_jo)) { throw new BadRequestException("请输入或者扫描冷却区满轴位的点位做为起点!"); @@ -287,54 +287,99 @@ public class FeedingServiceImpl implements FeedingService { } if (cool_jo.getString("product_area").equals("B1")) { - JSONObject cut_jo = WQLObject.getWQLObject("st_ivt_cutpointivt").query("full_point_code = '" + next_point_code + "'").uniqueResult(0); - JSONObject task_jo = new JSONObject(); - task_jo.put("point_code1", cool_jo.getString("point_code")); - String reging_id = ""; - //查询出的对接位 - switch (cool_jo.getString("product_area")) { - case "A1": - reging_id = RegionTypeEnum.A_HKZC.getId(); - break; - case "A2": - reging_id = RegionTypeEnum.B_HKZC.getId(); - break; - case "A3": - reging_id = RegionTypeEnum.C_HKZC.getId(); - break; - case "A4": - reging_id = RegionTypeEnum.D_HKZC.getId(); - break; - case "B1": - reging_id = RegionTypeEnum.B1_HKZC.getId(); - break; - case "B2": - reging_id = RegionTypeEnum.B2_HKZC.getId(); - break; - default: - break; + if (ObjectUtil.isNotEmpty(cool_jo) && cool_jo.getString("point_type").equals("4")) { + JSONObject cut_jo = WQLObject.getWQLObject("st_ivt_cutpointivt").query("full_point_code = '" + next_point_code + "'").uniqueResult(0); + //起点为分切缓存位,终点为分切机 + JSONObject jo = new JSONObject(); + if (StrUtil.equals("01", cut_jo.getString("empty_point_status"))) { + jo.put("point_code1", cool_jo.getString("full_point_code")); + jo.put("point_code2", cut_jo.getString("full_point_code")); + jo.put("material_code", cool_jo.getString("container_name")); + jo.put("product_area", cut_jo.getString("product_area")); + jo.put("task_type", "010302"); + } else { + jo.put("point_code1", cool_jo.getString("full_point_code")); + jo.put("point_code2", cut_jo.getString("full_point_code")); + jo.put("point_code3", cut_jo.getString("empty_point_code")); + // 2.找冷却区空货位 + JSONObject map = new JSONObject(); + map.put("flag", "2"); + map.put("product_area", cut_jo.getString("product_area")); + map.put("point_location", "0"); + + JSONObject jsonCooIvt = WQL.getWO("PDA_OVENINANDOUT_01").addParamMap(map).process().uniqueResult(0); + // 如果为空 + if (ObjectUtil.isEmpty(jsonCooIvt)) { + map.put("point_location", "1"); + jsonCooIvt = WQL.getWO("PDA_OVENINANDOUT_01").addParamMap(map).process().uniqueResult(0); + } + if (ObjectUtil.isEmpty(jsonCooIvt)) { + throw new BadRequestException("冷却区空位不足"); + } + jo.put("point_code4", jsonCooIvt.getString("empty_point_code")); + jo.put("material_code", cool_jo.getString("container_name")); + jo.put("product_area", cut_jo.getString("product_area")); + jo.put("task_type", "010301"); + } + AbstractAcsTask task = new CoolCutTask(); + task.createTask(jo); + } else { + JSONObject cut_jo = WQLObject.getWQLObject("st_ivt_cutpointivt").query("full_point_code = '" + next_point_code + "'").uniqueResult(0); + if (ObjectUtil.isEmpty(cut_jo) && ObjectUtil.isEmpty(cool_jo)) { + throw new BadRequestException("目的点不存在!"); + } + JSONObject task_jo = new JSONObject(); + task_jo.put("point_code1", cool_jo.getString("point_code")); + String reging_id = ""; + //查询出的对接位 + switch (cool_jo.getString("product_area")) { + case "A1": + reging_id = RegionTypeEnum.A_HKZC.getId(); + break; + case "A2": + reging_id = RegionTypeEnum.B_HKZC.getId(); + break; + case "A3": + reging_id = RegionTypeEnum.C_HKZC.getId(); + break; + case "A4": + reging_id = RegionTypeEnum.D_HKZC.getId(); + break; + case "B1": + reging_id = RegionTypeEnum.B1_HKZC.getId(); + break; + case "B2": + reging_id = RegionTypeEnum.B2_HKZC.getId(); + break; + default: + break; + } + JSONObject map = new JSONObject(); + map.put("flag", "1"); + map.put("reging_id", reging_id); + map.put("point_location", cool_jo.getString("point_location")); + //只找出箱点位 + map.put("point_type", "5"); + + JSONObject pointArr = WQL.getWO("PDA_OVENINANDOUT_01").addParamMap(map).process().uniqueResult(0); + if (ObjectUtil.isEmpty(pointArr)) { + map.put("point_location", cool_jo.getString("point_location").equals("0") ? "1" : "0"); + pointArr = WQL.getWO("PDA_OVENINANDOUT_01").addParamMap(map).process().uniqueResult(0); + if (ObjectUtil.isEmpty(pointArr)) { + throw new BadRequestException("没有无货且没有任务的点位类型为出箱的烘箱对接位!"); + } + } + + + task_jo.put("point_code2", pointArr.getString("point_code")); + //将分切机的点位作为目的点,桁架任务完成时,自动创建AGV任务 + task_jo.put("point_code3", next_point_code); + task_jo.put("material_code", cool_jo.getString("container_name")); + task_jo.put("product_area", cool_jo.getString("product_area")); + task_jo.put("task_type", "010205"); + OutHotTask outHotTask = new OutHotTask(); + String task_id = outHotTask.createTask(task_jo); } - JSONObject map = new JSONObject(); - map.put("flag", "1"); - map.put("reging_id", reging_id); - map.put("point_location", cool_jo.getString("point_location")); - //只找出箱点位 - map.put("point_type", "5"); - - JSONObject pointArr = WQL.getWO("PDA_OVENINANDOUT_01").addParamMap(map).process().uniqueResult(0); - if (ObjectUtil.isEmpty(pointArr)) { - throw new BadRequestException("没有无货且没有任务的点位类型为出箱的烘箱对接位!"); - } - - - task_jo.put("point_code2", pointArr.getString("point_code")); - //将分切机的点位作为目的点,桁架任务完成时,自动创建AGV任务 - task_jo.put("point_code3", next_point_code); - task_jo.put("vehicle_code", cool_jo.getString("container_name")); - task_jo.put("product_area", cut_jo.getString("product_area")); - task_jo.put("task_type", "010205"); - OutHotTask outHotTask = new OutHotTask(); - String task_id = outHotTask.createTask(task_jo); } else { JSONObject jo = new JSONObject(); //查询该分切机对应的点位 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/RawFoilServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/RawFoilServiceImpl.java index 4a2918c59..f75795b5c 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/RawFoilServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/RawFoilServiceImpl.java @@ -215,8 +215,13 @@ public class RawFoilServiceImpl implements RawFoilService { cache_map.put("point_location", jsonSb.getString("point_location")); //只找入箱点位 cache_map.put("point_type", "4"); + cache_map.put("mater_flag", "1"); JSONObject point_code2_jo = WQL.getWO("PDA_OVENINANDOUT_01").addParamMap(cache_map).process().uniqueResult(0); + if (ObjectUtil.isEmpty(point_code2_jo)) { + cache_map.put("point_location", jsonSb.getString("point_location").equals("0") ? "1" : "0"); + point_code2_jo = WQL.getWO("PDA_OVENINANDOUT_01").addParamMap(cache_map).process().uniqueResult(0); + } if (ObjectUtil.isEmpty(point_code2_jo)) { throw new BadRequestException("未查询到可用的点位类型为入箱的烘箱对接位!"); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_OVENINANDOUT_01.wql b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_OVENINANDOUT_01.wql index c28b660d3..d8de3aa8b 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_OVENINANDOUT_01.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_OVENINANDOUT_01.wql @@ -82,6 +82,9 @@ OPTION 输入.point_type = "5" IFNULL(po.material_code,'') = '' ENDOPTION + OPTION 输入.mater_flag = "1" + IFNULL(po.material_code,'') = '' + ENDOPTION UNION SELECT task.task_id, @@ -137,6 +140,9 @@ OPTION 输入.point_type = "5" IFNULL(po.material_code,'') = '' ENDOPTION + OPTION 输入.mater_flag = "1" + IFNULL(po.material_code,'') = '' + ENDOPTION ) c GROUP BY c.point_code diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/wql/PDA_COOLIN.wql b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/wql/PDA_COOLIN.wql index 515398dbb..443ad9d92 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/wql/PDA_COOLIN.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/wql/PDA_COOLIN.wql @@ -129,7 +129,7 @@ FROM sch_base_task WHERE - ( point_code1 = empty_point_code OR point_code2 = empty_point_code ) + ( point_code1 = empty_point_code OR point_code2 = empty_point_code OR point_code2 = point_code ) AND task_status < '07' AND is_delete = '0' ) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/pdm.xls b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/pdm.xls index ddfeb1f7a..eea2bd21c 100644 Binary files a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/pdm.xls and b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/pdm.xls differ diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CoolCutTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CoolCutTask.java index a94f18522..e6ab26607 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CoolCutTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CoolCutTask.java @@ -114,17 +114,50 @@ public class CoolCutTask extends AbstractAcsTask { if ("B1".equals(product_area)) { //更新起点烘箱对接位 JSONObject dj_jo = WQLObject.getWQLObject("sch_base_point").query("point_code ='" + point_code1 + "'").uniqueResult(0); - dj_jo.put("point_status", "1"); - dj_jo.put("material_code", ""); - WQLObject.getWQLObject("sch_base_point").update(dj_jo); + JSONObject cool_jo = WQLObject.getWQLObject("st_ivt_coolpointivt").query("full_point_code ='" + point_code1 + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(dj_jo)) { + dj_jo.put("point_status", "1"); + dj_jo.put("material_code", ""); + WQLObject.getWQLObject("sch_base_point").update(dj_jo); + } + if (ObjectUtil.isNotEmpty(cool_jo)) { + cool_jo.put("full_point_status", "01"); + cool_jo.put("container_name", ""); + cool_jo.put("workorder_id", ""); + cool_jo.put("update_optid", currentUserId); + cool_jo.put("update_optname", currentUsername); + cool_jo.put("update_time", DateUtil.now()); + WQLObject.getWQLObject("st_ivt_coolpointivt").update(cool_jo); + } + JSONObject full_jo = WQLObject.getWQLObject("st_ivt_coolpointivt").query("full_point_code ='" + point_code2 + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(full_jo)) { + full_jo.put("full_point_status", "02"); + full_jo.put("container_name", jsonTask.getString("material_code")); + full_jo.put("update_optid", currentUserId); + full_jo.put("update_optname", currentUsername); + full_jo.put("update_time", DateUtil.now()); + WQLObject.getWQLObject("st_ivt_coolpointivt").update(full_jo); + } + //更新满轴终点的空轴对接位 JSONObject cut_jo = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("empty_point_code = '" + point_code3 + "'").uniqueResult(0); - cut_jo.put("empty_point_status", "02"); - cut_jo.put("empty_vehicle_code", "SJG"); - cut_jo.put("update_optid", currentUserId); - cut_jo.put("update_optname", currentUsername); - cut_jo.put("update_time", DateUtil.now()); - WQLObject.getWQLObject("ST_IVT_CutPointIvt").update(cut_jo); + if (ObjectUtil.isEmpty(cut_jo)) { + cut_jo = WQLObject.getWQLObject("st_ivt_coolpointivt").query("empty_point_code = '" + point_code3 + "'").uniqueResult(0); + cut_jo.put("empty_point_status", "01"); + cut_jo.put("empty_vehicle_code", ""); + cut_jo.put("update_optid", currentUserId); + cut_jo.put("update_optname", currentUsername); + cut_jo.put("update_time", DateUtil.now()); + WQLObject.getWQLObject("st_ivt_coolpointivt").update(cut_jo); + } else { + cut_jo.put("empty_point_status", "02"); + cut_jo.put("empty_vehicle_code", "SJG"); + cut_jo.put("update_optid", currentUserId); + cut_jo.put("update_optname", currentUsername); + cut_jo.put("update_time", DateUtil.now()); + WQLObject.getWQLObject("ST_IVT_CutPointIvt").update(cut_jo); + } + //更新空轴点位 JSONObject jsonCoolIvt2 = WQLObject.getWQLObject("st_ivt_coolpointivt").query("empty_point_code = '" + point_code4 + "'").uniqueResult(0); jsonCoolIvt2.put("empty_point_status", "02"); @@ -207,63 +240,83 @@ public class CoolCutTask extends AbstractAcsTask { if ("B1".equals(product_area)) { //更新起点烘箱对接位 JSONObject dj_jo = WQLObject.getWQLObject("sch_base_point").query("point_code ='" + point_code1 + "'").uniqueResult(0); - dj_jo.put("point_status", "1"); - dj_jo.put("material_code", ""); - WQLObject.getWQLObject("sch_base_point").update(dj_jo); + JSONObject cool_jo = WQLObject.getWQLObject("st_ivt_coolpointivt").query("full_point_code ='" + point_code1 + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(dj_jo)) { + dj_jo.put("point_status", "1"); + dj_jo.put("material_code", ""); + WQLObject.getWQLObject("sch_base_point").update(dj_jo); + } + if (ObjectUtil.isNotEmpty(cool_jo)) { + cool_jo.put("full_point_status", "01"); + cool_jo.put("container_name", ""); + cool_jo.put("workorder_id", ""); + cool_jo.put("update_optid", currentUserId); + cool_jo.put("update_optname", currentUsername); + cool_jo.put("update_time", DateUtil.now()); + WQLObject.getWQLObject("st_ivt_coolpointivt").update(cool_jo); + } //更新满轴终点的空轴对接位 JSONObject cut_jo = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("full_point_code = '" + point_code2 + "'").uniqueResult(0); - cut_jo.put("empty_point_status", "02"); - cut_jo.put("empty_vehicle_code", "SJG"); + if (ObjectUtil.isEmpty(cut_jo)) { + cut_jo = WQLObject.getWQLObject("st_ivt_coolpointivt").query("full_point_code = '" + point_code2 + "'").uniqueResult(0); + cut_jo.put("full_point_status", "02"); + cut_jo.put("container_name", jsonTask.getString("material_code")); + WQLObject.getWQLObject("st_ivt_coolpointivt").update(cut_jo); + } else { + cut_jo.put("empty_point_status", "02"); + cut_jo.put("empty_vehicle_code", "SJG"); + cut_jo.put("update_optid", currentUserId); + cut_jo.put("update_optname", currentUsername); + cut_jo.put("update_time", DateUtil.now()); + WQLObject.getWQLObject("ST_IVT_CutPointIvt").update(cut_jo); + } + + } else { + // 更新主表状态 + JSONObject coolMst = ivtTab.query("task_id = '" + task_id + "'").uniqueResult(0); + coolMst.put("bill_status", "50"); + ivtTab.update(coolMst); + + //更新冷却区母卷库存 + JSONObject jsonCoolIvt = WQLObject.getWQLObject("st_ivt_coolpointivt").query("full_point_code = '" + point_code1 + "'").uniqueResult(0); + String container_name = jsonCoolIvt.getString("container_name"); // 母卷号 + + jsonCoolIvt.put("full_point_status", "01"); + jsonCoolIvt.put("container_name", ""); + jsonCoolIvt.put("workorder_id", ""); + jsonCoolIvt.put("ivt_qty", "0"); + jsonCoolIvt.put("cool_ivt_status", "01"); + jsonCoolIvt.put("instorage_time", ""); + jsonCoolIvt.put("update_optid", currentUserId); + jsonCoolIvt.put("update_optname", currentUsername); + jsonCoolIvt.put("update_time", DateUtil.now()); + WQLObject.getWQLObject("st_ivt_coolpointivt").update(jsonCoolIvt); + + //更新分切区母卷库存 + JSONObject cut_jo = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("full_point_code = '" + point_code2 + "'").uniqueResult(0); + cut_jo.put("full_point_status", "02"); + cut_jo.put("container_name", container_name); cut_jo.put("update_optid", currentUserId); cut_jo.put("update_optname", currentUsername); cut_jo.put("update_time", DateUtil.now()); WQLObject.getWQLObject("ST_IVT_CutPointIvt").update(cut_jo); - } else { + //更新该母卷对应分切计划的状态 + HashMap map = new HashMap<>(); + map.put("is_parent_ok", "1"); + WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").update(map, "parent_container_name = '" + container_name + "'"); + + //回传MES + JSONObject mom_jo = new JSONObject(); + mom_jo.put("contain_name", container_name); + mom_jo.put("warehouse", "1"); + //判断该接口是否需要回传 + JSONObject back_jo = WQLObject.getWQLObject("MD_PB_InterfaceBack").query("interface_name = 'cutPlanMomRollDeliveryComplete'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(back_jo) && "1".equals(back_jo.getString("is_back"))) { + new LmsToMesServiceImpl().cutPlanMomRollDeliveryComplete(mom_jo); + } } - // 更新主表状态 - JSONObject coolMst = ivtTab.query("task_id = '" + task_id + "'").uniqueResult(0); - coolMst.put("bill_status", "50"); - ivtTab.update(coolMst); - //更新冷却区母卷库存 - JSONObject jsonCoolIvt = WQLObject.getWQLObject("st_ivt_coolpointivt").query("full_point_code = '" + point_code1 + "'").uniqueResult(0); - String container_name = jsonCoolIvt.getString("container_name"); // 母卷号 - - jsonCoolIvt.put("full_point_status", "01"); - jsonCoolIvt.put("container_name", ""); - jsonCoolIvt.put("workorder_id", ""); - jsonCoolIvt.put("ivt_qty", "0"); - jsonCoolIvt.put("cool_ivt_status", "01"); - jsonCoolIvt.put("instorage_time", ""); - jsonCoolIvt.put("update_optid", currentUserId); - jsonCoolIvt.put("update_optname", currentUsername); - jsonCoolIvt.put("update_time", DateUtil.now()); - WQLObject.getWQLObject("st_ivt_coolpointivt").update(jsonCoolIvt); - - //更新分切区母卷库存 - JSONObject cut_jo = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("full_point_code = '" + point_code2 + "'").uniqueResult(0); - cut_jo.put("full_point_status", "02"); - cut_jo.put("container_name", container_name); - cut_jo.put("update_optid", currentUserId); - cut_jo.put("update_optname", currentUsername); - cut_jo.put("update_time", DateUtil.now()); - WQLObject.getWQLObject("ST_IVT_CutPointIvt").update(cut_jo); - - //更新该母卷对应分切计划的状态 - HashMap map = new HashMap<>(); - map.put("is_parent_ok", "1"); - WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").update(map, "parent_container_name = '" + container_name + "'"); - - //回传MES - JSONObject mom_jo = new JSONObject(); - mom_jo.put("contain_name", container_name); - mom_jo.put("warehouse", "1"); - //判断该接口是否需要回传 - JSONObject back_jo = WQLObject.getWQLObject("MD_PB_InterfaceBack").query("interface_name = 'cutPlanMomRollDeliveryComplete'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(back_jo) && "1".equals(back_jo.getString("is_back"))) { - new LmsToMesServiceImpl().cutPlanMomRollDeliveryComplete(mom_jo); - } } if ("010303".equals(jsonTask.getString("task_type"))) { @@ -379,6 +432,7 @@ public class CoolCutTask extends AbstractAcsTask { json.put("vehicle_code", form.getString("vehicle_code")); json.put("vehicle_code2", form.getString("vehicle_code2")); json.put("product_area", form.getString("product_area")); + json.put("material_code", form.getString("material_code")); json.put("handle_class", THIS_CLASS); json.put("create_id", currentUserId); json.put("create_name", currentUsername); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InHotTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InHotTask.java index ee1cd48d0..3a37961da 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InHotTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InHotTask.java @@ -117,56 +117,56 @@ public class InHotTask extends AbstractAcsTask { String hot_point_code = ""; // 判断此任务是否有三个点位 - if (ObjectUtil.isEmpty(jsonTask.getString("point_code3"))) { + if (ObjectUtil.isEmpty(jsonTask.getString("point_code3"))) { - if (jsonTask.getString("task_type").equals("010204")) { - //更新冷却区库存 - JSONObject cool_jo = coolIvtTab.query("point_code = '" + jsonTask.getString("point_code2") + "'").uniqueResult(0); - cool_jo.put("full_point_status", "02"); - cool_jo.put("cool_ict_status", "01"); - cool_jo.put("container_name", jsonTask.getString("material_code")); - coolIvtTab.update(cool_jo); - //更新对接位库存 - JSONObject dj_jo = pointTab.query("point_code = '" + jsonTask.getString("point_code1") + "'").uniqueResult(0); - dj_jo.put("point_status", "1"); - dj_jo.put("material_code", ""); - pointTab.update(dj_jo); - return; - } else { - /* - * 暂存区入烘箱任务 - */ - // 更新烘箱区库存状态 - JSONObject jsonHotIvt = hotIvtTab.query("point_code = '" + jsonTask.getString("point_code2") + "'").uniqueResult(0); - jsonHotIvt.put("point_status", "02"); - jsonHotIvt.put("container_name", jsonHotMst.getString("container_name")); - jsonHotIvt.put("workorder_id", jsonHotMst.getString("workorder_id")); - jsonHotIvt.put("ivt_qty", jsonHotMst.getString("qty")); - jsonHotIvt.put("instorage_time", DateUtil.now()); - jsonHotIvt.put("update_optid", currentUserId); - jsonHotIvt.put("update_optname", currentUsername); - jsonHotIvt.put("update_time", DateUtil.now()); - hotIvtTab.update(jsonHotIvt); - - String product_area = jsonHotIvt.getString("product_area"); - if (product_area.equals("B1")) { - JSONObject jsonPoint = coolIvtTab.query("point_code = '" + jsonTask.getString("point_code1") + "'").uniqueResult(0); - jsonPoint.put("container_name", ""); - jsonPoint.put("full_point_status", "01"); - coolIvtTab.update(jsonPoint); + if (jsonTask.getString("task_type").equals("010204")) { + //更新冷却区库存 + JSONObject cool_jo = coolIvtTab.query("point_code = '" + jsonTask.getString("point_code2") + "'").uniqueResult(0); + cool_jo.put("full_point_status", "02"); + cool_jo.put("cool_ict_status", "01"); + cool_jo.put("container_name", jsonTask.getString("material_code")); + coolIvtTab.update(cool_jo); + //更新对接位库存 + JSONObject dj_jo = pointTab.query("point_code = '" + jsonTask.getString("point_code1") + "'").uniqueResult(0); + dj_jo.put("point_status", "1"); + dj_jo.put("material_code", ""); + pointTab.update(dj_jo); + return; } else { - // 更新暂存区点位状态为空位 - JSONObject jsonPoint = pointTab.query("point_code = '" + jsonTask.getString("point_code1") + "'").uniqueResult(0); - jsonPoint.put("point_status", "1"); - jsonPoint.put("material_code", ""); - pointTab.update(jsonPoint); + /* + * 暂存区入烘箱任务 + */ + // 更新烘箱区库存状态 + JSONObject jsonHotIvt = hotIvtTab.query("point_code = '" + jsonTask.getString("point_code2") + "'").uniqueResult(0); + jsonHotIvt.put("point_status", "02"); + jsonHotIvt.put("container_name", jsonHotMst.getString("container_name")); + jsonHotIvt.put("workorder_id", jsonHotMst.getString("workorder_id")); + jsonHotIvt.put("ivt_qty", jsonHotMst.getString("qty")); + jsonHotIvt.put("instorage_time", DateUtil.now()); + jsonHotIvt.put("update_optid", currentUserId); + jsonHotIvt.put("update_optname", currentUsername); + jsonHotIvt.put("update_time", DateUtil.now()); + hotIvtTab.update(jsonHotIvt); + + String product_area = jsonHotIvt.getString("product_area"); + if (product_area.equals("B1")) { + JSONObject jsonPoint = coolIvtTab.query("point_code = '" + jsonTask.getString("point_code1") + "'").uniqueResult(0); + jsonPoint.put("container_name", ""); + jsonPoint.put("full_point_status", "01"); + coolIvtTab.update(jsonPoint); + } else { + // 更新暂存区点位状态为空位 + JSONObject jsonPoint = pointTab.query("point_code = '" + jsonTask.getString("point_code1") + "'").uniqueResult(0); + jsonPoint.put("point_status", "1"); + jsonPoint.put("material_code", ""); + pointTab.update(jsonPoint); + } + + + hot_point_code = jsonHotIvt.getString("ext_code"); } - - hot_point_code = jsonHotIvt.getString("ext_code"); - } - - } else { + } else { /* * 冷却区入烘箱任务 */ diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/OutHotTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/OutHotTask.java index 9f367a1c5..61e349873 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/OutHotTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/OutHotTask.java @@ -103,12 +103,27 @@ public class OutHotTask extends AbstractAcsTask { if (jsonTask.getString("task_type").equals("010205")) { JSONObject cut_jo = WQLObject.getWQLObject("st_ivt_cutpointivt").query("full_point_code = '" + jsonTask.getString("point_code3") + "'").uniqueResult(0); + if (ObjectUtil.isEmpty(cut_jo)) { + cut_jo = WQLObject.getWQLObject("st_ivt_coolpointivt").query("full_point_code = '" + jsonTask.getString("point_code3") + "'").uniqueResult(0); + } + //清空起点库存 + JSONObject cool_jo = WQLObject.getWQLObject("st_ivt_coolpointivt").query("point_code = '" + jsonTask.getString("point_code1") + "'").uniqueResult(0); + cool_jo.put("container_name", ""); + cool_jo.put("full_point_status", "01"); + WQLObject.getWQLObject("st_ivt_coolpointivt").update(cool_jo); + + //更新终点库存 + JSONObject jsonPoint2 = pointTab.query("point_code = '" + jsonTask.getString("point_code2") + "'").uniqueResult(0); + jsonPoint2.put("point_status", "2"); + jsonPoint2.put("material_code", jsonTask.getString("material_code")); + pointTab.update(jsonPoint2); + //创建AGV任务 JSONObject jo = new JSONObject(); if (StrUtil.equals("01", cut_jo.getString("empty_point_status"))) { jo.put("point_code1", jsonTask.getString("point_code2")); jo.put("point_code2", cut_jo.getString("full_point_code")); - jo.put("vehicle_code", jsonTask.getString("material_code")); + jo.put("material_code", jsonTask.getString("material_code")); jo.put("product_area", cut_jo.getString("product_area")); jo.put("task_type", "010302"); } else { @@ -131,7 +146,7 @@ public class OutHotTask extends AbstractAcsTask { throw new BadRequestException("冷却区空位不足"); } jo.put("point_code4", jsonCooIvt.getString("empty_point_code")); - jo.put("vehicle_code", jsonTask.getString("container_name")); + jo.put("material_code", jsonTask.getString("material_code")); jo.put("product_area", cut_jo.getString("product_area")); jo.put("task_type", "010301"); }