From 224cda1da872931441fca4df1300890683bf16b9 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: Fri, 31 Oct 2025 01:20:20 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=88=86=E6=8B=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gaotao/modules/notify/mapper/NewIssureMapper.java | 10 ++++++++++ .../notify/service/impl/NewIssureServiceImpl.java | 10 +++++++++- src/main/resources/mapper/notify/NewIssureMapper.xml | 8 ++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/gaotao/modules/notify/mapper/NewIssureMapper.java b/src/main/java/com/gaotao/modules/notify/mapper/NewIssureMapper.java index e20efa7..75bd472 100644 --- a/src/main/java/com/gaotao/modules/notify/mapper/NewIssureMapper.java +++ b/src/main/java/com/gaotao/modules/notify/mapper/NewIssureMapper.java @@ -148,4 +148,14 @@ public interface NewIssureMapper { * 根据栈板ID和序列号列表查询栈板明细信息(position, layer) - rqrq */ List getPalletDetailsByPalletAndSerials(@Param("site") String site, @Param("palletId") String palletId, @Param("serialNos") List serialNos); + + /** + * @Description 查询序列号在handling_unit中的location_id(无锁查询)- rqrq + * @param site 工厂编码 + * @param serialNo 序列号 + * @return location_id + * @author rqrq + * @date 2025/10/30 + */ + String getSerialNoLocationId(@Param("site") String site, @Param("serialNo") String serialNo); } diff --git a/src/main/java/com/gaotao/modules/notify/service/impl/NewIssureServiceImpl.java b/src/main/java/com/gaotao/modules/notify/service/impl/NewIssureServiceImpl.java index 0d76d85..8ea4e87 100644 --- a/src/main/java/com/gaotao/modules/notify/service/impl/NewIssureServiceImpl.java +++ b/src/main/java/com/gaotao/modules/notify/service/impl/NewIssureServiceImpl.java @@ -907,6 +907,14 @@ public class NewIssureServiceImpl implements NewIssureService { taskSeq=0; } + // 查询序列号的location_id,如果不是AS区域则直接标记为已出库 - rqrq + String locationId = newIssureMapper.getSerialNoLocationId(site, serialNo); + String outWcsFlag = "N"; + if (locationId != null && !locationId.equals("AS")) { + outWcsFlag = "Y"; + System.out.println("序列号" + serialNo + "不在AS区域(location_id=" + locationId + "),直接标记为已出库 - rqrq"); + } + com.gaotao.modules.notify.entity.SOIssueNotifyOrderMaterialListDetail detail = new com.gaotao.modules.notify.entity.SOIssueNotifyOrderMaterialListDetail(); detail.setSite(site); @@ -917,7 +925,7 @@ public class NewIssureServiceImpl implements NewIssureService { detail.setTaskRef(taskNo); detail.setTaskItem(1); detail.setTaskSeq(taskSeq); // 使用栈板对应的SeqNo - rqrq - detail.setOutWcsFlag("N"); + detail.setOutWcsFlag(outWcsFlag); // 根据location_id判断 - rqrq detail.setIssureFlag("N"); detail.setOrderType("shoporder"); detailList.add(detail); diff --git a/src/main/resources/mapper/notify/NewIssureMapper.xml b/src/main/resources/mapper/notify/NewIssureMapper.xml index e9a6d48..75a706f 100644 --- a/src/main/resources/mapper/notify/NewIssureMapper.xml +++ b/src/main/resources/mapper/notify/NewIssureMapper.xml @@ -290,5 +290,13 @@ ORDER BY position, layer + + + \ No newline at end of file