Commit ed7aabcadd808a218684366e6bcf55d80c357603

Authored by 娄高锋
1 parent fb6abc69

路单线路明细月/年报表,添加氢能源统计

src/main/java/com/bsth/entity/calc/CalcWaybillDetail.java
1   -package com.bsth.entity.calc;
2   -
3   -import java.util.Date;
4   -// calcDetailMonthly.html 返回类
5   -public class CalcWaybillDetail {
6   - private Long id;
7   - /* 公司代码*/
8   - private String gsdm;
9   - /* 公司名称*/
10   - private String gsname;
11   - /* 分公司代码*/
12   - private String fgsdm;
13   - /* 分公司名称*/
14   - private String fgsname;
15   - /* 日期*/
16   - private Date rq;
17   - /* 日期字符串*/
18   - private String rqStr;
19   - /* 线路编码*/
20   - private String xl;
21   - /* 线路名称*/
22   - private String xlName;
23   - /* 车辆自编号*/
24   - private String cl;
25   - /* 路牌名字*/
26   - private String lp;
27   - /* 驾驶员工号*/
28   - private String jGh;
29   - /* 驾驶员名字*/
30   - private String jName;
31   - /* 售票员工号*/
32   - private String sGh;
33   - /* 售票员名字*/
34   - private String sName;
35   - /* 计划营运班次*/
36   - private int jhyybc=0;
37   - /* 计划早高峰营运班次*/
38   - private int jhyybczgf=0;
39   - /* 计划晚高峰营运班次*/
40   - private int jhyybcwgf=0;
41   - /* 计划非营运班次*/
42   - private int jhfyybc=0;
43   - /* 计划营运里程*/
44   - private Double jhyylc=0.0;
45   - /* 计划非营运里程*/
46   - private Double jhfyylc=0.0;
47   - /* 实际营运班次*/
48   - private int sjyybc=0;
49   - /* 实际早高峰营运班次*/
50   - private int sjyybczgf=0;
51   - /* 实际晚高峰营运班次*/
52   - private int sjyybcwgf=0;
53   - /* 实际非营运班次*/
54   - private int sjfyybc=0;
55   - /* 实际营运里程*/
56   - private Double sjyylc=0.0;
57   - /* 实际非营运里程*/
58   - private Double sjfyylc=0.0;
59   - /* 临加班次*/
60   - private int ljbc=0;
61   - /* 临加早高峰班次*/
62   - private int ljbczgf=0;
63   - /* 临加晚高峰班次*/
64   - private int ljbcwgf=0;
65   - /* 临加营运里程*/
66   - private Double ljyylc=0.0;
67   - /* 临加非营运里程*/
68   - private Double ljfyylc=0.0;
69   - /* 烂班班次*/
70   - private int lbbc=0;
71   - /* 烂班里程*/
72   - private Double lblc=0.0;
73   -
74   -
75   - // 总里程
76   - private Double zlc=0.0;
77   - private Double czlc=0.0;
78   - private Double jzlc=0.0;
79   - // 出场油量
80   - private Double czyl=0.0;
81   - // 进场油量
82   - private Double jzyl=0.0;
83   - // 加注量
84   - private Double jzl=0.0;
85   - // 加注量 0号柴油
86   - private Double jzl0=0.0;
87   - // 加注量 -10#号柴油
88   - private Double jzl10=0.0;
89   - // 油耗
90   - private Double yh=0.0;
91   - // 百公里油耗
92   - private Double bglyh=0.0;
93   - // 损耗
94   - private Double sh=0.0;
95   - // 燃油类型
96   - private String rylx;
97   -
98   - //出站存电
99   - private Double czcd=0.0;
100   - //进站存电
101   - private Double jzcd=0.0;
102   - //充电量
103   - private Double cdl=0.0;
104   - //耗电
105   - private Double hd=0.0;
106   - //百公里耗电
107   - private Double bglhd=0.0;
108   -
109   - // 天数记录
110   - private int ts;
111   -
112   - /* 创建时间*/
113   - private Date createTime;
114   - /* 修改时间*/
115   - private Date updateTime;
116   - public Long getId() {
117   - return id;
118   - }
119   - public void setId(Long id) {
120   - this.id = id;
121   - }
122   - public String getGsdm() {
123   - return gsdm;
124   - }
125   - public void setGsdm(String gsdm) {
126   - this.gsdm = gsdm;
127   - }
128   - public String getGsname() {
129   - return gsname;
130   - }
131   - public void setGsname(String gsname) {
132   - this.gsname = gsname;
133   - }
134   - public String getFgsdm() {
135   - return fgsdm;
136   - }
137   - public void setFgsdm(String fgsdm) {
138   - this.fgsdm = fgsdm;
139   - }
140   - public String getFgsname() {
141   - return fgsname;
142   - }
143   - public void setFgsname(String fgsname) {
144   - this.fgsname = fgsname;
145   - }
146   - public Date getRq() {
147   - return rq;
148   - }
149   - public void setRq(Date rq) {
150   - this.rq = rq;
151   - }
152   - public String getRqStr() {
153   - return rqStr;
154   - }
155   - public void setRqStr(String rqStr) {
156   - this.rqStr = rqStr;
157   - }
158   - public String getXl() {
159   - return xl;
160   - }
161   - public void setXl(String xl) {
162   - this.xl = xl;
163   - }
164   - public String getXlName() {
165   - return xlName;
166   - }
167   - public void setXlName(String xlName) {
168   - this.xlName = xlName;
169   - }
170   - public String getCl() {
171   - return cl;
172   - }
173   - public void setCl(String cl) {
174   - this.cl = cl;
175   - }
176   - public String getLp() {
177   - return lp;
178   - }
179   - public void setLp(String lp) {
180   - this.lp = lp;
181   - }
182   - public String getjGh() {
183   - return jGh;
184   - }
185   - public void setjGh(String jGh) {
186   - this.jGh = jGh;
187   - }
188   - public String getjName() {
189   - return jName;
190   - }
191   - public void setjName(String jName) {
192   - this.jName = jName;
193   - }
194   - public String getsGh() {
195   - return sGh;
196   - }
197   - public void setsGh(String sGh) {
198   - this.sGh = sGh;
199   - }
200   - public String getsName() {
201   - return sName;
202   - }
203   - public void setsName(String sName) {
204   - this.sName = sName;
205   - }
206   - public int getJhyybc() {
207   - return jhyybc;
208   - }
209   - public void setJhyybc(int jhyybc) {
210   - this.jhyybc = jhyybc;
211   - }
212   - public int getJhyybczgf() {
213   - return jhyybczgf;
214   - }
215   - public void setJhyybczgf(int jhyybczgf) {
216   - this.jhyybczgf = jhyybczgf;
217   - }
218   - public int getJhyybcwgf() {
219   - return jhyybcwgf;
220   - }
221   - public void setJhyybcwgf(int jhyybcwgf) {
222   - this.jhyybcwgf = jhyybcwgf;
223   - }
224   - public int getJhfyybc() {
225   - return jhfyybc;
226   - }
227   - public void setJhfyybc(int jhfyybc) {
228   - this.jhfyybc = jhfyybc;
229   - }
230   - public Double getJhyylc() {
231   - return jhyylc;
232   - }
233   - public void setJhyylc(Double jhyylc) {
234   - this.jhyylc = jhyylc;
235   - }
236   - public Double getJhfyylc() {
237   - return jhfyylc;
238   - }
239   - public void setJhfyylc(Double jhfyylc) {
240   - this.jhfyylc = jhfyylc;
241   - }
242   - public int getSjyybc() {
243   - return sjyybc;
244   - }
245   - public void setSjyybc(int sjyybc) {
246   - this.sjyybc = sjyybc;
247   - }
248   - public int getSjyybczgf() {
249   - return sjyybczgf;
250   - }
251   - public void setSjyybczgf(int sjyybczgf) {
252   - this.sjyybczgf = sjyybczgf;
253   - }
254   - public int getSjyybcwgf() {
255   - return sjyybcwgf;
256   - }
257   - public void setSjyybcwgf(int sjyybcwgf) {
258   - this.sjyybcwgf = sjyybcwgf;
259   - }
260   - public int getSjfyybc() {
261   - return sjfyybc;
262   - }
263   - public void setSjfyybc(int sjfyybc) {
264   - this.sjfyybc = sjfyybc;
265   - }
266   - public Double getSjyylc() {
267   - return sjyylc;
268   - }
269   - public void setSjyylc(Double sjyylc) {
270   - this.sjyylc = sjyylc;
271   - }
272   - public Double getSjfyylc() {
273   - return sjfyylc;
274   - }
275   - public void setSjfyylc(Double sjfyylc) {
276   - this.sjfyylc = sjfyylc;
277   - }
278   - public int getLjbc() {
279   - return ljbc;
280   - }
281   - public void setLjbc(int ljbc) {
282   - this.ljbc = ljbc;
283   - }
284   - public int getLjbczgf() {
285   - return ljbczgf;
286   - }
287   - public void setLjbczgf(int ljbczgf) {
288   - this.ljbczgf = ljbczgf;
289   - }
290   - public int getLjbcwgf() {
291   - return ljbcwgf;
292   - }
293   - public void setLjbcwgf(int ljbcwgf) {
294   - this.ljbcwgf = ljbcwgf;
295   - }
296   - public Double getLjyylc() {
297   - return ljyylc;
298   - }
299   - public void setLjyylc(Double ljyylc) {
300   - this.ljyylc = ljyylc;
301   - }
302   - public Double getLjfyylc() {
303   - return ljfyylc;
304   - }
305   - public void setLjfyylc(Double ljfyylc) {
306   - this.ljfyylc = ljfyylc;
307   - }
308   - public int getLbbc() {
309   - return lbbc;
310   - }
311   - public void setLbbc(int lbbc) {
312   - this.lbbc = lbbc;
313   - }
314   - public Double getLblc() {
315   - return lblc;
316   - }
317   - public void setLblc(Double lblc) {
318   - this.lblc = lblc;
319   - }
320   -
321   - public Double getZlc() {
322   - return zlc;
323   - }
324   -
325   - public void setZlc(Double zlc) {
326   - this.zlc = zlc;
327   - }
328   -
329   - public Double getCzlc() {
330   - return czlc;
331   - }
332   -
333   - public void setCzlc(Double czlc) {
334   - this.czlc = czlc;
335   - }
336   -
337   - public Double getJzlc() {
338   - return jzlc;
339   - }
340   -
341   - public void setJzlc(Double jzlc) {
342   - this.jzlc = jzlc;
343   - }
344   -
345   - public Double getCzyl() {
346   - return czyl;
347   - }
348   -
349   - public void setCzyl(Double czyl) {
350   - this.czyl = czyl;
351   - }
352   -
353   - public Double getJzyl() {
354   - return jzyl;
355   - }
356   -
357   - public void setJzyl(Double jzyl) {
358   - this.jzyl = jzyl;
359   - }
360   -
361   - public Double getJzl() {
362   - return jzl;
363   - }
364   -
365   - public Double getJzl0() {
366   - return jzl0;
367   - }
368   -
369   - public void setJzl0(Double jzl0) {
370   - this.jzl0 = jzl0;
371   - }
372   -
373   - public Double getJzl10() {
374   - return jzl10;
375   - }
376   -
377   - public void setJzl10(Double jzl10) {
378   - this.jzl10 = jzl10;
379   - }
380   -
381   - public void setJzl(Double jzl) {
382   - this.jzl = jzl;
383   - }
384   -
385   - public Double getYh() {
386   - return yh;
387   - }
388   -
389   - public void setYh(Double yh) {
390   - this.yh = yh;
391   - }
392   -
393   - public Double getBglyh() {
394   - return bglyh;
395   - }
396   -
397   - public void setBglyh(Double bglyh) {
398   - this.bglyh = bglyh;
399   - }
400   -
401   - public Double getSh() {
402   - return sh;
403   - }
404   -
405   - public void setSh(Double sh) {
406   - this.sh = sh;
407   - }
408   -
409   - public String getRylx() {
410   - return rylx;
411   - }
412   -
413   - public void setRylx(String rylx) {
414   - this.rylx = rylx;
415   - }
416   -
417   - public Double getCzcd() {
418   - return czcd;
419   - }
420   -
421   - public void setCzcd(Double czcd) {
422   - this.czcd = czcd;
423   - }
424   -
425   - public Double getJzcd() {
426   - return jzcd;
427   - }
428   -
429   - public void setJzcd(Double jzcd) {
430   - this.jzcd = jzcd;
431   - }
432   -
433   - public Double getCdl() {
434   - return cdl;
435   - }
436   -
437   - public void setCdl(Double cdl) {
438   - this.cdl = cdl;
439   - }
440   -
441   - public Double getHd() {
442   - return hd;
443   - }
444   -
445   - public void setHd(Double hd) {
446   - this.hd = hd;
447   - }
448   -
449   - public Double getBglhd() {
450   - return bglhd;
451   - }
452   -
453   - public void setBglhd(Double bglhd) {
454   - this.bglhd = bglhd;
455   - }
456   -
457   - public int getTs() {
458   - return ts;
459   - }
460   -
461   - public void setTs(int ts) {
462   - this.ts = ts;
463   - }
464   -
465   - public Date getCreateTime() {
466   - return createTime;
467   - }
468   - public void setCreateTime(Date createTime) {
469   - this.createTime = createTime;
470   - }
471   - public Date getUpdateTime() {
472   - return updateTime;
473   - }
474   - public void setUpdateTime(Date updateTime) {
475   - this.updateTime = updateTime;
476   - }
477   -
478   -
479   -
480   -}
  1 +package com.bsth.entity.calc;
  2 +
  3 +import java.util.Date;
  4 +// calcDetailMonthly.html 返回类
  5 +public class CalcWaybillDetail {
  6 + private Long id;
  7 + /* 公司代码*/
  8 + private String gsdm;
  9 + /* 公司名称*/
  10 + private String gsname;
  11 + /* 分公司代码*/
  12 + private String fgsdm;
  13 + /* 分公司名称*/
  14 + private String fgsname;
  15 + /* 日期*/
  16 + private Date rq;
  17 + /* 日期字符串*/
  18 + private String rqStr;
  19 + /* 线路编码*/
  20 + private String xl;
  21 + /* 线路名称*/
  22 + private String xlName;
  23 + /* 车辆自编号*/
  24 + private String cl;
  25 + /* 路牌名字*/
  26 + private String lp;
  27 + /* 驾驶员工号*/
  28 + private String jGh;
  29 + /* 驾驶员名字*/
  30 + private String jName;
  31 + /* 售票员工号*/
  32 + private String sGh;
  33 + /* 售票员名字*/
  34 + private String sName;
  35 + /* 计划营运班次*/
  36 + private int jhyybc=0;
  37 + /* 计划早高峰营运班次*/
  38 + private int jhyybczgf=0;
  39 + /* 计划晚高峰营运班次*/
  40 + private int jhyybcwgf=0;
  41 + /* 计划非营运班次*/
  42 + private int jhfyybc=0;
  43 + /* 计划营运里程*/
  44 + private Double jhyylc=0.0;
  45 + /* 计划非营运里程*/
  46 + private Double jhfyylc=0.0;
  47 + /* 实际营运班次*/
  48 + private int sjyybc=0;
  49 + /* 实际早高峰营运班次*/
  50 + private int sjyybczgf=0;
  51 + /* 实际晚高峰营运班次*/
  52 + private int sjyybcwgf=0;
  53 + /* 实际非营运班次*/
  54 + private int sjfyybc=0;
  55 + /* 实际营运里程*/
  56 + private Double sjyylc=0.0;
  57 + /* 实际非营运里程*/
  58 + private Double sjfyylc=0.0;
  59 + /* 临加班次*/
  60 + private int ljbc=0;
  61 + /* 临加早高峰班次*/
  62 + private int ljbczgf=0;
  63 + /* 临加晚高峰班次*/
  64 + private int ljbcwgf=0;
  65 + /* 临加营运里程*/
  66 + private Double ljyylc=0.0;
  67 + /* 临加非营运里程*/
  68 + private Double ljfyylc=0.0;
  69 + /* 烂班班次*/
  70 + private int lbbc=0;
  71 + /* 烂班里程*/
  72 + private Double lblc=0.0;
  73 +
  74 +
  75 + // 总里程
  76 + private Double zlc=0.0;
  77 + private Double czlc=0.0;
  78 + private Double jzlc=0.0;
  79 + // 出场油量
  80 + private Double czyl=0.0;
  81 + // 进场油量
  82 + private Double jzyl=0.0;
  83 + // 加注量
  84 + private Double jzl=0.0;
  85 + // 加注量 0号柴油
  86 + private Double jzl0=0.0;
  87 + // 加注量 -10#号柴油
  88 + private Double jzl10=0.0;
  89 + // 油耗
  90 + private Double yh=0.0;
  91 + // 百公里油耗
  92 + private Double bglyh=0.0;
  93 + // 损耗
  94 + private Double sh=0.0;
  95 + // 燃油类型
  96 + private String rylx;
  97 +
  98 + //出站存电
  99 + private Double czcd=0.0;
  100 + //进站存电
  101 + private Double jzcd=0.0;
  102 + //充电量
  103 + private Double cdl=0.0;
  104 + //耗电
  105 + private Double hd=0.0;
  106 + //百公里电耗
  107 + private Double bgldh=0.0;
  108 +
  109 + //出站存氢
  110 + private Double czcq=0.0;
  111 + //进站存氢
  112 + private Double jzcq=0.0;
  113 + //充氢量
  114 + private Double cql=0.0;
  115 + //耗氢
  116 + private Double hq=0.0;
  117 + //百公里氢耗
  118 + private Double bglqh=0.0;
  119 +
  120 + // 天数记录
  121 + private int ts;
  122 +
  123 + /* 创建时间*/
  124 + private Date createTime;
  125 + /* 修改时间*/
  126 + private Date updateTime;
  127 + public Long getId() {
  128 + return id;
  129 + }
  130 + public void setId(Long id) {
  131 + this.id = id;
  132 + }
  133 + public String getGsdm() {
  134 + return gsdm;
  135 + }
  136 + public void setGsdm(String gsdm) {
  137 + this.gsdm = gsdm;
  138 + }
  139 + public String getGsname() {
  140 + return gsname;
  141 + }
  142 + public void setGsname(String gsname) {
  143 + this.gsname = gsname;
  144 + }
  145 + public String getFgsdm() {
  146 + return fgsdm;
  147 + }
  148 + public void setFgsdm(String fgsdm) {
  149 + this.fgsdm = fgsdm;
  150 + }
  151 + public String getFgsname() {
  152 + return fgsname;
  153 + }
  154 + public void setFgsname(String fgsname) {
  155 + this.fgsname = fgsname;
  156 + }
  157 + public Date getRq() {
  158 + return rq;
  159 + }
  160 + public void setRq(Date rq) {
  161 + this.rq = rq;
  162 + }
  163 + public String getRqStr() {
  164 + return rqStr;
  165 + }
  166 + public void setRqStr(String rqStr) {
  167 + this.rqStr = rqStr;
  168 + }
  169 + public String getXl() {
  170 + return xl;
  171 + }
  172 + public void setXl(String xl) {
  173 + this.xl = xl;
  174 + }
  175 + public String getXlName() {
  176 + return xlName;
  177 + }
  178 + public void setXlName(String xlName) {
  179 + this.xlName = xlName;
  180 + }
  181 + public String getCl() {
  182 + return cl;
  183 + }
  184 + public void setCl(String cl) {
  185 + this.cl = cl;
  186 + }
  187 + public String getLp() {
  188 + return lp;
  189 + }
  190 + public void setLp(String lp) {
  191 + this.lp = lp;
  192 + }
  193 + public String getjGh() {
  194 + return jGh;
  195 + }
  196 + public void setjGh(String jGh) {
  197 + this.jGh = jGh;
  198 + }
  199 + public String getjName() {
  200 + return jName;
  201 + }
  202 + public void setjName(String jName) {
  203 + this.jName = jName;
  204 + }
  205 + public String getsGh() {
  206 + return sGh;
  207 + }
  208 + public void setsGh(String sGh) {
  209 + this.sGh = sGh;
  210 + }
  211 + public String getsName() {
  212 + return sName;
  213 + }
  214 + public void setsName(String sName) {
  215 + this.sName = sName;
  216 + }
  217 + public int getJhyybc() {
  218 + return jhyybc;
  219 + }
  220 + public void setJhyybc(int jhyybc) {
  221 + this.jhyybc = jhyybc;
  222 + }
  223 + public int getJhyybczgf() {
  224 + return jhyybczgf;
  225 + }
  226 + public void setJhyybczgf(int jhyybczgf) {
  227 + this.jhyybczgf = jhyybczgf;
  228 + }
  229 + public int getJhyybcwgf() {
  230 + return jhyybcwgf;
  231 + }
  232 + public void setJhyybcwgf(int jhyybcwgf) {
  233 + this.jhyybcwgf = jhyybcwgf;
  234 + }
  235 + public int getJhfyybc() {
  236 + return jhfyybc;
  237 + }
  238 + public void setJhfyybc(int jhfyybc) {
  239 + this.jhfyybc = jhfyybc;
  240 + }
  241 + public Double getJhyylc() {
  242 + return jhyylc;
  243 + }
  244 + public void setJhyylc(Double jhyylc) {
  245 + this.jhyylc = jhyylc;
  246 + }
  247 + public Double getJhfyylc() {
  248 + return jhfyylc;
  249 + }
  250 + public void setJhfyylc(Double jhfyylc) {
  251 + this.jhfyylc = jhfyylc;
  252 + }
  253 + public int getSjyybc() {
  254 + return sjyybc;
  255 + }
  256 + public void setSjyybc(int sjyybc) {
  257 + this.sjyybc = sjyybc;
  258 + }
  259 + public int getSjyybczgf() {
  260 + return sjyybczgf;
  261 + }
  262 + public void setSjyybczgf(int sjyybczgf) {
  263 + this.sjyybczgf = sjyybczgf;
  264 + }
  265 + public int getSjyybcwgf() {
  266 + return sjyybcwgf;
  267 + }
  268 + public void setSjyybcwgf(int sjyybcwgf) {
  269 + this.sjyybcwgf = sjyybcwgf;
  270 + }
  271 + public int getSjfyybc() {
  272 + return sjfyybc;
  273 + }
  274 + public void setSjfyybc(int sjfyybc) {
  275 + this.sjfyybc = sjfyybc;
  276 + }
  277 + public Double getSjyylc() {
  278 + return sjyylc;
  279 + }
  280 + public void setSjyylc(Double sjyylc) {
  281 + this.sjyylc = sjyylc;
  282 + }
  283 + public Double getSjfyylc() {
  284 + return sjfyylc;
  285 + }
  286 + public void setSjfyylc(Double sjfyylc) {
  287 + this.sjfyylc = sjfyylc;
  288 + }
  289 + public int getLjbc() {
  290 + return ljbc;
  291 + }
  292 + public void setLjbc(int ljbc) {
  293 + this.ljbc = ljbc;
  294 + }
  295 + public int getLjbczgf() {
  296 + return ljbczgf;
  297 + }
  298 + public void setLjbczgf(int ljbczgf) {
  299 + this.ljbczgf = ljbczgf;
  300 + }
  301 + public int getLjbcwgf() {
  302 + return ljbcwgf;
  303 + }
  304 + public void setLjbcwgf(int ljbcwgf) {
  305 + this.ljbcwgf = ljbcwgf;
  306 + }
  307 + public Double getLjyylc() {
  308 + return ljyylc;
  309 + }
  310 + public void setLjyylc(Double ljyylc) {
  311 + this.ljyylc = ljyylc;
  312 + }
  313 + public Double getLjfyylc() {
  314 + return ljfyylc;
  315 + }
  316 + public void setLjfyylc(Double ljfyylc) {
  317 + this.ljfyylc = ljfyylc;
  318 + }
  319 + public int getLbbc() {
  320 + return lbbc;
  321 + }
  322 + public void setLbbc(int lbbc) {
  323 + this.lbbc = lbbc;
  324 + }
  325 + public Double getLblc() {
  326 + return lblc;
  327 + }
  328 + public void setLblc(Double lblc) {
  329 + this.lblc = lblc;
  330 + }
  331 +
  332 + public Double getZlc() {
  333 + return zlc;
  334 + }
  335 +
  336 + public void setZlc(Double zlc) {
  337 + this.zlc = zlc;
  338 + }
  339 +
  340 + public Double getCzlc() {
  341 + return czlc;
  342 + }
  343 +
  344 + public void setCzlc(Double czlc) {
  345 + this.czlc = czlc;
  346 + }
  347 +
  348 + public Double getJzlc() {
  349 + return jzlc;
  350 + }
  351 +
  352 + public void setJzlc(Double jzlc) {
  353 + this.jzlc = jzlc;
  354 + }
  355 +
  356 + public Double getCzyl() {
  357 + return czyl;
  358 + }
  359 +
  360 + public void setCzyl(Double czyl) {
  361 + this.czyl = czyl;
  362 + }
  363 +
  364 + public Double getJzyl() {
  365 + return jzyl;
  366 + }
  367 +
  368 + public void setJzyl(Double jzyl) {
  369 + this.jzyl = jzyl;
  370 + }
  371 +
  372 + public Double getJzl() {
  373 + return jzl;
  374 + }
  375 +
  376 + public Double getJzl0() {
  377 + return jzl0;
  378 + }
  379 +
  380 + public void setJzl0(Double jzl0) {
  381 + this.jzl0 = jzl0;
  382 + }
  383 +
  384 + public Double getJzl10() {
  385 + return jzl10;
  386 + }
  387 +
  388 + public void setJzl10(Double jzl10) {
  389 + this.jzl10 = jzl10;
  390 + }
  391 +
  392 + public void setJzl(Double jzl) {
  393 + this.jzl = jzl;
  394 + }
  395 +
  396 + public Double getYh() {
  397 + return yh;
  398 + }
  399 +
  400 + public void setYh(Double yh) {
  401 + this.yh = yh;
  402 + }
  403 +
  404 + public Double getBglyh() {
  405 + return bglyh;
  406 + }
  407 +
  408 + public void setBglyh(Double bglyh) {
  409 + this.bglyh = bglyh;
  410 + }
  411 +
  412 + public Double getSh() {
  413 + return sh;
  414 + }
  415 +
  416 + public void setSh(Double sh) {
  417 + this.sh = sh;
  418 + }
  419 +
  420 + public String getRylx() {
  421 + return rylx;
  422 + }
  423 +
  424 + public void setRylx(String rylx) {
  425 + this.rylx = rylx;
  426 + }
  427 +
  428 + public Double getCzcd() {
  429 + return czcd;
  430 + }
  431 +
  432 + public void setCzcd(Double czcd) {
  433 + this.czcd = czcd;
  434 + }
  435 +
  436 + public Double getJzcd() {
  437 + return jzcd;
  438 + }
  439 +
  440 + public void setJzcd(Double jzcd) {
  441 + this.jzcd = jzcd;
  442 + }
  443 +
  444 + public Double getCdl() {
  445 + return cdl;
  446 + }
  447 +
  448 + public void setCdl(Double cdl) {
  449 + this.cdl = cdl;
  450 + }
  451 +
  452 + public Double getHd() {
  453 + return hd;
  454 + }
  455 +
  456 + public void setHd(Double hd) {
  457 + this.hd = hd;
  458 + }
  459 +
  460 + public Double getBgldh() {
  461 + return bgldh;
  462 + }
  463 +
  464 + public void setBgldh(Double bgldh) {
  465 + this.bgldh = bgldh;
  466 + }
  467 +
  468 + public Double getCzcq() {
  469 + return czcq;
  470 + }
  471 + public void setCzcq(Double czcq) {
  472 + this.czcq = czcq;
  473 + }
  474 + public Double getJzcq() {
  475 + return jzcq;
  476 + }
  477 + public void setJzcq(Double jzcq) {
  478 + this.jzcq = jzcq;
  479 + }
  480 + public Double getCql() {
  481 + return cql;
  482 + }
  483 + public void setCql(Double cql) {
  484 + this.cql = cql;
  485 + }
  486 + public Double getHq() {
  487 + return hq;
  488 + }
  489 + public void setHq(Double hq) {
  490 + this.hq = hq;
  491 + }
  492 + public Double getBglqh() {
  493 + return bglqh;
  494 + }
  495 + public void setBglqh(Double bglqh) {
  496 + this.bglqh = bglqh;
  497 + }
  498 + public int getTs() {
  499 + return ts;
  500 + }
  501 +
  502 + public void setTs(int ts) {
  503 + this.ts = ts;
  504 + }
  505 +
  506 + public Date getCreateTime() {
  507 + return createTime;
  508 + }
  509 + public void setCreateTime(Date createTime) {
  510 + this.createTime = createTime;
  511 + }
  512 + public Date getUpdateTime() {
  513 + return updateTime;
  514 + }
  515 + public void setUpdateTime(Date updateTime) {
  516 + this.updateTime = updateTime;
  517 + }
  518 +
  519 +
  520 +
  521 +}
