Commit 86d763ba0b882319e4f020184061d01ac99060a0

Authored by 廖磊
1 parent 7481b893

新报表:车辆公里统计

src/main/java/com/bsth/controller/report/ReportController.java
@@ -267,4 +267,11 @@ public class ReportController { @@ -267,4 +267,11 @@ public class ReportController {
267 return service.countByList(map); 267 return service.countByList(map);
268 } 268 }
269 269
  270 + @RequestMapping(value="/countBusMileage")
  271 + public List<Map<String,Object>> countBusMileage(@RequestParam Map<String, Object> map){
  272 +
  273 + return service.countByBusList(map);
  274 + }
  275 +
  276 +
270 } 277 }
src/main/java/com/bsth/service/report/ReportService.java
@@ -44,4 +44,6 @@ public interface ReportService { @@ -44,4 +44,6 @@ public interface ReportService {
44 List<Map<String, String>> userList(Map<String, Object> map); 44 List<Map<String, String>> userList(Map<String, Object> map);
45 45
46 List<Map<String, Object>> countByList(Map<String, Object> map); 46 List<Map<String, Object>> countByList(Map<String, Object> map);
  47 +
  48 + List<Map<String, Object>> countByBusList(Map<String, Object> map);
47 } 49 }
src/main/java/com/bsth/service/report/impl/ReportServiceImpl.java
@@ -17,11 +17,13 @@ import java.util.Map; @@ -17,11 +17,13 @@ import java.util.Map;
17 import java.util.Set; 17 import java.util.Set;
18 18
19 import org.apache.commons.lang.StringUtils; 19 import org.apache.commons.lang.StringUtils;
  20 +import org.dbunit.dataset.DataSetException;
20 import org.slf4j.Logger; 21 import org.slf4j.Logger;
21 import org.slf4j.LoggerFactory; 22 import org.slf4j.LoggerFactory;
22 import org.springframework.beans.factory.annotation.Autowired; 23 import org.springframework.beans.factory.annotation.Autowired;
23 import org.springframework.jdbc.core.JdbcTemplate; 24 import org.springframework.jdbc.core.JdbcTemplate;
24 import org.springframework.jdbc.core.RowMapper; 25 import org.springframework.jdbc.core.RowMapper;
  26 +import org.springframework.scheduling.commonj.ScheduledTimerListener;
25 import org.springframework.stereotype.Service; 27 import org.springframework.stereotype.Service;
26 28
27 import com.bsth.data.BasicData; 29 import com.bsth.data.BasicData;
@@ -30,6 +32,7 @@ import com.bsth.entity.Personnel; @@ -30,6 +32,7 @@ import com.bsth.entity.Personnel;
30 import com.bsth.entity.StationRoute; 32 import com.bsth.entity.StationRoute;
31 import com.bsth.entity.excep.ArrivalInfo; 33 import com.bsth.entity.excep.ArrivalInfo;
32 import com.bsth.entity.mcy_forms.Operationservice; 34 import com.bsth.entity.mcy_forms.Operationservice;
  35 +import com.bsth.entity.oil.Dlb;
