From 4ec71930da15cc83b2fbf67fdeade89b8900b14c Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期二, 31 三月 2026 17:32:36 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_宁夏_中盛建材' into dev_宁夏_中盛建材

---
 src/main/java/com/ruoyi/production/service/impl/ProductionCostServiceImpl.java |   22 +++++++++++++++++-----
 1 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionCostServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionCostServiceImpl.java
index 25a32aa..152173d 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionCostServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionCostServiceImpl.java
@@ -179,12 +179,24 @@
 
     private <T> IPage<T> getMemoryPage(Page<T> page, List<T> list) {
         int total = list.size();
-        int size = (int) page.getSize();
-        int current = (int) page.getCurrent();
-        int fromIndex = (current - 1) * size;
-        int toIndex = Math.min(fromIndex + size, total);
+        long size = page.getSize();
+        long current = page.getCurrent();
 
-        List<T> subList = (fromIndex < total && fromIndex >= 0) ? list.subList(fromIndex, toIndex) : new ArrayList<>();
+        if (size == -1 || current == -1) {
+            page.setTotal(total);
+            page.setRecords(list);
+            return page;
+        }
+
+        int fromIndex = (int) ((current - 1) * size);
+        int toIndex = Math.min(fromIndex + (int) size, total);
+
+        List<T> subList;
+        if (fromIndex >= 0 && fromIndex < total) {
+            subList = list.subList(fromIndex, toIndex);
+        } else {
+            subList = new ArrayList<>();
+        }
 
         page.setTotal(total);
         page.setRecords(subList);

--
Gitblit v1.9.3