From b10cacdd210dffff4441230efe1d80ec354bd370 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期三, 24 九月 2025 14:34:20 +0800
Subject: [PATCH] #

---
 src/main/webapp/static/js/locDetl/locDetl.js                   |    2 
 src/main/java/com/zy/asrs/controller/LocMastController.java    |   12 ---
 src/main/java/com/zy/asrs/controller/LocDetlController.java    |   10 --
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java    |    6 
 src/main/resources/mapper/LocDetlMapper.xml                    |   66 ----------------
 src/main/resources/mapper/LocMastMapper.xml                    |    2 
 src/main/java/com/zy/asrs/service/StaDescService.java          |    4 
 src/main/resources/mapper/StaDescMapper.xml                    |    4 
 src/main/java/com/zy/asrs/controller/OutController.java        |   69 ++++++++++-------
 src/main/java/com/zy/asrs/entity/LocMast.java                  |   13 ---
 src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java |   26 ------
 src/main/resources/application.yml                             |    2 
 12 files changed, 50 insertions(+), 166 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/LocDetlController.java b/src/main/java/com/zy/asrs/controller/LocDetlController.java
index c3e24a7..c227b76 100644
--- a/src/main/java/com/zy/asrs/controller/LocDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/LocDetlController.java
@@ -343,14 +343,4 @@
         return R.ok(sum);
     }
 
-    @GetMapping("/locDetl/source")
-    public void getSource(){
-        List<LocDetl>list = locDetlService.selectList(null);
-        for (LocDetl locDetl : list) {
-            LocMast locMast = locMastService.selectById(locDetl.getLocNo());
-            locDetl.setSource(locMast.getLocAttribute());
-            locDetlService.update(locDetl,new EntityWrapper<LocDetl>().eq("loc_no", locDetl.getLocNo()));
-        }
-    }
-
 }
diff --git a/src/main/java/com/zy/asrs/controller/LocMastController.java b/src/main/java/com/zy/asrs/controller/LocMastController.java
index 91e3add..bbcb7e9 100644
--- a/src/main/java/com/zy/asrs/controller/LocMastController.java
+++ b/src/main/java/com/zy/asrs/controller/LocMastController.java
@@ -213,18 +213,6 @@
         return R.ok();
     }
 
-    @GetMapping(value = "/locMast/check/column/group1")
-    public void group1() {
-        List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1",9));
-        for (LocMast locMast : locMasts) {
-            LocMast locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1",8).eq("bay1",locMast.getBay1()).eq("lev1",locMast.getLev1()));
-            locMast1.setGroup1(locMast.getGroup1());
-            locMastService.updateById(locMast1);
-        }
-
-
-    }
-
     @RequestMapping(value = "/locMast/init/auth")
     @ManagerAuth(memo = "鍒濆鍖栧簱浣�")
 //    @Transactional
diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index 2853918..eea546a 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -10,8 +10,10 @@
 import com.zy.asrs.entity.LocMast;
 import com.zy.asrs.entity.OrderDetl;
 import com.zy.asrs.service.*;
+import com.zy.asrs.utils.Utils;
 import com.zy.common.model.LocDto;
 import com.zy.common.model.TaskDto;
+import com.zy.common.properties.SlaveProperties;
 import com.zy.common.web.BaseController;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -44,6 +46,8 @@
     private WorkService workService;
     @Autowired
     private BasDevpService basDevpService;
+    @Autowired
+    private SlaveProperties slaveProperties;
 
 
     @PostMapping("/out/pakout/orderDetlIds/auth")
@@ -69,36 +73,43 @@
             if (issued <= 0.0D) { continue; }
             List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist);
             for (LocDetl locDetl : locDetls) {
-                LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo()));
-                if(locMast==null){
-                    R.error("娌℃湁鎵惧埌璇ュ簱浣嶏細"+locDetl.getLocNo());
+                String locNo = locDetl.getLocNo();
+                LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locNo));
+                if (locMast == null) {
+                    R.error("娌℃湁鎵惧埌璇ュ簱浣嶏細" + locDetl.getLocNo());
                 }