33 import com.bsth.entity.oil.Ylb; 36 import com.bsth.entity.oil.Ylb;
34 import com.bsth.entity.realcontrol.ChildTaskPlan; 37 import com.bsth.entity.realcontrol.ChildTaskPlan;
35 import com.bsth.entity.realcontrol.ScheduleRealInfo; 38 import com.bsth.entity.realcontrol.ScheduleRealInfo;
@@ -1534,6 +1537,10 @@ public class ReportServiceImpl implements ReportService{ @@ -1534,6 +1537,10 @@ public class ReportServiceImpl implements ReportService{
1534 map.put("xlName", list.get(0).getXlName()); 1537 map.put("xlName", list.get(0).getXlName());
1535 map.put("gs", list.get(0).getGsName()); 1538 map.put("gs", list.get(0).getGsName());
1536 map.put("fgs", list.get(0).getFgsName()); 1539 map.put("fgs", list.get(0).getFgsName());
  1540 + map.put("jGh", list.get(0).getjGh());
  1541 + map.put("sGh", list.get(0).getsGh()==null?"":list.get(0).getsGh());
  1542 + map.put("nbbm",list.get(0).getClZbh());
  1543 + map.put("line", list.get(0).getXlBm());
1537 } 1544 }
1538 1545
1539 double jhyygl=culateService.culateJhgl(list);//计划营运公里 1546 double jhyygl=culateService.culateJhgl(list);//计划营运公里
@@ -1596,5 +1603,363 @@ public class ReportServiceImpl implements ReportService{ @@ -1596,5 +1603,363 @@ public class ReportServiceImpl implements ReportService{
1596 } 1603 }
1597 return map; 1604 return map;
1598 } 1605 }
  1606 + @Override
  1607 + public List<Map<String, Object>> countByBusList(Map<String, Object> map) {
  1608 + // TODO Auto-generated method stub
  1609 + SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd");
  1610 + List<Map<String, Object>> lMap = new ArrayList<Map<String, Object>>();
  1611 + List<Map<String, Object>> lMaps = new ArrayList<Map<String, Object>>();
  1612 + String gsdm="";
  1613 + if(map.get("gsdm")!=null){
  1614 + gsdm=map.get("gsdm").toString();
  1615 + }
  1616 + String fgsdm="";
  1617 + if(map.get("fgsdm")!=null){
  1618 + fgsdm=map.get("fgsdm").toString();
  1619 + }
  1620 + String line="";
  1621 + if(map.get("line")!=null){
  1622 + line=map.get("line").toString();
  1623 + }
  1624 + String date="";
  1625 + if(map.get("date")!=null){
  1626 + date=map.get("date").toString();
  1627 + }
  1628 + String date2="";
  1629 + if(map.get("date2")!=null){
  1630 + date2=map.get("date2").toString();
  1631 + }
  1632 + String xlName="";
  1633 + if(map.get("xlName")!=null){
  1634 + xlName=map.get("xlName").toString();
  1635 + }
  1636 + String zt="";
  1637 + if(map.get("zt")!=null){
  1638 + zt=map.get("zt").toString();
  1639 + }
  1640 + String type="";
  1641 + if(map.get("type")!=null){
  1642 + type=map.get("type").toString();
  1643 + }
  1644 + //所有班次信息
  1645 + List<ScheduleRealInfo> list = new ArrayList<ScheduleRealInfo>();
  1646 + line =line.trim();
  1647 + if(line.equals("")){
  1648 + //查询所有线路
  1649 + list = scheduleRealInfoRepository.scheduleByDateAndLineTj(line, date,date2,gsdm,fgsdm);
  1650 + }else{
  1651 + //查询单条线路
  1652 + list = scheduleRealInfoRepository.scheduleByDateAndLineTj2(line, date,date2);
  1653 + }
  1654 + String ylbSql=" select * from bsth_c_ylb where rq BETWEEN '"+date+"' and '"+date2+"'";
  1655 + if(line.equals("")){
  1656 + ylbSql +="and ssgsdm='"+gsdm+"' "
  1657 + + " and fgsdm='"+fgsdm+"'";
  1658 + }else{
  1659 + ylbSql += " and xlbm = '"+line+"'";
  1660 + }
  1661 + List<Ylb> ylbList=ylbList(ylbSql);
  1662 +
  1663 + String dlbSql=" select * from bsth_c_dlb where rq BETWEEN '"+date+"' and '"+date2+"'";
  1664 + if(line.equals("")){
  1665 + dlbSql +="and ssgsdm='"+gsdm+"' "
  1666 + + " and fgsdm='"+fgsdm+"'";
  1667 + }else{
  1668 + dlbSql += " and xlbm = '"+line+"'";
  1669 + }
  1670 + List<Dlb> dlbList=dlbList(dlbSql);
  1671 +
  1672 + String sql="select r.xl_bm,r.schedule_date_str,r.cl_zbh,r.j_gh,r.s_gh"
  1673 + + " from bsth_c_s_sp_info_real r where"
  1674 + + " r.schedule_date_str BETWEEN '"+date+"' and '"+date2+"'";
  1675 + if(line.equals("")){
  1676 + sql +="and r.gs_bm='"+gsdm+"' "
  1677 + + " and r.fgs_bm='"+fgsdm+"'";
  1678 + }else{
  1679 + sql += " and r.xl_bm = '"+line+"'";
  1680 + }
  1681 + sql += " group by r.xl_bm,r.cl_zbh,r.schedule_date_str,r.j_gh,r.s_gh";
  1682 +
  1683 + List<Map<String, Object>> listGroupBy=jdbcTemplate.query(sql, new RowMapper<Map<String, Object>>() {
  1684 + @Override
  1685 + public Map<String, Object> mapRow(ResultSet arg0, int arg1) throws SQLException {
  1686 + Map<String, Object> map=new HashMap<String,Object>();
  1687 + map.put("line",arg0.getString("xl_bm"));
  1688 + map.put("date", arg0.getString("schedule_date_str"));
  1689 + map.put("nbbm", arg0.getString("cl_zbh"));
  1690 + map.put("jGh", arg0.getString("j_gh"));
  1691 + map.put("sGh", arg0.getString("s_gh"));
  1692 + return map;
  1693 + }
  1694 + });
  1695 +
  1696 + for (int i = 0; i < listGroupBy.size(); i++) {
  1697 + Map<String, Object> m=listGroupBy.get(i);
  1698 + String xl_bm=m.get("line")==null?"":m.get("line").toString();
  1699 + String dateStr=m.get("date")==null?"":m.get("date").toString();
  1700 + String nbbm =m.get("nbbm")==null?"":m.get("nbbm").toString();
  1701 + String jGh= m.get("jGh")==null?"":m.get("jGh").toString();
  1702 + String sGh= m.get("sGh")==null?"":m.get("sGh").toString();
  1703 + List<ScheduleRealInfo> lists=new ArrayList<ScheduleRealInfo>();
  1704 + for (int j = 0; j < list.size(); j++) {
  1705 + ScheduleRealInfo s=list.get(j);
  1706 + if(zt.equals("zbh")){
  1707 + if(xl_bm.equals(s.getXlBm()) && nbbm.equals(s.getClZbh())){
  1708 + lists.add(s);
  1709 + }
  1710 + }else{
  1711 + if(xl_bm.equals(s.getXlBm()) && nbbm.equals(s.getClZbh())
  1712 + && dateStr.equals(s.getScheduleDateStr())
  1713 + && jGh.equals(s.getjGh()) && sGh.equals(s.getsGh())){
  1714 + lists.add(s);
  1715 + }
  1716 + }
  1717 + }
  1718 +
  1719 + if(zt.equals("zbh")){
  1720 + Map<String, Object> newMap=staticTj(lists, "");
  1721 + double yhl=0.0;
  1722 + double jzl=0.0;
  1723 + double hyl=0.0;
  1724 + double dhl=0.0;
  1725 + double cdl=0.0;
  1726 + for (int j = 0; j < ylbList.size(); j++) {
  1727 + Ylb y=ylbList.get(j);
  1728 + if(nbbm.equals(y.getNbbm()) && xl_bm.equals(y.getXlbm())){
  1729 + yhl=Arith.add(yhl, y.getYh());
  1730 + jzl=Arith.add(jzl, y.getJzl());
  1731 + hyl=Arith.add(hyl, y.getYh());
  1732 + }
  1733 +
  1734 + }
  1735 + for (int j = 0; j < dlbList.size(); j++) {
  1736 + Dlb d=dlbList.get(j);
  1737 + if(nbbm.equals(d.getNbbm())&&xl_bm.equals(d.getXlbm())){
  1738 + dhl=Arith.add(dhl, d.getHd());
  1739 + cdl=Arith.add(cdl, d.getCdl());
  1740 + }
  1741 + }
  1742 + if(date.equals(date2)){
  1743 + newMap.put("rq",date);
  1744 + }else{
  1745 + newMap.put("rq",date+"至"+date2);
  1746 + }
  1747 + newMap.put("yhl", yhl);
  1748 + newMap.put("jzl", jzl);
  1749 + newMap.put("hyl", hyl);
  1750 + newMap.put("dhl", dhl);
  1751 + newMap.put("cdl", cdl);
  1752 + lMap.add(newMap);
  1753 + }else{
  1754 + Map<String, Object> newMap=staticTj(lists, "");
  1755 + double lc=Double.parseDouble(newMap.get("zlc").toString());
  1756 + double yhl=0.0;
  1757 + double jzl=0.0;
  1758 + double hyl=0.0;
  1759 + double dhl=0.0;
  1760 + double cdl=0.0;
  1761 + double zlc=0.0;
  1762 + for (int j = 0; j < ylbList.size(); j++) {
  1763 + Ylb y=ylbList.get(j);
  1764 + if(nbbm.equals(y.getNbbm()) && xl_bm.equals(y.getXlbm())
  1765 + &&dateStr.equals(sdf.format(y.getRq()))
  1766 + &&jGh.equals(y.getName())){
  1767 + yhl=Arith.add(yhl, y.getYh());
  1768 + jzl=Arith.add(jzl, y.getJzl());
  1769 + hyl=Arith.add(hyl, y.getYh());
  1770 + zlc=Arith.add(zlc, y.getZlc());
  1771 + }
  1772 +
  1773 + }
  1774 +
  1775 + for (int j = 0; j < dlbList.size(); j++) {
  1776 + Dlb d=dlbList.get(j);
  1777 + if(nbbm.equals(d.getNbbm())&&xl_bm.equals(d.getXlbm())
  1778 + &&dateStr.equals(sdf.format(d.getRq()))
  1779 + &&jGh.equals(d.getName())){
  1780 + dhl=Arith.add(dhl, d.getHd());
  1781 + cdl=Arith.add(cdl, d.getCdl());
  1782 + zlc=Arith.add(zlc, d.getZlc());
  1783 + }
  1784 + }
  1785 + double div=0.0;
  1786 + if(lc>0){
  1787 + div=Arith.div(zlc, lc,2);
  1788 + }
  1789 + newMap.put("yhl", yhl*div);
  1790 + newMap.put("jzl", jzl*div);
  1791 + newMap.put("hyl", hyl*div);
  1792 + newMap.put("dhl", dhl*div);
  1793 + newMap.put("cdl", cdl*div);
  1794 + lMaps.add(newMap);
  1795 + }
  1796 +
  1797 + }
  1798 +
  1799 + if(!zt.equals("zbh")){
  1800 + String sqls="select r.xl_bm,r.cl_zbh,r.j_gh,r.s_gh"
  1801 + + " from bsth_c_s_sp_info_real r where"
  1802 + + " r.schedule_date_str BETWEEN '"+date+"' and '"+date2+"'";
  1803 + if(line.equals("")){
  1804 + sqls +="and r.gs_bm='"+gsdm+"' "
  1805 + + " and r.fgs_bm='"+fgsdm+"'";
  1806 + }else{
  1807 + sqls += " and r.xl_bm = '"+line+"'";
  1808 + }
  1809 + sqls += " group by r.xl_bm,r.cl_zbh,r.j_gh,r.s_gh";
  1810 +
  1811 + List<Map<String, Object>> listGroupBys=jdbcTemplate.query(sqls, new RowMapper<Map<String, Object>>() {
  1812 + @Override
  1813 + public Map<String, Object> mapRow(ResultSet arg0, int arg1) throws SQLException {
  1814 + Map<String, Object> map=new HashMap<String,Object>();
  1815 + map.put("line",arg0.getString("xl_bm"));
  1816 + map.put("nbbm", arg0.getString("cl_zbh"));
  1817 + map.put("jGh", arg0.getString("j_gh"));
  1818 + map.put("sGh", arg0.getString("s_gh"));
  1819 + return map;
  1820 + }
  1821 + });
  1822 + lMap=lists(listGroupBys, lMaps, gsdm, fgsdm, date, date2);
  1823 +
  1824 + }
  1825 +
  1826 + return lMap;
  1827 + }
