From a0b2c9373a62405cfb726c08860577db00f67700 Mon Sep 17 00:00:00 2001 From: liuhanqing Date: Wed, 13 Aug 2025 09:44:12 +0800 Subject: [PATCH] =?UTF-8?q?PTL=E9=85=8D=E9=80=81=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/controller/ToWcsApiController.java | 6 ++- .../api/controller/ToWmsApiController.java | 3 +- .../com/ruoyi/api/domain/AgvMoveParam.java | 15 +++++++ .../com/ruoyi/api/service/IToWcsService.java | 3 +- .../api/service/impl/ToWcsServiceImpl.java | 24 ++++++++--- .../api/service/impl/ToWmsServiceImpl.java | 41 +++++++++++++++---- .../com/ruoyi/pda/service/PdaServiceImp.java | 13 +++--- 7 files changed, 80 insertions(+), 25 deletions(-) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/api/domain/AgvMoveParam.java diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToWcsApiController.java b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToWcsApiController.java index c35a116..c3edfac 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToWcsApiController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToWcsApiController.java @@ -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); } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToWmsApiController.java b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToWmsApiController.java index 86aed4e..ae88fe0 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToWmsApiController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToWmsApiController.java @@ -105,7 +105,8 @@ public class ToWmsApiController { /** * ctu取完箱子反馈 * @param map{ - * "lljCode" + * "portCode" + * "wmsType" * } * @return */ diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/domain/AgvMoveParam.java b/ruoyi-admin/src/main/java/com/ruoyi/api/domain/AgvMoveParam.java new file mode 100644 index 0000000..238bad3 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/domain/AgvMoveParam.java @@ -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; +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToWcsService.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToWcsService.java index 10c7e59..5cf6ae6 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToWcsService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToWcsService.java @@ -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); /** * 推送流利架入库任务 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWcsServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWcsServiceImpl.java index 4ba2d45..2ba04fa 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWcsServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWcsServiceImpl.java @@ -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()); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWmsServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWmsServiceImpl.java index 85748e7..4a7653e 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWmsServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWmsServiceImpl.java @@ -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 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 map) { - String lljCode = Convert.toStr(map.get("lljCode")); - BasTag basTagParam = new BasTag(); - basTagParam.setPickAdd(lljCode); - List 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 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 basContainers = basContainerService.selectBasContainerList(basContainerParam); + for (BasContainer basContainer : basContainers) { + basContainer.setPortName(""); + basContainerService.updateBasContainer(basContainer); + } + break; + default: + throw new RuntimeException("wmsType错误"); } return AjaxResult.success(); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaServiceImp.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaServiceImp.java index d8ab888..85effff 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaServiceImp.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaServiceImp.java @@ -8,6 +8,7 @@ import cn.hutool.core.util.StrUtil; import cn.hutool.http.HttpUtil; import cn.hutool.json.JSONUtil; import com.alibaba.fastjson2.JSONObject; +import com.ruoyi.api.domain.AgvMoveParam; import com.ruoyi.api.service.IToWcsService; import com.ruoyi.bas.cargoSpace.domain.BasCargoSpace; import com.ruoyi.bas.cargoSpace.service.IBasCargoSpaceService; @@ -633,12 +634,12 @@ public class PdaServiceImp implements PdaService { //todo 调用agv搬运接口 //使用HttpUtil post请求,参数为startPoint,endPoint,和containerCode String taskNo = IdUtil.fastSimpleUUID(); - Map map = new HashMap<>(); - map.put("startPoint", startPoint); - map.put("endPoint", startPoint); - map.put("wmsTrayCode", basContainer1.getContainerId()); - map.put("taskNo", taskNo); - String result = HttpUtil.post("http://192.168.1.100:8080/agv/api/receiveAgvMoveJob", JSONUtil.toJsonStr( map)); + AgvMoveParam agvMoveParam =new AgvMoveParam(); + agvMoveParam.setStartPoint(startPoint); + agvMoveParam.setEndPoint(endPoint); + agvMoveParam.setContainerCode(basContainer1.getContainerId()); + agvMoveParam.setTaskNo(taskNo); + String result = HttpUtil.post("http://192.168.1.100:8080/agv/api/receiveAgvMoveJob", JSONUtil.toJsonStr( agvMoveParam)); //接口的返回结果为AjaxResult,从result中获取code //获取code int code = JSONObject.parseObject(result).getIntValue("code");