Commit d42e5163a9da0b256a0fc5181a763494c990e8b4

Authored by lizhuojun
1 parent b03371b6

线调更新,修正历史路单维护的临加班次跨天起终点时间异常

src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
@@ -590,6 +590,11 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf @@ -590,6 +590,11 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf
590 590
591 //计算班次实际执行时间 591 //计算班次实际执行时间
592 schAttrCalculator.calcRealDate(t).calcAllTimeByFcsj(t); 592 schAttrCalculator.calcRealDate(t).calcAllTimeByFcsj(t);
  593 + //处理计达跨24点
  594 + LineConfig conf = lineConfigData.get(t.getXlBm());
  595 + if (t.getZdsj().compareTo(conf.getStartOpt()) < 0) {
  596 + t.setZdsjT(sdfyyyyMMddHHmm.parse(t.getScheduleDateStr() + t.getZdsj()).getTime() + (1000 * 60 * 60 * 24));
  597 + }
593 if (t.getZdsjT() < t.getFcsjT()) { 598 if (t.getZdsjT() < t.getFcsjT()) {
594 rs.put("status", ResponseCode.ERROR); 599 rs.put("status", ResponseCode.ERROR);
595 rs.put("msg", "起终点时间异常!"); 600 rs.put("msg", "起终点时间异常!");
src/main/resources/static/pages/permission/user/authorize.html
1 -<!DOCTYPE html> 1 +<!--<!DOCTYPE html>-->
2 <html lang="zh-cn"> 2 <html lang="zh-cn">
3 3
4 <head> 4 <head>
5 <meta charset="UTF-8"> 5 <meta charset="UTF-8">
  6 + <script src="/metronic_v4.5.4/plugins/jquery.min.js"></script>
  7 + <script src="/assets/js/common.js"></script>
  8 + <script src="/assets/plugins/uk3.0/uikit.min.js"></script>
  9 + <script src="/assets/plugins/uk3.0/uikit-icons.min.js"></script>
  10 + <script src="/real_control_v2/assets/plugins/perfect-scrollbar/perfect-scrollbar.jquery.js"></script>
  11 + <!-- EventProxy -->
  12 + <script src="/assets/js/eventproxy.js"></script>
  13 + <!-- art-template 模版引擎 -->
  14 + <script src="/assets/plugins/template.js"></script>
  15 + <script src="/real_control_v2/assets/plugins/moment/moment.min.js"></script>
  16 + <script src="/assets/plugins/ztree_v3/js/jquery.ztree.core.min.js"></script>
  17 + <script src="/assets/plugins/ztree_v3/js/jquery.ztree.excheck.min.js"></script>
6 <link rel="stylesheet" href="/assets/plugins/uk3.0/uikit.min.css"/> 18 <link rel="stylesheet" href="/assets/plugins/uk3.0/uikit.min.css"/>
7 <link rel="stylesheet" href="/real_control_v2/assets/plugins/perfect-scrollbar/perfect-scrollbar.css" /> 19 <link rel="stylesheet" href="/real_control_v2/assets/plugins/perfect-scrollbar/perfect-scrollbar.css" />
8 <link rel="stylesheet" href="/assets/plugins/ztree_v3/css/zTreeStyle/zTreeStyle.css" /> 20 <link rel="stylesheet" href="/assets/plugins/ztree_v3/css/zTreeStyle/zTreeStyle.css" />
9 <style> 21 <style>
10 - html,body{  
11 - height: 100%;  
12 - }  
13 - .ct_page{  
14 - padding: 25px 15px;  
15 - height: 100%;  
16 - height: calc(100% - 50px);  
17 - } 22 + html,body{
  23 + height: 100%;
  24 + }
  25 + .ct_page{
  26 + padding: 25px 15px;
  27 + height: 100%;
  28 + height: calc(100% - 50px);
  29 + }
18 30
19 - .ct_cont{  
20 - height: calc(100% - 41px);  
21 - } 31 + .ct_cont{
  32 + height: calc(100% - 41px);
  33 + }
22 34
23 - .ct_cont>div>div.uk-card{  
24 - height: 99%;  
25 - } 35 + .ct_cont>div>div.uk-card{
  36 + height: 99%;
  37 + }
26 38
27 - form .uk-inline{  
28 - width: calc(100% - 4px);  
29 - margin-left: 2px;  
30 - } 39 + form .uk-inline{
  40 + width: calc(100% - 4px);
  41 + margin-left: 2px;
  42 + }
31 43
32 - .ct-card-body{  
33 - overflow: auto;  
34 - padding: 1px 1px 0 2px;  
35 - height: calc(100% - 54px);  
36 - position: relative;  
37 - margin-top: -12px;  
38 - } 44 + .ct-card-body{
  45 + overflow: auto;
  46 + padding: 1px 1px 0 2px;
  47 + height: calc(100% - 54px);
  48 + position: relative;
  49 + margin-top: -12px;
  50 + }
39 51
40 - .ct_li_desc{  
41 - color: #a8a8a8;  
42 - font-size: 13px;  
43 - } 52 + .ct_li_desc{
  53 + color: #a8a8a8;
  54 + font-size: 13px;
  55 + }
44 56
45 - .ct-card-body .uk-list-large{  
46 - font-size: 14px;  
47 - } 57 + .ct-card-body .uk-list-large{
  58 + font-size: 14px;
  59 + }
48 60
49 - .ct-card-body .uk-list-large>li{  
50 - cursor: default;  
51 - padding-left: 20px;  
52 - margin-top: 2px !important;  
53 - padding-top: 17px !important;  
54 - position: relative;  
55 - } 61 + .ct-card-body .uk-list-large>li{
  62 + cursor: default;
  63 + padding-left: 20px;
  64 + margin-top: 2px !important;
  65 + padding-top: 17px !important;
  66 + position: relative;
  67 + }
56 68
57 - .ct-card-body .uk-list-large>li:hover{  
58 - background: #edecec;  
59 - } 69 + .ct-card-body .uk-list-large>li:hover{
  70 + background: #edecec;
  71 + }
60 72
61 - .ct-card-body .uk-list-large>li.active{  
62 - background: #1e87f0 !important;  
63 - color: white;  
64 - } 73 + .ct-card-body .uk-list-large>li.active{
  74 + background: #1e87f0 !important;
  75 + color: white;
  76 + }
65 77
66 - .ct-card-body .uk-list-large>li.active>span.role-code{  
67 - color: #ffffff;  
68 - } 78 + .ct-card-body .uk-list-large>li.active>span.role-code{
  79 + color: #ffffff;
  80 + }
69 81
70 - .ct-card-body .uk-list-large.role-list>li:hover{  
71 - background: #fff494;  
72 - } 82 + .ct-card-body .uk-list-large.role-list>li:hover{
  83 + background: #fff494;
  84 + }
73 85
74 - .ct-card-body .uk-list-large>li.active .ct_li_desc{  
75 - color: #e6e6e6;  
76 - } 86 + .ct-card-body .uk-list-large>li.active .ct_li_desc{
  87 + color: #e6e6e6;
  88 + }
77 89
78 - .ct-card-body .uk-list-large>li>span.uk-badge{  
79 - position: absolute;  
80 - top: 17px;  
81 - right: 25px;  
82 - } 90 + .ct-card-body .uk-list-large>li>span.uk-badge{
  91 + position: absolute;
  92 + top: 17px;
  93 + right: 25px;
  94 + }
83 95
84 - .ct-card-body .uk-list-large>li>span.role-code{  
85 - padding: 4px 6px;  
86 - color: #a8a8a8;  
87 - margin-left: 5px;  
88 - } 96 + .ct-card-body .uk-list-large>li>span.role-code{
  97 + padding: 4px 6px;
  98 + color: #a8a8a8;
  99 + margin-left: 5px;
  100 + }
89 101
90 - .top_title{  
91 - padding: 9px 0 5px 15px;  
92 - border-bottom: 1px solid #ededed;  
93 - border-left: 5px solid #FFC107;  
94 - } 102 + .top_title{
  103 + padding: 9px 0 5px 15px;
  104 + border-bottom: 1px solid #ededed;
  105 + border-left: 5px solid #FFC107;
  106 + }
95 107
96 - .top_title>.desc{  
97 - font-size: 13px;  
98 - color: grey;  
99 - margin-top: 3px;  
100 - } 108 + .top_title>.desc{
  109 + font-size: 13px;
  110 + color: grey;
  111 + margin-top: 3px;
  112 + }
101 113
102 - .left_menu_list{  
103 - overflow: auto;  
104 - position: relative;  
105 - } 114 + .left_menu_list{
  115 + overflow: auto;
  116 + position: relative;
  117 + }
106 118
107 - .left_menu_list .ps-container > .ps-scrollbar-x-rail, .ps-container > .ps-scrollbar-y-rail{  
108 - opacity: 0.6 !important;  
109 - padding: 0 !important;  
110 - } 119 + .left_menu_list .ps-container > .ps-scrollbar-x-rail, .ps-container > .ps-scrollbar-y-rail{
  120 + opacity: 0.6 !important;
  121 + padding: 0 !important;
  122 + }
111 123
112 - ._company{  
113 - margin: 15px 0px;  
114 - }  
115 - ._company>h5{  
116 - margin-bottom: 10px;  
117 - font-size: 15px;  
118 - color: #6b6b6b;  
119 - text-indent: 12px;  
120 - }  
121 - ._company>._fgs>label{  
122 - padding: 3px 12px 3px 10px;  
123 - display: inline-block;  
124 - border: 1px solid gainsboro;  
125 - border-radius: 2px;  
126 - margin: 5px;  
127 - font-size: 14px;  
128 - }  
129 - ._company>._fgs>label.active{  
130 - background: #1e87f0;  
131 - color: #fff;  
132 - }  
133 - ._company .uk-checkbox:checked:focus,  
134 - .line_checkbox_list .uk-checkbox:checked:focus{  
135 - background-color: #1e87f0 !important;  
136 - }  
137 - .save_icon{  
138 - position: absolute;  
139 - right: 2px;  
140 - background: #bec4c9;  
141 - font-size: 12px;  
142 - padding: 2px 15px;  
143 - color: #fff;  
144 - box-shadow: 0 5px 15px rgba(0,0,0,0.08);  
145 - cursor: pointer;  
146 - }  
147 - .save_icon:hover{  
148 - background: #FFC107;  
149 - }  
150 - .data_auth_list{  
151 - position: relative;  
152 - }  
153 - #user_authorize_wrap .top_title{  
154 - border-left: 5px solid #cacac8;  
155 - }  
156 - .xd_line_list{  
157 - height: 37%;  
158 - padding: 7px;  
159 - border-bottom: 1px solid #f2f2f2;  
160 - overflow: auto;  
161 - position: relative;  
162 - }  
163 - .xd_line_list>h5{  
164 - color: #858585;  
165 - margin: 5px 5px 5px 0;  
166 - font-size: 14px;  
167 - }  
168 - .sub_lines{  
169 - padding-left: 15px;  
170 - }  
171 - .sub_lines>span.line_btn {  
172 - background: #00BCD4;  
173 - color: #fff;  
174 - padding: 4px 9px;  
175 - display: inline-block;  
176 - min-width: 68px;  
177 - text-align: center;  
178 - margin: 5px 2px;  
179 - box-shadow: 0 5px 9px rgba(0,0,0,0.08);  
180 - cursor: pointer;  
181 - font-size: 14px;  
182 - font-family: 微软雅黑;  
183 - } 124 + ._company{
  125 + margin: 15px 0px;
  126 + }
  127 + ._company>h5{
  128 + margin-bottom: 10px;
  129 + font-size: 15px;
  130 + color: #6b6b6b;
  131 + text-indent: 12px;
  132 + }
  133 + ._company>._fgs>label{
  134 + padding: 3px 12px 3px 10px;
  135 + display: inline-block;
  136 + border: 1px solid gainsboro;
  137 + border-radius: 2px;
  138 + margin: 5px;
  139 + font-size: 14px;
  140 + }
  141 + ._company>._fgs>label.active{
  142 + background: #1e87f0;
  143 + color: #fff;
  144 + }
  145 + ._company .uk-checkbox:checked:focus,
  146 + .line_checkbox_list .uk-checkbox:checked:focus{
  147 + background-color: #1e87f0 !important;
  148 + }
  149 + .save_icon{
  150 + position: absolute;
  151 + right: 2px;
  152 + background: #bec4c9;
  153 + font-size: 12px;
  154 + padding: 2px 15px;
  155 + color: #fff;
  156 + box-shadow: 0 5px 15px rgba(0,0,0,0.08);
  157 + cursor: pointer;
  158 + }
  159 + .save_icon:hover{
  160 + background: #FFC107;
  161 + }
  162 + .data_auth_list{
  163 + position: relative;
  164 + }
  165 + #user_authorize_wrap .top_title{
  166 + border-left: 5px solid #cacac8;
  167 + }
  168 + .xd_line_list{
  169 + height: 37%;
  170 + padding: 7px;
  171 + border-bottom: 1px solid #f2f2f2;
  172 + overflow: auto;
  173 + position: relative;
  174 + }
  175 + .xd_line_list>h5{
  176 + color: #858585;
  177 + margin: 5px 5px 5px 0;
  178 + font-size: 14px;
  179 + }
  180 + .sub_lines{
  181 + padding-left: 15px;
  182 + }
  183 + .sub_lines>span.line_btn {
  184 + background: #00BCD4;
  185 + color: #fff;
  186 + padding: 4px 9px;
  187 + display: inline-block;
  188 + min-width: 68px;
  189 + text-align: center;
  190 + margin: 5px 2px;
  191 + box-shadow: 0 5px 9px rgba(0,0,0,0.08);
  192 + cursor: pointer;
  193 + font-size: 14px;
  194 + font-family: 微软雅黑;
  195 + }
