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 | 115 | <artifactId>commons-net</artifactId> |
| 116 | 116 | <version>3.5</version> |
| 117 | 117 | </dependency> |
| 118 | + <dependency> | |
| 119 | + <groupId>org.apache.commons</groupId> | |
| 120 | + <artifactId>commons-compress</artifactId> | |
| 121 | + <version>1.3</version> | |
| 122 | + </dependency> | |
| 118 | 123 | <!-- drools 6依赖 --> |
| 119 | 124 | <dependency> |
| 120 | 125 | <groupId>org.kie</groupId> |
| ... | ... | @@ -164,6 +169,16 @@ |
| 164 | 169 | <artifactId>jxl</artifactId> |
| 165 | 170 | <version>2.6.12</version> |
| 166 | 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 | 183 | </dependencies> |
| 169 | 184 | |
| ... | ... | @@ -227,4 +242,4 @@ |
| 227 | 242 | <url>http://repo.spring.io/milestone</url> |
| 228 | 243 | </pluginRepository> |
| 229 | 244 | </pluginRepositories> |
| 230 | -</project> | |
| 231 | 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 | 32 | public class BaseController<T, ID extends Serializable> { |
| 33 | 33 | |
| 34 | 34 | @Autowired |
| 35 | - BaseService<T, ID> baseService; | |
| 35 | + protected BaseService<T, ID> baseService; | |
| 36 | 36 | @Autowired |
| 37 | 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 | 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 | 48 | @RequestMapping(value="carParkSave" , method = RequestMethod.POST) |
| 33 | 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 | 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 | 80 | @RequestMapping(value="carParkUpdate" , method = RequestMethod.POST) |
| 50 | 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 | 60 | |
| 61 | 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 | 2 | |
| 3 | 3 | import com.bsth.controller.BaseController; |
| 4 | 4 | import com.bsth.entity.schedule.CarConfigInfo; |
| 5 | +import com.bsth.repository.schedule.CarConfigInfoRepository; | |
| 5 | 6 | import com.bsth.service.schedule.utils.DataToolsProperties; |
| 6 | 7 | import org.springframework.beans.factory.annotation.Autowired; |
| 7 | 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 | 14 | * Created by xu on 16/5/9. |
| ... | ... | @@ -17,9 +19,30 @@ import org.springframework.web.bind.annotation.RestController; |
| 17 | 19 | public class CarConfigInfoController extends BaseController<CarConfigInfo, Long> { |
| 18 | 20 | @Autowired |
| 19 | 21 | private DataToolsProperties dataToolsProperties; |
| 22 | + @Autowired | |
| 23 | + private CarConfigInfoRepository carConfigInfoRepository; | |
| 20 | 24 | |
| 21 | 25 | @Override |
| 22 | 26 | protected String getDataImportKtrClasspath() { |
| 23 | 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 | 2 | |
| 3 | 3 | import com.bsth.controller.BaseController; |
| 4 | 4 | import com.bsth.entity.schedule.EmployeeConfigInfo; |
| 5 | +import com.bsth.repository.schedule.EmployeeConfigInfoRepository; | |
| 5 | 6 | import com.bsth.service.schedule.utils.DataToolsProperties; |
| 6 | 7 | import org.springframework.beans.factory.annotation.Autowired; |
| 7 | 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 | 14 | * Created by xu on 16/5/10. |
| ... | ... | @@ -17,9 +19,30 @@ import org.springframework.web.bind.annotation.RestController; |
| 17 | 19 | public class EmployeeConfigInfoController extends BaseController<EmployeeConfigInfo, Long> { |
| 18 | 20 | @Autowired |
| 19 | 21 | private DataToolsProperties dataToolsProperties; |
| 22 | + @Autowired | |
| 23 | + private EmployeeConfigInfoRepository employeeConfigInfoRepository; | |
| 20 | 24 | |
| 21 | 25 | @Override |
| 22 | 26 | protected String getDataImportKtrClasspath() { |
| 23 | 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 | 2 | |
| 3 | 3 | import com.bsth.controller.BaseController; |
| 4 | 4 | import com.bsth.entity.schedule.GuideboardInfo; |
| 5 | +import com.bsth.repository.schedule.GuideboardInfoRepository; | |
| 5 | 6 | import com.bsth.service.schedule.utils.DataToolsProperties; |
| 6 | 7 | import org.springframework.beans.factory.annotation.Autowired; |
| 7 | 8 | import org.springframework.boot.context.properties.EnableConfigurationProperties; |
| 9 | +import org.springframework.web.bind.annotation.PathVariable; | |
| 8 | 10 | import org.springframework.web.bind.annotation.RequestMapping; |
| 9 | 11 | import org.springframework.web.bind.annotation.RestController; |
| 10 | 12 | |
| ... | ... | @@ -17,9 +19,16 @@ import org.springframework.web.bind.annotation.RestController; |
| 17 | 19 | public class GuideboardInfoController extends BaseController<GuideboardInfo, Long> { |
| 18 | 20 | @Autowired |
| 19 | 21 | private DataToolsProperties dataToolsProperties; |
| 22 | + @Autowired | |
| 23 | + private GuideboardInfoRepository guideboardInfoRepository; | |
| 20 | 24 | |
| 21 | 25 | @Override |
| 22 | 26 | protected String getDataImportKtrClasspath() { |
| 23 | 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 | 26 | @GeneratedValue |
| 27 | 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 | 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 | 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 | import com.bsth.entity.sys.SysUser; |
| 7 | 7 | |
| 8 | 8 | import javax.persistence.*; |
| 9 | +import javax.validation.constraints.NotNull; | |
| 9 | 10 | import java.util.Date; |
| 10 | 11 | |
| 11 | 12 | /** |
| ... | ... | @@ -14,7 +15,7 @@ import java.util.Date; |
| 14 | 15 | @Entity |
| 15 | 16 | @Table(name = "bsth_c_s_ecinfo") |
| 16 | 17 | @NamedEntityGraphs({ |
| 17 | - @NamedEntityGraph(name = "employeeConfigInfo_xl_cl", attributeNodes = { | |
| 18 | + @NamedEntityGraph(name = "employeeConfigInfo_jsy_spy_xl", attributeNodes = { | |
| 18 | 19 | @NamedAttributeNode("jsy"), |
| 19 | 20 | @NamedAttributeNode("spy"), |
| 20 | 21 | @NamedAttributeNode("xl") |
| ... | ... | @@ -28,19 +29,20 @@ public class EmployeeConfigInfo { |
| 28 | 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 | 33 | private Line xl; |
| 33 | - /** 车辆关联 */ | |
| 34 | - @ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | |
| 34 | + /** 车辆关联(TODO:貌似没用了) */ | |
| 35 | + @ManyToOne(cascade = CascadeType.DETACH, fetch = FetchType.LAZY) | |
| 35 | 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 | 39 | private Personnel jsy; |
| 39 | 40 | /** 人员关联(售票员) */ |
| 40 | - @ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | |
| 41 | + @ManyToOne(cascade = CascadeType.DETACH, fetch = FetchType.LAZY) | |
| 41 | 42 | private Personnel spy; |
| 42 | 43 | |
| 43 | - /** 搭班编码(TODO:估计是售票员和驾驶员搭配时使用) */ | |
| 44 | + /** 搭班编码(是售票员和驾驶员搭配时使用,同一条线路搭班编码不能重复) */ | |
| 45 | + @NotNull | |
| 44 | 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 | 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 | 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 | 76 | "park_name = ?4 , " + |
| 77 | 77 | "branche_company = ?5 , " + |
| 78 | 78 | "create_by = ?6 , " + |
| 79 | - "create_date = ?7 , " + | |
| 79 | + "create_date = str_to_date(?7,'%Y-%m-%d %H:%i:%s') , " + | |
| 80 | 80 | "descriptions = ?8 , " + |
| 81 | 81 | "destroy = ?9 , " + |
| 82 | 82 | "update_by = ?10 , " + |
| 83 | - "update_date = ?11 , " + | |
| 83 | + "update_date =str_to_date(?11,'%Y-%m-%d %H:%i:%s') , " + | |
| 84 | 84 | "versions = ?12 , " + |
| 85 | 85 | "b_center_point = ?13 , " + |
| 86 | 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 | 57 | " b.section_distance AS sectionDistance," + |
| 58 | 58 | " b.section_time AS sectionTime," + |
| 59 | 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 | 61 | "SELECT r.id AS sectionrouteId," + |
| 62 | 62 | "r.line AS sectionrouteLine," + |
| 63 | 63 | "r.line_code AS sectionrouteLineCode," + |
| 64 | 64 | "r.section AS sectionrouteSection," + |
| 65 | 65 | "r.section_code AS sectionrouteSectionCode," + |
| 66 | 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 | 72 | " LEFT JOIN bsth_c_section b ON a.sectionrouteSection = b.id", nativeQuery=true) |
| 70 | 73 | List<Object[]> getSectionRoute(int lineId, int directions); |
| 71 | 74 | |
| ... | ... | @@ -128,4 +131,14 @@ public interface SectionRouteRepository extends BaseRepository<SectionRoute, Int |
| 128 | 131 | " LEFT JOIN bsth_c_section b on a.sectionRouteSection = b.id", nativeQuery=true) |
| 129 | 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 | 103 | " WHERE id = ?17 ", nativeQuery=true) |
| 104 | 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 | 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 | 21 | @EntityGraph(value = "carConfigInfo_xl_cl", type = EntityGraph.EntityGraphType.FETCH) |
| 22 | 22 | @Override |
| 23 | 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 | 31 | @Query("select cc from CarConfigInfo cc where cc.xl.lineCode=?1") |
| 27 | 32 | List<CarConfigInfo> findBylineCode(String lineCode); |
| 28 | 33 | } |
| 29 | 34 | \ No newline at end of file | ... | ... |
src/main/java/com/bsth/repository/schedule/EmployeeConfigInfoRepository.java
| 1 | 1 | package com.bsth.repository.schedule; |
| 2 | 2 | |
| 3 | +import com.bsth.entity.schedule.CarConfigInfo; | |
| 3 | 4 | import com.bsth.entity.schedule.EmployeeConfigInfo; |
| 4 | 5 | import com.bsth.repository.BaseRepository; |
| 5 | 6 | |
| ... | ... | @@ -22,7 +23,11 @@ public interface EmployeeConfigInfoRepository extends BaseRepository<EmployeeCon |
| 22 | 23 | @Query("select ec from EmployeeConfigInfo ec where ec.xl.lineCode=?1") |
| 23 | 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 | 27 | @Override |
| 27 | 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 | 1 | package com.bsth.repository.schedule; |
| 2 | 2 | |
| 3 | +import com.bsth.entity.schedule.EmployeeConfigInfo; | |
| 3 | 4 | import com.bsth.entity.schedule.GuideboardInfo; |
| 4 | 5 | import com.bsth.repository.BaseRepository; |
| 5 | 6 | import org.springframework.data.domain.Page; |
| 6 | 7 | import org.springframework.data.domain.Pageable; |
| 7 | 8 | import org.springframework.data.jpa.domain.Specification; |
| 8 | 9 | import org.springframework.data.jpa.repository.EntityGraph; |
| 10 | +import org.springframework.data.jpa.repository.Query; | |
| 9 | 11 | import org.springframework.stereotype.Repository; |
| 10 | 12 | |
| 11 | 13 | /** |
| ... | ... | @@ -17,4 +19,8 @@ public interface GuideboardInfoRepository extends BaseRepository<GuideboardInfo, |
| 17 | 19 | @EntityGraph(value = "guideboardInfo_xl", type = EntityGraph.EntityGraphType.FETCH) |
| 18 | 20 | @Override |
| 19 | 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 | 11 | |
| 12 | 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 | 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 | 32 | * @return List<Map<String, Object>> |
| 33 | 33 | */ |
| 34 | 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 | 11 | import com.bsth.entity.CarPark; |
| 12 | 12 | import com.bsth.repository.CarParkRepository; |
| 13 | 13 | import com.bsth.service.CarParkService; |
| 14 | +import com.bsth.util.TransGPS; | |
| 15 | +import com.bsth.util.TransGPS.Location; | |
| 14 | 16 | |
| 15 | 17 | import org.springframework.beans.factory.annotation.Autowired; |
| 16 | 18 | import org.springframework.stereotype.Service; |
| ... | ... | @@ -42,13 +44,64 @@ public class CarParkServiceImpl extends BaseServiceImpl<CarPark, Integer> implem |
| 42 | 44 | String bParkPoint = map.get("bParkPoint").equals("") ? "" : map.get("bParkPoint").toString(); |
| 43 | 45 | |
| 44 | 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 | 83 | String bCenterPoint = map.get("bCenterPoint").equals("") ? "" : map.get("bCenterPoint").toString(); |
| 49 | 84 | |
| 50 | 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 | 107 | String dbType = map.get("dbType").equals("") ? "" : map.get("dbType").toString(); |
| ... | ... | @@ -179,7 +232,22 @@ public class CarParkServiceImpl extends BaseServiceImpl<CarPark, Integer> implem |
| 179 | 232 | |
| 180 | 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 | 251 | @Override |
| 184 | 252 | public Map<String, Object> carParkUpdate(Map<String, Object> map) { |
| 185 | 253 | Map<String, Object> resultMap = new HashMap<String, Object>(); |
| ... | ... | @@ -216,10 +284,61 @@ public class CarParkServiceImpl extends BaseServiceImpl<CarPark, Integer> implem |
| 216 | 284 | Integer destroy = map.get("destroy").equals("") ? null : Integer.parseInt(map.get("destroy").toString()); |
| 217 | 285 | |
| 218 | 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 | 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 | 344 | String parkCode = map.get("parkCode").equals("") ? "" : map.get("parkCode").toString(); |
| ... | ... | @@ -267,5 +386,22 @@ public class CarParkServiceImpl extends BaseServiceImpl<CarPark, Integer> implem |
| 267 | 386 | |
| 268 | 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 | 8 | import org.springframework.beans.factory.annotation.Autowired; |
| 9 | 9 | import org.springframework.stereotype.Service; |
| 10 | 10 | |
| 11 | -import com.bsth.common.ResponseCode; | |
| 12 | 11 | import com.bsth.entity.SectionRoute; |
| 13 | 12 | import com.bsth.repository.SectionRouteRepository; |
| 14 | 13 | import com.bsth.service.SectionRouteService; |
| ... | ... | @@ -191,4 +190,43 @@ public class SectionRouteServiceImpl extends BaseServiceImpl<SectionRoute, Integ |
| 191 | 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 | 282 | // 限速 |
| 283 | 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 | 294 | tempM.put("name", sectionList.get(i)[9]); |
| 286 | 295 | |
| 287 | 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 | 822 | |
| 823 | 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 | 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 | 896 | // 线路 |
| 897 | 897 | arg0.setLine(resultLine); |
| 898 | 898 | |
| 899 | + arg0.setLineCode(resultLine.getLineCode()); | |
| 900 | + | |
| 899 | 901 | // 站点 |
| 900 | 902 | arg0.setStation(station); |
| 901 | 903 | |
| ... | ... | @@ -984,9 +986,33 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem |
| 984 | 986 | String bJwpoints = map.get("bJwpoints").equals("") ? "" : map.get("bJwpoints").toString(); |
| 985 | 987 | |
| 986 | 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 | 1016 | String gLonx = ""; |
| 991 | 1017 | |
| 992 | 1018 | // 站点地理位置WGS坐标纬度 |
| ... | ... | @@ -1000,7 +1026,7 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem |
| 1000 | 1026 | |
| 1001 | 1027 | gLaty = gJwpointsArray[1]; |
| 1002 | 1028 | |
| 1003 | - } | |
| 1029 | + }*/ | |
| 1004 | 1030 | |
| 1005 | 1031 | // 图形类型 |
| 1006 | 1032 | String shapesType = map.get("shapesType").equals("") ? "" : map.get("shapesType").toString(); |
| ... | ... | @@ -1009,10 +1035,43 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem |
| 1009 | 1035 | Integer radius = map.get("radius").equals("") ? null : Integer.parseInt(map.get("radius").toString()); |
| 1010 | 1036 | |
| 1011 | 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 | 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 | 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 | 1093 | // 站点路由Id |
| 1034 | 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 | 1 | package com.bsth.service.schedule.utils; |
| 2 | 2 | |
| 3 | 3 | import com.google.common.io.Files; |
| 4 | -import org.pentaho.di.core.KettleEnvironment; | |
| 5 | -import org.pentaho.di.core.util.EnvUtil; | |
| 6 | 4 | import org.pentaho.di.trans.Trans; |
| 7 | 5 | import org.pentaho.di.trans.TransMeta; |
| 6 | +import org.springframework.beans.factory.InitializingBean; | |
| 8 | 7 | import org.springframework.beans.factory.annotation.Autowired; |
| 9 | 8 | import org.springframework.boot.context.properties.EnableConfigurationProperties; |
| 10 | 9 | import org.springframework.stereotype.Service; |
| ... | ... | @@ -17,18 +16,33 @@ import java.io.File; |
| 17 | 16 | */ |
| 18 | 17 | @Service |
| 19 | 18 | @EnableConfigurationProperties(DataToolsProperties.class) |
| 20 | -public class DataImportExportServiceImpl implements DataImportExportService { | |
| 19 | +public class DataImportExportServiceImpl implements DataImportExportService, InitializingBean { | |
| 21 | 20 | |
| 22 | 21 | @Autowired |
| 23 | 22 | private DataToolsProperties dataToolsProperties; |
| 24 | 23 | |
| 25 | 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 | 39 | public File uploadFile(MultipartFile file) throws Exception { |
| 27 | 40 | // TODO:以后的文件名要加时间戳 |
| 28 | 41 | File newFile = new File( |
| 29 | 42 | dataToolsProperties.getFileuploadDir() + File.separator + |
| 30 | 43 | file.getOriginalFilename()); |
| 31 | 44 | Files.write(file.getBytes(), newFile); |
| 45 | + | |
| 32 | 46 | return newFile; |
| 33 | 47 | } |
| 34 | 48 | |
| ... | ... | @@ -38,9 +52,7 @@ public class DataImportExportServiceImpl implements DataImportExportService { |
| 38 | 52 | File uploadFile = uploadFile(datafile); |
| 39 | 53 | |
| 40 | 54 | // 2、使用kettle运行封装数据导入逻辑的ktr转换文件 |
| 41 | - // 2.1、初始化kettle | |
| 42 | - EnvUtil.environmentInit(); | |
| 43 | - KettleEnvironment.init(); | |
| 55 | + // 2.1、初始化kettle(组件初始化已经做了) | |
| 44 | 56 | // 2.2、创建转换元数据,转换 |
| 45 | 57 | TransMeta transMeta = new TransMeta(ktrFile.getAbsolutePath()); |
| 46 | 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 | 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> | ... | ... |