Commit f40957f5142f374be8125f87364b3f45f227ed5f

Authored by 廖磊
1 parent def6e247

行车路单,到离站

src/main/java/com/bsth/controller/realcontrol/ScheduleRealInfoController.java
@@ -368,9 +368,9 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, @@ -368,9 +368,9 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo,
368 } 368 }
369 369
370 @RequestMapping(value="/statisticsDailyTj") 370 @RequestMapping(value="/statisticsDailyTj")
371 - public List<Map<String,Object>> statisticsDailyTj(@RequestParam String line, @RequestParam String date, 371 + public List<Map<String,Object>> statisticsDailyTj(@RequestParam String gsdm,@RequestParam String fgsdm, @RequestParam String line, @RequestParam String date,
372 @RequestParam String date2,@RequestParam String xlName, @RequestParam String type){ 372 @RequestParam String date2,@RequestParam String xlName, @RequestParam String type){
373 - return scheduleRealInfoService.statisticsDailyTj(line, date,date2, xlName, type); 373 + return scheduleRealInfoService.statisticsDailyTj(gsdm,fgsdm,line, date,date2, xlName, type);
374 } 374 }
375 375
376 @RequestMapping(value="/MapById",method = RequestMethod.GET) 376 @RequestMapping(value="/MapById",method = RequestMethod.GET)
src/main/java/com/bsth/controller/report/ReportController.java
@@ -21,17 +21,17 @@ public class ReportController { @@ -21,17 +21,17 @@ public class ReportController {
21 @Autowired 21 @Autowired
22 ReportService service; 22 ReportService service;
23 23
24 - @RequestMapping(value="/queryListBczx" ,method = RequestMethod.POST) 24 + @RequestMapping(value="/queryListBczx" ,method = RequestMethod.GET)
25 public List<ScheduleRealInfo> queryListBczx(@RequestParam String clzbh,@RequestParam String line,@RequestParam String date){ 25 public List<ScheduleRealInfo> queryListBczx(@RequestParam String clzbh,@RequestParam String line,@RequestParam String date){
26 return service.queryListBczx(line,date,clzbh); 26 return service.queryListBczx(line,date,clzbh);
27 } 27 }
28 28
29 - @RequestMapping(value="/queryListZdxx" ,method = RequestMethod.POST) 29 + @RequestMapping(value="/queryListZdxx" ,method = RequestMethod.GET)
30 public List<ArrivalInfo> queryListZdxx(@RequestParam String clzbh,@RequestParam String line, 30 public List<ArrivalInfo> queryListZdxx(@RequestParam String clzbh,@RequestParam String line,
31 @RequestParam String date,@RequestParam String fcsj,@RequestParam String ddsj){ 31 @RequestParam String date,@RequestParam String fcsj,@RequestParam String ddsj){
32 return service.queryListZdxx(line,date,clzbh,fcsj,ddsj); 32 return service.queryListZdxx(line,date,clzbh,fcsj,ddsj);
33 } 33 }
34 - @RequestMapping(value="/queryListClzd" ,method = RequestMethod.POST) 34 + @RequestMapping(value="/queryListClzd" ,method = RequestMethod.GET)
35 public List<ArrivalInfo> queryListClzd(@RequestParam String zd,@RequestParam String line, 35 public List<ArrivalInfo> queryListClzd(@RequestParam String zd,@RequestParam String line,
36 @RequestParam String zdlx,@RequestParam String fcsj,@RequestParam String ddsj){ 36 @RequestParam String zdlx,@RequestParam String fcsj,@RequestParam String ddsj){
37 return service.queryListClzd(line,zd,zdlx,fcsj,ddsj); 37 return service.queryListClzd(line,zd,zdlx,fcsj,ddsj);
src/main/java/com/bsth/repository/realcontrol/ScheduleRealInfoRepository.java
@@ -151,8 +151,8 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI @@ -151,8 +151,8 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI
151 151
152 //按照时间段统计 152 //按照时间段统计
153 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) 153 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH)
154 - @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm like %?1% and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') between ?2 and ?3 and s.bcType not in ('in','out') order by s.xlBm")  
155 - List<ScheduleRealInfo> scheduleByDateAndLineTj(String line,String date,String date2); 154 + @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm like %?1% and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') between ?2 and ?3 and s.bcType not in ('in','out') and gsBm like %?4% and fgsBm like %?5% order by s.xlBm")
  155 + List<ScheduleRealInfo> scheduleByDateAndLineTj(String line,String date,String date2,String gsdm,String fgsdm);
156 156
157 //按照时间段统计 157 //按照时间段统计
158 @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') between ?2 and ?3 and s.bcType not in ('in','out') order by s.xlBm") 158 @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') between ?2 and ?3 and s.bcType not in ('in','out') order by s.xlBm")
src/main/java/com/bsth/service/oil/impl/DlbServiceImpl.java
@@ -327,7 +327,6 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS @@ -327,7 +327,6 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS
327 }else{ 327 }else{
328 t.setXlbm(""); 328 t.setXlbm("");
329 } 329 }
330 - t.setJcsx(1);  
331 boolean status=true; 330 boolean status=true;
332 for (int j = 0; j < ylListBe.size(); j++) { 331 for (int j = 0; j < ylListBe.size(); j++) {
333 Dlb b=ylListBe.get(j); 332 Dlb b=ylListBe.get(j);
src/main/java/com/bsth/service/realcontrol/ScheduleRealInfoService.java
@@ -112,7 +112,7 @@ public interface ScheduleRealInfoService extends BaseService&lt;ScheduleRealInfo, L @@ -112,7 +112,7 @@ public interface ScheduleRealInfoService extends BaseService&lt;ScheduleRealInfo, L
112 112
113 List<Map<String,Object>> statisticsDaily(String line, String date, String xlName, String type); 113 List<Map<String,Object>> statisticsDaily(String line, String date, String xlName, String type);
114 114
115 - List<Map<String,Object>> statisticsDailyTj(String line, String date,String date2, String xlName, String type); 115 + List<Map<String,Object>> statisticsDailyTj(String gsdm,String fgsdm,String line, String date,String date2, String xlName, String type);
116 116
117 //List<Object> scheduleDaily(String line,String date); 117 //List<Object> scheduleDaily(String line,String date);
118 118
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
@@ -1576,6 +1576,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -1576,6 +1576,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
1576 remarks += "(烂班)"; 1576 remarks += "(烂班)";
1577 s.setRemarks(remarks); 1577 s.setRemarks(remarks);
1578 } 1578 }
  1579 +