-                List<LocMast> locMasts=locMastService.selectList(new EntityWrapper<LocMast>()
-                        .eq("group1",locMast.getGroup1())
-                        .eq("loc_sts","F")
-                        .orderBy("loc_attribute",false));
-                for (LocMast locMast1 : locMasts) {
-                    LocDetl locDetl1 = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMast1.getLocNo()));
-                    if(locDetl1==null){
-                        return R.error(locMast1.getLocNo()+"娌℃湁鎵惧埌鐗╂枡");
-                    }
-                    if (!locDetl1.getMatnr().equals(locDetl.getMatnr())) {
-                        log.error(locMast1.getGroup1()+"宸烽亾鐨勭"+locMast1.getLocAttribute()+"娣辨祬搴撲綅鍙峰拰鍚屽贩閬撶墿鏂欎笉鍚�");
-                        break;
-                    }
-                    if (issued > 0) {
-                        LocDto locDto = new LocDto(locDetl1.getLocNo(), locDetl1.getMatnr(), locDetl1.getMaktx(), locDetl1.getBatch(), orderDetl.getOrderNo(),
-                                issued >= locDetl1.getAnfme() ? locDetl1.getAnfme() : issued);
-                        List<Integer> staNos = new ArrayList<>();
-                        staNos.add(100);
-                        staNos.add(200);
-                        locDto.setStaNos(staNos);
-                        locDtos.add(locDto);
-                        exist.add(locDetl.getLocNo());
-                        // 鍓╀綑寰呭嚭鏁伴噺閫掑噺
-                        issued = issued - locDetl.getAnfme();
-                    } else {
-                        break;
+
+                //鑾峰彇閫氶亾缁�
+                List<Integer> locRowGroupAsc = Utils.getLocRowGroupAsc(slaveProperties, Utils.getRow(locNo));
+                for (Integer row : locRowGroupAsc) {
+                    String shallow = Utils.getLocNo(row, Utils.getBay(locNo), Utils.getLev(locNo));
+                    LocMast shallowLoc = locMastService.selectById(shallow);
+                    if (shallowLoc.getLocSts().equals("F")) {
+                        LocDetl locDetl1 = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", shallowLoc.getLocNo()));
+                        if (locDetl1 == null) {
+                            log.error(shallowLoc.getLocNo() + "娌℃湁鎵惧埌鐗╂枡");
+                            break;
+                        }
+                        if (!locDetl1.getMatnr().equals(locDetl.getMatnr())) {
+                            log.error(shallowLoc.getLocNo() + "搴撲綅涓�" + locNo + "搴撲綅鍚屽贩閬撶墿鏂欎笉鍚�");
+                            break;
+                        }
+                        if (issued > 0) {
+                            if(exist.contains(locDetl1.getLocNo())) {
+                                continue;
+                            }
+                            LocDto locDto = new LocDto(locDetl1.getLocNo(), locDetl1.getMatnr(), locDetl1.getMaktx(), locDetl1.getBatch(), orderDetl.getOrderNo(),
+                                    issued >= locDetl1.getAnfme() ? locDetl1.getAnfme() : issued);
+                            int ioType = (issued >= locDetl1.getAnfme() && locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("loc_no", locDto.getLocNo())) == 1) ? 101 : 103;
+                            List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl1.getLocNo(), ioType);
+                            locDto.setStaNos(staNos);
+                            locDtos.add(locDto);
+                            exist.add(locDetl1.getLocNo());
+                            // 鍓╀綑寰呭嚭鏁伴噺閫掑噺
+                            issued = issued - locDetl1.getAnfme();
+                        } else {
+                            break;
+                        }
                     }
                 }
             }
diff --git a/src/main/java/com/zy/asrs/entity/LocMast.java b/src/main/java/com/zy/asrs/entity/LocMast.java
index 6b46397..ab49033 100644
--- a/src/main/java/com/zy/asrs/entity/LocMast.java
+++ b/src/main/java/com/zy/asrs/entity/LocMast.java
@@ -176,19 +176,6 @@
     @TableField("ctn_no")
     private String ctnNo;
 
