Commit da8632ab154af42ddf3f3ef43531b0a707aab8b7

Authored by 娄高锋
1 parent d6b091f5

路单线路明细月报表、年报表,把线路list查询放到后台端;汇总计算方法重写。

src/main/java/com/bsth/controller/calc/CalcWaybillController.java
... ... @@ -416,8 +416,8 @@ public class CalcWaybillController extends BaseController<CalcWaybill, Integer>
416 416 return calcWaybillService.getBusMileage(line, date, date2, xlName, zt, by, type);
417 417 }
418 418  
419   - @RequestMapping(value="/calcDetailMonthly")
420   - public List<List<String>> calcDetailMonthly(@RequestParam Map<String, Object> map){
421   - return calcWaybillService.calcDetailMonthly(map);
  419 + @RequestMapping(value="/calcDetailMonthlyNew")
  420 + public List<List<String>> calcDetailMonthlyNew(@RequestParam Map<String, Object> map){
  421 + return calcWaybillService.calcDetailMonthlyNew(map);
422 422 }
423 423 }
... ...
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 bglhd=0.0;
  108 +
  109 + // 天数记录
  110 + private int ts=0;
  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 +}
... ...
src/main/java/com/bsth/repository/calc/CalcWaybillRepository.java
... ... @@ -77,31 +77,41 @@ public interface CalcWaybillRepository extends BaseRepository&lt;CalcWaybill, Integ
77 77  
78 78  
79 79 //按照时间段统计,公司下线路 (驾驶员)
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) " +
81   - "and c.xl in (select l.lineCode from Line l where l.destroy in (?6)) order by c.jGh,c.fgsdm,c.xl,c.rqStr")
82   - List<CalcWaybill> scheduleByJsy2(List<String> line,String date,String date2,List<String> gsdm,List<String> fgsdm, List<Integer> destroy);
  80 + @Query(value="select DISTINCT c from CalcWaybill c where c.rqStr >= ?1 and c.rqStr <= ?2 and c.gsdm in(?3) and c.fgsdm in(?4) " +
  81 + "and c.xl in (select l.lineCode from Line l where l.destroy in (?5) and l.lineCode in (?6)) order by c.jGh,c.fgsdm,c.xl,c.rqStr")
  82 + List<CalcWaybill> scheduleByJsy2(String date, String date2, List<String> gsdm, List<String> fgsdm, List<Integer> destroym, List<String> line);
83 83 //按照时间段统计,公司下线路 (售票员) coalesce(c.sGh,'')
84   - @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 <> '' " +
85   - "and c.xl in (select l.lineCode from Line l where l.destroy in (?6)) order by c.sGh,c.fgsdm,c.xl,c.rqStr")
86   - List<CalcWaybill> scheduleBySpy2(List<String> line,String date,String date2,List<String> gsdm,List<String> fgsdm, List<Integer> destroy);
  84 + @Query(value="select DISTINCT c from CalcWaybill c where c.rqStr >= ?1 and c.rqStr <= ?2 and c.gsdm in(?3) and c.fgsdm in(?4) and c.sGh <> null and c.sGh <> '' " +
  85 + "and c.xl in (select l.lineCode from Line l where l.destroy in (?5) and l.lineCode in (?6)) order by c.sGh,c.fgsdm,c.xl,c.rqStr")
  86 + List<CalcWaybill> scheduleBySpy2(String date, String date2, List<String> gsdm, List<String> fgsdm, List<Integer> destroy, List<String> line);
87 87 //按照时间段统计,公司下线路 (车辆自编号)
88   - @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) " +
89   - "and c.xl in (select l.lineCode from Line l where l.destroy in (?6)) order by c.cl,c.fgsdm,c.xl,c.rqStr")
90   - List<CalcWaybill> scheduleByZbh2(List<String> line,String date,String date2,List<String> gsdm,List<String> fgsdm, List<Integer> destroy);
  88 + @Query(value="select DISTINCT c from CalcWaybill c where c.rqStr >= ?1 and c.rqStr <= ?2 and c.gsdm in(?3) and c.fgsdm in(?4) " +
  89 + "and c.xl in (select l.lineCode from Line l where l.destroy in (?5) and l.lineCode in (?6)) order by c.cl,c.fgsdm,c.xl,c.rqStr")
  90 + List<CalcWaybill> scheduleByZbh2(String date, String date2, List<String> gsdm, List<String> fgsdm, List<Integer> destroy, List<String> line);
91 91 //按照时间段统计,公司下线路 排序不同
92   - @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) " +
93   - "and c.xl in (select l.lineCode from Line l where l.destroy in (?6)) order by c.fgsdm,c.xl,c.rqStr")
94   - List<CalcWaybill> scheduleByDateAndLineTjPx(List<String> line,String date,String date2,List<String> gsdm,List<String> fgsdm, List<Integer> destroy);
  92 + @Query(value="select DISTINCT c from CalcWaybill c where c.rqStr >= ?1 and c.rqStr <= ?2 and c.gsdm in(?3) and c.fgsdm in(?4) " +
  93 + "and c.xl in (select l.lineCode from Line l where l.destroy in (?5) and l.lineCode in (?6)) order by c.fgsdm,c.xl,c.rqStr")
  94 + List<CalcWaybill> scheduleByDateAndLineTjPx(String date, String date2, List<String> gsdm, List<String> fgsdm, List<Integer> destroy, List<String> line);
95 95  
96 96 //路单没有的加油
97 97 @Query(value="select DISTINCT y from Ylb y left join CalcWaybill c on y.rq = c.rq and y.xlbm = c.xl and y.jsy = c.jGh and y.nbbm = c.cl " +
98   - "where y.xlbm in(?1) and y.rq between ?2 and ?3 and y.ssgsdm in(?4) and y.fgsdm in(?5) and c.id is null " +
99   - "and y.xlbm in (select l.lineCode from Line l where l.destroy in (?6)) order by y.rq desc") //按日期倒序,方便插入list
100   - List<Ylb> ylbNotSchedule(List<String> line,Date date,Date date2,List<String> gsdm,List<String> fgsdm, List<Integer> destroy);
  98 + "where y.rq >= ?1 and y.rq <= ?2 and y.ssgsdm in(?3) and y.fgsdm in(?4) and c.id is null " +
  99 + "and y.xlbm in (select l.lineCode from Line l where l.destroy in (?5) and l.lineCode in (?6)) order by y.rq desc") //按日期倒序,方便插入list
  100 + List<Ylb> ylbNotSchedule(Date date, Date date2, List<String> gsdm, List<String> fgsdm, List<Integer> destroy, List<String> line);
