Commit 7b829e132ed557682c9e3b55990b66f8bd5d1b4d

Authored by 娄高锋
1 parent a9757024

闵行工时统计表添加线路小计。

src/main/java/com/bsth/service/report/impl/ReportServiceImpl.java
... ... @@ -3571,6 +3571,7 @@ public class ReportServiceImpl implements ReportService{
3571 3571 realList = scheduleRealInfoRepository.scheduleByDates(date, date2, gsdm, fgsdm);
3572 3572 }
3573 3573  
  3574 + Map<String, Map<String, Object>> lineSumMap = new HashMap<String, Map<String, Object>>();
3574 3575  
3575 3576 Map<String, Map<String, Object>> keyMap = new HashMap<String, Map<String, Object>>();
3576 3577 for(ScheduleRealInfo plan : realList){
... ... @@ -3690,7 +3691,7 @@ public class ReportServiceImpl implements ReportService{
3690 3691 }
3691 3692  
3692 3693 Map<String, Object> sumMap = new HashMap<String, Object>();
3693   - sumMap.put("date", "计");
  3694 + sumMap.put("date", "计");
3694 3695 sumMap.put("gsName", "");
3695 3696 sumMap.put("fgsName", "");
3696 3697 sumMap.put("xlName", "");
... ... @@ -3731,11 +3732,37 @@ public class ReportServiceImpl implements ReportService{
3731 3732 map.put("jhTime", jh > 0l ? jh/60l + "." + (jh%60l>9?jh%60l:("0"+jh%60l)) : "0.0");
3732 3733 map.put("sjyyTime", sjyy > 0l ? sjyy/60l + "." + (sjyy%60l>9?sjyy%60l:("0"+sjyy%60l)) : "0.0");
3733 3734 map.put("sjksTime", sjks > 0l ? sjks/60l + "." + (sjks%60l>9?sjks%60l:("0"+sjks%60l)) : "0.0");
  3735 + String dateStr = date;
3734 3736 if(date.equals(date2)){
3735   - map.put("date", date);
  3737 + dateStr = date;
3736 3738 } else {
3737   - map.put("date", date + "至" + date2);
  3739 + dateStr = date + "至" + date2;
3738 3740 }
  3741 + map.put("date", dateStr);
  3742 +
  3743 + if(!(lineSumMap.containsKey(xlName))){ // 线路小计
  3744 + Map<String, Object> m = new HashMap<String, Object>();
  3745 + m.put("date", dateStr);
  3746 + m.put("gsBm", gsBm);
  3747 + m.put("fgsBm", fgsBm);
  3748 + m.put("xlBm", xlBm);
  3749 + m.put("gsName", gsName);
  3750 + m.put("fgsName", fgsName);
  3751 + m.put("xlName", xlName);
  3752 + m.put("lpName", "小计");
  3753 + m.put("jGh", "");
  3754 + m.put("jName", "");
  3755 + m.put("jsy", "");
  3756 + m.put("clZbh", "");
  3757 + m.put("jh", 0);
  3758 + m.put("sjyy", 0);
  3759 + m.put("sjks", 0);
  3760 + lineSumMap.put(xlName, m);
  3761 + }
  3762 + Map<String, Object> lineSum = lineSumMap.get(xlName);
  3763 + lineSum.put("jh", jh + Long.valueOf(lineSum.get("jh").toString()));
  3764 + lineSum.put("sjyy", sjyy + Long.valueOf(lineSum.get("sjyy").toString()));
  3765 + lineSum.put("sjks", sjks + Long.valueOf(lineSum.get("sjks").toString()));
3739 3766  
3740 3767 jh_sum += jh;
3741 3768 sjyy_sum += sjyy;
... ... @@ -3748,6 +3775,19 @@ public class ReportServiceImpl implements ReportService{
3748 3775 sumMap.put("sjyyTime", sjyy_sum > 0l ? sjyy_sum/60l + "." + (sjyy_sum%60l>9?sjyy_sum%60l:("0"+sjyy_sum%60l)) : "0.0");
3749 3776 sumMap.put("sjksTime", sjks_sum > 0l ? sjks_sum/60l + "." + (sjks_sum%60l>9?sjks_sum%60l:("0"+sjks_sum%60l)) : "0.0");
3750 3777  
  3778 + for(String key : lineSumMap.keySet()){ // 线路小计
  3779 + Map<String, Object> map = lineSumMap.get(key);
  3780 +
  3781 + Long jh = Long.valueOf(map.get("jh").toString());
  3782 + Long sjyy = Long.valueOf(map.get("sjyy").toString());
  3783 + Long sjks = Long.valueOf(map.get("sjks").toString());
  3784 + map.put("jhTime", jh > 0l ? jh/60l + "." + (jh%60l>9?jh%60l:("0"+jh%60l)) : "0.0");
  3785 + map.put("sjyyTime", sjyy > 0l ? sjyy/60l + "." + (sjyy%60l>9?sjyy%60l:("0"+sjyy%60l)) : "0.0");
  3786 + map.put("sjksTime", sjks > 0l ? sjks/60l + "." + (sjks%60l>9?sjks%60l:("0"+sjks%60l)) : "0.0");
  3787 +
  3788 + resultList.add(map);
  3789 + }
  3790 +
3751 3791 Collections.sort(resultList, new Comparator<Map<String, Object>>() {
3752 3792 @Override
3753 3793 public int compare(Map<String, Object> c1, Map<String, Object> c2) {
... ... @@ -3777,6 +3817,12 @@ public class ReportServiceImpl implements ReportService{
3777 3817 }
3778 3818 String lpName1 = c1.get("lpName").toString();
3779 3819 String lpName2 = c2.get("lpName").toString();
  3820 + /** 固定把线路小计排在自己线路数据的最后面 */
  3821 + if("小计".equals(lpName1)){
  3822 + return 1;
  3823 + } else if("小计".equals(lpName2)){
  3824 + return -1;
  3825 + }
3780 3826 int compare2 = Collator.getInstance(Locale.CHINESE).compare(lpName1, lpName2);
3781 3827 if (compare2 > 0) {
3782 3828 return 1;
... ...
src/main/resources/static/pages/forms/statement/workingHours.html
... ... @@ -272,14 +272,22 @@
272 272 </script>
273 273 <script type="text/html" id="workingHours">
274 274 {{each list as obj i}}
275   - <tr>
276   - <td>{{obj.date}}</td>
277   - <td>{{obj.gsName}}</td>
278   - <td>{{obj.fgsName}}</td>
279   - <td>{{obj.xlName}}</td>
280   - <td>{{obj.lpName}}</td>
281   - <td>{{obj.jsy}}</td>
282   - <td>{{obj.clZbh}}</td>
  275 + <tr>
  276 + {{if obj.date == '合计' || obj.date == '小计'}}
  277 + <td colspan="7" style="font-weight: 900;">{{obj.date}}</td>
  278 + {{else}}
  279 + <td>{{obj.date}}</td>
  280 + <td>{{obj.gsName}}</td>
  281 + <td>{{obj.fgsName}}</td>
  282 + <td>{{obj.xlName}}</td>
  283 + {{if obj.lpName == '小计'}}
  284 + <td colspan="3" style="font-weight: 900;text-align: center;">{{obj.lpName}}</td>
  285 + {{else}}
  286 + <td>{{obj.lpName}}</td>
  287 + <td>{{obj.jsy}}</td>
  288 + <td>{{obj.clZbh}}</td>
  289 + {{/if}}
  290 + {{/if}}
283 291 <td>{{obj.jhTime}}</td>
284 292 <td>{{obj.sjyyTime}}</td>
285 293 <td>{{obj.sjksTime}}</td>
... ...