184 196
185 - .sub_lines>span.line_btn.destroy{  
186 - background: #ff5c5c;  
187 - } 197 + .sub_lines>span.line_btn.destroy{
  198 + background: #ff5c5c;
  199 + }
188 200
189 - .sub_lines>span.line_btn.destroy:hover{  
190 - background: #ff7373;  
191 - } 201 + .sub_lines>span.line_btn.destroy:hover{
  202 + background: #ff7373;
  203 + }
192 204
193 - .sub_lines>span.line_btn:hover{  
194 - background: #2dd7ed;  
195 - }  
196 - .add_line_icon{  
197 - cursor: pointer;  
198 - padding: 2px 5px;  
199 - border-radius: 5px;  
200 - display: inline-block;  
201 - }  
202 - .add_line_icon>i{  
203 - vertical-align: top;  
204 - margin-top: 3px;  
205 - }  
206 - .add_line_icon:hover{  
207 - background: #ededed;  
208 - }  
209 - .ct_pattern_form{  
210 - display: inline-block;  
211 - }  
212 - .xd_menu_grid{  
213 - padding: 25px 25px 0 25px;  
214 - height: calc(63% - 91px);  
215 - }  
216 - .xd_menu_grid .uk-list{  
217 - border: 1px solid #ededed;  
218 - height: calc(100% - 70px);  
219 - overflow: auto;  
220 - position: relative;  
221 - } 205 + .sub_lines>span.line_btn:hover{
  206 + background: #2dd7ed;
  207 + }
  208 + .add_line_icon{
  209 + cursor: pointer;
  210 + padding: 2px 5px;
  211 + border-radius: 5px;
  212 + display: inline-block;
  213 + }
  214 + .add_line_icon>i{
  215 + vertical-align: top;
  216 + margin-top: 3px;
  217 + }
  218 + .add_line_icon:hover{
  219 + background: #ededed;
  220 + }
  221 + .ct_pattern_form{
  222 + display: inline-block;
  223 + }
  224 + .xd_menu_grid{
  225 + padding: 25px 25px 0 25px;
  226 + height: calc(63% - 91px);
  227 + }
  228 + .xd_menu_grid .uk-list{
  229 + border: 1px solid #ededed;
  230 + height: calc(100% - 70px);
  231 + overflow: auto;
  232 + position: relative;
  233 + }
