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

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

@@ -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("操作成功");
}