Commit 2c33fd45c7b7254c39e4b08ad03f9be2bdf7f914
1 parent
953b0487
update...
Showing
7 changed files
with
1509 additions
and
1213 deletions
src/main/java/com/bsth/controller/realcontrol/dto/LpData.java
| @@ -17,9 +17,12 @@ public class LpData { | @@ -17,9 +17,12 @@ public class LpData { | ||
| 17 | 17 | ||
| 18 | this.fcsj = sch.getFcsjActualTime(); | 18 | this.fcsj = sch.getFcsjActualTime(); |
| 19 | this.zdsj = sch.getZdsjActualTime(); | 19 | this.zdsj = sch.getZdsjActualTime(); |
| 20 | + | ||
| 21 | + this.qdName = sch.getQdzName(); | ||
| 22 | + this.zdzName = sch.getZdzName(); | ||
| 20 | } | 23 | } |
| 21 | 24 | ||
| 22 | - public void appendTo(ScheduleRealInfo sch, int type) { | 25 | + public void appendTo(ScheduleRealInfo sch, int type, boolean changeRealTime) { |
| 23 | 26 | ||
| 24 | if (type == 0) { | 27 | if (type == 0) { |
| 25 | //只换人 | 28 | //只换人 |
| @@ -31,10 +34,10 @@ public class LpData { | @@ -31,10 +34,10 @@ public class LpData { | ||
| 31 | //只换车 | 34 | //只换车 |
| 32 | sch.setClZbh(this.nbbm); | 35 | sch.setClZbh(this.nbbm); |
| 33 | 36 | ||
| 34 | - if (this.fcsj != null) | ||
| 35 | - sch.setFcsjActualAll(this.fcsj); | ||
| 36 | - if (this.zdsj != null) | ||
| 37 | - sch.setZdsjActualAll(this.zdsj); | 37 | + //换实际时间 |
| 38 | + if(changeRealTime){ | ||
| 39 | + changeRealTime(sch); | ||
| 40 | + } | ||
| 38 | 41 | ||
| 39 | } else if (type == 2) { | 42 | } else if (type == 2) { |
| 40 | //换人并换车 | 43 | //换人并换车 |
| @@ -44,13 +47,30 @@ public class LpData { | @@ -44,13 +47,30 @@ public class LpData { | ||
| 44 | sch.setsName(this.sName); | 47 | sch.setsName(this.sName); |
| 45 | sch.setClZbh(this.nbbm); | 48 | sch.setClZbh(this.nbbm); |
| 46 | 49 | ||
| 47 | - if (this.fcsj != null) | ||
| 48 | - sch.setFcsjActualAll(this.fcsj); | ||
| 49 | - if (this.zdsj != null) | ||
| 50 | - sch.setZdsjActualAll(this.zdsj); | 50 | + //换实际时间 |
| 51 | + if(changeRealTime){ | ||
| 52 | + changeRealTime(sch); | ||
| 53 | + } | ||
| 51 | } | 54 | } |
| 52 | } | 55 | } |
| 53 | 56 | ||
| 57 | + public void changeRealTime(ScheduleRealInfo sch){ | ||
| 58 | + if (this.fcsj != null && this.qdName.equals(sch.getQdzName())) | ||
| 59 | + sch.setFcsjActualAll(this.fcsj); | ||
| 60 | + if (this.zdsj != null && this.zdzName.equals(sch.getZdzName())) | ||
| 61 | + sch.setZdsjActualAll(this.zdsj); | ||
| 62 | + } | ||
| 63 | + | ||
| 64 | + /** | ||
| 65 | + * 起点站名称 | ||
| 66 | + */ | ||
| 67 | + private String qdName; | ||
| 68 | + | ||
| 69 | + /** | ||
| 70 | + * 终点站名称 | ||
| 71 | + */ | ||
| 72 | + private String zdzName; | ||
| 73 | + | ||
| 54 | /** | 74 | /** |
| 55 | * 驾驶员 | 75 | * 驾驶员 |
| 56 | */ | 76 | */ |
src/main/java/com/bsth/data/schedule/DayOfSchedule.java
| @@ -623,6 +623,7 @@ public class DayOfSchedule implements CommandLineRunner { | @@ -623,6 +623,7 @@ public class DayOfSchedule implements CommandLineRunner { | ||
| 623 | // } | 623 | // } |
| 624 | 624 | ||
| 625 | public List<ScheduleRealInfo> updateQdzTimePlan(String nbbm) { | 625 | public List<ScheduleRealInfo> updateQdzTimePlan(String nbbm) { |
| 626 | + Collections.sort(nbbmScheduleMap.get(nbbm), schFCSJComparator); | ||
| 626 | return schAttrCalculator.updateQdzTimePlan(nbbmScheduleMap.get(nbbm)); | 627 | return schAttrCalculator.updateQdzTimePlan(nbbmScheduleMap.get(nbbm)); |
| 627 | } | 628 | } |
| 628 | 629 | ||
| @@ -775,6 +776,8 @@ public class DayOfSchedule implements CommandLineRunner { | @@ -775,6 +776,8 @@ public class DayOfSchedule implements CommandLineRunner { | ||
| 775 | public void addExecPlan(ScheduleRealInfo sch) { | 776 | public void addExecPlan(ScheduleRealInfo sch) { |
| 776 | if(sch != null) | 777 | if(sch != null) |
| 777 | carExecutePlanMap.put(sch.getClZbh(), sch); | 778 | carExecutePlanMap.put(sch.getClZbh(), sch); |
| 779 | + else | ||
| 780 | + carExecutePlanMap.remove(sch.getClZbh()); | ||
| 778 | } | 781 | } |
| 779 | 782 | ||
| 780 | public void removeExecPlan(String clzbh) { | 783 | public void removeExecPlan(String clzbh) { |
| @@ -826,6 +829,14 @@ public class DayOfSchedule implements CommandLineRunner { | @@ -826,6 +829,14 @@ public class DayOfSchedule implements CommandLineRunner { | ||
| 826 | return ups; | 829 | return ups; |
| 827 | } | 830 | } |
| 828 | 831 | ||
| 832 | + public void removeNbbm2SchMapp(ScheduleRealInfo sch, String nbbm){ | ||
| 833 | + nbbmScheduleMap.remove(nbbm, sch); | ||
| 834 | + } | ||
| 835 | + | ||
| 836 | + public void addNbbm2SchMapp(ScheduleRealInfo sch, String nbbm){ | ||
| 837 | + nbbmScheduleMap.put(nbbm, sch); | ||
| 838 | + } | ||
| 839 | + | ||
| 829 | public void reCalcExecPlan(String nbbm){ | 840 | public void reCalcExecPlan(String nbbm){ |
| 830 | carExecutePlanMap.put(nbbm, schAttrCalculator.calcCurrentExecSch(nbbmScheduleMap.get(nbbm))); | 841 | carExecutePlanMap.put(nbbm, schAttrCalculator.calcCurrentExecSch(nbbmScheduleMap.get(nbbm))); |
| 831 | } | 842 | } |
src/main/java/com/bsth/service/realcontrol/ScheduleRealInfoService.java
| @@ -156,7 +156,7 @@ public interface ScheduleRealInfoService extends BaseService<ScheduleRealInfo, L | @@ -156,7 +156,7 @@ public interface ScheduleRealInfoService extends BaseService<ScheduleRealInfo, L | ||
| 156 | 156 | ||
| 157 | Map<String,Object> lpChangeMulti(String leftIdx, String rightIdx, int type); | 157 | Map<String,Object> lpChangeMulti(String leftIdx, String rightIdx, int type); |
| 158 | 158 | ||
| 159 | - void lpChange(ScheduleRealInfo leftSch, ScheduleRealInfo rightSch, int type); | 159 | + void lpChange(ScheduleRealInfo leftSch, ScheduleRealInfo rightSch, int type, boolean changeRealTime); |
| 160 | 160 | ||
| 161 | Map<String,Object> revokeRealArrive(Long id); | 161 | Map<String,Object> revokeRealArrive(Long id); |
| 162 | } | 162 | } |
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
| @@ -74,8 +74,8 @@ import java.util.zip.ZipOutputStream; | @@ -74,8 +74,8 @@ import java.util.zip.ZipOutputStream; | ||
| 74 | @Service | 74 | @Service |
| 75 | public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInfo, Long> | 75 | public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInfo, Long> |
| 76 | implements ScheduleRealInfoService { | 76 | implements ScheduleRealInfoService { |
| 77 | - @Autowired | ||
| 78 | - JdbcTemplate jdbcTemplate; | 77 | + @Autowired |
| 78 | + JdbcTemplate jdbcTemplate; | ||
| 79 | @Autowired | 79 | @Autowired |
| 80 | ScheduleRealInfoRepository scheduleRealInfoRepository; | 80 | ScheduleRealInfoRepository scheduleRealInfoRepository; |
| 81 | 81 | ||
| @@ -89,7 +89,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -89,7 +89,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 89 | SectionRouteService sectionRouteService; | 89 | SectionRouteService sectionRouteService; |
| 90 | 90 | ||
| 91 | /*@Autowired | 91 | /*@Autowired |
| 92 | - BorrowCenter borrowCenter;*/ | 92 | + BorrowCenter borrowCenter;*/ |
| 93 | 93 | ||
| 94 | @Autowired | 94 | @Autowired |
| 95 | LineRepository lineRepository; | 95 | LineRepository lineRepository; |
| @@ -111,13 +111,13 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -111,13 +111,13 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 111 | 111 | ||
| 112 | @Autowired | 112 | @Autowired |
| 113 | LineConfigData lineConfigData; | 113 | LineConfigData lineConfigData; |
| 114 | - | 114 | + |
| 115 | @Autowired | 115 | @Autowired |
| 116 | DutyEmployeeService dutyEmployeeService; | 116 | DutyEmployeeService dutyEmployeeService; |
| 117 | - | 117 | + |
| 118 | @Autowired | 118 | @Autowired |
| 119 | YlxxbRepository ylxxbRepository; | 119 | YlxxbRepository ylxxbRepository; |
| 120 | - | 120 | + |
| 121 | @Autowired | 121 | @Autowired |
| 122 | YlbRepository ylbRepository; | 122 | YlbRepository ylbRepository; |
| 123 | 123 | ||
| @@ -141,8 +141,8 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -141,8 +141,8 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 141 | 141 | ||
| 142 | private final static long DAY_TIME = 1000 * 60 * 60 * 24L; | 142 | private final static long DAY_TIME = 1000 * 60 * 60 * 24L; |
| 143 | 143 | ||
| 144 | - private static int BUF_SIZE = 1024; | ||
| 145 | - | 144 | + private static int BUF_SIZE = 1024; |
| 145 | + | ||
| 146 | private static DateTimeFormatter fmtyyyyMMdd = DateTimeFormat.forPattern("yyyy-MM-dd"); | 146 | private static DateTimeFormatter fmtyyyyMMdd = DateTimeFormat.forPattern("yyyy-MM-dd"); |
| 147 | 147 | ||
| 148 | @Override | 148 | @Override |
| @@ -175,7 +175,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -175,7 +175,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 175 | } | 175 | } |
| 176 | 176 | ||
| 177 | //调整班次类型 | 177 | //调整班次类型 |
| 178 | - if(StringUtils.isNotEmpty(bcType)){ | 178 | + if (StringUtils.isNotEmpty(bcType)) { |
| 179 | schedule.setBcType(bcType); | 179 | schedule.setBcType(bcType); |
| 180 | } | 180 | } |
| 181 | 181 | ||
| @@ -200,7 +200,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -200,7 +200,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 200 | try { | 200 | try { |
| 201 | List<String> idList = Lists.newArrayList(Splitter.on(',').trimResults().omitEmptyStrings().split(idsStr)); | 201 | List<String> idList = Lists.newArrayList(Splitter.on(',').trimResults().omitEmptyStrings().split(idsStr)); |
| 202 | 202 | ||
| 203 | - ScheduleRealInfo schedule = null; | 203 | + ScheduleRealInfo schedule = null, execSch, next; |
| 204 | for (String id : idList) { | 204 | for (String id : idList) { |
| 205 | schedule = dayOfSchedule.get(Long.parseLong(id)); | 205 | schedule = dayOfSchedule.get(Long.parseLong(id)); |
| 206 | if (schedule.isDestroy()) { | 206 | if (schedule.isDestroy()) { |
| @@ -215,6 +215,13 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -215,6 +215,13 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 215 | 215 | ||
| 216 | dayOfSchedule.save(schedule); | 216 | dayOfSchedule.save(schedule); |
| 217 | rsList.add(schedule); | 217 | rsList.add(schedule); |
| 218 | + | ||
| 219 | + //如果正在执行当前班次,跳下一个班次 | ||
| 220 | + execSch = dayOfSchedule.executeCurr(schedule.getClZbh()); | ||
| 221 | + if(execSch != null && execSch.getId().equals(schedule.getId())){ | ||
| 222 | + next = dayOfSchedule.next(schedule); | ||
| 223 | + dayOfSchedule.addExecPlan(next); | ||
| 224 | + } | ||
| 218 | } | 225 | } |
| 219 | 226 | ||
| 220 | map.put("status", ResponseCode.SUCCESS); | 227 | map.put("status", ResponseCode.SUCCESS); |
| @@ -457,207 +464,207 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -457,207 +464,207 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 457 | } | 464 | } |
| 458 | 465 | ||
| 459 | } | 466 | } |
| 460 | - | 467 | + |
| 461 | @Override | 468 | @Override |
| 462 | - public List<ScheduleRealInfo> queryUserInfoPx(String line, String date, String state,String type) { | 469 | + public List<ScheduleRealInfo> queryUserInfoPx(String line, String date, String state, String type) { |
| 463 | // List<ScheduleRealInfo> list=new ArrayList<ScheduleRealInfo>(); | 470 | // List<ScheduleRealInfo> list=new ArrayList<ScheduleRealInfo>(); |
| 464 | - state=state+""; | ||
| 465 | - String lpname=state; | ||
| 466 | - String px=type; | ||
| 467 | - if(state.equals("lpName")){ | ||
| 468 | - state =state+"+1"; | ||
| 469 | - type="asc"; | ||
| 470 | - } | ||
| 471 | - String sqlPlan="select min(s.id) as id,s.j_Gh as jGh,s.cl_Zbh as clZbh," | ||
| 472 | - + " s.lp_Name as lpName,s.j_Name as jName,s.s_Gh as sGh,s.s_Name as sName" | ||
| 473 | - + " from bsth_c_s_sp_info_real s " | ||
| 474 | - + " where s.xl_Bm = '"+line+"' and DATE_FORMAT(s.schedule_Date,'%Y-%m-%d') ='"+date+"' " | ||
| 475 | - + " GROUP BY s.j_Gh,s.cl_Zbh,s.lp_Name ,s.j_Name,s.s_Gh," | ||
| 476 | - + " s.s_Name order by ("+state+") "+type; | ||
| 477 | - List<ScheduleRealInfo> list= jdbcTemplate.query(sqlPlan, | ||
| 478 | - new RowMapper<ScheduleRealInfo>(){ | ||
| 479 | - @Override | ||
| 480 | - public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { | ||
| 481 | - ScheduleRealInfo t=new ScheduleRealInfo(); | ||
| 482 | - t.setId(rs.getLong("id")); | ||
| 483 | - t.setjGh(rs.getString("jGh")); | ||
| 484 | - t.setClZbh(rs.getString("clZbh")); | ||
| 485 | - t.setLpName(rs.getString("lpName")); | ||
| 486 | - t.setjName(rs.getString("jName")); | ||
| 487 | - t.setsGh(rs.getString("sGh")); | ||
| 488 | - t.setsName(rs.getString("sName")); | ||
| 489 | - return t; | ||
| 490 | - } | ||
| 491 | - }); | ||
| 492 | - if(lpname.equals("lpName")){ | ||
| 493 | - List<ScheduleRealInfo> listNew=new ArrayList<ScheduleRealInfo>(); | ||
| 494 | - Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$"); | ||
| 495 | - if(px.equals("desc")){ | ||
| 496 | - int zt=0; | ||
| 497 | - for (int l = 0; l < 3; l++) { | ||
| 498 | - for (int i = 0; i < list.size(); i++) { | ||
| 499 | - ScheduleRealInfo t=list.get(i); | ||
| 500 | - if(t.getLpName().indexOf("+")!=-1){ | ||
| 501 | - if(zt==0){ | ||
| 502 | - listNew.add(t); | ||
| 503 | - } | ||
| 504 | - | ||
| 505 | - }else if(pattern.matcher(t.getLpName()).matches()){ | ||
| 506 | - if(zt==1){ | ||
| 507 | - listNew.add(t); | ||
| 508 | - } | ||
| 509 | - }else{ | ||
| 510 | - if(zt==2){ | ||
| 511 | - listNew.add(t); | ||
| 512 | - } | ||
| 513 | - } | ||
| 514 | - } | ||
| 515 | - zt++; | ||
| 516 | - } | ||
| 517 | - }else{ | ||
| 518 | - int zt=0; | ||
| 519 | - for (int l = 0; l < 3; l++) { | ||
| 520 | - for (int i = 0; i < list.size(); i++) { | ||
| 521 | - ScheduleRealInfo t=list.get(i); | ||
| 522 | - if(t.getLpName().indexOf("+")!=-1){ | ||
| 523 | - if(zt==2){ | ||
| 524 | - listNew.add(t); | ||
| 525 | - } | ||
| 526 | - | ||
| 527 | - }else if(pattern.matcher(t.getLpName()).matches()){ | ||
| 528 | - if(zt==1){ | ||
| 529 | - listNew.add(t); | ||
| 530 | - } | ||
| 531 | - }else{ | ||
| 532 | - if(zt==0){ | ||
| 533 | - listNew.add(t); | ||
| 534 | - } | ||
| 535 | - } | ||
| 536 | - } | ||
| 537 | - zt++; | ||
| 538 | - } | ||
| 539 | - | ||
| 540 | - } | ||
| 541 | - return listNew; | ||
| 542 | - }else{ | ||
| 543 | - return list; | ||
| 544 | - } | ||
| 545 | - | 471 | + state = state + ""; |
| 472 | + String lpname = state; | ||
| 473 | + String px = type; | ||
| 474 | + if (state.equals("lpName")) { | ||
| 475 | + state = state + "+1"; | ||
| 476 | + type = "asc"; | ||
| 477 | + } | ||
| 478 | + String sqlPlan = "select min(s.id) as id,s.j_Gh as jGh,s.cl_Zbh as clZbh," | ||
| 479 | + + " s.lp_Name as lpName,s.j_Name as jName,s.s_Gh as sGh,s.s_Name as sName" | ||
| 480 | + + " from bsth_c_s_sp_info_real s " | ||
| 481 | + + " where s.xl_Bm = '" + line + "' and DATE_FORMAT(s.schedule_Date,'%Y-%m-%d') ='" + date + "' " | ||
| 482 | + + " GROUP BY s.j_Gh,s.cl_Zbh,s.lp_Name ,s.j_Name,s.s_Gh," | ||
| 483 | + + " s.s_Name order by (" + state + ") " + type; | ||
| 484 | + List<ScheduleRealInfo> list = jdbcTemplate.query(sqlPlan, | ||
| 485 | + new RowMapper<ScheduleRealInfo>() { | ||
| 486 | + @Override | ||
| 487 | + public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { | ||
| 488 | + ScheduleRealInfo t = new ScheduleRealInfo(); | ||
| 489 | + t.setId(rs.getLong("id")); | ||
| 490 | + t.setjGh(rs.getString("jGh")); | ||
| 491 | + t.setClZbh(rs.getString("clZbh")); | ||
| 492 | + t.setLpName(rs.getString("lpName")); | ||
| 493 | + t.setjName(rs.getString("jName")); | ||
| 494 | + t.setsGh(rs.getString("sGh")); | ||
| 495 | + t.setsName(rs.getString("sName")); | ||
| 496 | + return t; | ||
| 497 | + } | ||
| 498 | + }); | ||
| 499 | + if (lpname.equals("lpName")) { | ||
| 500 | + List<ScheduleRealInfo> listNew = new ArrayList<ScheduleRealInfo>(); | ||
| 501 | + Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$"); | ||
| 502 | + if (px.equals("desc")) { | ||
| 503 | + int zt = 0; | ||
| 504 | + for (int l = 0; l < 3; l++) { | ||
| 505 | + for (int i = 0; i < list.size(); i++) { | ||
| 506 | + ScheduleRealInfo t = list.get(i); | ||
| 507 | + if (t.getLpName().indexOf("+") != -1) { | ||
| 508 | + if (zt == 0) { | ||
| 509 | + listNew.add(t); | ||
| 510 | + } | ||
| 511 | + | ||
| 512 | + } else if (pattern.matcher(t.getLpName()).matches()) { | ||
| 513 | + if (zt == 1) { | ||
| 514 | + listNew.add(t); | ||
| 515 | + } | ||
| 516 | + } else { | ||
| 517 | + if (zt == 2) { | ||
| 518 | + listNew.add(t); | ||
| 519 | + } | ||
| 520 | + } | ||
| 521 | + } | ||
| 522 | + zt++; | ||
| 523 | + } | ||
| 524 | + } else { | ||
| 525 | + int zt = 0; | ||
| 526 | + for (int l = 0; l < 3; l++) { | ||
| 527 | + for (int i = 0; i < list.size(); i++) { | ||
| 528 | + ScheduleRealInfo t = list.get(i); | ||
| 529 | + if (t.getLpName().indexOf("+") != -1) { | ||
| 530 | + if (zt == 2) { | ||
| 531 | + listNew.add(t); | ||
| 532 | + } | ||
| 533 | + | ||
| 534 | + } else if (pattern.matcher(t.getLpName()).matches()) { | ||
| 535 | + if (zt == 1) { | ||
| 536 | + listNew.add(t); | ||
| 537 | + } | ||
| 538 | + } else { | ||
| 539 | + if (zt == 0) { | ||
| 540 | + listNew.add(t); | ||
| 541 | + } | ||
| 542 | + } | ||
| 543 | + } | ||
| 544 | + zt++; | ||
| 545 | + } | ||
| 546 | + | ||
| 547 | + } | ||
| 548 | + return listNew; | ||
| 549 | + } else { | ||
| 550 | + return list; | ||
| 551 | + } | ||
| 552 | + | ||
| 546 | } | 553 | } |
| 547 | 554 | ||
| 548 | /** | 555 | /** |
| 549 | * | 556 | * |
| 550 | */ | 557 | */ |
| 551 | @Override | 558 | @Override |
| 552 | - public List<ScheduleRealInfo> exportWaybill(String jName, String clZbh, String lpName,String date,String line) { | ||
| 553 | - ReportUtils ee = new ReportUtils(); | ||
| 554 | - ReportRelatedUtils rru = new ReportRelatedUtils(); | ||
| 555 | - List<Iterator<?>> list = new ArrayList<Iterator<?>>(); | ||
| 556 | - List<ScheduleRealInfo> scheduleRealInfos = scheduleRealInfoRepository.queryListWaybill(jName, clZbh, lpName,date,line); | ||
| 557 | - List<Map<String,Object>> listMap = new ArrayList<Map<String,Object>>(); | ||
| 558 | - | ||
| 559 | - DecimalFormat format = new DecimalFormat("0.00"); | 559 | + public List<ScheduleRealInfo> exportWaybill(String jName, String clZbh, String lpName, String date, String line) { |
| 560 | + ReportUtils ee = new ReportUtils(); | ||
| 561 | + ReportRelatedUtils rru = new ReportRelatedUtils(); | ||
| 562 | + List<Iterator<?>> list = new ArrayList<Iterator<?>>(); | ||
| 563 | + List<ScheduleRealInfo> scheduleRealInfos = scheduleRealInfoRepository.queryListWaybill(jName, clZbh, lpName, date, line); | ||
| 564 | + List<Map<String, Object>> listMap = new ArrayList<Map<String, Object>>(); | ||
| 565 | + | ||
| 566 | + DecimalFormat format = new DecimalFormat("0.00"); | ||
| 560 | // int cjbc = scheduleRealInfoRepository.findCjbc(jName, clZbh, lpName); | 567 | // int cjbc = scheduleRealInfoRepository.findCjbc(jName, clZbh, lpName); |
| 561 | // int ljbc = scheduleRealInfoRepository.findLjbc(jName, clZbh, lpName); | 568 | // int ljbc = scheduleRealInfoRepository.findLjbc(jName, clZbh, lpName); |
| 562 | - int jhbc = 0,cjbc = 0,ljbc = 0; | ||
| 563 | - double jhlc = 0, yygl = 0, ksgl = 0,tempJhlc = 0; | ||
| 564 | - float addMileage = 0l,remMileage = 0l; | ||
| 565 | - | ||
| 566 | - Map<String,Object> map; | ||
| 567 | - for(ScheduleRealInfo scheduleRealInfo : scheduleRealInfos){ | ||
| 568 | - if(scheduleRealInfo != null){ | ||
| 569 | - //计算计划里程(主任务过滤掉临加班次),烂班里程,临加里程,计划班次,烂班班次,增加班次 | ||
| 570 | - if(scheduleRealInfo != null){ | ||
| 571 | - //计划里程(主任务过滤掉临加班次), | ||
| 572 | - //烂班里程(主任务烂班), | ||
| 573 | - //临加里程(主任务临加), | ||
| 574 | - //计划班次,烂班班次,增加班次 | ||
| 575 | - tempJhlc = scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc(); | ||
| 576 | - if(scheduleRealInfo.isSflj()){ | ||
| 577 | - ljbc++; | ||
| 578 | - }else{ | ||
| 579 | - jhlc += tempJhlc; | ||
| 580 | - jhbc++; | ||
| 581 | - if(scheduleRealInfo.getStatus() == -1){ | ||
| 582 | - remMileage += tempJhlc; | ||
| 583 | - cjbc++; | ||
| 584 | - } | ||
| 585 | - } | ||
| 586 | - Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | ||
| 587 | - //计算营运里程,空驶里程 | ||
| 588 | - if(childTaskPlans.isEmpty()){ | ||
| 589 | - if(scheduleRealInfo.getBcType().equals("in") || scheduleRealInfo.getBcType().equals("out") | ||
| 590 | - ){ | ||
| 591 | - ksgl += tempJhlc; | ||
| 592 | - }else{ | ||
| 593 | - yygl += tempJhlc; | ||
| 594 | - } | ||
| 595 | - }else{ | ||
| 596 | - Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | ||
| 597 | - while(it.hasNext()){ | ||
| 598 | - ChildTaskPlan childTaskPlan = it.next(); | ||
| 599 | - if(childTaskPlan.getMileageType().equals("empty")){ | ||
| 600 | - if(scheduleRealInfo.isSflj()){ | ||
| 601 | - addMileage += tempJhlc; | ||
| 602 | - } | ||
| 603 | - ksgl += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); | ||
| 604 | - }else{ | ||
| 605 | - if(scheduleRealInfo.isSflj()){ | ||
| 606 | - addMileage += tempJhlc; | ||
| 607 | - } | ||
| 608 | - yygl += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); | ||
| 609 | - } | ||
| 610 | - } | ||
| 611 | - } | ||
| 612 | - } | ||
| 613 | - | ||
| 614 | - map = new HashMap<String, Object>(); | ||
| 615 | - try { | ||
| 616 | - scheduleRealInfo.setjName(scheduleRealInfo.getjGh()+scheduleRealInfo.getjName()); | ||
| 617 | - scheduleRealInfo.setsName(scheduleRealInfo.getsGh()+scheduleRealInfo.getsName()); | ||
| 618 | - map = rru.getMapValue(scheduleRealInfo); | ||
| 619 | - String zdsj = scheduleRealInfo.getZdsj(); | ||
| 620 | - String zdsjActual = scheduleRealInfo.getZdsjActual(); | ||
| 621 | - if(zdsj != null && zdsjActual != null && | ||
| 622 | - !zdsj.equals(zdsjActual)){ | ||
| 623 | - if(zdsj.compareTo(zdsjActual) > 0){ | ||
| 624 | - map.put("fast", TimeUtils.getTimeDifference(zdsj, zdsjActual)); | ||
| 625 | - map.put("slow", ""); | ||
| 626 | - } else { | ||
| 627 | - map.put("fast", ""); | ||
| 628 | - map.put("slow", TimeUtils.getTimeDifference(zdsj, zdsjActual)); | ||
| 629 | - } | ||
| 630 | - } else { | ||
| 631 | - map.put("fast", ""); | ||
| 632 | - map.put("slow", ""); | ||
| 633 | - } | ||
| 634 | - listMap.add(map); | ||
| 635 | - } catch (Exception e) { | ||
| 636 | - e.printStackTrace(); | ||
| 637 | - } | ||
| 638 | - } | ||
| 639 | - } | ||
| 640 | - | ||
| 641 | - //计算里程和班次数,并放入Map里 | ||
| 642 | - map = new HashMap<String, Object>(); | ||
| 643 | - map.put("jhlc", format.format(jhlc)); | ||
| 644 | - map.put("remMileage", format.format(remMileage)); | ||
| 645 | - map.put("addMileage", format.format(addMileage)); | ||
| 646 | - map.put("yygl", format.format(yygl)); | ||
| 647 | - map.put("ksgl", format.format(ksgl)); | ||
| 648 | - map.put("realMileage", format.format(yygl+ksgl)); | ||
| 649 | - map.put("jhbc", jhbc); | ||
| 650 | - map.put("cjbc", cjbc); | ||
| 651 | - map.put("ljbc", ljbc); | ||
| 652 | - map.put("sjbc", jhbc-cjbc+ljbc); | ||
| 653 | - | ||
| 654 | - String path = this.getClass().getResource("/").getPath()+"static/pages/forms/"; | 569 | + int jhbc = 0, cjbc = 0, ljbc = 0; |
| 570 | + double jhlc = 0, yygl = 0, ksgl = 0, tempJhlc = 0; | ||
| 571 | + float addMileage = 0l, remMileage = 0l; | ||
| 572 | + | ||
| 573 | + Map<String, Object> map; | ||
| 574 | + for (ScheduleRealInfo scheduleRealInfo : scheduleRealInfos) { | ||
| 575 | + if (scheduleRealInfo != null) { | ||
| 576 | + //计算计划里程(主任务过滤掉临加班次),烂班里程,临加里程,计划班次,烂班班次,增加班次 | ||
| 577 | + if (scheduleRealInfo != null) { | ||
| 578 | + //计划里程(主任务过滤掉临加班次), | ||
| 579 | + //烂班里程(主任务烂班), | ||
| 580 | + //临加里程(主任务临加), | ||
| 581 | + //计划班次,烂班班次,增加班次 | ||
| 582 | + tempJhlc = scheduleRealInfo.getJhlc() == null ? 0 : scheduleRealInfo.getJhlc(); | ||
| 583 | + if (scheduleRealInfo.isSflj()) { | ||
| 584 | + ljbc++; | ||
| 585 | + } else { | ||
| 586 | + jhlc += tempJhlc; | ||
| 587 | + jhbc++; | ||
| 588 | + if (scheduleRealInfo.getStatus() == -1) { | ||
| 589 | + remMileage += tempJhlc; | ||
| 590 | + cjbc++; | ||
| 591 | + } | ||
| 592 | + } | ||
| 593 | + Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | ||
| 594 | + //计算营运里程,空驶里程 | ||
| 595 | + if (childTaskPlans.isEmpty()) { | ||
| 596 | + if (scheduleRealInfo.getBcType().equals("in") || scheduleRealInfo.getBcType().equals("out") | ||
| 597 | + ) { | ||
| 598 | + ksgl += tempJhlc; | ||
| 599 | + } else { | ||
| 600 | + yygl += tempJhlc; | ||
| 601 | + } | ||
| 602 | + } else { | ||
| 603 | + Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | ||
| 604 | + while (it.hasNext()) { | ||
| 605 | + ChildTaskPlan childTaskPlan = it.next(); | ||
| 606 | + if (childTaskPlan.getMileageType().equals("empty")) { | ||
| 607 | + if (scheduleRealInfo.isSflj()) { | ||
| 608 | + addMileage += tempJhlc; | ||
| 609 | + } | ||
| 610 | + ksgl += childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage(); | ||
| 611 | + } else { | ||
| 612 | + if (scheduleRealInfo.isSflj()) { | ||
| 613 | + addMileage += tempJhlc; | ||
| 614 | + } | ||
| 615 | + yygl += childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage(); | ||
| 616 | + } | ||
| 617 | + } | ||
| 618 | + } | ||
| 619 | + } | ||
| 620 | + | ||
| 621 | + map = new HashMap<String, Object>(); | ||
| 622 | + try { | ||
| 623 | + scheduleRealInfo.setjName(scheduleRealInfo.getjGh() + scheduleRealInfo.getjName()); | ||
| 624 | + scheduleRealInfo.setsName(scheduleRealInfo.getsGh() + scheduleRealInfo.getsName()); | ||
| 625 | + map = rru.getMapValue(scheduleRealInfo); | ||
| 626 | + String zdsj = scheduleRealInfo.getZdsj(); | ||
| 627 | + String zdsjActual = scheduleRealInfo.getZdsjActual(); | ||
| 628 | + if (zdsj != null && zdsjActual != null && | ||
| 629 | + !zdsj.equals(zdsjActual)) { | ||
| 630 | + if (zdsj.compareTo(zdsjActual) > 0) { | ||
| 631 | + map.put("fast", TimeUtils.getTimeDifference(zdsj, zdsjActual)); | ||
| 632 | + map.put("slow", ""); | ||
| 633 | + } else { | ||
| 634 | + map.put("fast", ""); | ||
| 635 | + map.put("slow", TimeUtils.getTimeDifference(zdsj, zdsjActual)); | ||
| 636 | + } | ||
| 637 | + } else { | ||
| 638 | + map.put("fast", ""); | ||
| 639 | + map.put("slow", ""); | ||
| 640 | + } | ||
| 641 | + listMap.add(map); | ||
| 642 | + } catch (Exception e) { | ||
| 643 | + e.printStackTrace(); | ||
| 644 | + } | ||
| 645 | + } | ||
| 646 | + } | ||
| 647 | + | ||
| 648 | + //计算里程和班次数,并放入Map里 | ||
| 649 | + map = new HashMap<String, Object>(); | ||
| 650 | + map.put("jhlc", format.format(jhlc)); | ||
| 651 | + map.put("remMileage", format.format(remMileage)); | ||
| 652 | + map.put("addMileage", format.format(addMileage)); | ||
| 653 | + map.put("yygl", format.format(yygl)); | ||
| 654 | + map.put("ksgl", format.format(ksgl)); | ||
| 655 | + map.put("realMileage", format.format(yygl + ksgl)); | ||
| 656 | + map.put("jhbc", jhbc); | ||
| 657 | + map.put("cjbc", cjbc); | ||
| 658 | + map.put("ljbc", ljbc); | ||
| 659 | + map.put("sjbc", jhbc - cjbc + ljbc); | ||
| 655 | 660 | ||
| 656 | - list.add(listMap.iterator()); | ||
| 657 | - ee.excelReplace(list, new Object[] { scheduleRealInfos.get(0),map }, path+"mould/waybill_minhang.xls", | ||
| 658 | - path+"export/" + date+"-"+jName+"-"+clZbh+"-"+lpName+"-行车路单.xls"); | ||
| 659 | - return scheduleRealInfos; | ||
| 660 | - } | 661 | + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/"; |
| 662 | + | ||
| 663 | + list.add(listMap.iterator()); | ||
| 664 | + ee.excelReplace(list, new Object[]{scheduleRealInfos.get(0), map}, path + "mould/waybill_minhang.xls", | ||
| 665 | + path + "export/" + date + "-" + jName + "-" + clZbh + "-" + lpName + "-行车路单.xls"); | ||
| 666 | + return scheduleRealInfos; | ||
| 667 | + } | ||
| 661 | 668 | ||
| 662 | @Override | 669 | @Override |
| 663 | public List<Map<String, Object>> dailyInfo(String line, String date, String type) { | 670 | public List<Map<String, Object>> dailyInfo(String line, String date, String type) { |
| @@ -967,6 +974,35 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -967,6 +974,35 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 967 | String remarks = map.get("remarks"); | 974 | String remarks = map.get("remarks"); |
| 968 | ScheduleRealInfo sch = dayOfSchedule.get(id); | 975 | ScheduleRealInfo sch = dayOfSchedule.get(id); |
| 969 | if (null != sch) { | 976 | if (null != sch) { |
| 977 | + | ||
| 978 | + String clZbh = map.get("clZbh"); | ||
| 979 | + if (StringUtils.isNotEmpty(clZbh)) { | ||
| 980 | + //换车 | ||
| 981 | + BiMap<String, String> clMap = BasicData.deviceId2NbbmMap.inverse(); | ||
| 982 | + if (clMap.get(clZbh) == null) { | ||
| 983 | + rs.put("status", ResponseCode.ERROR); | ||
| 984 | + rs.put("msg", "车辆 " + clZbh + " 不存在!"); | ||
| 985 | + return rs; | ||
| 986 | + } else { | ||
| 987 | + dayOfSchedule.changeCar(sch, clZbh); | ||
| 988 | + } | ||
| 989 | + } | ||
| 990 | + //换驾驶员 | ||
| 991 | + String jsy = map.get("jsy"); | ||
| 992 | + if (StringUtils.isNotEmpty(jsy) && jsy.indexOf("/") != -1) { | ||
| 993 | + persoChange(sch, jsy.split("/")[0]); | ||
| 994 | + } | ||
| 995 | + //换售票员 | ||
| 996 | + String spy = map.get("spy"); | ||
| 997 | + if (StringUtils.isNotEmpty(spy) && spy.indexOf("/") != -1 && !spy.equals("/")) { | ||
| 998 | + persoChangeSPY(sch, spy.split("/")[0]); | ||
| 999 | + } | ||
| 1000 | + else{ | ||
| 1001 | + sch.setsGh(""); | ||
| 1002 | + sch.setsName(""); | ||
| 1003 | + } | ||
| 1004 | + | ||
| 1005 | + | ||
| 970 | if (StringUtils.isNotBlank(fcsjActual)) { | 1006 | if (StringUtils.isNotBlank(fcsjActual)) { |
| 971 | LineConfig config = lineConfigData.get(sch.getXlBm()); | 1007 | LineConfig config = lineConfigData.get(sch.getXlBm()); |
| 972 | long t = 0L; | 1008 | long t = 0L; |
| @@ -1013,8 +1049,8 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1013,8 +1049,8 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1013 | 1049 | ||
| 1014 | try { | 1050 | try { |
| 1015 | //烂班 | 1051 | //烂班 |
| 1016 | - if(map.get("status") != null | ||
| 1017 | - && Integer.parseInt(map.get("status").toString()) == -1){ | 1052 | + if (map.get("status") != null |
| 1053 | + && Integer.parseInt(map.get("status").toString()) == -1) { | ||
| 1018 | destroy(sch.getId() + "", "", map.get("adjustExps").toString()); | 1054 | destroy(sch.getId() + "", "", map.get("adjustExps").toString()); |
| 1019 | } | 1055 | } |
| 1020 | } catch (NumberFormatException e) { | 1056 | } catch (NumberFormatException e) { |
| @@ -1023,14 +1059,14 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1023,14 +1059,14 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1023 | 1059 | ||
| 1024 | //修改班次里程 | 1060 | //修改班次里程 |
| 1025 | String jhlc = map.get("jhlc"); | 1061 | String jhlc = map.get("jhlc"); |
| 1026 | - if(StringUtils.isNotEmpty(jhlc) | ||
| 1027 | - && Double.parseDouble(jhlc) != sch.getJhlc()){ | 1062 | + if (StringUtils.isNotEmpty(jhlc) |
| 1063 | + && Double.parseDouble(jhlc) != sch.getJhlc()) { | ||
| 1028 | sch.setJhlc(Double.parseDouble(jhlc)); | 1064 | sch.setJhlc(Double.parseDouble(jhlc)); |
| 1029 | } | 1065 | } |
| 1030 | } | 1066 | } |
| 1031 | 1067 | ||
| 1032 | String bcType = map.get("bcType"); | 1068 | String bcType = map.get("bcType"); |
| 1033 | - if(StringUtils.isNotEmpty(bcType)){ | 1069 | + if (StringUtils.isNotEmpty(bcType)) { |
| 1034 | sch.setBcType(bcType); | 1070 | sch.setBcType(bcType); |
| 1035 | } | 1071 | } |
| 1036 | //班次状态 | 1072 | //班次状态 |
| @@ -1247,11 +1283,10 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1247,11 +1283,10 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1247 | } | 1283 | } |
| 1248 | 1284 | ||
| 1249 | 1285 | ||
| 1250 | - | ||
| 1251 | @Override | 1286 | @Override |
| 1252 | public Map<String, Object> findKMBC(String jName, String clZbh, | 1287 | public Map<String, Object> findKMBC(String jName, String clZbh, |
| 1253 | - String lpName, String date,String line) { | ||
| 1254 | - List<ScheduleRealInfo> list = scheduleRealInfoRepository.queryListWaybill(jName, clZbh, lpName, date,line); | 1288 | + String lpName, String date, String line) { |
| 1289 | + List<ScheduleRealInfo> list = scheduleRealInfoRepository.queryListWaybill(jName, clZbh, lpName, date, line); | ||
| 1255 | DecimalFormat format = new DecimalFormat("0.00"); | 1290 | DecimalFormat format = new DecimalFormat("0.00"); |
| 1256 | // int cjbc = scheduleRealInfoRepository.findCjbc(jName, clZbh, lpName); | 1291 | // int cjbc = scheduleRealInfoRepository.findCjbc(jName, clZbh, lpName); |
| 1257 | // int ljbc = scheduleRealInfoRepository.findLjbc(jName, clZbh, lpName); | 1292 | // int ljbc = scheduleRealInfoRepository.findLjbc(jName, clZbh, lpName); |
| @@ -1286,10 +1321,10 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1286,10 +1321,10 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1286 | if (childTaskPlans.isEmpty()) { | 1321 | if (childTaskPlans.isEmpty()) { |
| 1287 | if (scheduleRealInfo.getBcType().equals("in") || | 1322 | if (scheduleRealInfo.getBcType().equals("in") || |
| 1288 | scheduleRealInfo.getBcType().equals("out")) { | 1323 | scheduleRealInfo.getBcType().equals("out")) { |
| 1289 | - if(scheduleRealInfo.getStatus() != -1){ | ||
| 1290 | - jcclc += tempJhlc; | ||
| 1291 | - } | ||
| 1292 | - | 1324 | + if (scheduleRealInfo.getStatus() != -1) { |
| 1325 | + jcclc += tempJhlc; | ||
| 1326 | + } | ||
| 1327 | + | ||
| 1293 | } | 1328 | } |
| 1294 | //主任务 放空班次属于营运 | 1329 | //主任务 放空班次属于营运 |
| 1295 | // else if(scheduleRealInfo.getBcType().equals("venting")){ | 1330 | // else if(scheduleRealInfo.getBcType().equals("venting")){ |
| @@ -1451,60 +1486,60 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1451,60 +1486,60 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1451 | 1486 | ||
| 1452 | @Override | 1487 | @Override |
| 1453 | public List<ScheduleRealInfo> queryListWaybill(String jName, String clZbh, | 1488 | public List<ScheduleRealInfo> queryListWaybill(String jName, String clZbh, |
| 1454 | - String lpName, String date,String line) { | ||
| 1455 | - List<ScheduleRealInfo> listSchedule=new ArrayList<ScheduleRealInfo>(); | 1489 | + String lpName, String date, String line) { |
| 1490 | + List<ScheduleRealInfo> listSchedule = new ArrayList<ScheduleRealInfo>(); | ||
| 1456 | List<ScheduleRealInfo> list = null; | 1491 | List<ScheduleRealInfo> list = null; |
| 1457 | - list = scheduleRealInfoRepository.queryListWaybill(jName, clZbh, lpName, date,line); | 1492 | + list = scheduleRealInfoRepository.queryListWaybill(jName, clZbh, lpName, date, line); |
| 1458 | for (int i = 0; i < list.size(); i++) { | 1493 | for (int i = 0; i < list.size(); i++) { |
| 1459 | ScheduleRealInfo s = list.get(i); | 1494 | ScheduleRealInfo s = list.get(i); |
| 1460 | - s.setAdjustExps(i+1+""); | 1495 | + s.setAdjustExps(i + 1 + ""); |
| 1461 | String remarks = ""; | 1496 | String remarks = ""; |
| 1462 | if (s.getRemarks() != null) { | 1497 | if (s.getRemarks() != null) { |
| 1463 | remarks += s.getRemarks(); | 1498 | remarks += s.getRemarks(); |
| 1464 | } | 1499 | } |
| 1465 | - | 1500 | + |
| 1466 | Set<ChildTaskPlan> childTaskPlans = s.getcTasks(); | 1501 | Set<ChildTaskPlan> childTaskPlans = s.getcTasks(); |
| 1467 | if (!childTaskPlans.isEmpty()) { | 1502 | if (!childTaskPlans.isEmpty()) { |
| 1468 | - s.setFcsjActual(""); | ||
| 1469 | - s.setZdsjActual(""); | 1503 | + s.setFcsjActual(""); |
| 1504 | + s.setZdsjActual(""); | ||
| 1470 | } | 1505 | } |
| 1471 | - | ||
| 1472 | - if(s.isDestroy()){ | ||
| 1473 | - s.setFcsjActual(""); | ||
| 1474 | - s.setZdsjActual(""); | ||
| 1475 | - s.setJhlc(0.0); | ||
| 1476 | - remarks +="(烂班)"; | ||
| 1477 | - s.setRemarks(remarks); | 1506 | + |
| 1507 | + if (s.isDestroy()) { | ||
| 1508 | + s.setFcsjActual(""); | ||
| 1509 | + s.setZdsjActual(""); | ||
| 1510 | + s.setJhlc(0.0); | ||
| 1511 | + remarks += "(烂班)"; | ||
| 1512 | + s.setRemarks(remarks); | ||
| 1478 | } | 1513 | } |
| 1479 | listSchedule.add(s); | 1514 | listSchedule.add(s); |
| 1480 | //计算营运里程,空驶里程 | 1515 | //计算营运里程,空驶里程 |
| 1481 | if (!childTaskPlans.isEmpty()) { | 1516 | if (!childTaskPlans.isEmpty()) { |
| 1482 | - String sqlPc="select * from bsth_c_s_child_task where schedule="+s.getId() +" order by start_date "; | ||
| 1483 | - List<ScheduleRealInfo> lists= jdbcTemplate.query(sqlPc, | ||
| 1484 | - new RowMapper<ScheduleRealInfo>(){ | ||
| 1485 | - @Override | ||
| 1486 | - public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { | ||
| 1487 | - ScheduleRealInfo t=new ScheduleRealInfo(); | ||
| 1488 | - if(rs.getInt("destroy")==0){ | ||
| 1489 | - t.setFcsjActual(rs.getString("start_date")); | ||
| 1490 | - t.setZdsjActual(rs.getString("end_date")); | ||
| 1491 | - t.setJhlc(rs.getDouble("mileage")); | ||
| 1492 | - }else{ | ||
| 1493 | - t.setFcsjActual(""); | ||
| 1494 | - t.setZdsjActual(""); | ||
| 1495 | - t.setJhlc(0.0); | ||
| 1496 | - } | ||
| 1497 | - t.setQdzName(rs.getString("start_station_name")); | ||
| 1498 | - t.setZdzName(rs.getString("end_station_name")); | ||
| 1499 | - t.setRemarks(rs.getString("remarks")); | ||
| 1500 | - t.setAdjustExps("子"); | ||
| 1501 | - return t; | ||
| 1502 | - } | ||
| 1503 | - }); | ||
| 1504 | - for (int j = 0; j < lists.size(); j++) { | ||
| 1505 | - ScheduleRealInfo t=lists.get(j); | ||
| 1506 | - listSchedule.add(t); | ||
| 1507 | - } | 1517 | + String sqlPc = "select * from bsth_c_s_child_task where schedule=" + s.getId() + " order by start_date "; |
| 1518 | + List<ScheduleRealInfo> lists = jdbcTemplate.query(sqlPc, | ||
| 1519 | + new RowMapper<ScheduleRealInfo>() { | ||
| 1520 | + @Override | ||
| 1521 | + public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { | ||
| 1522 | + ScheduleRealInfo t = new ScheduleRealInfo(); | ||
| 1523 | + if (rs.getInt("destroy") == 0) { | ||
| 1524 | + t.setFcsjActual(rs.getString("start_date")); | ||
| 1525 | + t.setZdsjActual(rs.getString("end_date")); | ||
| 1526 | + t.setJhlc(rs.getDouble("mileage")); | ||
| 1527 | + } else { | ||
| 1528 | + t.setFcsjActual(""); | ||
| 1529 | + t.setZdsjActual(""); | ||
| 1530 | + t.setJhlc(0.0); | ||
| 1531 | + } | ||
| 1532 | + t.setQdzName(rs.getString("start_station_name")); | ||
| 1533 | + t.setZdzName(rs.getString("end_station_name")); | ||
| 1534 | + t.setRemarks(rs.getString("remarks")); | ||
| 1535 | + t.setAdjustExps("子"); | ||
| 1536 | + return t; | ||
| 1537 | + } | ||
| 1538 | + }); | ||
| 1539 | + for (int j = 0; j < lists.size(); j++) { | ||
| 1540 | + ScheduleRealInfo t = lists.get(j); | ||
| 1541 | + listSchedule.add(t); | ||
| 1542 | + } | ||
| 1508 | } | 1543 | } |
| 1509 | } | 1544 | } |
| 1510 | 1545 | ||
| @@ -1532,12 +1567,12 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1532,12 +1567,12 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1532 | @Override | 1567 | @Override |
| 1533 | public List<Map<String, Object>> statisticsDaily(String line, String date, | 1568 | public List<Map<String, Object>> statisticsDaily(String line, String date, |
| 1534 | String xlName, String type) { | 1569 | String xlName, String type) { |
| 1535 | - List<ScheduleRealInfo> list = new ArrayList<ScheduleRealInfo>(); | ||
| 1536 | - if(date.length() == 10) | ||
| 1537 | - list = scheduleRealInfoRepository.scheduleByDateAndLine2(line, date); | ||
| 1538 | - else if(date.length() == 7) | ||
| 1539 | - list = scheduleRealInfoRepository.scheduleByDateAndLine3(line, date); | ||
| 1540 | - | 1570 | + List<ScheduleRealInfo> list = new ArrayList<ScheduleRealInfo>(); |
| 1571 | + if (date.length() == 10) | ||
| 1572 | + list = scheduleRealInfoRepository.scheduleByDateAndLine2(line, date); | ||
| 1573 | + else if (date.length() == 7) | ||
| 1574 | + list = scheduleRealInfoRepository.scheduleByDateAndLine3(line, date); | ||
| 1575 | + | ||
| 1541 | List<Map<String, Object>> lMap = new ArrayList<Map<String, Object>>(); | 1576 | List<Map<String, Object>> lMap = new ArrayList<Map<String, Object>>(); |
| 1542 | DecimalFormat format = new DecimalFormat("0.00"); | 1577 | DecimalFormat format = new DecimalFormat("0.00"); |
| 1543 | double jhlc = 0, tempJhlc = 0, childMileage = 0; | 1578 | double jhlc = 0, tempJhlc = 0, childMileage = 0; |
| @@ -1551,11 +1586,11 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1551,11 +1586,11 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1551 | int fzbc = 0, fzbc_m = 0, fzbc_a = 0; | 1586 | int fzbc = 0, fzbc_m = 0, fzbc_a = 0; |
| 1552 | int dtbc = 0, dtbc_m = 0, dtbc_a = 0; | 1587 | int dtbc = 0, dtbc_m = 0, dtbc_a = 0; |
| 1553 | int djg = 0, djg_m = 0, djg_a = 0, djg_time = 0; | 1588 | int djg = 0, djg_m = 0, djg_a = 0, djg_time = 0; |
| 1554 | - | 1589 | + |
| 1555 | double jhlcZ = 0, tempJhlcZ = 0, childMileageZ = 0; | 1590 | double jhlcZ = 0, tempJhlcZ = 0, childMileageZ = 0; |
| 1556 | - float sjglZ = 0f, ssglZ = 0f, ssgl_lzZ = 0f, ssgl_dmZ = 0f, | ||
| 1557 | - ssgl_gzZ = 0f, ssgl_jfZ = 0f, ssgl_zsZ = 0f, ssgl_qrZ = 0f, ssgl_qcZ = 0f, | ||
| 1558 | - ssgl_kxZ = 0f, ssgl_qhZ = 0f, ssgl_ywZ = 0f, ssgl_otherZ = 0f, ljglZ = 0f; | 1591 | + float sjglZ = 0f, ssglZ = 0f, ssgl_lzZ = 0f, ssgl_dmZ = 0f, |
| 1592 | + ssgl_gzZ = 0f, ssgl_jfZ = 0f, ssgl_zsZ = 0f, ssgl_qrZ = 0f, ssgl_qcZ = 0f, | ||
| 1593 | + ssgl_kxZ = 0f, ssgl_qhZ = 0f, ssgl_ywZ = 0f, ssgl_otherZ = 0f, ljglZ = 0f; | ||
| 1559 | //班次 | 1594 | //班次 |
| 1560 | int ssbcZ = 0, ssbc_lzZ = 0, ssbc_dmZ = 0, ssbc_gzZ = 0, ssbc_jfZ = 0, ssbc_zsZ = 0, ssbc_qrZ = 0, ssbc_qcZ = 0, ssbc_kxZ = 0, ssbc_qhZ = 0, ssbc_ywZ = 0, ssbc_otherZ = 0; | 1595 | int ssbcZ = 0, ssbc_lzZ = 0, ssbc_dmZ = 0, ssbc_gzZ = 0, ssbc_jfZ = 0, ssbc_zsZ = 0, ssbc_qrZ = 0, ssbc_qcZ = 0, ssbc_kxZ = 0, ssbc_qhZ = 0, ssbc_ywZ = 0, ssbc_otherZ = 0; |
| 1561 | int jhbcZ = 0, jhbc_mZ = 0, jhbc_aZ = 0; | 1596 | int jhbcZ = 0, jhbc_mZ = 0, jhbc_aZ = 0; |
| @@ -1564,9 +1599,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1564,9 +1599,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1564 | int fzbcZ = 0, fzbc_mZ = 0, fzbc_aZ = 0; | 1599 | int fzbcZ = 0, fzbc_mZ = 0, fzbc_aZ = 0; |
| 1565 | int dtbcZ = 0, dtbc_mZ = 0, dtbc_aZ = 0; | 1600 | int dtbcZ = 0, dtbc_mZ = 0, dtbc_aZ = 0; |
| 1566 | int djgZ = 0, djg_mZ = 0, djg_aZ = 0, djg_timeZ = 0; | 1601 | int djgZ = 0, djg_mZ = 0, djg_aZ = 0, djg_timeZ = 0; |
| 1567 | - Map<String, Object> map =null; | ||
| 1568 | - for (int i=0; i<list.size();i++) { | ||
| 1569 | - ScheduleRealInfo scheduleRealInfo=list.get(i); | 1602 | + Map<String, Object> map = null; |
| 1603 | + for (int i = 0; i < list.size(); i++) { | ||
| 1604 | + ScheduleRealInfo scheduleRealInfo = list.get(i); | ||
| 1570 | if (scheduleRealInfo != null) { | 1605 | if (scheduleRealInfo != null) { |
| 1571 | Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | 1606 | Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); |
| 1572 | //计算实际里程,少驶里程,计划里程=实际里程+少驶里程 | 1607 | //计算实际里程,少驶里程,计划里程=实际里程+少驶里程 |
| @@ -1580,7 +1615,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1580,7 +1615,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1580 | jhlc += tempJhlc; | 1615 | jhlc += tempJhlc; |
| 1581 | jhlcZ += tempJhlc; | 1616 | jhlcZ += tempJhlc; |
| 1582 | } | 1617 | } |
| 1583 | - if (scheduleRealInfo.getStatus() == -1) { | 1618 | + if (scheduleRealInfo.getStatus() == -1) { |
| 1584 | ssgl += tempJhlc; | 1619 | ssgl += tempJhlc; |
| 1585 | ssglZ += tempJhlc; | 1620 | ssglZ += tempJhlc; |
| 1586 | ssbc++; | 1621 | ssbc++; |
| @@ -1641,7 +1676,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1641,7 +1676,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1641 | ssbc_other++; | 1676 | ssbc_other++; |
| 1642 | ssbc_otherZ++; | 1677 | ssbc_otherZ++; |
| 1643 | } | 1678 | } |
| 1644 | - }else { | 1679 | + } else { |
| 1645 | sjgl += tempJhlc; | 1680 | sjgl += tempJhlc; |
| 1646 | sjglZ += tempJhlc; | 1681 | sjglZ += tempJhlc; |
| 1647 | } | 1682 | } |
| @@ -1765,12 +1800,11 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1765,12 +1800,11 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1765 | fzbc_aZ++; | 1800 | fzbc_aZ++; |
| 1766 | } | 1801 | } |
| 1767 | } | 1802 | } |
| 1768 | - | ||
| 1769 | - if(i<list.size()-1){ | ||
| 1770 | - if(!scheduleRealInfo.getXlBm().equals(list.get(i+1).getXlBm())) | ||
| 1771 | - { | ||
| 1772 | - map= new HashMap<String, Object>(); | ||
| 1773 | - map.put("xlName", scheduleRealInfo.getXlName()); | 1803 | + |
| 1804 | + if (i < list.size() - 1) { | ||
| 1805 | + if (!scheduleRealInfo.getXlBm().equals(list.get(i + 1).getXlBm())) { | ||
| 1806 | + map = new HashMap<String, Object>(); | ||
| 1807 | + map.put("xlName", scheduleRealInfo.getXlName()); | ||
| 1774 | map.put("jhlc", format.format(jhlc)); | 1808 | map.put("jhlc", format.format(jhlc)); |
| 1775 | map.put("sjgl", format.format(sjgl)); | 1809 | map.put("sjgl", format.format(sjgl)); |
| 1776 | map.put("ssgl", format.format(ssgl)); | 1810 | map.put("ssgl", format.format(ssgl)); |
| @@ -1818,21 +1852,47 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1818,21 +1852,47 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1818 | map.put("djg_a", djg_a); | 1852 | map.put("djg_a", djg_a); |
| 1819 | map.put("djg_time", djg_time); | 1853 | map.put("djg_time", djg_time); |
| 1820 | lMap.add(map); | 1854 | lMap.add(map); |
| 1821 | - jhlc = 0; tempJhlc = 0; childMileage = 0; | ||
| 1822 | - sjgl = 0f; ssgl = 0f; ssgl_lz = 0f; ssgl_dm = 0f; ssgl_gz = 0f; ssgl_jf = 0f; ssgl_zs = 0f; | ||
| 1823 | - ssgl_qr = 0f; ssgl_qc = 0f; ssgl_kx = 0f; ssgl_qh = 0f; ssgl_yw = 0f;ssgl_other = 0f; | ||
| 1824 | - ljgl = 0f; | 1855 | + jhlc = 0; |
| 1856 | + tempJhlc = 0; | ||
| 1857 | + childMileage = 0; | ||
| 1858 | + sjgl = 0f; | ||
| 1859 | + ssgl = 0f; | ||
| 1860 | + ssgl_lz = 0f; | ||
| 1861 | + ssgl_dm = 0f; | ||
| 1862 | + ssgl_gz = 0f; | ||
| 1863 | + ssgl_jf = 0f; | ||
| 1864 | + ssgl_zs = 0f; | ||
| 1865 | + ssgl_qr = 0f; | ||
| 1866 | + ssgl_qc = 0f; | ||
| 1867 | + ssgl_kx = 0f; | ||
| 1868 | + ssgl_qh = 0f; | ||
| 1869 | + ssgl_yw = 0f; | ||
| 1870 | + ssgl_other = 0f; | ||
| 1871 | + ljgl = 0f; | ||
| 1825 | //班次 | 1872 | //班次 |
| 1826 | - jhbc = 0; jhbc_m = 0; jhbc_a = 0; | ||
| 1827 | - sjbc = 0; sjbc_m = 0; sjbc_a = 0; | ||
| 1828 | - ljbc = 0; ljbc_m = 0; ljbc_a = 0; | ||
| 1829 | - fzbc = 0; fzbc_m = 0; fzbc_a = 0; | ||
| 1830 | - dtbc = 0; dtbc_m = 0; dtbc_a = 0; | ||
| 1831 | - djg = 0; djg_m = 0; djg_a = 0; djg_time = 0; | ||
| 1832 | - } | ||
| 1833 | - }else{ | ||
| 1834 | - map= new HashMap<String, Object>(); | ||
| 1835 | - map.put("xlName", scheduleRealInfo.getXlName()); | 1873 | + jhbc = 0; |
| 1874 | + jhbc_m = 0; | ||
| 1875 | + jhbc_a = 0; | ||
| 1876 | + sjbc = 0; | ||
| 1877 | + sjbc_m = 0; | ||
| 1878 | + sjbc_a = 0; | ||
| 1879 | + ljbc = 0; | ||
| 1880 | + ljbc_m = 0; | ||
| 1881 | + ljbc_a = 0; | ||
| 1882 | + fzbc = 0; | ||
| 1883 | + fzbc_m = 0; | ||
| 1884 | + fzbc_a = 0; | ||
| 1885 | + dtbc = 0; | ||
| 1886 | + dtbc_m = 0; | ||
| 1887 | + dtbc_a = 0; | ||
| 1888 | + djg = 0; | ||
| 1889 | + djg_m = 0; | ||
| 1890 | + djg_a = 0; | ||
| 1891 | + djg_time = 0; | ||
| 1892 | + } | ||
| 1893 | + } else { | ||
| 1894 | + map = new HashMap<String, Object>(); | ||
| 1895 | + map.put("xlName", scheduleRealInfo.getXlName()); | ||
| 1836 | map.put("jhlc", format.format(jhlc)); | 1896 | map.put("jhlc", format.format(jhlc)); |
| 1837 | map.put("sjgl", format.format(sjgl)); | 1897 | map.put("sjgl", format.format(sjgl)); |
| 1838 | map.put("ssgl", format.format(ssgl)); | 1898 | map.put("ssgl", format.format(ssgl)); |
| @@ -1880,22 +1940,48 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1880,22 +1940,48 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1880 | map.put("djg_a", djg_a); | 1940 | map.put("djg_a", djg_a); |
| 1881 | map.put("djg_time", djg_time); | 1941 | map.put("djg_time", djg_time); |
| 1882 | lMap.add(map); | 1942 | lMap.add(map); |
| 1883 | - jhlc = 0; tempJhlc = 0; childMileage = 0; | ||
| 1884 | - sjgl = 0f; ssgl = 0f; ssgl_lz = 0f; ssgl_dm = 0f; ssgl_gz = 0f; ssgl_jf = 0f; ssgl_zs = 0f; | ||
| 1885 | - ssgl_qr = 0f; ssgl_qc = 0f; ssgl_kx = 0f; ssgl_qh = 0f; ssgl_yw = 0f;ssgl_other = 0f; | 1943 | + jhlc = 0; |
| 1944 | + tempJhlc = 0; | ||
| 1945 | + childMileage = 0; | ||
| 1946 | + sjgl = 0f; | ||
| 1947 | + ssgl = 0f; | ||
| 1948 | + ssgl_lz = 0f; | ||
| 1949 | + ssgl_dm = 0f; | ||
| 1950 | + ssgl_gz = 0f; | ||
| 1951 | + ssgl_jf = 0f; | ||
| 1952 | + ssgl_zs = 0f; | ||
| 1953 | + ssgl_qr = 0f; | ||
| 1954 | + ssgl_qc = 0f; | ||
| 1955 | + ssgl_kx = 0f; | ||
| 1956 | + ssgl_qh = 0f; | ||
| 1957 | + ssgl_yw = 0f; | ||
| 1958 | + ssgl_other = 0f; | ||
| 1886 | ljgl = 0f; | 1959 | ljgl = 0f; |
| 1887 | - //班次 | ||
| 1888 | - jhbc = 0; jhbc_m = 0; jhbc_a = 0; | ||
| 1889 | - sjbc = 0; sjbc_m = 0; sjbc_a = 0; | ||
| 1890 | - ljbc = 0; ljbc_m = 0; ljbc_a = 0; | ||
| 1891 | - fzbc = 0; fzbc_m = 0; fzbc_a = 0; | ||
| 1892 | - dtbc = 0; dtbc_m = 0; dtbc_a = 0; | ||
| 1893 | - djg = 0; djg_m = 0; djg_a = 0; djg_time = 0; | 1960 | + //班次 |
| 1961 | + jhbc = 0; | ||
| 1962 | + jhbc_m = 0; | ||
| 1963 | + jhbc_a = 0; | ||
| 1964 | + sjbc = 0; | ||
| 1965 | + sjbc_m = 0; | ||
| 1966 | + sjbc_a = 0; | ||
| 1967 | + ljbc = 0; | ||
| 1968 | + ljbc_m = 0; | ||
| 1969 | + ljbc_a = 0; | ||
| 1970 | + fzbc = 0; | ||
| 1971 | + fzbc_m = 0; | ||
| 1972 | + fzbc_a = 0; | ||
| 1973 | + dtbc = 0; | ||
| 1974 | + dtbc_m = 0; | ||
| 1975 | + dtbc_a = 0; | ||
| 1976 | + djg = 0; | ||
| 1977 | + djg_m = 0; | ||
| 1978 | + djg_a = 0; | ||
| 1979 | + djg_time = 0; | ||
| 1894 | } | 1980 | } |
| 1895 | } | 1981 | } |
| 1896 | } | 1982 | } |
| 1897 | - map= new HashMap<String, Object>(); | ||
| 1898 | - map.put("xlName", "合计"); | 1983 | + map = new HashMap<String, Object>(); |
| 1984 | + map.put("xlName", "合计"); | ||
| 1899 | map.put("jhlc", format.format(jhlcZ)); | 1985 | map.put("jhlc", format.format(jhlcZ)); |
| 1900 | map.put("sjgl", format.format(sjglZ)); | 1986 | map.put("sjgl", format.format(sjglZ)); |
| 1901 | map.put("ssgl", format.format(ssglZ)); | 1987 | map.put("ssgl", format.format(ssglZ)); |
| @@ -1981,24 +2067,24 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1981,24 +2067,24 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1981 | m.get("djg_a", djg_a); | 2067 | m.get("djg_a", djg_a); |
| 1982 | m.get("djg_time", djg_time); | 2068 | m.get("djg_time", djg_time); |
| 1983 | }*/ | 2069 | }*/ |
| 1984 | - | ||
| 1985 | - if(type != null && type.length() != 0 && type.equals("export")){ | ||
| 1986 | - SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), | ||
| 1987 | - sdfSimple = new SimpleDateFormat("yyyyMMdd"); | ||
| 1988 | - List<Iterator<?>> listI = new ArrayList<Iterator<?>>(); | ||
| 1989 | - Map<String,Object> m = new HashMap<String, Object>(); | ||
| 1990 | - ReportUtils ee = new ReportUtils(); | ||
| 1991 | - try { | ||
| 1992 | - listI.add(lMap.iterator()); | ||
| 1993 | - String path = this.getClass().getResource("/").getPath()+"static/pages/forms/"; | ||
| 1994 | - ee.excelReplace(listI, new Object[] { m }, path+"mould/statisticsDaily_.xls", | ||
| 1995 | - path+"export/统计日报" + sdfSimple.format(sdfMonth.parse(date))+".xls"); | ||
| 1996 | - } catch (Exception e) { | ||
| 1997 | - // TODO: handle exception | ||
| 1998 | - e.printStackTrace(); | ||
| 1999 | - } | 2070 | + |
| 2071 | + if (type != null && type.length() != 0 && type.equals("export")) { | ||
| 2072 | + SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), | ||
| 2073 | + sdfSimple = new SimpleDateFormat("yyyyMMdd"); | ||
| 2074 | + List<Iterator<?>> listI = new ArrayList<Iterator<?>>(); | ||
| 2075 | + Map<String, Object> m = new HashMap<String, Object>(); | ||
| 2076 | + ReportUtils ee = new ReportUtils(); | ||
| 2077 | + try { | ||
| 2078 | + listI.add(lMap.iterator()); | ||
| 2079 | + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/"; | ||
| 2080 | + ee.excelReplace(listI, new Object[]{m}, path + "mould/statisticsDaily_.xls", | ||
| 2081 | + path + "export/统计日报" + sdfSimple.format(sdfMonth.parse(date)) + ".xls"); | ||
| 2082 | + } catch (Exception e) { | ||
| 2083 | + // TODO: handle exception | ||
| 2084 | + e.printStackTrace(); | ||
| 2085 | + } | ||
| 2000 | } | 2086 | } |
| 2001 | - | 2087 | + |
| 2002 | return lMap; | 2088 | return lMap; |
| 2003 | } | 2089 | } |
| 2004 | 2090 | ||
| @@ -2110,84 +2196,88 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2110,84 +2196,88 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2110 | } | 2196 | } |
| 2111 | } | 2197 | } |
| 2112 | }*/ | 2198 | }*/ |
| 2113 | - List<ScheduleRealInfo> list=new ArrayList<ScheduleRealInfo>(); | ||
| 2114 | - String lpName="lpName"; | ||
| 2115 | - String zdsj=""; | ||
| 2116 | - String zdsjActual=""; | ||
| 2117 | - String zdsj1=""; | ||
| 2118 | - String zdsjActual1=""; | ||
| 2119 | - List<ScheduleRealInfo> listInfo=scheduleRealInfoRepository.scheduleByDateAndLineQp(line, date); | ||
| 2120 | - for (int i = 0; i < listInfo.size(); i++) { | ||
| 2121 | - ScheduleRealInfo t=listInfo.get(i); | ||
| 2122 | - if(!lpName.equals(t.getLpName())){ | ||
| 2123 | - zdsjActual=t.getZdsjActual(); | ||
| 2124 | - zdsj=t.getZdsj(); | ||
| 2125 | - t.setZdsjActual(""); | ||
| 2126 | - t.setZdsj(""); | ||
| 2127 | - }else{ | ||
| 2128 | - zdsj1=t.getZdsj(); | ||
| 2129 | - zdsjActual1=t.getZdsjActual(); | ||
| 2130 | - t.setZdsjActual(zdsjActual); | ||
| 2131 | - t.setZdsj(zdsj); | ||
| 2132 | - zdsj=zdsj1; | ||
| 2133 | - zdsjActual=zdsjActual1; | ||
| 2134 | - } | ||
| 2135 | - lpName=t.getLpName(); | ||
| 2136 | - list.add(t); | ||
| 2137 | - } | ||
| 2138 | - | ||
| 2139 | - List<ScheduleRealInfo> listInfo2=scheduleRealInfoRepository.scheduleByDateAndLine(line, date); | ||
| 2140 | - List<ScheduleRealInfo> xList=new ArrayList<ScheduleRealInfo>(); | ||
| 2141 | - List<ScheduleRealInfo> yList=new ArrayList<ScheduleRealInfo>(); | ||
| 2142 | - List<ScheduleRealInfo> zList=new ArrayList<ScheduleRealInfo>(); | ||
| 2143 | - List<ScheduleRealInfo> newList=new ArrayList<ScheduleRealInfo>(); | ||
| 2144 | - if(listInfo2.size()>0){ | ||
| 2145 | - int a=listInfo2.size()%3; | ||
| 2146 | - int b=listInfo2.size()/3; | ||
| 2147 | - int x = 0,y=0; | ||
| 2148 | - if(a==2){ | ||
| 2149 | - x=b+1;y=x*2;; | ||
| 2150 | - }else if(b==1){ | ||
| 2151 | - x=b+1;y=x*2-1;; | ||
| 2152 | - }else{ | ||
| 2153 | - x=b; | ||
| 2154 | - y=2*x; | ||
| 2155 | - | ||
| 2156 | - } | ||
| 2157 | - for (int i = 0; i < listInfo2.size(); i++) { | ||
| 2158 | - ScheduleRealInfo s=listInfo2.get(i); | ||
| 2159 | - if(i+1<=x){ | ||
| 2160 | - xList.add(s); | ||
| 2161 | - }else if((i+1)>x&&(i+1)<=y){ | ||
| 2162 | - yList.add(s); | ||
| 2163 | - }else{ | ||
| 2164 | - zList.add(s); | ||
| 2165 | - } | ||
| 2166 | - } | ||
| 2167 | - for (int i = 0; i < x; i++) { | ||
| 2168 | - newList.add(xList.get(i)); | ||
| 2169 | - if(yList.size()>i){ | ||
| 2170 | - newList.add(yList.get(i)); | ||
| 2171 | - }else{ | ||
| 2172 | - newList.add(new ScheduleRealInfo()); | ||
| 2173 | - } | ||
| 2174 | - if(zList.size()>i){ | ||
| 2175 | - newList.add(zList.get(i)); | ||
| 2176 | - }else{ | ||
| 2177 | - newList.add(new ScheduleRealInfo()); | ||
| 2178 | - } | ||
| 2179 | - | ||
| 2180 | - } | ||
| 2181 | - } | ||
| 2182 | - for (int i = 0; i < newList.size(); i++) { | ||
| 2183 | - ScheduleRealInfo t1=newList.get(i); | ||
| 2184 | - for (int j = 0; j < list.size(); j++) { | ||
| 2185 | - ScheduleRealInfo t2=list.get(j); | ||
| 2186 | - if(t1.getId()==t2.getId()){ | ||
| 2187 | - t1=t2; | ||
| 2188 | - } | ||
| 2189 | - } | ||
| 2190 | - } | 2199 | + List<ScheduleRealInfo> list = new ArrayList<ScheduleRealInfo>(); |
| 2200 | + String lpName = "lpName"; | ||
| 2201 | + String zdsj = ""; | ||
| 2202 | + String zdsjActual = ""; | ||
| 2203 | + String zdsj1 = ""; | ||
| 2204 | + String zdsjActual1 = ""; | ||
| 2205 | + List<ScheduleRealInfo> listInfo = scheduleRealInfoRepository.scheduleByDateAndLineQp(line, date); | ||
| 2206 | + for (int i = 0; i < listInfo.size(); i++) { | ||
| 2207 | + ScheduleRealInfo t = listInfo.get(i); | ||
| 2208 | + if (!lpName.equals(t.getLpName())) { | ||
| 2209 | + zdsjActual = t.getZdsjActual(); | ||
| 2210 | + zdsj = t.getZdsj(); | ||
| 2211 | + t.setZdsjActual(""); | ||
| 2212 | + t.setZdsj(""); | ||
| 2213 | + } else { | ||
| 2214 | + zdsj1 = t.getZdsj(); | ||
| 2215 | + zdsjActual1 = t.getZdsjActual(); | ||
| 2216 | + t.setZdsjActual(zdsjActual); | ||
| 2217 | + t.setZdsj(zdsj); | ||
| 2218 | + zdsj = zdsj1; | ||
| 2219 | + zdsjActual = zdsjActual1; | ||
| 2220 | + } | ||
| 2221 | + lpName = t.getLpName(); | ||
| 2222 | + list.add(t); | ||
| 2223 | + } | ||
| 2224 | + | ||
| 2225 | + List<ScheduleRealInfo> listInfo2 = scheduleRealInfoRepository.scheduleByDateAndLine(line, date); | ||
| 2226 | + List<ScheduleRealInfo> xList = new ArrayList<ScheduleRealInfo>(); | ||
| 2227 | + List<ScheduleRealInfo> yList = new ArrayList<ScheduleRealInfo>(); | ||
| 2228 | + List<ScheduleRealInfo> zList = new ArrayList<ScheduleRealInfo>(); | ||
| 2229 | + List<ScheduleRealInfo> newList = new ArrayList<ScheduleRealInfo>(); | ||
| 2230 | + if (listInfo2.size() > 0) { | ||
| 2231 | + int a = listInfo2.size() % 3; | ||
| 2232 | + int b = listInfo2.size() / 3; | ||
| 2233 | + int x = 0, y = 0; | ||
| 2234 | + if (a == 2) { | ||
| 2235 | + x = b + 1; | ||
| 2236 | + y = x * 2; | ||
| 2237 | + ; | ||
| 2238 | + } else if (b == 1) { | ||
| 2239 | + x = b + 1; | ||
| 2240 | + y = x * 2 - 1; | ||
| 2241 | + ; | ||
| 2242 | + } else { | ||
| 2243 | + x = b; | ||
| 2244 | + y = 2 * x; | ||
| 2245 | + | ||
| 2246 | + } | ||
| 2247 | + for (int i = 0; i < listInfo2.size(); i++) { | ||
| 2248 | + ScheduleRealInfo s = listInfo2.get(i); | ||
| 2249 | + if (i + 1 <= x) { | ||
| 2250 | + xList.add(s); | ||
| 2251 | + } else if ((i + 1) > x && (i + 1) <= y) { | ||
| 2252 | + yList.add(s); | ||
| 2253 | + } else { | ||
| 2254 | + zList.add(s); | ||
| 2255 | + } | ||
| 2256 | + } | ||
| 2257 | + for (int i = 0; i < x; i++) { | ||
| 2258 | + newList.add(xList.get(i)); | ||
| 2259 | + if (yList.size() > i) { | ||
| 2260 | + newList.add(yList.get(i)); | ||
| 2261 | + } else { | ||
| 2262 | + newList.add(new ScheduleRealInfo()); | ||
| 2263 | + } | ||
| 2264 | + if (zList.size() > i) { | ||
| 2265 | + newList.add(zList.get(i)); | ||
| 2266 | + } else { | ||
| 2267 | + newList.add(new ScheduleRealInfo()); | ||
| 2268 | + } | ||
| 2269 | + | ||
| 2270 | + } | ||
| 2271 | + } | ||
| 2272 | + for (int i = 0; i < newList.size(); i++) { | ||
| 2273 | + ScheduleRealInfo t1 = newList.get(i); | ||
| 2274 | + for (int j = 0; j < list.size(); j++) { | ||
| 2275 | + ScheduleRealInfo t2 = list.get(j); | ||
| 2276 | + if (t1.getId() == t2.getId()) { | ||
| 2277 | + t1 = t2; | ||
| 2278 | + } | ||
| 2279 | + } | ||
| 2280 | + } | ||
| 2191 | return newList; | 2281 | return newList; |
| 2192 | } | 2282 | } |
| 2193 | 2283 | ||
| @@ -2202,28 +2292,28 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2202,28 +2292,28 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2202 | } | 2292 | } |
| 2203 | } | 2293 | } |
| 2204 | }*/ | 2294 | }*/ |
| 2205 | - List<ScheduleRealInfo> list=new ArrayList<ScheduleRealInfo>(); | ||
| 2206 | - String lpName="lpName"; | ||
| 2207 | - String zdsj=""; | ||
| 2208 | - String zdsjActual=""; | ||
| 2209 | - String zdsj1=""; | ||
| 2210 | - String zdsjActual1=""; | ||
| 2211 | - List<ScheduleRealInfo> listInfo=scheduleRealInfoRepository.scheduleByDateAndLineQp(line, date); | ||
| 2212 | - for (int i = 0; i < listInfo.size(); i++) { | ||
| 2213 | - ScheduleRealInfo t=listInfo.get(i); | ||
| 2214 | - if(!lpName.equals(t.getLpName())){ | ||
| 2215 | - zdsjActual=t.getZdsjActual(); | ||
| 2216 | - zdsj=t.getZdsj(); | ||
| 2217 | - t.setZdsjActual(""); | ||
| 2218 | - t.setZdsj(""); | ||
| 2219 | - }else{ | ||
| 2220 | - zdsj1=t.getZdsj(); | ||
| 2221 | - zdsjActual1=t.getZdsjActual(); | ||
| 2222 | - t.setZdsjActual(zdsjActual); | ||
| 2223 | - t.setZdsj(zdsj); | ||
| 2224 | - zdsj=zdsj1; | ||
| 2225 | - zdsjActual=zdsjActual1; | ||
| 2226 | - } | 2295 | + List<ScheduleRealInfo> list = new ArrayList<ScheduleRealInfo>(); |
| 2296 | + String lpName = "lpName"; | ||
| 2297 | + String zdsj = ""; | ||
| 2298 | + String zdsjActual = ""; | ||
| 2299 | + String zdsj1 = ""; | ||
| 2300 | + String zdsjActual1 = ""; | ||
| 2301 | + List<ScheduleRealInfo> listInfo = scheduleRealInfoRepository.scheduleByDateAndLineQp(line, date); | ||
| 2302 | + for (int i = 0; i < listInfo.size(); i++) { | ||
| 2303 | + ScheduleRealInfo t = listInfo.get(i); | ||
| 2304 | + if (!lpName.equals(t.getLpName())) { | ||
| 2305 | + zdsjActual = t.getZdsjActual(); | ||
| 2306 | + zdsj = t.getZdsj(); | ||
| 2307 | + t.setZdsjActual(""); | ||
| 2308 | + t.setZdsj(""); | ||
| 2309 | + } else { | ||
| 2310 | + zdsj1 = t.getZdsj(); | ||
| 2311 | + zdsjActual1 = t.getZdsjActual(); | ||
| 2312 | + t.setZdsjActual(zdsjActual); | ||
| 2313 | + t.setZdsj(zdsj); | ||
| 2314 | + zdsj = zdsj1; | ||
| 2315 | + zdsjActual = zdsjActual1; | ||
| 2316 | + } | ||
| 2227 | /*if(i<listInfo.size()-1){ | 2317 | /*if(i<listInfo.size()-1){ |
| 2228 | if(s.getLpName().equals(listInfo.get(i+1).getLpName())){ | 2318 | if(s.getLpName().equals(listInfo.get(i+1).getLpName())){ |
| 2229 | zdsj=s.getZdsj(); | 2319 | zdsj=s.getZdsj(); |
| @@ -2236,10 +2326,10 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2236,10 +2326,10 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2236 | zdsj=s.getZdsj(); | 2326 | zdsj=s.getZdsj(); |
| 2237 | zdsjActual=s.getZdsjActual(); | 2327 | zdsjActual=s.getZdsjActual(); |
| 2238 | }*/ | 2328 | }*/ |
| 2239 | - | ||
| 2240 | - lpName=t.getLpName(); | ||
| 2241 | - list.add(t); | ||
| 2242 | - } | 2329 | + |
| 2330 | + lpName = t.getLpName(); | ||
| 2331 | + list.add(t); | ||
| 2332 | + } | ||
| 2243 | return list; | 2333 | return list; |
| 2244 | } | 2334 | } |
| 2245 | 2335 | ||
| @@ -2426,7 +2516,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2426,7 +2516,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2426 | String jName = BasicData.allPerson.get(jGh); | 2516 | String jName = BasicData.allPerson.get(jGh); |
| 2427 | if (StringUtils.isNotEmpty(jName)) { | 2517 | if (StringUtils.isNotEmpty(jName)) { |
| 2428 | 2518 | ||
| 2429 | - if(jGh.indexOf("-") != -1) | 2519 | + if (jGh.indexOf("-") != -1) |
| 2430 | sch.setjGh(jGh.substring(jGh.indexOf("-") + 1)); | 2520 | sch.setjGh(jGh.substring(jGh.indexOf("-") + 1)); |
| 2431 | else | 2521 | else |
| 2432 | sch.setjGh(jGh); | 2522 | sch.setjGh(jGh); |
| @@ -2444,7 +2534,10 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2444,7 +2534,10 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2444 | return; | 2534 | return; |
| 2445 | String sName = BasicData.allPerson.get(sGh); | 2535 | String sName = BasicData.allPerson.get(sGh); |
| 2446 | if (StringUtils.isNotEmpty(sName)) { | 2536 | if (StringUtils.isNotEmpty(sName)) { |
| 2447 | - sch.setsGh(sGh); | 2537 | + if (sGh.indexOf("-") != -1) |
| 2538 | + sch.setsGh(sGh.substring(sGh.indexOf("-") + 1)); | ||
| 2539 | + else | ||
| 2540 | + sch.setsGh(sGh); | ||
| 2448 | sch.setsName(sName); | 2541 | sch.setsName(sName); |
| 2449 | } | 2542 | } |
| 2450 | } | 2543 | } |
| @@ -2686,600 +2779,600 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2686,600 +2779,600 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2686 | return null; | 2779 | return null; |
| 2687 | } | 2780 | } |
| 2688 | 2781 | ||
| 2689 | - @Override | ||
| 2690 | - public List<ScheduleRealInfo> exportWaybillQp(String clZbh, String date, String line) { | ||
| 2691 | - // TODO Auto-generated method stub | ||
| 2692 | - ReportUtils ee = new ReportUtils(); | ||
| 2693 | - ReportRelatedUtils rru = new ReportRelatedUtils(); | ||
| 2694 | - List<Iterator<?>> list = new ArrayList<Iterator<?>>(); | ||
| 2695 | - List<ScheduleRealInfo> scheduleRealInfos = scheduleRealInfoRepository.queryListWaybill2( clZbh,date,line); | ||
| 2696 | - List<Map<String,Object>> listMap = new ArrayList<Map<String,Object>>(); | ||
| 2697 | - | ||
| 2698 | - DecimalFormat format = new DecimalFormat("0.00"); | 2782 | + @Override |
| 2783 | + public List<ScheduleRealInfo> exportWaybillQp(String clZbh, String date, String line) { | ||
| 2784 | + // TODO Auto-generated method stub | ||
| 2785 | + ReportUtils ee = new ReportUtils(); | ||
| 2786 | + ReportRelatedUtils rru = new ReportRelatedUtils(); | ||
| 2787 | + List<Iterator<?>> list = new ArrayList<Iterator<?>>(); | ||
| 2788 | + List<ScheduleRealInfo> scheduleRealInfos = scheduleRealInfoRepository.queryListWaybill2(clZbh, date, line); | ||
| 2789 | + List<Map<String, Object>> listMap = new ArrayList<Map<String, Object>>(); | ||
| 2790 | + | ||
| 2791 | + DecimalFormat format = new DecimalFormat("0.00"); | ||
| 2699 | // int cjbc = scheduleRealInfoRepository.findCjbc(jName, clZbh, lpName); | 2792 | // int cjbc = scheduleRealInfoRepository.findCjbc(jName, clZbh, lpName); |
| 2700 | // int ljbc = scheduleRealInfoRepository.findLjbc(jName, clZbh, lpName); | 2793 | // int ljbc = scheduleRealInfoRepository.findLjbc(jName, clZbh, lpName); |
| 2701 | - int jhbc = 0,cjbc = 0,ljbc = 0; | ||
| 2702 | - double jhlc = 0, yygl = 0, ksgl = 0,tempJhlc = 0,jcclc=0; | ||
| 2703 | - float addMileage = 0l,remMileage = 0l, addgl = 0, remgl = 0; | ||
| 2704 | - int xyz=1; | ||
| 2705 | - Map<String,Object> map; | ||
| 2706 | - for(ScheduleRealInfo scheduleRealInfo : scheduleRealInfos){ | ||
| 2707 | - if(scheduleRealInfo != null){ | ||
| 2708 | - //计算计划里程(主任务过滤掉临加班次),烂班里程,临加里程,计划班次,烂班班次,增加班次 | ||
| 2709 | - //计划里程(主任务过滤掉临加班次), | ||
| 2710 | - //烂班里程(主任务烂班), | ||
| 2711 | - //临加里程(主任务临加), | ||
| 2712 | - //计划班次,烂班班次,增加班次 | ||
| 2713 | - double jh = 0, sj = 0; | ||
| 2714 | - tempJhlc = scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc(); | ||
| 2715 | - if(scheduleRealInfo.isSflj()){ | ||
| 2716 | - ljbc++; | ||
| 2717 | - }else{ | ||
| 2718 | - if( !(scheduleRealInfo.getBcType().equals("in") | ||
| 2719 | - ||scheduleRealInfo.getBcType().equals("out")) ){ | ||
| 2720 | - jhbc++; | ||
| 2721 | - jh += tempJhlc; | ||
| 2722 | - } | ||
| 2723 | - if(scheduleRealInfo.getStatus() == -1){ | ||
| 2724 | - remMileage += tempJhlc; | ||
| 2725 | - cjbc++; | ||
| 2726 | - } | ||
| 2727 | - } | ||
| 2728 | - Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | ||
| 2729 | - //计算营运里程,空驶里程 | ||
| 2730 | - if(childTaskPlans.isEmpty()){ | ||
| 2731 | - if(scheduleRealInfo.getBcType().equals("in") || scheduleRealInfo.getBcType().equals("out") | ||
| 2732 | - ){ | ||
| 2733 | - jcclc +=tempJhlc; | ||
| 2734 | - } | ||
| 2735 | - //主任务 放空班次属于营运 | 2794 | + int jhbc = 0, cjbc = 0, ljbc = 0; |
| 2795 | + double jhlc = 0, yygl = 0, ksgl = 0, tempJhlc = 0, jcclc = 0; | ||
| 2796 | + float addMileage = 0l, remMileage = 0l, addgl = 0, remgl = 0; | ||
| 2797 | + int xyz = 1; | ||
| 2798 | + Map<String, Object> map; | ||
| 2799 | + for (ScheduleRealInfo scheduleRealInfo : scheduleRealInfos) { | ||
| 2800 | + if (scheduleRealInfo != null) { | ||
| 2801 | + //计算计划里程(主任务过滤掉临加班次),烂班里程,临加里程,计划班次,烂班班次,增加班次 | ||
| 2802 | + //计划里程(主任务过滤掉临加班次), | ||
| 2803 | + //烂班里程(主任务烂班), | ||
| 2804 | + //临加里程(主任务临加), | ||
| 2805 | + //计划班次,烂班班次,增加班次 | ||
| 2806 | + double jh = 0, sj = 0; | ||
| 2807 | + tempJhlc = scheduleRealInfo.getJhlc() == null ? 0 : scheduleRealInfo.getJhlc(); | ||
| 2808 | + if (scheduleRealInfo.isSflj()) { | ||
| 2809 | + ljbc++; | ||
| 2810 | + } else { | ||
| 2811 | + if (!(scheduleRealInfo.getBcType().equals("in") | ||
| 2812 | + || scheduleRealInfo.getBcType().equals("out"))) { | ||
| 2813 | + jhbc++; | ||
| 2814 | + jh += tempJhlc; | ||
| 2815 | + } | ||
| 2816 | + if (scheduleRealInfo.getStatus() == -1) { | ||
| 2817 | + remMileage += tempJhlc; | ||
| 2818 | + cjbc++; | ||
| 2819 | + } | ||
| 2820 | + } | ||
| 2821 | + Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | ||
| 2822 | + //计算营运里程,空驶里程 | ||
| 2823 | + if (childTaskPlans.isEmpty()) { | ||
| 2824 | + if (scheduleRealInfo.getBcType().equals("in") || scheduleRealInfo.getBcType().equals("out") | ||
| 2825 | + ) { | ||
| 2826 | + jcclc += tempJhlc; | ||
| 2827 | + } | ||
| 2828 | + //主任务 放空班次属于营运 | ||
| 2736 | // else if(scheduleRealInfo.getBcType().equals("venting")){ | 2829 | // else if(scheduleRealInfo.getBcType().equals("venting")){ |
| 2737 | // ksgl += tempJhlc; | 2830 | // ksgl += tempJhlc; |
| 2738 | // } | 2831 | // } |
| 2739 | - else{ | ||
| 2740 | - if(scheduleRealInfo.getStatus() != -1){ | ||
| 2741 | - if(scheduleRealInfo.isSflj()){ | ||
| 2742 | - addMileage += tempJhlc; | ||
| 2743 | - } | ||
| 2744 | - sj += tempJhlc; | ||
| 2745 | - } | ||
| 2746 | - } | ||
| 2747 | - }else{ | ||
| 2748 | - Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | ||
| 2749 | - while(it.hasNext()){ | ||
| 2750 | - ChildTaskPlan childTaskPlan = it.next(); | ||
| 2751 | - if(childTaskPlan.getMileageType().equals("empty")){ | ||
| 2752 | - if(childTaskPlan.isDestroy()){ | ||
| 2753 | - remMileage += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); | ||
| 2754 | - }else{ | ||
| 2755 | - if(scheduleRealInfo.isSflj()){ | ||
| 2756 | - addMileage += tempJhlc; | ||
| 2757 | - } | ||
| 2758 | - ksgl += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); | ||
| 2759 | - } | ||
| 2760 | - }else{ | ||
| 2761 | - if(childTaskPlan.isDestroy()){ | ||
| 2762 | - remMileage += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); | ||
| 2763 | -// cjbc++; | ||
| 2764 | - }else{ | ||
| 2765 | - if(scheduleRealInfo.isSflj()){ | ||
| 2766 | - addMileage += tempJhlc; | ||
| 2767 | - } | ||
| 2768 | - sj += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); | ||
| 2769 | - } | ||
| 2770 | - } | ||
| 2771 | - } | ||
| 2772 | - } | ||
| 2773 | - | ||
| 2774 | - if(!(scheduleRealInfo.getBcType().equals("in")||scheduleRealInfo.getBcType().equals("out"))){ | ||
| 2775 | - map = new HashMap<String, Object>(); | ||
| 2776 | - try { | ||
| 2777 | - scheduleRealInfo.setBcs(xyz); | ||
| 2778 | - xyz++; | ||
| 2779 | - Set<ChildTaskPlan> cs = scheduleRealInfo.getcTasks(); | ||
| 2780 | - Double sjlc=0.0; | ||
| 2781 | - if(!cs.isEmpty()){ | ||
| 2782 | - Iterator<ChildTaskPlan> it = cs.iterator(); | ||
| 2783 | - while(it.hasNext()){ | ||
| 2784 | - ChildTaskPlan c = it.next(); | ||
| 2785 | - if(!c.isDestroy()){ | ||
| 2786 | - sjlc += c.getMileage()==null?0:c.getMileage(); | ||
| 2787 | - } | ||
| 2788 | - | ||
| 2789 | - } | ||
| 2790 | - }else{ | ||
| 2791 | - if(scheduleRealInfo.getStatus() != -1){ | ||
| 2792 | - sjlc =scheduleRealInfo.getJhlc(); | ||
| 2793 | - } | ||
| 2794 | - } | ||
| 2795 | - scheduleRealInfo.setjName(scheduleRealInfo.getjGh()+scheduleRealInfo.getjName()); | ||
| 2796 | - scheduleRealInfo.setsName(scheduleRealInfo.getsGh()+scheduleRealInfo.getsName()); | ||
| 2797 | - scheduleRealInfo.setSjlc(format.format(sjlc)); | ||
| 2798 | - map = rru.getMapValue(scheduleRealInfo); | ||
| 2799 | - String zdsj = scheduleRealInfo.getZdsj(); | ||
| 2800 | - String zdsjActual = scheduleRealInfo.getZdsjActual(); | ||
| 2801 | - if(zdsj != null && zdsjActual != null && | ||
| 2802 | - !zdsj.equals(zdsjActual)){ | ||
| 2803 | - if(zdsj.compareTo(zdsjActual) > 0){ | ||
| 2804 | - map.put("fast", TimeUtils.getTimeDifference(zdsj, zdsjActual)); | ||
| 2805 | - map.put("slow", ""); | ||
| 2806 | - } else { | ||
| 2807 | - map.put("fast", ""); | ||
| 2808 | - map.put("slow", TimeUtils.getTimeDifference(zdsj, zdsjActual)); | ||
| 2809 | - } | ||
| 2810 | - } else { | ||
| 2811 | - map.put("fast", ""); | ||
| 2812 | - map.put("slow", ""); | ||
| 2813 | - } | ||
| 2814 | - System.out.println(map); | ||
| 2815 | - listMap.add(map); | ||
| 2816 | - } catch (Exception e) { | ||
| 2817 | - e.printStackTrace(); | ||
| 2818 | - } | ||
| 2819 | - } | ||
| 2820 | - jhlc += jh; | ||
| 2821 | - yygl += sj; | ||
| 2822 | - if(jh > sj){ | ||
| 2823 | - remgl += jh - sj; | ||
| 2824 | - } else { | ||
| 2825 | - addgl += sj - jh; | ||
| 2826 | - } | ||
| 2827 | - } | ||
| 2828 | - } | ||
| 2829 | - | ||
| 2830 | - | ||
| 2831 | - List<Ylxxb> listYlxxb=ylxxbRepository.queryListYlxxb( clZbh, date); | ||
| 2832 | - Double jzl=0.0; | ||
| 2833 | - for(int t=0;t<listYlxxb.size();t++){ | ||
| 2834 | - Ylxxb y=listYlxxb.get(t); | ||
| 2835 | - jzl += y.getJzl(); | ||
| 2836 | - } | ||
| 2837 | - | ||
| 2838 | - //计算里程和班次数,并放入Map里 | ||
| 2839 | - map = new HashMap<String, Object>(); | ||
| 2840 | - map.put("jzl", jzl); | ||
| 2841 | - map.put("jhlc", format.format(jhlc+jcclc)); | ||
| 2842 | - map.put("yygljh", format.format(jhlc)); | ||
| 2843 | - map.put("ssgl", format.format(remMileage)); | ||
| 2844 | - map.put("ksgl", format.format(ksgl)); | ||
| 2845 | - map.put("yyglsj", format.format(yygl)); | ||
| 2846 | - map.put("jhbc", jhbc); | ||
| 2847 | - map.put("jcclc", jcclc); | ||
| 2848 | - | ||
| 2849 | - map.put("ljgl", format.format(addMileage)); | ||
| 2850 | - map.put("ssbc", cjbc); | ||
| 2851 | - map.put("ysgl", format.format(yygl)); | ||
| 2852 | - map.put("sjbc", jhbc-cjbc+ljbc); | ||
| 2853 | - map.put("zgl", format.format(yygl+ksgl+jcclc)); | ||
| 2854 | - map.put("ljbc", ljbc); | ||
| 2855 | - String zdp="",zwdp="",wdp=""; | ||
| 2856 | - SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm"); | ||
| 2857 | - List<DutyEmployee> listDtuy= dutyEmployeeService.getDutyEmployee(line, date+"00:00", date+"23:59"); | ||
| 2858 | - try { | ||
| 2859 | - Long fcsj1=sdf.parse(date+" 03:00").getTime(); | ||
| 2860 | - Long fcsj2=sdf.parse(date+" 11:00").getTime(); | ||
| 2861 | - Long fcsj3=sdf.parse(date+" 22:00").getTime(); | ||
| 2862 | - for(int i=0;i<listDtuy.size();i++){ | ||
| 2863 | - DutyEmployee t=listDtuy.get(i); | ||
| 2864 | - Long ts=t.getTs(); | ||
| 2865 | - if(ts>fcsj1&&ts<fcsj2){ | ||
| 2866 | - if(zdp.indexOf(t.getuName())==-1){ | ||
| 2867 | - zdp +=t.getuName()+","; | ||
| 2868 | - | ||
| 2869 | - } | ||
| 2870 | - }else if(ts>fcsj2 && ts<fcsj3){ | ||
| 2871 | - if(zwdp.indexOf(t.getuName())==-1){ | ||
| 2872 | - zwdp +=t.getuName()+","; | ||
| 2873 | - } | ||
| 2874 | - }else{ | ||
| 2875 | - if(wdp.indexOf(t.getuName())==-1){ | ||
| 2876 | - wdp +=t.getuName()+","; | ||
| 2877 | - } | ||
| 2878 | - } | ||
| 2879 | - } | ||
| 2880 | - }catch (ParseException e) { | ||
| 2881 | - // TODO Auto-generated catch block | ||
| 2882 | - e.printStackTrace(); | ||
| 2883 | - } | ||
| 2884 | - map.put("zdp", zdp); | ||
| 2885 | - map.put("zwdp", zwdp); | ||
| 2886 | - map.put("wdp", wdp); | ||
| 2887 | - String path = this.getClass().getResource("/").getPath()+"static/pages/forms/"; | ||
| 2888 | - list.add(listMap.iterator()); | ||
| 2889 | - ee.excelReplace(list, new Object[] { scheduleRealInfos.get(0),map }, path+"mould/waybill_qingpu.xls", | ||
| 2890 | - path+"export/" + date+"-"+clZbh+"-行车路单.xls"); | ||
| 2891 | - | ||
| 2892 | - return scheduleRealInfos; | ||
| 2893 | - } | ||
| 2894 | - | ||
| 2895 | - @Override | ||
| 2896 | - public Map<String, Object> findKMBCQp(String clZbh, String date, String line) { | ||
| 2897 | - // TODO Auto-generated method stub | ||
| 2898 | - List<ScheduleRealInfo> list = scheduleRealInfoRepository.queryListWaybill2( clZbh,date,line); | ||
| 2899 | - DecimalFormat format = new DecimalFormat("0.00"); | 2832 | + else { |
| 2833 | + if (scheduleRealInfo.getStatus() != -1) { | ||
| 2834 | + if (scheduleRealInfo.isSflj()) { | ||
| 2835 | + addMileage += tempJhlc; | ||
| 2836 | + } | ||
| 2837 | + sj += tempJhlc; | ||
| 2838 | + } | ||
| 2839 | + } | ||
| 2840 | + } else { | ||
| 2841 | + Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | ||
| 2842 | + while (it.hasNext()) { | ||
| 2843 | + ChildTaskPlan childTaskPlan = it.next(); | ||
| 2844 | + if (childTaskPlan.getMileageType().equals("empty")) { | ||
| 2845 | + if (childTaskPlan.isDestroy()) { | ||
| 2846 | + remMileage += childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage(); | ||
| 2847 | + } else { | ||
| 2848 | + if (scheduleRealInfo.isSflj()) { | ||
| 2849 | + addMileage += tempJhlc; | ||
| 2850 | + } | ||
| 2851 | + ksgl += childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage(); | ||
| 2852 | + } | ||
| 2853 | + } else { | ||
| 2854 | + if (childTaskPlan.isDestroy()) { | ||
| 2855 | + remMileage += childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage(); | ||
| 2856 | +// cjbc++; | ||
| 2857 | + } else { | ||
| 2858 | + if (scheduleRealInfo.isSflj()) { | ||
| 2859 | + addMileage += tempJhlc; | ||
| 2860 | + } | ||
| 2861 | + sj += childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage(); | ||
| 2862 | + } | ||
| 2863 | + } | ||
| 2864 | + } | ||
| 2865 | + } | ||
| 2866 | + | ||
| 2867 | + if (!(scheduleRealInfo.getBcType().equals("in") || scheduleRealInfo.getBcType().equals("out"))) { | ||
| 2868 | + map = new HashMap<String, Object>(); | ||
| 2869 | + try { | ||
| 2870 | + scheduleRealInfo.setBcs(xyz); | ||
| 2871 | + xyz++; | ||
| 2872 | + Set<ChildTaskPlan> cs = scheduleRealInfo.getcTasks(); | ||
| 2873 | + Double sjlc = 0.0; | ||
| 2874 | + if (!cs.isEmpty()) { | ||
| 2875 | + Iterator<ChildTaskPlan> it = cs.iterator(); | ||
| 2876 | + while (it.hasNext()) { | ||
| 2877 | + ChildTaskPlan c = it.next(); | ||
| 2878 | + if (!c.isDestroy()) { | ||
| 2879 | + sjlc += c.getMileage() == null ? 0 : c.getMileage(); | ||
| 2880 | + } | ||
| 2881 | + | ||
| 2882 | + } | ||
| 2883 | + } else { | ||
| 2884 | + if (scheduleRealInfo.getStatus() != -1) { | ||
| 2885 | + sjlc = scheduleRealInfo.getJhlc(); | ||
| 2886 | + } | ||
| 2887 | + } | ||
| 2888 | + scheduleRealInfo.setjName(scheduleRealInfo.getjGh() + scheduleRealInfo.getjName()); | ||
| 2889 | + scheduleRealInfo.setsName(scheduleRealInfo.getsGh() + scheduleRealInfo.getsName()); | ||
| 2890 | + scheduleRealInfo.setSjlc(format.format(sjlc)); | ||
| 2891 | + map = rru.getMapValue(scheduleRealInfo); | ||
| 2892 | + String zdsj = scheduleRealInfo.getZdsj(); | ||
| 2893 | + String zdsjActual = scheduleRealInfo.getZdsjActual(); | ||
| 2894 | + if (zdsj != null && zdsjActual != null && | ||
| 2895 | + !zdsj.equals(zdsjActual)) { | ||
| 2896 | + if (zdsj.compareTo(zdsjActual) > 0) { | ||
| 2897 | + map.put("fast", TimeUtils.getTimeDifference(zdsj, zdsjActual)); | ||
| 2898 | + map.put("slow", ""); | ||
| 2899 | + } else { | ||
| 2900 | + map.put("fast", ""); | ||
| 2901 | + map.put("slow", TimeUtils.getTimeDifference(zdsj, zdsjActual)); | ||
| 2902 | + } | ||
| 2903 | + } else { | ||
| 2904 | + map.put("fast", ""); | ||
| 2905 | + map.put("slow", ""); | ||
| 2906 | + } | ||
| 2907 | + System.out.println(map); | ||
| 2908 | + listMap.add(map); | ||
| 2909 | + } catch (Exception e) { | ||
| 2910 | + e.printStackTrace(); | ||
| 2911 | + } | ||
| 2912 | + } | ||
| 2913 | + jhlc += jh; | ||
| 2914 | + yygl += sj; | ||
| 2915 | + if (jh > sj) { | ||
| 2916 | + remgl += jh - sj; | ||
| 2917 | + } else { | ||
| 2918 | + addgl += sj - jh; | ||
| 2919 | + } | ||
| 2920 | + } | ||
| 2921 | + } | ||
| 2922 | + | ||
| 2923 | + | ||
| 2924 | + List<Ylxxb> listYlxxb = ylxxbRepository.queryListYlxxb(clZbh, date); | ||
| 2925 | + Double jzl = 0.0; | ||
| 2926 | + for (int t = 0; t < listYlxxb.size(); t++) { | ||
| 2927 | + Ylxxb y = listYlxxb.get(t); | ||
| 2928 | + jzl += y.getJzl(); | ||
| 2929 | + } | ||
| 2930 | + | ||
| 2931 | + //计算里程和班次数,并放入Map里 | ||
| 2932 | + map = new HashMap<String, Object>(); | ||
| 2933 | + map.put("jzl", jzl); | ||
| 2934 | + map.put("jhlc", format.format(jhlc + jcclc)); | ||
| 2935 | + map.put("yygljh", format.format(jhlc)); | ||
| 2936 | + map.put("ssgl", format.format(remMileage)); | ||
| 2937 | + map.put("ksgl", format.format(ksgl)); | ||
| 2938 | + map.put("yyglsj", format.format(yygl)); | ||
| 2939 | + map.put("jhbc", jhbc); | ||
| 2940 | + map.put("jcclc", jcclc); | ||
| 2941 | + | ||
| 2942 | + map.put("ljgl", format.format(addMileage)); | ||
| 2943 | + map.put("ssbc", cjbc); | ||
| 2944 | + map.put("ysgl", format.format(yygl)); | ||
| 2945 | + map.put("sjbc", jhbc - cjbc + ljbc); | ||
| 2946 | + map.put("zgl", format.format(yygl + ksgl + jcclc)); | ||
| 2947 | + map.put("ljbc", ljbc); | ||
| 2948 | + String zdp = "", zwdp = "", wdp = ""; | ||
| 2949 | + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); | ||
| 2950 | + List<DutyEmployee> listDtuy = dutyEmployeeService.getDutyEmployee(line, date + "00:00", date + "23:59"); | ||
| 2951 | + try { | ||
| 2952 | + Long fcsj1 = sdf.parse(date + " 03:00").getTime(); | ||
| 2953 | + Long fcsj2 = sdf.parse(date + " 11:00").getTime(); | ||
| 2954 | + Long fcsj3 = sdf.parse(date + " 22:00").getTime(); | ||
| 2955 | + for (int i = 0; i < listDtuy.size(); i++) { | ||
| 2956 | + DutyEmployee t = listDtuy.get(i); | ||
| 2957 | + Long ts = t.getTs(); | ||
| 2958 | + if (ts > fcsj1 && ts < fcsj2) { | ||
| 2959 | + if (zdp.indexOf(t.getuName()) == -1) { | ||
| 2960 | + zdp += t.getuName() + ","; | ||
| 2961 | + | ||
| 2962 | + } | ||
| 2963 | + } else if (ts > fcsj2 && ts < fcsj3) { | ||
| 2964 | + if (zwdp.indexOf(t.getuName()) == -1) { | ||
| 2965 | + zwdp += t.getuName() + ","; | ||
| 2966 | + } | ||
| 2967 | + } else { | ||
| 2968 | + if (wdp.indexOf(t.getuName()) == -1) { | ||
| 2969 | + wdp += t.getuName() + ","; | ||
| 2970 | + } | ||
| 2971 | + } | ||
| 2972 | + } | ||
| 2973 | + } catch (ParseException e) { | ||
| 2974 | + // TODO Auto-generated catch block | ||
| 2975 | + e.printStackTrace(); | ||
| 2976 | + } | ||
| 2977 | + map.put("zdp", zdp); | ||
| 2978 | + map.put("zwdp", zwdp); | ||
| 2979 | + map.put("wdp", wdp); | ||
| 2980 | + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/"; | ||
| 2981 | + list.add(listMap.iterator()); | ||
| 2982 | + ee.excelReplace(list, new Object[]{scheduleRealInfos.get(0), map}, path + "mould/waybill_qingpu.xls", | ||
| 2983 | + path + "export/" + date + "-" + clZbh + "-行车路单.xls"); | ||
| 2984 | + | ||
| 2985 | + return scheduleRealInfos; | ||
| 2986 | + } | ||
| 2987 | + | ||
| 2988 | + @Override | ||
| 2989 | + public Map<String, Object> findKMBCQp(String clZbh, String date, String line) { | ||
| 2990 | + // TODO Auto-generated method stub | ||
| 2991 | + List<ScheduleRealInfo> list = scheduleRealInfoRepository.queryListWaybill2(clZbh, date, line); | ||
| 2992 | + DecimalFormat format = new DecimalFormat("0.00"); | ||
| 2900 | // int cjbc = scheduleRealInfoRepository.findCjbc(jName, clZbh, lpName); | 2993 | // int cjbc = scheduleRealInfoRepository.findCjbc(jName, clZbh, lpName); |
| 2901 | // int ljbc = scheduleRealInfoRepository.findLjbc(jName, clZbh, lpName); | 2994 | // int ljbc = scheduleRealInfoRepository.findLjbc(jName, clZbh, lpName); |
| 2902 | - int jhbc = 0,cjbc = 0,ljbc = 0; | ||
| 2903 | - double jhlc = 0, yygl = 0, ksgl = 0,tempJhlc = 0,jcclc=0; | ||
| 2904 | - float addMileage = 0l,remMileage = 0l, addgl = 0, remgl = 0; | ||
| 2905 | - Map<String,Object> map = new HashMap<String, Object>(); | ||
| 2906 | - for(ScheduleRealInfo scheduleRealInfo : list){ | ||
| 2907 | - if(scheduleRealInfo != null){ | ||
| 2908 | - //计划里程(主任务过滤掉临加班次), | ||
| 2909 | - //烂班里程(主任务烂班), | ||
| 2910 | - //临加里程(主任务临加), | ||
| 2911 | - //计划班次,烂班班次,增加班次 | ||
| 2912 | - double jh = 0, sj = 0; | ||
| 2913 | - tempJhlc = scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc(); | ||
| 2914 | - if(scheduleRealInfo.isSflj()){ | ||
| 2915 | - ljbc++; | ||
| 2916 | - }else{ | ||
| 2917 | - if( !(scheduleRealInfo.getBcType().equals("in") | ||
| 2918 | - ||scheduleRealInfo.getBcType().equals("out")) ){ | ||
| 2919 | - jhbc++; | ||
| 2920 | - jh += tempJhlc; | ||
| 2921 | - } | ||
| 2922 | - | ||
| 2923 | - if(scheduleRealInfo.getStatus() == -1){ | ||
| 2924 | - remMileage += tempJhlc; | ||
| 2925 | - cjbc++; | ||
| 2926 | - } | ||
| 2927 | - } | ||
| 2928 | - Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | ||
| 2929 | - //计算营运里程,空驶里程 | ||
| 2930 | - if(childTaskPlans.isEmpty()){ | ||
| 2931 | - if(scheduleRealInfo.getBcType().equals("in") || | ||
| 2932 | - scheduleRealInfo.getBcType().equals("out")){ | ||
| 2933 | - jcclc +=tempJhlc; | ||
| 2934 | - } | ||
| 2935 | - | ||
| 2936 | - //主任务 放空班次属于营运 | 2995 | + int jhbc = 0, cjbc = 0, ljbc = 0; |
| 2996 | + double jhlc = 0, yygl = 0, ksgl = 0, tempJhlc = 0, jcclc = 0; | ||
| 2997 | + float addMileage = 0l, remMileage = 0l, addgl = 0, remgl = 0; | ||
| 2998 | + Map<String, Object> map = new HashMap<String, Object>(); | ||
| 2999 | + for (ScheduleRealInfo scheduleRealInfo : list) { | ||
| 3000 | + if (scheduleRealInfo != null) { | ||
| 3001 | + //计划里程(主任务过滤掉临加班次), | ||
| 3002 | + //烂班里程(主任务烂班), | ||
| 3003 | + //临加里程(主任务临加), | ||
| 3004 | + //计划班次,烂班班次,增加班次 | ||
| 3005 | + double jh = 0, sj = 0; | ||
| 3006 | + tempJhlc = scheduleRealInfo.getJhlc() == null ? 0 : scheduleRealInfo.getJhlc(); | ||
| 3007 | + if (scheduleRealInfo.isSflj()) { | ||
| 3008 | + ljbc++; | ||
| 3009 | + } else { | ||
| 3010 | + if (!(scheduleRealInfo.getBcType().equals("in") | ||
| 3011 | + || scheduleRealInfo.getBcType().equals("out"))) { | ||
| 3012 | + jhbc++; | ||
| 3013 | + jh += tempJhlc; | ||
| 3014 | + } | ||
| 3015 | + | ||
| 3016 | + if (scheduleRealInfo.getStatus() == -1) { | ||
| 3017 | + remMileage += tempJhlc; | ||
| 3018 | + cjbc++; | ||
| 3019 | + } | ||
| 3020 | + } | ||
| 3021 | + Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | ||
| 3022 | + //计算营运里程,空驶里程 | ||
| 3023 | + if (childTaskPlans.isEmpty()) { | ||
| 3024 | + if (scheduleRealInfo.getBcType().equals("in") || | ||
| 3025 | + scheduleRealInfo.getBcType().equals("out")) { | ||
| 3026 | + jcclc += tempJhlc; | ||
| 3027 | + } | ||
| 3028 | + | ||
| 3029 | + //主任务 放空班次属于营运 | ||
| 2937 | // else if(scheduleRealInfo.getBcType().equals("venting")){ | 3030 | // else if(scheduleRealInfo.getBcType().equals("venting")){ |
| 2938 | // ksgl += tempJhlc; | 3031 | // ksgl += tempJhlc; |
| 2939 | // } | 3032 | // } |
| 2940 | - else{ | ||
| 2941 | - if(scheduleRealInfo.getStatus() != -1){ | ||
| 2942 | - if(scheduleRealInfo.isSflj()){ | ||
| 2943 | - addMileage += tempJhlc; | ||
| 2944 | - } | ||
| 2945 | - sj += tempJhlc; | ||
| 2946 | - } | ||
| 2947 | - } | ||
| 2948 | - }else{ | ||
| 2949 | - Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | ||
| 2950 | - while(it.hasNext()){ | ||
| 2951 | - ChildTaskPlan childTaskPlan = it.next(); | ||
| 2952 | - if(childTaskPlan.getMileageType().equals("empty")){ | ||
| 2953 | - if(childTaskPlan.isDestroy()){ | ||
| 2954 | - remMileage += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); | ||
| 2955 | - }else{ | ||
| 2956 | - if(scheduleRealInfo.isSflj()){ | ||
| 2957 | - addMileage += tempJhlc; | ||
| 2958 | - } | ||
| 2959 | - ksgl += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); | ||
| 2960 | - } | ||
| 2961 | - }else{ | ||
| 2962 | - if(childTaskPlan.isDestroy()){ | ||
| 2963 | - remMileage += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); | 3033 | + else { |
| 3034 | + if (scheduleRealInfo.getStatus() != -1) { | ||
| 3035 | + if (scheduleRealInfo.isSflj()) { | ||
| 3036 | + addMileage += tempJhlc; | ||
| 3037 | + } | ||
| 3038 | + sj += tempJhlc; | ||
| 3039 | + } | ||
| 3040 | + } | ||
| 3041 | + } else { | ||
| 3042 | + Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | ||
| 3043 | + while (it.hasNext()) { | ||
| 3044 | + ChildTaskPlan childTaskPlan = it.next(); | ||
| 3045 | + if (childTaskPlan.getMileageType().equals("empty")) { | ||
| 3046 | + if (childTaskPlan.isDestroy()) { | ||
| 3047 | + remMileage += childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage(); | ||
| 3048 | + } else { | ||
| 3049 | + if (scheduleRealInfo.isSflj()) { | ||
| 3050 | + addMileage += tempJhlc; | ||
| 3051 | + } | ||
| 3052 | + ksgl += childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage(); | ||
| 3053 | + } | ||
| 3054 | + } else { | ||
| 3055 | + if (childTaskPlan.isDestroy()) { | ||
| 3056 | + remMileage += childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage(); | ||
| 2964 | // cjbc++; | 3057 | // cjbc++; |
| 2965 | - }else{ | ||
| 2966 | - if(scheduleRealInfo.isSflj()){ | ||
| 2967 | - addMileage += tempJhlc; | ||
| 2968 | - } | ||
| 2969 | - sj += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); | ||
| 2970 | - } | ||
| 2971 | - } | ||
| 2972 | - } | ||
| 2973 | - } | ||
| 2974 | - jhlc += jh; | ||
| 2975 | - yygl += sj; | ||
| 2976 | - if(jh > sj){ | ||
| 2977 | - remgl += jh - sj; | ||
| 2978 | - } else if(sj > jh){ | ||
| 2979 | - addgl += sj - jh; | ||
| 2980 | - } | ||
| 2981 | - } | ||
| 2982 | - } | ||
| 2983 | - map.put("jhlc", format.format(jhlc+jcclc)); | ||
| 2984 | - map.put("yygljh", format.format(jhlc)); | ||
| 2985 | - map.put("ssgl", format.format(remMileage)); | ||
| 2986 | - map.put("ksgl", format.format(ksgl)); | ||
| 2987 | - map.put("yyglsj", format.format(yygl)); | ||
| 2988 | - map.put("jhbc", jhbc); | ||
| 2989 | - map.put("jcclc", jcclc); | ||
| 2990 | - | ||
| 2991 | - map.put("ljgl", format.format(addMileage)); | ||
| 2992 | - map.put("ssbc", cjbc); | ||
| 2993 | - map.put("ysgl", format.format(yygl)); | ||
| 2994 | - map.put("sjbc", jhbc-cjbc+ljbc); | ||
| 2995 | - map.put("zgl", format.format(yygl+ksgl+jcclc)); | ||
| 2996 | - map.put("ljbc", ljbc); | ||
| 2997 | - | ||
| 2998 | - return map; | ||
| 2999 | - } | ||
| 3000 | - | ||
| 3001 | - @Override | ||
| 3002 | - public List<ScheduleRealInfo> queryListWaybillQp(String clZbh, String date, String line) { | ||
| 3003 | - // TODO Auto-generated method stub | ||
| 3004 | - DecimalFormat format = new DecimalFormat("0.00"); | ||
| 3005 | - List <ScheduleRealInfo> list=null; | ||
| 3006 | - list= scheduleRealInfoRepository.queryListWaybill2(clZbh,date,line); | ||
| 3007 | - List<ScheduleRealInfo> newList=new ArrayList<ScheduleRealInfo>(); | ||
| 3008 | - for (int i = 0; i < list.size(); i++) { | ||
| 3009 | - ScheduleRealInfo s=list.get(i); | ||
| 3010 | - if(!(s.getBcType().equals("in")||s.getBcType().equals("out"))){ | ||
| 3011 | - String remarks=""; | ||
| 3012 | - Double sjlc=0.0; | ||
| 3013 | - if(s.getRemarks()!=null){ | ||
| 3014 | - remarks +=s.getRemarks(); | ||
| 3015 | - } | ||
| 3016 | - Set<ChildTaskPlan> childTaskPlans = s.getcTasks(); | ||
| 3017 | - if(!childTaskPlans.isEmpty()){ | ||
| 3018 | - Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | ||
| 3019 | - while(it.hasNext()){ | ||
| 3020 | - ChildTaskPlan c = it.next(); | ||
| 3021 | - if(c.getRemarks()!=null && c.getRemarks().length()>0){ | ||
| 3022 | - if(remarks.indexOf(c.getRemarks())==-1){ | ||
| 3023 | - remarks += c.getRemarks(); | ||
| 3024 | - } | ||
| 3025 | - } | ||
| 3026 | - | ||
| 3027 | - if(!c.isDestroy()){ | ||
| 3028 | - sjlc += c.getMileage()==null?0:c.getMileage(); | ||
| 3029 | - } | ||
| 3030 | - | ||
| 3031 | - } | ||
| 3032 | - }else{ | ||
| 3033 | - if(s.getStatus() != -1){ | ||
| 3034 | - sjlc =s.getJhlc(); | ||
| 3035 | - } | ||
| 3036 | - } | ||
| 3037 | - s.setSjlc(format.format(sjlc)); | ||
| 3038 | - s.setRemarks(remarks); | ||
| 3039 | - newList.add(s); | ||
| 3040 | - } | ||
| 3041 | - | ||
| 3042 | - } | ||
| 3043 | - | ||
| 3044 | - return newList; | ||
| 3045 | - } | ||
| 3046 | - | ||
| 3047 | - @Override | ||
| 3048 | - public Map<String, Object> MapById(Long id) { | ||
| 3049 | - // TODO Auto-generated method stub | ||
| 3050 | - Map<String, Object> map=new HashMap<String, Object>(); | ||
| 3051 | - SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm"); | ||
| 3052 | - ScheduleRealInfo s=scheduleRealInfoRepository.findOne(id); | ||
| 3053 | - String xlbm=s.getXlBm(); | ||
| 3054 | - String fcrq=s.getScheduleDateStr(); | ||
| 3055 | - | ||
| 3056 | - List<Ylxxb> listYlxxb=ylxxbRepository.queryListYlxxb( s.getClZbh(), fcrq); | ||
| 3057 | - Double jzl=0.0; | ||
| 3058 | - for(int t=0;t<listYlxxb.size();t++){ | ||
| 3059 | - Ylxxb y=listYlxxb.get(t); | ||
| 3060 | - jzl += y.getJzl(); | ||
| 3061 | - } | ||
| 3062 | - | ||
| 3063 | - List<Ylb> listYlb=ylbRepository.queryListYlb( fcrq,s.getClZbh(),s.getjGh()); | ||
| 3064 | - Double ccyl=0.0; | ||
| 3065 | - Double jcyl=0.0; | ||
| 3066 | - Double yh=0.0; | ||
| 3067 | - for (int i = 0; i < listYlb.size(); i++) { | ||
| 3068 | - Ylb y=listYlb.get(i); | ||
| 3069 | - ccyl +=y.getCzyl(); | ||
| 3070 | - jcyl+= y.getJzyl(); | ||
| 3071 | - yh+=y.getYh(); | ||
| 3072 | - | ||
| 3073 | - } | ||
| 3074 | - map.put("jzl", jzl); | ||
| 3075 | - map.put("yh", yh); | ||
| 3076 | - map.put("ccyl", ccyl); | ||
| 3077 | - map.put("jcyl", jcyl); | ||
| 3078 | - map.put("xlName", s.getXlName()); | ||
| 3079 | - map.put("clZbh", s.getClZbh()); | ||
| 3080 | - map.put("fcsjActual", s.getFcsjActual()); | ||
| 3081 | - map.put("zdzName", s.getZdzName()); | ||
| 3082 | - map.put("scheduleDate", s.getScheduleDateStr()); | ||
| 3083 | - String zdp="",zwdp="",wdp=""; | ||
| 3084 | - String zdpT="",zwdpT="",wdpT=""; | ||
| 3085 | - | ||
| 3086 | - List<DutyEmployee> list= dutyEmployeeService.getDutyEmployee(xlbm, fcrq+"00:00", fcrq+"23:59"); | ||
| 3087 | - try { | ||
| 3088 | - Long fcsj1=sdf.parse(fcrq+" 03:00").getTime(); | ||
| 3089 | - Long fcsj2=sdf.parse(fcrq+" 11:00").getTime(); | ||
| 3090 | - Long fcsj3=sdf.parse(fcrq+" 22:00").getTime(); | ||
| 3091 | - for(int i=0;i<list.size();i++){ | ||
| 3092 | - DutyEmployee t=list.get(i); | ||
| 3093 | - Long ts=t.getTs(); | ||
| 3094 | - if(ts>fcsj1&&ts<fcsj2){ | ||
| 3095 | - if(zdp.indexOf(t.getuName())==-1){ | ||
| 3096 | - if(!(zdp.length()>0)){ | ||
| 3097 | - zdpT =t.getuName()+"..."; | ||
| 3098 | - } | ||
| 3099 | - zdp +=t.getuName()+","; | ||
| 3100 | - | ||
| 3101 | - } | ||
| 3102 | - }else if(ts>fcsj2 && ts<fcsj3){ | ||
| 3103 | - if(zwdp.indexOf(t.getuName())==-1){ | ||
| 3104 | - if(!(zwdp.length()>0)){ | ||
| 3105 | - zwdpT =t.getuName()+"..."; | ||
| 3106 | - } | ||
| 3107 | - zwdp +=t.getuName()+","; | ||
| 3108 | - } | ||
| 3109 | - }else{ | ||
| 3110 | - if(wdp.indexOf(t.getuName())==-1){ | ||
| 3111 | - if(!(wdp.length()>0)){ | ||
| 3112 | - wdpT =t.getuName()+"..."; | ||
| 3113 | - } | ||
| 3114 | - wdp +=t.getuName()+","; | ||
| 3115 | - } | ||
| 3116 | - } | ||
| 3117 | - } | ||
| 3118 | - } catch (ParseException e) { | ||
| 3119 | - // TODO Auto-generated catch block | ||
| 3120 | - e.printStackTrace(); | ||
| 3121 | - } | ||
| 3122 | - map.put("zdp", zdp); | ||
| 3123 | - map.put("zwdp", zwdp); | ||
| 3124 | - map.put("wdp", wdp); | ||
| 3125 | - map.put("zdpT", zdpT); | ||
| 3126 | - map.put("zwdpT", zwdpT); | ||
| 3127 | - map.put("wdpT", wdpT); | ||
| 3128 | - return map; | ||
| 3129 | - } | ||
| 3130 | - | ||
| 3131 | - @Override | ||
| 3132 | - public List<Map<String, Object>> scheduleDailyQp(String line, String date) { | ||
| 3133 | - // TODO Auto-generated method stub | ||
| 3134 | - List<Map<String, Object>> list=new ArrayList<Map<String, Object>>(); | ||
| 3135 | - List<ScheduleRealInfo> scheduleRealInfos=scheduleRealInfoRepository.scheduleDailyQp(line, date); | ||
| 3136 | - Map<String, Object> map=null; | ||
| 3137 | - String lp="lp"; | ||
| 3138 | - String jgh="jgh"; | ||
| 3139 | - String clzbh="clzbh"; | ||
| 3140 | - int bcs=0; | ||
| 3141 | - String thclzbh=""; | ||
| 3142 | - String sgh="sgh"; | ||
| 3143 | - for(int i=0;i<scheduleRealInfos.size();i++){ | ||
| 3144 | - ScheduleRealInfo scheduleRealInfo=scheduleRealInfos.get(i); | ||
| 3145 | - if(scheduleRealInfo.getLpName().equals(lp)){ | ||
| 3146 | - bcs++; | ||
| 3147 | - String fcsj=scheduleRealInfo.getFcsj(); | ||
| 3148 | - | ||
| 3149 | - if(!clzbh.equals(scheduleRealInfo.getClZbh())){ | ||
| 3150 | - clzbh=scheduleRealInfo.getClZbh(); | ||
| 3151 | - if(thclzbh==""){ | ||
| 3152 | - thclzbh +=scheduleRealInfo.getClZbh()+","; | ||
| 3153 | - }else{ | ||
| 3154 | - thclzbh +=scheduleRealInfo.getClZbh(); | ||
| 3155 | - } | ||
| 3156 | - map.put("thclzbh", thclzbh); | ||
| 3157 | - } | ||
| 3158 | - | ||
| 3159 | - if(!jgh.equals(scheduleRealInfo.getjGh())){ | ||
| 3160 | - jgh=scheduleRealInfo.getjGh(); | ||
| 3161 | - if(map.get("jjb2")!=null){ | ||
| 3162 | - map.put("jjb3", scheduleRealInfo.getjGh()+"/"+ | ||
| 3163 | - scheduleRealInfo.getFcsjActual()); | ||
| 3164 | - | ||
| 3165 | - }else{ | ||
| 3166 | - map.put("jjb2", scheduleRealInfo.getjGh()+"/"+ | ||
| 3167 | - scheduleRealInfo.getFcsjActual()); | ||
| 3168 | - } | ||
| 3169 | - | ||
| 3170 | - } | ||
| 3171 | - | ||
| 3172 | - if(scheduleRealInfo.getsGh()!=null){ | ||
| 3173 | - if(!scheduleRealInfo.getsGh().equals(sgh)){ | ||
| 3174 | - sgh=scheduleRealInfo.getsGh(); | ||
| 3175 | - if(map.get("sjb1")!=null){ | ||
| 3176 | - if(map.get("sjb2")!=null){ | ||
| 3177 | - map.put("sjb3", scheduleRealInfo.getsGh()+"/"+ | ||
| 3178 | - scheduleRealInfo.getFcsjActual()); | ||
| 3179 | - }else{ | ||
| 3180 | - map.put("sjb2", scheduleRealInfo.getsGh()+"/"+ | ||
| 3181 | - scheduleRealInfo.getFcsjActual()); | ||
| 3182 | - } | ||
| 3183 | - }else{ | ||
| 3184 | - map.put("sjb1", scheduleRealInfo.getsGh()+"/"+ | ||
| 3185 | - scheduleRealInfo.getFcsjActual()); | ||
| 3186 | - } | ||
| 3187 | - } | ||
| 3188 | - } | ||
| 3189 | - if(scheduleRealInfo.getFcsjActual()!=null){ | ||
| 3190 | - String fcsjs[]=fcsj.split(":"); | ||
| 3191 | - String fcsjActuals[]=scheduleRealInfo.getFcsjActual().split(":"); | ||
| 3192 | - int a=Integer.parseInt(fcsjActuals[0])*60+Integer.parseInt(fcsjActuals[1]); | ||
| 3193 | - int b=Integer.parseInt(fcsjs[0])*60+Integer.parseInt(fcsjs[1]); | ||
| 3194 | - map.put("cz"+bcs, b-a); | ||
| 3195 | - }else{ | ||
| 3196 | - map.put("cz"+bcs, "无"); | ||
| 3197 | - } | ||
| 3198 | - map.put("lp", scheduleRealInfo.getLpName()); | ||
| 3199 | - map.put("dd"+bcs, scheduleRealInfo.getZdsjActual()); | ||
| 3200 | - map.put("kc"+bcs, scheduleRealInfo.getFcsjActual()); | ||
| 3201 | - | ||
| 3202 | - if(i<scheduleRealInfos.size()-1){ | ||
| 3203 | - if(!scheduleRealInfos.get(i+1).getLpName().equals | ||
| 3204 | - (scheduleRealInfos.get(i).getLpName())){ | ||
| 3205 | - list.add(map); | ||
| 3206 | - lp="lp"; | ||
| 3207 | - jgh="jgh"; | ||
| 3208 | - clzbh="clzbh"; | ||
| 3209 | - bcs=0; | ||
| 3210 | - thclzbh=""; | ||
| 3211 | - sgh="sgh"; | ||
| 3212 | - } | ||
| 3213 | - }else{ | ||
| 3214 | - list.add(map); | ||
| 3215 | - } | ||
| 3216 | - }else{ | ||
| 3217 | - bcs=1; | ||
| 3218 | - map=new HashMap<String,Object>(); | ||
| 3219 | - lp=scheduleRealInfo.getLpName(); | ||
| 3220 | - jgh=scheduleRealInfo.getjGh(); | ||
| 3221 | - clzbh=scheduleRealInfo.getClZbh(); | ||
| 3222 | - if(scheduleRealInfo.getsGh()!=null){ | ||
| 3223 | - sgh=scheduleRealInfo.getsGh(); | ||
| 3224 | - map.put("sjb1",scheduleRealInfo.getsGh()+"/"+ | ||
| 3225 | - scheduleRealInfo.getFcsjActual()); | ||
| 3226 | - } | ||
| 3227 | - String fcsj=scheduleRealInfo.getFcsj(); | ||
| 3228 | - scheduleRealInfo.getFcsjActual(); | ||
| 3229 | - map.put("jjb1", jgh+"/"+scheduleRealInfo.getFcsjActual()); | ||
| 3230 | - map.put("cccl", clzbh); | ||
| 3231 | - | ||
| 3232 | - if(scheduleRealInfo.getFcsjActual()!=null){ | ||
| 3233 | - String fcsjs[]=fcsj.split(":"); | ||
| 3234 | - String fcsjActuals[]=scheduleRealInfo.getFcsjActual().split(":"); | ||
| 3235 | - int a=Integer.parseInt(fcsjActuals[0])*60+Integer.parseInt(fcsjActuals[1]); | ||
| 3236 | - int b=Integer.parseInt(fcsjs[0])*60+Integer.parseInt(fcsjs[1]); | ||
| 3237 | - map.put("cz"+bcs, b-a); | ||
| 3238 | - }else{ | ||
| 3239 | - map.put("cz"+bcs, "无"); | ||
| 3240 | - } | ||
| 3241 | - | ||
| 3242 | - | ||
| 3243 | - map.put("lp", scheduleRealInfo.getLpName()); | ||
| 3244 | - map.put("dd"+bcs, scheduleRealInfo.getZdsjActual()); | ||
| 3245 | - map.put("kc"+bcs, scheduleRealInfo.getFcsjActual()); | ||
| 3246 | - | ||
| 3247 | - if(i<scheduleRealInfos.size()-1){ | ||
| 3248 | - if(!scheduleRealInfos.get(i+1).getLpName().equals | ||
| 3249 | - (scheduleRealInfos.get(i).getLpName())){ | ||
| 3250 | - list.add(map); | ||
| 3251 | - lp="lp"; | ||
| 3252 | - jgh="jgh"; | ||
| 3253 | - clzbh="clzbh"; | ||
| 3254 | - bcs=0; | ||
| 3255 | - thclzbh=""; | ||
| 3256 | - sgh="sgh"; | ||
| 3257 | - } | ||
| 3258 | - }else{ | ||
| 3259 | - list.add(map); | ||
| 3260 | - } | ||
| 3261 | - } | ||
| 3262 | - | ||
| 3263 | - } | ||
| 3264 | - return list; | ||
| 3265 | - } | ||
| 3266 | - | ||
| 3267 | - | ||
| 3268 | - @Override | ||
| 3269 | - public List<Map<String, Object>> scheduleDailyExport(Map<String, Object> map){ | ||
| 3270 | - String line = map.get("line").toString(); | ||
| 3271 | - String date = map.get("date").toString(); | ||
| 3272 | - String xlName = map.get("xlName").toString(); | ||
| 3273 | - String state = map.get("state").toString(); | ||
| 3274 | - String type = map.get("type").toString(); | ||
| 3275 | - | ||
| 3276 | - List<Map<String, Object>> dataList2 = new ArrayList<Map<String, Object>>(); | ||
| 3277 | - List<Map<String, Object>> dataList3 = new ArrayList<Map<String, Object>>(); | ||
| 3278 | - List<Map<String, Object>> list1 = this.statisticsDaily(line, date, xlName, null); | ||
| 3279 | - List<ScheduleRealInfo> list2 = this.queryUserInfo(line, date, state); | ||
| 3280 | - List<ScheduleRealInfo> list3 = this.realScheduleList(line, date); | ||
| 3281 | - | ||
| 3282 | - for(Map<String, Object> m : list1){ | 3058 | + } else { |
| 3059 | + if (scheduleRealInfo.isSflj()) { | ||
| 3060 | + addMileage += tempJhlc; | ||
| 3061 | + } | ||
| 3062 | + sj += childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage(); | ||
| 3063 | + } | ||
| 3064 | + } | ||
| 3065 | + } | ||
| 3066 | + } | ||
| 3067 | + jhlc += jh; | ||
| 3068 | + yygl += sj; | ||
| 3069 | + if (jh > sj) { | ||
| 3070 | + remgl += jh - sj; | ||
| 3071 | + } else if (sj > jh) { | ||
| 3072 | + addgl += sj - jh; | ||
| 3073 | + } | ||
| 3074 | + } | ||
| 3075 | + } | ||
| 3076 | + map.put("jhlc", format.format(jhlc + jcclc)); | ||
| 3077 | + map.put("yygljh", format.format(jhlc)); | ||
| 3078 | + map.put("ssgl", format.format(remMileage)); | ||
| 3079 | + map.put("ksgl", format.format(ksgl)); | ||
| 3080 | + map.put("yyglsj", format.format(yygl)); | ||
| 3081 | + map.put("jhbc", jhbc); | ||
| 3082 | + map.put("jcclc", jcclc); | ||
| 3083 | + | ||
| 3084 | + map.put("ljgl", format.format(addMileage)); | ||
| 3085 | + map.put("ssbc", cjbc); | ||
| 3086 | + map.put("ysgl", format.format(yygl)); | ||
| 3087 | + map.put("sjbc", jhbc - cjbc + ljbc); | ||
| 3088 | + map.put("zgl", format.format(yygl + ksgl + jcclc)); | ||
| 3089 | + map.put("ljbc", ljbc); | ||
| 3090 | + | ||
| 3091 | + return map; | ||
| 3092 | + } | ||
| 3093 | + | ||
| 3094 | + @Override | ||
| 3095 | + public List<ScheduleRealInfo> queryListWaybillQp(String clZbh, String date, String line) { | ||
| 3096 | + // TODO Auto-generated method stub | ||
| 3097 | + DecimalFormat format = new DecimalFormat("0.00"); | ||
| 3098 | + List<ScheduleRealInfo> list = null; | ||
| 3099 | + list = scheduleRealInfoRepository.queryListWaybill2(clZbh, date, line); | ||
| 3100 | + List<ScheduleRealInfo> newList = new ArrayList<ScheduleRealInfo>(); | ||
| 3101 | + for (int i = 0; i < list.size(); i++) { | ||
| 3102 | + ScheduleRealInfo s = list.get(i); | ||
| 3103 | + if (!(s.getBcType().equals("in") || s.getBcType().equals("out"))) { | ||
| 3104 | + String remarks = ""; | ||
| 3105 | + Double sjlc = 0.0; | ||
| 3106 | + if (s.getRemarks() != null) { | ||
| 3107 | + remarks += s.getRemarks(); | ||
| 3108 | + } | ||
| 3109 | + Set<ChildTaskPlan> childTaskPlans = s.getcTasks(); | ||
| 3110 | + if (!childTaskPlans.isEmpty()) { | ||
| 3111 | + Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | ||
| 3112 | + while (it.hasNext()) { | ||
| 3113 | + ChildTaskPlan c = it.next(); | ||
| 3114 | + if (c.getRemarks() != null && c.getRemarks().length() > 0) { | ||
| 3115 | + if (remarks.indexOf(c.getRemarks()) == -1) { | ||
| 3116 | + remarks += c.getRemarks(); | ||
| 3117 | + } | ||
| 3118 | + } | ||
| 3119 | + | ||
| 3120 | + if (!c.isDestroy()) { | ||
| 3121 | + sjlc += c.getMileage() == null ? 0 : c.getMileage(); | ||
| 3122 | + } | ||
| 3123 | + | ||
| 3124 | + } | ||
| 3125 | + } else { | ||
| 3126 | + if (s.getStatus() != -1) { | ||
| 3127 | + sjlc = s.getJhlc(); | ||
| 3128 | + } | ||
| 3129 | + } | ||
| 3130 | + s.setSjlc(format.format(sjlc)); | ||
| 3131 | + s.setRemarks(remarks); | ||
| 3132 | + newList.add(s); | ||
| 3133 | + } | ||
| 3134 | + | ||
| 3135 | + } | ||
| 3136 | + | ||
| 3137 | + return newList; | ||
| 3138 | + } | ||
| 3139 | + | ||
| 3140 | + @Override | ||
| 3141 | + public Map<String, Object> MapById(Long id) { | ||
| 3142 | + // TODO Auto-generated method stub | ||
| 3143 | + Map<String, Object> map = new HashMap<String, Object>(); | ||
| 3144 | + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); | ||
| 3145 | + ScheduleRealInfo s = scheduleRealInfoRepository.findOne(id); | ||
| 3146 | + String xlbm = s.getXlBm(); | ||
| 3147 | + String fcrq = s.getScheduleDateStr(); | ||
| 3148 | + | ||
| 3149 | + List<Ylxxb> listYlxxb = ylxxbRepository.queryListYlxxb(s.getClZbh(), fcrq); | ||
| 3150 | + Double jzl = 0.0; | ||
| 3151 | + for (int t = 0; t < listYlxxb.size(); t++) { | ||
| 3152 | + Ylxxb y = listYlxxb.get(t); | ||
| 3153 | + jzl += y.getJzl(); | ||
| 3154 | + } | ||
| 3155 | + | ||
| 3156 | + List<Ylb> listYlb = ylbRepository.queryListYlb(fcrq, s.getClZbh(), s.getjGh()); | ||
| 3157 | + Double ccyl = 0.0; | ||
| 3158 | + Double jcyl = 0.0; | ||
| 3159 | + Double yh = 0.0; | ||
| 3160 | + for (int i = 0; i < listYlb.size(); i++) { | ||
| 3161 | + Ylb y = listYlb.get(i); | ||
| 3162 | + ccyl += y.getCzyl(); | ||
| 3163 | + jcyl += y.getJzyl(); | ||
| 3164 | + yh += y.getYh(); | ||
| 3165 | + | ||
| 3166 | + } | ||
| 3167 | + map.put("jzl", jzl); | ||
| 3168 | + map.put("yh", yh); | ||
| 3169 | + map.put("ccyl", ccyl); | ||
| 3170 | + map.put("jcyl", jcyl); | ||
| 3171 | + map.put("xlName", s.getXlName()); | ||
| 3172 | + map.put("clZbh", s.getClZbh()); | ||
| 3173 | + map.put("fcsjActual", s.getFcsjActual()); | ||
| 3174 | + map.put("zdzName", s.getZdzName()); | ||
| 3175 | + map.put("scheduleDate", s.getScheduleDateStr()); | ||
| 3176 | + String zdp = "", zwdp = "", wdp = ""; | ||
| 3177 | + String zdpT = "", zwdpT = "", wdpT = ""; | ||
| 3178 | + | ||
| 3179 | + List<DutyEmployee> list = dutyEmployeeService.getDutyEmployee(xlbm, fcrq + "00:00", fcrq + "23:59"); | ||
| 3180 | + try { | ||
| 3181 | + Long fcsj1 = sdf.parse(fcrq + " 03:00").getTime(); | ||
| 3182 | + Long fcsj2 = sdf.parse(fcrq + " 11:00").getTime(); | ||
| 3183 | + Long fcsj3 = sdf.parse(fcrq + " 22:00").getTime(); | ||
| 3184 | + for (int i = 0; i < list.size(); i++) { | ||
| 3185 | + DutyEmployee t = list.get(i); | ||
| 3186 | + Long ts = t.getTs(); | ||
| 3187 | + if (ts > fcsj1 && ts < fcsj2) { | ||
| 3188 | + if (zdp.indexOf(t.getuName()) == -1) { | ||
| 3189 | + if (!(zdp.length() > 0)) { | ||
| 3190 | + zdpT = t.getuName() + "..."; | ||
| 3191 | + } | ||
| 3192 | + zdp += t.getuName() + ","; | ||
| 3193 | + | ||
| 3194 | + } | ||
| 3195 | + } else if (ts > fcsj2 && ts < fcsj3) { | ||
| 3196 | + if (zwdp.indexOf(t.getuName()) == -1) { | ||
| 3197 | + if (!(zwdp.length() > 0)) { | ||
| 3198 | + zwdpT = t.getuName() + "..."; | ||
| 3199 | + } | ||
| 3200 | + zwdp += t.getuName() + ","; | ||
| 3201 | + } | ||
| 3202 | + } else { | ||
| 3203 | + if (wdp.indexOf(t.getuName()) == -1) { | ||
| 3204 | + if (!(wdp.length() > 0)) { | ||
| 3205 | + wdpT = t.getuName() + "..."; | ||
| 3206 | + } | ||
| 3207 | + wdp += t.getuName() + ","; | ||
| 3208 | + } | ||
| 3209 | + } | ||
| 3210 | + } | ||
| 3211 | + } catch (ParseException e) { | ||
| 3212 | + // TODO Auto-generated catch block | ||
| 3213 | + e.printStackTrace(); | ||
| 3214 | + } | ||
| 3215 | + map.put("zdp", zdp); | ||
| 3216 | + map.put("zwdp", zwdp); | ||
| 3217 | + map.put("wdp", wdp); | ||
| 3218 | + map.put("zdpT", zdpT); | ||
| 3219 | + map.put("zwdpT", zwdpT); | ||
| 3220 | + map.put("wdpT", wdpT); | ||
| 3221 | + return map; | ||
| 3222 | + } | ||
| 3223 | + | ||
| 3224 | + @Override | ||
| 3225 | + public List<Map<String, Object>> scheduleDailyQp(String line, String date) { | ||
| 3226 | + // TODO Auto-generated method stub | ||
| 3227 | + List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); | ||
| 3228 | + List<ScheduleRealInfo> scheduleRealInfos = scheduleRealInfoRepository.scheduleDailyQp(line, date); | ||
| 3229 | + Map<String, Object> map = null; | ||
| 3230 | + String lp = "lp"; | ||
| 3231 | + String jgh = "jgh"; | ||
| 3232 | + String clzbh = "clzbh"; | ||
| 3233 | + int bcs = 0; | ||
| 3234 | + String thclzbh = ""; | ||
| 3235 | + String sgh = "sgh"; | ||
| 3236 | + for (int i = 0; i < scheduleRealInfos.size(); i++) { | ||
| 3237 | + ScheduleRealInfo scheduleRealInfo = scheduleRealInfos.get(i); | ||
| 3238 | + if (scheduleRealInfo.getLpName().equals(lp)) { | ||
| 3239 | + bcs++; | ||
| 3240 | + String fcsj = scheduleRealInfo.getFcsj(); | ||
| 3241 | + | ||
| 3242 | + if (!clzbh.equals(scheduleRealInfo.getClZbh())) { | ||
| 3243 | + clzbh = scheduleRealInfo.getClZbh(); | ||
| 3244 | + if (thclzbh == "") { | ||
| 3245 | + thclzbh += scheduleRealInfo.getClZbh() + ","; | ||
| 3246 | + } else { | ||
| 3247 | + thclzbh += scheduleRealInfo.getClZbh(); | ||
| 3248 | + } | ||
| 3249 | + map.put("thclzbh", thclzbh); | ||
| 3250 | + } | ||
| 3251 | + | ||
| 3252 | + if (!jgh.equals(scheduleRealInfo.getjGh())) { | ||
| 3253 | + jgh = scheduleRealInfo.getjGh(); | ||
| 3254 | + if (map.get("jjb2") != null) { | ||
| 3255 | + map.put("jjb3", scheduleRealInfo.getjGh() + "/" + | ||
| 3256 | + scheduleRealInfo.getFcsjActual()); | ||
| 3257 | + | ||
| 3258 | + } else { | ||
| 3259 | + map.put("jjb2", scheduleRealInfo.getjGh() + "/" + | ||
| 3260 | + scheduleRealInfo.getFcsjActual()); | ||
| 3261 | + } | ||
| 3262 | + | ||
| 3263 | + } | ||
| 3264 | + | ||
| 3265 | + if (scheduleRealInfo.getsGh() != null) { | ||
| 3266 | + if (!scheduleRealInfo.getsGh().equals(sgh)) { | ||
| 3267 | + sgh = scheduleRealInfo.getsGh(); | ||
| 3268 | + if (map.get("sjb1") != null) { | ||
| 3269 | + if (map.get("sjb2") != null) { | ||
| 3270 | + map.put("sjb3", scheduleRealInfo.getsGh() + "/" + | ||
| 3271 | + scheduleRealInfo.getFcsjActual()); | ||
| 3272 | + } else { | ||
| 3273 | + map.put("sjb2", scheduleRealInfo.getsGh() + "/" + | ||
| 3274 | + scheduleRealInfo.getFcsjActual()); | ||
| 3275 | + } | ||
| 3276 | + } else { | ||
| 3277 | + map.put("sjb1", scheduleRealInfo.getsGh() + "/" + | ||
| 3278 | + scheduleRealInfo.getFcsjActual()); | ||
| 3279 | + } | ||
| 3280 | + } | ||
| 3281 | + } | ||
| 3282 | + if (scheduleRealInfo.getFcsjActual() != null) { | ||
| 3283 | + String fcsjs[] = fcsj.split(":"); | ||
| 3284 | + String fcsjActuals[] = scheduleRealInfo.getFcsjActual().split(":"); | ||
| 3285 | + int a = Integer.parseInt(fcsjActuals[0]) * 60 + Integer.parseInt(fcsjActuals[1]); | ||
| 3286 | + int b = Integer.parseInt(fcsjs[0]) * 60 + Integer.parseInt(fcsjs[1]); | ||
| 3287 | + map.put("cz" + bcs, b - a); | ||
| 3288 | + } else { | ||
| 3289 | + map.put("cz" + bcs, "无"); | ||
| 3290 | + } | ||
| 3291 | + map.put("lp", scheduleRealInfo.getLpName()); | ||
| 3292 | + map.put("dd" + bcs, scheduleRealInfo.getZdsjActual()); | ||
| 3293 | + map.put("kc" + bcs, scheduleRealInfo.getFcsjActual()); | ||
| 3294 | + | ||
| 3295 | + if (i < scheduleRealInfos.size() - 1) { | ||
| 3296 | + if (!scheduleRealInfos.get(i + 1).getLpName().equals | ||
| 3297 | + (scheduleRealInfos.get(i).getLpName())) { | ||
| 3298 | + list.add(map); | ||
| 3299 | + lp = "lp"; | ||
| 3300 | + jgh = "jgh"; | ||
| 3301 | + clzbh = "clzbh"; | ||
| 3302 | + bcs = 0; | ||
| 3303 | + thclzbh = ""; | ||
| 3304 | + sgh = "sgh"; | ||
| 3305 | + } | ||
| 3306 | + } else { | ||
| 3307 | + list.add(map); | ||
| 3308 | + } | ||
| 3309 | + } else { | ||
| 3310 | + bcs = 1; | ||
| 3311 | + map = new HashMap<String, Object>(); | ||
| 3312 | + lp = scheduleRealInfo.getLpName(); | ||
| 3313 | + jgh = scheduleRealInfo.getjGh(); | ||
| 3314 | + clzbh = scheduleRealInfo.getClZbh(); | ||
| 3315 | + if (scheduleRealInfo.getsGh() != null) { | ||
| 3316 | + sgh = scheduleRealInfo.getsGh(); | ||
| 3317 | + map.put("sjb1", scheduleRealInfo.getsGh() + "/" + | ||
| 3318 | + scheduleRealInfo.getFcsjActual()); | ||
| 3319 | + } | ||
| 3320 | + String fcsj = scheduleRealInfo.getFcsj(); | ||
| 3321 | + scheduleRealInfo.getFcsjActual(); | ||
| 3322 | + map.put("jjb1", jgh + "/" + scheduleRealInfo.getFcsjActual()); | ||
| 3323 | + map.put("cccl", clzbh); | ||
| 3324 | + | ||
| 3325 | + if (scheduleRealInfo.getFcsjActual() != null) { | ||
| 3326 | + String fcsjs[] = fcsj.split(":"); | ||
| 3327 | + String fcsjActuals[] = scheduleRealInfo.getFcsjActual().split(":"); | ||
| 3328 | + int a = Integer.parseInt(fcsjActuals[0]) * 60 + Integer.parseInt(fcsjActuals[1]); | ||
| 3329 | + int b = Integer.parseInt(fcsjs[0]) * 60 + Integer.parseInt(fcsjs[1]); | ||
| 3330 | + map.put("cz" + bcs, b - a); | ||
| 3331 | + } else { | ||
| 3332 | + map.put("cz" + bcs, "无"); | ||
| 3333 | + } | ||
| 3334 | + | ||
| 3335 | + | ||
| 3336 | + map.put("lp", scheduleRealInfo.getLpName()); | ||
| 3337 | + map.put("dd" + bcs, scheduleRealInfo.getZdsjActual()); | ||
| 3338 | + map.put("kc" + bcs, scheduleRealInfo.getFcsjActual()); | ||
| 3339 | + | ||
| 3340 | + if (i < scheduleRealInfos.size() - 1) { | ||
| 3341 | + if (!scheduleRealInfos.get(i + 1).getLpName().equals | ||
| 3342 | + (scheduleRealInfos.get(i).getLpName())) { | ||
| 3343 | + list.add(map); | ||
| 3344 | + lp = "lp"; | ||
| 3345 | + jgh = "jgh"; | ||
| 3346 | + clzbh = "clzbh"; | ||
| 3347 | + bcs = 0; | ||
| 3348 | + thclzbh = ""; | ||
| 3349 | + sgh = "sgh"; | ||
| 3350 | + } | ||
| 3351 | + } else { | ||
| 3352 | + list.add(map); | ||
| 3353 | + } | ||
| 3354 | + } | ||
| 3355 | + | ||
| 3356 | + } | ||
| 3357 | + return list; | ||
| 3358 | + } | ||
| 3359 | + | ||
| 3360 | + | ||
| 3361 | + @Override | ||
| 3362 | + public List<Map<String, Object>> scheduleDailyExport(Map<String, Object> map) { | ||
| 3363 | + String line = map.get("line").toString(); | ||
| 3364 | + String date = map.get("date").toString(); | ||
| 3365 | + String xlName = map.get("xlName").toString(); | ||
| 3366 | + String state = map.get("state").toString(); | ||
| 3367 | + String type = map.get("type").toString(); | ||
| 3368 | + | ||
| 3369 | + List<Map<String, Object>> dataList2 = new ArrayList<Map<String, Object>>(); | ||
| 3370 | + List<Map<String, Object>> dataList3 = new ArrayList<Map<String, Object>>(); | ||
| 3371 | + List<Map<String, Object>> list1 = this.statisticsDaily(line, date, xlName, null); | ||
| 3372 | + List<ScheduleRealInfo> list2 = this.queryUserInfo(line, date, state); | ||
| 3373 | + List<ScheduleRealInfo> list3 = this.realScheduleList(line, date); | ||
| 3374 | + | ||
| 3375 | + for (Map<String, Object> m : list1) { | ||
| 3283 | // m.put("ssgl", m.get("ssgl")); | 3376 | // m.put("ssgl", m.get("ssgl")); |
| 3284 | // m.put("ssbc", m.get("ssbc")); | 3377 | // m.put("ssbc", m.get("ssbc")); |
| 3285 | // m.put("ssgl_lz", m.get("ssgl_lz") + " / " + m.get("ssbc_lz")); | 3378 | // m.put("ssgl_lz", m.get("ssgl_lz") + " / " + m.get("ssbc_lz")); |
| @@ -3293,181 +3386,182 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -3293,181 +3386,182 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 3293 | // m.put("ssgl_qh", m.get("ssgl_qh") + " / " + m.get("ssbc_qh")); | 3386 | // m.put("ssgl_qh", m.get("ssgl_qh") + " / " + m.get("ssbc_qh")); |
| 3294 | // m.put("ssgl_yw", m.get("ssgl_yw") + " / " + m.get("ssbc_yw")); | 3387 | // m.put("ssgl_yw", m.get("ssgl_yw") + " / " + m.get("ssbc_yw")); |
| 3295 | // m.put("ssgl_other", m.get("ssgl_other") + " / " + m.get("ssbc_other")); | 3388 | // m.put("ssgl_other", m.get("ssgl_other") + " / " + m.get("ssbc_other")); |
| 3296 | - } | ||
| 3297 | - | ||
| 3298 | - int size = 0; | ||
| 3299 | - Map<String, Object> tempMap = new HashMap<String, Object>(); | ||
| 3300 | - for(int i = 0; i < list2.size(); i++){ | ||
| 3301 | - Object obj = (Object)list2.get(i); | ||
| 3302 | - Object[] objs = (Object[])obj; | ||
| 3303 | - if(size == 5){ | ||
| 3304 | - size = 0; | ||
| 3305 | - dataList2.add(tempMap); | ||
| 3306 | - tempMap = new HashMap<String, Object>(); | ||
| 3307 | - } | ||
| 3308 | - tempMap.put("lp" + size, objs[3]); | ||
| 3309 | - tempMap.put("ch" + size, objs[2]); | ||
| 3310 | - tempMap.put("jz" + size, objs[1] + "/" + objs[4]); | ||
| 3311 | - tempMap.put("sz" + size, ""); | ||
| 3312 | - tempMap.put("jw" + size, ""); | ||
| 3313 | - tempMap.put("sw" + size, ""); | ||
| 3314 | - | ||
| 3315 | - size++; | ||
| 3316 | - } | ||
| 3317 | - if(size < 5){ | ||
| 3318 | - for(;size < 5; size++){ | ||
| 3319 | - tempMap.put("lp" + size, ""); | ||
| 3320 | - tempMap.put("ch" + size, ""); | ||
| 3321 | - tempMap.put("jz" + size, ""); | ||
| 3322 | - tempMap.put("sz" + size, ""); | ||
| 3323 | - tempMap.put("jw" + size, ""); | ||
| 3324 | - tempMap.put("sw" + size, ""); | ||
| 3325 | - } | ||
| 3326 | - } | ||
| 3327 | - | ||
| 3328 | - dataList2.add(tempMap); | ||
| 3329 | - | ||
| 3330 | - size = 0; | ||
| 3331 | - tempMap = new HashMap<String, Object>(); | ||
| 3332 | - for(ScheduleRealInfo schedule : list3){ | ||
| 3333 | - if(size == 3){ | ||
| 3334 | - size = 0; | ||
| 3335 | - dataList3.add(tempMap); | ||
| 3336 | - tempMap = new HashMap<String, Object>(); | ||
| 3337 | - } | ||
| 3338 | - tempMap.put("lpName" + size, schedule.getLpName()); | ||
| 3339 | - tempMap.put("qdzName" + size, schedule.getQdzName()); | ||
| 3340 | - tempMap.put("zdsj" + size, schedule.getZdsj()); | ||
| 3341 | - tempMap.put("zdsjActual" + size, schedule.getZdsjActual()!=null?schedule.getZdsjActual():""); | ||
| 3342 | - tempMap.put("zdsjk" + size, ""); | ||
| 3343 | - tempMap.put("zdsjm" + size, ""); | ||
| 3344 | - tempMap.put("fcsj" + size, schedule.getFcsj()); | ||
| 3345 | - tempMap.put("fcsjActual" + size, schedule.getFcsjActual()!=null?schedule.getFcsjActual():""); | ||
| 3346 | - tempMap.put("fcsjk" + size, ""); | ||
| 3347 | - tempMap.put("fcsjm" + size, ""); | ||
| 3348 | - tempMap.put("remarks" + size, schedule.getRemarks()!=null?schedule.getRemarks():""); | ||
| 3349 | - | ||
| 3350 | - size++; | ||
| 3351 | - } | ||
| 3352 | - if(size < 3){ | ||
| 3353 | - for(; size < 3; size++){ | ||
| 3354 | - tempMap.put("lpName" + size, ""); | ||
| 3355 | - tempMap.put("qdzName" + size, ""); | ||
| 3356 | - tempMap.put("zdsj" + size, ""); | ||
| 3357 | - tempMap.put("zdsjActual" + size, ""); | ||
| 3358 | - tempMap.put("zdsjk" + size, ""); | ||
| 3359 | - tempMap.put("zdsjm" + size, ""); | ||
| 3360 | - tempMap.put("fcsj" + size, ""); | ||
| 3361 | - tempMap.put("fcsjActual" + size, ""); | ||
| 3362 | - tempMap.put("fcsjk" + size, ""); | ||
| 3363 | - tempMap.put("fcsjm" + size, ""); | ||
| 3364 | - tempMap.put("remarks" + size, ""); | ||
| 3365 | - } | ||
| 3366 | - } | ||
| 3367 | - | ||
| 3368 | - dataList3.add(tempMap); | 3389 | + } |
| 3390 | + | ||
| 3391 | + int size = 0; | ||
| 3392 | + Map<String, Object> tempMap = new HashMap<String, Object>(); | ||
| 3393 | + for (int i = 0; i < list2.size(); i++) { | ||
| 3394 | + Object obj = (Object) list2.get(i); | ||
| 3395 | + Object[] objs = (Object[]) obj; | ||
| 3396 | + if (size == 5) { | ||
| 3397 | + size = 0; | ||
| 3398 | + dataList2.add(tempMap); | ||
| 3399 | + tempMap = new HashMap<String, Object>(); | ||
| 3400 | + } | ||
| 3401 | + tempMap.put("lp" + size, objs[3]); | ||
| 3402 | + tempMap.put("ch" + size, objs[2]); | ||
| 3403 | + tempMap.put("jz" + size, objs[1] + "/" + objs[4]); | ||
| 3404 | + tempMap.put("sz" + size, ""); | ||
| 3405 | + tempMap.put("jw" + size, ""); | ||
| 3406 | + tempMap.put("sw" + size, ""); | ||
| 3407 | + | ||
| 3408 | + size++; | ||
| 3409 | + } | ||
| 3410 | + if (size < 5) { | ||
| 3411 | + for (; size < 5; size++) { | ||
| 3412 | + tempMap.put("lp" + size, ""); | ||
| 3413 | + tempMap.put("ch" + size, ""); | ||
| 3414 | + tempMap.put("jz" + size, ""); | ||
| 3415 | + tempMap.put("sz" + size, ""); | ||
| 3416 | + tempMap.put("jw" + size, ""); | ||
| 3417 | + tempMap.put("sw" + size, ""); | ||
| 3418 | + } | ||
| 3419 | + } | ||
| 3420 | + | ||
| 3421 | + dataList2.add(tempMap); | ||
| 3422 | + | ||
| 3423 | + size = 0; | ||
| 3424 | + tempMap = new HashMap<String, Object>(); | ||
| 3425 | + for (ScheduleRealInfo schedule : list3) { | ||
| 3426 | + if (size == 3) { | ||
| 3427 | + size = 0; | ||
| 3428 | + dataList3.add(tempMap); | ||
| 3429 | + tempMap = new HashMap<String, Object>(); | ||
| 3430 | + } | ||
| 3431 | + tempMap.put("lpName" + size, schedule.getLpName()); | ||
| 3432 | + tempMap.put("qdzName" + size, schedule.getQdzName()); | ||
| 3433 | + tempMap.put("zdsj" + size, schedule.getZdsj()); | ||
| 3434 | + tempMap.put("zdsjActual" + size, schedule.getZdsjActual() != null ? schedule.getZdsjActual() : ""); | ||
| 3435 | + tempMap.put("zdsjk" + size, ""); | ||
| 3436 | + tempMap.put("zdsjm" + size, ""); | ||
| 3437 | + tempMap.put("fcsj" + size, schedule.getFcsj()); | ||
| 3438 | + tempMap.put("fcsjActual" + size, schedule.getFcsjActual() != null ? schedule.getFcsjActual() : ""); | ||
| 3439 | + tempMap.put("fcsjk" + size, ""); | ||
| 3440 | + tempMap.put("fcsjm" + size, ""); | ||
| 3441 | + tempMap.put("remarks" + size, schedule.getRemarks() != null ? schedule.getRemarks() : ""); | ||
| 3442 | + | ||
| 3443 | + size++; | ||
| 3444 | + } | ||
| 3445 | + if (size < 3) { | ||
| 3446 | + for (; size < 3; size++) { | ||
| 3447 | + tempMap.put("lpName" + size, ""); | ||
| 3448 | + tempMap.put("qdzName" + size, ""); | ||
| 3449 | + tempMap.put("zdsj" + size, ""); | ||
| 3450 | + tempMap.put("zdsjActual" + size, ""); | ||
| 3451 | + tempMap.put("zdsjk" + size, ""); | ||
| 3452 | + tempMap.put("zdsjm" + size, ""); | ||
| 3453 | + tempMap.put("fcsj" + size, ""); | ||
| 3454 | + tempMap.put("fcsjActual" + size, ""); | ||
| 3455 | + tempMap.put("fcsjk" + size, ""); | ||
| 3456 | + tempMap.put("fcsjm" + size, ""); | ||
| 3457 | + tempMap.put("remarks" + size, ""); | ||
| 3458 | + } | ||
| 3459 | + } | ||
| 3460 | + | ||
| 3461 | + dataList3.add(tempMap); | ||
| 3369 | 3462 | ||
| 3370 | if (type.equals("export")) { | 3463 | if (type.equals("export")) { |
| 3371 | - SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), | ||
| 3372 | - sdfSimple = new SimpleDateFormat("yyyyMMdd"); | ||
| 3373 | - Map<String, Object> m = new HashMap<String, Object>(); | ||
| 3374 | - List<Iterator<?>> listI = new ArrayList<Iterator<?>>(); | ||
| 3375 | - ReportUtils ee = new ReportUtils(); | ||
| 3376 | - try { | ||
| 3377 | - listI.add(list1.iterator()); | ||
| 3378 | - listI.add(dataList2.iterator()); | ||
| 3379 | - listI.add(dataList3.iterator()); | ||
| 3380 | - String path = this.getClass().getResource("/").getPath()+"static/pages/forms/"; | ||
| 3381 | - String sourcePath = path+"mould/scheduleDaily.xls"; | ||
| 3382 | - if(date.length() == 7){ | ||
| 3383 | - sdfMonth = new SimpleDateFormat("yyyy-MM"); | ||
| 3384 | - sdfSimple = new SimpleDateFormat("yyyyMM"); | ||
| 3385 | - sourcePath = path+"mould/scheduleDaily_m.xls"; | ||
| 3386 | - } | ||
| 3387 | - ee.excelReplace(listI, new Object[] { m }, sourcePath, | ||
| 3388 | - path+"export/调度日报" + sdfSimple.format(sdfMonth.parse(date))+".xls"); | ||
| 3389 | - } catch (Exception e) { | ||
| 3390 | - // TODO: handle exception | ||
| 3391 | - e.printStackTrace(); | ||
| 3392 | - } | 3464 | + SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), |
| 3465 | + sdfSimple = new SimpleDateFormat("yyyyMMdd"); | ||
| 3466 | + Map<String, Object> m = new HashMap<String, Object>(); | ||
| 3467 | + List<Iterator<?>> listI = new ArrayList<Iterator<?>>(); | ||
| 3468 | + ReportUtils ee = new ReportUtils(); | ||
| 3469 | + try { | ||
| 3470 | + listI.add(list1.iterator()); | ||
| 3471 | + listI.add(dataList2.iterator()); | ||
| 3472 | + listI.add(dataList3.iterator()); | ||
| 3473 | + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/"; | ||
| 3474 | + String sourcePath = path + "mould/scheduleDaily.xls"; | ||
| 3475 | + if (date.length() == 7) { | ||
| 3476 | + sdfMonth = new SimpleDateFormat("yyyy-MM"); | ||
| 3477 | + sdfSimple = new SimpleDateFormat("yyyyMM"); | ||
| 3478 | + sourcePath = path + "mould/scheduleDaily_m.xls"; | ||
| 3479 | + } | ||
| 3480 | + ee.excelReplace(listI, new Object[]{m}, sourcePath, | ||
| 3481 | + path + "export/调度日报" + sdfSimple.format(sdfMonth.parse(date)) + ".xls"); | ||
| 3482 | + } catch (Exception e) { | ||
| 3483 | + // TODO: handle exception | ||
| 3484 | + e.printStackTrace(); | ||
| 3485 | + } | ||
| 3393 | } | 3486 | } |
| 3394 | - | ||
| 3395 | - return new ArrayList<Map<String, Object>>(); | ||
| 3396 | - } | ||
| 3397 | - | ||
| 3398 | - @Override | ||
| 3399 | - public Map<String, Object> exportWaybillMore(Map<String, Object> map) { | ||
| 3400 | - String date = map.get("date").toString(); | ||
| 3401 | - String line = map.get("line").toString(); | ||
| 3402 | - List<List> lists = JSON.parseArray(map.get("strs").toString(), List.class); | ||
| 3403 | - String path = this.getClass().getResource("/").getPath()+"static/pages/forms/export/"; | ||
| 3404 | - SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), | ||
| 3405 | - sdfSimple = new SimpleDateFormat("yyyyMMdd"); | ||
| 3406 | - int num = 0; | ||
| 3407 | - File file = null; | ||
| 3408 | - try { | ||
| 3409 | - while (true) { | ||
| 3410 | - String fileUrl = path+"行车路单"+sdfSimple.format(sdfMonth.parse(date)); | ||
| 3411 | - file = new File(fileUrl + (num == 0 ? "/" : "(" + num + ")/")); | ||
| 3412 | - if(file.exists()){ | ||
| 3413 | - num++; | ||
| 3414 | - } else { | ||
| 3415 | - break; | ||
| 3416 | - } | ||
| 3417 | - } | ||
| 3418 | - file.mkdirs(); | ||
| 3419 | - | ||
| 3420 | - for(List<String> list : lists){ | ||
| 3421 | - String jName = list.get(0); | ||
| 3422 | - String clZbh = list.get(1); | ||
| 3423 | - String lpName = list.get(2); | ||
| 3424 | - this.exportWaybill(jName, clZbh, lpName, date, line); | ||
| 3425 | - File temp = new File(path+date+"-"+jName+"-"+clZbh+"-"+lpName+"-行车路单.xls"); | ||
| 3426 | - String fileName = file.getName(); | ||
| 3427 | - temp.renameTo(new File(path + fileName + "/" + temp.getName())); | ||
| 3428 | - | ||
| 3429 | - File[] listFiles = file.listFiles(); | ||
| 3430 | - ZipOutputStream zos = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(path+file.getName()+".zip"))); | 3487 | + |
| 3488 | + return new ArrayList<Map<String, Object>>(); | ||
| 3489 | + } | ||
| 3490 | + | ||
| 3491 | + @Override | ||
| 3492 | + public Map<String, Object> exportWaybillMore(Map<String, Object> map) { | ||
| 3493 | + String date = map.get("date").toString(); | ||
| 3494 | + String line = map.get("line").toString(); | ||
| 3495 | + List<List> lists = JSON.parseArray(map.get("strs").toString(), List.class); | ||
| 3496 | + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/export/"; | ||
| 3497 | + SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), | ||
| 3498 | + sdfSimple = new SimpleDateFormat("yyyyMMdd"); | ||
| 3499 | + int num = 0; | ||
| 3500 | + File file = null; | ||
| 3501 | + try { | ||
| 3502 | + while (true) { | ||
| 3503 | + String fileUrl = path + "行车路单" + sdfSimple.format(sdfMonth.parse(date)); | ||
| 3504 | + file = new File(fileUrl + (num == 0 ? "/" : "(" + num + ")/")); | ||
| 3505 | + if (file.exists()) { | ||
| 3506 | + num++; | ||
| 3507 | + } else { | ||
| 3508 | + break; | ||
| 3509 | + } | ||
| 3510 | + } | ||
| 3511 | + file.mkdirs(); | ||
| 3512 | + | ||
| 3513 | + for (List<String> list : lists) { | ||
| 3514 | + String jName = list.get(0); | ||
| 3515 | + String clZbh = list.get(1); | ||
| 3516 | + String lpName = list.get(2); | ||
| 3517 | + this.exportWaybill(jName, clZbh, lpName, date, line); | ||
| 3518 | + File temp = new File(path + date + "-" + jName + "-" + clZbh + "-" + lpName + "-行车路单.xls"); | ||
| 3519 | + String fileName = file.getName(); | ||
| 3520 | + temp.renameTo(new File(path + fileName + "/" + temp.getName())); | ||
| 3521 | + | ||
| 3522 | + File[] listFiles = file.listFiles(); | ||
| 3523 | + ZipOutputStream zos = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(path + file.getName() + ".zip"))); | ||
| 3431 | // zos.setEncoding("gbk"); | 3524 | // zos.setEncoding("gbk"); |
| 3432 | // zos.putNextEntry(new ZipEntry(fileName + "/")); | 3525 | // zos.putNextEntry(new ZipEntry(fileName + "/")); |
| 3433 | - for(int i = 0; i < listFiles.length; i++){ | ||
| 3434 | - zos.putNextEntry(new ZipEntry(fileName+"/"+listFiles[i].getName())); | ||
| 3435 | - BufferedInputStream bis = new BufferedInputStream(new FileInputStream(listFiles[i])); | ||
| 3436 | - BufferedOutputStream bos = new BufferedOutputStream(zos); | ||
| 3437 | - int bytesRead = 0; | ||
| 3438 | - for(byte[] buffer = new byte[BUF_SIZE]; ((bytesRead = bis.read(buffer, 0, BUF_SIZE)) != -1);){ | 3526 | + for (int i = 0; i < listFiles.length; i++) { |
| 3527 | + zos.putNextEntry(new ZipEntry(fileName + "/" + listFiles[i].getName())); | ||
| 3528 | + BufferedInputStream bis = new BufferedInputStream(new FileInputStream(listFiles[i])); | ||
| 3529 | + BufferedOutputStream bos = new BufferedOutputStream(zos); | ||
| 3530 | + int bytesRead = 0; | ||
| 3531 | + for (byte[] buffer = new byte[BUF_SIZE]; ((bytesRead = bis.read(buffer, 0, BUF_SIZE)) != -1); ) { | ||
| 3439 | // zos.write(buffer, 0, bytesRead); | 3532 | // zos.write(buffer, 0, bytesRead); |
| 3440 | // zos.flush(); | 3533 | // zos.flush(); |
| 3441 | - bos.write(buffer, 0, bytesRead); | ||
| 3442 | - bos.flush(); | ||
| 3443 | - } | ||
| 3444 | - } | ||
| 3445 | - zos.close(); | ||
| 3446 | - } | ||
| 3447 | - | ||
| 3448 | - } catch (Exception e) { | ||
| 3449 | - // TODO: handle exception | ||
| 3450 | - e.printStackTrace(); | ||
| 3451 | - } | ||
| 3452 | - | ||
| 3453 | - map.put("fileName", file.getName()); | ||
| 3454 | - return map; | ||
| 3455 | - } | 3534 | + bos.write(buffer, 0, bytesRead); |
| 3535 | + bos.flush(); | ||
| 3536 | + } | ||
| 3537 | + } | ||
| 3538 | + zos.close(); | ||
| 3539 | + } | ||
| 3540 | + | ||
| 3541 | + } catch (Exception e) { | ||
| 3542 | + // TODO: handle exception | ||
| 3543 | + e.printStackTrace(); | ||
| 3544 | + } | ||
| 3545 | + | ||
| 3546 | + map.put("fileName", file.getName()); | ||
| 3547 | + return map; | ||
| 3548 | + } | ||
| 3456 | 3549 | ||
| 3457 | @Autowired | 3550 | @Autowired |
| 3458 | SchedulePlanInfoService schPlanService; | 3551 | SchedulePlanInfoService schPlanService; |
| 3552 | + | ||
| 3459 | @Override | 3553 | @Override |
| 3460 | public List<SchedulePlanInfo> currentSchedulePlan(String lineCode) { | 3554 | public List<SchedulePlanInfo> currentSchedulePlan(String lineCode) { |
| 3461 | List<SchedulePlanInfo> rs = dayOfSchedule.schedulePlanMap.get(lineCode); | 3555 | List<SchedulePlanInfo> rs = dayOfSchedule.schedulePlanMap.get(lineCode); |
| 3462 | 3556 | ||
| 3463 | - if(rs==null || rs.size()==0){ | 3557 | + if (rs == null || rs.size() == 0) { |
| 3464 | //尝试刷新内存 | 3558 | //尝试刷新内存 |
| 3465 | Map<String, Object> data = new HashMap<>(); | 3559 | Map<String, Object> data = new HashMap<>(); |
| 3466 | data.put("scheduleDate_eq", dayOfSchedule.currSchDateMap.get(lineCode)); | 3560 | data.put("scheduleDate_eq", dayOfSchedule.currSchDateMap.get(lineCode)); |
| 3467 | data.put("xlBm_eq", lineCode); | 3561 | data.put("xlBm_eq", lineCode); |
| 3468 | List<SchedulePlanInfo> planItr = dayOfSchedule.cleanSchPlanItr(schPlanService.list(data).iterator()); | 3562 | List<SchedulePlanInfo> planItr = dayOfSchedule.cleanSchPlanItr(schPlanService.list(data).iterator()); |
| 3469 | 3563 | ||
| 3470 | - if(planItr.size() > 0){ | 3564 | + if (planItr.size() > 0) { |
| 3471 | dayOfSchedule.schedulePlanMap.put(lineCode, planItr); | 3565 | dayOfSchedule.schedulePlanMap.put(lineCode, planItr); |
| 3472 | return planItr; | 3566 | return planItr; |
| 3473 | } | 3567 | } |
| @@ -3479,34 +3573,53 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -3479,34 +3573,53 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 3479 | @Override | 3573 | @Override |
| 3480 | public Map<String, Object> lpChangeMulti(String leftIdx, String rightIdx, int type) { | 3574 | public Map<String, Object> lpChangeMulti(String leftIdx, String rightIdx, int type) { |
| 3481 | Map<String, Object> rs = new HashMap<>(); | 3575 | Map<String, Object> rs = new HashMap<>(); |
| 3482 | - List<ScheduleRealInfo> ts = new ArrayList<>(); | 3576 | + Set<ScheduleRealInfo> ts = new HashSet<>(); |
| 3483 | try { | 3577 | try { |
| 3484 | List<String> leftList = Splitter.on(",").splitToList(leftIdx); | 3578 | List<String> leftList = Splitter.on(",").splitToList(leftIdx); |
| 3485 | List<String> rightList = Splitter.on(",").splitToList(rightIdx); | 3579 | List<String> rightList = Splitter.on(",").splitToList(rightIdx); |
| 3486 | - if(leftList.size() != rightList.size()){ | ||
| 3487 | - rs.put("status", ResponseCode.ERROR); | ||
| 3488 | - rs.put("msg", "不对称的对调!"); | ||
| 3489 | - return rs; | 3580 | + |
| 3581 | + //有班次变更的车辆 | ||
| 3582 | + Set<String> cars = new HashSet<>(); | ||
| 3583 | + | ||
| 3584 | + List<ScheduleRealInfo> largeList, smallList; | ||
| 3585 | + if (leftList.size() > rightList.size()) { | ||
| 3586 | + largeList = getByIdx(leftList); | ||
| 3587 | + smallList = getByIdx(rightList); | ||
| 3588 | + } else { | ||
| 3589 | + largeList = getByIdx(rightList); | ||
| 3590 | + smallList = getByIdx(leftList); | ||
| 3490 | } | 3591 | } |
| 3491 | 3592 | ||
| 3492 | - ScheduleRealInfo leftSch, rightSch; | ||
| 3493 | - for(int i = 0; i < leftList.size(); i ++){ | ||
| 3494 | - leftSch = dayOfSchedule.get(Long.parseLong(leftList.get(i))); | ||
| 3495 | - rightSch = dayOfSchedule.get(Long.parseLong(rightList.get(i))); | 3593 | + ScheduleRealInfo leftSch, rightSch = null; |
| 3594 | + boolean changeRealTime = true; | ||
| 3595 | + for (int i = 0; i < largeList.size(); i++) { | ||
| 3596 | + leftSch = largeList.get(i); | ||
| 3597 | + if (i < smallList.size()) { | ||
| 3598 | + rightSch = smallList.get(i); | ||
| 3599 | + ts.add(rightSch); | ||
| 3600 | + } else | ||
| 3601 | + changeRealTime = false; | ||
| 3496 | 3602 | ||
| 3497 | //调换路牌 | 3603 | //调换路牌 |
| 3498 | - lpChange(leftSch, rightSch, type); | ||
| 3499 | - | 3604 | + lpChange(leftSch, rightSch, type, changeRealTime); |
| 3500 | ts.add(leftSch); | 3605 | ts.add(leftSch); |
| 3501 | - ts.add(rightSch); | ||
| 3502 | 3606 | ||
| 3503 | - dayOfSchedule.save(leftSch); | ||
| 3504 | - dayOfSchedule.save(rightSch); | 3607 | + cars.add(leftSch.getClZbh()); |
| 3608 | + cars.add(rightSch.getClZbh()); | ||
| 3609 | + } | ||
| 3610 | + | ||
| 3611 | + //重新计算起点应到时间 | ||
| 3612 | + for(String nbbm : cars){ | ||
| 3613 | + ts.addAll(dayOfSchedule.updateQdzTimePlan(nbbm)); | ||
| 3614 | + } | ||
| 3615 | + | ||
| 3616 | + for (ScheduleRealInfo sch : ts) { | ||
| 3617 | + dayOfSchedule.save(sch); | ||
| 3505 | } | 3618 | } |
| 3506 | 3619 | ||
| 3507 | rs.put("status", ResponseCode.SUCCESS); | 3620 | rs.put("status", ResponseCode.SUCCESS); |
| 3508 | rs.put("ts", ts); | 3621 | rs.put("ts", ts); |
| 3509 | - }catch(Exception e){ | 3622 | + } catch (Exception e) { |
| 3510 | logger.error("", e); | 3623 | logger.error("", e); |
| 3511 | rs.put("status", ResponseCode.ERROR); | 3624 | rs.put("status", ResponseCode.ERROR); |
| 3512 | rs.put("msg", e.getMessage()); | 3625 | rs.put("msg", e.getMessage()); |
| @@ -3515,13 +3628,28 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -3515,13 +3628,28 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 3515 | return rs; | 3628 | return rs; |
| 3516 | } | 3629 | } |
| 3517 | 3630 | ||
| 3631 | + private List<ScheduleRealInfo> getByIdx(List<String> idList) { | ||
| 3632 | + List<ScheduleRealInfo> list = new ArrayList<>(); | ||
| 3633 | + for (String id : idList) { | ||
| 3634 | + list.add(dayOfSchedule.get(Long.parseLong(id))); | ||
| 3635 | + } | ||
| 3636 | + return list; | ||
| 3637 | + } | ||
| 3638 | + | ||
| 3518 | @Override | 3639 | @Override |
| 3519 | - public void lpChange(ScheduleRealInfo leftSch, ScheduleRealInfo rightSch, int type) { | 3640 | + public void lpChange(ScheduleRealInfo leftSch, ScheduleRealInfo rightSch, int type, boolean changeRealTime) { |
| 3520 | LpData leftData = new LpData(leftSch); | 3641 | LpData leftData = new LpData(leftSch); |
| 3521 | LpData rightData = new LpData(rightSch); | 3642 | LpData rightData = new LpData(rightSch); |
| 3522 | 3643 | ||
| 3523 | - leftData.appendTo(rightSch, type); | ||
| 3524 | - rightData.appendTo(leftSch, type); | 3644 | + leftData.appendTo(rightSch, type, changeRealTime); |
| 3645 | + rightData.appendTo(leftSch, type, changeRealTime); | ||
| 3646 | + | ||
| 3647 | + //更新车辆和班次映射信息 | ||
| 3648 | + dayOfSchedule.removeNbbm2SchMapp(leftSch, leftData.getNbbm()); | ||
| 3649 | + dayOfSchedule.removeNbbm2SchMapp(rightSch, rightData.getNbbm()); | ||
| 3650 | + | ||
| 3651 | + dayOfSchedule.addNbbm2SchMapp(leftSch, rightData.getNbbm()); | ||
| 3652 | + dayOfSchedule.addNbbm2SchMapp(rightSch, leftData.getNbbm()); | ||
| 3525 | } | 3653 | } |
| 3526 | 3654 | ||
| 3527 | @Override | 3655 | @Override |
src/main/resources/static/real_control_v2/css/main.css
| @@ -850,8 +850,17 @@ svg rect.offline{ | @@ -850,8 +850,17 @@ svg rect.offline{ | ||
| 850 | 850 | ||
| 851 | .operation-real-text{ | 851 | .operation-real-text{ |
| 852 | position: absolute; | 852 | position: absolute; |
| 853 | - top: 10px; | 853 | + top: 9px; |
| 854 | width: 100%; | 854 | width: 100%; |
| 855 | left: 0; | 855 | left: 0; |
| 856 | text-align: center; | 856 | text-align: center; |
| 857 | + pointer-events: none; | ||
| 858 | +} | ||
| 859 | + | ||
| 860 | +.operation-real-text span{ | ||
| 861 | + padding: 15px; | ||
| 862 | + background: #ff4f4f; | ||
| 863 | + color: white; | ||
| 864 | + box-shadow: 0px 4px 6px 0 rgba(0, 0, 0, 0.2), 0px 4px 10px 0 rgba(0, 0, 0, 0.19); | ||
| 865 | + border-radius: 1px 1px 4px 4px; | ||
| 857 | } | 866 | } |
| 858 | \ No newline at end of file | 867 | \ No newline at end of file |
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/fcxxwt.html
| @@ -33,7 +33,9 @@ | @@ -33,7 +33,9 @@ | ||
| 33 | <div class="uk-form-row"> | 33 | <div class="uk-form-row"> |
| 34 | <label class="uk-form-label" >车辆编码</label> | 34 | <label class="uk-form-label" >车辆编码</label> |
| 35 | <div class="uk-form-controls"> | 35 | <div class="uk-form-controls"> |
| 36 | - <input type="text" value="{{sch.clZbh}}" disabled> | 36 | + <div class="uk-autocomplete uk-form car-autocom"> |
| 37 | + <input type="text" value="{{sch.clZbh}}" name="clZbh" required> | ||
| 38 | + </div> | ||
| 37 | </div> | 39 | </div> |
| 38 | </div> | 40 | </div> |
| 39 | </div> | 41 | </div> |
| @@ -52,7 +54,9 @@ | @@ -52,7 +54,9 @@ | ||
| 52 | <div class="uk-form-row"> | 54 | <div class="uk-form-row"> |
| 53 | <label class="uk-form-label" >驾驶员</label> | 55 | <label class="uk-form-label" >驾驶员</label> |
| 54 | <div class="uk-form-controls"> | 56 | <div class="uk-form-controls"> |
| 55 | - <input type="text" value="{{sch.jGh}}/{{sch.jName}}" disabled> | 57 | + <div class="uk-autocomplete uk-form jsy-autocom"> |
| 58 | + <input type="text" value="{{sch.jGh}}/{{sch.jName}}" name="jsy" required> | ||
| 59 | + </div> | ||
| 56 | </div> | 60 | </div> |
| 57 | </div> | 61 | </div> |
| 58 | </div> | 62 | </div> |
| @@ -60,7 +64,9 @@ | @@ -60,7 +64,9 @@ | ||
| 60 | <div class="uk-form-row"> | 64 | <div class="uk-form-row"> |
| 61 | <label class="uk-form-label" >售票员</label> | 65 | <label class="uk-form-label" >售票员</label> |
| 62 | <div class="uk-form-controls"> | 66 | <div class="uk-form-controls"> |
| 63 | - <input type="text" value="{{sch.sGh}}/{{sch.sName}}" disabled> | 67 | + <div class="uk-autocomplete uk-form spy-autocom"> |
| 68 | + <input type="text" value="{{sch.sGh}}/{{sch.sName}}" name="spy"> | ||
| 69 | + </div> | ||
| 64 | </div> | 70 | </div> |
| 65 | </div> | 71 | </div> |
| 66 | </div> | 72 | </div> |
| @@ -170,6 +176,15 @@ | @@ -170,6 +176,15 @@ | ||
| 170 | //字典转换 | 176 | //字典转换 |
| 171 | dictionaryUtils.transformDom($('.nt-dictionary', modal)); | 177 | dictionaryUtils.transformDom($('.nt-dictionary', modal)); |
| 172 | 178 | ||
| 179 | + //车辆自动补全 | ||
| 180 | + $.get('/basic/cars', function (rs) { | ||
| 181 | + gb_common.carAutocomplete($('.car-autocom', modal), rs); | ||
| 182 | + }); | ||
| 183 | + //驾驶员自动补全 | ||
| 184 | + gb_common.personAutocomplete($('.jsy-autocom', modal)); | ||
| 185 | + //售票员 | ||
| 186 | + gb_common.personAutocomplete($('.spy-autocom', modal)); | ||
| 187 | + | ||
| 173 | //submit | 188 | //submit |
| 174 | var f = $('form', modal).formValidation(gb_form_validation_opts); | 189 | var f = $('form', modal).formValidation(gb_form_validation_opts); |
| 175 | f.on('success.form.fv', function(e) { | 190 | f.on('success.form.fv', function(e) { |
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/lp_change.html
| @@ -4,11 +4,9 @@ | @@ -4,11 +4,9 @@ | ||
| 4 | <div class="uk-modal-header"> | 4 | <div class="uk-modal-header"> |
| 5 | <h2>路牌对调</h2></div> | 5 | <h2>路牌对调</h2></div> |
| 6 | 6 | ||
| 7 | - <!--<div class="operation-real-text"> | ||
| 8 | - <span> | ||
| 9 | - 不同路牌才能对调 | ||
| 10 | - </span> | ||
| 11 | - </div>--> | 7 | + <div class="operation-real-text"> |
| 8 | + <span></span> | ||
| 9 | + </div> | ||
| 12 | <div class="uk-grid uk-grid-divider"> | 10 | <div class="uk-grid uk-grid-divider"> |
| 13 | <div class="uk-width-1-2"> | 11 | <div class="uk-width-1-2"> |
| 14 | <form class="uk-form uk-form-horizontal"> | 12 | <form class="uk-form uk-form-horizontal"> |
| @@ -72,7 +70,7 @@ | @@ -72,7 +70,7 @@ | ||
| 72 | </div> | 70 | </div> |
| 73 | <button type="button" class="uk-button uk-modal-close">取消</button> | 71 | <button type="button" class="uk-button uk-modal-close">取消</button> |
| 74 | <button type="submit" data-type="0" class="uk-button uk-button-success"><i class="uk-icon-user"></i> 只调人</button> | 72 | <button type="submit" data-type="0" class="uk-button uk-button-success"><i class="uk-icon-user"></i> 只调人</button> |
| 75 | - <button type="submit" data-type="1" class="uk-button uk-button-success"><i class="uk-icon-bus"></i> 只调车</button> | 73 | + <button title="如起点站相同,则实发时间跟随车辆对调!" data-uk-tooltip type="submit" data-type="1" class="uk-button uk-button-success"><i class="uk-icon-bus"></i> 只调车</button> |
| 76 | <button type="submit" data-type="2" class="uk-button uk-button-primary"><i class="uk-icon-check"></i> 调人并调车</button> | 74 | <button type="submit" data-type="2" class="uk-button uk-button-primary"><i class="uk-icon-check"></i> 调人并调车</button> |
| 77 | </div> | 75 | </div> |
| 78 | </div> | 76 | </div> |
| @@ -80,7 +78,7 @@ | @@ -80,7 +78,7 @@ | ||
| 80 | <script id="schedule-lp_change-list-temp" type="text/html"> | 78 | <script id="schedule-lp_change-list-temp" type="text/html"> |
| 81 | {{if order == 0}} | 79 | {{if order == 0}} |
| 82 | {{each array as sch i}} | 80 | {{each array as sch i}} |
| 83 | - <dl data-id="{{sch.id}}"> | 81 | + <dl data-id="{{sch.id}}" data-jsy="{{sch.jGh}}/{{sch.jName}}" data-nbbm="{{sch.clZbh}}"> |
| 84 | <dd><input type="checkbox"></dd> | 82 | <dd><input type="checkbox"></dd> |
| 85 | <dd>{{sch.jGh}}/{{sch.jName}}</dd> | 83 | <dd>{{sch.jGh}}/{{sch.jName}}</dd> |
| 86 | <dd>{{sch.clZbh}}</dd> | 84 | <dd>{{sch.clZbh}}</dd> |
| @@ -102,7 +100,7 @@ | @@ -102,7 +100,7 @@ | ||
| 102 | {{/each}} | 100 | {{/each}} |
| 103 | {{else if order == 1}} | 101 | {{else if order == 1}} |
| 104 | {{each array as sch i}} | 102 | {{each array as sch i}} |
| 105 | - <dl data-id="{{sch.id}}"> | 103 | + <dl data-id="{{sch.id}}" data-jsy="{{sch.jGh}}/{{sch.jName}}" data-nbbm="{{sch.clZbh}}"> |
| 106 | <dd><input type="checkbox"></dd> | 104 | <dd><input type="checkbox"></dd> |
| 107 | <dd>{{sch.dfsj}}{{if sch.bcType == "out"}} | 105 | <dd>{{sch.dfsj}}{{if sch.bcType == "out"}} |
| 108 | <span class="uk-badge uk-badge-success">出</span> | 106 | <span class="uk-badge uk-badge-success">出</span> |
| @@ -128,6 +126,9 @@ | @@ -128,6 +126,9 @@ | ||
| 128 | (function () { | 126 | (function () { |
| 129 | var modal = '#schedule-lp_change-modal' | 127 | var modal = '#schedule-lp_change-modal' |
| 130 | , sch, list = [{}, {}]; | 128 | , sch, list = [{}, {}]; |
| 129 | + | ||
| 130 | + var opTextPanel = $('.operation-real-text span'); | ||
| 131 | + | ||
| 131 | $(modal).on('init', function (e, data) { | 132 | $(modal).on('init', function (e, data) { |
| 132 | e.stopPropagation(); | 133 | e.stopPropagation(); |
| 133 | sch = data.sch; | 134 | sch = data.sch; |
| @@ -213,26 +214,137 @@ | @@ -213,26 +214,137 @@ | ||
| 213 | dl.removeClass('active'); | 214 | dl.removeClass('active'); |
| 214 | dl.find('input[type=checkbox]')[0].checked = false; | 215 | dl.find('input[type=checkbox]')[0].checked = false; |
| 215 | } | 216 | } |
| 216 | - | 217 | + |
| 218 | + /** | ||
| 219 | + * 校验左右数据是否可对调 | ||
| 220 | + **/ | ||
| 217 | function disabledSubmitBtn() { | 221 | function disabledSubmitBtn() { |
| 218 | - //同一个路牌不能对调 | ||
| 219 | - var leftLP = $('[name=lineSelect]:eq(0)', modal).val() + '_' + $('[name=lpName]:eq(0)', modal).val(); | ||
| 220 | - var rightLP = $('[name=lineSelect]:eq(1)', modal).val() + '_' + $('[name=lpName]:eq(1)', modal).val(); | 222 | + opTextPanel.text('').show(); |
| 221 | var $submitBtn = $('button[type=submit]', modal); | 223 | var $submitBtn = $('button[type=submit]', modal); |
| 222 | - if(leftLP == rightLP) | 224 | + |
| 225 | + var leftArray = $('.sch-list:eq(0) .ct_table_body dl.active', modal); | ||
| 226 | + var rightArray = $('.sch-list:eq(1) .ct_table_body dl.active', modal); | ||
| 227 | + if(leftArray.length == 0 && rightArray.length==0){ | ||
| 228 | + opTextPanel.text('请勾选班次'); | ||
| 229 | + $submitBtn.attr('disabled', 'disabled'); | ||
| 230 | + return; | ||
| 231 | + } | ||
| 232 | + | ||
| 233 | + if(leftArray.length == 0){ | ||
| 234 | + opTextPanel.text('请勾选左侧班次'); | ||
| 235 | + $submitBtn.attr('disabled', 'disabled'); | ||
| 236 | + return; | ||
| 237 | + } | ||
| 238 | + | ||
| 239 | + if(rightArray.length == 0){ | ||
| 240 | + opTextPanel.text('请勾选右侧班次'); | ||
| 223 | $submitBtn.attr('disabled', 'disabled'); | 241 | $submitBtn.attr('disabled', 'disabled'); |
| 242 | + return; | ||
| 243 | + } | ||
| 244 | + | ||
| 245 | + | ||
| 246 | + //是否可调人 | ||
| 247 | + var $perSubmit = $('button[type=submit][data-type=0]', modal); | ||
| 248 | + if(!isTransferPerson(leftArray, rightArray)){ | ||
| 249 | + $perSubmit.attr('disabled', 'disabled'); | ||
| 250 | + } | ||
| 251 | + else | ||
| 252 | + $perSubmit.removeAttr('disabled'); | ||
| 253 | + | ||
| 254 | + //是否可调车 | ||
| 255 | + var $carSubmit = $('button[type=submit][data-type=1]', modal); | ||
| 256 | + if(!isTransferCar(leftArray, rightArray)){ | ||
| 257 | + $carSubmit.attr('disabled', 'disabled'); | ||
| 258 | + } | ||
| 259 | + else | ||
| 260 | + $carSubmit.removeAttr('disabled'); | ||
| 261 | + | ||
| 262 | + | ||
| 263 | + //人车都可以调 | ||
| 264 | + var $threeSubmitBtn = $('button[type=submit][data-type=2]', modal); | ||
| 265 | + if(!$perSubmit.attr('disabled') && !$carSubmit.attr('disabled')){ | ||
| 266 | + $threeSubmitBtn.removeAttr('disabled'); | ||
| 267 | + opTextPanel.hide(); | ||
| 268 | + } | ||
| 269 | + else | ||
| 270 | + $threeSubmitBtn.attr('disabled', 'disabled'); | ||
| 271 | + } | ||
| 272 | + | ||
| 273 | + function appendText(text) { | ||
| 274 | + opTextPanel.text(opTextPanel.text() + text); | ||
| 275 | + } | ||
| 276 | + | ||
| 277 | + function isTransferPerson(leftArray, rightArray) { | ||
| 278 | + if(extractPerson(leftArray).toString() == extractPerson(rightArray).toString()){ | ||
| 279 | + appendText('(无法调人)同一个驾驶员'); | ||
| 280 | + return false; | ||
| 281 | + } | ||
| 282 | + | ||
| 283 | + if(leftArray.length != rightArray.length){ | ||
| 284 | + if(extractPerson(leftArray).length > 1){ | ||
| 285 | + appendText('(无法调人)不对称时,左侧勾选班次只能有一个驾驶员'); | ||
| 286 | + return false; | ||
| 287 | + } | ||
| 288 | + if(extractPerson(rightArray).length > 1){ | ||
| 289 | + appendText('(无法调人)不对称时,右侧勾选班次只能有一个驾驶员'); | ||
| 290 | + return false; | ||
| 291 | + } | ||
| 292 | + | ||
| 293 | + return true; | ||
| 294 | + } | ||
| 224 | else{ | 295 | else{ |
| 296 | + return true; | ||
| 297 | + } | ||
| 298 | + } | ||
| 299 | + | ||
| 300 | + function isTransferCar(leftArray, rightArray) { | ||
| 301 | + if(extractCar(leftArray).toString() == extractCar(rightArray).toString()){ | ||
| 302 | + appendText('(无法调车)同一辆车'); | ||
| 303 | + return false; | ||
| 304 | + } | ||
| 225 | 305 | ||
| 226 | - var leftSize = $('.sch-list:eq(0) dl.active', modal).length; | ||
| 227 | - var rightSize = $('.sch-list:eq(1) dl.active', modal).length; | ||
| 228 | - if(leftSize != rightSize) | ||
| 229 | - $submitBtn.attr('disabled', 'disabled'); | ||
| 230 | - else if(leftSize != 0) | ||
| 231 | - $submitBtn.removeAttr('disabled'); | 306 | + if(leftArray.length != rightArray.length){ |
| 307 | + if(extractCar(leftArray).length > 1){ | ||
| 308 | + appendText('(无法调车)不对称时,左侧勾选班次只能有一辆车'); | ||
| 309 | + return false; | ||
| 310 | + } | ||
| 311 | + if(extractCar(rightArray).length > 1){ | ||
| 312 | + appendText('(无法调车)不对称时,右侧勾选班次只能有一辆车'); | ||
| 313 | + return false; | ||
| 314 | + } | ||
| 315 | + | ||
| 316 | + return true; | ||
| 317 | + } | ||
| 318 | + else{ | ||
| 319 | + return true; | ||
| 232 | } | 320 | } |
| 233 | } | 321 | } |
| 234 | 322 | ||
| 235 | 323 | ||
| 324 | + /** | ||
| 325 | + * 从dl 里提取出所有的驾驶员 | ||
| 326 | + * @param list | ||
| 327 | + */ | ||
| 328 | + function extractPerson(list){ | ||
| 329 | + var jsyMap = {}; | ||
| 330 | + $.each(list, function () { | ||
| 331 | + jsyMap[$(this).data('jsy')] = 1; | ||
| 332 | + }); | ||
| 333 | + return gb_common.get_keys(jsyMap); | ||
| 334 | + } | ||
| 335 | + | ||
| 336 | + /** | ||
| 337 | + *从dl 里提取出所有的车辆 | ||
| 338 | + * @param list | ||
| 339 | + */ | ||
| 340 | + function extractCar(list) { | ||
| 341 | + var carMap = {}; | ||
| 342 | + $.each(list, function () { | ||
| 343 | + carMap[$(this).data('nbbm')] = 1; | ||
| 344 | + }); | ||
| 345 | + return gb_common.get_keys(carMap); | ||
| 346 | + } | ||
| 347 | + | ||
| 236 | //全选 | 348 | //全选 |
| 237 | $('.global_box', modal).on('click', function () { | 349 | $('.global_box', modal).on('click', function () { |
| 238 | var $table = $(this).parents('.ct_table.sch-list'); | 350 | var $table = $(this).parents('.ct_table.sch-list'); |
| @@ -261,10 +373,10 @@ | @@ -261,10 +373,10 @@ | ||
| 261 | var leftList = $('.sch-list:eq(0) .ct_table_body dl.active', modal); | 373 | var leftList = $('.sch-list:eq(0) .ct_table_body dl.active', modal); |
| 262 | var rightList = $('.sch-list:eq(1) .ct_table_body dl.active', modal); | 374 | var rightList = $('.sch-list:eq(1) .ct_table_body dl.active', modal); |
| 263 | 375 | ||
| 264 | - if(leftList.length != rightList.length){ | 376 | + /*if(leftList.length != rightList.length){ |
| 265 | alert('左右不对称,无法提交!!'); | 377 | alert('左右不对称,无法提交!!'); |
| 266 | return; | 378 | return; |
| 267 | - } | 379 | + }*/ |
| 268 | 380 | ||
| 269 | var leftIdx = '', rightIdx = ''; | 381 | var leftIdx = '', rightIdx = ''; |
| 270 | $.each(leftList, function () { | 382 | $.each(leftList, function () { |
| @@ -301,6 +413,7 @@ | @@ -301,6 +413,7 @@ | ||
| 301 | this.checked = false; | 413 | this.checked = false; |
| 302 | }); | 414 | }); |
| 303 | } | 415 | } |
| 416 | + | ||
| 304 | })(); | 417 | })(); |
| 305 | </script> | 418 | </script> |
| 306 | </div> | 419 | </div> |