Commit 23b305afcf9f402c7f21a0edf3f91e01143a8a64

Authored by 娄高锋
1 parent fdeae48f

重新统计

src/main/java/com/bsth/data/schedule/thread/CalcOilThread.java
@@ -46,9 +46,13 @@ public class CalcOilThread extends Thread{ @@ -46,9 +46,13 @@ public class CalcOilThread extends Thread{
46 logger.info("开始计算班次准点率...."); 46 logger.info("开始计算班次准点率....");
47 sheetService.saveSheetList(""); 47 sheetService.saveSheetList("");
48 logger.info("计算班次准点率结束!"); 48 logger.info("计算班次准点率结束!");
  49 +
  50 + logger.info("开始保存重新统计数据....");
  51 + calcWaybillService.autoGenerate("", "");
  52 + logger.info("重新统计保存结束!");
49 logger.info("开始保存统计日报...."); 53 logger.info("开始保存统计日报....");
50 calcWaybillService.calcDaily("", ""); 54 calcWaybillService.calcDaily("", "");
51 - logger.info("统计日报保存完成!"); 55 + logger.info("统计日报保存结束!");
52 } catch(Exception e){ 56 } catch(Exception e){
53 logger.error("计算路单里程加注量失败",e); 57 logger.error("计算路单里程加注量失败",e);
54 } 58 }
src/main/java/com/bsth/service/calc/CalcWaybillService.java
@@ -12,6 +12,12 @@ import com.bsth.service.BaseService; @@ -12,6 +12,12 @@ import com.bsth.service.BaseService;
12 */ 12 */
13 public interface CalcWaybillService extends BaseService<CalcWaybill, Integer> { 13 public interface CalcWaybillService extends BaseService<CalcWaybill, Integer> {
14 14
  15 + /**
  16 + * @param date 格式如:2018-03-30(留空""默认当前日期两天前)
  17 + * @param line (留空""默认全部线路)
  18 + */
  19 + Map<String, Object> autoGenerate(String date, String line) throws Exception;
  20 +
15 Map<String, Object> generateNew(String date, String line) throws Exception; 21 Map<String, Object> generateNew(String date, String line) throws Exception;
16 22
17 List<Map<String, Object>> statisticsDailyTj(String gsdm,String fgsdm, String line, String date, String date2, String xlName, String type); 23 List<Map<String, Object>> statisticsDailyTj(String gsdm,String fgsdm, String line, String date, String date2, String xlName, String type);
src/main/java/com/bsth/service/calc/impl/CalcCulateMileageServiceImpl.java
@@ -451,10 +451,10 @@ public class CalcCulateMileageServiceImpl implements CalcCulateMileageService{ @@ -451,10 +451,10 @@ public class CalcCulateMileageServiceImpl implements CalcCulateMileageService{
451 for (int i = 0; i < lists.size(); i++) { 451 for (int i = 0; i < lists.size(); i++) {
452 ScheduleRealInfo scheduleRealInfo=lists.get(i); 452 ScheduleRealInfo scheduleRealInfo=lists.get(i);
453 Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); 453 Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks();
454 - if (isInOut(scheduleRealInfo)) { 454 +// if (isInOut(scheduleRealInfo)) {
455 if(scheduleRealInfo.isSflj()){ 455 if(scheduleRealInfo.isSflj()){
456 if(childTaskPlans.isEmpty()){ 456 if(childTaskPlans.isEmpty()){
457 - if(!scheduleRealInfo.isDestroy()) 457 + if(!scheduleRealInfo.isDestroy() && isInOut(scheduleRealInfo))
458 ljgl=Arith.add(ljgl,scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc()); 458 ljgl=Arith.add(ljgl,scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc());
459 }else{ 459 }else{
460 Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); 460 Iterator<ChildTaskPlan> it = childTaskPlans.iterator();
@@ -470,47 +470,48 @@ public class CalcCulateMileageServiceImpl implements CalcCulateMileageService{ @@ -470,47 +470,48 @@ public class CalcCulateMileageServiceImpl implements CalcCulateMileageService{
470 } 470 }
471 } 471 }
472 } 472 }
473 - }else{  
474 - if(childTaskPlans.isEmpty()){  
475 - double jhlc=scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc();  
476 - double jhlcOrig=scheduleRealInfo.getJhlcOrig()==null?0:scheduleRealInfo.getJhlcOrig();  
477 - double zjlc=Arith.sub(jhlc, jhlcOrig);  
478 - if(zjlc>0){  
479 - ljgl=Arith.add(zjlc, ljgl);  
480 - }  
481 - }else{  
482 - Iterator<ChildTaskPlan> it = childTaskPlans.iterator();  
483 - while (it.hasNext()) {  
484 - ChildTaskPlan childTaskPlan = it.next();  
485 - if("empty".equals(childTaskPlan.getMileageType())  
486 - &&"临加".equals(childTaskPlan.getType1())  
487 - && childTaskPlan.getCcId() == null  
488 - && (!childTaskPlan.isNoClerk())){  
489 - if (!childTaskPlan.isDestroy()) {  
490 - Float jhgl=childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage();  
491 - ljgl=Arith.add(ljgl,jhgl);  
492 - }  
493 - }  
494 - }  
495 - }  
496 } 473 }
497 - }else{  
498 - if (!childTaskPlans.isEmpty()) {  
499 - Iterator<ChildTaskPlan> it = childTaskPlans.iterator();  
500 - while (it.hasNext()) {  
501 - ChildTaskPlan childTaskPlan = it.next();  
502 - if ("empty".equals(childTaskPlan.getMileageType())  
503 - && "临加".equals(childTaskPlan.getType1())  
504 - && childTaskPlan.getCcId() == null  
505 - && (!childTaskPlan.isNoClerk())) {  
506 - if (!childTaskPlan.isDestroy()) {  
507 - Float jhgl = childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage();  
508 - ljgl = Arith.add(ljgl, jhgl);  
509 - }  
510 - }  
511 - }  
512 - }  
513 - } 474 +// }else{
  475 +// if(childTaskPlans.isEmpty()){
  476 +// double jhlc=scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc();
  477 +// double jhlcOrig=scheduleRealInfo.getJhlcOrig()==null?0:scheduleRealInfo.getJhlcOrig();
  478 +// double zjlc=Arith.sub(jhlc, jhlcOrig);
  479 +// if(zjlc>0){
  480 +// ljgl=Arith.add(zjlc, ljgl);
  481 +// }
  482 +// }else{
  483 +// Iterator<ChildTaskPlan> it = childTaskPlans.iterator();
  484 +// while (it.hasNext()) {
  485 +// ChildTaskPlan childTaskPlan = it.next();
  486 +// if("empty".equals(childTaskPlan.getMileageType())
  487 +// &&"临加".equals(childTaskPlan.getType1())
  488 +// && childTaskPlan.getCcId() == null
  489 +// && (!childTaskPlan.isNoClerk())){
  490 +// if (!childTaskPlan.isDestroy()) {
  491 +// Float jhgl=childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage();
  492 +// ljgl=Arith.add(ljgl,jhgl);
  493 +// }
  494 +// }
  495 +// }
  496 +// }
  497 +// }
  498 +// }else{
  499 +// if (!childTaskPlans.isEmpty()) {
  500 +// Iterator<ChildTaskPlan> it = childTaskPlans.iterator();
  501 +// while (it.hasNext()) {
  502 +// ChildTaskPlan childTaskPlan = it.next();
  503 +// if ("empty".equals(childTaskPlan.getMileageType())
  504 +// && "临加".equals(childTaskPlan.getType1())
  505 +// && childTaskPlan.getCcId() == null
  506 +// && (!childTaskPlan.isNoClerk())) {
  507 +// if (!childTaskPlan.isDestroy()) {
  508 +// Float jhgl = childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage();
  509 +// ljgl = Arith.add(ljgl, jhgl);
  510 +// }
  511 +// }
  512 +// }
  513 +// }
  514 +// }
514 } 515 }
515 return ljgl; 516 return ljgl;
516 } 517 }
@@ -521,7 +522,7 @@ public class CalcCulateMileageServiceImpl implements CalcCulateMileageService{ @@ -521,7 +522,7 @@ public class CalcCulateMileageServiceImpl implements CalcCulateMileageService{
521 double ljgl =0; 522 double ljgl =0;
522 for (int i = 0; i < lists.size(); i++) { 523 for (int i = 0; i < lists.size(); i++) {
523 ScheduleRealInfo scheduleRealInfo=lists.get(i); 524 ScheduleRealInfo scheduleRealInfo=lists.get(i);
524 - if (!isInOut(scheduleRealInfo)) { 525 +// if (!isInOut(scheduleRealInfo)) {
525 Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); 526 Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks();
526 if(scheduleRealInfo.isSflj()){ 527 if(scheduleRealInfo.isSflj()){
527 if(!childTaskPlans.isEmpty()){ 528 if(!childTaskPlans.isEmpty()){
@@ -538,23 +539,23 @@ public class CalcCulateMileageServiceImpl implements CalcCulateMileageService{ @@ -538,23 +539,23 @@ public class CalcCulateMileageServiceImpl implements CalcCulateMileageService{
538 } 539 }
539 } 540 }
540 } 541 }
541 - }else{  
542 - if(childTaskPlans.isEmpty()){  
543 - Iterator<ChildTaskPlan> it = childTaskPlans.iterator();  
544 - while (it.hasNext()) {  
545 - ChildTaskPlan childTaskPlan = it.next();  
546 - if("empty".equals(childTaskPlan.getMileageType())  
547 - &&"临加".equals(childTaskPlan.getType1())  
548 - && childTaskPlan.getCcId()==null  
549 - && childTaskPlan.isNoClerk()){  
550 - if (!childTaskPlan.isDestroy()) {  
551 - Float jhgl=childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage();  
552 - ljgl=Arith.add(ljgl,jhgl);  
553 - }  
554 - }  
555 - }  
556 - }  
557 - } 542 +// }else{
  543 +// if(childTaskPlans.isEmpty()){
  544 +// Iterator<ChildTaskPlan> it = childTaskPlans.iterator();
  545 +// while (it.hasNext()) {
  546 +// ChildTaskPlan childTaskPlan = it.next();
  547 +// if("empty".equals(childTaskPlan.getMileageType())
  548 +// &&"临加".equals(childTaskPlan.getType1())
  549 +// && childTaskPlan.getCcId()==null
  550 +// && childTaskPlan.isNoClerk()){
  551 +// if (!childTaskPlan.isDestroy()) {
  552 +// Float jhgl=childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage();
  553 +// ljgl=Arith.add(ljgl,jhgl);
  554 +// }
  555 +// }
  556 +// }
  557 +// }
  558 +// }
558 } 559 }
559 } 560 }
560 return ljgl; 561 return ljgl;
src/main/java/com/bsth/service/calc/impl/CalcToolServiceImpl.java
@@ -100,7 +100,7 @@ public class CalcToolServiceImpl implements CalcToolService { @@ -100,7 +100,7 @@ public class CalcToolServiceImpl implements CalcToolService {
100 lists_.add(s); 100 lists_.add(s);
101 }else{ 101 }else{
102 if(s.getZdsjActual()!=null 102 if(s.getZdsjActual()!=null
103 - && s.getFcsjActual() !=null){ 103 + && s.getFcsjActual()!=null){
104 lists_.add(s); 104 lists_.add(s);
105 } 105 }
106 } 106 }
@@ -126,10 +126,33 @@ public class CalcToolServiceImpl implements CalcToolService { @@ -126,10 +126,33 @@ public class CalcToolServiceImpl implements CalcToolService {
126 interval.setRqStr(s.getScheduleDateStr()); 126 interval.setRqStr(s.getScheduleDateStr());
127 interval.setXl(s.getXlBm()); 127 interval.setXl(s.getXlBm());
128 interval.setXlName(s.getXlName()); 128 interval.setXlName(s.getXlName());
129 - interval.setDjg(Integer.valueOf(culateDjg.get("djgcsq").toString()));  
130 - interval.setDjgM(Integer.valueOf(culateDjg.get("djgcsz").toString()));  
131 - interval.setDjgA(Integer.valueOf(culateDjg.get("djgcsw").toString()));  
132 - interval.setDjgTime(Integer.valueOf(culateDjg.get("djgsj").toString())); 129 + if(culateDjg.keySet().size() > 0){
  130 + if(culateDjg.containsKey("djgcsq")){
  131 + interval.setDjg(Integer.valueOf(culateDjg.get("djgcsq").toString()));
  132 + } else {
  133 + interval.setDjg(0);
  134 + }
  135 + if(culateDjg.containsKey("djgcsz")){
  136 + interval.setDjgM(Integer.valueOf(culateDjg.get("djgcsz").toString()));
  137 + } else {
  138 + interval.setDjgM(0);
  139 + }
  140 + if(culateDjg.containsKey("djgcsw")){
  141 + interval.setDjgA(Integer.valueOf(culateDjg.get("djgcsw").toString()));
  142 + } else {
  143 + interval.setDjgA(0);
  144 + }
  145 + if(culateDjg.containsKey("djgsj")){
  146 + interval.setDjgTime(Integer.valueOf(culateDjg.get("djgsj").toString()));
  147 + } else {
  148 + interval.setDjgTime(0);
  149 + }
  150 + } else {
  151 + interval.setDjg(0);
  152 + interval.setDjgM(0);
  153 + interval.setDjgA(0);
  154 + interval.setDjgTime(0);
  155 + }
133 culcIntervalRepository.save(interval); 156 culcIntervalRepository.save(interval);
134 } 157 }
135 158
src/main/java/com/bsth/service/calc/impl/CalcWaybillServiceImpl.java
@@ -76,6 +76,19 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer @@ -76,6 +76,19 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
76 Logger logger = LoggerFactory.getLogger(this.getClass()); 76 Logger logger = LoggerFactory.getLogger(this.getClass());
77 77
78 78
  79 + public Map<String, Object> autoGenerate(String date, String line) throws Exception {
  80 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  81 + if(date == null || date.trim().length() == 0){
  82 + Date d = new Date();
  83 + d.setTime(d.getTime() - (2 * 1000 * 60 * 60 * 24));
  84 + date = sdf.format(d);
  85 + }
  86 + if(line == null || line.trim().length() == 0){
  87 + line = "";
  88 + }
  89 + return generateNew(date, line);
  90 + }
  91 +