101 101  
102 102 //路单没有的加油
103 103 @Query(value="select DISTINCT d from Dlb d left join CalcWaybill c on d.rq = c.rq and d.xlbm = c.xl and d.jsy = c.jGh and d.nbbm = c.cl " +
104   - "where d.xlbm in(?1) and d.rq between ?2 and ?3 and d.ssgsdm in(?4) and d.fgsdm in(?5) and c.id is null " +
105   - "and d.xlbm in (select l.lineCode from Line l where l.destroy in (?6)) order by d.rq desc") //按日期倒序,方便插入list
106   - List<Dlb> DlbNotSchedule(List<String> line,Date date,Date date2,List<String> gsdm,List<String> fgsdm, List<Integer> destroy);
  104 + "where d.rq >= ?1 and d.rq <= ?2 and d.ssgsdm in(?3) and d.fgsdm in(?4) and c.id is null " +
  105 + "and d.xlbm in (select l.lineCode from Line l where l.destroy in (?5) and l.lineCode in (?6)) order by d.rq desc") //按日期倒序,方便插入list
  106 + List<Dlb> dlbNotSchedule(Date date, Date date2, List<String> gsdm, List<String> fgsdm, List<Integer> destroy, List<String> line);
  107 +
  108 + @Query(value="select DISTINCT y from Ylb y left join CalcWaybill c on y.rq = c.rq and y.xlbm = c.xl and y.jsy = c.jGh and y.nbbm = c.cl " +
  109 + "where y.rq >= ?1 and y.rq <= ?2 and y.ssgsdm in(?3) and y.fgsdm in(?4) " +
  110 + "and y.xlbm in (select l.lineCode from Line l where l.destroy in (?5) and l.lineCode in (?6)) order by y.rq desc") //按日期倒序,方便插入list
  111 + List<Ylb> ylb(Date date, Date date2, List<String> gsdm, List<String> fgsdm, List<Integer> destroy, List<String> line);
  112 +
  113 + @Query(value="select DISTINCT d from Dlb d left join CalcWaybill c on d.rq = c.rq and d.xlbm = c.xl and d.jsy = c.jGh and d.nbbm = c.cl " +
  114 + "where d.rq >= ?1 and d.rq <= ?2 and d.ssgsdm in(?3) and d.fgsdm in(?4) " +
  115 + "and d.xlbm in (select l.lineCode from Line l where l.destroy in (?5) and l.lineCode in (?6)) order by d.rq desc") //按日期倒序,方便插入list
  116 + List<Dlb> dlb(Date date, Date date2, List<String> gsdm, List<String> fgsdm, List<Integer> destroy, List<String> line);
107 117 }
... ...
src/main/java/com/bsth/service/calc/CalcWaybillService.java
... ... @@ -43,4 +43,6 @@ public interface CalcWaybillService extends BaseService&lt;CalcWaybill, Integer&gt; {
43 43 List<Map<String, Object>> getBusMileage(String line, String date, String date2, String xlName, String zt, String by, String type);
44 44  
45 45 List<List<String>> calcDetailMonthly(Map<String, Object> map);
  46 +
  47 + List<List<String>> calcDetailMonthlyNew(Map<String, Object> map);
46 48 }
... ...
src/main/java/com/bsth/service/calc/impl/CalcWaybillServiceImpl.java
... ... @@ -25,6 +25,8 @@ import com.bsth.repository.calc.CalcLineMileageRepository;
25 25 import com.bsth.repository.calc.CalcStatisticsRepository;
26 26 import com.bsth.repository.calc.CalcWaybillRepository;
27 27 import com.bsth.repository.realcontrol.ScheduleRealInfoRepository;
  28 +import com.bsth.repository.sys.RealControAuthorityRepository;
  29 +import com.bsth.security.util.SecurityUtils;
28 30 import com.bsth.service.LineService;
29 31 import com.bsth.service.calc.CalcToolService;
30 32 import com.bsth.service.calc.CalcWaybillService;
... ... @@ -50,6 +52,7 @@ import org.springframework.stereotype.Service;
50 52 import javax.transaction.Transactional;
51 53  
52 54 import java.math.BigDecimal;
  55 +import java.math.RoundingMode;
53 56 import java.sql.ResultSet;
54 57 import java.sql.SQLException;
55 58 import java.text.DecimalFormat;
... ... @@ -98,6 +101,9 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
98 101 private ReportService reportService;
99 102 @Autowired
100 103 CarsRepository carsRepository;
  104 +
  105 + @Autowired
  106 + RealControAuthorityRepository realControAuthorityRepository;
101 107  
102 108 @Autowired
103 109 JdbcTemplate jdbcTemplate;
... ... @@ -1933,20 +1939,21 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
1933 1939 }
1934 1940 List<String> line= new ArrayList<>();
1935 1941 String lineStr = "";
1936   - if(map.get("lineCode")!=null){
1937   - lineStr = map.get("lineCode").toString().trim();
1938   - String[] lines = lineStr.split(",");
1939   - for (int i = 0; i < lines.length; i++){
1940   - line.add(lines[i]);
1941   - }
1942   - }
1943   - //查询全部线路(测试时使用)
1944   -// Iterable<Line> findAll = lineService.findAll();
1945   -// for(Line l : findAll){
1946   -// line.add(l.getLineCode());
1947   -// lineStr += l.getLineCode() + ",";
1948   -// }
1949   -// lineStr = lineStr.substring(0, lineStr.length() - 1);
  1942 + if(map.containsKey("allLine")){
  1943 + Iterable<Line> findAll = lineService.findAll();
  1944 + for(Line l : findAll){
  1945 + line.add(l.getLineCode());
  1946 + lineStr += l.getLineCode() + ",";
  1947 + }
  1948 + lineStr = lineStr.substring(0, lineStr.length() - 1);
  1949 + } else {
  1950 + String lineCodeStr = realControAuthorityRepository.findByUserId(SecurityUtils.getCurrentUser().getId()).getLineCodeStr();
  1951 + lineStr = lineCodeStr.substring(0, lineCodeStr.length() - 1);
  1952 + String[] lineStrs = lineStr.split(",");
  1953 + for(String s : lineStrs){
  1954 + line.add(s);
  1955 + }
  1956 + }
1950 1957  
1951 1958 String startDate="";
1952 1959 if(map.get("startDate")!=null){
... ... @@ -2005,30 +2012,33 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2005 2012 }
2006 2013 }
2007 2014  
  2015 + System.out.println(new Date());
2008 2016 int flag = 0;
2009 2017 if("jsy".equals(statisticalObj)){
2010 2018 flag = 1;
2011   - list = calcRepository.scheduleByJsy2(line, startDate, endDate, gsdm, fgsdm, destroy);
  2019 + list = calcRepository.scheduleByJsy2(startDate, endDate, gsdm, fgsdm, destroy, line);
2012 2020 } else if("cwy".equals(statisticalObj)){
2013 2021 flag = 2;
2014   - list = calcRepository.scheduleBySpy2(line, startDate, endDate, gsdm, fgsdm, destroy);
  2022 + list = calcRepository.scheduleBySpy2(startDate, endDate, gsdm, fgsdm, destroy, line);
2015 2023 } else if("cl".equals(statisticalObj)){
2016 2024 flag = 3;
2017   - list = calcRepository.scheduleByZbh2(line, startDate, endDate, gsdm, fgsdm, destroy);
  2025 + list = calcRepository.scheduleByZbh2( startDate, endDate, gsdm, fgsdm, destroy, line);
2018 2026 } else if("xl".equals(statisticalObj)){
2019 2027 flag = 4;
2020   - list = calcRepository.scheduleByDateAndLineTjPx(line,startDate,endDate,gsdm,fgsdm, destroy);
  2028 + list = calcRepository.scheduleByDateAndLineTjPx(startDate, endDate, gsdm, fgsdm, destroy, line);
2021 2029 }
2022 2030  
2023 2031  
2024 2032 // List类转换
2025 2033 final List<CalcWaybillDetail> listNew = JSONArray.parseArray(JSON.toJSONString(list), CalcWaybillDetail.class);
2026   -
  2034 +
  2035 + System.out.println(new Date());
2027 2036 if(flag != 2)
2028 2037 try {
2029 2038 //查询出没有路单的加油充电,插入到上面查询的结果集中汇总计算。
2030   - List<Ylb> ylbNotSchedule = calcRepository.ylbNotSchedule(line, dateFormat.parse(startDate), dateFormat.parse(endDate), gsdm, fgsdm, destroy);
2031   - List<Dlb> dlbNotSchedule = calcRepository.DlbNotSchedule(line, dateFormat.parse(startDate), dateFormat.parse(endDate), gsdm, fgsdm, destroy);
  2039 + List<Ylb> ylbNotSchedule = calcRepository.ylbNotSchedule(dateFormat.parse(startDate), dateFormat.parse(endDate), gsdm, fgsdm, destroy, line);
  2040 + List<Dlb> dlbNotSchedule = calcRepository.dlbNotSchedule(dateFormat.parse(startDate), dateFormat.parse(endDate), gsdm, fgsdm, destroy, line);
  2041 + System.out.println(new Date());
2032 2042 for(Ylb y : ylbNotSchedule){
2033 2043 Date ylbrq = y.getRq();
2034 2044 String ylbxl = y.getXlbm();
... ... @@ -2271,6 +2281,7 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2271 2281 } catch (Exception e) {
2272 2282 // TODO: handle exception
2273 2283 }
  2284 + System.out.println(new Date());
2274 2285  
2275 2286 if(listNew.size() <= 0){
2276 2287 return resList;
... ... @@ -2285,6 +2296,9 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2285 2296 // 只有在选择 车辆,驾驶员查询时才有
2286 2297 // 把油量和电量数据查出来,封装成Map,计算时直接取
2287 2298 if(flag != 2 ){
  2299 + List<Object> objList = new ArrayList<Object>();
  2300 + objList.add(startDate);
  2301 + objList.add(endDate);
2288 2302 String linesql="";
2289 2303 if(!lineStr.equals("")){
2290 2304 linesql +=" and xlbm in("+lineStr+") ";
... ... @@ -2296,12 +2310,12 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2296 2310 linesql +=" and fgsdm in("+fgsdmStr+") ";
2297 2311 }
2298 2312 String ylsql="SELECT * FROM bsth_c_ylb"
2299   - + " WHERE rq >= '"+startDate+"' and rq <= '"+endDate+"' "
  2313 + + " WHERE rq >= ? and rq <= ? "
2300 2314 + linesql;
2301   - String dlSal= " SELECT * FROM bsth_c_dlb"
2302   - + " WHERE rq >= '"+startDate+"' and rq <= '"+endDate+"' "
  2315 + String dlSql= " SELECT * FROM bsth_c_dlb"
  2316 + + " WHERE rq >= ? and rq <= ? "
2303 2317 + linesql;
2304   - List<Ylb> ylbList = jdbcTemplate.query(ylsql, new RowMapper<Ylb>() {
  2318 + List<Ylb> ylbList = jdbcTemplate.query(ylsql, objList.toArray(), new RowMapper<Ylb>() {
2305 2319 @Override
2306 2320 public Ylb mapRow(ResultSet arg0, int arg1) throws SQLException{
2307 2321 Ylb ylb = new Ylb();
... ... @@ -2311,7 +2325,6 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2311 2325 } catch (ParseException e){
2312 2326 logger.error(e.toString(),e);
2313 2327 }
2314   -// Date rq = ft.parse(arg0.getString("rq"));
2315 2328 ylb.setXlbm(arg0.getString("xlbm"));
2316 2329 ylb.setJsy(arg0.getString("jsy"));
2317 2330 ylb.setJname(arg0.getString("jname"));
... ... @@ -2331,7 +2344,7 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2331 2344 return ylb;
2332 2345 }
2333 2346 });
2334   - List<Dlb> dlbList = jdbcTemplate.query(dlSal, new RowMapper<Dlb>() {
  2347 + List<Dlb> dlbList = jdbcTemplate.query(dlSql, objList.toArray(), new RowMapper<Dlb>() {
2335 2348 @Override
2336 2349 public Dlb mapRow(ResultSet arg0, int arg1) throws SQLException {
2337 2350 Dlb dlb = new Dlb();Date rq = null;
... ... @@ -2735,7 +2748,496 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2735 2748 // listEnd.add(df.format(allNum)+"/"+df.format(all));
2736 2749 listEnd.add(df.format(all));
2737 2750 resList.add(listEnd);
  2751 + System.out.println(new Date());
  2752 +
  2753 + return resList;
  2754 + }
  2755 +
  2756 + //240820重写calcDetailMonthly方法
  2757 + @Override
  2758 + public List<List<String>> calcDetailMonthlyNew(Map<String, Object> map) {
  2759 + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
  2760 + SimpleDateFormat dateFormatMon = new SimpleDateFormat("yyyy-MM");
  2761 + DecimalFormat df = new DecimalFormat("0.000");//格式化小数
  2762 + List<Integer> destroy= new ArrayList<>();
  2763 + String destroyStr = "";
  2764 + if(map.get("destroy")!=null){
  2765 + destroyStr = map.get("destroy").toString().trim();
  2766 + String[] destroys = destroyStr.split(",");
  2767 + for (int i = 0; i < destroys.length; i++){
  2768 + destroy.add(Integer.parseInt(destroys[i]));
  2769 + }
  2770 + }
  2771 + List<String> gsdm= new ArrayList<>();
  2772 + String gsdmStr = "";
  2773 + if(map.get("gsdm")!=null){
  2774 + gsdmStr = map.get("gsdm").toString().trim();
  2775 + String[] gsdms = gsdmStr.split(",");
  2776 + for (int i = 0; i < gsdms.length; i++){
  2777 + gsdm.add(gsdms[i]);
  2778 + }
  2779 + }
  2780 + List<String> fgsdm= new ArrayList<>();
  2781 + String fgsdmStr = "";
  2782 + if(map.get("fgsdm")!=null){
  2783 + fgsdmStr = map.get("fgsdm").toString().trim();
  2784 + String[] fgsdms = fgsdmStr.split(",");
  2785 + for (int i = 0; i < fgsdms.length; i++){
  2786 + fgsdm.add(fgsdms[i]);
  2787 + }
  2788 + }
  2789 + List<String> line= new ArrayList<>();
  2790 + String lineStr = "";
  2791 + if(map.containsKey("allLine")){
  2792 + Iterable<Line> findAll = lineService.findAll();
  2793 + for(Line l : findAll){
  2794 + line.add(l.getLineCode());
  2795 + lineStr += l.getLineCode() + ",";
  2796 + }
  2797 + lineStr = lineStr.substring(0, lineStr.length() - 1);
  2798 + } else {
  2799 + String lineCodeStr = realControAuthorityRepository.findByUserId(SecurityUtils.getCurrentUser().getId()).getLineCodeStr();
  2800 + lineStr = lineCodeStr.substring(0, lineCodeStr.length() - 1);
  2801 + String[] lineStrs = lineStr.split(",");
  2802 + for(String s : lineStrs){
  2803 + line.add(s);
  2804 + }
  2805 + }
  2806 +
  2807 + Map<String, String> carsMap = new HashMap<>();
  2808 + List<Cars> carsList = carsRepository.findCars();
  2809 + for (Cars c:carsList) {
  2810 + String sfdc = c.getSfdc()+"";
  2811 + carsMap.put(c.getInsideCode(), sfdc.equals("true")?"纯电动":"柴油");
  2812 + }
  2813 +
  2814 + String startDate="";
  2815 + if(map.get("startDate")!=null){
  2816 + startDate=map.get("startDate").toString().trim();
  2817 + }
  2818 + String endDate="";
  2819 + if(map.get("endDate")!=null){
  2820 + endDate=map.get("endDate").toString().trim();
  2821 + }
  2822 + String type="";
  2823 + if(map.get("type")!=null){
  2824 + type=map.get("type").toString().trim();
  2825 + }
  2826 + String statisticalObj="";
  2827 + if(map.get("statisticalObj")!=null){
  2828 + statisticalObj=map.get("statisticalObj").toString().trim();
  2829 + }
  2830 + String itemDetails="";
  2831 + if(map.get("itemDetails")!=null){
  2832 + itemDetails=map.get("itemDetails").toString().trim();
  2833 + }
  2834 + String timeType=map.get("timeType").toString().trim();
  2835 +
  2836 + List<String> dayList = new ArrayList<>();
  2837 + int day = 0, day2 = 0;
  2838 + if("m".equals(timeType)){
  2839 + day = Integer.parseInt(startDate.substring(8,10));
  2840 + day2 = Integer.parseInt(endDate.substring(8,10));
  2841 + for(int i = day; i <= day2; i++){
  2842 + dayList.add(startDate.substring(0,7)+"-"+(i<10?"0"+i:i));
  2843 + }
  2844 + } else if("y".equals(timeType)){
  2845 + day = Integer.parseInt(startDate.substring(5,7));
  2846 + day2 = Integer.parseInt(endDate.substring(5,7));
  2847 + for(int i = day; i <= day2; i++){
  2848 + dayList.add(startDate.substring(0,5)+(i<10?"0"+i:i));
  2849 + }
  2850 + startDate += "-01";
  2851 + try {
  2852 + endDate = dateFormat.format(new Date(dateFormat.parse(dateFormat.format(dateFormat.parse(endDate + "-32")).substring(0,7) + "-01").getTime() - 1l*1000*60*60*24));
  2853 + } catch (ParseException e) {
  2854 + // TODO Auto-generated catch block
  2855 + e.printStackTrace();
  2856 + }
  2857 + }
  2858 +
  2859 + List<List<String>> resList = new ArrayList<>(); // 返回list
  2860 + List<CalcWaybill> list = new ArrayList<CalcWaybill>();
  2861 +
  2862 + int flag = 0;
  2863 + if("jsy".equals(statisticalObj)){
  2864 + flag = 1;
  2865 + list = calcRepository.scheduleByJsy2(startDate, endDate, gsdm, fgsdm, destroy, line);
  2866 + } else if("cwy".equals(statisticalObj)){
  2867 + flag = 2;
  2868 + list = calcRepository.scheduleBySpy2(startDate, endDate, gsdm, fgsdm, destroy, line);
  2869 + } else if("cl".equals(statisticalObj)){
  2870 + flag = 3;
  2871 + list = calcRepository.scheduleByZbh2( startDate, endDate, gsdm, fgsdm, destroy, line);
  2872 + } else if("xl".equals(statisticalObj)){
  2873 + flag = 4;
  2874 + list = calcRepository.scheduleByDateAndLineTjPx(startDate, endDate, gsdm, fgsdm, destroy, line);
  2875 + }
  2876 +
  2877 + // List类转换
  2878 + final List<CalcWaybillDetail> listNew = JSONArray.parseArray(JSON.toJSONString(list), CalcWaybillDetail.class);
  2879 +
  2880 + //先以公司线路分组
  2881 + HashMap<String, List<CalcWaybillDetail>> keyMap = new HashMap<String, List<CalcWaybillDetail>>();
  2882 + ArrayList<String> keyList = new ArrayList<String>();
  2883 + //再以统计对象分组
  2884 + HashMap<String, List<CalcWaybillDetail>> keyMapT = new HashMap<String, List<CalcWaybillDetail>>();
  2885 + ArrayList<String> keyNewList = new ArrayList<String>();
  2886 +
  2887 + for(CalcWaybillDetail cwd : listNew){
  2888 + String key = cwd.getGsdm() + "_" + cwd.getFgsdm() + "_" + cwd.getXl();
  2889 + if(!keyMap.containsKey(key)){
  2890 + keyMap.put(key, new ArrayList<CalcWaybillDetail>());
  2891 + keyList.add(key);
  2892 + }
  2893 + keyMap.get(key).add(cwd);
  2894 + }
  2895 +
  2896 + if(flag != 2){
  2897 + try {
  2898 + List<Ylb> ylb = calcRepository.ylb(dateFormat.parse(startDate), dateFormat.parse(endDate), gsdm, fgsdm, destroy, line);
  2899 + List<Dlb> dlb = calcRepository.dlb(dateFormat.parse(startDate), dateFormat.parse(endDate), gsdm, fgsdm, destroy, line);
  2900 +
  2901 + for(Ylb y : ylb){
  2902 + String key = y.getSsgsdm() + "_" + y.getFgsdm() + "_" + y.getXlbm();
  2903 + if(!keyMap.containsKey(key)){
  2904 + keyMap.put(key, new ArrayList<CalcWaybillDetail>());
  2905 + keyList.add(key);
  2906 + }
  2907 +
  2908 + CalcWaybillDetail cNew = new CalcWaybillDetail();
  2909 + cNew.setRq(y.getRq());
  2910 + cNew.setRqStr(dateFormat.format(y.getRq()));
  2911 + cNew.setXl(y.getXlbm());
  2912 + cNew.setXlName(BasicData.lineCodeAllNameMap.get(y.getXlbm()));
  2913 + cNew.setGsdm(y.getSsgsdm());
  2914 + cNew.setGsname(BasicData.businessCodeNameMap.get(y.getSsgsdm()));
  2915 + cNew.setFgsdm(y.getFgsdm());
  2916 + cNew.setFgsname(BasicData.businessFgsCodeNameMap.get(y.getFgsdm()+"_"+y.getSsgsdm()));
  2917 + cNew.setCl(y.getNbbm());
  2918 + cNew.setjGh(y.getJsy());
  2919 + if(BasicData.allPerson.get(y.getSsgsdm()+"-"+y.getJsy()) != null){
  2920 + cNew.setjName(BasicData.allPerson.get(y.getSsgsdm()+"-"+y.getJsy()));
  2921 + } else {
  2922 + cNew.setjName("");
  2923 + }
  2924 + cNew.setZlc(y.getZlc());
  2925 + cNew.setYh(y.getYh());
  2926 + cNew.setJzl(y.getJzl());
  2927 + if("0".equals(y.getRylx())){
  2928 + cNew.setJzl0(y.getJzl());
  2929 + }else if("1".equals(y.getRylx())){
  2930 + cNew.setJzl10(y.getJzl());
  2931 + }
  2932 + cNew.setJzyl(y.getJzyl());
  2933 + cNew.setCzyl(y.getCzyl());
  2934 + cNew.setRylx(y.getRylx());
  2935 + cNew.setBglyh((y.getZlc()==0? 0:100*y.getYh()/y.getZlc()));
  2936 + keyMap.get(key).add(cNew);
  2937 + }
  2938 + for(Dlb d : dlb){
  2939 + String key = d.getSsgsdm() + "_" + d.getFgsdm() + "_" + d.getXlbm();
  2940 + if(!keyMap.containsKey(key)){
  2941 + keyMap.put(key, new ArrayList<CalcWaybillDetail>());
  2942 + keyList.add(key);
  2943 + }
  2944 +
  2945 + CalcWaybillDetail cNew = new CalcWaybillDetail();
  2946 + cNew.setRq(d.getRq());
  2947 + cNew.setRqStr(dateFormat.format(d.getRq()));
  2948 + cNew.setXl(d.getXlbm());
  2949 + cNew.setXlName(BasicData.lineCodeAllNameMap.get(d.getXlbm()));
  2950 + cNew.setGsdm(d.getSsgsdm());
  2951 + cNew.setGsname(BasicData.businessCodeNameMap.get(d.getSsgsdm()));
  2952 + cNew.setFgsdm(d.getFgsdm());
  2953 + cNew.setFgsname(BasicData.businessFgsCodeNameMap.get(d.getFgsdm()+"_"+d.getSsgsdm()));
  2954 + cNew.setCl(d.getNbbm());
  2955 + cNew.setjGh(d.getJsy());
  2956 + if(BasicData.allPerson.get(d.getSsgsdm()+"-"+d.getJsy()) != null){
  2957 + cNew.setjName(BasicData.allPerson.get(d.getSsgsdm()+"-"+d.getJsy()));
  2958 + } else {
  2959 + cNew.setjName("");
  2960 + }
  2961 + cNew.setZlc(d.getZlc());
  2962 + cNew.setHd(d.getHd());
  2963 + cNew.setJzcd(d.getJzcd());
  2964 + cNew.setCzcd(d.getCzcd());
  2965 + cNew.setCdl(d.getCdl());
  2966 + cNew.setBglyh((d.getZlc()==0? 0:100*d.getHd()/d.getZlc()));
  2967 + keyMap.get(key).add(cNew);
  2968 + }
  2969 +
  2970 + } catch (ParseException e) {
  2971 + // TODO Auto-generated catch block
  2972 + e.printStackTrace();
  2973 + }
  2974 + }
  2975 +
  2976 + for(String key : keyList){
  2977 + List<CalcWaybillDetail> cwds = keyMap.get(key);
  2978 + for(CalcWaybillDetail cwd : cwds){
  2979 + String keyNew = key;
  2980 + if(flag == 1 && cwd.getjGh() != null && cwd.getjName() != null){
  2981 + keyNew += "_" + cwd.getjGh() + "_" + cwd.getjName();
  2982 + } else if(flag == 2 && cwd.getsGh() != null && cwd.getsName() != null){
  2983 + keyNew += "_" + cwd.getsGh() + "_" + cwd.getsName();
  2984 + } else if(flag == 3 && cwd.getCl() != null){
  2985 + keyNew += "_" + cwd.getCl();
  2986 + } else if(flag == 4){ // 4是按线路分组,这里不需要细分
  2987 + }
  2988 + if(!keyMapT.containsKey(keyNew)){
  2989 + keyMapT.put(keyNew, new ArrayList<CalcWaybillDetail>());
  2990 + keyNewList.add(keyNew);
  2991 + }
  2992 + keyMapT.get(keyNew).add(cwd);
  2993 + }
  2994 + }
  2995 +
  2996 + //表头
  2997 + List<String> list1 = new ArrayList<>();
  2998 + list1.add("序号");
  2999 + list1.add("所属公司");
  3000 + list1.add("线路");
  3001 + if(flag==1 || flag==2){
  3002 + list1.add("工号");
  3003 + list1.add("姓名");
  3004 + } else if(flag == 3){
  3005 + list1.add("自编号");
  3006 + list1.add("车牌号");
  3007 + list1.add("燃油类型");
  3008 + }
  3009 + list1.add("计划公里");
  3010 + list1.add("总公里");
  3011 + list1.add("空驶公里");
  3012 + list1.add("临加公里");
  3013 + list1.add("烂班公里");
  3014 + list1.add("m".equals(timeType)?"天数":"月数");
  3015 + for(int i=day; i<=day2; i++){
  3016 + list1.add((i<10?"0"+i:i)+("m".equals(timeType)?"日":"月"));
  3017 + }
  3018 + if("bgldh".equals(itemDetails) || "bglyh".equals(itemDetails)){
  3019 + list1.add("平均");
  3020 + } else
  3021 + list1.add("合计");
  3022 + resList.add(list1);
  3023 +
  3024 + List<String> listAll = new ArrayList<>(); // 最下的合计行
  3025 + Double jhglAll = 0d,
  3026 + zglAll = 0d, ksglAll = 0d,
  3027 + ljglAll = 0d, lbglAll = 0d;
  3028 + Long tsAll = 0l;
  3029 + Map<String, BigDecimal> tempAll = new HashMap<String, BigDecimal>();
  3030 + Map<String, BigDecimal> temp2All = new HashMap<String, BigDecimal>();
  3031 + Double allNumAll = 0d; // 最右列合计
  3032 + Double allNum2All = 0d; // 最右列合计
  3033 +
  3034 + for(String d : dayList){
  3035 + tempAll.put(d, new BigDecimal(0));
  3036 + temp2All.put(d, new BigDecimal(0));
  3037 + }
  3038 +
  3039 + int no = 1;
  3040 + for(String key : keyNewList){
  3041 + List<CalcWaybillDetail> listT = keyMapT.get(key);
  3042 + CalcWaybillDetail c = listT.get(0);
  3043 + BigDecimal allNum = new BigDecimal("0"); // 最右列合计
  3044 + BigDecimal allNum2 = new BigDecimal("0"); // 最右列合计
  3045 +
  3046 + Map<String, String> temp = new HashMap<String, String>();
  3047 + Map<String, String> temp2 = new HashMap<String, String>();
  3048 + for(String d : dayList){
  3049 + temp.put(d, "");
  3050 + temp2.put(d, "0");
  3051 + }
  3052 + for(int i = 0; i < listT.size(); i++){
  3053 + CalcWaybillDetail cw = listT.get(i);
  3054 + if(i > 0){
  3055 + this.summation2(c, cw);
  3056 + }
  3057 +
  3058 + String dd = "";
  3059 + if("m".equals(timeType)){
  3060 + dd = dateFormat.format(cw.getRq());
  3061 + } else if("y".equals(timeType)){
  3062 + dd = dateFormatMon.format(cw.getRq());
  3063 + }
  3064 + if(temp.containsKey(dd)){
  3065 + if("".equals(temp.get(dd))){
  3066 + c.setTs(c.getTs() + 1);
  3067 + temp.put(dd, "0");
  3068 + }
  3069 + // 根据统计对象和日期区间统计
  3070 + if("jzlAll".equals(itemDetails)){
  3071 + temp.put(dd, Arith.add(temp.get(dd), cw.getJzl()) + "");
  3072 + }else if("jzl0".equals(itemDetails)){
  3073 + temp.put(dd, Arith.add(temp.get(dd), cw.getJzl0()) + "");
  3074 + } else if("jzl-10".equals(itemDetails)){
  3075 + temp.put(dd, Arith.add(temp.get(dd), cw.getJzl10()) + "");
  3076 + } else if("yhl".equals(itemDetails)){
  3077 + temp.put(dd, Arith.add(temp.get(dd), cw.getYh()) + "");
  3078 + } else if("jccy".equals(itemDetails)){
  3079 + temp.put(dd, Arith.add(temp.get(dd), cw.getJzyl()) + "");
  3080 + } else if("cccy".equals(itemDetails)){
  3081 + temp.put(dd, Arith.add(temp.get(dd), cw.getCzyl()) + "");
  3082 + } else if("bglyh".equals(itemDetails)){
  3083 +// temp.put(dd, Arith.add(temp.get(dd), cw.getZlc()==0?0:100*cw.getYh()/cw.getZlc()) + "");
  3084 + temp.put(dd, Arith.add(temp.get(dd), cw.getYh()) + "");
  3085 + temp2.put(dd, Arith.add(temp2.get(dd), cw.getZlc()) + "");
  3086 + } else if("dh".equals(itemDetails)){
  3087 + temp.put(dd, Arith.add(temp.get(dd), cw.getHd()) + "");
  3088 + } else if("cdl".equals(itemDetails)){
  3089 + temp.put(dd, Arith.add(temp.get(dd), cw.getCdl()) + "");
  3090 + } else if("cccd".equals(itemDetails)){
  3091 + temp.put(dd, Arith.add(temp.get(dd), cw.getCzcd()) + "");
  3092 + } else if("jccd".equals(itemDetails)){
  3093 + temp.put(dd, Arith.add(temp.get(dd), cw.getJzcd()) + "");
  3094 + } else if("bgldh".equals(itemDetails)){
  3095 +// temp.put(dd, Arith.add(temp.get(dd), cw.getZlc()==0?0:100*cw.getHd()/cw.getZlc()) + "");
  3096 + temp.put(dd, Arith.add(temp.get(dd), cw.getHd()) + "");
  3097 + temp2.put(dd, Arith.add(temp2.get(dd), cw.getZlc()) + "");
  3098 + } else if("zgl".equals(itemDetails)){
  3099 + temp.put(dd, Arith.add(temp.get(dd), Arith.add(Arith.add(cw.getSjyylc(), cw.getSjfyylc()),
  3100 + Arith.add(cw.getLjyylc(), cw.getLjfyylc()))) + "");
  3101 + } else if("jhgl".equals(itemDetails)){
  3102 + temp.put(dd, Arith.add(temp.get(dd), Arith.add(cw.getJhyylc(), cw.getJhfyylc())) + "");
  3103 + } else if("sjbc".equals(itemDetails)){
  3104 + temp.put(dd, Arith.add(temp.get(dd), cw.getSjyybc()+cw.getSjfyybc()+cw.getLjbc()+"") + "");
  3105 + } else if("jhbc".equals(itemDetails)){
  3106 + temp.put(dd, Arith.add(temp.get(dd), cw.getJhyybc()+cw.getJhfyybc()+"") + "");
  3107 + }
  3108 + }
  3109 + }
  3110 + List<String> listStr = new ArrayList<>();
  3111 + listStr.add("" + no++);
  3112 + listStr.add(c.getFgsname());
  3113 + listStr.add(c.getXlName());
  3114 + if("jsy".equals(statisticalObj)){
  3115 + listStr.add(c.getjGh());
  3116 + listStr.add(c.getjName());
  3117 + } else if("cwy".equals(statisticalObj)){
  3118 + listStr.add(c.getsGh());
  3119 + listStr.add(c.getsName());
  3120 + } else if("cl".equals(statisticalObj)){
  3121 + listStr.add(c.getCl());
  3122 + if(BasicData.nbbmCompanyPlateMap.get(c.getCl()) != null){
  3123 + listStr.add(BasicData.nbbmCompanyPlateMap.get(c.getCl())+"");
  3124 + } else {
  3125 + listStr.add("");
  3126 + }
  3127 + if(carsMap.containsKey(c.getCl())){
  3128 + listStr.add(carsMap.get(c.getCl()));
  3129 + } else {
  3130 + listStr.add("");
  3131 + }
  3132 + } else if("xl".equals(statisticalObj)){
  3133 +
  3134 + }
  3135 + Double jhgl = Arith.add(c.getJhyylc(), c.getJhfyylc());
  3136 + Double zgl = Arith.add(Arith.add(c.getSjyylc(), c.getSjfyylc()),
  3137 + Arith.add(c.getLjyylc(), c.getLjfyylc()));
  3138 + Double ksgl = Arith.add(c.getSjfyylc(), c.getLjfyylc());
  3139 + Double ljgl = Arith.add(c.getLjyylc(), c.getLjfyylc());
  3140 + Double lbgl = c.getLblc();
  3141 +
  3142 + listStr.add(df.format(jhgl));
  3143 + listStr.add(df.format(zgl));
  3144 + listStr.add(df.format(ksgl));
  3145 + listStr.add(df.format(ljgl));
  3146 + listStr.add(df.format(lbgl));
  3147 + listStr.add(c.getTs()+"");
  3148 +
  3149 + BigDecimal hj = new BigDecimal("0");
  3150 +
  3151 + for(String d : dayList){ // 把每个日期单位值取出来,并计算合计值
  3152 + String str = temp.get(d);
  3153 + if(str.length() > 0){
  3154 + if("bgldh".equals(itemDetails) || "bglyh".equals(itemDetails)){ // 百公里能耗算法不一样
  3155 + String str2 = temp2.get(d);
  3156 + if(str2.length() > 0){
  3157 + BigDecimal str_bd = new BigDecimal(str); // 能耗
  3158 + BigDecimal str2_bd = new BigDecimal(str2); // 里程
  3159 + if(str2_bd.compareTo(new BigDecimal(0)) > 0){
  3160 + String val = df.format(str_bd.multiply(new BigDecimal(100)).divide(str2_bd, 3, RoundingMode.HALF_UP));
  3161 + listStr.add(val);
  3162 + hj = hj.add(new BigDecimal(val));
  3163 + allNum = allNum.add(str_bd);
  3164 + allNum2 = allNum2.add(str2_bd);
  3165 + tempAll.put(d, tempAll.get(d).add(str_bd));
  3166 + temp2All.put(d, temp2All.get(d).add(str2_bd));
  3167 + } else {
  3168 + listStr.add("");
  3169 + }
  3170 + } else {
  3171 + listStr.add("");
  3172 + }
  3173 + } else {
  3174 + BigDecimal str_bd = new BigDecimal(str);
  3175 + listStr.add(df.format(str_bd));
  3176 + allNum = allNum.add(str_bd);
  3177 + tempAll.put(d, tempAll.get(d).add(str_bd));
  3178 + }
  3179 + } else {
  3180 + listStr.add("");
  3181 + }
  3182 +
  3183 + }
  3184 + if("bgldh".equals(itemDetails) || "bglyh".equals(itemDetails)){
  3185 + if(c.getTs() > 0){
  3186 + listStr.add(df.format(hj.divide(new BigDecimal(c.getTs()), 3, RoundingMode.HALF_UP)));
  3187 + } else {
  3188 + listStr.add(df.format(0));
  3189 + }
  3190 + } else {
  3191 + listStr.add(df.format(allNum));
  3192 + }
  3193 + resList.add(listStr);
  3194 +
  3195 + jhglAll = Arith.add(jhglAll, jhgl);
  3196 + zglAll = Arith.add(zglAll, zgl);
  3197 + ksglAll = Arith.add(ksglAll, ksgl);
  3198 + ljglAll = Arith.add(ljglAll, ljgl);
  3199 + lbglAll = Arith.add(lbglAll, lbgl);
  3200 + tsAll += c.getTs();
  3201 + allNumAll = Arith.add(allNumAll, allNum);
  3202 + allNum2All = Arith.add(allNum2All, allNum2);
  3203 +
  3204 + }
2738 3205  
  3206 + listAll.add("合计");
  3207 + listAll.add(df.format(jhglAll));
  3208 + listAll.add(df.format(zglAll));
  3209 + listAll.add(df.format(ksglAll));
  3210 + listAll.add(df.format(ljglAll));
  3211 + listAll.add(df.format(lbglAll));
  3212 + listAll.add(tsAll + "");
  3213 +
  3214 + BigDecimal hj = new BigDecimal("0");
  3215 +
  3216 + if("bgldh".equals(itemDetails) || "bglyh".equals(itemDetails)){
  3217 + for(String d : dayList){
  3218 + BigDecimal bd = tempAll.get(d);
  3219 + BigDecimal bd2 = temp2All.get(d);
  3220 + if(bd2.compareTo(new BigDecimal(0)) > 0){
  3221 + String val = df.format(bd.multiply(new BigDecimal(100)).divide(bd2, 3, RoundingMode.HALF_UP));
  3222 + listAll.add(val);
  3223 + hj = hj.add(new BigDecimal(val));
  3224 + } else {
  3225 + listAll.add(df.format(0));
  3226 + }
  3227 + }
  3228 + if(dayList.size() > 0l){
  3229 + listAll.add(df.format(hj.divide(new BigDecimal(dayList.size()), 3, RoundingMode.HALF_UP)));
  3230 + } else {
  3231 + listAll.add(df.format(0));
  3232 + }
  3233 + } else {
  3234 + for(String d : dayList){
  3235 + listAll.add(df.format(tempAll.get(d)));
  3236 + }
  3237 + listAll.add(df.format(allNumAll));
  3238 + }
  3239 + resList.add(listAll);
  3240 +
2739 3241 return resList;
2740 3242 }
2741 3243  
... ... @@ -2794,9 +3296,26 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
2794 3296 c1.setJzcd(Arith.add(c1.getJzcd(),c2.getJzcd()));
2795 3297 c1.setCdl(Arith.add(c1.getCdl(),c2.getCdl()));
2796 3298 c1.setTs(c1.getTs()+c2.getTs());
2797   -// c1.setDtbc(c1.getDtbc() + c2.getDtbc());
2798 3299 return c1;
2799 3300 }
  3301 +
  3302 + public CalcWaybillDetail summation2(CalcWaybillDetail c1, CalcWaybillDetail c2){
  3303 + c1.setJhyybc(c1.getJhyybc() + c2.getJhyybc());
  3304 + c1.setJhyylc(Arith.add(c1.getJhyylc(), c2.getJhyylc()));
  3305 + c1.setJhfyybc(c1.getJhfyybc() + c2.getJhfyybc());
  3306 + c1.setJhfyylc(Arith.add(c1.getJhfyylc(), c2.getJhfyylc()));
  3307 + c1.setSjyybc(c1.getSjyybc() + c2.getSjyybc());
  3308 + c1.setSjyylc(Arith.add(c1.getSjyylc(), c2.getSjyylc()));
  3309 + c1.setSjfyybc(c1.getSjfyybc() + c2.getSjfyybc());
  3310 + c1.setSjfyylc(Arith.add(c1.getSjfyylc(), c2.getSjfyylc()));
  3311 + c1.setLbbc(c1.getLbbc() + c2.getLbbc());
  3312 + c1.setLblc(Arith.add(c1.getLblc(), c2.getLblc()));
  3313 + c1.setLjbc(c1.getLjbc() + c2.getLjbc());
  3314 + c1.setLjyylc(Arith.add(c1.getLjyylc(), c2.getLjyylc()));
  3315 + c1.setLjfyylc(Arith.add(c1.getLjfyylc(), c2.getLjfyylc()));
  3316 + return c1;
  3317 + }
  3318 +
2800 3319 }
2801 3320  
2802 3321 class AccountXlbmByping implements Comparator<Map<String, Object>> {
... ...
src/main/java/com/bsth/service/report/impl/ReportServiceImpl.java
... ... @@ -4601,7 +4601,8 @@ public class ReportServiceImpl implements ReportService{
4601 4601  
4602 4602 public Map<String,Object> calcDetailMonthlyE(Map<String, Object> map){
4603 4603  
4604   - List<List<String>> list = calcWaybillService.calcDetailMonthly(map);
  4604 +// List<List<String>> list = calcWaybillService.calcDetailMonthly(map);
  4605 + List<List<String>> list = calcWaybillService.calcDetailMonthlyNew(map);
4605 4606  
4606 4607 Map<String, Object> resultMap = new HashMap<String, Object>();
4607 4608 try {
... ...
src/main/resources/static/pages/forms/calc/calcDetailMonthly.html
... ... @@ -177,10 +177,10 @@
177 177 var lineAll="";
178 178 var datas = {}; //查询条件
179 179  
180   - /**用户分配的线路*/
181   - $.get('/realControAuthority/findByCurrentUser', function (userAuthor) {
182   - lineAll = userAuthor.lineCodeStr.substring(0,userAuthor.lineCodeStr.length-1);
183   - });
  180 +// /**用户分配的线路*/
  181 +// $.get('/realControAuthority/findByCurrentUser', function (userAuthor) {
  182 +// lineAll = userAuthor.lineCodeStr.substring(0,userAuthor.lineCodeStr.length-1);
  183 +// });
184 184  
185 185 var tempData = {};
186 186  
... ... @@ -273,7 +273,7 @@
273 273 datas = {}; // 清空之前数据
274 274 datas.gsdm = gsdm;
275 275 datas.fgsdm = fgsdm;
276   - datas.lineCode = lineAll;
  276 +// datas.lineCode = lineAll;
277 277 datas.timeType = "m";
278 278 datas.startDate = startDate;
279 279 datas.endDate = endDate;
... ... @@ -328,7 +328,7 @@
328 328 return;
329 329 } else {
330 330 var lodingI = layer.load(2);
331   - $get('/calcWaybill/calcDetailMonthly', datas, function (rs) {
  331 + $get('/calcWaybill/calcDetailMonthlyNew', datas, function (rs) {
332 332 if (rs.length <=0) {
333 333 layer.close(lodingI);
334 334 layer.open({
... ...
src/main/resources/static/pages/forms/calc/calcDetailYear.html
... ... @@ -174,17 +174,10 @@
174 174 var lineAll="",lineNoD="",lineD="";
175 175 var datas = {}; //查询条件
176 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   - });
  177 +// /**用户分配的线路*/
  178 +// $.get('/realControAuthority/findByCurrentUser', function (userAuthor) {
  179 +// lineAll = userAuthor.lineCodeStr.substring(0,userAuthor.lineCodeStr.length-1);
  180 +// });
188 181  
189 182 var tempData = {};
190 183  
... ... @@ -279,7 +272,7 @@
279 272 datas.timeType = "y";
280 273 datas.gsdm = gsdm;
281 274 datas.fgsdm = fgsdm;
282   - datas.lineCode = lineAll;
  275 +// datas.lineCode = lineAll;
283 276 datas.startDate = startDate;
284 277 datas.endDate = endDate;
285 278 datas.destroy = $("#destroy").val();
... ... @@ -335,7 +328,7 @@
335 328 return;
336 329 } else {
337 330 var lodingI = layer.load(2);
338   - $get('/calcWaybill/calcDetailMonthly', datas, function (rs) {
  331 + $get('/calcWaybill/calcDetailMonthlyNew', datas, function (rs) {
339 332 if (rs.length <=0) {
340 333 layer.close(lodingI);
341 334 layer.open({
... ...