料架搬运任务处理
This commit is contained in:
@@ -1,20 +1,20 @@
|
||||
package com.ruoyi.api.controller;
|
||||
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.ruoyi.api.domain.RequestEnter;
|
||||
import com.ruoyi.api.domain.WmsJobRequest;
|
||||
import com.ruoyi.api.service.IToWmsService;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.text.Convert;
|
||||
import com.ruoyi.job.mydojob.domain.MydoJob;
|
||||
import com.ruoyi.job.mydojob.service.IMydoJobService;
|
||||
import com.ruoyi.log.domain.RequestLog;
|
||||
import com.ruoyi.log.service.IRequestLogService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 作业统计 Controller
|
||||
@@ -32,9 +32,9 @@ public class ToWmsApiController {
|
||||
* 入库任务请求
|
||||
*/
|
||||
@PostMapping("/requestEnterByTrayCode")
|
||||
public AjaxResult requestEnterByTrayCode(@RequestBody MydoJob mydoJob) {
|
||||
AjaxResult ajaxResult = toWmsService.requestEnterByTrayCode(mydoJob);
|
||||
RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(mydoJob), "InJobByTrayCode",ajaxResult);
|
||||
public AjaxResult requestEnterByTrayCode(@RequestBody RequestEnter requestEnter) {
|
||||
AjaxResult ajaxResult = toWmsService.requestEnterByTrayCode(requestEnter);
|
||||
RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(requestEnter), "InJobByTrayCode",ajaxResult);
|
||||
requestLogService.insertRequestLog(requestLog);
|
||||
return ajaxResult;
|
||||
}
|
||||
@@ -42,20 +42,20 @@ public class ToWmsApiController {
|
||||
* 入库任务请求
|
||||
*/
|
||||
@PostMapping("/requestEnterByEnterId")
|
||||
public AjaxResult requestEnterByEnterId(@RequestBody MydoJob mydoJob) {
|
||||
AjaxResult ajaxResult = toWmsService.requestEnterByEnterId(mydoJob);
|
||||
RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(mydoJob), "InJobByEnterId",ajaxResult);
|
||||
public AjaxResult requestEnterByEnterId(@RequestBody RequestEnter requestEnter) {
|
||||
AjaxResult ajaxResult = toWmsService.requestEnterByEnterId(requestEnter);
|
||||
RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(requestEnter), "InJobByEnterId",ajaxResult);
|
||||
requestLogService.insertRequestLog(requestLog);
|
||||
return ajaxResult;
|
||||
}
|
||||
|
||||
/**
|
||||
* 接收开始信号
|
||||
* 小车接收开始信号
|
||||
*/
|
||||
@PostMapping("/startSignal")
|
||||
public AjaxResult startSignal(@RequestBody MydoJob mydoJob) {
|
||||
AjaxResult ajaxResult = toWmsService.startSignal(mydoJob);
|
||||
RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(mydoJob), "startSignal",ajaxResult);
|
||||
public AjaxResult startSignal(@RequestBody RequestEnter requestEnter) {
|
||||
AjaxResult ajaxResult = toWmsService.startSignal(requestEnter);
|
||||
RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(requestEnter), "startSignal",ajaxResult);
|
||||
requestLogService.insertRequestLog(requestLog);
|
||||
return ajaxResult;
|
||||
}
|
||||
@@ -101,18 +101,6 @@ public class ToWmsApiController {
|
||||
return ajaxResult;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取任务
|
||||
* @param mydoJob
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/getJob")
|
||||
public AjaxResult getJob(@RequestBody MydoJob mydoJob) {
|
||||
AjaxResult ajaxResult = toWmsService.getJob(mydoJob);
|
||||
RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(mydoJob), "getJob",ajaxResult);
|
||||
requestLogService.insertRequestLog(requestLog);
|
||||
return ajaxResult;
|
||||
}
|
||||
|
||||
/**
|
||||
* ctu取完箱子反馈
|
||||
@@ -121,7 +109,6 @@ public class ToWmsApiController {
|
||||
* }
|
||||
* @return
|
||||
*/
|
||||
|
||||
@PostMapping("/takeCompleted")
|
||||
public AjaxResult takeCompleted(@RequestBody Map<String, Object> map) {
|
||||
AjaxResult ajaxResult = toWmsService.takeCompleted(map);
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.ruoyi.api.domain;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class RequestEnter {
|
||||
private String entranceId;
|
||||
private String trayCode;
|
||||
private String taskNo;
|
||||
private String wmsType;
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.ruoyi.api.service;
|
||||
|
||||
import com.ruoyi.api.domain.RequestEnter;
|
||||
import com.ruoyi.api.domain.WmsJobRequest;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.job.mydojob.domain.MydoJob;
|
||||
@@ -10,19 +11,44 @@ import java.util.Map;
|
||||
* 作业统计 Service 接口
|
||||
*/
|
||||
public interface IToWmsService {
|
||||
|
||||
AjaxResult requestEnterByTrayCode(MydoJob mydoJob);
|
||||
AjaxResult requestEnterByEnterId(MydoJob mydoJob);
|
||||
|
||||
/**
|
||||
* 入库任务请求根据托盘码
|
||||
*/
|
||||
AjaxResult requestEnterByTrayCode(RequestEnter requestEnter);
|
||||
/**
|
||||
* 入库任务请求
|
||||
*/
|
||||
AjaxResult requestEnterByEnterId(RequestEnter requestEnter);
|
||||
/**
|
||||
* 入库、出库 任务完成回传
|
||||
* Map<String, String>
|
||||
* "wmsType": "任务类型" 1-入库 2-出库 3-agv搬运,
|
||||
* taskNo:出库 入库任务号
|
||||
* trayCode:托盘码
|
||||
* positionCode1:起点
|
||||
* positionCode2:终点
|
||||
* containerCode:容器编码
|
||||
*
|
||||
*/
|
||||
AjaxResult jobFinish(WmsJobRequest wmsJobRequest);
|
||||
|
||||
/**
|
||||
* 放货有货,重新分配货位
|
||||
*/
|
||||
AjaxResult reAssign(MydoJob mydoJob);
|
||||
|
||||
/**
|
||||
* 取货无货,重新分配物料
|
||||
*/
|
||||
AjaxResult reMaterial(MydoJob mydoJob);
|
||||
|
||||
AjaxResult getJob(MydoJob mydoJob);
|
||||
|
||||
AjaxResult startSignal(MydoJob mydoJob);
|
||||
|
||||
/**
|
||||
* 小车接收开始信号
|
||||
*/
|
||||
AjaxResult startSignal(RequestEnter requestEnter);
|
||||
/**
|
||||
* ctu取完箱子反馈
|
||||
* @param map{
|
||||
* "lljCode"
|
||||
* }
|
||||
* @return
|
||||
*/
|
||||
AjaxResult takeCompleted(Map<String, Object> map);
|
||||
}
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
package com.ruoyi.api.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.ruoyi.api.domain.RequestEnter;
|
||||
import com.ruoyi.api.domain.WmsJobRequest;
|
||||
import com.ruoyi.api.service.IToWmsService;
|
||||
import com.ruoyi.bas.cargoSpace.domain.BasCargoSpace;
|
||||
@@ -14,6 +16,8 @@ import com.ruoyi.bas.tag.service.IBasTagService;
|
||||
import com.ruoyi.bas.taskNo.service.IBasTaskNoService;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.utils.MessageUtils;
|
||||
import com.ruoyi.device.agv.domain.AgvContainerTask;
|
||||
import com.ruoyi.device.agv.service.IAgvContainerTaskService;
|
||||
import com.ruoyi.job.mydojob.domain.MydoJob;
|
||||
import com.ruoyi.job.mydojob.service.IMydoJobService;
|
||||
import com.ruoyi.job.mydojobdetail.domain.MydoJobDetail;
|
||||
@@ -27,6 +31,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -55,13 +60,15 @@ public class ToWmsServiceImpl implements IToWmsService {
|
||||
private IOutStockoutDetailService outStockoutDetailService;
|
||||
@Autowired
|
||||
private IOutStockoutService outStockoutService;
|
||||
@Autowired
|
||||
private IAgvContainerTaskService agvContainerTaskService;
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public AjaxResult requestEnterByTrayCode(MydoJob param) {
|
||||
public AjaxResult requestEnterByTrayCode(RequestEnter requestEnter) {
|
||||
MydoJob mydoJobParam = new MydoJob();
|
||||
mydoJobParam.setTrayCode(param.getTrayCode());
|
||||
mydoJobParam.setTrayCode(requestEnter.getTrayCode());
|
||||
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobListApi(mydoJobParam);
|
||||
if(mydoJobs.isEmpty()){
|
||||
return AjaxResult.warn(MessageUtils.message("warn.message"));
|
||||
@@ -69,7 +76,7 @@ public class ToWmsServiceImpl implements IToWmsService {
|
||||
MydoJob mydoJob = mydoJobs.get(0);
|
||||
if ("1".equals(mydoJob.getExecutionPhase())){
|
||||
mydoJob.setExecutionPhase("2");
|
||||
mydoJob.setEntranceId(param.getEntranceId());
|
||||
mydoJob.setEntranceId(requestEnter.getEntranceId());
|
||||
mydoJob.setStatus("2");
|
||||
mydoJobService.updateMydoJob(mydoJob);
|
||||
}
|
||||
@@ -77,9 +84,9 @@ public class ToWmsServiceImpl implements IToWmsService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public AjaxResult requestEnterByEnterId(MydoJob param) {
|
||||
public AjaxResult requestEnterByEnterId(RequestEnter requestEnter) {
|
||||
MydoJob mydoJobParam = new MydoJob();
|
||||
mydoJobParam.setEntranceId(param.getEntranceId());
|
||||
mydoJobParam.setEntranceId(requestEnter.getEntranceId());
|
||||
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobListApi(mydoJobParam);
|
||||
if(mydoJobs.isEmpty()){
|
||||
return AjaxResult.warn(MessageUtils.message("warn.message"));
|
||||
@@ -88,7 +95,7 @@ public class ToWmsServiceImpl implements IToWmsService {
|
||||
for (MydoJob mydoJob : mydoJobs) {
|
||||
if ("1".equals(mydoJob.getExecutionPhase())){
|
||||
mydoJob.setExecutionPhase("2");
|
||||
mydoJob.setTrayCode(param.getTrayCode());
|
||||
mydoJob.setTrayCode(requestEnter.getTrayCode());
|
||||
mydoJob.setStatus("2");
|
||||
mydoJobService.updateMydoJob(mydoJob);
|
||||
}
|
||||
@@ -188,6 +195,20 @@ public class ToWmsServiceImpl implements IToWmsService {
|
||||
BasContainer basContainer = basContainers.get(0);
|
||||
basContainer.setPortName(wmsJobRequest.getPositionCode2());
|
||||
basContainerService.updateBasContainer(basContainer);
|
||||
|
||||
//删除agv任务
|
||||
AgvContainerTask agvContainerTaskParam = new AgvContainerTask();
|
||||
agvContainerTaskParam.setContainer(basContainer.getContainerId());
|
||||
List<AgvContainerTask> agvContainerTasks = agvContainerTaskService.selectAgvContainerTaskList(agvContainerTaskParam);
|
||||
if (CollUtil.isNotEmpty(agvContainerTasks)){
|
||||
for (AgvContainerTask agvContainerTask : agvContainerTasks) {
|
||||
agvContainerTask.setStatus("3");
|
||||
agvContainerTask.setFinishTime(DateUtil.formatDateTime(new Date()));
|
||||
agvContainerTaskService.updateAgvContainerTask(agvContainerTask);
|
||||
agvContainerTaskService.insertHistory(agvContainerTask.getId());
|
||||
agvContainerTaskService.deleteAgvContainerTaskById(agvContainerTask.getId());
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
log.error("作业类型错误");
|
||||
@@ -227,33 +248,51 @@ public class ToWmsServiceImpl implements IToWmsService {
|
||||
return outStockoutService.autoAllot(stockOutId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 小车接收开始信号
|
||||
*/
|
||||
@Override
|
||||
public AjaxResult getJob(MydoJob mydoJob) {
|
||||
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobListApi(mydoJob);
|
||||
if (mydoJobs.isEmpty()){
|
||||
return AjaxResult.error();
|
||||
}else {
|
||||
return AjaxResult.success(mydoJobs);
|
||||
public AjaxResult startSignal(RequestEnter requestEnter) {
|
||||
switch (requestEnter.getWmsType()){
|
||||
case "1":
|
||||
case "2":
|
||||
MydoJob mydoJobParam = new MydoJob();
|
||||
mydoJobParam.setTaskNo(requestEnter.getTaskNo());
|
||||
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobListApi(mydoJobParam);
|
||||
if (mydoJobs.isEmpty()){
|
||||
return AjaxResult.error();
|
||||
}
|
||||
for (MydoJob mydoJob1 : mydoJobs) {
|
||||
mydoJob1.setStatus("3");
|
||||
mydoJob1.setStartTime(DateUtil.formatDateTime(DateUtil.date()));
|
||||
mydoJobService.updateMydoJob(mydoJob1);
|
||||
}
|
||||
return AjaxResult.success();
|
||||
case "3":
|
||||
AgvContainerTask agvContainerTaskParam = new AgvContainerTask();
|
||||
agvContainerTaskParam.setTaskNo(requestEnter.getTaskNo());
|
||||
List<AgvContainerTask> agvContainerTasks = agvContainerTaskService.selectAgvContainerTaskList(agvContainerTaskParam);
|
||||
if (CollUtil.isEmpty(agvContainerTasks)){
|
||||
return AjaxResult.error();
|
||||
}
|
||||
for (AgvContainerTask agvContainerTask : agvContainerTasks) {
|
||||
agvContainerTask.setStatus("2");
|
||||
agvContainerTask.setStartTime(DateUtil.formatDateTime(DateUtil.date()));
|
||||
agvContainerTaskService.updateAgvContainerTask(agvContainerTask);
|
||||
}
|
||||
return AjaxResult.success();
|
||||
default:
|
||||
return AjaxResult.error();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public AjaxResult startSignal(MydoJob mydoJob) {
|
||||
MydoJob mydoJobParam = new MydoJob();
|
||||
mydoJobParam.setTaskNo(mydoJob.getTaskNo());
|
||||
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobListApi(mydoJobParam);
|
||||
if (mydoJobs.isEmpty()){
|
||||
return AjaxResult.error();
|
||||
}else {
|
||||
for (MydoJob mydoJob1 : mydoJobs) {
|
||||
mydoJob1.setStatus("3");
|
||||
mydoJob1.setStartTime(DateUtil.formatDateTime(DateUtil.date()));
|
||||
mydoJobService.updateMydoJob(mydoJob1);
|
||||
}
|
||||
return AjaxResult.success();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* ctu取完箱子反馈
|
||||
* @param map{
|
||||
* "lljCode"
|
||||
* }
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public AjaxResult takeCompleted(Map<String, Object> map) {
|
||||
String lljCode = Convert.toStr(map.get("lljCode"));
|
||||
|
||||
Reference in New Issue
Block a user