1599 1828
  1829 + public final List<Ylb> ylbList(String sql){
  1830 + List<Ylb> ylbList= jdbcTemplate.query(sql, new RowMapper<Ylb>() {
  1831 + @Override
  1832 + public Ylb mapRow(ResultSet arg0, int arg1) throws SQLException {
  1833 + Ylb y = new Ylb();
  1834 + y.setXlbm(arg0.getString("xlbm"));
  1835 + y.setNbbm(arg0.getString("nbbm"));
  1836 + y.setJzl(arg0.getDouble("jzl"));
  1837 + y.setYh(arg0.getDouble("yh"));
  1838 + y.setSh(arg0.getDouble("sh"));
  1839 + return y;
  1840 + }
  1841 + });
  1842 + return ylbList;
  1843 + }
  1844 +
  1845 + public final List<Dlb> dlbList(String sql){
  1846 + List<Dlb> dlbList= jdbcTemplate.query(sql, new RowMapper<Dlb>() {
  1847 + @Override
  1848 + public Dlb mapRow(ResultSet arg0, int arg1) throws SQLException {
  1849 + Dlb y = new Dlb();
  1850 + y.setXlbm(arg0.getString("xlbm"));
  1851 + y.setNbbm(arg0.getString("nbbm"));
  1852 + y.setCdl(arg0.getDouble("cdl"));
  1853 + y.setHd(arg0.getDouble("hd"));
  1854 + y.setSh(arg0.getDouble("sh"));
  1855 + return y;
  1856 + }
  1857 + });
  1858 + return dlbList;
  1859 + }
  1860 +
  1861 + public final List<Map<String, Object>> lists(List<Map<String, Object>> listGb,
  1862 + List<Map<String, Object>> listLc,
  1863 + String gsdm,String fgsdm,
  1864 + String date,String date2){
  1865 + List<Map<String, Object>> lMap=new ArrayList<Map<String,Object>>();
  1866 + for (int i = 0; i < listGb.size(); i++) {
  1867 + Map<String, Object> m=listGb.get(i);
  1868 + String xl_bm=m.get("line")==null?"":m.get("line").toString();
  1869 + String nbbm =m.get("nbbm")==null?"":m.get("nbbm").toString();
  1870 + String jGh= m.get("jGh")==null?"":m.get("jGh").toString();
  1871 + String sGh= m.get("sGh")==null?"":m.get("sGh").toString();
  1872 + double jhzlc = 0.0,jhlc= 0.0,jcclc= 0.0,zlc= 0.0,jhnlc= 0.0,jhwlc= 0.0,
  1873 + jhnjcclc= 0.0,jhwjcclc= 0.0,zrwjcclc= 0.0,lbss= 0.0,ssgl_lz= 0.0,
  1874 + ssgl_dm= 0.0,ssgl_gz= 0.0,ssgl_jf= 0.0,ssgl_zs= 0.0,ssgl_qr= 0.0,ssgl_qc= 0.0,
  1875 + ssgl_kx= 0.0,ssgl_qh= 0.0,ssgl_yw= 0.0,ssgl_other= 0.0,ljyy=0.0,ljjcc=0.0,
  1876 + kfks=0.0,yhl=0.0,jzl=0.0,hyl=0.0,dhl=0.0,cdl=0.0;
  1877 +
  1878 + for (int j = 0; j < listLc.size(); j++) {
  1879 + Map<String, Object> map=listLc.get(j);
  1880 + if(xl_bm.equals(map.get("line").toString())
  1881 + && nbbm.equals(map.get("nbbm").toString())
  1882 + && sGh.equals(map.get("sGh")==null?"":map.get("sGh").toString())
  1883 + && jGh.equals(map.get("jGh").toString())){
  1884 + jhzlc=Arith.add(jhzlc, map.get("jhzlc"));
  1885 + jhlc =Arith.add(jhlc, map.get("jhlc"));
  1886 + jcclc=Arith.add(jcclc, map.get("jcclc"));
  1887 + zlc=Arith.add(zlc, map.get("zlc"));
  1888 + jhnlc=Arith.add(jhnlc, map.get("jhnlc"));
  1889 + jhwlc=Arith.add(jhwlc, map.get("jhwlc"));
  1890 + jhnjcclc=Arith.add(jhnjcclc, map.get("jhnjcclc"));
  1891 + jhwjcclc=Arith.add(jhwjcclc, map.get("jhwjcclc"));
  1892 + zrwjcclc=Arith.add(zrwjcclc, map.get("zrwjcclc"));
  1893 + lbss=Arith.add(lbss, map.get("lbss"));
  1894 + ssgl_lz=Arith.add(ssgl_lz, map.get("ssgl_lz"));
  1895 + ssgl_dm=Arith.add(ssgl_dm, map.get("ssgl_dm"));
  1896 + ssgl_gz=Arith.add(ssgl_gz, map.get("ssgl_gz"));
  1897 + ssgl_jf=Arith.add(ssgl_jf, map.get("ssgl_jf"));
  1898 + ssgl_zs=Arith.add(ssgl_zs, map.get("ssgl_zs"));
  1899 + ssgl_qr=Arith.add(ssgl_qr, map.get("ssgl_qr"));
  1900 + ssgl_qc=Arith.add(ssgl_qc, map.get("ssgl_qc"));
  1901 + ssgl_kx=Arith.add(ssgl_kx, map.get("ssgl_kx"));
  1902 + ssgl_qh=Arith.add(ssgl_qh, map.get("ssgl_qh"));
  1903 + ssgl_yw=Arith.add(ssgl_yw, map.get("ssgl_yw"));
  1904 + ssgl_other=Arith.add(ssgl_other, map.get("ssgl_other"));
  1905 + kfks=Arith.add(kfks, map.get("kfks"));
  1906 + ljyy=Arith.add(ljyy, map.get("ljyy"));
  1907 + ljjcc=Arith.add(ljjcc, map.get("ljjcc"));
  1908 + yhl=Arith.add(yhl, map.get("yhl"));
  1909 + jzl=Arith.add(jzl, map.get("jzl"));
  1910 + hyl=Arith.add(hyl, map.get("hyl"));
  1911 + dhl=Arith.add(dhl, map.get("dhl"));
  1912 + cdl=Arith.add(cdl, map.get("cdl"));
  1913 +
  1914 +
  1915 + }
  1916 + }
  1917 +
  1918 + Map<String, Object> newMap=new HashMap<String,Object>();
  1919 + if(date.equals(date2)){
  1920 + newMap.put("rq", date);
  1921 + }else{
  1922 + newMap.put("rq", date+"至"+date2);
  1923 + }
  1924 + newMap.put("fgs", BasicData.businessFgsCodeNameMap.get(fgsdm+"_"+gsdm));
  1925 + newMap.put("xlName", BasicData.lineCode2NameMap.get(xl_bm));
  1926 + newMap.put("jGh", jGh);
  1927 + newMap.put("jName", jGh);
  1928 + newMap.put("sGh",sGh);
  1929 + newMap.put("sName", sGh);
  1930 + newMap.put("nbbm", nbbm);
  1931 + newMap.put("jhzlc", jhzlc);
  1932 + newMap.put("jhlc", jhlc);
  1933 + newMap.put("jcclc", jcclc);
  1934 + newMap.put("zlc", zlc);
  1935 + newMap.put("jhnlc", jhnlc);
  1936 + newMap.put("jhwlc", jhwlc);
  1937 + newMap.put("jhnjcclc", jhnjcclc);
  1938 + newMap.put("jhwjcclc", jhwjcclc);
  1939 + newMap.put("zrwjcclc", zrwjcclc);
  1940 + newMap.put("lbss", lbss);
  1941 + newMap.put("ssgl_lz", ssgl_lz);
  1942 + newMap.put("ssgl_dm",ssgl_dm);
  1943 + newMap.put("ssgl_gz", ssgl_gz);
  1944 + newMap.put("ssgl_jf", ssgl_jf);
  1945 + newMap.put("ssgl_zs", ssgl_zs);
  1946 + newMap.put("ssgl_qr", ssgl_qr);
  1947 + newMap.put("ssgl_qc", ssgl_qc);
  1948 + newMap.put("ssgl_kx", ssgl_kx);
  1949 + newMap.put("ssgl_qh", ssgl_qh);
  1950 + newMap.put("ssgl_yw", ssgl_yw);
  1951 + newMap.put("ssgl_other", ssgl_other);
  1952 + newMap.put("kfks", kfks);
  1953 + newMap.put("ljyy", ljyy);
  1954 + newMap.put("ljjcc", ljjcc);
  1955 + newMap.put("yhl", yhl);
  1956 + newMap.put("jzl", jzl);
  1957 + newMap.put("hyl", hyl);
  1958 + newMap.put("dhl", dhl);
  1959 + newMap.put("cdl", cdl);
  1960 + lMap.add(newMap);
  1961 + }
  1962 + return lMap;
  1963 + }
  1964 +
