|
@@ -491,6 +491,8 @@ public class WmPackageManager {
|
|
|
// 获取子集包
|
|
|
List<WmScorePackage> childrenPkgs = scorePackageService.list(Wrappers.<WmScorePackage>lambdaQuery().in(WmScorePackage::getRelationScoreId, pkgIds));
|
|
|
List<String> cPkgIds = childrenPkgs.stream().map(WmScorePackage::getId).distinct().sorted().collect(Collectors.toList());
|
|
|
+ // 父级下的所有子集
|
|
|
+ Map<String, List<String>> parentId2PkgMap = childrenPkgs.stream().collect(Collectors.groupingBy(WmScorePackage::getRelationScoreId, Collectors.mapping(WmScorePackage::getId, Collectors.toList())));
|
|
|
|
|
|
// 获取全部的任务
|
|
|
List<WmTask> tasks = taskService.list(Wrappers.<WmTask>lambdaQuery().in(WmTask::getScorePackageId, cPkgIds).ne(WmTask::getTaskStatus, UpmsState.TaskState.REJECTED));
|
|
@@ -500,6 +502,7 @@ public class WmPackageManager {
|
|
|
|
|
|
// 获取下发的
|
|
|
List<WmPackageTaskTypeQty> taskTypeQties = packageTaskTypeQtyService.listPkgTaskTypeQtyByPkgIds(cPkgIds.stream().mapToInt(Integer::parseInt).boxed().distinct().sorted().collect(Collectors.toList()));
|
|
|
+ Map<Integer, List<WmPackageTaskTypeQty>> pttMap = taskTypeQties.stream().collect(Collectors.groupingBy(WmPackageTaskTypeQty::getPackageId));
|
|
|
|
|
|
|
|
|
List<WmScorePackageInfoExcelModel> result = pkgs.stream().map(pkg -> {
|
|
@@ -598,35 +601,105 @@ public class WmPackageManager {
|
|
|
|
|
|
|
|
|
// 下发任务统计
|
|
|
+ List<String> cPkgIdList = parentId2PkgMap.get(pkg.getId());
|
|
|
+
|
|
|
+ if (CollUtil.isNotEmpty(cPkgIdList)) {
|
|
|
+
|
|
|
+
|
|
|
+ int tt53dist = 0;
|
|
|
+ int tt52dist = 0;
|
|
|
+ int tt51dist = 0;
|
|
|
+ int tt14dist = 0;
|
|
|
+ int tt17dist = 0;
|
|
|
+ int tt12dist = 0;
|
|
|
+ int tt13dist = 0;
|
|
|
+ int tt1dist = 0;
|
|
|
+ int tt5dist = 0;
|
|
|
+ int tt3dist = 0;
|
|
|
+ int tt4dist = 0;
|
|
|
+ int tt64dist = 0;
|
|
|
+ int tt19dist = 0;
|
|
|
+
|
|
|
+ for (String cPkgId : cPkgIdList) {
|
|
|
+ List<WmPackageTaskTypeQty> packageTaskTypeQtyList = pttMap.get(cPkgId);
|
|
|
+ if (CollUtil.isEmpty(packageTaskTypeQtyList)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ for (WmPackageTaskTypeQty packageTaskTypeQty : packageTaskTypeQtyList) {
|
|
|
+ String taskTypeName = packageTaskTypeQty.getTaskTypeName();
|
|
|
+
|
|
|
+ if (StrUtil.equals(taskTypeName, "基础拜访")){
|
|
|
+ tt53dist++;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (StrUtil.equals(taskTypeName, "专项拜访")){
|
|
|
+ tt52dist++;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (StrUtil.equals(taskTypeName, "专业拜访")){
|
|
|
+ tt51dist++;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (StrUtil.equals(taskTypeName, "数据收集")){
|
|
|
+ tt14dist++;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (StrUtil.equals(taskTypeName, "医学警戒信息收集")){
|
|
|
+ tt17dist++;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (StrUtil.equals(taskTypeName, "产品展示")){
|
|
|
+ tt12dist++;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (StrUtil.equals(taskTypeName, "业务宣传服务")){
|
|
|
+ tt13dist++;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (StrUtil.equals(taskTypeName, "POV科室会")){
|
|
|
+ tt1dist++;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (StrUtil.equals(taskTypeName, "沙龙会")){
|
|
|
+ tt5dist++;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (StrUtil.equals(taskTypeName, "市级学术会议")){
|
|
|
+ tt3dist++;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (StrUtil.equals(taskTypeName, "省级学术会议")){
|
|
|
+ tt4dist++;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (StrUtil.equals(taskTypeName, "线上学术会议")){
|
|
|
+ tt64dist++;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (StrUtil.equals(taskTypeName, "健康教育课堂")){
|
|
|
+ tt19dist++;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- //
|
|
|
- // model.setTt53dist();
|
|
|
- //
|
|
|
- // model.setTt52dist();
|
|
|
- //
|
|
|
- // model.setTt51dist();
|
|
|
- //
|
|
|
- // model.setTt14dist();
|
|
|
- //
|
|
|
- // model.setTt17dist();
|
|
|
- //
|
|
|
- // model.setTt12dist();
|
|
|
- //
|
|
|
- // model.setTt13dist();
|
|
|
- //
|
|
|
- // model.setTt1dist();
|
|
|
- //
|
|
|
- // model.setTt5dist();
|
|
|
- //
|
|
|
- // model.setTt3dist();
|
|
|
- //
|
|
|
- // model.setTt4dist();
|
|
|
- //
|
|
|
- // model.setTt64dist();
|
|
|
- //
|
|
|
- // model.setTt19dist();
|
|
|
|
|
|
+ model.setTt53dist(String.valueOf(tt53dist));
|
|
|
+ model.setTt52dist(String.valueOf(tt52dist));
|
|
|
+ model.setTt51dist(String.valueOf(tt51dist));
|
|
|
+ model.setTt14dist(String.valueOf(tt14dist));
|
|
|
+ model.setTt17dist(String.valueOf(tt17dist));
|
|
|
+ model.setTt12dist(String.valueOf(tt12dist));
|
|
|
+ model.setTt13dist(String.valueOf(tt13dist));
|
|
|
+ model.setTt1dist(String.valueOf(tt1dist));
|
|
|
+ model.setTt5dist(String.valueOf(tt5dist));
|
|
|
+ model.setTt3dist(String.valueOf(tt3dist));
|
|
|
+ model.setTt4dist(String.valueOf(tt4dist));
|
|
|
+ model.setTt64dist(String.valueOf(tt64dist));
|
|
|
+ model.setTt19dist(String.valueOf(tt19dist));
|
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
return model;
|