Jelajahi Sumber

收支凭证性能优化

shenjingwei 4 bulan lalu
induk
melakukan
9c28469e89
1 mengubah file dengan 28 tambahan dan 7 penghapusan
  1. 28 7
      src/custom/restcontroller/sale/cashbill/cashbill.java

+ 28 - 7
src/custom/restcontroller/sale/cashbill/cashbill.java

@@ -481,15 +481,25 @@ public class cashbill extends Controller {
                 where = where + " and(t2.enterprisename like'%" + whereObject.getString("agentinfo") + "%'" + "  or t4.agentnum like '%" + whereObject.getString("agentinfo") + "%'" + ")";
             }
         }
-
         pageSorting = " sa_cashbillid desc";
         Rows rows = queryList(where, 1, "新建", pageSize).query();
+        Rows checkRows = new Rows();
+
         if (rows.size() < pageSize) {
-            rows.addAll(queryList(where, 1, "审核", pageSize - rows.size()).query());
+            checkRows = queryList(where, 1, "审核", pageSize - rows.size()).query();
+        } else {
+            checkRows = queryList(where, 1, "审核", 0).query();
         }
-        if (rows.size() < pageSize) {
-            rows.addAll(queryList(where, 1, "作废", pageSize - rows.size()).query());
+        Rows voidRows = new Rows();
+        if (rows.size() + checkRows.size() < pageSize) {
+            voidRows = queryList(where, 1, "作废", pageSize - rows.size() - checkRows.size()).query();
+        } else {
+            voidRows = queryList(where, 1, "作废", 0).query();
         }
+        rows.addAll(checkRows);
+        rows.addAll(voidRows);
+        rows.totalRows = rows.totalRows + checkRows.totalRows + voidRows.totalRows;
+        rows.totalPage = Double.valueOf(Math.ceil((double) rows.totalRows / (double) pageSize)).longValue();
 
         SQLFactory areasqlFactory = new SQLFactory(this, "收支凭证关联区域列表查询");
         areasqlFactory.addParameter("siteid", siteid);
@@ -560,12 +570,23 @@ public class cashbill extends Controller {
 
         pageSorting = " sa_cashbillid desc";
         Rows rows = queryList(where, 0, "新建", pageSize).query();
+        Rows checkRows = new Rows();
+
         if (rows.size() < pageSize) {
-            rows.addAll(queryList(where, 0, "审核", pageSize - rows.size()).query());
+            checkRows = queryList(where, 0, "审核", pageSize - rows.size()).query();
+        } else {
+            checkRows = queryList(where, 0, "审核", 0).query();
         }
-        if (rows.size() < pageSize) {
-            rows.addAll(queryList(where, 0, "作废", pageSize - rows.size()).query());
+        Rows voidRows = new Rows();
+        if (rows.size() + checkRows.size() < pageSize) {
+            voidRows = queryList(where, 0, "作废", pageSize - rows.size() - checkRows.size()).query();
+        } else {
+            voidRows = queryList(where, 0, "作废", 0).query();
         }
+        rows.addAll(checkRows);
+        rows.addAll(voidRows);
+        rows.totalRows = rows.totalRows + checkRows.totalRows + voidRows.totalRows;
+        rows.totalPage = Double.valueOf(Math.ceil((double) rows.totalRows / (double) pageSize)).longValue();
 
         SQLFactory areasqlFactory = new SQLFactory(this, "收支凭证关联区域列表查询");
         areasqlFactory.addParameter("siteid", siteid);