现场调试修改

This commit is contained in:
lsymicc
2026-09-16 11:38:54 +08:00
parent 92b12ee49e
commit c67d2b127b
6 changed files with 79 additions and 25 deletions

View File

@@ -93,13 +93,24 @@ public class Wcs2WmsController {
/**
* wms手动完成任务
* wms手动完成任务 - 根据任务号
* @param jobParam
* @return
*/
@PostMapping("/manualCompeleteMydoJob")
public AjaxResult manualCompeleteMydoJob(@RequestBody JobParam jobParam) {
return apiService.manualCompeleteTask(jobParam.getTaskNo());
@PostMapping("/manualCompeleteMydoJobByTaskNo")
public AjaxResult manualCompeleteMydoJobByTaskNo(@RequestBody JobParam jobParam) {
return apiService.manualCompeleteTaskByTaskNo(jobParam.getTaskNo());
}
/**
* wms手动完成任务 - 根据作业号
* @param jobParam
* @return
*/
@PostMapping("/manualCompeleteMydoJobByJobId")
public AjaxResult manualCompeleteMydoJobByTJobId(@RequestBody JobParam jobParam) {
return apiService.manualCompeleteTaskByTaskNo(jobParam.getTaskNo());
}

View File

@@ -106,7 +106,9 @@ public interface IApiService
AjaxResult requestWmsSpace(MydoJob mydoJob);
AjaxResult manualCompeleteTask(String taskNo);
AjaxResult manualCompeleteTaskByTaskNo(String taskNo);
AjaxResult manualCompeleteTaskByJobId(String taskNo);
AjaxResult cancelTask(String taskNo);

View File

@@ -4,7 +4,6 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson2.JSON;
@@ -25,7 +24,6 @@ import com.ruoyi.bas.cargospace.domain.BasCargoSpace;
import com.ruoyi.bas.cargospace.service.IBasCargoSpaceService;
import com.ruoyi.bas.port.domain.WcsPort;
import com.ruoyi.bas.port.service.IWcsPortService;
import com.ruoyi.common.GoodsType;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.job.domain.MydoJob;
@@ -457,8 +455,6 @@ public class ApiServiceImpl implements IApiService {
}
/**
* FT517 - 请求wms货位改在AGV放货到输送线后,在巷道口位置执行
* @param mydoJob
@@ -504,9 +500,13 @@ public class ApiServiceImpl implements IApiService {
}
public AjaxResult manualCompeleteTaskByTaskNo(String taskNo) {
return mydoJobService.manualCompeleteTaskByTaskNo(taskNo);
}
public AjaxResult manualCompeleteTask(String taskNo) {
return mydoJobService.manuallyCompeleteTask(taskNo);
public AjaxResult manualCompeleteTaskByJobId(String jobId) {
return mydoJobService.manualCompeleteTaskByJobId(jobId);
}

View File

@@ -90,9 +90,11 @@ public interface IMydoJobService
AjaxResult outhandFinish(String[] jobIds);
AjaxResult manuallyCompeleteTask(String taskNo);
AjaxResult manualCompeleteTaskByTaskNo(String taskNo);
AjaxResult manuallyCompeleteTask(String[] jobIds);
public AjaxResult manualCompeleteTaskByJobId(String jobId);
AjaxResult manualCompeleteTask(String[] jobIds);
AjaxResult cancelTask(String jobId);

View File

@@ -266,7 +266,7 @@ public class MydoJobServiceImpl implements IMydoJobService
* @return
*/
@Override
public AjaxResult manuallyCompeleteTask(String taskNo) {
public AjaxResult manualCompeleteTaskByTaskNo(String taskNo) {
//获取所有符合【任务号】的作业
MydoJob mydoJob = mydoJobMapper.selectMydoJobByTaskNo(taskNo);
@@ -311,13 +311,14 @@ public class MydoJobServiceImpl implements IMydoJobService
return AjaxResult.success("操作成功");
}
/**
* 手动完成指定【任务号】的作业(数组类型参数)
* 手动完成指定【作业号】的作业(数组类型参数)
* @param jobIds
* @return
*/
@Override
public AjaxResult manuallyCompeleteTask(String[] jobIds) {
public AjaxResult manualCompeleteTask(String[] jobIds) {
for (String jobId : jobIds) {
//获取所有符合【任务号】的作业
@@ -365,6 +366,52 @@ public class MydoJobServiceImpl implements IMydoJobService
}
/**
* 手动完成指定【作业号】的作业
* @param jobId
* @return
*/
@Override
public AjaxResult manualCompeleteTaskByJobId(String jobId) {
//获取所有符合【任务号】的作业
MydoJob mydoJob = mydoJobMapper.selectMydoJobByJobId(jobId);
if (mydoJob == null){
return AjaxResult.error("无该任务号的执行作业,请确认该任务是否已经处理和进行其他操作");
}
//标记状态为【手动完成】插入历史表
mydoJob.setStatus(TASK_STATUS_FINISH_MANUAL);
updateMydoJob(mydoJob);
mydoJobMapper.insertHistory(jobId);
try {
//处理堆垛机执行队列和历史记录
DdjDeviceExecutionQueue queue = ddjDeviceExecutionQueueService.selectDdjDeviceExecutionQueueByTaskNo(mydoJob.getTaskNo());
if (queue != null){
DdjDeviceExecutionQueueFinish queueFinish = BeanUtil.copyProperties(queue, DdjDeviceExecutionQueueFinish.class);
ddjDeviceExecutionQueueServiceFinishService.insertDdjDeviceExecutionQueueFinish(queueFinish);
ddjDeviceExecutionQueueService.deleteDdjDeviceExecutionQueueByTaskNo(mydoJob.getTaskNo());
}
} catch (Exception e) {
log.warn("【人工操作】手动完成操作失败:{}", e.getMessage());
}
JobCallBack jobCallBack = new JobCallBack();
jobCallBack.setType(mydoJob.getInOrOut());
jobCallBack.setTaskTypeCode(WMS_TASK_TYPE_FINISH);// wms下发的任务类型
jobCallBack.setMydoJobId(jobId);
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.deleteMydoJobByJobId(jobId);
log.info("【任务手动完成】生成历史记录,插入回传列表,作业号:{},wcs任务号:{}", jobId, mydoJob.getTaskNo());
return AjaxResult.success("操作成功");
}
/**
* 手动作废指定【任务号】的作业
* @param jobId

View File

@@ -1,7 +1,5 @@
package com.ruoyi.schedule.scheduleTask;
import HslCommunication.Profinet.Siemens.SiemensPLCS;
import HslCommunication.Profinet.Siemens.SiemensS7Net;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
@@ -9,20 +7,16 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.UUID;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson2.JSON;
import com.ruoyi.api.domain.agv.ResponseBase;
import com.ruoyi.api.domain.wcs2wms.JobParam;
import com.ruoyi.api.domain.wcs2wms.ResponseResult;
import com.ruoyi.api.domain.wcs2wms.exception.TaskExceptionReceive;
import com.ruoyi.api.domain.wcs2wms.exception.TaskExceptionRequest;
import com.ruoyi.api.domain.wcs2wms.stockin.StockinReceive;
import com.ruoyi.api.service.IApiService;
import com.ruoyi.api.service.IRequestLogService;
import com.ruoyi.bas.cargospace.domain.BasCargoSpace;
import com.ruoyi.bas.cargospace.service.IBasCargoSpaceService;
import com.ruoyi.common.ConvType;
import com.ruoyi.common.TaskStatusCode;
import com.ruoyi.common.TaskType;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.device.ddj.domain.MsgDdj;
@@ -40,12 +34,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import java.util.HashMap;
import java.util.List;
import static com.ruoyi.common.TaskStatusCode.*;
import static com.ruoyi.schedule.plcRead.ssj.PlcSsjRead.writeToSsj;
/**
* 处理wcs执行作业的定时任务类
@@ -113,7 +105,7 @@ public class TaskHandler {
);
if (!jobs.isEmpty()) {
for (MydoJob job : jobs) {
mydoJobService.manuallyCompeleteTask(job.getTaskNo());
mydoJobService.manualCompeleteTaskByTaskNo(job.getTaskNo());
}
}
}