From c2b88a03f3d0d5ebe92949e64d17ee4d0ac3f6b7 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 09 九月 2025 15:14:00 +0800
Subject: [PATCH] 发货清空缓存站点

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java |   52 +++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 39 insertions(+), 13 deletions(-)

diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java
index 69f382c..17b0579 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java
@@ -2,6 +2,7 @@
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.zy.asrs.framework.common.R;
@@ -126,7 +127,7 @@
 
         //缁勬嫋閫氱煡妗�
         waitPakins.forEach(pakin -> {
-            waitPakinService.comb(pakin);
+            waitPakinService.comb(pakin, ordersParam.getInType());
         });
 
 
@@ -238,10 +239,10 @@
         orders.forEach(order -> {
             List<OrderDetl> detls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>().eq(OrderDetl::getOrderId, order.getId()));
             Double sum = detls.stream().mapToDouble(OrderDetl::getQty).sum();
-            Double summed = detls.stream().mapToDouble(OrderDetl::getWorkQty).sum();
-            Double v = Math.round((sum + summed) * 1000) / 1000.0;
+//            Double summed = detls.stream().mapToDouble(OrderDetl::getWorkQty).sum();
+//            Double v = Math.round((sum ) * 1000) / 1000.0;
             Double anfme = detls.stream().mapToDouble(OrderDetl::getAnfme).sum();
-            if (v.compareTo(anfme) == 0.0) {
+            if (sum.compareTo(anfme) == 0.0) {
                 order.setOrderSettle(OrderSettleType.COMPLETE.val());
                 if (!orderService.updateById(order)) {
                     throw new CoolException("鍗曟嵁鐘舵�佷慨鏀瑰け璐ワ紒锛�");
@@ -421,7 +422,8 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public boolean bindOrderBySite(Map<String, Object> param) {
-        CacheSite siteNo = cacheSiteMapper.selectOne(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getSiteNo, param.get("siteNo")), false);
+        CacheSite siteNo = cacheSiteMapper.selectOne(new LambdaQueryWrapper<CacheSite>()
+                .eq(CacheSite::getSiteNo, param.get("siteNo")), false);
         if (Objects.isNull(siteNo)) {
             throw new CoolException("绔欑偣寮傚父锛侊紒");
         }
@@ -429,7 +431,8 @@
             if (!StringUtil.isNullOrEmpty(siteNo.getOrderNo())) {
                 throw new CoolException("褰撳墠鎾绔欑偣宸茬粦瀹氳鍗曪紒锛�");
             }
-            Order order = orderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderNo, param.get("orderNo").toString()));
+            Order order = orderService.getOne(new LambdaQueryWrapper<Order>()
+                    .eq(Order::getOrderNo, param.get("orderNo").toString()));
             if (Objects.isNull(order)) {
                 throw new CoolException("缁戝畾璁㈠崟涓嶅瓨鍦紒锛�");
             }
@@ -441,12 +444,12 @@
                 throw new CoolException("璁㈠崟鎾浣嶇粦瀹氬け璐ワ紒锛�");
             }
 
-//            if (!waveSeedMapper.update(new LambdaUpdateWrapper<WaveSeed>()
-//                    .eq(WaveSeed::getOrderNo, order.getOrderNo())
-//                    .set(WaveSeed::getSiteId, siteNo.getId())
-//                    .set(WaveSeed::getSiteNo, siteNo.getSiteNo()))) {
-//                throw new CoolException("鎾绔欑偣鏇存柊澶辫触锛侊紒");
-//            }
+            if (!waveSeedMapper.update(new LambdaUpdateWrapper<WaveSeed>()
+                    .eq(WaveSeed::getOrderNo, order.getOrderNo())
+                    .set(WaveSeed::getSiteId, siteNo.getId())
+                    .set(WaveSeed::getSiteNo, siteNo.getSiteNo()))) {
+                throw new CoolException("鎾绔欑偣鏇存柊澶辫触锛侊紒");
+            }
             //缁戝畾鎴愬姛锛屾挱绉嶅浜伅
             sowLightMange(siteNo.getSiteNo(), order, "LIGHT");
         } else {
@@ -548,6 +551,20 @@
         }
 
         params.forEach(order -> {
+            CacheSite cacheSite = cacheSiteService.getOne(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getOrderId, order.getId()));
+            if (cacheSite != null) {
+                cacheSite.setSiteStatus(CacheSiteStatusType.O.id);
+                cacheSite.setOrderId(null);
+                cacheSite.setOrderNo(null);
+                cacheSite.setBarcode(null);
+                cacheSite.setPlatformId(null);
+                cacheSite.setPlatformNo(null);
+                cacheSite.setUpdateTime(new Date());
+                if (!cacheSiteService.updateById(cacheSite)) {
+                    throw new CoolException("缂撳瓨绔欐竻绌哄け璐�");
+                }
+            }
+
             OrderDetl byId = orderDetlService.getById(order.getId());
             if (Objects.isNull(byId)) {
                 throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦紒锛�");
@@ -660,7 +677,16 @@
      */
     @Override
     public R getMatsByCode(String matnr) {
-        return R.ok().add(matService.list(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, matnr)));
+        QueryWrapper<LocDetl> wrapper = new QueryWrapper<>();
+        wrapper.eq("matnr", matnr).select("matnr, SUM(anfme) anfme");
+        LocDetl detl = locDetlService.getOne(wrapper);
+
+        Mat one = matService.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, detl.getMatnr()), false);
+        if (Objects.isNull(one)) {
+            throw new CoolException("鐗╂枡涓嶅瓨鍦紒锛�");
+        }
+        one.setAnfme(detl.getAnfme());
+        return R.ok().add(Arrays.asList(one));
     }
 
     /**

--
Gitblit v1.9.1