From 506eef53323dddf4fefd2873be1c65942dac19b2 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期二, 09 九月 2025 09:48:49 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jshdasrs' into jshdasrs

---
 src/main/java/com/zy/asrs/entity/param/OrderToLine.java        |   68 ++++++++++++++++++++++
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java    |   11 ++-
 src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java   |   17 +++++
 src/main/java/com/zy/asrs/service/StaDescService.java          |    1 
 src/main/java/com/zy/common/web/WcsController.java             |    2 
 src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java         |    2 
 src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java |   33 ++++++++++
 src/main/resources/application.yml                             |    4 
 src/main/resources/mapper/WrkMastStaMapper.xml                 |   12 ++++
 9 files changed, 141 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/param/OrderToLine.java b/src/main/java/com/zy/asrs/entity/param/OrderToLine.java
new file mode 100644
index 0000000..7f8ab49
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/OrderToLine.java
@@ -0,0 +1,68 @@
+package com.zy.asrs.entity.param;
+
+import com.zy.common.model.MesPakoutParam;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Data
+public class OrderToLine {
+    /**
+     * 鍗曟嵁缂栧彿
+     */
+    private String OrderNo;
+
+    /**
+     * 鏃堕棿鎴�
+     */
+    private Long createTime;
+
+    /**
+     *   鐗╂枡鍒楄〃
+     */
+    private List<MatList> matList = new ArrayList<>();
+
+    @Data
+    public static class MatList {
+
+        // Sku\瀹汉鍨嬪彿\鍒嗘嫞灞炴��1\涓嶅彲涓虹┖\鎵爜鍙幏鍙�
+        private String sku;
+
+        // Po\瀹汉PO\鍒嗘嫞灞炴��2锛堝彲浜哄伐寮�鍏筹級\鍙互涓虹┖瀛楃涓诧紝闈濶ULL\鎵爜鍙幏鍙�
+        private String po;
+
+        //绠辨暟
+        private Float ctns;
+
+        //鏉$爜鍊糪闈炲垎鎷e睘鎬э紙鍙汉宸ュ紑鍏筹級\涓嶅彲涓虹┖\鎵爜鍙幏鍙�
+        private String upc;
+
+        //鏍囪瘑锛歕闈炲垎鎷e睘鎬�
+        //1:鎵ц鍒嗘嫞
+        //0锛氫笉鍒嗘嫞锛屽湪绾夸綋寰幆
+        private Integer sign;
+
+        //璐ф簮\闈炲垎鎷e睘鎬э紙涓嶄笅鍙戯紝鏁版嵁鍦ㄦ潯鐮佷腑锛岄渶涓婃姤锛�
+        private String supplier;
+
+        //缁戝畾鏍囪锛堟爣璇嗙浉鍚屽繀椤诲幓鍚屼竴涓垎鎷e彛锛�
+        private Long binding_tags;
+
+        public MatList() {
+        }
+        public MatList(String sku, String po) {
+            this.sku = sku;
+            this.po = po;
+        }
+        public MatList(String sku, String po, Float ctns, String upc, Integer sign, String supplier, Long binding_tags) {
+            this.sku = sku;
+            this.po = po;
+            this.ctns = ctns;
+            this.upc = upc;
+            this.sign = sign;
+            this.supplier = supplier;
+            this.binding_tags = binding_tags;
+        }
+    }
+}
diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java
index a3d0d37..4d65648 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java
@@ -8,5 +8,7 @@
 @Mapper
 @Repository
 public interface WrkMastStaMapper extends BaseMapper<WrkMastSta> {
+    Integer wrkCount1();
+    Integer wrkCount2();
 
 }
diff --git a/src/main/java/com/zy/asrs/service/StaDescService.java b/src/main/java/com/zy/asrs/service/StaDescService.java
index 13d18b8..1f8c3b7 100644
--- a/src/main/java/com/zy/asrs/service/StaDescService.java
+++ b/src/main/java/com/zy/asrs/service/StaDescService.java
@@ -10,6 +10,7 @@
     List<Integer> queryOutStaNosByLocNo(String locNo, Integer typeNo);
 
     StaDesc queryCrnStn(Integer typeNo, Integer crnNo, Integer stnNo);
+    StaDesc queryCrnStnCheck(Integer typeNo, Integer crnNo, Integer stnNo);
 
     StaDesc queryCrnStnAuto(Integer typeNo, Integer crnNo, Integer stnNo);
 
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..efe6217 100644
--- a/src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java
@@ -7,14 +7,18 @@
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.StaDesc;
 import com.zy.asrs.mapper.StaDescMapper;
