Commit 8dfecfaef9ebf31bd313fc8f10c1ea70f4697875
Merge branch 'pudong' of http://222.66.0.204:8090/panzhaov5/bsth_control
into pudong
Showing
28 changed files
with
143 additions
and
58 deletions
src/main/java/com/bsth/controller/realcontrol/anomalyCheckController.java renamed to src/main/java/com/bsth/controller/realcontrol/AdminUtilsController.java
| 1 | 1 | package com.bsth.controller.realcontrol; |
| 2 | 2 | |
| 3 | +import com.bsth.data.directive.DayOfDirectives; | |
| 3 | 4 | import com.bsth.data.gpsdata_v2.cache.GeoCacheData; |
| 4 | 5 | import com.bsth.data.gpsdata_v2.thread.GpsDataLoaderThread; |
| 5 | 6 | import com.bsth.data.msg_queue.DirectivePushQueue; |
| 6 | 7 | import com.bsth.data.msg_queue.WebSocketPushQueue; |
| 7 | 8 | import com.bsth.data.schedule.DayOfSchedule; |
| 8 | 9 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 10 | +import com.bsth.websocket.handler.SendUtils; | |
| 9 | 11 | import org.slf4j.Logger; |
| 10 | 12 | import org.slf4j.LoggerFactory; |
| 11 | 13 | import org.springframework.beans.factory.annotation.Autowired; |
| 12 | 14 | import org.springframework.web.bind.annotation.RequestMapping; |
| 13 | -import org.springframework.web.bind.annotation.RequestMethod; | |
| 14 | 15 | import org.springframework.web.bind.annotation.RequestParam; |
| 15 | 16 | import org.springframework.web.bind.annotation.RestController; |
| 16 | 17 | |
| ... | ... | @@ -22,8 +23,8 @@ import java.util.Map; |
| 22 | 23 | * Created by panzhao on 2017/4/14. |
| 23 | 24 | */ |
| 24 | 25 | @RestController |
| 25 | -@RequestMapping("anomalyCheck") | |
| 26 | -public class anomalyCheckController { | |
| 26 | +@RequestMapping("adminUtils") | |
| 27 | +public class AdminUtilsController { | |
| 27 | 28 | |
| 28 | 29 | |
| 29 | 30 | Logger logger = LoggerFactory.getLogger(this.getClass()); |
| ... | ... | @@ -34,10 +35,16 @@ public class anomalyCheckController { |
| 34 | 35 | @Autowired |
| 35 | 36 | GeoCacheData geoCacheData; |
| 36 | 37 | |
| 38 | + @Autowired | |
| 39 | + DayOfDirectives dayOfDirectives; | |
| 40 | + | |
| 41 | + @Autowired | |
| 42 | + SendUtils sendUtils; | |
| 43 | + | |
| 37 | 44 | /** |
| 38 | 45 | * 出现重复班次的车辆 |
| 39 | - * @param nbbm | |
| 40 | - */ | |
| 46 | + * @param | |
| 47 | + | |
| 41 | 48 | @RequestMapping(value = "/schRepeat", method = RequestMethod.POST) |
| 42 | 49 | public void schRepeat(@RequestParam String nbbm){ |
| 43 | 50 | logger.info("前端通知,车辆 " + nbbm + "出现重复班次,开始检测..."); |
| ... | ... | @@ -56,22 +63,22 @@ public class anomalyCheckController { |
| 56 | 63 | if(map.values().size() > 0){ |
| 57 | 64 | dayOfSchedule.replaceByNbbm(nbbm, map.values()); |
| 58 | 65 | } |
| 59 | - } | |
| 66 | + }*/ | |
| 60 | 67 | |
| 61 | - @RequestMapping(value = "/directivePushQueue") | |
| 68 | +/* @RequestMapping(value = "/directivePushQueue") | |
| 62 | 69 | public void directivePushQueue(){ |
| 63 | 70 | DirectivePushQueue.start(); |
| 64 | - } | |
| 71 | + }*/ | |
| 65 | 72 | |
| 66 | 73 | @RequestMapping(value = "/directiveQueueSize") |
| 67 | 74 | public void directiveQueueSize(){ |
| 68 | 75 | DirectivePushQueue.size(); |
| 69 | 76 | } |
| 70 | 77 | |
| 71 | - @RequestMapping(value = "/webSocketPushQueue") | |
| 78 | + /*@RequestMapping(value = "/webSocketPushQueue") | |
| 72 | 79 | public void webSocketPushQueue(){ |
| 73 | 80 | WebSocketPushQueue.start(); |
| 74 | - } | |
| 81 | + }*/ | |
| 75 | 82 | |
| 76 | 83 | @RequestMapping(value = "/webSocketQueueSize") |
| 77 | 84 | public void webSocketQueueSize(){ |
| ... | ... | @@ -120,4 +127,21 @@ public class anomalyCheckController { |
| 120 | 127 | public String schSizeString(){ |
| 121 | 128 | return dayOfSchedule.sizeString(); |
| 122 | 129 | } |
| 130 | + | |
| 131 | + @RequestMapping(value = "/containerSize") | |
| 132 | + public Map<String, Integer> containerSize(){ | |
| 133 | + Map<String, Integer> rs = new HashMap<>(); | |
| 134 | + rs.put("60_size", dayOfDirectives.all60().size()); | |
| 135 | + rs.put("nbbm_sch_size", dayOfSchedule.findAll().size()); | |
| 136 | + rs.put("lp_sch_size", dayOfSchedule.findAllByLpContainer().size()); | |
| 137 | + rs.put("id_sch_size", dayOfSchedule.findAllByIdContainer().size()); | |
| 138 | + rs.put("pst_sch_size", dayOfSchedule.getPstSize()); | |
| 139 | + return rs; | |
| 140 | + } | |
| 141 | + | |
| 142 | + @RequestMapping(value = "/websocketRadioText") | |
| 143 | + public int radioText(String t, String lineCode){ | |
| 144 | + sendUtils.sendRadioText(t, lineCode); | |
| 145 | + return 0; | |
| 146 | + } | |
| 123 | 147 | } | ... | ... |
src/main/java/com/bsth/data/directive/GatewayHttpUtils.java
| ... | ... | @@ -48,9 +48,9 @@ public class GatewayHttpUtils { |
| 48 | 48 | |
| 49 | 49 | int statusCode = response.getStatusLine().getStatusCode(); |
| 50 | 50 | if(statusCode != 200){ |
| 51 | - post.abort(); | |
| 51 | + //post.abort(); | |
| 52 | 52 | logger.error("http client status code: " + statusCode); |
| 53 | - return code; | |
| 53 | + //return code; | |
| 54 | 54 | } |
| 55 | 55 | |
| 56 | 56 | JSONObject json = JSONObject.parseObject(EntityUtils.toString(response.getEntity())); | ... | ... |
src/main/java/com/bsth/data/gpsdata_v2/handlers/OutStationProcess.java
| ... | ... | @@ -39,7 +39,7 @@ public class OutStationProcess { |
| 39 | 39 | |
| 40 | 40 | @Autowired |
| 41 | 41 | GpsStatusManager gpsStatusManager; |
| 42 | - private final static int MAX_BEFORE_TIME = 1000 * 60 * 120; | |
| 42 | + private final static int MAX_BEFORE_TIME = 1000 * 60 * 60 * 3; | |
| 43 | 43 | |
| 44 | 44 | public void process(GpsEntity gps) { |
| 45 | 45 | //自动执行的线路,滚蛋 |
| ... | ... | @@ -86,8 +86,8 @@ public class OutStationProcess { |
| 86 | 86 | } |
| 87 | 87 | |
| 88 | 88 | int diff = (int) (sch.getDfsjT() - gps.getTimestamp()); |
| 89 | - //首班出场最多提前2小时 | |
| 90 | - if ((dayOfSchedule.isFirstOut(sch) && diff > MAX_BEFORE_TIME) || diff > MAX_BEFORE_TIME / 2) | |
| 89 | + //首班出场最多提前3小时 | |
| 90 | + if (dayOfSchedule.isFirstOut(sch) && diff > MAX_BEFORE_TIME) | |
| 91 | 91 | return; |
| 92 | 92 | |
| 93 | 93 | gps.setPremiseCode(null);//清除前置围栏标记 | ... | ... |
src/main/java/com/bsth/data/gpsdata_v2/utils/GpsDataRecovery.java
| ... | ... | @@ -84,7 +84,7 @@ public class GpsDataRecovery implements ApplicationContextAware { |
| 84 | 84 | Calendar calendar = Calendar.getInstance(); |
| 85 | 85 | int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR); |
| 86 | 86 | |
| 87 | - String sql = "select DEVICE_ID,LAT,LON,TS,SPEED_GPS,LINE_ID,SERVICE_STATE,SERVER_TS from bsth_c_gps_info where days_year=346"; //+ dayOfYear; | |
| 87 | + String sql = "select DEVICE_ID,LAT,LON,TS,SPEED_GPS,LINE_ID,SERVICE_STATE,SERVER_TS from bsth_c_gps_info where days_year=39"; //+ dayOfYear; | |
| 88 | 88 | JdbcTemplate jdbcTemplate = new JdbcTemplate(DBUtils_MS.getDataSource()); |
| 89 | 89 | |
| 90 | 90 | List<GpsEntity> list = |
| ... | ... | @@ -102,6 +102,7 @@ public class GpsDataRecovery implements ApplicationContextAware { |
| 102 | 102 | gps.setTimestamp(rs.getLong("TS")); |
| 103 | 103 | gps.setUpDown((byte) getUpOrDown(rs.getLong("SERVICE_STATE"))); |
| 104 | 104 | gps.setServerTimestamp(rs.getLong("SERVER_TS")); |
| 105 | + gps.setState((int) getService(rs.getLong("SERVICE_STATE"))); | |
| 105 | 106 | return gps; |
| 106 | 107 | } |
| 107 | 108 | }); |
| ... | ... | @@ -109,6 +110,17 @@ public class GpsDataRecovery implements ApplicationContextAware { |
| 109 | 110 | } |
| 110 | 111 | |
| 111 | 112 | /** |
| 113 | + * 获取运营状态 | |
| 114 | + * | |
| 115 | + * @return -1无效 0运营 1未运营 | |
| 116 | + */ | |
| 117 | + public static byte getService(long serviceState) { | |
| 118 | + if ((serviceState & 0x00020000) == 0x00020000 || (serviceState & 0x80000000) == 0x80000000) | |
| 119 | + return -1; | |
| 120 | + return (byte) (((serviceState & 0x02000000) == 0x02000000) ? 1 : 0); | |
| 121 | + } | |
| 122 | + | |
| 123 | + /** | |
| 112 | 124 | * 王通 2016/6/29 9:23:24 获取车辆线路上下行 |
| 113 | 125 | * |
| 114 | 126 | * @return -1无效 0上行 1下行 | ... | ... |
src/main/java/com/bsth/data/schedule/DayOfSchedule.java
| ... | ... | @@ -861,6 +861,18 @@ public class DayOfSchedule { |
| 861 | 861 | return nbbmScheduleMap.values(); |
| 862 | 862 | } |
| 863 | 863 | |
| 864 | + public Collection<ScheduleRealInfo> findAllByLpContainer() { | |
| 865 | + return lpScheduleMap.values(); | |
| 866 | + } | |
| 867 | + | |
| 868 | + public Collection<ScheduleRealInfo> findAllByIdContainer() { | |
| 869 | + return id2SchedulMap.values(); | |
| 870 | + } | |
| 871 | + | |
| 872 | + public int getPstSize() { | |
| 873 | + return pstBuffer.size(); | |
| 874 | + } | |
| 875 | + | |
| 864 | 876 | public boolean addExecPlan(ScheduleRealInfo sch) { |
| 865 | 877 | ScheduleRealInfo oldExec = executeCurr(sch.getClZbh()); |
| 866 | 878 | if (sch != null){ | ... | ... |
src/main/java/com/bsth/service/gps/GpsServiceImpl.java
| ... | ... | @@ -231,16 +231,10 @@ public class GpsServiceImpl implements GpsService { |
| 231 | 231 | Map<String, Object> map = null; |
| 232 | 232 | for(Map<String, Object> rs : dataList){ |
| 233 | 233 | serviceState = map_get_long(rs, "SERVICE_STATE"); |
| 234 | - | |
| 235 | - if(getGpsValid(serviceState) == 1) | |
| 236 | - continue; | |
| 237 | - | |
| 238 | - map = new HashMap<>(); | |
| 239 | 234 | if(getGpsValid(serviceState) == 1) |
| 240 | 235 | continue; |
| 241 | 236 | |
| 242 | 237 | map = new HashMap<>(); |
| 243 | - | |
| 244 | 238 | lon = map_get_float(rs, "LON"); |
| 245 | 239 | lat = map_get_float(rs, "LAT"); |
| 246 | 240 | // 高德坐标 |
| ... | ... | @@ -273,7 +267,7 @@ public class GpsServiceImpl implements GpsService { |
| 273 | 267 | map.put("inout_stop", arrival.getInOut()); |
| 274 | 268 | } |
| 275 | 269 | |
| 276 | - map.put("nbbm", BasicData.deviceId2NbbmMap.get(map_get_str(rs,"DEVICE_ID"))); | |
| 270 | + //map.put("nbbm", nbbm); | |
| 277 | 271 | map.put("state", getService(serviceState)); |
| 278 | 272 | // 上下行 |
| 279 | 273 | map.put("upDown", getUpOrDown(serviceState)); |
| ... | ... | @@ -387,7 +381,7 @@ public class GpsServiceImpl implements GpsService { |
| 387 | 381 | dc = dcs.get(i); |
| 388 | 382 | if(dc.getSt() > st) |
| 389 | 383 | t1 = dc.getSt(); |
| 390 | - if(dc.getEt() < et) | |
| 384 | + if(dc.getEt() < et && dc.getEt() != 0) | |
| 391 | 385 | t2 = dc.getEt(); |
| 392 | 386 | |
| 393 | 387 | sql.append("SELECT DEVICE_ID,LINE_ID as LINE_CODE,STOP_NO,TS,UP_DOWN,IN_OUT,WEEKS_YEAR,CREATE_DATE FROM " + tableName + | ... | ... |
src/main/java/com/bsth/service/impl/BusIntervalServiceImpl.java
| ... | ... | @@ -1735,7 +1735,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 1735 | 1735 | long id = schedule.getId(); |
| 1736 | 1736 | if(schedule1 == 0l || schedule1 > id) |
| 1737 | 1737 | schedule1 = id; |
| 1738 | - if(schedule2 == 0l || schedule1 < id) | |
| 1738 | + if(schedule2 == 0l || schedule2 < id) | |
| 1739 | 1739 | schedule2 = id; |
| 1740 | 1740 | } |
| 1741 | 1741 | Map<Long, Set<ChildTaskPlan>> cts = getChildTaskPlans(schedule1, schedule2); | ... | ... |
src/main/java/com/bsth/service/realcontrol/impl/ChildTaskPlanServiceImpl.java
| 1 | 1 | package com.bsth.service.realcontrol.impl; |
| 2 | 2 | |
| 3 | +import com.alibaba.fastjson.JSON; | |
| 3 | 4 | import com.bsth.common.ResponseCode; |
| 4 | 5 | import com.bsth.data.BasicData; |
| 5 | 6 | import com.bsth.data.Station2ParkBuffer; |
| ... | ... | @@ -137,6 +138,8 @@ public class ChildTaskPlanServiceImpl extends BaseServiceImpl<ChildTaskPlan, Lon |
| 137 | 138 | Map<String, Object> rs = new HashMap(); |
| 138 | 139 | try { |
| 139 | 140 | ScheduleRealInfo sch = dayOfSchedule.get(t.getSchedule().getId()); |
| 141 | + logger.info("cts: " + JSON.toJSONString(t)); | |
| 142 | + logger.info("sch: " + JSON.toJSONString(sch)); | |
| 140 | 143 | //保存起终点名称 |
| 141 | 144 | if(StringUtils.isEmpty(t.getStartStationName())) |
| 142 | 145 | t.setStartStationName(getStationName(sch.getXlBm(), t.getStartStation())); |
| ... | ... | @@ -151,7 +154,7 @@ public class ChildTaskPlanServiceImpl extends BaseServiceImpl<ChildTaskPlan, Lon |
| 151 | 154 | ChildTaskPlan task = null; |
| 152 | 155 | Set<ChildTaskPlan> set = sch.getcTasks(); |
| 153 | 156 | for(ChildTaskPlan obj : set){ |
| 154 | - if(obj.getId() == t.getId()){ | |
| 157 | + if(obj.getId().intValue() == t.getId().intValue()){ | |
| 155 | 158 | task = obj; |
| 156 | 159 | break; |
| 157 | 160 | } | ... | ... |
src/main/java/com/bsth/service/schedule/impl/PeopleCarPlanServiceImpl.java
| ... | ... | @@ -1633,7 +1633,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 1633 | 1633 | temp.put("sjfcLast0", s4.getFcsjActual()); |
| 1634 | 1634 | temp.put("delayLast0", delayLast0>0?"+"+delayLast0:delayLast0); |
| 1635 | 1635 | jhbc += 2; |
| 1636 | - if(delayFirst0 <= 1l && delayFirst0 >= -3l){ | |
| 1636 | + if(delayFirst0 <= 1l && delayFirst0 >= -2l){ | |
| 1637 | 1637 | sjbc++; |
| 1638 | 1638 | } else { |
| 1639 | 1639 | Map<String, Object> m = new HashMap<String, Object>(); |
| ... | ... | @@ -1649,7 +1649,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 1649 | 1649 | m.put("remarks", s1.getRemarks() + s2.getRemarks()); |
| 1650 | 1650 | mapList.add(m); |
| 1651 | 1651 | } |
| 1652 | - if(delayLast0 <= 1l && delayLast0 >= -3l){ | |
| 1652 | + if(delayLast0 <= 1l && delayLast0 >= -2l){ | |
| 1653 | 1653 | sjbc++; |
| 1654 | 1654 | } else { |
| 1655 | 1655 | Map<String, Object> m = new HashMap<String, Object>(); |
| ... | ... | @@ -1737,6 +1737,8 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 1737 | 1737 | temp.put("sjfcLast1", "/"); |
| 1738 | 1738 | temp.put("delayLast1", "/"); |
| 1739 | 1739 | } |
| 1740 | + if((up1.size() == 0 || up2.size() == 0) && (dn1.size() == 0 || dn2.size() == 0)) | |
| 1741 | + continue; | |
| 1740 | 1742 | tempList.add(temp); |
| 1741 | 1743 | } |
| 1742 | 1744 | tempMap.put("map", tempList); | ... | ... |
src/main/java/com/bsth/service/traffic/impl/VehicleInoutStopServiceImpl.java
| ... | ... | @@ -82,7 +82,7 @@ public class VehicleInoutStopServiceImpl extends BaseServiceImpl<VehicleInoutSto |
| 82 | 82 | "if( up_down= 0,'上行','下行') as up_down ," + |
| 83 | 83 | "if( in_out_stop= 0,'站内','站外') as in_out_stop , " + |
| 84 | 84 | "stop,report_date FROM bsth_c_shreal " + packageParam(map,"") ; |
| 85 | - logger.info("车载上报停靠站查询sql:",sql); | |
| 85 | + logger.info("车载上报停靠站查询sql:"+sql); | |
| 86 | 86 | List<Map<String, Object>> result = jdbcTemp.queryForList(sql); |
| 87 | 87 | return result; |
| 88 | 88 | } |
| ... | ... | @@ -96,6 +96,7 @@ public class VehicleInoutStopServiceImpl extends BaseServiceImpl<VehicleInoutSto |
| 96 | 96 | JdbcTemplate jdbcTemp = new JdbcTemplate(DBUtils_MS.getDataSource()); |
| 97 | 97 | String sql = "SELECT count(1) COUNT FROM bsth_c_shreal" + packageParam(map,"count"); |
| 98 | 98 | long result = Long.valueOf(jdbcTemp.queryForMap(sql).get("COUNT")+""); |
| 99 | + logger.info("车载上报停靠站查询count-sql:"+sql); | |
| 99 | 100 | return result; |
| 100 | 101 | } |
| 101 | 102 | } | ... | ... |
src/main/java/com/bsth/websocket/handler/SendUtils.java
| ... | ... | @@ -10,6 +10,7 @@ import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 10 | 10 | import com.bsth.websocket.dto.WsScheduleRealInfo; |
| 11 | 11 | import com.fasterxml.jackson.core.JsonProcessingException; |
| 12 | 12 | import com.fasterxml.jackson.databind.ObjectMapper; |
| 13 | +import org.apache.commons.lang3.StringUtils; | |
| 13 | 14 | import org.slf4j.Logger; |
| 14 | 15 | import org.slf4j.LoggerFactory; |
| 15 | 16 | import org.springframework.beans.factory.annotation.Autowired; |
| ... | ... | @@ -195,4 +196,24 @@ public class SendUtils{ |
| 195 | 196 | logger.error("", e); |
| 196 | 197 | } |
| 197 | 198 | } |
| 199 | + | |
| 200 | + /** | |
| 201 | + * 对所有线调用户进行广播 | |
| 202 | + * @param t | |
| 203 | + */ | |
| 204 | + public void sendRadioText(String t, String lineCode){ | |
| 205 | + Map<String, Object> map = new HashMap<>(); | |
| 206 | + map.put("fn", "admin_radio_text"); | |
| 207 | + map.put("t", t); | |
| 208 | + ObjectMapper mapper = new ObjectMapper(); | |
| 209 | + | |
| 210 | + try { | |
| 211 | + if(StringUtils.isNotEmpty(lineCode)) | |
| 212 | + socketHandler.sendMessageToLine(lineCode, mapper.writeValueAsString(map)); | |
| 213 | + else | |
| 214 | + socketHandler.sendMessage(mapper.writeValueAsString(map)); | |
| 215 | + } catch (JsonProcessingException e) { | |
| 216 | + logger.error("", e); | |
| 217 | + } | |
| 218 | + } | |
| 198 | 219 | } | ... | ... |
src/main/resources/fatso/start.js
| ... | ... | @@ -16,7 +16,7 @@ var platform = process.platform; |
| 16 | 16 | var iswin = platform=='win32'; |
| 17 | 17 | var sp = platform=='win32'?'\\':'/'; |
| 18 | 18 | //不参与的目录 |
| 19 | -var excludes = ['scheduleApp', 'trafficManage', 'control', 'permission'+sp+'authorize_all', 'summary', 'history_sch' ,'report'+sp+'oil','base'+sp+'geo_data_edit', 'forms', 'report'] | |
| 19 | +var excludes = ['scheduleApp', 'trafficManage', 'control', 'permission'+sp+'authorize_all', 'summary', 'history_sch' ,'report'+sp+'oil','base'+sp+'geo_data_edit', 'forms','mforms', 'report', 'punctual'] | |
| 20 | 20 | ,ep = new EventProxy() |
| 21 | 21 | ,pName = 'bsth_control' |
| 22 | 22 | ,path = process.cwd() | ... | ... |
src/main/resources/static/pages/forms/statement/firstAndLastBus_delay.html
src/main/resources/static/pages/history_sch/edit/history_sch_maintain.html
| ... | ... | @@ -495,22 +495,27 @@ |
| 495 | 495 | $(that).prepend('<i class="uk-icon-spinner uk-icon-spin"></i>'); |
| 496 | 496 | |
| 497 | 497 | |
| 498 | - var reCountEp = EventProxy.create('ylbUpdate', function () { | |
| 498 | + var reCountEp = EventProxy.create('ylbUpdate', 'calcWaybill', 'scheduleDetail', function () { | |
| 499 | 499 | $('i.uk-icon-spin', that).remove(); |
| 500 | 500 | $(that).removeAttr('disabled'); |
| 501 | 501 | notify_succ('重新统计成功!'); |
| 502 | 502 | }); |
| 503 | 503 | |
| 504 | 504 | //统计路单 -娄高峰 |
| 505 | - /*gb_common.$get('/calcWaybill/generateNew', {date:rq, line: lineCode}, function () { | |
| 506 | - reCountEp.emitLater('calcWaybill'); | |
| 507 | - });*/ | |
| 505 | + gb_common.$get('/calcWaybill/generateNew', {date:rq, line: lineCode}, function () { | |
| 506 | + reCountEp.emitLater('calcWaybill'); | |
| 507 | + }); | |
| 508 | 508 | |
| 509 | 509 | //统计油 -廖磊 |
| 510 | 510 | gb_common.$post('/ylb/updateHistory', {date:rq, line: lineCode}, function () { |
| 511 | 511 | reCountEp.emitLater('ylbUpdate'); |
| 512 | 512 | }); |
| 513 | 513 | |
| 514 | + //重新统计班次明细 | |
| 515 | + gb_common.$post('/sch/reCalc/scheduleDetail', {date:rq, line: lineCode}, function () { | |
| 516 | + reCountEp.emitLater('scheduleDetail'); | |
| 517 | + }); | |
| 518 | + | |
| 514 | 519 | }, '我确定'); |
| 515 | 520 | }); |
| 516 | 521 | })(); | ... | ... |
src/main/resources/static/pages/home.html
| ... | ... | @@ -59,7 +59,7 @@ |
| 59 | 59 | } |
| 60 | 60 | </style> |
| 61 | 61 | <div class="system_change_log"> |
| 62 | - <h2 style="text-indent: 35px;margin: 10px 0 5px;">2018-??-?? 更新说明 Changelog</h2> | |
| 62 | + <h2 style="text-indent: 35px;margin: 10px 0 5px;">2018-02-06 更新说明 Changelog</h2> | |
| 63 | 63 | <ul > |
| 64 | 64 | <li class="sub_title"><h6>基础信息</h6></li> |
| 65 | 65 | <li><span class="label s_c_add">新增</span>1、新增站点间双路段生成功能。</li> | ... | ... |
src/main/resources/static/pages/punctual/list.html
src/main/resources/static/pages/scheduleApp/module/basicInfo/deviceInfoManage/form.html
| ... | ... | @@ -171,7 +171,7 @@ |
| 171 | 171 | <div class="col-md-3"> |
| 172 | 172 | <div class="input-group"> |
| 173 | 173 | <input type="datetime-local" class="form-control" name="qyrq" |
| 174 | - ng-model="ctrl.deviceInfoForSave.qyrq" | |
| 174 | + ng-model="ctrl.deviceInfoForSave.qyrq" required | |
| 175 | 175 | remote-Validation |
| 176 | 176 | remotevtype="cde1" |
| 177 | 177 | remotevparam="{{ {'qyrq_eq': ctrl.deviceInfoForSave.qyrq, 'xl_eq': ctrl.deviceInfoForSave.xl, 'cl_eq': ctrl.deviceInfoForSave.cl} | json}}" /> |
| ... | ... | @@ -180,7 +180,7 @@ |
| 180 | 180 | </div> |
| 181 | 181 | <!-- 隐藏块,显示验证信息 --> |
| 182 | 182 | <div class="alert alert-danger well-sm" ng-show="myForm.qyrq.$error.required"> |
| 183 | - 启用日期必须选择 | |
| 183 | + 启用日期必须选择,精确到具体时间 | |
| 184 | 184 | </div> |
| 185 | 185 | <div class="alert alert-danger well-sm" ng-show="myForm.qyrq.$error.remote"> |
| 186 | 186 | {{$remote_msg}} | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-detail.html
| ... | ... | @@ -19,7 +19,7 @@ |
| 19 | 19 | <i class="fa fa-circle"></i> |
| 20 | 20 | </li> |
| 21 | 21 | <li> |
| 22 | - <a ui-sref="ttInfoDetailManage_edit3({xlid: ctrl.xlid, ttid : ctrl.ttid, xlname: ctrl.xlname, ttname : ctrl.ttname})"><span ng-bind="ctrl.title1"></span></a> | |
| 22 | + <a ui-sref="ttInfoDetailManage_edit3({xlid: ctrl.xlid, ttid: ctrl.ttid, xlname: ctrl.xlname, ttname: ctrl.ttname, lineversion: ctrl.lineversion})"><span ng-bind="ctrl.title1"></span></a> | |
| 23 | 23 | <i class="fa fa-circle"></i> |
| 24 | 24 | </li> |
| 25 | 25 | <li> | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-detail2.html
| ... | ... | @@ -19,7 +19,7 @@ |
| 19 | 19 | <i class="fa fa-circle"></i> |
| 20 | 20 | </li> |
| 21 | 21 | <li> |
| 22 | - <a ui-sref="ttInfoDetailManage_edit3({xlid: ctrl.xlid, ttid : ctrl.ttid, xlname: ctrl.xlname, ttname : ctrl.ttname})"><span ng-bind="ctrl.title1"></span></a> | |
| 22 | + <a ui-sref="ttInfoDetailManage_edit3({xlid: ctrl.xlid, ttid: ctrl.ttid, xlname: ctrl.xlname, ttname: ctrl.ttname, lineversion: ctrl.lineversion})"><span ng-bind="ctrl.title1"></span></a> | |
| 23 | 23 | <i class="fa fa-circle"></i> |
| 24 | 24 | </li> |
| 25 | 25 | <li> | ... | ... |
src/main/resources/static/real_control_v2/alone_page/home/alone_data_gps.js
src/main/resources/static/real_control_v2/alone_page/map/alone_data_gps.js
| ... | ... | @@ -55,11 +55,11 @@ var gb_data_gps = (function () { |
| 55 | 55 | addArr.push(this); |
| 56 | 56 | |
| 57 | 57 | //班次信息 |
| 58 | - if (this.schId) { | |
| 59 | - schArray = gb_schedule_table.findScheduleByLine(this.lineId); | |
| 60 | - if (schArray) | |
| 61 | - this.sch = schArray[this.schId]; | |
| 62 | - } | |
| 58 | + /*if (this.schId) { | |
| 59 | + //schArray = gb_schedule_table.findScheduleByLine(this.lineId); | |
| 60 | + ///if (schArray) | |
| 61 | + // this.sch = schArray[this.schId]; | |
| 62 | + }*/ | |
| 63 | 63 | |
| 64 | 64 | //时间格式化 |
| 65 | 65 | this.dateStr = moment(this.timestamp).format('YYYY-MM-DD HH:mm:ss'); | ... | ... |
src/main/resources/static/real_control_v2/css/line_schedule.css
| ... | ... | @@ -553,7 +553,7 @@ dl.relevance-active.intimity dd:nth-child(n+2) { |
| 553 | 553 | dl.relevance-active.intimity dd:nth-child(n+2) a { |
| 554 | 554 | color: white !important; |
| 555 | 555 | } |
| 556 | -/* | |
| 556 | + | |
| 557 | 557 | dl.relevance-active dd.tl-qrlb, |
| 558 | 558 | dl.relevance-active.intimity dd.tl-qrlb{ |
| 559 | 559 | background: linear-gradient(to right, #a9a911, #808000, #8baabf) !important; |
| ... | ... | @@ -595,7 +595,7 @@ dl.relevance-active.intimity dd.tl-xxrd { |
| 595 | 595 | dl.relevance-active dd.tl-xxfc, |
| 596 | 596 | dl.relevance-active.intimity dd.tl-xxfc { |
| 597 | 597 | background: linear-gradient(to right, #8baabf, rgb(43, 185, 185), rgb(0,255,255)) !important; |
| 598 | -}*/ | |
| 598 | +} | |
| 599 | 599 | |
| 600 | 600 | dl.relevance-active.intimity dd span.fcsj-diff { |
| 601 | 601 | color: #616060; | ... | ... |
src/main/resources/static/real_control_v2/css/main.css
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/lj_zrw.html
| ... | ... | @@ -275,8 +275,10 @@ |
| 275 | 275 | //检查子任务营运里程 |
| 276 | 276 | $('#childTaskTitle .child-task-status', modal).remove(); |
| 277 | 277 | //var i = 0; |
| 278 | - if (sch.cTasks.length == 0) | |
| 278 | + if (sch.cTasks.length == 0){ | |
| 279 | + $('.uk-panel-box-secondary', modal).removeClass('c_task_mileage_abnormal'); | |
| 279 | 280 | return; |
| 281 | + } | |
| 280 | 282 | var sum = 0, calcs = ' '; |
| 281 | 283 | $.each(sch.cTasks, function () { |
| 282 | 284 | if (this.mileageType == 'service') { | ... | ... |
src/main/resources/static/real_control_v2/js/forms/wrap.html
| ... | ... | @@ -193,7 +193,11 @@ |
| 193 | 193 | |
| 194 | 194 | cb && cb($(selector)); |
| 195 | 195 | |
| 196 | - $('#line', '.form-page-content').trigger('change'); | |
| 196 | + if(selector === '#line') { | |
| 197 | + setTimeout(function () { | |
| 198 | + $('#line', '.form-page-content').trigger('change'); | |
| 199 | + }, 500); | |
| 200 | + } | |
| 197 | 201 | }); |
| 198 | 202 | |
| 199 | 203 | return $(selector); | ... | ... |
src/main/resources/static/real_control_v2/js/line_schedule/sch_table.js
| ... | ... | @@ -352,9 +352,10 @@ var gb_schedule_table = (function () { |
| 352 | 352 | $(dds[1]).find('a').text(sch.lpName); |
| 353 | 353 | |
| 354 | 354 | //车辆自编号 |
| 355 | - $(dds[2]).replaceWith(temps['line-schedule-nbbm-temp'](sch)); | |
| 355 | + var $newDds2 = $(temps['line-schedule-nbbm-temp'](sch)); | |
| 356 | + $(dds[2]).replaceWith($newDds2); | |
| 356 | 357 | //车辆双击 |
| 357 | - gb_schedule_table_dbclick.carCellClick($(dds[2])); | |
| 358 | + gb_schedule_table_dbclick.carCellClick($newDds2); | |
| 358 | 359 | $(dds[3]).text(sch.qdzArrDatejh ? sch.qdzArrDatejh : ''); |
| 359 | 360 | $(dds[4]).text(sch.qdzArrDatesj ? sch.qdzArrDatesj : ''); |
| 360 | 361 | |
| ... | ... | @@ -475,10 +476,12 @@ var gb_schedule_table = (function () { |
| 475 | 476 | |
| 476 | 477 | if (nextSch) { |
| 477 | 478 | $('dl[data-id=' + nextSch.id + ']', contWrap).addClass('intimity'); |
| 478 | - if (nextSch.xlDir == sch.xlDir) | |
| 479 | - return; | |
| 479 | + /*if (nextSch.xlDir == sch.xlDir) | |
| 480 | + return;*/ | |
| 480 | 481 | //滚动到下一个班次 |
| 481 | - scroToDl(nextSch); | |
| 482 | + if(nextSch.xlDir != sch.xlDir) | |
| 483 | + scroToDl(nextSch); | |
| 484 | + | |
| 482 | 485 | } |
| 483 | 486 | |
| 484 | 487 | //如果有打开轨迹回放 | ... | ... |
src/main/resources/static/real_control_v2/main.html
| ... | ... | @@ -237,9 +237,10 @@ |
| 237 | 237 | <script src="/real_control_v2/js/safe_driv/safeDriv.js" merge="custom_js"></script> |
| 238 | 238 | <!-- #### 安全驾驶 end ### --> |
| 239 | 239 | |
| 240 | -<!-- 打电话 --> | |
| 240 | +<!-- 打电话 | |
| 241 | 241 | <script src="http://180.168.57.114:4244/Scripts/CallCenter.js" ></script> |
| 242 | 242 | <script src="/real_control_v2/js/safe_driv/call_phone.js" ></script> |
| 243 | +--> | |
| 243 | 244 | </body> |
| 244 | 245 | |
| 245 | 246 | </html> | ... | ... |
src/main/resources/static/real_control_v2/mapmonitor/fragments/playback_v3/left.html