1600 } 1965 }
src/main/resources/static/pages/report/countMileage/countBus/countBusMileage.html
@@ -45,12 +45,13 @@ @@ -45,12 +45,13 @@
45 <span class="item-label" style="width: 80px;">分公司: </span> 45 <span class="item-label" style="width: 80px;">分公司: </span>
46 <select class="form-control" name="subCompany" id="fgsdm" style="width: 180px;"></select> 46 <select class="form-control" name="subCompany" id="fgsdm" style="width: 180px;"></select>
47 </div> 47 </div>
48 - <div style="margin-top: 2px"></div>  
49 - <div style="display: inline-block;"> 48 + <div style="display: inline-block;margin-left: 29px;">
50 <span class="item-label" style="width: 80px;">线路: </span> 49 <span class="item-label" style="width: 80px;">线路: </span>
51 <select class="form-control" name="line" id="line" style="width: 180px;"></select> 50 <select class="form-control" name="line" id="line" style="width: 180px;"></select>
52 </div> 51 </div>
53 - <div style="display: inline-block;margin-left: 15px;"> 52 + <div style="margin-top: 2px"></div>
  53 +
  54 + <div style="display: inline-block;">
54 <span class="item-label" style="width: 80px;">开始时间: </span> 55 <span class="item-label" style="width: 80px;">开始时间: </span>
55 <input class="form-control" type="text" id="date" style="width: 180px;"/> 56 <input class="form-control" type="text" id="date" style="width: 180px;"/>
56 </div> 57 </div>
@@ -58,6 +59,13 @@ @@ -58,6 +59,13 @@
58 <span class="item-label" style="width: 80px;">结束时间: </span> 59 <span class="item-label" style="width: 80px;">结束时间: </span>
59 <input class="form-control" type="text" id="date2" style="width: 180px;"/> 60 <input class="form-control" type="text" id="date2" style="width: 180px;"/>
60 </div> 61 </div>
  62 + <div style="display: inline-block;margin-left: 15px;">
  63 + <span class="item-label" style="width: 80px;">显示分类: </span>
  64 + <select class="form-control" style="width: 120px;" id="zt">
  65 + <option value="zbh">车辆</option>
  66 + <option value="js">驾/售</option>
  67 + </select>
  68 + </div>
