入口输送机重下任务功能和部分界面功能调整

This commit is contained in:
lsymicc
2026-05-07 16:15:15 +08:00
parent bb148ee7e4
commit c30b7afab5
9 changed files with 254 additions and 220 deletions

View File

@@ -27,10 +27,15 @@ public class TaskStatusCode {
*/
public static final String TASK_STATUS_FINISH = "4";
/**
* 任务状态-手动完成
*/
public static final String TASK_STATUS_FINISH_MANUAL = "5";
/**
* 任务状态-作废
*/
public static final String TASK_STATUS_INVALID = "5";
public static final String TASK_STATUS_INVALID = "6";
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 【执行阶段】 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

View File

@@ -120,5 +120,17 @@ public class MydoJobController extends BaseController
return mydoJobService.OuthandFinish(jobIds);
}
@PreAuthorize("@ss.hasAnyPermi('job:mydoJob:resendTaskToEntrance')")
@Log(title = "入口输送机重新下发", businessType = BusinessType.OTHER)
@PutMapping("/resendTaskToEntrance")
public AjaxResult resendTaskToEntrance(@RequestParam("jobId") String jobId){
if (jobId == null || jobId == "") return AjaxResult.error("未选择任务或选择任务异常");
MydoJob job = mydoJobService.selectMydoJobByJobId(jobId);
job.setExecutionPhase("0");
job.setStatus("1");
return toAjax(mydoJobService.updateMydoJob(job));
}
}

View File