+import com.zy.asrs.mapper.WrkMastStaMapper;
+import com.zy.asrs.service.MatService;
 import com.zy.asrs.service.StaDescService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
 
 @Service("staDescService")
 public class StaDescServiceImpl extends ServiceImpl<StaDescMapper, StaDesc> implements StaDescService {
-
+    @Autowired
+    private WrkMastStaMapper wrkMastStaMapper;
     @Override
     public List<Integer> queryOutStaNosByLocNo(String locNo, Integer typeNo) {
         return this.baseMapper.queryOutStaNosByLocNo(locNo, typeNo);
@@ -34,6 +38,33 @@
     }
 
     @Override
+    public StaDesc queryCrnStnCheck(Integer typeNo, Integer crnNo, Integer stnNo) {
+        Integer wrkRgv1 = wrkMastStaMapper.wrkCount1();
+        Integer wrkRgv2 = wrkMastStaMapper.wrkCount2();
+
+        Wrapper<StaDesc> wrapper = new EntityWrapper<>();
+
+        // 鉁� 濡傛灉 wrkRgv1 < wrkRgv2锛屽垯澶氬姞涓�涓潯浠�
+        if (wrkRgv1 < wrkRgv2) {
+            wrapper.eq("type_no", typeNo)
+                    .eq("stn_no", stnNo)
+                    .eq("crn_no", crnNo)
+                    .lt("crn_stn", 2000);
+        }else{
+            wrapper.eq("type_no", typeNo)
+                    .eq("stn_no", stnNo)
+                    .eq("crn_no", crnNo)
+                    .gt("crn_stn", 2000);
+        }
+        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)
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 c41d17a..30c0c4c 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -341,6 +341,10 @@
 
             // 鑾峰彇璺緞
             StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), outSta);
+            if(ioType.equals(107)){
+                staDesc = staDescService.queryCrnStnCheck(ioType, locMast.getCrnNo(), outSta);
+            }
+
             // 鐢熸垚宸ヤ綔鍙�
             int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
             // 鐢熸垚宸ヤ綔妗�
@@ -360,7 +364,7 @@
             wrkMast.setEmptyMk("N"); // 绌烘澘
             wrkMast.setLinkMis("N");
             wrkMast.setBarcode(locMast.getBarcode());
-            if (Boolean.parseBoolean(config.getValue()) && locMastRgv.getLocNo() != null) {  //鑻ユ湁绌哄簱浣嶄笖閰嶇疆鍏佽鍒欑粦瀹氬叾澶囨枡搴撲綅鍙�
+            if (Boolean.parseBoolean(config.getValue()) && locMastRgv.getLocNo() != null && ioType != 107) {  //鑻ユ湁绌哄簱浣嶄笖閰嶇疆鍏佽鍒欑粦瀹氬叾澶囨枡搴撲綅鍙�
                 wrkMast.setLocNo(locMastRgv.getLocNo());
                 wrkMast.setTakeNone("0");  //0rgv鏈彇锛�1rgv宸插彇璐�
             }
@@ -390,16 +394,13 @@
                 }
             }
             //淇敼agv澶囨枡鍖虹姸鎬�
-            if(locMastRgv.getLocSts().equals("O")){
+            if(locMastRgv.getLocSts().equals("O") && ioType != 107){
                 locMastRgv.setLocSts("S");
                 locMastRgv.setModiUser(userId);
                 locMastRgv.setModiTime(now);
                 if (!locMastService.updateById(locMastRgv)) {
                     throw new CoolException("棰勭害agv澶囨枡鍖哄簱浣嶇姸鎬佸け璐ワ紝搴撲綅鍙凤細"+locMastRgv.getLocNo());
                 }
-            }else{
-                throw new CoolException(locMastRgv.getLocNo() + "澶囨枡鍖轰笉鏄┖搴撲綅鐘舵��");
-
             }
             // 淇敼搴撲綅鐘舵��:   F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓�
             locMast = locMastService.selectById(dto.getLocNo());
diff --git a/src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java b/src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java
new file mode 100644
index 0000000..f47d516
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java
@@ -0,0 +1,17 @@
+package com.zy.asrs.task;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@Component
+//璁㈠崟涓嬪彂鑷冲垎鎷g嚎
+public class OrderToSortLineScheduler {
+
+//    @Scheduled(cron = "0/3 * * * * ? ")
+    private void orderToSortLine() {
+
+    }
+
+}
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index 9b03a77..9243442 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -179,7 +179,7 @@
         wrkMast.setIoType(12);
         wrkMast.setCrnNo(3);
         wrkMast.setBarcode(transplantWork.getBarcode());
-        wrkMast.setSourceStaNo(1015);
+        wrkMast.setSourceStaNo(transplantWork.getSourceStaNo());
         wrkMast.setStaNo(transplantWork.getStaNo());
         wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
         wrkMast.setPicking("N"); // 鎷f枡
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 4c12684..0260cac 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -10,8 +10,8 @@
     enabled: false
   datasource:
     driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-#    url: jdbc:sqlserver://127.0.0.1:1433;databasename=jshdasrs
-    url: jdbc:sqlserver://10.10.10.235:1433;databasename=jshdasrs
+    url: jdbc:sqlserver://127.0.0.1:1433;databasename=jshdasrs
+#    url: jdbc:sqlserver://10.10.10.235:1433;databasename=jshdasrs
     username: sa
     password: sa@123
   mvc:
diff --git a/src/main/resources/mapper/WrkMastStaMapper.xml b/src/main/resources/mapper/WrkMastStaMapper.xml
index 11ad76d..af48c7c 100644
--- a/src/main/resources/mapper/WrkMastStaMapper.xml
+++ b/src/main/resources/mapper/WrkMastStaMapper.xml
@@ -22,4 +22,16 @@
 
     </resultMap>
 
+    <select id="wrkCount1" resultType="Integer">
+        SELECT COUNT(*) FROM asr_wrk_mast_sta WHERE wrk_start &lt; 2000
+    </select>
+
+
+    <select id="wrkCount2" resultType="Integer">
+        SELECT COUNT(*)
+        FROM asr_wrk_mast_sta
+        WHERE wrk_start &gt; 2000
+    </select>
+
+
 </mapper>

--
Gitblit v1.9.1