-    @ApiModelProperty(value= "缁�")
-    @TableField("group1")
-    private Integer group1;
-
-    /**
-     * 娣辨祬搴撲綅鎺掑彿
-     * 1.鏈�娣卞簱浣�
-     * 浠庡皬鍒板ぇ锛岃秺澶х殑搴撲綅瓒婃祬
-     */
-    @ApiModelProperty(value= "搴撲綅灞炴��")
-    @TableField("loc_attribute")
-    private Integer locAttribute;
-
     public String getWhsType$(){
         BasWhsService service = SpringUtils.getBean(BasWhsService.class);
         BasWhs basWhs = service.selectById(this.whsType);
diff --git a/src/main/java/com/zy/asrs/service/StaDescService.java b/src/main/java/com/zy/asrs/service/StaDescService.java
index 13d18b8..8fc52db 100644
--- a/src/main/java/com/zy/asrs/service/StaDescService.java
+++ b/src/main/java/com/zy/asrs/service/StaDescService.java
@@ -9,9 +9,7 @@
 
     List<Integer> queryOutStaNosByLocNo(String locNo, Integer typeNo);
 
-    StaDesc queryCrnStn(Integer typeNo, Integer crnNo, Integer stnNo);
-
-    StaDesc queryCrnStnAuto(Integer typeNo, Integer crnNo, Integer stnNo);
+    StaDesc queryCrnStn(Integer typeNo, Integer stnNo);
 
     StaDesc queryCrnStn(Integer crnNo);
 
diff --git a/src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java
index 1b995a3..4531be5 100644
--- a/src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java
@@ -21,35 +21,13 @@
     }
 
     @Override
-    public StaDesc queryCrnStn(Integer typeNo, Integer crnNo, Integer stnNo) {
+    public StaDesc queryCrnStn(Integer typeNo, Integer stnNo) {
         Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
                 .eq("type_no", typeNo)
-                .eq("stn_no", stnNo)
-                .eq("crn_no", crnNo);
+                .eq("stn_no", stnNo);
         StaDesc staDesc = this.selectOne(wrapper);
         if (staDesc == null) {
             throw new CoolException("鍑哄簱璺緞涓嶅瓨鍦�");
-        }
-        return staDesc;
-    }
-
-    @Override
-    public StaDesc queryCrnStnAuto(Integer typeNo, Integer crnNo, Integer stnNo) {
-        Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
-                .eq("type_no", typeNo)
-                .eq("stn_no", stnNo)
-                .eq("crn_no", crnNo);
-        StaDesc staDesc = this.selectOne(wrapper);
-        if (staDesc == null) {
-            wrapper = new EntityWrapper<StaDesc>()
-                    .eq("type_no", typeNo)
-                    .eq("crn_no", crnNo);
-            List<StaDesc> staDescs = this.selectList(wrapper);
-            if (Cools.isEmpty(staDescs)) {
-                throw new CoolException("鍑哄簱璺緞涓嶅瓨鍦�");
-            }
-            // todo:luxiaotao
-            return staDescs.get(0);
         }
         return staDesc;
     }
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 2208239..3df1f55 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -224,7 +224,7 @@
             Integer outSta = staNo.getDevNo();
 
             // 鑾峰彇璺緞
-            StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), outSta);
+            StaDesc staDesc = staDescService.queryCrnStn(ioType, outSta);
             // 鐢熸垚宸ヤ綔鍙�
             int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
             // 鐢熸垚宸ヤ綔妗�
@@ -300,7 +300,7 @@
         LocMast locMast = locMastService.selectById(taskDto.getLocNo());
         // 鑾峰彇璺緞
         int ioType = taskDto.isAll() ? 101 : 103;
-        StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), staNo.getDevNo());
+        StaDesc staDesc = staDescService.queryCrnStn(ioType, staNo.getDevNo());
         // 鐢熸垚宸ヤ綔鍙�
         int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
         int yz=staDesc.getStnNo()*10+Integer.valueOf(taskDto.getLocNo().substring(6));