61 <div class="form-group"> 69 <div class="form-group">
62 <input class="btn btn-default" type="button" id="query" value="查询"/> 70 <input class="btn btn-default" type="button" id="query" value="查询"/>
63 <input class="btn btn-default" type="button" id="export" value="导出"/> 71 <input class="btn btn-default" type="button" id="export" value="导出"/>
@@ -67,43 +75,8 @@ @@ -67,43 +75,8 @@
67 <div class="portlet-body"> 75 <div class="portlet-body">
68 <div class="table-container" id="countLine" style="margin-top: 10px;overflow:auto;min-width: 906px"> 76 <div class="table-container" id="countLine" style="margin-top: 10px;overflow:auto;min-width: 906px">
69 <table class="table table-bordered table-hover table-checkable" id="forms"> 77 <table class="table table-bordered table-hover table-checkable" id="forms">
70 - <thead>  
71 - <tr>  
72 - <th colspan="26">路单数据统计表</th>  
73 - </tr>  
74 - <tr>  
75 - <td>序号</td>  
76 - <td>日期</td>  
77 - <td>所属公司</td>  
78 - <td>线路</td>  
79 - <td>车号</td>  
80 - <td>司机职号</td>  
81 - <td>司机姓名</td>  
82 - <td>售票员职号</td>  
83 - <td>售票员姓名</td>  
84 - <td>行驶里程(包括空放)</td>  
85 - <td>计划内营运里程</td>  
86 - <td>临时性多样化调度营运里程</td>  
87 - <td>计划内进出场空驶里程</td>  
88 - <td>计划外进出场空驶里程</td>  
89 - <td>空放空驶</td>  
90 - <td>故障进出场空驶里程</td>  
91 - <td>肇事进出场空驶里程</td>  
92 - <td>纠纷进出场空驶里程</td>  
93 - <td>临加营运公里</td>  
94 - <td>临加进出场空驶</td>  
95 - <td>电耗量</td>  
96 - <td>加电量</td>  
97 - <td>耗油量</td>  
98 - <td>加注量</td>  
99 - <td>非营业用油</td>  
100 - <td>计划总公里</td>  
101 - </tr>  
102 -  
103 - </thead>  
104 - <tbody class="statisticsDaily">  
105 -  
106 - </tbody> 78 +
  79 +
