|
@@ -840,12 +840,14 @@ public class SysStatisticManager {
|
|
|
userMap = new ArrayList<>(userList.size());
|
|
|
for (SysUser u : userList) {
|
|
|
String uId = u.getUserId().toString();
|
|
|
- Map<String, Object> uMap = new HashMap<>(7);
|
|
|
+ Map<String, Object> uMap = new HashMap<>(10);
|
|
|
+ // 用户ID
|
|
|
uMap.put("userId", u.getUserId());
|
|
|
+ // 用户名
|
|
|
uMap.put("userName", u.getRealname());
|
|
|
+ // 联系方式
|
|
|
uMap.put("phone", u.getUsername());
|
|
|
|
|
|
-
|
|
|
int userPkgCount = 0;
|
|
|
long userPkgScoreTotal = 0L;
|
|
|
List<WmScorePackageStatus> wmScorePackageStatuses = userId2PkgMap.get(uId);
|
|
@@ -854,20 +856,40 @@ public class SysStatisticManager {
|
|
|
userPkgScoreTotal = wmScorePackageStatuses.stream().mapToLong(s -> Long.parseLong(s.getUserScore())).sum();
|
|
|
}
|
|
|
|
|
|
+ // 用户包数
|
|
|
uMap.put("userPkgCount", userPkgCount);
|
|
|
+ // 用户包值
|
|
|
uMap.put("userPkgScoreTotal", userPkgScoreTotal);
|
|
|
deptPkgCount += userPkgCount;
|
|
|
deptPkgScoreTotal += userPkgScoreTotal;
|
|
|
|
|
|
int taskPkgCount = 0;
|
|
|
long taskScoreTotal = 0L;
|
|
|
+ long passedScore = 0L;
|
|
|
+ int passedCount = 0;
|
|
|
List<WmTask> tasks = userId2TaskMap.get(uId);
|
|
|
if (CollUtil.isNotEmpty(tasks)) {
|
|
|
+ Map<String, List<WmTask>> statusMap = tasks.stream().collect(Collectors.groupingBy(WmTask::getTaskStatus));
|
|
|
+ List<WmTask> passed = statusMap.get(UpmsState.TaskState.PASSED.getState());
|
|
|
+ if (CollUtil.isNotEmpty(passed)) {
|
|
|
+ passedScore = passed.stream().mapToInt(WmTask::getScore).sum();
|
|
|
+ passedCount = passed.size();
|
|
|
+ }
|
|
|
+
|
|
|
taskPkgCount = tasks.size();
|
|
|
taskScoreTotal = tasks.stream().mapToLong(WmTask::getScore).sum();
|
|
|
}
|
|
|
|
|
|
+ // 审核通过值
|
|
|
+ uMap.put("passedScore", passedScore);
|
|
|
+ // 审核通过率
|
|
|
+ uMap.put("passedCountRate", String.format("%.2f", 100.0 * (passedCount / taskPkgCount)));
|
|
|
+ // 审核通过百分比
|
|
|
+ uMap.put("passedRate", String.format("%.2f", 100.0 * (passedScore / taskScoreTotal)));
|
|
|
+
|
|
|
+ // 任务数
|
|
|
uMap.put("userTaskCount", taskPkgCount);
|
|
|
+ // 任务总值
|
|
|
uMap.put("taskScoreTotal", taskScoreTotal);
|
|
|
deptTaskCount += taskPkgCount;
|
|
|
deptTaskScoreTotal += taskScoreTotal;
|