From bb47bf3d97d1a68e06a73ce275e81b5e581219d4 Mon Sep 17 00:00:00 2001
From: cuijian <cuijian@xalxzn.com>
Date: 星期三, 25 六月 2025 09:31:26 +0800
Subject: [PATCH] 工具分类导入调整

---
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/InboundOrderServiceImpl.java |   95 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 93 insertions(+), 2 deletions(-)

diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/InboundOrderServiceImpl.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/InboundOrderServiceImpl.java
index 0671b37..c9a24b8 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/InboundOrderServiceImpl.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/InboundOrderServiceImpl.java
@@ -24,6 +24,7 @@
 import org.jeecg.modules.tms.entity.vo.InboundDetailVo;
 import org.jeecg.modules.tms.mapper.InboundOrderMapper;
 import org.jeecg.modules.tms.service.*;
+import org.jeecg.modules.tms.utils.QrCodePrinterUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -68,6 +69,9 @@
 
     @Autowired
     private IInboundDetailService inboundDetailService;
+
+    @Autowired
+    private IGoodsShelvesService goodsShelvesService;
     @Override
     public boolean submit(String id) {
         InboundOrder inboundOrder = this.getById(id);
@@ -213,8 +217,12 @@
     }
 
     @Override
-    public void addInStorage(JSONObject jSONObject) {
+    public List<Map<String,String>> addInStorage(JSONObject jSONObject) {
         String inStorehouseType = jSONObject.getString("inStorehouseType");
+        String locationCodeId = jSONObject.getString("locationCodeId");
+        //浜岀淮鐮佹墦鍗板垪琛�
+        List<Map<String,String>> results = new ArrayList<>();
+        List<String> contentList = new ArrayList<>();
         String classifyId = jSONObject.getString("classifyId");
         Date inboundTime = jSONObject.getDate("inboundTime");
         //鑾峰彇鍏ュ簱鏄庣粏
@@ -258,6 +266,7 @@
                         num++;
                         //杞崲鍥炲瓧绗︿覆骞朵繚鐣欏墠瀵奸浂
                         String result = String.format("%0" + currentCode.length() + "d", num);
+                        //鎵撳嵃浜岀淮鐮�
                         //淇濆瓨鍏ュ簱娴佹按
                         InStoreDetail inStoreDetail = new InStoreDetail();
                         inStoreDetail.setInboundTime(inboundTime);
@@ -266,18 +275,34 @@
                         inStoreDetail.setInStorehouseType("1");
                         inStoreDetail.setToolCode(inboundDetailVo.getToolCodeId());
                         inStoreDetail.setToolId(inboundDetailVo.getToolCode()+"-"+result);
+                        inStoreDetail.setGoodsShelvesId(locationCodeId);
                         inStoreDetailService.save(inStoreDetail);
                         //澧炲姞搴撳瓨鏄庣粏
                         ToolLedgerDetail toolLedgerDetail = new ToolLedgerDetail();
                         toolLedgerDetail.setToolCode(inboundDetailVo.getToolCodeId());
+                        toolLedgerDetail.setPositionCode(locationCodeId);
                         toolLedgerDetail.setToolId(inboundDetailVo.getToolCode()+"-"+result);
                         toolLedgerDetail.setQuantity(BigDecimal.ONE);
+                        toolLedgerDetail.setRemainingPercentage(BigDecimal.ONE);
                         toolLedgerDetail.setStatus("1");
                         toolLedgerDetailService.save(toolLedgerDetail);
                         //鏇存柊褰撳墠缂栫爜
                         newBaseTools.setCurrentCode(result);
                         baseToolsService.updateById(newBaseTools);
+                        //鎵撳嵃浜岀淮鐮�
+                        contentList.add(inboundDetailVo.getToolCode()+"-"+result);
                     }
+                    //鎵撳嵃浜岀淮鐮侊紝鏆傛椂娉ㄩ噴锛屽緟鐜板満璋冭瘯鎵撴爣鏈�
+//                    for(String content : contentList){
+//                        Map<String,String> result = new HashMap<>();
+//                        result.put("content",content);
+//                        result.put("image", QrCodePrinterUtils.generateBacthQRCode(content, 200, 200));
+//                        // 鐢熸垚浜岀淮鐮佸浘鐗囷紙Base64锛�
+//                        results.add(result);
+//                    }
+                    Map<String,String> result = new HashMap<>();
+                    result.put("content","淇濆瓨鎴愬姛");
+                    results.add(result);
                     //涓嶇鍒版妸
                 }else {
                     //淇濆瓨鍏ュ簱娴佹按
@@ -287,6 +312,7 @@
                     inStoreDetail.setInNumber(inboundDetailVo.getInStorageQuantity());
                     inStoreDetail.setInStorehouseType("1");
                     inStoreDetail.setToolCode(inboundDetailVo.getToolCodeId());
+                    inStoreDetail.setGoodsShelvesId(locationCodeId);
                     inStoreDetailService.save(inStoreDetail);
                     //鏌ヨ搴撳瓨鏄庣粏涓槸鍚﹀瓨鍦ㄨ宸ュ叿
                     ToolLedgerDetail toolLedgerDetail = toolLedgerDetailService.lambdaQuery().eq(ToolLedgerDetail::getToolCode,inboundDetailVo.getToolCodeId()).one();
@@ -294,12 +320,17 @@
                         ToolLedgerDetail newToolLedgerDetail = new ToolLedgerDetail();
                         newToolLedgerDetail.setToolCode(inboundDetailVo.getToolCodeId());
                         newToolLedgerDetail.setQuantity(inboundDetailVo.getInStorageQuantity());
+                        newToolLedgerDetail.setPositionCode(locationCodeId);
                         newToolLedgerDetail.setStatus("1");
                         toolLedgerDetailService.save(newToolLedgerDetail);
                     }else {
                         toolLedgerDetail.setQuantity(toolLedgerDetail.getQuantity().add(inboundDetailVo.getInStorageQuantity()));
+                        toolLedgerDetail.setPositionCode(locationCodeId);
                         toolLedgerDetailService.updateById(toolLedgerDetail);
                     }