107 </table> 80 </table>
108 </div> 81 </div>
109 </div> 82 </div>
@@ -209,7 +182,10 @@ @@ -209,7 +182,10 @@
209 var date2 =""; 182 var date2 ="";
210 var gsdm=""; 183 var gsdm="";
211 var fgsdm=""; 184 var fgsdm="";
  185 + var zt="";
  186 + $("#countLine").height($(window).height()-280);
212 $("#query").on("click",function(){ 187 $("#query").on("click",function(){
  188 + $("#countLine").height($(window).height()-280);
213 if($("#date").val() == null || $("#date").val().trim().length == 0){ 189 if($("#date").val() == null || $("#date").val().trim().length == 0){
214 layer.msg("请选择时间范围!"); 190 layer.msg("请选择时间范围!");
215 return; 191 return;
@@ -224,6 +200,7 @@ @@ -224,6 +200,7 @@
224 date2 =$("#date2").val(); 200 date2 =$("#date2").val();
225 gsdm =$("#gsdm").val(); 201 gsdm =$("#gsdm").val();
226 fgsdm=$("#fgsdm").val(); 202 fgsdm=$("#fgsdm").val();
  203 + zt=$("#zt").val();
227 if(line=="请选择"){ 204 if(line=="请选择"){
228 line=""; 205 line="";
229 } 206 }
@@ -237,22 +214,25 @@ @@ -237,22 +214,25 @@
237 params['date'] = date; 214 params['date'] = date;
238 params['date2'] = date2; 215 params['date2'] = date2;
239 params['xlName'] = xlName; 216 params['xlName'] = xlName;
  217 + params['zt']=zt;
240 params['type'] = "query"; 218 params['type'] = "query";
241 - $get('/report/countLineMileage',params,function(result){ 219 + var tbodyHtml = template('countBusDaily',{list:""});
  220 + $get('/report/countBusMileage',params,function(result){
  221 + console.log(result);
242 // 把数据填充到模版中 222 // 把数据填充到模版中
243 - var tbodyHtml = template('statisticsDaily',{list:result}); 223 + var tbodyHtml = template('countBusDaily',{list:result,zt:zt});
244 // 把渲染好的模版html文本追加到表格中 224 // 把渲染好的模版html文本追加到表格中
245 - $('#forms .statisticsDaily').html(tbodyHtml); 225 + $('#forms').html(tbodyHtml);
246 226
247 if(result.length == 0) 227 if(result.length == 0)
248 $("#export").attr('disabled',"true"); 228 $("#export").attr('disabled',"true");
249 else 229 else
250 $("#export").removeAttr("disabled"); 230 $("#export").removeAttr("disabled");
251 - }); 231 + });
252 } 232 }
253 233
254 }); 234 });
255 - $("#countLine").height($(window).height()-280); 235 +
256 $("#export").on("click",function(){ 236 $("#export").on("click",function(){
257 var params = {}; 237 var params = {};
258 params['gsdm'] = gsdm; 238 params['gsdm'] = gsdm;
@@ -269,55 +249,79 @@ @@ -269,55 +249,79 @@
269 249
270 }); 250 });
271 </script> 251 </script>
272 -<script type="text/html" id="statisticsDaily"> 252 +<script type="text/html" id="countBusDaily">
  253 + <thead>
  254 + <tr>
  255 + <th colspan="26">路单数据统计表</th>
  256 + </tr>
  257 + <tr>
  258 + <td>序号</td>
  259 + <td>日期</td>
  260 + <td>所属公司</td>
  261 + <td>线路</td>
  262 + <td>车号</td>
  263 + {{if zt=='js'}}
  264 + <td>司机职号</td>
  265 + <td>司机姓名</td>
  266 + <td>售票员职号</td>
  267 + <td>售票员姓名</td>
  268 + {{/if}}
  269 + <td>行驶里程(包括空放)</td>
  270 + <td>计划内营运里程</td>
  271 + <td><label>临时性</label><label>多样化</label><label>调度营</label><label>运里程</label></td>
  272 + <td><label>计划内</label><label>进出场</label><label>空驶</label></td>
  273 + <td><label>计划外</label><label>进出场</label><label>空驶</label></td>
  274 + <td>空放空驶</td>
  275 + <td><label>故障</label><label>进出场</label><label>空驶</label></td>
  276 + <td><label>肇事</label><label>进出场</label><label>空驶</label></td>
  277 + <td><label>纠纷</label><label>进出场</label><label>空驶</label></td>
  278 + <td>临加营运公里</td>
  279 + <td>临加进出场空驶</td>
  280 + <td>电耗量</td>
  281 + <td>加电量</td>
  282 + <td>耗油量</td>
  283 + <td>加注量</td>
  284 + <td>非营业用油</td>
  285 + <td>计划总公里</td>
  286 + </tr>
  287 + </thead>
  288 + <tbody >
