Commit d537398eb0521b8537e3c1fa9cb6d2224a5e4491
Merge branch 'minhang' into pudong
Showing
35 changed files
with
3558 additions
and
430 deletions
src/main/java/com/bsth/controller/realcontrol/ScheduleRealInfoController.java
| @@ -549,9 +549,9 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, | @@ -549,9 +549,9 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, | ||
| 549 | public List<String> dateArray(@RequestParam(defaultValue = "0") int c){ | 549 | public List<String> dateArray(@RequestParam(defaultValue = "0") int c){ |
| 550 | List<String> rs = new ArrayList<>(); | 550 | List<String> rs = new ArrayList<>(); |
| 551 | 551 | ||
| 552 | - long t = new Date().getTime(); | 552 | + long t = System.currentTimeMillis(); |
| 553 | if(c != 1) | 553 | if(c != 1) |
| 554 | - t -= ONE_DAY - (1000 * 60 * 60 * 2); | 554 | + t -= (ONE_DAY + (1000 * 60 * 60 * 2)); |
| 555 | for(int i = 0; i < 3; i ++){ | 555 | for(int i = 0; i < 3; i ++){ |
| 556 | rs.add(fmtyyyyMMdd.print(t)); | 556 | rs.add(fmtyyyyMMdd.print(t)); |
| 557 | t -= ONE_DAY; | 557 | t -= ONE_DAY; |
src/main/java/com/bsth/data/gpsdata/arrival/GpsRealAnalyse.java
| @@ -41,7 +41,7 @@ public class GpsRealAnalyse { | @@ -41,7 +41,7 @@ public class GpsRealAnalyse { | ||
| 41 | @Autowired | 41 | @Autowired |
| 42 | GpsRealData gpsRealData; | 42 | GpsRealData gpsRealData; |
| 43 | 43 | ||
| 44 | - final static int POOL_SIZE = 15; | 44 | + final static int POOL_SIZE = 30; |
| 45 | static ExecutorService threadPool = Executors.newFixedThreadPool(POOL_SIZE + 1); | 45 | static ExecutorService threadPool = Executors.newFixedThreadPool(POOL_SIZE + 1); |
| 46 | 46 | ||
| 47 | public static long st; | 47 | public static long st; |
| @@ -68,7 +68,7 @@ public class GpsRealAnalyse { | @@ -68,7 +68,7 @@ public class GpsRealAnalyse { | ||
| 68 | } | 68 | } |
| 69 | List<String> deviceList = new ArrayList<>(multimap.keySet()); | 69 | List<String> deviceList = new ArrayList<>(multimap.keySet()); |
| 70 | 70 | ||
| 71 | - //数据均分给20个线程 | 71 | + //数据均分给线程 |
| 72 | ArrayListMultimap dataListMap = ArrayListMultimap.create(); | 72 | ArrayListMultimap dataListMap = ArrayListMultimap.create(); |
| 73 | int size = deviceList.size(), threadIndex=0, threadSize = size / POOL_SIZE; | 73 | int size = deviceList.size(), threadIndex=0, threadSize = size / POOL_SIZE; |
| 74 | for(int i = 0; i < size; i++){ | 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,14 +70,18 @@ public class InOutStationSignalHandle extends SignalHandle{ | ||
| 70 | return false; | 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 | return true; | 87 | return true; |
src/main/java/com/bsth/data/summary/entity/FastAndSlow.java
| @@ -21,6 +21,22 @@ public class FastAndSlow { | @@ -21,6 +21,22 @@ public class FastAndSlow { | ||
| 21 | private Long id; | 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 | private String stationName; | 42 | private String stationName; |
| @@ -281,4 +297,28 @@ public class FastAndSlow { | @@ -281,4 +297,28 @@ public class FastAndSlow { | ||
| 281 | public boolean isFast() { | 297 | public boolean isFast() { |
| 282 | return this.fcsjFast>0 || this.dfsjFast>0 || this.zdsjFast>0 || this.zdsjDfFast>0; | 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 | \ No newline at end of file | 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,29 +119,33 @@ public class FastAndSlowServiceImpl extends BaseServiceImpl<FastAndSlow, Long> i | ||
| 119 | //前4行是表头 | 119 | //前4行是表头 |
| 120 | Row row; | 120 | Row row; |
| 121 | row = sheet.getRow(0); | 121 | row = sheet.getRow(0); |
| 122 | - row.getCell(4).setCellValue(list.get(0).getRq()); | 122 | + row.getCell(0).setCellValue(list.get(0).getRq()); |
| 123 | row.getCell(13).setCellValue(BasicData.lineCode2NameMap.get(list.get(0).getLineCode())); | 123 | row.getCell(13).setCellValue(BasicData.lineCode2NameMap.get(list.get(0).getLineCode())); |
| 124 | FastAndSlow fas; | 124 | FastAndSlow fas; |
| 125 | for(int i = 0; i < list.size(); i++){ | 125 | for(int i = 0; i < list.size(); i++){ |
| 126 | fas = list.get(i); | 126 | fas = list.get(i); |
| 127 | row = sheet.createRow(i + 4); | 127 | row = sheet.createRow(i + 4); |
| 128 | row.createCell(0).setCellValue(i + 1); | 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 | if(fas.getUpDown()==0) | 150 | if(fas.getUpDown()==0) |
| 147 | ups.add(fas); | 151 | ups.add(fas); |
| @@ -151,28 +155,28 @@ public class FastAndSlowServiceImpl extends BaseServiceImpl<FastAndSlow, Long> i | @@ -151,28 +155,28 @@ public class FastAndSlowServiceImpl extends BaseServiceImpl<FastAndSlow, Long> i | ||
| 151 | //合计 | 155 | //合计 |
| 152 | int size = list.size(); | 156 | int size = list.size(); |
| 153 | row = sheet.createRow(size + 4); | 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 | row = sheet.createRow(size + 5); | 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 | row = sheet.createRow(size + 6); | 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 | row = sheet.createRow(size + 7); | 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 | private List<FastAndSlow> filterByType(List<FastAndSlow> all, String type) { | 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,6 +35,7 @@ public class ChildTaskPlan { | ||
| 35 | 35 | ||
| 36 | /** | 36 | /** |
| 37 | * 任务类型2 | 37 | * 任务类型2 |
| 38 | + * 1 正常 2 进场 3 出场 | ||
| 38 | */ | 39 | */ |
| 39 | private String type2; | 40 | private String type2; |
| 40 | 41 | ||
| @@ -99,6 +100,11 @@ public class ChildTaskPlan { | @@ -99,6 +100,11 @@ public class ChildTaskPlan { | ||
| 99 | private String nbbm; | 100 | private String nbbm; |
| 100 | 101 | ||
| 101 | /** | 102 | /** |
| 103 | + * 中途换车营运, 新车关联的主任务ID,子任务删除时,主任务ID将级联 | ||
| 104 | + */ | ||
| 105 | + private Long ccId; | ||
| 106 | + | ||
| 107 | + /** | ||
| 102 | * 为true 则无售票员, 否则继承主任务 | 108 | * 为true 则无售票员, 否则继承主任务 |
| 103 | */ | 109 | */ |
| 104 | private boolean noClerk; | 110 | private boolean noClerk; |
| @@ -277,4 +283,12 @@ public class ChildTaskPlan { | @@ -277,4 +283,12 @@ public class ChildTaskPlan { | ||
| 277 | public void setNoClerk(boolean noClerk) { | 283 | public void setNoClerk(boolean noClerk) { |
| 278 | this.noClerk = noClerk; | 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,6 +225,11 @@ public class ScheduleRealInfo { | ||
| 225 | */ | 225 | */ |
| 226 | private Integer driftStatus = 0; | 226 | private Integer driftStatus = 0; |
| 227 | 227 | ||
| 228 | + /** | ||
| 229 | + * 换车营运标记 true 表示该主任务由 【中途换车子任务】 级联生成 | ||
| 230 | + */ | ||
| 231 | + private boolean ccService; | ||
| 232 | + | ||
| 228 | public boolean isDfAuto() { | 233 | public boolean isDfAuto() { |
| 229 | return dfAuto; | 234 | return dfAuto; |
| 230 | } | 235 | } |
| @@ -958,4 +963,12 @@ public class ScheduleRealInfo { | @@ -958,4 +963,12 @@ public class ScheduleRealInfo { | ||
| 958 | public void setDriftStatus(Integer driftStatus) { | 963 | public void setDriftStatus(Integer driftStatus) { |
| 959 | this.driftStatus = driftStatus; | 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,7 +129,7 @@ public interface ScheduleRealInfoRepository extends BaseRepository<ScheduleRealI | ||
| 129 | int countByLineCodeAndDate(String xlBm, String schDate); | 129 | int countByLineCodeAndDate(String xlBm, String schDate); |
| 130 | 130 | ||
| 131 | @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) | 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 | List<ScheduleRealInfo> findByLineCodeAndDate(String xlBm, String schDate); | 133 | List<ScheduleRealInfo> findByLineCodeAndDate(String xlBm, String schDate); |
| 134 | 134 | ||
| 135 | @Modifying | 135 | @Modifying |
| @@ -146,7 +146,14 @@ public interface ScheduleRealInfoRepository extends BaseRepository<ScheduleRealI | @@ -146,7 +146,14 @@ public interface ScheduleRealInfoRepository extends BaseRepository<ScheduleRealI | ||
| 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") | 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 | List<ScheduleRealInfo> scheduleByDateAndLineQp(String line,String date); | 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 | @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) | 157 | @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) |
| 151 | @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") | 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 | List<ScheduleRealInfo> scheduleByDateAndLineByGs_(String gsdm,String fgsdm,String date); | 159 | List<ScheduleRealInfo> scheduleByDateAndLineByGs_(String gsdm,String fgsdm,String date); |
| @@ -170,7 +177,7 @@ public interface ScheduleRealInfoRepository extends BaseRepository<ScheduleRealI | @@ -170,7 +177,7 @@ public interface ScheduleRealInfoRepository extends BaseRepository<ScheduleRealI | ||
| 170 | 177 | ||
| 171 | //按照时间段统计 | 178 | //按照时间段统计 |
| 172 | @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) | 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 | List<ScheduleRealInfo> scheduleByDateAndLineTj(String line,String date,String date2,String gsdm,String fgsdm); | 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,7 +744,7 @@ public class FormsServiceImpl implements FormsService { | ||
| 744 | if(cts != null && cts.size() > 0){ | 744 | if(cts != null && cts.size() > 0){ |
| 745 | newList_.add(s); | 745 | newList_.add(s); |
| 746 | }else{ | 746 | }else{ |
| 747 | - if(s.getZdsjActual()!=null){ | 747 | + if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ |
| 748 | newList_.add(s); | 748 | newList_.add(s); |
| 749 | } | 749 | } |
| 750 | } | 750 | } |
| @@ -798,7 +798,7 @@ public class FormsServiceImpl implements FormsService { | @@ -798,7 +798,7 @@ public class FormsServiceImpl implements FormsService { | ||
| 798 | if(cts != null && cts.size() > 0){ | 798 | if(cts != null && cts.size() > 0){ |
| 799 | newList_.add(s); | 799 | newList_.add(s); |
| 800 | }else{ | 800 | }else{ |
| 801 | - if(s.getZdsjActual()!=null){ | 801 | + if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ |
| 802 | newList_.add(s); | 802 | newList_.add(s); |
| 803 | } | 803 | } |
| 804 | } | 804 | } |
| @@ -884,7 +884,7 @@ public class FormsServiceImpl implements FormsService { | @@ -884,7 +884,7 @@ public class FormsServiceImpl implements FormsService { | ||
| 884 | if(cts != null && cts.size() > 0){ | 884 | if(cts != null && cts.size() > 0){ |
| 885 | newList_.add(s); | 885 | newList_.add(s); |
| 886 | }else{ | 886 | }else{ |
| 887 | - if(s.getZdsjActual()!=null){ | 887 | + if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ |
| 888 | newList_.add(s); | 888 | newList_.add(s); |
| 889 | } | 889 | } |
| 890 | } | 890 | } |
| @@ -1199,8 +1199,8 @@ public class FormsServiceImpl implements FormsService { | @@ -1199,8 +1199,8 @@ public class FormsServiceImpl implements FormsService { | ||
| 1199 | 1199 | ||
| 1200 | String sql = "select gs_name, fgs_name, cl_zbh, fcsj, bc_type, xl_bm, xl_name, schedule_date" | 1200 | String sql = "select gs_name, fgs_name, cl_zbh, fcsj, bc_type, xl_bm, xl_name, schedule_date" |
| 1201 | + " from bsth_c_s_sp_info where gs_bm = '"+company+"' and fgs_bm = '"+subCompany+"' " | 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 | if(line.trim().length() != 0){ | 1204 | if(line.trim().length() != 0){ |
| 1205 | sql += "and xl_bm = '"+line+"' "; | 1205 | sql += "and xl_bm = '"+line+"' "; |
| 1206 | } | 1206 | } |
| @@ -1356,8 +1356,8 @@ public class FormsServiceImpl implements FormsService { | @@ -1356,8 +1356,8 @@ public class FormsServiceImpl implements FormsService { | ||
| 1356 | 1356 | ||
| 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 " | 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 | + " (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" | 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 | + map.get("line").toString() + "' AND gs_bm is not null AND bc_type NOT IN ('in', 'out')" | 1361 | + map.get("line").toString() + "' AND gs_bm is not null AND bc_type NOT IN ('in', 'out')" |
| 1362 | + " and gs_bm='"+ map.get("gsdmEcecut").toString() + "'" | 1362 | + " and gs_bm='"+ map.get("gsdmEcecut").toString() + "'" |
| 1363 | + " and fgs_bm='"+ map.get("fgsdmEcecut").toString() + "'" | 1363 | + " and fgs_bm='"+ map.get("fgsdmEcecut").toString() + "'" |
| @@ -1440,8 +1440,8 @@ public class FormsServiceImpl implements FormsService { | @@ -1440,8 +1440,8 @@ public class FormsServiceImpl implements FormsService { | ||
| 1440 | 1440 | ||
| 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 " | 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 | + " (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" | 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 | + map.get("line").toString() + "' AND gs_bm is not null AND bc_type NOT IN ('in', 'out') " | 1445 | + map.get("line").toString() + "' AND gs_bm is not null AND bc_type NOT IN ('in', 'out') " |
| 1446 | + " and gs_bm='"+ map.get("gsdmAllline").toString() + "'" | 1446 | + " and gs_bm='"+ map.get("gsdmAllline").toString() + "'" |
| 1447 | + " and fgs_bm='"+ map.get("fgsdmAllline").toString() + "'" | 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,7 +57,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 57 | 57 | ||
| 58 | try { | 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 | if(line.length() != 0){ | 61 | if(line.length() != 0){ |
| 62 | sql += " and xl_bm = '"+line+"'"; | 62 | sql += " and xl_bm = '"+line+"'"; |
| 63 | } | 63 | } |
| @@ -86,7 +86,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -86,7 +86,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 86 | public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { | 86 | public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { |
| 87 | ScheduleRealInfo schedule = new ScheduleRealInfo(); | 87 | ScheduleRealInfo schedule = new ScheduleRealInfo(); |
| 88 | schedule.setId(rs.getLong("id")); | 88 | schedule.setId(rs.getLong("id")); |
| 89 | - schedule.setScheduleDateStr(rs.getString("schedule_date_Str")); | 89 | + schedule.setScheduleDateStr(rs.getString("schedule_date_str")); |
| 90 | schedule.setRealExecDate(rs.getString("real_exec_date")); | 90 | schedule.setRealExecDate(rs.getString("real_exec_date")); |
| 91 | schedule.setXlBm(rs.getString("xl_bm")); | 91 | schedule.setXlBm(rs.getString("xl_bm")); |
| 92 | schedule.setXlName(rs.getString("xl_name")); | 92 | schedule.setXlName(rs.getString("xl_name")); |
| @@ -117,6 +117,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -117,6 +117,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 117 | schedule.setjName(rs.getString("j_name")); | 117 | schedule.setjName(rs.getString("j_name")); |
| 118 | schedule.setSpId(rs.getLong("sp_id")); | 118 | schedule.setSpId(rs.getLong("sp_id")); |
| 119 | schedule.setSflj(rs.getBoolean("sflj")); | 119 | schedule.setSflj(rs.getBoolean("sflj")); |
| 120 | + schedule.setCcService(rs.getBoolean("cc_service")); | ||
| 120 | 121 | ||
| 121 | if(schedule.getFcsjActual() != null && schedule.getFcsjActual().trim().length() == 0){ | 122 | if(schedule.getFcsjActual() != null && schedule.getFcsjActual().trim().length() == 0){ |
| 122 | schedule.setFcsjActual(null); | 123 | schedule.setFcsjActual(null); |
| @@ -371,6 +372,8 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -371,6 +372,8 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 371 | // int endTime = Integer.valueOf(split[1].split(":")[0])*60 + Integer.valueOf(split[1].split(":")[1]); | 372 | // int endTime = Integer.valueOf(split[1].split(":")[0])*60 + Integer.valueOf(split[1].split(":")[1]); |
| 372 | 373 | ||
| 373 | for(ScheduleRealInfo schedule : list){ | 374 | for(ScheduleRealInfo schedule : list){ |
| 375 | + if(schedule.isCcService()) | ||
| 376 | + continue; | ||
| 374 | String[] split1 = schedule.getFcsj().split(":"); | 377 | String[] split1 = schedule.getFcsj().split(":"); |
| 375 | String[] split2 = schedule.getZdsj().split(":"); | 378 | String[] split2 = schedule.getZdsj().split(":"); |
| 376 | long fcsj = Long.valueOf(split1[0])*60 + Long.valueOf(split1[1]); | 379 | long fcsj = Long.valueOf(split1[0])*60 + Long.valueOf(split1[1]); |
| @@ -674,10 +677,10 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -674,10 +677,10 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 674 | // where += " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'"; | 677 | // where += " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'"; |
| 675 | where += " and bc_type != 'ldks'"; | 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 | + " fcsj, fcsj_actual, zdsj, zdsj_actual, qdz_name, zdz_name, xl_dir, status, remarks, gs_name, fgs_name, sp_id" | 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 | list = jdbcTemplate.query(sql, | 685 | list = jdbcTemplate.query(sql, |
| 683 | new RowMapper<ScheduleRealInfo>(){ | 686 | new RowMapper<ScheduleRealInfo>(){ |
| @@ -685,7 +688,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -685,7 +688,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 685 | public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { | 688 | public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { |
| 686 | ScheduleRealInfo schedule = new ScheduleRealInfo(); | 689 | ScheduleRealInfo schedule = new ScheduleRealInfo(); |
| 687 | schedule.setId(rs.getLong("id")); | 690 | schedule.setId(rs.getLong("id")); |
| 688 | - schedule.setScheduleDateStr(rs.getString("schedule_date_Str")); | 691 | + schedule.setScheduleDateStr(rs.getString("schedule_date_str")); |
| 689 | schedule.setRealExecDate(rs.getString("real_exec_date")); | 692 | schedule.setRealExecDate(rs.getString("real_exec_date")); |
| 690 | schedule.setXlName(rs.getString("xl_name")); | 693 | schedule.setXlName(rs.getString("xl_name")); |
| 691 | schedule.setLpName(rs.getString("lp_name")); | 694 | schedule.setLpName(rs.getString("lp_name")); |
| @@ -705,6 +708,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -705,6 +708,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 705 | schedule.setGsName(rs.getString("gs_name")); | 708 | schedule.setGsName(rs.getString("gs_name")); |
| 706 | schedule.setFgsName(rs.getString("fgs_name")); | 709 | schedule.setFgsName(rs.getString("fgs_name")); |
| 707 | schedule.setSpId(rs.getLong("sp_id")); | 710 | schedule.setSpId(rs.getLong("sp_id")); |
| 711 | + schedule.setCcService(rs.getBoolean("cc_service")); | ||
| 708 | 712 | ||
| 709 | if(schedule.getFcsjActual() != null && schedule.getFcsjActual().trim().length() == 0){ | 713 | if(schedule.getFcsjActual() != null && schedule.getFcsjActual().trim().length() == 0){ |
| 710 | schedule.setFcsjActual(null); | 714 | schedule.setFcsjActual(null); |
| @@ -885,7 +889,8 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -885,7 +889,8 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 885 | } | 889 | } |
| 886 | 890 | ||
| 887 | for(ScheduleRealInfo schedule : list){ | 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 | continue; | 894 | continue; |
| 890 | if(model.length() != 0){ | 895 | if(model.length() != 0){ |
| 891 | if(ttSet.contains(schedule.getSpId())){ | 896 | if(ttSet.contains(schedule.getSpId())){ |
| @@ -1393,6 +1398,9 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -1393,6 +1398,9 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 1393 | int endTime = Integer.valueOf(split[1].split(":")[0])*60 + Integer.valueOf(split[1].split(":")[1]); | 1398 | int endTime = Integer.valueOf(split[1].split(":")[0])*60 + Integer.valueOf(split[1].split(":")[1]); |
| 1394 | 1399 | ||
| 1395 | for(ScheduleRealInfo s : list){ | 1400 | for(ScheduleRealInfo s : list){ |
| 1401 | + if(s.isCcService()){ | ||
| 1402 | + continue; | ||
| 1403 | + } | ||
| 1396 | String key = s.getScheduleDateStr() + "/" + s.getLpName(); | 1404 | String key = s.getScheduleDateStr() + "/" + s.getLpName(); |
| 1397 | if(!keyMap.containsKey(key)) | 1405 | if(!keyMap.containsKey(key)) |
| 1398 | keyMap.put(key, new ArrayList<ScheduleRealInfo>()); | 1406 | keyMap.put(key, new ArrayList<ScheduleRealInfo>()); |
| @@ -1668,14 +1676,14 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -1668,14 +1676,14 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 1668 | lc = new BigDecimal("0"+schedule.getJhlc()); | 1676 | lc = new BigDecimal("0"+schedule.getJhlc()); |
| 1669 | } | 1677 | } |
| 1670 | 1678 | ||
| 1671 | - if(!schedule.isSflj()){ | 1679 | + if(!schedule.isSflj() && !schedule.isCcService()){ |
| 1672 | jhbc++; | 1680 | jhbc++; |
| 1673 | jhlc = jhlc.add(lc); | 1681 | jhlc = jhlc.add(lc); |
| 1674 | } | 1682 | } |
| 1675 | - if(schedule.getStatus() != -1){ | 1683 | + if(schedule.getStatus() != -1 && !schedule.isCcService()){ |
| 1676 | sjbc++; | 1684 | sjbc++; |
| 1677 | sjlc = sjlc.add(lc); | 1685 | sjlc = sjlc.add(lc); |
| 1678 | - } else if(schedule.getStatus() == -1){ | 1686 | + } else if(schedule.getStatus() == -1 && !schedule.isCcService()){ |
| 1679 | if(schedule.getAdjustExps() != null && schedule.getAdjustExps().indexOf("路阻") != -1){ | 1687 | if(schedule.getAdjustExps() != null && schedule.getAdjustExps().indexOf("路阻") != -1){ |
| 1680 | lzbc++; | 1688 | lzbc++; |
| 1681 | lzlc = lzlc.add(lc); | 1689 | lzlc = lzlc.add(lc); |
| @@ -1811,8 +1819,8 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -1811,8 +1819,8 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 1811 | } | 1819 | } |
| 1812 | try { | 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 | if(line.length() != 0){ | 1824 | if(line.length() != 0){ |
| 1817 | sql += " and xl_bm = '"+line+"'"; | 1825 | sql += " and xl_bm = '"+line+"'"; |
| 1818 | } | 1826 | } |
| @@ -1829,7 +1837,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -1829,7 +1837,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 1829 | } | 1837 | } |
| 1830 | } | 1838 | } |
| 1831 | if(company.length() != 0){ | 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 | sql += " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'"; | 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,7 +1846,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 1838 | @Override | 1846 | @Override |
| 1839 | public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { | 1847 | public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { |
| 1840 | ScheduleRealInfo schedule = new ScheduleRealInfo(); | 1848 | ScheduleRealInfo schedule = new ScheduleRealInfo(); |
| 1841 | - schedule.setScheduleDateStr(rs.getString("schedule_date_Str")); | 1849 | + schedule.setScheduleDateStr(rs.getString("schedule_date_str")); |
| 1842 | schedule.setXlBm(rs.getString("xl_bm")); | 1850 | schedule.setXlBm(rs.getString("xl_bm")); |
| 1843 | schedule.setXlName(rs.getString("xl_name")); | 1851 | schedule.setXlName(rs.getString("xl_name")); |
| 1844 | schedule.setLpName(rs.getString("lp_name")); | 1852 | schedule.setLpName(rs.getString("lp_name")); |
| @@ -1864,6 +1872,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -1864,6 +1872,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 1864 | schedule.setjGh(rs.getString("j_gh")); | 1872 | schedule.setjGh(rs.getString("j_gh")); |
| 1865 | schedule.setjName(rs.getString("j_name")); | 1873 | schedule.setjName(rs.getString("j_name")); |
| 1866 | schedule.setUpdateDate(rs.getDate("update_date")); | 1874 | schedule.setUpdateDate(rs.getDate("update_date")); |
| 1875 | + schedule.setCcService(rs.getBoolean("cc_service")); | ||
| 1867 | 1876 | ||
| 1868 | if(schedule.getFcsjActual() != null && schedule.getFcsjActual().trim().length() == 0){ | 1877 | if(schedule.getFcsjActual() != null && schedule.getFcsjActual().trim().length() == 0){ |
| 1869 | schedule.setFcsjActual(null); | 1878 | schedule.setFcsjActual(null); |
| @@ -1905,7 +1914,8 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -1905,7 +1914,8 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 1905 | dxtz = 0, lbtz = 0; | 1914 | dxtz = 0, lbtz = 0; |
| 1906 | for(ScheduleRealInfo schedule : keyMap.get(key)){ | 1915 | for(ScheduleRealInfo schedule : keyMap.get(key)){ |
| 1907 | boolean flag = false; | 1916 | boolean flag = false; |
| 1908 | - if(schedule.getFcsjActual() != null && schedule.getStatus() != -1){ | 1917 | + if(schedule.getFcsjActual() != null && schedule.getStatus() != -1 |
| 1918 | + && !schedule.isCcService()){ | ||
| 1909 | sjbc++; | 1919 | sjbc++; |
| 1910 | if(schedule.getDfsj() != null && !schedule.getDfsj().equals(schedule.getFcsj())){ | 1920 | if(schedule.getDfsj() != null && !schedule.getDfsj().equals(schedule.getFcsj())){ |
| 1911 | flag = true; | 1921 | flag = true; |
| @@ -1937,9 +1947,9 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -1937,9 +1947,9 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 1937 | // tempMap.put("dxtz", dxtz); | 1947 | // tempMap.put("dxtz", dxtz); |
| 1938 | tempMap.put("lbtz", lbtz); | 1948 | tempMap.put("lbtz", lbtz); |
| 1939 | tempMap.put("correct", sddf + zddf + lbtz); | 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 | // tempMap.put("dxbl", df.format((double)(dxtz)/sjbc*100) + "%"); | 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 | // tempMap.put("correctbl", df.format((double)(sddf + zddf + dxtz + lbtz)/sjbc*100) + "%"); | 1953 | // tempMap.put("correctbl", df.format((double)(sddf + zddf + dxtz + lbtz)/sjbc*100) + "%"); |
| 1944 | // tempMap.put("workList", tempList); | 1954 | // tempMap.put("workList", tempList); |
| 1945 | 1955 | ||
| @@ -2069,9 +2079,9 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -2069,9 +2079,9 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 2069 | // tempMap.put("dxtz", dxtz); | 2079 | // tempMap.put("dxtz", dxtz); |
| 2070 | tempMap.put("lbtz", lbtz); | 2080 | tempMap.put("lbtz", lbtz); |
| 2071 | tempMap.put("correct", sddf + zddf + lbtz); | 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 | // tempMap.put("correctbl", df.format((double)(sddf + zddf + dxtz + lbtz)/sjbc*100) + "%"); | 2085 | // tempMap.put("correctbl", df.format((double)(sddf + zddf + dxtz + lbtz)/sjbc*100) + "%"); |
| 2076 | resList.add(tempMap); | 2086 | resList.add(tempMap); |
| 2077 | } | 2087 | } |
| @@ -2097,8 +2107,8 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -2097,8 +2107,8 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 2097 | resMap.put("dxbl", "0"); | 2107 | resMap.put("dxbl", "0"); |
| 2098 | resMap.put("correctbl", "0"); | 2108 | resMap.put("correctbl", "0"); |
| 2099 | }else{ | 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,8 +2162,8 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 2152 | resMap.put("dxbl", "0"); | 2162 | resMap.put("dxbl", "0"); |
| 2153 | resMap.put("correctbl", "0"); | 2163 | resMap.put("correctbl", "0"); |
| 2154 | }else{ | 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 | resMap.put("xlname",BasicData.lineCode2NameMap.get(xlbm)); | 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,14 +46,11 @@ public class ChildTaskPlanServiceImpl extends BaseServiceImpl<ChildTaskPlan, Lon | ||
| 46 | try { | 46 | try { |
| 47 | ScheduleRealInfo sch = dayOfSchedule.get(t.getSchedule().getId()); | 47 | ScheduleRealInfo sch = dayOfSchedule.get(t.getSchedule().getId()); |
| 48 | //保存起终点名称 | 48 | //保存起终点名称 |
| 49 | - //String prefix = sch.getXlBm() + "_" + sch.getXlDir() + "_"; | ||
| 50 | if(StringUtils.isEmpty(t.getStartStationName())) | 49 | if(StringUtils.isEmpty(t.getStartStationName())) |
| 51 | t.setStartStationName(getStationName(sch.getXlBm(), t.getStartStation())); | 50 | t.setStartStationName(getStationName(sch.getXlBm(), t.getStartStation())); |
| 52 | - //t.setStartStationName(BasicData.getStationNameByCode(t.getStartStation(), prefix)); | ||
| 53 | 51 | ||
| 54 | if(StringUtils.isEmpty(t.getEndStationName())) | 52 | if(StringUtils.isEmpty(t.getEndStationName())) |
| 55 | t.setEndStationName(getStationName(sch.getXlBm(), t.getEndStation())); | 53 | t.setEndStationName(getStationName(sch.getXlBm(), t.getEndStation())); |
| 56 | - //t.setEndStationName(BasicData.getStationNameByCode(t.getEndStation(), prefix)); | ||
| 57 | if(t.getDestroyReason() == null) | 54 | if(t.getDestroyReason() == null) |
| 58 | t.setDestroyReason(""); | 55 | t.setDestroyReason(""); |
| 59 | 56 | ||
| @@ -61,13 +58,63 @@ public class ChildTaskPlanServiceImpl extends BaseServiceImpl<ChildTaskPlan, Lon | @@ -61,13 +58,63 @@ public class ChildTaskPlanServiceImpl extends BaseServiceImpl<ChildTaskPlan, Lon | ||
| 61 | if(t.isDestroy() && StringUtils.isEmpty(t.getDestroyReason())) | 58 | if(t.isDestroy() && StringUtils.isEmpty(t.getDestroyReason())) |
| 62 | t.setDestroyReason(t.getReason()); | 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 | rs = super.save(t); | 114 | rs = super.save(t); |
| 66 | //关联主任务 | 115 | //关联主任务 |
| 67 | sch.getcTasks().add(t); | 116 | sch.getcTasks().add(t); |
| 68 | dayOfSchedule.save(sch); | 117 | dayOfSchedule.save(sch); |
| 69 | - //直接持久化 | ||
| 70 | - //scheduleRealInfoRepository.save(sch); | ||
| 71 | //站到场对照 | 118 | //站到场对照 |
| 72 | t.setSchedule(sch); | 119 | t.setSchedule(sch); |
| 73 | Station2ParkBuffer.put(t); | 120 | Station2ParkBuffer.put(t); |
| @@ -101,6 +148,11 @@ public class ChildTaskPlanServiceImpl extends BaseServiceImpl<ChildTaskPlan, Lon | @@ -101,6 +148,11 @@ public class ChildTaskPlanServiceImpl extends BaseServiceImpl<ChildTaskPlan, Lon | ||
| 101 | 148 | ||
| 102 | //删除子任务 | 149 | //删除子任务 |
| 103 | rs = super.delete(id); | 150 | rs = super.delete(id); |
| 151 | + | ||
| 152 | + //删除级联生成的换车主任务 | ||
| 153 | + if(null != cPlan.getCcId()){ | ||
| 154 | + scheduleRealInfoRepository.delete(cPlan.getCcId()); | ||
| 155 | + } | ||
| 104 | //dayOfSchedule.save(sch); | 156 | //dayOfSchedule.save(sch); |
| 105 | //解除和主任务关联 | 157 | //解除和主任务关联 |
| 106 | ScheduleRealInfo sch = dayOfSchedule.get(cPlan.getSchedule().getId()); | 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,7 +873,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 873 | if(cts != null && cts.size() > 0){ | 873 | if(cts != null && cts.size() > 0){ |
| 874 | lists.add(s); | 874 | lists.add(s); |
| 875 | }else{ | 875 | }else{ |
| 876 | - if(s.getZdsjActual()!=null){ | 876 | + if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ |
| 877 | lists.add(s); | 877 | lists.add(s); |
| 878 | } | 878 | } |
| 879 | } | 879 | } |
| @@ -1743,30 +1743,28 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1743,30 +1743,28 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1743 | if(cts != null && cts.size() > 0){ | 1743 | if(cts != null && cts.size() > 0){ |
| 1744 | lists.add(s); | 1744 | lists.add(s); |
| 1745 | }else{ | 1745 | }else{ |
| 1746 | - if(s.getZdsjActual()!=null){ | 1746 | + if(s.getFcsjActual() !=null&&s.getZdsjActual()!=null){ |
| 1747 | lists.add(s); | 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 | map.put("remMileage", culateService.culateLbgl(list)); //烂班公里 | 1755 | map.put("remMileage", culateService.culateLbgl(list)); //烂班公里 |
| 1756 | + map.put("ljbc", culateService.culateLjbc(lists,""));//临加班次 | ||
| 1757 | + double ljgl=culateService.culateLjgl(lists); | ||
| 1758 | map.put("addMileage", ljgl); //临加公里 | 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 | map.put("sjbc", culateService.culateSjbc(lists,"") + culateService.culateLjbc(lists,"")); | 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 | map.put("zkslc", Arith.add(ksgl,jccgl)); | 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 | return map; | 1768 | return map; |
| 1771 | } | 1769 | } |
| 1772 | 1770 | ||
| @@ -1789,7 +1787,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1789,7 +1787,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1789 | if(cts != null && cts.size() > 0){ | 1787 | if(cts != null && cts.size() > 0){ |
| 1790 | lists.add(s); | 1788 | lists.add(s); |
| 1791 | }else{ | 1789 | }else{ |
| 1792 | - if(s.getZdsjActual()!=null){ | 1790 | + if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ |
| 1793 | lists.add(s); | 1791 | lists.add(s); |
| 1794 | } | 1792 | } |
| 1795 | } | 1793 | } |
| @@ -2139,20 +2137,24 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2139,20 +2137,24 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2139 | for (int j = 0; j < listit.size(); j++) { | 2137 | for (int j = 0; j < listit.size(); j++) { |
| 2140 | ScheduleRealInfo t = new ScheduleRealInfo(); | 2138 | ScheduleRealInfo t = new ScheduleRealInfo(); |
| 2141 | ChildTaskPlan childTaskPlan = listit.get(j); | 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,7 +2297,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2295 | if(cts != null && cts.size() > 0){ | 2297 | if(cts != null && cts.size() > 0){ |
| 2296 | lists.add(s); | 2298 | lists.add(s); |
| 2297 | }else{ | 2299 | }else{ |
| 2298 | - if(s.getZdsjActual()!=null){ | 2300 | + if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ |
| 2299 | lists.add(s); | 2301 | lists.add(s); |
| 2300 | } | 2302 | } |
| 2301 | } | 2303 | } |
| @@ -2370,7 +2372,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2370,7 +2372,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2370 | if(cts != null && cts.size() > 0){ | 2372 | if(cts != null && cts.size() > 0){ |
| 2371 | lists.add(s); | 2373 | lists.add(s); |
| 2372 | }else{ | 2374 | }else{ |
| 2373 | - if(s.getZdsjActual()!=null){ | 2375 | + if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ |
| 2374 | lists.add(s); | 2376 | lists.add(s); |
| 2375 | } | 2377 | } |
| 2376 | } | 2378 | } |
| @@ -2433,7 +2435,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2433,7 +2435,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2433 | if(cts != null && cts.size() > 0){ | 2435 | if(cts != null && cts.size() > 0){ |
| 2434 | lists.add(s); | 2436 | lists.add(s); |
| 2435 | }else{ | 2437 | }else{ |
| 2436 | - if(s.getZdsjActual()!=null){ | 2438 | + if(s.getZdsjActual()!=null&& s.getFcsjActual()!=null){ |
| 2437 | lists.add(s); | 2439 | lists.add(s); |
| 2438 | } | 2440 | } |
| 2439 | } | 2441 | } |
| @@ -2487,10 +2489,11 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2487,10 +2489,11 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2487 | map.put("dtbc", 0); | 2489 | map.put("dtbc", 0); |
| 2488 | map.put("dtbc_m", 0); | 2490 | map.put("dtbc_m", 0); |
| 2489 | map.put("dtbc_a", 0); | 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 | return map; | 2498 | return map; |
| 2496 | } | 2499 | } |
| @@ -2515,7 +2518,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2515,7 +2518,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2515 | if(cts != null && cts.size() > 0){ | 2518 | if(cts != null && cts.size() > 0){ |
| 2516 | list_s.add(s); | 2519 | list_s.add(s); |
| 2517 | }else{ | 2520 | }else{ |
| 2518 | - if(s.getZdsjActual()!=null){ | 2521 | + if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ |
| 2519 | list_s.add(s); | 2522 | list_s.add(s); |
| 2520 | } | 2523 | } |
| 2521 | } | 2524 | } |
| @@ -2592,10 +2595,11 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2592,10 +2595,11 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2592 | map.put("dtbc", 0); | 2595 | map.put("dtbc", 0); |
| 2593 | map.put("dtbc_m", 0); | 2596 | map.put("dtbc_m", 0); |
| 2594 | map.put("dtbc_a", 0); | 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 | lMap.add(map); | 2603 | lMap.add(map); |
| 2600 | if (type != null && type.length() != 0 && type.equals("export")) { | 2604 | if (type != null && type.length() != 0 && type.equals("export")) { |
| 2601 | SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), | 2605 | SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), |
| @@ -2723,7 +2727,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2723,7 +2727,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2723 | String zdsjActual = ""; | 2727 | String zdsjActual = ""; |
| 2724 | String zdsj1 = ""; | 2728 | String zdsj1 = ""; |
| 2725 | String zdsjActual1 = ""; | 2729 | String zdsjActual1 = ""; |
| 2726 | - List<ScheduleRealInfo> listInfo = scheduleRealInfoRepository.scheduleByDateAndLineQp(line, date); | 2730 | + List<ScheduleRealInfo> listInfo = scheduleRealInfoRepository.scheduleDdrb(line, date); |
| 2727 | for (int i = 0; i < listInfo.size(); i++) { | 2731 | for (int i = 0; i < listInfo.size(); i++) { |
| 2728 | ScheduleRealInfo t = listInfo.get(i); | 2732 | ScheduleRealInfo t = listInfo.get(i); |
| 2729 | if (!lpName.equals(t.getLpName())) { | 2733 | if (!lpName.equals(t.getLpName())) { |
| @@ -2743,7 +2747,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2743,7 +2747,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2743 | list.add(t); | 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 | List<ScheduleRealInfo> xList = new ArrayList<ScheduleRealInfo>(); | 2751 | List<ScheduleRealInfo> xList = new ArrayList<ScheduleRealInfo>(); |
| 2748 | List<ScheduleRealInfo> yList = new ArrayList<ScheduleRealInfo>(); | 2752 | List<ScheduleRealInfo> yList = new ArrayList<ScheduleRealInfo>(); |
| 2749 | List<ScheduleRealInfo> zList = new ArrayList<ScheduleRealInfo>(); | 2753 | List<ScheduleRealInfo> zList = new ArrayList<ScheduleRealInfo>(); |
| @@ -4211,7 +4215,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -4211,7 +4215,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 4211 | if(cts != null && cts.size() > 0){ | 4215 | if(cts != null && cts.size() > 0){ |
| 4212 | lists.add(s); | 4216 | lists.add(s); |
| 4213 | }else{ | 4217 | }else{ |
| 4214 | - if(s.getZdsjActual()!=null){ | 4218 | + if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ |
| 4215 | lists.add(s); | 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,6 +39,8 @@ public interface CulateMileageService { | ||
| 39 | Map<String, Object> culateWdbcs(List<ScheduleRealInfo> lists); | 39 | Map<String, Object> culateWdbcs(List<ScheduleRealInfo> lists); |
| 40 | 40 | ||
| 41 | int culateDtfzbc(List<ScheduleRealInfo> lists,String type,String status,String item); | 41 | int culateDtfzbc(List<ScheduleRealInfo> lists,String type,String status,String item); |
| 42 | + | ||
| 43 | + | ||
| 42 | //以下计算方法供新报表使用 | 44 | //以下计算方法供新报表使用 |
| 43 | Map<String, Double> culateSjlcMap(List<ScheduleRealInfo> lists);//计划内营运and计划外营运 | 45 | Map<String, Double> culateSjlcMap(List<ScheduleRealInfo> lists);//计划内营运and计划外营运 |
| 44 | 46 |
src/main/java/com/bsth/service/report/impl/CulateMileageServiceImpl.java
| 1 | package com.bsth.service.report.impl; | 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 | import com.bsth.entity.realcontrol.ChildTaskPlan; | 3 | import com.bsth.entity.realcontrol.ChildTaskPlan; |
| 24 | import com.bsth.entity.realcontrol.ScheduleRealInfo; | 4 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 25 | import com.bsth.entity.sys.Interval; | 5 | import com.bsth.entity.sys.Interval; |
| @@ -27,8 +7,18 @@ import com.bsth.service.report.CulateMileageService; | @@ -27,8 +7,18 @@ import com.bsth.service.report.CulateMileageService; | ||
| 27 | import com.bsth.util.Arith; | 7 | import com.bsth.util.Arith; |
| 28 | import com.bsth.util.ComparableChild; | 8 | import com.bsth.util.ComparableChild; |
| 29 | import com.bsth.util.ComparableJob; | 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 | @Service | 23 | @Service |
| 34 | public class CulateMileageServiceImpl implements CulateMileageService{ | 24 | public class CulateMileageServiceImpl implements CulateMileageService{ |
| @@ -179,10 +169,12 @@ public class CulateMileageServiceImpl implements CulateMileageService{ | @@ -179,10 +169,12 @@ public class CulateMileageServiceImpl implements CulateMileageService{ | ||
| 179 | Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | 169 | Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); |
| 180 | while (it.hasNext()) { | 170 | while (it.hasNext()) { |
| 181 | ChildTaskPlan childTaskPlan = it.next(); | 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,30 +190,11 @@ public class CulateMileageServiceImpl implements CulateMileageService{ | ||
| 198 | for (int i = 0; i < lists.size(); i++) { | 190 | for (int i = 0; i < lists.size(); i++) { |
| 199 | ScheduleRealInfo scheduleRealInfo=lists.get(i); | 191 | ScheduleRealInfo scheduleRealInfo=lists.get(i); |
| 200 | if (!isInOut(scheduleRealInfo)) { | 192 | if (!isInOut(scheduleRealInfo)) { |
| 201 | -// Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | ||
| 202 | -// if(childTaskPlans.isEmpty()){ | 193 | + if(!scheduleRealInfo.isCcService()){ |
| 203 | if(scheduleRealInfo.getStatus() == -1){ | 194 | if(scheduleRealInfo.getStatus() == -1){ |
| 204 | lbbc++; | 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 | return lbbc; | 200 | return lbbc; |
| @@ -378,7 +351,7 @@ public class CulateMileageServiceImpl implements CulateMileageService{ | @@ -378,7 +351,7 @@ public class CulateMileageServiceImpl implements CulateMileageService{ | ||
| 378 | Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | 351 | Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); |
| 379 | while (it.hasNext()) { | 352 | while (it.hasNext()) { |
| 380 | ChildTaskPlan childTaskPlan = it.next(); | 353 | ChildTaskPlan childTaskPlan = it.next(); |
| 381 | - if(childTaskPlan.getMileageType().equals("service")){ | 354 | + if(childTaskPlan.getMileageType().equals("service") && childTaskPlan.getCcId()==null){ |
| 382 | if (!childTaskPlan.isDestroy()) { | 355 | if (!childTaskPlan.isDestroy()) { |
| 383 | Float jhgl=childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); | 356 | Float jhgl=childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); |
| 384 | ljgl=Arith.add(ljgl,jhgl); | 357 | ljgl=Arith.add(ljgl,jhgl); |
| @@ -399,11 +372,13 @@ public class CulateMileageServiceImpl implements CulateMileageService{ | @@ -399,11 +372,13 @@ public class CulateMileageServiceImpl implements CulateMileageService{ | ||
| 399 | Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | 372 | Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); |
| 400 | while (it.hasNext()) { | 373 | while (it.hasNext()) { |
| 401 | ChildTaskPlan childTaskPlan = it.next(); | 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,7 +438,7 @@ public class CulateMileageServiceImpl implements CulateMileageService{ | ||
| 463 | for (int i = 0; i < lists.size(); i++) { | 438 | for (int i = 0; i < lists.size(); i++) { |
| 464 | ScheduleRealInfo scheduleRealInfo=lists.get(i); | 439 | ScheduleRealInfo scheduleRealInfo=lists.get(i); |
| 465 | if (!isInOut(scheduleRealInfo)) { | 440 | if (!isInOut(scheduleRealInfo)) { |
| 466 | - if(!scheduleRealInfo.isSflj()){ | 441 | + if(!scheduleRealInfo.isSflj() && !scheduleRealInfo.isCcService()){ |
| 467 | jhgl=Arith.add(jhgl,scheduleRealInfo.getJhlcOrig()==null?0:scheduleRealInfo.getJhlcOrig()); | 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,7 +479,7 @@ public class CulateMileageServiceImpl implements CulateMileageService{ | ||
| 504 | for (int i = 0; i < lists.size(); i++) { | 479 | for (int i = 0; i < lists.size(); i++) { |
| 505 | ScheduleRealInfo scheduleRealInfo=lists.get(i); | 480 | ScheduleRealInfo scheduleRealInfo=lists.get(i); |
| 506 | if (!isInOut(scheduleRealInfo)) { | 481 | if (!isInOut(scheduleRealInfo)) { |
| 507 | - if(!scheduleRealInfo.isSflj()){ | 482 | + if(!scheduleRealInfo.isSflj() && !scheduleRealInfo.isCcService()){ |
| 508 | String[] fcsjStr = scheduleRealInfo.getFcsj().split(":"); | 483 | String[] fcsjStr = scheduleRealInfo.getFcsj().split(":"); |
| 509 | long fcsj= Long.parseLong(fcsjStr[0])*60+Long.parseLong(fcsjStr[1]); | 484 | long fcsj= Long.parseLong(fcsjStr[0])*60+Long.parseLong(fcsjStr[1]); |
| 510 | if(item.equals("zgf")){ | 485 | if(item.equals("zgf")){ |
| @@ -535,21 +510,23 @@ public class CulateMileageServiceImpl implements CulateMileageService{ | @@ -535,21 +510,23 @@ public class CulateMileageServiceImpl implements CulateMileageService{ | ||
| 535 | Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | 510 | Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); |
| 536 | if(!scheduleRealInfo.isSflj()){ | 511 | if(!scheduleRealInfo.isSflj()){ |
| 537 | if(childTaskPlans.isEmpty()){ | 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 | }else{ | 523 | }else{ |
| 549 | Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | 524 | Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); |
| 550 | while (it.hasNext()) { | 525 | while (it.hasNext()) { |
| 551 | ChildTaskPlan childTaskPlan = it.next(); | 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 | if (!childTaskPlan.isDestroy()) { | 530 | if (!childTaskPlan.isDestroy()) { |
| 554 | Float jhgl=childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); | 531 | Float jhgl=childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); |
| 555 | sjgl=Arith.add(sjgl,jhgl); | 532 | sjgl=Arith.add(sjgl,jhgl); |
| @@ -649,8 +626,7 @@ public class CulateMileageServiceImpl implements CulateMileageService{ | @@ -649,8 +626,7 @@ public class CulateMileageServiceImpl implements CulateMileageService{ | ||
| 649 | for (int i = 0; i < lists.size(); i++) { | 626 | for (int i = 0; i < lists.size(); i++) { |
| 650 | ScheduleRealInfo scheduleRealInfo=lists.get(i); | 627 | ScheduleRealInfo scheduleRealInfo=lists.get(i); |
| 651 | if (!isInOut(scheduleRealInfo)) { | 628 | if (!isInOut(scheduleRealInfo)) { |
| 652 | - Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | ||
| 653 | - if(!scheduleRealInfo.isSflj()){ | 629 | + if(!scheduleRealInfo.isSflj() && !scheduleRealInfo.isCcService()){ |
| 654 | String time=""; | 630 | String time=""; |
| 655 | if(item.equals("zgf") || item.equals("wgf")){ | 631 | if(item.equals("zgf") || item.equals("wgf")){ |
| 656 | if(scheduleRealInfo.getFcsjActual()!=null){ | 632 | if(scheduleRealInfo.getFcsjActual()!=null){ |
| @@ -681,62 +657,6 @@ public class CulateMileageServiceImpl implements CulateMileageService{ | @@ -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,14 +670,13 @@ public class CulateMileageServiceImpl implements CulateMileageService{ | ||
| 750 | double ksgl =0; | 670 | double ksgl =0; |
| 751 | for (int i = 0; i < lists.size(); i++) { | 671 | for (int i = 0; i < lists.size(); i++) { |
| 752 | ScheduleRealInfo scheduleRealInfo=lists.get(i); | 672 | ScheduleRealInfo scheduleRealInfo=lists.get(i); |
| 753 | - if (!(scheduleRealInfo.getBcType().equals("in") | ||
| 754 | - || scheduleRealInfo.getBcType().equals("out"))) { | 673 | + if (!isInOut(scheduleRealInfo)) { |
| 755 | Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | 674 | Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); |
| 756 | if(!childTaskPlans.isEmpty()){ | 675 | if(!childTaskPlans.isEmpty()){ |
| 757 | Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | 676 | Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); |
| 758 | while (it.hasNext()) { | 677 | while (it.hasNext()) { |
| 759 | ChildTaskPlan childTaskPlan = it.next(); | 678 | ChildTaskPlan childTaskPlan = it.next(); |
| 760 | - if(childTaskPlan.getMileageType().equals("empty")){ | 679 | + if(childTaskPlan.getMileageType().equals("empty") && childTaskPlan.getCcId()==null){ |
| 761 | if (!childTaskPlan.isDestroy()) { | 680 | if (!childTaskPlan.isDestroy()) { |
| 762 | Float jhgl=childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); | 681 | Float jhgl=childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); |
| 763 | ksgl=Arith.add(ksgl,jhgl); | 682 | ksgl=Arith.add(ksgl,jhgl); |
| @@ -786,7 +705,7 @@ public class CulateMileageServiceImpl implements CulateMileageService{ | @@ -786,7 +705,7 @@ public class CulateMileageServiceImpl implements CulateMileageService{ | ||
| 786 | Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | 705 | Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); |
| 787 | while (it.hasNext()) { | 706 | while (it.hasNext()) { |
| 788 | ChildTaskPlan childTaskPlan = it.next(); | 707 | ChildTaskPlan childTaskPlan = it.next(); |
| 789 | - if(childTaskPlan.getMileageType().equals("empty")){ | 708 | + if(childTaskPlan.getMileageType().equals("empty") && childTaskPlan.getCcId()==null){ |
| 790 | if (!childTaskPlan.isDestroy()) { | 709 | if (!childTaskPlan.isDestroy()) { |
| 791 | Float jhgl=childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); | 710 | Float jhgl=childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); |
| 792 | jcclc=Arith.add(jcclc,jhgl); | 711 | jcclc=Arith.add(jcclc,jhgl); |
| @@ -907,7 +826,7 @@ public class CulateMileageServiceImpl implements CulateMileageService{ | @@ -907,7 +826,7 @@ public class CulateMileageServiceImpl implements CulateMileageService{ | ||
| 907 | double jcclc =0; | 826 | double jcclc =0; |
| 908 | for (int i = 0; i < lists.size(); i++) { | 827 | for (int i = 0; i < lists.size(); i++) { |
| 909 | ScheduleRealInfo scheduleRealInfo=lists.get(i); | 828 | ScheduleRealInfo scheduleRealInfo=lists.get(i); |
| 910 | - if(!scheduleRealInfo.isSflj()){ | 829 | + if(!scheduleRealInfo.isSflj() && !scheduleRealInfo.isCcService()){ |
| 911 | if (scheduleRealInfo.getBcType().equals("in") | 830 | if (scheduleRealInfo.getBcType().equals("in") |
| 912 | || scheduleRealInfo.getBcType().equals("out")|| scheduleRealInfo.getBcType().equals("ldks")) { | 831 | || scheduleRealInfo.getBcType().equals("out")|| scheduleRealInfo.getBcType().equals("ldks")) { |
| 913 | if(!scheduleRealInfo.isSflj()){ | 832 | if(!scheduleRealInfo.isSflj()){ |
| @@ -946,16 +865,17 @@ public class CulateMileageServiceImpl implements CulateMileageService{ | @@ -946,16 +865,17 @@ public class CulateMileageServiceImpl implements CulateMileageService{ | ||
| 946 | //有子任务 | 865 | //有子任务 |
| 947 | if (cts != null && cts.size() > 0) { | 866 | if (cts != null && cts.size() > 0) { |
| 948 | for(ChildTaskPlan c : cts){ | 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 | else if(isInOut(sch)) | 881 | else if(isInOut(sch)) |
| @@ -984,7 +904,8 @@ public class CulateMileageServiceImpl implements CulateMileageService{ | @@ -984,7 +904,8 @@ public class CulateMileageServiceImpl implements CulateMileageService{ | ||
| 984 | int fzbc=0; | 904 | int fzbc=0; |
| 985 | for (int i = 0; i < lists.size(); i++) { | 905 | for (int i = 0; i < lists.size(); i++) { |
| 986 | ScheduleRealInfo scheduleRealInfo=lists.get(i); | 906 | ScheduleRealInfo scheduleRealInfo=lists.get(i); |
| 987 | - if (scheduleRealInfo.getBcType().equals("venting")) { | 907 | + if (scheduleRealInfo.getBcType().equals("venting") |
| 908 | + || scheduleRealInfo.getBcType().equals("major")) { | ||
| 988 | // if(!scheduleRealInfo.isSflj()){ | 909 | // if(!scheduleRealInfo.isSflj()){ |
| 989 | String[] fcsjStr = scheduleRealInfo.getFcsj().split(":"); | 910 | String[] fcsjStr = scheduleRealInfo.getFcsj().split(":"); |
| 990 | long fcsj= Long.parseLong(fcsjStr[0])*60+Long.parseLong(fcsjStr[1]); | 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,7 +1838,7 @@ public class ReportServiceImpl implements ReportService{ | ||
| 1838 | || scheduleRealInfo.getBcType().equals("ldks"))) { | 1838 | || scheduleRealInfo.getBcType().equals("ldks"))) { |
| 1839 | // Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | 1839 | // Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); |
| 1840 | // if(childTaskPlans.isEmpty()){ | 1840 | // if(childTaskPlans.isEmpty()){ |
| 1841 | - if(scheduleRealInfo.isSflj()){ | 1841 | + if(scheduleRealInfo.isSflj() && !scheduleRealInfo.isCcService()){ |
| 1842 | Map<String, Object> newMap=new HashMap<String,Object>(); | 1842 | Map<String, Object> newMap=new HashMap<String,Object>(); |
| 1843 | newMap.put("lp", scheduleRealInfo.getLpName()); | 1843 | newMap.put("lp", scheduleRealInfo.getLpName()); |
| 1844 | newMap.put("nbbm", scheduleRealInfo.getClZbh()); | 1844 | newMap.put("nbbm", scheduleRealInfo.getClZbh()); |
| @@ -1916,7 +1916,7 @@ public class ReportServiceImpl implements ReportService{ | @@ -1916,7 +1916,7 @@ public class ReportServiceImpl implements ReportService{ | ||
| 1916 | if(cts != null && cts.size() > 0){ | 1916 | if(cts != null && cts.size() > 0){ |
| 1917 | lists.add(s); | 1917 | lists.add(s); |
| 1918 | }else{ | 1918 | }else{ |
| 1919 | - if(s.getZdsjActual()!=null){ | 1919 | + if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ |
| 1920 | lists.add(s); | 1920 | lists.add(s); |
| 1921 | } | 1921 | } |
| 1922 | } | 1922 | } |
| @@ -2534,7 +2534,7 @@ public class ReportServiceImpl implements ReportService{ | @@ -2534,7 +2534,7 @@ public class ReportServiceImpl implements ReportService{ | ||
| 2534 | if(cts != null && cts.size() > 0){ | 2534 | if(cts != null && cts.size() > 0){ |
| 2535 | lists.add(s); | 2535 | lists.add(s); |
| 2536 | }else{ | 2536 | }else{ |
| 2537 | - if(s.getZdsjActual()!=null){ | 2537 | + if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ |
| 2538 | lists.add(s); | 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,7 +42,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 42 | List<ScheduleRealInfo> list = new ArrayList<ScheduleRealInfo>(); | 42 | List<ScheduleRealInfo> list = new ArrayList<ScheduleRealInfo>(); |
| 43 | 43 | ||
| 44 | try { | 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 | if(line.length() != 0) | 47 | if(line.length() != 0) |
| 48 | sql += " and xl_bm = '"+line+"'"; | 48 | sql += " and xl_bm = '"+line+"'"; |
| @@ -54,7 +54,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -54,7 +54,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 54 | @Override | 54 | @Override |
| 55 | public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { | 55 | public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { |
| 56 | ScheduleRealInfo schedule = new ScheduleRealInfo(); | 56 | ScheduleRealInfo schedule = new ScheduleRealInfo(); |
| 57 | - schedule.setScheduleDateStr(rs.getString("schedule_date_Str")); | 57 | + schedule.setScheduleDateStr(rs.getString("schedule_date_str")); |
| 58 | schedule.setRealExecDate(rs.getString("real_exec_date")); | 58 | schedule.setRealExecDate(rs.getString("real_exec_date")); |
| 59 | schedule.setXlName(rs.getString("xl_name")); | 59 | schedule.setXlName(rs.getString("xl_name")); |
| 60 | schedule.setLpName(rs.getString("lp_name")); | 60 | schedule.setLpName(rs.getString("lp_name")); |
| @@ -80,6 +80,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -80,6 +80,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 80 | schedule.setsGh(rs.getString("s_gh")); | 80 | schedule.setsGh(rs.getString("s_gh")); |
| 81 | schedule.setsName(rs.getString("s_name")); | 81 | schedule.setsName(rs.getString("s_name")); |
| 82 | schedule.setSpId(rs.getLong("sp_id")); | 82 | schedule.setSpId(rs.getLong("sp_id")); |
| 83 | + schedule.setCcService(rs.getBoolean("cc_service")); | ||
| 83 | 84 | ||
| 84 | if(schedule.getFcsjActual() != null && schedule.getFcsjActual().trim().length() == 0){ | 85 | if(schedule.getFcsjActual() != null && schedule.getFcsjActual().trim().length() == 0){ |
| 85 | schedule.setFcsjActual(null); | 86 | schedule.setFcsjActual(null); |
| @@ -175,7 +176,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -175,7 +176,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 175 | } | 176 | } |
| 176 | 177 | ||
| 177 | if(map.get("subCompany")!=null){ | 178 | if(map.get("subCompany")!=null){ |
| 178 | - subCompany=map.get("subCompany").toString(); | 179 | + subCompany = map.get("subCompany").toString(); |
| 179 | } | 180 | } |
| 180 | String line = map.get("line").toString(); | 181 | String line = map.get("line").toString(); |
| 181 | String date = map.get("date").toString(); | 182 | String date = map.get("date").toString(); |
| @@ -187,7 +188,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -187,7 +188,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 187 | 188 | ||
| 188 | try { | 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 | if(line.length() != 0){ | 192 | if(line.length() != 0){ |
| 192 | sql += " and xl_bm = '"+line+"'"; | 193 | sql += " and xl_bm = '"+line+"'"; |
| 193 | } | 194 | } |
| @@ -364,7 +365,10 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -364,7 +365,10 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 364 | int jhsb = 0, sjsb = 0, jhmb = 0, sjmb = 0; | 365 | int jhsb = 0, sjsb = 0, jhmb = 0, sjmb = 0; |
| 365 | int jhzgf = 0, sjzgf = 0, jhwgf = 0, sjwgf = 0; | 366 | int jhzgf = 0, sjzgf = 0, jhwgf = 0, sjwgf = 0; |
| 366 | for(ScheduleRealInfo schedule : keyMap.get(key)){ | 367 | for(ScheduleRealInfo schedule : keyMap.get(key)){ |
| 367 | -// schedule.setFcsjAll(schedule.getFcsj()); | 368 | + if(schedule.isCcService()){ |
| 369 | + continue; | ||
| 370 | + } | ||
| 371 | + | ||
| 368 | if(companyName.length() == 0 && schedule.getGsName() != null) | 372 | if(companyName.length() == 0 && schedule.getGsName() != null) |
| 369 | companyName = schedule.getGsName(); | 373 | companyName = schedule.getGsName(); |
| 370 | if(subCompanyName.length() == 0 && schedule.getFgsName() != null) | 374 | if(subCompanyName.length() == 0 && schedule.getFgsName() != null) |
| @@ -547,7 +551,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -547,7 +551,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 547 | } | 551 | } |
| 548 | try { | 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 | if(line.length() != 0){ | 555 | if(line.length() != 0){ |
| 552 | sql += " and xl_bm = '"+line+"'"; | 556 | sql += " and xl_bm = '"+line+"'"; |
| 553 | } | 557 | } |
| @@ -565,7 +569,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -565,7 +569,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 565 | @Override | 569 | @Override |
| 566 | public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { | 570 | public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { |
| 567 | ScheduleRealInfo schedule = new ScheduleRealInfo(); | 571 | ScheduleRealInfo schedule = new ScheduleRealInfo(); |
| 568 | - schedule.setScheduleDateStr(rs.getString("schedule_date_Str")); | 572 | + schedule.setScheduleDateStr(rs.getString("schedule_date_str")); |
| 569 | schedule.setXlName(rs.getString("xl_name")); | 573 | schedule.setXlName(rs.getString("xl_name")); |
| 570 | schedule.setBcType(rs.getString("bc_type")); | 574 | schedule.setBcType(rs.getString("bc_type")); |
| 571 | schedule.setGsName(rs.getString("gs_name")); | 575 | schedule.setGsName(rs.getString("gs_name")); |
| @@ -579,6 +583,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -579,6 +583,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 579 | schedule.setBcsj(rs.getInt("bcsj")); | 583 | schedule.setBcsj(rs.getInt("bcsj")); |
| 580 | schedule.setQdzName(rs.getString("qdz_name")); | 584 | schedule.setQdzName(rs.getString("qdz_name")); |
| 581 | schedule.setSpId(rs.getLong("sp_id")); | 585 | schedule.setSpId(rs.getLong("sp_id")); |
| 586 | + schedule.setCcService(rs.getBoolean("cc_service")); | ||
| 582 | 587 | ||
| 583 | if(schedule.getFcsjActual() != null && schedule.getFcsjActual().trim().length() == 0){ | 588 | if(schedule.getFcsjActual() != null && schedule.getFcsjActual().trim().length() == 0){ |
| 584 | schedule.setFcsjActual(null); | 589 | schedule.setFcsjActual(null); |
| @@ -636,6 +641,9 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -636,6 +641,9 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 636 | 641 | ||
| 637 | //分组计算 同时判断是否所选时刻信息 | 642 | //分组计算 同时判断是否所选时刻信息 |
| 638 | for(ScheduleRealInfo schedule : list){ | 643 | for(ScheduleRealInfo schedule : list){ |
| 644 | + if(schedule.isCcService()){ | ||
| 645 | + continue; | ||
| 646 | + } | ||
| 639 | DO:{ | 647 | DO:{ |
| 640 | if(model.length() != 0){ | 648 | if(model.length() != 0){ |
| 641 | for(Long tt : ttList){ | 649 | for(Long tt : ttList){ |
| @@ -840,7 +848,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -840,7 +848,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 840 | } | 848 | } |
| 841 | try { | 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 | if(line.length() != 0){ | 852 | if(line.length() != 0){ |
| 845 | sql += " and xl_bm = '"+line+"'"; | 853 | sql += " and xl_bm = '"+line+"'"; |
| 846 | } | 854 | } |
| @@ -862,7 +870,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -862,7 +870,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 862 | @Override | 870 | @Override |
| 863 | public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { | 871 | public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { |
| 864 | ScheduleRealInfo schedule = new ScheduleRealInfo(); | 872 | ScheduleRealInfo schedule = new ScheduleRealInfo(); |
| 865 | - schedule.setScheduleDateStr(rs.getString("schedule_date_Str")); | 873 | + schedule.setScheduleDateStr(rs.getString("schedule_date_str")); |
| 866 | schedule.setRealExecDate(rs.getString("real_exec_date")); | 874 | schedule.setRealExecDate(rs.getString("real_exec_date")); |
| 867 | schedule.setXlName(rs.getString("xl_name")); | 875 | schedule.setXlName(rs.getString("xl_name")); |
| 868 | schedule.setBcType(rs.getString("bc_type")); | 876 | schedule.setBcType(rs.getString("bc_type")); |
| @@ -878,6 +886,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -878,6 +886,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 878 | schedule.setBcsj(rs.getInt("bcsj")); | 886 | schedule.setBcsj(rs.getInt("bcsj")); |
| 879 | schedule.setQdzName(rs.getString("qdz_name")); | 887 | schedule.setQdzName(rs.getString("qdz_name")); |
| 880 | schedule.setSpId(rs.getLong("sp_id")); | 888 | schedule.setSpId(rs.getLong("sp_id")); |
| 889 | + schedule.setCcService(rs.getBoolean("cc_service")); | ||
| 881 | 890 | ||
| 882 | if(schedule.getFcsjActual() != null && schedule.getFcsjActual().trim().length() == 0){ | 891 | if(schedule.getFcsjActual() != null && schedule.getFcsjActual().trim().length() == 0){ |
| 883 | schedule.setFcsjActual(null); | 892 | schedule.setFcsjActual(null); |
| @@ -973,6 +982,10 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -973,6 +982,10 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 973 | 982 | ||
| 974 | //按时间段分组 | 983 | //按时间段分组 |
| 975 | for(ScheduleRealInfo schedule : list){ | 984 | for(ScheduleRealInfo schedule : list){ |
| 985 | + if(schedule.isCcService()){ | ||
| 986 | + continue; | ||
| 987 | + } | ||
| 988 | + | ||
| 976 | if(companyName.length()==0&&schedule.getGsName()!=null | 989 | if(companyName.length()==0&&schedule.getGsName()!=null |
| 977 | &&schedule.getGsName().trim().length()!=0){ | 990 | &&schedule.getGsName().trim().length()!=0){ |
| 978 | companyName = schedule.getGsName(); | 991 | companyName = schedule.getGsName(); |
| @@ -1230,9 +1243,9 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -1230,9 +1243,9 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 1230 | date = sdf.format(new Date()); | 1243 | date = sdf.format(new Date()); |
| 1231 | 1244 | ||
| 1232 | try { | 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 | + " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks' and bc_type != 'region'"; | 1249 | + " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks' and bc_type != 'region'"; |
| 1237 | if(line.trim().length() != 0) | 1250 | if(line.trim().length() != 0) |
| 1238 | sql += " and xl_bm = '"+line+"'"; | 1251 | sql += " and xl_bm = '"+line+"'"; |
| @@ -1244,7 +1257,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -1244,7 +1257,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 1244 | @Override | 1257 | @Override |
| 1245 | public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { | 1258 | public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { |
| 1246 | ScheduleRealInfo schedule = new ScheduleRealInfo(); | 1259 | ScheduleRealInfo schedule = new ScheduleRealInfo(); |
| 1247 | - schedule.setScheduleDateStr(rs.getString("schedule_date_Str")); | 1260 | + schedule.setScheduleDateStr(rs.getString("schedule_date_str")); |
| 1248 | schedule.setRealExecDate(rs.getString("real_exec_date")); | 1261 | schedule.setRealExecDate(rs.getString("real_exec_date")); |
| 1249 | schedule.setXlName(rs.getString("xl_name")); | 1262 | schedule.setXlName(rs.getString("xl_name")); |
| 1250 | schedule.setFcsj(rs.getString("fcsj")); | 1263 | schedule.setFcsj(rs.getString("fcsj")); |
| @@ -1257,6 +1270,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -1257,6 +1270,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 1257 | schedule.setStatus(rs.getInt("status")); | 1270 | schedule.setStatus(rs.getInt("status")); |
| 1258 | schedule.setGsName(rs.getString("gs_name")); | 1271 | schedule.setGsName(rs.getString("gs_name")); |
| 1259 | schedule.setFgsName(rs.getString("fgs_name")); | 1272 | schedule.setFgsName(rs.getString("fgs_name")); |
| 1273 | + schedule.setCcService(rs.getBoolean("cc_service")); | ||
| 1260 | 1274 | ||
| 1261 | int startOpt = 0; | 1275 | int startOpt = 0; |
| 1262 | if(rs.getString("start_opt") != null && rs.getString("start_opt").trim().length() != 0){ | 1276 | if(rs.getString("start_opt") != null && rs.getString("start_opt").trim().length() != 0){ |
| @@ -1298,7 +1312,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -1298,7 +1312,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 1298 | String companyName = "", subCompanyName = ""; | 1312 | String companyName = "", subCompanyName = ""; |
| 1299 | 1313 | ||
| 1300 | for(ScheduleRealInfo s : list){ | 1314 | for(ScheduleRealInfo s : list){ |
| 1301 | - if(lineSet.contains(s.getXlName())){ | 1315 | + if(lineSet.contains(s.getXlName()) || s.isCcService()){ |
| 1302 | continue; | 1316 | continue; |
| 1303 | } | 1317 | } |
| 1304 | String xlName = s.getXlName(); | 1318 | String xlName = s.getXlName(); |
| @@ -1456,9 +1470,9 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -1456,9 +1470,9 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 1456 | } | 1470 | } |
| 1457 | 1471 | ||
| 1458 | try { | 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 | + " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks' and bc_type != 'region'"; | 1476 | + " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks' and bc_type != 'region'"; |
| 1463 | if(line.length() != 0) | 1477 | if(line.length() != 0) |
| 1464 | sql += " and xl_bm = '"+line+"'"; | 1478 | sql += " and xl_bm = '"+line+"'"; |
| @@ -1470,7 +1484,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -1470,7 +1484,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 1470 | @Override | 1484 | @Override |
| 1471 | public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { | 1485 | public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { |
| 1472 | ScheduleRealInfo schedule = new ScheduleRealInfo(); | 1486 | ScheduleRealInfo schedule = new ScheduleRealInfo(); |
| 1473 | - schedule.setScheduleDateStr(rs.getString("schedule_date_Str")); | 1487 | + schedule.setScheduleDateStr(rs.getString("schedule_date_str")); |
| 1474 | schedule.setRealExecDate(rs.getString("real_exec_date")); | 1488 | schedule.setRealExecDate(rs.getString("real_exec_date")); |
| 1475 | schedule.setXlName(rs.getString("xl_name")); | 1489 | schedule.setXlName(rs.getString("xl_name")); |
| 1476 | schedule.setFcsj(rs.getString("fcsj")); | 1490 | schedule.setFcsj(rs.getString("fcsj")); |
| @@ -1483,6 +1497,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -1483,6 +1497,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 1483 | schedule.setStatus(rs.getInt("status")); | 1497 | schedule.setStatus(rs.getInt("status")); |
| 1484 | schedule.setGsName(rs.getString("gs_name")); | 1498 | schedule.setGsName(rs.getString("gs_name")); |
| 1485 | schedule.setFgsName(rs.getString("fgs_name")); | 1499 | schedule.setFgsName(rs.getString("fgs_name")); |
| 1500 | + schedule.setCcService(rs.getBoolean("cc_service")); | ||
| 1486 | 1501 | ||
| 1487 | int startOpt = 0; | 1502 | int startOpt = 0; |
| 1488 | if(rs.getString("start_opt") != null && rs.getString("start_opt").trim().length() != 0){ | 1503 | if(rs.getString("start_opt") != null && rs.getString("start_opt").trim().length() != 0){ |
| @@ -1524,7 +1539,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -1524,7 +1539,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 1524 | String companyName = "", subCompanyName = ""; | 1539 | String companyName = "", subCompanyName = ""; |
| 1525 | 1540 | ||
| 1526 | for(ScheduleRealInfo s : list){ | 1541 | for(ScheduleRealInfo s : list){ |
| 1527 | - if(lineSet.contains(s.getXlName())){ | 1542 | + if(lineSet.contains(s.getXlName()) || s.isCcService()){ |
| 1528 | continue; | 1543 | continue; |
| 1529 | } | 1544 | } |
| 1530 | String xlName = s.getXlName(); | 1545 | String xlName = s.getXlName(); |
| @@ -1716,7 +1731,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -1716,7 +1731,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 1716 | 1731 | ||
| 1717 | String sql = | 1732 | String sql = |
| 1718 | "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 " + | 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 | if(line.length() != 0){ | 1735 | if(line.length() != 0){ |
| 1721 | sql += " and xl_bm = '"+line+"'"; | 1736 | sql += " and xl_bm = '"+line+"'"; |
| 1722 | } | 1737 | } |
| @@ -1728,7 +1743,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -1728,7 +1743,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 1728 | } | 1743 | } |
| 1729 | sql += " union " + | 1744 | sql += " union " + |
| 1730 | "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 " + | 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 | if(line.length() != 0){ | 1747 | if(line.length() != 0){ |
| 1733 | sql += " and xl_bm = '"+line+"'"; | 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,10 +522,16 @@ var SKBFormWizard = function() { | ||
| 522 | 'dgmaxtzsj' : {required : true,number : true}, // 低谷最大停站时间,必填项、必须为整数. | 522 | 'dgmaxtzsj' : {required : true,number : true}, // 低谷最大停站时间,必填项、必须为整数. |
| 523 | 523 | ||
| 524 | // 发车间隙分析用参数 | 524 | // 发车间隙分析用参数 |
| 525 | - 'fcjx': {required: true}, // 时段发车间隙,TODO:貌似没发启用form验证 | 525 | + //'fcjx': {required: true}, // 时段发车间隙,TODO:貌似没发启用form验证 |
| 526 | 'stt': {required: true}, // 停站类型,TODO:貌似没发启用form验证 | 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 | 'gfjypcs': {required : true,number : true,digits: true}, // 高峰建议配车数 | 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,7 +940,7 @@ var SKBFormWizard = function() { | ||
| 934 | }); | 940 | }); |
| 935 | 941 | ||
| 936 | // 发车间隙选择控件 | 942 | // 发车间隙选择控件 |
| 937 | - ComponentsBootstrapTagsinput.init_fcjx(); | 943 | + //ComponentsBootstrapTagsinput.init_fcjx(); |
| 938 | // 停站类型选择控件 | 944 | // 停站类型选择控件 |
| 939 | ComponentsBootstrapTagsinput.init_stoptype(); | 945 | ComponentsBootstrapTagsinput.init_stoptype(); |
| 940 | 946 |
src/main/resources/static/pages/base/timesmodel/js/gantt.js
| @@ -50,7 +50,7 @@ | @@ -50,7 +50,7 @@ | ||
| 50 | var CSMap = null,data = null; | 50 | var CSMap = null,data = null; |
| 51 | 51 | ||
| 52 | // 创建ParameterObj | 52 | // 创建ParameterObj |
| 53 | - var _paramObj = StrategyUtils.getFactory().createParameterObj(map, dataMap); | 53 | + var _paramObj; |
| 54 | 54 | ||
| 55 | if(map.baseRes== '0') { | 55 | if(map.baseRes== '0') { |
| 56 | CSMap = getMaxCarAndStopSpace0(map,seMap); | 56 | CSMap = getMaxCarAndStopSpace0(map,seMap); |
| @@ -62,6 +62,8 @@ | @@ -62,6 +62,8 @@ | ||
| 62 | map.fcjx = CSMap.fcjx; | 62 | map.fcjx = CSMap.fcjx; |
| 63 | }else if (map.baseRes == '2') { | 63 | }else if (map.baseRes == '2') { |
| 64 | // TODO:之后可能有新的参数加入 | 64 | // TODO:之后可能有新的参数加入 |
| 65 | + _paramObj = StrategyUtils.getFactory().createParameterObj(map, dataMap); | ||
| 66 | + | ||
| 65 | map.clzs = StrategyUtils.calcuClzx(_paramObj); | 67 | map.clzs = StrategyUtils.calcuClzx(_paramObj); |
| 66 | CSMap = getMaxCarAndStopSpace1(map); | 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,7 +105,6 @@ var ParameterObj = function(formMap, dataMap) { | ||
| 105 | 105 | ||
| 106 | // 计算各个时段的发车间隙 | 106 | // 计算各个时段的发车间隙 |
| 107 | var _fcjxIntervalObj_fun = function() { | 107 | var _fcjxIntervalObj_fun = function() { |
| 108 | - var _fcjxes = _formMap.fcjx.split(","); | ||
| 109 | var _rtn = { | 108 | var _rtn = { |
| 110 | mpeakfcjx : {}, // 早高峰 | 109 | mpeakfcjx : {}, // 早高峰 |
| 111 | epeakfcjx : {}, // 晚高峰 | 110 | epeakfcjx : {}, // 晚高峰 |
| @@ -114,32 +113,34 @@ var ParameterObj = function(formMap, dataMap) { | @@ -114,32 +113,34 @@ var ParameterObj = function(formMap, dataMap) { | ||
| 114 | var _fcjx = []; | 113 | var _fcjx = []; |
| 115 | var i = 0; | 114 | var i = 0; |
| 116 | 115 | ||
| 117 | - // TODO:这里按照顺序判定发车间隔 | 116 | + // TODO:这里只有3个间隔,以后加其他的 |
| 118 | // 1、早高峰间隙 | 117 | // 1、早高峰间隙 |
| 119 | // 2、晚高峰间隙 | 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 | return _rtn; | 145 | return _rtn; |
| 145 | }; | 146 | }; |
| @@ -502,7 +503,7 @@ var ParameterObj = function(formMap, dataMap) { | @@ -502,7 +503,7 @@ var ParameterObj = function(formMap, dataMap) { | ||
| 502 | * @returns {Number|*} | 503 | * @returns {Number|*} |
| 503 | */ | 504 | */ |
| 504 | getJBLpes: function() { | 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,44 +144,55 @@ | ||
| 144 | </div> | 144 | </div> |
| 145 | 145 | ||
| 146 | <div class="form-group"> | 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 | </div> | 157 | </div> |
| 182 | </div> | 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 | <div class="col-md-6"> | 196 | <div class="col-md-6"> |
| 186 | <label class="control-label col-md-5"><span class="required"> * </span>停站类型 :</label> | 197 | <label class="control-label col-md-5"><span class="required"> * </span>停站类型 :</label> |
| 187 | <div class="col-md-5 tagsDiv"> | 198 | <div class="col-md-5 tagsDiv"> |
| @@ -218,25 +229,14 @@ | @@ -218,25 +229,14 @@ | ||
| 218 | 229 | ||
| 219 | </div> | 230 | </div> |
| 220 | 231 | ||
| 221 | - </div> | ||
| 222 | - | ||
| 223 | - <div class="form-group"> | ||
| 224 | <div class="col-md-6"> | 232 | <div class="col-md-6"> |
| 225 | <label class="control-label col-md-5"> | 233 | <label class="control-label col-md-5"> |
| 226 | - <span class="required"> * </span> 高峰建议配车数 :</label> | 234 | + <span class="required"> * </span> 高峰建议配车数 :</label> |
| 227 | <div class="col-md-5"> | 235 | <div class="col-md-5"> |
| 228 | <input type="text" class="form-control" placeholder="车辆数" name="gfjypcs" id="gfjypcsInput" min="1"> | 236 | <input type="text" class="form-control" placeholder="车辆数" name="gfjypcs" id="gfjypcsInput" min="1"> |
| 229 | </div> | 237 | </div> |
| 230 | </div> | 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 | </div> | 240 | </div> |
| 241 | 241 | ||
| 242 | <!-- 隐藏字段-时间 --> | 242 | <!-- 隐藏字段-时间 --> |
| @@ -412,38 +412,76 @@ | @@ -412,38 +412,76 @@ | ||
| 412 | 412 | ||
| 413 | <div class="form-group"> | 413 | <div class="form-group"> |
| 414 | <div class="col-md-6"> | 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 | <div class="col-md-4"> | 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 | </div> | 418 | </div> |
| 421 | </div> | 419 | </div> |
| 422 | <div class="col-md-6"> | 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 | <div class="col-md-4"> | 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 | </div> | 424 | </div> |
| 429 | </div> | 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 | </div> | 441 | </div> |
| 432 | 442 | ||
| 433 | <div class="form-group"> | 443 | <div class="form-group"> |
| 434 | <div class="col-md-6"> | 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 | <div class="col-md-4"> | 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 | </div> | 454 | </div> |
| 439 | </div> | 455 | </div> |
| 456 | + </div> | ||
| 457 | + | ||
| 458 | + <div class="form-group"> | ||
| 440 | <div class="col-md-6"> | 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 | <div class="col-md-4"> | 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 | </div> | 465 | </div> |
| 445 | </div> | 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 | </div> | 485 | </div> |
| 448 | 486 | ||
| 449 | </script> | 487 | </script> |
| 450 | \ No newline at end of file | 488 | \ No newline at end of file |
src/main/resources/static/pages/forms/statement/jobSummary.html
| @@ -273,7 +273,13 @@ | @@ -273,7 +273,13 @@ | ||
| 273 | }) | 273 | }) |
| 274 | 274 | ||
| 275 | $get('/report/jobHzxx',{line:line,date:date},function(result){ | 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 | var list_xxsj=template('list_xxsj',result); | 283 | var list_xxsj=template('list_xxsj',result); |
| 278 | $('#forms .list_xxsj').html(list_xxsj); | 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 | \ No newline at end of file | 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 | \ No newline at end of file | 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 | \ No newline at end of file | 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 | \ No newline at end of file | 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,24 +18,30 @@ | ||
| 18 | <div class="data_table_wrap head"> | 18 | <div class="data_table_wrap head"> |
| 19 | <table cellspacing="1" class="data_table"> | 19 | <table cellspacing="1" class="data_table"> |
| 20 | <col /> | 20 | <col /> |
| 21 | - <col width="14%"/> | ||
| 22 | - <col width="4%"/> | ||
| 23 | - <col width="6%"/> | ||
| 24 | - <col width="6%"/> | ||
| 25 | - <col width="6%"/> | ||
| 26 | <col width="5%"/> | 21 | <col width="5%"/> |
| 27 | <col width="5%"/> | 22 | <col width="5%"/> |
| 28 | <col width="5%"/> | 23 | <col width="5%"/> |
| 24 | + <col width="13%"/> | ||
| 25 | + <col width="4%"/> | ||
| 29 | <col width="5%"/> | 26 | <col width="5%"/> |
| 30 | - <col width="6%"/> | ||
| 31 | - <col width="6%"/> | ||
| 32 | - <col width="6%"/> | ||
| 33 | <col width="5%"/> | 27 | <col width="5%"/> |
| 34 | <col width="5%"/> | 28 | <col width="5%"/> |
| 29 | + <col width="4%"/> | ||
| 30 | + <col width="4%"/> | ||
| 31 | + <col width="4%"/> | ||
| 32 | + <col width="4%"/> | ||
| 35 | <col width="5%"/> | 33 | <col width="5%"/> |
| 36 | <col width="5%"/> | 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 | <tr> | 40 | <tr> |
| 38 | <td rowspan="3">序号</td> | 41 | <td rowspan="3">序号</td> |
| 42 | + <td rowspan="3">路牌</td> | ||
| 43 | + <td rowspan="3">车辆</td> | ||
| 44 | + <td rowspan="3">人员</td> | ||
| 39 | <td rowspan="3">发车站点</td> | 45 | <td rowspan="3">发车站点</td> |
| 40 | <td rowspan="3">方向</td> | 46 | <td rowspan="3">方向</td> |
| 41 | <td colspan="7">发车时间</td> | 47 | <td colspan="7">发车时间</td> |
| @@ -70,25 +76,31 @@ | @@ -70,25 +76,31 @@ | ||
| 70 | <div class="data_table_wrap data" id="table_{{k}}"> | 76 | <div class="data_table_wrap data" id="table_{{k}}"> |
| 71 | <table cellspacing="1" class="data_table"> | 77 | <table cellspacing="1" class="data_table"> |
| 72 | <col /> | 78 | <col /> |
| 73 | - <col width="14%"/> | ||
| 74 | - <col width="4%"/> | ||
| 75 | - <col width="6%"/> | ||
| 76 | - <col width="6%"/> | ||
| 77 | - <col width="6%"/> | ||
| 78 | <col width="5%"/> | 79 | <col width="5%"/> |
| 79 | <col width="5%"/> | 80 | <col width="5%"/> |
| 80 | <col width="5%"/> | 81 | <col width="5%"/> |
| 82 | + <col width="13%"/> | ||
| 83 | + <col width="4%"/> | ||
| 81 | <col width="5%"/> | 84 | <col width="5%"/> |
| 82 | - <col width="6%"/> | ||
| 83 | - <col width="6%"/> | ||
| 84 | - <col width="6%"/> | ||
| 85 | <col width="5%"/> | 85 | <col width="5%"/> |
| 86 | <col width="5%"/> | 86 | <col width="5%"/> |
| 87 | + <col width="4%"/> | ||
| 88 | + <col width="4%"/> | ||
| 89 | + <col width="4%"/> | ||
| 90 | + <col width="4%"/> | ||
| 87 | <col width="5%"/> | 91 | <col width="5%"/> |
| 88 | <col width="5%"/> | 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 | {{each listMap[k] as obj i}} | 98 | {{each listMap[k] as obj i}} |
| 90 | <tr> | 99 | <tr> |
| 91 | <td>{{i+1}}</td> | 100 | <td>{{i+1}}</td> |
| 101 | + <td>{{obj.lpName}}</td> | ||
| 102 | + <td>{{obj.nbbm}}</td> | ||
| 103 | + <td>{{obj.jsy}}</td> | ||
| 92 | <td>{{obj.stationName}}</td> | 104 | <td>{{obj.stationName}}</td> |
| 93 | <td class="cell_dir_{{obj.upDown}}">{{obj.upDown==0?"上行":"下行"}}</td> | 105 | <td class="cell_dir_{{obj.upDown}}">{{obj.upDown==0?"上行":"下行"}}</td> |
| 94 | <td>{{obj.fcsj}}</td> | 106 | <td>{{obj.fcsj}}</td> |
| @@ -108,21 +120,21 @@ | @@ -108,21 +120,21 @@ | ||
| 108 | </tr> | 120 | </tr> |
| 109 | {{/each}} | 121 | {{/each}} |
| 110 | <tr> | 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 | </tr> | 126 | </tr> |
| 115 | <tr> | 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 | </tr> | 130 | </tr> |
| 119 | <tr> | 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 | </tr> | 134 | </tr> |
| 123 | <tr> | 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 | </tr> | 138 | </tr> |
| 127 | </table> | 139 | </table> |
| 128 | </div> | 140 | </div> |
src/main/resources/static/pages/summary/fast_and_slow/main.html
| @@ -91,19 +91,20 @@ | @@ -91,19 +91,20 @@ | ||
| 91 | } | 91 | } |
| 92 | 92 | ||
| 93 | .ct_rq_left{ | 93 | .ct_rq_left{ |
| 94 | - width: 200px; | 94 | + width: 130px; |
| 95 | display: inline-block; | 95 | display: inline-block; |
| 96 | vertical-align: top; | 96 | vertical-align: top; |
| 97 | height: calc(100% - 184px); | 97 | height: calc(100% - 184px); |
| 98 | position: fixed; | 98 | position: fixed; |
| 99 | left: 25px; | 99 | left: 25px; |
| 100 | + padding: 40px 15px; | ||
| 100 | } | 101 | } |
| 101 | 102 | ||
| 102 | .ct_right_tables{ | 103 | .ct_right_tables{ |
| 103 | - width: calc(100% - 220px); | 104 | + width: calc(100% - 160px); |
| 104 | display: inline-block; | 105 | display: inline-block; |
| 105 | - margin-left: 232px; | ||
| 106 | - padding: 25px; | 106 | + margin-left: 152px; |
| 107 | + padding: 25px 0; | ||
| 107 | margin-bottom: 18px; | 108 | margin-bottom: 18px; |
| 108 | } | 109 | } |
| 109 | 110 | ||
| @@ -117,7 +118,7 @@ | @@ -117,7 +118,7 @@ | ||
| 117 | width: 15px; | 118 | width: 15px; |
| 118 | border-top: 1px solid #1e87f0; | 119 | border-top: 1px solid #1e87f0; |
| 119 | z-index: 9; | 120 | z-index: 9; |
| 120 | - right: 60px; | 121 | + right: 40px; |
| 121 | top: 15px; | 122 | top: 15px; |
| 122 | } | 123 | } |
| 123 | .uk-nav-default>li.uk-active>a { | 124 | .uk-nav-default>li.uk-active>a { |
| @@ -126,7 +127,7 @@ | @@ -126,7 +127,7 @@ | ||
| 126 | } | 127 | } |
| 127 | 128 | ||
| 128 | .data_table_wrap{ | 129 | .data_table_wrap{ |
| 129 | - min-width: 1170px; | 130 | + min-width: 1070px; |
| 130 | } | 131 | } |
| 131 | 132 | ||
| 132 | .ct_right_tables table{ | 133 | .ct_right_tables table{ |
| @@ -156,7 +157,7 @@ | @@ -156,7 +157,7 @@ | ||
| 156 | 157 | ||
| 157 | .data_table_wrap.head{ | 158 | .data_table_wrap.head{ |
| 158 | position: fixed; | 159 | position: fixed; |
| 159 | - width: calc(100% - 300px); | 160 | + width: calc(100% - 190px); |
| 160 | top: 155px; | 161 | top: 155px; |
| 161 | padding-top: 25px; | 162 | padding-top: 25px; |
| 162 | background: #fff; | 163 | background: #fff; |
src/main/resources/static/real_control_v2/fragments/north/nav/history_sch/editor.html
| @@ -186,9 +186,9 @@ | @@ -186,9 +186,9 @@ | ||
| 186 | <a class="uk-button uk-button-success"><i class="uk-icon-pencil-square-o"></i> 添加子任务 <i class="uk-icon-caret-down"></i></a> | 186 | <a class="uk-button uk-button-success"><i class="uk-icon-pencil-square-o"></i> 添加子任务 <i class="uk-icon-caret-down"></i></a> |
| 187 | <div class="uk-dropdown" style="text-align: left;"> | 187 | <div class="uk-dropdown" style="text-align: left;"> |
| 188 | <ul class="uk-nav uk-nav-dropdown child_task_list"> | 188 | <ul class="uk-nav uk-nav-dropdown child_task_list"> |
| 189 | - <li data-method="add_oil"><a>空驶进出场</a></li> | 189 | + <!--<li data-method="add_oil"><a>空驶进出场</a></li> |
| 190 | <li data-method="in_park"><a>进场</a></li> | 190 | <li data-method="in_park"><a>进场</a></li> |
| 191 | - <li data-method="out_park"><a>出场</a></li> | 191 | + <li data-method="out_park"><a>出场</a></li>--> |
| 192 | <li data-method="other"><a>自定义</a></li> | 192 | <li data-method="other"><a>自定义</a></li> |
| 193 | </ul> | 193 | </ul> |
| 194 | </div> | 194 | </div> |
src/main/resources/static/real_control_v2/fragments/north/nav/history_sch_maintain.html
| @@ -126,20 +126,6 @@ | @@ -126,20 +126,6 @@ | ||
| 126 | $.each(rs, function (i) { | 126 | $.each(rs, function (i) { |
| 127 | tsStr += '<li ' + (i == 0 ? 'class="uk-active"' : '') + '><a>' + this + '</a></li>'; | 127 | tsStr += '<li ' + (i == 0 ? 'class="uk-active"' : '') + '><a>' + this + '</a></li>'; |
| 128 | }); | 128 | }); |
| 129 | - //临时放开闵行39路的日期权限 | ||
| 130 | - /*if(gb_data_basic.line_idx=='100001'){ | ||
| 131 | - var st = moment('2017-08-29', 'YYYY-MM-DD'); | ||
| 132 | - var et = moment().format('YYYY-MM-DD'); | ||
| 133 | - tsStr = ''; | ||
| 134 | - while(true){ | ||
| 135 | - var rq = st.format('YYYY-MM-DD'); | ||
| 136 | - tsStr += '<li ' + (rq == et ? 'class="uk-active"' : '') + '><a>' + rq + '</a></li>'; | ||
| 137 | - st.add(1, 'days'); | ||
| 138 | - | ||
| 139 | - if(rq == et) | ||
| 140 | - break; | ||
| 141 | - } | ||
| 142 | - }*/ | ||
| 143 | 129 | ||
| 144 | $('.h-s-time', modal).html(tsStr); | 130 | $('.h-s-time', modal).html(tsStr); |
| 145 | 131 |
src/main/resources/static/real_control_v2/js/north/toolbar.js
| @@ -126,7 +126,7 @@ var gb_northToolbar = (function () { | @@ -126,7 +126,7 @@ var gb_northToolbar = (function () { | ||
| 126 | open_modal('/real_control_v2/fragments/north/nav/cache_data/list.html', {}, modal_opts); | 126 | open_modal('/real_control_v2/fragments/north/nav/cache_data/list.html', {}, modal_opts); |
| 127 | }, | 127 | }, |
| 128 | form_waybill: function () { | 128 | form_waybill: function () { |
| 129 | - gb_embed_form_hanlde.open_modal_form_fragment('/pages/forms/statement/waybill.html', '行车路单'); | 129 | + gb_embed_form_hanlde.open_modal_form_fragment('/pages/forms/statement/<dd>上行</dd>', '行车路单'); |
| 130 | }, | 130 | }, |
| 131 | form_waybillQp: function () { | 131 | form_waybillQp: function () { |
| 132 | gb_embed_form_hanlde.open_modal_form_fragment('/pages/forms/statement/waybillQp.html', '行车路单'); | 132 | gb_embed_form_hanlde.open_modal_form_fragment('/pages/forms/statement/waybillQp.html', '行车路单'); |