Commit d7fbf13f31618c2848a81081d8eb88637fb679e8
Merge branch 'master' of 192.168.168.201:panzhaov5/bsth_control
# Conflicts: # src/main/resources/application.properties
Showing
37 changed files
with
2143 additions
and
1010 deletions
Too many changes to show.
To preserve performance only 37 of 138 files are displayed.
pom.xml
| @@ -115,6 +115,11 @@ | @@ -115,6 +115,11 @@ | ||
| 115 | <artifactId>commons-net</artifactId> | 115 | <artifactId>commons-net</artifactId> |
| 116 | <version>3.5</version> | 116 | <version>3.5</version> |
| 117 | </dependency> | 117 | </dependency> |
| 118 | + <dependency> | ||
| 119 | + <groupId>org.apache.commons</groupId> | ||
| 120 | + <artifactId>commons-compress</artifactId> | ||
| 121 | + <version>1.3</version> | ||
| 122 | + </dependency> | ||
| 118 | <!-- drools 6依赖 --> | 123 | <!-- drools 6依赖 --> |
| 119 | <dependency> | 124 | <dependency> |
| 120 | <groupId>org.kie</groupId> | 125 | <groupId>org.kie</groupId> |
| @@ -164,6 +169,16 @@ | @@ -164,6 +169,16 @@ | ||
| 164 | <artifactId>jxl</artifactId> | 169 | <artifactId>jxl</artifactId> |
| 165 | <version>2.6.12</version> | 170 | <version>2.6.12</version> |
| 166 | </dependency> | 171 | </dependency> |
| 172 | + <dependency> | ||
| 173 | + <groupId>rhino</groupId> | ||
| 174 | + <artifactId>js</artifactId> | ||
| 175 | + <version>1.7R2</version> | ||
| 176 | + </dependency> | ||
| 177 | + <dependency> | ||
| 178 | + <groupId>javax.mail</groupId> | ||
| 179 | + <artifactId>mail</artifactId> | ||
| 180 | + <version>1.4.7</version> | ||
| 181 | + </dependency> | ||
| 167 | 182 | ||
| 168 | </dependencies> | 183 | </dependencies> |
| 169 | 184 | ||
| @@ -227,4 +242,4 @@ | @@ -227,4 +242,4 @@ | ||
| 227 | <url>http://repo.spring.io/milestone</url> | 242 | <url>http://repo.spring.io/milestone</url> |
| 228 | </pluginRepository> | 243 | </pluginRepository> |
| 229 | </pluginRepositories> | 244 | </pluginRepositories> |
| 230 | -</project> | ||
| 231 | \ No newline at end of file | 245 | \ No newline at end of file |
| 246 | +</project> |
src/main/java/com/bsth/controller/BaseController.java
| @@ -32,7 +32,7 @@ import java.util.Map; | @@ -32,7 +32,7 @@ import java.util.Map; | ||
| 32 | public class BaseController<T, ID extends Serializable> { | 32 | public class BaseController<T, ID extends Serializable> { |
| 33 | 33 | ||
| 34 | @Autowired | 34 | @Autowired |
| 35 | - BaseService<T, ID> baseService; | 35 | + protected BaseService<T, ID> baseService; |
| 36 | @Autowired | 36 | @Autowired |
| 37 | DataImportExportService dataImportExportService; | 37 | DataImportExportService dataImportExportService; |
| 38 | 38 |
src/main/java/com/bsth/controller/CarParkController.java
| @@ -29,6 +29,22 @@ public class CarParkController extends BaseController<CarPark, Integer> { | @@ -29,6 +29,22 @@ public class CarParkController extends BaseController<CarPark, Integer> { | ||
| 29 | 29 | ||
| 30 | } | 30 | } |
| 31 | 31 | ||
| 32 | + | ||
| 33 | + /** | ||
| 34 | + * 新增停车场信息 | ||
| 35 | + * | ||
| 36 | + * | ||
| 37 | + * @param map<area:面积;bCenterPoint:中心点百度坐标;bParkPoint:多边形图形百度坐标点集合; | ||
| 38 | + * | ||
| 39 | + * brancheCompany:分公司;company:公司;createBy:创建人;createDate:创建日期;dbType:原坐标类型;descriptions:描述; | ||
| 40 | + * | ||
| 41 | + * destroy:是否撤销;gCenterPoint:WGS中心点坐标;gParkPoint:WGS多边形图形坐标集合;id:停车场ID;parkCode:停车场编码; | ||
| 42 | + * | ||
| 43 | + * parkName:停车名称;radius:圆半径;shapesType:图形类型;versions:版本号> | ||
| 44 | + * | ||
| 45 | + * @return map <SUCCESS:成功;ERROR:失败> | ||
| 46 | + * | ||
| 47 | + */ | ||
| 32 | @RequestMapping(value="carParkSave" , method = RequestMethod.POST) | 48 | @RequestMapping(value="carParkSave" , method = RequestMethod.POST) |
| 33 | public Map<String, Object> stationSave(@RequestParam Map<String, Object> map) { | 49 | public Map<String, Object> stationSave(@RequestParam Map<String, Object> map) { |
| 34 | 50 | ||
| @@ -46,6 +62,21 @@ public class CarParkController extends BaseController<CarPark, Integer> { | @@ -46,6 +62,21 @@ public class CarParkController extends BaseController<CarPark, Integer> { | ||
| 46 | return service.findCarParkInfoFormId(map); | 62 | return service.findCarParkInfoFormId(map); |
| 47 | } | 63 | } |
| 48 | 64 | ||
| 65 | + /** | ||
| 66 | + * 修改停车场信息 | ||
| 67 | + * | ||
| 68 | + * | ||
| 69 | + * @param map<area:面积;bCenterPoint:中心点百度坐标;bParkPoint:多边形图形百度坐标点集合; | ||
| 70 | + * | ||
| 71 | + * brancheCompany:分公司;company:公司;createBy:创建人;createDate:创建日期;dbType:原坐标类型;descriptions:描述; | ||
| 72 | + * | ||
| 73 | + * destroy:是否撤销;gCenterPoint:WGS中心点坐标;gParkPoint:WGS多边形图形坐标集合;id:停车场ID;parkCode:停车场编码; | ||
| 74 | + * | ||
| 75 | + * parkName:停车名称;radius:圆半径;shapesType:图形类型;versions:版本号> | ||
| 76 | + * | ||
| 77 | + * @return map <SUCCESS:成功;ERROR:失败> | ||
| 78 | + * | ||
| 79 | + */ | ||
| 49 | @RequestMapping(value="carParkUpdate" , method = RequestMethod.POST) | 80 | @RequestMapping(value="carParkUpdate" , method = RequestMethod.POST) |
| 50 | public Map<String, Object> carParkUpdate(@RequestParam Map<String, Object> map) { | 81 | public Map<String, Object> carParkUpdate(@RequestParam Map<String, Object> map) { |
| 51 | 82 |
src/main/java/com/bsth/controller/PersonnelController.java
| 1 | -package com.bsth.controller; | ||
| 2 | - | ||
| 3 | -import com.bsth.entity.Personnel; | ||
| 4 | -import com.bsth.service.schedule.utils.DataToolsProperties; | ||
| 5 | -import org.springframework.beans.factory.annotation.Autowired; | ||
| 6 | -import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||
| 7 | -import org.springframework.web.bind.annotation.*; | ||
| 8 | - | ||
| 9 | -import java.util.Map; | ||
| 10 | - | ||
| 11 | -/** | ||
| 12 | - * Created by xu on 16/6/15. | ||
| 13 | - */ | ||
| 14 | -@RestController | ||
| 15 | -@RequestMapping("personnel") | ||
| 16 | -@EnableConfigurationProperties(DataToolsProperties.class) | ||
| 17 | -public class PersonnelController extends BaseController<Personnel, Integer> { | ||
| 18 | - | ||
| 19 | - @Autowired | ||
| 20 | - private DataToolsProperties dataToolsProperties; | ||
| 21 | - | ||
| 22 | - /** | ||
| 23 | - * 覆写方法,因为form提交的方式参数不全,改用 json形式提交 @RequestBody | ||
| 24 | - * @Title: save | ||
| 25 | - * @Description: TODO(持久化对象) | ||
| 26 | - * @param @param t | ||
| 27 | - * @param @return 设定文件 | ||
| 28 | - * @return Map<String,Object> {status: 1(成功),-1(失败)} | ||
| 29 | - * @throws | ||
| 30 | - */ | ||
| 31 | - @RequestMapping(method = RequestMethod.POST) | ||
| 32 | - public Map<String, Object> save(@RequestBody Personnel t){ | ||
| 33 | - return baseService.save(t); | ||
| 34 | - } | ||
| 35 | - | ||
| 36 | - /** | ||
| 37 | - * 验证。 | ||
| 38 | - * @param map | ||
| 39 | - * @return | ||
| 40 | - */ | ||
| 41 | - @RequestMapping(value = "/validate/equale", method = RequestMethod.GET) | ||
| 42 | - public Map<String, Object> validateData(@RequestParam Map<String, Object> map) { | ||
| 43 | - // 一般比较相同公司下工号是否相同 | ||
| 44 | - return baseService.validateEquale(map); | ||
| 45 | - } | ||
| 46 | - | ||
| 47 | - @Override | ||
| 48 | - protected String getDataImportKtrClasspath() { | ||
| 49 | - return dataToolsProperties.getEmployeesDatainputktr(); | ||
| 50 | - } | ||
| 51 | -} | 1 | +package com.bsth.controller; |
| 2 | + | ||
| 3 | +import com.bsth.entity.Personnel; | ||
| 4 | +import com.bsth.service.schedule.utils.DataToolsProperties; | ||
| 5 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 6 | +import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||
| 7 | +import org.springframework.web.bind.annotation.*; | ||
| 8 | + | ||
| 9 | +import java.util.Map; | ||
| 10 | + | ||
| 11 | +/** | ||
| 12 | + * Created by xu on 16/6/15. | ||
| 13 | + */ | ||
| 14 | +@RestController | ||
| 15 | +@RequestMapping("personnel") | ||
| 16 | +@EnableConfigurationProperties(DataToolsProperties.class) | ||
| 17 | +public class PersonnelController extends BaseController<Personnel, Integer> { | ||
| 18 | + | ||
| 19 | + @Autowired | ||
| 20 | + private DataToolsProperties dataToolsProperties; | ||
| 21 | + | ||
| 22 | + /** | ||
| 23 | + * 覆写方法,因为form提交的方式参数不全,改用 json形式提交 @RequestBody | ||
| 24 | + * @Title: save | ||
| 25 | + * @Description: TODO(持久化对象) | ||
| 26 | + * @param @param t | ||
| 27 | + * @param @return 设定文件 | ||
| 28 | + * @return Map<String,Object> {status: 1(成功),-1(失败)} | ||
| 29 | + * @throws | ||
| 30 | + */ | ||
| 31 | + @RequestMapping(method = RequestMethod.POST) | ||
| 32 | + public Map<String, Object> save(@RequestBody Personnel t){ | ||
| 33 | + return baseService.save(t); | ||
| 34 | + } | ||
| 35 | + | ||
| 36 | + /** | ||
| 37 | + * 验证。 | ||
| 38 | + * @param map | ||
| 39 | + * @return | ||
| 40 | + */ | ||
| 41 | + @RequestMapping(value = "/validate/equale", method = RequestMethod.GET) | ||
| 42 | + public Map<String, Object> validateData(@RequestParam Map<String, Object> map) { | ||
| 43 | + // 一般比较相同公司下工号是否相同 | ||
| 44 | + return baseService.validateEquale(map); | ||
| 45 | + } | ||
| 46 | + | ||
| 47 | + @Override | ||
| 48 | + protected String getDataImportKtrClasspath() { | ||
| 49 | + return dataToolsProperties.getEmployeesDatainputktr(); | ||
| 50 | + } | ||
| 51 | +} |
src/main/java/com/bsth/controller/SectionRouteController.java
| @@ -60,4 +60,16 @@ public class SectionRouteController extends BaseController<SectionRoute, Integer | @@ -60,4 +60,16 @@ public class SectionRouteController extends BaseController<SectionRoute, Integer | ||
| 60 | 60 | ||
| 61 | return routeService.findSectionRouteInfoFormId(map); | 61 | return routeService.findSectionRouteInfoFormId(map); |
| 62 | } | 62 | } |
| 63 | + | ||
| 64 | + /** | ||
| 65 | + * @Description :TODO(查询线路某方向下的上一个路段序号) | ||
| 66 | + * | ||
| 67 | + * @param map <lineId:线路ID; direction:方向;sectionRouteCode:路段编码> | ||
| 68 | + * | ||
| 69 | + * @return List<Map<String, Object>> | ||
| 70 | + */ | ||
| 71 | + @RequestMapping(value = "/findUpStationRouteCode" , method = RequestMethod.GET) | ||
| 72 | + public List<Map<String, Object>> findUpStationRouteCode(@RequestParam Map<String, Object> map) { | ||
| 73 | + return routeService.findUpSectionRouteCode(map); | ||
| 74 | + } | ||
| 63 | } | 75 | } |
src/main/java/com/bsth/controller/schedule/CarConfigInfoController.java
| @@ -2,11 +2,13 @@ package com.bsth.controller.schedule; | @@ -2,11 +2,13 @@ package com.bsth.controller.schedule; | ||
| 2 | 2 | ||
| 3 | import com.bsth.controller.BaseController; | 3 | import com.bsth.controller.BaseController; |
| 4 | import com.bsth.entity.schedule.CarConfigInfo; | 4 | import com.bsth.entity.schedule.CarConfigInfo; |
| 5 | +import com.bsth.repository.schedule.CarConfigInfoRepository; | ||
| 5 | import com.bsth.service.schedule.utils.DataToolsProperties; | 6 | import com.bsth.service.schedule.utils.DataToolsProperties; |
| 6 | import org.springframework.beans.factory.annotation.Autowired; | 7 | import org.springframework.beans.factory.annotation.Autowired; |
| 7 | import org.springframework.boot.context.properties.EnableConfigurationProperties; | 8 | import org.springframework.boot.context.properties.EnableConfigurationProperties; |
| 8 | -import org.springframework.web.bind.annotation.RequestMapping; | ||
| 9 | -import org.springframework.web.bind.annotation.RestController; | 9 | +import org.springframework.web.bind.annotation.*; |
| 10 | + | ||
| 11 | +import java.util.Map; | ||
| 10 | 12 | ||
| 11 | /** | 13 | /** |
| 12 | * Created by xu on 16/5/9. | 14 | * Created by xu on 16/5/9. |
| @@ -17,9 +19,30 @@ import org.springframework.web.bind.annotation.RestController; | @@ -17,9 +19,30 @@ import org.springframework.web.bind.annotation.RestController; | ||
| 17 | public class CarConfigInfoController extends BaseController<CarConfigInfo, Long> { | 19 | public class CarConfigInfoController extends BaseController<CarConfigInfo, Long> { |
| 18 | @Autowired | 20 | @Autowired |
| 19 | private DataToolsProperties dataToolsProperties; | 21 | private DataToolsProperties dataToolsProperties; |
| 22 | + @Autowired | ||
| 23 | + private CarConfigInfoRepository carConfigInfoRepository; | ||
| 20 | 24 | ||
| 21 | @Override | 25 | @Override |
| 22 | protected String getDataImportKtrClasspath() { | 26 | protected String getDataImportKtrClasspath() { |
| 23 | return dataToolsProperties.getCarsconfigDatainputktr(); | 27 | return dataToolsProperties.getCarsconfigDatainputktr(); |
| 24 | } | 28 | } |
| 29 | + | ||
| 30 | + @Override | ||
| 31 | + public CarConfigInfo findById(@PathVariable("id") Long aLong) { | ||
| 32 | + return carConfigInfoRepository.findOneExtend(aLong); | ||
| 33 | + } | ||
| 34 | + | ||
| 35 | + /** | ||
| 36 | + * 覆写方法,因为form提交的方式参数不全,改用 json形式提交 @RequestBody | ||
| 37 | + * @Title: save | ||
| 38 | + * @Description: TODO(持久化对象) | ||
| 39 | + * @param @param t | ||
| 40 | + * @param @return 设定文件 | ||
| 41 | + * @return Map<String,Object> {status: 1(成功),-1(失败)} | ||
| 42 | + * @throws | ||
| 43 | + */ | ||
| 44 | + @RequestMapping(method = RequestMethod.POST) | ||
| 45 | + public Map<String, Object> save(@RequestBody CarConfigInfo t){ | ||
| 46 | + return baseService.save(t); | ||
| 47 | + } | ||
| 25 | } | 48 | } |
src/main/java/com/bsth/controller/schedule/EmployeeConfigInfoController.java
| @@ -2,11 +2,13 @@ package com.bsth.controller.schedule; | @@ -2,11 +2,13 @@ package com.bsth.controller.schedule; | ||
| 2 | 2 | ||
| 3 | import com.bsth.controller.BaseController; | 3 | import com.bsth.controller.BaseController; |
| 4 | import com.bsth.entity.schedule.EmployeeConfigInfo; | 4 | import com.bsth.entity.schedule.EmployeeConfigInfo; |
| 5 | +import com.bsth.repository.schedule.EmployeeConfigInfoRepository; | ||
| 5 | import com.bsth.service.schedule.utils.DataToolsProperties; | 6 | import com.bsth.service.schedule.utils.DataToolsProperties; |
| 6 | import org.springframework.beans.factory.annotation.Autowired; | 7 | import org.springframework.beans.factory.annotation.Autowired; |
| 7 | import org.springframework.boot.context.properties.EnableConfigurationProperties; | 8 | import org.springframework.boot.context.properties.EnableConfigurationProperties; |
| 8 | -import org.springframework.web.bind.annotation.RequestMapping; | ||
| 9 | -import org.springframework.web.bind.annotation.RestController; | 9 | +import org.springframework.web.bind.annotation.*; |
| 10 | + | ||
| 11 | +import java.util.Map; | ||
| 10 | 12 | ||
| 11 | /** | 13 | /** |
| 12 | * Created by xu on 16/5/10. | 14 | * Created by xu on 16/5/10. |
| @@ -17,9 +19,30 @@ import org.springframework.web.bind.annotation.RestController; | @@ -17,9 +19,30 @@ import org.springframework.web.bind.annotation.RestController; | ||
| 17 | public class EmployeeConfigInfoController extends BaseController<EmployeeConfigInfo, Long> { | 19 | public class EmployeeConfigInfoController extends BaseController<EmployeeConfigInfo, Long> { |
| 18 | @Autowired | 20 | @Autowired |
| 19 | private DataToolsProperties dataToolsProperties; | 21 | private DataToolsProperties dataToolsProperties; |
| 22 | + @Autowired | ||
| 23 | + private EmployeeConfigInfoRepository employeeConfigInfoRepository; | ||
| 20 | 24 | ||
| 21 | @Override | 25 | @Override |
| 22 | protected String getDataImportKtrClasspath() { | 26 | protected String getDataImportKtrClasspath() { |
| 23 | return dataToolsProperties.getEmployeesconfigDatainputktr(); | 27 | return dataToolsProperties.getEmployeesconfigDatainputktr(); |
| 24 | } | 28 | } |
| 29 | + | ||
| 30 | + @Override | ||
| 31 | + public EmployeeConfigInfo findById(@PathVariable("id") Long aLong) { | ||
| 32 | + return employeeConfigInfoRepository.findOneExtend(aLong); | ||
| 33 | + } | ||
| 34 | + | ||
| 35 | + /** | ||
| 36 | + * 覆写方法,因为form提交的方式参数不全,改用 json形式提交 @RequestBody | ||
| 37 | + * @Title: save | ||
| 38 | + * @Description: TODO(持久化对象) | ||
| 39 | + * @param @param t | ||
| 40 | + * @param @return 设定文件 | ||
| 41 | + * @return Map<String,Object> {status: 1(成功),-1(失败)} | ||
| 42 | + * @throws | ||
| 43 | + */ | ||
| 44 | + @RequestMapping(method = RequestMethod.POST) | ||
| 45 | + public Map<String, Object> save(@RequestBody EmployeeConfigInfo t){ | ||
| 46 | + return baseService.save(t); | ||
| 47 | + } | ||
| 25 | } | 48 | } |
src/main/java/com/bsth/controller/schedule/GuideboardInfoController.java
| @@ -2,9 +2,11 @@ package com.bsth.controller.schedule; | @@ -2,9 +2,11 @@ package com.bsth.controller.schedule; | ||
| 2 | 2 | ||
| 3 | import com.bsth.controller.BaseController; | 3 | import com.bsth.controller.BaseController; |
| 4 | import com.bsth.entity.schedule.GuideboardInfo; | 4 | import com.bsth.entity.schedule.GuideboardInfo; |
| 5 | +import com.bsth.repository.schedule.GuideboardInfoRepository; | ||
| 5 | import com.bsth.service.schedule.utils.DataToolsProperties; | 6 | import com.bsth.service.schedule.utils.DataToolsProperties; |
| 6 | import org.springframework.beans.factory.annotation.Autowired; | 7 | import org.springframework.beans.factory.annotation.Autowired; |
| 7 | import org.springframework.boot.context.properties.EnableConfigurationProperties; | 8 | import org.springframework.boot.context.properties.EnableConfigurationProperties; |
| 9 | +import org.springframework.web.bind.annotation.PathVariable; | ||
| 8 | import org.springframework.web.bind.annotation.RequestMapping; | 10 | import org.springframework.web.bind.annotation.RequestMapping; |
| 9 | import org.springframework.web.bind.annotation.RestController; | 11 | import org.springframework.web.bind.annotation.RestController; |
| 10 | 12 | ||
| @@ -17,9 +19,16 @@ import org.springframework.web.bind.annotation.RestController; | @@ -17,9 +19,16 @@ import org.springframework.web.bind.annotation.RestController; | ||
| 17 | public class GuideboardInfoController extends BaseController<GuideboardInfo, Long> { | 19 | public class GuideboardInfoController extends BaseController<GuideboardInfo, Long> { |
| 18 | @Autowired | 20 | @Autowired |
| 19 | private DataToolsProperties dataToolsProperties; | 21 | private DataToolsProperties dataToolsProperties; |
| 22 | + @Autowired | ||
| 23 | + private GuideboardInfoRepository guideboardInfoRepository; | ||
| 20 | 24 | ||
| 21 | @Override | 25 | @Override |
| 22 | protected String getDataImportKtrClasspath() { | 26 | protected String getDataImportKtrClasspath() { |
| 23 | return dataToolsProperties.getGuideboardsDatainputktr(); | 27 | return dataToolsProperties.getGuideboardsDatainputktr(); |
| 24 | } | 28 | } |
| 29 | + | ||
| 30 | + @Override | ||
| 31 | + public GuideboardInfo findById(@PathVariable("id") Long aLong) { | ||
| 32 | + return guideboardInfoRepository.findOneExtend(aLong); | ||
| 33 | + } | ||
| 25 | } | 34 | } |
src/main/java/com/bsth/controller/schedule/ScheduleRule1FlatController.java
0 → 100644
| 1 | +package com.bsth.controller.schedule; | ||
| 2 | + | ||
| 3 | +import com.bsth.controller.BaseController; | ||
| 4 | +import com.bsth.entity.schedule.EmployeeConfigInfo; | ||
| 5 | +import com.bsth.entity.schedule.GuideboardInfo; | ||
| 6 | +import com.bsth.entity.schedule.rule.ScheduleRule1Flat; | ||
| 7 | +import com.bsth.repository.ScheduleRule1FlatRepository; | ||
| 8 | +import com.bsth.service.schedule.EmployeeConfigInfoService; | ||
| 9 | +import com.bsth.service.schedule.GuideboardInfoService; | ||
| 10 | +import org.apache.commons.lang3.StringUtils; | ||
| 11 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 12 | +import org.springframework.web.bind.annotation.*; | ||
| 13 | + | ||
| 14 | +import java.util.HashMap; | ||
| 15 | +import java.util.Map; | ||
| 16 | + | ||
| 17 | +/** | ||
| 18 | + * Created by xu on 16/7/4. | ||
| 19 | + */ | ||
| 20 | +@RestController | ||
| 21 | +@RequestMapping("sr1fc") | ||
| 22 | +public class ScheduleRule1FlatController extends BaseController<ScheduleRule1Flat, Long> { | ||
| 23 | + | ||
| 24 | + @Autowired | ||
| 25 | + private ScheduleRule1FlatRepository scheduleRule1FlatRepository; | ||
| 26 | + @Autowired | ||
| 27 | + private GuideboardInfoService guideboardInfoService; | ||
| 28 | + @Autowired | ||
| 29 | + private EmployeeConfigInfoService employeeConfigInfoService; | ||
| 30 | + | ||
| 31 | + @Override | ||
| 32 | + public ScheduleRule1Flat findById(@PathVariable("id") Long aLong) { | ||
| 33 | + return scheduleRule1FlatRepository.findOneExtend(aLong); | ||
| 34 | + } | ||
| 35 | + | ||
| 36 | + /** | ||
| 37 | + * 覆写方法,因为form提交的方式参数不全,改用 json形式提交 @RequestBody | ||
| 38 | + * @Title: save | ||
| 39 | + * @Description: TODO(持久化对象) | ||
| 40 | + * @param @param t | ||
| 41 | + * @param @return 设定文件 | ||
| 42 | + * @return Map<String,Object> {status: 1(成功),-1(失败)} | ||
| 43 | + * @throws | ||
| 44 | + */ | ||
| 45 | + @RequestMapping(method = RequestMethod.POST) | ||
| 46 | + public Map<String, Object> save(@RequestBody ScheduleRule1Flat t){ | ||
| 47 | + // TODO:根据编码查找id,不做错误检测,暂时这样做,以后前端直接传过来 | ||
| 48 | + // 1、查找路牌配置id | ||
| 49 | + Map<String, Object> param1 = new HashMap<>(); | ||
| 50 | + param1.put("xl.id_eq", t.getXl().getId()); | ||
| 51 | + param1.put("lpName_eq", null); | ||
| 52 | + | ||
| 53 | + String[] lpNames = t.getLpNames().split(","); | ||
| 54 | + String[] lpIds = new String[lpNames.length]; | ||
| 55 | + for (int i = 0; i < lpNames.length; i++) { | ||
| 56 | + param1.put("lpName_eq", lpNames[i]); | ||
| 57 | + Iterable<GuideboardInfo> guideboardInfos = guideboardInfoService.list(param1); | ||
| 58 | + lpIds[i] = guideboardInfos.iterator().next().getId().toString(); | ||
| 59 | + } | ||
| 60 | + t.setLpIds(StringUtils.join(lpIds, ",")); | ||
| 61 | + | ||
| 62 | + // 2、查找人员配置id | ||
| 63 | + Map<String, Object> param2 = new HashMap<>(); | ||
| 64 | + param2.put("xl.id_eq", t.getXl().getId()); | ||
| 65 | + param2.put("dbbm_eq", null); | ||
| 66 | + | ||
| 67 | + String[] ryDbbms = t.getRyDbbms().split(","); | ||
| 68 | + String[] ryIds = new String[ryDbbms.length]; | ||
| 69 | + for (int j = 0; j < ryDbbms.length; j++) { | ||
| 70 | + param2.put("dbbm_eq", ryDbbms[j]); | ||
| 71 | + Iterable<EmployeeConfigInfo> employeeConfigInfos = employeeConfigInfoService.list(param2); | ||
| 72 | + ryIds[j] = employeeConfigInfos.iterator().next().getId().toString(); | ||
| 73 | + } | ||
| 74 | + t.setRyIds(StringUtils.join(ryIds, ",")); | ||
| 75 | + | ||
| 76 | + return baseService.save(t); | ||
| 77 | + } | ||
| 78 | + | ||
| 79 | +} |
src/main/java/com/bsth/controller/schedule/TTInfoDetailController.java
0 → 100644
| 1 | +package com.bsth.controller.schedule; | ||
| 2 | + | ||
| 3 | +import com.bsth.common.ResponseCode; | ||
| 4 | +import com.bsth.controller.BaseController; | ||
| 5 | +import com.bsth.entity.schedule.TTInfoDetail; | ||
| 6 | +import com.bsth.service.schedule.TTInfoDetailServiceImpl; | ||
| 7 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 8 | +import org.springframework.web.bind.annotation.RequestMapping; | ||
| 9 | +import org.springframework.web.bind.annotation.RequestMethod; | ||
| 10 | +import org.springframework.web.bind.annotation.RestController; | ||
| 11 | +import org.springframework.web.multipart.MultipartFile; | ||
| 12 | + | ||
| 13 | +import java.util.HashMap; | ||
| 14 | +import java.util.Map; | ||
| 15 | + | ||
| 16 | +/** | ||
| 17 | + * Created by xu on 16/7/2. | ||
| 18 | + */ | ||
| 19 | +@RestController | ||
| 20 | +@RequestMapping("tidc") | ||
| 21 | +public class TTInfoDetailController extends BaseController<TTInfoDetail, Long> { | ||
| 22 | + @Autowired | ||
| 23 | + private TTInfoDetailServiceImpl ttInfoDetailService; | ||
| 24 | + | ||
| 25 | + @RequestMapping(value = "/dataImportExtend", method = RequestMethod.POST) | ||
| 26 | + public Map<String, Object> uploadDataAndImport( | ||
| 27 | + MultipartFile file, String xlmc, String ttinfoname, String tccname) throws Exception { | ||
| 28 | + Map<String, Object> resultMap = new HashMap<>(); | ||
| 29 | + | ||
| 30 | + try { | ||
| 31 | + ttInfoDetailService.fileDataImport(file, xlmc, ttinfoname, tccname); | ||
| 32 | + resultMap.put("status", ResponseCode.SUCCESS); | ||
| 33 | + resultMap.put("msg", "导入成功"); | ||
| 34 | + } catch (Exception exp) { | ||
| 35 | + exp.printStackTrace(); | ||
| 36 | + throw exp; | ||
| 37 | + } | ||
| 38 | + | ||
| 39 | + return resultMap; | ||
| 40 | + } | ||
| 41 | +} |
src/main/java/com/bsth/entity/schedule/CarConfigInfo.java
| @@ -26,11 +26,11 @@ public class CarConfigInfo implements Serializable { | @@ -26,11 +26,11 @@ public class CarConfigInfo implements Serializable { | ||
| 26 | @GeneratedValue | 26 | @GeneratedValue |
| 27 | private Long id; | 27 | private Long id; |
| 28 | 28 | ||
| 29 | - /** 线路关联 */ | ||
| 30 | - @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | 29 | + /** 线路关联(jpa2 detach)*/ |
| 30 | + @ManyToOne(optional = false, cascade = CascadeType.DETACH, fetch = FetchType.LAZY) | ||
| 31 | private Line xl; | 31 | private Line xl; |
| 32 | - /** 车辆关联 */ | ||
| 33 | - @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | 32 | + /** 车辆关联 (jpa2 detach) */ |
| 33 | + @ManyToOne(optional = false, cascade = CascadeType.DETACH, fetch = FetchType.LAZY) | ||
| 34 | private Cars cl; | 34 | private Cars cl; |
| 35 | 35 | ||
| 36 | 36 |
src/main/java/com/bsth/entity/schedule/EmployeeConfigInfo.java
| @@ -6,6 +6,7 @@ import com.bsth.entity.Personnel; | @@ -6,6 +6,7 @@ import com.bsth.entity.Personnel; | ||
| 6 | import com.bsth.entity.sys.SysUser; | 6 | import com.bsth.entity.sys.SysUser; |
| 7 | 7 | ||
| 8 | import javax.persistence.*; | 8 | import javax.persistence.*; |
| 9 | +import javax.validation.constraints.NotNull; | ||
| 9 | import java.util.Date; | 10 | import java.util.Date; |
| 10 | 11 | ||
| 11 | /** | 12 | /** |
| @@ -14,7 +15,7 @@ import java.util.Date; | @@ -14,7 +15,7 @@ import java.util.Date; | ||
| 14 | @Entity | 15 | @Entity |
| 15 | @Table(name = "bsth_c_s_ecinfo") | 16 | @Table(name = "bsth_c_s_ecinfo") |
| 16 | @NamedEntityGraphs({ | 17 | @NamedEntityGraphs({ |
| 17 | - @NamedEntityGraph(name = "employeeConfigInfo_xl_cl", attributeNodes = { | 18 | + @NamedEntityGraph(name = "employeeConfigInfo_jsy_spy_xl", attributeNodes = { |
| 18 | @NamedAttributeNode("jsy"), | 19 | @NamedAttributeNode("jsy"), |
| 19 | @NamedAttributeNode("spy"), | 20 | @NamedAttributeNode("spy"), |
| 20 | @NamedAttributeNode("xl") | 21 | @NamedAttributeNode("xl") |
| @@ -28,19 +29,20 @@ public class EmployeeConfigInfo { | @@ -28,19 +29,20 @@ public class EmployeeConfigInfo { | ||
| 28 | private Long id; | 29 | private Long id; |
| 29 | 30 | ||
| 30 | /** 线路关联 */ | 31 | /** 线路关联 */ |
| 31 | - @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | 32 | + @ManyToOne(optional = false, cascade = CascadeType.DETACH, fetch = FetchType.LAZY) |
| 32 | private Line xl; | 33 | private Line xl; |
| 33 | - /** 车辆关联 */ | ||
| 34 | - @ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | 34 | + /** 车辆关联(TODO:貌似没用了) */ |
| 35 | + @ManyToOne(cascade = CascadeType.DETACH, fetch = FetchType.LAZY) | ||
| 35 | private Cars cl; | 36 | private Cars cl; |
| 36 | /** 人员关联(驾驶员) */ | 37 | /** 人员关联(驾驶员) */ |
| 37 | - @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | 38 | + @ManyToOne(optional = false, cascade = CascadeType.DETACH, fetch = FetchType.LAZY) |
| 38 | private Personnel jsy; | 39 | private Personnel jsy; |
| 39 | /** 人员关联(售票员) */ | 40 | /** 人员关联(售票员) */ |
| 40 | - @ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | 41 | + @ManyToOne(cascade = CascadeType.DETACH, fetch = FetchType.LAZY) |
| 41 | private Personnel spy; | 42 | private Personnel spy; |
| 42 | 43 | ||
| 43 | - /** 搭班编码(TODO:估计是售票员和驾驶员搭配时使用) */ | 44 | + /** 搭班编码(是售票员和驾驶员搭配时使用,同一条线路搭班编码不能重复) */ |
| 45 | + @NotNull | ||
| 44 | private String dbbm; | 46 | private String dbbm; |
| 45 | 47 | ||
| 46 | /** 创建人 */ | 48 | /** 创建人 */ |
src/main/java/com/bsth/entity/schedule/GuideboardInfo.java
| @@ -25,7 +25,7 @@ public class GuideboardInfo { | @@ -25,7 +25,7 @@ public class GuideboardInfo { | ||
| 25 | private Long id; | 25 | private Long id; |
| 26 | 26 | ||
| 27 | /** 线路关联 */ | 27 | /** 线路关联 */ |
| 28 | - @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | 28 | + @ManyToOne(optional = false, cascade = CascadeType.DETACH, fetch = FetchType.LAZY) |
| 29 | private Line xl; | 29 | private Line xl; |
| 30 | 30 | ||
| 31 | /** 路牌顺序号 */ | 31 | /** 路牌顺序号 */ |
src/main/java/com/bsth/entity/schedule/rule/ScheduleRule1Flat.java
0 → 100644
| 1 | +package com.bsth.entity.schedule.rule; | ||
| 2 | + | ||
| 3 | +import com.bsth.entity.Cars; | ||
| 4 | +import com.bsth.entity.Line; | ||
| 5 | +import com.bsth.entity.sys.SysUser; | ||
| 6 | + | ||
| 7 | +import javax.persistence.*; | ||
| 8 | +import javax.validation.constraints.NotNull; | ||
| 9 | +import java.util.Date; | ||
| 10 | + | ||
| 11 | +/** | ||
| 12 | + * 排班规则1(flat,路牌,人员都不关联表,全部保存相关id), | ||
| 13 | + * 基于老系统的规则设定实体, | ||
| 14 | + * 有所谓的路牌范围,就是关联多个路牌 | ||
| 15 | + * 有所谓的人员返回,就是关联多个人(可能带早晚班) | ||
| 16 | + * 有起始路牌,起始人员,翻班格式 | ||
| 17 | + */ | ||
| 18 | +@Entity | ||
| 19 | +@Table(name = "bsth_c_s_sr1_flat") | ||
| 20 | +@NamedEntityGraphs({ | ||
| 21 | + @NamedEntityGraph(name = "scheduleRule1Flat_xl_cl", attributeNodes = { | ||
| 22 | + @NamedAttributeNode("xl"), | ||
| 23 | + @NamedAttributeNode("cl") | ||
| 24 | + }) | ||
| 25 | +}) | ||
| 26 | +public class ScheduleRule1Flat { | ||
| 27 | + /** 主键Id */ | ||
| 28 | + @Id | ||
| 29 | + @GeneratedValue | ||
| 30 | + private Long id; | ||
| 31 | + | ||
| 32 | + /** 关联线路 */ | ||
| 33 | + @ManyToOne(optional = false, cascade = CascadeType.DETACH, fetch = FetchType.LAZY) | ||
| 34 | + private Line xl; | ||
| 35 | + /** 关联车辆 */ | ||
| 36 | + @ManyToOne(optional = false, cascade = CascadeType.DETACH, fetch = FetchType.LAZY) | ||
| 37 | + private Cars cl; | ||
| 38 | + /** 启用日期 */ | ||
| 39 | + @NotNull | ||
| 40 | + private Date qyrq; | ||
| 41 | + | ||
| 42 | + /** 路牌名称s(用逗号隔开) */ | ||
| 43 | + @NotNull | ||
| 44 | + private String lpNames; | ||
| 45 | + /** 对应的路牌ids(用逗号隔开) */ | ||
| 46 | + @NotNull | ||
| 47 | + private String lpIds; | ||
| 48 | + /** 起始路牌(从0开始) */ | ||
| 49 | + @NotNull | ||
| 50 | + private Integer lpStart; | ||
| 51 | + /** 人员搭班编码s(用逗号隔开) */ | ||
| 52 | + @NotNull | ||
| 53 | + private String ryDbbms; | ||
| 54 | + /** 对应的人员配置ids(用逗号隔开) */ | ||
| 55 | + @NotNull | ||
| 56 | + private String ryIds; | ||
| 57 | + /** 起始人员(从0开始) */ | ||
| 58 | + @NotNull | ||
| 59 | + private Integer ryStart; | ||
| 60 | + | ||
| 61 | + /** 翻班格式(TODO:这个用在车子上的,暂时不管)*/ | ||
| 62 | + private String fbgs; | ||
| 63 | + | ||
| 64 | + /** 创建人 */ | ||
| 65 | + @ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | ||
| 66 | + private SysUser createBy; | ||
| 67 | + /** 修改人 */ | ||
| 68 | + @ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | ||
| 69 | + private SysUser updateBy; | ||
| 70 | + /** 创建日期 */ | ||
| 71 | + @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP") | ||
| 72 | + private Date createDate; | ||
| 73 | + /** 修改日期 */ | ||
| 74 | + @Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP") | ||
| 75 | + private Date updateDate; | ||
| 76 | + | ||
| 77 | + public Long getId() { | ||
| 78 | + return id; | ||
| 79 | + } | ||
| 80 | + | ||
| 81 | + public void setId(Long id) { | ||
| 82 | + this.id = id; | ||
| 83 | + } | ||
| 84 | + | ||
| 85 | + public Line getXl() { | ||
| 86 | + return xl; | ||
| 87 | + } | ||
| 88 | + | ||
| 89 | + public void setXl(Line xl) { | ||
| 90 | + this.xl = xl; | ||
| 91 | + } | ||
| 92 | + | ||
| 93 | + public Cars getCl() { | ||
| 94 | + return cl; | ||
| 95 | + } | ||
| 96 | + | ||
| 97 | + public void setCl(Cars cl) { | ||
| 98 | + this.cl = cl; | ||
| 99 | + } | ||
| 100 | + | ||
| 101 | + public Date getQyrq() { | ||
| 102 | + return qyrq; | ||
| 103 | + } | ||
| 104 | + | ||
| 105 | + public void setQyrq(Date qyrq) { | ||
| 106 | + this.qyrq = qyrq; | ||
| 107 | + } | ||
| 108 | + | ||
| 109 | + public String getLpNames() { | ||
| 110 | + return lpNames; | ||
| 111 | + } | ||
| 112 | + | ||
| 113 | + public void setLpNames(String lpNames) { | ||
| 114 | + this.lpNames = lpNames; | ||
| 115 | + } | ||
| 116 | + | ||
| 117 | + public String getLpIds() { | ||
| 118 | + return lpIds; | ||
| 119 | + } | ||
| 120 | + | ||
| 121 | + public void setLpIds(String lpIds) { | ||
| 122 | + this.lpIds = lpIds; | ||
| 123 | + } | ||
| 124 | + | ||
| 125 | + public Integer getLpStart() { | ||
| 126 | + return lpStart; | ||
| 127 | + } | ||
| 128 | + | ||
| 129 | + public void setLpStart(Integer lpStart) { | ||
| 130 | + this.lpStart = lpStart; | ||
| 131 | + } | ||
| 132 | + | ||
| 133 | + public String getRyDbbms() { | ||
| 134 | + return ryDbbms; | ||
| 135 | + } | ||
| 136 | + | ||
| 137 | + public void setRyDbbms(String ryDbbms) { | ||
| 138 | + this.ryDbbms = ryDbbms; | ||
| 139 | + } | ||
| 140 | + | ||
| 141 | + public String getRyIds() { | ||
| 142 | + return ryIds; | ||
| 143 | + } | ||
| 144 | + | ||
| 145 | + public void setRyIds(String ryIds) { | ||
| 146 | + this.ryIds = ryIds; | ||
| 147 | + } | ||
| 148 | + | ||
| 149 | + public Integer getRyStart() { | ||
| 150 | + return ryStart; | ||
| 151 | + } | ||
| 152 | + | ||
| 153 | + public void setRyStart(Integer ryStart) { | ||
| 154 | + this.ryStart = ryStart; | ||
| 155 | + } | ||
| 156 | + | ||
| 157 | + public String getFbgs() { | ||
| 158 | + return fbgs; | ||
| 159 | + } | ||
| 160 | + | ||
| 161 | + public void setFbgs(String fbgs) { | ||
| 162 | + this.fbgs = fbgs; | ||
| 163 | + } | ||
| 164 | + | ||
| 165 | + public SysUser getCreateBy() { | ||
| 166 | + return createBy; | ||
| 167 | + } | ||
| 168 | + | ||
| 169 | + public void setCreateBy(SysUser createBy) { | ||
| 170 | + this.createBy = createBy; | ||
| 171 | + } | ||
| 172 | + | ||
| 173 | + public SysUser getUpdateBy() { | ||
| 174 | + return updateBy; | ||
| 175 | + } | ||
| 176 | + | ||
| 177 | + public void setUpdateBy(SysUser updateBy) { | ||
| 178 | + this.updateBy = updateBy; | ||
| 179 | + } | ||
| 180 | + | ||
| 181 | + public Date getCreateDate() { | ||
| 182 | + return createDate; | ||
| 183 | + } | ||
| 184 | + | ||
| 185 | + public void setCreateDate(Date createDate) { | ||
| 186 | + this.createDate = createDate; | ||
| 187 | + } | ||
| 188 | + | ||
| 189 | + public Date getUpdateDate() { | ||
| 190 | + return updateDate; | ||
| 191 | + } | ||
| 192 | + | ||
| 193 | + public void setUpdateDate(Date updateDate) { | ||
| 194 | + this.updateDate = updateDate; | ||
| 195 | + } | ||
| 196 | +} |
src/main/java/com/bsth/repository/CarParkRepository.java
| @@ -76,11 +76,11 @@ public interface CarParkRepository extends BaseRepository<CarPark, Integer>{ | @@ -76,11 +76,11 @@ public interface CarParkRepository extends BaseRepository<CarPark, Integer>{ | ||
| 76 | "park_name = ?4 , " + | 76 | "park_name = ?4 , " + |
| 77 | "branche_company = ?5 , " + | 77 | "branche_company = ?5 , " + |
| 78 | "create_by = ?6 , " + | 78 | "create_by = ?6 , " + |
| 79 | - "create_date = ?7 , " + | 79 | + "create_date = str_to_date(?7,'%Y-%m-%d %H:%i:%s') , " + |
| 80 | "descriptions = ?8 , " + | 80 | "descriptions = ?8 , " + |
| 81 | "destroy = ?9 , " + | 81 | "destroy = ?9 , " + |
| 82 | "update_by = ?10 , " + | 82 | "update_by = ?10 , " + |
| 83 | - "update_date = ?11 , " + | 83 | + "update_date =str_to_date(?11,'%Y-%m-%d %H:%i:%s') , " + |
| 84 | "versions = ?12 , " + | 84 | "versions = ?12 , " + |
| 85 | "b_center_point = ?13 , " + | 85 | "b_center_point = ?13 , " + |
| 86 | "g_center_point = ?14 , " + | 86 | "g_center_point = ?14 , " + |
src/main/java/com/bsth/repository/ScheduleRule1FlatRepository.java
0 → 100644
| 1 | +package com.bsth.repository; | ||
| 2 | + | ||
| 3 | +import com.bsth.entity.schedule.rule.ScheduleRule1Flat; | ||
| 4 | +import org.springframework.data.domain.Page; | ||
| 5 | +import org.springframework.data.domain.Pageable; | ||
| 6 | +import org.springframework.data.jpa.domain.Specification; | ||
| 7 | +import org.springframework.data.jpa.repository.EntityGraph; | ||
| 8 | +import org.springframework.data.jpa.repository.Query; | ||
| 9 | +import org.springframework.stereotype.Repository; | ||
| 10 | + | ||
| 11 | +/** | ||
| 12 | + * Created by xu on 16/7/4. | ||
| 13 | + */ | ||
| 14 | +@Repository | ||
| 15 | +public interface ScheduleRule1FlatRepository extends BaseRepository<ScheduleRule1Flat, Long> { | ||
| 16 | + | ||
| 17 | + @EntityGraph(value = "scheduleRule1Flat_xl_cl", type = EntityGraph.EntityGraphType.FETCH) | ||
| 18 | + @Override | ||
| 19 | + Page<ScheduleRule1Flat> findAll(Specification<ScheduleRule1Flat> spec, Pageable pageable); | ||
| 20 | + | ||
| 21 | + @EntityGraph(value = "scheduleRule1Flat_xl_cl", type = EntityGraph.EntityGraphType.FETCH) | ||
| 22 | + @Query("select cc from ScheduleRule1Flat cc where cc.id=?1") | ||
| 23 | + ScheduleRule1Flat findOneExtend(Long aLong); | ||
| 24 | +} |
src/main/java/com/bsth/repository/SectionRouteRepository.java
| @@ -57,15 +57,18 @@ public interface SectionRouteRepository extends BaseRepository<SectionRoute, Int | @@ -57,15 +57,18 @@ public interface SectionRouteRepository extends BaseRepository<SectionRoute, Int | ||
| 57 | " b.section_distance AS sectionDistance," + | 57 | " b.section_distance AS sectionDistance," + |
| 58 | " b.section_time AS sectionTime," + | 58 | " b.section_time AS sectionTime," + |
| 59 | " b.db_type AS sectiondbType," + | 59 | " b.db_type AS sectiondbType," + |
| 60 | - " b.speed_limit AS sectionSpeedLimet FROM (" + | 60 | + " b.speed_limit AS sectionSpeedLimet ,a.destroy,a.versions,a.descriptions FROM (" + |
| 61 | "SELECT r.id AS sectionrouteId," + | 61 | "SELECT r.id AS sectionrouteId," + |
| 62 | "r.line AS sectionrouteLine," + | 62 | "r.line AS sectionrouteLine," + |
| 63 | "r.line_code AS sectionrouteLineCode," + | 63 | "r.line_code AS sectionrouteLineCode," + |
| 64 | "r.section AS sectionrouteSection," + | 64 | "r.section AS sectionrouteSection," + |
| 65 | "r.section_code AS sectionrouteSectionCode," + | 65 | "r.section_code AS sectionrouteSectionCode," + |
| 66 | "r.sectionroute_code AS sectionrouteCode," + | 66 | "r.sectionroute_code AS sectionrouteCode," + |
| 67 | - "r.directions AS sectionrouteDirections" + | ||
| 68 | - " FROM bsth_c_sectionroute r where r.line = ?1 and r.directions = ?2 and r.destroy=0 ) a " + | 67 | + "r.directions AS sectionrouteDirections," + |
| 68 | + "r.destroy AS destroy," + | ||
| 69 | + "r.versions AS versions," + | ||
| 70 | + "r.descriptions AS descriptions" + | ||
| 71 | + " FROM bsth_c_sectionroute r where r.line = ?1 and r.directions = ?2 and r.destroy=0 ) a " + | ||
| 69 | " LEFT JOIN bsth_c_section b ON a.sectionrouteSection = b.id", nativeQuery=true) | 72 | " LEFT JOIN bsth_c_section b ON a.sectionrouteSection = b.id", nativeQuery=true) |
| 70 | List<Object[]> getSectionRoute(int lineId, int directions); | 73 | List<Object[]> getSectionRoute(int lineId, int directions); |
| 71 | 74 | ||
| @@ -128,4 +131,14 @@ public interface SectionRouteRepository extends BaseRepository<SectionRoute, Int | @@ -128,4 +131,14 @@ public interface SectionRouteRepository extends BaseRepository<SectionRoute, Int | ||
| 128 | " LEFT JOIN bsth_c_section b on a.sectionRouteSection = b.id", nativeQuery=true) | 131 | " LEFT JOIN bsth_c_section b on a.sectionRouteSection = b.id", nativeQuery=true) |
| 129 | List<Object[]> findSectionRouteInfoFormId(int id); | 132 | List<Object[]> findSectionRouteInfoFormId(int id); |
| 130 | 133 | ||
| 134 | + | ||
| 135 | + /** | ||
| 136 | + * @Description :TODO(查询线路某方向下的上一个路段序号) | ||
| 137 | + * | ||
| 138 | + * @param map <lineId:线路ID; direction:方向;sectionRouteCode:路段编码> | ||
| 139 | + * | ||
| 140 | + * @return List<Map<String, Object>> | ||
| 141 | + */ | ||
| 142 | + @Query(value = " select MAX(r.sectionroute_code) as sectionrouteCode from bsth_c_sectionroute r WHERE r.line=?1 and r.directions =?2 and r.sectionroute_code< ?3", nativeQuery=true) | ||
| 143 | + List<Object[]> findUpSectionRouteCode(Integer lineId,Integer direction,Integer stationRouteCode); | ||
| 131 | } | 144 | } |
src/main/java/com/bsth/repository/StationRepository.java
| @@ -103,7 +103,7 @@ public interface StationRepository extends BaseRepository<Station, Integer> { | @@ -103,7 +103,7 @@ public interface StationRepository extends BaseRepository<Station, Integer> { | ||
| 103 | " WHERE id = ?17 ", nativeQuery=true) | 103 | " WHERE id = ?17 ", nativeQuery=true) |
| 104 | public void stationUpdate(String stationCod,String stationName,String roadCoding,String dbType,String bJwpoints, | 104 | public void stationUpdate(String stationCod,String stationName,String roadCoding,String dbType,String bJwpoints, |
| 105 | 105 | ||
| 106 | - String gLonx,String gLaty,Float x,Float y, String bPolygonGrid,String gPolygonGrid, | 106 | + Float gLonx,Float gLaty,Float x,Float y, String bPolygonGrid,String gPolygonGrid, |
| 107 | 107 | ||
| 108 | Integer destroy, Integer radius,String shapesType, Integer versions,String descriptions,Integer stationId); | 108 | Integer destroy, Integer radius,String shapesType, Integer versions,String descriptions,Integer stationId); |
| 109 | 109 |
src/main/java/com/bsth/repository/schedule/CarConfigInfoRepository.java
| @@ -21,8 +21,13 @@ public interface CarConfigInfoRepository extends BaseRepository<CarConfigInfo, L | @@ -21,8 +21,13 @@ public interface CarConfigInfoRepository extends BaseRepository<CarConfigInfo, L | ||
| 21 | @EntityGraph(value = "carConfigInfo_xl_cl", type = EntityGraph.EntityGraphType.FETCH) | 21 | @EntityGraph(value = "carConfigInfo_xl_cl", type = EntityGraph.EntityGraphType.FETCH) |
| 22 | @Override | 22 | @Override |
| 23 | Page<CarConfigInfo> findAll(Specification<CarConfigInfo> spec, Pageable pageable); | 23 | Page<CarConfigInfo> findAll(Specification<CarConfigInfo> spec, Pageable pageable); |
| 24 | - | ||
| 25 | - @EntityGraph(value = "carConfigInfo_xl_cl", type = EntityGraph.EntityGraphType.FETCH) | 24 | + |
| 25 | + @EntityGraph(value = "carConfigInfo_xl_cl", type = EntityGraph.EntityGraphType.FETCH) | ||
| 26 | + @Query("select cc from CarConfigInfo cc where cc.id=?1") | ||
| 27 | + CarConfigInfo findOneExtend(Long aLong); | ||
| 28 | + | ||
| 29 | + | ||
| 30 | + @EntityGraph(value = "carConfigInfo_xl_cl", type = EntityGraph.EntityGraphType.FETCH) | ||
| 26 | @Query("select cc from CarConfigInfo cc where cc.xl.lineCode=?1") | 31 | @Query("select cc from CarConfigInfo cc where cc.xl.lineCode=?1") |
| 27 | List<CarConfigInfo> findBylineCode(String lineCode); | 32 | List<CarConfigInfo> findBylineCode(String lineCode); |
| 28 | } | 33 | } |
| 29 | \ No newline at end of file | 34 | \ No newline at end of file |
src/main/java/com/bsth/repository/schedule/EmployeeConfigInfoRepository.java
| 1 | package com.bsth.repository.schedule; | 1 | package com.bsth.repository.schedule; |
| 2 | 2 | ||
| 3 | +import com.bsth.entity.schedule.CarConfigInfo; | ||
| 3 | import com.bsth.entity.schedule.EmployeeConfigInfo; | 4 | import com.bsth.entity.schedule.EmployeeConfigInfo; |
| 4 | import com.bsth.repository.BaseRepository; | 5 | import com.bsth.repository.BaseRepository; |
| 5 | 6 | ||
| @@ -22,7 +23,11 @@ public interface EmployeeConfigInfoRepository extends BaseRepository<EmployeeCon | @@ -22,7 +23,11 @@ public interface EmployeeConfigInfoRepository extends BaseRepository<EmployeeCon | ||
| 22 | @Query("select ec from EmployeeConfigInfo ec where ec.xl.lineCode=?1") | 23 | @Query("select ec from EmployeeConfigInfo ec where ec.xl.lineCode=?1") |
| 23 | List<EmployeeConfigInfo> findBylineCode(String lineCode); | 24 | List<EmployeeConfigInfo> findBylineCode(String lineCode); |
| 24 | 25 | ||
| 25 | - @EntityGraph(value = "employeeConfigInfo_xl_cl", type = EntityGraph.EntityGraphType.FETCH) | 26 | + @EntityGraph(value = "employeeConfigInfo_jsy_spy_xl", type = EntityGraph.EntityGraphType.FETCH) |
| 26 | @Override | 27 | @Override |
| 27 | Page<EmployeeConfigInfo> findAll(Specification<EmployeeConfigInfo> spec, Pageable pageable); | 28 | Page<EmployeeConfigInfo> findAll(Specification<EmployeeConfigInfo> spec, Pageable pageable); |
| 29 | + | ||
| 30 | + @EntityGraph(value = "employeeConfigInfo_jsy_spy_xl", type = EntityGraph.EntityGraphType.FETCH) | ||
| 31 | + @Query("select cc from EmployeeConfigInfo cc where cc.id=?1") | ||
| 32 | + EmployeeConfigInfo findOneExtend(Long aLong); | ||
| 28 | } | 33 | } |
src/main/java/com/bsth/repository/schedule/GuideboardInfoRepository.java
| 1 | package com.bsth.repository.schedule; | 1 | package com.bsth.repository.schedule; |
| 2 | 2 | ||
| 3 | +import com.bsth.entity.schedule.EmployeeConfigInfo; | ||
| 3 | import com.bsth.entity.schedule.GuideboardInfo; | 4 | import com.bsth.entity.schedule.GuideboardInfo; |
| 4 | import com.bsth.repository.BaseRepository; | 5 | import com.bsth.repository.BaseRepository; |
| 5 | import org.springframework.data.domain.Page; | 6 | import org.springframework.data.domain.Page; |
| 6 | import org.springframework.data.domain.Pageable; | 7 | import org.springframework.data.domain.Pageable; |
| 7 | import org.springframework.data.jpa.domain.Specification; | 8 | import org.springframework.data.jpa.domain.Specification; |
| 8 | import org.springframework.data.jpa.repository.EntityGraph; | 9 | import org.springframework.data.jpa.repository.EntityGraph; |
| 10 | +import org.springframework.data.jpa.repository.Query; | ||
| 9 | import org.springframework.stereotype.Repository; | 11 | import org.springframework.stereotype.Repository; |
| 10 | 12 | ||
| 11 | /** | 13 | /** |
| @@ -17,4 +19,8 @@ public interface GuideboardInfoRepository extends BaseRepository<GuideboardInfo, | @@ -17,4 +19,8 @@ public interface GuideboardInfoRepository extends BaseRepository<GuideboardInfo, | ||
| 17 | @EntityGraph(value = "guideboardInfo_xl", type = EntityGraph.EntityGraphType.FETCH) | 19 | @EntityGraph(value = "guideboardInfo_xl", type = EntityGraph.EntityGraphType.FETCH) |
| 18 | @Override | 20 | @Override |
| 19 | Page<GuideboardInfo> findAll(Specification<GuideboardInfo> spec, Pageable pageable); | 21 | Page<GuideboardInfo> findAll(Specification<GuideboardInfo> spec, Pageable pageable); |
| 22 | + | ||
| 23 | + @EntityGraph(value = "guideboardInfo_xl", type = EntityGraph.EntityGraphType.FETCH) | ||
| 24 | + @Query("select cc from GuideboardInfo cc where cc.id=?1") | ||
| 25 | + GuideboardInfo findOneExtend(Long aLong); | ||
| 20 | } | 26 | } |
src/main/java/com/bsth/repository/schedule/TTInfoDetailRepository.java
0 → 100644
| 1 | +package com.bsth.repository.schedule; | ||
| 2 | + | ||
| 3 | +import com.bsth.entity.schedule.TTInfoDetail; | ||
| 4 | +import com.bsth.repository.BaseRepository; | ||
| 5 | +import org.springframework.stereotype.Repository; | ||
| 6 | + | ||
| 7 | +/** | ||
| 8 | + * Created by xu on 16/7/2. | ||
| 9 | + */ | ||
| 10 | +@Repository | ||
| 11 | +public interface TTInfoDetailRepository extends BaseRepository<TTInfoDetail, Long> { | ||
| 12 | +} |
src/main/java/com/bsth/service/CarParkService.java
| @@ -11,6 +11,22 @@ public interface CarParkService extends BaseService<CarPark, Integer> { | @@ -11,6 +11,22 @@ public interface CarParkService extends BaseService<CarPark, Integer> { | ||
| 11 | 11 | ||
| 12 | List<Map<String, Object>> findCarParkInfoFormId(Map<String, Object> map); | 12 | List<Map<String, Object>> findCarParkInfoFormId(Map<String, Object> map); |
| 13 | 13 | ||
| 14 | + | ||
| 15 | + /** | ||
| 16 | + * 修改停车场信息 | ||
| 17 | + * | ||
| 18 | + * | ||
| 19 | + * @param map<area:面积;bCenterPoint:中心点百度坐标;bParkPoint:多边形图形百度坐标点集合; | ||
| 20 | + * | ||
| 21 | + * brancheCompany:分公司;company:公司;createBy:创建人;createDate:创建日期;dbType:原坐标类型;descriptions:描述; | ||
| 22 | + * | ||
| 23 | + * destroy:是否撤销;gCenterPoint:WGS中心点坐标;gParkPoint:WGS多边形图形坐标集合;id:停车场ID;parkCode:停车场编码; | ||
| 24 | + * | ||
| 25 | + * parkName:停车名称;radius:圆半径;shapesType:图形类型;versions:版本号> | ||
| 26 | + * | ||
| 27 | + * @return map <SUCCESS:成功;ERROR:失败> | ||
| 28 | + * | ||
| 29 | + */ | ||
| 14 | Map<String, Object> carParkUpdate(Map<String, Object> map); | 30 | Map<String, Object> carParkUpdate(Map<String, Object> map); |
| 15 | 31 | ||
| 16 | } | 32 | } |
src/main/java/com/bsth/service/SectionRouteService.java
| @@ -32,4 +32,13 @@ public interface SectionRouteService extends BaseService<SectionRoute, Integer> | @@ -32,4 +32,13 @@ public interface SectionRouteService extends BaseService<SectionRoute, Integer> | ||
| 32 | * @return List<Map<String, Object>> | 32 | * @return List<Map<String, Object>> |
| 33 | */ | 33 | */ |
| 34 | List<Map<String, Object>> findSectionRouteInfoFormId(Map<String, Object> map); | 34 | List<Map<String, Object>> findSectionRouteInfoFormId(Map<String, Object> map); |
| 35 | + | ||
| 36 | + /** | ||
| 37 | + * @Description :TODO(查询线路某方向下的上一个路段序号) | ||
| 38 | + * | ||
| 39 | + * @param map <lineId:线路ID; direction:方向;sectionRouteCode:路段编码> | ||
| 40 | + * | ||
| 41 | + * @return List<Map<String, Object>> | ||
| 42 | + */ | ||
| 43 | + List<Map<String, Object>> findUpSectionRouteCode(Map<String, Object> map); | ||
| 35 | } | 44 | } |
src/main/java/com/bsth/service/impl/CarParkServiceImpl.java
| @@ -11,6 +11,8 @@ import com.bsth.common.ResponseCode; | @@ -11,6 +11,8 @@ import com.bsth.common.ResponseCode; | ||
| 11 | import com.bsth.entity.CarPark; | 11 | import com.bsth.entity.CarPark; |
| 12 | import com.bsth.repository.CarParkRepository; | 12 | import com.bsth.repository.CarParkRepository; |
| 13 | import com.bsth.service.CarParkService; | 13 | import com.bsth.service.CarParkService; |
| 14 | +import com.bsth.util.TransGPS; | ||
| 15 | +import com.bsth.util.TransGPS.Location; | ||
| 14 | 16 | ||
| 15 | import org.springframework.beans.factory.annotation.Autowired; | 17 | import org.springframework.beans.factory.annotation.Autowired; |
| 16 | import org.springframework.stereotype.Service; | 18 | import org.springframework.stereotype.Service; |
| @@ -42,13 +44,64 @@ public class CarParkServiceImpl extends BaseServiceImpl<CarPark, Integer> implem | @@ -42,13 +44,64 @@ public class CarParkServiceImpl extends BaseServiceImpl<CarPark, Integer> implem | ||
| 42 | String bParkPoint = map.get("bParkPoint").equals("") ? "" : map.get("bParkPoint").toString(); | 44 | String bParkPoint = map.get("bParkPoint").equals("") ? "" : map.get("bParkPoint").toString(); |
| 43 | 45 | ||
| 44 | // 地理位置(WGS坐标集合) | 46 | // 地理位置(WGS坐标集合) |
| 45 | - String gParkPoint = map.get("gParkPoint").equals("") ? "" :map.get("gParkPoint").toString(); | 47 | + // String gParkPoint = map.get("gParkPoint").equals("") ? "" :map.get("gParkPoint").toString(); |
| 48 | + | ||
| 49 | + // 多边形WGS坐标点集合 | ||
| 50 | + String gParkPoint =""; | ||
| 51 | + | ||
| 52 | + if(!bParkPoint.equals("")) { | ||
| 53 | + | ||
| 54 | + String bPloygonGridArray[] = bParkPoint.split(","); | ||
| 55 | + | ||
| 56 | + int bLen_ = bPloygonGridArray.length; | ||
| 57 | + | ||
| 58 | + for(int b = 0 ;b<bLen_;b++) { | ||
| 59 | + | ||
| 60 | + String tempArray[]= bPloygonGridArray[b].split(" "); | ||
| 61 | + | ||
| 62 | + Location resultPoint = FromBDPointToWGSPoint(tempArray[0],tempArray[1]); | ||
| 63 | + | ||
| 64 | + if(b==0) { | ||
| 65 | + | ||
| 66 | + gParkPoint = resultPoint.getLng() + " " + resultPoint.getLat(); | ||
| 67 | + | ||
| 68 | + }else { | ||
| 69 | + | ||
| 70 | + gParkPoint = gParkPoint + ',' + resultPoint.getLng() + " " + resultPoint.getLat(); | ||
| 71 | + | ||
| 72 | + } | ||
| 73 | + | ||
| 74 | + } | ||
| 75 | + | ||
| 76 | + } | ||
| 77 | + | ||
| 78 | + bParkPoint = "POLYGON((" + bParkPoint +"))"; | ||
| 79 | + | ||
| 80 | + gParkPoint = "POLYGON((" + gParkPoint +"))"; | ||
| 46 | 81 | ||
| 47 | // 地理位置中心点(百度坐标) | 82 | // 地理位置中心点(百度坐标) |
| 48 | String bCenterPoint = map.get("bCenterPoint").equals("") ? "" : map.get("bCenterPoint").toString(); | 83 | String bCenterPoint = map.get("bCenterPoint").equals("") ? "" : map.get("bCenterPoint").toString(); |
| 49 | 84 | ||
| 50 | // 地理位置中心点(WGS坐标) | 85 | // 地理位置中心点(WGS坐标) |
| 51 | - String gCenterPoint = map.get("gCenterPoint").equals("") ? "" : map.get("gCenterPoint").toString(); | 86 | + // String gCenterPoint = map.get("gCenterPoint").equals("") ? "" : map.get("gCenterPoint").toString(); |
| 87 | + | ||
| 88 | + String bJwpointsArray[] =null; | ||
| 89 | + | ||
| 90 | + if(bCenterPoint!=null) { | ||
| 91 | + | ||
| 92 | + bJwpointsArray = bCenterPoint.split(" "); | ||
| 93 | + | ||
| 94 | + } | ||
| 95 | + | ||
| 96 | + String gCenterPoint = ""; | ||
| 97 | + | ||
| 98 | + if(bJwpointsArray.length>0) { | ||
| 99 | + | ||
| 100 | + Location resultPoint = FromBDPointToWGSPoint(bJwpointsArray[0],bJwpointsArray[1]); | ||
| 101 | + | ||
| 102 | + gCenterPoint = String.valueOf(resultPoint.getLng()) + " " + String.valueOf(resultPoint.getLat()); | ||
| 103 | + | ||
| 104 | + } | ||
| 52 | 105 | ||
| 53 | // 坐标类型 | 106 | // 坐标类型 |
| 54 | String dbType = map.get("dbType").equals("") ? "" : map.get("dbType").toString(); | 107 | String dbType = map.get("dbType").equals("") ? "" : map.get("dbType").toString(); |
| @@ -179,7 +232,22 @@ public class CarParkServiceImpl extends BaseServiceImpl<CarPark, Integer> implem | @@ -179,7 +232,22 @@ public class CarParkServiceImpl extends BaseServiceImpl<CarPark, Integer> implem | ||
| 179 | 232 | ||
| 180 | return resultList; | 233 | return resultList; |
| 181 | } | 234 | } |
| 182 | - | 235 | + |
| 236 | + /** | ||
| 237 | + * 修改停车场信息 | ||
| 238 | + * | ||
| 239 | + * | ||
| 240 | + * @param map<area:面积;bCenterPoint:中心点百度坐标;bParkPoint:多边形图形百度坐标点集合; | ||
| 241 | + * | ||
| 242 | + * brancheCompany:分公司;company:公司;createBy:创建人;createDate:创建日期;dbType:原坐标类型;descriptions:描述; | ||
| 243 | + * | ||
| 244 | + * destroy:是否撤销;gCenterPoint:WGS中心点坐标;gParkPoint:WGS多边形图形坐标集合;id:停车场ID;parkCode:停车场编码; | ||
| 245 | + * | ||
| 246 | + * parkName:停车名称;radius:圆半径;shapesType:图形类型;versions:版本号> | ||
| 247 | + * | ||
| 248 | + * @return map <SUCCESS:成功;ERROR:失败> | ||
| 249 | + * | ||
| 250 | + */ | ||
| 183 | @Override | 251 | @Override |
| 184 | public Map<String, Object> carParkUpdate(Map<String, Object> map) { | 252 | public Map<String, Object> carParkUpdate(Map<String, Object> map) { |
| 185 | Map<String, Object> resultMap = new HashMap<String, Object>(); | 253 | Map<String, Object> resultMap = new HashMap<String, Object>(); |
| @@ -216,10 +284,61 @@ public class CarParkServiceImpl extends BaseServiceImpl<CarPark, Integer> implem | @@ -216,10 +284,61 @@ public class CarParkServiceImpl extends BaseServiceImpl<CarPark, Integer> implem | ||
| 216 | Integer destroy = map.get("destroy").equals("") ? null : Integer.parseInt(map.get("destroy").toString()); | 284 | Integer destroy = map.get("destroy").equals("") ? null : Integer.parseInt(map.get("destroy").toString()); |
| 217 | 285 | ||
| 218 | // 中心点(WGS坐标) | 286 | // 中心点(WGS坐标) |
| 219 | - String gCenterPoint = map.get("gCenterPoint").equals("") ? "" : map.get("gCenterPoint").toString(); | 287 | + // String gCenterPoint = map.get("gCenterPoint").equals("") ? "" : map.get("gCenterPoint").toString(); |
| 288 | + | ||
| 289 | + String bJwpointsArray[] =null; | ||
| 290 | + | ||
| 291 | + if(bCenterPoint!=null) { | ||
| 292 | + | ||
| 293 | + bJwpointsArray = bCenterPoint.split(" "); | ||
| 294 | + | ||
| 295 | + } | ||
| 296 | + | ||
| 297 | + String gCenterPoint = ""; | ||
| 298 | + | ||
| 299 | + if(bJwpointsArray.length>0) { | ||
| 300 | + | ||
| 301 | + Location resultPoint = FromBDPointToWGSPoint(bJwpointsArray[0],bJwpointsArray[1]); | ||
| 302 | + | ||
| 303 | + gCenterPoint = String.valueOf(resultPoint.getLng()) + " " + String.valueOf(resultPoint.getLat()); | ||
| 304 | + | ||
| 305 | + } | ||
| 220 | 306 | ||
| 221 | // 图形坐标点集合(WGS坐标) | 307 | // 图形坐标点集合(WGS坐标) |
| 222 | - String gParkPoint = map.get("gParkPoint").equals("") ? "" : map.get("gParkPoint").toString(); | 308 | + // String gParkPoint = map.get("gParkPoint").equals("") ? "" : map.get("gParkPoint").toString(); |
| 309 | + | ||
| 310 | + // 多边形WGS坐标点集合 | ||
| 311 | + String gParkPoint =""; | ||
| 312 | + | ||
| 313 | + if(!bParkPoint.equals("")) { | ||
| 314 | + | ||
| 315 | + String bPloygonGridArray[] = bParkPoint.split(","); | ||
| 316 | + | ||
| 317 | + int bLen_ = bPloygonGridArray.length; | ||
| 318 | + | ||
| 319 | + for(int b = 0 ;b<bLen_;b++) { | ||
| 320 | + | ||
| 321 | + String tempArray[]= bPloygonGridArray[b].split(" "); | ||
| 322 | + | ||
| 323 | + Location resultPoint = FromBDPointToWGSPoint(tempArray[0],tempArray[1]); | ||
| 324 | + | ||
| 325 | + if(b==0) { | ||
| 326 | + | ||
| 327 | + gParkPoint = resultPoint.getLng() + " " + resultPoint.getLat(); | ||
| 328 | + | ||
| 329 | + }else { | ||
| 330 | + | ||
| 331 | + gParkPoint = gParkPoint + ',' + resultPoint.getLng() + " " + resultPoint.getLat(); | ||
| 332 | + | ||
| 333 | + } | ||
| 334 | + | ||
| 335 | + } | ||
| 336 | + | ||
| 337 | + } | ||
| 338 | + | ||
| 339 | + bParkPoint = "POLYGON((" + bParkPoint +"))"; | ||
| 340 | + | ||
| 341 | + gParkPoint = "POLYGON((" + gParkPoint +"))"; | ||
| 223 | 342 | ||
| 224 | // 编码 | 343 | // 编码 |
| 225 | String parkCode = map.get("parkCode").equals("") ? "" : map.get("parkCode").toString(); | 344 | String parkCode = map.get("parkCode").equals("") ? "" : map.get("parkCode").toString(); |
| @@ -267,5 +386,22 @@ public class CarParkServiceImpl extends BaseServiceImpl<CarPark, Integer> implem | @@ -267,5 +386,22 @@ public class CarParkServiceImpl extends BaseServiceImpl<CarPark, Integer> implem | ||
| 267 | 386 | ||
| 268 | return resultMap; | 387 | return resultMap; |
| 269 | } | 388 | } |
| 389 | + | ||
| 390 | + /** 百度坐标转WGS坐标 */ | ||
| 391 | + public Location FromBDPointToWGSPoint(String bLonx,String bLatx) { | ||
| 392 | + | ||
| 393 | + double lng = Double.parseDouble(bLonx); | ||
| 394 | + | ||
| 395 | + double lat = Double.parseDouble(bLatx); | ||
| 396 | + | ||
| 397 | + Location bdLoc = TransGPS.LocationMake(lng, lat); | ||
| 398 | + | ||
| 399 | + Location location = TransGPS.bd_decrypt(bdLoc); | ||
| 400 | + | ||
| 401 | + Location WGSPoint = TransGPS.transformFromGCJToWGS(location); | ||
| 402 | + | ||
| 403 | + return WGSPoint; | ||
| 404 | + | ||
| 405 | + } | ||
| 270 | 406 | ||
| 271 | } | 407 | } |
src/main/java/com/bsth/service/impl/SectionRouteServiceImpl.java
| @@ -8,7 +8,6 @@ import java.util.Map; | @@ -8,7 +8,6 @@ import java.util.Map; | ||
| 8 | import org.springframework.beans.factory.annotation.Autowired; | 8 | import org.springframework.beans.factory.annotation.Autowired; |
| 9 | import org.springframework.stereotype.Service; | 9 | import org.springframework.stereotype.Service; |
| 10 | 10 | ||
| 11 | -import com.bsth.common.ResponseCode; | ||
| 12 | import com.bsth.entity.SectionRoute; | 11 | import com.bsth.entity.SectionRoute; |
| 13 | import com.bsth.repository.SectionRouteRepository; | 12 | import com.bsth.repository.SectionRouteRepository; |
| 14 | import com.bsth.service.SectionRouteService; | 13 | import com.bsth.service.SectionRouteService; |
| @@ -191,4 +190,43 @@ public class SectionRouteServiceImpl extends BaseServiceImpl<SectionRoute, Integ | @@ -191,4 +190,43 @@ public class SectionRouteServiceImpl extends BaseServiceImpl<SectionRoute, Integ | ||
| 191 | return resultList; | 190 | return resultList; |
| 192 | } | 191 | } |
| 193 | 192 | ||
| 193 | + | ||
| 194 | + /** | ||
| 195 | + * @Description :TODO(查询线路某方向下的上一个路段序号) | ||
| 196 | + * | ||
| 197 | + * @param map <lineId:线路ID; direction:方向;sectionRouteCode:路段编码> | ||
| 198 | + * | ||
| 199 | + * @return List<Map<String, Object>> | ||
| 200 | + */ | ||
| 201 | + @Override | ||
| 202 | + public List<Map<String, Object>> findUpSectionRouteCode(Map<String, Object> map) { | ||
| 203 | + | ||
| 204 | + Integer lineId = map.get("lineId").equals("") ? null : Integer.parseInt(map.get("lineId").toString()); | ||
| 205 | + | ||
| 206 | + Integer direction = map.get("direction").equals("") ? null : Integer.parseInt(map.get("direction").toString()); | ||
| 207 | + | ||
| 208 | + Integer stationRouteCode = map.get("sectionRouteCode").equals("") ? null : Integer.parseInt(map.get("sectionRouteCode").toString()); | ||
| 209 | + | ||
| 210 | + List<Object[]> reslutList = repository.findUpSectionRouteCode(lineId, direction, stationRouteCode); | ||
| 211 | + | ||
| 212 | + List<Map<String, Object>> list = new ArrayList<Map<String,Object>>(); | ||
| 213 | + | ||
| 214 | + if(reslutList.get(0)!=null) { | ||
| 215 | + | ||
| 216 | + for(int i = 0 ; i <reslutList.size() ;i++){ | ||
| 217 | + | ||
| 218 | + Map<String, Object> tempM = new HashMap<String, Object>(); | ||
| 219 | + | ||
| 220 | + System.out.println(reslutList.get(i)); | ||
| 221 | + | ||
| 222 | + tempM.put("sectionrouteCode", reslutList.get(i)); | ||
| 223 | + | ||
| 224 | + list.add(tempM); | ||
| 225 | + | ||
| 226 | + } | ||
| 227 | + } | ||
| 228 | + | ||
| 229 | + return list; | ||
| 230 | + } | ||
| 231 | + | ||
| 194 | } | 232 | } |
src/main/java/com/bsth/service/impl/StationRouteServiceImpl.java
| @@ -282,6 +282,15 @@ public class StationRouteServiceImpl extends BaseServiceImpl<StationRoute, Integ | @@ -282,6 +282,15 @@ public class StationRouteServiceImpl extends BaseServiceImpl<StationRoute, Integ | ||
| 282 | // 限速 | 282 | // 限速 |
| 283 | tempM.put("sectionSpeedLimet",sectionList.get(i)[22]); | 283 | tempM.put("sectionSpeedLimet",sectionList.get(i)[22]); |
| 284 | 284 | ||
| 285 | + // 是否撤销 | ||
| 286 | + tempM.put("destroy",sectionList.get(i)[23]); | ||
| 287 | + | ||
| 288 | + // 版本号 | ||
| 289 | + tempM.put("versions",sectionList.get(i)[24]); | ||
| 290 | + | ||
| 291 | + // 说明 | ||
| 292 | + tempM.put("descriptions",sectionList.get(i)[25]); | ||
| 293 | + | ||
| 285 | tempM.put("name", sectionList.get(i)[9]); | 294 | tempM.put("name", sectionList.get(i)[9]); |
| 286 | 295 | ||
| 287 | tempM.put("text", sectionList.get(i)[9]); | 296 | tempM.put("text", sectionList.get(i)[9]); |
src/main/java/com/bsth/service/impl/StationServiceImpl.java
| @@ -822,11 +822,11 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem | @@ -822,11 +822,11 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem | ||
| 822 | 822 | ||
| 823 | if(b==0) { | 823 | if(b==0) { |
| 824 | 824 | ||
| 825 | - gPloygonGrid = resultPoint.getLng() + " " + resultPoint.getLat(); | 825 | + gPloygonGrid = String.valueOf(resultPoint.getLng()) + " " + String.valueOf(resultPoint.getLat()); |
| 826 | 826 | ||
| 827 | }else { | 827 | }else { |
| 828 | 828 | ||
| 829 | - gPloygonGrid = gPloygonGrid + ',' + resultPoint.getLng() + " " + resultPoint.getLat(); | 829 | + gPloygonGrid = gPloygonGrid + ',' + String.valueOf(resultPoint.getLng()) + " " + String.valueOf(resultPoint.getLat()); |
| 830 | 830 | ||
| 831 | } | 831 | } |
| 832 | 832 | ||
| @@ -896,6 +896,8 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem | @@ -896,6 +896,8 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem | ||
| 896 | // 线路 | 896 | // 线路 |
| 897 | arg0.setLine(resultLine); | 897 | arg0.setLine(resultLine); |
| 898 | 898 | ||
| 899 | + arg0.setLineCode(resultLine.getLineCode()); | ||
| 900 | + | ||
| 899 | // 站点 | 901 | // 站点 |
| 900 | arg0.setStation(station); | 902 | arg0.setStation(station); |
| 901 | 903 | ||
| @@ -984,9 +986,33 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem | @@ -984,9 +986,33 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem | ||
| 984 | String bJwpoints = map.get("bJwpoints").equals("") ? "" : map.get("bJwpoints").toString(); | 986 | String bJwpoints = map.get("bJwpoints").equals("") ? "" : map.get("bJwpoints").toString(); |
| 985 | 987 | ||
| 986 | // WGS经纬度坐标 | 988 | // WGS经纬度坐标 |
| 987 | - String gJwpoints = map.get("gJwpoints").equals("") ? "" : map.get("gJwpoints").toString(); | 989 | + // String gJwpoints = map.get("gJwpoints").equals("") ? "" : map.get("gJwpoints").toString(); |
| 990 | + | ||
| 991 | + String bJwpointsArray[] =null; | ||
| 992 | + | ||
| 993 | + if(bJwpoints!=null) { | ||
| 994 | + | ||
| 995 | + bJwpointsArray = bJwpoints.split(" "); | ||
| 996 | + | ||
| 997 | + } | ||
| 998 | + | ||
| 999 | + // WGS经纬度 | ||
| 1000 | + Float gLonx = null; | ||
| 1001 | + | ||
| 1002 | + // WGS纬度 | ||
| 1003 | + Float gLaty = null; | ||
| 988 | 1004 | ||
| 989 | - // 站点地理位置WGS坐标经度 | 1005 | + if(bJwpointsArray.length>0) { |
| 1006 | + | ||
| 1007 | + Location resultPoint = FromBDPointToWGSPoint(bJwpointsArray[0],bJwpointsArray[1]); | ||
| 1008 | + | ||
| 1009 | + gLonx = (float)resultPoint.getLng(); | ||
| 1010 | + | ||
| 1011 | + gLaty = (float)resultPoint.getLat(); | ||
| 1012 | + | ||
| 1013 | + } | ||
| 1014 | + | ||
| 1015 | + /*// 站点地理位置WGS坐标经度 | ||
| 990 | String gLonx = ""; | 1016 | String gLonx = ""; |
| 991 | 1017 | ||
| 992 | // 站点地理位置WGS坐标纬度 | 1018 | // 站点地理位置WGS坐标纬度 |
| @@ -1000,7 +1026,7 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem | @@ -1000,7 +1026,7 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem | ||
| 1000 | 1026 | ||
| 1001 | gLaty = gJwpointsArray[1]; | 1027 | gLaty = gJwpointsArray[1]; |
| 1002 | 1028 | ||
| 1003 | - } | 1029 | + }*/ |
| 1004 | 1030 | ||
| 1005 | // 图形类型 | 1031 | // 图形类型 |
| 1006 | String shapesType = map.get("shapesType").equals("") ? "" : map.get("shapesType").toString(); | 1032 | String shapesType = map.get("shapesType").equals("") ? "" : map.get("shapesType").toString(); |
| @@ -1009,10 +1035,43 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem | @@ -1009,10 +1035,43 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem | ||
| 1009 | Integer radius = map.get("radius").equals("") ? null : Integer.parseInt(map.get("radius").toString()); | 1035 | Integer radius = map.get("radius").equals("") ? null : Integer.parseInt(map.get("radius").toString()); |
| 1010 | 1036 | ||
| 1011 | // 多边形空间WGS坐标点集合 | 1037 | // 多边形空间WGS坐标点集合 |
| 1012 | - String gPolygonGrid = map.get("gPolygonGrid").equals("") ? "" : map.get("gPolygonGrid").toString(); | 1038 | + /*String gPolygonGrid = map.get("gPolygonGrid").equals("") ? "" : map.get("gPolygonGrid").toString();*/ |
| 1013 | 1039 | ||
| 1014 | // 多边形空间原坐标坐标点集合 | 1040 | // 多边形空间原坐标坐标点集合 |
| 1015 | - String bPolygonGrid = map.get("bPolygonGrid").equals("") ? "" : map.get("bPolygonGrid").toString(); | 1041 | + String bPloygonGrid = map.get("bPolygonGrid").equals("") ? "" : map.get("bPolygonGrid").toString(); |
| 1042 | + | ||
| 1043 | + // 多边形WGS坐标点集合 | ||
| 1044 | + String gPloygonGrid =""; | ||
| 1045 | + | ||
| 1046 | + if(!bPloygonGrid.equals("")) { | ||
| 1047 | + | ||
| 1048 | + String bPloygonGridArray[] = bPloygonGrid.split(","); | ||
| 1049 | + | ||
| 1050 | + int bLen_ = bPloygonGridArray.length; | ||
| 1051 | + | ||
| 1052 | + for(int b = 0 ;b<bLen_;b++) { | ||
| 1053 | + | ||
| 1054 | + String tempArray[]= bPloygonGridArray[b].split(" "); | ||
| 1055 | + | ||
| 1056 | + Location resultPoint = FromBDPointToWGSPoint(tempArray[0],tempArray[1]); | ||
| 1057 | + | ||
| 1058 | + if(b==0) { | ||
| 1059 | + | ||
| 1060 | + gPloygonGrid = resultPoint.getLng() + " " + resultPoint.getLat(); | ||
| 1061 | + | ||
| 1062 | + }else { | ||
| 1063 | + | ||
| 1064 | + gPloygonGrid = gPloygonGrid + ',' + resultPoint.getLng() + " " + resultPoint.getLat(); | ||
| 1065 | + | ||
| 1066 | + } | ||
| 1067 | + | ||
| 1068 | + } | ||
| 1069 | + | ||
| 1070 | + } | ||
| 1071 | + | ||
| 1072 | + bPloygonGrid = "POLYGON((" + bPloygonGrid +"))"; | ||
| 1073 | + | ||
| 1074 | + gPloygonGrid = "POLYGON((" + gPloygonGrid +"))"; | ||
| 1016 | 1075 | ||
| 1017 | // 是否撤销 | 1076 | // 是否撤销 |
| 1018 | Integer destroy = map.get("destroy").equals("") ? null : Integer.parseInt(map.get("destroy").toString()); | 1077 | Integer destroy = map.get("destroy").equals("") ? null : Integer.parseInt(map.get("destroy").toString()); |
| @@ -1028,7 +1087,8 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem | @@ -1028,7 +1087,8 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem | ||
| 1028 | Float y = map.get("y").equals("") ? null : Float.parseFloat(map.get("y").toString()); | 1087 | Float y = map.get("y").equals("") ? null : Float.parseFloat(map.get("y").toString()); |
| 1029 | 1088 | ||
| 1030 | // 更新 | 1089 | // 更新 |
| 1031 | - repository.stationUpdate(stationCod, stationName, roadCoding, dbType, bJwpoints, gLonx, gLaty, x, y, bPolygonGrid, gPolygonGrid, destroy, radius, shapesType, versions, descriptions, stationId); | 1090 | + repository.stationUpdate(stationCod, stationName, roadCoding, dbType, bJwpoints, gLonx, gLaty, x, y, bPloygonGrid, gPloygonGrid, destroy, radius, shapesType, versions, descriptions, stationId); |
| 1091 | + | ||
| 1032 | 1092 | ||
| 1033 | // 站点路由Id | 1093 | // 站点路由Id |
| 1034 | Integer stationRouteId = map.get("stationRouteId").equals("") ? null : Integer.parseInt(map.get("stationRouteId").toString()); | 1094 | Integer stationRouteId = map.get("stationRouteId").equals("") ? null : Integer.parseInt(map.get("stationRouteId").toString()); |
src/main/java/com/bsth/service/schedule/ScheduleRule1FlatService.java
0 → 100644
src/main/java/com/bsth/service/schedule/ScheduleRule1FlatServiceImpl.java
0 → 100644
| 1 | +package com.bsth.service.schedule; | ||
| 2 | + | ||
| 3 | +import com.bsth.entity.schedule.rule.ScheduleRule1Flat; | ||
| 4 | +import com.bsth.service.impl.BaseServiceImpl; | ||
| 5 | +import org.springframework.stereotype.Service; | ||
| 6 | + | ||
| 7 | +/** | ||
| 8 | + * Created by xu on 16/7/4. | ||
| 9 | + */ | ||
| 10 | +@Service | ||
| 11 | +public class ScheduleRule1FlatServiceImpl extends BaseServiceImpl<ScheduleRule1Flat, Long> implements ScheduleRule1FlatService { | ||
| 12 | +} |
src/main/java/com/bsth/service/schedule/TTInfoDetailService.java
0 → 100644
src/main/java/com/bsth/service/schedule/TTInfoDetailServiceImpl.java
0 → 100644
| 1 | +package com.bsth.service.schedule; | ||
| 2 | + | ||
| 3 | +import com.bsth.entity.schedule.TTInfoDetail; | ||
| 4 | +import com.bsth.service.impl.BaseServiceImpl; | ||
| 5 | +import com.bsth.service.schedule.utils.DataImportExportService; | ||
| 6 | +import com.bsth.service.schedule.utils.DataToolsProperties; | ||
| 7 | +import jxl.Sheet; | ||
| 8 | +import jxl.Workbook; | ||
| 9 | +import org.apache.commons.lang3.StringUtils; | ||
| 10 | +import org.pentaho.di.trans.Trans; | ||
| 11 | +import org.pentaho.di.trans.TransMeta; | ||
| 12 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 13 | +import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||
| 14 | +import org.springframework.stereotype.Service; | ||
| 15 | +import org.springframework.web.multipart.MultipartFile; | ||
| 16 | + | ||
| 17 | +import java.io.File; | ||
| 18 | +import java.util.ArrayList; | ||
| 19 | +import java.util.List; | ||
| 20 | + | ||
| 21 | +/** | ||
| 22 | + * Created by xu on 16/7/2. | ||
| 23 | + */ | ||
| 24 | +@Service | ||
| 25 | +@EnableConfigurationProperties(DataToolsProperties.class) | ||
| 26 | +public class TTInfoDetailServiceImpl extends BaseServiceImpl<TTInfoDetail, Long> implements TTInfoDetailService { | ||
| 27 | + @Autowired | ||
| 28 | + private DataImportExportService dataImportExportService; | ||
| 29 | + @Autowired | ||
| 30 | + private DataToolsProperties dataToolsProperties; | ||
| 31 | + | ||
| 32 | + /** | ||
| 33 | + * 上传并导入数据,和DataImportExportService的同名方法有差别。 | ||
| 34 | + * @param datafile form上传文件 | ||
| 35 | + * @param xlmc 线路名称 | ||
| 36 | + * @param ttinfoname 时刻表名字 | ||
| 37 | + * @param tccname 停车场名字 | ||
| 38 | + * @throws Exception | ||
| 39 | + */ | ||
| 40 | + public void fileDataImport(MultipartFile datafile, | ||
| 41 | + String xlmc, | ||
| 42 | + String ttinfoname, | ||
| 43 | + String tccname) throws Exception { | ||
| 44 | + // 1、上传数据文件 | ||
| 45 | + File uploadFile = dataImportExportService.uploadFile(datafile); | ||
| 46 | + | ||
| 47 | + System.out.println("线路名称:" + xlmc); | ||
| 48 | + System.out.println("时刻表名称:" + ttinfoname); | ||
| 49 | + System.out.println("停车场名字:" + tccname); | ||
| 50 | + System.out.println("时刻表明细上传文件:" + uploadFile); | ||
| 51 | + | ||
| 52 | + // 2、jexcelapi读取excel文件 | ||
| 53 | + Workbook book = Workbook.getWorkbook(uploadFile); | ||
| 54 | + Sheet sheet = book.getSheet(0); | ||
| 55 | + List<String> columnames = new ArrayList<>(); | ||
| 56 | + for (int i = 0; i < sheet.getColumns(); i++) { // 获取第一行,数据,作为列名 | ||
| 57 | + columnames.add(sheet.getCell(i, 0).getContents()); | ||
| 58 | + } | ||
| 59 | + | ||
| 60 | + System.out.println("表头1:" + StringUtils.join(columnames.toArray(), ",")); | ||
| 61 | + | ||
| 62 | + // 2、使用kettle运行封装数据导入逻辑的ktr转换文件 | ||
| 63 | + // 2.1、初始化kettle(组件初始化已经做了) | ||
| 64 | + // 2.2、创建转换元数据,转换 | ||
| 65 | + File ktrFile = new File(this.getClass().getResource( | ||
| 66 | + dataToolsProperties.getTtinfodetailMetadatainputktr()).toURI()); | ||
| 67 | + File ktrFile2 = new File(this.getClass().getResource( | ||
| 68 | + dataToolsProperties.getTtinfodetailDatainputktr()).toURI()); | ||
| 69 | + TransMeta transMeta = new TransMeta(ktrFile.getAbsolutePath()); | ||
| 70 | + Trans trans = new Trans(transMeta); | ||
| 71 | + // 2.3、设定命名参数,用于指定数据文件,注意每个ktr必须都有以下指定的命名参数 | ||
| 72 | + trans.setParameterValue("injectktrfile", ktrFile2.getAbsolutePath()); // 注入元数据的ktr文件 | ||
| 73 | + trans.setParameterValue("filepath", uploadFile.getAbsolutePath()); // 指定导入数据文件的位置 | ||
| 74 | + trans.setParameterValue("erroroutputdir", dataToolsProperties.getTransErrordir()); // ktr转换错误输出目录 | ||
| 75 | + trans.setParameterValue("xlname", xlmc); // 线路名称 | ||
| 76 | + trans.setParameterValue("ttinfoname", ttinfoname); // 时刻表名称 | ||
| 77 | + trans.setParameterValue("tccname", tccname); // 停车场名字 | ||
| 78 | + trans.setParameterValue("excelfieldnames", StringUtils.join(columnames.toArray(), ",")); // 时刻表excel输入字段名,以逗号连接 | ||
| 79 | + columnames.remove(0); | ||
| 80 | + trans.setParameterValue("normalizefieldnames", StringUtils.join(columnames.toArray(), ",")); // 数据范式化字段名,以逗号连接 | ||
| 81 | + | ||
| 82 | + // TODO:可以考虑设定日志输出 | ||
| 83 | + // 2.4、执行转换 | ||
| 84 | + trans.execute(null); | ||
| 85 | + // 2.5、等待转换结束 | ||
| 86 | + trans.waitUntilFinished(); | ||
| 87 | + | ||
| 88 | + // 3、判定ktr错误数,注意这种错误代表部分数据错误,不会终止转换执行,一般设计ktr的时候,会有错误输出文件,TODO:以后考虑使用日志实时输出 | ||
| 89 | + if (trans.getErrors() > 0) { | ||
| 90 | + throw new Exception("转换数据部分错误,请查看相关错误输出文件!"); | ||
| 91 | + } | ||
| 92 | + } | ||
| 93 | +} |
src/main/java/com/bsth/service/schedule/utils/DataImportExportServiceImpl.java
| 1 | package com.bsth.service.schedule.utils; | 1 | package com.bsth.service.schedule.utils; |
| 2 | 2 | ||
| 3 | import com.google.common.io.Files; | 3 | import com.google.common.io.Files; |
| 4 | -import org.pentaho.di.core.KettleEnvironment; | ||
| 5 | -import org.pentaho.di.core.util.EnvUtil; | ||
| 6 | import org.pentaho.di.trans.Trans; | 4 | import org.pentaho.di.trans.Trans; |
| 7 | import org.pentaho.di.trans.TransMeta; | 5 | import org.pentaho.di.trans.TransMeta; |
| 6 | +import org.springframework.beans.factory.InitializingBean; | ||
| 8 | import org.springframework.beans.factory.annotation.Autowired; | 7 | import org.springframework.beans.factory.annotation.Autowired; |
| 9 | import org.springframework.boot.context.properties.EnableConfigurationProperties; | 8 | import org.springframework.boot.context.properties.EnableConfigurationProperties; |
| 10 | import org.springframework.stereotype.Service; | 9 | import org.springframework.stereotype.Service; |
| @@ -17,18 +16,33 @@ import java.io.File; | @@ -17,18 +16,33 @@ import java.io.File; | ||
| 17 | */ | 16 | */ |
| 18 | @Service | 17 | @Service |
| 19 | @EnableConfigurationProperties(DataToolsProperties.class) | 18 | @EnableConfigurationProperties(DataToolsProperties.class) |
| 20 | -public class DataImportExportServiceImpl implements DataImportExportService { | 19 | +public class DataImportExportServiceImpl implements DataImportExportService, InitializingBean { |
| 21 | 20 | ||
| 22 | @Autowired | 21 | @Autowired |
| 23 | private DataToolsProperties dataToolsProperties; | 22 | private DataToolsProperties dataToolsProperties; |
| 24 | 23 | ||
| 25 | @Override | 24 | @Override |
| 25 | + public void afterPropertiesSet() throws Exception { | ||
| 26 | + // TODO:有可能会报错,待会儿再改 | ||
| 27 | +// // 初始化kettle环境 | ||
| 28 | +// EnvUtil.environmentInit(); | ||
| 29 | +// // 添加全局ktr变量,并覆盖原来的设置 | ||
| 30 | +// Map<String, String> kvars = new HashMap<>(); | ||
| 31 | +// kvars.put("v_db_ip", dataToolsProperties.getKvarsDbip()); | ||
| 32 | +// kvars.put("v_db_uname", dataToolsProperties.getKvarsDbuname()); | ||
| 33 | +// kvars.put("v_db_pwd", dataToolsProperties.getKvarsDbpwd()); | ||
| 34 | +// EnvUtil.applyKettleProperties(kvars, true); | ||
| 35 | +// KettleEnvironment.init(); | ||
| 36 | + } | ||
| 37 | + | ||
| 38 | + @Override | ||
| 26 | public File uploadFile(MultipartFile file) throws Exception { | 39 | public File uploadFile(MultipartFile file) throws Exception { |
| 27 | // TODO:以后的文件名要加时间戳 | 40 | // TODO:以后的文件名要加时间戳 |
| 28 | File newFile = new File( | 41 | File newFile = new File( |
| 29 | dataToolsProperties.getFileuploadDir() + File.separator + | 42 | dataToolsProperties.getFileuploadDir() + File.separator + |
| 30 | file.getOriginalFilename()); | 43 | file.getOriginalFilename()); |
| 31 | Files.write(file.getBytes(), newFile); | 44 | Files.write(file.getBytes(), newFile); |
| 45 | + | ||
| 32 | return newFile; | 46 | return newFile; |
| 33 | } | 47 | } |
| 34 | 48 | ||
| @@ -38,9 +52,7 @@ public class DataImportExportServiceImpl implements DataImportExportService { | @@ -38,9 +52,7 @@ public class DataImportExportServiceImpl implements DataImportExportService { | ||
| 38 | File uploadFile = uploadFile(datafile); | 52 | File uploadFile = uploadFile(datafile); |
| 39 | 53 | ||
| 40 | // 2、使用kettle运行封装数据导入逻辑的ktr转换文件 | 54 | // 2、使用kettle运行封装数据导入逻辑的ktr转换文件 |
| 41 | - // 2.1、初始化kettle | ||
| 42 | - EnvUtil.environmentInit(); | ||
| 43 | - KettleEnvironment.init(); | 55 | + // 2.1、初始化kettle(组件初始化已经做了) |
| 44 | // 2.2、创建转换元数据,转换 | 56 | // 2.2、创建转换元数据,转换 |
| 45 | TransMeta transMeta = new TransMeta(ktrFile.getAbsolutePath()); | 57 | TransMeta transMeta = new TransMeta(ktrFile.getAbsolutePath()); |
| 46 | Trans trans = new Trans(transMeta); | 58 | Trans trans = new Trans(transMeta); |
src/main/java/com/bsth/service/schedule/utils/DataToolsProperties.java
| 1 | -package com.bsth.service.schedule.utils; | ||
| 2 | - | ||
| 3 | -import org.springframework.boot.context.properties.ConfigurationProperties; | ||
| 4 | - | ||
| 5 | -import javax.validation.constraints.NotNull; | ||
| 6 | - | ||
| 7 | -/** | ||
| 8 | - * 配置数据导入导出用到的配置信息 | ||
| 9 | - */ | ||
| 10 | -@ConfigurationProperties( | ||
| 11 | - locations = "classpath:datatools/config.properties", | ||
| 12 | - ignoreInvalidFields = true, | ||
| 13 | - prefix = "datatools" | ||
| 14 | -) | ||
| 15 | -public class DataToolsProperties { | ||
| 16 | - | ||
| 17 | - /** 上传文件目录配置(根据不同的环境需要修正) */ | ||
| 18 | - @NotNull | ||
| 19 | - private String fileuploadDir; | ||
| 20 | - | ||
| 21 | - /** ktr转换文件,中配置的错误输出目录(根据不同的环境需要修正) */ | ||
| 22 | - @NotNull | ||
| 23 | - private String transErrordir; | ||
| 24 | - | ||
| 25 | - /** 测试temp的ktr转换文件 */ | ||
| 26 | - @NotNull | ||
| 27 | - private String tempDatainputktr; | ||
| 28 | - /** 车辆信息导入ktr转换 */ | ||
| 29 | - @NotNull | ||
| 30 | - private String carsDatainputktr; | ||
| 31 | - /** 人员信息导入ktr转换 */ | ||
| 32 | - @NotNull | ||
| 33 | - private String employeesDatainputktr; | ||
| 34 | - /** 车辆配置信息导入 */ | ||
| 35 | - @NotNull | ||
| 36 | - private String carsconfigDatainputktr; | ||
| 37 | - /** 人员配置信息导入 */ | ||
| 38 | - @NotNull | ||
| 39 | - private String employeesconfigDatainputktr; | ||
| 40 | - /** 路牌信息导入 */ | ||
| 41 | - @NotNull | ||
| 42 | - private String guideboardsDatainputktr; | ||
| 43 | - /** 时刻表基础信息导入 */ | ||
| 44 | - @NotNull | ||
| 45 | - private String ttinfoDatainputktr; | ||
| 46 | - | ||
| 47 | - // TODO: | ||
| 48 | - | ||
| 49 | - public String getFileuploadDir() { | ||
| 50 | - return fileuploadDir; | ||
| 51 | - } | ||
| 52 | - | ||
| 53 | - public void setFileuploadDir(String fileuploadDir) { | ||
| 54 | - this.fileuploadDir = fileuploadDir; | ||
| 55 | - } | ||
| 56 | - | ||
| 57 | - public String getTransErrordir() { | ||
| 58 | - return transErrordir; | ||
| 59 | - } | ||
| 60 | - | ||
| 61 | - public void setTransErrordir(String transErrordir) { | ||
| 62 | - this.transErrordir = transErrordir; | ||
| 63 | - } | ||
| 64 | - | ||
| 65 | - public String getTempDatainputktr() { | ||
| 66 | - return tempDatainputktr; | ||
| 67 | - } | ||
| 68 | - | ||
| 69 | - public void setTempDatainputktr(String tempDatainputktr) { | ||
| 70 | - this.tempDatainputktr = tempDatainputktr; | ||
| 71 | - } | ||
| 72 | - | ||
| 73 | - public String getCarsDatainputktr() { | ||
| 74 | - return carsDatainputktr; | ||
| 75 | - } | ||
| 76 | - | ||
| 77 | - public void setCarsDatainputktr(String carsDatainputktr) { | ||
| 78 | - this.carsDatainputktr = carsDatainputktr; | ||
| 79 | - } | ||
| 80 | - | ||
| 81 | - public String getEmployeesDatainputktr() { | ||
| 82 | - return employeesDatainputktr; | ||
| 83 | - } | ||
| 84 | - | ||
| 85 | - public void setEmployeesDatainputktr(String employeesDatainputktr) { | ||
| 86 | - this.employeesDatainputktr = employeesDatainputktr; | ||
| 87 | - } | ||
| 88 | - | ||
| 89 | - public String getCarsconfigDatainputktr() { | ||
| 90 | - return carsconfigDatainputktr; | ||
| 91 | - } | ||
| 92 | - | ||
| 93 | - public void setCarsconfigDatainputktr(String carsconfigDatainputktr) { | ||
| 94 | - this.carsconfigDatainputktr = carsconfigDatainputktr; | ||
| 95 | - } | ||
| 96 | - | ||
| 97 | - public String getEmployeesconfigDatainputktr() { | ||
| 98 | - return employeesconfigDatainputktr; | ||
| 99 | - } | ||
| 100 | - | ||
| 101 | - public void setEmployeesconfigDatainputktr(String employeesconfigDatainputktr) { | ||
| 102 | - this.employeesconfigDatainputktr = employeesconfigDatainputktr; | ||
| 103 | - } | ||
| 104 | - | ||
| 105 | - public String getGuideboardsDatainputktr() { | ||
| 106 | - return guideboardsDatainputktr; | ||
| 107 | - } | ||
| 108 | - | ||
| 109 | - public void setGuideboardsDatainputktr(String guideboardsDatainputktr) { | ||
| 110 | - this.guideboardsDatainputktr = guideboardsDatainputktr; | ||
| 111 | - } | ||
| 112 | - | ||
| 113 | - public String getTtinfoDatainputktr() { | ||
| 114 | - return ttinfoDatainputktr; | ||
| 115 | - } | ||
| 116 | - | ||
| 117 | - public void setTtinfoDatainputktr(String ttinfoDatainputktr) { | ||
| 118 | - this.ttinfoDatainputktr = ttinfoDatainputktr; | ||
| 119 | - } | ||
| 120 | -} | 1 | +package com.bsth.service.schedule.utils; |
| 2 | + | ||
| 3 | +import org.springframework.boot.context.properties.ConfigurationProperties; | ||
| 4 | + | ||
| 5 | +import javax.validation.constraints.NotNull; | ||
| 6 | + | ||
| 7 | +/** | ||
| 8 | + * 配置数据导入导出用到的配置信息 | ||
| 9 | + */ | ||
| 10 | +@ConfigurationProperties( | ||
| 11 | + locations = "classpath:datatools/config.properties", | ||
| 12 | + ignoreInvalidFields = true, | ||
| 13 | + prefix = "datatools" | ||
| 14 | +) | ||
| 15 | +public class DataToolsProperties { | ||
| 16 | + | ||
| 17 | + /** 上传文件目录配置(根据不同的环境需要修正) */ | ||
| 18 | + @NotNull | ||
| 19 | + private String fileuploadDir; | ||
| 20 | + | ||
| 21 | + /** ktr转换文件,中配置的错误输出目录(根据不同的环境需要修正) */ | ||
| 22 | + @NotNull | ||
| 23 | + private String transErrordir; | ||
| 24 | + | ||
| 25 | + /** ktr通用变量-数据库ip地址 */ | ||
| 26 | + @NotNull | ||
| 27 | + private String kvarsDbip; | ||
| 28 | + /** ktr通用变量-数据库用户名 */ | ||
| 29 | + @NotNull | ||
| 30 | + private String kvarsDbuname; | ||
| 31 | + /** ktr通用变量-数据库密码 */ | ||
| 32 | + @NotNull | ||
| 33 | + private String kvarsDbpwd; | ||
| 34 | + | ||
| 35 | + /** 测试temp的ktr转换文件 */ | ||
| 36 | + @NotNull | ||
| 37 | + private String tempDatainputktr; | ||
| 38 | + /** 车辆信息导入ktr转换 */ | ||
| 39 | + @NotNull | ||
| 40 | + private String carsDatainputktr; | ||
| 41 | + /** 人员信息导入ktr转换 */ | ||
| 42 | + @NotNull | ||
| 43 | + private String employeesDatainputktr; | ||
| 44 | + /** 车辆配置信息导入 */ | ||
| 45 | + @NotNull | ||
| 46 | + private String carsconfigDatainputktr; | ||
| 47 | + /** 人员配置信息导入 */ | ||
| 48 | + @NotNull | ||
| 49 | + private String employeesconfigDatainputktr; | ||
| 50 | + /** 路牌信息导入 */ | ||
| 51 | + @NotNull | ||
| 52 | + private String guideboardsDatainputktr; | ||
| 53 | + /** 时刻表基础信息导入 */ | ||
| 54 | + @NotNull | ||
| 55 | + private String ttinfoDatainputktr; | ||
| 56 | + /** 时刻表明细信息导入(元数据) */ | ||
| 57 | + @NotNull | ||
| 58 | + private String ttinfodetailMetadatainputktr; | ||
| 59 | + /** 时刻表明细信息导入 */ | ||
| 60 | + @NotNull | ||
| 61 | + private String ttinfodetailDatainputktr; | ||
| 62 | + | ||
| 63 | + // TODO: | ||
| 64 | + | ||
| 65 | + public String getFileuploadDir() { | ||
| 66 | + return fileuploadDir; | ||
| 67 | + } | ||
| 68 | + | ||
| 69 | + public void setFileuploadDir(String fileuploadDir) { | ||
| 70 | + this.fileuploadDir = fileuploadDir; | ||
| 71 | + } | ||
| 72 | + | ||
| 73 | + public String getTransErrordir() { | ||
| 74 | + return transErrordir; | ||
| 75 | + } | ||
| 76 | + | ||
| 77 | + public void setTransErrordir(String transErrordir) { | ||
| 78 | + this.transErrordir = transErrordir; | ||
| 79 | + } | ||
| 80 | + | ||
| 81 | + public String getTempDatainputktr() { | ||
| 82 | + return tempDatainputktr; | ||
| 83 | + } | ||
| 84 | + | ||
| 85 | + public void setTempDatainputktr(String tempDatainputktr) { | ||
| 86 | + this.tempDatainputktr = tempDatainputktr; | ||
| 87 | + } | ||
| 88 | + | ||
| 89 | + public String getCarsDatainputktr() { | ||
| 90 | + return carsDatainputktr; | ||
| 91 | + } | ||
| 92 | + | ||
| 93 | + public String getTtinfodetailMetadatainputktr() { | ||
| 94 | + return ttinfodetailMetadatainputktr; | ||
| 95 | + } | ||
| 96 | + | ||
| 97 | + public void setTtinfodetailMetadatainputktr(String ttinfodetailMetadatainputktr) { | ||
| 98 | + this.ttinfodetailMetadatainputktr = ttinfodetailMetadatainputktr; | ||
| 99 | + } | ||
| 100 | + | ||
| 101 | + public void setCarsDatainputktr(String carsDatainputktr) { | ||
| 102 | + this.carsDatainputktr = carsDatainputktr; | ||
| 103 | + } | ||
| 104 | + | ||
| 105 | + public String getEmployeesDatainputktr() { | ||
| 106 | + return employeesDatainputktr; | ||
| 107 | + } | ||
| 108 | + | ||
| 109 | + public void setEmployeesDatainputktr(String employeesDatainputktr) { | ||
| 110 | + this.employeesDatainputktr = employeesDatainputktr; | ||
| 111 | + } | ||
| 112 | + | ||
| 113 | + public String getCarsconfigDatainputktr() { | ||
| 114 | + return carsconfigDatainputktr; | ||
| 115 | + } | ||
| 116 | + | ||
| 117 | + public void setCarsconfigDatainputktr(String carsconfigDatainputktr) { | ||
| 118 | + this.carsconfigDatainputktr = carsconfigDatainputktr; | ||
| 119 | + } | ||
| 120 | + | ||
| 121 | + public String getEmployeesconfigDatainputktr() { | ||
| 122 | + return employeesconfigDatainputktr; | ||
| 123 | + } | ||
| 124 | + | ||
| 125 | + public void setEmployeesconfigDatainputktr(String employeesconfigDatainputktr) { | ||
| 126 | + this.employeesconfigDatainputktr = employeesconfigDatainputktr; | ||
| 127 | + } | ||
| 128 | + | ||
| 129 | + public String getGuideboardsDatainputktr() { | ||
| 130 | + return guideboardsDatainputktr; | ||
| 131 | + } | ||
| 132 | + | ||
| 133 | + public void setGuideboardsDatainputktr(String guideboardsDatainputktr) { | ||
| 134 | + this.guideboardsDatainputktr = guideboardsDatainputktr; | ||
| 135 | + } | ||
| 136 | + | ||
| 137 | + public String getTtinfoDatainputktr() { | ||
| 138 | + return ttinfoDatainputktr; | ||
| 139 | + } | ||
| 140 | + | ||
| 141 | + public String getKvarsDbip() { | ||
| 142 | + return kvarsDbip; | ||
| 143 | + } | ||
| 144 | + | ||
| 145 | + public void setKvarsDbip(String kvarsDbip) { | ||
| 146 | + this.kvarsDbip = kvarsDbip; | ||
| 147 | + } | ||
| 148 | + | ||
| 149 | + public String getKvarsDbuname() { | ||
| 150 | + return kvarsDbuname; | ||
| 151 | + } | ||
| 152 | + | ||
| 153 | + public void setKvarsDbuname(String kvarsDbuname) { | ||
| 154 | + this.kvarsDbuname = kvarsDbuname; | ||
| 155 | + } | ||
| 156 | + | ||
| 157 | + public String getKvarsDbpwd() { | ||
| 158 | + return kvarsDbpwd; | ||
| 159 | + } | ||
| 160 | + | ||
| 161 | + public void setKvarsDbpwd(String kvarsDbpwd) { | ||
| 162 | + this.kvarsDbpwd = kvarsDbpwd; | ||
| 163 | + } | ||
| 164 | + | ||
| 165 | + public void setTtinfoDatainputktr(String ttinfoDatainputktr) { | ||
| 166 | + this.ttinfoDatainputktr = ttinfoDatainputktr; | ||
| 167 | + } | ||
| 168 | + | ||
| 169 | + public String getTtinfodetailDatainputktr() { | ||
| 170 | + return ttinfodetailDatainputktr; | ||
| 171 | + } | ||
| 172 | + | ||
| 173 | + public void setTtinfodetailDatainputktr(String ttinfodetailDatainputktr) { | ||
| 174 | + this.ttinfodetailDatainputktr = ttinfodetailDatainputktr; | ||
| 175 | + } | ||
| 176 | +} |
src/main/java/com/bsth/util/Test.java
0 → 100644
| 1 | +package com.bsth.util; | ||
| 2 | + | ||
| 3 | +import java.io.File; | ||
| 4 | +import java.io.FileInputStream; | ||
| 5 | +import java.io.FileNotFoundException; | ||
| 6 | +import java.io.FileOutputStream; | ||
| 7 | +import java.io.IOException; | ||
| 8 | +import java.util.zip.GZIPOutputStream; | ||
| 9 | + | ||
| 10 | +import org.apache.commons.compress.archivers.tar.TarArchiveEntry; | ||
| 11 | +import org.apache.commons.compress.archivers.tar.TarArchiveOutputStream; | ||
| 12 | +import org.apache.commons.compress.utils.IOUtils; | ||
| 13 | + | ||
| 14 | +public class Test { | ||
| 15 | + | ||
| 16 | + | ||
| 17 | + /** | ||
| 18 | + * | ||
| 19 | + * @Title: pack | ||
| 20 | + * @Description: 将一组文件打成tar包 | ||
| 21 | + * @param sources 要打包的原文件数组 | ||
| 22 | + * @param target 打包后的文件 | ||
| 23 | + * @return File 返回打包后的文件 | ||
| 24 | + * @throws | ||
| 25 | + */ | ||
| 26 | + public static File pack(File[] sources, File target){ | ||
| 27 | + FileOutputStream out = null; | ||
| 28 | + try { | ||
| 29 | + out = new FileOutputStream(target); | ||
| 30 | + } catch (FileNotFoundException e1) { | ||
| 31 | + e1.printStackTrace(); | ||
| 32 | + } | ||
| 33 | + TarArchiveOutputStream os = new TarArchiveOutputStream(out); | ||
| 34 | + for (File file : sources) { | ||
| 35 | + try { | ||
| 36 | + os.putArchiveEntry(new TarArchiveEntry(file)); | ||
| 37 | + IOUtils.copy(new FileInputStream(file), os); | ||
| 38 | + os.closeArchiveEntry(); | ||
| 39 | + | ||
| 40 | + } catch (FileNotFoundException e) { | ||
| 41 | + e.printStackTrace(); | ||
| 42 | + } catch (IOException e) { | ||
| 43 | + e.printStackTrace(); | ||
| 44 | + } | ||
| 45 | + } | ||
| 46 | + if(os != null) { | ||
| 47 | + try { | ||
| 48 | + os.flush(); | ||
| 49 | + os.close(); | ||
| 50 | + } catch (IOException e) { | ||
| 51 | + e.printStackTrace(); | ||
| 52 | + } | ||
| 53 | + } | ||
| 54 | + | ||
| 55 | + return target; | ||
| 56 | + } | ||
| 57 | + | ||
| 58 | + /** | ||
| 59 | + * | ||
| 60 | + * @Title: compress | ||
| 61 | + * @Description: 将文件用gzip压缩 | ||
| 62 | + * @param source 需要压缩的文件 | ||
| 63 | + * @return File 返回压缩后的文件 | ||
| 64 | + * @throws | ||
| 65 | + */ | ||
| 66 | + public static File compress(File source) { | ||
| 67 | + File target = new File(source.getName() + ".gz"); | ||
| 68 | + FileInputStream in = null; | ||
| 69 | + GZIPOutputStream out = null; | ||
| 70 | + try { | ||
| 71 | + in = new FileInputStream(source); | ||
| 72 | + out = new GZIPOutputStream(new FileOutputStream(target)); | ||
| 73 | + byte[] array = new byte[1024]; | ||
| 74 | + int number = -1; | ||
| 75 | + while((number = in.read(array, 0, array.length)) != -1) { | ||
| 76 | + out.write(array, 0, number); | ||
| 77 | + } | ||
| 78 | + } catch (FileNotFoundException e) { | ||
| 79 | + e.printStackTrace(); | ||
| 80 | + return null; | ||
| 81 | + } catch (IOException e) { | ||
| 82 | + e.printStackTrace(); | ||
| 83 | + return null; | ||
| 84 | + } finally { | ||
| 85 | + if(in != null) { | ||
| 86 | + try { | ||
| 87 | + in.close(); | ||
| 88 | + } catch (IOException e) { | ||
| 89 | + e.printStackTrace(); | ||
| 90 | + return null; | ||
| 91 | + } | ||
| 92 | + } | ||
| 93 | + | ||
| 94 | + if(out != null) { | ||
| 95 | + try { | ||
| 96 | + out.close(); | ||
| 97 | + } catch (IOException e) { | ||
| 98 | + e.printStackTrace(); | ||
| 99 | + return null; | ||
| 100 | + } | ||
| 101 | + } | ||
| 102 | + } | ||
| 103 | + return target; | ||
| 104 | + } | ||
| 105 | + | ||
| 106 | + public static void main(String[] args) { | ||
| 107 | + File[] sources = new File[] {new File("D:/test.txt"), new File("D:/test1.txt")}; | ||
| 108 | + File target = new File("release_package.tar"); | ||
| 109 | + File gzFile = compress(pack(sources, target)); | ||
| 110 | + } | ||
| 111 | +} |
src/main/resources/datatools/config.properties
| 1 | -# 配置数据导入导出用到的配置信息 | ||
| 2 | - | ||
| 3 | -# 上传文件目录配置(根据不同的环境需要修正) | ||
| 4 | -datatools.fileupload_dir=/Users/xu/resource/project/bsth_control_u_d_files | ||
| 5 | -# ktr转换文件,中配置的错误输出目录(根据不同的环境需要修正) | ||
| 6 | -datatools.trans_errordir=/Users/xu/resource/project/bsth_control_u_d_files/erroroutput | ||
| 7 | - | ||
| 8 | -# 以下是封装数据导入导出逻辑的ktr转换文件,类路径,以后考虑放到数据库中 | ||
| 9 | -# 测试temp的ktr转换文件 | ||
| 10 | -datatools.temp_datainputktr=/datatools/ktrs/test.ktr | ||
| 11 | -# 车辆信息导入ktr转换 | ||
| 12 | -datatools.cars_datainputktr=/datatools/ktrs/carsDataInput.ktr | ||
| 13 | -# 人员信息导入 | ||
| 14 | -datatools.employees_datainputktr=/datatools/ktrs/employeesDataInput.ktr | ||
| 15 | -# 路牌信息导入 | ||
| 16 | -datatools.guideboards_datainputktr=/datatools/ktrs/guideboardDataInput.ktr | ||
| 17 | -# 时刻表基础信息导入 | ||
| 18 | -datatools.ttinfo_datainputktr=/datatools/ktrs/ttinfoDataInput.ktr | ||
| 19 | -# 时刻表明细信息导入 | ||
| 20 | - | ||
| 21 | -# 车辆配置信息导入 | ||
| 22 | -datatools.carsconfig_datainputktr=/datatools/ktrs/carsConfigDataInput.ktr | ||
| 23 | -# 人员配置信息导入 | ||
| 24 | -datatools.employeesconfig_datainputktr=/datatools/ktrs/employeesConfigDataInput.ktr | ||
| 25 | - | 1 | +# 配置数据导入导出用到的配置信息 |
| 2 | + | ||
| 3 | +# 上传文件目录配置(根据不同的环境需要修正) | ||
| 4 | +datatools.fileupload_dir=/Users/xu/resource/project/bsth_control_u_d_files | ||
| 5 | +# ktr转换文件,中配置的错误输出目录(根据不同的环境需要修正) | ||
| 6 | +datatools.trans_errordir=/Users/xu/resource/project/bsth_control_u_d_files/erroroutput | ||
| 7 | + | ||
| 8 | +##------------------ ktr通用变量 ------------------ | ||
| 9 | +#数据库ip地址 | ||
| 10 | +datatools.kvars_dbip=localhost | ||
| 11 | +#数据库用户名 | ||
| 12 | +datatools.kvars_dbuname=root | ||
| 13 | +#数据库密码 | ||
| 14 | +datatools.kvars_dbpwd= | ||
| 15 | + | ||
| 16 | +# 以下是封装数据导入导出逻辑的ktr转换文件,类路径,以后考虑放到数据库中 | ||
| 17 | +# 测试temp的ktr转换文件 | ||
| 18 | +datatools.temp_datainputktr=/datatools/ktrs/test.ktr | ||
| 19 | +# 车辆信息导入ktr转换 | ||
| 20 | +datatools.cars_datainputktr=/datatools/ktrs/carsDataInput.ktr | ||
| 21 | +# 人员信息导入 | ||
| 22 | +datatools.employees_datainputktr=/datatools/ktrs/employeesDataInput.ktr | ||
| 23 | +# 路牌信息导入 | ||
| 24 | +datatools.guideboards_datainputktr=/datatools/ktrs/guideboardDataInput.ktr | ||
| 25 | +# 时刻表基础信息导入 | ||
| 26 | +datatools.ttinfo_datainputktr=/datatools/ktrs/ttinfoDataInput.ktr | ||
| 27 | +# 时刻表明细信息导入(元数据) | ||
| 28 | +datatools.ttinfodetail_metadatainputktr=/datatools/ktrs/ttinfodetailMetaData.ktr | ||
| 29 | +# 时刻表明细信息导入 | ||
| 30 | +datatools.ttinfodetail_datainputktr=/datatools/ktrs/ttinfodetailDataInput.ktr | ||
| 31 | + | ||
| 32 | +# 车辆配置信息导入 | ||
| 33 | +datatools.carsconfig_datainputktr=/datatools/ktrs/carsConfigDataInput.ktr | ||
| 34 | +# 人员配置信息导入 | ||
| 35 | +datatools.employeesconfig_datainputktr=/datatools/ktrs/employeesConfigDataInput.ktr | ||
| 36 | + | ||
| 26 | # 排班规则信息导入 | 37 | # 排班规则信息导入 |
| 27 | \ No newline at end of file | 38 | \ No newline at end of file |
src/main/resources/datatools/ktrs/carsConfigDataInput.ktr
| 1 | -<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | -<transformation> | ||
| 3 | - <info> | ||
| 4 | - <name>carsConfigDataInput</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 13:15:32.118</created_date> | ||
| 81 | - <modified_user>-</modified_user> | ||
| 82 | - <modified_date>2016/06/29 13:15:32.118</modified_date> | ||
| 83 | - <key_for_session_key/> | ||
| 84 | - <is_key_private>N</is_key_private> | ||
| 85 | - </info> | ||
| 86 | - <notepads> | ||
| 87 | - <notepad> | ||
| 88 | - <note>配车分当前/历史/计划,历史配车有终止时间,然后是否切换基本都是1
是否切换 暂时不知道什么意思,当前配车都设置为0
终止时间 当前配车没有终止时间,这个估计要作为查询条件的
早班时间 没有暂时空着
末班时间 没有暂时空着</note> | ||
| 89 | - <xloc>260</xloc> | ||
| 90 | - <yloc>124</yloc> | ||
| 91 | - <width>391</width> | ||
| 92 | - <heigth>90</heigth> | ||
| 93 | - <fontname>YaHei Consolas Hybrid</fontname> | ||
| 94 | - <fontsize>12</fontsize> | ||
| 95 | - <fontbold>N</fontbold> | ||
| 96 | - <fontitalic>N</fontitalic> | ||
| 97 | - <fontcolorred>0</fontcolorred> | ||
| 98 | - <fontcolorgreen>0</fontcolorgreen> | ||
| 99 | - <fontcolorblue>0</fontcolorblue> | ||
| 100 | - <backgroundcolorred>255</backgroundcolorred> | ||
| 101 | - <backgroundcolorgreen>205</backgroundcolorgreen> | ||
| 102 | - <backgroundcolorblue>112</backgroundcolorblue> | ||
| 103 | - <bordercolorred>100</bordercolorred> | ||
| 104 | - <bordercolorgreen>100</bordercolorgreen> | ||
| 105 | - <bordercolorblue>100</bordercolorblue> | ||
| 106 | - <drawshadow>Y</drawshadow> | ||
| 107 | - </notepad> | ||
| 108 | - </notepads> | ||
| 109 | - <connection> | ||
| 110 | - <name>bus_control_公司_201</name> | ||
| 111 | - <server>192.168.168.201</server> | ||
| 112 | - <type>MYSQL</type> | ||
| 113 | - <access>Native</access> | ||
| 114 | - <database>control</database> | ||
| 115 | - <port>3306</port> | ||
| 116 | - <username>root</username> | ||
| 117 | - <password>Encrypted 2be98afc86aa7f2e4cb79ff228dc6fa8c</password> | ||
| 118 | - <servername/> | ||
| 119 | - <data_tablespace/> | ||
| 120 | - <index_tablespace/> | ||
| 121 | - <attributes> | ||
| 122 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 123 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 124 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 125 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 126 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 127 | - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 128 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 129 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 130 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 131 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 132 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 133 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 134 | - </attributes> | ||
| 135 | - </connection> | ||
| 136 | - <connection> | ||
| 137 | - <name>xlab_mysql_youle</name> | ||
| 138 | - <server>101.231.124.8</server> | ||
| 139 | - <type>MYSQL</type> | ||
| 140 | - <access>Native</access> | ||
| 141 | - <database>xlab_youle</database> | ||
| 142 | - <port>45687</port> | ||
| 143 | - <username>xlab-youle</username> | ||
| 144 | - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password> | ||
| 145 | - <servername/> | ||
| 146 | - <data_tablespace/> | ||
| 147 | - <index_tablespace/> | ||
| 148 | - <attributes> | ||
| 149 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 150 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 151 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 152 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 153 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 154 | - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute> | ||
| 155 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 156 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 157 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 158 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 159 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 160 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 161 | - </attributes> | ||
| 162 | - </connection> | ||
| 163 | - <connection> | ||
| 164 | - <name>xlab_mysql_youle(本机)</name> | ||
| 165 | - <server>localhost</server> | ||
| 166 | - <type>MYSQL</type> | ||
| 167 | - <access>Native</access> | ||
| 168 | - <database>xlab_youle</database> | ||
| 169 | - <port>3306</port> | ||
| 170 | - <username>root</username> | ||
| 171 | - <password>Encrypted </password> | ||
| 172 | - <servername/> | ||
| 173 | - <data_tablespace/> | ||
| 174 | - <index_tablespace/> | ||
| 175 | - <attributes> | ||
| 176 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 177 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 178 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 179 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 180 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 181 | - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 182 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 183 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 184 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 185 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 186 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 187 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 188 | - </attributes> | ||
| 189 | - </connection> | ||
| 190 | - <connection> | ||
| 191 | - <name>xlab_youle</name> | ||
| 192 | - <server/> | ||
| 193 | - <type>MYSQL</type> | ||
| 194 | - <access>JNDI</access> | ||
| 195 | - <database>xlab_youle</database> | ||
| 196 | - <port>1521</port> | ||
| 197 | - <username/> | ||
| 198 | - <password>Encrypted </password> | ||
| 199 | - <servername/> | ||
| 200 | - <data_tablespace/> | ||
| 201 | - <index_tablespace/> | ||
| 202 | - <attributes> | ||
| 203 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 204 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 205 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 206 | - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | ||
| 207 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 208 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 209 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 210 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 211 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 212 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 213 | - </attributes> | ||
| 214 | - </connection> | ||
| 215 | - <order> | ||
| 216 | - <hop> <from>原始系统导出的Excel输入</from><to>字段选择</to><enabled>Y</enabled> </hop> | ||
| 217 | - <hop> <from>字段选择</from><to>查找线路关联</to><enabled>Y</enabled> </hop> | ||
| 218 | - <hop> <from>插入/更新bsth_c_s_ccinfo</from><to>错误输出</to><enabled>Y</enabled> </hop> | ||
| 219 | - <hop> <from>是否切换</from><to>插入/更新bsth_c_s_ccinfo</to><enabled>Y</enabled> </hop> | ||
| 220 | - <hop> <from>查找线路关联</from><to>查找车辆关联</to><enabled>Y</enabled> </hop> | ||
| 221 | - <hop> <from>查找车辆关联</from><to>是否切换</to><enabled>Y</enabled> </hop> | ||
| 222 | - <hop> <from>获取变量</from><to>原始系统导出的Excel输入</to><enabled>Y</enabled> </hop> | ||
| 223 | - </order> | ||
| 224 | - <step> | ||
| 225 | - <name>原始系统导出的Excel输入</name> | ||
| 226 | - <type>ExcelInput</type> | ||
| 227 | - <description/> | ||
| 228 | - <distribute>Y</distribute> | ||
| 229 | - <custom_distribution/> | ||
| 230 | - <copies>1</copies> | ||
| 231 | - <partitioning> | ||
| 232 | - <method>none</method> | ||
| 233 | - <schema_name/> | ||
| 234 | - </partitioning> | ||
| 235 | - <header>Y</header> | ||
| 236 | - <noempty>Y</noempty> | ||
| 237 | - <stoponempty>N</stoponempty> | ||
| 238 | - <filefield/> | ||
| 239 | - <sheetfield/> | ||
| 240 | - <sheetrownumfield/> | ||
| 241 | - <rownumfield/> | ||
| 242 | - <sheetfield/> | ||
| 243 | - <filefield/> | ||
| 244 | - <limit>0</limit> | ||
| 245 | - <encoding/> | ||
| 246 | - <add_to_result_filenames>Y</add_to_result_filenames> | ||
| 247 | - <accept_filenames>Y</accept_filenames> | ||
| 248 | - <accept_field>filepath_</accept_field> | ||
| 249 | - <accept_stepname>获取变量</accept_stepname> | ||
| 250 | - <file> | ||
| 251 | - <name/> | ||
| 252 | - <filemask/> | ||
| 253 | - <exclude_filemask/> | ||
| 254 | - <file_required>N</file_required> | ||
| 255 | - <include_subfolders>N</include_subfolders> | ||
| 256 | - </file> | ||
| 257 | - <fields> | ||
| 258 | - <field> | ||
| 259 | - <name>线路</name> | ||
| 260 | - <type>String</type> | ||
| 261 | - <length>-1</length> | ||
| 262 | - <precision>-1</precision> | ||
| 263 | - <trim_type>none</trim_type> | ||
| 264 | - <repeat>N</repeat> | ||
| 265 | - <format/> | ||
| 266 | - <currency/> | ||
| 267 | - <decimal/> | ||
| 268 | - <group/> | ||
| 269 | - </field> | ||
| 270 | - <field> | ||
| 271 | - <name>内部编码</name> | ||
| 272 | - <type>String</type> | ||
| 273 | - <length>-1</length> | ||
| 274 | - <precision>-1</precision> | ||
| 275 | - <trim_type>none</trim_type> | ||
| 276 | - <repeat>N</repeat> | ||
| 277 | - <format/> | ||
| 278 | - <currency/> | ||
| 279 | - <decimal/> | ||
| 280 | - <group/> | ||
| 281 | - </field> | ||
| 282 | - <field> | ||
| 283 | - <name>启用日期</name> | ||
| 284 | - <type>String</type> | ||
| 285 | - <length>-1</length> | ||
| 286 | - <precision>-1</precision> | ||
| 287 | - <trim_type>none</trim_type> | ||
| 288 | - <repeat>N</repeat> | ||
| 289 | - <format/> | ||
| 290 | - <currency/> | ||
| 291 | - <decimal/> | ||
| 292 | - <group/> | ||
| 293 | - </field> | ||
| 294 | - <field> | ||
| 295 | - <name>终结日期</name> | ||
| 296 | - <type>String</type> | ||
| 297 | - <length>-1</length> | ||
| 298 | - <precision>-1</precision> | ||
| 299 | - <trim_type>none</trim_type> | ||
| 300 | - <repeat>N</repeat> | ||
| 301 | - <format/> | ||
| 302 | - <currency/> | ||
| 303 | - <decimal/> | ||
| 304 | - <group/> | ||
| 305 | - </field> | ||
| 306 | - <field> | ||
| 307 | - <name>停车点</name> | ||
| 308 | - <type>String</type> | ||
| 309 | - <length>-1</length> | ||
| 310 | - <precision>-1</precision> | ||
| 311 | - <trim_type>none</trim_type> | ||
| 312 | - <repeat>N</repeat> | ||
| 313 | - <format/> | ||
| 314 | - <currency/> | ||
| 315 | - <decimal/> | ||
| 316 | - <group/> | ||
| 317 | - </field> | ||
| 318 | - </fields> | ||
| 319 | - <sheets> | ||
| 320 | - <sheet> | ||
| 321 | - <name>工作表1</name> | ||
| 322 | - <startrow>0</startrow> | ||
| 323 | - <startcol>0</startcol> | ||
| 324 | - </sheet> | ||
| 325 | - </sheets> | ||
| 326 | - <strict_types>N</strict_types> | ||
| 327 | - <error_ignored>N</error_ignored> | ||
| 328 | - <error_line_skipped>N</error_line_skipped> | ||
| 329 | - <bad_line_files_destination_directory/> | ||
| 330 | - <bad_line_files_extension>warning</bad_line_files_extension> | ||
| 331 | - <error_line_files_destination_directory/> | ||
| 332 | - <error_line_files_extension>error</error_line_files_extension> | ||
| 333 | - <line_number_files_destination_directory/> | ||
| 334 | - <line_number_files_extension>line</line_number_files_extension> | ||
| 335 | - <shortFileFieldName/> | ||
| 336 | - <pathFieldName/> | ||
| 337 | - <hiddenFieldName/> | ||
| 338 | - <lastModificationTimeFieldName/> | ||
| 339 | - <uriNameFieldName/> | ||
| 340 | - <rootUriNameFieldName/> | ||
| 341 | - <extensionFieldName/> | ||
| 342 | - <sizeFieldName/> | ||
| 343 | - <spreadsheet_type>JXL</spreadsheet_type> | ||
| 344 | - <cluster_schema/> | ||
| 345 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 346 | - <xloc>155</xloc> | ||
| 347 | - <yloc>56</yloc> | ||
| 348 | - <draw>Y</draw> | ||
| 349 | - </GUI> | ||
| 350 | - </step> | ||
| 351 | - | ||
| 352 | - <step> | ||
| 353 | - <name>字段选择</name> | ||
| 354 | - <type>SelectValues</type> | ||
| 355 | - <description/> | ||
| 356 | - <distribute>Y</distribute> | ||
| 357 | - <custom_distribution/> | ||
| 358 | - <copies>1</copies> | ||
| 359 | - <partitioning> | ||
| 360 | - <method>none</method> | ||
| 361 | - <schema_name/> | ||
| 362 | - </partitioning> | ||
| 363 | - <fields> <field> <name>线路</name> | ||
| 364 | - <rename>xl</rename> | ||
| 365 | - <length>-2</length> | ||
| 366 | - <precision>-2</precision> | ||
| 367 | - </field> <field> <name>内部编码</name> | ||
| 368 | - <rename>cl</rename> | ||
| 369 | - <length>-2</length> | ||
| 370 | - <precision>-2</precision> | ||
| 371 | - </field> <field> <name>启用日期</name> | ||
| 372 | - <rename>qyrq</rename> | ||
| 373 | - <length>-2</length> | ||
| 374 | - <precision>-2</precision> | ||
| 375 | - </field> <field> <name>终结日期</name> | ||
| 376 | - <rename>zzrq</rename> | ||
| 377 | - <length>-2</length> | ||
| 378 | - <precision>-2</precision> | ||
| 379 | - </field> <field> <name>停车点</name> | ||
| 380 | - <rename>tcd</rename> | ||
| 381 | - <length>-2</length> | ||
| 382 | - <precision>-2</precision> | ||
| 383 | - </field> <select_unspecified>N</select_unspecified> | ||
| 384 | - </fields> <cluster_schema/> | ||
| 385 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 386 | - <xloc>306</xloc> | ||
| 387 | - <yloc>56</yloc> | ||
| 388 | - <draw>Y</draw> | ||
| 389 | - </GUI> | ||
| 390 | - </step> | ||
| 391 | - | ||
| 392 | - <step> | ||
| 393 | - <name>插入/更新bsth_c_s_ccinfo</name> | ||
| 394 | - <type>InsertUpdate</type> | ||
| 395 | - <description/> | ||
| 396 | - <distribute>Y</distribute> | ||
| 397 | - <custom_distribution/> | ||
| 398 | - <copies>1</copies> | ||
| 399 | - <partitioning> | ||
| 400 | - <method>none</method> | ||
| 401 | - <schema_name/> | ||
| 402 | - </partitioning> | ||
| 403 | - <connection>bus_control_公司_201</connection> | ||
| 404 | - <commit>100</commit> | ||
| 405 | - <update_bypassed>N</update_bypassed> | ||
| 406 | - <lookup> | ||
| 407 | - <schema/> | ||
| 408 | - <table>bsth_c_s_ccinfo</table> | ||
| 409 | - <key> | ||
| 410 | - <name>xlId</name> | ||
| 411 | - <field>xl</field> | ||
| 412 | - <condition>=</condition> | ||
| 413 | - <name2/> | ||
| 414 | - </key> | ||
| 415 | - <key> | ||
| 416 | - <name>clId</name> | ||
| 417 | - <field>cl</field> | ||
| 418 | - <condition>=</condition> | ||
| 419 | - <name2/> | ||
| 420 | - </key> | ||
| 421 | - <value> | ||
| 422 | - <name>xl</name> | ||
| 423 | - <rename>xlId</rename> | ||
| 424 | - <update>Y</update> | ||
| 425 | - </value> | ||
| 426 | - <value> | ||
| 427 | - <name>cl</name> | ||
| 428 | - <rename>clId</rename> | ||
| 429 | - <update>Y</update> | ||
| 430 | - </value> | ||
| 431 | - <value> | ||
| 432 | - <name>is_switch</name> | ||
| 433 | - <rename>isswitch</rename> | ||
| 434 | - <update>Y</update> | ||
| 435 | - </value> | ||
| 436 | - <value> | ||
| 437 | - <name>tcd</name> | ||
| 438 | - <rename>tcd</rename> | ||
| 439 | - <update>Y</update> | ||
| 440 | - </value> | ||
| 441 | - <value> | ||
| 442 | - <name>zzrq</name> | ||
| 443 | - <rename>zzrq</rename> | ||
| 444 | - <update>Y</update> | ||
| 445 | - </value> | ||
| 446 | - <value> | ||
| 447 | - <name>qyrq</name> | ||
| 448 | - <rename>qyrq</rename> | ||
| 449 | - <update>Y</update> | ||
| 450 | - </value> | ||
| 451 | - </lookup> | ||
| 452 | - <cluster_schema/> | ||
| 453 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 454 | - <xloc>715</xloc> | ||
| 455 | - <yloc>197</yloc> | ||
| 456 | - <draw>Y</draw> | ||
| 457 | - </GUI> | ||
| 458 | - </step> | ||
| 459 | - | ||
| 460 | - <step> | ||
| 461 | - <name>是否切换</name> | ||
| 462 | - <type>Constant</type> | ||
| 463 | - <description/> | ||
| 464 | - <distribute>Y</distribute> | ||
| 465 | - <custom_distribution/> | ||
| 466 | - <copies>1</copies> | ||
| 467 | - <partitioning> | ||
| 468 | - <method>none</method> | ||
| 469 | - <schema_name/> | ||
| 470 | - </partitioning> | ||
| 471 | - <fields> | ||
| 472 | - <field> | ||
| 473 | - <name>isswitch</name> | ||
| 474 | - <type>Integer</type> | ||
| 475 | - <format/> | ||
| 476 | - <currency/> | ||
| 477 | - <decimal/> | ||
| 478 | - <group/> | ||
| 479 | - <nullif>0</nullif> | ||
| 480 | - <length>-1</length> | ||
| 481 | - <precision>-1</precision> | ||
| 482 | - <set_empty_string>N</set_empty_string> | ||
| 483 | - </field> | ||
| 484 | - </fields> | ||
| 485 | - <cluster_schema/> | ||
| 486 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 487 | - <xloc>713</xloc> | ||
| 488 | - <yloc>54</yloc> | ||
| 489 | - <draw>Y</draw> | ||
| 490 | - </GUI> | ||
| 491 | - </step> | ||
| 492 | - | ||
| 493 | - <step> | ||
| 494 | - <name>查找线路关联</name> | ||
| 495 | - <type>DBLookup</type> | ||
| 496 | - <description/> | ||
| 497 | - <distribute>Y</distribute> | ||
| 498 | - <custom_distribution/> | ||
| 499 | - <copies>1</copies> | ||
| 500 | - <partitioning> | ||
| 501 | - <method>none</method> | ||
| 502 | - <schema_name/> | ||
| 503 | - </partitioning> | ||
| 504 | - <connection>bus_control_公司_201</connection> | ||
| 505 | - <cache>N</cache> | ||
| 506 | - <cache_load_all>N</cache_load_all> | ||
| 507 | - <cache_size>0</cache_size> | ||
| 508 | - <lookup> | ||
| 509 | - <schema/> | ||
| 510 | - <table>bsth_c_line</table> | ||
| 511 | - <orderby/> | ||
| 512 | - <fail_on_multiple>N</fail_on_multiple> | ||
| 513 | - <eat_row_on_failure>N</eat_row_on_failure> | ||
| 514 | - <key> | ||
| 515 | - <name>xl</name> | ||
| 516 | - <field>name</field> | ||
| 517 | - <condition>=</condition> | ||
| 518 | - <name2/> | ||
| 519 | - </key> | ||
| 520 | - <value> | ||
| 521 | - <name>id</name> | ||
| 522 | - <rename>xlId</rename> | ||
| 523 | - <default/> | ||
| 524 | - <type>Integer</type> | ||
| 525 | - </value> | ||
| 526 | - </lookup> | ||
| 527 | - <cluster_schema/> | ||
| 528 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 529 | - <xloc>439</xloc> | ||
| 530 | - <yloc>56</yloc> | ||
| 531 | - <draw>Y</draw> | ||
| 532 | - </GUI> | ||
| 533 | - </step> | ||
| 534 | - | ||
| 535 | - <step> | ||
| 536 | - <name>查找车辆关联</name> | ||
| 537 | - <type>DBLookup</type> | ||
| 538 | - <description/> | ||
| 539 | - <distribute>Y</distribute> | ||
| 540 | - <custom_distribution/> | ||
| 541 | - <copies>1</copies> | ||
| 542 | - <partitioning> | ||
| 543 | - <method>none</method> | ||
| 544 | - <schema_name/> | ||
| 545 | - </partitioning> | ||
| 546 | - <connection>bus_control_公司_201</connection> | ||
| 547 | - <cache>N</cache> | ||
| 548 | - <cache_load_all>N</cache_load_all> | ||
| 549 | - <cache_size>0</cache_size> | ||
| 550 | - <lookup> | ||
| 551 | - <schema/> | ||
| 552 | - <table>bsth_c_cars</table> | ||
| 553 | - <orderby/> | ||
| 554 | - <fail_on_multiple>N</fail_on_multiple> | ||
| 555 | - <eat_row_on_failure>N</eat_row_on_failure> | ||
| 556 | - <key> | ||
| 557 | - <name>cl</name> | ||
| 558 | - <field>inside_code</field> | ||
| 559 | - <condition>=</condition> | ||
| 560 | - <name2/> | ||
| 561 | - </key> | ||
| 562 | - <value> | ||
| 563 | - <name>id</name> | ||
| 564 | - <rename>clId</rename> | ||
| 565 | - <default/> | ||
| 566 | - <type>Integer</type> | ||
| 567 | - </value> | ||
| 568 | - </lookup> | ||
| 569 | - <cluster_schema/> | ||
| 570 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 571 | - <xloc>579</xloc> | ||
| 572 | - <yloc>55</yloc> | ||
| 573 | - <draw>Y</draw> | ||
| 574 | - </GUI> | ||
| 575 | - </step> | ||
| 576 | - | ||
| 577 | - <step> | ||
| 578 | - <name>错误输出</name> | ||
| 579 | - <type>ExcelOutput</type> | ||
| 580 | - <description/> | ||
| 581 | - <distribute>Y</distribute> | ||
| 582 | - <custom_distribution/> | ||
| 583 | - <copies>1</copies> | ||
| 584 | - <partitioning> | ||
| 585 | - <method>none</method> | ||
| 586 | - <schema_name/> | ||
| 587 | - </partitioning> | ||
| 588 | - <header>Y</header> | ||
| 589 | - <footer>N</footer> | ||
| 590 | - <encoding>UTF-8</encoding> | ||
| 591 | - <append>N</append> | ||
| 592 | - <add_to_result_filenames>Y</add_to_result_filenames> | ||
| 593 | - <file> | ||
| 594 | - <name>${erroroutputdir}/当前配车_错误</name> | ||
| 595 | - <extention>xls</extention> | ||
| 596 | - <do_not_open_newfile_init>N</do_not_open_newfile_init> | ||
| 597 | - <create_parent_folder>N</create_parent_folder> | ||
| 598 | - <split>N</split> | ||
| 599 | - <add_date>N</add_date> | ||
| 600 | - <add_time>N</add_time> | ||
| 601 | - <SpecifyFormat>N</SpecifyFormat> | ||
| 602 | - <date_time_format/> | ||
| 603 | - <sheetname>Sheet1</sheetname> | ||
| 604 | - <autosizecolums>N</autosizecolums> | ||
| 605 | - <nullisblank>N</nullisblank> | ||
| 606 | - <protect_sheet>N</protect_sheet> | ||
| 607 | - <password>Encrypted </password> | ||
| 608 | - <splitevery>0</splitevery> | ||
| 609 | - <usetempfiles>N</usetempfiles> | ||
| 610 | - <tempdirectory/> | ||
| 611 | - </file> | ||
| 612 | - <template> | ||
| 613 | - <enabled>N</enabled> | ||
| 614 | - <append>N</append> | ||
| 615 | - <filename>template.xls</filename> | ||
| 616 | - </template> | ||
| 617 | - <fields> | ||
| 618 | - <field> | ||
| 619 | - <name>xl</name> | ||
| 620 | - <type>String</type> | ||
| 621 | - <format/> | ||
| 622 | - </field> | ||
| 623 | - <field> | ||
| 624 | - <name>cl</name> | ||
| 625 | - <type>String</type> | ||
| 626 | - <format/> | ||
| 627 | - </field> | ||
| 628 | - <field> | ||
| 629 | - <name>qyrq</name> | ||
| 630 | - <type>String</type> | ||
| 631 | - <format/> | ||
| 632 | - </field> | ||
| 633 | - <field> | ||
| 634 | - <name>zzrq</name> | ||
| 635 | - <type>String</type> | ||
| 636 | - <format/> | ||
| 637 | - </field> | ||
| 638 | - <field> | ||
| 639 | - <name>tcd</name> | ||
| 640 | - <type>String</type> | ||
| 641 | - <format/> | ||
| 642 | - </field> | ||
| 643 | - <field> | ||
| 644 | - <name>xlId</name> | ||
| 645 | - <type>Integer</type> | ||
| 646 | - <format/> | ||
| 647 | - </field> | ||
| 648 | - <field> | ||
| 649 | - <name>clId</name> | ||
| 650 | - <type>Integer</type> | ||
| 651 | - <format/> | ||
| 652 | - </field> | ||
| 653 | - <field> | ||
| 654 | - <name>isswitch</name> | ||
| 655 | - <type>Integer</type> | ||
| 656 | - <format/> | ||
| 657 | - </field> | ||
| 658 | - <field> | ||
| 659 | - <name>error_count</name> | ||
| 660 | - <type>Integer</type> | ||
| 661 | - <format/> | ||
| 662 | - </field> | ||
| 663 | - <field> | ||
| 664 | - <name>error_desc</name> | ||
| 665 | - <type>String</type> | ||
| 666 | - <format/> | ||
| 667 | - </field> | ||
| 668 | - <field> | ||
| 669 | - <name>error_column1</name> | ||
| 670 | - <type>String</type> | ||
| 671 | - <format/> | ||
| 672 | - </field> | ||
| 673 | - <field> | ||
| 674 | - <name>error_column2</name> | ||
| 675 | - <type>String</type> | ||
| 676 | - <format/> | ||
| 677 | - </field> | ||
| 678 | - </fields> | ||
| 679 | - <custom> | ||
| 680 | - <header_font_name>arial</header_font_name> | ||
| 681 | - <header_font_size>10</header_font_size> | ||
| 682 | - <header_font_bold>N</header_font_bold> | ||
| 683 | - <header_font_italic>N</header_font_italic> | ||
| 684 | - <header_font_underline>no</header_font_underline> | ||
| 685 | - <header_font_orientation>horizontal</header_font_orientation> | ||
| 686 | - <header_font_color>black</header_font_color> | ||
| 687 | - <header_background_color>none</header_background_color> | ||
| 688 | - <header_row_height>255</header_row_height> | ||
| 689 | - <header_alignment>left</header_alignment> | ||
| 690 | - <header_image/> | ||
| 691 | - <row_font_name>arial</row_font_name> | ||
| 692 | - <row_font_size>10</row_font_size> | ||
| 693 | - <row_font_color>black</row_font_color> | ||
| 694 | - <row_background_color>none</row_background_color> | ||
| 695 | - </custom> | ||
| 696 | - <cluster_schema/> | ||
| 697 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 698 | - <xloc>718</xloc> | ||
| 699 | - <yloc>314</yloc> | ||
| 700 | - <draw>Y</draw> | ||
| 701 | - </GUI> | ||
| 702 | - </step> | ||
| 703 | - | ||
| 704 | - <step> | ||
| 705 | - <name>获取变量</name> | ||
| 706 | - <type>GetVariable</type> | ||
| 707 | - <description/> | ||
| 708 | - <distribute>Y</distribute> | ||
| 709 | - <custom_distribution/> | ||
| 710 | - <copies>1</copies> | ||
| 711 | - <partitioning> | ||
| 712 | - <method>none</method> | ||
| 713 | - <schema_name/> | ||
| 714 | - </partitioning> | ||
| 715 | - <fields> | ||
| 716 | - <field> | ||
| 717 | - <name>filepath_</name> | ||
| 718 | - <variable>${filepath}</variable> | ||
| 719 | - <type>String</type> | ||
| 720 | - <format/> | ||
| 721 | - <currency/> | ||
| 722 | - <decimal/> | ||
| 723 | - <group/> | ||
| 724 | - <length>-1</length> | ||
| 725 | - <precision>-1</precision> | ||
| 726 | - <trim_type>none</trim_type> | ||
| 727 | - </field> | ||
| 728 | - <field> | ||
| 729 | - <name>erroroutputdir_</name> | ||
| 730 | - <variable>${erroroutputdir}</variable> | ||
| 731 | - <type>String</type> | ||
| 732 | - <format/> | ||
| 733 | - <currency/> | ||
| 734 | - <decimal/> | ||
| 735 | - <group/> | ||
| 736 | - <length>-1</length> | ||
| 737 | - <precision>-1</precision> | ||
| 738 | - <trim_type>none</trim_type> | ||
| 739 | - </field> | ||
| 740 | - </fields> | ||
| 741 | - <cluster_schema/> | ||
| 742 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 743 | - <xloc>156</xloc> | ||
| 744 | - <yloc>150</yloc> | ||
| 745 | - <draw>Y</draw> | ||
| 746 | - </GUI> | ||
| 747 | - </step> | ||
| 748 | - | ||
| 749 | - <step_error_handling> | ||
| 750 | - <error> | ||
| 751 | - <source_step>插入/更新bsth_c_s_ccinfo</source_step> | ||
| 752 | - <target_step>错误输出</target_step> | ||
| 753 | - <is_enabled>Y</is_enabled> | ||
| 754 | - <nr_valuename>error_count</nr_valuename> | ||
| 755 | - <descriptions_valuename>error_desc</descriptions_valuename> | ||
| 756 | - <fields_valuename>error_column1</fields_valuename> | ||
| 757 | - <codes_valuename>error_column2</codes_valuename> | ||
| 758 | - <max_errors/> | ||
| 759 | - <max_pct_errors/> | ||
| 760 | - <min_pct_rows/> | ||
| 761 | - </error> | ||
| 762 | - </step_error_handling> | ||
| 763 | - <slave-step-copy-partition-distribution> | ||
| 764 | -</slave-step-copy-partition-distribution> | ||
| 765 | - <slave_transformation>N</slave_transformation> | ||
| 766 | - | ||
| 767 | -</transformation> | 1 | +<?xml version="1.0" encoding="UTF-8"?> |
| 2 | +<transformation> | ||
| 3 | + <info> | ||
| 4 | + <name>carsConfigDataInput</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 13:15:32.118</created_date> | ||
| 81 | + <modified_user>-</modified_user> | ||
| 82 | + <modified_date>2016/06/29 13:15:32.118</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 | + <notepad> | ||
| 88 | + <note>配车分当前/历史/计划,历史配车有终止时间,然后是否切换基本都是1
是否切换 暂时不知道什么意思,当前配车都设置为0
终止时间 当前配车没有终止时间,这个估计要作为查询条件的
早班时间 没有暂时空着
末班时间 没有暂时空着</note> | ||
| 89 | + <xloc>260</xloc> | ||
| 90 | + <yloc>124</yloc> | ||
| 91 | + <width>391</width> | ||
| 92 | + <heigth>90</heigth> | ||
| 93 | + <fontname>YaHei Consolas Hybrid</fontname> | ||
| 94 | + <fontsize>12</fontsize> | ||
| 95 | + <fontbold>N</fontbold> | ||
| 96 | + <fontitalic>N</fontitalic> | ||
| 97 | + <fontcolorred>0</fontcolorred> | ||
| 98 | + <fontcolorgreen>0</fontcolorgreen> | ||
| 99 | + <fontcolorblue>0</fontcolorblue> | ||
| 100 | + <backgroundcolorred>255</backgroundcolorred> | ||
| 101 | + <backgroundcolorgreen>205</backgroundcolorgreen> | ||
| 102 | + <backgroundcolorblue>112</backgroundcolorblue> | ||
| 103 | + <bordercolorred>100</bordercolorred> | ||
| 104 | + <bordercolorgreen>100</bordercolorgreen> | ||
| 105 | + <bordercolorblue>100</bordercolorblue> | ||
| 106 | + <drawshadow>Y</drawshadow> | ||
| 107 | + </notepad> | ||
| 108 | + </notepads> | ||
| 109 | + <connection> | ||
| 110 | + <name>bus_control_variable</name> | ||
| 111 | + <server>${v_db_ip}</server> | ||
| 112 | + <type>MYSQL</type> | ||
| 113 | + <access>Native</access> | ||
| 114 | + <database>control</database> | ||
| 115 | + <port>3306</port> | ||
| 116 | + <username>${v_db_uname}</username> | ||
| 117 | + <password>${v_db_pwd}</password> | ||
| 118 | + <servername/> | ||
| 119 | + <data_tablespace/> | ||
| 120 | + <index_tablespace/> | ||
| 121 | + <attributes> | ||
| 122 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 123 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 124 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 125 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 126 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 127 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 128 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 129 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 130 | + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | ||
| 131 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 132 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 133 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 134 | + </attributes> | ||
| 135 | + </connection> | ||
| 136 | + <connection> | ||
| 137 | + <name>bus_control_公司_201</name> | ||
| 138 | + <server>localhost</server> | ||
| 139 | + <type>MYSQL</type> | ||
| 140 | + <access>Native</access> | ||
| 141 | + <database>control</database> | ||
| 142 | + <port>3306</port> | ||
| 143 | + <username>root</username> | ||
| 144 | + <password>Encrypted </password> | ||
| 145 | + <servername/> | ||
| 146 | + <data_tablespace/> | ||
| 147 | + <index_tablespace/> | ||
| 148 | + <attributes> | ||
| 149 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 150 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 151 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 152 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 153 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 154 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 155 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 156 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 157 | + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | ||
| 158 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 159 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 160 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 161 | + </attributes> | ||
| 162 | + </connection> | ||
| 163 | + <connection> | ||
| 164 | + <name>bus_control_本机</name> | ||
| 165 | + <server>localhost</server> | ||
| 166 | + <type>MYSQL</type> | ||
| 167 | + <access>Native</access> | ||
| 168 | + <database>control</database> | ||
| 169 | + <port>3306</port> | ||
| 170 | + <username>root</username> | ||
| 171 | + <password>Encrypted </password> | ||
| 172 | + <servername/> | ||
| 173 | + <data_tablespace/> | ||
| 174 | + <index_tablespace/> | ||
| 175 | + <attributes> | ||
| 176 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 177 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 178 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 179 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 180 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 181 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 182 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 183 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 184 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 185 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 186 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 187 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 188 | + </attributes> | ||
| 189 | + </connection> | ||
| 190 | + <connection> | ||
| 191 | + <name>xlab_mysql_youle</name> | ||
| 192 | + <server>101.231.124.8</server> | ||
| 193 | + <type>MYSQL</type> | ||
| 194 | + <access>Native</access> | ||
| 195 | + <database>xlab_youle</database> | ||
| 196 | + <port>45687</port> | ||
| 197 | + <username>xlab-youle</username> | ||
| 198 | + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password> | ||
| 199 | + <servername/> | ||
| 200 | + <data_tablespace/> | ||
| 201 | + <index_tablespace/> | ||
| 202 | + <attributes> | ||
| 203 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 204 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 205 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 206 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 207 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 208 | + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute> | ||
| 209 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 210 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 211 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 212 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 213 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 214 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 215 | + </attributes> | ||
| 216 | + </connection> | ||
| 217 | + <connection> | ||
| 218 | + <name>xlab_mysql_youle(本机)</name> | ||
| 219 | + <server>localhost</server> | ||
| 220 | + <type>MYSQL</type> | ||
| 221 | + <access>Native</access> | ||
| 222 | + <database>xlab_youle</database> | ||
| 223 | + <port>3306</port> | ||
| 224 | + <username>root</username> | ||
| 225 | + <password>Encrypted </password> | ||
| 226 | + <servername/> | ||
| 227 | + <data_tablespace/> | ||
| 228 | + <index_tablespace/> | ||
| 229 | + <attributes> | ||
| 230 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 231 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 232 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 233 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 234 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 235 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 236 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 237 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 238 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 239 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 240 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 241 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 242 | + </attributes> | ||
| 243 | + </connection> | ||
| 244 | + <connection> | ||
| 245 | + <name>xlab_youle</name> | ||
| 246 | + <server/> | ||
| 247 | + <type>MYSQL</type> | ||
| 248 | + <access>JNDI</access> | ||
| 249 | + <database>xlab_youle</database> | ||
| 250 | + <port>1521</port> | ||
| 251 | + <username/> | ||
| 252 | + <password>Encrypted </password> | ||
| 253 | + <servername/> | ||
| 254 | + <data_tablespace/> | ||
| 255 | + <index_tablespace/> | ||
| 256 | + <attributes> | ||
| 257 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 258 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 259 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 260 | + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | ||
| 261 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 262 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 263 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 264 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 265 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 266 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 267 | + </attributes> | ||
| 268 | + </connection> | ||
| 269 | + <order> | ||
| 270 | + <hop> <from>原始系统导出的Excel输入</from><to>字段选择</to><enabled>Y</enabled> </hop> | ||
| 271 | + <hop> <from>字段选择</from><to>查找线路关联</to><enabled>Y</enabled> </hop> | ||
| 272 | + <hop> <from>插入/更新bsth_c_s_ccinfo</from><to>错误输出</to><enabled>Y</enabled> </hop> | ||
| 273 | + <hop> <from>是否切换</from><to>插入/更新bsth_c_s_ccinfo</to><enabled>Y</enabled> </hop> | ||
| 274 | + <hop> <from>查找线路关联</from><to>查找车辆关联</to><enabled>Y</enabled> </hop> | ||
| 275 | + <hop> <from>查找车辆关联</from><to>是否切换</to><enabled>Y</enabled> </hop> | ||
| 276 | + <hop> <from>获取变量</from><to>原始系统导出的Excel输入</to><enabled>Y</enabled> </hop> | ||
| 277 | + </order> | ||
| 278 | + <step> | ||
| 279 | + <name>原始系统导出的Excel输入</name> | ||
| 280 | + <type>ExcelInput</type> | ||
| 281 | + <description/> | ||
| 282 | + <distribute>Y</distribute> | ||
| 283 | + <custom_distribution/> | ||
| 284 | + <copies>1</copies> | ||
| 285 | + <partitioning> | ||
| 286 | + <method>none</method> | ||
| 287 | + <schema_name/> | ||
| 288 | + </partitioning> | ||
| 289 | + <header>Y</header> | ||
| 290 | + <noempty>Y</noempty> | ||
| 291 | + <stoponempty>N</stoponempty> | ||
| 292 | + <filefield/> | ||
| 293 | + <sheetfield/> | ||
| 294 | + <sheetrownumfield/> | ||
| 295 | + <rownumfield/> | ||
| 296 | + <sheetfield/> | ||
| 297 | + <filefield/> | ||
| 298 | + <limit>0</limit> | ||
| 299 | + <encoding/> | ||
| 300 | + <add_to_result_filenames>Y</add_to_result_filenames> | ||
| 301 | + <accept_filenames>Y</accept_filenames> | ||
| 302 | + <accept_field>filepath_</accept_field> | ||
| 303 | + <accept_stepname>获取变量</accept_stepname> | ||
| 304 | + <file> | ||
| 305 | + <name/> | ||
| 306 | + <filemask/> | ||
| 307 | + <exclude_filemask/> | ||
| 308 | + <file_required>N</file_required> | ||
| 309 | + <include_subfolders>N</include_subfolders> | ||
| 310 | + </file> | ||
| 311 | + <fields> | ||
| 312 | + <field> | ||
| 313 | + <name>线路</name> | ||
| 314 | + <type>String</type> | ||
| 315 | + <length>-1</length> | ||
| 316 | + <precision>-1</precision> | ||
| 317 | + <trim_type>none</trim_type> | ||
| 318 | + <repeat>N</repeat> | ||
| 319 | + <format/> | ||
| 320 | + <currency/> | ||
| 321 | + <decimal/> | ||
| 322 | + <group/> | ||
| 323 | + </field> | ||
| 324 | + <field> | ||
| 325 | + <name>内部编码</name> | ||
| 326 | + <type>String</type> | ||
| 327 | + <length>-1</length> | ||
| 328 | + <precision>-1</precision> | ||
| 329 | + <trim_type>none</trim_type> | ||
| 330 | + <repeat>N</repeat> | ||
| 331 | + <format/> | ||
| 332 | + <currency/> | ||
| 333 | + <decimal/> | ||
| 334 | + <group/> | ||
| 335 | + </field> | ||
| 336 | + <field> | ||
| 337 | + <name>启用日期</name> | ||
| 338 | + <type>String</type> | ||
| 339 | + <length>-1</length> | ||
| 340 | + <precision>-1</precision> | ||
| 341 | + <trim_type>none</trim_type> | ||
| 342 | + <repeat>N</repeat> | ||
| 343 | + <format/> | ||
| 344 | + <currency/> | ||
| 345 | + <decimal/> | ||
| 346 | + <group/> | ||
| 347 | + </field> | ||
| 348 | + <field> | ||
| 349 | + <name>终结日期</name> | ||
| 350 | + <type>String</type> | ||
| 351 | + <length>-1</length> | ||
| 352 | + <precision>-1</precision> | ||
| 353 | + <trim_type>none</trim_type> | ||
| 354 | + <repeat>N</repeat> | ||
| 355 | + <format/> | ||
| 356 | + <currency/> | ||
| 357 | + <decimal/> | ||
| 358 | + <group/> | ||
| 359 | + </field> | ||
| 360 | + <field> | ||
| 361 | + <name>停车点</name> | ||
| 362 | + <type>String</type> | ||
| 363 | + <length>-1</length> | ||
| 364 | + <precision>-1</precision> | ||
| 365 | + <trim_type>none</trim_type> | ||
| 366 | + <repeat>N</repeat> | ||
| 367 | + <format/> | ||
| 368 | + <currency/> | ||
| 369 | + <decimal/> | ||
| 370 | + <group/> | ||
| 371 | + </field> | ||
| 372 | + </fields> | ||
| 373 | + <sheets> | ||
| 374 | + <sheet> | ||
| 375 | + <name>工作表1</name> | ||
| 376 | + <startrow>0</startrow> | ||
| 377 | + <startcol>0</startcol> | ||
| 378 | + </sheet> | ||
| 379 | + </sheets> | ||
| 380 | + <strict_types>N</strict_types> | ||
| 381 | + <error_ignored>N</error_ignored> | ||
| 382 | + <error_line_skipped>N</error_line_skipped> | ||
| 383 | + <bad_line_files_destination_directory/> | ||
| 384 | + <bad_line_files_extension>warning</bad_line_files_extension> | ||
| 385 | + <error_line_files_destination_directory/> | ||
| 386 | + <error_line_files_extension>error</error_line_files_extension> | ||
| 387 | + <line_number_files_destination_directory/> | ||
| 388 | + <line_number_files_extension>line</line_number_files_extension> | ||
| 389 | + <shortFileFieldName/> | ||
| 390 | + <pathFieldName/> | ||
| 391 | + <hiddenFieldName/> | ||
| 392 | + <lastModificationTimeFieldName/> | ||
| 393 | + <uriNameFieldName/> | ||
| 394 | + <rootUriNameFieldName/> | ||
| 395 | + <extensionFieldName/> | ||
| 396 | + <sizeFieldName/> | ||
| 397 | + <spreadsheet_type>JXL</spreadsheet_type> | ||
| 398 | + <cluster_schema/> | ||
| 399 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 400 | + <xloc>155</xloc> | ||
| 401 | + <yloc>56</yloc> | ||
| 402 | + <draw>Y</draw> | ||
| 403 | + </GUI> | ||
| 404 | + </step> | ||
| 405 | + | ||
| 406 | + <step> | ||
| 407 | + <name>字段选择</name> | ||
| 408 | + <type>SelectValues</type> | ||
| 409 | + <description/> | ||
| 410 | + <distribute>Y</distribute> | ||
| 411 | + <custom_distribution/> | ||
| 412 | + <copies>1</copies> | ||
| 413 | + <partitioning> | ||
| 414 | + <method>none</method> | ||
| 415 | + <schema_name/> | ||
| 416 | + </partitioning> | ||
| 417 | + <fields> <field> <name>线路</name> | ||
| 418 | + <rename>xl</rename> | ||
| 419 | + <length>-2</length> | ||
| 420 | + <precision>-2</precision> | ||
| 421 | + </field> <field> <name>内部编码</name> | ||
| 422 | + <rename>cl</rename> | ||
| 423 | + <length>-2</length> | ||
| 424 | + <precision>-2</precision> | ||
| 425 | + </field> <field> <name>启用日期</name> | ||
| 426 | + <rename>qyrq</rename> | ||
| 427 | + <length>-2</length> | ||
| 428 | + <precision>-2</precision> | ||
| 429 | + </field> <field> <name>终结日期</name> | ||
| 430 | + <rename>zzrq</rename> | ||
| 431 | + <length>-2</length> | ||
| 432 | + <precision>-2</precision> | ||
| 433 | + </field> <field> <name>停车点</name> | ||
| 434 | + <rename>tcd</rename> | ||
| 435 | + <length>-2</length> | ||
| 436 | + <precision>-2</precision> | ||
| 437 | + </field> <select_unspecified>N</select_unspecified> | ||
| 438 | + </fields> <cluster_schema/> | ||
| 439 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 440 | + <xloc>306</xloc> | ||
| 441 | + <yloc>56</yloc> | ||
| 442 | + <draw>Y</draw> | ||
| 443 | + </GUI> | ||
| 444 | + </step> | ||
| 445 | + | ||
| 446 | + <step> | ||
| 447 | + <name>插入/更新bsth_c_s_ccinfo</name> | ||
| 448 | + <type>InsertUpdate</type> | ||
| 449 | + <description/> | ||
| 450 | + <distribute>Y</distribute> | ||
| 451 | + <custom_distribution/> | ||
| 452 | + <copies>1</copies> | ||
| 453 | + <partitioning> | ||
| 454 | + <method>none</method> | ||
| 455 | + <schema_name/> | ||
| 456 | + </partitioning> | ||
| 457 | + <connection>bus_control_variable</connection> | ||
| 458 | + <commit>100</commit> | ||
| 459 | + <update_bypassed>N</update_bypassed> | ||
| 460 | + <lookup> | ||
| 461 | + <schema/> | ||
| 462 | + <table>bsth_c_s_ccinfo</table> | ||
| 463 | + <key> | ||
| 464 | + <name>xlId</name> | ||
| 465 | + <field>xl</field> | ||
| 466 | + <condition>=</condition> | ||
| 467 | + <name2/> | ||
| 468 | + </key> | ||
| 469 | + <key> | ||
| 470 | + <name>clId</name> | ||
| 471 | + <field>cl</field> | ||
| 472 | + <condition>=</condition> | ||
| 473 | + <name2/> | ||
| 474 | + </key> | ||
| 475 | + <value> | ||
| 476 | + <name>xl</name> | ||
| 477 | + <rename>xlId</rename> | ||
| 478 | + <update>Y</update> | ||
| 479 | + </value> | ||
| 480 | + <value> | ||
| 481 | + <name>cl</name> | ||
| 482 | + <rename>clId</rename> | ||
| 483 | + <update>Y</update> | ||
| 484 | + </value> | ||
| 485 | + <value> | ||
| 486 | + <name>is_switch</name> | ||
| 487 | + <rename>isswitch</rename> | ||
| 488 | + <update>Y</update> | ||
| 489 | + </value> | ||
| 490 | + <value> | ||
| 491 | + <name>tcd</name> | ||
| 492 | + <rename>tcd</rename> | ||
| 493 | + <update>Y</update> | ||
| 494 | + </value> | ||
| 495 | + <value> | ||
| 496 | + <name>zzrq</name> | ||
| 497 | + <rename>zzrq</rename> | ||
| 498 | + <update>Y</update> | ||
| 499 | + </value> | ||
| 500 | + <value> | ||
| 501 | + <name>qyrq</name> | ||
| 502 | + <rename>qyrq</rename> | ||
| 503 | + <update>Y</update> | ||
| 504 | + </value> | ||
| 505 | + </lookup> | ||
| 506 | + <cluster_schema/> | ||
| 507 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 508 | + <xloc>715</xloc> | ||
| 509 | + <yloc>197</yloc> | ||
| 510 | + <draw>Y</draw> | ||
| 511 | + </GUI> | ||
| 512 | + </step> | ||
| 513 | + | ||
| 514 | + <step> | ||
| 515 | + <name>是否切换</name> | ||
| 516 | + <type>Constant</type> | ||
| 517 | + <description/> | ||
| 518 | + <distribute>Y</distribute> | ||
| 519 | + <custom_distribution/> | ||
| 520 | + <copies>1</copies> | ||
| 521 | + <partitioning> | ||
| 522 | + <method>none</method> | ||
| 523 | + <schema_name/> | ||
| 524 | + </partitioning> | ||
| 525 | + <fields> | ||
| 526 | + <field> | ||
| 527 | + <name>isswitch</name> | ||
| 528 | + <type>Integer</type> | ||
| 529 | + <format/> | ||
| 530 | + <currency/> | ||
| 531 | + <decimal/> | ||
| 532 | + <group/> | ||
| 533 | + <nullif>0</nullif> | ||
| 534 | + <length>-1</length> | ||
| 535 | + <precision>-1</precision> | ||
| 536 | + <set_empty_string>N</set_empty_string> | ||
| 537 | + </field> | ||
| 538 | + </fields> | ||
| 539 | + <cluster_schema/> | ||
| 540 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 541 | + <xloc>713</xloc> | ||
| 542 | + <yloc>54</yloc> | ||
| 543 | + <draw>Y</draw> | ||
| 544 | + </GUI> | ||
| 545 | + </step> | ||
| 546 | + | ||
| 547 | + <step> | ||
| 548 | + <name>查找线路关联</name> | ||
| 549 | + <type>DBLookup</type> | ||
| 550 | + <description/> | ||
| 551 | + <distribute>Y</distribute> | ||
| 552 | + <custom_distribution/> | ||
| 553 | + <copies>1</copies> | ||
| 554 | + <partitioning> | ||
| 555 | + <method>none</method> | ||
| 556 | + <schema_name/> | ||
| 557 | + </partitioning> | ||
| 558 | + <connection>bus_control_variable</connection> | ||
| 559 | + <cache>N</cache> | ||
| 560 | + <cache_load_all>N</cache_load_all> | ||
| 561 | + <cache_size>0</cache_size> | ||
| 562 | + <lookup> | ||
| 563 | + <schema/> | ||
| 564 | + <table>bsth_c_line</table> | ||
| 565 | + <orderby/> | ||
| 566 | + <fail_on_multiple>N</fail_on_multiple> | ||
| 567 | + <eat_row_on_failure>N</eat_row_on_failure> | ||
| 568 | + <key> | ||
| 569 | + <name>xl</name> | ||
| 570 | + <field>name</field> | ||
| 571 | + <condition>=</condition> | ||
| 572 | + <name2/> | ||
| 573 | + </key> | ||
| 574 | + <value> | ||
| 575 | + <name>id</name> | ||
| 576 | + <rename>xlId</rename> | ||
| 577 | + <default/> | ||
| 578 | + <type>Integer</type> | ||
| 579 | + </value> | ||
| 580 | + </lookup> | ||
| 581 | + <cluster_schema/> | ||
| 582 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 583 | + <xloc>439</xloc> | ||
| 584 | + <yloc>56</yloc> | ||
| 585 | + <draw>Y</draw> | ||
| 586 | + </GUI> | ||
| 587 | + </step> | ||
| 588 | + | ||
| 589 | + <step> | ||
| 590 | + <name>查找车辆关联</name> | ||
| 591 | + <type>DBLookup</type> | ||
| 592 | + <description/> | ||
| 593 | + <distribute>Y</distribute> | ||
| 594 | + <custom_distribution/> | ||
| 595 | + <copies>1</copies> | ||
| 596 | + <partitioning> | ||
| 597 | + <method>none</method> | ||
| 598 | + <schema_name/> | ||
| 599 | + </partitioning> | ||
| 600 | + <connection>bus_control_variable</connection> | ||
| 601 | + <cache>N</cache> | ||
| 602 | + <cache_load_all>N</cache_load_all> | ||
| 603 | + <cache_size>0</cache_size> | ||
| 604 | + <lookup> | ||
| 605 | + <schema/> | ||
| 606 | + <table>bsth_c_cars</table> | ||
| 607 | + <orderby/> | ||
| 608 | + <fail_on_multiple>N</fail_on_multiple> | ||
| 609 | + <eat_row_on_failure>N</eat_row_on_failure> | ||
| 610 | + <key> | ||
| 611 | + <name>cl</name> | ||
| 612 | + <field>inside_code</field> | ||
| 613 | + <condition>=</condition> | ||
| 614 | + <name2/> | ||
| 615 | + </key> | ||
| 616 | + <value> | ||
| 617 | + <name>id</name> | ||
| 618 | + <rename>clId</rename> | ||
| 619 | + <default/> | ||
| 620 | + <type>Integer</type> | ||
| 621 | + </value> | ||
| 622 | + </lookup> | ||
| 623 | + <cluster_schema/> | ||
| 624 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 625 | + <xloc>579</xloc> | ||
| 626 | + <yloc>55</yloc> | ||
| 627 | + <draw>Y</draw> | ||
| 628 | + </GUI> | ||
| 629 | + </step> | ||
| 630 | + | ||
| 631 | + <step> | ||
| 632 | + <name>获取变量</name> | ||
| 633 | + <type>GetVariable</type> | ||
| 634 | + <description/> | ||
| 635 | + <distribute>Y</distribute> | ||
| 636 | + <custom_distribution/> | ||
| 637 | + <copies>1</copies> | ||
| 638 | + <partitioning> | ||
| 639 | + <method>none</method> | ||
| 640 | + <schema_name/> | ||
| 641 | + </partitioning> | ||
| 642 | + <fields> | ||
| 643 | + <field> | ||
| 644 | + <name>filepath_</name> | ||
| 645 | + <variable>${filepath}</variable> | ||
| 646 | + <type>String</type> | ||
| 647 | + <format/> | ||
| 648 | + <currency/> | ||
| 649 | + <decimal/> | ||
| 650 | + <group/> | ||
| 651 | + <length>-1</length> | ||
| 652 | + <precision>-1</precision> | ||
| 653 | + <trim_type>none</trim_type> | ||
| 654 | + </field> | ||
| 655 | + <field> | ||
| 656 | + <name>erroroutputdir_</name> | ||
| 657 | + <variable>${erroroutputdir}</variable> | ||
| 658 | + <type>String</type> | ||
| 659 | + <format/> | ||
| 660 | + <currency/> | ||
| 661 | + <decimal/> | ||
| 662 | + <group/> | ||
| 663 | + <length>-1</length> | ||
| 664 | + <precision>-1</precision> | ||
| 665 | + <trim_type>none</trim_type> | ||
| 666 | + </field> | ||
| 667 | + </fields> | ||
| 668 | + <cluster_schema/> | ||
| 669 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 670 | + <xloc>156</xloc> | ||
| 671 | + <yloc>150</yloc> | ||
| 672 | + <draw>Y</draw> | ||
| 673 | + </GUI> | ||
| 674 | + </step> | ||
| 675 | + | ||
| 676 | + <step> | ||
| 677 | + <name>错误输出</name> | ||
| 678 | + <type>ExcelOutput</type> | ||
| 679 | + <description/> | ||
| 680 | + <distribute>Y</distribute> | ||
| 681 | + <custom_distribution/> | ||
| 682 | + <copies>1</copies> | ||
| 683 | + <partitioning> | ||
| 684 | + <method>none</method> | ||
| 685 | + <schema_name/> | ||
| 686 | + </partitioning> | ||
| 687 | + <header>Y</header> | ||
| 688 | + <footer>N</footer> | ||
| 689 | + <encoding>UTF-8</encoding> | ||
| 690 | + <append>N</append> | ||
| 691 | + <add_to_result_filenames>Y</add_to_result_filenames> | ||
| 692 | + <file> | ||
| 693 | + <name>${erroroutputdir}/当前配车_错误</name> | ||
| 694 | + <extention>xls</extention> | ||
| 695 | + <do_not_open_newfile_init>N</do_not_open_newfile_init> | ||
| 696 | + <create_parent_folder>N</create_parent_folder> | ||
| 697 | + <split>N</split> | ||
| 698 | + <add_date>N</add_date> | ||
| 699 | + <add_time>N</add_time> | ||
| 700 | + <SpecifyFormat>N</SpecifyFormat> | ||
| 701 | + <date_time_format/> | ||
| 702 | + <sheetname>Sheet1</sheetname> | ||
| 703 | + <autosizecolums>N</autosizecolums> | ||
| 704 | + <nullisblank>N</nullisblank> | ||
| 705 | + <protect_sheet>N</protect_sheet> | ||
| 706 | + <password>Encrypted </password> | ||
| 707 | + <splitevery>0</splitevery> | ||
| 708 | + <usetempfiles>N</usetempfiles> | ||
| 709 | + <tempdirectory/> | ||
| 710 | + </file> | ||
| 711 | + <template> | ||
| 712 | + <enabled>N</enabled> | ||
| 713 | + <append>N</append> | ||
| 714 | + <filename>template.xls</filename> | ||
| 715 | + </template> | ||
| 716 | + <fields> | ||
| 717 | + <field> | ||
| 718 | + <name>xl</name> | ||
| 719 | + <type>String</type> | ||
| 720 | + <format/> | ||
| 721 | + </field> | ||
| 722 | + <field> | ||
| 723 | + <name>cl</name> | ||
| 724 | + <type>String</type> | ||
| 725 | + <format/> | ||
| 726 | + </field> | ||
| 727 | + <field> | ||
| 728 | + <name>qyrq</name> | ||
| 729 | + <type>String</type> | ||
| 730 | + <format/> | ||
| 731 | + </field> | ||
| 732 | + <field> | ||
| 733 | + <name>zzrq</name> | ||
| 734 | + <type>String</type> | ||
| 735 | + <format/> | ||
| 736 | + </field> | ||
| 737 | + <field> | ||
| 738 | + <name>tcd</name> | ||
| 739 | + <type>String</type> | ||
| 740 | + <format/> | ||
| 741 | + </field> | ||
| 742 | + <field> | ||
| 743 | + <name>xlId</name> | ||
| 744 | + <type>Integer</type> | ||
| 745 | + <format/> | ||
| 746 | + </field> | ||
| 747 | + <field> | ||
| 748 | + <name>clId</name> | ||
| 749 | + <type>Integer</type> | ||
| 750 | + <format/> | ||
| 751 | + </field> | ||
| 752 | + <field> | ||
| 753 | + <name>isswitch</name> | ||
| 754 | + <type>Integer</type> | ||
| 755 | + <format/> | ||
| 756 | + </field> | ||
| 757 | + <field> | ||
| 758 | + <name>error_count</name> | ||
| 759 | + <type>Integer</type> | ||
| 760 | + <format/> | ||
| 761 | + </field> | ||
| 762 | + <field> | ||
| 763 | + <name>error_desc</name> | ||
| 764 | + <type>String</type> | ||
| 765 | + <format/> | ||
| 766 | + </field> | ||
| 767 | + <field> | ||
| 768 | + <name>error_column1</name> | ||
| 769 | + <type>String</type> | ||
| 770 | + <format/> | ||
| 771 | + </field> | ||
| 772 | + <field> | ||
| 773 | + <name>error_column2</name> | ||
| 774 | + <type>String</type> | ||
| 775 | + <format/> | ||
| 776 | + </field> | ||
| 777 | + </fields> | ||
| 778 | + <custom> | ||
| 779 | + <header_font_name>arial</header_font_name> | ||
| 780 | + <header_font_size>10</header_font_size> | ||
| 781 | + <header_font_bold>N</header_font_bold> | ||
| 782 | + <header_font_italic>N</header_font_italic> | ||
| 783 | + <header_font_underline>no</header_font_underline> | ||
| 784 | + <header_font_orientation>horizontal</header_font_orientation> | ||
| 785 | + <header_font_color>black</header_font_color> | ||
| 786 | + <header_background_color>none</header_background_color> | ||
| 787 | + <header_row_height>255</header_row_height> | ||
| 788 | + <header_alignment>left</header_alignment> | ||
| 789 | + <header_image/> | ||
| 790 | + <row_font_name>arial</row_font_name> | ||
| 791 | + <row_font_size>10</row_font_size> | ||
| 792 | + <row_font_color>black</row_font_color> | ||
| 793 | + <row_background_color>none</row_background_color> | ||
| 794 | + </custom> | ||
| 795 | + <cluster_schema/> | ||
| 796 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 797 | + <xloc>718</xloc> | ||
| 798 | + <yloc>314</yloc> | ||
| 799 | + <draw>Y</draw> | ||
| 800 | + </GUI> | ||
| 801 | + </step> | ||
| 802 | + | ||
| 803 | + <step_error_handling> | ||
| 804 | + <error> | ||
| 805 | + <source_step>插入/更新bsth_c_s_ccinfo</source_step> | ||
| 806 | + <target_step>错误输出</target_step> | ||
| 807 | + <is_enabled>Y</is_enabled> | ||
| 808 | + <nr_valuename>error_count</nr_valuename> | ||
| 809 | + <descriptions_valuename>error_desc</descriptions_valuename> | ||
| 810 | + <fields_valuename>error_column1</fields_valuename> | ||
| 811 | + <codes_valuename>error_column2</codes_valuename> | ||
| 812 | + <max_errors/> | ||
| 813 | + <max_pct_errors/> | ||
| 814 | + <min_pct_rows/> | ||
| 815 | + </error> | ||
| 816 | + </step_error_handling> | ||
| 817 | + <slave-step-copy-partition-distribution> | ||
| 818 | +</slave-step-copy-partition-distribution> | ||
| 819 | + <slave_transformation>N</slave_transformation> | ||
| 820 | + | ||
| 821 | +</transformation> |