!77 feat(xispeak,dq): 新增 statusStats 接口,按 bpmStatus 统计各状态数量

Merge pull request !77 from wsm/feature/state_render
This commit is contained in:
wsm
2026-07-10 07:08:43 +00:00
committed by Gitee
2 changed files with 70 additions and 0 deletions
@@ -99,6 +99,41 @@ public class BgXiSpeakController extends JeecgController<BgXiSpeak, IBgXiSpeakSe
}
}
/**
* 统计各状态数量(未开始/督办中/已逾期/已完成)
*
* @param bgXiSpeak
* @param req
* @return
*/
@Operation(summary="习总书记重要讲话指示批示情况-状态统计")
@GetMapping(value = "/statusStats")
public Result<Map<String, Integer>> statusStats(BgXiSpeak bgXiSpeak, HttpServletRequest req) {
QueryWrapper<BgXiSpeak> queryWrapper = QueryGenerator.initQueryWrapper(bgXiSpeak, req.getParameterMap());
List<BgXiSpeak> 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<String, Integer> 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专用】加载节点的子数据
*
@@ -102,6 +102,41 @@ public class DqInspectTaskController extends JeecgController<DqInspectTask, IDqI
return Result.OK(pageList);
}
/**
* 统计各状态数量(未开始/督办中/已逾期/已完成)
*
* @param dqInspectTask
* @param req
* @return
*/
@Operation(summary="dq_inspect_task-状态统计")
@GetMapping(value = "/statusStats")
public Result<Map<String, Integer>> statusStats(DqInspectTask dqInspectTask, HttpServletRequest req) {
QueryWrapper<DqInspectTask> queryWrapper = QueryGenerator.initQueryWrapper(dqInspectTask, req.getParameterMap());
List<DqInspectTask> 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<String, Integer> 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);
}
/**
* 添加
*