273 {{each list as obj i}} 289 {{each list as obj i}}
274 <tr> 290 <tr>
  291 + <td>{{i+1}}</td>
  292 + <td>{{obj.rq}}</td>
  293 + <td>{{obj.fgs}}</td>
275 <td>{{obj.xlName}}</td> 294 <td>{{obj.xlName}}</td>
276 - <td>{{obj.jhzlc}}</td>  
277 - <td>{{obj.jhlc}}</td>  
278 - <td>{{obj.jcclc}}</td>  
279 - <td>{{obj.sjzgl}}</td>  
280 - <td>{{obj.sjgl}}</td>  
281 - <td>{{obj.sjksgl}}</td>  
282 - <td>{{obj.ssgl}}</td>  
283 - <td>{{obj.ssbc}}</td>  
284 - <td>{{obj.ssgl_lz}}</td>  
285 - <td>{{obj.ssgl_dm}}</td>  
286 - <td>{{obj.ssgl_gz}}</td>  
287 - <td>{{obj.ssgl_jf}}</td>  
288 - <td>{{obj.ssgl_zs}}</td>  
289 - <td>{{obj.ssgl_qr}}</td>  
290 - <td>{{obj.ssgl_qc}}</td>  
291 - <td>{{obj.ssgl_kx}}</td>  
292 - <td>{{obj.ssgl_qh}}</td>  
293 - <td>{{obj.ssgl_yw}}</td>  
294 - <td>{{obj.ssgl_other}}</td>  
295 - <td>{{obj.ljgl}}</td>  
296 - <td>{{obj.jhbc}}</td>  
297 - <td>{{obj.jhbc_m}}</td>  
298 - <td>{{obj.jhbc_a}}</td>  
299 - <td>{{obj.sjbc}}</td>  
300 - <td>{{obj.sjbc_m}}</td>  
301 - <td>{{obj.sjbc_a}}</td>  
302 - <td>{{obj.ljbc}}</td>  
303 - <td>{{obj.ljbc_m}}</td>  
304 - <td>{{obj.ljbc_a}}</td>  
305 - <td>{{obj.fzbc}}</td>  
306 - <td>{{obj.fzbc_m}}</td>  
307 - <td>{{obj.fzbc_a}}</td>  
308 - <td>{{obj.dtbc}}</td>  
309 - <td>{{obj.dtbc_m}}</td>  
310 - <td>{{obj.dtbc_a}}</td>  
311 - <td>{{obj.djg}}</td>  
312 - <td>{{obj.djg_m}}</td>  
313 - <td>{{obj.djg_a}}</td>  
314 - <td>{{obj.djg_time}}</td>  
315 - <td>&nbsp;</td> 295 + <td>{{obj.nbbm}}</td>
  296 + {{if zt=='js'}}
  297 + <td>{{obj.jGh}}</td>
  298 + <td>{{obj.jName}}</td>
  299 + <td>{{obj.sGh}}</td>
  300 + <td>{{obj.sName}}</td>
  301 + {{/if}}
  302 + <td>{{obj.zlc}}</td>
  303 + <td>{{obj.jhnlc}}</td>
  304 + <td>{{obj.jhwlc}}</td>
  305 + <td>{{obj.jhnjcclc}}</td>
  306 + <td>{{obj.jhwjcclc}}</td>
  307 + <td>{{obj.kfks}}</td>
  308 + <td>{{obj.zrwjcclc}}</td>
  309 + <td>0</td>
  310 + <td>0</td>
  311 + <td>{{obj.ljyy}}</td>
  312 + <td>{{obj.ljjcc}}</td>
  313 + <td>{{obj.yhl}}</td>
  314 + <td>{{obj.jzl}}</td>
  315 + <td>{{obj.hyl}}</td>
  316 + <td>{{obj.dhl}}</td>
  317 + <td>{{obj.cdl}}</td>
  318 + <td>{{obj.jhzlc}}</td>
316 </tr> 319 </tr>
317 {{/each}} 320 {{/each}}
318 {{if list.length == 0}} 321 {{if list.length == 0}}
319 <tr> 322 <tr>
320 - <td colspan="44"><h6 class="muted">没有找到相关数据</h6></td> 323 + <td colspan="26"><h6 class="muted">没有找到相关数据</h6></td>
321 </tr> 324 </tr>
322 {{/if}} 325 {{/if}}
  326 +</tbody>
323 </script> 327 </script>
324 \ No newline at end of file 328 \ No newline at end of file