PTL配送逻辑
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
package com.ruoyi.api.controller;
|
||||
|
||||
import com.ruoyi.api.domain.AgvMoveParam;
|
||||
import com.ruoyi.api.domain.GenAgvSchedulingTaskRequest;
|
||||
import com.ruoyi.api.domain.WmsJobRequest;
|
||||
import com.ruoyi.api.service.IToWcsService;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -40,7 +42,7 @@ public class ToWcsApiController {
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/pushAgvMoveJob")
|
||||
public AjaxResult pushAgvMoveJob(@RequestBody GenAgvSchedulingTaskRequest genAgvSchedulingTaskRequest) {
|
||||
return toWcsService.pushAgvMoveJob(genAgvSchedulingTaskRequest);
|
||||
public AjaxResult pushAgvMoveJob(@RequestBody AgvMoveParam agvMoveParam) {
|
||||
return toWcsService.pushAgvMoveJob(agvMoveParam);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -105,7 +105,8 @@ public class ToWmsApiController {
|
||||
/**
|
||||
* ctu取完箱子反馈
|
||||
* @param map{
|
||||
* "lljCode"
|
||||
* "portCode"
|
||||
* "wmsType"
|
||||
* }
|
||||
* @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;
|
||||
|
||||
import com.ruoyi.api.domain.AgvMoveParam;
|
||||
import com.ruoyi.api.domain.GenAgvSchedulingTaskRequest;
|
||||
import com.ruoyi.api.domain.WmsJobRequest;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
@@ -20,7 +21,7 @@ public interface IToWcsService {
|
||||
* 推送agv搬运作业
|
||||
* @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.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.ruoyi.api.domain.AgvMoveParam;
|
||||
import com.ruoyi.api.domain.GenAgvSchedulingTaskRequest;
|
||||
import com.ruoyi.api.domain.WmsJobRequest;
|
||||
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.text.Convert;
|
||||
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;
|
||||
@@ -28,10 +32,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.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 作业统计 Service 实现
|
||||
@@ -42,6 +43,8 @@ public class ToWcsServiceImpl implements IToWcsService {
|
||||
private IRequestLogService requestLogService;
|
||||
@Autowired
|
||||
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_IN_MYDO_JOB = "http://localhost:8081/wcs2Wms/api/receiveInMydoJob";
|
||||
@@ -72,9 +75,18 @@ public class ToWcsServiceImpl implements IToWcsService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public AjaxResult pushAgvMoveJob(GenAgvSchedulingTaskRequest genAgvSchedulingTaskRequest) {
|
||||
RequestLog requestLog = requestLogService.getRequestLog(PUSH_AGV_MOVE_JOB, JSONUtil.toJsonStr(genAgvSchedulingTaskRequest), "推送出库任务");
|
||||
public AjaxResult pushAgvMoveJob(AgvMoveParam agvMoveParam) {
|
||||
agvMoveParam.setTaskNo(IdUtil.fastSimpleUUID());
|
||||
RequestLog requestLog = requestLogService.getRequestLog(PUSH_AGV_MOVE_JOB, JSONUtil.toJsonStr(agvMoveParam), "推送搬运任务");
|
||||
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.error(requestLog.getDuration());
|
||||
|
||||
@@ -185,7 +185,7 @@ public class ToWmsServiceImpl implements IToWmsService {
|
||||
//绑定料架和点位
|
||||
BasContainer basContainerParam = new BasContainer();
|
||||
basContainerParam.setContainerId(wmsJobRequest.getContainerCode());
|
||||
basContainerParam.setPortName(wmsJobRequest.getPositionCode1());
|
||||
//basContainerParam.setPortName(wmsJobRequest.getPositionCode2());
|
||||
List<BasContainer> basContainers = basContainerService.selectBasContainerList(basContainerParam);
|
||||
if (basContainers.isEmpty()){
|
||||
log.error("没有该料架 {}", wmsJobRequest.getContainerCode());
|
||||
@@ -289,19 +289,42 @@ public class ToWmsServiceImpl implements IToWmsService {
|
||||
/**
|
||||
* ctu取完箱子反馈
|
||||
* @param map{
|
||||
* "lljCode"
|
||||
* "portCode"
|
||||
* "wmsType"
|
||||
* }
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public AjaxResult takeCompleted(Map<String, Object> map) {
|
||||
String lljCode = Convert.toStr(map.get("lljCode"));
|
||||
BasTag basTagParam = new BasTag();
|
||||
basTagParam.setPickAdd(lljCode);
|
||||
List<BasTag> basTags = iBasTagService.selectBasTagList(basTagParam);
|
||||
for (BasTag basTag : basTags) {
|
||||
basTag.setSpare2("2");
|
||||
iBasTagService.updateBasTag(basTag);
|
||||
String wmsType = Convert.toStr(map.get("wmsType"));
|
||||
|
||||
switch (wmsType){
|
||||
case "1":
|
||||
//流利架入库
|
||||
String lljCode = Convert.toStr(map.get("portCode"));
|
||||
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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user