1579 listSchedule.add(s); 1580 listSchedule.add(s);
1580 //计算营运里程,空驶里程 1581 //计算营运里程,空驶里程
1581 if (!childTaskPlans.isEmpty()) { 1582 if (!childTaskPlans.isEmpty()) {
@@ -1600,657 +1601,110 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -1600,657 +1601,110 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
1600 t.setAdjustExps("子"); 1601 t.setAdjustExps("子");
1601 listSchedule.add(t); 1602 listSchedule.add(t);
1602 } 1603 }
1603 - /* String sqlPc = "select * from bsth_c_s_child_task where schedule=" + s.getId() + " order by start_date ";  
1604 - List<ScheduleRealInfo> lists = jdbcTemplate.query(sqlPc,  
1605 - new RowMapper<ScheduleRealInfo>() {  
1606 - @Override  
1607 - public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException {  
1608 - ScheduleRealInfo t = new ScheduleRealInfo();  
1609 - if (rs.getInt("destroy") == 0) {  
1610 - t.setFcsjActual(rs.getString("start_date"));  
1611 - t.setZdsjActual(rs.getString("end_date"));  
1612 - t.setJhlc(rs.getDouble("mileage"));  
1613 - } else {  
1614 - t.setFcsjActual("");  
1615 - t.setZdsjActual("");  
1616 - t.setJhlc(0.0);  
1617 - }  
1618 - t.setQdzName(rs.getString("start_station_name"));  
1619 - t.setZdzName(rs.getString("end_station_name"));  
1620 - t.setRemarks(rs.getString("remarks"));  
1621 - t.setAdjustExps("子");  
1622 - return t;  
1623 - }  
1624 - });  
1625 - for (int j = 0; j < lists.size(); j++) {  
1626 - ScheduleRealInfo t = lists.get(j);  
1627 - listSchedule.add(t);  
1628 - }*/  
1629 - }  
1630 - }  
1631 -  
1632 - return listSchedule;  
1633 - }  
1634 -  
1635 - @Override  
1636 - public Map<String, Object> removeChildTask(Long taskId) {  
1637 - Map<String, Object> rs = new HashMap<>();  
1638 - ChildTaskPlan chTask = cTaskPlanRepository.findOne(taskId);  
1639 -  
1640 - ScheduleRealInfo sch = dayOfSchedule.get(chTask.getSchedule().getId());  
1641 - try {  
1642 -  
1643 - sch.getcTasks().remove(chTask);  
1644 - scheduleRealInfoRepository.save(sch);  
1645 - rs.put("status", ResponseCode.SUCCESS);  
1646 - } catch (Exception e) {  
1647 - logger.error("", e);  
1648 - rs.put("status", ResponseCode.ERROR);  
1649 - }  
1650 - return rs;  
1651 - }  
1652 - @Override  
1653 - public List<Map<String, Object>> statisticsDaily(String line, String date,  
1654 - String xlName, String type) {  
1655 - List<Map<String, Object>> lMap= new ArrayList<Map<String, Object>>();  
1656 - List<ScheduleRealInfo> lists = scheduleRealInfoRepository.scheduleByDateAndLine2(line, date);  
1657 - Map<String, Object> map = new HashMap<String, Object>();  
1658 - map.put("xlName", xlName);  
1659 - map.put("jhlc", culateService.culateJhgl(lists));  
1660 - map.put("sjgl", Arith.add(culateService.culateSjgl(lists),culateService.culateLjgl(lists)));  
1661 - map.put("ssgl", culateService.culateLbgl(lists));  
1662 - map.put("ssgl_lz", culateService.culateCJLC(lists, "路阻"));  
1663 - map.put("ssgl_dm", culateService.culateCJLC(lists, "吊慢"));  
1664 - map.put("ssgl_gz", culateService.culateCJLC(lists, "故障"));  
1665 - map.put("ssgl_jf", culateService.culateCJLC(lists, "纠纷"));  
1666 - map.put("ssgl_zs", culateService.culateCJLC(lists, "肇事"));  
1667 - map.put("ssgl_qr", culateService.culateCJLC(lists, "缺人"));  
1668 - map.put("ssgl_qc", culateService.culateCJLC(lists, "缺车"));  
1669 - map.put("ssgl_kx", culateService.culateCJLC(lists, "客稀"));  
1670 - map.put("ssgl_qh", culateService.culateCJLC(lists, "气候"));  
1671 - map.put("ssgl_yw", culateService.culateCJLC(lists, "援外"));  
1672 - map.put("ssgl_other", culateService.culateCJLC(lists, "其他"));  
1673 - map.put("ssbc", culateService.culateLbbc(lists));  
1674 - map.put("ljgl", culateService.culateLjgl(lists));  
1675 - map.put("jhbc", culateService.culateJhbc(lists,""));  
1676 - map.put("jhbc_m", culateService.culateJhbc(lists, "zgf"));  
1677 - map.put("jhbc_a", culateService.culateJhbc(lists, "wgf"));  
1678 - map.put("sjbc", culateService.culateSjbc(lists,""));  
1679 - map.put("sjbc_m", culateService.culateSjbc(lists,"zgf"));  
1680 - map.put("sjbc_a", culateService.culateSjbc(lists,"wgf"));  
1681 - map.put("ljbc", culateService.culateLjbc(lists,""));  
1682 - map.put("ljbc_m", culateService.culateLjbc(lists,"zgf"));  
1683 - map.put("ljbc_a", culateService.culateLjbc(lists,"wgf"));  
1684 - map.put("fzbc", culateService.culateFzbc(lists, ""));  
1685 - map.put("fzbc_m", culateService.culateFzbc(lists, "zgf"));  
1686 - map.put("fzbc_a", culateService.culateFzbc(lists, "wgf"));  
1687 - map.put("dtbc", 0);  
1688 - map.put("dtbc_m", 0);  
1689 - map.put("dtbc_a", 0);  
1690 - map.put("djg", 0);  
1691 - map.put("djg_m", 0);  
1692 - map.put("djg_a", 0);  
1693 - map.put("djg_time", 0);  
1694 - lMap.add(map);  
1695 - return lMap;  
1696 - }  
1697 -  
1698 - /* @Override  
1699 - public List<Map<String, Object>> statisticsDaily(String line, String date,  
1700 - String xlName, String type) {  
1701 - List<ScheduleRealInfo> list = new ArrayList<ScheduleRealInfo>();  
1702 - if (date.length() == 10)  
1703 - list = scheduleRealInfoRepository.scheduleByDateAndLine2(line, date);  
1704 - else if (date.length() == 7)  
1705 - list = scheduleRealInfoRepository.scheduleByDateAndLine3(line, date);  
1706 -  
1707 -  
1708 - List<Map<String, Object>> lMap = new ArrayList<Map<String, Object>>();  
1709 - DecimalFormat format = new DecimalFormat("0.00");  
1710 - double jhlc = 0, tempJhlc = 0, childMileage = 0,jhlcOrig=0;  
1711 - float sjgl = 0f, ssgl = 0f, ssgl_lz = 0f, ssgl_dm = 0f, ssgl_gz = 0f, ssgl_jf = 0f, ssgl_zs = 0f, ssgl_qr = 0f, ssgl_qc = 0f, ssgl_kx = 0f, ssgl_qh = 0f, ssgl_yw = 0f, ssgl_other = 0f, ljgl = 0f;  
1712 - //班次  
1713 - int ssbc = 0, ssbc_lz = 0, ssbc_dm = 0, ssbc_gz = 0, ssbc_jf = 0, ssbc_zs = 0, ssbc_qr = 0, ssbc_qc = 0, ssbc_kx = 0, ssbc_qh = 0, ssbc_yw = 0, ssbc_other = 0;  
1714 - int sj_0 = 6 * 60 + 31, sj_1 = 8 * 60 + 30, sj_2 = 16 * 60 + 1, sj_3 = 18 * 60;  
1715 - int jhbc = 0, jhbc_m = 0, jhbc_a = 0;  
1716 - int sjbc = 0, sjbc_m = 0, sjbc_a = 0;  
1717 - int ljbc = 0, ljbc_m = 0, ljbc_a = 0;  
1718 - int fzbc = 0, fzbc_m = 0, fzbc_a = 0;  
1719 - int dtbc = 0, dtbc_m = 0, dtbc_a = 0;  
1720 - int djg = 0, djg_m = 0, djg_a = 0, djg_time = 0;  
1721 -  
1722 - double jhlcZ = 0, tempJhlcZ = 0, childMileageZ = 0;  
1723 - float sjglZ = 0f, ssglZ = 0f, ssgl_lzZ = 0f, ssgl_dmZ = 0f,  
1724 - ssgl_gzZ = 0f, ssgl_jfZ = 0f, ssgl_zsZ = 0f, ssgl_qrZ = 0f, ssgl_qcZ = 0f,  
1725 - ssgl_kxZ = 0f, ssgl_qhZ = 0f, ssgl_ywZ = 0f, ssgl_otherZ = 0f, ljglZ = 0f;  
1726 - //班次  
1727 - int ssbcZ = 0, ssbc_lzZ = 0, ssbc_dmZ = 0, ssbc_gzZ = 0, ssbc_jfZ = 0, ssbc_zsZ = 0, ssbc_qrZ = 0, ssbc_qcZ = 0, ssbc_kxZ = 0, ssbc_qhZ = 0, ssbc_ywZ = 0, ssbc_otherZ = 0;  
1728 - int jhbcZ = 0, jhbc_mZ = 0, jhbc_aZ = 0;  
1729 - int sjbcZ = 0, sjbc_mZ = 0, sjbc_aZ = 0;  
1730 - int ljbcZ = 0, ljbc_mZ = 0, ljbc_aZ = 0;  
1731 - int fzbcZ = 0, fzbc_mZ = 0, fzbc_aZ = 0;  
1732 - int dtbcZ = 0, dtbc_mZ = 0, dtbc_aZ = 0;  
1733 - int djgZ = 0, djg_mZ = 0, djg_aZ = 0, djg_timeZ = 0;  
1734 - Map<String, Object> map = null;  
1735 -  
1736 - double xgssgl=0,xgljgl=0,lj=0,cj=0;  
1737 - for (int i = 0; i < list.size(); i++) {  
1738 - ScheduleRealInfo scheduleRealInfo = list.get(i);  
1739 -  
1740 - if (scheduleRealInfo != null) {  
1741 - Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks();  
1742 - //计算实际里程,少驶里程,计划里程=实际里程+少驶里程  
1743 - if(!scheduleRealInfo.isSflj()){  
1744 - jhlc += tempJhlc;  
1745 - jhlcZ += tempJhlc;  
1746 - }  
1747 - if (childTaskPlans.isEmpty()) {  
1748 - tempJhlc = scheduleRealInfo.getJhlc() == null ? 0 : scheduleRealInfo.getJhlc();  
1749 - jhlcOrig = scheduleRealInfo.getJhlcOrig() == null ? 0 : scheduleRealInfo.getJhlcOrig();  
1750 -  
1751 - if(jhlcOrig-tempJhlc>0){  
1752 - xgssgl +=jhlcOrig-tempJhlc;  
1753 - cj += jhlcOrig-tempJhlc;  
1754 - }else{  
1755 - xgljgl +=tempJhlc-jhlcOrig;  
1756 - lj +=tempJhlc-jhlcOrig;  
1757 - }  
1758 - //临加公里  
1759 - if (scheduleRealInfo.isSflj()) {  
1760 - ljgl += tempJhlc;  
1761 - ljglZ += tempJhlc;  
1762 - }  
1763 -  
1764 - if (scheduleRealInfo.getStatus() == -1) {  
1765 - ssgl += tempJhlc;  
1766 - ssglZ += tempJhlc;  
1767 - ssbc++;  
1768 - ssbcZ++;  
1769 - if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("路阻") != -1) {  
1770 - ssgl_lz += tempJhlc;  
1771 - ssgl_lzZ += tempJhlc;  
1772 - ssbc_lz++;  
1773 - ssbc_lzZ++;  
1774 - } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("吊慢") != -1) {  
1775 - ssgl_dm += tempJhlc;  
1776 - ssgl_dmZ += tempJhlc;  
1777 - ssbc_dm++;  
1778 - ssbc_dmZ++;  
1779 - } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("故障") != -1) {  
1780 - ssgl_gz += tempJhlc;  
1781 - ssgl_gzZ += tempJhlc;  
1782 - ssbc_gz++;  
1783 - ssbc_gzZ++;  
1784 - } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("纠纷") != -1) {  
1785 - ssgl_jf += tempJhlc;  
1786 - ssgl_jfZ += tempJhlc;  
1787 - ssbc_jf++;  
1788 - ssbc_jfZ++;  
1789 - } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("肇事") != -1) {  
1790 - ssgl_zs += tempJhlc;  
1791 - ssgl_zsZ += tempJhlc;  
1792 - ssbc_zs++;  
1793 - ssbc_zsZ++;  
1794 - } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("缺人") != -1) {  
1795 - ssgl_qr += tempJhlc;  
1796 - ssgl_qrZ += tempJhlc;  
1797 - ssbc_qr++;  
1798 - ssbc_qrZ++;  
1799 - } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("缺车") != -1) {  
1800 - ssgl_qc += tempJhlc;  
1801 - ssgl_qcZ += tempJhlc;  
1802 - ssbc_qc++;  
1803 - ssbc_qcZ++;  
1804 - } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("客稀") != -1) {  
1805 - ssgl_kx += tempJhlc;  
1806 - ssgl_kxZ += tempJhlc;  
1807 - ssbc_kx++;  
1808 - ssbc_kxZ++;  
1809 - } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("气候") != -1) {  
1810 - ssgl_qh += tempJhlc;  
1811 - ssgl_qhZ += tempJhlc;  
1812 - ssbc_qh++;  
1813 - ssbc_qhZ++;  
1814 - } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("援外") != -1) {  
1815 - ssgl_yw += tempJhlc;  
1816 - ssgl_ywZ += tempJhlc;  
1817 - ssbc_yw++;  
1818 - ssbc_ywZ++;  
1819 - } else {  
1820 - ssgl_other += tempJhlc;  
1821 - ssgl_otherZ += tempJhlc;  
1822 - ssbc_other++;  
1823 - ssbc_otherZ++;  
1824 - }  
1825 - } else {  
1826 - sjgl += tempJhlc;  
1827 - sjglZ += tempJhlc;  
1828 - }  
1829 - } else {  
1830 - Iterator<ChildTaskPlan> it = childTaskPlans.iterator();  
1831 - while (it.hasNext()) {  
1832 - ChildTaskPlan childTaskPlan = it.next();  
1833 - childMileage = childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage();  
1834 - if (childTaskPlan.isDestroy()) {  
1835 - ssgl += childMileage;  
1836 - ssglZ += childMileage;  
1837 - ssbc++;  
1838 - ssbcZ++;  
1839 - if (childTaskPlan.getDestroyReason().equals("路阻")) {  
1840 - ssgl_lz += childTaskPlan.getMileage();  
1841 - ssgl_lzZ += childTaskPlan.getMileage();  
1842 - ssbc_lzZ++;  
1843 - ssbc_lzZ++;  
1844 - } else if (childTaskPlan.getDestroyReason().equals("吊慢")) {  
1845 - ssgl_dm += childTaskPlan.getMileage();  
1846 - ssgl_dmZ += childTaskPlan.getMileage();  
1847 - ssbc_dm++;  
1848 - ssbc_dmZ++;  
1849 - } else if (childTaskPlan.getDestroyReason().equals("故障")) {  
1850 - ssgl_gz += childTaskPlan.getMileage();  
1851 - ssgl_gzZ += childTaskPlan.getMileage();  
1852 - ssbc_gz++;  
1853 - ssbc_gzZ++;  
1854 - } else if (childTaskPlan.getDestroyReason().equals("纠纷")) {  
1855 - ssgl_jf += childTaskPlan.getMileage();  
1856 - ssgl_jfZ += childTaskPlan.getMileage();  
1857 - ssbc_jf++;  
1858 - ssbc_jfZ++;  
1859 - } else if (childTaskPlan.getDestroyReason().equals("肇事")) {  
1860 - ssgl_zs += childTaskPlan.getMileage();  
1861 - ssgl_zsZ += childTaskPlan.getMileage();  
1862 - ssbc_zs++;  
1863 - ssbc_zsZ++;  
1864 - } else if (childTaskPlan.getDestroyReason().equals("缺人")) {  
1865 - ssgl_qr += childTaskPlan.getMileage();  
1866 - ssgl_qrZ += childTaskPlan.getMileage();  
1867 - ssbc_qr++;  
1868 - ssbc_qrZ++;  
1869 - } else if (childTaskPlan.getDestroyReason().equals("缺车")) {  
1870 - ssgl_qc += childTaskPlan.getMileage();  
1871 - ssgl_qcZ += childTaskPlan.getMileage();  
1872 - ssbc_qc++;  
1873 - ssbc_qcZ++;  
1874 - } else if (childTaskPlan.getDestroyReason().equals("客稀")) {  
1875 - ssgl_kx += childTaskPlan.getMileage();  
1876 - ssgl_kxZ += childTaskPlan.getMileage();  
1877 - ssbc_kx++;  
1878 - ssbc_kxZ++;  
1879 - } else if (childTaskPlan.getDestroyReason().equals("气候")) {  
1880 - ssgl_qh += childTaskPlan.getMileage();  
1881 - ssgl_qhZ += childTaskPlan.getMileage();  
1882 - ssbc_qh++;  
1883 - ssbc_qhZ++;  
1884 - } else if (childTaskPlan.getDestroyReason().equals("援外")) {  
1885 - ssgl_yw += childTaskPlan.getMileage();  
1886 - ssgl_ywZ += childTaskPlan.getMileage();  
1887 - ssbc_yw++;  
1888 - ssbc_ywZ++;  
1889 - } else {  
1890 - ssgl_other += childTaskPlan.getMileage();  
1891 - ssgl_otherZ += childTaskPlan.getMileage();  
1892 - ssbc_other++;  
1893 - ssbc_otherZ++;  
1894 - }  
1895 - } else {  
1896 - if (scheduleRealInfo.isSflj()) {  
1897 - ljgl += tempJhlc;  
1898 - ljglZ += tempJhlc;  
1899 - } else{  
1900 - sjgl += childMileage;  
1901 - sjglZ += childMileage;  
1902 - }  
1903 - }  
1904 - }  
1905 - }  
1906 -  
1907 - //班次  
1908 - jhbc++;  
1909 - jhbcZ++;  
1910 - String[] fcsj = scheduleRealInfo.getFcsj().split(":");  
1911 - String[] fcsjActual = (scheduleRealInfo.getFcsjActual() == null ? "0:00" : scheduleRealInfo.getFcsjActual()).split(":");  
1912 - if ((Integer.parseInt(fcsj[0]) * 60 + Integer.parseInt(fcsj[1])) > sj_0 && (Integer.parseInt(fcsj[0]) * 60 + Integer.parseInt(fcsj[1])) < sj_1) {  
1913 - jhbc_m++;  
1914 - jhbc_mZ++;  
1915 - } else if ((Integer.parseInt(fcsj[0]) * 60 + Integer.parseInt(fcsj[1])) > sj_2 && (Integer.parseInt(fcsj[0]) * 60 + Integer.parseInt(fcsj[1])) < sj_3) {  
1916 - jhbc_a++;  
1917 - jhbc_aZ++;  
1918 - }  
1919 - if (scheduleRealInfo.getStatus() != -1) {  
1920 - sjbc++;  
1921 - sjbcZ++;  
1922 - if ((Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) > sj_0 && (Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) < sj_1) {  
1923 - sjbc_m++;  
1924 - sjbc_mZ++;  
1925 - } else if ((Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) > sj_2 && (Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) < sj_3) {  
1926 - sjbc_a++;  
1927 - sjbc_aZ++;  
1928 - }  
1929 - }  
1930 - if (scheduleRealInfo.isSflj()) {  
1931 - ljbc++;  
1932 - ljbcZ++;  
1933 - if ((Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) > sj_0 && (Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) < sj_1) {  
1934 - ljbc_m++;  
1935 - ljbc_mZ++;  
1936 - } else if ((Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) > sj_2 && (Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) < sj_3) {  
1937 - ljbc_a++;  
1938 - ljbc_aZ++;  
1939 - }  
1940 - }  
1941 - if (scheduleRealInfo.getBcType().equals("venting")) {  
1942 - fzbc++;  
1943 - fzbcZ++;  
1944 - if ((Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) > sj_0 && (Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) < sj_1) {  
1945 - fzbc_m++;  
1946 - fzbc_mZ++;  
1947 - } else if ((Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) > sj_2 && (Integer.parseInt(fcsjActual[0]) * 60 + Integer.parseInt(fcsjActual[1])) < sj_3) {  
1948 - fzbc_a++;  
1949 - fzbc_aZ++;  
1950 - }  
1951 - }  
1952 -  
1953 - if (i < list.size() - 1) {  
1954 - if (!scheduleRealInfo.getXlBm().equals(list.get(i + 1).getXlBm())) {  
1955 - map = new HashMap<String, Object>();  
1956 - map.put("xlName", scheduleRealInfo.getXlName());  
1957 - map.put("jhlc", format.format(jhlc));  
1958 - map.put("sjgl", format.format(sjgl));  
1959 - map.put("ssgl", format.format(ssgl+cj));  
1960 - map.put("ssgl_lz", ssgl_lz == 0 ? 0 : format.format(ssgl_lz));  
1961 - map.put("ssgl_dm", ssgl_dm == 0 ? 0 : format.format(ssgl_dm));  
1962 - map.put("ssgl_gz", ssgl_gz == 0 ? 0 : format.format(ssgl_gz));  
1963 - map.put("ssgl_jf", ssgl_jf == 0 ? 0 : format.format(ssgl_jf));  
1964 - map.put("ssgl_zs", ssgl_zs == 0 ? 0 : format.format(ssgl_zs));  
1965 - map.put("ssgl_qr", ssgl_qr == 0 ? 0 : format.format(ssgl_qr));  
1966 - map.put("ssgl_qc", ssgl_qc == 0 ? 0 : format.format(ssgl_qc));  
1967 - map.put("ssgl_kx", ssgl_kx == 0 ? 0 : format.format(ssgl_kx));  
1968 - map.put("ssgl_qh", ssgl_qh == 0 ? 0 : format.format(ssgl_qh));  
1969 - map.put("ssgl_yw", ssgl_yw == 0 ? 0 : format.format(ssgl_yw));  
1970 - map.put("ssgl_other", ssgl_other == 0 ? 0 : format.format(ssgl_other));  
1971 - map.put("ssbc", ssbc);  
1972 - map.put("ssbc_lz", ssbc_lz);  
1973 - map.put("ssbc_dm", ssbc_dm);  
1974 - map.put("ssbc_gz", ssbc_gz);  
1975 - map.put("ssbc_jf", ssbc_jf);  
1976 - map.put("ssbc_zs", ssbc_zs);  
1977 - map.put("ssbc_qr", ssbc_qr);  
1978 - map.put("ssbc_qc", ssbc_qc);  
1979 - map.put("ssbc_kx", ssbc_kx);  
1980 - map.put("ssbc_qh", ssbc_qh);  
1981 - map.put("ssbc_yw", ssbc_yw);  
1982 - map.put("ssbc_other", ssbc_other);  
1983 - map.put("ljgl", format.format(ljgl+lj));  
1984 - map.put("jhbc", jhbc);  
1985 - map.put("jhbc_m", jhbc_m);  
1986 - map.put("jhbc_a", jhbc_a);  
1987 - map.put("sjbc", sjbc);  
1988 - map.put("sjbc_m", sjbc_m);  
1989 - map.put("sjbc_a", sjbc_a);  
1990 - map.put("ljbc", ljbc);  
1991 - map.put("ljbc_m", ljbc_m);  
1992 - map.put("ljbc_a", ljbc_a);  
1993 - map.put("fzbc", fzbc);  
1994 - map.put("fzbc_m", fzbc_m);  
1995 - map.put("fzbc_a", fzbc_a);  
1996 - map.put("dtbc", dtbc);  
1997 - map.put("dtbc_m", dtbc_m);  
1998 - map.put("dtbc_a", dtbc_a);  
1999 - map.put("djg", djg);  
2000 - map.put("djg_m", djg_m);  
2001 - map.put("djg_a", djg_a);  
2002 - map.put("djg_time", djg_time);  
2003 - lMap.add(map);  
2004 - jhlc = 0;  
2005 - tempJhlc = 0;  
2006 - childMileage = 0;  
2007 - sjgl = 0f;  
2008 - ssgl = 0f;  
2009 - ssgl_lz = 0f;  
2010 - ssgl_dm = 0f;  
2011 - ssgl_gz = 0f;  
2012 - ssgl_jf = 0f;  
2013 - ssgl_zs = 0f;  
2014 - ssgl_qr = 0f;  
2015 - ssgl_qc = 0f;  
2016 - ssgl_kx = 0f;  
2017 - ssgl_qh = 0f;  
2018 - ssgl_yw = 0f;  
2019 - ssgl_other = 0f;  
2020 - ljgl = 0f;  
2021 - //班次  
2022 - jhbc = 0;  
2023 - jhbc_m = 0;  
2024 - jhbc_a = 0;  
2025 - sjbc = 0;  
2026 - sjbc_m = 0;  
2027 - sjbc_a = 0;  
2028 - ljbc = 0;  
2029 - ljbc_m = 0;  
2030 - ljbc_a = 0;  
2031 - fzbc = 0;  
2032 - fzbc_m = 0;  
2033 - fzbc_a = 0;  
2034 - dtbc = 0;  
2035 - dtbc_m = 0;  
2036 - dtbc_a = 0;  
2037 - djg = 0;  
2038 - djg_m = 0;  
2039 - djg_a = 0;  
2040 - djg_time = 0;  
2041 - lj=0;  
2042 - cj=0;  
2043 - }  
2044 - } else {  
2045 - map = new HashMap<String, Object>();  
2046 - map.put("xlName", scheduleRealInfo.getXlName());  
2047 - map.put("jhlc", format.format(jhlc));  
2048 - map.put("sjgl", format.format(sjgl));  
2049 - map.put("ssgl", format.format(ssgl+cj));  
2050 - map.put("ssgl_lz", ssgl_lz == 0 ? 0 : format.format(ssgl_lz));  
2051 - map.put("ssgl_dm", ssgl_dm == 0 ? 0 : format.format(ssgl_dm));  
2052 - map.put("ssgl_gz", ssgl_gz == 0 ? 0 : format.format(ssgl_gz));  
2053 - map.put("ssgl_jf", ssgl_jf == 0 ? 0 : format.format(ssgl_jf));  
2054 - map.put("ssgl_zs", ssgl_zs == 0 ? 0 : format.format(ssgl_zs));  
2055 - map.put("ssgl_qr", ssgl_qr == 0 ? 0 : format.format(ssgl_qr));  
2056 - map.put("ssgl_qc", ssgl_qc == 0 ? 0 : format.format(ssgl_qc));  
2057 - map.put("ssgl_kx", ssgl_kx == 0 ? 0 : format.format(ssgl_kx));  
2058 - map.put("ssgl_qh", ssgl_qh == 0 ? 0 : format.format(ssgl_qh));  
2059 - map.put("ssgl_yw", ssgl_yw == 0 ? 0 : format.format(ssgl_yw));  
2060 - map.put("ssgl_other", ssgl_other == 0 ? 0 : format.format(ssgl_other));  
2061 - map.put("ssbc", ssbc);  
2062 - map.put("ssbc_lz", ssbc_lz);  
2063 - map.put("ssbc_dm", ssbc_dm);  
2064 - map.put("ssbc_gz", ssbc_gz);  
2065 - map.put("ssbc_jf", ssbc_jf);  
2066 - map.put("ssbc_zs", ssbc_zs);  
2067 - map.put("ssbc_qr", ssbc_qr);  
2068 - map.put("ssbc_qc", ssbc_qc);  
2069 - map.put("ssbc_kx", ssbc_kx);  
2070 - map.put("ssbc_qh", ssbc_qh);  
2071 - map.put("ssbc_yw", ssbc_yw);  
2072 - map.put("ssbc_other", ssbc_other);  
2073 - map.put("ljgl", format.format(ljgl+lj));  
2074 - map.put("jhbc", jhbc);  
2075 - map.put("jhbc_m", jhbc_m);  
2076 - map.put("jhbc_a", jhbc_a);  
2077 - map.put("sjbc", sjbc);  
2078 - map.put("sjbc_m", sjbc_m);  
2079 - map.put("sjbc_a", sjbc_a);  
2080 - map.put("ljbc", ljbc);  
2081 - map.put("ljbc_m", ljbc_m);  
2082 - map.put("ljbc_a", ljbc_a);  
2083 - map.put("fzbc", fzbc);  
2084 - map.put("fzbc_m", fzbc_m);  
2085 - map.put("fzbc_a", fzbc_a);  
2086 - map.put("dtbc", dtbc);  
2087 - map.put("dtbc_m", dtbc_m);  
2088 - map.put("dtbc_a", dtbc_a);  
2089 - map.put("djg", djg);  
2090 - map.put("djg_m", djg_m);  
2091 - map.put("djg_a", djg_a);  
2092 - map.put("djg_time", djg_time);  
2093 - lMap.add(map);  
2094 - jhlc = 0;  
2095 - tempJhlc = 0;  
2096 - childMileage = 0;  
2097 - sjgl = 0f;  
2098 - ssgl = 0f;  
2099 - ssgl_lz = 0f;  
2100 - ssgl_dm = 0f;  
2101 - ssgl_gz = 0f;  
2102 - ssgl_jf = 0f;  
2103 - ssgl_zs = 0f;  
2104 - ssgl_qr = 0f;  
2105 - ssgl_qc = 0f;  
2106 - ssgl_kx = 0f;  
2107 - ssgl_qh = 0f;  
2108 - ssgl_yw = 0f;  
2109 - ssgl_other = 0f;  
2110 - ljgl = 0f;  
2111 - //班次  
2112 - jhbc = 0;  
2113 - jhbc_m = 0;  
2114 - jhbc_a = 0;  
2115 - sjbc = 0;  
2116 - sjbc_m = 0;  
2117 - sjbc_a = 0;  
2118 - ljbc = 0;  
2119 - ljbc_m = 0;  
2120 - ljbc_a = 0;  
2121 - fzbc = 0;  
2122 - fzbc_m = 0;  
2123 - fzbc_a = 0;  
2124 - dtbc = 0;  
2125 - dtbc_m = 0;  
2126 - dtbc_a = 0;  
2127 - djg = 0;  
2128 - djg_m = 0;  
2129 - djg_a = 0;  
2130 - djg_time = 0;  
2131 - lj=0;  
2132 - cj=0;  
2133 - } 1604 + /* String sqlPc = "select * from bsth_c_s_child_task where schedule=" + s.getId() + " order by start_date ";
  1605 + List<ScheduleRealInfo> lists = jdbcTemplate.query(sqlPc,
  1606 + new RowMapper<ScheduleRealInfo>() {
  1607 + @Override
  1608 + public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException {
  1609 + ScheduleRealInfo t = new ScheduleRealInfo();
  1610 + if (rs.getInt("destroy") == 0) {
  1611 + t.setFcsjActual(rs.getString("start_date"));
  1612 + t.setZdsjActual(rs.getString("end_date"));
  1613 + t.setJhlc(rs.getDouble("mileage"));
  1614 + } else {
  1615 + t.setFcsjActual("");
  1616 + t.setZdsjActual("");
  1617 + t.setJhlc(0.0);
  1618 + }
  1619 + t.setQdzName(rs.getString("start_station_name"));
  1620 + t.setZdzName(rs.getString("end_station_name"));
  1621 + t.setRemarks(rs.getString("remarks"));
  1622 + t.setAdjustExps("子");
  1623 + return t;
  1624 + }
  1625 + });
  1626 + for (int j = 0; j < lists.size(); j++) {
  1627 + ScheduleRealInfo t = lists.get(j);
  1628 + listSchedule.add(t);
  1629 + }*/