79 @Transactional 92 @Transactional
80 @Override 93 @Override
81 public Map<String, Object> generateNew(String date, String line) throws Exception { 94 public Map<String, Object> generateNew(String date, String line) throws Exception {
@@ -101,19 +114,21 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer @@ -101,19 +114,21 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
101 return newMap; 114 return newMap;
102 } 115 }
103 116
104 - String sql = "select c.id,c.out_config,c.start_opt,t.line_code from bsth_c_line_config c LEFT JOIN bsth_c_line t on c.line=t.id";  
105 - if(line.length() != 0){  
106 - sql += " where t.line_code = " + line;  
107 - }  
108 -// List<LineConfig> listLineConfig = //jdbcTemplate.query(sql, new BeanPropertyRowMapper(LineConfig.class)); 117 +// String sql = "select c.id,c.out_config,c.start_opt,t.line_code from bsth_c_line_config c LEFT JOIN bsth_c_line t on c.line=t.id";
  118 + String sql="select xl_bm as line_code from bsth_c_s_sp_info_real where schedule_date_str = '"+date+"'";
  119 + if(line.trim().length() > 0){
  120 + sql += " and xl_bm = '"+line+"'";
  121 +// sql += " where t.line_code = " + line;
  122 + }
  123 + sql += "group by xl_bm";
