Commit 4a5801f44cdc6454cdad850861df38bc01aafef2

Authored by 潘钊
1 parent dae65f88

线调bug修复1101

src/main/java/com/bsth/controller/realcontrol/BasicDataController.java
... ... @@ -47,6 +47,15 @@ public class BasicDataController {
47 47 return rs;
48 48 }
49 49  
  50 + @RequestMapping("/all_personnel")
  51 + public Map<String, String> all_personnel(){
  52 + //Map<String, Object> rs = new HashMap<>();
  53 + //PersonnelFieldFilter filter=new PersonnelFieldFilter();
  54 +
  55 + //rs.put("list", JSON.parse(JSON.toJSONString(BasicData.jsyMap.values(), filter)));
  56 + return BasicData.allPerson;
  57 + }
  58 +
50 59  
51 60 public class PersonnelFieldFilter implements PropertyFilter{
52 61  
... ...
src/main/java/com/bsth/oplog/db/DBHelper.java
... ... @@ -37,7 +37,7 @@ public class DBHelper implements CommandLineRunner{
37 37  
38 38 @Override
39 39 public void run() {
40   - persistence.batchSave(buffer);
  40 + //persistence.batchSave(buffer);
41 41 }
42 42 }
43 43  
... ...
src/main/resources/application-dev.properties
... ... @@ -8,7 +8,7 @@ spring.jpa.hibernate.naming_strategy= org.hibernate.cfg.ImprovedNamingStrategy
8 8 spring.jpa.database= MYSQL
9 9 spring.jpa.show-sql= true
10 10 spring.datasource.driver-class-name= com.mysql.jdbc.Driver
11   -spring.datasource.url= jdbc:mysql://192.168.168.201:3306/mh_control
  11 +spring.datasource.url= jdbc:mysql://192.168.168.201:3306/qp_control
12 12 spring.datasource.username= root
13 13 spring.datasource.password= 123456
14 14 #DATASOURCE
... ...
src/main/resources/static/real_control_v2/css/line_schedule.css
... ... @@ -486,31 +486,39 @@ div.drop-rail[data-type=&quot;car&quot;]:before {
486 486 }
487 487  
488 488 dl.relevance-active dd:nth-child(n+2) {
489   - background: #76a6c7 !important;
490   - color: white;
  489 + background: #f1efef !important;
491 490 }
492 491  
493   -dl.relevance-active dd.tl-qrlb {
  492 +dl.relevance-active.intimity dd:nth-child(n+2) {
  493 + background: #76a6c7 !important;
  494 + color: white;
  495 +}
  496 +
  497 +dl.relevance-active dd.tl-qrlb,
  498 +dl.relevance-active.intimity dd.tl-qrlb{
494 499 background: linear-gradient(to right, #7B6B24, #4992c3) !important;
495 500 color: #f8e9cd;
496 501 }
497 502  
498   -dl.relevance-active dd.tl-zzzx {
  503 +dl.relevance-active dd.tl-zzzx,
  504 +dl.relevance-active.intimity dd.tl-zzzx {
499 505 background: linear-gradient(to right, #96F396, #4992c3) !important;
500 506 color: #565252;
501 507 }
502 508  
503   -dl.relevance-active dd.tl-zzzx span.fcsj-diff {
  509 +dl.relevance-active dd.tl-zzzx span.fcsj-diff,
  510 +dl.relevance-active.intimity dd.tl-zzzx span.fcsj-diff {
504 511 color: #5e5a5a
505 512 }
506 513  
507   -dl.relevance-active dd span.fcsj-diff {
  514 +dl.relevance-active dd span.fcsj-diff,
  515 +dl.relevance-active.intimity dd span.fcsj-diff {
508 516 color: #d7d6d6;
509 517 }
510 518  
511   -dl.relevance-active a {
  519 +/*dl.relevance-active a {
512 520 color: #dff0ff;
513   -}
  521 +}*/
514 522  
515 523 .right-text-lp {
516 524 position: absolute;
... ...
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/add_temp_sch.html
... ... @@ -131,11 +131,11 @@
131 131 //车辆
132 132 gb_common.carAutocomplete($('.car-autocom', modal), rs);
133 133 });
134   - $.get('/basic/personnel', function(rs) {
  134 + $.get('/basic/all_personnel', function(rs) {
135 135 //驾驶员
136   - gb_common.personAutocomplete($('.jsy-autocom', modal), rs.jsy);
  136 + gb_common.personAutocomplete($('.jsy-autocom', modal), rs);
137 137 //售票员
138   - gb_common.personAutocomplete($('.spy-autocom', modal), rs.spy);
  138 + gb_common.personAutocomplete($('.spy-autocom', modal), rs);
139 139 });
140 140  
141 141 //站点路由
... ... @@ -152,6 +152,7 @@
152 152 //submit
153 153 var f = $('form', modal).formValidation(gb_form_validation_opts);
154 154 f.on('success.form.fv', function(e) {
  155 + disabled_submit_btn(this);
155 156 e.preventDefault();
156 157 var data = $(this).serializeJSON();
157 158 data.xlBm=sch.xlBm;
... ...
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/fcxxwt.html
... ... @@ -123,7 +123,7 @@
123 123 <div class="uk-width-1-1">
124 124 <div class="uk-form-row ct-stacked">
125 125 <div class="uk-form-controls" style="margin-top: 5px;">
126   - <textarea id="form-s-t" cols="30" rows="5" name="remarks" data-fv-stringlength="true" data-fv-stringlength-max="20" placeholder="备注,不超过20个字符"></textarea>
  126 + <textarea id="form-s-t" cols="30" rows="5" name="remarks" data-fv-stringlength="true" data-fv-stringlength-max="20" placeholder="备注,不超过20个字符">{{sch.remarks}}</textarea>
127 127 </div>
128 128 </div>
129 129 </div>
... ... @@ -157,6 +157,8 @@
157 157 gb_schedule_table.updateSchedule(rs.ts);
158 158 UIkit.modal(modal).hide();
159 159 notify_succ('操作成功!');
  160 + //计算应发未发
  161 + gb_schedule_table.calc_yfwf_num(sch.xlBm);
160 162 });
161 163 });
162 164  
... ...
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/jhlb.html
... ... @@ -119,6 +119,8 @@
119 119 gb_schedule_table.updateSchedule(rs.ts);
120 120 UIkit.modal(modal).hide();
121 121 notify_succ('烂班操作成功!');
  122 + //calc 应发未发
  123 + gb_schedule_table.calc_yfwf_num(sch.xlBm);
122 124 });
123 125 });
124 126  
... ...
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sftz.html
... ... @@ -87,6 +87,9 @@
87 87 gb_schedule_table.updateSchedule(rs.ts);
88 88 UIkit.modal(modal).hide();
89 89 notify_succ('实发调整成功!');
  90 +
  91 + if(data.fcsjActual)
  92 + gb_schedule_table.calc_yfwf_num(sch.xlBm);
90 93 }
91 94 });
92 95 });
... ...
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task/add_sub_task_other.html
... ... @@ -134,16 +134,16 @@
134 134 dictionaryUtils.transformDom($('.nt-dictionary', modal));
135 135  
136 136 //----------- Autocomplete --------------
137   - $.get('/basic/cars', function(rs) {
138   - //车辆
139   - gb_common.carAutocomplete($('.car-autocom', modal), rs);
140   - });
141   - $.get('/basic/personnel', function(rs) {
142   - //驾驶员
143   - gb_common.personAutocomplete($('.jsy-autocom', modal), rs.jsy);
144   - //售票员
145   - gb_common.personAutocomplete($('.spy-autocom', modal), rs.spy);
146   - });
  137 + // $.get('/basic/cars', function(rs) {
  138 + // //车辆
  139 + // gb_common.carAutocomplete($('.car-autocom', modal), rs);
  140 + // });
  141 + // $.get('/basic/all_personnel', function(rs) {
  142 + // //驾驶员
  143 + // gb_common.personAutocomplete($('.jsy-autocom', modal), rs);
  144 + // //售票员
  145 + // gb_common.personAutocomplete($('.spy-autocom', modal), rs);
  146 + // });