... ...
src/main/java/com/bsth/service/calc/impl/CalcWaybillServiceImpl.java
... ... @@ -13,6 +13,7 @@ import com.bsth.entity.calc.CalcStatistics;
13 13 import com.bsth.entity.calc.CalcWaybill;
14 14 import com.bsth.entity.calc.CalcWaybillDetail;
15 15 import com.bsth.entity.oil.Dlb;
  16 +import com.bsth.entity.oil.Qlb;
16 17 import com.bsth.entity.oil.Ylb;
17 18 import com.bsth.entity.realcontrol.ChildTaskPlan;
18 19 import com.bsth.entity.realcontrol.ScheduleRealInfo;
... ... @@ -2032,9 +2033,8 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl<CalcWaybill, Integer
2032 2033 return resList;
2033 2034 }
2034 2035 Map<String,Ylb> ylbMap = new HashMap<>();
2035   - Map<String,Ylb> ylbCLMap = new HashMap<>();
2036 2036 Map<String,Dlb> dlbMap = new HashMap<>();
2037   - Map<String,Dlb> dlbCLMap = new HashMap<>();
  2037 + Map<String,Qlb> qlbMap = new HashMap<>();
2038 2038  
2039 2039 final SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd");
2040 2040  
... ... @@ -2059,6 +2059,9 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2059 2059 // String dlSal= " SELECT id,xlbm,nbbm,jsy,cdl,czcd,jzcd,hd,sh,fgsdm FROM bsth_c_dlb"
2060 2060 + " WHERE rq >= '"+startDate+"' and rq <= '"+endDate+"' "
2061 2061 + linesql;
  2062 + String qlSal= " SELECT * FROM bsth_c_qlb"
  2063 + + " WHERE rq >= '"+startDate+"' and rq <= '"+endDate+"' "
  2064 + + linesql;
