From 61c482a8f4e67c7d21798bc24338dd13b2ebef10 Mon Sep 17 00:00:00 2001
From: "ZHOUZ\\Noble'lift" <1014987728@qq.com>
Date: Fri, 21 Jul 2023 17:04:02 +0800
Subject: [PATCH] =?UTF-8?q?rev:=E4=BB=BB=E5=8A=A1=E6=9F=A5=E8=AF=A2?=
=?UTF-8?q?=E5=8A=9F=E8=83=BD=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../wms/sch/service/impl/TaskServiceImpl.java | 85 +++++++++++--------
.../nl/wms/sch/service/wql/QSCH_TASK_01.wql | 6 +-
.../org/nl/wms/sch/tasks/CutTrussTask.java | 8 +-
.../src/views/wms/sch/task/index.vue | 41 +++++++--
4 files changed, 95 insertions(+), 45 deletions(-)
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 46b9b7832..3f6ff8363 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
@@ -2,6 +2,7 @@
package org.nl.wms.sch.service.impl;
+import cn.hutool.core.date.DateUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
@@ -10,6 +11,7 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.nl.common.utils.SecurityUtils;
import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.wql.WQL;
import org.nl.modules.wql.core.bean.WQLObject;
@@ -18,6 +20,7 @@ import org.nl.modules.wql.util.WqlUtil;
import org.nl.wms.basedata.master.service.ClassstandardService;
import org.nl.wms.basedata.master.service.dto.ClassstandardDto;
import org.nl.wms.basedata.st.service.impl.UserAreaServiceImpl;
+import org.nl.wms.sch.manage.TaskStatusEnum;
import org.nl.wms.sch.service.PointService;
import org.nl.wms.sch.service.RegionService;
import org.nl.wms.sch.service.TaskService;
@@ -90,13 +93,16 @@ public class TaskServiceImpl implements TaskService {
if (StrUtil.isNotEmpty(whereJson.getString("end_time"))) {
map.put("end_time", whereJson.getString("end_time"));
}
+ if (StrUtil.isNotEmpty(whereJson.getString("is_delete"))) {
+ map.put("is_delete", whereJson.getString("is_delete"));
+ }
//获取人员对应的区域
UserAreaServiceImpl userAreaService = new UserAreaServiceImpl();
String in_area_id = userAreaService.getInArea();
if (ObjectUtil.isNotEmpty(in_area_id)) {
map.put("in_area_id", in_area_id);
}
- JSONObject json = WQL.getWO("QSCH_TASK_01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "task.update_time desc");
+ JSONObject json = WQL.getWO("QSCH_TASK_01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "update_time desc");
JSONArray content = json.getJSONArray("content");
JSONArray res = new JSONArray();
@@ -116,43 +122,54 @@ public class TaskServiceImpl implements TaskService {
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);
- // 任务处理类
- String processing_class = taskObj.getString("handle_class");
- String message = "";
- try {
- Class> clz = Class.forName(processing_class);
- Object obj = clz.newInstance();
- // 调用每个任务类的method_name()强制结束方法
- Method m = obj.getClass().getMethod(method_name, String.class);
- JSONObject result = (JSONObject) m.invoke(obj, task_id);
- if (ObjectUtil.isEmpty(result)) return;
- JSONArray arr = result.getJSONArray("errArr");
- WQLObject wo = WQLObject.getWQLObject("sch_base_task");
- if (ObjectUtil.isNotEmpty(arr)) {
- for (int i = 0; i < arr.size(); i++) {
- JSONObject json = arr.getJSONObject(i);
+ if (method_name.equals("finish")){
+ //强制执行,只把任务变更成完成状态
+ // 更改任务状态为完成
+ taskObj.put("task_status", TaskStatusEnum.FINISHED.getCode());
+ taskObj.put("update_optid", SecurityUtils.getCurrentUserId());
+ taskObj.put("update_optname", SecurityUtils.getCurrentUsername());
+ taskObj.put("update_time", DateUtil.now());
+ taskObj.put("remark","任务被强制完成,不执行任何逻辑!");
+ WQLObject.getWQLObject("SCH_BASE_Task").update(taskObj);
+ }else {
+ // 任务处理类
+ String processing_class = taskObj.getString("handle_class");
+ String message = "";
+ try {
+ Class> clz = Class.forName(processing_class);
+ Object obj = clz.newInstance();
+ // 调用每个任务类的method_name()强制结束方法
+ Method m = obj.getClass().getMethod(method_name, String.class);
+ JSONObject result = (JSONObject) m.invoke(obj, task_id);
+ if (ObjectUtil.isEmpty(result)) return;
+ JSONArray arr = result.getJSONArray("errArr");
+ WQLObject wo = WQLObject.getWQLObject("sch_base_task");
+ if (ObjectUtil.isNotEmpty(arr)) {
+ for (int i = 0; i < arr.size(); i++) {
+ JSONObject json = arr.getJSONObject(i);
+ JSONObject param = new JSONObject();
+ param.put("task_id", json.getString("task_id"));
+ param.put("remark", json.getString("message"));
+ wo.update(param);
+ }
+ throw new BadRequestException("任务操作失败!");
+ } else {
JSONObject param = new JSONObject();
- param.put("task_id", json.getString("task_id"));
- param.put("remark", json.getString("message"));
+ param.put("task_id", task_id);
+ param.put("remark", "操作成功");
wo.update(param);
}
- throw new BadRequestException("任务操作失败!");
- } else {
- JSONObject param = new JSONObject();
- param.put("task_id", task_id);
- param.put("remark", "操作成功");
- wo.update(param);
+ } catch (InvocationTargetException e) {
+ if (ObjectUtil.isNull(e.getTargetException().getMessage())) {
+ message = e.getTargetException().toString();
+ } else {
+ message = e.getTargetException().getMessage();
+ }
+ throw new BadRequestException(message);
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new BadRequestException(e.getMessage());
}
- } catch (InvocationTargetException e) {
- if (ObjectUtil.isNull(e.getTargetException().getMessage())) {
- message = e.getTargetException().toString();
- } else {
- message = e.getTargetException().getMessage();
- }
- throw new BadRequestException(message);
- } catch (Exception e) {
- e.printStackTrace();
- throw new BadRequestException(e.getMessage());
}
}
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/wql/QSCH_TASK_01.wql b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/wql/QSCH_TASK_01.wql
index 53d862e69..dca879609 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/wql/QSCH_TASK_01.wql
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/wql/QSCH_TASK_01.wql
@@ -24,6 +24,7 @@
输入.vehicle_code TYPEAS s_string
输入.begin_time TYPEAS s_string
输入.end_time TYPEAS s_string
+ 输入.is_delete TYPEAS s_string
输入.unFinish TYPEAS s_string
[临时表]
@@ -61,7 +62,10 @@
LEFT JOIN md_pb_classstandard md ON task.task_type = md.class_code
LEFT JOIN sys_dict dict ON dict.`value` = task.task_status AND dict.`code` = 'task_status'
WHERE
- task.is_delete = '0'
+ 1=1
+ OPTION 输入.is_delete <> ""
+ task.is_delete = 输入.is_delete
+ ENDOPTION
OPTION 输入.task_type <> ""
md.class_id in 输入.task_type
ENDOPTION
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 7f56262b1..5af116414 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
@@ -102,7 +102,7 @@ public class CutTrussTask extends AbstractAcsTask {
//更新入站气涨轴的分切计划状态
JSONArray plan_jo = 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 IN ('04','05')").getResultJSONArray(0);
if (ObjectUtil.isEmpty(plan_jo)) {
- throw new BadRequestException("未查询到气涨轴:" + jsonTask.getString("vehicle_code") + "对应的分切计划!");
+ throw new BadRequestException("未查询到气涨轴:" + jsonTask.getString("vehicle_code") + "状态为:入站中或入站完成的分切计划!");
}
for (int i = 0; i < plan_jo.size(); i++) {
JSONObject plan_row = plan_jo.getJSONObject(i);
@@ -114,7 +114,7 @@ public class CutTrussTask extends AbstractAcsTask {
//更新出站气涨轴的分切计划状态
JSONArray plan_jo2 = 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_jo2)) {
- throw new BadRequestException("未查询到气涨轴:" + jsonTask.getString("vehicle_code2") + "对应的分切计划!");
+ throw new BadRequestException("未查询到气涨轴:" + jsonTask.getString("vehicle_code2") + "状态为:出站中的分切计划!");
}
for (int i = 0; i < plan_jo2.size(); i++) {
JSONObject plan_row = plan_jo2.getJSONObject(i);
@@ -130,7 +130,7 @@ public class CutTrussTask extends AbstractAcsTask {
//更新出站气涨轴的分切计划状态
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 = '06'").getResultJSONArray(0);
if (ObjectUtil.isEmpty(plan_jo2)) {
- throw new BadRequestException("未查询到气涨轴:" + jsonTask.getString("vehicle_code") + "对应的分切计划!");
+ throw new BadRequestException("未查询到气涨轴:" + jsonTask.getString("vehicle_code") + "状态为:出站中的分切计划!");
}
for (int i = 0; i < plan_jo2.size(); i++) {
JSONObject plan_row = plan_jo2.getJSONObject(i);
@@ -145,7 +145,7 @@ public class CutTrussTask extends AbstractAcsTask {
//更新入站气涨轴的分切计划状态
JSONArray plan_jo = 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 IN ('04','05') ").getResultJSONArray(0);
if (ObjectUtil.isEmpty(plan_jo)) {
- throw new BadRequestException("未查询到气涨轴:" + jsonTask.getString("vehicle_code") + "对应的分切计划!");
+ throw new BadRequestException("未查询到气涨轴:" + jsonTask.getString("vehicle_code") + "状态为:入站中或入站完成的分切计划!");
}
for (int i = 0; i < plan_jo.size(); i++) {
JSONObject plan_row = plan_jo.getJSONObject(i);
diff --git a/lms/nladmin-ui/src/views/wms/sch/task/index.vue b/lms/nladmin-ui/src/views/wms/sch/task/index.vue
index 0fc7ff403..581bffe48 100644
--- a/lms/nladmin-ui/src/views/wms/sch/task/index.vue
+++ b/lms/nladmin-ui/src/views/wms/sch/task/index.vue
@@ -49,7 +49,7 @@
-
+
-
+
+
+
+
+
+
+
+
+
+
-
-
+
@@ -111,6 +129,7 @@
style="width: 100%;"
@selection-change="crud.selectionChangeHandler"
>
+
@@ -127,11 +146,12 @@
+
@@ -150,6 +170,11 @@
icon="el-icon-error"
@click="doOperate(scope.row, 'b')"
>取消
+ 强制完成
@@ -202,7 +227,7 @@ export default {
sort: 'task_id,desc',
crudMethod: { ...crudTask },
query: {
- task_code: '', vehicle_code: '', start_point_code: '', next_point_code: '', task_type: '', finished_type: '', task_status: ['-1']
+ task_code: '', is_delete: '0', vehicle_code: '', start_point_code: '', next_point_code: '', task_type: '', finished_type: '', task_status: ['-1']
},
optShow: {
add: false,
@@ -221,6 +246,7 @@ export default {
openParam: {},
create_time: [],
taskStatusList: [],
+ deleteList: [{ 'code': '0', 'name': '否' }, { 'code': '1', 'name': '是' }],
taskTypeList: [],
finishTypeList: [],
permission: {
@@ -314,6 +340,9 @@ export default {
case 'c':// 下发
method_name = 'immediateNotifyAcs'
break
+ case 's':// 强制完成
+ method_name = 'finish'
+ break
case 'd':// 详情
method_name = 'view'
break