Commit 9789dd4feb6d7091ed04a4eee5b8cf52ff6e5e35

Authored by 潘钊
1 parent 2c729139

update

src/main/java/com/bsth/entity/realcontrol/LineConfig.java
@@ -75,6 +75,15 @@ public class LineConfig { @@ -75,6 +75,15 @@ public class LineConfig {
75 //下行出站 75 //下行出站
76 private int downOutDiff; 76 private int downOutDiff;
77 77
  78 + /**
  79 + * 应急停靠
  80 + */
  81 + private boolean enableYjtk;
  82 + private String yjtkStart;
  83 + private String yjtkEnd;
  84 + private int upStopMinute;
  85 + private int downStopMinute;
  86 +
78 87
79 @OneToMany(cascade = CascadeType.ALL) 88 @OneToMany(cascade = CascadeType.ALL)
80 private Set<D80ReplyTemp> d80Temps = new HashSet<>(); 89 private Set<D80ReplyTemp> d80Temps = new HashSet<>();
@@ -219,4 +228,44 @@ public class LineConfig { @@ -219,4 +228,44 @@ public class LineConfig {
219 public void setTwinsPark(String twinsPark) { 228 public void setTwinsPark(String twinsPark) {
220 this.twinsPark = twinsPark; 229 this.twinsPark = twinsPark;
221 } 230 }
  231 +
  232 + public String getYjtkStart() {
  233 + return yjtkStart;
  234 + }
  235 +
  236 + public void setYjtkStart(String yjtkStart) {
  237 + this.yjtkStart = yjtkStart;
  238 + }
  239 +
  240 + public String getYjtkEnd() {
  241 + return yjtkEnd;
  242 + }
  243 +
  244 + public void setYjtkEnd(String yjtkEnd) {
  245 + this.yjtkEnd = yjtkEnd;
  246 + }
  247 +
  248 + public int getUpStopMinute() {
  249 + return upStopMinute;
  250 + }
  251 +
  252 + public void setUpStopMinute(int upStopMinute) {
  253 + this.upStopMinute = upStopMinute;
  254 + }
  255 +
  256 + public int getDownStopMinute() {
  257 + return downStopMinute;
  258 + }
  259 +
  260 + public void setDownStopMinute(int downStopMinute) {
  261 + this.downStopMinute = downStopMinute;
  262 + }
  263 +
  264 + public boolean isEnableYjtk() {
  265 + return enableYjtk;
  266 + }
  267 +
  268 + public void setEnableYjtk(boolean enableYjtk) {
  269 + this.enableYjtk = enableYjtk;
  270 + }
222 } 271 }
src/main/java/com/bsth/repository/sys/DutyEmployeeRepository.java
@@ -13,7 +13,7 @@ import java.util.List; @@ -13,7 +13,7 @@ import java.util.List;
13 @Repository 13 @Repository
14 public interface DutyEmployeeRepository extends BaseRepository<DutyEmployee, Long>{ 14 public interface DutyEmployeeRepository extends BaseRepository<DutyEmployee, Long>{
15 15
16 - //@Query("select t from DutyEmployee t where t.codeIdx like %?1% and t.ts > ?2 and t.ts < ?3")  
17 - @Query("select t from DutyEmployee t where t.codeIdx like %?1% and t.ts < ?2")  
18 - List<DutyEmployee> findByLineAndTime(String lineCode, long et); 16 + @Query("select t from DutyEmployee t where t.codeIdx like %?1% and t.ts > ?2 and t.ts < ?3")
  17 + //@Query("select t from DutyEmployee t where t.codeIdx like %?1% and t.ts < ?2")
  18 + List<DutyEmployee> findByLineAndTime(String lineCode, long st, long et);
19 } 19 }
src/main/java/com/bsth/service/realcontrol/impl/LineConfigServiceImpl.java
@@ -11,6 +11,7 @@ import org.slf4j.LoggerFactory; @@ -11,6 +11,7 @@ import org.slf4j.LoggerFactory;
11 import org.springframework.beans.factory.annotation.Autowired; 11 import org.springframework.beans.factory.annotation.Autowired;
12 import org.springframework.stereotype.Service; 12 import org.springframework.stereotype.Service;
13 13
  14 +import java.lang.reflect.Field;
14 import java.util.ArrayList; 15 import java.util.ArrayList;
15 import java.util.HashMap; 16 import java.util.HashMap;
16 import java.util.List; 17 import java.util.List;
@@ -104,7 +105,7 @@ public class LineConfigServiceImpl extends BaseServiceImpl&lt;LineConfig, Integer&gt; @@ -104,7 +105,7 @@ public class LineConfigServiceImpl extends BaseServiceImpl&lt;LineConfig, Integer&gt;
104 try { 105 try {
105 LineConfig conf = lineConfigData.get(lineCode); 106 LineConfig conf = lineConfigData.get(lineCode);
106 107
107 - conf.setInParkForSource(enable==1); 108 + conf.setInParkForSource(enable == 1);
108 lineConfigData.set(conf); 109 lineConfigData.set(conf);
109 110
110 rs.put("status", ResponseCode.SUCCESS); 111 rs.put("status", ResponseCode.SUCCESS);
@@ -123,8 +124,10 @@ public class LineConfigServiceImpl extends BaseServiceImpl&lt;LineConfig, Integer&gt; @@ -123,8 +124,10 @@ public class LineConfigServiceImpl extends BaseServiceImpl&lt;LineConfig, Integer&gt;
123 Map<String, Object> rs = new HashMap<>(); 124 Map<String, Object> rs = new HashMap<>();
124 try { 125 try {
125 LineConfig conf = lineConfigData.get(lineCode); 126 LineConfig conf = lineConfigData.get(lineCode);
  127 + Field f = conf.getClass().getDeclaredField(field);
  128 + f.setAccessible(true);
  129 + f.setInt(conf, Integer.parseInt(value));
126 130
127 - conf.getClass().getField(field).set(conf, value);  
128 lineConfigData.set(conf); 131 lineConfigData.set(conf);
129 132
130 rs.put("status", ResponseCode.SUCCESS); 133 rs.put("status", ResponseCode.SUCCESS);
src/main/java/com/bsth/service/sys/impl/DutyEmployeeServiceImpl.java
@@ -39,6 +39,7 @@ public class DutyEmployeeServiceImpl extends BaseServiceImpl&lt;DutyEmployee, Long&gt; @@ -39,6 +39,7 @@ public class DutyEmployeeServiceImpl extends BaseServiceImpl&lt;DutyEmployee, Long&gt;
39 */ 39 */
40 public List<DutyEmployee> getDutyEmployee(String lineCode, String startTime, String endTime) { 40 public List<DutyEmployee> getDutyEmployee(String lineCode, String startTime, String endTime) {
41 DateTimeFormatter fmtyyyyMMddHHmm = DateTimeFormat.forPattern("yyyy-MM-ddHH:mm"); 41 DateTimeFormatter fmtyyyyMMddHHmm = DateTimeFormat.forPattern("yyyy-MM-ddHH:mm");
42 - return dutyEmployeeRepository.findByLineAndTime(lineCode + ",", fmtyyyyMMddHHmm.parseMillis(endTime)); 42 + return dutyEmployeeRepository.findByLineAndTime(lineCode + ",", fmtyyyyMMddHHmm.parseMillis(startTime)
  43 + , fmtyyyyMMddHHmm.parseMillis(endTime));
43 } 44 }
44 } 45 }
src/main/resources/static/real_control_v2/css/line_schedule.css
@@ -923,7 +923,7 @@ input.i-cbox[type=checkbox]{ @@ -923,7 +923,7 @@ input.i-cbox[type=checkbox]{
923 923
924 #add-sub-task-inpark-modal .uk-modal-dialog{ 924 #add-sub-task-inpark-modal .uk-modal-dialog{
925 width: 755px; 925 width: 755px;
926 - transition: all .3s ease; 926 + /*transition: all .3s ease;*/
927 } 927 }
928 928
929 #add-sub-task-inpark-modal .uk-modal-dialog.three-children{ 929 #add-sub-task-inpark-modal .uk-modal-dialog.three-children{
src/main/resources/static/real_control_v2/css/modal_extend.css 0 → 100644
  1 +.uk-modal{
  2 + background: rgba(0,0,0,.4) !important;
  3 +}
  4 +
  5 +.uk-modal-dialog{
  6 + border: 1px solid #dd6952;
  7 +
  8 + position: absolute !important;
  9 + margin: 0 !important;
  10 +}
  11 +
  12 +.uk-modal-dialog.uk-modal-dialog-blank{
  13 + border: none !important;
  14 +}
  15 +
  16 +.uk-modal-header{
  17 + cursor: move;
  18 + user-select: none;
  19 +}
0 \ No newline at end of file 20 \ No newline at end of file
src/main/resources/static/real_control_v2/fragments/north/nav/line_config/buffer_config.html
@@ -48,7 +48,7 @@ @@ -48,7 +48,7 @@
48 <tr> 48 <tr>
49 <td colspan="2" style="padding-left: 30px;"> 49 <td colspan="2" style="padding-left: 30px;">
50 是否启用 50 是否启用
51 - <select class="z-depth-input"> 51 + <select class="z-depth-input" name="enableYjtk">
52 <option>禁用</option> 52 <option>禁用</option>
53 <option>启用</option> 53 <option>启用</option>
54 </select> 54 </select>
@@ -57,20 +57,20 @@ @@ -57,20 +57,20 @@
57 <tr> 57 <tr>
58 <td colspan="2" style="padding-left: 58px;"> 58 <td colspan="2" style="padding-left: 58px;">
59 时间 59 时间
60 - <input type="time" disabled>至  
61 - <input type="time" disabled> 60 + <input type="time" value="{{yjtkStart}}" name="yjtkStart" {{if !enableYjtk}}disabled{{/if}}>至
  61 + <input type="time" value="{{yjtkEnd}}" name="yjtkEnd" {{if !enableYjtk}}disabled{{/if}}>
62 </td> 62 </td>
63 </tr> 63 </tr>
64 <tr> 64 <tr>
65 <td> 65 <td>
66 上行停靠时间 66 上行停靠时间
67 - <input type="number" disabled>分钟 67 + <input type="number" value="{{upStopMinute}}" name="upStopMinute" {{if !enableYjtk}}disabled{{/if}}>分钟
68 </td> 68 </td>
69 </tr> 69 </tr>
70 <tr> 70 <tr>
71 <td> 71 <td>
72 下行停靠时间 72 下行停靠时间
73 - <input type="number" disabled>分钟 73 + <input type="number" value="{{downStopMinute}}" name="downStopMinute" {{if !enableYjtk}}disabled{{/if}}>分钟
74 </td> 74 </td>
75 </tr> 75 </tr>
76 </table> 76 </table>
@@ -108,11 +108,15 @@ @@ -108,11 +108,15 @@
108 value: val 108 value: val
109 }, function (rs) { 109 }, function (rs) {
110 conf[rs.field] = rs.value; 110 conf[rs.field] = rs.value;
111 - console.log('rs', rs);  
112 notify_succ(textMap[field] + val + '秒'); 111 notify_succ(textMap[field] + val + '秒');
113 }); 112 });
114 } 113 }
115 }); 114 });
  115 +
  116 + //应急停靠
  117 + $('[name=enableYjtk]', wrap).on('change', function () {
  118 +
  119 + });