+                    Map<String,String> result = new HashMap<>();
+                    result.put("content","淇濆瓨鎴愬姛");
+                    results.add(result);
                 }
             }
             //褰掕繕鍏ュ簱
@@ -321,6 +352,8 @@
                             .eq(ToolLedgerDetail::getToolCode,inboundDetailVo.getToolCodeId())
                             .eq(ToolLedgerDetail::getToolId,inboundDetailVo.getOnlyCode()).one();
                     toolLedgerDetail.setQuantity(BigDecimal.ONE);
+                    toolLedgerDetail.setRemainingPercentage(BigDecimal.ONE);
+                    toolLedgerDetail.setPositionCode(locationCodeId);
                     toolLedgerDetail.setStatus("1");
                     toolLedgerDetailService.updateById(toolLedgerDetail);
                     //淇濆瓨鍏ュ簱娴佹按
@@ -331,12 +364,14 @@
                     inStoreDetail.setInStorehouseType("2");
                     inStoreDetail.setToolCode(inboundDetailVo.getToolCodeId());
                     inStoreDetail.setToolId(inboundDetailVo.getOnlyCode());
+                    inStoreDetail.setGoodsShelvesId(locationCodeId);
                     inStoreDetailService.save(inStoreDetail);
                     //涓嶇鍒版妸
                 }else {
                     //澧炲姞搴撳瓨鏄庣粏鍙敤搴撳瓨锛屼慨鏀圭姸鎬�
                     ToolLedgerDetail toolLedgerDetail = toolLedgerDetailService.lambdaQuery().eq(ToolLedgerDetail::getToolCode,inboundDetailVo.getToolCodeId()).one();
                     toolLedgerDetail.setQuantity(toolLedgerDetail.getQuantity().add(inboundDetailVo.getInStorageQuantity()));
+                    toolLedgerDetail.setPositionCode(locationCodeId);
                     toolLedgerDetail.setStatus("1");
                     toolLedgerDetailService.updateById(toolLedgerDetail);
                     //淇濆瓨鍏ュ簱娴佹按
@@ -346,10 +381,14 @@
                     inStoreDetail.setInNumber(inboundDetailVo.getInStorageQuantity());
                     inStoreDetail.setInStorehouseType("2");
                     inStoreDetail.setToolCode(inboundDetailVo.getToolCodeId());
+                    inStoreDetail.setGoodsShelvesId(locationCodeId);
                     inStoreDetailService.save(inStoreDetail);
                 }
 
             }
