From e955eb6077fc28f0ad379af45c5adec1962eeff6 Mon Sep 17 00:00:00 2001
From: Administrator <1051256694@qq.com>
Date: 星期三, 29 四月 2026 17:56:33 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/mapper/LocDetlMapper.java |   28 ++++++++++++++++++++++++++++
 1 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
index bbf8ac8..ab54356 100644
--- a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.zy.asrs.entity.LocDetl;
+import com.zy.asrs.entity.param.AbnormalLocDetlParam;
 import com.zy.asrs.entity.result.LocDetlAll;
 import com.zy.asrs.entity.result.LocDetlDTO;
 import com.zy.asrs.entity.result.StockVo;
@@ -49,6 +50,29 @@
     @Select("SELECT ld.loc_no FROM asr_loc_detl ld LEFT JOIN asr_loc_mast lm ON ld.loc_no = lm.loc_no WHERE (1 = 1 AND ld.matnr = #{matnr} AND (lm.row1 >= #{start} AND lm.row1 <= #{end})  AND lm.loc_sts = 'F' AND DateDiff(dd, ld.appe_time, getdate()) = 0) ORDER BY ld.appe_time ASC")
     List<String> selectSameDetlToday(@Param("matnr") String matnr, @Param("start") Integer start, @Param("end") Integer end);
 
+    @Select("select top 1 ld.* from asr_loc_detl ld left join asr_loc_mast lm on ld.loc_no = lm.loc_no " +
+            "where lm.crn_no = #{crnNo} and lm.loc_sts = 'F' and lm.frozen = 0 and lm.deleted = 0 and lm.whs_type = 1 " +
+            "and ld.appe_time is not null and (ld.frozen is null or ld.frozen = 0) " +
+            "order by ld.appe_time asc, ld.id asc")
+    LocDetl selectOldestLocDetl(@Param("crnNo") Integer crnNo);
+
+    @Select("select top 1 ld.matnr from asr_loc_detl ld left join asr_loc_mast lm on ld.loc_no = lm.loc_no " +
+            "where lm.crn_no = #{crnNo} and lm.loc_sts = 'F' and lm.frozen = 0 and lm.deleted = 0 and lm.whs_type = 1 " +
+            "and (ld.frozen is null or ld.frozen = 0) and ld.matnr is not null " +
+            "group by ld.matnr order by count(1) desc")
+    String selectMostMatnrByCrnNo(@Param("crnNo") Integer crnNo);
+
+    @Select("select top 1 ld.* from asr_loc_detl ld left join asr_loc_mast lm on ld.loc_no = lm.loc_no " +
+            "where lm.crn_no = #{crnNo} and lm.loc_sts = 'F' and lm.frozen = 0 and lm.deleted = 0 and lm.whs_type = 1 " +
+            "and ld.matnr = #{matnr} and ld.appe_time is not null and (ld.frozen is null or ld.frozen = 0) " +
+            "order by ld.appe_time asc, ld.id asc")
+    LocDetl selectOldestLocDetlByCrnNoAndMatnr(@Param("crnNo") Integer crnNo, @Param("matnr") String matnr);
+
+    @Select("select count(1) from asr_loc_detl ld left join asr_loc_mast lm on ld.loc_no = lm.loc_no " +
+            "where lm.crn_no = #{crnNo} and lm.frozen = 0 and lm.deleted = 0 and lm.whs_type = 1 " +
+            "and ld.matnr = #{matnr} and (ld.frozen is null or ld.frozen = 0)")
+    Integer countMatnrByCrnNo(@Param("crnNo") Integer crnNo, @Param("matnr") String matnr);
+
     List<String> selectSameDetlTodayBatch(@Param("matnr") String matnr,@Param("batch") String batch, @Param("start") Integer start, @Param("end") Integer end);
 
     List<LocDetl> getStockStatis(Map<String, Object> map);
@@ -57,6 +81,10 @@
 
     List<LocDetl> getStockStatis2(Map<String, Object> map);
 
+    List<AbnormalLocDetlParam> groupLocList(Map<String, Object> map);
+
+    Integer groupLocListCount(Map<String, Object> map);
+
     List<LocDetl> getStockStatisExcel();
 
     @Select("select sum(a.anfme) as sum from asr_loc_detl a left join asr_loc_mast b on a.loc_no = b.loc_no where b.loc_sts = 'F' and a.matnr = #{matnr}")

--
Gitblit v1.9.1