Commit 163a5e69ce0de6952325884f4c8a727ee5a823cd

Authored by 游瑞烽
1 parent c2f9e8ab

1.录单明细月年报表修改

2.线路版本修改增加版本名称
src/main/java/com/bsth/XDApplication.java
@@ -71,6 +71,8 @@ public class XDApplication implements CommandLineRunner { @@ -71,6 +71,8 @@ public class XDApplication implements CommandLineRunner {
71 71
72 @Autowired 72 @Autowired
73 GpsDataLoaderThread gpsDataLoader; 73 GpsDataLoaderThread gpsDataLoader;
  74 + @Autowired
  75 + RfidDataLoaderThread rfidDataLoader;
74 76
75 @Autowired 77 @Autowired
76 OfflineMonitorThread offlineMonitorThread; 78 OfflineMonitorThread offlineMonitorThread;
src/main/java/com/bsth/repository/LineVersionsRepository.java
@@ -36,9 +36,9 @@ public interface LineVersionsRepository extends BaseRepository<LineVersions, Int @@ -36,9 +36,9 @@ public interface LineVersionsRepository extends BaseRepository<LineVersions, Int
36 @Transactional 36 @Transactional
37 @Modifying 37 @Modifying
38 @Query(value = "UPDATE LineVersions lv set lv.line=?2, lv.lineCode=?3, lv.startDate=?4, lv.endDate=?5, " 38 @Query(value = "UPDATE LineVersions lv set lv.line=?2, lv.lineCode=?3, lv.startDate=?4, lv.endDate=?5, "
39 - + "lv.versions=?6, lv.status=?7, lv.remark=?8 where lv.id=?1") 39 + + "lv.versions=?6, lv.status=?7, lv.remark=?8, lv.name=?9 where lv.id=?1")
40 public int update(Integer id, Line line, String lineCode, Date startDate, Date endDate, Integer versions, Integer status, 40 public int update(Integer id, Line line, String lineCode, Date startDate, Date endDate, Integer versions, Integer status,
41 - String remark); 41 + String remark,String name);
42 42
43 /** 43 /**
44 * 查询待更新线路的线路版本 44 * 查询待更新线路的线路版本
src/main/java/com/bsth/repository/calc/CalcWaybillRepository.java
@@ -74,17 +74,17 @@ public interface CalcWaybillRepository extends BaseRepository<CalcWaybill, Integ @@ -74,17 +74,17 @@ public interface CalcWaybillRepository extends BaseRepository<CalcWaybill, Integ
74 74
75 75
76 //按照时间段统计,公司下线路 (驾驶员) 76 //按照时间段统计,公司下线路 (驾驶员)
77 - @Query(value="select DISTINCT c from CalcWaybill c where c.xl like %?1% and c.rqStr between ?2 and ?3 and c.gsdm like %?4% and c.fgsdm like %?5% order by c.jGh,c.xl,c.rq")  
78 - List<CalcWaybill> scheduleByJsy2(String line,String date,String date2,String gsdm,String fgsdm); 77 + @Query(value="select DISTINCT c from CalcWaybill c where c.xl in(?1) and c.rqStr between ?2 and ?3 and c.gsdm in(?4) and c.fgsdm in(?5) order by c.jGh,c.fgsdm,c.xl,c.rq")
  78 + List<CalcWaybill> scheduleByJsy2(List<String> line,String date,String date2,List<String> gsdm,List<String> fgsdm);
79 //按照时间段统计,公司下线路 (售票员) coalesce(c.sGh,'') 79 //按照时间段统计,公司下线路 (售票员) coalesce(c.sGh,'')
80 - @Query(value="select DISTINCT c from CalcWaybill c where c.xl like %?1% and c.rqStr between ?2 and ?3 and c.gsdm like %?4% and c.fgsdm like %?5% and c.sGh <> null and c.sGh <> '' order by c.sGh,c.xl,c.rq")  
81 - List<CalcWaybill> scheduleBySpy2(String line,String date,String date2,String gsdm,String fgsdm); 80 + @Query(value="select DISTINCT c from CalcWaybill c where c.xl in(?1) and c.rqStr between ?2 and ?3 and c.gsdm in(?4) and c.fgsdm in(?5) and c.sGh <> null and c.sGh <> '' order by c.sGh,c.fgsdm,c.xl,c.rq")
  81 + List<CalcWaybill> scheduleBySpy2(List<String> line,String date,String date2,List<String> gsdm,List<String> fgsdm);
82 //按照时间段统计,公司下线路 (车辆自编号) 82 //按照时间段统计,公司下线路 (车辆自编号)
83 - @Query(value="select DISTINCT c from CalcWaybill c where c.xl like %?1% and c.rqStr between ?2 and ?3 and c.gsdm like %?4% and c.fgsdm like %?5% order by c.cl,c.xl,c.rq")  
84 - List<CalcWaybill> scheduleByZbh2(String line,String date,String date2,String gsdm,String fgsdm); 83 + @Query(value="select DISTINCT c from CalcWaybill c where c.xl in(?1) and c.rqStr between ?2 and ?3 and c.gsdm in(?4) and c.fgsdm in(?5) order by c.cl,c.fgsdm,c.xl,c.rq")
  84 + List<CalcWaybill> scheduleByZbh2(List<String> line,String date,String date2,List<String> gsdm,List<String> fgsdm);
85 //按照时间段统计,公司下线路 排序不同 85 //按照时间段统计,公司下线路 排序不同
86 - @Query(value="select DISTINCT c from CalcWaybill c where c.xl like %?1% and c.rqStr between ?2 and ?3 and c.gsdm like %?4% and c.fgsdm like %?5% order by c.xl,c.rq")  
87 - List<CalcWaybill> scheduleByDateAndLineTjPx(String line,String date,String date2,String gsdm,String fgsdm); 86 + @Query(value="select DISTINCT c from CalcWaybill c where c.xl in(?1) and c.rqStr between ?2 and ?3 and c.gsdm in(?4) and c.fgsdm in(?5) order by c.fgsdm,c.xl,c.rq")
  87 + List<CalcWaybill> scheduleByDateAndLineTjPx(List<String> line,String date,String date2,List<String> gsdm,List<String> fgsdm);
88 //按照时间段统计,单条线路 排序不同 88 //按照时间段统计,单条线路 排序不同
89 @Query(value="select DISTINCT c from CalcWaybill c where c.xl = ?1 and c.rqStr between ?2 and ?3 order by c.xl,c.rq") 89 @Query(value="select DISTINCT c from CalcWaybill c where c.xl = ?1 and c.rqStr between ?2 and ?3 order by c.xl,c.rq")
90 List<CalcWaybill> scheduleByDateAndLineTjPx2(String line,String date,String date2); 90 List<CalcWaybill> scheduleByDateAndLineTjPx2(String line,String date,String date2);
src/main/java/com/bsth/service/calc/impl/CalcWaybillServiceImpl.java
1 package com.bsth.service.calc.impl; 1 package com.bsth.service.calc.impl;
2 2
3 -import java.sql.ResultSet;  
4 -import java.sql.SQLException;  
5 -import java.text.DecimalFormat;  
6 -import java.text.ParseException;  
7 -import java.text.SimpleDateFormat;  
8 -import java.util.*;  
9 -import java.util.Map.Entry;  
10 -  
11 -import javax.transaction.Transactional;  
12 -  
13 import com.alibaba.fastjson.JSON; 3 import com.alibaba.fastjson.JSON;
14 import com.alibaba.fastjson.JSONArray; 4 import com.alibaba.fastjson.JSONArray;
15 import com.bsth.common.ResponseCode; 5 import com.bsth.common.ResponseCode;
@@ -21,7 +11,6 @@ import com.bsth.entity.calc.CalcLineMileage; @@ -21,7 +11,6 @@ import com.bsth.entity.calc.CalcLineMileage;
21 import com.bsth.entity.calc.CalcStatistics; 11 import com.bsth.entity.calc.CalcStatistics;
22 import com.bsth.entity.calc.CalcWaybill; 12 import com.bsth.entity.calc.CalcWaybill;
23 import com.bsth.entity.calc.CalcWaybillDetail; 13 import com.bsth.entity.calc.CalcWaybillDetail;
24 -import com.bsth.entity.mcy_forms.Singledata;  
25 import com.bsth.entity.oil.Dlb; 14 import com.bsth.entity.oil.Dlb;
26 import com.bsth.entity.oil.Ylb; 15 import com.bsth.entity.oil.Ylb;
27 import com.bsth.entity.realcontrol.ChildTaskPlan; 16 import com.bsth.entity.realcontrol.ChildTaskPlan;
@@ -42,12 +31,10 @@ import com.bsth.service.realcontrol.ScheduleRealInfoService; @@ -42,12 +31,10 @@ import com.bsth.service.realcontrol.ScheduleRealInfoService;
42 import com.bsth.service.report.CulateMileageService; 31 import com.bsth.service.report.CulateMileageService;
43 import com.bsth.service.report.ReportService; 32 import com.bsth.service.report.ReportService;
44 import com.bsth.util.Arith; 33 import com.bsth.util.Arith;
45 -import com.bsth.util.BatchSaveUtils;  
46 import com.bsth.util.ReportUtils; 34 import com.bsth.util.ReportUtils;
47 import com.github.stuxuhai.jpinyin.PinyinException; 35 import com.github.stuxuhai.jpinyin.PinyinException;
48 import com.github.stuxuhai.jpinyin.PinyinFormat; 36 import com.github.stuxuhai.jpinyin.PinyinFormat;
49 import com.github.stuxuhai.jpinyin.PinyinHelper; 37 import com.github.stuxuhai.jpinyin.PinyinHelper;
50 -  
51 import org.apache.commons.lang3.StringUtils; 38 import org.apache.commons.lang3.StringUtils;
52 import org.slf4j.Logger; 39 import org.slf4j.Logger;
53 import org.slf4j.LoggerFactory; 40 import org.slf4j.LoggerFactory;
@@ -57,6 +44,14 @@ import org.springframework.jdbc.core.JdbcTemplate; @@ -57,6 +44,14 @@ import org.springframework.jdbc.core.JdbcTemplate;
57 import org.springframework.jdbc.core.RowMapper; 44 import org.springframework.jdbc.core.RowMapper;
58 import org.springframework.stereotype.Service; 45 import org.springframework.stereotype.Service;
59 46
  47 +import javax.transaction.Transactional;
  48 +import java.sql.ResultSet;
  49 +import java.sql.SQLException;
  50 +import java.text.DecimalFormat;
  51 +import java.text.ParseException;
  52 +import java.text.SimpleDateFormat;
  53 +import java.util.*;
  54 +
60 /** 55 /**
61 * Created by 17/11/16. 56 * Created by 17/11/16.
62 */ 57 */
@@ -1810,17 +1805,41 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer @@ -1810,17 +1805,41 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
1810 1805
1811 @Override 1806 @Override
1812 public List<List<String>> calcDetailMonthly(Map<String, Object> map) { 1807 public List<List<String>> calcDetailMonthly(Map<String, Object> map) {
1813 - String gsdm=""; 1808 +// String gsdm="";
  1809 +// if(map.get("gsdm")!=null){
  1810 +// gsdm=map.get("gsdm").toString().trim();
  1811 +// }
  1812 +// String fgsdm="";
  1813 +// if(map.get("fgsdm")!=null){
  1814 +// fgsdm=map.get("fgsdm").toString().trim();
  1815 +// }
  1816 + List<String> gsdm= new ArrayList<>();
  1817 + String gsdmStr = "";
1814 if(map.get("gsdm")!=null){ 1818 if(map.get("gsdm")!=null){
1815 - gsdm=map.get("gsdm").toString().trim(); 1819 + gsdmStr = map.get("gsdm").toString().trim();
  1820 + String[] gsdms = gsdmStr.split(",");
  1821 + for (int i = 0; i < gsdms.length; i++){
  1822 + gsdm.add(gsdms[i]);
  1823 + }
1816 } 1824 }
1817 - String fgsdm=""; 1825 + List<String> fgsdm= new ArrayList<>();
  1826 + String fgsdmStr = "";
1818 if(map.get("fgsdm")!=null){ 1827 if(map.get("fgsdm")!=null){
1819 - fgsdm=map.get("fgsdm").toString().trim(); 1828 + fgsdmStr = map.get("fgsdm").toString().trim();
  1829 + String[] fgsdms = fgsdmStr.split(",");
  1830 + for (int i = 0; i < fgsdms.length; i++){
  1831 + fgsdm.add(fgsdms[i]);
  1832 + }
1820 } 1833 }
1821 - String line=""; 1834 +// String line= null;
  1835 + List<String> line= new ArrayList<>();
  1836 + String lineStr = "";
1822 if(map.get("lineCode")!=null){ 1837 if(map.get("lineCode")!=null){
1823 - line=map.get("lineCode").toString().trim(); 1838 + lineStr = map.get("lineCode").toString().trim();
  1839 + String[] lines = lineStr.split(",");
  1840 + for (int i = 0; i < lines.length; i++){
  1841 + line.add(lines[i]);
  1842 + }
1824 } 1843 }
1825 String startDate=""; 1844 String startDate="";
1826 if(map.get("startDate")!=null){ 1845 if(map.get("startDate")!=null){
@@ -1830,10 +1849,6 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer @@ -1830,10 +1849,6 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
1830 if(map.get("endDate")!=null){ 1849 if(map.get("endDate")!=null){
1831 endDate=map.get("endDate").toString().trim(); 1850 endDate=map.get("endDate").toString().trim();
1832 } 1851 }
1833 - String xlName="";  
1834 - if(map.get("xlName")!=null){  
1835 - xlName=map.get("xlName").toString().trim();  
1836 - }  
1837 String type=""; 1852 String type="";
1838 if(map.get("type")!=null){ 1853 if(map.get("type")!=null){
1839 type=map.get("type").toString().trim(); 1854 type=map.get("type").toString().trim();
@@ -1846,6 +1861,18 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer @@ -1846,6 +1861,18 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
1846 if(map.get("itemDetails")!=null){ 1861 if(map.get("itemDetails")!=null){
1847 itemDetails=map.get("itemDetails").toString().trim(); 1862 itemDetails=map.get("itemDetails").toString().trim();
1848 } 1863 }
  1864 +// Boolean item=false;
  1865 + /*String item="";
  1866 + if(map.get("item")!=null){
  1867 + if("dh".equals(map.get("item").toString().trim()))
  1868 + item=" where c.sfdc = 1";
  1869 +// item=false;
  1870 + else if ("dh".equals(map.get("item").toString().trim()))
  1871 + item=" where c.sfdc = 0";
  1872 +// item=true;
  1873 + else
  1874 + item="";
  1875 + }*/
1849 String timeType=map.get("timeType").toString().trim(); 1876 String timeType=map.get("timeType").toString().trim();
1850 1877
1851 List<List<String>> resList = new ArrayList<>(); 1878 List<List<String>> resList = new ArrayList<>();
@@ -1871,7 +1898,7 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer @@ -1871,7 +1898,7 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
1871 day2 = Integer.parseInt(endDate.substring(5,7)); 1898 day2 = Integer.parseInt(endDate.substring(5,7));
1872 for(int i=day; i<=day2; i++){ 1899 for(int i=day; i<=day2; i++){
1873 Map<String, CalcWaybillDetail> daym = new HashMap<>(); 1900 Map<String, CalcWaybillDetail> daym = new HashMap<>();
1874 - daym.put(startDate.substring(0,7),this.initCalcWaybillDetail()); 1901 + daym.put(startDate.substring(0,5)+(i<10?"0"+i:i),this.initCalcWaybillDetail());
1875 dayList.add(daym); 1902 dayList.add(daym);
1876 } 1903 }
1877 startDate += "-01"; 1904 startDate += "-01";
@@ -1917,14 +1944,14 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer @@ -1917,14 +1944,14 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
1917 // 把油量和电量数据查出来,封装成Map,计算时直接取 1944 // 把油量和电量数据查出来,封装成Map,计算时直接取
1918 if(flag != 2 ){ 1945 if(flag != 2 ){
1919 String linesql=""; 1946 String linesql="";
1920 - if(!line.equals("")){  
1921 - linesql +=" and xlbm ='"+line+"' "; 1947 + if(!lineStr.equals("")){
  1948 + linesql +=" and xlbm in("+lineStr+") ";
1922 } 1949 }
1923 - if(!gsdm.equals("")){  
1924 - linesql +=" and ssgsdm ='"+gsdm+"' "; 1950 + if(!gsdmStr.equals("")){
  1951 + linesql +=" and ssgsdm in("+gsdmStr+") ";
1925 } 1952 }
1926 - if(!fgsdm.equals("")){  
1927 - linesql +=" and fgsdm ='"+fgsdm+"' "; 1953 + if(!fgsdmStr.equals("")){
  1954 + linesql +=" and fgsdm in("+fgsdmStr+") ";
1928 } 1955 }
1929 String ylsql="SELECT * FROM bsth_c_ylb" 1956 String ylsql="SELECT * FROM bsth_c_ylb"
1930 // String ylsql="SELECT id,xlbm,nbbm,jsy,jzl,czyl,jzyl,yh,sh,fgsdm FROM bsth_c_ylb" 1957 // String ylsql="SELECT id,xlbm,nbbm,jsy,jzl,czyl,jzyl,yh,sh,fgsdm FROM bsth_c_ylb"
@@ -2021,11 +2048,11 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer @@ -2021,11 +2048,11 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2021 // 横向数据的第几天下标 2048 // 横向数据的第几天下标
2022 int dayIndex = 0; 2049 int dayIndex = 0;
2023 int dayIndexPrev = -1; 2050 int dayIndexPrev = -1;
2024 - CalcWaybillDetail cwNext = null;  
2025 // 报表纵向列数据生成 2051 // 报表纵向列数据生成
2026 for (int i = 0; listNew.size() > i; i++) { 2052 for (int i = 0; listNew.size() > i; i++) {
2027 CalcWaybillDetail cw = listNew.get(i); 2053 CalcWaybillDetail cw = listNew.get(i);
2028 2054
  2055 + CalcWaybillDetail cwNext = new CalcWaybillDetail();
2029 if(i<listNew.size()-1){ 2056 if(i<listNew.size()-1){
2030 cwNext = listNew.get(i+1); 2057 cwNext = listNew.get(i+1);
2031 } 2058 }
@@ -2034,53 +2061,16 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer @@ -2034,53 +2061,16 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2034 String cwy = cw.getsGh(); 2061 String cwy = cw.getsGh();
2035 String cl = cw.getCl(); 2062 String cl = cw.getCl();
2036 2063
2037 - String key = "",keyNext = "";  
2038 - if(flag == 1){  
2039 - if(cw.getjGh() != null && cw.getjName() != null)  
2040 - key += cw.getjGh() + "/" + cw.getjName();  
2041 - if(cwNext.getjGh() != null && cwNext.getjName() != null)  
2042 - keyNext += cwNext.getjGh() + "/" + cwNext.getjName();  
2043 - } else if(flag == 2){  
2044 - if(cw.getsGh() != null && cw.getsName() != null)  
2045 - key += cw.getsGh() + "/" + cw.getsName();  
2046 - if(cwNext.getsGh() != null && cwNext.getsName() != null)  
2047 - keyNext += cwNext.getsGh() + "/" + cwNext.getsName();  
2048 - } else if(flag == 3){  
2049 - if(cw.getCl() != null)  
2050 - key += cw.getCl();  
2051 - if(cwNext.getCl() != null)  
2052 - keyNext += cwNext.getCl();  
2053 - }  
2054 - key = cw.getXl() + "/" + key;  
2055 - keyNext = cwNext.getXl() + "/" + keyNext;  
2056 - CalcWaybillDetail calc = new CalcWaybillDetail();  
2057 - List<CalcWaybillDetail> calcList = new ArrayList<>();  
2058 - // 是否一行数据的第一个、生成key,calc为刚添加,不去和cw相加  
2059 - boolean ifFirst = false;  
2060 - if(keyMapList.containsKey(key)){  
2061 - calc = keyMap.get(key);  
2062 - calcList = keyMapList.get(key);  
2063 - } else {  
2064 -// calc = this.initCalcWaybillDetail();  
2065 - // 深度拷贝对象  
2066 - BeanUtils.copyProperties(cw,calc);  
2067 - keyMap.put(key, calc);  
2068 - dayIndex = 0;  
2069 - ifFirst = true;  
2070 - }  
2071 -  
2072 -  
2073 Ylb y = new Ylb(); 2064 Ylb y = new Ylb();
2074 Dlb d = new Dlb(); 2065 Dlb d = new Dlb();
2075 // 统计类型不同统计的左边列不同 2066 // 统计类型不同统计的左边列不同
  2067 + // 赋值油、电量
2076 if(flag != 2){ 2068 if(flag != 2){
2077 // 取了之后删除,防止重复取,应为添加的时候已经合并了 2069 // 取了之后删除,防止重复取,应为添加的时候已经合并了
2078 y = ylbMap.get(cw.getRq().getTime()+"_"+cw.getXl()+"_"+cw.getjGh()+"_"+cw.getCl()); 2070 y = ylbMap.get(cw.getRq().getTime()+"_"+cw.getXl()+"_"+cw.getjGh()+"_"+cw.getCl());
2079 ylbMap.remove(cw.getRq().getTime()+"_"+cw.getXl()+"_"+cw.getjGh()+"_"+cw.getCl()); 2071 ylbMap.remove(cw.getRq().getTime()+"_"+cw.getXl()+"_"+cw.getjGh()+"_"+cw.getCl());
2080 d = dlbMap.get(cw.getRq().getTime()+"_"+cw.getXl()+"_"+cw.getjGh()+"_"+cw.getCl()); 2072 d = dlbMap.get(cw.getRq().getTime()+"_"+cw.getXl()+"_"+cw.getjGh()+"_"+cw.getCl());
2081 dlbMap.remove(cw.getRq().getTime()+"_"+cw.getXl()+"_"+cw.getjGh()+"_"+cw.getCl()); 2073 dlbMap.remove(cw.getRq().getTime()+"_"+cw.getXl()+"_"+cw.getjGh()+"_"+cw.getCl());
2082 -// y = ylbMap.get(cw.getRq().getTime()+"_"+cw.getXl()+"_"+cw.getjGh()+"_"+cw.getjName()+"_"+cw.getCl());  
2083 -// d = dlbMap.get(cw.getRq().getTime()+"_"+cw.getXl()+"_"+cw.getjGh()+"_"+cw.getjName()+"_"+cw.getCl());  
2084 if(y != null){ 2074 if(y != null){
2085 cw.setZlc(y.getZlc()); 2075 cw.setZlc(y.getZlc());
2086 cw.setYh(y.getYh()); 2076 cw.setYh(y.getYh());
@@ -2103,11 +2093,41 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer @@ -2103,11 +2093,41 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2103 cw.setCdl(d.getCdl()); 2093 cw.setCdl(d.getCdl());
2104 cw.setBglyh((d.getZlc()==0? 0:100*d.getHd()/d.getZlc())); 2094 cw.setBglyh((d.getZlc()==0? 0:100*d.getHd()/d.getZlc()));
2105 } 2095 }
  2096 + }
2106 2097
2107 - }/* else if(flag == 3){  
2108 - y = ylbCLMap.get(cw.getRq().getTime()+"_"+cw.getXl()+"_"+cw.getCl());  
2109 - d = dlbCLMap.get(cw.getRq().getTime()+"_"+cw.getXl()+"_"+cw.getCl());  
2110 - }*/ 2098 + String key = "",keyNext = "";
  2099 + if(flag == 1){
  2100 + if(cw.getjGh() != null && cw.getjName() != null)
  2101 + key += cw.getjGh() + "/" + cw.getjName();
  2102 + if(cwNext.getjGh() != null && cwNext.getjName() != null)
  2103 + keyNext += cwNext.getjGh() + "/" + cwNext.getjName();
  2104 + } else if(flag == 2){
  2105 + if(cw.getsGh() != null && cw.getsName() != null)
  2106 + key += cw.getsGh() + "/" + cw.getsName();
  2107 + if(cwNext.getsGh() != null && cwNext.getsName() != null)
  2108 + keyNext += cwNext.getsGh() + "/" + cwNext.getsName();
  2109 + } else if(flag == 3){
  2110 + if(cw.getCl() != null)
  2111 + key += cw.getCl();
  2112 + if(cwNext.getCl() != null)
  2113 + keyNext += cwNext.getCl();
  2114 + }
  2115 + key = cw.getFgsdm()+"/"+cw.getXl() + "/" + key;
  2116 + keyNext = cw.getFgsdm()+"/"+cwNext.getXl() + "/" + keyNext;
  2117 + CalcWaybillDetail calc = new CalcWaybillDetail();
  2118 + List<CalcWaybillDetail> calcList = new ArrayList<>();
  2119 + // 是否一行数据的第一个、生成key,calc为刚添加,不去和cw相加
  2120 + boolean ifFirst = false;
  2121 + if(keyMapList.containsKey(key)){
  2122 + calc = keyMap.get(key);
  2123 + calcList = keyMapList.get(key);
  2124 + } else {
  2125 + // 深度拷贝对象
  2126 + BeanUtils.copyProperties(cw,calc);
  2127 + keyMap.put(key, calc);
  2128 + dayIndex = 0;
  2129 + ifFirst = true;
  2130 + }
2111 2131
2112 CalcWaybillDetail dayc = null; 2132 CalcWaybillDetail dayc = null;
2113 if("m".equals(timeType)){ 2133 if("m".equals(timeType)){
@@ -2148,13 +2168,6 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer @@ -2148,13 +2168,6 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2148 2168
2149 // 把下标 2169 // 把下标
2150 dayIndexPrev = dayIndex; 2170 dayIndexPrev = dayIndex;
2151 -  
2152 -// if(cw.getjGh().equals("007951") && cw.getXlName().equals("浦东40路")){  
2153 -// System.out.println();  
2154 -// }  
2155 - /*if(cw.getCl().equals("W0F-058") || cw.getCl().equals("W2F-051") || cw.getCl().equals("S2E-029") || cw.getCl().equals("W1G-058")){  
2156 - System.out.println();  
2157 - }*/  
2158 // timeType 为m 月报表时,日期不一样就换列,为y 年报表是,月份不一样换列 2171 // timeType 为m 月报表时,日期不一样就换列,为y 年报表是,月份不一样换列
2159 if("m".equals(timeType) && cwNext != null && key.equals(keyNext) && !cw.getRqStr().equals(cwNext.getRqStr())){ 2172 if("m".equals(timeType) && cwNext != null && key.equals(keyNext) && !cw.getRqStr().equals(cwNext.getRqStr())){
2160 dayIndex++; 2173 dayIndex++;
@@ -2166,8 +2179,8 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer @@ -2166,8 +2179,8 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2166 calcList.add(new CalcWaybillDetail()); 2179 calcList.add(new CalcWaybillDetail());
2167 dayIndex++; 2180 dayIndex++;
2168 } 2181 }
  2182 + // 换列了从头开始,上一个下标赋值为初始
2169 dayIndexPrev = -1; 2183 dayIndexPrev = -1;
2170 -// dayIndexPrev = dayIndex = 0;  
2171 } 2184 }
2172 // 右边可变列添加数据 2185 // 右边可变列添加数据
2173 keyMapList.put(key,calcList); 2186 keyMapList.put(key,calcList);
@@ -2196,14 +2209,17 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer @@ -2196,14 +2209,17 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2196 for(int i=day; i<=day2; i++){ 2209 for(int i=day; i<=day2; i++){
2197 list1.add((i<10?"0"+i:i)+("m".equals(timeType)?"日":"月")); 2210 list1.add((i<10?"0"+i:i)+("m".equals(timeType)?"日":"月"));
2198 } 2211 }
  2212 + if("bgldh".equals(itemDetails) || "bglyh".equals(itemDetails)){
  2213 + list1.add("平均");
  2214 + } else
  2215 + list1.add("合计");
2199 resList.add(list1); 2216 resList.add(list1);
2200 2217
2201 int i=1; 2218 int i=1;
2202 2219
2203 DecimalFormat df = new DecimalFormat("0.00");//格式化小数 2220 DecimalFormat df = new DecimalFormat("0.00");//格式化小数
  2221 + double allNum = 0.0;
2204 while (iter.hasNext()) { 2222 while (iter.hasNext()) {
2205 -// List list = new ArrayList();  
2206 -  
2207 Map.Entry entry = (Map.Entry) iter.next(); 2223 Map.Entry entry = (Map.Entry) iter.next();
2208 // 获取key 2224 // 获取key
2209 String key = (String) entry.getKey(); 2225 String key = (String) entry.getKey();
@@ -2236,6 +2252,10 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer @@ -2236,6 +2252,10 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2236 listStr.add(df.format(c.getLjyylc()+c.getLjfyylc())); 2252 listStr.add(df.format(c.getLjyylc()+c.getLjfyylc()));
2237 listStr.add(df.format(c.getLblc())); 2253 listStr.add(df.format(c.getLblc()));
2238 listStr.add(c.getTs()+""); 2254 listStr.add(c.getTs()+"");
  2255 + c.setBglhd(c.getBglhd()/c.getTs());
  2256 + c.setBglyh(c.getBglyh()/c.getTs());
  2257 + // 把列合计的数添加到最后一个
  2258 + cList.add(c);
2239 // DecimalFormat df = new DecimalFormat("0.00");//格式化小数 2259 // DecimalFormat df = new DecimalFormat("0.00");//格式化小数
2240 for (CalcWaybillDetail c1:cList) { 2260 for (CalcWaybillDetail c1:cList) {
2241 if(StringUtils.isEmpty(c1.getXl())) { 2261 if(StringUtils.isEmpty(c1.getXl())) {
@@ -2254,7 +2274,8 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer @@ -2254,7 +2274,8 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2254 } else if("cccy".equals(itemDetails)){ 2274 } else if("cccy".equals(itemDetails)){
2255 listStr.add(df.format(c1.getCzyl())); 2275 listStr.add(df.format(c1.getCzyl()));
2256 } else if("bglyh".equals(itemDetails)){ 2276 } else if("bglyh".equals(itemDetails)){
2257 - listStr.add(df.format(c1.getBglyh())); 2277 +// listStr.add(df.format(c1.getBglyh()));
  2278 + listStr.add(df.format(c1.getZlc()==0? 0:100*c1.getYh()/c1.getZlc()));
2258 } else if("dh".equals(itemDetails)){ 2279 } else if("dh".equals(itemDetails)){
2259 listStr.add(df.format(c1.getHd())); 2280 listStr.add(df.format(c1.getHd()));
2260 } else if("cdl".equals(itemDetails)){ 2281 } else if("cdl".equals(itemDetails)){
@@ -2264,7 +2285,8 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer @@ -2264,7 +2285,8 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2264 } else if("jccd".equals(itemDetails)){ 2285 } else if("jccd".equals(itemDetails)){
2265 listStr.add(df.format(c1.getJzcd())); 2286 listStr.add(df.format(c1.getJzcd()));
2266 } else if("bgldh".equals(itemDetails)){ 2287 } else if("bgldh".equals(itemDetails)){
2267 - listStr.add(df.format(c1.getBglhd())); 2288 + listStr.add(df.format(c1.getZlc()==0? 0:100*c1.getHd()/c1.getZlc()));
  2289 +// listStr.add(df.format(c1.getBglhd()));
2268 } else if("zgl".equals(itemDetails)){ 2290 } else if("zgl".equals(itemDetails)){
2269 listStr.add(df.format((c1.getSjyylc()+c1.getSjfyylc()+c1.getLjfyylc()+c1.getLjyylc()))); 2291 listStr.add(df.format((c1.getSjyylc()+c1.getSjfyylc()+c1.getLjfyylc()+c1.getLjyylc())));
2270 } else if("jhgl".equals(itemDetails)){ 2292 } else if("jhgl".equals(itemDetails)){
@@ -2276,6 +2298,7 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer @@ -2276,6 +2298,7 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2276 } 2298 }
2277 } 2299 }
2278 } 2300 }
  2301 + allNum = allNum + Double.parseDouble(listStr.get(listStr.size()-1));
2279 resList.add(listStr); 2302 resList.add(listStr);
2280 } 2303 }
2281 2304
@@ -2289,6 +2312,7 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer @@ -2289,6 +2312,7 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2289 listEnd.add(df.format(zjCalc.getLjfyylc()+zjCalc.getLjyylc())); 2312 listEnd.add(df.format(zjCalc.getLjfyylc()+zjCalc.getLjyylc()));
2290 listEnd.add(df.format(zjCalc.getLblc())); 2313 listEnd.add(df.format(zjCalc.getLblc()));
2291 listEnd.add(zjCalc.getTs()+""); 2314 listEnd.add(zjCalc.getTs()+"");
  2315 + double all = 0.0;
2292 for (Map<String, CalcWaybillDetail> cmap:dayList) { 2316 for (Map<String, CalcWaybillDetail> cmap:dayList) {
2293 for (Map.Entry<String, CalcWaybillDetail> cw : cmap.entrySet()) { 2317 for (Map.Entry<String, CalcWaybillDetail> cw : cmap.entrySet()) {
2294 // System.out.println("key = " + cw.getKey() + ", value = " + cw.getValue()); 2318 // System.out.println("key = " + cw.getKey() + ", value = " + cw.getValue());
@@ -2306,7 +2330,8 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer @@ -2306,7 +2330,8 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2306 } else if("cccy".equals(itemDetails)){ 2330 } else if("cccy".equals(itemDetails)){
2307 listEnd.add(df.format(c1.getCzyl())); 2331 listEnd.add(df.format(c1.getCzyl()));
2308 } else if("bglyh".equals(itemDetails)){ 2332 } else if("bglyh".equals(itemDetails)){
2309 - listEnd.add(df.format(c1.getBglyh())); 2333 +// listEnd.add(df.format(c1.getBglyh()));
  2334 + listEnd.add(df.format(c1.getZlc()==0? 0:100*c1.getYh()/c1.getZlc()));
2310 } else if("dh".equals(itemDetails)){ 2335 } else if("dh".equals(itemDetails)){
2311 listEnd.add(df.format(c1.getHd())); 2336 listEnd.add(df.format(c1.getHd()));
2312 } else if("cdl".equals(itemDetails)){ 2337 } else if("cdl".equals(itemDetails)){
@@ -2316,7 +2341,8 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer @@ -2316,7 +2341,8 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2316 } else if("jccd".equals(itemDetails)){ 2341 } else if("jccd".equals(itemDetails)){
2317 listEnd.add(df.format(c1.getJzcd())); 2342 listEnd.add(df.format(c1.getJzcd()));
2318 } else if("bgldh".equals(itemDetails)){ 2343 } else if("bgldh".equals(itemDetails)){
2319 - listEnd.add(df.format(c1.getBglhd())); 2344 +// listEnd.add(df.format(c1.getBglhd()));
  2345 + listEnd.add(df.format(c1.getZlc()==0? 0:100*c1.getHd()/c1.getZlc()));
2320 } else if("zgl".equals(itemDetails)){ 2346 } else if("zgl".equals(itemDetails)){
2321 listEnd.add((df.format(c1.getSjyylc()+c1.getSjfyylc()+c1.getLjfyylc()+c1.getLjyylc()))); 2347 listEnd.add((df.format(c1.getSjyylc()+c1.getSjfyylc()+c1.getLjfyylc()+c1.getLjyylc())));
2322 } else if("jhgl".equals(itemDetails)){ 2348 } else if("jhgl".equals(itemDetails)){
@@ -2325,10 +2351,18 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer @@ -2325,10 +2351,18 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2325 listEnd.add(c1.getSjyybc()+c1.getSjfyybc()+""); 2351 listEnd.add(c1.getSjyybc()+c1.getSjfyybc()+"");
2326 } else if("jhbc".equals(itemDetails)){ 2352 } else if("jhbc".equals(itemDetails)){
2327 listEnd.add((c1.getJhyybc()+c1.getJhfyybc())+""); 2353 listEnd.add((c1.getJhyybc()+c1.getJhfyybc())+"");
2328 -  
2329 } 2354 }
2330 } 2355 }
  2356 + all = all + Double.parseDouble(listEnd.get(listEnd.size()-1));
  2357 + }
  2358 +
  2359 + // 百公里电油耗时为平均数
  2360 + if("bgldh".equals(itemDetails) || "bglyh".equals(itemDetails)){
  2361 + allNum = allNum/keyMap.size();
  2362 + all = all/dayList.size();
2331 } 2363 }
  2364 +// listEnd.add(df.format(allNum)+"/"+df.format(all));
  2365 + listEnd.add(df.format(all));
2332 resList.add(listEnd); 2366 resList.add(listEnd);
2333 2367
2334 return resList; 2368 return resList;
src/main/java/com/bsth/service/impl/LineVersionsServiceImpl.java
@@ -89,12 +89,13 @@ public class LineVersionsServiceImpl extends BaseServiceImpl&lt;LineVersions, Integ @@ -89,12 +89,13 @@ public class LineVersionsServiceImpl extends BaseServiceImpl&lt;LineVersions, Integ
89 String lineCode = map.get("lineCode").toString(); 89 String lineCode = map.get("lineCode").toString();
90 Integer versions = Integer.valueOf(map.get("versions").toString()); 90 Integer versions = Integer.valueOf(map.get("versions").toString());
91 Integer status = Integer.valueOf(map.get("status").toString()); 91 Integer status = Integer.valueOf(map.get("status").toString());
  92 + String name = map.get("name").toString();
92 String remark = map.get("remark").toString(); 93 String remark = map.get("remark").toString();
93 - 94 +
94 Line line = lineRepository.findOne(lineid); 95 Line line = lineRepository.findOne(lineid);
95 96
96 int statu = repository.update(id,line,lineCode,new java.sql.Date(startDate.getTime()), 97 int statu = repository.update(id,line,lineCode,new java.sql.Date(startDate.getTime()),
97 - new java.sql.Date(endDate.getTime()),versions,status,remark); 98 + new java.sql.Date(endDate.getTime()),versions,status,remark,name);
98 LineVersions upLineVersions = repository.findBylineIdAndVersions(line.getId(),versions); 99 LineVersions upLineVersions = repository.findBylineIdAndVersions(line.getId(),versions);
99 if(upLineVersions != null){ 100 if(upLineVersions != null){
100 upLineVersions.setEndDate(new java.sql.Date(startDate.getTime())); 101 upLineVersions.setEndDate(new java.sql.Date(startDate.getTime()));
src/main/resources/static/pages/base/lineversions/edit.html
@@ -47,7 +47,16 @@ @@ -47,7 +47,16 @@
47 <input type="hidden" name="status" id="statusInput" /> 47 <input type="hidden" name="status" id="statusInput" />
48 <input type="hidden" name="Id" id="IdInput" /> 48 <input type="hidden" name="Id" id="IdInput" />
49 <!-- 表单分组组件 form-group END --> 49 <!-- 表单分组组件 form-group END -->
50 - 50 +
  51 + <div class="form-group">
  52 + <label class="control-label col-md-5">
  53 + <span class="required"> * </span>线路版本名称&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
  54 + </label>
  55 + <div class="col-md-4">
  56 + <input name="name" class="form-control" style="width:100%" id="nameInput" placeholder="请填写更换版本原因,方便排班人员操作!" />
  57 + </div>
  58 + </div>
  59 +
51 <!-- 表单分组组件 form-group START --> 60 <!-- 表单分组组件 form-group START -->
52 <div class="form-group"> 61 <div class="form-group">
53 <label class="control-label col-md-5"> 62 <label class="control-label col-md-5">
@@ -110,7 +119,7 @@ @@ -110,7 +119,7 @@
110 <div class="form-group"> 119 <div class="form-group">
111 <label class="control-label col-md-5"> 描述/说明&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: </label> 120 <label class="control-label col-md-5"> 描述/说明&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: </label>
112 <div class="col-md-4"> 121 <div class="col-md-4">
113 - <textarea class="form-control" rows="3" name="remark" id="remarkTextarea" placeholder="请填写更换版本原因,方便排班人员操作!"></textarea> 122 + <textarea class="form-control" rows="3" name="remark" id="remarkTextarea" ></textarea>
114 </div> 123 </div>
115 </div> 124 </div>
116 <!-- 表单分组组件 form-group END --> 125 <!-- 表单分组组件 form-group END -->
src/main/resources/static/pages/base/lineversions/js/lineversions-edit-from.js
@@ -90,6 +90,7 @@ @@ -90,6 +90,7 @@
90 $("#endDateInput").val(moment(result.endDate).format('YYYY-MM-DD HH:mm:ss')); 90 $("#endDateInput").val(moment(result.endDate).format('YYYY-MM-DD HH:mm:ss'));
91 $("#versionsInput").val(result.versions); 91 $("#versionsInput").val(result.versions);
92 $("#statusInput").val(result.status); 92 $("#statusInput").val(result.status);
  93 + $("#nameInput").val(result.name);
93 $("#remarkTextarea").val(result.remark); 94 $("#remarkTextarea").val(result.remark);
94 } 95 }
95 96
@@ -144,6 +145,7 @@ @@ -144,6 +145,7 @@
144 'line' : {required : true,maxlength: 30},// 线路名称 必填项、最大长度. 145 'line' : {required : true,maxlength: 30},// 线路名称 必填项、最大长度.
145 'startDate' : {required : true},// 启用时间 不为空. 146 'startDate' : {required : true},// 启用时间 不为空.
146 'endDate' : {required : true},// 结束时间. 147 'endDate' : {required : true},// 结束时间.
  148 + 'name' : {required : true},// 版本名称.
147 'versions' : {required : true, digits : true, maxlength: 10},// 版本号 必填项、数字、最大长度10. 149 'versions' : {required : true, digits : true, maxlength: 10},// 版本号 必填项、数字、最大长度10.
148 'status' : {required : true, digits : true, maxlength: 10},// 版本状态 必填项、数字、最大长度10. 150 'status' : {required : true, digits : true, maxlength: 10},// 版本状态 必填项、数字、最大长度10.
149 }, 151 },
src/main/resources/static/pages/forms/calc/calcDetailMonthly.html
@@ -76,10 +76,10 @@ @@ -76,10 +76,10 @@
76 76
77 <div style="display: inline-block;margin-left: 33px;" class="date-picker"> 77 <div style="display: inline-block;margin-left: 33px;" class="date-picker">
78 <span class="item-label" style="width: 80px;">&#12288;&#12288;时间: </span> 78 <span class="item-label" style="width: 80px;">&#12288;&#12288;时间: </span>
79 - <!--<input class="form-control" type="text" id="startDate" style="width: 180px;" /> - -->  
80 - <!--<input class="form-control" type="text" id="endDate" style="width: 180px;" />-->  
81 - <input class="form-control" type="text" id="startDate" style="width: 180px;" value="2020-10-01"/> -  
82 - <input class="form-control" type="text" id="endDate" style="width: 180px;" value="2020-10-10"/> 79 + <input class="form-control" type="text" id="startDate" style="width: 180px;" /> -
  80 + <input class="form-control" type="text" id="endDate" style="width: 180px;" />
  81 + <!--<input class="form-control" type="text" id="startDate" style="width: 180px;" value="2020-10-01"/> - -->
  82 + <!--<input class="form-control" type="text" id="endDate" style="width: 180px;" value="2020-10-10"/>-->
83 </div> 83 </div>
84 <div style="margin-top: 2px"></div> 84 <div style="margin-top: 2px"></div>
85 85
@@ -130,6 +130,7 @@ @@ -130,6 +130,7 @@
130 </div> 130 </div>
131 <script > 131 <script >
132 $(function(){ 132 $(function(){
  133 + $('#export').attr('disabled', "true");
133 // 关闭左侧栏 134 // 关闭左侧栏
134 if (!$('body').hasClass('page-sidebar-closed')) 135 if (!$('body').hasClass('page-sidebar-closed'))
135 $('.menu-toggler.sidebar-toggler').click(); 136 $('.menu-toggler.sidebar-toggler').click();
@@ -150,72 +151,45 @@ @@ -150,72 +151,45 @@
150 day = "0" + day; 151 day = "0" + day;
151 //时间 152 //时间
152 var dateTime=year + "-" + month + "-" + day; 153 var dateTime=year + "-" + month + "-" + day;
153 - // $("#startDate").val(dateTime);  
154 - // $("#endDate").val(dateTime); 154 + $("#startDate").val(dateTime);
  155 + $("#endDate").val(dateTime);
155 156
156 - // $("#endDate").datetimepicker({  
157 - // format : 'YYYY-MM-DD',  
158 - // locale : 'zh-cn',  
159 - // maxDate : dateTime  
160 - // });  
161 - // $("#startDate").datetimepicker({  
162 - // format : 'YYYY-MM-DD',  
163 - // locale : 'zh-cn',  
164 - // maxDate : dateTime  
165 - // }); 157 + $("#endDate").datetimepicker({
  158 + format : 'YYYY-MM-DD',
  159 + locale : 'zh-cn',
  160 + maxDate : dateTime
  161 + });
  162 + $("#startDate").datetimepicker({
  163 + format : 'YYYY-MM-DD',
  164 + locale : 'zh-cn',
  165 + maxDate : dateTime
  166 + });
166 167
167 - var fage=false;  
168 - var xlList;  
169 - var obj = []; 168 + var lineAll="";
170 var datas = {}; //查询条件 169 var datas = {}; //查询条件
171 170
172 - var tempData = {};  
173 -  
174 - $.get('/report/lineList',function(result){  
175 - xlList=result;  
176 - $.get('/user/companyData', function(result){  
177 - obj = result;  
178 - var options = '<option value="">所有分公司</option>';  
179 - for(var i = 0; i < obj.length; i++){  
180 - if(obj[i].companyCode == "26"){  
181 - var children = obj[i].children;  
182 - for(var j = 0; j < children.length; j++){  
183 - options += '<option value="'+children[j].code+'">'+children[j].name+'</option>';  
184 - }  
185 - }  
186 - }  
187 - $('#fgsdm').html(options);  
188 - }); 171 + /**用户分配的线路*/
  172 + $.get('/realControAuthority/findByCurrentUser', function (userAuthor) {
  173 + lineAll = userAuthor.lineCodeStr.substring(0,userAuthor.lineCodeStr.length-1);
189 }); 174 });
190 175
  176 + var tempData = {};
191 177
192 - // $("#gsdm").on("change",updateCompany);  
193 - function updateCompany(){  
194 - // var company = $('#gsdm').val();  
195 - var options = '<option value="">所有分公司</option>';  
196 - for(var i = 0; i < obj.length; i++){  
197 - if(obj[i].companyCode == "26"){ 178 + $.get('/user/companyData', function(obj) {
  179 + var option = '';
  180 + var allC = "";
  181 + for (var i = 0; i < obj.length; i++) {
  182 + if (obj[i].companyCode == "26") {
198 var children = obj[i].children; 183 var children = obj[i].children;
199 - for(var j = 0; j < children.length; j++){  
200 - options += '<option value="'+children[j].code+'">'+children[j].name+'</option>'; 184 + for (var j = 0; j < children.length; j++) {
  185 + allC += children[j].code+",";
  186 + option += '<option value="' + children[j].code + '">' + children[j].name + '</option>';
201 } 187 }
202 } 188 }
203 } 189 }
204 - $('#fgsdm').html(options);  
205 - }  
206 190
207 - $("#line").on("change", function(){  
208 - if($("#line").val() == " "){  
209 - $("#gsdm").attr("disabled", false);  
210 - $("#fgsdm").attr("disabled", false);  
211 - } else {  
212 - var temp = tempData[$("#line").val()].split(":");  
213 - $("#gsdm").val(temp[0]);  
214 - updateCompany();  
215 - $("#fgsdm").val(temp[1]);  
216 - $("#gsdm").attr("disabled", true);  
217 - $("#fgsdm").attr("disabled", true);  
218 - } 191 + var options = '<option value="'+allC.substring(0,allC.length-1)+'">所有分公司</option>'+option;
  192 + $('#fgsdm').html(options);
219 }); 193 });
220 194
221 // 项目明细选项列 195 // 项目明细选项列
@@ -256,11 +230,9 @@ @@ -256,11 +230,9 @@
256 $("#query").on("click",function(){ 230 $("#query").on("click",function(){
257 var gsdm = "26"; 231 var gsdm = "26";
258 var fgsdm = $("#fgsdm").val(); 232 var fgsdm = $("#fgsdm").val();
259 - var lineCode = $("#line").val();  
260 var startDate = $("#startDate").val(); 233 var startDate = $("#startDate").val();
261 var endDate = $("#endDate").val(); 234 var endDate = $("#endDate").val();
262 var statisticalObj = $("#statisticalObj").val(); 235 var statisticalObj = $("#statisticalObj").val();
263 - lineName=$("#line option:selected").text();  
264 //开始和结束时间 236 //开始和结束时间
265 var startTime = Date.parse(new Date(startDate)); 237 var startTime = Date.parse(new Date(startDate));
266 var endTime = Date.parse(new Date(endDate)); 238 var endTime = Date.parse(new Date(endDate));
@@ -268,16 +240,12 @@ @@ -268,16 +240,12 @@
268 datas = {}; // 清空之前数据 240 datas = {}; // 清空之前数据
269 datas.gsdm = gsdm; 241 datas.gsdm = gsdm;
270 datas.fgsdm = fgsdm; 242 datas.fgsdm = fgsdm;
271 - datas.lineCode = lineCode;  
272 - datas.lineName = lineName;  
273 - datas.startDate = startDate; 243 + datas.lineCode = lineAll;
274 datas.timeType = "m"; 244 datas.timeType = "m";
275 - // datas.startDate = "2020-10-01"; 245 + datas.startDate = startDate;
276 datas.endDate = endDate; 246 datas.endDate = endDate;
277 - // datas.endDate = "2020-10-10";  
278 datas.statisticalObj = $("#statisticalObj").val(); 247 datas.statisticalObj = $("#statisticalObj").val();
279 datas.itemDetails = $("#itemDetails").val(); 248 datas.itemDetails = $("#itemDetails").val();
280 -  
281 if(startDate==null || startDate =="" ||endDate==null || endDate ==""){ 249 if(startDate==null || startDate =="" ||endDate==null || endDate ==""){
282 layer.msg('请选择时间段!'); 250 layer.msg('请选择时间段!');
283 }else if(endTime<startTime){ 251 }else if(endTime<startTime){
@@ -295,8 +263,10 @@ @@ -295,8 +263,10 @@
295 title: '提示' 263 title: '提示'
296 , content: '没有您要查询的数据,请重新选择参数!' 264 , content: '没有您要查询的数据,请重新选择参数!'
297 }); 265 });
  266 + $("#export").attr('disabled',"true");
298 return; 267 return;
299 - } 268 + }else
  269 + $("#export").removeAttr("disabled");
300 var htmlHead = "", htmlBody = ""; 270 var htmlHead = "", htmlBody = "";
301 var rsLength = rs.length; 271 var rsLength = rs.length;
302 rs.forEach(function (o, i) { 272 rs.forEach(function (o, i) {
@@ -323,7 +293,6 @@ @@ -323,7 +293,6 @@
323 }); 293 });
324 294
325 $("#export").on("click",function(){ 295 $("#export").on("click",function(){
326 - datas.timeType = "m";  
327 var itemDetails = datas.itemDetails, 296 var itemDetails = datas.itemDetails,
328 type = "加注量[全部]"; 297 type = "加注量[全部]";
329 if(itemDetails=="jzl0"){ 298 if(itemDetails=="jzl0"){
src/main/resources/static/pages/forms/calc/calcDetailYear.html
@@ -130,6 +130,7 @@ @@ -130,6 +130,7 @@
130 </div> 130 </div>
131 <script > 131 <script >
132 $(function(){ 132 $(function(){
  133 + $('#export').attr('disabled', "true");
133 // 关闭左侧栏 134 // 关闭左侧栏
134 if (!$('body').hasClass('page-sidebar-closed')) 135 if (!$('body').hasClass('page-sidebar-closed'))
135 $('.menu-toggler.sidebar-toggler').click(); 136 $('.menu-toggler.sidebar-toggler').click();
@@ -161,66 +162,42 @@ @@ -161,66 +162,42 @@
161 maxDate : dateTime 162 maxDate : dateTime
162 }); 163 });
163 164
164 - var fage=false;  
165 - var xlList;  
166 - var obj = []; 165 +
  166 + var lineAll="";
167 var datas = {}; //查询条件 167 var datas = {}; //查询条件
168 168
169 - var tempData = {};  
170 169
171 - $.get('/report/lineList',function(result){  
172 - xlList=result;  
173 - $.get('/user/companyData', function(result){  
174 - obj = result;  
175 - var options = '<option value="">所有分公司</option>';  
176 - for(var i = 0; i < obj.length; i++){  
177 - if(obj[i].companyCode == "26"){  
178 - var children = obj[i].children;  
179 - for(var j = 0; j < children.length; j++){  
180 - options += '<option value="'+children[j].code+'">'+children[j].name+'</option>';  
181 - }  
182 - }  
183 - }  
184 - $('#fgsdm').html(options);  
185 - }); 170 + /**用户分配的线路*/
  171 + $.get('/realControAuthority/findByCurrentUser', function (userAuthor) {
  172 + lineAll = userAuthor.lineCodeStr.substring(0,userAuthor.lineCodeStr.length-1);
186 }); 173 });
187 174
  175 + var tempData = {};
188 176
189 - // $("#gsdm").on("change",updateCompany);  
190 - function updateCompany(){  
191 - // var company = $('#gsdm').val();  
192 - var options = '<option value="">所有分公司</option>';  
193 - for(var i = 0; i < obj.length; i++){  
194 - if(obj[i].companyCode == "26"){ 177 + $.get('/user/companyData', function(obj) {
  178 + var option = '';
  179 + var allC = "";
  180 + for (var i = 0; i < obj.length; i++) {
  181 + if (obj[i].companyCode == "26") {
195 var children = obj[i].children; 182 var children = obj[i].children;
196 - for(var j = 0; j < children.length; j++){  
197 - options += '<option value="'+children[j].code+'">'+children[j].name+'</option>'; 183 + for (var j = 0; j < children.length; j++) {
  184 + allC += children[j].code+",";
  185 + option += '<option value="' + children[j].code + '">' + children[j].name + '</option>';
198 } 186 }
199 } 187 }
200 } 188 }
201 - $('#fgsdm').html(options);  
202 - }  
203 189
204 - $("#line").on("change", function(){  
205 - if($("#line").val() == " "){  
206 - $("#gsdm").attr("disabled", false);  
207 - $("#fgsdm").attr("disabled", false);  
208 - } else {  
209 - var temp = tempData[$("#line").val()].split(":");  
210 - $("#gsdm").val(temp[0]);  
211 - updateCompany();  
212 - $("#fgsdm").val(temp[1]);  
213 - $("#gsdm").attr("disabled", true);  
214 - $("#fgsdm").attr("disabled", true);  
215 - } 190 + var options = '<option value="'+allC.substring(0,allC.length-1)+'">所有分公司</option>'+option;
  191 + $('#fgsdm').html(options);
216 }); 192 });
217 193
218 // 项目明细选项列 194 // 项目明细选项列
219 // 触发默认选项 195 // 触发默认选项
220 updateItem(); 196 updateItem();
221 $("#statisticalItem").on("change",updateItem); 197 $("#statisticalItem").on("change",updateItem);
  198 + var item ="";
222 function updateItem() { 199 function updateItem() {
223 - var item = $('#statisticalItem').val(); 200 + item = $('#statisticalItem').val();
224 var options = ''; 201 var options = '';
225 if(item == "yh"){ 202 if(item == "yh"){
226 options += '<option value="jzlAll">加注量[全部]</option>' + 203 options += '<option value="jzlAll">加注量[全部]</option>' +
@@ -253,11 +230,9 @@ @@ -253,11 +230,9 @@
253 $("#query").on("click",function(){ 230 $("#query").on("click",function(){
254 var gsdm = "26"; 231 var gsdm = "26";
255 var fgsdm = $("#fgsdm").val(); 232 var fgsdm = $("#fgsdm").val();
256 - var lineCode = $("#line").val();  
257 var startDate = $("#startDate").val(); 233 var startDate = $("#startDate").val();
258 var endDate = $("#endDate").val(); 234 var endDate = $("#endDate").val();
259 var statisticalObj = $("#statisticalObj").val(); 235 var statisticalObj = $("#statisticalObj").val();
260 - lineName=$("#line option:selected").text();  
261 //开始和结束时间 236 //开始和结束时间
262 var startTime = Date.parse(new Date(startDate)); 237 var startTime = Date.parse(new Date(startDate));
263 var endTime = Date.parse(new Date(endDate)); 238 var endTime = Date.parse(new Date(endDate));
@@ -266,14 +241,12 @@ @@ -266,14 +241,12 @@
266 datas.timeType = "y"; 241 datas.timeType = "y";
267 datas.gsdm = gsdm; 242 datas.gsdm = gsdm;
268 datas.fgsdm = fgsdm; 243 datas.fgsdm = fgsdm;
269 - datas.lineCode = lineCode;  
270 - datas.lineName = lineName; 244 + datas.lineCode = lineAll;
271 datas.startDate = startDate; 245 datas.startDate = startDate;
272 - // datas.startDate = "2020-10-01";  
273 datas.endDate = endDate; 246 datas.endDate = endDate;
274 - // datas.endDate = "2020-10-10";  
275 datas.statisticalObj = $("#statisticalObj").val(); 247 datas.statisticalObj = $("#statisticalObj").val();
276 datas.itemDetails = $("#itemDetails").val(); 248 datas.itemDetails = $("#itemDetails").val();
  249 + datas.item = item;
277 250
278 if(startDate==null || startDate =="" ||endDate==null || endDate ==""){ 251 if(startDate==null || startDate =="" ||endDate==null || endDate ==""){
279 layer.msg('请选择时间段!'); 252 layer.msg('请选择时间段!');
@@ -292,8 +265,10 @@ @@ -292,8 +265,10 @@
292 title: '提示' 265 title: '提示'
293 , content: '没有您要查询的数据,请重新选择参数!' 266 , content: '没有您要查询的数据,请重新选择参数!'
294 }); 267 });
  268 + $("#export").attr('disabled',"true");
295 return; 269 return;
296 - } 270 + }else
  271 + $("#export").removeAttr("disabled");
297 var htmlHead = "", htmlBody = ""; 272 var htmlHead = "", htmlBody = "";
298 var rsLength = rs.length; 273 var rsLength = rs.length;
299 rs.forEach(function (o, i) { 274 rs.forEach(function (o, i) {
@@ -320,7 +295,6 @@ @@ -320,7 +295,6 @@
320 }); 295 });
321 296
322 $("#export").on("click",function(){ 297 $("#export").on("click",function(){
323 - datas.timeType = "y";  
324 var itemDetails = datas.itemDetails, 298 var itemDetails = datas.itemDetails,
325 type = "加注量[全部]"; 299 type = "加注量[全部]";
326 if(itemDetails=="jzl0"){ 300 if(itemDetails=="jzl0"){