Commit 964e396bb1b5477ea2cd1a5a515811dd985d2efa
Merge branch 'minhang' of http://222.66.0.204:8090/panzhaov5/bsth_control into minhang
Showing
27 changed files
with
1608 additions
and
95 deletions
src/main/java/com/bsth/controller/BaseController.java
| @@ -9,6 +9,7 @@ import org.springframework.data.domain.Page; | @@ -9,6 +9,7 @@ import org.springframework.data.domain.Page; | ||
| 9 | import org.springframework.data.domain.PageRequest; | 9 | import org.springframework.data.domain.PageRequest; |
| 10 | import org.springframework.data.domain.Sort; | 10 | import org.springframework.data.domain.Sort; |
| 11 | import org.springframework.data.domain.Sort.Direction; | 11 | import org.springframework.data.domain.Sort.Direction; |
| 12 | +import org.springframework.util.CollectionUtils; | ||
| 12 | import org.springframework.web.bind.annotation.PathVariable; | 13 | import org.springframework.web.bind.annotation.PathVariable; |
| 13 | import org.springframework.web.bind.annotation.RequestMapping; | 14 | import org.springframework.web.bind.annotation.RequestMapping; |
| 14 | import org.springframework.web.bind.annotation.RequestMethod; | 15 | import org.springframework.web.bind.annotation.RequestMethod; |
| @@ -167,11 +168,24 @@ public class BaseController<T, ID extends Serializable> { | @@ -167,11 +168,24 @@ public class BaseController<T, ID extends Serializable> { | ||
| 167 | */ | 168 | */ |
| 168 | @RequestMapping(value = "/dataExport", method = RequestMethod.GET) | 169 | @RequestMapping(value = "/dataExport", method = RequestMethod.GET) |
| 169 | public void dataExport(HttpServletResponse response) throws Exception { | 170 | public void dataExport(HttpServletResponse response) throws Exception { |
| 171 | + dataExport(response, null); | ||
| 172 | + } | ||
| 173 | + | ||
| 174 | + @RequestMapping(value = "/dataExportExt", method = RequestMethod.GET) | ||
| 175 | + public void dataExport(HttpServletResponse response, @RequestParam Map<String, Object> param) throws Exception { | ||
| 170 | // 1、使用ktr转换获取输出文件 | 176 | // 1、使用ktr转换获取输出文件 |
| 171 | File ktrfile = new File(this.getClass().getResource(getDataExportKtrClasspath()).toURI()); | 177 | File ktrfile = new File(this.getClass().getResource(getDataExportKtrClasspath()).toURI()); |
| 172 | - File outputfile = dataImportExportService.fileDataOutput( | ||
| 173 | - getDataExportFilename(), | ||
| 174 | - ktrfile); | 178 | + File outputfile = null; |
| 179 | + if (!CollectionUtils.isEmpty(param)) { | ||
| 180 | + outputfile = dataImportExportService.fileDataOutput( | ||
| 181 | + getDataExportFilename(), | ||
| 182 | + ktrfile, | ||
| 183 | + param); | ||
| 184 | + } else { | ||
| 185 | + outputfile = dataImportExportService.fileDataOutput( | ||
| 186 | + getDataExportFilename(), | ||
| 187 | + ktrfile); | ||
| 188 | + } | ||
| 175 | 189 | ||
| 176 | System.out.println(outputfile.getName()); | 190 | System.out.println(outputfile.getName()); |
| 177 | String filePath = outputfile.getAbsolutePath(); | 191 | String filePath = outputfile.getAbsolutePath(); |
src/main/java/com/bsth/controller/schedule/TTInfoDetailController.java
| @@ -14,6 +14,7 @@ import com.bsth.service.StationRouteService; | @@ -14,6 +14,7 @@ import com.bsth.service.StationRouteService; | ||
| 14 | import com.bsth.service.schedule.GuideboardInfoService; | 14 | import com.bsth.service.schedule.GuideboardInfoService; |
| 15 | import com.bsth.service.schedule.TTInfoDetailService; | 15 | import com.bsth.service.schedule.TTInfoDetailService; |
| 16 | import com.bsth.service.schedule.utils.DataImportExportService; | 16 | import com.bsth.service.schedule.utils.DataImportExportService; |
| 17 | +import com.bsth.service.schedule.utils.DataToolsProperties; | ||
| 17 | import jxl.Cell; | 18 | import jxl.Cell; |
| 18 | import jxl.Sheet; | 19 | import jxl.Sheet; |
| 19 | import jxl.Workbook; | 20 | import jxl.Workbook; |
| @@ -26,6 +27,7 @@ import org.springframework.util.CollectionUtils; | @@ -26,6 +27,7 @@ import org.springframework.util.CollectionUtils; | ||
| 26 | import org.springframework.web.bind.annotation.*; | 27 | import org.springframework.web.bind.annotation.*; |
| 27 | import org.springframework.web.multipart.MultipartFile; | 28 | import org.springframework.web.multipart.MultipartFile; |
| 28 | 29 | ||
| 30 | +import javax.servlet.http.HttpServletResponse; | ||
| 29 | import java.io.File; | 31 | import java.io.File; |
| 30 | import java.util.*; | 32 | import java.util.*; |
| 31 | import java.util.regex.Matcher; | 33 | import java.util.regex.Matcher; |
| @@ -51,6 +53,8 @@ public class TTInfoDetailController extends BaseController<TTInfoDetail, Long> { | @@ -51,6 +53,8 @@ public class TTInfoDetailController extends BaseController<TTInfoDetail, Long> { | ||
| 51 | private StationRouteService stationRouteService; | 53 | private StationRouteService stationRouteService; |
| 52 | @Autowired | 54 | @Autowired |
| 53 | private GuideboardInfoService guideboardInfoService; | 55 | private GuideboardInfoService guideboardInfoService; |
| 56 | + @Autowired | ||
| 57 | + private DataToolsProperties dataToolsProperties; | ||
| 54 | 58 | ||
| 55 | 59 | ||
| 56 | public static class ExcelFileOutput { | 60 | public static class ExcelFileOutput { |
| @@ -126,11 +130,15 @@ public class TTInfoDetailController extends BaseController<TTInfoDetail, Long> { | @@ -126,11 +130,15 @@ public class TTInfoDetailController extends BaseController<TTInfoDetail, Long> { | ||
| 126 | Cell[] cells = sheet.getRow(0); // 获取第一行数据列 | 130 | Cell[] cells = sheet.getRow(0); // 获取第一行数据列 |
| 127 | for (int i = 0; i < cells.length; i++) { | 131 | for (int i = 0; i < cells.length; i++) { |
| 128 | String cell_con = cells[i].getContents(); | 132 | String cell_con = cells[i].getContents(); |
| 133 | + | ||
| 129 | if (StringUtils.isEmpty(cell_con)) { | 134 | if (StringUtils.isEmpty(cell_con)) { |
| 130 | rtn.put("status", ResponseCode.ERROR); | 135 | rtn.put("status", ResponseCode.ERROR); |
| 131 | rtn.put("msg", String.format("第1行,第%d列数据不能为空", i + 1)); | 136 | rtn.put("msg", String.format("第1行,第%d列数据不能为空", i + 1)); |
| 132 | return rtn; | 137 | return rtn; |
| 133 | } else { | 138 | } else { |
| 139 | + // 正则表达式去除数字 | ||
| 140 | + cell_con = cell_con.replaceAll("[\\d+]", ""); | ||
| 141 | + | ||
| 134 | if (i == 0) { // 第一列必须是路牌2个字 | 142 | if (i == 0) { // 第一列必须是路牌2个字 |
| 135 | if (!"路牌".equals(cell_con.trim())) { | 143 | if (!"路牌".equals(cell_con.trim())) { |
| 136 | rtn.put("status", ResponseCode.ERROR); | 144 | rtn.put("status", ResponseCode.ERROR); |
| @@ -457,4 +465,25 @@ public class TTInfoDetailController extends BaseController<TTInfoDetail, Long> { | @@ -457,4 +465,25 @@ public class TTInfoDetailController extends BaseController<TTInfoDetail, Long> { | ||
| 457 | public List<TTInfoDetail> findBcdetails(Integer xlId, Long ttinfoId, Long lpId) { | 465 | public List<TTInfoDetail> findBcdetails(Integer xlId, Long ttinfoId, Long lpId) { |
| 458 | return ttInfoDetailRepository.findBcdetails(xlId, ttinfoId, lpId); | 466 | return ttInfoDetailRepository.findBcdetails(xlId, ttinfoId, lpId); |
| 459 | } | 467 | } |
| 468 | + | ||
| 469 | + @Override | ||
| 470 | + public void dataExport(HttpServletResponse response, @RequestParam Map<String, Object> param) throws Exception { | ||
| 471 | + // 获取injectktr | ||
| 472 | + File ktrFile2 = new File(this.getClass().getResource( | ||
| 473 | + dataToolsProperties.getTtinfodetailOutput()).toURI()); | ||
| 474 | + param.put("injectktrfile", ktrFile2.getAbsolutePath()); | ||
| 475 | + param.put("ttinfoid", param.get("ttinfoid")); | ||
| 476 | + | ||
| 477 | + super.dataExport(response, param); | ||
| 478 | + } | ||
| 479 | + | ||
| 480 | + @Override | ||
| 481 | + protected String getDataExportKtrClasspath() { | ||
| 482 | + return dataToolsProperties.getTtinfodetailMetaoutput(); | ||
| 483 | + } | ||
| 484 | + | ||
| 485 | + @Override | ||
| 486 | + protected String getDataExportFilename() { | ||
| 487 | + return "时刻表"; | ||
| 488 | + } | ||
| 460 | } | 489 | } |
src/main/java/com/bsth/entity/Station.java
| @@ -97,7 +97,16 @@ public class Station { | @@ -97,7 +97,16 @@ public class Station { | ||
| 97 | 97 | ||
| 98 | // 版本号 | 98 | // 版本号 |
| 99 | private Integer versions; | 99 | private Integer versions; |
| 100 | - | 100 | + |
| 101 | + /** 是否有电子站牌 这里是老调度系统的原始字段,暂时保留该字段。 */ | ||
| 102 | + private Integer isHaveLed; | ||
| 103 | + | ||
| 104 | + /** 是否有候车亭 这里是老调度系统的原始字段,暂时保留该字段。*/ | ||
| 105 | + private Integer isHaveShelter; | ||
| 106 | + | ||
| 107 | + /** 是否港湾式公交站 这里是老调度系统的原始字段,暂时保留该字段。*/ | ||
| 108 | + private Integer isHarbourStation; | ||
| 109 | + | ||
| 101 | // 描述 | 110 | // 描述 |
| 102 | private String descriptions; | 111 | private String descriptions; |
| 103 | 112 | ||
| @@ -115,6 +124,30 @@ public class Station { | @@ -115,6 +124,30 @@ public class Station { | ||
| 115 | @Column(name = "update_date", columnDefinition = "timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP") | 124 | @Column(name = "update_date", columnDefinition = "timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP") |
| 116 | private Date updateDate; | 125 | private Date updateDate; |
| 117 | 126 | ||
| 127 | + public Integer getIsHaveLed() { | ||
| 128 | + return isHaveLed; | ||
| 129 | + } | ||
| 130 | + | ||
| 131 | + public void setIsHaveLed(Integer isHaveLed) { | ||
| 132 | + this.isHaveLed = isHaveLed; | ||
| 133 | + } | ||
| 134 | + | ||
| 135 | + public Integer getIsHaveShelter() { | ||
| 136 | + return isHaveShelter; | ||
| 137 | + } | ||
| 138 | + | ||
| 139 | + public void setIsHaveShelter(Integer isHaveShelter) { | ||
| 140 | + this.isHaveShelter = isHaveShelter; | ||
| 141 | + } | ||
| 142 | + | ||
| 143 | + public Integer getIsHarbourStation() { | ||
| 144 | + return isHarbourStation; | ||
| 145 | + } | ||
| 146 | + | ||
| 147 | + public void setIsHarbourStation(Integer isHarbourStation) { | ||
| 148 | + this.isHarbourStation = isHarbourStation; | ||
| 149 | + } | ||
| 150 | + | ||
| 118 | public String getAddr() { | 151 | public String getAddr() { |
| 119 | return addr; | 152 | return addr; |
| 120 | } | 153 | } |
src/main/java/com/bsth/repository/CarParkRepository.java
| @@ -33,9 +33,9 @@ public interface CarParkRepository extends BaseRepository<CarPark, Integer>{ | @@ -33,9 +33,9 @@ public interface CarParkRepository extends BaseRepository<CarPark, Integer>{ | ||
| 33 | 33 | ||
| 34 | "?6 , str_to_date(?7,'%Y-%m-%d %H:%i:%s') , ?8 , ?9 , ?10," + | 34 | "?6 , str_to_date(?7,'%Y-%m-%d %H:%i:%s') , ?8 , ?9 , ?10," + |
| 35 | 35 | ||
| 36 | - "str_to_date(?11,'%Y-%m-%d %H:%i:%s'), ?12 ,?13,GeomFromText(?14), ?15, " + | 36 | + "str_to_date(?11,'%Y-%m-%d %H:%i:%s'), ?12 ,?13,ST_GeomFromText(?14), ?15, " + |
| 37 | 37 | ||
| 38 | - "?16, GeomFromText(?17), ?18,?19)", nativeQuery=true) | 38 | + "?16, ST_GeomFromText(?17), ?18,?19)", nativeQuery=true) |
| 39 | public void carParkSave(Double area,String company,String parkCode,String parkName, | 39 | public void carParkSave(Double area,String company,String parkCode,String parkName, |
| 40 | 40 | ||
| 41 | String brancheCompany,Integer createBy,String createDate,String descriptions,Integer destroy, | 41 | String brancheCompany,Integer createBy,String createDate,String descriptions,Integer destroy, |
| @@ -91,8 +91,8 @@ public interface CarParkRepository extends BaseRepository<CarPark, Integer>{ | @@ -91,8 +91,8 @@ public interface CarParkRepository extends BaseRepository<CarPark, Integer>{ | ||
| 91 | "versions = ?12 , " + | 91 | "versions = ?12 , " + |
| 92 | "b_center_point = ?13 , " + | 92 | "b_center_point = ?13 , " + |
| 93 | "g_center_point = ?14 , " + | 93 | "g_center_point = ?14 , " + |
| 94 | - "b_park_point = GeomFromText(?15) , " + | ||
| 95 | - "g_park_point = GeomFromText(?16) , " + | 94 | + "b_park_point = ST_GeomFromText(?15) , " + |
| 95 | + "g_park_point = ST_GeomFromText(?16) , " + | ||
| 96 | "db_type = ?17 , " + | 96 | "db_type = ?17 , " + |
| 97 | "radius = ?18 , " + | 97 | "radius = ?18 , " + |
| 98 | "shapes_type = ?19 " + | 98 | "shapes_type = ?19 " + |
src/main/java/com/bsth/repository/SectionRepository.java
| @@ -83,33 +83,32 @@ public interface SectionRepository extends BaseRepository<Section, Integer> { | @@ -83,33 +83,32 @@ public interface SectionRepository extends BaseRepository<Section, Integer> { | ||
| 83 | @Transactional | 83 | @Transactional |
| 84 | @Modifying | 84 | @Modifying |
| 85 | @Query(value="UPDATE bsth_c_section SET " + | 85 | @Query(value="UPDATE bsth_c_section SET " + |
| 86 | - "gsection_vector = ST_GeomFromText(?2) , " + | ||
| 87 | - "bsection_vector = ST_GeomFromText(?3)," + | ||
| 88 | - "section_code = ?4," + | ||
| 89 | - "section_name = ?5," + | ||
| 90 | - "croses_road = ?6," + | ||
| 91 | - "end_node = ?7," + | ||
| 92 | - "start_node = ?8," + | ||
| 93 | - "middle_node = ?9," + | ||
| 94 | - "section_type = ?10," + | ||
| 95 | - "csection_vector = ?11," + | ||
| 96 | - "road_coding = ?12," + | ||
| 97 | - "section_distance = ?13," + | ||
| 98 | - "section_time = ?14," + | ||
| 99 | - "db_type = ?15," + | ||
| 100 | - "speed_limit = ?16," + | ||
| 101 | - "descriptions = ?17," + | ||
| 102 | - "versions = ?18," + | ||
| 103 | - "create_by = ?19," + | ||
| 104 | - "create_date = str_to_date(?20,'%Y-%m-%d %H:%i:%s')," + | ||
| 105 | - "update_by = ?21," + | ||
| 106 | - "update_date = str_to_date(?22,'%Y-%m-%d %H:%i:%s')" + | 86 | + " gsection_vector = ST_GeomFromText(?2) , " + |
| 87 | + " bsection_vector = ST_GeomFromText(?3)," + | ||
| 88 | + " section_code = ?4," + | ||
| 89 | + " section_name = ?5," + | ||
| 90 | + " croses_road = ?6," + | ||
| 91 | + " end_node = ?7," + | ||
| 92 | + " start_node = ?8," + | ||
| 93 | + " middle_node = ?9," + | ||
| 94 | + " section_type = ?10," + | ||
| 95 | + " road_coding = ?11," + | ||
| 96 | + " section_distance = ?12," + | ||
| 97 | + " section_time = ?13," + | ||
| 98 | + " db_type = ?14," + | ||
| 99 | + " speed_limit = ?15," + | ||
| 100 | + " descriptions = ?16," + | ||
| 101 | + " versions = ?17," + | ||
| 102 | + " create_by = ?18," + | ||
| 103 | + " create_date = str_to_date(?19,'%Y-%m-%d %H:%i:%s')," + | ||
| 104 | + " update_by = ?20," + | ||
| 105 | + " update_date = str_to_date(?21,'%Y-%m-%d %H:%i:%s')" + | ||
| 107 | " WHERE id = ?1", nativeQuery=true) | 106 | " WHERE id = ?1", nativeQuery=true) |
| 108 | public void sectionUpdate(Integer sectionId,String gsectionVector,String bsectionVector,String sectionCode,String sectionName, | 107 | public void sectionUpdate(Integer sectionId,String gsectionVector,String bsectionVector,String sectionCode,String sectionName, |
| 109 | 108 | ||
| 110 | String crosesRoad,String endNode,String startNode,String middleNode,String sectionType, | 109 | String crosesRoad,String endNode,String startNode,String middleNode,String sectionType, |
| 111 | 110 | ||
| 112 | - String csectionVector,String roadCoding,Double sectionDistance,Double sectionTime,String dbType, | 111 | + String roadCoding,Double sectionDistance,Double sectionTime,String dbType, |
| 113 | 112 | ||
| 114 | Double speedLimit,String descriptions,Integer version,Integer createBy,String createDate, | 113 | Double speedLimit,String descriptions,Integer version,Integer createBy,String createDate, |
| 115 | 114 |
src/main/java/com/bsth/repository/SectionRouteRepository.java
| @@ -69,7 +69,7 @@ public interface SectionRouteRepository extends BaseRepository<SectionRoute, Int | @@ -69,7 +69,7 @@ public interface SectionRouteRepository extends BaseRepository<SectionRoute, Int | ||
| 69 | "r.versions AS versions," + | 69 | "r.versions AS versions," + |
| 70 | "r.descriptions AS descriptions" + | 70 | "r.descriptions AS descriptions" + |
| 71 | " FROM bsth_c_sectionroute r where r.line = ?1 and r.directions = ?2 and r.destroy=0 ) a " + | 71 | " FROM bsth_c_sectionroute r where r.line = ?1 and r.directions = ?2 and r.destroy=0 ) a " + |
| 72 | - " LEFT JOIN bsth_c_section b ON a.sectionrouteSection = b.id", nativeQuery=true) | 72 | + " LEFT JOIN bsth_c_section b ON a.sectionrouteSection = b.id order by a.sectionrouteCode asc", nativeQuery=true) |
| 73 | List<Object[]> getSectionRoute(int lineId, int directions); | 73 | List<Object[]> getSectionRoute(int lineId, int directions); |
| 74 | 74 | ||
| 75 | 75 |
src/main/java/com/bsth/repository/StationRouteRepository.java
| @@ -110,9 +110,12 @@ public interface StationRouteRepository extends BaseRepository<StationRoute, Int | @@ -110,9 +110,12 @@ public interface StationRouteRepository extends BaseRepository<StationRoute, Int | ||
| 110 | * | 110 | * |
| 111 | * @return List<Object[]> | 111 | * @return List<Object[]> |
| 112 | */ | 112 | */ |
| 113 | - @Query(value = "SELECT s.b_jwpoints,s.station_name FROM (" + | 113 | + /*@Query(value = "SELECT s.b_jwpoints,s.station_name FROM (" + |
| 114 | "SELECT b.station FROM bsth_c_stationroute b where b.line =?1 and b.directions = ?2 and b.destroy=0) r " + | 114 | "SELECT b.station FROM bsth_c_stationroute b where b.line =?1 and b.directions = ?2 and b.destroy=0) r " + |
| 115 | - "LEFT JOIN bsth_c_station s on r.station = s.id", nativeQuery=true) | 115 | + "LEFT JOIN bsth_c_station s on r.station = s.id", nativeQuery=true)*/ |
| 116 | + @Query(value = "SELECT s.b_jwpoints,s.station_name,r.station_route_code FROM (" + | ||
| 117 | + "SELECT b.station,b.station_route_code FROM bsth_c_stationroute b where b.line =?1 and b.directions = ?2 and b.destroy=0) r " + | ||
| 118 | + "LEFT JOIN bsth_c_station s on r.station = s.id order by r.station_route_code asc", nativeQuery=true) | ||
| 116 | List<Object[]> getSelectStationRouteCenterPoints(Integer lineId,Integer direction); | 119 | List<Object[]> getSelectStationRouteCenterPoints(Integer lineId,Integer direction); |
| 117 | 120 | ||
| 118 | /** | 121 | /** |
src/main/java/com/bsth/service/impl/CarParkServiceImpl.java
| @@ -75,9 +75,19 @@ public class CarParkServiceImpl extends BaseServiceImpl<CarPark, Integer> implem | @@ -75,9 +75,19 @@ public class CarParkServiceImpl extends BaseServiceImpl<CarPark, Integer> implem | ||
| 75 | 75 | ||
| 76 | } | 76 | } |
| 77 | 77 | ||
| 78 | - bParkPoint = "POLYGON((" + bParkPoint +"))"; | 78 | + if(bParkPoint.equals("")) |
| 79 | + bParkPoint = null; | ||
| 80 | + else | ||
| 81 | + bParkPoint = "POLYGON((" + bParkPoint +"))"; | ||
| 82 | + | ||
| 83 | + if(gParkPoint.equals("")) | ||
| 84 | + gParkPoint = null; | ||
| 85 | + else | ||
| 86 | + gParkPoint = "POLYGON((" + gParkPoint +"))"; | ||
| 79 | 87 | ||
| 80 | - gParkPoint = "POLYGON((" + gParkPoint +"))"; | 88 | + /*bParkPoint = "POLYGON((" + bParkPoint +"))"; |
| 89 | + | ||
| 90 | + gParkPoint = "POLYGON((" + gParkPoint +"))";*/ | ||
| 81 | 91 | ||
| 82 | // 地理位置中心点(百度坐标) | 92 | // 地理位置中心点(百度坐标) |
| 83 | String bCenterPoint = map.get("bCenterPoint").equals("") ? "" : map.get("bCenterPoint").toString(); | 93 | String bCenterPoint = map.get("bCenterPoint").equals("") ? "" : map.get("bCenterPoint").toString(); |
| @@ -93,7 +103,7 @@ public class CarParkServiceImpl extends BaseServiceImpl<CarPark, Integer> implem | @@ -93,7 +103,7 @@ public class CarParkServiceImpl extends BaseServiceImpl<CarPark, Integer> implem | ||
| 93 | 103 | ||
| 94 | } | 104 | } |
| 95 | 105 | ||
| 96 | - String gCenterPoint = ""; | 106 | + String gCenterPoint = null; |
| 97 | 107 | ||
| 98 | if(bJwpointsArray.length>0) { | 108 | if(bJwpointsArray.length>0) { |
| 99 | 109 | ||
| @@ -147,6 +157,9 @@ public class CarParkServiceImpl extends BaseServiceImpl<CarPark, Integer> implem | @@ -147,6 +157,9 @@ public class CarParkServiceImpl extends BaseServiceImpl<CarPark, Integer> implem | ||
| 147 | // 修改人 | 157 | // 修改人 |
| 148 | Integer updateBy = map.get("updateBy").equals("") ? null : Integer.parseInt(map.get("updateBy").toString()); | 158 | Integer updateBy = map.get("updateBy").equals("") ? null : Integer.parseInt(map.get("updateBy").toString()); |
| 149 | 159 | ||
| 160 | + | ||
| 161 | + | ||
| 162 | + | ||
| 150 | carParkRepository.carParkSave(area, company, parkCode, parkName, | 163 | carParkRepository.carParkSave(area, company, parkCode, parkName, |
| 151 | 164 | ||
| 152 | brancheCompany, createBy, createDate, descriptions, destroy, | 165 | brancheCompany, createBy, createDate, descriptions, destroy, |
| @@ -296,7 +309,7 @@ public class CarParkServiceImpl extends BaseServiceImpl<CarPark, Integer> implem | @@ -296,7 +309,7 @@ public class CarParkServiceImpl extends BaseServiceImpl<CarPark, Integer> implem | ||
| 296 | 309 | ||
| 297 | } | 310 | } |
| 298 | 311 | ||
| 299 | - String gCenterPoint = ""; | 312 | + String gCenterPoint =null; |
| 300 | 313 | ||
| 301 | if(bJwpointsArray.length>0) { | 314 | if(bJwpointsArray.length>0) { |
| 302 | 315 | ||
| @@ -337,10 +350,18 @@ public class CarParkServiceImpl extends BaseServiceImpl<CarPark, Integer> implem | @@ -337,10 +350,18 @@ public class CarParkServiceImpl extends BaseServiceImpl<CarPark, Integer> implem | ||
| 337 | } | 350 | } |
| 338 | 351 | ||
| 339 | } | 352 | } |
| 353 | + if(bParkPoint.equals("")) | ||
| 354 | + bParkPoint = null; | ||
| 355 | + else | ||
| 356 | + bParkPoint = "POLYGON((" + bParkPoint +"))"; | ||
| 357 | + | ||
| 358 | + if(gParkPoint.equals("")) | ||
| 359 | + gParkPoint = null; | ||
| 360 | + else | ||
| 361 | + gParkPoint = "POLYGON((" + gParkPoint +"))"; | ||
| 362 | + /*bParkPoint = "POLYGON((" + bParkPoint +"))"; | ||
| 340 | 363 | ||
| 341 | - bParkPoint = "POLYGON((" + bParkPoint +"))"; | ||
| 342 | - | ||
| 343 | - gParkPoint = "POLYGON((" + gParkPoint +"))"; | 364 | + gParkPoint = "POLYGON((" + gParkPoint +"))";*/ |
| 344 | 365 | ||
| 345 | // 编码 | 366 | // 编码 |
| 346 | String parkCode = map.get("parkCode").equals("") ? "" : map.get("parkCode").toString(); | 367 | String parkCode = map.get("parkCode").equals("") ? "" : map.get("parkCode").toString(); |
src/main/java/com/bsth/service/impl/SectionServiceImpl.java
| @@ -213,10 +213,11 @@ public class SectionServiceImpl extends BaseServiceImpl<Section, Integer> implem | @@ -213,10 +213,11 @@ public class SectionServiceImpl extends BaseServiceImpl<Section, Integer> implem | ||
| 213 | 213 | ||
| 214 | String sectionType=""; | 214 | String sectionType=""; |
| 215 | 215 | ||
| 216 | - String csectionVector=""; | 216 | + // String csectionVector=""; |
| 217 | 217 | ||
| 218 | // 更新 | 218 | // 更新 |
| 219 | - repository.sectionUpdate(sectionId, gsectionVector, bsectionVectorS, sectionCode, sectionName, crosesRoad, endNode, startNode, middleNode, sectionType, csectionVector, roadCoding, sectionDistance, sectionTime, dbType, speedLimit, descriptions, version, createBy, createDate, updateBy, updateDate); | 219 | + /*repository.sectionUpdate(sectionId, gsectionVector, bsectionVectorS, sectionCode, sectionName, crosesRoad, endNode, startNode, middleNode, sectionType, csectionVector, roadCoding, sectionDistance, sectionTime, dbType, speedLimit, descriptions, version, createBy, createDate, updateBy, updateDate);*/ |
| 220 | + repository.sectionUpdate(sectionId, gsectionVector, bsectionVectorS, sectionCode, sectionName, crosesRoad, endNode, startNode, middleNode, sectionType, roadCoding, sectionDistance, sectionTime, dbType, speedLimit, descriptions, version, createBy, createDate, updateBy, updateDate); | ||
| 220 | 221 | ||
| 221 | SectionRoute route = new SectionRoute(); | 222 | SectionRoute route = new SectionRoute(); |
| 222 | 223 | ||
| @@ -393,7 +394,7 @@ public class SectionServiceImpl extends BaseServiceImpl<Section, Integer> implem | @@ -393,7 +394,7 @@ public class SectionServiceImpl extends BaseServiceImpl<Section, Integer> implem | ||
| 393 | 394 | ||
| 394 | String sectionType=""; | 395 | String sectionType=""; |
| 395 | 396 | ||
| 396 | - String csectionVector=""; | 397 | + String csectionVector=null; |
| 397 | 398 | ||
| 398 | Integer id = Integer.valueOf(sectionCode); | 399 | Integer id = Integer.valueOf(sectionCode); |
| 399 | 400 |
src/main/java/com/bsth/service/impl/StationServiceImpl.java
| @@ -977,9 +977,9 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem | @@ -977,9 +977,9 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem | ||
| 977 | 977 | ||
| 978 | } | 978 | } |
| 979 | 979 | ||
| 980 | - bPloygonGrid = "POLYGON((" + bPloygonGrid +"))"; | 980 | + /* bPloygonGrid = "POLYGON((" + bPloygonGrid +"))"; |
| 981 | 981 | ||
| 982 | - gPloygonGrid = "POLYGON((" + gPloygonGrid +"))"; | 982 | + gPloygonGrid = "POLYGON((" + gPloygonGrid +"))";*/ |
| 983 | 983 | ||
| 984 | // 是否撤销 | 984 | // 是否撤销 |
| 985 | Integer destroy = map.get("destroy").equals("") ? null : Integer.parseInt(map.get("destroy").toString()); | 985 | Integer destroy = map.get("destroy").equals("") ? null : Integer.parseInt(map.get("destroy").toString()); |
src/main/java/com/bsth/service/schedule/utils/DataImportExportService.java
| @@ -3,6 +3,7 @@ package com.bsth.service.schedule.utils; | @@ -3,6 +3,7 @@ package com.bsth.service.schedule.utils; | ||
| 3 | import org.springframework.web.multipart.MultipartFile; | 3 | import org.springframework.web.multipart.MultipartFile; |
| 4 | 4 | ||
| 5 | import java.io.File; | 5 | import java.io.File; |
| 6 | +import java.util.Map; | ||
| 6 | 7 | ||
| 7 | /** | 8 | /** |
| 8 | * 数据导入导出服务。 | 9 | * 数据导入导出服务。 |
| @@ -32,4 +33,7 @@ public interface DataImportExportService { | @@ -32,4 +33,7 @@ public interface DataImportExportService { | ||
| 32 | * @throws Exception | 33 | * @throws Exception |
| 33 | */ | 34 | */ |
| 34 | File fileDataOutput(String fileName, File ktrFile) throws Exception; | 35 | File fileDataOutput(String fileName, File ktrFile) throws Exception; |
| 36 | + | ||
| 37 | + | ||
| 38 | + File fileDataOutput(String fileName, File ktrFile, Map<String, Object> param) throws Exception; | ||
| 35 | } | 39 | } |
src/main/java/com/bsth/service/schedule/utils/DataImportExportServiceImpl.java
| @@ -10,6 +10,7 @@ import org.springframework.beans.factory.InitializingBean; | @@ -10,6 +10,7 @@ import org.springframework.beans.factory.InitializingBean; | ||
| 10 | import org.springframework.beans.factory.annotation.Autowired; | 10 | import org.springframework.beans.factory.annotation.Autowired; |
| 11 | import org.springframework.boot.context.properties.EnableConfigurationProperties; | 11 | import org.springframework.boot.context.properties.EnableConfigurationProperties; |
| 12 | import org.springframework.stereotype.Service; | 12 | import org.springframework.stereotype.Service; |
| 13 | +import org.springframework.util.CollectionUtils; | ||
| 13 | import org.springframework.web.multipart.MultipartFile; | 14 | import org.springframework.web.multipart.MultipartFile; |
| 14 | 15 | ||
| 15 | import java.io.File; | 16 | import java.io.File; |
| @@ -111,6 +112,11 @@ public class DataImportExportServiceImpl implements DataImportExportService, Ini | @@ -111,6 +112,11 @@ public class DataImportExportServiceImpl implements DataImportExportService, Ini | ||
| 111 | 112 | ||
| 112 | @Override | 113 | @Override |
| 113 | public File fileDataOutput(String fileName, File ktrFile) throws Exception { | 114 | public File fileDataOutput(String fileName, File ktrFile) throws Exception { |
| 115 | + return fileDataOutput(fileName, ktrFile, null); | ||
| 116 | + } | ||
| 117 | + | ||
| 118 | + @Override | ||
| 119 | + public File fileDataOutput(String fileName, File ktrFile, Map<String, Object> param) throws Exception { | ||
| 114 | // 初始化转换,元数据,转换对象 | 120 | // 初始化转换,元数据,转换对象 |
| 115 | TransMeta transMeta = new TransMeta(ktrFile.getAbsolutePath()); | 121 | TransMeta transMeta = new TransMeta(ktrFile.getAbsolutePath()); |
| 116 | Trans trans = new Trans(transMeta); | 122 | Trans trans = new Trans(transMeta); |
| @@ -120,6 +126,14 @@ public class DataImportExportServiceImpl implements DataImportExportService, Ini | @@ -120,6 +126,14 @@ public class DataImportExportServiceImpl implements DataImportExportService, Ini | ||
| 120 | fileName + | 126 | fileName + |
| 121 | new DateTime().toString("yyyyMMddHHmmss") + ".xls"; | 127 | new DateTime().toString("yyyyMMddHHmmss") + ".xls"; |
| 122 | trans.setParameterValue("filepath", filepath); | 128 | trans.setParameterValue("filepath", filepath); |
| 129 | + | ||
| 130 | + // 添加其他参数 | ||
| 131 | + if (!CollectionUtils.isEmpty(param)) { | ||
| 132 | + for (String key : param.keySet()) { | ||
| 133 | + trans.setParameterValue(key, String.valueOf(param.get(key))); | ||
| 134 | + } | ||
| 135 | + } | ||
| 136 | + | ||
| 123 | // 执行转换 | 137 | // 执行转换 |
| 124 | trans.execute(null); | 138 | trans.execute(null); |
| 125 | // 等待转换结束 | 139 | // 等待转换结束 |
src/main/java/com/bsth/service/schedule/utils/DataToolsProperties.java
| @@ -83,6 +83,10 @@ public class DataToolsProperties { | @@ -83,6 +83,10 @@ public class DataToolsProperties { | ||
| 83 | /** 人员信息导出ktr转换 */ | 83 | /** 人员信息导出ktr转换 */ |
| 84 | @NotNull | 84 | @NotNull |
| 85 | private String employeesDataoutputktr; | 85 | private String employeesDataoutputktr; |
| 86 | + /** 时刻表导出元数据ktr转换 */ | ||
| 87 | + private String ttinfodetailMetaoutput; | ||
| 88 | + /** 时刻表导出数据ktr转换 */ | ||
| 89 | + private String ttinfodetailOutput; | ||
| 86 | 90 | ||
| 87 | // TODO: | 91 | // TODO: |
| 88 | 92 | ||
| @@ -253,4 +257,20 @@ public class DataToolsProperties { | @@ -253,4 +257,20 @@ public class DataToolsProperties { | ||
| 253 | public void setKvarsDbdname(String kvarsDbdname) { | 257 | public void setKvarsDbdname(String kvarsDbdname) { |
| 254 | this.kvarsDbdname = kvarsDbdname; | 258 | this.kvarsDbdname = kvarsDbdname; |
| 255 | } | 259 | } |
| 260 | + | ||
| 261 | + public String getTtinfodetailMetaoutput() { | ||
| 262 | + return ttinfodetailMetaoutput; | ||
| 263 | + } | ||
| 264 | + | ||
| 265 | + public void setTtinfodetailMetaoutput(String ttinfodetailMetaoutput) { | ||
| 266 | + this.ttinfodetailMetaoutput = ttinfodetailMetaoutput; | ||
| 267 | + } | ||
| 268 | + | ||
| 269 | + public String getTtinfodetailOutput() { | ||
| 270 | + return ttinfodetailOutput; | ||
| 271 | + } | ||
| 272 | + | ||
| 273 | + public void setTtinfodetailOutput(String ttinfodetailOutput) { | ||
| 274 | + this.ttinfodetailOutput = ttinfodetailOutput; | ||
| 275 | + } | ||
| 256 | } | 276 | } |
src/main/java/com/bsth/util/Geo/SHCJ2BDJW.java
| @@ -25,9 +25,11 @@ public class SHCJ2BDJW { | @@ -25,9 +25,11 @@ public class SHCJ2BDJW { | ||
| 25 | 25 | ||
| 26 | ResultSet rs = null; | 26 | ResultSet rs = null; |
| 27 | 27 | ||
| 28 | - String sqlSelect = "SELECT b.SHAPESTRING as SHAPE , b.id as ID FROM jjwgps_t_gjldb b where SHAPESTRING is not null order by b.ldbh asc "; | 28 | + /*String sqlSelect = "SELECT b.SHAPESTRING as SHAPE , b.id as ID FROM jjwgps_t_gjldb b where SHAPESTRING is not null order by b.ldbh asc ";*/ |
| 29 | + /*String sqlSelect = "select s.id,s.descriptions from bsth_c_station s order by s.id asc ";*/ | ||
| 30 | + String sqlSelect = "SELECT s.id,s.descriptions FROM bsth_c_section s order by s.id asc "; | ||
| 29 | 31 | ||
| 30 | - String sqlUpdate = "UPDATE jjwgps_t_gjldb SET bdjw = GeomFromText(?),SHAPE = GeomFromText(?) where id = ?"; | 32 | + String sqlUpdate = "UPDATE bsth_c_section SET csection_vector = ST_GeomFromText(?) , bsection_vector=ST_GeomFromText(?) , gsection_vector=ST_GeomFromText(?) where id = ?"; |
| 31 | 33 | ||
| 32 | List<Map<String, Object>> list = new ArrayList<>(); | 34 | List<Map<String, Object>> list = new ArrayList<>(); |
| 33 | 35 | ||
| @@ -42,9 +44,9 @@ public class SHCJ2BDJW { | @@ -42,9 +44,9 @@ public class SHCJ2BDJW { | ||
| 42 | 44 | ||
| 43 | Map<String, Object> map = new HashMap<String, Object>(); | 45 | Map<String, Object> map = new HashMap<String, Object>(); |
| 44 | 46 | ||
| 45 | - map.put("shape", rs.getString("SHAPE")); | 47 | + map.put("descriptions", rs.getString("descriptions")); |
| 46 | 48 | ||
| 47 | - map.put("id", rs.getInt("ID")); | 49 | + map.put("id", rs.getInt("id")); |
| 48 | 50 | ||
| 49 | list.add(map); | 51 | list.add(map); |
| 50 | } | 52 | } |
| @@ -52,15 +54,29 @@ public class SHCJ2BDJW { | @@ -52,15 +54,29 @@ public class SHCJ2BDJW { | ||
| 52 | for(int i =0;i<list.size();i++) { | 54 | for(int i =0;i<list.size();i++) { |
| 53 | 55 | ||
| 54 | Map<String, Object> temp = list.get(i); | 56 | Map<String, Object> temp = list.get(i); |
| 55 | - | ||
| 56 | - String lineString = temp.get("shape").toString(); | ||
| 57 | - /*String lineString = "LINESTRING (13532.5305161702 -3677.63275264995, 13433.22401617 -3881.74765264988)";*/ | ||
| 58 | - | 57 | + // POINT (8229.30921617 -933.16425265) |
| 58 | + String lineString = temp.get("descriptions").toString(); | ||
| 59 | + int id = Integer.parseInt(temp.get("id").toString()); | ||
| 59 | 60 | ||
| 60 | String arrayP[] = lineString.substring(lineString.indexOf("(")+1, lineString.length()-1).split(", "); | 61 | String arrayP[] = lineString.substring(lineString.indexOf("(")+1, lineString.length()-1).split(", "); |
| 61 | - | ||
| 62 | - int id = Integer.parseInt(temp.get("id").toString()); | ||
| 63 | - String geometry = ""; | 62 | + /*String arrayP[] = lineString.substring(lineString.indexOf("(")+1, lineString.length()-1).split(" "); |
| 63 | + String b_jwpoints = ""; | ||
| 64 | + Float g_lonx=0.0f,g_laty=0.0f,x=0.0f,y=0.0f;*/ | ||
| 65 | + | ||
| 66 | + /*Double lng = Double.parseDouble(arrayP[0]); | ||
| 67 | + Double lat = Double.parseDouble(arrayP[1]); | ||
| 68 | + x = Float.parseFloat(arrayP[0]); | ||
| 69 | + y = Float.parseFloat(arrayP[1]); | ||
| 70 | + // WGS84 | ||
| 71 | + Map map_2 = JWDUtil.ConvertSHToJW(lng,lat); | ||
| 72 | + g_lonx = Float.parseFloat(map_2.get("x").toString()); | ||
| 73 | + g_laty = Float.parseFloat(map_2.get("y").toString()); | ||
| 74 | + Location location = TransGPS.LocationMake(Float.parseFloat(map_2.get("x").toString()), Float.parseFloat(map_2.get("y").toString())); | ||
| 75 | + location = TransGPS.bd_encrypt(TransGPS.transformFromWGSToGCJ(location)); | ||
| 76 | + b_jwpoints = (location.getLng()+0.000727) + " " + (location.getLat() - 0.0000624);*/ | ||
| 77 | + //b_jwpoints = (location.getLng()) + " " + (location.getLat()); | ||
| 78 | + | ||
| 79 | + String csection_vector="",bsection_vector="",gsection_vector=""; | ||
| 64 | 80 | ||
| 65 | for(int k =0;k<arrayP.length;k++) { | 81 | for(int k =0;k<arrayP.length;k++) { |
| 66 | 82 | ||
| @@ -76,28 +92,42 @@ public class SHCJ2BDJW { | @@ -76,28 +92,42 @@ public class SHCJ2BDJW { | ||
| 76 | 92 | ||
| 77 | location = TransGPS.bd_encrypt(TransGPS.transformFromWGSToGCJ(location)); | 93 | location = TransGPS.bd_encrypt(TransGPS.transformFromWGSToGCJ(location)); |
| 78 | 94 | ||
| 79 | - if(k==arrayP.length-1) | ||
| 80 | - geometry = geometry + (location.getLng()+0.000727) + " " + (location.getLat() - 0.0000624); | ||
| 81 | - else | ||
| 82 | - geometry = geometry + (location.getLng()+0.000727) + " " + (location.getLat() - 0.0000624) + ","; | 95 | + if(k==arrayP.length-1) { |
| 96 | + bsection_vector = bsection_vector + (location.getLng()+0.000727) + " " + (location.getLat() - 0.0000624); | ||
| 97 | + csection_vector = csection_vector + arrayXY[0] + " " + arrayXY[1]; | ||
| 98 | + gsection_vector = gsection_vector + map_2.get("x").toString() + " " + map_2.get("y").toString(); | ||
| 99 | + }else { | ||
| 100 | + bsection_vector = bsection_vector + (location.getLng()+0.000727) + " " + (location.getLat() - 0.0000624) + ","; | ||
| 101 | + csection_vector = csection_vector + arrayXY[0] + " " + arrayXY[1] +","; | ||
| 102 | + gsection_vector = gsection_vector + map_2.get("x").toString() + " " + map_2.get("y").toString()+","; | ||
| 103 | + } | ||
| 83 | 104 | ||
| 84 | 105 | ||
| 85 | } | 106 | } |
| 86 | 107 | ||
| 87 | ps = null; | 108 | ps = null; |
| 88 | - | ||
| 89 | - geometry = "LINESTRING(" + geometry +")"; | 109 | + bsection_vector = "LINESTRING(" + bsection_vector +")"; |
| 110 | + csection_vector = "LINESTRING(" + csection_vector +")"; | ||
| 111 | + gsection_vector = "LINESTRING(" + gsection_vector +")"; | ||
| 90 | 112 | ||
| 91 | ps = conn.prepareStatement(sqlUpdate); | 113 | ps = conn.prepareStatement(sqlUpdate); |
| 92 | 114 | ||
| 93 | - ps.setString(1, geometry); | ||
| 94 | - | ||
| 95 | - ps.setString(2, lineString); | ||
| 96 | - | ||
| 97 | - ps.setInt(3, id); | ||
| 98 | - | 115 | + // String sqlUpdate = "UPDATE bsth_c_section SET csection_vector = ? , bsection_vector=? , gsection_vector=? where id = ?"; |
| 116 | + ps.setString(1, csection_vector); | ||
| 117 | + ps.setString(2, bsection_vector); | ||
| 118 | + ps.setString(3, gsection_vector); | ||
| 119 | + ps.setInt(4, id); | ||
| 120 | + | ||
| 121 | + //int stauts = ps.executeUpdate(); | ||
| 122 | + // String sqlUpdate = "UPDATE bsth_c_station SET b_jwpoints = ?1 , g_lonx=?2 , g_laty=?3 , x = ?4 , y = ?5 where id = ?6"; | ||
| 123 | + /*ps.setString(1, b_jwpoints); | ||
| 124 | + ps.setFloat(2, g_lonx); | ||
| 125 | + ps.setFloat(3, g_laty); | ||
| 126 | + ps.setFloat(4, x); | ||
| 127 | + ps.setFloat(5, y); | ||
| 128 | + ps.setFloat(6, id);*/ | ||
| 99 | int stauts = ps.executeUpdate(); | 129 | int stauts = ps.executeUpdate(); |
| 100 | - | 130 | + System.out.println(stauts); |
| 101 | } | 131 | } |
| 102 | 132 | ||
| 103 | } catch (SQLException e) { | 133 | } catch (SQLException e) { |
src/main/resources/datatools/config-dev.properties
| @@ -48,13 +48,19 @@ datatools.employeesconfig_datainputktr=/datatools/ktrs/employeesConfigDataInput. | @@ -48,13 +48,19 @@ datatools.employeesconfig_datainputktr=/datatools/ktrs/employeesConfigDataInput. | ||
| 48 | 48 | ||
| 49 | # 4、数据导出配置信息 | 49 | # 4、数据导出配置信息 |
| 50 | # 导出数据文件目录配置(根据不同的环境需要修正) | 50 | # 导出数据文件目录配置(根据不同的环境需要修正) |
| 51 | -datatools.fileoutput_dir=/Users/xu/resource/project/bsth_control_u_d_files | 51 | +datatools.fileoutput_dir=/Users/xu/resource/project_code/runtime_temp/bsth_control_u_d_files |
| 52 | 52 | ||
| 53 | ##---------------------------- 导出数据ktr -----------------------------## | 53 | ##---------------------------- 导出数据ktr -----------------------------## |
| 54 | # 车辆信息导出ktr转换 | 54 | # 车辆信息导出ktr转换 |
| 55 | datatools.cars_dataoutputktr=/datatools/ktrs/carsDataOutput.ktr | 55 | datatools.cars_dataoutputktr=/datatools/ktrs/carsDataOutput.ktr |
| 56 | # 人员信息导出ktr转换 | 56 | # 人员信息导出ktr转换 |
| 57 | datatools.employees_dataoutputktr=/datatools/ktrs/employeesDataOutput.ktr | 57 | datatools.employees_dataoutputktr=/datatools/ktrs/employeesDataOutput.ktr |
| 58 | +# 时刻表导出元数据ktr转换 | ||
| 59 | +datatools.ttinfodetail_metaoutput=/datatools/ktrs/ttinfodetailDataOutputMetaData.ktr | ||
| 60 | +# 时刻表导出数据ktr转换 | ||
| 61 | +datatools.ttinfodetail_output=/datatools/ktrs/ttinfodetailDataOutput.ktr | ||
| 62 | + | ||
| 63 | + | ||
| 58 | 64 | ||
| 59 | # TODO: | 65 | # TODO: |
| 60 | 66 |
src/main/resources/datatools/config-prod.properties
| @@ -56,5 +56,9 @@ datatools.fileoutput_dir=/opt/bsth_control_u_d_files | @@ -56,5 +56,9 @@ datatools.fileoutput_dir=/opt/bsth_control_u_d_files | ||
| 56 | datatools.cars_dataoutputktr=/datatools/ktrs/carsDataOutput.ktr | 56 | datatools.cars_dataoutputktr=/datatools/ktrs/carsDataOutput.ktr |
| 57 | # 人员信息导出ktr转换 | 57 | # 人员信息导出ktr转换 |
| 58 | datatools.employees_dataoutputktr=/datatools/ktrs/employeesDataOutput.ktr | 58 | datatools.employees_dataoutputktr=/datatools/ktrs/employeesDataOutput.ktr |
| 59 | +# 时刻表导出元数据ktr转换 | ||
| 60 | +datatools.ttinfodetail_metaoutput=/datatools/ktrs/ttinfodetailDataOutputMetaData.ktr | ||
| 61 | +# 时刻表导出数据ktr转换 | ||
| 62 | +datatools.ttinfodetail_output=/datatools/ktrs/ttinfodetailDataOutput.ktr | ||
| 59 | 63 | ||
| 60 | # TODO: | 64 | # TODO: |
| 61 | \ No newline at end of file | 65 | \ No newline at end of file |
src/main/resources/datatools/ktrs/ttinfodetailDataOutput.ktr
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | +<transformation> | ||
| 3 | + <info> | ||
| 4 | + <name>时刻表明细导出</name> | ||
| 5 | + <description/> | ||
| 6 | + <extended_description/> | ||
| 7 | + <trans_version/> | ||
| 8 | + <trans_type>Normal</trans_type> | ||
| 9 | + <trans_status>0</trans_status> | ||
| 10 | + <directory>/</directory> | ||
| 11 | + <parameters> | ||
| 12 | + </parameters> | ||
| 13 | + <log> | ||
| 14 | +<trans-log-table><connection/> | ||
| 15 | +<schema/> | ||
| 16 | +<table/> | ||
| 17 | +<size_limit_lines/> | ||
| 18 | +<interval/> | ||
| 19 | +<timeout_days/> | ||
| 20 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STATUS</id><enabled>Y</enabled><name>STATUS</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name><subject/></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name><subject/></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name><subject/></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name><subject/></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name><subject/></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name><subject/></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>STARTDATE</id><enabled>Y</enabled><name>STARTDATE</name></field><field><id>ENDDATE</id><enabled>Y</enabled><name>ENDDATE</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>DEPDATE</id><enabled>Y</enabled><name>DEPDATE</name></field><field><id>REPLAYDATE</id><enabled>Y</enabled><name>REPLAYDATE</name></field><field><id>LOG_FIELD</id><enabled>Y</enabled><name>LOG_FIELD</name></field><field><id>EXECUTING_SERVER</id><enabled>N</enabled><name>EXECUTING_SERVER</name></field><field><id>EXECUTING_USER</id><enabled>N</enabled><name>EXECUTING_USER</name></field><field><id>CLIENT</id><enabled>N</enabled><name>CLIENT</name></field></trans-log-table> | ||
| 21 | +<perf-log-table><connection/> | ||
| 22 | +<schema/> | ||
| 23 | +<table/> | ||
| 24 | +<interval/> | ||
| 25 | +<timeout_days/> | ||
| 26 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>SEQ_NR</id><enabled>Y</enabled><name>SEQ_NR</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>INPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>INPUT_BUFFER_ROWS</name></field><field><id>OUTPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>OUTPUT_BUFFER_ROWS</name></field></perf-log-table> | ||
| 27 | +<channel-log-table><connection/> | ||
| 28 | +<schema/> | ||
| 29 | +<table/> | ||
| 30 | +<timeout_days/> | ||
| 31 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>LOGGING_OBJECT_TYPE</id><enabled>Y</enabled><name>LOGGING_OBJECT_TYPE</name></field><field><id>OBJECT_NAME</id><enabled>Y</enabled><name>OBJECT_NAME</name></field><field><id>OBJECT_COPY</id><enabled>Y</enabled><name>OBJECT_COPY</name></field><field><id>REPOSITORY_DIRECTORY</id><enabled>Y</enabled><name>REPOSITORY_DIRECTORY</name></field><field><id>FILENAME</id><enabled>Y</enabled><name>FILENAME</name></field><field><id>OBJECT_ID</id><enabled>Y</enabled><name>OBJECT_ID</name></field><field><id>OBJECT_REVISION</id><enabled>Y</enabled><name>OBJECT_REVISION</name></field><field><id>PARENT_CHANNEL_ID</id><enabled>Y</enabled><name>PARENT_CHANNEL_ID</name></field><field><id>ROOT_CHANNEL_ID</id><enabled>Y</enabled><name>ROOT_CHANNEL_ID</name></field></channel-log-table> | ||
| 32 | +<step-log-table><connection/> | ||
| 33 | +<schema/> | ||
| 34 | +<table/> | ||
| 35 | +<timeout_days/> | ||
| 36 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>LOG_FIELD</id><enabled>N</enabled><name>LOG_FIELD</name></field></step-log-table> | ||
| 37 | +<metrics-log-table><connection/> | ||
| 38 | +<schema/> | ||
| 39 | +<table/> | ||
| 40 | +<timeout_days/> | ||
| 41 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>METRICS_DATE</id><enabled>Y</enabled><name>METRICS_DATE</name></field><field><id>METRICS_CODE</id><enabled>Y</enabled><name>METRICS_CODE</name></field><field><id>METRICS_DESCRIPTION</id><enabled>Y</enabled><name>METRICS_DESCRIPTION</name></field><field><id>METRICS_SUBJECT</id><enabled>Y</enabled><name>METRICS_SUBJECT</name></field><field><id>METRICS_TYPE</id><enabled>Y</enabled><name>METRICS_TYPE</name></field><field><id>METRICS_VALUE</id><enabled>Y</enabled><name>METRICS_VALUE</name></field></metrics-log-table> | ||
| 42 | + </log> | ||
| 43 | + <maxdate> | ||
| 44 | + <connection/> | ||
| 45 | + <table/> | ||
| 46 | + <field/> | ||
| 47 | + <offset>0.0</offset> | ||
| 48 | + <maxdiff>0.0</maxdiff> | ||
| 49 | + </maxdate> | ||
| 50 | + <size_rowset>10000</size_rowset> | ||
| 51 | + <sleep_time_empty>50</sleep_time_empty> | ||
| 52 | + <sleep_time_full>50</sleep_time_full> | ||
| 53 | + <unique_connections>N</unique_connections> | ||
| 54 | + <feedback_shown>Y</feedback_shown> | ||
| 55 | + <feedback_size>50000</feedback_size> | ||
| 56 | + <using_thread_priorities>Y</using_thread_priorities> | ||
| 57 | + <shared_objects_file/> | ||
| 58 | + <capture_step_performance>N</capture_step_performance> | ||
| 59 | + <step_performance_capturing_delay>1000</step_performance_capturing_delay> | ||
| 60 | + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit> | ||
| 61 | + <dependencies> | ||
| 62 | + </dependencies> | ||
| 63 | + <partitionschemas> | ||
| 64 | + </partitionschemas> | ||
| 65 | + <slaveservers> | ||
| 66 | + </slaveservers> | ||
| 67 | + <clusterschemas> | ||
| 68 | + </clusterschemas> | ||
| 69 | + <created_user>-</created_user> | ||
| 70 | + <created_date>2016/11/15 13:00:52.076</created_date> | ||
| 71 | + <modified_user>-</modified_user> | ||
| 72 | + <modified_date>2016/11/15 13:00:52.076</modified_date> | ||
| 73 | + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key> | ||
| 74 | + <is_key_private>N</is_key_private> | ||
| 75 | + </info> | ||
| 76 | + <notepads> | ||
| 77 | + </notepads> | ||
| 78 | + <connection> | ||
| 79 | + <name>bus_control_variable</name> | ||
| 80 | + <server>${v_db_ip}</server> | ||
| 81 | + <type>MYSQL</type> | ||
| 82 | + <access>Native</access> | ||
| 83 | + <database>${v_db_dname}</database> | ||
| 84 | + <port>3306</port> | ||
| 85 | + <username>${v_db_uname}</username> | ||
| 86 | + <password>${v_db_pwd}</password> | ||
| 87 | + <servername/> | ||
| 88 | + <data_tablespace/> | ||
| 89 | + <index_tablespace/> | ||
| 90 | + <attributes> | ||
| 91 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 92 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 93 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 94 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 95 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 96 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 97 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 98 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 99 | + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | ||
| 100 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 101 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 102 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 103 | + </attributes> | ||
| 104 | + </connection> | ||
| 105 | + <connection> | ||
| 106 | + <name>bus_control_公司_201</name> | ||
| 107 | + <server>localhost</server> | ||
| 108 | + <type>MYSQL</type> | ||
| 109 | + <access>Native</access> | ||
| 110 | + <database>control</database> | ||
| 111 | + <port>3306</port> | ||
| 112 | + <username>root</username> | ||
| 113 | + <password>Encrypted </password> | ||
| 114 | + <servername/> | ||
| 115 | + <data_tablespace/> | ||
| 116 | + <index_tablespace/> | ||
| 117 | + <attributes> | ||
| 118 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 119 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 120 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 121 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 122 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 123 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 124 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 125 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 126 | + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | ||
| 127 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 128 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 129 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 130 | + </attributes> | ||
| 131 | + </connection> | ||
| 132 | + <connection> | ||
| 133 | + <name>bus_control_本机</name> | ||
| 134 | + <server>localhost</server> | ||
| 135 | + <type>MYSQL</type> | ||
| 136 | + <access>Native</access> | ||
| 137 | + <database>control</database> | ||
| 138 | + <port>3306</port> | ||
| 139 | + <username>root</username> | ||
| 140 | + <password>Encrypted </password> | ||
| 141 | + <servername/> | ||
| 142 | + <data_tablespace/> | ||
| 143 | + <index_tablespace/> | ||
| 144 | + <attributes> | ||
| 145 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 146 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 147 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 148 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 149 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 150 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 151 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 152 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 153 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 154 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 155 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 156 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 157 | + </attributes> | ||
| 158 | + </connection> | ||
| 159 | + <connection> | ||
| 160 | + <name>xlab_mysql_youle</name> | ||
| 161 | + <server>101.231.124.8</server> | ||
| 162 | + <type>MYSQL</type> | ||
| 163 | + <access>Native</access> | ||
| 164 | + <database>xlab_youle</database> | ||
| 165 | + <port>45687</port> | ||
| 166 | + <username>xlab-youle</username> | ||
| 167 | + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password> | ||
| 168 | + <servername/> | ||
| 169 | + <data_tablespace/> | ||
| 170 | + <index_tablespace/> | ||
| 171 | + <attributes> | ||
| 172 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 173 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 174 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 175 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 176 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 177 | + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute> | ||
| 178 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 179 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 180 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 181 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 182 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 183 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 184 | + </attributes> | ||
| 185 | + </connection> | ||
| 186 | + <connection> | ||
| 187 | + <name>xlab_mysql_youle(本机)</name> | ||
| 188 | + <server>localhost</server> | ||
| 189 | + <type>MYSQL</type> | ||
| 190 | + <access>Native</access> | ||
| 191 | + <database>xlab_youle</database> | ||
| 192 | + <port>3306</port> | ||
| 193 | + <username>root</username> | ||
| 194 | + <password>Encrypted </password> | ||
| 195 | + <servername/> | ||
| 196 | + <data_tablespace/> | ||
| 197 | + <index_tablespace/> | ||
| 198 | + <attributes> | ||
| 199 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 200 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 201 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 202 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 203 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 204 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 205 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 206 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 207 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 208 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 209 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 210 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 211 | + </attributes> | ||
| 212 | + </connection> | ||
| 213 | + <connection> | ||
| 214 | + <name>xlab_youle</name> | ||
| 215 | + <server/> | ||
| 216 | + <type>MYSQL</type> | ||
| 217 | + <access>JNDI</access> | ||
| 218 | + <database>xlab_youle</database> | ||
| 219 | + <port>1521</port> | ||
| 220 | + <username/> | ||
| 221 | + <password>Encrypted </password> | ||
| 222 | + <servername/> | ||
| 223 | + <data_tablespace/> | ||
| 224 | + <index_tablespace/> | ||
| 225 | + <attributes> | ||
| 226 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 227 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 228 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 229 | + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | ||
| 230 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 231 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 232 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 233 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 234 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 235 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 236 | + </attributes> | ||
| 237 | + </connection> | ||
| 238 | + <order> | ||
| 239 | + <hop> <from>排序记录</from><to>列转行</to><enabled>Y</enabled> </hop> | ||
| 240 | + <hop> <from>列转行</from><to>字段选择</to><enabled>Y</enabled> </hop> | ||
| 241 | + <hop> <from>字段选择</from><to>Excel输出</to><enabled>Y</enabled> </hop> | ||
| 242 | + <hop> <from>时刻表明细数据表</from><to>路牌名字查找</to><enabled>Y</enabled> </hop> | ||
| 243 | + <hop> <from>路牌名字查找</from><to>排序记录</to><enabled>Y</enabled> </hop> | ||
| 244 | + </order> | ||
| 245 | + <step> | ||
| 246 | + <name>列转行</name> | ||
| 247 | + <type>Denormaliser</type> | ||
| 248 | + <description/> | ||
| 249 | + <distribute>Y</distribute> | ||
| 250 | + <custom_distribution/> | ||
| 251 | + <copies>1</copies> | ||
| 252 | + <partitioning> | ||
| 253 | + <method>none</method> | ||
| 254 | + <schema_name/> | ||
| 255 | + </partitioning> | ||
| 256 | + <key_field>fcno</key_field> | ||
| 257 | + <group> | ||
| 258 | + <field> | ||
| 259 | + <name>lp</name> | ||
| 260 | + </field> | ||
| 261 | + </group> | ||
| 262 | + <fields> | ||
| 263 | + <field> | ||
| 264 | + <field_name>fcsj</field_name> | ||
| 265 | + <key_value>1</key_value> | ||
| 266 | + <target_name>出场1</target_name> | ||
| 267 | + <target_type>String</target_type> | ||
| 268 | + <target_format/> | ||
| 269 | + <target_length>-1</target_length> | ||
| 270 | + <target_precision>-1</target_precision> | ||
| 271 | + <target_decimal_symbol/> | ||
| 272 | + <target_grouping_symbol/> | ||
| 273 | + <target_currency_symbol/> | ||
| 274 | + <target_null_string/> | ||
| 275 | + <target_aggregation_type>-</target_aggregation_type> | ||
| 276 | + </field> | ||
| 277 | + <field> | ||
| 278 | + <field_name>fcsj</field_name> | ||
| 279 | + <key_value>2</key_value> | ||
| 280 | + <target_name>青安路汽车站2</target_name> | ||
| 281 | + <target_type>String</target_type> | ||
| 282 | + <target_format/> | ||
| 283 | + <target_length>-1</target_length> | ||
| 284 | + <target_precision>-1</target_precision> | ||
| 285 | + <target_decimal_symbol/> | ||
| 286 | + <target_grouping_symbol/> | ||
| 287 | + <target_currency_symbol/> | ||
| 288 | + <target_null_string/> | ||
| 289 | + <target_aggregation_type>-</target_aggregation_type> | ||
| 290 | + </field> | ||
| 291 | + <field> | ||
| 292 | + <field_name>fcsj</field_name> | ||
| 293 | + <key_value>3</key_value> | ||
| 294 | + <target_name>青安路汽车站3</target_name> | ||
| 295 | + <target_type>String</target_type> | ||
| 296 | + <target_format/> | ||
| 297 | + <target_length>-1</target_length> | ||
| 298 | + <target_precision>-1</target_precision> | ||
| 299 | + <target_decimal_symbol/> | ||
| 300 | + <target_grouping_symbol/> | ||
| 301 | + <target_currency_symbol/> | ||
| 302 | + <target_null_string/> | ||
| 303 | + <target_aggregation_type>-</target_aggregation_type> | ||
| 304 | + </field> | ||
| 305 | + <field> | ||
| 306 | + <field_name>fcsj</field_name> | ||
| 307 | + <key_value>4</key_value> | ||
| 308 | + <target_name>青安路汽车站4</target_name> | ||
| 309 | + <target_type>String</target_type> | ||
| 310 | + <target_format/> | ||
| 311 | + <target_length>-1</target_length> | ||
| 312 | + <target_precision>-1</target_precision> | ||
| 313 | + <target_decimal_symbol/> | ||
| 314 | + <target_grouping_symbol/> | ||
| 315 | + <target_currency_symbol/> | ||
| 316 | + <target_null_string/> | ||
| 317 | + <target_aggregation_type>-</target_aggregation_type> | ||
| 318 | + </field> | ||
| 319 | + <field> | ||
| 320 | + <field_name>fcsj</field_name> | ||
| 321 | + <key_value>5</key_value> | ||
| 322 | + <target_name>青安路汽车站5</target_name> | ||
| 323 | + <target_type>String</target_type> | ||
| 324 | + <target_format/> | ||
| 325 | + <target_length>-1</target_length> | ||
| 326 | + <target_precision>-1</target_precision> | ||
| 327 | + <target_decimal_symbol/> | ||
| 328 | + <target_grouping_symbol/> | ||
| 329 | + <target_currency_symbol/> | ||
| 330 | + <target_null_string/> | ||
| 331 | + <target_aggregation_type>-</target_aggregation_type> | ||
| 332 | + </field> | ||
| 333 | + <field> | ||
| 334 | + <field_name>fcsj</field_name> | ||
| 335 | + <key_value>6</key_value> | ||
| 336 | + <target_name>青安路汽车站6</target_name> | ||
| 337 | + <target_type>String</target_type> | ||
| 338 | + <target_format/> | ||
| 339 | + <target_length>-1</target_length> | ||
| 340 | + <target_precision>-1</target_precision> | ||
| 341 | + <target_decimal_symbol/> | ||
| 342 | + <target_grouping_symbol/> | ||
| 343 | + <target_currency_symbol/> | ||
| 344 | + <target_null_string/> | ||
| 345 | + <target_aggregation_type>-</target_aggregation_type> | ||
| 346 | + </field> | ||
| 347 | + <field> | ||
| 348 | + <field_name>fcsj</field_name> | ||
| 349 | + <key_value>7</key_value> | ||
| 350 | + <target_name>进场7</target_name> | ||
| 351 | + <target_type>String</target_type> | ||
| 352 | + <target_format/> | ||
| 353 | + <target_length>-1</target_length> | ||
| 354 | + <target_precision>-1</target_precision> | ||
| 355 | + <target_decimal_symbol/> | ||
| 356 | + <target_grouping_symbol/> | ||
| 357 | + <target_currency_symbol/> | ||
| 358 | + <target_null_string/> | ||
| 359 | + <target_aggregation_type>-</target_aggregation_type> | ||
| 360 | + </field> | ||
| 361 | + </fields> | ||
| 362 | + <cluster_schema/> | ||
| 363 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 364 | + <xloc>531</xloc> | ||
| 365 | + <yloc>65</yloc> | ||
| 366 | + <draw>Y</draw> | ||
| 367 | + </GUI> | ||
| 368 | + </step> | ||
| 369 | + | ||
| 370 | + <step> | ||
| 371 | + <name>排序记录</name> | ||
| 372 | + <type>SortRows</type> | ||
| 373 | + <description/> | ||
| 374 | + <distribute>Y</distribute> | ||
| 375 | + <custom_distribution/> | ||
| 376 | + <copies>1</copies> | ||
| 377 | + <partitioning> | ||
| 378 | + <method>none</method> | ||
| 379 | + <schema_name/> | ||
| 380 | + </partitioning> | ||
| 381 | + <directory>%%java.io.tmpdir%%</directory> | ||
| 382 | + <prefix>out</prefix> | ||
| 383 | + <sort_size>1000000</sort_size> | ||
| 384 | + <free_memory/> | ||
| 385 | + <compress>N</compress> | ||
| 386 | + <compress_variable/> | ||
| 387 | + <unique_rows>N</unique_rows> | ||
| 388 | + <fields> | ||
| 389 | + <field> | ||
| 390 | + <name>lp</name> | ||
| 391 | + <ascending>Y</ascending> | ||
| 392 | + <case_sensitive>N</case_sensitive> | ||
| 393 | + <presorted>N</presorted> | ||
| 394 | + </field> | ||
| 395 | + <field> | ||
| 396 | + <name>fcno</name> | ||
| 397 | + <ascending>Y</ascending> | ||
| 398 | + <case_sensitive>N</case_sensitive> | ||
| 399 | + <presorted>N</presorted> | ||
| 400 | + </field> | ||
| 401 | + </fields> | ||
| 402 | + <cluster_schema/> | ||
| 403 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 404 | + <xloc>331</xloc> | ||
| 405 | + <yloc>65</yloc> | ||
| 406 | + <draw>Y</draw> | ||
| 407 | + </GUI> | ||
| 408 | + </step> | ||
| 409 | + | ||
| 410 | + <step> | ||
| 411 | + <name>时刻表明细数据表</name> | ||
| 412 | + <type>TableInput</type> | ||
| 413 | + <description/> | ||
| 414 | + <distribute>Y</distribute> | ||
| 415 | + <custom_distribution/> | ||
| 416 | + <copies>1</copies> | ||
| 417 | + <partitioning> | ||
| 418 | + <method>none</method> | ||
| 419 | + <schema_name/> | ||
| 420 | + </partitioning> | ||
| 421 | + <connection>bus_control_variable</connection> | ||
| 422 | + <sql>select * from bsth_c_s_ttinfo_detail
where ttinfo = ${ttinfoid}</sql> | ||
| 423 | + <limit>0</limit> | ||
| 424 | + <lookup/> | ||
| 425 | + <execute_each_row>N</execute_each_row> | ||
| 426 | + <variables_active>Y</variables_active> | ||
| 427 | + <lazy_conversion_active>N</lazy_conversion_active> | ||
| 428 | + <cluster_schema/> | ||
| 429 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 430 | + <xloc>131</xloc> | ||
| 431 | + <yloc>65</yloc> | ||
| 432 | + <draw>Y</draw> | ||
| 433 | + </GUI> | ||
| 434 | + </step> | ||
| 435 | + | ||
| 436 | + <step> | ||
| 437 | + <name>Excel输出</name> | ||
| 438 | + <type>ExcelOutput</type> | ||
| 439 | + <description/> | ||
| 440 | + <distribute>Y</distribute> | ||
| 441 | + <custom_distribution/> | ||
| 442 | + <copies>1</copies> | ||
| 443 | + <partitioning> | ||
| 444 | + <method>none</method> | ||
| 445 | + <schema_name/> | ||
| 446 | + </partitioning> | ||
| 447 | + <header>Y</header> | ||
| 448 | + <footer>N</footer> | ||
| 449 | + <encoding/> | ||
| 450 | + <append>N</append> | ||
| 451 | + <add_to_result_filenames>Y</add_to_result_filenames> | ||
| 452 | + <file> | ||
| 453 | + <name>${filepath}</name> | ||
| 454 | + <extention/> | ||
| 455 | + <do_not_open_newfile_init>N</do_not_open_newfile_init> | ||
| 456 | + <create_parent_folder>N</create_parent_folder> | ||
| 457 | + <split>N</split> | ||
| 458 | + <add_date>N</add_date> | ||
| 459 | + <add_time>N</add_time> | ||
| 460 | + <SpecifyFormat>N</SpecifyFormat> | ||
| 461 | + <date_time_format/> | ||
| 462 | + <sheetname>Sheet1</sheetname> | ||
| 463 | + <autosizecolums>N</autosizecolums> | ||
| 464 | + <nullisblank>N</nullisblank> | ||
| 465 | + <protect_sheet>N</protect_sheet> | ||
| 466 | + <password>Encrypted </password> | ||
| 467 | + <splitevery>0</splitevery> | ||
| 468 | + <usetempfiles>N</usetempfiles> | ||
| 469 | + <tempdirectory/> | ||
| 470 | + </file> | ||
| 471 | + <template> | ||
| 472 | + <enabled>N</enabled> | ||
| 473 | + <append>N</append> | ||
| 474 | + <filename>template.xls</filename> | ||
| 475 | + </template> | ||
| 476 | + <fields> | ||
| 477 | + </fields> | ||
| 478 | + <custom> | ||
| 479 | + <header_font_name>arial</header_font_name> | ||
| 480 | + <header_font_size>10</header_font_size> | ||
| 481 | + <header_font_bold>N</header_font_bold> | ||
| 482 | + <header_font_italic>N</header_font_italic> | ||
| 483 | + <header_font_underline>no</header_font_underline> | ||
| 484 | + <header_font_orientation>horizontal</header_font_orientation> | ||
| 485 | + <header_font_color>black</header_font_color> | ||
| 486 | + <header_background_color>none</header_background_color> | ||
| 487 | + <header_row_height>255</header_row_height> | ||
| 488 | + <header_alignment>left</header_alignment> | ||
| 489 | + <header_image/> | ||
| 490 | + <row_font_name>arial</row_font_name> | ||
| 491 | + <row_font_size>10</row_font_size> | ||
| 492 | + <row_font_color>black</row_font_color> | ||
| 493 | + <row_background_color>none</row_background_color> | ||
| 494 | + </custom> | ||
| 495 | + <cluster_schema/> | ||
| 496 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 497 | + <xloc>731</xloc> | ||
| 498 | + <yloc>65</yloc> | ||
| 499 | + <draw>Y</draw> | ||
| 500 | + </GUI> | ||
| 501 | + </step> | ||
| 502 | + | ||
| 503 | + <step> | ||
| 504 | + <name>字段选择</name> | ||
| 505 | + <type>SelectValues</type> | ||
| 506 | + <description/> | ||
| 507 | + <distribute>Y</distribute> | ||
| 508 | + <custom_distribution/> | ||
| 509 | + <copies>1</copies> | ||
| 510 | + <partitioning> | ||
| 511 | + <method>none</method> | ||
| 512 | + <schema_name/> | ||
| 513 | + </partitioning> | ||
| 514 | + <fields> <field> <name>lp_name</name> | ||
| 515 | + <rename>路牌</rename> | ||
| 516 | + <length>-2</length> | ||
| 517 | + <precision>-2</precision> | ||
| 518 | + </field> <select_unspecified>Y</select_unspecified> | ||
| 519 | + </fields> <cluster_schema/> | ||
| 520 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 521 | + <xloc>534</xloc> | ||
| 522 | + <yloc>243</yloc> | ||
| 523 | + <draw>Y</draw> | ||
| 524 | + </GUI> | ||
| 525 | + </step> | ||
| 526 | + | ||
| 527 | + <step> | ||
| 528 | + <name>路牌名字查找</name> | ||
| 529 | + <type>DBLookup</type> | ||
| 530 | + <description/> | ||
| 531 | + <distribute>Y</distribute> | ||
| 532 | + <custom_distribution/> | ||
| 533 | + <copies>1</copies> | ||
| 534 | + <partitioning> | ||
| 535 | + <method>none</method> | ||
| 536 | + <schema_name/> | ||
| 537 | + </partitioning> | ||
| 538 | + <connection>bus_control_variable</connection> | ||
| 539 | + <cache>N</cache> | ||
| 540 | + <cache_load_all>N</cache_load_all> | ||
| 541 | + <cache_size>0</cache_size> | ||
| 542 | + <lookup> | ||
| 543 | + <schema/> | ||
| 544 | + <table>bsth_c_s_gbi</table> | ||
| 545 | + <orderby/> | ||
| 546 | + <fail_on_multiple>N</fail_on_multiple> | ||
| 547 | + <eat_row_on_failure>N</eat_row_on_failure> | ||
| 548 | + <key> | ||
| 549 | + <name>lp</name> | ||
| 550 | + <field>id</field> | ||
| 551 | + <condition>=</condition> | ||
| 552 | + <name2/> | ||
| 553 | + </key> | ||
| 554 | + <value> | ||
| 555 | + <name>lp_name</name> | ||
| 556 | + <rename>lp_name</rename> | ||
| 557 | + <default/> | ||
| 558 | + <type>String</type> | ||
| 559 | + </value> | ||
| 560 | + </lookup> | ||
| 561 | + <cluster_schema/> | ||
| 562 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 563 | + <xloc>237</xloc> | ||
| 564 | + <yloc>156</yloc> | ||
| 565 | + <draw>Y</draw> | ||
| 566 | + </GUI> | ||
| 567 | + </step> | ||
| 568 | + | ||
| 569 | + <step_error_handling> | ||
| 570 | + </step_error_handling> | ||
| 571 | + <slave-step-copy-partition-distribution> | ||
| 572 | +</slave-step-copy-partition-distribution> | ||
| 573 | + <slave_transformation>N</slave_transformation> | ||
| 574 | + | ||
| 575 | +</transformation> |
src/main/resources/datatools/ktrs/ttinfodetailDataOutputMetaData.ktr
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | +<transformation> | ||
| 3 | + <info> | ||
| 4 | + <name>时刻表明细导出元数据</name> | ||
| 5 | + <description/> | ||
| 6 | + <extended_description/> | ||
| 7 | + <trans_version/> | ||
| 8 | + <trans_type>Normal</trans_type> | ||
| 9 | + <trans_status>0</trans_status> | ||
| 10 | + <directory>/</directory> | ||
| 11 | + <parameters> | ||
| 12 | + <parameter> | ||
| 13 | + <name>filepath</name> | ||
| 14 | + <default_value>/Users/xu/resource/project_code/runtime_temp/bsth_control_u_d_files/ttinfodetail_test.xls</default_value> | ||
| 15 | + <description>时刻表excel导出文件路径名</description> | ||
| 16 | + </parameter> | ||
| 17 | + <parameter> | ||
| 18 | + <name>injectktrfile</name> | ||
| 19 | + <default_value>/Users/xu/resource/project_code/bsth_project/bsth_control/src/main/resources/datatools/ktrs/ttinfodetailDataOutput.ktr</default_value> | ||
| 20 | + <description>注入元数据的ktr文件</description> | ||
| 21 | + </parameter> | ||
| 22 | + <parameter> | ||
| 23 | + <name>ttinfoid</name> | ||
| 24 | + <default_value>56</default_value> | ||
| 25 | + <description>时刻表id</description> | ||
| 26 | + </parameter> | ||
| 27 | + </parameters> | ||
| 28 | + <log> | ||
| 29 | +<trans-log-table><connection/> | ||
| 30 | +<schema/> | ||
| 31 | +<table/> | ||
| 32 | +<size_limit_lines/> | ||
| 33 | +<interval/> | ||
| 34 | +<timeout_days/> | ||
| 35 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STATUS</id><enabled>Y</enabled><name>STATUS</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name><subject/></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name><subject/></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name><subject/></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name><subject/></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name><subject/></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name><subject/></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>STARTDATE</id><enabled>Y</enabled><name>STARTDATE</name></field><field><id>ENDDATE</id><enabled>Y</enabled><name>ENDDATE</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>DEPDATE</id><enabled>Y</enabled><name>DEPDATE</name></field><field><id>REPLAYDATE</id><enabled>Y</enabled><name>REPLAYDATE</name></field><field><id>LOG_FIELD</id><enabled>Y</enabled><name>LOG_FIELD</name></field><field><id>EXECUTING_SERVER</id><enabled>N</enabled><name>EXECUTING_SERVER</name></field><field><id>EXECUTING_USER</id><enabled>N</enabled><name>EXECUTING_USER</name></field><field><id>CLIENT</id><enabled>N</enabled><name>CLIENT</name></field></trans-log-table> | ||
| 36 | +<perf-log-table><connection/> | ||
| 37 | +<schema/> | ||
| 38 | +<table/> | ||
| 39 | +<interval/> | ||
| 40 | +<timeout_days/> | ||
| 41 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>SEQ_NR</id><enabled>Y</enabled><name>SEQ_NR</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>INPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>INPUT_BUFFER_ROWS</name></field><field><id>OUTPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>OUTPUT_BUFFER_ROWS</name></field></perf-log-table> | ||
| 42 | +<channel-log-table><connection/> | ||
| 43 | +<schema/> | ||
| 44 | +<table/> | ||
| 45 | +<timeout_days/> | ||
| 46 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>LOGGING_OBJECT_TYPE</id><enabled>Y</enabled><name>LOGGING_OBJECT_TYPE</name></field><field><id>OBJECT_NAME</id><enabled>Y</enabled><name>OBJECT_NAME</name></field><field><id>OBJECT_COPY</id><enabled>Y</enabled><name>OBJECT_COPY</name></field><field><id>REPOSITORY_DIRECTORY</id><enabled>Y</enabled><name>REPOSITORY_DIRECTORY</name></field><field><id>FILENAME</id><enabled>Y</enabled><name>FILENAME</name></field><field><id>OBJECT_ID</id><enabled>Y</enabled><name>OBJECT_ID</name></field><field><id>OBJECT_REVISION</id><enabled>Y</enabled><name>OBJECT_REVISION</name></field><field><id>PARENT_CHANNEL_ID</id><enabled>Y</enabled><name>PARENT_CHANNEL_ID</name></field><field><id>ROOT_CHANNEL_ID</id><enabled>Y</enabled><name>ROOT_CHANNEL_ID</name></field></channel-log-table> | ||
| 47 | +<step-log-table><connection/> | ||
| 48 | +<schema/> | ||
| 49 | +<table/> | ||
| 50 | +<timeout_days/> | ||
| 51 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>LOG_FIELD</id><enabled>N</enabled><name>LOG_FIELD</name></field></step-log-table> | ||
| 52 | +<metrics-log-table><connection/> | ||
| 53 | +<schema/> | ||
| 54 | +<table/> | ||
| 55 | +<timeout_days/> | ||
| 56 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>METRICS_DATE</id><enabled>Y</enabled><name>METRICS_DATE</name></field><field><id>METRICS_CODE</id><enabled>Y</enabled><name>METRICS_CODE</name></field><field><id>METRICS_DESCRIPTION</id><enabled>Y</enabled><name>METRICS_DESCRIPTION</name></field><field><id>METRICS_SUBJECT</id><enabled>Y</enabled><name>METRICS_SUBJECT</name></field><field><id>METRICS_TYPE</id><enabled>Y</enabled><name>METRICS_TYPE</name></field><field><id>METRICS_VALUE</id><enabled>Y</enabled><name>METRICS_VALUE</name></field></metrics-log-table> | ||
| 57 | + </log> | ||
| 58 | + <maxdate> | ||
| 59 | + <connection/> | ||
| 60 | + <table/> | ||
| 61 | + <field/> | ||
| 62 | + <offset>0.0</offset> | ||
| 63 | + <maxdiff>0.0</maxdiff> | ||
| 64 | + </maxdate> | ||
| 65 | + <size_rowset>10000</size_rowset> | ||
| 66 | + <sleep_time_empty>50</sleep_time_empty> | ||
| 67 | + <sleep_time_full>50</sleep_time_full> | ||
| 68 | + <unique_connections>N</unique_connections> | ||
| 69 | + <feedback_shown>Y</feedback_shown> | ||
| 70 | + <feedback_size>50000</feedback_size> | ||
| 71 | + <using_thread_priorities>Y</using_thread_priorities> | ||
| 72 | + <shared_objects_file/> | ||
| 73 | + <capture_step_performance>N</capture_step_performance> | ||
| 74 | + <step_performance_capturing_delay>1000</step_performance_capturing_delay> | ||
| 75 | + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit> | ||
| 76 | + <dependencies> | ||
| 77 | + </dependencies> | ||
| 78 | + <partitionschemas> | ||
| 79 | + </partitionschemas> | ||
| 80 | + <slaveservers> | ||
| 81 | + </slaveservers> | ||
| 82 | + <clusterschemas> | ||
| 83 | + </clusterschemas> | ||
| 84 | + <created_user>-</created_user> | ||
| 85 | + <created_date>2016/11/15 15:02:41.624</created_date> | ||
| 86 | + <modified_user>-</modified_user> | ||
| 87 | + <modified_date>2016/11/15 15:02:41.624</modified_date> | ||
| 88 | + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key> | ||
| 89 | + <is_key_private>N</is_key_private> | ||
| 90 | + </info> | ||
| 91 | + <notepads> | ||
| 92 | + </notepads> | ||
| 93 | + <connection> | ||
| 94 | + <name>bus_control_variable</name> | ||
| 95 | + <server>${v_db_ip}</server> | ||
| 96 | + <type>MYSQL</type> | ||
| 97 | + <access>Native</access> | ||
| 98 | + <database>${v_db_dname}</database> | ||
| 99 | + <port>3306</port> | ||
| 100 | + <username>${v_db_uname}</username> | ||
| 101 | + <password>${v_db_pwd}</password> | ||
| 102 | + <servername/> | ||
| 103 | + <data_tablespace/> | ||
| 104 | + <index_tablespace/> | ||
| 105 | + <attributes> | ||
| 106 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 107 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 108 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 109 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 110 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 111 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 112 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 113 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 114 | + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | ||
| 115 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 116 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 117 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 118 | + </attributes> | ||
| 119 | + </connection> | ||
| 120 | + <connection> | ||
| 121 | + <name>bus_control_公司_201</name> | ||
| 122 | + <server>localhost</server> | ||
| 123 | + <type>MYSQL</type> | ||
| 124 | + <access>Native</access> | ||
| 125 | + <database>control</database> | ||
| 126 | + <port>3306</port> | ||
| 127 | + <username>root</username> | ||
| 128 | + <password>Encrypted </password> | ||
| 129 | + <servername/> | ||
| 130 | + <data_tablespace/> | ||
| 131 | + <index_tablespace/> | ||
| 132 | + <attributes> | ||
| 133 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 134 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 135 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 136 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 137 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 138 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 139 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 140 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 141 | + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | ||
| 142 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 143 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 144 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 145 | + </attributes> | ||
| 146 | + </connection> | ||
| 147 | + <connection> | ||
| 148 | + <name>bus_control_本机</name> | ||
| 149 | + <server>localhost</server> | ||
| 150 | + <type>MYSQL</type> | ||
| 151 | + <access>Native</access> | ||
| 152 | + <database>control</database> | ||
| 153 | + <port>3306</port> | ||
| 154 | + <username>root</username> | ||
| 155 | + <password>Encrypted </password> | ||
| 156 | + <servername/> | ||
| 157 | + <data_tablespace/> | ||
| 158 | + <index_tablespace/> | ||
| 159 | + <attributes> | ||
| 160 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 161 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 162 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 163 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 164 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 165 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 166 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 167 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 168 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 169 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 170 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 171 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 172 | + </attributes> | ||
| 173 | + </connection> | ||
| 174 | + <connection> | ||
| 175 | + <name>xlab_mysql_youle</name> | ||
| 176 | + <server>101.231.124.8</server> | ||
| 177 | + <type>MYSQL</type> | ||
| 178 | + <access>Native</access> | ||
| 179 | + <database>xlab_youle</database> | ||
| 180 | + <port>45687</port> | ||
| 181 | + <username>xlab-youle</username> | ||
| 182 | + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password> | ||
| 183 | + <servername/> | ||
| 184 | + <data_tablespace/> | ||
| 185 | + <index_tablespace/> | ||
| 186 | + <attributes> | ||
| 187 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 188 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 189 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 190 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 191 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 192 | + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute> | ||
| 193 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 194 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 195 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 196 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 197 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 198 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 199 | + </attributes> | ||
| 200 | + </connection> | ||
| 201 | + <connection> | ||
| 202 | + <name>xlab_mysql_youle(本机)</name> | ||
| 203 | + <server>localhost</server> | ||
| 204 | + <type>MYSQL</type> | ||
| 205 | + <access>Native</access> | ||
| 206 | + <database>xlab_youle</database> | ||
| 207 | + <port>3306</port> | ||
| 208 | + <username>root</username> | ||
| 209 | + <password>Encrypted </password> | ||
| 210 | + <servername/> | ||
| 211 | + <data_tablespace/> | ||
| 212 | + <index_tablespace/> | ||
| 213 | + <attributes> | ||
| 214 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 215 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 216 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 217 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 218 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 219 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 220 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 221 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 222 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 223 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 224 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 225 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 226 | + </attributes> | ||
| 227 | + </connection> | ||
| 228 | + <connection> | ||
| 229 | + <name>xlab_youle</name> | ||
| 230 | + <server/> | ||
| 231 | + <type>MYSQL</type> | ||
| 232 | + <access>JNDI</access> | ||
| 233 | + <database>xlab_youle</database> | ||
| 234 | + <port>1521</port> | ||
| 235 | + <username/> | ||
| 236 | + <password>Encrypted </password> | ||
| 237 | + <servername/> | ||
| 238 | + <data_tablespace/> | ||
| 239 | + <index_tablespace/> | ||
| 240 | + <attributes> | ||
| 241 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 242 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 243 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 244 | + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | ||
| 245 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 246 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 247 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 248 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 249 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 250 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 251 | + </attributes> | ||
| 252 | + </connection> | ||
| 253 | + <order> | ||
| 254 | + <hop> <from>时刻表明细分组数据</from><to>过滤记录</to><enabled>Y</enabled> </hop> | ||
| 255 | + <hop> <from>过滤记录</from><to>计算站点</to><enabled>Y</enabled> </hop> | ||
| 256 | + <hop> <from>计算站点</from><to>查找站点名</to><enabled>Y</enabled> </hop> | ||
| 257 | + <hop> <from>查找站点名</from><to>计算反范式元数据</to><enabled>Y</enabled> </hop> | ||
| 258 | + <hop> <from>查找站点名</from><to>计算excel输出字段</to><enabled>Y</enabled> </hop> | ||
| 259 | + <hop> <from>计算excel输出字段</from><to>字段选择</to><enabled>Y</enabled> </hop> | ||
| 260 | + <hop> <from>字段选择</from><to>排序记录</to><enabled>Y</enabled> </hop> | ||
| 261 | + <hop> <from>生成路牌字段</from><to>排序记录</to><enabled>Y</enabled> </hop> | ||
| 262 | + <hop> <from>计算反范式元数据</from><to>ETL元数据注入</to><enabled>Y</enabled> </hop> | ||
| 263 | + <hop> <from>排序记录</from><to>ETL元数据注入</to><enabled>Y</enabled> </hop> | ||
| 264 | + </order> | ||
| 265 | + <step> | ||
| 266 | + <name>ETL元数据注入</name> | ||
| 267 | + <type>MetaInject</type> | ||
| 268 | + <description/> | ||
| 269 | + <distribute>Y</distribute> | ||
| 270 | + <custom_distribution/> | ||
| 271 | + <copies>1</copies> | ||
| 272 | + <partitioning> | ||
| 273 | + <method>none</method> | ||
| 274 | + <schema_name/> | ||
| 275 | + </partitioning> | ||
| 276 | + <specification_method>filename</specification_method> | ||
| 277 | + <trans_object_id/> | ||
| 278 | + <trans_name/> | ||
| 279 | + <filename>${injectktrfile}</filename> | ||
| 280 | + <directory_path/> | ||
| 281 | + <source_step/> | ||
| 282 | + <source_output_fields> </source_output_fields> <target_file/> | ||
| 283 | + <no_execution>N</no_execution> | ||
| 284 | + <stream_source_step/> | ||
| 285 | + <stream_target_step/> | ||
| 286 | + <mappings> <mapping> <target_step_name>列转行</target_step_name> | ||
| 287 | + <target_attribute_key>TARGET_TYPE</target_attribute_key> | ||
| 288 | + <target_detail>Y</target_detail> | ||
| 289 | + <source_step>计算反范式元数据</source_step> | ||
| 290 | + <source_field>targettype</source_field> | ||
| 291 | + </mapping> <mapping> <target_step_name>Excel输出</target_step_name> | ||
| 292 | + <target_attribute_key>TYPE</target_attribute_key> | ||
| 293 | + <target_detail>Y</target_detail> | ||
| 294 | + <source_step>排序记录</source_step> | ||
| 295 | + <source_field>fieldtype</source_field> | ||
| 296 | + </mapping> <mapping> <target_step_name>列转行</target_step_name> | ||
| 297 | + <target_attribute_key>NAME</target_attribute_key> | ||
| 298 | + <target_detail>Y</target_detail> | ||
| 299 | + <source_step>计算反范式元数据</source_step> | ||
| 300 | + <source_field>valuefieldname</source_field> | ||
| 301 | + </mapping> <mapping> <target_step_name>Excel输出</target_step_name> | ||
| 302 | + <target_attribute_key>NAME</target_attribute_key> | ||
| 303 | + <target_detail>Y</target_detail> | ||
| 304 | + <source_step>排序记录</source_step> | ||
| 305 | + <source_field>fieldname</source_field> | ||
| 306 | + </mapping> <mapping> <target_step_name>列转行</target_step_name> | ||
| 307 | + <target_attribute_key>TARGET_NAME</target_attribute_key> | ||
| 308 | + <target_detail>Y</target_detail> | ||
| 309 | + <source_step>计算反范式元数据</source_step> | ||
| 310 | + <source_field>targetfieldname</source_field> | ||
| 311 | + </mapping> <mapping> <target_step_name>列转行</target_step_name> | ||
| 312 | + <target_attribute_key>KEY_VALUE</target_attribute_key> | ||
| 313 | + <target_detail>Y</target_detail> | ||
| 314 | + <source_step>计算反范式元数据</source_step> | ||
| 315 | + <source_field>keyvalue</source_field> | ||
| 316 | + </mapping> </mappings> <cluster_schema/> | ||
| 317 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 318 | + <xloc>640</xloc> | ||
| 319 | + <yloc>64</yloc> | ||
| 320 | + <draw>Y</draw> | ||
| 321 | + </GUI> | ||
| 322 | + </step> | ||
| 323 | + | ||
| 324 | + <step> | ||
| 325 | + <name>时刻表明细分组数据</name> | ||
| 326 | + <type>TableInput</type> | ||
| 327 | + <description/> | ||
| 328 | + <distribute>Y</distribute> | ||
| 329 | + <custom_distribution/> | ||
| 330 | + <copies>1</copies> | ||
| 331 | + <partitioning> | ||
| 332 | + <method>none</method> | ||
| 333 | + <schema_name/> | ||
| 334 | + </partitioning> | ||
| 335 | + <connection>bus_control_variable</connection> | ||
| 336 | + <sql>select 
fcno
, min(xl_dir) xl_dir
,min(qdz) qdz
,min(zdz) zdz
,bc_type 
from bsth_c_s_ttinfo_detail
where ttinfo = ${ttinfoid}
group by fcno,bc_type</sql> | ||
| 337 | + <limit>0</limit> | ||
| 338 | + <lookup/> | ||
| 339 | + <execute_each_row>N</execute_each_row> | ||
| 340 | + <variables_active>Y</variables_active> | ||
| 341 | + <lazy_conversion_active>N</lazy_conversion_active> | ||
| 342 | + <cluster_schema/> | ||
| 343 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 344 | + <xloc>56</xloc> | ||
| 345 | + <yloc>185</yloc> | ||
| 346 | + <draw>Y</draw> | ||
| 347 | + </GUI> | ||
| 348 | + </step> | ||
| 349 | + | ||
| 350 | + <step> | ||
| 351 | + <name>过滤记录</name> | ||
| 352 | + <type>FilterRows</type> | ||
| 353 | + <description/> | ||
| 354 | + <distribute>Y</distribute> | ||
| 355 | + <custom_distribution/> | ||
| 356 | + <copies>1</copies> | ||
| 357 | + <partitioning> | ||
| 358 | + <method>none</method> | ||
| 359 | + <schema_name/> | ||
| 360 | + </partitioning> | ||
| 361 | +<send_true_to/> | ||
| 362 | +<send_false_to/> | ||
| 363 | + <compare> | ||
| 364 | +<condition> | ||
| 365 | + <negated>N</negated> | ||
| 366 | + <leftvalue>bc_type</leftvalue> | ||
| 367 | + <function>IS NOT NULL</function> | ||
| 368 | + <rightvalue/> | ||
| 369 | + </condition> | ||
| 370 | + </compare> | ||
| 371 | + <cluster_schema/> | ||
| 372 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 373 | + <xloc>182</xloc> | ||
| 374 | + <yloc>189</yloc> | ||
| 375 | + <draw>Y</draw> | ||
| 376 | + </GUI> | ||
| 377 | + </step> | ||
| 378 | + | ||
| 379 | + <step> | ||
| 380 | + <name>计算站点</name> | ||
| 381 | + <type>ScriptValueMod</type> | ||
| 382 | + <description/> | ||
| 383 | + <distribute>Y</distribute> | ||
| 384 | + <custom_distribution/> | ||
| 385 | + <copies>1</copies> | ||
| 386 | + <partitioning> | ||
| 387 | + <method>none</method> | ||
| 388 | + <schema_name/> | ||
| 389 | + </partitioning> | ||
| 390 | + <compatible>N</compatible> | ||
| 391 | + <optimizationLevel>9</optimizationLevel> | ||
| 392 | + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> | ||
| 393 | + <jsScript_name>Script 1</jsScript_name> | ||
| 394 | + <jsScript_script>//Script here

var zd;

if (bc_type == 'in') {
 zd = qdz;
} else if (bc_type == 'out') {
 zd = zdz;
} else if (bc_type == 'normal') {
 zd = qdz;
} else {
 zd = qdz;
}
</jsScript_script> | ||
| 395 | + </jsScript> </jsScripts> <fields> <field> <name>zd</name> | ||
| 396 | + <rename>zd</rename> | ||
| 397 | + <type>String</type> | ||
| 398 | + <length>-1</length> | ||
| 399 | + <precision>-1</precision> | ||
| 400 | + <replace>N</replace> | ||
| 401 | + </field> </fields> <cluster_schema/> | ||
| 402 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 403 | + <xloc>300</xloc> | ||
| 404 | + <yloc>190</yloc> | ||
| 405 | + <draw>Y</draw> | ||
| 406 | + </GUI> | ||
| 407 | + </step> | ||
| 408 | + | ||
| 409 | + <step> | ||
| 410 | + <name>查找站点名</name> | ||
| 411 | + <type>DBLookup</type> | ||
| 412 | + <description/> | ||
| 413 | + <distribute>N</distribute> | ||
| 414 | + <custom_distribution/> | ||
| 415 | + <copies>1</copies> | ||
| 416 | + <partitioning> | ||
| 417 | + <method>none</method> | ||
| 418 | + <schema_name/> | ||
| 419 | + </partitioning> | ||
| 420 | + <connection>bus_control_variable</connection> | ||
| 421 | + <cache>N</cache> | ||
| 422 | + <cache_load_all>N</cache_load_all> | ||
| 423 | + <cache_size>0</cache_size> | ||
| 424 | + <lookup> | ||
| 425 | + <schema/> | ||
| 426 | + <table>bsth_c_stationroute</table> | ||
| 427 | + <orderby/> | ||
| 428 | + <fail_on_multiple>N</fail_on_multiple> | ||
| 429 | + <eat_row_on_failure>N</eat_row_on_failure> | ||
| 430 | + <key> | ||
| 431 | + <name>zd</name> | ||
| 432 | + <field>station</field> | ||
| 433 | + <condition>=</condition> | ||
| 434 | + <name2/> | ||
| 435 | + </key> | ||
| 436 | + <key> | ||
| 437 | + <name>xl_dir</name> | ||
| 438 | + <field>directions</field> | ||
| 439 | + <condition>=</condition> | ||
| 440 | + <name2/> | ||
| 441 | + </key> | ||
| 442 | + <value> | ||
| 443 | + <name>station_name</name> | ||
| 444 | + <rename>zdname</rename> | ||
| 445 | + <default/> | ||
| 446 | + <type>String</type> | ||
| 447 | + </value> | ||
| 448 | + </lookup> | ||
| 449 | + <cluster_schema/> | ||
| 450 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 451 | + <xloc>410</xloc> | ||
| 452 | + <yloc>191</yloc> | ||
| 453 | + <draw>Y</draw> | ||
| 454 | + </GUI> | ||
| 455 | + </step> | ||
| 456 | + | ||
| 457 | + <step> | ||
| 458 | + <name>计算反范式元数据</name> | ||
| 459 | + <type>ScriptValueMod</type> | ||
| 460 | + <description/> | ||
| 461 | + <distribute>Y</distribute> | ||
| 462 | + <custom_distribution/> | ||
| 463 | + <copies>1</copies> | ||
| 464 | + <partitioning> | ||
| 465 | + <method>none</method> | ||
| 466 | + <schema_name/> | ||
| 467 | + </partitioning> | ||
| 468 | + <compatible>N</compatible> | ||
| 469 | + <optimizationLevel>9</optimizationLevel> | ||
| 470 | + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> | ||
| 471 | + <jsScript_name>Script 1</jsScript_name> | ||
| 472 | + <jsScript_script>//Script here

var targetfieldname; // 目标字段名
var targettype; // 目标类型
var valuefieldname; // 值字段名
var keyvalue; // 关键字值

if (bc_type == 'in') {
 targetfieldname = '进场' + fcno;
} else if (bc_type == 'out') {
 targetfieldname = '出场' + fcno;
} else if (bc_type == 'normal') {
 targetfieldname = zdname + fcno;
} else {
 targetfieldname = zdname + fcno;
} 

targettype = 'String';
valuefieldname = 'fcsj';
keyvalue = fcno;
</jsScript_script> | ||
| 473 | + </jsScript> </jsScripts> <fields> <field> <name>targetfieldname</name> | ||
| 474 | + <rename>targetfieldname</rename> | ||
| 475 | + <type>String</type> | ||
| 476 | + <length>-1</length> | ||
| 477 | + <precision>-1</precision> | ||
| 478 | + <replace>N</replace> | ||
| 479 | + </field> <field> <name>targettype</name> | ||
| 480 | + <rename>targettype</rename> | ||
| 481 | + <type>String</type> | ||
| 482 | + <length>-1</length> | ||
| 483 | + <precision>-1</precision> | ||
| 484 | + <replace>N</replace> | ||
| 485 | + </field> <field> <name>valuefieldname</name> | ||
| 486 | + <rename>valuefieldname</rename> | ||
| 487 | + <type>String</type> | ||
| 488 | + <length>-1</length> | ||
| 489 | + <precision>-1</precision> | ||
| 490 | + <replace>N</replace> | ||
| 491 | + </field> <field> <name>keyvalue</name> | ||
| 492 | + <rename>keyvalue</rename> | ||
| 493 | + <type>String</type> | ||
| 494 | + <length>-1</length> | ||
| 495 | + <precision>-1</precision> | ||
| 496 | + <replace>N</replace> | ||
| 497 | + </field> </fields> <cluster_schema/> | ||
| 498 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 499 | + <xloc>410</xloc> | ||
| 500 | + <yloc>64</yloc> | ||
| 501 | + <draw>Y</draw> | ||
| 502 | + </GUI> | ||
| 503 | + </step> | ||
| 504 | + | ||
| 505 | + <step> | ||
| 506 | + <name>计算excel输出字段</name> | ||
| 507 | + <type>ScriptValueMod</type> | ||
| 508 | + <description/> | ||
| 509 | + <distribute>Y</distribute> | ||
| 510 | + <custom_distribution/> | ||
| 511 | + <copies>1</copies> | ||
| 512 | + <partitioning> | ||
| 513 | + <method>none</method> | ||
| 514 | + <schema_name/> | ||
| 515 | + </partitioning> | ||
| 516 | + <compatible>N</compatible> | ||
| 517 | + <optimizationLevel>9</optimizationLevel> | ||
| 518 | + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> | ||
| 519 | + <jsScript_name>Script 1</jsScript_name> | ||
| 520 | + <jsScript_script>//Script here

var fieldname; // 字段名
var fieldtype; // 字段类型

if (bc_type == 'in') {
 fieldname = '进场' + fcno;
} else if (bc_type == 'out') {
 fieldname = '出场' + fcno;
} else if (bc_type == 'normal') {
 fieldname = zdname + fcno;
} else {
 fieldname = zdname + fcno;
} 

fieldtype = 'String';
</jsScript_script> | ||
| 521 | + </jsScript> </jsScripts> <fields> <field> <name>fieldname</name> | ||
| 522 | + <rename>fieldname</rename> | ||
| 523 | + <type>String</type> | ||
| 524 | + <length>-1</length> | ||
| 525 | + <precision>-1</precision> | ||
| 526 | + <replace>N</replace> | ||
| 527 | + </field> <field> <name>fieldtype</name> | ||
| 528 | + <rename>fieldtype</rename> | ||
| 529 | + <type>String</type> | ||
| 530 | + <length>-1</length> | ||
| 531 | + <precision>-1</precision> | ||
| 532 | + <replace>N</replace> | ||
| 533 | + </field> </fields> <cluster_schema/> | ||
| 534 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 535 | + <xloc>410</xloc> | ||
| 536 | + <yloc>326</yloc> | ||
| 537 | + <draw>Y</draw> | ||
| 538 | + </GUI> | ||
| 539 | + </step> | ||
| 540 | + | ||
| 541 | + <step> | ||
| 542 | + <name>字段选择</name> | ||
| 543 | + <type>SelectValues</type> | ||
| 544 | + <description/> | ||
| 545 | + <distribute>Y</distribute> | ||
| 546 | + <custom_distribution/> | ||
| 547 | + <copies>1</copies> | ||
| 548 | + <partitioning> | ||
| 549 | + <method>none</method> | ||
| 550 | + <schema_name/> | ||
| 551 | + </partitioning> | ||
| 552 | + <fields> <field> <name>fieldname</name> | ||
| 553 | + <rename/> | ||
| 554 | + <length>-2</length> | ||
| 555 | + <precision>-2</precision> | ||
| 556 | + </field> <field> <name>fieldtype</name> | ||
| 557 | + <rename/> | ||
| 558 | + <length>-2</length> | ||
| 559 | + <precision>-2</precision> | ||
| 560 | + </field> <field> <name>fcno</name> | ||
| 561 | + <rename/> | ||
| 562 | + <length>-2</length> | ||
| 563 | + <precision>-2</precision> | ||
| 564 | + </field> <select_unspecified>N</select_unspecified> | ||
| 565 | + </fields> <cluster_schema/> | ||
| 566 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 567 | + <xloc>533</xloc> | ||
| 568 | + <yloc>325</yloc> | ||
| 569 | + <draw>Y</draw> | ||
| 570 | + </GUI> | ||
| 571 | + </step> | ||
| 572 | + | ||
| 573 | + <step> | ||
| 574 | + <name>生成路牌字段</name> | ||
| 575 | + <type>RowGenerator</type> | ||
| 576 | + <description/> | ||
| 577 | + <distribute>Y</distribute> | ||
| 578 | + <custom_distribution/> | ||
| 579 | + <copies>1</copies> | ||
| 580 | + <partitioning> | ||
| 581 | + <method>none</method> | ||
| 582 | + <schema_name/> | ||
| 583 | + </partitioning> | ||
| 584 | + <fields> | ||
| 585 | + <field> | ||
| 586 | + <name>fieldname</name> | ||
| 587 | + <type>String</type> | ||
| 588 | + <format/> | ||
| 589 | + <currency/> | ||
| 590 | + <decimal/> | ||
| 591 | + <group/> | ||
| 592 | + <nullif>路牌</nullif> | ||
| 593 | + <length>-1</length> | ||
| 594 | + <precision>-1</precision> | ||
| 595 | + <set_empty_string>N</set_empty_string> | ||
| 596 | + </field> | ||
| 597 | + <field> | ||
| 598 | + <name>fieldtype</name> | ||
| 599 | + <type>String</type> | ||
| 600 | + <format/> | ||
| 601 | + <currency/> | ||
| 602 | + <decimal/> | ||
| 603 | + <group/> | ||
| 604 | + <nullif>String</nullif> | ||
| 605 | + <length>-1</length> | ||
| 606 | + <precision>-1</precision> | ||
| 607 | + <set_empty_string>N</set_empty_string> | ||
| 608 | + </field> | ||
| 609 | + <field> | ||
| 610 | + <name>fcno</name> | ||
| 611 | + <type>Integer</type> | ||
| 612 | + <format/> | ||
| 613 | + <currency/> | ||
| 614 | + <decimal/> | ||
| 615 | + <group/> | ||
| 616 | + <nullif>0</nullif> | ||
| 617 | + <length>-1</length> | ||
| 618 | + <precision>-1</precision> | ||
| 619 | + <set_empty_string>N</set_empty_string> | ||
| 620 | + </field> | ||
| 621 | + </fields> | ||
| 622 | + <limit>1</limit> | ||
| 623 | + <never_ending>N</never_ending> | ||
| 624 | + <interval_in_ms>5000</interval_in_ms> | ||
| 625 | + <row_time_field>now</row_time_field> | ||
| 626 | + <last_time_field>FiveSecondsAgo</last_time_field> | ||
| 627 | + <cluster_schema/> | ||
| 628 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 629 | + <xloc>530</xloc> | ||
| 630 | + <yloc>194</yloc> | ||
| 631 | + <draw>Y</draw> | ||
| 632 | + </GUI> | ||
| 633 | + </step> | ||
| 634 | + | ||
| 635 | + <step> | ||
| 636 | + <name>排序记录</name> | ||
| 637 | + <type>SortRows</type> | ||
| 638 | + <description/> | ||
| 639 | + <distribute>Y</distribute> | ||
| 640 | + <custom_distribution/> | ||
| 641 | + <copies>1</copies> | ||
| 642 | + <partitioning> | ||
| 643 | + <method>none</method> | ||
| 644 | + <schema_name/> | ||
| 645 | + </partitioning> | ||
| 646 | + <directory>%%java.io.tmpdir%%</directory> | ||
| 647 | + <prefix>out</prefix> | ||
| 648 | + <sort_size>1000000</sort_size> | ||
| 649 | + <free_memory/> | ||
| 650 | + <compress>N</compress> | ||
| 651 | + <compress_variable/> | ||
| 652 | + <unique_rows>N</unique_rows> | ||
| 653 | + <fields> | ||
| 654 | + <field> | ||
| 655 | + <name>fcno</name> | ||
| 656 | + <ascending>Y</ascending> | ||
| 657 | + <case_sensitive>N</case_sensitive> | ||
| 658 | + <presorted>N</presorted> | ||
| 659 | + </field> | ||
| 660 | + </fields> | ||
| 661 | + <cluster_schema/> | ||
| 662 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 663 | + <xloc>642</xloc> | ||
| 664 | + <yloc>325</yloc> | ||
| 665 | + <draw>Y</draw> | ||
| 666 | + </GUI> | ||
| 667 | + </step> | ||
| 668 | + | ||
| 669 | + <step_error_handling> | ||
| 670 | + </step_error_handling> | ||
| 671 | + <slave-step-copy-partition-distribution> | ||
| 672 | +</slave-step-copy-partition-distribution> | ||
| 673 | + <slave_transformation>N</slave_transformation> | ||
| 674 | + | ||
| 675 | +</transformation> |
src/main/resources/static/pages/base/carpark/js/carpark-positions-function.js
| @@ -59,11 +59,11 @@ var PublicFunctions = function () { | @@ -59,11 +59,11 @@ var PublicFunctions = function () { | ||
| 59 | 59 | ||
| 60 | var shapesV = ''; | 60 | var shapesV = ''; |
| 61 | 61 | ||
| 62 | - if(r[0].carParkShapesType='d') { | 62 | + if(r[0].carParkShapesType=='d') { |
| 63 | 63 | ||
| 64 | shapesV = '多边形'; | 64 | shapesV = '多边形'; |
| 65 | 65 | ||
| 66 | - }else if(r[0].carParkShapesType='r') { | 66 | + }else if(r[0].carParkShapesType=='r') { |
| 67 | 67 | ||
| 68 | shapesV = '圆形'; | 68 | shapesV = '圆形'; |
| 69 | 69 |
src/main/resources/static/pages/base/carpark/js/carpark-positions-map.js
| @@ -326,7 +326,6 @@ var CarParkPWorldsBMap = function () { | @@ -326,7 +326,6 @@ var CarParkPWorldsBMap = function () { | ||
| 326 | 326 | ||
| 327 | // 编辑图形 | 327 | // 编辑图形 |
| 328 | editShapes : function(stationShapesTypeV,mindex) { | 328 | editShapes : function(stationShapesTypeV,mindex) { |
| 329 | - | ||
| 330 | // 关闭信息窗口 | 329 | // 关闭信息窗口 |
| 331 | marker.closeInfoWindow(); | 330 | marker.closeInfoWindow(); |
| 332 | 331 |
src/main/resources/static/pages/base/stationroute/js/stationroute-list-function.js
| @@ -438,10 +438,10 @@ var PublicFunctions = function () { | @@ -438,10 +438,10 @@ var PublicFunctions = function () { | ||
| 438 | // 刷行左边树 | 438 | // 刷行左边树 |
| 439 | PublicFunctions.resjtreeDate(Line.id,stationRouteDirections); | 439 | PublicFunctions.resjtreeDate(Line.id,stationRouteDirections); |
| 440 | 440 | ||
| 441 | - /** 查询上行路段信息 @param:<Line.id:线路Id;0:上行> @return:data:上行路段数据 */ | 441 | + /** 查询上行路段信息 @param:<Line.id:线路Id;0:上行> @return:data:路段数据 */ |
| 442 | GetAjaxData.getSectionRouteInfo(Line.id,stationRouteDirections,function(data) { | 442 | GetAjaxData.getSectionRouteInfo(Line.id,stationRouteDirections,function(data) { |
| 443 | 443 | ||
| 444 | - /** 在地图上画出线路走向 @param:<Line.id:线路Id;0:上行;data:上行路段数据> */ | 444 | + /** 在地图上画出线路走向 @param:<Line.id:线路Id;0:上行;data:路段数据> */ |
| 445 | PublicFunctions.linePanlThree(Line.id,data,stationRouteDirections); | 445 | PublicFunctions.linePanlThree(Line.id,data,stationRouteDirections); |
| 446 | 446 | ||
| 447 | }); | 447 | }); |
| @@ -594,8 +594,45 @@ var PublicFunctions = function () { | @@ -594,8 +594,45 @@ var PublicFunctions = function () { | ||
| 594 | $('#descriptionsTextarea').val(Section.descriptions); | 594 | $('#descriptionsTextarea').val(Section.descriptions); |
| 595 | 595 | ||
| 596 | }, | 596 | }, |
| 597 | + //lineId,data,direction | ||
| 598 | + treeSectionClick: function(lineId,data,direction){ | ||
| 599 | + /** 获取站点路由信息 @param:<Line.id:线路Id;0:上行> @return:<resultdata:站点路由数据> */ | ||
| 600 | + WorldsBMap.clearMarkAndOverlays(); | ||
| 601 | + // 编辑路段数据 | ||
| 602 | + for(var d= 0; d<data.length;d++){ | ||
| 603 | + | ||
| 604 | + // 地图折线坐标点集合 | ||
| 605 | + var polylineArray = []; | ||
| 606 | + // 获取路段折线坐标字符串 | ||
| 607 | + var sectionBsectionVectorStr = data[d].sectionBsectionVector; | ||
| 608 | + | ||
| 609 | + if(sectionBsectionVectorStr==null) { | ||
| 610 | + | ||
| 611 | + continue; | ||
| 612 | + | ||
| 613 | + } | ||
| 614 | + | ||
| 615 | + // 切割段折线坐标字符串 | ||
| 616 | + var tempStr = sectionBsectionVectorStr.substring(11,sectionBsectionVectorStr.length-1); | ||
| 617 | + | ||
| 618 | + // 分割折线坐标字符串 | ||
| 619 | + var lineArray = tempStr.split(','); | ||
| 620 | + | ||
| 621 | + for(var i = 0;i<lineArray.length;i++) { | ||
| 622 | + | ||
| 623 | + polylineArray.push(new BMap.Point(lineArray[i].split(' ')[0],lineArray[i].split(' ')[1])); | ||
| 624 | + | ||
| 625 | + } | ||
| 626 | + var index = parseInt(polylineArray.length/2); | ||
| 627 | + var center = polylineArray[index]; | ||
| 628 | + /** 在地图上画出线路走向 @param:<polylineArray:地图折线坐标点集合;resultdata:站点路由数据> */ | ||
| 629 | + WorldsBMap.drawingUpline(polylineArray,center); | ||
| 630 | + /** 在地图上画点 @param:<point_center:中心坐标点> */ | ||
| 631 | + WorldsBMap.drawingUpStationPoint(center,data[d].name,d+1); | ||
| 632 | + } | ||
| 633 | + }, | ||
| 597 | 634 | ||
| 598 | - /** 在地图上画出线路走向 @param:<Line.id:线路Id;0:上行;data:上行路段数据> */ | 635 | + /** 在地图上画出线路走向 @param:<Line.id:线路Id;0:上行;data:路段数据> */ |
| 599 | linePanlThree : function(lineId,data,direction) { | 636 | linePanlThree : function(lineId,data,direction) { |
| 600 | 637 | ||
| 601 | /** 获取站点路由信息 @param:<Line.id:线路Id;0:上行> @return:<resultdata:站点路由数据> */ | 638 | /** 获取站点路由信息 @param:<Line.id:线路Id;0:上行> @return:<resultdata:站点路由数据> */ |
| @@ -603,18 +640,26 @@ var PublicFunctions = function () { | @@ -603,18 +640,26 @@ var PublicFunctions = function () { | ||
| 603 | 640 | ||
| 604 | WorldsBMap.clearMarkAndOverlays(); | 641 | WorldsBMap.clearMarkAndOverlays(); |
| 605 | 642 | ||
| 643 | + var ceter_index = Math.round(resultdata.length / 2); | ||
| 644 | + | ||
| 645 | + var ceterPointsStr = resultdata[ceter_index].bJwpoints; | ||
| 646 | + | ||
| 647 | + var ceterPointsArray = ceterPointsStr.split(' '); | ||
| 648 | + | ||
| 649 | + var polyline_center = new BMap.Point(ceterPointsArray[0],ceterPointsArray[1]); | ||
| 650 | + | ||
| 606 | // 路段数据长度 | 651 | // 路段数据长度 |
| 607 | var dataLen = data.length; | 652 | var dataLen = data.length; |
| 608 | - | 653 | + //debugger; |
| 609 | // 如果大于零 | 654 | // 如果大于零 |
| 610 | if(dataLen>0) { | 655 | if(dataLen>0) { |
| 611 | 656 | ||
| 612 | - // 地图折线坐标点集合 | ||
| 613 | - var polylineArray = []; | ||
| 614 | - | ||
| 615 | // 编辑路段数据 | 657 | // 编辑路段数据 |
| 616 | for(var d= 0; d<dataLen;d++){ | 658 | for(var d= 0; d<dataLen;d++){ |
| 617 | 659 | ||
| 660 | + // 地图折线坐标点集合 | ||
| 661 | + var polylineArray = []; | ||
| 662 | + | ||
| 618 | // 获取路段折线坐标字符串 | 663 | // 获取路段折线坐标字符串 |
| 619 | var sectionBsectionVectorStr = data[d].sectionBsectionVector; | 664 | var sectionBsectionVectorStr = data[d].sectionBsectionVector; |
| 620 | 665 | ||
| @@ -636,11 +681,11 @@ var PublicFunctions = function () { | @@ -636,11 +681,11 @@ var PublicFunctions = function () { | ||
| 636 | 681 | ||
| 637 | } | 682 | } |
| 638 | 683 | ||
| 684 | + /** 在地图上画出线路走向 @param:<polylineArray:地图折线坐标点集合;resultdata:站点路由数据> */ | ||
| 685 | + WorldsBMap.drawingUpline(polylineArray,polyline_center); | ||
| 686 | + | ||
| 639 | } | 687 | } |
| 640 | 688 | ||
| 641 | - /** 在地图上画出线路走向 @param:<polylineArray:地图折线坐标点集合;resultdata:站点路由数据> */ | ||
| 642 | - WorldsBMap.drawingUpline(polylineArray,resultdata); | ||
| 643 | - | ||
| 644 | // 如果站点路由数据不为空 | 689 | // 如果站点路由数据不为空 |
| 645 | if(resultdata.length>0) { | 690 | if(resultdata.length>0) { |
| 646 | 691 |
src/main/resources/static/pages/base/stationroute/js/stationroute-list-map.js
| @@ -651,10 +651,9 @@ var WorldsBMap = function () { | @@ -651,10 +651,9 @@ var WorldsBMap = function () { | ||
| 651 | }, | 651 | }, |
| 652 | 652 | ||
| 653 | // 在地图上画出上行线路走向 | 653 | // 在地图上画出上行线路走向 |
| 654 | - drawingUpline : function (polylineArray,resultdata) { | ||
| 655 | - | ||
| 656 | - WorldsBMap.clearMarkAndOverlays(); | 654 | + drawingUpline : function (polylineArray,polyline_center) { |
| 657 | 655 | ||
| 656 | + /*WorldsBMap.clearMarkAndOverlays();*/ | ||
| 658 | polyUpline = ''; | 657 | polyUpline = ''; |
| 659 | 658 | ||
| 660 | // 创建线路走向 | 659 | // 创建线路走向 |
| @@ -663,13 +662,13 @@ var WorldsBMap = function () { | @@ -663,13 +662,13 @@ var WorldsBMap = function () { | ||
| 663 | // 把折线添加到地图上 | 662 | // 把折线添加到地图上 |
| 664 | mapBValue.addOverlay(polyUpline); | 663 | mapBValue.addOverlay(polyUpline); |
| 665 | 664 | ||
| 666 | - var ceter_index = Math.round(resultdata.length / 2); | 665 | + /*var ceter_index = Math.round(resultdata.length / 2); |
| 667 | 666 | ||
| 668 | var ceterPointsStr = resultdata[ceter_index].bJwpoints; | 667 | var ceterPointsStr = resultdata[ceter_index].bJwpoints; |
| 669 | 668 | ||
| 670 | var ceterPointsArray = ceterPointsStr.split(' '); | 669 | var ceterPointsArray = ceterPointsStr.split(' '); |
| 671 | 670 | ||
| 672 | - var polyline_center = new BMap.Point(ceterPointsArray[0],ceterPointsArray[1]); | 671 | + var polyline_center = new BMap.Point(ceterPointsArray[0],ceterPointsArray[1]);*/ |
| 673 | 672 | ||
| 674 | var PanOptions_ ={noAnimation :true}; | 673 | var PanOptions_ ={noAnimation :true}; |
| 675 | 674 |
src/main/resources/static/pages/base/stationroute/js/stationroute-list-reload.js
| @@ -62,10 +62,10 @@ $(function(){ | @@ -62,10 +62,10 @@ $(function(){ | ||
| 62 | /** 初始化下行树 @param:<Line.id:线路Id;0:下行> */ | 62 | /** 初始化下行树 @param:<Line.id:线路Id;0:下行> */ |
| 63 | PublicFunctions.TreeUpOrDown(Line.id,'1'); | 63 | PublicFunctions.TreeUpOrDown(Line.id,'1'); |
| 64 | 64 | ||
| 65 | - /** 查询上行路段信息 @param:<Line.id:线路Id;0:上行> @return:data:上行路段数据 */ | 65 | + /** 查询路段信息 @param:<Line.id:线路Id;0:上行> @return:data:路段数据 */ |
| 66 | GetAjaxData.getSectionRouteInfo(Line.id,'0',function(data) { | 66 | GetAjaxData.getSectionRouteInfo(Line.id,'0',function(data) { |
| 67 | 67 | ||
| 68 | - /** 在地图上画出线路走向 @param:<Line.id:线路Id;0:上行;data:上行路段数据> */ | 68 | + /** 在地图上画出线路走向 @param:<Line.id:线路Id;0:上行;data:路段数据> */ |
| 69 | PublicFunctions.linePanlThree(Line.id,data,'0'); | 69 | PublicFunctions.linePanlThree(Line.id,data,'0'); |
| 70 | 70 | ||
| 71 | }); | 71 | }); |
src/main/resources/static/pages/base/stationroute/js/stationroute-list-treedata.js
| @@ -57,8 +57,10 @@ var StationTreeData = function(){ | @@ -57,8 +57,10 @@ var StationTreeData = function(){ | ||
| 57 | // 线路ID | 57 | // 线路ID |
| 58 | var Line = LineObj.getLineObj(); | 58 | var Line = LineObj.getLineObj(); |
| 59 | 59 | ||
| 60 | + /*// 百度地图画路段 | ||
| 61 | + PublicFunctions.linePanlThree(Line.id,polylineArray,dire_);*/ | ||
| 60 | // 百度地图画路段 | 62 | // 百度地图画路段 |
| 61 | - PublicFunctions.linePanlThree(Line.id,polylineArray,dire_); | 63 | + PublicFunctions.treeSectionClick(Line.id,polylineArray,dire_); |
| 62 | 64 | ||
| 63 | } | 65 | } |
| 64 | 66 | ||
| @@ -151,7 +153,8 @@ var StationTreeData = function(){ | @@ -151,7 +153,8 @@ var StationTreeData = function(){ | ||
| 151 | var polylineArray_ = [edtste]; | 153 | var polylineArray_ = [edtste]; |
| 152 | 154 | ||
| 153 | // 百度地图画路段 | 155 | // 百度地图画路段 |
| 154 | - PublicFunctions.linePanlThree(edtste.sectionrouteLine,polylineArray_,edtste.sectionrouteDirections); | 156 | + // PublicFunctions.linePanlThree(edtste.sectionrouteLine,polylineArray_,edtste.sectionrouteDirections); |
| 157 | + PublicFunctions.treeSectionClick(Line.id,polylineArray,dire_); | ||
| 155 | 158 | ||
| 156 | parmasObj(); | 159 | parmasObj(); |
| 157 | 160 |
src/main/resources/static/pages/scheduleApp/module/common/prj-common-globalservice.js
| @@ -403,6 +403,22 @@ angular.module('ScheduleApp').factory('TimeTableDetailManageService_g', ['$resou | @@ -403,6 +403,22 @@ angular.module('ScheduleApp').factory('TimeTableDetailManageService_g', ['$resou | ||
| 403 | isArray: true | 403 | isArray: true |
| 404 | } | 404 | } |
| 405 | } | 405 | } |
| 406 | + ), | ||
| 407 | + dataTools: $resource( | ||
| 408 | + '/tidc/:type', | ||
| 409 | + {}, | ||
| 410 | + { | ||
| 411 | + dataExport: { | ||
| 412 | + method: 'GET', | ||
| 413 | + responseType: "arraybuffer", | ||
| 414 | + params: { | ||
| 415 | + type: "dataExportExt" | ||
| 416 | + }, | ||
| 417 | + transformResponse: function(data, headers){ | ||
| 418 | + return {data : data}; | ||
| 419 | + } | ||
| 420 | + } | ||
| 421 | + } | ||
| 406 | ) | 422 | ) |
| 407 | 423 | ||
| 408 | // TODO:导入数据 | 424 | // TODO:导入数据 |
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/list.html
| @@ -77,7 +77,7 @@ | @@ -77,7 +77,7 @@ | ||
| 77 | class="btn btn-info btn-sm" ng-if="info.isCancel == '0'"> 编辑 </a> | 77 | class="btn btn-info btn-sm" ng-if="info.isCancel == '0'"> 编辑 </a> |
| 78 | <a ui-sref="ttInfoDetailManage_form({xlid: info.xl.id, ttid : info.id, xlname: info.xl.name, ttname : info.name})" | 78 | <a ui-sref="ttInfoDetailManage_form({xlid: info.xl.id, ttid : info.id, xlname: info.xl.name, ttname : info.name})" |
| 79 | class="btn btn-info btn-sm" ng-if="info.isCancel == '0'"> 导入 </a> | 79 | class="btn btn-info btn-sm" ng-if="info.isCancel == '0'"> 导入 </a> |
| 80 | - <a href="javascript:" class="btn btn-info btn-sm"> 导出 </a> | 80 | + <a href="javascript:" class="btn btn-info btn-sm" ng-click="ctrl.exportData(info.id)"> 导出 </a> |
| 81 | </td> | 81 | </td> |
| 82 | <td> | 82 | <td> |
| 83 | <!--<a href="details.html?lineId={{obj.id}}" class="btn default blue-stripe btn-sm"> 详细 </a>--> | 83 | <!--<a href="details.html?lineId={{obj.id}}" class="btn default blue-stripe btn-sm"> 详细 </a>--> |
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/main.js
| @@ -3,7 +3,8 @@ angular.module('ScheduleApp').factory( | @@ -3,7 +3,8 @@ angular.module('ScheduleApp').factory( | ||
| 3 | 'TtInfoManageService', | 3 | 'TtInfoManageService', |
| 4 | [ | 4 | [ |
| 5 | 'TimeTableManageService_g', | 5 | 'TimeTableManageService_g', |
| 6 | - function(service) { | 6 | + 'TimeTableDetailManageService_g', |
| 7 | + function(service, dservice) { | ||
| 7 | // 当前查询的内容条件搜索对象 | 8 | // 当前查询的内容条件搜索对象 |
| 8 | var currentSearchCondition = {page: 0}; | 9 | var currentSearchCondition = {page: 0}; |
| 9 | // 当前查询返回的信息 | 10 | // 当前查询返回的信息 |
| @@ -42,6 +43,16 @@ angular.module('ScheduleApp').factory( | @@ -42,6 +43,16 @@ angular.module('ScheduleApp').factory( | ||
| 42 | content: [], | 43 | content: [], |
| 43 | uiNumber: 1 | 44 | uiNumber: 1 |
| 44 | }; | 45 | }; |
| 46 | + }, | ||
| 47 | + /** | ||
| 48 | + * 数据导出。 | ||
| 49 | + * @returns {*|Function|promise|n} | ||
| 50 | + */ | ||
| 51 | + dataExport: function(ttinfoid) { | ||
| 52 | + var param = {}; | ||
| 53 | + param.type = 'dataExportExt'; | ||
| 54 | + param.ttinfoid = ttinfoid; | ||
| 55 | + return dservice.dataTools.dataExport(param).$promise; | ||
| 45 | } | 56 | } |
| 46 | 57 | ||
| 47 | 58 | ||
| @@ -73,7 +84,8 @@ angular.module('ScheduleApp').controller( | @@ -73,7 +84,8 @@ angular.module('ScheduleApp').controller( | ||
| 73 | 'TtInfoManageListCtrl', | 84 | 'TtInfoManageListCtrl', |
| 74 | [ | 85 | [ |
| 75 | 'TtInfoManageService', | 86 | 'TtInfoManageService', |
| 76 | - function(service) { | 87 | + 'FileDownload_g', |
| 88 | + function(service, fileDownload) { | ||
| 77 | var self = this; | 89 | var self = this; |
| 78 | var TtInfo = service.getTtInfoQueryClass(); | 90 | var TtInfo = service.getTtInfoQueryClass(); |
| 79 | 91 | ||
| @@ -105,6 +117,17 @@ angular.module('ScheduleApp').controller( | @@ -105,6 +117,17 @@ angular.module('ScheduleApp').controller( | ||
| 105 | } | 117 | } |
| 106 | }); | 118 | }); |
| 107 | }; | 119 | }; |
| 120 | + // 导出excel | ||
| 121 | + self.exportData = function(ttinfoid) { | ||
| 122 | + service.dataExport(ttinfoid).then( | ||
| 123 | + function(result) { | ||
| 124 | + fileDownload.downloadFile(result.data, "application/octet-stream", "时刻表.xls"); | ||
| 125 | + }, | ||
| 126 | + function(result) { | ||
| 127 | + console.log("exportData failed:" + result); | ||
| 128 | + } | ||
| 129 | + ); | ||
| 130 | + }; | ||
| 108 | 131 | ||
| 109 | self.doPage(); | 132 | self.doPage(); |
| 110 | 133 |