PTL配送逻辑
This commit is contained in:
@@ -1,6 +1,8 @@
|
|||||||
package com.ruoyi.api.controller;
|
package com.ruoyi.api.controller;
|
||||||
|
|
||||||
|
import com.ruoyi.api.domain.AgvMoveParam;
|
||||||
import com.ruoyi.api.domain.GenAgvSchedulingTaskRequest;
|
import com.ruoyi.api.domain.GenAgvSchedulingTaskRequest;
|
||||||
|
import com.ruoyi.api.domain.WmsJobRequest;
|
||||||
import com.ruoyi.api.service.IToWcsService;
|
import com.ruoyi.api.service.IToWcsService;
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -40,7 +42,7 @@ public class ToWcsApiController {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@PostMapping("/pushAgvMoveJob")
|
@PostMapping("/pushAgvMoveJob")
|
||||||
public AjaxResult pushAgvMoveJob(@RequestBody GenAgvSchedulingTaskRequest genAgvSchedulingTaskRequest) {
|
public AjaxResult pushAgvMoveJob(@RequestBody AgvMoveParam agvMoveParam) {
|
||||||
return toWcsService.pushAgvMoveJob(genAgvSchedulingTaskRequest);
|
return toWcsService.pushAgvMoveJob(agvMoveParam);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -105,7 +105,8 @@ public class ToWmsApiController {
|
|||||||
/**
|
/**
|
||||||
* ctu取完箱子反馈
|
* ctu取完箱子反馈
|
||||||
* @param map{
|
* @param map{
|
||||||
* "lljCode"
|
* "portCode"
|
||||||
|
* "wmsType"
|
||||||
* }
|
* }
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package com.ruoyi.api.domain;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class AgvMoveParam {
|
||||||
|
private String startPoint;
|
||||||
|
private String endPoint;
|
||||||
|
private String containerCode;
|
||||||
|
private String taskNo;
|
||||||
|
}
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.ruoyi.api.service;
|
package com.ruoyi.api.service;
|
||||||
|
|
||||||
|
import com.ruoyi.api.domain.AgvMoveParam;
|
||||||
import com.ruoyi.api.domain.GenAgvSchedulingTaskRequest;
|
import com.ruoyi.api.domain.GenAgvSchedulingTaskRequest;
|
||||||
import com.ruoyi.api.domain.WmsJobRequest;
|
import com.ruoyi.api.domain.WmsJobRequest;
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
@@ -20,7 +21,7 @@ public interface IToWcsService {
|
|||||||
* 推送agv搬运作业
|
* 推送agv搬运作业
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
AjaxResult pushAgvMoveJob(GenAgvSchedulingTaskRequest genAgvSchedulingTaskRequest);
|
AjaxResult pushAgvMoveJob(AgvMoveParam agvMoveParam);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 推送流利架入库任务
|
* 推送流利架入库任务
|
||||||
|
|||||||
@@ -2,9 +2,11 @@ package com.ruoyi.api.service.impl;
|
|||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.util.IdUtil;
|
||||||
import cn.hutool.core.util.ObjUtil;
|
import cn.hutool.core.util.ObjUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
|
import com.ruoyi.api.domain.AgvMoveParam;
|
||||||
import com.ruoyi.api.domain.GenAgvSchedulingTaskRequest;
|
import com.ruoyi.api.domain.GenAgvSchedulingTaskRequest;
|
||||||
import com.ruoyi.api.domain.WmsJobRequest;
|
import com.ruoyi.api.domain.WmsJobRequest;
|
||||||
import com.ruoyi.api.service.IToWcsService;
|
import com.ruoyi.api.service.IToWcsService;
|
||||||
@@ -17,6 +19,8 @@ import com.ruoyi.bas.taskNo.service.IBasTaskNoService;
|
|||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
import com.ruoyi.common.core.text.Convert;
|
import com.ruoyi.common.core.text.Convert;
|
||||||
import com.ruoyi.common.utils.MessageUtils;
|
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.domain.MydoJob;
|
||||||
import com.ruoyi.job.mydojob.service.IMydoJobService;
|
import com.ruoyi.job.mydojob.service.IMydoJobService;
|
||||||
import com.ruoyi.job.mydojobdetail.domain.MydoJobDetail;
|
import com.ruoyi.job.mydojobdetail.domain.MydoJobDetail;
|
||||||
@@ -28,10 +32,7 @@ import com.ruoyi.out.tagTask.service.ITagTaskService;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 作业统计 Service 实现
|
* 作业统计 Service 实现
|
||||||
@@ -42,6 +43,8 @@ public class ToWcsServiceImpl implements IToWcsService {
|
|||||||
private IRequestLogService requestLogService;
|
private IRequestLogService requestLogService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IMydoJobService mydoJobService;
|
private IMydoJobService mydoJobService;
|
||||||
|
@Autowired
|
||||||
|
private IAgvContainerTaskService agvContainerTaskService;
|
||||||
|
|
||||||
public static final String PUSH_OUT_MYDO_JOB = "http://localhost:8081/wcs2Wms/api/receiveOutMydoJob";
|
public static final String PUSH_OUT_MYDO_JOB = "http://localhost:8081/wcs2Wms/api/receiveOutMydoJob";
|
||||||
public static final String PUSH_IN_MYDO_JOB = "http://localhost:8081/wcs2Wms/api/receiveInMydoJob";
|
public static final String PUSH_IN_MYDO_JOB = "http://localhost:8081/wcs2Wms/api/receiveInMydoJob";
|
||||||
@@ -72,9 +75,18 @@ public class ToWcsServiceImpl implements IToWcsService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AjaxResult pushAgvMoveJob(GenAgvSchedulingTaskRequest genAgvSchedulingTaskRequest) {
|
public AjaxResult pushAgvMoveJob(AgvMoveParam agvMoveParam) {
|
||||||
RequestLog requestLog = requestLogService.getRequestLog(PUSH_AGV_MOVE_JOB, JSONUtil.toJsonStr(genAgvSchedulingTaskRequest), "推送出库任务");
|
agvMoveParam.setTaskNo(IdUtil.fastSimpleUUID());
|
||||||
|
RequestLog requestLog = requestLogService.getRequestLog(PUSH_AGV_MOVE_JOB, JSONUtil.toJsonStr(agvMoveParam), "推送搬运任务");
|
||||||
if ("1".equals(requestLog.getIsSuccessful())){
|
if ("1".equals(requestLog.getIsSuccessful())){
|
||||||
|
AgvContainerTask agvContainerTask = new AgvContainerTask();
|
||||||
|
agvContainerTask.setContainer(agvMoveParam.getContainerCode());
|
||||||
|
agvContainerTask.setStartPoint(agvMoveParam.getStartPoint());
|
||||||
|
agvContainerTask.setEndPoint(agvMoveParam.getEndPoint());
|
||||||
|
agvContainerTask.setStatus("0");
|
||||||
|
agvContainerTask.setTaskNo(agvMoveParam.getTaskNo());
|
||||||
|
agvContainerTask.setCreateTime(new Date());
|
||||||
|
agvContainerTaskService.insertAgvContainerTask(agvContainerTask);
|
||||||
return AjaxResult.success();
|
return AjaxResult.success();
|
||||||
}
|
}
|
||||||
return AjaxResult.error(requestLog.getDuration());
|
return AjaxResult.error(requestLog.getDuration());
|
||||||
|
|||||||
@@ -185,7 +185,7 @@ public class ToWmsServiceImpl implements IToWmsService {
|
|||||||
//绑定料架和点位
|
//绑定料架和点位
|
||||||
BasContainer basContainerParam = new BasContainer();
|
BasContainer basContainerParam = new BasContainer();
|
||||||
basContainerParam.setContainerId(wmsJobRequest.getContainerCode());
|
basContainerParam.setContainerId(wmsJobRequest.getContainerCode());
|
||||||
basContainerParam.setPortName(wmsJobRequest.getPositionCode1());
|
//basContainerParam.setPortName(wmsJobRequest.getPositionCode2());
|
||||||
List<BasContainer> basContainers = basContainerService.selectBasContainerList(basContainerParam);
|
List<BasContainer> basContainers = basContainerService.selectBasContainerList(basContainerParam);
|
||||||
if (basContainers.isEmpty()){
|
if (basContainers.isEmpty()){
|
||||||
log.error("没有该料架 {}", wmsJobRequest.getContainerCode());
|
log.error("没有该料架 {}", wmsJobRequest.getContainerCode());
|
||||||
@@ -289,19 +289,42 @@ public class ToWmsServiceImpl implements IToWmsService {
|
|||||||
/**
|
/**
|
||||||
* ctu取完箱子反馈
|
* ctu取完箱子反馈
|
||||||
* @param map{
|
* @param map{
|
||||||
* "lljCode"
|
* "portCode"
|
||||||
|
* "wmsType"
|
||||||
* }
|
* }
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public AjaxResult takeCompleted(Map<String, Object> map) {
|
public AjaxResult takeCompleted(Map<String, Object> map) {
|
||||||
String lljCode = Convert.toStr(map.get("lljCode"));
|
String wmsType = Convert.toStr(map.get("wmsType"));
|
||||||
BasTag basTagParam = new BasTag();
|
|
||||||
basTagParam.setPickAdd(lljCode);
|
switch (wmsType){
|
||||||
List<BasTag> basTags = iBasTagService.selectBasTagList(basTagParam);
|
case "1":
|
||||||
for (BasTag basTag : basTags) {
|
//流利架入库
|
||||||
basTag.setSpare2("2");
|
String lljCode = Convert.toStr(map.get("portCode"));
|
||||||
iBasTagService.updateBasTag(basTag);
|
BasTag basTagParam = new BasTag();
|
||||||
|
basTagParam.setPickAdd(lljCode);
|
||||||
|
List<BasTag> basTags = iBasTagService.selectBasTagList(basTagParam);
|
||||||
|
for (BasTag basTag : basTags) {
|
||||||
|
basTag.setSpare2("2");
|
||||||
|
iBasTagService.updateBasTag(basTag);
|
||||||
|
}
|
||||||
|
case "2":
|
||||||
|
|
||||||
|
break;
|
||||||
|
case "3":
|
||||||
|
//小车搬运料架
|
||||||
|
String startPoint = Convert.toStr(map.get("portCode"));
|
||||||
|
BasContainer basContainerParam = new BasContainer();
|
||||||
|
basContainerParam.setPortName(startPoint);
|
||||||
|
List<BasContainer> basContainers = basContainerService.selectBasContainerList(basContainerParam);
|
||||||
|
for (BasContainer basContainer : basContainers) {
|
||||||
|
basContainer.setPortName("");
|
||||||
|
basContainerService.updateBasContainer(basContainer);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw new RuntimeException("wmsType错误");
|
||||||
}
|
}
|
||||||
return AjaxResult.success();
|
return AjaxResult.success();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import cn.hutool.core.util.StrUtil;
|
|||||||
import cn.hutool.http.HttpUtil;
|
import cn.hutool.http.HttpUtil;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
|
import com.ruoyi.api.domain.AgvMoveParam;
|
||||||
import com.ruoyi.api.service.IToWcsService;
|
import com.ruoyi.api.service.IToWcsService;
|
||||||
import com.ruoyi.bas.cargoSpace.domain.BasCargoSpace;
|
import com.ruoyi.bas.cargoSpace.domain.BasCargoSpace;
|
||||||
import com.ruoyi.bas.cargoSpace.service.IBasCargoSpaceService;
|
import com.ruoyi.bas.cargoSpace.service.IBasCargoSpaceService;
|
||||||
@@ -633,12 +634,12 @@ public class PdaServiceImp implements PdaService {
|
|||||||
//todo 调用agv搬运接口
|
//todo 调用agv搬运接口
|
||||||
//使用HttpUtil post请求,参数为startPoint,endPoint,和containerCode
|
//使用HttpUtil post请求,参数为startPoint,endPoint,和containerCode
|
||||||
String taskNo = IdUtil.fastSimpleUUID();
|
String taskNo = IdUtil.fastSimpleUUID();
|
||||||
Map<String,Object> map = new HashMap<>();
|
AgvMoveParam agvMoveParam =new AgvMoveParam();
|
||||||
map.put("startPoint", startPoint);
|
agvMoveParam.setStartPoint(startPoint);
|
||||||
map.put("endPoint", startPoint);
|
agvMoveParam.setEndPoint(endPoint);
|
||||||
map.put("wmsTrayCode", basContainer1.getContainerId());
|
agvMoveParam.setContainerCode(basContainer1.getContainerId());
|
||||||
map.put("taskNo", taskNo);
|
agvMoveParam.setTaskNo(taskNo);
|
||||||
String result = HttpUtil.post("http://192.168.1.100:8080/agv/api/receiveAgvMoveJob", JSONUtil.toJsonStr( map));
|
String result = HttpUtil.post("http://192.168.1.100:8080/agv/api/receiveAgvMoveJob", JSONUtil.toJsonStr( agvMoveParam));
|
||||||
//接口的返回结果为AjaxResult,从result中获取code
|
//接口的返回结果为AjaxResult,从result中获取code
|
||||||
//获取code
|
//获取code
|
||||||
int code = JSONObject.parseObject(result).getIntValue("code");
|
int code = JSONObject.parseObject(result).getIntValue("code");
|
||||||
|
|||||||
Reference in New Issue
Block a user