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