From b69c72cdf1712d0dd9e73fde691cd31f1b8a6360 Mon Sep 17 00:00:00 2001
From: zzgtfwq <zzgtfwq>
Date: 星期二, 03 三月 2026 15:21:41 +0800
Subject: [PATCH] #26-03-10-00

---
 src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java |    4 ++++
 src/main/resources/mapper/LocMastMapper.xml                    |    3 +++
 src/main/java/com/zy/asrs/mapper/LocMastMapper.java            |    2 ++
 src/main/java/com/zy/asrs/service/LocMastService.java          |    2 +-
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java    |   23 +++++++++++++++++++----
 5 files changed, 29 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
index 9fd1d06..3850c3d 100644
--- a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
@@ -8,6 +8,7 @@
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
+import java.util.function.BinaryOperator;
 
 @Mapper
 @Repository
@@ -35,4 +36,5 @@
     @Select("select count(*) as count from asr_loc_mast where 1=1 and loc_sts = 'O' and loc_type1 = #{locType1} and crn_no = #{crnNo}")
     Integer selectEmptyLocCount(@Param("locType1") Short locType1, @Param("crnNo") Integer crnNo);
 
+    boolean updateLocMast(@Param("locNo")String locNo,@Param("locSts")String locSts);
 }
diff --git a/src/main/java/com/zy/asrs/service/LocMastService.java b/src/main/java/com/zy/asrs/service/LocMastService.java
index bc45966..8e3cf2c 100644
--- a/src/main/java/com/zy/asrs/service/LocMastService.java
+++ b/src/main/java/com/zy/asrs/service/LocMastService.java
@@ -45,5 +45,5 @@
      */
     Boolean checkEmptyCount(LocMast locMast);
 
-
+    boolean updateLocMast(String locNo,String locSts);
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
index ababf93..f61c4f4 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
@@ -51,5 +51,9 @@
         }
         return this.baseMapper.selectEmptyLocCount(locMast.getLocType1(), locMast.getCrnNo()) > 1;
     }
+    @Override
+    public boolean updateLocMast(String locNo,String locSts){
+        return this.baseMapper.updateLocMast(locNo,locSts);
+    }
 
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index e2922d6..5195001 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
 import com.core.exception.CoolException;
+import com.zy.asrs.entity.LocMast;
 import com.zy.asrs.entity.WrkDetl;
 import com.zy.asrs.entity.WrkLastno;
 import com.zy.asrs.entity.WrkMast;
@@ -56,7 +57,8 @@
     
     @Autowired
     private WrkDetlService wrkDetlService;
-    
+    @Autowired
+    private LocMastService locMastService;
     @Autowired
     private SlaveProperties slaveProperties;
 
@@ -231,10 +233,10 @@
                 wrkMast.setWrkSts(11L);
             }
             String locNo = null;
-            if(param.getSourceLocNo() != null){
+            if (param.getSourceLocNo() != null && !param.getSourceLocNo().isEmpty()) {
                 locNo = param.getSourceLocNo();
             }
-            if(param.getTargetLocNo() !=null){
+            if (param.getTargetLocNo() != null && !param.getTargetLocNo().isEmpty()) {
                 locNo = param.getTargetLocNo();
             }
 // 鍙栧墠涓や綅
@@ -255,6 +257,7 @@
             }
 
             wrkMast.setCrnNo(crnNo);
+            wrkMast.setIoTime(new Date());
             wrkMast.setModiTime(new Date());
             wrkMast.setAppeTime(new Date());
             wrkMast.setWrkDate(new Date());
@@ -278,7 +281,19 @@
                     wrkDetlService.insert(wrkDetl);
                 }
             }
-            
+            if(param.getIoType() == 2 || param.getIoType() == 12){
+                locMastService.updateLocMast(param.getTargetLocNo(),"S");
+            }else if(param.getIoType() == 3){
+                locMastService.updateLocMast(param.getSourceLocNo(),"R");
+                locMastService.updateLocMast(param.getTargetLocNo(),"S");
+            }else if(param.getIoType() == 22 || param.getIoType() == 32){
+                locMastService.updateLocMast(param.getTargetLocNo(),"Q");
+            }else if(param.getIoType() == 1 || param.getIoType() == 11){
+                locMastService.updateLocMast(param.getSourceLocNo(),"R" );
+            }else{
+                locMastService.updateLocMast(param.getSourceLocNo(),"P" );
+            }
+
             // 4. 涓嬪彂缁橮LC
             if(Inbound){
                 writeToPlc(wrkMast);
diff --git a/src/main/resources/mapper/LocMastMapper.xml b/src/main/resources/mapper/LocMastMapper.xml
index 7821af2..c08c109 100644
--- a/src/main/resources/mapper/LocMastMapper.xml
+++ b/src/main/resources/mapper/LocMastMapper.xml
@@ -58,5 +58,8 @@
         select top 1 * from asr_loc_mast where crn_no = #{crnNo} and loc_sts = 'O'
         ORDER BY NEWID()
     </select>
+    <update id="updateLocMast">
+        update  asr_loc_mast set loc_sts = #{locSts} where loc_no = #{locNo}
+    </update>
 
 </mapper>

--
Gitblit v1.9.1