diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/stivt.xls b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/stivt.xls index 2d2769e96..95c69edcd 100644 Binary files a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/stivt.xls and b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/stivt.xls differ diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/MesToLmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/MesToLmsServiceImpl.java index 9da5eaa35..be560eb81 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/MesToLmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/MesToLmsServiceImpl.java @@ -486,6 +486,7 @@ public class MesToLmsServiceImpl implements MesToLmsService { jo.put("point_code1", cool_ivt.getString("full_point_code")); jo.put("point_code2", cut_jo.getString("full_point_code")); jo.put("vehicle_code", parent_container_name); + jo.put("product_area", cool_ivt.getString("product_area")); jo.put("task_type", "010302"); } else { jo.put("point_code1", cool_ivt.getString("full_point_code")); @@ -494,6 +495,7 @@ public class MesToLmsServiceImpl implements MesToLmsService { jo.put("point_code4", cool_ivt.getString("full_point_code")); jo.put("vehicle_code", parent_container_name); jo.put("vehicle_code2", cut_jo.getString("empty_vehicle_code")); + jo.put("product_area", cool_ivt.getString("product_area")); jo.put("task_type", "010301"); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/OutServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/OutServiceImpl.java index 1a241f230..433ca8e2b 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/OutServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/OutServiceImpl.java @@ -117,12 +117,9 @@ public class OutServiceImpl implements OutService { } JSONObject jo = new JSONObject(); - jo.put("point_code1",""); - jo.put("point_code2",""); - jo.put("point_code3",point_code); - jo.put("point_code4",empty_vehicle.getString("point_code")); - jo.put("vehicle_code",""); - jo.put("vehicle_code2",cut_qzzno); + jo.put("point_code1",point_code); + jo.put("point_code2",empty_vehicle.getString("point_code")); + jo.put("vehicle_code",cut_qzzno); jo.put("task_type","010404"); cutTrussTask.createTask(jo); 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 2df758caf..3387a7705 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 @@ -43,6 +43,14 @@ public class CoolCutTask extends AbstractAcsTask { for (int i = 0; i < arr.size(); i++) { JSONObject json = arr.getJSONObject(i); + String product_area = json.getString("product_area"); + String agv_system_type = ""; + if (product_area.equals("A")||product_area.equals("B")){ + agv_system_type = "2"; + } + if (product_area.equals("C")||product_area.equals("D")){ + agv_system_type = "3"; + } AcsTaskDto dto = AcsTaskDto.builder() .ext_task_id(json.getString("task_id")) .task_code(json.getString("task_code")) @@ -51,6 +59,7 @@ public class CoolCutTask extends AbstractAcsTask { .next_device_code(json.getString("point_code2")) .vehicle_code(json.getString("vehicle_code")) .priority(json.getString("priority")) + .agv_system_type(agv_system_type) .remark(json.getString("remark")) .build(); resultList.add(dto); @@ -256,7 +265,12 @@ public class CoolCutTask extends AbstractAcsTask { json.put("create_name", currentUsername); json.put("create_time", DateUtil.now()); json.put("priority", "1"); - json.put("acs_task_type", "5"); + if (form.getString("task_type").equals("010301")){ + json.put("acs_task_type", "2"); + }else { + json.put("acs_task_type", "3"); + } + tab.insert(json); return json.getString("task_id"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutTrussTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutTrussTask.java index d5c131e59..5e5357760 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutTrussTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutTrussTask.java @@ -62,9 +62,9 @@ public class CutTrussTask extends AbstractAcsTask { String task_id = taskObj.getString("task_id"); JSONObject jsonTask = taskTab.query("task_id = '" + task_id + "'").uniqueResult(0); - if (StrUtil.equals(status,"0")) { + if (StrUtil.equals(status, "0")) { // 取消删除任务 - taskTab.delete("task_id = '"+task_id+"'"); + taskTab.delete("task_id = '" + task_id + "'"); } if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { @@ -74,62 +74,62 @@ public class CutTrussTask extends AbstractAcsTask { taskTab.update(jsonTask); } - if(StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { // 更改任务状态为完成 - jsonTask.put("task_status",TaskStatusEnum.FINISHED.getCode()); + jsonTask.put("task_status", TaskStatusEnum.FINISHED.getCode()); jsonTask.put("update_optid", SecurityUtils.getCurrentUserId()); jsonTask.put("update_optname", SecurityUtils.getCurrentUsername()); jsonTask.put("update_time", DateUtil.now()); taskTab.update(jsonTask); - if (jsonTask.getString("task_type").equals("010403")){ + if (jsonTask.getString("task_type").equals("010403")) { //更新分切机对应位置的气涨轴 - JSONObject cut_point = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("up_point_code = '"+jsonTask.getString("point_code2")+"'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(cut_point)){ - cut_point.put("up_qzzno",jsonTask.getString("vehicle_code")); - }else { - cut_point = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("down_point_code = '"+jsonTask.getString("point_code2")+"'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(cut_point)){ - cut_point.put("down_qzzno",jsonTask.getString("vehicle_code")); - }else { + JSONObject cut_point = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("up_point_code = '" + jsonTask.getString("point_code2") + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(cut_point)) { + cut_point.put("up_qzzno", jsonTask.getString("vehicle_code")); + } else { + cut_point = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("down_point_code = '" + jsonTask.getString("point_code2") + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(cut_point)) { + cut_point.put("down_qzzno", jsonTask.getString("vehicle_code")); + } else { throw new BadRequestException("未查询到对应的分切机!"); } } WQLObject.getWQLObject("ST_IVT_CutPointIvt").update(cut_point); //更新输送线的气涨轴编码 - JSONObject delivery_point = WQLObject.getWQLObject("ST_IVT_DeliveryPointIvt").query("point_code = '"+jsonTask.getString("point_code1")+"'").uniqueResult(0); - if (ObjectUtil.isEmpty(delivery_point)){ + JSONObject delivery_point = WQLObject.getWQLObject("ST_IVT_DeliveryPointIvt").query("point_code = '" + jsonTask.getString("point_code1") + "'").uniqueResult(0); + if (ObjectUtil.isEmpty(delivery_point)) { throw new BadRequestException("未查询到对应的输送线点位!"); } - delivery_point.put("qzzno",jsonTask.getString("vehicle_code2")); - delivery_point.put("point_status","04"); + delivery_point.put("qzzno", jsonTask.getString("vehicle_code2")); + delivery_point.put("point_status", "04"); WQLObject.getWQLObject("ST_IVT_DeliveryPointIvt").update(delivery_point); //更新出站气涨轴的分切计划状态 - JSONArray plan_jo = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("qzzno = '"+jsonTask.getString("vehicle_code2")+"' AND is_child_tz_ok = '1' AND is_child_ps_ok = '1' AND is_delete = '0' AND status = '06'").getResultJSONArray(0); - if (ObjectUtil.isEmpty(plan_jo)){ - throw new BadRequestException("未查询到气涨轴:"+jsonTask.getString("vehicle_code2")+"对应的分切计划!"); + JSONArray plan_jo = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("qzzno = '" + jsonTask.getString("vehicle_code2") + "' AND is_child_tz_ok = '1' AND is_child_ps_ok = '1' AND is_delete = '0' AND status = '06'").getResultJSONArray(0); + if (ObjectUtil.isEmpty(plan_jo)) { + throw new BadRequestException("未查询到气涨轴:" + jsonTask.getString("vehicle_code2") + "对应的分切计划!"); } for (int i = 0; i < plan_jo.size(); i++) { JSONObject plan_row = plan_jo.getJSONObject(i); - plan_row.put("status","09"); - plan_row.put("end_time",DateUtil.now()); + plan_row.put("status", "09"); + plan_row.put("end_time", DateUtil.now()); WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").update(plan_row); } //更新入站气涨轴的分切计划状态 - JSONArray plan_jo2 = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("qzzno = '"+jsonTask.getString("vehicle_code")+"' AND is_child_tz_ok = '1' AND is_child_ps_ok = '1' AND is_delete = '0' AND status = '04'").getResultJSONArray(0); - if (ObjectUtil.isEmpty(plan_jo2)){ - throw new BadRequestException("未查询到气涨轴:"+jsonTask.getString("vehicle_code")+"对应的分切计划!"); + JSONArray plan_jo2 = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("qzzno = '" + jsonTask.getString("vehicle_code") + "' AND is_child_tz_ok = '1' AND is_child_ps_ok = '1' AND is_delete = '0' AND status = '04'").getResultJSONArray(0); + if (ObjectUtil.isEmpty(plan_jo2)) { + throw new BadRequestException("未查询到气涨轴:" + jsonTask.getString("vehicle_code") + "对应的分切计划!"); } for (int i = 0; i < plan_jo2.size(); i++) { JSONObject plan_row = plan_jo2.getJSONObject(i); - plan_row.put("status","05"); - plan_row.put("end_time",DateUtil.now()); + plan_row.put("status", "05"); + plan_row.put("end_time", DateUtil.now()); WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").update(plan_row); } } } - } + } @Override public void findStartPoint() { @@ -148,24 +148,26 @@ public class CutTrussTask extends AbstractAcsTask { Long currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); + CutConveyorTask cutConveyorTask = new CutConveyorTask(); + String point_code1 = form.getString("point_code1"); String point_code2 = form.getString("point_code2"); String point_code3 = form.getString("point_code3"); String point_code4 = form.getString("point_code4"); - /*if (conveyorTask.isSingleTask(point_code1)){ - throw new BadRequestException("点位:"+point_code1+"存在未完成的任务!"); + if (cutConveyorTask.isSingleTask(point_code1)) { + throw new BadRequestException("点位:" + point_code1 + "存在未完成的任务!"); } - if (conveyorTask.isSingleTask(point_code2)){ - throw new BadRequestException("点位:"+point_code2+"存在未完成的任务!"); + if (cutConveyorTask.isSingleTask(point_code2)) { + throw new BadRequestException("点位:" + point_code2 + "存在未完成的任务!"); } - if (conveyorTask.isSingleTask(point_code3)){ - throw new BadRequestException("点位:"+point_code3+"存在未完成的任务!"); + if (cutConveyorTask.isSingleTask(point_code3)) { + throw new BadRequestException("点位:" + point_code3 + "存在未完成的任务!"); + } + if (cutConveyorTask.isSingleTask(point_code4)) { + throw new BadRequestException("点位:" + point_code4 + "存在未完成的任务!"); } - if (conveyorTask.isSingleTask(point_code4)){ - throw new BadRequestException("点位:"+point_code4+"存在未完成的任务!"); - }*/ JSONObject json = new JSONObject(); - json.put("task_id", IdUtil.getSnowflake(1,1).nextId()); + json.put("task_id", IdUtil.getSnowflake(1, 1).nextId()); json.put("task_code", CodeUtil.getNewCode("TASK_CODE")); json.put("task_type", form.getString("task_type")); json.put("vehicle_code", form.getString("vehicle_code")); @@ -179,57 +181,65 @@ public class CutTrussTask extends AbstractAcsTask { json.put("create_id", currentUserId); json.put("create_name", currentUsername); json.put("create_time", DateUtil.now()); - json.put("priority","1" ); - json.put("acs_task_type","5" ); + json.put("priority", "1"); + json.put("acs_task_type", "6"); tab.insert(json); - if (form.getString("task_type").equals("010403")){ + if (form.getString("task_type").equals("010403")) { //更新入站气涨轴的分切计划状态 - JSONArray plan_jo = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("qzzno = '"+json.getString("vehicle_code")+"' AND is_child_tz_ok = '1' AND is_child_ps_ok = '1' AND is_delete = '0' AND status = '03'").getResultJSONArray(0); - if (ObjectUtil.isEmpty(plan_jo)){ - throw new BadRequestException("未查询到气涨轴:"+json.getString("vehicle_code")+"对应的分切计划!"); + JSONArray plan_jo = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("qzzno = '" + json.getString("vehicle_code") + "' AND is_child_tz_ok = '1' AND is_child_ps_ok = '1' AND is_delete = '0' AND status = '03'").getResultJSONArray(0); + if (ObjectUtil.isEmpty(plan_jo)) { + throw new BadRequestException("未查询到气涨轴:" + json.getString("vehicle_code") + "对应的分切计划!"); } for (int i = 0; i < plan_jo.size(); i++) { JSONObject plan_row = plan_jo.getJSONObject(i); - plan_row.put("status","04"); - plan_row.put("end_time",DateUtil.now()); + plan_row.put("status", "04"); + plan_row.put("end_time", DateUtil.now()); WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").update(plan_row); } //更新出站气涨轴的分切计划状态 - JSONArray plan_jo2 = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("qzzno = '"+json.getString("vehicle_code2")+"' AND is_child_tz_ok = '1' AND is_child_ps_ok = '1' AND is_delete = '0' AND status = '05'").getResultJSONArray(0); - if (ObjectUtil.isEmpty(plan_jo2)){ - throw new BadRequestException("未查询到气涨轴:"+json.getString("vehicle_code2")+"对应的分切计划!"); + JSONArray plan_jo2 = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("qzzno = '" + json.getString("vehicle_code2") + "' AND is_child_tz_ok = '1' AND is_child_ps_ok = '1' AND is_delete = '0' AND status = '05'").getResultJSONArray(0); + if (ObjectUtil.isEmpty(plan_jo2)) { + throw new BadRequestException("未查询到气涨轴:" + json.getString("vehicle_code2") + "对应的分切计划!"); } for (int i = 0; i < plan_jo2.size(); i++) { JSONObject plan_row = plan_jo2.getJSONObject(i); - plan_row.put("status","06"); - plan_row.put("end_time",DateUtil.now()); + plan_row.put("status", "06"); + plan_row.put("end_time", DateUtil.now()); WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").update(plan_row); } } - if (form.getString("task_type").equals("010404")){ + if (form.getString("task_type").equals("010404")) { //更新出站气涨轴的分切计划状态 - JSONArray plan_jo2 = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("qzzno = '"+json.getString("vehicle_code2")+"' AND is_child_tz_ok = '1' AND is_child_ps_ok = '1' AND is_delete = '0' AND status = '05'").getResultJSONArray(0); - if (ObjectUtil.isEmpty(plan_jo2)){ - throw new BadRequestException("未查询到气涨轴:"+json.getString("vehicle_code2")+"对应的分切计划!"); + JSONArray plan_jo2 = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("qzzno = '" + json.getString("vehicle_code") + "' AND is_child_tz_ok = '1' AND is_child_ps_ok = '1' AND is_delete = '0' AND status = '05'").getResultJSONArray(0); + if (ObjectUtil.isEmpty(plan_jo2)) { + throw new BadRequestException("未查询到气涨轴:" + json.getString("vehicle_code") + "对应的分切计划!"); } for (int i = 0; i < plan_jo2.size(); i++) { JSONObject plan_row = plan_jo2.getJSONObject(i); - plan_row.put("status","06"); - plan_row.put("end_time",DateUtil.now()); + plan_row.put("status", "06"); + plan_row.put("end_time", DateUtil.now()); WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").update(plan_row); } } - if (form.getString("task_type").equals("010405")){ - + if (form.getString("task_type").equals("010405")) { + //更新入站气涨轴的分切计划状态 + JSONArray plan_jo = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("qzzno = '" + json.getString("vehicle_code") + "' AND is_child_tz_ok = '1' AND is_child_ps_ok = '1' AND is_delete = '0' AND status = '03'").getResultJSONArray(0); + if (ObjectUtil.isEmpty(plan_jo)) { + throw new BadRequestException("未查询到气涨轴:" + json.getString("vehicle_code") + "对应的分切计划!"); + } + for (int i = 0; i < plan_jo.size(); i++) { + JSONObject plan_row = plan_jo.getJSONObject(i); + plan_row.put("status", "04"); + plan_row.put("end_time", DateUtil.now()); + WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").update(plan_row); + } } - - return json.getString("task_id"); } @@ -241,7 +251,6 @@ public class CutTrussTask extends AbstractAcsTask { } - @Override public void cancel(String task_id) { diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InTask.java index 2d1252cf3..5e652a49b 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InTask.java @@ -2,6 +2,7 @@ package org.nl.wms.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; @@ -40,6 +41,15 @@ public class InTask extends AbstractAcsTask { for (int i = 0; i < arr.size(); i++) { JSONObject json = arr.getJSONObject(i); + //判断该任务所在的块、排存在其他任务 + String point_code2 = json.getString("point_code2"); + JSONObject struct_jo = WQLObject.getWQLObject("ST_IVT_StructAttr").query("struct_code = '"+point_code2+"'").uniqueResult(0); + String row_num = struct_jo.getString("row_num"); + String block_num = struct_jo.getString("block_num"); + JSONObject task_jo = WQLObject.getWQLObject("ST_IVT_StructAttr").query("block_num = '"+block_num+"' AND row_num = '"+row_num+"' AND lock_type in ('3','6')").uniqueResult(0); + if (ObjectUtil.isNotEmpty(task_jo)){ + continue; + } AcsTaskDto dto = AcsTaskDto.builder() .ext_task_id(json.getString("task_id")) .task_code(json.getString("task_code")) @@ -124,29 +134,6 @@ public class InTask extends AbstractAcsTask { Long currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); - - /*JSONObject jo = new JSONObject(); - jo.put("end_point",next_device_code); - jo.put("vehicle_code",vehicle_code); - jo.put("storagevehicle_type",form.getString("storagevehicle_type")); - jo.put("storagevehicle_id",form.getString("storagevehicle_id")); - String task_code = CodeUtil.getNewCode("TASK_CODE"); - String priority = "0";*/ - /*TaskDto taskDto = new TaskDto(); - taskDto.setTask_code(task_code); - taskDto.setTask_type(task_type); - taskDto.setTaskdtl_type(task_type); - taskDto.setStart_point_code(start_device_code); - taskDto.setNext_point_code(next_device_code); - taskDto.setVehicle_code(vehicle_code); - taskDto.setTaskdtl_type(taskdtl_type); - taskDto.setHandle_class(this.getClass().getName()); - taskDto.setFinished_type("00"); - taskDto.setTask_status("01"); - taskService.create(taskDto); - TaskDto taskDto1 = taskService.findByCode(task_code);*/ - - JSONObject json = new JSONObject(); json.put("task_id", IdUtil.getSnowflake(1, 1).nextId()); json.put("task_code", CodeUtil.getNewCode("TASK_CODE")); @@ -160,7 +147,7 @@ public class InTask extends AbstractAcsTask { json.put("create_name", currentUsername); json.put("create_time", DateUtil.now()); json.put("priority", "1"); - json.put("acs_task_type", "5"); + json.put("acs_task_type", "7"); WQLObject.getWQLObject("SCH_BASE_Task").insert(json); return json.getString("task_id"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql index e04343687..4e9065fa7 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql @@ -489,6 +489,9 @@ b.placement_type = a.placement_type ) 输入.sql_str + ENDSELECT + ENDQUERY + ENDIF