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,6 +3571,7 @@ public class ReportServiceImpl implements ReportService{
3571 realList = scheduleRealInfoRepository.scheduleByDates(date, date2, gsdm, fgsdm); 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 Map<String, Map<String, Object>> keyMap = new HashMap<String, Map<String, Object>>(); 3576 Map<String, Map<String, Object>> keyMap = new HashMap<String, Map<String, Object>>();
3576 for(ScheduleRealInfo plan : realList){ 3577 for(ScheduleRealInfo plan : realList){
@@ -3690,7 +3691,7 @@ public class ReportServiceImpl implements ReportService{ @@ -3690,7 +3691,7 @@ public class ReportServiceImpl implements ReportService{
3690 } 3691 }
3691 3692
3692 Map<String, Object> sumMap = new HashMap<String, Object>(); 3693 Map<String, Object> sumMap = new HashMap<String, Object>();
3693 - sumMap.put("date", "计"); 3694 + sumMap.put("date", "计");
3694 sumMap.put("gsName", ""); 3695 sumMap.put("gsName", "");
3695 sumMap.put("fgsName", ""); 3696 sumMap.put("fgsName", "");
3696 sumMap.put("xlName", ""); 3697 sumMap.put("xlName", "");
@@ -3731,11 +3732,37 @@ public class ReportServiceImpl implements ReportService{ @@ -3731,11 +3732,37 @@ public class ReportServiceImpl implements ReportService{
3731 map.put("jhTime", jh > 0l ? jh/60l + "." + (jh%60l>9?jh%60l:("0"+jh%60l)) : "0.0"); 3732 map.put("jhTime", jh > 0l ? jh/60l + "." + (jh%60l>9?jh%60l:("0"+jh%60l)) : "0.0");
3732 map.put("sjyyTime", sjyy > 0l ? sjyy/60l + "." + (sjyy%60l>9?sjyy%60l:("0"+sjyy%60l)) : "0.0"); 3733 map.put("sjyyTime", sjyy > 0l ? sjyy/60l + "." + (sjyy%60l>9?sjyy%60l:("0"+sjyy%60l)) : "0.0");
3733 map.put("sjksTime", sjks > 0l ? sjks/60l + "." + (sjks%60l>9?sjks%60l:("0"+sjks%60l)) : "0.0"); 3734 map.put("sjksTime", sjks > 0l ? sjks/60l + "." + (sjks%60l>9?sjks%60l:("0"+sjks%60l)) : "0.0");
  3735 + String dateStr = date;
3734 if(date.equals(date2)){ 3736 if(date.equals(date2)){
3735 - map.put("date", date); 3737 + dateStr = date;
3736 } else { 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 jh_sum += jh; 3767 jh_sum += jh;
3741 sjyy_sum += sjyy; 3768 sjyy_sum += sjyy;
@@ -3748,6 +3775,19 @@ public class ReportServiceImpl implements ReportService{ @@ -3748,6 +3775,19 @@ public class ReportServiceImpl implements ReportService{
3748 sumMap.put("sjyyTime", sjyy_sum > 0l ? sjyy_sum/60l + "." + (sjyy_sum%60l>9?sjyy_sum%60l:("0"+sjyy_sum%60l)) : "0.0"); 3775 sumMap.put("sjyyTime", sjyy_sum > 0l ? sjyy_sum/60l + "." + (sjyy_sum%60l>9?sjyy_sum%60l:("0"+sjyy_sum%60l)) : "0.0");
3749 sumMap.put("sjksTime", sjks_sum > 0l ? sjks_sum/60l + "." + (sjks_sum%60l>9?sjks_sum%60l:("0"+sjks_sum%60l)) : "0.0"); 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 Collections.sort(resultList, new Comparator<Map<String, Object>>() { 3791 Collections.sort(resultList, new Comparator<Map<String, Object>>() {
3752 @Override 3792 @Override
3753 public int compare(Map<String, Object> c1, Map<String, Object> c2) { 3793 public int compare(Map<String, Object> c1, Map<String, Object> c2) {
@@ -3777,6 +3817,12 @@ public class ReportServiceImpl implements ReportService{ @@ -3777,6 +3817,12 @@ public class ReportServiceImpl implements ReportService{
3777 } 3817 }
3778 String lpName1 = c1.get("lpName").toString(); 3818 String lpName1 = c1.get("lpName").toString();
3779 String lpName2 = c2.get("lpName").toString(); 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 int compare2 = Collator.getInstance(Locale.CHINESE).compare(lpName1, lpName2); 3826 int compare2 = Collator.getInstance(Locale.CHINESE).compare(lpName1, lpName2);
3781 if (compare2 > 0) { 3827 if (compare2 > 0) {
3782 return 1; 3828 return 1;
src/main/resources/static/pages/forms/statement/workingHours.html
@@ -272,14 +272,22 @@ @@ -272,14 +272,22 @@
272 </script> 272 </script>
273 <script type="text/html" id="workingHours"> 273 <script type="text/html" id="workingHours">
274 {{each list as obj i}} 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 <td>{{obj.jhTime}}</td> 291 <td>{{obj.jhTime}}</td>
284 <td>{{obj.sjyyTime}}</td> 292 <td>{{obj.sjyyTime}}</td>
285 <td>{{obj.sjksTime}}</td> 293 <td>{{obj.sjksTime}}</td>