+            Map<String,String> result = new HashMap<>();
+            result.put("content","淇濆瓨鎴愬姛");
+            results.add(result);
         }else if("5".equals(inStorehouseType)){
             //寰幆鏂板鏄庣粏
             for(InboundDetailVo inboundDetailVo : inStoreDetailList) {
@@ -368,6 +407,8 @@
                             .eq(ToolLedgerDetail::getToolCode,inboundDetailVo.getToolCodeId())
                             .eq(ToolLedgerDetail::getToolId,inboundDetailVo.getOnlyCode()).one();
                     toolLedgerDetail.setQuantity(BigDecimal.ONE);
+                    toolLedgerDetail.setRemainingPercentage(BigDecimal.ONE);
+                    toolLedgerDetail.setPositionCode(locationCodeId);
                     toolLedgerDetail.setStatus("1");
                     toolLedgerDetailService.updateById(toolLedgerDetail);
                     //淇濆瓨鍏ュ簱娴佹按
@@ -378,12 +419,14 @@
                     inStoreDetail.setInStorehouseType("5");
                     inStoreDetail.setToolCode(inboundDetailVo.getToolCodeId());
                     inStoreDetail.setToolId(inboundDetailVo.getOnlyCode());
+                    inStoreDetail.setGoodsShelvesId(locationCodeId);
                     inStoreDetailService.save(inStoreDetail);
                     //涓嶇鍒版妸
                 }else {
                     //澧炲姞搴撳瓨鏄庣粏鍙敤搴撳瓨锛屼慨鏀圭姸鎬�
                     ToolLedgerDetail toolLedgerDetail = toolLedgerDetailService.lambdaQuery().eq(ToolLedgerDetail::getToolCode,inboundDetailVo.getToolCodeId()).one();
                     toolLedgerDetail.setQuantity(toolLedgerDetail.getQuantity().add(inboundDetailVo.getInStorageQuantity()));
+                    toolLedgerDetail.setPositionCode(locationCodeId);
                     toolLedgerDetail.setStatus("1");
                     toolLedgerDetailService.updateById(toolLedgerDetail);
                     //淇濆瓨鍏ュ簱娴佹按
@@ -393,16 +436,25 @@
                     inStoreDetail.setInNumber(inboundDetailVo.getInStorageQuantity());
                     inStoreDetail.setInStorehouseType("5");
                     inStoreDetail.setToolCode(inboundDetailVo.getToolCodeId());
+                    inStoreDetail.setGoodsShelvesId(locationCodeId);
                     inStoreDetailService.save(inStoreDetail);
                 }
 
             }
+            Map<String,String> result = new HashMap<>();
+            result.put("content","淇濆瓨鎴愬姛");
+            results.add(result);
         }
+            return results;
     }
 
     @Override