@@ -475,7 +475,7 @@
             wrkMast.setStaNo(param.getOutSite()); // 鐩爣绔�
             wrkMast.setCrnNo(locMast.getCrnNo());
             wrkMast.setSourceLocNo(locNo); // 婧愬簱浣�
-            wrkMast.setIoPri(10.0+locMast.getLocAttribute());//浼樺厛绾�
+            wrkMast.setIoPri(10.0D);//浼樺厛绾�
             wrkMast.setFullPlt("N"); // 婊℃澘锛歒
             wrkMast.setPicking("N"); // 鎷f枡
             wrkMast.setExitMk("N"); // 閫�鍑�
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index fa186db..b48e384 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -51,7 +51,7 @@
 
 # 涓嬩綅鏈洪厤缃�
 wcs-slave:
-  locGroupAsc: [[5,4,3,2,1],[7],[8],[10,11],[12],[14],[15],[17]]
+  locGroupAsc: [[1],[3,4,5,6],[10,9,8,7],[12,13],[15,14],[17,18,19,20,21,22,23],[2],[11],[16]]
 
 #wcs瀵规帴
 wcs:
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index ba017ec..7335503 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -222,84 +222,20 @@
         where 1=1
         and b.loc_sts = 'F'
         and a.matnr = #{matnr}
-        and b.loc_attribute = 1
-        <!--        <choose>-->
-        <!--            <when test="batch != null and batch != ''">-->
-        <!--                and a.batch = #{batch}-->
-        <!--            </when>-->
-        <!--            <otherwise>-->
-        <!--                and (a.batch IS NULL OR a.batch = '')-->
-        <!--            </otherwise>-->
-        <!--        </choose>-->
         <if test="batch != null and batch != ''">
             and a.batch = #{batch}
         </if>
         <if test="orderNo != null and orderNo != ''">
             and a.order_no = #{orderNo}
         </if>
-
         <if test="locNos != null and locNos.size > 0">
             and b.loc_no not in
             <foreach item="item" collection="locNos" index="index"  separator="," open="(" close=")">
                 #{item}
             </foreach>
         </if>
-
         order by
-        DATEPART(yyyy,a.modi_time),DATEPART(mm,a.modi_time),DATEPART(dd,a.modi_time), a.anfme
-        desc,
-        NEWID(),
-        case
-        when (left(a.loc_no, 2) = '01') then 0
-        when (left(a.loc_no, 2) = '02') then 1
-        when (left(a.loc_no, 2) = '03') then 1
-        when (left(a.loc_no, 2) = '04') then 0
-        when (left(a.loc_no, 2) = '05') then 0
-        when (left(a.loc_no, 2) = '06') then 1
-        when (left(a.loc_no, 2) = '07') then 1
-        when (left(a.loc_no, 2) = '08') then 0
-        when (left(a.loc_no, 2) = '09') then 0
-        when (left(a.loc_no, 2) = '10') then 1
-        when (left(a.loc_no, 2) = '11') then 1
-        when (left(a.loc_no, 2) = '12') then 0
-        when (left(a.loc_no, 2) = '13') then 0
-        when (left(a.loc_no, 2) = '14') then 1
-        when (left(a.loc_no, 2) = '15') then 1
-        when (left(a.loc_no, 2) = '16') then 0
-        when (left(a.loc_no, 2) = '17') then 0
-        when (left(a.loc_no, 2) = '18') then 1
-        when (left(a.loc_no, 2) = '19') then 1
-        when (left(a.loc_no, 2) = '20') then 0
-        when (left(a.loc_no, 2) = '21') then 0
-        when (left(a.loc_no, 2) = '22') then 1
-        when (left(a.loc_no, 2) = '23') then 1
-        when (left(a.loc_no, 2) = '24') then 0
-        when (left(a.loc_no, 2) = '25') then 0
-        when (left(a.loc_no, 2) = '26') then 1
-        when (left(a.loc_no, 2) = '27') then 1
-        when (left(a.loc_no, 2) = '28') then 0
-        when (left(a.loc_no, 2) = '29') then 0
-        when (left(a.loc_no, 2) = '30') then 1
-        when (left(a.loc_no, 2) = '31') then 1
-        when (left(a.loc_no, 2) = '32') then 0
-        when (left(a.loc_no, 2) = '33') then 0
-        when (left(a.loc_no, 2) = '34') then 1
-        when (left(a.loc_no, 2) = '35') then 1
-        when (left(a.loc_no, 2) = '36') then 0
-        when (left(a.loc_no, 2) = '37') then 0
-        when (left(a.loc_no, 2) = '38') then 1
-        when (left(a.loc_no, 2) = '39') then 1
-        when (left(a.loc_no, 2) = '40') then 0
-        when (left(a.loc_no, 2) = '41') then 0
-        when (left(a.loc_no, 2) = '42') then 1
-        when (left(a.loc_no, 2) = '43') then 1
-        when (left(a.loc_no, 2) = '44') then 0
-        when (left(a.loc_no, 2) = '45') then 0
-        when (left(a.loc_no, 2) = '46') then 1
-        when (left(a.loc_no, 2) = '47') then 1
-        when (left(a.loc_no, 2) = '48') then 0
-        else 0
-        end
+        DATEPART(yyyy,a.appe_time),DATEPART(mm,a.appe_time),DATEPART(dd,a.appe_time), a.anfme
         desc
     </select>
 
