From e046dba174365eb8934ee1e4206f09821145e876 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 21 八月 2025 13:23:22 +0800
Subject: [PATCH] no message

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/controller/OutStockController.java |   46 ++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 40 insertions(+), 6 deletions(-)

diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/controller/OutStockController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/controller/OutStockController.java
index 2d82b49..96fd17d 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/controller/OutStockController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/controller/OutStockController.java
@@ -1,6 +1,7 @@
 package com.zy.asrs.wms.apis.wcs.controller;
 
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.zy.asrs.framework.common.R;
 import com.zy.asrs.framework.exception.CoolException;
@@ -10,19 +11,26 @@
 import com.zy.asrs.wms.apis.wcs.services.WcsApiService;
 import com.zy.asrs.wms.asrs.entity.CacheSite;
 import com.zy.asrs.wms.asrs.entity.Task;
+import com.zy.asrs.wms.asrs.entity.WaveSeed;
 import com.zy.asrs.wms.asrs.entity.param.BindPlatformParam;
 import com.zy.asrs.wms.asrs.service.CacheSiteService;
 import com.zy.asrs.wms.asrs.service.PlatformService;
 import com.zy.asrs.wms.asrs.service.TaskService;
+import com.zy.asrs.wms.asrs.service.WaveSeedService;
+import com.zy.asrs.wms.asrs.service.impl.WaveSeedServiceImpl;
 import com.zy.asrs.wms.system.controller.BaseController;
 import io.netty.util.internal.StringUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 @Slf4j
 @RestController
@@ -40,6 +48,9 @@
 
     @Resource
     private TaskService taskService;
+
+    @Autowired
+    private WaveSeedService waveSeedService;
 
 
     /**
@@ -84,9 +95,11 @@
     }
 
     /**
+     * ESS 鎾澧欐媿鐏洖璋�
      * 鎾澧欐媿鐏紝ESS璋冪敤
      */
     @PostMapping("/light/off")
+    @Transactional(rollbackFor = Exception.class)
     public R lightOff(@RequestBody Map<String, Object> request) {
         if (Objects.isNull(request)) {
             throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
@@ -98,18 +111,39 @@
             throw new CoolException("浜嬩欢鍚嶇О涓嶈兘涓虹┖锛侊紒");
         }
 
+        log.info("鎾澧欐媿鐏紝璇锋眰鍙傛暟锛歿}", JSONObject.toJSONString(request));
+
         // 鏍规嵁绔欑偣缂栫爜鏌ユ挱绉嶇珯鐐逛俊鎭�
         CacheSite cacheSite = cacheSiteService.getOne(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getSiteNo, request.get("tagCode")));
+        if (Objects.isNull(cacheSite)) {
+            throw new CoolException("褰撳墠绔欑偣涓嶅瓨鍦紒锛�");
+        }
+
+        WaveSeed waveSeed = waveSeedService.getOne(new LambdaQueryWrapper<WaveSeed>()
+                        .eq(WaveSeed::getExceStatus, 1)
+                .eq(WaveSeed::getSiteNo, request.get("tagCode").toString()), false);
+        if (Objects.isNull(waveSeed)) {
+            throw new CoolException("鎾澧欏湴鏍囨湭缁戝畾锛侊紒");
+        }
+
         // 鏍规嵁鎾绔欑偣淇℃伅鏉$爜锛屾煡浠诲姟
-        Task task = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getBarcode, cacheSite.getBarcode()));
+        Task task = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getId, waveSeed.getTaskId()));
+        if (Objects.isNull(task)) {
+            throw new CoolException("褰撳墠绔欑偣浠诲姟涓嶅瓨鍦紒锛�");
+        }
 
-        request.clear();
-        request.put("taskNo", task.getTaskNo());
-        request.put("orderNo",cacheSite.getOrderNo());
+        Map<String, Object> param = new HashMap<>();
+        param.put("taskNo", task.getTaskNo());
+        param.put("siteNo", cacheSite.getSiteNo());
+        param.put("weedId", waveSeed.getId());
+        param.put("orderNo",cacheSite.getOrderNo());
 
-        wcsApiService.slapLightLogic(request);
+        waveSeed.setExceStatus(0);
+        if (!waveSeedService.updateById(waveSeed)) {
+            throw new CoolException("鎾鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+        }
 
-        return R.ok();
+       return wcsApiService.slapLightLogic(param);
     }
 
     /**

--
Gitblit v1.9.1