116 }); 120 });
117 121
118 })(); 122 })();
src/main/resources/static/real_control_v2/fragments/north/nav/line_config/line_config.html
@@ -63,6 +63,16 @@ @@ -63,6 +63,16 @@
63 } 63 }
64 }); 64 });
65 65
  66 + /**
  67 + * 手风琴拨动
  68 + */
  69 + $('.uk-accordion').on('toggle.uk.accordion', function (e, active, toggle, content) {
  70 + if(active){
  71 + activeCode = $(toggle).data('id');
  72 + load();
  73 + }
  74 + });
  75 +
66 var load = function () { 76 var load = function () {
67 //获取线路配置信息 77 //获取线路配置信息
68 $.get('/lineConfig/getByLineCode', {lineCode: activeCode}, function (conf) { 78 $.get('/lineConfig/getByLineCode', {lineCode: activeCode}, function (conf) {
src/main/resources/static/real_control_v2/fragments/north/nav/line_config/line_config_entity.html
@@ -9,7 +9,7 @@ @@ -9,7 +9,7 @@
9 </h2> 9 </h2>
10 <div> 10 <div>
11 <div> 11 <div>
12 - 闵行11路每天 12 + <span class="line_name"></span>每天
13 <div class="uk-form-icon" style="margin: 0 5px;"> 13 <div class="uk-form-icon" style="margin: 0 5px;">
14 <i class="uk-icon-clock-o"></i> 14 <i class="uk-icon-clock-o"></i>
15 <input name="startOptInput" readonly type="text" class="z-depth-input" value="{{startOpt}}" 15 <input name="startOptInput" readonly type="text" class="z-depth-input" value="{{startOpt}}"
@@ -23,8 +23,8 @@ @@ -23,8 +23,8 @@
23 <small><i class="uk-icon-question-circle"></i> 所有发车时间小于该时间的班次都默认跨过24点,手动调整的实发实达均应用此规则。</small> 23 <small><i class="uk-icon-question-circle"></i> 所有发车时间小于该时间的班次都默认跨过24点,手动调整的实发实达均应用此规则。</small>
24 </li> 24 </li>
25 </ul> 25 </ul>
26 - <a class="uk-button uk-button-mini">删除班次</a>  
27 - <a class="uk-button uk-button-mini">重新加载计划排班</a> 26 + <a class="uk-button uk-button-mini">删除实际排班</a>
  27 + <a class="uk-button uk-button-mini">重新加载实际排班</a>
28 <a class="uk-button uk-button-mini">加载历史GPS恢复到离站</a> 28 <a class="uk-button uk-button-mini">加载历史GPS恢复到离站</a>
29 </div> 29 </div>
30 </div> 30 </div>
@@ -60,7 +60,7 @@ @@ -60,7 +60,7 @@
60 </h2> 60 </h2>
61 <div> 61 <div>
62 是否启用 62 是否启用
63 - <select name="inParkForSourceSelect" class="z-depth-input"> 63 + <select name="inParkForSourceSelect" class="z-depth-input" disabled>
64 <option value="0">禁用</option> 64 <option value="0">禁用</option>
65 <option value="1">启用</option> 65 <option value="1">启用</option>
66 </select> 66 </select>
@@ -87,7 +87,7 @@ @@ -87,7 +87,7 @@
87 var htmlStr = template('line_config_entity_form-temp', conf); 87 var htmlStr = template('line_config_entity_form-temp', conf);
88 $('form', wrap).html(htmlStr); 88 $('form', wrap).html(htmlStr);
89 89
90 - console.log('confconf', conf); 90 + $('.line_name', '#line_config_entity_wrap').text(conf.line.name);
91 //更新排班时间 91 //更新排班时间
92 $('input[name=startOptInput]', wrap).on('change', updateStartTime); 92 $('input[name=startOptInput]', wrap).on('change', updateStartTime);
93 //出场时间类型 93 //出场时间类型
src/main/resources/static/real_control_v2/js/main.js
@@ -61,10 +61,7 @@ var gb_main_ep = new EventProxy(), @@ -61,10 +61,7 @@ var gb_main_ep = new EventProxy(),
61 } 61 }
62 }); 62 });
63 63
64 -//modal hide remove dom  
65 -$(document).on('hide.uk.modal', '.uk-modal', function () {  
66 - $(this).remove();  
67 -}); 64 +
68 65
69 $(document).on('click', '.ct-bottom-drawer-close', function () { 66 $(document).on('click', '.ct-bottom-drawer-close', function () {
70 $(this).parents('.ct-bottom-drawer').removeClass('open'); 67 $(this).parents('.ct-bottom-drawer').removeClass('open');
@@ -150,30 +147,6 @@ var disabled_submit_btn = function (form) { @@ -150,30 +147,6 @@ var disabled_submit_btn = function (form) {
150 } 147 }
151 }; 148 };
152 149
153 -var show_modal = function (id, dom) {  
154 - $(document.body).append(dom);  
155 - return UIkit.modal(id, {  
156 - bgclose: false  
157 - }).show();  
158 -};  
159 -  
160 -var open_modal = function (pageUrl, data, opt) {  
161 - $.get(pageUrl, function (dom) {  
162 - if (!$(dom).hasClass('uk-modal')) {  
163 - alert('无效的dom片段!');  
164 - return;  
165 - }  
166 - var id = '#' + $(dom).attr('id');  
167 -  
168 - $(document.body).append(dom);  
169 -  
170 - UIkit.modal(id, opt).show();  
171 -  
172 - if (data)  
173 - $(id).trigger('init', data);  
174 - });  
175 -};  
176 -  
177 150
178 function showUpdateDescription() { 151 function showUpdateDescription() {
179 //更新说明 152 //更新说明
src/main/resources/static/real_control_v2/js/modal_extend.js 0 → 100644
  1 +
  2 +//modal hide remove dom
  3 +$(document).on('hide.uk.modal', '.uk-modal', function () {
  4 + $(this).remove();
  5 +});
  6 +
  7 +$(document).on('show.uk.modal', '.uk-modal', function () {
  8 + if($('.uk-modal-dialog', this).hasClass('uk-modal-dialog-blank'))
  9 + return;
  10 + //计算居中位置
  11 + var win = $('body');
  12 + var Y = (win.width() - $('.uk-modal-dialog', this).width()) / 2 - 10;
  13 + $('.uk-modal-dialog', this).css('top', '50px').css('left', Y + 'px');
  14 +});
  15 +
  16 +var show_modal = function (id, dom) {
  17 + $(document.body).append(dom);
  18 + return UIkit.modal(id, {
  19 + bgclose: false
  20 + }).show();
  21 +};
  22 +
  23 +var open_modal = function (pageUrl, data, opt) {
  24 + $.get(pageUrl, function (dom) {
  25 + if (!$(dom).hasClass('uk-modal')) {
  26 + alert('无效的dom片段!');
  27 + return;
  28 + }
  29 + var id = '#' + $(dom).attr('id');
  30 +
  31 + $(document.body).append(dom);
  32 + UIkit.modal(id, opt).show();
  33 + //move
  34 + modal_move($('.uk-modal-header',id));
  35 +
  36 + if (data)
  37 + $(id).trigger('init', data);
  38 + });
  39 +};
  40 +
  41 +
  42 +var modal_move = function (m_header) {
  43 + var _moveFlag;
  44 + var _moveObj;
  45 + var _offset;
  46 + var dict= {};
  47 + var win = $('body');
  48 +
  49 + $(m_header).on('mousedown', function (e) {
  50 + console.log('mousedown');
  51 + e.preventDefault();
  52 + _moveFlag = true;
  53 + _moveObj = $(this).parent();
  54 + _offset = [
  55 + e.clientX - parseFloat(_moveObj.css('left')) - 1,
  56 + e.clientY - parseFloat(_moveObj.css('top')) - 1
  57 + ];
  58 + });
  59 +
  60 + $(m_header).parents('.uk-modal').mousemove(function (e) {
  61 + e.preventDefault();
  62 + if(!_moveFlag || !_moveObj)
  63 + return;
  64 +
  65 + var X = e.clientX - _offset[0]
  66 + ,Y = e.clientY - _offset[1];
  67 +
  68 + dict.stX = win.scrollLeft();
  69 + dict.stY = win.scrollTop();
  70 +
  71 + //控制元素不被拖出窗口外
  72 + var setRig = win.width() - _moveObj.outerWidth() + dict.stX
  73 + ,setBot = win.height() - _moveObj.outerHeight() + dict.stY;
  74 + X < dict.stX && (X = dict.stX);
  75 + X > setRig && (X = setRig);
  76 + Y < dict.stY && (Y = dict.stY);
  77 + Y > setBot && (Y = setBot);
  78 +
  79 + _moveObj.css({
  80 + left: X
  81 + ,top: Y
  82 + });
  83 + });
  84 + $(window).on('mouseup', function () {
  85 + _moveFlag = false;
  86 + _moveObj = null;
  87 + });
  88 +
  89 +};
src/main/resources/static/real_control_v2/main.html
@@ -33,6 +33,7 @@ @@ -33,6 +33,7 @@
33 <link rel="stylesheet" href="/real_control_v2/assets/plugins/qtip/jquery.qtip.min.css"/> 33 <link rel="stylesheet" href="/real_control_v2/assets/plugins/qtip/jquery.qtip.min.css"/>
34 <link rel="stylesheet" href="/real_control_v2/css/pace.css"/> 34 <link rel="stylesheet" href="/real_control_v2/css/pace.css"/>
35 35
  36 + <link rel="stylesheet" href="/real_control_v2/css/modal_extend.css"/>
36 </head> 37 </head>
37 38
38 <body> 39 <body>
@@ -181,6 +182,8 @@ @@ -181,6 +182,8 @@
181 182
182 <!-- 处理表单片段嵌入问题 --> 183 <!-- 处理表单片段嵌入问题 -->
183 <script src="/real_control_v2/js/forms/form_embed.js"></script> 184 <script src="/real_control_v2/js/forms/form_embed.js"></script>
  185 +
  186 +<script src="/real_control_v2/js/modal_extend.js"></script>
184 </body> 187 </body>
185 188
186 </html> 189 </html>