From a65937bb7d85168af8256f917aad1aa12c0b8c1d Mon Sep 17 00:00:00 2001
From: cuijian <cuijian@xalxzn.com>
Date: 星期三, 18 六月 2025 13:32:55 +0800
Subject: [PATCH] 入库打印二维码

---
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/InboundOrderServiceImpl.java |   71 ++++++++++++++++++++++++++++++++++-
 1 files changed, 69 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 ea6a3a7..b9e31ed 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;
 
@@ -216,9 +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");
         //鑾峰彇鍏ュ簱鏄庣粏
@@ -276,6 +280,7 @@
                         //澧炲姞搴撳瓨鏄庣粏
                         ToolLedgerDetail toolLedgerDetail = new ToolLedgerDetail();
                         toolLedgerDetail.setToolCode(inboundDetailVo.getToolCodeId());
+                        toolLedgerDetail.setPositionCode(locationCodeId);
                         toolLedgerDetail.setToolId(inboundDetailVo.getToolCode()+"-"+result);
                         toolLedgerDetail.setQuantity(BigDecimal.ONE);
                         toolLedgerDetail.setRemainingPercentage(BigDecimal.ONE);
@@ -284,7 +289,20 @@
                         //鏇存柊褰撳墠缂栫爜
                         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 {
                     //淇濆瓨鍏ュ簱娴佹按
@@ -302,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);
                 }
             }
             //褰掕繕鍏ュ簱
@@ -330,6 +353,7 @@
                             .eq(ToolLedgerDetail::getToolId,inboundDetailVo.getOnlyCode()).one();
                     toolLedgerDetail.setQuantity(BigDecimal.ONE);
                     toolLedgerDetail.setRemainingPercentage(BigDecimal.ONE);
+                    toolLedgerDetail.setPositionCode(locationCodeId);
                     toolLedgerDetail.setStatus("1");
                     toolLedgerDetailService.updateById(toolLedgerDetail);
                     //淇濆瓨鍏ュ簱娴佹按
@@ -347,6 +371,7 @@
                     //澧炲姞搴撳瓨鏄庣粏鍙敤搴撳瓨锛屼慨鏀圭姸鎬�
                     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);
                     //淇濆瓨鍏ュ簱娴佹按
@@ -361,6 +386,9 @@
                 }
 
             }
+            Map<String,String> result = new HashMap<>();
+            result.put("content","淇濆瓨鎴愬姛");
+            results.add(result);
         }else if("5".equals(inStorehouseType)){
             //寰幆鏂板鏄庣粏
             for(InboundDetailVo inboundDetailVo : inStoreDetailList) {
@@ -380,6 +408,7 @@
                             .eq(ToolLedgerDetail::getToolId,inboundDetailVo.getOnlyCode()).one();
                     toolLedgerDetail.setQuantity(BigDecimal.ONE);
                     toolLedgerDetail.setRemainingPercentage(BigDecimal.ONE);
+                    toolLedgerDetail.setPositionCode(locationCodeId);
                     toolLedgerDetail.setStatus("1");
                     toolLedgerDetailService.updateById(toolLedgerDetail);
                     //淇濆瓨鍏ュ簱娴佹按
@@ -397,6 +426,7 @@
                     //澧炲姞搴撳瓨鏄庣粏鍙敤搴撳瓨锛屼慨鏀圭姸鎬�
                     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);
                     //淇濆瓨鍏ュ簱娴佹按
@@ -411,13 +441,20 @@
                 }
 
             }
+            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");
         //鑾峰彇鍏ュ簱鏄庣粏
@@ -478,12 +515,26 @@
                         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 {
                     //淇濆瓨鍏ュ簱娴佹按
@@ -502,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());
@@ -535,6 +591,7 @@
                             .eq(ToolLedgerDetail::getToolId,inboundDetailVo.getOnlyCode()).one();
                     toolLedgerDetail.setQuantity(BigDecimal.ONE);
                     toolLedgerDetail.setRemainingPercentage(BigDecimal.ONE);
+                    toolLedgerDetail.setPositionCode(locationCodeId);
                     toolLedgerDetail.setStatus("1");
                     toolLedgerDetailService.updateById(toolLedgerDetail);
                     //淇濆瓨鍏ュ簱娴佹按
@@ -554,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();
@@ -572,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) {
@@ -591,6 +652,7 @@
                             .eq(ToolLedgerDetail::getToolId,inboundDetailVo.getOnlyCode()).one();
                     toolLedgerDetail.setQuantity(BigDecimal.ONE);
                     toolLedgerDetail.setRemainingPercentage(BigDecimal.ONE);
+                    toolLedgerDetail.setPositionCode(locationCodeId);
                     toolLedgerDetail.setStatus("1");
                     toolLedgerDetailService.updateById(toolLedgerDetail);
                     //淇濆瓨鍏ュ簱娴佹按
@@ -610,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();
@@ -628,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);
@@ -639,6 +705,7 @@
             inboundOrder.setInStatus("2");
         }
         this.updateById(inboundOrder);
+        return results;
     }
 
     private LoginUser getCurrentUser() {

--
Gitblit v1.9.3