-    public void addApplyInStorage(JSONObject jSONObject) {
+    public List<Map<String,String>> addApplyInStorage(JSONObject jSONObject) {
         String inStorehouseType = jSONObject.getString("inStorehouseType");
+        String locationCodeId = jSONObject.getString("locationCodeId");
+        //浜岀淮鐮佹墦鍗板垪琛�
+        List<Map<String,String>> results = new ArrayList<>();
+        List<String> contentList = new ArrayList<>();
         //鍏ュ簱鐢宠鍗昳d
         String orderId = jSONObject.getString("orderId");
         //鑾峰彇鍏ュ簱鏄庣粏
@@ -455,18 +507,34 @@
                         inStoreDetail.setInStorehouseType("1");
                         inStoreDetail.setToolCode(inboundDetailVo.getToolCodeId());
                         inStoreDetail.setToolId(inboundDetailVo.getToolCode()+"-"+result);
+                        inStoreDetail.setGoodsShelvesId(locationCodeId);
                         inStoreDetailService.save(inStoreDetail);
                         //澧炲姞搴撳瓨鏄庣粏
                         ToolLedgerDetail toolLedgerDetail = new ToolLedgerDetail();
                         toolLedgerDetail.setToolCode(inboundDetailVo.getToolCodeId());
                         toolLedgerDetail.setToolId(inboundDetailVo.getToolCode()+"-"+result);
                         toolLedgerDetail.setQuantity(BigDecimal.ONE);
+                        toolLedgerDetail.setRemainingPercentage(BigDecimal.ONE);
+                        toolLedgerDetail.setPositionCode(locationCodeId);
                         toolLedgerDetail.setStatus("1");
                         toolLedgerDetailService.save(toolLedgerDetail);
                         //鏇存柊褰撳墠缂栫爜
                         newBaseTools.setCurrentCode(result);
                         baseToolsService.updateById(newBaseTools);
+                        //鎵撳嵃浜岀淮鐮�
+                        contentList.add(inboundDetailVo.getToolCode()+"-"+result);
                     }
+                    //鎵撳嵃浜岀淮鐮侊紝鏆傛椂娉ㄩ噴锛屽緟鐜板満楠岃瘉鎵撴爣鏈�
+//                    for(String content : contentList){
+//                        Map<String,String> result = new HashMap<>();
+//                        result.put("content",content);
+//                        result.put("image", QrCodePrinterUtils.generateBacthQRCode(content, 200, 200));
+//                        // 鐢熸垚浜岀淮鐮佸浘鐗囷紙Base64锛�
+//                        results.add(result);
+//                    }
+                    Map<String,String> result = new HashMap<>();
+                    result.put("content","淇濆瓨鎴愬姛");
+                    results.add(result);
                     //涓嶇鍒版妸
                 }else {
                     //淇濆瓨鍏ュ簱娴佹按
@@ -477,6 +545,7 @@
                     inStoreDetail.setInStorehouseType("1");
                     inStoreDetail.setInStorehouseId(orderId);
                     inStoreDetail.setToolCode(inboundDetailVo.getToolCodeId());
+                    inStoreDetail.setGoodsShelvesId(locationCodeId);
                     inStoreDetailService.save(inStoreDetail);
                     //鏌ヨ搴撳瓨鏄庣粏涓槸鍚﹀瓨鍦ㄨ宸ュ叿
                     ToolLedgerDetail toolLedgerDetail = toolLedgerDetailService.lambdaQuery().eq(ToolLedgerDetail::getToolCode,inboundDetailVo.getToolCodeId()).one();
@@ -484,12 +553,17 @@
                         ToolLedgerDetail newToolLedgerDetail = new ToolLedgerDetail();
                         newToolLedgerDetail.setToolCode(inboundDetailVo.getToolCodeId());
                         newToolLedgerDetail.setQuantity(inboundDetailVo.getInStorageQuantity());
+                        newToolLedgerDetail.setPositionCode(locationCodeId);
                         newToolLedgerDetail.setStatus("1");
                         toolLedgerDetailService.save(newToolLedgerDetail);
                     }else {
                         toolLedgerDetail.setQuantity(toolLedgerDetail.getQuantity().add(inboundDetailVo.getInStorageQuantity()));
+                        toolLedgerDetail.setPositionCode(locationCodeId);
                         toolLedgerDetailService.updateById(toolLedgerDetail);
                     }
+                    Map<String,String> result = new HashMap<>();
+                    result.put("content","淇濆瓨鎴愬姛");
+                    results.add(result);
                 }
                 //鏇存敼鏄庣粏鍏ュ簱鐘舵�佸強瀹為檯鍏ュ簱鏁伴噺
                 InboundDetail inboundDetail = inboundDetailService.getById(inboundDetailVo.getId());
@@ -516,6 +590,8 @@
                             .eq(ToolLedgerDetail::getToolCode,inboundDetailVo.getToolCodeId())
                             .eq(ToolLedgerDetail::getToolId,inboundDetailVo.getOnlyCode()).one();
                     toolLedgerDetail.setQuantity(BigDecimal.ONE);
+                    toolLedgerDetail.setRemainingPercentage(BigDecimal.ONE);
+                    toolLedgerDetail.setPositionCode(locationCodeId);
                     toolLedgerDetail.setStatus("1");
                     toolLedgerDetailService.updateById(toolLedgerDetail);
                     //淇濆瓨鍏ュ簱娴佹按
@@ -527,6 +603,7 @@
                     inStoreDetail.setInStorehouseId(orderId);
                     inStoreDetail.setToolCode(inboundDetailVo.getToolCodeId());
                     inStoreDetail.setToolId(inboundDetailVo.getOnlyCode());