@@ -94,7 +94,7 @@ public interface IMydoJobService
AjaxResult OuthandFinish(String[] jobIds);
public AjaxResult ManuelTaskFinish(String[] taskNos);
AjaxResult ManuelTaskFinish(String taskNo);
List<MydoJob> getInJobByEntranceId(String exitId);
@@ -102,6 +102,8 @@ public interface IMydoJobService
MydoJob selectMydoJobByWmsTaskNo(String wmsTaskNo);
/**
* 获取本地生成作业号
* @param type RK-入库 CK-出库

View File

@@ -142,8 +142,6 @@ public class MydoJobServiceImpl implements IMydoJobService
deleteMydoJobByJobId(task.getJobId());
ddjDeviceExecutionQueueService.deleteDdjDeviceExecutionQueueByTaskNo(task.getTaskNo());
log.info("【堆垛机入库】堆垛机:"+ task.getRoadwayId() +"任务完成,任务号:"+ rwh);
JobCallBack jobCallBack = new JobCallBack();
jobCallBack.setType(Integer.valueOf(task.getInOrOut()) < 20 ? "1" : "2");
jobCallBack.setMydoJobId(task.getJobId());
@@ -211,21 +209,14 @@ public class MydoJobServiceImpl implements IMydoJobService
//获取所有符合【任务单号】的作业
for (String jobId : jobIds) {
//todo 是否需要校验响应成功后再执行历史表操作
//插入历史表
mydoJobMapper.insertHistory(jobId);
//生成回传记录
MydoJob mydoJob = mydoJobMapper.selectMydoJobByJobId(jobId);
JobCallBack jobCallBack = new JobCallBack();
long jobIdNum = Long.parseLong(mydoJob.getInOrOut());
if (jobIdNum > 20){
jobCallBack.setType("2");
}else{
jobCallBack.setType("1");
}
jobCallBack.setTaskTypeCode(WMS_TASK_TYPE_FINISH);//todo wms下发的任务类型
jobCallBack.setType(mydoJob.getInOrOut());
jobCallBack.setTaskTypeCode(WMS_TASK_TYPE_FINISH);// wms自定义的任务类型
jobCallBack.setMydoJobId(mydoJob.getJobId());
jobCallBack.setStatus("0");
jobCallBack.setTaskNo(Convert.toLong(mydoJob.getTaskNo()));
@@ -244,34 +235,30 @@ public class MydoJobServiceImpl implements IMydoJobService
}
/**
* 手动处理指定批量【任务号】的作业
* >>需要确定【jobid】是否由wms下发
* >>如果【jobid】和【taskno】是一对多的情况,使用上一个方法<OuthandFinish>手动完成作业会导致整个【jobid】单据完成回传
* >>如果【jobid】和【taskno】是一对一的情况,则直接使用 <OuthandFinish> 方法手动完成即可
* @param taskNos
* 手动处理指定【任务号】的作业
* @param taskNo
* @return
*/
@Override
public AjaxResult ManuelTaskFinish(String[] taskNos) {
public AjaxResult ManuelTaskFinish(String taskNo) {
//获取所有符合【任务号】的作业
for (String taskNo : taskNos) {
MydoJob mydoJob = mydoJobMapper.selectMydoJobByTaskNo(taskNo);
mydoJobMapper.insertHistory(mydoJob.getInOrOut());
JobCallBack jobCallBack = new JobCallBack();
long jobIdNum = Long.parseLong(mydoJob.getInOrOut());
if (jobIdNum > 20) {
jobCallBack.setType("2");
} else {
jobCallBack.setType("1");
}
jobCallBack.setMydoJobId(mydoJob.getJobId());
jobCallBack.setStatus("0");
jobCallBack.setTaskNo(Convert.toLong(taskNo));
jobCallBack.setCreateTime(new Date());
jobCallBackService.insertJobCallBack(jobCallBack);
mydoJobMapper.deleteMydoJobByTaskNo(taskNo);
}
MydoJob mydoJob = mydoJobMapper.selectMydoJobByTaskNo(taskNo);
mydoJobMapper.insertHistory(mydoJob.getInOrOut());
JobCallBack jobCallBack = new JobCallBack();
jobCallBack.setType(mydoJob.getInOrOut());
jobCallBack.setTaskTypeCode(WMS_TASK_TYPE_FINISH);// wms下发的任务类型
jobCallBack.setMydoJobId(mydoJob.getJobId());
jobCallBack.setStatus("0");
jobCallBack.setTaskNo(Convert.toLong(mydoJob.getTaskNo()));
jobCallBack.setCreateTime(new Date());
jobCallBack.setTaskCode(mydoJob.getWmsTaskNo());
jobCallBack.setRetry(0);
jobCallBack.setReqCode(UUID.randomUUID().toString());
jobCallBackService.insertJobCallBack(jobCallBack);
mydoJobMapper.deleteMydoJobByTaskNo(taskNo);
return AjaxResult.success("操作成功");
}

View File

@@ -24,6 +24,9 @@ import static com.ruoyi.common.TaskExceptionType.TASK_EXCEPTION_STOCKIN_OCCUPIED
import static com.ruoyi.common.TaskStatusCode.*;
import static com.ruoyi.common.WmsTaskTypeCode.WMS_TASK_TYPE_EXCEPTION;
/**
* 处理wcs执行作业的定时任务类
*/
@Component
@Slf4j
public class TaskHandler {
@@ -39,13 +42,16 @@ public class TaskHandler {
@Autowired
private IDdjDeviceExecutionQueueService ddjDeviceExecutionQueueService;
private static final int DEFAULTTIMEINTERVAL = 2000;
/**
* 处理未正常移除的【堆垛机执行完成】或【出库到位】的遗留任务
*/
// @Scheduled(fixedDelay = 3000)
public void mydoJobHandler() {
//此处 - 堆垛机执行完成【TASK_EP_DDJ_FINISH】和出库到位【TASK_EP_SSJ_STOCKOUT_FINISH】的常量值相同,均可表示任务【已完成】
//用任意一种状态查询所有标记为【已完成】的任务
//查询所有标记为【已完成】的任务
List<MydoJob> jobs = mydoJobService.selectMydoJobList(
new MydoJob().builder().executionPhase(TASK_EP_FINISH).build()
);
@@ -57,23 +63,58 @@ public class TaskHandler {
}
/**
* 【手动作废】 - 查询并处理标记为已经作废的任务
*/
//@Scheduled(fixedDelay = 3000)
public void cancelMydoJob(){
List<MydoJob> jobs = mydoJobService.selectInOrOutMydoJobList(
new MydoJob().builder().status(TASK_STATUS_INVALID).build()
);
if (!jobs.isEmpty()) {
for (MydoJob job : jobs) {
mydoJobService.ManuelTaskFinish(job.getTaskNo());
}
}
}
/**
* 【手动完成】 - 查询并处理标记为已经手动完成的任务
*/
//@Scheduled(fixedDelay = 3000)
public void finishMydoJob(){
List<MydoJob> jobs = mydoJobService.selectInOrOutMydoJobList(
new MydoJob().builder().status(TASK_STATUS_FINISH_MANUAL).build()
);
if (!jobs.isEmpty()) {
for (MydoJob job : jobs) {
mydoJobService.ManuelTaskFinish(job.getTaskNo());
}
}
}
/**
* 定时扫描未回传或回传异常的任务记录
*/
@Scheduled(fixedDelay=3000)
@Scheduled(fixedDelay = 3000)
public void jobCallBack() {
jobCallBackService.jobCallBack();
}
/**
* 入库异常 - 【放货有货】处理方法
* 【入库异常-请求重分】 - 【放货有货】处理方法
*/
@Scheduled(fixedDelay = 2000)
@Scheduled(fixedDelay = DEFAULTTIMEINTERVAL)
public void stockinExceptionHandler() {
List<MydoJob> jobs = mydoJobService.selectInOrOutMydoJobList(
new MydoJob().builder().executionPhase(TASK_EXCEPTION_PUT).build()
);
if (!jobs.isEmpty()) {
for (MydoJob job : jobs) {
//上报异常 - 向wms请求重分接口
@@ -112,10 +153,11 @@ public class TaskHandler {
}
/**
* 出库异常 - 【取货无货】处理方法
* 【出库异常】 - 【取货无货】处理方法
*/
@Scheduled(fixedDelay = 2000)
@Scheduled(fixedDelay = DEFAULTTIMEINTERVAL)
public void stockoutExceptionHandler() {
List<MydoJob> jobs = mydoJobService.selectInOrOutMydoJobList(
new MydoJob().builder().executionPhase(TASK_EXCEPTION_PICK).build()
@@ -146,10 +188,11 @@ public class TaskHandler {
}
/**
* 入库重分完成 - 堆垛机重新下发
* 【入库异常-重分完成】 - 堆垛机重新下发
*/
@Scheduled(fixedDelay = 2000)
@Scheduled(fixedDelay = DEFAULTTIMEINTERVAL)
public void sendTaskForStacker(){
List<MydoJob> jobs = mydoJobService.selectInOrOutMydoJobList(
new MydoJob().builder().executionPhase(TASK_EXCEPTION_PUT_REASSIGN).build()

View File

@@ -300,6 +300,9 @@ public class PortConvThread implements Runnable {
/**
* 从 MOXA NPort 5110(TCP Server 模式)读取单次称重值
* ************测试方法************
* ************测试方法************
* ************测试方法************
*
* @param moxaIp MOXA 设备 IP(如 "192.168.1.200")
* @param moxaPort MOXA 配置的 TCP 端口(如 4001)

View File

@@ -45,7 +45,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where status != '1' and retry &lt; 10
</select>
<insert id="insertJobCallBack" parameterType="JobCallBack" useGeneratedKeys="true" keyProperty="id">
<insert id="insertJobCallBack" parameterType="JobCallBack" useGeneratedKeys="false" keyProperty="id">
insert into job_call_back
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="type != null">type,</if>

View File

@@ -52,6 +52,7 @@ export function delMydoJob(jobId) {
})
}
// 手动完成作业
export function handFinish(jobIds) {
return request({
url: '/job/mydoJob/OuthandFinish',
@@ -61,3 +62,11 @@ export function handFinish(jobIds) {
}
// 重新向入口输送机下发任务
export function resendTaskToEntrance(jobId) {
return request({
url: '/job/mydoJob/resendTaskToEntrance' + '?jobId=' + jobId,
method: 'put',
})
}

View File

@@ -2,127 +2,112 @@
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="任务号" prop="taskNo">
<el-input
v-model="queryParams.taskNo"
placeholder="请输入任务号"
clearable
@keyup.enter.native="handleQuery"
/>
<el-input v-model="queryParams.taskNo" placeholder="请输入任务号" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="任务状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择任务状态" clearable>
<el-option
v-for="dict in dict.type.job_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
<el-option v-for="dict in dict.type.job_status" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="巷道ID" prop="roadwayId">
<el-input
v-model="queryParams.roadwayId"
placeholder="请输入巷道ID"
clearable
@keyup.enter.native="handleQuery"
/>
<el-input v-model="queryParams.roadwayId" placeholder="请输入巷道ID" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<!-- <el-form-item label="货位ID" prop="cargoSpaceId">-->
<!-- <el-input-->
<!-- v-model="queryParams.cargoSpaceId"-->
<!-- placeholder="请输入货位ID"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="去向" prop="targetRoadwayId">-->
<!-- <el-input-->
<!-- v-model="queryParams.targetRoadwayId"-->
<!-- placeholder="请输入去向"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="目标货位ID" prop="targetCargoSpaceId">-->
<!-- <el-input-->
<!-- v-model="queryParams.targetCargoSpaceId"-->
<!-- placeholder="请输入目标货位ID"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="优先级" prop="priority">-->
<!-- <el-input-->
<!-- v-model="queryParams.priority"-->
<!-- placeholder="请输入优先级"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="执行阶段" prop="executionPhase">-->
<!-- <el-input-->
<!-- v-model="queryParams.executionPhase"-->
<!-- placeholder="请输入执行阶段"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="任务类型" prop="inOrOut">-->
<!-- <el-input-->
<!-- v-model="queryParams.inOrOut"-->
<!-- placeholder="请输入任务类型"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="开始时间" prop="startTime">-->
<!-- <el-input-->
<!-- v-model="queryParams.startTime"-->
<!-- placeholder="请输入开始时间"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="结束时间" prop="finishTime">-->
<!-- <el-input-->
<!-- v-model="queryParams.finishTime"-->
<!-- placeholder="请输入结束时间"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="入口ID" prop="entranceId">-->
<!-- <el-input-->
<!-- v-model="queryParams.entranceId"-->
<!-- placeholder="请输入入口ID"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="出口ID" prop="exitId">-->
<!-- <el-input-->
<!-- v-model="queryParams.exitId"-->
<!-- placeholder="请输入出口ID"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!--&lt;!&ndash; <el-form-item label="仓库ID" prop="warehouseId">-->
<!-- <el-input-->
<!-- v-model="queryParams.warehouseId"-->
<!-- placeholder="请输入仓库ID"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="重分标志" prop="faultFlag">-->
<!-- <el-input-->
<!-- v-model="queryParams.faultFlag"-->
<!-- placeholder="请输入重分标志"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>&ndash;&gt;-->
<!-- <el-form-item label="货位ID" prop="cargoSpaceId">-->
<!-- <el-input-->
<!-- v-model="queryParams.cargoSpaceId"-->
<!-- placeholder="请输入货位ID"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="去向" prop="targetRoadwayId">-->
<!-- <el-input-->
<!-- v-model="queryParams.targetRoadwayId"-->
<!-- placeholder="请输入去向"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="目标货位ID" prop="targetCargoSpaceId">-->
<!-- <el-input-->
<!-- v-model="queryParams.targetCargoSpaceId"-->
<!-- placeholder="请输入目标货位ID"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="优先级" prop="priority">-->
<!-- <el-input-->
<!-- v-model="queryParams.priority"-->
<!-- placeholder="请输入优先级"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="执行阶段" prop="executionPhase">-->
<!-- <el-input-->
<!-- v-model="queryParams.executionPhase"-->
<!-- placeholder="请输入执行阶段"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="任务类型" prop="inOrOut">-->
<!-- <el-input-->
<!-- v-model="queryParams.inOrOut"-->
<!-- placeholder="请输入任务类型"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="开始时间" prop="startTime">-->
<!-- <el-input-->
<!-- v-model="queryParams.startTime"-->
<!-- placeholder="请输入开始时间"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="结束时间" prop="finishTime">-->
<!-- <el-input-->
<!-- v-model="queryParams.finishTime"-->
<!-- placeholder="请输入结束时间"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="入口ID" prop="entranceId">-->
<!-- <el-input-->
<!-- v-model="queryParams.entranceId"-->
<!-- placeholder="请输入入口ID"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="出口ID" prop="exitId">-->
<!-- <el-input-->
<!-- v-model="queryParams.exitId"-->
<!-- placeholder="请输入出口ID"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!--&lt;!&ndash; <el-form-item label="仓库ID" prop="warehouseId">-->
<!-- <el-input-->
<!-- v-model="queryParams.warehouseId"-->
<!-- placeholder="请输入仓库ID"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="重分标志" prop="faultFlag">-->
<!-- <el-input-->
<!-- v-model="queryParams.faultFlag"-->
<!-- placeholder="请输入重分标志"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>&ndash;&gt;-->
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -131,15 +116,12 @@
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="OuthandFinish"
v-hasPermi="['job:mydoJob:OuthandFinish']"
>手动完成</el-button>
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="OuthandFinish"
v-hasPermi="['job:mydoJob:OuthandFinish']">手动完成</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-edit" size="mini" :disabled="multiple"
@click="onResendTaskClicked" v-hasPermi="['job:mydoJob:resendTaskToEntrance']">入库重新下发</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@@ -147,9 +129,9 @@
<el-table v-loading="loading" :data="mydoJobList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="任务ID" align="center" prop="jobId" />
<el-table-column label="任务状态" align="center" prop="status" >
<el-table-column label="任务状态" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :options="dict.type.job_status" :value="scope.row.status"/>
<dict-tag :options="dict.type.job_status" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column label="任务号" align="center" prop="taskNo" />
@@ -157,74 +139,49 @@
<el-table-column label="货位ID" align="center" prop="cargoSpaceId" />
<el-table-column label="序列号" align="center" prop="trayCode" />
<el-table-column label="优先级" align="center" prop="priority" />
<el-table-column label="执行阶段" align="center" prop="executionPhase" >
<el-table-column label="执行阶段" align="center" prop="executionPhase">
<template slot-scope="scope">
<dict-tag :options="dict.type.job_ep" :value="scope.row.executionPhase"/>
<dict-tag :options="dict.type.job_ep" :value="scope.row.executionPhase" />
</template>
</el-table-column>
<!-- <el-table-column label="任务类型" align="center" prop="inOrOut" />-->
<!-- <el-table-column label="任务类型" align="center" prop="inOrOut" />-->
<el-table-column label="开始时间" align="center" prop="startTime" />
<el-table-column label="结束时间" align="center" prop="finishTime" />
<el-table-column label="入口ID" align="center" prop="entranceId" />
<el-table-column label="出口ID" align="center" prop="exitId" />
<!-- <el-table-column label="仓库ID" align="center" prop="warehouseId" />-->
<!-- <el-table-column label="重分标志" align="center" prop="faultFlag" />-->
<!-- <el-table-column label="仓库ID" align="center" prop="warehouseId" />-->
<!-- <el-table-column label="重分标志" align="center" prop="faultFlag" />-->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['job:mydoJob:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['job:mydoJob:remove']"
>删除</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['job:mydoJob:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['job:mydoJob:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList" />
<!-- 添加或修改作业信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="400px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="任务号" prop="taskNo">
<el-input v-model="form.taskNo" placeholder="请输入任务号" style="width: 220px"/>
<el-input v-model="form.taskNo" placeholder="请输入任务号" style="width: 220px" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="form.status" placeholder="请修改状态" >
<el-option
v-for="dict in dict.type.job_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
<el-select v-model="form.status" placeholder="请修改状态">
<el-option v-for="dict in dict.type.job_status" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="执行阶段" prop="executionPhase">
<el-select v-model="form.executionPhase" placeholder="请修改执行阶段">
<el-option
v-for="dict in dict.type.job_ep"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
<el-option v-for="dict in dict.type.job_ep" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="优先级" prop="priority">
<el-input v-model="form.priority" placeholder="请输入优先级" type="number" style="width: 220px"/>
<el-input v-model="form.priority" placeholder="请输入优先级" type="number" style="width: 220px" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@@ -236,11 +193,11 @@
</template>
<script>
import {listMydoJob, getMydoJob, delMydoJob, addMydoJob, updateMydoJob, listMydoJobFinish,handFinish} from "@/api/job/mydoJob"
import { listMydoJob, getMydoJob, delMydoJob, addMydoJob, updateMydoJob, listMydoJobFinish, handFinish, resendTaskToEntrance } from "@/api/job/mydoJob"
export default {
name: "MydoJob",
dicts:['job_status','job_ep'],
dicts: ['job_status', 'job_ep'],
data() {
return {
// 遮罩层
@@ -302,13 +259,13 @@ export default {
/** 查询作业信息列表 */
getList() {
this.loading = true
if ( this.queryParams.status ==='4' || this.queryParams.status ==='5'){
if (this.queryParams.status === '4' || this.queryParams.status === '5') {
listMydoJobFinish(this.queryParams).then(response => {
this.mydoJobList = response.rows
this.total = response.total
this.loading = false
})
}else {
} else {
listMydoJob(this.queryParams).then(response => {
this.mydoJobList = response.rows
this.total = response.total
@@ -359,7 +316,7 @@ export default {
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.jobId)
this.single = selection.length!==1
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 新增按钮操作 */
@@ -401,12 +358,12 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
const jobIds = row.jobId || this.ids
this.$modal.confirm('是否确认删除作业信息编号为"' + jobIds + '"的数据项?(此操作可能影响任务回传,请和上层系统核对账目)').then(function() {
this.$modal.confirm('是否确认删除编号为"' + jobIds + '"的任务?(此操作可能影响任务回传,需要人工向wms维护人员通知作业处理情况)').then(function () {
return delMydoJob(jobIds)
}).then(() => {
this.getList()
this.$modal.msgSuccess("操作成功")
}).catch(() => {})
}).catch(() => { })
},
OuthandFinish() {
@@ -422,8 +379,24 @@ export default {
}).then(() => {
this.$modal.msgSuccess("手动完成成功");
this.getList();
}).catch(() => {});
}).catch(() => { });
},
onResendTaskClicked() {
if (!this.ids || this.ids.length === 0) {
this.$modal.msgError("请选择需要重新下发的任务");
return;
}
const jobId = this.ids[0];
console.log(jobId)
this.$modal.confirm('是否确认重新下发选中的任务?').then(() => {
return resendTaskToEntrance(jobId);
}).then(() => {
this.$modal.msgSuccess("手动完成成功");
this.getList();
}).catch(() => { });
},
/** 导出按钮操作 */
handleExport() {
this.download('job/mydoJob/export', {