diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 35e27d2ac..1c11082ac 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -560,6 +560,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { if (ObjectUtil.isNotEmpty(deliver_jo)){ deliver_jo.put("point_status","01"); deliver_jo.put("qzzno",""); + deliver_jo.put("vehicle_code",""); WQLObject.getWQLObject("st_ivt_deliverypointivt").update(deliver_jo); //如果为靠近分切机一端的输送点,判断远离端是否需要进行横移 @@ -583,6 +584,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { tran_jo.put("point_code1",translate_code1); tran_jo.put("point_code2",translate_code2); tran_jo.put("vehicle_code",right_point.getString("qzzno")); + tran_jo.put("vehicle_code2",right_point.getString("vehicle_code")); tran_jo.put("task_type","010406"); cutConveyorTask.createTask(tran_jo); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/ShippingServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/ShippingServiceImpl.java index e1b59a800..c8577ec88 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/ShippingServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/ShippingServiceImpl.java @@ -67,6 +67,7 @@ public class ShippingServiceImpl implements ShippingService { //查询该区域点位类型为出口的点位 JSONObject ss_jo = WQLObject.getWQLObject("sch_base_point").query("product_area = '" + cut_jo.getString("product_area") + "' AND point_type = '7'").uniqueResult(0); form.put("point_code2", ss_jo.getString("point_code")); + form.put("vehicle_code2", empty_vehicle.getString("vehicle_code")); form.put("task_type", "010401"); cutConveyorTask.createTask(form); @@ -79,9 +80,9 @@ public class ShippingServiceImpl implements ShippingService { public JSONObject confirm(JSONObject whereJson) { JSONArray rows = whereJson.getJSONArray("cut_rows"); String vehicle_code = whereJson.getString("vehicle_code"); - /*if (StrUtil.isEmpty(vehicle_code)){ + if (StrUtil.isEmpty(vehicle_code)){ throw new BadRequestException("载具号不能为空!"); - }*/ + } if (rows.size() > 2) { throw new BadRequestException("最多选择两个子卷进行操作!"); @@ -183,6 +184,16 @@ public class ShippingServiceImpl implements ShippingService { } }*/ + //如果终点为靠近分切机的点位,则判断远离分切机的点位是否存在架子且不存在任务。如果为true,则提醒工人进行载具横移 + if (Integer.valueOf(String.valueOf(dtl_type)) % 2 != 0) { + JSONObject right_point = WQLObject.getWQLObject("st_ivt_deliverypointivt").query("point_location = '" + empty_point.getString("point_location") + "' AND product_area = '" + empty_point.getString("product_area") + "' AND sort_seq = '" + empty_point.getString("sort_seq") + "' order by point_code desc").uniqueResult(0); + //判断是否存在任务 + JSONObject task_jo = WQLObject.getWQLObject("sch_base_task").query("(point_code1 = '" + right_point.getString("point_code") + "' OR point_code2 = '" + right_point.getString("point_code") + "') AND task_status < '07' AND is_delete = '0'").uniqueResult(0); + if (ObjectUtil.isEmpty(task_jo) && !right_point.getString("point_status").equals("01")) { + throw new BadRequestException(empty_point.getString("point_code") + "所在一截输送线缓存位存在货物,请使用【载具横移】功能将货物横移!"); + } + } + //下发输送线任务 JSONObject form = new JSONObject(); JSONObject ss_jo = WQLObject.getWQLObject("sch_base_point").query("product_area = '" + plan_jo.getString("product_area") + "' AND point_type = '6'").uniqueResult(0); @@ -190,6 +201,7 @@ public class ShippingServiceImpl implements ShippingService { form.put("point_code2", empty_point.getString("point_code")); form.put("task_type", "010402"); form.put("vehicle_code", plan_jo.getString("qzzno")); + form.put("vehicle_code2", vehicle_code); cutConveyorTask.createTask(form); //更新该气涨轴对应的分切计划状态 @@ -212,6 +224,7 @@ public class ShippingServiceImpl implements ShippingService { JSONObject ss_jo2 = WQLObject.getWQLObject("sch_base_point").query("product_area = '" + cut_jo.getString("product_area") + "' AND point_type = '7'").uniqueResult(0); form2.put("point_code2", ss_jo2.getString("point_code")); form2.put("task_type", "010401"); + form2.put("vehicle_code2", left_point.getString("vehicle_code")); cutConveyorTask.createTask(form2); } } @@ -273,7 +286,7 @@ public class ShippingServiceImpl implements ShippingService { form.put("point_code1", point_code); form.put("point_code2", point_jo.getString("point_code")); form.put("task_type", "010402"); - form.put("vehicle_code", ""); + form.put("vehicle_code2", vehicle_code); cutConveyorTask.createTask(form); JSONObject jo = new JSONObject(); jo.put("message", "操作成功!"); @@ -323,6 +336,7 @@ public class ShippingServiceImpl implements ShippingService { tran_jo.put("point_code1", translate_code1); tran_jo.put("point_code2", translate_code2); tran_jo.put("vehicle_code", del_jo.getString("qzzno")); + tran_jo.put("vehicle_code2", del_jo.getString("vehicle_code")); tran_jo.put("task_type", "010406"); cutConveyorTask.createTask(tran_jo); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutConveyorTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutConveyorTask.java index 07a47a789..20ef27ad2 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutConveyorTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutConveyorTask.java @@ -92,6 +92,7 @@ public class CutConveyorTask extends AbstractAcsTask { String point_code1 = jsonTask.getString("point_code1"); String point_code2 = jsonTask.getString("point_code2"); + //分切输送出任务 if (jsonTask.getString("task_type").equals("010401")) { // 校验终点是否存在 JSONObject jsonIvt = ivtTab.query("point_code ='" + point_code1 + "'").uniqueResult(0); @@ -130,6 +131,8 @@ public class CutConveyorTask extends AbstractAcsTask { } }*/ } + + //分切输送入任务 if (jsonTask.getString("task_type").equals("010402")) { // 校验终点是否存在 JSONObject jsonIvt = ivtTab.query("point_code ='" + point_code2 + "'").uniqueResult(0); @@ -144,6 +147,7 @@ public class CutConveyorTask extends AbstractAcsTask { } else { jsonIvt.put("point_status", "02"); } + jsonIvt.put("vehicle_code", jsonTask.getString("vehicle_code2")); ivtTab.update(jsonIvt); //更新对应气涨轴的分切计划表为配送完成 @@ -188,6 +192,7 @@ public class CutConveyorTask extends AbstractAcsTask { tran_jo.put("point_code1",translate_code1); tran_jo.put("point_code2",translate_code2); tran_jo.put("vehicle_code",jsonTask.getString("vehicle_code")); + tran_jo.put("vehicle_code2",jsonIvt.getString("vehicle_code")); tran_jo.put("task_type","010406"); this.createTask(tran_jo); } @@ -205,6 +210,7 @@ public class CutConveyorTask extends AbstractAcsTask { } else { jsonIvt2.put("point_status", "02"); } + jsonIvt2.put("vehicle_code", jsonTask.getString("vehicle_code2")); ivtTab.update(jsonIvt2); //如果载具横移完成时,判断该气涨轴对应的分切机是否存在出站中的,且终点为空,状态为02的任务,则把该分切机的终点补上,状态改为04并下发 @@ -265,6 +271,7 @@ public class CutConveyorTask extends AbstractAcsTask { json.put("point_code1", point_code1); json.put("point_code2", point_code2); json.put("vehicle_code", form.getString("vehicle_code")); + json.put("vehicle_code2", form.getString("vehicle_code2")); 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/CutTrussTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutTrussTask.java index 93cecf3d0..7f9b1e68d 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 @@ -100,6 +100,7 @@ public class CutTrussTask extends AbstractAcsTask { taskTab.update(jsonTask); + //桁架标准任务,双工位任务 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); @@ -151,9 +152,12 @@ public class CutTrussTask extends AbstractAcsTask { JSONObject ss_jo = WQLObject.getWQLObject("sch_base_point").query("product_area = '" + delivery_point.getString("product_area") + "' AND point_type = '7'").uniqueResult(0); form.put("point_code2", ss_jo.getString("point_code")); form.put("vehiclie_code", jsonTask.getString("vehicle_code2")); + form.put("vehiclie_code2", delivery_point.getString("vehicle_code")); form.put("task_type", "010401"); cutConveyorTask.createTask(form); } + + //子卷出站任务 if (jsonTask.getString("task_type").equals("010404")) { //更新输送线的气涨轴编码 JSONObject delivery_point = WQLObject.getWQLObject("ST_IVT_DeliveryPointIvt").query("point_code = '" + jsonTask.getString("point_code2") + "'").uniqueResult(0); @@ -181,10 +185,12 @@ public class CutTrussTask extends AbstractAcsTask { form.put("point_code1", jsonTask.getString("point_code2")); JSONObject ss_jo = WQLObject.getWQLObject("sch_base_point").query("product_area = '" + delivery_point.getString("product_area") + "' AND point_type = '7'").uniqueResult(0); form.put("point_code2", ss_jo.getString("point_code")); + form.put("vehiclie_code2", delivery_point.getString("vehicle_code")); form.put("task_type", "010401"); cutConveyorTask.createTask(form); } + //子卷入站 if (jsonTask.getString("task_type").equals("010405")) { //更新输送线的气涨轴编码 JSONObject delivery_point = WQLObject.getWQLObject("ST_IVT_DeliveryPointIvt").query("point_code = '" + jsonTask.getString("point_code1") + "'").uniqueResult(0); @@ -207,8 +213,8 @@ public class CutTrussTask extends AbstractAcsTask { WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").update(plan_row); } - //如果桁架任务执行完,右侧的输送线上存在气涨轴,则生成一个输送出的任务 - log.debug("如果桁架任务执行完,右侧的输送线上存在气涨轴,则生成一个输送出的任务"); + //如果桁架任务执行完,右侧的输送线上存在气涨轴,则生成一个输送出的任务,防止左侧空载具挡住右侧气涨轴进行横移 + log.debug("如果桁架任务执行完,缓存位的输送线上存在气涨轴,则对上料位的空载具生成一个输送出的任务"); char dtl_type = jsonTask.getString("point_code1").charAt(jsonTask.getString("point_code1").length() - 1); if (Integer.valueOf(String.valueOf(dtl_type)) % 2 != 0) { String point_location = delivery_point.getString("point_location"); @@ -228,6 +234,7 @@ public class CutTrussTask extends AbstractAcsTask { form.put("point_code1", jsonTask.getString("point_code1")); JSONObject ss_jo = WQLObject.getWQLObject("sch_base_point").query("product_area = '" + delivery_point.getString("product_area") + "' AND point_type = '7'").uniqueResult(0); form.put("point_code2", ss_jo.getString("point_code")); + form.put("vehiclie_code2", delivery_point.getString("vehicle_code")); //分切输送出 form.put("task_type", "010401"); cutConveyorTask.createTask(form);