222 234
223 - .xd_menu_grid .uk-list>li{  
224 - margin: 5px 0 !important;  
225 - padding: 10px 0 0 10px !important;  
226 - font-size: 14px;  
227 - }  
228 - .top_tools{  
229 - position: absolute;  
230 - top: 15px;  
231 - right: 25px;  
232 - }  
233 - .ct_field {  
234 - display: inline-block;  
235 - width: 240px;  
236 - }  
237 - .ct_field>select,.ct_field>input{  
238 - width: calc(100% - 60px);  
239 - }  
240 - .line_checkbox_list{  
241 - margin-top: 15px;  
242 - }  
243 - .line_checkbox_list>.btn{  
244 - padding: 5px 7px;  
245 - border-radius: 2px;  
246 - display: inline-block;  
247 - margin: 4px 9px;  
248 - font-size: 14px;  
249 - font-family: 微软雅黑;  
250 - border: 1px solid #d9d9d9;  
251 - width: 100px;  
252 - overflow: hidden;  
253 - text-overflow: ellipsis;  
254 - white-space: nowrap;  
255 - }  
256 - .line_checkbox_list>.btn>input{  
257 - margin-right: 5px;  
258 - }  
259 - .line_checkbox_list>.btn.active{  
260 - background: #1e87f0;  
261 - color: #fff;  
262 - } 235 + .xd_menu_grid .uk-list>li{
  236 + margin: 5px 0 !important;
  237 + padding: 10px 0 0 10px !important;
  238 + font-size: 14px;
  239 + }
  240 + .top_tools{
  241 + position: absolute;
  242 + top: 15px;
  243 + right: 25px;
  244 + }
  245 + .ct_field {
  246 + display: inline-block;
  247 + width: 240px;
  248 + }
  249 + .ct_field>select,.ct_field>input{
  250 + width: calc(100% - 60px);
  251 + }
  252 + .line_checkbox_list{
  253 + margin-top: 15px;
  254 + }
  255 + .line_checkbox_list>.btn{
  256 + padding: 5px 7px;
  257 + border-radius: 2px;
  258 + display: inline-block;
  259 + margin: 4px 9px;
  260 + font-size: 14px;
  261 + font-family: 微软雅黑;
  262 + border: 1px solid #d9d9d9;
  263 + width: 100px;
  264 + overflow: hidden;
  265 + text-overflow: ellipsis;
  266 + white-space: nowrap;
  267 + }
  268 + .line_checkbox_list>.btn>input{
  269 + margin-right: 5px;
  270 + }
  271 + .line_checkbox_list>.btn.active{
  272 + background: #1e87f0;
  273 + color: #fff;
  274 + }
