From 3f3a1ed182e96214e66f6456ee692427bf04d454 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期五, 28 十一月 2025 11:10:23 +0800
Subject: [PATCH] yys 1.库存管理导出修改 2.来票登记分页查询修改

---
 src/main/java/com/ruoyi/production/service/impl/SalesLedgerSchedulingServiceImpl.java |   20 +++++++++++++++++---
 1 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/service/impl/SalesLedgerSchedulingServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/SalesLedgerSchedulingServiceImpl.java
index 96be320..5070319 100644
--- a/src/main/java/com/ruoyi/production/service/impl/SalesLedgerSchedulingServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/SalesLedgerSchedulingServiceImpl.java
@@ -25,6 +25,7 @@
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
@@ -82,7 +83,7 @@
             }
             // 璁$畻鐢熶骇鎬婚噺 = 瑙勬牸 * 鏁伴噺 / 1000
             String[] split = i.getSpecificationModel().split("\\*");
-            if(split.length == 2){
+            if(split.length == 2 && isNumeric(split[0]) && isNumeric(split[1])){
                 BigDecimal multiply = new BigDecimal(split[0])
                         .multiply(new BigDecimal(split[1])
                                 .multiply(i.getQuantity()).divide(new BigDecimal(1000),2, RoundingMode.CEILING));
@@ -91,6 +92,19 @@
 
         });
         return list;
+    }
+
+    public static boolean isNumeric(String str) {
+        if (str == null || str.isEmpty()) {
+            return false;
+        }
+        // 閬嶅巻瀛楃涓茬殑姣忎釜瀛楃锛屾鏌ユ槸鍚︿负鏁板瓧
+        for (int i = 0; i < str.length(); i++) {
+            if (!Character.isDigit(str.charAt(i))) {
+                return false;
+            }
+        }
+        return true;
     }
 
     @Override
@@ -229,7 +243,7 @@
         return new BigDecimal(totalNum.get()).multiply(new BigDecimal(100)).divide(lossNum, 2,RoundingMode.HALF_UP);
     }
 
-    private LossMapper lossMapper;
+    private final LossMapper lossMapper;
 
 
     /**
@@ -277,7 +291,7 @@
         list.getRecords().forEach(i -> {
             // 璁$畻鐢熶骇鎬婚噺 = 瑙勬牸 * 鏁伴噺 / 1000
             String[] split = i.getSpecificationModel().split("\\*");
-            if(split.length == 2){
+            if(split.length == 2 && isNumeric(split[0]) && isNumeric(split[1])){
                 BigDecimal multiply = new BigDecimal(split[0])
                         .multiply(new BigDecimal(split[1])
                                 .multiply(i.getSuccessNum()).divide(new BigDecimal(1000),2, RoundingMode.CEILING));

--
Gitblit v1.9.3