Commit bb808a9d20c678f8bfad2f6e6eb145450032c1c0
1 parent
dc93313d
查询昨天数据信息
Showing
3 changed files
with
53 additions
and
0 deletions
src/main/java/com/bsth/repository/realcontrol/ScheduleRealInfoRepository.java
| ... | ... | @@ -74,4 +74,7 @@ public interface ScheduleRealInfoRepository extends BaseRepository<ScheduleRealI |
| 74 | 74 | |
| 75 | 75 | @Query(value="select s from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2") |
| 76 | 76 | List<ScheduleRealInfo> scheduleByDateAndLine(String line,String date); |
| 77 | + | |
| 78 | + @Query(value="select new map(s.scheduleDate as scheduleDate,s.xlBm as xlBm,s.clZbh as clZbh,s.jGh as jGh) from ScheduleRealInfo s where (s.xlBm = ?1 or s.xlBm is not null) and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 GROUP BY xlBm,clZbh,jGh ORDER BY xlBm,clZbh,realExecDate,fcsjActual") | |
| 79 | + List<Map<String,Object>> yesterdayDataList(String line,String date); | |
| 77 | 80 | } | ... | ... |
src/main/java/com/bsth/service/realcontrol/ScheduleRealInfoService.java
| ... | ... | @@ -110,4 +110,6 @@ public interface ScheduleRealInfoService extends BaseService<ScheduleRealInfo, L |
| 110 | 110 | Map<String,Object> scheduleDaily(String line,String date); |
| 111 | 111 | |
| 112 | 112 | List<ScheduleRealInfo> realScheduleList(String line,String date); |
| 113 | + | |
| 114 | + List<Map<String,Object>> yesterdayDataList(String line); | |
| 113 | 115 | } | ... | ... |
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
| ... | ... | @@ -1421,4 +1421,52 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 1421 | 1421 | |
| 1422 | 1422 | return rs; |
| 1423 | 1423 | } |
| 1424 | + | |
| 1425 | + public List<Map<String,Object>> yesterdayDataList(String line) { | |
| 1426 | + //前一天日期 | |
| 1427 | + String date = sdfMonth.format(org.apache.commons.lang.time.DateUtils.addDays(new Date(), -1)); | |
| 1428 | + List<Map<String,Object>> yesterdayDataList = scheduleRealInfoRepository.yesterdayDataList(line, date); | |
| 1429 | + List<ScheduleRealInfo> list = scheduleRealInfoRepository.scheduleByDateAndLine(line, date); | |
| 1430 | + for(ScheduleRealInfo scheduleRealInfo:list){ | |
| 1431 | + if(scheduleRealInfo != null){ | |
| 1432 | + for(int i=0;i<yesterdayDataList.size();i++){ | |
| 1433 | + if(scheduleRealInfo.getXlBm().equals(yesterdayDataList.get(i).get("xlBm")) && scheduleRealInfo.getClZbh().equals(yesterdayDataList.get(i).get("clZbh")) | |
| 1434 | + && scheduleRealInfo.getjGh().equals(yesterdayDataList.get(i).get("jGh"))){ | |
| 1435 | + //根据线路代码获取公司 | |
| 1436 | + Line li = lineRepository.findByLineCode(line); | |
| 1437 | + yesterdayDataList.get(i).put("company", li.getCompany()); | |
| 1438 | + //计算总公里 | |
| 1439 | + Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | |
| 1440 | + //如果没有子任务,里程就是已执行(Status=2);有子任务的,忽略主任务,子任务的烂班 | |
| 1441 | + if(childTaskPlans.isEmpty()){ | |
| 1442 | + if(scheduleRealInfo.getStatus() == 2){ | |
| 1443 | + yesterdayDataList.get(i).put("totalKilometers", scheduleRealInfo.getJhlc()==null?0.0:scheduleRealInfo.getJhlc()+(double)(yesterdayDataList.get(i).get("totalKilometers")==null?0.0:yesterdayDataList.get(i).get("totalKilometers"))); | |
| 1444 | + } | |
| 1445 | + }else{ | |
| 1446 | + Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | |
| 1447 | + while(it.hasNext()){ | |
| 1448 | + ChildTaskPlan childTaskPlan = it.next(); | |
| 1449 | + if(!childTaskPlan.isDestroy()){ | |
| 1450 | + yesterdayDataList.get(i).put("totalKilometers", childTaskPlan.getMileage()==null?0.0:childTaskPlan.getMileage()+(double)(yesterdayDataList.get(i).get("totalKilometers")==null?0.0:yesterdayDataList.get(i).get("totalKilometers"))); | |
| 1451 | + } | |
| 1452 | + } | |
| 1453 | + } | |
| 1454 | + } | |
| 1455 | + } | |
| 1456 | + } | |
| 1457 | + } | |
| 1458 | + //增加顺序号 | |
| 1459 | + for(int i=0;i<yesterdayDataList.size();i++){ | |
| 1460 | + if(i == 0){ | |
| 1461 | + yesterdayDataList.get(i).put("seqNumber", 1); | |
| 1462 | + }else{ | |
| 1463 | + if(yesterdayDataList.get(i-1).get("clZbh").equals(yesterdayDataList.get(i).get("clZbh"))){ | |
| 1464 | + yesterdayDataList.get(i).put("seqNumber", 1+(int)yesterdayDataList.get(i-1).get("seqNumber")); | |
| 1465 | + }else{ | |
| 1466 | + yesterdayDataList.get(i).put("seqNumber", 1); | |
| 1467 | + } | |
| 1468 | + } | |
| 1469 | + } | |
| 1470 | + return yesterdayDataList; | |
| 1471 | + } | |
| 1424 | 1472 | } | ... | ... |