Commit 29e324be9a745992821bd45d6caf1408fe47e21a
Merge branch 'minhang' of http://222.66.0.204:8090/panzhaov5/bsth_control into minhang
Showing
22 changed files
with
981 additions
and
1468 deletions
Too many changes to show.
To preserve performance only 22 of 171 files are displayed.
src/main/java/com/bsth/controller/BusinessController.java
| 1 | 1 | package com.bsth.controller; |
| 2 | 2 | |
| 3 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 3 | 4 | import org.springframework.web.bind.annotation.RequestMapping; |
| 5 | +import org.springframework.web.bind.annotation.RequestMethod; | |
| 4 | 6 | import org.springframework.web.bind.annotation.RestController; |
| 5 | 7 | |
| 6 | 8 | import com.bsth.entity.Business; |
| 9 | +import com.bsth.service.BusinessService; | |
| 10 | +import com.bsth.util.GetUIDAndCode; | |
| 7 | 11 | |
| 8 | 12 | /** |
| 9 | 13 | * |
| ... | ... | @@ -23,5 +27,11 @@ import com.bsth.entity.Business; |
| 23 | 27 | @RestController |
| 24 | 28 | @RequestMapping("business") |
| 25 | 29 | public class BusinessController extends BaseController<Business, Integer> { |
| 26 | - | |
| 30 | + @Autowired | |
| 31 | + private BusinessService businessService; | |
| 32 | + | |
| 33 | + @RequestMapping(value = "getCompCode", method = RequestMethod.GET) | |
| 34 | + public long getLineCode() { | |
| 35 | + return businessService.getCompCode(); | |
| 36 | + } | |
| 27 | 37 | } | ... | ... |
src/main/java/com/bsth/controller/SectionController.java
| ... | ... | @@ -48,13 +48,9 @@ public class SectionController extends BaseController<Section, Integer> { |
| 48 | 48 | */ |
| 49 | 49 | @RequestMapping(value="sectionSave" , method = RequestMethod.POST) |
| 50 | 50 | public Map<String, Object> sectionSave(@RequestParam Map<String, Object> map) { |
| 51 | - | |
| 52 | 51 | map.put("createBy", ""); |
| 53 | - | |
| 54 | 52 | map.put("updateBy", ""); |
| 55 | - | |
| 56 | 53 | return service.sectionSave(map); |
| 57 | - | |
| 58 | 54 | } |
| 59 | 55 | |
| 60 | 56 | /** | ... | ... |
src/main/java/com/bsth/controller/SectionRouteController.java
| ... | ... | @@ -57,7 +57,6 @@ public class SectionRouteController extends BaseController<SectionRoute, Integer |
| 57 | 57 | */ |
| 58 | 58 | @RequestMapping(value = "/findSectionRouteInfoFormId",method = RequestMethod.GET) |
| 59 | 59 | public List<Map<String, Object>> findSectionRouteInfoFormId(@RequestParam Map<String, Object> map) { |
| 60 | - | |
| 61 | 60 | return routeService.findSectionRouteInfoFormId(map); |
| 62 | 61 | } |
| 63 | 62 | ... | ... |
src/main/java/com/bsth/controller/StationController.java
| ... | ... | @@ -60,16 +60,12 @@ public class StationController extends BaseController<Station, Integer> { |
| 60 | 60 | */ |
| 61 | 61 | @RequestMapping(value="collectionSave" , method = RequestMethod.POST) |
| 62 | 62 | public Map<String, Object> collectionSave(@RequestParam Map<String, Object> map) { |
| 63 | - | |
| 64 | 63 | return service.systemSaveStations(map); |
| 65 | - | |
| 66 | 64 | } |
| 67 | 65 | |
| 68 | 66 | @RequestMapping(value="manualSave" , method = RequestMethod.POST) |
| 69 | 67 | public Map<String, Object> manualSave(@RequestParam Map<String, Object> map) { |
| 70 | - | |
| 71 | 68 | return service.manualSave(map); |
| 72 | - | |
| 73 | 69 | } |
| 74 | 70 | |
| 75 | 71 | /** |
| ... | ... | @@ -89,13 +85,9 @@ public class StationController extends BaseController<Station, Integer> { |
| 89 | 85 | */ |
| 90 | 86 | @RequestMapping(value="stationSave" , method = RequestMethod.POST) |
| 91 | 87 | public Map<String, Object> stationSave(@RequestParam Map<String, Object> map) { |
| 92 | - | |
| 93 | 88 | map.put("createBy", ""); |
| 94 | - | |
| 95 | 89 | map.put("updateBy", ""); |
| 96 | - | |
| 97 | 90 | return service.stationSaveMap(map); |
| 98 | - | |
| 99 | 91 | } |
| 100 | 92 | |
| 101 | 93 | /** | ... | ... |
src/main/java/com/bsth/controller/StationRouteController.java
| ... | ... | @@ -36,6 +36,17 @@ public class StationRouteController extends BaseController<StationRoute, Integer |
| 36 | 36 | @Autowired |
| 37 | 37 | StationRouteRepository stationRouteRepository; |
| 38 | 38 | |
| 39 | + /** | |
| 40 | + * @param @param map | |
| 41 | + * @throws | |
| 42 | + * @Title: list | |
| 43 | + * @Description: TODO(多条件查询) | |
| 44 | + */ | |
| 45 | + @RequestMapping(value = "/all", method = RequestMethod.GET) | |
| 46 | + public Iterable<StationRoute> list(@RequestParam Map<String, Object> map) { | |
| 47 | + return service.list(map); | |
| 48 | + } | |
| 49 | + | |
| 39 | 50 | /** |
| 40 | 51 | * @Description :TODO(查询树站点与路段数据) |
| 41 | 52 | * | ... | ... |
src/main/java/com/bsth/entity/Business.java
| 1 | 1 | package com.bsth.entity; |
| 2 | 2 | |
| 3 | +import java.util.Date; | |
| 4 | + | |
| 5 | +import javax.persistence.Column; | |
| 3 | 6 | import javax.persistence.Entity; |
| 4 | 7 | import javax.persistence.GeneratedValue; |
| 5 | 8 | import javax.persistence.GenerationType; |
| ... | ... | @@ -40,6 +43,29 @@ public class Business { |
| 40 | 43 | |
| 41 | 44 | // 描述 |
| 42 | 45 | private String descriptions; |
| 46 | + | |
| 47 | + // 创建日期 | |
| 48 | + @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP") | |
| 49 | + private Date createDate; | |
| 50 | + | |
| 51 | + // 修改日期 | |
| 52 | + @Column(name = "update_date", columnDefinition = "timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP") | |
| 53 | + private Date updateDate; | |
| 54 | + public Date getCreateDate() { | |
| 55 | + return createDate; | |
| 56 | + } | |
| 57 | + | |
| 58 | + public void setCreateDate(Date createDate) { | |
| 59 | + this.createDate = createDate; | |
| 60 | + } | |
| 61 | + | |
| 62 | + public Date getUpdateDate() { | |
| 63 | + return updateDate; | |
| 64 | + } | |
| 65 | + | |
| 66 | + public void setUpdateDate(Date updateDate) { | |
| 67 | + this.updateDate = updateDate; | |
| 68 | + } | |
| 43 | 69 | |
| 44 | 70 | public Integer getId() { |
| 45 | 71 | return id; | ... | ... |
src/main/java/com/bsth/entity/LineInformation.java
| ... | ... | @@ -64,6 +64,12 @@ public class LineInformation { |
| 64 | 64 | // 晚高峰结束时间 00:00 |
| 65 | 65 | private String lateEndTime; |
| 66 | 66 | |
| 67 | + // 小夜高峰开始时间 00:00 | |
| 68 | + private String xygfkssj; | |
| 69 | + | |
| 70 | + // 小夜高峰结束时间 00:00 | |
| 71 | + private String xygfjssj; | |
| 72 | + | |
| 67 | 73 | // 早高峰上行行驶时间 |
| 68 | 74 | private Double earlyUpTime; |
| 69 | 75 | |
| ... | ... | @@ -91,15 +97,6 @@ public class LineInformation { |
| 91 | 97 | // 停车场 |
| 92 | 98 | private String carPark; |
| 93 | 99 | |
| 94 | - // 进场时间 | |
| 95 | - private Double paradeTime; | |
| 96 | - | |
| 97 | - // 出场时间 | |
| 98 | - private Double outTime; | |
| 99 | - | |
| 100 | - // 进场里程 | |
| 101 | - private Double paradeMileage; | |
| 102 | - | |
| 103 | 100 | // 上行进场时间 |
| 104 | 101 | private Double upInTimer; |
| 105 | 102 | |
| ... | ... | @@ -123,7 +120,82 @@ public class LineInformation { |
| 123 | 120 | |
| 124 | 121 | // 下行出场里程 |
| 125 | 122 | private Double downOutMileage; |
| 123 | + | |
| 124 | + // 早高峰大间隔(分钟)老调度系统字段,暂时保留 | |
| 125 | + private Double earlyIntervalLg; | |
| 126 | + | |
| 127 | + // 晚高峰大间隔(分钟)老调度系统字段,暂时保留 | |
| 128 | + private Double lateIntervalLg; | |
| 129 | + | |
| 130 | + // 平时大间隔(分钟)老调度系统字段,暂时保留 | |
| 131 | + private Double intervalLg; | |
| 132 | + | |
| 133 | + // 限速(平时)老调度系统字段,暂时保留 | |
| 134 | + private Double speedLimit; | |
| 135 | + | |
| 136 | + // 限速(雨天)老调度系统字段,暂时保留 | |
| 137 | + private Double rainLimit; | |
| 138 | + | |
| 139 | + // 限速(大雾)老调度系统字段,暂时保留 | |
| 140 | + private Double fogLimit; | |
| 126 | 141 | |
| 142 | + // 限速(冰雪)老调度系统字段,暂时保留 | |
| 143 | + private Double snowLimit; | |
| 144 | + | |
| 145 | + // 限速(节庆)老调度系统字段,暂时保留 | |
| 146 | + private Double festivalSpeedLimit; | |
| 147 | + | |
| 148 | + // 滞站 | |
| 149 | + private Integer lagStation; | |
| 150 | + | |
| 151 | + // 越站 | |
| 152 | + private Integer skip; | |
| 153 | + | |
| 154 | + // 超速 | |
| 155 | + private Integer speeding; | |
| 156 | + | |
| 157 | + // 串线 | |
| 158 | + private Integer crossedLine; | |
| 159 | + | |
| 160 | + // 越界 | |
| 161 | + private Integer overflights; | |
| 162 | + | |
| 163 | + // 描述 | |
| 164 | + private String descriptions; | |
| 165 | + | |
| 166 | + // 创建人 | |
| 167 | + private Integer createBy; | |
| 168 | + | |
| 169 | + // 修改人 | |
| 170 | + private Integer updateBy; | |
| 171 | + | |
| 172 | + // 创建日期 | |
| 173 | + @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP") | |
| 174 | + private Date createDate; | |
| 175 | + | |
| 176 | + // 修改日期 | |
| 177 | + @Column(name = "update_date", columnDefinition = "timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP") | |
| 178 | + private Date updateDate; | |
| 179 | + | |
| 180 | + @ManyToOne | |
| 181 | + private Line line; | |
| 182 | + | |
| 183 | + public String getXygfkssj() { | |
| 184 | + return xygfkssj; | |
| 185 | + } | |
| 186 | + | |
| 187 | + public void setXygfkssj(String xygfkssj) { | |
| 188 | + this.xygfkssj = xygfkssj; | |
| 189 | + } | |
| 190 | + | |
| 191 | + public String getXygfjssj() { | |
| 192 | + return xygfjssj; | |
| 193 | + } | |
| 194 | + | |
| 195 | + public void setXygfjssj(String xygfjssj) { | |
| 196 | + this.xygfjssj = xygfjssj; | |
| 197 | + } | |
| 198 | + | |
| 127 | 199 | public Double getUpInTimer() { |
| 128 | 200 | return upInTimer; |
| 129 | 201 | } |
| ... | ... | @@ -188,68 +260,6 @@ public class LineInformation { |
| 188 | 260 | this.downOutMileage = downOutMileage; |
| 189 | 261 | } |
| 190 | 262 | |
| 191 | - // 出场里程 | |
| 192 | - private Double outMileage; | |
| 193 | - | |
| 194 | - // 早高峰大间隔(分钟) | |
| 195 | - private Double earlyIntervalLg; | |
| 196 | - | |
| 197 | - // 晚高峰大间隔(分钟) | |
| 198 | - private Double lateIntervalLg; | |
| 199 | - | |
| 200 | - // 平时大间隔(分钟) | |
| 201 | - private Double intervalLg; | |
| 202 | - | |
| 203 | - // 限速(平时) | |
| 204 | - private Double speedLimit; | |
| 205 | - | |
| 206 | - // 限速(雨天) | |
| 207 | - private Double rainLimit; | |
| 208 | - | |
| 209 | - // 限速(大雾) | |
| 210 | - private Double fogLimit; | |
| 211 | - | |
| 212 | - // 限速(冰雪) | |
| 213 | - private Double snowLimit; | |
| 214 | - | |
| 215 | - // 限速(节庆) | |
| 216 | - private Double festivalSpeedLimit; | |
| 217 | - | |
| 218 | - // 滞站 | |
| 219 | - private Integer lagStation; | |
| 220 | - | |
| 221 | - // 越站 | |
| 222 | - private Integer skip; | |
| 223 | - | |
| 224 | - // 超速 | |
| 225 | - private Integer speeding; | |
| 226 | - | |
| 227 | - // 串线 | |
| 228 | - private Integer crossedLine; | |
| 229 | - | |
| 230 | - // 越界 | |
| 231 | - private Integer overflights; | |
| 232 | - | |
| 233 | - // 描述 | |
| 234 | - private String descriptions; | |
| 235 | - | |
| 236 | - // 创建人 | |
| 237 | - private Integer createBy; | |
| 238 | - | |
| 239 | - // 修改人 | |
| 240 | - private Integer updateBy; | |
| 241 | - | |
| 242 | - // 创建日期 | |
| 243 | - @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP") | |
| 244 | - private Date createDate; | |
| 245 | - | |
| 246 | - // 修改日期 | |
| 247 | - @Column(name = "update_date", columnDefinition = "timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP") | |
| 248 | - private Date updateDate; | |
| 249 | - | |
| 250 | - @ManyToOne | |
| 251 | - private Line line; | |
| 252 | - | |
| 253 | 263 | public Integer getId() { |
| 254 | 264 | return id; |
| 255 | 265 | } |
| ... | ... | @@ -416,39 +426,6 @@ public class LineInformation { |
| 416 | 426 | public void setCarPark(String carPark) { |
| 417 | 427 | this.carPark = carPark; |
| 418 | 428 | } |
| 419 | - | |
| 420 | - public Double getParadeTime() { | |
| 421 | - return paradeTime; | |
| 422 | - } | |
| 423 | - | |
| 424 | - public void setParadeTime(Double paradeTime) { | |
| 425 | - this.paradeTime = paradeTime; | |
| 426 | - } | |
| 427 | - | |
| 428 | - public Double getOutTime() { | |
| 429 | - return outTime; | |
| 430 | - } | |
| 431 | - | |
| 432 | - public void setOutTime(Double outTime) { | |
| 433 | - this.outTime = outTime; | |
| 434 | - } | |
| 435 | - | |
| 436 | - public Double getParadeMileage() { | |
| 437 | - return paradeMileage; | |
| 438 | - } | |
| 439 | - | |
| 440 | - public void setParadeMileage(Double paradeMileage) { | |
| 441 | - this.paradeMileage = paradeMileage; | |
| 442 | - } | |
| 443 | - | |
| 444 | - public Double getOutMileage() { | |
| 445 | - return outMileage; | |
| 446 | - } | |
| 447 | - | |
| 448 | - public void setOutMileage(Double outMileage) { | |
| 449 | - this.outMileage = outMileage; | |
| 450 | - } | |
| 451 | - | |
| 452 | 429 | public Double getEarlyIntervalLg() { |
| 453 | 430 | return earlyIntervalLg; |
| 454 | 431 | } | ... | ... |
src/main/java/com/bsth/entity/SectionRoute.java
src/main/java/com/bsth/repository/BusinessRepository.java
| 1 | 1 | package com.bsth.repository; |
| 2 | 2 | |
| 3 | +import org.springframework.data.jpa.repository.Query; | |
| 3 | 4 | import org.springframework.stereotype.Repository; |
| 4 | 5 | |
| 5 | 6 | import com.bsth.entity.Business; |
| ... | ... | @@ -28,5 +29,7 @@ public interface BusinessRepository extends BaseRepository<Business, Integer> { |
| 28 | 29 | List<Business> findByBusinessCode(String code); |
| 29 | 30 | |
| 30 | 31 | List<Business> findByUpCodeAndBusinessCode(String c1, String c2); |
| 31 | - | |
| 32 | + | |
| 33 | + @Query(value = "SELECT IFNULL(num,0) as maxId from (SELECT MAX(id) as num FROM bsth_c_business) k" , nativeQuery=true) | |
| 34 | + long getMaxId(); | |
| 32 | 35 | } | ... | ... |
src/main/java/com/bsth/repository/SectionRepository.java
src/main/java/com/bsth/repository/SectionRouteRepository.java
| ... | ... | @@ -121,7 +121,7 @@ public interface SectionRouteRepository extends BaseRepository<SectionRoute, Int |
| 121 | 121 | "b.create_date AS sectionCreateDate," + |
| 122 | 122 | "b.update_by AS sectionUpdateBy," + |
| 123 | 123 | "b.update_date AS sectionUpdateDate," + |
| 124 | - "b.versions AS sectionVersion FROM (" + | |
| 124 | + "b.versions AS sectionVersion , a.isRoadeSpeed FROM (" + | |
| 125 | 125 | " SELECT s.id AS sectionRouteId," + |
| 126 | 126 | "s.line_code AS sectionRouteLineCode," + |
| 127 | 127 | "s.sectionroute_code AS sectionRouteCode," + |
| ... | ... | @@ -134,7 +134,7 @@ public interface SectionRouteRepository extends BaseRepository<SectionRoute, Int |
| 134 | 134 | "s.update_by AS sectionRouteUpdateBy," + |
| 135 | 135 | "s.update_date AS sectionRouteUpdateDate," + |
| 136 | 136 | "s.versions AS sectionRouteVersions," + |
| 137 | - "s.destroy AS sectionRouteDestroy" + | |
| 137 | + "s.destroy AS sectionRouteDestroy, s.is_roade_speed AS isRoadeSpeed " + | |
| 138 | 138 | " FROM bsth_c_sectionroute s where s.id =?1) a " + |
| 139 | 139 | " LEFT JOIN bsth_c_section b on a.sectionRouteSection = b.id", nativeQuery=true) |
| 140 | 140 | List<Object[]> findSectionRouteInfoFormId(int id); |
| ... | ... | @@ -171,6 +171,10 @@ public interface SectionRouteRepository extends BaseRepository<SectionRoute, Int |
| 171 | 171 | @Query(value="UPDATE bsth_c_sectionroute set is_roade_speed = ?1 where line= ?2 and directions=?3 ",nativeQuery = true) |
| 172 | 172 | void isRoadSpeedUpd(Integer isR,Integer line,Integer directions); |
| 173 | 173 | |
| 174 | + @Modifying | |
| 175 | + @Query(value="UPDATE bsth_c_sectionroute set sectionroute_code = (sectionroute_code+10) where line = ?1 and directions = ?2 and sectionroute_code >=?3 and destroy = 0", nativeQuery=true) | |
| 176 | + public void sectionUpdSectionRouteCode(Integer line,Integer dir,Integer routeCod); | |
| 177 | + | |
| 174 | 178 | @Modifying |
| 175 | 179 | @Query(value="update bsth_c_sectionroute set directions = case directions when 1 then 0 when 0 then 1 end where line_code = ?1 ", nativeQuery=true) |
| 176 | 180 | public void sectionRouteDir(Integer line); | ... | ... |
src/main/java/com/bsth/repository/StationRepository.java
| ... | ... | @@ -37,7 +37,7 @@ public interface StationRepository extends BaseRepository<Station, Integer> { |
| 37 | 37 | , nativeQuery=true) |
| 38 | 38 | long stationMaxId(); |
| 39 | 39 | |
| 40 | - @Query(value = "SELECT * FROM bsth_c_station s where s.station_name = ?1" | |
| 40 | + @Query(value = "SELECT s.b_jwpoints,s.id FROM bsth_c_station s where s.station_name like ?1" | |
| 41 | 41 | , nativeQuery=true) |
| 42 | 42 | List<Object[]> findStationName(String stationName); |
| 43 | 43 | ... | ... |
src/main/java/com/bsth/service/BusinessService.java
src/main/java/com/bsth/service/StationRouteService.java
| ... | ... | @@ -23,6 +23,14 @@ import com.bsth.entity.StationRoute; |
| 23 | 23 | public interface StationRouteService extends BaseService<StationRoute, Integer> { |
| 24 | 24 | |
| 25 | 25 | /** |
| 26 | + * | |
| 27 | + * @Title: list | |
| 28 | + * @Description: TODO(多条件查询) | |
| 29 | + * @throws | |
| 30 | + */ | |
| 31 | + Iterable<StationRoute> list(Map<String, Object> map); | |
| 32 | + | |
| 33 | + /** | |
| 26 | 34 | * @Description :TODO(查询树站点与路段数据) |
| 27 | 35 | * |
| 28 | 36 | * @param map <line.id_eq:线路ID; directions_eq:方向> | ... | ... |
src/main/java/com/bsth/service/impl/BusinessServiceImpl.java
| 1 | 1 | package com.bsth.service.impl; |
| 2 | 2 | |
| 3 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 3 | 4 | import org.springframework.stereotype.Service; |
| 4 | 5 | |
| 5 | 6 | import com.bsth.entity.Business; |
| 7 | +import com.bsth.repository.BusinessRepository; | |
| 6 | 8 | import com.bsth.service.BusinessService; |
| 7 | 9 | |
| 8 | 10 | /** |
| ... | ... | @@ -23,5 +25,12 @@ import com.bsth.service.BusinessService; |
| 23 | 25 | |
| 24 | 26 | @Service |
| 25 | 27 | public class BusinessServiceImpl extends BaseServiceImpl<Business, Integer> implements BusinessService{ |
| 28 | + @Autowired | |
| 29 | + private BusinessRepository businessRepository; | |
| 30 | + @Override | |
| 31 | + public long getCompCode() { | |
| 32 | + // TODO Auto-generated method stub | |
| 33 | + return businessRepository.getMaxId(); | |
| 34 | + } | |
| 26 | 35 | |
| 27 | 36 | } | ... | ... |
src/main/java/com/bsth/service/impl/SectionRouteServiceImpl.java
| ... | ... | @@ -16,6 +16,7 @@ import com.bsth.repository.LineRepository; |
| 16 | 16 | import com.bsth.repository.SectionRepository; |
| 17 | 17 | import com.bsth.repository.SectionRouteRepository; |
| 18 | 18 | import com.bsth.service.SectionRouteService; |
| 19 | +import com.bsth.util.GetUIDAndCode; | |
| 19 | 20 | |
| 20 | 21 | /** |
| 21 | 22 | * |
| ... | ... | @@ -185,6 +186,7 @@ public class SectionRouteServiceImpl extends BaseServiceImpl<SectionRoute, Integ |
| 185 | 186 | |
| 186 | 187 | tempM.put("sectionVersion", objects.get(i)[33]); |
| 187 | 188 | |
| 189 | + tempM.put("isRoadeSpeed", objects.get(i)[34]); | |
| 188 | 190 | resultList.add(tempM); |
| 189 | 191 | } |
| 190 | 192 | |
| ... | ... | @@ -203,32 +205,19 @@ public class SectionRouteServiceImpl extends BaseServiceImpl<SectionRoute, Integ |
| 203 | 205 | */ |
| 204 | 206 | @Override |
| 205 | 207 | public List<Map<String, Object>> findUpSectionRouteCode(Map<String, Object> map) { |
| 206 | - | |
| 207 | 208 | Integer lineId = map.get("lineId").equals("") ? null : Integer.parseInt(map.get("lineId").toString()); |
| 208 | - | |
| 209 | 209 | Integer direction = map.get("direction").equals("") ? null : Integer.parseInt(map.get("direction").toString()); |
| 210 | - | |
| 211 | 210 | Integer stationRouteCode = map.get("sectionRouteCode").equals("") ? null : Integer.parseInt(map.get("sectionRouteCode").toString()); |
| 212 | - | |
| 213 | 211 | List<Object[]> reslutList = repository.findUpSectionRouteCode(lineId, direction, stationRouteCode); |
| 214 | - | |
| 215 | 212 | List<Map<String, Object>> list = new ArrayList<Map<String,Object>>(); |
| 216 | - | |
| 217 | 213 | if(reslutList.get(0)!=null) { |
| 218 | - | |
| 219 | 214 | for(int i = 0 ; i <reslutList.size() ;i++){ |
| 220 | - | |
| 221 | 215 | Map<String, Object> tempM = new HashMap<String, Object>(); |
| 222 | - | |
| 223 | 216 | System.out.println(reslutList.get(i)); |
| 224 | - | |
| 225 | 217 | tempM.put("sectionrouteCode", reslutList.get(i)); |
| 226 | - | |
| 227 | 218 | list.add(tempM); |
| 228 | - | |
| 229 | 219 | } |
| 230 | 220 | } |
| 231 | - | |
| 232 | 221 | return list; |
| 233 | 222 | } |
| 234 | 223 | |
| ... | ... | @@ -243,8 +232,10 @@ public class SectionRouteServiceImpl extends BaseServiceImpl<SectionRoute, Integ |
| 243 | 232 | List<Object[]> list = repository.getSectionRoute(line, dir); |
| 244 | 233 | int src = repository.sectionRouteCodeMaxId(); |
| 245 | 234 | for(int i = 0 ; i<list.size() ; i++) { |
| 246 | - int sectionId = Integer.parseInt(String.valueOf(repository2.sectionMaxId())) + 1 ; | |
| 247 | - String sectionCode = String.valueOf(sectionId); | |
| 235 | + /*int sectionId = Integer.parseInt(String.valueOf(repository2.sectionMaxId())) + 1 ;*/ | |
| 236 | + long sectionMaxId = GetUIDAndCode.getSectionId(); | |
| 237 | + String sectionCode = String.valueOf(sectionMaxId); | |
| 238 | + int sectionId = (int)sectionMaxId; | |
| 248 | 239 | String sectionName = list.get(i)[9] == null ? null : list.get(i)[9].toString(); |
| 249 | 240 | String crosesRoad = list.get(i)[10] == null ? null : list.get(i)[10].toString(); |
| 250 | 241 | String endNode = list.get(i)[11] == null ? null : list.get(i)[11].toString(); |
| ... | ... | @@ -267,12 +258,12 @@ public class SectionRouteServiceImpl extends BaseServiceImpl<SectionRoute, Integ |
| 267 | 258 | gsectionVector, bsectionVector, |
| 268 | 259 | sectionType, csectionVector, roadCoding, |
| 269 | 260 | sectionDistance, sectionTime, dbType, speedLimit, descriptions, versions, sectionId); |
| 270 | - int sectionRouteId = Integer.parseInt(String.valueOf(repository.sectionRouteMaxId())) + 1 ; | |
| 261 | + // int sectionRouteId = Integer.parseInt(String.valueOf(repository.sectionRouteMaxId())) + 1 ; | |
| 271 | 262 | SectionRoute sr = new SectionRoute(); |
| 272 | 263 | Line lineObject = lineRepository.findOne(line); |
| 273 | 264 | Section section = repository2.findOne(sectionId); |
| 274 | 265 | Integer xh = (src == 0 ? (toDir ==1? (list.size()-i)*10 : (list.size()+i)*10) : toDir==1? (src + (list.size()-i)*10) : (src + (list.size()+i)*10)) ; |
| 275 | - sr.setId(sectionRouteId); | |
| 266 | + // sr.setId(sectionRouteId); | |
| 276 | 267 | sr.setSectionrouteCode(xh); |
| 277 | 268 | sr.setLineCode(lineObject.getLineCode()); |
| 278 | 269 | sr.setSectionCode(sectionCode); |
| ... | ... | @@ -294,5 +285,4 @@ public class SectionRouteServiceImpl extends BaseServiceImpl<SectionRoute, Integ |
| 294 | 285 | } |
| 295 | 286 | return resultMap; |
| 296 | 287 | } |
| 297 | - | |
| 298 | -} | |
| 288 | +} | |
| 299 | 289 | \ No newline at end of file | ... | ... |
src/main/java/com/bsth/service/impl/SectionServiceImpl.java
| ... | ... | @@ -7,6 +7,7 @@ import java.util.Map; |
| 7 | 7 | |
| 8 | 8 | import org.springframework.beans.factory.annotation.Autowired; |
| 9 | 9 | import org.springframework.stereotype.Service; |
| 10 | +import org.springframework.transaction.annotation.Transactional; | |
| 10 | 11 | |
| 11 | 12 | import com.alibaba.fastjson.JSONArray; |
| 12 | 13 | import com.bsth.common.ResponseCode; |
| ... | ... | @@ -57,210 +58,122 @@ public class SectionServiceImpl extends BaseServiceImpl<Section, Integer> implem |
| 57 | 58 | */ |
| 58 | 59 | @Override |
| 59 | 60 | public Map<String, Object> sectionUpdate(Map<String, Object> map) { |
| 60 | - | |
| 61 | 61 | Map<String, Object> resultMap = new HashMap<String, Object>(); |
| 62 | - | |
| 63 | 62 | try { |
| 64 | - | |
| 65 | 63 | String bsectionVector = map.get("bsectionVector").equals("") ? "" :map.get("bsectionVector").toString(); |
| 66 | - | |
| 67 | 64 | // 原始线状图形坐标集合 |
| 68 | 65 | String sectionsBpoints = ""; |
| 69 | - | |
| 70 | 66 | // WGS线状图形坐标集合 |
| 71 | 67 | String sectionsWJPpoints = ""; |
| 72 | - | |
| 73 | 68 | if(!bsectionVector.equals("")) { |
| 74 | - | |
| 75 | 69 | // 转换成JSON数组 |
| 76 | 70 | JSONArray sectionsArray = JSONArray.parseArray(bsectionVector); |
| 77 | - | |
| 78 | 71 | // 遍历 |
| 79 | 72 | for(int s = 0 ;s<sectionsArray.size();s++) { |
| 80 | - | |
| 81 | 73 | String pointsLngStr = sectionsArray.getJSONObject(s).get("lng").toString(); |
| 82 | - | |
| 83 | 74 | String pointsLatStr = sectionsArray.getJSONObject(s).get("lat").toString(); |
| 84 | - | |
| 85 | 75 | /** to WGS坐标 */ |
| 86 | 76 | Location resultPoint = FromBDPointToWGSPoint(pointsLngStr,pointsLatStr); |
| 87 | - | |
| 88 | 77 | String WGSLngStr = String.valueOf(resultPoint.getLng()); |
| 89 | - | |
| 90 | 78 | String WGSLatStr = String.valueOf(resultPoint.getLat()); |
| 91 | - | |
| 92 | 79 | if(s==0) { |
| 93 | - | |
| 94 | 80 | sectionsBpoints = pointsLngStr + " " + pointsLatStr; |
| 95 | - | |
| 96 | 81 | sectionsWJPpoints = WGSLngStr + " " + WGSLatStr; |
| 97 | - | |
| 98 | 82 | }else { |
| 99 | - | |
| 100 | 83 | sectionsBpoints = sectionsBpoints + "," + pointsLngStr + " " + pointsLatStr; |
| 101 | - | |
| 102 | 84 | sectionsWJPpoints = sectionsWJPpoints + "," + WGSLngStr + " " + WGSLatStr; |
| 103 | - | |
| 104 | 85 | } |
| 105 | - | |
| 106 | - | |
| 107 | 86 | } |
| 108 | - | |
| 109 | 87 | } |
| 110 | - | |
| 111 | 88 | // 原坐标类型 |
| 112 | 89 | String dbType = map.get("dbType").equals("") ? "" : map.get("dbType").toString(); |
| 113 | - | |
| 114 | 90 | // 说明 |
| 115 | 91 | String descriptions = map.get("descriptions").equals("") ? "" : map.get("descriptions").toString(); |
| 116 | - | |
| 117 | 92 | // 是否撤销 |
| 118 | 93 | Integer destroy = map.get("destroy").equals("") ? null : Integer.parseInt(map.get("destroy").toString()); |
| 119 | - | |
| 120 | 94 | // 方向 |
| 121 | 95 | Integer directions = map.get("directions").equals("") ? null : Integer.parseInt(map.get("directions").toString()); |
| 122 | - | |
| 123 | 96 | // 线路ID |
| 124 | 97 | Integer sectionRouteLine = map.get("sectionRouteLine").equals("") ? null : Integer.parseInt(map.get("sectionRouteLine").toString()); |
| 125 | - | |
| 126 | 98 | // 道路编码 |
| 127 | 99 | String roadCoding = map.get("roadCoding").equals("") ? "" : map.get("roadCoding").toString(); |
| 128 | - | |
| 129 | 100 | // 路段编码 |
| 130 | 101 | String sectionCode = map.get("sectionCode").equals("") ? "" : map.get("sectionCode").toString(); |
| 131 | - | |
| 132 | 102 | // 路段长度 |
| 133 | 103 | Double sectionDistance = map.get("sectionDistance").equals("") ? null : Double.valueOf(map.get("sectionDistance").toString()); |
| 134 | - | |
| 135 | 104 | // 路段ID |
| 136 | 105 | Integer sectionId = map.get("sectionId").equals("") ? 0 : Integer.parseInt(map.get("sectionId").toString()); |
| 137 | - | |
| 138 | 106 | // 路段名称 |
| 139 | 107 | String sectionName = map.get("sectionName").equals("") ? "" : map.get("sectionName").toString(); |
| 140 | - | |
| 141 | 108 | // 路段路由Id |
| 142 | 109 | Integer sectionRouteId = map.get("sectionRouteId").equals("") ? null : Integer.valueOf(map.get("sectionRouteId").toString()); |
| 143 | - | |
| 144 | 110 | // 线路编码 |
| 145 | 111 | String lineCode =map.get("lineCode").equals("") ? "" : map.get("lineCode").toString(); |
| 146 | - | |
| 147 | 112 | // 路段时长 |
| 148 | 113 | Double sectionTime = map.get("sectionTime").equals("") ? null : Double.valueOf(map.get("sectionTime").toString()); |
| 149 | - | |
| 150 | 114 | // 路段路由 |
| 151 | 115 | Integer sectionrouteCode = map.get("sectionrouteCode").equals("") ? null : Integer.valueOf(map.get("sectionrouteCode").toString()); |
| 152 | - | |
| 153 | 116 | SectionRoute resultS = routeRepository.findOne(sectionRouteId); |
| 154 | - | |
| 155 | 117 | int old_code = resultS.getSectionrouteCode(); |
| 156 | - | |
| 157 | 118 | if(sectionrouteCode!=null) { |
| 158 | - | |
| 159 | 119 | int new_code = sectionrouteCode+100; |
| 160 | - | |
| 161 | 120 | if(new_code==old_code){ |
| 162 | - | |
| 163 | 121 | sectionrouteCode = new_code; |
| 164 | - | |
| 165 | 122 | }else { |
| 166 | - | |
| 167 | 123 | sectionrouteCode = new_code-100+1; |
| 168 | - | |
| 169 | 124 | } |
| 170 | - | |
| 171 | 125 | }else { |
| 172 | - | |
| 173 | 126 | sectionrouteCode = old_code; |
| 174 | - | |
| 175 | 127 | } |
| 176 | - | |
| 177 | 128 | // 限速 |
| 178 | 129 | Double speedLimit = map.get("speedLimit").equals("") ? null : Double.valueOf(map.get("speedLimit").toString()); |
| 179 | - | |
| 180 | 130 | // 版本 |
| 181 | 131 | Integer version = map.get("versions").equals("") ? null : Integer.valueOf(map.get("versions").toString()); |
| 182 | - | |
| 183 | 132 | // WGS坐标点集合 |
| 184 | 133 | String gsectionVector = null; |
| 185 | 134 | if(!sectionsWJPpoints.equals("")) |
| 186 | 135 | gsectionVector = "LINESTRING(" + sectionsWJPpoints +")"; |
| 187 | - | |
| 188 | 136 | // 原坐标点集合 |
| 189 | 137 | String bsectionVectorS = null; |
| 190 | 138 | if(!sectionsBpoints.equals("")) |
| 191 | 139 | bsectionVectorS = "LINESTRING(" + sectionsBpoints + ")"; |
| 192 | - | |
| 193 | 140 | Integer createBy = map.get("createBy").equals("") ? null : Integer.valueOf(map.get("createBy").toString()); |
| 194 | - | |
| 195 | 141 | String createDate = map.get("createDate").equals("") ? null : map.get("createDate").toString(); |
| 196 | - | |
| 197 | 142 | Integer updateBy = map.get("updateBy").equals("") ?null : Integer.valueOf(map.get("updateBy").toString()); |
| 198 | - | |
| 143 | + Integer isRoadeSpeed = map.get("isRoadeSpeed").equals("") ? null : Integer.valueOf(map.get("isRoadeSpeed").toString()); | |
| 199 | 144 | SimpleDateFormat formatter = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss"); |
| 200 | - | |
| 201 | 145 | Date date = new Date(); |
| 202 | - | |
| 203 | 146 | // 修改日期 |
| 204 | 147 | String updateDate = formatter.format(date); |
| 205 | - | |
| 206 | 148 | String crosesRoad=""; |
| 207 | - | |
| 208 | 149 | String endNode=""; |
| 209 | - | |
| 210 | 150 | String startNode=""; |
| 211 | - | |
| 212 | 151 | String middleNode=""; |
| 213 | - | |
| 214 | 152 | String sectionType=""; |
| 215 | - | |
| 216 | - // String csectionVector=""; | |
| 217 | - | |
| 218 | 153 | // 更新 |
| 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 | 154 | repository.sectionUpdate(sectionId, gsectionVector, bsectionVectorS, sectionCode, sectionName, crosesRoad, endNode, startNode, middleNode, sectionType, roadCoding, sectionDistance, sectionTime, dbType, speedLimit, descriptions, version, createBy, createDate, updateBy, updateDate); |
| 221 | - | |
| 222 | 155 | SectionRoute route = new SectionRoute(); |
| 223 | - | |
| 224 | 156 | Line line = lineRepository.findOne(sectionRouteLine); |
| 225 | - | |
| 226 | 157 | Section section = repository.findOne(sectionId); |
| 227 | - | |
| 228 | 158 | route.setId(sectionRouteId); |
| 229 | - | |
| 230 | 159 | route.setSectionrouteCode(sectionrouteCode); |
| 231 | - | |
| 232 | 160 | route.setLineCode(lineCode); |
| 233 | - | |
| 234 | 161 | route.setSectionCode(sectionCode); |
| 235 | - | |
| 236 | 162 | route.setDirections(directions); |
| 237 | - | |
| 238 | 163 | route.setVersions(version); |
| 239 | - | |
| 240 | 164 | route.setDestroy(destroy); |
| 241 | - | |
| 242 | 165 | route.setDescriptions(descriptions); |
| 243 | - | |
| 244 | 166 | route.setCreateBy(createBy); |
| 245 | - | |
| 246 | 167 | route.setUpdateBy(updateBy); |
| 247 | - | |
| 248 | 168 | route.setLine(line); |
| 249 | - | |
| 250 | 169 | route.setSection(section); |
| 251 | - | |
| 170 | + route.setIsRoadeSpeed(isRoadeSpeed); | |
| 252 | 171 | routeRepository.save(route); |
| 253 | - | |
| 254 | 172 | resultMap.put("status", ResponseCode.SUCCESS); |
| 255 | - | |
| 256 | 173 | } catch (Exception e) { |
| 257 | - | |
| 258 | 174 | resultMap.put("status", ResponseCode.ERROR); |
| 259 | - | |
| 260 | 175 | logger.error("save erro.", e); |
| 261 | - | |
| 262 | 176 | } |
| 263 | - | |
| 264 | 177 | return resultMap; |
| 265 | 178 | } |
| 266 | 179 | |
| ... | ... | @@ -294,164 +207,105 @@ public class SectionServiceImpl extends BaseServiceImpl<Section, Integer> implem |
| 294 | 207 | * @return map<SUCCESS:成功;ERROR:异常> |
| 295 | 208 | */ |
| 296 | 209 | @Override |
| 210 | + @Transactional | |
| 297 | 211 | public Map<String, Object> sectionSave(Map<String, Object> map) { |
| 298 | - | |
| 299 | 212 | Map<String, Object> resultMap = new HashMap<String, Object>(); |
| 300 | - | |
| 301 | 213 | try { |
| 302 | - | |
| 303 | - /** 线路ID */ | |
| 214 | + // 线路ID. | |
| 304 | 215 | Integer lineId = map.get("lineId").equals("") ? null : Integer.valueOf(map.get("lineId").toString()); |
| 305 | - | |
| 306 | - /** 线路编码 */ | |
| 216 | + // 线路编码. | |
| 307 | 217 | String lineCode = map.get("lineCode").equals("") ? "" : map.get("lineCode").toString(); |
| 308 | - | |
| 218 | + // 路段名称. | |
| 309 | 219 | String sectionName = map.get("sectionName").equals("") ? "" : map.get("sectionName").toString(); |
| 310 | - | |
| 220 | + // 路段编码. | |
| 311 | 221 | String sectionCode = map.get("sectionCode").equals("") ? "" : map.get("sectionCode").toString(); |
| 312 | - | |
| 222 | + // 道路编码. | |
| 313 | 223 | String roadCoding = map.get("roadCoding").equals("") ? "" : map.get("roadCoding").toString(); |
| 314 | - | |
| 224 | + // 原始坐标类型. | |
| 315 | 225 | String dbType = map.get("dbType").equals("") ? "" :map.get("dbType").toString(); |
| 316 | - | |
| 226 | + // 路段几何图形坐标. | |
| 317 | 227 | String sectionJSON = map.get("bsectionVector").equals("") ? "" : map.get("bsectionVector").toString(); |
| 318 | - | |
| 228 | + // 路段序号 | |
| 319 | 229 | String sectionrouteCode = map.get("sectionrouteCode").equals("") ? "" : map.get("sectionrouteCode").toString(); |
| 320 | - | |
| 321 | - Double sectionTime = map.get("sectionTime").equals("") ? null : Double.valueOf(map.get("sectionTime").toString()); | |
| 322 | - | |
| 323 | - Double sectionDistance = map.get("sectionDistance").equals("") ? null : Double.valueOf(map.get("sectionDistance").toString()); | |
| 324 | - | |
| 325 | - Double speedLimit = map.get("speedLimit").equals("") ? null : Double.valueOf(map.get("speedLimit").toString()); | |
| 326 | - | |
| 327 | - Integer versions = map.get("versions").equals("") ? null : Integer.valueOf(map.get("versions").toString()); | |
| 328 | - | |
| 329 | - Integer destroy = map.get("destroy").equals("") ? null : Integer.valueOf(map.get("destroy").toString()); | |
| 330 | - | |
| 331 | - Integer directions = map.get("directions").equals("") ? null : Integer.valueOf(map.get("directions").toString()); | |
| 332 | - | |
| 230 | + // 路段时长. | |
| 231 | + Double sectionTime = map.get("sectionTime").equals("") ? 0.0d : Double.valueOf(map.get("sectionTime").toString()); | |
| 232 | + // 路段距离. | |
| 233 | + Double sectionDistance = map.get("sectionDistance").equals("") ? 0.0d : Double.valueOf(map.get("sectionDistance").toString()); | |
| 234 | + // 路段限速. | |
| 235 | + Double speedLimit = map.get("speedLimit").equals("") ? 0.0d : Double.valueOf(map.get("speedLimit").toString()); | |
| 236 | + // 版本. | |
| 237 | + Integer versions = map.get("versions").equals("") ? 1 : Integer.valueOf(map.get("versions").toString()); | |
| 238 | + // 是否撤销. | |
| 239 | + Integer destroy = map.get("destroy").equals("") ? 0 : Integer.valueOf(map.get("destroy").toString()); | |
| 240 | + // 路段方向. | |
| 241 | + Integer directions = map.get("directions").equals("") ? 0 : Integer.valueOf(map.get("directions").toString()); | |
| 242 | + // 描述与说明. | |
| 333 | 243 | String descriptions = map.get("descriptions").equals("")? "" : map.get("descriptions").toString(); |
| 334 | - | |
| 335 | 244 | // 原始线状图形坐标集合 |
| 336 | 245 | String sectionsBpoints = ""; |
| 337 | - | |
| 338 | 246 | // WGS线状图形坐标集合 |
| 339 | 247 | String sectionsWJPpoints = ""; |
| 340 | - | |
| 341 | 248 | if(!sectionJSON.equals("")) { |
| 342 | - | |
| 343 | 249 | // 转换成JSON数组 |
| 344 | 250 | JSONArray sectionsArray = JSONArray.parseArray(sectionJSON); |
| 345 | - | |
| 346 | 251 | // 遍历 |
| 347 | 252 | for(int s = 0 ;s<sectionsArray.size();s++) { |
| 348 | - | |
| 349 | 253 | String pointsLngStr = sectionsArray.getJSONObject(s).get("lng").toString(); |
| 350 | - | |
| 351 | 254 | String pointsLatStr = sectionsArray.getJSONObject(s).get("lat").toString(); |
| 352 | - | |
| 353 | 255 | String WGSLngStr = ""; |
| 354 | - | |
| 355 | 256 | String WGSLatStr = ""; |
| 356 | - | |
| 357 | 257 | Location resultPoint = FromBDPointToWGSPoint(pointsLngStr,pointsLatStr); |
| 358 | - | |
| 359 | 258 | WGSLngStr = String.valueOf(resultPoint.getLng()); |
| 360 | - | |
| 361 | 259 | WGSLatStr = String.valueOf(resultPoint.getLat()); |
| 362 | - | |
| 363 | 260 | if(s==0) { |
| 364 | - | |
| 365 | 261 | sectionsBpoints = pointsLngStr + " " + pointsLatStr; |
| 366 | - | |
| 367 | 262 | sectionsWJPpoints = WGSLngStr + " " + WGSLatStr; |
| 368 | - | |
| 369 | 263 | }else { |
| 370 | - | |
| 371 | 264 | sectionsBpoints = sectionsBpoints + "," + pointsLngStr + " " + pointsLatStr; |
| 372 | - | |
| 373 | 265 | sectionsWJPpoints = sectionsWJPpoints + "," + WGSLngStr + " " + WGSLatStr; |
| 374 | - | |
| 375 | 266 | } |
| 376 | - | |
| 377 | 267 | } |
| 378 | - | |
| 379 | 268 | } |
| 380 | - | |
| 381 | 269 | // WGS坐标点集合 |
| 382 | 270 | String gsectionVector = "LINESTRING(" + sectionsWJPpoints +")"; |
| 383 | - | |
| 384 | 271 | // 原坐标点集合 |
| 385 | 272 | String bsectionVector = "LINESTRING(" + sectionsBpoints + ")"; |
| 386 | - | |
| 387 | 273 | String crosesRoad=""; |
| 388 | - | |
| 389 | 274 | String endNode =""; |
| 390 | - | |
| 391 | 275 | String startNode=""; |
| 392 | - | |
| 393 | 276 | String middleNode=""; |
| 394 | - | |
| 395 | 277 | String sectionType=""; |
| 396 | - | |
| 397 | 278 | String csectionVector=null; |
| 398 | - | |
| 399 | 279 | Integer id = Integer.valueOf(sectionCode); |
| 400 | - | |
| 401 | 280 | repository.systemSave(sectionCode, sectionName, crosesRoad, endNode, startNode, middleNode, gsectionVector, bsectionVector, sectionType, csectionVector, roadCoding, sectionDistance, sectionTime, dbType, speedLimit, descriptions, versions, id); |
| 402 | - | |
| 403 | 281 | Section section = repository.findOne(id); |
| 404 | - | |
| 405 | 282 | Line line = lineRepository.findOne(lineId); |
| 406 | - | |
| 407 | 283 | // 路段路由 |
| 408 | 284 | SectionRoute sectionRoute = new SectionRoute(); |
| 409 | - | |
| 410 | 285 | Integer routeCode = null; |
| 411 | - | |
| 412 | 286 | if(!sectionrouteCode.equals("")){ |
| 413 | - | |
| 414 | 287 | String sectionrouteCodeArray[] = sectionrouteCode.split("_"); |
| 415 | - | |
| 416 | 288 | routeCode = Integer.valueOf(sectionrouteCodeArray[0])+1; |
| 417 | - | |
| 418 | 289 | }else { |
| 419 | - | |
| 420 | 290 | routeCode = 100; |
| 421 | - | |
| 422 | 291 | } |
| 423 | - | |
| 292 | + routeRepository.sectionUpdSectionRouteCode(lineId, directions,routeCode); | |
| 424 | 293 | sectionRoute.setSectionrouteCode(routeCode); |
| 425 | - | |
| 426 | 294 | sectionRoute.setLineCode(lineCode); |
| 427 | - | |
| 428 | 295 | sectionRoute.setSection(section); |
| 429 | - | |
| 430 | 296 | sectionRoute.setSectionCode(sectionCode); |
| 431 | - | |
| 432 | 297 | sectionRoute.setDirections(directions); |
| 433 | - | |
| 434 | 298 | sectionRoute.setDescriptions(descriptions); |
| 435 | - | |
| 436 | 299 | sectionRoute.setDestroy(destroy); |
| 437 | - | |
| 438 | 300 | sectionRoute.setVersions(versions); |
| 439 | - | |
| 440 | 301 | sectionRoute.setLine(line); |
| 441 | - | |
| 302 | + sectionRoute.setIsRoadeSpeed(0); | |
| 442 | 303 | routeRepository.save(sectionRoute); |
| 443 | - | |
| 444 | 304 | resultMap.put("status", ResponseCode.SUCCESS); |
| 445 | - | |
| 446 | 305 | } catch (Exception e) { |
| 447 | - | |
| 448 | 306 | resultMap.put("status", ResponseCode.ERROR); |
| 449 | - | |
| 450 | 307 | logger.error("save erro.", e); |
| 451 | - | |
| 452 | 308 | } |
| 453 | - | |
| 454 | 309 | return resultMap; |
| 455 | 310 | } |
| 456 | - | |
| 457 | -} | |
| 311 | +} | |
| 458 | 312 | \ No newline at end of file | ... | ... |
src/main/java/com/bsth/service/impl/StationRouteServiceImpl.java
| ... | ... | @@ -4,6 +4,7 @@ import com.bsth.common.ResponseCode; |
| 4 | 4 | import com.bsth.entity.Line; |
| 5 | 5 | import com.bsth.entity.Station; |
| 6 | 6 | import com.bsth.entity.StationRoute; |
| 7 | +import com.bsth.entity.search.CustomerSpecs; | |
| 7 | 8 | import com.bsth.repository.LineRepository; |
| 8 | 9 | import com.bsth.repository.SectionRouteRepository; |
| 9 | 10 | import com.bsth.repository.StationRepository; |
| ... | ... | @@ -16,6 +17,8 @@ import com.bsth.util.Geo.Point; |
| 16 | 17 | import com.bsth.util.db.DBUtils_MS; |
| 17 | 18 | import com.google.common.base.Splitter; |
| 18 | 19 | import org.springframework.beans.factory.annotation.Autowired; |
| 20 | +import org.springframework.data.domain.Sort; | |
| 21 | +import org.springframework.data.domain.Sort.Direction; | |
| 19 | 22 | import org.springframework.stereotype.Service; |
| 20 | 23 | import org.springframework.transaction.annotation.Transactional; |
| 21 | 24 | |
| ... | ... | @@ -56,6 +59,14 @@ public class StationRouteServiceImpl extends BaseServiceImpl<StationRoute, Integ |
| 56 | 59 | @Autowired |
| 57 | 60 | private StationRepository stationRepository; |
| 58 | 61 | |
| 62 | + @Override | |
| 63 | + public Iterable<StationRoute> list(Map<String, Object> map) { | |
| 64 | + List<Sort.Order> orderList = new ArrayList<>(); | |
| 65 | + orderList.add(new Sort.Order(Direction.ASC, "directions")); | |
| 66 | + orderList.add(new Sort.Order(Direction.ASC, "stationRouteCode")); | |
| 67 | + return repository.findAll(new CustomerSpecs<StationRoute>(map), new Sort(orderList)); | |
| 68 | + } | |
| 69 | + | |
| 59 | 70 | /** |
| 60 | 71 | * @Description :TODO(查询树站点与路段数据) |
| 61 | 72 | * | ... | ... |
src/main/java/com/bsth/service/impl/StationServiceImpl.java
| ... | ... | @@ -31,6 +31,8 @@ import com.bsth.service.StationService; |
| 31 | 31 | import com.bsth.util.GetUIDAndCode; |
| 32 | 32 | import com.bsth.util.TransGPS; |
| 33 | 33 | import com.bsth.util.TransGPS.Location; |
| 34 | +import com.bsth.util.Geo.GeoUtils; | |
| 35 | +import com.bsth.util.Geo.Point; | |
| 34 | 36 | |
| 35 | 37 | /** |
| 36 | 38 | * |
| ... | ... | @@ -82,62 +84,41 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem |
| 82 | 84 | */ |
| 83 | 85 | @Override |
| 84 | 86 | public Map<String, Object> systemSaveStations(Map<String, Object> map) { |
| 85 | - | |
| 86 | 87 | Map<String, Object> resultMap = new HashMap<String,Object>(); |
| 87 | - | |
| 88 | 88 | try { |
| 89 | - | |
| 90 | 89 | // 站点信息字符传 |
| 91 | 90 | String stationJSON = map.get("stationJSON").toString().equals("") ? "" : map.get("stationJSON").toString(); |
| 92 | - | |
| 93 | 91 | // 路段信息字符串 |
| 94 | 92 | String sectionJSON = map.get("sectionJSON").toString().equals("") ? "" : map.get("sectionJSON").toString(); |
| 95 | - | |
| 96 | 93 | // 方向 |
| 97 | 94 | int directions = Integer.parseInt(map.get("directions").toString()); |
| 98 | - | |
| 99 | 95 | // 是否撤销 |
| 100 | 96 | int destroy = map.get("destroy").equals("") ? 0 : Integer.parseInt(map.get("destroy").toString()); |
| 101 | - | |
| 102 | 97 | // 版本 |
| 103 | 98 | int versions = map.get("versions").equals("") ? 0 : Integer.parseInt(map.get("versions").toString()); |
| 104 | - | |
| 105 | 99 | // 坐标类型 |
| 106 | 100 | String dbType = map.get("dbType").equals("") ? "" : map.get("dbType").toString(); |
| 107 | - | |
| 108 | 101 | // 限速 |
| 109 | 102 | String speedLimitStr = map.get("speedLimit").equals("") ? "" : map.get("speedLimit").toString(); |
| 110 | - | |
| 111 | 103 | // 线路ID |
| 112 | 104 | int lineId = map.get("lineId").toString().equals("") ? 0 : Integer.parseInt(map.get("lineId").toString()); |
| 113 | - | |
| 114 | 105 | // 半径 |
| 115 | 106 | int radius = map.get("radius").equals("") ? 0 : Integer.parseInt(map.get("radius").toString()); |
| 116 | - | |
| 117 | 107 | // 图形类型 |
| 118 | 108 | String shapesType = map.get("shapesType").equals("") ? "" : map.get("shapesType").toString(); |
| 119 | - | |
| 120 | 109 | // 路段距离 |
| 121 | 110 | Double sectionDistance = 0.0d; |
| 122 | - | |
| 123 | 111 | // 路段时长 |
| 124 | 112 | Double sectionDuration = 0.0d; |
| 125 | - | |
| 126 | 113 | // 里程(上或者下) |
| 127 | 114 | double sumUpOrDownMileage = 0.0d; |
| 128 | - | |
| 129 | 115 | // 线路信息 |
| 130 | 116 | Line resultLine = lineRepository.findOne(lineId); |
| 131 | - | |
| 132 | 117 | Map<String, Object> resultSaveMapm = new HashMap<String,Object>(); |
| 133 | - | |
| 134 | 118 | String baseRes = map.get("baseRes").equals("") ? "" : map.get("baseRes").toString(); |
| 135 | - | |
| 136 | 119 | if(!stationJSON.equals("")) { |
| 137 | - | |
| 138 | 120 | // 保存站点与站点路由信息 |
| 139 | 121 | resultSaveMapm = savaStationAndStationRouteInfo( stationJSON, sectionDistance, sectionDuration, dbType,radius, shapesType, destroy, versions, sumUpOrDownMileage, directions, resultLine,baseRes); |
| 140 | - | |
| 141 | 122 | } |
| 142 | 123 | |
| 143 | 124 | // 路段长度 |
| ... | ... | @@ -259,275 +240,148 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem |
| 259 | 240 | * @throws Exception |
| 260 | 241 | */ |
| 261 | 242 | public Map<String, Object> savaStationAndStationRouteInfo(String stationJSON,double sectionDistance,double sectionDuration,String dbType, |
| 262 | - | |
| 263 | 243 | int radius,String shapesType,int destroy,int versions,double sumUpOrDownMileage,int directions,Line resultLine,String baseRes) throws Exception{ |
| 264 | - | |
| 265 | 244 | Map<String, Object> paramsMeleageAndDistncDura = new HashMap<String,Object>(); |
| 266 | - | |
| 267 | 245 | JSONArray stationsArray = JSONArray.parseArray(stationJSON); |
| 268 | - | |
| 269 | 246 | if(stationsArray.size()>0) { |
| 270 | - | |
| 271 | 247 | for(int i = 0;i <stationsArray.size();i++) { |
| 272 | - | |
| 273 | 248 | // 站点名称 |
| 274 | 249 | String stationName = stationsArray.getJSONObject(i).equals("") ? "" : stationsArray.getJSONObject(i).get("name").toString(); |
| 275 | - | |
| 276 | 250 | Double distance = stationsArray.getJSONObject(i).get("distance").equals("") ? 0 : Double.parseDouble(stationsArray.getJSONObject(i).get("distance").toString()); |
| 277 | - | |
| 278 | 251 | // 转成公里 |
| 279 | 252 | distance = distance/1000; |
| 280 | - | |
| 281 | 253 | BigDecimal d = new BigDecimal(distance); |
| 282 | - | |
| 283 | 254 | distance = d.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); |
| 284 | - | |
| 285 | 255 | sectionDistance= distance + sectionDistance; |
| 286 | - | |
| 287 | 256 | Double duration = stationsArray.getJSONObject(i).get("duration").equals("") ? 0 : Double.parseDouble(stationsArray.getJSONObject(i).get("duration").toString()); |
| 288 | - | |
| 289 | 257 | // 转成分钟 |
| 290 | 258 | duration = duration/60; |
| 291 | - | |
| 292 | 259 | BigDecimal t = new BigDecimal(duration); |
| 293 | - | |
| 294 | 260 | duration = t.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); |
| 295 | - | |
| 296 | 261 | sectionDuration = duration + sectionDuration; |
| 297 | - | |
| 298 | 262 | // 百度经纬度坐标 |
| 299 | 263 | String bJwpoints = ""; |
| 300 | - | |
| 301 | 264 | // 百度坐标经度 |
| 302 | 265 | String bLonx = JSONObject.parseObject(stationsArray.getJSONObject(i).get("potion").toString()).get("lng").toString(); |
| 303 | - | |
| 266 | + bLonx = bLonx==null || bLonx.equals("") ? "0" : bLonx; | |
| 304 | 267 | // 百度坐标纬度 |
| 305 | 268 | String bLatx = JSONObject.parseObject(stationsArray.getJSONObject(i).get("potion").toString()).get("lat").toString(); |
| 306 | - | |
| 269 | + bLatx = bLatx==null || bLatx.equals("") ? "0" : bLatx; | |
| 307 | 270 | List<Object[]> stationNameList = repository.findStationName(stationName); |
| 308 | - | |
| 309 | - boolean isHave = isHaveStationname(bJwpoints,stationNameList); | |
| 310 | - | |
| 271 | + Map<String, Object> isHaveMap = isHaveStationname(bLonx,bLatx,stationNameList); | |
| 311 | 272 | // 初始化站点对象 |
| 312 | 273 | Station arg0 = new Station(); |
| 313 | - | |
| 314 | - // 站点编码 | |
| 315 | - long stationCode = 0L; | |
| 316 | - | |
| 317 | - if(isHave) { | |
| 318 | - | |
| 319 | - Integer stationId = Integer.parseInt(stationNameList.get(0)[1].toString()); | |
| 320 | - | |
| 274 | + if(Boolean.parseBoolean(isHaveMap.get("isHave").toString())) { | |
| 275 | + /*Integer stationId = Integer.parseInt(stationNameList.get(0)[1].toString());*/ | |
| 276 | + Integer stationId = Integer.parseInt(isHaveMap.get("id").toString()); | |
| 321 | 277 | arg0 = repository.findOne(stationId); |
| 322 | - | |
| 323 | 278 | }else { |
| 324 | - | |
| 325 | - stationCode = GetUIDAndCode.getStationId(); | |
| 326 | - | |
| 279 | + // 站点编码 | |
| 280 | + long stationCode = GetUIDAndCode.getStationId(); | |
| 327 | 281 | arg0.setStationCod(String.valueOf(stationCode)); |
| 328 | - | |
| 329 | 282 | arg0.setId((int)stationCode); |
| 330 | - | |
| 331 | 283 | arg0.setStationName(stationName); |
| 332 | - | |
| 333 | 284 | // 原坐标类型 |
| 334 | 285 | arg0.setDbType(dbType); |
| 335 | - | |
| 336 | - | |
| 337 | 286 | String gLonxStr = JSONObject.parseObject(stationsArray.getJSONObject(i).get("wgs").toString()).get("x").equals("") ? null : JSONObject.parseObject(stationsArray.getJSONObject(i).get("wgs").toString()).get("x").toString(); |
| 338 | - | |
| 339 | 287 | String gLatyStr = JSONObject.parseObject(stationsArray.getJSONObject(i).get("wgs").toString()).get("y").equals("") ? null : JSONObject.parseObject(stationsArray.getJSONObject(i).get("wgs").toString()).get("y").toString(); |
| 340 | - | |
| 341 | 288 | float gLonx = 0.0f; |
| 342 | - | |
| 343 | 289 | float gLaty = 0.0f; |
| 344 | - | |
| 345 | 290 | Location resultPoint = null; |
| 346 | - | |
| 347 | 291 | if(baseRes.equals("No")){ |
| 348 | - | |
| 349 | 292 | /** BD to WGS坐标 */ |
| 350 | 293 | resultPoint = FromBDPointToWGSPoint(bLonx,bLatx); |
| 351 | - | |
| 352 | 294 | if(gLonxStr==null) |
| 353 | 295 | gLonx = (float)resultPoint.getLng(); |
| 354 | 296 | else |
| 355 | 297 | gLonx = Float.valueOf(gLonxStr); |
| 356 | - | |
| 357 | 298 | if(gLatyStr==null) |
| 358 | 299 | gLaty = (float)resultPoint.getLat(); |
| 359 | 300 | else |
| 360 | 301 | gLaty = Float.valueOf(gLatyStr); |
| 361 | - | |
| 362 | 302 | arg0.setgLonx(gLonx); |
| 363 | - | |
| 364 | 303 | arg0.setgLaty(gLaty); |
| 365 | - | |
| 366 | 304 | // 百度经纬度 |
| 367 | 305 | bJwpoints = bLonx + " " + bLatx; |
| 368 | - | |
| 369 | 306 | arg0.setbJwpoints(bJwpoints); |
| 370 | - | |
| 371 | 307 | }else if(baseRes.equals("GCJ02")){ |
| 372 | - | |
| 373 | 308 | Location bdLoc = TransGPS.LocationMake(Double.valueOf(gLonxStr), Double.valueOf(gLatyStr)); |
| 374 | - | |
| 375 | 309 | Location location = TransGPS.bd_encrypt(bdLoc); |
| 376 | - | |
| 377 | 310 | String GCJLng = String.valueOf(location.getLng()); |
| 378 | - | |
| 379 | 311 | String GCJLat = String.valueOf(location.getLat()); |
| 380 | - | |
| 381 | 312 | resultPoint = FromBDPointToWGSPoint(GCJLng,GCJLat); |
| 382 | - | |
| 383 | 313 | bJwpoints = GCJLng + " " +GCJLat; |
| 384 | - | |
| 385 | 314 | arg0.setgLonx((float)location.getLng()); |
| 386 | - | |
| 387 | 315 | arg0.setgLaty((float)location.getLat()); |
| 388 | - | |
| 389 | 316 | arg0.setbJwpoints(bJwpoints); |
| 390 | - | |
| 391 | - | |
| 392 | 317 | }else if(baseRes.equals("BD09")){ |
| 393 | - | |
| 394 | 318 | resultPoint = FromBDPointToWGSPoint(gLonxStr, gLatyStr); |
| 395 | - | |
| 396 | 319 | bJwpoints = gLonxStr+ " " + gLatyStr; |
| 397 | - | |
| 398 | 320 | arg0.setgLonx((float)resultPoint.getLng()); |
| 399 | - | |
| 400 | 321 | arg0.setgLaty((float)resultPoint.getLat()); |
| 401 | - | |
| 402 | 322 | }else if(baseRes.equals("WGS84")){ |
| 403 | - | |
| 404 | 323 | Location bdLoc = TransGPS.LocationMake(Double.valueOf(gLonxStr), Double.valueOf(gLatyStr)); |
| 405 | - | |
| 406 | 324 | Location gcjLoc = TransGPS.transformFromWGSToGCJ(bdLoc); |
| 407 | - | |
| 408 | 325 | Location bdEn = TransGPS.bd_encrypt(gcjLoc); |
| 409 | - | |
| 410 | 326 | bJwpoints = String.valueOf(bdEn.getLng()) + " " + String.valueOf(bdEn.getLat()); |
| 411 | - | |
| 412 | 327 | arg0.setbJwpoints(bJwpoints); |
| 413 | - | |
| 414 | 328 | arg0.setgLonx(Float.valueOf(gLonxStr)); |
| 415 | - | |
| 416 | 329 | arg0.setgLaty(Float.valueOf(gLatyStr)); |
| 417 | - | |
| 418 | 330 | } |
| 419 | - | |
| 420 | - | |
| 421 | - | |
| 422 | - /* if(gLonxStr==null) | |
| 423 | - gLonx = (float)resultPoint.getLng(); | |
| 424 | - else | |
| 425 | - gLonx = Float.valueOf(gLonxStr); | |
| 426 | - | |
| 427 | - if(gLatyStr==null) | |
| 428 | - gLaty = (float)resultPoint.getLat(); | |
| 429 | - else | |
| 430 | - gLaty = Float.valueOf(gLatyStr); | |
| 431 | - | |
| 432 | - arg0.setgLonx(gLonx); | |
| 433 | - | |
| 434 | - arg0.setgLaty(gLaty);*/ | |
| 435 | - | |
| 436 | - // 站点地理位置WGS坐标经度 | |
| 437 | - // String gLonx = JSONObject.parseObject(stationsArray.getJSONObject(i).get("WGSpotion").toString()).get("Lng").toString(); | |
| 438 | - // arg0.setgLonx(Float.parseFloat(gLonx)); | |
| 439 | - | |
| 440 | - // 站点地理位置WGS坐标纬度 | |
| 441 | - // String gLaty = JSONObject.parseObject(stationsArray.getJSONObject(i).get("WGSpotion").toString()).get("Lat").toString(); | |
| 442 | - // arg0.setgLaty(Float.parseFloat(gLaty)); | |
| 443 | - | |
| 444 | 331 | arg0.setRadius(radius); |
| 445 | - | |
| 446 | - | |
| 447 | 332 | arg0.setShapesType(shapesType); |
| 448 | - | |
| 449 | 333 | // 是否想撤销 |
| 450 | 334 | arg0.setDestroy(destroy); |
| 451 | - | |
| 452 | 335 | // 版本号 |
| 453 | 336 | arg0.setVersions(versions); |
| 454 | - | |
| 455 | 337 | /*arg0.setbJwpoints(bJwpoints);*/ |
| 456 | - | |
| 457 | 338 | // 插入站点信息 |
| 458 | 339 | repository.save(arg0); |
| 459 | 340 | |
| 460 | 341 | } |
| 461 | - | |
| 462 | 342 | // 站点路由对象 |
| 463 | 343 | StationRoute route = new StationRoute(); |
| 464 | - | |
| 465 | 344 | // 站点名称 |
| 466 | 345 | route.setStationName(stationName); |
| 467 | - | |
| 468 | 346 | route.setDistances(distance); |
| 469 | - | |
| 470 | 347 | sumUpOrDownMileage = sumUpOrDownMileage + distance; |
| 471 | - | |
| 472 | 348 | route.setToTime(duration); |
| 473 | - | |
| 474 | - | |
| 475 | 349 | // 站点编码 |
| 476 | 350 | route.setStationCode(arg0.getStationCod()); |
| 477 | - | |
| 478 | 351 | // 站点序号 |
| 479 | 352 | route.setStationRouteCode((i+1)*100); |
| 480 | - | |
| 481 | 353 | // 站点类型 |
| 482 | 354 | if(i==0) { |
| 483 | - | |
| 484 | 355 | // 起始站 |
| 485 | 356 | route.setStationMark("B"); |
| 486 | - | |
| 487 | 357 | }else if(i==stationsArray.size()-1) { |
| 488 | - | |
| 489 | 358 | // 终点站 |
| 490 | 359 | route.setStationMark("E"); |
| 491 | - | |
| 492 | 360 | }else { |
| 493 | - | |
| 494 | 361 | // 中途站 |
| 495 | 362 | route.setStationMark("Z"); |
| 496 | - | |
| 497 | 363 | } |
| 498 | - | |
| 499 | 364 | // 版本号 |
| 500 | 365 | route.setVersions(versions); |
| 501 | - | |
| 502 | 366 | // 站点ID |
| 503 | 367 | route.setStation(arg0); |
| 504 | - | |
| 505 | 368 | // 方向 |
| 506 | 369 | route.setDirections(directions); |
| 507 | - | |
| 508 | 370 | // 线路ID |
| 509 | 371 | route.setLine(resultLine); |
| 510 | - | |
| 511 | 372 | // 线路编码 |
| 512 | 373 | route.setLineCode(resultLine.getLineCode()); |
| 513 | - | |
| 514 | 374 | route.setDestroy(destroy); |
| 515 | - | |
| 516 | 375 | // 插入站点路由信息 |
| 517 | 376 | routeRepository.save(route); |
| 518 | 377 | |
| 519 | 378 | } |
| 520 | - | |
| 521 | 379 | paramsMeleageAndDistncDura.put("sumUpOrDownMileage", sumUpOrDownMileage); |
| 522 | - | |
| 523 | 380 | paramsMeleageAndDistncDura.put("sectionDistance", sectionDistance); |
| 524 | - | |
| 525 | 381 | paramsMeleageAndDistncDura.put("sectionDuration", sectionDuration); |
| 526 | - | |
| 382 | + paramsMeleageAndDistncDura.put("stationdata",stationsArray); | |
| 527 | 383 | } |
| 528 | - | |
| 529 | 384 | return paramsMeleageAndDistncDura; |
| 530 | - | |
| 531 | 385 | } |
| 532 | 386 | |
| 533 | 387 | /** |
| ... | ... | @@ -784,68 +638,52 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem |
| 784 | 638 | |
| 785 | 639 | |
| 786 | 640 | Section section = sectionRepository.findOne(sectionid); |
| 787 | - | |
| 788 | 641 | // 路段路由 |
| 789 | 642 | SectionRoute sectionRoute = new SectionRoute(); |
| 790 | - | |
| 791 | 643 | // 路段序号 |
| 792 | 644 | sectionRoute.setSectionrouteCode(100); |
| 793 | - | |
| 794 | 645 | // 线路编码 |
| 795 | 646 | sectionRoute.setLineCode(resultLine.getLineCode()); |
| 796 | - | |
| 797 | 647 | // 路段ID |
| 798 | 648 | sectionRoute.setSection(section); |
| 799 | - | |
| 800 | 649 | sectionRoute.setDestroy(destroy); |
| 801 | - | |
| 802 | 650 | // 线路ID |
| 803 | 651 | sectionRoute.setLine(resultLine); |
| 804 | - | |
| 805 | 652 | // 路段编码 |
| 806 | 653 | sectionRoute.setSectionCode(sectionCode); |
| 807 | - | |
| 808 | 654 | // 版本 |
| 809 | 655 | sectionRoute.setVersions(versions); |
| 810 | - | |
| 811 | 656 | // 方向 |
| 812 | 657 | sectionRoute.setDirections(directions); |
| 813 | - | |
| 814 | 658 | // 路段路由保存 |
| 815 | 659 | sectionRouteRepository.save(sectionRoute); |
| 816 | 660 | |
| 817 | 661 | } |
| 818 | - | |
| 819 | - public boolean isHaveStationname(String bJwpoints,List<Object[]> stationNameList) { | |
| 820 | - | |
| 821 | - boolean temp = true; | |
| 822 | - | |
| 662 | + public Map<String, Object> isHaveStationname(String jd,String wd,List<Object[]> stationNameList) { | |
| 663 | + Map<String, Object> rsM = new HashMap<String ,Object>(); | |
| 664 | + boolean temp = false; | |
| 823 | 665 | if(stationNameList.size()>0) { |
| 824 | - | |
| 825 | - for(int k = 0 ; k <stationNameList.size();k++) { | |
| 826 | - | |
| 827 | - if(bJwpoints.equals(stationNameList.get(k)[0])){ | |
| 828 | - | |
| 829 | - return temp; | |
| 830 | - | |
| 831 | - }else { | |
| 832 | - | |
| 833 | - temp = false; | |
| 834 | - | |
| 666 | + if(jd.equals("0") || wd.equals("0")) { | |
| 667 | + rsM.put("id", stationNameList.get(0)[1]); | |
| 668 | + temp = true; | |
| 669 | + }else{ | |
| 670 | + Point p1 = new Point(Double.parseDouble(jd),Double.parseDouble(wd)); | |
| 671 | + for(int k = 0 ; k <stationNameList.size();k++) { | |
| 672 | + String bJwpoints[] = stationNameList.get(k)[0].toString().split(" "); | |
| 673 | + Point p2 = new Point(Double.parseDouble(bJwpoints[0]),Double.parseDouble(bJwpoints[1])); | |
| 674 | + double jl = GeoUtils.getDistance(p1, p2); | |
| 675 | + if(jl<=120d) { | |
| 676 | + rsM.put("id", stationNameList.get(k)[1]); | |
| 677 | + temp = true; | |
| 678 | + break; | |
| 679 | + } | |
| 835 | 680 | } |
| 836 | - | |
| 837 | 681 | } |
| 838 | - | |
| 839 | - }else { | |
| 840 | - | |
| 841 | - temp = false; | |
| 842 | - } | |
| 843 | - | |
| 844 | - return temp; | |
| 682 | + } | |
| 683 | + rsM.put("isHave", temp); | |
| 684 | + return rsM; | |
| 845 | 685 | } |
| 846 | 686 | |
| 847 | - | |
| 848 | - | |
| 849 | 687 | /** |
| 850 | 688 | * @Description :TODO(新增站点保存) |
| 851 | 689 | * |
| ... | ... | @@ -863,246 +701,134 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem |
| 863 | 701 | */ |
| 864 | 702 | @Override |
| 865 | 703 | public Map<String, Object> stationSaveMap(Map<String, Object> map) { |
| 866 | - | |
| 867 | 704 | Map<String, Object> resultMap = new HashMap<String, Object>(); |
| 868 | - | |
| 869 | 705 | try { |
| 870 | - | |
| 871 | 706 | // 站点编码 |
| 872 | 707 | String stationCod = map.get("stationCod").equals("") ? "" : map.get("stationCod").toString(); |
| 873 | - | |
| 874 | 708 | // 站点ID |
| 875 | 709 | int stationId = Integer.valueOf(stationCod); |
| 876 | - | |
| 877 | 710 | // 站点名称 |
| 878 | 711 | String stationName = map.get("stationName").equals("") ? "" : map.get("stationName").toString(); |
| 879 | - | |
| 880 | 712 | // 道路编码 |
| 881 | 713 | String roadCoding = map.get("roadCoding").equals("") ? "" : map.get("roadCoding").toString(); |
| 882 | - | |
| 883 | 714 | // 原坐标类型 |
| 884 | 715 | String dbType = map.get("dbType").equals("") ? "" : map.get("dbType").toString(); |
| 885 | - | |
| 886 | 716 | // 原坐标点 |
| 887 | 717 | String bJwpoints = map.get("bJwpoints").equals("") ? "" : map.get("bJwpoints").toString(); |
| 888 | - | |
| 889 | 718 | String bJwpointsArray[] = null; |
| 890 | - | |
| 891 | 719 | if(bJwpoints!=null) { |
| 892 | - | |
| 893 | 720 | bJwpointsArray = bJwpoints.split(" "); |
| 894 | - | |
| 895 | 721 | } |
| 896 | - | |
| 897 | 722 | // WGS经纬度 |
| 898 | 723 | Float gLonx = null; |
| 899 | - | |
| 900 | 724 | // WGS纬度 |
| 901 | 725 | Float gLaty = null; |
| 902 | - | |
| 903 | 726 | if(bJwpointsArray.length>0) { |
| 904 | - | |
| 905 | 727 | Location resultPoint = FromBDPointToWGSPoint(bJwpointsArray[0],bJwpointsArray[1]); |
| 906 | - | |
| 907 | 728 | gLonx = (float)resultPoint.getLng(); |
| 908 | - | |
| 909 | 729 | gLaty = (float)resultPoint.getLat(); |
| 910 | - | |
| 911 | 730 | } |
| 912 | - | |
| 913 | - /*// WGS经纬度 | |
| 914 | - String gJwpoints = map.get("gJwpoints").equals("") ? null : map.get("gJwpoints").toString(); | |
| 915 | - | |
| 916 | - String gJwpointsArray []= null; | |
| 917 | - | |
| 918 | - if(gJwpoints!=null) { | |
| 919 | - | |
| 920 | - gJwpointsArray = gJwpoints.split(" "); | |
| 921 | - | |
| 922 | - }*/ | |
| 923 | - | |
| 924 | 731 | // 方向 |
| 925 | 732 | Integer directions = map.get("directions").equals("") ? null : Integer.parseInt(map.get("directions").toString()); |
| 926 | - | |
| 927 | 733 | // 距离 |
| 928 | 734 | Double distances = map.get("distances").equals("") ? null : Double.parseDouble(map.get("distances").toString()); |
| 929 | - | |
| 930 | 735 | // 时间 |
| 931 | 736 | Double toTime = map.get("toTime").equals("") ? null : Double.parseDouble(map.get("toTime").toString()); |
| 932 | - | |
| 933 | - /*// WGS经纬度 | |
| 934 | - Float gLonx = Float.parseFloat(gJwpointsArray[0]); | |
| 935 | - | |
| 936 | - // WGS纬度 | |
| 937 | - Float gLaty = Float.parseFloat(gJwpointsArray[1]);*/ | |
| 938 | - | |
| 939 | 737 | // 城建坐标经度 |
| 940 | 738 | Float x = map.get("x").equals("") ? null : Float.parseFloat(map.get("x").toString()); |
| 941 | - | |
| 942 | 739 | // 城建坐标纬度 |
| 943 | 740 | Float y = map.get("y").equals("") ? null : Float.parseFloat(map.get("y").toString()); |
| 944 | - | |
| 945 | - // 多边形WGS坐标点集合 | |
| 946 | - // String gPloygonGrid = map.get("gPolygonGrid").equals("") ? "" : map.get("gPolygonGrid").toString(); | |
| 947 | - | |
| 948 | 741 | // 多边形原坐标点集合 |
| 949 | 742 | String bPloygonGrid = map.get("bPolygonGrid").equals("") ? "" : map.get("bPolygonGrid").toString(); |
| 950 | - | |
| 951 | 743 | // 多边形WGS坐标点集合 |
| 952 | 744 | String gPloygonGrid =""; |
| 953 | - | |
| 954 | 745 | if(!bPloygonGrid.equals("")) { |
| 955 | - | |
| 956 | 746 | String bPloygonGridArray[] = bPloygonGrid.split(","); |
| 957 | - | |
| 958 | 747 | int bLen_ = bPloygonGridArray.length; |
| 959 | - | |
| 960 | 748 | for(int b = 0 ;b<bLen_;b++) { |
| 961 | - | |
| 962 | 749 | String tempArray[]= bPloygonGridArray[b].split(" "); |
| 963 | - | |
| 964 | 750 | Location resultPoint = FromBDPointToWGSPoint(tempArray[0],tempArray[1]); |
| 965 | - | |
| 966 | 751 | if(b==0) { |
| 967 | - | |
| 968 | 752 | gPloygonGrid = String.valueOf(resultPoint.getLng()) + " " + String.valueOf(resultPoint.getLat()); |
| 969 | - | |
| 970 | 753 | }else { |
| 971 | - | |
| 972 | 754 | gPloygonGrid = gPloygonGrid + ',' + String.valueOf(resultPoint.getLng()) + " " + String.valueOf(resultPoint.getLat()); |
| 973 | - | |
| 974 | 755 | } |
| 975 | - | |
| 976 | 756 | } |
| 977 | - | |
| 978 | 757 | } |
| 979 | - | |
| 980 | - /* bPloygonGrid = "POLYGON((" + bPloygonGrid +"))"; | |
| 981 | - | |
| 982 | - gPloygonGrid = "POLYGON((" + gPloygonGrid +"))";*/ | |
| 983 | - | |
| 984 | 758 | // 是否撤销 |
| 985 | 759 | Integer destroy = map.get("destroy").equals("") ? null : Integer.parseInt(map.get("destroy").toString()); |
| 986 | - | |
| 987 | 760 | // 圆半径 |
| 988 | 761 | Integer radius = map.get("radius").equals("") ? null : Integer.parseInt(map.get("radius").toString()); |
| 989 | - | |
| 990 | 762 | // 图形类型 |
| 991 | 763 | String shapesType = map.get("shapesType").equals("") ? "" : map.get("shapesType").toString(); |
| 992 | - | |
| 993 | 764 | // 版本 |
| 994 | 765 | Integer versions = map.get("versions").equals("") ? null : Integer.parseInt(map.get("versions").toString()); |
| 995 | - | |
| 996 | 766 | // 说明 |
| 997 | 767 | String descriptions = map.get("descriptions").equals("") ? "" : map.get("descriptions").toString(); |
| 998 | - | |
| 999 | 768 | // 创建人 |
| 1000 | 769 | Integer createBy = map.get("createBy").equals("") ? null : Integer.parseInt(map.get("createBy").toString()); |
| 1001 | - | |
| 1002 | 770 | // 修改人 |
| 1003 | 771 | Integer updateBy = map.get("updateBy").equals("") ? null : Integer.parseInt(map.get("updateBy").toString()); |
| 1004 | - | |
| 1005 | 772 | // 线路ID |
| 1006 | 773 | int line = map.get("lineId").equals("") ? 0 : Integer.parseInt(map.get("lineId").toString()); |
| 1007 | - | |
| 1008 | 774 | // 线路信息 |
| 1009 | 775 | Line resultLine = lineRepository.findOne(line); |
| 1010 | - | |
| 1011 | 776 | // 站点路由序号 |
| 1012 | 777 | String stationRouteCodeStr = map.get("stationRouteCode").equals("") ? "" : map.get("stationRouteCode").toString(); |
| 1013 | - | |
| 1014 | 778 | // 站点类型 |
| 1015 | 779 | String stationMark = map.get("stationMark").equals("") ? "" : map.get("stationMark").toString(); |
| 1016 | - | |
| 1017 | 780 | Integer stationRouteCode = null; |
| 1018 | - | |
| 1019 | 781 | if(stationRouteCodeStr!="") { |
| 1020 | - | |
| 1021 | 782 | String stationRouteCodeArray [] = stationRouteCodeStr.split("_"); |
| 1022 | - | |
| 1023 | 783 | stationRouteCode = Integer.parseInt(stationRouteCodeArray[0].toString())+1; |
| 1024 | - | |
| 1025 | - | |
| 1026 | 784 | }else { |
| 1027 | - | |
| 1028 | 785 | stationRouteCode = 100; |
| 1029 | - | |
| 1030 | 786 | } |
| 1031 | - | |
| 1032 | 787 | if(bPloygonGrid.equals("")) |
| 1033 | 788 | bPloygonGrid = null; |
| 1034 | 789 | else |
| 1035 | 790 | bPloygonGrid = "POLYGON((" + bPloygonGrid +"))"; |
| 1036 | - | |
| 1037 | 791 | if(gPloygonGrid.equals("")) |
| 1038 | 792 | gPloygonGrid = null; |
| 1039 | 793 | else |
| 1040 | 794 | gPloygonGrid = "POLYGON((" + gPloygonGrid +"))"; |
| 1041 | - | |
| 1042 | 795 | // 保存站点 |
| 1043 | 796 | repository.stationSave(stationCod, stationName, roadCoding, dbType, bJwpoints, |
| 1044 | - | |
| 1045 | 797 | gLonx, gLaty, x, y, gPloygonGrid,bPloygonGrid, destroy, radius, |
| 1046 | - | |
| 1047 | 798 | shapesType, versions, descriptions, createBy, updateBy,stationId); |
| 1048 | - | |
| 1049 | - | |
| 1050 | - | |
| 1051 | - | |
| 1052 | 799 | Station station = repository.findOne(stationId); |
| 1053 | - | |
| 1054 | 800 | StationRoute arg0 = new StationRoute(); |
| 1055 | - | |
| 1056 | 801 | // 线路 |
| 1057 | 802 | arg0.setLine(resultLine); |
| 1058 | - | |
| 1059 | 803 | arg0.setLineCode(resultLine.getLineCode()); |
| 1060 | - | |
| 1061 | 804 | // 站点 |
| 1062 | 805 | arg0.setStation(station); |
| 1063 | - | |
| 1064 | 806 | // 站点路由名称 |
| 1065 | 807 | arg0.setStationName(stationName); |
| 1066 | - | |
| 1067 | 808 | // 站点路由编码 |
| 1068 | 809 | arg0.setStationCode(stationCod); |
| 1069 | - | |
| 1070 | 810 | // 站点路由序号 |
| 1071 | 811 | arg0.setStationRouteCode(stationRouteCode); |
| 1072 | - | |
| 1073 | 812 | // 站点路由类型 |
| 1074 | 813 | arg0.setStationMark(stationMark); |
| 1075 | - | |
| 1076 | 814 | // 站点路由站点方向 |
| 1077 | 815 | arg0.setDirections(directions); |
| 1078 | - | |
| 1079 | 816 | // 站点路由到站距离 |
| 1080 | 817 | arg0.setDistances(distances); |
| 1081 | - | |
| 1082 | 818 | // 站点路由到站时间 |
| 1083 | 819 | arg0.setToTime(toTime); |
| 1084 | - | |
| 1085 | 820 | // 站点版本号 |
| 1086 | 821 | arg0.setVersions(versions); |
| 1087 | - | |
| 1088 | 822 | // 是否撤销 |
| 1089 | 823 | arg0.setDestroy(destroy); |
| 1090 | - | |
| 1091 | 824 | // 站点路由说明 |
| 1092 | 825 | arg0.setDescriptions(descriptions); |
| 1093 | - | |
| 1094 | 826 | routeRepository.save(arg0); |
| 1095 | - | |
| 1096 | 827 | resultMap.put("status", ResponseCode.SUCCESS); |
| 1097 | - | |
| 1098 | 828 | } catch (Exception e) { |
| 1099 | - | |
| 1100 | 829 | resultMap.put("status", ResponseCode.ERROR); |
| 1101 | - | |
| 1102 | 830 | logger.error("save erro.", e); |
| 1103 | - | |
| 1104 | 831 | } |
| 1105 | - | |
| 1106 | 832 | return resultMap; |
| 1107 | 833 | } |
| 1108 | 834 | |
| ... | ... | @@ -1373,101 +1099,64 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem |
| 1373 | 1099 | |
| 1374 | 1100 | @Override |
| 1375 | 1101 | public Map<String, Object> manualSave(Map<String, Object> map) { |
| 1376 | - | |
| 1377 | 1102 | Map<String, Object> resultMap = new HashMap<String,Object>(); |
| 1378 | - | |
| 1379 | 1103 | try { |
| 1380 | - | |
| 1381 | 1104 | // 站点信息字符传 |
| 1382 | 1105 | String stationJSON = map.get("stationJSON").equals("") ? "" : map.get("stationJSON").toString(); |
| 1383 | - | |
| 1384 | 1106 | // 路段信息字符串 |
| 1385 | 1107 | String sectionJSON = map.get("sectionJSON").equals("") ? "" : map.get("sectionJSON").toString(); |
| 1386 | - | |
| 1387 | 1108 | // 方向 |
| 1388 | 1109 | int directions = Integer.parseInt(map.get("directions").toString()); |
| 1389 | - | |
| 1390 | 1110 | // 是否撤销 |
| 1391 | 1111 | int destroy = map.get("destroy").equals("") ? 0 : Integer.parseInt(map.get("destroy").toString()); |
| 1392 | - | |
| 1393 | 1112 | // 版本 |
| 1394 | 1113 | int versions = map.get("versions").equals("") ? 0 : Integer.parseInt(map.get("versions").toString()); |
| 1395 | - | |
| 1396 | 1114 | // 坐标类型 |
| 1397 | 1115 | String dbType = map.get("dbType").equals("") ? "" : map.get("dbType").toString(); |
| 1398 | - | |
| 1399 | 1116 | // 限速 |
| 1400 | 1117 | String speedLimitStr = map.get("speedLimit").equals("") ? "" : map.get("speedLimit").toString(); |
| 1401 | - | |
| 1402 | 1118 | // 线路ID |
| 1403 | 1119 | int lineId = map.get("lineId").equals("") ? 0 : Integer.parseInt(map.get("lineId").toString()); |
| 1404 | - | |
| 1405 | 1120 | // 半径 |
| 1406 | 1121 | int radius = map.get("radius").equals("") ? 0 : Integer.parseInt(map.get("radius").toString()); |
| 1407 | - | |
| 1408 | 1122 | // 图形类型 |
| 1409 | 1123 | String shapesType = map.get("shapesType").equals("") ? "" : map.get("shapesType").toString(); |
| 1410 | - | |
| 1411 | 1124 | // 线路信息 |
| 1412 | 1125 | Line resultLine = lineRepository.findOne(lineId); |
| 1413 | - | |
| 1414 | 1126 | // 路段距离 |
| 1415 | 1127 | Double sectionDistance = 0.0d; |
| 1416 | - | |
| 1417 | 1128 | // 路段时长 |
| 1418 | 1129 | Double sectionDuration = 0.0d; |
| 1419 | - | |
| 1420 | 1130 | // 里程(上或者下) |
| 1421 | 1131 | double sumUpOrDownMileage = 0.0d; |
| 1422 | - | |
| 1423 | 1132 | Map<String, Object> resultSaveMapm = new HashMap<String,Object>(); |
| 1424 | - | |
| 1425 | 1133 | String baseRes = map.get("baseRes").equals("") ? "" : map.get("baseRes").toString(); |
| 1426 | - | |
| 1427 | 1134 | if(!stationJSON.equals("")) { |
| 1428 | - | |
| 1429 | 1135 | // 保存站点与站点路由信息 |
| 1430 | 1136 | resultSaveMapm = savaStationAndStationRouteInfo( stationJSON, sectionDistance, sectionDuration, dbType,radius, shapesType, destroy, versions, sumUpOrDownMileage, directions, resultLine,baseRes); |
| 1431 | - | |
| 1432 | 1137 | } |
| 1433 | - | |
| 1434 | 1138 | // 路段长度 |
| 1435 | 1139 | sectionDistance = Double.valueOf(resultSaveMapm.get("sectionDistance").toString()); |
| 1436 | - | |
| 1437 | 1140 | // 路段时长 |
| 1438 | 1141 | sectionDuration = Double.valueOf(resultSaveMapm.get("sectionDuration").toString()); |
| 1439 | - | |
| 1440 | 1142 | // 如果路段信息JSON字符串不为空 |
| 1441 | 1143 | if(!sectionJSON.equals("")) { |
| 1442 | - | |
| 1443 | 1144 | manualSaveSectionAndSectionRoute(sectionJSON, speedLimitStr, sectionDistance, sectionDuration, dbType, versions, resultLine, destroy, directions); |
| 1444 | - | |
| 1445 | 1145 | } |
| 1446 | - | |
| 1447 | 1146 | // 里程 |
| 1448 | 1147 | sumUpOrDownMileage = Double.valueOf(resultSaveMapm.get("sumUpOrDownMileage").toString()); |
| 1449 | - | |
| 1450 | 1148 | BigDecimal s = new BigDecimal(sumUpOrDownMileage); |
| 1451 | - | |
| 1452 | 1149 | sumUpOrDownMileage = s.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); |
| 1453 | - | |
| 1454 | 1150 | // 更新里程 |
| 1455 | 1151 | // updateLineInfoUpOrDownMileage( resultLine , directions, sumUpOrDownMileage); |
| 1456 | - | |
| 1457 | 1152 | if(directions==0) { |
| 1458 | - | |
| 1459 | 1153 | // lineUpdateStationName(resultLine); |
| 1460 | - | |
| 1461 | 1154 | } |
| 1462 | - | |
| 1463 | 1155 | resultMap.put("status", ResponseCode.SUCCESS); |
| 1464 | - | |
| 1156 | + resultMap.put("stationData", resultSaveMapm.get("stationdata")); | |
| 1465 | 1157 | } catch (Exception e) { |
| 1466 | - | |
| 1467 | 1158 | resultMap.put("status", ResponseCode.ERROR); |
| 1468 | - | |
| 1469 | 1159 | logger.error("save erro.", e); |
| 1470 | - | |
| 1471 | 1160 | } |
| 1472 | 1161 | |
| 1473 | 1162 | return resultMap; |
| ... | ... | @@ -1478,103 +1167,61 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem |
| 1478 | 1167 | double sectionTime,String dbType,Integer versions,Line resultLine, |
| 1479 | 1168 | |
| 1480 | 1169 | Integer destroy,Integer directions) { |
| 1481 | - | |
| 1482 | 1170 | // 转换成JSON数组 |
| 1483 | 1171 | JSONArray sectionsArray = JSONArray.parseArray(sectionJSON); |
| 1484 | - | |
| 1485 | 1172 | // 遍历 |
| 1486 | 1173 | for(int s = 0 ;s<sectionsArray.size();s++) { |
| 1487 | - | |
| 1488 | 1174 | // 站点名称 |
| 1489 | 1175 | String sectionName = sectionsArray.getJSONObject(s).equals("") ? "" : sectionsArray.getJSONObject(s).get("sectionName").toString(); |
| 1490 | - | |
| 1491 | 1176 | String pointsStr = sectionsArray.getJSONObject(s).equals("") ? "" : sectionsArray.getJSONObject(s).get("points").toString(); |
| 1492 | - | |
| 1493 | 1177 | // 原始线状图形坐标集合 |
| 1494 | 1178 | String sectionsBpoints = ""; |
| 1495 | - | |
| 1496 | 1179 | // WGS线状图形坐标集合 |
| 1497 | 1180 | String sectionsWJPpoints = ""; |
| 1498 | - | |
| 1499 | 1181 | if(!pointsStr.equals("")){ |
| 1500 | - | |
| 1501 | 1182 | JSONArray pointsArray = JSONArray.parseArray(pointsStr); |
| 1502 | - | |
| 1503 | 1183 | for(int p =0;p<pointsArray.size();p++){ |
| 1504 | - | |
| 1505 | 1184 | String pointsLngStr = pointsArray.getJSONObject(p).get("lng").toString(); |
| 1506 | - | |
| 1507 | 1185 | String pointsLatStr = pointsArray.getJSONObject(p).get("lat").toString(); |
| 1508 | - | |
| 1509 | 1186 | Location resultPoint = FromBDPointToWGSPoint(pointsLngStr,pointsLatStr); |
| 1510 | - | |
| 1511 | 1187 | String WGSLngStr = String.valueOf(resultPoint.getLng()); |
| 1512 | - | |
| 1513 | 1188 | String WGSLatStr = String.valueOf(resultPoint.getLat()); |
| 1514 | - | |
| 1515 | 1189 | if(p==pointsArray.size()-1){ |
| 1516 | - | |
| 1517 | 1190 | sectionsBpoints = sectionsBpoints + pointsLngStr + " " + pointsLatStr; |
| 1518 | - | |
| 1519 | 1191 | sectionsWJPpoints = sectionsWJPpoints + WGSLngStr + " " + WGSLatStr; |
| 1520 | - | |
| 1521 | 1192 | // sectionsWJPpoints = sectionsWJPpoints + pointsArray.getJSONObject(p).getJSONObject("WGSpotion").get("Lng") + " " +pointsArray.getJSONObject(p).getJSONObject("WGSpotion").get("Lat"); |
| 1522 | - | |
| 1523 | 1193 | }else { |
| 1524 | - | |
| 1525 | 1194 | sectionsBpoints = sectionsBpoints + pointsArray.getJSONObject(p).get("lng").toString() + " " +pointsArray.getJSONObject(p).get("lat").toString()+","; |
| 1526 | - | |
| 1527 | 1195 | sectionsWJPpoints = sectionsWJPpoints + WGSLngStr + " " + WGSLatStr + ","; |
| 1528 | - | |
| 1529 | 1196 | // sectionsWJPpoints = sectionsWJPpoints + pointsArray.getJSONObject(p).getJSONObject("WGSpotion").get("Lng") + " " +pointsArray.getJSONObject(p).getJSONObject("WGSpotion").get("Lat") +","; |
| 1530 | - | |
| 1531 | - | |
| 1532 | 1197 | } |
| 1533 | - | |
| 1534 | 1198 | } |
| 1535 | - | |
| 1536 | 1199 | } |
| 1537 | - | |
| 1538 | 1200 | long sectionMaxId = GetUIDAndCode.getSectionId(); |
| 1539 | - | |
| 1540 | 1201 | String sectionCode = String.valueOf(sectionMaxId); |
| 1541 | - | |
| 1542 | 1202 | int sectionId = (int) (sectionMaxId); |
| 1543 | - | |
| 1544 | 1203 | // 交出路 |
| 1545 | 1204 | String crosesRoad = ""; |
| 1546 | - | |
| 1547 | 1205 | // 终止节点 |
| 1548 | 1206 | String endNode = ""; |
| 1549 | - | |
| 1550 | 1207 | // 开始节点 |
| 1551 | 1208 | String startNode = ""; |
| 1552 | - | |
| 1553 | 1209 | // 中间节点 |
| 1554 | 1210 | String middleNode = ""; |
| 1555 | - | |
| 1556 | 1211 | // WGS坐标点集合 |
| 1557 | 1212 | String gsectionVector = "LINESTRING(" + sectionsWJPpoints +")"; |
| 1558 | - | |
| 1559 | 1213 | // 原坐标点集合 |
| 1560 | 1214 | String bsectionVector = "LINESTRING(" + sectionsBpoints + ")"; |
| 1561 | - | |
| 1562 | 1215 | // 城建坐标点集合 |
| 1563 | 1216 | String csectionVector = ""; |
| 1564 | - | |
| 1565 | 1217 | // 路段类型 |
| 1566 | 1218 | String sectionType = ""; |
| 1567 | - | |
| 1568 | 1219 | // 道路编码 |
| 1569 | 1220 | String roadCoding = ""; |
| 1570 | - | |
| 1571 | 1221 | // 限速 |
| 1572 | 1222 | double speedLimit = Double.parseDouble(speedLimitStr); |
| 1573 | - | |
| 1574 | 1223 | // 说明 |
| 1575 | 1224 | String descriptions = ""; |
| 1576 | - | |
| 1577 | - | |
| 1578 | 1225 | sectionRepository.systemSave(sectionCode, sectionName, crosesRoad, endNode, startNode, |
| 1579 | 1226 | |
| 1580 | 1227 | middleNode, gsectionVector, bsectionVector, sectionType, csectionVector, |
| ... | ... | @@ -1582,37 +1229,24 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem |
| 1582 | 1229 | roadCoding, sectionDistance, sectionTime, dbType, speedLimit, |
| 1583 | 1230 | |
| 1584 | 1231 | descriptions, versions,sectionId); |
| 1585 | - | |
| 1586 | - | |
| 1587 | - | |
| 1588 | 1232 | Section section = sectionRepository.findOne(Integer.parseInt(sectionCode)); |
| 1589 | - | |
| 1590 | 1233 | // 路段路由 |
| 1591 | 1234 | SectionRoute sectionRoute = new SectionRoute(); |
| 1592 | - | |
| 1593 | 1235 | // 路段序号 |
| 1594 | 1236 | sectionRoute.setSectionrouteCode((s+1)*100); |
| 1595 | - | |
| 1596 | 1237 | // 线路编码 |
| 1597 | 1238 | sectionRoute.setLineCode(resultLine.getLineCode()); |
| 1598 | - | |
| 1599 | 1239 | // 路段ID |
| 1600 | 1240 | sectionRoute.setSection(section); |
| 1601 | - | |
| 1602 | 1241 | // 线路ID |
| 1603 | 1242 | sectionRoute.setLine(resultLine); |
| 1604 | - | |
| 1605 | 1243 | // 路段编码 |
| 1606 | 1244 | sectionRoute.setSectionCode(sectionCode); |
| 1607 | - | |
| 1608 | 1245 | // 版本 |
| 1609 | 1246 | sectionRoute.setVersions(versions); |
| 1610 | - | |
| 1611 | 1247 | sectionRoute.setDestroy(destroy); |
| 1612 | - | |
| 1613 | 1248 | // 方向 |
| 1614 | 1249 | sectionRoute.setDirections(directions); |
| 1615 | - | |
| 1616 | 1250 | sectionRouteRepository.save(sectionRoute); |
| 1617 | 1251 | } |
| 1618 | 1252 | ... | ... |
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
| ... | ... | @@ -642,7 +642,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 642 | 642 | |
| 643 | 643 | //计算里程和班次数,并放入Map里 |
| 644 | 644 | map = new HashMap<String, Object>(); |
| 645 | - map.put("jhlc", culateMieageService.culateJhgl(scheduleRealInfos)); | |
| 645 | + map.put("jhlc",Arith.add(culateMieageService.culateJhgl(scheduleRealInfos),culateMieageService.culateJhJccgl(scheduleRealInfos))); | |
| 646 | 646 | map.put("remMileage",culateMieageService.culateLbgl(lists)); |
| 647 | 647 | map.put("addMileage", culateMieageService.culateLjgl(lists)); |
| 648 | 648 | double yygl=Arith.add(culateMieageService.culateSjgl(lists),culateMieageService.culateLjgl(lists)); |
| ... | ... | @@ -1433,7 +1433,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 1433 | 1433 | double jccgl=culateService.culateJccgl(lists); |
| 1434 | 1434 | double ljgl=culateService.culateLjgl(lists); |
| 1435 | 1435 | |
| 1436 | - map.put("jhlc", culateService.culateJhgl(list)); //计划里程 | |
| 1436 | + map.put("jhlc", Arith.add(culateService.culateJhgl(list),culateService.culateJhJccgl(list))); //计划里程 | |
| 1437 | 1437 | map.put("remMileage", culateService.culateLbgl(list)); //烂班公里 |
| 1438 | 1438 | map.put("addMileage", ljgl); //临加公里 |
| 1439 | 1439 | map.put("yygl",Arith.add(sjgl,ljgl)); //实际公里 |
| ... | ... | @@ -3906,7 +3906,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 3906 | 3906 | |
| 3907 | 3907 | //计算里程和班次数,并放入Map里 |
| 3908 | 3908 | map = new HashMap<String, Object>(); |
| 3909 | - map.put("jhlc", culateMieageService.culateJhgl(scheduleRealInfos)); | |
| 3909 | + map.put("jhlc", Arith.add(culateMieageService.culateJhgl(scheduleRealInfos),culateMieageService.culateJhJccgl(scheduleRealInfos))); | |
| 3910 | 3910 | map.put("remMileage",culateMieageService.culateLbgl(lists)); |
| 3911 | 3911 | map.put("addMileage", culateMieageService.culateLjgl(lists)); |
| 3912 | 3912 | double yygl=Arith.add(culateMieageService.culateSjgl(lists),culateMieageService.culateLjgl(lists)); | ... | ... |
src/main/java/com/bsth/util/GetUIDAndCode.java
| ... | ... | @@ -26,80 +26,47 @@ import com.bsth.repository.StationRepository; |
| 26 | 26 | */ |
| 27 | 27 | @Component |
| 28 | 28 | public class GetUIDAndCode { |
| 29 | - | |
| 30 | 29 | @Autowired |
| 31 | 30 | private LineRepository lineRepository; |
| 32 | - | |
| 33 | 31 | @Autowired |
| 34 | 32 | private StationRepository stationRepository; |
| 35 | - | |
| 36 | 33 | @Autowired |
| 37 | 34 | private SectionRepository sectionRepository; |
| 38 | - | |
| 39 | 35 | @Autowired |
| 40 | 36 | private CarParkRepository carParkRepository; |
| 41 | - | |
| 42 | 37 | /** 线路ID */ |
| 43 | 38 | private static long lineId = 0L; |
| 44 | - | |
| 45 | 39 | /** 站点ID */ |
| 46 | 40 | private static long stationId = 0L; |
| 47 | - | |
| 48 | 41 | /** 路段ID */ |
| 49 | 42 | private static long sectionId = 0L; |
| 50 | - | |
| 51 | 43 | /** 停车长ID*/ |
| 52 | 44 | private static long carParkId = 0L; |
| 53 | - | |
| 54 | 45 | public GetUIDAndCode() { |
| 55 | - | |
| 56 | 46 | new Timer().schedule(new TimerTask() { |
| 57 | - | |
| 58 | 47 | @Override |
| 59 | 48 | public void run() { |
| 60 | - | |
| 61 | 49 | lineId = lineRepository.selectMaxIdToLineCode(); |
| 62 | - | |
| 63 | 50 | stationId = stationRepository.stationMaxId(); |
| 64 | - | |
| 65 | 51 | sectionId = sectionRepository.sectionMaxId(); |
| 66 | - | |
| 67 | 52 | carParkId = carParkRepository.carParkMaxId(); |
| 68 | - | |
| 69 | 53 | } |
| 70 | 54 | }, 1000 * 30); |
| 71 | - | |
| 72 | 55 | } |
| 73 | - | |
| 74 | 56 | public static synchronized long getLineId() { |
| 75 | - | |
| 76 | 57 | ++lineId; |
| 77 | - | |
| 78 | 58 | return lineId; |
| 79 | - | |
| 80 | 59 | } |
| 81 | - | |
| 82 | 60 | public static synchronized long getStationId() { |
| 83 | - | |
| 84 | 61 | ++stationId; |
| 85 | - | |
| 86 | 62 | return stationId; |
| 87 | 63 | } |
| 88 | - | |
| 89 | 64 | public static synchronized long getSectionId() { |
| 90 | - | |
| 91 | 65 | ++sectionId; |
| 92 | - | |
| 93 | 66 | return sectionId; |
| 94 | - | |
| 95 | 67 | } |
| 96 | - | |
| 97 | 68 | public static synchronized long getCarParkId() { |
| 98 | - | |
| 99 | 69 | ++carParkId; |
| 100 | - | |
| 101 | 70 | return carParkId; |
| 102 | - | |
| 103 | 71 | } |
| 104 | - | |
| 105 | -} | |
| 72 | +} | |
| 106 | 73 | \ No newline at end of file | ... | ... |
src/main/resources/datatools/ktrs/employeesDataInput.ktr
| 1 | -<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | -<transformation> | |
| 3 | - <info> | |
| 4 | - <name>人员信息导入</name> | |
| 5 | - <description>人员基础信息导入</description> | |
| 6 | - <extended_description>人员基础信息</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>erroroutputdir</name> | |
| 14 | - <default_value/> | |
| 15 | - <description>ktr step配置的错误输出目录</description> | |
| 16 | - </parameter> | |
| 17 | - <parameter> | |
| 18 | - <name>filepath</name> | |
| 19 | - <default_value/> | |
| 20 | - <description>待处理导入的excel文件</description> | |
| 21 | - </parameter> | |
| 22 | - </parameters> | |
| 23 | - <log> | |
| 24 | -<trans-log-table><connection/> | |
| 25 | -<schema/> | |
| 26 | -<table/> | |
| 27 | -<size_limit_lines/> | |
| 28 | -<interval/> | |
| 29 | -<timeout_days/> | |
| 30 | -<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> | |
| 31 | -<perf-log-table><connection/> | |
| 32 | -<schema/> | |
| 33 | -<table/> | |
| 34 | -<interval/> | |
| 35 | -<timeout_days/> | |
| 36 | -<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> | |
| 37 | -<channel-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>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> | |
| 42 | -<step-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>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> | |
| 47 | -<metrics-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>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> | |
| 52 | - </log> | |
| 53 | - <maxdate> | |
| 54 | - <connection/> | |
| 55 | - <table/> | |
| 56 | - <field/> | |
| 57 | - <offset>0.0</offset> | |
| 58 | - <maxdiff>0.0</maxdiff> | |
| 59 | - </maxdate> | |
| 60 | - <size_rowset>10000</size_rowset> | |
| 61 | - <sleep_time_empty>50</sleep_time_empty> | |
| 62 | - <sleep_time_full>50</sleep_time_full> | |
| 63 | - <unique_connections>N</unique_connections> | |
| 64 | - <feedback_shown>Y</feedback_shown> | |
| 65 | - <feedback_size>50000</feedback_size> | |
| 66 | - <using_thread_priorities>Y</using_thread_priorities> | |
| 67 | - <shared_objects_file/> | |
| 68 | - <capture_step_performance>N</capture_step_performance> | |
| 69 | - <step_performance_capturing_delay>1000</step_performance_capturing_delay> | |
| 70 | - <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit> | |
| 71 | - <dependencies> | |
| 72 | - </dependencies> | |
| 73 | - <partitionschemas> | |
| 74 | - </partitionschemas> | |
| 75 | - <slaveservers> | |
| 76 | - </slaveservers> | |
| 77 | - <clusterschemas> | |
| 78 | - </clusterschemas> | |
| 79 | - <created_user>-</created_user> | |
| 80 | - <created_date>2016/06/29 10:18:56.974</created_date> | |
| 81 | - <modified_user>-</modified_user> | |
| 82 | - <modified_date>2016/06/29 10:18:56.974</modified_date> | |
| 83 | - <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key> | |
| 84 | - <is_key_private>N</is_key_private> | |
| 85 | - </info> | |
| 86 | - <notepads> | |
| 87 | - </notepads> | |
| 88 | - <connection> | |
| 89 | - <name>bus_control_variable</name> | |
| 90 | - <server>${v_db_ip}</server> | |
| 91 | - <type>MYSQL</type> | |
| 92 | - <access>Native</access> | |
| 93 | - <database>${v_db_dname}</database> | |
| 94 | - <port>3306</port> | |
| 95 | - <username>${v_db_uname}</username> | |
| 96 | - <password>${v_db_pwd}</password> | |
| 97 | - <servername/> | |
| 98 | - <data_tablespace/> | |
| 99 | - <index_tablespace/> | |
| 100 | - <attributes> | |
| 101 | - <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute> | |
| 102 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 103 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 104 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 105 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 106 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 107 | - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 108 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 109 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 110 | - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | |
| 111 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 112 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 113 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 114 | - </attributes> | |
| 115 | - </connection> | |
| 116 | - <connection> | |
| 117 | - <name>bus_control_公司_201</name> | |
| 118 | - <server>localhost</server> | |
| 119 | - <type>MYSQL</type> | |
| 120 | - <access>Native</access> | |
| 121 | - <database>control</database> | |
| 122 | - <port>3306</port> | |
| 123 | - <username>root</username> | |
| 124 | - <password>Encrypted </password> | |
| 125 | - <servername/> | |
| 126 | - <data_tablespace/> | |
| 127 | - <index_tablespace/> | |
| 128 | - <attributes> | |
| 129 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 130 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 131 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 132 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 133 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 134 | - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 135 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 136 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 137 | - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | |
| 138 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 139 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 140 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 141 | - </attributes> | |
| 142 | - </connection> | |
| 143 | - <connection> | |
| 144 | - <name>bus_control_本机</name> | |
| 145 | - <server>localhost</server> | |
| 146 | - <type>MYSQL</type> | |
| 147 | - <access>Native</access> | |
| 148 | - <database>control</database> | |
| 149 | - <port>3306</port> | |
| 150 | - <username>root</username> | |
| 151 | - <password>Encrypted </password> | |
| 152 | - <servername/> | |
| 153 | - <data_tablespace/> | |
| 154 | - <index_tablespace/> | |
| 155 | - <attributes> | |
| 156 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 157 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 158 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 159 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 160 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 161 | - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 162 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 163 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 164 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 165 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 166 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 167 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 168 | - </attributes> | |
| 169 | - </connection> | |
| 170 | - <connection> | |
| 171 | - <name>xlab_mysql_youle</name> | |
| 172 | - <server>101.231.124.8</server> | |
| 173 | - <type>MYSQL</type> | |
| 174 | - <access>Native</access> | |
| 175 | - <database>xlab_youle</database> | |
| 176 | - <port>45687</port> | |
| 177 | - <username>xlab-youle</username> | |
| 178 | - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password> | |
| 179 | - <servername/> | |
| 180 | - <data_tablespace/> | |
| 181 | - <index_tablespace/> | |
| 182 | - <attributes> | |
| 183 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 184 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 185 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 186 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 187 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 188 | - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute> | |
| 189 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 190 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 191 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 192 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 193 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 194 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 195 | - </attributes> | |
| 196 | - </connection> | |
| 197 | - <connection> | |
| 198 | - <name>xlab_mysql_youle(本机)</name> | |
| 199 | - <server>localhost</server> | |
| 200 | - <type>MYSQL</type> | |
| 201 | - <access>Native</access> | |
| 202 | - <database>xlab_youle</database> | |
| 203 | - <port>3306</port> | |
| 204 | - <username>root</username> | |
| 205 | - <password>Encrypted </password> | |
| 206 | - <servername/> | |
| 207 | - <data_tablespace/> | |
| 208 | - <index_tablespace/> | |
| 209 | - <attributes> | |
| 210 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 211 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 212 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 213 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 214 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 215 | - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 216 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 217 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 218 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 219 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 220 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 221 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 222 | - </attributes> | |
| 223 | - </connection> | |
| 224 | - <connection> | |
| 225 | - <name>xlab_youle</name> | |
| 226 | - <server/> | |
| 227 | - <type>MYSQL</type> | |
| 228 | - <access>JNDI</access> | |
| 229 | - <database>xlab_youle</database> | |
| 230 | - <port>1521</port> | |
| 231 | - <username/> | |
| 232 | - <password>Encrypted </password> | |
| 233 | - <servername/> | |
| 234 | - <data_tablespace/> | |
| 235 | - <index_tablespace/> | |
| 236 | - <attributes> | |
| 237 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 238 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 239 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 240 | - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | |
| 241 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 242 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 243 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 244 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 245 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 246 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 247 | - </attributes> | |
| 248 | - </connection> | |
| 249 | - <order> | |
| 250 | - <hop> <from>插入/更新bsth_c_personnel</from><to>错误输出</to><enabled>Y</enabled> </hop> | |
| 251 | - <hop> <from>获取变量</from><to>原始系统导出的Excel输入</to><enabled>Y</enabled> </hop> | |
| 252 | - <hop> <from>原始系统导出的Excel输入</from><to>过滤记录</to><enabled>Y</enabled> </hop> | |
| 253 | - <hop> <from>过滤记录</from><to>JavaScript代码</to><enabled>Y</enabled> </hop> | |
| 254 | - <hop> <from>JavaScript代码</from><to>插入/更新bsth_c_personnel</to><enabled>Y</enabled> </hop> | |
| 255 | - </order> | |
| 256 | - <step> | |
| 257 | - <name>JavaScript代码</name> | |
| 258 | - <type>ScriptValueMod</type> | |
| 259 | - <description/> | |
| 260 | - <distribute>Y</distribute> | |
| 261 | - <custom_distribution/> | |
| 262 | - <copies>1</copies> | |
| 263 | - <partitioning> | |
| 264 | - <method>none</method> | |
| 265 | - <schema_name/> | |
| 266 | - </partitioning> | |
| 267 | - <compatible>N</compatible> | |
| 268 | - <optimizationLevel>9</optimizationLevel> | |
| 269 | - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> | |
| 270 | - <jsScript_name>Script 1</jsScript_name> | |
| 271 | - <jsScript_script>//Script here