147 147  
148 148 //站点路由
149 149 stationRoutes = gb_common.groupBy(gb_data_basic.stationRoutes(sch.xlBm).sort(function(a, b){
... ... @@ -159,6 +159,7 @@
159 159 //submit
160 160 var f = $('form', modal).formValidation(gb_form_validation_opts);
161 161 f.on('success.form.fv', function(e) {
  162 + disabled_submit_btn(this);
162 163 e.preventDefault();
163 164 var data = $(this).serializeJSON();
164 165  
... ... @@ -166,7 +167,6 @@
166 167 notify_succ('子任务添加成功');
167 168 gb_schedule_table.updateSchedule(rs.t);
168 169 $('#schedule-lj_zrw-modal .main-schedule-table').trigger('refresh', {sch: rs.t});
169   - //$('#schedule-lj_zrw-modal .sub-task-table').trigger('refresh');
170 170 UIkit.modal(modal).hide();
171 171 });
172 172 });
... ...
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/tzrc.html
... ... @@ -159,11 +159,11 @@
159 159 //车辆
160 160 gb_common.carAutocomplete($('.car-autocom', modal), rs);
161 161 });
162   - $.get('/basic/personnel', function(rs) {
  162 + $.get('/basic/all_personnel', function(rs) {
163 163 //驾驶员
164   - gb_common.personAutocomplete($('.jsy-autocom', modal), rs.jsy);
  164 + gb_common.personAutocomplete($('.jsy-autocom', modal), rs);
165 165 //售票员
166   - gb_common.personAutocomplete($('.spy-autocom', modal), rs.spy);
  166 + gb_common.personAutocomplete($('.spy-autocom', modal), rs);
167 167 });
168 168  
169 169 //默认选中项
... ...
src/main/resources/static/real_control_v2/fragments/line_schedule/sch_table.html
... ... @@ -58,7 +58,7 @@
58 58 {{sch.fcsjActual}}<span class="fcsj-diff">{{sch.fcsj_diff}}</span>
59 59 </dd>
60 60 <dd data-uk-observe>
61   - <span title="{{sch.remarks}}" data-uk-tooltip>{{sch.remarks}}</span>
  61 + <span title="{{sch.remarks}}" data-uk-tooltip="{pos:'top-left'}" >{{sch.remarks}}</span>
62 62 </dd>
63 63 </dl>
64 64 {{/each}}
... ...
src/main/resources/static/real_control_v2/fragments/north/tabs.html
... ... @@ -4,7 +4,7 @@
4 4 <li class="uk-active" ><a>主页</a></li>
5 5 <li class=""><a>地图</a></li>
6 6 {{each list as line i}}
7   - <li class="tab-line"><a>{{line.name}}(0, 0)</a></li>
  7 + <li class="tab-line"><a>{{line.name}}(0, <span id="badge_yfwf_num_{{line.lineCode}}">0</span>)</a></li>
8 8 {{/each}}
9 9 </ul>
10 10 </script>
... ...
src/main/resources/static/real_control_v2/js/common.js
... ... @@ -176,18 +176,26 @@ var gb_common = (function() {
176 176 init_autocom_pinyin(element, data);
177 177 };
178 178  
179   - var personAutocomplete = function(element, personList) {
  179 + var personAutocomplete = function(element, personMaps) {
180 180 var data = [],name;
181   - $.each(personList, function(){
182   - name=this.personnelName;
  181 + // $.each(personList, function(){
  182 + // name=this.personnelName;
  183 + // data.push({
  184 + // value: this.jobCode+'/'+name,
  185 + // fullChars: pinyin.getFullChars(name).toUpperCase(),
  186 + // camelChars: pinyin.getCamelChars(name),
  187 + // brancheCompany: this.brancheCompany
  188 + // });
  189 + // });
  190 + // console.log('data', data);
  191 + for(var jobCode in personMaps){
  192 + name=personMaps[jobCode];
183 193 data.push({
184   - value: this.jobCode+'/'+name,
185   - fullChars: pinyin.getFullChars(name).toUpperCase(),
186   - camelChars: pinyin.getCamelChars(name),
187   - brancheCompany: this.brancheCompany
  194 + value: jobCode+'/'+name,
  195 + fullChars: pinyin.getFullChars(name).toUpperCase(),
  196 + camelChars: pinyin.getCamelChars(name)
188 197 });
189   - });
190   - console.log('data', data);
  198 + }
191 199 init_autocom_pinyin(element, data);
192 200 };
193 201  
... ...
src/main/resources/static/real_control_v2/js/line_schedule/context_menu.js
... ... @@ -39,6 +39,9 @@ var gb_schedule_context_menu = (function() {
39 39 }, function(rs) {
40 40 gb_schedule_table.updateSchedule(rs.t);
41 41 notify_succ('撤销烂班操作成功!');
  42 +
  43 + //calc 应发未发
  44 + gb_schedule_table.calc_yfwf_num(sch.xlBm);
42 45 });
43 46 }, '确认撤销');
44 47 },
... ... @@ -58,6 +61,8 @@ var gb_schedule_context_menu = (function() {
58 61 }, function(rs) {
59 62 gb_schedule_table.updateSchedule(rs.ts);
60 63 notify_succ('撤销实发操作成功!');
  64 + //calc 应发未发
  65 + gb_schedule_table.calc_yfwf_num(sch.xlBm);
61 66 });
62 67 }, '确认撤销实发');
63 68 },
... ...
src/main/resources/static/real_control_v2/js/line_schedule/sch_table.js
... ... @@ -24,6 +24,8 @@ var gb_schedule_table = (function() {
24 24 calc_sch_real_shift(this);
25 25 line2Schedule[lineCode][this.id] = this;
26 26 });
  27 + //计算应发未发
  28 + calc_yfwf_num(lineCode);
