Commit 7b829e132ed557682c9e3b55990b66f8bd5d1b4d
1 parent
a9757024
闵行工时统计表添加线路小计。
Showing
2 changed files
with
65 additions
and
11 deletions
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> | ... | ... |