Commit ffe9152e412d43facf20a8e95fc5560ea4dd190c

Authored by ljq
1 parent 6b3607af

大客流功能优化

src/main/java/com/bsth/controller/lg_travel/RegionLineCarConterller.java 0 → 100644
  1 +package com.bsth.controller.lg_travel;
  2 +
  3 +import com.bsth.controller.BaseController;
  4 +import com.bsth.entity.lg_travel.RegionLineCar;
  5 +import org.springframework.web.bind.annotation.RequestMapping;
  6 +import org.springframework.web.bind.annotation.RestController;
  7 +
  8 +/**
  9 + * 区域
  10 + */
  11 +
  12 +@RestController
  13 +@RequestMapping("regionLineCar")
  14 +public class RegionLineCarConterller extends BaseController<RegionLineCar, Long> {
  15 +
  16 +
  17 +}
... ...
src/main/java/com/bsth/controller/zndd/LoggerZnddController.java
... ... @@ -54,4 +54,15 @@ public class LoggerZnddController extends BaseController&lt;LoggerZndd, Integer&gt; {
54 54 public Map<String, Object> schTZSF(String line,String date,String endDate,String changType,String type){
55 55 return loggerZnddService.schTZSF(line,date,endDate,changType,type);
56 56 }
  57 +
  58 + /**
  59 + * 获取当前方向下的下一个班次
  60 + * @param id
  61 + * @return
  62 + */
  63 + @RequestMapping(value = "nextSch/{id}", method = RequestMethod.GET)
  64 + public ScheduleRealInfo nextSch(@PathVariable("id") Long id){
  65 + return loggerZnddService.nextSch(id);
  66 +
  67 + }
57 68 }
... ...
src/main/java/com/bsth/data/pilot80/PilotReport.java
... ... @@ -129,21 +129,21 @@ public class PilotReport {
129 129 public void yjbj(String nbbm,D80 d80){
130 130 try {
131 131 ScheduleRealInfo sch = null;
132   - if (d80.getSchId() == null){
133   - logger.info(nbbm+"-----车辆没有班次");
134   - return;
135   - }
  132 +
136 133 if (d80.getData().getStopNo() != null && !d80.getData().getStopNo().equals("")){
137 134 d80.setStationName(BasicData.stationCode2NameMap.get(d80.getData().getStopNo()));
138 135 }
139   -
140   - sch = dayOfSchedule.get(d80.getSchId());
141   - Long nextschid = dayOfSchedule.nextByLp(sch).getId();
142   - d80.setNextschId(nextschid);
  136 + if (d80.getSchId() != null){
  137 + sch = dayOfSchedule.get(d80.getSchId());
  138 + Long nextschid = dayOfSchedule.nextByLp(sch).getId();
  139 + d80.setNextschId(nextschid);
  140 + }
143 141 String url = systemParamService.getValue("url.yjbj")+"dataDockingApi/accident/saveAccident?";
144 142 url = url + "accidentTime=" + new Date().getTime() + "&nbbm=" + nbbm +"&requestCode=" +d80.getData().getRequestCode()
145   - +"&lineName=" +sch.getXlName()+"&jsy=" +sch.getjGh()+"&jsName=" +sch.getjName()+"&lon=" +d80.getData().getLon()+"&lat="+d80.getData().getLat();
146   -
  143 + +"&lon=" +d80.getData().getLon()+"&lat="+d80.getData().getLat();
  144 + if (sch != null){
  145 + url = url + "&lineName=" +sch.getXlName()+"&jsy=" +sch.getjGh()+"&jsName=" +sch.getjName();
  146 + }
147 147 logger.info("url===="+url);
148 148 StringBuilder sb = HttpClientUtils.get(url);
149 149  
... ...
src/main/java/com/bsth/entity/zndd/znddStatus.java
... ... @@ -23,6 +23,16 @@ public class znddStatus {
23 23  
24 24 private String name;
25 25  
  26 + //大客流是否自动执行班次 0开 1关 null关
  27 + private String excuteStatus;
  28 +
  29 + public String getExcuteStatus() {
  30 + return excuteStatus;
  31 + }
  32 +
  33 + public void setExcuteStatus(String excuteStatus) {
  34 + this.excuteStatus = excuteStatus;
  35 + }
26 36  
27 37 public String getType() {
28 38 return type;
... ...
src/main/java/com/bsth/service/zndd/LoggerZnddService.java
... ... @@ -23,4 +23,6 @@ public interface LoggerZnddService extends BaseService&lt;LoggerZndd, Integer&gt; {
23 23 String LineUserAll(@RequestParam Integer userId);
24 24  
25 25 Map<String, Object> schTZSF(String line,String date,String endDate,String changType,String type);
  26 +
  27 + ScheduleRealInfo nextSch(Long id);
26 28 }
... ...
src/main/java/com/bsth/service/zndd/impl/LoggerZnddServiceImpl.java
1 1 package com.bsth.service.zndd.impl;
2 2  
3 3 import com.alibaba.fastjson.JSON;
4   -import com.alibaba.fastjson.JSONObject;
5 4 import com.bsth.common.ResponseCode;
6 5 import com.bsth.controller.realcontrol.dto.DfsjChange;
7 6 import com.bsth.data.schedule.DayOfSchedule;
... ... @@ -304,4 +303,9 @@ public class LoggerZnddServiceImpl extends BaseServiceImpl&lt;LoggerZndd, Integer&gt;
304 303 }
305 304 return rs;
306 305 }
  306 +
  307 +
  308 + public ScheduleRealInfo nextSch(Long id){
  309 + return dayOfSchedule.next(dayOfSchedule.get(id));
  310 + }
307 311 }
... ...
src/main/resources/application-prod.properties
... ... @@ -40,4 +40,7 @@ sso.http.url.auth= http://10.10.200.142:9112/prod-api/system/utilitySystem/check
40 40 dc.imgurl= /home/control/klimg
41 41 dc.profile= profile
42 42  
  43 +baidu.ak=AYiBOs3f9qBQFhdKFsaboX6CfObmKwRP
  44 +passengerFlow.url = http://192.168.168.32:9999/images/
  45 +
43 46 electricity.importFile.path= /home/control/elecImportFile
... ...
src/main/resources/static/real_control_v2/css/main.css
... ... @@ -2265,7 +2265,7 @@ g.gps-wrap rect.twinkle[updown=&quot;1&quot;] {
2265 2265 }
2266 2266 .warning-color {
2267 2267 border: 1px solid #e79a00;
2268   - background-color: #7ecbe4;
  2268 + background-color: #0b3b5e;
2269 2269 font-size: 18px;
2270 2270 }
2271 2271  
... ... @@ -2313,7 +2313,7 @@ g.gps-wrap rect.twinkle[updown=&quot;1&quot;] {
2313 2313 }
2314 2314  
2315 2315 .multi_plat_config .timer{
2316   - background-color: #0575c3ba;
  2316 + background-color: #115281;
2317 2317 font-size: 15px;
2318 2318 color: white;
2319 2319 text-align: center;
... ... @@ -2329,4 +2329,14 @@ g.gps-wrap rect.twinkle[updown=&quot;1&quot;] {
2329 2329 left: 40%;
2330 2330 top: 20%;
2331 2331 background: rgba(255, 255, 255, 0.5);
  2332 +}
  2333 +.dkl_msg_text{
  2334 + margin-top: 6px;
  2335 + border: 1px solid #b5afb1;
  2336 +}
  2337 +.zndd_text_input_color{
  2338 + border-color: #8ec73b!important;
  2339 + background: #fafff2!important;
  2340 + color: #659f13!important;
  2341 +
2332 2342 }
2333 2343 \ No newline at end of file
... ...
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/temp_sch_v2/add_normal_znddType.html 0 → 100644
  1 +<!-- 临加班次form -->
  2 +<script id="add_normal_sch-form-temp" type="text/html">
  3 + <form class="uk-form uk-form-horizontal add-sch-form">
  4 + <div class="uk-grid">
  5 + <div class="uk-width-1-2">
  6 + <div class="uk-form-row">
  7 + <label class="uk-form-label">班次类型</label>
  8 + <div class="uk-form-controls">
  9 + <select class="form-control nt-dictionary" name="bcType" data-code="{{bcType}}"
  10 + data-group=ScheduleType></select>
  11 + </div>
  12 + </div>
  13 + </div>
  14 + <div class="uk-width-1-2">
  15 + <div class="uk-form-row">
  16 + <label class="uk-form-label">上下行</label>
  17 + <div class="uk-form-controls">
  18 + <select name="xlDir">
  19 + <option value="0">上行</option>
  20 + <option value="1">下行</option>
  21 + </select>
  22 + </div>
  23 + </div>
  24 + </div>
  25 + </div>
  26 + <div class="uk-grid">
  27 + <div class="uk-width-1-2">
  28 + <div class="uk-form-row">
  29 + <label class="uk-form-label">起点站</label>
  30 + <div class="uk-form-controls">
  31 + <select name="qdzCode">
  32 + </select>
  33 + </div>
  34 + </div>
  35 + </div>
  36 + <div class="uk-width-1-2">
  37 + <div class="uk-form-row">
  38 + <label class="uk-form-label">终点站</label>
  39 + <div class="uk-form-controls">
  40 + <select name="zdzCode">
  41 + </select>
  42 + </div>
  43 + </div>
  44 + </div>
  45 + </div>
  46 + <div class="uk-grid">
  47 + <div class="uk-width-1-2">
  48 + <div class="uk-form-row">
  49 + <label class="uk-form-label">开始时间</label>
  50 + <div class="uk-form-controls">
  51 + <input type="time" class="zndd_text_input_color" value="{{zdsjActual==null?zdsj:zdsjActual}}" name="fcsj" required>
  52 + </div>
  53 + </div>
  54 + </div>
  55 + <div class="uk-width-1-2">
  56 + <div class="uk-form-row">
  57 + <label class="uk-form-label">结束时间</label>
  58 + <div class="uk-form-controls">
  59 + <input type="time" class="zndd_text_input_color" name="zdsj" required>
  60 + </div>
  61 + </div>
  62 + </div>
  63 + </div>
  64 + <div class="uk-grid">
  65 + <div class="uk-width-1-2">
  66 + <div class="uk-form-row">
  67 + <label class="uk-form-label">车辆</label>
  68 + <div class="uk-form-controls">
  69 + <div class="uk-autocomplete uk-form car-autocom">
  70 + <input type="text" class="zndd_text_input_color" value="{{clZbh}}" name="clZbh" required>
  71 + </div>
  72 + </div>
  73 + </div>
  74 + </div>
  75 + <div class="uk-width-1-2">
  76 + <div class="uk-form-row">
  77 + <label class="uk-form-label">里程</label>
  78 + <div class="uk-form-controls">
  79 + <input type="text" class="zndd_text_input_color" name="jhlc" value="{{jhlc}}" max=400 data-fv-lessthan-inclusive="false"
  80 + required>
  81 + </div>
  82 + </div>
  83 + </div>
  84 + </div>
  85 + <div class="uk-grid">
  86 + <div class="uk-width-1-2">
  87 + <div class="uk-form-row">
  88 + <label class="uk-form-label">驾驶员</label>
  89 + <div class="uk-form-controls">
  90 + <div class="uk-autocomplete uk-form jsy-autocom">
  91 + <input type="text" class="zndd_text_input_color" value="{{jGh}}/{{jName}}" name="jsy" required>
  92 + </div>
  93 + </div>
  94 + </div>
  95 + </div>
  96 + <div class="uk-width-1-2">
  97 + <div class="uk-form-row">
  98 + <label class="uk-form-label">售票员</label>
  99 + <div class="uk-form-controls">
  100 + <div class="uk-autocomplete uk-form spy-autocom">
  101 + <input type="text" name="spy" value="{{sGh}}/{{sName}}">
  102 + </div>
  103 + </div>
  104 + </div>
  105 + </div>
  106 + </div>
  107 + <div class="uk-grid">
  108 + <div class="uk-width-1-2">
  109 + <div class="uk-form-row">
  110 + <label class="uk-form-label">路牌</label>
  111 + <div class="uk-form-controls">
  112 + <input type="text" value="{{lpName}}" name="lpName" required>
  113 + </div>
  114 + </div>
  115 + </div>
  116 + </div>
  117 + <div class="uk-grid">
  118 + <div class="uk-width-1-1">
  119 + <div class="uk-form-row">
  120 + <label class="uk-form-label">备注</label>
  121 + <div class="uk-form-controls">
  122 + <div class="uk-autocomplete uk-form remarks-autocom">
  123 + <input type="text" name="remarks">
  124 + </div>
  125 + </div>
  126 + </div>
  127 + </div>
  128 + </div>
  129 + <div class="uk-modal-footer uk-text-right" style="margin-bottom: -20px;">
  130 + <button type="button" class="uk-button uk-modal-close">取消</button>
  131 + <button type="submit" class="uk-button uk-button-primary"><i class="uk-icon-check"></i> &nbsp;保存
  132 + </button>
  133 + </div>
  134 + </form>
  135 +</script>
  136 +<script>
  137 + (function () {
  138 + var wrap = '#schedule-addsch-modal .normalCont', sch, nf, submitFun;
  139 +
  140 + $(wrap).on('init', function (e, data) {
  141 + e.stopPropagation();
  142 + sch = data.sch;
  143 + submitFun = data.submitFun;
  144 +
  145 + nf = addForm();
  146 + //提交
  147 + nf.on('success.form.fv', function (e) {
  148 + e.preventDefault();
  149 +
  150 + disabled_submit_btn(nf);
  151 + var data = nf.serializeJSON();
  152 + submitFun(data, function (rs) {
  153 + //前端数据更新
  154 + gb_schedule_table.insertSchedule(rs.t, rs.ts);
  155 + $('#schedule-lj_zrw-modal .main-schedule-table').trigger('refresh', {sch: rs.t});
  156 + try {
  157 + if(rs.t.bcType=='in' || rs.t.bcType=='out')
  158 + gb_data_basic.reload_stat_park_data();
  159 + }catch (e){
  160 + console.log(e);}
  161 + UIkit.modal('#schedule-addsch-modal').hide();
  162 + //更新路牌公里统计面板
  163 + gb_schedule_table.showLpMileageTipBySch(rs.t);
  164 + }, function () {
  165 + enable_submit_btn(nf);
  166 + });
  167 + });
  168 + });
  169 +
  170 + function addForm() {
  171 + var htmlStr = template('add_normal_sch-form-temp', sch);
  172 + var f = $(htmlStr);
  173 + $(wrap).append(f);
  174 + //字典转换
  175 + dictionaryUtils.transformDom($('.nt-dictionary', f));
  176 + //validation
  177 + f.formValidation({framework: 'uikit', locale: 'zh_CN'});
  178 + //autocomp
  179 + f.trigger('init-autoCom');
  180 +
  181 + $f('bcType', f).trigger('change');
  182 + return f;
  183 + }
  184 +
  185 + function $f(name, f) {
  186 + return $('[name=' + name + ']', f);
  187 + }
  188 + })();
  189 +</script>
0 190 \ No newline at end of file
... ...
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/temp_sch_v2/add_two_way_znddType.html 0 → 100644
  1 +<!-- 线路上往返临加班次 -->
  2 +<script id="add_toAndFro_sch-form-temp" type="text/html">
  3 + <form class="uk-form uk-form-horizontal add-sch-form one_form">
  4 + <div class="uk-grid">
  5 + <div class="uk-width-1-2">
  6 + <div class="uk-form-row">
  7 + <label class="uk-form-label">班次类型</label>
  8 + <div class="uk-form-controls">
  9 + <select class="form-control nt-dictionary" name="bcType" data-code="{{bcType}}"
  10 + data-group=ScheduleType></select>
  11 + </div>
  12 + </div>
  13 + </div>
  14 + <div class="uk-width-1-2">
  15 + <div class="uk-form-row">
  16 + <label class="uk-form-label">上下行</label>
  17 + <div class="uk-form-controls">
  18 + <select name="xlDir">
  19 + <option value="0">上行</option>
  20 + <option value="1">下行</option>
  21 + </select>
  22 + </div>
  23 + </div>
  24 + </div>
  25 + </div>
  26 + <div class="uk-grid">
  27 + <div class="uk-width-1-2">
  28 + <div class="uk-form-row">
  29 + <label class="uk-form-label">起点站</label>
  30 + <div class="uk-form-controls">
  31 + <select name="qdzCode" >
  32 + </select>
  33 + </div>
  34 + </div>
  35 + </div>
  36 + <div class="uk-width-1-2">
  37 + <div class="uk-form-row">
  38 + <label class="uk-form-label">终点站</label>
  39 + <div class="uk-form-controls">
  40 + <select name="zdzCode" >
  41 + </select>
  42 + </div>
  43 + </div>
  44 + </div>
  45 + </div>
  46 + <div class="uk-grid">
  47 + <div class="uk-width-1-2">
  48 + <div class="uk-form-row">
  49 + <label class="uk-form-label">开始时间</label>
  50 + <div class="uk-form-controls">
  51 + <input type="time" class="zndd_text_input_color" value="{{zdsj}}" name="fcsj" required>
  52 + </div>
  53 + </div>
  54 + </div>
  55 + <div class="uk-width-1-2">
  56 + <div class="uk-form-row">
  57 + <label class="uk-form-label">结束时间</label>
  58 + <div class="uk-form-controls">
  59 + <input type="time" class="zndd_text_input_color" name="zdsj" required>
  60 + </div>
  61 + </div>
  62 + </div>
  63 + </div>
  64 + <div class="uk-grid">
  65 + <div class="uk-width-1-2">
  66 + <div class="uk-form-row">
  67 + <label class="uk-form-label">车辆</label>
  68 + <div class="uk-form-controls">
  69 + <div class="uk-autocomplete uk-form car-autocom">
  70 + <input type="text" class="zndd_text_input_color" value="{{clZbh}}" name="clZbh" required>
  71 + </div>
  72 + </div>
  73 + </div>
  74 + </div>
  75 + <div class="uk-width-1-2">
  76 + <div class="uk-form-row">
  77 + <label class="uk-form-label">里程</label>
  78 + <div class="uk-form-controls">
  79 + <input type="text" name="jhlc" class="zndd_text_input_color" value="{{jhlc}}" max=400 data-fv-lessthan-inclusive="false"
  80 + required>
  81 + </div>
  82 + </div>
  83 + </div>
  84 + </div>
  85 + <div class="uk-grid">
  86 + <div class="uk-width-1-2">
  87 + <div class="uk-form-row">
  88 + <label class="uk-form-label">驾驶员</label>
  89 + <div class="uk-form-controls">
  90 + <div class="uk-autocomplete uk-form jsy-autocom">
  91 + <input type="text" class="zndd_text_input_color" value="{{jGh}}/{{jName}}" name="jsy" required>
  92 + </div>
  93 + </div>
  94 + </div>
  95 + </div>
  96 + <div class="uk-width-1-2">
  97 + <div class="uk-form-row">
  98 + <label class="uk-form-label">售票员</label>
  99 + <div class="uk-form-controls">
  100 + <div class="uk-autocomplete uk-form spy-autocom">
  101 + <input type="text" name="spy" value="{{sGh}}/{{sName}}">
  102 + </div>
  103 + </div>
  104 + </div>
  105 + </div>
  106 + </div>
  107 + <div class="uk-grid">
  108 + <div class="uk-width-1-2">
  109 + <div class="uk-form-row">
  110 + <label class="uk-form-label">路牌</label>
  111 + <div class="uk-form-controls">
  112 + <input type="text" value="{{lpName}}" name="lpName" required>
  113 + </div>
  114 + </div>
  115 + </div>
  116 + </div>
  117 + <div class="uk-grid">
  118 + <div class="uk-width-1-1">
  119 + <div class="uk-form-row">
  120 + <label class="uk-form-label">备注</label>
  121 + <div class="uk-form-controls">
  122 + <div class="uk-autocomplete uk-form remarks-autocom">
  123 + <input type="text" name="remarks">
  124 + </div>
  125 + </div>
  126 + </div>
  127 + </div>
  128 + </div>
  129 + </form>
  130 + <hr style="margin-top: 35px;">
  131 + <form class="uk-form uk-form-horizontal add-sch-form two_form">
  132 + <div class="uk-grid">
  133 + <div class="uk-width-1-2">
  134 + <div class="uk-form-row">
  135 + <label class="uk-form-label">班次类型</label>
  136 + <div class="uk-form-controls">
  137 + <select class="form-control nt-dictionary" name="bcType" data-code="{{bcType}}"
  138 + data-group=ScheduleType></select>
  139 + </div>
  140 + </div>
  141 + </div>
  142 + <div class="uk-width-1-2">
  143 + <div class="uk-form-row">
  144 + <label class="uk-form-label">上下行</label>
  145 + <div class="uk-form-controls">
  146 + <select name="xlDir">
  147 + <option value="0">上行</option>
  148 + <option value="1">下行</option>
  149 + </select>
  150 + </div>
  151 + </div>
  152 + </div>
  153 + </div>
  154 + <div class="uk-grid">
  155 + <div class="uk-width-1-2">
  156 + <div class="uk-form-row">
  157 + <label class="uk-form-label">起点站</label>
  158 + <div class="uk-form-controls">
  159 + <select name="qdzCode" >
  160 + </select>
  161 + </div>
  162 + </div>
  163 + </div>
  164 + <div class="uk-width-1-2">
  165 + <div class="uk-form-row">
  166 + <label class="uk-form-label">终点站</label>
  167 + <div class="uk-form-controls">
  168 + <select name="zdzCode" >
  169 + </select>
  170 + </div>
  171 + </div>
  172 + </div>
  173 + </div>
  174 + <div class="uk-grid">
  175 + <div class="uk-width-1-2">
  176 + <div class="uk-form-row">
  177 + <label class="uk-form-label">开始时间</label>
  178 + <div class="uk-form-controls">
  179 + <input type="time" class="zndd_text_input_color" value="{{zdsj}}" name="fcsj" required>
  180 + </div>
  181 + </div>
  182 + </div>
  183 + <div class="uk-width-1-2">
  184 + <div class="uk-form-row">
  185 + <label class="uk-form-label">结束时间</label>
  186 + <div class="uk-form-controls">
  187 + <input type="time"class="zndd_text_input_color" name="zdsj" required>
  188 + </div>
  189 + </div>
  190 + </div>
  191 + </div>
  192 + <div class="uk-grid">
  193 + <div class="uk-width-1-2">
  194 + <div class="uk-form-row">
  195 + <label class="uk-form-label">车辆</label>
  196 + <div class="uk-form-controls">
  197 + <div class="uk-autocomplete uk-form car-autocom">
  198 + <input type="text" class="zndd_text_input_color" value="{{clZbh}}" name="clZbh" required>
  199 + </div>
  200 + </div>
  201 + </div>
  202 + </div>
  203 + <div class="uk-width-1-2">
  204 + <div class="uk-form-row">
  205 + <label class="uk-form-label">里程</label>
  206 + <div class="uk-form-controls">
  207 + <input type="text" class="zndd_text_input_color" name="jhlc" value="{{jhlc}}" max=400 data-fv-lessthan-inclusive="false"
  208 + required>
  209 + </div>
  210 + </div>
  211 + </div>
  212 + </div>
  213 + <div class="uk-grid">
  214 + <div class="uk-width-1-2">
  215 + <div class="uk-form-row">
  216 + <label class="uk-form-label">驾驶员</label>
  217 + <div class="uk-form-controls">
  218 + <div class="uk-autocomplete uk-form jsy-autocom">
  219 + <input type="text" class="zndd_text_input_color" value="{{jGh}}/{{jName}}" name="jsy" required>
  220 + </div>
  221 + </div>
  222 + </div>
  223 + </div>
  224 + <div class="uk-width-1-2">
  225 + <div class="uk-form-row">
  226 + <label class="uk-form-label">售票员</label>
  227 + <div class="uk-form-controls">
  228 + <div class="uk-autocomplete uk-form spy-autocom">
  229 + <input type="text" name="spy" value="{{sGh}}/{{sName}}">
  230 + </div>
  231 + </div>
  232 + </div>
  233 + </div>
  234 + </div>
  235 + <div class="uk-grid">
  236 + <div class="uk-width-1-2">
  237 + <div class="uk-form-row">
  238 + <label class="uk-form-label">路牌</label>
  239 + <div class="uk-form-controls">
  240 + <input type="text" value="{{lpName}}" name="lpName" required>
  241 + </div>
  242 + </div>
  243 + </div>
  244 + </div>
  245 + <div class="uk-grid">
  246 + <div class="uk-width-1-1">
  247 + <div class="uk-form-row">
  248 + <label class="uk-form-label">备注</label>
  249 + <div class="uk-form-controls">
  250 + <div class="uk-autocomplete uk-form remarks-autocom">
  251 + <input type="text" name="remarks">
  252 + </div>
  253 + </div>
  254 + </div>
  255 + </div>
  256 + </div>
  257 + </form>
  258 +
  259 + <div class="uk-modal-footer uk-text-right" style="margin-bottom: -20px;">
  260 + <button type="button" class="uk-button uk-modal-close">取消</button>
  261 + <button type="submit" class="uk-button uk-button-primary"><i class="uk-icon-check"></i> &nbsp;保存</button>
  262 + </div>
  263 +</script>
  264 +
  265 +<script>
  266 + (function () {
  267 + var wrap = '#schedule-addsch-modal .toAndFroCont', sch, f1, f2, submitFun, stationRoutes;
  268 +
  269 + $(wrap).on('init', function (e, data) {
  270 + e.stopPropagation();
  271 + sch = data.sch;
  272 + submitFun = data.submitFun;
  273 + stationRoutes = data.stationRoutes;
  274 +
  275 + var htmlStr = template('add_toAndFro_sch-form-temp', sch);
  276 + $(wrap).append(htmlStr);
  277 + //字典转换
  278 + dictionaryUtils.transformDom($('.nt-dictionary', wrap));
  279 + //validation
  280 + $('.add-sch-form', wrap).formValidation({framework: 'uikit', locale: 'zh_CN'}).trigger('init-autoCom');
  281 + $('.add-sch-form [name=bcType]', wrap).trigger('change');
  282 +
  283 + f1 = $('.add-sch-form.one_form', wrap);
  284 + f2 = $('.add-sch-form.two_form', wrap);
  285 +
  286 + //默认1备注同步到2
  287 + $f('remarks', f1).on('input', function () {
  288 + $f('remarks', f2).val($(this).val());
  289 + });
  290 + //默认1备注同步到2
  291 + $('.remarks-autocom', f1).on('selectitem.uk.autocomplete', function (e, data, acobject) {
  292 + $f('remarks', f2).val(data.value);
  293 + });
  294 +
  295 + //人车级联
  296 + $f('clZbh',f1).on('input change', function () {
  297 + $f('clZbh', f2).val($(this).val());
  298 + });
  299 + $f('jsy',f1).on('input change', function () {
  300 + $f('jsy', f2).val($(this).val());
  301 + });
  302 + $f('spy',f1).on('input change', function () {
  303 + $f('spy', f2).val($(this).val());
  304 + });
  305 + $f('lpName',f1).on('input change', function () {
  306 + $f('lpName', f2).val($(this).val());
  307 + });
  308 + //表单同步
  309 + $(f1).on('ct_callback', synchroFormData).trigger('ct_callback');
  310 + //修改1结束时间
  311 + $f('zdsj',f1).on('input', synchroFormData);
  312 +
  313 + //表单校验提交相关
  314 + var dataArray;
  315 + var fs = $('.add-sch-form', wrap);
  316 + fs.on('success.form.fv', function (e) {
  317 + e.preventDefault();
  318 + dataArray.push($(this).serializeJSON());
  319 + $(this).data('valid', true);
  320 + if (allValidSuccess()) {
  321 + //开始post
  322 + var i = 0;
  323 + var inArr = [];
  324 + var upArr = [];
  325 + (function () {
  326 + var f = arguments.callee;
  327 + if (i >= dataArray.length) {
  328 + //前端数据更新
  329 + var last = inArr.pop();
  330 + gb_schedule_table.insertSchedule(last, upArr);
  331 + $('#schedule-lj_zrw-modal .main-schedule-table').trigger('refresh', {sch: last});
  332 +
  333 + try {
  334 + if(last.bcType=='in' || last.bcType=='out')
  335 + gb_data_basic.reload_stat_park_data();
  336 + }catch (e){
  337 + console.log(e);}
  338 + UIkit.modal('#schedule-addsch-modal').hide();
  339 + //更新路牌公里统计面板
  340 + gb_schedule_table.showLpMileageTipBySch(last);
  341 + return;
  342 + }
  343 + submitFun(dataArray[i], function (rs) {
  344 + inArr.push(rs.t);
  345 + upArr = upArr.concat(rs.ts);
  346 + upArr.push(rs.t);
  347 + i++;
  348 + f();
  349 + }, function () {
  350 + $('[type=submit]', wrap).removeClass('disabled').removeAttr('disabled');
  351 + });
  352 + })();
  353 + }
  354 + });
  355 + //提交
  356 + $('[type=submit]', wrap).on('click', function () {
  357 + $(this).addClass('disabled').attr('disabled', 'disabled');
  358 + dataArray = [];
  359 + fs.data('valid', false);
  360 + fs.formValidation('validate');
  361 + });
  362 + });
  363 +
  364 + function $f(name, f) {
  365 + return $('[name=' + name + ']', f);
  366 + }
  367 +
  368 + function allValidSuccess() {
  369 + var flag = true;
  370 + $('form.add-sch-form:visible', wrap).each(function (i, f) {
  371 + if (!$(f).data('valid')) {
  372 + flag = false;
  373 + return false;
  374 + }
  375 + });
  376 + return flag;
  377 + }
  378 +
  379 + /**
  380 + * 同步2个表单的数据
  381 + */
  382 + var bcTypes = {'normal': 'normal', 'region': 'region', 'out': 'in', 'in': 'out'};
  383 + var synchroFormData = function () {
  384 + //同步班次类型
  385 + var type = $f('bcType', f1).val();
  386 + if (bcTypes[type])
  387 + $f('bcType', f2).val(bcTypes[type]).trigger('change');
  388 + var updown = $f('xlDir', f1).val();
  389 +
  390 + //1 结束时间 = 2 开始时间
  391 + $f('fcsj', f2).val($f('zdsj', f1).val());
  392 + if (type != 'out' && type != 'in') {
  393 + //走向
  394 + $f('xlDir', f2).val(updown == 0 ? 1 : 0).trigger('change');
  395 +
  396 + //第一个表单终点 = 第二个起点
  397 + var oneZdName = $('[name=zdzCode] option:selected', f1).text();
  398 + $f('qdzCode', f2).val(searchParallelStation(oneZdName, updown == 0 ? 1 : 0));
  399 + //第一个表单起点 = 第二个终点
  400 + var oneQdName = $('[name=qdzCode] option:selected', f1).text();
  401 + $f('zdzCode', f2).val(searchParallelStation(oneQdName, updown == 0 ? 1 : 0)).trigger('change');
  402 + }
  403 + else {
  404 + //进出场走向相同
  405 + $f('xlDir', f2).val(updown).trigger('change');
  406 + //第一个表单终点 = 第二个起点
  407 + $f('qdzCode', f2).val($f('zdzCode', f1).val());
  408 + //第一个表单起点 = 第二个终点
  409 + $f('zdzCode', f2).val($f('qdzCode', f1).val()).trigger('change');
  410 + }
  411 +
  412 + };
  413 +
  414 +
  415 + //返回另一个走向对应的站点
  416 + function searchParallelStation(stationName, updown) {
  417 + var routes = stationRoutes[updown]
  418 + , len = routes.length;
  419 +
  420 + for (var i = 0; i < len; i++) {
  421 + if (routes[i].stationName == stationName)
  422 + return routes[i].stationCode;
  423 + }
  424 + }
  425 + })();
  426 +</script>
0 427 \ No newline at end of file
... ...
src/main/resources/static/real_control_v2/js/line_schedule/context_menu.js
... ... @@ -27,7 +27,7 @@ var gb_schedule_context_menu = (function () {
27 27 $.get(folder + '/temp_sch/add_normal.html', function (dom) {
28 28 add_sch_doms.normal_dom=dom;
29 29 });
30   -
  30 + //AI语音使用
31 31 $.get(folder + '/temp_sch/add_normal_recoder.html', function (dom) {
32 32 add_sch_doms.normal_recoder_dom=dom;
33 33 });
... ... @@ -48,6 +48,17 @@ var gb_schedule_context_menu = (function () {
48 48 });
49 49  
50 50  
  51 +
  52 + //智能调度使用
  53 + $.get(folder + '/temp_sch_v2/add_normal_znddType.html', function (dom) {
  54 + add_sch_doms_v2.normal_znddType_dom=dom;
  55 + });
  56 + $.get(folder + '/temp_sch_v2/add_two_way_znddType.html', function (dom) {
  57 + add_sch_doms_v2.two_znddType_dom=dom;
  58 + });
  59 +
  60 +
  61 +
51 62 var callbackHandler = {
52 63 get_st_doms: function () {
53 64 return st_doms;
... ...
src/main/resources/static/real_control_v2/js/stationcf/klyj.js
... ... @@ -28,10 +28,12 @@ var gb_klyj = (function () {
28 28 $wrap.append(htmlStr);
29 29 };
30 30  
31   -
  31 + //临加班次
32 32 $wrap.on('click', '.ljbc', function () {
33 33 var that = $(this);
34 34 var data = dataMap.get(that.data('uuid'));
  35 + let ljtype = $('#ljtype').val();
  36 + data.ljtype = ljtype;
35 37 open_modal("/real_control_v2/zndd/type/dkl.html", {
36 38 data: data
37 39 }, {center: true, bgclose: false, modal: true});
... ... @@ -44,6 +46,25 @@ var gb_klyj = (function () {
44 46 /*if (close) close = false*/
45 47 });
46 48  
  49 + $wrap.on('change', '#ljtype', function () {
  50 + let fn = $('#ljtype').val();
  51 + if (fn == "lin1"){
  52 + $(".lin1").css({ display: ''});
  53 + $(".lin2").css({display: 'none'});
  54 + $(".lin3").css({display: 'none'});
  55 + }else if((fn == "lin2")) {
  56 + $(".lin1").css({ display: 'none'});
  57 + $(".lin2").css({display: ''});
  58 + $(".lin3").css({display: 'none'});
  59 + }else {
  60 + $(".lin1").css({ display: 'none'});
  61 + $(".lin2").css({display: 'none'});
  62 + $(".lin3").css({display: ''});
  63 + }
  64 +
  65 + });
  66 +
  67 +
47 68 $wrap.on('click', '.images', function () {
48 69 var image = $(this).data('image');
49 70 var imgHtml = "<img src='" + image + "' style='width: " + 600 + "px;height:" + 300 + "px'/>";
... ...
src/main/resources/static/real_control_v2/main.html
... ... @@ -379,6 +379,31 @@
379 379 <div class="popup-msg-content">
380 380 <span>站点人数&nbsp;{{num}} &nbsp;&nbsp;预警时间&nbsp;{{timeStr}}</span>
381 381 </div>
  382 + <div class="">
  383 + <select class="form-control uk-margin-small-top" id ="ljtype" style="width: 180px;" >
  384 + <option value="lin1">方案1:临加正常班次</option>
  385 + <option value="lin2">方案2:临加区间班次</option>
  386 + <option value="lin3">方案3:调整发车时间</option>
  387 + </select>
  388 + </div>
  389 + <div class="dkl_msg_text lin1">
  390 + <span>
  391 + 添加一辆起点站到终点站的正常班次。<br>
  392 + 较适于始发站<br>
  393 + </span>
  394 + </div>
  395 + <div class="dkl_msg_text lin2" style="display: none">
  396 + <span>
  397 + 车辆到当前站点,从当前站点开始营运。<br>
  398 + 适用于中途站<br>
  399 + </span>
  400 + </div>
  401 + <div class="dkl_msg_text lin3" style="display: none">
  402 + <span>
  403 + 提前发车下一班车<br>
  404 + 适用于起点站<br>
  405 + </span>
  406 + </div>
382 407 <div class="popup-msg-contents" >
383 408 <button class="uk-button uk-button-primary images" data-image="{{image}}" value="{{dir}}">查看图片</button>
384 409 <button class="uk-button uk-button-primary ljbc" data-uuid="{{uuid}}" data-linecode="{{sch.xlBm}}" data-id="{{sch.id}}">临加班次</button>
... ...
src/main/resources/static/real_control_v2/zndd/type/dkl.html
... ... @@ -35,8 +35,10 @@
35 35 </div>
36 36  
37 37 <div class="uk-grid uk-width-3-6 lj_2" style="display: none; padding-left: 100px">
38   - <div class="uk-width-1-1" id ="tempsdsf"></div>
  38 + <form class="uk-form uk-form-horizontal add-sch-form one_form" id ="tempsdsf">
39 39  
  40 +
  41 + </form>
40 42 </div>
41 43  
42 44 </div>
... ... @@ -59,21 +61,42 @@
59 61 var formHtmls = template('sjZ-divs-temp', sch);
60 62 $('.sjzlist', modal).html(formHtmls);
61 63  
  64 + if (sch.ljtype == "lin3"){
  65 + $(".lj_1").css({
  66 + display: 'none'
  67 + });
  68 + $(".lj_2").css({
  69 + display: ''
  70 + });
62 71  
63   -
64   - //参数改变
65   - $('form[name=yjtkForm] input', modal).on('blur', function () {
66   - var field = $(this).attr('name');
67   - var val = $(this).val();
68   - if (conf[field] != val) {
69   - var data = $('form[name=yjtkForm]', modal).serializeJSON();
70   - data.lineCode = conf.line.lineCode;
71   - gb_common.$post('/lineConfig/yjtkSet', data, function (rs) {
72   - conf = rs.conf;
73   - notify_succ('调整随到随发参数');
  72 + $.get('/logZndd/nextSch/'+sch.sch.id, function (datan) {
  73 + var formHtmls = template('sch_config_form-temp1', datan);
  74 + $('#tempsdsf', modal).html(formHtmls);
  75 + var f = $('#tempsdsf', modal).formValidation({
  76 + framework: 'uikit',
  77 + locale: 'zh_CN'
74 78 });
75   - }
76   - });
  79 + $("#form-s-t").val("大客流情况");
  80 + f.on('success.form.fv', function(e) {
  81 + debugger
  82 + e.preventDefault();
  83 + $('[type=submit]', f).attr('disabled', 'disabled');
  84 + var data = $(this).serializeJSON();
  85 + if(data.dfsj==sch.dfsj && data.remarks=='' && data.bcType == sch.bcType){
  86 + return;
  87 + }
  88 + gb_common.$post('/realSchedule/outgoAdjust', data, function(rs){
  89 +
  90 + //更新班次信息
  91 + gb_schedule_table.updateSchedule(rs.ts);
  92 + notify_succ('操作成功!');
  93 + UIkit.modal(modal).hide();
  94 + //重新计算应发未发
  95 + gb_schedule_table.calc_yfwf_num(sch.xlBm);
  96 + });
  97 + });
  98 + });
  99 + }
77 100  
78 101  
79 102 $("#destroySelect").on('change',function(){
... ... @@ -92,8 +115,8 @@
92 115 $(".lj_2").css({
93 116 display: ''
94 117 });
95   - $.get('/lineConfig/getByLineCode', {lineCode: sch.lineCode}, function (datan) {
96   - var formHtmls = template('buffer_config_form-temp1', datan);
  118 + $.get('/nextSch/'+sch.sch.id, null, function (datan) {
  119 + var formHtmls = template('sch_config_form-temp1', datan);
97 120 conf = datan;
98 121 $('#tempsdsf', modal).html(formHtmls);
99 122 $('[name=enableYjtk]', modal).on('change', function () {
... ... @@ -127,11 +150,11 @@
127 150 //to and fro
128 151 res.zdsjActual = moment(new Date().getTime() +(1000 * 60 *5)).format("HH:mm");
129 152 res.zdsj = moment(new Date().getTime() + (1000 * 60 * 5)).format("HH:mm");
130   - $('.toAndFroCont', modal).html(st_doms.two_way_dom)
  153 + $('.toAndFroCont', modal).html(st_doms.two_znddType_dom)
131 154 .trigger('init', {sch: res, submitFun: submit_temp_schedule_form, stationRoutes: stationRoutes});
132 155  
133 156 //normal
134   - $('.normalCont', modal).html(st_doms.normal_dom)
  157 + $('.normalCont', modal).html(st_doms.normal_znddType_dom)
135 158 .trigger('init', {sch: res, submitFun: submit_temp_schedule_form});
136 159 var kxcl=res.kxcl;
137 160 var arr=kxcl.split(',');
... ... @@ -477,8 +500,6 @@
477 500 }
478 501  
479 502 $(modal).on('mouseenter', '.uk-icon-question-circle', function() {
480   -
481   - debugger
482 503 $(this).qtip({
483 504 show: {
484 505 ready: true,
... ... @@ -502,6 +523,9 @@
502 523 });
503 524 });
504 525  
  526 +
  527 +
  528 +
505 529 })();
506 530 </script>
507 531 </div>
... ... @@ -578,45 +602,111 @@
578 602 </script>
579 603  
580 604  
581   -<script id="buffer_config_form-temp1" type="text/html">
582   - <div id="emergency_stop_panel">
583   - <h3 class="btn_title_lines1">
584   - <a class="uk-link-reset" >调整随到随发 </a>
585   - </h3>
586   - <div>
587   - <form class="uk-form" name="yjtkForm">
588   - <table>
589   - <tr>
590   - <td colspan="2">
591   - 是否启用
592   - <select class="z-depth-input" name="enableYjtk">
593   - <option value="0" >禁用</option>
594   - <option value="1" {{if enableYjtk}}selected{{/if}}>启用</option>
595   - </select>
596   - </td>
597   - </tr>
598   - <tr>
599   - <td colspan="2">
600   - 时间
601   - <input type="time" value="{{yjtkStart}}" name="yjtkStart" {{if !enableYjtk}}disabled{{/if}}>至
602   - <input type="time" value="{{yjtkEnd}}" name="yjtkEnd" {{if !enableYjtk}}disabled{{/if}}>
603   - </td>
604   - </tr>
605   - <tr>
606   - <td>
607   - 上行停靠时间
608   - <input type="number" value="{{upStopMinute}}" name="upStopMinute" {{if !enableYjtk}}disabled{{/if}}>分钟
609   - </td>
610   - </tr>
611   - <tr>
612   - <td>
613   - 下行停靠时间
614   - <input type="number" value="{{downStopMinute}}" name="downStopMinute" {{if !enableYjtk}}disabled{{/if}}>分钟
615   - </td>
616   - </tr>
617   - </table>
618   - </form>
  605 +<script id="sch_config_form-temp1" type="text/html">
  606 +
  607 + <input type="hidden" name="id" value="{{id}}"/>
  608 + <input type="hidden" name="opType" value="1"/>
  609 + <div class="uk-grid">
  610 + <div class="uk-width-1-2">
  611 + <div class="uk-form-row">
  612 + <label class="uk-form-label">从</label>
  613 + <div class="uk-form-controls">
  614 + <input type="text" value="{{qdzName}}" name="fcsj" disabled>
  615 + </div>
  616 + </div>
  617 + </div>
  618 + <div class="uk-width-1-2">
  619 + <div class="uk-form-row">
  620 + <label class="uk-form-label">到</label>
  621 + <div class="uk-form-controls">
  622 + <input type="text" value="{{zdzName}}" name="fcsj" disabled>
  623 + </div>
  624 + </div>
  625 + </div>
619 626 </div>
  627 +
  628 +
  629 + <div class="uk-grid">
  630 + <div class="uk-width-1-1">
  631 + <div class="uk-form-row">
  632 + <label class="uk-form-label" for="form-s-t">备注<small class="font-danger">(不超过50个字符)</small></label>
  633 + <div class="uk-form-controls">
  634 + <textarea class="zndd_text_input_color" id="form-s-t" cols="30" rows="5" name="remarks" data-fv-stringlength="true" data-fv-stringlength-max="50" style="width: 100%">{{remarks}}</textarea>
  635 + </div>
  636 + </div>
  637 + </div>
  638 +
  639 + </div>
  640 +
  641 + <div class="uk-grid">
  642 + <div class="uk-width-1-2">
  643 + <div class="uk-form-row">
  644 + <label class="uk-form-label">车辆</label>
  645 + <div class="uk-form-controls">
  646 + <div class="uk-autocomplete uk-form car-autocom">
  647 + <input type="text" value="{{clZbh}}" disabled>
  648 + </div>
  649 + </div>
  650 + </div>
  651 + </div>
  652 + <div class="uk-width-1-2">
  653 + <div class="uk-form-row">
  654 + <label class="uk-form-label">路&nbsp;牌</label>
  655 + <div class="uk-form-controls">
  656 + <input type="text" value="{{lpName}}" disabled>
  657 + </div>
  658 + </div>
  659 + </div>
  660 + </div>
  661 + <div class="uk-grid">
  662 + <div class="uk-width-1-2">
  663 + <div class="uk-form-row">
  664 + <label class="uk-form-label">计发时刻:</label>
  665 + <div class="uk-form-controls">
  666 + <div class="uk-autocomplete uk-form jsy-autocom">
  667 + <input type="time" value="{{fcsj}}" disabled>
  668 + </div>
  669 + </div>
  670 + </div>
  671 + </div>
  672 + <div class="uk-width-1-2">
  673 + <div class="uk-form-row">
  674 + <label class="uk-form-label">预发时刻</label>
  675 + <div class="uk-form-controls">
  676 + <div class="uk-autocomplete uk-form spy-autocom">
  677 + <input type="time" class="zndd_text_input_color" name="dfsj" value="{{dfsj}}" required autofocus>
  678 + </div>
  679 + </div>
  680 + </div>
  681 + </div>
  682 + </div>
  683 + <div class="uk-grid">
  684 + <div class="uk-width-1-2">
  685 + <div class="uk-form-row">
  686 + <label class="uk-form-label">驾驶员:</label>
  687 + <div class="uk-form-controls">
  688 + <div class="uk-autocomplete uk-form jsy-autocom">
  689 + <input class="form-control" value="{{jName}}" disabled></input>
  690 + </div>
  691 + </div>
  692 + </div>
  693 + </div>
  694 + <div class="uk-width-1-2">
  695 + <div class="uk-form-row">
  696 + <label class="uk-form-label">售票员</label>
  697 + <div class="uk-form-controls">
  698 + <div class="uk-autocomplete uk-form spy-autocom">
  699 + <input class="form-control" value="{{sName}}" disabled></input>
  700 + </div>
  701 + </div>
  702 + </div>
  703 + </div>
  704 + </div>
  705 + <hr style="margin-top: 35px;">
  706 +
  707 + <div class="uk-modal-footer uk-text-right" style="margin-bottom: -20px;">
  708 + <button type="button" class="uk-button uk-modal-close">取消</button>
  709 + <button type="submit" class="uk-button uk-button-primary"><i class="uk-icon-check"></i> &nbsp;保存</button>
620 710 </div>
621 711 </script>
622 712 <script id="home-icoe-img" type="text/html">
... ...