From a40971b7b06d8a92107407829ce611aedca331f2 Mon Sep 17 00:00:00 2001
From: zyh <zyh@123>
Date: 星期一, 30 三月 2026 09:57:01 +0800
Subject: [PATCH] 修复入库任务还未生成时下发出库任务会同步进行的问题

---
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |   43 +++++++++++++++++++++++++++++++++++++------
 1 files changed, 37 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 59f9de5..93ae542 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -10,6 +10,7 @@
 import com.zy.asrs.entity.param.*;
 import com.zy.asrs.enums.CommonEnum;
 import com.zy.asrs.enums.LocStsType;
+import com.zy.asrs.mapper.CanFinMapper;
 import com.zy.asrs.mapper.LocMastMapper;
 import com.zy.asrs.mapper.ManLocDetlMapper;
 import com.zy.asrs.service.*;
@@ -33,6 +34,8 @@
 import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -82,6 +85,8 @@
     private ManLocDetlService manLocDetlService;
     @Autowired
     private ManLocDetlMapper manLocDetlMapper;
+    @Autowired
+    private CanFinMapper canFinMapper;
 
     @Autowired
     private AdjDetlService adjDetlService;
@@ -563,7 +568,8 @@
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void comb(CombParam param, Long userId) {
+    public void
+    comb(CombParam param, Long userId) {
         if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) {
             throw new CoolException(BaseRes.PARAM);
         }
@@ -726,11 +732,20 @@
                 waitPakin.setAppeTime(now);
                 waitPakin.setModiUser(userId);
                 waitPakin.setModiTime(now);
-                waitPakin.setStandby1(detls.getStandby1());//閰嶇洏鍙�
+                if (!detlDto.getStandby1().isEmpty() && detlDto.getStandby1() != null && !detlDto.getStandby1().equals("")){
+                    waitPakin.setStandby1(detls.getStandby1());//閰嶇洏鍙�
+                }
+
                 if (!waitPakinService.insert(waitPakin)) {
                     throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
                 }
             }
+
+//            Date date1 = now;
+//            CanFin canFin = new CanFin();
+//            canFin.setApplyTime(date1);
+//            canFin.setAgvType("agv-in");
+//            canFinMapper.insert(canFin);
 
             Set<String> stringSet = param.getCombMats().stream().map(CombParam.CombMat::getOrderNo).collect(Collectors.toSet());
             stringSet.forEach(orderNo -> {
@@ -1329,8 +1344,14 @@
 
     @Override
     @Transactional
-    public R callEmptyBinOutBound(String staNo, String locType, Long userId) {
-        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts", 'D').eq("loc_type2", locType));
+    public R callEmptyBinOutBound(String staNo, String locType, String palletFormat, String agvTaskNo, Long userId) {
+        EntityWrapper<LocMast> wrapper = new EntityWrapper<>();
+        wrapper.eq("loc_sts", "D").eq("loc_type2", Integer.parseInt(locType));
+        if (palletFormat != null && !palletFormat.isEmpty()) {
+            wrapper.like("barcode", palletFormat);
+        }
+        wrapper.orderBy("row1", false);
+        LocMast locMast = locMastService.selectOne(wrapper);
         if(locMast == null) {
             return R.parse("璇ョ被鍨嬶細" + locType +"绌烘墭鐩樹笉瀛樺湪");
         }
@@ -1347,11 +1368,11 @@
         }
 
         // 鑾峰彇璺緞
-        Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
+        Wrapper<StaDesc> wrapper1 = new EntityWrapper<StaDesc>()
                 .eq("type_no", 110)
                 .eq("stn_no", sta)
                 .eq("crn_no", locMast.getCrnNo());
-        StaDesc staDesc = staDescService.selectOne(wrapper);
+        StaDesc staDesc = staDescService.selectOne(wrapper1);
         if (staDesc == null) {
             R.parse("鍑哄簱璺緞涓嶅瓨鍦�,绔欑偣锛�" + sta);
         }
@@ -1359,6 +1380,12 @@
         // 鐢熸垚宸ヤ綔妗�
         int workNo = commonService.getWorkNo(WorkNoType.PAKOUT.type);
         WrkMast wrkMast = new WrkMast();
+        if (agvTaskNo!=null){
+            wrkMast.setUserNo(agvTaskNo);
+        }else {
+            Date date = new Date();
+            wrkMast.setUserNo(staNo + "aa" + date.getTime());
+        }
         wrkMast.setWrkNo(workNo);
         wrkMast.setIoTime(now);
         wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
@@ -1379,6 +1406,10 @@
         wrkMast.setModiTime(now);
         wrkMast.setMemo(staNo);
         wrkMastService.insert(wrkMast);
+        CanFin canFin = new CanFin();
+        canFin.setAgvType("agv-out");
+        canFin.setApplyTime(now);
+        canFinMapper.insert(canFin);
 
         // 鏇存柊搴撲綅鐘舵��
         if (locMast.getLocSts().equals("D")) {

--
Gitblit v1.9.1