切换正式环境端口,删除任务优化

This commit is contained in:
CTOS
2026-07-05 16:09:37 +08:00
parent d6372ccc0c
commit 45f0f406f6
6 changed files with 43 additions and 15 deletions

View File

@@ -132,6 +132,14 @@ public class MydoJobController extends BaseController
return mydoJobService.outhandFinish(jobIds);
}
@PreAuthorize("@ss.hasAnyPermi('job:mydoJob:cancelJob')")
@Log(title = "出库作废", businessType = BusinessType.OTHER)
@RequestMapping("/cancelJob")
public AjaxResult cancelJob(@RequestParam("jobIds")String[] jobIds)
{
return toAjax(mydoJobService.deleteMydoJobByJobIds(jobIds));
}
@PreAuthorize("@ss.hasAnyPermi('job:mydoJob:resendTaskToEntrance')")
@Log(title = "入口输送机重新下发", businessType = BusinessType.OTHER)
@PutMapping("/resendTaskToEntrance")

View File

@@ -107,20 +107,23 @@ public class MydoJobServiceImpl implements IMydoJobService
public int deleteMydoJobByJobIds(String[] jobIds)
{
for (String jobId : jobIds) {
if (selectMydoJobByJobId(jobId) == null) continue;
MydoJob mydoJob = selectMydoJobByJobId(jobId);
selectMydoJobByJobId(jobId).setStatus(TASK_STATUS_INVALID);
if (mydoJob == null) continue;
mydoJob.setStatus(TASK_STATUS_INVALID);
updateMydoJob(mydoJob);
mydoJobMapper.insertHistory(jobId);
deleteMydoJobByJobId(jobId);
//当执行任务的【删除】操作时(特殊场景需要手动处理异常导致不需要入库时,此时不需要向回传异常)
// 此处顺便处理对应任务号生成的堆垛机执行队列,省去sql直接表中删记录的操作
String taskNo = selectMydoJobByJobId(jobId).getTaskNo();
if (ddjDeviceExecutionQueueService.selectDdjDeviceExecutionQueueByTaskNo(taskNo) != null) {
ddjDeviceExecutionQueueService.deleteDdjDeviceExecutionQueueByTaskNo(taskNo);
DdjDeviceExecutionQueue queue = ddjDeviceExecutionQueueService.selectDdjDeviceExecutionQueueByTaskNo(mydoJob.getTaskNo());
if (queue != null){
ddjDeviceExecutionQueueService.deleteDdjDeviceExecutionQueueByTaskNo(mydoJob.getTaskNo());
}
log.info("【人工操作】执行手动删除作业,作业号:{}", jobId);
}
return mydoJobMapper.deleteMydoJobByJobIds(jobIds);
}
@@ -134,6 +137,26 @@ public class MydoJobServiceImpl implements IMydoJobService
@Override
public int deleteMydoJobByJobId(String jobId)
{
try{
MydoJob mydoJob = selectMydoJobByJobId(jobId);
if (mydoJob == null) return 0;
mydoJob.setStatus(TASK_STATUS_INVALID);
updateMydoJob(mydoJob);
mydoJobMapper.insertHistory(jobId);
//当执行任务的【删除】操作时(特殊场景需要手动处理异常导致不需要入库时,此时不需要向回传异常)
// 此处顺便处理对应任务号生成的堆垛机执行队列,省去sql直接表中删记录的操作
String taskNo = selectMydoJobByJobId(jobId).getTaskNo();
if (taskNo != null || taskNo != "") {
ddjDeviceExecutionQueueService.deleteDdjDeviceExecutionQueueByTaskNo(taskNo);
}
log.info("【人工操作】执行手动删除作业,作业号:{}", jobId);
}catch (Exception e){
log.warn("【提示】操作失败,发生了未知错误:{}", e.getMessage());
}
return mydoJobMapper.deleteMydoJobByJobId(jobId);
}