2134 } 1630 }
2135 } 1631 }
2136 - map = new HashMap<String, Object>();  
2137 - map.put("xlName", "合计");  
2138 - map.put("jhlc", format.format(jhlcZ));  
2139 - map.put("sjgl", format.format(sjglZ));  
2140 - map.put("ssgl", format.format(ssglZ+xgssgl));  
2141 - map.put("ssgl_lz", ssgl_lzZ == 0 ? 0 : format.format(ssgl_lzZ));  
2142 - map.put("ssgl_dm", ssgl_dmZ == 0 ? 0 : format.format(ssgl_dmZ));  
2143 - map.put("ssgl_gz", ssgl_gzZ == 0 ? 0 : format.format(ssgl_gzZ));  
2144 - map.put("ssgl_jf", ssgl_jfZ == 0 ? 0 : format.format(ssgl_jfZ));  
2145 - map.put("ssgl_zs", ssgl_zsZ == 0 ? 0 : format.format(ssgl_zsZ));  
2146 - map.put("ssgl_qr", ssgl_qrZ == 0 ? 0 : format.format(ssgl_qrZ));  
2147 - map.put("ssgl_qc", ssgl_qcZ == 0 ? 0 : format.format(ssgl_qcZ));  
2148 - map.put("ssgl_kx", ssgl_kxZ == 0 ? 0 : format.format(ssgl_kxZ));  
2149 - map.put("ssgl_qh", ssgl_qhZ == 0 ? 0 : format.format(ssgl_qhZ));  
2150 - map.put("ssgl_yw", ssgl_ywZ == 0 ? 0 : format.format(ssgl_ywZ));  
2151 - map.put("ssgl_other", ssgl_otherZ == 0 ? 0 : format.format(ssgl_otherZ));  
2152 - map.put("ssbc", ssbcZ);  
2153 - map.put("ssbc_lz", ssbc_lzZ);  
2154 - map.put("ssbc_dm", ssbc_lzZ);  
2155 - map.put("ssbc_gz", ssbc_gzZ);  
2156 - map.put("ssbc_jf", ssbc_jfZ);  
2157 - map.put("ssbc_zs", ssbc_zsZ);  
2158 - map.put("ssbc_qr", ssbc_qrZ);  
2159 - map.put("ssbc_qc", ssbc_qcZ);  
2160 - map.put("ssbc_kx", ssbc_qcZ);  
2161 - map.put("ssbc_qh", ssbc_qhZ);  
2162 - map.put("ssbc_yw", ssbc_ywZ);  
2163 - map.put("ssbc_other", ssbc_otherZ);  
2164 - map.put("ljgl", format.format(ljglZ+xgljgl));  
2165 - map.put("jhbc", jhbcZ);  
2166 - map.put("jhbc_m", jhbc_mZ);  
2167 - map.put("jhbc_a", jhbc_aZ);  
2168 - map.put("sjbc", sjbcZ);  
2169 - map.put("sjbc_m", sjbc_mZ);  
2170 - map.put("sjbc_a", sjbc_aZ);  
2171 - map.put("ljbc", ljbcZ);  
2172 - map.put("ljbc_m", ljbc_mZ);  
2173 - map.put("ljbc_a", ljbc_aZ);  
2174 - map.put("fzbc", fzbcZ);  
2175 - map.put("fzbc_m", fzbc_mZ);  
2176 - map.put("fzbc_a", fzbc_aZ);  
2177 - map.put("dtbc", dtbcZ);  
2178 - map.put("dtbc_m", dtbc_mZ);  
2179 - map.put("dtbc_a", dtbc_aZ);  
2180 - map.put("djg", djgZ);  
2181 - map.put("djg_m", djg_mZ);  
2182 - map.put("djg_a", djg_aZ);  
2183 - map.put("djg_time", djg_timeZ);  
2184 - lMap.add(map);  
2185 - for (int i = 0; i < lMap.size(); i++) {  
2186 - Map<String, Object> m=lMap.get(i);  
2187 -// m.get(""))  
2188 - jhlc += Double.parseDouble(m.get("jhlc").toString());  
2189 - sjgl += Double.parseDouble(m.get("sjgl").toString());  
2190 - ssgl += Double.parseDouble( m.get("ssgl").toString());  
2191 - ssgl_lz += Double.parseDouble( m.get("ssgl_lz").toString());  
2192 - ssgl_dm += Double.parseDouble(m.get("ssgl_dm").toString());  
2193 - ssgl_gz += Double.parseDouble( m.get("ssgl_gz").toString());  
2194 - ssgl_jf += m.get("ssgl_jf", ssgl_jf == 0 ? 0 : format.format(ssgl_jf));  
2195 - m.get("ssgl_zs", ssgl_zs == 0 ? 0 : format.format(ssgl_zs));  
2196 - m.get("ssgl_qr", ssgl_qr == 0 ? 0 : format.format(ssgl_qr));  
2197 - m.get("ssgl_qc", ssgl_qc == 0 ? 0 : format.format(ssgl_qc));  
2198 - m.get("ssgl_kx", ssgl_kx == 0 ? 0 : format.format(ssgl_kx));  
2199 - m.get("ssgl_qh", ssgl_qh == 0 ? 0 : format.format(ssgl_qh));  
2200 - m.get("ssgl_yw", ssgl_yw == 0 ? 0 : format.format(ssgl_yw));  
2201 - m.get("ssgl_other", ssgl_other == 0 ? 0 : format.format(ssgl_other));  
2202 - m.get("ljgl", ljgl == 0 ? 0 : format.format(ljgl));  
2203 - m.get("jhbc", jhbc);  
2204 - m.get("jhbc_m", jhbc_m);  
2205 - m.get("jhbc_a", jhbc_a);  
2206 - m.get("sjbc", sjbc);  
2207 - m.get("sjbc_m", sjbc_m);  
2208 - m.get("sjbc_a", sjbc_a);  
2209 - m.get("ljbc", ljbc);  
2210 - m.get("ljbc_m", ljbc_m);  
2211 - m.get("ljbc_a", ljbc_a);  
2212 - m.get("fzbc", fzbc);  
2213 - m.get("fzbc_m", fzbc_m);  
2214 - m.get("fzbc_a", fzbc_a);  
2215 - m.get("dtbc", dtbc);  
2216 - m.get("dtbc_m", dtbc_m);  
2217 - m.get("dtbc_a", dtbc_a);  
2218 - m.get("djg", djg);  
2219 - m.get("djg_m", djg_m);  
2220 - m.get("djg_a", djg_a);  
2221 - m.get("djg_time", djg_time);  
2222 - }  
2223 1632
2224 - if (type != null && type.length() != 0 && type.equals("export")) {  
2225 - SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"),  
2226 - sdfSimple = new SimpleDateFormat("yyyyMMdd");  
2227 - List<Iterator<?>> listI = new ArrayList<Iterator<?>>();  
2228 - Map<String, Object> m = new HashMap<String, Object>();  
2229 - ReportUtils ee = new ReportUtils();  
2230 - try {  
2231 - listI.add(lMap.iterator());  
2232 - String path = this.getClass().getResource("/").getPath() + "static/pages/forms/";  
2233 - ee.excelReplace(listI, new Object[]{m}, path + "mould/statisticsDaily_.xls",  
2234 - path + "export/统计日报" + sdfSimple.format(sdfMonth.parse(date)) + ".xls");  
2235 - } catch (Exception e) {  
2236 - // TODO: handle exception  
2237 - e.printStackTrace();  
2238 - }  
2239 - } 1633 + return listSchedule;
  1634 + }
