From 41411a57fc0d237577aa10ccfc1aded50556f5ba Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期六, 28 三月 2026 13:35:23 +0800
Subject: [PATCH] Revert "添加的分属环境配置文件 暂停上报功能"

---
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |  142 ++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 132 insertions(+), 10 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 b4048ff..620b397 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -22,10 +22,7 @@
 import com.zy.common.constant.HIKApiConstant;
 import com.zy.common.constant.MesConstant;
 import com.zy.common.entity.Parameter;
-import com.zy.common.model.DetlDto;
-import com.zy.common.model.LocTypeDto;
-import com.zy.common.model.MesCombParam;
-import com.zy.common.model.StartupDto;
+import com.zy.common.model.*;
 import com.zy.common.model.enums.WorkNoType;
 import com.zy.common.properties.SlaveProperties;
 import com.zy.common.service.CommonService;
@@ -2397,12 +2394,12 @@
             locMast = locMastService.selectById(locMast.getLocNo());
 //            if (locMast.getLocSts().equals(LocStsType.LOC_STS_TYPE_F.type)
 //                    || locMast.getLocSts().equals(LocStsType.LOC_STS_TYPE_D.type)) {
-                locMast.setLocSts(ioType == 101 ? "R" : "P");
-                locMast.setModiUser(userId);
-                locMast.setModiTime(now);
-                if (!locMastService.updateById(locMast)) {
-                    throw new CoolException("棰勭害搴撲綅鐘舵�佸け璐ワ紝搴撲綅鍙凤細" + locMast.getLocNo());
-                }
+            locMast.setLocSts(ioType == 101 ? "R" : "P");
+            locMast.setModiUser(userId);
+            locMast.setModiTime(now);
+            if (!locMastService.updateById(locMast)) {
+                throw new CoolException("棰勭害搴撲綅鐘舵�佸け璐ワ紝搴撲綅鍙凤細" + locMast.getLocNo());
+            }
 //            } else {
 //                throw new CoolException(locMast.getLocNo() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��");
 //            }