263 275
264 - .line_checkbox_list>.btn.destroy,  
265 - .line_checkbox_list>.btn.destroy>input{  
266 - border-color: #ff9595;  
267 - color: #ff5c5c;  
268 - } 276 + .line_checkbox_list>.btn.destroy,
  277 + .line_checkbox_list>.btn.destroy>input{
  278 + border-color: #ff9595;
  279 + color: #ff5c5c;
  280 + }
269 281
270 - .line_checkbox_list>.btn.destroy.active{  
271 - background: #ff5c5c;  
272 - color: #fff;  
273 - } 282 + .line_checkbox_list>.btn.destroy.active{
  283 + background: #ff5c5c;
  284 + color: #fff;
  285 + }
274 286
275 - .line_checkbox_list>.btn.destroy.active>input{  
276 - background-color: #ff5c5c !important;  
277 - border-color: #ff5c5c !important;  
278 - } 287 + .line_checkbox_list>.btn.destroy.active>input{
  288 + background-color: #ff5c5c !important;
  289 + border-color: #ff5c5c !important;
  290 + }
279 291
280 - #role_authorize_wrap .ztree *{  
281 - font-size: 14px;  
282 - }  
283 - #role_authorize_wrap .ztree li{  
284 - line-height: 21px;  
285 - }  
286 - .loading{  
287 - height: 100%;  
288 - text-align: center;  
289 - }  
290 - .loading .uk-spinner{  
291 - margin-top: 200px;  
292 - }  
293 - .loading circle{  
294 - stroke: red;  
295 - } 292 + #role_authorize_wrap .ztree *{
  293 + font-size: 14px;
  294 + }
  295 + #role_authorize_wrap .ztree li{
  296 + line-height: 21px;
  297 + }
  298 + .loading{
  299 + height: 100%;
  300 + text-align: center;
  301 + }
  302 + .loading .uk-spinner{
  303 + margin-top: 200px;
  304 + }
  305 + .loading circle{
  306 + stroke: red;
  307 + }
