From 6923315545b3f97c86719148f85dac1220a14a63 Mon Sep 17 00:00:00 2001
From: chen.llin <1442464845@qq.comm>
Date: 星期三, 14 一月 2026 19:23:54 +0800
Subject: [PATCH] agv空托入库接口以及机器人组站点配置

---
 src/main/java/com/zy/asrs/controller/LocDetlController.java |   40 +++++++++++++++++++++++++++++++++-------
 1 files changed, 33 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/LocDetlController.java b/src/main/java/com/zy/asrs/controller/LocDetlController.java
index 01bd62d..4020040 100644
--- a/src/main/java/com/zy/asrs/controller/LocDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/LocDetlController.java
@@ -24,6 +24,7 @@
 import com.zy.asrs.service.LocOwnerService;
 import com.zy.asrs.service.MatService;
 import com.zy.common.web.BaseController;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -128,7 +129,14 @@
     @RequestMapping(value = "/locDetl/{id}/auth")
     @ManagerAuth
     public R get(@PathVariable("id") String id) {
-        return R.ok(locDetlService.selectById(String.valueOf(id)));
+        // asr_loc_detl 琛ㄦ病鏈� id 涓婚敭锛屼娇鐢� loc_no 鏌ヨ
+        // 娉ㄦ剰锛氫竴涓� loc_no 鍙兘瀵瑰簲澶氭潯璁板綍锛岃繑鍥炵涓�鏉�
+        List<LocDetl> list = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", id).last("limit 1"));
+        if (!list.isEmpty()) {
+            return R.ok(list.get(0));
+        }
+        // 杩斿洖 null 鑰屼笉鏄敊璇紝閬垮厤鍓嶇瑙f瀽澶辫触
+        return R.ok(null);
     }
 
     @RequestMapping(value = "/locDetl/auth")
@@ -233,13 +241,29 @@
     @RequestMapping(value = "/locDetl/update/auth")
     @ManagerAuth(memo = "搴撲綅鏄庣粏淇敼")
     public R update(LocDetl locDetl) {
-        if (Cools.isEmpty(locDetl) || null == locDetl.getMatnr()) {
-            return R.error();
+        if (Cools.isEmpty(locDetl) || null == locDetl.getMatnr() || Cools.isEmpty(locDetl.getLocNo())) {
+            return R.error("鍙傛暟涓嶅畬鏁达紝闇�瑕� locNo 鍜� matnr");
         }
         locDetl.setModiUser(getUserId());
         locDetl.setModiTime(new Date());
-        locDetlService.updateById(locDetl);
-        return R.ok();
+        
+        // asr_loc_detl 琛ㄦ病鏈� id 涓婚敭锛屼娇鐢� EntityWrapper 鏍规嵁 loc_no 鍜� matnr 鏇存柊
+        EntityWrapper<LocDetl> wrapper = new EntityWrapper<>();
+        wrapper.eq("loc_no", locDetl.getLocNo());
+        wrapper.eq("matnr", locDetl.getMatnr());
+        
+        // 濡傛灉鏈夋壒娆′俊鎭紝涔熷姞鍏ユ潯浠�
+        if (!Cools.isEmpty(locDetl.getBatch())) {
+            wrapper.eq("batch", locDetl.getBatch());
+        } else {
+            wrapper.andNew("(batch IS NULL OR batch = '')");
+        }
+        
+        boolean result = locDetlService.update(locDetl, wrapper);
+        if (result) {
+            return R.ok();
+        }
+        return R.error("鏇存柊澶辫触锛屾湭鎵惧埌鍖归厤鐨勮褰�");
     }
 
     @RequestMapping(value = "/locDetl/delete/auth")
@@ -417,7 +441,8 @@
         for (LocDetl locDetl : stockStatis.getRecords()) {
             Mat mat = matService.selectByMatnr(locDetl.getMatnr());
             if (mat != null) {
-                locDetl.sync(mat);
+                BeanUtils.copyProperties(mat, locDetl);
+//                locDetl.sync(mat);
             }
         }
         return R.ok().add(stockStatis);
@@ -433,7 +458,8 @@
         for (LocDetl locDetl : excel) {
             Mat mat = matService.selectByMatnr(locDetl.getMatnr());
             if (mat != null) {
-                locDetl.sync(mat);
+                BeanUtils.copyProperties(mat, locDetl);
+//                locDetl.sync(mat);
             }
         }
         response.setContentType("application/vnd.ms-excel");

--
Gitblit v1.9.1