|
@@ -1857,7 +1857,34 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
|
|
Page<WmScorePackageSettleOutput> settleListPage = wmScorePackageMapper.listPackageSettleList(page, input);
|
|
Page<WmScorePackageSettleOutput> settleListPage = wmScorePackageMapper.listPackageSettleList(page, input);
|
|
|
|
|
|
List<WmScorePackageSettleOutput> settleList = settleListPage.getRecords();
|
|
List<WmScorePackageSettleOutput> settleList = settleListPage.getRecords();
|
|
- this.settleDetail(settleList);
|
|
|
|
|
|
+
|
|
|
|
+ if (CollUtil.isEmpty(settleList)) {
|
|
|
|
+ return page;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ List<String> packageIds = settleList.stream().map(WmScorePackageSettleOutput::getId).collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ Map<String, List<WmScorePackageStatus>> statusMap = new HashMap<>();
|
|
|
|
+ List<SysUser> users = new ArrayList<>();
|
|
|
|
+ // 查询领包记录
|
|
|
|
+ List<WmScorePackageStatus> packageStatusList = wmScorePackageStatusService.list(Wrappers.<WmScorePackageStatus>lambdaQuery()
|
|
|
|
+ .in(WmScorePackageStatus::getPackageId, packageIds)
|
|
|
|
+ .eq(WmScorePackageStatus::getStatus, PackageStatusEnum.APPROVED.val()));
|
|
|
|
+ if (CollUtil.isNotEmpty(packageStatusList)) {
|
|
|
|
+ statusMap.putAll(packageStatusList.stream().collect(Collectors.groupingBy(WmScorePackageStatus::getPackageId)));
|
|
|
|
+
|
|
|
|
+ Set<String> userIds = packageStatusList.stream().map(WmScorePackageStatus::getUserId).collect(Collectors.toSet());
|
|
|
|
+ // 查询接单人
|
|
|
|
+ users = sysUserMapper.selectList(Wrappers.<SysUser>lambdaQuery().in(SysUser::getUserId, userIds));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 查询结算信息
|
|
|
|
+ List<WmScorePackageSettleNote> packageSettleNoteList = settleNoteMapper.selectList(Wrappers.<WmScorePackageSettleNote>lambdaQuery()
|
|
|
|
+ .in(WmScorePackageSettleNote::getPackageId, packageIds));
|
|
|
|
+ Map<String, List<WmScorePackageSettleNote>> settleNoteMap = packageSettleNoteList.stream()
|
|
|
|
+ .collect(Collectors.groupingBy(WmScorePackageSettleNote::getPackageId));
|
|
|
|
+
|
|
|
|
+ this.settleDetail(settleList, statusMap, users, settleNoteMap);
|
|
return settleListPage;
|
|
return settleListPage;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -3709,7 +3736,34 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
|
|
IPage<WmScorePackageSettleOutput> detailPage = wmScorePackageMapper.pageFinancialReviewDetail(page, query);
|
|
IPage<WmScorePackageSettleOutput> detailPage = wmScorePackageMapper.pageFinancialReviewDetail(page, query);
|
|
|
|
|
|
List<WmScorePackageSettleOutput> settleList = detailPage.getRecords();
|
|
List<WmScorePackageSettleOutput> settleList = detailPage.getRecords();
|
|
- this.settleDetail(settleList);
|
|
|
|
|
|
+
|
|
|
|
+ if (CollUtil.isEmpty(settleList)) {
|
|
|
|
+ return page;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ List<String> packageIds = settleList.stream().map(WmScorePackageSettleOutput::getId).collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ Map<String, List<WmScorePackageStatus>> statusMap = new HashMap<>();
|
|
|
|
+ List<SysUser> users = new ArrayList<>();
|
|
|
|
+ // 查询领包记录
|
|
|
|
+ List<WmScorePackageStatus> packageStatusList = wmScorePackageStatusService.list(Wrappers.<WmScorePackageStatus>lambdaQuery()
|
|
|
|
+ .in(WmScorePackageStatus::getPackageId, packageIds)
|
|
|
|
+ .eq(WmScorePackageStatus::getStatus, PackageStatusEnum.APPROVED.val()));
|
|
|
|
+ if (CollUtil.isNotEmpty(packageStatusList)) {
|
|
|
|
+ statusMap.putAll(packageStatusList.stream().collect(Collectors.groupingBy(WmScorePackageStatus::getPackageId)));
|
|
|
|
+
|
|
|
|
+ Set<String> userIds = packageStatusList.stream().map(WmScorePackageStatus::getUserId).collect(Collectors.toSet());
|
|
|
|
+ // 查询接单人
|
|
|
|
+ users = sysUserMapper.selectList(Wrappers.<SysUser>lambdaQuery().in(SysUser::getUserId, userIds));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 查询结算信息
|
|
|
|
+ List<WmScorePackageSettleNote> packageSettleNoteList = settleNoteMapper.selectList(Wrappers.<WmScorePackageSettleNote>lambdaQuery()
|
|
|
|
+ .in(WmScorePackageSettleNote::getPackageId, packageIds));
|
|
|
|
+ Map<String, List<WmScorePackageSettleNote>> settleNoteMap = packageSettleNoteList.stream()
|
|
|
|
+ .collect(Collectors.groupingBy(WmScorePackageSettleNote::getPackageId));
|
|
|
|
+
|
|
|
|
+ this.settleDetail(settleList, statusMap, users, settleNoteMap);
|
|
|
|
|
|
return detailPage;
|
|
return detailPage;
|
|
}
|
|
}
|
|
@@ -3717,31 +3771,31 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
|
|
/**
|
|
/**
|
|
* 结算数据字段拼接转换
|
|
* 结算数据字段拼接转换
|
|
*
|
|
*
|
|
- * @param settleList 数据列表
|
|
|
|
|
|
+ * @param settleList 数据列表
|
|
|
|
+ * @param statusMap 领包记录map
|
|
|
|
+ * @param userList 用户信息
|
|
|
|
+ * @param settleNoteMap 结算信息map
|
|
*/
|
|
*/
|
|
- private void settleDetail(List<WmScorePackageSettleOutput> settleList) {
|
|
|
|
|
|
+ private void settleDetail(List<WmScorePackageSettleOutput> settleList, Map<String, List<WmScorePackageStatus>> statusMap,
|
|
|
|
+ List<SysUser> userList, Map<String, List<WmScorePackageSettleNote>> settleNoteMap) {
|
|
for (WmScorePackageSettleOutput ouPut : settleList) {
|
|
for (WmScorePackageSettleOutput ouPut : settleList) {
|
|
- WmScorePackageStatus statusQuery = new WmScorePackageStatus();
|
|
|
|
- statusQuery.setPackageId(ouPut.getId());
|
|
|
|
- statusQuery.setStatus("2");
|
|
|
|
- List<WmScorePackageStatus> statusList = wmScorePackageStatusService.getByPackageId(statusQuery);
|
|
|
|
- String userNames = statusList.stream()
|
|
|
|
- .map(WmScorePackageStatus::getUserId)
|
|
|
|
- .collect(Collectors.joining(","));
|
|
|
|
- ouPut.setUserNames(userNames);
|
|
|
|
|
|
+ List<WmScorePackageStatus> statusList = statusMap.get(ouPut.getId());
|
|
|
|
|
|
- Set<String> userIds = statusList.stream().map(WmScorePackageStatus::getTaskUserId).collect(Collectors.toSet());
|
|
|
|
|
|
+ Set<String> userIds = statusList.stream().map(WmScorePackageStatus::getUserId).collect(Collectors.toSet());
|
|
if (CollUtil.isNotEmpty(userIds)) {
|
|
if (CollUtil.isNotEmpty(userIds)) {
|
|
- List<SysUser> users = sysUserMapper.selectList(Wrappers.<SysUser>lambdaQuery().in(SysUser::getUserId, userIds));
|
|
|
|
|
|
+ List<SysUser> users = userList.stream().filter(user -> userIds.contains(String.valueOf(user.getUserId()))).collect(Collectors.toList());
|
|
String userPhones = users.stream().map(SysUser::getUsername).collect(Collectors.joining(","));
|
|
String userPhones = users.stream().map(SysUser::getUsername).collect(Collectors.joining(","));
|
|
ouPut.setUserPhones(userPhones);
|
|
ouPut.setUserPhones(userPhones);
|
|
// 脱敏的身份证号
|
|
// 脱敏的身份证号
|
|
String idCardNums = users.stream().map(user -> DesensitizedUtil.idCardNum(user.getIdCardNumber(), 5, 4)).collect(Collectors.joining(","));
|
|
String idCardNums = users.stream().map(user -> DesensitizedUtil.idCardNum(user.getIdCardNumber(), 5, 4)).collect(Collectors.joining(","));
|
|
ouPut.setIdCardNums(idCardNums);
|
|
ouPut.setIdCardNums(idCardNums);
|
|
|
|
+ // 姓名
|
|
|
|
+ String userNames = users.stream().map(SysUser::getRealname).collect(Collectors.joining(","));
|
|
|
|
+ ouPut.setUserNames(userNames);
|
|
}
|
|
}
|
|
- // 查询结算成功时间
|
|
|
|
- List<WmScorePackageSettleNote> packageSettleNoteList = settleNoteMapper.selectList(Wrappers.<WmScorePackageSettleNote>lambdaQuery()
|
|
|
|
- .eq(WmScorePackageSettleNote::getPackageId, ouPut.getId()));
|
|
|
|
|
|
+
|
|
|
|
+ // 查询结算信息
|
|
|
|
+ List<WmScorePackageSettleNote> packageSettleNoteList = settleNoteMap.get(ouPut.getId());
|
|
if (CollectionUtil.isNotEmpty(packageSettleNoteList)) {
|
|
if (CollectionUtil.isNotEmpty(packageSettleNoteList)) {
|
|
WmScorePackageSettleNote settleNote = packageSettleNoteList.get(0);
|
|
WmScorePackageSettleNote settleNote = packageSettleNoteList.get(0);
|
|
LocalDateTime notifyTime = settleNote.getNotifyTime();
|
|
LocalDateTime notifyTime = settleNote.getNotifyTime();
|