Commit d537398eb0521b8537e3c1fa9cb6d2224a5e4491
Merge branch 'minhang' into pudong
Showing
32 changed files
with
3555 additions
and
413 deletions
Too many changes to show.
To preserve performance only 32 of 35 files are displayed.
src/main/java/com/bsth/controller/realcontrol/ScheduleRealInfoController.java
| ... | ... | @@ -549,9 +549,9 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, |
| 549 | 549 | public List<String> dateArray(@RequestParam(defaultValue = "0") int c){ |
| 550 | 550 | List<String> rs = new ArrayList<>(); |
| 551 | 551 | |
| 552 | - long t = new Date().getTime(); | |
| 552 | + long t = System.currentTimeMillis(); | |
| 553 | 553 | if(c != 1) |
| 554 | - t -= ONE_DAY - (1000 * 60 * 60 * 2); | |
| 554 | + t -= (ONE_DAY + (1000 * 60 * 60 * 2)); | |
| 555 | 555 | for(int i = 0; i < 3; i ++){ |
| 556 | 556 | rs.add(fmtyyyyMMdd.print(t)); |
| 557 | 557 | t -= ONE_DAY; | ... | ... |
src/main/java/com/bsth/data/gpsdata/arrival/GpsRealAnalyse.java
| ... | ... | @@ -41,7 +41,7 @@ public class GpsRealAnalyse { |
| 41 | 41 | @Autowired |
| 42 | 42 | GpsRealData gpsRealData; |
| 43 | 43 | |
| 44 | - final static int POOL_SIZE = 15; | |
| 44 | + final static int POOL_SIZE = 30; | |
| 45 | 45 | static ExecutorService threadPool = Executors.newFixedThreadPool(POOL_SIZE + 1); |
| 46 | 46 | |
| 47 | 47 | public static long st; |
| ... | ... | @@ -68,7 +68,7 @@ public class GpsRealAnalyse { |
| 68 | 68 | } |
| 69 | 69 | List<String> deviceList = new ArrayList<>(multimap.keySet()); |
| 70 | 70 | |
| 71 | - //数据均分给20个线程 | |
| 71 | + //数据均分给线程 | |
| 72 | 72 | ArrayListMultimap dataListMap = ArrayListMultimap.create(); |
| 73 | 73 | int size = deviceList.size(), threadIndex=0, threadSize = size / POOL_SIZE; |
| 74 | 74 | for(int i = 0; i < size; i++){ | ... | ... |
src/main/java/com/bsth/data/gpsdata/arrival/handlers/InOutStationSignalHandle.java
| ... | ... | @@ -70,14 +70,18 @@ public class InOutStationSignalHandle extends SignalHandle{ |
| 70 | 70 | return false; |
| 71 | 71 | } |
| 72 | 72 | |
| 73 | - if(isNotEmpty(prevs)){ | |
| 74 | - GpsEntity prev = prevs.getTail(); | |
| 75 | - if(isOutStation(gps, prev)) | |
| 76 | - outStation(gps, prev); | |
| 73 | + try{ | |
| 74 | + if(isNotEmpty(prevs)){ | |
| 75 | + GpsEntity prev = prevs.getTail(); | |
| 76 | + if(isOutStation(gps, prev)) | |
| 77 | + outStation(gps, prev); | |
| 77 | 78 | |
| 78 | 79 | |
| 79 | - if(isInStation(gps, prev)) | |
| 80 | - inStation(gps, prev); | |
| 80 | + if(isInStation(gps, prev)) | |
| 81 | + inStation(gps, prev); | |
| 82 | + } | |
| 83 | + }catch (Exception e){ | |
| 84 | + logger.error("in out error info ..", e); | |
| 81 | 85 | } |
| 82 | 86 | |
| 83 | 87 | return true; | ... | ... |
src/main/java/com/bsth/data/summary/entity/FastAndSlow.java
| ... | ... | @@ -21,6 +21,22 @@ public class FastAndSlow { |
| 21 | 21 | private Long id; |
| 22 | 22 | |
| 23 | 23 | /** |
| 24 | + * 驾驶员 | |
| 25 | + */ | |
| 26 | + private String jsy; | |
| 27 | + | |
| 28 | + /** | |
| 29 | + * 车辆自编号 | |
| 30 | + */ | |
| 31 | + private String nbbm; | |
| 32 | + | |
| 33 | + /** | |
| 34 | + * 路牌名称 | |
| 35 | + */ | |
| 36 | + @Column(name = "lp_name") | |
| 37 | + private String lpName; | |
| 38 | + | |
| 39 | + /** | |
| 24 | 40 | * 发车站点 |
| 25 | 41 | */ |
| 26 | 42 | private String stationName; |
| ... | ... | @@ -281,4 +297,28 @@ public class FastAndSlow { |
| 281 | 297 | public boolean isFast() { |
| 282 | 298 | return this.fcsjFast>0 || this.dfsjFast>0 || this.zdsjFast>0 || this.zdsjDfFast>0; |
| 283 | 299 | } |
| 300 | + | |
| 301 | + public String getLpName() { | |
| 302 | + return lpName; | |
| 303 | + } | |
| 304 | + | |
| 305 | + public void setLpName(String lpName) { | |
| 306 | + this.lpName = lpName; | |
| 307 | + } | |
| 308 | + | |
| 309 | + public String getNbbm() { | |
| 310 | + return nbbm; | |
| 311 | + } | |
| 312 | + | |
| 313 | + public void setNbbm(String nbbm) { | |
| 314 | + this.nbbm = nbbm; | |
| 315 | + } | |
| 316 | + | |
| 317 | + public String getJsy() { | |
| 318 | + return jsy; | |
| 319 | + } | |
| 320 | + | |
| 321 | + public void setJsy(String jsy) { | |
| 322 | + this.jsy = jsy; | |
| 323 | + } | |
| 284 | 324 | } |
| 285 | 325 | \ No newline at end of file | ... | ... |
src/main/java/com/bsth/data/summary/service/impl/FastAndSlowServiceImpl.java
| ... | ... | @@ -119,29 +119,33 @@ public class FastAndSlowServiceImpl extends BaseServiceImpl<FastAndSlow, Long> i |
| 119 | 119 | //前4行是表头 |
| 120 | 120 | Row row; |
| 121 | 121 | row = sheet.getRow(0); |
| 122 | - row.getCell(4).setCellValue(list.get(0).getRq()); | |
| 122 | + row.getCell(0).setCellValue(list.get(0).getRq()); | |
| 123 | 123 | row.getCell(13).setCellValue(BasicData.lineCode2NameMap.get(list.get(0).getLineCode())); |
| 124 | 124 | FastAndSlow fas; |
| 125 | 125 | for(int i = 0; i < list.size(); i++){ |
| 126 | 126 | fas = list.get(i); |
| 127 | 127 | row = sheet.createRow(i + 4); |
| 128 | 128 | row.createCell(0).setCellValue(i + 1); |
| 129 | - row.createCell(1).setCellValue(fas.getStationName()); | |
| 130 | - row.createCell(2).setCellValue(fas.getUpDown()); | |
| 131 | - row.createCell(3).setCellValue(fas.getFcsj()); | |
| 132 | - row.createCell(4).setCellValue(fas.getDfsj()); | |
| 133 | - row.createCell(5).setCellValue(fas.getFcsjActual()); | |
| 134 | - row.createCell(6).setCellValue(fas.getFcsjFast()); | |
| 135 | - row.createCell(7).setCellValue(fas.getFcsjSlow()); | |
| 136 | - row.createCell(8).setCellValue(fas.getDfsjFast()); | |
| 137 | - row.createCell(9).setCellValue(fas.getDfsjSlow()); | |
| 138 | - row.createCell(10).setCellValue(fas.getZdsj()); | |
| 139 | - row.createCell(11).setCellValue(fas.getZdsjDf()); | |
| 140 | - row.createCell(12).setCellValue(fas.getZdsjActual()); | |
| 141 | - row.createCell(13).setCellValue(fas.getZdsjFast()); | |
| 142 | - row.createCell(14).setCellValue(fas.getZdsjSlow()); | |
| 143 | - row.createCell(15).setCellValue(fas.getZdsjDfFast()); | |
| 144 | - row.createCell(16).setCellValue(fas.getZdsjDfSlow()); | |
| 129 | + row.createCell(1).setCellValue(fas.getLpName()); | |
| 130 | + row.createCell(2).setCellValue(fas.getNbbm()); | |
| 131 | + row.createCell(3).setCellValue(fas.getJsy()); | |
| 132 | + | |
| 133 | + row.createCell(4).setCellValue(fas.getStationName()); | |
| 134 | + row.createCell(5).setCellValue(fas.getUpDown()); | |
| 135 | + row.createCell(6).setCellValue(fas.getFcsj()); | |
| 136 | + row.createCell(7).setCellValue(fas.getDfsj()); | |
| 137 | + row.createCell(8).setCellValue(fas.getFcsjActual()); | |
| 138 | + row.createCell(9).setCellValue(fas.getFcsjFast()); | |
| 139 | + row.createCell(10).setCellValue(fas.getFcsjSlow()); | |
| 140 | + row.createCell(11).setCellValue(fas.getDfsjFast()); | |
| 141 | + row.createCell(12).setCellValue(fas.getDfsjSlow()); | |
| 142 | + row.createCell(13).setCellValue(fas.getZdsj()); | |
| 143 | + row.createCell(14).setCellValue(fas.getZdsjDf()); | |
| 144 | + row.createCell(15).setCellValue(fas.getZdsjActual()); | |
| 145 | + row.createCell(16).setCellValue(fas.getZdsjFast()); | |
| 146 | + row.createCell(17).setCellValue(fas.getZdsjSlow()); | |
| 147 | + row.createCell(18).setCellValue(fas.getZdsjDfFast()); | |
| 148 | + row.createCell(19).setCellValue(fas.getZdsjDfSlow()); | |
| 145 | 149 | |
| 146 | 150 | if(fas.getUpDown()==0) |
| 147 | 151 | ups.add(fas); |
| ... | ... | @@ -151,28 +155,28 @@ public class FastAndSlowServiceImpl extends BaseServiceImpl<FastAndSlow, Long> i |
| 151 | 155 | //合计 |
| 152 | 156 | int size = list.size(); |
| 153 | 157 | row = sheet.createRow(size + 4); |
| 154 | - row.createCell(1).setCellValue("发车:上行(计划快误点:"+jhfcFast(ups)+" 累计时间:"+jhfcFastTime(ups)+" 待发快误点:"+dffcFast(ups)+" 累计时间:"+dffcFastTime(ups)+") "); | |
| 155 | - row.createCell(9).setCellValue("下行(计划快误点:"+jhfcFast(downs)+" 累计时间:"+jhfcFastTime(downs)+" 待发快误点:"+dffcFast(downs)+" 累计时间:"+dffcFastTime(downs)+")"); | |
| 158 | + row.createCell(2).setCellValue("发车:上行(计划快误点:"+jhfcFast(ups)+" 累计时间:"+jhfcFastTime(ups)+" 待发快误点:"+dffcFast(ups)+" 累计时间:"+dffcFastTime(ups)+") "); | |
| 159 | + row.createCell(12).setCellValue("下行(计划快误点:"+jhfcFast(downs)+" 累计时间:"+jhfcFastTime(downs)+" 待发快误点:"+dffcFast(downs)+" 累计时间:"+dffcFastTime(downs)+")"); | |
| 156 | 160 | row = sheet.createRow(size + 5); |
| 157 | - row.createCell(1).setCellValue("发车:上行(计划慢误点:"+jhfcSlow(ups)+" 累计时间:"+jhfcSlowTime(ups)+" 待发慢误点:"+dffcSlow(ups)+" 累计时间:"+dffcSlowTime(ups)+") "); | |
| 158 | - row.createCell(9).setCellValue("下行(计划慢误点:"+jhfcSlow(downs)+" 累计时间:"+jhfcSlowTime(downs)+" 待发慢误点:"+dffcSlow(downs)+" 累计时间:"+dffcSlowTime(downs)+")"); | |
| 161 | + row.createCell(2).setCellValue("发车:上行(计划慢误点:"+jhfcSlow(ups)+" 累计时间:"+jhfcSlowTime(ups)+" 待发慢误点:"+dffcSlow(ups)+" 累计时间:"+dffcSlowTime(ups)+") "); | |
| 162 | + row.createCell(12).setCellValue("下行(计划慢误点:"+jhfcSlow(downs)+" 累计时间:"+jhfcSlowTime(downs)+" 待发慢误点:"+dffcSlow(downs)+" 累计时间:"+dffcSlowTime(downs)+")"); | |
| 159 | 163 | row = sheet.createRow(size + 6); |
| 160 | - row.createCell(1).setCellValue("到达:上行(计划快误点:"+jhzdFast(ups)+" 累计时间:"+jhzdFastTime(ups)+" 待发快误点:"+dfzdFast(ups)+" 累计时间:"+dfzdFastTime(ups)+") "); | |
| 161 | - row.createCell(9).setCellValue("下行(计划快误点:"+jhzdFast(downs)+" 累计时间:"+jhzdFastTime(downs)+" 待发快误点:"+dfzdFast(downs)+" 累计时间:"+dfzdFastTime(downs)+")"); | |
| 164 | + row.createCell(2).setCellValue("到达:上行(计划快误点:"+jhzdFast(ups)+" 累计时间:"+jhzdFastTime(ups)+" 待发快误点:"+dfzdFast(ups)+" 累计时间:"+dfzdFastTime(ups)+") "); | |
| 165 | + row.createCell(12).setCellValue("下行(计划快误点:"+jhzdFast(downs)+" 累计时间:"+jhzdFastTime(downs)+" 待发快误点:"+dfzdFast(downs)+" 累计时间:"+dfzdFastTime(downs)+")"); | |
| 162 | 166 | row = sheet.createRow(size + 7); |
| 163 | - row.createCell(1).setCellValue("到达:上行(计划慢误点:"+jhzdSlow(ups)+" 累计时间:"+jhzdSlowTime(ups)+" 待发慢误点:"+dfzdSlow(ups)+" 累计时间:"+dfzdSlowTime(ups)+") "); | |
| 164 | - row.createCell(9).setCellValue("下行(计划慢误点:"+jhzdSlow(downs)+" 累计时间:"+jhzdSlowTime(downs)+" 待发慢误点:"+dfzdSlow(downs)+" 累计时间:"+dfzdSlowTime(downs)+")"); | |
| 167 | + row.createCell(2).setCellValue("到达:上行(计划慢误点:"+jhzdSlow(ups)+" 累计时间:"+jhzdSlowTime(ups)+" 待发慢误点:"+dfzdSlow(ups)+" 累计时间:"+dfzdSlowTime(ups)+") "); | |
| 168 | + row.createCell(12).setCellValue("下行(计划慢误点:"+jhzdSlow(downs)+" 累计时间:"+jhzdSlowTime(downs)+" 待发慢误点:"+dfzdSlow(downs)+" 累计时间:"+dfzdSlowTime(downs)+")"); | |
| 165 | 169 | //合并单元格 |
| 166 | - sheet.addMergedRegion(new CellRangeAddress(size + 4, size + 4, 1, 8)); | |
| 167 | - sheet.addMergedRegion(new CellRangeAddress(size + 4, size + 4, 9, 16)); | |
| 168 | - sheet.addMergedRegion(new CellRangeAddress(size + 5, size + 5, 1, 8)); | |
| 169 | - sheet.addMergedRegion(new CellRangeAddress(size + 5, size + 5, 9, 16)); | |
| 170 | - sheet.addMergedRegion(new CellRangeAddress(size + 6, size + 6, 1, 8)); | |
| 171 | - sheet.addMergedRegion(new CellRangeAddress(size + 6, size + 6, 9, 16)); | |
| 172 | - sheet.addMergedRegion(new CellRangeAddress(size + 7, size + 7, 1, 8)); | |
| 173 | - sheet.addMergedRegion(new CellRangeAddress(size + 7, size + 7, 9, 16)); | |
| 174 | - | |
| 175 | - sheet.addMergedRegion(new CellRangeAddress(size + 4, size + 7, 0, 0)); | |
| 170 | + sheet.addMergedRegion(new CellRangeAddress(size + 4, size + 4, 2, 11)); | |
| 171 | + sheet.addMergedRegion(new CellRangeAddress(size + 4, size + 4, 12, 19)); | |
| 172 | + sheet.addMergedRegion(new CellRangeAddress(size + 5, size + 5, 2, 11)); | |
| 173 | + sheet.addMergedRegion(new CellRangeAddress(size + 5, size + 5, 12, 19)); | |
| 174 | + sheet.addMergedRegion(new CellRangeAddress(size + 6, size + 6, 2, 11)); | |
| 175 | + sheet.addMergedRegion(new CellRangeAddress(size + 6, size + 6, 12, 19)); | |
| 176 | + sheet.addMergedRegion(new CellRangeAddress(size + 7, size + 7, 2, 11)); | |
| 177 | + sheet.addMergedRegion(new CellRangeAddress(size + 7, size + 7, 12, 19)); | |
| 178 | + | |
| 179 | + sheet.addMergedRegion(new CellRangeAddress(size + 4, size + 7, 0, 1)); | |
| 176 | 180 | } |
| 177 | 181 | |
| 178 | 182 | private List<FastAndSlow> filterByType(List<FastAndSlow> all, String type) { | ... | ... |
src/main/java/com/bsth/entity/realcontrol/ChildTaskPlan.java
| ... | ... | @@ -35,6 +35,7 @@ public class ChildTaskPlan { |
| 35 | 35 | |
| 36 | 36 | /** |
| 37 | 37 | * 任务类型2 |
| 38 | + * 1 正常 2 进场 3 出场 | |
| 38 | 39 | */ |
| 39 | 40 | private String type2; |
| 40 | 41 | |
| ... | ... | @@ -99,6 +100,11 @@ public class ChildTaskPlan { |
| 99 | 100 | private String nbbm; |
| 100 | 101 | |
| 101 | 102 | /** |
| 103 | + * 中途换车营运, 新车关联的主任务ID,子任务删除时,主任务ID将级联 | |
| 104 | + */ | |
| 105 | + private Long ccId; | |
| 106 | + | |
| 107 | + /** | |
| 102 | 108 | * 为true 则无售票员, 否则继承主任务 |
| 103 | 109 | */ |
| 104 | 110 | private boolean noClerk; |
| ... | ... | @@ -277,4 +283,12 @@ public class ChildTaskPlan { |
| 277 | 283 | public void setNoClerk(boolean noClerk) { |
| 278 | 284 | this.noClerk = noClerk; |
| 279 | 285 | } |
| 286 | + | |
| 287 | + public Long getCcId() { | |
| 288 | + return ccId; | |
| 289 | + } | |
| 290 | + | |
| 291 | + public void setCcId(Long ccId) { | |
| 292 | + this.ccId = ccId; | |
| 293 | + } | |
| 280 | 294 | } | ... | ... |
src/main/java/com/bsth/entity/realcontrol/ScheduleRealInfo.java
| ... | ... | @@ -225,6 +225,11 @@ public class ScheduleRealInfo { |
| 225 | 225 | */ |
| 226 | 226 | private Integer driftStatus = 0; |
| 227 | 227 | |
| 228 | + /** | |
| 229 | + * 换车营运标记 true 表示该主任务由 【中途换车子任务】 级联生成 | |
| 230 | + */ | |
| 231 | + private boolean ccService; | |
| 232 | + | |
| 228 | 233 | public boolean isDfAuto() { |
| 229 | 234 | return dfAuto; |
| 230 | 235 | } |
| ... | ... | @@ -958,4 +963,12 @@ public class ScheduleRealInfo { |
| 958 | 963 | public void setDriftStatus(Integer driftStatus) { |
| 959 | 964 | this.driftStatus = driftStatus; |
| 960 | 965 | } |
| 966 | + | |
| 967 | + public boolean isCcService() { | |
| 968 | + return ccService; | |
| 969 | + } | |
| 970 | + | |
| 971 | + public void setCcService(boolean ccService) { | |
| 972 | + this.ccService = ccService; | |
| 973 | + } | |
| 961 | 974 | } | ... | ... |
src/main/java/com/bsth/repository/realcontrol/ScheduleRealInfoRepository.java
| ... | ... | @@ -129,7 +129,7 @@ public interface ScheduleRealInfoRepository extends BaseRepository<ScheduleRealI |
| 129 | 129 | int countByLineCodeAndDate(String xlBm, String schDate); |
| 130 | 130 | |
| 131 | 131 | @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) |
| 132 | - @Query(value = "select DISTINCT s from ScheduleRealInfo s where s.xlBm=?1 and s.scheduleDateStr=?2") | |
| 132 | + @Query(value = "select DISTINCT s from ScheduleRealInfo s where s.xlBm=?1 and s.scheduleDateStr=?2 and ccService=false") | |
| 133 | 133 | List<ScheduleRealInfo> findByLineCodeAndDate(String xlBm, String schDate); |
| 134 | 134 | |
| 135 | 135 | @Modifying |
| ... | ... | @@ -146,7 +146,14 @@ public interface ScheduleRealInfoRepository extends BaseRepository<ScheduleRealI |
| 146 | 146 | @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm =?1 and s.scheduleDateStr = ?2 order by s.lpName, s.realExecDate,s.fcsj") |
| 147 | 147 | List<ScheduleRealInfo> scheduleByDateAndLineQp(String line,String date); |
| 148 | 148 | |
| 149 | - | |
| 149 | + @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) | |
| 150 | + @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm =?1 and s.scheduleDateStr = ?2 and s.ccService=false order by s.lpName, s.realExecDate,s.fcsj") | |
| 151 | + List<ScheduleRealInfo> scheduleDdrb(String line,String date); | |
| 152 | + | |
| 153 | + @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) | |
| 154 | + @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm = ?1 and s.scheduleDateStr= ?2 and s.ccService=false order by s.xlDir,s.realExecDate,s.fcsj, s.lpName") | |
| 155 | + List<ScheduleRealInfo> scheduleDdrb2(String line,String date); | |
| 156 | + | |
| 150 | 157 | @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) |
| 151 | 158 | @Query(value="select DISTINCT s from ScheduleRealInfo s where gsBm like %?1% and fgsBm like %?2% and s.scheduleDateStr = ?3 order by s.xlDir,s.realExecDate,s.fcsj, s.lpName") |
| 152 | 159 | List<ScheduleRealInfo> scheduleByDateAndLineByGs_(String gsdm,String fgsdm,String date); |
| ... | ... | @@ -170,7 +177,7 @@ public interface ScheduleRealInfoRepository extends BaseRepository<ScheduleRealI |
| 170 | 177 | |
| 171 | 178 | //按照时间段统计 |
| 172 | 179 | @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) |
| 173 | - @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm like %?1% and s.scheduleDateStr >= ?2 and s.scheduleDateStr<= ?3 and gsBm like %?4% and fgsBm like %?5% order by s.xlBm") | |
| 180 | + @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm like %?1% and s.scheduleDateStr between ?2 and ?3 and gsBm = ?4 and fgsBm = ?5 order by s.xlBm") | |
| 174 | 181 | List<ScheduleRealInfo> scheduleByDateAndLineTj(String line,String date,String date2,String gsdm,String fgsdm); |
| 175 | 182 | |
| 176 | 183 | //按照时间段统计 | ... | ... |
src/main/java/com/bsth/service/forms/impl/FormsServiceImpl.java
| ... | ... | @@ -744,7 +744,7 @@ public class FormsServiceImpl implements FormsService { |
| 744 | 744 | if(cts != null && cts.size() > 0){ |
| 745 | 745 | newList_.add(s); |
| 746 | 746 | }else{ |
| 747 | - if(s.getZdsjActual()!=null){ | |
| 747 | + if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ | |
| 748 | 748 | newList_.add(s); |
| 749 | 749 | } |
| 750 | 750 | } |
| ... | ... | @@ -798,7 +798,7 @@ public class FormsServiceImpl implements FormsService { |
| 798 | 798 | if(cts != null && cts.size() > 0){ |
| 799 | 799 | newList_.add(s); |
| 800 | 800 | }else{ |
| 801 | - if(s.getZdsjActual()!=null){ | |
| 801 | + if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ | |
| 802 | 802 | newList_.add(s); |
| 803 | 803 | } |
| 804 | 804 | } |
| ... | ... | @@ -884,7 +884,7 @@ public class FormsServiceImpl implements FormsService { |
| 884 | 884 | if(cts != null && cts.size() > 0){ |
| 885 | 885 | newList_.add(s); |
| 886 | 886 | }else{ |
| 887 | - if(s.getZdsjActual()!=null){ | |
| 887 | + if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ | |
| 888 | 888 | newList_.add(s); |
| 889 | 889 | } |
| 890 | 890 | } |
| ... | ... | @@ -1199,8 +1199,8 @@ public class FormsServiceImpl implements FormsService { |
| 1199 | 1199 | |
| 1200 | 1200 | String sql = "select gs_name, fgs_name, cl_zbh, fcsj, bc_type, xl_bm, xl_name, schedule_date" |
| 1201 | 1201 | + " from bsth_c_s_sp_info where gs_bm = '"+company+"' and fgs_bm = '"+subCompany+"' " |
| 1202 | - + "and schedule_date_str >= '"+startDate+"' " | |
| 1203 | - + "and schedule_date_str <= '"+endDate+"' "; | |
| 1202 | + + "and DATE_FORMAT(schedule_date,'%Y-%m-%d') >= '"+startDate+"' " | |
| 1203 | + + "and DATE_FORMAT(schedule_date,'%Y-%m-%d') <= '"+endDate+"' "; | |
| 1204 | 1204 | if(line.trim().length() != 0){ |
| 1205 | 1205 | sql += "and xl_bm = '"+line+"' "; |
| 1206 | 1206 | } |
| ... | ... | @@ -1356,8 +1356,8 @@ public class FormsServiceImpl implements FormsService { |
| 1356 | 1356 | |
| 1357 | 1357 | String sql = " select b.xlgs, a.gs_bm,a.gs_name, a.fgs_bm,a.fgs_name , a.xl_bm,b.xl_name,b.sbc,b.sxl,b.scl,a.jbc ,a.jxl ,a.jcl,a.gslsbm,a.fgsbm,a.bc_type from " |
| 1358 | 1358 | + " (select count(DISTINCT gs_bm) gslsbm, gs_bm, count(DISTINCT fgs_bm) fgsbm,fgs_bm,gs_name,fgs_name ,xl_bm, count(*) as jbc,COUNT(DISTINCT xl_bm) as jxl ,COUNT(DISTINCT cl_zbh) as jcl,bc_type" |
| 1359 | - + " from bsth_c_s_sp_info" + " where schedule_date_str >= '" | |
| 1360 | - + map.get("startDate").toString() + "' and schedule_date_str <='" + map.get("endDate").toString() + "' and xl_bm='" | |
| 1359 | + + " from bsth_c_s_sp_info" + " where DATE_FORMAT(schedule_date,'%Y-%m-%d') BETWEEN '" | |
| 1360 | + + map.get("startDate").toString() + "' and '" + map.get("endDate").toString() + "' and xl_bm='" | |
| 1361 | 1361 | + map.get("line").toString() + "' AND gs_bm is not null AND bc_type NOT IN ('in', 'out')" |
| 1362 | 1362 | + " and gs_bm='"+ map.get("gsdmEcecut").toString() + "'" |
| 1363 | 1363 | + " and fgs_bm='"+ map.get("fgsdmEcecut").toString() + "'" |
| ... | ... | @@ -1440,8 +1440,8 @@ public class FormsServiceImpl implements FormsService { |
| 1440 | 1440 | |
| 1441 | 1441 | String sql = " select b.xlgs, a.gs_bm,a.gs_name, a.fgs_bm,a.fgs_name , a.xl_bm,b.xl_name,b.sbc,b.sxl,b.scl,a.jbc ,a.jxl ,a.jcl,a.gslsbm,a.fgsbm,a.bc_type from " |
| 1442 | 1442 | + " (select count(DISTINCT gs_bm) gslsbm, gs_bm, count(DISTINCT fgs_bm) fgsbm,fgs_bm,gs_name,fgs_name ,xl_bm, count(*) as jbc,COUNT(DISTINCT xl_bm) as jxl ,COUNT(DISTINCT cl_zbh) as jcl,bc_type" |
| 1443 | - + " from bsth_c_s_sp_info" + " where schedule_date_str >= '" | |
| 1444 | - + map.get("startDate").toString() + "' and schedule_date_str<= '" + map.get("endDate").toString() + "' and xl_bm='" | |
| 1443 | + + " from bsth_c_s_sp_info" + " where DATE_FORMAT(schedule_date,'%Y-%m-%d') BETWEEN '" | |
| 1444 | + + map.get("startDate").toString() + "' and '" + map.get("endDate").toString() + "' and xl_bm='" | |
| 1445 | 1445 | + map.get("line").toString() + "' AND gs_bm is not null AND bc_type NOT IN ('in', 'out') " |
| 1446 | 1446 | + " and gs_bm='"+ map.get("gsdmAllline").toString() + "'" |
| 1447 | 1447 | + " and fgs_bm='"+ map.get("fgsdmAllline").toString() + "'" | ... | ... |
src/main/java/com/bsth/service/impl/BusIntervalServiceImpl.java
| ... | ... | @@ -57,7 +57,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 57 | 57 | |
| 58 | 58 | try { |
| 59 | 59 | |
| 60 | - String sql = "select * from bsth_c_s_sp_info_real where DATE_FORMAT(schedule_date,'%Y-%m-%d') >= '"+startDate+"' and DATE_FORMAT(schedule_date,'%Y-%m-%d') <= '"+endDate+"'"; | |
| 60 | + String sql = "select * from bsth_c_s_sp_info_real where schedule_date_str >= '"+startDate+"' and schedule_date_str <= '"+endDate+"'"; | |
| 61 | 61 | if(line.length() != 0){ |
| 62 | 62 | sql += " and xl_bm = '"+line+"'"; |
| 63 | 63 | } |
| ... | ... | @@ -86,7 +86,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 86 | 86 | public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { |
| 87 | 87 | ScheduleRealInfo schedule = new ScheduleRealInfo(); |
| 88 | 88 | schedule.setId(rs.getLong("id")); |
| 89 | - schedule.setScheduleDateStr(rs.getString("schedule_date_Str")); | |
| 89 | + schedule.setScheduleDateStr(rs.getString("schedule_date_str")); | |
| 90 | 90 | schedule.setRealExecDate(rs.getString("real_exec_date")); |
| 91 | 91 | schedule.setXlBm(rs.getString("xl_bm")); |
| 92 | 92 | schedule.setXlName(rs.getString("xl_name")); |
| ... | ... | @@ -117,6 +117,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 117 | 117 | schedule.setjName(rs.getString("j_name")); |
| 118 | 118 | schedule.setSpId(rs.getLong("sp_id")); |
| 119 | 119 | schedule.setSflj(rs.getBoolean("sflj")); |
| 120 | + schedule.setCcService(rs.getBoolean("cc_service")); | |
| 120 | 121 | |
| 121 | 122 | if(schedule.getFcsjActual() != null && schedule.getFcsjActual().trim().length() == 0){ |
| 122 | 123 | schedule.setFcsjActual(null); |
| ... | ... | @@ -371,6 +372,8 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 371 | 372 | // int endTime = Integer.valueOf(split[1].split(":")[0])*60 + Integer.valueOf(split[1].split(":")[1]); |
| 372 | 373 | |
| 373 | 374 | for(ScheduleRealInfo schedule : list){ |
| 375 | + if(schedule.isCcService()) | |
| 376 | + continue; | |
| 374 | 377 | String[] split1 = schedule.getFcsj().split(":"); |
| 375 | 378 | String[] split2 = schedule.getZdsj().split(":"); |
| 376 | 379 | long fcsj = Long.valueOf(split1[0])*60 + Long.valueOf(split1[1]); |
| ... | ... | @@ -674,10 +677,10 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 674 | 677 | // where += " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'"; |
| 675 | 678 | where += " and bc_type != 'ldks'"; |
| 676 | 679 | |
| 677 | - String sql = "select id, schedule_date_Str, real_exec_date, xl_name, lp_name, bcs, bcsj, jhlc, bc_type," | |
| 680 | + String sql = "select id, schedule_date_str, real_exec_date, xl_name, lp_name, bcs, bcsj, jhlc, bc_type," | |
| 678 | 681 | + " fcsj, fcsj_actual, zdsj, zdsj_actual, qdz_name, zdz_name, xl_dir, status, remarks, gs_name, fgs_name, sp_id" |
| 679 | - + " from bsth_c_s_sp_info_real where DATE_FORMAT(schedule_date,'%Y-%m-%d') >= '"+startDate+"'" | |
| 680 | - + " and DATE_FORMAT(schedule_date,'%Y-%m-%d') <= '"+endDate+"'"+where+""; | |
| 682 | + + " ,cc_service from bsth_c_s_sp_info_real where schedule_date_str >= '"+startDate+"'" | |
| 683 | + + " and schedule_date_str <= '"+endDate+"'"+where+""; | |
| 681 | 684 | |
| 682 | 685 | list = jdbcTemplate.query(sql, |
| 683 | 686 | new RowMapper<ScheduleRealInfo>(){ |
| ... | ... | @@ -685,7 +688,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 685 | 688 | public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { |
| 686 | 689 | ScheduleRealInfo schedule = new ScheduleRealInfo(); |
| 687 | 690 | schedule.setId(rs.getLong("id")); |
| 688 | - schedule.setScheduleDateStr(rs.getString("schedule_date_Str")); | |
| 691 | + schedule.setScheduleDateStr(rs.getString("schedule_date_str")); | |
| 689 | 692 | schedule.setRealExecDate(rs.getString("real_exec_date")); |
| 690 | 693 | schedule.setXlName(rs.getString("xl_name")); |
| 691 | 694 | schedule.setLpName(rs.getString("lp_name")); |
| ... | ... | @@ -705,6 +708,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 705 | 708 | schedule.setGsName(rs.getString("gs_name")); |
| 706 | 709 | schedule.setFgsName(rs.getString("fgs_name")); |
| 707 | 710 | schedule.setSpId(rs.getLong("sp_id")); |
| 711 | + schedule.setCcService(rs.getBoolean("cc_service")); | |
| 708 | 712 | |
| 709 | 713 | if(schedule.getFcsjActual() != null && schedule.getFcsjActual().trim().length() == 0){ |
| 710 | 714 | schedule.setFcsjActual(null); |
| ... | ... | @@ -885,7 +889,8 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 885 | 889 | } |
| 886 | 890 | |
| 887 | 891 | for(ScheduleRealInfo schedule : list){ |
| 888 | - if(schedule.getXlName()==null || schedule.getXlName().trim().length()==0) | |
| 892 | + if(schedule.getXlName()==null || schedule.getXlName().trim().length()==0 | |
| 893 | + || schedule.isCcService()) | |
| 889 | 894 | continue; |
| 890 | 895 | if(model.length() != 0){ |
| 891 | 896 | if(ttSet.contains(schedule.getSpId())){ |
| ... | ... | @@ -1393,6 +1398,9 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 1393 | 1398 | int endTime = Integer.valueOf(split[1].split(":")[0])*60 + Integer.valueOf(split[1].split(":")[1]); |
| 1394 | 1399 | |
| 1395 | 1400 | for(ScheduleRealInfo s : list){ |
| 1401 | + if(s.isCcService()){ | |
| 1402 | + continue; | |
| 1403 | + } | |
| 1396 | 1404 | String key = s.getScheduleDateStr() + "/" + s.getLpName(); |
| 1397 | 1405 | if(!keyMap.containsKey(key)) |
| 1398 | 1406 | keyMap.put(key, new ArrayList<ScheduleRealInfo>()); |
| ... | ... | @@ -1668,14 +1676,14 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 1668 | 1676 | lc = new BigDecimal("0"+schedule.getJhlc()); |
| 1669 | 1677 | } |
| 1670 | 1678 | |
| 1671 | - if(!schedule.isSflj()){ | |
| 1679 | + if(!schedule.isSflj() && !schedule.isCcService()){ | |
| 1672 | 1680 | jhbc++; |
| 1673 | 1681 | jhlc = jhlc.add(lc); |
| 1674 | 1682 | } |
| 1675 | - if(schedule.getStatus() != -1){ | |
| 1683 | + if(schedule.getStatus() != -1 && !schedule.isCcService()){ | |
| 1676 | 1684 | sjbc++; |
| 1677 | 1685 | sjlc = sjlc.add(lc); |
| 1678 | - } else if(schedule.getStatus() == -1){ | |
| 1686 | + } else if(schedule.getStatus() == -1 && !schedule.isCcService()){ | |
| 1679 | 1687 | if(schedule.getAdjustExps() != null && schedule.getAdjustExps().indexOf("路阻") != -1){ |
| 1680 | 1688 | lzbc++; |
| 1681 | 1689 | lzlc = lzlc.add(lc); |
| ... | ... | @@ -1811,8 +1819,8 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 1811 | 1819 | } |
| 1812 | 1820 | try { |
| 1813 | 1821 | |
| 1814 | - String sql = "select * from bsth_c_s_sp_info_real where DATE_FORMAT(schedule_date,'%Y-%m-%d')" | |
| 1815 | - + " >= '"+startDate+"' and DATE_FORMAT(schedule_date,'%Y-%m-%d') <= '"+endDate+"'"; | |
| 1822 | + String sql = "select * from bsth_c_s_sp_info_real where schedule_date_str" | |
| 1823 | + + " >= '"+startDate+"' and schedule_date_str <= '"+endDate+"'"; | |
| 1816 | 1824 | if(line.length() != 0){ |
| 1817 | 1825 | sql += " and xl_bm = '"+line+"'"; |
| 1818 | 1826 | } |
| ... | ... | @@ -1829,7 +1837,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 1829 | 1837 | } |
| 1830 | 1838 | } |
| 1831 | 1839 | if(company.length() != 0){ |
| 1832 | - sql += " and gs_bm = '"+company+"' and fgs_bm = '"+subCompany+"'"; | |
| 1840 | + sql += " and (gs_bm = '"+company+"' and fgs_bm = '"+subCompany+"')"; | |
| 1833 | 1841 | } |
| 1834 | 1842 | sql += " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'"; |
| 1835 | 1843 | |
| ... | ... | @@ -1838,7 +1846,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 1838 | 1846 | @Override |
| 1839 | 1847 | public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { |
| 1840 | 1848 | ScheduleRealInfo schedule = new ScheduleRealInfo(); |
| 1841 | - schedule.setScheduleDateStr(rs.getString("schedule_date_Str")); | |
| 1849 | + schedule.setScheduleDateStr(rs.getString("schedule_date_str")); | |
| 1842 | 1850 | schedule.setXlBm(rs.getString("xl_bm")); |
| 1843 | 1851 | schedule.setXlName(rs.getString("xl_name")); |
| 1844 | 1852 | schedule.setLpName(rs.getString("lp_name")); |
| ... | ... | @@ -1864,6 +1872,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 1864 | 1872 | schedule.setjGh(rs.getString("j_gh")); |
| 1865 | 1873 | schedule.setjName(rs.getString("j_name")); |
| 1866 | 1874 | schedule.setUpdateDate(rs.getDate("update_date")); |
| 1875 | + schedule.setCcService(rs.getBoolean("cc_service")); | |
| 1867 | 1876 | |
| 1868 | 1877 | if(schedule.getFcsjActual() != null && schedule.getFcsjActual().trim().length() == 0){ |
| 1869 | 1878 | schedule.setFcsjActual(null); |
| ... | ... | @@ -1905,7 +1914,8 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 1905 | 1914 | dxtz = 0, lbtz = 0; |
| 1906 | 1915 | for(ScheduleRealInfo schedule : keyMap.get(key)){ |
| 1907 | 1916 | boolean flag = false; |
| 1908 | - if(schedule.getFcsjActual() != null && schedule.getStatus() != -1){ | |
| 1917 | + if(schedule.getFcsjActual() != null && schedule.getStatus() != -1 | |
| 1918 | + && !schedule.isCcService()){ | |
| 1909 | 1919 | sjbc++; |
| 1910 | 1920 | if(schedule.getDfsj() != null && !schedule.getDfsj().equals(schedule.getFcsj())){ |
| 1911 | 1921 | flag = true; |
| ... | ... | @@ -1937,9 +1947,9 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 1937 | 1947 | // tempMap.put("dxtz", dxtz); |
| 1938 | 1948 | tempMap.put("lbtz", lbtz); |
| 1939 | 1949 | tempMap.put("correct", sddf + zddf + lbtz); |
| 1940 | - tempMap.put("dfbl", df.format((double)(sddf + zddf)/sjbc*100) + "%"); | |
| 1950 | + tempMap.put("dfbl", sjbc>0?df.format((double)(sddf + zddf)/sjbc*100):0 + "%"); | |
| 1941 | 1951 | // tempMap.put("dxbl", df.format((double)(dxtz)/sjbc*100) + "%"); |
| 1942 | - tempMap.put("lbbl", df.format((double)(lbtz)/sjbc*100) + "%"); | |
| 1952 | + tempMap.put("lbbl", sjbc>0?df.format((double)(lbtz)/sjbc*100):0 + "%"); | |
| 1943 | 1953 | // tempMap.put("correctbl", df.format((double)(sddf + zddf + dxtz + lbtz)/sjbc*100) + "%"); |
| 1944 | 1954 | // tempMap.put("workList", tempList); |
| 1945 | 1955 | |
| ... | ... | @@ -2069,9 +2079,9 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 2069 | 2079 | // tempMap.put("dxtz", dxtz); |
| 2070 | 2080 | tempMap.put("lbtz", lbtz); |
| 2071 | 2081 | tempMap.put("correct", sddf + zddf + lbtz); |
| 2072 | - tempMap.put("dfbl", df.format((double)(sddf + zddf)/sjbc*100) + "%"); | |
| 2082 | + tempMap.put("dfbl", sjbc>0?df.format((double)(sddf + zddf)/sjbc*100):0 + "%"); | |
| 2073 | 2083 | |
| 2074 | - tempMap.put("lbbl", df.format((double)(lbtz)/sjbc*100) + "%"); | |
| 2084 | + tempMap.put("lbbl", sjbc>0?df.format((double)(lbtz)/sjbc*100):0 + "%"); | |
| 2075 | 2085 | // tempMap.put("correctbl", df.format((double)(sddf + zddf + dxtz + lbtz)/sjbc*100) + "%"); |
| 2076 | 2086 | resList.add(tempMap); |
| 2077 | 2087 | } |
| ... | ... | @@ -2097,8 +2107,8 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 2097 | 2107 | resMap.put("dxbl", "0"); |
| 2098 | 2108 | resMap.put("correctbl", "0"); |
| 2099 | 2109 | }else{ |
| 2100 | - resMap.put("dxbl", df.format((double)(dxtzz)/sjbc*100) + "%"); | |
| 2101 | - resMap.put("correctbl", df.format((double)(correct+dxtzz)/sjbc*100) + "%"); | |
| 2110 | + resMap.put("dxbl", sjbc>0?df.format((double)(dxtzz)/sjbc*100):0 + "%"); | |
| 2111 | + resMap.put("correctbl", sjbc>0?df.format((double)(correct+dxtzz)/sjbc*100):0 + "%"); | |
| 2102 | 2112 | } |
| 2103 | 2113 | |
| 2104 | 2114 | |
| ... | ... | @@ -2152,8 +2162,8 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 2152 | 2162 | resMap.put("dxbl", "0"); |
| 2153 | 2163 | resMap.put("correctbl", "0"); |
| 2154 | 2164 | }else{ |
| 2155 | - resMap.put("dxbl", df.format((double)(dxtzf)/sjbc*100) + "%"); | |
| 2156 | - resMap.put("correctbl", df.format((double)(correct+dxtzf)/sjbc*100) + "%"); | |
| 2165 | + resMap.put("dxbl", sjbc>0?df.format((double)(dxtzf)/sjbc*100):0 + "%"); | |
| 2166 | + resMap.put("correctbl", sjbc>0?df.format((double)(correct+dxtzf)/sjbc*100):0 + "%"); | |
| 2157 | 2167 | } |
| 2158 | 2168 | resMap.put("xlname",BasicData.lineCode2NameMap.get(xlbm)); |
| 2159 | 2169 | } | ... | ... |
src/main/java/com/bsth/service/realcontrol/impl/ChildTaskPlanServiceImpl.java
| ... | ... | @@ -46,14 +46,11 @@ public class ChildTaskPlanServiceImpl extends BaseServiceImpl<ChildTaskPlan, Lon |
| 46 | 46 | try { |
| 47 | 47 | ScheduleRealInfo sch = dayOfSchedule.get(t.getSchedule().getId()); |
| 48 | 48 | //保存起终点名称 |
| 49 | - //String prefix = sch.getXlBm() + "_" + sch.getXlDir() + "_"; | |
| 50 | 49 | if(StringUtils.isEmpty(t.getStartStationName())) |
| 51 | 50 | t.setStartStationName(getStationName(sch.getXlBm(), t.getStartStation())); |
| 52 | - //t.setStartStationName(BasicData.getStationNameByCode(t.getStartStation(), prefix)); | |
| 53 | 51 | |
| 54 | 52 | if(StringUtils.isEmpty(t.getEndStationName())) |
| 55 | 53 | t.setEndStationName(getStationName(sch.getXlBm(), t.getEndStation())); |
| 56 | - //t.setEndStationName(BasicData.getStationNameByCode(t.getEndStation(), prefix)); | |
| 57 | 54 | if(t.getDestroyReason() == null) |
| 58 | 55 | t.setDestroyReason(""); |
| 59 | 56 | |
| ... | ... | @@ -61,13 +58,63 @@ public class ChildTaskPlanServiceImpl extends BaseServiceImpl<ChildTaskPlan, Lon |
| 61 | 58 | if(t.isDestroy() && StringUtils.isEmpty(t.getDestroyReason())) |
| 62 | 59 | t.setDestroyReason(t.getReason()); |
| 63 | 60 | |
| 61 | + //中途换车出场子任务,级联生成一个主任务,供报表和对外接口计算用 | |
| 62 | + if(StringUtils.isNotEmpty(t.getNbbm())){ | |
| 63 | + ScheduleRealInfo ccServiceSch = new ScheduleRealInfo(); | |
| 64 | + ccServiceSch.setSflj(sch.isSflj()); | |
| 65 | + ccServiceSch.setjGh(sch.getjGh()); | |
| 66 | + ccServiceSch.setjName(sch.getjName()); | |
| 67 | + ccServiceSch.setsGh(sch.getsGh()); | |
| 68 | + ccServiceSch.setsName(sch.getsName()); | |
| 69 | + ccServiceSch.setGsBm(sch.getGsBm()); | |
| 70 | + ccServiceSch.setFgsBm(sch.getFgsBm()); | |
| 71 | + ccServiceSch.setGsName(sch.getGsName()); | |
| 72 | + ccServiceSch.setFgsName(sch.getFgsName()); | |
| 73 | + ccServiceSch.setLpName(sch.getLpName()); | |
| 74 | + ccServiceSch.setXlBm(sch.getXlBm()); | |
| 75 | + ccServiceSch.setXlName(sch.getXlName()); | |
| 76 | + ccServiceSch.setXlDir(sch.getXlDir()); | |
| 77 | + ccServiceSch.setScheduleDate(sch.getScheduleDate()); | |
| 78 | + ccServiceSch.setScheduleDateStr(sch.getScheduleDateStr()); | |
| 79 | + ccServiceSch.setRealExecDate(sch.getRealExecDate()); | |
| 80 | + | |
| 81 | + ccServiceSch.setId(null); | |
| 82 | + ccServiceSch.setSpId(null); | |
| 83 | + ccServiceSch.setClZbh(t.getNbbm()); | |
| 84 | + ccServiceSch.setCcService(true); | |
| 85 | + ccServiceSch.setFcsj(t.getStartDate()); | |
| 86 | + ccServiceSch.setDfsj(t.getStartDate()); | |
| 87 | + ccServiceSch.setZdsj(t.getEndDate()); | |
| 88 | + ccServiceSch.setBcsj(0); | |
| 89 | + ccServiceSch.setJhlcOrig(Double.parseDouble(String.valueOf(t.getMileage()))); | |
| 90 | + ccServiceSch.setJhlc(ccServiceSch.getJhlcOrig()); | |
| 91 | + ccServiceSch.setQdzCode(t.getStartStation()); | |
| 92 | + ccServiceSch.setZdzCode(t.getEndStation()); | |
| 93 | + ccServiceSch.setQdzName(t.getStartStationName()); | |
| 94 | + ccServiceSch.setZdzName(t.getEndStationName()); | |
| 95 | + ccServiceSch.setFcsjActual(ccServiceSch.getDfsj()); | |
| 96 | + ccServiceSch.setZdsjActual(ccServiceSch.getZdsj()); | |
| 97 | + ccServiceSch.setRemarks(t.getRemarks()); | |
| 98 | + ccServiceSch.setStatus(2); | |
| 99 | + if("1".equals(t.getType2())){ | |
| 100 | + ccServiceSch.setBcType("normal"); | |
| 101 | + } | |
| 102 | + else { | |
| 103 | + if("2".equals(t.getType2())) | |
| 104 | + ccServiceSch.setBcType("in"); | |
| 105 | + else if("3".equals(t.getType2())) | |
| 106 | + ccServiceSch.setBcType("out"); | |
| 107 | + } | |
| 108 | + //实时入库 | |
| 109 | + ccServiceSch = scheduleRealInfoRepository.save(ccServiceSch); | |
| 110 | + t.setCcId(ccServiceSch.getId()); | |
| 111 | + } | |
| 112 | + | |
| 64 | 113 | //先持久化子任务 |
| 65 | 114 | rs = super.save(t); |
| 66 | 115 | //关联主任务 |
| 67 | 116 | sch.getcTasks().add(t); |
| 68 | 117 | dayOfSchedule.save(sch); |
| 69 | - //直接持久化 | |
| 70 | - //scheduleRealInfoRepository.save(sch); | |
| 71 | 118 | //站到场对照 |
| 72 | 119 | t.setSchedule(sch); |
| 73 | 120 | Station2ParkBuffer.put(t); |
| ... | ... | @@ -101,6 +148,11 @@ public class ChildTaskPlanServiceImpl extends BaseServiceImpl<ChildTaskPlan, Lon |
| 101 | 148 | |
| 102 | 149 | //删除子任务 |
| 103 | 150 | rs = super.delete(id); |
| 151 | + | |
| 152 | + //删除级联生成的换车主任务 | |
| 153 | + if(null != cPlan.getCcId()){ | |
| 154 | + scheduleRealInfoRepository.delete(cPlan.getCcId()); | |
| 155 | + } | |
| 104 | 156 | //dayOfSchedule.save(sch); |
| 105 | 157 | //解除和主任务关联 |
| 106 | 158 | ScheduleRealInfo sch = dayOfSchedule.get(cPlan.getSchedule().getId()); | ... | ... |
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
| ... | ... | @@ -873,7 +873,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 873 | 873 | if(cts != null && cts.size() > 0){ |
| 874 | 874 | lists.add(s); |
| 875 | 875 | }else{ |
| 876 | - if(s.getZdsjActual()!=null){ | |
| 876 | + if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ | |
| 877 | 877 | lists.add(s); |
| 878 | 878 | } |
| 879 | 879 | } |
| ... | ... | @@ -1743,30 +1743,28 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 1743 | 1743 | if(cts != null && cts.size() > 0){ |
| 1744 | 1744 | lists.add(s); |
| 1745 | 1745 | }else{ |
| 1746 | - if(s.getZdsjActual()!=null){ | |
| 1746 | + if(s.getFcsjActual() !=null&&s.getZdsjActual()!=null){ | |
| 1747 | 1747 | lists.add(s); |
| 1748 | 1748 | } |
| 1749 | 1749 | } |
| 1750 | 1750 | } |
| 1751 | - double ksgl=culateService.culateKsgl(list); | |
| 1752 | - double sjgl=culateService.culateSjgl(lists); | |
| 1753 | - double jccgl=culateService.culateJccgl(lists); | |
| 1754 | - double ljgl=culateService.culateLjgl(lists); | |
| 1755 | - | |
| 1756 | - map.put("jhlc", Arith.add(culateService.culateJhgl(list),culateService.culateJhJccgl(list))); //计划里程 | |
| 1751 | + map.put("jhbc", culateService.culateJhbc(list,""));//计划班次 | |
| 1752 | + map.put("jhlc", Arith.add(culateService.culateJhgl(list), | |
| 1753 | + culateService.culateJhJccgl(list))); //计划总里程 | |
| 1754 | + map.put("cjbc", culateService.culateLbbc(list));//烂班班次 | |
| 1757 | 1755 | map.put("remMileage", culateService.culateLbgl(list)); //烂班公里 |
| 1756 | + map.put("ljbc", culateService.culateLjbc(lists,""));//临加班次 | |
| 1757 | + double ljgl=culateService.culateLjgl(lists); | |
| 1758 | 1758 | map.put("addMileage", ljgl); //临加公里 |
| 1759 | - map.put("yygl",Arith.add(sjgl,ljgl)); //实际公里 | |
| 1760 | - map.put("ksgl", ksgl);//空驶公里 | |
| 1761 | - map.put("realMileage",Arith.add(Arith.add(ksgl,jccgl ),Arith.add(sjgl,ljgl))); | |
| 1762 | -// map.put("realMileage", format.format(yygl + ksgl + jcclc+addMileage)); | |
| 1763 | - map.put("jhbc", culateService.culateJhbc(list,"")); | |
| 1764 | - map.put("cjbc", culateService.culateLbbc(list)); | |
| 1765 | - map.put("ljbc", culateService.culateLjbc(lists,"")); | |
| 1766 | 1759 | map.put("sjbc", culateService.culateSjbc(lists,"") + culateService.culateLjbc(lists,"")); |
| 1767 | - map.put("jcclc", jccgl); | |
| 1760 | + double ksgl=culateService.culateKsgl(list);//子任务空驶公里 | |
| 1761 | + double jccgl=culateService.culateJccgl(lists);//空驶班次公里 | |
| 1762 | + map.put("ksgl", ksgl);//空驶公里 | |
| 1763 | + double sjgl=culateService.culateSjgl(lists);//实际营运公里 | |
| 1764 | + map.put("realMileage",Arith.add(Arith.add(ksgl,jccgl ),Arith.add(sjgl,ljgl)));//总公里 | |
| 1768 | 1765 | map.put("zkslc", Arith.add(ksgl,jccgl)); |
| 1769 | -// map.put("zkslc", format.format(ksgl + jcclc+addMileageJc)); | |
| 1766 | + map.put("jcclc", jccgl); | |
| 1767 | + map.put("yygl",Arith.add(sjgl,ljgl)); //总营运公里 | |
| 1770 | 1768 | return map; |
| 1771 | 1769 | } |
| 1772 | 1770 | |
| ... | ... | @@ -1789,7 +1787,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 1789 | 1787 | if(cts != null && cts.size() > 0){ |
| 1790 | 1788 | lists.add(s); |
| 1791 | 1789 | }else{ |
| 1792 | - if(s.getZdsjActual()!=null){ | |
| 1790 | + if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ | |
| 1793 | 1791 | lists.add(s); |
| 1794 | 1792 | } |
| 1795 | 1793 | } |
| ... | ... | @@ -2139,20 +2137,24 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 2139 | 2137 | for (int j = 0; j < listit.size(); j++) { |
| 2140 | 2138 | ScheduleRealInfo t = new ScheduleRealInfo(); |
| 2141 | 2139 | ChildTaskPlan childTaskPlan = listit.get(j); |
| 2142 | - if (childTaskPlan.isDestroy()) { | |
| 2143 | - t.setFcsjActual(""); | |
| 2144 | - t.setZdsjActual(""); | |
| 2145 | - t.setJhlc(0.0); | |
| 2146 | - } else { | |
| 2147 | - t.setFcsjActual(childTaskPlan.getStartDate()); | |
| 2148 | - t.setZdsjActual(childTaskPlan.getEndDate()); | |
| 2149 | - t.setJhlc(Double.parseDouble(String.valueOf(childTaskPlan.getMileage()))); | |
| 2140 | + if(childTaskPlan.getCcId()==null){ | |
| 2141 | + if (childTaskPlan.isDestroy()) { | |
| 2142 | + t.setFcsjActual(""); | |
| 2143 | + t.setZdsjActual(""); | |
| 2144 | + t.setJhlc(0.0); | |
| 2145 | + } else { | |
| 2146 | + t.setFcsjActual(childTaskPlan.getStartDate()); | |
| 2147 | + t.setZdsjActual(childTaskPlan.getEndDate()); | |
| 2148 | + t.setJhlc(Double.parseDouble(String.valueOf(childTaskPlan.getMileage()))); | |
| 2149 | + } | |
| 2150 | + t.setFcsj(childTaskPlan.getStartDate()); | |
| 2151 | + t.setZdsj(childTaskPlan.getEndDate()); | |
| 2152 | + t.setQdzName(childTaskPlan.getStartStationName()); | |
| 2153 | + t.setZdzName(childTaskPlan.getEndStationName()); | |
| 2154 | + t.setRemarks(childTaskPlan.getRemarks()); | |
| 2155 | + t.setAdjustExps("子"); | |
| 2156 | + listSchedule.add(t); | |
| 2150 | 2157 | } |
| 2151 | - t.setQdzName(childTaskPlan.getStartStationName()); | |
| 2152 | - t.setZdzName(childTaskPlan.getEndStationName()); | |
| 2153 | - t.setRemarks(childTaskPlan.getRemarks()); | |
| 2154 | - t.setAdjustExps("子"); | |
| 2155 | - listSchedule.add(t); | |
| 2156 | 2158 | } |
| 2157 | 2159 | } |
| 2158 | 2160 | } |
| ... | ... | @@ -2295,7 +2297,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 2295 | 2297 | if(cts != null && cts.size() > 0){ |
| 2296 | 2298 | lists.add(s); |
| 2297 | 2299 | }else{ |
| 2298 | - if(s.getZdsjActual()!=null){ | |
| 2300 | + if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ | |
| 2299 | 2301 | lists.add(s); |
| 2300 | 2302 | } |
| 2301 | 2303 | } |
| ... | ... | @@ -2370,7 +2372,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 2370 | 2372 | if(cts != null && cts.size() > 0){ |
| 2371 | 2373 | lists.add(s); |
| 2372 | 2374 | }else{ |
| 2373 | - if(s.getZdsjActual()!=null){ | |
| 2375 | + if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ | |
| 2374 | 2376 | lists.add(s); |
| 2375 | 2377 | } |
| 2376 | 2378 | } |
| ... | ... | @@ -2433,7 +2435,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 2433 | 2435 | if(cts != null && cts.size() > 0){ |
| 2434 | 2436 | lists.add(s); |
| 2435 | 2437 | }else{ |
| 2436 | - if(s.getZdsjActual()!=null){ | |
| 2438 | + if(s.getZdsjActual()!=null&& s.getFcsjActual()!=null){ | |
| 2437 | 2439 | lists.add(s); |
| 2438 | 2440 | } |
| 2439 | 2441 | } |
| ... | ... | @@ -2487,10 +2489,11 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 2487 | 2489 | map.put("dtbc", 0); |
| 2488 | 2490 | map.put("dtbc_m", 0); |
| 2489 | 2491 | map.put("dtbc_a", 0); |
| 2490 | - map.put("djg", 0); | |
| 2491 | - map.put("djg_m", 0); | |
| 2492 | - map.put("djg_a", 0); | |
| 2493 | - map.put("djg_time", 0); | |
| 2492 | + Map<String, Object> m_=culateService.culateDjg(lists, list.get(0).getXlBm()); | |
| 2493 | + map.put("djg", m_.get("djgcsq")); | |
| 2494 | + map.put("djg_m", m_.get("djgcsz")); | |
| 2495 | + map.put("djg_a", m_.get("djgcsw")); | |
| 2496 | + map.put("djg_time", m_.get("djgsj")); | |
| 2494 | 2497 | } |
| 2495 | 2498 | return map; |
| 2496 | 2499 | } |
| ... | ... | @@ -2515,7 +2518,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 2515 | 2518 | if(cts != null && cts.size() > 0){ |
| 2516 | 2519 | list_s.add(s); |
| 2517 | 2520 | }else{ |
| 2518 | - if(s.getZdsjActual()!=null){ | |
| 2521 | + if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ | |
| 2519 | 2522 | list_s.add(s); |
| 2520 | 2523 | } |
| 2521 | 2524 | } |
| ... | ... | @@ -2592,10 +2595,11 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 2592 | 2595 | map.put("dtbc", 0); |
| 2593 | 2596 | map.put("dtbc_m", 0); |
| 2594 | 2597 | map.put("dtbc_a", 0); |
| 2595 | - map.put("djg", 0); | |
| 2596 | - map.put("djg_m", 0); | |
| 2597 | - map.put("djg_a", 0); | |
| 2598 | - map.put("djg_time", 0); | |
| 2598 | + Map<String, Object> m_=culateService.culateDjg(list_s, list.get(0).getXlBm()); | |
| 2599 | + map.put("djg", m_.get("djgcsq")); | |
| 2600 | + map.put("djg_m", m_.get("djgcsz")); | |
| 2601 | + map.put("djg_a", m_.get("djgcsw")); | |
| 2602 | + map.put("djg_time", m_.get("djgsj")); | |
| 2599 | 2603 | lMap.add(map); |
| 2600 | 2604 | if (type != null && type.length() != 0 && type.equals("export")) { |
| 2601 | 2605 | SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), |
| ... | ... | @@ -2723,7 +2727,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 2723 | 2727 | String zdsjActual = ""; |
| 2724 | 2728 | String zdsj1 = ""; |
| 2725 | 2729 | String zdsjActual1 = ""; |
| 2726 | - List<ScheduleRealInfo> listInfo = scheduleRealInfoRepository.scheduleByDateAndLineQp(line, date); | |
| 2730 | + List<ScheduleRealInfo> listInfo = scheduleRealInfoRepository.scheduleDdrb(line, date); | |
| 2727 | 2731 | for (int i = 0; i < listInfo.size(); i++) { |
| 2728 | 2732 | ScheduleRealInfo t = listInfo.get(i); |
| 2729 | 2733 | if (!lpName.equals(t.getLpName())) { |
| ... | ... | @@ -2743,7 +2747,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 2743 | 2747 | list.add(t); |
| 2744 | 2748 | } |
| 2745 | 2749 | |
| 2746 | - List<ScheduleRealInfo> listInfo2 = scheduleRealInfoRepository.scheduleByDateAndLineQp2(line, date); | |
| 2750 | + List<ScheduleRealInfo> listInfo2 = scheduleRealInfoRepository.scheduleDdrb2(line, date); | |
| 2747 | 2751 | List<ScheduleRealInfo> xList = new ArrayList<ScheduleRealInfo>(); |
| 2748 | 2752 | List<ScheduleRealInfo> yList = new ArrayList<ScheduleRealInfo>(); |
| 2749 | 2753 | List<ScheduleRealInfo> zList = new ArrayList<ScheduleRealInfo>(); |
| ... | ... | @@ -4211,7 +4215,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 4211 | 4215 | if(cts != null && cts.size() > 0){ |
| 4212 | 4216 | lists.add(s); |
| 4213 | 4217 | }else{ |
| 4214 | - if(s.getZdsjActual()!=null){ | |
| 4218 | + if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ | |
| 4215 | 4219 | lists.add(s); |
| 4216 | 4220 | } |
| 4217 | 4221 | } | ... | ... |
src/main/java/com/bsth/service/report/CulateMileageService.java
| ... | ... | @@ -39,6 +39,8 @@ public interface CulateMileageService { |
| 39 | 39 | Map<String, Object> culateWdbcs(List<ScheduleRealInfo> lists); |
| 40 | 40 | |
| 41 | 41 | int culateDtfzbc(List<ScheduleRealInfo> lists,String type,String status,String item); |
| 42 | + | |
| 43 | + | |
| 42 | 44 | //以下计算方法供新报表使用 |
| 43 | 45 | Map<String, Double> culateSjlcMap(List<ScheduleRealInfo> lists);//计划内营运and计划外营运 |
| 44 | 46 | ... | ... |
src/main/java/com/bsth/service/report/impl/CulateMileageServiceImpl.java
| 1 | 1 | package com.bsth.service.report.impl; |
| 2 | 2 | |
| 3 | -import java.sql.ResultSet; | |
| 4 | -import java.sql.SQLException; | |
| 5 | -import java.text.DecimalFormat; | |
| 6 | -import java.text.ParseException; | |
| 7 | -import java.text.SimpleDateFormat; | |
| 8 | -import java.util.ArrayList; | |
| 9 | -import java.util.Collections; | |
| 10 | -import java.util.HashMap; | |
| 11 | -import java.util.Iterator; | |
| 12 | -import java.util.List; | |
| 13 | -import java.util.Map; | |
| 14 | -import java.util.Set; | |
| 15 | - | |
| 16 | -import org.apache.commons.lang.StringUtils; | |
| 17 | -import org.springframework.beans.factory.annotation.Autowired; | |
| 18 | -import org.springframework.jdbc.core.JdbcTemplate; | |
| 19 | -import org.springframework.jdbc.core.RowMapper; | |
| 20 | -import org.springframework.stereotype.Service; | |
| 21 | - | |
| 22 | -import com.bsth.data.BasicData; | |
| 23 | 3 | import com.bsth.entity.realcontrol.ChildTaskPlan; |
| 24 | 4 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 25 | 5 | import com.bsth.entity.sys.Interval; |
| ... | ... | @@ -27,8 +7,18 @@ import com.bsth.service.report.CulateMileageService; |
| 27 | 7 | import com.bsth.util.Arith; |
| 28 | 8 | import com.bsth.util.ComparableChild; |
| 29 | 9 | import com.bsth.util.ComparableJob; |
| 30 | -import com.bsth.util.ReportUtils; | |
| 31 | -import com.google.common.util.concurrent.AbstractScheduledService.Scheduler; | |
| 10 | +import org.apache.commons.lang.StringUtils; | |
| 11 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 12 | +import org.springframework.jdbc.core.JdbcTemplate; | |
| 13 | +import org.springframework.jdbc.core.RowMapper; | |
| 14 | +import org.springframework.stereotype.Service; | |
| 15 | + | |
| 16 | +import java.sql.ResultSet; | |
| 17 | +import java.sql.SQLException; | |
| 18 | +import java.text.DecimalFormat; | |
| 19 | +import java.text.ParseException; | |
| 20 | +import java.text.SimpleDateFormat; | |
| 21 | +import java.util.*; | |
| 32 | 22 | |
| 33 | 23 | @Service |
| 34 | 24 | public class CulateMileageServiceImpl implements CulateMileageService{ |
| ... | ... | @@ -179,10 +169,12 @@ public class CulateMileageServiceImpl implements CulateMileageService{ |
| 179 | 169 | Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); |
| 180 | 170 | while (it.hasNext()) { |
| 181 | 171 | ChildTaskPlan childTaskPlan = it.next(); |
| 182 | - if(childTaskPlan.getMileageType().equals("service")){ | |
| 183 | - if (childTaskPlan.isDestroy()) { | |
| 184 | - zlblc=Arith.add(zlblc,childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage()); | |
| 185 | - } | |
| 172 | + if(childTaskPlan.getCcId()==null){ | |
| 173 | + if(childTaskPlan.getMileageType().equals("service")){ | |
| 174 | + if (childTaskPlan.isDestroy()) { | |
| 175 | + zlblc=Arith.add(zlblc,childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage()); | |
| 176 | + } | |
| 177 | + } | |
| 186 | 178 | } |
| 187 | 179 | } |
| 188 | 180 | } |
| ... | ... | @@ -198,30 +190,11 @@ public class CulateMileageServiceImpl implements CulateMileageService{ |
| 198 | 190 | for (int i = 0; i < lists.size(); i++) { |
| 199 | 191 | ScheduleRealInfo scheduleRealInfo=lists.get(i); |
| 200 | 192 | if (!isInOut(scheduleRealInfo)) { |
| 201 | -// Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | |
| 202 | -// if(childTaskPlans.isEmpty()){ | |
| 193 | + if(!scheduleRealInfo.isCcService()){ | |
| 203 | 194 | if(scheduleRealInfo.getStatus() == -1){ |
| 204 | 195 | lbbc++; |
| 205 | 196 | } |
| 206 | -// } | |
| 207 | - /*else{ | |
| 208 | - if(scheduleRealInfo.getStatus() == -1){ | |
| 209 | - boolean fage=true; | |
| 210 | - Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | |
| 211 | - if(it.hasNext()){ | |
| 212 | - ChildTaskPlan childTaskPlan = it.next(); | |
| 213 | - if(!childTaskPlan.isDestroy()){ | |
| 214 | - if(childTaskPlan.getMileageType().equals("service")){ | |
| 215 | - fage=false; | |
| 216 | - } | |
| 217 | - } | |
| 218 | - | |
| 219 | - } | |
| 220 | - if(fage){ | |
| 221 | - lbbc++; | |
| 222 | - } | |
| 223 | - } | |
| 224 | - }*/ | |
| 197 | + } | |
| 225 | 198 | } |
| 226 | 199 | } |
| 227 | 200 | return lbbc; |
| ... | ... | @@ -378,7 +351,7 @@ public class CulateMileageServiceImpl implements CulateMileageService{ |
| 378 | 351 | Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); |
| 379 | 352 | while (it.hasNext()) { |
| 380 | 353 | ChildTaskPlan childTaskPlan = it.next(); |
| 381 | - if(childTaskPlan.getMileageType().equals("service")){ | |
| 354 | + if(childTaskPlan.getMileageType().equals("service") && childTaskPlan.getCcId()==null){ | |
| 382 | 355 | if (!childTaskPlan.isDestroy()) { |
| 383 | 356 | Float jhgl=childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); |
| 384 | 357 | ljgl=Arith.add(ljgl,jhgl); |
| ... | ... | @@ -399,11 +372,13 @@ public class CulateMileageServiceImpl implements CulateMileageService{ |
| 399 | 372 | Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); |
| 400 | 373 | while (it.hasNext()) { |
| 401 | 374 | ChildTaskPlan childTaskPlan = it.next(); |
| 402 | - if("service".equals(childTaskPlan.getMileageType())&&"临加".equals(childTaskPlan.getType1())){ | |
| 403 | - if (!childTaskPlan.isDestroy()) { | |
| 404 | - Float jhgl=childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); | |
| 405 | - ljgl=Arith.add(ljgl,jhgl); | |
| 406 | - } | |
| 375 | + if(childTaskPlan.getCcId()==null){ | |
| 376 | + if("service".equals(childTaskPlan.getMileageType())&&"临加".equals(childTaskPlan.getType1())){ | |
| 377 | + if (!childTaskPlan.isDestroy()) { | |
| 378 | + Float jhgl=childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); | |
| 379 | + ljgl=Arith.add(ljgl,jhgl); | |
| 380 | + } | |
| 381 | + } | |
| 407 | 382 | } |
| 408 | 383 | } |
| 409 | 384 | } |
| ... | ... | @@ -463,7 +438,7 @@ public class CulateMileageServiceImpl implements CulateMileageService{ |
| 463 | 438 | for (int i = 0; i < lists.size(); i++) { |
| 464 | 439 | ScheduleRealInfo scheduleRealInfo=lists.get(i); |
| 465 | 440 | if (!isInOut(scheduleRealInfo)) { |
| 466 | - if(!scheduleRealInfo.isSflj()){ | |
| 441 | + if(!scheduleRealInfo.isSflj() && !scheduleRealInfo.isCcService()){ | |
| 467 | 442 | jhgl=Arith.add(jhgl,scheduleRealInfo.getJhlcOrig()==null?0:scheduleRealInfo.getJhlcOrig()); |
| 468 | 443 | } |
| 469 | 444 | } |
| ... | ... | @@ -504,7 +479,7 @@ public class CulateMileageServiceImpl implements CulateMileageService{ |
| 504 | 479 | for (int i = 0; i < lists.size(); i++) { |
| 505 | 480 | ScheduleRealInfo scheduleRealInfo=lists.get(i); |
| 506 | 481 | if (!isInOut(scheduleRealInfo)) { |
| 507 | - if(!scheduleRealInfo.isSflj()){ | |
| 482 | + if(!scheduleRealInfo.isSflj() && !scheduleRealInfo.isCcService()){ | |
| 508 | 483 | String[] fcsjStr = scheduleRealInfo.getFcsj().split(":"); |
| 509 | 484 | long fcsj= Long.parseLong(fcsjStr[0])*60+Long.parseLong(fcsjStr[1]); |
| 510 | 485 | if(item.equals("zgf")){ |
| ... | ... | @@ -535,21 +510,23 @@ public class CulateMileageServiceImpl implements CulateMileageService{ |
| 535 | 510 | Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); |
| 536 | 511 | if(!scheduleRealInfo.isSflj()){ |
| 537 | 512 | if(childTaskPlans.isEmpty()){ |
| 538 | - if(!scheduleRealInfo.isDestroy()){ | |
| 539 | - double jhlcOrig=scheduleRealInfo.getJhlcOrig()==null?0:scheduleRealInfo.getJhlcOrig(); | |
| 540 | - double jhlc=scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc(); | |
| 541 | - if(jhlc-jhlcOrig>0){ | |
| 542 | - sjgl=Arith.add(sjgl,jhlcOrig); | |
| 543 | - }else{ | |
| 544 | - sjgl=Arith.add(sjgl,jhlc); | |
| 545 | - } | |
| 546 | - | |
| 513 | + if(!scheduleRealInfo.isDestroy()){ | |
| 514 | + double jhlcOrig=scheduleRealInfo.getJhlcOrig()==null?0:scheduleRealInfo.getJhlcOrig(); | |
| 515 | + double jhlc=scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc(); | |
| 516 | + if(jhlc-jhlcOrig>0){ | |
| 517 | + sjgl=Arith.add(sjgl,jhlcOrig); | |
| 518 | + }else{ | |
| 519 | + sjgl=Arith.add(sjgl,jhlc); | |
| 547 | 520 | } |
| 521 | + | |
| 522 | + } | |
| 548 | 523 | }else{ |
| 549 | 524 | Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); |
| 550 | 525 | while (it.hasNext()) { |
| 551 | 526 | ChildTaskPlan childTaskPlan = it.next(); |
| 552 | - if(childTaskPlan.getMileageType().equals("service")&&"正常".equals(childTaskPlan.getType1())){ | |
| 527 | + if(childTaskPlan.getMileageType().equals("service") | |
| 528 | + &&"正常".equals(childTaskPlan.getType1()) | |
| 529 | + && childTaskPlan.getCcId()==null){ | |
| 553 | 530 | if (!childTaskPlan.isDestroy()) { |
| 554 | 531 | Float jhgl=childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); |
| 555 | 532 | sjgl=Arith.add(sjgl,jhgl); |
| ... | ... | @@ -649,8 +626,7 @@ public class CulateMileageServiceImpl implements CulateMileageService{ |
| 649 | 626 | for (int i = 0; i < lists.size(); i++) { |
| 650 | 627 | ScheduleRealInfo scheduleRealInfo=lists.get(i); |
| 651 | 628 | if (!isInOut(scheduleRealInfo)) { |
| 652 | - Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | |
| 653 | - if(!scheduleRealInfo.isSflj()){ | |
| 629 | + if(!scheduleRealInfo.isSflj() && !scheduleRealInfo.isCcService()){ | |
| 654 | 630 | String time=""; |
| 655 | 631 | if(item.equals("zgf") || item.equals("wgf")){ |
| 656 | 632 | if(scheduleRealInfo.getFcsjActual()!=null){ |
| ... | ... | @@ -681,62 +657,6 @@ public class CulateMileageServiceImpl implements CulateMileageService{ |
| 681 | 657 | } |
| 682 | 658 | |
| 683 | 659 | } |
| 684 | - /*if(childTaskPlans.isEmpty()){ | |
| 685 | - if(scheduleRealInfo.getStatus()!=-1){ | |
| 686 | - if(item.equals("zgf")){ | |
| 687 | - if(fcsj>=zgf1 && fcsj<=zgf2){ | |
| 688 | - sjbc++; | |
| 689 | - } | |
| 690 | - }else if(item.equals("wgf")){ | |
| 691 | - if(fcsj>=wgf1 && fcsj<=wgf2){ | |
| 692 | - sjbc++; | |
| 693 | - } | |
| 694 | - }else{ | |
| 695 | - sjbc++; | |
| 696 | - } | |
| 697 | - | |
| 698 | - } | |
| 699 | - }else{ | |
| 700 | - if(scheduleRealInfo.getStatus() == -1){ | |
| 701 | - boolean fage=false; | |
| 702 | - Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | |
| 703 | - while(it.hasNext()){ | |
| 704 | - ChildTaskPlan childTaskPlan = it.next(); | |
| 705 | - if(!childTaskPlan.isDestroy()){ | |
| 706 | - if(childTaskPlan.getMileageType().equals("service")){ | |
| 707 | - fage=true; | |
| 708 | - } | |
| 709 | - } | |
| 710 | - | |
| 711 | - } | |
| 712 | - if(fage){ | |
| 713 | - if(item.equals("zgf")){ | |
| 714 | - if(fcsj>=zgf1 && fcsj<=zgf2){ | |
| 715 | - sjbc++; | |
| 716 | - } | |
| 717 | - }else if(item.equals("wgf")){ | |
| 718 | - if(fcsj>=wgf1 && fcsj<=wgf2){ | |
| 719 | - sjbc++; | |
| 720 | - } | |
| 721 | - }else{ | |
| 722 | - sjbc++; | |
| 723 | - } | |
| 724 | - } | |
| 725 | - | |
| 726 | - }else{ | |
| 727 | - if(item.equals("zgf")){ | |
| 728 | - if(fcsj>=zgf1 && fcsj<=zgf2){ | |
| 729 | - sjbc++; | |
| 730 | - } | |
| 731 | - }else if(item.equals("wgf")){ | |
| 732 | - if(fcsj>=wgf1 && fcsj<=wgf2){ | |
| 733 | - sjbc++; | |
| 734 | - } | |
| 735 | - }else{ | |
| 736 | - sjbc++; | |
| 737 | - } | |
| 738 | - } | |
| 739 | - }*/ | |
| 740 | 660 | } |
| 741 | 661 | } |
| 742 | 662 | } |
| ... | ... | @@ -750,14 +670,13 @@ public class CulateMileageServiceImpl implements CulateMileageService{ |
| 750 | 670 | double ksgl =0; |
| 751 | 671 | for (int i = 0; i < lists.size(); i++) { |
| 752 | 672 | ScheduleRealInfo scheduleRealInfo=lists.get(i); |
| 753 | - if (!(scheduleRealInfo.getBcType().equals("in") | |
| 754 | - || scheduleRealInfo.getBcType().equals("out"))) { | |
| 673 | + if (!isInOut(scheduleRealInfo)) { | |
| 755 | 674 | Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); |
| 756 | 675 | if(!childTaskPlans.isEmpty()){ |
| 757 | 676 | Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); |
| 758 | 677 | while (it.hasNext()) { |
| 759 | 678 | ChildTaskPlan childTaskPlan = it.next(); |
| 760 | - if(childTaskPlan.getMileageType().equals("empty")){ | |
| 679 | + if(childTaskPlan.getMileageType().equals("empty") && childTaskPlan.getCcId()==null){ | |
| 761 | 680 | if (!childTaskPlan.isDestroy()) { |
| 762 | 681 | Float jhgl=childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); |
| 763 | 682 | ksgl=Arith.add(ksgl,jhgl); |
| ... | ... | @@ -786,7 +705,7 @@ public class CulateMileageServiceImpl implements CulateMileageService{ |
| 786 | 705 | Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); |
| 787 | 706 | while (it.hasNext()) { |
| 788 | 707 | ChildTaskPlan childTaskPlan = it.next(); |
| 789 | - if(childTaskPlan.getMileageType().equals("empty")){ | |
| 708 | + if(childTaskPlan.getMileageType().equals("empty") && childTaskPlan.getCcId()==null){ | |
| 790 | 709 | if (!childTaskPlan.isDestroy()) { |
| 791 | 710 | Float jhgl=childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); |
| 792 | 711 | jcclc=Arith.add(jcclc,jhgl); |
| ... | ... | @@ -907,7 +826,7 @@ public class CulateMileageServiceImpl implements CulateMileageService{ |
| 907 | 826 | double jcclc =0; |
| 908 | 827 | for (int i = 0; i < lists.size(); i++) { |
| 909 | 828 | ScheduleRealInfo scheduleRealInfo=lists.get(i); |
| 910 | - if(!scheduleRealInfo.isSflj()){ | |
| 829 | + if(!scheduleRealInfo.isSflj() && !scheduleRealInfo.isCcService()){ | |
| 911 | 830 | if (scheduleRealInfo.getBcType().equals("in") |
| 912 | 831 | || scheduleRealInfo.getBcType().equals("out")|| scheduleRealInfo.getBcType().equals("ldks")) { |
| 913 | 832 | if(!scheduleRealInfo.isSflj()){ |
| ... | ... | @@ -946,16 +865,17 @@ public class CulateMileageServiceImpl implements CulateMileageService{ |
| 946 | 865 | //有子任务 |
| 947 | 866 | if (cts != null && cts.size() > 0) { |
| 948 | 867 | for(ChildTaskPlan c : cts){ |
| 949 | - if(item.equals("其他")){ | |
| 950 | - if(c.isDestroy() && | |
| 951 | - ((c.getDestroyReason()==null?"": c.getDestroyReason()).equals(item)|| | |
| 952 | - (c.getDestroyReason()==null?"": c.getDestroyReason()).equals(""))) | |
| 953 | - sum = Arith.add(sum, c.getMileage()); | |
| 954 | - }else{ | |
| 955 | - if(c.isDestroy() && (c.getDestroyReason()==null?"": c.getDestroyReason()).equals(item)) | |
| 956 | - sum = Arith.add(sum, c.getMileage()); | |
| 868 | + if(c.getCcId()==null){ | |
| 869 | + if(item.equals("其他")){ | |
| 870 | + if(c.isDestroy() && | |
| 871 | + ((c.getDestroyReason()==null?"": c.getDestroyReason()).equals(item)|| | |
| 872 | + (c.getDestroyReason()==null?"": c.getDestroyReason()).equals(""))) | |
| 873 | + sum = Arith.add(sum, c.getMileage()); | |
| 874 | + }else{ | |
| 875 | + if(c.isDestroy() && (c.getDestroyReason()==null?"": c.getDestroyReason()).equals(item)) | |
| 876 | + sum = Arith.add(sum, c.getMileage()); | |
| 877 | + } | |
| 957 | 878 | } |
| 958 | - | |
| 959 | 879 | } |
| 960 | 880 | } |
| 961 | 881 | else if(isInOut(sch)) |
| ... | ... | @@ -984,7 +904,8 @@ public class CulateMileageServiceImpl implements CulateMileageService{ |
| 984 | 904 | int fzbc=0; |
| 985 | 905 | for (int i = 0; i < lists.size(); i++) { |
| 986 | 906 | ScheduleRealInfo scheduleRealInfo=lists.get(i); |
| 987 | - if (scheduleRealInfo.getBcType().equals("venting")) { | |
| 907 | + if (scheduleRealInfo.getBcType().equals("venting") | |
| 908 | + || scheduleRealInfo.getBcType().equals("major")) { | |
| 988 | 909 | // if(!scheduleRealInfo.isSflj()){ |
| 989 | 910 | String[] fcsjStr = scheduleRealInfo.getFcsj().split(":"); |
| 990 | 911 | long fcsj= Long.parseLong(fcsjStr[0])*60+Long.parseLong(fcsjStr[1]); | ... | ... |
src/main/java/com/bsth/service/report/impl/ReportServiceImpl.java
| ... | ... | @@ -1838,7 +1838,7 @@ public class ReportServiceImpl implements ReportService{ |
| 1838 | 1838 | || scheduleRealInfo.getBcType().equals("ldks"))) { |
| 1839 | 1839 | // Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); |
| 1840 | 1840 | // if(childTaskPlans.isEmpty()){ |
| 1841 | - if(scheduleRealInfo.isSflj()){ | |
| 1841 | + if(scheduleRealInfo.isSflj() && !scheduleRealInfo.isCcService()){ | |
| 1842 | 1842 | Map<String, Object> newMap=new HashMap<String,Object>(); |
| 1843 | 1843 | newMap.put("lp", scheduleRealInfo.getLpName()); |
| 1844 | 1844 | newMap.put("nbbm", scheduleRealInfo.getClZbh()); |
| ... | ... | @@ -1916,7 +1916,7 @@ public class ReportServiceImpl implements ReportService{ |
| 1916 | 1916 | if(cts != null && cts.size() > 0){ |
| 1917 | 1917 | lists.add(s); |
| 1918 | 1918 | }else{ |
| 1919 | - if(s.getZdsjActual()!=null){ | |
| 1919 | + if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ | |
| 1920 | 1920 | lists.add(s); |
| 1921 | 1921 | } |
| 1922 | 1922 | } |
| ... | ... | @@ -2534,7 +2534,7 @@ public class ReportServiceImpl implements ReportService{ |
| 2534 | 2534 | if(cts != null && cts.size() > 0){ |
| 2535 | 2535 | lists.add(s); |
| 2536 | 2536 | }else{ |
| 2537 | - if(s.getZdsjActual()!=null){ | |
| 2537 | + if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ | |
| 2538 | 2538 | lists.add(s); |
| 2539 | 2539 | } |
| 2540 | 2540 | } | ... | ... |
src/main/java/com/bsth/service/schedule/impl/PeopleCarPlanServiceImpl.java
| ... | ... | @@ -42,7 +42,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 42 | 42 | List<ScheduleRealInfo> list = new ArrayList<ScheduleRealInfo>(); |
| 43 | 43 | |
| 44 | 44 | try { |
| 45 | - String sql = "select * from bsth_c_s_sp_info_real where DATE_FORMAT(schedule_date,'%Y-%m-%d') = '"+date+"'"; | |
| 45 | + String sql = "select * from bsth_c_s_sp_info_real where schedule_date_str = '"+date+"'"; | |
| 46 | 46 | |
| 47 | 47 | if(line.length() != 0) |
| 48 | 48 | sql += " and xl_bm = '"+line+"'"; |
| ... | ... | @@ -54,7 +54,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 54 | 54 | @Override |
| 55 | 55 | public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { |
| 56 | 56 | ScheduleRealInfo schedule = new ScheduleRealInfo(); |
| 57 | - schedule.setScheduleDateStr(rs.getString("schedule_date_Str")); | |
| 57 | + schedule.setScheduleDateStr(rs.getString("schedule_date_str")); | |
| 58 | 58 | schedule.setRealExecDate(rs.getString("real_exec_date")); |
| 59 | 59 | schedule.setXlName(rs.getString("xl_name")); |
| 60 | 60 | schedule.setLpName(rs.getString("lp_name")); |
| ... | ... | @@ -80,6 +80,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 80 | 80 | schedule.setsGh(rs.getString("s_gh")); |
| 81 | 81 | schedule.setsName(rs.getString("s_name")); |
| 82 | 82 | schedule.setSpId(rs.getLong("sp_id")); |
| 83 | + schedule.setCcService(rs.getBoolean("cc_service")); | |
| 83 | 84 | |
| 84 | 85 | if(schedule.getFcsjActual() != null && schedule.getFcsjActual().trim().length() == 0){ |
| 85 | 86 | schedule.setFcsjActual(null); |
| ... | ... | @@ -175,7 +176,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 175 | 176 | } |
| 176 | 177 | |
| 177 | 178 | if(map.get("subCompany")!=null){ |
| 178 | - subCompany=map.get("subCompany").toString(); | |
| 179 | + subCompany = map.get("subCompany").toString(); | |
| 179 | 180 | } |
| 180 | 181 | String line = map.get("line").toString(); |
| 181 | 182 | String date = map.get("date").toString(); |
| ... | ... | @@ -187,7 +188,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 187 | 188 | |
| 188 | 189 | try { |
| 189 | 190 | |
| 190 | - String sql = "select * from bsth_c_s_sp_info where DATE_FORMAT(schedule_date,'%Y-%m-%d') = '"+date+"'"; | |
| 191 | + String sql = "select * from bsth_c_s_sp_info where schedule_date = '"+date+"'"; | |
| 191 | 192 | if(line.length() != 0){ |
| 192 | 193 | sql += " and xl_bm = '"+line+"'"; |
| 193 | 194 | } |
| ... | ... | @@ -364,7 +365,10 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 364 | 365 | int jhsb = 0, sjsb = 0, jhmb = 0, sjmb = 0; |
| 365 | 366 | int jhzgf = 0, sjzgf = 0, jhwgf = 0, sjwgf = 0; |
| 366 | 367 | for(ScheduleRealInfo schedule : keyMap.get(key)){ |
| 367 | -// schedule.setFcsjAll(schedule.getFcsj()); | |
| 368 | + if(schedule.isCcService()){ | |
| 369 | + continue; | |
| 370 | + } | |
| 371 | + | |
| 368 | 372 | if(companyName.length() == 0 && schedule.getGsName() != null) |
| 369 | 373 | companyName = schedule.getGsName(); |
| 370 | 374 | if(subCompanyName.length() == 0 && schedule.getFgsName() != null) |
| ... | ... | @@ -547,7 +551,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 547 | 551 | } |
| 548 | 552 | try { |
| 549 | 553 | |
| 550 | - String sql = "select * from bsth_c_s_sp_info_real where DATE_FORMAT(schedule_date,'%Y-%m-%d') >= '"+startDate+"' and DATE_FORMAT(schedule_date,'%Y-%m-%d') <= '"+endDate+"'"; | |
| 554 | + String sql = "select * from bsth_c_s_sp_info_real where schedule_date_str >= '"+startDate+"' and schedule_date_str <= '"+endDate+"'"; | |
| 551 | 555 | if(line.length() != 0){ |
| 552 | 556 | sql += " and xl_bm = '"+line+"'"; |
| 553 | 557 | } |
| ... | ... | @@ -565,7 +569,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 565 | 569 | @Override |
| 566 | 570 | public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { |
| 567 | 571 | ScheduleRealInfo schedule = new ScheduleRealInfo(); |
| 568 | - schedule.setScheduleDateStr(rs.getString("schedule_date_Str")); | |
| 572 | + schedule.setScheduleDateStr(rs.getString("schedule_date_str")); | |
| 569 | 573 | schedule.setXlName(rs.getString("xl_name")); |
| 570 | 574 | schedule.setBcType(rs.getString("bc_type")); |
| 571 | 575 | schedule.setGsName(rs.getString("gs_name")); |
| ... | ... | @@ -579,6 +583,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 579 | 583 | schedule.setBcsj(rs.getInt("bcsj")); |
| 580 | 584 | schedule.setQdzName(rs.getString("qdz_name")); |
| 581 | 585 | schedule.setSpId(rs.getLong("sp_id")); |
| 586 | + schedule.setCcService(rs.getBoolean("cc_service")); | |
| 582 | 587 | |
| 583 | 588 | if(schedule.getFcsjActual() != null && schedule.getFcsjActual().trim().length() == 0){ |
| 584 | 589 | schedule.setFcsjActual(null); |
| ... | ... | @@ -636,6 +641,9 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 636 | 641 | |
| 637 | 642 | //分组计算 同时判断是否所选时刻信息 |
| 638 | 643 | for(ScheduleRealInfo schedule : list){ |
| 644 | + if(schedule.isCcService()){ | |
| 645 | + continue; | |
| 646 | + } | |
| 639 | 647 | DO:{ |
| 640 | 648 | if(model.length() != 0){ |
| 641 | 649 | for(Long tt : ttList){ |
| ... | ... | @@ -840,7 +848,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 840 | 848 | } |
| 841 | 849 | try { |
| 842 | 850 | |
| 843 | - String sql = "select * from bsth_c_s_sp_info_real where DATE_FORMAT(schedule_date,'%Y-%m-%d') >= '"+startDate+"' and DATE_FORMAT(schedule_date,'%Y-%m-%d') <= '"+endDate+"'"; | |
| 851 | + String sql = "select * from bsth_c_s_sp_info_real where schedule_date_str >= '"+startDate+"' and schedule_date_str <= '"+endDate+"'"; | |
| 844 | 852 | if(line.length() != 0){ |
| 845 | 853 | sql += " and xl_bm = '"+line+"'"; |
| 846 | 854 | } |
| ... | ... | @@ -862,7 +870,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 862 | 870 | @Override |
| 863 | 871 | public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { |
| 864 | 872 | ScheduleRealInfo schedule = new ScheduleRealInfo(); |
| 865 | - schedule.setScheduleDateStr(rs.getString("schedule_date_Str")); | |
| 873 | + schedule.setScheduleDateStr(rs.getString("schedule_date_str")); | |
| 866 | 874 | schedule.setRealExecDate(rs.getString("real_exec_date")); |
| 867 | 875 | schedule.setXlName(rs.getString("xl_name")); |
| 868 | 876 | schedule.setBcType(rs.getString("bc_type")); |
| ... | ... | @@ -878,6 +886,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 878 | 886 | schedule.setBcsj(rs.getInt("bcsj")); |
| 879 | 887 | schedule.setQdzName(rs.getString("qdz_name")); |
| 880 | 888 | schedule.setSpId(rs.getLong("sp_id")); |
| 889 | + schedule.setCcService(rs.getBoolean("cc_service")); | |
| 881 | 890 | |
| 882 | 891 | if(schedule.getFcsjActual() != null && schedule.getFcsjActual().trim().length() == 0){ |
| 883 | 892 | schedule.setFcsjActual(null); |
| ... | ... | @@ -973,6 +982,10 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 973 | 982 | |
| 974 | 983 | //按时间段分组 |
| 975 | 984 | for(ScheduleRealInfo schedule : list){ |
| 985 | + if(schedule.isCcService()){ | |
| 986 | + continue; | |
| 987 | + } | |
| 988 | + | |
| 976 | 989 | if(companyName.length()==0&&schedule.getGsName()!=null |
| 977 | 990 | &&schedule.getGsName().trim().length()!=0){ |
| 978 | 991 | companyName = schedule.getGsName(); |
| ... | ... | @@ -1230,9 +1243,9 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 1230 | 1243 | date = sdf.format(new Date()); |
| 1231 | 1244 | |
| 1232 | 1245 | try { |
| 1233 | - String sql = "select a.schedule_date_Str, a.real_exec_date, a.xl_name, a.fcsj, a.fcsj_actual, a.zdsj, a.zdsj_actual, a.qdz_name, a.zdz_name, a.xl_dir, a.status, a.gs_name, a.fgs_name," | |
| 1234 | - + " b.start_opt from bsth_c_s_sp_info_real a left join (select line, start_opt from bsth_c_line_config order by id desc) b on a.xl_bm = b.line" | |
| 1235 | - + " where DATE_FORMAT(schedule_date,'%Y-%m-%d') = '"+date+"'" | |
| 1246 | + String sql = "select a.schedule_date_str, a.real_exec_date, a.xl_name, a.fcsj, a.fcsj_actual, a.zdsj, a.zdsj_actual, a.qdz_name, a.zdz_name, a.xl_dir, a.status, a.gs_name, a.fgs_name," | |
| 1247 | + + " a.cc_service, b.start_opt from bsth_c_s_sp_info_real a left join (select line, start_opt from bsth_c_line_config order by id desc) b on a.xl_bm = b.line" | |
| 1248 | + + " where schedule_date_str = '"+date+"'" | |
| 1236 | 1249 | + " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks' and bc_type != 'region'"; |
| 1237 | 1250 | if(line.trim().length() != 0) |
| 1238 | 1251 | sql += " and xl_bm = '"+line+"'"; |
| ... | ... | @@ -1244,7 +1257,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 1244 | 1257 | @Override |
| 1245 | 1258 | public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { |
| 1246 | 1259 | ScheduleRealInfo schedule = new ScheduleRealInfo(); |
| 1247 | - schedule.setScheduleDateStr(rs.getString("schedule_date_Str")); | |
| 1260 | + schedule.setScheduleDateStr(rs.getString("schedule_date_str")); | |
| 1248 | 1261 | schedule.setRealExecDate(rs.getString("real_exec_date")); |
| 1249 | 1262 | schedule.setXlName(rs.getString("xl_name")); |
| 1250 | 1263 | schedule.setFcsj(rs.getString("fcsj")); |
| ... | ... | @@ -1257,6 +1270,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 1257 | 1270 | schedule.setStatus(rs.getInt("status")); |
| 1258 | 1271 | schedule.setGsName(rs.getString("gs_name")); |
| 1259 | 1272 | schedule.setFgsName(rs.getString("fgs_name")); |
| 1273 | + schedule.setCcService(rs.getBoolean("cc_service")); | |
| 1260 | 1274 | |
| 1261 | 1275 | int startOpt = 0; |
| 1262 | 1276 | if(rs.getString("start_opt") != null && rs.getString("start_opt").trim().length() != 0){ |
| ... | ... | @@ -1298,7 +1312,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 1298 | 1312 | String companyName = "", subCompanyName = ""; |
| 1299 | 1313 | |
| 1300 | 1314 | for(ScheduleRealInfo s : list){ |
| 1301 | - if(lineSet.contains(s.getXlName())){ | |
| 1315 | + if(lineSet.contains(s.getXlName()) || s.isCcService()){ | |
| 1302 | 1316 | continue; |
| 1303 | 1317 | } |
| 1304 | 1318 | String xlName = s.getXlName(); |
| ... | ... | @@ -1456,9 +1470,9 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 1456 | 1470 | } |
| 1457 | 1471 | |
| 1458 | 1472 | try { |
| 1459 | - String sql = "select a.schedule_date_Str, a.real_exec_date, a.xl_name, a.fcsj, a.fcsj_actual, a.zdsj, a.zdsj_actual, a.qdz_name, a.zdz_name, a.xl_dir, a.status, a.gs_name, a.fgs_name," | |
| 1460 | - + " b.start_opt from bsth_c_s_sp_info_real a left join (select line, start_opt from bsth_c_line_config order by id desc) b on a.xl_bm = b.line" | |
| 1461 | - + " where DATE_FORMAT(schedule_date,'%Y-%m-%d') >= '"+startDate+"' and DATE_FORMAT(schedule_date,'%Y-%m-%d') <= '"+endDate+"'" | |
| 1473 | + String sql = "select a.schedule_date_str, a.real_exec_date, a.xl_name, a.fcsj, a.fcsj_actual, a.zdsj, a.zdsj_actual, a.qdz_name, a.zdz_name, a.xl_dir, a.status, a.gs_name, a.fgs_name," | |
| 1474 | + + " a.cc_service, b.start_opt from bsth_c_s_sp_info_real a left join (select line, start_opt from bsth_c_line_config order by id desc) b on a.xl_bm = b.line" | |
| 1475 | + + " where schedule_date_str >= '"+startDate+"' and schedule_date_str <= '"+endDate+"'" | |
| 1462 | 1476 | + " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks' and bc_type != 'region'"; |
| 1463 | 1477 | if(line.length() != 0) |
| 1464 | 1478 | sql += " and xl_bm = '"+line+"'"; |
| ... | ... | @@ -1470,7 +1484,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 1470 | 1484 | @Override |
| 1471 | 1485 | public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { |
| 1472 | 1486 | ScheduleRealInfo schedule = new ScheduleRealInfo(); |
| 1473 | - schedule.setScheduleDateStr(rs.getString("schedule_date_Str")); | |
| 1487 | + schedule.setScheduleDateStr(rs.getString("schedule_date_str")); | |
| 1474 | 1488 | schedule.setRealExecDate(rs.getString("real_exec_date")); |
| 1475 | 1489 | schedule.setXlName(rs.getString("xl_name")); |
| 1476 | 1490 | schedule.setFcsj(rs.getString("fcsj")); |
| ... | ... | @@ -1483,6 +1497,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 1483 | 1497 | schedule.setStatus(rs.getInt("status")); |
| 1484 | 1498 | schedule.setGsName(rs.getString("gs_name")); |
| 1485 | 1499 | schedule.setFgsName(rs.getString("fgs_name")); |
| 1500 | + schedule.setCcService(rs.getBoolean("cc_service")); | |
| 1486 | 1501 | |
| 1487 | 1502 | int startOpt = 0; |
| 1488 | 1503 | if(rs.getString("start_opt") != null && rs.getString("start_opt").trim().length() != 0){ |
| ... | ... | @@ -1524,7 +1539,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 1524 | 1539 | String companyName = "", subCompanyName = ""; |
| 1525 | 1540 | |
| 1526 | 1541 | for(ScheduleRealInfo s : list){ |
| 1527 | - if(lineSet.contains(s.getXlName())){ | |
| 1542 | + if(lineSet.contains(s.getXlName()) || s.isCcService()){ | |
| 1528 | 1543 | continue; |
| 1529 | 1544 | } |
| 1530 | 1545 | String xlName = s.getXlName(); |
| ... | ... | @@ -1716,7 +1731,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 1716 | 1731 | |
| 1717 | 1732 | String sql = |
| 1718 | 1733 | "select r.id, r.schedule_date_str, r.xl_name, r.cl_zbh, r.j_gh, r.j_name, r.fcsj, d.timestamp, d.reply46, d.reply47, d.reply46time, d.reply47time, r.gs_name, r.fgs_name " + |
| 1719 | - "FROM bsth_c_s_sp_info_real as r left join bsth_v_directive_60 as d on r.id = d.sch and d.is_dispatch = 1 where DATE_FORMAT(schedule_date,'%Y-%m-%d') = '"+date+"'"; | |
| 1734 | + "FROM bsth_c_s_sp_info_real as r left join bsth_v_directive_60 as d on r.id = d.sch and d.is_dispatch = 1 where schedule_date_str = '"+date+"'"; | |
| 1720 | 1735 | if(line.length() != 0){ |
| 1721 | 1736 | sql += " and xl_bm = '"+line+"'"; |
| 1722 | 1737 | } |
| ... | ... | @@ -1728,7 +1743,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 1728 | 1743 | } |
| 1729 | 1744 | sql += " union " + |
| 1730 | 1745 | "select r.id, r.schedule_date_str, r.xl_name, r.cl_zbh, r.j_gh, r.j_name, r.fcsj, d.timestamp, d.reply46, d.reply47, d.reply46time, d.reply47time, r.gs_name, r.fgs_name " + |
| 1731 | - "FROM bsth_c_s_sp_info_real as r right join bsth_v_directive_60 as d on r.id = d.sch where d.is_dispatch = 1 and DATE_FORMAT(schedule_date,'%Y-%m-%d') = '"+date+"'"; | |
| 1746 | + "FROM bsth_c_s_sp_info_real as r right join bsth_v_directive_60 as d on r.id = d.sch where d.is_dispatch = 1 and schedule_date_str = '"+date+"'"; | |
| 1732 | 1747 | if(line.length() != 0){ |
| 1733 | 1748 | sql += " and xl_bm = '"+line+"'"; |
| 1734 | 1749 | } | ... | ... |
src/main/resources/static/pages/base/timesmodel/js/add-form-wizard.js
| ... | ... | @@ -522,10 +522,16 @@ var SKBFormWizard = function() { |
| 522 | 522 | 'dgmaxtzsj' : {required : true,number : true}, // 低谷最大停站时间,必填项、必须为整数. |
| 523 | 523 | |
| 524 | 524 | // 发车间隙分析用参数 |
| 525 | - 'fcjx': {required: true}, // 时段发车间隙,TODO:貌似没发启用form验证 | |
| 525 | + //'fcjx': {required: true}, // 时段发车间隙,TODO:貌似没发启用form验证 | |
| 526 | 526 | 'stt': {required: true}, // 停站类型,TODO:貌似没发启用form验证 |
| 527 | + 'zgffcjxmin' : {required : true,number : true,digits: true},// 早高峰最小发车间隔. | |
| 528 | + 'zgffcjxmax' : {required : true,number : true,digits: true},// 早高峰最大发车间隔. | |
| 529 | + 'wffcjxmin' : {required : true,number : true,digits: true},// 晚高峰最小发车间隔. | |
| 530 | + 'wffcjxmax' : {required : true,number : true,digits: true},// 晚高峰最大发车间隔. | |
| 531 | + 'dgfcjxmin' : {required : true,number : true,digits: true},// 低谷最小发车间隔. | |
| 532 | + 'dgfcjxmax' : {required : true,number : true,digits: true},// 低谷最大发车间隔. | |
| 527 | 533 | 'gfjypcs': {required : true,number : true,digits: true}, // 高峰建议配车数 |
| 528 | - 'jblps': {required : true,number : true,digits: true} // 加班车路牌数 | |
| 534 | + 'jbclcount': {required : true,number : true,digits: true} // 建议加班车数 | |
| 529 | 535 | }, |
| 530 | 536 | |
| 531 | 537 | /** |
| ... | ... | @@ -934,7 +940,7 @@ var SKBFormWizard = function() { |
| 934 | 940 | }); |
| 935 | 941 | |
| 936 | 942 | // 发车间隙选择控件 |
| 937 | - ComponentsBootstrapTagsinput.init_fcjx(); | |
| 943 | + //ComponentsBootstrapTagsinput.init_fcjx(); | |
| 938 | 944 | // 停站类型选择控件 |
| 939 | 945 | ComponentsBootstrapTagsinput.init_stoptype(); |
| 940 | 946 | ... | ... |
src/main/resources/static/pages/base/timesmodel/js/gantt.js
| ... | ... | @@ -50,7 +50,7 @@ |
| 50 | 50 | var CSMap = null,data = null; |
| 51 | 51 | |
| 52 | 52 | // 创建ParameterObj |
| 53 | - var _paramObj = StrategyUtils.getFactory().createParameterObj(map, dataMap); | |
| 53 | + var _paramObj; | |
| 54 | 54 | |
| 55 | 55 | if(map.baseRes== '0') { |
| 56 | 56 | CSMap = getMaxCarAndStopSpace0(map,seMap); |
| ... | ... | @@ -62,6 +62,8 @@ |
| 62 | 62 | map.fcjx = CSMap.fcjx; |
| 63 | 63 | }else if (map.baseRes == '2') { |
| 64 | 64 | // TODO:之后可能有新的参数加入 |
| 65 | + _paramObj = StrategyUtils.getFactory().createParameterObj(map, dataMap); | |
| 66 | + | |
| 65 | 67 | map.clzs = StrategyUtils.calcuClzx(_paramObj); |
| 66 | 68 | CSMap = getMaxCarAndStopSpace1(map); |
| 67 | 69 | ... | ... |
src/main/resources/static/pages/base/timesmodel/js/strategy/ParameterObj.js
| ... | ... | @@ -105,7 +105,6 @@ var ParameterObj = function(formMap, dataMap) { |
| 105 | 105 | |
| 106 | 106 | // 计算各个时段的发车间隙 |
| 107 | 107 | var _fcjxIntervalObj_fun = function() { |
| 108 | - var _fcjxes = _formMap.fcjx.split(","); | |
| 109 | 108 | var _rtn = { |
| 110 | 109 | mpeakfcjx : {}, // 早高峰 |
| 111 | 110 | epeakfcjx : {}, // 晚高峰 |
| ... | ... | @@ -114,32 +113,34 @@ var ParameterObj = function(formMap, dataMap) { |
| 114 | 113 | var _fcjx = []; |
| 115 | 114 | var i = 0; |
| 116 | 115 | |
| 117 | - // TODO:这里按照顺序判定发车间隔 | |
| 116 | + // TODO:这里只有3个间隔,以后加其他的 | |
| 118 | 117 | // 1、早高峰间隙 |
| 119 | 118 | // 2、晚高峰间隙 |
| 120 | - // 3、早低谷 | |
| 121 | - // 4、平峰 | |
| 122 | - // 5、晚低谷 | |
| 123 | - | |
| 124 | - // 至少3个,系统暂时使用3个,有最小间隔,有最大间隔 | |
| 125 | - if (_fcjxes.length < 3) { | |
| 126 | - alert("发车间隙至少3个(早高峰,晚高峰,低谷)"); | |
| 127 | - throw "发车间隙至少3个(早高峰,晚高峰,低谷)"; | |
| 128 | - } else { | |
| 129 | - for (i = 0; i < 3; i++) { | |
| 130 | - _fcjx = _fcjxes[i].split("/"); | |
| 131 | - if (i == 0) { | |
| 132 | - _rtn.mpeakfcjx.min = parseInt(_fcjx[2].split("-")[0]); | |
| 133 | - _rtn.mpeakfcjx.max = parseInt(_fcjx[2].split("-")[1]); | |
| 134 | - } else if (i == 1) { | |
| 135 | - _rtn.epeakfcjx.min = parseInt(_fcjx[2].split("-")[0]); | |
| 136 | - _rtn.epeakfcjx.max = parseInt(_fcjx[2].split("-")[1]); | |
| 137 | - } else { | |
| 138 | - _rtn.troughfcjx.min = parseInt(_fcjx[2].split("-")[0]); | |
| 139 | - _rtn.troughfcjx.max = parseInt(_fcjx[2].split("-")[1]); | |
| 140 | - } | |
| 141 | - } | |
| 119 | + // 3、低谷 | |
| 120 | + | |
| 121 | + _rtn.mpeakfcjx.min = parseInt(_formMap.zgffcjxmin); | |
| 122 | + _rtn.mpeakfcjx.max = parseInt(_formMap.zgffcjxmax); | |
| 123 | + | |
| 124 | + _rtn.epeakfcjx.min = parseInt(_formMap.wffcjxmin); | |
| 125 | + _rtn.epeakfcjx.max = parseInt(_formMap.wffcjxmax); | |
| 126 | + | |
| 127 | + _rtn.troughfcjx.min = parseInt(_formMap.dgfcjxmin); | |
| 128 | + _rtn.troughfcjx.max = parseInt(_formMap.dgfcjxmax); | |
| 129 | + | |
| 130 | + // 做一些逻辑检查 | |
| 131 | + if (_rtn.mpeakfcjx.min > _rtn.mpeakfcjx.max) { | |
| 132 | + alert("早高峰最小间隔大于最大间隔"); | |
| 133 | + throw "早高峰最小间隔大于最大间隔"; | |
| 134 | + } | |
| 135 | + if (_rtn.epeakfcjx.min > _rtn.epeakfcjx.max) { | |
| 136 | + alert("晚高峰最小间隔大于最大间隔"); | |
| 137 | + throw "晚高峰最小间隔大于最大间隔"; | |
| 142 | 138 | } |
| 139 | + if (_rtn.troughfcjx.min > _rtn.troughfcjx.max) { | |
| 140 | + alert("低谷最小间隔大于最大间隔"); | |
| 141 | + throw "低谷最小间隔大于最大间隔"; | |
| 142 | + } | |
| 143 | + | |
| 143 | 144 | |
| 144 | 145 | return _rtn; |
| 145 | 146 | }; |
| ... | ... | @@ -502,7 +503,7 @@ var ParameterObj = function(formMap, dataMap) { |
| 502 | 503 | * @returns {Number|*} |
| 503 | 504 | */ |
| 504 | 505 | getJBLpes: function() { |
| 505 | - return parseInt(_formMap.jblps); | |
| 506 | + return parseInt(_formMap.jbclcount); | |
| 506 | 507 | }, |
| 507 | 508 | |
| 508 | 509 | //----------------- 获取关联数据信息 -----------------// | ... | ... |
src/main/resources/static/pages/base/timesmodel/tepms/fcjx_temp.html
| ... | ... | @@ -144,44 +144,55 @@ |
| 144 | 144 | </div> |
| 145 | 145 | |
| 146 | 146 | <div class="form-group"> |
| 147 | - <div class="col-md-6 "> | |
| 148 | - <label class="control-label col-md-5"><span class="required"> * </span>时段发车间隔 :</label> | |
| 149 | - <div class="col-md-5 tagsDiv"> | |
| 150 | - <div class="row" style="margin-left: 15px;"> | |
| 151 | - <input type="text" value="" name="fcjx" id="fcjx_tagsinput" style="display: none;"> | |
| 152 | - </div> | |
| 153 | - | |
| 154 | - <div class="row" style="margin-top: 10px;"> | |
| 155 | - <label class="control-label col-md-4">开始时间:</label> | |
| 156 | - <div class="col-md-8"> | |
| 157 | - <input type="text" class="form-control" placeholder="时段开始时间" id="fcjx_tagsinput_starttime"> | |
| 158 | - </div> | |
| 159 | - </div> | |
| 160 | - | |
| 161 | - <div class="row" style="margin-top: 10px;"> | |
| 162 | - <label class="control-label col-md-4">结束时间:</label> | |
| 163 | - <div class="col-md-8"> | |
| 164 | - <input type="text" class="form-control" placeholder="时段结束时间" id="fcjx_tagsinput_endtime"> | |
| 165 | - </div> | |
| 166 | - </div> | |
| 167 | - | |
| 168 | - <div class="row" style="margin-top: 10px;"> | |
| 169 | - <label class="control-label col-md-4">间隔值:</label> | |
| 170 | - <div class="col-md-4"> | |
| 171 | - <input type="number" class="form-control" placeholder="开始" id="fcjx_tagsinput_fvalue" min="1"> | |
| 172 | - </div> | |
| 173 | - <div class="col-md-4"> | |
| 174 | - <input type="number" class="form-control" placeholder="结束" id="fcjx_tagsinput_tvalue" min="1"> | |
| 175 | - </div> | |
| 176 | - </div> | |
| 177 | - | |
| 178 | - <div class="row" style="margin-top: 10px;margin-left: 116px;"> | |
| 179 | - <a href="javascript:" class="btn red" id="fcjx_tagsinput_add">添加</a> | |
| 180 | - </div> | |
| 147 | + <div class="col-md-6"> | |
| 148 | + <label class="control-label col-md-5"><span class="required"> * </span>早高峰发车间隔 :</label> | |
| 149 | + <div class="col-md-3" style="padding-right: 0px;"> | |
| 150 | + <input type="text" class="form-control" name="zgffcjxmin" id="zgffcjxmin_id" | |
| 151 | + placeholder="最小间隔"> | |
| 152 | + </div> | |
| 153 | + <div class="col-md-1" style="padding-top: 10px; font-size: 85%;">至</div> | |
| 154 | + <div class="col-md-3" style="padding-left: 0px;"> | |
| 155 | + <input type="text" class="form-control" name="zgffcjxmax" id="zgffcjxmax_id" | |
| 156 | + placeholder="最大间隔"> | |
| 181 | 157 | </div> |
| 182 | 158 | </div> |
| 159 | + <div class="col-md-6"> | |
| 160 | + <label class="control-label col-md-5"><span class="required"> * </span>晚高峰发车间隔 :</label> | |
| 161 | + <div class="col-md-3" style="padding-right: 0px;"> | |
| 162 | + <input type="text" class="form-control" name="wffcjxmin" id="wffcjxmin_id" | |
| 163 | + placeholder="最小间隔"> | |
| 164 | + </div> | |
| 165 | + <div class="col-md-1" style="padding-top: 10px; font-size: 85%;">至</div> | |
| 166 | + <div class="col-md-3" style="padding-left: 0px;"> | |
| 167 | + <input type="text" class="form-control" name="wffcjxmax" id="wffcjxmax_id" | |
| 168 | + placeholder="最大间隔"> | |
| 169 | + </div> | |
| 170 | + </div> | |
| 171 | + </div> | |
| 183 | 172 | |
| 173 | + <div class="form-group"> | |
| 174 | + <div class="col-md-6"> | |
| 175 | + <label class="control-label col-md-5"><span class="required"> * </span>低谷发车间隔 :</label> | |
| 176 | + <div class="col-md-3" style="padding-right: 0px;"> | |
| 177 | + <input type="text" class="form-control" name="dgfcjxmin" id="dgfcjxmin_id" | |
| 178 | + placeholder="最小间隔"> | |
| 179 | + </div> | |
| 180 | + <div class="col-md-1" style="padding-top: 10px; font-size: 85%;">至</div> | |
| 181 | + <div class="col-md-3" style="padding-left: 0px;"> | |
| 182 | + <input type="text" class="form-control" name="dgfcjxmax" id="dgfcjxmax_id" | |
| 183 | + placeholder="最大间隔"> | |
| 184 | + </div> | |
| 185 | + </div> | |
| 186 | + <div class="col-md-6"> | |
| 187 | + <label class="control-label col-md-5"><span class="required"> * </span>建议加班车数 :</label> | |
| 188 | + <div class="col-md-5"> | |
| 189 | + <input type="text" class="form-control" name="jbclcount" id="jbclcount_id" | |
| 190 | + placeholder="间隔"> | |
| 191 | + </div> | |
| 192 | + </div> | |
| 193 | + </div> | |
| 184 | 194 | |
| 195 | + <div class="form-group"> | |
| 185 | 196 | <div class="col-md-6"> |
| 186 | 197 | <label class="control-label col-md-5"><span class="required"> * </span>停站类型 :</label> |
| 187 | 198 | <div class="col-md-5 tagsDiv"> |
| ... | ... | @@ -218,25 +229,14 @@ |
| 218 | 229 | |
| 219 | 230 | </div> |
| 220 | 231 | |
| 221 | - </div> | |
| 222 | - | |
| 223 | - <div class="form-group"> | |
| 224 | 232 | <div class="col-md-6"> |
| 225 | 233 | <label class="control-label col-md-5"> |
| 226 | - <span class="required"> * </span> 高峰建议配车数 :</label> | |
| 234 | + <span class="required"> * </span> 高峰建议配车数 :</label> | |
| 227 | 235 | <div class="col-md-5"> |
| 228 | 236 | <input type="text" class="form-control" placeholder="车辆数" name="gfjypcs" id="gfjypcsInput" min="1"> |
| 229 | 237 | </div> |
| 230 | 238 | </div> |
| 231 | 239 | |
| 232 | - <div class="col-md-6"> | |
| 233 | - <label class="control-label col-md-5"> | |
| 234 | - <span class="required"> * </span> 加班车路牌数 :</label> | |
| 235 | - <div class="col-md-5"> | |
| 236 | - <input type="text" class="form-control" placeholder="加班路牌数" name="jblps" id="jblpsInput" min="1"> | |
| 237 | - </div> | |
| 238 | - </div> | |
| 239 | - | |
| 240 | 240 | </div> |
| 241 | 241 | |
| 242 | 242 | <!-- 隐藏字段-时间 --> |
| ... | ... | @@ -412,38 +412,76 @@ |
| 412 | 412 | |
| 413 | 413 | <div class="form-group"> |
| 414 | 414 | <div class="col-md-6"> |
| 415 | - <label class="control-label col-md-5"> | |
| 416 | - <span class="required"> * </span> 时段发车间隔 : | |
| 417 | - </label> | |
| 415 | + <label class="control-label col-md-5">早高峰最小发车间隔 :</label> | |
| 418 | 416 | <div class="col-md-4"> |
| 419 | - <p class="form-control-static" data-display="fcjx"> </p> | |
| 417 | + <p class="form-control-static" data-display="zgffcjxmin"> </p> | |
| 420 | 418 | </div> |
| 421 | 419 | </div> |
| 422 | 420 | <div class="col-md-6"> |
| 423 | - <label class="control-label col-md-5"> | |
| 424 | - <span class="required"> * </span> 停站类型 : | |
| 425 | - </label> | |
| 421 | + <label class="control-label col-md-5">早高峰最大发车间隔 :</label> | |
| 426 | 422 | <div class="col-md-4"> |
| 427 | - <p class="form-control-static" data-display="stt"> </p> | |
| 423 | + <p class="form-control-static" data-display="zgffcjxmax"> </p> | |
| 428 | 424 | </div> |
| 429 | 425 | </div> |
| 426 | + </div> | |
| 430 | 427 | |
| 428 | + <div class="form-group"> | |
| 429 | + <div class="col-md-6"> | |
| 430 | + <label class="control-label col-md-5">晚高峰最小发车间隔 :</label> | |
| 431 | + <div class="col-md-4"> | |
| 432 | + <p class="form-control-static" data-display="wffcjxmin"> </p> | |
| 433 | + </div> | |
| 434 | + </div> | |
| 435 | + <div class="col-md-6"> | |
| 436 | + <label class="control-label col-md-5">晚高峰最大发车间隔 :</label> | |
| 437 | + <div class="col-md-4"> | |
| 438 | + <p class="form-control-static" data-display="wffcjxmax"> </p> | |
| 439 | + </div> | |
| 440 | + </div> | |
| 431 | 441 | </div> |
| 432 | 442 | |
| 433 | 443 | <div class="form-group"> |
| 434 | 444 | <div class="col-md-6"> |
| 435 | - <label class="control-label col-md-5"> 高峰建议配车数 : </label> | |
| 445 | + <label class="control-label col-md-5">低谷最小发车间隔 :</label> | |
| 436 | 446 | <div class="col-md-4"> |
| 437 | - <p class="form-control-static" data-display="gfjypcs"> </p> | |
| 447 | + <p class="form-control-static" data-display="dgfcjxmin"> </p> | |
| 448 | + </div> | |
| 449 | + </div> | |
| 450 | + <div class="col-md-6"> | |
| 451 | + <label class="control-label col-md-5">低谷最大发车间隔 :</label> | |
| 452 | + <div class="col-md-4"> | |
| 453 | + <p class="form-control-static" data-display="dgfcjxmax"> </p> | |
| 438 | 454 | </div> |
| 439 | 455 | </div> |
| 456 | + </div> | |
| 457 | + | |
| 458 | + <div class="form-group"> | |
| 440 | 459 | <div class="col-md-6"> |
| 441 | - <label class="control-label col-md-5"> 加班车路牌数 : </label> | |
| 460 | + <label class="control-label col-md-5"> | |
| 461 | + <span class="required"> * </span> 建议加班车数 : | |
| 462 | + </label> | |
| 442 | 463 | <div class="col-md-4"> |
| 443 | - <p class="form-control-static" data-display="jblps"> </p> | |
| 464 | + <p class="form-control-static" data-display="jbclcount"> </p> | |
| 444 | 465 | </div> |
| 445 | 466 | </div> |
| 467 | + </div> | |
| 446 | 468 | |
| 469 | + <div class="form-group"> | |
| 470 | + <div class="col-md-6"> | |
| 471 | + <label class="control-label col-md-5"> | |
| 472 | + <span class="required"> * </span> 停站类型 : | |
| 473 | + </label> | |
| 474 | + <div class="col-md-4"> | |
| 475 | + <p class="form-control-static" data-display="stt"> </p> | |
| 476 | + </div> | |
| 477 | + </div> | |
| 478 | + | |
| 479 | + <div class="col-md-6"> | |
| 480 | + <label class="control-label col-md-5"> 高峰建议配车数 : </label> | |
| 481 | + <div class="col-md-4"> | |
| 482 | + <p class="form-control-static" data-display="gfjypcs"> </p> | |
| 483 | + </div> | |
| 484 | + </div> | |
| 447 | 485 | </div> |
| 448 | 486 | |
| 449 | 487 | </script> |
| 450 | 488 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/forms/statement/jobSummary.html
| ... | ... | @@ -273,7 +273,13 @@ |
| 273 | 273 | }) |
| 274 | 274 | |
| 275 | 275 | $get('/report/jobHzxx',{line:line,date:date},function(result){ |
| 276 | - console | |
| 276 | + //临加 | |
| 277 | + $("#ljbcs").html(result.ljbc); | |
| 278 | + $("#ljgls").html(result.ljgl) | |
| 279 | + | |
| 280 | + //烂班 | |
| 281 | + $("#lbbcs").html(result.lbbc); | |
| 282 | + $("#lbgls").html(result.lbgl) | |
| 277 | 283 | var list_xxsj=template('list_xxsj',result); |
| 278 | 284 | $('#forms .list_xxsj').html(list_xxsj); |
| 279 | 285 | ... | ... |
src/main/resources/static/pages/history_sch/edit/css/main.css
0 → 100644
| 1 | +input::-webkit-outer-spin-button, | |
| 2 | +input::-webkit-inner-spin-button{ | |
| 3 | + display: none; | |
| 4 | +} | |
| 5 | + | |
| 6 | +input::-webkit-calendar-picker-indicator { | |
| 7 | + display: none; | |
| 8 | +} | |
| 9 | + | |
| 10 | +input::-webkit-datetime-edit { padding: 1px; } | |
| 11 | + | |
| 12 | +.ps-container > .ps-scrollbar-y-rail{ | |
| 13 | + z-index: 1 !important; | |
| 14 | +} | |
| 15 | + | |
| 16 | +.ps-container > .ps-scrollbar-x-rail, | |
| 17 | +.ps-container > .ps-scrollbar-y-rail { | |
| 18 | + opacity: 0.6 !important; | |
| 19 | + padding: 0 !important; | |
| 20 | +} | |
| 21 | +/* ^_^ baidu map hide logo */ | |
| 22 | +.anchorBL, .anchorBL, .amap-logo, .amap-copyright { | |
| 23 | + display: none; | |
| 24 | +} | |
| 25 | + | |
| 26 | +audio, canvas, img, svg, video { | |
| 27 | + max-width: none; | |
| 28 | +} | |
| 29 | + | |
| 30 | +html, body { | |
| 31 | + width: 100%; | |
| 32 | + height: 100%; | |
| 33 | + overflow: hidden; | |
| 34 | + margin-left: 0 !important; | |
| 35 | +} | |
| 36 | + | |
| 37 | +.main-container { | |
| 38 | + height: calc(100% - 120px); | |
| 39 | +} | |
| 40 | + | |
| 41 | +#main-tab-content { | |
| 42 | + height: 100%; | |
| 43 | + margin-bottom: 0; | |
| 44 | +} | |
| 45 | + | |
| 46 | +.uk-modal .uk-form.fv-form, .uk-modal .ct-modal-body { | |
| 47 | + margin-bottom: -20px !important; | |
| 48 | +} | |
| 49 | + | |
| 50 | +.uk-modal .uk-form.fv-form.fixed-tool { | |
| 51 | + width: 100%; | |
| 52 | + position: relative; | |
| 53 | + height: 100%; | |
| 54 | +} | |
| 55 | + | |
| 56 | +.uk-modal .ct-modal-body .uk-modal-footer { | |
| 57 | + margin-left: 0; | |
| 58 | +} | |
| 59 | + | |
| 60 | +.uk-modal .uk-form.fv-form.fixed-tool .uk-modal-footer { | |
| 61 | + position: absolute; | |
| 62 | + bottom: 0; | |
| 63 | + width: calc(100% - 20px); | |
| 64 | +} | |
| 65 | + | |
| 66 | +table.ct-fixed-table { | |
| 67 | + table-layout: fixed; | |
| 68 | +} | |
| 69 | + | |
| 70 | +table.ct-fixed-table tr.context-menu-active { | |
| 71 | + background: #f0f0f0; | |
| 72 | +} | |
| 73 | + | |
| 74 | +table.ct-fixed-table.uk-table tr td { | |
| 75 | + white-space: nowrap; | |
| 76 | + overflow: hidden; | |
| 77 | + text-overflow: ellipsis; | |
| 78 | +} | |
| 79 | + | |
| 80 | +table.ct-fixed-table.uk-table .uk-badge { | |
| 81 | + padding: 2px 5px; | |
| 82 | +} | |
| 83 | + | |
| 84 | +.horizontal-field { | |
| 85 | + vertical-align: middle; | |
| 86 | + margin: 0 5px; | |
| 87 | +} | |
| 88 | + | |
| 89 | +.legend-tools { | |
| 90 | + float: right; | |
| 91 | + font-size: 11px; | |
| 92 | +} | |
| 93 | + | |
| 94 | +.legend-tools a.uk-icon-small { | |
| 95 | + margin: 0 5px; | |
| 96 | + cursor: pointer; | |
| 97 | +} | |
| 98 | + | |
| 99 | +.text-succ { | |
| 100 | + color: #659f13; | |
| 101 | +} | |
| 102 | + | |
| 103 | +.text-err { | |
| 104 | + color: red; | |
| 105 | +} | |
| 106 | + | |
| 107 | +.text-grey { | |
| 108 | + color: grey; | |
| 109 | +} | |
| 110 | + | |
| 111 | +svg.line-chart { | |
| 112 | + width: 100%; | |
| 113 | + height: 100%; | |
| 114 | + position: absolute; | |
| 115 | + left: 0; | |
| 116 | +} | |
| 117 | + | |
| 118 | +svg.line-chart circle.station_circle { | |
| 119 | + fill: #5e96d2; | |
| 120 | + r: 5.5; | |
| 121 | + stroke: rgb(253, 253, 253); | |
| 122 | + stroke-width: 3; | |
| 123 | + Pointer-events: none; | |
| 124 | +} | |
| 125 | + | |
| 126 | +svg.line-chart circle.station_circle.down { | |
| 127 | + fill: #c92121; | |
| 128 | +} | |
| 129 | + | |
| 130 | +svg.line-chart path.station_link { | |
| 131 | + stroke-width: 3.5px; | |
| 132 | + stroke: #5E96D2; | |
| 133 | + Pointer-events: none; | |
| 134 | +} | |
| 135 | + | |
| 136 | +svg.line-chart path.station_link.down { | |
| 137 | + stroke: #c92121; | |
| 138 | +} | |
| 139 | + | |
| 140 | +svg.line-chart path.station_link.down.loop_line { | |
| 141 | + stroke-dasharray: 4, 3; | |
| 142 | + stroke-width: 1px; | |
| 143 | +} | |
| 144 | + | |
| 145 | +svg.line-chart text.station_text { | |
| 146 | + writing-mode: tb; | |
| 147 | + fill: #3e3e3e; | |
| 148 | + letter-spacing: -.2px; | |
| 149 | + text-shadow: 0 0 2px #dadada; | |
| 150 | + Pointer-events: none; | |
| 151 | +} | |
| 152 | + | |
| 153 | +svg.line-chart text.station_text.up { | |
| 154 | + fill: #4556b6; | |
| 155 | +} | |
| 156 | + | |
| 157 | +svg.line-chart text.station_text.down { | |
| 158 | + fill: #c94f21; | |
| 159 | +} | |
| 160 | + | |
| 161 | +svg.line-chart g.item:first-child > text { | |
| 162 | + stroke: #6f6e6e; | |
| 163 | + fill: none; | |
| 164 | +} | |
| 165 | + | |
| 166 | +svg.line-chart g.item:nth-last-child(3) > text { | |
| 167 | + stroke: #6f6e6e; | |
| 168 | + fill: none; | |
| 169 | +} | |
| 170 | + | |
| 171 | +svg.line-chart g.item:first-child > text.up, | |
| 172 | +svg.line-chart g.item:nth-last-child(3) > text.up { | |
| 173 | + stroke: #4556b6; | |
| 174 | +} | |
| 175 | + | |
| 176 | +svg.line-chart g.item:first-child > text.down, | |
| 177 | +svg.line-chart g.item:nth-last-child(3) > text.down { | |
| 178 | + stroke: #c94f21; | |
| 179 | +} | |
| 180 | + | |
| 181 | +svg.line-chart g.gps-wrap > rect { | |
| 182 | + width: 30px; | |
| 183 | + height: 15px; | |
| 184 | + /* fill: #fff; */ | |
| 185 | + rx: 2px; | |
| 186 | + cursor: pointer; | |
| 187 | +} | |
| 188 | + | |
| 189 | +svg.line-chart g.gps-wrap > rect[updown="0"] { | |
| 190 | + stroke: rgb(62, 80, 179); | |
| 191 | + fill: rgb(62, 80, 179); | |
| 192 | +} | |
| 193 | + | |
| 194 | +svg.line-chart g.gps-wrap > rect[updown="1"] { | |
| 195 | + stroke: #c94f21; | |
| 196 | + fill: #c94f21; | |
| 197 | +} | |
| 198 | + | |
| 199 | +svg.line-chart g.gps-wrap > rect.hover { | |
| 200 | + stroke-width: 2; | |
| 201 | +} | |
| 202 | + | |
| 203 | +svg.line-chart g.gps-wrap > text { | |
| 204 | + font-size: 12px; | |
| 205 | + transform: translate(0, 12px); | |
| 206 | + pointer-events: none; | |
| 207 | +} | |
| 208 | + | |
| 209 | +svg.line-chart g.gps-wrap > text[updown="0"] { | |
| 210 | + fill: #fff; | |
| 211 | +} | |
| 212 | + | |
| 213 | +svg.line-chart g.gps-wrap > text[updown="1"] { | |
| 214 | + fill: #fff; | |
| 215 | +} | |
| 216 | + | |
| 217 | +svg.line-chart g.gps-wrap > rect.abnormal[updown="0"], | |
| 218 | +svg.line-chart g.gps-wrap > rect.abnormal[updown="1"] { | |
| 219 | + width: 40px; | |
| 220 | + fill: yellow; | |
| 221 | + stroke: yellow; | |
| 222 | +} | |
| 223 | + | |
| 224 | +svg.line-chart g.gps-wrap > text.abnormal[updown="0"], | |
| 225 | +svg.line-chart g.gps-wrap > text.abnormal[updown="1"] { | |
| 226 | + fill: black; | |
| 227 | +} | |
| 228 | + | |
| 229 | +svg.line-chart .merge_hide { | |
| 230 | + display: none !important; | |
| 231 | +} | |
| 232 | + | |
| 233 | +svg.line-chart g.merge-item rect { | |
| 234 | + width: 22px; | |
| 235 | + height: 22px; | |
| 236 | + rx: 15px; | |
| 237 | + fill: #19a53a; | |
| 238 | + cursor: pointer; | |
| 239 | + stroke: #19a53a; | |
| 240 | + stroke-dasharray: 1, 2; | |
| 241 | + stroke-width: 3px; | |
| 242 | +} | |
| 243 | + | |
| 244 | +svg.line-chart g.merge-item text { | |
| 245 | + fill: #fff; | |
| 246 | + pointer-events: none; | |
| 247 | +} | |
| 248 | + | |
| 249 | +.qtip-multi-gps { | |
| 250 | + max-width: 720px !important; | |
| 251 | +} | |
| 252 | + | |
| 253 | +.qtip-bootstrap.qtip-multi-gps .qtip-content { | |
| 254 | + padding: 0; | |
| 255 | +} | |
| 256 | + | |
| 257 | +.tooltip { | |
| 258 | + position: relative; | |
| 259 | + padding-bottom: 160px; | |
| 260 | + width: 220px; | |
| 261 | +} | |
| 262 | + | |
| 263 | +.multi-tooltip-wrap { | |
| 264 | + width: 100%; | |
| 265 | + max-height: 350px; | |
| 266 | + overflow: auto; | |
| 267 | +} | |
| 268 | + | |
| 269 | +.tip_map_wrap.multi { | |
| 270 | + width: 100%; | |
| 271 | + height: 130px; | |
| 272 | +} | |
| 273 | + | |
| 274 | +.tooltip.multi-tooltip { | |
| 275 | + width: 160px; | |
| 276 | + display: inline-block; | |
| 277 | + padding: 10px 0 10px 15px; | |
| 278 | + border-right: 1px solid #eeeeee; | |
| 279 | + border-bottom: 1px solid #eeeeee; | |
| 280 | +} | |
| 281 | + | |
| 282 | +.tooltip hr { | |
| 283 | + border-top: 1px solid #eeeeee; | |
| 284 | + width: calc(100% + 30px); | |
| 285 | + margin: 7px 0 11px -15px; | |
| 286 | +} | |
| 287 | + | |
| 288 | +.tooltip.multi-tooltip hr { | |
| 289 | + width: calc(100% + 16px); | |
| 290 | +} | |
| 291 | + | |
| 292 | +.tooltip .tooltip-container { | |
| 293 | + padding: 1px; | |
| 294 | +} | |
| 295 | + | |
| 296 | +.tooltip .tooltip-container div, .tooltip .tooltip-container div a { | |
| 297 | + margin: 7px 1px; | |
| 298 | + font-size: 13px; | |
| 299 | + color: rgb(76, 76, 76); | |
| 300 | +} | |
| 301 | + | |
| 302 | +.tooltip .tooltip-container div.title { | |
| 303 | + margin: 8px 1px 12px; | |
| 304 | +} | |
| 305 | + | |
| 306 | +.tooltip .tooltip-container .title a { | |
| 307 | + font-size: 18px; | |
| 308 | + font-family: 微软雅黑; | |
| 309 | +} | |
| 310 | + | |
| 311 | +.tooltip span.field { | |
| 312 | + color: #7d7d7b; | |
| 313 | + margin-right: 5px; | |
| 314 | +} | |
| 315 | + | |
| 316 | +.tooltip .tip_map_wrap { | |
| 317 | + position: absolute; | |
| 318 | + bottom: -16px; | |
| 319 | + left: -15px; | |
| 320 | + width: calc(100% + 28px); | |
| 321 | + background: #fff; | |
| 322 | + height: 165px; | |
| 323 | + border-radius: 0 0 5px 5px; | |
| 324 | + border-top: 1px solid #e6e4e4; | |
| 325 | +} | |
| 326 | + | |
| 327 | +canvas.crosshair-layer { | |
| 328 | + position: absolute; | |
| 329 | + width: 100%; | |
| 330 | + height: 100%; | |
| 331 | + background: rgba(255, 255, 255, 0.33); | |
| 332 | + left: 0; | |
| 333 | +} | |
| 334 | + | |
| 335 | +li.map-panel { | |
| 336 | + height: 100%; | |
| 337 | + position: relative; | |
| 338 | +} | |
| 339 | + | |
| 340 | +.main-container .load-panel { | |
| 341 | + display: block; | |
| 342 | + color: #999797; | |
| 343 | +} | |
| 344 | + | |
| 345 | +.uk-panel-box-danger { | |
| 346 | + background-color: #fff1f0; | |
| 347 | + /*color: #d85030;*/ | |
| 348 | + border-color: rgba(216, 80, 48, .3); | |
| 349 | +} | |
| 350 | + | |
| 351 | +/*.uk-panel-box-danger .uk-panel-title { | |
| 352 | + color: #d85030; | |
| 353 | +}*/ | |
| 354 | + | |
| 355 | +.uk-badge-default { | |
| 356 | + background-color: #a09b9c; | |
| 357 | + background-image: -webkit-linear-gradient(top, #9a9898, #8c8687); | |
| 358 | + background-image: linear-gradient(to bottom, #9a9898, #8c8687); | |
| 359 | +} | |
| 360 | + | |
| 361 | +.ct-bottom-drawer { | |
| 362 | + width: 100%; | |
| 363 | + background: rgb(255, 255, 255); | |
| 364 | + position: fixed; | |
| 365 | + bottom: 0; | |
| 366 | + box-shadow: 0 0 10px rgba(0, 0, 0, .3); | |
| 367 | + transition: all .3s ease; | |
| 368 | + height: 0; | |
| 369 | +} | |
| 370 | + | |
| 371 | +.ct-bottom-drawer.open { | |
| 372 | + height: 320px; | |
| 373 | +} | |
| 374 | + | |
| 375 | +.ct-bottom-drawer a.ct-bottom-drawer-close { | |
| 376 | + position: absolute; | |
| 377 | + right: 10px; | |
| 378 | + top: 10px; | |
| 379 | + color: #c3c3c3; | |
| 380 | + width: 20px; | |
| 381 | + line-height: 20px; | |
| 382 | + background: #fff; | |
| 383 | + text-align: center; | |
| 384 | + z-index: 99; | |
| 385 | +} | |
| 386 | + | |
| 387 | +.ct-bottom-drawer a.ct-bottom-drawer-close:hover { | |
| 388 | + text-decoration: none; | |
| 389 | + color: grey; | |
| 390 | +} | |
| 391 | + | |
| 392 | +.ct-bottom-drawer a.ct-bottom-drawer-close:after { | |
| 393 | + display: block; | |
| 394 | + content: "\f00d"; | |
| 395 | + font-family: FontAwesome; | |
| 396 | +} | |
| 397 | + | |
| 398 | +.ct-bottom-drawer-body { | |
| 399 | + width: 100%; | |
| 400 | + height: 100%; | |
| 401 | +} | |
| 402 | + | |
| 403 | +#station_route_spacing_chart_drawer .svg_wrap { | |
| 404 | + width: 80%; | |
| 405 | + height: 100%; | |
| 406 | + display: inline-block; | |
| 407 | + font-size: 14px; | |
| 408 | + overflow: hidden; | |
| 409 | + position: relative; | |
| 410 | +} | |
| 411 | + | |
| 412 | +#station_route_spacing_chart_drawer .drawer_right_map { | |
| 413 | + width: 20%; | |
| 414 | + height: 100%; | |
| 415 | + display: inline-block; | |
| 416 | +} | |
| 417 | + | |
| 418 | +#station_route_spacing_chart_drawer .svg_cont_body { | |
| 419 | + height: 100%; | |
| 420 | + position: absolute; | |
| 421 | + top: 0; | |
| 422 | + left: 0; | |
| 423 | +} | |
| 424 | + | |
| 425 | +#station_route_spacing_chart_drawer svg { | |
| 426 | + width: 100%; | |
| 427 | + height: 100%; | |
| 428 | +} | |
| 429 | + | |
| 430 | +#station_route_spacing_chart_drawer svg g._item rect { | |
| 431 | + stroke: rgb(62, 80, 179); | |
| 432 | + fill: rgb(62, 80, 179); | |
| 433 | + width: 30px; | |
| 434 | + height: 124px; | |
| 435 | + rx: 5; | |
| 436 | + transform: translate(-15px); | |
| 437 | +} | |
| 438 | + | |
| 439 | +#station_route_spacing_chart_drawer svg g._item text { | |
| 440 | + writing-mode: tb; | |
| 441 | + transform: translate(0, 9px); | |
| 442 | + fill: #fff; | |
| 443 | +} | |
| 444 | + | |
| 445 | +#station_route_spacing_chart_drawer svg g._item path { | |
| 446 | + stroke-width: 5.4px; | |
| 447 | + stroke: #3e50b3; | |
| 448 | +} | |
| 449 | + | |
| 450 | +#station_route_spacing_chart_drawer svg g._item circle { | |
| 451 | + r: 3px; | |
| 452 | + fill: #ffffff; | |
| 453 | +} | |
| 454 | + | |
| 455 | +#station_route_spacing_chart_drawer svg g._item path.arc_path { | |
| 456 | + stroke-width: 1.3px; | |
| 457 | + stroke: #3e50b3; | |
| 458 | + stroke-dasharray: 1000; | |
| 459 | + stroke-dashoffset: 1000; | |
| 460 | + fill: none; | |
| 461 | + | |
| 462 | + animation: dash .9s; | |
| 463 | + webkit-amimation: dash .9s; | |
| 464 | + animation-fill-mode: forwards; | |
| 465 | + -webkit-animation-fill-mode: forwards; | |
| 466 | +} | |
| 467 | + | |
| 468 | +@keyframes dash { | |
| 469 | + to { | |
| 470 | + stroke-dashoffset: 0; | |
| 471 | + stroke-dasharray: 4, 4; | |
| 472 | + } | |
| 473 | +} | |
| 474 | + | |
| 475 | +@-webkit-keyframes dash { | |
| 476 | + to { | |
| 477 | + stroke-dashoffset: 0; | |
| 478 | + stroke-dasharray: 4, 4; | |
| 479 | + } | |
| 480 | +} | |
| 481 | + | |
| 482 | +#station_route_spacing_chart_drawer svg g._item text.distance_text { | |
| 483 | + writing-mode: horizontal-tb; | |
| 484 | + fill: #3e50b3; | |
| 485 | +} | |
| 486 | + | |
| 487 | +#station_route_spacing_chart_drawer svg g._item rect.distance_rect { | |
| 488 | + height: 20px; | |
| 489 | + width: 40px; | |
| 490 | + fill: #fff !important; | |
| 491 | + stroke-width: 0; | |
| 492 | +} | |
| 493 | + | |
| 494 | +#station_route_spacing_chart_drawer .tl_desc_text { | |
| 495 | + position: absolute; | |
| 496 | + top: 5px; | |
| 497 | + left: 5px; | |
| 498 | + font-size: 12px; | |
| 499 | + color: #525050; | |
| 500 | + font-family: 微软雅黑; | |
| 501 | +} | |
| 502 | + | |
| 503 | +#station_route_spacing_chart_drawer svg g._item:first-child circle { | |
| 504 | + fill: #3e50b3; | |
| 505 | + r: 6px; | |
| 506 | +} | |
| 507 | + | |
| 508 | +#station_route_spacing_chart_drawer svg g._item:last-child circle { | |
| 509 | + fill: #3e50b3; | |
| 510 | + r: 6px; | |
| 511 | +} | |
| 512 | + | |
| 513 | +/* 下行 */ | |
| 514 | +#station_route_spacing_chart_drawer svg.down g._item rect { | |
| 515 | + stroke: #dd3829; | |
| 516 | + fill: #dd3829; | |
| 517 | +} | |
| 518 | + | |
| 519 | +#station_route_spacing_chart_drawer svg.down g._item path { | |
| 520 | + stroke: #dd3829; | |
| 521 | +} | |
| 522 | + | |
| 523 | +#station_route_spacing_chart_drawer svg.down g._item:first-child circle { | |
| 524 | + fill: #dd3829; | |
| 525 | +} | |
| 526 | + | |
| 527 | +#station_route_spacing_chart_drawer svg.down g._item text.distance_text { | |
| 528 | + fill: #dd3829; | |
| 529 | +} | |
| 530 | + | |
| 531 | +#station_route_spacing_chart_drawer svg.down g._item path.arc_path { | |
| 532 | + stroke: #dd3829; | |
| 533 | +} | |
| 534 | + | |
| 535 | +#station_route_spacing_chart_drawer svg.down g._item:last-child circle { | |
| 536 | + fill: #dd3829; | |
| 537 | +} | |
| 538 | + | |
| 539 | +.svg-edit-panel-wrap { | |
| 540 | + width: 48%; | |
| 541 | + border: 1px solid #e1d3d3; | |
| 542 | + padding: 12px 0 0 0; | |
| 543 | + border-radius: 4px; | |
| 544 | + position: relative; | |
| 545 | + display: inline-block; | |
| 546 | + vertical-align: top; | |
| 547 | + height: 440px; | |
| 548 | +} | |
| 549 | + | |
| 550 | +.svg-edit-panel-wrap .title-badge { | |
| 551 | + position: absolute; | |
| 552 | + top: -10px; | |
| 553 | + left: 7px; | |
| 554 | + font-size: 13px; | |
| 555 | + background: #fff; | |
| 556 | + padding: 0 3px; | |
| 557 | + color: #888888; | |
| 558 | +} | |
| 559 | + | |
| 560 | +.svg-edit-panel-wrap .rename-tools { | |
| 561 | + height: 21px; | |
| 562 | + padding: 0 0 0 9px; | |
| 563 | +} | |
| 564 | + | |
| 565 | +.svg-edit-panel-wrap .rename-item-panel { | |
| 566 | + border-bottom: 1px solid #ede5e5; | |
| 567 | + padding: 4px; | |
| 568 | +} | |
| 569 | + | |
| 570 | +.svg-edit-panel-wrap .rename-item-panel select { | |
| 571 | + width: 150px; | |
| 572 | +} | |
| 573 | + | |
| 574 | +.svg-edit-panel-wrap .rename-item-panel input { | |
| 575 | + margin-left: 7px; | |
| 576 | +} | |
| 577 | + | |
| 578 | +.svg-edit-panel-wrap .rename-item-panel input[type=checkbox] { | |
| 579 | + margin-top: 2px; | |
| 580 | + margin-right: 4px; | |
| 581 | +} | |
| 582 | + | |
| 583 | +.svg-edit-panel-wrap .rename-item-panel.active { | |
| 584 | + background: #65c9f8; | |
| 585 | + box-shadow: 0px 3px 7px 0 rgba(101, 201, 248, 0.48), 0px 1px 4px 0 rgba(101, 201, 248, 0.32); | |
| 586 | +} | |
| 587 | + | |
| 588 | +.svg-edit-panel-wrap .rename-item-panel.active select, | |
| 589 | +.svg-edit-panel-wrap .rename-item-panel.active input { | |
| 590 | + background: #65c9f8; | |
| 591 | + color: #fff; | |
| 592 | +} | |
| 593 | + | |
| 594 | +.svg-edit-panel-wrap .rename-item-panel.active i { | |
| 595 | + color: #e4f6ff; | |
| 596 | +} | |
| 597 | + | |
| 598 | +.svg-edit-panel-wrap .rename-item-panel.active input[type=checkbox] { | |
| 599 | + border: none; | |
| 600 | +} | |
| 601 | + | |
| 602 | +.svg-edit-panel-wrap .rename-item-panel.active input[type=checkbox]:before { | |
| 603 | + color: #fff; | |
| 604 | +} | |
| 605 | + | |
| 606 | +.svg-edit-panel-wrap .rename-tools a { | |
| 607 | + font-size: 14px; | |
| 608 | + padding: 5px; | |
| 609 | +} | |
| 610 | + | |
| 611 | +.svg-edit-panel-wrap .rename-tools a:hover { | |
| 612 | + background: #e8edef; | |
| 613 | + border-radius: 5px; | |
| 614 | +} | |
| 615 | + | |
| 616 | +.station-list { | |
| 617 | + width: 190px; | |
| 618 | + padding: 2px 7px; | |
| 619 | + height: 100%; | |
| 620 | + overflow: auto; | |
| 621 | + display: inline-block; | |
| 622 | +} | |
| 623 | + | |
| 624 | +.station-list .station-item { | |
| 625 | + padding: 3px 0; | |
| 626 | + margin: 5px 0; | |
| 627 | + border-radius: 3px; | |
| 628 | + font-size: 13px; | |
| 629 | + text-indent: 7px; | |
| 630 | + cursor: pointer; | |
| 631 | + white-space: nowrap; | |
| 632 | + overflow: hidden; | |
| 633 | + text-overflow: ellipsis; | |
| 634 | +} | |
| 635 | + | |
| 636 | +.station-list .station-item.disable, | |
| 637 | +.station-list .station-item.disable:hover { | |
| 638 | + background: #d5c9c9 !important; | |
| 639 | + color: #686565 !important; | |
| 640 | +} | |
| 641 | + | |
| 642 | +.station-list.up .station-item { | |
| 643 | + background: #5364c3; | |
| 644 | + color: white; | |
| 645 | +} | |
| 646 | + | |
| 647 | +.station-list.up .station-item:hover { | |
| 648 | + box-shadow: 0px 3px 6px 0 rgba(0, 0, 0, 0.2), 0px 1px 4px 0 rgba(0, 0, 0, 0.19); | |
| 649 | + background: #4556b6; | |
| 650 | +} | |
| 651 | + | |
| 652 | +.station-list.down .station-item { | |
| 653 | + background: #f95858; | |
| 654 | + color: white; | |
| 655 | +} | |
| 656 | + | |
| 657 | +.station-list.down .station-item:hover { | |
| 658 | + box-shadow: 0px 3px 6px 0 rgba(0, 0, 0, 0.2), 0px 1px 4px 0 rgba(0, 0, 0, 0.19); | |
| 659 | + background: #e95151; | |
| 660 | +} | |
| 661 | + | |
| 662 | +.modal-dotted-hr { | |
| 663 | + height: 1px; | |
| 664 | + border: none; | |
| 665 | + border-top: 1px dashed #d1d1d1; | |
| 666 | + width: calc(100% + 40px); | |
| 667 | + margin-left: -20px; | |
| 668 | +} | |
| 669 | + | |
| 670 | +#add-sub-task-range_turn-modal .main-sch-panel { | |
| 671 | + height: 60px; | |
| 672 | + border: 1px solid #dddddd; | |
| 673 | + border-radius: 5px; | |
| 674 | + position: relative; | |
| 675 | + padding: 20px 0 0 8px; | |
| 676 | +} | |
| 677 | + | |
| 678 | +#add-sub-task-range_turn-modal .main-sch-panel:before { | |
| 679 | + content: '主任务'; | |
| 680 | + position: absolute; | |
| 681 | + top: -10px; | |
| 682 | + left: 10px; | |
| 683 | + background: #fff; | |
| 684 | + padding: 0 4px; | |
| 685 | + font-size: 12px; | |
| 686 | + color: #adadad; | |
| 687 | +} | |
| 688 | + | |
| 689 | +.ct_row { | |
| 690 | + font-size: 0; | |
| 691 | +} | |
| 692 | + | |
| 693 | +.ct_row .ct_cell { | |
| 694 | + display: inline-block; | |
| 695 | + font-size: 13px; | |
| 696 | + white-space: nowrap; | |
| 697 | + overflow: hidden; | |
| 698 | + text-overflow: ellipsis; | |
| 699 | +} | |
| 700 | + | |
| 701 | +.ct_row .ct_cell label { | |
| 702 | + color: #979393; | |
| 703 | + margin-right: 3px; | |
| 704 | +} | |
| 705 | + | |
| 706 | +.ct_row .ct_cell.c_1_3 { | |
| 707 | + width: 33%; | |
| 708 | +} | |
| 709 | + | |
| 710 | +#schedule-lp_change-modal .sch-list dl dd { | |
| 711 | + font-size: 14px; | |
| 712 | +} | |
| 713 | + | |
| 714 | +#schedule-lp_change-modal .sch-list dl dt:nth-of-type(1), #schedule-lp_change-modal .sch-list dl dd:nth-of-type(1) { | |
| 715 | + width: 5%; | |
| 716 | + border-left: 1px solid #dedede; | |
| 717 | +} | |
| 718 | + | |
| 719 | +#schedule-lp_change-modal .sch-list dl dt:nth-of-type(2), #schedule-lp_change-modal .sch-list dl dd:nth-of-type(2) { | |
| 720 | + width: 22%; | |
| 721 | +} | |
| 722 | + | |
| 723 | +#schedule-lp_change-modal .sch-list dl dt:nth-of-type(3), #schedule-lp_change-modal .sch-list dl dd:nth-of-type(3) { | |
| 724 | + width: 17%; | |
| 725 | +} | |
| 726 | + | |
| 727 | +#schedule-lp_change-modal .sch-list dl dt:nth-of-type(4), #schedule-lp_change-modal .sch-list dl dd:nth-of-type(4) { | |
| 728 | + width: 10%; | |
| 729 | + } | |
| 730 | + | |
| 731 | +#schedule-lp_change-modal .sch-list dl dt:nth-of-type(5), #schedule-lp_change-modal .sch-list dl dd:nth-of-type(5) { | |
| 732 | + width: 21%; | |
| 733 | +} | |
| 734 | + | |
| 735 | +#schedule-lp_change-modal .sch-list dl dt:nth-of-type(6), #schedule-lp_change-modal .sch-list dl dd:nth-of-type(6) { | |
| 736 | + width: 10%; | |
| 737 | +} | |
| 738 | + | |
| 739 | +#schedule-lp_change-modal .sch-list dl dt:nth-of-type(7), #schedule-lp_change-modal .sch-list dl dd:nth-of-type(7) { | |
| 740 | + width: 14%; | |
| 741 | +} | |
| 742 | + | |
| 743 | + | |
| 744 | + | |
| 745 | + | |
| 746 | +#schedule-lp_change-modal .sch-list.reverse dl dt:nth-of-type(1), #schedule-lp_change-modal .sch-list.reverse dl dd:nth-of-type(1) { | |
| 747 | + width: 5%; | |
| 748 | + border-left: 1px solid #dedede; | |
| 749 | +} | |
| 750 | + | |
| 751 | +#schedule-lp_change-modal .sch-list.reverse dl dt:nth-of-type(2), #schedule-lp_change-modal .sch-list.reverse dl dd:nth-of-type(2) { | |
| 752 | + width: 14%; | |
| 753 | +} | |
| 754 | + | |
| 755 | +#schedule-lp_change-modal .sch-list.reverse dl dt:nth-of-type(3), #schedule-lp_change-modal .sch-list.reverse dl dd:nth-of-type(3) { | |
| 756 | + width: 10%; | |
| 757 | +} | |
| 758 | + | |
| 759 | +#schedule-lp_change-modal .sch-list.reverse dl dt:nth-of-type(4), #schedule-lp_change-modal .sch-list.reverse dl dd:nth-of-type(4) { | |
| 760 | + width: 21%; | |
| 761 | +} | |
| 762 | + | |
| 763 | +#schedule-lp_change-modal .sch-list.reverse dl dt:nth-of-type(5), #schedule-lp_change-modal .sch-list.reverse dl dd:nth-of-type(5) { | |
| 764 | + width: 10%; | |
| 765 | +} | |
| 766 | + | |
| 767 | +#schedule-lp_change-modal .sch-list.reverse dl dt:nth-of-type(6), #schedule-lp_change-modal .sch-list.reverse dl dd:nth-of-type(6) { | |
| 768 | + width: 17%; | |
| 769 | +} | |
| 770 | + | |
| 771 | +#schedule-lp_change-modal .sch-list.reverse dl dt:nth-of-type(7), #schedule-lp_change-modal .sch-list.reverse dl dd:nth-of-type(7) { | |
| 772 | + width: 22%; | |
| 773 | +} | |
| 774 | + | |
| 775 | +#schedule-lp_change-modal .ct_table.sch-list .ct_table_body dl.active { | |
| 776 | + background: #b9d2ff; | |
| 777 | +} | |
| 778 | + | |
| 779 | +#schedule-lp_change-modal .ct_table.sch-list .ct_table_body dl.active dd { | |
| 780 | + border-top: 1px solid #b9d2ff; | |
| 781 | +} | |
| 782 | + | |
| 783 | +#schedule-lp_change-modal .ct_table.sch-list dl.active input[type=checkbox] { | |
| 784 | + border: none; | |
| 785 | +} | |
| 786 | + | |
| 787 | +#schedule-lp_change-modal .ct_table.sch-list.reverse .ct_table_body dl.active { | |
| 788 | + background: #ffe2b9; | |
| 789 | +} | |
| 790 | + | |
| 791 | +#schedule-lp_change-modal .ct_table.sch-list.reverse .ct_table_body dl.active dd { | |
| 792 | + border-top: 1px solid #ffe2b9; | |
| 793 | +} | |
| 794 | + | |
| 795 | +#cache_data_manage-modal .uk-table td{ | |
| 796 | + vertical-align: bottom; | |
| 797 | +} | |
| 798 | + | |
| 799 | +#cache_data_manage-modal .uk-table td, | |
| 800 | +#cache_data_manage-modal .uk-table th{ | |
| 801 | + padding: 8px 8px 6px; | |
| 802 | +} | |
| 803 | + | |
| 804 | + | |
| 805 | +.ps-help-panel{ | |
| 806 | + color: grey; | |
| 807 | + padding: 5px 2px; | |
| 808 | +} | |
| 809 | + | |
| 810 | +.ps-help-panel small{ | |
| 811 | + display: block; | |
| 812 | +} | |
| 813 | + | |
| 814 | + | |
| 815 | +svg text.offline{ | |
| 816 | + fill: #6f6a6a !important; | |
| 817 | +} | |
| 818 | + | |
| 819 | +svg rect.offline{ | |
| 820 | + stroke: #dbdada !important; | |
| 821 | + fill: #dbdada !important; | |
| 822 | +} | |
| 823 | + | |
| 824 | +.tooltip .tooltip-container .title a>.abnormal-text{ | |
| 825 | + font-size: 14px; | |
| 826 | + color: #ff5e5e; | |
| 827 | + font-weight: 600; | |
| 828 | +} | |
| 829 | + | |
| 830 | +#addChildTaskBtn{ | |
| 831 | + margin-left: 5px; | |
| 832 | + color: #36729b; | |
| 833 | + padding: 1px 5px 1px 6px; | |
| 834 | +} | |
| 835 | + | |
| 836 | +#addChildTaskBtn:hover{ | |
| 837 | + box-shadow: 2px 1px 3px 0 rgba(0, 0, 0, 0.2), 0px 3px 8px 0 rgba(0, 0, 0, 0.19); | |
| 838 | +} | |
| 839 | + | |
| 840 | +.edit-icon{ | |
| 841 | + color: #aba9a9; | |
| 842 | + font-size: 12px; | |
| 843 | + margin-left: 5px; | |
| 844 | + display: none; | |
| 845 | +} | |
| 846 | + | |
| 847 | +.operation-real-text{ | |
| 848 | + position: absolute; | |
| 849 | + top: 9px; | |
| 850 | + width: 100%; | |
| 851 | + left: 0; | |
| 852 | + text-align: center; | |
| 853 | + pointer-events: none; | |
| 854 | +} | |
| 855 | + | |
| 856 | +.operation-real-text span{ | |
| 857 | + padding: 15px; | |
| 858 | + background: #ff4f4f; | |
| 859 | + color: white; | |
| 860 | + box-shadow: 0px 4px 6px 0 rgba(0, 0, 0, 0.2), 0px 4px 10px 0 rgba(0, 0, 0, 0.19); | |
| 861 | + border-radius: 1px 1px 4px 4px; | |
| 862 | +} | |
| 863 | + | |
| 864 | +#oil_station-modal.ct-form-modal form.uk-form-horizontal .uk-form-label{ | |
| 865 | + width: 120px; | |
| 866 | +} | |
| 867 | + | |
| 868 | +#oil_station-modal.ct-form-modal form.uk-form-horizontal .uk-form-controls{ | |
| 869 | + margin-left: 125px; | |
| 870 | +} | |
| 871 | + | |
| 872 | +#oil_station-modal .uk-form-icon>[class*=uk-icon-]{ | |
| 873 | + right: 23px; | |
| 874 | +} | |
| 875 | + | |
| 876 | +#oil_station-modal .uk-form-icon:not(.uk-form-icon-flip)>input{ | |
| 877 | + padding-left: 10px !important; | |
| 878 | +} | |
| 879 | + | |
| 880 | +#oil_station-modal .uk-form-icon{ | |
| 881 | + width: calc(100% - 145px); | |
| 882 | +} | |
| 883 | + | |
| 884 | +#oil_station-modal .uk-icon-mile:before{ | |
| 885 | + content: '公里'; | |
| 886 | +} | |
| 887 | + | |
| 888 | +#oil_station-modal .uk-icon-minute:before{ | |
| 889 | + content: '分钟'; | |
| 890 | +} | |
| 891 | + | |
| 892 | +option.oil_station_opt{ | |
| 893 | + color: red; | |
| 894 | +} | |
| 895 | + | |
| 896 | +#oil_station-modal .uk-modal .uk-form.fv-form{ | |
| 897 | + margin-bottom: 0 !important; | |
| 898 | +} | |
| 899 | + | |
| 900 | +#gb_wait_modal .uk-modal-spinner{ | |
| 901 | + top: 25px; | |
| 902 | + -webkit-transform: translate(-50%,0); | |
| 903 | + transform: translate(-50%,0); | |
| 904 | +} | |
| 905 | + | |
| 906 | +#gb_wait_modal .wait-modal-text{ | |
| 907 | + text-align: center; | |
| 908 | + margin-top: 35px; | |
| 909 | + font-size: 15px; | |
| 910 | + color: #635e5e; | |
| 911 | +} | |
| 912 | + | |
| 913 | +.park-and-station-wrap{ | |
| 914 | + margin-top: 9px; | |
| 915 | + border: 1px solid #3dce69; | |
| 916 | + width: 580px; | |
| 917 | + padding: 12px; | |
| 918 | + border-radius: 5px; | |
| 919 | +} | |
| 920 | +.park-and-station-wrap select{ | |
| 921 | + width: auto !important; | |
| 922 | +} | |
| 923 | + | |
| 924 | +/** 安全驾驶相关css */ | |
| 925 | +.safe_driv_pop_wrap{ | |
| 926 | + position: absolute; | |
| 927 | + right: 12px; | |
| 928 | + bottom: 12px; | |
| 929 | + z-index: 99; | |
| 930 | +} | |
| 931 | + | |
| 932 | +.safe_driv_pop{ | |
| 933 | + background: #d44b4b; | |
| 934 | + font-size: 15px; | |
| 935 | + padding: 9px 10px 0; | |
| 936 | + border: 1px solid #f4f0f0; | |
| 937 | + border-radius: 5px; | |
| 938 | + cursor: pointer; | |
| 939 | + box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); | |
| 940 | + transition: all .03s; | |
| 941 | + color: #f2f2f2; | |
| 942 | +} | |
| 943 | + | |
| 944 | +.safe_driv_pop:hover{ | |
| 945 | + background: #bc2a2a; | |
| 946 | +} | |
| 947 | + | |
| 948 | +.safe_driv_pop .title{ | |
| 949 | +} | |
| 950 | + | |
| 951 | +.safe_driv_pop .desc{ | |
| 952 | + display: block; | |
| 953 | + font-size: 12px; | |
| 954 | + color: #ff9d9d; | |
| 955 | + text-align: right; | |
| 956 | + margin-right: 5px; | |
| 957 | +} | |
| 958 | + | |
| 959 | +/** 嵌入表单modal滚动条样式 */ | |
| 960 | +#formFragmentModal::-webkit-scrollbar { | |
| 961 | + width: 10px; | |
| 962 | + background-color: #F5F5F5; | |
| 963 | +} | |
| 964 | +#formFragmentModal::-webkit-scrollbar-thumb { | |
| 965 | + background-color: #000000; | |
| 966 | +} | |
| 967 | +#formFragmentModal::-webkit-scrollbar-track { | |
| 968 | + border: 0; | |
| 969 | + background-color: #F5F5F5; | |
| 970 | + border-radius: 0; | |
| 971 | +} | |
| 972 | + | |
| 973 | +#formFragmentModal::-webkit-scrollbar-thumb{ | |
| 974 | + border: 5px solid rgb(226, 122, 122); | |
| 975 | +} | |
| 976 | + | |
| 977 | +#schedule-addsch_oil-modal select{ | |
| 978 | + height: 30px !important; | |
| 979 | +} | |
| 980 | + | |
| 981 | +#oil_station-modal .input_clear_icon{ | |
| 982 | + position: absolute; | |
| 983 | + top: 6px; | |
| 984 | + right: 108px; | |
| 985 | + color: #f75757; | |
| 986 | + height: 18px; | |
| 987 | + line-height: 18px; | |
| 988 | + border-radius: 7px; | |
| 989 | + font-size: 16px; | |
| 990 | + display: none; | |
| 991 | + cursor: pointer; | |
| 992 | +} | |
| 993 | + | |
| 994 | +#oil_station-modal .input_clear_icon:hover{ | |
| 995 | + color: #de2020; | |
| 996 | +} | |
| 997 | + | |
| 998 | +#oil_station-modal .input_clear_icon:before{ | |
| 999 | + display: block; | |
| 1000 | + font-family: FontAwesome; | |
| 1001 | + content: "\f057"; | |
| 1002 | +} | |
| 1003 | + | |
| 1004 | +#oil_station-modal input.readonly{ | |
| 1005 | + background: #dddddd; | |
| 1006 | +} | |
| 1007 | + | |
| 1008 | + | |
| 1009 | +.ct_tags{ | |
| 1010 | + margin-bottom: 12px; | |
| 1011 | +} | |
| 1012 | + | |
| 1013 | +.ct_tags>span{ | |
| 1014 | + padding: 3px 7px; | |
| 1015 | + background: #e8e8e8; | |
| 1016 | + color: #3a3939; | |
| 1017 | + cursor: pointer; | |
| 1018 | + margin-right: 5px; | |
| 1019 | +} | |
| 1020 | + | |
| 1021 | +.ct_tags>span.active{ | |
| 1022 | + background: #62a9e1; | |
| 1023 | + color: white; | |
| 1024 | + box-shadow: 0 0 4px rgba(0, 0, 0, 0.35); | |
| 1025 | +} | |
| 1026 | + | |
| 1027 | +.ct_tags>span.active:before{ | |
| 1028 | + content: "\f00c"; | |
| 1029 | + font-family: FontAwesome; | |
| 1030 | + margin-right: 2px; | |
| 1031 | + font-size: 13px; | |
| 1032 | +} | |
| 1033 | + | |
| 1034 | +.ct_tags>span:hover{ | |
| 1035 | + box-shadow: 0 0 4px rgba(0,0,0,.3); | |
| 1036 | +} | |
| 1037 | + | |
| 1038 | +span.late-badge { | |
| 1039 | + height: 20px; | |
| 1040 | + line-height: 20px; | |
| 1041 | + margin-top: 8px; | |
| 1042 | + color: grey; | |
| 1043 | + margin-left: 2px; | |
| 1044 | +} | |
| 1045 | + | |
| 1046 | +dl.intimity span.late-badge{ | |
| 1047 | + color: #fbfbfb; | |
| 1048 | +} | |
| 1049 | + | |
| 1050 | +/** badge tooltip */ | |
| 1051 | +.uk-badge.c_task:hover, | |
| 1052 | +.uk-badge.sch_region:hover{ | |
| 1053 | + background-image: none; | |
| 1054 | + background: #38b3e1; | |
| 1055 | + border: 1px solid #7ebad1; | |
| 1056 | +} | |
| 1057 | + | |
| 1058 | +.uk-badge.out:hover{ | |
| 1059 | + background-image: none; | |
| 1060 | + background: #8fc650; | |
| 1061 | + border: 1px solid #949f86; | |
| 1062 | +} | |
| 1063 | + | |
| 1064 | +.uk-badge.in:hover{ | |
| 1065 | + background-image: none; | |
| 1066 | + background: #fabc64; | |
| 1067 | + border: 1px solid #a68c67; | |
| 1068 | +} | |
| 1069 | + | |
| 1070 | +.qtip.sch-badge-tip{ | |
| 1071 | + max-width: 500px; | |
| 1072 | +} | |
| 1073 | + | |
| 1074 | +.tip_task_list { | |
| 1075 | + width: 460px; | |
| 1076 | + margin-bottom: -10px; | |
| 1077 | +} | |
| 1078 | +.tip_task_list dl{ | |
| 1079 | + font-size: 0; | |
| 1080 | + border-bottom: 1px solid #e6e6e6; | |
| 1081 | + margin: 0; | |
| 1082 | +} | |
| 1083 | +.tip_task_list dl:last-child{ | |
| 1084 | + border-bottom: none; | |
| 1085 | +} | |
| 1086 | +.tip_task_list dl dt, | |
| 1087 | +.tip_task_list dl dd{ | |
| 1088 | + display: inline-block; | |
| 1089 | + font-size: 13px; | |
| 1090 | + white-space: nowrap; | |
| 1091 | + overflow: hidden; | |
| 1092 | + text-overflow: ellipsis; | |
| 1093 | + height: 24px; | |
| 1094 | + line-height: 24px; | |
| 1095 | +} | |
| 1096 | + | |
| 1097 | +.tip_task_list dl dt:nth-of-type(1), .tip_task_list dl dd:nth-of-type(1){ | |
| 1098 | + width: 19%; | |
| 1099 | +} | |
| 1100 | +.tip_task_list dl dt:nth-of-type(2), .tip_task_list dl dd:nth-of-type(2){ | |
| 1101 | + width: 12%; | |
| 1102 | +} | |
| 1103 | +.tip_task_list dl dt:nth-of-type(3), .tip_task_list dl dd:nth-of-type(3){ | |
| 1104 | + width: 28%; | |
| 1105 | +} | |
| 1106 | +.tip_task_list dl dt:nth-of-type(4), .tip_task_list dl dd:nth-of-type(4){ | |
| 1107 | + width: 28%; | |
| 1108 | +} | |
| 1109 | +.tip_task_list dl dt:nth-of-type(5), .tip_task_list dl dd:nth-of-type(5){ | |
| 1110 | + width: 13%; | |
| 1111 | +} | |
| 1112 | + | |
| 1113 | +.tip_task_list dl.service{ | |
| 1114 | + color: blue; | |
| 1115 | +} | |
| 1116 | +.tip_task_list dl.service.destroy{ | |
| 1117 | + color: red; | |
| 1118 | +} | |
| 1119 | + | |
| 1120 | +.tip_task_list dl.service.temp_add{ | |
| 1121 | + color: #9C27B0; | |
| 1122 | +} | |
| 1123 | + | |
| 1124 | +.tip_task_list dl span{ | |
| 1125 | + margin: 0; | |
| 1126 | + width: auto; | |
| 1127 | +} | |
| 1128 | + | |
| 1129 | +ul.left_tabs_lg{ | |
| 1130 | + border: 1px solid #efeded; | |
| 1131 | + height: 100%; | |
| 1132 | + background: #fafafa; | |
| 1133 | +} | |
| 1134 | + | |
| 1135 | +ul.left_tabs_lg li{ | |
| 1136 | + line-height: 40px; | |
| 1137 | + font-size: 15px; | |
| 1138 | +} | |
| 1139 | + | |
| 1140 | +#schedule-addsch-modal .uk-modal-footer{ | |
| 1141 | + border-top: none; | |
| 1142 | + background: none; | |
| 1143 | +} | |
| 1144 | + | |
| 1145 | +.ct_line_lp_badge{ | |
| 1146 | + float: left; | |
| 1147 | + margin-top: 6px; | |
| 1148 | + background: #e0e0e0; | |
| 1149 | + padding: 2px 7px; | |
| 1150 | + border-radius: 3px; | |
| 1151 | +} | |
| 1152 | + | |
| 1153 | +.uk-badge.sch_ldks{ | |
| 1154 | + background: #8c8c8c; | |
| 1155 | + background-image: linear-gradient(to bottom,#a7a7a7,#8c8c8c); | |
| 1156 | +} | |
| 1157 | + | |
| 1158 | +.ct_layer_modal{ | |
| 1159 | + background: #e5e5e5; | |
| 1160 | + height: 100%; | |
| 1161 | + width: 100%; | |
| 1162 | + overflow: auto; | |
| 1163 | +} | |
| 1164 | + | |
| 1165 | +.layui-layer-setwin{ | |
| 1166 | + | |
| 1167 | +} | |
| 1168 | + | |
| 1169 | +.device_config_table dl dt:nth-of-type(1), .device_config_table dl dd:nth-of-type(1){ | |
| 1170 | + width: 7%; | |
| 1171 | + text-indent: 10px; | |
| 1172 | +} | |
| 1173 | +.device_config_table dl dt:nth-of-type(2), .device_config_table dl dd:nth-of-type(2){ | |
| 1174 | + width: 7%; | |
| 1175 | +} | |
| 1176 | +.device_config_table dl dt:nth-of-type(3), .device_config_table dl dd:nth-of-type(3){ | |
| 1177 | + width: 8%; | |
| 1178 | +} | |
| 1179 | +.device_config_table dl dt:nth-of-type(4), .device_config_table dl dd:nth-of-type(4){ | |
| 1180 | + width: 5%; | |
| 1181 | +} | |
| 1182 | +.device_config_table dl dt:nth-of-type(5), .device_config_table dl dd:nth-of-type(5){ | |
| 1183 | + width: 4%; | |
| 1184 | +} | |
| 1185 | +.device_config_table dl dt:nth-of-type(6), .device_config_table dl dd:nth-of-type(6){ | |
| 1186 | + width: 4%; | |
| 1187 | +} | |
| 1188 | +.device_config_table dl dt:nth-of-type(7), .device_config_table dl dd:nth-of-type(7){ | |
| 1189 | + width: 4%; | |
| 1190 | +} | |
| 1191 | +.device_config_table dl dt:nth-of-type(8), .device_config_table dl dd:nth-of-type(8){ | |
| 1192 | + width: 5%; | |
| 1193 | +} | |
| 1194 | +.device_config_table dl dt:nth-of-type(9), .device_config_table dl dd:nth-of-type(9){ | |
| 1195 | + width: 5%; | |
| 1196 | +} | |
| 1197 | +.device_config_table dl dt:nth-of-type(10), .device_config_table dl dd:nth-of-type(10){ | |
| 1198 | + width: 8%; | |
| 1199 | +} | |
| 1200 | +.device_config_table dl dt:nth-of-type(11), .device_config_table dl dd:nth-of-type(11){ | |
| 1201 | + width: 5%; | |
| 1202 | +} | |
| 1203 | +.device_config_table dl dt:nth-of-type(12), .device_config_table dl dd:nth-of-type(12){ | |
| 1204 | + width: 5%; | |
| 1205 | +} | |
| 1206 | +.device_config_table dl dt:nth-of-type(13), .device_config_table dl dd:nth-of-type(13){ | |
| 1207 | + width: 4%; | |
| 1208 | +} | |
| 1209 | +.device_config_table dl dt:nth-of-type(14), .device_config_table dl dd:nth-of-type(14){ | |
| 1210 | + width: 4%; | |
| 1211 | +} | |
| 1212 | +.device_config_table dl dt:nth-of-type(15), .device_config_table dl dd:nth-of-type(15){ | |
| 1213 | + width: 4%; | |
| 1214 | +} | |
| 1215 | +.device_config_table dl dt:nth-of-type(16), .device_config_table dl dd:nth-of-type(16){ | |
| 1216 | + width: 3%; | |
| 1217 | +} | |
| 1218 | +.device_config_table dl dt:nth-of-type(17), .device_config_table dl dd:nth-of-type(17){ | |
| 1219 | + width: 4%; | |
| 1220 | +} | |
| 1221 | +.device_config_table dl dt:nth-of-type(18), .device_config_table dl dd:nth-of-type(18){ | |
| 1222 | + width: 13%; | |
| 1223 | +} | |
| 1224 | + | |
| 1225 | +.uk-tooltip{ | |
| 1226 | + z-index: 29999999 !important; | |
| 1227 | +} | |
| 1228 | + | |
| 1229 | +.device_config_table.ct_table dl dd, | |
| 1230 | +.device_config_table.ct_table dl dt{ | |
| 1231 | + border-right: 1px solid #dedede !important; | |
| 1232 | +} | |
| 1233 | + | |
| 1234 | +.device_configs_manager .search_form{ | |
| 1235 | + text-indent: 12px; | |
| 1236 | + margin-bottom: 0; | |
| 1237 | + padding: 18px 5px; | |
| 1238 | +} | |
| 1239 | + | |
| 1240 | +.sub_task_form_v2{ | |
| 1241 | + background: #f9f9f9; | |
| 1242 | + padding: 12px 15px; | |
| 1243 | + border-radius: 5px 0 5px 5px; | |
| 1244 | + border: 1px solid #dfdfdf; | |
| 1245 | + position: relative; | |
| 1246 | + margin-bottom: 20px; | |
| 1247 | +} | |
| 1248 | + | |
| 1249 | +.task_form_close_icon{ | |
| 1250 | + background: #f9f9f9; | |
| 1251 | + padding: 0px 4px; | |
| 1252 | + position: absolute; | |
| 1253 | + top: -8px; | |
| 1254 | + right: -8px; | |
| 1255 | + color: #898989; | |
| 1256 | + font-size: 15px; | |
| 1257 | + border: 1px solid #dfdfdf; | |
| 1258 | + border-radius: 100%; | |
| 1259 | + border-left: none; | |
| 1260 | + border-bottom: none; | |
| 1261 | + transition: all .03s; | |
| 1262 | +} | |
| 1263 | + | |
| 1264 | +.task_form_close_icon:hover{ | |
| 1265 | + border: 1px solid #ff1515; | |
| 1266 | + border-left: none; | |
| 1267 | + border-bottom: none; | |
| 1268 | + color: #e03e3e; | |
| 1269 | +} | |
| 1270 | + | |
| 1271 | +.sub_task_form_v2:hover::after{ | |
| 1272 | + color: #5f5b5b; | |
| 1273 | +} | |
| 1274 | + | |
| 1275 | +.sub_task_form_v2.uk-form-horizontal .uk-form-label{ | |
| 1276 | + width: 80px; | |
| 1277 | +} | |
| 1278 | + | |
| 1279 | +.sub_task_form_v2.uk-form-horizontal .uk-form-controls{ | |
| 1280 | + margin-left: 85px; | |
| 1281 | +} | |
| 1282 | + | |
| 1283 | +.sub_task_form_v2.uk-form-horizontal .uk-form-controls input[type=text], | |
| 1284 | +.sub_task_form_v2.uk-form-horizontal .uk-form-controls input[type=time], | |
| 1285 | +.sub_task_form_v2.uk-form-horizontal .uk-form-controls select{ | |
| 1286 | + width: 100%; | |
| 1287 | +} | |
| 1288 | + | |
| 1289 | +#add-sub-task-main-modal .uk-modal-footer{ | |
| 1290 | + background: none; | |
| 1291 | + border-top: none; | |
| 1292 | +} | |
| 1293 | + | |
| 1294 | +#add-sub-task-main-modal .uk-grid+.uk-grid{ | |
| 1295 | + margin-top: 12px; | |
| 1296 | +} | |
| 1297 | + | |
| 1298 | +#add-sub-task-main-modal .plus_icon_span{ | |
| 1299 | + font-size: 26px; | |
| 1300 | + color: #b2b2b2; | |
| 1301 | + padding: 10px 64px; | |
| 1302 | + display: inline-block; | |
| 1303 | + border: 1px dashed grey; | |
| 1304 | + margin: 15px 0; | |
| 1305 | + border-radius: 5px; | |
| 1306 | + cursor: pointer; | |
| 1307 | +} | |
| 1308 | + | |
| 1309 | +#add-sub-task-main-modal .uk-animation-fade{ | |
| 1310 | + animation-duration: .3s; | |
| 1311 | +} | |
| 1312 | + | |
| 1313 | +#add-sub-task-main-modal .forms{ | |
| 1314 | + max-height: 488px; | |
| 1315 | + overflow-y: auto; | |
| 1316 | + overflow-x: hidden; | |
| 1317 | + padding: 8px 8px 0 0; | |
| 1318 | +} | |
| 1319 | + | |
| 1320 | +.add_custom_wrap .forms .sub_task_form_v2:last-child{ | |
| 1321 | + margin-bottom: 0; | |
| 1322 | +} | |
| 1323 | + | |
| 1324 | +.sub_task_form_v2.destroy_form{ | |
| 1325 | + background-color: #fff5f4 !important; | |
| 1326 | +} | |
| 1327 | + | |
| 1328 | +.uk-form>.half_change_car_box{ | |
| 1329 | + margin: -10px 0 15px; | |
| 1330 | + padding: 3px 5px; | |
| 1331 | + display: inline-block; | |
| 1332 | + border: 1px solid #dfdddd; | |
| 1333 | + color: #918f8f; | |
| 1334 | +} | |
| 1335 | + | |
| 1336 | +.half_change_car_box input[type=checkbox]{ | |
| 1337 | + vertical-align: top; | |
| 1338 | +} | |
| 1339 | + | |
| 1340 | +.uk-form>.half_change_car_box.active{ | |
| 1341 | + background: #4CAF50; | |
| 1342 | + color: #fff; | |
| 1343 | +} | |
| 1344 | + | |
| 1345 | +.uk-form>.half_change_car_box.active input[type=checkbox]{ | |
| 1346 | + background: #4caf50; | |
| 1347 | + border-color: #4caf50; | |
| 1348 | +} | |
| 1349 | + | |
| 1350 | +.uk-form>.half_change_car_box.active input[type=checkbox]:before{ | |
| 1351 | + color: #ffffff; | |
| 1352 | +} | |
| 1353 | + | |
| 1354 | +.sub_task_form_v2.change_car{ | |
| 1355 | + z-index: 99; | |
| 1356 | +} | |
| 1357 | + | |
| 1358 | +.st_range_top_form{ | |
| 1359 | + padding: 0 0 15px 5px; | |
| 1360 | + border: 1px solid #c4bb76; | |
| 1361 | + background: #e5e1c1; | |
| 1362 | + margin-bottom: 15px; | |
| 1363 | + box-shadow: 0px 4px 3px 0 rgba(142, 138, 138, 0.2), 0px 4px 5px 0 rgba(157, 156, 156, 0.19); | |
| 1364 | +} | |
| 1365 | + | |
| 1366 | +.st_range_top_form .uk-form-row{ | |
| 1367 | + margin-top: 20px; | |
| 1368 | +} | |
| 1369 | + | |
| 1370 | +.uk-form-horizontal.st_range_top_form .uk-form-label{ | |
| 1371 | + width: 80px; | |
| 1372 | +} | |
| 1373 | + | |
| 1374 | +.uk-form-horizontal.st_range_top_form .uk-form-controls{ | |
| 1375 | + margin-left: 84px; | |
| 1376 | +} | |
| 1377 | + | |
| 1378 | +.uk-form-horizontal.st_range_top_form .uk-form-controls select{ | |
| 1379 | + width: calc(100% - 2px); | |
| 1380 | +} | |
| 1381 | + | |
| 1382 | +.sub_task_form_v2.service_st_form{ | |
| 1383 | + background: #f4faff; | |
| 1384 | +} | |
| 1385 | + | |
| 1386 | +.uk-modal .uk-form.fv-form.sub_task_form_v2{ | |
| 1387 | + margin-bottom: 20px !important; | |
| 1388 | +} | |
| 1389 | + | |
| 1390 | +.sub_task_table_wrap .ct_table>.ct_table_body{ | |
| 1391 | + border-bottom: none; | |
| 1392 | +} | |
| 1393 | + | |
| 1394 | +.err_panel{ | |
| 1395 | + font-size: 12px; | |
| 1396 | + color: #7e7d7d; | |
| 1397 | + font-family: 微软雅黑; | |
| 1398 | + margin-top: 5px; | |
| 1399 | +} | |
| 1400 | + | |
| 1401 | +#schedule-lp_change-modal .ct_table dl{ | |
| 1402 | + height: 35px; | |
| 1403 | +} | |
| 1404 | + | |
| 1405 | +#schedule-lp_change-modal .ct_table dl dd, #schedule-lp_change-modal .ct_table dl dt{ | |
| 1406 | + line-height: 35px; | |
| 1407 | +} | |
| 1408 | + | |
| 1409 | +/* | |
| 1410 | +.sub_task_form_v2.repeat_main:before{ | |
| 1411 | + content: '复'; | |
| 1412 | + position: absolute; | |
| 1413 | + top: -10px; | |
| 1414 | + font-size: 12px; | |
| 1415 | + color: #2196F3; | |
| 1416 | + background: #ffffff; | |
| 1417 | + padding: 0 3px; | |
| 1418 | + font-weight: 600; | |
| 1419 | +}*/ | |
| 1420 | + | |
| 1421 | +.sub_task_form_v2:before{ | |
| 1422 | + position: absolute; | |
| 1423 | + top: -7px; | |
| 1424 | + font-size: 12px; | |
| 1425 | + padding: 0 3px; | |
| 1426 | + font-weight: 600; | |
| 1427 | + line-height: 14px; | |
| 1428 | +} | |
| 1429 | + | |
| 1430 | +.sub_task_form_v2.destroy_form:before{ | |
| 1431 | + content: '烂班' !important; | |
| 1432 | + color: #f14235 !important; | |
| 1433 | + background: #ffffff !important; | |
| 1434 | +} | |
| 1435 | + | |
| 1436 | +.sub_task_form_v2.service_form:before{ | |
| 1437 | + content: '营运'; | |
| 1438 | + color: #2196F3; | |
| 1439 | + background: #ffffff; | |
| 1440 | +} | |
| 1441 | + | |
| 1442 | +.sub_task_form_v2.service_form.temp_service:before{ | |
| 1443 | + content: '营运 (临加)'; | |
| 1444 | + color: #9C27B0; | |
| 1445 | + background: #ffffff; | |
| 1446 | +} | |
| 1447 | + | |
| 1448 | +.sub_task_form_v2.service_form.temp_service { | |
| 1449 | + background: #faf0fd; | |
| 1450 | +} | |
| 1451 | + | |
| 1452 | +.sub_task_form_v2.empty_form:before{ | |
| 1453 | + content: '空驶'; | |
| 1454 | + color: #928f92; | |
| 1455 | + background: #ffffff; | |
| 1456 | +} | |
| 1457 | + | |
| 1458 | +.sub_task_form_v2.service_form{ | |
| 1459 | + background: #f4faff; | |
| 1460 | +} | |
| 1461 | + | |
| 1462 | +/*.sub_task_form_v2.repeat_main.destroy_form:before{ | |
| 1463 | + color: #F44336; | |
| 1464 | +} | |
| 1465 | + | |
| 1466 | +.sub_task_form_v2.repeat_main{ | |
| 1467 | + background: #f4faff; | |
| 1468 | +}*/ | |
| 1469 | +.footer_tools{ | |
| 1470 | + position: absolute; | |
| 1471 | + left: 235px; | |
| 1472 | + bottom: 19px; | |
| 1473 | +} | |
| 1474 | + | |
| 1475 | +.footer_mileage_count{ | |
| 1476 | + border: 1px solid #f2f2f2; | |
| 1477 | + padding: 5px; | |
| 1478 | + box-shadow: 0px 2px 5px 0 rgba(0, 0, 0, 0.2), 0px 2px 7px 0 rgba(0, 0, 0, 0.19); | |
| 1479 | + display: inline-block; | |
| 1480 | +} | |
| 1481 | + | |
| 1482 | +.footer_mileage_count>span{ | |
| 1483 | + padding: 2px 5px; | |
| 1484 | +} | |
| 1485 | + | |
| 1486 | +.footer_mileage_count>span.service_sum{ | |
| 1487 | + color: #2196F3; | |
| 1488 | +} | |
| 1489 | + | |
| 1490 | +.footer_mileage_count>span.empty_sum{ | |
| 1491 | + color: #636363; | |
| 1492 | +} | |
| 1493 | + | |
| 1494 | +.footer_mileage_count>span.destroy_sum{ | |
| 1495 | + color: #f5574b; | |
| 1496 | +} | |
| 1497 | + | |
| 1498 | +.station_to_park_link{ | |
| 1499 | + display: inline-block; | |
| 1500 | + margin-left: 15px; | |
| 1501 | + vertical-align: bottom; | |
| 1502 | + font-size: 12px; | |
| 1503 | +} | |
| 1504 | + | |
| 1505 | +.station_to_park_link>a{ | |
| 1506 | + color: #607D8B; | |
| 1507 | +} | |
| 1508 | + | |
| 1509 | +#station_to_park-modal.ct-form-modal form input[type=text], | |
| 1510 | +#station_to_park-modal.ct-form-modal form select{ | |
| 1511 | + width: auto; | |
| 1512 | +} | |
| 1513 | + | |
| 1514 | +.s_2_park_form_wrap{ | |
| 1515 | + background: #fafafa; | |
| 1516 | + border: 1px solid #e5e5e5; | |
| 1517 | + padding: 7px 16px; | |
| 1518 | + margin: 15px 0; | |
| 1519 | + position: relative; | |
| 1520 | +} | |
| 1521 | + | |
| 1522 | +.s_2_park_form_wrap .ct_close{ | |
| 1523 | + position: absolute; | |
| 1524 | + top: -12px; | |
| 1525 | + padding: 0 4px; | |
| 1526 | + right: -8px; | |
| 1527 | + color: #939393; | |
| 1528 | + border: 1px solid #f7dfdf; | |
| 1529 | + border-radius: 25px; | |
| 1530 | + cursor: pointer; | |
| 1531 | +} | |
| 1532 | + | |
| 1533 | +.s_2_park_form_wrap .ct_close:hover{ | |
| 1534 | + background: #e5e5e5; | |
| 1535 | + color: #fd6e6e; | |
| 1536 | +} | |
| 1537 | + | |
| 1538 | +.s_2_park_form_wrap label{ | |
| 1539 | + color: #666; | |
| 1540 | + font-size: 13px; | |
| 1541 | +} | |
| 1542 | + | |
| 1543 | +#station_to_park-modal.ct-form-modal form input[readonly]{ | |
| 1544 | + background: #fafafa; | |
| 1545 | +} | |
| 1546 | + | |
| 1547 | +.s_2_park_form_wrap .bottom_label{ | |
| 1548 | + margin-top: 25px; | |
| 1549 | + display: block; | |
| 1550 | +} | |
| 1551 | + | |
| 1552 | +.s_2_park_form_wrap .bottom_label_2{ | |
| 1553 | + margin-top: 4px; | |
| 1554 | + display: block; | |
| 1555 | +} | |
| 1556 | + | |
| 1557 | +.ct_describe{ | |
| 1558 | + font-size: 12px; | |
| 1559 | + color: #909090; | |
| 1560 | + font-family: FontAwesome; | |
| 1561 | +} | |
| 1562 | + | |
| 1563 | +.ct_describe:before{ | |
| 1564 | + content: "\f059"; | |
| 1565 | + margin-right: 3px; | |
| 1566 | +} | |
| 1567 | + | |
| 1568 | +#add-sub-task-main-modal abbr{ | |
| 1569 | + display: inline-block; | |
| 1570 | + font-size: 12px; | |
| 1571 | + margin-left: 25px; | |
| 1572 | + vertical-align: bottom; | |
| 1573 | + color: #929292; | |
| 1574 | +} | |
| 1575 | + | |
| 1576 | +#all-devices-modal .search-form input[type=text]{ | |
| 1577 | + width: 100px; | |
| 1578 | +} | |
| 1579 | + | |
| 1580 | +#all-devices-modal .auto-refresh{ | |
| 1581 | + vertical-align: middle;margin-left: 5px;color: grey; | |
| 1582 | +} | |
| 1583 | + | |
| 1584 | +#all-devices-modal .auto-refresh.active{ | |
| 1585 | + color: #405dff; | |
| 1586 | +} | |
| 1587 | + | |
| 1588 | +#all-devices-modal .uk-margin-small-top { | |
| 1589 | + margin-top: 0 !important; | |
| 1590 | +} | |
| 1591 | + | |
| 1592 | +#history-sch-maintain-modal .add_lp_link{ | |
| 1593 | + display: inline-block; | |
| 1594 | + vertical-align: bottom; | |
| 1595 | + margin-left: 15px; | |
| 1596 | + text-decoration: underline; | |
| 1597 | + font-size: 13px; | |
| 1598 | +} | |
| 1599 | + | |
| 1600 | +#schedule-tzrc-modal input[type=checkbox]{ | |
| 1601 | + margin-right: 9px; | |
| 1602 | +} | |
| 1603 | + | |
| 1604 | +#schedule-tzrc-modal span.ct_zt_yzx{ | |
| 1605 | + color: #2196F3; | |
| 1606 | + font-size: 12px; | |
| 1607 | +} | |
| 1608 | + | |
| 1609 | +#schedule-tzrc-modal span.ct_zt_lb{ | |
| 1610 | + color: red; | |
| 1611 | + font-size: 12px; | |
| 1612 | +} | |
| 1613 | + | |
| 1614 | +#schedule-tzrc-modal span.ct_zt_zzzx{ | |
| 1615 | + font-size: 12px; | |
| 1616 | + color: #38ad3c; | |
| 1617 | +} | |
| 1618 | + | |
| 1619 | +#schedule-tzrc-modal .tzrc_form{ | |
| 1620 | + padding: 20px; | |
| 1621 | + border: 1px solid #f0eded; | |
| 1622 | + box-shadow: 0px -3px 15px rgba(0,0,0,0.08); | |
| 1623 | + background: #f9f9f9; | |
| 1624 | +} | |
| 1625 | + | |
| 1626 | +.uk-panel.ct_search_panel{ | |
| 1627 | + padding: 15px; | |
| 1628 | + border: 1px solid #f0eded; | |
| 1629 | + box-shadow: 0px 3px 15px rgba(0,0,0,0.08); | |
| 1630 | + background: #f9f9f9; | |
| 1631 | +} | |
| 1632 | + | |
| 1633 | +.sch-tzrc-table.ct_table dl.active, | |
| 1634 | +.sch-tzrc-table.ct_table>.ct_table_body dl.active:hover{ | |
| 1635 | + background: #5bd460; | |
| 1636 | + color: white; | |
| 1637 | +} | |
| 1638 | + | |
| 1639 | +#schedule-tzrc-modal dl.active span.ct_zt_yzx{ | |
| 1640 | + color: #545252; | |
| 1641 | +} | |
| 1642 | + | |
| 1643 | +#schedule-tzrc-modal dl.active span.ct_zt_lb{ | |
| 1644 | + color: #d64949; | |
| 1645 | +} | |
| 1646 | + | |
| 1647 | +#schedule-tzrc-modal dl.active span.ct_zt_zzzx{ | |
| 1648 | + color: white; | |
| 1649 | +} | |
| 1650 | + | |
| 1651 | +#schedule-tzrc-modal dl.active input[type=checkbox]{ | |
| 1652 | + border: 0; | |
| 1653 | +} | |
| 1654 | + | |
| 1655 | +#schedule-tzrc-modal dl.active input[type=checkbox]:before{ | |
| 1656 | + color: #ffffff; | |
| 1657 | +} | |
| 1658 | + | |
| 1659 | +.sch-search-autocom input{ | |
| 1660 | + padding: 0 !important; | |
| 1661 | + height: 100% !important; | |
| 1662 | +} | |
| 1663 | + | |
| 1664 | +label.blue_checkbox{ | |
| 1665 | + margin-left: 12px; | |
| 1666 | +} | |
| 1667 | + | |
| 1668 | +label.blue_checkbox>input{ | |
| 1669 | + width: 17px !important; | |
| 1670 | + height: 17px !important; | |
| 1671 | +} | |
| 1672 | + | |
| 1673 | +label.blue_checkbox>input:checked:before, | |
| 1674 | +label.blue_checkbox>input:indeterminate:before{ | |
| 1675 | + line-height: 15px !important; | |
| 1676 | +} | |
| 1677 | + | |
| 1678 | +dd.disabled{ | |
| 1679 | + color: #b5b3b3; | |
| 1680 | +} | |
| 1681 | + | |
| 1682 | +dl.active>dd.disabled{ | |
| 1683 | + color: #ececec; | |
| 1684 | +} | |
| 1685 | + | |
| 1686 | +#change_user_options-modal .user_info{ | |
| 1687 | + width: 360px; | |
| 1688 | + margin: auto; | |
| 1689 | +} | |
| 1690 | + | |
| 1691 | +.display_hide{ | |
| 1692 | + display: none; | |
| 1693 | +} | |
| 1694 | + | |
| 1695 | +.ct_eye_icon{ | |
| 1696 | + font-size: 16px; | |
| 1697 | + cursor: pointer; | |
| 1698 | +} | |
| 1699 | + | |
| 1700 | +.ct_eye_icon.active{ | |
| 1701 | + color: #444; | |
| 1702 | +} | |
| 1703 | + | |
| 1704 | +#tempScheduleContent .forms::-webkit-scrollbar { | |
| 1705 | + width: 19px; | |
| 1706 | + height: 16px; | |
| 1707 | +} | |
| 1708 | + | |
| 1709 | +.range_2_normal_tt{ | |
| 1710 | + margin-bottom: 15px; | |
| 1711 | + border-top: 1px dashed #c7c7c7; | |
| 1712 | + color: #a6a6a6; | |
| 1713 | + text-indent: 7px; | |
| 1714 | + padding-bottom: 5px; | |
| 1715 | +} | |
| 1716 | + | |
| 1717 | +.cancel_link{ | |
| 1718 | + font-size: 12px; | |
| 1719 | + margin-left: 15px; | |
| 1720 | + vertical-align: bottom; | |
| 1721 | + color: #8d8d8d; | |
| 1722 | + text-decoration: underline; | |
| 1723 | + position: absolute; | |
| 1724 | + right: 0; | |
| 1725 | +} | |
| 1726 | + | |
| 1727 | +.edit_link{ | |
| 1728 | + font-size: 12px; | |
| 1729 | + margin-left: 15px; | |
| 1730 | + vertical-align: bottom; | |
| 1731 | + color: #ff2f2f; | |
| 1732 | + text-decoration: underline; | |
| 1733 | +} | |
| 0 | 1734 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/history_sch/edit/history_sch_maintain.html
0 → 100644
| 1 | +<div class="uk-modal " id="history-sch-maintain-modal" style=""> | |
| 2 | + <div class="uk-modal-dialog" style="width: 95%;margin: 20px auto;"> | |
| 3 | + <a href="" class="uk-modal-close uk-close"></a> | |
| 4 | + <div class="uk-modal-header"> | |
| 5 | + <h2>历史路单维护</h2> | |
| 6 | + </div> | |
| 7 | + | |
| 8 | + <div style="padding-left: 12px;margin: 20px 0"> | |
| 9 | + <ul class="uk-subnav uk-subnav-pill h-s-time"> | |
| 10 | + </ul> | |
| 11 | + </div> | |
| 12 | + | |
| 13 | + <div class="uk-panel uk-panel-box uk-panel-box-primary"> | |
| 14 | + <form class="uk-form search-form"> | |
| 15 | + <fieldset data-uk-margin> | |
| 16 | + <span class="horizontal-field">公司</span> | |
| 17 | + <select name="companyId" style="width: 110px;"></select> | |
| 18 | + <span class="horizontal-field">分公司</span> | |
| 19 | + <select name="subCompanyId" style="width: 110px;"></select> | |
| 20 | + <span class="horizontal-field">线路</span> | |
| 21 | + <select name="xlBm_eq" style="width: 120px;"></select> | |
| 22 | + <span class="horizontal-field">路牌</span> | |
| 23 | + <select name="lpName_eq" style="width: 80px;"></select> | |
| 24 | + <span class="horizontal-field">上下行</span> | |
| 25 | + <select name="xlDir_eq"> | |
| 26 | + <option value="">全部</option> | |
| 27 | + <option value="0">上行</option> | |
| 28 | + <option value="1">下行</option> | |
| 29 | + </select> | |
| 30 | + | |
| 31 | + <span class="horizontal-field">车辆</span> | |
| 32 | + <div class="uk-autocomplete uk-form autocomplete-cars"> | |
| 33 | + <input type="text" name="clZbh_like" placeholder="自编号" style="width: 80px;"> | |
| 34 | + </div> | |
| 35 | + <span class="horizontal-field">驾驶员</span> | |
| 36 | + <div class="uk-autocomplete uk-form autocomplete-jsy"> | |
| 37 | + <input type="text" name="jGh_like" placeholder="驾驶员" style="width: 80px;"> | |
| 38 | + </div> | |
| 39 | + <button class="uk-button">检索</button> | |
| 40 | + <a class="add_lp_link" title="先点击检索后再临加路牌"><i class="uk-icon-plus"></i> 临加路牌</a> | |
| 41 | + </fieldset> | |
| 42 | + </form> | |
| 43 | + </div> | |
| 44 | + | |
| 45 | + <div class="ct_table_wrap ct_table_no_border history-sch-wrap" style="height: 510px;"> | |
| 46 | + <div class="ct_table history-sch-table"> | |
| 47 | + <div class="ct_table_head"> | |
| 48 | + <dl> | |
| 49 | + <dt>序号</dt> | |
| 50 | + <dt>路牌</dt> | |
| 51 | + <dt>车辆</dt> | |
| 52 | + <dt>驾驶员</dt> | |
| 53 | + <dt>起点</dt> | |
| 54 | + <dt>终点</dt> | |
| 55 | + <dt>计发</dt> | |
| 56 | + <dt>待发</dt> | |
| 57 | + <dt>实发</dt> | |
| 58 | + <dt>终点实达</dt> | |
| 59 | + <dt>备注</dt> | |
| 60 | + </dl> | |
| 61 | + </div> | |
| 62 | + <div class="ct_table_body"> | |
| 63 | + </div> | |
| 64 | + </div> | |
| 65 | + </div> | |
| 66 | + | |
| 67 | + <div class="load-panel"> | |
| 68 | + <i class="uk-icon-spinner uk-icon-spin"></i> | |
| 69 | + 正在加载数据 | |
| 70 | + </div> | |
| 71 | + </div> | |
| 72 | + | |
| 73 | + <script id="history-sch-maintain-table-temp" type="text/html"> | |
| 74 | + {{each list as sch i}} | |
| 75 | + <dl data-id="{{sch.id}}"> | |
| 76 | + <dd>{{i + 1}}</dd> | |
| 77 | + <dd>{{sch.lpName}}</dd> | |
| 78 | + <dd>{{sch.clZbh}}</dd> | |
| 79 | + <dd>{{sch.jGh}}/{{sch.jName}}</dd> | |
| 80 | + <dd title="{{sch.qdzName}}">{{sch.qdzName}}</dd> | |
| 81 | + <dd title="{{sch.zdzName}}">{{sch.zdzName}}</dd> | |
| 82 | + <dd>{{sch.fcsj}} | |
| 83 | + {{if sch.bcType == "out"}} | |
| 84 | + <span class="uk-badge uk-badge-success">出场</span> | |
| 85 | + {{else if sch.bcType == "in"}} | |
| 86 | + <span class="uk-badge uk-badge-warning">进场</span> | |
| 87 | + {{else if sch.bcType == "venting"}} | |
| 88 | + <span class="uk-badge uk-badge-danger">直放</span> | |
| 89 | + {{else if sch.bcType == "major"}} | |
| 90 | + <span class="uk-badge uk-badge-danger">放站</span> | |
| 91 | + {{else if sch.bcType == "region"}} | |
| 92 | + <span class="uk-badge sch_region">区间</span> | |
| 93 | + {{else if sch.bcType == "ldks"}} | |
| 94 | + <span class="uk-badge sch_ldks">空驶</span> | |
| 95 | + {{/if}} | |
| 96 | + {{if sch.sflj}} | |
| 97 | + <span class="uk-badge uk-badge-danger">临加</span> | |
| 98 | + {{/if}} | |
| 99 | + {{if sch.cTasks.length > 0}} | |
| 100 | + <span class="uk-badge uk-badge-notification">{{sch.cTasks.length}}</span> | |
| 101 | + {{/if}}</dd> | |
| 102 | + <dd> | |
| 103 | + {{sch.dfsj}} | |
| 104 | + {{if sch.status==-1}} | |
| 105 | + <span class="uk-badge uk-badge-danger">烂班</span> | |
| 106 | + {{/if}} | |
| 107 | + </dd> | |
| 108 | + <dd>{{sch.fcsjActual}}<span class="fcsj-diff">{{sch.fcsj_diff}}</span></dd> | |
| 109 | + <dd>{{sch.zdsjActual}}</dd> | |
| 110 | + <dd title="{{sch.remarks}}">{{sch.remarks}}</dd> | |
| 111 | + </dl> | |
| 112 | + {{/each}} | |
| 113 | + </script> | |
| 114 | + | |
| 115 | + <script> | |
| 116 | + (function () { | |
| 117 | + var modal = '#history-sch-maintain-modal'; | |
| 118 | + | |
| 119 | + //滚动条 | |
| 120 | + $('.history-sch-wrap', modal).perfectScrollbar({suppressScrollX: true}); | |
| 121 | + //history-sch-wrap | |
| 122 | + $(modal).on('init', function (e, data) { | |
| 123 | + e.stopPropagation(); | |
| 124 | + $.get('/realSchedule/dateArray', function (rs) { | |
| 125 | + //日期tab | |
| 126 | + var tsStr = ''; | |
| 127 | + $.each(rs, function (i) { | |
| 128 | + tsStr += '<li ' + (i == 0 ? 'class="uk-active"' : '') + '><a>' + this + '</a></li>'; | |
| 129 | + }); | |
| 130 | + | |
| 131 | + $('.h-s-time', modal).html(tsStr); | |
| 132 | + clearLpSelect(); | |
| 133 | + //reLoadLp=true; | |
| 134 | + //jsQuery(); | |
| 135 | + }); | |
| 136 | + }); | |
| 137 | + | |
| 138 | + $(modal).on('refresh', function (e, data) { | |
| 139 | + if(data){ | |
| 140 | + var lpName = data.lpName; | |
| 141 | + if(is_new_temp_lp(lpName)){ | |
| 142 | + $('[name=lpName_eq]', modal).append('<option value="'+lpName+'" selected>'+lpName+'</option>'); | |
| 143 | + } | |
| 144 | + } | |
| 145 | + jsQuery(); | |
| 146 | + }); | |
| 147 | + | |
| 148 | + $(modal).on('click', '.h-s-time li,.h-s-line li', function () { | |
| 149 | + if(loading) | |
| 150 | + return; | |
| 151 | + $(this).parent().find('li.uk-active').removeClass('uk-active'); | |
| 152 | + $(this).addClass('uk-active'); | |
| 153 | + clearLpSelect(); | |
| 154 | + //检索之前将滚动条置顶 | |
| 155 | + $('.history-sch-wrap', modal)[0].scrollTop = 0; | |
| 156 | + jsQuery(); | |
| 157 | + }); | |
| 158 | + | |
| 159 | + $('.search-form', modal).on('submit', function (e) { | |
| 160 | + try { | |
| 161 | + //检索之前将滚动条置顶 | |
| 162 | + $('.history-sch-wrap', modal)[0].scrollTop = 0; | |
| 163 | + jsQuery(); | |
| 164 | + }catch(e){ | |
| 165 | + console.log(e); | |
| 166 | + } | |
| 167 | + return false; | |
| 168 | + }); | |
| 169 | + | |
| 170 | + var reLoadLp; | |
| 171 | + var nbbmArray,jsyArray,lpArray,loading; | |
| 172 | + var schArray;//主键映射 | |
| 173 | + function jsQuery(cb) { | |
| 174 | + var data = $('.search-form', modal).serializeJSON(); | |
| 175 | + data.companyId=null; | |
| 176 | + data.subCompanyId=null; | |
| 177 | + var rq = $('.h-s-time li.uk-active', modal).text(); | |
| 178 | + data.scheduleDateStr_eq = rq; | |
| 179 | + if(!data.xlBm_eq) | |
| 180 | + return notify_err('请选择线路...'); | |
| 181 | + if(data.jGh_like.indexOf('/')!=-1){ | |
| 182 | + var jsy=data.jGh_like.split('/'); | |
| 183 | + data.jGh_like=jsy[0]; | |
| 184 | + data.jName_like=jsy[1]; | |
| 185 | + } | |
| 186 | + | |
| 187 | + $('.load-panel', modal).show(); | |
| 188 | + loading=true; | |
| 189 | + $.get('/realSchedule/all', data, function (rs) { | |
| 190 | + rs.sort(schedule_sort); | |
| 191 | + //可搜索的车辆自编号和驾驶员 | |
| 192 | + nbbmArray=[]; | |
| 193 | + jsyArray=[]; | |
| 194 | + lpArray = []; | |
| 195 | + schArray = {}; | |
| 196 | + $.each(rs, function () { | |
| 197 | + nbbmArray.push({value: this.clZbh}); | |
| 198 | + jsyArray.push({value: this.jGh+'/'+this.jName, | |
| 199 | + fullChars: pinyin.getFullChars(this.jName).toUpperCase(), | |
| 200 | + camelChars: pinyin.getCamelChars(this.jName)}); | |
| 201 | + lpArray.push({value: this.lpName}); | |
| 202 | + calc_sch_real_shift(this); | |
| 203 | + schArray[this.id] = this; | |
| 204 | + }); | |
| 205 | + | |
| 206 | + var tbodyStr = template('history-sch-maintain-table-temp', {list: rs}); | |
| 207 | + $('.history-sch-table .ct_table_body', modal).html(tbodyStr); | |
| 208 | + //value | |
| 209 | + nbbmArray=distinctByField(nbbmArray); | |
| 210 | + jsyArray=distinctByField(jsyArray); | |
| 211 | + lpArray=distinctByField(lpArray); | |
| 212 | + | |
| 213 | + if(reLoadLp){ | |
| 214 | + //路牌下拉框 | |
| 215 | + var ops = '<option value="">全部</option>'; | |
| 216 | + $.each(lpArray, function () { | |
| 217 | + ops += '<option value="'+this.value+'">'+this.value+'</option>'; | |
| 218 | + }); | |
| 219 | + $('[name=lpName_eq]', modal).html(ops); | |
| 220 | + reLoadLp = false; | |
| 221 | + } | |
| 222 | + | |
| 223 | + //lpName_eq | |
| 224 | + $('.load-panel', modal).hide(); | |
| 225 | + loading=false; | |
| 226 | + | |
| 227 | + //更新滚动条高度 | |
| 228 | + $('.history-sch-wrap', modal).perfectScrollbar('update'); | |
| 229 | + | |
| 230 | + cb && cb(); | |
| 231 | + | |
| 232 | + //初始化依赖数据 | |
| 233 | + gb_data_basic.initData(data.xlBm_eq); | |
| 234 | + }); | |
| 235 | + } | |
| 236 | + | |
| 237 | + function clearLpSelect() { | |
| 238 | + $('[name=lpName_eq]', modal).val('').html(''); | |
| 239 | + reLoadLp = true; | |
| 240 | + } | |
| 241 | + | |
| 242 | + //nbbm autocomplete | |
| 243 | + var carAutoCom=$('.autocomplete-cars', modal); | |
| 244 | + UIkit.autocomplete(carAutoCom, { | |
| 245 | + minLength: 1, | |
| 246 | + delay: 50, | |
| 247 | + source: function(release) { | |
| 248 | + var q = $('input', carAutoCom).val().toUpperCase() | |
| 249 | + ,rs = [], | |
| 250 | + count = 0; | |
| 251 | + $.each(nbbmArray, function () { | |
| 252 | + if(this.value.indexOf(q) != -1){ | |
| 253 | + rs.push(this); | |
| 254 | + count++; | |
| 255 | + } | |
| 256 | + if (count >= 15) | |
| 257 | + return false; | |
| 258 | + }); | |
| 259 | + release && release(rs); | |
| 260 | + } | |
| 261 | + }); | |
| 262 | + | |
| 263 | + //jsy autocomplete | |
| 264 | + var jsyAutoCom=$('.autocomplete-jsy', modal); | |
| 265 | + UIkit.autocomplete(jsyAutoCom, { | |
| 266 | + minLength: 1, | |
| 267 | + delay: 50, | |
| 268 | + source: function(release) { | |
| 269 | + var q = $('input', jsyAutoCom).val().toUpperCase() | |
| 270 | + ,rs = [], | |
| 271 | + count = 0; | |
| 272 | + | |
| 273 | + $.each(jsyArray, function() { | |
| 274 | + if (this.value.indexOf(q) != -1 || this.fullChars.indexOf(q) != -1 || this.camelChars.indexOf(q) != -1){ | |
| 275 | + rs.push(this); | |
| 276 | + count++; | |
| 277 | + } | |
| 278 | + | |
| 279 | + if (count >= 10) | |
| 280 | + return false; | |
| 281 | + }); | |
| 282 | + release && release(rs); | |
| 283 | + } | |
| 284 | + }); | |
| 285 | + | |
| 286 | + function schedule_sort(s1, s2) { | |
| 287 | + return (s1.realExecDate+s1.fcsj).localeCompare(s2.realExecDate+s2.fcsj); | |
| 288 | + } | |
| 289 | + | |
| 290 | + function distinctByField(arr, f){ | |
| 291 | + if(!f) | |
| 292 | + f = 'value'; | |
| 293 | + var rs = {}; | |
| 294 | + $.each(arr, function () { | |
| 295 | + rs[this[f]]=this; | |
| 296 | + }); | |
| 297 | + return gb_common.get_vals(rs); | |
| 298 | + } | |
| 299 | + | |
| 300 | + gb_ct_table.fixedHead($('.ct_table_wrap', modal)); | |
| 301 | + | |
| 302 | + //班次点击 | |
| 303 | + $(modal).on('click contextmenu', '.history-sch-table .ct_table_body dl', function() { | |
| 304 | + $(this).parent().find('.active').removeClass('active'); | |
| 305 | + $(this).addClass('active'); | |
| 306 | + }); | |
| 307 | + | |
| 308 | + var modal_opts = {center: false,bgclose: false, modal: false}; | |
| 309 | + var folder = '/real_control_v2/fragments/north/nav/history_sch'; | |
| 310 | + var callbackHandler={ | |
| 311 | + edit: function(id){ | |
| 312 | + open_modal(folder + '/editor.html', {id: id, parentModal: modal}, modal_opts); | |
| 313 | + }, | |
| 314 | + add: function (id) { | |
| 315 | + open_modal(folder + '/h_add_temp_sch.html', { | |
| 316 | + sch: schArray[id] | |
| 317 | + }, modal_opts); | |
| 318 | + }, | |
| 319 | + delete: function (id) { | |
| 320 | + var sch = schArray[id]; | |
| 321 | + if (!sch || !sch.sflj) | |
| 322 | + return notify_err('只能删除临加班次!'); | |
| 323 | + var str = '<h3>确定要删除临加班次<span style="color:red;margin: 0 5px;">' + sch.clZbh + '( ' + sch.dfsj + ' )</span>?</h3><h5 style="color: #6c6c6c;font-size: 12px;">班次删除后,调度指令会保留</h5>'; | |
| 324 | + alt_confirm(str, function () { | |
| 325 | + gb_common.$del('/realSchedule/history/' + sch.id, function (rs) { | |
| 326 | + if($('.history-sch-table .ct_table_body dl', modal).length == 1){ | |
| 327 | + $('[name=lpName_eq]', modal).val(''); | |
| 328 | + reLoadLp = true; | |
| 329 | + } | |
| 330 | + | |
| 331 | + jsQuery(); | |
| 332 | + }); | |
| 333 | + }, '确定删除'); | |
| 334 | + } | |
| 335 | + }; | |
| 336 | + | |
| 337 | + //计算实发时间差值 | |
| 338 | + var calc_sch_real_shift = function (sch) { | |
| 339 | + if (sch.fcsjActualTime) { | |
| 340 | + var diff = parseInt((sch.fcsjActualTime - sch.dfsjT) / 1000 / 60); | |
| 341 | + if (diff > 0) | |
| 342 | + sch.fcsj_diff = '( +' + diff + ' )'; | |
| 343 | + else if (diff < 0) | |
| 344 | + sch.fcsj_diff = '( ' + diff + ' )'; | |
| 345 | + else | |
| 346 | + sch.fcsj_diff = ''; | |
| 347 | + } | |
| 348 | + }; | |
| 349 | + | |
| 350 | + //右键菜单 | |
| 351 | + $.contextMenu({ | |
| 352 | + selector: modal+' .history-sch-table .ct_table_body dl', | |
| 353 | + className: 'schedule-ct-menu', | |
| 354 | + callback: function(key, options) { | |
| 355 | + var id = $('.context-menu-active', modal).data('id'); | |
| 356 | + callbackHandler[key] && callbackHandler[key](id); | |
| 357 | + }, | |
| 358 | + items: { | |
| 359 | + 'edit': { | |
| 360 | + name: '编辑' | |
| 361 | + }, | |
| 362 | + 'add': { | |
| 363 | + name: '新增临加班次' | |
| 364 | + }, | |
| 365 | + 'delete':{ | |
| 366 | + name: '删除' | |
| 367 | + } | |
| 368 | + } | |
| 369 | + }); | |
| 370 | + | |
| 371 | + //临加路牌 | |
| 372 | + $('.add_lp_link', modal).on('click', function () { | |
| 373 | + var index = 0, max; | |
| 374 | + $.each(lpArray, function (i, obj) { | |
| 375 | + var lp = obj.value; | |
| 376 | + if (lp.indexOf('临') != -1) { | |
| 377 | + max = lp.substr(lp.indexOf('临') + 1); | |
| 378 | + if (!isNaN(max)) | |
| 379 | + index = parseInt(max); | |
| 380 | + } | |
| 381 | + }); | |
| 382 | + | |
| 383 | + var lpName = '临' + (index + 1); | |
| 384 | + var lineSelect = $('[name=xlBm_eq]', modal); | |
| 385 | + var rq = $('.h-s-time li.uk-active', modal).text(), | |
| 386 | + lineName = lineSelect[0].options[lineSelect[0].selectedIndex].text,//$('.h-s-line li.uk-active', modal).text(), | |
| 387 | + lineCode = lineSelect.val(); | |
| 388 | + | |
| 389 | + var sch = { | |
| 390 | + scheduleDateStr: rq, | |
| 391 | + xlBm: lineCode, | |
| 392 | + xlName: lineName, | |
| 393 | + lpName: lpName | |
| 394 | + }; | |
| 395 | + | |
| 396 | + open_modal(folder + '/h_add_temp_sch.html', { | |
| 397 | + sch: sch | |
| 398 | + }, modal_opts); | |
| 399 | + }); | |
| 400 | + | |
| 401 | + /** | |
| 402 | + * 是否是临加路牌 | |
| 403 | + * @param lpName | |
| 404 | + */ | |
| 405 | + function is_new_temp_lp(lpName) { | |
| 406 | + if(lpName.indexOf('临') ==-1) | |
| 407 | + return false; | |
| 408 | + | |
| 409 | + for(var i=0,obj;obj=lpArray[i++];){ | |
| 410 | + if(obj.value==lpName) | |
| 411 | + return false; | |
| 412 | + } | |
| 413 | + | |
| 414 | + return true; | |
| 415 | + } | |
| 416 | + | |
| 417 | + | |
| 418 | + var f = $('.search-form', modal); | |
| 419 | + var ep = EventProxy.create('query_comps', 'query_lines', function () { | |
| 420 | + $('[name=companyId]', f).trigger('change');//公司change | |
| 421 | + }); | |
| 422 | + var comps; | |
| 423 | + //构建公司级联下拉框 | |
| 424 | + $.get('/user/companyData', function (rs) { | |
| 425 | + comps = rs; | |
| 426 | + var opts = ''; | |
| 427 | + for(var i=0,obj;obj=comps[i++];){ | |
| 428 | + opts += '<option value="'+obj.companyCode+'">'+obj.companyName+'</option>'; | |
| 429 | + } | |
| 430 | + $('[name=companyId]', f).html(opts); | |
| 431 | + ep.emit('query_comps'); | |
| 432 | + }); | |
| 433 | + var lineMapps; | |
| 434 | + //加载线路信息 | |
| 435 | + $.get('/line/all', {'destroy_eq': 0}, function (rs) { | |
| 436 | + rs.sort(function (a, b) { | |
| 437 | + return a.name.localeCompare(b.name); | |
| 438 | + }); | |
| 439 | + lineMapps={}; | |
| 440 | + var k; | |
| 441 | + $.each(rs, function () { | |
| 442 | + k = this.company+'_'+this.brancheCompany; | |
| 443 | + if(!lineMapps[k]) | |
| 444 | + lineMapps[k]=[]; | |
| 445 | + lineMapps[k].push(this); | |
| 446 | + }); | |
| 447 | + | |
| 448 | + ep.emit('query_lines'); | |
| 449 | + }); | |
| 450 | + | |
| 451 | + $('[name=companyId]', f).on('change', function () { | |
| 452 | + var code = $(this).val(), subs=[]; | |
| 453 | + $.each(comps, function () { | |
| 454 | + if(this.companyCode==code) | |
| 455 | + subs=this.children; | |
| 456 | + }); | |
| 457 | + | |
| 458 | + var opts=''; | |
| 459 | + $.each(subs, function () { | |
| 460 | + opts += '<option value="'+this.code+'">'+this.name+'</option>'; | |
| 461 | + }); | |
| 462 | + $('[name=subCompanyId]', f).html(opts).trigger('change'); | |
| 463 | + }); | |
| 464 | + | |
| 465 | + $('[name=subCompanyId]', f).on('change', function () { | |
| 466 | + var k = $('[name=companyId]', f).val() + '_' + $(this).val(); | |
| 467 | + var array = lineMapps[k]; | |
| 468 | + var opts = ''; | |
| 469 | + if(array){ | |
| 470 | + $.each(array, function () { | |
| 471 | + opts += '<option value="'+this.lineCode+'">'+this.name+'</option>'; | |
| 472 | + }); | |
| 473 | + } | |
| 474 | + $('[name=xlBm_eq]', f).html(opts); | |
| 475 | + }); | |
| 476 | + | |
| 477 | + $('[name=xlBm_eq]', f).on('change', clearLpSelect); | |
| 478 | + //clearLpSelect | |
| 479 | + })(); | |
| 480 | + </script> | |
| 481 | +</div> | |
| 0 | 482 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/history_sch/edit/js/data_basic.js
0 → 100644
| 1 | +/* 基础数据管理模块 */ | |
| 2 | + | |
| 3 | +var gb_data_basic = (function () { | |
| 4 | + | |
| 5 | + var allPersonnel; | |
| 6 | + var stationRoutes, lineInformations, codeToLine={}; | |
| 7 | + var ep = EventProxy.create("all_personnel" | |
| 8 | + , function (all_personnel) { | |
| 9 | + allPersonnel = all_personnel; | |
| 10 | + //gb_main_ep.emitLater('data-basic'); | |
| 11 | + }); | |
| 12 | + | |
| 13 | +/* //线路标准信息 | |
| 14 | + gb_common.$get('/lineInformation/line/multi', {lineCodes: line_idx}, function (rs) { | |
| 15 | + var informations = {}; | |
| 16 | + $.each(rs, function () { | |
| 17 | + informations[this.line.lineCode] = this; | |
| 18 | + delete this['line']; | |
| 19 | + }); | |
| 20 | + ep.emit('lineInformations', informations); | |
| 21 | + });*/ | |
| 22 | + | |
| 23 | + //人员信息 | |
| 24 | + loadAllPersonnel(function (data) { | |
| 25 | + ep.emit('all_personnel', data); | |
| 26 | + }); | |
| 27 | + function loadAllPersonnel(cb) { | |
| 28 | + $.get('/personnel/all_py', function (rs) { | |
| 29 | + //转换成自动补全组件需要的数据 | |
| 30 | + var data = [], code; | |
| 31 | + for(var i =0, p; p = rs[i++];){ | |
| 32 | + code = p['workId'].indexOf('-')!=-1?p['workId'].split('-')[1]:p['workId']; | |
| 33 | + data.push({ | |
| 34 | + value: code + '/' + p.name, | |
| 35 | + fullChars: p.fullChars.toUpperCase(), | |
| 36 | + camelChars: p.camelChars.toUpperCase() | |
| 37 | + }); | |
| 38 | + } | |
| 39 | + cb && cb(data); | |
| 40 | + }); | |
| 41 | + } | |
| 42 | + | |
| 43 | + var carparks = {}; | |
| 44 | + //停车场数据 | |
| 45 | + gb_common.$get('/realMap/carParkSpatialData', {}, function (rs) { | |
| 46 | + rs.list.sort(function (a, b) { | |
| 47 | + return a.parkName.localeCompare(b.parkName); | |
| 48 | + }); | |
| 49 | + $.each(rs.list, function () { | |
| 50 | + carparks[this.parkCode] = this; | |
| 51 | + }); | |
| 52 | + }); | |
| 53 | + | |
| 54 | + //车辆数据 | |
| 55 | + var carsArray; | |
| 56 | + $.get('/basic/cars?t=' + Math.random(), function (rs) { | |
| 57 | + carsArray = rs; | |
| 58 | + }); | |
| 59 | + | |
| 60 | + var getCarparkByCode = function (code) { | |
| 61 | + return carparks[code]; | |
| 62 | + }; | |
| 63 | + | |
| 64 | + //line code to name | |
| 65 | + $.get('/basic/lineCode2Name', function (rs) { | |
| 66 | + ep.emit('lineCode2Name', rs); | |
| 67 | + }); | |
| 68 | + | |
| 69 | + var getLineInformation = function (lineCode) { | |
| 70 | + return lineInformations[lineCode]; | |
| 71 | + }; | |
| 72 | + | |
| 73 | + var stationRouteSort = function (a, b) { | |
| 74 | + return a.stationRouteCode - b.stationRouteCode; | |
| 75 | + }; | |
| 76 | + | |
| 77 | + function findLineByCodes(codeArr) { | |
| 78 | + var rs = []; | |
| 79 | + $.each(codeArr, function () { | |
| 80 | + rs.push(codeToLine[this]); | |
| 81 | + }); | |
| 82 | + return rs; | |
| 83 | + } | |
| 84 | + | |
| 85 | + return { | |
| 86 | + getLineInformation: getLineInformation, | |
| 87 | + allInformations: function () { | |
| 88 | + return {}; | |
| 89 | + }, | |
| 90 | + allPersonnel: function () { | |
| 91 | + return allPersonnel; | |
| 92 | + }, | |
| 93 | + getSvgAttr: function (lineCode) { | |
| 94 | + return svgAttrs[lineCode]; | |
| 95 | + }, | |
| 96 | + //刷新员工信息 | |
| 97 | + refreshAllPersonnel: function (cb) { | |
| 98 | + loadAllPersonnel(function (data) { | |
| 99 | + allPersonnel = data; | |
| 100 | + cb && cb(); | |
| 101 | + }); | |
| 102 | + }, | |
| 103 | + carsArray: function () { | |
| 104 | + return carsArray; | |
| 105 | + }, | |
| 106 | + simpleParksArray: function () { | |
| 107 | + var map = {}; | |
| 108 | + for(var code in carparks) | |
| 109 | + map[code] = carparks[code].parkName; | |
| 110 | + return map; | |
| 111 | + }, | |
| 112 | + getLineInformation: getLineInformation, | |
| 113 | + allInformations: function () { | |
| 114 | + return lineInformations; | |
| 115 | + }, | |
| 116 | + stationRoutes: function (lineCode) { | |
| 117 | + return stationRoutes[lineCode] | |
| 118 | + }, | |
| 119 | + remarksMapps: function () { | |
| 120 | + return ""; | |
| 121 | + }, | |
| 122 | + findLineByCodes: findLineByCodes, | |
| 123 | + //初始化依赖数据 | |
| 124 | + initData: function (lineCode) { | |
| 125 | + var ep = EventProxy.create("stationRoutes", "lineInformations", "codeToLineMap", function (routes, informations, _codeToLine) { | |
| 126 | + stationRoutes = routes; | |
| 127 | + lineInformations = informations; | |
| 128 | + codeToLine[_codeToLine.lineCode] = _codeToLine; | |
| 129 | + }); | |
| 130 | + | |
| 131 | + //站点路由 | |
| 132 | + gb_common.$get('/stationroute/multiLine', {lineIds: lineCode}, function (rs) { | |
| 133 | + var list = rs.list; | |
| 134 | + var routeData = gb_common.groupBy(list, 'lineCode'); | |
| 135 | + //排序 | |
| 136 | + for (var lineCode in routeData) { | |
| 137 | + routeData[lineCode].sort(stationRouteSort); | |
| 138 | + } | |
| 139 | + ep.emitLater('stationRoutes', routeData); | |
| 140 | + }); | |
| 141 | + | |
| 142 | + //线路标准信息 | |
| 143 | + gb_common.$get('/lineInformation/line/multi', {lineCodes: lineCode}, function (rs) { | |
| 144 | + var _informations = {}; | |
| 145 | + $.each(rs, function () { | |
| 146 | + _informations[this.line.lineCode] = this; | |
| 147 | + delete this['line']; | |
| 148 | + }); | |
| 149 | + ep.emitLater('lineInformations', _informations); | |
| 150 | + }); | |
| 151 | + | |
| 152 | + //线路基础信息 | |
| 153 | + gb_common.$get('/line/' + lineCode, {}, function (rs) { | |
| 154 | + ep.emitLater('codeToLineMap', rs); | |
| 155 | + }); | |
| 156 | + } | |
| 157 | + }; | |
| 158 | +})(); | ... | ... |
src/main/resources/static/pages/history_sch/edit/js/modal_extend.js
0 → 100644
| 1 | +//modal hide remove dom | |
| 2 | +$(document).on('hide.uk.modal', '.uk-modal', function () { | |
| 3 | + $(this).trigger('ct-destroy').remove(); | |
| 4 | +}); | |
| 5 | + | |
| 6 | + | |
| 7 | +var show_modal = function (id, dom) { | |
| 8 | + $(document.body).append(dom); | |
| 9 | + return UIkit.modal(id, { | |
| 10 | + bgclose: false, modal: false | |
| 11 | + }).show(); | |
| 12 | +}; | |
| 13 | + | |
| 14 | +var open_modal = function (pageUrl, data, opt) { | |
| 15 | + $.get(pageUrl, function (dom) { | |
| 16 | + open_modal_dom(dom, data, opt); | |
| 17 | + }); | |
| 18 | +}; | |
| 19 | + | |
| 20 | +var open_modal_dom = function (dom, data, opt) { | |
| 21 | + if (!$(dom).hasClass('uk-modal')) { | |
| 22 | + alert('无效的dom片段!'); | |
| 23 | + return; | |
| 24 | + } | |
| 25 | + var id = '#' + $(dom).attr('id'); | |
| 26 | + | |
| 27 | + $(document.body).append(dom); | |
| 28 | + UIkit.modal(id, opt).show(); | |
| 29 | + | |
| 30 | + if (data) | |
| 31 | + $(id).trigger('init', data); | |
| 32 | +}; | ... | ... |
src/main/resources/static/pages/history_sch/edit/main_page.html
0 → 100644
| 1 | +<!DOCTYPE html> | |
| 2 | +<html lang="zh-cn"> | |
| 3 | + | |
| 4 | +<head> | |
| 5 | + <meta charset="UTF-8"> | |
| 6 | + <!-- uikit core style--> | |
| 7 | + <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/css/uikit.gradient.min.css" /> | |
| 8 | + <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/components/notify.gradient.min.css" /> | |
| 9 | + <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/components/tooltip.gradient.min.css" /> | |
| 10 | + <link rel="stylesheet" | |
| 11 | + href="/real_control_v2/assets/plugins/uikit-2.27.1/components/autocomplete.gradient.min.css" /> | |
| 12 | + <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/components/accordion.gradient.min.css" /> | |
| 13 | + <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/components/slidenav.gradient.min.css" /> | |
| 14 | + <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/components/sticky.gradient.min.css" /> | |
| 15 | + | |
| 16 | + <!-- main style --> | |
| 17 | + <link rel="stylesheet" href="/pages/history_sch/edit/css/main.css" /> | |
| 18 | + <!-- north style --> | |
| 19 | + <link rel="stylesheet" href="/real_control_v2/css/north.css" merge="custom_style"/> | |
| 20 | + <!-- line style --> | |
| 21 | + <link rel="stylesheet" href="/real_control_v2/css/line_schedule.css" merge="custom_style"/> | |
| 22 | + | |
| 23 | + <!-- custom table --> | |
| 24 | + <link rel="stylesheet" href="/real_control_v2/css/ct_table.css" merge="custom_style"/> | |
| 25 | + <!-- jquery contextMenu style --> | |
| 26 | + <link rel="stylesheet" href="/real_control_v2/assets/css/jquery.contextMenu.min.css" merge="plugins"/> | |
| 27 | + <!-- formvalidation style --> | |
| 28 | + <link rel="stylesheet" href="/real_control_v2/assets/plugins/formvalidation/formValidation.min.css" merge="plugins"/> | |
| 29 | + | |
| 30 | + <link rel="stylesheet" href="/real_control_v2/css/modal_extend.css" merge="custom_style"/> | |
| 31 | + <!-- perfect-scrollbar style --> | |
| 32 | + <link rel="stylesheet" href="/real_control_v2/assets/plugins/perfect-scrollbar/perfect-scrollbar.css" merge="plugins"/> | |
| 33 | + <style> | |
| 34 | + .uk-modal.ct_move_modal .uk-modal-header { | |
| 35 | + cursor: default; | |
| 36 | + user-select: none; | |
| 37 | + } | |
| 38 | + .uk-modal.ct_move_modal .uk-modal-dialog { | |
| 39 | + position: relative !important; | |
| 40 | + margin: 50px auto !important; | |
| 41 | + } | |
| 42 | + </style> | |
| 43 | +</head> | |
| 44 | + | |
| 45 | +<body> | |
| 46 | +<div class="ct_page" > | |
| 47 | +</div> | |
| 48 | +<!-- jquery --> | |
| 49 | +<script src="/real_control_v2/assets/js/jquery.min.js"></script> | |
| 50 | +<!-- jquery actual --> | |
| 51 | +<script src="/real_control_v2/assets/js/jquery.actual.min.js" merge="plugins"></script> | |
| 52 | +<!-- jquery.serializejson JSON序列化插件 --> | |
| 53 | +<script src="/assets/plugins/jquery.serializejson.js" merge="plugins"></script> | |
| 54 | +<!-- moment.js 日期处理类库 --> | |
| 55 | +<script src="/real_control_v2/assets/plugins/moment/moment.min.js"></script> | |
| 56 | +<script src="/real_control_v2/assets/plugins/moment/zh-cn.js"></script> | |
| 57 | + | |
| 58 | +<!-- flatpickr --> | |
| 59 | +<script src="/real_control_v2/assets/plugins/flatpickr/flatpickr.min.js" merge="plugins"></script> | |
| 60 | +<script src="/real_control_v2/assets/plugins/flatpickr/l10n/zh.js" merge="plugins"></script> | |
| 61 | + | |
| 62 | +<!-- perfect-scrollbar --> | |
| 63 | +<script src="/real_control_v2/assets/plugins/perfect-scrollbar/perfect-scrollbar.jquery.js" merge="plugins"></script> | |
| 64 | +<!-- common js --> | |
| 65 | +<script src="/real_control_v2/js/common.js"></script> | |
| 66 | +<!-- art-template 模版引擎 --> | |
| 67 | +<script src="/assets/plugins/template.js" merge="plugins"></script> | |
| 68 | +<!-- d3 --> | |
| 69 | +<script src="/assets/js/d3.min.js"></script> | |
| 70 | +<!-- EventProxy --> | |
| 71 | +<script src="/assets/js/eventproxy.js"></script> | |
| 72 | +<!-- uikit core --> | |
| 73 | +<script src="/real_control_v2/assets/plugins/uikit-2.27.1/uikit.min.js" merge="uikit_js"></script> | |
| 74 | +<script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/notify.min.js" merge="uikit_js"></script> | |
| 75 | +<script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/pagination.min.js" merge="uikit_js"></script> | |
| 76 | +<script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/tooltip.min.js" merge="uikit_js"></script> | |
| 77 | +<script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/autocomplete.min.js" merge="uikit_js"></script> | |
| 78 | +<script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/accordion.min.js" merge="uikit_js"></script> | |
| 79 | +<script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/timepicker.min.js" merge="uikit_js"></script> | |
| 80 | +<script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/lightbox.min.js" merge="uikit_js"></script> | |
| 81 | +<script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/sticky.min.js" merge="uikit_js"></script> | |
| 82 | + | |
| 83 | +<!-- jquery contextMenu --> | |
| 84 | +<script src="/real_control_v2/assets/js/jquery.contextMenu.min.js" merge="plugins"></script> | |
| 85 | +<script src="/real_control_v2/assets/js/jquery.ui.position.min.js" merge="plugins"></script> | |
| 86 | +<!-- formvalidation- --> | |
| 87 | +<script src="/real_control_v2/assets/plugins/formvalidation/formValidation.min.js" merge="plugins"></script> | |
| 88 | +<script src="/real_control_v2/assets/plugins/formvalidation/zh_CN.js" merge="plugins"></script> | |
| 89 | +<script src="/real_control_v2/assets/plugins/formvalidation/uikit.min.js" merge="plugins"></script> | |
| 90 | +<!-- js tree --> | |
| 91 | +<script src="/real_control_v2/assets/plugins/jstree/jstree.min.js" merge="plugins"></script> | |
| 92 | +<!-- simple pinyin --> | |
| 93 | +<script src="/assets/plugins/pinyin.js" merge="plugins"></script> | |
| 94 | +<!-- qtip --> | |
| 95 | +<script src="/real_control_v2/assets/plugins/qtip/jquery.qtip.min.js" merge="plugins"></script> | |
| 96 | +<!-- layer 3.0.3 --> | |
| 97 | +<script src="/real_control_v2/assets/plugins/layer3.0.3/layer.js" merge="plugins"></script> | |
| 98 | + | |
| 99 | +<!-- custom table js --> | |
| 100 | +<script src="/real_control_v2/js/utils/ct_table.js" merge="custom_js"></script> | |
| 101 | +<script src="/pages/history_sch/edit/js/modal_extend.js" merge="custom_js"></script> | |
| 102 | +<!-- 字典相关 --> | |
| 103 | +<script src="/assets/js/dictionary.js" merge="custom_js"></script> | |
| 104 | +<!-- 数据 --> | |
| 105 | +<script src="/pages/history_sch/edit/js/data_basic.js" merge="custom_js"></script> | |
| 106 | +<script> | |
| 107 | + | |
| 108 | + (function () { | |
| 109 | + open_modal('/pages/history_sch/edit/history_sch_maintain.html', {}, { | |
| 110 | + center: false, | |
| 111 | + bgclose: false | |
| 112 | + }); | |
| 113 | + })(); | |
| 114 | + | |
| 115 | + var notify_err = function (t) { | |
| 116 | + UIkit.notify("<i class='uk-icon-times'></i> " + t, { | |
| 117 | + status: 'danger' | |
| 118 | + }); | |
| 119 | + }; | |
| 120 | + | |
| 121 | + var gb_form_validation_opts = { | |
| 122 | + framework: 'uikit', | |
| 123 | + locale: 'zh_CN', | |
| 124 | + icon: { | |
| 125 | + valid: 'uk-icon-check', | |
| 126 | + invalid: 'uk-icon-times', | |
| 127 | + validating: 'uk-icon-refresh' | |
| 128 | + } | |
| 129 | + }; | |
| 130 | + | |
| 131 | + var disabled_submit_btn = function (form) { | |
| 132 | + var subBtn = $('button[type=submit]', form); | |
| 133 | + if (subBtn) { | |
| 134 | + subBtn.addClass('disabled').attr('disabled', 'disabled'); | |
| 135 | + } | |
| 136 | + }; | |
| 137 | + | |
| 138 | + var notify_succ = function (t) { | |
| 139 | + UIkit.notify("<i class='uk-icon-check'></i> " + t, { | |
| 140 | + status: 'success' | |
| 141 | + }); | |
| 142 | + }; | |
| 143 | + | |
| 144 | + var hide_wait_modal = function () { | |
| 145 | + UIkit.modal('#gb_wait_modal').hide(); | |
| 146 | + }; | |
| 147 | +</script> | |
| 148 | +</body> | |
| 149 | +</html> | |
| 0 | 150 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/history_sch/edit/wrap.html
0 → 100644
src/main/resources/static/pages/summary/destory_sch_detail/d_s_d_wrap.html
0 → 100644
src/main/resources/static/pages/summary/destory_sch_detail/list.html
0 → 100644
| 1 | +<!DOCTYPE html> | |
| 2 | +<html lang="zh-cn"> | |
| 3 | + | |
| 4 | +<head> | |
| 5 | + <meta charset="UTF-8"> | |
| 6 | + <link rel="stylesheet" href="/assets/plugins/uk3.0/uikit.min.css"/> | |
| 7 | + <link rel="stylesheet" href="/real_control_v2/assets/plugins/perfect-scrollbar/perfect-scrollbar.css" /> | |
| 8 | + <!-- flatpickr --> | |
| 9 | + <link rel="stylesheet" href="/real_control_v2/assets/plugins/flatpickr/flatpickr.min.css"> | |
| 10 | + <style> | |
| 11 | + html,body{ | |
| 12 | + height: 100%; | |
| 13 | + } | |
| 14 | + .ct_page{ | |
| 15 | + padding: 25px 15px; | |
| 16 | + height: 100%; | |
| 17 | + height: calc(100% - 50px); | |
| 18 | + } | |
| 19 | + | |
| 20 | + .ct_cont{ | |
| 21 | + height: calc(100% - 35px); | |
| 22 | + } | |
| 23 | + | |
| 24 | + .ct_cont>div>div.uk-card{ | |
| 25 | + height: 99%; | |
| 26 | + } | |
| 27 | + | |
| 28 | + .loading{ | |
| 29 | + height: 100%; | |
| 30 | + text-align: center; | |
| 31 | + } | |
| 32 | + .loading .uk-spinner{ | |
| 33 | + margin-top: 200px; | |
| 34 | + } | |
| 35 | + .loading circle{ | |
| 36 | + stroke: red; | |
| 37 | + } | |
| 38 | + | |
| 39 | + .ps-container > .ps-scrollbar-x-rail, .ps-container > .ps-scrollbar-y-rail{ | |
| 40 | + opacity: 0.6 !important; | |
| 41 | + padding: 0 !important; | |
| 42 | + } | |
| 43 | + | |
| 44 | + .ct_destroy_sch_table_width th:nth-of-type(1),.ct_destroy_sch_table_width td:nth-of-type(1){ | |
| 45 | + width: 10%; | |
| 46 | + } | |
| 47 | + .ct_destroy_sch_table_width th:nth-of-type(2),.ct_destroy_sch_table_width td:nth-of-type(2){ | |
| 48 | + width: 10%; | |
| 49 | + } | |
| 50 | + .ct_destroy_sch_table_width th:nth-of-type(3),.ct_destroy_sch_table_width td:nth-of-type(3){ | |
| 51 | + width: 10%; | |
| 52 | + } | |
| 53 | + .ct_destroy_sch_table_width th:nth-of-type(4),.ct_destroy_sch_table_width td:nth-of-type(4){ | |
| 54 | + width: 10%; | |
| 55 | + } | |
| 56 | + .ct_destroy_sch_table_width th:nth-of-type(5),.ct_destroy_sch_table_width td:nth-of-type(5){ | |
| 57 | + width: 10%; | |
| 58 | + } | |
| 59 | + .ct_destroy_sch_table_width th:nth-of-type(6),.ct_destroy_sch_table_width td:nth-of-type(6){ | |
| 60 | + width: 10%; | |
| 61 | + } | |
| 62 | + .ct_destroy_sch_table_width th:nth-of-type(7),.ct_destroy_sch_table_width td:nth-of-type(7){ | |
| 63 | + width: 10%; | |
| 64 | + } | |
| 65 | + .ct_destroy_sch_table_width th:nth-of-type(8),.ct_destroy_sch_table_width td:nth-of-type(8){ | |
| 66 | + width: 10%; | |
| 67 | + } | |
| 68 | + .ct_destroy_sch_table_width th:nth-of-type(9),.ct_destroy_sch_table_width td:nth-of-type(9){ | |
| 69 | + width: 10%; | |
| 70 | + } | |
| 71 | + .ct_destroy_sch_table_width th:nth-of-type(10),.ct_destroy_sch_table_width td:nth-of-type(10){ | |
| 72 | + width: 10%; | |
| 73 | + } | |
| 74 | + | |
| 75 | +/* .ct_table_wrap.day th:nth-of-type(1),.ct_table_wrap.day td:nth-of-type(1){ | |
| 76 | + width: 10%; | |
| 77 | + } | |
| 78 | + .ct_table_wrap.day th:nth-of-type(2),.ct_table_wrap.day td:nth-of-type(2){ | |
| 79 | + width: 10%; | |
| 80 | + } | |
| 81 | + .ct_table_wrap.day th:nth-of-type(3),.ct_table_wrap.day td:nth-of-type(3){ | |
| 82 | + width: 10%; | |
| 83 | + } | |
| 84 | + .ct_table_wrap.day th:nth-of-type(4),.ct_table_wrap.day td:nth-of-type(4){ | |
| 85 | + width: 10%; | |
| 86 | + } | |
| 87 | + .ct_table_wrap.day th:nth-of-type(5),.ct_table_wrap.day td:nth-of-type(5){ | |
| 88 | + width: 5%; | |
| 89 | + } | |
| 90 | + .ct_table_wrap.day th:nth-of-type(6),.ct_table_wrap.day td:nth-of-type(6){ | |
| 91 | + width: 15%; | |
| 92 | + } | |
| 93 | + .ct_table_wrap.day th:nth-of-type(7),.ct_table_wrap.day td:nth-of-type(7){ | |
| 94 | + width: 10%; | |
| 95 | + } | |
| 96 | + .ct_table_wrap.day th:nth-of-type(8),.ct_table_wrap.day td:nth-of-type(8){ | |
| 97 | + width: 10%; | |
| 98 | + } | |
| 99 | + .ct_table_wrap.day th:nth-of-type(9),.ct_table_wrap.day td:nth-of-type(9){ | |
| 100 | + width: 10%; | |
| 101 | + } | |
| 102 | + .ct_table_wrap.day th:nth-of-type(10),.ct_table_wrap.day td:nth-of-type(10){ | |
| 103 | + width: 10%; | |
| 104 | + }*/ | |
| 105 | + | |
| 106 | + .ct_search_form_wrap{ | |
| 107 | + border-bottom: 1px solid #e5e5e5; | |
| 108 | + padding: 10px 0 25px 10px; | |
| 109 | + } | |
| 110 | + .ct_search_form_wrap .ct_field{ | |
| 111 | + display: inline-block; | |
| 112 | + margin: 0 5px; | |
| 113 | + } | |
| 114 | + | |
| 115 | + .ct_search_form_wrap .ct_field label{ | |
| 116 | + font-size: 14px; | |
| 117 | + } | |
| 118 | + | |
| 119 | + .ct_search_form_wrap .ct_field input{ | |
| 120 | + width: 110px; | |
| 121 | + } | |
| 122 | + | |
| 123 | + .ct_search_form_wrap .ct_field select{ | |
| 124 | + width: auto; | |
| 125 | + min-width: 100px; | |
| 126 | + } | |
| 127 | + | |
| 128 | + .ct_search_form_wrap .uk-button{ | |
| 129 | + padding: 0 14px; | |
| 130 | + } | |
| 131 | + | |
| 132 | + .ct_search_form_wrap .uk-button i{ | |
| 133 | + vertical-align: middle; | |
| 134 | + margin-top: -2px; | |
| 135 | + margin-right: 7px; | |
| 136 | + } | |
| 137 | + | |
| 138 | + .ct_table_wrap{ | |
| 139 | + font-size: 14px; | |
| 140 | + height: calc(100% - 77px); | |
| 141 | + } | |
| 142 | + | |
| 143 | + .t_body_wrap{ | |
| 144 | + height: calc(100% - 41px); | |
| 145 | + overflow: auto; | |
| 146 | + position: relative; | |
| 147 | + } | |
| 148 | + | |
| 149 | + .ct_field.ct_field_bottom{ | |
| 150 | + vertical-align: bottom; | |
| 151 | + font-size: 12px; | |
| 152 | + margin-left: 0; | |
| 153 | + } | |
| 154 | + </style> | |
| 155 | +</head> | |
| 156 | + | |
| 157 | +<body> | |
| 158 | +<div class="loading"> | |
| 159 | + <div uk-spinner></div> | |
| 160 | +</div> | |
| 161 | +<div class="ct_page" style="display: none;"> | |
| 162 | + <h3 class="uk-heading-line uk-heading-bullet"><span>烂班明细统计</span></h3> | |
| 163 | + <div class="ct_cont" > | |
| 164 | + <div class="ct_search_form_wrap"> | |
| 165 | + <form> | |
| 166 | + <input type="hidden" name="status_eq" value="-1"> | |
| 167 | + <div class="ct_field"> | |
| 168 | + <label>公司: | |
| 169 | + <select class="uk-select" name="gsBm_eq"> | |
| 170 | + </select> | |
| 171 | + </label> | |
| 172 | + </div> | |
| 173 | + <div class="ct_field"> | |
| 174 | + <label>分公司: | |
| 175 | + <select class="uk-select" name="fgsBm_eq"> | |
| 176 | + </select> | |
| 177 | + </label> | |
| 178 | + </div> | |
| 179 | + <div class="ct_field"> | |
| 180 | + <label>线路: | |
| 181 | + <select class="uk-select" name="xlBm_eq"> | |
| 182 | + </select> | |
| 183 | + </label> | |
| 184 | + </div> | |
| 185 | + <div class="ct_field"> | |
| 186 | + <label>日期: | |
| 187 | + <input class="uk-input" name="rq" style="width: 220px;"> | |
| 188 | + </label> | |
| 189 | + </div> | |
| 190 | + <div class="ct_field"> | |
| 191 | + <button class="uk-button uk-button-primary search"><i uk-icon="icon: search"></i>搜索</button> | |
| 192 | + </div> | |
| 193 | + <div class="ct_field ct_field_bottom"> | |
| 194 | + <span uk-icon="icon: question" title="暂时只支持单线路查询,目前实时汇总。导出功能先等等" uk-tooltip="pos: bottom"></span> | |
| 195 | + </div> | |
| 196 | + </form> | |
| 197 | + </div> | |
| 198 | + <div class="ct_table_wrap day"> | |
| 199 | + <table class="uk-table uk-table-small ct_destroy_sch_table_width" style="margin-bottom: 0;"> | |
| 200 | + <thead> | |
| 201 | + <tr> | |
| 202 | + <th>日期</th> | |
| 203 | + <th>线路</th> | |
| 204 | + <th>车号</th> | |
| 205 | + <th>司机</th> | |
| 206 | + <th>售票员</th> | |
| 207 | + <th>原因</th> | |
| 208 | + <th>班次</th> | |
| 209 | + <th>烂班公里</th> | |
| 210 | + <th>烂班时间</th> | |
| 211 | + <th>备注</th> | |
| 212 | + </tr> | |
| 213 | + </thead> | |
| 214 | + </table> | |
| 215 | + <div class="t_body_wrap"> | |
| 216 | + <table class="uk-table uk-table-divider uk-table-hover uk-table-small ct_destroy_sch_table ct_destroy_sch_table_width"> | |
| 217 | + <tbody> | |
| 218 | + </tbody> | |
| 219 | + </table> | |
| 220 | + </div> | |
| 221 | + </div> | |
| 222 | + </div> | |
| 223 | +</div> | |
| 224 | + | |
| 225 | +<script id="destroy_sch_list_temp" type="text/html"> | |
| 226 | + {{each list as obj i}} | |
| 227 | + <tr> | |
| 228 | + <td>{{obj.scheduleDateStr}}</td> | |
| 229 | + <td>{{obj.xlName}}</td> | |
| 230 | + <td>{{obj.clZbh}}</td> | |
| 231 | + <td>{{obj.jGh}}</td> | |
| 232 | + <td>{{obj.sGh}}</td> | |
| 233 | + <td>{{obj.adjustExps}}</td> | |
| 234 | + <td><a>{{obj.destroySize}}</a></td> | |
| 235 | + <td>{{obj.destroyMileageSum}}</td> | |
| 236 | + <td>{{obj.dfsj}}</td> | |
| 237 | + <td>{{obj.remarks}}</td> | |
| 238 | + </tr> | |
| 239 | + {{/each}} | |
| 240 | +</script> | |
| 241 | + | |
| 242 | +<script src="/metronic_v4.5.4/plugins/jquery.min.js"></script> | |
| 243 | +<script src="/assets/plugins/uk3.0/uikit.min.js"></script> | |
| 244 | +<script src="/assets/plugins/uk3.0/uikit-icons.min.js"></script> | |
| 245 | +<script src="/real_control_v2/assets/plugins/perfect-scrollbar/perfect-scrollbar.jquery.js" ></script> | |
| 246 | +<!-- EventProxy --> | |
| 247 | +<script src="/assets/js/eventproxy.js"></script> | |
| 248 | +<!-- art-template 模版引擎 --> | |
| 249 | +<script src="/assets/plugins/template.js"></script> | |
| 250 | +<script src="/real_control_v2/assets/plugins/moment/moment.min.js"></script> | |
| 251 | +<!-- jquery.serializejson JSON序列化插件 --> | |
| 252 | +<script src="/assets/plugins/jquery.serializejson.js" merge="plugins"></script> | |
| 253 | +<!-- flatpickr --> | |
| 254 | +<script src="/real_control_v2/assets/plugins/flatpickr/flatpickr.min.js" ></script> | |
| 255 | +<script src="/real_control_v2/assets/plugins/flatpickr/l10n/zh.js" ></script> | |
| 256 | +<script> | |
| 257 | + | |
| 258 | + var f = $('form', ''); | |
| 259 | + //var page=0, pageSize=120; | |
| 260 | + | |
| 261 | + var ep = EventProxy.create('query_comps', 'query_lines', function () { | |
| 262 | + $('[name=gsBm_eq]', f).trigger('change');//公司change | |
| 263 | + query(); | |
| 264 | + | |
| 265 | + $('.loading').remove(); | |
| 266 | + $('.ct_page').show(); | |
| 267 | + }); | |
| 268 | + | |
| 269 | + //点击搜索 | |
| 270 | + $('button.search', f).on('click', query); | |
| 271 | + | |
| 272 | + function query() { | |
| 273 | + $('button.search', f).attr('disabled', 'disabled'); | |
| 274 | + var data = f.serializeJSON(); | |
| 275 | + //data.page = page; | |
| 276 | + //data.size = pageSize; | |
| 277 | + | |
| 278 | + //开始结束时间 | |
| 279 | + data.scheduleDateStr_ge = data.rq.substr(0, 10); | |
| 280 | + data.scheduleDateStr_le = data.rq.substr(13); | |
| 281 | + | |
| 282 | + delete data.rq; | |
| 283 | + | |
| 284 | + $.get('/realSchedule/all', data, function (rs) { | |
| 285 | + console.log('rs', rs); | |
| 286 | + $('button.search', f).removeAttr('disabled'); | |
| 287 | + | |
| 288 | + //按线路、车、人、烂班原因分组 | |
| 289 | + var groupData = {}, key; | |
| 290 | + $.each(rs, function () { | |
| 291 | + key=this.xlBm+'_'+this.clZbh+'_'+this.jGh+'_'+this.adjustExps; | |
| 292 | + if(!groupData[key]) | |
| 293 | + groupData[key] = []; | |
| 294 | + | |
| 295 | + groupData[key].push(this); | |
| 296 | + }); | |
| 297 | + | |
| 298 | + var list = [], sch; | |
| 299 | + for(var k in groupData){ | |
| 300 | + //排序 | |
| 301 | + groupData[k].sort(sch_sort_fun); | |
| 302 | + sch=groupData[k][0]; | |
| 303 | + sch.destroySize=groupData[k].length; | |
| 304 | + sch.destroyMileageSum=countMileage(groupData[k]); | |
| 305 | + list.push(sch); | |
| 306 | + } | |
| 307 | + | |
| 308 | + var htmlStr = template('destroy_sch_list_temp', {list: list}); | |
| 309 | + $('.ct_destroy_sch_table tbody').html(htmlStr); | |
| 310 | + $('.t_body_wrap').perfectScrollbar('update'); | |
| 311 | + }); | |
| 312 | + } | |
| 313 | + | |
| 314 | + | |
| 315 | + function sch_sort_fun(a, b) { | |
| 316 | + return a.dfsjT - b.dfsjT; | |
| 317 | + } | |
| 318 | + | |
| 319 | + function countMileage(array) { | |
| 320 | + var sum=0; | |
| 321 | + $.each(array, function () { | |
| 322 | + sum = accAdd(sum, this.jhlcOrig); | |
| 323 | + }); | |
| 324 | + return sum; | |
| 325 | + } | |
| 326 | + | |
| 327 | + var accAdd = function (a, b) { | |
| 328 | + var c, d, e; | |
| 329 | + try { | |
| 330 | + c = a.toString().split(".")[1].length; | |
| 331 | + } catch (f) { | |
| 332 | + c = 0; | |
| 333 | + } | |
| 334 | + try { | |
| 335 | + d = b.toString().split(".")[1].length; | |
| 336 | + } catch (f) { | |
| 337 | + d = 0; | |
| 338 | + } | |
| 339 | + return e = Math.pow(10, Math.max(c, d)), (mul(a, e) + mul(b, e)) / e; | |
| 340 | + }; | |
| 341 | + | |
| 342 | + function mul(a, b) { | |
| 343 | + var c = 0, | |
| 344 | + d = a.toString(), | |
| 345 | + e = b.toString(); | |
| 346 | + try { | |
| 347 | + c += d.split(".")[1].length; | |
| 348 | + } catch (f) { | |
| 349 | + } | |
| 350 | + try { | |
| 351 | + c += e.split(".")[1].length; | |
| 352 | + } catch (f) { | |
| 353 | + } | |
| 354 | + return Number(d.replace(".", "")) * Number(e.replace(".", "")) / Math.pow(10, c); | |
| 355 | + } | |
| 356 | + | |
| 357 | + //日期选择框 | |
| 358 | + var fs='YYYY-MM-DD' | |
| 359 | + , ets=moment().subtract(1, 'days').format(fs) | |
| 360 | + , sts=moment().subtract(3, 'days').format(fs); | |
| 361 | + flatpickr('.ct_search_form_wrap [name=rq]', { | |
| 362 | + mode: "range", dateFormat: "Y-m-d","locale": "zh", defaultDate: [sts, ets] | |
| 363 | + }); | |
| 364 | + var comps; | |
| 365 | + //构建公司级联下拉框 | |
| 366 | + $.get('/user/companyData', function (rs) { | |
| 367 | + comps = rs; | |
| 368 | + var opts = ''; | |
| 369 | + for(var i=0,obj;obj=comps[i++];){ | |
| 370 | + opts += '<option value="'+obj.companyCode+'">'+obj.companyName+'</option>'; | |
| 371 | + } | |
| 372 | + $('[name=gsBm_eq]', f).html(opts); | |
| 373 | + ep.emit('query_comps'); | |
| 374 | + }); | |
| 375 | + | |
| 376 | + var lineMapps; | |
| 377 | + //加载线路信息 | |
| 378 | + $.get('/line/all', {'destroy_eq': 0}, function (rs) { | |
| 379 | + rs.sort(function (a, b) { | |
| 380 | + return a.name.localeCompare(b.name); | |
| 381 | + }); | |
| 382 | + lineMapps={}; | |
| 383 | + var k; | |
| 384 | + $.each(rs, function () { | |
| 385 | + k = this.company+'_'+this.brancheCompany; | |
| 386 | + if(!lineMapps[k]) | |
| 387 | + lineMapps[k]=[]; | |
| 388 | + lineMapps[k].push(this); | |
| 389 | + }); | |
| 390 | + | |
| 391 | + ep.emit('query_lines'); | |
| 392 | + }); | |
| 393 | + | |
| 394 | + $('[name=gsBm_eq]', f).on('change', function () { | |
| 395 | + var code = $(this).val(), subs=[]; | |
| 396 | + $.each(comps, function () { | |
| 397 | + if(this.companyCode==code) | |
| 398 | + subs=this.children; | |
| 399 | + }); | |
| 400 | + | |
| 401 | + var opts=''; | |
| 402 | + $.each(subs, function () { | |
| 403 | + opts += '<option value="'+this.code+'">'+this.name+'</option>'; | |
| 404 | + }); | |
| 405 | + $('[name=fgsBm_eq]', f).html(opts).trigger('change'); | |
| 406 | + }); | |
| 407 | + | |
| 408 | + $('[name=fgsBm_eq]', f).on('change', function () { | |
| 409 | + var k = $('[name=gsBm_eq]', f).val() + '_' + $(this).val(); | |
| 410 | + var array = lineMapps[k]; | |
| 411 | + var opts = ''; | |
| 412 | + if(array){ | |
| 413 | + $.each(array, function () { | |
| 414 | + opts += '<option value="'+this.lineCode+'">'+this.name+'</option>'; | |
| 415 | + }); | |
| 416 | + } | |
| 417 | + $('[name=xlBm_eq]', f).html(opts); | |
| 418 | + }); | |
| 419 | + | |
| 420 | + // | |
| 421 | + //滚动条 | |
| 422 | + $('.t_body_wrap').perfectScrollbar({suppressScrollX: true}); | |
| 423 | + | |
| 424 | + $(document).on('submit', 'form', function () { | |
| 425 | + return false; | |
| 426 | + }); | |
| 427 | + | |
| 428 | + $('#add_hours_icon').on('click', function () { | |
| 429 | + UIkit.notification('暂不开放!', 'danger'); | |
| 430 | + }); | |
| 431 | +</script> | |
| 432 | +</body> | |
| 433 | +</html> | |
| 0 | 434 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/summary/excel/快慢误点报表.xls
No preview for this file type
src/main/resources/static/pages/summary/fast_and_slow/data.html
| ... | ... | @@ -18,24 +18,30 @@ |
| 18 | 18 | <div class="data_table_wrap head"> |
| 19 | 19 | <table cellspacing="1" class="data_table"> |
| 20 | 20 | <col /> |
| 21 | - <col width="14%"/> | |
| 22 | - <col width="4%"/> | |
| 23 | - <col width="6%"/> | |
| 24 | - <col width="6%"/> | |
| 25 | - <col width="6%"/> | |
| 26 | 21 | <col width="5%"/> |
| 27 | 22 | <col width="5%"/> |
| 28 | 23 | <col width="5%"/> |
| 24 | + <col width="13%"/> | |
| 25 | + <col width="4%"/> | |
| 29 | 26 | <col width="5%"/> |
| 30 | - <col width="6%"/> | |
| 31 | - <col width="6%"/> | |
| 32 | - <col width="6%"/> | |
| 33 | 27 | <col width="5%"/> |
| 34 | 28 | <col width="5%"/> |
| 29 | + <col width="4%"/> | |
| 30 | + <col width="4%"/> | |
| 31 | + <col width="4%"/> | |
| 32 | + <col width="4%"/> | |
| 35 | 33 | <col width="5%"/> |
| 36 | 34 | <col width="5%"/> |
| 35 | + <col width="5%"/> | |
| 36 | + <col width="4%"/> | |
| 37 | + <col width="4%"/> | |
| 38 | + <col width="4%"/> | |
| 39 | + <col width="4%"/> | |
| 37 | 40 | <tr> |
| 38 | 41 | <td rowspan="3">序号</td> |
| 42 | + <td rowspan="3">路牌</td> | |
| 43 | + <td rowspan="3">车辆</td> | |
| 44 | + <td rowspan="3">人员</td> | |
| 39 | 45 | <td rowspan="3">发车站点</td> |
| 40 | 46 | <td rowspan="3">方向</td> |
| 41 | 47 | <td colspan="7">发车时间</td> |
| ... | ... | @@ -70,25 +76,31 @@ |
| 70 | 76 | <div class="data_table_wrap data" id="table_{{k}}"> |
| 71 | 77 | <table cellspacing="1" class="data_table"> |
| 72 | 78 | <col /> |
| 73 | - <col width="14%"/> | |
| 74 | - <col width="4%"/> | |
| 75 | - <col width="6%"/> | |
| 76 | - <col width="6%"/> | |
| 77 | - <col width="6%"/> | |
| 78 | 79 | <col width="5%"/> |
| 79 | 80 | <col width="5%"/> |
| 80 | 81 | <col width="5%"/> |
| 82 | + <col width="13%"/> | |
| 83 | + <col width="4%"/> | |
| 81 | 84 | <col width="5%"/> |
| 82 | - <col width="6%"/> | |
| 83 | - <col width="6%"/> | |
| 84 | - <col width="6%"/> | |
| 85 | 85 | <col width="5%"/> |
| 86 | 86 | <col width="5%"/> |
| 87 | + <col width="4%"/> | |
| 88 | + <col width="4%"/> | |
| 89 | + <col width="4%"/> | |
| 90 | + <col width="4%"/> | |
| 87 | 91 | <col width="5%"/> |
| 88 | 92 | <col width="5%"/> |
| 93 | + <col width="5%"/> | |
| 94 | + <col width="4%"/> | |
| 95 | + <col width="4%"/> | |
| 96 | + <col width="4%"/> | |
| 97 | + <col width="4%"/> | |
| 89 | 98 | {{each listMap[k] as obj i}} |
| 90 | 99 | <tr> |
| 91 | 100 | <td>{{i+1}}</td> |
| 101 | + <td>{{obj.lpName}}</td> | |
| 102 | + <td>{{obj.nbbm}}</td> | |
| 103 | + <td>{{obj.jsy}}</td> | |
| 92 | 104 | <td>{{obj.stationName}}</td> |
| 93 | 105 | <td class="cell_dir_{{obj.upDown}}">{{obj.upDown==0?"上行":"下行"}}</td> |
| 94 | 106 | <td>{{obj.fcsj}}</td> |
| ... | ... | @@ -108,21 +120,21 @@ |
| 108 | 120 | </tr> |
| 109 | 121 | {{/each}} |
| 110 | 122 | <tr> |
| 111 | - <td rowspan="4">合计:</td> | |
| 112 | - <td colspan="8" class="count_col">发车:上行(计划快误点:<a class="c_c_0">{{countMap[k][0]['fast'][0]}}</a> 累计时间:<a class="c_c_0">{{timeCountMap[k][0]['fast'][0]}}</a> 待发快误点:<a class="c_c_0">{{countMap[k][0]['fast'][1]}}</a> 累计时间:<a class="c_c_0">{{timeCountMap[k][0]['fast'][1]}}</a>)</td> | |
| 113 | - <td colspan="8" class="count_col">发车:下行(计划快误点:<a class="c_c_1">{{countMap[k][1]['fast'][0]}}</a> 累计时间:<a class="c_c_1">{{timeCountMap[k][1]['fast'][0]}}</a> 待发快误点:<a class="c_c_1">{{countMap[k][1]['fast'][1]}}</a> 累计时间:<a class="c_c_1">{{timeCountMap[k][1]['fast'][1]}}</a>)</td> | |
| 123 | + <td rowspan="4" colspan="2">合计:</td> | |
| 124 | + <td colspan="9" class="count_col">发车:上行(计划快误点:<a class="c_c_0">{{countMap[k][0]['fast'][0]}}</a> 累计时间:<a class="c_c_0">{{timeCountMap[k][0]['fast'][0]}}</a> 待发快误点:<a class="c_c_0">{{countMap[k][0]['fast'][1]}}</a> 累计时间:<a class="c_c_0">{{timeCountMap[k][0]['fast'][1]}}</a>)</td> | |
| 125 | + <td colspan="9" class="count_col">发车:下行(计划快误点:<a class="c_c_1">{{countMap[k][1]['fast'][0]}}</a> 累计时间:<a class="c_c_1">{{timeCountMap[k][1]['fast'][0]}}</a> 待发快误点:<a class="c_c_1">{{countMap[k][1]['fast'][1]}}</a> 累计时间:<a class="c_c_1">{{timeCountMap[k][1]['fast'][1]}}</a>)</td> | |
| 114 | 126 | </tr> |
| 115 | 127 | <tr> |
| 116 | - <td colspan="8" class="count_col">发车:上行(计划慢误点:<a class="c_c_0">{{countMap[k][0]['slow'][0]}}</a> 累计时间:<a class="c_c_0">{{timeCountMap[k][0]['slow'][0]}}</a> 待发慢误点:<a class="c_c_0">{{countMap[k][0]['slow'][1]}}</a> 累计时间:<a class="c_c_0">{{timeCountMap[k][0]['slow'][1]}}</a>)</td> | |
| 117 | - <td colspan="8" class="count_col">发车:下行(计划慢误点:<a class="c_c_1">{{countMap[k][1]['slow'][0]}}</a> 累计时间:<a class="c_c_1">{{timeCountMap[k][1]['slow'][0]}}</a> 待发慢误点:<a class="c_c_1">{{countMap[k][1]['slow'][1]}}</a> 累计时间:<a class="c_c_1">{{timeCountMap[k][1]['slow'][1]}}</a>)</td> | |
| 128 | + <td colspan="9" class="count_col">发车:上行(计划慢误点:<a class="c_c_0">{{countMap[k][0]['slow'][0]}}</a> 累计时间:<a class="c_c_0">{{timeCountMap[k][0]['slow'][0]}}</a> 待发慢误点:<a class="c_c_0">{{countMap[k][0]['slow'][1]}}</a> 累计时间:<a class="c_c_0">{{timeCountMap[k][0]['slow'][1]}}</a>)</td> | |
| 129 | + <td colspan="9" class="count_col">发车:下行(计划慢误点:<a class="c_c_1">{{countMap[k][1]['slow'][0]}}</a> 累计时间:<a class="c_c_1">{{timeCountMap[k][1]['slow'][0]}}</a> 待发慢误点:<a class="c_c_1">{{countMap[k][1]['slow'][1]}}</a> 累计时间:<a class="c_c_1">{{timeCountMap[k][1]['slow'][1]}}</a>)</td> | |
| 118 | 130 | </tr> |
| 119 | 131 | <tr> |
| 120 | - <td colspan="8" class="count_col">到达:上行(计划快误点:<a class="c_c_0">{{countMap[k][0]['fast'][2]}}</a> 累计时间:<a class="c_c_0">{{timeCountMap[k][0]['fast'][2]}}</a> 待发快误点:<a class="c_c_0">{{countMap[k][0]['fast'][3]}}</a> 累计时间:<a class="c_c_0">{{timeCountMap[k][0]['fast'][3]}}</a>)</td> | |
| 121 | - <td colspan="8" class="count_col">到达:下行(计划快误点:<a class="c_c_1">{{countMap[k][1]['fast'][2]}}</a> 累计时间:<a class="c_c_1">{{timeCountMap[k][1]['fast'][2]}}</a> 待发快误点:<a class="c_c_1">{{countMap[k][1]['fast'][3]}}</a> 累计时间:<a class="c_c_1">{{timeCountMap[k][1]['fast'][3]}}</a>)</td> | |
| 132 | + <td colspan="9" class="count_col">到达:上行(计划快误点:<a class="c_c_0">{{countMap[k][0]['fast'][2]}}</a> 累计时间:<a class="c_c_0">{{timeCountMap[k][0]['fast'][2]}}</a> 待发快误点:<a class="c_c_0">{{countMap[k][0]['fast'][3]}}</a> 累计时间:<a class="c_c_0">{{timeCountMap[k][0]['fast'][3]}}</a>)</td> | |
| 133 | + <td colspan="9" class="count_col">到达:下行(计划快误点:<a class="c_c_1">{{countMap[k][1]['fast'][2]}}</a> 累计时间:<a class="c_c_1">{{timeCountMap[k][1]['fast'][2]}}</a> 待发快误点:<a class="c_c_1">{{countMap[k][1]['fast'][3]}}</a> 累计时间:<a class="c_c_1">{{timeCountMap[k][1]['fast'][3]}}</a>)</td> | |
| 122 | 134 | </tr> |
| 123 | 135 | <tr> |
| 124 | - <td colspan="8" class="count_col">到达:上行(计划慢误点:<a class="c_c_0">{{countMap[k][0]['slow'][2]}}</a> 累计时间:<a class="c_c_0">{{timeCountMap[k][0]['slow'][2]}}</a> 待发慢误点:<a class="c_c_0">{{countMap[k][0]['slow'][3]}}</a> 累计时间:<a class="c_c_0">{{timeCountMap[k][0]['slow'][3]}}</a>)</td> | |
| 125 | - <td colspan="8" class="count_col">到达:下行(计划慢误点:<a class="c_c_1">{{countMap[k][1]['slow'][2]}}</a> 累计时间:<a class="c_c_1">{{timeCountMap[k][1]['slow'][2]}}</a> 待发慢误点:<a class="c_c_1">{{countMap[k][1]['slow'][3]}}</a> 累计时间:<a class="c_c_1">{{timeCountMap[k][1]['slow'][3]}}</a>)</td> | |
| 136 | + <td colspan="9" class="count_col">到达:上行(计划慢误点:<a class="c_c_0">{{countMap[k][0]['slow'][2]}}</a> 累计时间:<a class="c_c_0">{{timeCountMap[k][0]['slow'][2]}}</a> 待发慢误点:<a class="c_c_0">{{countMap[k][0]['slow'][3]}}</a> 累计时间:<a class="c_c_0">{{timeCountMap[k][0]['slow'][3]}}</a>)</td> | |
| 137 | + <td colspan="9" class="count_col">到达:下行(计划慢误点:<a class="c_c_1">{{countMap[k][1]['slow'][2]}}</a> 累计时间:<a class="c_c_1">{{timeCountMap[k][1]['slow'][2]}}</a> 待发慢误点:<a class="c_c_1">{{countMap[k][1]['slow'][3]}}</a> 累计时间:<a class="c_c_1">{{timeCountMap[k][1]['slow'][3]}}</a>)</td> | |
| 126 | 138 | </tr> |
| 127 | 139 | </table> |
| 128 | 140 | </div> | ... | ... |
src/main/resources/static/pages/summary/fast_and_slow/main.html
| ... | ... | @@ -91,19 +91,20 @@ |
| 91 | 91 | } |
| 92 | 92 | |
| 93 | 93 | .ct_rq_left{ |
| 94 | - width: 200px; | |
| 94 | + width: 130px; | |
| 95 | 95 | display: inline-block; |
| 96 | 96 | vertical-align: top; |
| 97 | 97 | height: calc(100% - 184px); |
| 98 | 98 | position: fixed; |
| 99 | 99 | left: 25px; |
| 100 | + padding: 40px 15px; | |
| 100 | 101 | } |
| 101 | 102 | |
| 102 | 103 | .ct_right_tables{ |
| 103 | - width: calc(100% - 220px); | |
| 104 | + width: calc(100% - 160px); | |
| 104 | 105 | display: inline-block; |
| 105 | - margin-left: 232px; | |
| 106 | - padding: 25px; | |
| 106 | + margin-left: 152px; | |
| 107 | + padding: 25px 0; | |
| 107 | 108 | margin-bottom: 18px; |
| 108 | 109 | } |
| 109 | 110 | |
| ... | ... | @@ -117,7 +118,7 @@ |
| 117 | 118 | width: 15px; |
| 118 | 119 | border-top: 1px solid #1e87f0; |
| 119 | 120 | z-index: 9; |
| 120 | - right: 60px; | |
| 121 | + right: 40px; | |
| 121 | 122 | top: 15px; |
| 122 | 123 | } |
| 123 | 124 | .uk-nav-default>li.uk-active>a { |
| ... | ... | @@ -126,7 +127,7 @@ |
| 126 | 127 | } |
| 127 | 128 | |
| 128 | 129 | .data_table_wrap{ |
| 129 | - min-width: 1170px; | |
| 130 | + min-width: 1070px; | |
| 130 | 131 | } |
| 131 | 132 | |
| 132 | 133 | .ct_right_tables table{ |
| ... | ... | @@ -156,7 +157,7 @@ |
| 156 | 157 | |
| 157 | 158 | .data_table_wrap.head{ |
| 158 | 159 | position: fixed; |
| 159 | - width: calc(100% - 300px); | |
| 160 | + width: calc(100% - 190px); | |
| 160 | 161 | top: 155px; |
| 161 | 162 | padding-top: 25px; |
| 162 | 163 | background: #fff; | ... | ... |