From 2dd645b5346f510d1207346347f1fa70a204d9d3 Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期四, 05 十一月 2026 16:11:34 +0800
Subject: [PATCH] 1. 完成项目管理全流程优化,补充阶段推进、汇报统计及生命周期记录。 2. 完成业务与项目数据关联,支持查看项目进度、详情及相关附件。 3. 完成采购审批流程接入,支持配置审批人员及采购业务审批。 4. 精简用户、角色、部门、菜单和字典,完善操作日志及附件下载。

---
 src/main/java/com/ruoyi/home/controller/HomeController.java |   40 +++++++++++++++++++++-------------------
 1 files changed, 21 insertions(+), 19 deletions(-)

diff --git a/src/main/java/com/ruoyi/home/controller/HomeController.java b/src/main/java/com/ruoyi/home/controller/HomeController.java
index 7878d28..79c474a 100644
--- a/src/main/java/com/ruoyi/home/controller/HomeController.java
+++ b/src/main/java/com/ruoyi/home/controller/HomeController.java
@@ -61,7 +61,8 @@
     private static final Integer ORDER_STATUS_WAIT = 1;
     private static final Integer ORDER_STATUS_RUNNING = 2;
     private static final Integer ORDER_STATUS_COMPLETED = 3;
-    private static final Integer ORDER_STATUS_PAUSED = 4;
+    //private static final Integer ORDER_STATUS_END = 4;  // 宸插彇娑�
+    private static final Integer ORDER_STATUS_END = 5;
 
     /********************************************************鍩虹绫�*****************************************************/
     @GetMapping("/todos")
@@ -137,7 +138,7 @@
     }
 
     @GetMapping("/business")
-    @Log(title = "閿�鍞�-閲囪喘-搴撳瓨鏁版嵁", businessType = BusinessType.OTHER)
+    @Log(title = "棣栭〉-缁忚惀鏁版嵁姒傝", businessType = BusinessType.OTHER)
     @Operation(summary = "閿�鍞�-閲囪喘-搴撳瓨鏁版嵁")
     public R business() {
         HomeBusinessDto homeBusinessDto = homeService.business();
@@ -260,13 +261,14 @@
         }
         Integer statusFromParam = parseOrderStatus(status);
         if (!isBlank(status) && statusFromParam == null && !"all".equalsIgnoreCase(status.trim())) {
-            return R.fail("status鍙傛暟涓嶅悎娉曪紝鍙�夊�硷細all/waiting/inProgress/completed/paused 鎴� 1/2/3/4");
+            return R.fail("status鍙傛暟涓嶅悎娉曪紝鍙�夊�硷細all/waiting/inProgress/completed/end 鎴� 1/2/3/5");
         }
         Integer queryStatus = resolveOrderStatus(status, tab);
 
         long safePageNum = pageNum == null || pageNum < 1 ? 1 : pageNum;
-        long safePageSize = pageSize == null || pageSize < 1 ? 10 : Math.min(pageSize, 50);
-        long offset = (safePageNum - 1) * safePageSize;
+        boolean queryAll = pageSize != null && pageSize == -1;
+        long safePageSize = queryAll ? -1 : (pageSize == null || pageSize < 1 ? 10 : Math.min(pageSize, 50));
+        long offset = queryAll ? 0 : (safePageNum - 1) * safePageSize;
         LocalDateTime startTime = queryDate == null ? null : queryDate.atStartOfDay();
         LocalDateTime endTime = queryDate == null ? null : queryDate.plusDays(1).atStartOfDay();
 
@@ -281,7 +283,7 @@
         long waitingCount = 0L;
         long inProgressCount = 0L;
         long completedCount = 0L;
-        long pausedCount = 0L;
+        long endCount = 0L;
         List<Map<String, Object>> statusCountRows = productionOrderMapper.countHomeOrderProgressByStatus(startTime, endTime);
         if (statusCountRows != null) {
             for (Map<String, Object> countRow : statusCountRows) {
@@ -293,8 +295,8 @@
                     inProgressCount = cnt;
                 } else if (Objects.equals(statusKey, ORDER_STATUS_COMPLETED)) {
                     completedCount = cnt;
-                } else if (Objects.equals(statusKey, ORDER_STATUS_PAUSED)) {
-                    pausedCount = cnt;
+                } else if (Objects.equals(statusKey, ORDER_STATUS_END)) {
+                    endCount = cnt;
                 }
             }
         }
@@ -303,13 +305,13 @@
         result.put("tab", mapOrderTab(queryStatus));
         result.put("status", mapOrderStatus(queryStatus));
         result.put("bizDate", queryDate == null ? null : queryDate.format(DATE_FORMATTER));
-        result.put("total", toLong(productionOrderMapper.countHomeOrderProgress(queryStatus, startTime, endTime)));
+        result.put("total", toLong(productionOrderMapper.countHomeOrderProgress(null, startTime, endTime)));
         result.put("pageNum", safePageNum);
         result.put("pageSize", safePageSize);
         result.put("waitingCount", waitingCount);
         result.put("inProgressCount", inProgressCount);
         result.put("completedCount", completedCount);
-        result.put("pausedCount", pausedCount);
+        result.put("endCount", endCount);
         result.put("records", records);
         return R.ok(result);
     }
@@ -529,8 +531,8 @@
         if ("3".equals(normalized) || "completed".equals(normalized)) {
             return ORDER_STATUS_COMPLETED;
         }
-        if ("4".equals(normalized) || "paused".equals(normalized)) {
-            return ORDER_STATUS_PAUSED;
+        if ("5".equals(normalized) || "end".equals(normalized)) {
+            return ORDER_STATUS_END;
         }
         return null;
     }
@@ -542,8 +544,8 @@
         if (Objects.equals(status, ORDER_STATUS_COMPLETED)) {
             return "completed";
         }
-        if (Objects.equals(status, ORDER_STATUS_PAUSED)) {
-            return "paused";
+        if (Objects.equals(status, ORDER_STATUS_END)) {
+            return "end";
         }
         if (Objects.equals(status, ORDER_STATUS_WAIT)) {
             return "waiting";
@@ -561,8 +563,8 @@
         if (Objects.equals(status, ORDER_STATUS_COMPLETED)) {
             return "completed";
         }
-        if (Objects.equals(status, ORDER_STATUS_PAUSED)) {
-            return "paused";
+        if (Objects.equals(status, ORDER_STATUS_END)) {
+            return "end";
         }
         return "all";
     }
@@ -577,8 +579,8 @@
         if (Objects.equals(status, ORDER_STATUS_COMPLETED)) {
             return "宸插畬鎴�";
         }
-        if (Objects.equals(status, ORDER_STATUS_PAUSED)) {
-            return "宸叉殏鍋�";
+        if (Objects.equals(status, ORDER_STATUS_END)) {
+            return "宸茬粨鏉�";
         }
         return "鏈煡";
     }
@@ -635,7 +637,7 @@
                 .select(ProductionOrder::getQuantity, ProductionOrder::getCompleteQuantity)
                 .ge(ProductionOrder::getCreateTime, day.atStartOfDay())
                 .lt(ProductionOrder::getCreateTime, day.plusDays(1).atStartOfDay())
-                .ne(ProductionOrder::getStatus, ORDER_STATUS_PAUSED));
+                .ne(ProductionOrder::getStatus, ORDER_STATUS_END));
 
         BigDecimal totalQuantity = BigDecimal.ZERO;
         BigDecimal totalCompleteQuantity = BigDecimal.ZERO;

--
Gitblit v1.9.3