+                    inStoreDetail.setGoodsShelvesId(locationCodeId);
                     inStoreDetailService.save(inStoreDetail);
                     //涓嶇鍒版妸
                 }else {
@@ -534,6 +611,7 @@
                     ToolLedgerDetail toolLedgerDetail = toolLedgerDetailService.lambdaQuery().eq(ToolLedgerDetail::getToolCode,inboundDetailVo.getToolCodeId()).one();
                     toolLedgerDetail.setQuantity(toolLedgerDetail.getQuantity().add(inboundDetailVo.getInStorageQuantity()));
                     toolLedgerDetail.setStatus("1");
+                    toolLedgerDetail.setPositionCode(locationCodeId);
                     toolLedgerDetailService.updateById(toolLedgerDetail);
                     //淇濆瓨鍏ュ簱娴佹按
                     InStoreDetail inStoreDetail = new InStoreDetail();
@@ -543,6 +621,7 @@
                     inStoreDetail.setInStorehouseType("2");
                     inStoreDetail.setInStorehouseId(orderId);
                     inStoreDetail.setToolCode(inboundDetailVo.getToolCodeId());
+                    inStoreDetail.setGoodsShelvesId(locationCodeId);
                     inStoreDetailService.save(inStoreDetail);
                 }
                 //鏇存敼鏄庣粏鍏ュ簱鐘舵�佸強瀹為檯鍏ュ簱鏁伴噺
@@ -551,6 +630,9 @@
                 inboundDetail.setInActualCount(inboundDetailVo.getInStorageQuantity());
                 inboundDetailService.updateById(inboundDetail);
             }
+            Map<String,String> result = new HashMap<>();
+            result.put("content","淇濆瓨鎴愬姛");
+            results.add(result);
         }else if("5".equals(inStorehouseType)){
             //寰幆鏂板鏄庣粏
             for(InboundDetailVo inboundDetailVo : inStoreDetailList) {
@@ -569,6 +651,8 @@
                             .eq(ToolLedgerDetail::getToolCode,inboundDetailVo.getToolCodeId())
                             .eq(ToolLedgerDetail::getToolId,inboundDetailVo.getOnlyCode()).one();
                     toolLedgerDetail.setQuantity(BigDecimal.ONE);
+                    toolLedgerDetail.setRemainingPercentage(BigDecimal.ONE);
+                    toolLedgerDetail.setPositionCode(locationCodeId);
                     toolLedgerDetail.setStatus("1");
                     toolLedgerDetailService.updateById(toolLedgerDetail);
                     //淇濆瓨鍏ュ簱娴佹按
@@ -580,6 +664,7 @@
                     inStoreDetail.setInStorehouseId(orderId);
                     inStoreDetail.setToolCode(inboundDetailVo.getToolCodeId());
                     inStoreDetail.setToolId(inboundDetailVo.getOnlyCode());
+                    inStoreDetail.setGoodsShelvesId(locationCodeId);
                     inStoreDetailService.save(inStoreDetail);
                     //涓嶇鍒版妸
                 }else {
@@ -587,6 +672,7 @@
                     ToolLedgerDetail toolLedgerDetail = toolLedgerDetailService.lambdaQuery().eq(ToolLedgerDetail::getToolCode,inboundDetailVo.getToolCodeId()).one();
                     toolLedgerDetail.setQuantity(toolLedgerDetail.getQuantity().add(inboundDetailVo.getInStorageQuantity()));
                     toolLedgerDetail.setStatus("1");
+                    toolLedgerDetail.setPositionCode(locationCodeId);
                     toolLedgerDetailService.updateById(toolLedgerDetail);
                     //淇濆瓨鍏ュ簱娴佹按
                     InStoreDetail inStoreDetail = new InStoreDetail();
@@ -596,6 +682,7 @@
                     inStoreDetail.setInStorehouseType("5");
                     inStoreDetail.setInStorehouseId(orderId);
                     inStoreDetail.setToolCode(inboundDetailVo.getToolCodeId());
+                    inStoreDetail.setGoodsShelvesId(locationCodeId);
                     inStoreDetailService.save(inStoreDetail);
                 }
                 //鏇存敼鏄庣粏鍏ュ簱鐘舵�佸強瀹為檯鍏ュ簱鏁伴噺
@@ -604,6 +691,9 @@
                 inboundDetail.setInActualCount(inboundDetailVo.getInStorageQuantity());
                 inboundDetailService.updateById(inboundDetail);
             }
+            Map<String,String> result = new HashMap<>();
+            result.put("content","淇濆瓨鎴愬姛");
+            results.add(result);
         }
         //鏇存敼鐢宠鍗曞叆搴撶姸鎬�
         InboundOrder inboundOrder = this.getById(orderId);
@@ -615,6 +705,7 @@
             inboundOrder.setInStatus("2");
         }
         this.updateById(inboundOrder);
+        return results;
     }
 
     private LoginUser getCurrentUser() {

--
Gitblit v1.9.3