!75 czh-20260710-支持统计完成事项状态以及逾期个数
Merge pull request !75 from 陈志浩/feature/bpm_status-20260710
This commit is contained in:
+29
@@ -22,6 +22,8 @@ import org.springframework.web.servlet.ModelAndView;
|
|||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import org.jeecg.common.util.oConvertUtils;
|
import org.jeecg.common.util.oConvertUtils;
|
||||||
import org.jeecg.modules.demo.bgpartymatter.dto.BgPartymatterBpmSaveDTO;
|
import org.jeecg.modules.demo.bgpartymatter.dto.BgPartymatterBpmSaveDTO;
|
||||||
@@ -97,6 +99,33 @@ public class BgPartymatterController extends JeecgController<BgPartymatter, IBgP
|
|||||||
return Result.OK(pageList);
|
return Result.OK(pageList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Operation(summary = "党委会/所务会-状态统计")
|
||||||
|
@GetMapping(value = "/statusStats")
|
||||||
|
public Result<Map<String, Integer>> statusStats(BgPartymatter bgPartymatter, HttpServletRequest req) {
|
||||||
|
QueryWrapper<BgPartymatter> queryWrapper = QueryGenerator.initQueryWrapper(bgPartymatter, req.getParameterMap());
|
||||||
|
List<BgPartymatter> list = bgPartymatterService.list(queryWrapper);
|
||||||
|
int notStarted = 0, inProgress = 0, overdue = 0, completed = 0;
|
||||||
|
java.time.LocalDate today = java.time.LocalDate.now();
|
||||||
|
for (BgPartymatter 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);
|
||||||
|
}
|
||||||
|
|
||||||
@GetMapping(value = "/queryById")
|
@GetMapping(value = "/queryById")
|
||||||
public Result<BgPartymatter> queryById(@RequestParam(name = "id", required = true) String id) {
|
public Result<BgPartymatter> queryById(@RequestParam(name = "id", required = true) String id) {
|
||||||
|
|||||||
+31
@@ -4,6 +4,7 @@ import java.io.IOException;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
@@ -90,6 +91,36 @@ public class BgTakepulseController extends JeecgController<BgTakepulse, IBgTakep
|
|||||||
IPage<BgTakepulse> pageList = bgTakepulseService.page(page, queryWrapper);
|
IPage<BgTakepulse> pageList = bgTakepulseService.page(page, queryWrapper);
|
||||||
return Result.OK(pageList);
|
return Result.OK(pageList);
|
||||||
}
|
}
|
||||||
|
@Operation(summary = "我为四所把把脉-状态统计")
|
||||||
|
@GetMapping(value = "/statusStats")
|
||||||
|
public Result<Map<String, Integer>> statusStats(BgTakepulse bgTakepulse, HttpServletRequest req) {
|
||||||
|
Map<String, QueryRuleEnum> customeRuleMap = new HashMap<>();
|
||||||
|
customeRuleMap.put("year", QueryRuleEnum.LIKE_WITH_OR);
|
||||||
|
customeRuleMap.put("taskType", QueryRuleEnum.LIKE_WITH_OR);
|
||||||
|
QueryWrapper<BgTakepulse> queryWrapper = QueryGenerator.initQueryWrapper(bgTakepulse, req.getParameterMap(), customeRuleMap);
|
||||||
|
List<BgTakepulse> list = bgTakepulseService.list(queryWrapper);
|
||||||
|
int notStarted = 0, inProgress = 0, overdue = 0, completed = 0;
|
||||||
|
java.time.LocalDate today = java.time.LocalDate.now();
|
||||||
|
for (BgTakepulse 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 LinkedHashMap<>();
|
||||||
|
result.put("notStarted", notStarted);
|
||||||
|
result.put("inProgress", inProgress);
|
||||||
|
result.put("overdue", overdue);
|
||||||
|
result.put("completed", completed);
|
||||||
|
return Result.OK(result);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 添加
|
* 添加
|
||||||
|
|||||||
Reference in New Issue
Block a user