From 6f1daffee3b65b5943dad26e1af3cbcafa46fd90 Mon Sep 17 00:00:00 2001
From: lsh <1>
Date: 星期日, 18 二月 2024 16:57:26 +0800
Subject: [PATCH] #

---
 src/main/resources/mapper/WrkMastLogMapper.xml              |    1 
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |  124 +++++++++++++++++++++++++++++++++++++----
 src/main/java/com/zy/asrs/entity/WrkMast.java               |    7 ++
 src/main/java/com/zy/asrs/task/WorkMastScheduler.java       |   10 +-
 src/main/resources/mapper/WrkMastMapper.xml                 |    1 
 src/main/java/com/zy/asrs/entity/WrkMastLog.java            |    7 ++
 6 files changed, 133 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/WrkMast.java b/src/main/java/com/zy/asrs/entity/WrkMast.java
index e00a33a..5a2e412 100644
--- a/src/main/java/com/zy/asrs/entity/WrkMast.java
+++ b/src/main/java/com/zy/asrs/entity/WrkMast.java
@@ -325,6 +325,13 @@
     @TableField("take_none")
     private String takeNone;
 
+    /**
+     * 浼寸敓宸ヤ綔鍙�
+     */
+    @ApiModelProperty(value= "浼寸敓宸ヤ綔鍙�")
+    @TableField("work_no_other")
+    private Integer workNoOther;
+
     public WrkMast() {}
 
     public String getYmd$(){
diff --git a/src/main/java/com/zy/asrs/entity/WrkMastLog.java b/src/main/java/com/zy/asrs/entity/WrkMastLog.java
index 134ccc4..72d8b36 100644
--- a/src/main/java/com/zy/asrs/entity/WrkMastLog.java
+++ b/src/main/java/com/zy/asrs/entity/WrkMastLog.java
@@ -324,6 +324,13 @@
     @TableField("take_none")
     private String takeNone;
 
+    /**
+     * 浼寸敓宸ヤ綔鍙�
+     */
+    @ApiModelProperty(value= "浼寸敓宸ヤ綔鍙�")
+    @TableField("work_no_other")
+    private Integer workNoOther;
+
     public WrkMastLog() {}
 
     public String getWrkNo$(){
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 4972b51..075d879 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -536,8 +536,17 @@
         if (Cools.isEmpty(param.getOutSite())) {
             throw new CoolException("绔欑偣涓嶅瓨鍦�");
         }
-        List<String> locNoOtherList = new ArrayList<>();
+        List<String> locNoOtherListOne = new ArrayList<>();
         for (String locNo : param.getLocNos()) {
+
+            //灏忔枡绠变即鐢熷嚭搴�
+            if (Utils.getRow(locNo)<=8){
+                String locNoOther = staNoOther(locNo);
+                if (!param.getLocNos().contains(locNoOther)){
+                    locNoOtherListOne.add(locNoOther);
+                }
+            }
+
             // 鑾峰彇宸ヤ綔鍙�
             int workNo = commonService.getWorkNo(WorkNoType.PAKOUT.type);
             // 鑾峰彇搴撲綅
@@ -593,21 +602,112 @@
                 }
             }
         }
