From 7416402e2f84741819157ec2573cad17920208aa Mon Sep 17 00:00:00 2001 From: wsm <2746563060@qq.com> Date: Fri, 10 Jul 2026 15:07:04 +0800 Subject: [PATCH] =?UTF-8?q?feat(xispeak,dq):=20=E6=96=B0=E5=A2=9E=20status?= =?UTF-8?q?Stats=20=E6=8E=A5=E5=8F=A3=EF=BC=8C=E6=8C=89=20bpmStatus=20?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E5=90=84=E7=8A=B6=E6=80=81=E6=95=B0=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.7 --- .../controller/BgXiSpeakController.java | 35 +++++++++++++++++++ .../controller/DqInspectTaskController.java | 35 +++++++++++++++++++ 2 files changed, 70 insertions(+) diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/bg/xispeak/controller/BgXiSpeakController.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/bg/xispeak/controller/BgXiSpeakController.java index 2266ee2..b8db431 100644 --- a/jeecg-module-supervision/src/main/java/org/jeecg/modules/bg/xispeak/controller/BgXiSpeakController.java +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/bg/xispeak/controller/BgXiSpeakController.java @@ -99,6 +99,41 @@ public class BgXiSpeakController extends JeecgController> statusStats(BgXiSpeak bgXiSpeak, HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(bgXiSpeak, req.getParameterMap()); + List list = bgXiSpeakService.list(queryWrapper); + int notStarted = 0, inProgress = 0, overdue = 0, completed = 0; + java.time.LocalDate today = java.time.LocalDate.now(); + for (BgXiSpeak item : list) { + Integer status = item.getBpmStatus(); + if (Integer.valueOf(1).equals(status)) { + notStarted++; + } else if (Integer.valueOf(2).equals(status)) { + inProgress++; + if (item.getDeadline() != null && item.getDeadline().toInstant().atZone(java.time.ZoneId.systemDefault()).toLocalDate().isBefore(today)) { + overdue++; + } + } else if (Integer.valueOf(3).equals(status)) { + completed++; + } + } + Map result = new java.util.LinkedHashMap<>(); + result.put("notStarted", notStarted); + result.put("inProgress", inProgress); + result.put("overdue", overdue); + result.put("completed", completed); + return Result.OK(result); + } + /** * 【vue3专用】加载节点的子数据 * diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/dqinspecttask/controller/DqInspectTaskController.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/dqinspecttask/controller/DqInspectTaskController.java index 463de4f..0779a19 100644 --- a/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/dqinspecttask/controller/DqInspectTaskController.java +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/dqinspecttask/controller/DqInspectTaskController.java @@ -102,6 +102,41 @@ public class DqInspectTaskController extends JeecgController> statusStats(DqInspectTask dqInspectTask, HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(dqInspectTask, req.getParameterMap()); + List list = service.list(queryWrapper); + int notStarted = 0, inProgress = 0, overdue = 0, completed = 0; + java.time.LocalDate today = java.time.LocalDate.now(); + for (DqInspectTask item : list) { + String status = item.getBpmStatus(); + if ("1".equals(status)) { + notStarted++; + } else if ("2".equals(status)) { + inProgress++; + if (item.getDeadline() != null && item.getDeadline().toInstant().atZone(java.time.ZoneId.systemDefault()).toLocalDate().isBefore(today)) { + overdue++; + } + } else if ("3".equals(status)) { + completed++; + } + } + Map result = new java.util.LinkedHashMap<>(); + result.put("notStarted", notStarted); + result.put("inProgress", inProgress); + result.put("overdue", overdue); + result.put("completed", completed); + return Result.OK(result); + } + /** * 添加 *