提交 d05d7daa authored 作者: liuhaiquan's avatar liuhaiquan

Merge remote-tracking branch 'origin/bug_truck_integral_20231211'

...@@ -27,4 +27,5 @@ mvnw.cmd ...@@ -27,4 +27,5 @@ mvnw.cmd
/nbbuild/ /nbbuild/
/dist/ /dist/
/nbdist/ /nbdist/
/.nb-gradle/ /.nb-gradle/
\ No newline at end of file /nbsdk/
...@@ -16,4 +16,10 @@ public class DriverPageIntegralTruckRankParam extends PageParam { ...@@ -16,4 +16,10 @@ public class DriverPageIntegralTruckRankParam extends PageParam {
@ApiModelProperty(value = "车牌列表", hidden = true) @ApiModelProperty(value = "车牌列表", hidden = true)
List<String> truckNoList; List<String> truckNoList;
@ApiModelProperty(value = "车辆添加截止时间", hidden = true)
private String time;
@ApiModelProperty(value = "统计时间(周一)", hidden = true)
private String statisticsDate;
} }
...@@ -170,19 +170,12 @@ public class IntegralTruckServiceImpl implements IntegralTruckService { ...@@ -170,19 +170,12 @@ public class IntegralTruckServiceImpl implements IntegralTruckService {
List<String> truckNoList = driverTruckList.stream().map(item -> item.getTruckNo()).collect(Collectors.toList()); List<String> truckNoList = driverTruckList.stream().map(item -> item.getTruckNo()).collect(Collectors.toList());
param.setTruckNoList(truckNoList); param.setTruckNoList(truckNoList);
param.setTime(LocalDateTimeUtils.formatTime(LocalDateTimeUtils.getStartWeek()));
param.setStatisticsDate(time);
IPage<IntegralTruckVO> page = integralTruckDao.driverPageTruckRank(param); IPage<IntegralTruckVO> page = integralTruckDao.driverPageTruckRank(param);
truckNoList = page.getRecords().stream().map(item -> item.getTruckNo()).collect(Collectors.toList()); truckNoList = page.getRecords().stream().map(item -> item.getTruckNo()).collect(Collectors.toList());
if (!truckNoList.isEmpty()) { if (!truckNoList.isEmpty()) {
List<IntegralStatistics> statisticsList = integralStatisticsDao.selectListByStatisticsDateAndTruckNoList(time, truckNoList);
Map<String, Integer> rankMap = statisticsList.stream().collect(Collectors.toMap(item -> item.getTruckNo(), item -> item.getRank()));
Map<String, Integer> integralMap = statisticsList.stream().collect(Collectors.toMap(item -> item.getTruckNo(), item -> item.getIntegral()));
for (IntegralTruckVO item : page.getRecords()) {
item.setRank(rankMap.get(item.getTruckNo()));
item.setIntegral(integralMap.get(item.getTruckNo()));
}
Map<String, IntegralTruckVO> truckMap = page.getRecords().stream().collect(Collectors.toMap(item -> item.getTruckNo(), item -> item)); Map<String, IntegralTruckVO> truckMap = page.getRecords().stream().collect(Collectors.toMap(item -> item.getTruckNo(), item -> item));
......
...@@ -53,17 +53,20 @@ public class IntegralTruckSqlProvider { ...@@ -53,17 +53,20 @@ public class IntegralTruckSqlProvider {
public String driverPageTruckRank(@Param("page") Page<IntegralTruckVO> page, @Param("param")DriverPageIntegralTruckRankParam param) { public String driverPageTruckRank(@Param("page") Page<IntegralTruckVO> page, @Param("param")DriverPageIntegralTruckRankParam param) {
return new SQL(){{ return new SQL(){{
SELECT(" id, truck_no, " + SELECT(" a.id, a.truck_no, " +
" driver_name, driver_mobile, " + " a.driver_name, a.driver_mobile, " +
" echelon, integral, rank, " + " a.echelon, b.integral, b.rank, " +
" date_format(create_time, '%Y-%m-%d %H:%i:%s') as createTime, " + " date_format(a.create_time, '%Y-%m-%d %H:%i:%s') as createTime, " +
" date_format(modified_time, '%Y-%m-%d %H:%i:%s') as modifiedTime "); " date_format(a.modified_time, '%Y-%m-%d %H:%i:%s') as modifiedTime ");
FROM("integral_truck"); FROM("integral_truck a");
LEFT_OUTER_JOIN("integral_statistics b on a.truck_no = b.truck_no and b.statistics_date = #{param.statisticsDate}");
WHERE("truck_no in (\""+ StringUtils.join(param.getTruckNoList(), "\",\"") +"\") ");
ORDER_BY("integral desc, create_time desc"); WHERE("a.truck_no in (\""+ StringUtils.join(param.getTruckNoList(), "\",\"") +"\") ");
WHERE("a.create_time < #{param.time}");
ORDER_BY("b.integral desc, a.create_time desc");
}}.toString(); }}.toString();
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论