var gh_calcu = 所属公司代码 + "-" + 工号;</jsScript_script> | |
| 272 | - </jsScript> </jsScripts> <fields> <field> <name>gh_calcu</name> | |
| 273 | - <rename>gh_calcu</rename> | |
| 274 | - <type>String</type> | |
| 275 | - <length>-1</length> | |
| 276 | - <precision>-1</precision> | |
| 277 | - <replace>N</replace> | |
| 278 | - </field> </fields> <cluster_schema/> | |
| 279 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 280 | - <xloc>362</xloc> | |
| 281 | - <yloc>190</yloc> | |
| 282 | - <draw>Y</draw> | |
| 283 | - </GUI> | |
| 284 | - </step> | |
| 285 | - | |
| 286 | - <step> | |
| 287 | - <name>原始系统导出的Excel输入</name> | |
| 288 | - <type>ExcelInput</type> | |
| 289 | - <description/> | |
| 290 | - <distribute>Y</distribute> | |
| 291 | - <custom_distribution/> | |
| 292 | - <copies>1</copies> | |
| 293 | - <partitioning> | |
| 294 | - <method>none</method> | |
| 295 | - <schema_name/> | |
| 296 | - </partitioning> | |
| 297 | - <header>Y</header> | |
| 298 | - <noempty>Y</noempty> | |
| 299 | - <stoponempty>N</stoponempty> | |
| 300 | - <filefield/> | |
| 301 | - <sheetfield/> | |
| 302 | - <sheetrownumfield/> | |
| 303 | - <rownumfield/> | |
| 304 | - <sheetfield/> | |
| 305 | - <filefield/> | |
| 306 | - <limit>0</limit> | |
| 307 | - <encoding/> | |
| 308 | - <add_to_result_filenames>Y</add_to_result_filenames> | |
| 309 | - <accept_filenames>Y</accept_filenames> | |
| 310 | - <accept_field>filepath_</accept_field> | |
| 311 | - <accept_stepname>获取变量</accept_stepname> | |
| 312 | - <file> | |
| 313 | - <name/> | |
| 314 | - <filemask/> | |
| 315 | - <exclude_filemask/> | |
| 316 | - <file_required>N</file_required> | |
| 317 | - <include_subfolders>N</include_subfolders> | |
| 318 | - </file> | |
| 319 | - <fields> | |
| 320 | - <field> | |
| 321 | - <name>姓名</name> | |
| 322 | - <type>String</type> | |
| 323 | - <length>-1</length> | |
| 324 | - <precision>-1</precision> | |
| 325 | - <trim_type>none</trim_type> | |
| 326 | - <repeat>N</repeat> | |
| 327 | - <format/> | |
| 328 | - <currency/> | |
| 329 | - <decimal/> | |
| 330 | - <group/> | |
| 331 | - </field> | |
| 332 | - <field> | |
| 333 | - <name>工号</name> | |
| 334 | - <type>String</type> | |
| 335 | - <length>-1</length> | |
| 336 | - <precision>-1</precision> | |
| 337 | - <trim_type>none</trim_type> | |
| 338 | - <repeat>N</repeat> | |
| 339 | - <format>#</format> | |
| 340 | - <currency/> | |
| 341 | - <decimal/> | |
| 342 | - <group/> | |
| 343 | - </field> | |
| 344 | - <field> | |
| 345 | - <name>所属公司</name> | |
| 346 | - <type>String</type> | |
| 347 | - <length>-1</length> | |
| 348 | - <precision>-1</precision> | |
| 349 | - <trim_type>none</trim_type> | |
| 350 | - <repeat>N</repeat> | |
| 351 | - <format/> | |
| 352 | - <currency/> | |
| 353 | - <decimal/> | |
| 354 | - <group/> | |
| 355 | - </field> | |
| 356 | - <field> | |
| 357 | - <name>所属公司代码</name> | |
| 358 | - <type>String</type> | |
| 359 | - <length>-1</length> | |
| 360 | - <precision>-1</precision> | |
| 361 | - <trim_type>none</trim_type> | |
| 362 | - <repeat>N</repeat> | |
| 363 | - <format/> | |
| 364 | - <currency/> | |
| 365 | - <decimal/> | |
| 366 | - <group/> | |
| 367 | - </field> | |
| 368 | - <field> | |
| 369 | - <name>所属分公司</name> | |
| 370 | - <type>String</type> | |
| 371 | - <length>-1</length> | |
| 372 | - <precision>-1</precision> | |
| 373 | - <trim_type>none</trim_type> | |
| 374 | - <repeat>N</repeat> | |
| 375 | - <format/> | |
| 376 | - <currency/> | |
| 377 | - <decimal/> | |
| 378 | - <group/> | |
| 379 | - </field> | |
| 380 | - <field> | |
| 381 | - <name>所属分公司代码</name> | |
| 382 | - <type>String</type> | |
| 383 | - <length>-1</length> | |
| 384 | - <precision>-1</precision> | |
| 385 | - <trim_type>none</trim_type> | |
| 386 | - <repeat>N</repeat> | |
| 387 | - <format/> | |
| 388 | - <currency/> | |
| 389 | - <decimal/> | |
| 390 | - <group/> | |
| 391 | - </field> | |
| 392 | - </fields> | |
| 393 | - <sheets> | |
| 394 | - <sheet> | |
| 395 | - <name>工作表1</name> | |
| 396 | - <startrow>0</startrow> | |
| 397 | - <startcol>0</startcol> | |
| 398 | - </sheet> | |
| 399 | - </sheets> | |
| 400 | - <strict_types>N</strict_types> | |
| 401 | - <error_ignored>N</error_ignored> | |
| 402 | - <error_line_skipped>N</error_line_skipped> | |
| 403 | - <bad_line_files_destination_directory/> | |
| 404 | - <bad_line_files_extension>warning</bad_line_files_extension> | |
| 405 | - <error_line_files_destination_directory/> | |
| 406 | - <error_line_files_extension>error</error_line_files_extension> | |
| 407 | - <line_number_files_destination_directory/> | |
| 408 | - <line_number_files_extension>line</line_number_files_extension> | |
| 409 | - <shortFileFieldName/> | |
| 410 | - <pathFieldName/> | |
| 411 | - <hiddenFieldName/> | |
| 412 | - <lastModificationTimeFieldName/> | |
| 413 | - <uriNameFieldName/> | |
| 414 | - <rootUriNameFieldName/> | |
| 415 | - <extensionFieldName/> | |
| 416 | - <sizeFieldName/> | |
| 417 | - <spreadsheet_type>JXL</spreadsheet_type> | |
| 418 | - <cluster_schema/> | |
| 419 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 420 | - <xloc>158</xloc> | |
| 421 | - <yloc>57</yloc> | |
| 422 | - <draw>Y</draw> | |
| 423 | - </GUI> | |
| 424 | - </step> | |
| 425 | - | |
| 426 | - <step> | |
| 427 | - <name>插入/更新bsth_c_personnel</name> | |
| 428 | - <type>InsertUpdate</type> | |
| 429 | - <description/> | |
| 430 | - <distribute>Y</distribute> | |
| 431 | - <custom_distribution/> | |
| 432 | - <copies>1</copies> | |
| 433 | - <partitioning> | |
| 434 | - <method>none</method> | |
| 435 | - <schema_name/> | |
| 436 | - </partitioning> | |
| 437 | - <connection>bus_control_variable</connection> | |
| 438 | - <commit>5000</commit> | |
| 439 | - <update_bypassed>N</update_bypassed> | |
| 440 | - <lookup> | |
| 441 | - <schema/> | |
| 442 | - <table>bsth_c_personnel</table> | |
| 443 | - <key> | |
| 444 | - <name>gh_calcu</name> | |
| 445 | - <field>job_code</field> | |
| 446 | - <condition>=</condition> | |
| 447 | - <name2/> | |
| 448 | - </key> | |
| 449 | - <value> | |
| 450 | - <name>personnel_name</name> | |
| 451 | - <rename>姓名</rename> | |
| 452 | - <update>Y</update> | |
| 453 | - </value> | |
| 454 | - <value> | |
| 455 | - <name>company</name> | |
| 456 | - <rename>所属公司</rename> | |
| 457 | - <update>Y</update> | |
| 458 | - </value> | |
| 459 | - <value> | |
| 460 | - <name>company_code</name> | |
| 461 | - <rename>所属公司代码</rename> | |
| 462 | - <update>Y</update> | |
| 463 | - </value> | |
| 464 | - <value> | |
| 465 | - <name>branche_company</name> | |
| 466 | - <rename>所属分公司</rename> | |
| 467 | - <update>Y</update> | |
| 468 | - </value> | |
| 469 | - <value> | |
| 470 | - <name>branche_company_code</name> | |
| 471 | - <rename>所属分公司代码</rename> | |
| 472 | - <update>Y</update> | |
| 473 | - </value> | |
| 474 | - <value> | |
| 475 | - <name>job_code</name> | |
| 476 | - <rename>gh_calcu</rename> | |
| 477 | - <update>Y</update> | |
| 478 | - </value> | |
| 479 | - </lookup> | |
| 480 | - <cluster_schema/> | |
| 481 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 482 | - <xloc>576</xloc> | |
| 483 | - <yloc>56</yloc> | |
| 484 | - <draw>Y</draw> | |
| 485 | - </GUI> | |
| 486 | - </step> | |
| 487 | - | |
| 488 | - <step> | |
| 489 | - <name>获取变量</name> | |
| 490 | - <type>GetVariable</type> | |
| 491 | - <description/> | |
| 492 | - <distribute>Y</distribute> | |
| 493 | - <custom_distribution/> | |
| 494 | - <copies>1</copies> | |
| 495 | - <partitioning> | |
| 496 | - <method>none</method> | |
| 497 | - <schema_name/> | |
| 498 | - </partitioning> | |
| 499 | - <fields> | |
| 500 | - <field> | |
| 501 | - <name>filepath_</name> | |
| 502 | - <variable>${filepath}</variable> | |
| 503 | - <type>String</type> | |
| 504 | - <format/> | |
| 505 | - <currency/> | |
| 506 | - <decimal/> | |
| 507 | - <group/> | |
| 508 | - <length>-1</length> | |
| 509 | - <precision>-1</precision> | |
| 510 | - <trim_type>none</trim_type> | |
| 511 | - </field> | |
| 512 | - <field> | |
| 513 | - <name>erroroutputdir_</name> | |
| 514 | - <variable>${erroroutputdir}</variable> | |
| 515 | - <type>String</type> | |
| 516 | - <format/> | |
| 517 | - <currency/> | |
| 518 | - <decimal/> | |
| 519 | - <group/> | |
| 520 | - <length>-1</length> | |
| 521 | - <precision>-1</precision> | |
| 522 | - <trim_type>none</trim_type> | |
| 523 | - </field> | |
| 524 | - </fields> | |
| 525 | - <cluster_schema/> | |
| 526 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 527 | - <xloc>90</xloc> | |
| 528 | - <yloc>148</yloc> | |
| 529 | - <draw>Y</draw> | |
| 530 | - </GUI> | |
| 531 | - </step> | |
| 532 | - | |
| 533 | - <step> | |
| 534 | - <name>过滤记录</name> | |
| 535 | - <type>FilterRows</type> | |
| 536 | - <description/> | |
| 537 | - <distribute>Y</distribute> | |
| 538 | - <custom_distribution/> | |
| 539 | - <copies>1</copies> | |
| 540 | - <partitioning> | |
| 541 | - <method>none</method> | |
| 542 | - <schema_name/> | |
| 543 | - </partitioning> | |
| 544 | -<send_true_to/> | |
| 545 | -<send_false_to/> | |
| 546 | - <compare> | |
| 547 | -<condition> | |
| 548 | - <negated>N</negated> | |
| 549 | - <conditions> | |
| 550 | - <condition> | |
| 551 | - <negated>N</negated> | |
| 552 | - <leftvalue>工号</leftvalue> | |
| 553 | - <function>IS NOT NULL</function> | |
| 554 | - <rightvalue/> | |
| 555 | - </condition> | |
| 556 | - <condition> | |
| 557 | - <negated>N</negated> | |
| 558 | - <operator>AND</operator> | |
| 559 | - <leftvalue>所属公司代码</leftvalue> | |
| 560 | - <function>IS NOT NULL</function> | |
| 561 | - <rightvalue/> | |
| 562 | - </condition> | |
| 563 | - </conditions> | |
| 564 | - </condition> | |
| 565 | - </compare> | |
| 566 | - <cluster_schema/> | |
| 567 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 568 | - <xloc>358</xloc> | |
| 569 | - <yloc>57</yloc> | |
| 570 | - <draw>Y</draw> | |
| 571 | - </GUI> | |
| 572 | - </step> | |
| 573 | - | |
| 574 | - <step> | |
| 575 | - <name>错误输出</name> | |
| 576 | - <type>ExcelOutput</type> | |
| 577 | - <description/> | |
| 578 | - <distribute>Y</distribute> | |
| 579 | - <custom_distribution/> | |
| 580 | - <copies>1</copies> | |
| 581 | - <partitioning> | |
| 582 | - <method>none</method> | |
| 583 | - <schema_name/> | |
| 584 | - </partitioning> | |
| 585 | - <header>Y</header> | |
| 586 | - <footer>N</footer> | |
| 587 | - <encoding>UTF-8</encoding> | |
| 588 | - <append>N</append> | |
| 589 | - <add_to_result_filenames>Y</add_to_result_filenames> | |
| 590 | - <file> | |
| 591 | - <name>${erroroutputdir}/人员基础信息_错误</name> | |
| 592 | - <extention>xls</extention> | |
| 593 | - <do_not_open_newfile_init>N</do_not_open_newfile_init> | |
| 594 | - <create_parent_folder>N</create_parent_folder> | |
| 595 | - <split>N</split> | |
| 596 | - <add_date>N</add_date> | |
| 597 | - <add_time>N</add_time> | |
| 598 | - <SpecifyFormat>N</SpecifyFormat> | |
| 599 | - <date_time_format/> | |
| 600 | - <sheetname>Sheet1</sheetname> | |
| 601 | - <autosizecolums>N</autosizecolums> | |
| 602 | - <nullisblank>N</nullisblank> | |
| 603 | - <protect_sheet>N</protect_sheet> | |
| 604 | - <password>Encrypted </password> | |
| 605 | - <splitevery>0</splitevery> | |
| 606 | - <usetempfiles>N</usetempfiles> | |
| 607 | - <tempdirectory/> | |
| 608 | - </file> | |
| 609 | - <template> | |
| 610 | - <enabled>N</enabled> | |
| 611 | - <append>N</append> | |
| 612 | - <filename>template.xls</filename> | |
| 613 | - </template> | |
| 614 | - <fields> | |
| 615 | - <field> | |
| 616 | - <name>姓名</name> | |
| 617 | - <type>String</type> | |
| 618 | - <format/> | |
| 619 | - </field> | |
| 620 | - <field> | |
| 621 | - <name>工号</name> | |
| 622 | - <type>String</type> | |
| 623 | - <format/> | |
| 624 | - </field> | |
| 625 | - <field> | |
| 626 | - <name>所属公司</name> | |
| 627 | - <type>String</type> | |
| 628 | - <format/> | |
| 629 | - </field> | |
| 630 | - <field> | |
| 631 | - <name>所属公司代码</name> | |
| 632 | - <type>String</type> | |
| 633 | - <format/> | |
| 634 | - </field> | |
| 635 | - <field> | |
| 636 | - <name>所属分公司</name> | |
| 637 | - <type>String</type> | |
| 638 | - <format/> | |
| 639 | - </field> | |
| 640 | - <field> | |
| 641 | - <name>所属分公司代码</name> | |
| 642 | - <type>String</type> | |
| 643 | - <format/> | |
| 644 | - </field> | |
| 645 | - <field> | |
| 646 | - <name>gh_calcu</name> | |
| 647 | - <type>String</type> | |
| 648 | - <format/> | |
| 649 | - </field> | |
| 650 | - <field> | |
| 651 | - <name>error_count</name> | |
| 652 | - <type>Integer</type> | |
| 653 | - <format/> | |
| 654 | - </field> | |
| 655 | - <field> | |
| 656 | - <name>error_desc</name> | |
| 657 | - <type>String</type> | |
| 658 | - <format/> | |
| 659 | - </field> | |
| 660 | - <field> | |
| 661 | - <name>error_column1</name> | |
| 662 | - <type>String</type> | |
| 663 | - <format/> | |
| 664 | - </field> | |
| 665 | - <field> | |
| 666 | - <name>error_column2</name> | |
| 667 | - <type>String</type> | |
| 668 | - <format/> | |
| 669 | - </field> | |
| 670 | - </fields> | |
| 671 | - <custom> | |
| 672 | - <header_font_name>arial</header_font_name> | |
| 673 | - <header_font_size>10</header_font_size> | |
| 674 | - <header_font_bold>N</header_font_bold> | |
| 675 | - <header_font_italic>N</header_font_italic> | |
| 676 | - <header_font_underline>no</header_font_underline> | |
| 677 | - <header_font_orientation>horizontal</header_font_orientation> | |
| 678 | - <header_font_color>black</header_font_color> | |
| 679 | - <header_background_color>none</header_background_color> | |
| 680 | - <header_row_height>255</header_row_height> | |
| 681 | - <header_alignment>left</header_alignment> | |
| 682 | - <header_image/> | |
| 683 | - <row_font_name>arial</row_font_name> | |
| 684 | - <row_font_size>10</row_font_size> | |
| 685 | - <row_font_color>black</row_font_color> | |
| 686 | - <row_background_color>none</row_background_color> | |
| 687 | - </custom> | |
| 688 | - <cluster_schema/> | |
| 689 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 690 | - <xloc>578</xloc> | |
| 691 | - <yloc>223</yloc> | |
| 692 | - <draw>Y</draw> | |
| 693 | - </GUI> | |
| 694 | - </step> | |
| 695 | - | |
| 696 | - <step_error_handling> | |
| 697 | - <error> | |
| 698 | - <source_step>插入/更新bsth_c_personnel</source_step> | |
| 699 | - <target_step>错误输出</target_step> | |
| 700 | - <is_enabled>Y</is_enabled> | |
| 701 | - <nr_valuename>error_count</nr_valuename> | |
| 702 | - <descriptions_valuename>error_desc</descriptions_valuename> | |
| 703 | - <fields_valuename>error_column1</fields_valuename> | |
| 704 | - <codes_valuename>error_column2</codes_valuename> | |
| 705 | - <max_errors/> | |
| 706 | - <max_pct_errors/> | |
| 707 | - <min_pct_rows/> | |
| 708 | - </error> | |
| 709 | - </step_error_handling> | |
| 710 | - <slave-step-copy-partition-distribution> | |
| 711 | -</slave-step-copy-partition-distribution> | |
| 712 | - <slave_transformation>N</slave_transformation> | |
| 713 | - | |
| 714 | -</transformation> | |
| 715 | - | |
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<transformation> | |
| 3 | + <info> | |
| 4 | + <name>人员信息导入</name> | |
| 5 | + <description>人员基础信息导入</description> | |
| 6 | + <extended_description>人员基础信息</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>erroroutputdir</name> | |
| 14 | + <default_value/> | |
| 15 | + <description>ktr step配置的错误输出目录</description> | |
| 16 | + </parameter> | |
| 17 | + <parameter> | |
| 18 | + <name>filepath</name> | |
| 19 | + <default_value/> | |
| 20 | + <description>待处理导入的excel文件</description> | |
| 21 | + </parameter> | |
| 22 | + </parameters> | |
| 23 | + <log> | |
| 24 | +<trans-log-table><connection/> | |
| 25 | +<schema/> | |
| 26 | +<table/> | |
| 27 | +<size_limit_lines/> | |
| 28 | +<interval/> | |
| 29 | +<timeout_days/> | |
| 30 | +<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> | |
| 31 | +<perf-log-table><connection/> | |
| 32 | +<schema/> | |
| 33 | +<table/> | |
| 34 | +<interval/> | |
| 35 | +<timeout_days/> | |
| 36 | +<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> | |
| 37 | +<channel-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>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> | |
| 42 | +<step-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>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> | |
| 47 | +<metrics-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>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> | |
| 52 | + </log> | |
| 53 | + <maxdate> | |
| 54 | + <connection/> | |
| 55 | + <table/> | |
| 56 | + <field/> | |
| 57 | + <offset>0.0</offset> | |
| 58 | + <maxdiff>0.0</maxdiff> | |
| 59 | + </maxdate> | |
| 60 | + <size_rowset>10000</size_rowset> | |
| 61 | + <sleep_time_empty>50</sleep_time_empty> | |
| 62 | + <sleep_time_full>50</sleep_time_full> | |
| 63 | + <unique_connections>N</unique_connections> | |
| 64 | + <feedback_shown>Y</feedback_shown> | |
| 65 | + <feedback_size>50000</feedback_size> | |
| 66 | + <using_thread_priorities>Y</using_thread_priorities> | |
| 67 | + <shared_objects_file/> | |
| 68 | + <capture_step_performance>N</capture_step_performance> | |
| 69 | + <step_performance_capturing_delay>1000</step_performance_capturing_delay> | |
| 70 | + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit> | |
| 71 | + <dependencies> | |
| 72 | + </dependencies> | |
| 73 | + <partitionschemas> | |
| 74 | + </partitionschemas> | |
| 75 | + <slaveservers> | |
| 76 | + </slaveservers> | |
| 77 | + <clusterschemas> | |
| 78 | + </clusterschemas> | |
| 79 | + <created_user>-</created_user> | |
| 80 | + <created_date>2016/06/29 10:18:56.974</created_date> | |
| 81 | + <modified_user>-</modified_user> | |
| 82 | + <modified_date>2016/06/29 10:18:56.974</modified_date> | |
| 83 | + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key> | |
| 84 | + <is_key_private>N</is_key_private> | |
| 85 | + </info> | |
| 86 | + <notepads> | |
| 87 | + </notepads> | |
| 88 | + <connection> | |
| 89 | + <name>192.168.168.1_jwgl_dw</name> | |
| 90 | + <server>192.168.168.1</server> | |
| 91 | + <type>ORACLE</type> | |
| 92 | + <access>Native</access> | |
| 93 | + <database>orcl</database> | |
| 94 | + <port>1521</port> | |
| 95 | + <username>jwgl_dw</username> | |
| 96 | + <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password> | |
| 97 | + <servername/> | |
| 98 | + <data_tablespace/> | |
| 99 | + <index_tablespace/> | |
| 100 | + <attributes> | |
| 101 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 102 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 103 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 104 | + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | |
| 105 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 106 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 107 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 108 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 109 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 110 | + </attributes> | |
| 111 | + </connection> | |
| 112 | + <connection> | |
| 113 | + <name>bus_control_variable</name> | |
| 114 | + <server>${v_db_ip}</server> | |
| 115 | + <type>MYSQL</type> | |
| 116 | + <access>Native</access> | |
| 117 | + <database>${v_db_dname}</database> | |
| 118 | + <port>3306</port> | |
| 119 | + <username>${v_db_uname}</username> | |
| 120 | + <password>${v_db_pwd}</password> | |
| 121 | + <servername/> | |
| 122 | + <data_tablespace/> | |
| 123 | + <index_tablespace/> | |
| 124 | + <attributes> | |
| 125 | + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute> | |
| 126 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 127 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 128 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 129 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 130 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 131 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 132 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 133 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 134 | + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | |
| 135 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 136 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 137 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 138 | + </attributes> | |
| 139 | + </connection> | |
| 140 | + <connection> | |
| 141 | + <name>bus_control_公司_201</name> | |
| 142 | + <server>localhost</server> | |
| 143 | + <type>MYSQL</type> | |
| 144 | + <access>Native</access> | |
| 145 | + <database>control</database> | |
| 146 | + <port>3306</port> | |
| 147 | + <username>root</username> | |
| 148 | + <password>Encrypted </password> | |
| 149 | + <servername/> | |
| 150 | + <data_tablespace/> | |
| 151 | + <index_tablespace/> | |
| 152 | + <attributes> | |
| 153 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 154 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 155 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 156 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 157 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 158 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 159 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 160 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 161 | + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | |
| 162 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 163 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 164 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 165 | + </attributes> | |
| 166 | + </connection> | |
| 167 | + <connection> | |
| 168 | + <name>bus_control_本机</name> | |
| 169 | + <server>localhost</server> | |
| 170 | + <type>MYSQL</type> | |
| 171 | + <access>Native</access> | |
| 172 | + <database>control</database> | |
| 173 | + <port>3306</port> | |
| 174 | + <username>root</username> | |
| 175 | + <password>Encrypted </password> | |
| 176 | + <servername/> | |
| 177 | + <data_tablespace/> | |
| 178 | + <index_tablespace/> | |
| 179 | + <attributes> | |
| 180 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 181 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 182 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 183 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 184 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 185 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 186 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 187 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 188 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 189 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 190 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 191 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 192 | + </attributes> | |
| 193 | + </connection> | |
| 194 | + <connection> | |
| 195 | + <name>xlab_mysql_youle</name> | |
| 196 | + <server>101.231.124.8</server> | |
| 197 | + <type>MYSQL</type> | |
| 198 | + <access>Native</access> | |
| 199 | + <database>xlab_youle</database> | |
| 200 | + <port>45687</port> | |
| 201 | + <username>xlab-youle</username> | |
| 202 | + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password> | |
| 203 | + <servername/> | |
| 204 | + <data_tablespace/> | |
| 205 | + <index_tablespace/> | |
| 206 | + <attributes> | |
| 207 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 208 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 209 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 210 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 211 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 212 | + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute> | |
| 213 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 214 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 215 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 216 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 217 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 218 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 219 | + </attributes> | |
| 220 | + </connection> | |
| 221 | + <connection> | |
| 222 | + <name>xlab_mysql_youle(本机)</name> | |
| 223 | + <server>localhost</server> | |
| 224 | + <type>MYSQL</type> | |
| 225 | + <access>Native</access> | |
| 226 | + <database>xlab_youle</database> | |
| 227 | + <port>3306</port> | |
| 228 | + <username>root</username> | |
| 229 | + <password>Encrypted </password> | |
| 230 | + <servername/> | |
| 231 | + <data_tablespace/> | |
| 232 | + <index_tablespace/> | |
| 233 | + <attributes> | |
| 234 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 235 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 236 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 237 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 238 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 239 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 240 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 241 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 242 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 243 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 244 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 245 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 246 | + </attributes> | |
| 247 | + </connection> | |
| 248 | + <connection> | |
| 249 | + <name>xlab_youle</name> | |
| 250 | + <server/> | |
| 251 | + <type>MYSQL</type> | |
| 252 | + <access>JNDI</access> | |
| 253 | + <database>xlab_youle</database> | |
| 254 | + <port>1521</port> | |
| 255 | + <username/> | |
| 256 | + <password>Encrypted </password> | |
| 257 | + <servername/> | |
| 258 | + <data_tablespace/> | |
| 259 | + <index_tablespace/> | |
| 260 | + <attributes> | |
| 261 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 262 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 263 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 264 | + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | |
| 265 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 266 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 267 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 268 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 269 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 270 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 271 | + </attributes> | |
| 272 | + </connection> | |
| 273 | + <order> | |
| 274 | + <hop> <from>插入/更新bsth_c_personnel</from><to>错误输出</to><enabled>Y</enabled> </hop> | |
| 275 | + <hop> <from>获取变量</from><to>原始系统导出的Excel输入</to><enabled>Y</enabled> </hop> | |
| 276 | + <hop> <from>原始系统导出的Excel输入</from><to>过滤记录</to><enabled>Y</enabled> </hop> | |
| 277 | + <hop> <from>过滤记录</from><to>JavaScript代码</to><enabled>Y</enabled> </hop> | |
| 278 | + <hop> <from>JavaScript代码</from><to>插入/更新bsth_c_personnel</to><enabled>Y</enabled> </hop> | |
| 279 | + </order> | |
| 280 | + <step> | |
| 281 | + <name>JavaScript代码</name> | |
| 282 | + <type>ScriptValueMod</type> | |
| 283 | + <description/> | |
| 284 | + <distribute>Y</distribute> | |
| 285 | + <custom_distribution/> | |
| 286 | + <copies>1</copies> | |
| 287 | + <partitioning> | |
| 288 | + <method>none</method> | |
| 289 | + <schema_name/> | |
| 290 | + </partitioning> | |
| 291 | + <compatible>N</compatible> | |
| 292 | + <optimizationLevel>9</optimizationLevel> | |
| 293 | + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> | |
| 294 | + <jsScript_name>Script 1</jsScript_name> | |
| 295 | + <jsScript_script>//Script here