diff --git a/src/main/resources/mapper/LocMastMapper.xml b/src/main/resources/mapper/LocMastMapper.xml
index ba75efb..23d2330 100644
--- a/src/main/resources/mapper/LocMastMapper.xml
+++ b/src/main/resources/mapper/LocMastMapper.xml
@@ -34,8 +34,6 @@
         <result column="mk" property="mk" />
         <result column="barcode" property="barcode" />
         <result column="ctn_no" property="ctnNo" />
-        <result column="group1" property="group1" />
-        <result column="loc_attribute" property="locAttribute" />
 
     </resultMap>
 
diff --git a/src/main/resources/mapper/StaDescMapper.xml b/src/main/resources/mapper/StaDescMapper.xml
index 6bbea2d..899cf1e 100644
--- a/src/main/resources/mapper/StaDescMapper.xml
+++ b/src/main/resources/mapper/StaDescMapper.xml
@@ -19,13 +19,11 @@
 
     </resultMap>
 
-    <select id="queryOutStaNosByLocNo" resultType="java.lang.Integer">
+    <select id="queryOutStaNosByLocNo" resultType="integer">
         select
         distinct asd.stn_no
         from asr_sta_desc asd
-        left join asr_loc_mast alm on asd.crn_no = alm.crn_no
         where 1=1
-        and alm.loc_no = #{locNo}
         <if test="typeNo != null and typeNo !=''">
             and asd.type_no = #{typeNo}
         </if>
diff --git a/src/main/webapp/static/js/locDetl/locDetl.js b/src/main/webapp/static/js/locDetl/locDetl.js
index c8c4d63..0c4f93c 100644
--- a/src/main/webapp/static/js/locDetl/locDetl.js
+++ b/src/main/webapp/static/js/locDetl/locDetl.js
@@ -5,7 +5,7 @@
         {field: 'matnr', align: 'center',title: '鍟嗗搧缂栧彿', sort:true}
         ,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О', sort:true}
         ,{field: 'orderNo', align: 'center',title: '鍗曟嵁缂栧彿', hide: false}
-        ,{field: 'batch', align: 'center',title: '鍚堝悓鍙�', width: 300, sort:true}
+        ,{field: 'batch', align: 'center',title: '鎵瑰彿', width: 300, sort:true}
         ,{field: 'anfme', align: 'center',title: '鏁伴噺'}
         ,{field: 'zpallet', align: 'center',title: '鎵樼洏鏉$爜'}
         ,{field: 'specs', align: 'center',title: '閰嶇疆'}

--
Gitblit v1.9.1