2240 1635
2241 - return lMap;  
2242 - }*/  
2243 -  
2244 @Override 1636 @Override
2245 - public List<Map<String, Object>> statisticsDailyTj(String line, String date,String date2, 1637 + public Map<String, Object> removeChildTask(Long taskId) {
  1638 + Map<String, Object> rs = new HashMap<>();
  1639 + ChildTaskPlan chTask = cTaskPlanRepository.findOne(taskId);
  1640 +
  1641 + ScheduleRealInfo sch = dayOfSchedule.get(chTask.getSchedule().getId());
  1642 + try {
  1643 +
  1644 + sch.getcTasks().remove(chTask);
  1645 + scheduleRealInfoRepository.save(sch);
  1646 + rs.put("status", ResponseCode.SUCCESS);
  1647 + } catch (Exception e) {
  1648 + logger.error("", e);
  1649 + rs.put("status", ResponseCode.ERROR);
  1650 + }
  1651 + return rs;
  1652 + }
  1653 + @Override
  1654 + public List<Map<String, Object>> statisticsDaily(String line, String date,
  1655 + String xlName, String type) {
  1656 + List<Map<String, Object>> lMap= new ArrayList<Map<String, Object>>();
  1657 + List<ScheduleRealInfo> lists = scheduleRealInfoRepository.scheduleByDateAndLine2(line, date);
  1658 + Map<String, Object> map = new HashMap<String, Object>();
  1659 + map.put("xlName", xlName);
  1660 + map.put("jhlc", culateService.culateJhgl(lists));
  1661 + map.put("sjgl", Arith.add(culateService.culateSjgl(lists),culateService.culateLjgl(lists)));
  1662 + map.put("ssgl", culateService.culateLbgl(lists));
  1663 + map.put("ssgl_lz", culateService.culateCJLC(lists, "路阻"));
  1664 + map.put("ssgl_dm", culateService.culateCJLC(lists, "吊慢"));
  1665 + map.put("ssgl_gz", culateService.culateCJLC(lists, "故障"));
  1666 + map.put("ssgl_jf", culateService.culateCJLC(lists, "纠纷"));
  1667 + map.put("ssgl_zs", culateService.culateCJLC(lists, "肇事"));
  1668 + map.put("ssgl_qr", culateService.culateCJLC(lists, "缺人"));
  1669 + map.put("ssgl_qc", culateService.culateCJLC(lists, "缺车"));
  1670 + map.put("ssgl_kx", culateService.culateCJLC(lists, "客稀"));
  1671 + map.put("ssgl_qh", culateService.culateCJLC(lists, "气候"));
  1672 + map.put("ssgl_yw", culateService.culateCJLC(lists, "援外"));
  1673 + map.put("ssgl_other", culateService.culateCJLC(lists, "其他"));
  1674 + map.put("ssbc", culateService.culateLbbc(lists));
  1675 + map.put("ljgl", culateService.culateLjgl(lists));
  1676 + map.put("jhbc", culateService.culateJhbc(lists,""));
  1677 + map.put("jhbc_m", culateService.culateJhbc(lists, "zgf"));
  1678 + map.put("jhbc_a", culateService.culateJhbc(lists, "wgf"));
  1679 + map.put("sjbc", culateService.culateSjbc(lists,""));
  1680 + map.put("sjbc_m", culateService.culateSjbc(lists,"zgf"));
  1681 + map.put("sjbc_a", culateService.culateSjbc(lists,"wgf"));
  1682 + map.put("ljbc", culateService.culateLjbc(lists,""));
  1683 + map.put("ljbc_m", culateService.culateLjbc(lists,"zgf"));
  1684 + map.put("ljbc_a", culateService.culateLjbc(lists,"wgf"));
  1685 + map.put("fzbc", culateService.culateFzbc(lists, ""));
  1686 + map.put("fzbc_m", culateService.culateFzbc(lists, "zgf"));
  1687 + map.put("fzbc_a", culateService.culateFzbc(lists, "wgf"));
  1688 + map.put("dtbc", 0);
  1689 + map.put("dtbc_m", 0);
  1690 + map.put("dtbc_a", 0);
  1691 + map.put("djg", 0);
  1692 + map.put("djg_m", 0);
  1693 + map.put("djg_a", 0);
  1694 + map.put("djg_time", 0);
  1695 + lMap.add(map);
  1696 + return lMap;
  1697 + }
  1698 +
  1699 + /* @Override
  1700 + public List<Map<String, Object>> statisticsDaily(String line, String date,
2246 String xlName, String type) { 1701 String xlName, String type) {
2247 List<ScheduleRealInfo> list = new ArrayList<ScheduleRealInfo>(); 1702 List<ScheduleRealInfo> list = new ArrayList<ScheduleRealInfo>();
2248 - if(line!=null){  
2249 - list = scheduleRealInfoRepository.scheduleByDateAndLineTj2(line, date,date2);  
2250 - }else{  
2251 - list = scheduleRealInfoRepository.scheduleByDateAndLineTj(line, date,date2);  
2252 - }  
2253 - 1703 + if (date.length() == 10)
  1704 + list = scheduleRealInfoRepository.scheduleByDateAndLine2(line, date);
  1705 + else if (date.length() == 7)
  1706 + list = scheduleRealInfoRepository.scheduleByDateAndLine3(line, date);
  1707 +
2254 1708
2255 List<Map<String, Object>> lMap = new ArrayList<Map<String, Object>>(); 1709 List<Map<String, Object>> lMap = new ArrayList<Map<String, Object>>();
2256 DecimalFormat format = new DecimalFormat("0.00"); 1710 DecimalFormat format = new DecimalFormat("0.00");
@@ -2378,8 +1832,6 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -2378,8 +1832,6 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
2378 while (it.hasNext()) { 1832 while (it.hasNext()) {
2379 ChildTaskPlan childTaskPlan = it.next(); 1833 ChildTaskPlan childTaskPlan = it.next();
2380 childMileage = childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage(); 1834 childMileage = childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage();
2381 - jhlc += childMileage;  
2382 - jhlcZ += childMileage;  
2383 if (childTaskPlan.isDestroy()) { 1835 if (childTaskPlan.isDestroy()) {
2384 ssgl += childMileage; 1836 ssgl += childMileage;
2385 ssglZ += childMileage; 1837 ssglZ += childMileage;
@@ -2529,7 +1981,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -2529,7 +1981,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
2529 map.put("ssbc_qh", ssbc_qh); 1981 map.put("ssbc_qh", ssbc_qh);
2530 map.put("ssbc_yw", ssbc_yw); 1982 map.put("ssbc_yw", ssbc_yw);
2531 map.put("ssbc_other", ssbc_other); 1983 map.put("ssbc_other", ssbc_other);
2532 - map.put("ljgl", (ljgl+lj) == 0 ? 0 : format.format(ljgl+lj)); 1984 + map.put("ljgl", format.format(ljgl+lj));
2533 map.put("jhbc", jhbc); 1985 map.put("jhbc", jhbc);
2534 map.put("jhbc_m", jhbc_m); 1986 map.put("jhbc_m", jhbc_m);
2535 map.put("jhbc_a", jhbc_a); 1987 map.put("jhbc_a", jhbc_a);
@@ -2594,8 +2046,8 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -2594,8 +2046,8 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
2594 map = new HashMap<String, Object>(); 2046 map = new HashMap<String, Object>();
2595 map.put("xlName", scheduleRealInfo.getXlName()); 2047 map.put("xlName", scheduleRealInfo.getXlName());
2596 map.put("jhlc", format.format(jhlc)); 2048 map.put("jhlc", format.format(jhlc));
2597 - map.put("sjgl", format.format(sjgl+cj));  
2598 - map.put("ssgl", format.format(ssgl)); 2049 + map.put("sjgl", format.format(sjgl));
  2050 + map.put("ssgl", format.format(ssgl+cj));
2599 map.put("ssgl_lz", ssgl_lz == 0 ? 0 : format.format(ssgl_lz)); 2051 map.put("ssgl_lz", ssgl_lz == 0 ? 0 : format.format(ssgl_lz));
2600 map.put("ssgl_dm", ssgl_dm == 0 ? 0 : format.format(ssgl_dm)); 2052 map.put("ssgl_dm", ssgl_dm == 0 ? 0 : format.format(ssgl_dm));
2601 map.put("ssgl_gz", ssgl_gz == 0 ? 0 : format.format(ssgl_gz)); 2053 map.put("ssgl_gz", ssgl_gz == 0 ? 0 : format.format(ssgl_gz));
@@ -2731,7 +2183,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -2731,7 +2183,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
2731 map.put("djg_a", djg_aZ); 2183 map.put("djg_a", djg_aZ);
2732 map.put("djg_time", djg_timeZ); 2184 map.put("djg_time", djg_timeZ);
2733 lMap.add(map); 2185 lMap.add(map);
2734 - /* for (int i = 0; i < lMap.size(); i++) { 2186 + for (int i = 0; i < lMap.size(); i++) {
2735 Map<String, Object> m=lMap.get(i); 2187 Map<String, Object> m=lMap.get(i);
2736 // m.get("")) 2188 // m.get(""))
2737 jhlc += Double.parseDouble(m.get("jhlc").toString()); 2189 jhlc += Double.parseDouble(m.get("jhlc").toString());
@@ -2768,8 +2220,145 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -2768,8 +2220,145 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
2768 m.get("djg_m", djg_m); 2220 m.get("djg_m", djg_m);
2769 m.get("djg_a", djg_a); 2221 m.get("djg_a", djg_a);
2770 m.get("djg_time", djg_time); 2222 m.get("djg_time", djg_time);
2771 - }*/ 2223 + }
  2224 +
  2225 + if (type != null && type.length() != 0 && type.equals("export")) {
  2226 + SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"),
  2227 + sdfSimple = new SimpleDateFormat("yyyyMMdd");
  2228 + List<Iterator<?>> listI = new ArrayList<Iterator<?>>();
  2229 + Map<String, Object> m = new HashMap<String, Object>();
  2230 + ReportUtils ee = new ReportUtils();
  2231 + try {
  2232 + listI.add(lMap.iterator());
  2233 + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/";
  2234 + ee.excelReplace(listI, new Object[]{m}, path + "mould/statisticsDaily_.xls",
  2235 + path + "export/统计日报" + sdfSimple.format(sdfMonth.parse(date)) + ".xls");
  2236 + } catch (Exception e) {
  2237 + // TODO: handle exception
  2238 + e.printStackTrace();
  2239 + }
  2240 + }