109 List<Map<String, Object>> listLineConfig = jdbcTemplate.query(sql, 124 List<Map<String, Object>> listLineConfig = jdbcTemplate.query(sql,
110 new RowMapper<Map<String, Object>>(){ 125 new RowMapper<Map<String, Object>>(){
111 @Override 126 @Override
112 public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException { 127 public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException {
113 Map<String, Object> m = new HashMap<String, Object>(); 128 Map<String, Object> m = new HashMap<String, Object>();
114 - m.put("id", rs.getLong("id"));  
115 - m.put("out_config", rs.getString("out_config"));  
116 - m.put("start_opt", rs.getString("start_opt")); 129 +// m.put("id", rs.getLong("id"));
  130 +// m.put("out_config", rs.getString("out_config"));
  131 +// m.put("start_opt", rs.getString("start_opt"));
117 m.put("line_code", rs.getString("line_code")); 132 m.put("line_code", rs.getString("line_code"));
118 return m; 133 return m;
119 }}); 134 }});
@@ -243,6 +258,7 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer @@ -243,6 +258,7 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
243 calc.setLblcYw(Arith.add(calc.getLblcYw(), c.getLblcYw())); 258 calc.setLblcYw(Arith.add(calc.getLblcYw(), c.getLblcYw()));
244 calc.setLblcQt(Arith.add(calc.getLblcQt(), c.getLblcQt())); 259 calc.setLblcQt(Arith.add(calc.getLblcQt(), c.getLblcQt()));
245 calc.setLjyylc(Arith.add(calc.getLjyylc(), c.getLjyylc())); 260 calc.setLjyylc(Arith.add(calc.getLjyylc(), c.getLjyylc()));
  261 + calc.setLjfyylc(Arith.add(calc.getLjfyylc(), c.getLjfyylc()));