var gh_calcu = 工号;

if (工号.indexOf(所属公司代码 + "-") < 0) {
 gh_calcu = 所属公司代码 + "-" + 工号;
} </jsScript_script> | |
| 296 | + </jsScript> </jsScripts> <fields> <field> <name>gh_calcu</name> | |
| 297 | + <rename>gh_calcu</rename> | |
| 298 | + <type>String</type> | |
| 299 | + <length>-1</length> | |
| 300 | + <precision>-1</precision> | |
| 301 | + <replace>N</replace> | |
| 302 | + </field> </fields> <cluster_schema/> | |
| 303 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 304 | + <xloc>362</xloc> | |
| 305 | + <yloc>190</yloc> | |
| 306 | + <draw>Y</draw> | |
| 307 | + </GUI> | |
| 308 | + </step> | |
| 309 | + | |
| 310 | + <step> | |
| 311 | + <name>原始系统导出的Excel输入</name> | |
| 312 | + <type>ExcelInput</type> | |
| 313 | + <description/> | |
| 314 | + <distribute>Y</distribute> | |
| 315 | + <custom_distribution/> | |
| 316 | + <copies>1</copies> | |
| 317 | + <partitioning> | |
| 318 | + <method>none</method> | |
| 319 | + <schema_name/> | |
| 320 | + </partitioning> | |
| 321 | + <header>Y</header> | |
| 322 | + <noempty>Y</noempty> | |
| 323 | + <stoponempty>N</stoponempty> | |
| 324 | + <filefield/> | |
| 325 | + <sheetfield/> | |
| 326 | + <sheetrownumfield/> | |
| 327 | + <rownumfield/> | |
| 328 | + <sheetfield/> | |
| 329 | + <filefield/> | |
| 330 | + <limit>0</limit> | |
| 331 | + <encoding/> | |
| 332 | + <add_to_result_filenames>Y</add_to_result_filenames> | |
| 333 | + <accept_filenames>Y</accept_filenames> | |
| 334 | + <accept_field>filepath_</accept_field> | |
| 335 | + <accept_stepname>获取变量</accept_stepname> | |
| 336 | + <file> | |
| 337 | + <name/> | |
| 338 | + <filemask/> | |
| 339 | + <exclude_filemask/> | |
| 340 | + <file_required>N</file_required> | |
| 341 | + <include_subfolders>N</include_subfolders> | |
| 342 | + </file> | |
| 343 | + <fields> | |
| 344 | + <field> | |
| 345 | + <name>姓名</name> | |
| 346 | + <type>String</type> | |
| 347 | + <length>-1</length> | |
| 348 | + <precision>-1</precision> | |
| 349 | + <trim_type>none</trim_type> | |
| 350 | + <repeat>N</repeat> | |
| 351 | + <format/> | |
| 352 | + <currency/> | |
| 353 | + <decimal/> | |
| 354 | + <group/> | |
| 355 | + </field> | |
| 356 | + <field> | |
| 357 | + <name>工号</name> | |
| 358 | + <type>String</type> | |
| 359 | + <length>-1</length> | |
| 360 | + <precision>-1</precision> | |
| 361 | + <trim_type>none</trim_type> | |
| 362 | + <repeat>N</repeat> | |
| 363 | + <format>#</format> | |
| 364 | + <currency/> | |
| 365 | + <decimal/> | |
| 366 | + <group/> | |
| 367 | + </field> | |
| 368 | + <field> | |
| 369 | + <name>所属公司</name> | |
| 370 | + <type>String</type> | |
| 371 | + <length>-1</length> | |
| 372 | + <precision>-1</precision> | |
| 373 | + <trim_type>none</trim_type> | |
| 374 | + <repeat>N</repeat> | |
| 375 | + <format/> | |
| 376 | + <currency/> | |
| 377 | + <decimal/> | |
| 378 | + <group/> | |
| 379 | + </field> | |
| 380 | + <field> | |
| 381 | + <name>所属公司代码</name> | |
| 382 | + <type>String</type> | |
| 383 | + <length>-1</length> | |
| 384 | + <precision>-1</precision> | |
| 385 | + <trim_type>none</trim_type> | |
| 386 | + <repeat>N</repeat> | |
| 387 | + <format/> | |
| 388 | + <currency/> | |
| 389 | + <decimal/> | |
| 390 | + <group/> | |
| 391 | + </field> | |
| 392 | + <field> | |
| 393 | + <name>所属分公司</name> | |
| 394 | + <type>String</type> | |
| 395 | + <length>-1</length> | |
| 396 | + <precision>-1</precision> | |
| 397 | + <trim_type>none</trim_type> | |
| 398 | + <repeat>N</repeat> | |
| 399 | + <format/> | |
| 400 | + <currency/> | |
| 401 | + <decimal/> | |
| 402 | + <group/> | |
| 403 | + </field> | |
| 404 | + <field> | |
| 405 | + <name>所属分公司代码</name> | |
| 406 | + <type>String</type> | |
| 407 | + <length>-1</length> | |
| 408 | + <precision>-1</precision> | |
| 409 | + <trim_type>none</trim_type> | |
| 410 | + <repeat>N</repeat> | |
| 411 | + <format/> | |
| 412 | + <currency/> | |
| 413 | + <decimal/> | |
| 414 | + <group/> | |
| 415 | + </field> | |
| 416 | + </fields> | |
| 417 | + <sheets> | |
| 418 | + <sheet> | |
| 419 | + <name>工作表1</name> | |
| 420 | + <startrow>0</startrow> | |
| 421 | + <startcol>0</startcol> | |
| 422 | + </sheet> | |
| 423 | + </sheets> | |
| 424 | + <strict_types>N</strict_types> | |
| 425 | + <error_ignored>N</error_ignored> | |
| 426 | + <error_line_skipped>N</error_line_skipped> | |
| 427 | + <bad_line_files_destination_directory/> | |
| 428 | + <bad_line_files_extension>warning</bad_line_files_extension> | |
| 429 | + <error_line_files_destination_directory/> | |
| 430 | + <error_line_files_extension>error</error_line_files_extension> | |
| 431 | + <line_number_files_destination_directory/> | |
| 432 | + <line_number_files_extension>line</line_number_files_extension> | |
| 433 | + <shortFileFieldName/> | |
| 434 | + <pathFieldName/> | |
| 435 | + <hiddenFieldName/> | |
| 436 | + <lastModificationTimeFieldName/> | |
| 437 | + <uriNameFieldName/> | |
| 438 | + <rootUriNameFieldName/> | |
| 439 | + <extensionFieldName/> | |
| 440 | + <sizeFieldName/> | |
| 441 | + <spreadsheet_type>JXL</spreadsheet_type> | |
| 442 | + <cluster_schema/> | |
| 443 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 444 | + <xloc>158</xloc> | |
| 445 | + <yloc>57</yloc> | |
| 446 | + <draw>Y</draw> | |
| 447 | + </GUI> | |
| 448 | + </step> | |
| 449 | + | |
| 450 | + <step> | |
| 451 | + <name>插入/更新bsth_c_personnel</name> | |
| 452 | + <type>InsertUpdate</type> | |
| 453 | + <description/> | |
| 454 | + <distribute>Y</distribute> | |
| 455 | + <custom_distribution/> | |
| 456 | + <copies>1</copies> | |
| 457 | + <partitioning> | |
| 458 | + <method>none</method> | |
| 459 | + <schema_name/> | |
| 460 | + </partitioning> | |
| 461 | + <connection>bus_control_variable</connection> | |
| 462 | + <commit>5000</commit> | |
| 463 | + <update_bypassed>N</update_bypassed> | |
| 464 | + <lookup> | |
| 465 | + <schema/> | |
| 466 | + <table>bsth_c_personnel</table> | |
| 467 | + <key> | |
| 468 | + <name>gh_calcu</name> | |
| 469 | + <field>job_code</field> | |
| 470 | + <condition>=</condition> | |
| 471 | + <name2/> | |
| 472 | + </key> | |
| 473 | + <value> | |
| 474 | + <name>personnel_name</name> | |
| 475 | + <rename>姓名</rename> | |
| 476 | + <update>Y</update> | |
| 477 | + </value> | |
| 478 | + <value> | |
| 479 | + <name>company</name> | |
| 480 | + <rename>所属公司</rename> | |
| 481 | + <update>Y</update> | |
| 482 | + </value> | |
| 483 | + <value> | |
| 484 | + <name>company_code</name> | |
| 485 | + <rename>所属公司代码</rename> | |
| 486 | + <update>Y</update> | |
| 487 | + </value> | |
| 488 | + <value> | |
| 489 | + <name>branche_company</name> | |
| 490 | + <rename>所属分公司</rename> | |
| 491 | + <update>Y</update> | |
| 492 | + </value> | |
| 493 | + <value> | |
| 494 | + <name>branche_company_code</name> | |
| 495 | + <rename>所属分公司代码</rename> | |
| 496 | + <update>Y</update> | |
| 497 | + </value> | |
| 498 | + <value> | |
| 499 | + <name>job_code</name> | |
| 500 | + <rename>gh_calcu</rename> | |
| 501 | + <update>Y</update> | |
| 502 | + </value> | |
| 503 | + </lookup> | |
| 504 | + <cluster_schema/> | |
| 505 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 506 | + <xloc>576</xloc> | |
| 507 | + <yloc>56</yloc> | |
| 508 | + <draw>Y</draw> | |
| 509 | + </GUI> | |
| 510 | + </step> | |
| 511 | + | |
| 512 | + <step> | |
| 513 | + <name>获取变量</name> | |
| 514 | + <type>GetVariable</type> | |
| 515 | + <description/> | |
| 516 | + <distribute>Y</distribute> | |
| 517 | + <custom_distribution/> | |
| 518 | + <copies>1</copies> | |
| 519 | + <partitioning> | |
| 520 | + <method>none</method> | |
| 521 | + <schema_name/> | |
| 522 | + </partitioning> | |
| 523 | + <fields> | |
| 524 | + <field> | |
| 525 | + <name>filepath_</name> | |
| 526 | + <variable>${filepath}</variable> | |
| 527 | + <type>String</type> | |
| 528 | + <format/> | |
| 529 | + <currency/> | |
| 530 | + <decimal/> | |
| 531 | + <group/> | |
| 532 | + <length>-1</length> | |
| 533 | + <precision>-1</precision> | |
| 534 | + <trim_type>none</trim_type> | |
| 535 | + </field> | |
| 536 | + <field> | |
| 537 | + <name>erroroutputdir_</name> | |
| 538 | + <variable>${erroroutputdir}</variable> | |
| 539 | + <type>String</type> | |
| 540 | + <format/> | |
| 541 | + <currency/> | |
| 542 | + <decimal/> | |
| 543 | + <group/> | |
| 544 | + <length>-1</length> | |
| 545 | + <precision>-1</precision> | |
| 546 | + <trim_type>none</trim_type> | |
| 547 | + </field> | |
| 548 | + </fields> | |
| 549 | + <cluster_schema/> | |
| 550 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 551 | + <xloc>90</xloc> | |
| 552 | + <yloc>148</yloc> | |
| 553 | + <draw>Y</draw> | |
| 554 | + </GUI> | |
| 555 | + </step> | |
| 556 | + | |
| 557 | + <step> | |
| 558 | + <name>过滤记录</name> | |
| 559 | + <type>FilterRows</type> | |
| 560 | + <description/> | |
| 561 | + <distribute>Y</distribute> | |
| 562 | + <custom_distribution/> | |
| 563 | + <copies>1</copies> | |
| 564 | + <partitioning> | |
| 565 | + <method>none</method> | |
| 566 | + <schema_name/> | |
| 567 | + </partitioning> | |
| 568 | +<send_true_to/> | |
| 569 | +<send_false_to/> | |
| 570 | + <compare> | |
| 571 | +<condition> | |
| 572 | + <negated>N</negated> | |
| 573 | + <conditions> | |
| 574 | + <condition> | |
| 575 | + <negated>N</negated> | |
| 576 | + <leftvalue>工号</leftvalue> | |
| 577 | + <function>IS NOT NULL</function> | |
| 578 | + <rightvalue/> | |
| 579 | + </condition> | |
| 580 | + <condition> | |
| 581 | + <negated>N</negated> | |
| 582 | + <operator>AND</operator> | |
| 583 | + <leftvalue>所属公司代码</leftvalue> | |
| 584 | + <function>IS NOT NULL</function> | |
| 585 | + <rightvalue/> | |
| 586 | + </condition> | |
| 587 | + </conditions> | |
| 588 | + </condition> | |
| 589 | + </compare> | |
| 590 | + <cluster_schema/> | |
| 591 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 592 | + <xloc>358</xloc> | |
| 593 | + <yloc>57</yloc> | |
| 594 | + <draw>Y</draw> | |
| 595 | + </GUI> | |
| 596 | + </step> | |
| 597 | + | |
| 598 | + <step> | |
| 599 | + <name>错误输出</name> | |
| 600 | + <type>ExcelOutput</type> | |
| 601 | + <description/> | |
| 602 | + <distribute>Y</distribute> | |
| 603 | + <custom_distribution/> | |
| 604 | + <copies>1</copies> | |
| 605 | + <partitioning> | |
| 606 | + <method>none</method> | |
| 607 | + <schema_name/> | |
| 608 | + </partitioning> | |
| 609 | + <header>Y</header> | |
| 610 | + <footer>N</footer> | |
| 611 | + <encoding>UTF-8</encoding> | |
| 612 | + <append>N</append> | |
| 613 | + <add_to_result_filenames>Y</add_to_result_filenames> | |
| 614 | + <file> | |
| 615 | + <name>${erroroutputdir}/人员基础信息_错误</name> | |
| 616 | + <extention>xls</extention> | |
| 617 | + <do_not_open_newfile_init>N</do_not_open_newfile_init> | |
| 618 | + <create_parent_folder>N</create_parent_folder> | |
| 619 | + <split>N</split> | |
| 620 | + <add_date>N</add_date> | |
| 621 | + <add_time>N</add_time> | |
| 622 | + <SpecifyFormat>N</SpecifyFormat> | |
| 623 | + <date_time_format/> | |
| 624 | + <sheetname>Sheet1</sheetname> | |
| 625 | + <autosizecolums>N</autosizecolums> | |
| 626 | + <nullisblank>N</nullisblank> | |
| 627 | + <protect_sheet>N</protect_sheet> | |
| 628 | + <password>Encrypted </password> | |
| 629 | + <splitevery>0</splitevery> | |
| 630 | + <usetempfiles>N</usetempfiles> | |
| 631 | + <tempdirectory/> | |
| 632 | + </file> | |
| 633 | + <template> | |
| 634 | + <enabled>N</enabled> | |
| 635 | + <append>N</append> | |
| 636 | + <filename>template.xls</filename> | |
| 637 | + </template> | |
| 638 | + <fields> | |
| 639 | + <field> | |
| 640 | + <name>姓名</name> | |
| 641 | + <type>String</type> | |
| 642 | + <format/> | |
| 643 | + </field> | |
| 644 | + <field> | |
| 645 | + <name>工号</name> | |
| 646 | + <type>String</type> | |
| 647 | + <format/> | |
| 648 | + </field> | |
| 649 | + <field> | |
| 650 | + <name>所属公司</name> | |
| 651 | + <type>String</type> | |
| 652 | + <format/> | |
| 653 | + </field> | |
| 654 | + <field> | |
| 655 | + <name>所属公司代码</name> | |
| 656 | + <type>String</type> | |
| 657 | + <format/> | |
| 658 | + </field> | |
| 659 | + <field> | |
| 660 | + <name>所属分公司</name> | |
| 661 | + <type>String</type> | |
| 662 | + <format/> | |
| 663 | + </field> | |
| 664 | + <field> | |
| 665 | + <name>所属分公司代码</name> | |
| 666 | + <type>String</type> | |
| 667 | + <format/> | |
| 668 | + </field> | |
| 669 | + <field> | |
| 670 | + <name>gh_calcu</name> | |
| 671 | + <type>String</type> | |
| 672 | + <format/> | |
| 673 | + </field> | |
| 674 | + <field> | |
| 675 | + <name>error_count</name> | |
| 676 | + <type>Integer</type> | |
| 677 | + <format/> | |
| 678 | + </field> | |
| 679 | + <field> | |
| 680 | + <name>error_desc</name> | |
| 681 | + <type>String</type> | |
| 682 | + <format/> | |
| 683 | + </field> | |
| 684 | + <field> | |
| 685 | + <name>error_column1</name> | |
| 686 | + <type>String</type> | |
| 687 | + <format/> | |
| 688 | + </field> | |
| 689 | + <field> | |
| 690 | + <name>error_column2</name> | |
| 691 | + <type>String</type> | |
| 692 | + <format/> | |
| 693 | + </field> | |
| 694 | + </fields> | |
| 695 | + <custom> | |
| 696 | + <header_font_name>arial</header_font_name> | |
| 697 | + <header_font_size>10</header_font_size> | |
| 698 | + <header_font_bold>N</header_font_bold> | |
| 699 | + <header_font_italic>N</header_font_italic> | |
| 700 | + <header_font_underline>no</header_font_underline> | |
| 701 | + <header_font_orientation>horizontal</header_font_orientation> | |
| 702 | + <header_font_color>black</header_font_color> | |
| 703 | + <header_background_color>none</header_background_color> | |
| 704 | + <header_row_height>255</header_row_height> | |
| 705 | + <header_alignment>left</header_alignment> | |
| 706 | + <header_image/> | |
| 707 | + <row_font_name>arial</row_font_name> | |
| 708 | + <row_font_size>10</row_font_size> | |
| 709 | + <row_font_color>black</row_font_color> | |
| 710 | + <row_background_color>none</row_background_color> | |
| 711 | + </custom> | |
| 712 | + <cluster_schema/> | |
| 713 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 714 | + <xloc>578</xloc> | |
| 715 | + <yloc>223</yloc> | |
| 716 | + <draw>Y</draw> | |
| 717 | + </GUI> | |
| 718 | + </step> | |
| 719 | + | |
| 720 | + <step_error_handling> | |
| 721 | + <error> | |
| 722 | + <source_step>插入/更新bsth_c_personnel</source_step> | |
| 723 | + <target_step>错误输出</target_step> | |
| 724 | + <is_enabled>Y</is_enabled> | |
| 725 | + <nr_valuename>error_count</nr_valuename> | |
| 726 | + <descriptions_valuename>error_desc</descriptions_valuename> | |
| 727 | + <fields_valuename>error_column1</fields_valuename> | |
| 728 | + <codes_valuename>error_column2</codes_valuename> | |
| 729 | + <max_errors/> | |
| 730 | + <max_pct_errors/> | |
| 731 | + <min_pct_rows/> | |
| 732 | + </error> | |
| 733 | + </step_error_handling> | |
| 734 | + <slave-step-copy-partition-distribution> | |
| 735 | +</slave-step-copy-partition-distribution> | |
| 736 | + <slave_transformation>N</slave_transformation> | |
| 737 | + | |
| 738 | +</transformation> | ... | ... |