From af8adaa08baf7bed865434317931741b69c0a78d Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期五, 14 十一月 2025 15:34:50 +0800
Subject: [PATCH] yys  1.仓储物流增加分类管理      2.仓储物流分类管理导出接口      4.新疆生产管控定制化

---
 src/main/java/com/ruoyi/production/service/impl/SalesLedgerSchedulingServiceImpl.java           |   17 +++++++++++++++--
 src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java                        |    4 ++--
 src/main/java/com/ruoyi/production/service/impl/SalesLedgerProductionAccountingServiceImpl.java |   15 ++++++++++++++-
 src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java                             |    4 ++--
 src/main/java/com/ruoyi/production/controller/SalesLedgerSchedulingController.java              |    3 ++-
 5 files changed, 35 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java b/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java
index 420ed9a..58569db 100644
--- a/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java
@@ -48,9 +48,9 @@
     @Override
     public AjaxResult saveDeviceLedger(DeviceLedger deviceLedger) {
         LambdaQueryWrapper<DeviceLedger> deviceLedgerLambdaQueryWrapper = new LambdaQueryWrapper<>();
-        deviceLedgerLambdaQueryWrapper.eq(DeviceLedger::getDeviceModel,deviceLedger.getDeviceModel());
+        deviceLedgerLambdaQueryWrapper.eq(DeviceLedger::getDeviceName,deviceLedger.getDeviceName());
         if (this.count(deviceLedgerLambdaQueryWrapper) > 0) {
-            return AjaxResult.error("璁惧鍨嬪彿宸插瓨鍦�");
+            return AjaxResult.error("璁惧鍚嶇О宸插瓨鍦�");
         }
         boolean save = this.save(deviceLedger);
         if (save){
diff --git a/src/main/java/com/ruoyi/production/controller/SalesLedgerSchedulingController.java b/src/main/java/com/ruoyi/production/controller/SalesLedgerSchedulingController.java
index 51b5f0d..ae73e64 100644
--- a/src/main/java/com/ruoyi/production/controller/SalesLedgerSchedulingController.java
+++ b/src/main/java/com/ruoyi/production/controller/SalesLedgerSchedulingController.java
@@ -1,5 +1,6 @@
 package com.ruoyi.production.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.utils.poi.ExcelUtil;
@@ -53,7 +54,7 @@
     @Log(title = "鐢熶骇绠$悊-鐢熶骇娲惧伐-鎹熻�楃巼", businessType = BusinessType.OTHER)
     @ApiOperation("鐢熶骇绠$悊-鐢熶骇娲惧伐-鎹熻�楃巼")
     public AjaxResult loss() {
-        return AjaxResult.success(lossMapper.selectList(null));
+        return AjaxResult.success(lossMapper.selectOne(new LambdaQueryWrapper<Loss>().last("limit 1")));
     }
 
     @PostMapping("/addLoss")
diff --git a/src/main/java/com/ruoyi/production/service/impl/SalesLedgerProductionAccountingServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/SalesLedgerProductionAccountingServiceImpl.java
index 5a7fe76..3fcb8f2 100644
--- a/src/main/java/com/ruoyi/production/service/impl/SalesLedgerProductionAccountingServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/SalesLedgerProductionAccountingServiceImpl.java
@@ -29,11 +29,24 @@
         IPage<SalesLedgerProductionAccountingDto> list = salesLedgerProductionAccountingMapper.listPage(page, salesLedgerProductionAccountingDto);
         list.getRecords().forEach(item -> {
             String[] split = item.getSpecificationModel().split("\\*");
-            if(split.length == 2){
+            if(split.length == 2 && isNumeric(split[1])){
                 // 璁$畻宸ヨ祫 = 宸ユ椂瀹氶 * 鏁伴噺 * 瑙勬牸
                 item.setWages(item.getWages().multiply(new BigDecimal(split[1])));
             }
         });
         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;
+    }
 }
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..873bd1d 100644
--- a/src/main/java/com/ruoyi/production/service/impl/SalesLedgerSchedulingServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/SalesLedgerSchedulingServiceImpl.java
@@ -82,7 +82,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 +91,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
@@ -277,7 +290,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));
diff --git a/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java b/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java
index d06132c..083feea 100644
--- a/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java
+++ b/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java
@@ -206,7 +206,6 @@
         List<Long> salesLedgerIds = iPage.getRecords().stream().map(SalesLedger::getId).collect(Collectors.toList());
         List<InvoiceLedgerDto> invoiceLedgerDtoList = invoiceLedgerMapper.invoicedTotal(salesLedgerIds);
         if(CollectionUtils.isEmpty(invoiceLedgerDtoList)){
-            iPage.setTotal(iPage.getRecords().size());
             return iPage;
         }
         // 璁$畻鍥炴閲戦锛屽緟鍥炴閲戦
@@ -262,9 +261,10 @@
         if (ObjectUtils.isNotEmpty(salesLedgerDto.getStatus())) {
             if (salesLedgerDto.getStatus()) {
                 iPage.getRecords().removeIf(salesLedger -> Objects.equals(salesLedger.getNoInvoiceAmountTotal(), new BigDecimal("0.00")));
+                iPage.setTotal(iPage.getRecords().size());
             }
         }
-        iPage.setTotal(iPage.getTotal());
+
         return iPage;
     }
 }

--
Gitblit v1.9.3