From 2f13ca17500528381cf808ee09cc540be61fbf94 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期五, 25 七月 2025 16:23:40 +0800
Subject: [PATCH] 三期初始化

---
 /dev/null                                              |    8 ----
 src/main/resources/mapper/LocMastMapper.xml            |    6 +++
 src/main/java/com/zy/asrs/mapper/LocMastMapper.java    |    5 ++
 src/main/java/com/zy/common/web/WcsController.java     |    7 ++-
 src/main/java/com/zy/common/service/CommonService.java |   51 +++++++++++++++++++++++++
 .idea/misc.xml                                         |    1 
 6 files changed, 68 insertions(+), 10 deletions(-)

diff --git a/.idea/misc.xml b/.idea/misc.xml
index 076a9f3..6d01d31 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
+  <component name="ExternalStorageConfigurationManager" enabled="true" />
   <component name="FindBugsConfigurable">
     <option name="make" value="true" />
     <option name="effort" value="default" />
diff --git a/.idea/modules.xml b/.idea/modules.xml
deleted file mode 100644
index 160eb6e..0000000
--- a/.idea/modules.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="ProjectModuleManager">
-    <modules>
-      <module fileurl="file://$PROJECT_DIR$/.idea/zy-asrs.iml" filepath="$PROJECT_DIR$/.idea/zy-asrs.iml" />
-    </modules>
-  </component>
-</project>
\ No newline at end of file
diff --git a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
index 9c8abeb..c14025b 100644
--- a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
@@ -56,4 +56,9 @@
     LocMast queryLocByBarCodeNew(@Param("devpNo") int devpNo, @Param("flag") int flag);
 
     LocMast selectByBarcode(@Param("barcode") String barcode);
+
+    /**
+     * 鍥涘彿鍫嗗灈鏈烘壘搴撲綅
+     */
+    List<LocMast> selectOneByCrnNo(@Param("crnNo") int crnNo);
 }
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 6995422..f4586dc 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -518,6 +518,8 @@
             crnNo = 2;
         } else if(devpNo == 104) {
             crnNo = 1;
+        }else if(devpNo == 311) {
+            crnNo = 4;
         }
 
         // 鐩爣搴撲綅
@@ -604,6 +606,55 @@
         return startupDto;
     }
 
+    public StartupDto getLocNoBy311(String type) {
+
+        int row;
+        int devpNo = 311;
+        int crnNo = 4;
+//        if (type.equals("1")) {
+//            row =  7;
+//        } else if (type.equals("2")) {
+//            row = 6;
+//        } else {
+//            throw new CoolException("304鐗╂枡绫诲埆璇嗗埆閿欒锛�" + type);
+//        }
+
+        // 鐩爣搴撲綅
+        List<LocMast> locMasts = locMastMapper.selectOneByCrnNo(4);
+        LocMast locMast = locMasts.get(0);
+        if (locMast == null) {
+            throw new CoolException("311鍏ュ簱娌℃湁绌哄簱浣�");
+        }
+
+        // 鑾峰彇鐩爣绔�
+        Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
+                .eq("type_no", 1)
+                .eq("stn_no", devpNo)
+                .eq("crn_no", crnNo);
+        StaDesc staDesc = staDescService.selectOne(wrapper);
+        if (Cools.isEmpty(staDesc)) {
+            log.error("鍏ュ簱璺緞涓嶅瓨鍦�, staDescId={}, sourceStaNo={}, crnNo={}", 1, devpNo, crnNo);
+            throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�");
+        }
+
+        // 妫�娴嬬洰鏍囩珯
+        BasDevp staNo = basDevpService.selectById(staDesc.getCrnStn());
+        if (!staNo.getAutoing().equals("Y")) {
+            throw new CoolException("鐩爣绔�"+staDesc.getCrnStn()+"涓嶅彲鐢�");
+        }
+
+        basCrnpService.checkSiteStatus(crnNo, true);
+
+        // 杩斿洖dto
+        StartupDto startupDto = new StartupDto();
+        startupDto.setWorkNo(getWorkNo(0));
+        startupDto.setCrnNo(crnNo);
+        startupDto.setSourceStaNo(devpNo);
+        startupDto.setStaNo(devpNo);
+        startupDto.setLocNo(locMast.getLocNo());
+        return startupDto;
+    }
+
     /**
      * 涓�鏈熷鎵惧簱浣�
      * 1-6灞� 鏉$爜1鎴栬��2寮�澶�
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index c99bb49..64242a3 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -123,9 +123,11 @@
             throw new CoolException("鐗╂枡绫诲埆鑾峰彇澶辫触");
         }
 
-        StartupDto dto;
+        StartupDto dto=new  StartupDto();
         if (devpNo == 304) {
             dto = commonService.getLocNoBy304(str5.get(0));
+        }if(devpNo == 311){
+            dto = commonService.getLocNoBy311(str5.get(0));
         } else {
 //            dto = commonService.getLocNo(1, 1, devpNo, false, matNos, locTypeDto,0);
             dto = commonService.getLocNoNew(1, devpNo,barcode);
@@ -159,6 +161,7 @@
         }
         // 鐢熸垚宸ヤ綔妗f槑缁�
         List<MatCodeCountDto> matDtos = new ArrayList<>();
+        StartupDto finalDto = dto;
         pltBarcodes.forEach(elem -> {
             matDtos.add(new MatCodeCountDto(elem.getBillNo(), elem.getSeqNo(), elem.getMatNo(), elem.getSupplier(), elem.getQty(),elem.getSource(),elem.getVendor(),elem.getMemo()));
 
@@ -166,7 +169,7 @@
             Wrapper<PltBarcode> wrapper = new EntityWrapper<PltBarcode>().eq("barcode", elem.getBarcode())
                     .eq("bill_no", elem.getBillNo()).eq("seq_no", elem.getSeqNo()).eq("mat_no", elem.getMatNo());
             PltBarcode pltBarcode = pltBarcodeService.selectOne(wrapper);
-            pltBarcode.setLocNo(dto.getLocNo());
+            pltBarcode.setLocNo(finalDto.getLocNo());
             pltBarcode.setIoStatus(1);//鍏ュ簱涓�
             pltBarcodeService.update(pltBarcode,wrapper);
         });
diff --git a/src/main/resources/mapper/LocMastMapper.xml b/src/main/resources/mapper/LocMastMapper.xml
index b994824..e4fa529 100644
--- a/src/main/resources/mapper/LocMastMapper.xml
+++ b/src/main/resources/mapper/LocMastMapper.xml
@@ -191,6 +191,9 @@
         <if test="crnNo == 3">
             and row1 in(6,7)
         </if>
+        <if test="crnNo == 4">
+            and row1 in(8,9)
+        </if>
         ORDER BY lev1 ASC, bay1 ASC
     </select>
     <select id="queryLocByBarCode" resultType="com.zy.asrs.entity.LocMast">
@@ -221,4 +224,7 @@
     <select id="selectByBarcode" resultMap="BaseResultMap">
         SELECT * FROM asr_loc_mast where 1=1 and barcode = #{barcode}
     </select>
+    <select id="selectOneByCrnNo" resultMap="BaseResultMap">
+        SELECT * FROM asr_loc_mast where 1=1 and loc_sts = 'O' and crn_no = #{crnNo} order by lev1,bay1
+    </select>
 </mapper>

--
Gitblit v1.9.1