2062 2065 List<Ylb> ylbList = jdbcTemplate.query(ylsql, new RowMapper<Ylb>() {
2063 2066 @Override
2064 2067 public Ylb mapRow(ResultSet arg0, int arg1) throws SQLException{
... ... @@ -2110,6 +2113,30 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2110 2113 return dlb;
2111 2114 }
2112 2115 });
  2116 + List<Qlb> qlbList = jdbcTemplate.query(qlSal, new RowMapper<Qlb>() {
  2117 + @Override
  2118 + public Qlb mapRow(ResultSet arg0, int arg1) throws SQLException {
  2119 + Qlb qlb = new Qlb();Date rq = null;
  2120 + try{
  2121 + rq = ft.parse(arg0.getString("rq"));
  2122 + } catch (ParseException e){
  2123 + logger.error(e.toString(),e);
  2124 + }
  2125 + qlb.setXlbm(arg0.getString("xlbm"));
  2126 + qlb.setJsy(arg0.getString("jsy"));
  2127 + qlb.setJname(arg0.getString("jname"));
  2128 + qlb.setNbbm(arg0.getString("nbbm"));
  2129 + qlb.setZlc(Double.parseDouble(arg0.getString("zlc")));
  2130 + qlb.setJql(Double.parseDouble(arg0.getString("jql")));
  2131 + qlb.setJzcl(Double.parseDouble(arg0.getString("jzcl")));
  2132 + qlb.setCzcl(Double.parseDouble(arg0.getString("czcl")));
  2133 + qlb.setHn(Double.parseDouble(arg0.getString("hn")));
  2134 + qlb.setSh(Double.parseDouble(arg0.getString("sh")));
  2135 + qlb.setFgsdm(arg0.getString("fgsdm"));
  2136 + qlb.setRq(rq);
  2137 + return qlb;
  2138 + }
  2139 + });
2113 2140  
2114 2141 for (Ylb y:ylbList) {
2115 2142 if(ylbMap.containsKey(y.getRq().getTime()+"_"+y.getXlbm()+"_"+y.getJsy()+"_"+y.getNbbm())){
... ... @@ -2138,6 +2165,17 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2138 2165 // dlbMap.put(d.getRq().getTime()+"_"+d.getXlbm()+"_"+d.getJsy()+"_"+d.getJname()+"_"+d.getNbbm(),d);
2139 2166 // dlbCLMap.put(d.getRq().getTime()+"_"+d.getXlbm()+"_"+d.getNbbm(),d);
2140 2167 }
  2168 + for (Qlb q:qlbList) {
  2169 + if(qlbMap.containsKey(q.getRq().getTime()+"_"+q.getXlbm()+"_"+q.getJsy()+"_"+q.getNbbm())){
  2170 + Qlb qlb = qlbMap.get(q.getRq().getTime()+"_"+q.getXlbm()+"_"+q.getJsy()+"_"+q.getNbbm());
  2171 + qlb.setZlc(Arith.add(qlb.getZlc(),q.getZlc()));
  2172 + qlb.setHn(Arith.add(qlb.getHn(),q.getHn()));
  2173 + qlb.setCzcl(Arith.add(qlb.getCzcl(),q.getCzcl()));
  2174 + qlb.setJzcl(Arith.add(qlb.getJzcl(),q.getJzcl()));
  2175 + qlb.setJql(Arith.add(qlb.getJql(),q.getJql()));
  2176 + } else
  2177 + qlbMap.put(q.getRq().getTime()+"_"+q.getXlbm()+"_"+q.getJsy()+"_"+q.getNbbm(),q);
  2178 + }
2141 2179 }
2142 2180  
2143 2181 CalcWaybillDetail zjCalc = this.initCalcWaybillDetail();
... ... @@ -2160,6 +2198,7 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2160 2198  
2161 2199 Ylb y = new Ylb();
2162 2200 Dlb d = new Dlb();
  2201 + Qlb q = new Qlb();
2163 2202 // 统计类型不同统计的左边列不同
2164 2203 // 赋值油、电量
2165 2204 if(flag != 2){
... ... @@ -2168,6 +2207,8 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2168 2207 ylbMap.remove(cw.getRq().getTime()+"_"+cw.getXl()+"_"+cw.getjGh()+"_"+cw.getCl());
2169 2208 d = dlbMap.get(cw.getRq().getTime()+"_"+cw.getXl()+"_"+cw.getjGh()+"_"+cw.getCl());
2170 2209 dlbMap.remove(cw.getRq().getTime()+"_"+cw.getXl()+"_"+cw.getjGh()+"_"+cw.getCl());
  2210 + q = qlbMap.get(cw.getRq().getTime()+"_"+cw.getXl()+"_"+cw.getjGh()+"_"+cw.getCl());
  2211 + qlbMap.remove(cw.getRq().getTime()+"_"+cw.getXl()+"_"+cw.getjGh()+"_"+cw.getCl());
2171 2212 if(y != null){
2172 2213 cw.setZlc(y.getZlc());
2173 2214 cw.setYh(y.getYh());
... ... @@ -2188,7 +2229,15 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2188 2229 cw.setJzcd(d.getJzcd());
2189 2230 cw.setCzcd(d.getCzcd());
2190 2231 cw.setCdl(d.getCdl());
2191   - cw.setBglyh((d.getZlc()==0? 0:100*d.getHd()/d.getZlc()));
  2232 + cw.setBgldh((d.getZlc()==0? 0:100*d.getHd()/d.getZlc()));
  2233 + }
  2234 + if(q != null) {
  2235 + cw.setZlc(q.getZlc());
  2236 + cw.setHq(q.getHn());
  2237 + cw.setJzcq(q.getJzcl());
  2238 + cw.setCzcq(q.getCzcl());
  2239 + cw.setCql(q.getJql());
  2240 + cw.setBglqh((q.getZlc()==0? 0:100*q.getHn()/q.getZlc()));
2192 2241 }
2193 2242 }
2194 2243  
... ... @@ -2307,7 +2356,7 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2307 2356 for(int i=day; i<=day2; i++){
2308 2357 list1.add((i<10?"0"+i:i)+("m".equals(timeType)?"日":"月"));
2309 2358 }
2310   - if("bgldh".equals(itemDetails) || "bglyh".equals(itemDetails)){
  2359 + if("bglyh".equals(itemDetails) || "bgldh".equals(itemDetails) || "bglqh".equals(itemDetails)){
2311 2360 list1.add("平均");
2312 2361 } else
2313 2362 list1.add("合计");
... ... @@ -2317,7 +2366,10 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2317 2366 List<Cars> carsList = carsRepository.findCars();
2318 2367 for (Cars c:carsList) {
2319 2368 String sfdc = c.getSfdc()+"";
2320   - carsMap.put(c.getInsideCode(), sfdc.equals("true")?"纯电动":"柴油");
  2369 + String sfmix = c.getSfmix()+"";
  2370 + String hydrogen = c.getHydrogen()+"";
  2371 + carsMap.put(c.getInsideCode(), "true".equals(hydrogen)?"氢能源"
  2372 + :"true".equals(sfmix)?"油电混合":sfdc.equals("true")?"纯电动":"柴油");
2321 2373 }
2322 2374  
2323 2375 int i=1;
... ... @@ -2357,8 +2409,6 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2357 2409 listStr.add(df.format(c.getLjyylc()+c.getLjfyylc()));
2358 2410 listStr.add(df.format(c.getLblc()));
2359 2411 listStr.add(c.getTs()+"");
2360   - c.setBglhd(c.getBglhd()/c.getTs());
2361   - c.setBglyh(c.getBglyh()/c.getTs());
2362 2412 // 把列合计的数添加到最后一个
2363 2413 cList.add(c);
2364 2414 // DecimalFormat df = new DecimalFormat("0.00");//格式化小数
... ... @@ -2390,7 +2440,16 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2390 2440 listStr.add(df.format(c1.getJzcd()));
2391 2441 } else if("bgldh".equals(itemDetails)){
2392 2442 listStr.add(df.format(c1.getZlc()==0? 0:100*c1.getHd()/c1.getZlc()));
2393   -// listStr.add(df.format(c1.getBglhd()));
  2443 + } else if("qh".equals(itemDetails)){
  2444 + listStr.add(df.format(c1.getHq()));
  2445 + } else if("cql".equals(itemDetails)){
  2446 + listStr.add(df.format(c1.getCql()));
  2447 + } else if("cccq".equals(itemDetails)){
  2448 + listStr.add(df.format(c1.getCzcq()));
  2449 + } else if("jccq".equals(itemDetails)){
  2450 + listStr.add(df.format(c1.getJzcq()));
  2451 + } else if("bglqh".equals(itemDetails)){
  2452 + listStr.add(df.format(c1.getZlc()==0? 0:100*c1.getHq()/c1.getZlc()));
2394 2453 } else if("zgl".equals(itemDetails)){
2395 2454 listStr.add(df.format((c1.getSjyylc()+c1.getSjfyylc()+c1.getLjfyylc()+c1.getLjyylc())));
2396 2455 } else if("jhgl".equals(itemDetails)){
... ... @@ -2444,9 +2503,18 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2444 2503 } else if("jccd".equals(itemDetails)){
2445 2504 listEnd.add(df.format(c1.getJzcd()));
2446 2505 } else if("bgldh".equals(itemDetails)){
2447   -// listEnd.add(df.format(c1.getBglhd()));
2448 2506 listEnd.add(df.format(c1.getZlc()==0? 0:100*c1.getHd()/c1.getZlc()));
2449   - } else if("zgl".equals(itemDetails)){
  2507 + } else if("qh".equals(itemDetails)){
  2508 + listEnd.add(df.format(c1.getHq()));
  2509 + } else if("cql".equals(itemDetails)){
  2510 + listEnd.add(df.format(c1.getCql()));
  2511 + } else if("cccq".equals(itemDetails)){
  2512 + listEnd.add(df.format(c1.getCzcq()));
  2513 + } else if("jccq".equals(itemDetails)){
  2514 + listEnd.add(df.format(c1.getJzcq()));
  2515 + } else if("bglqh".equals(itemDetails)){
  2516 + listEnd.add(df.format(c1.getZlc()==0? 0:100*c1.getHq()/c1.getZlc()));
  2517 + } else if("zgl".equals(itemDetails)){
2450 2518 listEnd.add((df.format(c1.getSjyylc()+c1.getSjfyylc()+c1.getLjfyylc()+c1.getLjyylc())));
2451 2519 } else if("jhgl".equals(itemDetails)){
2452 2520 listEnd.add((df.format(c1.getJhyylc()+c1.getJhfyylc())));
... ... @@ -2460,7 +2528,7 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2460 2528 }
2461 2529  
2462 2530 // 百公里电油耗时为平均数
2463   - if("bgldh".equals(itemDetails) || "bglyh".equals(itemDetails)){
  2531 + if("bglyh".equals(itemDetails) || "bgldh".equals(itemDetails) || "bglqh".equals(itemDetails)){
2464 2532 allNum = allNum/keyMap.size();
2465 2533 all = all/dayList.size();
2466 2534 }
... ... @@ -2496,6 +2564,10 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2496 2564 calc.setJzcd(0d);
2497 2565 calc.setCdl(0d);
2498 2566 calc.setHd(0d);
  2567 + calc.setCzcq(0d);
  2568 + calc.setJzcq(0d);
  2569 + calc.setCql(0d);
  2570 + calc.setHq(0d);
2499 2571 calc.setTs(0);
2500 2572 return calc;
2501 2573 }
... ... @@ -2527,6 +2599,10 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2527 2599 c1.setCzcd(Arith.add(c1.getCzcd(),c2.getCzcd()));
2528 2600 c1.setJzcd(Arith.add(c1.getJzcd(),c2.getJzcd()));
2529 2601 c1.setCdl(Arith.add(c1.getCdl(),c2.getCdl()));
  2602 + c1.setHq(Arith.add(c1.getHq(),c2.getHq()));
  2603 + c1.setCzcq(Arith.add(c1.getCzcq(),c2.getCzcq()));
  2604 + c1.setJzcq(Arith.add(c1.getJzcq(),c2.getJzcq()));
  2605 + c1.setCql(Arith.add(c1.getCql(),c2.getCql()));