246 calc.setJhyybc(calc.getJhyybc() + c.getJhyybc()); 262 calc.setJhyybc(calc.getJhyybc() + c.getJhyybc());
247 calc.setJhyybczgf(calc.getJhyybczgf() + c.getJhyybczgf()); 263 calc.setJhyybczgf(calc.getJhyybczgf() + c.getJhyybczgf());
248 calc.setJhyybcwgf(calc.getJhyybcwgf() + c.getJhyybcwgf()); 264 calc.setJhyybcwgf(calc.getJhyybcwgf() + c.getJhyybcwgf());
@@ -260,6 +276,7 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer @@ -260,6 +276,7 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
260 calc.setDtbcwgf(calc.getDtbcwgf() + c.getDtbcwgf()); 276 calc.setDtbcwgf(calc.getDtbcwgf() + c.getDtbcwgf());
261 } 277 }
262 calc.setSjyylc(Arith.add(calc.getSjyylc(), calc.getLjyylc())); 278 calc.setSjyylc(Arith.add(calc.getSjyylc(), calc.getLjyylc()));
  279 + calc.setSjfyylc(Arith.add(calc.getSjfyylc(), calc.getLjfyylc()));
263 lists.add(calc); 280 lists.add(calc);
264 } 281 }
265 CalcInterval sum_ = new CalcInterval(); 282 CalcInterval sum_ = new CalcInterval();
@@ -304,7 +321,6 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer @@ -304,7 +321,6 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
304 sum.setLblcQh(Arith.add(sum.getLblcQh()!=null?sum.getLblcQh():0, c.getLblcQh())); 321 sum.setLblcQh(Arith.add(sum.getLblcQh()!=null?sum.getLblcQh():0, c.getLblcQh()));
305 sum.setLblcYw(Arith.add(sum.getLblcYw()!=null?sum.getLblcYw():0, c.getLblcYw())); 322 sum.setLblcYw(Arith.add(sum.getLblcYw()!=null?sum.getLblcYw():0, c.getLblcYw()));
306 sum.setLblcQt(Arith.add(sum.getLblcQt()!=null?sum.getLblcQt():0, c.getLblcQt())); 323 sum.setLblcQt(Arith.add(sum.getLblcQt()!=null?sum.getLblcQt():0, c.getLblcQt()));
307 - sum.setLjyylc(Arith.add(sum.getLjyylc()!=null?sum.getLjyylc():0, c.getLjyylc()));  
308 sum.setJhyybc(sum.getJhyybc() + c.getJhyybc()); 324 sum.setJhyybc(sum.getJhyybc() + c.getJhyybc());
309 sum.setJhyybczgf(sum.getJhyybczgf() + c.getJhyybczgf()); 325 sum.setJhyybczgf(sum.getJhyybczgf() + c.getJhyybczgf());
310 sum.setJhyybcwgf(sum.getJhyybcwgf() + c.getJhyybcwgf()); 326 sum.setJhyybcwgf(sum.getJhyybcwgf() + c.getJhyybcwgf());
@@ -331,9 +347,12 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer @@ -331,9 +347,12 @@ public class CalcWaybillServiceImpl extends BaseServiceImpl&lt;CalcWaybill, Integer
331 m.put("jhzlc", Arith.add(c.getJhyylc(), c.getJhfyylc())); 347 m.put("jhzlc", Arith.add(c.getJhyylc(), c.getJhfyylc()));
332 m.put("jhlc", c.getJhyylc()); 348 m.put("jhlc", c.getJhyylc());
333 m.put("jcclc", c.getJhfyylc()); 349 m.put("jcclc", c.getJhfyylc());
334 - m.put("sjzgl", Arith.add(Arith.add(c.getSjyylc(), c.getLjyylc()), Arith.add(c.getSjfyylc(), c.getLjfyylc())));  
335 - m.put("sjgl", Arith.add(c.getSjyylc(), c.getLjyylc()));  
336 - m.put("sjksgl", Arith.add(c.getSjfyylc(), c.getLjfyylc())); 350 +// m.put("sjzgl", Arith.add(Arith.add(c.getSjyylc(), c.getLjyylc()), Arith.add(c.getSjfyylc(), c.getLjfyylc())));
  351 +// m.put("sjgl", Arith.add(c.getSjyylc(), c.getLjyylc()));
  352 +// m.put("sjksgl", Arith.add(c.getSjfyylc(), c.getLjfyylc()));
  353 + m.put("sjzgl", Arith.add(c.getSjyylc(), c.getSjfyylc()));
  354 + m.put("sjgl", c.getSjyylc());
  355 + m.put("sjksgl", c.getSjfyylc());
337 m.put("ssgl", c.getLblc()); 356 m.put("ssgl", c.getLblc());
338 m.put("ssbc", c.getLbbc()); 357 m.put("ssbc", c.getLbbc());
339 m.put("ssgl_lz", c.getLblcLz()); 358 m.put("ssgl_lz", c.getLblcLz());