2772 2241
  2242 + return lMap;
  2243 + }*/
  2244 +
  2245 + public final Map<String, Object> staticTj(List<ScheduleRealInfo> lists){
  2246 + Map<String, Object> map = new HashMap<String, Object>();
  2247 + map.put("xlName", lists.get(0).getXlName());
  2248 + map.put("jhlc", culateService.culateJhgl(lists));
  2249 + map.put("sjgl", Arith.add(culateService.culateSjgl(lists),culateService.culateLjgl(lists)));
  2250 + map.put("ssgl", culateService.culateLbgl(lists));
  2251 + map.put("ssgl_lz", culateService.culateCJLC(lists, "路阻"));
  2252 + map.put("ssgl_dm", culateService.culateCJLC(lists, "吊慢"));
  2253 + map.put("ssgl_gz", culateService.culateCJLC(lists, "故障"));
  2254 + map.put("ssgl_jf", culateService.culateCJLC(lists, "纠纷"));
  2255 + map.put("ssgl_zs", culateService.culateCJLC(lists, "肇事"));
  2256 + map.put("ssgl_qr", culateService.culateCJLC(lists, "缺人"));
  2257 + map.put("ssgl_qc", culateService.culateCJLC(lists, "缺车"));
  2258 + map.put("ssgl_kx", culateService.culateCJLC(lists, "客稀"));
  2259 + map.put("ssgl_qh", culateService.culateCJLC(lists, "气候"));
  2260 + map.put("ssgl_yw", culateService.culateCJLC(lists, "援外"));
  2261 + map.put("ssgl_other", culateService.culateCJLC(lists, "其他"));
  2262 + map.put("ssbc", culateService.culateLbbc(lists));
  2263 + map.put("ljgl", culateService.culateLjgl(lists));
  2264 + map.put("jhbc", culateService.culateJhbc(lists,""));
  2265 + map.put("jhbc_m", culateService.culateJhbc(lists, "zgf"));
  2266 + map.put("jhbc_a", culateService.culateJhbc(lists, "wgf"));
  2267 + map.put("sjbc", culateService.culateSjbc(lists,""));
  2268 + map.put("sjbc_m", culateService.culateSjbc(lists,"zgf"));
  2269 + map.put("sjbc_a", culateService.culateSjbc(lists,"wgf"));
  2270 + map.put("ljbc", culateService.culateLjbc(lists,""));
  2271 + map.put("ljbc_m", culateService.culateLjbc(lists,"zgf"));
  2272 + map.put("ljbc_a", culateService.culateLjbc(lists,"wgf"));
  2273 + map.put("fzbc", culateService.culateFzbc(lists, ""));
  2274 + map.put("fzbc_m", culateService.culateFzbc(lists, "zgf"));
  2275 + map.put("fzbc_a", culateService.culateFzbc(lists, "wgf"));
  2276 + map.put("dtbc", 0);
  2277 + map.put("dtbc_m", 0);
  2278 + map.put("dtbc_a", 0);
  2279 + map.put("djg", 0);
  2280 + map.put("djg_m", 0);
  2281 + map.put("djg_a", 0);
  2282 + map.put("djg_time", 0);
  2283 + return map;
  2284 + }
  2285 +
  2286 + @Override
  2287 + public List<Map<String, Object>> statisticsDailyTj(String gsdm,String fgsdm,String line, String date,String date2,
  2288 + String xlName, String type) {
  2289 + List<ScheduleRealInfo> list = new ArrayList<ScheduleRealInfo>();
  2290 + List<ScheduleRealInfo> lists = new ArrayList<ScheduleRealInfo>();
  2291 + line =line.trim();
  2292 + if(line.equals("")){
  2293 + //查询所有线路
  2294 + list = scheduleRealInfoRepository.scheduleByDateAndLineTj(line, date,date2,gsdm,fgsdm);
  2295 + }else{
  2296 + //查询单条线路
  2297 + list = scheduleRealInfoRepository.scheduleByDateAndLineTj2(line, date,date2);
  2298 + }
  2299 + List<Map<String, Object>> lMap = new ArrayList<Map<String, Object>>();
  2300 + for (int i = 0; i < list.size(); i++) {
  2301 + if(i<list.size()-1){
  2302 + if(list.get(i+1).getXlBm().equals(list.get(i).getXlBm())){
  2303 + lists.add(list.get(i));
  2304 + }else{
  2305 + lists.add(list.get(i));
  2306 + Map<String, Object> map=staticTj(lists);
  2307 + lMap.add(map);
  2308 + lists=new ArrayList<ScheduleRealInfo>();
  2309 + }
  2310 + }else{
  2311 + if(list.get(i).getXlBm().equals(list.get(i-1).getXlBm())){
  2312 + lists.add(list.get(i));
  2313 + Map<String, Object> map=staticTj(lists);
  2314 + lMap.add(map);
  2315 + }else{
  2316 + lists=new ArrayList<ScheduleRealInfo>();
  2317 + lists.add(list.get(i));
  2318 + Map<String, Object> map=staticTj(lists);
  2319 + lMap.add(map);
  2320 + }
  2321 + }
  2322 + }
  2323 +
  2324 + Map<String, Object> map = new HashMap<String, Object>();
  2325 + map.put("xlName", "合计");
  2326 + map.put("jhlc", culateService.culateJhgl(list));
  2327 + map.put("sjgl", Arith.add(culateService.culateSjgl(list),culateService.culateLjgl(list)));
  2328 + map.put("ssgl", culateService.culateLbgl(list));
  2329 + map.put("ssgl_lz", culateService.culateCJLC(list, "路阻"));
  2330 + map.put("ssgl_dm", culateService.culateCJLC(list, "吊慢"));
  2331 + map.put("ssgl_gz", culateService.culateCJLC(list, "故障"));
  2332 + map.put("ssgl_jf", culateService.culateCJLC(list, "纠纷"));
  2333 + map.put("ssgl_zs", culateService.culateCJLC(list, "肇事"));
  2334 + map.put("ssgl_qr", culateService.culateCJLC(list, "缺人"));
  2335 + map.put("ssgl_qc", culateService.culateCJLC(list, "缺车"));
  2336 + map.put("ssgl_kx", culateService.culateCJLC(list, "客稀"));
  2337 + map.put("ssgl_qh", culateService.culateCJLC(list, "气候"));
  2338 + map.put("ssgl_yw", culateService.culateCJLC(list, "援外"));
  2339 + map.put("ssgl_other", culateService.culateCJLC(list, "其他"));
  2340 + map.put("ssbc", culateService.culateLbbc(list));
  2341 + map.put("ljgl", culateService.culateLjgl(list));
  2342 + map.put("jhbc", culateService.culateJhbc(list,""));
  2343 + map.put("jhbc_m", culateService.culateJhbc(list, "zgf"));
  2344 + map.put("jhbc_a", culateService.culateJhbc(list, "wgf"));
  2345 + map.put("sjbc", culateService.culateSjbc(list,""));
  2346 + map.put("sjbc_m", culateService.culateSjbc(list,"zgf"));
  2347 + map.put("sjbc_a", culateService.culateSjbc(list,"wgf"));
  2348 + map.put("ljbc", culateService.culateLjbc(list,""));
  2349 + map.put("ljbc_m", culateService.culateLjbc(list,"zgf"));
  2350 + map.put("ljbc_a", culateService.culateLjbc(list,"wgf"));
  2351 + map.put("fzbc", culateService.culateFzbc(list, ""));
  2352 + map.put("fzbc_m", culateService.culateFzbc(list, "zgf"));
  2353 + map.put("fzbc_a", culateService.culateFzbc(list, "wgf"));
  2354 + map.put("dtbc", 0);
  2355 + map.put("dtbc_m", 0);
  2356 + map.put("dtbc_a", 0);
  2357 + map.put("djg", 0);
  2358 + map.put("djg_m", 0);
  2359 + map.put("djg_a", 0);
  2360 + map.put("djg_time", 0);
  2361 + lMap.add(map);
2773 if (type != null && type.length() != 0 && type.equals("export")) { 2362 if (type != null && type.length() != 0 && type.equals("export")) {
2774 SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), 2363 SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"),
2775 sdfSimple = new SimpleDateFormat("yyyyMMdd"); 2364 sdfSimple = new SimpleDateFormat("yyyyMMdd");
@@ -3860,13 +3449,11 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -3860,13 +3449,11 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
3860 ScheduleRealInfo s = scheduleRealInfoRepository.findOne(id); 3449 ScheduleRealInfo s = scheduleRealInfoRepository.findOne(id);
3861 String xlbm = s.getXlBm(); 3450 String xlbm = s.getXlBm();
3862 String fcrq = s.getScheduleDateStr(); 3451 String fcrq = s.getScheduleDateStr();
3863 - //保留两位小数  
3864 - DecimalFormat df = new DecimalFormat("#.00");  
3865 List<Ylxxb> listYlxxb = ylxxbRepository.queryListYlxxb(s.getClZbh(), fcrq); 3452 List<Ylxxb> listYlxxb = ylxxbRepository.queryListYlxxb(s.getClZbh(), fcrq);
3866 Double jzl = 0.0; 3453 Double jzl = 0.0;
3867 for (int t = 0; t < listYlxxb.size(); t++) { 3454 for (int t = 0; t < listYlxxb.size(); t++) {
3868 Ylxxb y = listYlxxb.get(t); 3455 Ylxxb y = listYlxxb.get(t);
3869 - jzl += y.getJzl(); 3456 + jzl = Arith.add(jzl, y.getJzl());
3870 } 3457 }
3871 3458
3872 List<Ylb> listYlb = ylbRepository.queryListYlb(fcrq, s.getClZbh(), s.getjGh()); 3459 List<Ylb> listYlb = ylbRepository.queryListYlb(fcrq, s.getClZbh(), s.getjGh());
@@ -3875,12 +3462,11 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -3875,12 +3462,11 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
3875 Double yh = 0.0; 3462 Double yh = 0.0;
3876 for (int i = 0; i < listYlb.size(); i++) { 3463 for (int i = 0; i < listYlb.size(); i++) {
3877 Ylb y = listYlb.get(i); 3464 Ylb y = listYlb.get(i);
3878 - ccyl += y.getCzyl();  
3879 - jcyl += y.getJzyl();  
3880 - yh += y.getYh();  
3881 - 3465 + ccyl=Arith.add(ccyl, y.getCzyl());
  3466 + jcyl=Arith.add(jcyl, y.getJzyl());
  3467 + yh =Arith.add(yh ,y.getYh());
3882 } 3468 }
3883 - map.put("jzl", df.format(jzl)); 3469 + map.put("jzl", jzl);
3884 map.put("yh", yh); 3470 map.put("yh", yh);
3885 map.put("ccyl", ccyl); 3471 map.put("ccyl", ccyl);
3886 map.put("jcyl", jcyl); 3472 map.put("jcyl", jcyl);
@@ -3981,18 +3567,20 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -3981,18 +3567,20 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
3981 3567
3982 if (scheduleRealInfo.getsGh() != null) { 3568 if (scheduleRealInfo.getsGh() != null) {
3983 if (!scheduleRealInfo.getsGh().equals(sgh)) { 3569 if (!scheduleRealInfo.getsGh().equals(sgh)) {
3984 - sgh = scheduleRealInfo.getsGh();  
3985 - if (map.get("sjb1") != null) {  
3986 - if (map.get("sjb2") != null) {  
3987 - map.put("sjb3", scheduleRealInfo.getsGh() + "/" +  
3988 - scheduleRealInfo.getFcsjActual());  
3989 - } else {  
3990 - map.put("sjb2", scheduleRealInfo.getsGh() + "/" +  
3991 - scheduleRealInfo.getFcsjActual());  
3992 - }  
3993 - } else {  
3994 - map.put("sjb1", scheduleRealInfo.getsGh() + "/" +  
3995 - scheduleRealInfo.getFcsjActual()); 3570 + sgh = scheduleRealInfo.getsGh()==null?"":scheduleRealInfo.getsGh();
  3571 + if(!sgh.equals("")){
  3572 + if (map.get("sjb1") != null) {
  3573 + if (map.get("sjb2") != null) {
  3574 + map.put("sjb3", scheduleRealInfo.getsGh() + "/" +
  3575 + scheduleRealInfo.getFcsjActual());
  3576 + } else {
  3577 + map.put("sjb2", scheduleRealInfo.getsGh() + "/" +
  3578 + scheduleRealInfo.getFcsjActual());
  3579 + }
  3580 + } else {
  3581 + map.put("sjb1", scheduleRealInfo.getsGh() + "/" +
  3582 + scheduleRealInfo.getFcsjActual());
  3583 + }
3996 } 3584 }
3997 } 3585 }
3998 } 3586 }
src/main/java/com/bsth/service/report/impl/ReportServiceImpl.java
@@ -162,7 +162,7 @@ public class ReportServiceImpl implements ReportService{ @@ -162,7 +162,7 @@ public class ReportServiceImpl implements ReportService{
162 arr.setLineCode(rs.getString("line_id")); 162 arr.setLineCode(rs.getString("line_id"));
163 arr.setUpDown(rs.getInt("up_down")); 163 arr.setUpDown(rs.getInt("up_down"));
164 arr.setStopNo(rs.getString("stop_no")); 164 arr.setStopNo(rs.getString("stop_no"));
165 - arr.setStopName(BasicData.stationCode2NameMap.get(arr.getStopNo())); 165 + arr.setStopName(BasicData.stationCode2NameMap.get(rs.getString("line_id")+"_"+rs.getInt("up_down")+"_"+rs.getString("stop_no")));
166 arr.setInOut(rs.getInt("in_out")); 166 arr.setInOut(rs.getInt("in_out"));
167 arr.setCreateDate(rs.getLong("create_timestamp")); 167 arr.setCreateDate(rs.getLong("create_timestamp"));
168 arr.setWeeksYear(rs.getInt("weeks_year")); 168 arr.setWeeksYear(rs.getInt("weeks_year"));
src/main/resources/static/pages/forms/statement/scheduleDaily.html
@@ -263,7 +263,6 @@ @@ -263,7 +263,6 @@
263 263
264 <script> 264 <script>
265 $(function(){ 265 $(function(){
266 - var fage=false;  
267 // 关闭左侧栏 266 // 关闭左侧栏
268 if (!$('body').hasClass('page-sidebar-closed')) 267 if (!$('body').hasClass('page-sidebar-closed'))
269 $('.menu-toggler.sidebar-toggler').click(); 268 $('.menu-toggler.sidebar-toggler').click();
@@ -292,7 +291,9 @@ @@ -292,7 +291,9 @@
292 initPinYinSelect2('#line',data,''); 291 initPinYinSelect2('#line',data,'');
293 292
294 }) */ 293 }) */
295 - 294 + var fage=false;
  295 + var obj = [];
  296 + var xlList;
296 $.get('/report/lineList',function(result){ 297 $.get('/report/lineList',function(result){
297 xlList=result; 298 xlList=result;
298 $.get('/user/companyData', function(result){ 299 $.get('/user/companyData', function(result){
src/main/resources/static/pages/forms/statement/statisticsDaily.html
@@ -27,6 +27,15 @@ @@ -27,6 +27,15 @@
27 <div class="portlet light porttlet-fit bordered"> 27 <div class="portlet light porttlet-fit bordered">
28 <div class="portlet-title"> 28 <div class="portlet-title">
29 <form class="form-inline" action=""> 29 <form class="form-inline" action="">
  30 + <div style="display: inline-block; " id="gsdmDiv">
  31 + <span class="item-label" style="width: 80px;">公司: </span>
  32 + <select class="form-control" name="company" id="gsdm" style="width: 180px;"></select>
  33 + </div>
  34 + <div style="display: inline-block; margin-left: 24px;" id="fgsdmDiv">
  35 + <span class="item-label" style="width: 80px;">分公司: </span>
  36 + <select class="form-control" name="subCompany" id="fgsdm" style="width: 180px;"></select>
  37 + </div>
  38 + <div style="margin-top: 2px"></div>
30 <div style="display: inline-block;"> 39 <div style="display: inline-block;">
31 <span class="item-label" style="width: 80px;">线路: </span> 40 <span class="item-label" style="width: 80px;">线路: </span>
32 <select class="form-control" name="line" id="line" style="width: 180px;"></select> 41 <select class="form-control" name="line" id="line" style="width: 180px;"></select>
@@ -144,7 +153,7 @@ @@ -144,7 +153,7 @@
144 $("#date").val(year + "-" + month + "-" + day); 153 $("#date").val(year + "-" + month + "-" + day);
145 154
146 $("#date2").val(year + "-" + month + "-" + day); 155 $("#date2").val(year + "-" + month + "-" + day);
147 - $.get('/basic/lineCode2Name',function(result){ 156 + /* $.get('/basic/lineCode2Name',function(result){
148 var data=[]; 157 var data=[];
149 158
150 data.push({id: "", text:"请选择"}); 159 data.push({id: "", text:"请选择"});
@@ -153,25 +162,93 @@ @@ -153,25 +162,93 @@
153 } 162 }
154 initPinYinSelect2('#line',data,''); 163 initPinYinSelect2('#line',data,'');
155 164
156 - }) 165 + }) */
157 166
158 167
  168 + var fage=false;
  169 + var obj = [];
  170 + var xlList;
  171 + $.get('/report/lineList',function(result){
  172 + xlList=result;
  173 + $.get('/user/companyData', function(result){
  174 + obj = result;
  175 + var options = '';
  176 + for(var i = 0; i < obj.length; i++){
  177 + options += '<option value="'+obj[i].companyCode+'">'+obj[i].companyName+'</option>';
  178 + }
  179 +
  180 + if(obj.length ==0){
  181 + $("#gsdmDiv").css('display','none');
  182 + }else if(obj.length ==1){
  183 + $("#gsdmDiv").css('display','none');
  184 + if(obj[0].children.length == 1 || obj[0].children.length ==0)
  185 + $('#fgsdmDiv').css('display','none');
  186 + }
  187 + $('#gsdm').html(options);
  188 + updateCompany();
  189 + });
  190 + })
  191 + $("#gsdm").on("change",updateCompany);
  192 + function updateCompany(){
  193 + var company = $('#gsdm').val();
  194 + var options = '';
  195 + for(var i = 0; i < obj.length; i++){
  196 + if(obj[i].companyCode == company){
  197 + var children = obj[i].children;
  198 + for(var j = 0; j < children.length; j++){
  199 + options += '<option value="'+children[j].code+'">'+children[j].name+'</option>';
  200 + }
  201 + }
  202 + }
  203 + $('#fgsdm').html(options);
  204 + initXl();
  205 + }
  206 + $("#fgsdm").on("change",initXl);
  207 + function initXl(){
  208 + var data=[];
  209 + data.push({id: " ", text: "请选择"});
  210 + if(fage){
  211 + $("#line").select2("destroy").html('');
  212 + }
  213 + var fgs=$('#fgsdm').val();
  214 + var gs=$('#gsdm').val();
  215 + for(var i=0;i<xlList.length;i++){
  216 + if(gs!=""){
  217 + if(fgs!=""){
  218 + if(xlList[i]["fgsbm"]==fgs && xlList[i]["gsbm"]==gs){
  219 + data.push({id: xlList[i]["xlbm"], text: xlList[i]["xlname"]});
  220 + }
  221 + }else{
  222 + if(xlList[i]["gsbm"]==gs){
  223 + data.push({id: xlList[i]["xlbm"], text: xlList[i]["xlname"]});
  224 + }
  225 + }
  226 + }
  227 + }
  228 + initPinYinSelect2('#line',data,'');
  229 + fage=true;
  230 + }
159 var line =""; 231 var line ="";
160 var xlName =""; 232 var xlName ="";
161 var date = ""; 233 var date = "";
162 var date2 =""; 234 var date2 ="";
  235 + var gsdm="";
  236 + var fgsdm="";
163 $("#query").on("click",function(){ 237 $("#query").on("click",function(){
164 line = $("#line").val(); 238 line = $("#line").val();
165 xlName = $("#select2-line-container").html(); 239 xlName = $("#select2-line-container").html();
166 date = $("#date").val(); 240 date = $("#date").val();
167 date2 =$("#date2").val(); 241 date2 =$("#date2").val();
  242 + gsdm =$("#gsdm").val();
  243 + fgsdm=$("#fgsdm").val();
168 if(line=="请选择"){ 244 if(line=="请选择"){
169 line=""; 245 line="";
170 } 246 }
171 if(date==null || date =="" ||date2==null || date2 ==""){ 247 if(date==null || date =="" ||date2==null || date2 ==""){
172 layer.msg('请选择时间段.'); 248 layer.msg('请选择时间段.');
173 }else{ 249 }else{
174 - $get('/realSchedule/statisticsDailyTj',{line:line,date:date,date2:date2,xlName:xlName,type:"query"},function(result){ 250 +
  251 + $get('/realSchedule/statisticsDailyTj',{gsdm:gsdm,fgsdm:fgsdm,line:line,date:date,date2:date2,xlName:xlName,type:"query"},function(result){
175 // 把数据填充到模版中 252 // 把数据填充到模版中
176 var tbodyHtml = template('statisticsDaily',{list:result}); 253 var tbodyHtml = template('statisticsDaily',{list:result});
177 // 把渲染好的模版html文本追加到表格中 254 // 把渲染好的模版html文本追加到表格中
@@ -187,7 +264,7 @@ @@ -187,7 +264,7 @@
187 }); 264 });
188 265
189 $("#export").on("click",function(){ 266 $("#export").on("click",function(){
190 - $get('/realSchedule/statisticsDaily',{line:line,date:date,xlName:xlName,type:"export"},function(result){ 267 + $get('/realSchedule/statisticsDailyTj',{gsdm:gsdm,fgsdm:fgsdm,line:line,date:date,date2:date2,xlName:xlName,type:"export"},function(result){
191 window.open("/downloadFile/download?fileName=统计日报"+moment(date).format("YYYYMMDD")); 268 window.open("/downloadFile/download?fileName=统计日报"+moment(date).format("YYYYMMDD"));
192 }); 269 });
193 }); 270 });
src/main/resources/static/pages/forms/statement/waybill.html
@@ -434,7 +434,11 @@ @@ -434,7 +434,11 @@
434 <td>{{obj.zdsjActual}}</td> 434 <td>{{obj.zdsjActual}}</td>
435 <td>{{obj.fast}}</td> 435 <td>{{obj.fast}}</td>
436 <td>{{obj.slow}}</td> 436 <td>{{obj.slow}}</td>
437 - <td>{{obj.jhlc}}</td> 437 + <td>
  438 + {{if obj.fcsjActual !=null || obj.zdsjActual!=null}}
  439 + {{obj.jhlc}}
  440 + {{/if}}
  441 + </td>
438 <td > 442 <td >
439 {{obj.remarks}} 443 {{obj.remarks}}
440 </td> 444 </td>
src/main/resources/static/pages/report/inoutstation.html
@@ -34,6 +34,14 @@ @@ -34,6 +34,14 @@
34 <input class="item-label" type="radio" name="typeLX" value="2" /> 34 <input class="item-label" type="radio" name="typeLX" value="2" />
35 车辆/站点 35 车辆/站点
36 </div> 36 </div>
  37 + <div style="display: inline-block; margin-left: 33px;" id="gsdmDiv">
  38 + <span class="item-label" style="width: 80px;">公司: </span>
  39 + <select class="form-control" name="company" id="gsdm" style="width: 180px;"></select>
  40 + </div>
  41 + <div style="display: inline-block; margin-left: 24px;" id="fgsdmDiv">
  42 + <span class="item-label" style="width: 80px;">分公司: </span>
  43 + <select class="form-control" name="subCompany" id="fgsdm" style="width: 180px;"></select>
  44 + </div>
37 <div style="display: inline-block;margin-left: 15px;"> 45 <div style="display: inline-block;margin-left: 15px;">
38 <span class="item-label" style="width: 80px;">线路: </span> 46 <span class="item-label" style="width: 80px;">线路: </span>
39 <select class="form-control sreach-zd" name="line" id="line" style="width: 180px;"></select> 47 <select class="form-control sreach-zd" name="line" id="line" style="width: 180px;"></select>
@@ -170,7 +178,7 @@ @@ -170,7 +178,7 @@
170 }); 178 });
171 179
172 180
173 - $.get('/basic/lineCode2Name',function(result){ 181 + /* $.get('/basic/lineCode2Name',function(result){
174 var data=[]; 182 var data=[];
175 183
176 for(var code in result){ 184 for(var code in result){
@@ -178,7 +186,78 @@ @@ -178,7 +186,78 @@
178 } 186 }
179 initPinYinSelect2('#line',data,''); 187 initPinYinSelect2('#line',data,'');
180 188
181 - }) 189 + }) */
  190 + var fage=false;
  191 + var obj = [];
  192 + var xlList;
  193 + $.get('/report/lineList',function(result){
  194 + xlList=result;
  195 +
  196 + $.get('/user/companyData', function(result){
  197 + obj = result;
  198 + console.log(obj);
  199 + var options = '';
  200 + for(var i = 0; i < obj.length; i++){
  201 + options += '<option value="'+obj[i].companyCode+'">'+obj[i].companyName+'</option>';
  202 + }
  203 +
  204 + if(obj.length ==0){
  205 + $("#gsdmDiv").css('display','none');
  206 + }else if(obj.length ==1){
  207 + $("#gsdmDiv").css('display','none');
  208 + if(obj[0].children.length == 1 || obj[0].children.length ==0)
  209 + $('#fgsdmDiv').css('display','none');
  210 + }
  211 + $('#gsdm').html(options);
  212 +
  213 + updateCompany();
  214 + });
  215 + });
  216 +
  217 + $("#gsdm").on("change",updateCompany);
  218 + function updateCompany(){
  219 + var company = $('#gsdm').val();
  220 + var options = '';
  221 + for(var i = 0; i < obj.length; i++){
  222 + if(obj[i].companyCode == company){
  223 + var children = obj[i].children;
  224 + for(var j = 0; j < children.length; j++){
  225 + options += '<option value="'+children[j].code+'">'+children[j].name+'</option>';
  226 + }
  227 + }
  228 + }
  229 + $('#fgsdm').html(options);
  230 + initXl();
  231 + initCl();
  232 + }
  233 +
  234 +
  235 +
  236 +
  237 + $("#fgsdm").on("change",initXl);
  238 + function initXl(){
  239 + var data=[];
  240 + if(fage){
  241 + $("#line").select2("destroy").html('');
  242 + }
  243 + var fgs=$('#fgsdm').val();
  244 + var gs=$('#gsdm').val();
  245 + for(var i=0;i<xlList.length;i++){
  246 + if(gs!=""){
  247 + if(fgs!=""){
  248 + if(xlList[i]["fgsbm"]==fgs && xlList[i]["gsbm"]==gs){
  249 + data.push({id: xlList[i]["xlbm"], text: xlList[i]["xlname"]});
  250 + }
  251 + }else{
  252 + if(xlList[i]["gsbm"]==gs){
  253 + data.push({id: xlList[i]["xlbm"], text: xlList[i]["xlname"]});
  254 + }
  255 + }
  256 + }
  257 + }
  258 + initPinYinSelect2('#line',data,'');
  259 + fage=true;
  260 + }
182 261
183 262
184 $("#query").on("click",function(){ 263 $("#query").on("click",function(){
@@ -192,7 +271,7 @@ @@ -192,7 +271,7 @@
192 }else if(clzbh=="" || clzbh==null){ 271 }else if(clzbh=="" || clzbh==null){
193 layer.msg("请选择车辆"); 272 layer.msg("请选择车辆");
194 }else{ 273 }else{
195 - $post('/report/queryListBczx',{clzbh:clzbh,date:date,line:line},function(result){ 274 + $get('/report/queryListBczx',{clzbh:clzbh,date:date,line:line},function(result){
196 getTime(result); 275 getTime(result);
197 var ludan_ll_2 = template('ludan_ll_2',{list:result}); 276 var ludan_ll_2 = template('ludan_ll_2',{list:result});
198 // 把渲染好的模版html文本追加到表格中 277 // 把渲染好的模版html文本追加到表格中
@@ -204,25 +283,25 @@ @@ -204,25 +283,25 @@
204 var params = new Array(); 283 var params = new Array();
205 var jName = ''; 284 var jName = '';
206 285
207 - $("#export").on("click",function(){  
208 - if(params.length < 1){  
209 - return;  
210 - }  
211 - $post('/realSchedule/exportWaybill',{jName:jName,clZbh:params[1],lpName:params[2],date:date},function(result){  
212 - window.open("/downloadFile/download?fileName="+jName);  
213 - });  
214 - }); 286 +// $("#export").on("click",function(){
  287 +// if(params.length < 1){
  288 +// return;
  289 +// }
  290 +// $post('/realSchedule/exportWaybill',{jName:jName,clZbh:params[1],lpName:params[2],date:date},function(result){
  291 +// window.open("/downloadFile/download?fileName="+jName);
  292 +// });
  293 +// });
215 294
216 - $("#print").click(function(){  
217 - $("#printArea").printArea();  
218 - }); 295 +// $("#print").click(function(){
  296 +// $("#printArea").printArea();
  297 +// });
219 298
220 - $("#exportMore").on("click",function(){  
221 - return;  
222 - $post('/realSchedule/exportWaybillMore',{date:date},function(result){  
223 - window.open("/downloadFile/download?fileName="+jName);  
224 - });  
225 - }); 299 +// $("#exportMore").on("click",function(){
  300 +// return;
  301 +// $post('/realSchedule/exportWaybillMore',{date:date},function(result){
  302 +// window.open("/downloadFile/download?fileName="+jName);
  303 +// });
  304 +// });
226 305
227 function getTime(list){ 306 function getTime(list){
228 $.each(list, function(i, obj) { 307 $.each(list, function(i, obj) {
@@ -239,46 +318,51 @@ @@ -239,46 +318,51 @@
239 }); 318 });
240 } 319 }
241 320
242 - $('#nbbm').select2({  
243 - placeholder: '搜索车辆...',  
244 - ajax: {  
245 - url: '/realSchedule/sreachVehic',  
246 - dataType: 'json',  
247 - delay: 150,  
248 - data: function(params){  
249 - return{nbbm: params.term}; 321 + $("#line").on("change",initCl);
  322 + function initCl(){
  323 + $('#nbbm').select2({
  324 + placeholder: '搜索车辆...',
  325 + ajax: {
  326 + url: '/report/carList',
  327 + dataType: 'json',
  328 + delay: 150,
  329 + data: function(params){
  330 + return{nbbm: params.term,
  331 + gsbm:$('#gsdm').val(),
  332 + fgsbm:$('#fgsdm').val(),
  333 + xlbm:$('#line').val()};
  334 + },
  335 + processResults: function (data) {
  336 + return {
  337 + results: data
  338 + };
  339 + },
  340 + cache: true
250 }, 341 },
251 - processResults: function (data) {  
252 - return {  
253 - results: data  
254 - };  
255 - },  
256 - cache: true  
257 - },  
258 - templateResult: function(repo){  
259 - if (repo.loading) return repo.text;  
260 - var h = '<span>'+repo.text+'</span>';  
261 - h += (repo.lineName?'&nbsp;<span class="select2-desc">'+repo.lineName+'</span>':'');  
262 - return h;  
263 - },  
264 - escapeMarkup: function (markup) { return markup; },  
265 - minimumInputLength: 1,  
266 - templateSelection: function(repo){  
267 - return repo.text;  
268 - },  
269 - language: {  
270 - noResults: function(){  
271 - return '<span style="color:red;font-size: 12px;">没有搜索到车辆!</span>';  
272 - },  
273 - inputTooShort : function(e) {  
274 - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入自编号搜索车辆</span>';  
275 - },  
276 - searching : function() {  
277 - return '<span style="color:gray;font-size: 12px;"> 正在搜索车辆...</span>';  
278 - }  
279 - }  
280 - });  
281 - 342 + templateResult: function(repo){
  343 + if (repo.loading) return repo.text;
  344 + var h = '<span>'+repo.text+'</span>';
  345 + h += (repo.lineName?'&nbsp;<span class="select2-desc">'+repo.lineName+'</span>':'');
  346 + return h;
  347 + },
  348 + escapeMarkup: function (markup) { return markup; },
  349 + minimumInputLength: 1,
  350 + templateSelection: function(repo){
  351 + return repo.text;
  352 + },
  353 + language: {
  354 + noResults: function(){
  355 + return '<span style="color:red;font-size: 12px;">没有搜索到车辆!</span>';
  356 + },
  357 + inputTooShort : function(e) {
  358 + return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入自编号搜索车辆</span>';
  359 + },
  360 + searching : function() {
  361 + return '<span style="color:gray;font-size: 12px;"> 正在搜索车辆...</span>';
  362 + }
  363 + }
  364 + });
  365 + };
282 $("#forms tbody").on("click","tr",function(){ 366 $("#forms tbody").on("click","tr",function(){
283 var rq=$("#date").val(); 367 var rq=$("#date").val();
284 var line=$("#line").val(); 368 var line=$("#line").val();
@@ -295,7 +379,7 @@ @@ -295,7 +379,7 @@
295 var fcsj = $('.in_carpark_fcsj[data-id='+id+']', '#forms').html(); 379 var fcsj = $('.in_carpark_fcsj[data-id='+id+']', '#forms').html();
296 var ddsj= $('.in_carpark_zdsj[data-id='+id+']', '#forms').html(); 380 var ddsj= $('.in_carpark_zdsj[data-id='+id+']', '#forms').html();
297 if(!(typeof(fcsj)=='undefined'|| typeof(ddsj)=='undefined')){ 381 if(!(typeof(fcsj)=='undefined'|| typeof(ddsj)=='undefined')){
298 - $post('/report/queryListZdxx',{clzbh:nbbm,date:rq,line:line,fcsj:fcsj,ddsj:ddsj},function(result){ 382 + $get('/report/queryListZdxx',{clzbh:nbbm,date:rq,line:line,fcsj:fcsj,ddsj:ddsj},function(result){
299 var xlmc="线路: "+$("#select2-line-container").html(); 383 var xlmc="线路: "+$("#select2-line-container").html();
300 var clmc="车辆: "+nbbm; 384 var clmc="车辆: "+nbbm;
301 var rqmc="日期: "+rq; 385 var rqmc="日期: "+rq;
@@ -333,7 +417,7 @@ @@ -333,7 +417,7 @@
333 zdmc="站点: "+$("#select2-zd-container").html(); 417 zdmc="站点: "+$("#select2-zd-container").html();
334 } 418 }
335 $("#dlzmx").html("到离站详细 "+xlmc+" "+rqmc+" "+sxmc+" "+zdmc); 419 $("#dlzmx").html("到离站详细 "+xlmc+" "+rqmc+" "+sxmc+" "+zdmc);
336 - $post('/report/queryListClzd',{zd:zd,zdlx:zdlx,line:line,fcsj:date1,ddsj:date2},function(result){ 420 + $get('/report/queryListClzd',{zd:zd,zdlx:zdlx,line:line,fcsj:date1,ddsj:date2},function(result){
337 var ludan_ll_1 = template('ludan_ll_1',{list:result}); 421 var ludan_ll_1 = template('ludan_ll_1',{list:result});
338 // 把渲染好的模版html文本追加到表格中 422 // 把渲染好的模版html文本追加到表格中
339 $('#forms1 .ludan_ll_1').html(ludan_ll_1); 423 $('#forms1 .ludan_ll_1').html(ludan_ll_1);
@@ -436,7 +520,7 @@ @@ -436,7 +520,7 @@
436 <a > 520 <a >
437 ({{obj.fcsjActual}} 521 ({{obj.fcsjActual}}
438 {{if obj.fast>0}} 522 {{if obj.fast>0}}
439 - 早点 {{obj.fast}}分钟 523 + 早点{{obj.fast}}分钟
440 {{else if obj.slow>0}} 524 {{else if obj.slow>0}}
441 晚点{{obj.slow}}分钟 525 晚点{{obj.slow}}分钟
442 {{else}} 526 {{else}}
@@ -447,8 +531,6 @@ @@ -447,8 +531,6 @@
447 <span class="in_carpark_zdsj" data-id="{{i+1}}" style="display:none">{{obj.zdsjActual}}</span> 531 <span class="in_carpark_zdsj" data-id="{{i+1}}" style="display:none">{{obj.zdsjActual}}</span>
448 </a> 532 </a>
449 {{/if}} 533 {{/if}}
450 -  
451 -  
452 </td> 534 </td>
453 <td>{{obj.clZbh}}</td> 535 <td>{{obj.clZbh}}</td>
454 <td> 536 <td>