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 | 2 | |
| 3 | 3 | import com.bsth.common.ResponseCode; |
| 4 | 4 | import com.bsth.controller.schedule.BController; |
| 5 | -import com.bsth.entity.LineVersions; | |
| 6 | 5 | import com.bsth.entity.schedule.TTInfo; |
| 7 | -import com.bsth.service.LineVersionsService; | |
| 8 | 6 | import com.bsth.service.schedule.TTInfoService; |
| 9 | 7 | import com.bsth.service.schedule.exception.ScheduleException; |
| 10 | -import org.joda.time.DateTime; | |
| 11 | 8 | import org.springframework.beans.factory.annotation.Autowired; |
| 12 | 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 | 15 | * Created by xu on 16/12/20. |
| ... | ... | @@ -21,47 +19,13 @@ import java.util.*; |
| 21 | 19 | public class TTInfoController extends BController<TTInfo, Long> { |
| 22 | 20 | @Autowired |
| 23 | 21 | private TTInfoService ttInfoService; |
| 24 | - @Autowired | |
| 25 | - private LineVersionsService lineVersionsService; | |
| 26 | 22 | |
| 27 | 23 | @RequestMapping(value = "/stationroute/{lineid}", method = RequestMethod.GET) |
| 28 | 24 | public Map<String, Object> getLineStationRouteVersions(@PathVariable(value = "lineid") Integer lineid) { |
| 29 | 25 | Map<String, Object> rtn = new HashMap<>(); |
| 30 | 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 | 27 | rtn.put("status", ResponseCode.SUCCESS); |
| 64 | - rtn.put("data", mapList); | |
| 28 | + rtn.put("data", ttInfoService.getLineStationRouteVersions(lineid)); | |
| 65 | 29 | |
| 66 | 30 | } catch (Exception exp) { |
| 67 | 31 | rtn.put("status", ResponseCode.ERROR); |
| ... | ... | @@ -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 | 58 | @RequestMapping(value = "/validate_name", method = RequestMethod.GET) |
| 76 | 59 | public Map<String, Object> validate_name(@RequestParam Map<String, Object> param) { |
| 77 | 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 | 108 | } |
| 109 | 109 | |
| 110 | 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 | 112 | Map<String, Object> rtn = new HashMap<>(); |
| 113 | 113 | try { |
| 114 | - List<Map<String, Object>> list = ttInfoDetailService.findZdAndTcc(lineid, xldir); | |
| 114 | + List<Map<String, Object>> list = ttInfoDetailService.findZdAndTcc(lineid, xldir, lineversion); | |
| 115 | 115 | rtn.put("status", ResponseCode.SUCCESS); |
| 116 | 116 | rtn.put("data", list); |
| 117 | 117 | } catch (Exception exp) { | ... | ... |
src/main/java/com/bsth/entity/schedule/TTInfo.java
| ... | ... | @@ -67,6 +67,10 @@ public class TTInfo extends BEntity { |
| 67 | 67 | /** 最近备份日期 */ |
| 68 | 68 | private Date lastBackUpDate; |
| 69 | 69 | |
| 70 | + /** 线路版本(bsth_c_line_versions表对应字段) */ | |
| 71 | + @Column(nullable = false) | |
| 72 | + private int lineVersion; | |
| 73 | + | |
| 70 | 74 | public TTInfo() {} |
| 71 | 75 | public TTInfo(Object id, Object xlid, Object name, Object nds, Object sds) { |
| 72 | 76 | if (id != null) { |
| ... | ... | @@ -109,7 +113,9 @@ public class TTInfo extends BEntity { |
| 109 | 113 | .setUpdateUser(getUpdateBy() == null ? 0 : getUpdateBy().getId()) |
| 110 | 114 | .setUpdateUserName(getUpdateBy() == null ? "" : getUpdateBy().getUserName()) |
| 111 | 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 | 222 | public void setLastBackUpDate(Date lastBackUpDate) { |
| 217 | 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 | 36 | @Lob |
| 37 | 37 | private byte[] backUpInfo; |
| 38 | 38 | |
| 39 | + /** 线路版本(bsth_c_line_versions表对应字段) */ | |
| 40 | + @Column(nullable = false) | |
| 41 | + private int lineVersion; | |
| 42 | + | |
| 39 | 43 | public Long getId() { |
| 40 | 44 | return id; |
| 41 | 45 | } |
| ... | ... | @@ -91,4 +95,12 @@ public class TTInfoBackup { |
| 91 | 95 | public void setBackUpInfo(byte[] backUpInfo) { |
| 92 | 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 | 100 | /** 备注 */ |
| 101 | 101 | private String remark; |
| 102 | 102 | |
| 103 | + /** 线路版本(bsth_c_line_versions表对应字段) */ | |
| 104 | + @Column(nullable = false) | |
| 105 | + private int lineVersion; | |
| 106 | + | |
| 103 | 107 | /** |
| 104 | 108 | * 输出proto生成的builder |
| 105 | 109 | * @return |
| ... | ... | @@ -126,6 +130,7 @@ public class TTInfoDetail extends BEntity { |
| 126 | 130 | .setIsFB(isFB == null ? false : isFB) |
| 127 | 131 | .setIsTS(isTS == null ? false : isTS) |
| 128 | 132 | .setRemark(remark == null ? "" : remark) |
| 133 | + .setLineVersion(lineVersion) | |
| 129 | 134 | ; |
| 130 | 135 | } |
| 131 | 136 | |
| ... | ... | @@ -320,4 +325,12 @@ public class TTInfoDetail extends BEntity { |
| 320 | 325 | public void setIsTS(Boolean isTS) { |
| 321 | 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 | 54 | |
| 55 | 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 | 3 | import com.bsth.entity.schedule.TTInfo; |
| 4 | 4 | import com.bsth.service.schedule.exception.ScheduleException; |
| 5 | 5 | |
| 6 | +import java.util.List; | |
| 7 | +import java.util.Map; | |
| 8 | + | |
| 6 | 9 | /** |
| 7 | 10 | * Created by xu on 16/5/12. |
| 8 | 11 | */ |
| ... | ... | @@ -14,4 +17,8 @@ public interface TTInfoService extends BService<TTInfo, Long> { |
| 14 | 17 | |
| 15 | 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 | 94 | * @param xldir 线路上下行 |
| 95 | 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 | 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 | 102 | "union all " + |
| 103 | 103 | "select park_code as zcode, park_name as zname, concat(park_name, '(停车场)') as aname from bsth_c_car_park " + |
| 104 | 104 | "where destroy = 0 " + |
| 105 | 105 | ") a "; |
| 106 | 106 | |
| 107 | - return jdbcTemplate.queryForList(sql, lineid, xldir); | |
| 107 | + return jdbcTemplate.queryForList(sql, lineid, xldir, lineversion); | |
| 108 | 108 | } |
| 109 | 109 | |
| 110 | 110 | @Override | ... | ... |
src/main/java/com/bsth/service/schedule/impl/TTInfoServiceImpl.java
| 1 | 1 | package com.bsth.service.schedule.impl; |
| 2 | 2 | |
| 3 | +import com.bsth.entity.LineVersions; | |
| 3 | 4 | import com.bsth.entity.schedule.TTInfo; |
| 4 | 5 | import com.bsth.entity.schedule.TTInfoBackup; |
| 5 | 6 | import com.bsth.entity.schedule.TTInfoDetail; |
| 6 | 7 | import com.bsth.repository.schedule.TTInfoBackupRepository; |
| 7 | 8 | import com.bsth.repository.schedule.TTInfoDetailRepository; |
| 8 | 9 | import com.bsth.repository.schedule.TTInfoRepository; |
| 10 | +import com.bsth.service.LineVersionsService; | |
| 9 | 11 | import com.bsth.service.schedule.TTInfoService; |
| 10 | 12 | import com.bsth.service.schedule.exception.ScheduleException; |
| 11 | 13 | import com.bsth.service.schedule.utils.TimeTableProto; |
| 12 | 14 | import org.apache.commons.lang3.StringUtils; |
| 15 | +import org.joda.time.DateTime; | |
| 13 | 16 | import org.slf4j.Logger; |
| 14 | 17 | import org.slf4j.LoggerFactory; |
| 15 | 18 | import org.springframework.beans.factory.annotation.Autowired; |
| ... | ... | @@ -21,10 +24,7 @@ import org.springframework.util.CollectionUtils; |
| 21 | 24 | |
| 22 | 25 | import java.io.PrintWriter; |
| 23 | 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 | 30 | * Created by xu on 16/12/20. |
| ... | ... | @@ -40,6 +40,8 @@ public class TTInfoServiceImpl extends BServiceImpl<TTInfo, Long> implements TTI |
| 40 | 40 | private TTInfoDetailRepository ttInfoDetailRepository; |
| 41 | 41 | @Autowired |
| 42 | 42 | private TTInfoBackupRepository ttInfoBackupRepository; |
| 43 | + @Autowired | |
| 44 | + private LineVersionsService lineVersionsService; | |
| 43 | 45 | |
| 44 | 46 | @Override |
| 45 | 47 | public void validate_name(TTInfo ttInfo) throws ScheduleException { |
| ... | ... | @@ -137,7 +139,70 @@ public class TTInfoServiceImpl extends BServiceImpl<TTInfo, Long> implements TTI |
| 137 | 139 | } |
| 138 | 140 | |
| 139 | 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 | 206 | public void backUp(Long ttInfoId) throws ScheduleException { |
| 142 | 207 | LOG.info(">>>>>>开始备份时刻表<<<<<<"); |
| 143 | 208 | |
| ... | ... | @@ -165,6 +230,7 @@ public class TTInfoServiceImpl extends BServiceImpl<TTInfo, Long> implements TTI |
| 165 | 230 | ttInfoBackup.setXlName(ttInfo.getXl().getName()); |
| 166 | 231 | ttInfoBackup.setTtInfo(ttInfoId); |
| 167 | 232 | ttInfoBackup.setTtInfoName(ttInfo.getName()); |
| 233 | + ttInfoBackup.setLineVersion(ttInfo.getLineVersion()); | |
| 168 | 234 | ttInfoBackup.setBackUpDate(backupdate); |
| 169 | 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 | 268 | */ |
| 269 | 269 | com.bsth.service.schedule.utils.TimeTableProto.TTInfoDetailOrBuilder getBcInfoOrBuilder( |
| 270 | 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 | 282 | * Protobuf type {@code timetable.TTInfo} |
| ... | ... | @@ -298,6 +307,7 @@ public final class TimeTableProto { |
| 298 | 307 | createDate_ = 0L; |
| 299 | 308 | updateDate_ = 0L; |
| 300 | 309 | bcInfo_ = java.util.Collections.emptyList(); |
| 310 | + lineVersion_ = 0; | |
| 301 | 311 | } |
| 302 | 312 | |
| 303 | 313 | @java.lang.Override |
| ... | ... | @@ -421,6 +431,11 @@ public final class TimeTableProto { |
| 421 | 431 | input.readMessage(com.bsth.service.schedule.utils.TimeTableProto.TTInfoDetail.parser(), extensionRegistry)); |
| 422 | 432 | break; |
| 423 | 433 | } |
| 434 | + case 144: { | |
| 435 | + | |
| 436 | + lineVersion_ = input.readUInt32(); | |
| 437 | + break; | |
| 438 | + } | |
| 424 | 439 | } |
| 425 | 440 | } |
| 426 | 441 | } catch (com.google.protobuf.InvalidProtocolBufferException e) { |
| ... | ... | @@ -914,6 +929,19 @@ public final class TimeTableProto { |
| 914 | 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 | 945 | private byte memoizedIsInitialized = -1; |
| 918 | 946 | public final boolean isInitialized() { |
| 919 | 947 | byte isInitialized = memoizedIsInitialized; |
| ... | ... | @@ -977,6 +1005,9 @@ public final class TimeTableProto { |
| 977 | 1005 | for (int i = 0; i < bcInfo_.size(); i++) { |
| 978 | 1006 | output.writeMessage(17, bcInfo_.get(i)); |
| 979 | 1007 | } |
| 1008 | + if (lineVersion_ != 0) { | |
| 1009 | + output.writeUInt32(18, lineVersion_); | |
| 1010 | + } | |
| 980 | 1011 | } |
| 981 | 1012 | |
| 982 | 1013 | public int getSerializedSize() { |
| ... | ... | @@ -1045,6 +1076,10 @@ public final class TimeTableProto { |
| 1045 | 1076 | size += com.google.protobuf.CodedOutputStream |
| 1046 | 1077 | .computeMessageSize(17, bcInfo_.get(i)); |
| 1047 | 1078 | } |
| 1079 | + if (lineVersion_ != 0) { | |
| 1080 | + size += com.google.protobuf.CodedOutputStream | |
| 1081 | + .computeUInt32Size(18, lineVersion_); | |
| 1082 | + } | |
| 1048 | 1083 | memoizedSize = size; |
| 1049 | 1084 | return size; |
| 1050 | 1085 | } |
| ... | ... | @@ -1095,6 +1130,8 @@ public final class TimeTableProto { |
| 1095 | 1130 | == other.getUpdateDate()); |
| 1096 | 1131 | result = result && getBcInfoList() |
| 1097 | 1132 | .equals(other.getBcInfoList()); |
| 1133 | + result = result && (getLineVersion() | |
| 1134 | + == other.getLineVersion()); | |
| 1098 | 1135 | return result; |
| 1099 | 1136 | } |
| 1100 | 1137 | |
| ... | ... | @@ -1147,6 +1184,8 @@ public final class TimeTableProto { |
| 1147 | 1184 | hash = (37 * hash) + BCINFO_FIELD_NUMBER; |
| 1148 | 1185 | hash = (53 * hash) + getBcInfoList().hashCode(); |
| 1149 | 1186 | } |
| 1187 | + hash = (37 * hash) + LINEVERSION_FIELD_NUMBER; | |
| 1188 | + hash = (53 * hash) + getLineVersion(); | |
| 1150 | 1189 | hash = (29 * hash) + unknownFields.hashCode(); |
| 1151 | 1190 | memoizedHashCode = hash; |
| 1152 | 1191 | return hash; |
| ... | ... | @@ -1315,6 +1354,8 @@ public final class TimeTableProto { |
| 1315 | 1354 | } else { |
| 1316 | 1355 | bcInfoBuilder_.clear(); |
| 1317 | 1356 | } |
| 1357 | + lineVersion_ = 0; | |
| 1358 | + | |
| 1318 | 1359 | return this; |
| 1319 | 1360 | } |
| 1320 | 1361 | |
| ... | ... | @@ -1364,6 +1405,7 @@ public final class TimeTableProto { |
| 1364 | 1405 | } else { |
| 1365 | 1406 | result.bcInfo_ = bcInfoBuilder_.build(); |
| 1366 | 1407 | } |
| 1408 | + result.lineVersion_ = lineVersion_; | |
| 1367 | 1409 | result.bitField0_ = to_bitField0_; |
| 1368 | 1410 | onBuilt(); |
| 1369 | 1411 | return result; |
| ... | ... | @@ -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 | 1535 | onChanged(); |
| 1491 | 1536 | return this; |
| 1492 | 1537 | } |
| ... | ... | @@ -2790,6 +2835,44 @@ public final class TimeTableProto { |
| 2790 | 2835 | } |
| 2791 | 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 | 2876 | public final Builder setUnknownFields( |
| 2794 | 2877 | final com.google.protobuf.UnknownFieldSet unknownFields) { |
| 2795 | 2878 | return this; |
| ... | ... | @@ -3103,6 +3186,15 @@ public final class TimeTableProto { |
| 3103 | 3186 | */ |
| 3104 | 3187 | com.google.protobuf.ByteString |
| 3105 | 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 | 3200 | * Protobuf type {@code timetable.TTInfoDetail} |
| ... | ... | @@ -3135,6 +3227,7 @@ public final class TimeTableProto { |
| 3135 | 3227 | isFB_ = false; |
| 3136 | 3228 | isTS_ = false; |
| 3137 | 3229 | remark_ = ""; |
| 3230 | + lineVersion_ = 0; | |
| 3138 | 3231 | } |
| 3139 | 3232 | |
| 3140 | 3233 | @java.lang.Override |
| ... | ... | @@ -3267,6 +3360,11 @@ public final class TimeTableProto { |
| 3267 | 3360 | remark_ = s; |
| 3268 | 3361 | break; |
| 3269 | 3362 | } |
| 3363 | + case 160: { | |
| 3364 | + | |
| 3365 | + lineVersion_ = input.readUInt32(); | |
| 3366 | + break; | |
| 3367 | + } | |
| 3270 | 3368 | } |
| 3271 | 3369 | } |
| 3272 | 3370 | } catch (com.google.protobuf.InvalidProtocolBufferException e) { |
| ... | ... | @@ -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 | 3941 | private byte memoizedIsInitialized = -1; |
| 3831 | 3942 | public final boolean isInitialized() { |
| 3832 | 3943 | byte isInitialized = memoizedIsInitialized; |
| ... | ... | @@ -3896,6 +4007,9 @@ public final class TimeTableProto { |
| 3896 | 4007 | if (!getRemarkBytes().isEmpty()) { |
| 3897 | 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 | 4015 | public int getSerializedSize() { |
| ... | ... | @@ -3969,6 +4083,10 @@ public final class TimeTableProto { |
| 3969 | 4083 | if (!getRemarkBytes().isEmpty()) { |
| 3970 | 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 | 4090 | memoizedSize = size; |
| 3973 | 4091 | return size; |
| 3974 | 4092 | } |
| ... | ... | @@ -4025,6 +4143,8 @@ public final class TimeTableProto { |
| 4025 | 4143 | == other.getIsTS()); |
| 4026 | 4144 | result = result && getRemark() |
| 4027 | 4145 | .equals(other.getRemark()); |
| 4146 | + result = result && (getLineVersion() | |
| 4147 | + == other.getLineVersion()); | |
| 4028 | 4148 | return result; |
| 4029 | 4149 | } |
| 4030 | 4150 | |
| ... | ... | @@ -4078,6 +4198,8 @@ public final class TimeTableProto { |
| 4078 | 4198 | getIsTS()); |
| 4079 | 4199 | hash = (37 * hash) + REMARK_FIELD_NUMBER; |
| 4080 | 4200 | hash = (53 * hash) + getRemark().hashCode(); |
| 4201 | + hash = (37 * hash) + LINEVERSION_FIELD_NUMBER; | |
| 4202 | + hash = (53 * hash) + getLineVersion(); | |
| 4081 | 4203 | hash = (29 * hash) + unknownFields.hashCode(); |
| 4082 | 4204 | memoizedHashCode = hash; |
| 4083 | 4205 | return hash; |
| ... | ... | @@ -4245,6 +4367,8 @@ public final class TimeTableProto { |
| 4245 | 4367 | |
| 4246 | 4368 | remark_ = ""; |
| 4247 | 4369 | |
| 4370 | + lineVersion_ = 0; | |
| 4371 | + | |
| 4248 | 4372 | return this; |
| 4249 | 4373 | } |
| 4250 | 4374 | |
| ... | ... | @@ -4286,6 +4410,7 @@ public final class TimeTableProto { |
| 4286 | 4410 | result.isFB_ = isFB_; |
| 4287 | 4411 | result.isTS_ = isTS_; |
| 4288 | 4412 | result.remark_ = remark_; |
| 4413 | + result.lineVersion_ = lineVersion_; | |
| 4289 | 4414 | onBuilt(); |
| 4290 | 4415 | return result; |
| 4291 | 4416 | } |
| ... | ... | @@ -4394,6 +4519,9 @@ public final class TimeTableProto { |
| 4394 | 4519 | remark_ = other.remark_; |
| 4395 | 4520 | onChanged(); |
| 4396 | 4521 | } |
| 4522 | + if (other.getLineVersion() != 0) { | |
| 4523 | + setLineVersion(other.getLineVersion()); | |
| 4524 | + } | |
| 4397 | 4525 | onChanged(); |
| 4398 | 4526 | return this; |
| 4399 | 4527 | } |
| ... | ... | @@ -5651,6 +5779,44 @@ public final class TimeTableProto { |
| 5651 | 5779 | onChanged(); |
| 5652 | 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 | 5820 | public final Builder setUnknownFields( |
| 5655 | 5821 | final com.google.protobuf.UnknownFieldSet unknownFields) { |
| 5656 | 5822 | return this; |
| ... | ... | @@ -5719,7 +5885,7 @@ public final class TimeTableProto { |
| 5719 | 5885 | descriptor; |
| 5720 | 5886 | static { |
| 5721 | 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 | 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 | 5890 | "\006xlName\030\004 \001(\t\022\r\n\005xlDir\030\005 \001(\t\022\014\n\004qyrq\030\006 \001" + |
| 5725 | 5891 | "(\004\022\033\n\023isEnableDisTemplate\030\007 \001(\010\022\020\n\010isCan" + |
| ... | ... | @@ -5728,16 +5894,17 @@ public final class TimeTableProto { |
| 5728 | 5894 | "erName\030\014 \001(\t\022\022\n\nupdateUser\030\r \001(\r\022\026\n\016upda" + |
| 5729 | 5895 | "teUserName\030\016 \001(\t\022\022\n\ncreateDate\030\017 \001(\004\022\022\n\n" + |
| 5730 | 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 | 5909 | com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = |
| 5743 | 5910 | new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { |
| ... | ... | @@ -5756,13 +5923,13 @@ public final class TimeTableProto { |
| 5756 | 5923 | internal_static_timetable_TTInfo_fieldAccessorTable = new |
| 5757 | 5924 | com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( |
| 5758 | 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 | 5927 | internal_static_timetable_TTInfoDetail_descriptor = |
| 5761 | 5928 | getDescriptor().getMessageTypes().get(1); |
| 5762 | 5929 | internal_static_timetable_TTInfoDetail_fieldAccessorTable = new |
| 5763 | 5930 | com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( |
| 5764 | 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 | 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 | 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 | 1207 | } |
| 1208 | 1208 | }) |
| 1209 | 1209 | .state("ttInfoDetailManage_edit3", { // 时刻表详细信息编辑 |
| 1210 | - url: '/ttInfoDetailManage_edit3/:xlid/:ttid/:xlname/:ttname/:rflag', | |
| 1210 | + url: '/ttInfoDetailManage_edit3/:xlid/:ttid/:xlname/:ttname/:rflag/:lineversion', | |
| 1211 | 1211 | views: { |
| 1212 | 1212 | "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit3.html'} |
| 1213 | 1213 | }, |
| ... | ... | @@ -1225,7 +1225,7 @@ ScheduleApp.config([ |
| 1225 | 1225 | } |
| 1226 | 1226 | }) |
| 1227 | 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 | 1229 | views: { |
| 1230 | 1230 | "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-detail.html'} |
| 1231 | 1231 | }, |
| ... | ... | @@ -1244,7 +1244,7 @@ ScheduleApp.config([ |
| 1244 | 1244 | } |
| 1245 | 1245 | }) |
| 1246 | 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 | 1248 | views: { |
| 1249 | 1249 | "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-detail2.html'} |
| 1250 | 1250 | }, |
| ... | ... | @@ -1263,7 +1263,7 @@ ScheduleApp.config([ |
| 1263 | 1263 | } |
| 1264 | 1264 | }) |
| 1265 | 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 | 1267 | views: { |
| 1268 | 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 | 30 | <div class="portlet light bordered"> |
| 31 | 31 | <div class="portlet-title"> |
| 32 | 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 | 41 | </div> |
| 36 | 42 | </div> |
| 37 | 43 | |
| ... | ... | @@ -93,7 +99,7 @@ |
| 93 | 99 | cmaps="{'qdzCode' : 'zcode', 'qdzName': 'zname'}" |
| 94 | 100 | dcname="qdzCode" |
| 95 | 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 | 103 | iterobjname="item" |
| 98 | 104 | iterobjexp="item.aname" |
| 99 | 105 | searchph="请输拼音..." |
| ... | ... | @@ -114,7 +120,7 @@ |
| 114 | 120 | cmaps="{'zdzCode' : 'zcode', 'zdzName': 'zname'}" |
| 115 | 121 | dcname="zdzCode" |
| 116 | 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 | 124 | iterobjname="item" |
| 119 | 125 | iterobjexp="item.aname" |
| 120 | 126 | searchph="请输拼音..." |
| ... | ... | @@ -244,7 +250,7 @@ |
| 244 | 250 | <button type="submit" class="btn green" |
| 245 | 251 | ng-disabled="!myForm.$valid"><i class="fa fa-check"></i> 提交</button> |
| 246 | 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 | 254 | </div> |
| 249 | 255 | </div> |
| 250 | 256 | </div> | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-detail2.html
| ... | ... | @@ -30,8 +30,14 @@ |
| 30 | 30 | <div class="portlet light bordered"> |
| 31 | 31 | <div class="portlet-title"> |
| 32 | 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 | 41 | </div> |
| 36 | 42 | </div> |
| 37 | 43 | |
| ... | ... | @@ -74,7 +80,7 @@ |
| 74 | 80 | cmaps="{'qdzCode' : 'zcode', 'qdzName': 'zname'}" |
| 75 | 81 | dcname="qdzCode" |
| 76 | 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 | 84 | iterobjname="item" |
| 79 | 85 | iterobjexp="item.aname" |
| 80 | 86 | searchph="请输拼音..." |
| ... | ... | @@ -91,7 +97,7 @@ |
| 91 | 97 | cmaps="{'zdzCode' : 'zcode', 'zdzName': 'zname'}" |
| 92 | 98 | dcname="zdzCode" |
| 93 | 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 | 101 | iterobjname="item" |
| 96 | 102 | iterobjexp="item.aname" |
| 97 | 103 | searchph="请输拼音..." |
| ... | ... | @@ -198,7 +204,7 @@ |
| 198 | 204 | <button type="submit" class="btn green" |
| 199 | 205 | ng-disabled="!myForm.$valid"><i class="fa fa-check"></i> 提交</button> |
| 200 | 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 | 208 | </div> |
| 203 | 209 | </div> |
| 204 | 210 | </div> | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-mulselect.html
| ... | ... | @@ -90,7 +90,7 @@ |
| 90 | 90 | <button type="submit" class="btn green" |
| 91 | 91 | ng-disabled="!myForm.$valid"><i class="fa fa-check"></i> 提交</button> |
| 92 | 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 | 94 | </div> |
| 95 | 95 | </div> |
| 96 | 96 | </div> | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/edit3.html
| ... | ... | @@ -29,6 +29,7 @@ |
| 29 | 29 | <div class="caption font-dark"> |
| 30 | 30 | <i class="fa fa-database font-dark"></i> |
| 31 | 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 | 33 | </div> |
| 33 | 34 | <div class="actions"> |
| 34 | 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 | 64 | } |
| 65 | 65 | }) |
| 66 | 66 | .state("ttInfoDetailManage_edit3", { // 时刻表详细信息编辑 |
| 67 | - url: '/ttInfoDetailManage_edit3/:xlid/:ttid/:xlname/:ttname/:rflag', | |
| 67 | + url: '/ttInfoDetailManage_edit3/:xlid/:ttid/:xlname/:ttname/:rflag/:lineversion', | |
| 68 | 68 | views: { |
| 69 | 69 | "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit3.html'} |
| 70 | 70 | }, |
| ... | ... | @@ -82,7 +82,7 @@ ScheduleApp.config([ |
| 82 | 82 | } |
| 83 | 83 | }) |
| 84 | 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 | 86 | views: { |
| 87 | 87 | "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-detail.html'} |
| 88 | 88 | }, |
| ... | ... | @@ -101,7 +101,7 @@ ScheduleApp.config([ |
| 101 | 101 | } |
| 102 | 102 | }) |
| 103 | 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 | 105 | views: { |
| 106 | 106 | "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-detail2.html'} |
| 107 | 107 | }, |
| ... | ... | @@ -120,7 +120,7 @@ ScheduleApp.config([ |
| 120 | 120 | } |
| 121 | 121 | }) |
| 122 | 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 | 124 | views: { |
| 125 | 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 | 3 | 'TimeTableDetailManageService_old', |
| 4 | 4 | [ |
| 5 | 5 | 'TimeTableDetailManageService_g', |
| 6 | + 'TTInfoManageService_g', | |
| 6 | 7 | '$state', |
| 7 | 8 | '$q', |
| 8 | 9 | 'SaTimeTableUtils', |
| 9 | - function(service, $state, $q, SaTimeTableUtils) { | |
| 10 | + function(service, service2, $state, $q, SaTimeTableUtils) { | |
| 10 | 11 | |
| 11 | 12 | // 查询对象类 |
| 12 | 13 | var queryClass = service.rest; |
| ... | ... | @@ -206,8 +207,20 @@ angular.module('ScheduleApp').factory( |
| 206 | 207 | } |
| 207 | 208 | |
| 208 | 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 | 228 | ] |
| 216 | 229 | ); |
| 217 | 230 | |
| 218 | -// edit.html 时刻表编辑界面 | |
| 231 | +// edit.html 时刻表表格编辑界面 | |
| 219 | 232 | angular.module('ScheduleApp').controller( |
| 220 | 233 | 'TimeTableDetailManageCtrl_old', |
| 221 | 234 | [ |
| ... | ... | @@ -232,8 +245,17 @@ angular.module('ScheduleApp').controller( |
| 232 | 245 | self.xlname = $stateParams.xlname; // 获取传过来的线路名字 |
| 233 | 246 | self.ttname = $stateParams.ttname; // 获取传过来的时刻表名字 |
| 234 | 247 | self.rflag = $stateParams.rflag; // 刷新标志 |
| 248 | + self.lineversion = $stateParams.lineversion; // 线路版本 | |
| 235 | 249 | |
| 236 | 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 | 261 | self.getDetailHeads = function() { |
| ... | ... | @@ -304,7 +326,8 @@ angular.module('ScheduleApp').controller( |
| 304 | 326 | xlname: self.xlname, |
| 305 | 327 | ttname: self.ttname, |
| 306 | 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 | 336 | self.editInfos = function() { |
| 314 | 337 | if (!service.editIsSel()) { |
| 315 | 338 | alert("请选择班次信息"); |
| 316 | - return; | |
| 317 | 339 | } else { |
| 318 | 340 | $state.go("ttInfoDetailManage_detail_edit2", { |
| 319 | 341 | xlid: self.xlid, |
| 320 | 342 | ttid: self.ttid, |
| 321 | 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 | 354 | xlid: self.xlid, |
| 332 | 355 | ttid: self.ttid, |
| 333 | 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 | 370 | xlid: self.xlid, |
| 347 | 371 | ttid: self.ttid, |
| 348 | 372 | xlname: self.xlname, |
| 349 | - ttname: self.ttname | |
| 373 | + ttname: self.ttname, | |
| 374 | + lineversion: self.lineversion | |
| 350 | 375 | }); |
| 351 | 376 | }, function() { |
| 352 | 377 | alert("批量删除失败!"); |
| ... | ... | @@ -354,7 +379,8 @@ angular.module('ScheduleApp').controller( |
| 354 | 379 | xlid: self.xlid, |
| 355 | 380 | ttid: self.ttid, |
| 356 | 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 | 493 | self.ttname = $stateParams.ttname; // 获取传过来的时刻表名字 |
| 468 | 494 | self.rowindex = $stateParams.rowindex; // 修改的第几行 |
| 469 | 495 | self.colindex = $stateParams.colindex; // 修改的第几列 |
| 496 | + self.lineversion = $stateParams.lineversion; // 线路版本 | |
| 470 | 497 | |
| 471 | 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 | 506 | if (id) { |
| 474 | 507 | TTInfoDetail.get({id: id}, function(value) { |
| ... | ... | @@ -491,6 +524,7 @@ angular.module('ScheduleApp').controller( |
| 491 | 524 | self.ttname |
| 492 | 525 | ); |
| 493 | 526 | |
| 527 | + self.TimeTableDetailForSave.lineVersion = self.lineversion; | |
| 494 | 528 | self.TimeTableDetailForSave.isTS = 0; |
| 495 | 529 | self.title2 = |
| 496 | 530 | self.xlname + "(" + self.ttname + ")" + "时刻表明细信息" + |
| ... | ... | @@ -531,7 +565,8 @@ angular.module('ScheduleApp').controller( |
| 531 | 565 | xlid: self.xlid, |
| 532 | 566 | ttid: self.ttid, |
| 533 | 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 | 590 | self.ttid = $stateParams.ttid; // 获取传过来的时刻表id |
| 556 | 591 | self.xlname = $stateParams.xlname; // 获取传过来的线路名字 |
| 557 | 592 | self.ttname = $stateParams.ttname; // 获取传过来的时刻表名字 |
| 593 | + self.lineversion = $stateParams.lineversion; // 线路版本 | |
| 558 | 594 | |
| 559 | 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 | 603 | //var TTInfoDetail = service.getQueryClass(); |
| 562 | 604 | |
| ... | ... | @@ -663,7 +705,8 @@ angular.module('ScheduleApp').controller( |
| 663 | 705 | xlid: self.xlid, |
| 664 | 706 | ttid: self.ttid, |
| 665 | 707 | xlname: self.xlname, |
| 666 | - ttname: self.ttname | |
| 708 | + ttname: self.ttname, | |
| 709 | + lineversion: self.lineversion | |
| 667 | 710 | }); |
| 668 | 711 | }, function() { |
| 669 | 712 | alert("批量更新失败!"); |
| ... | ... | @@ -671,7 +714,8 @@ angular.module('ScheduleApp').controller( |
| 671 | 714 | xlid: self.xlid, |
| 672 | 715 | ttid: self.ttid, |
| 673 | 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 | 725 | ] |
| 682 | 726 | ); |
| 683 | 727 | |
| 684 | -// edit-mulselect.html 具体班次明细修改页面 | |
| 728 | +// edit-mulselect.html 班次批量选择页面 | |
| 685 | 729 | angular.module('ScheduleApp').controller( |
| 686 | 730 | 'TimeTableDetailManageFormCtrl_mulselect', |
| 687 | 731 | [ |
| ... | ... | @@ -696,6 +740,7 @@ angular.module('ScheduleApp').controller( |
| 696 | 740 | self.ttid = $stateParams.ttid; // 获取传过来的时刻表id |
| 697 | 741 | self.xlname = $stateParams.xlname; // 获取传过来的线路名字 |
| 698 | 742 | self.ttname = $stateParams.ttname; // 获取传过来的时刻表名字 |
| 743 | + self.lineversion = $stateParams.lineversion; // 线路版本 | |
| 699 | 744 | |
| 700 | 745 | self.title1 = self.xlname + "(" + self.ttname + ")" + "时刻表明细信息"; |
| 701 | 746 | |
| ... | ... | @@ -744,7 +789,8 @@ angular.module('ScheduleApp').controller( |
| 744 | 789 | xlid: self.xlid, |
| 745 | 790 | ttid: self.ttid, |
| 746 | 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 | 9 | <th style="width: 180px;">时刻表名称</th> |
| 10 | 10 | <th style="width: 80px">上下行</th> |
| 11 | 11 | <th style="width: 50px;">启用</th> |
| 12 | - <th style="width: 120px">启用/备份日期</th> | |
| 12 | + <th style="width: 130px">操作日期</th> | |
| 13 | 13 | <th style="width: 80px">状态</th> |
| 14 | 14 | <th style="width: 60%">时刻表明细</th> |
| 15 | 15 | <th style="width: 40%">操作</th> |
| ... | ... | @@ -69,7 +69,25 @@ |
| 69 | 69 | </div> |
| 70 | 70 | </td> |
| 71 | 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 | 91 | </td> |
| 74 | 92 | <td> |
| 75 | 93 | <div> |
| ... | ... | @@ -90,23 +108,62 @@ |
| 90 | 108 | </td> |
| 91 | 109 | <td> |
| 92 | 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 | 118 | </a> |
| 96 | 119 | </div> |
| 120 | + | |
| 97 | 121 | <div> |
| 98 | 122 | <a href="#" |
| 99 | 123 | tooltip-animation="false" |
| 100 | 124 | tooltip-placement="top" |
| 101 | 125 | uib-tooltip="备份时间:{{info.lastBackUpDate | date: 'yyyy-MM-dd HH:mm:ss' }}" |
| 102 | 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 | 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 | 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 | 167 | </td> |
| 111 | 168 | <td> |
| 112 | 169 | <span class="glyphicon glyphicon-ok" ng-if="info.isCancel == '0'"></span> |
| ... | ... | @@ -117,7 +174,7 @@ |
| 117 | 174 | <!--class="btn btn-info btn-sm" ng-if="info.isCancel == '0'"> 编辑 </a>--> |
| 118 | 175 | <!--<a ui-sref="ttInfoDetailManage_edit2({xlid: info.xl.id, ttid : info.id, xlname: info.xl.name, ttname : info.name})"--> |
| 119 | 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 | 178 | class="btn btn-info btn-sm" ng-if="info.isCancel == '0'"> 编辑 </a> |
| 122 | 179 | <a ng-click="ctrl.toTtInfoDetailAuto(info.id)" |
| 123 | 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 | 80 | var param = {}; |
| 81 | 81 | param.ttinfoid = ttinfoid; |
| 82 | 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 | 184 | |
| 172 | 185 | self.doPage(); |
| 173 | 186 | |
| 174 | - // 自动生成时刻表 | |
| 187 | + // TODO:跳转到自动生成时刻表页面(jquery页面),之后会替换为Angularjs版本 | |
| 175 | 188 | self.toTtInfoDetailAuto = function(ttinfoid) { |
| 176 | 189 | showPjax(); |
| 177 | 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 | 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 | 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 | 34 | |
| 35 | 35 | // list |
| 36 | 36 | repeated TTInfoDetail bcInfo = 17; |
| 37 | + | |
| 38 | + uint32 lineVersion = 18; // 线路版本 | |
| 37 | 39 | } |
| 38 | 40 | |
| 39 | 41 | message TTInfoDetail { |
| ... | ... | @@ -64,6 +66,7 @@ message TTInfoDetail { |
| 64 | 66 | bool isTS = 18; // 是否停驶(表示此班次执行完成,停在终点站,不进场) |
| 65 | 67 | string remark = 19; // 备注 |
| 66 | 68 | |
| 69 | + uint32 lineVersion = 20; // 线路版本 | |
| 67 | 70 | } |
| 68 | 71 | |
| 69 | 72 | ... | ... |