2530 2606 c1.setTs(c1.getTs()+c2.getTs());
2531 2607 // c1.setDtbc(c1.getDtbc() + c2.getDtbc());
2532 2608 return c1;
... ...
src/main/resources/static/pages/forms/calc/calcDetailMonthly.html
1   -<style type="text/css">
2   - .table-bordered {
3   - border: 1px solid; }
4   - .table-bordered > thead > tr > th,
5   - .table-bordered > thead > tr > td,
6   - .table-bordered > tbody > tr > th,
7   - .table-bordered > tbody > tr > td,
8   - .table-bordered > tfoot > tr > th,
9   - .table-bordered > tfoot > tr > td {
10   - border: 1px solid;
11   - text-align: center; }
12   - .table-bordered > thead > tr > th,
13   - .table-bordered > thead > tr > td {
14   - border-bottom-width: 2px; }
15   -
16   - .table > tbody + tbody {
17   - border-top: 1px solid; }
18   -
19   -
20   - #analy_body tr> td >span{
21   - word-break: keep-all;white-space:nowrap;
22   - }
23   -
24   - #analy_body td{
25   - min-width: 100px;
26   - max-width: 100px;
27   - width: 100px;
28   - }
29   -
30   - #analy_body{
31   - margin-top: 20px;
32   - height: 620px;
33   - width: 100%
34   - }
35   -
36   -
37   - .table_head::-webkit-scrollbar {
38   - display:none
39   - }
40   -
41   - .table_head{
42   - min-width: 906px;
43   - width: 100%;
44   - overflow: hidden;
45   - }
46   -
47   - .table_body{
48   - width:101%;
49   - height:580px;
50   - overflow: auto;
51   - margin-top: -20px;
52   - }
53   -</style>
54   -<div class="page-head">
55   - <div class="page-title">
56   - <h1>路单线路明细月报表</h1>
57   - </div>
58   -</div>
59   -
60   -<!--<div class="row">-->
61   -<div class=" row col-md-12 portlet light bordered" style="height:calc(100% - 38px)">
62   - <div class="">
63   - <form class="form-inline" >
64   - <div style="display: inline-block; margin-left: 13px;" id="gsdmDiv_daily">
65   - <span class="item-label" style="width: 80px;">&#12288;&#12288;公司: </span>
66   - <select class="form-control" name="company" id="gsdm" style="width: 150px;"></select>
67   - </div>
68   - <div style="display: inline-block; margin-left: 13px;" id="fgsdmDiv_daily">
69   - <span class="item-label" style="width: 80px;">&#12288;分公司: </span>
70   - <select class="form-control" name="fgsdm" id="fgsdm" style="width: 150px;"></select>
71   - </div>
72   - <!--<div style="display: inline-block;margin-left: 33px;">
73   - <span class="item-label" style="width: 80px;">&#12288;&#12288;线路: </span>
74   - <select class="form-control" name="line" id="line" style="width: 180px;"></select>
75   - </div>-->
76   - <div style="display: inline-block;margin-left: 13px;" class="date-picker">
77   - <span class="item-label" style="width: 80px;">&#12288;&#12288;时间: </span>
78   - <input class="form-control" type="text" id="startDate" style="width: 150px;" /> -
79   - <input class="form-control" type="text" id="endDate" style="width: 150px;" />
80   - <!--<input class="form-control" type="text" id="startDate" style="width: 180px;" value="2020-10-01"/> - -->
81   - <!--<input class="form-control" type="text" id="endDate" style="width: 180px;" value="2020-10-10"/>-->
82   - </div>
83   -
84   - <div style="margin-top: 2px"></div>
85   -
86   - <div style="display: inline-block; margin-left: 13px;">
87   - <span class="item-label" style="width: 80px;">线路性质: </span>
88   - <select class="form-control" name="destroy" id="destroy" style="width: 150px;">
89   - <option value="0,1">全部线路</option>
90   - <option value="0">营运线路</option>
91   - <option value="1">非营运线路</option>
92   - </select>
93   - </div>
94   - <div style="display: inline-block;margin-left: 13px;">
95   - <span class="item-label" style="width: 80px;">统计对象: </span>
96   - <select class="form-control" name="statisticalObj" id="statisticalObj" style="width: 150px;">
97   - <option value="cl">车辆</option>
98   - <option value="jsy">驾驶员</option>
99   - <option value="cwy">乘务员</option>
100   - <option value="xl">线路</option>
101   - </select>
102   - </div>
103   -
104   - <div style="display: inline-block; margin-left: 13px;" >
105   - <span class="item-label" style="width: 80px;">统计项目: </span>
106   - <select class="form-control" name="statisticalItem" id="statisticalItem" style="width: 150px;">
107   - <option value="yh">油耗</option>
108   - <option value="dh">电耗</option>
109   - <option value="gl">公里</option>
110   - <option value="bc">班次</option>
111   - </select>
112   - </div>
113   - <div style="display: inline-block; margin-left: 13px;" >
114   - <span class="item-label" style="width: 80px;">项目明细: </span>
115   - <select class="form-control" name="itemDetails" id="itemDetails" style="width: 150px;"></select>
116   - </div>
117   - <div class="form-group" style="display: inline-block;margin-left: 22px;">
118   - <input class="btn btn-default" type="button" id="query" value="筛选"/>
119   - <input class="btn btn-default" type="button" id="export" value="导出"/>
120   - </div>
121   - </form>
122   - </div>
123   -
124   - <div id="analy_body">
125   - <div class="table_head" id="table_head">
126   - <table class="table table-bordered table-hover table-checkable " id="forms_head">
127   - <thead>
128   - </thead>
129   - </table>
130   - </div>
131   - <div class="table_body" id="table_body">
132   - <table class="table table-bordered table-hover table-checkable" id="forms_body" style="background-color: white;">
133   - <tbody>
134   - </tbody>
135   - </table>
136   - </div>
137   - </div>
138   -</div>
139   -<script >
140   - $(function(){
141   - $('#export').attr('disabled', "true");
142   - // 关闭左侧栏
143   - if (!$('body').hasClass('page-sidebar-closed'))
144   - $('.menu-toggler.sidebar-toggler').click();
145   -
146   - var table_body1 = document.getElementById("table_body");
147   - table_body1.onscroll = function(){
148   - var table_body1_left = this.scrollLeft;
149   - document.getElementById("table_head").scrollLeft = table_body1_left;
150   - };
151   -
152   - var d = new Date();
153   - d.setTime(d.getTime() - 4*1000*60*60*24);//只能查4天以前的数据
154   - var year = d.getFullYear();
155   - var month = d.getMonth() + 1;
156   - var day = d.getDate();
157   - if(month < 10)
158   - month = "0" + month;
159   - if(day < 10)
160   - day = "0" + day;
161   - //时间
162   - var dateTime=year + "-" + month + "-" + day;
163   - $("#startDate").val(dateTime);
164   - $("#endDate").val(dateTime);
165   -
166   - $("#endDate").datetimepicker({
167   - format : 'YYYY-MM-DD',
168   - locale : 'zh-cn',
169   - maxDate : dateTime
170   - });
171   - $("#startDate").datetimepicker({
172   - format : 'YYYY-MM-DD',
173   - locale : 'zh-cn',
174   - maxDate : dateTime
175   - });
176   -
177   - var lineAll="";
178   - var datas = {}; //查询条件
179   -
180   - /**用户分配的线路*/
181   - $.get('/realControAuthority/findByCurrentUser', function (userAuthor) {
182   - lineAll = userAuthor.lineCodeStr.substring(0,userAuthor.lineCodeStr.length-1);
183   - });
184   -
185   - var tempData = {};
186   -
187   - $.get('/user/companyData', function(result){
188   - var obj = result;
189   - var options = '';
190   - for(var i = 0; i < obj.length; i++){
191   - options += '<option value="'+obj[i].companyCode+'">'+obj[i].companyName+'</option>';
192   - }
193   -
194   - if(obj.length ==0){
195   - $("#gsdmDiv_daily").css('display','none');
196   - }else if(obj.length ==1){
197   - $("#gsdmDiv_daily").css('display','none');
198   - if(obj[0].children.length == 1 || obj[0].children.length == 0){
199   - fage=false;
200   - $('#gsdmDiv_daily').css('display','none');
201   - }
202   - }
203   - $('#gsdm').html(options);
204   - updateCompany();
205   - });
206   - $("#gsdm").on("change",updateCompany);
207   -
208   - function updateCompany(){
209   - var company = $('#gsdm').val();
210   - $.get('/user/companyData', function(obj) {
211   - var option = '';
212   - var allC = "";
213   - for (var i = 0; i < obj.length; i++) {
214   - if (obj[i].companyCode == company) {
215   - var children = obj[i].children;
216   - for (var j = 0; j < children.length; j++) {
217   - allC += children[j].code+",";
218   - option += '<option value="' + children[j].code + '">' + children[j].name + '</option>';
219   - }
220   - }
221   - }
222   -
223   - var options = '<option value="'+allC.substring(0,allC.length-1)+'">所有分公司</option>'+option;
224   - $('#fgsdm').html(options);
225   - });
226   - }
227   -
228   - // 项目明细选项列
229   - // 触发默认选项
230   - updateItem();
231   - $("#statisticalItem").on("change",updateItem);
232   - function updateItem() {
233   - var item = $('#statisticalItem').val();
234   - var options = '';
235   - if(item == "yh"){
236   - options += '<option value="jzlAll">加注量[全部]</option>' +
237   - '<option value="jzl0">加注量[0#]</option>'+
238   - '<option value="jzl-10">加注量[-10#]</option>'+
239   - '<option value="yhl">油耗量</option>'+
240   - '<option value="cccy">出场存油</option>'+
241   - '<option value="jccy">进场存油</option>'+
242   - '<option value="bglyh">百公里油耗</option>';
243   - } else if(item == "gl"){
244   - options += '<option value="zgl">总公里</option>' +
245   - '<option value="jhgl">计划公里</option>';
246   - /*'<option value="jclm">进场路码</option>'+
247   - '<option value="cclm">出场路码</option>'*/
248   - } else if(item == "bc"){
249   - options += '<option value="sjbc">实际班次</option>' +
250   - '<option value="jhbc">计划班次</option>';
251   - } else if(item == "dh"){
252   - options += '<option value="dh">耗电量</option>';
253   - options += '<option value="cdl">充电量</option>';
254   - options += '<option value="cccd">出场存电</option>';
255   - options += '<option value="jccd">进场存电</option>';
256   - options += '<option value="bgldh">百公里电耗</option>';
257   - }
258   - $('#itemDetails').html(options);
259   - }
260   -
261   - //线路名称
262   - var lineName = '';
263   - $("#query").on("click",function(){
264   - var gsdm = $("#gsdm").val();
265   - var fgsdm = $("#fgsdm").val();
266   - var startDate = $("#startDate").val();
267   - var endDate = $("#endDate").val();
268   - var statisticalObj = $("#statisticalObj").val();
269   - //开始和结束时间
270   - var startTime = Date.parse(new Date(startDate));
271   - var endTime = Date.parse(new Date(endDate));
272   -
273   - datas = {}; // 清空之前数据
274   - datas.gsdm = gsdm;
275   - datas.fgsdm = fgsdm;
276   - datas.lineCode = lineAll;
277   - datas.timeType = "m";
278   - datas.startDate = startDate;
279   - datas.endDate = endDate;
280   - datas.destroy = $("#destroy").val();
281   - datas.statisticalObj = $("#statisticalObj").val();
282   - datas.itemDetails = $("#itemDetails").val();
283   - var itemDetails = datas.itemDetails,
284   - type = "加注量[全部]";
285   - if(itemDetails=="jzl0"){
286   - type = "加注量[0#]"
287   - } else if(itemDetails=="jzl-10"){
288   - type = "加注量[-10#]"
289   - } else if(itemDetails=="yhl"){
290   - type = "油耗量"
291   - } else if(itemDetails=="cccy"){
292   - type = "出场存油"
293   - } else if(itemDetails=="jccy"){
294   - type = "进场存油"
295   - } else if(itemDetails=="bglyh"){
296   - type = "百公里油耗"
297   - } else if(itemDetails=="zgl"){
298   - type = "总公里"
299   - } else if(itemDetails=="jhgl"){
300   - type = "计划公里"
301   - } else if(itemDetails=="jclm"){
302   - type = "进场路码"
303   - } else if(itemDetails=="cclm"){
304   - type = "出场路码"
305   - } else if(itemDetails=="sjbc"){
306   - type = "实际班次"
307   - } else if(itemDetails=="jhbc"){
308   - type = "计划班次"
309   - } else if(itemDetails=="dh"){
310   - type = "耗电量"
311   - } else if(itemDetails=="cdl"){
312   - type = "充电量"
313   - } else if(itemDetails=="cccd"){
314   - type = "出场存电"
315   - } else if(itemDetails=="jccd"){
316   - type = "进场存电"
317   - } else if(itemDetails=="bgldh"){
318   - type = "百公里电耗"
319   - }
320   - datas.name = datas.startDate+"-"+datas.endDate+"-路单线路明细月报表("+type+")";
321   - if(startDate==null || startDate =="" ||endDate==null || endDate ==""){
322   - layer.msg('请选择时间段!');
323   - }else if(endTime<startTime){
324   - layer.msg('结束日期不能小于开始日期!');
325   - }else {
326   - if (endDate.substring(0, 7) != startDate.substring(0, 7)) {
327   - layer.msg("请查询同月份数据!");
328   - return;
329   - } else {
330   - var lodingI = layer.load(2);
331   - $get('/calcWaybill/calcDetailMonthly', datas, function (rs) {
332   - if (rs.length <=0) {
333   - layer.close(lodingI);
334   - layer.open({
335   - title: '提示'
336   - , content: '没有您要查询的数据,请重新选择参数!'
337   - });
338   - $("#export").attr('disabled',"true");
339   - return;
340   - }else
341   - $("#export").removeAttr("disabled");
342   - var htmlHead = "<tr><td colspan='"+rs[0].length+"'>"+datas.name+"</td></tr>", htmlBody = "";
343   - var rsLength = rs.length;
344   - rs.forEach(function (o, i) {
345   - var html = "<tr>"
346   - o.forEach(function (td, j) {
347   - var colspan;
348   - if (i == rsLength - 1 && j == 0) {
349   - colspan = (statisticalObj == "xl" ? "colspan='3'" : "colspan='5'");
350   - if(statisticalObj == "cl")
351   - colspan = "colspan='6'";
352   - }
353   - html += "<td " + colspan + ">" + td + "</td>"
354   - });
355   - html += "</tr>"
356   - if (i == 0) {
357   - htmlHead += html;
358   - } else
359   - htmlBody += html;
360   - });
361   - $('#forms_head thead').html(htmlHead);
362   - $('#forms_body tbody').html(htmlBody);
363   - layer.close(lodingI);
364   - });
365   - }
366   - }
367   - });
368   -
369   - $("#export").on("click",function(){
370   - $post("/report/calcDetailMonthlyE",datas,function(result){
371   - window.open("/downloadFile/download?fileName="+datas.name);
372   - });
373   - });
374   - });
375   -</script>
376   -<!--<script type="application/javascript" src="/pages/forms/calc/calcDetailMonthly.js"></script>-->
  1 +<style type="text/css">
  2 + .table-bordered {
  3 + border: 1px solid; }
  4 + .table-bordered > thead > tr > th,
  5 + .table-bordered > thead > tr > td,
  6 + .table-bordered > tbody > tr > th,
  7 + .table-bordered > tbody > tr > td,
  8 + .table-bordered > tfoot > tr > th,
  9 + .table-bordered > tfoot > tr > td {
  10 + border: 1px solid;
  11 + text-align: center; }
  12 + .table-bordered > thead > tr > th,
  13 + .table-bordered > thead > tr > td {
  14 + border-bottom-width: 2px; }
  15 +
  16 + .table > tbody + tbody {
  17 + border-top: 1px solid; }
  18 +
  19 +
  20 + #analy_body tr> td >span{
  21 + word-break: keep-all;white-space:nowrap;
  22 + }
  23 +
  24 + #analy_body td{
  25 + min-width: 100px;
  26 + max-width: 100px;
  27 + width: 100px;
  28 + }
  29 +
  30 + #analy_body{
  31 + margin-top: 20px;
  32 + height: 620px;
  33 + width: 100%
  34 + }
  35 +
  36 +
  37 + .table_head::-webkit-scrollbar {
  38 + display:none
  39 + }
  40 +
  41 + .table_head{
  42 + min-width: 906px;
  43 + width: 100%;
  44 + overflow: hidden;
  45 + }
  46 +
  47 + .table_body{
  48 + width:101%;
  49 + height:580px;
  50 + overflow: auto;
  51 + margin-top: -20px;
  52 + }
  53 +</style>
  54 +<div class="page-head">
  55 + <div class="page-title">
  56 + <h1>路单线路明细月报表</h1>
  57 + </div>
  58 +</div>
  59 +
  60 +<!--<div class="row">-->
  61 +<div class=" row col-md-12 portlet light bordered" style="height:calc(100% - 38px)">
  62 + <div class="">
  63 + <form class="form-inline" >
  64 + <div style="display: inline-block; margin-left: 13px;" id="gsdmDiv_daily">
  65 + <span class="item-label" style="width: 80px;">&#12288;&#12288;公司: </span>
  66 + <select class="form-control" name="company" id="gsdm" style="width: 150px;"></select>
  67 + </div>
  68 + <div style="display: inline-block; margin-left: 13px;" id="fgsdmDiv_daily">
  69 + <span class="item-label" style="width: 80px;">&#12288;分公司: </span>
  70 + <select class="form-control" name="fgsdm" id="fgsdm" style="width: 150px;"></select>
  71 + </div>
  72 + <!--<div style="display: inline-block;margin-left: 33px;">
  73 + <span class="item-label" style="width: 80px;">&#12288;&#12288;线路: </span>
  74 + <select class="form-control" name="line" id="line" style="width: 180px;"></select>
  75 + </div>-->
  76 + <div style="display: inline-block;margin-left: 13px;" class="date-picker">
  77 + <span class="item-label" style="width: 80px;">&#12288;&#12288;时间: </span>
  78 + <input class="form-control" type="text" id="startDate" style="width: 150px;" /> -
  79 + <input class="form-control" type="text" id="endDate" style="width: 150px;" />
  80 + <!--<input class="form-control" type="text" id="startDate" style="width: 180px;" value="2020-10-01"/> - -->
  81 + <!--<input class="form-control" type="text" id="endDate" style="width: 180px;" value="2020-10-10"/>-->
  82 + </div>
  83 +
  84 + <div style="margin-top: 2px"></div>
  85 +
  86 + <div style="display: inline-block; margin-left: 13px;">
  87 + <span class="item-label" style="width: 80px;">线路性质: </span>
  88 + <select class="form-control" name="destroy" id="destroy" style="width: 150px;">
  89 + <option value="0,1">全部线路</option>
  90 + <option value="0">营运线路</option>
  91 + <option value="1">非营运线路</option>
  92 + </select>
  93 + </div>
  94 + <div style="display: inline-block;margin-left: 13px;">
  95 + <span class="item-label" style="width: 80px;">统计对象: </span>
  96 + <select class="form-control" name="statisticalObj" id="statisticalObj" style="width: 150px;">
  97 + <option value="cl">车辆</option>
  98 + <option value="jsy">驾驶员</option>
  99 + <option value="cwy">乘务员</option>
  100 + <option value="xl">线路</option>
  101 + </select>
  102 + </div>
  103 +
  104 + <div style="display: inline-block; margin-left: 13px;" >
  105 + <span class="item-label" style="width: 80px;">统计项目: </span>
  106 + <select class="form-control" name="statisticalItem" id="statisticalItem" style="width: 150px;">
  107 + <option value="yh">油耗</option>
  108 + <option value="dh">电耗</option>
  109 + <option value="qh">氢耗</option>
  110 + <option value="gl">公里</option>
  111 + <option value="bc">班次</option>
  112 + </select>
  113 + </div>
  114 + <div style="display: inline-block; margin-left: 13px;" >
  115 + <span class="item-label" style="width: 80px;">项目明细: </span>
  116 + <select class="form-control" name="itemDetails" id="itemDetails" style="width: 150px;"></select>
  117 + </div>
  118 + <div class="form-group" style="display: inline-block;margin-left: 22px;">
  119 + <input class="btn btn-default" type="button" id="query" value="筛选"/>
  120 + <input class="btn btn-default" type="button" id="export" value="导出"/>
  121 + </div>
  122 + </form>
  123 + </div>
  124 +
  125 + <div id="analy_body">
  126 + <div class="table_head" id="table_head">
  127 + <table class="table table-bordered table-hover table-checkable " id="forms_head">
  128 + <thead>
  129 + </thead>
  130 + </table>
  131 + </div>
  132 + <div class="table_body" id="table_body">
  133 + <table class="table table-bordered table-hover table-checkable" id="forms_body">
  134 + <tbody>
  135 + </tbody>
  136 + </table>
  137 + </div>
  138 + </div>
  139 +</div>
  140 +<script >
  141 + $(function(){
  142 + $('#export').attr('disabled', "true");
  143 + // 关闭左侧栏
  144 + if (!$('body').hasClass('page-sidebar-closed'))
  145 + $('.menu-toggler.sidebar-toggler').click();
  146 +
  147 + var table_body1 = document.getElementById("table_body");
  148 + table_body1.onscroll = function(){
  149 + var table_body1_left = this.scrollLeft;
  150 + document.getElementById("table_head").scrollLeft = table_body1_left;
  151 + };
  152 +
  153 + var d = new Date();
  154 + d.setTime(d.getTime() - 4*1000*60*60*24);//只能查4天以前的数据
  155 + var year = d.getFullYear();
  156 + var month = d.getMonth() + 1;
  157 + var day = d.getDate();
  158 + if(month < 10)
  159 + month = "0" + month;
  160 + if(day < 10)
  161 + day = "0" + day;
  162 + //时间
  163 + var dateTime=year + "-" + month + "-" + day;
  164 + $("#startDate").val(dateTime);
  165 + $("#endDate").val(dateTime);
  166 +
  167 + $("#endDate").datetimepicker({
  168 + format : 'YYYY-MM-DD',
  169 + locale : 'zh-cn',
  170 + maxDate : dateTime
  171 + });
  172 + $("#startDate").datetimepicker({
  173 + format : 'YYYY-MM-DD',
  174 + locale : 'zh-cn',
  175 + maxDate : dateTime
  176 + });
  177 +
  178 + var lineAll="";
  179 + var datas = {}; //查询条件
  180 +
  181 + /**用户分配的线路*/
  182 + $.get('/realControAuthority/findByCurrentUser', function (userAuthor) {
  183 + lineAll = userAuthor.lineCodeStr.substring(0,userAuthor.lineCodeStr.length-1);
  184 + });
  185 +
  186 + var tempData = {};
  187 +
  188 + $.get('/user/companyData', function(result){
  189 + var obj = result;
  190 + var options = '';
  191 + for(var i = 0; i < obj.length; i++){
  192 + options += '<option value="'+obj[i].companyCode+'">'+obj[i].companyName+'</option>';
  193 + }
  194 +
  195 + if(obj.length ==0){
  196 + $("#gsdmDiv_daily").css('display','none');
  197 + }else if(obj.length ==1){
  198 + $("#gsdmDiv_daily").css('display','none');
  199 + if(obj[0].children.length == 1 || obj[0].children.length == 0){
  200 + fage=false;
  201 + $('#gsdmDiv_daily').css('display','none');
  202 + }
  203 + }
  204 + $('#gsdm').html(options);
  205 + updateCompany();
  206 + });
  207 + $("#gsdm").on("change",updateCompany);
  208 +
  209 + function updateCompany(){
  210 + var company = $('#gsdm').val();
  211 + $.get('/user/companyData', function(obj) {
  212 + var option = '';
  213 + var allC = "";
  214 + for (var i = 0; i < obj.length; i++) {
  215 + if (obj[i].companyCode == company) {
  216 + var children = obj[i].children;
  217 + for (var j = 0; j < children.length; j++) {
  218 + allC += children[j].code+",";
  219 + option += '<option value="' + children[j].code + '">' + children[j].name + '</option>';
  220 + }
  221 + }
  222 + }
  223 +
  224 + var options = '<option value="'+allC.substring(0,allC.length-1)+'">所有分公司</option>'+option;
  225 + $('#fgsdm').html(options);
  226 + });
  227 + }
  228 +
  229 + // 项目明细选项列
  230 + // 触发默认选项
  231 + updateItem();
  232 + $("#statisticalItem").on("change",updateItem);
  233 + function updateItem() {
  234 + var item = $('#statisticalItem').val();
  235 + var options = '';
  236 + if(item == "yh"){
  237 + options += '<option value="jzlAll">加注量[全部]</option>' +
  238 + '<option value="jzl0">加注量[0#]</option>'+
  239 + '<option value="jzl-10">加注量[-10#]</option>'+
  240 + '<option value="yhl">油耗量</option>'+
  241 + '<option value="cccy">出场存油</option>'+
  242 + '<option value="jccy">进场存油</option>'+
  243 + '<option value="bglyh">百公里油耗</option>';
  244 + } else if(item == "gl"){
  245 + options += '<option value="zgl">总公里</option>' +
  246 + '<option value="jhgl">计划公里</option>';
  247 + /*'<option value="jclm">进场路码</option>'+
  248 + '<option value="cclm">出场路码</option>'*/
  249 + } else if(item == "bc"){
  250 + options += '<option value="sjbc">实际班次</option>' +
  251 + '<option value="jhbc">计划班次</option>';
  252 + } else if(item == "dh"){
  253 + options += '<option value="dh">耗电量</option>';
  254 + options += '<option value="cdl">充电量</option>';
  255 + options += '<option value="cccd">出场存电</option>';
  256 + options += '<option value="jccd">进场存电</option>';
  257 + options += '<option value="bgldh">百公里电耗</option>';
  258 + } else if(item == "qh"){
  259 + options += '<option value="qh">耗氢量</option>';
  260 + options += '<option value="cql">充氢量</option>';
  261 + options += '<option value="cccq">出场存氢</option>';
  262 + options += '<option value="jccq">进场存氢</option>';
  263 + options += '<option value="bglqh">百公里氢耗</option>';
  264 + }
  265 + $('#itemDetails').html(options);
  266 + }
  267 +
  268 + //线路名称
  269 + var lineName = '';
  270 + $("#query").on("click",function(){
  271 + var gsdm = $("#gsdm").val();
  272 + var fgsdm = $("#fgsdm").val();
  273 + var startDate = $("#startDate").val();
  274 + var endDate = $("#endDate").val();
  275 + var statisticalObj = $("#statisticalObj").val();
  276 + //开始和结束时间
  277 + var startTime = Date.parse(new Date(startDate));
  278 + var endTime = Date.parse(new Date(endDate));
  279 +
  280 + datas = {}; // 清空之前数据
  281 + datas.gsdm = gsdm;
  282 + datas.fgsdm = fgsdm;
  283 + datas.lineCode = lineAll;
  284 + datas.timeType = "m";
  285 + datas.startDate = startDate;
  286 + datas.endDate = endDate;
  287 + datas.destroy = $("#destroy").val();
  288 + datas.statisticalObj = $("#statisticalObj").val();
  289 + datas.itemDetails = $("#itemDetails").val();
  290 + var itemDetails = datas.itemDetails,
  291 + type = "加注量[全部]";
  292 + if(itemDetails=="jzl0"){
  293 + type = "加注量[0#]"
  294 + } else if(itemDetails=="jzl-10"){
  295 + type = "加注量[-10#]"
  296 + } else if(itemDetails=="yhl"){
  297 + type = "油耗量"
  298 + } else if(itemDetails=="cccy"){
  299 + type = "出场存油"
  300 + } else if(itemDetails=="jccy"){
  301 + type = "进场存油"
  302 + } else if(itemDetails=="bglyh"){
  303 + type = "百公里油耗"
  304 + } else if(itemDetails=="zgl"){
  305 + type = "总公里"
  306 + } else if(itemDetails=="jhgl"){
  307 + type = "计划公里"
  308 + } else if(itemDetails=="jclm"){
  309 + type = "进场路码"
  310 + } else if(itemDetails=="cclm"){
  311 + type = "出场路码"
  312 + } else if(itemDetails=="sjbc"){
  313 + type = "实际班次"
  314 + } else if(itemDetails=="jhbc"){
  315 + type = "计划班次"
  316 + } else if(itemDetails=="dh"){
  317 + type = "耗电量"
  318 + } else if(itemDetails=="cdl"){
  319 + type = "充电量"
  320 + } else if(itemDetails=="cccd"){
  321 + type = "出场存电"
  322 + } else if(itemDetails=="jccd"){
  323 + type = "进场存电"
  324 + } else if(itemDetails=="bgldh"){
  325 + type = "百公里电耗"
  326 + } else if(itemDetails=="qh"){
  327 + type = "耗氢量"
  328 + } else if(itemDetails=="cql"){
  329 + type = "充氢量"
  330 + } else if(itemDetails=="cccq"){
  331 + type = "出场存氢"
  332 + } else if(itemDetails=="jccq"){
  333 + type = "进场存氢"
  334 + } else if(itemDetails=="bglqh"){
  335 + type = "百公里氢耗"
  336 + }
  337 + datas.name = datas.startDate+"-"+datas.endDate+"-路单线路明细月报表("+type+")";
  338 + if(startDate==null || startDate =="" ||endDate==null || endDate ==""){
  339 + layer.msg('请选择时间段!');
  340 + }else if(endTime<startTime){
  341 + layer.msg('结束日期不能小于开始日期!');
  342 + }else {
  343 + if (endDate.substring(0, 7) != startDate.substring(0, 7)) {
  344 + layer.msg("请查询同月份数据!");
  345 + return;
  346 + } else {
  347 + var lodingI = layer.load(2);
  348 + $get('/calcWaybill/calcDetailMonthly', datas, function (rs) {
  349 + if (rs.length <=0) {
  350 + layer.close(lodingI);
  351 + layer.open({
  352 + title: '提示'
  353 + , content: '没有您要查询的数据,请重新选择参数!'
  354 + });
  355 + $("#export").attr('disabled',"true");
  356 + return;
  357 + }else
  358 + $("#export").removeAttr("disabled");
  359 + var htmlHead = "<tr><td colspan='"+rs[0].length+"'>"+datas.name+"</td></tr>", htmlBody = "";
  360 + var rsLength = rs.length;
  361 + rs.forEach(function (o, i) {
  362 + var html = "<tr>"
  363 + o.forEach(function (td, j) {
  364 + var colspan;
  365 + if (i == rsLength - 1 && j == 0) {
  366 + colspan = (statisticalObj == "xl" ? "colspan='3'" : "colspan='5'");
  367 + if(statisticalObj == "cl")
  368 + colspan = "colspan='6'";
  369 + }
  370 + html += "<td " + colspan + ">" + td + "</td>"
  371 + });
  372 + html += "</tr>"
  373 + if (i == 0) {
  374 + htmlHead += html;
  375 + } else
  376 + htmlBody += html;
  377 + });
  378 + $('#forms_head thead').html(htmlHead);
  379 + $('#forms_body tbody').html(htmlBody);
  380 + layer.close(lodingI);
  381 + });
  382 + }
  383 + }
  384 + });
  385 +
  386 + $("#export").on("click",function(){
  387 + $post("/report/calcDetailMonthlyE",datas,function(result){
  388 + window.open("/downloadFile/download?fileName="+datas.name);
  389 + });
  390 + });
  391 + });
  392 +</script>
  393 +<!--<script type="application/javascript" src="/pages/forms/calc/calcDetailMonthly.js"></script>-->
