wms出库流程测试修改

This commit is contained in:
liuhanqing
2025-07-17 17:16:31 +08:00
parent 1cbb1a12a8
commit 230d8ea118
15 changed files with 123 additions and 59 deletions

View File

@@ -3,13 +3,10 @@ package com.ruoyi.api.controller;
import com.ruoyi.api.domain.GenAgvSchedulingTaskRequest;
import com.ruoyi.api.service.IToWcsService;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.job.mydojob.domain.MydoJob;
import com.ruoyi.job.mydojob.service.IMydoJobService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 作业统计 Controller
*/
@@ -22,12 +19,12 @@ public class ToWcsApiController {
private IToWcsService toWcsService;
/**
* 推送AGV任务
* @return
* 推送CTU出库任务
*/
@PostMapping("/pushOutMydoJob")
public AjaxResult pushOutMydoJob(@RequestBody MydoJob mydoJob) {
return toWcsService.pushOutMydoJob(mydoJob);
//@PostMapping("/pushOutMydoJob")
@Scheduled(fixedDelay=10000)
public void pushOutMydoJob() {
toWcsService.pushOutMydoJob();
}
/**

View File

@@ -11,7 +11,7 @@ import com.ruoyi.job.mydojob.domain.MydoJob;
public interface IToWcsService {
AjaxResult pushOutMydoJob(MydoJob mydoJob);
void pushOutMydoJob();
AjaxResult pushAgvMoveJob(GenAgvSchedulingTaskRequest genAgvSchedulingTaskRequest);
}

View File

@@ -24,6 +24,7 @@ import com.ruoyi.out.tagTask.service.ITagTaskService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
@@ -33,20 +34,30 @@ import java.util.List;
public class ToWcsServiceImpl implements IToWcsService {
@Autowired
private IRequestLogService requestLogService;
public static final String PUSH_OUT_MYDO_JOB = "pushOutMydoJob";
public static final String PUSH_AGV_MOVE_JOB = "pushOutMydoJob";
@Autowired
private IMydoJobService mydoJobService;
public static final String PUSH_OUT_MYDO_JOB = "http://localhost:8081/agv/api/receiveOutMydoJob";
public static final String PUSH_AGV_MOVE_JOB = "http://localhost:8081/agv/api/receiveAgvMoveJob";
@Override
public AjaxResult pushOutMydoJob(MydoJob mydoJob) {
RequestLog requestLog = requestLogService.getRequestLog(PUSH_OUT_MYDO_JOB, JSONUtil.toJsonStr(mydoJob), "推送出库任务");
if ("1".equals(requestLog.getIsSuccessful())){
return AjaxResult.success();
public void pushOutMydoJob() {
//查询所有未推送的料箱出库作业
MydoJob mydoJobParam = new MydoJob();
mydoJobParam.setStatus("1");
List<String> list = new ArrayList<>();
list.add("21");
list.add("23");
mydoJobParam.setInOutIds(list);
List<MydoJob> outMydoJobs = mydoJobService.selectMydoJobListApi(mydoJobParam);
for (MydoJob outMydoJob : outMydoJobs) {
RequestLog requestLog = requestLogService.getRequestLog(PUSH_OUT_MYDO_JOB, JSONUtil.toJsonStr(outMydoJob), "推送出库任务");
if ("1".equals(requestLog.getIsSuccessful())){
outMydoJob.setStatus("3");
mydoJobService.updateMydoJob(outMydoJob);
}
}
return AjaxResult.error(requestLog.getDuration());
}
@Override

View File

@@ -110,9 +110,6 @@ public class ToWmsServiceImpl implements IToWmsService {
mydoJobService.manualCompleted(inMydoJob);
break;
case "2":
if (StrUtil.isEmpty(wmsJobRequest.getTrayCode())){
return AjaxResult.error("托盘码不能为空");
}
if (StrUtil.isEmpty(wmsJobRequest.getPickSsj())){
return AjaxResult.error("拣选工位不能为空");
}
@@ -121,12 +118,12 @@ public class ToWmsServiceImpl implements IToWmsService {
}
//出库
mydoJobParam.setTaskNo(wmsJobRequest.getTaskNo());
mydoJobParam.setTrayCode(wmsJobRequest.getTrayCode());
//mydoJobParam.setTrayCode(wmsJobRequest.getTrayCode());
List<MydoJob> outMydoJobs = mydoJobService.selectMydoJobListApi(mydoJobParam);
if (outMydoJobs.isEmpty()){
return AjaxResult.error("没有该作业 taskNo: {}", wmsJobRequest.getTaskNo());
}
//mydoJobService.OuthandFinish(outMydoJobs.stream().map(MydoJob::getJobId).toArray(String[]::new));
MydoJob outJob = outMydoJobs.get(0);
//查询拣选工位绑定的电子标签
BasTag tagParam = new BasTag();
tagParam.setPickAdd(wmsJobRequest.getPickSsj());
@@ -135,7 +132,7 @@ public class ToWmsServiceImpl implements IToWmsService {
return AjaxResult.error("没有该拣选工位绑定的电子标签");
}
BasTag basTag = tags.get(0);
basTag.setTrayCode(wmsJobRequest.getTrayCode());
basTag.setTrayCode(outJob.getTrayCode());
iBasTagService.updateBasTag(basTag);
//同步电子标签
MydoJobDetail param = new MydoJobDetail();