27 29 }
28 30 ep.emit('data', rs);
29 31 });
... ... @@ -110,10 +112,12 @@ var gb_schedule_table = (function() {
110 112 for (var upDown in dirData) {
111 113 htmlStr = temps['line-schedule-table-temp']({
112 114 dir: upDown,
  115 + line: gb_data_basic.codeToLine[sch.xlBm],
113 116 list: dirData[upDown]
114 117 });
115 118 $('.schedule-wrap .card-panel:eq(' + upDown + ')', tabCont).html(htmlStr);
116 119 }
  120 + calc_yfwf_num(sch.xlBm);
117 121 //定位到新添加的班次
118 122 scroToDl(sch);
119 123 }
... ... @@ -127,6 +131,7 @@ var gb_schedule_table = (function() {
127 131 delete line2Schedule[sch.xlBm][sch.id];
128 132 dl.remove();
129 133 reset_seq_no(dls);
  134 + calc_yfwf_num(sch.xlBm);
130 135 }
131 136 }
132 137  
... ... @@ -150,6 +155,7 @@ var gb_schedule_table = (function() {
150 155 $(dds[2]).data('nbbm', sch.clZbh).text(sch.clZbh);
151 156 if (sch.qdzArrDateJH)
152 157 $(dds[3]).text(sch.qdzArrDateJH);
  158 +
153 159 if (sch.qdzArrDateSJ)
154 160 $(dds[4]).text(sch.qdzArrDateSJ);
155 161  
... ... @@ -162,7 +168,9 @@ var gb_schedule_table = (function() {
162 168 var sfsjDd = temps['line-schedule-sfsj-temp'](sch);
163 169 $(dds[7]).replaceWith(sfsjDd);
164 170 if(sch.remarks)
165   - $(dds[8]).html('<span title="'+sch.remarks+'" data-uk-tooltip>'+sch.remarks+'</span>');
  171 + $(dds[8]).html('<span title="'+sch.remarks+'" data-uk-tooltip="{pos:\'top-left\'}">'+sch.remarks+'</span>');
  172 + else
  173 + $(dds[8]).html('');
166 174 }
167 175  
168 176 //拖拽选中...
... ... @@ -205,13 +213,17 @@ var gb_schedule_table = (function() {
205 213 schArr = gb_common.get_vals(line2Schedule[lineCode]).filter(function(item) {
206 214 return item.clZbh == sch.clZbh;
207 215 }).sort(schedule_sort),
208   - nextSch;
  216 + nextSch,tempDL;
209 217 $.each(schArr, function(i) {
210   - $('dl[data-id=' + this.id + ']', contWrap).addClass('relevance-active');
211   - if (i < schArr.length - 1 && this.id == id)
212   - nextSch = schArr[i + 1];
  218 + tempDL=$('dl[data-id=' + this.id + ']', contWrap);
  219 + tempDL.addClass('relevance-active');
  220 + if (i < schArr.length - 1 && this.id == id){
  221 + nextSch = schArr[i + 1];
  222 + tempDL.addClass('intimity');
  223 + }
213 224 });
214 225  
  226 + $('dl[data-id=' + nextSch.id + ']', contWrap).addClass('intimity');
215 227 if (nextSch.xlDir == sch.xlDir)
216 228 return;
217 229 //滚动到下一个班次
... ... @@ -230,7 +242,7 @@ var gb_schedule_table = (function() {
230 242 return item.lpName == sch.lpName;
231 243 }).sort(schedule_sort);
232 244 $.each(schArr, function(i) {
233   - $('dl[data-id=' + this.id + ']', contWrap).addClass('relevance-active');
  245 + $('dl[data-id=' + this.id + ']', contWrap).addClass('relevance-active intimity');
234 246 });
235 247  
236 248 notify_succ('高亮路牌 ' + sch.lpName);
... ... @@ -258,7 +270,25 @@ var gb_schedule_table = (function() {
258 270 }
259 271  
260 272 var reset_relevance_active = function(dd) {
261   - $(dd).parents('.uk-grid.schedule-wrap').find('.relevance-active').removeClass('relevance-active');
  273 + $(dd).parents('.uk-grid.schedule-wrap').find('.relevance-active').removeClass('relevance-active intimity');
  274 + }
  275 +
  276 + //计算应发未发数量
  277 + var calc_yfwf_num = function(lineCode){
  278 + console.log('calc_yfwf_num...', lineCode);
  279 + var schArr=line2Schedule[lineCode]
  280 + ,yfwf_num=0
  281 + ,t = new Date().valueOf();
  282 +
  283 + $.each(schArr, function(){
  284 + if(this.fcsjT > t)
  285 + return false;
  286 +
  287 + if(this.fcsjActual == null && this.fcsjActualTime == null && this.status != -1)
  288 + yfwf_num ++;
  289 + });
  290 +
  291 + $('#badge_yfwf_num_'+lineCode).text(yfwf_num);
262 292 }
263 293  
264 294 return {
... ... @@ -267,6 +297,7 @@ var gb_schedule_table = (function() {
267 297 updateSchedule: updateSchedule,
268 298 deheteSchedule: deheteSchedule,
269 299 insertSchedule: insertSchedule,
270   - schedule_sort: schedule_sort
  300 + schedule_sort: schedule_sort,
  301 + calc_yfwf_num: calc_yfwf_num
271 302 };
272 303 })();
... ...
src/main/resources/static/real_control_v2/js/main.js
... ... @@ -128,6 +128,13 @@ var enable_submit_btn = function(form) {
128 128 }
129 129 }
130 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 +
131 138 var show_modal = function(id, dom) {
132 139 $(document.body).append(dom);
133 140 return UIkit.modal(id, {
... ...
src/main/resources/static/real_control_v2/js/websocket/sch_websocket.js
... ... @@ -35,11 +35,10 @@ var gb_sch_websocket = (function() {
35 35  
36 36 //80协议上报
37 37 var report80 = function(msg) {
38   -// console.log('report80...', msg);
39   -// msg.dateStr = moment(msg.timestamp).format('HH:mm');
40   -// msg.text = gb_common.reqCode80[msg.data.requestCode];
41   -//
42   -// findMailBox(msg.data.lineId).prepend(temps['sys-note-80-temp'](msg));
  38 + msg.dateStr = moment(msg.timestamp).format('HH:mm');
  39 + msg.text = gb_common.reqCode80[msg.data.requestCode];
  40 +
  41 + findMailBox(msg.data.lineId).prepend(temps['sys-note-80-temp'](msg));
43 42 }
44 43  
45 44 var waitRemoves = [];
... ... @@ -53,6 +52,8 @@ var gb_sch_websocket = (function() {
53 52 t: currentSecond(),
54 53 dom: msg.domId
55 54 });
  55 +
  56 + gb_schedule_table.calc_yfwf_num(msg.t.xlBm);
56 57 }
57 58  
58 59 //到达终点
... ...