... ...
src/main/resources/static/pages/forms/calc/calcDetailYear.html
1   -<style type="text/css">
2   - .table-bordered {
3   - border: 1px solid; }
4   - .table-bordered > thead > tr > th,
5   - .table-bordered > thead > tr > td,
6   - .table-bordered > tbody > tr > th,
7   - .table-bordered > tbody > tr > td,
8   - .table-bordered > tfoot > tr > th,
9   - .table-bordered > tfoot > tr > td {
10   - border: 1px solid;
11   - text-align: center; }
12   - .table-bordered > thead > tr > th,
13   - .table-bordered > thead > tr > td {
14   - border-bottom-width: 2px; }
15   -
16   - .table > tbody + tbody {
17   - border-top: 1px solid; }
18   -
19   -
20   - #analy_body tr> td >span{
21   - word-break: keep-all;white-space:nowrap;
22   - }
23   -
24   - #analy_body td{
25   - min-width: 100px;
26   - max-width: 100px;
27   - width: 100px;
28   - }
29   -
30   - #analy_body{
31   - margin-top: 20px;
32   - height: 620px;
33   - width: 100%
34   - }
35   -
36   -
37   - .table_head::-webkit-scrollbar {
38   - display:none
39   - }
40   -
41   - .table_head{
42   - min-width: 906px;
43   - width: 100%;
44   - overflow: hidden;
45   - }
46   -
47   - .table_body{
48   - width:101%;
49   - height:580px;
50   - overflow: auto;
51   - margin-top: -20px;
52   - }
53   -</style>
54   -<div class="page-head">
55   - <div class="page-title">
56   - <h1>路单线路明细年报表</h1>
57   - </div>
58   -</div>
59   -
60   -<!--<div class="row">-->
61   -<div class=" row col-md-12 portlet light bordered" style="height:calc(100% - 38px)">
62   - <div class="">
63   - <form class="form-inline" >
64   - <div style="display: inline-block; margin-left: 13px;" id="gsdmDiv_daily">
65   - <span class="item-label" style="width: 80px;">&#12288;&#12288;公司: </span>
66   - <select class="form-control" name="company" id="gsdm" style="width: 150px;"></select>
67   - </div>
68   - <div style="display: inline-block; margin-left: 13px;" id="fgsdmDiv_daily">
69   - <span class="item-label" style="width: 80px;">&#12288;分公司: </span>
70   - <select class="form-control" name="fgsdm" id="fgsdm" style="width: 150px;"></select>
71   - </div>
72   - <!--<div style="display: inline-block;margin-left: 33px;">
73   - <span class="item-label" style="width: 80px;">&#12288;&#12288;线路: </span>
74   - <select class="form-control" name="line" id="line" style="width: 180px;"></select>
75   - </div>-->
76   - <div style="display: inline-block;margin-left: 13px;" class="date-picker">
77   - <span class="item-label" style="width: 80px;">&#12288;&#12288;时间: </span>
78   - <input class="form-control" type="text" id="startDate" style="width: 150px;" /> -
79   - <input class="form-control" type="text" id="endDate" style="width: 150px;" />
80   - <!--<input class="form-control" type="text" id="startDate" style="width: 180px;" value="2020-10-01"/> - -->
81   - <!--<input class="form-control" type="text" id="endDate" style="width: 180px;" value="2020-10-10"/>-->
82   - </div>
83   -
84   - <div style="margin-top: 2px"></div>
85   -
86   - <div style="display: inline-block; margin-left: 13px;">
87   - <span class="item-label" style="width: 80px;">线路性质: </span>
88   - <select class="form-control" name="destroy" id="destroy" style="width: 150px;">
89   - <option value="0,1">全部线路</option>
90   - <option value="0">营运线路</option>
91   - <option value="1">非营运线路</option>
92   - </select>
93   - </div>
94   - <div style="display: inline-block;margin-left: 13px;">
95   - <span class="item-label" style="width: 80px;">统计对象: </span>
96   - <select class="form-control" name="statisticalObj" id="statisticalObj" style="width: 150px;">
97   - <option value="cl">车辆</option>
98   - <option value="jsy">驾驶员</option>
99   - <option value="cwy">乘务员</option>
100   - <option value="xl">线路</option>
101   - </select>
102   - </div>
103   -
104   - <div style="display: inline-block; margin-left: 13px;" >
105   - <span class="item-label" style="width: 80px;">统计项目: </span>
106   - <select class="form-control" name="statisticalItem" id="statisticalItem" style="width: 150px;">
107   - <option value="yh">油耗</option>
108   - <option value="dh">电耗</option>
109   - <option value="gl">公里</option>
110   - <option value="bc">班次</option>
111   - </select>
112   - </div>
113   - <div style="display: inline-block; margin-left: 13px;" >
114   - <span class="item-label" style="width: 80px;">项目明细: </span>
115   - <select class="form-control" name="itemDetails" id="itemDetails" style="width: 150px;"></select>
116   - </div>
117   - <div class="form-group" style="display: inline-block;margin-left: 22px;">
118   - <input class="btn btn-default" type="button" id="query" value="筛选"/>
119   - <input class="btn btn-default" type="button" id="export" value="导出"/>
120   - </div>
121   - </form>
122   - </div>
123   -
124   - <div id="analy_body">
125   - <div class="table_head" id="table_head">
126   - <table class="table table-bordered table-hover table-checkable " id="forms_head">
127   - <thead>
128   - </thead>
129   - </table>
130   - </div>
131   - <div class="table_body" id="table_body">
132   - <table class="table table-bordered table-hover table-checkable" id="forms_body" style="background-color: white;">
133   - <tbody>
134   - </tbody>
135   - </table>
136   - </div>
137   - </div>
138   -</div>
139   -<script >
140   - $(function(){
141   - $('#export').attr('disabled', "true");
142   - // 关闭左侧栏
143   - if (!$('body').hasClass('page-sidebar-closed'))
144   - $('.menu-toggler.sidebar-toggler').click();
145   -
146   - var table_body1 = document.getElementById("table_body");
147   - table_body1.onscroll = function(){
148   - var table_body1_left = this.scrollLeft;
149   - document.getElementById("table_head").scrollLeft = table_body1_left;
150   - };
151   -
152   - var d = new Date();
153   - var year = d.getFullYear();
154   - var month = d.getMonth() + 1;
155   - if(month < 10)
156   - month = "0" + month;
157   - //时间
158   - var dateTime=year + "-" + month;
159   - $("#startDate").val(dateTime);
160   - $("#endDate").val(dateTime);
161   -
162   - $("#endDate").datetimepicker({
163   - format : 'YYYY-MM',
164   - locale : 'zh-cn',
165   - maxDate : dateTime
166   - });
167   - $("#startDate").datetimepicker({
168   - format : 'YYYY-MM',
169   - locale : 'zh-cn',
170   - maxDate : dateTime
171   - });
172   -
173   -
174   - var lineAll="",lineNoD="",lineD="";
175   - var datas = {}; //查询条件
176   -
177   -
178   - /**用户分配的线路*/
179   - $.get('/realControAuthority/findByCurrentUser', function (userAuthor) {
180   - lineAll = userAuthor.lineCodeStr.substring(0,userAuthor.lineCodeStr.length-1);
181   - /* $.get('/line/all', function (lines) {
182   - $.each(lines,function () {
183   -
184   - });
185   -
186   - });*/
187   - });
188   -
189   - var tempData = {};
190   -
191   - $.get('/user/companyData', function(result){
192   - var obj = result;
193   - var options = '';
194   - for(var i = 0; i < obj.length; i++){
195   - options += '<option value="'+obj[i].companyCode+'">'+obj[i].companyName+'</option>';
196   - }
197   -
198   - if(obj.length ==0){
199   - $("#gsdmDiv_daily").css('display','none');
200   - }else if(obj.length ==1){
201   - $("#gsdmDiv_daily").css('display','none');
202   - if(obj[0].children.length == 1 || obj[0].children.length == 0){
203   - fage=false;
204   - $('#gsdmDiv_daily').css('display','none');
205   - }
206   - }
207   - $('#gsdm').html(options);
208   - updateCompany();
209   - });
210   - $("#gsdm").on("change",updateCompany);
211   -
212   - function updateCompany(){
213   - var company = $('#gsdm').val();
214   - $.get('/user/companyData', function(obj) {
215   - var option = '';
216   - var allC = "";
217   - for (var i = 0; i < obj.length; i++) {
218   - if (obj[i].companyCode == company) {
219   - var children = obj[i].children;
220   - for (var j = 0; j < children.length; j++) {
221   - allC += children[j].code+",";
222   - option += '<option value="' + children[j].code + '">' + children[j].name + '</option>';
223   - }
224   - }
225   - }
226   -
227   - var options = '<option value="'+allC.substring(0,allC.length-1)+'">所有分公司</option>'+option;
228   - $('#fgsdm').html(options);
229   - });
230   - }
231   -
232   - // 项目明细选项列
233   - // 触发默认选项
234   - updateItem();
235   - $("#statisticalItem").on("change",updateItem);
236   - var item ="";
237   - function updateItem() {
238   - item = $('#statisticalItem').val();
239   - var options = '';
240   - if(item == "yh"){
241   - options += '<option value="jzlAll">加注量[全部]</option>' +
242   - '<option value="jzl0">加注量[0#]</option>'+
243   - '<option value="jzl-10">加注量[-10#]</option>'+
244   - '<option value="yhl">油耗量</option>'+
245   - '<option value="cccy">出场存油</option>'+
246   - '<option value="jccy">进场存油</option>'+
247   - '<option value="bglyh">百公里油耗</option>';
248   - } else if(item == "gl"){
249   - options += '<option value="zgl">总公里</option>' +
250   - '<option value="jhgl">计划公里</option>';
251   - /*'<option value="jclm">进场路码</option>'+
252   - '<option value="cclm">出场路码</option>'*/
253   - } else if(item == "bc"){
254   - options += '<option value="sjbc">实际班次</option>' +
255   - '<option value="jhbc">计划班次</option>';
256   - } else if(item == "dh"){
257   - options += '<option value="dh">耗电量</option>';
258   - options += '<option value="cdl">充电量</option>';
259   - options += '<option value="cccd">出场存电</option>';
260   - options += '<option value="jccd">进场存电</option>';
261   - options += '<option value="bgldh">百公里电耗</option>';
262   - }
263   - $('#itemDetails').html(options);
264   - }
265   -
266   - //线路名称
267   - var lineName = '';
268   - $("#query").on("click",function(){
269   - var gsdm = $("#gsdm").val();
270   - var fgsdm = $("#fgsdm").val();
271   - var startDate = $("#startDate").val();
272   - var endDate = $("#endDate").val();
273   - var statisticalObj = $("#statisticalObj").val();
274   - //开始和结束时间
275   - var startTime = Date.parse(new Date(startDate));
276   - var endTime = Date.parse(new Date(endDate));
277   -
278   - datas = {}; // 清空之前数据
279   - datas.timeType = "y";
280   - datas.gsdm = gsdm;
281   - datas.fgsdm = fgsdm;
282   - datas.lineCode = lineAll;
283   - datas.startDate = startDate;
284   - datas.endDate = endDate;
285   - datas.destroy = $("#destroy").val();
286   - datas.statisticalObj = $("#statisticalObj").val();
287   - datas.itemDetails = $("#itemDetails").val();
288   - datas.item = item;
289   -
290   - var itemDetails = datas.itemDetails,
291   - type = "加注量[全部]";
292   - if(itemDetails=="jzl0"){
293   - type = "加注量[0#]"
294   - } else if(itemDetails=="jzl-10"){
295   - type = "加注量[-10#]"
296   - } else if(itemDetails=="yhl"){
297   - type = "油耗量"
298   - } else if(itemDetails=="cccy"){
299   - type = "出场存油"
300   - } else if(itemDetails=="jccy"){
301   - type = "进场存油"
302   - } else if(itemDetails=="bglyh"){
303   - type = "百公里油耗"
304   - } else if(itemDetails=="zgl"){
305   - type = "总公里"
306   - } else if(itemDetails=="jhgl"){
307   - type = "计划公里"
308   - } else if(itemDetails=="jclm"){
309   - type = "进场路码"
310   - } else if(itemDetails=="cclm"){
311   - type = "出场路码"
312   - } else if(itemDetails=="sjbc"){
313   - type = "实际班次"
314   - } else if(itemDetails=="jhbc"){
315   - type = "计划班次"
316   - } else if(itemDetails=="dh"){
317   - type = "耗电量"
318   - } else if(itemDetails=="cdl"){
319   - type = "充电量"
320   - } else if(itemDetails=="cccd"){
321   - type = "出场存电"
322   - } else if(itemDetails=="jccd"){
323   - type = "进场存电"
324   - } else if(itemDetails=="bgldh"){
325   - type = "百公里电耗"
326   - }
327   - datas.name = datas.startDate+"-"+datas.endDate+"-路单线路明细年报表("+type+")";
328   - if(startDate==null || startDate =="" ||endDate==null || endDate ==""){
329   - layer.msg('请选择时间段!');
330   - }else if(endTime<startTime){
331   - layer.msg('结束日期不能小于开始日期!');
332   - }else {
333   - if (endDate.substring(0, 4) != startDate.substring(0, 4)) {
334   - layer.msg("请查询同年份数据!");
335   - return;
336   - } else {
337   - var lodingI = layer.load(2);
338   - $get('/calcWaybill/calcDetailMonthly', datas, function (rs) {
339   - if (rs.length <=0) {
340   - layer.close(lodingI);
341   - layer.open({
342   - title: '提示'
343   - , content: '没有您要查询的数据,请重新选择参数!'
344   - });
345   - $("#export").attr('disabled',"true");
346   - return;
347   - }else
348   - $("#export").removeAttr("disabled");
349   - var htmlHead = "<tr><td colspan='"+rs[0].length+"'>"+datas.name+"</td></tr>", htmlBody = "";
350   - var rsLength = rs.length;
351   - rs.forEach(function (o, i) {
352   - var html = "<tr>"
353   - o.forEach(function (td, j) {
354   - var colspan;
355   - if (i == rsLength - 1 && j == 0) {
356   - colspan = (statisticalObj == "xl" ? "colspan='3'" : "colspan='5'");
357   - if(statisticalObj == "cl")
358   - colspan = "colspan='6'";
359   - }
360   - html += "<td " + colspan + ">" + td + "</td>"
361   - });
362   - html += "</tr>"
363   - if (i == 0) {
364   - htmlHead += html;
365   - } else
366   - htmlBody += html;
367   - });
368   - $('#forms_head thead').html(htmlHead);
369   - $('#forms_body tbody').html(htmlBody);
370   - layer.close(lodingI);
371   - });
372   - }
373   - }
374   - });
375   -
376   - $("#export").on("click",function(){
377   - $post("/report/calcDetailMonthlyE",datas,function(result){
378   - window.open("/downloadFile/download?fileName="+datas.name);
379   - });
380   - });
381   - });
382   -</script>
383   -<!--<script type="application/javascript" src="/pages/forms/calc/calcDetailMonthly.js"></script>-->
  1 +<style type="text/css">
  2 + .table-bordered {
  3 + border: 1px solid; }
  4 + .table-bordered > thead > tr > th,
  5 + .table-bordered > thead > tr > td,
  6 + .table-bordered > tbody > tr > th,
  7 + .table-bordered > tbody > tr > td,
  8 + .table-bordered > tfoot > tr > th,
  9 + .table-bordered > tfoot > tr > td {
  10 + border: 1px solid;
  11 + text-align: center; }
  12 + .table-bordered > thead > tr > th,
  13 + .table-bordered > thead > tr > td {
  14 + border-bottom-width: 2px; }
  15 +
  16 + .table > tbody + tbody {
  17 + border-top: 1px solid; }
  18 +
  19 +
  20 + #analy_body tr> td >span{
  21 + word-break: keep-all;white-space:nowrap;
  22 + }
  23 +
  24 + #analy_body td{
  25 + min-width: 100px;
  26 + max-width: 100px;
  27 + width: 100px;
  28 + }
  29 +
  30 + #analy_body{
  31 + margin-top: 20px;
  32 + height: 620px;
  33 + width: 100%
  34 + }
  35 +
  36 +
  37 + .table_head::-webkit-scrollbar {
  38 + display:none
  39 + }
  40 +
  41 + .table_head{
  42 + min-width: 906px;
  43 + width: 100%;
  44 + overflow: hidden;
  45 + }
  46 +
  47 + .table_body{
  48 + width:101%;
  49 + height:580px;
  50 + overflow: auto;
  51 + margin-top: -20px;
  52 + }
  53 +</style>
  54 +<div class="page-head">
  55 + <div class="page-title">
  56 + <h1>路单线路明细年报表</h1>
  57 + </div>
  58 +</div>
  59 +
  60 +<!--<div class="row">-->
  61 +<div class=" row col-md-12 portlet light bordered" style="height:calc(100% - 38px)">
  62 + <div class="">
  63 + <form class="form-inline" >
  64 + <div style="display: inline-block; margin-left: 13px;" id="gsdmDiv_daily">
  65 + <span class="item-label" style="width: 80px;">&#12288;&#12288;公司: </span>
  66 + <select class="form-control" name="company" id="gsdm" style="width: 150px;"></select>
  67 + </div>
  68 + <div style="display: inline-block; margin-left: 13px;" id="fgsdmDiv_daily">
  69 + <span class="item-label" style="width: 80px;">&#12288;分公司: </span>
  70 + <select class="form-control" name="fgsdm" id="fgsdm" style="width: 150px;"></select>
  71 + </div>
  72 + <!--<div style="display: inline-block;margin-left: 33px;">
  73 + <span class="item-label" style="width: 80px;">&#12288;&#12288;线路: </span>
  74 + <select class="form-control" name="line" id="line" style="width: 180px;"></select>
  75 + </div>-->
  76 + <div style="display: inline-block;margin-left: 13px;" class="date-picker">
  77 + <span class="item-label" style="width: 80px;">&#12288;&#12288;时间: </span>
  78 + <input class="form-control" type="text" id="startDate" style="width: 150px;" /> -
  79 + <input class="form-control" type="text" id="endDate" style="width: 150px;" />
  80 + <!--<input class="form-control" type="text" id="startDate" style="width: 180px;" value="2020-10-01"/> - -->
  81 + <!--<input class="form-control" type="text" id="endDate" style="width: 180px;" value="2020-10-10"/>-->
  82 + </div>
  83 +
  84 + <div style="margin-top: 2px"></div>
  85 +
  86 + <div style="display: inline-block; margin-left: 13px;">
  87 + <span class="item-label" style="width: 80px;">线路性质: </span>
  88 + <select class="form-control" name="destroy" id="destroy" style="width: 150px;">
  89 + <option value="0,1">全部线路</option>
  90 + <option value="0">营运线路</option>
  91 + <option value="1">非营运线路</option>
  92 + </select>
  93 + </div>
  94 + <div style="display: inline-block;margin-left: 13px;">
  95 + <span class="item-label" style="width: 80px;">统计对象: </span>
  96 + <select class="form-control" name="statisticalObj" id="statisticalObj" style="width: 150px;">
  97 + <option value="cl">车辆</option>
  98 + <option value="jsy">驾驶员</option>
  99 + <option value="cwy">乘务员</option>
  100 + <option value="xl">线路</option>
  101 + </select>
  102 + </div>
  103 +
  104 + <div style="display: inline-block; margin-left: 13px;" >
  105 + <span class="item-label" style="width: 80px;">统计项目: </span>
  106 + <select class="form-control" name="statisticalItem" id="statisticalItem" style="width: 150px;">
  107 + <option value="yh">油耗</option>
  108 + <option value="dh">电耗</option>
  109 + <option value="qh">氢耗</option>
  110 + <option value="gl">公里</option>
  111 + <option value="bc">班次</option>
  112 + </select>
  113 + </div>
  114 + <div style="display: inline-block; margin-left: 13px;" >
  115 + <span class="item-label" style="width: 80px;">项目明细: </span>
  116 + <select class="form-control" name="itemDetails" id="itemDetails" style="width: 150px;"></select>
  117 + </div>
  118 + <div class="form-group" style="display: inline-block;margin-left: 22px;">
  119 + <input class="btn btn-default" type="button" id="query" value="筛选"/>
  120 + <input class="btn btn-default" type="button" id="export" value="导出"/>
  121 + </div>
  122 + </form>
  123 + </div>
  124 +
  125 + <div id="analy_body">
  126 + <div class="table_head" id="table_head">
  127 + <table class="table table-bordered table-hover table-checkable " id="forms_head">
  128 + <thead>
  129 + </thead>
  130 + </table>
  131 + </div>
  132 + <div class="table_body" id="table_body">
  133 + <table class="table table-bordered table-hover table-checkable" id="forms_body">
  134 + <tbody>
  135 + </tbody>
  136 + </table>
  137 + </div>
  138 + </div>
  139 +</div>
  140 +<script >
  141 + $(function(){
  142 + $('#export').attr('disabled', "true");
  143 + // 关闭左侧栏
  144 + if (!$('body').hasClass('page-sidebar-closed'))
  145 + $('.menu-toggler.sidebar-toggler').click();
  146 +
  147 + var table_body1 = document.getElementById("table_body");
  148 + table_body1.onscroll = function(){
  149 + var table_body1_left = this.scrollLeft;
  150 + document.getElementById("table_head").scrollLeft = table_body1_left;
  151 + };
  152 +
  153 + var d = new Date();
  154 + var year = d.getFullYear();
  155 + var month = d.getMonth() + 1;
  156 + if(month < 10)
  157 + month = "0" + month;
  158 + //时间
  159 + var dateTime=year + "-" + month;
  160 + $("#startDate").val(dateTime);
  161 + $("#endDate").val(dateTime);
  162 +
  163 + $("#endDate").datetimepicker({
  164 + format : 'YYYY-MM',
  165 + locale : 'zh-cn',
  166 + maxDate : dateTime
  167 + });
  168 + $("#startDate").datetimepicker({
  169 + format : 'YYYY-MM',
  170 + locale : 'zh-cn',
  171 + maxDate : dateTime
  172 + });
  173 +
  174 +
  175 + var lineAll="",lineNoD="",lineD="";
  176 + var datas = {}; //查询条件
  177 +
  178 +
  179 + /**用户分配的线路*/
  180 + $.get('/realControAuthority/findByCurrentUser', function (userAuthor) {
  181 + lineAll = userAuthor.lineCodeStr.substring(0,userAuthor.lineCodeStr.length-1);
  182 + /* $.get('/line/all', function (lines) {
  183 + $.each(lines,function () {
  184 +
  185 + });
  186 +
  187 + });*/
  188 + });
  189 +
  190 + var tempData = {};
  191 +
  192 + $.get('/user/companyData', function(result){
  193 + var obj = result;
  194 + var options = '';
  195 + for(var i = 0; i < obj.length; i++){
  196 + options += '<option value="'+obj[i].companyCode+'">'+obj[i].companyName+'</option>';
  197 + }
  198 +
  199 + if(obj.length ==0){
  200 + $("#gsdmDiv_daily").css('display','none');
  201 + }else if(obj.length ==1){
  202 + $("#gsdmDiv_daily").css('display','none');
  203 + if(obj[0].children.length == 1 || obj[0].children.length == 0){
  204 + fage=false;
  205 + $('#gsdmDiv_daily').css('display','none');
  206 + }
  207 + }
  208 + $('#gsdm').html(options);
  209 + updateCompany();
  210 + });
  211 + $("#gsdm").on("change",updateCompany);
  212 +
  213 + function updateCompany(){
  214 + var company = $('#gsdm').val();
  215 + $.get('/user/companyData', function(obj) {
  216 + var option = '';
  217 + var allC = "";
  218 + for (var i = 0; i < obj.length; i++) {
  219 + if (obj[i].companyCode == company) {
  220 + var children = obj[i].children;
  221 + for (var j = 0; j < children.length; j++) {
  222 + allC += children[j].code+",";
  223 + option += '<option value="' + children[j].code + '">' + children[j].name + '</option>';
  224 + }
  225 + }
  226 + }
  227 +
  228 + var options = '<option value="'+allC.substring(0,allC.length-1)+'">所有分公司</option>'+option;
  229 + $('#fgsdm').html(options);
  230 + });
  231 + }
  232 +
  233 + // 项目明细选项列
  234 + // 触发默认选项
  235 + updateItem();
  236 + $("#statisticalItem").on("change",updateItem);
  237 + var item ="";
  238 + function updateItem() {
  239 + item = $('#statisticalItem').val();
  240 + var options = '';
  241 + if(item == "yh"){
  242 + options += '<option value="jzlAll">加注量[全部]</option>' +
  243 + '<option value="jzl0">加注量[0#]</option>'+
  244 + '<option value="jzl-10">加注量[-10#]</option>'+
  245 + '<option value="yhl">油耗量</option>'+
  246 + '<option value="cccy">出场存油</option>'+
  247 + '<option value="jccy">进场存油</option>'+
  248 + '<option value="bglyh">百公里油耗</option>';
  249 + } else if(item == "gl"){
  250 + options += '<option value="zgl">总公里</option>' +
  251 + '<option value="jhgl">计划公里</option>';
  252 + /*'<option value="jclm">进场路码</option>'+
  253 + '<option value="cclm">出场路码</option>'*/
  254 + } else if(item == "bc"){
  255 + options += '<option value="sjbc">实际班次</option>' +
  256 + '<option value="jhbc">计划班次</option>';
  257 + } else if(item == "dh"){
  258 + options += '<option value="dh">耗电量</option>';
  259 + options += '<option value="cdl">充电量</option>';
  260 + options += '<option value="cccd">出场存电</option>';
  261 + options += '<option value="jccd">进场存电</option>';
  262 + options += '<option value="bgldh">百公里电耗</option>';
  263 + } else if(item == "qh"){
  264 + options += '<option value="qh">耗氢量</option>';
  265 + options += '<option value="cql">充氢量</option>';
  266 + options += '<option value="cccq">出场存氢</option>';
  267 + options += '<option value="jccq">进场存氢</option>';
  268 + options += '<option value="bglqh">百公里氢耗</option>';
  269 + }
  270 + $('#itemDetails').html(options);
  271 + }
  272 +
  273 + //线路名称
  274 + var lineName = '';
  275 + $("#query").on("click",function(){
  276 + var gsdm = $("#gsdm").val();
  277 + var fgsdm = $("#fgsdm").val();
  278 + var startDate = $("#startDate").val();
  279 + var endDate = $("#endDate").val();
  280 + var statisticalObj = $("#statisticalObj").val();
  281 + //开始和结束时间
  282 + var startTime = Date.parse(new Date(startDate));
  283 + var endTime = Date.parse(new Date(endDate));
  284 +
  285 + datas = {}; // 清空之前数据
  286 + datas.timeType = "y";
  287 + datas.gsdm = gsdm;
  288 + datas.fgsdm = fgsdm;
  289 + datas.lineCode = lineAll;
  290 + datas.startDate = startDate;
  291 + datas.endDate = endDate;
  292 + datas.destroy = $("#destroy").val();
  293 + datas.statisticalObj = $("#statisticalObj").val();
  294 + datas.itemDetails = $("#itemDetails").val();
  295 + datas.item = item;
  296 +
  297 + var itemDetails = datas.itemDetails,
  298 + type = "加注量[全部]";
  299 + if(itemDetails=="jzl0"){
  300 + type = "加注量[0#]"
  301 + } else if(itemDetails=="jzl-10"){
  302 + type = "加注量[-10#]"
  303 + } else if(itemDetails=="yhl"){
  304 + type = "油耗量"
  305 + } else if(itemDetails=="cccy"){
  306 + type = "出场存油"
  307 + } else if(itemDetails=="jccy"){
  308 + type = "进场存油"
  309 + } else if(itemDetails=="bglyh"){
  310 + type = "百公里油耗"
  311 + } else if(itemDetails=="zgl"){
  312 + type = "总公里"
  313 + } else if(itemDetails=="jhgl"){
  314 + type = "计划公里"
  315 + } else if(itemDetails=="jclm"){
  316 + type = "进场路码"
  317 + } else if(itemDetails=="cclm"){
  318 + type = "出场路码"
  319 + } else if(itemDetails=="sjbc"){
  320 + type = "实际班次"
  321 + } else if(itemDetails=="jhbc"){
  322 + type = "计划班次"
  323 + } else if(itemDetails=="dh"){
  324 + type = "耗电量"
  325 + } else if(itemDetails=="cdl"){
  326 + type = "充电量"
  327 + } else if(itemDetails=="cccd"){
  328 + type = "出场存电"
  329 + } else if(itemDetails=="jccd"){
  330 + type = "进场存电"
  331 + } else if(itemDetails=="bgldh"){
  332 + type = "百公里电耗"
  333 + } else if(itemDetails=="qh"){
  334 + type = "耗氢量"
  335 + } else if(itemDetails=="cql"){
  336 + type = "充氢量"
  337 + } else if(itemDetails=="cccq"){
  338 + type = "出场存氢"
  339 + } else if(itemDetails=="jccq"){
  340 + type = "进场存氢"
  341 + } else if(itemDetails=="bglqh"){
  342 + type = "百公里氢耗"
  343 + }
  344 + datas.name = datas.startDate+"-"+datas.endDate+"-路单线路明细年报表("+type+")";
  345 + if(startDate==null || startDate =="" ||endDate==null || endDate ==""){
  346 + layer.msg('请选择时间段!');
  347 + }else if(endTime<startTime){
  348 + layer.msg('结束日期不能小于开始日期!');
  349 + }else {
  350 + if (endDate.substring(0, 4) != startDate.substring(0, 4)) {
  351 + layer.msg("请查询同年份数据!");
  352 + return;
  353 + } else {
  354 + var lodingI = layer.load(2);
  355 + $get('/calcWaybill/calcDetailMonthly', datas, function (rs) {
  356 + if (rs.length <=0) {
  357 + layer.close(lodingI);
  358 + layer.open({
  359 + title: '提示'
  360 + , content: '没有您要查询的数据,请重新选择参数!'
  361 + });
  362 + $("#export").attr('disabled',"true");
  363 + return;
  364 + }else
  365 + $("#export").removeAttr("disabled");
  366 + var htmlHead = "<tr><td colspan='"+rs[0].length+"'>"+datas.name+"</td></tr>", htmlBody = "";
  367 + var rsLength = rs.length;
  368 + rs.forEach(function (o, i) {
  369 + var html = "<tr>"
  370 + o.forEach(function (td, j) {
  371 + var colspan;
  372 + if (i == rsLength - 1 && j == 0) {
  373 + colspan = (statisticalObj == "xl" ? "colspan='3'" : "colspan='5'");
  374 + if(statisticalObj == "cl")
  375 + colspan = "colspan='6'";
  376 + }
  377 + html += "<td " + colspan + ">" + td + "</td>"
  378 + });
  379 + html += "</tr>"
  380 + if (i == 0) {
  381 + htmlHead += html;
  382 + } else
  383 + htmlBody += html;
  384 + });
  385 + $('#forms_head thead').html(htmlHead);
  386 + $('#forms_body tbody').html(htmlBody);
  387 + layer.close(lodingI);
  388 + });
  389 + }
  390 + }
  391 + });
  392 +
  393 + $("#export").on("click",function(){
  394 + $post("/report/calcDetailMonthlyE",datas,function(result){
  395 + window.open("/downloadFile/download?fileName="+datas.name);
  396 + });
  397 + });
  398 + });
  399 +</script>
  400 +<!--<script type="application/javascript" src="/pages/forms/calc/calcDetailMonthly.js"></script>-->
... ...