From b1496199d6579fc1cb611558c19659536f78413e Mon Sep 17 00:00:00 2001 From: liuhanqing Date: Wed, 26 Nov 2025 10:57:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E5=8D=87=E6=9C=BA=E7=94=9F=E6=88=90?= =?UTF-8?q?=E6=94=BE=E8=B4=A7=20=E5=8F=96=E8=B4=A7SRgv=E9=98=9F=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../srgv/service/IWcsSrgvQueueService.java | 22 +++++--- .../service/impl/WcsSrgvQueueServiceImpl.java | 37 +++++++++--- .../scheduleTask/srgv/BaseSRgvThread.java | 10 +--- .../schedule/scheduleTask/tsj/TsjThread.java | 56 ++++++++++++++++--- .../mapper/queue/WcsSrgvQueueMapper.xml | 11 ++-- 5 files changed, 100 insertions(+), 36 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/queue/srgv/service/IWcsSrgvQueueService.java b/ruoyi-admin/src/main/java/com/ruoyi/queue/srgv/service/IWcsSrgvQueueService.java index c998dda..cbd21a7 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/queue/srgv/service/IWcsSrgvQueueService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/queue/srgv/service/IWcsSrgvQueueService.java @@ -5,15 +5,15 @@ import com.ruoyi.queue.srgv.domain.WcsSrgvQueue; /** * 四向小车任务队列Service接口 - * + * * @author ruoyi * @date 2025-11-21 */ -public interface IWcsSrgvQueueService +public interface IWcsSrgvQueueService { /** * 查询四向小车任务队列 - * + * * @param guid 四向小车任务队列主键 * @return 四向小车任务队列 */ @@ -25,7 +25,7 @@ public interface IWcsSrgvQueueService /** * 查询四向小车任务队列列表 - * + * * @param wcsSrgvQueue 四向小车任务队列 * @return 四向小车任务队列集合 */ @@ -33,7 +33,7 @@ public interface IWcsSrgvQueueService /** * 新增四向小车任务队列 - * + * * @param wcsSrgvQueue 四向小车任务队列 * @return 结果 */ @@ -41,7 +41,7 @@ public interface IWcsSrgvQueueService /** * 修改四向小车任务队列 - * + * * @param wcsSrgvQueue 四向小车任务队列 * @return 结果 */ @@ -49,7 +49,7 @@ public interface IWcsSrgvQueueService /** * 批量删除四向小车任务队列 - * + * * @param guids 需要删除的四向小车任务队列主键集合 * @return 结果 */ @@ -57,9 +57,15 @@ public interface IWcsSrgvQueueService /** * 删除四向小车任务队列信息 - * + * * @param guid 四向小车任务队列主键 * @return 结果 */ public int deleteWcsSrgvQueueByGuid(String guid); + + /** + * 插入历史任务 + * @param taskNo + */ + public WcsSrgvQueue insertHistory(String taskNo); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/queue/srgv/service/impl/WcsSrgvQueueServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/queue/srgv/service/impl/WcsSrgvQueueServiceImpl.java index 0f7bf30..8d1ce83 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/queue/srgv/service/impl/WcsSrgvQueueServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/queue/srgv/service/impl/WcsSrgvQueueServiceImpl.java @@ -1,6 +1,12 @@ package com.ruoyi.queue.srgv.service.impl; import java.util.List; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjUtil; +import com.ruoyi.queue.srgv.domain.WcsSrgvQueueFinish; +import com.ruoyi.queue.srgv.mapper.WcsSrgvQueueFinishMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.queue.srgv.mapper.WcsSrgvQueueMapper; @@ -9,19 +15,21 @@ import com.ruoyi.queue.srgv.service.IWcsSrgvQueueService; /** * 四向小车任务队列Service业务层处理 - * + * * @author ruoyi * @date 2025-11-21 */ @Service -public class WcsSrgvQueueServiceImpl implements IWcsSrgvQueueService +public class WcsSrgvQueueServiceImpl implements IWcsSrgvQueueService { @Autowired private WcsSrgvQueueMapper wcsSrgvQueueMapper; + @Autowired + private WcsSrgvQueueFinishMapper wcsSrgvQueueFinishMapper; /** * 查询四向小车任务队列 - * + * * @param guid 四向小车任务队列主键 * @return 四向小车任务队列 */ @@ -39,7 +47,7 @@ public class WcsSrgvQueueServiceImpl implements IWcsSrgvQueueService /** * 查询四向小车任务队列列表 - * + * * @param wcsSrgvQueue 四向小车任务队列 * @return 四向小车任务队列 */ @@ -51,7 +59,7 @@ public class WcsSrgvQueueServiceImpl implements IWcsSrgvQueueService /** * 新增四向小车任务队列 - * + * * @param wcsSrgvQueue 四向小车任务队列 * @return 结果 */ @@ -63,7 +71,7 @@ public class WcsSrgvQueueServiceImpl implements IWcsSrgvQueueService /** * 修改四向小车任务队列 - * + * * @param wcsSrgvQueue 四向小车任务队列 * @return 结果 */ @@ -75,7 +83,7 @@ public class WcsSrgvQueueServiceImpl implements IWcsSrgvQueueService /** * 批量删除四向小车任务队列 - * + * * @param guids 需要删除的四向小车任务队列主键 * @return 结果 */ @@ -87,7 +95,7 @@ public class WcsSrgvQueueServiceImpl implements IWcsSrgvQueueService /** * 删除四向小车任务队列信息 - * + * * @param guid 四向小车任务队列主键 * @return 结果 */ @@ -96,4 +104,17 @@ public class WcsSrgvQueueServiceImpl implements IWcsSrgvQueueService { return wcsSrgvQueueMapper.deleteWcsSrgvQueueByGuid(guid); } + + @Override + public WcsSrgvQueue insertHistory(String taskNo) { + WcsSrgvQueue wcsSrgvQueue = wcsSrgvQueueMapper.selectWcsSrgvQueueByTaskNo(taskNo); + if (ObjUtil.isNotNull(wcsSrgvQueue)){ + WcsSrgvQueueFinish wcsSrgvQueueFinish = new WcsSrgvQueueFinish(); + BeanUtil.copyProperties(wcsSrgvQueue,wcsSrgvQueueFinish); + wcsSrgvQueueFinish.setFinishDate(DateUtil.formatDateTime(DateUtil.date())); + wcsSrgvQueueFinishMapper.insertWcsSrgvQueueFinish(wcsSrgvQueueFinish); + return wcsSrgvQueue; + } + return null; + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/srgv/BaseSRgvThread.java b/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/srgv/BaseSRgvThread.java index 31d1267..014e07d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/srgv/BaseSRgvThread.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/srgv/BaseSRgvThread.java @@ -4,16 +4,14 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; 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 com.ruoyi.bas.port.domain.WcsPort; import com.ruoyi.bas.port.service.IWcsPortService; import com.ruoyi.bas.srgvmap.domain.WcsSrgvMap; import com.ruoyi.bas.srgvmap.service.IWcsSrgvMapService; +import com.ruoyi.bas.srgvmap.service.RoadCacheService; import com.ruoyi.common.domain.SendData2; import com.ruoyi.device.srgv.domain.DeviceSrgv; -import com.ruoyi.job.charg.domain.SrgvChargingJob; import com.ruoyi.job.charg.service.ISrgvChargingJobService; import com.ruoyi.job.domain.MydoJob; import com.ruoyi.job.service.IMydoJobService; @@ -23,15 +21,11 @@ import com.ruoyi.queue.srgv.service.IWcsSrgvQueueFinishService; import com.ruoyi.queue.srgv.service.IWcsSrgvQueueService; import com.ruoyi.schedule.plcRead.srgv.PlcSrgvRead; import com.ruoyi.schedule.plcRead.srgv.roadUtil.PathFinder; -import com.ruoyi.schedule.plcRead.ssj.PlcSsjRead; import lombok.extern.slf4j.Slf4j; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; -import java.util.HashMap; -import java.util.List; -import java.util.Objects; @Slf4j public class BaseSRgvThread implements Runnable, SRgvThreadInterface { @@ -54,6 +48,8 @@ public class BaseSRgvThread implements Runnable, SRgvThreadInterface { public IWcsSrgvMapService wcsSrgvMapService; + public RoadCacheService roadCacheService; + public void init() { diff --git a/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/tsj/TsjThread.java b/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/tsj/TsjThread.java index 7239dad..06c53f5 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/tsj/TsjThread.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/tsj/TsjThread.java @@ -6,6 +6,7 @@ import cn.hutool.core.convert.Convert; 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 com.ruoyi.bas.cargospace.domain.BasCargoSpace; import com.ruoyi.bas.cargospace.service.IBasCargoSpaceService; import com.ruoyi.bas.port.domain.WcsPort; @@ -87,6 +88,13 @@ public class TsjThread implements Runnable { finishSend(rwh); } + /* + * 2、四向车任务生成 2-工作 ,触发方式 2-自动,任务号大于999 + * + * */ + if (czfs == 2 && sbzt == 2 && jdbz == 4 && rwh > 999) { + createSRgvQueue(rwh); + } /* * 2、任务完成 * @@ -108,8 +116,47 @@ public class TsjThread implements Runnable { } + private void createSRgvQueue(Long rwh) { + WcsSrgvQueue sRgvQueueParam = new WcsSrgvQueue(); + sRgvQueueParam.setTaskNo(Convert.toStr(rwh)); + List wcsSrgvQueues = wcsSrgvQueueService.selectWcsSrgvQueueList(sRgvQueueParam); + if (CollUtil.isEmpty(wcsSrgvQueues)) { + return; + } + WcsSrgvQueue wcsSrgvQueue = wcsSrgvQueueService.insertHistory(Convert.toStr(rwh)); + //修改起点终点 + if (ObjUtil.isNotEmpty(wcsSrgvQueue)) { + wcsSrgvQueue.setCreateDate(DateUtil.formatDateTime(DateUtil.date())); + wcsSrgvQueue.setStartDate(null); + wcsSrgvQueue.setIssued("0"); + wcsSrgvQueue.setExecutionStatus("0"); + String startSite = ""; + String endSite = ""; + switch (wcsSrgvQueue.getTaskType()){ + case "1": + //空车 + startSite = "tsj"; + endSite = wcsSrgvQueue.getCargoPickSite(); + break; + case "2": + case "3": + //满车或者是充电 + startSite = "tsj"; + endSite = wcsSrgvQueue.getCargoPlaceSite(); + break; + default: + log.info("任务类型错误"); + } + if (StrUtil.isNotEmpty(startSite) && StrUtil.isNotEmpty(endSite)){ + wcsSrgvQueue.setStartSite(startSite); + wcsSrgvQueue.setEndSite(endSite); + wcsSrgvQueueService.updateWcsSrgvQueue(wcsSrgvQueue); + } + } + } + /** - * 创建卸车队列 + * 创建提升机队列 */ private void createQueue(DeviceTsj tsj) { for (String sRgv : PlcSrgvRead.deviceSrgvMap.keySet()) { @@ -214,13 +261,6 @@ public class TsjThread implements Runnable { tsjDeviceExecutionQueueFinishService.insertTsjDeviceExecutionQueueFinish(tsjDeviceExecutionQueueFinish); tsjDeviceExecutionQueueService.deleteTsjDeviceExecutionQueueByGuid(tsjDeviceExecutionQueue.getGuid()); log.info("提升机任务下发完成 taskNo{} 任务类型:{}", taskNo, "提升机任务"); - /*if ("1".equals(tsjDeviceExecutionQueue.getRwlx())) { - //锁定提升机承载 - DeviceTsj deviceTsj = deviceTsjService.selectDeviceTsjById(tsjDeviceExecutionQueue.getDeviceId()); - deviceTsj.setSpare1(1); - deviceTsjService.updateDeviceTsj(deviceTsj); - log.info("提升机任务锁定提升机承载 taskNo{} 任务类型:{}", taskNo, "提升机任务"); - }*/ } } diff --git a/ruoyi-admin/src/main/resources/mapper/queue/WcsSrgvQueueMapper.xml b/ruoyi-admin/src/main/resources/mapper/queue/WcsSrgvQueueMapper.xml index f82b5f7..ca280a6 100644 --- a/ruoyi-admin/src/main/resources/mapper/queue/WcsSrgvQueueMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/queue/WcsSrgvQueueMapper.xml @@ -3,7 +3,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -39,7 +39,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - +