Commit 1c174a7dcf621cf2f7b1400d713d437b0338af28

Authored by 娄高锋
1 parent 7b042a01

1.统计日报添加烂班空驶公里,临加空驶中而外计算子任务中产生的空驶;2.电量平衡表手动添加时设置默认值防止添加空值数据导致报错。

src/main/java/com/bsth/controller/calc/CalcWaybillController.java
@@ -48,7 +48,7 @@ public class CalcWaybillController extends BaseController<CalcWaybill, Integer> @@ -48,7 +48,7 @@ public class CalcWaybillController extends BaseController<CalcWaybill, Integer>
48 48
49 if(date.length() > 0){ 49 if(date.length() > 0){
50 try { 50 try {
51 - 51 +
52 if(key.length() == 0){ 52 if(key.length() == 0){
53 resMap = calcWaybillService.generateNew(date, line); 53 resMap = calcWaybillService.generateNew(date, line);
54 resMap.put("status_daily", calcWaybillService.calcDaily(date, line)); 54 resMap.put("status_daily", calcWaybillService.calcDaily(date, line));
@@ -60,7 +60,7 @@ public class CalcWaybillController extends BaseController<CalcWaybill, Integer> @@ -60,7 +60,7 @@ public class CalcWaybillController extends BaseController<CalcWaybill, Integer>
60 resMap.put("status", calcWaybillService.calcDaily(date, line)); 60 resMap.put("status", calcWaybillService.calcDaily(date, line));
61 } else if("3".equals(key)){ 61 } else if("3".equals(key)){
62 resMap = generateLineMileage(map); 62 resMap = generateLineMileage(map);
63 - } else if("2".equals(key)){ 63 + } else if("4".equals(key)){
64 resMap = generateBusMileage(map); 64 resMap = generateBusMileage(map);
65 } 65 }
66 66
src/main/java/com/bsth/controller/oil/DlbController.java
@@ -160,12 +160,12 @@ public class DlbController extends BaseController<Dlb, Integer>{ @@ -160,12 +160,12 @@ public class DlbController extends BaseController<Dlb, Integer>{
160 m.put("nbbm", y.getNbbm()); 160 m.put("nbbm", y.getNbbm());
161 m.put("jsy", y.getJsy()); 161 m.put("jsy", y.getJsy());
162 m.put("name", y.getName()); 162 m.put("name", y.getName());
163 - m.put("cdl", y.getCdl()<=0?"0":y.getCdl());  
164 - m.put("czcd", y.getCzcd()<=0?"0":y.getCzcd()+"%");  
165 - m.put("jzcd", y.getJzcd()<=0?"0":y.getJzcd()+"%");  
166 - m.put("czlc", y.getCzlc()<=0?"0":y.getCzlc());  
167 - m.put("jzlc", y.getJzlc()<=0?"0":y.getJzlc());  
168 - m.put("hd", y.getHd()<=0?"0":y.getHd()); 163 + m.put("cdl", y.getCdl()==null||y.getCdl()<=0?"0":y.getCdl());
  164 + m.put("czcd", y.getCzcd()==null||y.getCzcd()<=0?"0":y.getCzcd()+"%");
  165 + m.put("jzcd", y.getJzcd()==null||y.getJzcd()<=0?"0":y.getJzcd()+"%");
  166 + m.put("czlc", y.getCzlc()==null||y.getCzlc()<=0?"0":y.getCzlc());
  167 + m.put("jzlc", y.getJzlc()==null||y.getJzlc()<=0?"0":y.getJzlc());
  168 + m.put("hd", y.getHd()==null||y.getHd()<=0?"0":y.getHd());
169 String shyy ="无"; 169 String shyy ="无";
170 if(y.getShyy()!=null){ 170 if(y.getShyy()!=null){
171 shyy=y.getShyy(); 171 shyy=y.getShyy();
src/main/java/com/bsth/entity/calc/CalcStatistics.java
@@ -37,6 +37,8 @@ public class CalcStatistics { @@ -37,6 +37,8 @@ public class CalcStatistics {
37 private Double sjkslc; 37 private Double sjkslc;
38 /* 少驶公里*/ 38 /* 少驶公里*/
39 private Double sslc; 39 private Double sslc;
  40 + /* 少驶空驶公里*/
  41 + private Double sskslc;
40 /* 少驶班次*/ 42 /* 少驶班次*/
41 private int ssbc; 43 private int ssbc;
42 /* 路阻公里*/ 44 /* 路阻公里*/
@@ -198,6 +200,12 @@ public class CalcStatistics { @@ -198,6 +200,12 @@ public class CalcStatistics {
198 public void setSslc(Double sslc) { 200 public void setSslc(Double sslc) {
199 this.sslc = sslc; 201 this.sslc = sslc;
200 } 202 }
  203 + public Double getSskslc() {
  204 + return sskslc;
  205 + }
  206 + public void setSskslc(Double sskslc) {
  207 + this.sskslc = sskslc;
  208 + }
201 public int getSsbc() { 209 public int getSsbc() {
202 return ssbc; 210 return ssbc;
203 } 211 }
src/main/java/com/bsth/service/calc/impl/CalcWaybillServiceImpl.java
@@ -289,6 +289,7 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer @@ -289,6 +289,7 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
289 return newMap; 289 return newMap;
290 } 290 }
291 291
  292 + //使用人车统计表生成统计日报
292 @Override 293 @Override
293 public List<Map<String, Object>> statisticsDailyTj(String gsdm, 294 public List<Map<String, Object>> statisticsDailyTj(String gsdm,
294 String fgsdm, String line, String date, String date2, 295 String fgsdm, String line, String date, String date2,
@@ -651,18 +652,21 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer @@ -651,18 +652,21 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
651 double ljgl= culateService.culateLjgl(lists); 652 double ljgl= culateService.culateLjgl(lists);
652 double sjyygl= culateService.culateSjgl(lists); 653 double sjyygl= culateService.culateSjgl(lists);
653 double zyygl= Arith.add(sjyygl,ljgl); 654 double zyygl= Arith.add(sjyygl,ljgl);
654 -  
655 - double ljksgl= culateService.culateLjksgl(lists);  
656 double sjjccgl=culateService.culateJccgl(lists); 655 double sjjccgl=culateService.culateJccgl(lists);
657 double sjksgl=culateService.culateKsgl(lists); 656 double sjksgl=culateService.culateKsgl(lists);
658 double zksgl=Arith.add(sjjccgl, sjksgl); 657 double zksgl=Arith.add(sjjccgl, sjksgl);
659 s.setSjyylc(zyygl); 658 s.setSjyylc(zyygl);
660 s.setSjkslc(zksgl); 659 s.setSjkslc(zksgl);
661 s.setSjzlc(Arith.add(zyygl, zksgl)); 660 s.setSjzlc(Arith.add(zyygl, zksgl));
662 -  
663 - s.setLjkslc(ljksgl); 661 + s.setLjlc(ljgl);
  662 +
  663 + double ljksgl= culateService.culateLjksgl(lists);
  664 + double zrwJcc = culateService.culateZrwJccLc(lists, "all"); // 子任务进出场
  665 + double zrwKfks = culateService.culateZrwKfks(lists); // 子任务空放空驶
  666 + s.setLjkslc(Arith.add(Arith.add(ljksgl, zrwJcc), zrwKfks)); // 202508根据工单需求添加“临加空驶”中而外算上子任务进出场公里。
664 667
665 s.setSslc(culateService.culateLbgl(list)); 668 s.setSslc(culateService.culateLbgl(list));
  669 + s.setSskslc(culateService.culateLbksgl(list)); // 202508根据工单需求添加“少驶空驶公里”
666 s.setSsbc(culateService.culateLbbc(list)); 670 s.setSsbc(culateService.culateLbbc(list));
667 671
668 //计划+临加-少驶=实驶 672 //计划+临加-少驶=实驶
@@ -689,7 +693,6 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer @@ -689,7 +693,6 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
689 double ssgl_cj=culateService.culateCJLC(list, "抽减"); 693 double ssgl_cj=culateService.culateCJLC(list, "抽减");
690 double ssgl_qt=culateService.culateCJLC(list, "其他"); 694 double ssgl_qt=culateService.culateCJLC(list, "其他");
691 s.setQtlc(Arith.add(Arith.add(ssgl_pc, ssgl_by),Arith.add(ssgl_cj, ssgl_qt))); 695 s.setQtlc(Arith.add(Arith.add(ssgl_pc, ssgl_by),Arith.add(ssgl_cj, ssgl_qt)));
692 - s.setLjlc(ljgl);  
693 696
694 s.setJhbcq(culateService.culateJhbc(list,"")); 697 s.setJhbcq(culateService.culateJhbc(list,""));
695 s.setJhbcz(culateService.culateJhbc(list, "zgf")); 698 s.setJhbcz(culateService.culateJhbc(list, "zgf"));
@@ -767,22 +770,26 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer @@ -767,22 +770,26 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
767 } 770 }
768 Map<String, Boolean> lineMap=lineService.lineNature(); 771 Map<String, Boolean> lineMap=lineService.lineNature();
769 List<CalcStatistics> list = new ArrayList<CalcStatistics>(); 772 List<CalcStatistics> list = new ArrayList<CalcStatistics>();
770 - if(nature.equals("0")){  
771 - list=listAll;  
772 - }else{  
773 - for (int i = 0; i < listAll.size(); i++) {  
774 - CalcStatistics c=listAll.get(i);  
775 - if(nature.equals("1")){  
776 - if(lineMap.get(c.getXl())){  
777 - list.add(c);  
778 - }  
779 - }else{  
780 - if(!lineMap.get(c.getXl())){  
781 - list.add(c);  
782 - } 773 +
  774 + for (int i = 0; i < listAll.size(); i++) {
  775 + CalcStatistics c = listAll.get(i);
  776 + if(c.getGsdm() != null && c.getGsdm().trim().length() > 0
  777 + && c.getGsdm().trim().contains("77")){ // 跳过浦交中临港的数据
  778 + continue;
  779 + }
  780 + if(nature.equals("0")){
  781 + list.add(c);
  782 + }else if(nature.equals("1")){
  783 + if(lineMap.get(c.getXl())){
  784 + list.add(c);
  785 + }
  786 + }else{
  787 + if(!lineMap.get(c.getXl())){
  788 + list.add(c);
783 } 789 }
784 } 790 }
785 } 791 }
  792 +
786 List<CalcStatistics> resList = new ArrayList<CalcStatistics>(); 793 List<CalcStatistics> resList = new ArrayList<CalcStatistics>();
787 Map<String, List<CalcStatistics>> keyMap = new HashMap<String, List<CalcStatistics>>(); 794 Map<String, List<CalcStatistics>> keyMap = new HashMap<String, List<CalcStatistics>>();
788 List<String> keyList = new ArrayList<String>(); 795 List<String> keyList = new ArrayList<String>();
@@ -842,6 +849,7 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer @@ -842,6 +849,7 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
842 m.put("sjgl", c.getSjyylc()); 849 m.put("sjgl", c.getSjyylc());
843 m.put("sjksgl", c.getSjkslc()); 850 m.put("sjksgl", c.getSjkslc());
844 m.put("ssgl", c.getSslc()); 851 m.put("ssgl", c.getSslc());
  852 + m.put("ssksgl", c.getSskslc());
845 m.put("ssbc", c.getSsbc()); 853 m.put("ssbc", c.getSsbc());
846 m.put("ssgl_lz", c.getLzlc()); 854 m.put("ssgl_lz", c.getLzlc());
847 m.put("ssgl_dm", c.getDmlc()); 855 m.put("ssgl_dm", c.getDmlc());
@@ -1299,6 +1307,7 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer @@ -1299,6 +1307,7 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
1299 s.setSjyylc(Arith.add(s.getSjyylc()!=null?s.getSjyylc():0, s_.getSjyylc())); 1307 s.setSjyylc(Arith.add(s.getSjyylc()!=null?s.getSjyylc():0, s_.getSjyylc()));
1300 s.setSjkslc(Arith.add(s.getSjkslc()!=null?s.getSjkslc():0, s_.getSjkslc())); 1308 s.setSjkslc(Arith.add(s.getSjkslc()!=null?s.getSjkslc():0, s_.getSjkslc()));
1301 s.setSslc(Arith.add(s.getSslc()!=null?s.getSslc():0, s_.getSslc())); 1309 s.setSslc(Arith.add(s.getSslc()!=null?s.getSslc():0, s_.getSslc()));
  1310 + s.setSskslc(Arith.add(s.getSskslc()!=null?s.getSskslc():0, s_.getSskslc()));
1302 s.setSsbc(s.getSsbc() + s_.getSsbc()); 1311 s.setSsbc(s.getSsbc() + s_.getSsbc());
1303 s.setLzlc(Arith.add(s.getLzlc()!=null?s.getLzlc():0, s_.getLzlc())); 1312 s.setLzlc(Arith.add(s.getLzlc()!=null?s.getLzlc():0, s_.getLzlc()));
1304 s.setDmlc(Arith.add(s.getDmlc()!=null?s.getDmlc():0, s_.getDmlc())); 1313 s.setDmlc(Arith.add(s.getDmlc()!=null?s.getDmlc():0, s_.getDmlc()));
src/main/java/com/bsth/service/oil/impl/DlbServiceImpl.java
@@ -949,6 +949,29 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS @@ -949,6 +949,29 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS
949 // TODO Auto-generated method stub 949 // TODO Auto-generated method stub
950 Map<String, Object> map = new HashMap<>(); 950 Map<String, Object> map = new HashMap<>();
951 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); 951 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
  952 +
  953 + if(t.getZlc() == null){
  954 + t.setZlc(0D);
  955 + }
  956 + if(t.getCzlc() == null){
  957 + t.setCzlc(0D);
  958 + }
  959 + if(t.getJzlc() == null){
  960 + t.setJzlc(0D);
  961 + }
  962 + if(t.getCzcd() == null){
  963 + t.setCzcd(100D);
  964 + }
  965 + if(t.getJzcd() == null){
  966 + t.setJzcd(100D);
  967 + }
  968 + if(t.getNs() == null){
  969 + t.setNs(0D);
  970 + }
  971 + if(t.getSh() == null){
  972 + t.setSh(0D);
  973 + }
  974 +
952 String rq=sdf.format(t.getRq()); 975 String rq=sdf.format(t.getRq());
953 String gsdm=t.getSsgsdm(); 976 String gsdm=t.getSsgsdm();
954 String fgsdm=t.getFgsdm(); 977 String fgsdm=t.getFgsdm();
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
@@ -2914,7 +2914,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -2914,7 +2914,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
2914 map.put("jcclc", jhjcclc); 2914 map.put("jcclc", jhjcclc);
2915 map.put("jhzlc", Arith.add(jhyygl, jhjcclc)); 2915 map.put("jhzlc", Arith.add(jhyygl, jhjcclc));
2916 double ljks=culateService.culateLjksgl(lists); 2916 double ljks=culateService.culateLjksgl(lists);
2917 - map.put("ljks", ljks); 2917 + double zrwJcc = culateService.culateZrwJccLc(lists, "all"); // 子任务进出场
  2918 + double zrwKfks = culateService.culateZrwKfks(lists); // 子任务空放空驶
  2919 + map.put("ljks", Arith.add(Arith.add(ljks, zrwJcc), zrwKfks)); // 202508根据工单需求添加“临加空驶”中而外算上子任务进出场公里。
2918 double ljgl = culateService.culateLjgl(lists); 2920 double ljgl = culateService.culateLjgl(lists);
2919 double sjyygl = culateService.culateSjgl(lists); 2921 double sjyygl = culateService.culateSjgl(lists);
2920 double zyygl = Arith.add(sjyygl, ljgl); 2922 double zyygl = Arith.add(sjyygl, ljgl);
@@ -2926,7 +2928,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -2926,7 +2928,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
2926 map.put("sjgl", zyygl); 2928 map.put("sjgl", zyygl);
2927 map.put("sjksgl", zksgl); 2929 map.put("sjksgl", zksgl);
2928 double ssgl = culateService.culateLbgl(list); 2930 double ssgl = culateService.culateLbgl(list);
  2931 + double ssksgl = culateService.culateLbksgl(list);
2929 map.put("ssgl", ssgl); 2932 map.put("ssgl", ssgl);
  2933 + map.put("ssksgl", ssksgl); // 202508根据工单需求添加“少驶空驶公里”
2930 2934
2931 //计划+临加-少驶=实驶 2935 //计划+临加-少驶=实驶
2932 double jl = Arith.sub(Arith.add(jhyygl, ljgl), ssgl); 2936 double jl = Arith.sub(Arith.add(jhyygl, ljgl), ssgl);
@@ -3220,6 +3224,10 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -3220,6 +3224,10 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
3220 List<ScheduleRealInfo> list=new ArrayList<ScheduleRealInfo>(); 3224 List<ScheduleRealInfo> list=new ArrayList<ScheduleRealInfo>();
3221 for (int i = 0; i < listAll.size(); i++) { 3225 for (int i = 0; i < listAll.size(); i++) {
3222 ScheduleRealInfo s=listAll.get(i); 3226 ScheduleRealInfo s=listAll.get(i);
  3227 + if(s.getGsName() != null && s.getGsName().trim().length() > 0
  3228 + && s.getGsName().trim().contains("临港")){ // 跳过浦交中临港的数据
  3229 + continue;
  3230 + }
3223 if (nature.equals("0")) { 3231 if (nature.equals("0")) {
3224 list.add(s); 3232 list.add(s);
3225 }else if(nature.equals("1")){ 3233 }else if(nature.equals("1")){
@@ -3306,7 +3314,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -3306,7 +3314,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
3306 double sjyygl = culateService.culateSjgl(list_s); 3314 double sjyygl = culateService.culateSjgl(list_s);
3307 double zyygl = Arith.add(sjyygl, ljgl); 3315 double zyygl = Arith.add(sjyygl, ljgl);
3308 double ljks=culateService.culateLjksgl(list_s); 3316 double ljks=culateService.culateLjksgl(list_s);
3309 - map.put("ljks", ljks); 3317 + double zrwJcc = culateService.culateZrwJccLc(list_s, "all"); // 子任务进出场
  3318 + double zrwKfks = culateService.culateZrwKfks(list_s); // 子任务空放空驶
  3319 + map.put("ljks", Arith.add(Arith.add(ljks, zrwJcc), zrwKfks)); // 202508根据工单需求添加“临加空驶”中而外算上子任务进出场公里。
3310 double sjjccgl = culateService.culateJccgl(list_s); 3320 double sjjccgl = culateService.culateJccgl(list_s);
3311 double sjksgl = culateService.culateKsgl(list_s); 3321 double sjksgl = culateService.culateKsgl(list_s);
3312 double zksgl = Arith.add(sjjccgl, sjksgl); 3322 double zksgl = Arith.add(sjjccgl, sjksgl);
@@ -3315,7 +3325,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -3315,7 +3325,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
3315 map.put("sjksgl", zksgl); 3325 map.put("sjksgl", zksgl);
3316 3326
3317 double ssgl = culateService.culateLbgl(list); 3327 double ssgl = culateService.culateLbgl(list);
  3328 + double ssksgl = culateService.culateLbksgl(list);
3318 map.put("ssgl", ssgl); 3329 map.put("ssgl", ssgl);
  3330 + map.put("ssksgl", ssksgl); // 202508根据工单需求添加“少驶空驶公里”
3319 //计划+临加-少驶=实驶 3331 //计划+临加-少驶=实驶
3320 double jl = Arith.sub(Arith.add(jhyygl, ljgl), ssgl); 3332 double jl = Arith.sub(Arith.add(jhyygl, ljgl), ssgl);
3321 if (jl == zyygl) { 3333 if (jl == zyygl) {
src/main/java/com/bsth/service/report/CulateMileageService.java
@@ -10,6 +10,7 @@ public interface CulateMileageService { @@ -10,6 +10,7 @@ public interface CulateMileageService {
10 10
11 List<Map<String,Object>> jobFwqk(List<ScheduleRealInfo> lists); 11 List<Map<String,Object>> jobFwqk(List<ScheduleRealInfo> lists);
12 double culateLbgl(List<ScheduleRealInfo> lists); 12 double culateLbgl(List<ScheduleRealInfo> lists);
  13 + double culateLbksgl(List<ScheduleRealInfo> lists);
13 int culateLbbc(List<ScheduleRealInfo> lists); 14 int culateLbbc(List<ScheduleRealInfo> lists);
14 15
15 List<Map<String,Object>> jobLjqk(List<ScheduleRealInfo> lists); 16 List<Map<String,Object>> jobLjqk(List<ScheduleRealInfo> lists);
@@ -57,9 +58,22 @@ public interface CulateMileageService { @@ -57,9 +58,22 @@ public interface CulateMileageService {
57 58
58 double culateSsMileXx(List<ScheduleRealInfo> lists,String item);//烂班少驶详细 59 double culateSsMileXx(List<ScheduleRealInfo> lists,String item);//烂班少驶详细
59 60
  61 + /**
  62 + * 统计子任务进出场公里
  63 + * @param lists 实际排班list
  64 + * @param item 进出场原因(统计全部原因则赋值为“all”)
  65 + * @return 统计值
  66 + */
60 double culateZrwJccLc(List<ScheduleRealInfo> lists,String item);//子任务进出场 67 double culateZrwJccLc(List<ScheduleRealInfo> lists,String item);//子任务进出场
61 68
62 - double culateKfksLc(List<ScheduleRealInfo> lists); 69 + /**
  70 + * 统计子任务空放空驶公里
  71 + * @param lists 实际排班list
  72 + * @return 统计值
  73 + */
  74 + public double culateZrwKfks(List<ScheduleRealInfo> lists);
  75 +
  76 + double culateKfksLc(List<ScheduleRealInfo> lists);
63 77
64 78
65 } 79 }
src/main/java/com/bsth/service/report/impl/CulateMileageServiceImpl.java
@@ -194,6 +194,44 @@ public class CulateMileageServiceImpl implements CulateMileageService{ @@ -194,6 +194,44 @@ public class CulateMileageServiceImpl implements CulateMileageService{
194 } 194 }
195 195
196 @Override 196 @Override
  197 + public double culateLbksgl(List<ScheduleRealInfo> lists) {
  198 + // TODO Auto-generated method stub
  199 + double zlblc = 0.0;
  200 + for (int i = 0; i < lists.size(); i++) {
  201 + ScheduleRealInfo scheduleRealInfo=lists.get(i);
  202 +
  203 + Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks();
  204 + if(childTaskPlans.isEmpty()){
  205 + if (isInOut(scheduleRealInfo)) {
  206 + if(scheduleRealInfo.isDestroy()){
  207 + zlblc=Arith.add(zlblc,scheduleRealInfo.getJhlcOrig()==null?0:scheduleRealInfo.getJhlcOrig());
  208 + }else{
  209 + double jhlc=scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc();
  210 + double jhlcOrig=scheduleRealInfo.getJhlcOrig()==null?0:scheduleRealInfo.getJhlcOrig();
  211 + double cjlc=Arith.sub(jhlcOrig, jhlc);
  212 + if(cjlc>0){
  213 + zlblc=Arith.add(zlblc, cjlc);
  214 + }
  215 + }
  216 + }
  217 + }else{
  218 + Iterator<ChildTaskPlan> it = childTaskPlans.iterator();
  219 + while (it.hasNext()) {
  220 + ChildTaskPlan childTaskPlan = it.next();
  221 + if(childTaskPlan.getCcId()==null){
  222 + if(childTaskPlan.getMileageType().equals("empty")){
  223 + if (childTaskPlan.isDestroy()) {
  224 + zlblc=Arith.add(zlblc,childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage());
  225 + }
  226 + }
  227 + }
  228 + }
  229 + }
  230 + }
  231 + return zlblc;
  232 + }
  233 +
  234 + @Override
197 public int culateLbbc(List<ScheduleRealInfo> lists) { 235 public int culateLbbc(List<ScheduleRealInfo> lists) {
198 // TODO Auto-generated method stub 236 // TODO Auto-generated method stub
199 int lbbc=0; 237 int lbbc=0;
@@ -1267,6 +1305,12 @@ public class CulateMileageServiceImpl implements CulateMileageService{ @@ -1267,6 +1305,12 @@ public class CulateMileageServiceImpl implements CulateMileageService{
1267 return sum; 1305 return sum;
1268 } 1306 }
1269 1307
  1308 + /**
  1309 + * 统计子任务进出场公里
  1310 + * @param lists 实际排班list
  1311 + * @param item 进出场原因(统计全部原因则赋值为“all”)
  1312 + * @return 统计值
  1313 + */
1270 @Override 1314 @Override
1271 public double culateZrwJccLc(List<ScheduleRealInfo> lists, String item) { 1315 public double culateZrwJccLc(List<ScheduleRealInfo> lists, String item) {
1272 // TODO Auto-generated method stub 1316 // TODO Auto-generated method stub
@@ -1292,7 +1336,9 @@ public class CulateMileageServiceImpl implements CulateMileageService{ @@ -1292,7 +1336,9 @@ public class CulateMileageServiceImpl implements CulateMileageService{
1292 if(childTaskPlan.getType2().equals("2")||childTaskPlan.getType2().equals("3")){ 1336 if(childTaskPlan.getType2().equals("2")||childTaskPlan.getType2().equals("3")){
1293 if (!childTaskPlan.isDestroy()) { 1337 if (!childTaskPlan.isDestroy()) {
1294 String reason=childTaskPlan.getReason()==null?"":childTaskPlan.getReason(); 1338 String reason=childTaskPlan.getReason()==null?"":childTaskPlan.getReason();
1295 - if(reason.equals(item)){ 1339 + if("all".equals(item)){
  1340 + zrwjcclc=Arith.add(zrwjcclc,childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage());
  1341 + }else if(reason.equals(item)){
1296 zrwjcclc=Arith.add(zrwjcclc,childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage()); 1342 zrwjcclc=Arith.add(zrwjcclc,childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage());
1297 } 1343 }
1298 } 1344 }
@@ -1305,6 +1351,38 @@ public class CulateMileageServiceImpl implements CulateMileageService{ @@ -1305,6 +1351,38 @@ public class CulateMileageServiceImpl implements CulateMileageService{
1305 } 1351 }
1306 return zrwjcclc; 1352 return zrwjcclc;
1307 } 1353 }
  1354 +
  1355 + /**
  1356 + * 统计子任务空放空驶公里
  1357 + * @param lists 实际排班list
  1358 + * @return 统计值
  1359 + */
  1360 + @Override
  1361 + public double culateZrwKfks(List<ScheduleRealInfo> lists) {
  1362 + // TODO Auto-generated method stub
  1363 + double zrwjcclc=0.0;
  1364 + for (int i = 0; i < lists.size(); i++) {
  1365 + ScheduleRealInfo t=lists.get(i);
  1366 + if(!t.isSflj()){
  1367 + if(!isInOut(t)){
  1368 + Set<ChildTaskPlan> childTaskPlans = t.getcTasks();
  1369 + if(!childTaskPlans.isEmpty()){
  1370 + Iterator<ChildTaskPlan> it = childTaskPlans.iterator();
  1371 + while (it.hasNext()) {
  1372 + ChildTaskPlan childTaskPlan = it.next();
  1373 + if(childTaskPlan.getType2().equals("1") && childTaskPlan.getMileageType().equals("empty")
  1374 + && !("临加".equals(childTaskPlan.getType1()))){
  1375 + if (!childTaskPlan.isDestroy()) {
  1376 + zrwjcclc=Arith.add(zrwjcclc,childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage());
  1377 + }
  1378 + }
  1379 + }
  1380 + }
  1381 + }
  1382 + }
  1383 + }
  1384 + return zrwjcclc;
  1385 + }
1308 1386
1309 @Override 1387 @Override
1310 public double culateKfksLc(List<ScheduleRealInfo> lists) { 1388 public double culateKfksLc(List<ScheduleRealInfo> lists) {
src/main/resources/static/pages/electricity/list/add.html
@@ -361,6 +361,14 @@ @@ -361,6 +361,14 @@
361 'jsy' : { 361 'jsy' : {
362 required : true, 362 required : true,
363 maxlength: 20 363 maxlength: 20
  364 + },
  365 + 'cdl' : {
  366 + required : true,
  367 + maxlength: 20
  368 + },
  369 + 'hd' : {
  370 + required : true,
  371 + maxlength: 20
364 } 372 }
365 }, 373 },
366 invalidHandler : function(event, validator) { 374 invalidHandler : function(event, validator) {
src/main/resources/static/pages/forms/calc/statisticsDaily.html
@@ -311,7 +311,7 @@ @@ -311,7 +311,7 @@
311 params['date2'] = date2; 311 params['date2'] = date2;
312 params['xlName'] = xlName; 312 params['xlName'] = xlName;
313 params['type'] = "export"; 313 params['type'] = "export";
314 - $get('/realSchedule/statisticsDailyTj',params,function(result){ 314 + $get('/calcWaybill/statisticsDailyTj',params,function(result){
315 window.open("/downloadFile/download?fileName=统计日报"+moment(date).format("YYYYMMDD")); 315 window.open("/downloadFile/download?fileName=统计日报"+moment(date).format("YYYYMMDD"));
316 }); 316 });
317 }); 317 });
src/main/resources/static/pages/forms/mould/statisticsDaily_2.xls
No preview for this file type
src/main/resources/static/pages/forms/mould/statisticsDaily_4.xls
No preview for this file type
src/main/resources/static/pages/forms/statement/statisticsDaily.html
@@ -81,12 +81,12 @@ @@ -81,12 +81,12 @@
81 <table class="table table-bordered table-hover table-checkable" id="forms"> 81 <table class="table table-bordered table-hover table-checkable" id="forms">
82 <thead> 82 <thead>
83 <tr> 83 <tr>
84 - <th colspan="45"><label id="tjrq"></label> 线路统计日报</th> 84 + <th colspan="46"><label id="tjrq"></label> 线路统计日报</th>
85 </tr> 85 </tr>
86 <tr> 86 <tr>
87 <td rowspan="3"><span >分公司</span></td> 87 <td rowspan="3"><span >分公司</span></td>
88 <td rowspan="3"><span >路线名</span></td> 88 <td rowspan="3"><span >路线名</span></td>
89 - <td colspan="22">全日营运里程(公里)(注:实际营运里程、实际空驶里程、实际总里程均已包含临加里程)</td> 89 + <td colspan="23">全日营运里程(公里)(注:实际营运里程、实际空驶里程、实际总里程均已包含临加里程)</td>
90 <td colspan="15">全日营运班次</td> 90 <td colspan="15">全日营运班次</td>
91 <td colspan="9">大间隔情况</td> 91 <td colspan="9">大间隔情况</td>
92 </tr> 92 </tr>
@@ -98,7 +98,7 @@ @@ -98,7 +98,7 @@
98 <td rowspan="2"><label>实际</label><label>总公里</label></td> 98 <td rowspan="2"><label>实际</label><label>总公里</label></td>
99 <td rowspan="2"><label>实际营</label><label>运公里</label></td> 99 <td rowspan="2"><label>实际营</label><label>运公里</label></td>
100 <td rowspan="2"><label>实际空</label><label>驶公里</label></td> 100 <td rowspan="2"><label>实际空</label><label>驶公里</label></td>
101 - <td rowspan="2"><span>少驶公里</span></td> 101 + <td colspan="2">少驶公里</td>
102 <td rowspan="2"><span>少驶班次</span></td> 102 <td rowspan="2"><span>少驶班次</span></td>
103 <td colspan="12">少驶原因(公里)</td> 103 <td colspan="12">少驶原因(公里)</td>
104 <td colspan="2">临加公里</td> 104 <td colspan="2">临加公里</td>
@@ -112,6 +112,8 @@ @@ -112,6 +112,8 @@
112 <td rowspan="2">原因</td> 112 <td rowspan="2">原因</td>
113 </tr> 113 </tr>
114 <tr> 114 <tr>
  115 + <td><span>营运</span></td>
  116 + <td><span>空驶</span></td>
115 <td><span>路阻</span></td> 117 <td><span>路阻</span></td>
116 <td><span>吊慢</span></td> 118 <td><span>吊慢</span></td>
117 <td><span>故障</span></td> 119 <td><span>故障</span></td>
@@ -425,6 +427,7 @@ @@ -425,6 +427,7 @@
425 <td>{{obj.sjgl}}</td> 427 <td>{{obj.sjgl}}</td>
426 <td>{{obj.sjksgl}}</td> 428 <td>{{obj.sjksgl}}</td>
427 <td>{{obj.ssgl}}</td> 429 <td>{{obj.ssgl}}</td>
  430 + <td>{{obj.ssksgl}}</td>
428 <td>{{obj.ssbc}}</td> 431 <td>{{obj.ssbc}}</td>
429 <td>{{obj.ssgl_lz}}</td> 432 <td>{{obj.ssgl_lz}}</td>
430 <td>{{obj.ssgl_dm}}</td> 433 <td>{{obj.ssgl_dm}}</td>
@@ -464,7 +467,7 @@ @@ -464,7 +467,7 @@
464 {{/each}} 467 {{/each}}
465 {{if list.length == 0}} 468 {{if list.length == 0}}
466 <tr> 469 <tr>
467 - <td colspan="45"><h6 class="muted">没有找到相关数据</h6></td> 470 + <td colspan="46"><h6 class="muted">没有找到相关数据</h6></td>
468 </tr> 471 </tr>
469 {{/if}} 472 {{/if}}
470 </script> 473 </script>
471 \ No newline at end of file 474 \ No newline at end of file
src/main/resources/static/pages/forms/statement/statisticsDailyCalc2.html
@@ -86,7 +86,7 @@ @@ -86,7 +86,7 @@
86 <tr> 86 <tr>
87 <td rowspan="3"><span >分公司</span></td> 87 <td rowspan="3"><span >分公司</span></td>
88 <td rowspan="3"><span >路线名</span></td> 88 <td rowspan="3"><span >路线名</span></td>
89 - <td colspan="22">全日营运里程(公里)(注:实际营运里程、实际空驶里程、实际总里程均已包含临加里程)</td> 89 + <td colspan="23">全日营运里程(公里)(注:实际营运里程、实际空驶里程、实际总里程均已包含临加里程)</td>
90 <td colspan="15">全日营运班次</td> 90 <td colspan="15">全日营运班次</td>
91 <td colspan="9">大间隔情况</td> 91 <td colspan="9">大间隔情况</td>
92 </tr> 92 </tr>
@@ -98,7 +98,7 @@ @@ -98,7 +98,7 @@
98 <td rowspan="2"><label>实际</label><label>总公里</label></td> 98 <td rowspan="2"><label>实际</label><label>总公里</label></td>
99 <td rowspan="2"><label>实际营</label><label>运公里</label></td> 99 <td rowspan="2"><label>实际营</label><label>运公里</label></td>
100 <td rowspan="2"><label>实际空</label><label>驶公里</label></td> 100 <td rowspan="2"><label>实际空</label><label>驶公里</label></td>
101 - <td rowspan="2"><span>少驶公里</span></td> 101 + <td colspan="2">少驶公里</td>
102 <td rowspan="2"><span>少驶班次</span></td> 102 <td rowspan="2"><span>少驶班次</span></td>
103 <td colspan="12">少驶原因(公里)</td> 103 <td colspan="12">少驶原因(公里)</td>
104 <td colspan="2">临加公里</td> 104 <td colspan="2">临加公里</td>
@@ -109,9 +109,11 @@ @@ -109,9 +109,11 @@
109 <td colspan="3">调头班次</td> 109 <td colspan="3">调头班次</td>
110 <td colspan="3">发生次数</td> 110 <td colspan="3">发生次数</td>
111 <td rowspan="2">最大间隔时间(分)</td> 111 <td rowspan="2">最大间隔时间(分)</td>
112 - <td rowspan="2">原因</td> 112 + <td rowspan="2">原因</td>
113 </tr> 113 </tr>
114 <tr> 114 <tr>
  115 + <td><span>营运</span></td>
  116 + <td><span>空驶</span></td>
115 <td><span>路阻</span></td> 117 <td><span>路阻</span></td>
116 <td><span>吊慢</span></td> 118 <td><span>吊慢</span></td>
117 <td><span>故障</span></td> 119 <td><span>故障</span></td>
@@ -405,6 +407,7 @@ @@ -405,6 +407,7 @@
405 <td>{{obj.sjyylc}}</td> 407 <td>{{obj.sjyylc}}</td>
406 <td>{{obj.sjkslc}}</td> 408 <td>{{obj.sjkslc}}</td>
407 <td>{{obj.sslc}}</td> 409 <td>{{obj.sslc}}</td>
  410 + <td>{{obj.sskslc}}</td>
408 <td>{{obj.ssbc}}</td> 411 <td>{{obj.ssbc}}</td>
409 <td>{{obj.lzlc}}</td> 412 <td>{{obj.lzlc}}</td>
410 <td>{{obj.dmlc}}</td> 413 <td>{{obj.dmlc}}</td>