296 308
297 - #select_line_modal .uk-checkbox:checked {  
298 - background-color: #1e87f0;  
299 - } 309 + #select_line_modal .uk-checkbox:checked {
  310 + background-color: #1e87f0;
  311 + }
300 </style> 312 </style>
  313 +
301 </head> 314 </head>
302 315
303 <body> 316 <body>
@@ -342,6 +355,7 @@ @@ -342,6 +355,7 @@
342 355
343 </div> 356 </div>
344 </div> 357 </div>
  358 +
345 </div> 359 </div>
346 </div> 360 </div>
347 361
@@ -359,18 +373,6 @@ @@ -359,18 +373,6 @@
359 <li class="uk-animation-fade uk-animation-fast" data-name="{{u.name}}" data-code="{{u.userNameUp}}" data-id="{{u.id}}">{{u.name}}<span class="role-code">{{u.userName}}</span></li> 373 <li class="uk-animation-fade uk-animation-fast" data-name="{{u.name}}" data-code="{{u.userNameUp}}" data-id="{{u.id}}">{{u.name}}<span class="role-code">{{u.userName}}</span></li>
360 {{/each}} 374 {{/each}}
361 </script> 375 </script>
362 -<script src="/metronic_v4.5.4/plugins/jquery.min.js"></script>  
363 -<script src="/assets/js/common.js"></script>  
364 -<script src="/assets/plugins/uk3.0/uikit.min.js"></script>  
365 -<script src="/assets/plugins/uk3.0/uikit-icons.min.js"></script>  
366 -<script src="/real_control_v2/assets/plugins/perfect-scrollbar/perfect-scrollbar.jquery.js" ></script>  
367 -<!-- EventProxy -->  
368 -<script src="/assets/js/eventproxy.js"></script>  
369 -<!-- art-template 模版引擎 -->  
370 -<script src="/assets/plugins/template.js"></script>  
371 -<script src="/real_control_v2/assets/plugins/moment/moment.min.js"></script>  
372 -<script src="/assets/plugins/ztree_v3/js/jquery.ztree.core.min.js"></script>  
373 -<script src="/assets/plugins/ztree_v3/js/jquery.ztree.excheck.min.js"></script>  
374 <script> 376 <script>
375 var storage = window.localStorage; 377 var storage = window.localStorage;
376 378
@@ -464,8 +466,6 @@ @@ -464,8 +466,6 @@
464 paramsRole['codeName'] = 'ROLE_ADMIN'; 466 paramsRole['codeName'] = 'ROLE_ADMIN';
465 var userId=storage.getItem("editUser"); 467 var userId=storage.getItem("editUser");
466 $get('/user',{id_eq:userId}, function (rs) { 468 $get('/user',{id_eq:userId}, function (rs) {
467 - debugger  
468 - //if (rs)  
469 ep.emit('query_roles', rs.content[0].roles); 469 ep.emit('query_roles', rs.content[0].roles);
470 }); 470 });
471 471
src/main/resources/static/pages/permission/user/main.html
1 -<iframe src="authorize.html?origin=real_control_iframe" frameborder="0" style="height: 90%;width: 100%;"></iframe> 1 +<iframe src="/pages/permission/user/authorize.html?origin=real_control_iframe" frameborder="0" style="height: 90%;width: 100%;"></iframe>
2 <div class="form-actions"> 2 <div class="form-actions">
3 <div class="row"> 3 <div class="row">
4 <div class="col-md-offset-3 col-md-4"> 4 <div class="col-md-offset-3 col-md-4">
5 - <!--<a href="main.html" class="btn green" ><i class="fa fa-check"></i> 上一步</a>-->  
6 - <!--<button type="submit" class="btn green" ><i class="fa fa-check"></i> 提交</button>-->  
7 - <!--<a type="button" class="btn default" href="list.html" data-pjax><i class="fa fa-times"></i> 取消</a>-->  
8 </div> 5 </div>
9 </div> 6 </div>
10 </div> 7 </div>
11 \ No newline at end of file 8 \ No newline at end of file