Commit c66ee69bf74d60263550536ac414d66fce9a3b13
1 parent
62bddf13
时刻表数据带线路版本
1、上一次更新已经让时刻表导入选择线路版本 2、ttinfo及ttinfodetail实体类中添加线路版本字段 3、修改时刻表编辑,明细编辑里的线路站点路由全部关联版本字段 4、在时刻表列表页面,明细页面都会显示版本描述信息 5、TODO,导入的时候就确定了线路版本,后续不能改变,以后也许能让改吧 6、TODO,自动生成时刻表目前还不带版本,需要iss-noDate-timetable_automatic分支解决
Showing
22 changed files
with
550 additions
and
106 deletions
src/main/java/com/bsth/controller/schedule/core/TTInfoController.java
| @@ -2,16 +2,14 @@ package com.bsth.controller.schedule.core; | @@ -2,16 +2,14 @@ package com.bsth.controller.schedule.core; | ||
| 2 | 2 | ||
| 3 | import com.bsth.common.ResponseCode; | 3 | import com.bsth.common.ResponseCode; |
| 4 | import com.bsth.controller.schedule.BController; | 4 | import com.bsth.controller.schedule.BController; |
| 5 | -import com.bsth.entity.LineVersions; | ||
| 6 | import com.bsth.entity.schedule.TTInfo; | 5 | import com.bsth.entity.schedule.TTInfo; |
| 7 | -import com.bsth.service.LineVersionsService; | ||
| 8 | import com.bsth.service.schedule.TTInfoService; | 6 | import com.bsth.service.schedule.TTInfoService; |
| 9 | import com.bsth.service.schedule.exception.ScheduleException; | 7 | import com.bsth.service.schedule.exception.ScheduleException; |
| 10 | -import org.joda.time.DateTime; | ||
| 11 | import org.springframework.beans.factory.annotation.Autowired; | 8 | import org.springframework.beans.factory.annotation.Autowired; |
| 12 | import org.springframework.web.bind.annotation.*; | 9 | import org.springframework.web.bind.annotation.*; |
| 13 | 10 | ||
| 14 | -import java.util.*; | 11 | +import java.util.HashMap; |
| 12 | +import java.util.Map; | ||
| 15 | 13 | ||
| 16 | /** | 14 | /** |
| 17 | * Created by xu on 16/12/20. | 15 | * Created by xu on 16/12/20. |
| @@ -21,47 +19,13 @@ import java.util.*; | @@ -21,47 +19,13 @@ import java.util.*; | ||
| 21 | public class TTInfoController extends BController<TTInfo, Long> { | 19 | public class TTInfoController extends BController<TTInfo, Long> { |
| 22 | @Autowired | 20 | @Autowired |
| 23 | private TTInfoService ttInfoService; | 21 | private TTInfoService ttInfoService; |
| 24 | - @Autowired | ||
| 25 | - private LineVersionsService lineVersionsService; | ||
| 26 | 22 | ||
| 27 | @RequestMapping(value = "/stationroute/{lineid}", method = RequestMethod.GET) | 23 | @RequestMapping(value = "/stationroute/{lineid}", method = RequestMethod.GET) |
| 28 | public Map<String, Object> getLineStationRouteVersions(@PathVariable(value = "lineid") Integer lineid) { | 24 | public Map<String, Object> getLineStationRouteVersions(@PathVariable(value = "lineid") Integer lineid) { |
| 29 | Map<String, Object> rtn = new HashMap<>(); | 25 | Map<String, Object> rtn = new HashMap<>(); |
| 30 | try { | 26 | try { |
| 31 | - List<LineVersions> lineVersionses = lineVersionsService.findByLineCode(lineid); | ||
| 32 | - Collections.sort(lineVersionses, new Comparator<LineVersions>() { | ||
| 33 | - @Override | ||
| 34 | - public int compare(LineVersions o1, LineVersions o2) { | ||
| 35 | - if (o1.getVersions() > o2.getVersions()) { | ||
| 36 | - return -1; | ||
| 37 | - } else if (o1.getVersions() < o2.getVersions()) { | ||
| 38 | - return 1; | ||
| 39 | - } else { | ||
| 40 | - return 0; | ||
| 41 | - } | ||
| 42 | - } | ||
| 43 | - }); | ||
| 44 | - | ||
| 45 | - // 取最近2条记录 | ||
| 46 | - List<Map<String, Object>> mapList = new ArrayList<>(); | ||
| 47 | - for (LineVersions lv: lineVersionses) { | ||
| 48 | - String vname = lv.getName(); | ||
| 49 | - String rq = lv.getStartDate() == null ? "未知启用日期" : new DateTime(lv.getStartDate()).toString("YYYY年MM月dd日"); | ||
| 50 | - String sdesc = lv.getStatus() == 0 ? "历史" : (lv.getStatus() == 1 ? "当前" : "待更新"); | ||
| 51 | - | ||
| 52 | - Map<String, Object> value = new HashMap<>(); | ||
| 53 | - value.put("desc", vname + "-" + rq + "-" + sdesc); | ||
| 54 | - value.put("version", lv.getVersions()); | ||
| 55 | - | ||
| 56 | - mapList.add(value); | ||
| 57 | - | ||
| 58 | - if (mapList.size() == 2) { | ||
| 59 | - break; | ||
| 60 | - } | ||
| 61 | - } | ||
| 62 | - | ||
| 63 | rtn.put("status", ResponseCode.SUCCESS); | 27 | rtn.put("status", ResponseCode.SUCCESS); |
| 64 | - rtn.put("data", mapList); | 28 | + rtn.put("data", ttInfoService.getLineStationRouteVersions(lineid)); |
| 65 | 29 | ||
| 66 | } catch (Exception exp) { | 30 | } catch (Exception exp) { |
| 67 | rtn.put("status", ResponseCode.ERROR); | 31 | rtn.put("status", ResponseCode.ERROR); |
| @@ -72,6 +36,25 @@ public class TTInfoController extends BController<TTInfo, Long> { | @@ -72,6 +36,25 @@ public class TTInfoController extends BController<TTInfo, Long> { | ||
| 72 | 36 | ||
| 73 | } | 37 | } |
| 74 | 38 | ||
| 39 | + @RequestMapping(value = "/versiondesc/{lineid}/{version}") | ||
| 40 | + public Map<String, Object> getLineVersionDesc( | ||
| 41 | + @PathVariable(value = "lineid") Integer lineid, | ||
| 42 | + @PathVariable(value = "version") Integer version) { | ||
| 43 | + Map<String, Object> rtn = new HashMap<>(); | ||
| 44 | + try { | ||
| 45 | + Map<String, String> desc = new HashMap<>(); | ||
| 46 | + desc.put("desc", ttInfoService.getLineVersionDesc(lineid, version)); | ||
| 47 | + rtn.put("status", ResponseCode.SUCCESS); | ||
| 48 | + rtn.put("data", desc); | ||
| 49 | + | ||
| 50 | + } catch (Exception exp) { | ||
| 51 | + rtn.put("status", ResponseCode.ERROR); | ||
| 52 | + rtn.put("msg", exp.getMessage()); | ||
| 53 | + } | ||
| 54 | + | ||
| 55 | + return rtn; | ||
| 56 | + } | ||
| 57 | + | ||
| 75 | @RequestMapping(value = "/validate_name", method = RequestMethod.GET) | 58 | @RequestMapping(value = "/validate_name", method = RequestMethod.GET) |
| 76 | public Map<String, Object> validate_name(@RequestParam Map<String, Object> param) { | 59 | public Map<String, Object> validate_name(@RequestParam Map<String, Object> param) { |
| 77 | Map<String, Object> rtn = new HashMap<>(); | 60 | Map<String, Object> rtn = new HashMap<>(); |
src/main/java/com/bsth/controller/schedule/core/TTInfoDetailController.java
| @@ -108,10 +108,10 @@ public class TTInfoDetailController extends BController<TTInfoDetail, Long> { | @@ -108,10 +108,10 @@ public class TTInfoDetailController extends BController<TTInfoDetail, Long> { | ||
| 108 | } | 108 | } |
| 109 | 109 | ||
| 110 | @RequestMapping(value = "/zd_tcc", method = RequestMethod.GET) | 110 | @RequestMapping(value = "/zd_tcc", method = RequestMethod.GET) |
| 111 | - public Map<String, Object> getZdAndTccInfo(Integer lineid, Integer xldir) { | 111 | + public Map<String, Object> getZdAndTccInfo(Integer lineid, Integer xldir, Integer lineversion) { |
| 112 | Map<String, Object> rtn = new HashMap<>(); | 112 | Map<String, Object> rtn = new HashMap<>(); |
| 113 | try { | 113 | try { |
| 114 | - List<Map<String, Object>> list = ttInfoDetailService.findZdAndTcc(lineid, xldir); | 114 | + List<Map<String, Object>> list = ttInfoDetailService.findZdAndTcc(lineid, xldir, lineversion); |
| 115 | rtn.put("status", ResponseCode.SUCCESS); | 115 | rtn.put("status", ResponseCode.SUCCESS); |
| 116 | rtn.put("data", list); | 116 | rtn.put("data", list); |
| 117 | } catch (Exception exp) { | 117 | } catch (Exception exp) { |
src/main/java/com/bsth/entity/schedule/TTInfo.java
| @@ -67,6 +67,10 @@ public class TTInfo extends BEntity { | @@ -67,6 +67,10 @@ public class TTInfo extends BEntity { | ||
| 67 | /** 最近备份日期 */ | 67 | /** 最近备份日期 */ |
| 68 | private Date lastBackUpDate; | 68 | private Date lastBackUpDate; |
| 69 | 69 | ||
| 70 | + /** 线路版本(bsth_c_line_versions表对应字段) */ | ||
| 71 | + @Column(nullable = false) | ||
| 72 | + private int lineVersion; | ||
| 73 | + | ||
| 70 | public TTInfo() {} | 74 | public TTInfo() {} |
| 71 | public TTInfo(Object id, Object xlid, Object name, Object nds, Object sds) { | 75 | public TTInfo(Object id, Object xlid, Object name, Object nds, Object sds) { |
| 72 | if (id != null) { | 76 | if (id != null) { |
| @@ -109,7 +113,9 @@ public class TTInfo extends BEntity { | @@ -109,7 +113,9 @@ public class TTInfo extends BEntity { | ||
| 109 | .setUpdateUser(getUpdateBy() == null ? 0 : getUpdateBy().getId()) | 113 | .setUpdateUser(getUpdateBy() == null ? 0 : getUpdateBy().getId()) |
| 110 | .setUpdateUserName(getUpdateBy() == null ? "" : getUpdateBy().getUserName()) | 114 | .setUpdateUserName(getUpdateBy() == null ? "" : getUpdateBy().getUserName()) |
| 111 | .setCreateDate(getCreateDate() == null ? 0l : getCreateDate().getTime()) | 115 | .setCreateDate(getCreateDate() == null ? 0l : getCreateDate().getTime()) |
| 112 | - .setUpdateDate(getUpdateDate() == null ? 0l : getUpdateDate().getTime()); | 116 | + .setUpdateDate(getUpdateDate() == null ? 0l : getUpdateDate().getTime()) |
| 117 | + .setLineVersion(lineVersion) | ||
| 118 | + ; | ||
| 113 | 119 | ||
| 114 | } | 120 | } |
| 115 | 121 | ||
| @@ -216,4 +222,12 @@ public class TTInfo extends BEntity { | @@ -216,4 +222,12 @@ public class TTInfo extends BEntity { | ||
| 216 | public void setLastBackUpDate(Date lastBackUpDate) { | 222 | public void setLastBackUpDate(Date lastBackUpDate) { |
| 217 | this.lastBackUpDate = lastBackUpDate; | 223 | this.lastBackUpDate = lastBackUpDate; |
| 218 | } | 224 | } |
| 225 | + | ||
| 226 | + public int getLineVersion() { | ||
| 227 | + return lineVersion; | ||
| 228 | + } | ||
| 229 | + | ||
| 230 | + public void setLineVersion(int lineVersion) { | ||
| 231 | + this.lineVersion = lineVersion; | ||
| 232 | + } | ||
| 219 | } | 233 | } |
src/main/java/com/bsth/entity/schedule/TTInfoBackup.java
| @@ -36,6 +36,10 @@ public class TTInfoBackup { | @@ -36,6 +36,10 @@ public class TTInfoBackup { | ||
| 36 | @Lob | 36 | @Lob |
| 37 | private byte[] backUpInfo; | 37 | private byte[] backUpInfo; |
| 38 | 38 | ||
| 39 | + /** 线路版本(bsth_c_line_versions表对应字段) */ | ||
| 40 | + @Column(nullable = false) | ||
| 41 | + private int lineVersion; | ||
| 42 | + | ||
| 39 | public Long getId() { | 43 | public Long getId() { |
| 40 | return id; | 44 | return id; |
| 41 | } | 45 | } |
| @@ -91,4 +95,12 @@ public class TTInfoBackup { | @@ -91,4 +95,12 @@ public class TTInfoBackup { | ||
| 91 | public void setBackUpInfo(byte[] backUpInfo) { | 95 | public void setBackUpInfo(byte[] backUpInfo) { |
| 92 | this.backUpInfo = backUpInfo; | 96 | this.backUpInfo = backUpInfo; |
| 93 | } | 97 | } |
| 98 | + | ||
| 99 | + public int getLineVersion() { | ||
| 100 | + return lineVersion; | ||
| 101 | + } | ||
| 102 | + | ||
| 103 | + public void setLineVersion(int lineVersion) { | ||
| 104 | + this.lineVersion = lineVersion; | ||
| 105 | + } | ||
| 94 | } | 106 | } |
src/main/java/com/bsth/entity/schedule/TTInfoDetail.java
| @@ -100,6 +100,10 @@ public class TTInfoDetail extends BEntity { | @@ -100,6 +100,10 @@ public class TTInfoDetail extends BEntity { | ||
| 100 | /** 备注 */ | 100 | /** 备注 */ |
| 101 | private String remark; | 101 | private String remark; |
| 102 | 102 | ||
| 103 | + /** 线路版本(bsth_c_line_versions表对应字段) */ | ||
| 104 | + @Column(nullable = false) | ||
| 105 | + private int lineVersion; | ||
| 106 | + | ||
| 103 | /** | 107 | /** |
| 104 | * 输出proto生成的builder | 108 | * 输出proto生成的builder |
| 105 | * @return | 109 | * @return |
| @@ -126,6 +130,7 @@ public class TTInfoDetail extends BEntity { | @@ -126,6 +130,7 @@ public class TTInfoDetail extends BEntity { | ||
| 126 | .setIsFB(isFB == null ? false : isFB) | 130 | .setIsFB(isFB == null ? false : isFB) |
| 127 | .setIsTS(isTS == null ? false : isTS) | 131 | .setIsTS(isTS == null ? false : isTS) |
| 128 | .setRemark(remark == null ? "" : remark) | 132 | .setRemark(remark == null ? "" : remark) |
| 133 | + .setLineVersion(lineVersion) | ||
| 129 | ; | 134 | ; |
| 130 | } | 135 | } |
| 131 | 136 | ||
| @@ -320,4 +325,12 @@ public class TTInfoDetail extends BEntity { | @@ -320,4 +325,12 @@ public class TTInfoDetail extends BEntity { | ||
| 320 | public void setIsTS(Boolean isTS) { | 325 | public void setIsTS(Boolean isTS) { |
| 321 | this.isTS = isTS; | 326 | this.isTS = isTS; |
| 322 | } | 327 | } |
| 328 | + | ||
| 329 | + public int getLineVersion() { | ||
| 330 | + return lineVersion; | ||
| 331 | + } | ||
| 332 | + | ||
| 333 | + public void setLineVersion(int lineVersion) { | ||
| 334 | + this.lineVersion = lineVersion; | ||
| 335 | + } | ||
| 323 | } | 336 | } |
src/main/java/com/bsth/service/schedule/TTInfoDetailService.java
| @@ -54,5 +54,5 @@ public interface TTInfoDetailService extends BService<TTInfoDetail, Long> { | @@ -54,5 +54,5 @@ public interface TTInfoDetailService extends BService<TTInfoDetail, Long> { | ||
| 54 | 54 | ||
| 55 | Map<String, Object> skbDetailMxSave(Map<String, Object> map); | 55 | Map<String, Object> skbDetailMxSave(Map<String, Object> map); |
| 56 | 56 | ||
| 57 | - List<Map<String, Object>> findZdAndTcc(int lineid, int xldir); | 57 | + List<Map<String, Object>> findZdAndTcc(int lineid, int xldir, int lineversion); |
| 58 | } | 58 | } |
src/main/java/com/bsth/service/schedule/TTInfoService.java
| @@ -3,6 +3,9 @@ package com.bsth.service.schedule; | @@ -3,6 +3,9 @@ package com.bsth.service.schedule; | ||
| 3 | import com.bsth.entity.schedule.TTInfo; | 3 | import com.bsth.entity.schedule.TTInfo; |
| 4 | import com.bsth.service.schedule.exception.ScheduleException; | 4 | import com.bsth.service.schedule.exception.ScheduleException; |
| 5 | 5 | ||
| 6 | +import java.util.List; | ||
| 7 | +import java.util.Map; | ||
| 8 | + | ||
| 6 | /** | 9 | /** |
| 7 | * Created by xu on 16/5/12. | 10 | * Created by xu on 16/5/12. |
| 8 | */ | 11 | */ |
| @@ -14,4 +17,8 @@ public interface TTInfoService extends BService<TTInfo, Long> { | @@ -14,4 +17,8 @@ public interface TTInfoService extends BService<TTInfo, Long> { | ||
| 14 | 17 | ||
| 15 | void backUp(Long ttInfoId) throws ScheduleException; | 18 | void backUp(Long ttInfoId) throws ScheduleException; |
| 16 | 19 | ||
| 20 | + List<Map<String, Object>> getLineStationRouteVersions(Integer lineId); | ||
| 21 | + | ||
| 22 | + String getLineVersionDesc(Integer lineId, Integer version); | ||
| 23 | + | ||
| 17 | } | 24 | } |
src/main/java/com/bsth/service/schedule/impl/TTInfoDetailServiceImpl.java
| @@ -94,17 +94,17 @@ public class TTInfoDetailServiceImpl extends BServiceImpl<TTInfoDetail, Long> im | @@ -94,17 +94,17 @@ public class TTInfoDetailServiceImpl extends BServiceImpl<TTInfoDetail, Long> im | ||
| 94 | * @param xldir 线路上下行 | 94 | * @param xldir 线路上下行 |
| 95 | * @return | 95 | * @return |
| 96 | */ | 96 | */ |
| 97 | - public List<Map<String, Object>> findZdAndTcc(int lineid, int xldir) { | 97 | + public List<Map<String, Object>> findZdAndTcc(int lineid, int xldir, int lineversion) { |
| 98 | String sql = "select * from " + | 98 | String sql = "select * from " + |
| 99 | "(" + | 99 | "(" + |
| 100 | - "select station_code as zcode, station_name as zname, concat(station_name, '(站点)') as aname from bsth_c_stationroute " + | ||
| 101 | - "where destroy = 0 and line = ? and directions = ? " + | 100 | + "select station_code as zcode, station_name as zname, concat(station_name, '(站点)') as aname from bsth_c_ls_stationroute " + |
| 101 | + "where destroy = 0 and line = ? and directions = ? and versions = ? " + | ||
| 102 | "union all " + | 102 | "union all " + |
| 103 | "select park_code as zcode, park_name as zname, concat(park_name, '(停车场)') as aname from bsth_c_car_park " + | 103 | "select park_code as zcode, park_name as zname, concat(park_name, '(停车场)') as aname from bsth_c_car_park " + |
| 104 | "where destroy = 0 " + | 104 | "where destroy = 0 " + |
| 105 | ") a "; | 105 | ") a "; |
| 106 | 106 | ||
| 107 | - return jdbcTemplate.queryForList(sql, lineid, xldir); | 107 | + return jdbcTemplate.queryForList(sql, lineid, xldir, lineversion); |
| 108 | } | 108 | } |
| 109 | 109 | ||
| 110 | @Override | 110 | @Override |
src/main/java/com/bsth/service/schedule/impl/TTInfoServiceImpl.java
| 1 | package com.bsth.service.schedule.impl; | 1 | package com.bsth.service.schedule.impl; |
| 2 | 2 | ||
| 3 | +import com.bsth.entity.LineVersions; | ||
| 3 | import com.bsth.entity.schedule.TTInfo; | 4 | import com.bsth.entity.schedule.TTInfo; |
| 4 | import com.bsth.entity.schedule.TTInfoBackup; | 5 | import com.bsth.entity.schedule.TTInfoBackup; |
| 5 | import com.bsth.entity.schedule.TTInfoDetail; | 6 | import com.bsth.entity.schedule.TTInfoDetail; |
| 6 | import com.bsth.repository.schedule.TTInfoBackupRepository; | 7 | import com.bsth.repository.schedule.TTInfoBackupRepository; |
| 7 | import com.bsth.repository.schedule.TTInfoDetailRepository; | 8 | import com.bsth.repository.schedule.TTInfoDetailRepository; |
| 8 | import com.bsth.repository.schedule.TTInfoRepository; | 9 | import com.bsth.repository.schedule.TTInfoRepository; |
| 10 | +import com.bsth.service.LineVersionsService; | ||
| 9 | import com.bsth.service.schedule.TTInfoService; | 11 | import com.bsth.service.schedule.TTInfoService; |
| 10 | import com.bsth.service.schedule.exception.ScheduleException; | 12 | import com.bsth.service.schedule.exception.ScheduleException; |
| 11 | import com.bsth.service.schedule.utils.TimeTableProto; | 13 | import com.bsth.service.schedule.utils.TimeTableProto; |
| 12 | import org.apache.commons.lang3.StringUtils; | 14 | import org.apache.commons.lang3.StringUtils; |
| 15 | +import org.joda.time.DateTime; | ||
| 13 | import org.slf4j.Logger; | 16 | import org.slf4j.Logger; |
| 14 | import org.slf4j.LoggerFactory; | 17 | import org.slf4j.LoggerFactory; |
| 15 | import org.springframework.beans.factory.annotation.Autowired; | 18 | import org.springframework.beans.factory.annotation.Autowired; |
| @@ -21,10 +24,7 @@ import org.springframework.util.CollectionUtils; | @@ -21,10 +24,7 @@ import org.springframework.util.CollectionUtils; | ||
| 21 | 24 | ||
| 22 | import java.io.PrintWriter; | 25 | import java.io.PrintWriter; |
| 23 | import java.io.StringWriter; | 26 | import java.io.StringWriter; |
| 24 | -import java.util.Date; | ||
| 25 | -import java.util.HashMap; | ||
| 26 | -import java.util.List; | ||
| 27 | -import java.util.Map; | 27 | +import java.util.*; |
| 28 | 28 | ||
| 29 | /** | 29 | /** |
| 30 | * Created by xu on 16/12/20. | 30 | * Created by xu on 16/12/20. |
| @@ -40,6 +40,8 @@ public class TTInfoServiceImpl extends BServiceImpl<TTInfo, Long> implements TTI | @@ -40,6 +40,8 @@ public class TTInfoServiceImpl extends BServiceImpl<TTInfo, Long> implements TTI | ||
| 40 | private TTInfoDetailRepository ttInfoDetailRepository; | 40 | private TTInfoDetailRepository ttInfoDetailRepository; |
| 41 | @Autowired | 41 | @Autowired |
| 42 | private TTInfoBackupRepository ttInfoBackupRepository; | 42 | private TTInfoBackupRepository ttInfoBackupRepository; |
| 43 | + @Autowired | ||
| 44 | + private LineVersionsService lineVersionsService; | ||
| 43 | 45 | ||
| 44 | @Override | 46 | @Override |
| 45 | public void validate_name(TTInfo ttInfo) throws ScheduleException { | 47 | public void validate_name(TTInfo ttInfo) throws ScheduleException { |
| @@ -137,7 +139,70 @@ public class TTInfoServiceImpl extends BServiceImpl<TTInfo, Long> implements TTI | @@ -137,7 +139,70 @@ public class TTInfoServiceImpl extends BServiceImpl<TTInfo, Long> implements TTI | ||
| 137 | } | 139 | } |
| 138 | 140 | ||
| 139 | @Override | 141 | @Override |
| 140 | - @Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED) | 142 | + public List<Map<String, Object>> getLineStationRouteVersions(Integer lineId) { |
| 143 | + // 获取线路版本 | ||
| 144 | + List<LineVersions> lineVersionsList = lineVersionsService.findByLineCode(lineId); | ||
| 145 | + // 按照version版本降序排序 | ||
| 146 | + Collections.sort(lineVersionsList, new Comparator<LineVersions>() { | ||
| 147 | + @Override | ||
| 148 | + public int compare(LineVersions o1, LineVersions o2) { | ||
| 149 | + if (o1.getVersions() > o2.getVersions()) { | ||
| 150 | + return -1; | ||
| 151 | + } else if (o1.getVersions() < o2.getVersions()) { | ||
| 152 | + return 1; | ||
| 153 | + } else { | ||
| 154 | + return 0; | ||
| 155 | + } | ||
| 156 | + } | ||
| 157 | + }); | ||
| 158 | + | ||
| 159 | + // 取最开始的2条记录 | ||
| 160 | + List<Map<String, Object>> mapList = new ArrayList<>(); | ||
| 161 | + for (LineVersions lv: lineVersionsList) { | ||
| 162 | + String vname = lv.getName(); | ||
| 163 | + String rq = lv.getStartDate() == null ? "未知启用日期" : new DateTime(lv.getStartDate()).toString("YYYY年MM月dd日"); | ||
| 164 | + String sdesc = lv.getStatus() == 0 ? "历史" : (lv.getStatus() == 1 ? "当前" : "待更新"); | ||
| 165 | + | ||
| 166 | + Map<String, Object> value = new HashMap<>(); | ||
| 167 | + value.put("desc", vname + "-" + rq + "-" + sdesc); | ||
| 168 | + value.put("version", lv.getVersions()); | ||
| 169 | + | ||
| 170 | + mapList.add(value); | ||
| 171 | + | ||
| 172 | + if (mapList.size() == 2) { | ||
| 173 | + break; | ||
| 174 | + } | ||
| 175 | + } | ||
| 176 | + | ||
| 177 | + return mapList; | ||
| 178 | + } | ||
| 179 | + | ||
| 180 | + @Override | ||
| 181 | + public String getLineVersionDesc(Integer lineId, Integer version) { | ||
| 182 | + // 查找指定版本,并判定 | ||
| 183 | + Map<String, Object> param = new HashMap<>(); | ||
| 184 | + param.put("line_eq", lineId); | ||
| 185 | + param.put("versions_eq", version); | ||
| 186 | + List<LineVersions> lineVersionsList = (List<LineVersions>) lineVersionsService.list(param); | ||
| 187 | + | ||
| 188 | + LineVersions lv; | ||
| 189 | + if (CollectionUtils.isEmpty(lineVersionsList)) { | ||
| 190 | + return "未知版本"; | ||
| 191 | + } else if (lineVersionsList.size() > 1) { | ||
| 192 | + return "重复版本"; | ||
| 193 | + } else { | ||
| 194 | + lv = lineVersionsList.get(0); | ||
| 195 | + } | ||
| 196 | + | ||
| 197 | + String vname = lv.getName(); | ||
| 198 | + String rq = lv.getStartDate() == null ? "未知启用日期" : new DateTime(lv.getStartDate()).toString("YYYY年MM月dd日"); | ||
| 199 | + String sdesc = lv.getStatus() == 0 ? "历史" : (lv.getStatus() == 1 ? "当前" : "待更新"); | ||
| 200 | + | ||
| 201 | + return String.format("%s-%s-%s", vname, rq, sdesc); | ||
| 202 | + } | ||
| 203 | + | ||
| 204 | + @Override | ||
| 205 | + @Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.REPEATABLE_READ) | ||
| 141 | public void backUp(Long ttInfoId) throws ScheduleException { | 206 | public void backUp(Long ttInfoId) throws ScheduleException { |
| 142 | LOG.info(">>>>>>开始备份时刻表<<<<<<"); | 207 | LOG.info(">>>>>>开始备份时刻表<<<<<<"); |
| 143 | 208 | ||
| @@ -165,6 +230,7 @@ public class TTInfoServiceImpl extends BServiceImpl<TTInfo, Long> implements TTI | @@ -165,6 +230,7 @@ public class TTInfoServiceImpl extends BServiceImpl<TTInfo, Long> implements TTI | ||
| 165 | ttInfoBackup.setXlName(ttInfo.getXl().getName()); | 230 | ttInfoBackup.setXlName(ttInfo.getXl().getName()); |
| 166 | ttInfoBackup.setTtInfo(ttInfoId); | 231 | ttInfoBackup.setTtInfo(ttInfoId); |
| 167 | ttInfoBackup.setTtInfoName(ttInfo.getName()); | 232 | ttInfoBackup.setTtInfoName(ttInfo.getName()); |
| 233 | + ttInfoBackup.setLineVersion(ttInfo.getLineVersion()); | ||
| 168 | ttInfoBackup.setBackUpDate(backupdate); | 234 | ttInfoBackup.setBackUpDate(backupdate); |
| 169 | ttInfoBackup.setBackUpInfo(backupbytes); | 235 | ttInfoBackup.setBackUpInfo(backupbytes); |
| 170 | 236 |
src/main/java/com/bsth/service/schedule/utils/TimeTableProto.java
| @@ -268,6 +268,15 @@ public final class TimeTableProto { | @@ -268,6 +268,15 @@ public final class TimeTableProto { | ||
| 268 | */ | 268 | */ |
| 269 | com.bsth.service.schedule.utils.TimeTableProto.TTInfoDetailOrBuilder getBcInfoOrBuilder( | 269 | com.bsth.service.schedule.utils.TimeTableProto.TTInfoDetailOrBuilder getBcInfoOrBuilder( |
| 270 | int index); | 270 | int index); |
| 271 | + | ||
| 272 | + /** | ||
| 273 | + * <pre> | ||
| 274 | + * 线路版本 | ||
| 275 | + * </pre> | ||
| 276 | + * | ||
| 277 | + * <code>uint32 lineVersion = 18;</code> | ||
| 278 | + */ | ||
| 279 | + int getLineVersion(); | ||
| 271 | } | 280 | } |
| 272 | /** | 281 | /** |
| 273 | * Protobuf type {@code timetable.TTInfo} | 282 | * Protobuf type {@code timetable.TTInfo} |
| @@ -298,6 +307,7 @@ public final class TimeTableProto { | @@ -298,6 +307,7 @@ public final class TimeTableProto { | ||
| 298 | createDate_ = 0L; | 307 | createDate_ = 0L; |
| 299 | updateDate_ = 0L; | 308 | updateDate_ = 0L; |
| 300 | bcInfo_ = java.util.Collections.emptyList(); | 309 | bcInfo_ = java.util.Collections.emptyList(); |
| 310 | + lineVersion_ = 0; | ||
| 301 | } | 311 | } |
| 302 | 312 | ||
| 303 | @java.lang.Override | 313 | @java.lang.Override |
| @@ -421,6 +431,11 @@ public final class TimeTableProto { | @@ -421,6 +431,11 @@ public final class TimeTableProto { | ||
| 421 | input.readMessage(com.bsth.service.schedule.utils.TimeTableProto.TTInfoDetail.parser(), extensionRegistry)); | 431 | input.readMessage(com.bsth.service.schedule.utils.TimeTableProto.TTInfoDetail.parser(), extensionRegistry)); |
| 422 | break; | 432 | break; |
| 423 | } | 433 | } |
| 434 | + case 144: { | ||
| 435 | + | ||
| 436 | + lineVersion_ = input.readUInt32(); | ||
| 437 | + break; | ||
| 438 | + } | ||
| 424 | } | 439 | } |
| 425 | } | 440 | } |
| 426 | } catch (com.google.protobuf.InvalidProtocolBufferException e) { | 441 | } catch (com.google.protobuf.InvalidProtocolBufferException e) { |
| @@ -914,6 +929,19 @@ public final class TimeTableProto { | @@ -914,6 +929,19 @@ public final class TimeTableProto { | ||
| 914 | return bcInfo_.get(index); | 929 | return bcInfo_.get(index); |
| 915 | } | 930 | } |
| 916 | 931 | ||
| 932 | + public static final int LINEVERSION_FIELD_NUMBER = 18; | ||
| 933 | + private int lineVersion_; | ||
| 934 | + /** | ||
| 935 | + * <pre> | ||
| 936 | + * 线路版本 | ||
| 937 | + * </pre> | ||
| 938 | + * | ||
| 939 | + * <code>uint32 lineVersion = 18;</code> | ||
| 940 | + */ | ||
| 941 | + public int getLineVersion() { | ||
| 942 | + return lineVersion_; | ||
| 943 | + } | ||
| 944 | + | ||
| 917 | private byte memoizedIsInitialized = -1; | 945 | private byte memoizedIsInitialized = -1; |
| 918 | public final boolean isInitialized() { | 946 | public final boolean isInitialized() { |
| 919 | byte isInitialized = memoizedIsInitialized; | 947 | byte isInitialized = memoizedIsInitialized; |
| @@ -977,6 +1005,9 @@ public final class TimeTableProto { | @@ -977,6 +1005,9 @@ public final class TimeTableProto { | ||
| 977 | for (int i = 0; i < bcInfo_.size(); i++) { | 1005 | for (int i = 0; i < bcInfo_.size(); i++) { |
| 978 | output.writeMessage(17, bcInfo_.get(i)); | 1006 | output.writeMessage(17, bcInfo_.get(i)); |
| 979 | } | 1007 | } |
| 1008 | + if (lineVersion_ != 0) { | ||
| 1009 | + output.writeUInt32(18, lineVersion_); | ||
| 1010 | + } | ||
| 980 | } | 1011 | } |
| 981 | 1012 | ||
| 982 | public int getSerializedSize() { | 1013 | public int getSerializedSize() { |
| @@ -1045,6 +1076,10 @@ public final class TimeTableProto { | @@ -1045,6 +1076,10 @@ public final class TimeTableProto { | ||
| 1045 | size += com.google.protobuf.CodedOutputStream | 1076 | size += com.google.protobuf.CodedOutputStream |
| 1046 | .computeMessageSize(17, bcInfo_.get(i)); | 1077 | .computeMessageSize(17, bcInfo_.get(i)); |
| 1047 | } | 1078 | } |
| 1079 | + if (lineVersion_ != 0) { | ||
| 1080 | + size += com.google.protobuf.CodedOutputStream | ||
| 1081 | + .computeUInt32Size(18, lineVersion_); | ||
| 1082 | + } | ||
| 1048 | memoizedSize = size; | 1083 | memoizedSize = size; |
| 1049 | return size; | 1084 | return size; |
| 1050 | } | 1085 | } |
| @@ -1095,6 +1130,8 @@ public final class TimeTableProto { | @@ -1095,6 +1130,8 @@ public final class TimeTableProto { | ||
| 1095 | == other.getUpdateDate()); | 1130 | == other.getUpdateDate()); |
| 1096 | result = result && getBcInfoList() | 1131 | result = result && getBcInfoList() |
| 1097 | .equals(other.getBcInfoList()); | 1132 | .equals(other.getBcInfoList()); |
| 1133 | + result = result && (getLineVersion() | ||
| 1134 | + == other.getLineVersion()); | ||
| 1098 | return result; | 1135 | return result; |
| 1099 | } | 1136 | } |
| 1100 | 1137 | ||
| @@ -1147,6 +1184,8 @@ public final class TimeTableProto { | @@ -1147,6 +1184,8 @@ public final class TimeTableProto { | ||
| 1147 | hash = (37 * hash) + BCINFO_FIELD_NUMBER; | 1184 | hash = (37 * hash) + BCINFO_FIELD_NUMBER; |
| 1148 | hash = (53 * hash) + getBcInfoList().hashCode(); | 1185 | hash = (53 * hash) + getBcInfoList().hashCode(); |
| 1149 | } | 1186 | } |
| 1187 | + hash = (37 * hash) + LINEVERSION_FIELD_NUMBER; | ||
| 1188 | + hash = (53 * hash) + getLineVersion(); | ||
| 1150 | hash = (29 * hash) + unknownFields.hashCode(); | 1189 | hash = (29 * hash) + unknownFields.hashCode(); |
| 1151 | memoizedHashCode = hash; | 1190 | memoizedHashCode = hash; |
| 1152 | return hash; | 1191 | return hash; |
| @@ -1315,6 +1354,8 @@ public final class TimeTableProto { | @@ -1315,6 +1354,8 @@ public final class TimeTableProto { | ||
| 1315 | } else { | 1354 | } else { |
| 1316 | bcInfoBuilder_.clear(); | 1355 | bcInfoBuilder_.clear(); |
| 1317 | } | 1356 | } |
| 1357 | + lineVersion_ = 0; | ||
| 1358 | + | ||
| 1318 | return this; | 1359 | return this; |
| 1319 | } | 1360 | } |
| 1320 | 1361 | ||
| @@ -1364,6 +1405,7 @@ public final class TimeTableProto { | @@ -1364,6 +1405,7 @@ public final class TimeTableProto { | ||
| 1364 | } else { | 1405 | } else { |
| 1365 | result.bcInfo_ = bcInfoBuilder_.build(); | 1406 | result.bcInfo_ = bcInfoBuilder_.build(); |
| 1366 | } | 1407 | } |
| 1408 | + result.lineVersion_ = lineVersion_; | ||
| 1367 | result.bitField0_ = to_bitField0_; | 1409 | result.bitField0_ = to_bitField0_; |
| 1368 | onBuilt(); | 1410 | onBuilt(); |
| 1369 | return result; | 1411 | return result; |
| @@ -1487,6 +1529,9 @@ public final class TimeTableProto { | @@ -1487,6 +1529,9 @@ public final class TimeTableProto { | ||
| 1487 | } | 1529 | } |
| 1488 | } | 1530 | } |
| 1489 | } | 1531 | } |
| 1532 | + if (other.getLineVersion() != 0) { | ||
| 1533 | + setLineVersion(other.getLineVersion()); | ||
| 1534 | + } | ||
| 1490 | onChanged(); | 1535 | onChanged(); |
| 1491 | return this; | 1536 | return this; |
| 1492 | } | 1537 | } |
| @@ -2790,6 +2835,44 @@ public final class TimeTableProto { | @@ -2790,6 +2835,44 @@ public final class TimeTableProto { | ||
| 2790 | } | 2835 | } |
| 2791 | return bcInfoBuilder_; | 2836 | return bcInfoBuilder_; |
| 2792 | } | 2837 | } |
| 2838 | + | ||
| 2839 | + private int lineVersion_ ; | ||
| 2840 | + /** | ||
| 2841 | + * <pre> | ||
| 2842 | + * 线路版本 | ||
| 2843 | + * </pre> | ||
| 2844 | + * | ||
| 2845 | + * <code>uint32 lineVersion = 18;</code> | ||
| 2846 | + */ | ||
| 2847 | + public int getLineVersion() { | ||
| 2848 | + return lineVersion_; | ||
| 2849 | + } | ||
| 2850 | + /** | ||
| 2851 | + * <pre> | ||
| 2852 | + * 线路版本 | ||
| 2853 | + * </pre> | ||
| 2854 | + * | ||
| 2855 | + * <code>uint32 lineVersion = 18;</code> | ||
| 2856 | + */ | ||
| 2857 | + public Builder setLineVersion(int value) { | ||
| 2858 | + | ||
| 2859 | + lineVersion_ = value; | ||
| 2860 | + onChanged(); | ||
| 2861 | + return this; | ||
| 2862 | + } | ||
| 2863 | + /** | ||
| 2864 | + * <pre> | ||
| 2865 | + * 线路版本 | ||
| 2866 | + * </pre> | ||
| 2867 | + * | ||
| 2868 | + * <code>uint32 lineVersion = 18;</code> | ||
| 2869 | + */ | ||
| 2870 | + public Builder clearLineVersion() { | ||
| 2871 | + | ||
| 2872 | + lineVersion_ = 0; | ||
| 2873 | + onChanged(); | ||
| 2874 | + return this; | ||
| 2875 | + } | ||
| 2793 | public final Builder setUnknownFields( | 2876 | public final Builder setUnknownFields( |
| 2794 | final com.google.protobuf.UnknownFieldSet unknownFields) { | 2877 | final com.google.protobuf.UnknownFieldSet unknownFields) { |
| 2795 | return this; | 2878 | return this; |
| @@ -3103,6 +3186,15 @@ public final class TimeTableProto { | @@ -3103,6 +3186,15 @@ public final class TimeTableProto { | ||
| 3103 | */ | 3186 | */ |
| 3104 | com.google.protobuf.ByteString | 3187 | com.google.protobuf.ByteString |
| 3105 | getRemarkBytes(); | 3188 | getRemarkBytes(); |
| 3189 | + | ||
| 3190 | + /** | ||
| 3191 | + * <pre> | ||
| 3192 | + * 线路版本 | ||
| 3193 | + * </pre> | ||
| 3194 | + * | ||
| 3195 | + * <code>uint32 lineVersion = 20;</code> | ||
| 3196 | + */ | ||
| 3197 | + int getLineVersion(); | ||
| 3106 | } | 3198 | } |
| 3107 | /** | 3199 | /** |
| 3108 | * Protobuf type {@code timetable.TTInfoDetail} | 3200 | * Protobuf type {@code timetable.TTInfoDetail} |
| @@ -3135,6 +3227,7 @@ public final class TimeTableProto { | @@ -3135,6 +3227,7 @@ public final class TimeTableProto { | ||
| 3135 | isFB_ = false; | 3227 | isFB_ = false; |
| 3136 | isTS_ = false; | 3228 | isTS_ = false; |
| 3137 | remark_ = ""; | 3229 | remark_ = ""; |
| 3230 | + lineVersion_ = 0; | ||
| 3138 | } | 3231 | } |
| 3139 | 3232 | ||
| 3140 | @java.lang.Override | 3233 | @java.lang.Override |
| @@ -3267,6 +3360,11 @@ public final class TimeTableProto { | @@ -3267,6 +3360,11 @@ public final class TimeTableProto { | ||
| 3267 | remark_ = s; | 3360 | remark_ = s; |
| 3268 | break; | 3361 | break; |
| 3269 | } | 3362 | } |
| 3363 | + case 160: { | ||
| 3364 | + | ||
| 3365 | + lineVersion_ = input.readUInt32(); | ||
| 3366 | + break; | ||
| 3367 | + } | ||
| 3270 | } | 3368 | } |
| 3271 | } | 3369 | } |
| 3272 | } catch (com.google.protobuf.InvalidProtocolBufferException e) { | 3370 | } catch (com.google.protobuf.InvalidProtocolBufferException e) { |
| @@ -3827,6 +3925,19 @@ public final class TimeTableProto { | @@ -3827,6 +3925,19 @@ public final class TimeTableProto { | ||
| 3827 | } | 3925 | } |
| 3828 | } | 3926 | } |
| 3829 | 3927 | ||
| 3928 | + public static final int LINEVERSION_FIELD_NUMBER = 20; | ||
| 3929 | + private int lineVersion_; | ||
| 3930 | + /** | ||
| 3931 | + * <pre> | ||
| 3932 | + * 线路版本 | ||
| 3933 | + * </pre> | ||
| 3934 | + * | ||
| 3935 | + * <code>uint32 lineVersion = 20;</code> | ||
| 3936 | + */ | ||
| 3937 | + public int getLineVersion() { | ||
| 3938 | + return lineVersion_; | ||
| 3939 | + } | ||
| 3940 | + | ||
| 3830 | private byte memoizedIsInitialized = -1; | 3941 | private byte memoizedIsInitialized = -1; |
| 3831 | public final boolean isInitialized() { | 3942 | public final boolean isInitialized() { |
| 3832 | byte isInitialized = memoizedIsInitialized; | 3943 | byte isInitialized = memoizedIsInitialized; |
| @@ -3896,6 +4007,9 @@ public final class TimeTableProto { | @@ -3896,6 +4007,9 @@ public final class TimeTableProto { | ||
| 3896 | if (!getRemarkBytes().isEmpty()) { | 4007 | if (!getRemarkBytes().isEmpty()) { |
| 3897 | com.google.protobuf.GeneratedMessageV3.writeString(output, 19, remark_); | 4008 | com.google.protobuf.GeneratedMessageV3.writeString(output, 19, remark_); |
| 3898 | } | 4009 | } |
| 4010 | + if (lineVersion_ != 0) { | ||
| 4011 | + output.writeUInt32(20, lineVersion_); | ||
| 4012 | + } | ||
| 3899 | } | 4013 | } |
| 3900 | 4014 | ||
| 3901 | public int getSerializedSize() { | 4015 | public int getSerializedSize() { |
| @@ -3969,6 +4083,10 @@ public final class TimeTableProto { | @@ -3969,6 +4083,10 @@ public final class TimeTableProto { | ||
| 3969 | if (!getRemarkBytes().isEmpty()) { | 4083 | if (!getRemarkBytes().isEmpty()) { |
| 3970 | size += com.google.protobuf.GeneratedMessageV3.computeStringSize(19, remark_); | 4084 | size += com.google.protobuf.GeneratedMessageV3.computeStringSize(19, remark_); |
| 3971 | } | 4085 | } |
| 4086 | + if (lineVersion_ != 0) { | ||
| 4087 | + size += com.google.protobuf.CodedOutputStream | ||
| 4088 | + .computeUInt32Size(20, lineVersion_); | ||
| 4089 | + } | ||
| 3972 | memoizedSize = size; | 4090 | memoizedSize = size; |
| 3973 | return size; | 4091 | return size; |
| 3974 | } | 4092 | } |
| @@ -4025,6 +4143,8 @@ public final class TimeTableProto { | @@ -4025,6 +4143,8 @@ public final class TimeTableProto { | ||
| 4025 | == other.getIsTS()); | 4143 | == other.getIsTS()); |
| 4026 | result = result && getRemark() | 4144 | result = result && getRemark() |
| 4027 | .equals(other.getRemark()); | 4145 | .equals(other.getRemark()); |
| 4146 | + result = result && (getLineVersion() | ||
| 4147 | + == other.getLineVersion()); | ||
| 4028 | return result; | 4148 | return result; |
| 4029 | } | 4149 | } |
| 4030 | 4150 | ||
| @@ -4078,6 +4198,8 @@ public final class TimeTableProto { | @@ -4078,6 +4198,8 @@ public final class TimeTableProto { | ||
| 4078 | getIsTS()); | 4198 | getIsTS()); |
| 4079 | hash = (37 * hash) + REMARK_FIELD_NUMBER; | 4199 | hash = (37 * hash) + REMARK_FIELD_NUMBER; |
| 4080 | hash = (53 * hash) + getRemark().hashCode(); | 4200 | hash = (53 * hash) + getRemark().hashCode(); |
| 4201 | + hash = (37 * hash) + LINEVERSION_FIELD_NUMBER; | ||
| 4202 | + hash = (53 * hash) + getLineVersion(); | ||
| 4081 | hash = (29 * hash) + unknownFields.hashCode(); | 4203 | hash = (29 * hash) + unknownFields.hashCode(); |
| 4082 | memoizedHashCode = hash; | 4204 | memoizedHashCode = hash; |
| 4083 | return hash; | 4205 | return hash; |
| @@ -4245,6 +4367,8 @@ public final class TimeTableProto { | @@ -4245,6 +4367,8 @@ public final class TimeTableProto { | ||
| 4245 | 4367 | ||
| 4246 | remark_ = ""; | 4368 | remark_ = ""; |
| 4247 | 4369 | ||
| 4370 | + lineVersion_ = 0; | ||
| 4371 | + | ||
| 4248 | return this; | 4372 | return this; |
| 4249 | } | 4373 | } |
| 4250 | 4374 | ||
| @@ -4286,6 +4410,7 @@ public final class TimeTableProto { | @@ -4286,6 +4410,7 @@ public final class TimeTableProto { | ||
| 4286 | result.isFB_ = isFB_; | 4410 | result.isFB_ = isFB_; |
| 4287 | result.isTS_ = isTS_; | 4411 | result.isTS_ = isTS_; |
| 4288 | result.remark_ = remark_; | 4412 | result.remark_ = remark_; |
| 4413 | + result.lineVersion_ = lineVersion_; | ||
| 4289 | onBuilt(); | 4414 | onBuilt(); |
| 4290 | return result; | 4415 | return result; |
| 4291 | } | 4416 | } |
| @@ -4394,6 +4519,9 @@ public final class TimeTableProto { | @@ -4394,6 +4519,9 @@ public final class TimeTableProto { | ||
| 4394 | remark_ = other.remark_; | 4519 | remark_ = other.remark_; |
| 4395 | onChanged(); | 4520 | onChanged(); |
| 4396 | } | 4521 | } |
| 4522 | + if (other.getLineVersion() != 0) { | ||
| 4523 | + setLineVersion(other.getLineVersion()); | ||
| 4524 | + } | ||
| 4397 | onChanged(); | 4525 | onChanged(); |
| 4398 | return this; | 4526 | return this; |
| 4399 | } | 4527 | } |
| @@ -5651,6 +5779,44 @@ public final class TimeTableProto { | @@ -5651,6 +5779,44 @@ public final class TimeTableProto { | ||
| 5651 | onChanged(); | 5779 | onChanged(); |
| 5652 | return this; | 5780 | return this; |
| 5653 | } | 5781 | } |
| 5782 | + | ||
| 5783 | + private int lineVersion_ ; | ||
| 5784 | + /** | ||
| 5785 | + * <pre> | ||
| 5786 | + * 线路版本 | ||
| 5787 | + * </pre> | ||
| 5788 | + * | ||
| 5789 | + * <code>uint32 lineVersion = 20;</code> | ||
| 5790 | + */ | ||
| 5791 | + public int getLineVersion() { | ||
| 5792 | + return lineVersion_; | ||
| 5793 | + } | ||
| 5794 | + /** | ||
| 5795 | + * <pre> | ||
| 5796 | + * 线路版本 | ||
| 5797 | + * </pre> | ||
| 5798 | + * | ||
| 5799 | + * <code>uint32 lineVersion = 20;</code> | ||
| 5800 | + */ | ||
| 5801 | + public Builder setLineVersion(int value) { | ||
| 5802 | + | ||
| 5803 | + lineVersion_ = value; | ||
| 5804 | + onChanged(); | ||
| 5805 | + return this; | ||
| 5806 | + } | ||
| 5807 | + /** | ||
| 5808 | + * <pre> | ||
| 5809 | + * 线路版本 | ||
| 5810 | + * </pre> | ||
| 5811 | + * | ||
| 5812 | + * <code>uint32 lineVersion = 20;</code> | ||
| 5813 | + */ | ||
| 5814 | + public Builder clearLineVersion() { | ||
| 5815 | + | ||
| 5816 | + lineVersion_ = 0; | ||
| 5817 | + onChanged(); | ||
| 5818 | + return this; | ||
| 5819 | + } | ||
| 5654 | public final Builder setUnknownFields( | 5820 | public final Builder setUnknownFields( |
| 5655 | final com.google.protobuf.UnknownFieldSet unknownFields) { | 5821 | final com.google.protobuf.UnknownFieldSet unknownFields) { |
| 5656 | return this; | 5822 | return this; |
| @@ -5719,7 +5885,7 @@ public final class TimeTableProto { | @@ -5719,7 +5885,7 @@ public final class TimeTableProto { | ||
| 5719 | descriptor; | 5885 | descriptor; |
| 5720 | static { | 5886 | static { |
| 5721 | java.lang.String[] descriptorData = { | 5887 | java.lang.String[] descriptorData = { |
| 5722 | - "\n\017timetable.proto\022\ttimetable\"\332\002\n\006TTInfo\022" + | 5888 | + "\n\017timetable.proto\022\ttimetable\"\357\002\n\006TTInfo\022" + |
| 5723 | "\n\n\002id\030\001 \001(\004\022\014\n\004name\030\002 \001(\t\022\n\n\002xl\030\003 \001(\r\022\016\n" + | 5889 | "\n\n\002id\030\001 \001(\004\022\014\n\004name\030\002 \001(\t\022\n\n\002xl\030\003 \001(\r\022\016\n" + |
| 5724 | "\006xlName\030\004 \001(\t\022\r\n\005xlDir\030\005 \001(\t\022\014\n\004qyrq\030\006 \001" + | 5890 | "\006xlName\030\004 \001(\t\022\r\n\005xlDir\030\005 \001(\t\022\014\n\004qyrq\030\006 \001" + |
| 5725 | "(\004\022\033\n\023isEnableDisTemplate\030\007 \001(\010\022\020\n\010isCan" + | 5891 | "(\004\022\033\n\023isEnableDisTemplate\030\007 \001(\010\022\020\n\010isCan" + |
| @@ -5728,16 +5894,17 @@ public final class TimeTableProto { | @@ -5728,16 +5894,17 @@ public final class TimeTableProto { | ||
| 5728 | "erName\030\014 \001(\t\022\022\n\nupdateUser\030\r \001(\r\022\026\n\016upda" + | 5894 | "erName\030\014 \001(\t\022\022\n\nupdateUser\030\r \001(\r\022\026\n\016upda" + |
| 5729 | "teUserName\030\016 \001(\t\022\022\n\ncreateDate\030\017 \001(\004\022\022\n\n" + | 5895 | "teUserName\030\016 \001(\t\022\022\n\ncreateDate\030\017 \001(\004\022\022\n\n" + |
| 5730 | "updateDate\030\020 \001(\004\022\'\n\006bcInfo\030\021 \003(\0132\027.timet" + | 5896 | "updateDate\030\020 \001(\004\022\'\n\006bcInfo\030\021 \003(\0132\027.timet" + |
| 5731 | - "able.TTInfoDetail\"\246\002\n\014TTInfoDetail\022\n\n\002id", | ||
| 5732 | - "\030\001 \001(\004\022\n\n\002xl\030\002 \001(\r\022\016\n\006xlName\030\003 \001(\t\022\n\n\002lp" + | ||
| 5733 | - "\030\004 \001(\004\022\016\n\006lpName\030\005 \001(\t\022\014\n\004fcno\030\006 \001(\r\022\r\n\005" + | ||
| 5734 | - "xlDir\030\007 \001(\t\022\017\n\007qdzCode\030\010 \001(\t\022\017\n\007qdzName\030" + | ||
| 5735 | - "\t \001(\t\022\017\n\007zdzCode\030\n \001(\t\022\017\n\007zdzName\030\013 \001(\t\022" + | ||
| 5736 | - "\014\n\004fcsj\030\014 \001(\t\022\013\n\003bcs\030\r \001(\r\022\014\n\004jhlc\030\016 \001(\001" + | ||
| 5737 | - "\022\014\n\004bcsj\030\017 \001(\r\022\016\n\006bcType\030\020 \001(\t\022\014\n\004isFB\030\021" + | ||
| 5738 | - " \001(\010\022\014\n\004isTS\030\022 \001(\010\022\016\n\006remark\030\023 \001(\tB1\n\037co" + | ||
| 5739 | - "m.bsth.service.schedule.utilsB\016TimeTable" + | ||
| 5740 | - "Protob\006proto3" | 5897 | + "able.TTInfoDetail\022\023\n\013lineVersion\030\022 \001(\r\"\273", |
| 5898 | + "\002\n\014TTInfoDetail\022\n\n\002id\030\001 \001(\004\022\n\n\002xl\030\002 \001(\r\022" + | ||
| 5899 | + "\016\n\006xlName\030\003 \001(\t\022\n\n\002lp\030\004 \001(\004\022\016\n\006lpName\030\005 " + | ||
| 5900 | + "\001(\t\022\014\n\004fcno\030\006 \001(\r\022\r\n\005xlDir\030\007 \001(\t\022\017\n\007qdzC" + | ||
| 5901 | + "ode\030\010 \001(\t\022\017\n\007qdzName\030\t \001(\t\022\017\n\007zdzCode\030\n " + | ||
| 5902 | + "\001(\t\022\017\n\007zdzName\030\013 \001(\t\022\014\n\004fcsj\030\014 \001(\t\022\013\n\003bc" + | ||
| 5903 | + "s\030\r \001(\r\022\014\n\004jhlc\030\016 \001(\001\022\014\n\004bcsj\030\017 \001(\r\022\016\n\006b" + | ||
| 5904 | + "cType\030\020 \001(\t\022\014\n\004isFB\030\021 \001(\010\022\014\n\004isTS\030\022 \001(\010\022" + | ||
| 5905 | + "\016\n\006remark\030\023 \001(\t\022\023\n\013lineVersion\030\024 \001(\rB1\n\037" + | ||
| 5906 | + "com.bsth.service.schedule.utilsB\016TimeTab" + | ||
| 5907 | + "leProtob\006proto3" | ||
| 5741 | }; | 5908 | }; |
| 5742 | com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = | 5909 | com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = |
| 5743 | new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { | 5910 | new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { |
| @@ -5756,13 +5923,13 @@ public final class TimeTableProto { | @@ -5756,13 +5923,13 @@ public final class TimeTableProto { | ||
| 5756 | internal_static_timetable_TTInfo_fieldAccessorTable = new | 5923 | internal_static_timetable_TTInfo_fieldAccessorTable = new |
| 5757 | com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( | 5924 | com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( |
| 5758 | internal_static_timetable_TTInfo_descriptor, | 5925 | internal_static_timetable_TTInfo_descriptor, |
| 5759 | - new java.lang.String[] { "Id", "Name", "Xl", "XlName", "XlDir", "Qyrq", "IsEnableDisTemplate", "IsCancel", "RuleDays", "SpecialDays", "CreateUser", "CreateUserName", "UpdateUser", "UpdateUserName", "CreateDate", "UpdateDate", "BcInfo", }); | 5926 | + new java.lang.String[] { "Id", "Name", "Xl", "XlName", "XlDir", "Qyrq", "IsEnableDisTemplate", "IsCancel", "RuleDays", "SpecialDays", "CreateUser", "CreateUserName", "UpdateUser", "UpdateUserName", "CreateDate", "UpdateDate", "BcInfo", "LineVersion", }); |
| 5760 | internal_static_timetable_TTInfoDetail_descriptor = | 5927 | internal_static_timetable_TTInfoDetail_descriptor = |
| 5761 | getDescriptor().getMessageTypes().get(1); | 5928 | getDescriptor().getMessageTypes().get(1); |
| 5762 | internal_static_timetable_TTInfoDetail_fieldAccessorTable = new | 5929 | internal_static_timetable_TTInfoDetail_fieldAccessorTable = new |
| 5763 | com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( | 5930 | com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( |
| 5764 | internal_static_timetable_TTInfoDetail_descriptor, | 5931 | internal_static_timetable_TTInfoDetail_descriptor, |
| 5765 | - new java.lang.String[] { "Id", "Xl", "XlName", "Lp", "LpName", "Fcno", "XlDir", "QdzCode", "QdzName", "ZdzCode", "ZdzName", "Fcsj", "Bcs", "Jhlc", "Bcsj", "BcType", "IsFB", "IsTS", "Remark", }); | 5932 | + new java.lang.String[] { "Id", "Xl", "XlName", "Lp", "LpName", "Fcno", "XlDir", "QdzCode", "QdzName", "ZdzCode", "ZdzName", "Fcsj", "Bcs", "Jhlc", "Bcsj", "BcType", "IsFB", "IsTS", "Remark", "LineVersion", }); |
| 5766 | } | 5933 | } |
| 5767 | 5934 | ||
| 5768 | // @@protoc_insertion_point(outer_class_scope) | 5935 | // @@protoc_insertion_point(outer_class_scope) |
src/main/resources/static/pages/scheduleApp/module/common/prj-common-globalservice.js
| @@ -727,6 +727,24 @@ angular.module('ScheduleApp').factory( | @@ -727,6 +727,24 @@ angular.module('ScheduleApp').factory( | ||
| 727 | } | 727 | } |
| 728 | } | 728 | } |
| 729 | } | 729 | } |
| 730 | + ), | ||
| 731 | + | ||
| 732 | + versiondesc: $resource( | ||
| 733 | + '/tic_ec/versiondesc/:lineId/:version', | ||
| 734 | + {}, | ||
| 735 | + { | ||
| 736 | + do: { | ||
| 737 | + method: 'GET', | ||
| 738 | + transformResponse: function(rs) { | ||
| 739 | + var dst = angular.fromJson(rs); | ||
| 740 | + if (dst.status == 'SUCCESS') { | ||
| 741 | + return dst.data; | ||
| 742 | + } else { | ||
| 743 | + return dst; // 业务错误留给控制器处理 | ||
| 744 | + } | ||
| 745 | + } | ||
| 746 | + } | ||
| 747 | + } | ||
| 730 | ) | 748 | ) |
| 731 | }; | 749 | }; |
| 732 | 750 |
src/main/resources/static/pages/scheduleApp/module/common/prj-common-ui-route-state.js
| @@ -1207,7 +1207,7 @@ ScheduleApp.config([ | @@ -1207,7 +1207,7 @@ ScheduleApp.config([ | ||
| 1207 | } | 1207 | } |
| 1208 | }) | 1208 | }) |
| 1209 | .state("ttInfoDetailManage_edit3", { // 时刻表详细信息编辑 | 1209 | .state("ttInfoDetailManage_edit3", { // 时刻表详细信息编辑 |
| 1210 | - url: '/ttInfoDetailManage_edit3/:xlid/:ttid/:xlname/:ttname/:rflag', | 1210 | + url: '/ttInfoDetailManage_edit3/:xlid/:ttid/:xlname/:ttname/:rflag/:lineversion', |
| 1211 | views: { | 1211 | views: { |
| 1212 | "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit3.html'} | 1212 | "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit3.html'} |
| 1213 | }, | 1213 | }, |
| @@ -1225,7 +1225,7 @@ ScheduleApp.config([ | @@ -1225,7 +1225,7 @@ ScheduleApp.config([ | ||
| 1225 | } | 1225 | } |
| 1226 | }) | 1226 | }) |
| 1227 | .state("ttInfoDetailManage_detail_edit", { // 时刻表详细信息单元格编辑 | 1227 | .state("ttInfoDetailManage_detail_edit", { // 时刻表详细信息单元格编辑 |
| 1228 | - url: '/ttInfoDetailManage_detail_edit/:id/:xlid/:ttid/:xlname/:ttname/:rowindex/:colindex', | 1228 | + url: '/ttInfoDetailManage_detail_edit/:id/:xlid/:ttid/:xlname/:ttname/:rowindex/:colindex/:lineversion', |
| 1229 | views: { | 1229 | views: { |
| 1230 | "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-detail.html'} | 1230 | "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-detail.html'} |
| 1231 | }, | 1231 | }, |
| @@ -1244,7 +1244,7 @@ ScheduleApp.config([ | @@ -1244,7 +1244,7 @@ ScheduleApp.config([ | ||
| 1244 | } | 1244 | } |
| 1245 | }) | 1245 | }) |
| 1246 | .state("ttInfoDetailManage_detail_edit2", { // 时刻表详细信息批量单元格修改 | 1246 | .state("ttInfoDetailManage_detail_edit2", { // 时刻表详细信息批量单元格修改 |
| 1247 | - url: '/ttInfoDetailManage_detail_edit/:xlid/:ttid/:xlname/:ttname', | 1247 | + url: '/ttInfoDetailManage_detail_edit/:xlid/:ttid/:xlname/:ttname/:lineversion', |
| 1248 | views: { | 1248 | views: { |
| 1249 | "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-detail2.html'} | 1249 | "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-detail2.html'} |
| 1250 | }, | 1250 | }, |
| @@ -1263,7 +1263,7 @@ ScheduleApp.config([ | @@ -1263,7 +1263,7 @@ ScheduleApp.config([ | ||
| 1263 | } | 1263 | } |
| 1264 | }) | 1264 | }) |
| 1265 | .state("ttInfoDetailManage_detail_edit_mulselect", { // 时刻表详细信息批量单元格修改 | 1265 | .state("ttInfoDetailManage_detail_edit_mulselect", { // 时刻表详细信息批量单元格修改 |
| 1266 | - url: '/ttInfoDetailManage_detail_edit_mulselect/:xlid/:ttid/:xlname/:ttname', | 1266 | + url: '/ttInfoDetailManage_detail_edit_mulselect/:xlid/:ttid/:xlname/:ttname/:lineversion', |
| 1267 | views: { | 1267 | views: { |
| 1268 | "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-mulselect.html'} | 1268 | "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-mulselect.html'} |
| 1269 | }, | 1269 | }, |
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-detail.html
| @@ -30,8 +30,14 @@ | @@ -30,8 +30,14 @@ | ||
| 30 | <div class="portlet light bordered"> | 30 | <div class="portlet light bordered"> |
| 31 | <div class="portlet-title"> | 31 | <div class="portlet-title"> |
| 32 | <div class="caption"> | 32 | <div class="caption"> |
| 33 | - <i class="icon-equalizer font-red-sunglo"></i> <span | ||
| 34 | - class="caption-subject font-red-sunglo bold uppercase" ng-bind="ctrl.title2"></span> | 33 | + <div> |
| 34 | + <i class="icon-equalizer font-red-sunglo"></i> | ||
| 35 | + <span class="caption-subject font-red-sunglo bold uppercase" ng-bind="ctrl.title2"></span> | ||
| 36 | + </div> | ||
| 37 | + <div style="padding-top: 10px;"> | ||
| 38 | + <i class="icon-equalizer font-red-sunglo"></i> | ||
| 39 | + <span class="caption-subject font-red-sunglo bold uppercase" ng-bind="ctrl.title_tip"></span> | ||
| 40 | + </div> | ||
| 35 | </div> | 41 | </div> |
| 36 | </div> | 42 | </div> |
| 37 | 43 | ||
| @@ -93,7 +99,7 @@ | @@ -93,7 +99,7 @@ | ||
| 93 | cmaps="{'qdzCode' : 'zcode', 'qdzName': 'zname'}" | 99 | cmaps="{'qdzCode' : 'zcode', 'qdzName': 'zname'}" |
| 94 | dcname="qdzCode" | 100 | dcname="qdzCode" |
| 95 | icname="zcode" | 101 | icname="zcode" |
| 96 | - dsparams="{{ {type: 'ajax', param:{'lineid': ctrl.TimeTableDetailForSave.xl.id, 'xldir': ctrl.TimeTableDetailForSave.xlDir}, atype:'zd_tcc' } | json }}" | 102 | + dsparams="{{ {type: 'ajax', param: {'lineid': ctrl.TimeTableDetailForSave.xl.id, 'xldir': ctrl.TimeTableDetailForSave.xlDir, 'lineversion': ctrl.TimeTableDetailForSave.lineVersion}, atype:'zd_tcc' } | json }}" |
| 97 | iterobjname="item" | 103 | iterobjname="item" |
| 98 | iterobjexp="item.aname" | 104 | iterobjexp="item.aname" |
| 99 | searchph="请输拼音..." | 105 | searchph="请输拼音..." |
| @@ -114,7 +120,7 @@ | @@ -114,7 +120,7 @@ | ||
| 114 | cmaps="{'zdzCode' : 'zcode', 'zdzName': 'zname'}" | 120 | cmaps="{'zdzCode' : 'zcode', 'zdzName': 'zname'}" |
| 115 | dcname="zdzCode" | 121 | dcname="zdzCode" |
| 116 | icname="zcode" | 122 | icname="zcode" |
| 117 | - dsparams="{{ {type: 'ajax', param:{'lineid': ctrl.TimeTableDetailForSave.xl.id, 'xldir': ctrl.TimeTableDetailForSave.xlDir}, atype:'zd_tcc' } | json }}" | 123 | + dsparams="{{ {type: 'ajax', param:{'lineid': ctrl.TimeTableDetailForSave.xl.id, 'xldir': ctrl.TimeTableDetailForSave.xlDir, 'lineversion': ctrl.TimeTableDetailForSave.lineVersion}, atype:'zd_tcc' } | json }}" |
| 118 | iterobjname="item" | 124 | iterobjname="item" |
| 119 | iterobjexp="item.aname" | 125 | iterobjexp="item.aname" |
| 120 | searchph="请输拼音..." | 126 | searchph="请输拼音..." |
| @@ -244,7 +250,7 @@ | @@ -244,7 +250,7 @@ | ||
| 244 | <button type="submit" class="btn green" | 250 | <button type="submit" class="btn green" |
| 245 | ng-disabled="!myForm.$valid"><i class="fa fa-check"></i> 提交</button> | 251 | ng-disabled="!myForm.$valid"><i class="fa fa-check"></i> 提交</button> |
| 246 | <a type="button" class="btn default" | 252 | <a type="button" class="btn default" |
| 247 | - ui-sref="ttInfoDetailManage_edit3({xlid: ctrl.xlid, ttid : ctrl.ttid, xlname: ctrl.xlname, ttname : ctrl.ttname})" ><i class="fa fa-times"></i> 取消</a> | 253 | + ui-sref="ttInfoDetailManage_edit3({xlid: ctrl.xlid, ttid : ctrl.ttid, xlname: ctrl.xlname, ttname : ctrl.ttname, lineversion : ctrl.lineversion})" ><i class="fa fa-times"></i> 取消</a> |
| 248 | </div> | 254 | </div> |
| 249 | </div> | 255 | </div> |
| 250 | </div> | 256 | </div> |
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-detail2.html
| @@ -30,8 +30,14 @@ | @@ -30,8 +30,14 @@ | ||
| 30 | <div class="portlet light bordered"> | 30 | <div class="portlet light bordered"> |
| 31 | <div class="portlet-title"> | 31 | <div class="portlet-title"> |
| 32 | <div class="caption"> | 32 | <div class="caption"> |
| 33 | - <i class="icon-equalizer font-red-sunglo"></i> <span | ||
| 34 | - class="caption-subject font-red-sunglo bold uppercase" ng-bind="ctrl.title1"></span> | 33 | + <div> |
| 34 | + <i class="icon-equalizer font-red-sunglo"></i> | ||
| 35 | + <span class="caption-subject font-red-sunglo bold uppercase" ng-bind="ctrl.title1"></span> | ||
| 36 | + </div> | ||
| 37 | + <div style="padding-top: 10px;"> | ||
| 38 | + <i class="icon-equalizer font-red-sunglo"></i> | ||
| 39 | + <span class="caption-subject font-red-sunglo bold uppercase" ng-bind="ctrl.title_tip"></span> | ||
| 40 | + </div> | ||
| 35 | </div> | 41 | </div> |
| 36 | </div> | 42 | </div> |
| 37 | 43 | ||
| @@ -74,7 +80,7 @@ | @@ -74,7 +80,7 @@ | ||
| 74 | cmaps="{'qdzCode' : 'zcode', 'qdzName': 'zname'}" | 80 | cmaps="{'qdzCode' : 'zcode', 'qdzName': 'zname'}" |
| 75 | dcname="qdzCode" | 81 | dcname="qdzCode" |
| 76 | icname="zcode" | 82 | icname="zcode" |
| 77 | - dsparams="{{ {type: 'ajax', param:{'lineid': ctrl.xlid, 'xldir': ctrl.tt.xlDir}, atype:'zd_tcc' } | json }}" | 83 | + dsparams="{{ {type: 'ajax', param:{'lineid': ctrl.xlid, 'xldir': ctrl.tt.xlDir, 'lineversion': ctrl.lineversion}, atype:'zd_tcc' } | json }}" |
| 78 | iterobjname="item" | 84 | iterobjname="item" |
| 79 | iterobjexp="item.aname" | 85 | iterobjexp="item.aname" |
| 80 | searchph="请输拼音..." | 86 | searchph="请输拼音..." |
| @@ -91,7 +97,7 @@ | @@ -91,7 +97,7 @@ | ||
| 91 | cmaps="{'zdzCode' : 'zcode', 'zdzName': 'zname'}" | 97 | cmaps="{'zdzCode' : 'zcode', 'zdzName': 'zname'}" |
| 92 | dcname="zdzCode" | 98 | dcname="zdzCode" |
| 93 | icname="zcode" | 99 | icname="zcode" |
| 94 | - dsparams="{{ {type: 'ajax', param:{'lineid': ctrl.xlid, 'xldir': ctrl.tt.xlDir}, atype:'zd_tcc' } | json }}" | 100 | + dsparams="{{ {type: 'ajax', param:{'lineid': ctrl.xlid, 'xldir': ctrl.tt.xlDir, 'lineversion': ctrl.lineversion}, atype:'zd_tcc' } | json }}" |
| 95 | iterobjname="item" | 101 | iterobjname="item" |
| 96 | iterobjexp="item.aname" | 102 | iterobjexp="item.aname" |
| 97 | searchph="请输拼音..." | 103 | searchph="请输拼音..." |
| @@ -198,7 +204,7 @@ | @@ -198,7 +204,7 @@ | ||
| 198 | <button type="submit" class="btn green" | 204 | <button type="submit" class="btn green" |
| 199 | ng-disabled="!myForm.$valid"><i class="fa fa-check"></i> 提交</button> | 205 | ng-disabled="!myForm.$valid"><i class="fa fa-check"></i> 提交</button> |
| 200 | <a type="button" class="btn default" | 206 | <a type="button" class="btn default" |
| 201 | - ui-sref="ttInfoDetailManage_edit3({xlid: ctrl.xlid, ttid : ctrl.ttid, xlname: ctrl.xlname, ttname : ctrl.ttname})" ><i class="fa fa-times"></i> 取消</a> | 207 | + ui-sref="ttInfoDetailManage_edit3({xlid: ctrl.xlid, ttid : ctrl.ttid, xlname: ctrl.xlname, ttname : ctrl.ttname, lineversion : ctrl.lineversion})" ><i class="fa fa-times"></i> 取消</a> |
| 202 | </div> | 208 | </div> |
| 203 | </div> | 209 | </div> |
| 204 | </div> | 210 | </div> |
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-mulselect.html
| @@ -90,7 +90,7 @@ | @@ -90,7 +90,7 @@ | ||
| 90 | <button type="submit" class="btn green" | 90 | <button type="submit" class="btn green" |
| 91 | ng-disabled="!myForm.$valid"><i class="fa fa-check"></i> 提交</button> | 91 | ng-disabled="!myForm.$valid"><i class="fa fa-check"></i> 提交</button> |
| 92 | <a type="button" class="btn default" | 92 | <a type="button" class="btn default" |
| 93 | - ui-sref="ttInfoDetailManage_edit3({xlid: ctrl.xlid, ttid : ctrl.ttid, xlname: ctrl.xlname, ttname : ctrl.ttname})" ><i class="fa fa-times"></i> 取消</a> | 93 | + ui-sref="ttInfoDetailManage_edit3({xlid: ctrl.xlid, ttid : ctrl.ttid, xlname: ctrl.xlname, ttname : ctrl.ttname, lineversion : ctrl.lineversion})" ><i class="fa fa-times"></i> 取消</a> |
| 94 | </div> | 94 | </div> |
| 95 | </div> | 95 | </div> |
| 96 | </div> | 96 | </div> |
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/edit3.html
| @@ -29,6 +29,7 @@ | @@ -29,6 +29,7 @@ | ||
| 29 | <div class="caption font-dark"> | 29 | <div class="caption font-dark"> |
| 30 | <i class="fa fa-database font-dark"></i> | 30 | <i class="fa fa-database font-dark"></i> |
| 31 | <span class="caption-subject bold uppercase" ng-bind="ctrl.title"></span> | 31 | <span class="caption-subject bold uppercase" ng-bind="ctrl.title"></span> |
| 32 | + <span class="caption-subject bold uppercase" ng-bind="ctrl.title2"></span> | ||
| 32 | </div> | 33 | </div> |
| 33 | <div class="actions"> | 34 | <div class="actions"> |
| 34 | <!--<i class="fa fa-arrow-up" aria-hidden="true"></i>--> | 35 | <!--<i class="fa fa-arrow-up" aria-hidden="true"></i>--> |
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/route.js
| @@ -64,7 +64,7 @@ ScheduleApp.config([ | @@ -64,7 +64,7 @@ ScheduleApp.config([ | ||
| 64 | } | 64 | } |
| 65 | }) | 65 | }) |
| 66 | .state("ttInfoDetailManage_edit3", { // 时刻表详细信息编辑 | 66 | .state("ttInfoDetailManage_edit3", { // 时刻表详细信息编辑 |
| 67 | - url: '/ttInfoDetailManage_edit3/:xlid/:ttid/:xlname/:ttname/:rflag', | 67 | + url: '/ttInfoDetailManage_edit3/:xlid/:ttid/:xlname/:ttname/:rflag/:lineversion', |
| 68 | views: { | 68 | views: { |
| 69 | "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit3.html'} | 69 | "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit3.html'} |
| 70 | }, | 70 | }, |
| @@ -82,7 +82,7 @@ ScheduleApp.config([ | @@ -82,7 +82,7 @@ ScheduleApp.config([ | ||
| 82 | } | 82 | } |
| 83 | }) | 83 | }) |
| 84 | .state("ttInfoDetailManage_detail_edit", { // 时刻表详细信息单元格编辑 | 84 | .state("ttInfoDetailManage_detail_edit", { // 时刻表详细信息单元格编辑 |
| 85 | - url: '/ttInfoDetailManage_detail_edit/:id/:xlid/:ttid/:xlname/:ttname/:rowindex/:colindex', | 85 | + url: '/ttInfoDetailManage_detail_edit/:id/:xlid/:ttid/:xlname/:ttname/:rowindex/:colindex/:lineversion', |
| 86 | views: { | 86 | views: { |
| 87 | "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-detail.html'} | 87 | "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-detail.html'} |
| 88 | }, | 88 | }, |
| @@ -101,7 +101,7 @@ ScheduleApp.config([ | @@ -101,7 +101,7 @@ ScheduleApp.config([ | ||
| 101 | } | 101 | } |
| 102 | }) | 102 | }) |
| 103 | .state("ttInfoDetailManage_detail_edit2", { // 时刻表详细信息批量单元格修改 | 103 | .state("ttInfoDetailManage_detail_edit2", { // 时刻表详细信息批量单元格修改 |
| 104 | - url: '/ttInfoDetailManage_detail_edit/:xlid/:ttid/:xlname/:ttname', | 104 | + url: '/ttInfoDetailManage_detail_edit/:xlid/:ttid/:xlname/:ttname/:lineversion', |
| 105 | views: { | 105 | views: { |
| 106 | "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-detail2.html'} | 106 | "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-detail2.html'} |
| 107 | }, | 107 | }, |
| @@ -120,7 +120,7 @@ ScheduleApp.config([ | @@ -120,7 +120,7 @@ ScheduleApp.config([ | ||
| 120 | } | 120 | } |
| 121 | }) | 121 | }) |
| 122 | .state("ttInfoDetailManage_detail_edit_mulselect", { // 时刻表详细信息批量单元格修改 | 122 | .state("ttInfoDetailManage_detail_edit_mulselect", { // 时刻表详细信息批量单元格修改 |
| 123 | - url: '/ttInfoDetailManage_detail_edit_mulselect/:xlid/:ttid/:xlname/:ttname', | 123 | + url: '/ttInfoDetailManage_detail_edit_mulselect/:xlid/:ttid/:xlname/:ttname/:lineversion', |
| 124 | views: { | 124 | views: { |
| 125 | "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-mulselect.html'} | 125 | "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-mulselect.html'} |
| 126 | }, | 126 | }, |
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/timeTableDetailManage_old.js
| @@ -3,10 +3,11 @@ angular.module('ScheduleApp').factory( | @@ -3,10 +3,11 @@ angular.module('ScheduleApp').factory( | ||
| 3 | 'TimeTableDetailManageService_old', | 3 | 'TimeTableDetailManageService_old', |
| 4 | [ | 4 | [ |
| 5 | 'TimeTableDetailManageService_g', | 5 | 'TimeTableDetailManageService_g', |
| 6 | + 'TTInfoManageService_g', | ||
| 6 | '$state', | 7 | '$state', |
| 7 | '$q', | 8 | '$q', |
| 8 | 'SaTimeTableUtils', | 9 | 'SaTimeTableUtils', |
| 9 | - function(service, $state, $q, SaTimeTableUtils) { | 10 | + function(service, service2, $state, $q, SaTimeTableUtils) { |
| 10 | 11 | ||
| 11 | // 查询对象类 | 12 | // 查询对象类 |
| 12 | var queryClass = service.rest; | 13 | var queryClass = service.rest; |
| @@ -206,8 +207,20 @@ angular.module('ScheduleApp').factory( | @@ -206,8 +207,20 @@ angular.module('ScheduleApp').factory( | ||
| 206 | } | 207 | } |
| 207 | 208 | ||
| 208 | return deferred.promise; | 209 | return deferred.promise; |
| 209 | - } | 210 | + }, |
| 210 | 211 | ||
| 212 | + /** | ||
| 213 | + * 获取线路版本描述。 | ||
| 214 | + * @param lineId | ||
| 215 | + * @param version | ||
| 216 | + * @returns {*|Function|promise|n} | ||
| 217 | + */ | ||
| 218 | + versiondesc: function(lineId, version) { | ||
| 219 | + var param = {}; | ||
| 220 | + param.lineId = lineId; | ||
| 221 | + param.version = version; | ||
| 222 | + return service2.versiondesc.do(param).$promise; | ||
| 223 | + } | ||
| 211 | 224 | ||
| 212 | }; | 225 | }; |
| 213 | } | 226 | } |
| @@ -215,7 +228,7 @@ angular.module('ScheduleApp').factory( | @@ -215,7 +228,7 @@ angular.module('ScheduleApp').factory( | ||
| 215 | ] | 228 | ] |
| 216 | ); | 229 | ); |
| 217 | 230 | ||
| 218 | -// edit.html 时刻表编辑界面 | 231 | +// edit.html 时刻表表格编辑界面 |
| 219 | angular.module('ScheduleApp').controller( | 232 | angular.module('ScheduleApp').controller( |
| 220 | 'TimeTableDetailManageCtrl_old', | 233 | 'TimeTableDetailManageCtrl_old', |
| 221 | [ | 234 | [ |
| @@ -232,8 +245,17 @@ angular.module('ScheduleApp').controller( | @@ -232,8 +245,17 @@ angular.module('ScheduleApp').controller( | ||
| 232 | self.xlname = $stateParams.xlname; // 获取传过来的线路名字 | 245 | self.xlname = $stateParams.xlname; // 获取传过来的线路名字 |
| 233 | self.ttname = $stateParams.ttname; // 获取传过来的时刻表名字 | 246 | self.ttname = $stateParams.ttname; // 获取传过来的时刻表名字 |
| 234 | self.rflag = $stateParams.rflag; // 刷新标志 | 247 | self.rflag = $stateParams.rflag; // 刷新标志 |
| 248 | + self.lineversion = $stateParams.lineversion; // 线路版本 | ||
| 235 | 249 | ||
| 236 | self.title = self.xlname + "(" + self.ttname + ")" + "时刻表明细信息"; | 250 | self.title = self.xlname + "(" + self.ttname + ")" + "时刻表明细信息"; |
| 251 | + self.title2 = "--->版本加载中..."; | ||
| 252 | + service.versiondesc(self.xlid, self.lineversion).then( | ||
| 253 | + function(result) { | ||
| 254 | + self.title2 = "--->线路版本(" + result.desc + ")"; | ||
| 255 | + } | ||
| 256 | + ); | ||
| 257 | + | ||
| 258 | + // TODO:线路版本 | ||
| 237 | 259 | ||
| 238 | // 获取时刻表明细数据(内部保存) | 260 | // 获取时刻表明细数据(内部保存) |
| 239 | self.getDetailHeads = function() { | 261 | self.getDetailHeads = function() { |
| @@ -304,7 +326,8 @@ angular.module('ScheduleApp').controller( | @@ -304,7 +326,8 @@ angular.module('ScheduleApp').controller( | ||
| 304 | xlname: self.xlname, | 326 | xlname: self.xlname, |
| 305 | ttname: self.ttname, | 327 | ttname: self.ttname, |
| 306 | rowindex: r, | 328 | rowindex: r, |
| 307 | - colindex: c | 329 | + colindex: c, |
| 330 | + lineversion: self.lineversion | ||
| 308 | } | 331 | } |
| 309 | ); | 332 | ); |
| 310 | }; | 333 | }; |
| @@ -313,13 +336,13 @@ angular.module('ScheduleApp').controller( | @@ -313,13 +336,13 @@ angular.module('ScheduleApp').controller( | ||
| 313 | self.editInfos = function() { | 336 | self.editInfos = function() { |
| 314 | if (!service.editIsSel()) { | 337 | if (!service.editIsSel()) { |
| 315 | alert("请选择班次信息"); | 338 | alert("请选择班次信息"); |
| 316 | - return; | ||
| 317 | } else { | 339 | } else { |
| 318 | $state.go("ttInfoDetailManage_detail_edit2", { | 340 | $state.go("ttInfoDetailManage_detail_edit2", { |
| 319 | xlid: self.xlid, | 341 | xlid: self.xlid, |
| 320 | ttid: self.ttid, | 342 | ttid: self.ttid, |
| 321 | xlname: self.xlname, | 343 | xlname: self.xlname, |
| 322 | - ttname: self.ttname | 344 | + ttname: self.ttname, |
| 345 | + lineversion: self.lineversion | ||
| 323 | }); | 346 | }); |
| 324 | } | 347 | } |
| 325 | 348 | ||
| @@ -331,7 +354,8 @@ angular.module('ScheduleApp').controller( | @@ -331,7 +354,8 @@ angular.module('ScheduleApp').controller( | ||
| 331 | xlid: self.xlid, | 354 | xlid: self.xlid, |
| 332 | ttid: self.ttid, | 355 | ttid: self.ttid, |
| 333 | xlname: self.xlname, | 356 | xlname: self.xlname, |
| 334 | - ttname: self.ttname | 357 | + ttname: self.ttname, |
| 358 | + lineversion: self.lineversion | ||
| 335 | }); | 359 | }); |
| 336 | }; | 360 | }; |
| 337 | 361 | ||
| @@ -346,7 +370,8 @@ angular.module('ScheduleApp').controller( | @@ -346,7 +370,8 @@ angular.module('ScheduleApp').controller( | ||
| 346 | xlid: self.xlid, | 370 | xlid: self.xlid, |
| 347 | ttid: self.ttid, | 371 | ttid: self.ttid, |
| 348 | xlname: self.xlname, | 372 | xlname: self.xlname, |
| 349 | - ttname: self.ttname | 373 | + ttname: self.ttname, |
| 374 | + lineversion: self.lineversion | ||
| 350 | }); | 375 | }); |
| 351 | }, function() { | 376 | }, function() { |
| 352 | alert("批量删除失败!"); | 377 | alert("批量删除失败!"); |
| @@ -354,7 +379,8 @@ angular.module('ScheduleApp').controller( | @@ -354,7 +379,8 @@ angular.module('ScheduleApp').controller( | ||
| 354 | xlid: self.xlid, | 379 | xlid: self.xlid, |
| 355 | ttid: self.ttid, | 380 | ttid: self.ttid, |
| 356 | xlname: self.xlname, | 381 | xlname: self.xlname, |
| 357 | - ttname: self.ttname | 382 | + ttname: self.ttname, |
| 383 | + lineversion: self.lineversion | ||
| 358 | }); | 384 | }); |
| 359 | }); | 385 | }); |
| 360 | }; | 386 | }; |
| @@ -467,8 +493,15 @@ angular.module('ScheduleApp').controller( | @@ -467,8 +493,15 @@ angular.module('ScheduleApp').controller( | ||
| 467 | self.ttname = $stateParams.ttname; // 获取传过来的时刻表名字 | 493 | self.ttname = $stateParams.ttname; // 获取传过来的时刻表名字 |
| 468 | self.rowindex = $stateParams.rowindex; // 修改的第几行 | 494 | self.rowindex = $stateParams.rowindex; // 修改的第几行 |
| 469 | self.colindex = $stateParams.colindex; // 修改的第几列 | 495 | self.colindex = $stateParams.colindex; // 修改的第几列 |
| 496 | + self.lineversion = $stateParams.lineversion; // 线路版本 | ||
| 470 | 497 | ||
| 471 | self.title1 = self.xlname + "(" + self.ttname + ")" + "时刻表明细信息"; | 498 | self.title1 = self.xlname + "(" + self.ttname + ")" + "时刻表明细信息"; |
| 499 | + self.title_tip = "版本加载中..."; | ||
| 500 | + service.versiondesc(self.xlid, self.lineversion).then( | ||
| 501 | + function(result) { | ||
| 502 | + self.title_tip = "线路版本(" + result.desc + ")"; | ||
| 503 | + } | ||
| 504 | + ); | ||
| 472 | 505 | ||
| 473 | if (id) { | 506 | if (id) { |
| 474 | TTInfoDetail.get({id: id}, function(value) { | 507 | TTInfoDetail.get({id: id}, function(value) { |
| @@ -491,6 +524,7 @@ angular.module('ScheduleApp').controller( | @@ -491,6 +524,7 @@ angular.module('ScheduleApp').controller( | ||
| 491 | self.ttname | 524 | self.ttname |
| 492 | ); | 525 | ); |
| 493 | 526 | ||
| 527 | + self.TimeTableDetailForSave.lineVersion = self.lineversion; | ||
| 494 | self.TimeTableDetailForSave.isTS = 0; | 528 | self.TimeTableDetailForSave.isTS = 0; |
| 495 | self.title2 = | 529 | self.title2 = |
| 496 | self.xlname + "(" + self.ttname + ")" + "时刻表明细信息" + | 530 | self.xlname + "(" + self.ttname + ")" + "时刻表明细信息" + |
| @@ -531,7 +565,8 @@ angular.module('ScheduleApp').controller( | @@ -531,7 +565,8 @@ angular.module('ScheduleApp').controller( | ||
| 531 | xlid: self.xlid, | 565 | xlid: self.xlid, |
| 532 | ttid: self.ttid, | 566 | ttid: self.ttid, |
| 533 | xlname: self.xlname, | 567 | xlname: self.xlname, |
| 534 | - ttname: self.ttname | 568 | + ttname: self.ttname, |
| 569 | + lineversion: self.lineversion | ||
| 535 | }); | 570 | }); |
| 536 | }); | 571 | }); |
| 537 | 572 | ||
| @@ -555,8 +590,15 @@ angular.module('ScheduleApp').controller( | @@ -555,8 +590,15 @@ angular.module('ScheduleApp').controller( | ||
| 555 | self.ttid = $stateParams.ttid; // 获取传过来的时刻表id | 590 | self.ttid = $stateParams.ttid; // 获取传过来的时刻表id |
| 556 | self.xlname = $stateParams.xlname; // 获取传过来的线路名字 | 591 | self.xlname = $stateParams.xlname; // 获取传过来的线路名字 |
| 557 | self.ttname = $stateParams.ttname; // 获取传过来的时刻表名字 | 592 | self.ttname = $stateParams.ttname; // 获取传过来的时刻表名字 |
| 593 | + self.lineversion = $stateParams.lineversion; // 线路版本 | ||
| 558 | 594 | ||
| 559 | self.title1 = self.xlname + "(" + self.ttname + ")" + "时刻表明细信息 批量修改班次信息"; | 595 | self.title1 = self.xlname + "(" + self.ttname + ")" + "时刻表明细信息 批量修改班次信息"; |
| 596 | + self.title_tip = "版本加载中..."; | ||
| 597 | + service.versiondesc(self.xlid, self.lineversion).then( | ||
| 598 | + function(result) { | ||
| 599 | + self.title_tip = "线路版本(" + result.desc + ")"; | ||
| 600 | + } | ||
| 601 | + ); | ||
| 560 | 602 | ||
| 561 | //var TTInfoDetail = service.getQueryClass(); | 603 | //var TTInfoDetail = service.getQueryClass(); |
| 562 | 604 | ||
| @@ -663,7 +705,8 @@ angular.module('ScheduleApp').controller( | @@ -663,7 +705,8 @@ angular.module('ScheduleApp').controller( | ||
| 663 | xlid: self.xlid, | 705 | xlid: self.xlid, |
| 664 | ttid: self.ttid, | 706 | ttid: self.ttid, |
| 665 | xlname: self.xlname, | 707 | xlname: self.xlname, |
| 666 | - ttname: self.ttname | 708 | + ttname: self.ttname, |
| 709 | + lineversion: self.lineversion | ||
| 667 | }); | 710 | }); |
| 668 | }, function() { | 711 | }, function() { |
| 669 | alert("批量更新失败!"); | 712 | alert("批量更新失败!"); |
| @@ -671,7 +714,8 @@ angular.module('ScheduleApp').controller( | @@ -671,7 +714,8 @@ angular.module('ScheduleApp').controller( | ||
| 671 | xlid: self.xlid, | 714 | xlid: self.xlid, |
| 672 | ttid: self.ttid, | 715 | ttid: self.ttid, |
| 673 | xlname: self.xlname, | 716 | xlname: self.xlname, |
| 674 | - ttname: self.ttname | 717 | + ttname: self.ttname, |
| 718 | + lineversion: self.lineversion | ||
| 675 | }); | 719 | }); |
| 676 | }); | 720 | }); |
| 677 | 721 | ||
| @@ -681,7 +725,7 @@ angular.module('ScheduleApp').controller( | @@ -681,7 +725,7 @@ angular.module('ScheduleApp').controller( | ||
| 681 | ] | 725 | ] |
| 682 | ); | 726 | ); |
| 683 | 727 | ||
| 684 | -// edit-mulselect.html 具体班次明细修改页面 | 728 | +// edit-mulselect.html 班次批量选择页面 |
| 685 | angular.module('ScheduleApp').controller( | 729 | angular.module('ScheduleApp').controller( |
| 686 | 'TimeTableDetailManageFormCtrl_mulselect', | 730 | 'TimeTableDetailManageFormCtrl_mulselect', |
| 687 | [ | 731 | [ |
| @@ -696,6 +740,7 @@ angular.module('ScheduleApp').controller( | @@ -696,6 +740,7 @@ angular.module('ScheduleApp').controller( | ||
| 696 | self.ttid = $stateParams.ttid; // 获取传过来的时刻表id | 740 | self.ttid = $stateParams.ttid; // 获取传过来的时刻表id |
| 697 | self.xlname = $stateParams.xlname; // 获取传过来的线路名字 | 741 | self.xlname = $stateParams.xlname; // 获取传过来的线路名字 |
| 698 | self.ttname = $stateParams.ttname; // 获取传过来的时刻表名字 | 742 | self.ttname = $stateParams.ttname; // 获取传过来的时刻表名字 |
| 743 | + self.lineversion = $stateParams.lineversion; // 线路版本 | ||
| 699 | 744 | ||
| 700 | self.title1 = self.xlname + "(" + self.ttname + ")" + "时刻表明细信息"; | 745 | self.title1 = self.xlname + "(" + self.ttname + ")" + "时刻表明细信息"; |
| 701 | 746 | ||
| @@ -744,7 +789,8 @@ angular.module('ScheduleApp').controller( | @@ -744,7 +789,8 @@ angular.module('ScheduleApp').controller( | ||
| 744 | xlid: self.xlid, | 789 | xlid: self.xlid, |
| 745 | ttid: self.ttid, | 790 | ttid: self.ttid, |
| 746 | xlname: self.xlname, | 791 | xlname: self.xlname, |
| 747 | - ttname: self.ttname | 792 | + ttname: self.ttname, |
| 793 | + lineversion: self.lineversion | ||
| 748 | }); | 794 | }); |
| 749 | 795 | ||
| 750 | }; | 796 | }; |
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/list.html
| @@ -9,7 +9,7 @@ | @@ -9,7 +9,7 @@ | ||
| 9 | <th style="width: 180px;">时刻表名称</th> | 9 | <th style="width: 180px;">时刻表名称</th> |
| 10 | <th style="width: 80px">上下行</th> | 10 | <th style="width: 80px">上下行</th> |
| 11 | <th style="width: 50px;">启用</th> | 11 | <th style="width: 50px;">启用</th> |
| 12 | - <th style="width: 120px">启用/备份日期</th> | 12 | + <th style="width: 130px">操作日期</th> |
| 13 | <th style="width: 80px">状态</th> | 13 | <th style="width: 80px">状态</th> |
| 14 | <th style="width: 60%">时刻表明细</th> | 14 | <th style="width: 60%">时刻表明细</th> |
| 15 | <th style="width: 40%">操作</th> | 15 | <th style="width: 40%">操作</th> |
| @@ -69,7 +69,25 @@ | @@ -69,7 +69,25 @@ | ||
| 69 | </div> | 69 | </div> |
| 70 | </td> | 70 | </td> |
| 71 | <td> | 71 | <td> |
| 72 | - <span ng-bind="info.xl.name"></span> | 72 | + <div> |
| 73 | + <a href="#"> | ||
| 74 | + <span ng-bind="info.xl.name"></span> | ||
| 75 | + </a> | ||
| 76 | + </div> | ||
| 77 | + <div> | ||
| 78 | + <a href="#" | ||
| 79 | + ng-mouseenter="ctrl.getLineVersionTip(info)" | ||
| 80 | + tooltip-animation="false" | ||
| 81 | + tooltip-placement="top" | ||
| 82 | + uib-tooltip="{{ctrl.lineVersionTip}}" | ||
| 83 | + tooltip-class="headClass"> | ||
| 84 | + | ||
| 85 | + <span ng-bind="'线路版本:' + info.lineVersion"></span> | ||
| 86 | + </a> | ||
| 87 | + | ||
| 88 | + </div> | ||
| 89 | + | ||
| 90 | + | ||
| 73 | </td> | 91 | </td> |
| 74 | <td> | 92 | <td> |
| 75 | <div> | 93 | <div> |
| @@ -90,23 +108,62 @@ | @@ -90,23 +108,62 @@ | ||
| 90 | </td> | 108 | </td> |
| 91 | <td> | 109 | <td> |
| 92 | <div> | 110 | <div> |
| 93 | - <a href="#"> | ||
| 94 | - <span ng-bind="info.qyrq | date: 'yyyy-MM-dd'"></span> | 111 | + <a href="#" |
| 112 | + tooltip-animation="false" | ||
| 113 | + tooltip-placement="top" | ||
| 114 | + uib-tooltip="启用时间:{{info.qyrq | date: 'yyyy-MM-dd HH:mm:ss' }}" | ||
| 115 | + tooltip-class="headClass"> | ||
| 116 | + 启用 | ||
| 117 | + <span ng-bind="(info.qyrq | date: 'yyyy-MM-dd')"></span> | ||
| 95 | </a> | 118 | </a> |
| 96 | </div> | 119 | </div> |
| 120 | + | ||
| 97 | <div> | 121 | <div> |
| 98 | <a href="#" | 122 | <a href="#" |
| 99 | tooltip-animation="false" | 123 | tooltip-animation="false" |
| 100 | tooltip-placement="top" | 124 | tooltip-placement="top" |
| 101 | uib-tooltip="备份时间:{{info.lastBackUpDate | date: 'yyyy-MM-dd HH:mm:ss' }}" | 125 | uib-tooltip="备份时间:{{info.lastBackUpDate | date: 'yyyy-MM-dd HH:mm:ss' }}" |
| 102 | tooltip-class="headClass"> | 126 | tooltip-class="headClass"> |
| 127 | + 备份 | ||
| 128 | + <span ng-bind="(info.lastBackUpDate | date: 'yyyy-MM-dd')"></span> | ||
| 129 | + </a> | ||
| 130 | + </div> | ||
| 103 | 131 | ||
| 104 | - <i class="fa fa-hdd-o" aria-hidden="true"></i> | ||
| 105 | - <span ng-bind="info.lastBackUpDate | date: 'yyyy-MM-dd'"></span> | 132 | + <div> |
| 133 | + <a href="#" | ||
| 134 | + tooltip-animation="false" | ||
| 135 | + tooltip-placement="top" | ||
| 136 | + uib-tooltip="创建时间:{{info.createDate | date: 'yyyy-MM-dd HH:mm:ss' }}" | ||
| 137 | + tooltip-class="headClass"> | ||
| 138 | + 创建 | ||
| 139 | + <span ng-bind="(info.createDate | date: 'yyyy-MM-dd')"></span> | ||
| 106 | </a> | 140 | </a> |
| 141 | + </div> | ||
| 107 | 142 | ||
| 143 | + <div> | ||
| 144 | + <a href="#" | ||
| 145 | + tooltip-animation="false" | ||
| 146 | + tooltip-placement="top" | ||
| 147 | + uib-tooltip="更新时间:{{info.updateDate | date: 'yyyy-MM-dd HH:mm:ss' }}" | ||
| 148 | + tooltip-class="headClass"> | ||
| 149 | + 更新 | ||
| 150 | + <span ng-bind="(info.updateDate | date: 'yyyy-MM-dd')"></span> | ||
| 151 | + </a> | ||
| 108 | </div> | 152 | </div> |
| 109 | 153 | ||
| 154 | + <!--<div>--> | ||
| 155 | + <!--<a href="#"--> | ||
| 156 | + <!--tooltip-animation="false"--> | ||
| 157 | + <!--tooltip-placement="top"--> | ||
| 158 | + <!--uib-tooltip="备份时间:{{info.lastBackUpDate | date: 'yyyy-MM-dd HH:mm:ss' }}"--> | ||
| 159 | + <!--tooltip-class="headClass">--> | ||
| 160 | + | ||
| 161 | + <!--<i class="fa fa-hdd-o" aria-hidden="true"></i>--> | ||
| 162 | + <!--<span ng-bind="info.lastBackUpDate | date: 'yyyy-MM-dd'"></span>--> | ||
| 163 | + <!--</a>--> | ||
| 164 | + | ||
| 165 | + <!--</div>--> | ||
| 166 | + | ||
| 110 | </td> | 167 | </td> |
| 111 | <td> | 168 | <td> |
| 112 | <span class="glyphicon glyphicon-ok" ng-if="info.isCancel == '0'"></span> | 169 | <span class="glyphicon glyphicon-ok" ng-if="info.isCancel == '0'"></span> |
| @@ -117,7 +174,7 @@ | @@ -117,7 +174,7 @@ | ||
| 117 | <!--class="btn btn-info btn-sm" ng-if="info.isCancel == '0'"> 编辑 </a>--> | 174 | <!--class="btn btn-info btn-sm" ng-if="info.isCancel == '0'"> 编辑 </a>--> |
| 118 | <!--<a ui-sref="ttInfoDetailManage_edit2({xlid: info.xl.id, ttid : info.id, xlname: info.xl.name, ttname : info.name})"--> | 175 | <!--<a ui-sref="ttInfoDetailManage_edit2({xlid: info.xl.id, ttid : info.id, xlname: info.xl.name, ttname : info.name})"--> |
| 119 | <!--class="btn btn-info btn-sm" ng-if="info.isCancel == '0'"> 编辑2 </a>--> | 176 | <!--class="btn btn-info btn-sm" ng-if="info.isCancel == '0'"> 编辑2 </a>--> |
| 120 | - <a ui-sref="ttInfoDetailManage_edit3({xlid: info.xl.id, ttid : info.id, xlname: info.xl.name, ttname : info.name, rflag : true})" | 177 | + <a ui-sref="ttInfoDetailManage_edit3({xlid: info.xl.id, ttid : info.id, xlname: info.xl.name, ttname : info.name, rflag : true, lineversion : info.lineVersion})" |
| 121 | class="btn btn-info btn-sm" ng-if="info.isCancel == '0'"> 编辑 </a> | 178 | class="btn btn-info btn-sm" ng-if="info.isCancel == '0'"> 编辑 </a> |
| 122 | <a ng-click="ctrl.toTtInfoDetailAuto(info.id)" | 179 | <a ng-click="ctrl.toTtInfoDetailAuto(info.id)" |
| 123 | class="btn btn-info btn-sm" ng-if="info.isCancel == '0'"> 生成 </a> | 180 | class="btn btn-info btn-sm" ng-if="info.isCancel == '0'"> 生成 </a> |
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/module.js
| @@ -80,6 +80,19 @@ angular.module('ScheduleApp').factory( | @@ -80,6 +80,19 @@ angular.module('ScheduleApp').factory( | ||
| 80 | var param = {}; | 80 | var param = {}; |
| 81 | param.ttinfoid = ttinfoid; | 81 | param.ttinfoid = ttinfoid; |
| 82 | return service.backup.do(param).$promise; | 82 | return service.backup.do(param).$promise; |
| 83 | + }, | ||
| 84 | + | ||
| 85 | + /** | ||
| 86 | + * 获取线路版本描述。 | ||
| 87 | + * @param lineId | ||
| 88 | + * @param version | ||
| 89 | + * @returns {*|Function|promise|n} | ||
| 90 | + */ | ||
| 91 | + versiondesc: function(lineId, version) { | ||
| 92 | + var param = {}; | ||
| 93 | + param.lineId = lineId; | ||
| 94 | + param.version = version; | ||
| 95 | + return service.versiondesc.do(param).$promise; | ||
| 83 | } | 96 | } |
| 84 | 97 | ||
| 85 | 98 | ||
| @@ -171,12 +184,26 @@ angular.module('ScheduleApp').controller( | @@ -171,12 +184,26 @@ angular.module('ScheduleApp').controller( | ||
| 171 | 184 | ||
| 172 | self.doPage(); | 185 | self.doPage(); |
| 173 | 186 | ||
| 174 | - // 自动生成时刻表 | 187 | + // TODO:跳转到自动生成时刻表页面(jquery页面),之后会替换为Angularjs版本 |
| 175 | self.toTtInfoDetailAuto = function(ttinfoid) { | 188 | self.toTtInfoDetailAuto = function(ttinfoid) { |
| 176 | showPjax(); | 189 | showPjax(); |
| 177 | $.pjax({url: 'pages/base/timesmodel/add.html?no=' + ttinfoid, container: pjaxContainer}); | 190 | $.pjax({url: 'pages/base/timesmodel/add.html?no=' + ttinfoid, container: pjaxContainer}); |
| 178 | }; | 191 | }; |
| 179 | 192 | ||
| 193 | + self.lineVersionTip = "载入中..."; | ||
| 194 | + var currentTTInfoForLineVersion; | ||
| 195 | + self.getLineVersionTip = function(info) { | ||
| 196 | + if (currentTTInfoForLineVersion != info) { | ||
| 197 | + service.versiondesc(info.xl.id, info.lineVersion).then( | ||
| 198 | + function(result) { | ||
| 199 | + self.lineVersionTip = result.desc; | ||
| 200 | + currentTTInfoForLineVersion = info; | ||
| 201 | + } | ||
| 202 | + ); | ||
| 203 | + } | ||
| 204 | + | ||
| 205 | + }; | ||
| 206 | + | ||
| 180 | // TODO: | 207 | // TODO: |
| 181 | } | 208 | } |
| 182 | ] | 209 | ] |
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/service.js
| @@ -53,6 +53,24 @@ angular.module('ScheduleApp').factory( | @@ -53,6 +53,24 @@ angular.module('ScheduleApp').factory( | ||
| 53 | } | 53 | } |
| 54 | } | 54 | } |
| 55 | } | 55 | } |
| 56 | + ), | ||
| 57 | + | ||
| 58 | + versiondesc: $resource( | ||
| 59 | + '/tic_ec/versiondesc/:lineId/:version', | ||
| 60 | + {}, | ||
| 61 | + { | ||
| 62 | + do: { | ||
| 63 | + method: 'GET', | ||
| 64 | + transformResponse: function(rs) { | ||
| 65 | + var dst = angular.fromJson(rs); | ||
| 66 | + if (dst.status == 'SUCCESS') { | ||
| 67 | + return dst.data; | ||
| 68 | + } else { | ||
| 69 | + return dst; // 业务错误留给控制器处理 | ||
| 70 | + } | ||
| 71 | + } | ||
| 72 | + } | ||
| 73 | + } | ||
| 56 | ) | 74 | ) |
| 57 | }; | 75 | }; |
| 58 | 76 |
src/main/resources/timetable.proto
| @@ -34,6 +34,8 @@ message TTInfo { | @@ -34,6 +34,8 @@ message TTInfo { | ||
| 34 | 34 | ||
| 35 | // list | 35 | // list |
| 36 | repeated TTInfoDetail bcInfo = 17; | 36 | repeated TTInfoDetail bcInfo = 17; |
| 37 | + | ||
| 38 | + uint32 lineVersion = 18; // 线路版本 | ||
| 37 | } | 39 | } |
| 38 | 40 | ||
| 39 | message TTInfoDetail { | 41 | message TTInfoDetail { |
| @@ -64,6 +66,7 @@ message TTInfoDetail { | @@ -64,6 +66,7 @@ message TTInfoDetail { | ||
| 64 | bool isTS = 18; // 是否停驶(表示此班次执行完成,停在终点站,不进场) | 66 | bool isTS = 18; // 是否停驶(表示此班次执行完成,停在终点站,不进场) |
| 65 | string remark = 19; // 备注 | 67 | string remark = 19; // 备注 |
| 66 | 68 | ||
| 69 | + uint32 lineVersion = 20; // 线路版本 | ||
| 67 | } | 70 | } |
| 68 | 71 | ||
| 69 | 72 |