Show team bills by monthly cycle
This commit is contained in:
parent
9deeef5004
commit
b057119fd3
@ -59,13 +59,15 @@ public class TeamBillQryExe {
|
||||
|
||||
public List<TeamBillCO> execute(AppIdLongCmd cmd) {
|
||||
|
||||
List<TeamBillCycle> teamBillCycles = teamBillCycleService.listLatestBill(cmd.getId(),
|
||||
PageConstant.MAX_LIMIT_SIZE);
|
||||
List<TeamBillCycle> teamBillCycles = teamBillCycleService.listByGeBillBelong(cmd.getId(),
|
||||
0, PageConstant.MAX_LIMIT_SIZE);
|
||||
|
||||
if (CollectionUtils.isEmpty(teamBillCycles)) {
|
||||
return Lists.newArrayList();
|
||||
}
|
||||
List<TeamBillCO> teamBill = teamBillCycles.stream().map(teamAppConvertor::toTeamBillCO).collect(Collectors.toList());
|
||||
List<TeamBillCO> teamBill = teamBillCycles.stream()
|
||||
.map(this::toMonthlyTeamBillCO)
|
||||
.collect(Collectors.toList());
|
||||
for (TeamBillCO teamBillCO : teamBill) {
|
||||
if (!Objects.isNull(teamBillCO.getSettleResult())) {
|
||||
BillDiamondBalance billDiamondBalance = billDiamondBalanceService
|
||||
@ -91,7 +93,7 @@ public class TeamBillQryExe {
|
||||
*/
|
||||
public List<TeamBillCO> executeAgent(AppIdLongCmd cmd) {
|
||||
|
||||
List<TeamBillCycle> teamBillCycles = teamBillCycleService.listLatestBill(cmd.getId(), 5);
|
||||
List<TeamBillCycle> teamBillCycles = teamBillCycleService.listByGeBillBelong(cmd.getId(), 0, 5);
|
||||
|
||||
if (CollectionUtils.isEmpty(teamBillCycles)) {
|
||||
return Lists.newArrayList();
|
||||
@ -110,15 +112,15 @@ public class TeamBillQryExe {
|
||||
}
|
||||
|
||||
// 查询该账单周期下的所有成员目标数据
|
||||
List<TeamMemberTarget> teamMemberTargets = teamMemberTargetService.listByBillBelong(
|
||||
teamBillCycle.getTeamId(), teamBillCycle.getBillBelong());
|
||||
List<TeamMemberTarget> teamMemberTargets = teamMemberTargetService.listByMonthlyBillBelong(
|
||||
teamBillCycle.getTeamId(), TeamBillCycleUtils.extractMonth(teamBillCycle.getBillBelong()));
|
||||
|
||||
if (CollectionUtils.isEmpty(teamMemberTargets)) {
|
||||
// 如果没有成员数据,仍然返回账单基本信息
|
||||
TeamBillCO teamBillCO = teamAppConvertor.toTeamBillCO(teamBillCycle);
|
||||
result.add(teamBillCO);
|
||||
continue;
|
||||
}
|
||||
TeamBillCO teamBillCO = toMonthlyTeamBillCO(teamBillCycle);
|
||||
result.add(teamBillCO);
|
||||
continue;
|
||||
}
|
||||
|
||||
// 累计所有成员的数据
|
||||
List<TeamBillMemberTarget> memberTargetList = Lists.newArrayList();
|
||||
@ -134,8 +136,7 @@ public class TeamBillQryExe {
|
||||
}
|
||||
|
||||
// 转换为账单CO对象
|
||||
TeamBillCO teamBillCO = teamAppConvertor.toTeamBillCO(teamBillCycle);
|
||||
teamBillCO.setBillTitle(TeamBillCycleUtils.parseBillBelongToDateRangeStr(teamBillCO.getBillBelong()));
|
||||
TeamBillCO teamBillCO = toMonthlyTeamBillCO(teamBillCycle);
|
||||
|
||||
// 设置累计的成员结算结果
|
||||
if (!CollectionUtils.isEmpty(memberTargetList)) {
|
||||
@ -154,12 +155,20 @@ public class TeamBillQryExe {
|
||||
return result;
|
||||
}
|
||||
|
||||
private static List<TeamMemberTargetIndex> filter(List<TeamMemberTargetIndex> stringList, Integer dateNumBer) {
|
||||
private static List<TeamMemberTargetIndex> filter(List<TeamMemberTargetIndex> stringList, Integer dateNumBer) {
|
||||
stringList = stringList.stream().filter(item -> {
|
||||
return item.getDateNumber().equals(dateNumBer);
|
||||
}).collect(Collectors.toList());
|
||||
return stringList;
|
||||
}
|
||||
}
|
||||
|
||||
private TeamBillCO toMonthlyTeamBillCO(TeamBillCycle teamBillCycle) {
|
||||
TeamBillCO teamBillCO = teamAppConvertor.toTeamBillCO(teamBillCycle);
|
||||
Integer monthlyBillBelong = TeamBillCycleUtils.extractMonth(teamBillCycle.getBillBelong());
|
||||
teamBillCO.setBillBelong(monthlyBillBelong);
|
||||
teamBillCO.setBillTitle(TeamBillCycleUtils.parseBillBelongToDateRangeStr(monthlyBillBelong));
|
||||
return teamBillCO;
|
||||
}
|
||||
|
||||
private Map<String, String> getMetadata(SysRegionConfig regionConfig) {
|
||||
return Optional.ofNullable(regionConfig)
|
||||
|
||||
@ -57,12 +57,21 @@ public class TeamBillWorkMembersQryExe {
|
||||
return Lists.newArrayList();
|
||||
}
|
||||
|
||||
List<TeamMemberTarget> teamMemberTargets = teamMemberTargetService.listByBillBelong(
|
||||
teamBillCycle.getTeamId(), teamBillCycle.getBillBelong());
|
||||
|
||||
if (CollectionUtils.isEmpty(teamMemberTargets)) {
|
||||
return Lists.newArrayList();
|
||||
}
|
||||
Integer monthlyBillBelong = TeamBillCycleUtils.extractMonth(teamBillCycle.getBillBelong());
|
||||
List<TeamMemberTarget> teamMemberTargets = teamMemberTargetService
|
||||
.listByMonthlyBillBelong(teamBillCycle.getTeamId(), monthlyBillBelong);
|
||||
|
||||
if (CollectionUtils.isEmpty(teamMemberTargets)) {
|
||||
return Lists.newArrayList();
|
||||
}
|
||||
|
||||
teamMemberTargets = teamMemberTargets.stream()
|
||||
.map(TeamMemberTarget::getUserId)
|
||||
.distinct()
|
||||
.map(userId -> teamMemberTargetService.aggregateMonthlyTarget(
|
||||
teamBillCycle.getTeamId(), userId, monthlyBillBelong))
|
||||
.filter(Objects::nonNull)
|
||||
.toList();
|
||||
|
||||
Map<Long, UserProfileDTO> userProfileMap = userProfileAppConvertor.toMapUserProfileDTO(
|
||||
userProfileGateway.mapByUserIds(
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user