Commit c66ee69bf74d60263550536ac414d66fce9a3b13

Authored by 徐烜
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&lt;TTInfo, Long&gt; { @@ -72,6 +36,25 @@ public class TTInfoController extends BController&lt;TTInfo, Long&gt; {
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&lt;TTInfoDetail, Long&gt; { @@ -108,10 +108,10 @@ public class TTInfoDetailController extends BController&lt;TTInfoDetail, Long&gt; {
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&lt;TTInfoDetail, Long&gt; { @@ -54,5 +54,5 @@ public interface TTInfoDetailService extends BService&lt;TTInfoDetail, Long&gt; {
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&lt;TTInfo, Long&gt; { @@ -14,4 +17,8 @@ public interface TTInfoService extends BService&lt;TTInfo, Long&gt; {
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&lt;TTInfoDetail, Long&gt; im @@ -94,17 +94,17 @@ public class TTInfoDetailServiceImpl extends BServiceImpl&lt;TTInfoDetail, Long&gt; 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&lt;TTInfo, Long&gt; implements TTI @@ -40,6 +40,8 @@ public class TTInfoServiceImpl extends BServiceImpl&lt;TTInfo, Long&gt; 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&lt;TTInfo, Long&gt; implements TTI @@ -137,7 +139,70 @@ public class TTInfoServiceImpl extends BServiceImpl&lt;TTInfo, Long&gt; 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&lt;TTInfo, Long&gt; implements TTI @@ -165,6 +230,7 @@ public class TTInfoServiceImpl extends BServiceImpl&lt;TTInfo, Long&gt; 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(&#39;ScheduleApp&#39;).factory( @@ -727,6 +727,24 @@ angular.module(&#39;ScheduleApp&#39;).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(&#39;ScheduleApp&#39;).factory( @@ -3,10 +3,11 @@ angular.module(&#39;ScheduleApp&#39;).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(&#39;ScheduleApp&#39;).factory( @@ -206,8 +207,20 @@ angular.module(&#39;ScheduleApp&#39;).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(&#39;ScheduleApp&#39;).factory( @@ -215,7 +228,7 @@ angular.module(&#39;ScheduleApp&#39;).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(&#39;ScheduleApp&#39;).controller( @@ -232,8 +245,17 @@ angular.module(&#39;ScheduleApp&#39;).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(&#39;ScheduleApp&#39;).controller( @@ -304,7 +326,8 @@ angular.module(&#39;ScheduleApp&#39;).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(&#39;ScheduleApp&#39;).controller( @@ -313,13 +336,13 @@ angular.module(&#39;ScheduleApp&#39;).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(&#39;ScheduleApp&#39;).controller( @@ -331,7 +354,8 @@ angular.module(&#39;ScheduleApp&#39;).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(&#39;ScheduleApp&#39;).controller( @@ -346,7 +370,8 @@ angular.module(&#39;ScheduleApp&#39;).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(&#39;ScheduleApp&#39;).controller( @@ -354,7 +379,8 @@ angular.module(&#39;ScheduleApp&#39;).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(&#39;ScheduleApp&#39;).controller( @@ -467,8 +493,15 @@ angular.module(&#39;ScheduleApp&#39;).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(&#39;ScheduleApp&#39;).controller( @@ -491,6 +524,7 @@ angular.module(&#39;ScheduleApp&#39;).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(&#39;ScheduleApp&#39;).controller( @@ -531,7 +565,8 @@ angular.module(&#39;ScheduleApp&#39;).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(&#39;ScheduleApp&#39;).controller( @@ -555,8 +590,15 @@ angular.module(&#39;ScheduleApp&#39;).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(&#39;ScheduleApp&#39;).controller( @@ -663,7 +705,8 @@ angular.module(&#39;ScheduleApp&#39;).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(&#39;ScheduleApp&#39;).controller( @@ -671,7 +714,8 @@ angular.module(&#39;ScheduleApp&#39;).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(&#39;ScheduleApp&#39;).controller( @@ -681,7 +725,7 @@ angular.module(&#39;ScheduleApp&#39;).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(&#39;ScheduleApp&#39;).controller( @@ -696,6 +740,7 @@ angular.module(&#39;ScheduleApp&#39;).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(&#39;ScheduleApp&#39;).controller( @@ -744,7 +789,8 @@ angular.module(&#39;ScheduleApp&#39;).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(&#39;ScheduleApp&#39;).factory( @@ -80,6 +80,19 @@ angular.module(&#39;ScheduleApp&#39;).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(&#39;ScheduleApp&#39;).controller( @@ -171,12 +184,26 @@ angular.module(&#39;ScheduleApp&#39;).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(&#39;ScheduleApp&#39;).factory( @@ -53,6 +53,24 @@ angular.module(&#39;ScheduleApp&#39;).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