@@ -2883,6 +2880,130 @@
     }
 
     /**
+     * 鎸夊彴杞﹀嚭搴�
+     *
+     * @param params
+     * @return com.core.common.R
+     * @author Ryan
+     * @date 2026/3/28 8:41
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public R outStockByTc(AgvCallParams params) {
+        if (Objects.isNull(params.getCarBarcode())) {
+            return R.error("鍙拌溅鐮佷笉鑳戒负绌猴紒锛�");
+        }
+        LocCache locCache = locCacheService.selectOne(new EntityWrapper<LocCache>().eq("barcode", params.getCarBarcode()));
+        if (Objects.isNull(locCache)) {
+            return R.error("褰撳墠鍙拌溅涓嶅湪缂撳啿搴撳尯锛侊紒");
+        }
+        if (Objects.isNull(params.getTarSite())) {
+            return R.error("鐩爣绔欑偣涓嶈兘涓虹┖锛侊紒");
+        }
+        List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locCache.getLocNo()));
+        if (Objects.isNull(locDetls) || locDetls.isEmpty()) {
+            return R.error("鍙拌溅涓婃病鏈夊搴旀槑缁嗕俊鎭紒锛�");
+        }
+        List<LocDto> locDtos = new ArrayList<>();
+        locDetls.forEach(locDetl -> {
+            OrderPakout orderPakout = orderPakoutService.selectOne(new EntityWrapper<OrderPakout>()
+                    .eq("doc_type", 5)
+                    .eq("number", locDetl.getOrderNo()));
+            if (!Objects.isNull(orderPakout)) {
+                locDetl.setMemo(orderPakout.getShipCode());
+                locDetl.setOrderNo(orderPakout.getOrderNo());
+            }
+            OrderDetlPakout orderDetl = orderDetlPakoutService.selectOne(new EntityWrapper<OrderDetlPakout>()
+                    .eq("matnr", locDetl.getMatnr())
+                    .eq("supp_code", locDetl.getSuppCode())
+                    .eq("order_no", orderPakout.getOrderNo()));
+            if (Objects.isNull(orderDetl)) {
+                throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦紒锛�");
+            }
+
+            LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
+                    locDetl.getAnfme());
+            locDto.setFrozen(locDetl.getFrozen());
+            locDto.setFrozenLoc(locCache.getFrozen());
+//            List<BasStation> basStations = basStationService.selectList(new EntityWrapper<BasStation>().in("area_id", areaIds));
+//            List<String> collect = basStations.stream().map(BasStation::getDevNo).collect(Collectors.toList());
+//            locDto.setAgvStaNos(collect);
+            locDto.setAgvStaNo(params.getTarSite());
+            locDto.setBrand(orderDetl.getBrand());
+            locDto.setSuppCode(orderDetl.getSuppCode());
+            locDto.setStandby1(orderDetl.getStandby1());
+            locDto.setStandby2(orderDetl.getStandby2());
+            locDto.setStandby3(orderDetl.getStandby3());
+            locDto.setBoxType1(orderDetl.getBoxType1());
+            locDto.setBoxType2(orderDetl.getBoxType2());
+            locDto.setBoxType3(orderDetl.getBoxType3());
+            locDtos.add(locDto);
+//            exist.add(locDetl.getLocNo());
+        });
+
+        generateAgvTaskByTc(locDtos);
+
+
+        return R.ok();
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    public void generateAgvTaskByTc(List<LocDto> locDtos) {
+        List<LocDto> locDtoArrayList = new ArrayList<>();
+        for (LocDto locDto : locDtos){
+            if (locDto.getFrozen()!=1 && locDto.getFrozenLoc()!=1){
+                locDtoArrayList.add(locDto);
+            }
+        }
+        locDtos = locDtoArrayList;
+        if (Cools.isEmpty(locDtos)) {
+            throw new CoolException("搴撳瓨/搴撲綅琚喕缁擄紝璇峰鐞嗗悗鍑哄簱锛侊紒锛�");
+        }
+        boolean lack = true;
+        for (LocDto locDto : locDtos) {
+            if (!locDto.isLack()) {
+                lack = false;
+                break;
+            }
+        }
+        if (lack) {
+            throw new CoolException("搴撳瓨涓嶈冻");
+        }
+
+        try {
+            Thread.sleep(300L);
+        } catch (InterruptedException e) {
+            throw new RuntimeException(e);
+        }
+
+        List<TaskDto> taskDtos = new ArrayList<>();
+        // 鏍规嵁 锛堝簱浣� & 鍑哄簱绔欙級 鍒嗙粍锛� 鐞嗘兂鐘舵�侊細涓�缁勪负涓�娆″嚭搴撲换鍔�
+        for (LocDto locDto : locDtos) {
+            if (locDto.isLack()) { continue; }
+            TaskDto taskDto = new TaskDto(locDto.getLocNo(), locDto.getAgvStaNo(), locDto);
+            if (TaskDto.hasAgv(taskDtos, taskDto)) {
+                TaskDto dto = TaskDto.findAgv(taskDtos, taskDto);
+                assert dto != null;
+                dto.getLocDtos().addAll(taskDto.getLocDtos());
+            } else {
+                taskDtos.add(taskDto);
+            }
+        }
+        // -----------------------------------------------------------------------------------------------
+        Map<String, List<TaskDto>> listMap = taskDtos.stream().collect(Collectors.groupingBy(TaskDto::getLocNo));
+        listMap.keySet().forEach(locNo -> {
+            listMap.get(locNo).forEach(taskDto -> {
+                BasStation station = basStationService.selectOne(new EntityWrapper<BasStation>()
+                        .in("loc_sts", Arrays.asList(LocStsType.LOC_STS_TYPE_O.type, LocStsType.LOC_STS_TYPE_O.type))
+                        .eq("dev_no", taskDto.getAgvStaNo()));
+                if (Objects.isNull(station)) { throw new CoolException("鏁版嵁閿欒锛岀珯鐐逛笉瀛樺湪鎴栧凡浣跨敤锛侊紒"); }
+                workService.agvStockOut(station, taskDto, 9527L);
+            });
+        });
+    }
+
+
+    /**
      * 纭鎹嗗寘鍑哄簱
      *
      * @param combParam
@@ -3007,6 +3128,7 @@
         return R.ok().add(wrkMast);
     }
 
+
     /**
      * 鐢熸垚绉诲簱浠诲姟
      *

--
Gitblit v1.9.1