From b176072388747abb438990157bfa305b215b4b90 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期二, 14 四月 2026 21:59:39 +0800
Subject: [PATCH] 我们现在讨论一下系统找库位方案, 如何实现,对现有找库位规则进行整改,数据库也要整改 1、要能方便的填写单伸堆垛机或双伸堆垛机的深浅库位配置 2、根据设备状态分配库位,离线设备不分配 3、库位分配要均衡到每一个设备  4、库位高度需要匹配到对应库位信息,低库位能向上兼容  5、空托盘优先放在locType2库位=1的库位,没有这种库位了,允许放到其他库位 6、给入库站点设置有限去那些堆垛机,其次去那些堆垛机,弄成页面可以配置入库站点 7、在系统配置新增优先放前几列的配置,当入库的货物是高频货物时放在前几列 8、组托中会标识该托盘是高频还是低频,如果是高频则从前往后找库位,如果是低频则从后往前找库位 9、找库位时locMast中whsType字段无用

---
 src/main/java/com/zy/asrs/service/LocDetlService.java |   81 +++++++++++++++++++++++++++++++++++++++-
 1 files changed, 79 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/LocDetlService.java b/src/main/java/com/zy/asrs/service/LocDetlService.java
index b8f8ccd..9e88d51 100644
--- a/src/main/java/com/zy/asrs/service/LocDetlService.java
+++ b/src/main/java/com/zy/asrs/service/LocDetlService.java
@@ -2,18 +2,40 @@
 
 import com.baomidou.mybatisplus.plugins.Page;
 import com.baomidou.mybatisplus.service.IService;
+import com.core.common.R;
+import com.zy.asrs.entity.FrozenParam;
 import com.zy.asrs.entity.LocDetl;
+import com.zy.asrs.entity.result.LocDetlAll;
+import com.zy.asrs.entity.result.LocDetlDTO;
+import com.zy.asrs.entity.result.StockVo;
 
+import java.math.BigDecimal;
 import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 public interface LocDetlService extends IService<LocDetl> {
 
+    Page<LocDetl> getPage(Page<LocDetl> page);
+
+    List<LocDetlAll> selectAllOwner(LocDetlDTO locDetlDTO);
+
+    int selectAllCount(LocDetlDTO locDetlDTO);
+
+
+    LocDetl selectItem(String locNo, String matnr, String batch,String brand,String standby1,String standby2,String standby3,String boxType1,String boxType2,String boxType3);
+
     Page<LocDetl> getStockOut(Page<LocDetl> page);
+
+    Page<LocDetl> getStockStatis2(Page<LocDetl> page);
+
+    List<LocDetl> searchByLike(String orderNo, String matnr, String maktx, String specs, String locNo);//閫氳繃璁㈠崟鍙枫�佺墿鏂欏彿銆佺墿鏂欏悕绉般�佽鏍笺�佸簱浣嶅彿杩涜妯$硦鎼滅储
 
     /**
      * 淇敼搴撳瓨鏄庣粏鏁伴噺锛屽鏋滄暟閲忎负0锛屽垯鍒犻櫎璁板綍
      */
-    boolean updateAnfme(Double anfme, String locNo, String matnr);
+    boolean updateAnfme(Double anfme, String locNo, String matnr
+            ,String batch,String brand,String standby1,String standby2,String standby3,String boxType1,String boxType2,String boxType3);
 
     boolean updateLocNo(String newLocNo, String oldLocNo);
 
@@ -22,6 +44,61 @@
      * @param matnr 鍟嗗搧缂栧彿
      * @return locNo 搴撲綅鍙�
      */
-    List<String> getSameDetlToday(String matnr);
+    List<String> getSameDetlToday(String matnr, Integer start, Integer end);
 
+    /**
+     * 鑾峰彇褰撳ぉ鐩稿悓瑙勬牸璐х墿鐨勬繁搴撲綅鍙�
+     * @param matnr 鍟嗗搧缂栧彿
+     * @param batch 鎵规鍙�
+     * @return locNo 搴撲綅鍙�
+     */
+    List<String> getSameDetlToday(String matnr, String batch, Integer start, Integer end);
+
+    Page<LocDetl> getStockStatis(Page<LocDetl> page);
+//    List<LocDetl> getStockStatisList(Page<LocDetl> page);
+
+    Double getSumAnfme(String matnr);
+
+    List<LocDetl> selectPakoutByRule(String matnr);
+
+    List<LocDetl> getAsrsLocDetl(String matnr);
+
+    Integer countLocNoNum(String locNo);
+
+    // --------------------------------------------------
+
+    List<LocDetl> queryStock(String matnr, String batch, String orderNo, Set<String> locNos);
+    List<LocDetl> queryStockMatnr(String matnr);
+
+//    List<LocDetl> queryStockAll(String orderNo, Set<String> locNos,String matnr, String batch, String brand, String standby1, String standby2, String standby3, String boxType1, String boxType2, String boxType3);
+    List<LocDetl> queryStockAll(String orderNo, Set<String> locNos,String matnr, String batch, String brand, String standby1, String standby2, String standby3, String boxType1, String boxType2);
+    List<LocDetl> queryStockAll7(String orderNo, Set<String> locNos,String matnr, String standby1, String standby2, String standby3, String boxType1, String boxType2,String boxType3);
+    List<LocDetl> queryStockAll123(String orderNo, Set<String> locNos,String matnr, String boxType3);
+
+    Double queryStockAnfme(String matnr, String batch);
+
+    List<StockVo> queryStockTotal();
+
+
+    Integer sum();
+
+    List<LocDetl> unreason();
+
+    Double getLocDetlSumQty(String locNo);
+
+    void updateMatTurn(String matnrOld,String matnr);
+
+    List<Map<String, Object>> selectLocDetlUnilateralMoveShuttleMap(Integer crnNo);
+
+    List<LocDetl> selectLocDetlUnilateralMoveShuttle(String matnr,String batch,String grade,Integer crnNo);
+
+    /**
+     * 鍐荤粨搴撳瓨
+     */
+    R frozenInventory(List<FrozenParam> param);
+
+    /**
+     * 搴撳瓨瑙e喕
+     */
+    R unfreezeInventory(List<FrozenParam> param);
 }

--
Gitblit v1.9.1