From 79937af8d521bcfa6f40ca3f368f7321a6c3c7b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=B1=9F=E7=8E=AE?= Date: Fri, 14 Apr 2023 21:32:09 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pdm/service/impl/DeviceServiceImpl.java | 2 +- .../service/impl/WorkorderServiceImpl.java | 4 +- .../org/nl/wms/pdm/wql/MPS_PRODUCEDURE001.wql | 4 +- .../org/nl/wms/sch/rest/TaskController.java | 1 - .../wms/sch/service/impl/TaskServiceImpl.java | 2 +- .../sch/task/call/empty/HLCallEmptyTask.java | 107 +++++++++- .../call/material/FJCallMaterialTask.java | 195 +++++++++++++++++ .../call/material/SZCallMaterialTask.java | 2 +- .../call/material/wql/CALL_MATERIAL_TASK.wql | 2 +- .../sch/task/send/empty/FJSendEmptyTask.java | 200 ++++++++++++++++++ .../task/send/empty/wql/SEND_EMPTY_TASK.wql | 79 +++++++ .../send/material/HLSendMaterialTask.java | 137 +++++++++++- .../src/main/java/org/nl/wms/wms.xls | Bin 266240 -> 266240 bytes .../src/views/wms/pdm/workerorder/index.vue | 2 +- 14 files changed, 713 insertions(+), 24 deletions(-) create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/FJCallMaterialTask.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/empty/FJSendEmptyTask.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/empty/wql/SEND_EMPTY_TASK.wql diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DeviceServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DeviceServiceImpl.java index 9105e33..14ccae5 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DeviceServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DeviceServiceImpl.java @@ -44,7 +44,7 @@ public class DeviceServiceImpl implements DeviceService { if (!StrUtil.isEmpty(search)) { map.put("search", "%" + search + "%"); } - JSONObject json = WQL.getWO("PDM_BI_DEVICE01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "device.device_model, device.device_code"); + JSONObject json = WQL.getWO("PDM_BI_DEVICE01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "device.device_code"); return json; } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkorderServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkorderServiceImpl.java index c22b728..c690ede 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkorderServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkorderServiceImpl.java @@ -183,7 +183,7 @@ public class WorkorderServiceImpl implements WorkordeService { String workorder_id = param.getString("workorder_id"); JSONObject submit_obj = WQL .getWO("MPS_PRODUCEDURE001") - .addParam("flag", "5") + .addParam("flag", "6") .addParam("workorder_id", workorder_id) .process() .uniqueResult(0); @@ -193,7 +193,7 @@ public class WorkorderServiceImpl implements WorkordeService { JSONObject workorder = WQLObject .getWQLObject("pdm_bd_workorder") - .query("is_delete = '0' AND device_code = '" + submit_obj.getString("workorder_code") + "' AND order_status IN ('2', '3')") + .query("is_delete = '0' AND device_id = '" + submit_obj.getString("device_id") + "' AND order_status IN ('2', '3')") .uniqueResult(0); if (ObjectUtil.isNotEmpty(workorder)) { throw new BadRequestException("该设备正在执行其它工单!"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/MPS_PRODUCEDURE001.wql b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/MPS_PRODUCEDURE001.wql index 0f5ba51..9836da1 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/MPS_PRODUCEDURE001.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/MPS_PRODUCEDURE001.wql @@ -161,8 +161,9 @@ SELECT workorder.workorder_code, workorder.plan_qty, - workorder.device_code, workorder.order_status, + workorder.device_id, + device.device_code, material.material_code, material.product_code, material.a, @@ -172,6 +173,7 @@ FROM pdm_bd_workorder workorder LEFT JOIN md_me_materialbase material ON workorder.material_id = material.material_id + LEFT JOIN pdm_bi_device device ON workorder.device_id = device.device_id WHERE workorder.is_delete = '0' AND workorder.workorder_id = 输入.workorder_id diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/rest/TaskController.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/rest/TaskController.java index 90ea8d6..fd6d20a 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/rest/TaskController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/rest/TaskController.java @@ -1,4 +1,3 @@ - package org.nl.wms.sch.rest; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/TaskServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/TaskServiceImpl.java index 4f34900..8e04426 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/TaskServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/TaskServiceImpl.java @@ -124,7 +124,7 @@ public class TaskServiceImpl implements TaskService { public void operation(Map map) { String task_id = MapUtil.getStr(map, "task_id"); String method_name = MapUtil.getStr(map, "method_name"); - JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task").query("task_id = '" + task_id + "'").uniqueResult(0); + JSONObject taskObj = WQLObject.getWQLObject("sch_base_task").query("task_id = '" + task_id + "'").uniqueResult(0); if (taskObj.getString("task_status").equals(TaskStatus.FINISHED.value())) throw new BadRequestException("任务已完成!"); // 任务处理类 String processing_class = taskObj.getString("handle_class"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/empty/HLCallEmptyTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/empty/HLCallEmptyTask.java index 4d305dc..292c4d1 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/empty/HLCallEmptyTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/empty/HLCallEmptyTask.java @@ -4,14 +4,12 @@ import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; +import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.wms.basedata.eum.TrueOrFalse; import org.nl.wms.basedata.eum.VehicleType; -import org.nl.wms.sch.manage.AbstractAcsTask; -import org.nl.wms.sch.manage.LockType; -import org.nl.wms.sch.manage.TaskStatus; -import org.nl.wms.sch.manage.TaskType; +import org.nl.wms.sch.manage.*; import org.nl.wms.sch.task.util.TaskUtils; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; @@ -27,8 +25,16 @@ import org.springframework.transaction.annotation.Transactional; public class HLCallEmptyTask extends AbstractAcsTask { @Override - public void updateTaskStatus(JSONObject taskObj, String status) { - + public void updateTaskStatus(JSONObject task, String status) { + if (TaskStatus.EXECUTING.value().equals(status)) { + task.put("task_status", TaskStatus.EXECUTING.value()); + TaskUtils.addACSUpdateColum(task); + WQLObject.getWQLObject("sch_base_task").update(task); + } else if (TaskStatus.FINISHED.value().equals(status)) { + this.finishTask(task, OperationType.AUTO); + } else if (TaskStatus.CANCELLED.value().equals(status)) { + this.cancelTask(task, OperationType.AUTO); + } } @Transactional(rollbackFor = Exception.class) @@ -96,13 +102,100 @@ public class HLCallEmptyTask extends AbstractAcsTask { } } + @Transactional(rollbackFor = Exception.class) @Override public void forceFinish(String task_id) { - + JSONObject task = WQLObject.getWQLObject("sch_base_task").query("task_id = " + task_id).uniqueResult(0); + if (ObjectUtil.isEmpty(task)) { + throw new BadRequestException("未找到任务!"); + } + this.finishTask(task, OperationType.MANUAL); } + @Transactional(rollbackFor = Exception.class) @Override public void cancel(String task_id) { + JSONObject task = WQLObject.getWQLObject("sch_base_task").query("task_id = " + task_id).uniqueResult(0); + if (ObjectUtil.isEmpty(task)) { + throw new BadRequestException("未找到任务!"); + } + this.cancelTask(task, OperationType.MANUAL); + } + + @Transactional(rollbackFor = Exception.class) + public void cancelTask(JSONObject task, OperationType operation_type) { + if (task.getIntValue("task_status") < Integer.parseInt(TaskStatus.FINISHED.value())) { + task.put("task_status", TaskStatus.CANCELLED.value()); + if (operation_type == OperationType.AUTO) { + TaskUtils.addACSUpdateColum(task); + } else if (operation_type == OperationType.MANUAL) { + TaskUtils.addCurrentUpdateColum(task); + } + WQLObject.getWQLObject("sch_base_task").update(task); + + WQLObject point_table = WQLObject.getWQLObject("sch_base_point"); + JSONObject point1 = point_table.query("point_code = '" + task.getString("point_code1") + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(point1) + && LockType.TASK_LOCKED.value().equals(point1.getString("lock_type")) + && task.getString("task_code").equals(point1.getString("task_code"))) { + point1.put("lock_type", LockType.UNLOCKED.value()); + point1.put("task_code", ""); + if (operation_type == OperationType.AUTO) { + TaskUtils.addACSUpdateColum(point1); + } else if (operation_type == OperationType.MANUAL) { + TaskUtils.addCurrentUpdateColum(point1); + } + point_table.update(point1); + } + + JSONObject point2 = new JSONObject(); + point2.put("lock_type", LockType.UNLOCKED.value()); + point2.put("task_code", ""); + if (operation_type == OperationType.AUTO) { + TaskUtils.addACSUpdateColum(point2); + } else if (operation_type == OperationType.MANUAL) { + TaskUtils.addCurrentUpdateColum(point2); + } + point_table.update(point2, "point_code = '" + task.getString("point_code2") + "'"); + } + } + @Transactional(rollbackFor = Exception.class) + public void finishTask(JSONObject task, OperationType operation_type) { + if (task.getIntValue("task_status") < Integer.parseInt(TaskStatus.FINISHED.value())) { + task.put("task_status", TaskStatus.FINISHED.value()); + if (operation_type == OperationType.AUTO) { + TaskUtils.addACSUpdateColum(task); + } else if (operation_type == OperationType.MANUAL) { + TaskUtils.addCurrentUpdateColum(task); + } + WQLObject.getWQLObject("sch_base_task").update(task); + + WQLObject point_table = WQLObject.getWQLObject("sch_base_point"); + JSONObject point1 = point_table.query("point_code = '" + task.getString("point_code1") + "'").uniqueResult(0); + if (LockType.TASK_LOCKED.value().equals(point1.getString("lock_type")) + && task.getString("task_code").equals(point1.getString("task_code"))) { + point1.put("lock_type", LockType.UNLOCKED.value()); + point1.put("task_code", ""); + point1.put("vehicle_type", ""); + point1.put("vehicle_code", ""); + point1.put("point_status", PointStatus.EMPTY.value()); + TaskUtils.addCurrentUpdateColum(point1); + point_table.update(point1); + } + + JSONObject point2 = new JSONObject(); + point2.put("lock_type", LockType.UNLOCKED.value()); + point2.put("task_code", ""); + point2.put("vehicle_type", task.getString("vehicle_type")); + point2.put("vehicle_code", task.getString("vehicle_code")); + point2.put("point_status", PointStatus.NOT_EMPTY.value()); + if (operation_type == OperationType.AUTO) { + TaskUtils.addACSUpdateColum(point2); + } else if (operation_type == OperationType.MANUAL) { + TaskUtils.addCurrentUpdateColum(point2); + } + point_table.update(point2, "point_code = '" + task.getString("point_code2") + "'"); + } } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/FJCallMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/FJCallMaterialTask.java new file mode 100644 index 0000000..75644e7 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/FJCallMaterialTask.java @@ -0,0 +1,195 @@ +package org.nl.wms.sch.task.call.material; + +import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import lombok.RequiredArgsConstructor; +import org.nl.modules.common.exception.BadRequestException; +import org.nl.modules.wql.WQL; +import org.nl.modules.wql.core.bean.WQLObject; +import org.nl.wms.basedata.eum.VehicleType; +import org.nl.wms.sch.manage.*; +import org.nl.wms.sch.task.util.TaskUtils; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +/** + * @author zhangjiangwei + * @date 2023/04/14 21:28 + */ +@RequiredArgsConstructor +@Component +public class FJCallMaterialTask extends AbstractAcsTask { + + @Transactional(rollbackFor = Exception.class) + @Override + public void updateTaskStatus(JSONObject task, String status) { + if (TaskStatus.EXECUTING.value().equals(status)) { + task.put("task_status", TaskStatus.EXECUTING.value()); + TaskUtils.addACSUpdateColum(task); + WQLObject.getWQLObject("sch_base_task").update(task); + } else if (TaskStatus.FINISHED.value().equals(status)) { + this.finishTask(task, OperationType.AUTO); + } else if (TaskStatus.CANCELLED.value().equals(status)) { + this.cancelTask(task, OperationType.AUTO); + } + } + + @Transactional(rollbackFor = Exception.class) + @Override + public String createTask(JSONObject form) { + JSONObject point = form.getJSONObject("point"); + + JSONObject task = TaskUtils.buildTask( + "烧制区叫料", + TaskType.CALL_MATERIAL.value(), + TaskStatus.SURE_END.value(), + null, + point.getString("point_code"), + null, + VehicleType.STEEL_TRAY.value(), + null, + "1", + SZCallMaterialTask.class.getName(), + form.getString("create_mode"), + form.getString("request_param"), + form.getString("create_id"), + form.getString("create_name") + ); + WQLObject.getWQLObject("sch_base_task").insert(task); + + point.put("lock_type", LockType.TASK_LOCKED.value()); + point.put("task_code", task.getString("task_code")); + WQLObject.getWQLObject("sch_base_point").update(point); + + return task.getString("task_id"); + } + + @Transactional(rollbackFor = Exception.class) + @Override + public void findStartPoint() { + WQLObject task_table = WQLObject.getWQLObject("sch_base_task"); + JSONArray tasks = task_table + .query("is_delete = '0' AND task_status = '" + TaskStatus.SURE_END.value() + "' AND handle_class = '" + SZCallMaterialTask.class.getName() + "'", "priority DESC, create_time ASC") + .getResultJSONArray(0); + WQLObject point_table = WQLObject.getWQLObject("sch_base_point"); + + for (int i = 0; i < tasks.size(); i++) { + JSONObject task = tasks.getJSONObject(i); + + JSONObject point = WQL + .getWO("CALL_MATERIAL_TASK") + .addParam("flag", "1") + .process() + .uniqueResult(0); + + if (ObjectUtil.isNotEmpty(point)) { + task.put("task_status", TaskStatus.START_AND_END.value()); + task.put("point_code1", point.getString("point_code")); + task.put("material_id", point.getString("material_id")); + task.put("vehicle_code", TaskUtils.formatVehicleCode(point.getString("vehicle_code"))); + task.put("remark", ""); + task_table.update(task); + + JSONObject point_update = new JSONObject(); + point_update.put("lock_type", LockType.TASK_LOCKED.value()); + point_update.put("task_code", task.getString("task_code")); + point_table.update(point_update, "point_id = " + point.getLongValue("point_id")); + } + } + } + + @Transactional(rollbackFor = Exception.class) + @Override + public void forceFinish(String task_id) { + JSONObject task = WQLObject.getWQLObject("sch_base_task").query("task_id = " + task_id).uniqueResult(0); + if (ObjectUtil.isEmpty(task)) { + throw new BadRequestException("未找到任务!"); + } + this.finishTask(task, OperationType.MANUAL); + } + + @Transactional(rollbackFor = Exception.class) + @Override + public void cancel(String task_id) { + JSONObject task = WQLObject.getWQLObject("sch_base_task").query("task_id = " + task_id).uniqueResult(0); + if (ObjectUtil.isEmpty(task)) { + throw new BadRequestException("未找到任务!"); + } + this.cancelTask(task, OperationType.MANUAL); + } + + @Transactional(rollbackFor = Exception.class) + public void cancelTask(JSONObject task, OperationType operation_type) { + if (task.getIntValue("task_status") < Integer.parseInt(TaskStatus.FINISHED.value())) { + task.put("task_status", TaskStatus.CANCELLED.value()); + if (operation_type == OperationType.AUTO) { + TaskUtils.addACSUpdateColum(task); + } else if (operation_type == OperationType.MANUAL) { + TaskUtils.addCurrentUpdateColum(task); + } + WQLObject.getWQLObject("sch_base_task").update(task); + + WQLObject point_table = WQLObject.getWQLObject("sch_base_point"); + JSONObject point1 = point_table.query("point_code = '" + task.getString("point_code1") + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(point1) + && LockType.TASK_LOCKED.value().equals(point1.getString("lock_type")) + && task.getString("task_code").equals(point1.getString("task_code"))) { + point1.put("lock_type", LockType.UNLOCKED.value()); + point1.put("task_code", ""); + if (operation_type == OperationType.AUTO) { + TaskUtils.addACSUpdateColum(point1); + } else if (operation_type == OperationType.MANUAL) { + TaskUtils.addCurrentUpdateColum(point1); + } + point_table.update(point1); + } + + JSONObject point2 = new JSONObject(); + point2.put("lock_type", LockType.UNLOCKED.value()); + point2.put("task_code", ""); + if (operation_type == OperationType.AUTO) { + TaskUtils.addACSUpdateColum(point2); + } else if (operation_type == OperationType.MANUAL) { + TaskUtils.addCurrentUpdateColum(point2); + } + point_table.update(point2, "point_code = '" + task.getString("point_code2") + "'"); + } + } + + @Transactional(rollbackFor = Exception.class) + public void finishTask(JSONObject task, OperationType operation_type) { + if (task.getIntValue("task_status") < Integer.parseInt(TaskStatus.FINISHED.value())) { + task.put("task_status", TaskStatus.FINISHED.value()); + if (operation_type == OperationType.AUTO) { + TaskUtils.addACSUpdateColum(task); + } else if (operation_type == OperationType.MANUAL) { + TaskUtils.addCurrentUpdateColum(task); + } + WQLObject.getWQLObject("sch_base_task").update(task); + + WQLObject point_table = WQLObject.getWQLObject("sch_base_point"); + JSONObject point1 = point_table.query("point_code = '" + task.getString("point_code1") + "'").uniqueResult(0); + if (LockType.TASK_LOCKED.value().equals(point1.getString("lock_type")) + && task.getString("task_code").equals(point1.getString("task_code"))) { + point1.put("lock_type", LockType.UNLOCKED.value()); + point1.put("task_code", ""); + point1.put("vehicle_type", ""); + point1.put("vehicle_code", ""); + point1.put("point_status", PointStatus.EMPTY.value()); + TaskUtils.addCurrentUpdateColum(point1); + point_table.update(point1); + } + + JSONObject point2 = new JSONObject(); + point2.put("lock_type", LockType.UNLOCKED.value()); + point2.put("task_code", ""); + if (operation_type == OperationType.AUTO) { + TaskUtils.addACSUpdateColum(point2); + } else if (operation_type == OperationType.MANUAL) { + TaskUtils.addCurrentUpdateColum(point2); + } + point_table.update(point2, "point_code = '" + task.getString("point_code2") + "'"); + } + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/SZCallMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/SZCallMaterialTask.java index 57052c8..add73f9 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/SZCallMaterialTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/SZCallMaterialTask.java @@ -24,7 +24,7 @@ public class SZCallMaterialTask extends AbstractAcsTask { @Transactional(rollbackFor = Exception.class) @Override public void autoCreate() { - JSONArray points = WQL.getWO("CALL_MATERIAL_TASK").addParam("flag", "1").process().getResultJSONArray(0); + JSONArray points = WQL.getWO("CALL_MATERIAL_TASK").addParam("flag", "2").process().getResultJSONArray(0); if (ObjectUtil.isNotEmpty(points) && !points.isEmpty()) { JSONObject form = new JSONObject(); form.put("create_mode", CreateMode.ZDSC.value()); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/wql/CALL_MATERIAL_TASK.wql b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/wql/CALL_MATERIAL_TASK.wql index 03f14d2..fe07fe8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/wql/CALL_MATERIAL_TASK.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/wql/CALL_MATERIAL_TASK.wql @@ -56,7 +56,7 @@ AND point.point_status = '1' AND point.vehicle_type = '2' AND vd.is_fire = '0' - AND vd.if_in_kiln = '1' + AND vd.is_in_kiln = '1' ORDER BY workorder.is_urgent DESC, vd.create_time ASC ENDSELECT diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/empty/FJSendEmptyTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/empty/FJSendEmptyTask.java new file mode 100644 index 0000000..94f2fa6 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/empty/FJSendEmptyTask.java @@ -0,0 +1,200 @@ +package org.nl.wms.sch.task.send.empty; + +import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import org.nl.modules.common.exception.BadRequestException; +import org.nl.modules.wql.WQL; +import org.nl.modules.wql.core.bean.WQLObject; +import org.nl.wms.basedata.eum.TrueOrFalse; +import org.nl.wms.basedata.eum.VehicleType; +import org.nl.wms.sch.manage.*; +import org.nl.wms.sch.task.send.material.HLSendMaterialTask; +import org.nl.wms.sch.task.send.material.YZSendMaterialTask; +import org.nl.wms.sch.task.util.TaskUtils; +import org.springframework.transaction.annotation.Transactional; + +/** + * @author zhangjiangwei + * @date 2023/04/14 21:29 + */ +public class FJSendEmptyTask extends AbstractAcsTask { + + + @Override + public void updateTaskStatus(JSONObject task, String status) { + if (TaskStatus.EXECUTING.value().equals(status)) { + task.put("task_status", TaskStatus.EXECUTING.value()); + TaskUtils.addACSUpdateColum(task); + WQLObject.getWQLObject("sch_base_task").update(task); + } else if (TaskStatus.FINISHED.value().equals(status)) { + this.finishTask(task, OperationType.AUTO); + } else if (TaskStatus.CANCELLED.value().equals(status)) { + this.cancelTask(task, OperationType.AUTO); + } + } + + @Override + @Transactional + public String createTask(JSONObject form) { + JSONObject point = form.getJSONObject("point"); + + TaskUtils.isLocked(point); + JSONObject work_order = TaskUtils.hasWorkOrder(point); + + String vehicle_code = form.getString("vehicle_code"); + if ("0000".equals(vehicle_code)) { + throw new BadRequestException("载具编码不能为空!"); + } + + // todo 组盘 + + JSONObject task = TaskUtils.buildTask( + "混料机送料入库", + TaskType.SEND_MATERIAL.value(), + TaskStatus.SURE_START.value(), + point.getString("point_code"), + null, + work_order.getString("material_id"), + VehicleType.CUP.value(), + vehicle_code, + TrueOrFalse.trueOrFalse(work_order.getString("is_urgent")) ? "99" : "1", + HLSendMaterialTask.class.getName(), + form.getString("create_mode"), + form.getString("request_param"), + form.getString("create_id"), + form.getString("create_name") + ); + WQLObject.getWQLObject("sch_base_task").insert(task); + + return task.getString("task_id"); + } + + @Transactional(rollbackFor = Exception.class) + @Override + public void findNextPoint() { + WQLObject task_table = WQLObject.getWQLObject("sch_base_task"); + JSONArray tasks = task_table + .query("is_delete = '0' AND task_status = '" + TaskStatus.SURE_START.value() + "' AND handle_class = '" + YZSendMaterialTask.class.getName() + "'", "priority DESC, create_time ASC") + .getResultJSONArray(0); + WQLObject point_table = WQLObject.getWQLObject("sch_base_point"); + + for (int i = 0; i < tasks.size(); i++) { + JSONObject task = tasks.getJSONObject(i); + + JSONObject point = WQL + .getWO("SEND_MATERIAL_TASK") + .addParam("flag", "1") + .process() + .uniqueResult(0); + + if (ObjectUtil.isNotEmpty(point)) { + task.put("task_status", TaskStatus.START_AND_END.value()); + task.put("point_code2", point.getString("point_code")); + task.put("remark", ""); + task_table.update(task); + + point.put("lock_type", LockType.TASK_LOCKED.value()); + point.put("task_code", task.getString("task_code")); + point_table.update(point); + } + } + } + + @Transactional(rollbackFor = Exception.class) + @Override + public void forceFinish(String task_id) { + JSONObject task = WQLObject.getWQLObject("sch_base_task").query("task_id = " + task_id).uniqueResult(0); + if (ObjectUtil.isEmpty(task)) { + throw new BadRequestException("未找到任务!"); + } + this.finishTask(task, OperationType.MANUAL); + } + + @Transactional(rollbackFor = Exception.class) + @Override + public void cancel(String task_id) { + JSONObject task = WQLObject.getWQLObject("sch_base_task").query("task_id = " + task_id).uniqueResult(0); + if (ObjectUtil.isEmpty(task)) { + throw new BadRequestException("未找到任务!"); + } + this.cancelTask(task, OperationType.MANUAL); + } + + @Transactional(rollbackFor = Exception.class) + public void cancelTask(JSONObject task, OperationType operation_type) { + if (task.getIntValue("task_status") < Integer.parseInt(TaskStatus.FINISHED.value())) { + task.put("task_status", TaskStatus.CANCELLED.value()); + if (operation_type == OperationType.AUTO) { + TaskUtils.addACSUpdateColum(task); + } else if (operation_type == OperationType.MANUAL) { + TaskUtils.addCurrentUpdateColum(task); + } + WQLObject.getWQLObject("sch_base_task").update(task); + + WQLObject point_table = WQLObject.getWQLObject("sch_base_point"); + JSONObject point1 = point_table.query("point_code = '" + task.getString("point_code1") + "'").uniqueResult(0); + if (LockType.TASK_LOCKED.value().equals(point1.getString("lock_type")) + && task.getString("task_code").equals(point1.getString("task_code"))) { + point1.put("lock_type", LockType.UNLOCKED.value()); + point1.put("task_code", ""); + if (operation_type == OperationType.AUTO) { + TaskUtils.addACSUpdateColum(point1); + } else if (operation_type == OperationType.MANUAL) { + TaskUtils.addCurrentUpdateColum(point1); + } + point_table.update(point1); + } + + JSONObject point2 = new JSONObject(); + point2.put("lock_type", LockType.UNLOCKED.value()); + point2.put("task_code", ""); + if (operation_type == OperationType.AUTO) { + TaskUtils.addACSUpdateColum(point2); + } else if (operation_type == OperationType.MANUAL) { + TaskUtils.addCurrentUpdateColum(point2); + } + point_table.update(point2, "point_code = '" + task.getString("point_code2") + "'"); + } + } + + @Transactional(rollbackFor = Exception.class) + public void finishTask(JSONObject task, OperationType operation_type) { + if (task.getIntValue("task_status") < Integer.parseInt(TaskStatus.FINISHED.value())) { + task.put("task_status", TaskStatus.FINISHED.value()); + if (operation_type == OperationType.AUTO) { + TaskUtils.addACSUpdateColum(task); + } else if (operation_type == OperationType.MANUAL) { + TaskUtils.addCurrentUpdateColum(task); + } + WQLObject.getWQLObject("sch_base_task").update(task); + + WQLObject point_table = WQLObject.getWQLObject("sch_base_point"); + JSONObject point1 = point_table.query("point_code = '" + task.getString("point_code1") + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(point1) + && LockType.TASK_LOCKED.value().equals(point1.getString("lock_type")) + && task.getString("task_code").equals(point1.getString("task_code"))) { + point1.put("lock_type", LockType.UNLOCKED.value()); + point1.put("task_code", ""); + point1.put("vehicle_type", ""); + point1.put("vehicle_code", ""); + point1.put("point_status", PointStatus.EMPTY.value()); + TaskUtils.addCurrentUpdateColum(point1); + point_table.update(point1); + } + + JSONObject point2 = new JSONObject(); + point2.put("lock_type", LockType.UNLOCKED.value()); + point2.put("task_code", ""); + point2.put("vehicle_type", task.getString("vehicle_type")); + point2.put("vehicle_code", task.getString("vehicle_code")); + point2.put("point_status", PointStatus.NOT_EMPTY.value()); + if (operation_type == OperationType.AUTO) { + TaskUtils.addACSUpdateColum(point2); + } else if (operation_type == OperationType.MANUAL) { + TaskUtils.addCurrentUpdateColum(point2); + } + point_table.update(point2, "point_code = '" + task.getString("point_code2") + "'"); + } + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/empty/wql/SEND_EMPTY_TASK.wql b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/empty/wql/SEND_EMPTY_TASK.wql new file mode 100644 index 0000000..fe07fe8 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/empty/wql/SEND_EMPTY_TASK.wql @@ -0,0 +1,79 @@ +[交易说明] + 交易名: 叫空托盘 + 所属模块: + 功能简述: + 版权所有: + 表引用: + 版本经历: + +[数据库] + --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 + +[IO定义] + ################################################# + ## 表字段对应输入参数 + ################################################# + 输入.flag TYPEAS s_string + +[临时表] + --这边列出来的临时表就会在运行期动态创建 + +[临时变量] + --所有中间过程变量均可在此处定义 + +[业务过程] + + ########################################## + # 1、输入输出检查 # + ########################################## + + + ########################################## + # 2、主过程前处理 # + ########################################## + + + ########################################## + # 3、业务主过程 # + ########################################## + + IF flag = "1" + QUERY + SELECT + point.*, + vd.material_id, + workorder.is_urgent + FROM + sch_base_point point + JOIN st_ivt_vehicle_detail vd ON point.vehicle_type = vd.vehicle_type + AND point.vehicle_code = vd.vehicle_code + AND vd.is_delete = '0' + LEFT JOIN pdm_bd_workorder workorder ON vd.workorder_id = workorder.workorder_id + WHERE + point.is_used = '1' + AND point.lock_type = '1' + AND point.region_code = 'CPHJ' + AND point.point_status = '1' + AND point.vehicle_type = '2' + AND vd.is_fire = '0' + AND vd.is_in_kiln = '1' + ORDER BY + workorder.is_urgent DESC, vd.create_time ASC + ENDSELECT + ENDQUERY + ENDIF + + IF 输入.flag = "2" + QUERY + SELECT + * + FROM + sch_base_point + WHERE + is_used = '1' + AND lock_type = '1' + AND region_code = 'SZ' + AND point_type = '1' + ENDSELECT + ENDQUERY + ENDIF diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/HLSendMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/HLSendMaterialTask.java index 1487abc..c32a3d0 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/HLSendMaterialTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/HLSendMaterialTask.java @@ -1,14 +1,15 @@ package org.nl.wms.sch.task.send.material; +import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import org.nl.modules.common.exception.BadRequestException; +import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.wms.basedata.eum.TrueOrFalse; import org.nl.wms.basedata.eum.VehicleType; -import org.nl.wms.sch.manage.AbstractAcsTask; -import org.nl.wms.sch.manage.TaskStatus; -import org.nl.wms.sch.manage.TaskType; +import org.nl.wms.sch.manage.*; import org.nl.wms.sch.task.util.TaskUtils; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; @@ -25,8 +26,16 @@ public class HLSendMaterialTask extends AbstractAcsTask { @Override - public void updateTaskStatus(JSONObject taskObj, String status) { - + public void updateTaskStatus(JSONObject task, String status) { + if (TaskStatus.EXECUTING.value().equals(status)) { + task.put("task_status", TaskStatus.EXECUTING.value()); + TaskUtils.addACSUpdateColum(task); + WQLObject.getWQLObject("sch_base_task").update(task); + } else if (TaskStatus.FINISHED.value().equals(status)) { + this.finishTask(task, OperationType.AUTO); + } else if (TaskStatus.CANCELLED.value().equals(status)) { + this.cancelTask(task, OperationType.AUTO); + } } @Override @@ -65,19 +74,131 @@ public class HLSendMaterialTask extends AbstractAcsTask { return task.getString("task_id"); } + @Transactional(rollbackFor = Exception.class) @Override - @Transactional public void findNextPoint() { - + WQLObject task_table = WQLObject.getWQLObject("sch_base_task"); + JSONArray tasks = task_table + .query("is_delete = '0' AND task_status = '" + TaskStatus.SURE_START.value() + "' AND handle_class = '" + YZSendMaterialTask.class.getName() + "'", "priority DESC, create_time ASC") + .getResultJSONArray(0); + WQLObject point_table = WQLObject.getWQLObject("sch_base_point"); + + for (int i = 0; i < tasks.size(); i++) { + JSONObject task = tasks.getJSONObject(i); + + JSONObject point = WQL + .getWO("SEND_MATERIAL_TASK") + .addParam("flag", "1") + .process() + .uniqueResult(0); + + if (ObjectUtil.isNotEmpty(point)) { + task.put("task_status", TaskStatus.START_AND_END.value()); + task.put("point_code2", point.getString("point_code")); + task.put("remark", ""); + task_table.update(task); + + point.put("lock_type", LockType.TASK_LOCKED.value()); + point.put("task_code", task.getString("task_code")); + point_table.update(point); + } + } } + @Transactional(rollbackFor = Exception.class) @Override public void forceFinish(String task_id) { - + JSONObject task = WQLObject.getWQLObject("sch_base_task").query("task_id = " + task_id).uniqueResult(0); + if (ObjectUtil.isEmpty(task)) { + throw new BadRequestException("未找到任务!"); + } + this.finishTask(task, OperationType.MANUAL); } + @Transactional(rollbackFor = Exception.class) @Override public void cancel(String task_id) { + JSONObject task = WQLObject.getWQLObject("sch_base_task").query("task_id = " + task_id).uniqueResult(0); + if (ObjectUtil.isEmpty(task)) { + throw new BadRequestException("未找到任务!"); + } + this.cancelTask(task, OperationType.MANUAL); + } + + @Transactional(rollbackFor = Exception.class) + public void cancelTask(JSONObject task, OperationType operation_type) { + if (task.getIntValue("task_status") < Integer.parseInt(TaskStatus.FINISHED.value())) { + task.put("task_status", TaskStatus.CANCELLED.value()); + if (operation_type == OperationType.AUTO) { + TaskUtils.addACSUpdateColum(task); + } else if (operation_type == OperationType.MANUAL) { + TaskUtils.addCurrentUpdateColum(task); + } + WQLObject.getWQLObject("sch_base_task").update(task); + + WQLObject point_table = WQLObject.getWQLObject("sch_base_point"); + JSONObject point1 = point_table.query("point_code = '" + task.getString("point_code1") + "'").uniqueResult(0); + if (LockType.TASK_LOCKED.value().equals(point1.getString("lock_type")) + && task.getString("task_code").equals(point1.getString("task_code"))) { + point1.put("lock_type", LockType.UNLOCKED.value()); + point1.put("task_code", ""); + if (operation_type == OperationType.AUTO) { + TaskUtils.addACSUpdateColum(point1); + } else if (operation_type == OperationType.MANUAL) { + TaskUtils.addCurrentUpdateColum(point1); + } + point_table.update(point1); + } + + JSONObject point2 = new JSONObject(); + point2.put("lock_type", LockType.UNLOCKED.value()); + point2.put("task_code", ""); + if (operation_type == OperationType.AUTO) { + TaskUtils.addACSUpdateColum(point2); + } else if (operation_type == OperationType.MANUAL) { + TaskUtils.addCurrentUpdateColum(point2); + } + point_table.update(point2, "point_code = '" + task.getString("point_code2") + "'"); + } + } + @Transactional(rollbackFor = Exception.class) + public void finishTask(JSONObject task, OperationType operation_type) { + if (task.getIntValue("task_status") < Integer.parseInt(TaskStatus.FINISHED.value())) { + task.put("task_status", TaskStatus.FINISHED.value()); + if (operation_type == OperationType.AUTO) { + TaskUtils.addACSUpdateColum(task); + } else if (operation_type == OperationType.MANUAL) { + TaskUtils.addCurrentUpdateColum(task); + } + WQLObject.getWQLObject("sch_base_task").update(task); + + WQLObject point_table = WQLObject.getWQLObject("sch_base_point"); + JSONObject point1 = point_table.query("point_code = '" + task.getString("point_code1") + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(point1) + && LockType.TASK_LOCKED.value().equals(point1.getString("lock_type")) + && task.getString("task_code").equals(point1.getString("task_code"))) { + point1.put("lock_type", LockType.UNLOCKED.value()); + point1.put("task_code", ""); + point1.put("vehicle_type", ""); + point1.put("vehicle_code", ""); + point1.put("point_status", PointStatus.EMPTY.value()); + TaskUtils.addCurrentUpdateColum(point1); + point_table.update(point1); + } + + JSONObject point2 = new JSONObject(); + point2.put("lock_type", LockType.UNLOCKED.value()); + point2.put("task_code", ""); + point2.put("vehicle_type", task.getString("vehicle_type")); + point2.put("vehicle_code", task.getString("vehicle_code")); + point2.put("point_status", PointStatus.NOT_EMPTY.value()); + if (operation_type == OperationType.AUTO) { + TaskUtils.addACSUpdateColum(point2); + } else if (operation_type == OperationType.MANUAL) { + TaskUtils.addCurrentUpdateColum(point2); + } + point_table.update(point2, "point_code = '" + task.getString("point_code2") + "'"); + } } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/wms.xls b/lms/nladmin-system/src/main/java/org/nl/wms/wms.xls index 6a50c5de25dfa40b53d9ce1823682063f78109f7..9de783a1b2c6d2c77acceefadce8be1fcc894166 100644 GIT binary patch delta 10328 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 delta 10661 zcmaJ{2V4}#_kXi{jSdPZ2znkUpp>Kca=_6A6%@OIoQTq-M2Y3_XNj@Ig1VX*K@*KF zHq^5sMvcA1uF=B_sK4L;_QTE2n>X+KeQ##o%}Lec$d6l%-nABe*a~3$4yF3z*06W2 z=RR(Yc-MM}a?^jO8NbJ{5vj@EX%4sGz0iNpr}z3^2l@Njs}`2-RbF8URV|K^sz;&G zwd2Dq*$yM0h6YcTxx!=_@225nS+zB#XYGl|Vg0mb#(bz4LWX2>Gr$s{Jzp1*&om=P zKb>PfikEeD(94Q7g(D|Unv==PCMfl?d#PkX*D<`z9L)RkGM0>6poY(q3ORx1R zGin0gdj^isoDIB8LcU5{JS;A$-`tGVg9Ed9<;$n^%3aF8OYJ%)lfo29`0)`DcJA6? zdRaSIAIZzaI56 zXJq_5{pXTtj@NEluKl(JE~A`xL;u;#MupoqoT_KVwD$9Hp?HKM=O?h@afmSz1sqUUxl z>@j4=!qv8qoJVI}NNP7kG^*F_=eH-0nvx^`v-8W}Bma2)$K;mg;f_{zusE*%(z?o> zdj{nEV6#4S^5&sO7A79o#@Bf5$Ui>pk8PG$mN{KXthsk- zdBC#n4@&Q6T@?-ea@F{6W#dk6>nGpYJ+Z<#r%{rXwMe$VUdX`Z}%akf?$^~1XLLu{{9d+o1yl7GKxzV7y} z`W_wpY_E2A`TF;CmjZFpRAp}_wz5y;L-N zZDCyFY4v26^Cok_dGm^@lRL7^!X^$(T6z3T?#_Vkg4d0Fn5FHve9tnM1oKCiHN6)+ zx6PTj=9kTfJ8JKKH^^?&rm4@w>tjllwx1tZl)rq^0*4zLS2{KvIP-7Pfh&hzpFXza zz=jmZ`||S9=JRZxkG$dYQXae`v(C%8VeJW287ghE>i2fcDb-)+9m3-0+C9%)^4X+d zL|QVw!-;*JY7g`+x_ap5xXJ^ITn5B1)RM!Q~A-KqSSVJRVVhj#H4yI>hHlxjuS@}z6yL1*4!_AP(qLSkACZV z+ePBnFFs@q46YmJW&3(?-J0Wih&o4*QR1(si|0jR^waSF?3ER)s(d@2Swgymx_7kmd$ zF9F!K4&Zkwz~J=&b1)@6!BSxaP_+TzFqR=30mc|(KP(?(d3X~*lLmPfH9TLHW=rMYYa$i$337t8%vHe=b-3W2vHFqTiSRI~$- z?gR+526&F8iw(e;T>x*eysrbW>45d!SjTeT9)Q0)V&A=ZZ>I&&>_bp{fbshQzUu@q z?f}3l2Y~5y06QF!=|N=L1>jLVrf`f<%OL<;OpYgi0Jw|g(!&7XV=n*C5rE~G3MD@R zIAWxF9RtY0NCh7U=#7z5p8yzwkxD)Zkc|D3N9jfj7aq*9H#ad z&C38cF)}t+0o-i?Jgx!6VkB-|2hcvnP)zz6#|M2&N$w8 z0Ip&LuH6MdTky}X7((>i=r{BhJ@&khLxQ1E{|*q1o)`WBFcv*u`zOFR==qfgxO1TA zrhj7}bU5K5>Y~Gw9zlPoK#yzw0r(m{UDJReK@X!I1B9bT&z|7;qDNPo04||N`=0{r zL61IvhMuBF>HlJAaf}B)2N-~!4SWI6A3ghA7c3^Ln6)w@;%-Pu_g$vM#Ms2egg}f1 zffg&m{c@Ekxau%c!PRsjmbyc>mH+Ygl zmth~_jqo-kXk#CF|I*vQkbKm#kI1yt2!;b2`Lh9U#Poj}!EpUIBh&_l2;2B=nYYpY zf7-whwy_}IiqYJ!8#v?Mymx`JG7+ z7uK05xoNdTWGU!o;+jcd!*Bv$j`*n0m27g^*y7E20!L>Pu=|?8xb^RpCh9T^ zi8h{*sJZBXIHLJ3TrfoptFtQYn{K{6pXwFl(<7hJnwxn^%c5 z&%?!B=kg~Ba+k|7a{5me7UxVDNbbVGJZ}bKA{aOp!QHw_ocL)zQDt)T7*y06tycZ}{Cc%wy7_f}Azj5~s^rtIDE8TT~Z73-iK%8fAK zr#=X|hd{)d67fJH#e@}zcp#BjVj~doXeHu7y~hn1qoS372Qn$9-g{6Y{5bPOJgE14 zR6LN#cp}Dd@kBf*kGBA%@g@qCYn=YNfemq5gU62Yfd40AsrB3?-3DfAH{;)O&wyFg}8mYnJ; zsV@Jh&O5C{-5AnW&{d-DB0(;~WpPj7rqmB3)i-d~_vS~DKiTlxkdj*&$8>P=7N{vG zoHxQX0VaQH)*In+Njhg6#1v#XQw1NYFhEf7q1*=we0-2kBkkyeqxp`H5Atae?`o;PT_nJZZ;Vy!1*HFc9KIluVBWOxdL2#Fyl$)a-Re<9%Ef; z2S3`uN*H86+F_nBmVU@@1f5iV$Zt0B6?pq0zbrv6fthrv@nh_V{N@O98O$XM(M}!M zgCF-#5aXEbFEH&vf&CFUo3H|~KLSr9E&_l*00BRriN2(uy_O}wkaO1uu){(Oa9tY^O3~03&fYUXP^h7zI1p}x> zBrNonp>>hqP5}2s2;(?7P;keS!UZDSV@Sa6{LBeNxKD|b020_b?*h@CeV|{p64WxR zl|Tev)ap(kCkbV`YWaPX&%{a!5JUkI1%Mz5z`xDn10U215QG2?5Z5X<00bdGBN)63 zq7%umxdh>Yd<^l}htCW_h6Sm8Z(HCuaGs1eB@>Kf4#2Ni=e-R^GQCMV0W=uNd?U!) z&gx+FR=*VmBN_eR>3j2Akzthu(|pNqOWOCdb%;Q~hY|=u0(;Rn@hh*h6-eS zDVb0tvld_D>CJ^=-=Rb-kO@UHiz!Sfk~u}+;PPZbk&HoZSmXSmJQT@%hkEG0VVhVd zY?5IDs2>FlL(r$tAb^G;=u^OBA)OCl2r8xvF$_ToF(kS$1bs@$gy9hAlQSQIFa#A5 z!w`hw5Ilv&T9AIQJ%kGc{3(HOB%mUX1p?tnAc`~!1j1Xr4o3o|1RwAyvG7)}!zls7 z5QHOvJzyAua3l~#20cMz{EQ5zGtxlD5RC|dOaLVlL5ILqAQORPwh%XgOhhZ02s#9q z2OA<7TMNSpAwnN=&OMUpqz$CzBB?q4?JOUjNHiBsdI;tsTg^pMbB0tB+3H&)_06!@ zBB^=9Vv9uIP60k$P}d?2i;b=|bj=p7LNvUx!sk|I5-fm8cr5@|?nWfz&6!0psmvPS zhDI^YqI%rcxEXlIAEdcWQB1dV!x=pZL(?Ag=XPwQ2k_)JvU+@n!k^_++QZbdn)>8hCyv)yeZBtnknuSL?a!A zkv@a(%k`0t!bqRXB2ZjKh&u;mC0`P3mj>(UG5({Qj>JGLvCh8V=0S=pAN8 zErd`4(MTYdLr>1&70(&)jr9W1wX;=-<9_rSxs^7~tYC4)m*qaZl zT7RsH6L?2ZxHyDMCocuKID{KbUU8?@Ofq@Rb&O-WX(Op#Jk@(E=*3gLW`R~b(s~B` zIL0Hbe*s@Q(O}0Tt=EEFg6Bv+4d}I`Sn{;=H5oE^gEclK)D$~Z=x zmmrXiisHK@&=~zLm`gx1xdh*MQP70e7$wjc8OS8G#wg*v7$v+HqXZfwZK58oQV*Ai zaBJbA0GEhxr{IwQmxyrs-6av>PJto+CL)|c&TjyQiI#|Pd%#5SJ(1=p{--nE_e4XE zN;D)XdP3rp41XX{QQwo0%s_&#>uB(jkW3N5mv+?mBqXy!kc;q$npH+-fQr{mR8Tk)ObH64yazNaidP@X*BPG@e#8 zrIkW$;oCwApF(Xl3AR#NZKa^C1cL7nDcux|(K11wUyL@baw$GB@B^KK@sW^cDCgso zg7H~~Pbc&}1?QZ|SUObd(R(3!F8LSr_+GsbJ(oP^dM7eAq5*sq@)8+mZdE*E9h!R)}=BW-_(imu_Zq%tkCUqCdS?ZtCs6ST}AnBef#CbQK2~vAF{C zP*@9oc%J|Lj;lGt*y3S529M7E5C^{C4L*fkCt zyt%})On0K;ZQ5bLLzsM{9hrAx;_3N*T zb(}pre>{1_xh!J6wLvjK{&BwE7=Rd+Uz~>@dam+_j`IsZmjh#!N~J&g8Wa>ed15d+ z8Q|~jAM2r%sbbWSq*8mRL@FPUDPz<@ah1OQ0dZ>Y$!0lG@%csBS@~p6x~w>BBq@r^ z$}eR!rn6&8G+AX?qU?N|F1<@MIhur#`B_?!B<8@S3{gqBS+sgWaZ#y6L(Hv|8JdFP ze8?)(#A-_NJ|Ron#gvzp6&2($pU#Pm%`1>+420h5;jz&^uHK+jy32js~#mHlEynp|bYa`n^ZZjAKCVvioJ-t*Nquzt-2^ zIe%vFnL~_<0o~4h*REdKb=I4hn;G}U{F^L~gYv?WWqCz~a?4yzSuBjss3;zxam~pt zt0dAWcT;&zrR0>z&CFOU$KPyJae1>`;>9_qOlFx3C@mVBYC27tH&qgDDp$s^F(h%6 zT%pX#_EFSNKhiB@^a@SkVTno(b@DurRx0HgMe^Wasl@SCy{mY(;`yKX^1N>I<;jEHr$pVpD~r^W-39Tw`&;h8(T(ZlkS&iX zD#$L1hN1~R!(&Eg6&}ykxYkTJGtQFMu;h@~rS{p${rk4mpZlTy`-4y7YqO-JTl4V5 z!o0G)tf2h7Pk&|mW{%9uE8Lx_5;;)KyeGNJXM@Khb0sm5j}XqN1^$ z>7z9oC@b}hDJm~4W0_R{_THYVoSa0{GR;<_E^Jw;Yu*4i&%&q$-mJ@rbouj1TJb%& zAoe`6$bqSnjuUlyLN0f48PWNfX`bBUt^Dp_B~f)cG;oGoi{G*+x_q9pl3%8CR!Y`T!0X@(az6_*2nV|`Hc9^BS|hy zt!BY$xoeec&zW-XKC+no7cX7A{B^9EanHzbxo?TRoNZc7YEHepbmRQ_BWA`wq15j; zk_*4OJPz|af4(W~an$y(J7&h2qw}`P=ljY-8P`ElH_sSNe!g|7tEI%f-q^E$7UY*} zu*=>rPVs9dHg z%*hJ!#gvo%=yvbX=Q>>0td|y7dC!!7T4`}-K*`3Ql~KJ4vI=t`y1cARXSoZ{rKJSG8=Df)zTuyg9HA`i@Rb=3kwX_=Qz`aX=$l?Tw|?!dz&4^ z5;-^U9;;yNr|Kr(WA_>T|9!YAk62qPe$xxUt#TA@j(i!+t$D=8S%rTje$9&`J`$(@ z!-iNzek5MWi=#dgKlq1@vQ>R3Mt|HG&Z>d6=F%Hj7pv$G6}UMKY#cL!;d&ou>^a9q z){+}`oU!CIk68z96@D!&mNN;oS-!A%4Cm3v?$_e+3k|>fH1~*q>ToGCcKQz+9eo0( z1oAC-;sy5bi~dCqFQitt3;4vp|Dn|e`HP$TS+|%m3A3Vqx^uqA;e7_V+0iZIg8!^l zO@FxkN8K9so3>-T_sPF(24mKu!%Alc$CP{cg8dtP;;z4B zJsEK0j9y`h+QEE@^*mYvxBL}b!MZ~i&Ze2|#uiQR=E9rV!2}zc^@=B&SvMBafqO;; zz;%1g;`6Ak-)q)ML|k@Oh?>~6Ky_eDfJz-5toDxej`i_w`=>B7j_n;Cu80eci&n=f z)oQi=59RSO;fg@Nz<>Z{oVQ9D5UcX$|AKvVdqkocL>DCyU1wy={pj>&@!#RP=%S27 H^^*Ss%CgSJ diff --git a/lms/nladmin-ui/src/views/wms/pdm/workerorder/index.vue b/lms/nladmin-ui/src/views/wms/pdm/workerorder/index.vue index 5027529..b952d16 100644 --- a/lms/nladmin-ui/src/views/wms/pdm/workerorder/index.vue +++ b/lms/nladmin-ui/src/views/wms/pdm/workerorder/index.vue @@ -205,7 +205,6 @@ {{ dict.label.vehicle_type[scope.row.vehicle_type] }} -