Commit 932d3600ce45e421e268eaae05628ce8edfe9e59
Merge branch 'minhang' into qingpu
Showing
23 changed files
with
282 additions
and
105 deletions
src/main/java/com/bsth/controller/oil/YlbController.java
| ... | ... | @@ -106,6 +106,7 @@ public class YlbController extends BaseController<Ylb, Integer>{ |
| 106 | 106 | @RequestParam(defaultValue = "DESC") String direction){ |
| 107 | 107 | |
| 108 | 108 | Direction d; |
| 109 | + map.put("xlbm_like", map.get("xlbm_like").toString().trim()); | |
| 109 | 110 | // try { |
| 110 | 111 | String rq=map.get("rq").toString(); |
| 111 | 112 | if(!(rq=="")){ | ... | ... |
src/main/java/com/bsth/data/gpsdata/arrival/SignalHandle.java
| ... | ... | @@ -70,10 +70,12 @@ public abstract class SignalHandle { |
| 70 | 70 | |
| 71 | 71 | protected void transformUpdown(GpsEntity gps, ScheduleRealInfo sch) { |
| 72 | 72 | int updown = Integer.parseInt(sch.getXlDir()); |
| 73 | + //gps 切换走向 | |
| 74 | + gps.setUpDown(updown); | |
| 75 | + | |
| 73 | 76 | List<StationRoute> srs = GeoCacheData.getStationRoute(sch.getXlBm(), updown); |
| 74 | 77 | StationRoute station = GeoUtils.gpsInStation(gps, srs); |
| 75 | 78 | if (station != null) { |
| 76 | - gps.setUpDown(updown); | |
| 77 | 79 | gps.setStopNo(station.getCode()); |
| 78 | 80 | } |
| 79 | 81 | } | ... | ... |
src/main/java/com/bsth/data/gpsdata/arrival/handlers/InOutStationSignalHandle.java
| ... | ... | @@ -178,7 +178,12 @@ public class InOutStationSignalHandle extends SignalHandle{ |
| 178 | 178 | |
| 179 | 179 | if(gps.getStopNo().equals(sch.getZdzCode())){ |
| 180 | 180 | |
| 181 | - int diff = (int) (sch.getZdsjT() - gps.getTimestamp()); | |
| 181 | + int diff = 0; | |
| 182 | + try{ | |
| 183 | + diff = (int) (sch.getZdsjT() - gps.getTimestamp()); | |
| 184 | + }catch(NullPointerException e){ | |
| 185 | + logger.info("NullPointerException " + sch.getXlName() + " 有班次无班次历时,,,检查一下是否需要出站既出场。"); | |
| 186 | + } | |
| 182 | 187 | //进场最多提前1.2小时 |
| 183 | 188 | if(sch.getBcType().equals("in") && diff > MAX_BEFORE_TIME) |
| 184 | 189 | return; | ... | ... |
src/main/java/com/bsth/repository/oil/CylRepository.java
| 1 | 1 | package com.bsth.repository.oil; |
| 2 | 2 | |
| 3 | 3 | |
| 4 | +import java.util.List; | |
| 5 | + | |
| 6 | +import org.springframework.data.jpa.repository.Modifying; | |
| 7 | +import org.springframework.data.jpa.repository.Query; | |
| 4 | 8 | import org.springframework.stereotype.Repository; |
| 9 | +import org.springframework.transaction.annotation.Transactional; | |
| 10 | + | |
| 5 | 11 | import com.bsth.entity.oil.Cyl; |
| 6 | 12 | import com.bsth.repository.BaseRepository; |
| 7 | 13 | |
| 8 | 14 | @Repository |
| 9 | 15 | public interface CylRepository extends BaseRepository<Cyl, Integer>{ |
| 10 | - | |
| 16 | + @Transactional | |
| 17 | + @Modifying | |
| 18 | + @Query(value="SELECT * FROM bsth_c_cyl ",nativeQuery=true) | |
| 19 | + List<Cyl> obtainCyl(); | |
| 11 | 20 | } | ... | ... |
src/main/java/com/bsth/repository/oil/YlbRepository.java
| ... | ... | @@ -39,8 +39,8 @@ public interface YlbRepository extends BaseRepository<Ylb, Integer>{ |
| 39 | 39 | |
| 40 | 40 | @Transactional |
| 41 | 41 | @Modifying |
| 42 | - @Query(value="SELECT * FROM bsth_c_ylb where to_days(?1)=to_days(rq) and nbbm =?2 ",nativeQuery=true) | |
| 43 | - List<Ylb> queryListYlb(String rq,String nbbm); | |
| 42 | + @Query(value="SELECT * FROM bsth_c_ylb where to_days(?1)=to_days(rq) and nbbm =?2 and jsy=?3",nativeQuery=true) | |
| 43 | + List<Ylb> queryListYlb(String rq,String nbbm,String jgh); | |
| 44 | 44 | /** |
| 45 | 45 | * 查询当天总的加注量和总里程 |
| 46 | 46 | * @param rq | ... | ... |
src/main/java/com/bsth/repository/realcontrol/ScheduleRealInfoRepository.java
| ... | ... | @@ -133,7 +133,7 @@ public interface ScheduleRealInfoRepository extends BaseRepository<ScheduleRealI |
| 133 | 133 | @Query(value="select s from ScheduleRealInfo s where s.xlBm like %?1% and DATE_FORMAT(s.scheduleDate,'%Y-%m') = ?2 and s.bcType not in ('in','out') order by s.xlBm") |
| 134 | 134 | List<ScheduleRealInfo> scheduleByDateAndLine3(String line,String date); |
| 135 | 135 | |
| 136 | - @Query(value="select new map(s.scheduleDate as scheduleDate,s.xlBm as xlBm,s.clZbh as clZbh,s.jGh as jGh) from ScheduleRealInfo s where s.xlBm like %?1% and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 GROUP BY xlBm,clZbh,jGh,scheduleDate,jGh ORDER BY realExecDate,fcsj,xlBm,clZbh") | |
| 136 | + @Query(value="select new map(s.scheduleDate as scheduleDate,s.xlBm as xlBm,s.clZbh as clZbh,s.jGh as jGh) from ScheduleRealInfo s where s.xlBm like %?1% and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 GROUP BY xlBm,clZbh,jGh,scheduleDate,jGh ORDER BY xlBm,clZbh") | |
| 137 | 137 | List<Map<String,Object>> yesterdayDataList(String line,String date); |
| 138 | 138 | |
| 139 | 139 | @Query(value="select s from ScheduleRealInfo s where DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?1 ORDER BY xlBm,lpName,clZbh,xlDir") | ... | ... |
src/main/java/com/bsth/repository/schedule/SchedulePlanInfoRepository.java
| ... | ... | @@ -43,7 +43,7 @@ public interface SchedulePlanInfoRepository extends BaseRepository<SchedulePlanI |
| 43 | 43 | "group_concat(distinct info.s_name) spyName, " + |
| 44 | 44 | "group_concat(info.fcno) fcno, " + |
| 45 | 45 | "max(info.update_date) as updateDate, " + |
| 46 | - "max(user.name) as updateUserName, " + | |
| 46 | + "max(user.user_name) as updateUserName, " + | |
| 47 | 47 | "max(info.tt_info_name) as ttInfoName " + |
| 48 | 48 | "from bsth_c_s_sp_info info left join bsth_c_sys_user user on info.update_by = user.id " + |
| 49 | 49 | "where info.xl = ?1 and " + | ... | ... |
src/main/java/com/bsth/service/oil/impl/YlbServiceImpl.java
| ... | ... | @@ -75,6 +75,7 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS |
| 75 | 75 | // List<Ylxxb> ylxxList=ylxxbRepository.obtainYlxx(rq); |
| 76 | 76 | //前一天所有车辆最后进场班次信息 |
| 77 | 77 | List<Ylb> ylListBe=repository.obtainYlbefore(rq); |
| 78 | + List<Cyl> clyList=cylRepository.obtainCyl(); | |
| 78 | 79 | //从排班表中计算出行驶的总里程 |
| 79 | 80 | List<Map<String,Object>> listpb=scheduleRealInfoService.yesterdayDataList("",rq); |
| 80 | 81 | |
| ... | ... | @@ -96,13 +97,21 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS |
| 96 | 97 | try { |
| 97 | 98 | //当日的第一个班次,出场油量等于前一天的最后一个班次的进场油量 |
| 98 | 99 | if(map.get("seqNumber").toString().equals("1")){ |
| 99 | - for (int y = 0; y < ylListBe.size(); y++) { | |
| 100 | - Ylb ylb=ylListBe.get(y); | |
| 101 | - if(map.get("clZbh").toString().equals(ylb.getNbbm())){ | |
| 102 | - t.setCzyl(ylb.getJzyl()); | |
| 100 | + for (int y = 0; y < clyList.size(); y++) { | |
| 101 | + Cyl cyl=clyList.get(y); | |
| 102 | + if(map.get("clZbh").toString().equals(cyl.getNbbm())){ | |
| 103 | + t.setCzyl(cyl.getCyl()); | |
| 103 | 104 | break; |
| 104 | 105 | }else{ |
| 105 | - t.setCzyl(0.0); | |
| 106 | + for (int i = 0; i < ylListBe.size(); i++) { | |
| 107 | + Ylb ylb=ylListBe.get(i); | |
| 108 | + if(map.get("clZbh").toString().equals(ylb.getNbbm())){ | |
| 109 | + t.setCzyl(ylb.getJzyl()); | |
| 110 | + break; | |
| 111 | + }else{ | |
| 112 | + t.setCzyl(0.0); | |
| 113 | + } | |
| 114 | + } | |
| 106 | 115 | } |
| 107 | 116 | } |
| 108 | 117 | } |
| ... | ... | @@ -161,6 +170,7 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS |
| 161 | 170 | List<Ylxxb> ylxxList=ylxxbRepository.obtainYlxx(rq); |
| 162 | 171 | //前一天所有车辆最后进场班次信息 |
| 163 | 172 | List<Ylb> ylListBe=repository.obtainYlbefore(rq); |
| 173 | + List<Cyl> clyList=cylRepository.obtainCyl(); | |
| 164 | 174 | //从排班表中计算出行驶的总里程 |
| 165 | 175 | List<Map<String,Object>> listpb=scheduleRealInfoService.yesterdayDataList(line,rq); |
| 166 | 176 | |
| ... | ... | @@ -182,13 +192,21 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS |
| 182 | 192 | try { |
| 183 | 193 | //当日的第一个班次,出场油量等于前一天的最后一个班次的进场油量 |
| 184 | 194 | if(map.get("seqNumber").toString().equals("1")){ |
| 185 | - for (int y = 0; y < ylListBe.size(); y++) { | |
| 186 | - Ylb ylb=ylListBe.get(y); | |
| 187 | - if(map.get("clZbh").toString().equals(ylb.getNbbm())){ | |
| 188 | - t.setCzyl(ylb.getJzyl()); | |
| 195 | + for (int y = 0; y < clyList.size(); y++) { | |
| 196 | + Cyl cyl=clyList.get(y); | |
| 197 | + if(map.get("clZbh").toString().equals(cyl.getNbbm())){ | |
| 198 | + t.setCzyl(cyl.getCyl()); | |
| 189 | 199 | break; |
| 190 | 200 | }else{ |
| 191 | - t.setCzyl(0.0); | |
| 201 | + for (int i = 0; i < ylListBe.size(); i++) { | |
| 202 | + Ylb ylb=ylListBe.get(i); | |
| 203 | + if(map.get("clZbh").toString().equals(ylb.getNbbm())){ | |
| 204 | + t.setCzyl(ylb.getJzyl()); | |
| 205 | + break; | |
| 206 | + }else{ | |
| 207 | + t.setCzyl(0.0); | |
| 208 | + } | |
| 209 | + } | |
| 192 | 210 | } |
| 193 | 211 | } |
| 194 | 212 | } | ... | ... |
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
| ... | ... | @@ -67,6 +67,7 @@ import java.text.DecimalFormat; |
| 67 | 67 | import java.text.ParseException; |
| 68 | 68 | import java.text.SimpleDateFormat; |
| 69 | 69 | import java.util.*; |
| 70 | +import java.util.regex.Pattern; | |
| 70 | 71 | import java.util.zip.ZipEntry; |
| 71 | 72 | import java.util.zip.ZipOutputStream; |
| 72 | 73 | |
| ... | ... | @@ -461,6 +462,12 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 461 | 462 | public List<ScheduleRealInfo> queryUserInfoPx(String line, String date, String state,String type) { |
| 462 | 463 | // List<ScheduleRealInfo> list=new ArrayList<ScheduleRealInfo>(); |
| 463 | 464 | state=state+""; |
| 465 | + String lpname=state; | |
| 466 | + String px=type; | |
| 467 | + if(state.equals("lpName")){ | |
| 468 | + state =state+"+1"; | |
| 469 | + type="asc"; | |
| 470 | + } | |
| 464 | 471 | String sqlPlan="select min(s.id) as id,s.j_Gh as jGh,s.cl_Zbh as clZbh," |
| 465 | 472 | + " s.lp_Name as lpName,s.j_Name as jName,s.s_Gh as sGh,s.s_Name as sName" |
| 466 | 473 | + " from bsth_c_s_sp_info_real s " |
| ... | ... | @@ -482,7 +489,60 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 482 | 489 | return t; |
| 483 | 490 | } |
| 484 | 491 | }); |
| 492 | + if(lpname.equals("lpName")){ | |
| 493 | + List<ScheduleRealInfo> listNew=new ArrayList<ScheduleRealInfo>(); | |
| 494 | + Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$"); | |
| 495 | + if(px.equals("desc")){ | |
| 496 | + int zt=0; | |
| 497 | + for (int l = 0; l < 3; l++) { | |
| 498 | + for (int i = 0; i < list.size(); i++) { | |
| 499 | + ScheduleRealInfo t=list.get(i); | |
| 500 | + if(t.getLpName().indexOf("+")!=-1){ | |
| 501 | + if(zt==0){ | |
| 502 | + listNew.add(t); | |
| 503 | + } | |
| 504 | + | |
| 505 | + }else if(pattern.matcher(t.getLpName()).matches()){ | |
| 506 | + if(zt==1){ | |
| 507 | + listNew.add(t); | |
| 508 | + } | |
| 509 | + }else{ | |
| 510 | + if(zt==2){ | |
| 511 | + listNew.add(t); | |
| 512 | + } | |
| 513 | + } | |
| 514 | + } | |
| 515 | + zt++; | |
| 516 | + } | |
| 517 | + }else{ | |
| 518 | + int zt=0; | |
| 519 | + for (int l = 0; l < 3; l++) { | |
| 520 | + for (int i = 0; i < list.size(); i++) { | |
| 521 | + ScheduleRealInfo t=list.get(i); | |
| 522 | + if(t.getLpName().indexOf("+")!=-1){ | |
| 523 | + if(zt==2){ | |
| 524 | + listNew.add(t); | |
| 525 | + } | |
| 526 | + | |
| 527 | + }else if(pattern.matcher(t.getLpName()).matches()){ | |
| 528 | + if(zt==1){ | |
| 529 | + listNew.add(t); | |
| 530 | + } | |
| 531 | + }else{ | |
| 532 | + if(zt==0){ | |
| 533 | + listNew.add(t); | |
| 534 | + } | |
| 535 | + } | |
| 536 | + } | |
| 537 | + zt++; | |
| 538 | + } | |
| 539 | + | |
| 540 | + } | |
| 541 | + return listNew; | |
| 542 | + }else{ | |
| 485 | 543 | return list; |
| 544 | + } | |
| 545 | + | |
| 486 | 546 | } |
| 487 | 547 | |
| 488 | 548 | /** |
| ... | ... | @@ -1226,7 +1286,10 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 1226 | 1286 | if (childTaskPlans.isEmpty()) { |
| 1227 | 1287 | if (scheduleRealInfo.getBcType().equals("in") || |
| 1228 | 1288 | scheduleRealInfo.getBcType().equals("out")) { |
| 1229 | - jcclc += tempJhlc; | |
| 1289 | + if(scheduleRealInfo.getStatus() != -1){ | |
| 1290 | + jcclc += tempJhlc; | |
| 1291 | + } | |
| 1292 | + | |
| 1230 | 1293 | } |
| 1231 | 1294 | //主任务 放空班次属于营运 |
| 1232 | 1295 | // else if(scheduleRealInfo.getBcType().equals("venting")){ |
| ... | ... | @@ -2997,7 +3060,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 2997 | 3060 | jzl += y.getJzl(); |
| 2998 | 3061 | } |
| 2999 | 3062 | |
| 3000 | - List<Ylb> listYlb=ylbRepository.queryListYlb( fcrq,s.getClZbh()); | |
| 3063 | + List<Ylb> listYlb=ylbRepository.queryListYlb( fcrq,s.getClZbh(),s.getjGh()); | |
| 3001 | 3064 | Double ccyl=0.0; |
| 3002 | 3065 | Double jcyl=0.0; |
| 3003 | 3066 | Double yh=0.0; |
| ... | ... | @@ -3468,11 +3531,12 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 3468 | 3531 | |
| 3469 | 3532 | try { |
| 3470 | 3533 | ScheduleRealInfo sch = dayOfSchedule.get(id); |
| 3471 | - if (sch.getZdsjActual() == null) { | |
| 3534 | + if (sch.getZdsjActual() == null && sch.getFcsjActual() == null) { | |
| 3472 | 3535 | rs.put("status", ResponseCode.ERROR); |
| 3473 | - rs.put("msg", "无实际到达时间,无法撤销!"); | |
| 3536 | + rs.put("msg", "班次未执行,无法撤销!"); | |
| 3474 | 3537 | } else { |
| 3475 | 3538 | |
| 3539 | + sch.clearFcsjActual(); | |
| 3476 | 3540 | sch.clearZdsjActual(); |
| 3477 | 3541 | //清除下一个班次的起点到达时间 |
| 3478 | 3542 | ScheduleRealInfo next = dayOfSchedule.next(sch); | ... | ... |
src/main/resources/static/pages/forms/statement/waybill.html
| ... | ... | @@ -207,7 +207,7 @@ |
| 207 | 207 | line = $("#line").val(); |
| 208 | 208 | date = $("#date").val(); |
| 209 | 209 | $(".hidden").removeClass("hidden"); |
| 210 | - $get('/realSchedule/queryUserInfoPx',{line:line,date:date,state:"(lpName+1)",type:type},function(result){ | |
| 210 | + $get('/realSchedule/queryUserInfoPx',{line:line,date:date,state:"lpName",type:type},function(result){ | |
| 211 | 211 | if(type=="desc"){ |
| 212 | 212 | type ="asc"; |
| 213 | 213 | }else{ | ... | ... |
src/main/resources/static/pages/oil/list_ph.html
| ... | ... | @@ -82,7 +82,7 @@ |
| 82 | 82 | 线路: |
| 83 | 83 | </td> |
| 84 | 84 | <td colspan="3"> |
| 85 | - <select class="form-control" name="xlbm_eq" id="xlbm" style="width: 120px;"></select> | |
| 85 | + <select class="form-control" name="xlbm_like" id="xlbm" style="width: 120px;"></select> | |
| 86 | 86 | |
| 87 | 87 | </td> |
| 88 | 88 | <td > |
| ... | ... | @@ -231,7 +231,9 @@ |
| 231 | 231 | } |
| 232 | 232 | } |
| 233 | 233 | }); |
| 234 | + var i = layer.load(2); | |
| 234 | 235 | $get('/ylb/checkYl', params, function () { |
| 236 | + layer.close(i); | |
| 235 | 237 | jsDoQuery(null, true); |
| 236 | 238 | }); |
| 237 | 239 | } else { |
| ... | ... | @@ -255,7 +257,9 @@ |
| 255 | 257 | } |
| 256 | 258 | } |
| 257 | 259 | }); |
| 260 | + var i = layer.load(2); | |
| 258 | 261 | $get('/ylb/outAndIn', params, function () { |
| 262 | + layer.close(i); | |
| 259 | 263 | jsDoQuery(null, true); |
| 260 | 264 | }); |
| 261 | 265 | } else { |
| ... | ... | @@ -273,11 +277,12 @@ |
| 273 | 277 | //获取输入的进场存油 |
| 274 | 278 | var jzyl = $('.in_carpark_jzyl[data-id='+id+']', '#ll_oil_list').html(); |
| 275 | 279 | // $("#jzyl" + id).html(); |
| 276 | - console.log(jzyl); | |
| 277 | 280 | var params = {}; |
| 278 | 281 | params['jzyl'] = jzyl; |
| 279 | 282 | params['id'] = id; |
| 283 | + var i = layer.load(2); | |
| 280 | 284 | $get('/ylb/sort', params, function () { |
| 285 | + layer.close(i); | |
| 281 | 286 | jsDoQuery(null, true); |
| 282 | 287 | }); |
| 283 | 288 | |
| ... | ... | @@ -302,7 +307,9 @@ |
| 302 | 307 | } |
| 303 | 308 | } |
| 304 | 309 | }); |
| 310 | + var i = layer.load(2); | |
| 305 | 311 | $get('/ylb/obtain', params, function () { |
| 312 | + layer.close(i); | |
| 306 | 313 | jsDoQuery(params, true); |
| 307 | 314 | }); |
| 308 | 315 | } else { |
| ... | ... | @@ -530,7 +537,7 @@ |
| 530 | 537 | //搜索线路 |
| 531 | 538 | $.get('/basic/lineCode2Name',function(result){ |
| 532 | 539 | var data=[]; |
| 533 | - | |
| 540 | + data.push({id: " ", text: "全部线路"}); | |
| 534 | 541 | for(var code in result){ |
| 535 | 542 | data.push({id: code, text: result[code]}); |
| 536 | 543 | } | ... | ... |
src/main/resources/static/pages/scheduleApp/module/basicInfo/employeeInfoManage/edit.html
| ... | ... | @@ -55,17 +55,22 @@ |
| 55 | 55 | </div> |
| 56 | 56 | </div> |
| 57 | 57 | |
| 58 | - <!-- TODO --> | |
| 59 | 58 | <div class="form-group"> |
| 60 | 59 | <label class="col-md-2 control-label">分公司:</label> |
| 61 | 60 | <div class="col-md-3"> |
| 62 | - <select name="brancheCompanyCode" class="form-control"> | |
| 63 | - <option value="">请选择...</option> | |
| 64 | - <option value="1">分公司1</option> | |
| 65 | - <option value="2">分公司1</option> | |
| 66 | - <option value="3">分公司1</option> | |
| 67 | - <option value="4">分公司1</option> | |
| 68 | - </select> | |
| 61 | + <sa-Select5 name="fgs" | |
| 62 | + model="ctrl.employeeInfoForSave" | |
| 63 | + cmaps="{'brancheCompanyCode': 'businessCode', 'brancheCompany': 'businessName'}" | |
| 64 | + dcname="brancheCompanyCode" | |
| 65 | + icname="businessCode" | |
| 66 | + dsparams="{{ {type: 'ajax', param:{'upCode_eq': ctrl.employeeInfoForSave.companyCode }, atype:'gs' } | json }}" | |
| 67 | + iterobjname="item" | |
| 68 | + iterobjexp="item.businessName" | |
| 69 | + searchph="请选择所属分公司..." | |
| 70 | + searchexp="this.businessName" | |
| 71 | + > | |
| 72 | + </sa-Select5> | |
| 73 | + | |
| 69 | 74 | </div> |
| 70 | 75 | </div> |
| 71 | 76 | ... | ... |
src/main/resources/static/pages/scheduleApp/module/basicInfo/employeeInfoManage/form.html
| ... | ... | @@ -55,17 +55,22 @@ |
| 55 | 55 | </div> |
| 56 | 56 | </div> |
| 57 | 57 | |
| 58 | - <!-- TODO --> | |
| 59 | 58 | <div class="form-group"> |
| 60 | 59 | <label class="col-md-2 control-label">分公司:</label> |
| 61 | 60 | <div class="col-md-3"> |
| 62 | - <select name="brancheCompanyCode" class="form-control"> | |
| 63 | - <option value="">请选择...</option> | |
| 64 | - <option value="1">分公司1</option> | |
| 65 | - <option value="2">分公司1</option> | |
| 66 | - <option value="3">分公司1</option> | |
| 67 | - <option value="4">分公司1</option> | |
| 68 | - </select> | |
| 61 | + <sa-Select5 name="fgs" | |
| 62 | + model="ctrl.employeeInfoForSave" | |
| 63 | + cmaps="{'brancheCompanyCode': 'businessCode', 'brancheCompany': 'businessName'}" | |
| 64 | + dcname="brancheCompanyCode" | |
| 65 | + icname="businessCode" | |
| 66 | + dsparams="{{ {type: 'ajax', param:{'upCode_eq': ctrl.employeeInfoForSave.companyCode }, atype:'gs' } | json }}" | |
| 67 | + iterobjname="item" | |
| 68 | + iterobjexp="item.businessName" | |
| 69 | + searchph="请选择所属分公司..." | |
| 70 | + searchexp="this.businessName" | |
| 71 | + > | |
| 72 | + </sa-Select5> | |
| 73 | + | |
| 69 | 74 | </div> |
| 70 | 75 | </div> |
| 71 | 76 | ... | ... |
src/main/resources/static/pages/scheduleApp/module/basicInfo/employeeInfoManage/list.html
| ... | ... | @@ -101,6 +101,7 @@ |
| 101 | 101 | <!--<a href="edit.html?lineId={{obj.id}}" class="btn default blue-stripe btn-sm"> 修改 </a>--> |
| 102 | 102 | <a ui-sref="employeeInfoManage_detail({id: info.id})" class="btn btn-info btn-sm"> 详细 </a> |
| 103 | 103 | <a ui-sref="employeeInfoManage_edit({id: info.id})" class="btn btn-info btn-sm"> 修改 </a> |
| 104 | + <a ng-click="ctrl.deleteEmp(info.id)" class="btn btn-danger btn-sm"> 删除 </a> | |
| 104 | 105 | </td> |
| 105 | 106 | </tr> |
| 106 | 107 | </tbody> | ... | ... |
src/main/resources/static/pages/scheduleApp/module/basicInfo/employeeInfoManage/module.js
| ... | ... | @@ -132,48 +132,56 @@ angular.module('ScheduleApp').controller( |
| 132 | 132 | ] |
| 133 | 133 | ); |
| 134 | 134 | |
| 135 | -angular.module('ScheduleApp').controller('EmployInfoManageToolsCtrl', ['$modalInstance', 'FileUploader', function($modalInstance, FileUploader) { | |
| 136 | - var self = this; | |
| 137 | - | |
| 138 | - // 关闭窗口 | |
| 139 | - self.close = function() { | |
| 140 | - $modalInstance.dismiss("cancel"); | |
| 141 | - }; | |
| 142 | - | |
| 143 | - self.clearInputFile = function() { | |
| 144 | - angular.element("input[type='file']").val(null); | |
| 145 | - }; | |
| 146 | - | |
| 147 | - // 上传文件组件 | |
| 148 | - self.uploader = new FileUploader({ | |
| 149 | - url: "/ee/uploadAndImportFile", | |
| 150 | - filters: [] // 用于过滤文件,比如只允许导入excel | |
| 151 | - }); | |
| 152 | - self.uploader.onAfterAddingFile = function(fileItem) | |
| 153 | - { | |
| 154 | - console.info('onAfterAddingFile', fileItem); | |
| 155 | - console.log(self.uploader.queue.length); | |
| 156 | - if (self.uploader.queue.length > 1) | |
| 157 | - self.uploader.removeFromQueue(0); | |
| 158 | - }; | |
| 159 | - self.uploader.onSuccessItem = function(fileItem, response, status, headers) | |
| 160 | - { | |
| 161 | - if (response.status == "SUCCESS") { | |
| 162 | - console.info('onSuccessItem', fileItem, response, status, headers); | |
| 163 | - } else { | |
| 164 | - fileItem.isSuccess = false; | |
| 165 | - fileItem.isCancel = false; | |
| 166 | - fileItem.isError = true; | |
| 167 | - | |
| 168 | - alert(response.msg); | |
| 169 | - } | |
| 170 | - }; | |
| 171 | - self.uploader.onErrorItem = function(fileItem, response, status, headers) | |
| 172 | - { | |
| 173 | - console.info('onErrorItem', fileItem, response, status, headers); | |
| 174 | - }; | |
| 135 | +// dataImport.html控制 | |
| 136 | +angular.module('ScheduleApp').controller( | |
| 137 | + 'EmployInfoManageToolsCtrl', | |
| 138 | + [ | |
| 139 | + '$modalInstance', | |
| 140 | + 'FileUploader', | |
| 141 | + function($modalInstance, FileUploader) { | |
| 142 | + var self = this; | |
| 175 | 143 | |
| 176 | -}]); | |
| 144 | + // 关闭窗口 | |
| 145 | + self.close = function() { | |
| 146 | + $modalInstance.dismiss("cancel"); | |
| 147 | + }; | |
| 148 | + | |
| 149 | + self.clearInputFile = function() { | |
| 150 | + angular.element("input[type='file']").val(null); | |
| 151 | + }; | |
| 152 | + | |
| 153 | + // 上传文件组件 | |
| 154 | + self.uploader = new FileUploader({ | |
| 155 | + url: "/ee/uploadAndImportFile", | |
| 156 | + filters: [] // 用于过滤文件,比如只允许导入excel | |
| 157 | + }); | |
| 158 | + self.uploader.onAfterAddingFile = function(fileItem) | |
| 159 | + { | |
| 160 | + console.info('onAfterAddingFile', fileItem); | |
| 161 | + console.log(self.uploader.queue.length); | |
| 162 | + if (self.uploader.queue.length > 1) | |
| 163 | + self.uploader.removeFromQueue(0); | |
| 164 | + }; | |
| 165 | + self.uploader.onSuccessItem = function(fileItem, response, status, headers) | |
| 166 | + { | |
| 167 | + if (response.status == "SUCCESS") { | |
| 168 | + console.info('onSuccessItem', fileItem, response, status, headers); | |
| 169 | + } else { | |
| 170 | + fileItem.isSuccess = false; | |
| 171 | + fileItem.isCancel = false; | |
| 172 | + fileItem.isError = true; | |
| 173 | + | |
| 174 | + alert(response.msg); | |
| 175 | + } | |
| 176 | + }; | |
| 177 | + self.uploader.onErrorItem = function(fileItem, response, status, headers) | |
| 178 | + { | |
| 179 | + console.info('onErrorItem', fileItem, response, status, headers); | |
| 180 | + }; | |
| 181 | + | |
| 182 | + } | |
| 183 | + ] | |
| 184 | +); | |
| 177 | 185 | |
| 178 | 186 | // list.html控制器 |
| 179 | 187 | angular.module('ScheduleApp').controller( |
| ... | ... | @@ -208,6 +216,16 @@ angular.module('ScheduleApp').controller( |
| 208 | 216 | }); |
| 209 | 217 | }; |
| 210 | 218 | |
| 219 | + self.deleteEmp = function(id) { | |
| 220 | + Employee.delete({id: id}, function(result) { | |
| 221 | + if (result.msg) { // 暂时这样做,之后全局拦截 | |
| 222 | + alert("失败:" + result.msg); | |
| 223 | + } else { | |
| 224 | + self.doPage(); | |
| 225 | + } | |
| 226 | + }); | |
| 227 | + }; | |
| 228 | + | |
| 211 | 229 | self.doPage(); |
| 212 | 230 | |
| 213 | 231 | } | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/schedulePlanManage/info/list_info.html
src/main/resources/static/pages/scheduleApp/module/core/schedulePlanManage/list.html
| ... | ... | @@ -90,7 +90,7 @@ |
| 90 | 90 | <span ng-bind="info.scheduleToTime | date: 'yyyy-MM-dd '"></span> |
| 91 | 91 | </td> |
| 92 | 92 | <td> |
| 93 | - <span ng-bind="info.updateBy.name"></span> | |
| 93 | + <span ng-bind="info.updateBy.userName"></span> | |
| 94 | 94 | / |
| 95 | 95 | <span ng-bind="info.updateDate | date: 'yyyy-MM-dd HH:mm:ss'"></span> |
| 96 | 96 | </td> | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/schedulePlanManage/report/module.js
| ... | ... | @@ -240,6 +240,21 @@ angular.module('ScheduleApp').controller('SchedulePlanReportManageFormCtrl', [ |
| 240 | 240 | update: self.groupInfo |
| 241 | 241 | }; |
| 242 | 242 | |
| 243 | + // 处理工号,去除 -,如:55-33333,去除55- | |
| 244 | + var reg = /^(.*?)\-(.*?)$/; | |
| 245 | + if (self.groupInfo.jsy1Gh) { | |
| 246 | + self.groupInfo.jsy1Gh = self.groupInfo.jsy1Gh.replace(reg, '$2'); | |
| 247 | + } | |
| 248 | + if (self.groupInfo.spy1Gh) { | |
| 249 | + self.groupInfo.spy1Gh = self.groupInfo.spy1Gh.replace(reg, '$2'); | |
| 250 | + } | |
| 251 | + if (self.groupInfo.jsy2Gh) { | |
| 252 | + self.groupInfo.jsy2Gh = self.groupInfo.jsy2Gh.replace(reg, '$2'); | |
| 253 | + } | |
| 254 | + if (self.groupInfo.spy2Gh) { | |
| 255 | + self.groupInfo.spy2Gh = self.groupInfo.spy2Gh.replace(reg, '$2'); | |
| 256 | + } | |
| 257 | + | |
| 243 | 258 | //console.log($scope); |
| 244 | 259 | //console.log(param); |
| 245 | 260 | schedulePlanReportManageService.updateDetail(param).then( | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/scheduleRuleManage/list.html
src/main/resources/static/real_control_v2/css/main.css
| ... | ... | @@ -716,16 +716,16 @@ li.map-panel { |
| 716 | 716 | } |
| 717 | 717 | |
| 718 | 718 | #schedule-lp_change-modal .sch-list dl dt:nth-of-type(1), #schedule-lp_change-modal .sch-list dl dd:nth-of-type(1) { |
| 719 | - width: 7%; | |
| 719 | + width: 5%; | |
| 720 | 720 | border-left: 1px solid #dedede; |
| 721 | 721 | } |
| 722 | 722 | |
| 723 | 723 | #schedule-lp_change-modal .sch-list dl dt:nth-of-type(2), #schedule-lp_change-modal .sch-list dl dd:nth-of-type(2) { |
| 724 | - width: 25%; | |
| 724 | + width: 22%; | |
| 725 | 725 | } |
| 726 | 726 | |
| 727 | 727 | #schedule-lp_change-modal .sch-list dl dt:nth-of-type(3), #schedule-lp_change-modal .sch-list dl dd:nth-of-type(3) { |
| 728 | - width: 20%; | |
| 728 | + width: 17%; | |
| 729 | 729 | } |
| 730 | 730 | |
| 731 | 731 | #schedule-lp_change-modal .sch-list dl dt:nth-of-type(4), #schedule-lp_change-modal .sch-list dl dd:nth-of-type(4) { |
| ... | ... | @@ -733,39 +733,47 @@ li.map-panel { |
| 733 | 733 | } |
| 734 | 734 | |
| 735 | 735 | #schedule-lp_change-modal .sch-list dl dt:nth-of-type(5), #schedule-lp_change-modal .sch-list dl dd:nth-of-type(5) { |
| 736 | - width: 22%; | |
| 736 | + width: 21%; | |
| 737 | 737 | } |
| 738 | 738 | |
| 739 | 739 | #schedule-lp_change-modal .sch-list dl dt:nth-of-type(6), #schedule-lp_change-modal .sch-list dl dd:nth-of-type(6) { |
| 740 | - width: 15%; | |
| 740 | + width: 10%; | |
| 741 | +} | |
| 742 | + | |
| 743 | +#schedule-lp_change-modal .sch-list dl dt:nth-of-type(7), #schedule-lp_change-modal .sch-list dl dd:nth-of-type(7) { | |
| 744 | + width: 14%; | |
| 741 | 745 | } |
| 742 | 746 | |
| 743 | 747 | |
| 744 | 748 | |
| 745 | 749 | |
| 746 | 750 | #schedule-lp_change-modal .sch-list.reverse dl dt:nth-of-type(1), #schedule-lp_change-modal .sch-list.reverse dl dd:nth-of-type(1) { |
| 747 | - width: 7%; | |
| 751 | + width: 5%; | |
| 748 | 752 | border-left: 1px solid #dedede; |
| 749 | 753 | } |
| 750 | 754 | |
| 751 | 755 | #schedule-lp_change-modal .sch-list.reverse dl dt:nth-of-type(2), #schedule-lp_change-modal .sch-list.reverse dl dd:nth-of-type(2) { |
| 752 | - width: 15%; | |
| 756 | + width: 14%; | |
| 753 | 757 | } |
| 754 | 758 | |
| 755 | 759 | #schedule-lp_change-modal .sch-list.reverse dl dt:nth-of-type(3), #schedule-lp_change-modal .sch-list.reverse dl dd:nth-of-type(3) { |
| 756 | - width: 22%; | |
| 760 | + width: 10%; | |
| 757 | 761 | } |
| 758 | 762 | |
| 759 | 763 | #schedule-lp_change-modal .sch-list.reverse dl dt:nth-of-type(4), #schedule-lp_change-modal .sch-list.reverse dl dd:nth-of-type(4) { |
| 760 | - width: 10%; | |
| 764 | + width: 21%; | |
| 761 | 765 | } |
| 762 | 766 | |
| 763 | 767 | #schedule-lp_change-modal .sch-list.reverse dl dt:nth-of-type(5), #schedule-lp_change-modal .sch-list.reverse dl dd:nth-of-type(5) { |
| 764 | - width: 20%; | |
| 768 | + width: 10%; | |
| 765 | 769 | } |
| 766 | 770 | |
| 767 | 771 | #schedule-lp_change-modal .sch-list.reverse dl dt:nth-of-type(6), #schedule-lp_change-modal .sch-list.reverse dl dd:nth-of-type(6) { |
| 768 | - width: 25%; | |
| 772 | + width: 17%; | |
| 773 | +} | |
| 774 | + | |
| 775 | +#schedule-lp_change-modal .sch-list.reverse dl dt:nth-of-type(7), #schedule-lp_change-modal .sch-list.reverse dl dd:nth-of-type(7) { | |
| 776 | + width: 22%; | |
| 769 | 777 | } |
| 770 | 778 | |
| 771 | 779 | #schedule-lp_change-modal .ct_table.sch-list .ct_table_body dl.active { |
| ... | ... | @@ -838,4 +846,12 @@ svg rect.offline{ |
| 838 | 846 | font-size: 12px; |
| 839 | 847 | margin-left: 5px; |
| 840 | 848 | display: none; |
| 849 | +} | |
| 850 | + | |
| 851 | +.operation-real-text{ | |
| 852 | + position: absolute; | |
| 853 | + top: 10px; | |
| 854 | + width: 100%; | |
| 855 | + left: 0; | |
| 856 | + text-align: center; | |
| 841 | 857 | } |
| 842 | 858 | \ No newline at end of file | ... | ... |
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/lp_change.html
| 1 | 1 | <div class="uk-modal" id="schedule-lp_change-modal"> |
| 2 | - <div class="uk-modal-dialog" style="width: 1200px;"> | |
| 2 | + <div class="uk-modal-dialog" style="width: 1240px;"> | |
| 3 | 3 | <a href="" class="uk-modal-close uk-close"></a> |
| 4 | 4 | <div class="uk-modal-header"> |
| 5 | 5 | <h2>路牌对调</h2></div> |
| 6 | 6 | |
| 7 | + <!--<div class="operation-real-text"> | |
| 8 | + <span> | |
| 9 | + 不同路牌才能对调 | |
| 10 | + </span> | |
| 11 | + </div>--> | |
| 7 | 12 | <div class="uk-grid uk-grid-divider"> |
| 8 | 13 | <div class="uk-width-1-2"> |
| 9 | 14 | <form class="uk-form uk-form-horizontal"> |
| ... | ... | @@ -23,7 +28,8 @@ |
| 23 | 28 | <dt>车辆</dt> |
| 24 | 29 | <dt>路牌</dt> |
| 25 | 30 | <dt>起点站</dt> |
| 26 | - <dt>时间</dt> | |
| 31 | + <dt>实发</dt> | |
| 32 | + <dt>计发</dt> | |
| 27 | 33 | </dl> |
| 28 | 34 | </div> |
| 29 | 35 | <div class="ct_table_body"> |
| ... | ... | @@ -45,7 +51,8 @@ |
| 45 | 51 | <div class="ct_table_head"> |
| 46 | 52 | <dl> |
| 47 | 53 | <dt><input type="checkbox" class="global_box"></dt> |
| 48 | - <dt>时间</dt> | |
| 54 | + <dt>计发</dt> | |
| 55 | + <dt>实发</dt> | |
| 49 | 56 | <dt>起点站</dt> |
| 50 | 57 | <dt>路牌</dt> |
| 51 | 58 | <dt>车辆</dt> |
| ... | ... | @@ -79,6 +86,7 @@ |
| 79 | 86 | <dd>{{sch.clZbh}}</dd> |
| 80 | 87 | <dd>{{sch.lpName}}</dd> |
| 81 | 88 | <dd>{{sch.qdzName}}</dd> |
| 89 | + <dd style="color:#07d;">{{sch.fcsjActual}}</dd> | |
| 82 | 90 | <dd>{{sch.dfsj}} |
| 83 | 91 | {{if sch.bcType == "out"}} |
| 84 | 92 | <span class="uk-badge uk-badge-success">出</span> |
| ... | ... | @@ -106,6 +114,7 @@ |
| 106 | 114 | <span class="uk-badge uk-badge-danger">放</span> |
| 107 | 115 | {{/if}} |
| 108 | 116 | </dd> |
| 117 | + <dd style="color:#07d;">{{sch.fcsjActual}}</dd> | |
| 109 | 118 | <dd>{{sch.qdzName}}</dd> |
| 110 | 119 | <dd>{{sch.lpName}}</dd> |
| 111 | 120 | <dd>{{sch.clZbh}}</dd> |
| ... | ... | @@ -218,7 +227,7 @@ |
| 218 | 227 | var rightSize = $('.sch-list:eq(1) dl.active', modal).length; |
| 219 | 228 | if(leftSize != rightSize) |
| 220 | 229 | $submitBtn.attr('disabled', 'disabled'); |
| 221 | - else | |
| 230 | + else if(leftSize != 0) | |
| 222 | 231 | $submitBtn.removeAttr('disabled'); |
| 223 | 232 | } |
| 224 | 233 | } | ... | ... |
src/main/resources/static/real_control_v2/js/common.js
src/main/resources/static/real_control_v2/js/line_schedule/sch_table.js
| ... | ... | @@ -197,10 +197,12 @@ var gb_schedule_table = (function () { |
| 197 | 197 | |
| 198 | 198 | var tMaps = {}; |
| 199 | 199 | $.each(schArr, function () { |
| 200 | - line2Schedule[this.xlBm][this.id] = this; | |
| 201 | - updateDom(this); | |
| 202 | - //线路_车辆 过滤重复数据 | |
| 203 | - tMaps[this.xlBm + '_' + this.clZbh] = 1; | |
| 200 | + try { | |
| 201 | + line2Schedule[this.xlBm][this.id] = this; | |
| 202 | + updateDom(this); | |
| 203 | + //线路_车辆 过滤重复数据 | |
| 204 | + tMaps[this.xlBm + '_' + this.clZbh] = 1; | |
| 205 | + }catch(e){} | |
| 204 | 206 | }); |
| 205 | 207 | |
| 206 | 208 | /* //重新标记末班 | ... | ... |