rev:任务查询功能修改
This commit is contained in:
@@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="任务类型">
|
||||
<treeselect
|
||||
v-model="query.task_type"
|
||||
@@ -60,7 +60,26 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="16">
|
||||
<el-col :span="6">
|
||||
<el-row>
|
||||
<el-form-item label="是否删除">
|
||||
<el-select
|
||||
v-model="query.is_delete"
|
||||
class="filter-item"
|
||||
clearable
|
||||
@change="handTaskStatus"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in deleteList"
|
||||
:key="item.code"
|
||||
:label="item.name"
|
||||
:value="item.code"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="创建时间">
|
||||
<el-date-picker
|
||||
v-model="query.createTime"
|
||||
@@ -73,8 +92,7 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="9">
|
||||
</el-col>
|
||||
<el-col :span="9" />
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-form-item label="任务状态">
|
||||
@@ -111,6 +129,7 @@
|
||||
style="width: 100%;"
|
||||
@selection-change="crud.selectionChangeHandler"
|
||||
>
|
||||
<el-table-column prop="task_id" label="任务标识" min-width="150" show-overflow-tooltip />
|
||||
<el-table-column prop="task_code" label="任务编码" min-width="150" show-overflow-tooltip />
|
||||
<el-table-column prop="task_type_name" label="任务类型" min-width="150" show-overflow-tooltip />
|
||||
<el-table-column prop="task_status_name" label="任务状态" width="95px" :formatter="formatTaskStatusName" />
|
||||
@@ -127,11 +146,12 @@
|
||||
<el-table-column prop="create_time" label="创建时间" width="135" show-overflow-tooltip />
|
||||
<el-table-column prop="update_optname" label="修改人" width="135" show-overflow-tooltip />
|
||||
<el-table-column prop="update_time" label="修改时间" width="135" show-overflow-tooltip />
|
||||
<el-table-column prop="remark" label="备注" width="135" show-overflow-tooltip />
|
||||
<el-table-column
|
||||
v-permission="['admin','instruction:edit','instruction:del']"
|
||||
fixed="right"
|
||||
label="操作"
|
||||
width="160px"
|
||||
width="240px"
|
||||
align="center"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
@@ -150,6 +170,11 @@
|
||||
icon="el-icon-error"
|
||||
@click="doOperate(scope.row, 'b')"
|
||||
>取消</el-button>
|
||||
<el-button
|
||||
type="text"
|
||||
icon="el-icon-warning-outline"
|
||||
@click="doOperate(scope.row, 's')"
|
||||
>强制完成</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user