|
@@ -75,6 +75,7 @@ import java.util.*;
|
|
import java.util.concurrent.ExecutionException;
|
|
import java.util.concurrent.ExecutionException;
|
|
import java.util.concurrent.Future;
|
|
import java.util.concurrent.Future;
|
|
import java.util.concurrent.TimeUnit;
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
+import java.util.function.Function;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
@@ -2824,11 +2825,12 @@ public class WmScorePackageController {
|
|
Map<String, List<WmScorePackageStatus>> packageStatusGroupMap = scorePackageStatusList.stream()
|
|
Map<String, List<WmScorePackageStatus>> packageStatusGroupMap = scorePackageStatusList.stream()
|
|
.collect(Collectors.groupingBy(WmScorePackageStatus::getPackageId));
|
|
.collect(Collectors.groupingBy(WmScorePackageStatus::getPackageId));
|
|
|
|
|
|
- //获取上级包 TODO
|
|
|
|
-// Set<String> packageIds = scorePackageList.stream().map(WmScorePackage::getRelationScoreId).collect(Collectors.toSet());
|
|
|
|
-// List<WmScorePackage> relationScorePackages = wmScorePackageMapper.selectList(Wrappers.<WmScorePackage>lambdaQuery()
|
|
|
|
-// .in(WmScorePackage::getId, packageIds));
|
|
|
|
-// relationScorePackages.stream().collect(Collectors.groupingBy(WmScorePackage::getId));
|
|
|
|
|
|
+ //获取上级包
|
|
|
|
+ Set<String> parentPackageIds = scorePackageList.stream().map(WmScorePackage::getRelationScoreId).collect(Collectors.toSet());
|
|
|
|
+ List<WmScorePackage> parentPackages = wmScorePackageMapper.selectList(Wrappers.<WmScorePackage>lambdaQuery()
|
|
|
|
+ .in(WmScorePackage::getId, parentPackageIds));
|
|
|
|
+ Map<String, WmScorePackage> parentPackageNameMap = parentPackages.stream()
|
|
|
|
+ .collect(Collectors.toMap(WmScorePackage::getId, Function.identity()));
|
|
|
|
|
|
// 类型标签
|
|
// 类型标签
|
|
List<SysDictItem> dictItems = sysDictItemService.list(Wrappers.<SysDictItem>lambdaQuery()
|
|
List<SysDictItem> dictItems = sysDictItemService.list(Wrappers.<SysDictItem>lambdaQuery()
|
|
@@ -2837,6 +2839,16 @@ public class WmScorePackageController {
|
|
List<SysDictItem> packageType1List = dictItemMap.get("package_type1");
|
|
List<SysDictItem> packageType1List = dictItemMap.get("package_type1");
|
|
List<SysDictItem> packageType2List = dictItemMap.get("package_type2");
|
|
List<SysDictItem> packageType2List = dictItemMap.get("package_type2");
|
|
|
|
|
|
|
|
+ // 结算记录
|
|
|
|
+ List<WmScorePackageSettleNote> noteList = settleNoteMapper.selectList(Wrappers.<WmScorePackageSettleNote>lambdaQuery()
|
|
|
|
+ .in(WmScorePackageSettleNote::getPackageId, packageIds));
|
|
|
|
+ Map<String, List<WmScorePackageSettleNote>> noteMap = noteList.stream()
|
|
|
|
+ .collect(Collectors.groupingBy(WmScorePackageSettleNote::getPackageId));
|
|
|
|
+
|
|
|
|
+ // 有效任务类型
|
|
|
|
+ List<WmScoreTaskType> taskTypeList = wmScoreTaskTypeMapper.getScoreTaskTypeByScoreId(String.join(",", packageIds));
|
|
|
|
+ Map<String, List<WmScoreTaskType>> taskTypeMap = taskTypeList.stream().collect(Collectors.groupingBy(WmScoreTaskType::getScoreId));
|
|
|
|
+
|
|
List<WmScorePackageExcelModel> excelModelList = new ArrayList<>(scorePackageList.size());
|
|
List<WmScorePackageExcelModel> excelModelList = new ArrayList<>(scorePackageList.size());
|
|
for (int i = 0; i < scorePackageList.size(); i++) {
|
|
for (int i = 0; i < scorePackageList.size(); i++) {
|
|
WmScorePackage wmScorePackage = scorePackageList.get(i);
|
|
WmScorePackage wmScorePackage = scorePackageList.get(i);
|
|
@@ -2844,9 +2856,11 @@ public class WmScorePackageController {
|
|
|
|
|
|
List<WmTask> tasks = taskGoupMap.getOrDefault(wmScorePackage.getId(), new ArrayList<>());
|
|
List<WmTask> tasks = taskGoupMap.getOrDefault(wmScorePackage.getId(), new ArrayList<>());
|
|
List<WmScorePackageStatus> statuses = packageStatusGroupMap.getOrDefault(wmScorePackage.getId(), new ArrayList<>());
|
|
List<WmScorePackageStatus> statuses = packageStatusGroupMap.getOrDefault(wmScorePackage.getId(), new ArrayList<>());
|
|
|
|
+ List<WmScorePackageSettleNote> notes = noteMap.getOrDefault(wmScorePackage.getId(), new ArrayList<>());
|
|
|
|
+ List<WmScoreTaskType> scoreTaskTypes = taskTypeMap.getOrDefault(wmScorePackage.getId(), new ArrayList<>());
|
|
|
|
|
|
wmScorePackageService.buildScorePackageSync(wmScorePackage, packageType1, packageType2, tasks, statuses,
|
|
wmScorePackageService.buildScorePackageSync(wmScorePackage, packageType1, packageType2, tasks, statuses,
|
|
- packageType1List, packageType2List);
|
|
|
|
|
|
+ packageType1List, packageType2List, parentPackageNameMap, notes, scoreTaskTypes);
|
|
|
|
|
|
WmScorePackageExcelModel excelModel = BeanUtil.copyProperties(wmScorePackage, WmScorePackageExcelModel.class);
|
|
WmScorePackageExcelModel excelModel = BeanUtil.copyProperties(wmScorePackage, WmScorePackageExcelModel.class);
|
|
if (StrUtil.isNotBlank(wmScorePackage.getScorePackageStatus())) {
|
|
if (StrUtil.isNotBlank(wmScorePackage.getScorePackageStatus())) {
|