From 6b302a619a6fc6c3bfd6abb8b82148bc39a08c04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B8=B8=E7=86=9F=E5=90=B4=E5=BD=A6=E7=A5=96?= Date: Wed, 10 Dec 2025 16:58:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apiData/CheckInventoryExistsRequest.java | 33 ++++++++++++++ .../entity/AgvStationData.java | 5 +++ .../mapper/AgvStationMapper.java | 13 ++++++ .../service/impl/AgvStationServiceImpl.java | 37 ++-------------- .../task/WcsTaskScheduler.java | 6 +-- .../automatedWarehouse/AgvStationMapper.xml | 44 +++++++++++++++++++ .../NotifyDetailQueryMapper.xml | 5 ++- 7 files changed, 105 insertions(+), 38 deletions(-) create mode 100644 src/main/java/com/gaotao/modules/api/apiData/CheckInventoryExistsRequest.java diff --git a/src/main/java/com/gaotao/modules/api/apiData/CheckInventoryExistsRequest.java b/src/main/java/com/gaotao/modules/api/apiData/CheckInventoryExistsRequest.java new file mode 100644 index 00000000..46ca5ce3 --- /dev/null +++ b/src/main/java/com/gaotao/modules/api/apiData/CheckInventoryExistsRequest.java @@ -0,0 +1,33 @@ +package com.gaotao.modules.api.apiData; + +public class CheckInventoryExistsRequest { + /** + * 底托类型(1:平托 2:围框托盘 3:钢底托) + */ + + private Integer basePalletType; + + /** + * 托盘类型(1:托盘 2:四宫格 3:九宫格) + */ + + private Integer palletType; + + // Getter and Setter + + public Integer getBasePalletType() { + return basePalletType; + } + + public void setBasePalletType(Integer basePalletType) { + this.basePalletType = basePalletType; + } + + public Integer getPalletType() { + return palletType; + } + + public void setPalletType(Integer palletType) { + this.palletType = palletType; + } +} diff --git a/src/main/java/com/gaotao/modules/automatedWarehouse/entity/AgvStationData.java b/src/main/java/com/gaotao/modules/automatedWarehouse/entity/AgvStationData.java index f590a567..f5015d49 100644 --- a/src/main/java/com/gaotao/modules/automatedWarehouse/entity/AgvStationData.java +++ b/src/main/java/com/gaotao/modules/automatedWarehouse/entity/AgvStationData.java @@ -41,5 +41,10 @@ public class AgvStationData extends AgvStation { * 栈板编码(用于手工移出栈板) - rqrq */ private String palletId; + + /** + * 续盘类型描述(关联pallet_type.type_desc)- rqrq + */ + private String autoCallBlankPalletTypeDesc; } diff --git a/src/main/java/com/gaotao/modules/automatedWarehouse/mapper/AgvStationMapper.java b/src/main/java/com/gaotao/modules/automatedWarehouse/mapper/AgvStationMapper.java index 2ef82fdb..b2e73284 100644 --- a/src/main/java/com/gaotao/modules/automatedWarehouse/mapper/AgvStationMapper.java +++ b/src/main/java/com/gaotao/modules/automatedWarehouse/mapper/AgvStationMapper.java @@ -1,7 +1,10 @@ package com.gaotao.modules.automatedWarehouse.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.gaotao.modules.automatedWarehouse.entity.AgvStation; +import com.gaotao.modules.automatedWarehouse.entity.AgvStationData; import com.gaotao.modules.automatedWarehouse.entity.Area; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -91,5 +94,15 @@ public interface AgvStationMapper extends BaseMapper { * @date 2025/12/10 */ List> getPalletTypeOptions(); + + /** + * @Description 分页查询AGV站点列表(关联pallet_type获取续盘类型描述)- rqrq + * @param page 分页对象 + * @param data 查询条件 + * @return IPage + * @author rqrq + * @date 2025/12/10 + */ + IPage queryAgvStationPage(Page page, @Param("query") AgvStationData data); } diff --git a/src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/AgvStationServiceImpl.java b/src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/AgvStationServiceImpl.java index df1243f6..d69a4c31 100644 --- a/src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/AgvStationServiceImpl.java +++ b/src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/AgvStationServiceImpl.java @@ -39,7 +39,7 @@ public class AgvStationServiceImpl extends ServiceImpl wrapper = new QueryWrapper<>(); - - // 只查询station_type='正式站点' 且 active='Y'的数据 - rqrq - if (StringUtils.hasText(data.getStationType())) { - wrapper.eq("station_type", data.getStationType()); - } - if (StringUtils.hasText(data.getActive())) { - wrapper.eq("active", data.getActive()); - } - - // 站点编码模糊查询 - rqrq - if (StringUtils.hasText(data.getSearchStationCode())) { - wrapper.like("station_code", data.getSearchStationCode()); - } - - // 站点名称模糊查询 - rqrq - if (StringUtils.hasText(data.getSearchStationName())) { - wrapper.like("station_name", data.getSearchStationName()); - } - - // 站点ID模糊查询 - rqrq - if (StringUtils.hasText(data.getSearchStationId())) { - wrapper.like("station_id", data.getSearchStationId()); - } - - // 按ID倒序排列 - rqrq - wrapper.orderByDesc("id"); - - // 分页查询 - rqrq + // 分页查询(使用自定义SQL,关联pallet_type表获取续盘类型描述)- rqrq int page = data.getPage() != null ? data.getPage() : 1; int limit = data.getLimit() != null ? data.getLimit() : 20; - IPage pageResult = this.baseMapper.selectPage( + IPage pageResult = this.baseMapper.queryAgvStationPage( new Page<>(page, limit), - wrapper + data ); System.out.println("查询AGV站点列表完成 - rqrq,共" + pageResult.getTotal() + "条记录"); diff --git a/src/main/java/com/gaotao/modules/automatedWarehouse/task/WcsTaskScheduler.java b/src/main/java/com/gaotao/modules/automatedWarehouse/task/WcsTaskScheduler.java index 8c696020..b31f6747 100644 --- a/src/main/java/com/gaotao/modules/automatedWarehouse/task/WcsTaskScheduler.java +++ b/src/main/java/com/gaotao/modules/automatedWarehouse/task/WcsTaskScheduler.java @@ -192,11 +192,11 @@ public class WcsTaskScheduler { * @author rqrq * @date 2025/10/21 * - * fixedDelay = 100000 表示上次执行完成后间隔120秒再执行(确保串行执行,不会并发) - * 优化:从3.6秒调整为100秒,减少pallet表锁竞争,避免死锁 - rqrq + * fixedDelay = 100000 表示上次执行完成后间隔60秒再执行(确保串行执行,不会并发) + * 优化:从3.6秒调整为60秒,减少pallet表锁竞争,避免死锁 - rqrq * 配置说明:通过 scheduler.wcs.enabled 控制是否启用 */ - @Scheduled(fixedDelay = 100000) + @Scheduled(fixedDelay = 60000) public void scheduleKitTransportCheck() { // 检查定时任务开关 - rqrq if (!enabled) { diff --git a/src/main/resources/mapper/automatedWarehouse/AgvStationMapper.xml b/src/main/resources/mapper/automatedWarehouse/AgvStationMapper.xml index 12a3522d..c0db92a7 100644 --- a/src/main/resources/mapper/automatedWarehouse/AgvStationMapper.xml +++ b/src/main/resources/mapper/automatedWarehouse/AgvStationMapper.xml @@ -77,6 +77,50 @@ WHERE active = 'Y' ORDER BY pallet_type + + + diff --git a/src/main/resources/mapper/automatedWarehouse/NotifyDetailQueryMapper.xml b/src/main/resources/mapper/automatedWarehouse/NotifyDetailQueryMapper.xml index c0a64e9e..64719526 100644 --- a/src/main/resources/mapper/automatedWarehouse/NotifyDetailQueryMapper.xml +++ b/src/main/resources/mapper/automatedWarehouse/NotifyDetailQueryMapper.xml @@ -20,8 +20,9 @@ a.order_type AS orderType, b.area_desc AS areaDesc FROM SOIssueNotifyOrderList a WITH (NOLOCK) + left join SOIssueNotifyHeader c WITH (NOLOCK) on a.notify_no=c.notify_no and a.site=c.site LEFT JOIN area b WITH (NOLOCK) ON a.production_area = b.area_id - WHERE a.site = #{query.site} + WHERE a.site = #{query.site} and c.status!='CLOSED' AND a.notify_no LIKE '%' + #{query.notifyNo} + '%' @@ -37,7 +38,7 @@ AND a.transport_flag = #{query.transportFlag} - ORDER BY a.notify_no DESC, a.item_no ASC + ORDER BY c.entered_date desc