+
+        for (String locNo:locNoOtherListOne){
+            // 鑾峰彇宸ヤ綔鍙�
+            int workNo = commonService.getWorkNo(WorkNoType.PAKOUT.type);
+
+            //浼寸敓鍏ュ簱宸ヤ綔鍙�
+            int workNoRu = commonService.getWorkNo(0);
+
+            // 鑾峰彇搴撲綅
+            LocMast locMast = locMastService.selectById(locNo);
+            if (Cools.isEmpty(locMast)) {
+                throw new CoolException(locNo+"搴撲綅涓嶅瓨鍦�");
+            }
+            if (!locMast.getLocSts().equals("D")){
+                throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篋鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$());
+            }
+            // 鑾峰彇婧愮珯
+            Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
+                    .eq("type_no", 110)
+                    .eq("stn_no", param.getOutSite())
+                    .eq("crn_no", locMast.getCrnNo());
+            StaDesc staDesc = staDescService.selectOne(wrapper);
+            Integer sourceStaNo = staDesc.getCrnStn();
+            if (Cools.isEmpty(sourceStaNo)) {
+                throw new CoolException("妫�绱㈡簮绔欏け璐�");
+            }
+            Date now = new Date();
+            // 淇濆瓨宸ヤ綔妗�
+            WrkMast wrkMast = new WrkMast();
+            wrkMast.setWrkNo(workNo);
+            wrkMast.setIoTime(now);
+            wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
+            wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬侊細 110.绌烘澘鍑哄簱
+            wrkMast.setIoPri(10D);
+            wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯
+            wrkMast.setStaNo(crnStaRu(locMast.getCrnNo())); // 鐩爣绔�  鍫嗗灈鏈哄叆搴撳彛
+            wrkMast.setCrnNo(locMast.getCrnNo());
+            wrkMast.setSourceLocNo(locNo); // 婧愬簱浣�
+            wrkMast.setFullPlt("N"); // 婊℃澘锛歒
+            wrkMast.setPicking("N"); // 鎷f枡
+            wrkMast.setExitMk("N"); // 閫�鍑�
+            wrkMast.setEmptyMk("Y"); // 绌烘澘
+            wrkMast.setLinkMis("N");
+            wrkMast.setAppeUser(userId);
+            wrkMast.setAppeTime(now);
+            wrkMast.setModiUser(userId);
+            wrkMast.setModiTime(now);
+            wrkMast.setWorkNoOther(workNoRu);
+            boolean res = wrkMastService.insert(wrkMast);
+            if (!res) {
+                throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+            }
+            // 鏇存柊搴撲綅鐘舵�� D.绌烘澘 -> R.鍑哄簱棰勭害
+            if (locMast.getLocSts().equals("D")){
+                locMast.setLocSts("R");
+                locMast.setModiUser(userId);
+                locMast.setModiTime(now);
+                if (!locMastService.updateById(locMast)) {
+                    throw new CoolException("鏇存柊搴撲綅鐘舵�佸け璐�");
+                }
+            }
+
+            // 鐢熸垚宸ヤ綔妗�
+            WrkMast wrkMastRu = new WrkMast();
+            wrkMastRu.setWrkNo(workNoRu);
+            wrkMastRu.setIoTime(new Date());
+            wrkMastRu.setWrkSts(2L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
+            wrkMastRu.setIoType(10); // 鍏ュ嚭搴撶姸鎬侊細10.绌烘澘鍏ュ簱
+            wrkMastRu.setIoPri(13D); // 浼樺厛绾�
+            wrkMastRu.setCrnNo(wrkMast.getCrnNo());
+            wrkMastRu.setSourceStaNo(wrkMast.getSourceStaNo());
+            wrkMastRu.setStaNo(wrkMast.getStaNo());
+//        wrkMast.setLocNo(dto.getLocNo());
+            wrkMastRu.setFullPlt("N"); // 婊℃澘
+            wrkMastRu.setPicking("N"); // 鎷f枡
+            wrkMastRu.setExitMk("N"); // 閫�鍑�
+            wrkMastRu.setEmptyMk("Y"); // 绌烘澘
+            wrkMastRu.setLinkMis("Y");
+            wrkMastRu.setCtnType(wrkMast.getCtnType()); // 瀹瑰櫒绫诲瀷
+            // 鎿嶄綔浜哄憳鏁版嵁
+            wrkMastRu.setAppeTime(new Date());
+            wrkMastRu.setModiTime(new Date());
+            boolean resOther = wrkMastService.insert(wrkMastRu);
+            if (!resOther) {
+                throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+            }
+        }
     }
 
-    public String[] staNoOther(String locNo){
-        String[] strings = new String[2];
+    public Integer crnStaRu(Integer crnNo){
+        switch (crnNo){
+            case 1:
+                return 153;
+            case 2:
+                return 145;
+            default:
+                return null;
+        }
+    }
+
+    public String staNoOther(String locNo){
         int row = Utils.getRow(locNo);
-        if (row==1 || row==5 ){
-            strings[0] = locNo;
-            strings[1] = getDeepLoc2(locNo,row);
-            return strings;
-        } else if (row == 4 || row == 8){
-            strings[0] = getDeepLoc2(locNo,row);
-            strings[1] = locNo;
-            return strings;
+        if (row%4==0 || row%4==1){
+            return getDeepLoc2(locNo,row);
         }else {
-            return null;
+            return getDeepLoc(locNo,row);
         }
     }
 
diff --git a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
index ef62596..86e5441 100644
--- a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
@@ -39,11 +39,11 @@
             return;
         }
         for (WrkMast wrkMast : wrkMasts) {
-            if (wrkMast.getIoType().equals(101)){
-                if (Cools.isEmpty(wrkMast.getSheetNo()) || !wrkMast.getSheetNo().equals("3")){
-                    continue;
-                }
-            }
+//            if (wrkMast.getIoType().equals(101)){
+//                if (Cools.isEmpty(wrkMast.getSheetNo()) || !wrkMast.getSheetNo().equals("3")){
+//                    continue;
+//                }
+//            }
             ReturnT<String> returnT = workMastHandler.start(wrkMast);
             if (!returnT.isSuccess()) {
                 wrkMast.setUpdMk("X");
diff --git a/src/main/resources/mapper/WrkMastLogMapper.xml b/src/main/resources/mapper/WrkMastLogMapper.xml
index cbe6570..6c8d3cd 100644
--- a/src/main/resources/mapper/WrkMastLogMapper.xml
+++ b/src/main/resources/mapper/WrkMastLogMapper.xml
@@ -61,6 +61,7 @@
         <result column="full_plt" property="fullPlt" />
         <result column="pre_have" property="preHave" />
         <result column="take_none" property="takeNone" />
+        <result column="work_no_other" property="workNoOther" />
     </resultMap>
 
 </mapper>
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index 7834e3a..77c3d7c 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -60,6 +60,7 @@
         <result column="full_plt" property="fullPlt" />
         <result column="pre_have" property="preHave" />
         <result column="take_none" property="takeNone" />
+        <result column="work_no_other" property="workNoOther" />
     </resultMap>
 
     <select id="selectToBeCompleteData" resultMap="BaseResultMap">

--
Gitblit v1.9.1