Commit d7fbf13f31618c2848a81081d8eb88637fb679e8
Merge branch 'master' of 192.168.168.201:panzhaov5/bsth_control
# Conflicts: # src/main/resources/application.properties
Showing
138 changed files
with
15353 additions
and
10570 deletions
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> | ... | ... |
src/main/resources/datatools/ktrs/carsDataInput.ktr
| 1 | -<<<<<<< HEAD | |
| 2 | -<?xml version="1.0" encoding="UTF-8"?> | |
| 3 | -<transformation> | |
| 4 | - <info> | |
| 5 | - <name>carsDataInput</name> | |
| 6 | - <description>车辆信息导入</description> | |
| 7 | - <extended_description>车辆基础信息</extended_description> | |
| 8 | - <trans_version/> | |
| 9 | - <trans_type>Normal</trans_type> | |
| 10 | - <trans_status>0</trans_status> | |
| 11 | - <directory>/</directory> | |
| 12 | - <parameters> | |
| 13 | - <parameter> | |
| 14 | - <name>erroroutputdir</name> | |
| 15 | - <default_value/> | |
| 16 | - <description>ktr step配置的错误输出目录</description> | |
| 17 | - </parameter> | |
| 18 | - <parameter> | |
| 19 | - <name>filepath</name> | |
| 20 | - <default_value/> | |
| 21 | - <description>待处理导入的excel文件</description> | |
| 22 | - </parameter> | |
| 23 | - </parameters> | |
| 24 | - <log> | |
| 25 | -<trans-log-table><connection/> | |
| 26 | -<schema/> | |
| 27 | -<table/> | |
| 28 | -<size_limit_lines/> | |
| 29 | -<interval/> | |
| 30 | -<timeout_days/> | |
| 31 | -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>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> | |
| 32 | -<perf-log-table><connection/> | |
| 33 | -<schema/> | |
| 34 | -<table/> | |
| 35 | -<interval/> | |
| 36 | -<timeout_days/> | |
| 37 | -<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> | |
| 38 | -<channel-log-table><connection/> | |
| 39 | -<schema/> | |
| 40 | -<table/> | |
| 41 | -<timeout_days/> | |
| 42 | -<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> | |
| 43 | -<step-log-table><connection/> | |
| 44 | -<schema/> | |
| 45 | -<table/> | |
| 46 | -<timeout_days/> | |
| 47 | -<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> | |
| 48 | -<metrics-log-table><connection/> | |
| 49 | -<schema/> | |
| 50 | -<table/> | |
| 51 | -<timeout_days/> | |
| 52 | -<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> | |
| 53 | - </log> | |
| 54 | - <maxdate> | |
| 55 | - <connection/> | |
| 56 | - <table/> | |
| 57 | - <field/> | |
| 58 | - <offset>0.0</offset> | |
| 59 | - <maxdiff>0.0</maxdiff> | |
| 60 | - </maxdate> | |
| 61 | - <size_rowset>10000</size_rowset> | |
| 62 | - <sleep_time_empty>50</sleep_time_empty> | |
| 63 | - <sleep_time_full>50</sleep_time_full> | |
| 64 | - <unique_connections>N</unique_connections> | |
| 65 | - <feedback_shown>Y</feedback_shown> | |
| 66 | - <feedback_size>50000</feedback_size> | |
| 67 | - <using_thread_priorities>Y</using_thread_priorities> | |
| 68 | - <shared_objects_file/> | |
| 69 | - <capture_step_performance>N</capture_step_performance> | |
| 70 | - <step_performance_capturing_delay>1000</step_performance_capturing_delay> | |
| 71 | - <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit> | |
| 72 | - <dependencies> | |
| 73 | - </dependencies> | |
| 74 | - <partitionschemas> | |
| 75 | - </partitionschemas> | |
| 76 | - <slaveservers> | |
| 77 | - </slaveservers> | |
| 78 | - <clusterschemas> | |
| 79 | - </clusterschemas> | |
| 80 | - <created_user>-</created_user> | |
| 81 | - <created_date>2016/06/23 17:44:46.781</created_date> | |
| 82 | - <modified_user>-</modified_user> | |
| 83 | - <modified_date>2016/06/23 17:44:46.781</modified_date> | |
| 84 | - <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key> | |
| 85 | - <is_key_private>N</is_key_private> | |
| 86 | - </info> | |
| 87 | - <notepads> | |
| 88 | - <notepad> | |
| 89 | - <note>原系统的导出表,有些数据是没有的,有些数据也有问题,如下
报废日期去掉
车辆编码,暂时用1代替
是否电车 没有
车辆序号 没有
是否切换 没有
线路名称(这里不做关联,只是登记的时候使用) 咩有</note> | |
| 90 | - <xloc>365</xloc> | |
| 91 | - <yloc>136</yloc> | |
| 92 | - <width>346</width> | |
| 93 | - <heigth>122</heigth> | |
| 94 | - <fontname>YaHei Consolas Hybrid</fontname> | |
| 95 | - <fontsize>12</fontsize> | |
| 96 | - <fontbold>N</fontbold> | |
| 97 | - <fontitalic>N</fontitalic> | |
| 98 | - <fontcolorred>0</fontcolorred> | |
| 99 | - <fontcolorgreen>0</fontcolorgreen> | |
| 100 | - <fontcolorblue>0</fontcolorblue> | |
| 101 | - <backgroundcolorred>255</backgroundcolorred> | |
| 102 | - <backgroundcolorgreen>205</backgroundcolorgreen> | |
| 103 | - <backgroundcolorblue>112</backgroundcolorblue> | |
| 104 | - <bordercolorred>100</bordercolorred> | |
| 105 | - <bordercolorgreen>100</bordercolorgreen> | |
| 106 | - <bordercolorblue>100</bordercolorblue> | |
| 107 | - <drawshadow>Y</drawshadow> | |
| 108 | - </notepad> | |
| 109 | - </notepads> | |
| 110 | - <connection> | |
| 111 | - <name>bus_control_公司_201</name> | |
| 112 | - <server>192.168.168.201</server> | |
| 113 | - <type>MYSQL</type> | |
| 114 | - <access>Native</access> | |
| 115 | - <database>control</database> | |
| 116 | - <port>3306</port> | |
| 117 | - <username>root</username> | |
| 118 | - <password>Encrypted 2be98afc86aa7f2e4cb79ff228dc6fa8c</password> | |
| 119 | - <servername/> | |
| 120 | - <data_tablespace/> | |
| 121 | - <index_tablespace/> | |
| 122 | - <attributes> | |
| 123 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 124 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 125 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 126 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 127 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 128 | - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 129 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 130 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 131 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 132 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 133 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 134 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 135 | - </attributes> | |
| 136 | - </connection> | |
| 137 | - <connection> | |
| 138 | - <name>xlab_mysql_youle</name> | |
| 139 | - <server>101.231.124.8</server> | |
| 140 | - <type>MYSQL</type> | |
| 141 | - <access>Native</access> | |
| 142 | - <database>xlab_youle</database> | |
| 143 | - <port>45687</port> | |
| 144 | - <username>xlab-youle</username> | |
| 145 | - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password> | |
| 146 | - <servername/> | |
| 147 | - <data_tablespace/> | |
| 148 | - <index_tablespace/> | |
| 149 | - <attributes> | |
| 150 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 151 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 152 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 153 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 154 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 155 | - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute> | |
| 156 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 157 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 158 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 159 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 160 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 161 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 162 | - </attributes> | |
| 163 | - </connection> | |
| 164 | - <connection> | |
| 165 | - <name>xlab_mysql_youle(本机)</name> | |
| 166 | - <server>localhost</server> | |
| 167 | - <type>MYSQL</type> | |
| 168 | - <access>Native</access> | |
| 169 | - <database>xlab_youle</database> | |
| 170 | - <port>3306</port> | |
| 171 | - <username>root</username> | |
| 172 | - <password>Encrypted </password> | |
| 173 | - <servername/> | |
| 174 | - <data_tablespace/> | |
| 175 | - <index_tablespace/> | |
| 176 | - <attributes> | |
| 177 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 178 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 179 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 180 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 181 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 182 | - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 183 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 184 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 185 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 186 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 187 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 188 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 189 | - </attributes> | |
| 190 | - </connection> | |
| 191 | - <connection> | |
| 192 | - <name>xlab_youle</name> | |
| 193 | - <server/> | |
| 194 | - <type>MYSQL</type> | |
| 195 | - <access>JNDI</access> | |
| 196 | - <database>xlab_youle</database> | |
| 197 | - <port>1521</port> | |
| 198 | - <username/> | |
| 199 | - <password>Encrypted </password> | |
| 200 | - <servername/> | |
| 201 | - <data_tablespace/> | |
| 202 | - <index_tablespace/> | |
| 203 | - <attributes> | |
| 204 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 205 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 206 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 207 | - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | |
| 208 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 209 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 210 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 211 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 212 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 213 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 214 | - </attributes> | |
| 215 | - </connection> | |
| 216 | - <order> | |
| 217 | - <hop> <from>原始系统导出的Excel输入</from><to>字段选择</to><enabled>Y</enabled> </hop> | |
| 218 | - <hop> <from>字段选择</from><to>是否空调车</to><enabled>Y</enabled> </hop> | |
| 219 | - <hop> <from>插入/更新bsth_c_cars</from><to>错误输出</to><enabled>Y</enabled> </hop> | |
| 220 | - <hop> <from>是否有LED服务屏</from><to>是否有TV视频</to><enabled>Y</enabled> </hop> | |
| 221 | - <hop> <from>是否有TV视频</from><to>是否的变成数字型</to><enabled>Y</enabled> </hop> | |
| 222 | - <hop> <from>是否的变成数字型</from><to>公交企业代码</to><enabled>Y</enabled> </hop> | |
| 223 | - <hop> <from>是否空调车</from><to>有无人售票</to><enabled>Y</enabled> </hop> | |
| 224 | - <hop> <from>有无人售票</from><to>是否有LED服务屏</to><enabled>Y</enabled> </hop> | |
| 225 | - <hop> <from>公交企业代码</from><to>插入/更新bsth_c_cars</to><enabled>Y</enabled> </hop> | |
| 226 | - <hop> <from>获取变量</from><to>原始系统导出的Excel输入</to><enabled>Y</enabled> </hop> | |
| 227 | - </order> | |
| 228 | - <step> | |
| 229 | - <name>公交企业代码</name> | |
| 230 | - <type>ValueMapper</type> | |
| 231 | - <description/> | |
| 232 | - <distribute>Y</distribute> | |
| 233 | - <custom_distribution/> | |
| 234 | - <copies>1</copies> | |
| 235 | - <partitioning> | |
| 236 | - <method>none</method> | |
| 237 | - <schema_name/> | |
| 238 | - </partitioning> | |
| 239 | - <field_to_use>company</field_to_use> | |
| 240 | - <target_field>businessCode</target_field> | |
| 241 | - <non_match_default/> | |
| 242 | - <fields> | |
| 243 | - <field> | |
| 244 | - <source_value>上南公司</source_value> | |
| 245 | - <target_value>55</target_value> | |
| 246 | - </field> | |
| 247 | - <field> | |
| 248 | - <source_value>金高公司</source_value> | |
| 249 | - <target_value>22</target_value> | |
| 250 | - </field> | |
| 251 | - <field> | |
| 252 | - <source_value>杨高公司</source_value> | |
| 253 | - <target_value>05</target_value> | |
| 254 | - </field> | |
| 255 | - <field> | |
| 256 | - <source_value>南汇公司</source_value> | |
| 257 | - <target_value>26</target_value> | |
| 258 | - </field> | |
| 259 | - <field> | |
| 260 | - <source_value>公交公司</source_value> | |
| 261 | - <target_value>88</target_value> | |
| 262 | - </field> | |
| 263 | - <field> | |
| 264 | - <source_value>闵行公交</source_value> | |
| 265 | - <target_value>77</target_value> | |
| 266 | - </field> | |
| 267 | - </fields> | |
| 268 | - <cluster_schema/> | |
| 269 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 270 | - <xloc>841</xloc> | |
| 271 | - <yloc>166</yloc> | |
| 272 | - <draw>Y</draw> | |
| 273 | - </GUI> | |
| 274 | - </step> | |
| 275 | - | |
| 276 | - <step> | |
| 277 | - <name>原始系统导出的Excel输入</name> | |
| 278 | - <type>ExcelInput</type> | |
| 279 | - <description/> | |
| 280 | - <distribute>Y</distribute> | |
| 281 | - <custom_distribution/> | |
| 282 | - <copies>1</copies> | |
| 283 | - <partitioning> | |
| 284 | - <method>none</method> | |
| 285 | - <schema_name/> | |
| 286 | - </partitioning> | |
| 287 | - <header>Y</header> | |
| 288 | - <noempty>Y</noempty> | |
| 289 | - <stoponempty>N</stoponempty> | |
| 290 | - <filefield/> | |
| 291 | - <sheetfield/> | |
| 292 | - <sheetrownumfield/> | |
| 293 | - <rownumfield/> | |
| 294 | - <sheetfield/> | |
| 295 | - <filefield/> | |
| 296 | - <limit>0</limit> | |
| 297 | - <encoding/> | |
| 298 | - <add_to_result_filenames>Y</add_to_result_filenames> | |
| 299 | - <accept_filenames>Y</accept_filenames> | |
| 300 | - <accept_field>filepath_</accept_field> | |
| 301 | - <accept_stepname>获取变量</accept_stepname> | |
| 302 | - <file> | |
| 303 | - <name/> | |
| 304 | - <filemask/> | |
| 305 | - <exclude_filemask/> | |
| 306 | - <file_required>N</file_required> | |
| 307 | - <include_subfolders>N</include_subfolders> | |
| 308 | - </file> | |
| 309 | - <fields> | |
| 310 | - <field> | |
| 311 | - <name>车牌号</name> | |
| 312 | - <type>String</type> | |
| 313 | - <length>-1</length> | |
| 314 | - <precision>-1</precision> | |
| 315 | - <trim_type>none</trim_type> | |
| 316 | - <repeat>N</repeat> | |
| 317 | - <format/> | |
| 318 | - <currency/> | |
| 319 | - <decimal/> | |
| 320 | - <group/> | |
| 321 | - </field> | |
| 322 | - <field> | |
| 323 | - <name>内部编码</name> | |
| 324 | - <type>String</type> | |
| 325 | - <length>-1</length> | |
| 326 | - <precision>-1</precision> | |
| 327 | - <trim_type>none</trim_type> | |
| 328 | - <repeat>N</repeat> | |
| 329 | - <format/> | |
| 330 | - <currency/> | |
| 331 | - <decimal/> | |
| 332 | - <group/> | |
| 333 | - </field> | |
| 334 | - <field> | |
| 335 | - <name>车辆编码</name> | |
| 336 | - <type>String</type> | |
| 337 | - <length>-1</length> | |
| 338 | - <precision>-1</precision> | |
| 339 | - <trim_type>none</trim_type> | |
| 340 | - <repeat>N</repeat> | |
| 341 | - <format/> | |
| 342 | - <currency/> | |
| 343 | - <decimal/> | |
| 344 | - <group/> | |
| 345 | - </field> | |
| 346 | - <field> | |
| 347 | - <name>车型类别</name> | |
| 348 | - <type>String</type> | |
| 349 | - <length>-1</length> | |
| 350 | - <precision>-1</precision> | |
| 351 | - <trim_type>none</trim_type> | |
| 352 | - <repeat>N</repeat> | |
| 353 | - <format/> | |
| 354 | - <currency/> | |
| 355 | - <decimal/> | |
| 356 | - <group/> | |
| 357 | - </field> | |
| 358 | - <field> | |
| 359 | - <name>座位数</name> | |
| 360 | - <type>String</type> | |
| 361 | - <length>-1</length> | |
| 362 | - <precision>-1</precision> | |
| 363 | - <trim_type>none</trim_type> | |
| 364 | - <repeat>N</repeat> | |
| 365 | - <format/> | |
| 366 | - <currency/> | |
| 367 | - <decimal/> | |
| 368 | - <group/> | |
| 369 | - </field> | |
| 370 | - <field> | |
| 371 | - <name>载客标准</name> | |
| 372 | - <type>String</type> | |
| 373 | - <length>-1</length> | |
| 374 | - <precision>-1</precision> | |
| 375 | - <trim_type>none</trim_type> | |
| 376 | - <repeat>N</repeat> | |
| 377 | - <format/> | |
| 378 | - <currency/> | |
| 379 | - <decimal/> | |
| 380 | - <group/> | |
| 381 | - </field> | |
| 382 | - <field> | |
| 383 | - <name>技术速度</name> | |
| 384 | - <type>String</type> | |
| 385 | - <length>-1</length> | |
| 386 | - <precision>-1</precision> | |
| 387 | - <trim_type>none</trim_type> | |
| 388 | - <repeat>N</repeat> | |
| 389 | - <format/> | |
| 390 | - <currency/> | |
| 391 | - <decimal/> | |
| 392 | - <group/> | |
| 393 | - </field> | |
| 394 | - <field> | |
| 395 | - <name>是否空调</name> | |
| 396 | - <type>String</type> | |
| 397 | - <length>-1</length> | |
| 398 | - <precision>-1</precision> | |
| 399 | - <trim_type>none</trim_type> | |
| 400 | - <repeat>N</repeat> | |
| 401 | - <format/> | |
| 402 | - <currency/> | |
| 403 | - <decimal/> | |
| 404 | - <group/> | |
| 405 | - </field> | |
| 406 | - <field> | |
| 407 | - <name>标准油耗(开空调)</name> | |
| 408 | - <type>String</type> | |
| 409 | - <length>-1</length> | |
| 410 | - <precision>-1</precision> | |
| 411 | - <trim_type>none</trim_type> | |
| 412 | - <repeat>N</repeat> | |
| 413 | - <format/> | |
| 414 | - <currency/> | |
| 415 | - <decimal/> | |
| 416 | - <group/> | |
| 417 | - </field> | |
| 418 | - <field> | |
| 419 | - <name>标准油耗(关空调)</name> | |
| 420 | - <type>String</type> | |
| 421 | - <length>-1</length> | |
| 422 | - <precision>-1</precision> | |
| 423 | - <trim_type>none</trim_type> | |
| 424 | - <repeat>N</repeat> | |
| 425 | - <format/> | |
| 426 | - <currency/> | |
| 427 | - <decimal/> | |
| 428 | - <group/> | |
| 429 | - </field> | |
| 430 | - <field> | |
| 431 | - <name>有无人售票</name> | |
| 432 | - <type>String</type> | |
| 433 | - <length>-1</length> | |
| 434 | - <precision>-1</precision> | |
| 435 | - <trim_type>none</trim_type> | |
| 436 | - <repeat>N</repeat> | |
| 437 | - <format/> | |
| 438 | - <currency/> | |
| 439 | - <decimal/> | |
| 440 | - <group/> | |
| 441 | - </field> | |
| 442 | - <field> | |
| 443 | - <name>是否有TV视频</name> | |
| 444 | - <type>String</type> | |
| 445 | - <length>-1</length> | |
| 446 | - <precision>-1</precision> | |
| 447 | - <trim_type>none</trim_type> | |
| 448 | - <repeat>N</repeat> | |
| 449 | - <format/> | |
| 450 | - <currency/> | |
| 451 | - <decimal/> | |
| 452 | - <group/> | |
| 453 | - </field> | |
| 454 | - <field> | |
| 455 | - <name>是否有LED服务屏</name> | |
| 456 | - <type>String</type> | |
| 457 | - <length>-1</length> | |
| 458 | - <precision>-1</precision> | |
| 459 | - <trim_type>none</trim_type> | |
| 460 | - <repeat>N</repeat> | |
| 461 | - <format/> | |
| 462 | - <currency/> | |
| 463 | - <decimal/> | |
| 464 | - <group/> | |
| 465 | - </field> | |
| 466 | - <field> | |
| 467 | - <name>运营状态</name> | |
| 468 | - <type>String</type> | |
| 469 | - <length>-1</length> | |
| 470 | - <precision>-1</precision> | |
| 471 | - <trim_type>none</trim_type> | |
| 472 | - <repeat>N</repeat> | |
| 473 | - <format/> | |
| 474 | - <currency/> | |
| 475 | - <decimal/> | |
| 476 | - <group/> | |
| 477 | - </field> | |
| 478 | - <field> | |
| 479 | - <name>启用日期</name> | |
| 480 | - <type>String</type> | |
| 481 | - <length>-1</length> | |
| 482 | - <precision>-1</precision> | |
| 483 | - <trim_type>none</trim_type> | |
| 484 | - <repeat>N</repeat> | |
| 485 | - <format/> | |
| 486 | - <currency/> | |
| 487 | - <decimal/> | |
| 488 | - <group/> | |
| 489 | - </field> | |
| 490 | - <field> | |
| 491 | - <name>取消日期</name> | |
| 492 | - <type>String</type> | |
| 493 | - <length>-1</length> | |
| 494 | - <precision>-1</precision> | |
| 495 | - <trim_type>none</trim_type> | |
| 496 | - <repeat>N</repeat> | |
| 497 | - <format/> | |
| 498 | - <currency/> | |
| 499 | - <decimal/> | |
| 500 | - <group/> | |
| 501 | - </field> | |
| 502 | - <field> | |
| 503 | - <name>报废号</name> | |
| 504 | - <type>String</type> | |
| 505 | - <length>-1</length> | |
| 506 | - <precision>-1</precision> | |
| 507 | - <trim_type>none</trim_type> | |
| 508 | - <repeat>N</repeat> | |
| 509 | - <format/> | |
| 510 | - <currency/> | |
| 511 | - <decimal/> | |
| 512 | - <group/> | |
| 513 | - </field> | |
| 514 | - <field> | |
| 515 | - <name>报废日期</name> | |
| 516 | - <type>String</type> | |
| 517 | - <length>-1</length> | |
| 518 | - <precision>-1</precision> | |
| 519 | - <trim_type>none</trim_type> | |
| 520 | - <repeat>N</repeat> | |
| 521 | - <format/> | |
| 522 | - <currency/> | |
| 523 | - <decimal/> | |
| 524 | - <group/> | |
| 525 | - </field> | |
| 526 | - <field> | |
| 527 | - <name>备注</name> | |
| 528 | - <type>String</type> | |
| 529 | - <length>-1</length> | |
| 530 | - <precision>-1</precision> | |
| 531 | - <trim_type>none</trim_type> | |
| 532 | - <repeat>N</repeat> | |
| 533 | - <format/> | |
| 534 | - <currency/> | |
| 535 | - <decimal/> | |
| 536 | - <group/> | |
| 537 | - </field> | |
| 538 | - <field> | |
| 539 | - <name>设备编号</name> | |
| 540 | - <type>String</type> | |
| 541 | - <length>-1</length> | |
| 542 | - <precision>-1</precision> | |
| 543 | - <trim_type>none</trim_type> | |
| 544 | - <repeat>N</repeat> | |
| 545 | - <format/> | |
| 546 | - <currency/> | |
| 547 | - <decimal/> | |
| 548 | - <group/> | |
| 549 | - </field> | |
| 550 | - <field> | |
| 551 | - <name>厂牌型号</name> | |
| 552 | - <type>String</type> | |
| 553 | - <length>-1</length> | |
| 554 | - <precision>-1</precision> | |
| 555 | - <trim_type>none</trim_type> | |
| 556 | - <repeat>N</repeat> | |
| 557 | - <format/> | |
| 558 | - <currency/> | |
| 559 | - <decimal/> | |
| 560 | - <group/> | |
| 561 | - </field> | |
| 562 | - <field> | |
| 563 | - <name>厂牌型号2</name> | |
| 564 | - <type>String</type> | |
| 565 | - <length>-1</length> | |
| 566 | - <precision>-1</precision> | |
| 567 | - <trim_type>none</trim_type> | |
| 568 | - <repeat>N</repeat> | |
| 569 | - <format/> | |
| 570 | - <currency/> | |
| 571 | - <decimal/> | |
| 572 | - <group/> | |
| 573 | - </field> | |
| 574 | - <field> | |
| 575 | - <name>车辆等级标准</name> | |
| 576 | - <type>String</type> | |
| 577 | - <length>-1</length> | |
| 578 | - <precision>-1</precision> | |
| 579 | - <trim_type>none</trim_type> | |
| 580 | - <repeat>N</repeat> | |
| 581 | - <format/> | |
| 582 | - <currency/> | |
| 583 | - <decimal/> | |
| 584 | - <group/> | |
| 585 | - </field> | |
| 586 | - <field> | |
| 587 | - <name>出厂排放标准</name> | |
| 588 | - <type>String</type> | |
| 589 | - <length>-1</length> | |
| 590 | - <precision>-1</precision> | |
| 591 | - <trim_type>none</trim_type> | |
| 592 | - <repeat>N</repeat> | |
| 593 | - <format/> | |
| 594 | - <currency/> | |
| 595 | - <decimal/> | |
| 596 | - <group/> | |
| 597 | - </field> | |
| 598 | - <field> | |
| 599 | - <name>发动机号码1</name> | |
| 600 | - <type>String</type> | |
| 601 | - <length>-1</length> | |
| 602 | - <precision>-1</precision> | |
| 603 | - <trim_type>none</trim_type> | |
| 604 | - <repeat>N</repeat> | |
| 605 | - <format/> | |
| 606 | - <currency/> | |
| 607 | - <decimal/> | |
| 608 | - <group/> | |
| 609 | - </field> | |
| 610 | - <field> | |
| 611 | - <name>发动机号码2</name> | |
| 612 | - <type>String</type> | |
| 613 | - <length>-1</length> | |
| 614 | - <precision>-1</precision> | |
| 615 | - <trim_type>none</trim_type> | |
| 616 | - <repeat>N</repeat> | |
| 617 | - <format/> | |
| 618 | - <currency/> | |
| 619 | - <decimal/> | |
| 620 | - <group/> | |
| 621 | - </field> | |
| 622 | - <field> | |
| 623 | - <name>车架号码1</name> | |
| 624 | - <type>String</type> | |
| 625 | - <length>-1</length> | |
| 626 | - <precision>-1</precision> | |
| 627 | - <trim_type>none</trim_type> | |
| 628 | - <repeat>N</repeat> | |
| 629 | - <format/> | |
| 630 | - <currency/> | |
| 631 | - <decimal/> | |
| 632 | - <group/> | |
| 633 | - </field> | |
| 634 | - <field> | |
| 635 | - <name>车架号码2</name> | |
| 636 | - <type>String</type> | |
| 637 | - <length>-1</length> | |
| 638 | - <precision>-1</precision> | |
| 639 | - <trim_type>none</trim_type> | |
| 640 | - <repeat>N</repeat> | |
| 641 | - <format/> | |
| 642 | - <currency/> | |
| 643 | - <decimal/> | |
| 644 | - <group/> | |
| 645 | - </field> | |
| 646 | - <field> | |
| 647 | - <name>车辆类型</name> | |
| 648 | - <type>String</type> | |
| 649 | - <length>-1</length> | |
| 650 | - <precision>-1</precision> | |
| 651 | - <trim_type>none</trim_type> | |
| 652 | - <repeat>N</repeat> | |
| 653 | - <format/> | |
| 654 | - <currency/> | |
| 655 | - <decimal/> | |
| 656 | - <group/> | |
| 657 | - </field> | |
| 658 | - <field> | |
| 659 | - <name>所属公司</name> | |
| 660 | - <type>String</type> | |
| 661 | - <length>-1</length> | |
| 662 | - <precision>-1</precision> | |
| 663 | - <trim_type>none</trim_type> | |
| 664 | - <repeat>N</repeat> | |
| 665 | - <format/> | |
| 666 | - <currency/> | |
| 667 | - <decimal/> | |
| 668 | - <group/> | |
| 669 | - </field> | |
| 670 | - <field> | |
| 671 | - <name>修改日期</name> | |
| 672 | - <type>String</type> | |
| 673 | - <length>-1</length> | |
| 674 | - <precision>-1</precision> | |
| 675 | - <trim_type>none</trim_type> | |
| 676 | - <repeat>N</repeat> | |
| 677 | - <format/> | |
| 678 | - <currency/> | |
| 679 | - <decimal/> | |
| 680 | - <group/> | |
| 681 | - </field> | |
| 682 | - <field> | |
| 683 | - <name>是否机动车</name> | |
| 684 | - <type>String</type> | |
| 685 | - <length>-1</length> | |
| 686 | - <precision>-1</precision> | |
| 687 | - <trim_type>none</trim_type> | |
| 688 | - <repeat>N</repeat> | |
| 689 | - <format/> | |
| 690 | - <currency/> | |
| 691 | - <decimal/> | |
| 692 | - <group/> | |
| 693 | - </field> | |
| 694 | - <field> | |
| 695 | - <name>视频编号</name> | |
| 696 | - <type>String</type> | |
| 697 | - <length>-1</length> | |
| 698 | - <precision>-1</precision> | |
| 699 | - <trim_type>none</trim_type> | |
| 700 | - <repeat>N</repeat> | |
| 701 | - <format/> | |
| 702 | - <currency/> | |
| 703 | - <decimal/> | |
| 704 | - <group/> | |
| 705 | - </field> | |
| 706 | - <field> | |
| 707 | - <name>设备供应厂商</name> | |
| 708 | - <type>String</type> | |
| 709 | - <length>-1</length> | |
| 710 | - <precision>-1</precision> | |
| 711 | - <trim_type>none</trim_type> | |
| 712 | - <repeat>N</repeat> | |
| 713 | - <format/> | |
| 714 | - <currency/> | |
| 715 | - <decimal/> | |
| 716 | - <group/> | |
| 717 | - </field> | |
| 718 | - <field> | |
| 719 | - <name>分公司</name> | |
| 720 | - <type>String</type> | |
| 721 | - <length>-1</length> | |
| 722 | - <precision>-1</precision> | |
| 723 | - <trim_type>none</trim_type> | |
| 724 | - <repeat>N</repeat> | |
| 725 | - <format/> | |
| 726 | - <currency/> | |
| 727 | - <decimal/> | |
| 728 | - <group/> | |
| 729 | - </field> | |
| 730 | - </fields> | |
| 731 | - <sheets> | |
| 732 | - <sheet> | |
| 733 | - <name>工作表1</name> | |
| 734 | - <startrow>0</startrow> | |
| 735 | - <startcol>0</startcol> | |
| 736 | - </sheet> | |
| 737 | - </sheets> | |
| 738 | - <strict_types>N</strict_types> | |
| 739 | - <error_ignored>N</error_ignored> | |
| 740 | - <error_line_skipped>N</error_line_skipped> | |
| 741 | - <bad_line_files_destination_directory/> | |
| 742 | - <bad_line_files_extension>warning</bad_line_files_extension> | |
| 743 | - <error_line_files_destination_directory/> | |
| 744 | - <error_line_files_extension>error</error_line_files_extension> | |
| 745 | - <line_number_files_destination_directory/> | |
| 746 | - <line_number_files_extension>line</line_number_files_extension> | |
| 747 | - <shortFileFieldName/> | |
| 748 | - <pathFieldName/> | |
| 749 | - <hiddenFieldName/> | |
| 750 | - <lastModificationTimeFieldName/> | |
| 751 | - <uriNameFieldName/> | |
| 752 | - <rootUriNameFieldName/> | |
| 753 | - <extensionFieldName/> | |
| 754 | - <sizeFieldName/> | |
| 755 | - <spreadsheet_type>JXL</spreadsheet_type> | |
| 756 | - <cluster_schema/> | |
| 757 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 758 | - <xloc>131</xloc> | |
| 759 | - <yloc>58</yloc> | |
| 760 | - <draw>Y</draw> | |
| 761 | - </GUI> | |
| 762 | - </step> | |
| 763 | - | |
| 764 | - <step> | |
| 765 | - <name>字段选择</name> | |
| 766 | - <type>SelectValues</type> | |
| 767 | - <description/> | |
| 768 | - <distribute>Y</distribute> | |
| 769 | - <custom_distribution/> | |
| 770 | - <copies>1</copies> | |
| 771 | - <partitioning> | |
| 772 | - <method>none</method> | |
| 773 | - <schema_name/> | |
| 774 | - </partitioning> | |
| 775 | - <fields> <field> <name>内部编码</name> | |
| 776 | - <rename>insideCode</rename> | |
| 777 | - <length>-2</length> | |
| 778 | - <precision>-2</precision> | |
| 779 | - </field> <field> <name>车辆编码</name> | |
| 780 | - <rename>carCode</rename> | |
| 781 | - <length>-2</length> | |
| 782 | - <precision>-2</precision> | |
| 783 | - </field> <field> <name>所属公司</name> | |
| 784 | - <rename>company</rename> | |
| 785 | - <length>-2</length> | |
| 786 | - <precision>-2</precision> | |
| 787 | - </field> <field> <name>分公司</name> | |
| 788 | - <rename>brancheCompany</rename> | |
| 789 | - <length>-2</length> | |
| 790 | - <precision>-2</precision> | |
| 791 | - </field> <field> <name>车牌号</name> | |
| 792 | - <rename>carPlate</rename> | |
| 793 | - <length>-2</length> | |
| 794 | - <precision>-2</precision> | |
| 795 | - </field> <field> <name>设备供应厂商</name> | |
| 796 | - <rename>supplierName</rename> | |
| 797 | - <length>-2</length> | |
| 798 | - <precision>-2</precision> | |
| 799 | - </field> <field> <name>设备编号</name> | |
| 800 | - <rename>equipmentCode</rename> | |
| 801 | - <length>-2</length> | |
| 802 | - <precision>-2</precision> | |
| 803 | - </field> <field> <name>车型类别</name> | |
| 804 | - <rename>carClass</rename> | |
| 805 | - <length>-2</length> | |
| 806 | - <precision>-2</precision> | |
| 807 | - </field> <field> <name>技术速度</name> | |
| 808 | - <rename>speed</rename> | |
| 809 | - <length>-2</length> | |
| 810 | - <precision>-2</precision> | |
| 811 | - </field> <field> <name>座位数</name> | |
| 812 | - <rename>carSeatnNumber</rename> | |
| 813 | - <length>-2</length> | |
| 814 | - <precision>-2</precision> | |
| 815 | - </field> <field> <name>载客标准</name> | |
| 816 | - <rename>carStandard</rename> | |
| 817 | - <length>-2</length> | |
| 818 | - <precision>-2</precision> | |
| 819 | - </field> <field> <name>标准油耗(开空调)</name> | |
| 820 | - <rename>kburnStandard</rename> | |
| 821 | - <length>-2</length> | |
| 822 | - <precision>-2</precision> | |
| 823 | - </field> <field> <name>标准油耗(关空调)</name> | |
| 824 | - <rename>gburnStandard</rename> | |
| 825 | - <length>-2</length> | |
| 826 | - <precision>-2</precision> | |
| 827 | - </field> <field> <name>报废号</name> | |
| 828 | - <rename>scrapCode</rename> | |
| 829 | - <length>-2</length> | |
| 830 | - <precision>-2</precision> | |
| 831 | - </field> <field> <name>厂牌型号</name> | |
| 832 | - <rename>makeCodeOne</rename> | |
| 833 | - <length>-2</length> | |
| 834 | - <precision>-2</precision> | |
| 835 | - </field> <field> <name>厂牌型号2</name> | |
| 836 | - <rename>makeCodeTwo</rename> | |
| 837 | - <length>-2</length> | |
| 838 | - <precision>-2</precision> | |
| 839 | - </field> <field> <name>车辆等级标准</name> | |
| 840 | - <rename>carGride</rename> | |
| 841 | - <length>-2</length> | |
| 842 | - <precision>-2</precision> | |
| 843 | - </field> <field> <name>出厂排放标准</name> | |
| 844 | - <rename>emissionsStandard</rename> | |
| 845 | - <length>-2</length> | |
| 846 | - <precision>-2</precision> | |
| 847 | - </field> <field> <name>发动机号码1</name> | |
| 848 | - <rename>engineCodeOne</rename> | |
| 849 | - <length>-2</length> | |
| 850 | - <precision>-2</precision> | |
| 851 | - </field> <field> <name>发动机号码2</name> | |
| 852 | - <rename>engineCodeTwo</rename> | |
| 853 | - <length>-2</length> | |
| 854 | - <precision>-2</precision> | |
| 855 | - </field> <field> <name>车架号码1</name> | |
| 856 | - <rename>carNumberOne</rename> | |
| 857 | - <length>-2</length> | |
| 858 | - <precision>-2</precision> | |
| 859 | - </field> <field> <name>车架号码2</name> | |
| 860 | - <rename>carNumberTwo</rename> | |
| 861 | - <length>-2</length> | |
| 862 | - <precision>-2</precision> | |
| 863 | - </field> <field> <name>启用日期</name> | |
| 864 | - <rename>openDate</rename> | |
| 865 | - <length>-2</length> | |
| 866 | - <precision>-2</precision> | |
| 867 | - </field> <field> <name>取消日期</name> | |
| 868 | - <rename>closeDate</rename> | |
| 869 | - <length>-2</length> | |
| 870 | - <precision>-2</precision> | |
| 871 | - </field> <field> <name>是否空调</name> | |
| 872 | - <rename>hvacCar</rename> | |
| 873 | - <length>-2</length> | |
| 874 | - <precision>-2</precision> | |
| 875 | - </field> <field> <name>有无人售票</name> | |
| 876 | - <rename>ticketType</rename> | |
| 877 | - <length>-2</length> | |
| 878 | - <precision>-2</precision> | |
| 879 | - </field> <field> <name>是否有LED服务屏</name> | |
| 880 | - <rename>ledScreen</rename> | |
| 881 | - <length>-2</length> | |
| 882 | - <precision>-2</precision> | |
| 883 | - </field> <field> <name>是否有TV视频</name> | |
| 884 | - <rename>tvVideoType</rename> | |
| 885 | - <length>-2</length> | |
| 886 | - <precision>-2</precision> | |
| 887 | - </field> <field> <name>车辆类型</name> | |
| 888 | - <rename>carType</rename> | |
| 889 | - <length>-2</length> | |
| 890 | - <precision>-2</precision> | |
| 891 | - </field> <field> <name>是否机动车</name> | |
| 892 | - <rename>vehicleStats</rename> | |
| 893 | - <length>-2</length> | |
| 894 | - <precision>-2</precision> | |
| 895 | - </field> <field> <name>运营状态</name> | |
| 896 | - <rename>operatorsState</rename> | |
| 897 | - <length>-2</length> | |
| 898 | - <precision>-2</precision> | |
| 899 | - </field> <field> <name>备注</name> | |
| 900 | - <rename>descriptions</rename> | |
| 901 | - <length>-2</length> | |
| 902 | - <precision>-2</precision> | |
| 903 | - </field> <field> <name>视频编号</name> | |
| 904 | - <rename>videoCode</rename> | |
| 905 | - <length>-2</length> | |
| 906 | - <precision>-2</precision> | |
| 907 | - </field> <select_unspecified>Y</select_unspecified> | |
| 908 | - </fields> <cluster_schema/> | |
| 909 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 910 | - <xloc>279</xloc> | |
| 911 | - <yloc>59</yloc> | |
| 912 | - <draw>Y</draw> | |
| 913 | - </GUI> | |
| 914 | - </step> | |
| 915 | - | |
| 916 | - <step> | |
| 917 | - <name>插入/更新bsth_c_cars</name> | |
| 918 | - <type>InsertUpdate</type> | |
| 919 | - <description/> | |
| 920 | - <distribute>Y</distribute> | |
| 921 | - <custom_distribution/> | |
| 922 | - <copies>1</copies> | |
| 923 | - <partitioning> | |
| 924 | - <method>none</method> | |
| 925 | - <schema_name/> | |
| 926 | - </partitioning> | |
| 927 | - <connection>bus_control_公司_201</connection> | |
| 928 | - <commit>1000</commit> | |
| 929 | - <update_bypassed>N</update_bypassed> | |
| 930 | - <lookup> | |
| 931 | - <schema/> | |
| 932 | - <table>bsth_c_cars</table> | |
| 933 | - <key> | |
| 934 | - <name>businessCode</name> | |
| 935 | - <field>business_code</field> | |
| 936 | - <condition>=</condition> | |
| 937 | - <name2/> | |
| 938 | - </key> | |
| 939 | - <key> | |
| 940 | - <name>carPlate</name> | |
| 941 | - <field>car_plate</field> | |
| 942 | - <condition>=</condition> | |
| 943 | - <name2/> | |
| 944 | - </key> | |
| 945 | - <value> | |
| 946 | - <name>inside_code</name> | |
| 947 | - <rename>insideCode</rename> | |
| 948 | - <update>Y</update> | |
| 949 | - </value> | |
| 950 | - <value> | |
| 951 | - <name>company</name> | |
| 952 | - <rename>company</rename> | |
| 953 | - <update>Y</update> | |
| 954 | - </value> | |
| 955 | - <value> | |
| 956 | - <name>branche_company</name> | |
| 957 | - <rename>brancheCompany</rename> | |
| 958 | - <update>Y</update> | |
| 959 | - </value> | |
| 960 | - <value> | |
| 961 | - <name>car_plate</name> | |
| 962 | - <rename>carPlate</rename> | |
| 963 | - <update>Y</update> | |
| 964 | - </value> | |
| 965 | - <value> | |
| 966 | - <name>supplier_name</name> | |
| 967 | - <rename>supplierName</rename> | |
| 968 | - <update>Y</update> | |
| 969 | - </value> | |
| 970 | - <value> | |
| 971 | - <name>equipment_code</name> | |
| 972 | - <rename>equipmentCode</rename> | |
| 973 | - <update>Y</update> | |
| 974 | - </value> | |
| 975 | - <value> | |
| 976 | - <name>car_class</name> | |
| 977 | - <rename>carClass</rename> | |
| 978 | - <update>Y</update> | |
| 979 | - </value> | |
| 980 | - <value> | |
| 981 | - <name>speed</name> | |
| 982 | - <rename>speed</rename> | |
| 983 | - <update>Y</update> | |
| 984 | - </value> | |
| 985 | - <value> | |
| 986 | - <name>car_seatn_number</name> | |
| 987 | - <rename>carSeatnNumber</rename> | |
| 988 | - <update>Y</update> | |
| 989 | - </value> | |
| 990 | - <value> | |
| 991 | - <name>car_standard</name> | |
| 992 | - <rename>carStandard</rename> | |
| 993 | - <update>Y</update> | |
| 994 | - </value> | |
| 995 | - <value> | |
| 996 | - <name>car_code</name> | |
| 997 | - <rename>carCode</rename> | |
| 998 | - <update>Y</update> | |
| 999 | - </value> | |
| 1000 | - <value> | |
| 1001 | - <name>kburn_standard</name> | |
| 1002 | - <rename>kburnStandard</rename> | |
| 1003 | - <update>Y</update> | |
| 1004 | - </value> | |
| 1005 | - <value> | |
| 1006 | - <name>gburn_standard</name> | |
| 1007 | - <rename>gburnStandard</rename> | |
| 1008 | - <update>Y</update> | |
| 1009 | - </value> | |
| 1010 | - <value> | |
| 1011 | - <name>scrap_code</name> | |
| 1012 | - <rename>scrapCode</rename> | |
| 1013 | - <update>Y</update> | |
| 1014 | - </value> | |
| 1015 | - <value> | |
| 1016 | - <name>make_code_one</name> | |
| 1017 | - <rename>makeCodeOne</rename> | |
| 1018 | - <update>Y</update> | |
| 1019 | - </value> | |
| 1020 | - <value> | |
| 1021 | - <name>make_code_two</name> | |
| 1022 | - <rename>makeCodeTwo</rename> | |
| 1023 | - <update>Y</update> | |
| 1024 | - </value> | |
| 1025 | - <value> | |
| 1026 | - <name>car_gride</name> | |
| 1027 | - <rename>carGride</rename> | |
| 1028 | - <update>Y</update> | |
| 1029 | - </value> | |
| 1030 | - <value> | |
| 1031 | - <name>emissions_standard</name> | |
| 1032 | - <rename>emissionsStandard</rename> | |
| 1033 | - <update>Y</update> | |
| 1034 | - </value> | |
| 1035 | - <value> | |
| 1036 | - <name>engine_code_one</name> | |
| 1037 | - <rename>engineCodeOne</rename> | |
| 1038 | - <update>Y</update> | |
| 1039 | - </value> | |
| 1040 | - <value> | |
| 1041 | - <name>engine_code_two</name> | |
| 1042 | - <rename>engineCodeTwo</rename> | |
| 1043 | - <update>Y</update> | |
| 1044 | - </value> | |
| 1045 | - <value> | |
| 1046 | - <name>car_number_one</name> | |
| 1047 | - <rename>carNumberOne</rename> | |
| 1048 | - <update>Y</update> | |
| 1049 | - </value> | |
| 1050 | - <value> | |
| 1051 | - <name>car_number_two</name> | |
| 1052 | - <rename>carNumberTwo</rename> | |
| 1053 | - <update>Y</update> | |
| 1054 | - </value> | |
| 1055 | - <value> | |
| 1056 | - <name>open_date</name> | |
| 1057 | - <rename>openDate</rename> | |
| 1058 | - <update>Y</update> | |
| 1059 | - </value> | |
| 1060 | - <value> | |
| 1061 | - <name>close_date</name> | |
| 1062 | - <rename>closeDate</rename> | |
| 1063 | - <update>Y</update> | |
| 1064 | - </value> | |
| 1065 | - <value> | |
| 1066 | - <name>hvac_car</name> | |
| 1067 | - <rename>hvacCar</rename> | |
| 1068 | - <update>Y</update> | |
| 1069 | - </value> | |
| 1070 | - <value> | |
| 1071 | - <name>ticket_type</name> | |
| 1072 | - <rename>ticketType</rename> | |
| 1073 | - <update>Y</update> | |
| 1074 | - </value> | |
| 1075 | - <value> | |
| 1076 | - <name>led_screen</name> | |
| 1077 | - <rename>ledScreen</rename> | |
| 1078 | - <update>Y</update> | |
| 1079 | - </value> | |
| 1080 | - <value> | |
| 1081 | - <name>tv_video_type</name> | |
| 1082 | - <rename>tvVideoType</rename> | |
| 1083 | - <update>Y</update> | |
| 1084 | - </value> | |
| 1085 | - <value> | |
| 1086 | - <name>car_type</name> | |
| 1087 | - <rename>carType</rename> | |
| 1088 | - <update>Y</update> | |
| 1089 | - </value> | |
| 1090 | - <value> | |
| 1091 | - <name>vehicle_stats</name> | |
| 1092 | - <rename>vehicleStats</rename> | |
| 1093 | - <update>Y</update> | |
| 1094 | - </value> | |
| 1095 | - <value> | |
| 1096 | - <name>operators_state</name> | |
| 1097 | - <rename>operatorsState</rename> | |
| 1098 | - <update>Y</update> | |
| 1099 | - </value> | |
| 1100 | - <value> | |
| 1101 | - <name>descriptions</name> | |
| 1102 | - <rename>descriptions</rename> | |
| 1103 | - <update>Y</update> | |
| 1104 | - </value> | |
| 1105 | - <value> | |
| 1106 | - <name>video_code</name> | |
| 1107 | - <rename>videoCode</rename> | |
| 1108 | - <update>Y</update> | |
| 1109 | - </value> | |
| 1110 | - <value> | |
| 1111 | - <name>business_code</name> | |
| 1112 | - <rename>businessCode</rename> | |
| 1113 | - <update>Y</update> | |
| 1114 | - </value> | |
| 1115 | - </lookup> | |
| 1116 | - <cluster_schema/> | |
| 1117 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1118 | - <xloc>842</xloc> | |
| 1119 | - <yloc>319</yloc> | |
| 1120 | - <draw>Y</draw> | |
| 1121 | - </GUI> | |
| 1122 | - </step> | |
| 1123 | - | |
| 1124 | - <step> | |
| 1125 | - <name>是否有LED服务屏</name> | |
| 1126 | - <type>ValueMapper</type> | |
| 1127 | - <description/> | |
| 1128 | - <distribute>Y</distribute> | |
| 1129 | - <custom_distribution/> | |
| 1130 | - <copies>1</copies> | |
| 1131 | - <partitioning> | |
| 1132 | - <method>none</method> | |
| 1133 | - <schema_name/> | |
| 1134 | - </partitioning> | |
| 1135 | - <field_to_use>ledScreen</field_to_use> | |
| 1136 | - <target_field/> | |
| 1137 | - <non_match_default/> | |
| 1138 | - <fields> | |
| 1139 | - <field> | |
| 1140 | - <source_value>是</source_value> | |
| 1141 | - <target_value>1</target_value> | |
| 1142 | - </field> | |
| 1143 | - <field> | |
| 1144 | - <source_value>否</source_value> | |
| 1145 | - <target_value>0</target_value> | |
| 1146 | - </field> | |
| 1147 | - </fields> | |
| 1148 | - <cluster_schema/> | |
| 1149 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1150 | - <xloc>590</xloc> | |
| 1151 | - <yloc>61</yloc> | |
| 1152 | - <draw>Y</draw> | |
| 1153 | - </GUI> | |
| 1154 | - </step> | |
| 1155 | - | |
| 1156 | - <step> | |
| 1157 | - <name>是否有TV视频</name> | |
| 1158 | - <type>ValueMapper</type> | |
| 1159 | - <description/> | |
| 1160 | - <distribute>Y</distribute> | |
| 1161 | - <custom_distribution/> | |
| 1162 | - <copies>1</copies> | |
| 1163 | - <partitioning> | |
| 1164 | - <method>none</method> | |
| 1165 | - <schema_name/> | |
| 1166 | - </partitioning> | |
| 1167 | - <field_to_use>tvVideoType</field_to_use> | |
| 1168 | - <target_field/> | |
| 1169 | - <non_match_default/> | |
| 1170 | - <fields> | |
| 1171 | - <field> | |
| 1172 | - <source_value>是</source_value> | |
| 1173 | - <target_value>1</target_value> | |
| 1174 | - </field> | |
| 1175 | - <field> | |
| 1176 | - <source_value>否</source_value> | |
| 1177 | - <target_value>0</target_value> | |
| 1178 | - </field> | |
| 1179 | - </fields> | |
| 1180 | - <cluster_schema/> | |
| 1181 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1182 | - <xloc>706</xloc> | |
| 1183 | - <yloc>61</yloc> | |
| 1184 | - <draw>Y</draw> | |
| 1185 | - </GUI> | |
| 1186 | - </step> | |
| 1187 | - | |
| 1188 | - <step> | |
| 1189 | - <name>是否的变成数字型</name> | |
| 1190 | - <type>SelectValues</type> | |
| 1191 | - <description/> | |
| 1192 | - <distribute>Y</distribute> | |
| 1193 | - <custom_distribution/> | |
| 1194 | - <copies>1</copies> | |
| 1195 | - <partitioning> | |
| 1196 | - <method>none</method> | |
| 1197 | - <schema_name/> | |
| 1198 | - </partitioning> | |
| 1199 | - <fields> <select_unspecified>N</select_unspecified> | |
| 1200 | - <meta> <name>hvacCar</name> | |
| 1201 | - <rename>hvacCar</rename> | |
| 1202 | - <type>Integer</type> | |
| 1203 | - <length>1</length> | |
| 1204 | - <precision>-2</precision> | |
| 1205 | - <conversion_mask/> | |
| 1206 | - <date_format_lenient>false</date_format_lenient> | |
| 1207 | - <date_format_locale/> | |
| 1208 | - <date_format_timezone/> | |
| 1209 | - <lenient_string_to_number>false</lenient_string_to_number> | |
| 1210 | - <encoding/> | |
| 1211 | - <decimal_symbol/> | |
| 1212 | - <grouping_symbol/> | |
| 1213 | - <currency_symbol/> | |
| 1214 | - <storage_type/> | |
| 1215 | - </meta> <meta> <name>ticketType</name> | |
| 1216 | - <rename>ticketType</rename> | |
| 1217 | - <type>Integer</type> | |
| 1218 | - <length>1</length> | |
| 1219 | - <precision>-2</precision> | |
| 1220 | - <conversion_mask/> | |
| 1221 | - <date_format_lenient>false</date_format_lenient> | |
| 1222 | - <date_format_locale/> | |
| 1223 | - <date_format_timezone/> | |
| 1224 | - <lenient_string_to_number>false</lenient_string_to_number> | |
| 1225 | - <encoding/> | |
| 1226 | - <decimal_symbol/> | |
| 1227 | - <grouping_symbol/> | |
| 1228 | - <currency_symbol/> | |
| 1229 | - <storage_type/> | |
| 1230 | - </meta> <meta> <name>ledScreen</name> | |
| 1231 | - <rename>ledScreen</rename> | |
| 1232 | - <type>Integer</type> | |
| 1233 | - <length>1</length> | |
| 1234 | - <precision>-2</precision> | |
| 1235 | - <conversion_mask/> | |
| 1236 | - <date_format_lenient>false</date_format_lenient> | |
| 1237 | - <date_format_locale/> | |
| 1238 | - <date_format_timezone/> | |
| 1239 | - <lenient_string_to_number>false</lenient_string_to_number> | |
| 1240 | - <encoding/> | |
| 1241 | - <decimal_symbol/> | |
| 1242 | - <grouping_symbol/> | |
| 1243 | - <currency_symbol/> | |
| 1244 | - <storage_type/> | |
| 1245 | - </meta> <meta> <name>tvVideoType</name> | |
| 1246 | - <rename>tvVideoType</rename> | |
| 1247 | - <type>Integer</type> | |
| 1248 | - <length>1</length> | |
| 1249 | - <precision>-2</precision> | |
| 1250 | - <conversion_mask/> | |
| 1251 | - <date_format_lenient>false</date_format_lenient> | |
| 1252 | - <date_format_locale/> | |
| 1253 | - <date_format_timezone/> | |
| 1254 | - <lenient_string_to_number>false</lenient_string_to_number> | |
| 1255 | - <encoding/> | |
| 1256 | - <decimal_symbol/> | |
| 1257 | - <grouping_symbol/> | |
| 1258 | - <currency_symbol/> | |
| 1259 | - <storage_type/> | |
| 1260 | - </meta> </fields> <cluster_schema/> | |
| 1261 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1262 | - <xloc>839</xloc> | |
| 1263 | - <yloc>61</yloc> | |
| 1264 | - <draw>Y</draw> | |
| 1265 | - </GUI> | |
| 1266 | - </step> | |
| 1267 | - | |
| 1268 | - <step> | |
| 1269 | - <name>是否空调车</name> | |
| 1270 | - <type>ValueMapper</type> | |
| 1271 | - <description/> | |
| 1272 | - <distribute>Y</distribute> | |
| 1273 | - <custom_distribution/> | |
| 1274 | - <copies>1</copies> | |
| 1275 | - <partitioning> | |
| 1276 | - <method>none</method> | |
| 1277 | - <schema_name/> | |
| 1278 | - </partitioning> | |
| 1279 | - <field_to_use>hvacCar</field_to_use> | |
| 1280 | - <target_field/> | |
| 1281 | - <non_match_default/> | |
| 1282 | - <fields> | |
| 1283 | - <field> | |
| 1284 | - <source_value>是</source_value> | |
| 1285 | - <target_value>1</target_value> | |
| 1286 | - </field> | |
| 1287 | - <field> | |
| 1288 | - <source_value>否</source_value> | |
| 1289 | - <target_value>0</target_value> | |
| 1290 | - </field> | |
| 1291 | - </fields> | |
| 1292 | - <cluster_schema/> | |
| 1293 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1294 | - <xloc>388</xloc> | |
| 1295 | - <yloc>61</yloc> | |
| 1296 | - <draw>Y</draw> | |
| 1297 | - </GUI> | |
| 1298 | - </step> | |
| 1299 | - | |
| 1300 | - <step> | |
| 1301 | - <name>有无人售票</name> | |
| 1302 | - <type>ValueMapper</type> | |
| 1303 | - <description/> | |
| 1304 | - <distribute>Y</distribute> | |
| 1305 | - <custom_distribution/> | |
| 1306 | - <copies>1</copies> | |
| 1307 | - <partitioning> | |
| 1308 | - <method>none</method> | |
| 1309 | - <schema_name/> | |
| 1310 | - </partitioning> | |
| 1311 | - <field_to_use>ticketType</field_to_use> | |
| 1312 | - <target_field/> | |
| 1313 | - <non_match_default/> | |
| 1314 | - <fields> | |
| 1315 | - <field> | |
| 1316 | - <source_value>是</source_value> | |
| 1317 | - <target_value>1</target_value> | |
| 1318 | - </field> | |
| 1319 | - <field> | |
| 1320 | - <source_value>否</source_value> | |
| 1321 | - <target_value>0</target_value> | |
| 1322 | - </field> | |
| 1323 | - </fields> | |
| 1324 | - <cluster_schema/> | |
| 1325 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1326 | - <xloc>485</xloc> | |
| 1327 | - <yloc>61</yloc> | |
| 1328 | - <draw>Y</draw> | |
| 1329 | - </GUI> | |
| 1330 | - </step> | |
| 1331 | - | |
| 1332 | - <step> | |
| 1333 | - <name>获取变量</name> | |
| 1334 | - <type>GetVariable</type> | |
| 1335 | - <description/> | |
| 1336 | - <distribute>Y</distribute> | |
| 1337 | - <custom_distribution/> | |
| 1338 | - <copies>1</copies> | |
| 1339 | - <partitioning> | |
| 1340 | - <method>none</method> | |
| 1341 | - <schema_name/> | |
| 1342 | - </partitioning> | |
| 1343 | - <fields> | |
| 1344 | - <field> | |
| 1345 | - <name>filepath_</name> | |
| 1346 | - <variable>${filepath}</variable> | |
| 1347 | - <type>String</type> | |
| 1348 | - <format/> | |
| 1349 | - <currency/> | |
| 1350 | - <decimal/> | |
| 1351 | - <group/> | |
| 1352 | - <length>-1</length> | |
| 1353 | - <precision>-1</precision> | |
| 1354 | - <trim_type>none</trim_type> | |
| 1355 | - </field> | |
| 1356 | - <field> | |
| 1357 | - <name>erroroutputdir_</name> | |
| 1358 | - <variable>${erroroutputdir}</variable> | |
| 1359 | - <type>String</type> | |
| 1360 | - <format/> | |
| 1361 | - <currency/> | |
| 1362 | - <decimal/> | |
| 1363 | - <group/> | |
| 1364 | - <length>-1</length> | |
| 1365 | - <precision>-1</precision> | |
| 1366 | - <trim_type>none</trim_type> | |
| 1367 | - </field> | |
| 1368 | - </fields> | |
| 1369 | - <cluster_schema/> | |
| 1370 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1371 | - <xloc>134</xloc> | |
| 1372 | - <yloc>183</yloc> | |
| 1373 | - <draw>Y</draw> | |
| 1374 | - </GUI> | |
| 1375 | - </step> | |
| 1376 | - | |
| 1377 | - <step> | |
| 1378 | - <name>错误输出</name> | |
| 1379 | - <type>ExcelOutput</type> | |
| 1380 | - <description/> | |
| 1381 | - <distribute>Y</distribute> | |
| 1382 | - <custom_distribution/> | |
| 1383 | - <copies>1</copies> | |
| 1384 | - <partitioning> | |
| 1385 | - <method>none</method> | |
| 1386 | - <schema_name/> | |
| 1387 | - </partitioning> | |
| 1388 | - <header>Y</header> | |
| 1389 | - <footer>N</footer> | |
| 1390 | - <encoding/> | |
| 1391 | - <append>N</append> | |
| 1392 | - <add_to_result_filenames>Y</add_to_result_filenames> | |
| 1393 | - <file> | |
| 1394 | - <name>${erroroutputdir}/车辆基础信息_错误</name> | |
| 1395 | - <extention>xls</extention> | |
| 1396 | - <do_not_open_newfile_init>N</do_not_open_newfile_init> | |
| 1397 | - <create_parent_folder>N</create_parent_folder> | |
| 1398 | - <split>N</split> | |
| 1399 | - <add_date>N</add_date> | |
| 1400 | - <add_time>N</add_time> | |
| 1401 | - <SpecifyFormat>N</SpecifyFormat> | |
| 1402 | - <date_time_format/> | |
| 1403 | - <sheetname>Sheet1</sheetname> | |
| 1404 | - <autosizecolums>N</autosizecolums> | |
| 1405 | - <nullisblank>N</nullisblank> | |
| 1406 | - <protect_sheet>N</protect_sheet> | |
| 1407 | - <password>Encrypted </password> | |
| 1408 | - <splitevery>0</splitevery> | |
| 1409 | - <usetempfiles>N</usetempfiles> | |
| 1410 | - <tempdirectory/> | |
| 1411 | - </file> | |
| 1412 | - <template> | |
| 1413 | - <enabled>N</enabled> | |
| 1414 | - <append>N</append> | |
| 1415 | - <filename>template.xls</filename> | |
| 1416 | - </template> | |
| 1417 | - <fields> | |
| 1418 | - <field> | |
| 1419 | - <name>insideCode</name> | |
| 1420 | - <type>String</type> | |
| 1421 | - <format/> | |
| 1422 | - </field> | |
| 1423 | - <field> | |
| 1424 | - <name>company</name> | |
| 1425 | - <type>String</type> | |
| 1426 | - <format/> | |
| 1427 | - </field> | |
| 1428 | - <field> | |
| 1429 | - <name>brancheCompany</name> | |
| 1430 | - <type>String</type> | |
| 1431 | - <format/> | |
| 1432 | - </field> | |
| 1433 | - <field> | |
| 1434 | - <name>carPlate</name> | |
| 1435 | - <type>String</type> | |
| 1436 | - <format/> | |
| 1437 | - </field> | |
| 1438 | - <field> | |
| 1439 | - <name>supplierName</name> | |
| 1440 | - <type>String</type> | |
| 1441 | - <format/> | |
| 1442 | - </field> | |
| 1443 | - <field> | |
| 1444 | - <name>equipmentCode</name> | |
| 1445 | - <type>String</type> | |
| 1446 | - <format/> | |
| 1447 | - </field> | |
| 1448 | - <field> | |
| 1449 | - <name>carClass</name> | |
| 1450 | - <type>String</type> | |
| 1451 | - <format/> | |
| 1452 | - </field> | |
| 1453 | - <field> | |
| 1454 | - <name>speed</name> | |
| 1455 | - <type>String</type> | |
| 1456 | - <format/> | |
| 1457 | - </field> | |
| 1458 | - <field> | |
| 1459 | - <name>carSeatnNumber</name> | |
| 1460 | - <type>String</type> | |
| 1461 | - <format/> | |
| 1462 | - </field> | |
| 1463 | - <field> | |
| 1464 | - <name>carStandard</name> | |
| 1465 | - <type>String</type> | |
| 1466 | - <format/> | |
| 1467 | - </field> | |
| 1468 | - <field> | |
| 1469 | - <name>kburnStandard</name> | |
| 1470 | - <type>String</type> | |
| 1471 | - <format/> | |
| 1472 | - </field> | |
| 1473 | - <field> | |
| 1474 | - <name>gburnStandard</name> | |
| 1475 | - <type>String</type> | |
| 1476 | - <format/> | |
| 1477 | - </field> | |
| 1478 | - <field> | |
| 1479 | - <name>scrapCode</name> | |
| 1480 | - <type>String</type> | |
| 1481 | - <format/> | |
| 1482 | - </field> | |
| 1483 | - <field> | |
| 1484 | - <name>makeCodeOne</name> | |
| 1485 | - <type>String</type> | |
| 1486 | - <format/> | |
| 1487 | - </field> | |
| 1488 | - <field> | |
| 1489 | - <name>makeCodeTwo</name> | |
| 1490 | - <type>String</type> | |
| 1491 | - <format/> | |
| 1492 | - </field> | |
| 1493 | - <field> | |
| 1494 | - <name>carGride</name> | |
| 1495 | - <type>String</type> | |
| 1496 | - <format/> | |
| 1497 | - </field> | |
| 1498 | - <field> | |
| 1499 | - <name>emissionsStandard</name> | |
| 1500 | - <type>String</type> | |
| 1501 | - <format/> | |
| 1502 | - </field> | |
| 1503 | - <field> | |
| 1504 | - <name>engineCodeOne</name> | |
| 1505 | - <type>String</type> | |
| 1506 | - <format/> | |
| 1507 | - </field> | |
| 1508 | - <field> | |
| 1509 | - <name>engineCodeTwo</name> | |
| 1510 | - <type>String</type> | |
| 1511 | - <format/> | |
| 1512 | - </field> | |
| 1513 | - <field> | |
| 1514 | - <name>carNumberOne</name> | |
| 1515 | - <type>String</type> | |
| 1516 | - <format/> | |
| 1517 | - </field> | |
| 1518 | - <field> | |
| 1519 | - <name>carNumberTwo</name> | |
| 1520 | - <type>String</type> | |
| 1521 | - <format/> | |
| 1522 | - </field> | |
| 1523 | - <field> | |
| 1524 | - <name>openDate</name> | |
| 1525 | - <type>String</type> | |
| 1526 | - <format/> | |
| 1527 | - </field> | |
| 1528 | - <field> | |
| 1529 | - <name>closeDate</name> | |
| 1530 | - <type>String</type> | |
| 1531 | - <format/> | |
| 1532 | - </field> | |
| 1533 | - <field> | |
| 1534 | - <name>hvacCar</name> | |
| 1535 | - <type>Integer</type> | |
| 1536 | - <format/> | |
| 1537 | - </field> | |
| 1538 | - <field> | |
| 1539 | - <name>ticketType</name> | |
| 1540 | - <type>Integer</type> | |
| 1541 | - <format/> | |
| 1542 | - </field> | |
| 1543 | - <field> | |
| 1544 | - <name>ledScreen</name> | |
| 1545 | - <type>Integer</type> | |
| 1546 | - <format/> | |
| 1547 | - </field> | |
| 1548 | - <field> | |
| 1549 | - <name>tvVideoType</name> | |
| 1550 | - <type>Integer</type> | |
| 1551 | - <format/> | |
| 1552 | - </field> | |
| 1553 | - <field> | |
| 1554 | - <name>carType</name> | |
| 1555 | - <type>String</type> | |
| 1556 | - <format/> | |
| 1557 | - </field> | |
| 1558 | - <field> | |
| 1559 | - <name>vehicleStats</name> | |
| 1560 | - <type>String</type> | |
| 1561 | - <format/> | |
| 1562 | - </field> | |
| 1563 | - <field> | |
| 1564 | - <name>operatorsState</name> | |
| 1565 | - <type>String</type> | |
| 1566 | - <format/> | |
| 1567 | - </field> | |
| 1568 | - <field> | |
| 1569 | - <name>descriptions</name> | |
| 1570 | - <type>String</type> | |
| 1571 | - <format/> | |
| 1572 | - </field> | |
| 1573 | - <field> | |
| 1574 | - <name>videoCode</name> | |
| 1575 | - <type>String</type> | |
| 1576 | - <format/> | |
| 1577 | - </field> | |
| 1578 | - <field> | |
| 1579 | - <name>businessCode</name> | |
| 1580 | - <type>String</type> | |
| 1581 | - <format/> | |
| 1582 | - </field> | |
| 1583 | - <field> | |
| 1584 | - <name>carCode</name> | |
| 1585 | - <type>String</type> | |
| 1586 | - <format/> | |
| 1587 | - </field> | |
| 1588 | - <field> | |
| 1589 | - <name>error_count</name> | |
| 1590 | - <type>Integer</type> | |
| 1591 | - <format/> | |
| 1592 | - </field> | |
| 1593 | - <field> | |
| 1594 | - <name>error_desc</name> | |
| 1595 | - <type>String</type> | |
| 1596 | - <format/> | |
| 1597 | - </field> | |
| 1598 | - <field> | |
| 1599 | - <name>error_column1</name> | |
| 1600 | - <type>String</type> | |
| 1601 | - <format/> | |
| 1602 | - </field> | |
| 1603 | - <field> | |
| 1604 | - <name>error_column2</name> | |
| 1605 | - <type>String</type> | |
| 1606 | - <format/> | |
| 1607 | - </field> | |
| 1608 | - </fields> | |
| 1609 | - <custom> | |
| 1610 | - <header_font_name>arial</header_font_name> | |
| 1611 | - <header_font_size>10</header_font_size> | |
| 1612 | - <header_font_bold>N</header_font_bold> | |
| 1613 | - <header_font_italic>N</header_font_italic> | |
| 1614 | - <header_font_underline>no</header_font_underline> | |
| 1615 | - <header_font_orientation>horizontal</header_font_orientation> | |
| 1616 | - <header_font_color>black</header_font_color> | |
| 1617 | - <header_background_color>none</header_background_color> | |
| 1618 | - <header_row_height>255</header_row_height> | |
| 1619 | - <header_alignment>left</header_alignment> | |
| 1620 | - <header_image/> | |
| 1621 | - <row_font_name>arial</row_font_name> | |
| 1622 | - <row_font_size>10</row_font_size> | |
| 1623 | - <row_font_color>black</row_font_color> | |
| 1624 | - <row_background_color>none</row_background_color> | |
| 1625 | - </custom> | |
| 1626 | - <cluster_schema/> | |
| 1627 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1628 | - <xloc>637</xloc> | |
| 1629 | - <yloc>320</yloc> | |
| 1630 | - <draw>Y</draw> | |
| 1631 | - </GUI> | |
| 1632 | - </step> | |
| 1633 | - | |
| 1634 | - <step_error_handling> | |
| 1635 | - <error> | |
| 1636 | - <source_step>插入/更新bsth_c_cars</source_step> | |
| 1637 | - <target_step>错误输出</target_step> | |
| 1638 | - <is_enabled>Y</is_enabled> | |
| 1639 | - <nr_valuename>error_count</nr_valuename> | |
| 1640 | - <descriptions_valuename>error_desc</descriptions_valuename> | |
| 1641 | - <fields_valuename>error_column1</fields_valuename> | |
| 1642 | - <codes_valuename>error_column2</codes_valuename> | |
| 1643 | - <max_errors/> | |
| 1644 | - <max_pct_errors/> | |
| 1645 | - <min_pct_rows/> | |
| 1646 | - </error> | |
| 1647 | - </step_error_handling> | |
| 1648 | - <slave-step-copy-partition-distribution> | |
| 1649 | -</slave-step-copy-partition-distribution> | |
| 1650 | - <slave_transformation>N</slave_transformation> | |
| 1651 | - | |
| 1652 | -</transformation> | |
| 1653 | -======= | |
| 1654 | 1 | <?xml version="1.0" encoding="UTF-8"?> |
| 1655 | 2 | <transformation> |
| 1656 | 3 | <info> |
| ... | ... | @@ -1760,14 +107,68 @@ |
| 1760 | 107 | </notepad> |
| 1761 | 108 | </notepads> |
| 1762 | 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> | |
| 1763 | 137 | <name>bus_control_公司_201</name> |
| 1764 | - <server>192.168.168.201</server> | |
| 138 | + <server>localhost</server> | |
| 1765 | 139 | <type>MYSQL</type> |
| 1766 | 140 | <access>Native</access> |
| 1767 | 141 | <database>control</database> |
| 1768 | 142 | <port>3306</port> |
| 1769 | 143 | <username>root</username> |
| 1770 | - <password>Encrypted 2be98afc86aa7f2e4cb79ff228dc6fa8c</password> | |
| 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> | |
| 1771 | 172 | <servername/> |
| 1772 | 173 | <data_tablespace/> |
| 1773 | 174 | <index_tablespace/> |
| ... | ... | @@ -2576,7 +977,7 @@ |
| 2576 | 977 | <method>none</method> |
| 2577 | 978 | <schema_name/> |
| 2578 | 979 | </partitioning> |
| 2579 | - <connection>bus_control_公司_201</connection> | |
| 980 | + <connection>bus_control_variable</connection> | |
| 2580 | 981 | <commit>1000</commit> |
| 2581 | 982 | <update_bypassed>N</update_bypassed> |
| 2582 | 983 | <lookup> |
| ... | ... | @@ -3296,4 +1697,3 @@ |
| 3296 | 1697 | <slave_transformation>N</slave_transformation> |
| 3297 | 1698 | |
| 3298 | 1699 | </transformation> |
| 3299 | ->>>>>>> 502f6f7ff3ff76f0f6b6dbdac8a353604a7d5626 | ... | ... |
src/main/resources/datatools/ktrs/employeesConfigDataInput.ktr
| 1 | -<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | -<transformation> | |
| 3 | - <info> | |
| 4 | - <name>employeesConfigDataInput</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 15:12:27.273</created_date> | |
| 81 | - <modified_user>-</modified_user> | |
| 82 | - <modified_date>2016/06/29 15:12:27.273</modified_date> | |
| 83 | - <key_for_session_key/> | |
| 84 | - <is_key_private>N</is_key_private> | |
| 85 | - </info> | |
| 86 | - <notepads> | |
| 87 | - <notepad> | |
| 88 | - <note>原系统的表中,车辆内部编码是没的,
搭班编码 这个貌似用于驾驶员和售票员用的,好像不能一样的
车辆内部编码 没有暂时空着</note> | |
| 89 | - <xloc>252</xloc> | |
| 90 | - <yloc>178</yloc> | |
| 91 | - <width>341</width> | |
| 92 | - <heigth>58</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_ecinfo</from><to>错误输出</to><enabled>Y</enabled> </hop> | |
| 219 | - <hop> <from>查询售票员关联</from><to>插入/更新bsth_c_s_ecinfo</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 | - <field> | |
| 319 | - <name>售票员</name> | |
| 320 | - <type>String</type> | |
| 321 | - <length>-1</length> | |
| 322 | - <precision>-1</precision> | |
| 323 | - <trim_type>none</trim_type> | |
| 324 | - <repeat>N</repeat> | |
| 325 | - <format/> | |
| 326 | - <currency/> | |
| 327 | - <decimal/> | |
| 328 | - <group/> | |
| 329 | - </field> | |
| 330 | - <field> | |
| 331 | - <name>车辆</name> | |
| 332 | - <type>String</type> | |
| 333 | - <length>-1</length> | |
| 334 | - <precision>-1</precision> | |
| 335 | - <trim_type>none</trim_type> | |
| 336 | - <repeat>N</repeat> | |
| 337 | - <format/> | |
| 338 | - <currency/> | |
| 339 | - <decimal/> | |
| 340 | - <group/> | |
| 341 | - </field> | |
| 342 | - </fields> | |
| 343 | - <sheets> | |
| 344 | - <sheet> | |
| 345 | - <name>工作表1</name> | |
| 346 | - <startrow>0</startrow> | |
| 347 | - <startcol>0</startcol> | |
| 348 | - </sheet> | |
| 349 | - </sheets> | |
| 350 | - <strict_types>N</strict_types> | |
| 351 | - <error_ignored>N</error_ignored> | |
| 352 | - <error_line_skipped>N</error_line_skipped> | |
| 353 | - <bad_line_files_destination_directory/> | |
| 354 | - <bad_line_files_extension>warning</bad_line_files_extension> | |
| 355 | - <error_line_files_destination_directory/> | |
| 356 | - <error_line_files_extension>error</error_line_files_extension> | |
| 357 | - <line_number_files_destination_directory/> | |
| 358 | - <line_number_files_extension>line</line_number_files_extension> | |
| 359 | - <shortFileFieldName/> | |
| 360 | - <pathFieldName/> | |
| 361 | - <hiddenFieldName/> | |
| 362 | - <lastModificationTimeFieldName/> | |
| 363 | - <uriNameFieldName/> | |
| 364 | - <rootUriNameFieldName/> | |
| 365 | - <extensionFieldName/> | |
| 366 | - <sizeFieldName/> | |
| 367 | - <spreadsheet_type>JXL</spreadsheet_type> | |
| 368 | - <cluster_schema/> | |
| 369 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 370 | - <xloc>144</xloc> | |
| 371 | - <yloc>49</yloc> | |
| 372 | - <draw>Y</draw> | |
| 373 | - </GUI> | |
| 374 | - </step> | |
| 375 | - | |
| 376 | - <step> | |
| 377 | - <name>字段选择</name> | |
| 378 | - <type>SelectValues</type> | |
| 379 | - <description/> | |
| 380 | - <distribute>Y</distribute> | |
| 381 | - <custom_distribution/> | |
| 382 | - <copies>1</copies> | |
| 383 | - <partitioning> | |
| 384 | - <method>none</method> | |
| 385 | - <schema_name/> | |
| 386 | - </partitioning> | |
| 387 | - <fields> <field> <name>线路</name> | |
| 388 | - <rename>xl</rename> | |
| 389 | - <length>-2</length> | |
| 390 | - <precision>-2</precision> | |
| 391 | - </field> <field> <name>搭班编码</name> | |
| 392 | - <rename>dbbm</rename> | |
| 393 | - <length>-2</length> | |
| 394 | - <precision>-2</precision> | |
| 395 | - </field> <field> <name>驾驶员工号</name> | |
| 396 | - <rename>jsy_no</rename> | |
| 397 | - <length>-2</length> | |
| 398 | - <precision>-2</precision> | |
| 399 | - </field> <field> <name>驾驶员</name> | |
| 400 | - <rename>jsy_name</rename> | |
| 401 | - <length>-2</length> | |
| 402 | - <precision>-2</precision> | |
| 403 | - </field> <field> <name>售票员工号</name> | |
| 404 | - <rename>spy_no</rename> | |
| 405 | - <length>-2</length> | |
| 406 | - <precision>-2</precision> | |
| 407 | - </field> <field> <name>售票员</name> | |
| 408 | - <rename>spy_name</rename> | |
| 409 | - <length>-2</length> | |
| 410 | - <precision>-2</precision> | |
| 411 | - </field> <field> <name>车辆</name> | |
| 412 | - <rename>cl</rename> | |
| 413 | - <length>-2</length> | |
| 414 | - <precision>-2</precision> | |
| 415 | - </field> <select_unspecified>N</select_unspecified> | |
| 416 | - </fields> <cluster_schema/> | |
| 417 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 418 | - <xloc>294</xloc> | |
| 419 | - <yloc>50</yloc> | |
| 420 | - <draw>Y</draw> | |
| 421 | - </GUI> | |
| 422 | - </step> | |
| 423 | - | |
| 424 | - <step> | |
| 425 | - <name>插入/更新bsth_c_s_ecinfo</name> | |
| 426 | - <type>InsertUpdate</type> | |
| 427 | - <description/> | |
| 428 | - <distribute>Y</distribute> | |
| 429 | - <custom_distribution/> | |
| 430 | - <copies>1</copies> | |
| 431 | - <partitioning> | |
| 432 | - <method>none</method> | |
| 433 | - <schema_name/> | |
| 434 | - </partitioning> | |
| 435 | - <connection>bus_control_公司_201</connection> | |
| 436 | - <commit>100</commit> | |
| 437 | - <update_bypassed>N</update_bypassed> | |
| 438 | - <lookup> | |
| 439 | - <schema/> | |
| 440 | - <table>bsth_c_s_ecinfo</table> | |
| 441 | - <key> | |
| 442 | - <name>xlid</name> | |
| 443 | - <field>xl</field> | |
| 444 | - <condition>=</condition> | |
| 445 | - <name2/> | |
| 446 | - </key> | |
| 447 | - <key> | |
| 448 | - <name>jsyid</name> | |
| 449 | - <field>jsy</field> | |
| 450 | - <condition>=</condition> | |
| 451 | - <name2/> | |
| 452 | - </key> | |
| 453 | - <key> | |
| 454 | - <name>spyid</name> | |
| 455 | - <field>spy</field> | |
| 456 | - <condition>=</condition> | |
| 457 | - <name2/> | |
| 458 | - </key> | |
| 459 | - <value> | |
| 460 | - <name>xl</name> | |
| 461 | - <rename>xlid</rename> | |
| 462 | - <update>Y</update> | |
| 463 | - </value> | |
| 464 | - <value> | |
| 465 | - <name>dbbm</name> | |
| 466 | - <rename>dbbm</rename> | |
| 467 | - <update>Y</update> | |
| 468 | - </value> | |
| 469 | - <value> | |
| 470 | - <name>jsy</name> | |
| 471 | - <rename>jsyid</rename> | |
| 472 | - <update>Y</update> | |
| 473 | - </value> | |
| 474 | - <value> | |
| 475 | - <name>spy</name> | |
| 476 | - <rename>spyid</rename> | |
| 477 | - <update>Y</update> | |
| 478 | - </value> | |
| 479 | - </lookup> | |
| 480 | - <cluster_schema/> | |
| 481 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 482 | - <xloc>721</xloc> | |
| 483 | - <yloc>181</yloc> | |
| 484 | - <draw>Y</draw> | |
| 485 | - </GUI> | |
| 486 | - </step> | |
| 487 | - | |
| 488 | - <step> | |
| 489 | - <name>查询售票员关联</name> | |
| 490 | - <type>DBLookup</type> | |
| 491 | - <description/> | |
| 492 | - <distribute>Y</distribute> | |
| 493 | - <custom_distribution/> | |
| 494 | - <copies>1</copies> | |
| 495 | - <partitioning> | |
| 496 | - <method>none</method> | |
| 497 | - <schema_name/> | |
| 498 | - </partitioning> | |
| 499 | - <connection>bus_control_公司_201</connection> | |
| 500 | - <cache>N</cache> | |
| 501 | - <cache_load_all>N</cache_load_all> | |
| 502 | - <cache_size>0</cache_size> | |
| 503 | - <lookup> | |
| 504 | - <schema/> | |
| 505 | - <table>bsth_c_personnel</table> | |
| 506 | - <orderby/> | |
| 507 | - <fail_on_multiple>N</fail_on_multiple> | |
| 508 | - <eat_row_on_failure>N</eat_row_on_failure> | |
| 509 | - <key> | |
| 510 | - <name>spy_no</name> | |
| 511 | - <field>job_code</field> | |
| 512 | - <condition>=</condition> | |
| 513 | - <name2/> | |
| 514 | - </key> | |
| 515 | - <value> | |
| 516 | - <name>id</name> | |
| 517 | - <rename>spyid</rename> | |
| 518 | - <default/> | |
| 519 | - <type>Integer</type> | |
| 520 | - </value> | |
| 521 | - </lookup> | |
| 522 | - <cluster_schema/> | |
| 523 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 524 | - <xloc>720</xloc> | |
| 525 | - <yloc>51</yloc> | |
| 526 | - <draw>Y</draw> | |
| 527 | - </GUI> | |
| 528 | - </step> | |
| 529 | - | |
| 530 | - <step> | |
| 531 | - <name>查询线路关联</name> | |
| 532 | - <type>DBLookup</type> | |
| 533 | - <description/> | |
| 534 | - <distribute>Y</distribute> | |
| 535 | - <custom_distribution/> | |
| 536 | - <copies>1</copies> | |
| 537 | - <partitioning> | |
| 538 | - <method>none</method> | |
| 539 | - <schema_name/> | |
| 540 | - </partitioning> | |
| 541 | - <connection>bus_control_公司_201</connection> | |
| 542 | - <cache>N</cache> | |
| 543 | - <cache_load_all>N</cache_load_all> | |
| 544 | - <cache_size>0</cache_size> | |
| 545 | - <lookup> | |
| 546 | - <schema/> | |
| 547 | - <table>bsth_c_line</table> | |
| 548 | - <orderby/> | |
| 549 | - <fail_on_multiple>N</fail_on_multiple> | |
| 550 | - <eat_row_on_failure>N</eat_row_on_failure> | |
| 551 | - <key> | |
| 552 | - <name>xl</name> | |
| 553 | - <field>name</field> | |
| 554 | - <condition>=</condition> | |
| 555 | - <name2/> | |
| 556 | - </key> | |
| 557 | - <value> | |
| 558 | - <name>id</name> | |
| 559 | - <rename>xlid</rename> | |
| 560 | - <default/> | |
| 561 | - <type>Integer</type> | |
| 562 | - </value> | |
| 563 | - </lookup> | |
| 564 | - <cluster_schema/> | |
| 565 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 566 | - <xloc>429</xloc> | |
| 567 | - <yloc>51</yloc> | |
| 568 | - <draw>Y</draw> | |
| 569 | - </GUI> | |
| 570 | - </step> | |
| 571 | - | |
| 572 | - <step> | |
| 573 | - <name>查询驾驶员关联</name> | |
| 574 | - <type>DBLookup</type> | |
| 575 | - <description/> | |
| 576 | - <distribute>Y</distribute> | |
| 577 | - <custom_distribution/> | |
| 578 | - <copies>1</copies> | |
| 579 | - <partitioning> | |
| 580 | - <method>none</method> | |
| 581 | - <schema_name/> | |
| 582 | - </partitioning> | |
| 583 | - <connection>bus_control_公司_201</connection> | |
| 584 | - <cache>N</cache> | |
| 585 | - <cache_load_all>N</cache_load_all> | |
| 586 | - <cache_size>0</cache_size> | |
| 587 | - <lookup> | |
| 588 | - <schema/> | |
| 589 | - <table>bsth_c_personnel</table> | |
| 590 | - <orderby/> | |
| 591 | - <fail_on_multiple>N</fail_on_multiple> | |
| 592 | - <eat_row_on_failure>N</eat_row_on_failure> | |
| 593 | - <key> | |
| 594 | - <name>jsy_no</name> | |
| 595 | - <field>job_code</field> | |
| 596 | - <condition>=</condition> | |
| 597 | - <name2/> | |
| 598 | - </key> | |
| 599 | - <value> | |
| 600 | - <name>id</name> | |
| 601 | - <rename>jsyid</rename> | |
| 602 | - <default/> | |
| 603 | - <type>Integer</type> | |
| 604 | - </value> | |
| 605 | - </lookup> | |
| 606 | - <cluster_schema/> | |
| 607 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 608 | - <xloc>573</xloc> | |
| 609 | - <yloc>51</yloc> | |
| 610 | - <draw>Y</draw> | |
| 611 | - </GUI> | |
| 612 | - </step> | |
| 613 | - | |
| 614 | - <step> | |
| 615 | - <name>错误输出</name> | |
| 616 | - <type>ExcelOutput</type> | |
| 617 | - <description/> | |
| 618 | - <distribute>Y</distribute> | |
| 619 | - <custom_distribution/> | |
| 620 | - <copies>1</copies> | |
| 621 | - <partitioning> | |
| 622 | - <method>none</method> | |
| 623 | - <schema_name/> | |
| 624 | - </partitioning> | |
| 625 | - <header>Y</header> | |
| 626 | - <footer>N</footer> | |
| 627 | - <encoding>UTF-8</encoding> | |
| 628 | - <append>N</append> | |
| 629 | - <add_to_result_filenames>Y</add_to_result_filenames> | |
| 630 | - <file> | |
| 631 | - <name>${erroroutputdir}/人员配置_错误</name> | |
| 632 | - <extention>xls</extention> | |
| 633 | - <do_not_open_newfile_init>N</do_not_open_newfile_init> | |
| 634 | - <create_parent_folder>N</create_parent_folder> | |
| 635 | - <split>N</split> | |
| 636 | - <add_date>N</add_date> | |
| 637 | - <add_time>N</add_time> | |
| 638 | - <SpecifyFormat>N</SpecifyFormat> | |
| 639 | - <date_time_format/> | |
| 640 | - <sheetname>Sheet1</sheetname> | |
| 641 | - <autosizecolums>N</autosizecolums> | |
| 642 | - <nullisblank>N</nullisblank> | |
| 643 | - <protect_sheet>N</protect_sheet> | |
| 644 | - <password>Encrypted </password> | |
| 645 | - <splitevery>0</splitevery> | |
| 646 | - <usetempfiles>N</usetempfiles> | |
| 647 | - <tempdirectory/> | |
| 648 | - </file> | |
| 649 | - <template> | |
| 650 | - <enabled>N</enabled> | |
| 651 | - <append>N</append> | |
| 652 | - <filename>template.xls</filename> | |
| 653 | - </template> | |
| 654 | - <fields> | |
| 655 | - <field> | |
| 656 | - <name>xl</name> | |
| 657 | - <type>String</type> | |
| 658 | - <format/> | |
| 659 | - </field> | |
| 660 | - <field> | |
| 661 | - <name>dbbm</name> | |
| 662 | - <type>String</type> | |
| 663 | - <format/> | |
| 664 | - </field> | |
| 665 | - <field> | |
| 666 | - <name>jsy_no</name> | |
| 667 | - <type>String</type> | |
| 668 | - <format/> | |
| 669 | - </field> | |
| 670 | - <field> | |
| 671 | - <name>jsy_name</name> | |
| 672 | - <type>String</type> | |
| 673 | - <format/> | |
| 674 | - </field> | |
| 675 | - <field> | |
| 676 | - <name>spy_no</name> | |
| 677 | - <type>String</type> | |
| 678 | - <format/> | |
| 679 | - </field> | |
| 680 | - <field> | |
| 681 | - <name>spy_name</name> | |
| 682 | - <type>String</type> | |
| 683 | - <format/> | |
| 684 | - </field> | |
| 685 | - <field> | |
| 686 | - <name>cl</name> | |
| 687 | - <type>String</type> | |
| 688 | - <format/> | |
| 689 | - </field> | |
| 690 | - <field> | |
| 691 | - <name>xlid</name> | |
| 692 | - <type>Integer</type> | |
| 693 | - <format/> | |
| 694 | - </field> | |
| 695 | - <field> | |
| 696 | - <name>jsyid</name> | |
| 697 | - <type>Integer</type> | |
| 698 | - <format/> | |
| 699 | - </field> | |
| 700 | - <field> | |
| 701 | - <name>spyid</name> | |
| 702 | - <type>Integer</type> | |
| 703 | - <format/> | |
| 704 | - </field> | |
| 705 | - <field> | |
| 706 | - <name>error_count</name> | |
| 707 | - <type>Integer</type> | |
| 708 | - <format/> | |
| 709 | - </field> | |
| 710 | - <field> | |
| 711 | - <name>error_desc</name> | |
| 712 | - <type>String</type> | |
| 713 | - <format/> | |
| 714 | - </field> | |
| 715 | - <field> | |
| 716 | - <name>error_column1</name> | |
| 717 | - <type>String</type> | |
| 718 | - <format/> | |
| 719 | - </field> | |
| 720 | - <field> | |
| 721 | - <name>error_column2</name> | |
| 722 | - <type>String</type> | |
| 723 | - <format/> | |
| 724 | - </field> | |
| 725 | - </fields> | |
| 726 | - <custom> | |
| 727 | - <header_font_name>arial</header_font_name> | |
| 728 | - <header_font_size>10</header_font_size> | |
| 729 | - <header_font_bold>N</header_font_bold> | |
| 730 | - <header_font_italic>N</header_font_italic> | |
| 731 | - <header_font_underline>no</header_font_underline> | |
| 732 | - <header_font_orientation>horizontal</header_font_orientation> | |
| 733 | - <header_font_color>black</header_font_color> | |
| 734 | - <header_background_color>none</header_background_color> | |
| 735 | - <header_row_height>255</header_row_height> | |
| 736 | - <header_alignment>left</header_alignment> | |
| 737 | - <header_image/> | |
| 738 | - <row_font_name>arial</row_font_name> | |
| 739 | - <row_font_size>10</row_font_size> | |
| 740 | - <row_font_color>black</row_font_color> | |
| 741 | - <row_background_color>none</row_background_color> | |
| 742 | - </custom> | |
| 743 | - <cluster_schema/> | |
| 744 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 745 | - <xloc>721</xloc> | |
| 746 | - <yloc>304</yloc> | |
| 747 | - <draw>Y</draw> | |
| 748 | - </GUI> | |
| 749 | - </step> | |
| 750 | - | |
| 751 | - <step> | |
| 752 | - <name>获取变量</name> | |
| 753 | - <type>GetVariable</type> | |
| 754 | - <description/> | |
| 755 | - <distribute>Y</distribute> | |
| 756 | - <custom_distribution/> | |
| 757 | - <copies>1</copies> | |
| 758 | - <partitioning> | |
| 759 | - <method>none</method> | |
| 760 | - <schema_name/> | |
| 761 | - </partitioning> | |
| 762 | - <fields> | |
| 763 | - <field> | |
| 764 | - <name>filepath_</name> | |
| 765 | - <variable>${filepath}</variable> | |
| 766 | - <type>String</type> | |
| 767 | - <format/> | |
| 768 | - <currency/> | |
| 769 | - <decimal/> | |
| 770 | - <group/> | |
| 771 | - <length>-1</length> | |
| 772 | - <precision>-1</precision> | |
| 773 | - <trim_type>none</trim_type> | |
| 774 | - </field> | |
| 775 | - <field> | |
| 776 | - <name>erroroutputdir_</name> | |
| 777 | - <variable>${erroroutputdir}</variable> | |
| 778 | - <type>String</type> | |
| 779 | - <format/> | |
| 780 | - <currency/> | |
| 781 | - <decimal/> | |
| 782 | - <group/> | |
| 783 | - <length>-1</length> | |
| 784 | - <precision>-1</precision> | |
| 785 | - <trim_type>none</trim_type> | |
| 786 | - </field> | |
| 787 | - </fields> | |
| 788 | - <cluster_schema/> | |
| 789 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 790 | - <xloc>94</xloc> | |
| 791 | - <yloc>178</yloc> | |
| 792 | - <draw>Y</draw> | |
| 793 | - </GUI> | |
| 794 | - </step> | |
| 795 | - | |
| 796 | - <step_error_handling> | |
| 797 | - <error> | |
| 798 | - <source_step>插入/更新bsth_c_s_ecinfo</source_step> | |
| 799 | - <target_step>错误输出</target_step> | |
| 800 | - <is_enabled>Y</is_enabled> | |
| 801 | - <nr_valuename>error_count</nr_valuename> | |
| 802 | - <descriptions_valuename>error_desc</descriptions_valuename> | |
| 803 | - <fields_valuename>error_column1</fields_valuename> | |
| 804 | - <codes_valuename>error_column2</codes_valuename> | |
| 805 | - <max_errors/> | |
| 806 | - <max_pct_errors/> | |
| 807 | - <min_pct_rows/> | |
| 808 | - </error> | |
| 809 | - </step_error_handling> | |
| 810 | - <slave-step-copy-partition-distribution> | |
| 811 | -</slave-step-copy-partition-distribution> | |
| 812 | - <slave_transformation>N</slave_transformation> | |
| 813 | - | |
| 814 | -</transformation> | |
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<transformation> | |
| 3 | + <info> | |
| 4 | + <name>employeesConfigDataInput</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 15:12:27.273</created_date> | |
| 81 | + <modified_user>-</modified_user> | |
| 82 | + <modified_date>2016/06/29 15:12:27.273</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>原系统的表中,车辆内部编码是没的,
搭班编码 这个貌似用于驾驶员和售票员用的,好像不能一样的
车辆内部编码 没有暂时空着</note> | |
| 89 | + <xloc>252</xloc> | |
| 90 | + <yloc>178</yloc> | |
| 91 | + <width>341</width> | |
| 92 | + <heigth>58</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_ecinfo</from><to>错误输出</to><enabled>Y</enabled> </hop> | |
| 273 | + <hop> <from>查询售票员关联</from><to>插入/更新bsth_c_s_ecinfo</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 | + <field> | |
| 373 | + <name>售票员</name> | |
| 374 | + <type>String</type> | |
| 375 | + <length>-1</length> | |
| 376 | + <precision>-1</precision> | |
| 377 | + <trim_type>none</trim_type> | |
| 378 | + <repeat>N</repeat> | |
| 379 | + <format/> | |
| 380 | + <currency/> | |
| 381 | + <decimal/> | |
| 382 | + <group/> | |
| 383 | + </field> | |
| 384 | + <field> | |
| 385 | + <name>车辆</name> | |
| 386 | + <type>String</type> | |
| 387 | + <length>-1</length> | |
| 388 | + <precision>-1</precision> | |
| 389 | + <trim_type>none</trim_type> | |
| 390 | + <repeat>N</repeat> | |
| 391 | + <format/> | |
| 392 | + <currency/> | |
| 393 | + <decimal/> | |
| 394 | + <group/> | |
| 395 | + </field> | |
| 396 | + </fields> | |
| 397 | + <sheets> | |
| 398 | + <sheet> | |
| 399 | + <name>工作表1</name> | |
| 400 | + <startrow>0</startrow> | |
| 401 | + <startcol>0</startcol> | |
| 402 | + </sheet> | |
| 403 | + </sheets> | |
| 404 | + <strict_types>N</strict_types> | |
| 405 | + <error_ignored>N</error_ignored> | |
| 406 | + <error_line_skipped>N</error_line_skipped> | |
| 407 | + <bad_line_files_destination_directory/> | |
| 408 | + <bad_line_files_extension>warning</bad_line_files_extension> | |
| 409 | + <error_line_files_destination_directory/> | |
| 410 | + <error_line_files_extension>error</error_line_files_extension> | |
| 411 | + <line_number_files_destination_directory/> | |
| 412 | + <line_number_files_extension>line</line_number_files_extension> | |
| 413 | + <shortFileFieldName/> | |
| 414 | + <pathFieldName/> | |
| 415 | + <hiddenFieldName/> | |
| 416 | + <lastModificationTimeFieldName/> | |
| 417 | + <uriNameFieldName/> | |
| 418 | + <rootUriNameFieldName/> | |
| 419 | + <extensionFieldName/> | |
| 420 | + <sizeFieldName/> | |
| 421 | + <spreadsheet_type>JXL</spreadsheet_type> | |
| 422 | + <cluster_schema/> | |
| 423 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 424 | + <xloc>144</xloc> | |
| 425 | + <yloc>49</yloc> | |
| 426 | + <draw>Y</draw> | |
| 427 | + </GUI> | |
| 428 | + </step> | |
| 429 | + | |
| 430 | + <step> | |
| 431 | + <name>字段选择</name> | |
| 432 | + <type>SelectValues</type> | |
| 433 | + <description/> | |
| 434 | + <distribute>Y</distribute> | |
| 435 | + <custom_distribution/> | |
| 436 | + <copies>1</copies> | |
| 437 | + <partitioning> | |
| 438 | + <method>none</method> | |
| 439 | + <schema_name/> | |
| 440 | + </partitioning> | |
| 441 | + <fields> <field> <name>线路</name> | |
| 442 | + <rename>xl</rename> | |
| 443 | + <length>-2</length> | |
| 444 | + <precision>-2</precision> | |
| 445 | + </field> <field> <name>搭班编码</name> | |
| 446 | + <rename>dbbm</rename> | |
| 447 | + <length>-2</length> | |
| 448 | + <precision>-2</precision> | |
| 449 | + </field> <field> <name>驾驶员工号</name> | |
| 450 | + <rename>jsy_no</rename> | |
| 451 | + <length>-2</length> | |
| 452 | + <precision>-2</precision> | |
| 453 | + </field> <field> <name>驾驶员</name> | |
| 454 | + <rename>jsy_name</rename> | |
| 455 | + <length>-2</length> | |
| 456 | + <precision>-2</precision> | |
| 457 | + </field> <field> <name>售票员工号</name> | |
| 458 | + <rename>spy_no</rename> | |
| 459 | + <length>-2</length> | |
| 460 | + <precision>-2</precision> | |
| 461 | + </field> <field> <name>售票员</name> | |
| 462 | + <rename>spy_name</rename> | |
| 463 | + <length>-2</length> | |
| 464 | + <precision>-2</precision> | |
| 465 | + </field> <field> <name>车辆</name> | |
| 466 | + <rename>cl</rename> | |
| 467 | + <length>-2</length> | |
| 468 | + <precision>-2</precision> | |
| 469 | + </field> <select_unspecified>N</select_unspecified> | |
| 470 | + </fields> <cluster_schema/> | |
| 471 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 472 | + <xloc>294</xloc> | |
| 473 | + <yloc>50</yloc> | |
| 474 | + <draw>Y</draw> | |
| 475 | + </GUI> | |
| 476 | + </step> | |
| 477 | + | |
| 478 | + <step> | |
| 479 | + <name>插入/更新bsth_c_s_ecinfo</name> | |
| 480 | + <type>InsertUpdate</type> | |
| 481 | + <description/> | |
| 482 | + <distribute>Y</distribute> | |
| 483 | + <custom_distribution/> | |
| 484 | + <copies>1</copies> | |
| 485 | + <partitioning> | |
| 486 | + <method>none</method> | |
| 487 | + <schema_name/> | |
| 488 | + </partitioning> | |
| 489 | + <connection>bus_control_variable</connection> | |
| 490 | + <commit>100</commit> | |
| 491 | + <update_bypassed>N</update_bypassed> | |
| 492 | + <lookup> | |
| 493 | + <schema/> | |
| 494 | + <table>bsth_c_s_ecinfo</table> | |
| 495 | + <key> | |
| 496 | + <name>xlid</name> | |
| 497 | + <field>xl</field> | |
| 498 | + <condition>=</condition> | |
| 499 | + <name2/> | |
| 500 | + </key> | |
| 501 | + <key> | |
| 502 | + <name>jsyid</name> | |
| 503 | + <field>jsy</field> | |
| 504 | + <condition>=</condition> | |
| 505 | + <name2/> | |
| 506 | + </key> | |
| 507 | + <key> | |
| 508 | + <name>spyid</name> | |
| 509 | + <field>spy</field> | |
| 510 | + <condition>=</condition> | |
| 511 | + <name2/> | |
| 512 | + </key> | |
| 513 | + <value> | |
| 514 | + <name>xl</name> | |
| 515 | + <rename>xlid</rename> | |
| 516 | + <update>Y</update> | |
| 517 | + </value> | |
| 518 | + <value> | |
| 519 | + <name>dbbm</name> | |
| 520 | + <rename>dbbm</rename> | |
| 521 | + <update>Y</update> | |
| 522 | + </value> | |
| 523 | + <value> | |
| 524 | + <name>jsy</name> | |
| 525 | + <rename>jsyid</rename> | |
| 526 | + <update>Y</update> | |
| 527 | + </value> | |
| 528 | + <value> | |
| 529 | + <name>spy</name> | |
| 530 | + <rename>spyid</rename> | |
| 531 | + <update>Y</update> | |
| 532 | + </value> | |
| 533 | + </lookup> | |
| 534 | + <cluster_schema/> | |
| 535 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 536 | + <xloc>721</xloc> | |
| 537 | + <yloc>181</yloc> | |
| 538 | + <draw>Y</draw> | |
| 539 | + </GUI> | |
| 540 | + </step> | |
| 541 | + | |
| 542 | + <step> | |
| 543 | + <name>查询售票员关联</name> | |
| 544 | + <type>DBLookup</type> | |
| 545 | + <description/> | |
| 546 | + <distribute>Y</distribute> | |
| 547 | + <custom_distribution/> | |
| 548 | + <copies>1</copies> | |
| 549 | + <partitioning> | |
| 550 | + <method>none</method> | |
| 551 | + <schema_name/> | |
| 552 | + </partitioning> | |
| 553 | + <connection>bus_control_variable</connection> | |
| 554 | + <cache>N</cache> | |
| 555 | + <cache_load_all>N</cache_load_all> | |
| 556 | + <cache_size>0</cache_size> | |
| 557 | + <lookup> | |
| 558 | + <schema/> | |
| 559 | + <table>bsth_c_personnel</table> | |
| 560 | + <orderby/> | |
| 561 | + <fail_on_multiple>N</fail_on_multiple> | |
| 562 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 563 | + <key> | |
| 564 | + <name>spy_no</name> | |
| 565 | + <field>job_code</field> | |
| 566 | + <condition>=</condition> | |
| 567 | + <name2/> | |
| 568 | + </key> | |
| 569 | + <value> | |
| 570 | + <name>id</name> | |
| 571 | + <rename>spyid</rename> | |
| 572 | + <default/> | |
| 573 | + <type>Integer</type> | |
| 574 | + </value> | |
| 575 | + </lookup> | |
| 576 | + <cluster_schema/> | |
| 577 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 578 | + <xloc>720</xloc> | |
| 579 | + <yloc>51</yloc> | |
| 580 | + <draw>Y</draw> | |
| 581 | + </GUI> | |
| 582 | + </step> | |
| 583 | + | |
| 584 | + <step> | |
| 585 | + <name>查询线路关联</name> | |
| 586 | + <type>DBLookup</type> | |
| 587 | + <description/> | |
| 588 | + <distribute>Y</distribute> | |
| 589 | + <custom_distribution/> | |
| 590 | + <copies>1</copies> | |
| 591 | + <partitioning> | |
| 592 | + <method>none</method> | |
| 593 | + <schema_name/> | |
| 594 | + </partitioning> | |
| 595 | + <connection>bus_control_variable</connection> | |
| 596 | + <cache>N</cache> | |
| 597 | + <cache_load_all>N</cache_load_all> | |
| 598 | + <cache_size>0</cache_size> | |
| 599 | + <lookup> | |
| 600 | + <schema/> | |
| 601 | + <table>bsth_c_line</table> | |
| 602 | + <orderby/> | |
| 603 | + <fail_on_multiple>N</fail_on_multiple> | |
| 604 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 605 | + <key> | |
| 606 | + <name>xl</name> | |
| 607 | + <field>name</field> | |
| 608 | + <condition>=</condition> | |
| 609 | + <name2/> | |
| 610 | + </key> | |
| 611 | + <value> | |
| 612 | + <name>id</name> | |
| 613 | + <rename>xlid</rename> | |
| 614 | + <default/> | |
| 615 | + <type>Integer</type> | |
| 616 | + </value> | |
| 617 | + </lookup> | |
| 618 | + <cluster_schema/> | |
| 619 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 620 | + <xloc>429</xloc> | |
| 621 | + <yloc>51</yloc> | |
| 622 | + <draw>Y</draw> | |
| 623 | + </GUI> | |
| 624 | + </step> | |
| 625 | + | |
| 626 | + <step> | |
| 627 | + <name>查询驾驶员关联</name> | |
| 628 | + <type>DBLookup</type> | |
| 629 | + <description/> | |
| 630 | + <distribute>Y</distribute> | |
| 631 | + <custom_distribution/> | |
| 632 | + <copies>1</copies> | |
| 633 | + <partitioning> | |
| 634 | + <method>none</method> | |
| 635 | + <schema_name/> | |
| 636 | + </partitioning> | |
| 637 | + <connection>bus_control_variable</connection> | |
| 638 | + <cache>N</cache> | |
| 639 | + <cache_load_all>N</cache_load_all> | |
| 640 | + <cache_size>0</cache_size> | |
| 641 | + <lookup> | |
| 642 | + <schema/> | |
| 643 | + <table>bsth_c_personnel</table> | |
| 644 | + <orderby/> | |
| 645 | + <fail_on_multiple>N</fail_on_multiple> | |
| 646 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 647 | + <key> | |
| 648 | + <name>jsy_no</name> | |
| 649 | + <field>job_code</field> | |
| 650 | + <condition>=</condition> | |
| 651 | + <name2/> | |
| 652 | + </key> | |
| 653 | + <value> | |
| 654 | + <name>id</name> | |
| 655 | + <rename>jsyid</rename> | |
| 656 | + <default/> | |
| 657 | + <type>Integer</type> | |
| 658 | + </value> | |
| 659 | + </lookup> | |
| 660 | + <cluster_schema/> | |
| 661 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 662 | + <xloc>573</xloc> | |
| 663 | + <yloc>51</yloc> | |
| 664 | + <draw>Y</draw> | |
| 665 | + </GUI> | |
| 666 | + </step> | |
| 667 | + | |
| 668 | + <step> | |
| 669 | + <name>获取变量</name> | |
| 670 | + <type>GetVariable</type> | |
| 671 | + <description/> | |
| 672 | + <distribute>Y</distribute> | |
| 673 | + <custom_distribution/> | |
| 674 | + <copies>1</copies> | |
| 675 | + <partitioning> | |
| 676 | + <method>none</method> | |
| 677 | + <schema_name/> | |
| 678 | + </partitioning> | |
| 679 | + <fields> | |
| 680 | + <field> | |
| 681 | + <name>filepath_</name> | |
| 682 | + <variable>${filepath}</variable> | |
| 683 | + <type>String</type> | |
| 684 | + <format/> | |
| 685 | + <currency/> | |
| 686 | + <decimal/> | |
| 687 | + <group/> | |
| 688 | + <length>-1</length> | |
| 689 | + <precision>-1</precision> | |
| 690 | + <trim_type>none</trim_type> | |
| 691 | + </field> | |
| 692 | + <field> | |
| 693 | + <name>erroroutputdir_</name> | |
| 694 | + <variable>${erroroutputdir}</variable> | |
| 695 | + <type>String</type> | |
| 696 | + <format/> | |
| 697 | + <currency/> | |
| 698 | + <decimal/> | |
| 699 | + <group/> | |
| 700 | + <length>-1</length> | |
| 701 | + <precision>-1</precision> | |
| 702 | + <trim_type>none</trim_type> | |
| 703 | + </field> | |
| 704 | + </fields> | |
| 705 | + <cluster_schema/> | |
| 706 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 707 | + <xloc>94</xloc> | |
| 708 | + <yloc>178</yloc> | |
| 709 | + <draw>Y</draw> | |
| 710 | + </GUI> | |
| 711 | + </step> | |
| 712 | + | |
| 713 | + <step> | |
| 714 | + <name>错误输出</name> | |
| 715 | + <type>ExcelOutput</type> | |
| 716 | + <description/> | |
| 717 | + <distribute>Y</distribute> | |
| 718 | + <custom_distribution/> | |
| 719 | + <copies>1</copies> | |
| 720 | + <partitioning> | |
| 721 | + <method>none</method> | |
| 722 | + <schema_name/> | |
| 723 | + </partitioning> | |
| 724 | + <header>Y</header> | |
| 725 | + <footer>N</footer> | |
| 726 | + <encoding>UTF-8</encoding> | |
| 727 | + <append>N</append> | |
| 728 | + <add_to_result_filenames>Y</add_to_result_filenames> | |
| 729 | + <file> | |
| 730 | + <name>${erroroutputdir}/人员配置_错误</name> | |
| 731 | + <extention>xls</extention> | |
| 732 | + <do_not_open_newfile_init>N</do_not_open_newfile_init> | |
| 733 | + <create_parent_folder>N</create_parent_folder> | |
| 734 | + <split>N</split> | |
| 735 | + <add_date>N</add_date> | |
| 736 | + <add_time>N</add_time> | |
| 737 | + <SpecifyFormat>N</SpecifyFormat> | |
| 738 | + <date_time_format/> | |
| 739 | + <sheetname>Sheet1</sheetname> | |
| 740 | + <autosizecolums>N</autosizecolums> | |
| 741 | + <nullisblank>N</nullisblank> | |
| 742 | + <protect_sheet>N</protect_sheet> | |
| 743 | + <password>Encrypted </password> | |
| 744 | + <splitevery>0</splitevery> | |
| 745 | + <usetempfiles>N</usetempfiles> | |
| 746 | + <tempdirectory/> | |
| 747 | + </file> | |
| 748 | + <template> | |
| 749 | + <enabled>N</enabled> | |
| 750 | + <append>N</append> | |
| 751 | + <filename>template.xls</filename> | |
| 752 | + </template> | |
| 753 | + <fields> | |
| 754 | + <field> | |
| 755 | + <name>xl</name> | |
| 756 | + <type>String</type> | |
| 757 | + <format/> | |
| 758 | + </field> | |
| 759 | + <field> | |
| 760 | + <name>dbbm</name> | |
| 761 | + <type>String</type> | |
| 762 | + <format/> | |
| 763 | + </field> | |
| 764 | + <field> | |
| 765 | + <name>jsy_no</name> | |
| 766 | + <type>String</type> | |
| 767 | + <format/> | |
| 768 | + </field> | |
| 769 | + <field> | |
| 770 | + <name>jsy_name</name> | |
| 771 | + <type>String</type> | |
| 772 | + <format/> | |
| 773 | + </field> | |
| 774 | + <field> | |
| 775 | + <name>spy_no</name> | |
| 776 | + <type>String</type> | |
| 777 | + <format/> | |
| 778 | + </field> | |
| 779 | + <field> | |
| 780 | + <name>spy_name</name> | |
| 781 | + <type>String</type> | |
| 782 | + <format/> | |
| 783 | + </field> | |
| 784 | + <field> | |
| 785 | + <name>cl</name> | |
| 786 | + <type>String</type> | |
| 787 | + <format/> | |
| 788 | + </field> | |
| 789 | + <field> | |
| 790 | + <name>xlid</name> | |
| 791 | + <type>Integer</type> | |
| 792 | + <format/> | |
| 793 | + </field> | |
| 794 | + <field> | |
| 795 | + <name>jsyid</name> | |
| 796 | + <type>Integer</type> | |
| 797 | + <format/> | |
| 798 | + </field> | |
| 799 | + <field> | |
| 800 | + <name>spyid</name> | |
| 801 | + <type>Integer</type> | |
| 802 | + <format/> | |
| 803 | + </field> | |
| 804 | + <field> | |
| 805 | + <name>error_count</name> | |
| 806 | + <type>Integer</type> | |
| 807 | + <format/> | |
| 808 | + </field> | |
| 809 | + <field> | |
| 810 | + <name>error_desc</name> | |
| 811 | + <type>String</type> | |
| 812 | + <format/> | |
| 813 | + </field> | |
| 814 | + <field> | |
| 815 | + <name>error_column1</name> | |
| 816 | + <type>String</type> | |
| 817 | + <format/> | |
| 818 | + </field> | |
| 819 | + <field> | |
| 820 | + <name>error_column2</name> | |
| 821 | + <type>String</type> | |
| 822 | + <format/> | |
| 823 | + </field> | |
| 824 | + </fields> | |
| 825 | + <custom> | |
| 826 | + <header_font_name>arial</header_font_name> | |
| 827 | + <header_font_size>10</header_font_size> | |
| 828 | + <header_font_bold>N</header_font_bold> | |
| 829 | + <header_font_italic>N</header_font_italic> | |
| 830 | + <header_font_underline>no</header_font_underline> | |
| 831 | + <header_font_orientation>horizontal</header_font_orientation> | |
| 832 | + <header_font_color>black</header_font_color> | |
| 833 | + <header_background_color>none</header_background_color> | |
| 834 | + <header_row_height>255</header_row_height> | |
| 835 | + <header_alignment>left</header_alignment> | |
| 836 | + <header_image/> | |
| 837 | + <row_font_name>arial</row_font_name> | |
| 838 | + <row_font_size>10</row_font_size> | |
| 839 | + <row_font_color>black</row_font_color> | |
| 840 | + <row_background_color>none</row_background_color> | |
| 841 | + </custom> | |
| 842 | + <cluster_schema/> | |
| 843 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 844 | + <xloc>721</xloc> | |
| 845 | + <yloc>304</yloc> | |
| 846 | + <draw>Y</draw> | |
| 847 | + </GUI> | |
| 848 | + </step> | |
| 849 | + | |
| 850 | + <step_error_handling> | |
| 851 | + <error> | |
| 852 | + <source_step>插入/更新bsth_c_s_ecinfo</source_step> | |
| 853 | + <target_step>错误输出</target_step> | |
| 854 | + <is_enabled>Y</is_enabled> | |
| 855 | + <nr_valuename>error_count</nr_valuename> | |
| 856 | + <descriptions_valuename>error_desc</descriptions_valuename> | |
| 857 | + <fields_valuename>error_column1</fields_valuename> | |
| 858 | + <codes_valuename>error_column2</codes_valuename> | |
| 859 | + <max_errors/> | |
| 860 | + <max_pct_errors/> | |
| 861 | + <min_pct_rows/> | |
| 862 | + </error> | |
| 863 | + </step_error_handling> | |
| 864 | + <slave-step-copy-partition-distribution> | |
| 865 | +</slave-step-copy-partition-distribution> | |
| 866 | + <slave_transformation>N</slave_transformation> | |
| 867 | + | |
| 868 | +</transformation> | ... | ... |
src/main/resources/datatools/ktrs/employeesDataInput.ktr
| ... | ... | @@ -80,7 +80,7 @@ |
| 80 | 80 | <created_date>2016/06/29 10:18:56.974</created_date> |
| 81 | 81 | <modified_user>-</modified_user> |
| 82 | 82 | <modified_date>2016/06/29 10:18:56.974</modified_date> |
| 83 | - <key_for_session_key/> | |
| 83 | + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key> | |
| 84 | 84 | <is_key_private>N</is_key_private> |
| 85 | 85 | </info> |
| 86 | 86 | <notepads> |
| ... | ... | @@ -107,14 +107,68 @@ |
| 107 | 107 | </notepad> |
| 108 | 108 | </notepads> |
| 109 | 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> | |
| 110 | 137 | <name>bus_control_公司_201</name> |
| 111 | - <server>192.168.168.201</server> | |
| 138 | + <server>localhost</server> | |
| 112 | 139 | <type>MYSQL</type> |
| 113 | 140 | <access>Native</access> |
| 114 | 141 | <database>control</database> |
| 115 | 142 | <port>3306</port> |
| 116 | 143 | <username>root</username> |
| 117 | - <password>Encrypted 2be98afc86aa7f2e4cb79ff228dc6fa8c</password> | |
| 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> | |
| 118 | 172 | <servername/> |
| 119 | 173 | <data_tablespace/> |
| 120 | 174 | <index_tablespace/> |
| ... | ... | @@ -222,6 +276,86 @@ |
| 222 | 276 | <hop> <from>获取变量</from><to>原始系统导出的Excel输入</to><enabled>Y</enabled> </hop> |
| 223 | 277 | </order> |
| 224 | 278 | <step> |
| 279 | + <name>值映射</name> | |
| 280 | + <type>ValueMapper</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 | + <field_to_use>posts</field_to_use> | |
| 290 | + <target_field/> | |
| 291 | + <non_match_default/> | |
| 292 | + <fields> | |
| 293 | + <field> | |
| 294 | + <source_value>公共汽电车驾驶员</source_value> | |
| 295 | + <target_value>1</target_value> | |
| 296 | + </field> | |
| 297 | + <field> | |
| 298 | + <source_value>公共汽电车调度员</source_value> | |
| 299 | + <target_value>2</target_value> | |
| 300 | + </field> | |
| 301 | + <field> | |
| 302 | + <source_value>公共汽电车售票员</source_value> | |
| 303 | + <target_value>3</target_value> | |
| 304 | + </field> | |
| 305 | + <field> | |
| 306 | + <source_value>站员</source_value> | |
| 307 | + <target_value>4</target_value> | |
| 308 | + </field> | |
| 309 | + <field> | |
| 310 | + <source_value>管理员</source_value> | |
| 311 | + <target_value>5</target_value> | |
| 312 | + </field> | |
| 313 | + <field> | |
| 314 | + <source_value>安检员</source_value> | |
| 315 | + <target_value>6</target_value> | |
| 316 | + </field> | |
| 317 | + <field> | |
| 318 | + <source_value>机务</source_value> | |
| 319 | + <target_value>7</target_value> | |
| 320 | + </field> | |
| 321 | + <field> | |
| 322 | + <source_value>引导员</source_value> | |
| 323 | + <target_value>8</target_value> | |
| 324 | + </field> | |
| 325 | + <field> | |
| 326 | + <source_value>乘务员</source_value> | |
| 327 | + <target_value>9</target_value> | |
| 328 | + </field> | |
| 329 | + <field> | |
| 330 | + <source_value>车队长(线长、主</source_value> | |
| 331 | + <target_value>10</target_value> | |
| 332 | + </field> | |
| 333 | + <field> | |
| 334 | + <source_value>公司管理人员</source_value> | |
| 335 | + <target_value>11</target_value> | |
| 336 | + </field> | |
| 337 | + <field> | |
| 338 | + <source_value>警消人员</source_value> | |
| 339 | + <target_value>12</target_value> | |
| 340 | + </field> | |
| 341 | + <field> | |
| 342 | + <source_value>票务人员</source_value> | |
| 343 | + <target_value>13</target_value> | |
| 344 | + </field> | |
| 345 | + <field> | |
| 346 | + <source_value>其他服务人员</source_value> | |
| 347 | + <target_value>14</target_value> | |
| 348 | + </field> | |
| 349 | + </fields> | |
| 350 | + <cluster_schema/> | |
| 351 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 352 | + <xloc>543</xloc> | |
| 353 | + <yloc>152</yloc> | |
| 354 | + <draw>Y</draw> | |
| 355 | + </GUI> | |
| 356 | + </step> | |
| 357 | + | |
| 358 | + <step> | |
| 225 | 359 | <name>公交企业代码</name> |
| 226 | 360 | <type>ValueMapper</type> |
| 227 | 361 | <description/> |
| ... | ... | @@ -544,7 +678,7 @@ |
| 544 | 678 | <method>none</method> |
| 545 | 679 | <schema_name/> |
| 546 | 680 | </partitioning> |
| 547 | - <connection>bus_control_公司_201</connection> | |
| 681 | + <connection>bus_control_variable</connection> | |
| 548 | 682 | <commit>5000</commit> |
| 549 | 683 | <update_bypassed>N</update_bypassed> |
| 550 | 684 | <lookup> |
| ... | ... | @@ -622,6 +756,51 @@ |
| 622 | 756 | </step> |
| 623 | 757 | |
| 624 | 758 | <step> |
| 759 | + <name>获取变量</name> | |
| 760 | + <type>GetVariable</type> | |
| 761 | + <description/> | |
| 762 | + <distribute>Y</distribute> | |
| 763 | + <custom_distribution/> | |
| 764 | + <copies>1</copies> | |
| 765 | + <partitioning> | |
| 766 | + <method>none</method> | |
| 767 | + <schema_name/> | |
| 768 | + </partitioning> | |
| 769 | + <fields> | |
| 770 | + <field> | |
| 771 | + <name>filepath_</name> | |
| 772 | + <variable>${filepath}</variable> | |
| 773 | + <type>String</type> | |
| 774 | + <format/> | |
| 775 | + <currency/> | |
| 776 | + <decimal/> | |
| 777 | + <group/> | |
| 778 | + <length>-1</length> | |
| 779 | + <precision>-1</precision> | |
| 780 | + <trim_type>none</trim_type> | |
| 781 | + </field> | |
| 782 | + <field> | |
| 783 | + <name>erroroutputdir_</name> | |
| 784 | + <variable>${erroroutputdir}</variable> | |
| 785 | + <type>String</type> | |
| 786 | + <format/> | |
| 787 | + <currency/> | |
| 788 | + <decimal/> | |
| 789 | + <group/> | |
| 790 | + <length>-1</length> | |
| 791 | + <precision>-1</precision> | |
| 792 | + <trim_type>none</trim_type> | |
| 793 | + </field> | |
| 794 | + </fields> | |
| 795 | + <cluster_schema/> | |
| 796 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 797 | + <xloc>90</xloc> | |
| 798 | + <yloc>148</yloc> | |
| 799 | + <draw>Y</draw> | |
| 800 | + </GUI> | |
| 801 | + </step> | |
| 802 | + | |
| 803 | + <step> | |
| 625 | 804 | <name>错误输出</name> |
| 626 | 805 | <type>ExcelOutput</type> |
| 627 | 806 | <description/> |
| ... | ... | @@ -758,131 +937,6 @@ |
| 758 | 937 | </GUI> |
| 759 | 938 | </step> |
| 760 | 939 | |
| 761 | - <step> | |
| 762 | - <name>值映射</name> | |
| 763 | - <type>ValueMapper</type> | |
| 764 | - <description/> | |
| 765 | - <distribute>Y</distribute> | |
| 766 | - <custom_distribution/> | |
| 767 | - <copies>1</copies> | |
| 768 | - <partitioning> | |
| 769 | - <method>none</method> | |
| 770 | - <schema_name/> | |
| 771 | - </partitioning> | |
| 772 | - <field_to_use>posts</field_to_use> | |
| 773 | - <target_field/> | |
| 774 | - <non_match_default/> | |
| 775 | - <fields> | |
| 776 | - <field> | |
| 777 | - <source_value>公共汽电车驾驶员</source_value> | |
| 778 | - <target_value>1</target_value> | |
| 779 | - </field> | |
| 780 | - <field> | |
| 781 | - <source_value>公共汽电车调度员</source_value> | |
| 782 | - <target_value>2</target_value> | |
| 783 | - </field> | |
| 784 | - <field> | |
| 785 | - <source_value>公共汽电车售票员</source_value> | |
| 786 | - <target_value>3</target_value> | |
| 787 | - </field> | |
| 788 | - <field> | |
| 789 | - <source_value>站员</source_value> | |
| 790 | - <target_value>4</target_value> | |
| 791 | - </field> | |
| 792 | - <field> | |
| 793 | - <source_value>管理员</source_value> | |
| 794 | - <target_value>5</target_value> | |
| 795 | - </field> | |
| 796 | - <field> | |
| 797 | - <source_value>安检员</source_value> | |
| 798 | - <target_value>6</target_value> | |
| 799 | - </field> | |
| 800 | - <field> | |
| 801 | - <source_value>机务</source_value> | |
| 802 | - <target_value>7</target_value> | |
| 803 | - </field> | |
| 804 | - <field> | |
| 805 | - <source_value>引导员</source_value> | |
| 806 | - <target_value>8</target_value> | |
| 807 | - </field> | |
| 808 | - <field> | |
| 809 | - <source_value>乘务员</source_value> | |
| 810 | - <target_value>9</target_value> | |
| 811 | - </field> | |
| 812 | - <field> | |
| 813 | - <source_value>车队长(线长、主</source_value> | |
| 814 | - <target_value>10</target_value> | |
| 815 | - </field> | |
| 816 | - <field> | |
| 817 | - <source_value>公司管理人员</source_value> | |
| 818 | - <target_value>11</target_value> | |
| 819 | - </field> | |
| 820 | - <field> | |
| 821 | - <source_value>警消人员</source_value> | |
| 822 | - <target_value>12</target_value> | |
| 823 | - </field> | |
| 824 | - <field> | |
| 825 | - <source_value>票务人员</source_value> | |
| 826 | - <target_value>13</target_value> | |
| 827 | - </field> | |
| 828 | - <field> | |
| 829 | - <source_value>其他服务人员</source_value> | |
| 830 | - <target_value>14</target_value> | |
| 831 | - </field> | |
| 832 | - </fields> | |
| 833 | - <cluster_schema/> | |
| 834 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 835 | - <xloc>543</xloc> | |
| 836 | - <yloc>152</yloc> | |
| 837 | - <draw>Y</draw> | |
| 838 | - </GUI> | |
| 839 | - </step> | |
| 840 | - | |
| 841 | - <step> | |
| 842 | - <name>获取变量</name> | |
| 843 | - <type>GetVariable</type> | |
| 844 | - <description/> | |
| 845 | - <distribute>Y</distribute> | |
| 846 | - <custom_distribution/> | |
| 847 | - <copies>1</copies> | |
| 848 | - <partitioning> | |
| 849 | - <method>none</method> | |
| 850 | - <schema_name/> | |
| 851 | - </partitioning> | |
| 852 | - <fields> | |
| 853 | - <field> | |
| 854 | - <name>filepath_</name> | |
| 855 | - <variable>${filepath}</variable> | |
| 856 | - <type>String</type> | |
| 857 | - <format/> | |
| 858 | - <currency/> | |
| 859 | - <decimal/> | |
| 860 | - <group/> | |
| 861 | - <length>-1</length> | |
| 862 | - <precision>-1</precision> | |
| 863 | - <trim_type>none</trim_type> | |
| 864 | - </field> | |
| 865 | - <field> | |
| 866 | - <name>erroroutputdir_</name> | |
| 867 | - <variable>${erroroutputdir}</variable> | |
| 868 | - <type>String</type> | |
| 869 | - <format/> | |
| 870 | - <currency/> | |
| 871 | - <decimal/> | |
| 872 | - <group/> | |
| 873 | - <length>-1</length> | |
| 874 | - <precision>-1</precision> | |
| 875 | - <trim_type>none</trim_type> | |
| 876 | - </field> | |
| 877 | - </fields> | |
| 878 | - <cluster_schema/> | |
| 879 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 880 | - <xloc>90</xloc> | |
| 881 | - <yloc>148</yloc> | |
| 882 | - <draw>Y</draw> | |
| 883 | - </GUI> | |
| 884 | - </step> | |
| 885 | - | |
| 886 | 940 | <step_error_handling> |
| 887 | 941 | <error> |
| 888 | 942 | <source_step>插入/更新bsth_c_personnel</source_step> | ... | ... |
src/main/resources/datatools/ktrs/guideboardDataInput.ktr
| 1 | -<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | -<transformation> | |
| 3 | - <info> | |
| 4 | - <name>guideboardDataInput</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 17:00:01.094</created_date> | |
| 81 | - <modified_user>-</modified_user> | |
| 82 | - <modified_date>2016/06/29 17:00:01.094</modified_date> | |
| 83 | - <key_for_session_key/> | |
| 84 | - <is_key_private>N</is_key_private> | |
| 85 | - </info> | |
| 86 | - <notepads> | |
| 87 | - <notepad> | |
| 88 | - <note>路牌信息输入,路牌名字是不能重复的
一般来说,应该是导入时刻数据自动生成的,这个再议</note> | |
| 89 | - <xloc>218</xloc> | |
| 90 | - <yloc>141</yloc> | |
| 91 | - <width>298</width> | |
| 92 | - <heigth>42</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>字段改名</from><to>查询线路关联</to><enabled>Y</enabled> </hop> | |
| 217 | - <hop> <from>插入/更新bsth_c_s_gbi</from><to>错误输出</to><enabled>Y</enabled> </hop> | |
| 218 | - <hop> <from>查询线路关联</from><to>插入/更新bsth_c_s_gbi</to><enabled>Y</enabled> </hop> | |
| 219 | - <hop> <from>路牌_85路Excel输入</from><to>字段改名</to><enabled>Y</enabled> </hop> | |
| 220 | - <hop> <from>获取变量</from><to>路牌_85路Excel输入</to><enabled>Y</enabled> </hop> | |
| 221 | - </order> | |
| 222 | - <step> | |
| 223 | - <name>字段改名</name> | |
| 224 | - <type>SelectValues</type> | |
| 225 | - <description/> | |
| 226 | - <distribute>Y</distribute> | |
| 227 | - <custom_distribution/> | |
| 228 | - <copies>1</copies> | |
| 229 | - <partitioning> | |
| 230 | - <method>none</method> | |
| 231 | - <schema_name/> | |
| 232 | - </partitioning> | |
| 233 | - <fields> <select_unspecified>N</select_unspecified> | |
| 234 | - <meta> <name>线路</name> | |
| 235 | - <rename>xl</rename> | |
| 236 | - <type>String</type> | |
| 237 | - <length>-2</length> | |
| 238 | - <precision>-2</precision> | |
| 239 | - <conversion_mask/> | |
| 240 | - <date_format_lenient>false</date_format_lenient> | |
| 241 | - <date_format_locale/> | |
| 242 | - <date_format_timezone/> | |
| 243 | - <lenient_string_to_number>false</lenient_string_to_number> | |
| 244 | - <encoding/> | |
| 245 | - <decimal_symbol/> | |
| 246 | - <grouping_symbol/> | |
| 247 | - <currency_symbol/> | |
| 248 | - <storage_type/> | |
| 249 | - </meta> <meta> <name>路牌编号</name> | |
| 250 | - <rename>lpno</rename> | |
| 251 | - <type>Integer</type> | |
| 252 | - <length>-2</length> | |
| 253 | - <precision>-2</precision> | |
| 254 | - <conversion_mask/> | |
| 255 | - <date_format_lenient>false</date_format_lenient> | |
| 256 | - <date_format_locale/> | |
| 257 | - <date_format_timezone/> | |
| 258 | - <lenient_string_to_number>false</lenient_string_to_number> | |
| 259 | - <encoding/> | |
| 260 | - <decimal_symbol/> | |
| 261 | - <grouping_symbol/> | |
| 262 | - <currency_symbol/> | |
| 263 | - <storage_type/> | |
| 264 | - </meta> <meta> <name>路牌名称</name> | |
| 265 | - <rename>lpname</rename> | |
| 266 | - <type>String</type> | |
| 267 | - <length>-2</length> | |
| 268 | - <precision>-2</precision> | |
| 269 | - <conversion_mask/> | |
| 270 | - <date_format_lenient>false</date_format_lenient> | |
| 271 | - <date_format_locale/> | |
| 272 | - <date_format_timezone/> | |
| 273 | - <lenient_string_to_number>false</lenient_string_to_number> | |
| 274 | - <encoding/> | |
| 275 | - <decimal_symbol/> | |
| 276 | - <grouping_symbol/> | |
| 277 | - <currency_symbol/> | |
| 278 | - <storage_type/> | |
| 279 | - </meta> <meta> <name>路牌类型</name> | |
| 280 | - <rename>lptype</rename> | |
| 281 | - <type>String</type> | |
| 282 | - <length>-2</length> | |
| 283 | - <precision>-2</precision> | |
| 284 | - <conversion_mask/> | |
| 285 | - <date_format_lenient>false</date_format_lenient> | |
| 286 | - <date_format_locale/> | |
| 287 | - <date_format_timezone/> | |
| 288 | - <lenient_string_to_number>false</lenient_string_to_number> | |
| 289 | - <encoding/> | |
| 290 | - <decimal_symbol/> | |
| 291 | - <grouping_symbol/> | |
| 292 | - <currency_symbol/> | |
| 293 | - <storage_type/> | |
| 294 | - </meta> </fields> <cluster_schema/> | |
| 295 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 296 | - <xloc>295</xloc> | |
| 297 | - <yloc>68</yloc> | |
| 298 | - <draw>Y</draw> | |
| 299 | - </GUI> | |
| 300 | - </step> | |
| 301 | - | |
| 302 | - <step> | |
| 303 | - <name>插入/更新bsth_c_s_gbi</name> | |
| 304 | - <type>InsertUpdate</type> | |
| 305 | - <description/> | |
| 306 | - <distribute>Y</distribute> | |
| 307 | - <custom_distribution/> | |
| 308 | - <copies>1</copies> | |
| 309 | - <partitioning> | |
| 310 | - <method>none</method> | |
| 311 | - <schema_name/> | |
| 312 | - </partitioning> | |
| 313 | - <connection>bus_control_公司_201</connection> | |
| 314 | - <commit>100</commit> | |
| 315 | - <update_bypassed>N</update_bypassed> | |
| 316 | - <lookup> | |
| 317 | - <schema/> | |
| 318 | - <table>bsth_c_s_gbi</table> | |
| 319 | - <key> | |
| 320 | - <name>xlid</name> | |
| 321 | - <field>xl</field> | |
| 322 | - <condition>=</condition> | |
| 323 | - <name2/> | |
| 324 | - </key> | |
| 325 | - <key> | |
| 326 | - <name>lpname</name> | |
| 327 | - <field>lp_name</field> | |
| 328 | - <condition>=</condition> | |
| 329 | - <name2/> | |
| 330 | - </key> | |
| 331 | - <value> | |
| 332 | - <name>xl</name> | |
| 333 | - <rename>xlid</rename> | |
| 334 | - <update>Y</update> | |
| 335 | - </value> | |
| 336 | - <value> | |
| 337 | - <name>lp_no</name> | |
| 338 | - <rename>lpno</rename> | |
| 339 | - <update>Y</update> | |
| 340 | - </value> | |
| 341 | - <value> | |
| 342 | - <name>lp_name</name> | |
| 343 | - <rename>lpname</rename> | |
| 344 | - <update>Y</update> | |
| 345 | - </value> | |
| 346 | - <value> | |
| 347 | - <name>lp_type</name> | |
| 348 | - <rename>lptype</rename> | |
| 349 | - <update>Y</update> | |
| 350 | - </value> | |
| 351 | - </lookup> | |
| 352 | - <cluster_schema/> | |
| 353 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 354 | - <xloc>576</xloc> | |
| 355 | - <yloc>69</yloc> | |
| 356 | - <draw>Y</draw> | |
| 357 | - </GUI> | |
| 358 | - </step> | |
| 359 | - | |
| 360 | - <step> | |
| 361 | - <name>查询线路关联</name> | |
| 362 | - <type>DBLookup</type> | |
| 363 | - <description/> | |
| 364 | - <distribute>Y</distribute> | |
| 365 | - <custom_distribution/> | |
| 366 | - <copies>1</copies> | |
| 367 | - <partitioning> | |
| 368 | - <method>none</method> | |
| 369 | - <schema_name/> | |
| 370 | - </partitioning> | |
| 371 | - <connection>bus_control_公司_201</connection> | |
| 372 | - <cache>N</cache> | |
| 373 | - <cache_load_all>N</cache_load_all> | |
| 374 | - <cache_size>0</cache_size> | |
| 375 | - <lookup> | |
| 376 | - <schema/> | |
| 377 | - <table>bsth_c_line</table> | |
| 378 | - <orderby/> | |
| 379 | - <fail_on_multiple>N</fail_on_multiple> | |
| 380 | - <eat_row_on_failure>N</eat_row_on_failure> | |
| 381 | - <key> | |
| 382 | - <name>xl</name> | |
| 383 | - <field>name</field> | |
| 384 | - <condition>=</condition> | |
| 385 | - <name2/> | |
| 386 | - </key> | |
| 387 | - <value> | |
| 388 | - <name>id</name> | |
| 389 | - <rename>xlid</rename> | |
| 390 | - <default/> | |
| 391 | - <type>Integer</type> | |
| 392 | - </value> | |
| 393 | - </lookup> | |
| 394 | - <cluster_schema/> | |
| 395 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 396 | - <xloc>428</xloc> | |
| 397 | - <yloc>69</yloc> | |
| 398 | - <draw>Y</draw> | |
| 399 | - </GUI> | |
| 400 | - </step> | |
| 401 | - | |
| 402 | - <step> | |
| 403 | - <name>路牌_85路Excel输入</name> | |
| 404 | - <type>ExcelInput</type> | |
| 405 | - <description/> | |
| 406 | - <distribute>Y</distribute> | |
| 407 | - <custom_distribution/> | |
| 408 | - <copies>1</copies> | |
| 409 | - <partitioning> | |
| 410 | - <method>none</method> | |
| 411 | - <schema_name/> | |
| 412 | - </partitioning> | |
| 413 | - <header>Y</header> | |
| 414 | - <noempty>Y</noempty> | |
| 415 | - <stoponempty>N</stoponempty> | |
| 416 | - <filefield/> | |
| 417 | - <sheetfield/> | |
| 418 | - <sheetrownumfield/> | |
| 419 | - <rownumfield/> | |
| 420 | - <sheetfield/> | |
| 421 | - <filefield/> | |
| 422 | - <limit>0</limit> | |
| 423 | - <encoding/> | |
| 424 | - <add_to_result_filenames>Y</add_to_result_filenames> | |
| 425 | - <accept_filenames>Y</accept_filenames> | |
| 426 | - <accept_field>filepath_</accept_field> | |
| 427 | - <accept_stepname>获取变量</accept_stepname> | |
| 428 | - <file> | |
| 429 | - <name/> | |
| 430 | - <filemask/> | |
| 431 | - <exclude_filemask/> | |
| 432 | - <file_required>N</file_required> | |
| 433 | - <include_subfolders>N</include_subfolders> | |
| 434 | - </file> | |
| 435 | - <fields> | |
| 436 | - <field> | |
| 437 | - <name>线路</name> | |
| 438 | - <type>String</type> | |
| 439 | - <length>-1</length> | |
| 440 | - <precision>-1</precision> | |
| 441 | - <trim_type>none</trim_type> | |
| 442 | - <repeat>N</repeat> | |
| 443 | - <format/> | |
| 444 | - <currency/> | |
| 445 | - <decimal/> | |
| 446 | - <group/> | |
| 447 | - </field> | |
| 448 | - <field> | |
| 449 | - <name>路牌编号</name> | |
| 450 | - <type>String</type> | |
| 451 | - <length>-1</length> | |
| 452 | - <precision>-1</precision> | |
| 453 | - <trim_type>none</trim_type> | |
| 454 | - <repeat>N</repeat> | |
| 455 | - <format>#</format> | |
| 456 | - <currency/> | |
| 457 | - <decimal/> | |
| 458 | - <group/> | |
| 459 | - </field> | |
| 460 | - <field> | |
| 461 | - <name>路牌名称</name> | |
| 462 | - <type>String</type> | |
| 463 | - <length>-1</length> | |
| 464 | - <precision>-1</precision> | |
| 465 | - <trim_type>none</trim_type> | |
| 466 | - <repeat>N</repeat> | |
| 467 | - <format>#</format> | |
| 468 | - <currency/> | |
| 469 | - <decimal/> | |
| 470 | - <group/> | |
| 471 | - </field> | |
| 472 | - <field> | |
| 473 | - <name>路牌类型</name> | |
| 474 | - <type>String</type> | |
| 475 | - <length>-1</length> | |
| 476 | - <precision>-1</precision> | |
| 477 | - <trim_type>none</trim_type> | |
| 478 | - <repeat>N</repeat> | |
| 479 | - <format/> | |
| 480 | - <currency/> | |
| 481 | - <decimal/> | |
| 482 | - <group/> | |
| 483 | - </field> | |
| 484 | - </fields> | |
| 485 | - <sheets> | |
| 486 | - <sheet> | |
| 487 | - <name>工作表1</name> | |
| 488 | - <startrow>0</startrow> | |
| 489 | - <startcol>0</startcol> | |
| 490 | - </sheet> | |
| 491 | - </sheets> | |
| 492 | - <strict_types>N</strict_types> | |
| 493 | - <error_ignored>N</error_ignored> | |
| 494 | - <error_line_skipped>N</error_line_skipped> | |
| 495 | - <bad_line_files_destination_directory/> | |
| 496 | - <bad_line_files_extension>warning</bad_line_files_extension> | |
| 497 | - <error_line_files_destination_directory/> | |
| 498 | - <error_line_files_extension>error</error_line_files_extension> | |
| 499 | - <line_number_files_destination_directory/> | |
| 500 | - <line_number_files_extension>line</line_number_files_extension> | |
| 501 | - <shortFileFieldName/> | |
| 502 | - <pathFieldName/> | |
| 503 | - <hiddenFieldName/> | |
| 504 | - <lastModificationTimeFieldName/> | |
| 505 | - <uriNameFieldName/> | |
| 506 | - <rootUriNameFieldName/> | |
| 507 | - <extensionFieldName/> | |
| 508 | - <sizeFieldName/> | |
| 509 | - <spreadsheet_type>JXL</spreadsheet_type> | |
| 510 | - <cluster_schema/> | |
| 511 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 512 | - <xloc>150</xloc> | |
| 513 | - <yloc>68</yloc> | |
| 514 | - <draw>Y</draw> | |
| 515 | - </GUI> | |
| 516 | - </step> | |
| 517 | - | |
| 518 | - <step> | |
| 519 | - <name>错误输出</name> | |
| 520 | - <type>ExcelOutput</type> | |
| 521 | - <description/> | |
| 522 | - <distribute>Y</distribute> | |
| 523 | - <custom_distribution/> | |
| 524 | - <copies>1</copies> | |
| 525 | - <partitioning> | |
| 526 | - <method>none</method> | |
| 527 | - <schema_name/> | |
| 528 | - </partitioning> | |
| 529 | - <header>Y</header> | |
| 530 | - <footer>N</footer> | |
| 531 | - <encoding>UTF-8</encoding> | |
| 532 | - <append>N</append> | |
| 533 | - <add_to_result_filenames>Y</add_to_result_filenames> | |
| 534 | - <file> | |
| 535 | - <name>${erroroutputdir}/路牌_错误</name> | |
| 536 | - <extention>xls</extention> | |
| 537 | - <do_not_open_newfile_init>N</do_not_open_newfile_init> | |
| 538 | - <create_parent_folder>N</create_parent_folder> | |
| 539 | - <split>N</split> | |
| 540 | - <add_date>N</add_date> | |
| 541 | - <add_time>N</add_time> | |
| 542 | - <SpecifyFormat>N</SpecifyFormat> | |
| 543 | - <date_time_format/> | |
| 544 | - <sheetname>Sheet1</sheetname> | |
| 545 | - <autosizecolums>N</autosizecolums> | |
| 546 | - <nullisblank>N</nullisblank> | |
| 547 | - <protect_sheet>N</protect_sheet> | |
| 548 | - <password>Encrypted </password> | |
| 549 | - <splitevery>0</splitevery> | |
| 550 | - <usetempfiles>N</usetempfiles> | |
| 551 | - <tempdirectory/> | |
| 552 | - </file> | |
| 553 | - <template> | |
| 554 | - <enabled>N</enabled> | |
| 555 | - <append>N</append> | |
| 556 | - <filename>template.xls</filename> | |
| 557 | - </template> | |
| 558 | - <fields> | |
| 559 | - <field> | |
| 560 | - <name>xl</name> | |
| 561 | - <type>String</type> | |
| 562 | - <format/> | |
| 563 | - </field> | |
| 564 | - <field> | |
| 565 | - <name>lpno</name> | |
| 566 | - <type>Integer</type> | |
| 567 | - <format/> | |
| 568 | - </field> | |
| 569 | - <field> | |
| 570 | - <name>lpname</name> | |
| 571 | - <type>String</type> | |
| 572 | - <format/> | |
| 573 | - </field> | |
| 574 | - <field> | |
| 575 | - <name>lptype</name> | |
| 576 | - <type>String</type> | |
| 577 | - <format/> | |
| 578 | - </field> | |
| 579 | - <field> | |
| 580 | - <name>xlid</name> | |
| 581 | - <type>Integer</type> | |
| 582 | - <format/> | |
| 583 | - </field> | |
| 584 | - <field> | |
| 585 | - <name>error_count</name> | |
| 586 | - <type>Integer</type> | |
| 587 | - <format/> | |
| 588 | - </field> | |
| 589 | - <field> | |
| 590 | - <name>error_desc</name> | |
| 591 | - <type>String</type> | |
| 592 | - <format/> | |
| 593 | - </field> | |
| 594 | - <field> | |
| 595 | - <name>error_column1</name> | |
| 596 | - <type>String</type> | |
| 597 | - <format/> | |
| 598 | - </field> | |
| 599 | - <field> | |
| 600 | - <name>error_column2</name> | |
| 601 | - <type>String</type> | |
| 602 | - <format/> | |
| 603 | - </field> | |
| 604 | - </fields> | |
| 605 | - <custom> | |
| 606 | - <header_font_name>arial</header_font_name> | |
| 607 | - <header_font_size>10</header_font_size> | |
| 608 | - <header_font_bold>N</header_font_bold> | |
| 609 | - <header_font_italic>N</header_font_italic> | |
| 610 | - <header_font_underline>no</header_font_underline> | |
| 611 | - <header_font_orientation>horizontal</header_font_orientation> | |
| 612 | - <header_font_color>black</header_font_color> | |
| 613 | - <header_background_color>none</header_background_color> | |
| 614 | - <header_row_height>255</header_row_height> | |
| 615 | - <header_alignment>left</header_alignment> | |
| 616 | - <header_image/> | |
| 617 | - <row_font_name>arial</row_font_name> | |
| 618 | - <row_font_size>10</row_font_size> | |
| 619 | - <row_font_color>black</row_font_color> | |
| 620 | - <row_background_color>none</row_background_color> | |
| 621 | - </custom> | |
| 622 | - <cluster_schema/> | |
| 623 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 624 | - <xloc>576</xloc> | |
| 625 | - <yloc>192</yloc> | |
| 626 | - <draw>Y</draw> | |
| 627 | - </GUI> | |
| 628 | - </step> | |
| 629 | - | |
| 630 | - <step> | |
| 631 | - <name>获取变量</name> | |
| 632 | - <type>GetVariable</type> | |
| 633 | - <description/> | |
| 634 | - <distribute>Y</distribute> | |
| 635 | - <custom_distribution/> | |
| 636 | - <copies>1</copies> | |
| 637 | - <partitioning> | |
| 638 | - <method>none</method> | |
| 639 | - <schema_name/> | |
| 640 | - </partitioning> | |
| 641 | - <fields> | |
| 642 | - <field> | |
| 643 | - <name>filepath_</name> | |
| 644 | - <variable>${filepath}</variable> | |
| 645 | - <type>String</type> | |
| 646 | - <format/> | |
| 647 | - <currency/> | |
| 648 | - <decimal/> | |
| 649 | - <group/> | |
| 650 | - <length>-1</length> | |
| 651 | - <precision>-1</precision> | |
| 652 | - <trim_type>none</trim_type> | |
| 653 | - </field> | |
| 654 | - <field> | |
| 655 | - <name>erroroutputdir_</name> | |
| 656 | - <variable>${erroroutputdir}</variable> | |
| 657 | - <type>String</type> | |
| 658 | - <format/> | |
| 659 | - <currency/> | |
| 660 | - <decimal/> | |
| 661 | - <group/> | |
| 662 | - <length>-1</length> | |
| 663 | - <precision>-1</precision> | |
| 664 | - <trim_type>none</trim_type> | |
| 665 | - </field> | |
| 666 | - </fields> | |
| 667 | - <cluster_schema/> | |
| 668 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 669 | - <xloc>152</xloc> | |
| 670 | - <yloc>193</yloc> | |
| 671 | - <draw>Y</draw> | |
| 672 | - </GUI> | |
| 673 | - </step> | |
| 674 | - | |
| 675 | - <step_error_handling> | |
| 676 | - <error> | |
| 677 | - <source_step>插入/更新bsth_c_s_gbi</source_step> | |
| 678 | - <target_step>错误输出</target_step> | |
| 679 | - <is_enabled>Y</is_enabled> | |
| 680 | - <nr_valuename>error_count</nr_valuename> | |
| 681 | - <descriptions_valuename>error_desc</descriptions_valuename> | |
| 682 | - <fields_valuename>error_column1</fields_valuename> | |
| 683 | - <codes_valuename>error_column2</codes_valuename> | |
| 684 | - <max_errors/> | |
| 685 | - <max_pct_errors/> | |
| 686 | - <min_pct_rows/> | |
| 687 | - </error> | |
| 688 | - </step_error_handling> | |
| 689 | - <slave-step-copy-partition-distribution> | |
| 690 | -</slave-step-copy-partition-distribution> | |
| 691 | - <slave_transformation>N</slave_transformation> | |
| 692 | - | |
| 693 | -</transformation> | |
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<transformation> | |
| 3 | + <info> | |
| 4 | + <name>guideboardDataInput</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 17:00:01.094</created_date> | |
| 81 | + <modified_user>-</modified_user> | |
| 82 | + <modified_date>2016/06/29 17:00:01.094</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>路牌信息输入,路牌名字是不能重复的
一般来说,应该是导入时刻数据自动生成的,这个再议</note> | |
| 89 | + <xloc>218</xloc> | |
| 90 | + <yloc>141</yloc> | |
| 91 | + <width>298</width> | |
| 92 | + <heigth>42</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>字段改名</from><to>查询线路关联</to><enabled>Y</enabled> </hop> | |
| 271 | + <hop> <from>插入/更新bsth_c_s_gbi</from><to>错误输出</to><enabled>Y</enabled> </hop> | |
| 272 | + <hop> <from>查询线路关联</from><to>插入/更新bsth_c_s_gbi</to><enabled>Y</enabled> </hop> | |
| 273 | + <hop> <from>路牌_85路Excel输入</from><to>字段改名</to><enabled>Y</enabled> </hop> | |
| 274 | + <hop> <from>获取变量</from><to>路牌_85路Excel输入</to><enabled>Y</enabled> </hop> | |
| 275 | + </order> | |
| 276 | + <step> | |
| 277 | + <name>字段改名</name> | |
| 278 | + <type>SelectValues</type> | |
| 279 | + <description/> | |
| 280 | + <distribute>Y</distribute> | |
| 281 | + <custom_distribution/> | |
| 282 | + <copies>1</copies> | |
| 283 | + <partitioning> | |
| 284 | + <method>none</method> | |
| 285 | + <schema_name/> | |
| 286 | + </partitioning> | |
| 287 | + <fields> <select_unspecified>N</select_unspecified> | |
| 288 | + <meta> <name>线路</name> | |
| 289 | + <rename>xl</rename> | |
| 290 | + <type>String</type> | |
| 291 | + <length>-2</length> | |
| 292 | + <precision>-2</precision> | |
| 293 | + <conversion_mask/> | |
| 294 | + <date_format_lenient>false</date_format_lenient> | |
| 295 | + <date_format_locale/> | |
| 296 | + <date_format_timezone/> | |
| 297 | + <lenient_string_to_number>false</lenient_string_to_number> | |
| 298 | + <encoding/> | |
| 299 | + <decimal_symbol/> | |
| 300 | + <grouping_symbol/> | |
| 301 | + <currency_symbol/> | |
| 302 | + <storage_type/> | |
| 303 | + </meta> <meta> <name>路牌编号</name> | |
| 304 | + <rename>lpno</rename> | |
| 305 | + <type>Integer</type> | |
| 306 | + <length>-2</length> | |
| 307 | + <precision>-2</precision> | |
| 308 | + <conversion_mask/> | |
| 309 | + <date_format_lenient>false</date_format_lenient> | |
| 310 | + <date_format_locale/> | |
| 311 | + <date_format_timezone/> | |
| 312 | + <lenient_string_to_number>false</lenient_string_to_number> | |
| 313 | + <encoding/> | |
| 314 | + <decimal_symbol/> | |
| 315 | + <grouping_symbol/> | |
| 316 | + <currency_symbol/> | |
| 317 | + <storage_type/> | |
| 318 | + </meta> <meta> <name>路牌名称</name> | |
| 319 | + <rename>lpname</rename> | |
| 320 | + <type>String</type> | |
| 321 | + <length>-2</length> | |
| 322 | + <precision>-2</precision> | |
| 323 | + <conversion_mask/> | |
| 324 | + <date_format_lenient>false</date_format_lenient> | |
| 325 | + <date_format_locale/> | |
| 326 | + <date_format_timezone/> | |
| 327 | + <lenient_string_to_number>false</lenient_string_to_number> | |
| 328 | + <encoding/> | |
| 329 | + <decimal_symbol/> | |
| 330 | + <grouping_symbol/> | |
| 331 | + <currency_symbol/> | |
| 332 | + <storage_type/> | |
| 333 | + </meta> <meta> <name>路牌类型</name> | |
| 334 | + <rename>lptype</rename> | |
| 335 | + <type>String</type> | |
| 336 | + <length>-2</length> | |
| 337 | + <precision>-2</precision> | |
| 338 | + <conversion_mask/> | |
| 339 | + <date_format_lenient>false</date_format_lenient> | |
| 340 | + <date_format_locale/> | |
| 341 | + <date_format_timezone/> | |
| 342 | + <lenient_string_to_number>false</lenient_string_to_number> | |
| 343 | + <encoding/> | |
| 344 | + <decimal_symbol/> | |
| 345 | + <grouping_symbol/> | |
| 346 | + <currency_symbol/> | |
| 347 | + <storage_type/> | |
| 348 | + </meta> </fields> <cluster_schema/> | |
| 349 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 350 | + <xloc>295</xloc> | |
| 351 | + <yloc>68</yloc> | |
| 352 | + <draw>Y</draw> | |
| 353 | + </GUI> | |
| 354 | + </step> | |
| 355 | + | |
| 356 | + <step> | |
| 357 | + <name>插入/更新bsth_c_s_gbi</name> | |
| 358 | + <type>InsertUpdate</type> | |
| 359 | + <description/> | |
| 360 | + <distribute>Y</distribute> | |
| 361 | + <custom_distribution/> | |
| 362 | + <copies>1</copies> | |
| 363 | + <partitioning> | |
| 364 | + <method>none</method> | |
| 365 | + <schema_name/> | |
| 366 | + </partitioning> | |
| 367 | + <connection>bus_control_variable</connection> | |
| 368 | + <commit>100</commit> | |
| 369 | + <update_bypassed>N</update_bypassed> | |
| 370 | + <lookup> | |
| 371 | + <schema/> | |
| 372 | + <table>bsth_c_s_gbi</table> | |
| 373 | + <key> | |
| 374 | + <name>xlid</name> | |
| 375 | + <field>xl</field> | |
| 376 | + <condition>=</condition> | |
| 377 | + <name2/> | |
| 378 | + </key> | |
| 379 | + <key> | |
| 380 | + <name>lpname</name> | |
| 381 | + <field>lp_name</field> | |
| 382 | + <condition>=</condition> | |
| 383 | + <name2/> | |
| 384 | + </key> | |
| 385 | + <value> | |
| 386 | + <name>xl</name> | |
| 387 | + <rename>xlid</rename> | |
| 388 | + <update>Y</update> | |
| 389 | + </value> | |
| 390 | + <value> | |
| 391 | + <name>lp_no</name> | |
| 392 | + <rename>lpno</rename> | |
| 393 | + <update>Y</update> | |
| 394 | + </value> | |
| 395 | + <value> | |
| 396 | + <name>lp_name</name> | |
| 397 | + <rename>lpname</rename> | |
| 398 | + <update>Y</update> | |
| 399 | + </value> | |
| 400 | + <value> | |
| 401 | + <name>lp_type</name> | |
| 402 | + <rename>lptype</rename> | |
| 403 | + <update>Y</update> | |
| 404 | + </value> | |
| 405 | + </lookup> | |
| 406 | + <cluster_schema/> | |
| 407 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 408 | + <xloc>576</xloc> | |
| 409 | + <yloc>69</yloc> | |
| 410 | + <draw>Y</draw> | |
| 411 | + </GUI> | |
| 412 | + </step> | |
| 413 | + | |
| 414 | + <step> | |
| 415 | + <name>查询线路关联</name> | |
| 416 | + <type>DBLookup</type> | |
| 417 | + <description/> | |
| 418 | + <distribute>Y</distribute> | |
| 419 | + <custom_distribution/> | |
| 420 | + <copies>1</copies> | |
| 421 | + <partitioning> | |
| 422 | + <method>none</method> | |
| 423 | + <schema_name/> | |
| 424 | + </partitioning> | |
| 425 | + <connection>bus_control_variable</connection> | |
| 426 | + <cache>N</cache> | |
| 427 | + <cache_load_all>N</cache_load_all> | |
| 428 | + <cache_size>0</cache_size> | |
| 429 | + <lookup> | |
| 430 | + <schema/> | |
| 431 | + <table>bsth_c_line</table> | |
| 432 | + <orderby/> | |
| 433 | + <fail_on_multiple>N</fail_on_multiple> | |
| 434 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 435 | + <key> | |
| 436 | + <name>xl</name> | |
| 437 | + <field>name</field> | |
| 438 | + <condition>=</condition> | |
| 439 | + <name2/> | |
| 440 | + </key> | |
| 441 | + <value> | |
| 442 | + <name>id</name> | |
| 443 | + <rename>xlid</rename> | |
| 444 | + <default/> | |
| 445 | + <type>Integer</type> | |
| 446 | + </value> | |
| 447 | + </lookup> | |
| 448 | + <cluster_schema/> | |
| 449 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 450 | + <xloc>428</xloc> | |
| 451 | + <yloc>69</yloc> | |
| 452 | + <draw>Y</draw> | |
| 453 | + </GUI> | |
| 454 | + </step> | |
| 455 | + | |
| 456 | + <step> | |
| 457 | + <name>获取变量</name> | |
| 458 | + <type>GetVariable</type> | |
| 459 | + <description/> | |
| 460 | + <distribute>Y</distribute> | |
| 461 | + <custom_distribution/> | |
| 462 | + <copies>1</copies> | |
| 463 | + <partitioning> | |
| 464 | + <method>none</method> | |
| 465 | + <schema_name/> | |
| 466 | + </partitioning> | |
| 467 | + <fields> | |
| 468 | + <field> | |
| 469 | + <name>filepath_</name> | |
| 470 | + <variable>${filepath}</variable> | |
| 471 | + <type>String</type> | |
| 472 | + <format/> | |
| 473 | + <currency/> | |
| 474 | + <decimal/> | |
| 475 | + <group/> | |
| 476 | + <length>-1</length> | |
| 477 | + <precision>-1</precision> | |
| 478 | + <trim_type>none</trim_type> | |
| 479 | + </field> | |
| 480 | + <field> | |
| 481 | + <name>erroroutputdir_</name> | |
| 482 | + <variable>${erroroutputdir}</variable> | |
| 483 | + <type>String</type> | |
| 484 | + <format/> | |
| 485 | + <currency/> | |
| 486 | + <decimal/> | |
| 487 | + <group/> | |
| 488 | + <length>-1</length> | |
| 489 | + <precision>-1</precision> | |
| 490 | + <trim_type>none</trim_type> | |
| 491 | + </field> | |
| 492 | + </fields> | |
| 493 | + <cluster_schema/> | |
| 494 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 495 | + <xloc>152</xloc> | |
| 496 | + <yloc>193</yloc> | |
| 497 | + <draw>Y</draw> | |
| 498 | + </GUI> | |
| 499 | + </step> | |
| 500 | + | |
| 501 | + <step> | |
| 502 | + <name>路牌_85路Excel输入</name> | |
| 503 | + <type>ExcelInput</type> | |
| 504 | + <description/> | |
| 505 | + <distribute>Y</distribute> | |
| 506 | + <custom_distribution/> | |
| 507 | + <copies>1</copies> | |
| 508 | + <partitioning> | |
| 509 | + <method>none</method> | |
| 510 | + <schema_name/> | |
| 511 | + </partitioning> | |
| 512 | + <header>Y</header> | |
| 513 | + <noempty>Y</noempty> | |
| 514 | + <stoponempty>N</stoponempty> | |
| 515 | + <filefield/> | |
| 516 | + <sheetfield/> | |
| 517 | + <sheetrownumfield/> | |
| 518 | + <rownumfield/> | |
| 519 | + <sheetfield/> | |
| 520 | + <filefield/> | |
| 521 | + <limit>0</limit> | |
| 522 | + <encoding/> | |
| 523 | + <add_to_result_filenames>Y</add_to_result_filenames> | |
| 524 | + <accept_filenames>Y</accept_filenames> | |
| 525 | + <accept_field>filepath_</accept_field> | |
| 526 | + <accept_stepname>获取变量</accept_stepname> | |
| 527 | + <file> | |
| 528 | + <name/> | |
| 529 | + <filemask/> | |
| 530 | + <exclude_filemask/> | |
| 531 | + <file_required>N</file_required> | |
| 532 | + <include_subfolders>N</include_subfolders> | |
| 533 | + </file> | |
| 534 | + <fields> | |
| 535 | + <field> | |
| 536 | + <name>线路</name> | |
| 537 | + <type>String</type> | |
| 538 | + <length>-1</length> | |
| 539 | + <precision>-1</precision> | |
| 540 | + <trim_type>none</trim_type> | |
| 541 | + <repeat>N</repeat> | |
| 542 | + <format/> | |
| 543 | + <currency/> | |
| 544 | + <decimal/> | |
| 545 | + <group/> | |
| 546 | + </field> | |
| 547 | + <field> | |
| 548 | + <name>路牌编号</name> | |
| 549 | + <type>String</type> | |
| 550 | + <length>-1</length> | |
| 551 | + <precision>-1</precision> | |
| 552 | + <trim_type>none</trim_type> | |
| 553 | + <repeat>N</repeat> | |
| 554 | + <format>#</format> | |
| 555 | + <currency/> | |
| 556 | + <decimal/> | |
| 557 | + <group/> | |
| 558 | + </field> | |
| 559 | + <field> | |
| 560 | + <name>路牌名称</name> | |
| 561 | + <type>String</type> | |
| 562 | + <length>-1</length> | |
| 563 | + <precision>-1</precision> | |
| 564 | + <trim_type>none</trim_type> | |
| 565 | + <repeat>N</repeat> | |
| 566 | + <format>#</format> | |
| 567 | + <currency/> | |
| 568 | + <decimal/> | |
| 569 | + <group/> | |
| 570 | + </field> | |
| 571 | + <field> | |
| 572 | + <name>路牌类型</name> | |
| 573 | + <type>String</type> | |
| 574 | + <length>-1</length> | |
| 575 | + <precision>-1</precision> | |
| 576 | + <trim_type>none</trim_type> | |
| 577 | + <repeat>N</repeat> | |
| 578 | + <format/> | |
| 579 | + <currency/> | |
| 580 | + <decimal/> | |
| 581 | + <group/> | |
| 582 | + </field> | |
| 583 | + </fields> | |
| 584 | + <sheets> | |
| 585 | + <sheet> | |
| 586 | + <name>工作表1</name> | |
| 587 | + <startrow>0</startrow> | |
| 588 | + <startcol>0</startcol> | |
| 589 | + </sheet> | |
| 590 | + </sheets> | |
| 591 | + <strict_types>N</strict_types> | |
| 592 | + <error_ignored>N</error_ignored> | |
| 593 | + <error_line_skipped>N</error_line_skipped> | |
| 594 | + <bad_line_files_destination_directory/> | |
| 595 | + <bad_line_files_extension>warning</bad_line_files_extension> | |
| 596 | + <error_line_files_destination_directory/> | |
| 597 | + <error_line_files_extension>error</error_line_files_extension> | |
| 598 | + <line_number_files_destination_directory/> | |
| 599 | + <line_number_files_extension>line</line_number_files_extension> | |
| 600 | + <shortFileFieldName/> | |
| 601 | + <pathFieldName/> | |
| 602 | + <hiddenFieldName/> | |
| 603 | + <lastModificationTimeFieldName/> | |
| 604 | + <uriNameFieldName/> | |
| 605 | + <rootUriNameFieldName/> | |
| 606 | + <extensionFieldName/> | |
| 607 | + <sizeFieldName/> | |
| 608 | + <spreadsheet_type>JXL</spreadsheet_type> | |
| 609 | + <cluster_schema/> | |
| 610 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 611 | + <xloc>150</xloc> | |
| 612 | + <yloc>68</yloc> | |
| 613 | + <draw>Y</draw> | |
| 614 | + </GUI> | |
| 615 | + </step> | |
| 616 | + | |
| 617 | + <step> | |
| 618 | + <name>错误输出</name> | |
| 619 | + <type>ExcelOutput</type> | |
| 620 | + <description/> | |
| 621 | + <distribute>Y</distribute> | |
| 622 | + <custom_distribution/> | |
| 623 | + <copies>1</copies> | |
| 624 | + <partitioning> | |
| 625 | + <method>none</method> | |
| 626 | + <schema_name/> | |
| 627 | + </partitioning> | |
| 628 | + <header>Y</header> | |
| 629 | + <footer>N</footer> | |
| 630 | + <encoding>UTF-8</encoding> | |
| 631 | + <append>N</append> | |
| 632 | + <add_to_result_filenames>Y</add_to_result_filenames> | |
| 633 | + <file> | |
| 634 | + <name>${erroroutputdir}/路牌_错误</name> | |
| 635 | + <extention>xls</extention> | |
| 636 | + <do_not_open_newfile_init>N</do_not_open_newfile_init> | |
| 637 | + <create_parent_folder>N</create_parent_folder> | |
| 638 | + <split>N</split> | |
| 639 | + <add_date>N</add_date> | |
| 640 | + <add_time>N</add_time> | |
| 641 | + <SpecifyFormat>N</SpecifyFormat> | |
| 642 | + <date_time_format/> | |
| 643 | + <sheetname>Sheet1</sheetname> | |
| 644 | + <autosizecolums>N</autosizecolums> | |
| 645 | + <nullisblank>N</nullisblank> | |
| 646 | + <protect_sheet>N</protect_sheet> | |
| 647 | + <password>Encrypted </password> | |
| 648 | + <splitevery>0</splitevery> | |
| 649 | + <usetempfiles>N</usetempfiles> | |
| 650 | + <tempdirectory/> | |
| 651 | + </file> | |
| 652 | + <template> | |
| 653 | + <enabled>N</enabled> | |
| 654 | + <append>N</append> | |
| 655 | + <filename>template.xls</filename> | |
| 656 | + </template> | |
| 657 | + <fields> | |
| 658 | + <field> | |
| 659 | + <name>xl</name> | |
| 660 | + <type>String</type> | |
| 661 | + <format/> | |
| 662 | + </field> | |
| 663 | + <field> | |
| 664 | + <name>lpno</name> | |
| 665 | + <type>Integer</type> | |
| 666 | + <format/> | |
| 667 | + </field> | |
| 668 | + <field> | |
| 669 | + <name>lpname</name> | |
| 670 | + <type>String</type> | |
| 671 | + <format/> | |
| 672 | + </field> | |
| 673 | + <field> | |
| 674 | + <name>lptype</name> | |
| 675 | + <type>String</type> | |
| 676 | + <format/> | |
| 677 | + </field> | |
| 678 | + <field> | |
| 679 | + <name>xlid</name> | |
| 680 | + <type>Integer</type> | |
| 681 | + <format/> | |
| 682 | + </field> | |
| 683 | + <field> | |
| 684 | + <name>error_count</name> | |
| 685 | + <type>Integer</type> | |
| 686 | + <format/> | |
| 687 | + </field> | |
| 688 | + <field> | |
| 689 | + <name>error_desc</name> | |
| 690 | + <type>String</type> | |
| 691 | + <format/> | |
| 692 | + </field> | |
| 693 | + <field> | |
| 694 | + <name>error_column1</name> | |
| 695 | + <type>String</type> | |
| 696 | + <format/> | |
| 697 | + </field> | |
| 698 | + <field> | |
| 699 | + <name>error_column2</name> | |
| 700 | + <type>String</type> | |
| 701 | + <format/> | |
| 702 | + </field> | |
| 703 | + </fields> | |
| 704 | + <custom> | |
| 705 | + <header_font_name>arial</header_font_name> | |
| 706 | + <header_font_size>10</header_font_size> | |
| 707 | + <header_font_bold>N</header_font_bold> | |
| 708 | + <header_font_italic>N</header_font_italic> | |
| 709 | + <header_font_underline>no</header_font_underline> | |
| 710 | + <header_font_orientation>horizontal</header_font_orientation> | |
| 711 | + <header_font_color>black</header_font_color> | |
| 712 | + <header_background_color>none</header_background_color> | |
| 713 | + <header_row_height>255</header_row_height> | |
| 714 | + <header_alignment>left</header_alignment> | |
| 715 | + <header_image/> | |
| 716 | + <row_font_name>arial</row_font_name> | |
| 717 | + <row_font_size>10</row_font_size> | |
| 718 | + <row_font_color>black</row_font_color> | |
| 719 | + <row_background_color>none</row_background_color> | |
| 720 | + </custom> | |
| 721 | + <cluster_schema/> | |
| 722 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 723 | + <xloc>576</xloc> | |
| 724 | + <yloc>192</yloc> | |
| 725 | + <draw>Y</draw> | |
| 726 | + </GUI> | |
| 727 | + </step> | |
| 728 | + | |
| 729 | + <step_error_handling> | |
| 730 | + <error> | |
| 731 | + <source_step>插入/更新bsth_c_s_gbi</source_step> | |
| 732 | + <target_step>错误输出</target_step> | |
| 733 | + <is_enabled>Y</is_enabled> | |
| 734 | + <nr_valuename>error_count</nr_valuename> | |
| 735 | + <descriptions_valuename>error_desc</descriptions_valuename> | |
| 736 | + <fields_valuename>error_column1</fields_valuename> | |
| 737 | + <codes_valuename>error_column2</codes_valuename> | |
| 738 | + <max_errors/> | |
| 739 | + <max_pct_errors/> | |
| 740 | + <min_pct_rows/> | |
| 741 | + </error> | |
| 742 | + </step_error_handling> | |
| 743 | + <slave-step-copy-partition-distribution> | |
| 744 | +</slave-step-copy-partition-distribution> | |
| 745 | + <slave_transformation>N</slave_transformation> | |
| 746 | + | |
| 747 | +</transformation> | ... | ... |
src/main/resources/datatools/ktrs/ttinfoDataInput.ktr
| 1 | -<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | -<transformation> | |
| 3 | - <info> | |
| 4 | - <name>ttinfoDataInput</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/30 09:35:41.558</created_date> | |
| 81 | - <modified_user>-</modified_user> | |
| 82 | - <modified_date>2016/06/30 09:35:41.558</modified_date> | |
| 83 | - <key_for_session_key/> | |
| 84 | - <is_key_private>N</is_key_private> | |
| 85 | - </info> | |
| 86 | - <notepads> | |
| 87 | - <notepad> | |
| 88 | - <note>有些字段没有输入,不太明白,以后再补
模版类型 分时刻表/间隔式两种,暂时空着
是否启用调度模版 暂时空着
还有就是 分别在,圈后圈 暂时没有</note> | |
| 89 | - <xloc>429</xloc> | |
| 90 | - <yloc>144</yloc> | |
| 91 | - <width>240</width> | |
| 92 | - <heigth>74</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>插入/更新bsth_c_s_ttinfo</from><to>错误输出</to><enabled>Y</enabled> </hop> | |
| 217 | - <hop> <from>查找线路关联</from><to>插入/更新bsth_c_s_ttinfo</to><enabled>Y</enabled> </hop> | |
| 218 | - <hop> <from>时刻表基础数据Excel输入</from><to>字段选择</to><enabled>Y</enabled> </hop> | |
| 219 | - <hop> <from>字段选择</from><to>线路上下行值映射</to><enabled>Y</enabled> </hop> | |
| 220 | - <hop> <from>线路上下行值映射</from><to>查找线路关联</to><enabled>Y</enabled> </hop> | |
| 221 | - <hop> <from>获取变量</from><to>时刻表基础数据Excel输入</to><enabled>Y</enabled> </hop> | |
| 222 | - </order> | |
| 223 | - <step> | |
| 224 | - <name>插入/更新bsth_c_s_ttinfo</name> | |
| 225 | - <type>InsertUpdate</type> | |
| 226 | - <description/> | |
| 227 | - <distribute>Y</distribute> | |
| 228 | - <custom_distribution/> | |
| 229 | - <copies>1</copies> | |
| 230 | - <partitioning> | |
| 231 | - <method>none</method> | |
| 232 | - <schema_name/> | |
| 233 | - </partitioning> | |
| 234 | - <connection>bus_control_公司_201</connection> | |
| 235 | - <commit>100</commit> | |
| 236 | - <update_bypassed>N</update_bypassed> | |
| 237 | - <lookup> | |
| 238 | - <schema/> | |
| 239 | - <table>bsth_c_s_ttinfo</table> | |
| 240 | - <key> | |
| 241 | - <name>xlid</name> | |
| 242 | - <field>xl</field> | |
| 243 | - <condition>=</condition> | |
| 244 | - <name2/> | |
| 245 | - </key> | |
| 246 | - <key> | |
| 247 | - <name>name</name> | |
| 248 | - <field>name</field> | |
| 249 | - <condition>=</condition> | |
| 250 | - <name2/> | |
| 251 | - </key> | |
| 252 | - <value> | |
| 253 | - <name>name</name> | |
| 254 | - <rename>name</rename> | |
| 255 | - <update>Y</update> | |
| 256 | - </value> | |
| 257 | - <value> | |
| 258 | - <name>xl_dir</name> | |
| 259 | - <rename>xlDir</rename> | |
| 260 | - <update>Y</update> | |
| 261 | - </value> | |
| 262 | - <value> | |
| 263 | - <name>qyrq</name> | |
| 264 | - <rename>qyrq</rename> | |
| 265 | - <update>Y</update> | |
| 266 | - </value> | |
| 267 | - <value> | |
| 268 | - <name>lp_count</name> | |
| 269 | - <rename>lpCount</rename> | |
| 270 | - <update>Y</update> | |
| 271 | - </value> | |
| 272 | - <value> | |
| 273 | - <name>loop_count</name> | |
| 274 | - <rename>loopCount</rename> | |
| 275 | - <update>Y</update> | |
| 276 | - </value> | |
| 277 | - <value> | |
| 278 | - <name>rule_days</name> | |
| 279 | - <rename>rule_days</rename> | |
| 280 | - <update>Y</update> | |
| 281 | - </value> | |
| 282 | - <value> | |
| 283 | - <name>special_days</name> | |
| 284 | - <rename>special_days</rename> | |
| 285 | - <update>Y</update> | |
| 286 | - </value> | |
| 287 | - <value> | |
| 288 | - <name>xl</name> | |
| 289 | - <rename>xlid</rename> | |
| 290 | - <update>Y</update> | |
| 291 | - </value> | |
| 292 | - </lookup> | |
| 293 | - <cluster_schema/> | |
| 294 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 295 | - <xloc>799</xloc> | |
| 296 | - <yloc>71</yloc> | |
| 297 | - <draw>Y</draw> | |
| 298 | - </GUI> | |
| 299 | - </step> | |
| 300 | - | |
| 301 | - <step> | |
| 302 | - <name>查找线路关联</name> | |
| 303 | - <type>DBLookup</type> | |
| 304 | - <description/> | |
| 305 | - <distribute>Y</distribute> | |
| 306 | - <custom_distribution/> | |
| 307 | - <copies>1</copies> | |
| 308 | - <partitioning> | |
| 309 | - <method>none</method> | |
| 310 | - <schema_name/> | |
| 311 | - </partitioning> | |
| 312 | - <connection>bus_control_公司_201</connection> | |
| 313 | - <cache>N</cache> | |
| 314 | - <cache_load_all>N</cache_load_all> | |
| 315 | - <cache_size>0</cache_size> | |
| 316 | - <lookup> | |
| 317 | - <schema/> | |
| 318 | - <table>bsth_c_line</table> | |
| 319 | - <orderby/> | |
| 320 | - <fail_on_multiple>N</fail_on_multiple> | |
| 321 | - <eat_row_on_failure>N</eat_row_on_failure> | |
| 322 | - <key> | |
| 323 | - <name>xlName</name> | |
| 324 | - <field>name</field> | |
| 325 | - <condition>=</condition> | |
| 326 | - <name2/> | |
| 327 | - </key> | |
| 328 | - <value> | |
| 329 | - <name>id</name> | |
| 330 | - <rename>xlid</rename> | |
| 331 | - <default/> | |
| 332 | - <type>Integer</type> | |
| 333 | - </value> | |
| 334 | - </lookup> | |
| 335 | - <cluster_schema/> | |
| 336 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 337 | - <xloc>599</xloc> | |
| 338 | - <yloc>71</yloc> | |
| 339 | - <draw>Y</draw> | |
| 340 | - </GUI> | |
| 341 | - </step> | |
| 342 | - | |
| 343 | - <step> | |
| 344 | - <name>错误输出</name> | |
| 345 | - <type>ExcelOutput</type> | |
| 346 | - <description/> | |
| 347 | - <distribute>Y</distribute> | |
| 348 | - <custom_distribution/> | |
| 349 | - <copies>1</copies> | |
| 350 | - <partitioning> | |
| 351 | - <method>none</method> | |
| 352 | - <schema_name/> | |
| 353 | - </partitioning> | |
| 354 | - <header>Y</header> | |
| 355 | - <footer>N</footer> | |
| 356 | - <encoding>UTF-8</encoding> | |
| 357 | - <append>N</append> | |
| 358 | - <add_to_result_filenames>Y</add_to_result_filenames> | |
| 359 | - <file> | |
| 360 | - <name>${erroroutputdir}/时刻表基础信息_错误</name> | |
| 361 | - <extention>xls</extention> | |
| 362 | - <do_not_open_newfile_init>N</do_not_open_newfile_init> | |
| 363 | - <create_parent_folder>N</create_parent_folder> | |
| 364 | - <split>N</split> | |
| 365 | - <add_date>N</add_date> | |
| 366 | - <add_time>N</add_time> | |
| 367 | - <SpecifyFormat>N</SpecifyFormat> | |
| 368 | - <date_time_format/> | |
| 369 | - <sheetname>Sheet1</sheetname> | |
| 370 | - <autosizecolums>N</autosizecolums> | |
| 371 | - <nullisblank>N</nullisblank> | |
| 372 | - <protect_sheet>N</protect_sheet> | |
| 373 | - <password>Encrypted </password> | |
| 374 | - <splitevery>0</splitevery> | |
| 375 | - <usetempfiles>N</usetempfiles> | |
| 376 | - <tempdirectory/> | |
| 377 | - </file> | |
| 378 | - <template> | |
| 379 | - <enabled>N</enabled> | |
| 380 | - <append>N</append> | |
| 381 | - <filename>template.xls</filename> | |
| 382 | - </template> | |
| 383 | - <fields> | |
| 384 | - <field> | |
| 385 | - <name>xlName</name> | |
| 386 | - <type>String</type> | |
| 387 | - <format/> | |
| 388 | - </field> | |
| 389 | - <field> | |
| 390 | - <name>name</name> | |
| 391 | - <type>String</type> | |
| 392 | - <format/> | |
| 393 | - </field> | |
| 394 | - <field> | |
| 395 | - <name>xlDir</name> | |
| 396 | - <type>String</type> | |
| 397 | - <format/> | |
| 398 | - </field> | |
| 399 | - <field> | |
| 400 | - <name>qyrq</name> | |
| 401 | - <type>Date</type> | |
| 402 | - <format/> | |
| 403 | - </field> | |
| 404 | - <field> | |
| 405 | - <name>lpCount</name> | |
| 406 | - <type>Integer</type> | |
| 407 | - <format/> | |
| 408 | - </field> | |
| 409 | - <field> | |
| 410 | - <name>loopCount</name> | |
| 411 | - <type>Integer</type> | |
| 412 | - <format/> | |
| 413 | - </field> | |
| 414 | - <field> | |
| 415 | - <name>rule_days</name> | |
| 416 | - <type>String</type> | |
| 417 | - <format/> | |
| 418 | - </field> | |
| 419 | - <field> | |
| 420 | - <name>special_days</name> | |
| 421 | - <type>String</type> | |
| 422 | - <format/> | |
| 423 | - </field> | |
| 424 | - <field> | |
| 425 | - <name>xlid</name> | |
| 426 | - <type>Integer</type> | |
| 427 | - <format/> | |
| 428 | - </field> | |
| 429 | - <field> | |
| 430 | - <name>error_count</name> | |
| 431 | - <type>Integer</type> | |
| 432 | - <format/> | |
| 433 | - </field> | |
| 434 | - <field> | |
| 435 | - <name>error_desc</name> | |
| 436 | - <type>String</type> | |
| 437 | - <format/> | |
| 438 | - </field> | |
| 439 | - <field> | |
| 440 | - <name>error_column1</name> | |
| 441 | - <type>String</type> | |
| 442 | - <format/> | |
| 443 | - </field> | |
| 444 | - <field> | |
| 445 | - <name>error_column2</name> | |
| 446 | - <type>String</type> | |
| 447 | - <format/> | |
| 448 | - </field> | |
| 449 | - </fields> | |
| 450 | - <custom> | |
| 451 | - <header_font_name>arial</header_font_name> | |
| 452 | - <header_font_size>10</header_font_size> | |
| 453 | - <header_font_bold>N</header_font_bold> | |
| 454 | - <header_font_italic>N</header_font_italic> | |
| 455 | - <header_font_underline>no</header_font_underline> | |
| 456 | - <header_font_orientation>horizontal</header_font_orientation> | |
| 457 | - <header_font_color>black</header_font_color> | |
| 458 | - <header_background_color>none</header_background_color> | |
| 459 | - <header_row_height>255</header_row_height> | |
| 460 | - <header_alignment>left</header_alignment> | |
| 461 | - <header_image/> | |
| 462 | - <row_font_name>arial</row_font_name> | |
| 463 | - <row_font_size>10</row_font_size> | |
| 464 | - <row_font_color>black</row_font_color> | |
| 465 | - <row_background_color>none</row_background_color> | |
| 466 | - </custom> | |
| 467 | - <cluster_schema/> | |
| 468 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 469 | - <xloc>799</xloc> | |
| 470 | - <yloc>184</yloc> | |
| 471 | - <draw>Y</draw> | |
| 472 | - </GUI> | |
| 473 | - </step> | |
| 474 | - | |
| 475 | - <step> | |
| 476 | - <name>时刻表基础数据Excel输入</name> | |
| 477 | - <type>ExcelInput</type> | |
| 478 | - <description/> | |
| 479 | - <distribute>Y</distribute> | |
| 480 | - <custom_distribution/> | |
| 481 | - <copies>1</copies> | |
| 482 | - <partitioning> | |
| 483 | - <method>none</method> | |
| 484 | - <schema_name/> | |
| 485 | - </partitioning> | |
| 486 | - <header>Y</header> | |
| 487 | - <noempty>Y</noempty> | |
| 488 | - <stoponempty>N</stoponempty> | |
| 489 | - <filefield/> | |
| 490 | - <sheetfield/> | |
| 491 | - <sheetrownumfield/> | |
| 492 | - <rownumfield/> | |
| 493 | - <sheetfield/> | |
| 494 | - <filefield/> | |
| 495 | - <limit>0</limit> | |
| 496 | - <encoding/> | |
| 497 | - <add_to_result_filenames>Y</add_to_result_filenames> | |
| 498 | - <accept_filenames>Y</accept_filenames> | |
| 499 | - <accept_field>filepath_</accept_field> | |
| 500 | - <accept_stepname>获取变量</accept_stepname> | |
| 501 | - <file> | |
| 502 | - <name/> | |
| 503 | - <filemask/> | |
| 504 | - <exclude_filemask/> | |
| 505 | - <file_required>N</file_required> | |
| 506 | - <include_subfolders>N</include_subfolders> | |
| 507 | - </file> | |
| 508 | - <fields> | |
| 509 | - <field> | |
| 510 | - <name>线路名称</name> | |
| 511 | - <type>String</type> | |
| 512 | - <length>-1</length> | |
| 513 | - <precision>-1</precision> | |
| 514 | - <trim_type>none</trim_type> | |
| 515 | - <repeat>N</repeat> | |
| 516 | - <format/> | |
| 517 | - <currency/> | |
| 518 | - <decimal/> | |
| 519 | - <group/> | |
| 520 | - </field> | |
| 521 | - <field> | |
| 522 | - <name>时刻表名称</name> | |
| 523 | - <type>String</type> | |
| 524 | - <length>-1</length> | |
| 525 | - <precision>-1</precision> | |
| 526 | - <trim_type>none</trim_type> | |
| 527 | - <repeat>N</repeat> | |
| 528 | - <format/> | |
| 529 | - <currency/> | |
| 530 | - <decimal/> | |
| 531 | - <group/> | |
| 532 | - </field> | |
| 533 | - <field> | |
| 534 | - <name>线路上下行</name> | |
| 535 | - <type>String</type> | |
| 536 | - <length>-1</length> | |
| 537 | - <precision>-1</precision> | |
| 538 | - <trim_type>none</trim_type> | |
| 539 | - <repeat>N</repeat> | |
| 540 | - <format/> | |
| 541 | - <currency/> | |
| 542 | - <decimal/> | |
| 543 | - <group/> | |
| 544 | - </field> | |
| 545 | - <field> | |
| 546 | - <name>启用日期</name> | |
| 547 | - <type>String</type> | |
| 548 | - <length>-1</length> | |
| 549 | - <precision>-1</precision> | |
| 550 | - <trim_type>none</trim_type> | |
| 551 | - <repeat>N</repeat> | |
| 552 | - <format/> | |
| 553 | - <currency/> | |
| 554 | - <decimal/> | |
| 555 | - <group/> | |
| 556 | - </field> | |
| 557 | - <field> | |
| 558 | - <name>路牌数</name> | |
| 559 | - <type>String</type> | |
| 560 | - <length>-1</length> | |
| 561 | - <precision>-1</precision> | |
| 562 | - <trim_type>none</trim_type> | |
| 563 | - <repeat>N</repeat> | |
| 564 | - <format>#</format> | |
| 565 | - <currency/> | |
| 566 | - <decimal/> | |
| 567 | - <group/> | |
| 568 | - </field> | |
| 569 | - <field> | |
| 570 | - <name>圈数</name> | |
| 571 | - <type>String</type> | |
| 572 | - <length>-1</length> | |
| 573 | - <precision>-1</precision> | |
| 574 | - <trim_type>none</trim_type> | |
| 575 | - <repeat>N</repeat> | |
| 576 | - <format>#</format> | |
| 577 | - <currency/> | |
| 578 | - <decimal/> | |
| 579 | - <group/> | |
| 580 | - </field> | |
| 581 | - <field> | |
| 582 | - <name>常规有效日</name> | |
| 583 | - <type>String</type> | |
| 584 | - <length>-1</length> | |
| 585 | - <precision>-1</precision> | |
| 586 | - <trim_type>none</trim_type> | |
| 587 | - <repeat>N</repeat> | |
| 588 | - <format/> | |
| 589 | - <currency/> | |
| 590 | - <decimal/> | |
| 591 | - <group/> | |
| 592 | - </field> | |
| 593 | - <field> | |
| 594 | - <name>特殊有效日</name> | |
| 595 | - <type>String</type> | |
| 596 | - <length>-1</length> | |
| 597 | - <precision>-1</precision> | |
| 598 | - <trim_type>none</trim_type> | |
| 599 | - <repeat>N</repeat> | |
| 600 | - <format/> | |
| 601 | - <currency/> | |
| 602 | - <decimal/> | |
| 603 | - <group/> | |
| 604 | - </field> | |
| 605 | - </fields> | |
| 606 | - <sheets> | |
| 607 | - <sheet> | |
| 608 | - <name>工作表1</name> | |
| 609 | - <startrow>0</startrow> | |
| 610 | - <startcol>0</startcol> | |
| 611 | - </sheet> | |
| 612 | - </sheets> | |
| 613 | - <strict_types>N</strict_types> | |
| 614 | - <error_ignored>N</error_ignored> | |
| 615 | - <error_line_skipped>N</error_line_skipped> | |
| 616 | - <bad_line_files_destination_directory/> | |
| 617 | - <bad_line_files_extension>warning</bad_line_files_extension> | |
| 618 | - <error_line_files_destination_directory/> | |
| 619 | - <error_line_files_extension>error</error_line_files_extension> | |
| 620 | - <line_number_files_destination_directory/> | |
| 621 | - <line_number_files_extension>line</line_number_files_extension> | |
| 622 | - <shortFileFieldName/> | |
| 623 | - <pathFieldName/> | |
| 624 | - <hiddenFieldName/> | |
| 625 | - <lastModificationTimeFieldName/> | |
| 626 | - <uriNameFieldName/> | |
| 627 | - <rootUriNameFieldName/> | |
| 628 | - <extensionFieldName/> | |
| 629 | - <sizeFieldName/> | |
| 630 | - <spreadsheet_type>JXL</spreadsheet_type> | |
| 631 | - <cluster_schema/> | |
| 632 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 633 | - <xloc>158</xloc> | |
| 634 | - <yloc>77</yloc> | |
| 635 | - <draw>Y</draw> | |
| 636 | - </GUI> | |
| 637 | - </step> | |
| 638 | - | |
| 639 | - <step> | |
| 640 | - <name>字段选择</name> | |
| 641 | - <type>SelectValues</type> | |
| 642 | - <description/> | |
| 643 | - <distribute>Y</distribute> | |
| 644 | - <custom_distribution/> | |
| 645 | - <copies>1</copies> | |
| 646 | - <partitioning> | |
| 647 | - <method>none</method> | |
| 648 | - <schema_name/> | |
| 649 | - </partitioning> | |
| 650 | - <fields> <field> <name>线路名称</name> | |
| 651 | - <rename>xlName</rename> | |
| 652 | - <length>-2</length> | |
| 653 | - <precision>-2</precision> | |
| 654 | - </field> <field> <name>时刻表名称</name> | |
| 655 | - <rename>name</rename> | |
| 656 | - <length>-2</length> | |
| 657 | - <precision>-2</precision> | |
| 658 | - </field> <field> <name>线路上下行</name> | |
| 659 | - <rename>xlDir</rename> | |
| 660 | - <length>-2</length> | |
| 661 | - <precision>-2</precision> | |
| 662 | - </field> <field> <name>启用日期</name> | |
| 663 | - <rename>qyrq</rename> | |
| 664 | - <length>-2</length> | |
| 665 | - <precision>-2</precision> | |
| 666 | - </field> <field> <name>路牌数</name> | |
| 667 | - <rename>lpCount</rename> | |
| 668 | - <length>-2</length> | |
| 669 | - <precision>-2</precision> | |
| 670 | - </field> <field> <name>圈数</name> | |
| 671 | - <rename>loopCount</rename> | |
| 672 | - <length>-2</length> | |
| 673 | - <precision>-2</precision> | |
| 674 | - </field> <field> <name>常规有效日</name> | |
| 675 | - <rename>rule_days</rename> | |
| 676 | - <length>-2</length> | |
| 677 | - <precision>-2</precision> | |
| 678 | - </field> <field> <name>特殊有效日</name> | |
| 679 | - <rename>special_days</rename> | |
| 680 | - <length>-2</length> | |
| 681 | - <precision>-2</precision> | |
| 682 | - </field> <select_unspecified>N</select_unspecified> | |
| 683 | - </fields> <cluster_schema/> | |
| 684 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 685 | - <xloc>323</xloc> | |
| 686 | - <yloc>75</yloc> | |
| 687 | - <draw>Y</draw> | |
| 688 | - </GUI> | |
| 689 | - </step> | |
| 690 | - | |
| 691 | - <step> | |
| 692 | - <name>线路上下行值映射</name> | |
| 693 | - <type>ValueMapper</type> | |
| 694 | - <description/> | |
| 695 | - <distribute>Y</distribute> | |
| 696 | - <custom_distribution/> | |
| 697 | - <copies>1</copies> | |
| 698 | - <partitioning> | |
| 699 | - <method>none</method> | |
| 700 | - <schema_name/> | |
| 701 | - </partitioning> | |
| 702 | - <field_to_use>xlDir</field_to_use> | |
| 703 | - <target_field/> | |
| 704 | - <non_match_default/> | |
| 705 | - <fields> | |
| 706 | - <field> | |
| 707 | - <source_value>上行</source_value> | |
| 708 | - <target_value>0</target_value> | |
| 709 | - </field> | |
| 710 | - <field> | |
| 711 | - <source_value>下行</source_value> | |
| 712 | - <target_value>1</target_value> | |
| 713 | - </field> | |
| 714 | - <field> | |
| 715 | - <source_value>上下行</source_value> | |
| 716 | - <target_value>2</target_value> | |
| 717 | - </field> | |
| 718 | - </fields> | |
| 719 | - <cluster_schema/> | |
| 720 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 721 | - <xloc>460</xloc> | |
| 722 | - <yloc>74</yloc> | |
| 723 | - <draw>Y</draw> | |
| 724 | - </GUI> | |
| 725 | - </step> | |
| 726 | - | |
| 727 | - <step> | |
| 728 | - <name>获取变量</name> | |
| 729 | - <type>GetVariable</type> | |
| 730 | - <description/> | |
| 731 | - <distribute>Y</distribute> | |
| 732 | - <custom_distribution/> | |
| 733 | - <copies>1</copies> | |
| 734 | - <partitioning> | |
| 735 | - <method>none</method> | |
| 736 | - <schema_name/> | |
| 737 | - </partitioning> | |
| 738 | - <fields> | |
| 739 | - <field> | |
| 740 | - <name>filepath_</name> | |
| 741 | - <variable>${filepath}</variable> | |
| 742 | - <type>String</type> | |
| 743 | - <format/> | |
| 744 | - <currency/> | |
| 745 | - <decimal/> | |
| 746 | - <group/> | |
| 747 | - <length>-1</length> | |
| 748 | - <precision>-1</precision> | |
| 749 | - <trim_type>none</trim_type> | |
| 750 | - </field> | |
| 751 | - <field> | |
| 752 | - <name>erroroutputdir_</name> | |
| 753 | - <variable>${erroroutputdir}</variable> | |
| 754 | - <type>String</type> | |
| 755 | - <format/> | |
| 756 | - <currency/> | |
| 757 | - <decimal/> | |
| 758 | - <group/> | |
| 759 | - <length>-1</length> | |
| 760 | - <precision>-1</precision> | |
| 761 | - <trim_type>none</trim_type> | |
| 762 | - </field> | |
| 763 | - </fields> | |
| 764 | - <cluster_schema/> | |
| 765 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 766 | - <xloc>162</xloc> | |
| 767 | - <yloc>191</yloc> | |
| 768 | - <draw>Y</draw> | |
| 769 | - </GUI> | |
| 770 | - </step> | |
| 771 | - | |
| 772 | - <step_error_handling> | |
| 773 | - <error> | |
| 774 | - <source_step>插入/更新bsth_c_s_ttinfo</source_step> | |
| 775 | - <target_step>错误输出</target_step> | |
| 776 | - <is_enabled>Y</is_enabled> | |
| 777 | - <nr_valuename>error_count</nr_valuename> | |
| 778 | - <descriptions_valuename>error_desc</descriptions_valuename> | |
| 779 | - <fields_valuename>error_column1</fields_valuename> | |
| 780 | - <codes_valuename>error_column2</codes_valuename> | |
| 781 | - <max_errors/> | |
| 782 | - <max_pct_errors/> | |
| 783 | - <min_pct_rows/> | |
| 784 | - </error> | |
| 785 | - </step_error_handling> | |
| 786 | - <slave-step-copy-partition-distribution> | |
| 787 | -</slave-step-copy-partition-distribution> | |
| 788 | - <slave_transformation>N</slave_transformation> | |
| 789 | - | |
| 790 | -</transformation> | |
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<transformation> | |
| 3 | + <info> | |
| 4 | + <name>ttinfoDataInput</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/30 09:35:41.558</created_date> | |
| 81 | + <modified_user>-</modified_user> | |
| 82 | + <modified_date>2016/06/30 09:35:41.558</modified_date> | |
| 83 | + <key_for_session_key/> | |
| 84 | + <is_key_private>N</is_key_private> | |
| 85 | + </info> | |
| 86 | + <notepads> | |
| 87 | + <notepad> | |
| 88 | + <note>有些字段没有输入,不太明白,以后再补
模版类型 分时刻表/间隔式两种,暂时空着
是否启用调度模版 暂时空着
还有就是 分别在,圈后圈 暂时没有</note> | |
| 89 | + <xloc>429</xloc> | |
| 90 | + <yloc>144</yloc> | |
| 91 | + <width>240</width> | |
| 92 | + <heigth>74</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>插入/更新bsth_c_s_ttinfo</from><to>错误输出</to><enabled>Y</enabled> </hop> | |
| 217 | + <hop> <from>查找线路关联</from><to>插入/更新bsth_c_s_ttinfo</to><enabled>Y</enabled> </hop> | |
| 218 | + <hop> <from>时刻表基础数据Excel输入</from><to>字段选择</to><enabled>Y</enabled> </hop> | |
| 219 | + <hop> <from>字段选择</from><to>线路上下行值映射</to><enabled>Y</enabled> </hop> | |
| 220 | + <hop> <from>线路上下行值映射</from><to>查找线路关联</to><enabled>Y</enabled> </hop> | |
| 221 | + <hop> <from>获取变量</from><to>时刻表基础数据Excel输入</to><enabled>Y</enabled> </hop> | |
| 222 | + </order> | |
| 223 | + <step> | |
| 224 | + <name>插入/更新bsth_c_s_ttinfo</name> | |
| 225 | + <type>InsertUpdate</type> | |
| 226 | + <description/> | |
| 227 | + <distribute>Y</distribute> | |
| 228 | + <custom_distribution/> | |
| 229 | + <copies>1</copies> | |
| 230 | + <partitioning> | |
| 231 | + <method>none</method> | |
| 232 | + <schema_name/> | |
| 233 | + </partitioning> | |
| 234 | + <connection>bus_control_公司_201</connection> | |
| 235 | + <commit>100</commit> | |
| 236 | + <update_bypassed>N</update_bypassed> | |
| 237 | + <lookup> | |
| 238 | + <schema/> | |
| 239 | + <table>bsth_c_s_ttinfo</table> | |
| 240 | + <key> | |
| 241 | + <name>xlid</name> | |
| 242 | + <field>xl</field> | |
| 243 | + <condition>=</condition> | |
| 244 | + <name2/> | |
| 245 | + </key> | |
| 246 | + <key> | |
| 247 | + <name>name</name> | |
| 248 | + <field>name</field> | |
| 249 | + <condition>=</condition> | |
| 250 | + <name2/> | |
| 251 | + </key> | |
| 252 | + <value> | |
| 253 | + <name>name</name> | |
| 254 | + <rename>name</rename> | |
| 255 | + <update>Y</update> | |
| 256 | + </value> | |
| 257 | + <value> | |
| 258 | + <name>xl_dir</name> | |
| 259 | + <rename>xlDir</rename> | |
| 260 | + <update>Y</update> | |
| 261 | + </value> | |
| 262 | + <value> | |
| 263 | + <name>qyrq</name> | |
| 264 | + <rename>qyrq</rename> | |
| 265 | + <update>Y</update> | |
| 266 | + </value> | |
| 267 | + <value> | |
| 268 | + <name>lp_count</name> | |
| 269 | + <rename>lpCount</rename> | |
| 270 | + <update>Y</update> | |
| 271 | + </value> | |
| 272 | + <value> | |
| 273 | + <name>loop_count</name> | |
| 274 | + <rename>loopCount</rename> | |
| 275 | + <update>Y</update> | |
| 276 | + </value> | |
| 277 | + <value> | |
| 278 | + <name>rule_days</name> | |
| 279 | + <rename>rule_days</rename> | |
| 280 | + <update>Y</update> | |
| 281 | + </value> | |
| 282 | + <value> | |
| 283 | + <name>special_days</name> | |
| 284 | + <rename>special_days</rename> | |
| 285 | + <update>Y</update> | |
| 286 | + </value> | |
| 287 | + <value> | |
| 288 | + <name>xl</name> | |
| 289 | + <rename>xlid</rename> | |
| 290 | + <update>Y</update> | |
| 291 | + </value> | |
| 292 | + </lookup> | |
| 293 | + <cluster_schema/> | |
| 294 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 295 | + <xloc>799</xloc> | |
| 296 | + <yloc>71</yloc> | |
| 297 | + <draw>Y</draw> | |
| 298 | + </GUI> | |
| 299 | + </step> | |
| 300 | + | |
| 301 | + <step> | |
| 302 | + <name>查找线路关联</name> | |
| 303 | + <type>DBLookup</type> | |
| 304 | + <description/> | |
| 305 | + <distribute>Y</distribute> | |
| 306 | + <custom_distribution/> | |
| 307 | + <copies>1</copies> | |
| 308 | + <partitioning> | |
| 309 | + <method>none</method> | |
| 310 | + <schema_name/> | |
| 311 | + </partitioning> | |
| 312 | + <connection>bus_control_公司_201</connection> | |
| 313 | + <cache>N</cache> | |
| 314 | + <cache_load_all>N</cache_load_all> | |
| 315 | + <cache_size>0</cache_size> | |
| 316 | + <lookup> | |
| 317 | + <schema/> | |
| 318 | + <table>bsth_c_line</table> | |
| 319 | + <orderby/> | |
| 320 | + <fail_on_multiple>N</fail_on_multiple> | |
| 321 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 322 | + <key> | |
| 323 | + <name>xlName</name> | |
| 324 | + <field>name</field> | |
| 325 | + <condition>=</condition> | |
| 326 | + <name2/> | |
| 327 | + </key> | |
| 328 | + <value> | |
| 329 | + <name>id</name> | |
| 330 | + <rename>xlid</rename> | |
| 331 | + <default/> | |
| 332 | + <type>Integer</type> | |
| 333 | + </value> | |
| 334 | + </lookup> | |
| 335 | + <cluster_schema/> | |
| 336 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 337 | + <xloc>599</xloc> | |
| 338 | + <yloc>71</yloc> | |
| 339 | + <draw>Y</draw> | |
| 340 | + </GUI> | |
| 341 | + </step> | |
| 342 | + | |
| 343 | + <step> | |
| 344 | + <name>错误输出</name> | |
| 345 | + <type>ExcelOutput</type> | |
| 346 | + <description/> | |
| 347 | + <distribute>Y</distribute> | |
| 348 | + <custom_distribution/> | |
| 349 | + <copies>1</copies> | |
| 350 | + <partitioning> | |
| 351 | + <method>none</method> | |
| 352 | + <schema_name/> | |
| 353 | + </partitioning> | |
| 354 | + <header>Y</header> | |
| 355 | + <footer>N</footer> | |
| 356 | + <encoding>UTF-8</encoding> | |
| 357 | + <append>N</append> | |
| 358 | + <add_to_result_filenames>Y</add_to_result_filenames> | |
| 359 | + <file> | |
| 360 | + <name>${erroroutputdir}/时刻表基础信息_错误</name> | |
| 361 | + <extention>xls</extention> | |
| 362 | + <do_not_open_newfile_init>N</do_not_open_newfile_init> | |
| 363 | + <create_parent_folder>N</create_parent_folder> | |
| 364 | + <split>N</split> | |
| 365 | + <add_date>N</add_date> | |
| 366 | + <add_time>N</add_time> | |
| 367 | + <SpecifyFormat>N</SpecifyFormat> | |
| 368 | + <date_time_format/> | |
| 369 | + <sheetname>Sheet1</sheetname> | |
| 370 | + <autosizecolums>N</autosizecolums> | |
| 371 | + <nullisblank>N</nullisblank> | |
| 372 | + <protect_sheet>N</protect_sheet> | |
| 373 | + <password>Encrypted </password> | |
| 374 | + <splitevery>0</splitevery> | |
| 375 | + <usetempfiles>N</usetempfiles> | |
| 376 | + <tempdirectory/> | |
| 377 | + </file> | |
| 378 | + <template> | |
| 379 | + <enabled>N</enabled> | |
| 380 | + <append>N</append> | |
| 381 | + <filename>template.xls</filename> | |
| 382 | + </template> | |
| 383 | + <fields> | |
| 384 | + <field> | |
| 385 | + <name>xlName</name> | |
| 386 | + <type>String</type> | |
| 387 | + <format/> | |
| 388 | + </field> | |
| 389 | + <field> | |
| 390 | + <name>name</name> | |
| 391 | + <type>String</type> | |
| 392 | + <format/> | |
| 393 | + </field> | |
| 394 | + <field> | |
| 395 | + <name>xlDir</name> | |
| 396 | + <type>String</type> | |
| 397 | + <format/> | |
| 398 | + </field> | |
| 399 | + <field> | |
| 400 | + <name>qyrq</name> | |
| 401 | + <type>Date</type> | |
| 402 | + <format/> | |
| 403 | + </field> | |
| 404 | + <field> | |
| 405 | + <name>lpCount</name> | |
| 406 | + <type>Integer</type> | |
| 407 | + <format/> | |
| 408 | + </field> | |
| 409 | + <field> | |
| 410 | + <name>loopCount</name> | |
| 411 | + <type>Integer</type> | |
| 412 | + <format/> | |
| 413 | + </field> | |
| 414 | + <field> | |
| 415 | + <name>rule_days</name> | |
| 416 | + <type>String</type> | |
| 417 | + <format/> | |
| 418 | + </field> | |
| 419 | + <field> | |
| 420 | + <name>special_days</name> | |
| 421 | + <type>String</type> | |
| 422 | + <format/> | |
| 423 | + </field> | |
| 424 | + <field> | |
| 425 | + <name>xlid</name> | |
| 426 | + <type>Integer</type> | |
| 427 | + <format/> | |
| 428 | + </field> | |
| 429 | + <field> | |
| 430 | + <name>error_count</name> | |
| 431 | + <type>Integer</type> | |
| 432 | + <format/> | |
| 433 | + </field> | |
| 434 | + <field> | |
| 435 | + <name>error_desc</name> | |
| 436 | + <type>String</type> | |
| 437 | + <format/> | |
| 438 | + </field> | |
| 439 | + <field> | |
| 440 | + <name>error_column1</name> | |
| 441 | + <type>String</type> | |
| 442 | + <format/> | |
| 443 | + </field> | |
| 444 | + <field> | |
| 445 | + <name>error_column2</name> | |
| 446 | + <type>String</type> | |
| 447 | + <format/> | |
| 448 | + </field> | |
| 449 | + </fields> | |
| 450 | + <custom> | |
| 451 | + <header_font_name>arial</header_font_name> | |
| 452 | + <header_font_size>10</header_font_size> | |
| 453 | + <header_font_bold>N</header_font_bold> | |
| 454 | + <header_font_italic>N</header_font_italic> | |
| 455 | + <header_font_underline>no</header_font_underline> | |
| 456 | + <header_font_orientation>horizontal</header_font_orientation> | |
| 457 | + <header_font_color>black</header_font_color> | |
| 458 | + <header_background_color>none</header_background_color> | |
| 459 | + <header_row_height>255</header_row_height> | |
| 460 | + <header_alignment>left</header_alignment> | |
| 461 | + <header_image/> | |
| 462 | + <row_font_name>arial</row_font_name> | |
| 463 | + <row_font_size>10</row_font_size> | |
| 464 | + <row_font_color>black</row_font_color> | |
| 465 | + <row_background_color>none</row_background_color> | |
| 466 | + </custom> | |
| 467 | + <cluster_schema/> | |
| 468 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 469 | + <xloc>799</xloc> | |
| 470 | + <yloc>184</yloc> | |
| 471 | + <draw>Y</draw> | |
| 472 | + </GUI> | |
| 473 | + </step> | |
| 474 | + | |
| 475 | + <step> | |
| 476 | + <name>时刻表基础数据Excel输入</name> | |
| 477 | + <type>ExcelInput</type> | |
| 478 | + <description/> | |
| 479 | + <distribute>Y</distribute> | |
| 480 | + <custom_distribution/> | |
| 481 | + <copies>1</copies> | |
| 482 | + <partitioning> | |
| 483 | + <method>none</method> | |
| 484 | + <schema_name/> | |
| 485 | + </partitioning> | |
| 486 | + <header>Y</header> | |
| 487 | + <noempty>Y</noempty> | |
| 488 | + <stoponempty>N</stoponempty> | |
| 489 | + <filefield/> | |
| 490 | + <sheetfield/> | |
| 491 | + <sheetrownumfield/> | |
| 492 | + <rownumfield/> | |
| 493 | + <sheetfield/> | |
| 494 | + <filefield/> | |
| 495 | + <limit>0</limit> | |
| 496 | + <encoding/> | |
| 497 | + <add_to_result_filenames>Y</add_to_result_filenames> | |
| 498 | + <accept_filenames>Y</accept_filenames> | |
| 499 | + <accept_field>filepath_</accept_field> | |
| 500 | + <accept_stepname>获取变量</accept_stepname> | |
| 501 | + <file> | |
| 502 | + <name/> | |
| 503 | + <filemask/> | |
| 504 | + <exclude_filemask/> | |
| 505 | + <file_required>N</file_required> | |
| 506 | + <include_subfolders>N</include_subfolders> | |
| 507 | + </file> | |
| 508 | + <fields> | |
| 509 | + <field> | |
| 510 | + <name>线路名称</name> | |
| 511 | + <type>String</type> | |
| 512 | + <length>-1</length> | |
| 513 | + <precision>-1</precision> | |
| 514 | + <trim_type>none</trim_type> | |
| 515 | + <repeat>N</repeat> | |
| 516 | + <format/> | |
| 517 | + <currency/> | |
| 518 | + <decimal/> | |
| 519 | + <group/> | |
| 520 | + </field> | |
| 521 | + <field> | |
| 522 | + <name>时刻表名称</name> | |
| 523 | + <type>String</type> | |
| 524 | + <length>-1</length> | |
| 525 | + <precision>-1</precision> | |
| 526 | + <trim_type>none</trim_type> | |
| 527 | + <repeat>N</repeat> | |
| 528 | + <format/> | |
| 529 | + <currency/> | |
| 530 | + <decimal/> | |
| 531 | + <group/> | |
| 532 | + </field> | |
| 533 | + <field> | |
| 534 | + <name>线路上下行</name> | |
| 535 | + <type>String</type> | |
| 536 | + <length>-1</length> | |
| 537 | + <precision>-1</precision> | |
| 538 | + <trim_type>none</trim_type> | |
| 539 | + <repeat>N</repeat> | |
| 540 | + <format/> | |
| 541 | + <currency/> | |
| 542 | + <decimal/> | |
| 543 | + <group/> | |
| 544 | + </field> | |
| 545 | + <field> | |
| 546 | + <name>启用日期</name> | |
| 547 | + <type>String</type> | |
| 548 | + <length>-1</length> | |
| 549 | + <precision>-1</precision> | |
| 550 | + <trim_type>none</trim_type> | |
| 551 | + <repeat>N</repeat> | |
| 552 | + <format/> | |
| 553 | + <currency/> | |
| 554 | + <decimal/> | |
| 555 | + <group/> | |
| 556 | + </field> | |
| 557 | + <field> | |
| 558 | + <name>路牌数</name> | |
| 559 | + <type>String</type> | |
| 560 | + <length>-1</length> | |
| 561 | + <precision>-1</precision> | |
| 562 | + <trim_type>none</trim_type> | |
| 563 | + <repeat>N</repeat> | |
| 564 | + <format>#</format> | |
| 565 | + <currency/> | |
| 566 | + <decimal/> | |
| 567 | + <group/> | |
| 568 | + </field> | |
| 569 | + <field> | |
| 570 | + <name>圈数</name> | |
| 571 | + <type>String</type> | |
| 572 | + <length>-1</length> | |
| 573 | + <precision>-1</precision> | |
| 574 | + <trim_type>none</trim_type> | |
| 575 | + <repeat>N</repeat> | |
| 576 | + <format>#</format> | |
| 577 | + <currency/> | |
| 578 | + <decimal/> | |
| 579 | + <group/> | |
| 580 | + </field> | |
| 581 | + <field> | |
| 582 | + <name>常规有效日</name> | |
| 583 | + <type>String</type> | |
| 584 | + <length>-1</length> | |
| 585 | + <precision>-1</precision> | |
| 586 | + <trim_type>none</trim_type> | |
| 587 | + <repeat>N</repeat> | |
| 588 | + <format/> | |
| 589 | + <currency/> | |
| 590 | + <decimal/> | |
| 591 | + <group/> | |
| 592 | + </field> | |
| 593 | + <field> | |
| 594 | + <name>特殊有效日</name> | |
| 595 | + <type>String</type> | |
| 596 | + <length>-1</length> | |
| 597 | + <precision>-1</precision> | |
| 598 | + <trim_type>none</trim_type> | |
| 599 | + <repeat>N</repeat> | |
| 600 | + <format/> | |
| 601 | + <currency/> | |
| 602 | + <decimal/> | |
| 603 | + <group/> | |
| 604 | + </field> | |
| 605 | + </fields> | |
| 606 | + <sheets> | |
| 607 | + <sheet> | |
| 608 | + <name>工作表1</name> | |
| 609 | + <startrow>0</startrow> | |
| 610 | + <startcol>0</startcol> | |
| 611 | + </sheet> | |
| 612 | + </sheets> | |
| 613 | + <strict_types>N</strict_types> | |
| 614 | + <error_ignored>N</error_ignored> | |
| 615 | + <error_line_skipped>N</error_line_skipped> | |
| 616 | + <bad_line_files_destination_directory/> | |
| 617 | + <bad_line_files_extension>warning</bad_line_files_extension> | |
| 618 | + <error_line_files_destination_directory/> | |
| 619 | + <error_line_files_extension>error</error_line_files_extension> | |
| 620 | + <line_number_files_destination_directory/> | |
| 621 | + <line_number_files_extension>line</line_number_files_extension> | |
| 622 | + <shortFileFieldName/> | |
| 623 | + <pathFieldName/> | |
| 624 | + <hiddenFieldName/> | |
| 625 | + <lastModificationTimeFieldName/> | |
| 626 | + <uriNameFieldName/> | |
| 627 | + <rootUriNameFieldName/> | |
| 628 | + <extensionFieldName/> | |
| 629 | + <sizeFieldName/> | |
| 630 | + <spreadsheet_type>JXL</spreadsheet_type> | |
| 631 | + <cluster_schema/> | |
| 632 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 633 | + <xloc>158</xloc> | |
| 634 | + <yloc>77</yloc> | |
| 635 | + <draw>Y</draw> | |
| 636 | + </GUI> | |
| 637 | + </step> | |
| 638 | + | |
| 639 | + <step> | |
| 640 | + <name>字段选择</name> | |
| 641 | + <type>SelectValues</type> | |
| 642 | + <description/> | |
| 643 | + <distribute>Y</distribute> | |
| 644 | + <custom_distribution/> | |
| 645 | + <copies>1</copies> | |
| 646 | + <partitioning> | |
| 647 | + <method>none</method> | |
| 648 | + <schema_name/> | |
| 649 | + </partitioning> | |
| 650 | + <fields> <field> <name>线路名称</name> | |
| 651 | + <rename>xlName</rename> | |
| 652 | + <length>-2</length> | |
| 653 | + <precision>-2</precision> | |
| 654 | + </field> <field> <name>时刻表名称</name> | |
| 655 | + <rename>name</rename> | |
| 656 | + <length>-2</length> | |
| 657 | + <precision>-2</precision> | |
| 658 | + </field> <field> <name>线路上下行</name> | |
| 659 | + <rename>xlDir</rename> | |
| 660 | + <length>-2</length> | |
| 661 | + <precision>-2</precision> | |
| 662 | + </field> <field> <name>启用日期</name> | |
| 663 | + <rename>qyrq</rename> | |
| 664 | + <length>-2</length> | |
| 665 | + <precision>-2</precision> | |
| 666 | + </field> <field> <name>路牌数</name> | |
| 667 | + <rename>lpCount</rename> | |
| 668 | + <length>-2</length> | |
| 669 | + <precision>-2</precision> | |
| 670 | + </field> <field> <name>圈数</name> | |
| 671 | + <rename>loopCount</rename> | |
| 672 | + <length>-2</length> | |
| 673 | + <precision>-2</precision> | |
| 674 | + </field> <field> <name>常规有效日</name> | |
| 675 | + <rename>rule_days</rename> | |
| 676 | + <length>-2</length> | |
| 677 | + <precision>-2</precision> | |
| 678 | + </field> <field> <name>特殊有效日</name> | |
| 679 | + <rename>special_days</rename> | |
| 680 | + <length>-2</length> | |
| 681 | + <precision>-2</precision> | |
| 682 | + </field> <select_unspecified>N</select_unspecified> | |
| 683 | + </fields> <cluster_schema/> | |
| 684 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 685 | + <xloc>323</xloc> | |
| 686 | + <yloc>75</yloc> | |
| 687 | + <draw>Y</draw> | |
| 688 | + </GUI> | |
| 689 | + </step> | |
| 690 | + | |
| 691 | + <step> | |
| 692 | + <name>线路上下行值映射</name> | |
| 693 | + <type>ValueMapper</type> | |
| 694 | + <description/> | |
| 695 | + <distribute>Y</distribute> | |
| 696 | + <custom_distribution/> | |
| 697 | + <copies>1</copies> | |
| 698 | + <partitioning> | |
| 699 | + <method>none</method> | |
| 700 | + <schema_name/> | |
| 701 | + </partitioning> | |
| 702 | + <field_to_use>xlDir</field_to_use> | |
| 703 | + <target_field/> | |
| 704 | + <non_match_default/> | |
| 705 | + <fields> | |
| 706 | + <field> | |
| 707 | + <source_value>上行</source_value> | |
| 708 | + <target_value>0</target_value> | |
| 709 | + </field> | |
| 710 | + <field> | |
| 711 | + <source_value>下行</source_value> | |
| 712 | + <target_value>1</target_value> | |
| 713 | + </field> | |
| 714 | + <field> | |
| 715 | + <source_value>上下行</source_value> | |
| 716 | + <target_value>2</target_value> | |
| 717 | + </field> | |
| 718 | + </fields> | |
| 719 | + <cluster_schema/> | |
| 720 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 721 | + <xloc>460</xloc> | |
| 722 | + <yloc>74</yloc> | |
| 723 | + <draw>Y</draw> | |
| 724 | + </GUI> | |
| 725 | + </step> | |
| 726 | + | |
| 727 | + <step> | |
| 728 | + <name>获取变量</name> | |
| 729 | + <type>GetVariable</type> | |
| 730 | + <description/> | |
| 731 | + <distribute>Y</distribute> | |
| 732 | + <custom_distribution/> | |
| 733 | + <copies>1</copies> | |
| 734 | + <partitioning> | |
| 735 | + <method>none</method> | |
| 736 | + <schema_name/> | |
| 737 | + </partitioning> | |
| 738 | + <fields> | |
| 739 | + <field> | |
| 740 | + <name>filepath_</name> | |
| 741 | + <variable>${filepath}</variable> | |
| 742 | + <type>String</type> | |
| 743 | + <format/> | |
| 744 | + <currency/> | |
| 745 | + <decimal/> | |
| 746 | + <group/> | |
| 747 | + <length>-1</length> | |
| 748 | + <precision>-1</precision> | |
| 749 | + <trim_type>none</trim_type> | |
| 750 | + </field> | |
| 751 | + <field> | |
| 752 | + <name>erroroutputdir_</name> | |
| 753 | + <variable>${erroroutputdir}</variable> | |
| 754 | + <type>String</type> | |
| 755 | + <format/> | |
| 756 | + <currency/> | |
| 757 | + <decimal/> | |
| 758 | + <group/> | |
| 759 | + <length>-1</length> | |
| 760 | + <precision>-1</precision> | |
| 761 | + <trim_type>none</trim_type> | |
| 762 | + </field> | |
| 763 | + </fields> | |
| 764 | + <cluster_schema/> | |
| 765 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 766 | + <xloc>162</xloc> | |
| 767 | + <yloc>191</yloc> | |
| 768 | + <draw>Y</draw> | |
| 769 | + </GUI> | |
| 770 | + </step> | |
| 771 | + | |
| 772 | + <step_error_handling> | |
| 773 | + <error> | |
| 774 | + <source_step>插入/更新bsth_c_s_ttinfo</source_step> | |
| 775 | + <target_step>错误输出</target_step> | |
| 776 | + <is_enabled>Y</is_enabled> | |
| 777 | + <nr_valuename>error_count</nr_valuename> | |
| 778 | + <descriptions_valuename>error_desc</descriptions_valuename> | |
| 779 | + <fields_valuename>error_column1</fields_valuename> | |
| 780 | + <codes_valuename>error_column2</codes_valuename> | |
| 781 | + <max_errors/> | |
| 782 | + <max_pct_errors/> | |
| 783 | + <min_pct_rows/> | |
| 784 | + </error> | |
| 785 | + </step_error_handling> | |
| 786 | + <slave-step-copy-partition-distribution> | |
| 787 | +</slave-step-copy-partition-distribution> | |
| 788 | + <slave_transformation>N</slave_transformation> | |
| 789 | + | |
| 790 | +</transformation> | ... | ... |
src/main/resources/datatools/ktrs/ttinfodetailDataInput.ktr
| 1 | -<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | -<transformation> | |
| 3 | - <info> | |
| 4 | - <name>ttinfodetailDataInput</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 | - <parameter> | |
| 23 | - <name>tccname</name> | |
| 24 | - <default_value/> | |
| 25 | - <description>停车场名字</description> | |
| 26 | - </parameter> | |
| 27 | - <parameter> | |
| 28 | - <name>ttinfoname</name> | |
| 29 | - <default_value/> | |
| 30 | - <description>时刻表名称</description> | |
| 31 | - </parameter> | |
| 32 | - <parameter> | |
| 33 | - <name>xlname</name> | |
| 34 | - <default_value/> | |
| 35 | - <description>线路名称</description> | |
| 36 | - </parameter> | |
| 37 | - </parameters> | |
| 38 | - <log> | |
| 39 | -<trans-log-table><connection/> | |
| 40 | -<schema/> | |
| 41 | -<table/> | |
| 42 | -<size_limit_lines/> | |
| 43 | -<interval/> | |
| 44 | -<timeout_days/> | |
| 45 | -<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> | |
| 46 | -<perf-log-table><connection/> | |
| 47 | -<schema/> | |
| 48 | -<table/> | |
| 49 | -<interval/> | |
| 50 | -<timeout_days/> | |
| 51 | -<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> | |
| 52 | -<channel-log-table><connection/> | |
| 53 | -<schema/> | |
| 54 | -<table/> | |
| 55 | -<timeout_days/> | |
| 56 | -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>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> | |
| 57 | -<step-log-table><connection/> | |
| 58 | -<schema/> | |
| 59 | -<table/> | |
| 60 | -<timeout_days/> | |
| 61 | -<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> | |
| 62 | -<metrics-log-table><connection/> | |
| 63 | -<schema/> | |
| 64 | -<table/> | |
| 65 | -<timeout_days/> | |
| 66 | -<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> | |
| 67 | - </log> | |
| 68 | - <maxdate> | |
| 69 | - <connection/> | |
| 70 | - <table/> | |
| 71 | - <field/> | |
| 72 | - <offset>0.0</offset> | |
| 73 | - <maxdiff>0.0</maxdiff> | |
| 74 | - </maxdate> | |
| 75 | - <size_rowset>10000</size_rowset> | |
| 76 | - <sleep_time_empty>50</sleep_time_empty> | |
| 77 | - <sleep_time_full>50</sleep_time_full> | |
| 78 | - <unique_connections>N</unique_connections> | |
| 79 | - <feedback_shown>Y</feedback_shown> | |
| 80 | - <feedback_size>50000</feedback_size> | |
| 81 | - <using_thread_priorities>Y</using_thread_priorities> | |
| 82 | - <shared_objects_file/> | |
| 83 | - <capture_step_performance>N</capture_step_performance> | |
| 84 | - <step_performance_capturing_delay>1000</step_performance_capturing_delay> | |
| 85 | - <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit> | |
| 86 | - <dependencies> | |
| 87 | - </dependencies> | |
| 88 | - <partitionschemas> | |
| 89 | - </partitionschemas> | |
| 90 | - <slaveservers> | |
| 91 | - </slaveservers> | |
| 92 | - <clusterschemas> | |
| 93 | - </clusterschemas> | |
| 94 | - <created_user>-</created_user> | |
| 95 | - <created_date>2016/06/30 12:21:57.536</created_date> | |
| 96 | - <modified_user>-</modified_user> | |
| 97 | - <modified_date>2016/06/30 12:21:57.536</modified_date> | |
| 98 | - <key_for_session_key/> | |
| 99 | - <is_key_private>N</is_key_private> | |
| 100 | - </info> | |
| 101 | - <notepads> | |
| 102 | - </notepads> | |
| 103 | - <connection> | |
| 104 | - <name>bus_control_公司_201</name> | |
| 105 | - <server>192.168.168.201</server> | |
| 106 | - <type>MYSQL</type> | |
| 107 | - <access>Native</access> | |
| 108 | - <database>control</database> | |
| 109 | - <port>3306</port> | |
| 110 | - <username>root</username> | |
| 111 | - <password>Encrypted 2be98afc86aa7f2e4cb79ff228dc6fa8c</password> | |
| 112 | - <servername/> | |
| 113 | - <data_tablespace/> | |
| 114 | - <index_tablespace/> | |
| 115 | - <attributes> | |
| 116 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 117 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 118 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 119 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 120 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 121 | - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 122 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 123 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 124 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 125 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 126 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 127 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 128 | - </attributes> | |
| 129 | - </connection> | |
| 130 | - <connection> | |
| 131 | - <name>xlab_mysql_youle</name> | |
| 132 | - <server>101.231.124.8</server> | |
| 133 | - <type>MYSQL</type> | |
| 134 | - <access>Native</access> | |
| 135 | - <database>xlab_youle</database> | |
| 136 | - <port>45687</port> | |
| 137 | - <username>xlab-youle</username> | |
| 138 | - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password> | |
| 139 | - <servername/> | |
| 140 | - <data_tablespace/> | |
| 141 | - <index_tablespace/> | |
| 142 | - <attributes> | |
| 143 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 144 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 145 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 146 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 147 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 148 | - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute> | |
| 149 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 150 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 151 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 152 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 153 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 154 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 155 | - </attributes> | |
| 156 | - </connection> | |
| 157 | - <connection> | |
| 158 | - <name>xlab_mysql_youle(本机)</name> | |
| 159 | - <server>localhost</server> | |
| 160 | - <type>MYSQL</type> | |
| 161 | - <access>Native</access> | |
| 162 | - <database>xlab_youle</database> | |
| 163 | - <port>3306</port> | |
| 164 | - <username>root</username> | |
| 165 | - <password>Encrypted </password> | |
| 166 | - <servername/> | |
| 167 | - <data_tablespace/> | |
| 168 | - <index_tablespace/> | |
| 169 | - <attributes> | |
| 170 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 171 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 172 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 173 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 174 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 175 | - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 176 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 177 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 178 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 179 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 180 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 181 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 182 | - </attributes> | |
| 183 | - </connection> | |
| 184 | - <connection> | |
| 185 | - <name>xlab_youle</name> | |
| 186 | - <server/> | |
| 187 | - <type>MYSQL</type> | |
| 188 | - <access>JNDI</access> | |
| 189 | - <database>xlab_youle</database> | |
| 190 | - <port>1521</port> | |
| 191 | - <username/> | |
| 192 | - <password>Encrypted </password> | |
| 193 | - <servername/> | |
| 194 | - <data_tablespace/> | |
| 195 | - <index_tablespace/> | |
| 196 | - <attributes> | |
| 197 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 198 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 199 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 200 | - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | |
| 201 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 202 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 203 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 204 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 205 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 206 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 207 | - </attributes> | |
| 208 | - </connection> | |
| 209 | - <order> | |
| 210 | - <hop> <from>时刻表明细信息Excel输入</from><to>班次数据范式化</to><enabled>Y</enabled> </hop> | |
| 211 | - <hop> <from>班次数据范式化</from><to>字段选择</to><enabled>Y</enabled> </hop> | |
| 212 | - <hop> <from>字段选择</from><to>添加发车顺序号</to><enabled>Y</enabled> </hop> | |
| 213 | - <hop> <from>添加发车顺序号</from><to>过滤记录(发车时间为空)</to><enabled>Y</enabled> </hop> | |
| 214 | - <hop> <from>过滤记录(发车时间为空)</from><to>添加对应班次数</to><enabled>Y</enabled> </hop> | |
| 215 | - <hop> <from>添加对应班次数</from><to>处理数据</to><enabled>Y</enabled> </hop> | |
| 216 | - <hop> <from>处理数据</from><to>分组各个路牌的站</to><enabled>Y</enabled> </hop> | |
| 217 | - <hop> <from>查找时刻表基础信息关联</from><to>查找路牌关联</to><enabled>Y</enabled> </hop> | |
| 218 | - <hop> <from>查找线路关联</from><to>查找时刻表基础信息关联</to><enabled>Y</enabled> </hop> | |
| 219 | - <hop> <from>获取变量</from><to>时刻表明细信息Excel输入</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>上下行字典 2</from><to>班次类型字典 2</to><enabled>Y</enabled> </hop> | |
| 223 | - <hop> <from>上下行字典 3</from><to>班次类型字典 3</to><enabled>Y</enabled> </hop> | |
| 224 | - <hop> <from>出场班次_处理数据</from><to>查找停车场1</to><enabled>Y</enabled> </hop> | |
| 225 | - <hop> <from>出场班次数据</from><to>出场班次_处理数据</to><enabled>Y</enabled> </hop> | |
| 226 | - <hop> <from>匹配上下行班次里程时间</from><to>类型修正</to><enabled>Y</enabled> </hop> | |
| 227 | - <hop> <from>按照班次类型过滤数据1</from><to>按照班次类型过滤数据2</to><enabled>Y</enabled> </hop> | |
| 228 | - <hop> <from>按照班次类型过滤数据1</from><to>正常班次数据</to><enabled>Y</enabled> </hop> | |
| 229 | - <hop> <from>按照班次类型过滤数据2</from><to>出场班次数据</to><enabled>Y</enabled> </hop> | |
| 230 | - <hop> <from>按照班次类型过滤数据2</from><to>进场班次数据</to><enabled>Y</enabled> </hop> | |
| 231 | - <hop> <from>查找停车场1</from><to>查找终点站关联1</to><enabled>Y</enabled> </hop> | |
| 232 | - <hop> <from>查找停车场2</from><to>查找终点站关联2</to><enabled>Y</enabled> </hop> | |
| 233 | - <hop> <from>查找线路上下行里程时间</from><to>匹配上下行班次里程时间</to><enabled>Y</enabled> </hop> | |
| 234 | - <hop> <from>查找终点站关联</from><to>上下行字典</to><enabled>Y</enabled> </hop> | |
| 235 | - <hop> <from>查找终点站关联1</from><to>上下行字典 2</to><enabled>Y</enabled> </hop> | |
| 236 | - <hop> <from>查找终点站关联2</from><to>上下行字典 3</to><enabled>Y</enabled> </hop> | |
| 237 | - <hop> <from>查找起点站关联并确定上下行</from><to>查找终点站关联</to><enabled>Y</enabled> </hop> | |
| 238 | - <hop> <from>正常班次_处理数据</from><to>查找起点站关联并确定上下行</to><enabled>Y</enabled> </hop> | |
| 239 | - <hop> <from>正常班次数据</from><to>正常班次_处理数据</to><enabled>Y</enabled> </hop> | |
| 240 | - <hop> <from>班次类型字典</from><to>查找线路上下行里程时间</to><enabled>Y</enabled> </hop> | |
| 241 | - <hop> <from>班次类型字典 2</from><to>查找线路出场里程时间</to><enabled>Y</enabled> </hop> | |
| 242 | - <hop> <from>班次类型字典 3</from><to>查找线路进场里程时间</to><enabled>Y</enabled> </hop> | |
| 243 | - <hop> <from>进场班次_处理数据</from><to>查找停车场2</to><enabled>Y</enabled> </hop> | |
| 244 | - <hop> <from>进场班次数据</from><to>进场班次_处理数据</to><enabled>Y</enabled> </hop> | |
| 245 | - <hop> <from>查找路牌关联</from><to>计算班次类型</to><enabled>Y</enabled> </hop> | |
| 246 | - <hop> <from>计算班次类型</from><to>按照班次类型过滤数据1</to><enabled>Y</enabled> </hop> | |
| 247 | - </order> | |
| 248 | - <step> | |
| 249 | - <name>时刻表明细信息Excel输入</name> | |
| 250 | - <type>ExcelInput</type> | |
| 251 | - <description/> | |
| 252 | - <distribute>Y</distribute> | |
| 253 | - <custom_distribution/> | |
| 254 | - <copies>1</copies> | |
| 255 | - <partitioning> | |
| 256 | - <method>none</method> | |
| 257 | - <schema_name/> | |
| 258 | - </partitioning> | |
| 259 | - <header>Y</header> | |
| 260 | - <noempty>Y</noempty> | |
| 261 | - <stoponempty>N</stoponempty> | |
| 262 | - <filefield/> | |
| 263 | - <sheetfield/> | |
| 264 | - <sheetrownumfield/> | |
| 265 | - <rownumfield/> | |
| 266 | - <sheetfield/> | |
| 267 | - <filefield/> | |
| 268 | - <limit>0</limit> | |
| 269 | - <encoding/> | |
| 270 | - <add_to_result_filenames>Y</add_to_result_filenames> | |
| 271 | - <accept_filenames>N</accept_filenames> | |
| 272 | - <accept_field/> | |
| 273 | - <accept_stepname/> | |
| 274 | - <file> | |
| 275 | - <name>/Users/xu/resource/project/bsth_control_etl/闵行公交/85路0328平表-测试1-时刻明细.xls</name> | |
| 276 | - <filemask/> | |
| 277 | - <exclude_filemask/> | |
| 278 | - <file_required>N</file_required> | |
| 279 | - <include_subfolders>N</include_subfolders> | |
| 280 | - </file> | |
| 281 | - <fields> | |
| 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>陆家嘴地铁站1</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 | - <field> | |
| 319 | - <name>长岛路东陆路1</name> | |
| 320 | - <type>String</type> | |
| 321 | - <length>-1</length> | |
| 322 | - <precision>-1</precision> | |
| 323 | - <trim_type>none</trim_type> | |
| 324 | - <repeat>N</repeat> | |
| 325 | - <format/> | |
| 326 | - <currency/> | |
| 327 | - <decimal/> | |
| 328 | - <group/> | |
| 329 | - </field> | |
| 330 | - <field> | |
| 331 | - <name>陆家嘴地铁站2</name> | |
| 332 | - <type>String</type> | |
| 333 | - <length>-1</length> | |
| 334 | - <precision>-1</precision> | |
| 335 | - <trim_type>none</trim_type> | |
| 336 | - <repeat>N</repeat> | |
| 337 | - <format/> | |
| 338 | - <currency/> | |
| 339 | - <decimal/> | |
| 340 | - <group/> | |
| 341 | - </field> | |
| 342 | - <field> | |
| 343 | - <name>长岛路东陆路2</name> | |
| 344 | - <type>String</type> | |
| 345 | - <length>-1</length> | |
| 346 | - <precision>-1</precision> | |
| 347 | - <trim_type>none</trim_type> | |
| 348 | - <repeat>N</repeat> | |
| 349 | - <format/> | |
| 350 | - <currency/> | |
| 351 | - <decimal/> | |
| 352 | - <group/> | |
| 353 | - </field> | |
| 354 | - <field> | |
| 355 | - <name>陆家嘴地铁站3</name> | |
| 356 | - <type>String</type> | |
| 357 | - <length>-1</length> | |
| 358 | - <precision>-1</precision> | |
| 359 | - <trim_type>none</trim_type> | |
| 360 | - <repeat>N</repeat> | |
| 361 | - <format/> | |
| 362 | - <currency/> | |
| 363 | - <decimal/> | |
| 364 | - <group/> | |
| 365 | - </field> | |
| 366 | - <field> | |
| 367 | - <name>长岛路东陆路3</name> | |
| 368 | - <type>String</type> | |
| 369 | - <length>-1</length> | |
| 370 | - <precision>-1</precision> | |
| 371 | - <trim_type>none</trim_type> | |
| 372 | - <repeat>N</repeat> | |
| 373 | - <format/> | |
| 374 | - <currency/> | |
| 375 | - <decimal/> | |
| 376 | - <group/> | |
| 377 | - </field> | |
| 378 | - <field> | |
| 379 | - <name>陆家嘴地铁站4</name> | |
| 380 | - <type>String</type> | |
| 381 | - <length>-1</length> | |
| 382 | - <precision>-1</precision> | |
| 383 | - <trim_type>none</trim_type> | |
| 384 | - <repeat>N</repeat> | |
| 385 | - <format/> | |
| 386 | - <currency/> | |
| 387 | - <decimal/> | |
| 388 | - <group/> | |
| 389 | - </field> | |
| 390 | - <field> | |
| 391 | - <name>长岛路东陆路4</name> | |
| 392 | - <type>String</type> | |
| 393 | - <length>-1</length> | |
| 394 | - <precision>-1</precision> | |
| 395 | - <trim_type>none</trim_type> | |
| 396 | - <repeat>N</repeat> | |
| 397 | - <format/> | |
| 398 | - <currency/> | |
| 399 | - <decimal/> | |
| 400 | - <group/> | |
| 401 | - </field> | |
| 402 | - <field> | |
| 403 | - <name>陆家嘴地铁站5</name> | |
| 404 | - <type>String</type> | |
| 405 | - <length>-1</length> | |
| 406 | - <precision>-1</precision> | |
| 407 | - <trim_type>none</trim_type> | |
| 408 | - <repeat>N</repeat> | |
| 409 | - <format/> | |
| 410 | - <currency/> | |
| 411 | - <decimal/> | |
| 412 | - <group/> | |
| 413 | - </field> | |
| 414 | - <field> | |
| 415 | - <name>长岛路东陆路5</name> | |
| 416 | - <type>String</type> | |
| 417 | - <length>-1</length> | |
| 418 | - <precision>-1</precision> | |
| 419 | - <trim_type>none</trim_type> | |
| 420 | - <repeat>N</repeat> | |
| 421 | - <format/> | |
| 422 | - <currency/> | |
| 423 | - <decimal/> | |
| 424 | - <group/> | |
| 425 | - </field> | |
| 426 | - <field> | |
| 427 | - <name>陆家嘴地铁站6</name> | |
| 428 | - <type>String</type> | |
| 429 | - <length>-1</length> | |
| 430 | - <precision>-1</precision> | |
| 431 | - <trim_type>none</trim_type> | |
| 432 | - <repeat>N</repeat> | |
| 433 | - <format/> | |
| 434 | - <currency/> | |
| 435 | - <decimal/> | |
| 436 | - <group/> | |
| 437 | - </field> | |
| 438 | - <field> | |
| 439 | - <name>长岛路东陆路6</name> | |
| 440 | - <type>String</type> | |
| 441 | - <length>-1</length> | |
| 442 | - <precision>-1</precision> | |
| 443 | - <trim_type>none</trim_type> | |
| 444 | - <repeat>N</repeat> | |
| 445 | - <format/> | |
| 446 | - <currency/> | |
| 447 | - <decimal/> | |
| 448 | - <group/> | |
| 449 | - </field> | |
| 450 | - <field> | |
| 451 | - <name>进场1</name> | |
| 452 | - <type>String</type> | |
| 453 | - <length>-1</length> | |
| 454 | - <precision>-1</precision> | |
| 455 | - <trim_type>none</trim_type> | |
| 456 | - <repeat>N</repeat> | |
| 457 | - <format/> | |
| 458 | - <currency/> | |
| 459 | - <decimal/> | |
| 460 | - <group/> | |
| 461 | - </field> | |
| 462 | - <field> | |
| 463 | - <name>出场1</name> | |
| 464 | - <type>String</type> | |
| 465 | - <length>-1</length> | |
| 466 | - <precision>-1</precision> | |
| 467 | - <trim_type>none</trim_type> | |
| 468 | - <repeat>N</repeat> | |
| 469 | - <format/> | |
| 470 | - <currency/> | |
| 471 | - <decimal/> | |
| 472 | - <group/> | |
| 473 | - </field> | |
| 474 | - <field> | |
| 475 | - <name>陆家嘴地铁站7</name> | |
| 476 | - <type>String</type> | |
| 477 | - <length>-1</length> | |
| 478 | - <precision>-1</precision> | |
| 479 | - <trim_type>none</trim_type> | |
| 480 | - <repeat>N</repeat> | |
| 481 | - <format/> | |
| 482 | - <currency/> | |
| 483 | - <decimal/> | |
| 484 | - <group/> | |
| 485 | - </field> | |
| 486 | - <field> | |
| 487 | - <name>长岛路东陆路7</name> | |
| 488 | - <type>String</type> | |
| 489 | - <length>-1</length> | |
| 490 | - <precision>-1</precision> | |
| 491 | - <trim_type>none</trim_type> | |
| 492 | - <repeat>N</repeat> | |
| 493 | - <format/> | |
| 494 | - <currency/> | |
| 495 | - <decimal/> | |
| 496 | - <group/> | |
| 497 | - </field> | |
| 498 | - <field> | |
| 499 | - <name>陆家嘴地铁站8</name> | |
| 500 | - <type>String</type> | |
| 501 | - <length>-1</length> | |
| 502 | - <precision>-1</precision> | |
| 503 | - <trim_type>none</trim_type> | |
| 504 | - <repeat>N</repeat> | |
| 505 | - <format/> | |
| 506 | - <currency/> | |
| 507 | - <decimal/> | |
| 508 | - <group/> | |
| 509 | - </field> | |
| 510 | - <field> | |
| 511 | - <name>长岛路东陆路8</name> | |
| 512 | - <type>String</type> | |
| 513 | - <length>-1</length> | |
| 514 | - <precision>-1</precision> | |
| 515 | - <trim_type>none</trim_type> | |
| 516 | - <repeat>N</repeat> | |
| 517 | - <format/> | |
| 518 | - <currency/> | |
| 519 | - <decimal/> | |
| 520 | - <group/> | |
| 521 | - </field> | |
| 522 | - <field> | |
| 523 | - <name>陆家嘴地铁站9</name> | |
| 524 | - <type>String</type> | |
| 525 | - <length>-1</length> | |
| 526 | - <precision>-1</precision> | |
| 527 | - <trim_type>none</trim_type> | |
| 528 | - <repeat>N</repeat> | |
| 529 | - <format/> | |
| 530 | - <currency/> | |
| 531 | - <decimal/> | |
| 532 | - <group/> | |
| 533 | - </field> | |
| 534 | - <field> | |
| 535 | - <name>长岛路东陆路9</name> | |
| 536 | - <type>String</type> | |
| 537 | - <length>-1</length> | |
| 538 | - <precision>-1</precision> | |
| 539 | - <trim_type>none</trim_type> | |
| 540 | - <repeat>N</repeat> | |
| 541 | - <format/> | |
| 542 | - <currency/> | |
| 543 | - <decimal/> | |
| 544 | - <group/> | |
| 545 | - </field> | |
| 546 | - <field> | |
| 547 | - <name>陆家嘴地铁站10</name> | |
| 548 | - <type>String</type> | |
| 549 | - <length>-1</length> | |
| 550 | - <precision>-1</precision> | |
| 551 | - <trim_type>none</trim_type> | |
| 552 | - <repeat>N</repeat> | |
| 553 | - <format/> | |
| 554 | - <currency/> | |
| 555 | - <decimal/> | |
| 556 | - <group/> | |
| 557 | - </field> | |
| 558 | - <field> | |
| 559 | - <name>长岛路东陆路10</name> | |
| 560 | - <type>String</type> | |
| 561 | - <length>-1</length> | |
| 562 | - <precision>-1</precision> | |
| 563 | - <trim_type>none</trim_type> | |
| 564 | - <repeat>N</repeat> | |
| 565 | - <format/> | |
| 566 | - <currency/> | |
| 567 | - <decimal/> | |
| 568 | - <group/> | |
| 569 | - </field> | |
| 570 | - <field> | |
| 571 | - <name>陆家嘴地铁站11</name> | |
| 572 | - <type>String</type> | |
| 573 | - <length>-1</length> | |
| 574 | - <precision>-1</precision> | |
| 575 | - <trim_type>none</trim_type> | |
| 576 | - <repeat>N</repeat> | |
| 577 | - <format/> | |
| 578 | - <currency/> | |
| 579 | - <decimal/> | |
| 580 | - <group/> | |
| 581 | - </field> | |
| 582 | - <field> | |
| 583 | - <name>长岛路东陆路11</name> | |
| 584 | - <type>String</type> | |
| 585 | - <length>-1</length> | |
| 586 | - <precision>-1</precision> | |
| 587 | - <trim_type>none</trim_type> | |
| 588 | - <repeat>N</repeat> | |
| 589 | - <format/> | |
| 590 | - <currency/> | |
| 591 | - <decimal/> | |
| 592 | - <group/> | |
| 593 | - </field> | |
| 594 | - <field> | |
| 595 | - <name>陆家嘴地铁站12</name> | |
| 596 | - <type>String</type> | |
| 597 | - <length>-1</length> | |
| 598 | - <precision>-1</precision> | |
| 599 | - <trim_type>none</trim_type> | |
| 600 | - <repeat>N</repeat> | |
| 601 | - <format/> | |
| 602 | - <currency/> | |
| 603 | - <decimal/> | |
| 604 | - <group/> | |
| 605 | - </field> | |
| 606 | - <field> | |
| 607 | - <name>长岛路东陆路12</name> | |
| 608 | - <type>String</type> | |
| 609 | - <length>-1</length> | |
| 610 | - <precision>-1</precision> | |
| 611 | - <trim_type>none</trim_type> | |
| 612 | - <repeat>N</repeat> | |
| 613 | - <format/> | |
| 614 | - <currency/> | |
| 615 | - <decimal/> | |
| 616 | - <group/> | |
| 617 | - </field> | |
| 618 | - <field> | |
| 619 | - <name>陆家嘴地铁站13</name> | |
| 620 | - <type>String</type> | |
| 621 | - <length>-1</length> | |
| 622 | - <precision>-1</precision> | |
| 623 | - <trim_type>none</trim_type> | |
| 624 | - <repeat>N</repeat> | |
| 625 | - <format/> | |
| 626 | - <currency/> | |
| 627 | - <decimal/> | |
| 628 | - <group/> | |
| 629 | - </field> | |
| 630 | - <field> | |
| 631 | - <name>长岛路东陆路13</name> | |
| 632 | - <type>String</type> | |
| 633 | - <length>-1</length> | |
| 634 | - <precision>-1</precision> | |
| 635 | - <trim_type>none</trim_type> | |
| 636 | - <repeat>N</repeat> | |
| 637 | - <format/> | |
| 638 | - <currency/> | |
| 639 | - <decimal/> | |
| 640 | - <group/> | |
| 641 | - </field> | |
| 642 | - <field> | |
| 643 | - <name>进场</name> | |
| 644 | - <type>String</type> | |
| 645 | - <length>-1</length> | |
| 646 | - <precision>-1</precision> | |
| 647 | - <trim_type>none</trim_type> | |
| 648 | - <repeat>N</repeat> | |
| 649 | - <format/> | |
| 650 | - <currency/> | |
| 651 | - <decimal/> | |
| 652 | - <group/> | |
| 653 | - </field> | |
| 654 | - </fields> | |
| 655 | - <sheets> | |
| 656 | - <sheet> | |
| 657 | - <name>工作表1</name> | |
| 658 | - <startrow>0</startrow> | |
| 659 | - <startcol>0</startcol> | |
| 660 | - </sheet> | |
| 661 | - </sheets> | |
| 662 | - <strict_types>N</strict_types> | |
| 663 | - <error_ignored>N</error_ignored> | |
| 664 | - <error_line_skipped>N</error_line_skipped> | |
| 665 | - <bad_line_files_destination_directory/> | |
| 666 | - <bad_line_files_extension>warning</bad_line_files_extension> | |
| 667 | - <error_line_files_destination_directory/> | |
| 668 | - <error_line_files_extension>error</error_line_files_extension> | |
| 669 | - <line_number_files_destination_directory/> | |
| 670 | - <line_number_files_extension>line</line_number_files_extension> | |
| 671 | - <shortFileFieldName/> | |
| 672 | - <pathFieldName/> | |
| 673 | - <hiddenFieldName/> | |
| 674 | - <lastModificationTimeFieldName/> | |
| 675 | - <uriNameFieldName/> | |
| 676 | - <rootUriNameFieldName/> | |
| 677 | - <extensionFieldName/> | |
| 678 | - <sizeFieldName/> | |
| 679 | - <spreadsheet_type>JXL</spreadsheet_type> | |
| 680 | - <cluster_schema/> | |
| 681 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 682 | - <xloc>112</xloc> | |
| 683 | - <yloc>44</yloc> | |
| 684 | - <draw>Y</draw> | |
| 685 | - </GUI> | |
| 686 | - </step> | |
| 687 | - | |
| 688 | - <step> | |
| 689 | - <name>班次数据范式化</name> | |
| 690 | - <type>Normaliser</type> | |
| 691 | - <description/> | |
| 692 | - <distribute>Y</distribute> | |
| 693 | - <custom_distribution/> | |
| 694 | - <copies>1</copies> | |
| 695 | - <partitioning> | |
| 696 | - <method>none</method> | |
| 697 | - <schema_name/> | |
| 698 | - </partitioning> | |
| 699 | - <typefield>站点名称</typefield> | |
| 700 | - <fields> <field> <name>出场</name> | |
| 701 | - <value>出场</value> | |
| 702 | - <norm>发车时间</norm> | |
| 703 | - </field> <field> <name>陆家嘴地铁站1</name> | |
| 704 | - <value>陆家嘴地铁站1</value> | |
| 705 | - <norm>发车时间</norm> | |
| 706 | - </field> <field> <name>长岛路东陆路1</name> | |
| 707 | - <value>长岛路东陆路1</value> | |
| 708 | - <norm>发车时间</norm> | |
| 709 | - </field> <field> <name>陆家嘴地铁站2</name> | |
| 710 | - <value>陆家嘴地铁站2</value> | |
| 711 | - <norm>发车时间</norm> | |
| 712 | - </field> <field> <name>长岛路东陆路2</name> | |
| 713 | - <value>长岛路东陆路2</value> | |
| 714 | - <norm>发车时间</norm> | |
| 715 | - </field> <field> <name>陆家嘴地铁站3</name> | |
| 716 | - <value>陆家嘴地铁站3</value> | |
| 717 | - <norm>发车时间</norm> | |
| 718 | - </field> <field> <name>长岛路东陆路3</name> | |
| 719 | - <value>长岛路东陆路3</value> | |
| 720 | - <norm>发车时间</norm> | |
| 721 | - </field> <field> <name>陆家嘴地铁站4</name> | |
| 722 | - <value>陆家嘴地铁站4</value> | |
| 723 | - <norm>发车时间</norm> | |
| 724 | - </field> <field> <name>长岛路东陆路4</name> | |
| 725 | - <value>长岛路东陆路4</value> | |
| 726 | - <norm>发车时间</norm> | |
| 727 | - </field> <field> <name>陆家嘴地铁站5</name> | |
| 728 | - <value>陆家嘴地铁站5</value> | |
| 729 | - <norm>发车时间</norm> | |
| 730 | - </field> <field> <name>长岛路东陆路5</name> | |
| 731 | - <value>长岛路东陆路5</value> | |
| 732 | - <norm>发车时间</norm> | |
| 733 | - </field> <field> <name>陆家嘴地铁站6</name> | |
| 734 | - <value>陆家嘴地铁站6</value> | |
| 735 | - <norm>发车时间</norm> | |
| 736 | - </field> <field> <name>长岛路东陆路6</name> | |
| 737 | - <value>长岛路东陆路6</value> | |
| 738 | - <norm>发车时间</norm> | |
| 739 | - </field> <field> <name>进场1</name> | |
| 740 | - <value>进场1</value> | |
| 741 | - <norm>发车时间</norm> | |
| 742 | - </field> <field> <name>出场1</name> | |
| 743 | - <value>出场1</value> | |
| 744 | - <norm>发车时间</norm> | |
| 745 | - </field> <field> <name>陆家嘴地铁站7</name> | |
| 746 | - <value>陆家嘴地铁站7</value> | |
| 747 | - <norm>发车时间</norm> | |
| 748 | - </field> <field> <name>长岛路东陆路7</name> | |
| 749 | - <value>长岛路东陆路7</value> | |
| 750 | - <norm>发车时间</norm> | |
| 751 | - </field> <field> <name>陆家嘴地铁站8</name> | |
| 752 | - <value>陆家嘴地铁站8</value> | |
| 753 | - <norm>发车时间</norm> | |
| 754 | - </field> <field> <name>长岛路东陆路8</name> | |
| 755 | - <value>长岛路东陆路8</value> | |
| 756 | - <norm>发车时间</norm> | |
| 757 | - </field> <field> <name>陆家嘴地铁站9</name> | |
| 758 | - <value>陆家嘴地铁站9</value> | |
| 759 | - <norm>发车时间</norm> | |
| 760 | - </field> <field> <name>长岛路东陆路9</name> | |
| 761 | - <value>长岛路东陆路9</value> | |
| 762 | - <norm>发车时间</norm> | |
| 763 | - </field> <field> <name>陆家嘴地铁站10</name> | |
| 764 | - <value>陆家嘴地铁站10</value> | |
| 765 | - <norm>发车时间</norm> | |
| 766 | - </field> <field> <name>长岛路东陆路10</name> | |
| 767 | - <value>长岛路东陆路10</value> | |
| 768 | - <norm>发车时间</norm> | |
| 769 | - </field> <field> <name>陆家嘴地铁站11</name> | |
| 770 | - <value>陆家嘴地铁站11</value> | |
| 771 | - <norm>发车时间</norm> | |
| 772 | - </field> <field> <name>长岛路东陆路11</name> | |
| 773 | - <value>长岛路东陆路11</value> | |
| 774 | - <norm>发车时间</norm> | |
| 775 | - </field> <field> <name>陆家嘴地铁站12</name> | |
| 776 | - <value>陆家嘴地铁站12</value> | |
| 777 | - <norm>发车时间</norm> | |
| 778 | - </field> <field> <name>长岛路东陆路12</name> | |
| 779 | - <value>长岛路东陆路12</value> | |
| 780 | - <norm>发车时间</norm> | |
| 781 | - </field> <field> <name>陆家嘴地铁站13</name> | |
| 782 | - <value>陆家嘴地铁站13</value> | |
| 783 | - <norm>发车时间</norm> | |
| 784 | - </field> <field> <name>长岛路东陆路13</name> | |
| 785 | - <value>长岛路东陆路13</value> | |
| 786 | - <norm>发车时间</norm> | |
| 787 | - </field> <field> <name>进场</name> | |
| 788 | - <value>进场</value> | |
| 789 | - <norm>发车时间</norm> | |
| 790 | - </field> </fields> <cluster_schema/> | |
| 791 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 792 | - <xloc>248</xloc> | |
| 793 | - <yloc>44</yloc> | |
| 794 | - <draw>Y</draw> | |
| 795 | - </GUI> | |
| 796 | - </step> | |
| 797 | - | |
| 798 | - <step> | |
| 799 | - <name>字段选择</name> | |
| 800 | - <type>SelectValues</type> | |
| 801 | - <description/> | |
| 802 | - <distribute>Y</distribute> | |
| 803 | - <custom_distribution/> | |
| 804 | - <copies>1</copies> | |
| 805 | - <partitioning> | |
| 806 | - <method>none</method> | |
| 807 | - <schema_name/> | |
| 808 | - </partitioning> | |
| 809 | - <fields> <field> <name>路牌</name> | |
| 810 | - <rename>lp</rename> | |
| 811 | - <length>-2</length> | |
| 812 | - <precision>-2</precision> | |
| 813 | - </field> <field> <name>站点名称</name> | |
| 814 | - <rename>qdzname</rename> | |
| 815 | - <length>-2</length> | |
| 816 | - <precision>-2</precision> | |
| 817 | - </field> <field> <name>发车时间</name> | |
| 818 | - <rename>sendtime</rename> | |
| 819 | - <length>-2</length> | |
| 820 | - <precision>-2</precision> | |
| 821 | - </field> <select_unspecified>Y</select_unspecified> | |
| 822 | - </fields> <cluster_schema/> | |
| 823 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 824 | - <xloc>351</xloc> | |
| 825 | - <yloc>45</yloc> | |
| 826 | - <draw>Y</draw> | |
| 827 | - </GUI> | |
| 828 | - </step> | |
| 829 | - | |
| 830 | - <step> | |
| 831 | - <name>添加发车顺序号</name> | |
| 832 | - <type>GroupBy</type> | |
| 833 | - <description/> | |
| 834 | - <distribute>Y</distribute> | |
| 835 | - <custom_distribution/> | |
| 836 | - <copies>1</copies> | |
| 837 | - <partitioning> | |
| 838 | - <method>none</method> | |
| 839 | - <schema_name/> | |
| 840 | - </partitioning> | |
| 841 | - <all_rows>Y</all_rows> | |
| 842 | - <ignore_aggregate>N</ignore_aggregate> | |
| 843 | - <field_ignore/> | |
| 844 | - <directory>%%java.io.tmpdir%%</directory> | |
| 845 | - <prefix>grp</prefix> | |
| 846 | - <add_linenr>Y</add_linenr> | |
| 847 | - <linenr_fieldname>fcno</linenr_fieldname> | |
| 848 | - <give_back_row>N</give_back_row> | |
| 849 | - <group> | |
| 850 | - <field> | |
| 851 | - <name>lp</name> | |
| 852 | - </field> | |
| 853 | - </group> | |
| 854 | - <fields> | |
| 855 | - </fields> | |
| 856 | - <cluster_schema/> | |
| 857 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 858 | - <xloc>442</xloc> | |
| 859 | - <yloc>44</yloc> | |
| 860 | - <draw>Y</draw> | |
| 861 | - </GUI> | |
| 862 | - </step> | |
| 863 | - | |
| 864 | - <step> | |
| 865 | - <name>过滤记录(发车时间为空)</name> | |
| 866 | - <type>FilterRows</type> | |
| 867 | - <description/> | |
| 868 | - <distribute>Y</distribute> | |
| 869 | - <custom_distribution/> | |
| 870 | - <copies>1</copies> | |
| 871 | - <partitioning> | |
| 872 | - <method>none</method> | |
| 873 | - <schema_name/> | |
| 874 | - </partitioning> | |
| 875 | -<send_true_to/> | |
| 876 | -<send_false_to/> | |
| 877 | - <compare> | |
| 878 | -<condition> | |
| 879 | - <negated>N</negated> | |
| 880 | - <leftvalue>sendtime</leftvalue> | |
| 881 | - <function>IS NOT NULL</function> | |
| 882 | - <rightvalue/> | |
| 883 | - </condition> | |
| 884 | - </compare> | |
| 885 | - <cluster_schema/> | |
| 886 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 887 | - <xloc>571</xloc> | |
| 888 | - <yloc>44</yloc> | |
| 889 | - <draw>Y</draw> | |
| 890 | - </GUI> | |
| 891 | - </step> | |
| 892 | - | |
| 893 | - <step> | |
| 894 | - <name>添加对应班次数</name> | |
| 895 | - <type>GroupBy</type> | |
| 896 | - <description/> | |
| 897 | - <distribute>Y</distribute> | |
| 898 | - <custom_distribution/> | |
| 899 | - <copies>1</copies> | |
| 900 | - <partitioning> | |
| 901 | - <method>none</method> | |
| 902 | - <schema_name/> | |
| 903 | - </partitioning> | |
| 904 | - <all_rows>Y</all_rows> | |
| 905 | - <ignore_aggregate>N</ignore_aggregate> | |
| 906 | - <field_ignore/> | |
| 907 | - <directory>%%java.io.tmpdir%%</directory> | |
| 908 | - <prefix>grp</prefix> | |
| 909 | - <add_linenr>Y</add_linenr> | |
| 910 | - <linenr_fieldname>bcs</linenr_fieldname> | |
| 911 | - <give_back_row>N</give_back_row> | |
| 912 | - <group> | |
| 913 | - </group> | |
| 914 | - <fields> | |
| 915 | - </fields> | |
| 916 | - <cluster_schema/> | |
| 917 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 918 | - <xloc>692</xloc> | |
| 919 | - <yloc>44</yloc> | |
| 920 | - <draw>Y</draw> | |
| 921 | - </GUI> | |
| 922 | - </step> | |
| 923 | - | |
| 924 | - <step> | |
| 925 | - <name>处理数据</name> | |
| 926 | - <type>ScriptValueMod</type> | |
| 927 | - <description/> | |
| 928 | - <distribute>Y</distribute> | |
| 929 | - <custom_distribution/> | |
| 930 | - <copies>1</copies> | |
| 931 | - <partitioning> | |
| 932 | - <method>none</method> | |
| 933 | - <schema_name/> | |
| 934 | - </partitioning> | |
| 935 | - <compatible>N</compatible> | |
| 936 | - <optimizationLevel>9</optimizationLevel> | |
| 937 | - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> | |
| 938 | - <jsScript_name>Script 1</jsScript_name> | |
| 939 | - <jsScript_script>//Script here

// 使用正则表达式去除站点名称中的数字
qdzname = qdzname.replace(/\d+/g,'');

</jsScript_script> | |
| 940 | - </jsScript> </jsScripts> <fields> <field> <name>qdzname</name> | |
| 941 | - <rename>qdzname</rename> | |
| 942 | - <type>String</type> | |
| 943 | - <length>-1</length> | |
| 944 | - <precision>-1</precision> | |
| 945 | - <replace>Y</replace> | |
| 946 | - </field> </fields> <cluster_schema/> | |
| 947 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 948 | - <xloc>788</xloc> | |
| 949 | - <yloc>44</yloc> | |
| 950 | - <draw>Y</draw> | |
| 951 | - </GUI> | |
| 952 | - </step> | |
| 953 | - | |
| 954 | - <step> | |
| 955 | - <name>分组各个路牌的站</name> | |
| 956 | - <type>GroupBy</type> | |
| 957 | - <description/> | |
| 958 | - <distribute>Y</distribute> | |
| 959 | - <custom_distribution/> | |
| 960 | - <copies>1</copies> | |
| 961 | - <partitioning> | |
| 962 | - <method>none</method> | |
| 963 | - <schema_name/> | |
| 964 | - </partitioning> | |
| 965 | - <all_rows>Y</all_rows> | |
| 966 | - <ignore_aggregate>N</ignore_aggregate> | |
| 967 | - <field_ignore/> | |
| 968 | - <directory>%%java.io.tmpdir%%</directory> | |
| 969 | - <prefix>grp</prefix> | |
| 970 | - <add_linenr>N</add_linenr> | |
| 971 | - <linenr_fieldname>fcno</linenr_fieldname> | |
| 972 | - <give_back_row>N</give_back_row> | |
| 973 | - <group> | |
| 974 | - <field> | |
| 975 | - <name>lp</name> | |
| 976 | - </field> | |
| 977 | - </group> | |
| 978 | - <fields> | |
| 979 | - <field> | |
| 980 | - <aggregate>qdzgroups</aggregate> | |
| 981 | - <subject>qdzname</subject> | |
| 982 | - <type>CONCAT_STRING</type> | |
| 983 | - <valuefield>,</valuefield> | |
| 984 | - </field> | |
| 985 | - </fields> | |
| 986 | - <cluster_schema/> | |
| 987 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 988 | - <xloc>892</xloc> | |
| 989 | - <yloc>44</yloc> | |
| 990 | - <draw>Y</draw> | |
| 991 | - </GUI> | |
| 992 | - </step> | |
| 993 | - | |
| 994 | - <step> | |
| 995 | - <name>查找时刻表基础信息关联</name> | |
| 996 | - <type>DBLookup</type> | |
| 997 | - <description/> | |
| 998 | - <distribute>Y</distribute> | |
| 999 | - <custom_distribution/> | |
| 1000 | - <copies>1</copies> | |
| 1001 | - <partitioning> | |
| 1002 | - <method>none</method> | |
| 1003 | - <schema_name/> | |
| 1004 | - </partitioning> | |
| 1005 | - <connection>bus_control_公司_201</connection> | |
| 1006 | - <cache>N</cache> | |
| 1007 | - <cache_load_all>N</cache_load_all> | |
| 1008 | - <cache_size>0</cache_size> | |
| 1009 | - <lookup> | |
| 1010 | - <schema/> | |
| 1011 | - <table>bsth_c_s_ttinfo</table> | |
| 1012 | - <orderby/> | |
| 1013 | - <fail_on_multiple>N</fail_on_multiple> | |
| 1014 | - <eat_row_on_failure>N</eat_row_on_failure> | |
| 1015 | - <key> | |
| 1016 | - <name>xlid</name> | |
| 1017 | - <field>xl</field> | |
| 1018 | - <condition>=</condition> | |
| 1019 | - <name2/> | |
| 1020 | - </key> | |
| 1021 | - <key> | |
| 1022 | - <name>ttname</name> | |
| 1023 | - <field>name</field> | |
| 1024 | - <condition>=</condition> | |
| 1025 | - <name2/> | |
| 1026 | - </key> | |
| 1027 | - <value> | |
| 1028 | - <name>id</name> | |
| 1029 | - <rename>ttid</rename> | |
| 1030 | - <default/> | |
| 1031 | - <type>Integer</type> | |
| 1032 | - </value> | |
| 1033 | - </lookup> | |
| 1034 | - <cluster_schema/> | |
| 1035 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1036 | - <xloc>1011</xloc> | |
| 1037 | - <yloc>134</yloc> | |
| 1038 | - <draw>Y</draw> | |
| 1039 | - </GUI> | |
| 1040 | - </step> | |
| 1041 | - | |
| 1042 | - <step> | |
| 1043 | - <name>查找线路关联</name> | |
| 1044 | - <type>DBLookup</type> | |
| 1045 | - <description/> | |
| 1046 | - <distribute>Y</distribute> | |
| 1047 | - <custom_distribution/> | |
| 1048 | - <copies>1</copies> | |
| 1049 | - <partitioning> | |
| 1050 | - <method>none</method> | |
| 1051 | - <schema_name/> | |
| 1052 | - </partitioning> | |
| 1053 | - <connection>bus_control_公司_201</connection> | |
| 1054 | - <cache>N</cache> | |
| 1055 | - <cache_load_all>N</cache_load_all> | |
| 1056 | - <cache_size>0</cache_size> | |
| 1057 | - <lookup> | |
| 1058 | - <schema/> | |
| 1059 | - <table>bsth_c_line</table> | |
| 1060 | - <orderby/> | |
| 1061 | - <fail_on_multiple>N</fail_on_multiple> | |
| 1062 | - <eat_row_on_failure>N</eat_row_on_failure> | |
| 1063 | - <key> | |
| 1064 | - <name>xlname</name> | |
| 1065 | - <field>name</field> | |
| 1066 | - <condition>=</condition> | |
| 1067 | - <name2/> | |
| 1068 | - </key> | |
| 1069 | - <value> | |
| 1070 | - <name>id</name> | |
| 1071 | - <rename>xlid</rename> | |
| 1072 | - <default/> | |
| 1073 | - <type>Integer</type> | |
| 1074 | - </value> | |
| 1075 | - </lookup> | |
| 1076 | - <cluster_schema/> | |
| 1077 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1078 | - <xloc>1007</xloc> | |
| 1079 | - <yloc>43</yloc> | |
| 1080 | - <draw>Y</draw> | |
| 1081 | - </GUI> | |
| 1082 | - </step> | |
| 1083 | - | |
| 1084 | - <step> | |
| 1085 | - <name>查找路牌关联</name> | |
| 1086 | - <type>DBLookup</type> | |
| 1087 | - <description/> | |
| 1088 | - <distribute>Y</distribute> | |
| 1089 | - <custom_distribution/> | |
| 1090 | - <copies>1</copies> | |
| 1091 | - <partitioning> | |
| 1092 | - <method>none</method> | |
| 1093 | - <schema_name/> | |
| 1094 | - </partitioning> | |
| 1095 | - <connection>bus_control_公司_201</connection> | |
| 1096 | - <cache>N</cache> | |
| 1097 | - <cache_load_all>N</cache_load_all> | |
| 1098 | - <cache_size>0</cache_size> | |
| 1099 | - <lookup> | |
| 1100 | - <schema/> | |
| 1101 | - <table>bsth_c_s_gbi</table> | |
| 1102 | - <orderby/> | |
| 1103 | - <fail_on_multiple>N</fail_on_multiple> | |
| 1104 | - <eat_row_on_failure>N</eat_row_on_failure> | |
| 1105 | - <key> | |
| 1106 | - <name>xlid</name> | |
| 1107 | - <field>xl</field> | |
| 1108 | - <condition>=</condition> | |
| 1109 | - <name2/> | |
| 1110 | - </key> | |
| 1111 | - <key> | |
| 1112 | - <name>lp</name> | |
| 1113 | - <field>lp_name</field> | |
| 1114 | - <condition>=</condition> | |
| 1115 | - <name2/> | |
| 1116 | - </key> | |
| 1117 | - <value> | |
| 1118 | - <name>id</name> | |
| 1119 | - <rename>lpid</rename> | |
| 1120 | - <default/> | |
| 1121 | - <type>Integer</type> | |
| 1122 | - </value> | |
| 1123 | - </lookup> | |
| 1124 | - <cluster_schema/> | |
| 1125 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1126 | - <xloc>1013</xloc> | |
| 1127 | - <yloc>265</yloc> | |
| 1128 | - <draw>Y</draw> | |
| 1129 | - </GUI> | |
| 1130 | - </step> | |
| 1131 | - | |
| 1132 | - <step> | |
| 1133 | - <name>获取变量</name> | |
| 1134 | - <type>GetVariable</type> | |
| 1135 | - <description/> | |
| 1136 | - <distribute>Y</distribute> | |
| 1137 | - <custom_distribution/> | |
| 1138 | - <copies>1</copies> | |
| 1139 | - <partitioning> | |
| 1140 | - <method>none</method> | |
| 1141 | - <schema_name/> | |
| 1142 | - </partitioning> | |
| 1143 | - <fields> | |
| 1144 | - <field> | |
| 1145 | - <name>filepath_</name> | |
| 1146 | - <variable>${filepath}</variable> | |
| 1147 | - <type>String</type> | |
| 1148 | - <format/> | |
| 1149 | - <currency/> | |
| 1150 | - <decimal/> | |
| 1151 | - <group/> | |
| 1152 | - <length>-1</length> | |
| 1153 | - <precision>-1</precision> | |
| 1154 | - <trim_type>none</trim_type> | |
| 1155 | - </field> | |
| 1156 | - <field> | |
| 1157 | - <name>erroroutputdir_</name> | |
| 1158 | - <variable>${erroroutputdir}</variable> | |
| 1159 | - <type>String</type> | |
| 1160 | - <format/> | |
| 1161 | - <currency/> | |
| 1162 | - <decimal/> | |
| 1163 | - <group/> | |
| 1164 | - <length>-1</length> | |
| 1165 | - <precision>-1</precision> | |
| 1166 | - <trim_type>none</trim_type> | |
| 1167 | - </field> | |
| 1168 | - <field> | |
| 1169 | - <name>ttinfoname_</name> | |
| 1170 | - <variable>${ttinfoname}</variable> | |
| 1171 | - <type>String</type> | |
| 1172 | - <format/> | |
| 1173 | - <currency/> | |
| 1174 | - <decimal/> | |
| 1175 | - <group/> | |
| 1176 | - <length>-1</length> | |
| 1177 | - <precision>-1</precision> | |
| 1178 | - <trim_type>none</trim_type> | |
| 1179 | - </field> | |
| 1180 | - <field> | |
| 1181 | - <name>xlname_</name> | |
| 1182 | - <variable>${xlname}</variable> | |
| 1183 | - <type>String</type> | |
| 1184 | - <format/> | |
| 1185 | - <currency/> | |
| 1186 | - <decimal/> | |
| 1187 | - <group/> | |
| 1188 | - <length>-1</length> | |
| 1189 | - <precision>-1</precision> | |
| 1190 | - <trim_type>none</trim_type> | |
| 1191 | - </field> | |
| 1192 | - <field> | |
| 1193 | - <name>tccname_</name> | |
| 1194 | - <variable>${tccname}</variable> | |
| 1195 | - <type>String</type> | |
| 1196 | - <format/> | |
| 1197 | - <currency/> | |
| 1198 | - <decimal/> | |
| 1199 | - <group/> | |
| 1200 | - <length>-1</length> | |
| 1201 | - <precision>-1</precision> | |
| 1202 | - <trim_type>none</trim_type> | |
| 1203 | - </field> | |
| 1204 | - </fields> | |
| 1205 | - <cluster_schema/> | |
| 1206 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1207 | - <xloc>113</xloc> | |
| 1208 | - <yloc>141</yloc> | |
| 1209 | - <draw>Y</draw> | |
| 1210 | - </GUI> | |
| 1211 | - </step> | |
| 1212 | - | |
| 1213 | - <step> | |
| 1214 | - <name>上下行字典</name> | |
| 1215 | - <type>ValueMapper</type> | |
| 1216 | - <description/> | |
| 1217 | - <distribute>Y</distribute> | |
| 1218 | - <custom_distribution/> | |
| 1219 | - <copies>1</copies> | |
| 1220 | - <partitioning> | |
| 1221 | - <method>none</method> | |
| 1222 | - <schema_name/> | |
| 1223 | - </partitioning> | |
| 1224 | - <field_to_use>sxx</field_to_use> | |
| 1225 | - <target_field>sxx_desc</target_field> | |
| 1226 | - <non_match_default/> | |
| 1227 | - <fields> | |
| 1228 | - <field> | |
| 1229 | - <source_value>0</source_value> | |
| 1230 | - <target_value>上行</target_value> | |
| 1231 | - </field> | |
| 1232 | - <field> | |
| 1233 | - <source_value>1</source_value> | |
| 1234 | - <target_value>下行</target_value> | |
| 1235 | - </field> | |
| 1236 | - </fields> | |
| 1237 | - <cluster_schema/> | |
| 1238 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1239 | - <xloc>147</xloc> | |
| 1240 | - <yloc>403</yloc> | |
| 1241 | - <draw>Y</draw> | |
| 1242 | - </GUI> | |
| 1243 | - </step> | |
| 1244 | - | |
| 1245 | - <step> | |
| 1246 | - <name>上下行字典 2</name> | |
| 1247 | - <type>ValueMapper</type> | |
| 1248 | - <description/> | |
| 1249 | - <distribute>Y</distribute> | |
| 1250 | - <custom_distribution/> | |
| 1251 | - <copies>1</copies> | |
| 1252 | - <partitioning> | |
| 1253 | - <method>none</method> | |
| 1254 | - <schema_name/> | |
| 1255 | - </partitioning> | |
| 1256 | - <field_to_use>sxx</field_to_use> | |
| 1257 | - <target_field>sxx_desc</target_field> | |
| 1258 | - <non_match_default/> | |
| 1259 | - <fields> | |
| 1260 | - <field> | |
| 1261 | - <source_value>0</source_value> | |
| 1262 | - <target_value>上行</target_value> | |
| 1263 | - </field> | |
| 1264 | - <field> | |
| 1265 | - <source_value>1</source_value> | |
| 1266 | - <target_value>下行</target_value> | |
| 1267 | - </field> | |
| 1268 | - </fields> | |
| 1269 | - <cluster_schema/> | |
| 1270 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1271 | - <xloc>435</xloc> | |
| 1272 | - <yloc>579</yloc> | |
| 1273 | - <draw>Y</draw> | |
| 1274 | - </GUI> | |
| 1275 | - </step> | |
| 1276 | - | |
| 1277 | - <step> | |
| 1278 | - <name>上下行字典 3</name> | |
| 1279 | - <type>ValueMapper</type> | |
| 1280 | - <description/> | |
| 1281 | - <distribute>Y</distribute> | |
| 1282 | - <custom_distribution/> | |
| 1283 | - <copies>1</copies> | |
| 1284 | - <partitioning> | |
| 1285 | - <method>none</method> | |
| 1286 | - <schema_name/> | |
| 1287 | - </partitioning> | |
| 1288 | - <field_to_use>sxx</field_to_use> | |
| 1289 | - <target_field>sxx_desc</target_field> | |
| 1290 | - <non_match_default/> | |
| 1291 | - <fields> | |
| 1292 | - <field> | |
| 1293 | - <source_value>0</source_value> | |
| 1294 | - <target_value>上行</target_value> | |
| 1295 | - </field> | |
| 1296 | - <field> | |
| 1297 | - <source_value>1</source_value> | |
| 1298 | - <target_value>下行</target_value> | |
| 1299 | - </field> | |
| 1300 | - </fields> | |
| 1301 | - <cluster_schema/> | |
| 1302 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1303 | - <xloc>592</xloc> | |
| 1304 | - <yloc>674</yloc> | |
| 1305 | - <draw>Y</draw> | |
| 1306 | - </GUI> | |
| 1307 | - </step> | |
| 1308 | - | |
| 1309 | - <step> | |
| 1310 | - <name>出场班次_处理数据</name> | |
| 1311 | - <type>ScriptValueMod</type> | |
| 1312 | - <description/> | |
| 1313 | - <distribute>Y</distribute> | |
| 1314 | - <custom_distribution/> | |
| 1315 | - <copies>1</copies> | |
| 1316 | - <partitioning> | |
| 1317 | - <method>none</method> | |
| 1318 | - <schema_name/> | |
| 1319 | - </partitioning> | |
| 1320 | - <compatible>N</compatible> | |
| 1321 | - <optimizationLevel>9</optimizationLevel> | |
| 1322 | - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> | |
| 1323 | - <jsScript_name>Script 1</jsScript_name> | |
| 1324 | - <jsScript_script>//Script here

// 添加站点标识
var tccname = '东靖路高行停车场';
var zdzname = '长岛路东陆路';
var sxx = '1'; // 下行
var endZdtype = 'B';</jsScript_script> | |
| 1325 | - </jsScript> </jsScripts> <fields> <field> <name>tccname</name> | |
| 1326 | - <rename>tccname</rename> | |
| 1327 | - <type>String</type> | |
| 1328 | - <length>-1</length> | |
| 1329 | - <precision>-1</precision> | |
| 1330 | - <replace>N</replace> | |
| 1331 | - </field> <field> <name>zdzname</name> | |
| 1332 | - <rename>zdzname</rename> | |
| 1333 | - <type>String</type> | |
| 1334 | - <length>-1</length> | |
| 1335 | - <precision>-1</precision> | |
| 1336 | - <replace>N</replace> | |
| 1337 | - </field> <field> <name>sxx</name> | |
| 1338 | - <rename>sxx</rename> | |
| 1339 | - <type>String</type> | |
| 1340 | - <length>-1</length> | |
| 1341 | - <precision>-1</precision> | |
| 1342 | - <replace>N</replace> | |
| 1343 | - </field> <field> <name>endZdtype</name> | |
| 1344 | - <rename>endZdtype</rename> | |
| 1345 | - <type>String</type> | |
| 1346 | - <length>-1</length> | |
| 1347 | - <precision>-1</precision> | |
| 1348 | - <replace>N</replace> | |
| 1349 | - </field> </fields> <cluster_schema/> | |
| 1350 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1351 | - <xloc>730</xloc> | |
| 1352 | - <yloc>502</yloc> | |
| 1353 | - <draw>Y</draw> | |
| 1354 | - </GUI> | |
| 1355 | - </step> | |
| 1356 | - | |
| 1357 | - <step> | |
| 1358 | - <name>出场班次数据</name> | |
| 1359 | - <type>Dummy</type> | |
| 1360 | - <description/> | |
| 1361 | - <distribute>Y</distribute> | |
| 1362 | - <custom_distribution/> | |
| 1363 | - <copies>1</copies> | |
| 1364 | - <partitioning> | |
| 1365 | - <method>none</method> | |
| 1366 | - <schema_name/> | |
| 1367 | - </partitioning> | |
| 1368 | - <cluster_schema/> | |
| 1369 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1370 | - <xloc>869</xloc> | |
| 1371 | - <yloc>504</yloc> | |
| 1372 | - <draw>Y</draw> | |
| 1373 | - </GUI> | |
| 1374 | - </step> | |
| 1375 | - | |
| 1376 | - <step> | |
| 1377 | - <name>匹配上下行班次里程时间</name> | |
| 1378 | - <type>ScriptValueMod</type> | |
| 1379 | - <description/> | |
| 1380 | - <distribute>Y</distribute> | |
| 1381 | - <custom_distribution/> | |
| 1382 | - <copies>1</copies> | |
| 1383 | - <partitioning> | |
| 1384 | - <method>none</method> | |
| 1385 | - <schema_name/> | |
| 1386 | - </partitioning> | |
| 1387 | - <compatible>N</compatible> | |
| 1388 | - <optimizationLevel>9</optimizationLevel> | |
| 1389 | - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> | |
| 1390 | - <jsScript_name>Script 1</jsScript_name> | |
| 1391 | - <jsScript_script>//Script here

var jhlc; // 计划里程
var bcsj; // 班次时间

if (sxx == 0) { // 上行
 jhlc = up_mileage;
 bcsj = up_travel_time;
} else { // sxx == 1 下行
 jhlc = down_mileage;
 bcsj = down_travel_time;
}</jsScript_script> | |
| 1392 | - </jsScript> </jsScripts> <fields> <field> <name>jhlc</name> | |
| 1393 | - <rename>jhlc</rename> | |
| 1394 | - <type>String</type> | |
| 1395 | - <length>-1</length> | |
| 1396 | - <precision>-1</precision> | |
| 1397 | - <replace>N</replace> | |
| 1398 | - </field> <field> <name>bcsj</name> | |
| 1399 | - <rename>bcsj</rename> | |
| 1400 | - <type>String</type> | |
| 1401 | - <length>-1</length> | |
| 1402 | - <precision>-1</precision> | |
| 1403 | - <replace>N</replace> | |
| 1404 | - </field> </fields> <cluster_schema/> | |
| 1405 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1406 | - <xloc>148</xloc> | |
| 1407 | - <yloc>674</yloc> | |
| 1408 | - <draw>Y</draw> | |
| 1409 | - </GUI> | |
| 1410 | - </step> | |
| 1411 | - | |
| 1412 | - <step> | |
| 1413 | - <name>按照班次类型过滤数据1</name> | |
| 1414 | - <type>FilterRows</type> | |
| 1415 | - <description/> | |
| 1416 | - <distribute>Y</distribute> | |
| 1417 | - <custom_distribution/> | |
| 1418 | - <copies>1</copies> | |
| 1419 | - <partitioning> | |
| 1420 | - <method>none</method> | |
| 1421 | - <schema_name/> | |
| 1422 | - </partitioning> | |
| 1423 | -<send_true_to>正常班次数据</send_true_to> | |
| 1424 | -<send_false_to>按照班次类型过滤数据2</send_false_to> | |
| 1425 | - <compare> | |
| 1426 | -<condition> | |
| 1427 | - <negated>N</negated> | |
| 1428 | - <leftvalue>bctype</leftvalue> | |
| 1429 | - <function>=</function> | |
| 1430 | - <rightvalue/> | |
| 1431 | - <value><name>constant</name><type>String</type><text>正常班次</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition> | |
| 1432 | - </compare> | |
| 1433 | - <cluster_schema/> | |
| 1434 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1435 | - <xloc>868</xloc> | |
| 1436 | - <yloc>404</yloc> | |
| 1437 | - <draw>Y</draw> | |
| 1438 | - </GUI> | |
| 1439 | - </step> | |
| 1440 | - | |
| 1441 | - <step> | |
| 1442 | - <name>按照班次类型过滤数据2</name> | |
| 1443 | - <type>FilterRows</type> | |
| 1444 | - <description/> | |
| 1445 | - <distribute>Y</distribute> | |
| 1446 | - <custom_distribution/> | |
| 1447 | - <copies>1</copies> | |
| 1448 | - <partitioning> | |
| 1449 | - <method>none</method> | |
| 1450 | - <schema_name/> | |
| 1451 | - </partitioning> | |
| 1452 | -<send_true_to>出场班次数据</send_true_to> | |
| 1453 | -<send_false_to>进场班次数据</send_false_to> | |
| 1454 | - <compare> | |
| 1455 | -<condition> | |
| 1456 | - <negated>N</negated> | |
| 1457 | - <leftvalue>bctype</leftvalue> | |
| 1458 | - <function>=</function> | |
| 1459 | - <rightvalue/> | |
| 1460 | - <value><name>constant</name><type>String</type><text>出场</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition> | |
| 1461 | - </compare> | |
| 1462 | - <cluster_schema/> | |
| 1463 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1464 | - <xloc>995</xloc> | |
| 1465 | - <yloc>503</yloc> | |
| 1466 | - <draw>Y</draw> | |
| 1467 | - </GUI> | |
| 1468 | - </step> | |
| 1469 | - | |
| 1470 | - <step> | |
| 1471 | - <name>查找停车场1</name> | |
| 1472 | - <type>DBLookup</type> | |
| 1473 | - <description/> | |
| 1474 | - <distribute>Y</distribute> | |
| 1475 | - <custom_distribution/> | |
| 1476 | - <copies>1</copies> | |
| 1477 | - <partitioning> | |
| 1478 | - <method>none</method> | |
| 1479 | - <schema_name/> | |
| 1480 | - </partitioning> | |
| 1481 | - <connection>bus_control_公司_201</connection> | |
| 1482 | - <cache>N</cache> | |
| 1483 | - <cache_load_all>N</cache_load_all> | |
| 1484 | - <cache_size>0</cache_size> | |
| 1485 | - <lookup> | |
| 1486 | - <schema/> | |
| 1487 | - <table>bsth_c_car_park</table> | |
| 1488 | - <orderby/> | |
| 1489 | - <fail_on_multiple>N</fail_on_multiple> | |
| 1490 | - <eat_row_on_failure>N</eat_row_on_failure> | |
| 1491 | - <key> | |
| 1492 | - <name>tccname</name> | |
| 1493 | - <field>park_name</field> | |
| 1494 | - <condition>=</condition> | |
| 1495 | - <name2/> | |
| 1496 | - </key> | |
| 1497 | - <value> | |
| 1498 | - <name>id</name> | |
| 1499 | - <rename>qdzid</rename> | |
| 1500 | - <default/> | |
| 1501 | - <type>Integer</type> | |
| 1502 | - </value> | |
| 1503 | - </lookup> | |
| 1504 | - <cluster_schema/> | |
| 1505 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1506 | - <xloc>591</xloc> | |
| 1507 | - <yloc>503</yloc> | |
| 1508 | - <draw>Y</draw> | |
| 1509 | - </GUI> | |
| 1510 | - </step> | |
| 1511 | - | |
| 1512 | - <step> | |
| 1513 | - <name>查找停车场2</name> | |
| 1514 | - <type>DBLookup</type> | |
| 1515 | - <description/> | |
| 1516 | - <distribute>Y</distribute> | |
| 1517 | - <custom_distribution/> | |
| 1518 | - <copies>1</copies> | |
| 1519 | - <partitioning> | |
| 1520 | - <method>none</method> | |
| 1521 | - <schema_name/> | |
| 1522 | - </partitioning> | |
| 1523 | - <connection>bus_control_公司_201</connection> | |
| 1524 | - <cache>N</cache> | |
| 1525 | - <cache_load_all>N</cache_load_all> | |
| 1526 | - <cache_size>0</cache_size> | |
| 1527 | - <lookup> | |
| 1528 | - <schema/> | |
| 1529 | - <table>bsth_c_car_park</table> | |
| 1530 | - <orderby/> | |
| 1531 | - <fail_on_multiple>N</fail_on_multiple> | |
| 1532 | - <eat_row_on_failure>N</eat_row_on_failure> | |
| 1533 | - <key> | |
| 1534 | - <name>tccname</name> | |
| 1535 | - <field>park_name</field> | |
| 1536 | - <condition>=</condition> | |
| 1537 | - <name2/> | |
| 1538 | - </key> | |
| 1539 | - <value> | |
| 1540 | - <name>id</name> | |
| 1541 | - <rename>zdzid</rename> | |
| 1542 | - <default/> | |
| 1543 | - <type>Integer</type> | |
| 1544 | - </value> | |
| 1545 | - </lookup> | |
| 1546 | - <cluster_schema/> | |
| 1547 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1548 | - <xloc>734</xloc> | |
| 1549 | - <yloc>610</yloc> | |
| 1550 | - <draw>Y</draw> | |
| 1551 | - </GUI> | |
| 1552 | - </step> | |
| 1553 | - | |
| 1554 | - <step> | |
| 1555 | - <name>查找线路上下行里程时间</name> | |
| 1556 | - <type>DBLookup</type> | |
| 1557 | - <description/> | |
| 1558 | - <distribute>Y</distribute> | |
| 1559 | - <custom_distribution/> | |
| 1560 | - <copies>1</copies> | |
| 1561 | - <partitioning> | |
| 1562 | - <method>none</method> | |
| 1563 | - <schema_name/> | |
| 1564 | - </partitioning> | |
| 1565 | - <connection>bus_control_公司_201</connection> | |
| 1566 | - <cache>N</cache> | |
| 1567 | - <cache_load_all>N</cache_load_all> | |
| 1568 | - <cache_size>0</cache_size> | |
| 1569 | - <lookup> | |
| 1570 | - <schema/> | |
| 1571 | - <table>bsth_c_line_information</table> | |
| 1572 | - <orderby/> | |
| 1573 | - <fail_on_multiple>N</fail_on_multiple> | |
| 1574 | - <eat_row_on_failure>N</eat_row_on_failure> | |
| 1575 | - <key> | |
| 1576 | - <name>xlid</name> | |
| 1577 | - <field>line</field> | |
| 1578 | - <condition>=</condition> | |
| 1579 | - <name2/> | |
| 1580 | - </key> | |
| 1581 | - <value> | |
| 1582 | - <name>up_mileage</name> | |
| 1583 | - <rename>up_mileage</rename> | |
| 1584 | - <default/> | |
| 1585 | - <type>Number</type> | |
| 1586 | - </value> | |
| 1587 | - <value> | |
| 1588 | - <name>down_mileage</name> | |
| 1589 | - <rename>down_mileage</rename> | |
| 1590 | - <default/> | |
| 1591 | - <type>Number</type> | |
| 1592 | - </value> | |
| 1593 | - <value> | |
| 1594 | - <name>up_travel_time</name> | |
| 1595 | - <rename>up_travel_time</rename> | |
| 1596 | - <default/> | |
| 1597 | - <type>Number</type> | |
| 1598 | - </value> | |
| 1599 | - <value> | |
| 1600 | - <name>down_travel_time</name> | |
| 1601 | - <rename>down_travel_time</rename> | |
| 1602 | - <default/> | |
| 1603 | - <type>Number</type> | |
| 1604 | - </value> | |
| 1605 | - </lookup> | |
| 1606 | - <cluster_schema/> | |
| 1607 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1608 | - <xloc>149</xloc> | |
| 1609 | - <yloc>581</yloc> | |
| 1610 | - <draw>Y</draw> | |
| 1611 | - </GUI> | |
| 1612 | - </step> | |
| 1613 | - | |
| 1614 | - <step> | |
| 1615 | - <name>查找线路出场里程时间</name> | |
| 1616 | - <type>DBLookup</type> | |
| 1617 | - <description/> | |
| 1618 | - <distribute>Y</distribute> | |
| 1619 | - <custom_distribution/> | |
| 1620 | - <copies>1</copies> | |
| 1621 | - <partitioning> | |
| 1622 | - <method>none</method> | |
| 1623 | - <schema_name/> | |
| 1624 | - </partitioning> | |
| 1625 | - <connection>bus_control_公司_201</connection> | |
| 1626 | - <cache>N</cache> | |
| 1627 | - <cache_load_all>N</cache_load_all> | |
| 1628 | - <cache_size>0</cache_size> | |
| 1629 | - <lookup> | |
| 1630 | - <schema/> | |
| 1631 | - <table>bsth_c_line_information</table> | |
| 1632 | - <orderby/> | |
| 1633 | - <fail_on_multiple>N</fail_on_multiple> | |
| 1634 | - <eat_row_on_failure>N</eat_row_on_failure> | |
| 1635 | - <key> | |
| 1636 | - <name>xlid</name> | |
| 1637 | - <field>line</field> | |
| 1638 | - <condition>=</condition> | |
| 1639 | - <name2/> | |
| 1640 | - </key> | |
| 1641 | - <value> | |
| 1642 | - <name>out_mileage</name> | |
| 1643 | - <rename>out_mileage</rename> | |
| 1644 | - <default/> | |
| 1645 | - <type>Number</type> | |
| 1646 | - </value> | |
| 1647 | - <value> | |
| 1648 | - <name>out_time</name> | |
| 1649 | - <rename>out_time</rename> | |
| 1650 | - <default/> | |
| 1651 | - <type>Number</type> | |
| 1652 | - </value> | |
| 1653 | - </lookup> | |
| 1654 | - <cluster_schema/> | |
| 1655 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1656 | - <xloc>439</xloc> | |
| 1657 | - <yloc>744</yloc> | |
| 1658 | - <draw>Y</draw> | |
| 1659 | - </GUI> | |
| 1660 | - </step> | |
| 1661 | - | |
| 1662 | - <step> | |
| 1663 | - <name>查找线路进场里程时间</name> | |
| 1664 | - <type>DBLookup</type> | |
| 1665 | - <description/> | |
| 1666 | - <distribute>Y</distribute> | |
| 1667 | - <custom_distribution/> | |
| 1668 | - <copies>1</copies> | |
| 1669 | - <partitioning> | |
| 1670 | - <method>none</method> | |
| 1671 | - <schema_name/> | |
| 1672 | - </partitioning> | |
| 1673 | - <connection>bus_control_公司_201</connection> | |
| 1674 | - <cache>N</cache> | |
| 1675 | - <cache_load_all>N</cache_load_all> | |
| 1676 | - <cache_size>0</cache_size> | |
| 1677 | - <lookup> | |
| 1678 | - <schema/> | |
| 1679 | - <table>bsth_c_line_information</table> | |
| 1680 | - <orderby/> | |
| 1681 | - <fail_on_multiple>N</fail_on_multiple> | |
| 1682 | - <eat_row_on_failure>N</eat_row_on_failure> | |
| 1683 | - <key> | |
| 1684 | - <name>xlid</name> | |
| 1685 | - <field>line</field> | |
| 1686 | - <condition>=</condition> | |
| 1687 | - <name2/> | |
| 1688 | - </key> | |
| 1689 | - <value> | |
| 1690 | - <name>parade_mileage</name> | |
| 1691 | - <rename>parade_mileage</rename> | |
| 1692 | - <default/> | |
| 1693 | - <type>Number</type> | |
| 1694 | - </value> | |
| 1695 | - <value> | |
| 1696 | - <name>parade_time</name> | |
| 1697 | - <rename>parade_time</rename> | |
| 1698 | - <default/> | |
| 1699 | - <type>Number</type> | |
| 1700 | - </value> | |
| 1701 | - </lookup> | |
| 1702 | - <cluster_schema/> | |
| 1703 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1704 | - <xloc>592</xloc> | |
| 1705 | - <yloc>819</yloc> | |
| 1706 | - <draw>Y</draw> | |
| 1707 | - </GUI> | |
| 1708 | - </step> | |
| 1709 | - | |
| 1710 | - <step> | |
| 1711 | - <name>查找终点站关联</name> | |
| 1712 | - <type>DBLookup</type> | |
| 1713 | - <description/> | |
| 1714 | - <distribute>Y</distribute> | |
| 1715 | - <custom_distribution/> | |
| 1716 | - <copies>1</copies> | |
| 1717 | - <partitioning> | |
| 1718 | - <method>none</method> | |
| 1719 | - <schema_name/> | |
| 1720 | - </partitioning> | |
| 1721 | - <connection>bus_control_公司_201</connection> | |
| 1722 | - <cache>N</cache> | |
| 1723 | - <cache_load_all>N</cache_load_all> | |
| 1724 | - <cache_size>0</cache_size> | |
| 1725 | - <lookup> | |
| 1726 | - <schema/> | |
| 1727 | - <table>bsth_c_stationroute</table> | |
| 1728 | - <orderby/> | |
| 1729 | - <fail_on_multiple>N</fail_on_multiple> | |
| 1730 | - <eat_row_on_failure>N</eat_row_on_failure> | |
| 1731 | - <key> | |
| 1732 | - <name>xlid</name> | |
| 1733 | - <field>line</field> | |
| 1734 | - <condition>=</condition> | |
| 1735 | - <name2/> | |
| 1736 | - </key> | |
| 1737 | - <key> | |
| 1738 | - <name>sxx</name> | |
| 1739 | - <field>directions</field> | |
| 1740 | - <condition>=</condition> | |
| 1741 | - <name2/> | |
| 1742 | - </key> | |
| 1743 | - <key> | |
| 1744 | - <name>endZdtype</name> | |
| 1745 | - <field>station_mark</field> | |
| 1746 | - <condition>=</condition> | |
| 1747 | - <name2/> | |
| 1748 | - </key> | |
| 1749 | - <value> | |
| 1750 | - <name>station_name</name> | |
| 1751 | - <rename>zdzname</rename> | |
| 1752 | - <default/> | |
| 1753 | - <type>String</type> | |
| 1754 | - </value> | |
| 1755 | - <value> | |
| 1756 | - <name>station</name> | |
| 1757 | - <rename>zdzid</rename> | |
| 1758 | - <default/> | |
| 1759 | - <type>Integer</type> | |
| 1760 | - </value> | |
| 1761 | - </lookup> | |
| 1762 | - <cluster_schema/> | |
| 1763 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1764 | - <xloc>280</xloc> | |
| 1765 | - <yloc>404</yloc> | |
| 1766 | - <draw>Y</draw> | |
| 1767 | - </GUI> | |
| 1768 | - </step> | |
| 1769 | - | |
| 1770 | - <step> | |
| 1771 | - <name>查找终点站关联1</name> | |
| 1772 | - <type>DBLookup</type> | |
| 1773 | - <description/> | |
| 1774 | - <distribute>Y</distribute> | |
| 1775 | - <custom_distribution/> | |
| 1776 | - <copies>1</copies> | |
| 1777 | - <partitioning> | |
| 1778 | - <method>none</method> | |
| 1779 | - <schema_name/> | |
| 1780 | - </partitioning> | |
| 1781 | - <connection>bus_control_公司_201</connection> | |
| 1782 | - <cache>N</cache> | |
| 1783 | - <cache_load_all>N</cache_load_all> | |
| 1784 | - <cache_size>0</cache_size> | |
| 1785 | - <lookup> | |
| 1786 | - <schema/> | |
| 1787 | - <table>bsth_c_stationroute</table> | |
| 1788 | - <orderby/> | |
| 1789 | - <fail_on_multiple>N</fail_on_multiple> | |
| 1790 | - <eat_row_on_failure>N</eat_row_on_failure> | |
| 1791 | - <key> | |
| 1792 | - <name>xlid</name> | |
| 1793 | - <field>line</field> | |
| 1794 | - <condition>=</condition> | |
| 1795 | - <name2/> | |
| 1796 | - </key> | |
| 1797 | - <key> | |
| 1798 | - <name>sxx</name> | |
| 1799 | - <field>directions</field> | |
| 1800 | - <condition>=</condition> | |
| 1801 | - <name2/> | |
| 1802 | - </key> | |
| 1803 | - <key> | |
| 1804 | - <name>endZdtype</name> | |
| 1805 | - <field>station_mark</field> | |
| 1806 | - <condition>=</condition> | |
| 1807 | - <name2/> | |
| 1808 | - </key> | |
| 1809 | - <key> | |
| 1810 | - <name>zdzname</name> | |
| 1811 | - <field>station_name</field> | |
| 1812 | - <condition>=</condition> | |
| 1813 | - <name2/> | |
| 1814 | - </key> | |
| 1815 | - <value> | |
| 1816 | - <name>station</name> | |
| 1817 | - <rename>zdzid</rename> | |
| 1818 | - <default/> | |
| 1819 | - <type>Integer</type> | |
| 1820 | - </value> | |
| 1821 | - </lookup> | |
| 1822 | - <cluster_schema/> | |
| 1823 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1824 | - <xloc>436</xloc> | |
| 1825 | - <yloc>502</yloc> | |
| 1826 | - <draw>Y</draw> | |
| 1827 | - </GUI> | |
| 1828 | - </step> | |
| 1829 | - | |
| 1830 | - <step> | |
| 1831 | - <name>查找终点站关联2</name> | |
| 1832 | - <type>DBLookup</type> | |
| 1833 | - <description/> | |
| 1834 | - <distribute>Y</distribute> | |
| 1835 | - <custom_distribution/> | |
| 1836 | - <copies>1</copies> | |
| 1837 | - <partitioning> | |
| 1838 | - <method>none</method> | |
| 1839 | - <schema_name/> | |
| 1840 | - </partitioning> | |
| 1841 | - <connection>bus_control_公司_201</connection> | |
| 1842 | - <cache>N</cache> | |
| 1843 | - <cache_load_all>N</cache_load_all> | |
| 1844 | - <cache_size>0</cache_size> | |
| 1845 | - <lookup> | |
| 1846 | - <schema/> | |
| 1847 | - <table>bsth_c_stationroute</table> | |
| 1848 | - <orderby/> | |
| 1849 | - <fail_on_multiple>N</fail_on_multiple> | |
| 1850 | - <eat_row_on_failure>N</eat_row_on_failure> | |
| 1851 | - <key> | |
| 1852 | - <name>xlid</name> | |
| 1853 | - <field>line</field> | |
| 1854 | - <condition>=</condition> | |
| 1855 | - <name2/> | |
| 1856 | - </key> | |
| 1857 | - <key> | |
| 1858 | - <name>sxx</name> | |
| 1859 | - <field>directions</field> | |
| 1860 | - <condition>=</condition> | |
| 1861 | - <name2/> | |
| 1862 | - </key> | |
| 1863 | - <key> | |
| 1864 | - <name>sendZdtype</name> | |
| 1865 | - <field>station_mark</field> | |
| 1866 | - <condition>=</condition> | |
| 1867 | - <name2/> | |
| 1868 | - </key> | |
| 1869 | - <key> | |
| 1870 | - <name>qdzname_2</name> | |
| 1871 | - <field>station_name</field> | |
| 1872 | - <condition>=</condition> | |
| 1873 | - <name2/> | |
| 1874 | - </key> | |
| 1875 | - <value> | |
| 1876 | - <name>station</name> | |
| 1877 | - <rename>qdzid</rename> | |
| 1878 | - <default/> | |
| 1879 | - <type>Integer</type> | |
| 1880 | - </value> | |
| 1881 | - </lookup> | |
| 1882 | - <cluster_schema/> | |
| 1883 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1884 | - <xloc>592</xloc> | |
| 1885 | - <yloc>609</yloc> | |
| 1886 | - <draw>Y</draw> | |
| 1887 | - </GUI> | |
| 1888 | - </step> | |
| 1889 | - | |
| 1890 | - <step> | |
| 1891 | - <name>查找起点站关联并确定上下行</name> | |
| 1892 | - <type>DBLookup</type> | |
| 1893 | - <description/> | |
| 1894 | - <distribute>Y</distribute> | |
| 1895 | - <custom_distribution/> | |
| 1896 | - <copies>1</copies> | |
| 1897 | - <partitioning> | |
| 1898 | - <method>none</method> | |
| 1899 | - <schema_name/> | |
| 1900 | - </partitioning> | |
| 1901 | - <connection>bus_control_公司_201</connection> | |
| 1902 | - <cache>N</cache> | |
| 1903 | - <cache_load_all>N</cache_load_all> | |
| 1904 | - <cache_size>0</cache_size> | |
| 1905 | - <lookup> | |
| 1906 | - <schema/> | |
| 1907 | - <table>bsth_c_stationroute</table> | |
| 1908 | - <orderby/> | |
| 1909 | - <fail_on_multiple>N</fail_on_multiple> | |
| 1910 | - <eat_row_on_failure>N</eat_row_on_failure> | |
| 1911 | - <key> | |
| 1912 | - <name>xlid</name> | |
| 1913 | - <field>line</field> | |
| 1914 | - <condition>=</condition> | |
| 1915 | - <name2/> | |
| 1916 | - </key> | |
| 1917 | - <key> | |
| 1918 | - <name>qdzname</name> | |
| 1919 | - <field>station_name</field> | |
| 1920 | - <condition>=</condition> | |
| 1921 | - <name2/> | |
| 1922 | - </key> | |
| 1923 | - <key> | |
| 1924 | - <name>sendZdtype</name> | |
| 1925 | - <field>station_mark</field> | |
| 1926 | - <condition>=</condition> | |
| 1927 | - <name2/> | |
| 1928 | - </key> | |
| 1929 | - <value> | |
| 1930 | - <name>station</name> | |
| 1931 | - <rename>qdzid</rename> | |
| 1932 | - <default/> | |
| 1933 | - <type>Integer</type> | |
| 1934 | - </value> | |
| 1935 | - <value> | |
| 1936 | - <name>directions</name> | |
| 1937 | - <rename>sxx</rename> | |
| 1938 | - <default/> | |
| 1939 | - <type>Integer</type> | |
| 1940 | - </value> | |
| 1941 | - </lookup> | |
| 1942 | - <cluster_schema/> | |
| 1943 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1944 | - <xloc>430</xloc> | |
| 1945 | - <yloc>403</yloc> | |
| 1946 | - <draw>Y</draw> | |
| 1947 | - </GUI> | |
| 1948 | - </step> | |
| 1949 | - | |
| 1950 | - <step> | |
| 1951 | - <name>正常班次_处理数据</name> | |
| 1952 | - <type>ScriptValueMod</type> | |
| 1953 | - <description/> | |
| 1954 | - <distribute>Y</distribute> | |
| 1955 | - <custom_distribution/> | |
| 1956 | - <copies>1</copies> | |
| 1957 | - <partitioning> | |
| 1958 | - <method>none</method> | |
| 1959 | - <schema_name/> | |
| 1960 | - </partitioning> | |
| 1961 | - <compatible>N</compatible> | |
| 1962 | - <optimizationLevel>9</optimizationLevel> | |
| 1963 | - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> | |
| 1964 | - <jsScript_name>Script 1</jsScript_name> | |
| 1965 | - <jsScript_script>//Script here

// 添加站点标识
var sendZdtype = 'B';
var endZdtype = 'E';
</jsScript_script> | |
| 1966 | - </jsScript> </jsScripts> <fields> <field> <name>sendZdtype</name> | |
| 1967 | - <rename>sendZdtype</rename> | |
| 1968 | - <type>String</type> | |
| 1969 | - <length>-1</length> | |
| 1970 | - <precision>-1</precision> | |
| 1971 | - <replace>N</replace> | |
| 1972 | - </field> <field> <name>endZdtype</name> | |
| 1973 | - <rename>endZdtype</rename> | |
| 1974 | - <type>String</type> | |
| 1975 | - <length>-1</length> | |
| 1976 | - <precision>-1</precision> | |
| 1977 | - <replace>N</replace> | |
| 1978 | - </field> </fields> <cluster_schema/> | |
| 1979 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1980 | - <xloc>588</xloc> | |
| 1981 | - <yloc>403</yloc> | |
| 1982 | - <draw>Y</draw> | |
| 1983 | - </GUI> | |
| 1984 | - </step> | |
| 1985 | - | |
| 1986 | - <step> | |
| 1987 | - <name>正常班次数据</name> | |
| 1988 | - <type>Dummy</type> | |
| 1989 | - <description/> | |
| 1990 | - <distribute>Y</distribute> | |
| 1991 | - <custom_distribution/> | |
| 1992 | - <copies>1</copies> | |
| 1993 | - <partitioning> | |
| 1994 | - <method>none</method> | |
| 1995 | - <schema_name/> | |
| 1996 | - </partitioning> | |
| 1997 | - <cluster_schema/> | |
| 1998 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1999 | - <xloc>725</xloc> | |
| 2000 | - <yloc>404</yloc> | |
| 2001 | - <draw>Y</draw> | |
| 2002 | - </GUI> | |
| 2003 | - </step> | |
| 2004 | - | |
| 2005 | - <step> | |
| 2006 | - <name>班次类型字典</name> | |
| 2007 | - <type>ValueMapper</type> | |
| 2008 | - <description/> | |
| 2009 | - <distribute>Y</distribute> | |
| 2010 | - <custom_distribution/> | |
| 2011 | - <copies>1</copies> | |
| 2012 | - <partitioning> | |
| 2013 | - <method>none</method> | |
| 2014 | - <schema_name/> | |
| 2015 | - </partitioning> | |
| 2016 | - <field_to_use>bctype</field_to_use> | |
| 2017 | - <target_field>bctype_code</target_field> | |
| 2018 | - <non_match_default>未知类型</non_match_default> | |
| 2019 | - <fields> | |
| 2020 | - <field> | |
| 2021 | - <source_value>正常班次</source_value> | |
| 2022 | - <target_value>normal</target_value> | |
| 2023 | - </field> | |
| 2024 | - <field> | |
| 2025 | - <source_value>出场</source_value> | |
| 2026 | - <target_value>out</target_value> | |
| 2027 | - </field> | |
| 2028 | - <field> | |
| 2029 | - <source_value>进场</source_value> | |
| 2030 | - <target_value>in</target_value> | |
| 2031 | - </field> | |
| 2032 | - <field> | |
| 2033 | - <source_value>加油</source_value> | |
| 2034 | - <target_value>oil</target_value> | |
| 2035 | - </field> | |
| 2036 | - <field> | |
| 2037 | - <source_value>临加</source_value> | |
| 2038 | - <target_value>temp</target_value> | |
| 2039 | - </field> | |
| 2040 | - <field> | |
| 2041 | - <source_value>区间</source_value> | |
| 2042 | - <target_value>region</target_value> | |
| 2043 | - </field> | |
| 2044 | - <field> | |
| 2045 | - <source_value>放空</source_value> | |
| 2046 | - <target_value>venting</target_value> | |
| 2047 | - </field> | |
| 2048 | - <field> | |
| 2049 | - <source_value>放大站</source_value> | |
| 2050 | - <target_value>major</target_value> | |
| 2051 | - </field> | |
| 2052 | - </fields> | |
| 2053 | - <cluster_schema/> | |
| 2054 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 2055 | - <xloc>149</xloc> | |
| 2056 | - <yloc>491</yloc> | |
| 2057 | - <draw>Y</draw> | |
| 2058 | - </GUI> | |
| 2059 | - </step> | |
| 2060 | - | |
| 2061 | - <step> | |
| 2062 | - <name>班次类型字典 2</name> | |
| 2063 | - <type>ValueMapper</type> | |
| 2064 | - <description/> | |
| 2065 | - <distribute>Y</distribute> | |
| 2066 | - <custom_distribution/> | |
| 2067 | - <copies>1</copies> | |
| 2068 | - <partitioning> | |
| 2069 | - <method>none</method> | |
| 2070 | - <schema_name/> | |
| 2071 | - </partitioning> | |
| 2072 | - <field_to_use>bctype</field_to_use> | |
| 2073 | - <target_field>bctype_code</target_field> | |
| 2074 | - <non_match_default>未知类型</non_match_default> | |
| 2075 | - <fields> | |
| 2076 | - <field> | |
| 2077 | - <source_value>正常班次</source_value> | |
| 2078 | - <target_value>normal</target_value> | |
| 2079 | - </field> | |
| 2080 | - <field> | |
| 2081 | - <source_value>出场</source_value> | |
| 2082 | - <target_value>out</target_value> | |
| 2083 | - </field> | |
| 2084 | - <field> | |
| 2085 | - <source_value>进场</source_value> | |
| 2086 | - <target_value>in</target_value> | |
| 2087 | - </field> | |
| 2088 | - <field> | |
| 2089 | - <source_value>加油</source_value> | |
| 2090 | - <target_value>oil</target_value> | |
| 2091 | - </field> | |
| 2092 | - <field> | |
| 2093 | - <source_value>临加</source_value> | |
| 2094 | - <target_value>temp</target_value> | |
| 2095 | - </field> | |
| 2096 | - <field> | |
| 2097 | - <source_value>区间</source_value> | |
| 2098 | - <target_value>region</target_value> | |
| 2099 | - </field> | |
| 2100 | - <field> | |
| 2101 | - <source_value>放空</source_value> | |
| 2102 | - <target_value>venting</target_value> | |
| 2103 | - </field> | |
| 2104 | - <field> | |
| 2105 | - <source_value>放大站</source_value> | |
| 2106 | - <target_value>major</target_value> | |
| 2107 | - </field> | |
| 2108 | - </fields> | |
| 2109 | - <cluster_schema/> | |
| 2110 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 2111 | - <xloc>437</xloc> | |
| 2112 | - <yloc>662</yloc> | |
| 2113 | - <draw>Y</draw> | |
| 2114 | - </GUI> | |
| 2115 | - </step> | |
| 2116 | - | |
| 2117 | - <step> | |
| 2118 | - <name>班次类型字典 3</name> | |
| 2119 | - <type>ValueMapper</type> | |
| 2120 | - <description/> | |
| 2121 | - <distribute>Y</distribute> | |
| 2122 | - <custom_distribution/> | |
| 2123 | - <copies>1</copies> | |
| 2124 | - <partitioning> | |
| 2125 | - <method>none</method> | |
| 2126 | - <schema_name/> | |
| 2127 | - </partitioning> | |
| 2128 | - <field_to_use>bctype</field_to_use> | |
| 2129 | - <target_field>bctype_code</target_field> | |
| 2130 | - <non_match_default>未知类型</non_match_default> | |
| 2131 | - <fields> | |
| 2132 | - <field> | |
| 2133 | - <source_value>正常班次</source_value> | |
| 2134 | - <target_value>normal</target_value> | |
| 2135 | - </field> | |
| 2136 | - <field> | |
| 2137 | - <source_value>出场</source_value> | |
| 2138 | - <target_value>out</target_value> | |
| 2139 | - </field> | |
| 2140 | - <field> | |
| 2141 | - <source_value>进场</source_value> | |
| 2142 | - <target_value>in</target_value> | |
| 2143 | - </field> | |
| 2144 | - <field> | |
| 2145 | - <source_value>加油</source_value> | |
| 2146 | - <target_value>oil</target_value> | |
| 2147 | - </field> | |
| 2148 | - <field> | |
| 2149 | - <source_value>临加</source_value> | |
| 2150 | - <target_value>temp</target_value> | |
| 2151 | - </field> | |
| 2152 | - <field> | |
| 2153 | - <source_value>区间</source_value> | |
| 2154 | - <target_value>region</target_value> | |
| 2155 | - </field> | |
| 2156 | - <field> | |
| 2157 | - <source_value>放空</source_value> | |
| 2158 | - <target_value>venting</target_value> | |
| 2159 | - </field> | |
| 2160 | - <field> | |
| 2161 | - <source_value>放大站</source_value> | |
| 2162 | - <target_value>major</target_value> | |
| 2163 | - </field> | |
| 2164 | - </fields> | |
| 2165 | - <cluster_schema/> | |
| 2166 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 2167 | - <xloc>590</xloc> | |
| 2168 | - <yloc>743</yloc> | |
| 2169 | - <draw>Y</draw> | |
| 2170 | - </GUI> | |
| 2171 | - </step> | |
| 2172 | - | |
| 2173 | - <step> | |
| 2174 | - <name>类型修正</name> | |
| 2175 | - <type>SelectValues</type> | |
| 2176 | - <description/> | |
| 2177 | - <distribute>Y</distribute> | |
| 2178 | - <custom_distribution/> | |
| 2179 | - <copies>1</copies> | |
| 2180 | - <partitioning> | |
| 2181 | - <method>none</method> | |
| 2182 | - <schema_name/> | |
| 2183 | - </partitioning> | |
| 2184 | - <fields> <select_unspecified>N</select_unspecified> | |
| 2185 | - <meta> <name>jhlc</name> | |
| 2186 | - <rename>jhlc</rename> | |
| 2187 | - <type>Number</type> | |
| 2188 | - <length>-2</length> | |
| 2189 | - <precision>-2</precision> | |
| 2190 | - <conversion_mask/> | |
| 2191 | - <date_format_lenient>false</date_format_lenient> | |
| 2192 | - <date_format_locale/> | |
| 2193 | - <date_format_timezone/> | |
| 2194 | - <lenient_string_to_number>false</lenient_string_to_number> | |
| 2195 | - <encoding/> | |
| 2196 | - <decimal_symbol/> | |
| 2197 | - <grouping_symbol/> | |
| 2198 | - <currency_symbol/> | |
| 2199 | - <storage_type/> | |
| 2200 | - </meta> <meta> <name>bcsj</name> | |
| 2201 | - <rename>bcsj</rename> | |
| 2202 | - <type>Integer</type> | |
| 2203 | - <length>-2</length> | |
| 2204 | - <precision>-2</precision> | |
| 2205 | - <conversion_mask/> | |
| 2206 | - <date_format_lenient>false</date_format_lenient> | |
| 2207 | - <date_format_locale/> | |
| 2208 | - <date_format_timezone/> | |
| 2209 | - <lenient_string_to_number>false</lenient_string_to_number> | |
| 2210 | - <encoding/> | |
| 2211 | - <decimal_symbol/> | |
| 2212 | - <grouping_symbol/> | |
| 2213 | - <currency_symbol/> | |
| 2214 | - <storage_type/> | |
| 2215 | - </meta> </fields> <cluster_schema/> | |
| 2216 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 2217 | - <xloc>146</xloc> | |
| 2218 | - <yloc>768</yloc> | |
| 2219 | - <draw>Y</draw> | |
| 2220 | - </GUI> | |
| 2221 | - </step> | |
| 2222 | - | |
| 2223 | - <step> | |
| 2224 | - <name>进场班次_处理数据</name> | |
| 2225 | - <type>ScriptValueMod</type> | |
| 2226 | - <description/> | |
| 2227 | - <distribute>Y</distribute> | |
| 2228 | - <custom_distribution/> | |
| 2229 | - <copies>1</copies> | |
| 2230 | - <partitioning> | |
| 2231 | - <method>none</method> | |
| 2232 | - <schema_name/> | |
| 2233 | - </partitioning> | |
| 2234 | - <compatible>N</compatible> | |
| 2235 | - <optimizationLevel>9</optimizationLevel> | |
| 2236 | - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> | |
| 2237 | - <jsScript_name>Script 1</jsScript_name> | |
| 2238 | - <jsScript_script>//Script here

// 添加站点标识
var qdzname_2 = '长岛路东陆路';
var tccname = '东靖路高行停车场';
var sxx = '1' // 下行;
var sendZdtype = 'B';</jsScript_script> | |
| 2239 | - </jsScript> </jsScripts> <fields> <field> <name>qdzname_2</name> | |
| 2240 | - <rename>qdzname_2</rename> | |
| 2241 | - <type>String</type> | |
| 2242 | - <length>-1</length> | |
| 2243 | - <precision>-1</precision> | |
| 2244 | - <replace>N</replace> | |
| 2245 | - </field> <field> <name>tccname</name> | |
| 2246 | - <rename>tccname</rename> | |
| 2247 | - <type>String</type> | |
| 2248 | - <length>-1</length> | |
| 2249 | - <precision>-1</precision> | |
| 2250 | - <replace>N</replace> | |
| 2251 | - </field> <field> <name>sxx</name> | |
| 2252 | - <rename>sxx</rename> | |
| 2253 | - <type>String</type> | |
| 2254 | - <length>-1</length> | |
| 2255 | - <precision>-1</precision> | |
| 2256 | - <replace>N</replace> | |
| 2257 | - </field> <field> <name>sendZdtype</name> | |
| 2258 | - <rename>sendZdtype</rename> | |
| 2259 | - <type>String</type> | |
| 2260 | - <length>-1</length> | |
| 2261 | - <precision>-1</precision> | |
| 2262 | - <replace>N</replace> | |
| 2263 | - </field> </fields> <cluster_schema/> | |
| 2264 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 2265 | - <xloc>871</xloc> | |
| 2266 | - <yloc>608</yloc> | |
| 2267 | - <draw>Y</draw> | |
| 2268 | - </GUI> | |
| 2269 | - </step> | |
| 2270 | - | |
| 2271 | - <step> | |
| 2272 | - <name>进场班次数据</name> | |
| 2273 | - <type>Dummy</type> | |
| 2274 | - <description/> | |
| 2275 | - <distribute>Y</distribute> | |
| 2276 | - <custom_distribution/> | |
| 2277 | - <copies>1</copies> | |
| 2278 | - <partitioning> | |
| 2279 | - <method>none</method> | |
| 2280 | - <schema_name/> | |
| 2281 | - </partitioning> | |
| 2282 | - <cluster_schema/> | |
| 2283 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 2284 | - <xloc>997</xloc> | |
| 2285 | - <yloc>606</yloc> | |
| 2286 | - <draw>Y</draw> | |
| 2287 | - </GUI> | |
| 2288 | - </step> | |
| 2289 | - | |
| 2290 | - <step> | |
| 2291 | - <name>计算班次类型</name> | |
| 2292 | - <type>ValueMapper</type> | |
| 2293 | - <description/> | |
| 2294 | - <distribute>Y</distribute> | |
| 2295 | - <custom_distribution/> | |
| 2296 | - <copies>1</copies> | |
| 2297 | - <partitioning> | |
| 2298 | - <method>none</method> | |
| 2299 | - <schema_name/> | |
| 2300 | - </partitioning> | |
| 2301 | - <field_to_use>qdzname_replace</field_to_use> | |
| 2302 | - <target_field>bctype</target_field> | |
| 2303 | - <non_match_default>正常班次</non_match_default> | |
| 2304 | - <fields> | |
| 2305 | - <field> | |
| 2306 | - <source_value>出场</source_value> | |
| 2307 | - <target_value>出场</target_value> | |
| 2308 | - </field> | |
| 2309 | - <field> | |
| 2310 | - <source_value>进场</source_value> | |
| 2311 | - <target_value>进场</target_value> | |
| 2312 | - </field> | |
| 2313 | - </fields> | |
| 2314 | - <cluster_schema/> | |
| 2315 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 2316 | - <xloc>1014</xloc> | |
| 2317 | - <yloc>401</yloc> | |
| 2318 | - <draw>Y</draw> | |
| 2319 | - </GUI> | |
| 2320 | - </step> | |
| 2321 | - | |
| 2322 | - <step_error_handling> | |
| 2323 | - </step_error_handling> | |
| 2324 | - <slave-step-copy-partition-distribution> | |
| 2325 | -</slave-step-copy-partition-distribution> | |
| 2326 | - <slave_transformation>N</slave_transformation> | |
| 2327 | - | |
| 2328 | -</transformation> | |
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<transformation> | |
| 3 | + <info> | |
| 4 | + <name>ttinfodetailDataInput</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 | + </parameters> | |
| 13 | + <log> | |
| 14 | +<trans-log-table><connection/> | |
| 15 | +<schema/> | |
| 16 | +<table/> | |
| 17 | +<size_limit_lines/> | |
| 18 | +<interval/> | |
| 19 | +<timeout_days/> | |
| 20 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STATUS</id><enabled>Y</enabled><name>STATUS</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name><subject/></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name><subject/></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name><subject/></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name><subject/></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name><subject/></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name><subject/></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>STARTDATE</id><enabled>Y</enabled><name>STARTDATE</name></field><field><id>ENDDATE</id><enabled>Y</enabled><name>ENDDATE</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>DEPDATE</id><enabled>Y</enabled><name>DEPDATE</name></field><field><id>REPLAYDATE</id><enabled>Y</enabled><name>REPLAYDATE</name></field><field><id>LOG_FIELD</id><enabled>Y</enabled><name>LOG_FIELD</name></field><field><id>EXECUTING_SERVER</id><enabled>N</enabled><name>EXECUTING_SERVER</name></field><field><id>EXECUTING_USER</id><enabled>N</enabled><name>EXECUTING_USER</name></field><field><id>CLIENT</id><enabled>N</enabled><name>CLIENT</name></field></trans-log-table> | |
| 21 | +<perf-log-table><connection/> | |
| 22 | +<schema/> | |
| 23 | +<table/> | |
| 24 | +<interval/> | |
| 25 | +<timeout_days/> | |
| 26 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>SEQ_NR</id><enabled>Y</enabled><name>SEQ_NR</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>INPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>INPUT_BUFFER_ROWS</name></field><field><id>OUTPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>OUTPUT_BUFFER_ROWS</name></field></perf-log-table> | |
| 27 | +<channel-log-table><connection/> | |
| 28 | +<schema/> | |
| 29 | +<table/> | |
| 30 | +<timeout_days/> | |
| 31 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>LOGGING_OBJECT_TYPE</id><enabled>Y</enabled><name>LOGGING_OBJECT_TYPE</name></field><field><id>OBJECT_NAME</id><enabled>Y</enabled><name>OBJECT_NAME</name></field><field><id>OBJECT_COPY</id><enabled>Y</enabled><name>OBJECT_COPY</name></field><field><id>REPOSITORY_DIRECTORY</id><enabled>Y</enabled><name>REPOSITORY_DIRECTORY</name></field><field><id>FILENAME</id><enabled>Y</enabled><name>FILENAME</name></field><field><id>OBJECT_ID</id><enabled>Y</enabled><name>OBJECT_ID</name></field><field><id>OBJECT_REVISION</id><enabled>Y</enabled><name>OBJECT_REVISION</name></field><field><id>PARENT_CHANNEL_ID</id><enabled>Y</enabled><name>PARENT_CHANNEL_ID</name></field><field><id>ROOT_CHANNEL_ID</id><enabled>Y</enabled><name>ROOT_CHANNEL_ID</name></field></channel-log-table> | |
| 32 | +<step-log-table><connection/> | |
| 33 | +<schema/> | |
| 34 | +<table/> | |
| 35 | +<timeout_days/> | |
| 36 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>LOG_FIELD</id><enabled>N</enabled><name>LOG_FIELD</name></field></step-log-table> | |
| 37 | +<metrics-log-table><connection/> | |
| 38 | +<schema/> | |
| 39 | +<table/> | |
| 40 | +<timeout_days/> | |
| 41 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>METRICS_DATE</id><enabled>Y</enabled><name>METRICS_DATE</name></field><field><id>METRICS_CODE</id><enabled>Y</enabled><name>METRICS_CODE</name></field><field><id>METRICS_DESCRIPTION</id><enabled>Y</enabled><name>METRICS_DESCRIPTION</name></field><field><id>METRICS_SUBJECT</id><enabled>Y</enabled><name>METRICS_SUBJECT</name></field><field><id>METRICS_TYPE</id><enabled>Y</enabled><name>METRICS_TYPE</name></field><field><id>METRICS_VALUE</id><enabled>Y</enabled><name>METRICS_VALUE</name></field></metrics-log-table> | |
| 42 | + </log> | |
| 43 | + <maxdate> | |
| 44 | + <connection/> | |
| 45 | + <table/> | |
| 46 | + <field/> | |
| 47 | + <offset>0.0</offset> | |
| 48 | + <maxdiff>0.0</maxdiff> | |
| 49 | + </maxdate> | |
| 50 | + <size_rowset>10000</size_rowset> | |
| 51 | + <sleep_time_empty>50</sleep_time_empty> | |
| 52 | + <sleep_time_full>50</sleep_time_full> | |
| 53 | + <unique_connections>N</unique_connections> | |
| 54 | + <feedback_shown>Y</feedback_shown> | |
| 55 | + <feedback_size>50000</feedback_size> | |
| 56 | + <using_thread_priorities>Y</using_thread_priorities> | |
| 57 | + <shared_objects_file/> | |
| 58 | + <capture_step_performance>N</capture_step_performance> | |
| 59 | + <step_performance_capturing_delay>1000</step_performance_capturing_delay> | |
| 60 | + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit> | |
| 61 | + <dependencies> | |
| 62 | + </dependencies> | |
| 63 | + <partitionschemas> | |
| 64 | + </partitionschemas> | |
| 65 | + <slaveservers> | |
| 66 | + </slaveservers> | |
| 67 | + <clusterschemas> | |
| 68 | + </clusterschemas> | |
| 69 | + <created_user>-</created_user> | |
| 70 | + <created_date>2016/06/30 12:21:57.536</created_date> | |
| 71 | + <modified_user>-</modified_user> | |
| 72 | + <modified_date>2016/06/30 12:21:57.536</modified_date> | |
| 73 | + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key> | |
| 74 | + <is_key_private>N</is_key_private> | |
| 75 | + </info> | |
| 76 | + <notepads> | |
| 77 | + <notepad> | |
| 78 | + <note>字典表对应(以后直接查找表 bsth_c_sys_dictionary)
类型 代码 名称
LineTrend 0 上行
LineTrend 1 下行
ScheduleType normal 正常班次
ScheduleType out 出场
ScheduleType in 进场
ScheduleType temp 临加
ScheduleType region 区间
ScheduleType venting 放空
ScheduleType major 放大站</note> | |
| 79 | + <xloc>606</xloc> | |
| 80 | + <yloc>129</yloc> | |
| 81 | + <width>332</width> | |
| 82 | + <heigth>186</heigth> | |
| 83 | + <fontname>YaHei Consolas Hybrid</fontname> | |
| 84 | + <fontsize>12</fontsize> | |
| 85 | + <fontbold>N</fontbold> | |
| 86 | + <fontitalic>N</fontitalic> | |
| 87 | + <fontcolorred>0</fontcolorred> | |
| 88 | + <fontcolorgreen>0</fontcolorgreen> | |
| 89 | + <fontcolorblue>0</fontcolorblue> | |
| 90 | + <backgroundcolorred>255</backgroundcolorred> | |
| 91 | + <backgroundcolorgreen>205</backgroundcolorgreen> | |
| 92 | + <backgroundcolorblue>112</backgroundcolorblue> | |
| 93 | + <bordercolorred>100</bordercolorred> | |
| 94 | + <bordercolorgreen>100</bordercolorgreen> | |
| 95 | + <bordercolorblue>100</bordercolorblue> | |
| 96 | + <drawshadow>Y</drawshadow> | |
| 97 | + </notepad> | |
| 98 | + <notepad> | |
| 99 | + <note>因为时刻表输入格式不确定性,主要因为表结构是反范式化的,
所以需要外部动态指定愿数据,头三个step动态指定愿数据
</note> | |
| 100 | + <xloc>64</xloc> | |
| 101 | + <yloc>224</yloc> | |
| 102 | + <width>346</width> | |
| 103 | + <heigth>58</heigth> | |
| 104 | + <fontname>YaHei Consolas Hybrid</fontname> | |
| 105 | + <fontsize>12</fontsize> | |
| 106 | + <fontbold>N</fontbold> | |
| 107 | + <fontitalic>N</fontitalic> | |
| 108 | + <fontcolorred>0</fontcolorred> | |
| 109 | + <fontcolorgreen>0</fontcolorgreen> | |
| 110 | + <fontcolorblue>0</fontcolorblue> | |
| 111 | + <backgroundcolorred>255</backgroundcolorred> | |
| 112 | + <backgroundcolorgreen>205</backgroundcolorgreen> | |
| 113 | + <backgroundcolorblue>112</backgroundcolorblue> | |
| 114 | + <bordercolorred>100</bordercolorred> | |
| 115 | + <bordercolorgreen>100</bordercolorgreen> | |
| 116 | + <bordercolorblue>100</bordercolorblue> | |
| 117 | + <drawshadow>Y</drawshadow> | |
| 118 | + </notepad> | |
| 119 | + </notepads> | |
| 120 | + <connection> | |
| 121 | + <name>bus_control_公司_201</name> | |
| 122 | + <server>localhost</server> | |
| 123 | + <type>MYSQL</type> | |
| 124 | + <access>Native</access> | |
| 125 | + <database>control</database> | |
| 126 | + <port>3306</port> | |
| 127 | + <username>root</username> | |
| 128 | + <password>Encrypted </password> | |
| 129 | + <servername/> | |
| 130 | + <data_tablespace/> | |
| 131 | + <index_tablespace/> | |
| 132 | + <attributes> | |
| 133 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 134 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 135 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 136 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 137 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 138 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 139 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 140 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 141 | + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | |
| 142 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 143 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 144 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 145 | + </attributes> | |
| 146 | + </connection> | |
| 147 | + <connection> | |
| 148 | + <name>bus_control_variable</name> | |
| 149 | + <server>${v_db_ip}</server> | |
| 150 | + <type>MYSQL</type> | |
| 151 | + <access>Native</access> | |
| 152 | + <database>control</database> | |
| 153 | + <port>3306</port> | |
| 154 | + <username>${v_db_uname}</username> | |
| 155 | + <password>${v_db_pwd}</password> | |
| 156 | + <servername/> | |
| 157 | + <data_tablespace/> | |
| 158 | + <index_tablespace/> | |
| 159 | + <attributes> | |
| 160 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 161 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 162 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 163 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 164 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 165 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 166 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 167 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 168 | + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | |
| 169 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 170 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 171 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 172 | + </attributes> | |
| 173 | + </connection> | |
| 174 | + <connection> | |
| 175 | + <name>bus_control_本机</name> | |
| 176 | + <server>localhost</server> | |
| 177 | + <type>MYSQL</type> | |
| 178 | + <access>Native</access> | |
| 179 | + <database>control</database> | |
| 180 | + <port>3306</port> | |
| 181 | + <username>root</username> | |
| 182 | + <password>Encrypted </password> | |
| 183 | + <servername/> | |
| 184 | + <data_tablespace/> | |
| 185 | + <index_tablespace/> | |
| 186 | + <attributes> | |
| 187 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 188 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 189 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 190 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 191 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 192 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 193 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 194 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 195 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 196 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 197 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 198 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 199 | + </attributes> | |
| 200 | + </connection> | |
| 201 | + <connection> | |
| 202 | + <name>xlab_mysql_youle</name> | |
| 203 | + <server>101.231.124.8</server> | |
| 204 | + <type>MYSQL</type> | |
| 205 | + <access>Native</access> | |
| 206 | + <database>xlab_youle</database> | |
| 207 | + <port>45687</port> | |
| 208 | + <username>xlab-youle</username> | |
| 209 | + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password> | |
| 210 | + <servername/> | |
| 211 | + <data_tablespace/> | |
| 212 | + <index_tablespace/> | |
| 213 | + <attributes> | |
| 214 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 215 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 216 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 217 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 218 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 219 | + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute> | |
| 220 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 221 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 222 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 223 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 224 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 225 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 226 | + </attributes> | |
| 227 | + </connection> | |
| 228 | + <connection> | |
| 229 | + <name>xlab_mysql_youle(本机)</name> | |
| 230 | + <server>localhost</server> | |
| 231 | + <type>MYSQL</type> | |
| 232 | + <access>Native</access> | |
| 233 | + <database>xlab_youle</database> | |
| 234 | + <port>3306</port> | |
| 235 | + <username>root</username> | |
| 236 | + <password>Encrypted </password> | |
| 237 | + <servername/> | |
| 238 | + <data_tablespace/> | |
| 239 | + <index_tablespace/> | |
| 240 | + <attributes> | |
| 241 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 242 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 243 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 244 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 245 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 246 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 247 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 248 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 249 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 250 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 251 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 252 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 253 | + </attributes> | |
| 254 | + </connection> | |
| 255 | + <connection> | |
| 256 | + <name>xlab_youle</name> | |
| 257 | + <server/> | |
| 258 | + <type>MYSQL</type> | |
| 259 | + <access>JNDI</access> | |
| 260 | + <database>xlab_youle</database> | |
| 261 | + <port>1521</port> | |
| 262 | + <username/> | |
| 263 | + <password>Encrypted </password> | |
| 264 | + <servername/> | |
| 265 | + <data_tablespace/> | |
| 266 | + <index_tablespace/> | |
| 267 | + <attributes> | |
| 268 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 269 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 270 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 271 | + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | |
| 272 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 273 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 274 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 275 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 276 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 277 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 278 | + </attributes> | |
| 279 | + </connection> | |
| 280 | + <order> | |
| 281 | + <hop> <from>时刻表明细信息Excel输入</from><to>班次数据范式化</to><enabled>Y</enabled> </hop> | |
| 282 | + <hop> <from>添加发车顺序号</from><to>过滤记录(发车时间为空)</to><enabled>Y</enabled> </hop> | |
| 283 | + <hop> <from>过滤记录(发车时间为空)</from><to>添加对应班次数</to><enabled>Y</enabled> </hop> | |
| 284 | + <hop> <from>添加对应班次数</from><to>处理数据</to><enabled>Y</enabled> </hop> | |
| 285 | + <hop> <from>处理数据</from><to>分组各个路牌的站</to><enabled>Y</enabled> </hop> | |
| 286 | + <hop> <from>查找时刻表基础信息关联</from><to>查找路牌关联</to><enabled>Y</enabled> </hop> | |
| 287 | + <hop> <from>查找线路关联</from><to>查找时刻表基础信息关联</to><enabled>Y</enabled> </hop> | |
| 288 | + <hop> <from>上下行字典</from><to>班次类型字典</to><enabled>Y</enabled> </hop> | |
| 289 | + <hop> <from>上下行字典 2</from><to>班次类型字典 2</to><enabled>Y</enabled> </hop> | |
| 290 | + <hop> <from>上下行字典 3</from><to>班次类型字典 3</to><enabled>Y</enabled> </hop> | |
| 291 | + <hop> <from>匹配上下行班次里程时间</from><to>类型修正</to><enabled>Y</enabled> </hop> | |
| 292 | + <hop> <from>按照班次类型过滤数据1</from><to>按照班次类型过滤数据2</to><enabled>Y</enabled> </hop> | |
| 293 | + <hop> <from>按照班次类型过滤数据1</from><to>正常班次数据</to><enabled>Y</enabled> </hop> | |
| 294 | + <hop> <from>按照班次类型过滤数据2</from><to>出场班次数据</to><enabled>Y</enabled> </hop> | |
| 295 | + <hop> <from>按照班次类型过滤数据2</from><to>进场班次数据</to><enabled>Y</enabled> </hop> | |
| 296 | + <hop> <from>查找线路上下行里程时间</from><to>匹配上下行班次里程时间</to><enabled>Y</enabled> </hop> | |
| 297 | + <hop> <from>查找终点站关联</from><to>上下行字典</to><enabled>Y</enabled> </hop> | |
| 298 | + <hop> <from>查找起点站关联并确定上下行</from><to>查找终点站关联</to><enabled>Y</enabled> </hop> | |
| 299 | + <hop> <from>正常班次_处理数据</from><to>查找起点站关联并确定上下行</to><enabled>Y</enabled> </hop> | |
| 300 | + <hop> <from>正常班次数据</from><to>正常班次_处理数据</to><enabled>Y</enabled> </hop> | |
| 301 | + <hop> <from>班次类型字典</from><to>查找线路上下行里程时间</to><enabled>Y</enabled> </hop> | |
| 302 | + <hop> <from>班次类型字典 2</from><to>查找线路出场里程时间</to><enabled>Y</enabled> </hop> | |
| 303 | + <hop> <from>班次类型字典 3</from><to>查找线路进场里程时间</to><enabled>Y</enabled> </hop> | |
| 304 | + <hop> <from>查找路牌关联</from><to>计算班次类型</to><enabled>Y</enabled> </hop> | |
| 305 | + <hop> <from>计算班次类型</from><to>按照班次类型过滤数据1</to><enabled>Y</enabled> </hop> | |
| 306 | + <hop> <from>出场班次数据</from><to>查找停车场1</to><enabled>Y</enabled> </hop> | |
| 307 | + <hop> <from>查找停车场1</from><to>出场班次_确定终点站名字</to><enabled>Y</enabled> </hop> | |
| 308 | + <hop> <from>出场班次_确定终点站名字</from><to>查找出场终点站关联并确定上下行</to><enabled>Y</enabled> </hop> | |
| 309 | + <hop> <from>查找出场终点站关联并确定上下行</from><to>上下行字典 2</to><enabled>Y</enabled> </hop> | |
| 310 | + <hop> <from>进场班次数据</from><to>查找停车场2</to><enabled>Y</enabled> </hop> | |
| 311 | + <hop> <from>查找停车场2</from><to>进场班次_确定起点站名字</to><enabled>Y</enabled> </hop> | |
| 312 | + <hop> <from>进场班次_确定起点站名字</from><to>查找进场班次上一个班次的线路方向</to><enabled>Y</enabled> </hop> | |
| 313 | + <hop> <from>查找进场班次上一个班次的线路方向</from><to>查找进场班次上一个班次的终点站,并作为进场班次的起点站</to><enabled>Y</enabled> </hop> | |
| 314 | + <hop> <from>查找进场班次上一个班次的终点站,并作为进场班次的起点站</from><to>上下行字典 3</to><enabled>Y</enabled> </hop> | |
| 315 | + <hop> <from>字段选择</from><to>添加发车顺序号</to><enabled>Y</enabled> </hop> | |
| 316 | + <hop> <from>分组各个路牌的站</from><to>查找线路关联</to><enabled>Y</enabled> </hop> | |
| 317 | + <hop> <from>增加时刻表名字,线路名字,停车场名字</from><to>记录关联 (笛卡尔输出)</to><enabled>Y</enabled> </hop> | |
| 318 | + <hop> <from>班次数据范式化</from><to>记录关联 (笛卡尔输出)</to><enabled>Y</enabled> </hop> | |
| 319 | + <hop> <from>记录关联 (笛卡尔输出)</from><to>字段选择</to><enabled>Y</enabled> </hop> | |
| 320 | + </order> | |
| 321 | + <step> | |
| 322 | + <name>上下行字典</name> | |
| 323 | + <type>ValueMapper</type> | |
| 324 | + <description/> | |
| 325 | + <distribute>Y</distribute> | |
| 326 | + <custom_distribution/> | |
| 327 | + <copies>1</copies> | |
| 328 | + <partitioning> | |
| 329 | + <method>none</method> | |
| 330 | + <schema_name/> | |
| 331 | + </partitioning> | |
| 332 | + <field_to_use>sxx</field_to_use> | |
| 333 | + <target_field>sxx_desc</target_field> | |
| 334 | + <non_match_default/> | |
| 335 | + <fields> | |
| 336 | + <field> | |
| 337 | + <source_value>0</source_value> | |
| 338 | + <target_value>上行</target_value> | |
| 339 | + </field> | |
| 340 | + <field> | |
| 341 | + <source_value>1</source_value> | |
| 342 | + <target_value>下行</target_value> | |
| 343 | + </field> | |
| 344 | + </fields> | |
| 345 | + <cluster_schema/> | |
| 346 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 347 | + <xloc>147</xloc> | |
| 348 | + <yloc>403</yloc> | |
| 349 | + <draw>Y</draw> | |
| 350 | + </GUI> | |
| 351 | + </step> | |
| 352 | + | |
| 353 | + <step> | |
| 354 | + <name>上下行字典 2</name> | |
| 355 | + <type>ValueMapper</type> | |
| 356 | + <description/> | |
| 357 | + <distribute>Y</distribute> | |
| 358 | + <custom_distribution/> | |
| 359 | + <copies>1</copies> | |
| 360 | + <partitioning> | |
| 361 | + <method>none</method> | |
| 362 | + <schema_name/> | |
| 363 | + </partitioning> | |
| 364 | + <field_to_use>sxx</field_to_use> | |
| 365 | + <target_field>sxx_desc</target_field> | |
| 366 | + <non_match_default/> | |
| 367 | + <fields> | |
| 368 | + <field> | |
| 369 | + <source_value>0</source_value> | |
| 370 | + <target_value>上行</target_value> | |
| 371 | + </field> | |
| 372 | + <field> | |
| 373 | + <source_value>1</source_value> | |
| 374 | + <target_value>下行</target_value> | |
| 375 | + </field> | |
| 376 | + </fields> | |
| 377 | + <cluster_schema/> | |
| 378 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 379 | + <xloc>331</xloc> | |
| 380 | + <yloc>598</yloc> | |
| 381 | + <draw>Y</draw> | |
| 382 | + </GUI> | |
| 383 | + </step> | |
| 384 | + | |
| 385 | + <step> | |
| 386 | + <name>上下行字典 3</name> | |
| 387 | + <type>ValueMapper</type> | |
| 388 | + <description/> | |
| 389 | + <distribute>Y</distribute> | |
| 390 | + <custom_distribution/> | |
| 391 | + <copies>1</copies> | |
| 392 | + <partitioning> | |
| 393 | + <method>none</method> | |
| 394 | + <schema_name/> | |
| 395 | + </partitioning> | |
| 396 | + <field_to_use>sxx</field_to_use> | |
| 397 | + <target_field>sxx_desc</target_field> | |
| 398 | + <non_match_default/> | |
| 399 | + <fields> | |
| 400 | + <field> | |
| 401 | + <source_value>0</source_value> | |
| 402 | + <target_value>上行</target_value> | |
| 403 | + </field> | |
| 404 | + <field> | |
| 405 | + <source_value>1</source_value> | |
| 406 | + <target_value>下行</target_value> | |
| 407 | + </field> | |
| 408 | + </fields> | |
| 409 | + <cluster_schema/> | |
| 410 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 411 | + <xloc>550</xloc> | |
| 412 | + <yloc>775</yloc> | |
| 413 | + <draw>Y</draw> | |
| 414 | + </GUI> | |
| 415 | + </step> | |
| 416 | + | |
| 417 | + <step> | |
| 418 | + <name>出场班次_确定终点站名字</name> | |
| 419 | + <type>ScriptValueMod</type> | |
| 420 | + <description/> | |
| 421 | + <distribute>Y</distribute> | |
| 422 | + <custom_distribution/> | |
| 423 | + <copies>1</copies> | |
| 424 | + <partitioning> | |
| 425 | + <method>none</method> | |
| 426 | + <schema_name/> | |
| 427 | + </partitioning> | |
| 428 | + <compatible>N</compatible> | |
| 429 | + <optimizationLevel>9</optimizationLevel> | |
| 430 | + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> | |
| 431 | + <jsScript_name>Script 1</jsScript_name> | |
| 432 | + <jsScript_script>//Script here

// 添加站点标识
var cc_groups = qdzgroups.split(","); // 所有班次起点站数组
var zdzname = cc_groups[gno]; // 出场班次的终点站是下个班次的起始站
var endZdtype = 'B';</jsScript_script> | |
| 433 | + </jsScript> </jsScripts> <fields> <field> <name>zdzname</name> | |
| 434 | + <rename>zdzname</rename> | |
| 435 | + <type>String</type> | |
| 436 | + <length>-1</length> | |
| 437 | + <precision>-1</precision> | |
| 438 | + <replace>N</replace> | |
| 439 | + </field> <field> <name>endZdtype</name> | |
| 440 | + <rename>endZdtype</rename> | |
| 441 | + <type>String</type> | |
| 442 | + <length>-1</length> | |
| 443 | + <precision>-1</precision> | |
| 444 | + <replace>N</replace> | |
| 445 | + </field> </fields> <cluster_schema/> | |
| 446 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 447 | + <xloc>575</xloc> | |
| 448 | + <yloc>502</yloc> | |
| 449 | + <draw>Y</draw> | |
| 450 | + </GUI> | |
| 451 | + </step> | |
| 452 | + | |
| 453 | + <step> | |
| 454 | + <name>出场班次数据</name> | |
| 455 | + <type>Dummy</type> | |
| 456 | + <description/> | |
| 457 | + <distribute>Y</distribute> | |
| 458 | + <custom_distribution/> | |
| 459 | + <copies>1</copies> | |
| 460 | + <partitioning> | |
| 461 | + <method>none</method> | |
| 462 | + <schema_name/> | |
| 463 | + </partitioning> | |
| 464 | + <cluster_schema/> | |
| 465 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 466 | + <xloc>869</xloc> | |
| 467 | + <yloc>504</yloc> | |
| 468 | + <draw>Y</draw> | |
| 469 | + </GUI> | |
| 470 | + </step> | |
| 471 | + | |
| 472 | + <step> | |
| 473 | + <name>分组各个路牌的站</name> | |
| 474 | + <type>GroupBy</type> | |
| 475 | + <description/> | |
| 476 | + <distribute>Y</distribute> | |
| 477 | + <custom_distribution/> | |
| 478 | + <copies>1</copies> | |
| 479 | + <partitioning> | |
| 480 | + <method>none</method> | |
| 481 | + <schema_name/> | |
| 482 | + </partitioning> | |
| 483 | + <all_rows>Y</all_rows> | |
| 484 | + <ignore_aggregate>N</ignore_aggregate> | |
| 485 | + <field_ignore/> | |
| 486 | + <directory>%%java.io.tmpdir%%</directory> | |
| 487 | + <prefix>grp</prefix> | |
| 488 | + <add_linenr>Y</add_linenr> | |
| 489 | + <linenr_fieldname>gno</linenr_fieldname> | |
| 490 | + <give_back_row>N</give_back_row> | |
| 491 | + <group> | |
| 492 | + <field> | |
| 493 | + <name>lp</name> | |
| 494 | + </field> | |
| 495 | + </group> | |
| 496 | + <fields> | |
| 497 | + <field> | |
| 498 | + <aggregate>qdzgroups</aggregate> | |
| 499 | + <subject>qdzname</subject> | |
| 500 | + <type>CONCAT_STRING</type> | |
| 501 | + <valuefield>,</valuefield> | |
| 502 | + </field> | |
| 503 | + </fields> | |
| 504 | + <cluster_schema/> | |
| 505 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 506 | + <xloc>892</xloc> | |
| 507 | + <yloc>44</yloc> | |
| 508 | + <draw>Y</draw> | |
| 509 | + </GUI> | |
| 510 | + </step> | |
| 511 | + | |
| 512 | + <step> | |
| 513 | + <name>匹配上下行班次里程时间</name> | |
| 514 | + <type>ScriptValueMod</type> | |
| 515 | + <description/> | |
| 516 | + <distribute>Y</distribute> | |
| 517 | + <custom_distribution/> | |
| 518 | + <copies>1</copies> | |
| 519 | + <partitioning> | |
| 520 | + <method>none</method> | |
| 521 | + <schema_name/> | |
| 522 | + </partitioning> | |
| 523 | + <compatible>N</compatible> | |
| 524 | + <optimizationLevel>9</optimizationLevel> | |
| 525 | + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> | |
| 526 | + <jsScript_name>Script 1</jsScript_name> | |
| 527 | + <jsScript_script>//Script here

var jhlc; // 计划里程
var bcsj; // 班次时间

if (sxx == 0) { // 上行
 jhlc = up_mileage;
 bcsj = up_travel_time;
} else { // sxx == 1 下行
 jhlc = down_mileage;
 bcsj = down_travel_time;
}</jsScript_script> | |
| 528 | + </jsScript> </jsScripts> <fields> <field> <name>jhlc</name> | |
| 529 | + <rename>jhlc</rename> | |
| 530 | + <type>String</type> | |
| 531 | + <length>-1</length> | |
| 532 | + <precision>-1</precision> | |
| 533 | + <replace>N</replace> | |
| 534 | + </field> <field> <name>bcsj</name> | |
| 535 | + <rename>bcsj</rename> | |
| 536 | + <type>String</type> | |
| 537 | + <length>-1</length> | |
| 538 | + <precision>-1</precision> | |
| 539 | + <replace>N</replace> | |
| 540 | + </field> </fields> <cluster_schema/> | |
| 541 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 542 | + <xloc>148</xloc> | |
| 543 | + <yloc>674</yloc> | |
| 544 | + <draw>Y</draw> | |
| 545 | + </GUI> | |
| 546 | + </step> | |
| 547 | + | |
| 548 | + <step> | |
| 549 | + <name>增加时刻表名字,线路名字,停车场名字</name> | |
| 550 | + <type>DataGrid</type> | |
| 551 | + <description/> | |
| 552 | + <distribute>Y</distribute> | |
| 553 | + <custom_distribution/> | |
| 554 | + <copies>1</copies> | |
| 555 | + <partitioning> | |
| 556 | + <method>none</method> | |
| 557 | + <schema_name/> | |
| 558 | + </partitioning> | |
| 559 | + <fields> | |
| 560 | + </fields> | |
| 561 | + <data> | |
| 562 | + <line> </line> | |
| 563 | + </data> | |
| 564 | + <cluster_schema/> | |
| 565 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 566 | + <xloc>110</xloc> | |
| 567 | + <yloc>133</yloc> | |
| 568 | + <draw>Y</draw> | |
| 569 | + </GUI> | |
| 570 | + </step> | |
| 571 | + | |
| 572 | + <step> | |
| 573 | + <name>处理数据</name> | |
| 574 | + <type>ScriptValueMod</type> | |
| 575 | + <description/> | |
| 576 | + <distribute>Y</distribute> | |
| 577 | + <custom_distribution/> | |
| 578 | + <copies>1</copies> | |
| 579 | + <partitioning> | |
| 580 | + <method>none</method> | |
| 581 | + <schema_name/> | |
| 582 | + </partitioning> | |
| 583 | + <compatible>N</compatible> | |
| 584 | + <optimizationLevel>9</optimizationLevel> | |
| 585 | + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> | |
| 586 | + <jsScript_name>Script 1</jsScript_name> | |
| 587 | + <jsScript_script>//Script here

// 使用正则表达式去除站点名称中的数字
qdzname = qdzname.replace(/\d+/g,'');

</jsScript_script> | |
| 588 | + </jsScript> </jsScripts> <fields> <field> <name>qdzname</name> | |
| 589 | + <rename>qdzname</rename> | |
| 590 | + <type>String</type> | |
| 591 | + <length>-1</length> | |
| 592 | + <precision>-1</precision> | |
| 593 | + <replace>Y</replace> | |
| 594 | + </field> </fields> <cluster_schema/> | |
| 595 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 596 | + <xloc>788</xloc> | |
| 597 | + <yloc>44</yloc> | |
| 598 | + <draw>Y</draw> | |
| 599 | + </GUI> | |
| 600 | + </step> | |
| 601 | + | |
| 602 | + <step> | |
| 603 | + <name>字段选择</name> | |
| 604 | + <type>SelectValues</type> | |
| 605 | + <description/> | |
| 606 | + <distribute>Y</distribute> | |
| 607 | + <custom_distribution/> | |
| 608 | + <copies>1</copies> | |
| 609 | + <partitioning> | |
| 610 | + <method>none</method> | |
| 611 | + <schema_name/> | |
| 612 | + </partitioning> | |
| 613 | + <fields> <field> <name>路牌</name> | |
| 614 | + <rename>lp</rename> | |
| 615 | + <length>-2</length> | |
| 616 | + <precision>-2</precision> | |
| 617 | + </field> <field> <name>站点名称</name> | |
| 618 | + <rename>qdzname</rename> | |
| 619 | + <length>-2</length> | |
| 620 | + <precision>-2</precision> | |
| 621 | + </field> <field> <name>发车时间</name> | |
| 622 | + <rename>sendtime</rename> | |
| 623 | + <length>-2</length> | |
| 624 | + <precision>-2</precision> | |
| 625 | + </field> <select_unspecified>Y</select_unspecified> | |
| 626 | + </fields> <cluster_schema/> | |
| 627 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 628 | + <xloc>444</xloc> | |
| 629 | + <yloc>131</yloc> | |
| 630 | + <draw>Y</draw> | |
| 631 | + </GUI> | |
| 632 | + </step> | |
| 633 | + | |
| 634 | + <step> | |
| 635 | + <name>按照班次类型过滤数据1</name> | |
| 636 | + <type>FilterRows</type> | |
| 637 | + <description/> | |
| 638 | + <distribute>Y</distribute> | |
| 639 | + <custom_distribution/> | |
| 640 | + <copies>1</copies> | |
| 641 | + <partitioning> | |
| 642 | + <method>none</method> | |
| 643 | + <schema_name/> | |
| 644 | + </partitioning> | |
| 645 | +<send_true_to>正常班次数据</send_true_to> | |
| 646 | +<send_false_to>按照班次类型过滤数据2</send_false_to> | |
| 647 | + <compare> | |
| 648 | +<condition> | |
| 649 | + <negated>N</negated> | |
| 650 | + <leftvalue>bctype</leftvalue> | |
| 651 | + <function>=</function> | |
| 652 | + <rightvalue/> | |
| 653 | + <value><name>constant</name><type>String</type><text>正常班次</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition> | |
| 654 | + </compare> | |
| 655 | + <cluster_schema/> | |
| 656 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 657 | + <xloc>868</xloc> | |
| 658 | + <yloc>404</yloc> | |
| 659 | + <draw>Y</draw> | |
| 660 | + </GUI> | |
| 661 | + </step> | |
| 662 | + | |
| 663 | + <step> | |
| 664 | + <name>按照班次类型过滤数据2</name> | |
| 665 | + <type>FilterRows</type> | |
| 666 | + <description/> | |
| 667 | + <distribute>Y</distribute> | |
| 668 | + <custom_distribution/> | |
| 669 | + <copies>1</copies> | |
| 670 | + <partitioning> | |
| 671 | + <method>none</method> | |
| 672 | + <schema_name/> | |
| 673 | + </partitioning> | |
| 674 | +<send_true_to>出场班次数据</send_true_to> | |
| 675 | +<send_false_to>进场班次数据</send_false_to> | |
| 676 | + <compare> | |
| 677 | +<condition> | |
| 678 | + <negated>N</negated> | |
| 679 | + <leftvalue>bctype</leftvalue> | |
| 680 | + <function>=</function> | |
| 681 | + <rightvalue/> | |
| 682 | + <value><name>constant</name><type>String</type><text>出场</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition> | |
| 683 | + </compare> | |
| 684 | + <cluster_schema/> | |
| 685 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 686 | + <xloc>995</xloc> | |
| 687 | + <yloc>503</yloc> | |
| 688 | + <draw>Y</draw> | |
| 689 | + </GUI> | |
| 690 | + </step> | |
| 691 | + | |
| 692 | + <step> | |
| 693 | + <name>时刻表明细信息Excel输入</name> | |
| 694 | + <type>ExcelInput</type> | |
| 695 | + <description/> | |
| 696 | + <distribute>Y</distribute> | |
| 697 | + <custom_distribution/> | |
| 698 | + <copies>1</copies> | |
| 699 | + <partitioning> | |
| 700 | + <method>none</method> | |
| 701 | + <schema_name/> | |
| 702 | + </partitioning> | |
| 703 | + <header>Y</header> | |
| 704 | + <noempty>Y</noempty> | |
| 705 | + <stoponempty>N</stoponempty> | |
| 706 | + <filefield/> | |
| 707 | + <sheetfield/> | |
| 708 | + <sheetrownumfield/> | |
| 709 | + <rownumfield/> | |
| 710 | + <sheetfield/> | |
| 711 | + <filefield/> | |
| 712 | + <limit>0</limit> | |
| 713 | + <encoding/> | |
| 714 | + <add_to_result_filenames>Y</add_to_result_filenames> | |
| 715 | + <accept_filenames>N</accept_filenames> | |
| 716 | + <accept_field/> | |
| 717 | + <accept_stepname/> | |
| 718 | + <file> | |
| 719 | + <name/> | |
| 720 | + <filemask/> | |
| 721 | + <exclude_filemask/> | |
| 722 | + <file_required>N</file_required> | |
| 723 | + <include_subfolders>N</include_subfolders> | |
| 724 | + </file> | |
| 725 | + <fields> | |
| 726 | + </fields> | |
| 727 | + <sheets> | |
| 728 | + <sheet> | |
| 729 | + <name>工作表1</name> | |
| 730 | + <startrow>0</startrow> | |
| 731 | + <startcol>0</startcol> | |
| 732 | + </sheet> | |
| 733 | + </sheets> | |
| 734 | + <strict_types>N</strict_types> | |
| 735 | + <error_ignored>N</error_ignored> | |
| 736 | + <error_line_skipped>N</error_line_skipped> | |
| 737 | + <bad_line_files_destination_directory/> | |
| 738 | + <bad_line_files_extension>warning</bad_line_files_extension> | |
| 739 | + <error_line_files_destination_directory/> | |
| 740 | + <error_line_files_extension>error</error_line_files_extension> | |
| 741 | + <line_number_files_destination_directory/> | |
| 742 | + <line_number_files_extension>line</line_number_files_extension> | |
| 743 | + <shortFileFieldName/> | |
| 744 | + <pathFieldName/> | |
| 745 | + <hiddenFieldName/> | |
| 746 | + <lastModificationTimeFieldName/> | |
| 747 | + <uriNameFieldName/> | |
| 748 | + <rootUriNameFieldName/> | |
| 749 | + <extensionFieldName/> | |
| 750 | + <sizeFieldName/> | |
| 751 | + <spreadsheet_type>JXL</spreadsheet_type> | |
| 752 | + <cluster_schema/> | |
| 753 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 754 | + <xloc>112</xloc> | |
| 755 | + <yloc>44</yloc> | |
| 756 | + <draw>Y</draw> | |
| 757 | + </GUI> | |
| 758 | + </step> | |
| 759 | + | |
| 760 | + <step> | |
| 761 | + <name>查找停车场1</name> | |
| 762 | + <type>DBLookup</type> | |
| 763 | + <description/> | |
| 764 | + <distribute>Y</distribute> | |
| 765 | + <custom_distribution/> | |
| 766 | + <copies>1</copies> | |
| 767 | + <partitioning> | |
| 768 | + <method>none</method> | |
| 769 | + <schema_name/> | |
| 770 | + </partitioning> | |
| 771 | + <connection>bus_control_variable</connection> | |
| 772 | + <cache>N</cache> | |
| 773 | + <cache_load_all>N</cache_load_all> | |
| 774 | + <cache_size>0</cache_size> | |
| 775 | + <lookup> | |
| 776 | + <schema/> | |
| 777 | + <table>bsth_c_car_park</table> | |
| 778 | + <orderby/> | |
| 779 | + <fail_on_multiple>N</fail_on_multiple> | |
| 780 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 781 | + <key> | |
| 782 | + <name>tccname_</name> | |
| 783 | + <field>park_name</field> | |
| 784 | + <condition>=</condition> | |
| 785 | + <name2/> | |
| 786 | + </key> | |
| 787 | + <value> | |
| 788 | + <name>id</name> | |
| 789 | + <rename>qdzid</rename> | |
| 790 | + <default/> | |
| 791 | + <type>Integer</type> | |
| 792 | + </value> | |
| 793 | + </lookup> | |
| 794 | + <cluster_schema/> | |
| 795 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 796 | + <xloc>755</xloc> | |
| 797 | + <yloc>504</yloc> | |
| 798 | + <draw>Y</draw> | |
| 799 | + </GUI> | |
| 800 | + </step> | |
| 801 | + | |
| 802 | + <step> | |
| 803 | + <name>查找停车场2</name> | |
| 804 | + <type>DBLookup</type> | |
| 805 | + <description/> | |
| 806 | + <distribute>Y</distribute> | |
| 807 | + <custom_distribution/> | |
| 808 | + <copies>1</copies> | |
| 809 | + <partitioning> | |
| 810 | + <method>none</method> | |
| 811 | + <schema_name/> | |
| 812 | + </partitioning> | |
| 813 | + <connection>bus_control_variable</connection> | |
| 814 | + <cache>N</cache> | |
| 815 | + <cache_load_all>N</cache_load_all> | |
| 816 | + <cache_size>0</cache_size> | |
| 817 | + <lookup> | |
| 818 | + <schema/> | |
| 819 | + <table>bsth_c_car_park</table> | |
| 820 | + <orderby/> | |
| 821 | + <fail_on_multiple>N</fail_on_multiple> | |
| 822 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 823 | + <key> | |
| 824 | + <name>tccname_</name> | |
| 825 | + <field>park_name</field> | |
| 826 | + <condition>=</condition> | |
| 827 | + <name2/> | |
| 828 | + </key> | |
| 829 | + <value> | |
| 830 | + <name>id</name> | |
| 831 | + <rename>zdzid</rename> | |
| 832 | + <default/> | |
| 833 | + <type>Integer</type> | |
| 834 | + </value> | |
| 835 | + </lookup> | |
| 836 | + <cluster_schema/> | |
| 837 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 838 | + <xloc>887</xloc> | |
| 839 | + <yloc>608</yloc> | |
| 840 | + <draw>Y</draw> | |
| 841 | + </GUI> | |
| 842 | + </step> | |
| 843 | + | |
| 844 | + <step> | |
| 845 | + <name>查找出场终点站关联并确定上下行</name> | |
| 846 | + <type>DBLookup</type> | |
| 847 | + <description/> | |
| 848 | + <distribute>Y</distribute> | |
| 849 | + <custom_distribution/> | |
| 850 | + <copies>1</copies> | |
| 851 | + <partitioning> | |
| 852 | + <method>none</method> | |
| 853 | + <schema_name/> | |
| 854 | + </partitioning> | |
| 855 | + <connection>bus_control_variable</connection> | |
| 856 | + <cache>N</cache> | |
| 857 | + <cache_load_all>N</cache_load_all> | |
| 858 | + <cache_size>0</cache_size> | |
| 859 | + <lookup> | |
| 860 | + <schema/> | |
| 861 | + <table>bsth_c_stationroute</table> | |
| 862 | + <orderby/> | |
| 863 | + <fail_on_multiple>N</fail_on_multiple> | |
| 864 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 865 | + <key> | |
| 866 | + <name>xlid</name> | |
| 867 | + <field>line</field> | |
| 868 | + <condition>=</condition> | |
| 869 | + <name2/> | |
| 870 | + </key> | |
| 871 | + <key> | |
| 872 | + <name>zdzname</name> | |
| 873 | + <field>station_name</field> | |
| 874 | + <condition>=</condition> | |
| 875 | + <name2/> | |
| 876 | + </key> | |
| 877 | + <key> | |
| 878 | + <name>endZdtype</name> | |
| 879 | + <field>station_mark</field> | |
| 880 | + <condition>=</condition> | |
| 881 | + <name2/> | |
| 882 | + </key> | |
| 883 | + <value> | |
| 884 | + <name>station</name> | |
| 885 | + <rename>zdzid</rename> | |
| 886 | + <default/> | |
| 887 | + <type>Integer</type> | |
| 888 | + </value> | |
| 889 | + <value> | |
| 890 | + <name>directions</name> | |
| 891 | + <rename>sxx</rename> | |
| 892 | + <default/> | |
| 893 | + <type>Integer</type> | |
| 894 | + </value> | |
| 895 | + </lookup> | |
| 896 | + <cluster_schema/> | |
| 897 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 898 | + <xloc>329</xloc> | |
| 899 | + <yloc>505</yloc> | |
| 900 | + <draw>Y</draw> | |
| 901 | + </GUI> | |
| 902 | + </step> | |
| 903 | + | |
| 904 | + <step> | |
| 905 | + <name>查找时刻表基础信息关联</name> | |
| 906 | + <type>DBLookup</type> | |
| 907 | + <description/> | |
| 908 | + <distribute>Y</distribute> | |
| 909 | + <custom_distribution/> | |
| 910 | + <copies>1</copies> | |
| 911 | + <partitioning> | |
| 912 | + <method>none</method> | |
| 913 | + <schema_name/> | |
| 914 | + </partitioning> | |
| 915 | + <connection>bus_control_variable</connection> | |
| 916 | + <cache>N</cache> | |
| 917 | + <cache_load_all>N</cache_load_all> | |
| 918 | + <cache_size>0</cache_size> | |
| 919 | + <lookup> | |
| 920 | + <schema/> | |
| 921 | + <table>bsth_c_s_ttinfo</table> | |
| 922 | + <orderby/> | |
| 923 | + <fail_on_multiple>N</fail_on_multiple> | |
| 924 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 925 | + <key> | |
| 926 | + <name>xlid</name> | |
| 927 | + <field>xl</field> | |
| 928 | + <condition>=</condition> | |
| 929 | + <name2/> | |
| 930 | + </key> | |
| 931 | + <key> | |
| 932 | + <name>ttinfoname_</name> | |
| 933 | + <field>name</field> | |
| 934 | + <condition>=</condition> | |
| 935 | + <name2/> | |
| 936 | + </key> | |
| 937 | + <value> | |
| 938 | + <name>id</name> | |
| 939 | + <rename>ttid</rename> | |
| 940 | + <default/> | |
| 941 | + <type>Integer</type> | |
| 942 | + </value> | |
| 943 | + </lookup> | |
| 944 | + <cluster_schema/> | |
| 945 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 946 | + <xloc>1011</xloc> | |
| 947 | + <yloc>134</yloc> | |
| 948 | + <draw>Y</draw> | |
| 949 | + </GUI> | |
| 950 | + </step> | |
| 951 | + | |
| 952 | + <step> | |
| 953 | + <name>查找线路上下行里程时间</name> | |
| 954 | + <type>DBLookup</type> | |
| 955 | + <description/> | |
| 956 | + <distribute>Y</distribute> | |
| 957 | + <custom_distribution/> | |
| 958 | + <copies>1</copies> | |
| 959 | + <partitioning> | |
| 960 | + <method>none</method> | |
| 961 | + <schema_name/> | |
| 962 | + </partitioning> | |
| 963 | + <connection>bus_control_variable</connection> | |
| 964 | + <cache>N</cache> | |
| 965 | + <cache_load_all>N</cache_load_all> | |
| 966 | + <cache_size>0</cache_size> | |
| 967 | + <lookup> | |
| 968 | + <schema/> | |
| 969 | + <table>bsth_c_line_information</table> | |
| 970 | + <orderby/> | |
| 971 | + <fail_on_multiple>N</fail_on_multiple> | |
| 972 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 973 | + <key> | |
| 974 | + <name>xlid</name> | |
| 975 | + <field>line</field> | |
| 976 | + <condition>=</condition> | |
| 977 | + <name2/> | |
| 978 | + </key> | |
| 979 | + <value> | |
| 980 | + <name>up_mileage</name> | |
| 981 | + <rename>up_mileage</rename> | |
| 982 | + <default/> | |
| 983 | + <type>Number</type> | |
| 984 | + </value> | |
| 985 | + <value> | |
| 986 | + <name>down_mileage</name> | |
| 987 | + <rename>down_mileage</rename> | |
| 988 | + <default/> | |
| 989 | + <type>Number</type> | |
| 990 | + </value> | |
| 991 | + <value> | |
| 992 | + <name>up_travel_time</name> | |
| 993 | + <rename>up_travel_time</rename> | |
| 994 | + <default/> | |
| 995 | + <type>Number</type> | |
| 996 | + </value> | |
| 997 | + <value> | |
| 998 | + <name>down_travel_time</name> | |
| 999 | + <rename>down_travel_time</rename> | |
| 1000 | + <default/> | |
| 1001 | + <type>Number</type> | |
| 1002 | + </value> | |
| 1003 | + </lookup> | |
| 1004 | + <cluster_schema/> | |
| 1005 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1006 | + <xloc>149</xloc> | |
| 1007 | + <yloc>581</yloc> | |
| 1008 | + <draw>Y</draw> | |
| 1009 | + </GUI> | |
| 1010 | + </step> | |
| 1011 | + | |
| 1012 | + <step> | |
| 1013 | + <name>查找线路关联</name> | |
| 1014 | + <type>DBLookup</type> | |
| 1015 | + <description/> | |
| 1016 | + <distribute>Y</distribute> | |
| 1017 | + <custom_distribution/> | |
| 1018 | + <copies>1</copies> | |
| 1019 | + <partitioning> | |
| 1020 | + <method>none</method> | |
| 1021 | + <schema_name/> | |
| 1022 | + </partitioning> | |
| 1023 | + <connection>bus_control_variable</connection> | |
| 1024 | + <cache>N</cache> | |
| 1025 | + <cache_load_all>N</cache_load_all> | |
| 1026 | + <cache_size>0</cache_size> | |
| 1027 | + <lookup> | |
| 1028 | + <schema/> | |
| 1029 | + <table>bsth_c_line</table> | |
| 1030 | + <orderby/> | |
| 1031 | + <fail_on_multiple>N</fail_on_multiple> | |
| 1032 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 1033 | + <key> | |
| 1034 | + <name>xlname_</name> | |
| 1035 | + <field>name</field> | |
| 1036 | + <condition>=</condition> | |
| 1037 | + <name2/> | |
| 1038 | + </key> | |
| 1039 | + <value> | |
| 1040 | + <name>id</name> | |
| 1041 | + <rename>xlid</rename> | |
| 1042 | + <default/> | |
| 1043 | + <type>Integer</type> | |
| 1044 | + </value> | |
| 1045 | + </lookup> | |
| 1046 | + <cluster_schema/> | |
| 1047 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1048 | + <xloc>1007</xloc> | |
| 1049 | + <yloc>43</yloc> | |
| 1050 | + <draw>Y</draw> | |
| 1051 | + </GUI> | |
| 1052 | + </step> | |
| 1053 | + | |
| 1054 | + <step> | |
| 1055 | + <name>查找线路出场里程时间</name> | |
| 1056 | + <type>DBLookup</type> | |
| 1057 | + <description/> | |
| 1058 | + <distribute>Y</distribute> | |
| 1059 | + <custom_distribution/> | |
| 1060 | + <copies>1</copies> | |
| 1061 | + <partitioning> | |
| 1062 | + <method>none</method> | |
| 1063 | + <schema_name/> | |
| 1064 | + </partitioning> | |
| 1065 | + <connection>bus_control_variable</connection> | |
| 1066 | + <cache>N</cache> | |
| 1067 | + <cache_load_all>N</cache_load_all> | |
| 1068 | + <cache_size>0</cache_size> | |
| 1069 | + <lookup> | |
| 1070 | + <schema/> | |
| 1071 | + <table>bsth_c_line_information</table> | |
| 1072 | + <orderby/> | |
| 1073 | + <fail_on_multiple>N</fail_on_multiple> | |
| 1074 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 1075 | + <key> | |
| 1076 | + <name>xlid</name> | |
| 1077 | + <field>line</field> | |
| 1078 | + <condition>=</condition> | |
| 1079 | + <name2/> | |
| 1080 | + </key> | |
| 1081 | + <value> | |
| 1082 | + <name>out_mileage</name> | |
| 1083 | + <rename>out_mileage</rename> | |
| 1084 | + <default/> | |
| 1085 | + <type>Number</type> | |
| 1086 | + </value> | |
| 1087 | + <value> | |
| 1088 | + <name>out_time</name> | |
| 1089 | + <rename>out_time</rename> | |
| 1090 | + <default/> | |
| 1091 | + <type>Number</type> | |
| 1092 | + </value> | |
| 1093 | + </lookup> | |
| 1094 | + <cluster_schema/> | |
| 1095 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1096 | + <xloc>335</xloc> | |
| 1097 | + <yloc>763</yloc> | |
| 1098 | + <draw>Y</draw> | |
| 1099 | + </GUI> | |
| 1100 | + </step> | |
| 1101 | + | |
| 1102 | + <step> | |
| 1103 | + <name>查找线路进场里程时间</name> | |
| 1104 | + <type>DBLookup</type> | |
| 1105 | + <description/> | |
| 1106 | + <distribute>Y</distribute> | |
| 1107 | + <custom_distribution/> | |
| 1108 | + <copies>1</copies> | |
| 1109 | + <partitioning> | |
| 1110 | + <method>none</method> | |
| 1111 | + <schema_name/> | |
| 1112 | + </partitioning> | |
| 1113 | + <connection>bus_control_variable</connection> | |
| 1114 | + <cache>N</cache> | |
| 1115 | + <cache_load_all>N</cache_load_all> | |
| 1116 | + <cache_size>0</cache_size> | |
| 1117 | + <lookup> | |
| 1118 | + <schema/> | |
| 1119 | + <table>bsth_c_line_information</table> | |
| 1120 | + <orderby/> | |
| 1121 | + <fail_on_multiple>N</fail_on_multiple> | |
| 1122 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 1123 | + <key> | |
| 1124 | + <name>xlid</name> | |
| 1125 | + <field>line</field> | |
| 1126 | + <condition>=</condition> | |
| 1127 | + <name2/> | |
| 1128 | + </key> | |
| 1129 | + <value> | |
| 1130 | + <name>parade_mileage</name> | |
| 1131 | + <rename>parade_mileage</rename> | |
| 1132 | + <default/> | |
| 1133 | + <type>Number</type> | |
| 1134 | + </value> | |
| 1135 | + <value> | |
| 1136 | + <name>parade_time</name> | |
| 1137 | + <rename>parade_time</rename> | |
| 1138 | + <default/> | |
| 1139 | + <type>Number</type> | |
| 1140 | + </value> | |
| 1141 | + </lookup> | |
| 1142 | + <cluster_schema/> | |
| 1143 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1144 | + <xloc>550</xloc> | |
| 1145 | + <yloc>920</yloc> | |
| 1146 | + <draw>Y</draw> | |
| 1147 | + </GUI> | |
| 1148 | + </step> | |
| 1149 | + | |
| 1150 | + <step> | |
| 1151 | + <name>查找终点站关联</name> | |
| 1152 | + <type>DBLookup</type> | |
| 1153 | + <description/> | |
| 1154 | + <distribute>Y</distribute> | |
| 1155 | + <custom_distribution/> | |
| 1156 | + <copies>1</copies> | |
| 1157 | + <partitioning> | |
| 1158 | + <method>none</method> | |
| 1159 | + <schema_name/> | |
| 1160 | + </partitioning> | |
| 1161 | + <connection>bus_control_variable</connection> | |
| 1162 | + <cache>N</cache> | |
| 1163 | + <cache_load_all>N</cache_load_all> | |
| 1164 | + <cache_size>0</cache_size> | |
| 1165 | + <lookup> | |
| 1166 | + <schema/> | |
| 1167 | + <table>bsth_c_stationroute</table> | |
| 1168 | + <orderby/> | |
| 1169 | + <fail_on_multiple>N</fail_on_multiple> | |
| 1170 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 1171 | + <key> | |
| 1172 | + <name>xlid</name> | |
| 1173 | + <field>line</field> | |
| 1174 | + <condition>=</condition> | |
| 1175 | + <name2/> | |
| 1176 | + </key> | |
| 1177 | + <key> | |
| 1178 | + <name>sxx</name> | |
| 1179 | + <field>directions</field> | |
| 1180 | + <condition>=</condition> | |
| 1181 | + <name2/> | |
| 1182 | + </key> | |
| 1183 | + <key> | |
| 1184 | + <name>endZdtype</name> | |
| 1185 | + <field>station_mark</field> | |
| 1186 | + <condition>=</condition> | |
| 1187 | + <name2/> | |
| 1188 | + </key> | |
| 1189 | + <value> | |
| 1190 | + <name>station_name</name> | |
| 1191 | + <rename>zdzname</rename> | |
| 1192 | + <default/> | |
| 1193 | + <type>String</type> | |
| 1194 | + </value> | |
| 1195 | + <value> | |
| 1196 | + <name>station</name> | |
| 1197 | + <rename>zdzid</rename> | |
| 1198 | + <default/> | |
| 1199 | + <type>Integer</type> | |
| 1200 | + </value> | |
| 1201 | + </lookup> | |
| 1202 | + <cluster_schema/> | |
| 1203 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1204 | + <xloc>280</xloc> | |
| 1205 | + <yloc>404</yloc> | |
| 1206 | + <draw>Y</draw> | |
| 1207 | + </GUI> | |
| 1208 | + </step> | |
| 1209 | + | |
| 1210 | + <step> | |
| 1211 | + <name>查找起点站关联并确定上下行</name> | |
| 1212 | + <type>DBLookup</type> | |
| 1213 | + <description/> | |
| 1214 | + <distribute>Y</distribute> | |
| 1215 | + <custom_distribution/> | |
| 1216 | + <copies>1</copies> | |
| 1217 | + <partitioning> | |
| 1218 | + <method>none</method> | |
| 1219 | + <schema_name/> | |
| 1220 | + </partitioning> | |
| 1221 | + <connection>bus_control_variable</connection> | |
| 1222 | + <cache>N</cache> | |
| 1223 | + <cache_load_all>N</cache_load_all> | |
| 1224 | + <cache_size>0</cache_size> | |
| 1225 | + <lookup> | |
| 1226 | + <schema/> | |
| 1227 | + <table>bsth_c_stationroute</table> | |
| 1228 | + <orderby/> | |
| 1229 | + <fail_on_multiple>N</fail_on_multiple> | |
| 1230 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 1231 | + <key> | |
| 1232 | + <name>xlid</name> | |
| 1233 | + <field>line</field> | |
| 1234 | + <condition>=</condition> | |
| 1235 | + <name2/> | |
| 1236 | + </key> | |
| 1237 | + <key> | |
| 1238 | + <name>qdzname</name> | |
| 1239 | + <field>station_name</field> | |
| 1240 | + <condition>=</condition> | |
| 1241 | + <name2/> | |
| 1242 | + </key> | |
| 1243 | + <key> | |
| 1244 | + <name>sendZdtype</name> | |
| 1245 | + <field>station_mark</field> | |
| 1246 | + <condition>=</condition> | |
| 1247 | + <name2/> | |
| 1248 | + </key> | |
| 1249 | + <value> | |
| 1250 | + <name>station</name> | |
| 1251 | + <rename>qdzid</rename> | |
| 1252 | + <default/> | |
| 1253 | + <type>Integer</type> | |
| 1254 | + </value> | |
| 1255 | + <value> | |
| 1256 | + <name>directions</name> | |
| 1257 | + <rename>sxx</rename> | |
| 1258 | + <default/> | |
| 1259 | + <type>Integer</type> | |
| 1260 | + </value> | |
| 1261 | + </lookup> | |
| 1262 | + <cluster_schema/> | |
| 1263 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1264 | + <xloc>430</xloc> | |
| 1265 | + <yloc>403</yloc> | |
| 1266 | + <draw>Y</draw> | |
| 1267 | + </GUI> | |
| 1268 | + </step> | |
| 1269 | + | |
| 1270 | + <step> | |
| 1271 | + <name>查找路牌关联</name> | |
| 1272 | + <type>DBLookup</type> | |
| 1273 | + <description/> | |
| 1274 | + <distribute>Y</distribute> | |
| 1275 | + <custom_distribution/> | |
| 1276 | + <copies>1</copies> | |
| 1277 | + <partitioning> | |
| 1278 | + <method>none</method> | |
| 1279 | + <schema_name/> | |
| 1280 | + </partitioning> | |
| 1281 | + <connection>bus_control_variable</connection> | |
| 1282 | + <cache>N</cache> | |
| 1283 | + <cache_load_all>N</cache_load_all> | |
| 1284 | + <cache_size>0</cache_size> | |
| 1285 | + <lookup> | |
| 1286 | + <schema/> | |
| 1287 | + <table>bsth_c_s_gbi</table> | |
| 1288 | + <orderby/> | |
| 1289 | + <fail_on_multiple>N</fail_on_multiple> | |
| 1290 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 1291 | + <key> | |
| 1292 | + <name>xlid</name> | |
| 1293 | + <field>xl</field> | |
| 1294 | + <condition>=</condition> | |
| 1295 | + <name2/> | |
| 1296 | + </key> | |
| 1297 | + <key> | |
| 1298 | + <name>lp</name> | |
| 1299 | + <field>lp_name</field> | |
| 1300 | + <condition>=</condition> | |
| 1301 | + <name2/> | |
| 1302 | + </key> | |
| 1303 | + <value> | |
| 1304 | + <name>id</name> | |
| 1305 | + <rename>lpid</rename> | |
| 1306 | + <default/> | |
| 1307 | + <type>Integer</type> | |
| 1308 | + </value> | |
| 1309 | + </lookup> | |
| 1310 | + <cluster_schema/> | |
| 1311 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1312 | + <xloc>1013</xloc> | |
| 1313 | + <yloc>265</yloc> | |
| 1314 | + <draw>Y</draw> | |
| 1315 | + </GUI> | |
| 1316 | + </step> | |
| 1317 | + | |
| 1318 | + <step> | |
| 1319 | + <name>查找进场班次上一个班次的线路方向</name> | |
| 1320 | + <type>DBLookup</type> | |
| 1321 | + <description/> | |
| 1322 | + <distribute>Y</distribute> | |
| 1323 | + <custom_distribution/> | |
| 1324 | + <copies>1</copies> | |
| 1325 | + <partitioning> | |
| 1326 | + <method>none</method> | |
| 1327 | + <schema_name/> | |
| 1328 | + </partitioning> | |
| 1329 | + <connection>bus_control_variable</connection> | |
| 1330 | + <cache>N</cache> | |
| 1331 | + <cache_load_all>N</cache_load_all> | |
| 1332 | + <cache_size>0</cache_size> | |
| 1333 | + <lookup> | |
| 1334 | + <schema/> | |
| 1335 | + <table>bsth_c_stationroute</table> | |
| 1336 | + <orderby/> | |
| 1337 | + <fail_on_multiple>N</fail_on_multiple> | |
| 1338 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 1339 | + <key> | |
| 1340 | + <name>xlid</name> | |
| 1341 | + <field>line</field> | |
| 1342 | + <condition>=</condition> | |
| 1343 | + <name2/> | |
| 1344 | + </key> | |
| 1345 | + <key> | |
| 1346 | + <name>startZdtype_calcu</name> | |
| 1347 | + <field>station_mark</field> | |
| 1348 | + <condition>=</condition> | |
| 1349 | + <name2/> | |
| 1350 | + </key> | |
| 1351 | + <key> | |
| 1352 | + <name>qdzname_calcu</name> | |
| 1353 | + <field>station_name</field> | |
| 1354 | + <condition>=</condition> | |
| 1355 | + <name2/> | |
| 1356 | + </key> | |
| 1357 | + <value> | |
| 1358 | + <name>directions</name> | |
| 1359 | + <rename>sxx</rename> | |
| 1360 | + <default/> | |
| 1361 | + <type>String</type> | |
| 1362 | + </value> | |
| 1363 | + </lookup> | |
| 1364 | + <cluster_schema/> | |
| 1365 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1366 | + <xloc>548</xloc> | |
| 1367 | + <yloc>610</yloc> | |
| 1368 | + <draw>Y</draw> | |
| 1369 | + </GUI> | |
| 1370 | + </step> | |
| 1371 | + | |
| 1372 | + <step> | |
| 1373 | + <name>查找进场班次上一个班次的终点站,并作为进场班次的起点站</name> | |
| 1374 | + <type>DBLookup</type> | |
| 1375 | + <description/> | |
| 1376 | + <distribute>Y</distribute> | |
| 1377 | + <custom_distribution/> | |
| 1378 | + <copies>1</copies> | |
| 1379 | + <partitioning> | |
| 1380 | + <method>none</method> | |
| 1381 | + <schema_name/> | |
| 1382 | + </partitioning> | |
| 1383 | + <connection>bus_control_variable</connection> | |
| 1384 | + <cache>N</cache> | |
| 1385 | + <cache_load_all>N</cache_load_all> | |
| 1386 | + <cache_size>0</cache_size> | |
| 1387 | + <lookup> | |
| 1388 | + <schema/> | |
| 1389 | + <table>bsth_c_stationroute</table> | |
| 1390 | + <orderby/> | |
| 1391 | + <fail_on_multiple>N</fail_on_multiple> | |
| 1392 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 1393 | + <key> | |
| 1394 | + <name>xlid</name> | |
| 1395 | + <field>line</field> | |
| 1396 | + <condition>=</condition> | |
| 1397 | + <name2/> | |
| 1398 | + </key> | |
| 1399 | + <key> | |
| 1400 | + <name>endZdtype_calcu</name> | |
| 1401 | + <field>station_mark</field> | |
| 1402 | + <condition>=</condition> | |
| 1403 | + <name2/> | |
| 1404 | + </key> | |
| 1405 | + <key> | |
| 1406 | + <name>sxx</name> | |
| 1407 | + <field>directions</field> | |
| 1408 | + <condition>=</condition> | |
| 1409 | + <name2/> | |
| 1410 | + </key> | |
| 1411 | + <value> | |
| 1412 | + <name>station</name> | |
| 1413 | + <rename>qdzid</rename> | |
| 1414 | + <default/> | |
| 1415 | + <type>Integer</type> | |
| 1416 | + </value> | |
| 1417 | + </lookup> | |
| 1418 | + <cluster_schema/> | |
| 1419 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1420 | + <xloc>550</xloc> | |
| 1421 | + <yloc>701</yloc> | |
| 1422 | + <draw>Y</draw> | |
| 1423 | + </GUI> | |
| 1424 | + </step> | |
| 1425 | + | |
| 1426 | + <step> | |
| 1427 | + <name>正常班次_处理数据</name> | |
| 1428 | + <type>ScriptValueMod</type> | |
| 1429 | + <description/> | |
| 1430 | + <distribute>Y</distribute> | |
| 1431 | + <custom_distribution/> | |
| 1432 | + <copies>1</copies> | |
| 1433 | + <partitioning> | |
| 1434 | + <method>none</method> | |
| 1435 | + <schema_name/> | |
| 1436 | + </partitioning> | |
| 1437 | + <compatible>N</compatible> | |
| 1438 | + <optimizationLevel>9</optimizationLevel> | |
| 1439 | + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> | |
| 1440 | + <jsScript_name>Script 1</jsScript_name> | |
| 1441 | + <jsScript_script>//Script here

// 添加站点标识
var sendZdtype = 'B';
var endZdtype = 'E';
</jsScript_script> | |
| 1442 | + </jsScript> </jsScripts> <fields> <field> <name>sendZdtype</name> | |
| 1443 | + <rename>sendZdtype</rename> | |
| 1444 | + <type>String</type> | |
| 1445 | + <length>-1</length> | |
| 1446 | + <precision>-1</precision> | |
| 1447 | + <replace>N</replace> | |
| 1448 | + </field> <field> <name>endZdtype</name> | |
| 1449 | + <rename>endZdtype</rename> | |
| 1450 | + <type>String</type> | |
| 1451 | + <length>-1</length> | |
| 1452 | + <precision>-1</precision> | |
| 1453 | + <replace>N</replace> | |
| 1454 | + </field> </fields> <cluster_schema/> | |
| 1455 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1456 | + <xloc>588</xloc> | |
| 1457 | + <yloc>403</yloc> | |
| 1458 | + <draw>Y</draw> | |
| 1459 | + </GUI> | |
| 1460 | + </step> | |
| 1461 | + | |
| 1462 | + <step> | |
| 1463 | + <name>正常班次数据</name> | |
| 1464 | + <type>Dummy</type> | |
| 1465 | + <description/> | |
| 1466 | + <distribute>Y</distribute> | |
| 1467 | + <custom_distribution/> | |
| 1468 | + <copies>1</copies> | |
| 1469 | + <partitioning> | |
| 1470 | + <method>none</method> | |
| 1471 | + <schema_name/> | |
| 1472 | + </partitioning> | |
| 1473 | + <cluster_schema/> | |
| 1474 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1475 | + <xloc>725</xloc> | |
| 1476 | + <yloc>404</yloc> | |
| 1477 | + <draw>Y</draw> | |
| 1478 | + </GUI> | |
| 1479 | + </step> | |
| 1480 | + | |
| 1481 | + <step> | |
| 1482 | + <name>添加发车顺序号</name> | |
| 1483 | + <type>GroupBy</type> | |
| 1484 | + <description/> | |
| 1485 | + <distribute>Y</distribute> | |
| 1486 | + <custom_distribution/> | |
| 1487 | + <copies>1</copies> | |
| 1488 | + <partitioning> | |
| 1489 | + <method>none</method> | |
| 1490 | + <schema_name/> | |
| 1491 | + </partitioning> | |
| 1492 | + <all_rows>Y</all_rows> | |
| 1493 | + <ignore_aggregate>N</ignore_aggregate> | |
| 1494 | + <field_ignore/> | |
| 1495 | + <directory>%%java.io.tmpdir%%</directory> | |
| 1496 | + <prefix>grp</prefix> | |
| 1497 | + <add_linenr>Y</add_linenr> | |
| 1498 | + <linenr_fieldname>fcno</linenr_fieldname> | |
| 1499 | + <give_back_row>N</give_back_row> | |
| 1500 | + <group> | |
| 1501 | + <field> | |
| 1502 | + <name>lp</name> | |
| 1503 | + </field> | |
| 1504 | + </group> | |
| 1505 | + <fields> | |
| 1506 | + </fields> | |
| 1507 | + <cluster_schema/> | |
| 1508 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1509 | + <xloc>442</xloc> | |
| 1510 | + <yloc>44</yloc> | |
| 1511 | + <draw>Y</draw> | |
| 1512 | + </GUI> | |
| 1513 | + </step> | |
| 1514 | + | |
| 1515 | + <step> | |
| 1516 | + <name>添加对应班次数</name> | |
| 1517 | + <type>GroupBy</type> | |
| 1518 | + <description/> | |
| 1519 | + <distribute>Y</distribute> | |
| 1520 | + <custom_distribution/> | |
| 1521 | + <copies>1</copies> | |
| 1522 | + <partitioning> | |
| 1523 | + <method>none</method> | |
| 1524 | + <schema_name/> | |
| 1525 | + </partitioning> | |
| 1526 | + <all_rows>Y</all_rows> | |
| 1527 | + <ignore_aggregate>N</ignore_aggregate> | |
| 1528 | + <field_ignore/> | |
| 1529 | + <directory>%%java.io.tmpdir%%</directory> | |
| 1530 | + <prefix>grp</prefix> | |
| 1531 | + <add_linenr>Y</add_linenr> | |
| 1532 | + <linenr_fieldname>bcs</linenr_fieldname> | |
| 1533 | + <give_back_row>N</give_back_row> | |
| 1534 | + <group> | |
| 1535 | + </group> | |
| 1536 | + <fields> | |
| 1537 | + </fields> | |
| 1538 | + <cluster_schema/> | |
| 1539 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1540 | + <xloc>692</xloc> | |
| 1541 | + <yloc>44</yloc> | |
| 1542 | + <draw>Y</draw> | |
| 1543 | + </GUI> | |
| 1544 | + </step> | |
| 1545 | + | |
| 1546 | + <step> | |
| 1547 | + <name>班次数据范式化</name> | |
| 1548 | + <type>Normaliser</type> | |
| 1549 | + <description/> | |
| 1550 | + <distribute>Y</distribute> | |
| 1551 | + <custom_distribution/> | |
| 1552 | + <copies>1</copies> | |
| 1553 | + <partitioning> | |
| 1554 | + <method>none</method> | |
| 1555 | + <schema_name/> | |
| 1556 | + </partitioning> | |
| 1557 | + <typefield>站点名称</typefield> | |
| 1558 | + <fields> </fields> <cluster_schema/> | |
| 1559 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1560 | + <xloc>248</xloc> | |
| 1561 | + <yloc>44</yloc> | |
| 1562 | + <draw>Y</draw> | |
| 1563 | + </GUI> | |
| 1564 | + </step> | |
| 1565 | + | |
| 1566 | + <step> | |
| 1567 | + <name>班次类型字典</name> | |
| 1568 | + <type>ValueMapper</type> | |
| 1569 | + <description/> | |
| 1570 | + <distribute>Y</distribute> | |
| 1571 | + <custom_distribution/> | |
| 1572 | + <copies>1</copies> | |
| 1573 | + <partitioning> | |
| 1574 | + <method>none</method> | |
| 1575 | + <schema_name/> | |
| 1576 | + </partitioning> | |
| 1577 | + <field_to_use>bctype</field_to_use> | |
| 1578 | + <target_field>bctype_code</target_field> | |
| 1579 | + <non_match_default>未知类型</non_match_default> | |
| 1580 | + <fields> | |
| 1581 | + <field> | |
| 1582 | + <source_value>正常班次</source_value> | |
| 1583 | + <target_value>normal</target_value> | |
| 1584 | + </field> | |
| 1585 | + <field> | |
| 1586 | + <source_value>出场</source_value> | |
| 1587 | + <target_value>out</target_value> | |
| 1588 | + </field> | |
| 1589 | + <field> | |
| 1590 | + <source_value>进场</source_value> | |
| 1591 | + <target_value>in</target_value> | |
| 1592 | + </field> | |
| 1593 | + <field> | |
| 1594 | + <source_value>加油</source_value> | |
| 1595 | + <target_value>oil</target_value> | |
| 1596 | + </field> | |
| 1597 | + <field> | |
| 1598 | + <source_value>临加</source_value> | |
| 1599 | + <target_value>temp</target_value> | |
| 1600 | + </field> | |
| 1601 | + <field> | |
| 1602 | + <source_value>区间</source_value> | |
| 1603 | + <target_value>region</target_value> | |
| 1604 | + </field> | |
| 1605 | + <field> | |
| 1606 | + <source_value>放空</source_value> | |
| 1607 | + <target_value>venting</target_value> | |
| 1608 | + </field> | |
| 1609 | + <field> | |
| 1610 | + <source_value>放大站</source_value> | |
| 1611 | + <target_value>major</target_value> | |
| 1612 | + </field> | |
| 1613 | + </fields> | |
| 1614 | + <cluster_schema/> | |
| 1615 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1616 | + <xloc>149</xloc> | |
| 1617 | + <yloc>491</yloc> | |
| 1618 | + <draw>Y</draw> | |
| 1619 | + </GUI> | |
| 1620 | + </step> | |
| 1621 | + | |
| 1622 | + <step> | |
| 1623 | + <name>班次类型字典 2</name> | |
| 1624 | + <type>ValueMapper</type> | |
| 1625 | + <description/> | |
| 1626 | + <distribute>Y</distribute> | |
| 1627 | + <custom_distribution/> | |
| 1628 | + <copies>1</copies> | |
| 1629 | + <partitioning> | |
| 1630 | + <method>none</method> | |
| 1631 | + <schema_name/> | |
| 1632 | + </partitioning> | |
| 1633 | + <field_to_use>bctype</field_to_use> | |
| 1634 | + <target_field>bctype_code</target_field> | |
| 1635 | + <non_match_default>未知类型</non_match_default> | |
| 1636 | + <fields> | |
| 1637 | + <field> | |
| 1638 | + <source_value>正常班次</source_value> | |
| 1639 | + <target_value>normal</target_value> | |
| 1640 | + </field> | |
| 1641 | + <field> | |
| 1642 | + <source_value>出场</source_value> | |
| 1643 | + <target_value>out</target_value> | |
| 1644 | + </field> | |
| 1645 | + <field> | |
| 1646 | + <source_value>进场</source_value> | |
| 1647 | + <target_value>in</target_value> | |
| 1648 | + </field> | |
| 1649 | + <field> | |
| 1650 | + <source_value>加油</source_value> | |
| 1651 | + <target_value>oil</target_value> | |
| 1652 | + </field> | |
| 1653 | + <field> | |
| 1654 | + <source_value>临加</source_value> | |
| 1655 | + <target_value>temp</target_value> | |
| 1656 | + </field> | |
| 1657 | + <field> | |
| 1658 | + <source_value>区间</source_value> | |
| 1659 | + <target_value>region</target_value> | |
| 1660 | + </field> | |
| 1661 | + <field> | |
| 1662 | + <source_value>放空</source_value> | |
| 1663 | + <target_value>venting</target_value> | |
| 1664 | + </field> | |
| 1665 | + <field> | |
| 1666 | + <source_value>放大站</source_value> | |
| 1667 | + <target_value>major</target_value> | |
| 1668 | + </field> | |
| 1669 | + </fields> | |
| 1670 | + <cluster_schema/> | |
| 1671 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1672 | + <xloc>333</xloc> | |
| 1673 | + <yloc>681</yloc> | |
| 1674 | + <draw>Y</draw> | |
| 1675 | + </GUI> | |
| 1676 | + </step> | |
| 1677 | + | |
| 1678 | + <step> | |
| 1679 | + <name>班次类型字典 3</name> | |
| 1680 | + <type>ValueMapper</type> | |
| 1681 | + <description/> | |
| 1682 | + <distribute>Y</distribute> | |
| 1683 | + <custom_distribution/> | |
| 1684 | + <copies>1</copies> | |
| 1685 | + <partitioning> | |
| 1686 | + <method>none</method> | |
| 1687 | + <schema_name/> | |
| 1688 | + </partitioning> | |
| 1689 | + <field_to_use>bctype</field_to_use> | |
| 1690 | + <target_field>bctype_code</target_field> | |
| 1691 | + <non_match_default>未知类型</non_match_default> | |
| 1692 | + <fields> | |
| 1693 | + <field> | |
| 1694 | + <source_value>正常班次</source_value> | |
| 1695 | + <target_value>normal</target_value> | |
| 1696 | + </field> | |
| 1697 | + <field> | |
| 1698 | + <source_value>出场</source_value> | |
| 1699 | + <target_value>out</target_value> | |
| 1700 | + </field> | |
| 1701 | + <field> | |
| 1702 | + <source_value>进场</source_value> | |
| 1703 | + <target_value>in</target_value> | |
| 1704 | + </field> | |
| 1705 | + <field> | |
| 1706 | + <source_value>加油</source_value> | |
| 1707 | + <target_value>oil</target_value> | |
| 1708 | + </field> | |
| 1709 | + <field> | |
| 1710 | + <source_value>临加</source_value> | |
| 1711 | + <target_value>temp</target_value> | |
| 1712 | + </field> | |
| 1713 | + <field> | |
| 1714 | + <source_value>区间</source_value> | |
| 1715 | + <target_value>region</target_value> | |
| 1716 | + </field> | |
| 1717 | + <field> | |
| 1718 | + <source_value>放空</source_value> | |
| 1719 | + <target_value>venting</target_value> | |
| 1720 | + </field> | |
| 1721 | + <field> | |
| 1722 | + <source_value>放大站</source_value> | |
| 1723 | + <target_value>major</target_value> | |
| 1724 | + </field> | |
| 1725 | + </fields> | |
| 1726 | + <cluster_schema/> | |
| 1727 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1728 | + <xloc>548</xloc> | |
| 1729 | + <yloc>844</yloc> | |
| 1730 | + <draw>Y</draw> | |
| 1731 | + </GUI> | |
| 1732 | + </step> | |
| 1733 | + | |
| 1734 | + <step> | |
| 1735 | + <name>类型修正</name> | |
| 1736 | + <type>SelectValues</type> | |
| 1737 | + <description/> | |
| 1738 | + <distribute>Y</distribute> | |
| 1739 | + <custom_distribution/> | |
| 1740 | + <copies>1</copies> | |
| 1741 | + <partitioning> | |
| 1742 | + <method>none</method> | |
| 1743 | + <schema_name/> | |
| 1744 | + </partitioning> | |
| 1745 | + <fields> <select_unspecified>N</select_unspecified> | |
| 1746 | + <meta> <name>jhlc</name> | |
| 1747 | + <rename>jhlc</rename> | |
| 1748 | + <type>Number</type> | |
| 1749 | + <length>-2</length> | |
| 1750 | + <precision>-2</precision> | |
| 1751 | + <conversion_mask/> | |
| 1752 | + <date_format_lenient>false</date_format_lenient> | |
| 1753 | + <date_format_locale/> | |
| 1754 | + <date_format_timezone/> | |
| 1755 | + <lenient_string_to_number>false</lenient_string_to_number> | |
| 1756 | + <encoding/> | |
| 1757 | + <decimal_symbol/> | |
| 1758 | + <grouping_symbol/> | |
| 1759 | + <currency_symbol/> | |
| 1760 | + <storage_type/> | |
| 1761 | + </meta> <meta> <name>bcsj</name> | |
| 1762 | + <rename>bcsj</rename> | |
| 1763 | + <type>Integer</type> | |
| 1764 | + <length>-2</length> | |
| 1765 | + <precision>-2</precision> | |
| 1766 | + <conversion_mask/> | |
| 1767 | + <date_format_lenient>false</date_format_lenient> | |
| 1768 | + <date_format_locale/> | |
| 1769 | + <date_format_timezone/> | |
| 1770 | + <lenient_string_to_number>false</lenient_string_to_number> | |
| 1771 | + <encoding/> | |
| 1772 | + <decimal_symbol/> | |
| 1773 | + <grouping_symbol/> | |
| 1774 | + <currency_symbol/> | |
| 1775 | + <storage_type/> | |
| 1776 | + </meta> </fields> <cluster_schema/> | |
| 1777 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1778 | + <xloc>146</xloc> | |
| 1779 | + <yloc>768</yloc> | |
| 1780 | + <draw>Y</draw> | |
| 1781 | + </GUI> | |
| 1782 | + </step> | |
| 1783 | + | |
| 1784 | + <step> | |
| 1785 | + <name>计算班次类型</name> | |
| 1786 | + <type>ValueMapper</type> | |
| 1787 | + <description/> | |
| 1788 | + <distribute>Y</distribute> | |
| 1789 | + <custom_distribution/> | |
| 1790 | + <copies>1</copies> | |
| 1791 | + <partitioning> | |
| 1792 | + <method>none</method> | |
| 1793 | + <schema_name/> | |
| 1794 | + </partitioning> | |
| 1795 | + <field_to_use>qdzname</field_to_use> | |
| 1796 | + <target_field>bctype</target_field> | |
| 1797 | + <non_match_default>正常班次</non_match_default> | |
| 1798 | + <fields> | |
| 1799 | + <field> | |
| 1800 | + <source_value>出场</source_value> | |
| 1801 | + <target_value>出场</target_value> | |
| 1802 | + </field> | |
| 1803 | + <field> | |
| 1804 | + <source_value>进场</source_value> | |
| 1805 | + <target_value>进场</target_value> | |
| 1806 | + </field> | |
| 1807 | + </fields> | |
| 1808 | + <cluster_schema/> | |
| 1809 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1810 | + <xloc>1014</xloc> | |
| 1811 | + <yloc>401</yloc> | |
| 1812 | + <draw>Y</draw> | |
| 1813 | + </GUI> | |
| 1814 | + </step> | |
| 1815 | + | |
| 1816 | + <step> | |
| 1817 | + <name>记录关联 (笛卡尔输出)</name> | |
| 1818 | + <type>JoinRows</type> | |
| 1819 | + <description/> | |
| 1820 | + <distribute>Y</distribute> | |
| 1821 | + <custom_distribution/> | |
| 1822 | + <copies>1</copies> | |
| 1823 | + <partitioning> | |
| 1824 | + <method>none</method> | |
| 1825 | + <schema_name/> | |
| 1826 | + </partitioning> | |
| 1827 | + <directory>%%java.io.tmpdir%%</directory> | |
| 1828 | + <prefix>out</prefix> | |
| 1829 | + <cache_size>500</cache_size> | |
| 1830 | + <main/> | |
| 1831 | + <compare> | |
| 1832 | +<condition> | |
| 1833 | + <negated>N</negated> | |
| 1834 | + <leftvalue/> | |
| 1835 | + <function>=</function> | |
| 1836 | + <rightvalue/> | |
| 1837 | + </condition> | |
| 1838 | + </compare> | |
| 1839 | + <cluster_schema/> | |
| 1840 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1841 | + <xloc>310</xloc> | |
| 1842 | + <yloc>133</yloc> | |
| 1843 | + <draw>Y</draw> | |
| 1844 | + </GUI> | |
| 1845 | + </step> | |
| 1846 | + | |
| 1847 | + <step> | |
| 1848 | + <name>过滤记录(发车时间为空)</name> | |
| 1849 | + <type>FilterRows</type> | |
| 1850 | + <description/> | |
| 1851 | + <distribute>Y</distribute> | |
| 1852 | + <custom_distribution/> | |
| 1853 | + <copies>1</copies> | |
| 1854 | + <partitioning> | |
| 1855 | + <method>none</method> | |
| 1856 | + <schema_name/> | |
| 1857 | + </partitioning> | |
| 1858 | +<send_true_to/> | |
| 1859 | +<send_false_to/> | |
| 1860 | + <compare> | |
| 1861 | +<condition> | |
| 1862 | + <negated>N</negated> | |
| 1863 | + <leftvalue>sendtime</leftvalue> | |
| 1864 | + <function>IS NOT NULL</function> | |
| 1865 | + <rightvalue/> | |
| 1866 | + </condition> | |
| 1867 | + </compare> | |
| 1868 | + <cluster_schema/> | |
| 1869 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1870 | + <xloc>571</xloc> | |
| 1871 | + <yloc>44</yloc> | |
| 1872 | + <draw>Y</draw> | |
| 1873 | + </GUI> | |
| 1874 | + </step> | |
| 1875 | + | |
| 1876 | + <step> | |
| 1877 | + <name>进场班次_确定起点站名字</name> | |
| 1878 | + <type>ScriptValueMod</type> | |
| 1879 | + <description/> | |
| 1880 | + <distribute>Y</distribute> | |
| 1881 | + <custom_distribution/> | |
| 1882 | + <copies>1</copies> | |
| 1883 | + <partitioning> | |
| 1884 | + <method>none</method> | |
| 1885 | + <schema_name/> | |
| 1886 | + </partitioning> | |
| 1887 | + <compatible>N</compatible> | |
| 1888 | + <optimizationLevel>9</optimizationLevel> | |
| 1889 | + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> | |
| 1890 | + <jsScript_name>Script 1</jsScript_name> | |
| 1891 | + <jsScript_script>//Script here

// 添加站点标识
var cc_groups = qdzgroups.split(","); // 所有班次起点站数组
var qdzname_calcu = cc_groups[gno - 2]; // 进场班次的起点站是上一个班次的终点站,这里只有上一个班次的起点站,还需要计算
var startZdtype_calcu = 'B';
var endZdtype_calcu = 'E';</jsScript_script> | |
| 1892 | + </jsScript> </jsScripts> <fields> <field> <name>qdzname_calcu</name> | |
| 1893 | + <rename>qdzname_calcu</rename> | |
| 1894 | + <type>String</type> | |
| 1895 | + <length>-1</length> | |
| 1896 | + <precision>-1</precision> | |
| 1897 | + <replace>N</replace> | |
| 1898 | + </field> <field> <name>startZdtype_calcu</name> | |
| 1899 | + <rename>startZdtype_calcu</rename> | |
| 1900 | + <type>String</type> | |
| 1901 | + <length>-1</length> | |
| 1902 | + <precision>-1</precision> | |
| 1903 | + <replace>N</replace> | |
| 1904 | + </field> <field> <name>endZdtype_calcu</name> | |
| 1905 | + <rename>endZdtype_calcu</rename> | |
| 1906 | + <type>String</type> | |
| 1907 | + <length>-1</length> | |
| 1908 | + <precision>-1</precision> | |
| 1909 | + <replace>N</replace> | |
| 1910 | + </field> </fields> <cluster_schema/> | |
| 1911 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1912 | + <xloc>754</xloc> | |
| 1913 | + <yloc>610</yloc> | |
| 1914 | + <draw>Y</draw> | |
| 1915 | + </GUI> | |
| 1916 | + </step> | |
| 1917 | + | |
| 1918 | + <step> | |
| 1919 | + <name>进场班次数据</name> | |
| 1920 | + <type>Dummy</type> | |
| 1921 | + <description/> | |
| 1922 | + <distribute>Y</distribute> | |
| 1923 | + <custom_distribution/> | |
| 1924 | + <copies>1</copies> | |
| 1925 | + <partitioning> | |
| 1926 | + <method>none</method> | |
| 1927 | + <schema_name/> | |
| 1928 | + </partitioning> | |
| 1929 | + <cluster_schema/> | |
| 1930 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1931 | + <xloc>997</xloc> | |
| 1932 | + <yloc>606</yloc> | |
| 1933 | + <draw>Y</draw> | |
| 1934 | + </GUI> | |
| 1935 | + </step> | |
| 1936 | + | |
| 1937 | + <step_error_handling> | |
| 1938 | + </step_error_handling> | |
| 1939 | + <slave-step-copy-partition-distribution> | |
| 1940 | +</slave-step-copy-partition-distribution> | |
| 1941 | + <slave_transformation>N</slave_transformation> | |
| 1942 | + | |
| 1943 | +</transformation> | ... | ... |
src/main/resources/datatools/ktrs/ttinfodetailMetaData.ktr
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<transformation> | |
| 3 | + <info> | |
| 4 | + <name>ttinfodetailMetaData</name> | |
| 5 | + <description/> | |
| 6 | + <extended_description/> | |
| 7 | + <trans_version/> | |
| 8 | + <trans_type>Normal</trans_type> | |
| 9 | + <trans_status>0</trans_status> | |
| 10 | + <directory>/</directory> | |
| 11 | + <parameters> | |
| 12 | + <parameter> | |
| 13 | + <name>erroroutputdir</name> | |
| 14 | + <default_value>/Users/xu/resource/project/bsth_control_u_d_files/erroroutput</default_value> | |
| 15 | + <description>ktr step配置的错误输出目录</description> | |
| 16 | + </parameter> | |
| 17 | + <parameter> | |
| 18 | + <name>excelfieldnames</name> | |
| 19 | + <default_value>路牌,出场,陆家嘴地铁站1,长岛路东陆路1,陆家嘴地铁站2,长岛路东陆路2,陆家嘴地铁站3,长岛路东陆路3,陆家嘴地铁站4,长岛路东陆路4,陆家嘴地铁站5,长岛路东陆路5,陆家嘴地铁站6,长岛路东陆路6,进场1,出场1,陆家嘴地铁站7,长岛路东陆路7,陆家嘴地铁站8,长岛路东陆路8,陆家嘴地铁站9,长岛路东陆路9,陆家嘴地铁站10,长岛路东陆路10,陆家嘴地铁站11,长岛路东陆路11,陆家嘴地铁站12,长岛路东陆路12,陆家嘴地铁站13,长岛路东陆路13 ,进场</default_value> | |
| 20 | + <description>时刻表excel输入字段名,以逗号连接</description> | |
| 21 | + </parameter> | |
| 22 | + <parameter> | |
| 23 | + <name>filepath</name> | |
| 24 | + <default_value>/Users/xu/resource/project/bsth_control_etl/闵行公交/85路0328平表-测试1-时刻明细.xls</default_value> | |
| 25 | + <description>待处理导入的excel文件</description> | |
| 26 | + </parameter> | |
| 27 | + <parameter> | |
| 28 | + <name>injectktrfile</name> | |
| 29 | + <default_value>/Users/xu/resource/project/bsth_control/src/main/resources/datatools/ktrs/ttinfodetailDataInput.ktr</default_value> | |
| 30 | + <description>注入元数据的ktr文件</description> | |
| 31 | + </parameter> | |
| 32 | + <parameter> | |
| 33 | + <name>normalizefieldnames</name> | |
| 34 | + <default_value>出场,陆家嘴地铁站1,长岛路东陆路1,陆家嘴地铁站2,长岛路东陆路2,陆家嘴地铁站3,长岛路东陆路3,陆家嘴地铁站4,长岛路东陆路4,陆家嘴地铁站5,长岛路东陆路5,陆家嘴地铁站6,长岛路东陆路6,进场1,出场1,陆家嘴地铁站7,长岛路东陆路7,陆家嘴地铁站8,长岛路东陆路8,陆家嘴地铁站9,长岛路东陆路9,陆家嘴地铁站10,长岛路东陆路10,陆家嘴地铁站11,长岛路东陆路11,陆家嘴地铁站12,长岛路东陆路12,陆家嘴地铁站13,长岛路东陆路13 ,进场</default_value> | |
| 35 | + <description>数据范式化字段名,以逗号连接</description> | |
| 36 | + </parameter> | |
| 37 | + <parameter> | |
| 38 | + <name>tccname</name> | |
| 39 | + <default_value>东靖路高行停车场</default_value> | |
| 40 | + <description>停车场名字</description> | |
| 41 | + </parameter> | |
| 42 | + <parameter> | |
| 43 | + <name>ttinfoname</name> | |
| 44 | + <default_value>85路0328平表</default_value> | |
| 45 | + <description>时刻表名称</description> | |
| 46 | + </parameter> | |
| 47 | + <parameter> | |
| 48 | + <name>xlname</name> | |
| 49 | + <default_value>85路</default_value> | |
| 50 | + <description>线路名称</description> | |
| 51 | + </parameter> | |
| 52 | + </parameters> | |
| 53 | + <log> | |
| 54 | +<trans-log-table><connection/> | |
| 55 | +<schema/> | |
| 56 | +<table/> | |
| 57 | +<size_limit_lines/> | |
| 58 | +<interval/> | |
| 59 | +<timeout_days/> | |
| 60 | +<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> | |
| 61 | +<perf-log-table><connection/> | |
| 62 | +<schema/> | |
| 63 | +<table/> | |
| 64 | +<interval/> | |
| 65 | +<timeout_days/> | |
| 66 | +<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> | |
| 67 | +<channel-log-table><connection/> | |
| 68 | +<schema/> | |
| 69 | +<table/> | |
| 70 | +<timeout_days/> | |
| 71 | +<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> | |
| 72 | +<step-log-table><connection/> | |
| 73 | +<schema/> | |
| 74 | +<table/> | |
| 75 | +<timeout_days/> | |
| 76 | +<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> | |
| 77 | +<metrics-log-table><connection/> | |
| 78 | +<schema/> | |
| 79 | +<table/> | |
| 80 | +<timeout_days/> | |
| 81 | +<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> | |
| 82 | + </log> | |
| 83 | + <maxdate> | |
| 84 | + <connection/> | |
| 85 | + <table/> | |
| 86 | + <field/> | |
| 87 | + <offset>0.0</offset> | |
| 88 | + <maxdiff>0.0</maxdiff> | |
| 89 | + </maxdate> | |
| 90 | + <size_rowset>10000</size_rowset> | |
| 91 | + <sleep_time_empty>50</sleep_time_empty> | |
| 92 | + <sleep_time_full>50</sleep_time_full> | |
| 93 | + <unique_connections>N</unique_connections> | |
| 94 | + <feedback_shown>Y</feedback_shown> | |
| 95 | + <feedback_size>50000</feedback_size> | |
| 96 | + <using_thread_priorities>Y</using_thread_priorities> | |
| 97 | + <shared_objects_file/> | |
| 98 | + <capture_step_performance>N</capture_step_performance> | |
| 99 | + <step_performance_capturing_delay>1000</step_performance_capturing_delay> | |
| 100 | + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit> | |
| 101 | + <dependencies> | |
| 102 | + </dependencies> | |
| 103 | + <partitionschemas> | |
| 104 | + </partitionschemas> | |
| 105 | + <slaveservers> | |
| 106 | + </slaveservers> | |
| 107 | + <clusterschemas> | |
| 108 | + </clusterschemas> | |
| 109 | + <created_user>-</created_user> | |
| 110 | + <created_date>2016/07/01 09:55:32.649</created_date> | |
| 111 | + <modified_user>-</modified_user> | |
| 112 | + <modified_date>2016/07/01 09:55:32.649</modified_date> | |
| 113 | + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key> | |
| 114 | + <is_key_private>N</is_key_private> | |
| 115 | + </info> | |
| 116 | + <notepads> | |
| 117 | + </notepads> | |
| 118 | + <connection> | |
| 119 | + <name>bus_control_variable</name> | |
| 120 | + <server>${v_db_ip}</server> | |
| 121 | + <type>MYSQL</type> | |
| 122 | + <access>Native</access> | |
| 123 | + <database>control</database> | |
| 124 | + <port>3306</port> | |
| 125 | + <username>${v_db_uname}</username> | |
| 126 | + <password>${v_db_pwd}</password> | |
| 127 | + <servername/> | |
| 128 | + <data_tablespace/> | |
| 129 | + <index_tablespace/> | |
| 130 | + <attributes> | |
| 131 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 132 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 133 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 134 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 135 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 136 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 137 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 138 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 139 | + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | |
| 140 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 141 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 142 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 143 | + </attributes> | |
| 144 | + </connection> | |
| 145 | + <connection> | |
| 146 | + <name>bus_control_公司_201</name> | |
| 147 | + <server>localhost</server> | |
| 148 | + <type>MYSQL</type> | |
| 149 | + <access>Native</access> | |
| 150 | + <database>control</database> | |
| 151 | + <port>3306</port> | |
| 152 | + <username>root</username> | |
| 153 | + <password>Encrypted </password> | |
| 154 | + <servername/> | |
| 155 | + <data_tablespace/> | |
| 156 | + <index_tablespace/> | |
| 157 | + <attributes> | |
| 158 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 159 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 160 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 161 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 162 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 163 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 164 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 165 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 166 | + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | |
| 167 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 168 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 169 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 170 | + </attributes> | |
| 171 | + </connection> | |
| 172 | + <connection> | |
| 173 | + <name>bus_control_本机</name> | |
| 174 | + <server>localhost</server> | |
| 175 | + <type>MYSQL</type> | |
| 176 | + <access>Native</access> | |
| 177 | + <database>control</database> | |
| 178 | + <port>3306</port> | |
| 179 | + <username>root</username> | |
| 180 | + <password>Encrypted </password> | |
| 181 | + <servername/> | |
| 182 | + <data_tablespace/> | |
| 183 | + <index_tablespace/> | |
| 184 | + <attributes> | |
| 185 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 186 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 187 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 188 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 189 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 190 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 191 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 192 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 193 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 194 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 195 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 196 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 197 | + </attributes> | |
| 198 | + </connection> | |
| 199 | + <connection> | |
| 200 | + <name>xlab_mysql_youle</name> | |
| 201 | + <server>101.231.124.8</server> | |
| 202 | + <type>MYSQL</type> | |
| 203 | + <access>Native</access> | |
| 204 | + <database>xlab_youle</database> | |
| 205 | + <port>45687</port> | |
| 206 | + <username>xlab-youle</username> | |
| 207 | + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password> | |
| 208 | + <servername/> | |
| 209 | + <data_tablespace/> | |
| 210 | + <index_tablespace/> | |
| 211 | + <attributes> | |
| 212 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 213 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 214 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 215 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 216 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 217 | + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute> | |
| 218 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 219 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 220 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 221 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 222 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 223 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 224 | + </attributes> | |
| 225 | + </connection> | |
| 226 | + <connection> | |
| 227 | + <name>xlab_mysql_youle(本机)</name> | |
| 228 | + <server>localhost</server> | |
| 229 | + <type>MYSQL</type> | |
| 230 | + <access>Native</access> | |
| 231 | + <database>xlab_youle</database> | |
| 232 | + <port>3306</port> | |
| 233 | + <username>root</username> | |
| 234 | + <password>Encrypted </password> | |
| 235 | + <servername/> | |
| 236 | + <data_tablespace/> | |
| 237 | + <index_tablespace/> | |
| 238 | + <attributes> | |
| 239 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 240 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 241 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 242 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 243 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 244 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 245 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 246 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 247 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 248 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 249 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 250 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 251 | + </attributes> | |
| 252 | + </connection> | |
| 253 | + <connection> | |
| 254 | + <name>xlab_youle</name> | |
| 255 | + <server/> | |
| 256 | + <type>MYSQL</type> | |
| 257 | + <access>JNDI</access> | |
| 258 | + <database>xlab_youle</database> | |
| 259 | + <port>1521</port> | |
| 260 | + <username/> | |
| 261 | + <password>Encrypted </password> | |
| 262 | + <servername/> | |
| 263 | + <data_tablespace/> | |
| 264 | + <index_tablespace/> | |
| 265 | + <attributes> | |
| 266 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 267 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 268 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 269 | + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | |
| 270 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 271 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 272 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 273 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 274 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 275 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 276 | + </attributes> | |
| 277 | + </connection> | |
| 278 | + <order> | |
| 279 | + <hop> <from>获取excel文件名</from><to>ETL元数据注入</to><enabled>Y</enabled> </hop> | |
| 280 | + <hop> <from>获取excel字段名字符串</from><to>逗号切分成字段名</to><enabled>Y</enabled> </hop> | |
| 281 | + <hop> <from>逗号切分成字段名</from><to>增加excel字段其他元数据</to><enabled>Y</enabled> </hop> | |
| 282 | + <hop> <from>增加excel字段其他元数据</from><to>ETL元数据注入</to><enabled>Y</enabled> </hop> | |
| 283 | + <hop> <from>获取normalize字段名字符串</from><to>逗号切分成字段名 2</to><enabled>Y</enabled> </hop> | |
| 284 | + <hop> <from>逗号切分成字段名 2</from><to>增加normalize元数据</to><enabled>Y</enabled> </hop> | |
| 285 | + <hop> <from>增加normalize元数据</from><to>ETL元数据注入</to><enabled>Y</enabled> </hop> | |
| 286 | + <hop> <from>获取线路名称</from><to>增加线路名称metadata</to><enabled>Y</enabled> </hop> | |
| 287 | + <hop> <from>增加线路名称metadata</from><to>替换线路名称</to><enabled>Y</enabled> </hop> | |
| 288 | + <hop> <from>替换线路名称</from><to>线路名称metadata字段</to><enabled>Y</enabled> </hop> | |
| 289 | + <hop> <from>获取停车场名称</from><to>增加停车场名称metadata</to><enabled>Y</enabled> </hop> | |
| 290 | + <hop> <from>增加停车场名称metadata</from><to>替换停车厂名字 </to><enabled>Y</enabled> </hop> | |
| 291 | + <hop> <from>替换停车厂名字 </from><to>停车场名称metadata字段</to><enabled>Y</enabled> </hop> | |
| 292 | + <hop> <from>获取时刻表名称名称</from><to>增加时刻表名称metadata</to><enabled>Y</enabled> </hop> | |
| 293 | + <hop> <from>增加时刻表名称metadata</from><to>替换时刻表名字</to><enabled>Y</enabled> </hop> | |
| 294 | + <hop> <from>替换时刻表名字</from><to>时刻表名称metadata字段</to><enabled>Y</enabled> </hop> | |
| 295 | + <hop> <from>线路名称metadata字段</from><to>合并增加常量数据metadata</to><enabled>Y</enabled> </hop> | |
| 296 | + <hop> <from>停车场名称metadata字段</from><to>合并增加常量数据metadata</to><enabled>Y</enabled> </hop> | |
| 297 | + <hop> <from>时刻表名称metadata字段</from><to>合并增加常量数据metadata</to><enabled>Y</enabled> </hop> | |
| 298 | + <hop> <from>合并增加常量数据metadata</from><to>ETL元数据注入</to><enabled>Y</enabled> </hop> | |
| 299 | + </order> | |
| 300 | + <step> | |
| 301 | + <name>ETL元数据注入</name> | |
| 302 | + <type>MetaInject</type> | |
| 303 | + <description/> | |
| 304 | + <distribute>Y</distribute> | |
| 305 | + <custom_distribution/> | |
| 306 | + <copies>1</copies> | |
| 307 | + <partitioning> | |
| 308 | + <method>none</method> | |
| 309 | + <schema_name/> | |
| 310 | + </partitioning> | |
| 311 | + <specification_method>filename</specification_method> | |
| 312 | + <trans_object_id/> | |
| 313 | + <trans_name/> | |
| 314 | + <filename>${injectktrfile}</filename> | |
| 315 | + <directory_path/> | |
| 316 | + <source_step/> | |
| 317 | + <source_output_fields> </source_output_fields> <target_file/> | |
| 318 | + <no_execution>N</no_execution> | |
| 319 | + <stream_source_step/> | |
| 320 | + <stream_target_step/> | |
| 321 | + <mappings> <mapping> <target_step_name>Excel输入</target_step_name> | |
| 322 | + <target_attribute_key>FORMAT</target_attribute_key> | |
| 323 | + <target_detail>Y</target_detail> | |
| 324 | + <source_step>列拆分为多行</source_step> | |
| 325 | + <source_field>format</source_field> | |
| 326 | + </mapping> <mapping> <target_step_name>Excel输入</target_step_name> | |
| 327 | + <target_attribute_key>REPEAT</target_attribute_key> | |
| 328 | + <target_detail>Y</target_detail> | |
| 329 | + <source_step>列拆分为多行</source_step> | |
| 330 | + <source_field>repeat</source_field> | |
| 331 | + </mapping> <mapping> <target_step_name>时刻表明细信息Excel输入</target_step_name> | |
| 332 | + <target_attribute_key>TRIM_TYPE</target_attribute_key> | |
| 333 | + <target_detail>Y</target_detail> | |
| 334 | + <source_step>增加excel字段其他元数据</source_step> | |
| 335 | + <source_field>trim_type</source_field> | |
| 336 | + </mapping> <mapping> <target_step_name>时刻表明细信息Excel输入</target_step_name> | |
| 337 | + <target_attribute_key>FILENAME</target_attribute_key> | |
| 338 | + <target_detail>Y</target_detail> | |
| 339 | + <source_step>获取excel文件名</source_step> | |
| 340 | + <source_field>filepath_</source_field> | |
| 341 | + </mapping> <mapping> <target_step_name>时刻表明细信息Excel输入</target_step_name> | |
| 342 | + <target_attribute_key>PRECISION</target_attribute_key> | |
| 343 | + <target_detail>Y</target_detail> | |
| 344 | + <source_step>增加excel字段其他元数据</source_step> | |
| 345 | + <source_field>precision</source_field> | |
| 346 | + </mapping> <mapping> <target_step_name>Excel输入</target_step_name> | |
| 347 | + <target_attribute_key>TYPE</target_attribute_key> | |
| 348 | + <target_detail>Y</target_detail> | |
| 349 | + <source_step>列拆分为多行</source_step> | |
| 350 | + <source_field>type</source_field> | |
| 351 | + </mapping> <mapping> <target_step_name>增加时刻表名字,线路名字,停车场名字</target_step_name> | |
| 352 | + <target_attribute_key>DATA_VALUE</target_attribute_key> | |
| 353 | + <target_detail>Y</target_detail> | |
| 354 | + <source_step>合并增加常量数据metadata</source_step> | |
| 355 | + <source_field>col_value</source_field> | |
| 356 | + </mapping> <mapping> <target_step_name>Excel输入</target_step_name> | |
| 357 | + <target_attribute_key>LENGTH</target_attribute_key> | |
| 358 | + <target_detail>Y</target_detail> | |
| 359 | + <source_step>列拆分为多行</source_step> | |
| 360 | + <source_field>length</source_field> | |
| 361 | + </mapping> <mapping> <target_step_name>增加时刻表名字,线路名字,停车场名字</target_step_name> | |
| 362 | + <target_attribute_key>TYPE</target_attribute_key> | |
| 363 | + <target_detail>Y</target_detail> | |
| 364 | + <source_step>合并增加常量数据metadata</source_step> | |
| 365 | + <source_field>col_type</source_field> | |
| 366 | + </mapping> <mapping> <target_step_name>行转列</target_step_name> | |
| 367 | + <target_attribute_key>NAME</target_attribute_key> | |
| 368 | + <target_detail>Y</target_detail> | |
| 369 | + <source_step>列拆分为多行 2</source_step> | |
| 370 | + <source_field>fieldName</source_field> | |
| 371 | + </mapping> <mapping> <target_step_name>时刻表明细信息Excel输入</target_step_name> | |
| 372 | + <target_attribute_key>NAME</target_attribute_key> | |
| 373 | + <target_detail>Y</target_detail> | |
| 374 | + <source_step>增加excel字段其他元数据</source_step> | |
| 375 | + <source_field>fieldname</source_field> | |
| 376 | + </mapping> <mapping> <target_step_name>班次数据范式化</target_step_name> | |
| 377 | + <target_attribute_key>NAME</target_attribute_key> | |
| 378 | + <target_detail>Y</target_detail> | |
| 379 | + <source_step>增加normalize元数据</source_step> | |
| 380 | + <source_field>nfieldname</source_field> | |
| 381 | + </mapping> <mapping> <target_step_name>时刻表明细信息Excel输入</target_step_name> | |
| 382 | + <target_attribute_key>LENGTH</target_attribute_key> | |
| 383 | + <target_detail>Y</target_detail> | |
| 384 | + <source_step>增加excel字段其他元数据</source_step> | |
| 385 | + <source_field>length</source_field> | |
| 386 | + </mapping> <mapping> <target_step_name>增加时刻表名字,线路名字,停车场名字</target_step_name> | |
| 387 | + <target_attribute_key>NAME</target_attribute_key> | |
| 388 | + <target_detail>Y</target_detail> | |
| 389 | + <source_step>合并增加常量数据metadata</source_step> | |
| 390 | + <source_field>col_name</source_field> | |
| 391 | + </mapping> <mapping> <target_step_name>时刻表明细信息Excel输入</target_step_name> | |
| 392 | + <target_attribute_key>TYPE</target_attribute_key> | |
| 393 | + <target_detail>Y</target_detail> | |
| 394 | + <source_step>增加excel字段其他元数据</source_step> | |
| 395 | + <source_field>fieldtype</source_field> | |
| 396 | + </mapping> <mapping> <target_step_name>Excel输入</target_step_name> | |
| 397 | + <target_attribute_key>NAME</target_attribute_key> | |
| 398 | + <target_detail>Y</target_detail> | |
| 399 | + <source_step>列拆分为多行</source_step> | |
| 400 | + <source_field>fieldName</source_field> | |
| 401 | + </mapping> <mapping> <target_step_name>行转列</target_step_name> | |
| 402 | + <target_attribute_key>VALUE</target_attribute_key> | |
| 403 | + <target_detail>Y</target_detail> | |
| 404 | + <source_step>列拆分为多行 2</source_step> | |
| 405 | + <source_field>fieldName</source_field> | |
| 406 | + </mapping> <mapping> <target_step_name>Excel输入</target_step_name> | |
| 407 | + <target_attribute_key>TRIM_TYPE</target_attribute_key> | |
| 408 | + <target_detail>Y</target_detail> | |
| 409 | + <source_step>列拆分为多行</source_step> | |
| 410 | + <source_field>trim_type</source_field> | |
| 411 | + </mapping> <mapping> <target_step_name>行转列</target_step_name> | |
| 412 | + <target_attribute_key>NORMALISED</target_attribute_key> | |
| 413 | + <target_detail>Y</target_detail> | |
| 414 | + <source_step>列拆分为多行 2</source_step> | |
| 415 | + <source_field>value</source_field> | |
| 416 | + </mapping> <mapping> <target_step_name>时刻表明细信息Excel输入</target_step_name> | |
| 417 | + <target_attribute_key>REPEAT</target_attribute_key> | |
| 418 | + <target_detail>Y</target_detail> | |
| 419 | + <source_step>增加excel字段其他元数据</source_step> | |
| 420 | + <source_field>repeat</source_field> | |
| 421 | + </mapping> <mapping> <target_step_name>班次数据范式化</target_step_name> | |
| 422 | + <target_attribute_key>NORMALISED</target_attribute_key> | |
| 423 | + <target_detail>Y</target_detail> | |
| 424 | + <source_step>增加normalize元数据</source_step> | |
| 425 | + <source_field>valuefield</source_field> | |
| 426 | + </mapping> <mapping> <target_step_name>班次数据范式化</target_step_name> | |
| 427 | + <target_attribute_key>VALUE</target_attribute_key> | |
| 428 | + <target_detail>Y</target_detail> | |
| 429 | + <source_step>增加normalize元数据</source_step> | |
| 430 | + <source_field>nfieldname</source_field> | |
| 431 | + </mapping> <mapping> <target_step_name>时刻表明细信息Excel输入</target_step_name> | |
| 432 | + <target_attribute_key>FORMAT</target_attribute_key> | |
| 433 | + <target_detail>Y</target_detail> | |
| 434 | + <source_step>增加excel字段其他元数据</source_step> | |
| 435 | + <source_field>format</source_field> | |
| 436 | + </mapping> <mapping> <target_step_name>Excel输入</target_step_name> | |
| 437 | + <target_attribute_key>PRECISION</target_attribute_key> | |
| 438 | + <target_detail>Y</target_detail> | |
| 439 | + <source_step>列拆分为多行</source_step> | |
| 440 | + <source_field>precision</source_field> | |
| 441 | + </mapping> </mappings> <cluster_schema/> | |
| 442 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 443 | + <xloc>695</xloc> | |
| 444 | + <yloc>177</yloc> | |
| 445 | + <draw>Y</draw> | |
| 446 | + </GUI> | |
| 447 | + </step> | |
| 448 | + | |
| 449 | + <step> | |
| 450 | + <name>停车场名称metadata字段</name> | |
| 451 | + <type>SelectValues</type> | |
| 452 | + <description/> | |
| 453 | + <distribute>Y</distribute> | |
| 454 | + <custom_distribution/> | |
| 455 | + <copies>1</copies> | |
| 456 | + <partitioning> | |
| 457 | + <method>none</method> | |
| 458 | + <schema_name/> | |
| 459 | + </partitioning> | |
| 460 | + <fields> <field> <name>col_name</name> | |
| 461 | + <rename/> | |
| 462 | + <length>-2</length> | |
| 463 | + <precision>-2</precision> | |
| 464 | + </field> <field> <name>col_type</name> | |
| 465 | + <rename/> | |
| 466 | + <length>-2</length> | |
| 467 | + <precision>-2</precision> | |
| 468 | + </field> <field> <name>col_value</name> | |
| 469 | + <rename/> | |
| 470 | + <length>-2</length> | |
| 471 | + <precision>-2</precision> | |
| 472 | + </field> <select_unspecified>N</select_unspecified> | |
| 473 | + </fields> <cluster_schema/> | |
| 474 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 475 | + <xloc>490</xloc> | |
| 476 | + <yloc>429</yloc> | |
| 477 | + <draw>Y</draw> | |
| 478 | + </GUI> | |
| 479 | + </step> | |
| 480 | + | |
| 481 | + <step> | |
| 482 | + <name>合并增加常量数据metadata</name> | |
| 483 | + <type>Dummy</type> | |
| 484 | + <description/> | |
| 485 | + <distribute>Y</distribute> | |
| 486 | + <custom_distribution/> | |
| 487 | + <copies>1</copies> | |
| 488 | + <partitioning> | |
| 489 | + <method>none</method> | |
| 490 | + <schema_name/> | |
| 491 | + </partitioning> | |
| 492 | + <cluster_schema/> | |
| 493 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 494 | + <xloc>702</xloc> | |
| 495 | + <yloc>383</yloc> | |
| 496 | + <draw>Y</draw> | |
| 497 | + </GUI> | |
| 498 | + </step> | |
| 499 | + | |
| 500 | + <step> | |
| 501 | + <name>增加excel字段其他元数据</name> | |
| 502 | + <type>Constant</type> | |
| 503 | + <description/> | |
| 504 | + <distribute>Y</distribute> | |
| 505 | + <custom_distribution/> | |
| 506 | + <copies>1</copies> | |
| 507 | + <partitioning> | |
| 508 | + <method>none</method> | |
| 509 | + <schema_name/> | |
| 510 | + </partitioning> | |
| 511 | + <fields> | |
| 512 | + <field> | |
| 513 | + <name>fieldtype</name> | |
| 514 | + <type>String</type> | |
| 515 | + <format/> | |
| 516 | + <currency/> | |
| 517 | + <decimal/> | |
| 518 | + <group/> | |
| 519 | + <nullif>String</nullif> | |
| 520 | + <length>-1</length> | |
| 521 | + <precision>-1</precision> | |
| 522 | + <set_empty_string>N</set_empty_string> | |
| 523 | + </field> | |
| 524 | + <field> | |
| 525 | + <name>length</name> | |
| 526 | + <type>String</type> | |
| 527 | + <format/> | |
| 528 | + <currency/> | |
| 529 | + <decimal/> | |
| 530 | + <group/> | |
| 531 | + <nullif>-1</nullif> | |
| 532 | + <length>-1</length> | |
| 533 | + <precision>-1</precision> | |
| 534 | + <set_empty_string>N</set_empty_string> | |
| 535 | + </field> | |
| 536 | + <field> | |
| 537 | + <name>precision</name> | |
| 538 | + <type>String</type> | |
| 539 | + <format/> | |
| 540 | + <currency/> | |
| 541 | + <decimal/> | |
| 542 | + <group/> | |
| 543 | + <nullif>-1</nullif> | |
| 544 | + <length>-1</length> | |
| 545 | + <precision>-1</precision> | |
| 546 | + <set_empty_string>N</set_empty_string> | |
| 547 | + </field> | |
| 548 | + <field> | |
| 549 | + <name>trim_type</name> | |
| 550 | + <type>String</type> | |
| 551 | + <format/> | |
| 552 | + <currency/> | |
| 553 | + <decimal/> | |
| 554 | + <group/> | |
| 555 | + <nullif>none</nullif> | |
| 556 | + <length>-1</length> | |
| 557 | + <precision>-1</precision> | |
| 558 | + <set_empty_string>N</set_empty_string> | |
| 559 | + </field> | |
| 560 | + <field> | |
| 561 | + <name>repeat</name> | |
| 562 | + <type>String</type> | |
| 563 | + <format/> | |
| 564 | + <currency/> | |
| 565 | + <decimal/> | |
| 566 | + <group/> | |
| 567 | + <nullif>N</nullif> | |
| 568 | + <length>-1</length> | |
| 569 | + <precision>-1</precision> | |
| 570 | + <set_empty_string>N</set_empty_string> | |
| 571 | + </field> | |
| 572 | + <field> | |
| 573 | + <name>format</name> | |
| 574 | + <type>String</type> | |
| 575 | + <format/> | |
| 576 | + <currency/> | |
| 577 | + <decimal/> | |
| 578 | + <group/> | |
| 579 | + <nullif>#</nullif> | |
| 580 | + <length>-1</length> | |
| 581 | + <precision>-1</precision> | |
| 582 | + <set_empty_string>N</set_empty_string> | |
| 583 | + </field> | |
| 584 | + </fields> | |
| 585 | + <cluster_schema/> | |
| 586 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 587 | + <xloc>441</xloc> | |
| 588 | + <yloc>172</yloc> | |
| 589 | + <draw>Y</draw> | |
| 590 | + </GUI> | |
| 591 | + </step> | |
| 592 | + | |
| 593 | + <step> | |
| 594 | + <name>增加normalize元数据</name> | |
| 595 | + <type>Constant</type> | |
| 596 | + <description/> | |
| 597 | + <distribute>Y</distribute> | |
| 598 | + <custom_distribution/> | |
| 599 | + <copies>1</copies> | |
| 600 | + <partitioning> | |
| 601 | + <method>none</method> | |
| 602 | + <schema_name/> | |
| 603 | + </partitioning> | |
| 604 | + <fields> | |
| 605 | + <field> | |
| 606 | + <name>valuefield</name> | |
| 607 | + <type>String</type> | |
| 608 | + <format/> | |
| 609 | + <currency/> | |
| 610 | + <decimal/> | |
| 611 | + <group/> | |
| 612 | + <nullif>发车时间</nullif> | |
| 613 | + <length>-1</length> | |
| 614 | + <precision>-1</precision> | |
| 615 | + <set_empty_string>N</set_empty_string> | |
| 616 | + </field> | |
| 617 | + </fields> | |
| 618 | + <cluster_schema/> | |
| 619 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 620 | + <xloc>447</xloc> | |
| 621 | + <yloc>257</yloc> | |
| 622 | + <draw>Y</draw> | |
| 623 | + </GUI> | |
| 624 | + </step> | |
| 625 | + | |
| 626 | + <step> | |
| 627 | + <name>增加停车场名称metadata</name> | |
| 628 | + <type>Constant</type> | |
| 629 | + <description/> | |
| 630 | + <distribute>Y</distribute> | |
| 631 | + <custom_distribution/> | |
| 632 | + <copies>1</copies> | |
| 633 | + <partitioning> | |
| 634 | + <method>none</method> | |
| 635 | + <schema_name/> | |
| 636 | + </partitioning> | |
| 637 | + <fields> | |
| 638 | + <field> | |
| 639 | + <name>col_name</name> | |
| 640 | + <type>String</type> | |
| 641 | + <format/> | |
| 642 | + <currency/> | |
| 643 | + <decimal/> | |
| 644 | + <group/> | |
| 645 | + <nullif>tccname_</nullif> | |
| 646 | + <length>-1</length> | |
| 647 | + <precision>-1</precision> | |
| 648 | + <set_empty_string>N</set_empty_string> | |
| 649 | + </field> | |
| 650 | + <field> | |
| 651 | + <name>col_type</name> | |
| 652 | + <type>String</type> | |
| 653 | + <format/> | |
| 654 | + <currency/> | |
| 655 | + <decimal/> | |
| 656 | + <group/> | |
| 657 | + <nullif>String</nullif> | |
| 658 | + <length>-1</length> | |
| 659 | + <precision>-1</precision> | |
| 660 | + <set_empty_string>N</set_empty_string> | |
| 661 | + </field> | |
| 662 | + <field> | |
| 663 | + <name>col_value</name> | |
| 664 | + <type>String</type> | |
| 665 | + <format/> | |
| 666 | + <currency/> | |
| 667 | + <decimal/> | |
| 668 | + <group/> | |
| 669 | + <nullif>replace</nullif> | |
| 670 | + <length>-1</length> | |
| 671 | + <precision>-1</precision> | |
| 672 | + <set_empty_string>N</set_empty_string> | |
| 673 | + </field> | |
| 674 | + </fields> | |
| 675 | + <cluster_schema/> | |
| 676 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 677 | + <xloc>208</xloc> | |
| 678 | + <yloc>428</yloc> | |
| 679 | + <draw>Y</draw> | |
| 680 | + </GUI> | |
| 681 | + </step> | |
| 682 | + | |
| 683 | + <step> | |
| 684 | + <name>增加时刻表名称metadata</name> | |
| 685 | + <type>Constant</type> | |
| 686 | + <description/> | |
| 687 | + <distribute>Y</distribute> | |
| 688 | + <custom_distribution/> | |
| 689 | + <copies>1</copies> | |
| 690 | + <partitioning> | |
| 691 | + <method>none</method> | |
| 692 | + <schema_name/> | |
| 693 | + </partitioning> | |
| 694 | + <fields> | |
| 695 | + <field> | |
| 696 | + <name>col_name</name> | |
| 697 | + <type>String</type> | |
| 698 | + <format/> | |
| 699 | + <currency/> | |
| 700 | + <decimal/> | |
| 701 | + <group/> | |
| 702 | + <nullif>ttinfoname_</nullif> | |
| 703 | + <length>-1</length> | |
| 704 | + <precision>-1</precision> | |
| 705 | + <set_empty_string>N</set_empty_string> | |
| 706 | + </field> | |
| 707 | + <field> | |
| 708 | + <name>col_type</name> | |
| 709 | + <type>String</type> | |
| 710 | + <format/> | |
| 711 | + <currency/> | |
| 712 | + <decimal/> | |
| 713 | + <group/> | |
| 714 | + <nullif>String</nullif> | |
| 715 | + <length>-1</length> | |
| 716 | + <precision>-1</precision> | |
| 717 | + <set_empty_string>N</set_empty_string> | |
| 718 | + </field> | |
| 719 | + <field> | |
| 720 | + <name>col_value</name> | |
| 721 | + <type>String</type> | |
| 722 | + <format/> | |
| 723 | + <currency/> | |
| 724 | + <decimal/> | |
| 725 | + <group/> | |
| 726 | + <nullif>replace</nullif> | |
| 727 | + <length>-1</length> | |
| 728 | + <precision>-1</precision> | |
| 729 | + <set_empty_string>N</set_empty_string> | |
| 730 | + </field> | |
| 731 | + </fields> | |
| 732 | + <cluster_schema/> | |
| 733 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 734 | + <xloc>216</xloc> | |
| 735 | + <yloc>508</yloc> | |
| 736 | + <draw>Y</draw> | |
| 737 | + </GUI> | |
| 738 | + </step> | |
| 739 | + | |
| 740 | + <step> | |
| 741 | + <name>增加线路名称metadata</name> | |
| 742 | + <type>Constant</type> | |
| 743 | + <description/> | |
| 744 | + <distribute>Y</distribute> | |
| 745 | + <custom_distribution/> | |
| 746 | + <copies>1</copies> | |
| 747 | + <partitioning> | |
| 748 | + <method>none</method> | |
| 749 | + <schema_name/> | |
| 750 | + </partitioning> | |
| 751 | + <fields> | |
| 752 | + <field> | |
| 753 | + <name>col_name</name> | |
| 754 | + <type>String</type> | |
| 755 | + <format/> | |
| 756 | + <currency/> | |
| 757 | + <decimal/> | |
| 758 | + <group/> | |
| 759 | + <nullif>xlname_</nullif> | |
| 760 | + <length>-1</length> | |
| 761 | + <precision>-1</precision> | |
| 762 | + <set_empty_string>N</set_empty_string> | |
| 763 | + </field> | |
| 764 | + <field> | |
| 765 | + <name>col_type</name> | |
| 766 | + <type>String</type> | |
| 767 | + <format/> | |
| 768 | + <currency/> | |
| 769 | + <decimal/> | |
| 770 | + <group/> | |
| 771 | + <nullif>String</nullif> | |
| 772 | + <length>-1</length> | |
| 773 | + <precision>-1</precision> | |
| 774 | + <set_empty_string>N</set_empty_string> | |
| 775 | + </field> | |
| 776 | + <field> | |
| 777 | + <name>col_value</name> | |
| 778 | + <type>String</type> | |
| 779 | + <format/> | |
| 780 | + <currency/> | |
| 781 | + <decimal/> | |
| 782 | + <group/> | |
| 783 | + <nullif>replace</nullif> | |
| 784 | + <length>-1</length> | |
| 785 | + <precision>-1</precision> | |
| 786 | + <set_empty_string>N</set_empty_string> | |
| 787 | + </field> | |
| 788 | + </fields> | |
| 789 | + <cluster_schema/> | |
| 790 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 791 | + <xloc>202</xloc> | |
| 792 | + <yloc>351</yloc> | |
| 793 | + <draw>Y</draw> | |
| 794 | + </GUI> | |
| 795 | + </step> | |
| 796 | + | |
| 797 | + <step> | |
| 798 | + <name>时刻表名称metadata字段</name> | |
| 799 | + <type>SelectValues</type> | |
| 800 | + <description/> | |
| 801 | + <distribute>Y</distribute> | |
| 802 | + <custom_distribution/> | |
| 803 | + <copies>1</copies> | |
| 804 | + <partitioning> | |
| 805 | + <method>none</method> | |
| 806 | + <schema_name/> | |
| 807 | + </partitioning> | |
| 808 | + <fields> <field> <name>col_name</name> | |
| 809 | + <rename/> | |
| 810 | + <length>-2</length> | |
| 811 | + <precision>-2</precision> | |
| 812 | + </field> <field> <name>col_type</name> | |
| 813 | + <rename/> | |
| 814 | + <length>-2</length> | |
| 815 | + <precision>-2</precision> | |
| 816 | + </field> <field> <name>col_value</name> | |
| 817 | + <rename/> | |
| 818 | + <length>-2</length> | |
| 819 | + <precision>-2</precision> | |
| 820 | + </field> <select_unspecified>N</select_unspecified> | |
| 821 | + </fields> <cluster_schema/> | |
| 822 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 823 | + <xloc>496</xloc> | |
| 824 | + <yloc>508</yloc> | |
| 825 | + <draw>Y</draw> | |
| 826 | + </GUI> | |
| 827 | + </step> | |
| 828 | + | |
| 829 | + <step> | |
| 830 | + <name>替换停车厂名字 </name> | |
| 831 | + <type>SetValueField</type> | |
| 832 | + <description/> | |
| 833 | + <distribute>Y</distribute> | |
| 834 | + <custom_distribution/> | |
| 835 | + <copies>1</copies> | |
| 836 | + <partitioning> | |
| 837 | + <method>none</method> | |
| 838 | + <schema_name/> | |
| 839 | + </partitioning> | |
| 840 | + <fields> | |
| 841 | + <field> | |
| 842 | + <name>col_value</name> | |
| 843 | + <replaceby>tccname_</replaceby> | |
| 844 | + </field> | |
| 845 | + </fields> | |
| 846 | + <cluster_schema/> | |
| 847 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 848 | + <xloc>345</xloc> | |
| 849 | + <yloc>430</yloc> | |
| 850 | + <draw>Y</draw> | |
| 851 | + </GUI> | |
| 852 | + </step> | |
| 853 | + | |
| 854 | + <step> | |
| 855 | + <name>替换时刻表名字</name> | |
| 856 | + <type>SetValueField</type> | |
| 857 | + <description/> | |
| 858 | + <distribute>Y</distribute> | |
| 859 | + <custom_distribution/> | |
| 860 | + <copies>1</copies> | |
| 861 | + <partitioning> | |
| 862 | + <method>none</method> | |
| 863 | + <schema_name/> | |
| 864 | + </partitioning> | |
| 865 | + <fields> | |
| 866 | + <field> | |
| 867 | + <name>col_value</name> | |
| 868 | + <replaceby>ttinfoname_</replaceby> | |
| 869 | + </field> | |
| 870 | + </fields> | |
| 871 | + <cluster_schema/> | |
| 872 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 873 | + <xloc>354</xloc> | |
| 874 | + <yloc>509</yloc> | |
| 875 | + <draw>Y</draw> | |
| 876 | + </GUI> | |
| 877 | + </step> | |
| 878 | + | |
| 879 | + <step> | |
| 880 | + <name>替换线路名称</name> | |
| 881 | + <type>SetValueField</type> | |
| 882 | + <description/> | |
| 883 | + <distribute>Y</distribute> | |
| 884 | + <custom_distribution/> | |
| 885 | + <copies>1</copies> | |
| 886 | + <partitioning> | |
| 887 | + <method>none</method> | |
| 888 | + <schema_name/> | |
| 889 | + </partitioning> | |
| 890 | + <fields> | |
| 891 | + <field> | |
| 892 | + <name>col_value</name> | |
| 893 | + <replaceby>xlname_</replaceby> | |
| 894 | + </field> | |
| 895 | + </fields> | |
| 896 | + <cluster_schema/> | |
| 897 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 898 | + <xloc>340</xloc> | |
| 899 | + <yloc>352</yloc> | |
| 900 | + <draw>Y</draw> | |
| 901 | + </GUI> | |
| 902 | + </step> | |
| 903 | + | |
| 904 | + <step> | |
| 905 | + <name>线路名称metadata字段</name> | |
| 906 | + <type>SelectValues</type> | |
| 907 | + <description/> | |
| 908 | + <distribute>Y</distribute> | |
| 909 | + <custom_distribution/> | |
| 910 | + <copies>1</copies> | |
| 911 | + <partitioning> | |
| 912 | + <method>none</method> | |
| 913 | + <schema_name/> | |
| 914 | + </partitioning> | |
| 915 | + <fields> <field> <name>col_name</name> | |
| 916 | + <rename/> | |
| 917 | + <length>-2</length> | |
| 918 | + <precision>-2</precision> | |
| 919 | + </field> <field> <name>col_type</name> | |
| 920 | + <rename/> | |
| 921 | + <length>-2</length> | |
| 922 | + <precision>-2</precision> | |
| 923 | + </field> <field> <name>col_value</name> | |
| 924 | + <rename/> | |
| 925 | + <length>-2</length> | |
| 926 | + <precision>-2</precision> | |
| 927 | + </field> <select_unspecified>N</select_unspecified> | |
| 928 | + </fields> <cluster_schema/> | |
| 929 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 930 | + <xloc>487</xloc> | |
| 931 | + <yloc>353</yloc> | |
| 932 | + <draw>Y</draw> | |
| 933 | + </GUI> | |
| 934 | + </step> | |
| 935 | + | |
| 936 | + <step> | |
| 937 | + <name>获取excel字段名字符串</name> | |
| 938 | + <type>GetVariable</type> | |
| 939 | + <description/> | |
| 940 | + <distribute>Y</distribute> | |
| 941 | + <custom_distribution/> | |
| 942 | + <copies>1</copies> | |
| 943 | + <partitioning> | |
| 944 | + <method>none</method> | |
| 945 | + <schema_name/> | |
| 946 | + </partitioning> | |
| 947 | + <fields> | |
| 948 | + <field> | |
| 949 | + <name>fieldnames</name> | |
| 950 | + <variable>${excelfieldnames}</variable> | |
| 951 | + <type>String</type> | |
| 952 | + <format/> | |
| 953 | + <currency/> | |
| 954 | + <decimal/> | |
| 955 | + <group/> | |
| 956 | + <length>-1</length> | |
| 957 | + <precision>-1</precision> | |
| 958 | + <trim_type>none</trim_type> | |
| 959 | + </field> | |
| 960 | + </fields> | |
| 961 | + <cluster_schema/> | |
| 962 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 963 | + <xloc>71</xloc> | |
| 964 | + <yloc>163</yloc> | |
| 965 | + <draw>Y</draw> | |
| 966 | + </GUI> | |
| 967 | + </step> | |
| 968 | + | |
| 969 | + <step> | |
| 970 | + <name>获取excel文件名</name> | |
| 971 | + <type>GetVariable</type> | |
| 972 | + <description/> | |
| 973 | + <distribute>Y</distribute> | |
| 974 | + <custom_distribution/> | |
| 975 | + <copies>1</copies> | |
| 976 | + <partitioning> | |
| 977 | + <method>none</method> | |
| 978 | + <schema_name/> | |
| 979 | + </partitioning> | |
| 980 | + <fields> | |
| 981 | + <field> | |
| 982 | + <name>filepath_</name> | |
| 983 | + <variable>${filepath}</variable> | |
| 984 | + <type>String</type> | |
| 985 | + <format/> | |
| 986 | + <currency/> | |
| 987 | + <decimal/> | |
| 988 | + <group/> | |
| 989 | + <length>-1</length> | |
| 990 | + <precision>-1</precision> | |
| 991 | + <trim_type>none</trim_type> | |
| 992 | + </field> | |
| 993 | + <field> | |
| 994 | + <name>erroroutputdir_</name> | |
| 995 | + <variable>${erroroutputdir}</variable> | |
| 996 | + <type>String</type> | |
| 997 | + <format/> | |
| 998 | + <currency/> | |
| 999 | + <decimal/> | |
| 1000 | + <group/> | |
| 1001 | + <length>-1</length> | |
| 1002 | + <precision>-1</precision> | |
| 1003 | + <trim_type>none</trim_type> | |
| 1004 | + </field> | |
| 1005 | + </fields> | |
| 1006 | + <cluster_schema/> | |
| 1007 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1008 | + <xloc>73</xloc> | |
| 1009 | + <yloc>50</yloc> | |
| 1010 | + <draw>Y</draw> | |
| 1011 | + </GUI> | |
| 1012 | + </step> | |
| 1013 | + | |
| 1014 | + <step> | |
| 1015 | + <name>获取normalize字段名字符串</name> | |
| 1016 | + <type>GetVariable</type> | |
| 1017 | + <description/> | |
| 1018 | + <distribute>Y</distribute> | |
| 1019 | + <custom_distribution/> | |
| 1020 | + <copies>1</copies> | |
| 1021 | + <partitioning> | |
| 1022 | + <method>none</method> | |
| 1023 | + <schema_name/> | |
| 1024 | + </partitioning> | |
| 1025 | + <fields> | |
| 1026 | + <field> | |
| 1027 | + <name>normalizefieldnames_</name> | |
| 1028 | + <variable>${normalizefieldnames}</variable> | |
| 1029 | + <type>String</type> | |
| 1030 | + <format/> | |
| 1031 | + <currency/> | |
| 1032 | + <decimal/> | |
| 1033 | + <group/> | |
| 1034 | + <length>-1</length> | |
| 1035 | + <precision>-1</precision> | |
| 1036 | + <trim_type>none</trim_type> | |
| 1037 | + </field> | |
| 1038 | + </fields> | |
| 1039 | + <cluster_schema/> | |
| 1040 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1041 | + <xloc>80</xloc> | |
| 1042 | + <yloc>261</yloc> | |
| 1043 | + <draw>Y</draw> | |
| 1044 | + </GUI> | |
| 1045 | + </step> | |
| 1046 | + | |
| 1047 | + <step> | |
| 1048 | + <name>获取停车场名称</name> | |
| 1049 | + <type>GetVariable</type> | |
| 1050 | + <description/> | |
| 1051 | + <distribute>Y</distribute> | |
| 1052 | + <custom_distribution/> | |
| 1053 | + <copies>1</copies> | |
| 1054 | + <partitioning> | |
| 1055 | + <method>none</method> | |
| 1056 | + <schema_name/> | |
| 1057 | + </partitioning> | |
| 1058 | + <fields> | |
| 1059 | + <field> | |
| 1060 | + <name>tccname_</name> | |
| 1061 | + <variable>${tccname}</variable> | |
| 1062 | + <type>String</type> | |
| 1063 | + <format/> | |
| 1064 | + <currency/> | |
| 1065 | + <decimal/> | |
| 1066 | + <group/> | |
| 1067 | + <length>-1</length> | |
| 1068 | + <precision>-1</precision> | |
| 1069 | + <trim_type>none</trim_type> | |
| 1070 | + </field> | |
| 1071 | + </fields> | |
| 1072 | + <cluster_schema/> | |
| 1073 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1074 | + <xloc>80</xloc> | |
| 1075 | + <yloc>430</yloc> | |
| 1076 | + <draw>Y</draw> | |
| 1077 | + </GUI> | |
| 1078 | + </step> | |
| 1079 | + | |
| 1080 | + <step> | |
| 1081 | + <name>获取时刻表名称名称</name> | |
| 1082 | + <type>GetVariable</type> | |
| 1083 | + <description/> | |
| 1084 | + <distribute>Y</distribute> | |
| 1085 | + <custom_distribution/> | |
| 1086 | + <copies>1</copies> | |
| 1087 | + <partitioning> | |
| 1088 | + <method>none</method> | |
| 1089 | + <schema_name/> | |
| 1090 | + </partitioning> | |
| 1091 | + <fields> | |
| 1092 | + <field> | |
| 1093 | + <name>ttinfoname_</name> | |
| 1094 | + <variable>${ttinfoname}</variable> | |
| 1095 | + <type>String</type> | |
| 1096 | + <format/> | |
| 1097 | + <currency/> | |
| 1098 | + <decimal/> | |
| 1099 | + <group/> | |
| 1100 | + <length>-1</length> | |
| 1101 | + <precision>-1</precision> | |
| 1102 | + <trim_type>none</trim_type> | |
| 1103 | + </field> | |
| 1104 | + </fields> | |
| 1105 | + <cluster_schema/> | |
| 1106 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1107 | + <xloc>82</xloc> | |
| 1108 | + <yloc>508</yloc> | |
| 1109 | + <draw>Y</draw> | |
| 1110 | + </GUI> | |
| 1111 | + </step> | |
| 1112 | + | |
| 1113 | + <step> | |
| 1114 | + <name>获取线路名称</name> | |
| 1115 | + <type>GetVariable</type> | |
| 1116 | + <description/> | |
| 1117 | + <distribute>Y</distribute> | |
| 1118 | + <custom_distribution/> | |
| 1119 | + <copies>1</copies> | |
| 1120 | + <partitioning> | |
| 1121 | + <method>none</method> | |
| 1122 | + <schema_name/> | |
| 1123 | + </partitioning> | |
| 1124 | + <fields> | |
| 1125 | + <field> | |
| 1126 | + <name>xlname_</name> | |
| 1127 | + <variable>${xlname}</variable> | |
| 1128 | + <type>String</type> | |
| 1129 | + <format/> | |
| 1130 | + <currency/> | |
| 1131 | + <decimal/> | |
| 1132 | + <group/> | |
| 1133 | + <length>-1</length> | |
| 1134 | + <precision>-1</precision> | |
| 1135 | + <trim_type>none</trim_type> | |
| 1136 | + </field> | |
| 1137 | + </fields> | |
| 1138 | + <cluster_schema/> | |
| 1139 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1140 | + <xloc>78</xloc> | |
| 1141 | + <yloc>351</yloc> | |
| 1142 | + <draw>Y</draw> | |
| 1143 | + </GUI> | |
| 1144 | + </step> | |
| 1145 | + | |
| 1146 | + <step> | |
| 1147 | + <name>逗号切分成字段名</name> | |
| 1148 | + <type>SplitFieldToRows3</type> | |
| 1149 | + <description/> | |
| 1150 | + <distribute>Y</distribute> | |
| 1151 | + <custom_distribution/> | |
| 1152 | + <copies>1</copies> | |
| 1153 | + <partitioning> | |
| 1154 | + <method>none</method> | |
| 1155 | + <schema_name/> | |
| 1156 | + </partitioning> | |
| 1157 | + <splitfield>fieldnames</splitfield> | |
| 1158 | + <delimiter>,</delimiter> | |
| 1159 | + <newfield>fieldname</newfield> | |
| 1160 | + <rownum>N</rownum> | |
| 1161 | + <rownum_field/> | |
| 1162 | + <resetrownumber>Y</resetrownumber> | |
| 1163 | + <delimiter_is_regex>N</delimiter_is_regex> | |
| 1164 | + <cluster_schema/> | |
| 1165 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1166 | + <xloc>261</xloc> | |
| 1167 | + <yloc>163</yloc> | |
| 1168 | + <draw>Y</draw> | |
| 1169 | + </GUI> | |
| 1170 | + </step> | |
| 1171 | + | |
| 1172 | + <step> | |
| 1173 | + <name>逗号切分成字段名 2</name> | |
| 1174 | + <type>SplitFieldToRows3</type> | |
| 1175 | + <description/> | |
| 1176 | + <distribute>Y</distribute> | |
| 1177 | + <custom_distribution/> | |
| 1178 | + <copies>1</copies> | |
| 1179 | + <partitioning> | |
| 1180 | + <method>none</method> | |
| 1181 | + <schema_name/> | |
| 1182 | + </partitioning> | |
| 1183 | + <splitfield>normalizefieldnames_</splitfield> | |
| 1184 | + <delimiter>,</delimiter> | |
| 1185 | + <newfield>nfieldname</newfield> | |
| 1186 | + <rownum>N</rownum> | |
| 1187 | + <rownum_field/> | |
| 1188 | + <resetrownumber>Y</resetrownumber> | |
| 1189 | + <delimiter_is_regex>N</delimiter_is_regex> | |
| 1190 | + <cluster_schema/> | |
| 1191 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 1192 | + <xloc>263</xloc> | |
| 1193 | + <yloc>257</yloc> | |
| 1194 | + <draw>Y</draw> | |
| 1195 | + </GUI> | |
| 1196 | + </step> | |
| 1197 | + | |
| 1198 | + <step_error_handling> | |
| 1199 | + </step_error_handling> | |
| 1200 | + <slave-step-copy-partition-distribution> | |
| 1201 | +</slave-step-copy-partition-distribution> | |
| 1202 | + <slave_transformation>N</slave_transformation> | |
| 1203 | + | |
| 1204 | +</transformation> | ... | ... |
src/main/resources/static/assets/plugins/jquery.autocompleter.js
0 → 100644
| 1 | +/* | |
| 2 | + * Autocompleter v0.1.2 - 2014-05-20 | |
| 3 | + * Simple, easy, customisable and with cache support. | |
| 4 | + * http://github.com/ArtemFitiskin/jquery-autocompleter | |
| 5 | + * | |
| 6 | + * Copyright 2014 Artem Fitiskin; MIT Licensed | |
| 7 | + */ | |
| 8 | + | |
| 9 | +;(function ($, window) { | |
| 10 | + "use strict"; | |
| 11 | + | |
| 12 | + var guid = 0, | |
| 13 | + ignoredKeyCode = [9, 13, 17, 19, 20, 27, 33, 34, 35, 36, 37, 39, 44, 92, 113, 114, 115, 118, 119, 120, 122, 123, 144, 145], | |
| 14 | + allowOptions = ['source', 'empty', 'limit', 'cache', 'focusOpen', 'selectFirst', 'changeWhenSelect', 'highlightMatches', 'ignoredKeyCode', 'customLabel', 'customValue', 'template', 'combine', 'callback'], | |
| 15 | + userAgent = (window.navigator.userAgent||window.navigator.vendor||window.opera), | |
| 16 | + isFirefox = /Firefox/i.test(userAgent), | |
| 17 | + isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(userAgent), | |
| 18 | + isFirefoxMobile = (isFirefox && isMobile), | |
| 19 | + $body = null, | |
| 20 | + localStorageKey = 'autocompleterCache', | |
| 21 | + supportLocalStorage = (function () { | |
| 22 | + var supported = typeof window.localStorage !== 'undefined'; | |
| 23 | + if (supported) { | |
| 24 | + try { | |
| 25 | + localStorage.setItem("autocompleter", "autocompleter"); | |
| 26 | + localStorage.removeItem("autocompleter"); | |
| 27 | + } catch (e) { | |
| 28 | + supported = false; | |
| 29 | + } | |
| 30 | + } | |
| 31 | + return supported; | |
| 32 | + })(); | |
| 33 | + | |
| 34 | + /** | |
| 35 | + * @options | |
| 36 | + * @param source [(string|object)] <null> "URL to the server or a local object" | |
| 37 | + * @param empty [boolean] <true> "Launch if value is empty" | |
| 38 | + * @param limit [int] <10> "Number of results to be displayed" | |
| 39 | + * @param customClass [array] <[]> "Array with custom classes for autocompleter element" | |
| 40 | + * @param cache [boolean] <true> "Save xhr data to localStorage to avoid the repetition of requests" | |
| 41 | + * @param focusOpen [boolean] <true> "Launch autocompleter when input gets focus" | |
| 42 | + * @param hint [boolean] <false> "Add hint to input with first matched label, correct styles should be installed" | |
| 43 | + * @param selectFirst [boolean] <false> "If set to true, first element in autocomplete list will be selected automatically, ignore if changeWhenSelect is on" | |
| 44 | + * @param changeWhenSelect [boolean] <true> "Allows to change input value using arrow keys navigation in autocomplete list" | |
| 45 | + * @param highlightMatches [boolean] <false> "This option defines <strong> tag wrap for matches in autocomplete results" | |
| 46 | + * @param ignoredKeyCode [array] <[]> "Array with ignorable keycodes" | |
| 47 | + * @param customLabel [boolean] <false> "The name of object's property which will be used as a label" | |
| 48 | + * @param customValue [boolean] <false> "The name of object's property which will be used as a value" | |
| 49 | + * @param template [(string|boolean)] <false> "Custom template for list items" | |
| 50 | + * @param combine [function] <$.noop> "Returns an object which extends ajax data. Useful if you want to pass some additional server options" | |
| 51 | + * @param callback [function] <$.noop> "Select value callback function. Arguments: value, index" | |
| 52 | + */ | |
| 53 | + var options = { | |
| 54 | + source: null, | |
| 55 | + empty: true, | |
| 56 | + limit: 10, | |
| 57 | + customClass: [], | |
| 58 | + cache: true, | |
| 59 | + focusOpen: true, | |
| 60 | + hint: false, | |
| 61 | + selectFirst: false, | |
| 62 | + changeWhenSelect: true, | |
| 63 | + highlightMatches: false, | |
| 64 | + ignoredKeyCode: [], | |
| 65 | + customLabel: false, | |
| 66 | + customValue: false, | |
| 67 | + template: false, | |
| 68 | + combine: $.noop, | |
| 69 | + callback: $.noop | |
| 70 | + }; | |
| 71 | + | |
| 72 | + var publics = { | |
| 73 | + | |
| 74 | + /** | |
| 75 | + * @method | |
| 76 | + * @name defaults | |
| 77 | + * @description Sets default plugin options | |
| 78 | + * @param opts [object] <{}> "Options object" | |
| 79 | + * @example $.autocompleter("defaults", opts); | |
| 80 | + */ | |
| 81 | + defaults: function (opts) { | |
| 82 | + options = $.extend(options, opts || {}); | |
| 83 | + return $(this); | |
| 84 | + }, | |
| 85 | + | |
| 86 | + /** | |
| 87 | + * @method | |
| 88 | + * @name option | |
| 89 | + * @description Open autocompleter list | |
| 90 | + */ | |
| 91 | + option: function (properties) { | |
| 92 | + return $(this).each(function(i, input) { | |
| 93 | + var data = $(input).next(".autocompleter").data("autocompleter"); | |
| 94 | + | |
| 95 | + for (var property in properties) { | |
| 96 | + if ($.inArray(property, allowOptions) !== -1) { | |
| 97 | + data[property] = properties[property]; | |
| 98 | + } | |
| 99 | + } | |
| 100 | + }); | |
| 101 | + }, | |
| 102 | + | |
| 103 | + /** | |
| 104 | + * @method | |
| 105 | + * @name open | |
| 106 | + * @description Open autocompleter list | |
| 107 | + */ | |
| 108 | + open: function () { | |
| 109 | + return $(this).each(function(i, input) { | |
| 110 | + var data = $(input).next(".autocompleter").data("autocompleter"); | |
| 111 | + | |
| 112 | + if (data) { | |
| 113 | + _open(null, data); | |
| 114 | + } | |
| 115 | + }); | |
| 116 | + }, | |
| 117 | + | |
| 118 | + /** | |
| 119 | + * @method | |
| 120 | + * @name close | |
| 121 | + * @description Close autocompleter list | |
| 122 | + */ | |
| 123 | + close: function () { | |
| 124 | + return $(this).each(function(i, input) { | |
| 125 | + var data = $(input).next(".autocompleter").data("autocompleter"); | |
| 126 | + | |
| 127 | + if (data) { | |
| 128 | + _close(null, data); | |
| 129 | + } | |
| 130 | + }); | |
| 131 | + }, | |
| 132 | + | |
| 133 | + /** | |
| 134 | + * @method | |
| 135 | + * @name clearCache | |
| 136 | + * @description Remove localStorage cache | |
| 137 | + */ | |
| 138 | + clearCache: function () { | |
| 139 | + _deleteCache(); | |
| 140 | + }, | |
| 141 | + | |
| 142 | + /** | |
| 143 | + * @method | |
| 144 | + * @name destroy | |
| 145 | + * @description Removes instance of plugin | |
| 146 | + * @example $(".target").autocompleter("destroy"); | |
| 147 | + */ | |
| 148 | + destroy: function () { | |
| 149 | + return $(this).each(function (i, input) { | |
| 150 | + var data = $(input).next(".autocompleter").data("autocompleter"); | |
| 151 | + | |
| 152 | + if (data) { | |
| 153 | + // Abort xhr | |
| 154 | + if (data.jqxhr) { | |
| 155 | + data.jqxhr.abort(); | |
| 156 | + } | |
| 157 | + | |
| 158 | + // If has selected item & open - confirm it | |
| 159 | + if (data.$autocompleter.hasClass("open")) { | |
| 160 | + data.$autocompleter.find(".autocompleter-selected") | |
| 161 | + .trigger("click.autocompleter"); | |
| 162 | + } | |
| 163 | + | |
| 164 | + // Restore original autocomplete attr | |
| 165 | + if(!data.originalAutocomplete) { | |
| 166 | + data.$node.removeAttr("autocomplete"); | |
| 167 | + } else { | |
| 168 | + data.$node.attr("autocomplete", data.originalAutocomplete); | |
| 169 | + } | |
| 170 | + | |
| 171 | + // Remove autocompleter & unbind events | |
| 172 | + data.$node.off(".autocompleter") | |
| 173 | + .removeClass("autocompleter-node"); | |
| 174 | + data.$autocompleter.off(".autocompleter") | |
| 175 | + .remove(); | |
| 176 | + } | |
| 177 | + }); | |
| 178 | + } | |
| 179 | + }; | |
| 180 | + | |
| 181 | + /** | |
| 182 | + * @method private | |
| 183 | + * @name _init | |
| 184 | + * @description Initializes plugin | |
| 185 | + * @param opts [object] "Initialization options" | |
| 186 | + */ | |
| 187 | + function _init(opts) { | |
| 188 | + // Local options | |
| 189 | + opts = $.extend({}, options, opts || {}); | |
| 190 | + | |
| 191 | + // Check for Body | |
| 192 | + if ($body === null) { | |
| 193 | + $body = $("body"); | |
| 194 | + } | |
| 195 | + | |
| 196 | + // Apply to each element | |
| 197 | + var $items = $(this); | |
| 198 | + for (var i = 0, count = $items.length; i < count; i++) { | |
| 199 | + _build($items.eq(i), opts); | |
| 200 | + } | |
| 201 | + | |
| 202 | + return $items; | |
| 203 | + } | |
| 204 | + | |
| 205 | + /** | |
| 206 | + * @method private | |
| 207 | + * @name _build | |
| 208 | + * @description Builds each instance | |
| 209 | + * @param $node [jQuery object] "Target jQuery object" | |
| 210 | + * @param opts [object] <{}> "Options object" | |
| 211 | + */ | |
| 212 | + function _build($node, opts) { | |
| 213 | + if (!$node.hasClass("autocompleter-node")) { | |
| 214 | + // Extend options | |
| 215 | + opts = $.extend({}, opts, $node.data("autocompleter-options")); | |
| 216 | + | |
| 217 | + var html = '<div class="autocompleter '+opts.customClass.join(' ')+'" id="autocompleter-'+(guid+1)+'">'; | |
| 218 | + if (opts.hint) { | |
| 219 | + html += '<div class="autocompleter-hint"></div>'; | |
| 220 | + } | |
| 221 | + html += '<ul class="autocompleter-list"></ul>'; | |
| 222 | + html += '</div>'; | |
| 223 | + | |
| 224 | + $node.addClass("autocompleter-node") | |
| 225 | + .after(html); | |
| 226 | + | |
| 227 | + var $autocompleter = $node.next(".autocompleter").eq(0); | |
| 228 | + | |
| 229 | + // Set autocomplete to off for warn overlay | |
| 230 | + var originalAutocomplete = $node.attr("autocomplete"); | |
| 231 | + $node.attr("autocomplete", "off"); | |
| 232 | + | |
| 233 | + // Store plugin data | |
| 234 | + var data = $.extend({ | |
| 235 | + $node: $node, | |
| 236 | + $autocompleter: $autocompleter, | |
| 237 | + $selected: null, | |
| 238 | + $list: null, | |
| 239 | + index: -1, | |
| 240 | + hintText: false, | |
| 241 | + source: false, | |
| 242 | + jqxhr: false, | |
| 243 | + response: null, | |
| 244 | + focused: false, | |
| 245 | + query: '', | |
| 246 | + originalAutocomplete: originalAutocomplete, | |
| 247 | + guid: guid++ | |
| 248 | + }, opts); | |
| 249 | + | |
| 250 | + // Bind autocompleter events | |
| 251 | + data.$autocompleter.on("mousedown.autocompleter", ".autocompleter-item", data, _select) | |
| 252 | + .data("autocompleter", data); | |
| 253 | + | |
| 254 | + // Bind node events | |
| 255 | + data.$node.on("keyup.autocompleter", data, _onKeyup) | |
| 256 | + .on("keydown.autocompleter", data, _onKeydownHelper) | |
| 257 | + .on("focus.autocompleter", data, _onFocus) | |
| 258 | + .on("blur.autocompleter", data, _onBlur) | |
| 259 | + .on("mousedown.autocompleter", data, _onMousedown); | |
| 260 | + } | |
| 261 | + } | |
| 262 | + | |
| 263 | + /** | |
| 264 | + * @method private | |
| 265 | + * @name _search | |
| 266 | + * @description Local search function, return best collation | |
| 267 | + * @param query [string] "Query string" | |
| 268 | + * @param source [object] "Source data" | |
| 269 | + * @param limit [integer] "Results length" | |
| 270 | + */ | |
| 271 | + function _search(query, source, limit) { | |
| 272 | + var response = []; | |
| 273 | + query = query.toUpperCase(); | |
| 274 | + | |
| 275 | + if (source.length) { | |
| 276 | + for (var i = 0; i < 2; i++) { | |
| 277 | + for (var item in source) { | |
| 278 | + if (response.length < limit) { | |
| 279 | + switch (i) { | |
| 280 | + case 0: | |
| 281 | + if (source[item].label.toUpperCase().search(query) === 0) { | |
| 282 | + response.push(source[item]); | |
| 283 | + delete source[item]; | |
| 284 | + } | |
| 285 | + break; | |
| 286 | + | |
| 287 | + case 1: | |
| 288 | + if (source[item].label.toUpperCase().search(query) !== -1) { | |
| 289 | + response.push(source[item]); | |
| 290 | + delete source[item]; | |
| 291 | + } | |
| 292 | + break; | |
| 293 | + } | |
| 294 | + } | |
| 295 | + } | |
| 296 | + } | |
| 297 | + } | |
| 298 | + | |
| 299 | + return response; | |
| 300 | + } | |
| 301 | + | |
| 302 | + /** | |
| 303 | + * @method private | |
| 304 | + * @name _launch | |
| 305 | + * @description Use source locally or create xhr | |
| 306 | + * @param data [object] "Instance data" | |
| 307 | + */ | |
| 308 | + function _launch(data) { | |
| 309 | + data.query = $.trim(data.$node.val()); | |
| 310 | + | |
| 311 | + if (!data.empty && data.query.length === 0) { | |
| 312 | + _clear(data); | |
| 313 | + return; | |
| 314 | + } else { | |
| 315 | + if (typeof data.source === 'object') { | |
| 316 | + _clear(data); | |
| 317 | + | |
| 318 | + // Local search | |
| 319 | + var search = _search(data.query, _clone(data.source), data.limit); | |
| 320 | + if (search.length) { | |
| 321 | + _response(search, data); | |
| 322 | + } | |
| 323 | + } else { | |
| 324 | + if (data.jqxhr) { | |
| 325 | + data.jqxhr.abort(); | |
| 326 | + } | |
| 327 | + | |
| 328 | + var ajaxData = $.extend({ | |
| 329 | + limit: data.limit, | |
| 330 | + query: data.query | |
| 331 | + }, data.combine()); | |
| 332 | + | |
| 333 | + data.jqxhr = $.ajax({ | |
| 334 | + url: data.source, | |
| 335 | + dataType: "json", | |
| 336 | + data: ajaxData, | |
| 337 | + beforeSend: function (xhr) { | |
| 338 | + data.$autocompleter.addClass('autocompleter-ajax'); | |
| 339 | + _clear(data); | |
| 340 | + if (data.cache) { | |
| 341 | + var stored = _getCache(this.url); | |
| 342 | + if (stored) { | |
| 343 | + xhr.abort(); | |
| 344 | + _response(stored, data); | |
| 345 | + } | |
| 346 | + } | |
| 347 | + } | |
| 348 | + }) | |
| 349 | + .done(function (response) { | |
| 350 | + if (data.cache) { | |
| 351 | + _setCache(this.url, response); | |
| 352 | + } | |
| 353 | + _response(response, data); | |
| 354 | + }) | |
| 355 | + .always(function () { | |
| 356 | + data.$autocompleter.removeClass('autocompleter-ajax'); | |
| 357 | + }); | |
| 358 | + } | |
| 359 | + } | |
| 360 | + } | |
| 361 | + | |
| 362 | + /** | |
| 363 | + * @method private | |
| 364 | + * @name _clear | |
| 365 | + * @param data [object] "Instance data" | |
| 366 | + */ | |
| 367 | + function _clear(data) { | |
| 368 | + // Clear data | |
| 369 | + data.response = null; | |
| 370 | + data.$list = null; | |
| 371 | + data.$selected = null; | |
| 372 | + data.index = 0; | |
| 373 | + data.$autocompleter.find(".autocompleter-list").empty(); | |
| 374 | + data.$autocompleter.find('.autocompleter-hint').removeClass('autocompleter-hint-show').empty(); | |
| 375 | + data.hintText = false; | |
| 376 | + | |
| 377 | + _close(null, data); | |
| 378 | + } | |
| 379 | + | |
| 380 | + /** | |
| 381 | + * @method private | |
| 382 | + * @name _response | |
| 383 | + * @description Main source response function | |
| 384 | + * @param response [object] "Source data" | |
| 385 | + * @param data [object] "Instance data" | |
| 386 | + */ | |
| 387 | + function _response(response, data) { | |
| 388 | + _buildList(response, data); | |
| 389 | + | |
| 390 | + if (data.$autocompleter.hasClass('autocompleter-focus')) { | |
| 391 | + _open(null, data); | |
| 392 | + } | |
| 393 | + } | |
| 394 | + | |
| 395 | + /** | |
| 396 | + * @method private | |
| 397 | + * @name _buildList | |
| 398 | + * @description Generate autocompleter-list and update instance data by source | |
| 399 | + * @param list [object] "Source data" | |
| 400 | + * @param data [object] "Instance data" | |
| 401 | + */ | |
| 402 | + function _buildList(list, data) { | |
| 403 | + var menu = ''; | |
| 404 | + | |
| 405 | + for (var item = 0, count = list.length; item < count; item++) { | |
| 406 | + var classes = ["autocompleter-item"]; | |
| 407 | + | |
| 408 | + if (data.selectFirst && item === 0 && !data.changeWhenSelect) { | |
| 409 | + classes.push("autocompleter-item-selected"); | |
| 410 | + } | |
| 411 | + | |
| 412 | + var highlightReg = new RegExp(data.query, "gi"); | |
| 413 | + var label = (data.customLabel && list[item][data.customLabel]) ? list[item][data.customLabel] : list[item].label; | |
| 414 | + | |
| 415 | + var clear = label; | |
| 416 | + | |
| 417 | + label = data.highlightMatches ? label.replace(highlightReg, "<strong>$&</strong>") : label; | |
| 418 | + | |
| 419 | + var value = (data.customValue && list[item][data.customValue]) ? list[item][data.customValue] : list[item].value; | |
| 420 | + | |
| 421 | + // Apply custom template | |
| 422 | + if (data.template) { | |
| 423 | + var template = data.template.replace(/({{ label }})/gi, label); | |
| 424 | + | |
| 425 | + for (var property in list[item]) { | |
| 426 | + if (list[item].hasOwnProperty(property)) { | |
| 427 | + var regex = new RegExp('{{ '+ property +' }}', 'gi'); | |
| 428 | + template = template.replace(regex, list[item][property]); | |
| 429 | + } | |
| 430 | + } | |
| 431 | + | |
| 432 | + label = template; | |
| 433 | + } | |
| 434 | + | |
| 435 | + if (value) { | |
| 436 | + menu += '<li data-value="'+value+'" data-label="'+clear+'" class="'+classes.join(' ')+'">'+label+'</li>'; | |
| 437 | + } else { | |
| 438 | + menu += '<li data-label="'+clear+'" class="'+classes.join(' ')+'">'+label+'</li>'; | |
| 439 | + } | |
| 440 | + } | |
| 441 | + | |
| 442 | + // Set hint | |
| 443 | + if (list.length && data.hint) { | |
| 444 | + var hint = ( list[0].label.substr(0, data.query.length).toUpperCase() === data.query.toUpperCase() ) ? list[0].label : false; | |
| 445 | + if (hint && (data.query !== list[0].label)) { | |
| 446 | + var hintReg = new RegExp(data.query, "i"); | |
| 447 | + var hintText = hint.replace(hintReg, "<span>"+data.query+"</span>"); | |
| 448 | + data.$autocompleter.find('.autocompleter-hint').addClass('autocompleter-hint-show').html(hintText); | |
| 449 | + data.hintText = hintText; | |
| 450 | + } | |
| 451 | + } | |
| 452 | + | |
| 453 | + // Update data | |
| 454 | + data.response = list; | |
| 455 | + data.$autocompleter.find(".autocompleter-list").html(menu); | |
| 456 | + data.$selected = (data.$autocompleter.find(".autocompleter-item-selected").length) ? data.$autocompleter.find(".autocompleter-item-selected") : null; | |
| 457 | + data.$list = (list.length) ? data.$autocompleter.find(".autocompleter-item") : null; | |
| 458 | + data.index = data.$selected ? data.$list.index(data.$selected) : -1; | |
| 459 | + data.$autocompleter.find(".autocompleter-item").each(function (i, j) { | |
| 460 | + $(j).data(data.response[i]); | |
| 461 | + }); | |
| 462 | + } | |
| 463 | + | |
| 464 | + /** | |
| 465 | + * @method private | |
| 466 | + * @name _onKeyup | |
| 467 | + * @description Keyup events in node, up/down autocompleter-list navigation, typing and enter button callbacks | |
| 468 | + * @param e [object] "Event data" | |
| 469 | + */ | |
| 470 | + function _onKeyup(e) { | |
| 471 | + var data = e.data; | |
| 472 | + var code = e.keyCode ? e.keyCode : e.which; | |
| 473 | + | |
| 474 | + if ( (code === 40 || code === 38) && data.$autocompleter.hasClass('autocompleter-show') ) { | |
| 475 | + // Arrows up & down | |
| 476 | + var len = data.$list.length, | |
| 477 | + next, | |
| 478 | + prev; | |
| 479 | + | |
| 480 | + if (len) { | |
| 481 | + // Determine new index | |
| 482 | + if (len > 1) { | |
| 483 | + if (data.index === len - 1) { | |
| 484 | + next = data.changeWhenSelect ? -1 : 0; | |
| 485 | + prev = data.index - 1; | |
| 486 | + } else if (data.index === 0) { | |
| 487 | + next = data.index + 1; | |
| 488 | + prev = data.changeWhenSelect ? -1 : len - 1; | |
| 489 | + } else if (data.index === -1) { | |
| 490 | + next = 0; | |
| 491 | + prev = len - 1; | |
| 492 | + } else { | |
| 493 | + next = data.index + 1; | |
| 494 | + prev = data.index - 1; | |
| 495 | + } | |
| 496 | + } else if (data.index === -1) { | |
| 497 | + next = 0; | |
| 498 | + prev = 0; | |
| 499 | + } else { | |
| 500 | + prev = -1; | |
| 501 | + next = -1; | |
| 502 | + } | |
| 503 | + data.index = (code === 40) ? next : prev; | |
| 504 | + | |
| 505 | + // Update HTML | |
| 506 | + data.$list.removeClass("autocompleter-item-selected"); | |
| 507 | + if (data.index !== -1) { | |
| 508 | + data.$list.eq(data.index).addClass("autocompleter-item-selected"); | |
| 509 | + } | |
| 510 | + data.$selected = data.$autocompleter.find(".autocompleter-item-selected").length ? data.$autocompleter.find(".autocompleter-item-selected") : null; | |
| 511 | + if (data.changeWhenSelect) { | |
| 512 | + _setValue(data); | |
| 513 | + } | |
| 514 | + } | |
| 515 | + } else if ($.inArray(code, ignoredKeyCode) === -1 && $.inArray(code, data.ignoredKeyCode) === -1) { | |
| 516 | + // Typing | |
| 517 | + _launch(data); | |
| 518 | + } | |
| 519 | + } | |
| 520 | + | |
| 521 | + /** | |
| 522 | + * @method private | |
| 523 | + * @name _onKeydownHelper | |
| 524 | + * @description Keydown events in node, up/down for prevent cursor moving and right arrow for hint | |
| 525 | + * @param e [object] "Event data" | |
| 526 | + */ | |
| 527 | + function _onKeydownHelper(e) { | |
| 528 | + var code = e.keyCode ? e.keyCode : e.which; | |
| 529 | + var data = e.data; | |
| 530 | + | |
| 531 | + if (code === 40 || code === 38 ) { | |
| 532 | + e.preventDefault(); | |
| 533 | + e.stopPropagation(); | |
| 534 | + } else if (code === 39) { | |
| 535 | + // Right arrow | |
| 536 | + if (data.hint && data.hintText && data.$autocompleter.find('.autocompleter-hint').hasClass('autocompleter-hint-show')) { | |
| 537 | + e.preventDefault(); | |
| 538 | + e.stopPropagation(); | |
| 539 | + | |
| 540 | + var hintOrigin = data.$autocompleter.find(".autocompleter-item").length ? data.$autocompleter.find(".autocompleter-item").eq(0).attr('data-label') : false; | |
| 541 | + if (hintOrigin) { | |
| 542 | + data.query = hintOrigin; | |
| 543 | + _setHint(data); | |
| 544 | + } | |
| 545 | + } | |
| 546 | + } else if (code === 13) { | |
| 547 | + // Enter | |
| 548 | + if (data.$autocompleter.hasClass('autocompleter-show') && data.$selected) { | |
| 549 | + _select(e); | |
| 550 | + } | |
| 551 | + } | |
| 552 | + } | |
| 553 | + | |
| 554 | + /** | |
| 555 | + * @method private | |
| 556 | + * @name _onFocus | |
| 557 | + * @description Handles instance focus | |
| 558 | + * @param e [object] "Event data" | |
| 559 | + * @param internal [boolean] "Called by plugin" | |
| 560 | + */ | |
| 561 | + function _onFocus(e, internal) { | |
| 562 | + if (!internal) { | |
| 563 | + var data = e.data; | |
| 564 | + | |
| 565 | + data.$autocompleter.addClass("autocompleter-focus"); | |
| 566 | + | |
| 567 | + if (!data.$node.prop("disabled") && !data.$autocompleter.hasClass('autocompleter-show')) { | |
| 568 | + if (data.focusOpen) { | |
| 569 | + _launch(data); | |
| 570 | + data.focused = true; | |
| 571 | + setTimeout(function () { | |
| 572 | + data.focused = false; | |
| 573 | + }, 500); | |
| 574 | + } | |
| 575 | + } | |
| 576 | + } | |
| 577 | + } | |
| 578 | + | |
| 579 | + /** | |
| 580 | + * @method private | |
| 581 | + * @name _onBlur | |
| 582 | + * @description Handles instance blur | |
| 583 | + * @param e [object] "Event data" | |
| 584 | + * @param internal [boolean] "Called by plugin" | |
| 585 | + */ | |
| 586 | + function _onBlur(e, internal) { | |
| 587 | + e.preventDefault(); | |
| 588 | + e.stopPropagation(); | |
| 589 | + | |
| 590 | + var data = e.data; | |
| 591 | + | |
| 592 | + if (!internal) { | |
| 593 | + data.$autocompleter.removeClass("autocompleter-focus"); | |
| 594 | + _close(e); | |
| 595 | + } | |
| 596 | + } | |
| 597 | + | |
| 598 | + /** | |
| 599 | + * @method private | |
| 600 | + * @name _onMousedown | |
| 601 | + * @description Handles mousedown to node | |
| 602 | + * @param e [object] "Event data" | |
| 603 | + */ | |
| 604 | + function _onMousedown(e) { | |
| 605 | + // Disable middle & right mouse click | |
| 606 | + if (e.type === "mousedown" && $.inArray(e.which, [2, 3]) !== -1) { return; } | |
| 607 | + | |
| 608 | + var data = e.data; | |
| 609 | + if (data.$list && !data.focused) { | |
| 610 | + if (!data.$node.is(":disabled")) { | |
| 611 | + if (isMobile && !isFirefoxMobile) { | |
| 612 | + var el = data.$select[0]; | |
| 613 | + if (window.document.createEvent) { // All | |
| 614 | + var evt = window.document.createEvent("MouseEvents"); | |
| 615 | + evt.initMouseEvent("mousedown", false, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); | |
| 616 | + el.dispatchEvent(evt); | |
| 617 | + } else if (el.fireEvent) { // IE | |
| 618 | + el.fireEvent("onmousedown"); | |
| 619 | + } | |
| 620 | + } else { | |
| 621 | + // Delegate intent | |
| 622 | + if (data.$autocompleter.hasClass("autocompleter-closed")) { | |
| 623 | + _open(e); | |
| 624 | + } else if (data.$autocompleter.hasClass("autocompleter-show")) { | |
| 625 | + _close(e); | |
| 626 | + } | |
| 627 | + } | |
| 628 | + } | |
| 629 | + } | |
| 630 | + } | |
| 631 | + | |
| 632 | + /** | |
| 633 | + * @method private | |
| 634 | + * @name _open | |
| 635 | + * @description Opens option set | |
| 636 | + * @param e [object] "Event data" | |
| 637 | + * @param instanceData [object] "Instance data" | |
| 638 | + */ | |
| 639 | + function _open(e, instanceData) { | |
| 640 | + var data = e ? e.data : instanceData; | |
| 641 | + | |
| 642 | + if (!data.$node.prop("disabled") && !data.$autocompleter.hasClass("autocompleter-show") && data.$list && data.$list.length ) { | |
| 643 | + data.$autocompleter.removeClass("autocompleter-closed").addClass("autocompleter-show"); | |
| 644 | + $body.on("click.autocompleter-" + data.guid, ":not(.autocompleter-item)", data, _closeHelper); | |
| 645 | + } | |
| 646 | + } | |
| 647 | + | |
| 648 | + /** | |
| 649 | + * @method private | |
| 650 | + * @name _closeHelper | |
| 651 | + * @description Determines if event target is outside instance before closing | |
| 652 | + * @param e [object] "Event data" | |
| 653 | + */ | |
| 654 | + function _closeHelper(e) { | |
| 655 | + if ( $(e.target).hasClass('autocompleter-node') ) { | |
| 656 | + return; | |
| 657 | + } | |
| 658 | + | |
| 659 | + if ($(e.currentTarget).parents(".autocompleter").length === 0) { | |
| 660 | + _close(e); | |
| 661 | + } | |
| 662 | + } | |
| 663 | + | |
| 664 | + /** | |
| 665 | + * @method private | |
| 666 | + * @name _close | |
| 667 | + * @description Closes option set | |
| 668 | + * @param e [object] "Event data" | |
| 669 | + * @param instanceData [object] "Instance data" | |
| 670 | + */ | |
| 671 | + function _close(e, instanceData) { | |
| 672 | + var data = e ? e.data : instanceData; | |
| 673 | + | |
| 674 | + if (data.$autocompleter.hasClass("autocompleter-show")) { | |
| 675 | + data.$autocompleter.removeClass("autocompleter-show").addClass("autocompleter-closed"); | |
| 676 | + $body.off(".autocompleter-" + data.guid); | |
| 677 | + } | |
| 678 | + } | |
| 679 | + | |
| 680 | + /** | |
| 681 | + * @method private | |
| 682 | + * @name _select | |
| 683 | + * @description Select item from .autocompleter-list | |
| 684 | + * @param e [object] "Event data" | |
| 685 | + */ | |
| 686 | + function _select(e) { | |
| 687 | + // Disable middle & right mouse click | |
| 688 | + if (e.type === "mousedown" && $.inArray(e.which, [2, 3]) !== -1) { return; } | |
| 689 | + | |
| 690 | + var data = e.data; | |
| 691 | + | |
| 692 | + e.preventDefault(); | |
| 693 | + e.stopPropagation(); | |
| 694 | + | |
| 695 | + if (e.type === "mousedown" && $(this).length) { | |
| 696 | + data.$selected = $(this); | |
| 697 | + data.index = data.$list.index(data.$selected); | |
| 698 | + } | |
| 699 | + | |
| 700 | + if (!data.$node.prop("disabled")) { | |
| 701 | + _close(e); | |
| 702 | + _update(data); | |
| 703 | + | |
| 704 | + if (e.type === "click") { | |
| 705 | + data.$node.trigger("focus", [true]); | |
| 706 | + } | |
| 707 | + } | |
| 708 | + } | |
| 709 | + | |
| 710 | + /** | |
| 711 | + * @method private | |
| 712 | + * @name _setHint | |
| 713 | + * @description Set autocompleter by hint | |
| 714 | + * @param data [object] "Instance data" | |
| 715 | + */ | |
| 716 | + function _setHint(data) { | |
| 717 | + _setValue(data); | |
| 718 | + _handleChange(data); | |
| 719 | + _launch(data); | |
| 720 | + } | |
| 721 | + | |
| 722 | + /** | |
| 723 | + * @method private | |
| 724 | + * @name _setValue | |
| 725 | + * @description Set value for native field | |
| 726 | + * @param data [object] "Instance data" | |
| 727 | + */ | |
| 728 | + function _setValue(data) { | |
| 729 | + if (data.$selected) { | |
| 730 | + if (data.hintText && data.$autocompleter.find('.autocompleter-hint').hasClass('autocompleter-hint-show')) { | |
| 731 | + data.$autocompleter.find('.autocompleter-hint').removeClass('autocompleter-hint-show'); | |
| 732 | + } | |
| 733 | + var value = data.$selected.attr('data-value') ? data.$selected.attr('data-value') : data.$selected.attr('data-label'); | |
| 734 | + data.$node.val(value); | |
| 735 | + } else { | |
| 736 | + if (data.hintText && !data.$autocompleter.find('.autocompleter-hint').hasClass('autocompleter-hint-show')) { | |
| 737 | + data.$autocompleter.find('.autocompleter-hint').addClass('autocompleter-hint-show'); | |
| 738 | + } | |
| 739 | + data.$node.val(data.query); | |
| 740 | + } | |
| 741 | + } | |
| 742 | + | |
| 743 | + /** | |
| 744 | + * @method private | |
| 745 | + * @name _update | |
| 746 | + * @param data [object] "Instance data" | |
| 747 | + */ | |
| 748 | + function _update(data) { | |
| 749 | + _setValue(data); | |
| 750 | + _handleChange(data); | |
| 751 | + _clear(data); | |
| 752 | + } | |
| 753 | + | |
| 754 | + /** | |
| 755 | + * @method private | |
| 756 | + * @name _handleChange | |
| 757 | + * @description Trigger node change event and call the callback function | |
| 758 | + * @param data [object] "Instance data" | |
| 759 | + */ | |
| 760 | + function _handleChange(data) { | |
| 761 | + data.callback.call(data.$autocompleter, data.$node.val(), data.index, data.response[data.index]); | |
| 762 | + data.$node.trigger("change"); | |
| 763 | + } | |
| 764 | + | |
| 765 | + /** | |
| 766 | + * @method private | |
| 767 | + * @name _getCache | |
| 768 | + * @description Store AJAX response in plugin cache | |
| 769 | + * @param url [string] "AJAX get query string" | |
| 770 | + * @param data [object] "AJAX response data" | |
| 771 | + */ | |
| 772 | + function _setCache(url, data) { | |
| 773 | + if (!supportLocalStorage) { return; } | |
| 774 | + if (url && data) { | |
| 775 | + cache[url] = { | |
| 776 | + value: data | |
| 777 | + }; | |
| 778 | + | |
| 779 | + // Proccess to localStorage | |
| 780 | + try { | |
| 781 | + localStorage.setItem(localStorageKey, JSON.stringify(cache)); | |
| 782 | + } catch (e) { | |
| 783 | + var code = e.code || e.number || e.message; | |
| 784 | + if (code === 22) { | |
| 785 | + _deleteCache(); | |
| 786 | + } else { | |
| 787 | + throw(e); | |
| 788 | + } | |
| 789 | + } | |
| 790 | + } | |
| 791 | + } | |
| 792 | + | |
| 793 | + /** | |
| 794 | + * @method private | |
| 795 | + * @name _getCache | |
| 796 | + * @description Get cached data by url if exist | |
| 797 | + * @param url [string] "AJAX get query string" | |
| 798 | + */ | |
| 799 | + function _getCache(url) { | |
| 800 | + if (!url) { return; } | |
| 801 | + var response = (cache[url] && cache[url].value) ? cache[url].value : false; | |
| 802 | + return response; | |
| 803 | + } | |
| 804 | + | |
| 805 | + /** | |
| 806 | + * @method private | |
| 807 | + * @name _loadCache | |
| 808 | + * @description Load all plugin cache from localStorage | |
| 809 | + */ | |
| 810 | + function _loadCache() { | |
| 811 | + if (!supportLocalStorage) { return; } | |
| 812 | + var json = localStorage.getItem(localStorageKey) || '{}'; | |
| 813 | + return JSON.parse(json); | |
| 814 | + } | |
| 815 | + | |
| 816 | + /** | |
| 817 | + * @method private | |
| 818 | + * @name _deleteCache | |
| 819 | + * @description Delete all plugin cache from localStorage | |
| 820 | + */ | |
| 821 | + function _deleteCache() { | |
| 822 | + try { | |
| 823 | + localStorage.removeItem(localStorageKey); | |
| 824 | + cache = _loadCache(); | |
| 825 | + } catch (e) { | |
| 826 | + throw(e); | |
| 827 | + } | |
| 828 | + } | |
| 829 | + | |
| 830 | + /** | |
| 831 | + * @method private | |
| 832 | + * @name _clone | |
| 833 | + * @description Clone JavaScript object | |
| 834 | + */ | |
| 835 | + function _clone(obj) { | |
| 836 | + if (null === obj || "object" !== typeof obj) { | |
| 837 | + return obj; | |
| 838 | + } | |
| 839 | + var copy = obj.constructor(); | |
| 840 | + for (var attr in obj) { | |
| 841 | + if (obj.hasOwnProperty(attr)) { | |
| 842 | + copy[attr] = obj[attr]; | |
| 843 | + } | |
| 844 | + } | |
| 845 | + return copy; | |
| 846 | + } | |
| 847 | + | |
| 848 | + // Load cache | |
| 849 | + var cache = _loadCache(); | |
| 850 | + | |
| 851 | + $.fn.autocompleter = function (method) { | |
| 852 | + if (publics[method]) { | |
| 853 | + return publics[method].apply(this, Array.prototype.slice.call(arguments, 1)); | |
| 854 | + } else if (typeof method === 'object' || !method) { | |
| 855 | + return _init.apply(this, arguments); | |
| 856 | + } | |
| 857 | + return this; | |
| 858 | + }; | |
| 859 | + | |
| 860 | + $.autocompleter = function (method) { | |
| 861 | + if (method === "defaults") { | |
| 862 | + publics.defaults.apply(this, Array.prototype.slice.call(arguments, 1)); | |
| 863 | + } else if (method === "clearCache") { | |
| 864 | + publics.clearCache.apply(this, null); | |
| 865 | + } | |
| 866 | + }; | |
| 867 | +})(jQuery, window); | ... | ... |
src/main/resources/static/pages/base/carpark/add.html
| ... | ... | @@ -20,6 +20,12 @@ |
| 20 | 20 | <span class="step-title"> 1 - 4 </span> |
| 21 | 21 | </span> |
| 22 | 22 | </div> |
| 23 | + | |
| 24 | + <div class="actions"> | |
| 25 | + <div class="btn-group btn-group-devided" data-toggle="buttons"> | |
| 26 | + <a class="btn btn-circle default" href="/pages/base/carpark/list.html" style="float: right;padding: 4px 23px;" data-pjax=""><i class="fa fa-reply"></i> 退出</a> | |
| 27 | + </div> | |
| 28 | + </div> | |
| 23 | 29 | </div> |
| 24 | 30 | <div class="portlet-body form"> |
| 25 | 31 | |
| ... | ... | @@ -104,7 +110,7 @@ |
| 104 | 110 | <div class="form-group"> |
| 105 | 111 | <div class="alert alert-info font-blue-chambray" style="background-color: #2C3E50"> |
| 106 | 112 | <h5 class="block"><span class="help-block" style="color:#1bbc9b;"> * 新增方式说明: </span></h5> |
| 107 | - <p><span class="help-block" style="color:#1bbc9b;"> a)系统生成:根据站点名称自动生成以150米为半径范围的圆.</span> </p> | |
| 113 | + <p><span class="help-block" style="color:#1bbc9b;"> a)系统生成:根据站点名称自动生成以100米为半径范围的圆.</span> </p> | |
| 108 | 114 | <p><span class="help-block" style="color:#1bbc9b;"> b)手动添加:手动在地图上画出站点范围,然后双击鼠标右键保存.</span> </p> |
| 109 | 115 | </div> |
| 110 | 116 | </div> |
| ... | ... | @@ -180,16 +186,6 @@ |
| 180 | 186 | </div> |
| 181 | 187 | </div> |
| 182 | 188 | |
| 183 | - <!-- 站点WGS经纬度 --> | |
| 184 | - <div class="form-body"> | |
| 185 | - <div class="form-group"> | |
| 186 | - <label class="col-md-3 control-label">站点WGS经纬度:</label> | |
| 187 | - <div class="col-md-6"> | |
| 188 | - <input type="text" class="form-control" name="gCenterPoint" id="gCenterPointInput"> | |
| 189 | - </div> | |
| 190 | - </div> | |
| 191 | - </div> | |
| 192 | - | |
| 193 | 189 | <!-- 范围图形类型 --> |
| 194 | 190 | <div class="form-body"> |
| 195 | 191 | <div class="form-group"> |
| ... | ... | @@ -402,137 +398,18 @@ |
| 402 | 398 | |
| 403 | 399 | </div> |
| 404 | 400 | </div> |
| 401 | + | |
| 402 | +<!-- 函数方法JS类库 --> | |
| 405 | 403 | <script src="/pages/base/carpark/js/add-input-function.js"></script> |
| 404 | + | |
| 405 | +<!-- 表单向导JS类库 --> | |
| 406 | 406 | <script src="/pages/base/carpark/js/add-form-wizard.js"></script> |
| 407 | + | |
| 408 | +<!-- 地图JS类库 --> | |
| 407 | 409 | <script src="/pages/base/carpark/js/add-vmap-world.js"></script> |
| 408 | -<script type="text/javascript"> | |
| 409 | - | |
| 410 | - var mapB = ''; | |
| 411 | - | |
| 412 | - var circle = ''; | |
| 413 | - | |
| 414 | - var drawingManager = ''; | |
| 415 | - | |
| 416 | - // 定义表单 | |
| 417 | - var form = $('#submit_carpark_form'); | |
| 418 | - | |
| 419 | - // 定义表单异常 | |
| 420 | - var error = $('.alert-danger',form); | |
| 421 | - | |
| 422 | - // 定义表单成功 | |
| 423 | - var success = $('.alert-success',form); | |
| 424 | - | |
| 425 | - $(document).ready(function() { | |
| 426 | - | |
| 427 | - // 关闭左侧栏 | |
| 428 | - if (!$('body').hasClass('page-sidebar-closed')) { | |
| 429 | - | |
| 430 | - $('.menu-toggler.sidebar-toggler').click(); | |
| 431 | - | |
| 432 | - } | |
| 433 | - | |
| 434 | - setTimeout(function(){ | |
| 435 | - | |
| 436 | - FormWizard.init(); | |
| 437 | - | |
| 438 | - mapB = VmapWorlds.init(); | |
| 439 | - | |
| 440 | - PublicFunctions.getCarParkCode(function(carParkCode) { | |
| 441 | - | |
| 442 | - $('#parkCodeInput').val(carParkCode); | |
| 443 | - | |
| 444 | - }); | |
| 445 | - | |
| 446 | - $('#destroySelect').val('0'); | |
| 447 | - | |
| 448 | - PublicFunctions.getBusinessAllInfo(function(array) { | |
| 449 | - | |
| 450 | - var opGroup = '<option value="">请选择...</option><optgroup label="公司">'; | |
| 451 | - | |
| 452 | - var len_ = array.length; | |
| 453 | - | |
| 454 | - if(len_>0) { | |
| 455 | - | |
| 456 | - $.each(array, function(i, g){ | |
| 457 | - | |
| 458 | - opGroup += '<option value="'+g.businessCode+'">'+g.businessName+'</option>'; | |
| 459 | - | |
| 460 | - }); | |
| 461 | - | |
| 462 | - } | |
| 463 | - | |
| 464 | - opGroup += '</optgroup>'; | |
| 465 | - | |
| 466 | - $('#companySelect').html(opGroup).select2(); | |
| 467 | - | |
| 468 | - }); | |
| 469 | - | |
| 470 | - var htm = '<option value="">请选择...</option><optgroup label="公司">'; | |
| 471 | - | |
| 472 | - $('#brancheCompanySelect').html(htm).select2(); | |
| 473 | - | |
| 474 | - $('#companySelect').on("change", function (e) { | |
| 475 | - | |
| 476 | - // 获取公司下拉框选择值 | |
| 477 | - var businessCode = $('#companySelect').val(); | |
| 478 | - | |
| 479 | - // 分公司下拉框options属性值 | |
| 480 | - var options = '<option value="">请选择...</option><optgroup label="分公司">'; | |
| 481 | - | |
| 482 | - // 如果公司选择为空则分公司为空 ; 否则查询出所属公司下的分公司名称和相应分公司代码 | |
| 483 | - if(businessCode == null || businessCode ==''){ | |
| 484 | - | |
| 485 | - options += '</optgroup>'; | |
| 486 | - | |
| 487 | - // 填充分公司下拉框options | |
| 488 | - $('#brancheCompanySelect').html(options).select2(); | |
| 489 | - | |
| 490 | - } else { | |
| 491 | - | |
| 492 | - // 查询出所属公司下的分公司名称和相应分公司代码 | |
| 493 | - $get('/business/all', {upCode_eq: businessCode}, function(array){ | |
| 494 | - | |
| 495 | - // 遍历array | |
| 496 | - $.each(array, function(i,d){ | |
| 497 | - | |
| 498 | - options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>'; | |
| 499 | - | |
| 500 | - options += '</optgroup>'; | |
| 501 | - | |
| 502 | - }); | |
| 503 | - | |
| 504 | - // 填充分公司下拉框options | |
| 505 | - $('#brancheCompanySelect').html(options).select2(); | |
| 506 | - | |
| 507 | - }); | |
| 508 | - } | |
| 509 | - | |
| 510 | - }); | |
| 511 | - | |
| 512 | - | |
| 513 | - }, 500); | |
| 514 | - | |
| 515 | - }); | |
| 516 | - | |
| 517 | - // 提交 | |
| 518 | - $('.button-submit').on('click',function() { | |
| 519 | - | |
| 520 | - form.submit(); | |
| 521 | - | |
| 522 | - }); | |
| 523 | - | |
| 524 | - $('#oppenDrawingManager').on('click',function() { | |
| 525 | - | |
| 526 | - drawingManager.open(); | |
| 527 | - | |
| 528 | - // 设置属性 | |
| 529 | - drawingManager.setDrawingMode(BMAP_DRAWING_POLYGON); | |
| 530 | - | |
| 531 | - }); | |
| 532 | - | |
| 533 | - $('#closeDrawingManager').on('click',function() { | |
| 534 | - | |
| 535 | - drawingManager.close(); | |
| 536 | - }); | |
| 537 | - | |
| 538 | -</script> | |
| 539 | 410 | \ No newline at end of file |
| 411 | + | |
| 412 | +<!-- 表单元素事件JS类库 --> | |
| 413 | +<script src="/pages/base/carpark/js/add-form-events.js"></script> | |
| 414 | + | |
| 415 | +<!-- reload事件 --> | |
| 416 | +<script src="/pages/base/carpark/js/add-form-reload.js"></script> | |
| 540 | 417 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/base/carpark/edit.html
| 1 | 1 | <!-- 编辑停车场 --> |
| 2 | -<div class="modal fade" id="edit_carPark_mobal" tabindex="-1" role="basic" aria-hidden="true"> | |
| 2 | +<div class="modal fade" id="editPoitsions_carpark_mobal" tabindex="-1" role="basic" aria-hidden="true"> | |
| 3 | 3 | |
| 4 | 4 | <div class="modal-dialog"> |
| 5 | 5 | |
| ... | ... | @@ -60,16 +60,6 @@ |
| 60 | 60 | </div> |
| 61 | 61 | </div> |
| 62 | 62 | |
| 63 | - <!-- 站点WGS经纬度 --> | |
| 64 | - <div class="form-body"> | |
| 65 | - <div class="form-group"> | |
| 66 | - <label class="col-md-3 control-label">站点WGS经纬度:</label> | |
| 67 | - <div class="col-md-6"> | |
| 68 | - <input type="text" class="form-control" name="gCenterPoint" id="gCenterPointInput"> | |
| 69 | - </div> | |
| 70 | - </div> | |
| 71 | - </div> | |
| 72 | - | |
| 73 | 63 | <!-- 范围图形类型 --> |
| 74 | 64 | <div class="form-body"> |
| 75 | 65 | <div class="form-group"> |
| ... | ... | @@ -169,20 +159,32 @@ |
| 169 | 159 | </div> |
| 170 | 160 | </div> |
| 171 | 161 | <script type="text/javascript"> |
| 172 | - | |
| 173 | -$(function(){ | |
| 162 | + | |
| 163 | +$('#editPoitsions_carpark_mobal').on('editCarParkMobal_show', function(e, map,fun,carP,ajaxd){ | |
| 164 | + | |
| 165 | + /** 获取停车场信息对象 */ | |
| 166 | + var CarParkObj = carP.getEitdCarPark(); | |
| 174 | 167 | |
| 175 | - PublicFunctions.setFormValue(); | |
| 168 | + // 获取修改停车场对象ID | |
| 169 | + var carParkId = CarParkObj.carParkId; | |
| 176 | 170 | |
| 177 | - PublicFunctions.selectTemp(function() { | |
| 171 | + /** 根据修改停车场对象属性值 设值表单元素 @paran:<CarParkObj:停车场对象>*/ | |
| 172 | + fun.setFormValue(CarParkObj); | |
| 173 | + | |
| 174 | + /** 填充公司下拉框 */ | |
| 175 | + fun.selectTemp(function() { | |
| 178 | 176 | |
| 179 | - var businessCode = carParkObj[0].carParkCompany; | |
| 177 | + // 获取公司代码 | |
| 178 | + var businessCode = CarParkObj.carParkCompany; | |
| 180 | 179 | |
| 180 | + // 获取公司元素并设值 | |
| 181 | 181 | $('#companySelect').val(businessCode); |
| 182 | 182 | |
| 183 | - PublicFunctions.getbrancheCompanyValues(businessCode,function() { | |
| 183 | + /** 填充分公司下拉框 @param:<businessCode:公司代码> */ | |
| 184 | + fun.getbrancheCompanyValues(businessCode,function() { | |
| 184 | 185 | |
| 185 | - $('#brancheCompanySelect').val(carParkObj[0].carParkBrancheCompany); | |
| 186 | + // 获取分公司元素并设值 | |
| 187 | + $('#brancheCompanySelect').val(CarParkObj.carParkBrancheCompany); | |
| 186 | 188 | |
| 187 | 189 | }); |
| 188 | 190 | |
| ... | ... | @@ -225,19 +227,24 @@ $(function(){ |
| 225 | 227 | } |
| 226 | 228 | |
| 227 | 229 | // 显示mobal |
| 228 | - $('#edit_carPark_mobal').modal({show : true,backdrop: 'static',keyboard: false}); | |
| 230 | + $('#editPoitsions_carpark_mobal').modal({show : true,backdrop: 'static',keyboard: false}); | |
| 229 | 231 | |
| 230 | 232 | // 当调用 hide 实例方法时触发 |
| 231 | - $('#edit_carPark_mobal').on('hide.bs.modal', function () { | |
| 233 | + $('#editPoitsions_carpark_mobal').on('hide.bs.modal', function () { | |
| 234 | + | |
| 235 | + clearSechear(); | |
| 232 | 236 | |
| 233 | - // 清楚地图覆盖物 | |
| 234 | - mapB.clearOverlays(); | |
| 235 | - | |
| 236 | - carParkObj=''; | |
| 237 | - | |
| 238 | - PublicFunctions.initCarPark(); | |
| 239 | 237 | }); |
| 240 | 238 | |
| 239 | + function clearSechear(){ | |
| 240 | + | |
| 241 | + map.clearMarkAndOverlays(); | |
| 242 | + | |
| 243 | + carP.setEitdCarPark({}); | |
| 244 | + | |
| 245 | + fun.initCarPark(carParkId); | |
| 246 | + | |
| 247 | + } | |
| 241 | 248 | |
| 242 | 249 | // 编辑表单元素 |
| 243 | 250 | var form = $('#edit_carPark_form'); |
| ... | ... | @@ -304,17 +311,17 @@ $(function(){ |
| 304 | 311 | |
| 305 | 312 | var params = form.serializeJSON(); |
| 306 | 313 | |
| 307 | - params.createBy = carParkObj[0].carParkCreateBy; | |
| 314 | + params.createBy = CarParkObj.carParkCreateBy; | |
| 308 | 315 | |
| 309 | 316 | // 定义日期格式 |
| 310 | 317 | var fs = 'YYYY-MM-DD HH:mm:ss' |
| 311 | 318 | |
| 312 | 319 | // 设置日期 |
| 313 | - params.createDate = moment(carParkObj[0].carParkCreateDate).format(fs); | |
| 320 | + params.createDate = moment(CarParkObj.carParkCreateDate).format(fs); | |
| 314 | 321 | |
| 315 | 322 | error.hide(); |
| 316 | 323 | |
| 317 | - PublicFunctions.carParkUpdate(params,function(resuntDate) { | |
| 324 | + ajaxd.carParkUpdate(params,function(resuntDate) { | |
| 318 | 325 | |
| 319 | 326 | if(resuntDate.status=='SUCCESS') { |
| 320 | 327 | |
| ... | ... | @@ -329,7 +336,9 @@ $(function(){ |
| 329 | 336 | |
| 330 | 337 | } |
| 331 | 338 | |
| 332 | - $('#edit_carPark_mobal').modal('hide'); | |
| 339 | + clearSechear(); | |
| 340 | + | |
| 341 | + $('#editPoitsions_carpark_mobal').modal('hide'); | |
| 333 | 342 | |
| 334 | 343 | }) |
| 335 | 344 | ... | ... |
src/main/resources/static/pages/base/carpark/edit_select.html
| 1 | 1 | <!-- 选择编辑停车场方式 --> |
| 2 | -<div class="modal fade" id="edit_select_mobal" tabindex="-1" role="basic" aria-hidden="true"> | |
| 2 | +<div class="modal fade" id="editPositions_select_mobal" tabindex="-1" role="basic" aria-hidden="true"> | |
| 3 | 3 | |
| 4 | 4 | <div class="modal-dialog"> |
| 5 | 5 | |
| ... | ... | @@ -62,16 +62,18 @@ |
| 62 | 62 | </div> |
| 63 | 63 | <script type="text/javascript"> |
| 64 | 64 | |
| 65 | -$(function(){ | |
| 66 | - | |
| 65 | +$('#editPositions_select_mobal').on('editSelectMobal_show', function(e, map,fun,carParkE,ajaxd){ | |
| 66 | + | |
| 67 | 67 | // 显示选择修改方式弹出层 |
| 68 | - $('#edit_select_mobal').modal({show : true,backdrop: 'static',keyboard: false}); | |
| 68 | + $('#editPositions_select_mobal').modal({show : true,backdrop: 'static',keyboard: false}); | |
| 69 | + | |
| 70 | + var carParkObj = carParkE.getEitdCarPark(); | |
| 69 | 71 | |
| 70 | 72 | // 获取停车场名称元素并赋值 |
| 71 | - $('#carParkNameboxInput').val(carParkObj[0].carParkName); | |
| 73 | + $('#carParkNameboxInput').val(carParkObj.carParkName); | |
| 72 | 74 | |
| 73 | 75 | // 定义停车场图形类型 |
| 74 | - var stationShapesTypeV = carParkObj[0].carParkShapesType; | |
| 76 | + var stationShapesTypeV = carParkObj.carParkShapesType; | |
| 75 | 77 | |
| 76 | 78 | // 获取表单元素 |
| 77 | 79 | var form = $('#edit_select'); |
| ... | ... | @@ -139,7 +141,7 @@ $(function(){ |
| 139 | 141 | submitHandler : function(f) { |
| 140 | 142 | |
| 141 | 143 | // 隐藏弹出层 |
| 142 | - $('#edit_select_mobal').modal('hide'); | |
| 144 | + $('#editPositions_select_mobal').modal('hide'); | |
| 143 | 145 | |
| 144 | 146 | // 表单序列 |
| 145 | 147 | var params = form.serializeJSON(); |
| ... | ... | @@ -149,20 +151,14 @@ $(function(){ |
| 149 | 151 | |
| 150 | 152 | var eidtselect_ = params.editselect; |
| 151 | 153 | |
| 152 | - // 站点名称 | |
| 153 | - carParkObj[0].carParkName = editStationName; | |
| 154 | + // 设置停车场名称 | |
| 155 | + carParkE.setEitdCarParkName(editStationName); | |
| 154 | 156 | |
| 155 | 157 | if(eidtselect_==0){ |
| 156 | 158 | |
| 157 | - // 清楚地图覆盖物 | |
| 158 | - mapB.clearOverlays(); | |
| 159 | - | |
| 160 | - // 打开鼠标绘画工具 | |
| 161 | - drawingManager.open(); | |
| 162 | - | |
| 163 | - // 设置属性 | |
| 164 | - drawingManager.setDrawingMode(BMAP_DRAWING_POLYGON); | |
| 159 | + WorldsBMap.localSearchFromAdreesToPoint(editStationName); | |
| 165 | 160 | |
| 161 | + map.openDrawingManager(); | |
| 166 | 162 | |
| 167 | 163 | }else if(eidtselect_==1){ |
| 168 | 164 | |
| ... | ... | @@ -171,7 +167,7 @@ $(function(){ |
| 171 | 167 | shift: 0,time: 10000}); |
| 172 | 168 | |
| 173 | 169 | // 编辑图形 |
| 174 | - PublicFunctions.editShapes(stationShapesTypeV,mindex); | |
| 170 | + map.editShapes(stationShapesTypeV,mindex); | |
| 175 | 171 | |
| 176 | 172 | } |
| 177 | 173 | ... | ... |
src/main/resources/static/pages/base/carpark/js/add-form-events.js
0 → 100644
| 1 | +$(function(){ | |
| 2 | + | |
| 3 | + // 提交 | |
| 4 | + $('.button-submit').on('click',function() { | |
| 5 | + | |
| 6 | + // 获取表单 | |
| 7 | + var formSubm = $('#submit_carpark_form'); | |
| 8 | + | |
| 9 | + formSubm.submit(); | |
| 10 | + | |
| 11 | + }); | |
| 12 | + | |
| 13 | + $('#oppenDrawingManager').on('click',function() { | |
| 14 | + | |
| 15 | + VmapWorlds.drawingManagerOpen(); | |
| 16 | + | |
| 17 | + }); | |
| 18 | + | |
| 19 | + $('#closeDrawingManager').on('click',function() { | |
| 20 | + | |
| 21 | + VmapWorlds.drawingManagerClose(); | |
| 22 | + | |
| 23 | + }); | |
| 24 | + | |
| 25 | +}); | |
| 0 | 26 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/base/carpark/js/add-form-reload.js
0 → 100644
| 1 | +/** | |
| 2 | + * | |
| 3 | + * @JSName : list.js(停车场定位positions.html页面js) | |
| 4 | + * | |
| 5 | + * @Author : bsth@lq | |
| 6 | + * | |
| 7 | + * @Description : TODO(停车场定位positions.html页面js) | |
| 8 | + * | |
| 9 | + * @Data : 2016年4月28日 上午9:21:17 | |
| 10 | + * | |
| 11 | + * @Version 公交调度系统BS版 0.1 | |
| 12 | + * | |
| 13 | + */ | |
| 14 | + | |
| 15 | +(function(){ | |
| 16 | + | |
| 17 | + // 关闭左侧栏 | |
| 18 | + if (!$('body').hasClass('page-sidebar-closed')) { | |
| 19 | + | |
| 20 | + $('.menu-toggler.sidebar-toggler').click(); | |
| 21 | + | |
| 22 | + } | |
| 23 | + | |
| 24 | + setTimeout(function(){ | |
| 25 | + | |
| 26 | + FormWizard.init(); | |
| 27 | + | |
| 28 | + mapB = VmapWorlds.init(); | |
| 29 | + | |
| 30 | + PublicFunctions.getCarParkCode(function(carParkCode) { | |
| 31 | + | |
| 32 | + $('#parkCodeInput').val(carParkCode); | |
| 33 | + | |
| 34 | + }); | |
| 35 | + | |
| 36 | + $('#destroySelect').val('0'); | |
| 37 | + | |
| 38 | + PublicFunctions.getBusinessAllInfo(function(array) { | |
| 39 | + | |
| 40 | + var opGroup = '<option value="">请选择...</option><optgroup label="公司">'; | |
| 41 | + | |
| 42 | + var len_ = array.length; | |
| 43 | + | |
| 44 | + if(len_>0) { | |
| 45 | + | |
| 46 | + $.each(array, function(i, g){ | |
| 47 | + | |
| 48 | + opGroup += '<option value="'+g.businessCode+'">'+g.businessName+'</option>'; | |
| 49 | + | |
| 50 | + }); | |
| 51 | + | |
| 52 | + } | |
| 53 | + | |
| 54 | + opGroup += '</optgroup>'; | |
| 55 | + | |
| 56 | + $('#companySelect').html(opGroup).select2(); | |
| 57 | + | |
| 58 | + }); | |
| 59 | + | |
| 60 | + var htm = '<option value="">请选择...</option><optgroup label="公司">'; | |
| 61 | + | |
| 62 | + $('#brancheCompanySelect').html(htm).select2(); | |
| 63 | + | |
| 64 | + $('#companySelect').on("change", function (e) { | |
| 65 | + | |
| 66 | + // 获取公司下拉框选择值 | |
| 67 | + var businessCode = $('#companySelect').val(); | |
| 68 | + | |
| 69 | + // 分公司下拉框options属性值 | |
| 70 | + var options = '<option value="">请选择...</option><optgroup label="分公司">'; | |
| 71 | + | |
| 72 | + // 如果公司选择为空则分公司为空 ; 否则查询出所属公司下的分公司名称和相应分公司代码 | |
| 73 | + if(businessCode == null || businessCode ==''){ | |
| 74 | + | |
| 75 | + options += '</optgroup>'; | |
| 76 | + | |
| 77 | + // 填充分公司下拉框options | |
| 78 | + $('#brancheCompanySelect').html(options).select2(); | |
| 79 | + | |
| 80 | + } else { | |
| 81 | + | |
| 82 | + // 查询出所属公司下的分公司名称和相应分公司代码 | |
| 83 | + $get('/business/all', {upCode_eq: businessCode}, function(array){ | |
| 84 | + | |
| 85 | + // 遍历array | |
| 86 | + $.each(array, function(i,d){ | |
| 87 | + | |
| 88 | + options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>'; | |
| 89 | + | |
| 90 | + options += '</optgroup>'; | |
| 91 | + | |
| 92 | + }); | |
| 93 | + | |
| 94 | + // 填充分公司下拉框options | |
| 95 | + $('#brancheCompanySelect').html(options).select2(); | |
| 96 | + | |
| 97 | + }); | |
| 98 | + } | |
| 99 | + | |
| 100 | + }); | |
| 101 | + | |
| 102 | + | |
| 103 | + }, 500); | |
| 104 | + | |
| 105 | +})(); | |
| 0 | 106 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/base/carpark/js/add-form-wizard.js
| ... | ... | @@ -17,6 +17,15 @@ var FormWizard = function() { |
| 17 | 17 | |
| 18 | 18 | } |
| 19 | 19 | |
| 20 | + // 定义表单 | |
| 21 | + var form = $('#submit_carpark_form'); | |
| 22 | + | |
| 23 | + // 定义表单异常 | |
| 24 | + var error = $('.alert-danger',form); | |
| 25 | + | |
| 26 | + // 定义表单成功 | |
| 27 | + var success = $('.alert-success',form); | |
| 28 | + | |
| 20 | 29 | // 表单验证 |
| 21 | 30 | form.validate({ |
| 22 | 31 | |
| ... | ... | @@ -38,8 +47,43 @@ var FormWizard = function() { |
| 38 | 47 | // 必填项 |
| 39 | 48 | required : true, |
| 40 | 49 | |
| 41 | - // 最大长度 | |
| 42 | - maxlength: 20 | |
| 50 | + }, | |
| 51 | + | |
| 52 | + // 停车场名称 | |
| 53 | + 'parkName' : { | |
| 54 | + | |
| 55 | + // 必填项 | |
| 56 | + required : true, | |
| 57 | + | |
| 58 | + }, | |
| 59 | + | |
| 60 | + // 停车场编码 | |
| 61 | + 'parkCode' : { | |
| 62 | + | |
| 63 | + // 必填项 | |
| 64 | + required : true, | |
| 65 | + }, | |
| 66 | + | |
| 67 | + // 中心点坐标 | |
| 68 | + 'bCenterPoint' : { | |
| 69 | + | |
| 70 | + // 必填项 | |
| 71 | + required : true, | |
| 72 | + | |
| 73 | + }, | |
| 74 | + | |
| 75 | + // 图形类型 | |
| 76 | + 'shapesType' : { | |
| 77 | + | |
| 78 | + // 必填项 | |
| 79 | + required : true, | |
| 80 | + }, | |
| 81 | + | |
| 82 | + // 所属分公司 | |
| 83 | + 'brancheCompany' : { | |
| 84 | + | |
| 85 | + // 必填项 | |
| 86 | + required : true, | |
| 43 | 87 | } |
| 44 | 88 | |
| 45 | 89 | |
| ... | ... | @@ -106,7 +150,7 @@ var FormWizard = function() { |
| 106 | 150 | // 表单序列化 |
| 107 | 151 | var params = form.serializeJSON(); |
| 108 | 152 | |
| 109 | - return params; | |
| 153 | + console.log(params); | |
| 110 | 154 | |
| 111 | 155 | //保存站点 |
| 112 | 156 | PublicFunctions.carParkSave(params,function(data) { |
| ... | ... | @@ -215,98 +259,39 @@ var FormWizard = function() { |
| 215 | 259 | |
| 216 | 260 | if (current == 2) { |
| 217 | 261 | |
| 262 | + // 获取新增方式值 | |
| 218 | 263 | var baseResValue = $('#submit_carpark_form input[name="baseRes"]:checked').val(); |
| 219 | 264 | |
| 265 | + // 获取停车场名称值 | |
| 220 | 266 | var stationNameV = $('#parkNamebooxtInput').val(); |
| 221 | 267 | |
| 268 | + // 设置停车场名称 | |
| 222 | 269 | $('#parkNameInput').val(stationNameV); |
| 223 | 270 | |
| 224 | - VmapWorlds.localSearchFromAdreesToPoint(stationNameV,mapB,function(Points) { | |
| 225 | - | |
| 226 | - if(Points) { | |
| 227 | - | |
| 228 | - var BJwpointsArray = Points.split(' '); | |
| 229 | - | |
| 230 | - var stationNameChangePoint = new BMap.Point(BJwpointsArray[0], BJwpointsArray[1]); | |
| 231 | - | |
| 232 | - marker_stargt2 = new BMap.Marker(stationNameChangePoint); | |
| 233 | - | |
| 234 | - var PanOptions ={noAnimation :true}; | |
| 235 | - | |
| 236 | - mapB.panTo(stationNameChangePoint,PanOptions); | |
| 237 | - | |
| 238 | - mapB.panBy(0,100); | |
| 239 | - | |
| 240 | - // 将标注添加到地图中 | |
| 241 | - mapB.addOverlay(marker_stargt2); | |
| 242 | - | |
| 243 | - //跳动的动画 | |
| 244 | - marker_stargt2.setAnimation(BMAP_ANIMATION_BOUNCE); | |
| 245 | - | |
| 246 | - if(baseResValue == 0) { | |
| 247 | - | |
| 248 | - $('.leftUtils').hide(); | |
| 249 | - | |
| 250 | - //创建圆 | |
| 251 | - circle = new BMap.Circle(stationNameChangePoint,150,{strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5}); | |
| 252 | - | |
| 253 | - // 百度地图添加覆盖物圆 | |
| 254 | - mapB.addOverlay(circle); | |
| 255 | - | |
| 256 | - // 开启编辑功能 | |
| 257 | - circle.enableEditing(); | |
| 258 | - | |
| 259 | - // 编辑圆监听事件 | |
| 260 | - circle.addEventListener('remove',function() { | |
| 261 | - | |
| 262 | - // 清除marker | |
| 263 | - mapB.removeOverlay(marker_stargt2); | |
| 264 | - | |
| 265 | - // 返回圆形的半径,单位为米。 | |
| 266 | - var newRadius = circle.getRadius(); | |
| 267 | - | |
| 268 | - // 返回圆形的中心点坐标。 | |
| 269 | - var newCenter = circle.getCenter().lng + ' ' + circle.getCenter().lat; | |
| 270 | - | |
| 271 | - var centre_New = [{potion:{lng:circle.getCenter().lng,lat:circle.getCenter().lat}}]; | |
| 272 | - | |
| 273 | - // 中心百度坐标转WGS坐标 | |
| 274 | - PublicFunctions.getFormPointEToWGS(centre_New,function(p) { | |
| 275 | - | |
| 276 | - // 设置修改站点参数集合 | |
| 277 | - PublicFunctions.setFormInputValue(newCenter, p[0].WGSpotion.Lng , p[0].WGSpotion.Lat,'','','r',Math.round(newRadius)); | |
| 278 | - | |
| 279 | - }); | |
| 280 | - | |
| 281 | - }); | |
| 282 | - | |
| 283 | - }else if(baseResValue ==1) { | |
| 284 | - | |
| 285 | - VmapWorlds.drawingManagerOpen(); | |
| 286 | - | |
| 287 | - } | |
| 288 | - | |
| 289 | - }else { | |
| 290 | - | |
| 291 | - // 弹出添加成功提示消息 | |
| 292 | - layer.msg('无法获取停车场【'+stationNameV+'】地理位置!'); | |
| 293 | - | |
| 294 | - } | |
| 295 | - | |
| 296 | - }); | |
| 297 | - | |
| 271 | + VmapWorlds.localSearchFromAdreesToPoint(stationNameV,function(p) { | |
| 272 | + | |
| 273 | + if(p) { | |
| 274 | + | |
| 275 | + if(baseResValue == 0) { | |
| 276 | + | |
| 277 | + debugger; | |
| 278 | + | |
| 279 | + $('.leftUtils').hide(); | |
| 280 | + | |
| 281 | + VmapWorlds.pointsCircle(p); | |
| 282 | + | |
| 283 | + }else if(baseResValue ==1) { | |
| 284 | + | |
| 285 | + $('.leftUtils').show(); | |
| 286 | + | |
| 287 | + VmapWorlds.drawingManagerOpen(); | |
| 288 | + | |
| 289 | + } | |
| 290 | + } | |
| 291 | + | |
| 292 | + }); | |
| 298 | 293 | } |
| 299 | 294 | |
| 300 | - if(current == 3){ | |
| 301 | - | |
| 302 | - mapB.clearOverlays(); | |
| 303 | - | |
| 304 | - circle = ''; | |
| 305 | - | |
| 306 | - drawingManager.close(); | |
| 307 | - | |
| 308 | - } | |
| 309 | - | |
| 310 | 295 | /** 如果为最后一步显示提交按钮,隐藏下一步按钮,否则隐藏提交按钮,显示下一步按钮 */ |
| 311 | 296 | if (current >= total) { |
| 312 | 297 | |
| ... | ... | @@ -373,9 +358,11 @@ var FormWizard = function() { |
| 373 | 358 | |
| 374 | 359 | } |
| 375 | 360 | |
| 376 | - mapB.clearOverlays(); | |
| 377 | - | |
| 378 | - circle = ''; | |
| 361 | + if(index==2) { | |
| 362 | + | |
| 363 | + VmapWorlds.clearMarkAndOverlays(); | |
| 364 | + | |
| 365 | + } | |
| 379 | 366 | |
| 380 | 367 | handleTitle(tab, navigation, index); |
| 381 | 368 | |
| ... | ... | @@ -388,11 +375,7 @@ var FormWizard = function() { |
| 388 | 375 | |
| 389 | 376 | error.hide(); |
| 390 | 377 | |
| 391 | - mapB.clearOverlays(); | |
| 392 | - | |
| 393 | - circle = ''; | |
| 394 | - | |
| 395 | - drawingManager.close(); | |
| 378 | + VmapWorlds.clearMarkAndOverlays(); | |
| 396 | 379 | |
| 397 | 380 | handleTitle(tab, navigation, index); |
| 398 | 381 | ... | ... |
src/main/resources/static/pages/base/carpark/js/add-input-function.js
| 1 | 1 | /** |
| 2 | 2 | * 函数 |
| 3 | 3 | * |
| 4 | - * - - - - - - - 》 getCurrSelNode : 获取选中树节点数据函数 | |
| 5 | - * | |
| 6 | - * - - - - - - - 》 resjtreeDate : 刷新树函数函数 | |
| 7 | - * | |
| 8 | - * - - - - - - - 》 setFormInputValue : 新增站点参数集合赋值函数 | |
| 9 | - * | |
| 10 | - * - - - - - - - 》 editSetStationParmas : 编辑站点参数集合赋值函数 | |
| 11 | - * | |
| 12 | - * - - - - - - - 》 editSeteditStationParmasValue:编辑站点范围图形参数集合赋值函数 | |
| 13 | - * | |
| 14 | - * - - - - - - - 》 lineNameIsHaveInterval : 系统规划时线路名称是否为区间 | |
| 15 | - * | |
| 16 | - * - - - - - - - 》 systemLineStation:系统规划保存函数 | |
| 17 | - * | |
| 18 | - * - - - - - - - 》 stationRevoke :撤销站点 | |
| 19 | - * | |
| 20 | - * - - - - - - - 》 editLinePlan :编辑线路走向 | |
| 21 | - * | |
| 22 | - * - - - - - - - 》 setFormValue :编辑站点设置表单元素值 | |
| 23 | - * | |
| 24 | - * - - - - - - - 》 eachSectionList:路段折线百度坐标转WGS坐标 | |
| 25 | 4 | */ |
| 26 | 5 | |
| 27 | 6 | var PublicFunctions = function () { |
| 28 | 7 | |
| 29 | 8 | var PubFun = { |
| 30 | 9 | |
| 31 | - // 原百度坐标转WGS坐标 | |
| 32 | - getFormPointEToWGS: function(points,callback) { | |
| 33 | - | |
| 34 | - // 获取长度 | |
| 35 | - var len = points.length; | |
| 36 | - | |
| 37 | - (function(){ | |
| 38 | - | |
| 39 | - if (!arguments.callee.count) { | |
| 40 | - | |
| 41 | - arguments.callee.count = 0; | |
| 42 | - | |
| 43 | - } | |
| 44 | - | |
| 45 | - arguments.callee.count++; | |
| 46 | - | |
| 47 | - var index = parseInt(arguments.callee.count) - 1; | |
| 48 | - | |
| 49 | - if (index >= len) { | |
| 50 | - | |
| 51 | - callback && callback(points); | |
| 52 | - | |
| 53 | - return; | |
| 54 | - } | |
| 55 | - | |
| 56 | - var f = arguments.callee; | |
| 57 | - | |
| 58 | - $.ajax({ | |
| 59 | - | |
| 60 | - url: 'http://api.zdoz.net/bd2wgs.aspx', | |
| 61 | - | |
| 62 | - data: {lat: points[index].potion.lat , lng: points[index].potion.lng}, | |
| 63 | - | |
| 64 | - dataType: 'jsonp', | |
| 65 | - | |
| 66 | - success: function(r){ | |
| 67 | - | |
| 68 | - if(r) { | |
| 69 | - | |
| 70 | - points[index].WGSpotion = r; | |
| 71 | - | |
| 72 | - } | |
| 73 | - | |
| 74 | - f(); | |
| 75 | - } | |
| 76 | - }); | |
| 77 | - | |
| 78 | - })(); | |
| 79 | - | |
| 80 | - }, | |
| 81 | - | |
| 82 | - /** @param points:中心点 ;gLonx:中心点WGS经度;gLaty:中心点WGS纬度;bPolygonGridValue:百度坐标点图形集合;gPolygonGridVlaue:WGS坐标点图形集合;shapesTypeValue:范围图形类型;radiusValue:圆半径 */ | |
| 83 | - setFormInputValue: function(points,gLonx,gLaty,bPolygonGridValue,gPolygonGridVlaue,shapesTypeValue,radiusValue) { | |
| 10 | + /** @param points:中心点;bPolygonGridValue:百度坐标点图形集合;shapesTypeValue:范围图形类型;radiusValue:圆半径 */ | |
| 11 | + setFormInputValue: function(points,bPolygonGridValue,shapesTypeValue,radiusValue) { | |
| 84 | 12 | |
| 85 | 13 | // 百度地图经纬度坐标中心点 |
| 86 | 14 | $('#bCenterPointInput').val(points); |
| 87 | 15 | |
| 88 | - // WGS经纬度 | |
| 89 | - $('#gCenterPointInput').val(gLonx + ' ' + gLaty); | |
| 90 | - | |
| 91 | 16 | // 百度坐标点图形集合 |
| 92 | 17 | $('#bParkPointInput').val(bPolygonGridValue); |
| 93 | 18 | |
| 94 | - // WGS坐标点图形集合 | |
| 95 | - $('#gParkPointInput').val(gPolygonGridVlaue); | |
| 96 | - | |
| 97 | 19 | // 图形类型 |
| 98 | 20 | $('#shapesTypeSelect').val(shapesTypeValue); |
| 99 | 21 | |
| ... | ... | @@ -113,8 +35,6 @@ var PublicFunctions = function () { |
| 113 | 35 | |
| 114 | 36 | }, |
| 115 | 37 | |
| 116 | - | |
| 117 | - | |
| 118 | 38 | getCarParkCode : function(callback) { |
| 119 | 39 | |
| 120 | 40 | $get('/carpark/getCarParkCode',null,function(carParkCode) { |
| ... | ... | @@ -128,6 +48,10 @@ var PublicFunctions = function () { |
| 128 | 48 | // 新增站点保存 |
| 129 | 49 | carParkSave : function(carPark,callback) { |
| 130 | 50 | |
| 51 | + console.log(carPark); | |
| 52 | + | |
| 53 | + return; | |
| 54 | + | |
| 131 | 55 | $post('/carpark/carParkSave',carPark,function(data) { |
| 132 | 56 | |
| 133 | 57 | callback && callback(data); | ... | ... |
src/main/resources/static/pages/base/carpark/js/add-vmap-world.js
| 1 | 1 | var VmapWorlds = function() { |
| 2 | 2 | |
| 3 | + var mapB = '', circle = '', drawingManager = '',circle='',marker=''; | |
| 4 | + | |
| 3 | 5 | var Bmap = { |
| 4 | 6 | |
| 5 | 7 | init : function() { |
| ... | ... | @@ -11,22 +13,22 @@ var VmapWorlds = function() { |
| 11 | 13 | var bdKey = 'IGGrr4UjwIYzatoCRFKEL8sT'; |
| 12 | 14 | |
| 13 | 15 | // 初始化百度地图 |
| 14 | - var map = new BMap.Map("bmap_basic"); | |
| 16 | + mapB = new BMap.Map("bmap_basic"); | |
| 15 | 17 | |
| 16 | 18 | //中心点和缩放级别 |
| 17 | - map.centerAndZoom(new BMap.Point(CENTER_POINT.lng,CENTER_POINT.lat), 15); | |
| 19 | + mapB.centerAndZoom(new BMap.Point(CENTER_POINT.lng,CENTER_POINT.lat), 15); | |
| 18 | 20 | |
| 19 | 21 | //启用地图拖拽事件,默认启用(可不写) |
| 20 | - map.enableDragging(); | |
| 22 | + mapB.enableDragging(); | |
| 21 | 23 | |
| 22 | 24 | //启用地图滚轮放大缩小 |
| 23 | - map.enableScrollWheelZoom(); | |
| 25 | + mapB.enableScrollWheelZoom(); | |
| 24 | 26 | |
| 25 | 27 | //禁用鼠标双击放大 |
| 26 | - map.disableDoubleClickZoom(); | |
| 28 | + mapB.disableDoubleClickZoom(); | |
| 27 | 29 | |
| 28 | 30 | //启用键盘上下左右键移动地图 |
| 29 | - map.enableKeyboard(); | |
| 31 | + mapB.enableKeyboard(); | |
| 30 | 32 | |
| 31 | 33 | var styleOptions = { |
| 32 | 34 | |
| ... | ... | @@ -51,7 +53,7 @@ var VmapWorlds = function() { |
| 51 | 53 | }; |
| 52 | 54 | |
| 53 | 55 | // 创建鼠标绘制管理类 |
| 54 | - drawingManager = new BMapLib.DrawingManager(map, { | |
| 56 | + drawingManager = new BMapLib.DrawingManager(mapB, { | |
| 55 | 57 | |
| 56 | 58 | //是否开启绘制模式 |
| 57 | 59 | isOpen : false, |
| ... | ... | @@ -82,15 +84,16 @@ var VmapWorlds = function() { |
| 82 | 84 | |
| 83 | 85 | drawingManager.close(); |
| 84 | 86 | |
| 85 | - if (e.getPath().length <= 2) { | |
| 87 | + if (e.getPath().length <= 2) { | |
| 86 | 88 | |
| 87 | 89 | // 弹出提示消息 |
| 88 | 90 | layer.msg('坐标点不能小于等于两个...'); |
| 89 | 91 | |
| 90 | 92 | // 清除地图覆盖物 |
| 91 | - map.clearOverlays(); | |
| 93 | + mapB.clearOverlays(); | |
| 92 | 94 | |
| 93 | - // 加载该线路下所有站点位置添加到地图上 | |
| 95 | + drawingManager.open(); | |
| 96 | + | |
| 94 | 97 | return false; |
| 95 | 98 | |
| 96 | 99 | }else { |
| ... | ... | @@ -100,70 +103,37 @@ var VmapWorlds = function() { |
| 100 | 103 | // 多变行质心点 |
| 101 | 104 | var addSttationPoints_ = pointE.getBounds().getCenter().lng+ ' ' + pointE.getBounds().getCenter().lat; |
| 102 | 105 | |
| 103 | - var PointsList = []; | |
| 104 | - | |
| 105 | - for ( var i = 0; i < pointE.getPath().length; i++) { | |
| 106 | - | |
| 107 | - PointsList.push({potion: {lng: pointE.getPath()[i].lng, lat: pointE.getPath()[i].lat}}); | |
| 108 | - | |
| 109 | - } | |
| 110 | - | |
| 111 | - PointsList.push({potion: {lng: pointE.getPath()[0].lng, lat: pointE.getPath()[0].lat}}); | |
| 106 | + var addPolyGonLen_ = pointE.getPath().length; | |
| 112 | 107 | |
| 113 | - var centre = [{potion:{lng:pointE.getBounds().getCenter().lng,lat:pointE.getBounds().getCenter().lat}}]; | |
| 114 | - | |
| 115 | - PublicFunctions.getFormPointEToWGS(PointsList,function(resultdata) { | |
| 116 | - | |
| 117 | - var gPloygonGrid = ''; | |
| 118 | - | |
| 119 | - var bPloygonGrid = ''; | |
| 108 | + for(var k =0;k<addPolyGonLen_;k++) { | |
| 120 | 109 | |
| 121 | - for(var k =0;k<resultdata.length;k++) { | |
| 110 | + if(k==0) { | |
| 122 | 111 | |
| 123 | - if(k==0) { | |
| 124 | - | |
| 125 | - gPloygonGrid = resultdata[k].WGSpotion.Lng + ' ' +resultdata[k].WGSpotion.Lat; | |
| 126 | - | |
| 127 | - bPloygonGrid = resultdata[k].potion.lng + ' ' +resultdata[k].potion.lat; | |
| 128 | - | |
| 129 | - }else { | |
| 130 | - | |
| 131 | - gPloygonGrid = gPloygonGrid + ',' + resultdata[k].WGSpotion.Lng + ' ' +resultdata[k].WGSpotion.Lat; | |
| 132 | - | |
| 133 | - bPloygonGrid = bPloygonGrid + ',' + resultdata[k].potion.lng + ' ' +resultdata[k].potion.lat; | |
| 134 | - | |
| 135 | - } | |
| 112 | + bPloygonGrid = pointE.getPath()[k].lng + ' ' + pointE.getPath()[k].lat; | |
| 136 | 113 | |
| 137 | - } | |
| 138 | - | |
| 139 | - gPloygonGrid = 'POLYGON((' + gPloygonGrid + '))'; | |
| 140 | - | |
| 141 | - bPloygonGrid = 'POLYGON((' + bPloygonGrid + '))'; | |
| 142 | - | |
| 143 | - PublicFunctions.getFormPointEToWGS(centre,function(p) { | |
| 144 | - | |
| 145 | - var gLonx = p[0].WGSpotion.Lng; | |
| 114 | + }else { | |
| 146 | 115 | |
| 147 | - var gLaty = p[0].WGSpotion.Lat; | |
| 148 | - | |
| 149 | - PublicFunctions.setFormInputValue(addSttationPoints_,gLonx,gLaty,bPloygonGrid,gPloygonGrid,'d',''); | |
| 150 | - | |
| 151 | - }); | |
| 152 | - | |
| 153 | - }); | |
| 116 | + bPloygonGrid = bPloygonGrid + ',' + pointE.getPath()[k].lng + ' ' + pointE.getPath()[k].lat; | |
| 117 | + | |
| 118 | + } | |
| 119 | + | |
| 120 | + } | |
| 121 | + | |
| 122 | + bPloygonGrid = bPloygonGrid + ',' + pointE.getPath()[0].lng + ' ' + pointE.getPath()[0].lat; | |
| 154 | 123 | |
| 124 | + PublicFunctions.setFormInputValue(addSttationPoints_,bPloygonGrid,'d',''); | |
| 155 | 125 | } |
| 156 | 126 | |
| 157 | 127 | }); |
| 158 | 128 | |
| 159 | - return map; | |
| 129 | + return mapB; | |
| 160 | 130 | }, |
| 161 | 131 | |
| 162 | 132 | // 根据地理名称获取百度经纬度坐标 |
| 163 | - localSearchFromAdreesToPoint: function(Address,map,callback) { | |
| 133 | + localSearchFromAdreesToPoint: function(Address,cb) { | |
| 164 | 134 | |
| 165 | 135 | // 创建一个搜索类实例 |
| 166 | - var localSearch = new BMap.LocalSearch(map); | |
| 136 | + var localSearch = new BMap.LocalSearch(mapB); | |
| 167 | 137 | |
| 168 | 138 | // 检索完成后的回调函数。 |
| 169 | 139 | localSearch.setSearchCompleteCallback(function (searchResult) { |
| ... | ... | @@ -178,19 +148,42 @@ var VmapWorlds = function() { |
| 178 | 148 | if(poi) { |
| 179 | 149 | |
| 180 | 150 | //获取经度和纬度 |
| 181 | - resultPoints = poi.point.lng + ' ' + poi.point.lat; | |
| 182 | - | |
| 183 | - return callback && callback(resultPoints); | |
| 151 | + var stationNameChangePoint = new BMap.Point( poi.point.lng, poi.point.lat); | |
| 152 | + | |
| 153 | + marker = new BMap.Marker(stationNameChangePoint); | |
| 154 | + | |
| 155 | + var PanOptions ={noAnimation :true}; | |
| 156 | + | |
| 157 | + mapB.panTo(stationNameChangePoint,PanOptions); | |
| 158 | + | |
| 159 | + // 将视图切换到指定的缩放等级,中心点坐标不变。注意:当有信息窗口在地图上打开时,地图缩放将保证信息窗口所在的坐标位置不动。(自1.2新增) | |
| 160 | + mapB.setZoom(18); | |
| 161 | + | |
| 162 | + mapB.panBy(0,-80); | |
| 163 | + | |
| 164 | + // 将标注添加到地图中 | |
| 165 | + mapB.addOverlay(marker); | |
| 166 | + | |
| 167 | + //跳动的动画 | |
| 168 | + marker.setAnimation(BMAP_ANIMATION_BOUNCE); | |
| 169 | + | |
| 170 | + cb && cb(stationNameChangePoint); | |
| 184 | 171 | |
| 185 | 172 | }else { |
| 186 | 173 | |
| 187 | - return callback && callback(false); | |
| 174 | + // 弹出添加成功提示消息 | |
| 175 | + layer.msg('无法获取停车场【'+Address+'】地理位置!'); | |
| 176 | + | |
| 177 | + cb && cb(false); | |
| 188 | 178 | |
| 189 | 179 | } |
| 190 | 180 | |
| 191 | 181 | }else { |
| 192 | 182 | |
| 193 | - return callback && callback(false); | |
| 183 | + // 弹出添加成功提示消息 | |
| 184 | + layer.msg('无法获取停车场【'+Address+'】地理位置!'); | |
| 185 | + | |
| 186 | + cb && cb(false); | |
| 194 | 187 | } |
| 195 | 188 | |
| 196 | 189 | }); |
| ... | ... | @@ -200,6 +193,42 @@ var VmapWorlds = function() { |
| 200 | 193 | |
| 201 | 194 | }, |
| 202 | 195 | |
| 196 | + // 画圆 | |
| 197 | + pointsCircle : function(stationNameChangePoint) { | |
| 198 | + | |
| 199 | + //创建圆 | |
| 200 | + circle = new BMap.Circle(stationNameChangePoint,100,{strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5}); | |
| 201 | + | |
| 202 | + // 百度地图添加覆盖物圆 | |
| 203 | + mapB.addOverlay(circle); | |
| 204 | + | |
| 205 | + // 开启编辑功能 | |
| 206 | + circle.enableEditing(); | |
| 207 | + | |
| 208 | + // 编辑圆监听事件 | |
| 209 | + circle.addEventListener('remove',function() { | |
| 210 | + | |
| 211 | + // 清除marker | |
| 212 | + mapB.removeOverlay(marker); | |
| 213 | + | |
| 214 | + /*VmapWorlds.clearMarkAndOverlays();*/ | |
| 215 | + | |
| 216 | + // 返回圆形的半径,单位为米。 | |
| 217 | + var newRadius = circle.getRadius(); | |
| 218 | + | |
| 219 | + // 返回圆形的中心点坐标。 | |
| 220 | + var newCenter = circle.getCenter().lng + ' ' + circle.getCenter().lat; | |
| 221 | + | |
| 222 | + var centre_New = [{potion:{lng:circle.getCenter().lng,lat:circle.getCenter().lat}}]; | |
| 223 | + | |
| 224 | + circle = ''; | |
| 225 | + | |
| 226 | + PublicFunctions.setFormInputValue(newCenter,'','r',Math.round(newRadius)); | |
| 227 | + | |
| 228 | + }); | |
| 229 | + | |
| 230 | + }, | |
| 231 | + | |
| 203 | 232 | // 打开绘画工具 |
| 204 | 233 | drawingManagerOpen : function() { |
| 205 | 234 | |
| ... | ... | @@ -209,10 +238,21 @@ var VmapWorlds = function() { |
| 209 | 238 | // 设置属性 |
| 210 | 239 | drawingManager.setDrawingMode(BMAP_DRAWING_POLYGON); |
| 211 | 240 | |
| 241 | + }, | |
| 242 | + | |
| 243 | + drawingManagerClose : function() { | |
| 244 | + | |
| 245 | + drawingManager.close(); | |
| 246 | + | |
| 247 | + }, | |
| 248 | + | |
| 249 | + clearMarkAndOverlays : function() { | |
| 250 | + | |
| 251 | + // 清楚地图覆盖物 | |
| 252 | + mapB.clearOverlays(); | |
| 253 | + | |
| 212 | 254 | } |
| 213 | 255 | |
| 214 | - | |
| 215 | - | |
| 216 | 256 | } |
| 217 | 257 | |
| 218 | 258 | return Bmap; | ... | ... |
src/main/resources/static/pages/base/carpark/js/carpark-list-table.js
src/main/resources/static/pages/base/carpark/js/carpark-positions-ajax.js
0 → 100644
| 1 | +/** | |
| 2 | + * GetAjaxData :ajax异步请求 | |
| 3 | + * | |
| 4 | + */ | |
| 5 | + | |
| 6 | +var GetAjaxData = function(){ | |
| 7 | + | |
| 8 | + var ajaxData = { | |
| 9 | + | |
| 10 | + // 查询停车场信息 | |
| 11 | + getCarParkInfo : function(carParkId,callback){ | |
| 12 | + | |
| 13 | + $get('/carpark/findCarParkInfoFormId',{id:carParkId},function(r) { | |
| 14 | + | |
| 15 | + return callback && callback(r); | |
| 16 | + | |
| 17 | + }); | |
| 18 | + | |
| 19 | + }, | |
| 20 | + | |
| 21 | + carParkUpdate : function(params,callback){ | |
| 22 | + | |
| 23 | + $post('/carpark/carParkUpdate',params,function(data) { | |
| 24 | + | |
| 25 | + callback && callback(data); | |
| 26 | + | |
| 27 | + }); | |
| 28 | + | |
| 29 | + } | |
| 30 | + } | |
| 31 | + | |
| 32 | + return ajaxData; | |
| 33 | + | |
| 34 | +}(); | |
| 0 | 35 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/base/carpark/js/carpark-positions-events.js
| ... | ... | @@ -9,7 +9,13 @@ $(function(){ |
| 9 | 9 | |
| 10 | 10 | $('#edit').on('click',function() { |
| 11 | 11 | |
| 12 | - $.get('edit_select.html', function(m){$(pjaxContainer).append(m);}); | |
| 12 | + $.get('edit_select.html', function(m){ | |
| 13 | + | |
| 14 | + $(pjaxContainer).append(m); | |
| 15 | + | |
| 16 | + $('#editPositions_select_mobal').trigger('editSelectMobal_show', [WorldsBMap,PublicFunctions,EditCarParkObj,GetAjaxData]); | |
| 17 | + | |
| 18 | + }); | |
| 13 | 19 | |
| 14 | 20 | }); |
| 15 | 21 | ... | ... |
src/main/resources/static/pages/base/carpark/js/carpark-positions-function.js
| 1 | 1 | /** |
| 2 | 2 | * 函数 |
| 3 | + * | |
| 4 | + * initCarPark :停车场信息初始化 @param:<id:停车场ID> | |
| 3 | 5 | */ |
| 4 | 6 | |
| 5 | 7 | var PublicFunctions = function () { |
| 6 | 8 | |
| 7 | 9 | var PubFun = { |
| 8 | 10 | |
| 9 | - initCarPark : function() { | |
| 11 | + /** 停车场信息初始化 @param:<id:停车场ID> */ | |
| 12 | + initCarPark : function(id) { | |
| 10 | 13 | |
| 11 | - // 获取停车场信息 | |
| 12 | - PublicFunctions.getCarParkInfo(function(r) { | |
| 13 | - | |
| 14 | - console.log(r); | |
| 14 | + /** 获取停车场信息 @param:<id:停车场Id> */ | |
| 15 | + GetAjaxData.getCarParkInfo(id,function(r) { | |
| 15 | 16 | |
| 17 | + // 获取返回数据长度 | |
| 16 | 18 | var len = r.length; |
| 17 | 19 | |
| 20 | + // 如果大于零 | |
| 18 | 21 | if(len>0) { |
| 19 | 22 | |
| 20 | - carParkObj = r; | |
| 23 | + // 获取停车场信息数据 | |
| 24 | + var carParkObj = r[0]; | |
| 25 | + | |
| 26 | + /** 设置停车场对象值 @param:<carParkObj:停车场对象值> */ | |
| 27 | + EditCarParkObj.setEitdCarPark(carParkObj); | |
| 21 | 28 | |
| 29 | + // 定义图形类型 | |
| 22 | 30 | var stationShapesType = r[0].carParkShapesType; |
| 23 | 31 | |
| 32 | + // 如果为空,则添加 | |
| 24 | 33 | if(stationShapesType==null){ |
| 25 | 34 | |
| 26 | 35 | // 弹出选择框;确认则提交;取消则返回 |
| 27 | - layer.confirm('停车场位置缺失,自动延续为添加停车场位置', { | |
| 28 | - btn : [ '确认提示并提交', '取消' ] | |
| 29 | - }, function(index) { | |
| 36 | + layer.confirm('停车场位置缺失,自动延续为添加停车场位置', {btn : [ '确认提示并添加', '取消' ]}, function(index) { | |
| 30 | 37 | |
| 31 | - var stationNameV = r[0].carParkName; | |
| 32 | - | |
| 33 | - WorldsBMap.localSearchFromAdreesToPoint(stationNameV,mapB,function(Points) { | |
| 34 | - | |
| 35 | - if(Points) { | |
| 36 | - | |
| 37 | - var BJwpointsArray = Points.split(' '); | |
| 38 | - | |
| 39 | - var stationNameChangePoint = new BMap.Point(BJwpointsArray[0], BJwpointsArray[1]); | |
| 40 | - | |
| 41 | - marker_stargt2 = new BMap.Marker(stationNameChangePoint); | |
| 42 | - | |
| 43 | - var PanOptions ={noAnimation :true}; | |
| 44 | - | |
| 45 | - mapB.panTo(stationNameChangePoint,PanOptions); | |
| 46 | - | |
| 47 | - mapB.panBy(0,-200); | |
| 48 | - | |
| 49 | - // 将标注添加到地图中 | |
| 50 | - mapB.addOverlay(marker_stargt2); | |
| 51 | - | |
| 52 | - //跳动的动画 | |
| 53 | - marker_stargt2.setAnimation(BMAP_ANIMATION_BOUNCE); | |
| 54 | - | |
| 55 | - } | |
| 56 | - | |
| 57 | - }); | |
| 58 | - | |
| 59 | - // 关闭弹出层 | |
| 38 | + /** 关闭弹出层 @param:<index:当前弹出框> */ | |
| 60 | 39 | layer.close(index); |
| 61 | 40 | |
| 62 | - // 清楚地图覆盖物 | |
| 63 | - mapB.clearOverlays(); | |
| 41 | + // 停车场名称 | |
| 42 | + var nameV = r[0].carParkName; | |
| 64 | 43 | |
| 65 | - // 打开鼠标绘画工具 | |
| 66 | - drawingManager.open(); | |
| 44 | + /** 根据名称定位 */ | |
| 45 | + WorldsBMap.localSearchFromAdreesToPoint(nameV); | |
| 67 | 46 | |
| 68 | - // 设置属性 | |
| 69 | - drawingManager.setDrawingMode(BMAP_DRAWING_POLYGON); | |
| 47 | + // 打开绘制工具 | |
| 48 | + WorldsBMap.openDrawingManager(); | |
| 70 | 49 | |
| 71 | 50 | }); |
| 72 | 51 | |
| ... | ... | @@ -80,13 +59,16 @@ var PublicFunctions = function () { |
| 80 | 59 | var point = new BMap.Point(BJwpoints[0], BJwpoints[1]); |
| 81 | 60 | |
| 82 | 61 | var htm = '<HR style="border:1 dashed #987cb9" width="100%" color=#987cb9 SIZE=1>'+ |
| 83 | - '<span style="color:#DDD;font-size: 15px;">停车场名称:' + r[0].carParkName + '</span>' + | |
| 84 | - '<span class="help-block" style="color:#DDD;font-size: 15px;">停车场编码:' + r[0].carParkCode + '</span>' + | |
| 85 | - '<span class="help-block" style="color:#DDD;font-size: 15px;">停车场面积:' + r[0].carParkArea + '</span>' + | |
| 86 | - '<span class="help-block" style="color:#DDD;font-size: 15px;">纬度坐标:' + r[0].stationJwpoints + '</span>' + | |
| 87 | - '<span class="help-block" style="color:#DDD;font-size: 15px;">范围半径:' + r[0].carParkRadius + '</span>' + | |
| 88 | - '<span class="help-block" style="color:#DDD;font-size: 15px;">版本 号:' + r[0].carParkVersions + '</span>' + | |
| 89 | - '<span class="help-block" style="width: 100%;font-size: 15px;;color:#DDD; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; " title="'+ 'ddd' +'" >说明/描述:' + 'ddd' + '</span>' ; | |
| 62 | + '<span style="color:#DDD;font-size: 15px;">停车场名称:' + r[0].carParkName + '</span>' + | |
| 63 | + '<span class="help-block" style="color:#DDD;font-size: 15px;">停车场编码:' + r[0].carParkCode + '</span>' + | |
| 64 | + '<span class="help-block" style="color:#DDD;font-size: 15px;">停车场面积:' + r[0].carParkArea + '</span>' + | |
| 65 | + '<span class="help-block" style="color:#DDD;font-size: 15px;">纬度坐标:' + r[0].carParkBcenterPoint + '</span>' + | |
| 66 | + '<span class="help-block" style="color:#DDD;font-size: 15px;">范围类型:' + r[0].carParkShapesType + '</span>' + | |
| 67 | + '<span class="help-block" style="color:#DDD;font-size: 15px;">范围半径:' + r[0].carParkRadius + '</span>' + | |
| 68 | + '<span class="help-block" style="color:#DDD;font-size: 15px;">所属公司:' + r[0].carParkCompany + '</span>' + | |
| 69 | + '<span class="help-block" style="color:#DDD;font-size: 15px;">分 公司:' + r[0].carParkBrancheCompany + '</span>' + | |
| 70 | + '<span class="help-block" style="color:#DDD;font-size: 15px;">版本 号:' + r[0].carParkVersions + '</span>' + | |
| 71 | + '<span class="help-block" style="width: 100%;font-size: 15px;;color:#DDD; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; " title="'+ r[0].carParkDescriptions +'" >说明/描述:' + r[0].carParkDescriptions + '</span>' ; | |
| 90 | 72 | |
| 91 | 73 | // 信息窗口参数属性 |
| 92 | 74 | var opts = { |
| ... | ... | @@ -98,7 +80,7 @@ var PublicFunctions = function () { |
| 98 | 80 | height : 450, |
| 99 | 81 | |
| 100 | 82 | // 信息窗位置偏移值。 |
| 101 | - offset: new BMap.Size(500,-80), | |
| 83 | + offset: new BMap.Size(500,80), | |
| 102 | 84 | |
| 103 | 85 | //标题 |
| 104 | 86 | title : '<h4 style="color:#FFFFFF">'+r[0].carParkName+'停车场详情</h4>', |
| ... | ... | @@ -115,13 +97,13 @@ var PublicFunctions = function () { |
| 115 | 97 | |
| 116 | 98 | if(stationShapesType == 'r') { |
| 117 | 99 | |
| 118 | - // 画圆 | |
| 119 | - PublicFunctions.pointsCircle(r,point,htm,opts,mapB); | |
| 100 | + /** 画圆 @param:<r:停车场信息;point:中心点;htm:信息窗口html文本;pots:信息窗口参数属性> */ | |
| 101 | + WorldsBMap.pointsCircle(r,point,htm,opts); | |
| 120 | 102 | |
| 121 | 103 | }else if(stationShapesType == 'd'){ |
| 122 | 104 | |
| 123 | - // 画多边形 | |
| 124 | - PublicFunctions.pointsPolygon(r,point,htm,opts,mapB); | |
| 105 | + /** 画多边形 @param:<r:停车场信息;point:中心点;htm:信息窗口html文本;pots:信息窗口参数属性> */ | |
| 106 | + WorldsBMap.pointsPolygon(r,point,htm,opts); | |
| 125 | 107 | |
| 126 | 108 | } |
| 127 | 109 | } |
| ... | ... | @@ -130,351 +112,27 @@ var PublicFunctions = function () { |
| 130 | 112 | |
| 131 | 113 | }, |
| 132 | 114 | |
| 133 | - // 查询停车场信息 | |
| 134 | - getCarParkInfo : function(callback){ | |
| 135 | - | |
| 136 | - $get('/carpark/findCarParkInfoFormId',{id:id},function(r) { | |
| 137 | - | |
| 138 | - return callback && callback(r); | |
| 139 | - | |
| 140 | - }); | |
| 141 | - | |
| 142 | - }, | |
| 143 | - | |
| 144 | - // 在地图上画圆 | |
| 145 | - pointsCircle : function(r,point,htm,opts,map) { | |
| 146 | - | |
| 147 | - //创建圆 | |
| 148 | - circle = new BMap.Circle(point,r[0].carParkRadius,{strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5}); | |
| 149 | - | |
| 150 | - // 允许覆盖物在map.clearOverlays方法中被清除 | |
| 151 | - circle.enableMassClear(); | |
| 152 | - | |
| 153 | - // 百度地图添加覆盖物圆 | |
| 154 | - map.addOverlay(circle); | |
| 155 | - | |
| 156 | - // 创建信息窗口 | |
| 157 | - infoWindow = new BMap.InfoWindow(htm, opts); | |
| 158 | - | |
| 159 | - // 自定义标注物图片 | |
| 160 | - var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/cz.png',new BMap.Size(20, 20)); | |
| 161 | - | |
| 162 | - // 创建点 | |
| 163 | - marker = new BMap.Marker(point,{icon : icon_target}); | |
| 164 | - | |
| 165 | - // 把标注添物加到地图上 | |
| 166 | - map.addOverlay(marker); | |
| 167 | - | |
| 168 | - setTimeout(function(){ | |
| 169 | - //开启信息窗口 | |
| 170 | - marker.openInfoWindow(infoWindow,point); | |
| 171 | - | |
| 172 | - },100); | |
| 173 | - | |
| 174 | - // 是否在平移过程中禁止动画。(自1.2新增) | |
| 175 | - var PanOptions_ ={noAnimation :true}; | |
| 176 | - | |
| 177 | - // 将地图的中心点更改为给定的点。 | |
| 178 | - map.panTo(point,PanOptions_); | |
| 179 | - | |
| 180 | - //map.panBy(10,-50,PanOptions_); | |
| 181 | - | |
| 182 | - // 添加标志物监听事件 | |
| 183 | - marker.addEventListener("click",function() { | |
| 184 | - | |
| 185 | - //开启信息窗口 | |
| 186 | - marker.openInfoWindow(infoWindow,point); | |
| 187 | - | |
| 188 | - }); | |
| 189 | - }, | |
| 190 | - | |
| 191 | - pointsPolygon : function(r,pointPolygon,htm,opts_polygon,map) { | |
| 192 | - | |
| 193 | - // 获取多边形坐标字符串 | |
| 194 | - var stationBPolygonGrid = r[0].carParkBparkPoint; | |
| 195 | - | |
| 196 | - // 截取多边形坐标字符串 | |
| 197 | - var stationBPolygonGridStr = stationBPolygonGrid.substring(9,stationBPolygonGrid.length-2); | |
| 198 | - | |
| 199 | - // 按逗号切割 | |
| 200 | - var pointPolygonArray = stationBPolygonGridStr.split(','); | |
| 201 | - | |
| 202 | - // 多边形坐标集合 | |
| 203 | - var polygonP = []; | |
| 204 | - | |
| 205 | - for(var v = 0;v<pointPolygonArray.length;v++) { | |
| 206 | - | |
| 207 | - polygonP.push(new BMap.Point(pointPolygonArray[v].split(" ")[0],pointPolygonArray[v].split(" ")[1])); | |
| 208 | - | |
| 209 | - } | |
| 210 | - | |
| 211 | - // 画多边形 | |
| 212 | - polygon = new BMap.Polygon(polygonP, { | |
| 213 | - | |
| 214 | - // 线条显色 | |
| 215 | - strokeColor : "blue", | |
| 216 | - | |
| 217 | - // 边线的宽度,以像素为单位。 | |
| 218 | - strokeWeight : 2, | |
| 219 | - | |
| 220 | - // 边线透明度,取值范围0 - 1。 | |
| 221 | - strokeOpacity : 0.5 | |
| 222 | - }); | |
| 223 | - | |
| 224 | - // 增加地图覆盖物多边形 | |
| 225 | - map.addOverlay(polygon); | |
| 226 | - | |
| 227 | - // 创建信息窗口 | |
| 228 | - infoWindow = new BMap.InfoWindow(htm, opts_polygon); | |
| 229 | - | |
| 230 | - // 自定义标注物图片 | |
| 231 | - var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/cz.png',new BMap.Size(20, 20)); | |
| 232 | - | |
| 233 | - // 创建点 | |
| 234 | - marker = new BMap.Marker(pointPolygon,{icon : icon_target}); | |
| 235 | - | |
| 236 | - // 把标注添物加到地图上 | |
| 237 | - map.addOverlay(marker); | |
| 238 | - | |
| 239 | - // 是否在平移过程中禁止动画。(自1.2新增) | |
| 240 | - var PanOptions_ ={noAnimation :true}; | |
| 241 | - | |
| 242 | - // 将地图的中心点更改为给定的点。 | |
| 243 | - map.panTo(pointPolygon,PanOptions_); | |
| 244 | - | |
| 245 | - // 将地图在水平位置上移动x像素,垂直位置上移动y像素。 | |
| 246 | - map.panBy(10,110,PanOptions_); | |
| 247 | - | |
| 248 | - //开启信息窗口 | |
| 249 | - marker.openInfoWindow(infoWindow,pointPolygon); | |
| 250 | - | |
| 251 | - }, | |
| 252 | - | |
| 253 | - // 编辑图形 | |
| 254 | - editShapes : function(stationShapesTypeV,mindex) { | |
| 255 | - | |
| 256 | - // 关闭信息窗口 | |
| 257 | - marker.closeInfoWindow(); | |
| 258 | - | |
| 259 | - // 清除marker | |
| 260 | - mapB.removeOverlay(marker); | |
| 261 | - | |
| 262 | - // 编辑圆 | |
| 263 | - if(stationShapesTypeV =='r') { | |
| 264 | - | |
| 265 | - // 开启编辑功能 | |
| 266 | - circle.enableEditing(); | |
| 267 | - | |
| 268 | - // 编辑圆监听事件 | |
| 269 | - circle.addEventListener('dblclick',function() { | |
| 270 | - | |
| 271 | - // 关闭提示弹出层 | |
| 272 | - layer.close(mindex); | |
| 273 | - | |
| 274 | - // 返回圆形的半径,单位为米。 | |
| 275 | - var newRadius = circle.getRadius(); | |
| 276 | - | |
| 277 | - // 返回圆形的中心点坐标。 | |
| 278 | - var newCenter = circle.getCenter().lng + ' ' + circle.getCenter().lat; | |
| 279 | - | |
| 280 | - var centre_New = [{potion:{lng:circle.getCenter().lng,lat:circle.getCenter().lat}}]; | |
| 281 | - | |
| 282 | - // 中心百度坐标转WGS坐标 | |
| 283 | - PublicFunctions.getFormPointEToWGS(centre_New,function(p) { | |
| 284 | - | |
| 285 | - // 设置修改站点参数集合 | |
| 286 | - PublicFunctions.editSeteditStationParmasValue(newCenter, p[0].WGSpotion.Lng , p[0].WGSpotion.Lat,'','','r',Math.round(newRadius)); | |
| 287 | - | |
| 288 | - // 加载编辑页面 | |
| 289 | - $.get('edit.html', function(m){$(pjaxContainer).append(m);}); | |
| 290 | - | |
| 291 | - }); | |
| 292 | - | |
| 293 | - }); | |
| 294 | - | |
| 295 | - // 编辑多变行 | |
| 296 | - }else if(stationShapesTypeV =='d') { | |
| 297 | - | |
| 298 | - // 开启编辑功能(自 1.1 新增) | |
| 299 | - polygon.enableEditing(); | |
| 300 | - | |
| 301 | - // 添加多变行编辑事件 | |
| 302 | - polygon.addEventListener('dblclick',function(e) { | |
| 303 | - | |
| 304 | - // 获取编辑的多边形对象 | |
| 305 | - var edit_pointE = polygon; | |
| 306 | - | |
| 307 | - // 多边形坐标点集合 | |
| 308 | - var eidt_PointsList = []; | |
| 309 | - | |
| 310 | - for ( var i = 0; i < edit_pointE.getPath().length; i++) { | |
| 311 | - | |
| 312 | - eidt_PointsList.push({potion: {lng: edit_pointE.getPath()[i].lng, lat: edit_pointE.getPath()[i].lat}}); | |
| 313 | - | |
| 314 | - } | |
| 315 | - | |
| 316 | - eidt_PointsList.push({potion: {lng: edit_pointE.getPath()[0].lng, lat: edit_pointE.getPath()[0].lat}}); | |
| 317 | - | |
| 318 | - var edit_centre = [{potion:{lng:edit_pointE.getBounds().getCenter().lng,lat:edit_pointE.getBounds().getCenter().lat}}]; | |
| 319 | - | |
| 320 | - // 多边形中心点 | |
| 321 | - var centre_points = edit_pointE.getBounds().getCenter().lng + ' ' + edit_pointE.getBounds().getCenter().lat; | |
| 322 | - | |
| 323 | - // 多边形坐标点集合转WGS坐标 | |
| 324 | - PublicFunctions.getFormPointEToWGS(eidt_PointsList,function(resultdata) { | |
| 325 | - | |
| 326 | - // 多边形WGS坐标字符串 | |
| 327 | - var eidt_gPloygonGrid = ''; | |
| 328 | - | |
| 329 | - // 百度坐标字符串 | |
| 330 | - var edit_bPloygonGrid = ''; | |
| 331 | - | |
| 332 | - for(var k =0;k<resultdata.length;k++) { | |
| 333 | - | |
| 334 | - if(k==0) { | |
| 335 | - | |
| 336 | - eidt_gPloygonGrid = resultdata[k].WGSpotion.Lng + ' ' +resultdata[k].WGSpotion.Lat; | |
| 337 | - | |
| 338 | - edit_bPloygonGrid = resultdata[k].potion.lng + ' ' +resultdata[k].potion.lat; | |
| 339 | - | |
| 340 | - }else { | |
| 341 | - | |
| 342 | - eidt_gPloygonGrid = eidt_gPloygonGrid + ',' + resultdata[k].WGSpotion.Lng + ' ' +resultdata[k].WGSpotion.Lat; | |
| 343 | - | |
| 344 | - edit_bPloygonGrid = edit_bPloygonGrid + ',' + resultdata[k].potion.lng + ' ' +resultdata[k].potion.lat; | |
| 345 | - | |
| 346 | - } | |
| 347 | - | |
| 348 | - } | |
| 349 | - | |
| 350 | - eidt_gPloygonGrid = 'POLYGON((' + eidt_gPloygonGrid + '))'; | |
| 351 | - | |
| 352 | - edit_bPloygonGrid = 'POLYGON((' + edit_bPloygonGrid + '))'; | |
| 353 | - | |
| 354 | - // 中心点坐标转WGS坐标 | |
| 355 | - PublicFunctions.getFormPointEToWGS(edit_centre,function(p) { | |
| 356 | - | |
| 357 | - var edit_gLonx = p[0].WGSpotion.Lng; | |
| 358 | - | |
| 359 | - var edit_gLaty = p[0].WGSpotion.Lat; | |
| 360 | - | |
| 361 | - // 设置编辑站点参宿集合 | |
| 362 | - PublicFunctions.editSeteditStationParmasValue(centre_points,edit_gLonx,edit_gLaty,edit_bPloygonGrid,eidt_gPloygonGrid,'d',''); | |
| 363 | - | |
| 364 | - // 加载编辑页面 | |
| 365 | - $.get('edit.html', function(m){$(pjaxContainer).append(m);}); | |
| 366 | - | |
| 367 | - }); | |
| 368 | - | |
| 369 | - }); | |
| 370 | - }); | |
| 371 | - | |
| 372 | - } | |
| 373 | - | |
| 374 | - }, | |
| 375 | - | |
| 376 | - // 原百度坐标转WGS坐标 | |
| 377 | - getFormPointEToWGS: function(points,callback) { | |
| 378 | - | |
| 379 | - // 获取长度 | |
| 380 | - var len = points.length; | |
| 381 | - | |
| 382 | - (function(){ | |
| 383 | - | |
| 384 | - if (!arguments.callee.count) { | |
| 385 | - | |
| 386 | - arguments.callee.count = 0; | |
| 387 | - | |
| 388 | - } | |
| 389 | - | |
| 390 | - arguments.callee.count++; | |
| 391 | - | |
| 392 | - var index = parseInt(arguments.callee.count) - 1; | |
| 393 | - | |
| 394 | - if (index >= len) { | |
| 395 | - | |
| 396 | - callback && callback(points); | |
| 397 | - | |
| 398 | - return; | |
| 399 | - } | |
| 400 | - | |
| 401 | - var f = arguments.callee; | |
| 402 | - | |
| 403 | - $.ajax({ | |
| 404 | - | |
| 405 | - url: 'http://api.zdoz.net/bd2wgs.aspx', | |
| 406 | - | |
| 407 | - data: {lat: points[index].potion.lat , lng: points[index].potion.lng}, | |
| 408 | - | |
| 409 | - dataType: 'jsonp', | |
| 410 | - | |
| 411 | - success: function(r){ | |
| 412 | - | |
| 413 | - if(r) { | |
| 414 | - | |
| 415 | - points[index].WGSpotion = r; | |
| 416 | - | |
| 417 | - } | |
| 418 | - | |
| 419 | - f(); | |
| 420 | - } | |
| 421 | - }); | |
| 422 | - | |
| 423 | - })(); | |
| 424 | - | |
| 425 | - }, | |
| 426 | - | |
| 427 | - editSeteditStationParmasValue : function(points,gLonx,gLaty,bPolygonGridValue,gPolygonGridVlaue,shapesTypeValue,radiusValue) { | |
| 428 | - | |
| 429 | - // 百度地图经纬度坐标中心点 | |
| 430 | - carParkObj[0].carParkBcenterPoint = points; | |
| 431 | - | |
| 432 | - // WGS经度 | |
| 433 | - carParkObj[0].carParkGcenterPoint = gLonx + ' ' + gLaty; | |
| 434 | - | |
| 435 | - // 百度坐标点图形集合 | |
| 436 | - carParkObj[0].carParkGparkPoint = gPolygonGridVlaue; | |
| 437 | - | |
| 438 | - // WGS坐标点图形集合 | |
| 439 | - carParkObj[0].carParkBparkPoint = bPolygonGridValue; | |
| 440 | - | |
| 441 | - // 图形类型 | |
| 442 | - carParkObj[0].carParkShapesType = shapesTypeValue; | |
| 443 | - | |
| 444 | - // 圆形半径 | |
| 445 | - carParkObj[0].carParkRadius = radiusValue; | |
| 115 | + setFormValue : function(carParkObj) { | |
| 446 | 116 | |
| 447 | - }, | |
| 448 | - | |
| 449 | - setFormValue : function() { | |
| 450 | - | |
| 451 | - $('#idInput').val(carParkObj[0].carParkId); | |
| 117 | + $('#idInput').val(carParkObj.carParkId); | |
| 452 | 118 | |
| 453 | - $('#bParkPointInput').val(carParkObj[0].carParkBparkPoint); | |
| 454 | - | |
| 455 | - $('#gParkPointInput').val(carParkObj[0].carParkGparkPoint); | |
| 456 | - | |
| 457 | - $('#parkNameInput').val(carParkObj[0].carParkName); | |
| 458 | - | |
| 459 | - $('#parkCodeInput').val(carParkObj[0].carParkCode); | |
| 119 | + $('#bParkPointInput').val(carParkObj.carParkBparkPoint); | |
| 460 | 120 | |
| 461 | - $('#bCenterPointInput').val(carParkObj[0].carParkBcenterPoint); | |
| 121 | + $('#parkNameInput').val(carParkObj.carParkName); | |
| 462 | 122 | |
| 463 | - $('#gCenterPointInput').val(carParkObj[0].carParkGcenterPoint); | |
| 123 | + $('#parkCodeInput').val(carParkObj.carParkCode); | |
| 464 | 124 | |
| 465 | - $('#shapesTypeSelect').val(carParkObj[0].carParkShapesType); | |
| 125 | + $('#bCenterPointInput').val(carParkObj.carParkBcenterPoint); | |
| 466 | 126 | |
| 467 | - $('#radiusInput').val(carParkObj[0].carParkRadius); | |
| 127 | + $('#shapesTypeSelect').val(carParkObj.carParkShapesType); | |
| 468 | 128 | |
| 469 | - $('#areaInput').val(carParkObj[0].carParkArea); | |
| 129 | + $('#radiusInput').val(carParkObj.carParkRadius); | |
| 470 | 130 | |
| 471 | - /*$('#companySelect').val(carParkObj[0].carParkCompany);*/ | |
| 131 | + $('#areaInput').val(carParkObj.carParkArea); | |
| 472 | 132 | |
| 473 | - /*$('#brancheCompanySelect').val(carParkObj[0].carParkBrancheCompany);*/ | |
| 133 | + $('#destroySelect').val(carParkObj.carParkDestroy); | |
| 474 | 134 | |
| 475 | - $('#destroySelect').val(carParkObj[0].carParkDestroy); | |
| 476 | - | |
| 477 | - $('#descriptionsTextarea').val(carParkObj[0].carParkDescriptions); | |
| 135 | + $('#descriptionsTextarea').val(carParkObj.carParkDescriptions); | |
| 478 | 136 | |
| 479 | 137 | }, |
| 480 | 138 | |
| ... | ... | @@ -536,16 +194,6 @@ var PublicFunctions = function () { |
| 536 | 194 | |
| 537 | 195 | }, |
| 538 | 196 | |
| 539 | - carParkUpdate : function(params,callback){ | |
| 540 | - | |
| 541 | - $post('/carpark/carParkUpdate',params,function(data) { | |
| 542 | - | |
| 543 | - callback && callback(data); | |
| 544 | - | |
| 545 | - }); | |
| 546 | - | |
| 547 | - } | |
| 548 | - | |
| 549 | 197 | } |
| 550 | 198 | |
| 551 | 199 | return PubFun ; | ... | ... |
src/main/resources/static/pages/base/carpark/js/carpark-positions-map.js
| ... | ... | @@ -5,17 +5,12 @@ |
| 5 | 5 | |
| 6 | 6 | var WorldsBMap = function () { |
| 7 | 7 | |
| 8 | + var mapValue='',drawingManager='',marker='',circle='',polygon=''; | |
| 9 | + | |
| 8 | 10 | var Bmap = { |
| 9 | 11 | |
| 10 | 12 | init : function() { |
| 11 | 13 | |
| 12 | - // 关闭左侧栏 | |
| 13 | - if (!$('body').hasClass('page-sidebar-closed')) { | |
| 14 | - | |
| 15 | - $('.menu-toggler.sidebar-toggler').click(); | |
| 16 | - | |
| 17 | - } | |
| 18 | - | |
| 19 | 14 | // 设置中心点, |
| 20 | 15 | var CENTER_POINT = {lng : 121.528733,lat : 31.237425}; |
| 21 | 16 | |
| ... | ... | @@ -23,22 +18,22 @@ var WorldsBMap = function () { |
| 23 | 18 | var bdKey = 'IGGrr4UjwIYzatoCRFKEL8sT'; |
| 24 | 19 | |
| 25 | 20 | // 初始化百度地图 |
| 26 | - var map = new BMap.Map("bmap_basic"); | |
| 21 | + mapValue = new BMap.Map("bmap_basic"); | |
| 27 | 22 | |
| 28 | 23 | //中心点和缩放级别 |
| 29 | - map.centerAndZoom(new BMap.Point(CENTER_POINT.lng,CENTER_POINT.lat), 15); | |
| 24 | + mapValue.centerAndZoom(new BMap.Point(CENTER_POINT.lng,CENTER_POINT.lat), 15); | |
| 30 | 25 | |
| 31 | 26 | //启用地图拖拽事件,默认启用(可不写) |
| 32 | - map.enableDragging(); | |
| 27 | + mapValue.enableDragging(); | |
| 33 | 28 | |
| 34 | 29 | //启用地图滚轮放大缩小 |
| 35 | - map.enableScrollWheelZoom(); | |
| 30 | + mapValue.enableScrollWheelZoom(); | |
| 36 | 31 | |
| 37 | 32 | //禁用鼠标双击放大 |
| 38 | - map.disableDoubleClickZoom(); | |
| 33 | + mapValue.disableDoubleClickZoom(); | |
| 39 | 34 | |
| 40 | 35 | //启用键盘上下左右键移动地图 |
| 41 | - map.enableKeyboard(); | |
| 36 | + mapValue.enableKeyboard(); | |
| 42 | 37 | |
| 43 | 38 | var styleOptions = { |
| 44 | 39 | |
| ... | ... | @@ -63,7 +58,7 @@ var WorldsBMap = function () { |
| 63 | 58 | }; |
| 64 | 59 | |
| 65 | 60 | // 创建鼠标绘制管理类 |
| 66 | - drawingManager = new BMapLib.DrawingManager(map, { | |
| 61 | + drawingManager = new BMapLib.DrawingManager(mapValue, { | |
| 67 | 62 | |
| 68 | 63 | //是否开启绘制模式 |
| 69 | 64 | isOpen : false, |
| ... | ... | @@ -112,70 +107,67 @@ var WorldsBMap = function () { |
| 112 | 107 | // 多变行质心点 |
| 113 | 108 | var addSttationPoints_ = pointE.getBounds().getCenter().lng+ ' ' + pointE.getBounds().getCenter().lat; |
| 114 | 109 | |
| 115 | - var PointsList = []; | |
| 116 | - | |
| 117 | - for ( var i = 0; i < pointE.getPath().length; i++) { | |
| 118 | - | |
| 119 | - PointsList.push({potion: {lng: pointE.getPath()[i].lng, lat: pointE.getPath()[i].lat}}); | |
| 120 | - | |
| 121 | - } | |
| 122 | - | |
| 123 | - PointsList.push({potion: {lng: pointE.getPath()[0].lng, lat: pointE.getPath()[0].lat}}); | |
| 124 | - | |
| 125 | - var centre = [{potion:{lng:pointE.getBounds().getCenter().lng,lat:pointE.getBounds().getCenter().lat}}]; | |
| 110 | + var addPolyGonLen_ = pointE.getPath().length; | |
| 126 | 111 | |
| 127 | - PublicFunctions.getFormPointEToWGS(PointsList,function(resultdata) { | |
| 128 | - | |
| 129 | - var gPloygonGrid = ''; | |
| 130 | - | |
| 131 | - var bPloygonGrid = ''; | |
| 112 | + for(var k =0;k<addPolyGonLen_;k++) { | |
| 132 | 113 | |
| 133 | - for(var k =0;k<resultdata.length;k++) { | |
| 114 | + if(k==0) { | |
| 134 | 115 | |
| 135 | - if(k==0) { | |
| 136 | - | |
| 137 | - gPloygonGrid = resultdata[k].WGSpotion.Lng + ' ' +resultdata[k].WGSpotion.Lat; | |
| 138 | - | |
| 139 | - bPloygonGrid = resultdata[k].potion.lng + ' ' +resultdata[k].potion.lat; | |
| 140 | - | |
| 141 | - }else { | |
| 142 | - | |
| 143 | - gPloygonGrid = gPloygonGrid + ',' + resultdata[k].WGSpotion.Lng + ' ' +resultdata[k].WGSpotion.Lat; | |
| 144 | - | |
| 145 | - bPloygonGrid = bPloygonGrid + ',' + resultdata[k].potion.lng + ' ' +resultdata[k].potion.lat; | |
| 146 | - | |
| 147 | - } | |
| 116 | + bPloygonGrid = pointE.getPath()[k].lng + ' ' + pointE.getPath()[k].lat; | |
| 117 | + | |
| 118 | + }else { | |
| 119 | + | |
| 120 | + bPloygonGrid = bPloygonGrid + ',' + pointE.getPath()[k].lng + ' ' + pointE.getPath()[k].lat; | |
| 148 | 121 | |
| 149 | 122 | } |
| 123 | + | |
| 124 | + } | |
| 125 | + | |
| 126 | + bPloygonGrid = bPloygonGrid + ',' + pointE.getPath()[0].lng + ' ' + pointE.getPath()[0].lat; | |
| 127 | + | |
| 128 | + /** 设置修改停车场集合对象图形质心点属性 @param:<addSttationPoints_:多边形质心点> */ | |
| 129 | + EditCarParkObj.setCarParkBcenterPoint(addSttationPoints_); | |
| 130 | + | |
| 131 | + /** 设置修改停车场集合对象图形类型属性 @param:<shapeType:图形类型> */ | |
| 132 | + EditCarParkObj.setCarParkShapesType('d'); | |
| 133 | + | |
| 134 | + /** 设置修改停车场集合对象圆形半径属性 @param:<radius:圆形半径> */ | |
| 135 | + EditCarParkObj.setCarParkRadius(''); | |
| 136 | + | |
| 137 | + /** 设置修改停车场集合对象名称 @param:<bParkPoint:多边形图形坐标集合> */ | |
| 138 | + EditCarParkObj.setCarParkBparkPoint(bPloygonGrid); | |
| 139 | + | |
| 140 | + $.get('edit.html', function(m){ | |
| 150 | 141 | |
| 151 | - gPloygonGrid = 'POLYGON((' + gPloygonGrid + '))'; | |
| 152 | - | |
| 153 | - bPloygonGrid = 'POLYGON((' + bPloygonGrid + '))'; | |
| 142 | + $(pjaxContainer).append(m); | |
| 154 | 143 | |
| 155 | - PublicFunctions.getFormPointEToWGS(centre,function(p) { | |
| 156 | - | |
| 157 | - var gLonx = p[0].WGSpotion.Lng; | |
| 158 | - | |
| 159 | - var gLaty = p[0].WGSpotion.Lat; | |
| 160 | - | |
| 161 | - PublicFunctions.editSeteditStationParmasValue(addSttationPoints_,gLonx,gLaty,bPloygonGrid,gPloygonGrid,'d',''); | |
| 162 | - | |
| 163 | - $.get('edit.html', function(m){$(pjaxContainer).append(m);}); | |
| 164 | - | |
| 165 | - }); | |
| 144 | + $('#editPoitsions_carpark_mobal').trigger('editCarParkMobal_show', [WorldsBMap,PublicFunctions,EditCarParkObj,GetAjaxData]); | |
| 166 | 145 | |
| 167 | - }); | |
| 146 | + }); | |
| 168 | 147 | |
| 169 | 148 | } |
| 170 | 149 | |
| 171 | 150 | }); |
| 172 | - return map; | |
| 151 | + return mapValue; | |
| 173 | 152 | }, |
| 174 | 153 | |
| 175 | -localSearchFromAdreesToPoint: function(Address,map,callback) { | |
| 154 | + openDrawingManager : function() { | |
| 155 | + | |
| 156 | + // 清楚地图覆盖物 | |
| 157 | + mapValue.clearOverlays(); | |
| 158 | + | |
| 159 | + // 打开鼠标绘画工具 | |
| 160 | + drawingManager.open(); | |
| 161 | + | |
| 162 | + // 设置属性 | |
| 163 | + drawingManager.setDrawingMode(BMAP_DRAWING_POLYGON); | |
| 164 | + | |
| 165 | + }, | |
| 166 | + | |
| 167 | + localSearchFromAdreesToPoint: function(Address) { | |
| 176 | 168 | |
| 177 | 169 | // 创建一个搜索类实例 |
| 178 | - var localSearch = new BMap.LocalSearch(map); | |
| 170 | + var localSearch = new BMap.LocalSearch(mapValue); | |
| 179 | 171 | |
| 180 | 172 | // 检索完成后的回调函数。 |
| 181 | 173 | localSearch.setSearchCompleteCallback(function (searchResult) { |
| ... | ... | @@ -190,26 +182,267 @@ localSearchFromAdreesToPoint: function(Address,map,callback) { |
| 190 | 182 | if(poi) { |
| 191 | 183 | |
| 192 | 184 | //获取经度和纬度 |
| 193 | - resultPoints = poi.point.lng + ' ' + poi.point.lat; | |
| 194 | - | |
| 195 | - callback && callback(resultPoints); | |
| 185 | + var Points = poi.point.lng + ' ' + poi.point.lat; | |
| 196 | 186 | |
| 197 | - }else { | |
| 187 | + var BJwpointsArray = Points.split(' '); | |
| 188 | + | |
| 189 | + var stationNameChangePoint = new BMap.Point(BJwpointsArray[0], BJwpointsArray[1]); | |
| 190 | + | |
| 191 | + var marker_stargt2 = new BMap.Marker(stationNameChangePoint); | |
| 192 | + | |
| 193 | + var PanOptions ={noAnimation :true}; | |
| 194 | + | |
| 195 | + mapValue.panTo(stationNameChangePoint,PanOptions); | |
| 196 | + | |
| 197 | + mapValue.panBy(0,-200); | |
| 198 | + | |
| 199 | + // 将标注添加到地图中 | |
| 200 | + mapValue.addOverlay(marker_stargt2); | |
| 201 | + | |
| 202 | + //跳动的动画 | |
| 203 | + marker_stargt2.setAnimation(BMAP_ANIMATION_BOUNCE); | |
| 198 | 204 | |
| 199 | - callback && callback(false); | |
| 200 | - | |
| 201 | - } | |
| 202 | - | |
| 203 | - }else { | |
| 205 | + } | |
| 204 | 206 | |
| 205 | - callback && callback(false); | |
| 206 | - } | |
| 207 | + } | |
| 207 | 208 | |
| 208 | 209 | }); |
| 209 | 210 | |
| 210 | 211 | // 根据检索词发起检索。 |
| 211 | 212 | localSearch.search(Address); |
| 212 | 213 | |
| 214 | + }, | |
| 215 | + | |
| 216 | + /** 画圆 @param:<r:停车场信息;point:中心点;htm:信息窗口html文本;pots:信息窗口参数属性> */ | |
| 217 | + pointsCircle : function(r,point,htm,opts) { | |
| 218 | + | |
| 219 | + //创建圆 | |
| 220 | + circle = new BMap.Circle(point,r[0].carParkRadius,{strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5}); | |
| 221 | + | |
| 222 | + // 允许覆盖物在map.clearOverlays方法中被清除 | |
| 223 | + circle.enableMassClear(); | |
| 224 | + | |
| 225 | + // 百度地图添加覆盖物圆 | |
| 226 | + mapValue.addOverlay(circle); | |
| 227 | + | |
| 228 | + // 创建信息窗口 | |
| 229 | + infoWindow = new BMap.InfoWindow(htm, opts); | |
| 230 | + | |
| 231 | + // 自定义标注物图片 | |
| 232 | + var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/cz.png',new BMap.Size(20, 20)); | |
| 233 | + | |
| 234 | + // 创建点 | |
| 235 | + marker = new BMap.Marker(point,{icon : icon_target}); | |
| 236 | + | |
| 237 | + // 把标注添物加到地图上 | |
| 238 | + mapValue.addOverlay(marker); | |
| 239 | + | |
| 240 | + setTimeout(function(){ | |
| 241 | + //开启信息窗口 | |
| 242 | + marker.openInfoWindow(infoWindow,point); | |
| 243 | + | |
| 244 | + },100); | |
| 245 | + | |
| 246 | + // 是否在平移过程中禁止动画。(自1.2新增) | |
| 247 | + var PanOptions_ ={noAnimation :true}; | |
| 248 | + | |
| 249 | + // 将地图的中心点更改为给定的点。 | |
| 250 | + mapValue.panTo(point,PanOptions_); | |
| 251 | + | |
| 252 | + // 添加标志物监听事件 | |
| 253 | + marker.addEventListener("click",function() { | |
| 254 | + | |
| 255 | + //开启信息窗口 | |
| 256 | + marker.openInfoWindow(infoWindow,point); | |
| 257 | + | |
| 258 | + }); | |
| 259 | + }, | |
| 260 | + | |
| 261 | + /** 画多边形 @param:<r:停车场信息;point:中心点;htm:信息窗口html文本;pots:信息窗口参数属性> */ | |
| 262 | + pointsPolygon : function(r,pointPolygon,htm,opts_polygon) { | |
| 263 | + | |
| 264 | + // 将视图切换到指定的缩放等级,中心点坐标不变。注意:当有信息窗口在地图上打开时,地图缩放将保证信息窗口所在的坐标位置不动。(自1.2新增) | |
| 265 | + mapValue.setZoom(17); | |
| 266 | + | |
| 267 | + // 获取多边形坐标字符串 | |
| 268 | + var stationBPolygonGrid = r[0].carParkBparkPoint; | |
| 269 | + | |
| 270 | + // 截取多边形坐标字符串 | |
| 271 | + var stationBPolygonGridStr = stationBPolygonGrid.substring(9,stationBPolygonGrid.length-2); | |
| 272 | + | |
| 273 | + // 按逗号切割 | |
| 274 | + var pointPolygonArray = stationBPolygonGridStr.split(','); | |
| 275 | + | |
| 276 | + // 多边形坐标集合 | |
| 277 | + var polygonP = []; | |
| 278 | + | |
| 279 | + for(var v = 0;v<pointPolygonArray.length;v++) { | |
| 280 | + | |
| 281 | + polygonP.push(new BMap.Point(pointPolygonArray[v].split(" ")[0],pointPolygonArray[v].split(" ")[1])); | |
| 282 | + | |
| 283 | + } | |
| 284 | + | |
| 285 | + // 画多边形 | |
| 286 | + polygon = new BMap.Polygon(polygonP, { | |
| 287 | + | |
| 288 | + // 线条显色 | |
| 289 | + strokeColor : "blue", | |
| 290 | + | |
| 291 | + // 边线的宽度,以像素为单位。 | |
| 292 | + strokeWeight : 2, | |
| 293 | + | |
| 294 | + // 边线透明度,取值范围0 - 1。 | |
| 295 | + strokeOpacity : 0.5 | |
| 296 | + }); | |
| 297 | + | |
| 298 | + // 增加地图覆盖物多边形 | |
| 299 | + mapValue.addOverlay(polygon); | |
| 300 | + | |
| 301 | + // 创建信息窗口 | |
| 302 | + infoWindow = new BMap.InfoWindow(htm, opts_polygon); | |
| 303 | + | |
| 304 | + // 自定义标注物图片 | |
| 305 | + var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/cz.png',new BMap.Size(20, 20)); | |
| 306 | + | |
| 307 | + // 创建点 | |
| 308 | + marker = new BMap.Marker(pointPolygon,{icon : icon_target}); | |
| 309 | + | |
| 310 | + // 把标注添物加到地图上 | |
| 311 | + mapValue.addOverlay(marker); | |
| 312 | + | |
| 313 | + // 是否在平移过程中禁止动画。(自1.2新增) | |
| 314 | + var PanOptions_ ={noAnimation :true}; | |
| 315 | + | |
| 316 | + // 将地图的中心点更改为给定的点。 | |
| 317 | + mapValue.panTo(pointPolygon,PanOptions_); | |
| 318 | + | |
| 319 | + // 将地图在水平位置上移动x像素,垂直位置上移动y像素。 | |
| 320 | + mapValue.panBy(10,-250,PanOptions_); | |
| 321 | + | |
| 322 | + //开启信息窗口 | |
| 323 | + marker.openInfoWindow(infoWindow,pointPolygon); | |
| 324 | + | |
| 325 | + }, | |
| 326 | + | |
| 327 | + // 编辑图形 | |
| 328 | + editShapes : function(stationShapesTypeV,mindex) { | |
| 329 | + | |
| 330 | + // 关闭信息窗口 | |
| 331 | + marker.closeInfoWindow(); | |
| 332 | + | |
| 333 | + // 清除marker | |
| 334 | + mapValue.removeOverlay(marker); | |
| 335 | + | |
| 336 | + // 编辑圆 | |
| 337 | + if(stationShapesTypeV =='r') { | |
| 338 | + | |
| 339 | + // 开启编辑功能 | |
| 340 | + circle.enableEditing(); | |
| 341 | + | |
| 342 | + // 编辑圆监听事件 | |
| 343 | + circle.addEventListener('dblclick',function() { | |
| 344 | + | |
| 345 | + // 关闭提示弹出层 | |
| 346 | + layer.close(mindex); | |
| 347 | + | |
| 348 | + // 返回圆形的半径,单位为米。 | |
| 349 | + var newRadius = circle.getRadius(); | |
| 350 | + | |
| 351 | + // 返回圆形的中心点坐标。 | |
| 352 | + var newCenter = circle.getCenter().lng + ' ' + circle.getCenter().lat; | |
| 353 | + | |
| 354 | + var centre_New = [{potion:{lng:circle.getCenter().lng,lat:circle.getCenter().lat}}]; | |
| 355 | + | |
| 356 | + /** 设置修改停车场集合对象图形质心点属性 @param:<addSttationPoints_:多边形质心点> */ | |
| 357 | + EditCarParkObj.setCarParkBcenterPoint(newCenter); | |
| 358 | + | |
| 359 | + /** 设置修改停车场集合对象图形类型属性 @param:<shapeType:图形类型> */ | |
| 360 | + EditCarParkObj.setCarParkShapesType('r'); | |
| 361 | + | |
| 362 | + /** 设置修改停车场集合对象圆形半径属性 @param:<radius:圆形半径> */ | |
| 363 | + EditCarParkObj.setCarParkRadius(Math.round(newRadius)); | |
| 364 | + | |
| 365 | + /** 设置修改停车场集合对象名称 @param:<bParkPoint:多边形图形坐标集合> */ | |
| 366 | + EditCarParkObj.setCarParkBparkPoint(''); | |
| 367 | + | |
| 368 | + // 加载编辑页面 | |
| 369 | + $.get('edit.html', function(m){ | |
| 370 | + | |
| 371 | + $(pjaxContainer).append(m); | |
| 372 | + | |
| 373 | + $('#editPoitsions_carpark_mobal').trigger('editCarParkMobal_show', [WorldsBMap,PublicFunctions,EditCarParkObj,GetAjaxData]); | |
| 374 | + | |
| 375 | + }); | |
| 376 | + | |
| 377 | + }); | |
| 378 | + | |
| 379 | + // 编辑多变行 | |
| 380 | + }else if(stationShapesTypeV =='d') { | |
| 381 | + | |
| 382 | + // 开启编辑功能(自 1.1 新增) | |
| 383 | + polygon.enableEditing(); | |
| 384 | + | |
| 385 | + // 添加多变行编辑事件 | |
| 386 | + polygon.addEventListener('dblclick',function(e) { | |
| 387 | + | |
| 388 | + // 获取编辑的多边形对象 | |
| 389 | + var edit_pointE = polygon; | |
| 390 | + | |
| 391 | + var edit_bPloygonGrid = ""; | |
| 392 | + | |
| 393 | + var editPolyGonLen_ = edit_pointE.getPath().length; | |
| 394 | + | |
| 395 | + for(var k =0;k<editPolyGonLen_;k++) { | |
| 396 | + | |
| 397 | + if(k==0) { | |
| 398 | + | |
| 399 | + edit_bPloygonGrid = edit_pointE.getPath()[k].lng + ' ' + edit_pointE.getPath()[k].lat; | |
| 400 | + | |
| 401 | + }else { | |
| 402 | + | |
| 403 | + edit_bPloygonGrid = edit_bPloygonGrid + ',' + edit_pointE.getPath()[k].lng + ' ' + edit_pointE.getPath()[k].lat; | |
| 404 | + | |
| 405 | + } | |
| 406 | + | |
| 407 | + } | |
| 408 | + | |
| 409 | + edit_bPloygonGrid = edit_bPloygonGrid + ',' + edit_pointE.getPath()[0].lng + ' ' + edit_pointE.getPath()[0].lat; | |
| 410 | + | |
| 411 | + // 多边形中心点 | |
| 412 | + var centre_points = edit_pointE.getBounds().getCenter().lng + ' ' + edit_pointE.getBounds().getCenter().lat; | |
| 413 | + | |
| 414 | + | |
| 415 | + /** 设置修改停车场集合对象图形质心点属性 @param:<addSttationPoints_:多边形质心点> */ | |
| 416 | + EditCarParkObj.setCarParkBcenterPoint(centre_points); | |
| 417 | + | |
| 418 | + /** 设置修改停车场集合对象图形类型属性 @param:<shapeType:图形类型> */ | |
| 419 | + EditCarParkObj.setCarParkShapesType('d'); | |
| 420 | + | |
| 421 | + /** 设置修改停车场集合对象圆形半径属性 @param:<radius:圆形半径> */ | |
| 422 | + EditCarParkObj.setCarParkRadius(''); | |
| 423 | + | |
| 424 | + /** 设置修改停车场集合对象名称 @param:<bParkPoint:多边形图形坐标集合> */ | |
| 425 | + EditCarParkObj.setCarParkBparkPoint(edit_bPloygonGrid); | |
| 426 | + | |
| 427 | + $.get('edit.html', function(m){ | |
| 428 | + | |
| 429 | + $(pjaxContainer).append(m); | |
| 430 | + | |
| 431 | + $('#editPoitsions_carpark_mobal').trigger('editCarParkMobal_show', [WorldsBMap,PublicFunctions,EditCarParkObj,GetAjaxData]); | |
| 432 | + | |
| 433 | + }); | |
| 434 | + | |
| 435 | + }); | |
| 436 | + | |
| 437 | + } | |
| 438 | + | |
| 439 | + }, | |
| 440 | + | |
| 441 | + clearMarkAndOverlays : function() { | |
| 442 | + | |
| 443 | + // 清楚地图覆盖物 | |
| 444 | + mapValue.clearOverlays(); | |
| 445 | + | |
| 213 | 446 | } |
| 214 | 447 | } |
| 215 | 448 | ... | ... |
src/main/resources/static/pages/base/carpark/js/carpark-positions-reload.js
| ... | ... | @@ -14,17 +14,24 @@ |
| 14 | 14 | |
| 15 | 15 | (function(){ |
| 16 | 16 | |
| 17 | - // 获取参数线路ID | |
| 17 | + // 获取参数停车场ID | |
| 18 | 18 | id = $.url().param('no'); |
| 19 | 19 | |
| 20 | + // 关闭左侧栏 | |
| 21 | + if (!$('body').hasClass('page-sidebar-closed')) { | |
| 22 | + | |
| 23 | + $('.menu-toggler.sidebar-toggler').click(); | |
| 24 | + | |
| 25 | + } | |
| 26 | + | |
| 20 | 27 | // 等候500毫秒执行 |
| 21 | 28 | setTimeout(function(){ |
| 22 | 29 | |
| 23 | 30 | // 地图初始化 |
| 24 | 31 | mapB = WorldsBMap.init(); |
| 25 | 32 | |
| 26 | - // 初始化停车场信息 | |
| 27 | - PublicFunctions.initCarPark(); | |
| 33 | + /** 停车场信息初始化 @param:<id:停车场ID> */ | |
| 34 | + PublicFunctions.initCarPark(id); | |
| 28 | 35 | |
| 29 | 36 | },200); |
| 30 | 37 | ... | ... |
src/main/resources/static/pages/base/carpark/js/positioncarpark.js
0 → 100644
| 1 | +var EditCarParkObj = function () { | |
| 2 | + | |
| 3 | + /** 定义修改停车场对象 */ | |
| 4 | + var CarPark={}; | |
| 5 | + | |
| 6 | + var CarParkObj = { | |
| 7 | + | |
| 8 | + /** 获取修改停车场集合对象 @return:<CarPark:修改停车场对象> */ | |
| 9 | + getEitdCarPark : function() { | |
| 10 | + | |
| 11 | + return CarPark; | |
| 12 | + }, | |
| 13 | + | |
| 14 | + /** 设置修改停车场集合对象 */ | |
| 15 | + setEitdCarPark : function(sc) { | |
| 16 | + | |
| 17 | + CarPark = sc; | |
| 18 | + }, | |
| 19 | + | |
| 20 | + /** 设置修改停车场集合对象名称属性 @param:<name:停车场名称> */ | |
| 21 | + setEitdCarParkName : function(name) { | |
| 22 | + | |
| 23 | + CarPark.carParkName = name; | |
| 24 | + }, | |
| 25 | + | |
| 26 | + /** 设置修改停车场集合对象图形质心点属性 @param:<center:多边形质心点> */ | |
| 27 | + setCarParkBcenterPoint : function(center) { | |
| 28 | + | |
| 29 | + CarPark.carParkBcenterPoint = center; | |
| 30 | + | |
| 31 | + }, | |
| 32 | + | |
| 33 | + /** 设置修改停车场集合对象多边形图形坐标集合属性 @param:<bParkPoint:多边形图形坐标集合> */ | |
| 34 | + setCarParkBparkPoint : function(bParkPoint) { | |
| 35 | + | |
| 36 | + CarPark.carParkBparkPoint = bParkPoint; | |
| 37 | + }, | |
| 38 | + | |
| 39 | + /** 设置修改停车场集合对象图形类型属性 @param:<shapeType:图形类型> */ | |
| 40 | + setCarParkShapesType : function(shapeType) { | |
| 41 | + | |
| 42 | + CarPark.carParkShapesType = shapeType; | |
| 43 | + }, | |
| 44 | + | |
| 45 | + /** 设置修改停车场集合对象圆形半径属性 @param:<radius:圆形半径> */ | |
| 46 | + setCarParkRadius : function(radius) { | |
| 47 | + | |
| 48 | + CarPark.carParkRadius = radius; | |
| 49 | + | |
| 50 | + } | |
| 51 | + | |
| 52 | + } | |
| 53 | + | |
| 54 | + return CarParkObj; | |
| 55 | + | |
| 56 | +}(); | ... | ... |
src/main/resources/static/pages/base/carpark/positions.html
| ... | ... | @@ -20,21 +20,21 @@ |
| 20 | 20 | </ul> |
| 21 | 21 | </div> |
| 22 | 22 | </div> |
| 23 | -<script type="text/javascript"> | |
| 24 | - | |
| 25 | - /** carParkObj:停车场对象;drawingManager:绘制工具对象;mapB地图对象;circle:圆对象; polygon:多边形对象;marker:覆盖物对象;信息窗口对象:infoWindow;id:停车场ID*/ | |
| 26 | - var carParkObj = '',drawingManager= '',mapB = '',circle = '',polygon='', polygon = '',marker = '',infoWindow = '',id=''; | |
| 27 | - | |
| 28 | -</script> | |
| 23 | + | |
| 24 | +<!-- 编辑停车场对象类 --> | |
| 25 | +<script src="/pages/base/carpark/js/positioncarpark.js"></script> | |
| 26 | + | |
| 27 | +<!-- ajax异步请求类 --> | |
| 28 | +<script src="/pages/base/carpark/js/carpark-positions-ajax.js"></script> | |
| 29 | + | |
| 30 | +<!-- 函数方法JS类库 --> | |
| 31 | +<script src="/pages/base/carpark/js/carpark-positions-function.js"></script> | |
| 29 | 32 | |
| 30 | 33 | <!-- 地图JS类库 --> |
| 31 | 34 | <script src="/pages/base/carpark/js/carpark-positions-map.js"></script> |
| 32 | 35 | |
| 33 | -<!-- 方法JS类库 --> | |
| 34 | -<script src="/pages/base/carpark/js/carpark-positions-function.js"></script> | |
| 36 | +<!-- 事件(PublicFunctions)JS类库 --> | |
| 37 | +<script src="/pages/base/carpark/js/carpark-positions-events.js"></script> | |
| 35 | 38 | |
| 36 | 39 | <!-- reloadJS类库 --> |
| 37 | -<script src="/pages/base/carpark/js/carpark-positions-reload.js"></script> | |
| 38 | - | |
| 39 | -<!-- 事件JS类库 --> | |
| 40 | -<script src="/pages/base/carpark/js/carpark-positions-events.js"></script> | |
| 41 | 40 | \ No newline at end of file |
| 41 | +<script src="/pages/base/carpark/js/carpark-positions-reload.js"></script> | |
| 42 | 42 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/base/section/editsection.html
0 → 100644
| 1 | +<!-- 编辑路段 --> | |
| 2 | +<div class="modal fade" id="edit_section_mobal" tabindex="-1" role="basic" aria-hidden="true"> | |
| 3 | + | |
| 4 | + <div class="modal-dialog"> | |
| 5 | + | |
| 6 | + <div class="modal-content"> | |
| 7 | + | |
| 8 | + <div class="modal-header"> | |
| 9 | + <button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button> | |
| 10 | + <h4 class="modal-title">路段路段</h4> | |
| 11 | + </div> | |
| 12 | + | |
| 13 | + <div class="modal-body"> | |
| 14 | + | |
| 15 | + <form class="form-horizontal" role="form" id="edit_section__form" action="/module" method="post"> | |
| 16 | + | |
| 17 | + <div class="alert alert-danger display-hide"> <button class="close" data-close="alert"></button> | |
| 18 | + 您的输入有误,请检查下面的输入项 | |
| 19 | + </div> | |
| 20 | + | |
| 21 | + <!-- 线路ID --> | |
| 22 | + | |
| 23 | + <input type="hidden" name="sectionId" id="sectionIdInput"> | |
| 24 | + | |
| 25 | + <input type="hidden" name="sectionRouteId" id="sectionRouteIdInput"> | |
| 26 | + | |
| 27 | + <input type="hidden" name="sectionRouteLine" id="sectionRouteLineInput"> | |
| 28 | + | |
| 29 | + <input type="hidden" name="lineCode" id="lineCodeInput"> | |
| 30 | + | |
| 31 | + <input type="hidden" name="bsectionVector" id="bsectionVectorInput" /> | |
| 32 | + | |
| 33 | + <input type="hidden" name="csectionVector" id="csectionVectorInput" value=""/> | |
| 34 | + | |
| 35 | + <input type="hidden" name="dbType" id="dbTypeInput" value="b"/> | |
| 36 | + | |
| 37 | + <!-- 路段名称 --> | |
| 38 | + <div class="form-body"> | |
| 39 | + <div class="form-group"> | |
| 40 | + <label class="control-label col-md-3"> | |
| 41 | + <span class="required"> * </span> 路段名称: | |
| 42 | + </label> | |
| 43 | + <div class="col-md-6"> | |
| 44 | + <input type="text" class="form-control" name="sectionName" id="sectionNameInput" placeholder="路段名称"> | |
| 45 | + </div> | |
| 46 | + </div> | |
| 47 | + </div> | |
| 48 | + | |
| 49 | + <!-- 路段编码 --> | |
| 50 | + <div class="form-body"> | |
| 51 | + <div class="form-group"> | |
| 52 | + <label class="control-label col-md-3"> | |
| 53 | + <span class="required"> * </span> 路段编码: | |
| 54 | + </label> | |
| 55 | + <div class="col-md-6"> | |
| 56 | + <input type="text" class="form-control" name="sectionCode" id="sectionCodeInput" placeholder="路段编码"> | |
| 57 | + </div> | |
| 58 | + </div> | |
| 59 | + </div> | |
| 60 | + | |
| 61 | + <!-- 路段序号 --> | |
| 62 | + <div class="form-body"> | |
| 63 | + <div class="form-group"> | |
| 64 | + <label class="control-label col-md-3"> | |
| 65 | + <span class="required"> * </span>上一路段: | |
| 66 | + </label> | |
| 67 | + <div class="col-md-6"> | |
| 68 | + <select name="sectionrouteCode" class="form-control" id="sectionrouteCodeSelect"></select> | |
| 69 | + <span class="help-block"> *说明:选择的路段将作为本站序号的参考,成为选择路段的下一个路段。 </span> | |
| 70 | + </div> | |
| 71 | + </div> | |
| 72 | + </div> | |
| 73 | + | |
| 74 | + <!-- 路段方向 --> | |
| 75 | + <div class="form-body"> | |
| 76 | + <div class="form-group"> | |
| 77 | + <label class="control-label col-md-3"> | |
| 78 | + <span class="required"> * </span>路段方向: | |
| 79 | + </label> | |
| 80 | + <div class="col-md-6"> | |
| 81 | + <select name="directions" class="form-control" id="directionsSection"> | |
| 82 | + <option value="">-- 请选择路段类型 --</option> | |
| 83 | + <option value="0">上行</option> | |
| 84 | + <option value="1">下行</option> | |
| 85 | + </select> | |
| 86 | + </div> | |
| 87 | + </div> | |
| 88 | + </div> | |
| 89 | + | |
| 90 | + <!-- 道路编码--> | |
| 91 | + <div class="form-body"> | |
| 92 | + <div class="form-group"> | |
| 93 | + <label class="control-label col-md-3">道路编码:</label> | |
| 94 | + <div class="col-md-6"> | |
| 95 | + <input type="text" class="form-control" name="roadCoding" id="roadCodingCodInput" placeholder="道路编码"> | |
| 96 | + </div> | |
| 97 | + </div> | |
| 98 | + </div> | |
| 99 | + | |
| 100 | + <!-- 路段限速 --> | |
| 101 | + <div class="form-body"> | |
| 102 | + <div class="form-group"> | |
| 103 | + <label class="control-label col-md-3"> | |
| 104 | + <span class="required"> * </span> 路段限速: | |
| 105 | + </label> | |
| 106 | + <div class="col-md-6"> | |
| 107 | + <input type="text" class="form-control" name="speedLimit" id="speedLimitInput" placeholder="路段限速"> | |
| 108 | + </div> | |
| 109 | + </div> | |
| 110 | + </div> | |
| 111 | + | |
| 112 | + <!-- 路段时长 --> | |
| 113 | + <div class="form-body"> | |
| 114 | + <div class="form-group"> | |
| 115 | + <label class="col-md-3 control-label">路段时长:</label> | |
| 116 | + <div class="col-md-6"> | |
| 117 | + <input type="text" class="form-control" name="sectionTime" id="sectionTimeInput" placeholder="路段时长"> | |
| 118 | + <span class="help-block">单位:分钟</span> | |
| 119 | + </div> | |
| 120 | + </div> | |
| 121 | + </div> | |
| 122 | + | |
| 123 | + <!-- 路段长度 --> | |
| 124 | + <div class="form-body"> | |
| 125 | + <div class="form-group"> | |
| 126 | + <label class="col-md-3 control-label">路段长度:</label> | |
| 127 | + <div class="col-md-6"> | |
| 128 | + <input type="text" class="form-control" name="sectionDistance" id="sectionDistanceInput" placeholder="路段长度"> | |
| 129 | + <span class="help-block">单位:公里</span> | |
| 130 | + </div> | |
| 131 | + </div> | |
| 132 | + </div> | |
| 133 | + | |
| 134 | + <!-- 版本号 --> | |
| 135 | + <div class="form-body"> | |
| 136 | + <div class="form-group"> | |
| 137 | + <label class="col-md-3 control-label">版本号:</label> | |
| 138 | + <div class="col-md-6"> | |
| 139 | + <input type="text" class="form-control" name="versions" id="versionsInput" Readonly> | |
| 140 | + </div> | |
| 141 | + </div> | |
| 142 | + </div> | |
| 143 | + | |
| 144 | + <!-- 范围图形类型 --> | |
| 145 | + <div class="form-body"> | |
| 146 | + <div class="form-group"> | |
| 147 | + <label class="col-md-3 control-label">是否撤销:</label> | |
| 148 | + <div class="col-md-6"> | |
| 149 | + <select name="destroy" class="form-control" id="destroySelect"> | |
| 150 | + <option value="">-- 请选择撤销类型 --</option> | |
| 151 | + <option value="0">否</option> | |
| 152 | + <option value="1">是</option> | |
| 153 | + </select> | |
| 154 | + </div> | |
| 155 | + </div> | |
| 156 | + </div> | |
| 157 | + | |
| 158 | + <!-- 描述/说明 --> | |
| 159 | + <div class="form-group"> | |
| 160 | + <label class="control-label col-md-3"> 描述/说明: </label> | |
| 161 | + <div class="col-md-6"> | |
| 162 | + <textarea class="form-control" rows="3" name="descriptions" id="descriptionsTextarea" placeholder="描述/说明"></textarea> | |
| 163 | + </div> | |
| 164 | + </div> | |
| 165 | + </form> | |
| 166 | + </div> | |
| 167 | + <div class="modal-footer"> | |
| 168 | + <button type="button" class="btn default" data-dismiss="modal">取消</button> | |
| 169 | + <button type="button" class="btn btn-primary" id="editSectionButton">提交数据</button> | |
| 170 | + </div> | |
| 171 | + </div> | |
| 172 | + </div> | |
| 173 | +</div> | |
| 174 | +<script type="text/javascript"> | |
| 175 | + | |
| 176 | +$('#edit_section_mobal').on('editSectionMobal_show', function(e, map_,ajaxd,section,fun){ | |
| 177 | + | |
| 178 | + var Section = section.getEitdSection(); | |
| 179 | + | |
| 180 | + | |
| 181 | + fun.setSectionFormValue(Section); | |
| 182 | + | |
| 183 | + // 方向 | |
| 184 | + var dir = Section.sectionRouteDirections; | |
| 185 | + | |
| 186 | + var lineId = Section.sectionRouteLine; | |
| 187 | + | |
| 188 | + var sectionRouteId = Section.sectionRouteId; | |
| 189 | + | |
| 190 | + // 获取路段号元素,并添加下拉属性值 | |
| 191 | + ajaxd.getStation(lineId,dir,function(treeData) { | |
| 192 | + | |
| 193 | + var options = '<option value="">请选择...</option>'; | |
| 194 | + | |
| 195 | + var dArray = treeData[0].children[1].children; | |
| 196 | + | |
| 197 | + var eq_stationRouteCode = Section.sectionRouteCode; | |
| 198 | + | |
| 199 | + for(var i = 0 ; i<dArray.length; i++){ | |
| 200 | + | |
| 201 | + var ptions_v = dArray[i].sectionrouteCode; | |
| 202 | + | |
| 203 | + // 排除本站 | |
| 204 | + if(eq_stationRouteCode == ptions_v){ | |
| 205 | + | |
| 206 | + continue; | |
| 207 | + | |
| 208 | + } | |
| 209 | + | |
| 210 | + options += '<option value="'+ ptions_v +'">'+dArray[i].sectionName+'</option>' | |
| 211 | + | |
| 212 | + } | |
| 213 | + | |
| 214 | + $('#sectionrouteCodeSelect').html(options); | |
| 215 | + | |
| 216 | + ajaxd.findUpStationRouteCode(lineId,dir,eq_stationRouteCode,function(str) { | |
| 217 | + | |
| 218 | + if(str.length>0){ | |
| 219 | + | |
| 220 | + var upStationRouteCode = str[0].sectionrouteCode | |
| 221 | + | |
| 222 | + $('#sectionrouteCodeSelect').val(upStationRouteCode); | |
| 223 | + | |
| 224 | + } | |
| 225 | + | |
| 226 | + }); | |
| 227 | + | |
| 228 | + }); | |
| 229 | + | |
| 230 | + // 显示mobal | |
| 231 | + $('#edit_section_mobal').modal({show : true,backdrop: 'static',keyboard: false}); | |
| 232 | + | |
| 233 | + // 当调用 hide 实例方法时触发 | |
| 234 | + $('#edit_section_mobal').on('hide.bs.modal', function () { | |
| 235 | + | |
| 236 | + closeMobleSetClean(); | |
| 237 | + | |
| 238 | + }); | |
| 239 | + | |
| 240 | + function closeMobleSetClean() { | |
| 241 | + | |
| 242 | + // 清除地图覆盖物 | |
| 243 | + map_.clearMarkAndOverlays(); | |
| 244 | + | |
| 245 | + /** 设置修改路段集合对象为空 */ | |
| 246 | + section.setEitdSection({}); | |
| 247 | + | |
| 248 | + $('.dropdown-toggle').removeClass('disabled'); | |
| 249 | + | |
| 250 | + /** 初始化路段信息 @return <id:路段路由ID> */ | |
| 251 | + fun.initSectionInfo(sectionRouteId); | |
| 252 | + | |
| 253 | + } | |
| 254 | + | |
| 255 | + // 编辑表单元素 | |
| 256 | + var form = $('#edit_section__form'); | |
| 257 | + | |
| 258 | + // 获取错误提示元素 | |
| 259 | + var error = $('.alert-danger', form); | |
| 260 | + | |
| 261 | + // 提交数据按钮事件 | |
| 262 | + $('#editSectionButton').on('click', function() { | |
| 263 | + | |
| 264 | + | |
| 265 | + // 表单提交 | |
| 266 | + form.submit(); | |
| 267 | + | |
| 268 | + }); | |
| 269 | + | |
| 270 | + // 表单验证 | |
| 271 | + form.validate({ | |
| 272 | + | |
| 273 | + errorElement : 'span', | |
| 274 | + | |
| 275 | + errorClass : 'help-block help-block-error', | |
| 276 | + | |
| 277 | + focusInvalid : false, | |
| 278 | + | |
| 279 | + rules : { | |
| 280 | + | |
| 281 | + // 路段名称 | |
| 282 | + 'sectionName' : { | |
| 283 | + | |
| 284 | + // 必填项 | |
| 285 | + required : true | |
| 286 | + | |
| 287 | + }, | |
| 288 | + | |
| 289 | + // 路段编码 | |
| 290 | + 'sectionCode': { | |
| 291 | + | |
| 292 | + // 必填项 | |
| 293 | + required : true, | |
| 294 | + | |
| 295 | + }, | |
| 296 | + | |
| 297 | + // 路段方向 | |
| 298 | + 'directions' : { | |
| 299 | + | |
| 300 | + // 必填项 | |
| 301 | + required : true, | |
| 302 | + | |
| 303 | + // 方向选择限制 | |
| 304 | + /* dirIs : true */ | |
| 305 | + | |
| 306 | + }, | |
| 307 | + | |
| 308 | + | |
| 309 | + // 路段限速 | |
| 310 | + 'speedLimit' : { | |
| 311 | + | |
| 312 | + // 必须输入合法的数字(负数,小数)。 | |
| 313 | + number : true | |
| 314 | + | |
| 315 | + }, | |
| 316 | + | |
| 317 | + // 路段长度 | |
| 318 | + 'sectionTime' : { | |
| 319 | + | |
| 320 | + // 必须输入合法的数字(负数,小数)。 | |
| 321 | + number : true | |
| 322 | + | |
| 323 | + }, | |
| 324 | + | |
| 325 | + // 路段时长 | |
| 326 | + 'sectionDistance' : { | |
| 327 | + | |
| 328 | + // 必须输入合法的数字(负数,小数)。 | |
| 329 | + number : true | |
| 330 | + | |
| 331 | + }, | |
| 332 | + | |
| 333 | + // 描述与说明 | |
| 334 | + 'descriptions' : { | |
| 335 | + | |
| 336 | + // 最大长度 | |
| 337 | + maxlength: 150 | |
| 338 | + | |
| 339 | + } | |
| 340 | + }, | |
| 341 | + | |
| 342 | + invalidHandler : function(event, validator) { | |
| 343 | + | |
| 344 | + error.show(); | |
| 345 | + | |
| 346 | + App.scrollTo(error, -200); | |
| 347 | + | |
| 348 | + }, | |
| 349 | + | |
| 350 | + highlight : function(element) { | |
| 351 | + | |
| 352 | + $(element).closest('.form-group').addClass('has-error'); | |
| 353 | + | |
| 354 | + }, | |
| 355 | + | |
| 356 | + unhighlight : function(element) { | |
| 357 | + | |
| 358 | + $(element).closest('.form-group').removeClass('has-error'); | |
| 359 | + | |
| 360 | + }, | |
| 361 | + | |
| 362 | + success : function(label) { | |
| 363 | + | |
| 364 | + label.closest('.form-group').removeClass('has-error'); | |
| 365 | + | |
| 366 | + }, | |
| 367 | + | |
| 368 | + submitHandler : function(f) { | |
| 369 | + | |
| 370 | + var params = form.serializeJSON(); | |
| 371 | + | |
| 372 | + error.hide(); | |
| 373 | + | |
| 374 | + ajaxd.sectionUpdate(params,function(resuntDate) { | |
| 375 | + | |
| 376 | + if(resuntDate.status=='SUCCESS') { | |
| 377 | + | |
| 378 | + // 弹出添加成功提示消息 | |
| 379 | + layer.msg('修改成功...'); | |
| 380 | + | |
| 381 | + | |
| 382 | + }else { | |
| 383 | + | |
| 384 | + // 弹出添加失败提示消息 | |
| 385 | + layer.msg('修改失败...'); | |
| 386 | + | |
| 387 | + } | |
| 388 | + | |
| 389 | + $('#edit_section_mobal').modal('hide'); | |
| 390 | + | |
| 391 | + closeMobleSetClean(); | |
| 392 | + | |
| 393 | + }); | |
| 394 | + | |
| 395 | + } | |
| 396 | + }); | |
| 397 | + | |
| 398 | + | |
| 399 | +}); | |
| 400 | +</script> | |
| 0 | 401 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/base/section/js/positionsection.js
0 → 100644
| 1 | +var EditSectionObj = function () { | |
| 2 | + | |
| 3 | + /** 定义修改路段对象 */ | |
| 4 | + var Section={}; | |
| 5 | + | |
| 6 | + var SectionObj = { | |
| 7 | + | |
| 8 | + /** 获取修改路段集合对象 @return:<Section:修改路段对象> */ | |
| 9 | + getEitdSection : function() { | |
| 10 | + | |
| 11 | + return Section; | |
| 12 | + }, | |
| 13 | + | |
| 14 | + /** 设置修改路段集合对象为空 */ | |
| 15 | + setEitdSection : function(sc) { | |
| 16 | + | |
| 17 | + Section = sc; | |
| 18 | + }, | |
| 19 | + | |
| 20 | + | |
| 21 | + /** 设置修改路段集合对象折线百度坐标集合属性值 @param:<bsectionVector:折线百度坐标集合) */ | |
| 22 | + setEitdBsectionVector : function(bsectionVector) { | |
| 23 | + | |
| 24 | + Section.sectionBsectionVector = bsectionVector; | |
| 25 | + } | |
| 26 | + } | |
| 27 | + | |
| 28 | + return SectionObj; | |
| 29 | + | |
| 30 | +}(); | ... | ... |
src/main/resources/static/pages/base/section/js/section-ajax-getdata.js
0 → 100644
| 1 | +/** | |
| 2 | + * GetAjaxData :ajax异步请求 | |
| 3 | + * | |
| 4 | + */ | |
| 5 | + | |
| 6 | +var GetAjaxData = function(){ | |
| 7 | + | |
| 8 | + var ajaxData = { | |
| 9 | + | |
| 10 | + getStationRouteInfo : function(sectionId,callback){ | |
| 11 | + | |
| 12 | + $get('/sectionroute/findSectionRouteInfoFormId',{id:sectionId},function(r) { | |
| 13 | + | |
| 14 | + return callback && callback(r); | |
| 15 | + | |
| 16 | + }); | |
| 17 | + | |
| 18 | + }, | |
| 19 | + | |
| 20 | + getStation : function(id_,dir_,callback) { | |
| 21 | + | |
| 22 | + var treeDateJson = []; | |
| 23 | + | |
| 24 | + $get('/stationroute/findStations',{'line.id_eq' : id_ , 'directions_eq' : dir_},function(resultdata) { | |
| 25 | + | |
| 26 | + treeDateJson = createTreeData(resultdata); | |
| 27 | + | |
| 28 | + callback && callback(treeDateJson); | |
| 29 | + | |
| 30 | + }); | |
| 31 | + | |
| 32 | + }, | |
| 33 | + | |
| 34 | + findUpStationRouteCode : function(lineId,diraction,sectionRouteCode,callback) { | |
| 35 | + | |
| 36 | + $get('/sectionroute/findUpStationRouteCode',{lineId:lineId,direction:diraction,sectionRouteCode:sectionRouteCode},function(result) { | |
| 37 | + | |
| 38 | + callback && callback(result); | |
| 39 | + | |
| 40 | + }); | |
| 41 | + | |
| 42 | + }, | |
| 43 | + | |
| 44 | + // 编辑线路走向保存 | |
| 45 | + sectionUpdate:function(section,callback) { | |
| 46 | + | |
| 47 | + $post('/section/sectionUpdate',section,function(data) { | |
| 48 | + | |
| 49 | + callback && callback(data); | |
| 50 | + | |
| 51 | + }) | |
| 52 | + | |
| 53 | + } | |
| 54 | + } | |
| 55 | + | |
| 56 | + return ajaxData; | |
| 57 | + | |
| 58 | +}(); | |
| 0 | 59 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/base/section/js/section-positions-events.js
0 → 100644
| 1 | +$(function(){ | |
| 2 | + | |
| 3 | + $('#backUp').on('click',function() { | |
| 4 | + | |
| 5 | + // 获取返回元素并修改url地址 | |
| 6 | + $('#backUp').attr('href','list.html?'); | |
| 7 | + | |
| 8 | + }); | |
| 9 | + | |
| 10 | + // 编辑线路走向 | |
| 11 | + $('.dropdown-menu #eidt').on('click', function(){ | |
| 12 | + | |
| 13 | + $('.dropdown-toggle').addClass('disabled'); | |
| 14 | + | |
| 15 | + // 弹出添加失败提示消息,2秒关闭(如果不配置,默认是3秒) | |
| 16 | + var yindex = layer.msg('编辑完线路走向后,请双击线路走向区域保存',{ offset: '126px',shift: 0,time: 10000}); | |
| 17 | + | |
| 18 | + WorldsBMap.editPolyUpline(); | |
| 19 | + | |
| 20 | + }); | |
| 21 | + | |
| 22 | +}); | |
| 0 | 23 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/base/section/js/section-positions-function.js
0 → 100644
| 1 | +/** | |
| 2 | + * 函数 | |
| 3 | + */ | |
| 4 | + | |
| 5 | +var PositionsPublicFunctions = function () { | |
| 6 | + | |
| 7 | + var PubFun = { | |
| 8 | + | |
| 9 | + initSectionInfo : function(sectionId) { | |
| 10 | + | |
| 11 | + GetAjaxData.getStationRouteInfo(sectionId,function(r) { | |
| 12 | + | |
| 13 | + var len = r.length; | |
| 14 | + | |
| 15 | + if(len>0) { | |
| 16 | + | |
| 17 | + var sectionInfo = r[0]; | |
| 18 | + | |
| 19 | + EditSectionObj.setEitdSection(sectionInfo); | |
| 20 | + | |
| 21 | + WorldsBMap.drawingUpline(r); | |
| 22 | + } | |
| 23 | + | |
| 24 | + }); | |
| 25 | + | |
| 26 | + }, | |
| 27 | + | |
| 28 | + setSectionFormValue : function(Section) { | |
| 29 | + | |
| 30 | + // 路段ID | |
| 31 | + $('#sectionIdInput').val(Section.sectionId); | |
| 32 | + | |
| 33 | + // 路段路由ID | |
| 34 | + $('#sectionRouteIdInput').val(Section.sectionRouteId); | |
| 35 | + | |
| 36 | + // 线路ID | |
| 37 | + $('#sectionRouteLineInput').val(Section.sectionRouteLine); | |
| 38 | + | |
| 39 | + // 线路编码 | |
| 40 | + $('#lineCodeInput').val(Section.sectionRouteLineCode); | |
| 41 | + | |
| 42 | + // 折线坐标集合 | |
| 43 | + $('#bsectionVectorInput').val(Section.sectionBsectionVector); | |
| 44 | + | |
| 45 | + // 路段名称 | |
| 46 | + $('#sectionNameInput').val(Section.sectionName); | |
| 47 | + | |
| 48 | + // 路段编码 | |
| 49 | + $('#sectionCodeInput').val(Section.sectionCode); | |
| 50 | + | |
| 51 | + // 路段序号 | |
| 52 | + $('#sectionrouteCodeSelect').val(Section.sectionRouteCode); | |
| 53 | + | |
| 54 | + // 路段方向 | |
| 55 | + $('#directionsSection').val(Section.sectionRouteDirections); | |
| 56 | + | |
| 57 | + // 道路编码 | |
| 58 | + $('#roadCodingCodInput').val(Section.sectionRoadCoding); | |
| 59 | + | |
| 60 | + // 道路限速 | |
| 61 | + $('#speedLimitInput').val(Section.sectionSpeedLimit); | |
| 62 | + | |
| 63 | + // 路段长度 | |
| 64 | + $('#sectionDistanceInput').val(Section.sectionDistance); | |
| 65 | + | |
| 66 | + // 时长 | |
| 67 | + $('#sectionTimeInput').val(Section.sectionTime); | |
| 68 | + | |
| 69 | + // 版本号 | |
| 70 | + $('#versionsInput').val(Section.sectionVersion); | |
| 71 | + | |
| 72 | + // 是否撤销 | |
| 73 | + $('#destroySelect').val(Section.sectionRouteDestroy); | |
| 74 | + | |
| 75 | + // 描述/说明 | |
| 76 | + $('#descriptionsTextarea').val(Section.sectionRouteDescriptions); | |
| 77 | + | |
| 78 | + } | |
| 79 | + } | |
| 80 | + | |
| 81 | + return PubFun ; | |
| 82 | + | |
| 83 | +}(); | |
| 0 | 84 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/base/section/js/section-positions-map.js
| ... | ... | @@ -5,17 +5,12 @@ |
| 5 | 5 | |
| 6 | 6 | var WorldsBMap = function () { |
| 7 | 7 | |
| 8 | + var mapValue = '',marker='', polyUpline=''; | |
| 9 | + | |
| 8 | 10 | var Bmap = { |
| 9 | 11 | |
| 10 | 12 | init : function() { |
| 11 | 13 | |
| 12 | - // 关闭左侧栏 | |
| 13 | - if (!$('body').hasClass('page-sidebar-closed')) { | |
| 14 | - | |
| 15 | - $('.menu-toggler.sidebar-toggler').click(); | |
| 16 | - | |
| 17 | - } | |
| 18 | - | |
| 19 | 14 | // 设置中心点, |
| 20 | 15 | var CENTER_POINT = {lng : 121.528733,lat : 31.237425}; |
| 21 | 16 | |
| ... | ... | @@ -23,13 +18,168 @@ var WorldsBMap = function () { |
| 23 | 18 | var bdKey = 'IGGrr4UjwIYzatoCRFKEL8sT'; |
| 24 | 19 | |
| 25 | 20 | // 初始化百度地图 |
| 26 | - var map = new BMap.Map("bmap_basic"); | |
| 21 | + mapValue = new BMap.Map('bmap_basic'); | |
| 27 | 22 | |
| 28 | 23 | //中心点和缩放级别 |
| 29 | - map.centerAndZoom(new BMap.Point(CENTER_POINT.lng,CENTER_POINT.lat), 15); | |
| 24 | + mapValue.centerAndZoom(new BMap.Point(CENTER_POINT.lng,CENTER_POINT.lat), 15); | |
| 25 | + | |
| 26 | + //启用地图拖拽事件,默认启用(可不写) | |
| 27 | + mapValue.enableDragging(); | |
| 28 | + | |
| 29 | + //启用地图滚轮放大缩小 | |
| 30 | + mapValue.enableScrollWheelZoom(); | |
| 31 | + | |
| 32 | + //禁用鼠标双击放大 | |
| 33 | + mapValue.disableDoubleClickZoom(); | |
| 34 | + | |
| 35 | + //启用键盘上下左右键移动地图 | |
| 36 | + mapValue.enableKeyboard(); | |
| 37 | + | |
| 38 | + return mapValue; | |
| 39 | + }, | |
| 40 | + | |
| 41 | + drawingUpline : function(r) { | |
| 42 | + | |
| 43 | + var sectionBsectionVectorStr = r[0].sectionBsectionVector; | |
| 44 | + | |
| 45 | + var tempStr = sectionBsectionVectorStr.substring(11,sectionBsectionVectorStr.length-1); | |
| 46 | + | |
| 47 | + var lineArray = tempStr.split(','); | |
| 48 | + | |
| 49 | + var polylineArray = []; | |
| 50 | + | |
| 51 | + var lineaLen = lineArray.length | |
| 52 | + | |
| 53 | + for(var i = 0;i<lineaLen;i++) { | |
| 54 | + | |
| 55 | + polylineArray.push(new BMap.Point(lineArray[i].split(' ')[0],lineArray[i].split(' ')[1])); | |
| 56 | + | |
| 57 | + } | |
| 58 | + | |
| 59 | + var centerI = Math.ceil(lineaLen/2); | |
| 60 | + | |
| 61 | + // 中心坐标点 | |
| 62 | + var point = new BMap.Point(lineArray[centerI].split(' ')[0],lineArray[centerI].split(' ')[1]); | |
| 63 | + | |
| 64 | + // 创建线路走向 | |
| 65 | + polyUpline = new BMap.Polyline(polylineArray, {strokeColor : "blue",strokeWeight : 6,strokeOpacity : 0.5}); | |
| 66 | + | |
| 67 | + // 把折线添加到地图上 | |
| 68 | + mapValue.addOverlay(polyUpline); | |
| 69 | + | |
| 70 | + // 信息窗口参数属性 | |
| 71 | + var opts = { | |
| 72 | + | |
| 73 | + // 信息窗口宽度 | |
| 74 | + width : 200, | |
| 75 | + | |
| 76 | + // 信息窗口高度 | |
| 77 | + height : 450, | |
| 78 | + | |
| 79 | + // 信息窗位置偏移值。 | |
| 80 | + offset: new BMap.Size(500,-80), | |
| 81 | + | |
| 82 | + //标题 | |
| 83 | + title : '<h4 style="color:#FFFFFF">'+r[0].sectionName+'站详情</h4>', | |
| 84 | + | |
| 85 | + //设置不允许信窗发送短息 | |
| 86 | + enableMessage : false, | |
| 87 | + | |
| 88 | + //是否开启点击地图关闭信息窗口 | |
| 89 | + enableCloseOnClick : false, | |
| 90 | + | |
| 91 | + // 是否开启信息窗口打开时地图自动移动(默认开启)。(自 1.1 新增) | |
| 92 | + enableAutoPan:true | |
| 93 | + }; | |
| 94 | + | |
| 95 | + var htm = '<HR style="border:1 dashed #987cb9" width="100%" color=#987cb9 SIZE=1>'+ | |
| 96 | + '<span style="color:#DDD;font-size: 15px;">路段名称:' + r[0].sectionName + '</span>' + | |
| 97 | + '<span class="help-block" style="color:#DDD;font-size: 15px;">路段编码:' + r[0].sectionCode + '</span>' + | |
| 98 | + '<span class="help-block" style="color:#DDD;font-size: 15px;">路段序号:' + r[0].sectionRouteCode + '</span>' + | |
| 99 | + '<span class="help-block" style="color:#DDD;font-size: 15px;">限 速:' + r[0].sectionSpeedLimit + '</span>' + | |
| 100 | + '<span class="help-block" style="color:#DDD;font-size: 15px;">路段长度:' + r[0].sectionDistance + '</span>' + | |
| 101 | + '<span class="help-block" style="color:#DDD;font-size: 15px;">路段时间:' + r[0].sectionTime + '</span>' + | |
| 102 | + '<span class="help-block" style="width: 100%;font-size: 15px;;color:#DDD; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; " title="'+ 'ddd' +'" >说明/描述:' + 'ddd' + '</span>' ; | |
| 103 | + | |
| 104 | + // 创建信息窗口 | |
| 105 | + var infoWindow_target = new BMap.InfoWindow(htm, opts); | |
| 106 | + | |
| 107 | + // 自定义标注物图片 | |
| 108 | + var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/cz.png',new BMap.Size(20, 20)); | |
| 109 | + | |
| 110 | + // 创建点 | |
| 111 | + marker = new BMap.Marker(point,{icon : icon_target}); | |
| 112 | + | |
| 113 | + // 把标注添物加到地图上 | |
| 114 | + mapValue.addOverlay(marker); | |
| 115 | + | |
| 116 | + //开启信息窗口 | |
| 117 | + marker.openInfoWindow(infoWindow_target,point); | |
| 118 | + /* setTimeout(function(){ | |
| 119 | + //开启信息窗口 | |
| 120 | + marker.openInfoWindow(infoWindow_target,point); | |
| 121 | + | |
| 122 | + },100);*/ | |
| 123 | + | |
| 124 | + var PanOptions_ ={noAnimation :true}; | |
| 125 | + | |
| 126 | + mapValue.reset(); | |
| 127 | + | |
| 128 | + mapValue.panTo(point,PanOptions_); | |
| 129 | + | |
| 130 | + mapValue.panBy(500,-510,PanOptions_); | |
| 131 | + | |
| 132 | + mapValue.setZoom(14); | |
| 133 | + | |
| 134 | + }, | |
| 135 | + | |
| 136 | + editPolyUpline : function() { | |
| 137 | + | |
| 138 | + // 禁止覆盖物在map.clearOverlays方法中被清除。(自 1.1 新增) | |
| 139 | + polyUpline.disableMassClear(); | |
| 140 | + | |
| 141 | + WorldsBMap.clearMarkAndOverlays(); | |
| 142 | + | |
| 143 | + // 允许覆盖物在map.clearOverlays方法中被清除。(自 1.1 新增) | |
| 144 | + polyUpline.enableMassClear(); | |
| 145 | + | |
| 146 | + // 开启线路编辑 | |
| 147 | + polyUpline.enableEditing(); | |
| 148 | + | |
| 149 | + // 添加双击折线保存事件 | |
| 150 | + polyUpline.addEventListener('dblclick',function(e) { | |
| 151 | + | |
| 152 | + // 关闭 | |
| 153 | + layer.closeAll(); | |
| 154 | + | |
| 155 | + polyUpline.disableEditing(); | |
| 156 | + | |
| 157 | + // 获取折线坐标集合 | |
| 158 | + var editPloyLineArray = polyUpline.getPath(); | |
| 159 | + | |
| 160 | + EditSectionObj.setEitdBsectionVector(JSON.stringify(editPloyLineArray)); | |
| 161 | + | |
| 162 | + polyUpline= ''; | |
| 163 | + | |
| 164 | + // 加载修改路段弹出层mobal页面 | |
| 165 | + $.get('editsection.html', function(m){ | |
| 166 | + | |
| 167 | + $(pjaxContainer).append(m); | |
| 168 | + | |
| 169 | + $('#edit_section_mobal').trigger('editSectionMobal_show', [WorldsBMap,GetAjaxData,EditSectionObj,PositionsPublicFunctions]); | |
| 170 | + | |
| 171 | + }); | |
| 172 | + }); | |
| 173 | + }, | |
| 30 | 174 | |
| 31 | - return map; | |
| 32 | - } | |
| 175 | + clearMarkAndOverlays : function() { | |
| 176 | + | |
| 177 | + // 清楚地图覆盖物 | |
| 178 | + mapValue.clearOverlays(); | |
| 179 | + | |
| 180 | + mapValue.removeOverlay(); | |
| 181 | + | |
| 182 | + } | |
| 33 | 183 | |
| 34 | 184 | } |
| 35 | 185 | ... | ... |
src/main/resources/static/pages/base/section/js/section-positions-reload.js
| ... | ... | @@ -17,135 +17,22 @@ |
| 17 | 17 | // 获取参数线路ID |
| 18 | 18 | var id = $.url().param('no'); |
| 19 | 19 | |
| 20 | - // 等候500毫秒执行 | |
| 21 | - setTimeout(function(){ | |
| 22 | - | |
| 23 | - // 地图初始化 | |
| 24 | - var mapB = WorldsBMap.init(); | |
| 25 | - | |
| 26 | - getStationRouteInfo(function(r) { | |
| 27 | - | |
| 28 | - console.log(r); | |
| 29 | - | |
| 30 | - var len = r.length; | |
| 31 | - | |
| 32 | - if(len>0) { | |
| 33 | - | |
| 34 | - var sectionBsectionVectorStr = r[0].sectionBsectionVector; | |
| 35 | - | |
| 36 | - var tempStr = sectionBsectionVectorStr.substring(11,sectionBsectionVectorStr.length-1); | |
| 37 | - | |
| 38 | - var lineArray = tempStr.split(','); | |
| 39 | - | |
| 40 | - var polylineArray = []; | |
| 41 | - | |
| 42 | - var lineaLen = lineArray.length | |
| 43 | - | |
| 44 | - for(var i = 0;i<lineaLen;i++) { | |
| 45 | - | |
| 46 | - polylineArray.push(new BMap.Point(lineArray[i].split(' ')[0],lineArray[i].split(' ')[1])); | |
| 47 | - | |
| 48 | - } | |
| 49 | - | |
| 50 | - var centerI = Math.ceil(lineaLen/2); | |
| 51 | - | |
| 52 | - // 中心坐标点 | |
| 53 | - var point = new BMap.Point(lineArray[centerI].split(' ')[0],lineArray[centerI].split(' ')[1]); | |
| 54 | - | |
| 55 | - var htm = '<HR style="border:1 dashed #987cb9" width="100%" color=#987cb9 SIZE=1>'+ | |
| 56 | - '<span style="color:#DDD;font-size: 15px;">路段名称:' + r[0].sectionName + '</span>' + | |
| 57 | - '<span class="help-block" style="color:#DDD;font-size: 15px;">路段编码:' + r[0].sectionCode + '</span>' + | |
| 58 | - '<span class="help-block" style="color:#DDD;font-size: 15px;">路段序号:' + r[0].sectionRouteCode + '</span>' + | |
| 59 | - '<span class="help-block" style="color:#DDD;font-size: 15px;">限 速:' + r[0].sectionSpeedLimit + '</span>' + | |
| 60 | - '<span class="help-block" style="color:#DDD;font-size: 15px;">路段长度:' + r[0].sectionDistance + '</span>' + | |
| 61 | - '<span class="help-block" style="color:#DDD;font-size: 15px;">路段时间:' + r[0].sectionTime + '</span>' + | |
| 62 | - '<span class="help-block" style="width: 100%;font-size: 15px;;color:#DDD; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; " title="'+ 'ddd' +'" >说明/描述:' + 'ddd' + '</span>' ; | |
| 63 | - | |
| 64 | - // 信息窗口参数属性 | |
| 65 | - var opts = { | |
| 66 | - | |
| 67 | - // 信息窗口宽度 | |
| 68 | - width : 200, | |
| 69 | - | |
| 70 | - // 信息窗口高度 | |
| 71 | - height : 450, | |
| 72 | - | |
| 73 | - // 信息窗位置偏移值。 | |
| 74 | - offset: new BMap.Size(500,-80), | |
| 75 | - | |
| 76 | - //标题 | |
| 77 | - title : '<h4 style="color:#FFFFFF">'+r[0].sectionName+'站详情</h4>', | |
| 78 | - | |
| 79 | - //设置不允许信窗发送短息 | |
| 80 | - enableMessage : false, | |
| 81 | - | |
| 82 | - //是否开启点击地图关闭信息窗口 | |
| 83 | - enableCloseOnClick : false, | |
| 84 | - | |
| 85 | - // 是否开启信息窗口打开时地图自动移动(默认开启)。(自 1.1 新增) | |
| 86 | - enableAutoPan:true | |
| 87 | - }; | |
| 88 | - | |
| 89 | - drawingUpline(point,polylineArray,htm,opts,mapB); | |
| 90 | - } | |
| 91 | - | |
| 92 | - }); | |
| 93 | - | |
| 94 | - },200); | |
| 95 | - | |
| 96 | - function getStationRouteInfo (callback){ | |
| 20 | + // 关闭左侧栏 | |
| 21 | + if (!$('body').hasClass('page-sidebar-closed')) { | |
| 97 | 22 | |
| 98 | - $get('/sectionroute/findSectionRouteInfoFormId',{id:id},function(r) { | |
| 99 | - | |
| 100 | - return callback && callback(r); | |
| 101 | - | |
| 102 | - }); | |
| 23 | + $('.menu-toggler.sidebar-toggler').click(); | |
| 103 | 24 | |
| 104 | 25 | } |
| 105 | 26 | |
| 106 | - $('#backUp').on('click',function() { | |
| 107 | - | |
| 108 | - // 获取返回元素并修改url地址 | |
| 109 | - $('#backUp').attr('href','list.html?'); | |
| 27 | + // 等候500毫秒执行 | |
| 28 | + setTimeout(function(){ | |
| 110 | 29 | |
| 111 | - }); | |
| 112 | - | |
| 113 | - function drawingUpline(point,polylineArray,htm,opts,mapB) { | |
| 30 | + /** 初始化地图 @return <mapB:地图对象> */ | |
| 31 | + var mapB = WorldsBMap.init(); | |
| 114 | 32 | |
| 115 | - // 创建线路走向 | |
| 116 | - var polyUpline = new BMap.Polyline(polylineArray, {strokeColor : "blue",strokeWeight : 6,strokeOpacity : 0.5}); | |
| 117 | - | |
| 118 | - // 把折线添加到地图上 | |
| 119 | - mapB.addOverlay(polyUpline); | |
| 120 | - | |
| 121 | - // 创建信息窗口 | |
| 122 | - var infoWindow_target = new BMap.InfoWindow(htm, opts); | |
| 123 | - | |
| 124 | - // 自定义标注物图片 | |
| 125 | - var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/cz.png',new BMap.Size(20, 20)); | |
| 126 | - | |
| 127 | - // 创建点 | |
| 128 | - var marker = new BMap.Marker(point,{icon : icon_target}); | |
| 129 | - | |
| 130 | - // 把标注添物加到地图上 | |
| 131 | - mapB.addOverlay(marker); | |
| 132 | - | |
| 133 | - setTimeout(function(){ | |
| 134 | - //开启信息窗口 | |
| 135 | - marker.openInfoWindow(infoWindow_target,point); | |
| 136 | - | |
| 137 | - },100); | |
| 138 | - | |
| 139 | - var PanOptions_ ={noAnimation :true}; | |
| 140 | - | |
| 141 | - mapB.reset(); | |
| 142 | - | |
| 143 | - mapB.panTo(point,PanOptions_); | |
| 144 | - | |
| 145 | - mapB.panBy(500,-510,PanOptions_); | |
| 146 | - | |
| 147 | - mapB.setZoom(14); | |
| 33 | + /** 初始化路段信息 @return <id:路段路由ID> */ | |
| 34 | + PositionsPublicFunctions.initSectionInfo(id); | |
| 148 | 35 | |
| 149 | - } | |
| 36 | + },200); | |
| 150 | 37 | |
| 151 | 38 | })(); |
| 152 | 39 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/base/section/positions.html
| ... | ... | @@ -9,7 +9,7 @@ |
| 9 | 9 | </a> |
| 10 | 10 | <ul class="dropdown-menu pull-right" style="min-width:100px"> |
| 11 | 11 | <li> |
| 12 | - <a href="javascript:;"><i class="fa fa-pencil"></i> 修改 </a> | |
| 12 | + <a href="javascript:;" id = "eidt"><i class="fa fa-pencil"></i> 修改 </a> | |
| 13 | 13 | </li> |
| 14 | 14 | <li> |
| 15 | 15 | <a href="javascript:;" id = "backUp"> <i class="fa fa-reply"></i> 返回 </a> |
| ... | ... | @@ -18,5 +18,20 @@ |
| 18 | 18 | </ul> |
| 19 | 19 | </div> |
| 20 | 20 | </div> |
| 21 | +<!-- 编辑路段对象类 --> | |
| 22 | +<script src="/pages/base/section/js/positionsection.js"></script> | |
| 23 | + | |
| 24 | +<!-- ajax异步请求类 --> | |
| 25 | +<script src="/pages/base/section/js/section-ajax-getdata.js"></script> | |
| 26 | + | |
| 27 | +<!-- 函数方法类 --> | |
| 28 | +<script src="/pages/base/section/js/section-positions-function.js"></script> | |
| 29 | + | |
| 30 | +<!-- 地图类 --> | |
| 21 | 31 | <script src="/pages/base/section/js/section-positions-map.js"></script> |
| 32 | + | |
| 33 | +<!-- 事件类 --> | |
| 34 | +<script src="/pages/base/section/js/section-positions-events.js"></script> | |
| 35 | + | |
| 36 | +<!-- reload类 --> | |
| 22 | 37 | <script src="/pages/base/section/js/section-positions-reload.js"></script> |
| 23 | 38 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/base/station/edit.html
| 1 | 1 | <!-- 编辑站点弹出层mobal --> |
| 2 | -<div class="modal fade" id="edit_station_mobal" tabindex="-1" role="basic" aria-hidden="true"> | |
| 2 | +<div class="modal fade" id="editPoitsions_station_mobal" tabindex="-1" role="basic" aria-hidden="true"> | |
| 3 | 3 | |
| 4 | 4 | <div class="modal-dialog"> |
| 5 | 5 | <div class="modal-content"> |
| ... | ... | @@ -36,6 +36,9 @@ |
| 36 | 36 | <!-- 图形坐标点集合(百度坐标) --> |
| 37 | 37 | <input type="hidden" name="bPolygonGrid" id="bPolygonGridInput" /> |
| 38 | 38 | |
| 39 | + | |
| 40 | + <input type="hidden" name="gJwpoints" id="gJwpointsInput"> | |
| 41 | + | |
| 39 | 42 | <!-- 图形坐标点集合(WGS坐标) --> |
| 40 | 43 | <input type="hidden" name="gPolygonGrid" id="gPolygonGridInput" /> |
| 41 | 44 | |
| ... | ... | @@ -139,14 +142,14 @@ |
| 139 | 142 | </div> |
| 140 | 143 | |
| 141 | 144 | <!-- 站点WGS经纬度 --> |
| 142 | - <div class="form-body"> | |
| 145 | + <!-- <div class="form-body"> | |
| 143 | 146 | <div class="form-group"> |
| 144 | 147 | <label class="col-md-3 control-label">站点WGS经纬度:</label> |
| 145 | 148 | <div class="col-md-6"> |
| 146 | 149 | <input type="text" class="form-control" name="gJwpoints" id="gJwpointsInput" placeholder="站点WGS经纬度"> |
| 147 | 150 | </div> |
| 148 | 151 | </div> |
| 149 | - </div> | |
| 152 | + </div> --> | |
| 150 | 153 | |
| 151 | 154 | <!-- 范围图形类型 --> |
| 152 | 155 | <div class="form-body"> |
| ... | ... | @@ -240,29 +243,30 @@ |
| 240 | 243 | </div> |
| 241 | 244 | </div> |
| 242 | 245 | </div> |
| 243 | -<script type="text/javascript"> | |
| 244 | -$(function(){ | |
| 245 | - | |
| 246 | - // 初始化表单值 | |
| 247 | - PublicFunctions.setFormValue(); | |
| 246 | +<script type="text/javascript"> | |
| 247 | + | |
| 248 | +$('#editPoitsions_station_mobal').on('editStationMobal_show', function(e, map,fun,stat){ | |
| 248 | 249 | |
| 249 | 250 | // 获取站点对象信息 |
| 250 | - var stationObjEidtArray = PublicFunctions.getstationObjData(); | |
| 251 | + var editStation = stat.getAddStation(); | |
| 252 | + | |
| 253 | + // 初始化表单值 | |
| 254 | + fun.setFormValue(editStation); | |
| 251 | 255 | |
| 252 | 256 | // 方向 |
| 253 | - var edit_direction_v = stationObjEidtArray[0].stationRoutedirections; | |
| 257 | + var edit_direction_v = editStation.stationRoutedirections; | |
| 254 | 258 | |
| 255 | 259 | // 线路ID |
| 256 | - var lineId = stationObjEidtArray[0].stationRouteLine; | |
| 260 | + var lineId = editStation.stationRouteLine; | |
| 257 | 261 | |
| 258 | 262 | // 获取站点序号元素,并添加下拉属性值 |
| 259 | - PublicFunctions.getStation(lineId,edit_direction_v,function(treeData) { | |
| 263 | + fun.getStation(lineId,edit_direction_v,function(treeData) { | |
| 260 | 264 | |
| 261 | 265 | var options = '<option value="">请选择...</option>'; |
| 262 | 266 | |
| 263 | 267 | var dArray = treeData[0].children[0].children; |
| 264 | 268 | |
| 265 | - var eq_stationRouteCode = stationObjEidtArray[0].stationRouteCode + '_' + stationObjEidtArray[0].stationRouteStationMark; | |
| 269 | + var eq_stationRouteCode = editStation.stationRouteCode + '_' + editStation.stationRouteStationMark; | |
| 266 | 270 | |
| 267 | 271 | for(var i = 0 ; i<dArray.length; i++){ |
| 268 | 272 | |
| ... | ... | @@ -281,7 +285,7 @@ $(function(){ |
| 281 | 285 | |
| 282 | 286 | $('#stationrouteSelect').html(options); |
| 283 | 287 | |
| 284 | - PublicFunctions.findUpStationRouteCode(lineId,edit_direction_v,stationObjEidtArray[0].stationRouteCode,function(str) { | |
| 288 | + fun.findUpStationRouteCode(lineId,edit_direction_v,editStation.stationRouteCode,function(str) { | |
| 285 | 289 | |
| 286 | 290 | if(str.length>0){ |
| 287 | 291 | |
| ... | ... | @@ -296,15 +300,31 @@ $(function(){ |
| 296 | 300 | }); |
| 297 | 301 | |
| 298 | 302 | // 显示mobal |
| 299 | - $('#edit_station_mobal').modal({show : true,backdrop: 'static',keyboard: false}); | |
| 303 | + $('#editPoitsions_station_mobal').modal({show : true,backdrop: 'static',keyboard: false}); | |
| 300 | 304 | |
| 301 | 305 | // 当调用 hide 实例方法时触发 |
| 302 | - $('#edit_station_mobal').on('hide.bs.modal', function () { | |
| 306 | + $('#editPoitsions_station_mobal').on('hide.bs.modal', function () { | |
| 303 | 307 | |
| 304 | - PublicFunctions.clearRefresh(); | |
| 308 | + closeMobleSetClean(); | |
| 305 | 309 | |
| 306 | 310 | }); |
| 307 | 311 | |
| 312 | + function closeMobleSetClean() { | |
| 313 | + | |
| 314 | + $('#eidt').attr("disabled",false); | |
| 315 | + | |
| 316 | + $('#eidt').removeClass('btn disabled'); | |
| 317 | + | |
| 318 | + $('#eidt').addClass('btn'); | |
| 319 | + | |
| 320 | + // 清除地图覆盖物 | |
| 321 | + map.clearMarkAndOverlays(); | |
| 322 | + | |
| 323 | + var stationId = editStation.stationRouteId; | |
| 324 | + | |
| 325 | + fun.initStationInfo(stationId); | |
| 326 | + | |
| 327 | + } | |
| 308 | 328 | |
| 309 | 329 | // 编辑表单元素 |
| 310 | 330 | var form = $('#edit_station_form'); |
| ... | ... | @@ -434,7 +454,7 @@ $(function(){ |
| 434 | 454 | error.hide(); |
| 435 | 455 | console.log(params); |
| 436 | 456 | return ; |
| 437 | - PublicFunctions.stationUpdate(params,function(resuntDate) { | |
| 457 | + fun.stationUpdate(params,function(resuntDate) { | |
| 438 | 458 | |
| 439 | 459 | if(resuntDate.status=='SUCCESS') { |
| 440 | 460 | |
| ... | ... | @@ -449,10 +469,12 @@ $(function(){ |
| 449 | 469 | } |
| 450 | 470 | |
| 451 | 471 | // 隐藏弹出层mobal |
| 452 | - $('#edit_station_mobal').modal('hide'); | |
| 472 | + $('#editPoitsions_station_mobal').modal('hide'); | |
| 473 | + | |
| 474 | + closeMobleSetClean(); | |
| 453 | 475 | |
| 454 | 476 | // 刷新站点数据 |
| 455 | - PublicFunctions.clearRefresh(); | |
| 477 | + /* PublicFunctions.clearRefresh(); */ | |
| 456 | 478 | }); |
| 457 | 479 | } |
| 458 | 480 | }); |
| ... | ... | @@ -466,8 +488,6 @@ $(function(){ |
| 466 | 488 | |
| 467 | 489 | var tempStr = stationRValue.split('_'); |
| 468 | 490 | |
| 469 | - console.log(tempStr); | |
| 470 | - | |
| 471 | 491 | if(tempStr[1] == 'E') { |
| 472 | 492 | |
| 473 | 493 | $('#stationMarkSelect').val('E'); |
| ... | ... | @@ -521,7 +541,7 @@ $(function(){ |
| 521 | 541 | |
| 522 | 542 | var stationMarkV = $('#stationdirSelect').val(); |
| 523 | 543 | |
| 524 | - if(stationMarkV!=stationObjEidtArray[0].stationRoutedirections){ | |
| 544 | + if(stationMarkV!=editStation.stationRoutedirections){ | |
| 525 | 545 | |
| 526 | 546 | tel = false; |
| 527 | 547 | |
| ... | ... | @@ -530,5 +550,5 @@ $(function(){ |
| 530 | 550 | return tel; |
| 531 | 551 | }, '方向必须一致!'); |
| 532 | 552 | |
| 533 | -}); | |
| 553 | +}); | |
| 534 | 554 | </script> |
| 535 | 555 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/base/station/edit_select.html
| 1 | 1 | <!-- 选择编辑站点方式弹出层mobal --> |
| 2 | -<div class="modal fade" id="edit_select_mobal" tabindex="-1" role="basic" aria-hidden="true"> | |
| 2 | +<div class="modal fade" id="editPositions_select_mobal" tabindex="-1" role="basic" aria-hidden="true"> | |
| 3 | 3 | |
| 4 | 4 | <div class="modal-dialog"> |
| 5 | 5 | |
| ... | ... | @@ -75,22 +75,18 @@ |
| 75 | 75 | </div> |
| 76 | 76 | <script type="text/javascript"> |
| 77 | 77 | |
| 78 | -$(function(){ | |
| 78 | +$('#editPositions_select_mobal').on('editSelectMobal_show', function(e, map,drm,fun,statn){ | |
| 79 | 79 | |
| 80 | - var stationObjEditSelect = PublicFunctions.getstationObjData(); | |
| 81 | - | |
| 82 | - var editSelectMapB = WorldsBMap.getMapBValue(); | |
| 83 | - | |
| 84 | - var editSelectDrawingManager = WorldsBMap.getDrawingManagerValue(); | |
| 80 | + var EditStation = statn.getAddStation(); | |
| 85 | 81 | |
| 86 | 82 | // 显示选择修改方式弹出层 |
| 87 | - $('#edit_select_mobal').modal({show : true,backdrop: 'static',keyboard: false}); | |
| 83 | + $('#editPositions_select_mobal').modal({show : true,backdrop: 'static',keyboard: false}); | |
| 88 | 84 | |
| 89 | 85 | // 获取站点名称元素并赋值 |
| 90 | - $('#stationNamebootboxInput').val(stationObjEditSelect[0].stationName); | |
| 86 | + $('#stationNamebootboxInput').val(EditStation.stationName); | |
| 91 | 87 | |
| 92 | 88 | // 定义站点图形类型 |
| 93 | - var stationShapesTypeV = stationObjEditSelect[0].stationShapesType; | |
| 89 | + var stationShapesTypeV = EditStation.stationShapesType; | |
| 94 | 90 | |
| 95 | 91 | // 获取表单元素 |
| 96 | 92 | var form = $('#edit_select'); |
| ... | ... | @@ -158,7 +154,7 @@ $(function(){ |
| 158 | 154 | submitHandler : function(f) { |
| 159 | 155 | |
| 160 | 156 | // 隐藏弹出层 |
| 161 | - $('#edit_select_mobal').modal('hide'); | |
| 157 | + $('#editPositions_select_mobal').modal('hide'); | |
| 162 | 158 | |
| 163 | 159 | $('#eidt').attr("disabled",true); |
| 164 | 160 | |
| ... | ... | @@ -170,47 +166,21 @@ $(function(){ |
| 170 | 166 | // 站点名称 |
| 171 | 167 | var editStationName = params.stationNamebootbox; |
| 172 | 168 | |
| 173 | - WorldsBMap.localSearchFromAdreesToPoint(editStationName,editSelectMapB,function(Points) { | |
| 174 | - | |
| 175 | - if(Points) { | |
| 176 | - | |
| 177 | - var BJwpointsArray = Points.split(' '); | |
| 178 | - | |
| 179 | - var stationNameChangePoint = new BMap.Point(BJwpointsArray[0], BJwpointsArray[1]); | |
| 180 | - | |
| 181 | - var marker_stargt2 = new BMap.Marker(stationNameChangePoint); | |
| 182 | - | |
| 183 | - var PanOptions ={noAnimation :true}; | |
| 184 | - | |
| 185 | - editSelectMapB.panTo(stationNameChangePoint,PanOptions); | |
| 186 | - | |
| 187 | - editSelectMapB.panBy(0,-200); | |
| 188 | - | |
| 189 | - // 将标注添加到地图中 | |
| 190 | - editSelectMapB.addOverlay(marker_stargt2); | |
| 191 | - | |
| 192 | - //跳动的动画 | |
| 193 | - marker_stargt2.setAnimation(BMAP_ANIMATION_BOUNCE); | |
| 194 | - | |
| 195 | - } | |
| 196 | - | |
| 197 | - }); | |
| 198 | - | |
| 199 | 169 | // 设置站点名称 |
| 200 | - PublicFunctions.setStationNameValue(editStationName); | |
| 170 | + statn.setEitdStationName(editStationName); | |
| 201 | 171 | |
| 202 | 172 | var eidtselect_ = params.editselect; |
| 203 | 173 | |
| 204 | 174 | if(eidtselect_==0){ |
| 205 | 175 | |
| 206 | - // 清楚地图覆盖物 | |
| 207 | - editSelectMapB.clearOverlays(); | |
| 176 | + // 清除地图覆盖物 | |
| 177 | + StationPositionsWorldsBMap.clearMarkAndOverlays(); | |
| 208 | 178 | |
| 209 | - // 打开鼠标绘画工具 | |
| 210 | - editSelectDrawingManager.open(); | |
| 179 | + // 打开绘制工具 | |
| 180 | + PositionsDrawingManagerObj.openDrawingManager(); | |
| 211 | 181 | |
| 212 | - // 设置属性 | |
| 213 | - editSelectDrawingManager.setDrawingMode(BMAP_DRAWING_POLYGON); | |
| 182 | + // 根据站点位置在地图定位 | |
| 183 | + StationPositionsWorldsBMap.localtionPoint(editStationName); | |
| 214 | 184 | |
| 215 | 185 | |
| 216 | 186 | }else if(eidtselect_==1){ |
| ... | ... | @@ -219,21 +189,13 @@ $(function(){ |
| 219 | 189 | var mindex = layer.msg('编辑完图形后,请双击图形区域保存',{ offset: '126px', |
| 220 | 190 | shift: 0,time: 10000}); |
| 221 | 191 | |
| 222 | - var markerEidtSelect = PublicFunctions.getMarkerObj(); | |
| 223 | - | |
| 224 | - // 关闭信息窗口 | |
| 225 | - markerEidtSelect.closeInfoWindow(); | |
| 226 | - | |
| 227 | - // 清除marker | |
| 228 | - editSelectMapB.removeOverlay(markerEidtSelect); | |
| 229 | - | |
| 230 | 192 | // 编辑图形 |
| 231 | - WorldsBMap.editShapes(stationShapesTypeV,mindex); | |
| 193 | + StationPositionsWorldsBMap.editShapes(stationShapesTypeV,mindex); | |
| 232 | 194 | |
| 233 | 195 | }else if(eidtselect_==2){ |
| 234 | 196 | |
| 235 | 197 | // 系统引用 |
| 236 | - $('#edit_select_mobal').modal('hide'); | |
| 198 | + $('#editPositions_select_mobal').modal('hide'); | |
| 237 | 199 | |
| 238 | 200 | $.get('station_tabledate.html', function(m){$(pjaxContainer).append(m);}); |
| 239 | 201 | ... | ... |
src/main/resources/static/pages/base/station/js/add-vmap-world.js
src/main/resources/static/pages/base/station/js/positionsdrwmager.js
0 → 100644
| 1 | +var PositionsDrawingManagerObj = function () { | |
| 2 | + | |
| 3 | + // 创建鼠标绘制管理类 | |
| 4 | + var drawingManager = ''; | |
| 5 | + | |
| 6 | + var draMangerObj = { | |
| 7 | + | |
| 8 | + /** 初始化绘制工具类 */ | |
| 9 | + init : function(map,styleOptions) { | |
| 10 | + | |
| 11 | + drawingManager = new BMapLib.DrawingManager(map, { | |
| 12 | + | |
| 13 | + //是否开启绘制模式 | |
| 14 | + isOpen : false, | |
| 15 | + | |
| 16 | + //是否显示工具栏 | |
| 17 | + enableDrawingTool : false, | |
| 18 | + | |
| 19 | + drawingToolOptions : { | |
| 20 | + | |
| 21 | + //位置 | |
| 22 | + anchor : BMAP_ANCHOR_TOP_RIGHT, | |
| 23 | + | |
| 24 | + //偏离值 | |
| 25 | + offset : new BMap.Size(5, 5), | |
| 26 | + | |
| 27 | + //工具栏缩放比例 | |
| 28 | + scale : 0.8 | |
| 29 | + | |
| 30 | + }, | |
| 31 | + | |
| 32 | + //线的样式 | |
| 33 | + polygonOptions : styleOptions | |
| 34 | + | |
| 35 | + }); | |
| 36 | + | |
| 37 | + // 添加绘画完成事件 | |
| 38 | + drawingManager.addEventListener('polygoncomplete', function(e) { | |
| 39 | + | |
| 40 | + drawingManager.close; | |
| 41 | + | |
| 42 | + if (e.getPath().length <= 2) { | |
| 43 | + | |
| 44 | + // 弹出提示消息 | |
| 45 | + layer.msg('坐标点不能小于等于两个...'); | |
| 46 | + | |
| 47 | + // 清除地图覆盖物 | |
| 48 | + StationPositionsWorldsBMap.clearMarkAndOverlays(); | |
| 49 | + | |
| 50 | + var addStation = PositionsStationObj.getAddStation(); | |
| 51 | + | |
| 52 | + var stationId = addStation.stationId; | |
| 53 | + | |
| 54 | + PositionsPublicFunctions.initStationInfo(stationId); | |
| 55 | + | |
| 56 | + PositionsStationObj.setAddStation({}); | |
| 57 | + | |
| 58 | + return false; | |
| 59 | + | |
| 60 | + }else { | |
| 61 | + | |
| 62 | + var pointE = e; | |
| 63 | + | |
| 64 | + // 多变行质心点 | |
| 65 | + var addSttationPoints_ = pointE.getBounds().getCenter().lng+ ' ' + pointE.getBounds().getCenter().lat; | |
| 66 | + | |
| 67 | + var addPolyGonLen_ = pointE.getPath().length; | |
| 68 | + | |
| 69 | + for(var k =0;k<addPolyGonLen_;k++) { | |
| 70 | + | |
| 71 | + if(k==0) { | |
| 72 | + | |
| 73 | + bPloygonGrid = pointE.getPath()[k].lng + ' ' + pointE.getPath()[k].lat; | |
| 74 | + | |
| 75 | + }else { | |
| 76 | + | |
| 77 | + bPloygonGrid = bPloygonGrid + ',' + pointE.getPath()[k].lng + ' ' + pointE.getPath()[k].lat; | |
| 78 | + | |
| 79 | + } | |
| 80 | + | |
| 81 | + } | |
| 82 | + | |
| 83 | + bPloygonGrid = bPloygonGrid + ',' + pointE.getPath()[0].lng + ' ' + pointE.getPath()[0].lat; | |
| 84 | + | |
| 85 | + /** 设置修改站点集合对象站点中心点百度坐标属性值 @param:<bJwpoints:中心点百度坐标) */ | |
| 86 | + PositionsStationObj.setEitdStationBJwpoints(addSttationPoints_); | |
| 87 | + | |
| 88 | + /** 设置修改站点集合对象范围图形类型属性值 @param:<shapesType:范围图形类型) */ | |
| 89 | + PositionsStationObj.setEitdStationShapesType('d'); | |
| 90 | + | |
| 91 | + /** 设置修改站点集合对象圆形半径属性值 @param:<radius:圆形半径) */ | |
| 92 | + PositionsStationObj.setEitdStationRadius(''); | |
| 93 | + | |
| 94 | + /** 设置修改站点集合对象图形百度坐标集合属性值 @param:<bPolygonGrid:图形百度坐标集合) */ | |
| 95 | + PositionsStationObj.setEitdBPolygonGrid(bPloygonGrid); | |
| 96 | + | |
| 97 | + $.get('edit.html', function(m){ | |
| 98 | + | |
| 99 | + $(pjaxContainer).append(m); | |
| 100 | + | |
| 101 | + $('#editPoitsions_station_mobal').trigger('editStationMobal_show', [StationPositionsWorldsBMap,PositionsPublicFunctions,PositionsStationObj]); | |
| 102 | + | |
| 103 | + }); | |
| 104 | + } | |
| 105 | + | |
| 106 | + }); | |
| 107 | + | |
| 108 | + return drawingManager; | |
| 109 | + | |
| 110 | + }, | |
| 111 | + | |
| 112 | + openDrawingManager : function() { | |
| 113 | + | |
| 114 | + // 打开鼠标绘画工具 | |
| 115 | + drawingManager.open(); | |
| 116 | + | |
| 117 | + // 设置属性 | |
| 118 | + drawingManager.setDrawingMode(BMAP_DRAWING_POLYGON); | |
| 119 | + | |
| 120 | + } | |
| 121 | + } | |
| 122 | + | |
| 123 | + return draMangerObj; | |
| 124 | + | |
| 125 | +}(); | |
| 0 | 126 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/base/station/js/positionstation.js
0 → 100644
| 1 | +var PositionsStationObj = function () { | |
| 2 | + | |
| 3 | + /** 定义新增站点对象 */ | |
| 4 | + var station={}; | |
| 5 | + | |
| 6 | + var stationObj = { | |
| 7 | + | |
| 8 | + /** 获取新增站点集合对象 @return:<station:新增站点对象> */ | |
| 9 | + getAddStation : function() { | |
| 10 | + | |
| 11 | + return station; | |
| 12 | + }, | |
| 13 | + | |
| 14 | + /** 设置新增站点集合对象为空 */ | |
| 15 | + setAddStation : function(r) { | |
| 16 | + | |
| 17 | + station = r; | |
| 18 | + | |
| 19 | + }, | |
| 20 | + | |
| 21 | + /** 设置新增站点集合对象方向属性值 @param:<dir:方向(0:上行;1:下行)> */ | |
| 22 | + setAddStationDiraction : function(dir) { | |
| 23 | + | |
| 24 | + station.dir = dir; | |
| 25 | + }, | |
| 26 | + | |
| 27 | + /** 设置新增站点集合对象站点名称属性值 @param:<name:站点名称) */ | |
| 28 | + setEitdStationName : function(name) { | |
| 29 | + | |
| 30 | + station.stationName = name; | |
| 31 | + | |
| 32 | + }, | |
| 33 | + | |
| 34 | + /** 设置新增站点集合对象站点中心点百度坐标属性值 @param:<bJwpoints:中心点百度坐标) */ | |
| 35 | + setEitdStationBJwpoints : function(bJwpoints) { | |
| 36 | + | |
| 37 | + station.stationJwpoints = bJwpoints; | |
| 38 | + }, | |
| 39 | + | |
| 40 | + /** 设置新增站点集合对象范围图形类型属性值 @param:<shapesType:范围图形类型) */ | |
| 41 | + setEitdStationShapesType : function(shapesType) { | |
| 42 | + | |
| 43 | + station.stationShapesType = shapesType; | |
| 44 | + }, | |
| 45 | + | |
| 46 | + /** 设置新增站点集合对象圆形半径属性值 @param:<radius:圆形半径) */ | |
| 47 | + setEitdStationRadius : function(radius) { | |
| 48 | + | |
| 49 | + station.stationRadius = radius; | |
| 50 | + }, | |
| 51 | + | |
| 52 | + /** 设置新增站点集合对象图形百度坐标集合属性值 @param:<bPolygonGrid:图形百度坐标集合) */ | |
| 53 | + setEitdBPolygonGrid : function(bPolygonGrid) { | |
| 54 | + | |
| 55 | + station.stationBPolyonGrid = bPolygonGrid; | |
| 56 | + } | |
| 57 | + } | |
| 58 | + | |
| 59 | + return stationObj; | |
| 60 | + | |
| 61 | +}(); | |
| 0 | 62 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/base/station/js/station-positions-events.js
| ... | ... | @@ -11,7 +11,13 @@ $(function(){ |
| 11 | 11 | // 修改上行站点mobal页面 |
| 12 | 12 | $('.dropdown-menu #eidt').on('click', function(){ |
| 13 | 13 | |
| 14 | - $.get('edit_select.html', function(m){$(pjaxContainer).append(m);}); | |
| 14 | + $.get('edit_select.html', function(m){ | |
| 15 | + | |
| 16 | + $(pjaxContainer).append(m); | |
| 17 | + | |
| 18 | + $('#editPositions_select_mobal').trigger('editSelectMobal_show', [StationPositionsWorldsBMap,PositionsDrawingManagerObj,PositionsPublicFunctions,PositionsStationObj]); | |
| 19 | + | |
| 20 | + }); | |
| 15 | 21 | |
| 16 | 22 | }); |
| 17 | 23 | ... | ... |
src/main/resources/static/pages/base/station/js/station-positions-function.js
| ... | ... | @@ -2,31 +2,17 @@ |
| 2 | 2 | * 函数 |
| 3 | 3 | */ |
| 4 | 4 | |
| 5 | -var PublicFunctions = function () { | |
| 6 | - | |
| 7 | - var stationObj = ''; | |
| 8 | - | |
| 9 | - var stationId = ''; | |
| 10 | - | |
| 11 | - var mapB = ''; | |
| 12 | - | |
| 13 | - var circle = ''; | |
| 14 | - | |
| 15 | - var polygon = ''; | |
| 16 | - | |
| 17 | - var marker =''; | |
| 18 | - | |
| 5 | +var PositionsPublicFunctions = function () { | |
| 6 | + | |
| 19 | 7 | var PubFun = { |
| 20 | 8 | |
| 21 | - initStationInfo : function(id,map_) { | |
| 22 | - | |
| 23 | - stationId = id; | |
| 9 | + initStationInfo : function(id) { | |
| 24 | 10 | |
| 25 | - mapB = map_; | |
| 26 | - | |
| 27 | - PublicFunctions.getStationRouteInfo(stationId,function(r) { | |
| 11 | + PositionsPublicFunctions.getStationRouteInfo(id,function(r) { | |
| 12 | + | |
| 13 | + var Station = r[0]; | |
| 28 | 14 | |
| 29 | - stationObj = r; | |
| 15 | + PositionsStationObj.setAddStation(Station); | |
| 30 | 16 | |
| 31 | 17 | var len = r.length; |
| 32 | 18 | |
| ... | ... | @@ -41,13 +27,13 @@ var PublicFunctions = function () { |
| 41 | 27 | var point = new BMap.Point(BJwpoints[0], BJwpoints[1]); |
| 42 | 28 | |
| 43 | 29 | var htm = '<HR style="border:1 dashed #987cb9" width="100%" color=#987cb9 SIZE=1>'+ |
| 44 | - '<span style="color:#DDD;font-size: 15px;">站点名称:' + r[0].stationName + '</span>' + | |
| 45 | - '<span class="help-block" style="color:#DDD;font-size: 15px;">站点编码:' + r[0].stationCode + '</span>' + | |
| 46 | - '<span class="help-block" style="color:#DDD;font-size: 15px;">站点序号:' + r[0].stationRouteCode + '</span>' + | |
| 47 | - '<span class="help-block" style="color:#DDD;font-size: 15px;">纬度坐标:' + r[0].stationJwpoints + '</span>' + | |
| 48 | - '<span class="help-block" style="color:#DDD;font-size: 15px;">范围半径:' + r[0].stationRadius + '</span>' + | |
| 49 | - '<span class="help-block" style="color:#DDD;font-size: 15px;">版本 号:' + r[0].stationRouteVersions + '</span>' + | |
| 50 | - '<span class="help-block" style="width: 100%;font-size: 15px;;color:#DDD; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; " title="'+ 'ddd' +'" >说明/描述:' + 'ddd' + '</span>' ; | |
| 30 | + '<span style="color:#DDD;font-size: 15px;">站点名称:' + r[0].stationName + '</span>' + | |
| 31 | + '<span class="help-block" style="color:#DDD;font-size: 15px;">站点编码:' + r[0].stationCode + '</span>' + | |
| 32 | + '<span class="help-block" style="color:#DDD;font-size: 15px;">站点序号:' + r[0].stationRouteCode + '</span>' + | |
| 33 | + '<span class="help-block" style="color:#DDD;font-size: 15px;">纬度坐标:' + r[0].stationJwpoints + '</span>' + | |
| 34 | + '<span class="help-block" style="color:#DDD;font-size: 15px;">范围半径:' + r[0].stationRadius + '</span>' + | |
| 35 | + '<span class="help-block" style="color:#DDD;font-size: 15px;">版本 号:' + r[0].stationRouteVersions + '</span>' + | |
| 36 | + '<span class="help-block" style="width: 100%;font-size: 15px;;color:#DDD; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; " title="'+ 'ddd' +'" >说明/描述:' + 'ddd' + '</span>' ; | |
| 51 | 37 | |
| 52 | 38 | // 信息窗口参数属性 |
| 53 | 39 | var opts = { |
| ... | ... | @@ -59,7 +45,7 @@ var PublicFunctions = function () { |
| 59 | 45 | height : 450, |
| 60 | 46 | |
| 61 | 47 | // 信息窗位置偏移值。 |
| 62 | - offset: new BMap.Size(500,-80), | |
| 48 | + offset: new BMap.Size(500,80), | |
| 63 | 49 | |
| 64 | 50 | //标题 |
| 65 | 51 | title : '<h4 style="color:#FFFFFF">'+r[0].stationName+'站详情</h4>', |
| ... | ... | @@ -77,12 +63,12 @@ var PublicFunctions = function () { |
| 77 | 63 | if(stationShapesType == 'r') { |
| 78 | 64 | |
| 79 | 65 | // 画圆 |
| 80 | - PublicFunctions.pointsCircle(r,point,htm,opts,mapB); | |
| 66 | + StationPositionsWorldsBMap.pointsCircle(r,point,htm,opts); | |
| 81 | 67 | |
| 82 | 68 | }else if(stationShapesType == 'd'){ |
| 83 | 69 | |
| 84 | 70 | // 画多边形 |
| 85 | - PublicFunctions.pointsPolygon(r,point,htm,opts,mapB); | |
| 71 | + StationPositionsWorldsBMap.pointsPolygon(r,point,htm,opts); | |
| 86 | 72 | |
| 87 | 73 | } |
| 88 | 74 | |
| ... | ... | @@ -167,64 +153,58 @@ var PublicFunctions = function () { |
| 167 | 153 | |
| 168 | 154 | }, |
| 169 | 155 | |
| 170 | - setFormValue : function() { | |
| 156 | + setFormValue : function(stationObj) { | |
| 171 | 157 | |
| 172 | 158 | // 站点ID |
| 173 | - $('#stationIdInput').val(stationObj[0].stationId); | |
| 159 | + $('#stationIdInput').val(stationObj.stationId); | |
| 174 | 160 | |
| 175 | 161 | // 站点路由ID |
| 176 | - $('#stationRouteIdInput').val(stationObj[0].stationRouteId); | |
| 162 | + $('#stationRouteIdInput').val(stationObj.stationRouteId); | |
| 177 | 163 | |
| 178 | 164 | // 站点路由线路Id |
| 179 | - $('#stationRouteLineInput').val(stationObj[0].stationRouteLine); | |
| 165 | + $('#stationRouteLineInput').val(stationObj.stationRouteLine); | |
| 180 | 166 | |
| 181 | 167 | // 线路编码 |
| 182 | - $('#lineCodeInput').val(stationObj[0].stationRouteLIneCode); | |
| 168 | + $('#lineCodeInput').val(stationObj.stationRouteLIneCode); | |
| 183 | 169 | |
| 184 | 170 | // WGS坐标点图形集合 |
| 185 | - $('#bPolygonGridInput').val(stationObj[0].stationBPolyonGrid); | |
| 186 | - | |
| 187 | - // 百度坐标点图形集合 | |
| 188 | - /*$('#gPolygonGridInput').val(stationObj[0].stationGPloyonGrid);*/ | |
| 171 | + $('#bPolygonGridInput').val(stationObj.stationBPolyonGrid); | |
| 189 | 172 | |
| 190 | 173 | // 获取站点名称元素设值 |
| 191 | - $('#stationNameInput').val(stationObj[0].stationName); | |
| 174 | + $('#stationNameInput').val(stationObj.stationName); | |
| 192 | 175 | |
| 193 | 176 | // 获取站点编码元素设值 |
| 194 | - $('#stationCodInput').val(stationObj[0].stationCode); | |
| 177 | + $('#stationCodInput').val(stationObj.stationCode); | |
| 195 | 178 | |
| 196 | 179 | // 获取站点类型元素设值 |
| 197 | - $('#stationMarkSelect').val(stationObj[0].stationRouteStationMark); | |
| 180 | + $('#stationMarkSelect').val(stationObj.stationRouteStationMark); | |
| 198 | 181 | |
| 199 | 182 | // 获取站点方向元素设值 |
| 200 | - $('#stationdirSelect').val(stationObj[0].stationRoutedirections); | |
| 183 | + $('#stationdirSelect').val(stationObj.stationRoutedirections); | |
| 201 | 184 | |
| 202 | 185 | // 获取站点道路编码元素设值 |
| 203 | - $('#roadCodingCodInput').val(stationObj[0].stationRoadCoding); | |
| 186 | + $('#roadCodingCodInput').val(stationObj.stationRoadCoding); | |
| 204 | 187 | |
| 205 | 188 | // 百度地图经纬度坐标中心点 |
| 206 | - $('#bJwpointsInput').val(stationObj[0].stationJwpoints); | |
| 207 | - | |
| 208 | - // WGS经纬度 | |
| 209 | - /*$('#gJwpointsInput').val(stationObj[0].stationGlonx + ' ' + stationObj[0].stationGlaty);*/ | |
| 189 | + $('#bJwpointsInput').val(stationObj.stationJwpoints); | |
| 210 | 190 | |
| 211 | 191 | // 获取图形类型元素,并添加值 |
| 212 | - $('#shapesTypeSelect').val(stationObj[0].stationShapesType); | |
| 192 | + $('#shapesTypeSelect').val(stationObj.stationShapesType); | |
| 213 | 193 | |
| 214 | 194 | // 获取半径元素,并添加值 |
| 215 | - $('#radiusInput').val(stationObj[0].stationRadius); | |
| 195 | + $('#radiusInput').val(stationObj.stationRadius); | |
| 216 | 196 | |
| 217 | 197 | // 是否撤销 |
| 218 | - $('#destroySelect').val(stationObj[0].stationRouteDestroy); | |
| 198 | + $('#destroySelect').val(stationObj.stationRouteDestroy); | |
| 219 | 199 | |
| 220 | 200 | // 到站时间 |
| 221 | - $('#toTimeInput').val(stationObj[0].stationRouteToTime); | |
| 201 | + $('#toTimeInput').val(stationObj.stationRouteToTime); | |
| 222 | 202 | |
| 223 | 203 | // 到站距离 |
| 224 | - $('#distancesInput').val(stationObj[0].stationRouteDistances); | |
| 204 | + $('#distancesInput').val(stationObj.stationRouteDistances); | |
| 225 | 205 | |
| 226 | 206 | // 描述/说明 |
| 227 | - $('#descriptionsTextarea').val(stationObj[0].stationRouteDescriptions); | |
| 207 | + $('#descriptionsTextarea').val(stationObj.stationRouteDescriptions); | |
| 228 | 208 | |
| 229 | 209 | }, |
| 230 | 210 | |
| ... | ... | @@ -263,114 +243,6 @@ var PublicFunctions = function () { |
| 263 | 243 | |
| 264 | 244 | }, |
| 265 | 245 | |
| 266 | - pointsPolygon : function(r,pointPolygon,htm,opts_polygon,map) { | |
| 267 | - | |
| 268 | - // 获取多边形坐标字符串 | |
| 269 | - var stationBPolygonGrid = r[0].stationBPolyonGrid; | |
| 270 | - | |
| 271 | - // 截取多边形坐标字符串 | |
| 272 | - var stationBPolygonGridStr = stationBPolygonGrid.substring(9,stationBPolygonGrid.length-2); | |
| 273 | - | |
| 274 | - // 按逗号切割 | |
| 275 | - var pointPolygonArray = stationBPolygonGridStr.split(','); | |
| 276 | - | |
| 277 | - // 多边形坐标集合 | |
| 278 | - var polygonP = []; | |
| 279 | - | |
| 280 | - for(var v = 0;v<pointPolygonArray.length;v++) { | |
| 281 | - | |
| 282 | - polygonP.push(new BMap.Point(pointPolygonArray[v].split(" ")[0],pointPolygonArray[v].split(" ")[1])); | |
| 283 | - | |
| 284 | - } | |
| 285 | - | |
| 286 | - // 画多边形 | |
| 287 | - polygon = new BMap.Polygon(polygonP, { | |
| 288 | - | |
| 289 | - // 线条显色 | |
| 290 | - strokeColor : "blue", | |
| 291 | - | |
| 292 | - // 边线的宽度,以像素为单位。 | |
| 293 | - strokeWeight : 2, | |
| 294 | - | |
| 295 | - // 边线透明度,取值范围0 - 1。 | |
| 296 | - strokeOpacity : 0.5 | |
| 297 | - }); | |
| 298 | - | |
| 299 | - // 增加地图覆盖物多边形 | |
| 300 | - map.addOverlay(polygon); | |
| 301 | - | |
| 302 | - // 创建信息窗口 | |
| 303 | - infoWindow = new BMap.InfoWindow(htm, opts_polygon); | |
| 304 | - | |
| 305 | - // 自定义标注物图片 | |
| 306 | - var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/cz.png',new BMap.Size(20, 20)); | |
| 307 | - | |
| 308 | - // 创建点 | |
| 309 | - marker = new BMap.Marker(pointPolygon,{icon : icon_target}); | |
| 310 | - | |
| 311 | - // 把标注添物加到地图上 | |
| 312 | - map.addOverlay(marker); | |
| 313 | - | |
| 314 | - // 是否在平移过程中禁止动画。(自1.2新增) | |
| 315 | - var PanOptions_ ={noAnimation :true}; | |
| 316 | - | |
| 317 | - // 将地图的中心点更改为给定的点。 | |
| 318 | - map.panTo(pointPolygon,PanOptions_); | |
| 319 | - | |
| 320 | - // 将地图在水平位置上移动x像素,垂直位置上移动y像素。 | |
| 321 | - map.panBy(10,110,PanOptions_); | |
| 322 | - | |
| 323 | - //开启信息窗口 | |
| 324 | - marker.openInfoWindow(infoWindow,pointPolygon); | |
| 325 | - | |
| 326 | - }, | |
| 327 | - | |
| 328 | - pointsCircle : function(r,point,htm,opts,map) { | |
| 329 | - | |
| 330 | - //创建圆 | |
| 331 | - circle = new BMap.Circle(point,r[0].stationRadius,{strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5}); | |
| 332 | - | |
| 333 | - // 允许覆盖物在map.clearOverlays方法中被清除 | |
| 334 | - circle.enableMassClear(); | |
| 335 | - | |
| 336 | - // 百度地图添加覆盖物圆 | |
| 337 | - map.addOverlay(circle); | |
| 338 | - | |
| 339 | - // 创建信息窗口 | |
| 340 | - infoWindow = new BMap.InfoWindow(htm, opts); | |
| 341 | - | |
| 342 | - // 自定义标注物图片 | |
| 343 | - var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/cz.png',new BMap.Size(20, 20)); | |
| 344 | - | |
| 345 | - // 创建点 | |
| 346 | - marker = new BMap.Marker(point,{icon : icon_target}); | |
| 347 | - | |
| 348 | - // 把标注添物加到地图上 | |
| 349 | - map.addOverlay(marker); | |
| 350 | - | |
| 351 | - setTimeout(function(){ | |
| 352 | - //开启信息窗口 | |
| 353 | - marker.openInfoWindow(infoWindow,point); | |
| 354 | - | |
| 355 | - },100); | |
| 356 | - | |
| 357 | - // 是否在平移过程中禁止动画。(自1.2新增) | |
| 358 | - var PanOptions_ ={noAnimation :true}; | |
| 359 | - | |
| 360 | - // 将地图的中心点更改为给定的点。 | |
| 361 | - map.panTo(point,PanOptions_); | |
| 362 | - | |
| 363 | - //map.panBy(10,-50,PanOptions_); | |
| 364 | - | |
| 365 | - // 添加标志物监听事件 | |
| 366 | - marker.addEventListener("click",function() { | |
| 367 | - | |
| 368 | - //开启信息窗口 | |
| 369 | - marker.openInfoWindow(infoWindow,point); | |
| 370 | - | |
| 371 | - }); | |
| 372 | - }, | |
| 373 | - | |
| 374 | 246 | // 站点更新 |
| 375 | 247 | stationUpdate : function(station,callback) { |
| 376 | 248 | ... | ... |
src/main/resources/static/pages/base/station/js/station-positions-map.js
| ... | ... | @@ -3,9 +3,9 @@ |
| 3 | 3 | * |
| 4 | 4 | */ |
| 5 | 5 | |
| 6 | -var WorldsBMap = function () { | |
| 6 | +var StationPositionsWorldsBMap = function () { | |
| 7 | 7 | |
| 8 | - var mapBValue = '',drawingManagerInit=''; | |
| 8 | + var mapBValue = '',marker='',polygon=''; | |
| 9 | 9 | |
| 10 | 10 | var Bmap = { |
| 11 | 11 | |
| ... | ... | @@ -51,322 +51,234 @@ var WorldsBMap = function () { |
| 51 | 51 | return mapBValue; |
| 52 | 52 | }, |
| 53 | 53 | |
| 54 | - initDrawingManager : function(map,styleOptions) { | |
| 54 | + pointsCircle : function(r,point,htm,opts) { | |
| 55 | 55 | |
| 56 | - // 创建鼠标绘制管理类 | |
| 57 | - drawingManagerInit = new BMapLib.DrawingManager(map, { | |
| 58 | - | |
| 59 | - //是否开启绘制模式 | |
| 60 | - isOpen : false, | |
| 61 | - | |
| 62 | - //是否显示工具栏 | |
| 63 | - enableDrawingTool : false, | |
| 64 | - | |
| 65 | - drawingToolOptions : { | |
| 66 | - | |
| 67 | - //位置 | |
| 68 | - anchor : BMAP_ANCHOR_TOP_RIGHT, | |
| 69 | - | |
| 70 | - //偏离值 | |
| 71 | - offset : new BMap.Size(5, 5), | |
| 72 | - | |
| 73 | - //工具栏缩放比例 | |
| 74 | - scale : 0.8 | |
| 75 | - | |
| 76 | - }, | |
| 77 | - | |
| 78 | - //线的样式 | |
| 79 | - polygonOptions : styleOptions | |
| 80 | - | |
| 81 | - }); | |
| 56 | + // 将视图切换到指定的缩放等级,中心点坐标不变。注意:当有信息窗口在地图上打开时,地图缩放将保证信息窗口所在的坐标位置不动。(自1.2新增) | |
| 57 | + mapBValue.setZoom(17); | |
| 82 | 58 | |
| 83 | - // 添加绘画完成事件 | |
| 84 | - drawingManagerInit.addEventListener('polygoncomplete', function(e) { | |
| 59 | + //创建圆 | |
| 60 | + circle = new BMap.Circle(point,r[0].stationRadius,{strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5}); | |
| 61 | + | |
| 62 | + // 允许覆盖物在map.clearOverlays方法中被清除 | |
| 63 | + circle.enableMassClear(); | |
| 64 | + | |
| 65 | + // 百度地图添加覆盖物圆 | |
| 66 | + mapBValue.addOverlay(circle); | |
| 67 | + | |
| 68 | + // 创建信息窗口 | |
| 69 | + infoWindow = new BMap.InfoWindow(htm, opts); | |
| 70 | + | |
| 71 | + // 自定义标注物图片 | |
| 72 | + var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/cz.png',new BMap.Size(20, 20)); | |
| 73 | + | |
| 74 | + // 创建点 | |
| 75 | + marker = new BMap.Marker(point,{icon : icon_target}); | |
| 85 | 76 | |
| 86 | - drawingManagerInit.close(); | |
| 87 | - | |
| 88 | - if (e.getPath().length <= 2) { | |
| 89 | - | |
| 90 | - // 弹出提示消息 | |
| 91 | - layer.msg('坐标点不能小于等于两个...'); | |
| 92 | - | |
| 93 | - // 清除地图覆盖物 | |
| 94 | - map.clearOverlays(); | |
| 95 | - | |
| 96 | - // 加载该线路下所有站点位置添加到地图上 | |
| 97 | - return false; | |
| 98 | - | |
| 99 | - }else { | |
| 100 | - | |
| 101 | - var pointE = e; | |
| 102 | - | |
| 103 | - // 多变行质心点 | |
| 104 | - var addSttationPoints_ = pointE.getBounds().getCenter().lng+ ' ' + pointE.getBounds().getCenter().lat; | |
| 105 | - | |
| 106 | - var PointsList = []; | |
| 107 | - | |
| 108 | - for ( var i = 0; i < pointE.getPath().length; i++) { | |
| 109 | - | |
| 110 | - PointsList.push({potion: {lng: pointE.getPath()[i].lng, lat: pointE.getPath()[i].lat}}); | |
| 111 | - | |
| 112 | - } | |
| 113 | - | |
| 114 | - PointsList.push({potion: {lng: pointE.getPath()[0].lng, lat: pointE.getPath()[0].lat}}); | |
| 115 | - | |
| 116 | - var centre = [{potion:{lng:pointE.getBounds().getCenter().lng,lat:pointE.getBounds().getCenter().lat}}]; | |
| 117 | - | |
| 118 | - var gPloygonGrid = ''; | |
| 119 | - | |
| 120 | - var bPloygonGrid = ''; | |
| 121 | - | |
| 122 | - var pointsListLen_ = PointsList.length; | |
| 123 | - | |
| 124 | - for(var k =0;k<pointsListLen_;k++) { | |
| 125 | - | |
| 126 | - if(k==0) { | |
| 127 | - | |
| 128 | - bPloygonGrid = PointsList[k].potion.lng + ' ' +PointsList[k].potion.lat; | |
| 129 | - | |
| 130 | - }else { | |
| 131 | - | |
| 132 | - bPloygonGrid = bPloygonGrid + ',' + PointsList[k].potion.lng + ' ' +PointsList[k].potion.lat; | |
| 133 | - | |
| 134 | - } | |
| 135 | - | |
| 136 | - } | |
| 137 | - | |
| 138 | - PublicFunctions.editSeteditStationParmasValue(addSttationPoints_,'','',bPloygonGrid,'','d',''); | |
| 139 | - | |
| 140 | - $.get('edit.html', function(m){$(pjaxContainer).append(m);}); | |
| 141 | - | |
| 142 | - /*PublicFunctions.getFormPointEToWGS(PointsList,function(resultdata) { | |
| 143 | - | |
| 144 | - var gPloygonGrid = ''; | |
| 145 | - | |
| 146 | - var bPloygonGrid = ''; | |
| 147 | - | |
| 148 | - for(var k =0;k<resultdata.length;k++) { | |
| 149 | - | |
| 150 | - if(k==0) { | |
| 151 | - | |
| 152 | - gPloygonGrid = resultdata[k].WGSpotion.Lng + ' ' +resultdata[k].WGSpotion.Lat; | |
| 153 | - | |
| 154 | - bPloygonGrid = resultdata[k].potion.lng + ' ' +resultdata[k].potion.lat; | |
| 155 | - | |
| 156 | - }else { | |
| 157 | - | |
| 158 | - gPloygonGrid = gPloygonGrid + ',' + resultdata[k].WGSpotion.Lng + ' ' +resultdata[k].WGSpotion.Lat; | |
| 159 | - | |
| 160 | - bPloygonGrid = bPloygonGrid + ',' + resultdata[k].potion.lng + ' ' +resultdata[k].potion.lat; | |
| 161 | - | |
| 162 | - } | |
| 163 | - | |
| 164 | - } | |
| 165 | - | |
| 166 | - gPloygonGrid = 'POLYGON((' + gPloygonGrid + '))'; | |
| 167 | - | |
| 168 | - bPloygonGrid = 'POLYGON((' + bPloygonGrid + '))'; | |
| 169 | - | |
| 170 | - PublicFunctions.getFormPointEToWGS(centre,function(p) { | |
| 171 | - | |
| 172 | - var gLonx = p[0].WGSpotion.Lng; | |
| 173 | - | |
| 174 | - var gLaty = p[0].WGSpotion.Lat; | |
| 175 | - | |
| 176 | - PublicFunctions.editSeteditStationParmasValue(addSttationPoints_,gLonx,gLaty,bPloygonGrid,gPloygonGrid,'d',''); | |
| 177 | - | |
| 178 | - $.get('edit.html', function(m){$(pjaxContainer).append(m);}); | |
| 179 | - | |
| 180 | - }); | |
| 181 | - | |
| 182 | - });*/ | |
| 183 | - } | |
| 184 | - | |
| 185 | - }); | |
| 186 | - | |
| 187 | - return drawingManagerInit; | |
| 77 | + // 把标注添物加到地图上 | |
| 78 | + mapBValue.addOverlay(marker); | |
| 79 | + | |
| 80 | + setTimeout(function(){ | |
| 81 | + //开启信息窗口 | |
| 82 | + marker.openInfoWindow(infoWindow,point); | |
| 83 | + | |
| 84 | + },100); | |
| 85 | + | |
| 86 | + // 是否在平移过程中禁止动画。(自1.2新增) | |
| 87 | + var PanOptions_ ={noAnimation :true}; | |
| 88 | + | |
| 89 | + // 将地图的中心点更改为给定的点。 | |
| 90 | + mapBValue.panTo(point,PanOptions_); | |
| 91 | + | |
| 92 | + mapBValue.panBy(10,-250,PanOptions_); | |
| 93 | + | |
| 94 | + // 添加标志物监听事件 | |
| 95 | + marker.addEventListener("click",function() { | |
| 96 | + | |
| 97 | + //开启信息窗口 | |
| 98 | + marker.openInfoWindow(infoWindow,point); | |
| 99 | + | |
| 100 | + }); | |
| 188 | 101 | }, |
| 189 | 102 | |
| 190 | - // 获取绘制工具类 | |
| 191 | - getDrawingManagerValue : function() { | |
| 103 | + pointsPolygon : function(r,pointPolygon,htm,opts_polygon) { | |
| 192 | 104 | |
| 193 | - return drawingManagerInit; | |
| 194 | - }, | |
| 195 | - | |
| 196 | - // 打开绘画工具 | |
| 197 | - /*drawingManagerOpen : function() { | |
| 105 | + // 获取多边形坐标字符串 | |
| 106 | + var stationBPolygonGrid = r[0].stationBPolyonGrid; | |
| 198 | 107 | |
| 199 | - // 清楚地图覆盖物 | |
| 200 | - mapB.clearOverlays(); | |
| 108 | + // 截取多边形坐标字符串 | |
| 109 | + var stationBPolygonGridStr = stationBPolygonGrid.substring(9,stationBPolygonGrid.length-2); | |
| 110 | + | |
| 111 | + // 按逗号切割 | |
| 112 | + var pointPolygonArray = stationBPolygonGridStr.split(','); | |
| 113 | + | |
| 114 | + // 多边形坐标集合 | |
| 115 | + var polygonP = []; | |
| 201 | 116 | |
| 202 | - // 打开鼠标绘画工具 | |
| 203 | - drawingManager.open(); | |
| 117 | + for(var v = 0;v<pointPolygonArray.length;v++) { | |
| 118 | + | |
| 119 | + polygonP.push(new BMap.Point(pointPolygonArray[v].split(" ")[0],pointPolygonArray[v].split(" ")[1])); | |
| 120 | + | |
| 121 | + } | |
| 122 | + | |
| 123 | + // 画多边形 | |
| 124 | + polygon = new BMap.Polygon(polygonP, { | |
| 125 | + | |
| 126 | + // 线条显色 | |
| 127 | + strokeColor : "blue", | |
| 128 | + | |
| 129 | + // 边线的宽度,以像素为单位。 | |
| 130 | + strokeWeight : 2, | |
| 131 | + | |
| 132 | + // 边线透明度,取值范围0 - 1。 | |
| 133 | + strokeOpacity : 0.5 | |
| 134 | + }); | |
| 135 | + | |
| 136 | + // 增加地图覆盖物多边形 | |
| 137 | + mapBValue.addOverlay(polygon); | |
| 138 | + | |
| 139 | + // 创建信息窗口 | |
| 140 | + infoWindow = new BMap.InfoWindow(htm, opts_polygon); | |
| 204 | 141 | |
| 205 | - // 设置属性 | |
| 206 | - drawingManager.setDrawingMode(BMAP_DRAWING_POLYGON); | |
| 142 | + // 自定义标注物图片 | |
| 143 | + var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/cz.png',new BMap.Size(20, 20)); | |
| 144 | + | |
| 145 | + // 创建点 | |
| 146 | + marker = new BMap.Marker(pointPolygon,{icon : icon_target}); | |
| 147 | + | |
| 148 | + // 把标注添物加到地图上 | |
| 149 | + mapBValue.addOverlay(marker); | |
| 150 | + | |
| 151 | + // 是否在平移过程中禁止动画。(自1.2新增) | |
| 152 | + var PanOptions_ ={noAnimation :true}; | |
| 153 | + | |
| 154 | + // 将地图的中心点更改为给定的点。 | |
| 155 | + mapBValue.panTo(pointPolygon,PanOptions_); | |
| 156 | + | |
| 157 | + // 将地图在水平位置上移动x像素,垂直位置上移动y像素。 | |
| 158 | + mapBValue.panBy(10,110,PanOptions_); | |
| 159 | + | |
| 160 | + //开启信息窗口 | |
| 161 | + marker.openInfoWindow(infoWindow,pointPolygon); | |
| 207 | 162 | |
| 208 | - },*/ | |
| 163 | + }, | |
| 209 | 164 | |
| 210 | 165 | // 编辑图形 |
| 211 | 166 | editShapes : function(stationShapesTypeV,mindex) { |
| 212 | 167 | |
| 168 | + // 关闭信息窗口 | |
| 169 | + marker.closeInfoWindow(); | |
| 170 | + | |
| 171 | + // 清除marker | |
| 172 | + mapBValue.removeOverlay(marker); | |
| 173 | + | |
| 213 | 174 | // 编辑圆 |
| 214 | 175 | if(stationShapesTypeV =='r') { |
| 215 | 176 | |
| 216 | - var enCircle = PublicFunctions.getCircleObj(); | |
| 217 | - | |
| 218 | 177 | // 开启编辑功能 |
| 219 | - enCircle.enableEditing(); | |
| 178 | + circle.enableEditing(); | |
| 220 | 179 | |
| 221 | 180 | // 编辑圆监听事件 |
| 222 | - enCircle.addEventListener('dblclick',function() { | |
| 181 | + circle.addEventListener('dblclick',function() { | |
| 223 | 182 | |
| 224 | 183 | // 关闭提示弹出层 |
| 225 | 184 | layer.close(mindex); |
| 226 | 185 | |
| 227 | 186 | // 返回圆形的半径,单位为米。 |
| 228 | - var newRadius = enCircle.getRadius(); | |
| 187 | + var newRadius = circle.getRadius(); | |
| 229 | 188 | |
| 230 | 189 | // 返回圆形的中心点坐标。 |
| 231 | - var newCenter = enCircle.getCenter().lng + ' ' + enCircle.getCenter().lat; | |
| 190 | + var newCenter = circle.getCenter().lng + ' ' + circle.getCenter().lat; | |
| 232 | 191 | |
| 233 | - var centre_New = [{potion:{lng:enCircle.getCenter().lng,lat:enCircle.getCenter().lat}}]; | |
| 192 | + var centre_New = [{potion:{lng:circle.getCenter().lng,lat:circle.getCenter().lat}}]; | |
| 234 | 193 | |
| 235 | - // 设置修改站点参数集合 | |
| 236 | - PublicFunctions.editSeteditStationParmasValue(newCenter, '', '','','','r',Math.round(newRadius)); | |
| 194 | + /** 设置修改站点集合对象站点中心点百度坐标属性值 @param:<bJwpoints:中心点百度坐标) */ | |
| 195 | + PositionsStationObj.setEitdStationBJwpoints(newCenter); | |
| 196 | + | |
| 197 | + /** 设置修改站点集合对象范围图形类型属性值 @param:<shapesType:范围图形类型) */ | |
| 198 | + PositionsStationObj.setEitdStationShapesType('r'); | |
| 199 | + | |
| 200 | + /** 设置修改站点集合对象圆形半径属性值 @param:<radius:圆形半径) */ | |
| 201 | + PositionsStationObj.setEitdStationRadius(Math.round(newRadius)); | |
| 202 | + | |
| 203 | + /** 设置修改站点集合对象图形百度坐标集合属性值 @param:<bPolygonGrid:图形百度坐标集合) */ | |
| 204 | + PositionsStationObj.setEitdBPolygonGrid(''); | |
| 237 | 205 | |
| 238 | 206 | // 加载编辑页面 |
| 239 | - $.get('edit.html', function(m){$(pjaxContainer).append(m);}); | |
| 240 | - | |
| 241 | - // 中心百度坐标转WGS坐标 | |
| 242 | - /*PublicFunctions.getFormPointEToWGS(centre_New,function(p) { | |
| 243 | - | |
| 244 | - // 设置修改站点参数集合 | |
| 245 | - PublicFunctions.editSeteditStationParmasValue(newCenter, p[0].WGSpotion.Lng , p[0].WGSpotion.Lat,'','','r',Math.round(newRadius)); | |
| 207 | + $.get('edit.html', function(m){ | |
| 246 | 208 | |
| 247 | - // 加载编辑页面 | |
| 248 | - $.get('edit.html', function(m){$(pjaxContainer).append(m);}); | |
| 209 | + $(pjaxContainer).append(m); | |
| 249 | 210 | |
| 250 | - });*/ | |
| 211 | + $('#editPoitsions_station_mobal').trigger('editStationMobal_show', [StationPositionsWorldsBMap,PositionsPublicFunctions,PositionsStationObj]); | |
| 212 | + | |
| 213 | + }); | |
| 251 | 214 | |
| 252 | 215 | }); |
| 253 | 216 | |
| 254 | 217 | // 编辑多变行 |
| 255 | 218 | }else if(stationShapesTypeV =='d') { |
| 256 | 219 | |
| 257 | - var enPolygon = PublicFunctions.getCircleObj(); | |
| 258 | - | |
| 259 | 220 | // 开启编辑功能(自 1.1 新增) |
| 260 | - enPolygon.enableEditing(); | |
| 221 | + polygon.enableEditing(); | |
| 261 | 222 | |
| 262 | 223 | // 添加多变行编辑事件 |
| 263 | - enPolygon.addEventListener('dblclick',function(e) { | |
| 224 | + polygon.addEventListener('dblclick',function(e) { | |
| 264 | 225 | |
| 265 | 226 | // 获取编辑的多边形对象 |
| 266 | - var edit_pointE = enPolygon; | |
| 267 | - | |
| 268 | - // 多边形坐标点集合 | |
| 269 | - var eidt_PointsList = []; | |
| 270 | - | |
| 271 | - for ( var i = 0; i < edit_pointE.getPath().length; i++) { | |
| 272 | - | |
| 273 | - eidt_PointsList.push({potion: {lng: edit_pointE.getPath()[i].lng, lat: edit_pointE.getPath()[i].lat}}); | |
| 274 | - | |
| 275 | - } | |
| 227 | + var edit_pointE = polygon; | |
| 276 | 228 | |
| 277 | - eidt_PointsList.push({potion: {lng: edit_pointE.getPath()[0].lng, lat: edit_pointE.getPath()[0].lat}}); | |
| 229 | + var edit_bPloygonGrid = ""; | |
| 278 | 230 | |
| 279 | - var edit_centre = [{potion:{lng:edit_pointE.getBounds().getCenter().lng,lat:edit_pointE.getBounds().getCenter().lat}}]; | |
| 231 | + var editPolyGonLen_ = edit_pointE.getPath().length; | |
| 280 | 232 | |
| 281 | - // 多边形中心点 | |
| 282 | - var centre_points = edit_pointE.getBounds().getCenter().lng + ' ' + edit_pointE.getBounds().getCenter().lat; | |
| 283 | - | |
| 284 | - // 多边形WGS坐标字符串 | |
| 285 | - var eidt_gPloygonGrid = ''; | |
| 286 | - | |
| 287 | - // 百度坐标字符串 | |
| 288 | - var edit_bPloygonGrid = ''; | |
| 289 | - | |
| 290 | - var eidt_PointsListLen_ = eidt_PointsList.length; | |
| 291 | - | |
| 292 | - for(var k =0;k<eidt_PointsListLen_;k++) { | |
| 233 | + for(var k =0;k<editPolyGonLen_;k++) { | |
| 293 | 234 | |
| 294 | 235 | if(k==0) { |
| 295 | 236 | |
| 296 | - edit_bPloygonGrid = eidt_PointsList[k].potion.lng + ' ' +eidt_PointsList[k].potion.lat; | |
| 237 | + edit_bPloygonGrid = edit_pointE.getPath()[k].lng + ' ' + edit_pointE.getPath()[k].lat; | |
| 297 | 238 | |
| 298 | 239 | }else { |
| 299 | 240 | |
| 300 | - edit_bPloygonGrid = edit_bPloygonGrid + ',' + eidt_PointsList[k].potion.lng + ' ' +eidt_PointsList[k].potion.lat; | |
| 241 | + edit_bPloygonGrid = edit_bPloygonGrid + ',' + edit_pointE.getPath()[k].lng + ' ' + edit_pointE.getPath()[k].lat; | |
| 301 | 242 | |
| 302 | 243 | } |
| 303 | 244 | |
| 304 | 245 | } |
| 305 | 246 | |
| 306 | - // 设置编辑站点参宿集合 | |
| 307 | - PublicFunctions.editSeteditStationParmasValue(centre_points,'','',edit_bPloygonGrid,'','d',''); | |
| 247 | + edit_bPloygonGrid = edit_bPloygonGrid + ',' + edit_pointE.getPath()[0].lng + ' ' + edit_pointE.getPath()[0].lat; | |
| 308 | 248 | |
| 309 | - // 加载编辑页面 | |
| 310 | - $.get('edit.html', function(m){$(pjaxContainer).append(m);}); | |
| 249 | + // 多边形中心点 | |
| 250 | + var centre_points = edit_pointE.getBounds().getCenter().lng + ' ' + edit_pointE.getBounds().getCenter().lat; | |
| 311 | 251 | |
| 312 | - // 多边形坐标点集合转WGS坐标 | |
| 313 | - /*PublicFunctions.getFormPointEToWGS(eidt_PointsList,function(resultdata) { | |
| 314 | - | |
| 315 | - // 多边形WGS坐标字符串 | |
| 316 | - var eidt_gPloygonGrid = ''; | |
| 317 | - | |
| 318 | - // 百度坐标字符串 | |
| 319 | - var edit_bPloygonGrid = ''; | |
| 320 | - | |
| 321 | - for(var k =0;k<resultdata.length;k++) { | |
| 322 | - | |
| 323 | - if(k==0) { | |
| 324 | - | |
| 325 | - eidt_gPloygonGrid = resultdata[k].WGSpotion.Lng + ' ' +resultdata[k].WGSpotion.Lat; | |
| 326 | - | |
| 327 | - edit_bPloygonGrid = resultdata[k].potion.lng + ' ' +resultdata[k].potion.lat; | |
| 328 | - | |
| 329 | - }else { | |
| 330 | - | |
| 331 | - eidt_gPloygonGrid = eidt_gPloygonGrid + ',' + resultdata[k].WGSpotion.Lng + ' ' +resultdata[k].WGSpotion.Lat; | |
| 332 | - | |
| 333 | - edit_bPloygonGrid = edit_bPloygonGrid + ',' + resultdata[k].potion.lng + ' ' +resultdata[k].potion.lat; | |
| 334 | - | |
| 335 | - } | |
| 336 | - | |
| 337 | - } | |
| 338 | - | |
| 339 | - eidt_gPloygonGrid = 'POLYGON((' + eidt_gPloygonGrid + '))'; | |
| 252 | + /** 设置修改站点集合对象站点中心点百度坐标属性值 @param:<bJwpoints:中心点百度坐标) */ | |
| 253 | + PositionsStationObj.setEitdStationBJwpoints(centre_points); | |
| 254 | + | |
| 255 | + /** 设置修改站点集合对象范围图形类型属性值 @param:<shapesType:范围图形类型) */ | |
| 256 | + PositionsStationObj.setEitdStationShapesType('d'); | |
| 257 | + | |
| 258 | + /** 设置修改站点集合对象圆形半径属性值 @param:<radius:圆形半径) */ | |
| 259 | + PositionsStationObj.setEitdStationRadius(''); | |
| 260 | + | |
| 261 | + /** 设置修改站点集合对象图形百度坐标集合属性值 @param:<bPolygonGrid:图形百度坐标集合) */ | |
| 262 | + PositionsStationObj.setEitdBPolygonGrid(edit_bPloygonGrid); | |
| 263 | + | |
| 264 | + $.get('edit.html', function(m){ | |
| 340 | 265 | |
| 341 | - edit_bPloygonGrid = 'POLYGON((' + edit_bPloygonGrid + '))'; | |
| 266 | + $(pjaxContainer).append(m); | |
| 342 | 267 | |
| 343 | - // 中心点坐标转WGS坐标 | |
| 344 | - PublicFunctions.getFormPointEToWGS(edit_centre,function(p) { | |
| 345 | - | |
| 346 | - var edit_gLonx = p[0].WGSpotion.Lng; | |
| 347 | - | |
| 348 | - var edit_gLaty = p[0].WGSpotion.Lat; | |
| 349 | - | |
| 350 | - // 设置编辑站点参宿集合 | |
| 351 | - PublicFunctions.editSeteditStationParmasValue(centre_points,edit_gLonx,edit_gLaty,edit_bPloygonGrid,eidt_gPloygonGrid,'d',''); | |
| 352 | - | |
| 353 | - // 加载编辑页面 | |
| 354 | - $.get('edit.html', function(m){$(pjaxContainer).append(m);}); | |
| 355 | - | |
| 356 | - }); | |
| 268 | + $('#editPoitsions_station_mobal').trigger('editStationMobal_show', [StationPositionsWorldsBMap,PositionsPublicFunctions,PositionsStationObj]); | |
| 357 | 269 | |
| 358 | - });*/ | |
| 270 | + }); | |
| 359 | 271 | |
| 360 | 272 | }); |
| 361 | 273 | |
| 362 | 274 | } |
| 363 | 275 | |
| 364 | - }, | |
| 276 | + }, | |
| 365 | 277 | |
| 366 | - localSearchFromAdreesToPoint: function(Address,map,callback) { | |
| 278 | + localSearchFromAdreesToPoint: function(Address,callback) { | |
| 367 | 279 | |
| 368 | 280 | // 创建一个搜索类实例 |
| 369 | - var localSearch = new BMap.LocalSearch(map); | |
| 281 | + var localSearch = new BMap.LocalSearch(mapBValue); | |
| 370 | 282 | |
| 371 | 283 | // 检索完成后的回调函数。 |
| 372 | 284 | localSearch.setSearchCompleteCallback(function (searchResult) { |
| ... | ... | @@ -401,6 +313,43 @@ var WorldsBMap = function () { |
| 401 | 313 | // 根据检索词发起检索。 |
| 402 | 314 | localSearch.search(Address); |
| 403 | 315 | |
| 316 | + }, | |
| 317 | + | |
| 318 | + localtionPoint : function(stationNameV) { | |
| 319 | + | |
| 320 | + StationPositionsWorldsBMap.localSearchFromAdreesToPoint(stationNameV,function(Points) { | |
| 321 | + | |
| 322 | + if(Points) { | |
| 323 | + | |
| 324 | + var BJwpointsArray = Points.split(' '); | |
| 325 | + | |
| 326 | + var stationNameChangePoint = new BMap.Point(BJwpointsArray[0], BJwpointsArray[1]); | |
| 327 | + | |
| 328 | + var marker_stargt2 = new BMap.Marker(stationNameChangePoint); | |
| 329 | + | |
| 330 | + var PanOptions ={noAnimation :true}; | |
| 331 | + | |
| 332 | + mapBValue.panTo(stationNameChangePoint,PanOptions); | |
| 333 | + | |
| 334 | + mapBValue.panBy(0,-100); | |
| 335 | + | |
| 336 | + // 将标注添加到地图中 | |
| 337 | + mapBValue.addOverlay(marker_stargt2); | |
| 338 | + | |
| 339 | + //跳动的动画 | |
| 340 | + marker_stargt2.setAnimation(BMAP_ANIMATION_BOUNCE); | |
| 341 | + | |
| 342 | + } | |
| 343 | + | |
| 344 | + }); | |
| 345 | + | |
| 346 | + }, | |
| 347 | + | |
| 348 | + clearMarkAndOverlays : function() { | |
| 349 | + | |
| 350 | + // 清楚地图覆盖物 | |
| 351 | + mapBValue.clearOverlays(); | |
| 352 | + | |
| 404 | 353 | } |
| 405 | 354 | |
| 406 | 355 | } | ... | ... |
src/main/resources/static/pages/base/station/js/station-positions-reload.js
| ... | ... | @@ -42,13 +42,14 @@ |
| 42 | 42 | // 等候500毫秒执行 |
| 43 | 43 | setTimeout(function(){ |
| 44 | 44 | |
| 45 | - // 地图初始化 | |
| 46 | - var map_ = WorldsBMap.init(); | |
| 45 | + // 初始化地图 | |
| 46 | + var map_ = StationPositionsWorldsBMap.init(); | |
| 47 | 47 | |
| 48 | 48 | // 初始化绘制工具类 |
| 49 | - var drawingManager_ = WorldsBMap.initDrawingManager(map_,styleOptions); | |
| 49 | + var drawingManager_ = PositionsDrawingManagerObj.init(map_,styleOptions); | |
| 50 | 50 | |
| 51 | - PublicFunctions.initStationInfo(id,map_); | |
| 51 | + // 初始化站点信息 | |
| 52 | + PositionsPublicFunctions.initStationInfo(id); | |
| 52 | 53 | |
| 53 | 54 | },200); |
| 54 | 55 | ... | ... |
src/main/resources/static/pages/base/station/positions.html
| ... | ... | @@ -20,22 +20,17 @@ |
| 20 | 20 | </ul> |
| 21 | 21 | </div> |
| 22 | 22 | </div> |
| 23 | -<script type="text/javascript"> | |
| 24 | - | |
| 25 | - /** 定义全局变量 */ | |
| 26 | - | |
| 27 | - /** stationObj:站点信息对象;drawingManager:绘制工具对象;mapB:地图对象:circle:圆对象;polygon:多边形对象 */ | |
| 28 | - /* var stationObj = '', drawingManager= '', mapB = '',circle = '',polygon = ''; */ | |
| 29 | - | |
| 30 | - /** marker:覆盖物对象;infoWindow:信息窗口对象;Id:站点ID */ | |
| 31 | - /* var marker = '',infoWindow = '',id = ''; */ | |
| 32 | - | |
| 33 | -</script> | |
| 23 | + | |
| 24 | +<!-- 站点对象类 --> | |
| 25 | +<script src="/pages/base/station/js/positionstation.js"></script> | |
| 26 | + | |
| 27 | +<!-- 绘制工具类 --> | |
| 28 | +<script src="/pages/base/station/js/positionsdrwmager.js"></script> | |
| 34 | 29 | |
| 35 | 30 | <!-- 地图JS类库 --> |
| 36 | 31 | <script src="/pages/base/station/js/station-positions-map.js"></script> |
| 37 | 32 | |
| 38 | -<!-- 方法JS类库 --> | |
| 33 | +<!-- 方法函数JS类库 --> | |
| 39 | 34 | <script src="/pages/base/station/js/station-positions-function.js"></script> |
| 40 | 35 | |
| 41 | 36 | <!-- reloadJS类库 --> | ... | ... |
src/main/resources/static/pages/base/stationroute/add.html
| ... | ... | @@ -25,6 +25,8 @@ |
| 25 | 25 | |
| 26 | 26 | <input type="hidden" name="gPolygonGrid" id="gPolygonGridInput" value="" /> |
| 27 | 27 | |
| 28 | + <input type="hidden" name="gJwpoints" id="gJwpointsInput"> | |
| 29 | + | |
| 28 | 30 | <input type="hidden" name="dbType" id="dbTypeInput" value="b"/> |
| 29 | 31 | |
| 30 | 32 | <input type="hidden" name="x" id="xInput" value=""/> |
| ... | ... | @@ -123,14 +125,14 @@ |
| 123 | 125 | </div> |
| 124 | 126 | |
| 125 | 127 | <!-- 站点WGS经纬度 --> |
| 126 | - <div class="form-body"> | |
| 128 | + <!-- <div class="form-body"> | |
| 127 | 129 | <div class="form-group"> |
| 128 | 130 | <label class="col-md-3 control-label">站点WGS经纬度:</label> |
| 129 | 131 | <div class="col-md-6"> |
| 130 | 132 | <input type="text" class="form-control" name="gJwpoints" id="gJwpointsInput"> |
| 131 | 133 | </div> |
| 132 | 134 | </div> |
| 133 | - </div> | |
| 135 | + </div> --> | |
| 134 | 136 | |
| 135 | 137 | <!-- 范围图形类型 --> |
| 136 | 138 | <div class="form-body"> |
| ... | ... | @@ -151,7 +153,8 @@ |
| 151 | 153 | <div class="form-group"> |
| 152 | 154 | <label class="col-md-3 control-label">圆形半径:</label> |
| 153 | 155 | <div class="col-md-6"> |
| 154 | - <select name="radius" class="form-control" id="radiusSelect"> | |
| 156 | + <input type="text" class="form-control" name=radius id="radiusInput"> | |
| 157 | + <!-- <select name="radius" class="form-control" id="radiusSelect"> | |
| 155 | 158 | <option value="">-- 请选择圆形半径 --</option> |
| 156 | 159 | <option value="50">50</option> |
| 157 | 160 | <option value="100">100</option> |
| ... | ... | @@ -162,7 +165,7 @@ |
| 162 | 165 | <option value="350">350</option> |
| 163 | 166 | <option value="400">400</option> |
| 164 | 167 | <option value="450">450</option> |
| 165 | - </select> | |
| 168 | + </select> --> | |
| 166 | 169 | </div> |
| 167 | 170 | </div> |
| 168 | 171 | </div> |
| ... | ... | @@ -230,11 +233,12 @@ |
| 230 | 233 | </div> |
| 231 | 234 | </div> |
| 232 | 235 | <script type="text/javascript"> |
| 233 | -$(function(){ | |
| 236 | + | |
| 237 | +$('#add_station_mobal').on('AddStationMobal.show', function(e, addMap,ajaxd,addStationObj,lineObj,fun){ | |
| 234 | 238 | |
| 235 | - var addLine = LineObj.getLineObj(); | |
| 239 | + var Station = addStationObj.getAddStation(); | |
| 236 | 240 | |
| 237 | - var addStation = AddStationObj.getAddStation(); | |
| 241 | + var Line = lineObj.getLineObj(); | |
| 238 | 242 | |
| 239 | 243 | // 延迟加载 |
| 240 | 244 | setTimeout(function(){ |
| ... | ... | @@ -255,61 +259,31 @@ $(function(){ |
| 255 | 259 | $('#add_station_mobal').on('show.bs.modal', function () { |
| 256 | 260 | |
| 257 | 261 | // 线路ID |
| 258 | - $('#lineIdInput').val(addLine.id); | |
| 262 | + $('#lineIdInput').val(Line.id); | |
| 259 | 263 | |
| 260 | 264 | // 获取站点名称元素设值 |
| 261 | - $('#stationNameInput').val(addStation.stationNamebootbox).attr('Readonly','Readonly'); | |
| 265 | + $('#stationNameInput').val(Station.stationNamebootbox).attr('Readonly','Readonly'); | |
| 262 | 266 | |
| 263 | 267 | // 获取方向元素,并添加值 |
| 264 | - $('#stationdirSelect').val(addStation.dir).attr('Readonly','Readonly'); | |
| 268 | + $('#stationdirSelect').val(Station.dir).attr('Readonly','Readonly'); | |
| 265 | 269 | |
| 266 | 270 | // 百度地图经纬度坐标中心点 |
| 267 | - $('#bJwpointsInput').val(addStation.bJwpoints).attr('Readonly','Readonly'); | |
| 271 | + $('#bJwpointsInput').val(Station.bJwpoints).attr('Readonly','Readonly'); | |
| 268 | 272 | |
| 269 | 273 | // 百度坐标点图形集合 |
| 270 | - $('#bPolygonGridInput').val(addStation.bPolygonGrid); | |
| 274 | + $('#bPolygonGridInput').val(Station.bPolygonGrid); | |
| 271 | 275 | |
| 272 | 276 | // 获取图形类型元素,并添加值 |
| 273 | - $('#shapesTypeSelect').val(addStation.shapesType).attr('Readonly','Readonly'); | |
| 277 | + $('#shapesTypeSelect').val(Station.shapesType).attr('Readonly','Readonly'); | |
| 274 | 278 | |
| 275 | 279 | // 获取圆形半径元素,并添加值 |
| 276 | - $('#radiusSelect').val(addStation.radius).attr('Readonly','Readonly'); | |
| 280 | + $('#radiusInput').val(Station.radius).attr('Readonly','Readonly'); | |
| 277 | 281 | |
| 278 | 282 | // 是否撤销 |
| 279 | 283 | $('#destroySelect').val(0).attr('Readonly','Readonly'); |
| 280 | 284 | |
| 281 | - /* // WGS坐标点图形集合 | |
| 282 | - $('#bPolygonGridInput').val(addStaitonParmas.bPolygonGridInput); | |
| 283 | - | |
| 284 | - // 百度坐标点图形集合 | |
| 285 | - $('#gPolygonGridInput').val(addStaitonParmas.gPolygonGridInput); | |
| 286 | - | |
| 287 | - // 获取站点名称元素设值 | |
| 288 | - $('#stationNameInput').val(addStaitonParmas.stationNamebootbox).attr('Readonly','Readonly'); | |
| 289 | - | |
| 290 | - // 选择系统生成方式新增站点时的站点坐标 | |
| 291 | - //$('#pointsInput').val(addStaitonParmas.stationPointInput).attr('Readonly','Readonly'); | |
| 292 | - | |
| 293 | - // 百度地图经纬度坐标中心点 | |
| 294 | - $('#bJwpointsInput').val(addStaitonParmas.stationPointInput).attr('Readonly','Readonly'); | |
| 295 | - | |
| 296 | - // WGS经纬度 | |
| 297 | - $('#gJwpointsInput').val(addStaitonParmas.gLonx + ' '+ addStaitonParmas.gLaty).attr('Readonly','Readonly'); | |
| 298 | - | |
| 299 | - // 获取图形类型元素,并添加值 | |
| 300 | - $('#shapesTypeSelect').val(addStaitonParmas.shapesTypeInput).attr('Readonly','Readonly'); | |
| 301 | - | |
| 302 | - // 获取方向元素,并添加值 | |
| 303 | - $('#stationdirSelect').val(addStaitonParmas.dir).attr('Readonly','Readonly'); | |
| 304 | - | |
| 305 | - // 获取方向元素,并添加值 | |
| 306 | - $('#radiusSelect').val(addStaitonParmas.radiusInput).attr('Readonly','Readonly'); | |
| 307 | - | |
| 308 | - // 是否撤销 | |
| 309 | - $('#destroySelect').val(addStaitonParmas.destroyInput).attr('Readonly','Readonly'); */ | |
| 310 | - | |
| 311 | 285 | // 获取站点序号元素,并添加下拉属性值 |
| 312 | - GetAjaxData.getStation(addLine.id,addStation.dir,function(treeData) { | |
| 286 | + ajaxd.getStation(Line.id,Station.dir,function(treeData) { | |
| 313 | 287 | |
| 314 | 288 | var options = '<option value="">请选择...</option>'; |
| 315 | 289 | |
| ... | ... | @@ -326,7 +300,7 @@ $(function(){ |
| 326 | 300 | }); |
| 327 | 301 | |
| 328 | 302 | // 获取站点编码元素,添加站点编码值 |
| 329 | - GetAjaxData.getStationCode(function(stationCode) { | |
| 303 | + ajaxd.getStationCode(function(stationCode) { | |
| 330 | 304 | |
| 331 | 305 | $('#stationCodInput').val(stationCode).attr('Readonly','Readonly'); |
| 332 | 306 | |
| ... | ... | @@ -483,7 +457,7 @@ $(function(){ |
| 483 | 457 | error.hide(); |
| 484 | 458 | |
| 485 | 459 | // 保存 |
| 486 | - GetAjaxData.stationSave(params,function(data) { | |
| 460 | + ajaxd.stationSave(params,function(data) { | |
| 487 | 461 | |
| 488 | 462 | if(data.status=='SUCCESS') { |
| 489 | 463 | |
| ... | ... | @@ -497,12 +471,12 @@ $(function(){ |
| 497 | 471 | |
| 498 | 472 | } |
| 499 | 473 | |
| 500 | - var id =addLine.id; | |
| 474 | + var id =Line.id; | |
| 501 | 475 | |
| 502 | 476 | var dir = params.directions |
| 503 | 477 | |
| 504 | 478 | // 刷行左边树 |
| 505 | - PublicFunctions.resjtreeDate(id,dir); | |
| 479 | + fun.resjtreeDate(id,dir); | |
| 506 | 480 | |
| 507 | 481 | closeMobleSetClean(); |
| 508 | 482 | |
| ... | ... | @@ -517,16 +491,16 @@ $(function(){ |
| 517 | 491 | function closeMobleSetClean() { |
| 518 | 492 | |
| 519 | 493 | // 清除地图覆盖物 |
| 520 | - WorldsBMap.clearMarkAndOverlays(); | |
| 494 | + addMap.clearMarkAndOverlays(); | |
| 521 | 495 | |
| 522 | 496 | /** 设置新增站点集合对象为空 */ |
| 523 | - AddStationObj.setAddStation(); | |
| 497 | + addStationObj.setAddStation({}); | |
| 524 | 498 | |
| 525 | 499 | var add_direction_v = $('#stationdirSelect').val(); |
| 526 | 500 | |
| 527 | - GetAjaxData.getSectionRouteInfo(addLine.id,add_direction_v,function(data) { | |
| 501 | + ajaxd.getSectionRouteInfo(Line.id,add_direction_v,function(data) { | |
| 528 | 502 | |
| 529 | - PublicFunctions.linePanlThree(addLine.id,data,add_direction_v); | |
| 503 | + fun.linePanlThree(Line.id,data,add_direction_v); | |
| 530 | 504 | |
| 531 | 505 | }); |
| 532 | 506 | ... | ... |
src/main/resources/static/pages/base/stationroute/add_manual_select.html
| ... | ... | @@ -38,7 +38,8 @@ |
| 38 | 38 | </div> |
| 39 | 39 | </div> |
| 40 | 40 | <script type="text/javascript"> |
| 41 | -$(function(){ | |
| 41 | + | |
| 42 | +$('#add_manual_mobal').on('AddManualMobal.show', function(e,map,ajaxd,dir,line,fun){ | |
| 42 | 43 | |
| 43 | 44 | // 显示其他规划方式弹出层 |
| 44 | 45 | $('#add_manual_mobal').modal({show : true,backdrop: 'static', keyboard: false}); |
| ... | ... | @@ -61,7 +62,13 @@ $(function(){ |
| 61 | 62 | if(addManualRadioV==0){ |
| 62 | 63 | |
| 63 | 64 | // 加载模板手动添加站点页面 |
| 64 | - $.get('addstationstemplate.html', function(m){$(pjaxContainer).append(m);}); | |
| 65 | + $.get('addstationstemplate.html', function(m){ | |
| 66 | + | |
| 67 | + $(pjaxContainer).append(m); | |
| 68 | + | |
| 69 | + $('#add_station_template_mobal').trigger('AddStationTempMobal.show', [map,ajaxd,dir,line,fun]); | |
| 70 | + | |
| 71 | + }); | |
| 65 | 72 | |
| 66 | 73 | }else if(addManualRadioV==1) { |
| 67 | 74 | ... | ... |
src/main/resources/static/pages/base/stationroute/add_select.html
| ... | ... | @@ -63,7 +63,8 @@ |
| 63 | 63 | </div> |
| 64 | 64 | </div> |
| 65 | 65 | <script type="text/javascript"> |
| 66 | -$(function(){ | |
| 66 | + | |
| 67 | +$('#add_select_mobal').on('AddSelectMobal.show', function(e,map_,drw,ajaxd_,stationObj,lineObj,fun){ | |
| 67 | 68 | |
| 68 | 69 | // 加载显示mobal |
| 69 | 70 | $('#add_select_mobal').modal({show : true,backdrop: 'static', keyboard: false}); |
| ... | ... | @@ -75,7 +76,7 @@ $(function(){ |
| 75 | 76 | var stationNamebootbox = $('#stationNamebootboxInput').val(); |
| 76 | 77 | |
| 77 | 78 | /** 根据站点名称获取坐标在地图上标注 @param :<stationNamebootbox:站点名称> */ |
| 78 | - WorldsBMap.localtionPoint(stationNamebootbox); | |
| 79 | + map_.localtionPoint(stationNamebootbox); | |
| 79 | 80 | |
| 80 | 81 | }); |
| 81 | 82 | |
| ... | ... | @@ -156,41 +157,49 @@ $(function(){ |
| 156 | 157 | var baseRes = params.baseRes; |
| 157 | 158 | |
| 158 | 159 | // 查询是否存在输入的站点名称 |
| 159 | - GetAjaxData.getLikeStationName(stationName,function(data) { | |
| 160 | + ajaxd_.getLikeStationName(stationName,function(data) { | |
| 160 | 161 | |
| 161 | 162 | // 验证系统是存在该站点名称 |
| 162 | - var tempblm = PublicFunctions.isHaveStationName(data); | |
| 163 | + var tempblm = fun.isHaveStationName(data); | |
| 163 | 164 | |
| 164 | 165 | if(tempblm) { |
| 165 | 166 | |
| 166 | 167 | /** 设置新增站点对象站点名称属性值 @param:<stationName:站点名称)> */ |
| 167 | - AddStationObj.setAddStationName(stationName); | |
| 168 | + stationObj.setAddStationName(stationName); | |
| 168 | 169 | |
| 169 | 170 | // 系统生成 |
| 170 | 171 | if(baseRes == 0) { |
| 171 | 172 | |
| 172 | 173 | /** 根据站点位置获取坐标 @parma:<stationName:站点名称;callback:返回函数> */ |
| 173 | - WorldsBMap.localSearchFromAdreesToPoint(stationName,function(Points) { | |
| 174 | + map_.localSearchFromAdreesToPoint(stationName,function(Points) { | |
| 174 | 175 | |
| 175 | 176 | if(Points) { |
| 176 | 177 | |
| 177 | 178 | /** 设置新增站点集合对象站点中心点百度坐标属性值 @param:<bJwpoints:中心点百度坐标) */ |
| 178 | - AddStationObj.setAddStationBJwpoints(Points); | |
| 179 | + stationObj.setAddStationBJwpoints(Points); | |
| 179 | 180 | |
| 180 | 181 | /** 设置新增站点集合对象范围图形类型属性值 @param:<shapesType:范围图形类型) */ |
| 181 | - AddStationObj.setAddStationShapesType('r'); | |
| 182 | + stationObj.setAddStationShapesType('r'); | |
| 182 | 183 | |
| 183 | 184 | /** 设置新增站点集合对象圆形半径属性值 @param:<radius:圆形半径) */ |
| 184 | - AddStationObj.setAddStationRadius(100); | |
| 185 | + stationObj.setAddStationRadius(100); | |
| 185 | 186 | |
| 186 | 187 | /** 设置新增站点集合对象图形百度坐标集合属性值 @param:<bPolygonGrid:图形百度坐标集合) */ |
| 187 | - AddStationObj.setBPolygonGrid(''); | |
| 188 | + stationObj.setBPolygonGrid(''); | |
| 188 | 189 | |
| 189 | 190 | // 以藏站点新增方式mobal |
| 190 | 191 | $('#add_select_mobal').modal('hide'); |
| 191 | 192 | |
| 192 | 193 | // 加载add页面 |
| 193 | - $.get('add.html', function(m){$(pjaxContainer).append(m);}); | |
| 194 | + $.get('add.html', function(m){ | |
| 195 | + | |
| 196 | + $(pjaxContainer).append(m); | |
| 197 | + | |
| 198 | + var Station = stationObj.getAddStation(); | |
| 199 | + | |
| 200 | + $('#add_station_mobal').trigger('AddStationMobal.show', [map_,ajaxd_,stationObj,lineObj,fun]); | |
| 201 | + | |
| 202 | + }); | |
| 194 | 203 | |
| 195 | 204 | }else { |
| 196 | 205 | |
| ... | ... | @@ -207,15 +216,23 @@ $(function(){ |
| 207 | 216 | |
| 208 | 217 | }else if(baseRes==1) { |
| 209 | 218 | |
| 210 | - WorldsBMap.clearMarkAndOverlays(); | |
| 219 | + map_.clearMarkAndOverlays(); | |
| 211 | 220 | |
| 212 | 221 | // 以藏站点新增方式mobal |
| 213 | 222 | $('#add_select_mobal').modal('hide'); |
| 214 | 223 | |
| 215 | 224 | // 打开绘制工具 |
| 216 | - DrawingManagerObj.openDrawingManager(); | |
| 225 | + drw.openDrawingManager(); | |
| 217 | 226 | |
| 218 | - WorldsBMap.localtionPoint(stationName); | |
| 227 | + map_.localtionPoint(stationName); | |
| 228 | + | |
| 229 | + }else if(baseRes==2) { | |
| 230 | + | |
| 231 | + // 系统引用 | |
| 232 | + | |
| 233 | + $('#add_select_mobal').modal('hide'); | |
| 234 | + | |
| 235 | + $.get('station_tabledate.html', function(m){$(pjaxContainer).append(m);}); | |
| 219 | 236 | |
| 220 | 237 | } |
| 221 | 238 | |
| ... | ... | @@ -229,88 +246,9 @@ $(function(){ |
| 229 | 246 | }); |
| 230 | 247 | |
| 231 | 248 | } |
| 232 | - | |
| 233 | - /* | |
| 234 | - // 系统生成 | |
| 235 | - if(baseRes == 0) { | |
| 236 | - | |
| 237 | - if(tempblm) { | |
| 238 | - | |
| 239 | - WorldsBMap.localSearchFromAdreesToPoint(stationNamebootbox,mapB,function(Points) { | |
| 240 | - | |
| 241 | - if(Points) { | |
| 242 | - | |
| 243 | - var pointsArray = Points.split(' '); | |
| 244 | - | |
| 245 | - var paramCentre = [{potion:{lng:pointsArray[0],lat:pointsArray[1]}}]; | |
| 246 | - | |
| 247 | - // 设置值 | |
| 248 | - PublicFunctions.setFormInputValue(Points, '','','','','r',100); | |
| 249 | - | |
| 250 | - // 以藏站点新增方式mobal | |
| 251 | - $('#add_select_mobal').modal('hide'); | |
| 252 | - | |
| 253 | - // 加载add页面 | |
| 254 | - $.get('add.html', function(m){$(pjaxContainer).append(m);}); | |
| 255 | - | |
| 256 | - // GetAjaxData.getFormPointEToWGS(paramCentre,function(p) { | |
| 257 | - | |
| 258 | - // 设置值 | |
| 259 | - // PublicFunctions.setFormInputValue(Points, p[0].WGSpotion.Lng,p[0].WGSpotion.Lat,'','','r',150); | |
| 260 | - | |
| 261 | - // 以藏站点新增方式mobal | |
| 262 | - // $('#add_select_mobal').modal('hide'); | |
| 263 | - | |
| 264 | - // 加载add页面 | |
| 265 | - $.get('add.html', function(m){$(pjaxContainer).append(m);}); | |
| 266 | - | |
| 267 | - }); | |
| 268 | - | |
| 269 | - } else { | |
| 270 | - | |
| 271 | - // 返回坐标为空 | |
| 272 | - layer.confirm('【系统无法生成,请选择其他方式新增】', {btn : [ '返回' ],icon: 3, title:'提示' }, function(index){ | |
| 273 | - | |
| 274 | - layer.close(index); | |
| 275 | - | |
| 276 | - }); | |
| 277 | - | |
| 278 | - } | |
| 279 | - | |
| 280 | - }); | |
| 281 | - | |
| 282 | - } | |
| 283 | - | |
| 284 | - // 手动添加 | |
| 285 | - }else if(baseRes==1) { | |
| 286 | - | |
| 287 | - // 验证系统是存在该站点名称 | |
| 288 | - var tempblm = PublicFunctions.isHaveStationName(data); | |
| 289 | - | |
| 290 | - if(tempblm) { | |
| 291 | - | |
| 292 | - // 以藏站点新增方式mobal | |
| 293 | - $('#add_select_mobal').modal('hide'); | |
| 294 | - | |
| 295 | - status = 'add'; | |
| 296 | - | |
| 297 | - WorldsBMap.drawingManagerOpen(); | |
| 298 | - WorldsBMap.localtionPoint(stationNamebootbox); | |
| 299 | - | |
| 300 | - } | |
| 301 | - | |
| 302 | - | |
| 303 | - }else if(baseRes==2) { | |
| 304 | - | |
| 305 | - // 系统引用 | |
| 306 | - | |
| 307 | - $('#add_select_mobal').modal('hide'); | |
| 308 | - | |
| 309 | - $.get('station_tabledate.html', function(m){$(pjaxContainer).append(m);}); | |
| 310 | - }*/ | |
| 249 | + | |
| 311 | 250 | }); |
| 312 | 251 | } |
| 313 | 252 | }); |
| 314 | - | |
| 315 | 253 | }); |
| 316 | 254 | </script> |
| 317 | 255 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/base/stationroute/addstationstemplate.html
| ... | ... | @@ -34,8 +34,8 @@ |
| 34 | 34 | |
| 35 | 35 | <div class="form-group"> |
| 36 | 36 | <div class="alert alert-info font-blue-chambray" style="background-color: #2C3E50"> |
| 37 | - <h5 class="block"><span class="help-block" style="color:#eee;"> * 手动添加站点规划说明: </span></h5> | |
| 38 | - <p><span class="help-block" style="color:#eee;"> 请在文本域中按站点顺序依次输入站点名称,每输入完一个站名时请按回车键(Enter)换行.</span> </p> | |
| 37 | + <h5 class="block"><span class="help-block" style="color:#1bbc9b;"> * 手动添加站点规划说明: </span></h5> | |
| 38 | + <p><span class="help-block" style="color:#1bbc9b;"> 请在文本域中按站点顺序依次输入站点名称,每输入完一个站名时请按回车键(Enter)换行.</span> </p> | |
| 39 | 39 | </div> |
| 40 | 40 | </div> |
| 41 | 41 | </form> |
| ... | ... | @@ -48,7 +48,8 @@ |
| 48 | 48 | </div> |
| 49 | 49 | </div> |
| 50 | 50 | <script type="text/javascript"> |
| 51 | -$(function(){ | |
| 51 | + | |
| 52 | +$('#add_station_template_mobal').on('AddStationTempMobal.show', function(e,map,ajaxd,dir,line,fun){ | |
| 52 | 53 | |
| 53 | 54 | // 延迟加载显示mobal |
| 54 | 55 | setTimeout(function(){$('#add_station_template_mobal').modal({show : true,backdrop: 'static', keyboard: false});},200); |
| ... | ... | @@ -117,7 +118,7 @@ $(function(){ |
| 117 | 118 | // 隐藏手动规划弹出层 |
| 118 | 119 | $('#add_station_template_mobal').modal('hide'); |
| 119 | 120 | |
| 120 | - var directionData = manualPararms.dir; | |
| 121 | + var directionData = dir; | |
| 121 | 122 | |
| 122 | 123 | // 上行 |
| 123 | 124 | if(directionData==0){ |
| ... | ... | @@ -143,13 +144,15 @@ $(function(){ |
| 143 | 144 | var paramsStationsArray = params.stations.split('\r\n'); |
| 144 | 145 | |
| 145 | 146 | // 根据站点名称获取百度坐标 |
| 146 | - WorldsBMap.stationsNameToPoints(paramsStationsArray,function(resultJson) { | |
| 147 | + map.stationsNameToPoints(paramsStationsArray,function(resultJson) { | |
| 147 | 148 | |
| 148 | 149 | // 根据坐标点获取两点之间的时间与距离 |
| 149 | - WorldsBMap.getDistanceAndDuration(resultJson,function(stationdataList) { | |
| 150 | + map.getDistanceAndDuration(resultJson,function(stationdataList) { | |
| 150 | 151 | |
| 151 | 152 | // 根据坐标点获取两点之间的折线路段 |
| 152 | - WorldsBMap.getSectionListPlonly(stationdataList,function(sectiondata) { | |
| 153 | + map.getSectionListPlonly(stationdataList,function(sectiondata) { | |
| 154 | + | |
| 155 | + var addLine = LineObj.getLineObj(); | |
| 153 | 156 | |
| 154 | 157 | // 设置第一个站的距离 |
| 155 | 158 | stationdataList[0].distance = ''; |
| ... | ... | @@ -170,7 +173,7 @@ $(function(){ |
| 170 | 173 | params.stationJSON = stationJSON; |
| 171 | 174 | |
| 172 | 175 | // 线路ID |
| 173 | - params.lineId = id; | |
| 176 | + params.lineId = addLine.id; | |
| 174 | 177 | |
| 175 | 178 | // 方向 |
| 176 | 179 | params.directions = directionData; |
| ... | ... | @@ -197,120 +200,37 @@ $(function(){ |
| 197 | 200 | params.sectionJSON = sectionJSON; |
| 198 | 201 | |
| 199 | 202 | // 保存 |
| 200 | - GetAjaxData.manualSave(params,function(rd) { | |
| 203 | + ajaxd.manualSave(params,function(rd) { | |
| 201 | 204 | |
| 202 | - // 关闭弹出层 | |
| 203 | - layer.closeAll(); | |
| 204 | - | |
| 205 | 205 | if(rd.status='SUCCESS') { |
| 206 | 206 | |
| 207 | - // 清除地图覆盖物 | |
| 208 | - mapB.clearOverlays(); | |
| 209 | - | |
| 210 | 207 | layer.msg('保存成功!'); |
| 211 | 208 | |
| 212 | - // 刷新树 | |
| 213 | - PublicFunctions.resjtreeDate(id,directionData); | |
| 214 | - | |
| 215 | - // 查询上行路段信息 | |
| 216 | - GetAjaxData.getSectionRouteInfo(id,directionData,function(data) { | |
| 217 | - | |
| 218 | - // 在地图上画出线路走向 | |
| 219 | - PublicFunctions.linePanlThree(data,directionData); | |
| 220 | - | |
| 221 | - }); | |
| 222 | - | |
| 223 | 209 | }else { |
| 224 | 210 | |
| 225 | 211 | layer.msg('保存失败!'); |
| 226 | 212 | |
| 227 | 213 | } |
| 228 | 214 | |
| 229 | - }); | |
| 230 | - /* | |
| 231 | - // 路段折线百度坐标转WGS坐标 | |
| 232 | - PublicFunctions.eachSectionList(sectiondata,function(successdata) { | |
| 215 | + // 关闭弹出层 | |
| 216 | + layer.closeAll(); | |
| 233 | 217 | |
| 234 | - // 站点坐标转WGS坐标 | |
| 235 | - GetAjaxData.getFormPointEToWGS(stationdataList,function(stationdata) { | |
| 236 | - | |
| 237 | - // 定义站点信息JSON字符串 | |
| 238 | - var stationJSON = JSON.stringify(stationdata); | |
| 239 | - | |
| 240 | - // 定义路段信息字符串 | |
| 241 | - var sectionJSON = JSON.stringify(successdata); | |
| 242 | - | |
| 243 | - // 参数集合 | |
| 244 | - var params = {}; | |
| 245 | - | |
| 246 | - // 站点信息JSON字符串 | |
| 247 | - params.stationJSON = stationJSON; | |
| 248 | - | |
| 249 | - // 线路ID | |
| 250 | - params.lineId = id; | |
| 251 | - | |
| 252 | - // 方向 | |
| 253 | - params.directions = directionData; | |
| 254 | - | |
| 255 | - // 原始坐标类型 | |
| 256 | - params.dbType = 'b'; | |
| 257 | - | |
| 258 | - // 圆形半径 | |
| 259 | - params.radius = '300'; | |
| 260 | - | |
| 261 | - // 限速 | |
| 262 | - params.speedLimit = '60'; | |
| 263 | - | |
| 264 | - // 图形类型(r:圆形;p:多边形) | |
| 265 | - params.shapesType = 'r'; | |
| 266 | - | |
| 267 | - // destroy:是否撤销 | |
| 268 | - params.destroy = '0'; | |
| 269 | - | |
| 270 | - // versions:版本号 | |
| 271 | - params.versions = '1'; | |
| 272 | - | |
| 273 | - // 路段信息JSON字符串 | |
| 274 | - params.sectionJSON = sectionJSON; | |
| 218 | + // 清除地图覆盖物 | |
| 219 | + map.clearOverlays(); | |
| 220 | + | |
| 221 | + // 刷新树 | |
| 222 | + fun.resjtreeDate(addLine.id,directionData); | |
| 223 | + | |
| 224 | + // 查询上行路段信息 | |
| 225 | + ajaxd.getSectionRouteInfo(addLine.id,directionData,function(data) { | |
| 275 | 226 | |
| 276 | - console.log(params); | |
| 227 | + // 在地图上画出线路走向 | |
| 228 | + fun.linePanlThree(data,directionData); | |
| 277 | 229 | |
| 278 | - // 保存 | |
| 279 | - GetAjaxData.manualSave(params,function(rd) { | |
| 280 | - | |
| 281 | - // 关闭弹出层 | |
| 282 | - layer.closeAll(); | |
| 283 | - | |
| 284 | - if(rd.status='SUCCESS') { | |
| 285 | - | |
| 286 | - // 清除地图覆盖物 | |
| 287 | - map.clearOverlays(); | |
| 288 | - | |
| 289 | - layer.msg('保存成功!'); | |
| 290 | - | |
| 291 | - // 刷新树 | |
| 292 | - PublicFunctions.resjtreeDate(id,directionData); | |
| 293 | - | |
| 294 | - // 查询上行路段信息 | |
| 295 | - GetAjaxData.getSectionRouteInfo(id,directionData,function(data) { | |
| 296 | - | |
| 297 | - // 在地图上画出线路走向 | |
| 298 | - PublicFunctions.linePanlThree(data,directionData); | |
| 299 | - | |
| 300 | - }); | |
| 301 | - | |
| 302 | - }else { | |
| 303 | - | |
| 304 | - layer.msg('保存失败!'); | |
| 305 | - | |
| 306 | - } | |
| 307 | - | |
| 308 | - }); | |
| 309 | - | |
| 310 | - }); | |
| 230 | + }); | |
| 311 | 231 | |
| 312 | - });*/ | |
| 313 | - | |
| 232 | + }); | |
| 233 | + | |
| 314 | 234 | }); |
| 315 | 235 | |
| 316 | 236 | }); | ... | ... |
src/main/resources/static/pages/base/stationroute/edit.html
| ... | ... | @@ -225,19 +225,20 @@ |
| 225 | 225 | </div> |
| 226 | 226 | </div> |
| 227 | 227 | </div> |
| 228 | -<script type="text/javascript"> | |
| 229 | -$(function(){ | |
| 228 | +<script type="text/javascript"> | |
| 229 | + | |
| 230 | +$('#edit_station_mobal').on('editSelectMobal_show', function(e, map_,ajaxd,station_,Line_,fun){ | |
| 230 | 231 | |
| 231 | - var editStationParmasObj = EditStationObj.getEitdStation(); | |
| 232 | + var editStationParmasObj = station_.getEitdStation(); | |
| 232 | 233 | |
| 233 | - var addLine = LineObj.getLineObj(); | |
| 234 | + var addLine = Line_.getLineObj(); | |
| 234 | 235 | |
| 235 | - PublicFunctions.setFormValue(editStationParmasObj); | |
| 236 | + fun.setFormValue(editStationParmasObj); | |
| 236 | 237 | |
| 237 | 238 | var edit_direction_v = editStationParmasObj.stationRouteDirections; |
| 238 | 239 | |
| 239 | 240 | // 获取站点序号元素,并添加下拉属性值 |
| 240 | - GetAjaxData.getStation(addLine.id,edit_direction_v,function(treeData) { | |
| 241 | + ajaxd.getStation(addLine.id,edit_direction_v,function(treeData) { | |
| 241 | 242 | |
| 242 | 243 | var options = '<option value="">请选择...</option>'; |
| 243 | 244 | |
| ... | ... | @@ -262,7 +263,7 @@ $(function(){ |
| 262 | 263 | |
| 263 | 264 | $('#stationrouteSelect').html(options); |
| 264 | 265 | |
| 265 | - GetAjaxData.findUpStationRouteCode(addLine.id,edit_direction_v,editStationParmasObj.stationRouteStationRouteCode,function(str) { | |
| 266 | + ajaxd.findUpStationRouteCode(addLine.id,edit_direction_v,editStationParmasObj.stationRouteStationRouteCode,function(str) { | |
| 266 | 267 | |
| 267 | 268 | if(str.length>0){ |
| 268 | 269 | |
| ... | ... | @@ -289,16 +290,20 @@ $(function(){ |
| 289 | 290 | function closeMobleSetClean() { |
| 290 | 291 | |
| 291 | 292 | // 清除地图覆盖物 |
| 292 | - WorldsBMap.clearMarkAndOverlays(); | |
| 293 | + map_.clearMarkAndOverlays(); | |
| 293 | 294 | |
| 294 | 295 | /** 设置新增站点集合对象为空 */ |
| 295 | - EditStationObj.setEitdStation({}); | |
| 296 | + station_.setEitdStation({}); | |
| 296 | 297 | |
| 297 | 298 | var add_direction_v = $('#stationdirSelect').val(); |
| 298 | 299 | |
| 299 | - GetAjaxData.getSectionRouteInfo(addLine.id,add_direction_v,function(data) { | |
| 300 | + fun.resjtreeDate(addLine.id,add_direction_v); | |
| 301 | + | |
| 302 | + fun.editAChangeCssRemoveDisabled(); | |
| 303 | + | |
| 304 | + ajaxd.getSectionRouteInfo(addLine.id,add_direction_v,function(data) { | |
| 300 | 305 | |
| 301 | - PublicFunctions.linePanlThree(addLine.id,data,add_direction_v); | |
| 306 | + fun.linePanlThree(addLine.id,data,add_direction_v); | |
| 302 | 307 | |
| 303 | 308 | }); |
| 304 | 309 | |
| ... | ... | @@ -431,7 +436,7 @@ $(function(){ |
| 431 | 436 | |
| 432 | 437 | error.hide(); |
| 433 | 438 | |
| 434 | - GetAjaxData.stationUpdate(params,function(resuntDate) { | |
| 439 | + ajaxd.stationUpdate(params,function(resuntDate) { | |
| 435 | 440 | |
| 436 | 441 | if(resuntDate.status=='SUCCESS') { |
| 437 | 442 | |
| ... | ... | @@ -446,17 +451,17 @@ $(function(){ |
| 446 | 451 | |
| 447 | 452 | } |
| 448 | 453 | |
| 454 | + $('#edit_station_mobal').modal('hide'); | |
| 455 | + | |
| 449 | 456 | var id = addLine.id; |
| 450 | 457 | |
| 451 | 458 | var dir = params.directions |
| 452 | 459 | |
| 453 | 460 | // 刷行左边树 |
| 454 | - PublicFunctions.resjtreeDate(id,dir); | |
| 461 | + fun.resjtreeDate(id,dir); | |
| 455 | 462 | |
| 456 | 463 | closeMobleSetClean(); |
| 457 | 464 | |
| 458 | - $('#edit_station_mobal').modal('hide'); | |
| 459 | - | |
| 460 | 465 | }); |
| 461 | 466 | |
| 462 | 467 | } |
| ... | ... | @@ -471,8 +476,6 @@ $(function(){ |
| 471 | 476 | |
| 472 | 477 | var tempStr = stationRValue.split('_'); |
| 473 | 478 | |
| 474 | - console.log(tempStr); | |
| 475 | - | |
| 476 | 479 | if(tempStr[1] == 'E') { |
| 477 | 480 | |
| 478 | 481 | $('#stationMarkSelect').val('E'); |
| ... | ... | @@ -487,7 +490,6 @@ $(function(){ |
| 487 | 490 | |
| 488 | 491 | }); |
| 489 | 492 | |
| 490 | - | |
| 491 | 493 | // 当站点类型为中途站或者终点站时,上一站点为必填项! |
| 492 | 494 | $.validator.addMethod("isStart", function(value,element) { |
| 493 | 495 | ... | ... |
src/main/resources/static/pages/base/stationroute/edit_select.html
| ... | ... | @@ -36,14 +36,14 @@ |
| 36 | 36 | <div class="col-md-9"> |
| 37 | 37 | <div class="icheck-list"> |
| 38 | 38 | <label> |
| 39 | - <input type="radio" class="icheck" name="editselect" value=0> 手动规划 | |
| 39 | + <input type="radio" class="icheck" name="editselect" value=0> 重新绘制位置 | |
| 40 | 40 | </label> |
| 41 | 41 | <label> |
| 42 | - <input type="radio" class="icheck" name="editselect" value=1 checked> 重新编辑 | |
| 42 | + <input type="radio" class="icheck" name="editselect" value=1 checked> 编辑原始位置 | |
| 43 | 43 | </label> |
| 44 | - <label > | |
| 44 | + <!-- <label > | |
| 45 | 45 | <input type="radio" class="icheck" name="editselect" value=2 > 选择引用 |
| 46 | - </label> | |
| 46 | + </label> --> | |
| 47 | 47 | </div> |
| 48 | 48 | </div> |
| 49 | 49 | </div> |
| ... | ... | @@ -68,19 +68,23 @@ |
| 68 | 68 | </div> |
| 69 | 69 | <script type="text/javascript"> |
| 70 | 70 | |
| 71 | -$(function(){ | |
| 71 | +$('#edit_select_mobal').on('editSelectMobal_show', function(e, map_,drw,ajaxd,editStationObj,lineObj,fun,dir_){ | |
| 72 | + | |
| 73 | + var sel = fun.getCurrSelNode(dir_); | |
| 74 | + | |
| 75 | + var Station = sel[0].original; | |
| 72 | 76 | |
| 73 | 77 | // 获取修改站点对象 |
| 74 | - var editStationParmas = EditStationObj.getEitdStation(); | |
| 78 | + /* var Station = editStationObj.getEitdStation(); */ | |
| 75 | 79 | |
| 76 | 80 | // 显示选择修改方式弹出层 |
| 77 | 81 | $('#edit_select_mobal').modal({show : true,backdrop: 'static',keyboard: false}); |
| 78 | 82 | |
| 79 | 83 | // 获取站点名称元素并赋值 |
| 80 | - $('#stationNamebootbox').val(editStationParmas.stationStationName); | |
| 84 | + $('#stationNamebootbox').val(Station.stationStationName); | |
| 81 | 85 | |
| 82 | 86 | // 定义站点图形 |
| 83 | - var stationShapesTypeV = editStationParmas.stationShapesType; | |
| 87 | + var stationShapesTypeV = Station.stationShapesType; | |
| 84 | 88 | |
| 85 | 89 | // 获取表单元素 |
| 86 | 90 | var form = $('#edit_select'); |
| ... | ... | @@ -147,33 +151,33 @@ $(function(){ |
| 147 | 151 | |
| 148 | 152 | submitHandler : function(f) { |
| 149 | 153 | |
| 154 | + editStationObj.setEitdStation(Station); | |
| 155 | + | |
| 150 | 156 | // 隐藏弹出层 |
| 151 | 157 | $('#edit_select_mobal').modal('hide'); |
| 152 | 158 | |
| 159 | + $('#downLine').addClass('btn disabled'); | |
| 160 | + | |
| 161 | + $('.btn-circle').addClass('disabled'); | |
| 162 | + | |
| 163 | + $('#upLine').addClass('btn disabled'); | |
| 164 | + | |
| 153 | 165 | // 表单序列 |
| 154 | 166 | var params = form.serializeJSON(); |
| 155 | 167 | |
| 156 | 168 | // 站点名称 |
| 157 | 169 | var editStationName = params.stationNamebootbox; |
| 158 | 170 | |
| 159 | - EditStationObj.setEitdStationName(editStationName); | |
| 171 | + editStationObj.setEitdStationName(editStationName); | |
| 160 | 172 | |
| 161 | 173 | if(params.editselect==0){ |
| 162 | 174 | |
| 163 | - WorldsBMap.clearMarkAndOverlays(); | |
| 175 | + map_.clearMarkAndOverlays(); | |
| 164 | 176 | |
| 165 | 177 | // 打开绘制工具 |
| 166 | - DrawingManagerObj.openDrawingManager(); | |
| 167 | - | |
| 168 | - WorldsBMap.localtionPoint(editStationName); | |
| 169 | - | |
| 170 | - /* status = 'edit'; | |
| 171 | - | |
| 172 | - // 站点名称 | |
| 173 | - editStationParmas.stationNamebootbox = editStationName; | |
| 174 | - | |
| 175 | - WorldsBMap.drawingManagerOpen(); */ | |
| 178 | + drw.openDrawingManager(); | |
| 176 | 179 | |
| 180 | + map_.localtionPoint(editStationName); | |
| 177 | 181 | |
| 178 | 182 | }else if(params.editselect==1){ |
| 179 | 183 | |
| ... | ... | @@ -182,7 +186,7 @@ $(function(){ |
| 182 | 186 | shift: 0,time: 10000}); |
| 183 | 187 | |
| 184 | 188 | // 编辑图形 |
| 185 | - WorldsBMap.editShapes(editStationName,stationShapesTypeV,mindex); | |
| 189 | + map_.editShapes(editStationName,stationShapesTypeV,mindex); | |
| 186 | 190 | |
| 187 | 191 | }else if(params.editselect==2){ |
| 188 | 192 | |
| ... | ... | @@ -191,11 +195,9 @@ $(function(){ |
| 191 | 195 | |
| 192 | 196 | $.get('station_tabledate.html', function(m){$(pjaxContainer).append(m);}); |
| 193 | 197 | |
| 194 | - | |
| 195 | 198 | } |
| 196 | 199 | |
| 197 | 200 | } |
| 198 | 201 | }); |
| 199 | - | |
| 200 | -}); | |
| 202 | +}) | |
| 201 | 203 | </script> |
| 202 | 204 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/base/stationroute/editsection.html
0 → 100644
| 1 | +<!-- 编辑路段 --> | |
| 2 | +<div class="modal fade" id="edit_section_mobal" tabindex="-1" role="basic" aria-hidden="true"> | |
| 3 | + | |
| 4 | + <div class="modal-dialog"> | |
| 5 | + | |
| 6 | + <div class="modal-content"> | |
| 7 | + | |
| 8 | + <div class="modal-header"> | |
| 9 | + <button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button> | |
| 10 | + <h4 class="modal-title">路段路段</h4> | |
| 11 | + </div> | |
| 12 | + | |
| 13 | + <div class="modal-body"> | |
| 14 | + | |
| 15 | + <form class="form-horizontal" role="form" id="edit_section__form" action="/module" method="post"> | |
| 16 | + | |
| 17 | + <div class="alert alert-danger display-hide"> <button class="close" data-close="alert"></button> | |
| 18 | + 您的输入有误,请检查下面的输入项 | |
| 19 | + </div> | |
| 20 | + | |
| 21 | + <!-- 线路ID --> | |
| 22 | + | |
| 23 | + <input type="hidden" name="sectionId" id="sectionIdInput"> | |
| 24 | + | |
| 25 | + <input type="hidden" name="sectionRouteId" id="sectionRouteIdInput"> | |
| 26 | + | |
| 27 | + <input type="hidden" name="sectionRouteLine" id="sectionRouteLineInput"> | |
| 28 | + | |
| 29 | + <input type="hidden" name="lineCode" id="lineCodeInput"> | |
| 30 | + | |
| 31 | + <input type="hidden" name="bsectionVector" id="bsectionVectorInput" /> | |
| 32 | + | |
| 33 | + <input type="hidden" name="csectionVector" id="csectionVectorInput" value=""/> | |
| 34 | + | |
| 35 | + <input type="hidden" name="dbType" id="dbTypeInput" value="b"/> | |
| 36 | + | |
| 37 | + <!-- 路段名称 --> | |
| 38 | + <div class="form-body"> | |
| 39 | + <div class="form-group"> | |
| 40 | + <label class="control-label col-md-3"> | |
| 41 | + <span class="required"> * </span> 路段名称: | |
| 42 | + </label> | |
| 43 | + <div class="col-md-6"> | |
| 44 | + <input type="text" class="form-control" name="sectionName" id="sectionNameInput" placeholder="路段名称"> | |
| 45 | + </div> | |
| 46 | + </div> | |
| 47 | + </div> | |
| 48 | + | |
| 49 | + <!-- 路段编码 --> | |
| 50 | + <div class="form-body"> | |
| 51 | + <div class="form-group"> | |
| 52 | + <label class="control-label col-md-3"> | |
| 53 | + <span class="required"> * </span> 路段编码: | |
| 54 | + </label> | |
| 55 | + <div class="col-md-6"> | |
| 56 | + <input type="text" class="form-control" name="sectionCode" id="sectionCodeInput" placeholder="路段编码"> | |
| 57 | + </div> | |
| 58 | + </div> | |
| 59 | + </div> | |
| 60 | + | |
| 61 | + <!-- 路段序号 --> | |
| 62 | + <div class="form-body"> | |
| 63 | + <div class="form-group"> | |
| 64 | + <label class="control-label col-md-3"> | |
| 65 | + <span class="required"> * </span>上一路段: | |
| 66 | + </label> | |
| 67 | + <div class="col-md-6"> | |
| 68 | + <select name="sectionrouteCode" class="form-control" id="sectionrouteCodeSelect"></select> | |
| 69 | + <span class="help-block"> *说明:选择的路段将作为本站序号的参考,成为选择路段的下一个路段。 </span> | |
| 70 | + </div> | |
| 71 | + </div> | |
| 72 | + </div> | |
| 73 | + | |
| 74 | + <!-- 路段类型 --> | |
| 75 | + <!-- <div class="form-body"> | |
| 76 | + <div class="form-group"> | |
| 77 | + <label class="control-label col-md-3"> | |
| 78 | + <span class="required"> * </span>路段类型: | |
| 79 | + </label> | |
| 80 | + <div class="col-md-6"> | |
| 81 | + <select name="sectionType" class="form-control" id="sectionTypeSelect"> | |
| 82 | + <option value="">-- 请选择路段类型 --</option> | |
| 83 | + <option value="B">起点站</option> | |
| 84 | + <option value="Z">中途站</option> | |
| 85 | + <option value="E">终点站</option> | |
| 86 | + </select> | |
| 87 | + </div> | |
| 88 | + </div> | |
| 89 | + </div> --> | |
| 90 | + | |
| 91 | + <!-- 路段方向 --> | |
| 92 | + <div class="form-body"> | |
| 93 | + <div class="form-group"> | |
| 94 | + <label class="control-label col-md-3"> | |
| 95 | + <span class="required"> * </span>路段方向: | |
| 96 | + </label> | |
| 97 | + <div class="col-md-6"> | |
| 98 | + <select name="directions" class="form-control" id="directionsSection"> | |
| 99 | + <option value="">-- 请选择路段类型 --</option> | |
| 100 | + <option value="0">上行</option> | |
| 101 | + <option value="1">下行</option> | |
| 102 | + </select> | |
| 103 | + </div> | |
| 104 | + </div> | |
| 105 | + </div> | |
| 106 | + | |
| 107 | + <!-- 道路编码--> | |
| 108 | + <div class="form-body"> | |
| 109 | + <div class="form-group"> | |
| 110 | + <label class="control-label col-md-3">道路编码:</label> | |
| 111 | + <div class="col-md-6"> | |
| 112 | + <input type="text" class="form-control" name="roadCoding" id="roadCodingCodInput" placeholder="道路编码"> | |
| 113 | + </div> | |
| 114 | + </div> | |
| 115 | + </div> | |
| 116 | + | |
| 117 | + <!-- 路段限速 --> | |
| 118 | + <div class="form-body"> | |
| 119 | + <div class="form-group"> | |
| 120 | + <label class="control-label col-md-3"> | |
| 121 | + <span class="required"> * </span> 路段限速: | |
| 122 | + </label> | |
| 123 | + <div class="col-md-6"> | |
| 124 | + <input type="text" class="form-control" name="speedLimit" id="speedLimitInput" placeholder="路段限速"> | |
| 125 | + </div> | |
| 126 | + </div> | |
| 127 | + </div> | |
| 128 | + | |
| 129 | + <!-- 路段时长 --> | |
| 130 | + <div class="form-body"> | |
| 131 | + <div class="form-group"> | |
| 132 | + <label class="col-md-3 control-label">路段时长:</label> | |
| 133 | + <div class="col-md-6"> | |
| 134 | + <input type="text" class="form-control" name="sectionTime" id="sectionTimeInput" placeholder="路段时长"> | |
| 135 | + <span class="help-block">单位:分钟</span> | |
| 136 | + </div> | |
| 137 | + </div> | |
| 138 | + </div> | |
| 139 | + | |
| 140 | + <!-- 路段长度 --> | |
| 141 | + <div class="form-body"> | |
| 142 | + <div class="form-group"> | |
| 143 | + <label class="col-md-3 control-label">路段长度:</label> | |
| 144 | + <div class="col-md-6"> | |
| 145 | + <input type="text" class="form-control" name="sectionDistance" id="sectionDistanceInput" placeholder="路段长度"> | |
| 146 | + <span class="help-block">单位:公里</span> | |
| 147 | + </div> | |
| 148 | + </div> | |
| 149 | + </div> | |
| 150 | + | |
| 151 | + <!-- 版本号 --> | |
| 152 | + <div class="form-body"> | |
| 153 | + <div class="form-group"> | |
| 154 | + <label class="col-md-3 control-label">版本号:</label> | |
| 155 | + <div class="col-md-6"> | |
| 156 | + <input type="text" class="form-control" name="versions" id="versionsInput" Readonly> | |
| 157 | + </div> | |
| 158 | + </div> | |
| 159 | + </div> | |
| 160 | + | |
| 161 | + <!-- 范围图形类型 --> | |
| 162 | + <div class="form-body"> | |
| 163 | + <div class="form-group"> | |
| 164 | + <label class="col-md-3 control-label">是否撤销:</label> | |
| 165 | + <div class="col-md-6"> | |
| 166 | + <select name="destroy" class="form-control" id="destroySelect"> | |
| 167 | + <option value="">-- 请选择撤销类型 --</option> | |
| 168 | + <option value="0">否</option> | |
| 169 | + <option value="1">是</option> | |
| 170 | + </select> | |
| 171 | + </div> | |
| 172 | + </div> | |
| 173 | + </div> | |
| 174 | + | |
| 175 | + <!-- 描述/说明 --> | |
| 176 | + <div class="form-group"> | |
| 177 | + <label class="control-label col-md-3"> 描述/说明: </label> | |
| 178 | + <div class="col-md-6"> | |
| 179 | + <textarea class="form-control" rows="3" name="descriptions" id="descriptionsTextarea" placeholder="描述/说明"></textarea> | |
| 180 | + </div> | |
| 181 | + </div> | |
| 182 | + </form> | |
| 183 | + </div> | |
| 184 | + <div class="modal-footer"> | |
| 185 | + <button type="button" class="btn default" data-dismiss="modal">取消</button> | |
| 186 | + <button type="button" class="btn btn-primary" id="editSectionButton">提交数据</button> | |
| 187 | + </div> | |
| 188 | + </div> | |
| 189 | + </div> | |
| 190 | +</div> | |
| 191 | +<script type="text/javascript"> | |
| 192 | + | |
| 193 | +$('#edit_section_mobal').on('editSectionMobal_show', function(e, map_,ajaxd,section,fun){ | |
| 194 | + | |
| 195 | + var Section = section.getEitdSection(); | |
| 196 | + | |
| 197 | + fun.setSectionFormValue(Section); | |
| 198 | + | |
| 199 | + // 方向 | |
| 200 | + var dir = Section.sectionrouteDirections; | |
| 201 | + | |
| 202 | + var lineId = Section.sectionrouteLine; | |
| 203 | + | |
| 204 | + // 获取路段号元素,并添加下拉属性值 | |
| 205 | + ajaxd.getStation(lineId,dir,function(treeData) { | |
| 206 | + | |
| 207 | + var options = '<option value="">请选择...</option>'; | |
| 208 | + | |
| 209 | + var dArray = treeData[0].children[1].children; | |
| 210 | + | |
| 211 | + var eq_stationRouteCode = Section.sectionrouteCode; | |
| 212 | + | |
| 213 | + for(var i = 0 ; i<dArray.length; i++){ | |
| 214 | + | |
| 215 | + var ptions_v = dArray[i].sectionrouteCode; | |
| 216 | + | |
| 217 | + // 排除本站 | |
| 218 | + if(eq_stationRouteCode == ptions_v){ | |
| 219 | + | |
| 220 | + continue; | |
| 221 | + | |
| 222 | + } | |
| 223 | + | |
| 224 | + options += '<option value="'+ ptions_v +'">'+dArray[i].sectionName+'</option>' | |
| 225 | + | |
| 226 | + } | |
| 227 | + | |
| 228 | + $('#sectionrouteCodeSelect').html(options); | |
| 229 | + | |
| 230 | + ajaxd.findUpStationRouteCode(lineId,dir,eq_stationRouteCode,function(str) { | |
| 231 | + | |
| 232 | + if(str.length>0){ | |
| 233 | + | |
| 234 | + var upStationRouteCode = str[0].sectionrouteCode | |
| 235 | + | |
| 236 | + $('#sectionrouteCodeSelect').val(upStationRouteCode); | |
| 237 | + | |
| 238 | + } | |
| 239 | + | |
| 240 | + }); | |
| 241 | + | |
| 242 | + }); | |
| 243 | + | |
| 244 | + // 显示mobal | |
| 245 | + $('#edit_section_mobal').modal({show : true,backdrop: 'static',keyboard: false}); | |
| 246 | + | |
| 247 | + // 当调用 hide 实例方法时触发 | |
| 248 | + $('#edit_section_mobal').on('hide.bs.modal', function () { | |
| 249 | + | |
| 250 | + closeMobleSetClean(); | |
| 251 | + | |
| 252 | + }); | |
| 253 | + | |
| 254 | + function closeMobleSetClean() { | |
| 255 | + | |
| 256 | + // 清除地图覆盖物 | |
| 257 | + map_.clearMarkAndOverlays(); | |
| 258 | + | |
| 259 | + /** 设置修改路段集合对象为空 */ | |
| 260 | + section.setEitdSection({}); | |
| 261 | + | |
| 262 | + fun.resjtreeDate(lineId,dir); | |
| 263 | + | |
| 264 | + fun.editAChangeCssRemoveDisabled(); | |
| 265 | + | |
| 266 | + ajaxd.getSectionRouteInfo(lineId,dir,function(data) { | |
| 267 | + | |
| 268 | + fun.linePanlThree(lineId,data,dir); | |
| 269 | + | |
| 270 | + }); | |
| 271 | + | |
| 272 | + } | |
| 273 | + | |
| 274 | + // 编辑表单元素 | |
| 275 | + var form = $('#edit_section__form'); | |
| 276 | + | |
| 277 | + // 获取错误提示元素 | |
| 278 | + var error = $('.alert-danger', form); | |
| 279 | + | |
| 280 | + // 提交数据按钮事件 | |
| 281 | + $('#editSectionButton').on('click', function() { | |
| 282 | + | |
| 283 | + | |
| 284 | + // 表单提交 | |
| 285 | + form.submit(); | |
| 286 | + | |
| 287 | + }); | |
| 288 | + | |
| 289 | + // 表单验证 | |
| 290 | + form.validate({ | |
| 291 | + | |
| 292 | + errorElement : 'span', | |
| 293 | + | |
| 294 | + errorClass : 'help-block help-block-error', | |
| 295 | + | |
| 296 | + focusInvalid : false, | |
| 297 | + | |
| 298 | + rules : { | |
| 299 | + | |
| 300 | + // 路段名称 | |
| 301 | + 'sectionName' : { | |
| 302 | + | |
| 303 | + // 必填项 | |
| 304 | + required : true | |
| 305 | + | |
| 306 | + }, | |
| 307 | + | |
| 308 | + /* // 路段序号 | |
| 309 | + 'sectionrouteCode' : { | |
| 310 | + | |
| 311 | + isStart : true | |
| 312 | + | |
| 313 | + }, */ | |
| 314 | + | |
| 315 | + // 路段编码 | |
| 316 | + 'sectionCode': { | |
| 317 | + | |
| 318 | + // 必填项 | |
| 319 | + required : true, | |
| 320 | + | |
| 321 | + }, | |
| 322 | + | |
| 323 | + // 路段方向 | |
| 324 | + 'directions' : { | |
| 325 | + | |
| 326 | + // 必填项 | |
| 327 | + required : true, | |
| 328 | + | |
| 329 | + // 方向选择限制 | |
| 330 | + /* dirIs : true */ | |
| 331 | + | |
| 332 | + }, | |
| 333 | + | |
| 334 | + | |
| 335 | + // 路段限速 | |
| 336 | + 'speedLimit' : { | |
| 337 | + | |
| 338 | + // 必须输入合法的数字(负数,小数)。 | |
| 339 | + number : true | |
| 340 | + | |
| 341 | + }, | |
| 342 | + | |
| 343 | + // 路段长度 | |
| 344 | + 'sectionTime' : { | |
| 345 | + | |
| 346 | + // 必须输入合法的数字(负数,小数)。 | |
| 347 | + number : true | |
| 348 | + | |
| 349 | + }, | |
| 350 | + | |
| 351 | + // 路段时长 | |
| 352 | + 'sectionDistance' : { | |
| 353 | + | |
| 354 | + // 必须输入合法的数字(负数,小数)。 | |
| 355 | + number : true | |
| 356 | + | |
| 357 | + }, | |
| 358 | + | |
| 359 | + // 描述与说明 | |
| 360 | + 'descriptions' : { | |
| 361 | + | |
| 362 | + // 最大长度 | |
| 363 | + maxlength: 150 | |
| 364 | + | |
| 365 | + } | |
| 366 | + }, | |
| 367 | + | |
| 368 | + invalidHandler : function(event, validator) { | |
| 369 | + | |
| 370 | + error.show(); | |
| 371 | + | |
| 372 | + App.scrollTo(error, -200); | |
| 373 | + | |
| 374 | + }, | |
| 375 | + | |
| 376 | + highlight : function(element) { | |
| 377 | + | |
| 378 | + $(element).closest('.form-group').addClass('has-error'); | |
| 379 | + | |
| 380 | + }, | |
| 381 | + | |
| 382 | + unhighlight : function(element) { | |
| 383 | + | |
| 384 | + $(element).closest('.form-group').removeClass('has-error'); | |
| 385 | + | |
| 386 | + }, | |
| 387 | + | |
| 388 | + success : function(label) { | |
| 389 | + | |
| 390 | + label.closest('.form-group').removeClass('has-error'); | |
| 391 | + | |
| 392 | + }, | |
| 393 | + | |
| 394 | + submitHandler : function(f) { | |
| 395 | + | |
| 396 | + var params = form.serializeJSON(); | |
| 397 | + | |
| 398 | + error.hide(); | |
| 399 | + | |
| 400 | + console.log(params); | |
| 401 | + | |
| 402 | + return; | |
| 403 | + | |
| 404 | + ajaxd.sectionUpdata(params,function(resuntDate) { | |
| 405 | + | |
| 406 | + if(resuntDate.status=='SUCCESS') { | |
| 407 | + | |
| 408 | + // 弹出添加成功提示消息 | |
| 409 | + layer.msg('修改成功...'); | |
| 410 | + | |
| 411 | + | |
| 412 | + }else { | |
| 413 | + | |
| 414 | + // 弹出添加失败提示消息 | |
| 415 | + layer.msg('修改失败...'); | |
| 416 | + | |
| 417 | + } | |
| 418 | + | |
| 419 | + $('#edit_section_mobal').modal('hide'); | |
| 420 | + | |
| 421 | + var dir = params.directions | |
| 422 | + | |
| 423 | + // 刷行左边树 | |
| 424 | + fun.resjtreeDate(lineId,dir); | |
| 425 | + | |
| 426 | + closeMobleSetClean(); | |
| 427 | + | |
| 428 | + }); | |
| 429 | + | |
| 430 | + } | |
| 431 | + }); | |
| 432 | + | |
| 433 | + | |
| 434 | +}); | |
| 435 | +</script> | |
| 0 | 436 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/base/stationroute/js/drawingManager.js
| ... | ... | @@ -71,36 +71,24 @@ var DrawingManagerObj = function () { |
| 71 | 71 | // 多变行质心点 |
| 72 | 72 | var addSttationPoints_ = pointE.getBounds().getCenter().lng+ ' ' + pointE.getBounds().getCenter().lat; |
| 73 | 73 | |
| 74 | - var PointsList = []; | |
| 74 | + var addPolyGonLen_ = pointE.getPath().length; | |
| 75 | 75 | |
| 76 | - for ( var i = 0; i < pointE.getPath().length; i++) { | |
| 77 | - | |
| 78 | - PointsList.push({potion: {lng: pointE.getPath()[i].lng, lat: pointE.getPath()[i].lat}}); | |
| 79 | - | |
| 80 | - } | |
| 81 | - | |
| 82 | - PointsList.push({potion: {lng: pointE.getPath()[0].lng, lat: pointE.getPath()[0].lat}}); | |
| 83 | - | |
| 84 | - var centre = [{potion:{lng:pointE.getBounds().getCenter().lng,lat:pointE.getBounds().getCenter().lat}}]; | |
| 85 | - | |
| 86 | - var pointsListLen_ = PointsList.length; | |
| 87 | - | |
| 88 | - var bPloygonGrid = ''; | |
| 89 | - | |
| 90 | - for(var k =0;k<pointsListLen_;k++) { | |
| 76 | + for(var k =0;k<addPolyGonLen_;k++) { | |
| 91 | 77 | |
| 92 | 78 | if(k==0) { |
| 93 | 79 | |
| 94 | - bPloygonGrid = PointsList[k].potion.lng + ' ' +PointsList[k].potion.lat; | |
| 80 | + bPloygonGrid = pointE.getPath()[k].lng + ' ' + pointE.getPath()[k].lat; | |
| 95 | 81 | |
| 96 | 82 | }else { |
| 97 | 83 | |
| 98 | - bPloygonGrid = bPloygonGrid + ',' + PointsList[k].potion.lng + ' ' +PointsList[k].potion.lat; | |
| 84 | + bPloygonGrid = bPloygonGrid + ',' + pointE.getPath()[k].lng + ' ' + pointE.getPath()[k].lat; | |
| 99 | 85 | |
| 100 | 86 | } |
| 101 | 87 | |
| 102 | 88 | } |
| 103 | 89 | |
| 90 | + bPloygonGrid = bPloygonGrid + ',' + pointE.getPath()[0].lng + ' ' + pointE.getPath()[0].lat; | |
| 91 | + | |
| 104 | 92 | var add = AddStationObj.getAddStation(); |
| 105 | 93 | |
| 106 | 94 | var edit = EditStationObj.getEitdStation(); |
| ... | ... | @@ -119,7 +107,13 @@ var DrawingManagerObj = function () { |
| 119 | 107 | /** 设置新增站点集合对象图形百度坐标集合属性值 @param:<bPolygonGrid:图形百度坐标集合) */ |
| 120 | 108 | AddStationObj.setBPolygonGrid(bPloygonGrid); |
| 121 | 109 | |
| 122 | - $.get('add.html', function(m){$(pjaxContainer).append(m);}); | |
| 110 | + $.get('add.html', function(m){ | |
| 111 | + | |
| 112 | + $(pjaxContainer).append(m); | |
| 113 | + | |
| 114 | + $('#add_station_mobal').trigger('AddStationMobal.show', [WorldsBMap,GetAjaxData,AddStationObj,LineObj,PublicFunctions]); | |
| 115 | + | |
| 116 | + }); | |
| 123 | 117 | } |
| 124 | 118 | |
| 125 | 119 | if(!$.isEmptyObject(edit)){ | ... | ... |
src/main/resources/static/pages/base/stationroute/js/editsection.js
0 → 100644
| 1 | +var EditSectionObj = function () { | |
| 2 | + | |
| 3 | + /** 定义修改路段对象 */ | |
| 4 | + var Section={}; | |
| 5 | + | |
| 6 | + var SectionObj = { | |
| 7 | + | |
| 8 | + /** 获取修改路段集合对象 @return:<Section:修改路段对象> */ | |
| 9 | + getEitdSection : function() { | |
| 10 | + | |
| 11 | + return Section; | |
| 12 | + }, | |
| 13 | + | |
| 14 | + /** 设置修改路段集合对象为空 */ | |
| 15 | + setEitdSection : function(sc) { | |
| 16 | + | |
| 17 | + Section = sc; | |
| 18 | + }, | |
| 19 | + | |
| 20 | + | |
| 21 | + /** 设置修改路段集合对象折线百度坐标集合属性值 @param:<bsectionVector:折线百度坐标集合) */ | |
| 22 | + setEitdBsectionVector : function(bsectionVector) { | |
| 23 | + | |
| 24 | + Section.sectionBsectionVector = bsectionVector; | |
| 25 | + } | |
| 26 | + } | |
| 27 | + | |
| 28 | + return SectionObj; | |
| 29 | + | |
| 30 | +}(); | ... | ... |
src/main/resources/static/pages/base/stationroute/js/editstationobj.js
src/main/resources/static/pages/base/stationroute/js/stationroute-ajax-getdata.js
| ... | ... | @@ -11,8 +11,6 @@ |
| 11 | 11 | * |
| 12 | 12 | * - - - - - -》 getStationCode:查询站点编码 |
| 13 | 13 | * |
| 14 | - * - - - - - -》 getFormPointEToWGS :原百度坐标转WGS坐标 | |
| 15 | - * | |
| 16 | 14 | * - - - - - -》 stationSave:新增站点保存 |
| 17 | 15 | * |
| 18 | 16 | * - - - - - -》 stationUpdate:站点更新 |
| ... | ... | @@ -23,10 +21,6 @@ |
| 23 | 21 | * |
| 24 | 22 | * - - - - - -》 getIdLineName:获取线路名称 |
| 25 | 23 | * |
| 26 | - * - - - - - -》 BpolyGonArrayToWGS:折线百度坐标转WGS坐标 | |
| 27 | - * | |
| 28 | - * - - - - - -》 MuneBpointsArrayToWGS:手动规划百度坐标转WGS坐标 | |
| 29 | - * | |
| 30 | 24 | * - - - - - -》 getSectionRouteInfo:查询路段信息 |
| 31 | 25 | */ |
| 32 | 26 | |
| ... | ... | @@ -107,56 +101,16 @@ var GetAjaxData = function(){ |
| 107 | 101 | |
| 108 | 102 | }, |
| 109 | 103 | |
| 110 | - // 原百度坐标转WGS坐标 | |
| 111 | - getFormPointEToWGS: function(points,callback) { | |
| 112 | - | |
| 113 | - // 获取长度 | |
| 114 | - var len = points.length; | |
| 104 | + | |
| 105 | + findUpStationRouteCode : function(lineId,diraction,sectionRouteCode,callback) { | |
| 115 | 106 | |
| 116 | - (function(){ | |
| 107 | + $get('/sectionroute/findUpStationRouteCode',{lineId:lineId,direction:diraction,sectionRouteCode:sectionRouteCode},function(result) { | |
| 117 | 108 | |
| 118 | - if (!arguments.callee.count) { | |
| 119 | - | |
| 120 | - arguments.callee.count = 0; | |
| 121 | - | |
| 122 | - } | |
| 123 | - | |
| 124 | - arguments.callee.count++; | |
| 125 | - | |
| 126 | - var index = parseInt(arguments.callee.count) - 1; | |
| 127 | - | |
| 128 | - if (index >= len) { | |
| 129 | - | |
| 130 | - callback && callback(points); | |
| 131 | - | |
| 132 | - return; | |
| 133 | - } | |
| 134 | - | |
| 135 | - var f = arguments.callee; | |
| 136 | - | |
| 137 | - $.ajax({ | |
| 138 | - | |
| 139 | - url: 'http://api.zdoz.net/bd2wgs.aspx', | |
| 140 | - | |
| 141 | - data: {lat: points[index].potion.lat , lng: points[index].potion.lng}, | |
| 142 | - | |
| 143 | - dataType: 'jsonp', | |
| 144 | - | |
| 145 | - success: function(r){ | |
| 146 | - | |
| 147 | - if(r) { | |
| 148 | - | |
| 149 | - points[index].WGSpotion = r; | |
| 150 | - | |
| 151 | - } | |
| 152 | - | |
| 153 | - f(); | |
| 154 | - } | |
| 155 | - }); | |
| 109 | + callback && callback(result); | |
| 156 | 110 | |
| 157 | - })(); | |
| 111 | + }); | |
| 158 | 112 | |
| 159 | - }, | |
| 113 | + }, | |
| 160 | 114 | |
| 161 | 115 | // 新增站点保存 |
| 162 | 116 | stationSave : function(station,callback) { |
| ... | ... | @@ -213,127 +167,6 @@ var GetAjaxData = function(){ |
| 213 | 167 | |
| 214 | 168 | }, |
| 215 | 169 | |
| 216 | - // 折线百度坐标转WGS坐标 | |
| 217 | - BpolyGonArrayToWGS : function(polyGonArray,callback) { | |
| 218 | - | |
| 219 | - if(polyGonArray) { | |
| 220 | - | |
| 221 | - // 获取长度 | |
| 222 | - var len = polyGonArray.length; | |
| 223 | - | |
| 224 | - (function(){ | |
| 225 | - | |
| 226 | - if (!arguments.callee.count) { | |
| 227 | - | |
| 228 | - arguments.callee.count = 0; | |
| 229 | - | |
| 230 | - } | |
| 231 | - | |
| 232 | - arguments.callee.count++; | |
| 233 | - | |
| 234 | - var index = parseInt(arguments.callee.count) - 1; | |
| 235 | - | |
| 236 | - if (index >= len) { | |
| 237 | - | |
| 238 | - callback && callback(polyGonArray); | |
| 239 | - | |
| 240 | - return; | |
| 241 | - } | |
| 242 | - | |
| 243 | - var f = arguments.callee; | |
| 244 | - | |
| 245 | - $.ajax({ | |
| 246 | - | |
| 247 | - url: 'http://api.zdoz.net/bd2wgs.aspx', | |
| 248 | - | |
| 249 | - data: {lat: polyGonArray[index].lat , lng: polyGonArray[index].lng}, | |
| 250 | - | |
| 251 | - dataType: 'jsonp', | |
| 252 | - | |
| 253 | - success: function(r){ | |
| 254 | - | |
| 255 | - if(r) { | |
| 256 | - | |
| 257 | - polyGonArray[index].WGSpotion = r; | |
| 258 | - | |
| 259 | - } | |
| 260 | - | |
| 261 | - f(); | |
| 262 | - } | |
| 263 | - }); | |
| 264 | - | |
| 265 | - })(); | |
| 266 | - | |
| 267 | - }else { | |
| 268 | - | |
| 269 | - callback && callback(false); | |
| 270 | - | |
| 271 | - } | |
| 272 | - | |
| 273 | - | |
| 274 | - }, | |
| 275 | - | |
| 276 | - // 手动规划百度坐标转WGS坐标 | |
| 277 | - MuneBpointsArrayToWGS : function(polyGonArray,callback) { | |
| 278 | - | |
| 279 | - if(polyGonArray) { | |
| 280 | - | |
| 281 | - // 获取长度 | |
| 282 | - var len = polyGonArray.length; | |
| 283 | - | |
| 284 | - (function(){ | |
| 285 | - | |
| 286 | - if (!arguments.callee.count) { | |
| 287 | - | |
| 288 | - arguments.callee.count = 0; | |
| 289 | - | |
| 290 | - } | |
| 291 | - | |
| 292 | - arguments.callee.count++; | |
| 293 | - | |
| 294 | - var index = parseInt(arguments.callee.count) - 1; | |
| 295 | - | |
| 296 | - if (index >= len) { | |
| 297 | - | |
| 298 | - callback && callback(polyGonArray); | |
| 299 | - | |
| 300 | - return; | |
| 301 | - } | |
| 302 | - | |
| 303 | - var f = arguments.callee; | |
| 304 | - | |
| 305 | - $.ajax({ | |
| 306 | - | |
| 307 | - // 百度坐标获取WGS坐标 | |
| 308 | - url: 'http://api.zdoz.net/bd2wgs.aspx', | |
| 309 | - | |
| 310 | - data: {lat: polyGonArray[index].lat , lng: polyGonArray[index].lng}, | |
| 311 | - | |
| 312 | - dataType: 'jsonp', | |
| 313 | - | |
| 314 | - success: function(r){ | |
| 315 | - | |
| 316 | - if(r) { | |
| 317 | - | |
| 318 | - polyGonArray[index].WGSpotion = r; | |
| 319 | - | |
| 320 | - } | |
| 321 | - | |
| 322 | - f(); | |
| 323 | - } | |
| 324 | - }); | |
| 325 | - | |
| 326 | - })(); | |
| 327 | - | |
| 328 | - }else { | |
| 329 | - | |
| 330 | - callback && callback(''); | |
| 331 | - | |
| 332 | - } | |
| 333 | - | |
| 334 | - | |
| 335 | - }, | |
| 336 | - | |
| 337 | 170 | // 查询路段信息 |
| 338 | 171 | getSectionRouteInfo : function(lineId,direction,callback) { |
| 339 | 172 | |
| ... | ... | @@ -348,8 +181,6 @@ var GetAjaxData = function(){ |
| 348 | 181 | // 手动规划线路保存 |
| 349 | 182 | manualSave : function(params,callback) { |
| 350 | 183 | |
| 351 | - console.log(params); | |
| 352 | - | |
| 353 | 184 | // 保存 |
| 354 | 185 | $post('/station/manualSave',params,function(rd) { |
| 355 | 186 | ... | ... |
src/main/resources/static/pages/base/stationroute/js/stationroute-list-events.js
| ... | ... | @@ -23,10 +23,14 @@ $(function(){ |
| 23 | 23 | // 上行站点其它规划点击事件 |
| 24 | 24 | $('.upManual').on('click',function() { |
| 25 | 25 | |
| 26 | - manualPararms.dir = directionUpValue; | |
| 27 | - | |
| 28 | 26 | // 加载其它规划选择弹出层mobal页面 |
| 29 | - $.get('add_manual_select.html', function(m){$(pjaxContainer).append(m);}); | |
| 27 | + $.get('add_manual_select.html', function(m){ | |
| 28 | + | |
| 29 | + $(pjaxContainer).append(m); | |
| 30 | + | |
| 31 | + $('#add_manual_mobal').trigger('AddManualMobal.show', [WorldsBMap,GetAjaxData,directionUpValue,LineObj,PublicFunctions]); | |
| 32 | + | |
| 33 | + }); | |
| 30 | 34 | |
| 31 | 35 | }); |
| 32 | 36 | |
| ... | ... | @@ -37,7 +41,13 @@ $(function(){ |
| 37 | 41 | AddStationObj.setAddStationDiraction(directionUpValue); |
| 38 | 42 | |
| 39 | 43 | // 加载选择新增方式mobal |
| 40 | - $.get('add_select.html', function(m){$(pjaxContainer).append(m);}); | |
| 44 | + $.get('add_select.html', function(m){ | |
| 45 | + | |
| 46 | + $(pjaxContainer).append(m); | |
| 47 | + | |
| 48 | + $('#add_select_mobal').trigger('AddSelectMobal.show', [WorldsBMap,DrawingManagerObj,GetAjaxData,AddStationObj,LineObj,PublicFunctions]); | |
| 49 | + | |
| 50 | + }); | |
| 41 | 51 | |
| 42 | 52 | }); |
| 43 | 53 | |
| ... | ... | @@ -53,9 +63,12 @@ $(function(){ |
| 53 | 63 | return; |
| 54 | 64 | } |
| 55 | 65 | |
| 56 | - EditStationObj.setEitdStation(sel[0].original); | |
| 57 | - | |
| 58 | - $.get('edit_select.html', function(m){$(pjaxContainer).append(m);}); | |
| 66 | + $.get('edit_select.html', function(m){ | |
| 67 | + | |
| 68 | + $(pjaxContainer).append(m); | |
| 69 | + | |
| 70 | + $('#edit_select_mobal').trigger('editSelectMobal_show', [WorldsBMap,DrawingManagerObj,GetAjaxData,EditStationObj,LineObj,PublicFunctions,directionUpValue]); | |
| 71 | + }); | |
| 59 | 72 | |
| 60 | 73 | }); |
| 61 | 74 | |
| ... | ... | @@ -95,7 +108,7 @@ $(function(){ |
| 95 | 108 | // 弹出正在加载层 |
| 96 | 109 | var i = layer.load(0,{offset:['200px', '280px']}); |
| 97 | 110 | |
| 98 | - // 线路名称是否为区间 | |
| 111 | + /** 修正线路名称 @param:<directionUpValue:方向(上行)> */ | |
| 99 | 112 | PublicFunctions.lineNameIsHaveInterval(directionDownValue); |
| 100 | 113 | |
| 101 | 114 | }); |
| ... | ... | @@ -103,38 +116,52 @@ $(function(){ |
| 103 | 116 | // 下行站点其它规划点击事件 |
| 104 | 117 | $('.downManual').on('click',function() { |
| 105 | 118 | |
| 106 | - manualPararms.dir = directionDownValue; | |
| 107 | - | |
| 108 | 119 | // 加载其它规划选择弹出层mobal页面 |
| 109 | - $.get('add_manual_select.html', function(m){$(pjaxContainer).append(m);}); | |
| 120 | + $.get('add_manual_select.html', function(m){ | |
| 121 | + | |
| 122 | + $(pjaxContainer).append(m); | |
| 123 | + | |
| 124 | + $('#add_manual_mobal').trigger('AddManualMobal.show', [WorldsBMap,GetAjaxData,directionDownValue,LineObj,PublicFunctions]); | |
| 125 | + | |
| 126 | + }); | |
| 110 | 127 | |
| 111 | 128 | }); |
| 112 | 129 | |
| 113 | 130 | // 下行站点新增事件 |
| 114 | 131 | $('.module_tools #addDownStation').on('click', function() { |
| 115 | 132 | |
| 116 | - // 设置方向 | |
| 117 | - addStaitonParmas.dir = directionDownValue; | |
| 133 | + /** 设置新增站点对象方向属性值 @param:<directionUpValue:方向(0:上行;1:下行)> */ | |
| 134 | + AddStationObj.setAddStationDiraction(directionDownValue); | |
| 118 | 135 | |
| 119 | 136 | // 加载选择新增方式mobal |
| 120 | - $.get('add_select.html', function(m){$(pjaxContainer).append(m);}); | |
| 137 | + $.get('add_select.html', function(m){ | |
| 138 | + | |
| 139 | + $(pjaxContainer).append(m); | |
| 140 | + | |
| 141 | + $('#add_select_mobal').trigger('AddSelectMobal.show', [WorldsBMap,DrawingManagerObj,GetAjaxData,AddStationObj,LineObj,PublicFunctions]); | |
| 142 | + | |
| 143 | + }); | |
| 121 | 144 | |
| 122 | 145 | }); |
| 123 | 146 | |
| 124 | 147 | // 修改下行站点mobal页面 |
| 125 | 148 | $('.module_tools #editDownStation').on('click', function(){ |
| 126 | 149 | |
| 127 | - var sel = PublicFunctions.getCurrSelNode(directionDownValue); | |
| 150 | + var sel = PublicFunctions.getCurrSelNode(directionUpValue); | |
| 128 | 151 | |
| 129 | 152 | if(sel.length==0 || sel[0].original.chaildredType !='station'){ |
| 130 | 153 | |
| 131 | - layer.msg('请先选择要编辑的下行站点!'); | |
| 154 | + layer.msg('请先选择要编辑的上行站点!'); | |
| 132 | 155 | |
| 133 | 156 | return; |
| 134 | 157 | } |
| 135 | - PublicFunctions.editSetStationParmas(sel); | |
| 136 | 158 | |
| 137 | - $.get('edit_select.html', function(m){$(pjaxContainer).append(m);}); | |
| 159 | + $.get('edit_select.html', function(m){ | |
| 160 | + | |
| 161 | + $(pjaxContainer).append(m); | |
| 162 | + | |
| 163 | + $('#edit_select_mobal').trigger('editSelectMobal_show', [WorldsBMap,DrawingManagerObj,GetAjaxData,EditStationObj,LineObj,PublicFunctions,directionUpValue]); | |
| 164 | + }); | |
| 138 | 165 | |
| 139 | 166 | }); |
| 140 | 167 | |
| ... | ... | @@ -168,13 +195,25 @@ $(function(){ |
| 168 | 195 | // 生成行单 |
| 169 | 196 | $('.module_tools #createUsingSingle').on('click', function() { |
| 170 | 197 | |
| 171 | - var params = {lineId:id}; | |
| 198 | + var lineIdEvents = LineObj.getLineObj(); | |
| 199 | + | |
| 200 | + var params = {lineId:lineIdEvents.id}; | |
| 172 | 201 | |
| 173 | - GetAjaxData.createUsingSingle(params,function(p) { | |
| 202 | + GetAjaxData.createUsingSingle(params,function(data) { | |
| 174 | 203 | |
| 175 | - console.log(p); | |
| 204 | + if(data.status=='SUCCESS') { | |
| 205 | + | |
| 206 | + // 弹出添加成功提示消息 | |
| 207 | + layer.msg('添加成功...'); | |
| 208 | + | |
| 209 | + }else { | |
| 210 | + | |
| 211 | + // 弹出添加失败提示消息 | |
| 212 | + layer.msg('添加失败...'); | |
| 213 | + | |
| 214 | + } | |
| 176 | 215 | |
| 177 | - }) | |
| 216 | + }); | |
| 178 | 217 | |
| 179 | 218 | }); |
| 180 | 219 | ... | ... |
src/main/resources/static/pages/base/stationroute/js/stationroute-list-function.js
| ... | ... | @@ -11,7 +11,7 @@ |
| 11 | 11 | * |
| 12 | 12 | * - - - - - - - 》 editSeteditStationParmasValue:编辑站点范围图形参数集合赋值函数 |
| 13 | 13 | * |
| 14 | - * - - - - - - - 》 lineNameIsHaveInterval : 系统规划时线路名称是否为区间 | |
| 14 | + * - - - - - - - 》 lineNameIsHaveInterval : 系统规划时修正线路名称 | |
| 15 | 15 | * |
| 16 | 16 | * - - - - - - - 》 systemLineStation:系统规划保存函数 |
| 17 | 17 | * |
| ... | ... | @@ -26,9 +26,6 @@ |
| 26 | 26 | |
| 27 | 27 | var PublicFunctions = function () { |
| 28 | 28 | |
| 29 | - /*var lineIdInitValue = '',addStaitonParmas = '';*/ | |
| 30 | - | |
| 31 | - | |
| 32 | 29 | var PubFun = { |
| 33 | 30 | |
| 34 | 31 | /** 初始化线路标题与ID */ |
| ... | ... | @@ -47,28 +44,6 @@ var PublicFunctions = function () { |
| 47 | 44 | |
| 48 | 45 | }, |
| 49 | 46 | |
| 50 | - /** 获取线路ID */ | |
| 51 | - getLineIdValue : function() { | |
| 52 | - | |
| 53 | - return lineIdInitValue; | |
| 54 | - }, | |
| 55 | - | |
| 56 | - /** 获取新增站点参数集合 */ | |
| 57 | - getAddStaitonParmasObj : function() { | |
| 58 | - | |
| 59 | - return addStaitonParmas; | |
| 60 | - | |
| 61 | - }, | |
| 62 | - | |
| 63 | - /** 设置新增站点参数集合站点名称 */ | |
| 64 | - setAddStationPararmsObjName : function(stationNamebootbox) { | |
| 65 | - | |
| 66 | - // 站点名称 | |
| 67 | - addStaitonParmas.stationNamebootbox = stationNamebootbox; | |
| 68 | - }, | |
| 69 | - | |
| 70 | - | |
| 71 | - | |
| 72 | 47 | /** @param diraction 方向 @return array */ |
| 73 | 48 | getCurrSelNode : function(diraction){ |
| 74 | 49 | |
| ... | ... | @@ -166,156 +141,6 @@ var PublicFunctions = function () { |
| 166 | 141 | }); |
| 167 | 142 | |
| 168 | 143 | }, |
| 169 | - | |
| 170 | - /** @param sel 编辑树节点站点Obj */ | |
| 171 | - editSetStationParmas : function(sel) { | |
| 172 | - | |
| 173 | - // 站点名称 | |
| 174 | - editStationParmas.stationNamebootbox = sel[0].original.stationStationName; | |
| 175 | - | |
| 176 | - // 百度地图经纬度坐标中心点 | |
| 177 | - editStationParmas.stationPointInput = sel[0].original.stationBJwpoints; | |
| 178 | - | |
| 179 | - // 站点WGS经度 | |
| 180 | - editStationParmas.gLonx = sel[0].original.stationGLonx; | |
| 181 | - | |
| 182 | - // WGS纬度 | |
| 183 | - editStationParmas.gLaty = sel[0].original.stationGLaty; | |
| 184 | - | |
| 185 | - // WGS图形坐标 | |
| 186 | - editStationParmas.gPolygonGridInput = sel[0].original.stationGPolygonGrid; | |
| 187 | - | |
| 188 | - // 百度图形坐标 | |
| 189 | - editStationParmas.bPolygonGridInput = sel[0].original.stationBPolygonGrid; | |
| 190 | - | |
| 191 | - // 站点图形类型 | |
| 192 | - editStationParmas.shapesTypeInput = sel[0].original.stationShapesType; | |
| 193 | - | |
| 194 | - // 半径 | |
| 195 | - editStationParmas.radiusInput = sel[0].original.stationRadius; | |
| 196 | - | |
| 197 | - // 是否撤销 | |
| 198 | - editStationParmas.destroyInput = sel[0].original.stationDestroy; | |
| 199 | - | |
| 200 | - // 站点ID | |
| 201 | - editStationParmas.editUp_stationId = sel[0].original.stationId; | |
| 202 | - | |
| 203 | - // 站点编码 | |
| 204 | - editStationParmas.editUp_stationStationCod = sel[0].original.stationStationCod; | |
| 205 | - | |
| 206 | - // 坐标类型 | |
| 207 | - editStationParmas.editUp_stationDbType = sel[0].original.stationDbType; | |
| 208 | - | |
| 209 | - // 站点描述说明 | |
| 210 | - editStationParmas.editUp_stationDescriptions = sel[0].original.stationDescriptions; | |
| 211 | - | |
| 212 | - // 站点是否撤销 | |
| 213 | - editStationParmas.editUp_stationDestroy = sel[0].original.stationDestroy; | |
| 214 | - | |
| 215 | - // 站点道路编码 | |
| 216 | - editStationParmas.stationRoadCoding = sel[0].original.stationRoadCoding; | |
| 217 | - | |
| 218 | - // 站点路由方向 | |
| 219 | - editStationParmas.stationRouteDirections = sel[0].original.stationRouteDirections; | |
| 220 | - | |
| 221 | - // 站点路由距离 | |
| 222 | - editStationParmas.stationRouteDistances = sel[0].original.stationRouteDistances; | |
| 223 | - | |
| 224 | - // 站点路由时间 | |
| 225 | - editStationParmas.stationRouteToTime = sel[0].original.stationRouteToTime; | |
| 226 | - | |
| 227 | - // 站点路由ID | |
| 228 | - editStationParmas.stationRouteId = sel[0].original.stationRouteId; | |
| 229 | - | |
| 230 | - // 站点路由线路ID | |
| 231 | - editStationParmas.stationRouteLine = sel[0].original.stationRouteLine; | |
| 232 | - | |
| 233 | - // 站点路由线路编码 | |
| 234 | - editStationParmas.stationRouteLineCode = sel[0].original.stationRouteLineCode; | |
| 235 | - | |
| 236 | - // 站点路由站点Id | |
| 237 | - editStationParmas.stationRouteStation = sel[0].original.stationRouteStation; | |
| 238 | - | |
| 239 | - // 站点路由类型 | |
| 240 | - editStationParmas.stationRouteStationMark = sel[0].original.stationRouteStationMark; | |
| 241 | - | |
| 242 | - // 站点路由站点名称 | |
| 243 | - editStationParmas.stationRouteStationName = sel[0].original.stationRouteStationName; | |
| 244 | - | |
| 245 | - // 站点路由序号 | |
| 246 | - editStationParmas.stationRouteStationRouteCode = sel[0].original.stationRouteStationRouteCode; | |
| 247 | - | |
| 248 | - // 站点路由版本 | |
| 249 | - editStationParmas.stationRouteVersions = sel[0].original.stationRouteVersions; | |
| 250 | - | |
| 251 | - // 站点编码 | |
| 252 | - editStationParmas.stationStationCod = sel[0].original.stationStationCod; | |
| 253 | - | |
| 254 | - // 站点版本 | |
| 255 | - editStationParmas.stationVersions = sel[0].original.stationVersions; | |
| 256 | - | |
| 257 | - // 站点路由说明 | |
| 258 | - editStationParmas.stationRouteDescriptions = sel[0].original.stationRouteDescriptions; | |
| 259 | - | |
| 260 | - }, | |
| 261 | - | |
| 262 | - /** @param points:中心点 ;gLonx:中心点WGS经度;gLaty:中心点WGS纬度;bPolygonGridValue:百度坐标点图形集合;gPolygonGridVlaue:WGS坐标点图形集合;shapesTypeValue:范围图形类型;radiusValue:圆半径 */ | |
| 263 | - setFormInputValue: function(points,gLonx,gLaty,bPolygonGridValue,gPolygonGridVlaue,shapesTypeValue,radiusValue) { | |
| 264 | - | |
| 265 | - // 百度地图经纬度坐标中心点 | |
| 266 | - addStaitonParmas.stationPointInput = points; | |
| 267 | - | |
| 268 | - // WGS经度 | |
| 269 | - addStaitonParmas.gLonx = gLonx; | |
| 270 | - | |
| 271 | - // WGS经度 | |
| 272 | - addStaitonParmas.gLaty = gLaty; | |
| 273 | - | |
| 274 | - // 百度坐标点图形集合 | |
| 275 | - addStaitonParmas.bPolygonGridInput = bPolygonGridValue; | |
| 276 | - | |
| 277 | - // WGS坐标点图形集合 | |
| 278 | - addStaitonParmas.gPolygonGridInput = gPolygonGridVlaue; | |
| 279 | - | |
| 280 | - // 图形类型 | |
| 281 | - addStaitonParmas.shapesTypeInput = shapesTypeValue; | |
| 282 | - | |
| 283 | - // 圆形半径 | |
| 284 | - addStaitonParmas.radiusInput = radiusValue; | |
| 285 | - | |
| 286 | - // 是否撤销 | |
| 287 | - addStaitonParmas.destroyInput = 0; | |
| 288 | - | |
| 289 | - }, | |
| 290 | - | |
| 291 | - | |
| 292 | - /** @param points:中心点 ;gLonx:中心点WGS经度;gLaty:中心点WGS纬度;bPolygonGridValue:百度坐标点图形集合;gPolygonGridVlaue:WGS坐标点图形集合;shapesTypeValue:范围图形类型;radiusValue:圆半径 */ | |
| 293 | - editSeteditStationParmasValue : function(points,gLonx,gLaty,bPolygonGridValue,gPolygonGridVlaue,shapesTypeValue,radiusValue) { | |
| 294 | - | |
| 295 | - // 百度地图经纬度坐标中心点 | |
| 296 | - editStationParmas.stationPointInput = points; | |
| 297 | - | |
| 298 | - // WGS经度 | |
| 299 | - editStationParmas.gLonx = gLonx; | |
| 300 | - | |
| 301 | - // WGS经度 | |
| 302 | - editStationParmas.gLaty = gLaty; | |
| 303 | - | |
| 304 | - // 百度坐标点图形集合 | |
| 305 | - editStationParmas.bPolygonGridInput = bPolygonGridValue; | |
| 306 | - | |
| 307 | - // WGS坐标点图形集合 | |
| 308 | - editStationParmas.gPolygonGridInput = gPolygonGridVlaue; | |
| 309 | - | |
| 310 | - // 图形类型 | |
| 311 | - editStationParmas.shapesTypeInput = shapesTypeValue; | |
| 312 | - | |
| 313 | - // 圆形半径 | |
| 314 | - editStationParmas.radiusInput = radiusValue; | |
| 315 | - | |
| 316 | - // 是否撤销 | |
| 317 | - editStationParmas.destroyInput = 0; | |
| 318 | - }, | |
| 319 | 144 | |
| 320 | 145 | /** 修正线路名称 @param:<directionUpValue:方向(0:上行;1:下行)> */ |
| 321 | 146 | lineNameIsHaveInterval : function(directionData) { |
| ... | ... | @@ -424,7 +249,6 @@ var PublicFunctions = function () { |
| 424 | 249 | // 如果线路信息不为空 |
| 425 | 250 | if(BusLine) { |
| 426 | 251 | |
| 427 | - // | |
| 428 | 252 | if(BusLine.yB.length == 0){ |
| 429 | 253 | |
| 430 | 254 | layer.confirm('系统生成该线路【'+lineNameV+'】时获取站点与路段异常!请联系管理员或者检查网络连接是否异常!', { |
| ... | ... | @@ -554,23 +378,6 @@ var PublicFunctions = function () { |
| 554 | 378 | }); |
| 555 | 379 | |
| 556 | 380 | }); |
| 557 | - | |
| 558 | - /*// 百度站点坐标获取WGS坐标 | |
| 559 | - GetAjaxData.getFormPointEToWGS(stationInfo,function(result) { | |
| 560 | - | |
| 561 | - // 如果不为空 | |
| 562 | - if(result) { | |
| 563 | - | |
| 564 | - // 折线覆盖物对象坐标点集合转WGS坐标 | |
| 565 | - GetAjaxData.BpolyGonArrayToWGS(polyGonArray,function(arraydata) { | |
| 566 | - | |
| 567 | - | |
| 568 | - }); | |
| 569 | - | |
| 570 | - } | |
| 571 | - | |
| 572 | - });*/ | |
| 573 | - | |
| 574 | 381 | } |
| 575 | 382 | |
| 576 | 383 | }); |
| ... | ... | @@ -612,25 +419,26 @@ var PublicFunctions = function () { |
| 612 | 419 | |
| 613 | 420 | if(result.status=='SUCCESS'){ |
| 614 | 421 | |
| 615 | - layer.msg('撤销上行站点【'+obj[0].text+'】成功!'); | |
| 616 | - | |
| 617 | - functionMapB.clearOverlays(); | |
| 618 | - GetAjaxData.getSectionRouteInfo(id,stationRouteDirections,function(data) { | |
| 619 | - | |
| 620 | - // 刷新树 | |
| 621 | - PublicFunctions.resjtreeDate(id,stationRouteDirections); | |
| 622 | - | |
| 623 | - PublicFunctions.linePanlThree(data,stationRouteDirections); | |
| 624 | - | |
| 625 | - }); | |
| 626 | - | |
| 627 | - | |
| 422 | + layer.msg('撤销上行站点【'+obj[0].text+'】成功!'); | |
| 423 | + | |
| 628 | 424 | }else{ |
| 629 | 425 | |
| 630 | 426 | layer.msg('撤销上行站点【'+obj[0].text+'】失败!'); |
| 631 | 427 | |
| 632 | 428 | } |
| 633 | 429 | |
| 430 | + WorldsBMap.clearMarkAndOverlays(); | |
| 431 | + | |
| 432 | + var Line = LineObj.getLineObj(); | |
| 433 | + | |
| 434 | + /** 查询上行路段信息 @param:<Line.id:线路Id;0:上行> @return:data:上行路段数据 */ | |
| 435 | + GetAjaxData.getSectionRouteInfo(Line.id,stationRouteDirections,function(data) { | |
| 436 | + | |
| 437 | + /** 在地图上画出线路走向 @param:<Line.id:线路Id;0:上行;data:上行路段数据> */ | |
| 438 | + PublicFunctions.linePanlThree(Line.id,data,stationRouteDirections); | |
| 439 | + | |
| 440 | + }); | |
| 441 | + | |
| 634 | 442 | }); |
| 635 | 443 | |
| 636 | 444 | }); |
| ... | ... | @@ -649,65 +457,20 @@ var PublicFunctions = function () { |
| 649 | 457 | return; |
| 650 | 458 | } |
| 651 | 459 | |
| 652 | - var sectionId = sel[0].original.sectionId; | |
| 460 | + $('#downLine').addClass('btn disabled'); | |
| 653 | 461 | |
| 654 | - var sectionrouteDirections = sel[0].original.sectionrouteDirections; | |
| 462 | + $('.btn-circle').addClass('disabled'); | |
| 655 | 463 | |
| 656 | - // 开启线路编辑 | |
| 657 | - polyUpline.enableEditing(); | |
| 464 | + $('#upLine').addClass('btn disabled'); | |
| 465 | + | |
| 466 | + var editSectionV = sel[0].original; | |
| 467 | + | |
| 468 | + EditSectionObj.setEitdSection(editSectionV); | |
| 658 | 469 | |
| 659 | 470 | // 弹出添加失败提示消息,2秒关闭(如果不配置,默认是3秒) |
| 660 | 471 | var yindex = layer.msg('编辑完线路走向后,请双击线路走向区域保存',{ offset: '126px',shift: 0,time: 10000}); |
| 661 | 472 | |
| 662 | - // 添加双击折线保存事件 | |
| 663 | - polyUpline.addEventListener('dblclick',function(e) { | |
| 664 | - | |
| 665 | - // 关闭 | |
| 666 | - layer.close(yindex); | |
| 667 | - | |
| 668 | - polyUpline.disableEditing(); | |
| 669 | - | |
| 670 | - // 弹出正在加载层 | |
| 671 | - var i = layer.load(0,{title :'我是标题'}); | |
| 672 | - | |
| 673 | - // 获取折线坐标集合 | |
| 674 | - var editPloyLineArray = polyUpline.getPath(); | |
| 675 | - | |
| 676 | - // 坐标转换WGS坐标 | |
| 677 | - GetAjaxData.BpolyGonArrayToWGS(editPloyLineArray,function(arraydata) { | |
| 678 | - | |
| 679 | - // 定义路段信息字符串 | |
| 680 | - var sectionJSON = JSON.stringify(arraydata); | |
| 681 | - | |
| 682 | - var params = {sectionId:sectionId,sectionJSON:sectionJSON} | |
| 683 | - | |
| 684 | - GetAjaxData.sectionUpdate(params,function(result) { | |
| 685 | - | |
| 686 | - layer.close(i); | |
| 687 | - | |
| 688 | - if(result.status=='SUCCESS'){ | |
| 689 | - | |
| 690 | - layer.msg('修改上行路段成功!'); | |
| 691 | - | |
| 692 | - }else{ | |
| 693 | - | |
| 694 | - layer.msg('修改上行路段失败!'); | |
| 695 | - | |
| 696 | - } | |
| 697 | - functionMapB.clearOverlays(); | |
| 698 | - GetAjaxData.getSectionRouteInfo(id,sectionrouteDirections,function(data) { | |
| 699 | - | |
| 700 | - // 刷新树 | |
| 701 | - PublicFunctions.resjtreeDate(id,sectionrouteDirections); | |
| 702 | - | |
| 703 | - PublicFunctions.linePanlThree(data,sectionrouteDirections); | |
| 704 | - | |
| 705 | - }); | |
| 706 | - }); | |
| 707 | - | |
| 708 | - }); | |
| 709 | - | |
| 710 | - }); | |
| 473 | + WorldsBMap.editPolyUpline(); | |
| 711 | 474 | }, |
| 712 | 475 | |
| 713 | 476 | setFormValue : function(editStationParmas) { |
| ... | ... | @@ -727,9 +490,6 @@ var PublicFunctions = function () { |
| 727 | 490 | // 百度坐标点图形集合 |
| 728 | 491 | $('#bPolygonGridInput').val(editStationParmas.stationBPolygonGrid); |
| 729 | 492 | |
| 730 | - // WGS坐标点图形集合 | |
| 731 | - /*$('#gPolygonGridInput').val(editStationParmas.gPolygonGridInput);*/ | |
| 732 | - | |
| 733 | 493 | // 获取站点名称元素设值 |
| 734 | 494 | $('#stationNameInput').val(editStationParmas.stationStationName); |
| 735 | 495 | |
| ... | ... | @@ -748,15 +508,9 @@ var PublicFunctions = function () { |
| 748 | 508 | // 百度地图经纬度坐标中心点 |
| 749 | 509 | $('#bJwpointsInput').val(editStationParmas.stationBJwpoints); |
| 750 | 510 | |
| 751 | - // WGS经纬度 | |
| 752 | - /*$('#gJwpointsInput').val(editStationParmas.gLonx + ' ' + editStationParmas.gLaty);*/ | |
| 753 | - | |
| 754 | 511 | // 获取图形类型元素,并添加值 |
| 755 | 512 | $('#shapesTypeSelect').val(editStationParmas.stationShapesType); |
| 756 | 513 | |
| 757 | - // 获取方向元素,并添加值 | |
| 758 | - /*$('#stationdirSelect').val(editStationParmas.stationRouteDirections);*/ | |
| 759 | - | |
| 760 | 514 | // 获取半径元素,并添加值 |
| 761 | 515 | $('#radiusInput').val(editStationParmas.stationRadius); |
| 762 | 516 | |
| ... | ... | @@ -775,18 +529,75 @@ var PublicFunctions = function () { |
| 775 | 529 | }, |
| 776 | 530 | |
| 777 | 531 | |
| 532 | + setSectionFormValue : function(Section) { | |
| 533 | + | |
| 534 | + // 路段ID | |
| 535 | + $('#sectionIdInput').val(Section.sectionId); | |
| 536 | + | |
| 537 | + // 路段路由ID | |
| 538 | + $('#sectionRouteIdInput').val(Section.sectionrouteId); | |
| 539 | + | |
| 540 | + // 线路ID | |
| 541 | + $('#sectionRouteLineInput').val(Section.sectionrouteLine); | |
| 542 | + | |
| 543 | + // 线路编码 | |
| 544 | + $('#lineCodeInput').val(Section.sectionrouteLineCode); | |
| 545 | + | |
| 546 | + // 折线坐标集合 | |
| 547 | + $('#bsectionVectorInput').val(Section.sectionBsectionVector); | |
| 548 | + | |
| 549 | + // 路段名称 | |
| 550 | + $('#sectionNameInput').val(Section.sectionName); | |
| 551 | + | |
| 552 | + // 路段编码 | |
| 553 | + $('#sectionCodeInput').val(Section.sectionCode); | |
| 554 | + | |
| 555 | + // 路段序号 | |
| 556 | + $('#sectionrouteCodeSelect').val(Section.sectionrouteCode); | |
| 557 | + | |
| 558 | + // 路段方向 | |
| 559 | + $('#directionsSection').val(Section.sectionrouteDirections); | |
| 560 | + | |
| 561 | + // 道路编码 | |
| 562 | + $('#roadCodingCodInput').val(Section.sectionRoadCoding); | |
| 563 | + | |
| 564 | + // 道路限速 | |
| 565 | + $('#speedLimitInput').val(Section.sectionSpeedLimet); | |
| 566 | + | |
| 567 | + // 路段长度 | |
| 568 | + $('#sectionDistanceInput').val(Section.sectionDistance); | |
| 569 | + | |
| 570 | + // 时长 | |
| 571 | + $('#sectionTimeInput').val(Section.sectionTime); | |
| 572 | + | |
| 573 | + // 版本号 | |
| 574 | + $('#versionsInput').val(Section.versions); | |
| 575 | + | |
| 576 | + // 是否撤销 | |
| 577 | + $('#destroySelect').val(Section.destroy); | |
| 578 | + | |
| 579 | + // 描述/说明 | |
| 580 | + $('#descriptionsTextarea').val(Section.descriptions); | |
| 581 | + | |
| 582 | + }, | |
| 583 | + | |
| 778 | 584 | /** 在地图上画出线路走向 @param:<Line.id:线路Id;0:上行;data:上行路段数据> */ |
| 779 | 585 | linePanlThree : function(lineId,data,direction) { |
| 780 | 586 | |
| 781 | 587 | /** 获取站点路由信息 @param:<Line.id:线路Id;0:上行> @return:<resultdata:站点路由数据> */ |
| 782 | 588 | GetAjaxData.getStationRoutePoint(lineId,direction,function(resultdata) { |
| 783 | 589 | |
| 590 | + WorldsBMap.clearMarkAndOverlays(); | |
| 591 | + | |
| 784 | 592 | // 路段数据长度 |
| 785 | 593 | var dataLen = data.length; |
| 786 | 594 | |
| 787 | 595 | // 如果大于零 |
| 788 | 596 | if(dataLen>0) { |
| 789 | 597 | |
| 598 | + // 地图折线坐标点集合 | |
| 599 | + var polylineArray = []; | |
| 600 | + | |
| 790 | 601 | // 编辑路段数据 |
| 791 | 602 | for(var d= 0; d<dataLen;d++){ |
| 792 | 603 | |
| ... | ... | @@ -805,20 +616,17 @@ var PublicFunctions = function () { |
| 805 | 616 | // 分割折线坐标字符串 |
| 806 | 617 | var lineArray = tempStr.split(','); |
| 807 | 618 | |
| 808 | - // 地图折线坐标点集合 | |
| 809 | - var polylineArray = []; | |
| 810 | - | |
| 811 | 619 | for(var i = 0;i<lineArray.length;i++) { |
| 812 | 620 | |
| 813 | 621 | polylineArray.push(new BMap.Point(lineArray[i].split(' ')[0],lineArray[i].split(' ')[1])); |
| 814 | 622 | |
| 815 | 623 | } |
| 816 | 624 | |
| 817 | - /** 在地图上画出线路走向 @param:<polylineArray:地图折线坐标点集合;resultdata:站点路由数据> */ | |
| 818 | - WorldsBMap.drawingUpline(polylineArray,resultdata); | |
| 819 | - | |
| 820 | 625 | } |
| 821 | 626 | |
| 627 | + /** 在地图上画出线路走向 @param:<polylineArray:地图折线坐标点集合;resultdata:站点路由数据> */ | |
| 628 | + WorldsBMap.drawingUpline(polylineArray,resultdata); | |
| 629 | + | |
| 822 | 630 | // 如果站点路由数据不为空 |
| 823 | 631 | if(resultdata.length>0) { |
| 824 | 632 | |
| ... | ... | @@ -923,41 +731,13 @@ var PublicFunctions = function () { |
| 923 | 731 | |
| 924 | 732 | }, |
| 925 | 733 | |
| 926 | - // 路段折线百度坐标转WGS坐标 | |
| 927 | - eachSectionList : function(sectiondata,cb) { | |
| 734 | + editAChangeCssRemoveDisabled : function() { | |
| 928 | 735 | |
| 929 | - var dataLen_ = sectiondata.length; | |
| 736 | + $('#downLine').removeClass('btn disabled'); | |
| 930 | 737 | |
| 931 | - (function(){ | |
| 932 | - | |
| 933 | - if (!arguments.callee.count) { | |
| 934 | - | |
| 935 | - arguments.callee.count = 0; | |
| 936 | - | |
| 937 | - } | |
| 938 | - | |
| 939 | - arguments.callee.count++; | |
| 940 | - | |
| 941 | - var index_ = parseInt(arguments.callee.count) - 1; | |
| 942 | - | |
| 943 | - if (index_ > dataLen_ -1) { | |
| 944 | - | |
| 945 | - cb && cb(sectiondata); | |
| 946 | - return; | |
| 947 | - | |
| 948 | - } | |
| 949 | - | |
| 950 | - var p = arguments.callee; | |
| 951 | - | |
| 952 | - GetAjaxData.MuneBpointsArrayToWGS(sectiondata[index_].points,function(polyGonArray_) { | |
| 953 | - | |
| 954 | - sectiondata[index_].points = polyGonArray_; | |
| 955 | - | |
| 956 | - p(); | |
| 957 | - }); | |
| 958 | - | |
| 959 | - })(); | |
| 738 | + $('.btn-circle').removeClass('disabled'); | |
| 960 | 739 | |
| 740 | + $('#upLine').removeClass('btn disabled'); | |
| 961 | 741 | } |
| 962 | 742 | |
| 963 | 743 | } | ... | ... |
src/main/resources/static/pages/base/stationroute/js/stationroute-list-map.js
| ... | ... | @@ -24,8 +24,8 @@ |
| 24 | 24 | |
| 25 | 25 | var WorldsBMap = function () { |
| 26 | 26 | |
| 27 | - /** WorldsBMap 全局变量定义 mapBVvalue:地图对象 */ | |
| 28 | - var mapBVvalue = ''; | |
| 27 | + /** WorldsBMap 全局变量定义 mapBValue:地图对象;polygon:多边形;polyUpline:走向折线;circle:圆 */ | |
| 28 | + var mapBValue = '';polygon='',polyUpline='',circle=''; | |
| 29 | 29 | |
| 30 | 30 | var Bmap = { |
| 31 | 31 | |
| ... | ... | @@ -38,34 +38,48 @@ var WorldsBMap = function () { |
| 38 | 38 | var bdKey = 'IGGrr4UjwIYzatoCRFKEL8sT'; |
| 39 | 39 | |
| 40 | 40 | // 初始化百度地图 |
| 41 | - mapBVvalue = new BMap.Map("bmap_basic"); | |
| 41 | + mapBValue = new BMap.Map("bmap_basic"); | |
| 42 | 42 | |
| 43 | 43 | //中心点和缩放级别 |
| 44 | - mapBVvalue.centerAndZoom(new BMap.Point(CENTER_POINT.lng,CENTER_POINT.lat), 15); | |
| 44 | + mapBValue.centerAndZoom(new BMap.Point(CENTER_POINT.lng,CENTER_POINT.lat), 15); | |
| 45 | 45 | |
| 46 | 46 | //启用地图拖拽事件,默认启用(可不写) |
| 47 | - mapBVvalue.enableDragging(); | |
| 47 | + mapBValue.enableDragging(); | |
| 48 | 48 | |
| 49 | 49 | //启用地图滚轮放大缩小 |
| 50 | - mapBVvalue.enableScrollWheelZoom(); | |
| 50 | + mapBValue.enableScrollWheelZoom(); | |
| 51 | 51 | |
| 52 | 52 | //禁用鼠标双击放大 |
| 53 | - mapBVvalue.disableDoubleClickZoom(); | |
| 53 | + mapBValue.disableDoubleClickZoom(); | |
| 54 | 54 | |
| 55 | 55 | //启用键盘上下左右键移动地图 |
| 56 | - mapBVvalue.enableKeyboard(); | |
| 57 | - /*PublicFunctions.setMapEvent(map);*/ | |
| 56 | + mapBValue.enableKeyboard(); | |
| 58 | 57 | |
| 59 | - return mapBVvalue; | |
| 58 | + return mapBValue; | |
| 60 | 59 | }, |
| 61 | 60 | |
| 62 | 61 | /** 获取地图对象 @return 地图对象map */ |
| 63 | 62 | getmapBValue : function() { |
| 64 | 63 | |
| 65 | - return mapBVvalue; | |
| 64 | + return mapBValue; | |
| 66 | 65 | |
| 67 | 66 | }, |
| 68 | 67 | |
| 68 | + getPolygon : function(){ | |
| 69 | + | |
| 70 | + return polygon; | |
| 71 | + }, | |
| 72 | + | |
| 73 | + getPolyUpline : function() { | |
| 74 | + | |
| 75 | + return polyUpline; | |
| 76 | + }, | |
| 77 | + | |
| 78 | + getCircle : function() { | |
| 79 | + | |
| 80 | + return circle; | |
| 81 | + }, | |
| 82 | + | |
| 69 | 83 | initDrawingManager: function(map,styleOptions) { |
| 70 | 84 | |
| 71 | 85 | }, |
| ... | ... | @@ -183,14 +197,11 @@ var WorldsBMap = function () { |
| 183 | 197 | pointsPolygon : function(objStation) { |
| 184 | 198 | |
| 185 | 199 | // 将视图切换到指定的缩放等级,中心点坐标不变。注意:当有信息窗口在地图上打开时,地图缩放将保证信息窗口所在的坐标位置不动。(自1.2新增) |
| 186 | - mapBVvalue.setZoom(16); | |
| 200 | + mapBValue.setZoom(15); | |
| 187 | 201 | |
| 188 | 202 | // 如果不为空 |
| 189 | 203 | if(objStation) { |
| 190 | 204 | |
| 191 | - // 清除地图覆盖物 | |
| 192 | - mapBVvalue.clearOverlays(); | |
| 193 | - | |
| 194 | 205 | // 获取中心点坐标字符串 |
| 195 | 206 | var testpointStr = objStation.stationBJwpoints; |
| 196 | 207 | |
| ... | ... | @@ -232,7 +243,7 @@ var WorldsBMap = function () { |
| 232 | 243 | }); |
| 233 | 244 | |
| 234 | 245 | // 增加地图覆盖物多边形 |
| 235 | - mapBVvalue.addOverlay(polygon); | |
| 246 | + mapBValue.addOverlay(polygon); | |
| 236 | 247 | |
| 237 | 248 | // 信息窗口属性 |
| 238 | 249 | var opts_polygon = { |
| ... | ... | @@ -243,6 +254,9 @@ var WorldsBMap = function () { |
| 243 | 254 | // 信息窗口高度 |
| 244 | 255 | height : 400, |
| 245 | 256 | |
| 257 | + // 信息窗位置偏移值。 | |
| 258 | + offset: new BMap.Size(500,20), | |
| 259 | + | |
| 246 | 260 | //标题 |
| 247 | 261 | title : '<h4 style="color:#FFFFFF">'+objStation.stationStationName+'站详情</h4>', |
| 248 | 262 | |
| ... | ... | @@ -269,74 +283,73 @@ var WorldsBMap = function () { |
| 269 | 283 | marker = new BMap.Marker(pointPolygon,{icon : icon_target}); |
| 270 | 284 | |
| 271 | 285 | // 把标注添物加到地图上 |
| 272 | - mapBVvalue.addOverlay(marker); | |
| 286 | + mapBValue.addOverlay(marker); | |
| 273 | 287 | |
| 274 | 288 | // 是否在平移过程中禁止动画。(自1.2新增) |
| 275 | 289 | var PanOptions_ ={noAnimation :true}; |
| 276 | 290 | |
| 277 | 291 | // 将地图的中心点更改为给定的点。 |
| 278 | - mapBVvalue.panTo(pointPolygon,PanOptions_); | |
| 292 | + mapBValue.panTo(pointPolygon,PanOptions_); | |
| 279 | 293 | |
| 280 | 294 | // 将地图在水平位置上移动x像素,垂直位置上移动y像素。 |
| 281 | - mapBVvalue.panBy(10,110,PanOptions_); | |
| 295 | + mapBValue.panBy(10,-150,PanOptions_); | |
| 282 | 296 | |
| 283 | 297 | //开启信息窗口 |
| 284 | - mapBVvalue.openInfoWindow(infoWindow_target,pointPolygon); | |
| 298 | + mapBValue.openInfoWindow(infoWindow_target,pointPolygon); | |
| 285 | 299 | |
| 286 | 300 | } |
| 287 | 301 | |
| 288 | 302 | }, |
| 289 | 303 | |
| 290 | - pointsThread : function(obj) { | |
| 304 | + editPolyUpline : function() { | |
| 305 | + | |
| 306 | + // 禁止覆盖物在map.clearOverlays方法中被清除。(自 1.1 新增) | |
| 307 | + polyUpline.disableMassClear(); | |
| 308 | + | |
| 309 | + WorldsBMap.clearMarkAndOverlays(); | |
| 310 | + | |
| 311 | + // 允许覆盖物在map.clearOverlays方法中被清除。(自 1.1 新增) | |
| 312 | + polyUpline.enableMassClear(); | |
| 291 | 313 | |
| 292 | - mapBVvalue.clearOverlays(); | |
| 314 | + // 开启线路编辑 | |
| 315 | + polyUpline.enableEditing(); | |
| 293 | 316 | |
| 294 | - if(obj) { | |
| 317 | + // 添加双击折线保存事件 | |
| 318 | + polyUpline.addEventListener('dblclick',function(e) { | |
| 295 | 319 | |
| 296 | - var tempStr = obj.substring(11,obj.length-1); | |
| 320 | + // 关闭 | |
| 321 | + layer.closeAll(); | |
| 297 | 322 | |
| 298 | - var lineArray = tempStr.split(','); | |
| 323 | + polyUpline.disableEditing(); | |
| 299 | 324 | |
| 300 | - var polylineArray = []; | |
| 325 | + // 获取折线坐标集合 | |
| 326 | + var editPloyLineArray = polyUpline.getPath(); | |
| 301 | 327 | |
| 302 | - for(var i = 0;i<lineArray.length;i++) { | |
| 303 | - | |
| 304 | - polylineArray.push(new BMap.Point(lineArray[i].split(' ')[0],lineArray[i].split(' ')[1])); | |
| 305 | - | |
| 306 | - } | |
| 328 | + EditSectionObj.setEitdBsectionVector(JSON.stringify(editPloyLineArray)); | |
| 307 | 329 | |
| 308 | - // 创建线路走向 | |
| 309 | - polyUpline = new BMap.Polyline(polylineArray, {strokeColor : "blue",strokeWeight : 4,strokeOpacity : 0.5}); | |
| 310 | - | |
| 311 | - // 把折线添加到地图上 | |
| 312 | - mapBVvalue.addOverlay(polyUpline); | |
| 313 | - | |
| 314 | - // 自定义标注物图片 | |
| 315 | - var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/cz.png',new BMap.Size(20, 20)); | |
| 316 | - | |
| 317 | - // 创建标注物 | |
| 318 | - var markers_target = new BMap.Marker(polylineArray[0],{icon : icon_target}); | |
| 319 | - | |
| 320 | - // 把标注添物加到地图上 | |
| 321 | - mapBVvalue.addOverlay(markers_target); | |
| 322 | - | |
| 323 | - //设置中心点 | |
| 324 | - mapBVvalue.centerAndZoom(polylineArray[0],16); | |
| 330 | + polyUpline= ''; | |
| 325 | 331 | |
| 326 | - } | |
| 327 | - | |
| 332 | + // 加载修改路段弹出层mobal页面 | |
| 333 | + $.get('editsection.html', function(m){ | |
| 334 | + | |
| 335 | + $(pjaxContainer).append(m); | |
| 336 | + | |
| 337 | + $('#edit_section_mobal').trigger('editSectionMobal_show', [WorldsBMap,GetAjaxData,EditSectionObj,PublicFunctions]); | |
| 338 | + | |
| 339 | + }); | |
| 340 | + }); | |
| 328 | 341 | }, |
| 329 | 342 | |
| 330 | 343 | // 画圆 |
| 331 | 344 | pointsCircle : function(objStation) { |
| 332 | 345 | |
| 333 | 346 | // 将视图切换到指定的缩放等级,中心点坐标不变。注意:当有信息窗口在地图上打开时,地图缩放将保证信息窗口所在的坐标位置不动。(自1.2新增) |
| 334 | - mapBVvalue.setZoom(16); | |
| 347 | + mapBValue.setZoom(16); | |
| 335 | 348 | |
| 336 | 349 | if(objStation) { |
| 337 | 350 | |
| 338 | 351 | // 清除地图覆盖物 |
| 339 | - mapBVvalue.clearOverlays(); | |
| 352 | + mapBValue.clearOverlays(); | |
| 340 | 353 | |
| 341 | 354 | // 获取中心坐标点字符串分割 |
| 342 | 355 | var BJwpoints = objStation.stationBJwpoints.split(' '); |
| ... | ... | @@ -351,7 +364,7 @@ var WorldsBMap = function () { |
| 351 | 364 | circle.enableMassClear(); |
| 352 | 365 | |
| 353 | 366 | // 百度地图添加覆盖物圆 |
| 354 | - mapBVvalue.addOverlay(circle); | |
| 367 | + mapBValue.addOverlay(circle); | |
| 355 | 368 | |
| 356 | 369 | // 信息窗口参数属性 |
| 357 | 370 | var opts = { |
| ... | ... | @@ -394,7 +407,7 @@ var WorldsBMap = function () { |
| 394 | 407 | marker = new BMap.Marker(point,{icon : icon_target}); |
| 395 | 408 | |
| 396 | 409 | // 把标注添物加到地图上 |
| 397 | - mapBVvalue.addOverlay(marker); | |
| 410 | + mapBValue.addOverlay(marker); | |
| 398 | 411 | |
| 399 | 412 | setTimeout(function(){ |
| 400 | 413 | //开启信息窗口 |
| ... | ... | @@ -406,9 +419,9 @@ var WorldsBMap = function () { |
| 406 | 419 | var PanOptions_ ={noAnimation :true}; |
| 407 | 420 | |
| 408 | 421 | // 将地图的中心点更改为给定的点。 |
| 409 | - mapBVvalue.panTo(point,PanOptions_); | |
| 422 | + mapBValue.panTo(point,PanOptions_); | |
| 410 | 423 | |
| 411 | - //map.panBy(10,-50,PanOptions_); | |
| 424 | + mapBValue.panBy(10,-200,PanOptions_); | |
| 412 | 425 | |
| 413 | 426 | // 添加标志物监听事件 |
| 414 | 427 | marker.addEventListener("click",function() { |
| ... | ... | @@ -426,7 +439,7 @@ var WorldsBMap = function () { |
| 426 | 439 | localSearchFromAdreesToPoint: function(Address,callback) { |
| 427 | 440 | |
| 428 | 441 | // 创建一个搜索类实例 |
| 429 | - var localSearch = new BMap.LocalSearch(mapBVvalue); | |
| 442 | + var localSearch = new BMap.LocalSearch(mapBValue); | |
| 430 | 443 | |
| 431 | 444 | // 检索完成后的回调函数。 |
| 432 | 445 | localSearch.setSearchCompleteCallback(function (searchResult) { |
| ... | ... | @@ -470,7 +483,7 @@ var WorldsBMap = function () { |
| 470 | 483 | marker.closeInfoWindow(); |
| 471 | 484 | |
| 472 | 485 | // 清除marker |
| 473 | - mapBVvalue.removeOverlay(marker); | |
| 486 | + mapBValue.removeOverlay(marker); | |
| 474 | 487 | |
| 475 | 488 | // 编辑圆 |
| 476 | 489 | if(stationShapesTypeV =='r') { |
| ... | ... | @@ -492,16 +505,26 @@ var WorldsBMap = function () { |
| 492 | 505 | |
| 493 | 506 | var centre_New = [{potion:{lng:circle.getCenter().lng,lat:circle.getCenter().lat}}]; |
| 494 | 507 | |
| 495 | - // 中心百度坐标转WGS坐标 | |
| 496 | - GetAjaxData.getFormPointEToWGS(centre_New,function(p) { | |
| 497 | - | |
| 498 | - // 设置修改站点参数集合 | |
| 499 | - PublicFunctions.editSeteditStationParmasValue(newCenter, p[0].WGSpotion.Lng , p[0].WGSpotion.Lat,'','','r',Math.round(newRadius)); | |
| 508 | + /** 设置修改站点集合对象站点中心点百度坐标属性值 @param:<bJwpoints:中心点百度坐标) */ | |
| 509 | + EditStationObj.setEitdStationBJwpoints(newCenter); | |
| 510 | + | |
| 511 | + /** 设置修改站点集合对象范围图形类型属性值 @param:<shapesType:范围图形类型) */ | |
| 512 | + EditStationObj.setEitdStationShapesType('r'); | |
| 513 | + | |
| 514 | + /** 设置修改站点集合对象圆形半径属性值 @param:<radius:圆形半径) */ | |
| 515 | + EditStationObj.setEitdStationRadius(Math.round(newRadius)); | |
| 516 | + | |
| 517 | + /** 设置修改站点集合对象图形百度坐标集合属性值 @param:<bPolygonGrid:图形百度坐标集合) */ | |
| 518 | + EditStationObj.setEitdBPolygonGrid(''); | |
| 519 | + | |
| 520 | + // 加载编辑页面 | |
| 521 | + $.get('edit.html', function(m){ | |
| 500 | 522 | |
| 501 | - // 加载编辑页面 | |
| 502 | - $.get('edit.html', function(m){$(pjaxContainer).append(m);}); | |
| 523 | + $(pjaxContainer).append(m); | |
| 503 | 524 | |
| 504 | - }); | |
| 525 | + $('#edit_station_mobal').trigger('editSelectMobal_show', [WorldsBMap,GetAjaxData,EditStationObj,LineObj,PublicFunctions]); | |
| 526 | + | |
| 527 | + }); | |
| 505 | 528 | |
| 506 | 529 | }); |
| 507 | 530 | |
| ... | ... | @@ -517,70 +540,48 @@ var WorldsBMap = function () { |
| 517 | 540 | // 获取编辑的多边形对象 |
| 518 | 541 | var edit_pointE = polygon; |
| 519 | 542 | |
| 520 | - // 多边形坐标点集合 | |
| 521 | - var eidt_PointsList = []; | |
| 522 | - | |
| 523 | - for ( var i = 0; i < edit_pointE.getPath().length; i++) { | |
| 524 | - | |
| 525 | - eidt_PointsList.push({potion: {lng: edit_pointE.getPath()[i].lng, lat: edit_pointE.getPath()[i].lat}}); | |
| 526 | - | |
| 527 | - } | |
| 528 | - | |
| 529 | - eidt_PointsList.push({potion: {lng: edit_pointE.getPath()[0].lng, lat: edit_pointE.getPath()[0].lat}}); | |
| 530 | - | |
| 531 | - var edit_centre = [{potion:{lng:edit_pointE.getBounds().getCenter().lng,lat:edit_pointE.getBounds().getCenter().lat}}]; | |
| 543 | + var edit_bPloygonGrid = ""; | |
| 532 | 544 | |
| 533 | - // 多边形中心点 | |
| 534 | - var centre_points = edit_pointE.getBounds().getCenter().lng + ' ' + edit_pointE.getBounds().getCenter().lat; | |
| 545 | + var editPolyGonLen_ = edit_pointE.getPath().length; | |
| 535 | 546 | |
| 536 | - // 多边形坐标点集合转WGS坐标 | |
| 537 | - GetAjaxData.getFormPointEToWGS(eidt_PointsList,function(resultdata) { | |
| 538 | - | |
| 539 | - // 多边形WGS坐标字符串 | |
| 540 | - var eidt_gPloygonGrid = ''; | |
| 541 | - | |
| 542 | - // 百度坐标字符串 | |
| 543 | - var edit_bPloygonGrid = ''; | |
| 547 | + for(var k =0;k<editPolyGonLen_;k++) { | |
| 544 | 548 | |
| 545 | - for(var k =0;k<resultdata.length;k++) { | |
| 549 | + if(k==0) { | |
| 546 | 550 | |
| 547 | - if(k==0) { | |
| 548 | - | |
| 549 | - eidt_gPloygonGrid = resultdata[k].WGSpotion.Lng + ' ' +resultdata[k].WGSpotion.Lat; | |
| 550 | - | |
| 551 | - edit_bPloygonGrid = resultdata[k].potion.lng + ' ' +resultdata[k].potion.lat; | |
| 552 | - | |
| 553 | - }else { | |
| 554 | - | |
| 555 | - eidt_gPloygonGrid = eidt_gPloygonGrid + ',' + resultdata[k].WGSpotion.Lng + ' ' +resultdata[k].WGSpotion.Lat; | |
| 556 | - | |
| 557 | - edit_bPloygonGrid = edit_bPloygonGrid + ',' + resultdata[k].potion.lng + ' ' +resultdata[k].potion.lat; | |
| 558 | - | |
| 559 | - } | |
| 551 | + edit_bPloygonGrid = edit_pointE.getPath()[k].lng + ' ' + edit_pointE.getPath()[k].lat; | |
| 552 | + | |
| 553 | + }else { | |
| 554 | + | |
| 555 | + edit_bPloygonGrid = edit_bPloygonGrid + ',' + edit_pointE.getPath()[k].lng + ' ' + edit_pointE.getPath()[k].lat; | |
| 560 | 556 | |
| 561 | 557 | } |
| 558 | + | |
| 559 | + } | |
| 560 | + | |
| 561 | + edit_bPloygonGrid = edit_bPloygonGrid + ',' + edit_pointE.getPath()[0].lng + ' ' + edit_pointE.getPath()[0].lat; | |
| 562 | + | |
| 563 | + // 多边形中心点 | |
| 564 | + var centre_points = edit_pointE.getBounds().getCenter().lng + ' ' + edit_pointE.getBounds().getCenter().lat; | |
| 565 | + | |
| 566 | + /** 设置修改站点集合对象站点中心点百度坐标属性值 @param:<bJwpoints:中心点百度坐标) */ | |
| 567 | + EditStationObj.setEitdStationBJwpoints(centre_points); | |
| 568 | + | |
| 569 | + /** 设置修改站点集合对象范围图形类型属性值 @param:<shapesType:范围图形类型) */ | |
| 570 | + EditStationObj.setEitdStationShapesType('d'); | |
| 571 | + | |
| 572 | + /** 设置修改站点集合对象圆形半径属性值 @param:<radius:圆形半径) */ | |
| 573 | + EditStationObj.setEitdStationRadius(''); | |
| 574 | + | |
| 575 | + /** 设置修改站点集合对象图形百度坐标集合属性值 @param:<bPolygonGrid:图形百度坐标集合) */ | |
| 576 | + EditStationObj.setEitdBPolygonGrid(edit_bPloygonGrid); | |
| 577 | + | |
| 578 | + $.get('edit.html', function(m){ | |
| 562 | 579 | |
| 563 | - eidt_gPloygonGrid = 'POLYGON((' + eidt_gPloygonGrid + '))'; | |
| 564 | - | |
| 565 | - edit_bPloygonGrid = 'POLYGON((' + edit_bPloygonGrid + '))'; | |
| 580 | + $(pjaxContainer).append(m); | |
| 566 | 581 | |
| 567 | - // 中心点坐标转WGS坐标 | |
| 568 | - GetAjaxData.getFormPointEToWGS(edit_centre,function(p) { | |
| 569 | - | |
| 570 | - var edit_gLonx = p[0].WGSpotion.Lng; | |
| 571 | - | |
| 572 | - var edit_gLaty = p[0].WGSpotion.Lat; | |
| 573 | - | |
| 574 | - // 设置编辑站点参宿集合 | |
| 575 | - PublicFunctions.editSeteditStationParmasValue(centre_points,edit_gLonx,edit_gLaty,edit_bPloygonGrid,eidt_gPloygonGrid,'d',''); | |
| 576 | - | |
| 577 | - // 加载编辑页面 | |
| 578 | - $.get('edit.html', function(m){$(pjaxContainer).append(m);}); | |
| 579 | - | |
| 580 | - }); | |
| 582 | + $('#edit_station_mobal').trigger('editSelectMobal_show', [WorldsBMap,GetAjaxData,EditStationObj,LineObj,PublicFunctions]); | |
| 581 | 583 | |
| 582 | - }); | |
| 583 | - | |
| 584 | + }); | |
| 584 | 585 | |
| 585 | 586 | }); |
| 586 | 587 | |
| ... | ... | @@ -591,14 +592,15 @@ var WorldsBMap = function () { |
| 591 | 592 | // 在地图上画出上行线路走向 |
| 592 | 593 | drawingUpline : function (polylineArray,resultdata) { |
| 593 | 594 | |
| 594 | - // 清除地图覆盖物 | |
| 595 | - mapBVvalue.clearOverlays(); | |
| 595 | + WorldsBMap.clearMarkAndOverlays(); | |
| 596 | + | |
| 597 | + polyUpline = ''; | |
| 596 | 598 | |
| 597 | 599 | // 创建线路走向 |
| 598 | 600 | polyUpline = new BMap.Polyline(polylineArray, {strokeColor : "blue",strokeWeight : 6,strokeOpacity : 0.5}); |
| 599 | 601 | |
| 600 | 602 | // 把折线添加到地图上 |
| 601 | - mapBVvalue.addOverlay(polyUpline); | |
| 603 | + mapBValue.addOverlay(polyUpline); | |
| 602 | 604 | |
| 603 | 605 | var ceter_index = Math.round(resultdata.length / 2); |
| 604 | 606 | |
| ... | ... | @@ -610,13 +612,13 @@ var WorldsBMap = function () { |
| 610 | 612 | |
| 611 | 613 | var PanOptions_ ={noAnimation :true}; |
| 612 | 614 | |
| 613 | - mapBVvalue.reset(); | |
| 615 | + mapBValue.reset(); | |
| 614 | 616 | |
| 615 | - mapBVvalue.panTo(polyline_center,PanOptions_); | |
| 617 | + mapBValue.panTo(polyline_center,PanOptions_); | |
| 616 | 618 | |
| 617 | - mapBVvalue.panBy(500,-510,PanOptions_); | |
| 619 | + mapBValue.panBy(500,-510,PanOptions_); | |
| 618 | 620 | |
| 619 | - mapBVvalue.setZoom(14); | |
| 621 | + mapBValue.setZoom(14); | |
| 620 | 622 | |
| 621 | 623 | }, |
| 622 | 624 | |
| ... | ... | @@ -627,24 +629,12 @@ var WorldsBMap = function () { |
| 627 | 629 | var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/cz.png',new BMap.Size(20, 20)); |
| 628 | 630 | |
| 629 | 631 | // 创建标注物 |
| 630 | - var markers_thread = new BMap.Marker(point_center,{icon : icon_target}); | |
| 632 | + marker = new BMap.Marker(point_center,{icon : icon_target}); | |
| 631 | 633 | |
| 632 | 634 | // 允许覆盖物在map.clearOverlays方法中被清除。 |
| 633 | - markers_thread.enableMassClear(); | |
| 634 | - | |
| 635 | - // 清除marker | |
| 636 | - mapBVvalue.removeOverlay(markers_thread); | |
| 635 | + marker.enableMassClear(); | |
| 637 | 636 | |
| 638 | - mapBVvalue.addOverlay(markers_thread); | |
| 639 | - }, | |
| 640 | - | |
| 641 | - // 打开绘画工具 | |
| 642 | - drawingManagerOpen : function() { | |
| 643 | - | |
| 644 | - // 清楚地图覆盖物 | |
| 645 | - mapBVvalue.clearOverlays(); | |
| 646 | - | |
| 647 | - | |
| 637 | + mapBValue.addOverlay(marker); | |
| 648 | 638 | }, |
| 649 | 639 | |
| 650 | 640 | // 站点名称获取百度坐标(手动规划) |
| ... | ... | @@ -678,7 +668,7 @@ var WorldsBMap = function () { |
| 678 | 668 | |
| 679 | 669 | if(arra[index]!=''){ |
| 680 | 670 | |
| 681 | - var localSearch = new BMap.LocalSearch(mapBVvalue); | |
| 671 | + var localSearch = new BMap.LocalSearch(mapBValue); | |
| 682 | 672 | |
| 683 | 673 | localSearch.search(arra[index]); |
| 684 | 674 | |
| ... | ... | @@ -742,7 +732,7 @@ var WorldsBMap = function () { |
| 742 | 732 | |
| 743 | 733 | var poiTwo = new BMap.Point(stationList[index+1].potion.lng,stationList[index+1].potion.lat); |
| 744 | 734 | |
| 745 | - var transit = new BMap.TransitRoute(mapBVvalue, {renderOptions: {map: mapBVvalue},onSearchComplete: searchComplete}); | |
| 735 | + var transit = new BMap.TransitRoute(mapBValue, {renderOptions: {map: mapBValue},onSearchComplete: searchComplete}); | |
| 746 | 736 | |
| 747 | 737 | transit.search(poiOne,poiTwo); |
| 748 | 738 | |
| ... | ... | @@ -810,7 +800,7 @@ var WorldsBMap = function () { |
| 810 | 800 | |
| 811 | 801 | /* var transit = new BMap.TransitRoute(mapB, {renderOptions: {map: mapB},onPolylinesSet: searchPolylinesSet});*/ |
| 812 | 802 | |
| 813 | - var transit = new BMap.DrivingRoute(mapBVvalue, {renderOptions: {map: mapBVvalue},onPolylinesSet: searchPolylinesSet}); | |
| 803 | + var transit = new BMap.DrivingRoute(mapBValue, {renderOptions: {map: mapBValue},onPolylinesSet: searchPolylinesSet}); | |
| 814 | 804 | |
| 815 | 805 | function searchPolylinesSet(results){ |
| 816 | 806 | |
| ... | ... | @@ -856,12 +846,12 @@ var WorldsBMap = function () { |
| 856 | 846 | |
| 857 | 847 | var PanOptions ={noAnimation :true}; |
| 858 | 848 | |
| 859 | - mapBVvalue.panTo(stationNameChangePoint,PanOptions); | |
| 849 | + mapBValue.panTo(stationNameChangePoint,PanOptions); | |
| 860 | 850 | |
| 861 | - mapBVvalue.panBy(0,-100); | |
| 851 | + mapBValue.panBy(0,-100); | |
| 862 | 852 | |
| 863 | 853 | // 将标注添加到地图中 |
| 864 | - mapBVvalue.addOverlay(marker_stargt2); | |
| 854 | + mapBValue.addOverlay(marker_stargt2); | |
| 865 | 855 | |
| 866 | 856 | //跳动的动画 |
| 867 | 857 | marker_stargt2.setAnimation(BMAP_ANIMATION_BOUNCE); |
| ... | ... | @@ -875,7 +865,7 @@ var WorldsBMap = function () { |
| 875 | 865 | /** 系统规划抓去数据 @param lineNameValue:线路名称;i:方向*/ |
| 876 | 866 | getBmapStationNames : function(lineNameValue,i,callback) { |
| 877 | 867 | |
| 878 | - var busline = new BMap.BusLineSearch(mapBVvalue,{ | |
| 868 | + var busline = new BMap.BusLineSearch(mapBValue,{ | |
| 879 | 869 | |
| 880 | 870 | // 设置公交列表查询后的回调函数。参数:rs: BusListResult类型 |
| 881 | 871 | onGetBusListComplete:function(BusListResult) { |
| ... | ... | @@ -934,7 +924,9 @@ var WorldsBMap = function () { |
| 934 | 924 | clearMarkAndOverlays : function() { |
| 935 | 925 | |
| 936 | 926 | // 清楚地图覆盖物 |
| 937 | - mapBVvalue.clearOverlays(); | |
| 927 | + mapBValue.clearOverlays(); | |
| 928 | + | |
| 929 | + mapBValue.removeOverlay(); | |
| 938 | 930 | |
| 939 | 931 | } |
| 940 | 932 | ... | ... |
src/main/resources/static/pages/base/stationroute/js/stationroute-list-treedata.js
| ... | ... | @@ -13,6 +13,160 @@ |
| 13 | 13 | |
| 14 | 14 | var StationTreeData = function(){ |
| 15 | 15 | |
| 16 | + function parmasObj() { | |
| 17 | + | |
| 18 | + AddStationObj.setAddStation({}); | |
| 19 | + | |
| 20 | + EditStationObj.setEitdStation({}); | |
| 21 | + | |
| 22 | + EditSectionObj.setEitdSection({}); | |
| 23 | + | |
| 24 | + } | |
| 25 | + | |
| 26 | + function upIsEidtStauts(shapesTypeT,chaildredType,data) { | |
| 27 | + | |
| 28 | + // 关闭弹出层 | |
| 29 | + layer.closeAll(); | |
| 30 | + | |
| 31 | + // 选中的是站点 | |
| 32 | + if(chaildredType =='station') { | |
| 33 | + | |
| 34 | + // 如果是圆 | |
| 35 | + if(shapesTypeT =='r') { | |
| 36 | + | |
| 37 | + // 百度地图画圆 | |
| 38 | + WorldsBMap.pointsCircle(data); | |
| 39 | + | |
| 40 | + // 如果是多变行 | |
| 41 | + }else if(shapesTypeT == 'd') { | |
| 42 | + | |
| 43 | + // 百度地图画多边形 | |
| 44 | + WorldsBMap.pointsPolygon(objStation); | |
| 45 | + | |
| 46 | + } | |
| 47 | + | |
| 48 | + // 选中的是路段 | |
| 49 | + }else if(chaildredType =='section'){ | |
| 50 | + | |
| 51 | + // 路段矢量坐标点 | |
| 52 | + var polylineArray = [data]; | |
| 53 | + | |
| 54 | + // 路段方向 | |
| 55 | + var dire_ = data.sectionrouteDirections; | |
| 56 | + | |
| 57 | + // 线路ID | |
| 58 | + var Line = LineObj.getLineObj(); | |
| 59 | + | |
| 60 | + // 百度地图画路段 | |
| 61 | + PublicFunctions.linePanlThree(Line.id,polylineArray,dire_); | |
| 62 | + | |
| 63 | + } | |
| 64 | + | |
| 65 | + } | |
| 66 | + | |
| 67 | + function TreeOnclickEvent(treeOjb) { | |
| 68 | + | |
| 69 | + // 节点个数 | |
| 70 | + var len = treeOjb.length; | |
| 71 | + | |
| 72 | + if(len<0) { | |
| 73 | + | |
| 74 | + return; | |
| 75 | + } | |
| 76 | + | |
| 77 | + // 获取数据 | |
| 78 | + var stationData = treeOjb[0].original; | |
| 79 | + | |
| 80 | + // 站点范围类型 | |
| 81 | + var shapesType_ = stationData.stationShapesType; | |
| 82 | + | |
| 83 | + // 选中的节点类型 | |
| 84 | + var chaildredType_ = stationData.chaildredType; | |
| 85 | + | |
| 86 | + // 选中的其它节点 | |
| 87 | + if(chaildredType_ ==null){ | |
| 88 | + | |
| 89 | + return; | |
| 90 | + } | |
| 91 | + | |
| 92 | + var edtsta = EditStationObj.getEitdStation(); | |
| 93 | + | |
| 94 | + var edtste = EditSectionObj.getEitdSection(); | |
| 95 | + | |
| 96 | + if(!$.isEmptyObject(edtsta)){ | |
| 97 | + | |
| 98 | + var stationName = edtsta.stationStationName; | |
| 99 | + | |
| 100 | + var txType = edtsta.stationShapesType; | |
| 101 | + | |
| 102 | + // 是否继续弹出层 | |
| 103 | + layer.confirm('您正处于站点【'+stationName+'】的编辑状态!是否退出!', { | |
| 104 | + btn : [ '确认并退出', '返回并继续' ] | |
| 105 | + }, function(index) { | |
| 106 | + | |
| 107 | + PublicFunctions.editAChangeCssRemoveDisabled(); | |
| 108 | + | |
| 109 | + // 关闭弹出层 | |
| 110 | + layer.close(index); | |
| 111 | + | |
| 112 | + if(txType=='r'){ | |
| 113 | + | |
| 114 | + WorldsBMap.pointsCircle(edtsta); | |
| 115 | + | |
| 116 | + }else if(txType=='d') { | |
| 117 | + | |
| 118 | + // 百度地图画多边形 | |
| 119 | + WorldsBMap.pointsPolygon(edtsta); | |
| 120 | + } | |
| 121 | + | |
| 122 | + parmasObj(); | |
| 123 | + | |
| 124 | + // upIsEidtStauts(objStation,chaildredType,len); | |
| 125 | + | |
| 126 | + },function(){ | |
| 127 | + | |
| 128 | + // 关闭弹出层 | |
| 129 | + layer.closeAll(); | |
| 130 | + | |
| 131 | + return false; | |
| 132 | + }); | |
| 133 | + | |
| 134 | + }else if(!$.isEmptyObject(edtste)) { | |
| 135 | + | |
| 136 | + var sectionName = edtste.sectionName; | |
| 137 | + | |
| 138 | + // 是否继续弹出层 | |
| 139 | + layer.confirm('您正处于路段【'+sectionName+'】的编辑状态!是否退出!', { | |
| 140 | + btn : [ '确认并退出', '返回并继续' ] | |
| 141 | + }, function(index) { | |
| 142 | + | |
| 143 | + // 关闭弹出层 | |
| 144 | + layer.close(index); | |
| 145 | + | |
| 146 | + PublicFunctions.editAChangeCssRemoveDisabled(); | |
| 147 | + | |
| 148 | + var polylineArray_ = [edtste]; | |
| 149 | + | |
| 150 | + // 百度地图画路段 | |
| 151 | + PublicFunctions.linePanlThree(edtste.sectionrouteLine,polylineArray_,edtste.sectionrouteDirections); | |
| 152 | + | |
| 153 | + // upIsEidtStauts(objStation,chaildredType,len); | |
| 154 | + | |
| 155 | + },function(){ | |
| 156 | + | |
| 157 | + // 关闭弹出层 | |
| 158 | + layer.closeAll(); | |
| 159 | + return false; | |
| 160 | + }); | |
| 161 | + | |
| 162 | + }else { | |
| 163 | + | |
| 164 | + upIsEidtStauts(shapesType_,chaildredType_,stationData); | |
| 165 | + | |
| 166 | + } | |
| 167 | + | |
| 168 | + } | |
| 169 | + | |
| 16 | 170 | var stationTree = { |
| 17 | 171 | |
| 18 | 172 | upInit : function(treeDateJson) { |
| ... | ... | @@ -74,74 +228,10 @@ var StationTreeData = function(){ |
| 74 | 228 | // 树节点单击事件 |
| 75 | 229 | }).bind('click.jstree', function(event) { |
| 76 | 230 | |
| 77 | - // 关闭弹出层 | |
| 78 | - layer.closeAll(); | |
| 79 | - | |
| 80 | - // 获取选中树节点 | |
| 231 | + // 获取上行选中树节点 | |
| 81 | 232 | var treeOjb = $.jstree.reference("#station_Up_tree").get_selected(true); |
| 82 | 233 | |
| 83 | - // 节点个数 | |
| 84 | - var len = treeOjb.length; | |
| 85 | - | |
| 86 | - // 如果选中 | |
| 87 | - if(len>0) { | |
| 88 | - | |
| 89 | - // 获取数据 | |
| 90 | - var objStation = treeOjb[0].original; | |
| 91 | - | |
| 92 | - // 选中的节点类型 | |
| 93 | - var chaildredType = objStation.chaildredType; | |
| 94 | - | |
| 95 | - // 选中的是站点 | |
| 96 | - if(chaildredType =='station') { | |
| 97 | - | |
| 98 | - // 站点范围类型 | |
| 99 | - var shapesTypeT = treeOjb[0].original.stationShapesType; | |
| 100 | - | |
| 101 | - // 节点数据 | |
| 102 | - var objStation = treeOjb[0].original; | |
| 103 | - | |
| 104 | - // 如果是圆 | |
| 105 | - if(shapesTypeT =='r') { | |
| 106 | - | |
| 107 | - // 百度地图画圆 | |
| 108 | - WorldsBMap.pointsCircle(objStation); | |
| 109 | - | |
| 110 | - // 如果是多变行 | |
| 111 | - }else if(shapesTypeT == 'd') { | |
| 112 | - | |
| 113 | - // 百度地图画多边形 | |
| 114 | - WorldsBMap.pointsPolygon(objStation); | |
| 115 | - | |
| 116 | - } | |
| 117 | - | |
| 118 | - // 选中的是路段 | |
| 119 | - }else if(chaildredType =='section'){ | |
| 120 | - | |
| 121 | - // 选中节点数据 | |
| 122 | - var objSection = treeOjb[0].original.sectionBsectionVector; | |
| 123 | - | |
| 124 | - // 路段矢量坐标点 | |
| 125 | - var polylineArray = []; | |
| 126 | - | |
| 127 | - polylineArray.push(treeOjb[0].original); | |
| 128 | - | |
| 129 | - // 路段方向 | |
| 130 | - var dire_ = treeOjb[0].original.sectionrouteDirections; | |
| 131 | - | |
| 132 | - var lineIdPanlThree = PublicFunctions.getLineIdValue(); | |
| 133 | - | |
| 134 | - // 百度地图画路段 | |
| 135 | - PublicFunctions.linePanlThree(lineIdPanlThree,polylineArray,dire_); | |
| 136 | - | |
| 137 | - // 选中的其它节点 | |
| 138 | - }else if(chaildredType ==null){ | |
| 139 | - | |
| 140 | - return; | |
| 141 | - | |
| 142 | - } | |
| 143 | - | |
| 144 | - } | |
| 234 | + TreeOnclickEvent(treeOjb); | |
| 145 | 235 | |
| 146 | 236 | }); |
| 147 | 237 | } |
| ... | ... | @@ -206,80 +296,11 @@ var StationTreeData = function(){ |
| 206 | 296 | // 树节点单击事件 |
| 207 | 297 | }).bind('click.jstree', function(event) { |
| 208 | 298 | |
| 209 | - // 关闭弹出层 | |
| 210 | - layer.closeAll(); | |
| 211 | - | |
| 212 | - // 获取选中节点 | |
| 299 | + // 获取下行选中树节点 | |
| 213 | 300 | var treeOjb = $.jstree.reference("#station_Down_tree").get_selected(true); |
| 214 | 301 | |
| 215 | - // 选择节点个数 | |
| 216 | - var len = treeOjb.length; | |
| 217 | - | |
| 218 | - // 如果选中 | |
| 219 | - if(len>0) { | |
| 220 | - | |
| 221 | - // 获取数据 | |
| 222 | - var objStation = treeOjb[0].original; | |
| 223 | - | |
| 224 | - // 选中的节点类型 | |
| 225 | - var chaildredType = objStation.chaildredType; | |
| 226 | - | |
| 227 | - // 选中的是站点 | |
| 228 | - if(chaildredType =='station') { | |
| 229 | - | |
| 230 | - // 将视图切换到指定的缩放等级,中心点坐标不变。注意:当有信息窗口在地图上打开时,地图缩放将保证信息窗口所在的坐标位置不动。(自1.2新增) | |
| 231 | - mapB.setZoom(16); | |
| 232 | - | |
| 233 | - // 站点范围类型 | |
| 234 | - var shapesTypeT = treeOjb[0].original.stationShapesType; | |
| 235 | - | |
| 236 | - // 节点数据 | |
| 237 | - var objStation = treeOjb[0].original; | |
| 238 | - | |
| 239 | - // 如果是圆 | |
| 240 | - if(shapesTypeT =='r') { | |
| 241 | - | |
| 242 | - // 百度地图画圆 | |
| 243 | - WorldsBMap.pointsCircle(objStation,mapB); | |
| 244 | - | |
| 245 | - // 如果是多变行 | |
| 246 | - }else if(shapesTypeT == 'd') { | |
| 247 | - | |
| 248 | - // 百度地图画多边形 | |
| 249 | - WorldsBMap.pointsPolygon(objStation,mapB); | |
| 250 | - | |
| 251 | - } | |
| 252 | - | |
| 253 | - // 选中的是路段 | |
| 254 | - }else if(chaildredType =='section'){ | |
| 255 | - | |
| 256 | - // 选中节点数据 | |
| 257 | - var objSection = treeOjb[0].original.sectionBsectionVector; | |
| 258 | - | |
| 259 | - // 路段矢量坐标点 | |
| 260 | - var polylineArray = []; | |
| 261 | - | |
| 262 | - polylineArray.push(treeOjb[0].original); | |
| 263 | - | |
| 264 | - // 路段方向 | |
| 265 | - var dire_ = treeOjb[0].original.sectionrouteDirections; | |
| 266 | - | |
| 267 | - /*// 清除地图覆盖物 | |
| 268 | - mapB.clearOverlays();*/ | |
| 269 | - | |
| 270 | - var lineIdPanlThree = PublicFunctions.getLineIdValue(); | |
| 271 | - | |
| 272 | - // 百度地图画路段 | |
| 273 | - PublicFunctions.linePanlThree(lineIdPanlThree,polylineArray,dire_); | |
| 274 | - | |
| 275 | - // 选中的其它节点 | |
| 276 | - }else if(chaildredType ==null){ | |
| 277 | - | |
| 278 | - return; | |
| 279 | - | |
| 280 | - } | |
| 281 | - | |
| 282 | - } | |
| 302 | + TreeOnclickEvent(treeOjb); | |
| 303 | + | |
| 283 | 304 | }); |
| 284 | 305 | } |
| 285 | 306 | }, | ... | ... |
src/main/resources/static/pages/base/stationroute/list.html
| ... | ... | @@ -211,46 +211,18 @@ |
| 211 | 211 | </div> |
| 212 | 212 | </div> |
| 213 | 213 | </div> |
| 214 | -<script type="text/javascript"> | |
| 215 | - | |
| 216 | -/** | |
| 217 | - * 全局变量 | |
| 218 | - * - - - - - > id:线路ID | |
| 219 | - * | |
| 220 | - * - - - - - > dir:方向 | |
| 221 | - * | |
| 222 | - * - - - - - > map :地图 | |
| 223 | - * | |
| 224 | - * - - - - - > drawingManager:鼠标绘制完成返回数据 | |
| 225 | - * | |
| 226 | - * - - - - - > addStationNameValue:新增选择系统生成新增方式的站点名称 | |
| 227 | - * | |
| 228 | - * - - - - - > circle:圆 | |
| 229 | - * | |
| 230 | - * - - - - - > polygon:多边形 | |
| 231 | - * | |
| 232 | - * - - - - - > polyUpline 线路上行走向 | |
| 233 | - * | |
| 234 | - * - - - - - > addStaitonParmas 新增站点保存参数集合 | |
| 235 | - * | |
| 236 | - * - - - - - > editStationParmas 编辑站点保存参数集合 | |
| 237 | - * | |
| 238 | - * - - - - - > status 绘画状态:新增与编辑 | |
| 239 | - */ | |
| 240 | -/* var id = '',dir = '',map = '', drawingManager = '',addStationNameValue = '', | |
| 241 | - circle='',marker = '',polyUpline='',addStaitonParmas = {},editStationParmas={},status='',manualPararms={}; */ | |
| 242 | - | |
| 243 | - | |
| 244 | -</script> | |
| 245 | 214 | <!-- 线路类 --> |
| 246 | 215 | <script src="/pages/base/stationroute/js/line.js"></script> |
| 247 | 216 | |
| 248 | 217 | <!-- 新增站点对象类 --> |
| 249 | 218 | <script src="/pages/base/stationroute/js/addstationobj.js"></script> |
| 250 | 219 | |
| 251 | -<!-- 新增站点对象类 --> | |
| 220 | +<!-- 修改站点对象类 --> | |
| 252 | 221 | <script src="/pages/base/stationroute/js/editstationobj.js"></script> |
| 253 | 222 | |
| 223 | +<!-- 修改路段对象类 --> | |
| 224 | +<script src="/pages/base/stationroute/js/editsection.js"></script> | |
| 225 | + | |
| 254 | 226 | <!-- 绘图类 --> |
| 255 | 227 | <script src="/pages/base/stationroute/js/drawingManager.js"></script> |
| 256 | 228 | ... | ... |
src/main/resources/static/pages/scheduleApp/module/basicInfo/busInfoManage/busInfoManage.js
| ... | ... | @@ -26,7 +26,7 @@ angular.module('ScheduleApp').factory('BusInfoManageService', ['BusInfoManageSer |
| 26 | 26 | resetSearchCondition: function() { |
| 27 | 27 | var key; |
| 28 | 28 | for (key in currentSearchCondition) { |
| 29 | - currentSearchCondition[key] = ""; | |
| 29 | + currentSearchCondition[key] = null; | |
| 30 | 30 | } |
| 31 | 31 | currentPageNo = 1; |
| 32 | 32 | }, | ... | ... |
src/main/resources/static/pages/scheduleApp/module/basicInfo/busInfoManage/list.html
| ... | ... | @@ -32,25 +32,20 @@ |
| 32 | 32 | <input type="text" class="form-control form-filter input-sm" ng-model="ctrl.searchCondition().carPlate_like"/> |
| 33 | 33 | </td> |
| 34 | 34 | <td> |
| 35 | - <select class="form-control form-filter " > | |
| 36 | - <option value="">请选择...</option> | |
| 37 | - <option value="55">上南公司</option> | |
| 38 | - <option value="22">金高公司</option> | |
| 39 | - <option value="05">杨高公司</option> | |
| 40 | - <option value="26">南汇公司</option> | |
| 41 | - </select> | |
| 42 | - </td> | |
| 43 | - <td> | |
| 44 | - <select class="form-control form-filter " > | |
| 45 | - <option value="">请选择...</option> | |
| 46 | - </select> | |
| 35 | + <div style="width: 150px"> | |
| 36 | + <sa-Select model="ctrl.searchCondition()" | |
| 37 | + dicgroup="gsType" | |
| 38 | + placeholder="请选择..." | |
| 39 | + name="gs" | |
| 40 | + codename="businessCode_eq"> | |
| 41 | + </sa-Select> | |
| 42 | + </div> | |
| 43 | + </td> | |
| 44 | + <td style="width: 100px"> | |
| 45 | + | |
| 47 | 46 | </td> |
| 48 | - <td> | |
| 49 | - <select class="form-control form-filter " > | |
| 50 | - <option value="">请选择...</option> | |
| 51 | - <option value="1">是</option> | |
| 52 | - <option value="0">否</option> | |
| 53 | - </select> | |
| 47 | + <td style="width: 80px"> | |
| 48 | + | |
| 54 | 49 | </td> |
| 55 | 50 | <td> |
| 56 | 51 | <button class="btn btn-sm green btn-outline filter-submit margin-bottom" | ... | ... |
src/main/resources/static/pages/scheduleApp/module/basicInfo/employeeInfoManage/employeeInfoManage.js
| ... | ... | @@ -27,7 +27,7 @@ angular.module('ScheduleApp').factory('EmployeeInfoManageService', ['EmployeeInf |
| 27 | 27 | resetSearchCondition: function() { |
| 28 | 28 | var key; |
| 29 | 29 | for (key in currentSearchCondition) { |
| 30 | - currentSearchCondition[key] = ""; | |
| 30 | + currentSearchCondition[key] = null; | |
| 31 | 31 | } |
| 32 | 32 | currentPageNo = 1; |
| 33 | 33 | }, | ... | ... |
src/main/resources/static/pages/scheduleApp/module/basicInfo/employeeInfoManage/list.html
| ... | ... | @@ -7,20 +7,16 @@ |
| 7 | 7 | <input type="checkbox" class="group-checkable"/> |
| 8 | 8 | </th> |
| 9 | 9 | <th>序号</th> |
| 10 | - <th>员工编号</th> | |
| 11 | 10 | <th>姓名</th> |
| 12 | 11 | <th>工号</th> |
| 13 | 12 | <th>性别</th> |
| 14 | 13 | <th>所在公司</th> |
| 15 | 14 | <th>分公司</th> |
| 16 | 15 | <th>工种</th> |
| 17 | - <th>一卡通号</th> | |
| 18 | - <th>运营服务证号</th> | |
| 19 | 16 | <th width="14%">操作</th> |
| 20 | 17 | </tr> |
| 21 | 18 | <tr role="row" class="filter"> |
| 22 | 19 | <td></td> |
| 23 | - <td></td> | |
| 24 | 20 | <td> |
| 25 | 21 | <input type="text" class="form-control input-sm" ng-model="ctrl.searchCondition().personnelCode_like"/> |
| 26 | 22 | </td> |
| ... | ... | @@ -31,50 +27,37 @@ |
| 31 | 27 | <input type="text" class="form-control input-sm" ng-model="ctrl.searchCondition().jobCode_like"/> |
| 32 | 28 | </td> |
| 33 | 29 | <td> |
| 34 | - <select class="form-contrl form-filter"> | |
| 35 | - <option value="">请选择</option> | |
| 36 | - <option value="男">男</option> | |
| 37 | - <option value="女">女</option> | |
| 38 | - </select> | |
| 39 | - </td> | |
| 40 | - <td> | |
| 41 | - <select class="form-control form-filter " > | |
| 42 | - <option value="">请选择...</option> | |
| 43 | - <option value="55">上南公司</option> | |
| 44 | - <option value="22">金高公司</option> | |
| 45 | - <option value="05">杨高公司</option> | |
| 46 | - <option value="26">南汇公司</option> | |
| 47 | - </select> | |
| 30 | + <div style="width: 150px"> | |
| 31 | + <sa-Select model="ctrl.searchCondition()" | |
| 32 | + dicgroup="sexType" | |
| 33 | + placeholder="请选择..." | |
| 34 | + name="personnelType" | |
| 35 | + codename="personnelType_eq"> | |
| 36 | + </sa-Select> | |
| 37 | + </div> | |
| 48 | 38 | </td> |
| 49 | 39 | <td> |
| 50 | - <select class="form-control form-filter " > | |
| 51 | - <option value="">请选择...</option> | |
| 52 | - </select> | |
| 40 | + <div style="width: 150px"> | |
| 41 | + <sa-Select model="ctrl.searchCondition()" | |
| 42 | + dicgroup="gsType" | |
| 43 | + placeholder="请选择..." | |
| 44 | + name="gs" | |
| 45 | + codename="companyCode_eq"> | |
| 46 | + </sa-Select> | |
| 47 | + </div> | |
| 53 | 48 | </td> |
| 54 | - <td> | |
| 55 | - <select class="form-control form-filter " > | |
| 56 | - <option value="">请选择...</option> | |
| 57 | - <option value="公共汽电车驾驶员">公共汽电车驾驶员</option> | |
| 58 | - <option value="公共汽电车调度员">公共汽电车调度员</option> | |
| 59 | - <option value="公共汽电车售票员">公共汽电车售票员</option> | |
| 60 | - <option value="站员">站员</option> | |
| 61 | - <option value="管理员">管理员</option> | |
| 62 | - <option value="安检员">安检员</option> | |
| 63 | - <option value="机务">机务</option> | |
| 64 | - <option value="引导员">引导员</option> | |
| 65 | - <option value="乘务员">乘务员</option> | |
| 66 | - <option value="车队长(线长、主">车队长(线长、主</option> | |
| 67 | - <option value="公司管理人员">公司管理人员</option> | |
| 68 | - <option value="警消人员">警消人员</option> | |
| 69 | - <option value="票务人员">票务人员</option> | |
| 70 | - <option value="其他服务人员">其他服务人员</option> | |
| 71 | - </select> | |
| 72 | - </td> | |
| 73 | - <td> | |
| 74 | - <input type="text" class="form-control input-sm" ng-model="ctrl.searchCondition().icCardCode_like"/> | |
| 49 | + <td style="width: 100px"> | |
| 50 | + | |
| 75 | 51 | </td> |
| 76 | 52 | <td> |
| 77 | - <input type="text" class="form-control input-sm" ng-model="ctrl.searchCondition().papersCode_like"/> | |
| 53 | + <div style="width: 180px"> | |
| 54 | + <sa-Select model="ctrl.searchCondition()" | |
| 55 | + dicgroup="gzType" | |
| 56 | + placeholder="请选择..." | |
| 57 | + name="posts" | |
| 58 | + codename="posts_eq"> | |
| 59 | + </sa-Select> | |
| 60 | + </div> | |
| 78 | 61 | </td> |
| 79 | 62 | <td> |
| 80 | 63 | <button class="btn btn-sm green btn-outline filter-submit margin-bottom" |
| ... | ... | @@ -97,9 +80,6 @@ |
| 97 | 80 | <span ng-bind="$index + 1"></span> |
| 98 | 81 | </td> |
| 99 | 82 | <td> |
| 100 | - <span ng-bind="info.personnelCode"></span> | |
| 101 | - </td> | |
| 102 | - <td> | |
| 103 | 83 | <span ng-bind="info.personnelName"></span> |
| 104 | 84 | </td> |
| 105 | 85 | <td> |
| ... | ... | @@ -118,12 +98,6 @@ |
| 118 | 98 | <span ng-bind="info.posts | dict:'gzType':'未知'"></span> |
| 119 | 99 | </td> |
| 120 | 100 | <td> |
| 121 | - <span ng-bind="info.icCardCode"></span> | |
| 122 | - </td> | |
| 123 | - <td> | |
| 124 | - <span ng-bind="info.papersCode"></span> | |
| 125 | - </td> | |
| 126 | - <td> | |
| 127 | 101 | <!--<a href="details.html?lineId={{obj.id}}" class="btn default blue-stripe btn-sm"> 详细 </a>--> |
| 128 | 102 | <!--<a href="edit.html?lineId={{obj.id}}" class="btn default blue-stripe btn-sm"> 修改 </a>--> |
| 129 | 103 | <a ui-sref="employeeInfoManage_detail({id: info.id})" class="btn default blue-stripe btn-sm"> 详细 </a> | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/busConfig/busConfig.js
| ... | ... | @@ -20,7 +20,7 @@ angular.module('ScheduleApp').factory('BusConfigService', ['BusConfigService_g', |
| 20 | 20 | resetSearchCondition: function() { |
| 21 | 21 | var key; |
| 22 | 22 | for (key in currentSearchCondition) { |
| 23 | - currentSearchCondition[key] = ""; | |
| 23 | + currentSearchCondition[key] = null; | |
| 24 | 24 | } |
| 25 | 25 | }, |
| 26 | 26 | /** |
| ... | ... | @@ -38,7 +38,7 @@ angular.module('ScheduleApp').factory('BusConfigService', ['BusConfigService_g', |
| 38 | 38 | getPage: function() { |
| 39 | 39 | var params = currentSearchCondition; // 查询条件 |
| 40 | 40 | params.page = currentPageNo - 1; // 服务端页码从0开始 |
| 41 | - return service.list(params).$promise; | |
| 41 | + return service.rest.list(params).$promise; | |
| 42 | 42 | }, |
| 43 | 43 | /** |
| 44 | 44 | * 获取明细信息。 |
| ... | ... | @@ -47,7 +47,7 @@ angular.module('ScheduleApp').factory('BusConfigService', ['BusConfigService_g', |
| 47 | 47 | */ |
| 48 | 48 | getDetail: function(id) { |
| 49 | 49 | var params = {id: id}; |
| 50 | - return service.get(params).$promise; | |
| 50 | + return service.rest.get(params).$promise; | |
| 51 | 51 | }, |
| 52 | 52 | /** |
| 53 | 53 | * 保存信息。 |
| ... | ... | @@ -55,7 +55,7 @@ angular.module('ScheduleApp').factory('BusConfigService', ['BusConfigService_g', |
| 55 | 55 | * @return 返回一个 promise |
| 56 | 56 | */ |
| 57 | 57 | saveDetail: function(obj) { |
| 58 | - return service.save(obj).$promise; | |
| 58 | + return service.rest.save(obj).$promise; | |
| 59 | 59 | } |
| 60 | 60 | }; |
| 61 | 61 | |
| ... | ... | @@ -179,17 +179,105 @@ angular.module('ScheduleApp').controller('BusConfigListCtrl', ['BusConfigService |
| 179 | 179 | }; |
| 180 | 180 | // 重置查询条件 |
| 181 | 181 | self.resetSearchCondition = function() { |
| 182 | - return busConfigService.resetSearchCondition(); | |
| 182 | + busConfigService.resetSearchCondition(); | |
| 183 | + self.pageInfo.currentPage = 1; | |
| 184 | + self.pageChanaged(); | |
| 183 | 185 | }; |
| 184 | 186 | |
| 185 | 187 | }]); |
| 186 | 188 | |
| 187 | -angular.module('ScheduleApp').controller('BusConfigFormCtrl', ['BusConfigService', '$stateParams', '$state', function(busConfigService, $stateParams, $state) { | |
| 188 | - // TODO: | |
| 189 | +angular.module('ScheduleApp').controller('BusConfigFormCtrl', ['BusConfigService', '$stateParams', '$state', '$scope', function(busConfigService, $stateParams, $state, $scope) { | |
| 190 | + var self = this; | |
| 191 | + | |
| 192 | + // 启用日期 日期控件开关 | |
| 193 | + self.qyrqOpen = false; | |
| 194 | + self.qyrq_open = function() { | |
| 195 | + self.qyrqOpen = true; | |
| 196 | + }; | |
| 197 | + | |
| 198 | + // 终止日期 日期控件开关 | |
| 199 | + self.zzrqOpen = false; | |
| 200 | + self.zzrq_open = function() { | |
| 201 | + self.zzrqOpen = true; | |
| 202 | + }; | |
| 203 | + | |
| 204 | + // 欲保存的busInfo信息,绑定 | |
| 205 | + self.busConfigForSave = {}; | |
| 206 | + | |
| 207 | + // 获取传过来的id,有的话就是修改,获取一遍数据 | |
| 208 | + var id = $stateParams.id; | |
| 209 | + if (id) { | |
| 210 | + self.busConfigForSave.id = id; | |
| 211 | + busConfigService.getDetail(id).then( | |
| 212 | + function(result) { | |
| 213 | + var key; | |
| 214 | + for (key in result) { | |
| 215 | + self.busConfigForSave[key] = result[key]; | |
| 216 | + } | |
| 217 | + | |
| 218 | + // 添加xl_id,cl_id | |
| 219 | + self.busConfigForSave["xl_id"] = self.busConfigForSave.xl.id; | |
| 220 | + self.busConfigForSave["cl_id"] = self.busConfigForSave.cl.id; | |
| 221 | + }, | |
| 222 | + function(result) { | |
| 223 | + alert("出错啦!"); | |
| 224 | + } | |
| 225 | + ); | |
| 226 | + } | |
| 227 | + | |
| 228 | + // 提交方法 | |
| 229 | + self.submit = function() { | |
| 230 | + console.log(self.busConfigForSave); | |
| 231 | + | |
| 232 | + var mf = $scope.myForm; | |
| 233 | + | |
| 234 | + // xl_id,cl_id要组织成对象,然后删除 | |
| 235 | + self.busConfigForSave["xl"] = {}; | |
| 236 | + self.busConfigForSave.xl["id"] = self.busConfigForSave["xl_id"]; | |
| 237 | + delete self.busConfigForSave["xl_id"]; | |
| 238 | + self.busConfigForSave["cl"] = {}; | |
| 239 | + self.busConfigForSave.cl["id"] = self.busConfigForSave["cl_id"]; | |
| 240 | + delete self.busConfigForSave["cl_id"]; | |
| 241 | + | |
| 242 | + busConfigService.saveDetail(self.busConfigForSave).then( | |
| 243 | + function(result) { | |
| 244 | + // TODO:弹出框方式以后改 | |
| 245 | + if (result.status == 'SUCCESS') { | |
| 246 | + alert("保存成功!"); | |
| 247 | + $state.go("busConfig"); | |
| 248 | + } else { | |
| 249 | + alert("保存异常!"); | |
| 250 | + } | |
| 251 | + }, | |
| 252 | + function(result) { | |
| 253 | + // TODO:弹出框方式以后改 | |
| 254 | + alert("出错啦!"); | |
| 255 | + } | |
| 256 | + ); | |
| 257 | + }; | |
| 189 | 258 | }]); |
| 190 | 259 | |
| 191 | 260 | angular.module('ScheduleApp').controller('BusConfigDetailCtrl', ['BusConfigService', '$stateParams', function(busConfigService, $stateParams) { |
| 192 | - // TODO: | |
| 261 | + var self = this; | |
| 262 | + self.title = ""; | |
| 263 | + self.busConfigForDetail = {}; | |
| 264 | + self.busConfigForDetail.id = $stateParams.id; | |
| 265 | + | |
| 266 | + // 当转向到此页面时,就获取明细信息并绑定 | |
| 267 | + busConfigService.getDetail($stateParams.id).then( | |
| 268 | + function(result) { | |
| 269 | + var key; | |
| 270 | + for (key in result) { | |
| 271 | + self.busConfigForDetail[key] = result[key]; | |
| 272 | + } | |
| 273 | + | |
| 274 | + self.title = "车辆 " + self.busConfigForDetail.cl.insideCode + " 配置详细信息"; | |
| 275 | + }, | |
| 276 | + function(result) { | |
| 277 | + // TODO:弹出框方式以后改 | |
| 278 | + alert("出错啦!"); | |
| 279 | + } | |
| 280 | + ); | |
| 193 | 281 | }]); |
| 194 | 282 | |
| 195 | 283 | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/busConfig/dataExport.html
| 1 | +excelfieldnames=路牌,出场,陆家嘴地铁站1,长岛路东陆路1,陆家嘴地铁站2,长岛路东陆路2,陆家嘴地铁站3,长岛路东陆路3,陆家嘴地铁站4,长岛路东陆路4,陆家嘴地铁站5,长岛路东陆路5,陆家嘴地铁站6,长岛路东陆路6,进场1,出场1,陆家嘴地铁站7,长岛路东陆路7,陆家嘴地铁站8,长岛路东陆路8,陆家嘴地铁站9,长岛路东陆路9,陆家嘴地铁站10,长岛路东陆路10,陆家嘴地铁站11,长岛路东陆路11,陆家嘴地铁站12,长岛路东陆路12,陆家嘴地铁站13,长岛路东陆路13 ,进场 | |
| 2 | + | |
| 3 | +normalizefieldnames=出场,陆家嘴地铁站1,长岛路东陆路1,陆家嘴地铁站2,长岛路东陆路2,陆家嘴地铁站3,长岛路东陆路3,陆家嘴地铁站4,长岛路东陆路4,陆家嘴地铁站5,长岛路东陆路5,陆家嘴地铁站6,长岛路东陆路6,进场1,出场1,陆家嘴地铁站7,长岛路东陆路7,陆家嘴地铁站8,长岛路东陆路8,陆家嘴地铁站9,长岛路东陆路9,陆家嘴地铁站10,长岛路东陆路10,陆家嘴地铁站11,长岛路东陆路11,陆家嘴地铁站12,长岛路东陆路12,陆家嘴地铁站13,长岛路东陆路13 ,进场 | |
| 4 | + | |
| 5 | +tccname=<东靖路高行停车场></东靖路高行停车场> | |
| 6 | + | |
| 7 | +ttinfoname=85路0328平表 | |
| 8 | + | |
| 9 | +xlname=85路 | |
| 10 | + | |
| 11 | +filepath=/Users/xu/resource/project/bsth_control_etl/闵行公交/85路0328平表-测试1-时刻明细.xls | |
| 12 | + | |
| 13 | +erroroutputdir=/Users/xu/resource/project/bsth_control_u_d_files/erroroutput | |
| 14 | + | |
| 15 | + | |
| 16 | +${db_pwd} | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/busConfig/dataImport.html
| 1 | -<div class="modal-header"> | |
| 2 | - <h3 class="modal-title">车辆配置信息excel数据导入</h3> | |
| 3 | -</div> | |
| 4 | -<div class="modal-body"> | |
| 5 | - <div class="col-md-6"> | |
| 6 | - <div class="input-group"> | |
| 7 | - <input type="file" class="form-control" nv-file-select="" uploader="ctrl.uploader"/> | |
| 8 | - <span class="input-group-btn"> | |
| 9 | - <button type="button" ng-click="ctrl.clearInputFile()" class="btn btn-default"> | |
| 10 | - <span class="glyphicon glyphicon-trash"></span> | |
| 11 | - </button> | |
| 12 | - </span> | |
| 13 | - </div> | |
| 14 | - </div> | |
| 15 | - | |
| 16 | - <div class="table-scrollable table-scrollable-borderless"> | |
| 17 | - <table class="table table-hover table-light"> | |
| 18 | - <thead> | |
| 19 | - <tr class="uppercase"> | |
| 20 | - <th width="50%">文件名</th> | |
| 21 | - <th ng-show="ctrl.uploader.isHTML5">大小(M)</th> | |
| 22 | - <th ng-show="ctrl.uploader.isHTML5">进度</th> | |
| 23 | - <th>状态</th> | |
| 24 | - <th>操作</th> | |
| 25 | - </tr> | |
| 26 | - </thead> | |
| 27 | - <tbody> | |
| 28 | - <tr ng-repeat="item in ctrl.uploader.queue"> | |
| 29 | - <td> | |
| 30 | - <strong>{{ item.file.name }}</strong> | |
| 31 | - </td> | |
| 32 | - <td ng-show="ctrl.uploader.isHTML5" nowrap>{{ item.file.size/1024/1024|number:2 }} MB</td> | |
| 33 | - <td ng-show="ctrl.uploader.isHTML5"> | |
| 34 | - <div class="progress progress-sm" style="margin-bottom: 0;"> | |
| 35 | - <div class="progress-bar progress-bar-info" role="progressbar" | |
| 36 | - ng-style="{ 'width': item.progress + '%' }"></div> | |
| 37 | - </div> | |
| 38 | - </td> | |
| 39 | - <td class="text-center"> | |
| 40 | - <span ng-show="item.isSuccess" class="text-success"> | |
| 41 | - <i class="glyphicon glyphicon-ok"></i> | |
| 42 | - </span> | |
| 43 | - <span ng-show="item.isCancel" class="text-info"> | |
| 44 | - <i class="glyphicon glyphicon-ban-circle"></i> | |
| 45 | - </span> | |
| 46 | - <span ng-show="item.isError" class="text-danger"> | |
| 47 | - <i class="glyphicon glyphicon-remove"></i> | |
| 48 | - </span> | |
| 49 | - </td> | |
| 50 | - <td nowrap> | |
| 51 | - <button type="button" class="btn btn-success btn-xs" ng-click="item.upload()" | |
| 52 | - ng-disabled="item.isReady || item.isUploading || item.isSuccess"> | |
| 53 | - <span class="glyphicon glyphicon-upload"></span> 上传 | |
| 54 | - </button> | |
| 55 | - <button type="button" class="btn btn-warning btn-xs" ng-click="item.cancel()" | |
| 56 | - ng-disabled="!item.isUploading"> | |
| 57 | - <span class="glyphicon glyphicon-ban-circle"></span> 取消 | |
| 58 | - </button> | |
| 59 | - <button type="button" class="btn btn-danger btn-xs" ng-click="item.remove()"> | |
| 60 | - <span class="glyphicon glyphicon-trash"></span> 删除 | |
| 61 | - </button> | |
| 62 | - </td> | |
| 63 | - </tr> | |
| 64 | - </tbody> | |
| 65 | - </table> | |
| 66 | - </div> | |
| 67 | - | |
| 68 | -</div> | |
| 69 | - | |
| 70 | -<div class="modal-footer"> | |
| 71 | - <button class="btn btn-primary" ng-click="ctrl.close()">关闭</button> | |
| 1 | +<div class="modal-header"> | |
| 2 | + <h3 class="modal-title">车辆配置信息excel数据导入</h3> | |
| 3 | +</div> | |
| 4 | +<div class="modal-body"> | |
| 5 | + <div class="col-md-6"> | |
| 6 | + <div class="input-group"> | |
| 7 | + <input type="file" class="form-control" nv-file-select="" uploader="ctrl.uploader"/> | |
| 8 | + <span class="input-group-btn"> | |
| 9 | + <button type="button" ng-click="ctrl.clearInputFile()" class="btn btn-default"> | |
| 10 | + <span class="glyphicon glyphicon-trash"></span> | |
| 11 | + </button> | |
| 12 | + </span> | |
| 13 | + </div> | |
| 14 | + </div> | |
| 15 | + | |
| 16 | + <div class="table-scrollable table-scrollable-borderless"> | |
| 17 | + <table class="table table-hover table-light"> | |
| 18 | + <thead> | |
| 19 | + <tr class="uppercase"> | |
| 20 | + <th width="50%">文件名</th> | |
| 21 | + <th ng-show="ctrl.uploader.isHTML5">大小(M)</th> | |
| 22 | + <th ng-show="ctrl.uploader.isHTML5">进度</th> | |
| 23 | + <th>状态</th> | |
| 24 | + <th>操作</th> | |
| 25 | + </tr> | |
| 26 | + </thead> | |
| 27 | + <tbody> | |
| 28 | + <tr ng-repeat="item in ctrl.uploader.queue"> | |
| 29 | + <td> | |
| 30 | + <strong>{{ item.file.name }}</strong> | |
| 31 | + </td> | |
| 32 | + <td ng-show="ctrl.uploader.isHTML5" nowrap>{{ item.file.size/1024/1024|number:2 }} MB</td> | |
| 33 | + <td ng-show="ctrl.uploader.isHTML5"> | |
| 34 | + <div class="progress progress-sm" style="margin-bottom: 0;"> | |
| 35 | + <div class="progress-bar progress-bar-info" role="progressbar" | |
| 36 | + ng-style="{ 'width': item.progress + '%' }"></div> | |
| 37 | + </div> | |
| 38 | + </td> | |
| 39 | + <td class="text-center"> | |
| 40 | + <span ng-show="item.isSuccess" class="text-success"> | |
| 41 | + <i class="glyphicon glyphicon-ok"></i> | |
| 42 | + </span> | |
| 43 | + <span ng-show="item.isCancel" class="text-info"> | |
| 44 | + <i class="glyphicon glyphicon-ban-circle"></i> | |
| 45 | + </span> | |
| 46 | + <span ng-show="item.isError" class="text-danger"> | |
| 47 | + <i class="glyphicon glyphicon-remove"></i> | |
| 48 | + </span> | |
| 49 | + </td> | |
| 50 | + <td nowrap> | |
| 51 | + <button type="button" class="btn btn-success btn-xs" ng-click="item.upload()" | |
| 52 | + ng-disabled="item.isReady || item.isUploading || item.isSuccess"> | |
| 53 | + <span class="glyphicon glyphicon-upload"></span> 上传 | |
| 54 | + </button> | |
| 55 | + <button type="button" class="btn btn-warning btn-xs" ng-click="item.cancel()" | |
| 56 | + ng-disabled="!item.isUploading"> | |
| 57 | + <span class="glyphicon glyphicon-ban-circle"></span> 取消 | |
| 58 | + </button> | |
| 59 | + <button type="button" class="btn btn-danger btn-xs" ng-click="item.remove()"> | |
| 60 | + <span class="glyphicon glyphicon-trash"></span> 删除 | |
| 61 | + </button> | |
| 62 | + </td> | |
| 63 | + </tr> | |
| 64 | + </tbody> | |
| 65 | + </table> | |
| 66 | + </div> | |
| 67 | + | |
| 68 | +</div> | |
| 69 | + | |
| 70 | +<div class="modal-footer"> | |
| 71 | + <button class="btn btn-primary" ng-click="ctrl.close()">关闭</button> | |
| 72 | 72 | </div> |
| 73 | 73 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/busConfig/detail.html
| 1 | -<h1>TODO</h1> | |
| 2 | 1 | \ No newline at end of file |
| 2 | +<div class="page-head"> | |
| 3 | + <div class="page-title"> | |
| 4 | + <h1>车辆配置管理</h1> | |
| 5 | + </div> | |
| 6 | +</div> | |
| 7 | + | |
| 8 | +<ul class="page-breadcrumb breadcrumb"> | |
| 9 | + <li> | |
| 10 | + <a href="/pages/home.html" data-pjax>首页</a> | |
| 11 | + <i class="fa fa-circle"></i> | |
| 12 | + </li> | |
| 13 | + <li> | |
| 14 | + <span class="active">运营计划管理</span> | |
| 15 | + <i class="fa fa-circle"></i> | |
| 16 | + </li> | |
| 17 | + <li> | |
| 18 | + <a ui-sref="busConfig">车俩配置管理</a> | |
| 19 | + <i class="fa fa-circle"></i> | |
| 20 | + </li> | |
| 21 | + <li> | |
| 22 | + <span class="active">车辆配置详细信息</span> | |
| 23 | + </li> | |
| 24 | +</ul> | |
| 25 | + | |
| 26 | +<div class="portlet light bordered" ng-controller="BusConfigDetailCtrl as ctrl"> | |
| 27 | + <div class="portlet-title"> | |
| 28 | + <div class="caption"> | |
| 29 | + <i class="icon-equalizer font-red-sunglo"></i> <span | |
| 30 | + class="caption-subject font-red-sunglo bold uppercase" | |
| 31 | + ng-bind="ctrl.title"></span> | |
| 32 | + </div> | |
| 33 | + </div> | |
| 34 | + | |
| 35 | + <div class="portlet-body form"> | |
| 36 | + <form class="form-horizontal" novalidate name="myForm"> | |
| 37 | + <!--<div class="alert alert-danger display-hide">--> | |
| 38 | + <!--<button class="close" data-close="alert"></button>--> | |
| 39 | + <!--您的输入有误,请检查下面的输入项--> | |
| 40 | + <!--</div>--> | |
| 41 | + | |
| 42 | + | |
| 43 | + <!-- 其他信息放置在这里 --> | |
| 44 | + <div class="form-body"> | |
| 45 | + <div class="form-group has-success has-feedback"> | |
| 46 | + <label class="col-md-2 control-label">线路*:</label> | |
| 47 | + <div class="col-md-3"> | |
| 48 | + <input type="text" class="form-control" | |
| 49 | + name="xl" ng-model="ctrl.busConfigForDetail.xl.name" readonly/> | |
| 50 | + </div> | |
| 51 | + </div> | |
| 52 | + | |
| 53 | + <div class="form-group has-success has-feedback"> | |
| 54 | + <label class="col-md-2 control-label">车辆*:</label> | |
| 55 | + <div class="col-md-3"> | |
| 56 | + <input type="text" class="form-control" name="cl" | |
| 57 | + ng-model="ctrl.busConfigForDetail.cl.insideCode" readonly/> | |
| 58 | + </div> | |
| 59 | + </div> | |
| 60 | + | |
| 61 | + <div class="form-group"> | |
| 62 | + <label class="col-md-2 control-label">启用日期*:</label> | |
| 63 | + <div class="col-md-4"> | |
| 64 | + <input type="text" class="form-control" | |
| 65 | + name="qyrq" uib-datepicker-popup="yyyy年MM月dd日" | |
| 66 | + ng-model="ctrl.busConfigForDetail.qyrq" readonly/> | |
| 67 | + </div> | |
| 68 | + </div> | |
| 69 | + <div class="form-group"> | |
| 70 | + <label class="col-md-2 control-label">终止日期:</label> | |
| 71 | + <div class="col-md-4"> | |
| 72 | + <input type="text" class="form-control" | |
| 73 | + name="zzrq" uib-datepicker-popup="yyyy年MM月dd日" | |
| 74 | + ng-model="ctrl.busConfigForDetail.zzrq" readonly/> | |
| 75 | + </div> | |
| 76 | + </div> | |
| 77 | + | |
| 78 | + <div class="form-group"> | |
| 79 | + <label class="col-md-2 control-label">停车点*:</label> | |
| 80 | + <div class="col-md-4"> | |
| 81 | + <input type="text" class="form-control" | |
| 82 | + ng-model="ctrl.busConfigForDetail.tcd" readonly/> | |
| 83 | + </div> | |
| 84 | + </div> | |
| 85 | + | |
| 86 | + | |
| 87 | + <!-- 其他form-group --> | |
| 88 | + | |
| 89 | + </div> | |
| 90 | + | |
| 91 | + </form> | |
| 92 | + | |
| 93 | + </div> | |
| 94 | +</div> | |
| 3 | 95 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/busConfig/edit.html
| 1 | -<h1>TODO</h1> | |
| 2 | 1 | \ No newline at end of file |
| 2 | +<div class="page-head"> | |
| 3 | + <div class="page-title"> | |
| 4 | + <h1>车辆配置管理</h1> | |
| 5 | + </div> | |
| 6 | +</div> | |
| 7 | + | |
| 8 | +<ul class="page-breadcrumb breadcrumb"> | |
| 9 | + <li> | |
| 10 | + <a href="/pages/home.html" data-pjax>首页</a> | |
| 11 | + <i class="fa fa-circle"></i> | |
| 12 | + </li> | |
| 13 | + <li> | |
| 14 | + <span class="active">运营计划管理</span> | |
| 15 | + <i class="fa fa-circle"></i> | |
| 16 | + </li> | |
| 17 | + <li> | |
| 18 | + <a ui-sref="busConfig">车俩配置管理</a> | |
| 19 | + <i class="fa fa-circle"></i> | |
| 20 | + </li> | |
| 21 | + <li> | |
| 22 | + <span class="active">修改车辆配置信息</span> | |
| 23 | + </li> | |
| 24 | +</ul> | |
| 25 | + | |
| 26 | +<div class="portlet light bordered" ng-controller="BusConfigFormCtrl as ctrl"> | |
| 27 | + <div class="portlet-title"> | |
| 28 | + <div class="caption"> | |
| 29 | + <i class="icon-equalizer font-red-sunglo"></i> <span | |
| 30 | + class="caption-subject font-red-sunglo bold uppercase">表单</span> | |
| 31 | + </div> | |
| 32 | + </div> | |
| 33 | + | |
| 34 | + <div class="portlet-body form"> | |
| 35 | + <form ng-submit="ctrl.submit()" class="form-horizontal" novalidate name="myForm"> | |
| 36 | + <!--<div class="alert alert-danger display-hide">--> | |
| 37 | + <!--<button class="close" data-close="alert"></button>--> | |
| 38 | + <!--您的输入有误,请检查下面的输入项--> | |
| 39 | + <!--</div>--> | |
| 40 | + | |
| 41 | + | |
| 42 | + <!-- 其他信息放置在这里 --> | |
| 43 | + <div class="form-body"> | |
| 44 | + <div class="form-group has-success has-feedback"> | |
| 45 | + <label class="col-md-2 control-label">线路*:</label> | |
| 46 | + <div class="col-md-3"> | |
| 47 | + <sa-Select2 model="ctrl.busConfigForSave" | |
| 48 | + name="xl" | |
| 49 | + required="true" | |
| 50 | + type="xl" | |
| 51 | + modelcolname1="xl_id" | |
| 52 | + datacolname1="id" | |
| 53 | + showcolname="name" | |
| 54 | + placeholder="请输拼音..."> | |
| 55 | + </sa-Select2> | |
| 56 | + </div> | |
| 57 | + <!-- 隐藏块,显示验证信息 --> | |
| 58 | + <div class="alert alert-danger well-sm" ng-show="myForm.xl.$error.required"> | |
| 59 | + 线路必须选择 | |
| 60 | + </div> | |
| 61 | + </div> | |
| 62 | + <div class="form-group has-success has-feedback"> | |
| 63 | + <label class="col-md-2 control-label">车辆*:</label> | |
| 64 | + <div class="col-md-3"> | |
| 65 | + <sa-Select2 model="ctrl.busConfigForSave" | |
| 66 | + name="cl" | |
| 67 | + required="true" | |
| 68 | + type="cl" | |
| 69 | + modelcolname1="cl_id" | |
| 70 | + datacolname1="id" | |
| 71 | + showcolname="insideCode" | |
| 72 | + placeholder="请输拼音..."> | |
| 73 | + </sa-Select2> | |
| 74 | + </div> | |
| 75 | + <!-- 隐藏块,显示验证信息 --> | |
| 76 | + <div class="alert alert-danger well-sm" ng-show="myForm.cl.$error.required"> | |
| 77 | + 车辆必须选择 | |
| 78 | + </div> | |
| 79 | + </div> | |
| 80 | + | |
| 81 | + <div class="form-group"> | |
| 82 | + <label class="col-md-2 control-label">启用日期:</label> | |
| 83 | + <div class="col-md-3"> | |
| 84 | + <div class="input-group"> | |
| 85 | + <input type="text" class="form-control" | |
| 86 | + name="qyrq" placeholder="请选择启用日期..." | |
| 87 | + uib-datepicker-popup="yyyy年MM月dd日" | |
| 88 | + is-open="ctrl.qyrqOpen" required | |
| 89 | + ng-model="ctrl.busConfigForSave.qyrq"/> | |
| 90 | + <span class="input-group-btn"> | |
| 91 | + <button type="button" class="btn btn-default" ng-click="ctrl.qyrq_open()"> | |
| 92 | + <i class="glyphicon glyphicon-calendar"></i> | |
| 93 | + </button> | |
| 94 | + </span> | |
| 95 | + </div> | |
| 96 | + </div> | |
| 97 | + <!-- 隐藏块,显示验证信息 --> | |
| 98 | + <div class="alert alert-danger well-sm" ng-show="myForm.qyrq.$error.required"> | |
| 99 | + 启用日期必须选择 | |
| 100 | + </div> | |
| 101 | + </div> | |
| 102 | + | |
| 103 | + <div class="form-group"> | |
| 104 | + <label class="col-md-2 control-label">终止日期:</label> | |
| 105 | + <div class="col-md-3"> | |
| 106 | + <div class="input-group"> | |
| 107 | + <input type="text" class="form-control" | |
| 108 | + name="zzrq" placeholder="请选择启用日期..." | |
| 109 | + uib-datepicker-popup="yyyy年MM月dd日" | |
| 110 | + is-open="ctrl.zzrqOpen" | |
| 111 | + ng-model="ctrl.busConfigForSave.zzrq"/> | |
| 112 | + <span class="input-group-btn"> | |
| 113 | + <button type="button" class="btn btn-default" ng-click="ctrl.zzrq_open()"> | |
| 114 | + <i class="glyphicon glyphicon-calendar"></i> | |
| 115 | + </button> | |
| 116 | + </span> | |
| 117 | + </div> | |
| 118 | + </div> | |
| 119 | + </div> | |
| 120 | + | |
| 121 | + | |
| 122 | + <div class="form-group"> | |
| 123 | + <label class="col-md-2 control-label">停车场*:</label> | |
| 124 | + <div class="col-md-3"> | |
| 125 | + <input type="text" class="form-control" name="tcd" ng-model="ctrl.busConfigForSave.tcd" required | |
| 126 | + placeholder="请输入停车场"/> | |
| 127 | + </div> | |
| 128 | + <!-- 隐藏块,显示验证信息 --> | |
| 129 | + <div class="alert alert-danger well-sm" ng-show="myForm.tcd.$error.required"> | |
| 130 | + 停车场必须填写 | |
| 131 | + </div> | |
| 132 | + </div> | |
| 133 | + | |
| 134 | + | |
| 135 | + <!-- 其他form-group --> | |
| 136 | + | |
| 137 | + </div> | |
| 138 | + | |
| 139 | + <!-- TODO:!myForm.$valid 在这里有点问题,改用以下方法验证 --> | |
| 140 | + <div class="form-actions"> | |
| 141 | + <div class="row"> | |
| 142 | + <div class="col-md-offset-3 col-md-4"> | |
| 143 | + <button type="submit" class="btn green" | |
| 144 | + ng-disabled="myForm.xl.$error.required || | |
| 145 | + myForm.cl.$error.required || | |
| 146 | + myForm.qyrq.$error.required || | |
| 147 | + myForm.tcd.$error.required" | |
| 148 | + ><i class="fa fa-check"></i> 提交</button> | |
| 149 | + <a type="button" class="btn default" ui-sref="busConfig" ><i class="fa fa-times"></i> 取消</a> | |
| 150 | + </div> | |
| 151 | + </div> | |
| 152 | + </div> | |
| 153 | + | |
| 154 | + </form> | |
| 155 | + | |
| 156 | + </div> | |
| 157 | + | |
| 158 | + | |
| 159 | +</div> | |
| 3 | 160 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/busConfig/form.html
| 1 | -<h1>TODO</h1> | |
| 2 | 1 | \ No newline at end of file |
| 2 | +<div class="page-head"> | |
| 3 | + <div class="page-title"> | |
| 4 | + <h1>车辆配置管理</h1> | |
| 5 | + </div> | |
| 6 | +</div> | |
| 7 | + | |
| 8 | +<ul class="page-breadcrumb breadcrumb"> | |
| 9 | + <li> | |
| 10 | + <a href="/pages/home.html" data-pjax>首页</a> | |
| 11 | + <i class="fa fa-circle"></i> | |
| 12 | + </li> | |
| 13 | + <li> | |
| 14 | + <span class="active">运营计划管理</span> | |
| 15 | + <i class="fa fa-circle"></i> | |
| 16 | + </li> | |
| 17 | + <li> | |
| 18 | + <a ui-sref="busConfig">车俩配置管理</a> | |
| 19 | + <i class="fa fa-circle"></i> | |
| 20 | + </li> | |
| 21 | + <li> | |
| 22 | + <span class="active">添加车辆配置信息</span> | |
| 23 | + </li> | |
| 24 | +</ul> | |
| 25 | + | |
| 26 | +<div class="portlet light bordered" ng-controller="BusConfigFormCtrl as ctrl"> | |
| 27 | + <div class="portlet-title"> | |
| 28 | + <div class="caption"> | |
| 29 | + <i class="icon-equalizer font-red-sunglo"></i> <span | |
| 30 | + class="caption-subject font-red-sunglo bold uppercase">表单</span> | |
| 31 | + </div> | |
| 32 | + </div> | |
| 33 | + | |
| 34 | + <div class="portlet-body form"> | |
| 35 | + <form ng-submit="ctrl.submit()" class="form-horizontal" novalidate name="myForm"> | |
| 36 | + <!--<div class="alert alert-danger display-hide">--> | |
| 37 | + <!--<button class="close" data-close="alert"></button>--> | |
| 38 | + <!--您的输入有误,请检查下面的输入项--> | |
| 39 | + <!--</div>--> | |
| 40 | + | |
| 41 | + | |
| 42 | + <!-- 其他信息放置在这里 --> | |
| 43 | + <div class="form-body"> | |
| 44 | + <div class="form-group has-success has-feedback"> | |
| 45 | + <label class="col-md-2 control-label">线路*:</label> | |
| 46 | + <div class="col-md-3"> | |
| 47 | + <sa-Select2 model="ctrl.busConfigForSave" | |
| 48 | + name="xl" | |
| 49 | + required="true" | |
| 50 | + type="xl" | |
| 51 | + modelcolname1="xl_id" | |
| 52 | + datacolname1="id" | |
| 53 | + showcolname="name" | |
| 54 | + placeholder="请输拼音..."> | |
| 55 | + </sa-Select2> | |
| 56 | + </div> | |
| 57 | + <!-- 隐藏块,显示验证信息 --> | |
| 58 | + <div class="alert alert-danger well-sm" ng-show="myForm.xl.$error.required"> | |
| 59 | + 线路必须选择 | |
| 60 | + </div> | |
| 61 | + </div> | |
| 62 | + <div class="form-group has-success has-feedback"> | |
| 63 | + <label class="col-md-2 control-label">车辆*:</label> | |
| 64 | + <div class="col-md-3"> | |
| 65 | + <sa-Select2 model="ctrl.busConfigForSave" | |
| 66 | + name="cl" | |
| 67 | + required="true" | |
| 68 | + type="cl" | |
| 69 | + modelcolname1="cl_id" | |
| 70 | + datacolname1="id" | |
| 71 | + showcolname="insideCode" | |
| 72 | + placeholder="请输拼音..."> | |
| 73 | + </sa-Select2> | |
| 74 | + </div> | |
| 75 | + <!-- 隐藏块,显示验证信息 --> | |
| 76 | + <div class="alert alert-danger well-sm" ng-show="myForm.cl.$error.required"> | |
| 77 | + 车辆必须选择 | |
| 78 | + </div> | |
| 79 | + </div> | |
| 80 | + | |
| 81 | + <div class="form-group"> | |
| 82 | + <label class="col-md-2 control-label">启用日期:</label> | |
| 83 | + <div class="col-md-3"> | |
| 84 | + <div class="input-group"> | |
| 85 | + <input type="text" class="form-control" | |
| 86 | + name="qyrq" placeholder="请选择启用日期..." | |
| 87 | + uib-datepicker-popup="yyyy年MM月dd日" | |
| 88 | + is-open="ctrl.qyrqOpen" required | |
| 89 | + ng-model="ctrl.busConfigForSave.qyrq"/> | |
| 90 | + <span class="input-group-btn"> | |
| 91 | + <button type="button" class="btn btn-default" ng-click="ctrl.qyrq_open()"> | |
| 92 | + <i class="glyphicon glyphicon-calendar"></i> | |
| 93 | + </button> | |
| 94 | + </span> | |
| 95 | + </div> | |
| 96 | + </div> | |
| 97 | + <!-- 隐藏块,显示验证信息 --> | |
| 98 | + <div class="alert alert-danger well-sm" ng-show="myForm.qyrq.$error.required"> | |
| 99 | + 启用日期必须选择 | |
| 100 | + </div> | |
| 101 | + </div> | |
| 102 | + | |
| 103 | + <div class="form-group"> | |
| 104 | + <label class="col-md-2 control-label">终止日期:</label> | |
| 105 | + <div class="col-md-3"> | |
| 106 | + <div class="input-group"> | |
| 107 | + <input type="text" class="form-control" | |
| 108 | + name="zzrq" placeholder="请选择启用日期..." | |
| 109 | + uib-datepicker-popup="yyyy年MM月dd日" | |
| 110 | + is-open="ctrl.zzrqOpen" | |
| 111 | + ng-model="ctrl.busConfigForSave.zzrq"/> | |
| 112 | + <span class="input-group-btn"> | |
| 113 | + <button type="button" class="btn btn-default" ng-click="ctrl.zzrq_open()"> | |
| 114 | + <i class="glyphicon glyphicon-calendar"></i> | |
| 115 | + </button> | |
| 116 | + </span> | |
| 117 | + </div> | |
| 118 | + </div> | |
| 119 | + </div> | |
| 120 | + | |
| 121 | + | |
| 122 | + <div class="form-group"> | |
| 123 | + <label class="col-md-2 control-label">停车场*:</label> | |
| 124 | + <div class="col-md-3"> | |
| 125 | + <input type="text" class="form-control" name="tcd" ng-model="ctrl.busConfigForSave.tcd" required | |
| 126 | + placeholder="请输入停车场"/> | |
| 127 | + </div> | |
| 128 | + <!-- 隐藏块,显示验证信息 --> | |
| 129 | + <div class="alert alert-danger well-sm" ng-show="myForm.tcd.$error.required"> | |
| 130 | + 停车场必须填写 | |
| 131 | + </div> | |
| 132 | + </div> | |
| 133 | + | |
| 134 | + | |
| 135 | + <!-- 其他form-group --> | |
| 136 | + | |
| 137 | + </div> | |
| 138 | + | |
| 139 | + <!-- TODO:!myForm.$valid 在这里有点问题,改用以下方法验证 --> | |
| 140 | + <div class="form-actions"> | |
| 141 | + <div class="row"> | |
| 142 | + <div class="col-md-offset-3 col-md-4"> | |
| 143 | + <button type="submit" class="btn green" | |
| 144 | + ng-disabled="myForm.xl.$error.required || | |
| 145 | + myForm.cl.$error.required || | |
| 146 | + myForm.qyrq.$error.required || | |
| 147 | + myForm.tcd.$error.required" | |
| 148 | + ><i class="fa fa-check"></i> 提交</button> | |
| 149 | + <a type="button" class="btn default" ui-sref="busConfig" ><i class="fa fa-times"></i> 取消</a> | |
| 150 | + </div> | |
| 151 | + </div> | |
| 152 | + </div> | |
| 153 | + | |
| 154 | + </form> | |
| 155 | + | |
| 156 | + </div> | |
| 157 | + | |
| 158 | + | |
| 159 | +</div> | |
| 3 | 160 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/busConfig/list.html
| ... | ... | @@ -9,25 +9,31 @@ |
| 9 | 9 | <th>序号</th> |
| 10 | 10 | <th>线路</th> |
| 11 | 11 | <th>内部编号</th> |
| 12 | - <th>设备编码</th> | |
| 13 | 12 | <th>启用日期</th> |
| 14 | 13 | <th>终止日期</th> |
| 15 | 14 | <th>停车点</th> |
| 16 | - <th>是否切换</th> | |
| 17 | 15 | <th width="14%">操作</th> |
| 18 | 16 | </tr> |
| 19 | 17 | <tr role="row" class="filter"> |
| 20 | 18 | <td></td> |
| 21 | 19 | <td></td> |
| 22 | - <td></td> | |
| 23 | - <td></td> | |
| 20 | + <td> | |
| 21 | + <div style="width: 150px"> | |
| 22 | + <sa-Select2 model="ctrl.searchCondition()" | |
| 23 | + type="xl" | |
| 24 | + modelcolname1="xl.lineCode_eq" | |
| 25 | + datacolname1="lineCode" | |
| 26 | + showcolname="name" | |
| 27 | + placeholder="请输拼音..."> | |
| 28 | + </sa-Select2> | |
| 29 | + </div> | |
| 30 | + </td> | |
| 24 | 31 | <td></td> |
| 25 | 32 | <td></td> |
| 26 | 33 | <td></td> |
| 27 | 34 | <td> |
| 28 | 35 | <input type="text" class="form-control form-filter input-sm" ng-model="ctrl.searchCondition().tcd_like"/> |
| 29 | 36 | </td> |
| 30 | - <td></td> | |
| 31 | 37 | <td> |
| 32 | 38 | <button class="btn btn-sm green btn-outline filter-submit margin-bottom" |
| 33 | 39 | ng-click="ctrl.pageChanaged()"> |
| ... | ... | @@ -56,9 +62,6 @@ |
| 56 | 62 | <span ng-bind="info.cl.insideCode"></span> |
| 57 | 63 | </td> |
| 58 | 64 | <td> |
| 59 | - <span ng-bind="info.cl.equipmentCode"></span> | |
| 60 | - </td> | |
| 61 | - <td> | |
| 62 | 65 | <span ng-bind="info.qyrq | date: 'yyyy-MM-dd HH:mm:ss'"></span> |
| 63 | 66 | </td> |
| 64 | 67 | <td> |
| ... | ... | @@ -68,9 +71,6 @@ |
| 68 | 71 | <span ng-bind="info.tcd"></span> |
| 69 | 72 | </td> |
| 70 | 73 | <td> |
| 71 | - <span ng-bind="info.isSwitch"></span> | |
| 72 | - </td> | |
| 73 | - <td> | |
| 74 | 74 | <!--<a href="details.html?lineId={{obj.id}}" class="btn default blue-stripe btn-sm"> 详细 </a>--> |
| 75 | 75 | <!--<a href="edit.html?lineId={{obj.id}}" class="btn default blue-stripe btn-sm"> 修改 </a>--> |
| 76 | 76 | <a ui-sref="busConfig_detail({id: info.id})" class="btn default blue-stripe btn-sm"> 详细 </a> | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/employeeConfig/dataImport.html
| 1 | -<div class="modal-header"> | |
| 2 | - <h3 class="modal-title">人员配置信息excel数据导入</h3> | |
| 3 | -</div> | |
| 4 | -<div class="modal-body"> | |
| 5 | - <div class="col-md-6"> | |
| 6 | - <div class="input-group"> | |
| 7 | - <input type="file" class="form-control" nv-file-select="" uploader="ctrl.uploader"/> | |
| 8 | - <span class="input-group-btn"> | |
| 9 | - <button type="button" ng-click="ctrl.clearInputFile()" class="btn btn-default"> | |
| 10 | - <span class="glyphicon glyphicon-trash"></span> | |
| 11 | - </button> | |
| 12 | - </span> | |
| 13 | - </div> | |
| 14 | - </div> | |
| 15 | - | |
| 16 | - <div class="table-scrollable table-scrollable-borderless"> | |
| 17 | - <table class="table table-hover table-light"> | |
| 18 | - <thead> | |
| 19 | - <tr class="uppercase"> | |
| 20 | - <th width="50%">文件名</th> | |
| 21 | - <th ng-show="ctrl.uploader.isHTML5">大小(M)</th> | |
| 22 | - <th ng-show="ctrl.uploader.isHTML5">进度</th> | |
| 23 | - <th>状态</th> | |
| 24 | - <th>操作</th> | |
| 25 | - </tr> | |
| 26 | - </thead> | |
| 27 | - <tbody> | |
| 28 | - <tr ng-repeat="item in ctrl.uploader.queue"> | |
| 29 | - <td> | |
| 30 | - <strong>{{ item.file.name }}</strong> | |
| 31 | - </td> | |
| 32 | - <td ng-show="ctrl.uploader.isHTML5" nowrap>{{ item.file.size/1024/1024|number:2 }} MB</td> | |
| 33 | - <td ng-show="ctrl.uploader.isHTML5"> | |
| 34 | - <div class="progress progress-sm" style="margin-bottom: 0;"> | |
| 35 | - <div class="progress-bar progress-bar-info" role="progressbar" | |
| 36 | - ng-style="{ 'width': item.progress + '%' }"></div> | |
| 37 | - </div> | |
| 38 | - </td> | |
| 39 | - <td class="text-center"> | |
| 40 | - <span ng-show="item.isSuccess" class="text-success"> | |
| 41 | - <i class="glyphicon glyphicon-ok"></i> | |
| 42 | - </span> | |
| 43 | - <span ng-show="item.isCancel" class="text-info"> | |
| 44 | - <i class="glyphicon glyphicon-ban-circle"></i> | |
| 45 | - </span> | |
| 46 | - <span ng-show="item.isError" class="text-danger"> | |
| 47 | - <i class="glyphicon glyphicon-remove"></i> | |
| 48 | - </span> | |
| 49 | - </td> | |
| 50 | - <td nowrap> | |
| 51 | - <button type="button" class="btn btn-success btn-xs" ng-click="item.upload()" | |
| 52 | - ng-disabled="item.isReady || item.isUploading || item.isSuccess"> | |
| 53 | - <span class="glyphicon glyphicon-upload"></span> 上传 | |
| 54 | - </button> | |
| 55 | - <button type="button" class="btn btn-warning btn-xs" ng-click="item.cancel()" | |
| 56 | - ng-disabled="!item.isUploading"> | |
| 57 | - <span class="glyphicon glyphicon-ban-circle"></span> 取消 | |
| 58 | - </button> | |
| 59 | - <button type="button" class="btn btn-danger btn-xs" ng-click="item.remove()"> | |
| 60 | - <span class="glyphicon glyphicon-trash"></span> 删除 | |
| 61 | - </button> | |
| 62 | - </td> | |
| 63 | - </tr> | |
| 64 | - </tbody> | |
| 65 | - </table> | |
| 66 | - </div> | |
| 67 | - | |
| 68 | -</div> | |
| 69 | - | |
| 70 | -<div class="modal-footer"> | |
| 71 | - <button class="btn btn-primary" ng-click="ctrl.close()">关闭</button> | |
| 1 | +<div class="modal-header"> | |
| 2 | + <h3 class="modal-title">人员配置信息excel数据导入</h3> | |
| 3 | +</div> | |
| 4 | +<div class="modal-body"> | |
| 5 | + <div class="col-md-6"> | |
| 6 | + <div class="input-group"> | |
| 7 | + <input type="file" class="form-control" nv-file-select="" uploader="ctrl.uploader"/> | |
| 8 | + <span class="input-group-btn"> | |
| 9 | + <button type="button" ng-click="ctrl.clearInputFile()" class="btn btn-default"> | |
| 10 | + <span class="glyphicon glyphicon-trash"></span> | |
| 11 | + </button> | |
| 12 | + </span> | |
| 13 | + </div> | |
| 14 | + </div> | |
| 15 | + | |
| 16 | + <div class="table-scrollable table-scrollable-borderless"> | |
| 17 | + <table class="table table-hover table-light"> | |
| 18 | + <thead> | |
| 19 | + <tr class="uppercase"> | |
| 20 | + <th width="50%">文件名</th> | |
| 21 | + <th ng-show="ctrl.uploader.isHTML5">大小(M)</th> | |
| 22 | + <th ng-show="ctrl.uploader.isHTML5">进度</th> | |
| 23 | + <th>状态</th> | |
| 24 | + <th>操作</th> | |
| 25 | + </tr> | |
| 26 | + </thead> | |
| 27 | + <tbody> | |
| 28 | + <tr ng-repeat="item in ctrl.uploader.queue"> | |
| 29 | + <td> | |
| 30 | + <strong>{{ item.file.name }}</strong> | |
| 31 | + </td> | |
| 32 | + <td ng-show="ctrl.uploader.isHTML5" nowrap>{{ item.file.size/1024/1024|number:2 }} MB</td> | |
| 33 | + <td ng-show="ctrl.uploader.isHTML5"> | |
| 34 | + <div class="progress progress-sm" style="margin-bottom: 0;"> | |
| 35 | + <div class="progress-bar progress-bar-info" role="progressbar" | |
| 36 | + ng-style="{ 'width': item.progress + '%' }"></div> | |
| 37 | + </div> | |
| 38 | + </td> | |
| 39 | + <td class="text-center"> | |
| 40 | + <span ng-show="item.isSuccess" class="text-success"> | |
| 41 | + <i class="glyphicon glyphicon-ok"></i> | |
| 42 | + </span> | |
| 43 | + <span ng-show="item.isCancel" class="text-info"> | |
| 44 | + <i class="glyphicon glyphicon-ban-circle"></i> | |
| 45 | + </span> | |
| 46 | + <span ng-show="item.isError" class="text-danger"> | |
| 47 | + <i class="glyphicon glyphicon-remove"></i> | |
| 48 | + </span> | |
| 49 | + </td> | |
| 50 | + <td nowrap> | |
| 51 | + <button type="button" class="btn btn-success btn-xs" ng-click="item.upload()" | |
| 52 | + ng-disabled="item.isReady || item.isUploading || item.isSuccess"> | |
| 53 | + <span class="glyphicon glyphicon-upload"></span> 上传 | |
| 54 | + </button> | |
| 55 | + <button type="button" class="btn btn-warning btn-xs" ng-click="item.cancel()" | |
| 56 | + ng-disabled="!item.isUploading"> | |
| 57 | + <span class="glyphicon glyphicon-ban-circle"></span> 取消 | |
| 58 | + </button> | |
| 59 | + <button type="button" class="btn btn-danger btn-xs" ng-click="item.remove()"> | |
| 60 | + <span class="glyphicon glyphicon-trash"></span> 删除 | |
| 61 | + </button> | |
| 62 | + </td> | |
| 63 | + </tr> | |
| 64 | + </tbody> | |
| 65 | + </table> | |
| 66 | + </div> | |
| 67 | + | |
| 68 | +</div> | |
| 69 | + | |
| 70 | +<div class="modal-footer"> | |
| 71 | + <button class="btn btn-primary" ng-click="ctrl.close()">关闭</button> | |
| 72 | 72 | </div> |
| 73 | 73 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/employeeConfig/detail.html
| 1 | -<h1>TODO</h1> | |
| 2 | 1 | \ No newline at end of file |
| 2 | +<div class="page-head"> | |
| 3 | + <div class="page-title"> | |
| 4 | + <h1>人员配置管理</h1> | |
| 5 | + </div> | |
| 6 | +</div> | |
| 7 | + | |
| 8 | +<ul class="page-breadcrumb breadcrumb"> | |
| 9 | + <li> | |
| 10 | + <a href="/pages/home.html" data-pjax>首页</a> | |
| 11 | + <i class="fa fa-circle"></i> | |
| 12 | + </li> | |
| 13 | + <li> | |
| 14 | + <span class="active">运营计划管理</span> | |
| 15 | + <i class="fa fa-circle"></i> | |
| 16 | + </li> | |
| 17 | + <li> | |
| 18 | + <a ui-sref="employeeConfig">人员配置管理</a> | |
| 19 | + <i class="fa fa-circle"></i> | |
| 20 | + </li> | |
| 21 | + <li> | |
| 22 | + <span class="active">人员配置详细信息</span> | |
| 23 | + </li> | |
| 24 | +</ul> | |
| 25 | + | |
| 26 | +<div class="portlet light bordered" ng-controller="EmployeeConfigDetailCtrl as ctrl"> | |
| 27 | + <div class="portlet-title"> | |
| 28 | + <div class="caption"> | |
| 29 | + <i class="icon-equalizer font-red-sunglo"></i> <span | |
| 30 | + class="caption-subject font-red-sunglo bold uppercase" | |
| 31 | + ng-bind="ctrl.title"></span> | |
| 32 | + </div> | |
| 33 | + </div> | |
| 34 | + | |
| 35 | + <div class="portlet-body form"> | |
| 36 | + <form class="form-horizontal" novalidate name="myForm"> | |
| 37 | + <!--<div class="alert alert-danger display-hide">--> | |
| 38 | + <!--<button class="close" data-close="alert"></button>--> | |
| 39 | + <!--您的输入有误,请检查下面的输入项--> | |
| 40 | + <!--</div>--> | |
| 41 | + | |
| 42 | + | |
| 43 | + <!-- 其他信息放置在这里 --> | |
| 44 | + <div class="form-body"> | |
| 45 | + <div class="form-group has-success has-feedback"> | |
| 46 | + <label class="col-md-2 control-label">线路*:</label> | |
| 47 | + <div class="col-md-3"> | |
| 48 | + <input type="text" class="form-control" | |
| 49 | + name="xl" ng-model="ctrl.employeeConfigForDetail.xl.name" readonly/> | |
| 50 | + </div> | |
| 51 | + </div> | |
| 52 | + <div class="form-group has-success has-feedback"> | |
| 53 | + <label class="col-md-2 control-label">搭班编码*:</label> | |
| 54 | + <div class="col-md-3"> | |
| 55 | + <input type="text" class="form-control" | |
| 56 | + name="dbbm" ng-model="ctrl.employeeConfigForDetail.dbbm" readonly/> | |
| 57 | + </div> | |
| 58 | + </div> | |
| 59 | + | |
| 60 | + <div class="form-group has-success has-feedback"> | |
| 61 | + <label class="col-md-2 control-label">驾驶员姓名*:</label> | |
| 62 | + <div class="col-md-3"> | |
| 63 | + <input type="text" class="form-control" name="jsy_name" | |
| 64 | + ng-model="ctrl.employeeConfigForDetail.jsy.personnelName" readonly/> | |
| 65 | + </div> | |
| 66 | + </div> | |
| 67 | + | |
| 68 | + <div class="form-group has-success has-feedback"> | |
| 69 | + <label class="col-md-2 control-label">驾驶员工号*:</label> | |
| 70 | + <div class="col-md-3"> | |
| 71 | + <input type="text" class="form-control" name="jsy_code" | |
| 72 | + ng-model="ctrl.employeeConfigForDetail.jsy.jobCode" readonly/> | |
| 73 | + </div> | |
| 74 | + </div> | |
| 75 | + | |
| 76 | + <div class="form-group has-success has-feedback"> | |
| 77 | + <label class="col-md-2 control-label">售票员姓名:</label> | |
| 78 | + <div class="col-md-3"> | |
| 79 | + <input type="text" class="form-control" name="spy_name" | |
| 80 | + ng-model="ctrl.employeeConfigForDetail.spy.personnelName" readonly/> | |
| 81 | + </div> | |
| 82 | + </div> | |
| 83 | + | |
| 84 | + <div class="form-group has-success has-feedback"> | |
| 85 | + <label class="col-md-2 control-label">售票员工号:</label> | |
| 86 | + <div class="col-md-3"> | |
| 87 | + <input type="text" class="form-control" name="spy_code" | |
| 88 | + ng-model="ctrl.employeeConfigForDetail.spy.jobCode" readonly/> | |
| 89 | + </div> | |
| 90 | + </div> | |
| 91 | + | |
| 92 | + | |
| 93 | + <!-- 其他form-group --> | |
| 94 | + | |
| 95 | + </div> | |
| 96 | + | |
| 97 | + </form> | |
| 98 | + | |
| 99 | + </div> | |
| 100 | +</div> | |
| 3 | 101 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/employeeConfig/edit.html
| 1 | -<h1>TODO</h1> | |
| 2 | 1 | \ No newline at end of file |
| 2 | +<div class="page-head"> | |
| 3 | + <div class="page-title"> | |
| 4 | + <h1>人员配置管理</h1> | |
| 5 | + </div> | |
| 6 | +</div> | |
| 7 | + | |
| 8 | +<ul class="page-breadcrumb breadcrumb"> | |
| 9 | + <li> | |
| 10 | + <a href="/pages/home.html" data-pjax>首页</a> | |
| 11 | + <i class="fa fa-circle"></i> | |
| 12 | + </li> | |
| 13 | + <li> | |
| 14 | + <span class="active">运营计划管理</span> | |
| 15 | + <i class="fa fa-circle"></i> | |
| 16 | + </li> | |
| 17 | + <li> | |
| 18 | + <a ui-sref="employeeConfig">人员配置管理</a> | |
| 19 | + <i class="fa fa-circle"></i> | |
| 20 | + </li> | |
| 21 | + <li> | |
| 22 | + <span class="active">修改人员配置信息</span> | |
| 23 | + </li> | |
| 24 | +</ul> | |
| 25 | + | |
| 26 | +<div class="portlet light bordered" ng-controller="EmployeeConfigFormCtrl as ctrl"> | |
| 27 | + <div class="portlet-title"> | |
| 28 | + <div class="caption"> | |
| 29 | + <i class="icon-equalizer font-red-sunglo"></i> <span | |
| 30 | + class="caption-subject font-red-sunglo bold uppercase">表单</span> | |
| 31 | + </div> | |
| 32 | + </div> | |
| 33 | + | |
| 34 | + <div class="portlet-body form"> | |
| 35 | + <form ng-submit="ctrl.submit()" class="form-horizontal" novalidate name="myForm"> | |
| 36 | + <!--<div class="alert alert-danger display-hide">--> | |
| 37 | + <!--<button class="close" data-close="alert"></button>--> | |
| 38 | + <!--您的输入有误,请检查下面的输入项--> | |
| 39 | + <!--</div>--> | |
| 40 | + | |
| 41 | + | |
| 42 | + <!-- 其他信息放置在这里 --> | |
| 43 | + <div class="form-body"> | |
| 44 | + <div class="form-group has-success has-feedback"> | |
| 45 | + <label class="col-md-2 control-label">线路*:</label> | |
| 46 | + <div class="col-md-3"> | |
| 47 | + <sa-Select2 model="ctrl.employeeConfigForSave" | |
| 48 | + name="xl" | |
| 49 | + required="true" | |
| 50 | + type="xl" | |
| 51 | + modelcolname1="xl_id" | |
| 52 | + datacolname1="id" | |
| 53 | + showcolname="name" | |
| 54 | + placeholder="请输拼音..."> | |
| 55 | + </sa-Select2> | |
| 56 | + </div> | |
| 57 | + <!-- 隐藏块,显示验证信息 --> | |
| 58 | + <div class="alert alert-danger well-sm" ng-show="myForm.xl.$error.required"> | |
| 59 | + 线路必须选择 | |
| 60 | + </div> | |
| 61 | + </div> | |
| 62 | + | |
| 63 | + <div class="form-group"> | |
| 64 | + <label class="col-md-2 control-label">搭班编码*:</label> | |
| 65 | + <div class="col-md-3"> | |
| 66 | + <input type="text" class="form-control" name="dbbm" ng-model="ctrl.employeeConfigForSave.dbbm" required | |
| 67 | + placeholder="请输入搭班编码"/> | |
| 68 | + </div> | |
| 69 | + <!-- 隐藏块,显示验证信息 --> | |
| 70 | + <div class="alert alert-danger well-sm" ng-show="myForm.dbbm.$error.required"> | |
| 71 | + 搭班编码必须填写 | |
| 72 | + </div> | |
| 73 | + </div> | |
| 74 | + | |
| 75 | + <div class="form-group has-success has-feedback"> | |
| 76 | + <label class="col-md-2 control-label">驾驶员*:</label> | |
| 77 | + <div class="col-md-3"> | |
| 78 | + <sa-Select2 model="ctrl.employeeConfigForSave" | |
| 79 | + name="jsy" | |
| 80 | + required="true" | |
| 81 | + type="ry" | |
| 82 | + modelcolname1="jsy_id" | |
| 83 | + datacolname1="id" | |
| 84 | + showcolname="personnelName" | |
| 85 | + placeholder="请输拼音..."> | |
| 86 | + </sa-Select2> | |
| 87 | + </div> | |
| 88 | + <!-- 隐藏块,显示验证信息 --> | |
| 89 | + <div class="alert alert-danger well-sm" ng-show="myForm.jsy.$error.required"> | |
| 90 | + 驾驶员必须选择 | |
| 91 | + </div> | |
| 92 | + </div> | |
| 93 | + | |
| 94 | + <div class="form-group has-success has-feedback"> | |
| 95 | + <label class="col-md-2 control-label">售票员*:</label> | |
| 96 | + <div class="col-md-3"> | |
| 97 | + <sa-Select2 model="ctrl.employeeConfigForSave" | |
| 98 | + name="spy" | |
| 99 | + type="ry" | |
| 100 | + modelcolname1="spy_id" | |
| 101 | + datacolname1="id" | |
| 102 | + showcolname="personnelName" | |
| 103 | + placeholder="请输拼音..."> | |
| 104 | + </sa-Select2> | |
| 105 | + </div> | |
| 106 | + </div> | |
| 107 | + | |
| 108 | + <!-- 其他form-group --> | |
| 109 | + | |
| 110 | + </div> | |
| 111 | + | |
| 112 | + <!-- TODO:!myForm.$valid 在这里有点问题,改用以下方法验证 --> | |
| 113 | + <div class="form-actions"> | |
| 114 | + <div class="row"> | |
| 115 | + <div class="col-md-offset-3 col-md-4"> | |
| 116 | + <button type="submit" class="btn green" | |
| 117 | + ng-disabled="myForm.xl.$error.required || | |
| 118 | + myForm.dbbm.$error.required || | |
| 119 | + myForm.jsy.$error.required || | |
| 120 | + myForm.spy.$error.required" | |
| 121 | + ><i class="fa fa-check"></i> 提交</button> | |
| 122 | + <a type="button" class="btn default" ui-sref="employeeConfig" ><i class="fa fa-times"></i> 取消</a> | |
| 123 | + </div> | |
| 124 | + </div> | |
| 125 | + </div> | |
| 126 | + | |
| 127 | + </form> | |
| 128 | + | |
| 129 | + </div> | |
| 130 | + | |
| 131 | + | |
| 132 | +</div> | |
| 3 | 133 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/employeeConfig/employeeConfig.js
| ... | ... | @@ -39,7 +39,7 @@ angular.module('ScheduleApp').factory('EmployeeConfigService', ['EmployeeConfigS |
| 39 | 39 | getPage: function() { |
| 40 | 40 | var params = currentSearchCondition; // 查询条件 |
| 41 | 41 | params.page = currentPageNo - 1; // 服务端页码从0开始 |
| 42 | - return service.list(params).$promise; | |
| 42 | + return service.rest.list(params).$promise; | |
| 43 | 43 | }, |
| 44 | 44 | /** |
| 45 | 45 | * 获取明细信息。 |
| ... | ... | @@ -48,7 +48,7 @@ angular.module('ScheduleApp').factory('EmployeeConfigService', ['EmployeeConfigS |
| 48 | 48 | */ |
| 49 | 49 | getDetail: function(id) { |
| 50 | 50 | var params = {id: id}; |
| 51 | - return service.get(params).$promise; | |
| 51 | + return service.rest.get(params).$promise; | |
| 52 | 52 | }, |
| 53 | 53 | /** |
| 54 | 54 | * 保存信息。 |
| ... | ... | @@ -56,7 +56,7 @@ angular.module('ScheduleApp').factory('EmployeeConfigService', ['EmployeeConfigS |
| 56 | 56 | * @return 返回一个 promise |
| 57 | 57 | */ |
| 58 | 58 | saveDetail: function(obj) { |
| 59 | - return service.save(obj).$promise; | |
| 59 | + return service.rest.save(obj).$promise; | |
| 60 | 60 | } |
| 61 | 61 | }; |
| 62 | 62 | }]); |
| ... | ... | @@ -184,10 +184,88 @@ angular.module('ScheduleApp').controller('EmployeeConfigListCtrl', ['EmployeeCon |
| 184 | 184 | }]); |
| 185 | 185 | |
| 186 | 186 | angular.module('ScheduleApp').controller('EmployeeConfigFormCtrl', ['EmployeeConfigService', '$stateParams', '$state', function(employeeConfigService, $stateParams, $state) { |
| 187 | - // TODO: | |
| 187 | + var self = this; | |
| 188 | + | |
| 189 | + // 欲保存的busInfo信息,绑定 | |
| 190 | + self.employeeConfigForSave = {}; | |
| 191 | + | |
| 192 | + // 获取传过来的id,有的话就是修改,获取一遍数据 | |
| 193 | + var id = $stateParams.id; | |
| 194 | + if (id) { | |
| 195 | + self.employeeConfigForSave.id = id; | |
| 196 | + employeeConfigService.getDetail(id).then( | |
| 197 | + function(result) { | |
| 198 | + var key; | |
| 199 | + for (key in result) { | |
| 200 | + self.employeeConfigForSave[key] = result[key]; | |
| 201 | + } | |
| 202 | + | |
| 203 | + // 添加xl_id,jsy_id,spy_id | |
| 204 | + self.employeeConfigForSave["xl_id"] = self.employeeConfigForSave.xl.id; | |
| 205 | + self.employeeConfigForSave["jsy_id"] = self.employeeConfigForSave.jsy.id; | |
| 206 | + self.employeeConfigForSave["spy_id"] = | |
| 207 | + self.employeeConfigForSave.spy || self.employeeConfigForSave.spy.id; | |
| 208 | + | |
| 209 | + }, | |
| 210 | + function(result) { | |
| 211 | + alert("出错啦!"); | |
| 212 | + } | |
| 213 | + ); | |
| 214 | + } | |
| 215 | + | |
| 216 | + // 提交方法 | |
| 217 | + self.submit = function() { | |
| 218 | + console.log(self.employeeConfigForSave); | |
| 219 | + | |
| 220 | + // jsy_id,cl_id要组织成对象,然后删除 | |
| 221 | + self.employeeConfigForSave["xl"] = {}; | |
| 222 | + self.employeeConfigForSave.xl["id"] = self.employeeConfigForSave["xl_id"]; | |
| 223 | + delete self.employeeConfigForSave["xl_id"]; | |
| 224 | + self.employeeConfigForSave["jsy"] = {}; | |
| 225 | + self.employeeConfigForSave.jsy["id"] = self.employeeConfigForSave["jsy_id"]; | |
| 226 | + delete self.employeeConfigForSave["jsy_id"]; | |
| 227 | + self.employeeConfigForSave["spy"] = {}; | |
| 228 | + self.employeeConfigForSave.spy["id"] = self.employeeConfigForSave["spy_id"]; | |
| 229 | + delete self.employeeConfigForSave["spy_id"]; | |
| 230 | + | |
| 231 | + employeeConfigService.saveDetail(self.employeeConfigForSave).then( | |
| 232 | + function(result) { | |
| 233 | + // TODO:弹出框方式以后改 | |
| 234 | + if (result.status == 'SUCCESS') { | |
| 235 | + alert("保存成功!"); | |
| 236 | + $state.go("employeeConfig"); | |
| 237 | + } else { | |
| 238 | + alert("保存异常!"); | |
| 239 | + } | |
| 240 | + }, | |
| 241 | + function(result) { | |
| 242 | + // TODO:弹出框方式以后改 | |
| 243 | + alert("出错啦!"); | |
| 244 | + } | |
| 245 | + ); | |
| 246 | + }; | |
| 188 | 247 | }]); |
| 189 | 248 | |
| 190 | 249 | angular.module('ScheduleApp').controller('EmployeeConfigDetailCtrl', ['EmployeeConfigService', '$stateParams', function(employeeConfigService, $stateParams) { |
| 191 | - // TODO: | |
| 250 | + var self = this; | |
| 251 | + self.title = ""; | |
| 252 | + self.employeeConfigForDetail = {}; | |
| 253 | + self.employeeConfigForDetail.id = $stateParams.id; | |
| 254 | + | |
| 255 | + // 当转向到此页面时,就获取明细信息并绑定 | |
| 256 | + employeeConfigService.getDetail($stateParams.id).then( | |
| 257 | + function(result) { | |
| 258 | + var key; | |
| 259 | + for (key in result) { | |
| 260 | + self.employeeConfigForDetail[key] = result[key]; | |
| 261 | + } | |
| 262 | + | |
| 263 | + self.title = "驾驶员 " + self.employeeConfigForDetail.jsy.personnelName + " 配置详细信息"; | |
| 264 | + }, | |
| 265 | + function(result) { | |
| 266 | + // TODO:弹出框方式以后改 | |
| 267 | + alert("出错啦!"); | |
| 268 | + } | |
| 269 | + ); | |
| 192 | 270 | }]); |
| 193 | 271 | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/employeeConfig/form.html
| 1 | -<h1>TODO</h1> | |
| 2 | 1 | \ No newline at end of file |
| 2 | +<div class="page-head"> | |
| 3 | + <div class="page-title"> | |
| 4 | + <h1>人员配置管理</h1> | |
| 5 | + </div> | |
| 6 | +</div> | |
| 7 | + | |
| 8 | +<ul class="page-breadcrumb breadcrumb"> | |
| 9 | + <li> | |
| 10 | + <a href="/pages/home.html" data-pjax>首页</a> | |
| 11 | + <i class="fa fa-circle"></i> | |
| 12 | + </li> | |
| 13 | + <li> | |
| 14 | + <span class="active">运营计划管理</span> | |
| 15 | + <i class="fa fa-circle"></i> | |
| 16 | + </li> | |
| 17 | + <li> | |
| 18 | + <a ui-sref="employeeConfig">人员配置管理</a> | |
| 19 | + <i class="fa fa-circle"></i> | |
| 20 | + </li> | |
| 21 | + <li> | |
| 22 | + <span class="active">添加人员配置信息</span> | |
| 23 | + </li> | |
| 24 | +</ul> | |
| 25 | + | |
| 26 | +<div class="portlet light bordered" ng-controller="EmployeeConfigFormCtrl as ctrl"> | |
| 27 | + <div class="portlet-title"> | |
| 28 | + <div class="caption"> | |
| 29 | + <i class="icon-equalizer font-red-sunglo"></i> <span | |
| 30 | + class="caption-subject font-red-sunglo bold uppercase">表单</span> | |
| 31 | + </div> | |
| 32 | + </div> | |
| 33 | + | |
| 34 | + <div class="portlet-body form"> | |
| 35 | + <form ng-submit="ctrl.submit()" class="form-horizontal" novalidate name="myForm"> | |
| 36 | + <!--<div class="alert alert-danger display-hide">--> | |
| 37 | + <!--<button class="close" data-close="alert"></button>--> | |
| 38 | + <!--您的输入有误,请检查下面的输入项--> | |
| 39 | + <!--</div>--> | |
| 40 | + | |
| 41 | + | |
| 42 | + <!-- 其他信息放置在这里 --> | |
| 43 | + <div class="form-body"> | |
| 44 | + <div class="form-group has-success has-feedback"> | |
| 45 | + <label class="col-md-2 control-label">线路*:</label> | |
| 46 | + <div class="col-md-3"> | |
| 47 | + <sa-Select2 model="ctrl.employeeConfigForSave" | |
| 48 | + name="xl" | |
| 49 | + required="true" | |
| 50 | + type="xl" | |
| 51 | + modelcolname1="xl_id" | |
| 52 | + datacolname1="id" | |
| 53 | + showcolname="name" | |
| 54 | + placeholder="请输拼音..."> | |
| 55 | + </sa-Select2> | |
| 56 | + </div> | |
| 57 | + <!-- 隐藏块,显示验证信息 --> | |
| 58 | + <div class="alert alert-danger well-sm" ng-show="myForm.xl.$error.required"> | |
| 59 | + 线路必须选择 | |
| 60 | + </div> | |
| 61 | + </div> | |
| 62 | + | |
| 63 | + <div class="form-group"> | |
| 64 | + <label class="col-md-2 control-label">搭班编码*:</label> | |
| 65 | + <div class="col-md-3"> | |
| 66 | + <input type="text" class="form-control" name="dbbm" ng-model="ctrl.employeeConfigForSave.dbbm" required | |
| 67 | + placeholder="请输入搭班编码"/> | |
| 68 | + </div> | |
| 69 | + <!-- 隐藏块,显示验证信息 --> | |
| 70 | + <div class="alert alert-danger well-sm" ng-show="myForm.dbbm.$error.required"> | |
| 71 | + 搭班编码必须填写 | |
| 72 | + </div> | |
| 73 | + </div> | |
| 74 | + | |
| 75 | + <div class="form-group has-success has-feedback"> | |
| 76 | + <label class="col-md-2 control-label">驾驶员*:</label> | |
| 77 | + <div class="col-md-3"> | |
| 78 | + <sa-Select2 model="ctrl.employeeConfigForSave" | |
| 79 | + name="jsy" | |
| 80 | + required="true" | |
| 81 | + type="ry" | |
| 82 | + modelcolname1="jsy_id" | |
| 83 | + datacolname1="id" | |
| 84 | + showcolname="personnelName" | |
| 85 | + placeholder="请输拼音..."> | |
| 86 | + </sa-Select2> | |
| 87 | + </div> | |
| 88 | + <!-- 隐藏块,显示验证信息 --> | |
| 89 | + <div class="alert alert-danger well-sm" ng-show="myForm.jsy.$error.required"> | |
| 90 | + 驾驶员必须选择 | |
| 91 | + </div> | |
| 92 | + </div> | |
| 93 | + | |
| 94 | + <div class="form-group has-success has-feedback"> | |
| 95 | + <label class="col-md-2 control-label">售票员*:</label> | |
| 96 | + <div class="col-md-3"> | |
| 97 | + <sa-Select2 model="ctrl.employeeConfigForSave" | |
| 98 | + name="spy" | |
| 99 | + type="ry" | |
| 100 | + modelcolname1="spy_id" | |
| 101 | + datacolname1="id" | |
| 102 | + showcolname="personnelName" | |
| 103 | + placeholder="请输拼音..."> | |
| 104 | + </sa-Select2> | |
| 105 | + </div> | |
| 106 | + </div> | |
| 107 | + | |
| 108 | + <!-- 其他form-group --> | |
| 109 | + | |
| 110 | + </div> | |
| 111 | + | |
| 112 | + <!-- TODO:!myForm.$valid 在这里有点问题,改用以下方法验证 --> | |
| 113 | + <div class="form-actions"> | |
| 114 | + <div class="row"> | |
| 115 | + <div class="col-md-offset-3 col-md-4"> | |
| 116 | + <button type="submit" class="btn green" | |
| 117 | + ng-disabled="myForm.xl.$error.required || | |
| 118 | + myForm.dbbm.$error.required || | |
| 119 | + myForm.jsy.$error.required || | |
| 120 | + myForm.spy.$error.required" | |
| 121 | + ><i class="fa fa-check"></i> 提交</button> | |
| 122 | + <a type="button" class="btn default" ui-sref="employeeConfig" ><i class="fa fa-times"></i> 取消</a> | |
| 123 | + </div> | |
| 124 | + </div> | |
| 125 | + </div> | |
| 126 | + | |
| 127 | + </form> | |
| 128 | + | |
| 129 | + </div> | |
| 130 | + | |
| 131 | + | |
| 132 | +</div> | |
| 3 | 133 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/employeeConfig/list.html
| ... | ... | @@ -18,10 +18,30 @@ |
| 18 | 18 | <tr role="row" class="filter"> |
| 19 | 19 | <td></td> |
| 20 | 20 | <td></td> |
| 21 | + <td> | |
| 22 | + <div style="width: 150px"> | |
| 23 | + <sa-Select2 model="ctrl.searchCondition()" | |
| 24 | + type="xl" | |
| 25 | + modelcolname1="xl.lineCode_eq" | |
| 26 | + datacolname1="lineCode" | |
| 27 | + showcolname="name" | |
| 28 | + placeholder="请输拼音..."> | |
| 29 | + </sa-Select2> | |
| 30 | + </div> | |
| 31 | + </td> | |
| 21 | 32 | <td></td> |
| 22 | 33 | <td></td> |
| 23 | - <td></td> | |
| 24 | - <td></td> | |
| 34 | + <td> | |
| 35 | + <div style="width: 180px"> | |
| 36 | + <sa-Select2 model="ctrl.searchCondition()" | |
| 37 | + type="ry" | |
| 38 | + modelcolname1="jsy.id_eq" | |
| 39 | + datacolname1="id" | |
| 40 | + showcolname="personnelName" | |
| 41 | + placeholder="请输拼音..."> | |
| 42 | + </sa-Select2> | |
| 43 | + </div> | |
| 44 | + </td> | |
| 25 | 45 | <td></td> |
| 26 | 46 | <td></td> |
| 27 | 47 | <td> | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/guideboardManage/dataImport.html
| 1 | -<div class="modal-header"> | |
| 2 | - <h3 class="modal-title">路牌信息excel数据导入</h3> | |
| 3 | -</div> | |
| 4 | -<div class="modal-body"> | |
| 5 | - <div class="col-md-6"> | |
| 6 | - <div class="input-group"> | |
| 7 | - <input type="file" class="form-control" nv-file-select="" uploader="ctrl.uploader"/> | |
| 8 | - <span class="input-group-btn"> | |
| 9 | - <button type="button" ng-click="ctrl.clearInputFile()" class="btn btn-default"> | |
| 10 | - <span class="glyphicon glyphicon-trash"></span> | |
| 11 | - </button> | |
| 12 | - </span> | |
| 13 | - </div> | |
| 14 | - </div> | |
| 15 | - | |
| 16 | - <div class="table-scrollable table-scrollable-borderless"> | |
| 17 | - <table class="table table-hover table-light"> | |
| 18 | - <thead> | |
| 19 | - <tr class="uppercase"> | |
| 20 | - <th width="50%">文件名</th> | |
| 21 | - <th ng-show="ctrl.uploader.isHTML5">大小(M)</th> | |
| 22 | - <th ng-show="ctrl.uploader.isHTML5">进度</th> | |
| 23 | - <th>状态</th> | |
| 24 | - <th>操作</th> | |
| 25 | - </tr> | |
| 26 | - </thead> | |
| 27 | - <tbody> | |
| 28 | - <tr ng-repeat="item in ctrl.uploader.queue"> | |
| 29 | - <td> | |
| 30 | - <strong>{{ item.file.name }}</strong> | |
| 31 | - </td> | |
| 32 | - <td ng-show="ctrl.uploader.isHTML5" nowrap>{{ item.file.size/1024/1024|number:2 }} MB</td> | |
| 33 | - <td ng-show="ctrl.uploader.isHTML5"> | |
| 34 | - <div class="progress progress-sm" style="margin-bottom: 0;"> | |
| 35 | - <div class="progress-bar progress-bar-info" role="progressbar" | |
| 36 | - ng-style="{ 'width': item.progress + '%' }"></div> | |
| 37 | - </div> | |
| 38 | - </td> | |
| 39 | - <td class="text-center"> | |
| 40 | - <span ng-show="item.isSuccess" class="text-success"> | |
| 41 | - <i class="glyphicon glyphicon-ok"></i> | |
| 42 | - </span> | |
| 43 | - <span ng-show="item.isCancel" class="text-info"> | |
| 44 | - <i class="glyphicon glyphicon-ban-circle"></i> | |
| 45 | - </span> | |
| 46 | - <span ng-show="item.isError" class="text-danger"> | |
| 47 | - <i class="glyphicon glyphicon-remove"></i> | |
| 48 | - </span> | |
| 49 | - </td> | |
| 50 | - <td nowrap> | |
| 51 | - <button type="button" class="btn btn-success btn-xs" ng-click="item.upload()" | |
| 52 | - ng-disabled="item.isReady || item.isUploading || item.isSuccess"> | |
| 53 | - <span class="glyphicon glyphicon-upload"></span> 上传 | |
| 54 | - </button> | |
| 55 | - <button type="button" class="btn btn-warning btn-xs" ng-click="item.cancel()" | |
| 56 | - ng-disabled="!item.isUploading"> | |
| 57 | - <span class="glyphicon glyphicon-ban-circle"></span> 取消 | |
| 58 | - </button> | |
| 59 | - <button type="button" class="btn btn-danger btn-xs" ng-click="item.remove()"> | |
| 60 | - <span class="glyphicon glyphicon-trash"></span> 删除 | |
| 61 | - </button> | |
| 62 | - </td> | |
| 63 | - </tr> | |
| 64 | - </tbody> | |
| 65 | - </table> | |
| 66 | - </div> | |
| 67 | - | |
| 68 | -</div> | |
| 69 | - | |
| 70 | -<div class="modal-footer"> | |
| 71 | - <button class="btn btn-primary" ng-click="ctrl.close()">关闭</button> | |
| 1 | +<div class="modal-header"> | |
| 2 | + <h3 class="modal-title">路牌信息excel数据导入</h3> | |
| 3 | +</div> | |
| 4 | +<div class="modal-body"> | |
| 5 | + <div class="col-md-6"> | |
| 6 | + <div class="input-group"> | |
| 7 | + <input type="file" class="form-control" nv-file-select="" uploader="ctrl.uploader"/> | |
| 8 | + <span class="input-group-btn"> | |
| 9 | + <button type="button" ng-click="ctrl.clearInputFile()" class="btn btn-default"> | |
| 10 | + <span class="glyphicon glyphicon-trash"></span> | |
| 11 | + </button> | |
| 12 | + </span> | |
| 13 | + </div> | |
| 14 | + </div> | |
| 15 | + | |
| 16 | + <div class="table-scrollable table-scrollable-borderless"> | |
| 17 | + <table class="table table-hover table-light"> | |
| 18 | + <thead> | |
| 19 | + <tr class="uppercase"> | |
| 20 | + <th width="50%">文件名</th> | |
| 21 | + <th ng-show="ctrl.uploader.isHTML5">大小(M)</th> | |
| 22 | + <th ng-show="ctrl.uploader.isHTML5">进度</th> | |
| 23 | + <th>状态</th> | |
| 24 | + <th>操作</th> | |
| 25 | + </tr> | |
| 26 | + </thead> | |
| 27 | + <tbody> | |
| 28 | + <tr ng-repeat="item in ctrl.uploader.queue"> | |
| 29 | + <td> | |
| 30 | + <strong>{{ item.file.name }}</strong> | |
| 31 | + </td> | |
| 32 | + <td ng-show="ctrl.uploader.isHTML5" nowrap>{{ item.file.size/1024/1024|number:2 }} MB</td> | |
| 33 | + <td ng-show="ctrl.uploader.isHTML5"> | |
| 34 | + <div class="progress progress-sm" style="margin-bottom: 0;"> | |
| 35 | + <div class="progress-bar progress-bar-info" role="progressbar" | |
| 36 | + ng-style="{ 'width': item.progress + '%' }"></div> | |
| 37 | + </div> | |
| 38 | + </td> | |
| 39 | + <td class="text-center"> | |
| 40 | + <span ng-show="item.isSuccess" class="text-success"> | |
| 41 | + <i class="glyphicon glyphicon-ok"></i> | |
| 42 | + </span> | |
| 43 | + <span ng-show="item.isCancel" class="text-info"> | |
| 44 | + <i class="glyphicon glyphicon-ban-circle"></i> | |
| 45 | + </span> | |
| 46 | + <span ng-show="item.isError" class="text-danger"> | |
| 47 | + <i class="glyphicon glyphicon-remove"></i> | |
| 48 | + </span> | |
| 49 | + </td> | |
| 50 | + <td nowrap> | |
| 51 | + <button type="button" class="btn btn-success btn-xs" ng-click="item.upload()" | |
| 52 | + ng-disabled="item.isReady || item.isUploading || item.isSuccess"> | |
| 53 | + <span class="glyphicon glyphicon-upload"></span> 上传 | |
| 54 | + </button> | |
| 55 | + <button type="button" class="btn btn-warning btn-xs" ng-click="item.cancel()" | |
| 56 | + ng-disabled="!item.isUploading"> | |
| 57 | + <span class="glyphicon glyphicon-ban-circle"></span> 取消 | |
| 58 | + </button> | |
| 59 | + <button type="button" class="btn btn-danger btn-xs" ng-click="item.remove()"> | |
| 60 | + <span class="glyphicon glyphicon-trash"></span> 删除 | |
| 61 | + </button> | |
| 62 | + </td> | |
| 63 | + </tr> | |
| 64 | + </tbody> | |
| 65 | + </table> | |
| 66 | + </div> | |
| 67 | + | |
| 68 | +</div> | |
| 69 | + | |
| 70 | +<div class="modal-footer"> | |
| 71 | + <button class="btn btn-primary" ng-click="ctrl.close()">关闭</button> | |
| 72 | 72 | </div> |
| 73 | 73 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/guideboardManage/detail.html
| 1 | -<h1>TODO</h1> | |
| 2 | 1 | \ No newline at end of file |
| 2 | +<div class="page-head"> | |
| 3 | + <div class="page-title"> | |
| 4 | + <h1>路牌管理</h1> | |
| 5 | + </div> | |
| 6 | +</div> | |
| 7 | + | |
| 8 | +<ul class="page-breadcrumb breadcrumb"> | |
| 9 | + <li> | |
| 10 | + <a href="/pages/home.html" data-pjax>首页</a> | |
| 11 | + <i class="fa fa-circle"></i> | |
| 12 | + </li> | |
| 13 | + <li> | |
| 14 | + <span class="active">运营计划管理</span> | |
| 15 | + <i class="fa fa-circle"></i> | |
| 16 | + </li> | |
| 17 | + <li> | |
| 18 | + <a ui-sref="guideboardManage">路牌管理</a> | |
| 19 | + <i class="fa fa-circle"></i> | |
| 20 | + </li> | |
| 21 | + <li> | |
| 22 | + <span class="active">路牌详细信息</span> | |
| 23 | + </li> | |
| 24 | +</ul> | |
| 25 | + | |
| 26 | +<div class="portlet light bordered" ng-controller="GuideboardManageDetailCtrl as ctrl"> | |
| 27 | + <div class="portlet-title"> | |
| 28 | + <div class="caption"> | |
| 29 | + <i class="icon-equalizer font-red-sunglo"></i> <span | |
| 30 | + class="caption-subject font-red-sunglo bold uppercase" | |
| 31 | + ng-bind="ctrl.title"></span> | |
| 32 | + </div> | |
| 33 | + </div> | |
| 34 | + | |
| 35 | + <div class="portlet-body form"> | |
| 36 | + <form class="form-horizontal" novalidate name="myForm"> | |
| 37 | + <!--<div class="alert alert-danger display-hide">--> | |
| 38 | + <!--<button class="close" data-close="alert"></button>--> | |
| 39 | + <!--您的输入有误,请检查下面的输入项--> | |
| 40 | + <!--</div>--> | |
| 41 | + | |
| 42 | + | |
| 43 | + <!-- 其他信息放置在这里 --> | |
| 44 | + <div class="form-body"> | |
| 45 | + <div class="form-group has-success has-feedback"> | |
| 46 | + <label class="col-md-2 control-label">线路*:</label> | |
| 47 | + <div class="col-md-3"> | |
| 48 | + <input type="text" class="form-control" | |
| 49 | + name="xl" ng-model="ctrl.guideboardForDetail.xl.name" readonly/> | |
| 50 | + </div> | |
| 51 | + </div> | |
| 52 | + <div class="form-group has-success has-feedback"> | |
| 53 | + <label class="col-md-2 control-label">路牌编号*:</label> | |
| 54 | + <div class="col-md-3"> | |
| 55 | + <input type="text" class="form-control" | |
| 56 | + name="lpNo" ng-model="ctrl.guideboardForDetail.lpNo" readonly/> | |
| 57 | + </div> | |
| 58 | + </div> | |
| 59 | + | |
| 60 | + <div class="form-group has-success has-feedback"> | |
| 61 | + <label class="col-md-2 control-label">路牌名称*:</label> | |
| 62 | + <div class="col-md-3"> | |
| 63 | + <input type="text" class="form-control" name="lpName" | |
| 64 | + ng-model="ctrl.guideboardForDetail.lpName" readonly/> | |
| 65 | + </div> | |
| 66 | + </div> | |
| 67 | + | |
| 68 | + <div class="form-group has-success has-feedback"> | |
| 69 | + <label class="col-md-2 control-label">路牌类型*:</label> | |
| 70 | + <div class="col-md-3"> | |
| 71 | + <input type="text" class="form-control" name="lpType" | |
| 72 | + ng-model="ctrl.guideboardForDetail.lpType" readonly/> | |
| 73 | + </div> | |
| 74 | + </div> | |
| 75 | + | |
| 76 | + <!-- 其他form-group --> | |
| 77 | + | |
| 78 | + </div> | |
| 79 | + | |
| 80 | + </form> | |
| 81 | + | |
| 82 | + </div> | |
| 83 | +</div> | |
| 3 | 84 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/guideboardManage/guideboardManage.js
| ... | ... | @@ -39,7 +39,7 @@ angular.module('ScheduleApp').factory('GuideboardManageService', ['GuideboardMan |
| 39 | 39 | getPage: function() { |
| 40 | 40 | var params = currentSearchCondition; // 查询条件 |
| 41 | 41 | params.page = currentPageNo - 1; // 服务端页码从0开始 |
| 42 | - return service.list(params).$promise; | |
| 42 | + return service.rest.list(params).$promise; | |
| 43 | 43 | }, |
| 44 | 44 | /** |
| 45 | 45 | * 获取明细信息。 |
| ... | ... | @@ -48,7 +48,7 @@ angular.module('ScheduleApp').factory('GuideboardManageService', ['GuideboardMan |
| 48 | 48 | */ |
| 49 | 49 | getDetail: function(id) { |
| 50 | 50 | var params = {id: id}; |
| 51 | - return service.get(params).$promise; | |
| 51 | + return service.rest.get(params).$promise; | |
| 52 | 52 | }, |
| 53 | 53 | /** |
| 54 | 54 | * 保存信息。 |
| ... | ... | @@ -56,7 +56,7 @@ angular.module('ScheduleApp').factory('GuideboardManageService', ['GuideboardMan |
| 56 | 56 | * @return 返回一个 promise |
| 57 | 57 | */ |
| 58 | 58 | saveDetail: function(obj) { |
| 59 | - return service.save(obj).$promise; | |
| 59 | + return service.rest.save(obj).$promise; | |
| 60 | 60 | } |
| 61 | 61 | }; |
| 62 | 62 | }]); |
| ... | ... | @@ -183,12 +183,31 @@ angular.module('ScheduleApp').controller('GuideboardManageListCtrl', ['Guideboar |
| 183 | 183 | |
| 184 | 184 | }]); |
| 185 | 185 | |
| 186 | -angular.module('ScheduleApp').controller('GuideboardManageFormCtrl', '$stateParams', '$state', ['GuideboardManageService', function(guideboardManageService, $stateParams, $state) { | |
| 186 | +angular.module('ScheduleApp').controller('GuideboardManageFormCtrl', ['GuideboardManageService', '$stateParams', '$state', function(guideboardManageService, $stateParams, $state) { | |
| 187 | 187 | // TODO: |
| 188 | 188 | }]); |
| 189 | 189 | |
| 190 | -angular.module('ScheduleApp').controller('GuideboardManageDetailCtrl', '$stateParams', ['GuideboardManageService', function(guideboardManageService, $stateParams) { | |
| 191 | - // TODO: | |
| 190 | +angular.module('ScheduleApp').controller('GuideboardManageDetailCtrl', ['GuideboardManageService', '$stateParams', function(guideboardManageService, $stateParams) { | |
| 191 | + var self = this; | |
| 192 | + self.title = ""; | |
| 193 | + self.guideboardForDetail = {}; | |
| 194 | + self.guideboardForDetail.id = $stateParams.id; | |
| 195 | + | |
| 196 | + // 当转向到此页面时,就获取明细信息并绑定 | |
| 197 | + guideboardManageService.getDetail($stateParams.id).then( | |
| 198 | + function(result) { | |
| 199 | + var key; | |
| 200 | + for (key in result) { | |
| 201 | + self.guideboardForDetail[key] = result[key]; | |
| 202 | + } | |
| 203 | + | |
| 204 | + self.title = "路牌 " + self.guideboardForDetail.lpName + " 详细信息"; | |
| 205 | + }, | |
| 206 | + function(result) { | |
| 207 | + // TODO:弹出框方式以后改 | |
| 208 | + alert("出错啦!"); | |
| 209 | + } | |
| 210 | + ); | |
| 192 | 211 | }]); |
| 193 | 212 | |
| 194 | 213 | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/guideboardManage/index.html
| ... | ... | @@ -27,10 +27,10 @@ |
| 27 | 27 | <span class="caption-subject bold uppercase">路牌表</span> |
| 28 | 28 | </div> |
| 29 | 29 | <div class="actions"> |
| 30 | - <a href="javascirpt:" class="btn btn-circle blue" ng-click="ctrl.goForm()"> | |
| 31 | - <i class="fa fa-plus"></i> | |
| 32 | - 添加路牌 | |
| 33 | - </a> | |
| 30 | + <!--<a href="javascirpt:" class="btn btn-circle blue" ng-click="ctrl.goForm()">--> | |
| 31 | + <!--<i class="fa fa-plus"></i>--> | |
| 32 | + <!--添加路牌--> | |
| 33 | + <!--</a>--> | |
| 34 | 34 | |
| 35 | 35 | <div class="btn-group"> |
| 36 | 36 | <a href="javascript:" class="btn red btn-outline btn-circle" data-toggle="dropdown"> | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/guideboardManage/list.html
| ... | ... | @@ -16,7 +16,17 @@ |
| 16 | 16 | <tr role="row" class="filter"> |
| 17 | 17 | <td></td> |
| 18 | 18 | <td></td> |
| 19 | - <td></td> | |
| 19 | + <td> | |
| 20 | + <div style="width: 150px"> | |
| 21 | + <sa-Select2 model="ctrl.searchCondition()" | |
| 22 | + type="xl" | |
| 23 | + modelcolname1="xl.lineCode_eq" | |
| 24 | + datacolname1="lineCode" | |
| 25 | + showcolname="name" | |
| 26 | + placeholder="请输拼音..."> | |
| 27 | + </sa-Select2> | |
| 28 | + </div> | |
| 29 | + </td> | |
| 20 | 30 | <td></td> |
| 21 | 31 | <td></td> |
| 22 | 32 | <td></td> |
| ... | ... | @@ -54,8 +64,8 @@ |
| 54 | 64 | <td> |
| 55 | 65 | <!--<a href="details.html?lineId={{obj.id}}" class="btn default blue-stripe btn-sm"> 详细 </a>--> |
| 56 | 66 | <!--<a href="edit.html?lineId={{obj.id}}" class="btn default blue-stripe btn-sm"> 修改 </a>--> |
| 57 | - <a ui-sref="#" class="btn default blue-stripe btn-sm"> 详细 </a> | |
| 58 | - <a ui-sref="#" class="btn default blue-stripe btn-sm"> 修改 </a> | |
| 67 | + <a ui-sref="guideboardManage_detail({id : info.id})" class="btn default blue-stripe btn-sm"> 详细 </a> | |
| 68 | + <!--<a ui-sref="#" class="btn default blue-stripe btn-sm"> 修改 </a>--> | |
| 59 | 69 | </td> |
| 60 | 70 | </tr> |
| 61 | 71 | </tbody> | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/scheduleRuleManage/detail.html
0 → 100644
src/main/resources/static/pages/scheduleApp/module/core/scheduleRuleManage/edit.html
0 → 100644
src/main/resources/static/pages/scheduleApp/module/core/scheduleRuleManage/form.html
0 → 100644
| 1 | +<div class="page-head"> | |
| 2 | + <div class="page-title"> | |
| 3 | + <h1>排班规则管理</h1> | |
| 4 | + </div> | |
| 5 | +</div> | |
| 6 | + | |
| 7 | +<ul class="page-breadcrumb breadcrumb"> | |
| 8 | + <li> | |
| 9 | + <a href="/pages/home.html" data-pjax>首页</a> | |
| 10 | + <i class="fa fa-circle"></i> | |
| 11 | + </li> | |
| 12 | + <li> | |
| 13 | + <span class="active">运营计划管理</span> | |
| 14 | + <i class="fa fa-circle"></i> | |
| 15 | + </li> | |
| 16 | + <li> | |
| 17 | + <a ui-sref="scheduleRuleManage">排班规则管理</a> | |
| 18 | + <i class="fa fa-circle"></i> | |
| 19 | + </li> | |
| 20 | + <li> | |
| 21 | + <span class="active">添加排班规则信息</span> | |
| 22 | + </li> | |
| 23 | +</ul> | |
| 24 | + | |
| 25 | +<div class="portlet light bordered" ng-controller="ScheduleRuleManageFormCtrl as ctrl"> | |
| 26 | + <div class="portlet-title"> | |
| 27 | + <div class="caption"> | |
| 28 | + <i class="icon-equalizer font-red-sunglo"></i> <span | |
| 29 | + class="caption-subject font-red-sunglo bold uppercase">表单</span> | |
| 30 | + </div> | |
| 31 | + </div> | |
| 32 | + | |
| 33 | + <div class="portlet-body form"> | |
| 34 | + <form ng-submit="ctrl.submit()" class="form-horizontal" novalidate name="myForm"> | |
| 35 | + <!--<div class="alert alert-danger display-hide">--> | |
| 36 | + <!--<button class="close" data-close="alert"></button>--> | |
| 37 | + <!--您的输入有误,请检查下面的输入项--> | |
| 38 | + <!--</div>--> | |
| 39 | + | |
| 40 | + | |
| 41 | + <!-- 其他信息放置在这里 --> | |
| 42 | + <div class="form-body"> | |
| 43 | + <div class="form-group has-success has-feedback"> | |
| 44 | + <label class="col-md-2 control-label">线路*:</label> | |
| 45 | + <div class="col-md-3"> | |
| 46 | + <sa-Select2 model="ctrl.scheduleRuleManageForSave" | |
| 47 | + name="xl" | |
| 48 | + required="true" | |
| 49 | + type="xl" | |
| 50 | + modelcolname1="xl_id" | |
| 51 | + datacolname1="id" | |
| 52 | + showcolname="name" | |
| 53 | + placeholder="请输拼音..."> | |
| 54 | + </sa-Select2> | |
| 55 | + </div> | |
| 56 | + <!-- 隐藏块,显示验证信息 --> | |
| 57 | + <div class="alert alert-danger well-sm" ng-show="myForm.xl.$error.required"> | |
| 58 | + 线路必须选择 | |
| 59 | + </div> | |
| 60 | + </div> | |
| 61 | + <div class="form-group has-success has-feedback"> | |
| 62 | + <label class="col-md-2 control-label">车辆*:</label> | |
| 63 | + <div class="col-md-3"> | |
| 64 | + <sa-Select2 model="ctrl.scheduleRuleManageForSave" | |
| 65 | + name="cl" | |
| 66 | + required="true" | |
| 67 | + type="cl" | |
| 68 | + modelcolname1="cl_id" | |
| 69 | + datacolname1="id" | |
| 70 | + showcolname="insideCode" | |
| 71 | + placeholder="请输拼音..."> | |
| 72 | + </sa-Select2> | |
| 73 | + </div> | |
| 74 | + <!-- 隐藏块,显示验证信息 --> | |
| 75 | + <div class="alert alert-danger well-sm" ng-show="myForm.cl.$error.required"> | |
| 76 | + 车辆必须选择 | |
| 77 | + </div> | |
| 78 | + </div> | |
| 79 | + | |
| 80 | + <div class="form-group"> | |
| 81 | + <label class="col-md-2 control-label">启用日期:</label> | |
| 82 | + <div class="col-md-3"> | |
| 83 | + <div class="input-group"> | |
| 84 | + <input type="text" class="form-control" | |
| 85 | + name="qyrq" placeholder="请选择启用日期..." | |
| 86 | + uib-datepicker-popup="yyyy年MM月dd日" | |
| 87 | + is-open="ctrl.qyrqOpen" required | |
| 88 | + ng-model="ctrl.scheduleRuleManageForSave.qyrq"/> | |
| 89 | + <span class="input-group-btn"> | |
| 90 | + <button type="button" class="btn btn-default" ng-click="ctrl.qyrq_open()"> | |
| 91 | + <i class="glyphicon glyphicon-calendar"></i> | |
| 92 | + </button> | |
| 93 | + </span> | |
| 94 | + </div> | |
| 95 | + </div> | |
| 96 | + <!-- 隐藏块,显示验证信息 --> | |
| 97 | + <div class="alert alert-danger well-sm" ng-show="myForm.qyrq.$error.required"> | |
| 98 | + 启用日期必须选择 | |
| 99 | + </div> | |
| 100 | + </div> | |
| 101 | + | |
| 102 | + <div class="form-group"> | |
| 103 | + <label class="col-md-2 control-label">路牌范围*:</label> | |
| 104 | + <div class="col-md-3"> | |
| 105 | + <input type="text" class="form-control" name="lpNames" ng-model="ctrl.scheduleRuleManageForSave.lpNames" required | |
| 106 | + placeholder="由路牌名称组成,逗号分隔"/> | |
| 107 | + </div> | |
| 108 | + <!-- 隐藏块,显示验证信息 --> | |
| 109 | + <div class="alert alert-danger well-sm" ng-show="myForm.lpNames.$error.required"> | |
| 110 | + 路牌范围必须填写 | |
| 111 | + </div> | |
| 112 | + </div> | |
| 113 | + | |
| 114 | + <div class="form-group"> | |
| 115 | + <label class="col-md-2 control-label">起始路牌*:</label> | |
| 116 | + <div class="col-md-3"> | |
| 117 | + <input type="text" class="form-control" name="lpStart" ng-model="ctrl.scheduleRuleManageForSave.lpStart" required | |
| 118 | + placeholder="起始路牌,从0开始"/> | |
| 119 | + </div> | |
| 120 | + <!-- 隐藏块,显示验证信息 --> | |
| 121 | + <div class="alert alert-danger well-sm" ng-show="myForm.lpStart.$error.required"> | |
| 122 | + 起始路牌必须填写 | |
| 123 | + </div> | |
| 124 | + </div> | |
| 125 | + | |
| 126 | + <div class="form-group"> | |
| 127 | + <label class="col-md-2 control-label">人员范围*:</label> | |
| 128 | + <div class="col-md-3"> | |
| 129 | + <input type="text" class="form-control" name="ryDbbms" ng-model="ctrl.scheduleRuleManageForSave.ryDbbms" required | |
| 130 | + placeholder="由人员配置的搭班编码组成,逗号分隔"/> | |
| 131 | + </div> | |
| 132 | + <!-- 隐藏块,显示验证信息 --> | |
| 133 | + <div class="alert alert-danger well-sm" ng-show="myForm.ryDbbms.$error.required"> | |
| 134 | + 人员范围必须填写 | |
| 135 | + </div> | |
| 136 | + </div> | |
| 137 | + | |
| 138 | + <div class="form-group"> | |
| 139 | + <label class="col-md-2 control-label">起始人员*:</label> | |
| 140 | + <div class="col-md-3"> | |
| 141 | + <input type="text" class="form-control" name="ryStart" ng-model="ctrl.scheduleRuleManageForSave.ryStart" required | |
| 142 | + placeholder="起始路牌,从0开始"/> | |
| 143 | + </div> | |
| 144 | + <!-- 隐藏块,显示验证信息 --> | |
| 145 | + <div class="alert alert-danger well-sm" ng-show="myForm.ryStart.$error.required"> | |
| 146 | + 起始路牌必须填写 | |
| 147 | + </div> | |
| 148 | + </div> | |
| 149 | + | |
| 150 | + <div class="form-group"> | |
| 151 | + <label class="col-md-2 control-label">翻班格式:</label> | |
| 152 | + <div class="col-md-3"> | |
| 153 | + <input type="text" class="form-control" name="fbgs" ng-model="ctrl.scheduleRuleManageForSave.fbgs" | |
| 154 | + placeholder="车辆翻班格式"/> | |
| 155 | + </div> | |
| 156 | + </div> | |
| 157 | + | |
| 158 | + | |
| 159 | + <!-- 其他form-group --> | |
| 160 | + | |
| 161 | + </div> | |
| 162 | + | |
| 163 | + <!-- TODO:!myForm.$valid 在这里有点问题,改用以下方法验证 --> | |
| 164 | + <div class="form-actions"> | |
| 165 | + <div class="row"> | |
| 166 | + <div class="col-md-offset-3 col-md-4"> | |
| 167 | + <button type="submit" class="btn green" | |
| 168 | + ng-disabled="myForm.xl.$error.required || | |
| 169 | + myForm.cl.$error.required || | |
| 170 | + myForm.qyrq.$error.required || | |
| 171 | + myForm.lpNames.$error.required || | |
| 172 | + myForm.lpStart.$error.required || | |
| 173 | + myForm.ryDbbms.$error.required || | |
| 174 | + myForm.ryStart.$error.required" | |
| 175 | + ><i class="fa fa-check"></i> 提交</button> | |
| 176 | + <a type="button" class="btn default" ui-sref="scheduleRuleManage" ><i class="fa fa-times"></i> 取消</a> | |
| 177 | + </div> | |
| 178 | + </div> | |
| 179 | + </div> | |
| 180 | + | |
| 181 | + </form> | |
| 182 | + | |
| 183 | + </div> | |
| 184 | + | |
| 185 | + | |
| 186 | +</div> | |
| 0 | 187 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/scheduleRuleManage/list.html
| ... | ... | @@ -5,8 +5,7 @@ |
| 5 | 5 | <th>序号</th> |
| 6 | 6 | <th>线路</th> |
| 7 | 7 | <th>修改时间</th> |
| 8 | - <th>启用时间</th> | |
| 9 | - <th>规则类型</th> | |
| 8 | + <th>启用日期</th> | |
| 10 | 9 | <th>车辆</th> |
| 11 | 10 | <th>翻版模式</th> |
| 12 | 11 | <th>起始路牌</th> |
| ... | ... | @@ -17,11 +16,30 @@ |
| 17 | 16 | </tr> |
| 18 | 17 | <tr role="row" class="filter"> |
| 19 | 18 | <td></td> |
| 19 | + <td> | |
| 20 | + <div style="width: 150px"> | |
| 21 | + <sa-Select2 model="ctrl.searchCondition()" | |
| 22 | + type="xl" | |
| 23 | + modelcolname1="xl.id_eq" | |
| 24 | + datacolname1="id" | |
| 25 | + showcolname="name" | |
| 26 | + placeholder="请输拼音..."> | |
| 27 | + </sa-Select2> | |
| 28 | + </div> | |
| 29 | + </td> | |
| 20 | 30 | <td></td> |
| 21 | 31 | <td></td> |
| 22 | - <td></td> | |
| 23 | - <td></td> | |
| 24 | - <td></td> | |
| 32 | + <td> | |
| 33 | + <div style="width: 150px"> | |
| 34 | + <sa-Select2 model="ctrl.searchCondition()" | |
| 35 | + type="cl" | |
| 36 | + modelcolname1="cl.id_eq" | |
| 37 | + datacolname1="id" | |
| 38 | + showcolname="insideCode" | |
| 39 | + placeholder="请输拼音..."> | |
| 40 | + </sa-Select2> | |
| 41 | + </div> | |
| 42 | + </td> | |
| 25 | 43 | <td></td> |
| 26 | 44 | <td></td> |
| 27 | 45 | <td></td> |
| ... | ... | @@ -45,7 +63,7 @@ |
| 45 | 63 | <span ng-bind="$index + 1"></span> |
| 46 | 64 | </td> |
| 47 | 65 | <td> |
| 48 | - <span ng-bind="info.xl"></span> | |
| 66 | + <span ng-bind="info.xl.name"></span> | |
| 49 | 67 | </td> |
| 50 | 68 | <td> |
| 51 | 69 | <span ng-bind="info.updateDate | date: 'yyyy-MM-dd HH:mm:ss'"></span> |
| ... | ... | @@ -54,29 +72,27 @@ |
| 54 | 72 | <span ng-bind="info.qyrq | date: 'yyyy-MM-dd '"></span> |
| 55 | 73 | </td> |
| 56 | 74 | <td> |
| 57 | - <span>周期循环类型</span> | |
| 58 | - </td> | |
| 59 | - <td> | |
| 60 | - <span ng-bind="info.cl"></span> | |
| 75 | + <span ng-bind="info.cl.insideCode"></span> | |
| 61 | 76 | </td> |
| 62 | 77 | <td> |
| 63 | - <span ng-bind="info.fbms"></span> | |
| 78 | + <span ng-bind="info.fbgs"></span> | |
| 64 | 79 | </td> |
| 65 | 80 | <td> |
| 66 | - <span ng-bind="info.qslp"></span> | |
| 81 | + <span ng-bind="info.lpStart"></span> | |
| 67 | 82 | </td> |
| 68 | 83 | <td> |
| 69 | - <span ng-bind="info.lpfw"></span> | |
| 84 | + <span ng-bind="info.lpNames"></span> | |
| 70 | 85 | </td> |
| 71 | 86 | <td> |
| 72 | - <span ng-bind="info.qsry"></span> | |
| 87 | + <span ng-bind="info.ryStart"></span> | |
| 73 | 88 | </td> |
| 74 | 89 | <td> |
| 75 | - <span ng-bind="info.ryfw"></span> | |
| 90 | + <span ng-bind="info.ryDbbms"></span> | |
| 76 | 91 | </td> |
| 77 | 92 | <td> |
| 78 | 93 | <!--<a href="details.html?lineId={{obj.id}}" class="btn default blue-stripe btn-sm"> 详细 </a>--> |
| 79 | 94 | <!--<a href="edit.html?lineId={{obj.id}}" class="btn default blue-stripe btn-sm"> 修改 </a>--> |
| 95 | + <a ui-sref="#" class="btn default blue-stripe btn-sm"> 详细 </a> | |
| 80 | 96 | <a ui-sref="#" class="btn default blue-stripe btn-sm"> 修改 </a> |
| 81 | 97 | </td> |
| 82 | 98 | </tr> | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/scheduleRuleManage/scheduleRuleManage.html deleted
100644 → 0
src/main/resources/static/pages/scheduleApp/module/core/scheduleRuleManage/scheduleRuleManage.js
| 1 | -// 车辆配置管理 service controller 等写在一起 | |
| 2 | -// TODO | |
| 1 | +// 规则配置管理 service controller 等写在一起 | |
| 2 | +angular.module('ScheduleApp').factory('ScheduleRuleManageService', ['ScheduleRuleManageService_g', function(service) { | |
| 3 | + /** 当前的查询条件信息 */ | |
| 4 | + var currentSearchCondition = {}; | |
| 3 | 5 | |
| 4 | -angular.module('ScheduleApp').controller('ScheduleRuleManageCtrl', ['$state', function($state) { | |
| 6 | + /** 当前第几页 */ | |
| 7 | + var currentPageNo = 1; | |
| 8 | + | |
| 9 | + return { | |
| 10 | + /** | |
| 11 | + * 获取查询条件信息, | |
| 12 | + * 用于给controller用来和页面数据绑定。 | |
| 13 | + */ | |
| 14 | + getSearchCondition: function() { | |
| 15 | + return currentSearchCondition; | |
| 16 | + }, | |
| 17 | + /** | |
| 18 | + * 重置查询条件信息。 | |
| 19 | + */ | |
| 20 | + resetSearchCondition: function() { | |
| 21 | + var key; | |
| 22 | + for (key in currentSearchCondition) { | |
| 23 | + currentSearchCondition[key] = null; | |
| 24 | + } | |
| 25 | + }, | |
| 26 | + /** | |
| 27 | + * 设置当前页码。 | |
| 28 | + * @param cpn 从1开始,后台是从0开始的 | |
| 29 | + */ | |
| 30 | + setCurrentPageNo: function(cpn) { | |
| 31 | + currentPageNo = cpn; | |
| 32 | + }, | |
| 33 | + /** | |
| 34 | + * 组装查询参数,返回一个promise查询结果。 | |
| 35 | + * @param params 查询参数 | |
| 36 | + * @return 返回一个 promise | |
| 37 | + */ | |
| 38 | + getPage: function() { | |
| 39 | + var params = currentSearchCondition; // 查询条件 | |
| 40 | + params.page = currentPageNo - 1; // 服务端页码从0开始 | |
| 41 | + return service.rest.list(params).$promise; | |
| 42 | + }, | |
| 43 | + /** | |
| 44 | + * 获取明细信息。 | |
| 45 | + * @param id 车辆id | |
| 46 | + * @return 返回一个 promise | |
| 47 | + */ | |
| 48 | + getDetail: function(id) { | |
| 49 | + var params = {id: id}; | |
| 50 | + return service.rest.get(params).$promise; | |
| 51 | + }, | |
| 52 | + /** | |
| 53 | + * 保存信息。 | |
| 54 | + * @param obj 车辆详细信息 | |
| 55 | + * @return 返回一个 promise | |
| 56 | + */ | |
| 57 | + saveDetail: function(obj) { | |
| 58 | + return service.rest.save(obj).$promise; | |
| 59 | + } | |
| 60 | + }; | |
| 61 | + | |
| 62 | +}]); | |
| 63 | + | |
| 64 | +angular.module('ScheduleApp').controller('ScheduleRuleManageCtrl', ['ScheduleRuleManageService', '$state', function(busConfigService, $state) { | |
| 5 | 65 | var self = this; |
| 6 | 66 | |
| 7 | 67 | // 切换到form状态 |
| 8 | 68 | self.goForm = function() { |
| 9 | - alert("生成"); | |
| 69 | + //alert("切换"); | |
| 70 | + $state.go("scheduleRuleManage_form"); | |
| 71 | + }; | |
| 10 | 72 | |
| 11 | - } | |
| 12 | 73 | }]); |
| 13 | 74 | |
| 14 | -angular.module('ScheduleApp').controller('ScheduleRuleManageListCtrl', [function() { | |
| 75 | +angular.module('ScheduleApp').controller('ScheduleRuleManageListCtrl', ['ScheduleRuleManageService', function(scheduleRuleManageService) { | |
| 15 | 76 | var self = this; |
| 16 | 77 | self.pageInfo = { |
| 17 | 78 | totalItems : 0, |
| ... | ... | @@ -20,16 +81,17 @@ angular.module('ScheduleApp').controller('ScheduleRuleManageListCtrl', [function |
| 20 | 81 | }; |
| 21 | 82 | |
| 22 | 83 | // 初始创建的时候,获取一次列表数据 |
| 23 | - // TODO:假数据 | |
| 24 | - self.pageInfo.infos.push({ | |
| 25 | - xl: "85路", | |
| 26 | - cl: "Q4A-001", | |
| 27 | - fbms: "0111110", | |
| 28 | - qslp: "1", | |
| 29 | - lpfw: "+1,+2,+3,+4,+5", | |
| 30 | - qsry: "1", | |
| 31 | - ryfw: "36" | |
| 32 | - }); | |
| 84 | + scheduleRuleManageService.getPage().then( | |
| 85 | + function(result) { | |
| 86 | + self.pageInfo.totalItems = result.totalElements; | |
| 87 | + self.pageInfo.currentPage = result.number + 1; | |
| 88 | + self.pageInfo.infos = result.content; | |
| 89 | + scheduleRuleManageService.setCurrentPageNo(result.number + 1); | |
| 90 | + }, | |
| 91 | + function(result) { | |
| 92 | + alert("出错啦!"); | |
| 93 | + } | |
| 94 | + ); | |
| 33 | 95 | |
| 34 | 96 | //$scope.$watch("ctrl.pageInfo.currentPage", function() { |
| 35 | 97 | // alert("dfdfdf"); |
| ... | ... | @@ -37,16 +99,119 @@ angular.module('ScheduleApp').controller('ScheduleRuleManageListCtrl', [function |
| 37 | 99 | |
| 38 | 100 | // 翻页的时候调用 |
| 39 | 101 | self.pageChanaged = function() { |
| 102 | + scheduleRuleManageService.setCurrentPageNo(self.pageInfo.currentPage); | |
| 103 | + scheduleRuleManageService.getPage().then( | |
| 104 | + function(result) { | |
| 105 | + self.pageInfo.totalItems = result.totalElements; | |
| 106 | + self.pageInfo.currentPage = result.number + 1; | |
| 107 | + self.pageInfo.infos = result.content; | |
| 108 | + scheduleRuleManageService.setCurrentPageNo(result.number + 1); | |
| 109 | + }, | |
| 110 | + function(result) { | |
| 111 | + alert("出错啦!"); | |
| 112 | + } | |
| 113 | + ); | |
| 40 | 114 | }; |
| 41 | 115 | // 获取查询条件数据 |
| 42 | 116 | self.searchCondition = function() { |
| 117 | + return scheduleRuleManageService.getSearchCondition(); | |
| 43 | 118 | }; |
| 44 | 119 | // 重置查询条件 |
| 45 | 120 | self.resetSearchCondition = function() { |
| 121 | + scheduleRuleManageService.resetSearchCondition(); | |
| 122 | + self.pageInfo.currentPage = 1; | |
| 123 | + self.pageChanaged(); | |
| 46 | 124 | }; |
| 47 | 125 | |
| 48 | 126 | }]); |
| 49 | 127 | |
| 128 | +angular.module('ScheduleApp').controller('ScheduleRuleManageFormCtrl', ['ScheduleRuleManageService', '$stateParams', '$state', '$scope', function(scheduleRuleManageService, $stateParams, $state, $scope) { | |
| 129 | + var self = this; | |
| 130 | + | |
| 131 | + // 启用日期 日期控件开关 | |
| 132 | + self.qyrqOpen = false; | |
| 133 | + self.qyrq_open = function() { | |
| 134 | + self.qyrqOpen = true; | |
| 135 | + }; | |
| 136 | + | |
| 137 | + // 欲保存的busInfo信息,绑定 | |
| 138 | + self.scheduleRuleManageForSave = {}; | |
| 139 | + | |
| 140 | + // 获取传过来的id,有的话就是修改,获取一遍数据 | |
| 141 | + var id = $stateParams.id; | |
| 142 | + if (id) { | |
| 143 | + self.scheduleRuleManageForSave.id = id; | |
| 144 | + scheduleRuleManageService.getDetail(id).then( | |
| 145 | + function(result) { | |
| 146 | + var key; | |
| 147 | + for (key in result) { | |
| 148 | + self.scheduleRuleManageForSave[key] = result[key]; | |
| 149 | + } | |
| 150 | + | |
| 151 | + // 添加xl_id,cl_id | |
| 152 | + self.scheduleRuleManageForSave["xl_id"] = self.scheduleRuleManageForSave.xl.id; | |
| 153 | + self.scheduleRuleManageForSave["cl_id"] = self.scheduleRuleManageForSave.cl.id; | |
| 154 | + }, | |
| 155 | + function(result) { | |
| 156 | + alert("出错啦!"); | |
| 157 | + } | |
| 158 | + ); | |
| 159 | + } | |
| 160 | + | |
| 161 | + // 提交方法 | |
| 162 | + self.submit = function() { | |
| 163 | + console.log(self.scheduleRuleManageForSave); | |
| 164 | + | |
| 165 | + var mf = $scope.myForm; | |
| 166 | + | |
| 167 | + // xl_id,cl_id要组织成对象,然后删除 | |
| 168 | + self.scheduleRuleManageForSave["xl"] = {}; | |
| 169 | + self.scheduleRuleManageForSave.xl["id"] = self.scheduleRuleManageForSave["xl_id"]; | |
| 170 | + delete self.scheduleRuleManageForSave["xl_id"]; | |
| 171 | + self.scheduleRuleManageForSave["cl"] = {}; | |
| 172 | + self.scheduleRuleManageForSave.cl["id"] = self.scheduleRuleManageForSave["cl_id"]; | |
| 173 | + delete self.scheduleRuleManageForSave["cl_id"]; | |
| 174 | + | |
| 175 | + scheduleRuleManageService.saveDetail(self.scheduleRuleManageForSave).then( | |
| 176 | + function(result) { | |
| 177 | + // TODO:弹出框方式以后改 | |
| 178 | + if (result.status == 'SUCCESS') { | |
| 179 | + alert("保存成功!"); | |
| 180 | + $state.go("scheduleRuleManage"); | |
| 181 | + } else { | |
| 182 | + alert("保存异常!"); | |
| 183 | + } | |
| 184 | + }, | |
| 185 | + function(result) { | |
| 186 | + // TODO:弹出框方式以后改 | |
| 187 | + alert("出错啦!"); | |
| 188 | + } | |
| 189 | + ); | |
| 190 | + }; | |
| 191 | +}]); | |
| 192 | + | |
| 193 | +angular.module('ScheduleApp').controller('ScheduleRuleManageDetailCtrl', ['ScheduleRuleManageService', '$stateParams', function(scheduleRuleManageService, $stateParams) { | |
| 194 | + var self = this; | |
| 195 | + self.title = ""; | |
| 196 | + self.scheduleRuleManageForDetail = {}; | |
| 197 | + self.scheduleRuleManageForDetail.id = $stateParams.id; | |
| 198 | + | |
| 199 | + // 当转向到此页面时,就获取明细信息并绑定 | |
| 200 | + scheduleRuleManageService.getDetail($stateParams.id).then( | |
| 201 | + function(result) { | |
| 202 | + var key; | |
| 203 | + for (key in result) { | |
| 204 | + self.scheduleRuleManageForDetail[key] = result[key]; | |
| 205 | + } | |
| 206 | + | |
| 207 | + self.title = "规则配置详细信息"; | |
| 208 | + }, | |
| 209 | + function(result) { | |
| 210 | + // TODO:弹出框方式以后改 | |
| 211 | + alert("出错啦!"); | |
| 212 | + } | |
| 213 | + ); | |
| 214 | +}]); | |
| 50 | 215 | |
| 51 | 216 | |
| 52 | 217 | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/timeTableManage/detailDataImport.html
0 → 100644
| 1 | +<div class="modal-header"> | |
| 2 | + <h3 class="modal-title"><span ng-bind="ctrl.xlmc + '(' + ctrl.ttinfoname + ')' "></span>时刻表明细信息excel数据导入</h3> | |
| 3 | +</div> | |
| 4 | +<div class="modal-body"> | |
| 5 | + <div class="col-md-6"> | |
| 6 | + <div class="input-group"> | |
| 7 | + <input type="file" class="form-control" nv-file-select="" uploader="ctrl.uploader"/> | |
| 8 | + <span class="input-group-btn"> | |
| 9 | + <button type="button" ng-click="ctrl.clearInputFile()" class="btn btn-default"> | |
| 10 | + <span class="glyphicon glyphicon-trash"></span> | |
| 11 | + </button> | |
| 12 | + </span> | |
| 13 | + </div> | |
| 14 | + </div> | |
| 15 | + | |
| 16 | + <div class="table-scrollable table-scrollable-borderless"> | |
| 17 | + <table class="table table-hover table-light"> | |
| 18 | + <thead> | |
| 19 | + <tr class="uppercase"> | |
| 20 | + <th width="50%">文件名</th> | |
| 21 | + <th ng-show="ctrl.uploader.isHTML5">大小(M)</th> | |
| 22 | + <th ng-show="ctrl.uploader.isHTML5">进度</th> | |
| 23 | + <th>状态</th> | |
| 24 | + <th>操作</th> | |
| 25 | + </tr> | |
| 26 | + </thead> | |
| 27 | + <tbody> | |
| 28 | + <tr ng-repeat="item in ctrl.uploader.queue"> | |
| 29 | + <td> | |
| 30 | + <strong>{{ item.file.name }}</strong> | |
| 31 | + </td> | |
| 32 | + <td ng-show="ctrl.uploader.isHTML5" nowrap>{{ item.file.size/1024/1024|number:2 }} MB</td> | |
| 33 | + <td ng-show="ctrl.uploader.isHTML5"> | |
| 34 | + <div class="progress progress-sm" style="margin-bottom: 0;"> | |
| 35 | + <div class="progress-bar progress-bar-info" role="progressbar" | |
| 36 | + ng-style="{ 'width': item.progress + '%' }"></div> | |
| 37 | + </div> | |
| 38 | + </td> | |
| 39 | + <td class="text-center"> | |
| 40 | + <span ng-show="item.isSuccess" class="text-success"> | |
| 41 | + <i class="glyphicon glyphicon-ok"></i> | |
| 42 | + </span> | |
| 43 | + <span ng-show="item.isCancel" class="text-info"> | |
| 44 | + <i class="glyphicon glyphicon-ban-circle"></i> | |
| 45 | + </span> | |
| 46 | + <span ng-show="item.isError" class="text-danger"> | |
| 47 | + <i class="glyphicon glyphicon-remove"></i> | |
| 48 | + </span> | |
| 49 | + </td> | |
| 50 | + <td nowrap> | |
| 51 | + <button type="button" class="btn btn-success btn-xs" ng-click="item.upload()" | |
| 52 | + ng-disabled="item.isReady || item.isUploading || item.isSuccess"> | |
| 53 | + <span class="glyphicon glyphicon-upload"></span> 上传 | |
| 54 | + </button> | |
| 55 | + <button type="button" class="btn btn-warning btn-xs" ng-click="item.cancel()" | |
| 56 | + ng-disabled="!item.isUploading"> | |
| 57 | + <span class="glyphicon glyphicon-ban-circle"></span> 取消 | |
| 58 | + </button> | |
| 59 | + <button type="button" class="btn btn-danger btn-xs" ng-click="item.remove()"> | |
| 60 | + <span class="glyphicon glyphicon-trash"></span> 删除 | |
| 61 | + </button> | |
| 62 | + </td> | |
| 63 | + </tr> | |
| 64 | + </tbody> | |
| 65 | + </table> | |
| 66 | + </div> | |
| 67 | + | |
| 68 | +</div> | |
| 69 | + | |
| 70 | +<div class="modal-footer"> | |
| 71 | + <button class="btn btn-primary" ng-click="ctrl.close()">关闭</button> | |
| 72 | +</div> | |
| 0 | 73 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/timeTableManage/detail_info.html
| ... | ... | @@ -86,7 +86,7 @@ |
| 86 | 86 | |
| 87 | 87 | <div class="portlet-body"> |
| 88 | 88 | <!--<div ng-view></div>--> |
| 89 | - <table class="table table-striped table-bordered table-hover table-checkable order-column" ng-controller="TimeTableInfoManageCtrl as ctrl"> | |
| 89 | + <table class="table table-striped table-bordered table-hover table-checkable order-column" ng-controller="TimeTableDetailManageCtrl as ctrl"> | |
| 90 | 90 | <thead> |
| 91 | 91 | <tr> |
| 92 | 92 | <th> | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/timeTableManage/list.html
| ... | ... | @@ -65,10 +65,10 @@ |
| 65 | 65 | <span ng-bind="info.updateDate | date: 'yyyy-MM-dd HH:mm:ss'"></span> |
| 66 | 66 | </td> |
| 67 | 67 | <td> |
| 68 | - <a ui-sref="timeTableInfoManage" class="btn default blue-stripe btn-sm"> 编辑 </a> | |
| 69 | - <a ui-sref="" class="btn default blue-stripe btn-sm"> 导入 </a> | |
| 70 | - <a ui-sref="" class="btn default blue-stripe btn-sm"> 导出 </a> | |
| 71 | - <a ui-sref="" class="btn default blue-stripe btn-sm"> 模版 </a> | |
| 68 | + <a ui-sref="timeTableDetailInfoManage" class="btn default blue-stripe btn-sm"> 编辑 </a> | |
| 69 | + <a ng-click="ctrl.importData($index)" class="btn default blue-stripe btn-sm"> 导入 </a> | |
| 70 | + <a href="javascript:" class="btn default blue-stripe btn-sm"> 导出 </a> | |
| 71 | + <a href="javascript:" class="btn default blue-stripe btn-sm"> 模版 </a> | |
| 72 | 72 | </td> |
| 73 | 73 | <td> |
| 74 | 74 | <!--<a href="details.html?lineId={{obj.id}}" class="btn default blue-stripe btn-sm"> 详细 </a>--> | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/timeTableManage/timeTableDetailManage.js
0 → 100644
| 1 | +angular.module('ScheduleApp').controller('TimeTableDetailManageCtrl', [function() { | |
| 2 | + var self = this; | |
| 3 | + | |
| 4 | + | |
| 5 | + // 模拟799路的时刻信息 | |
| 6 | + self.detailHeads = [ | |
| 7 | + '路牌', '出场', | |
| 8 | + '华高新村1', '陆家嘴地铁站1', '华高新村2', '陆家嘴地铁站2', | |
| 9 | + '华高新村3', '陆家嘴地铁站3', '华高新村4', '陆家嘴地铁站4', | |
| 10 | + '华高新村5', '陆家嘴地铁站5', '华高新村6', '陆家嘴地铁站6', | |
| 11 | + '华高新村7', '陆家嘴地铁站7', '华高新村8', '陆家嘴地铁站8', | |
| 12 | + '进场', '空驶班次数/里程', '运营班次数/里程' | |
| 13 | + ]; | |
| 14 | + | |
| 15 | + self.detailInfos = [ | |
| 16 | + ['1', '07:01', '', '', '07:11', '08:01', '09:22', '10:12', '11:34', '12:24', '13:34', '14:24', '15:42', '16:32', '18:00', '18:50', '', '', '19:46', '2/1.6', '12/198'], | |
| 17 | + ['2', '06:51', '07:01', '07:51', '09:12', '10:02', '11:22', '12:12', '13:22', '14:12', '15:36', '16:26', '17:55', '18:45', '20:05', '20:55', '', '', '21:51', '2/1.6', '14/231'], | |
| 18 | + ['3', '05:56', '06:06', '06:56', '08:05', '08:55', '10:34', '11:24', '12:20', '', '', '17:01', '17:11', '18:01', '19:10', '19:58', '21:16', '22:08', '23:04', '4/3.2', '12/198'], | |
| 19 | + ['4', '06:20', '06:30', '07:20', '08:20', '09:10', '11:02', '08:38', '12:46', '13:36', '12:57', '15:44', '17:20', '18:10', '19:24', '20:14', '', '', '21:10', '2/1.6', '14/231'], | |
| 20 | + ['5', '07:21', '', '', '07:31', '08:21', '09:46', '10:36', '11:58', '12:48', '13:36', '14:46', '16:06', '16:56', '18:18', '19:08', '', '', '20:04', '2/1.6', '12/198'], | |
| 21 | + ['6', '06:36', '06:46', '07:36', '08:40', '09:30', '10:58', '11:48', '12:58', '13:48', '15:18', '16:08', '17:40', '18:30', '19:48', '20:38', '21:50', '22:49', '23:45', '2/1.6', '16/264'], | |
| 22 | + ['7', '07:30', '', '', '07:40', '08:31', '09:58', '10:48', '12:10', '13:00', '13:56', '16:20', '16:30', '17:20', '18:30', '19:20', '20:41', '21:31', '22:27', '4/3.2', '12/198'], | |
| 23 | + ['8', '07:46', '', '', '07:56', '08:46', '10:22', '11:12', '12:34', '13:24', '14:20', '16:38', '16:48', '17:38', '18:49', '19:38', '21:00', '21:50', '22:46', '4/3.2', '12/198'], | |
| 24 | + ['9', '07:38', '', '', '07:48', '08:38', '10:10', '10:00', '12:22', '13:12', '14:30', '15:20', '16:44', '17:34', '18:42', '19:32', '', '', '20:28', '2/1.6', '12/198'], | |
| 25 | + ['10', '06:46', '06:56', '07:46', '09:00', '09:50', '11:10', '12:00', '13:10', '14:00', '15:24', '16:14', '17:45', '18:35', '19:56', '20:46', '22:00', '23:00', '23:56', '2/1.6', '16/264'], | |
| 26 | + ['+1', '05:10', '05:20', '06:10', '07:21', '08:11', '09:07', '', '', '', '', '15:44', '15:54', '16:44', '18:12', '19:02', '20:23', '21:13', '22:09', '4/3.2', '10/165'], | |
| 27 | + ['+2', '05:30', '05:40', '06:30', '07:44', '08:34', '09:30', '', '', '', '', '16:29', '16:39', '17:29', '18:36', '19:26', '20:50', '21:40', '22:36', '4/3.2', '10/165'], | |
| 28 | + ['+3', '05:30', '', '06:00', '07:16', '08:06', '09:02', '', '', '', '', '15:38', '15:48', '16:38', '18:06', '18:56', '20:14', '21:04', '22:00', '4/14.95', '9/149'], | |
| 29 | + ['+4', '05:48', '05:58', '06:48', '08:00', '08:50', '09:46', '', '', '', '', '16:52', '17:02', '17:52', '19:03', '19:50', '21:08', '21:59', '22:54', '4/3.2', '10/165'], | |
| 30 | + ['+5', '05:40', '05:50', '06:40', '07:52', '08:42', '09:38', '', '', '14:26', '14:36', '15:26', '16:53', '17:43', '18:56', '19:44', '', '', '20:40', '4/3.2', '10/165'], | |
| 31 | + ['+6', '06:31', '06:41', '07:31', '08:31', '09:21', '10:17', '', '', '14:56', '15:06', '15:56', '17:30', '18:20', '19:32', '20:22', '21:32', '22:27', '23:23', '4/3.2', '12/198'], | |
| 32 | + ['+7', '05:20', '05:30', '06:20', '07:36', '08:26', '09:22', '', '', '', '', '16:08', '16:18', '17:08', '18:24', '19:14', '20:32', '21:22', '22:18', '4/3.2', '10/165'], | |
| 33 | + ['+8', '06:04', '06:14', '07:04', '08:10', '09:00', '09:56', '', '', '', '', '17:05', '17:15', '18:05', '19:17', '20:06', '21:24', '22:17', '23:13', '4/3.2', '10/165'], | |
| 34 | + ['+9', '06:41', '06:51', '07:41', '08:50', '09:40', '10:36', '', '', '15:02', '15:12', '16:02', '17:35', '18:25', '19:40', '20:30', '21:40', '22:38', '23:34', '4/3.2', '12/198'], | |
| 35 | + ['+10', '07:16', '', '', '07:26', '08:16', '09:34', '10:24', '11:46', '12:36', '13:46', '14:36', '16:00', '16:50', '', '', '', '', '17:46', '2/1.6', '10/165'], | |
| 36 | + ['+20', '06:12', '06:22', '07:12', '08:15', '09:05', '10:01', '', '', '14:50', '15:00', '15:50', '17:25', '18:15', '', '', '', '', '19:11', '4/3.2', '8/132'], | |
| 37 | + ['+21', '06:26', '06:36', '07:26', '08:25', '09:15', '10:11', '', '', '15:20', '15:30', '16:20', '17:50', '18:40', '', '', '', '', '19:36', '4/3.2', '8/132'], | |
| 38 | + ['+22', '06:56', '07:06', '07:56', '08:52', '', '', '', '', '14:38', '14:48', '15:38', '17:06', '17:56', '', '', '', '', '18:52', '4/3.2', '6/99'], | |
| 39 | + ['机1', '13:56', '', '', '', '', '', '', '', '', '14:06', '14:56', '16:12', '17:02', '', '', '', '', '17:58', '2/1.6', '4/66'], | |
| 40 | + ['机2', '14:04', '', '', '', '', '', '', '', '', '14:14', '15:04', '16:24', '17:14', '', '', '', '', '18:10', '2/1.6', '4/66'], | |
| 41 | + ['机3', '14:12', '', '', '', '', '', '', '', '', '14:22', '15:12', '16:35', '17:25', '', '', '', '', '18:21', '2/1.6', '4/66'], | |
| 42 | + ['机4', '14:32', '', '', '', '', '', '', '', '', '14:42', '15:32', '16:57', '17:47', '', '', '', '', '18:43', '2/1.6', '4/66'] | |
| 43 | + | |
| 44 | + ] | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | +}]); | |
| 0 | 77 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/scheduleApp/module/core/timeTableManage/timeTableManage.js
| ... | ... | @@ -133,7 +133,7 @@ angular.module('ScheduleApp').controller('TimeTableManageToolsCtrl', ['$modalIns |
| 133 | 133 | |
| 134 | 134 | }]); |
| 135 | 135 | |
| 136 | -angular.module('ScheduleApp').controller('TimeTableManageListCtrl', ['TimeTableManageService', function(timeTableManageService) { | |
| 136 | +angular.module('ScheduleApp').controller('TimeTableManageListCtrl', ['TimeTableManageService', '$uibModal', function(timeTableManageService, $uibModal) { | |
| 137 | 137 | var self = this; |
| 138 | 138 | self.pageInfo = { |
| 139 | 139 | totalItems : 0, |
| ... | ... | @@ -182,6 +182,82 @@ angular.module('ScheduleApp').controller('TimeTableManageListCtrl', ['TimeTableM |
| 182 | 182 | return timeTableManageService.resetSearchCondition(); |
| 183 | 183 | }; |
| 184 | 184 | |
| 185 | + // 导入excel | |
| 186 | + self.importData = function($index) { | |
| 187 | + // 线路名称 | |
| 188 | + var xlmc = self.pageInfo.infos[$index]["xl"]["name"]; | |
| 189 | + // 时刻表名称 | |
| 190 | + var ttinfoname = self.pageInfo.infos[$index]["name"]; | |
| 191 | + // 停车场名称(TODO:暂时写死) | |
| 192 | + var tccname = "东靖路高行停车场"; | |
| 193 | + | |
| 194 | + // large方式弹出模态对话框 | |
| 195 | + var modalInstance = $uibModal.open({ | |
| 196 | + templateUrl: '/pages/scheduleApp/module/core/timeTableManage/detailDataImport.html', | |
| 197 | + size: "lg", | |
| 198 | + animation: true, | |
| 199 | + backdrop: 'static', | |
| 200 | + resolve: { | |
| 201 | + // 可以传值给controller | |
| 202 | + r_xlmc : function() {return xlmc}, | |
| 203 | + r_ttinfoname : function() {return ttinfoname;}, | |
| 204 | + r_tccname : function() {return tccname;} | |
| 205 | + }, | |
| 206 | + windowClass: 'center-modal', | |
| 207 | + controller: "TimeTableDetailManageToolsCtrl", | |
| 208 | + controllerAs: "ctrl", | |
| 209 | + bindToController: true | |
| 210 | + }); | |
| 211 | + modalInstance.result.then( | |
| 212 | + function() { | |
| 213 | + console.log("dataImport.html打开"); | |
| 214 | + }, | |
| 215 | + function() { | |
| 216 | + console.log("dataImport.html消失"); | |
| 217 | + } | |
| 218 | + ); | |
| 219 | + }; | |
| 220 | + | |
| 221 | +}]); | |
| 222 | + | |
| 223 | +angular.module('ScheduleApp').controller('TimeTableDetailManageToolsCtrl', ['$modalInstance', 'FileUploader', 'r_xlmc', 'r_ttinfoname', 'r_tccname', function($modalInstance, FileUploader, r_xlmc, r_ttinfoname, r_tccname) { | |
| 224 | + var self = this; | |
| 225 | + | |
| 226 | + self.xlmc = r_xlmc; | |
| 227 | + self.ttinfoname = r_ttinfoname; | |
| 228 | + self.tccname = r_tccname; | |
| 229 | + | |
| 230 | + // 关闭窗口 | |
| 231 | + self.close = function() { | |
| 232 | + $modalInstance.dismiss("cancel"); | |
| 233 | + }; | |
| 234 | + | |
| 235 | + self.clearInputFile = function() { | |
| 236 | + angular.element("input[type='file']").val(null); | |
| 237 | + }; | |
| 238 | + | |
| 239 | + // 上传文件组件 | |
| 240 | + self.uploader = new FileUploader({ | |
| 241 | + url: "/tidc/dataImportExtend", | |
| 242 | + filters: [], // 用于过滤文件,比如只允许导入excel, | |
| 243 | + formData: [{xlmc: self.xlmc, ttinfoname: self.ttinfoname, tccname: self.tccname}] | |
| 244 | + }); | |
| 245 | + self.uploader.onAfterAddingFile = function(fileItem) | |
| 246 | + { | |
| 247 | + console.info('onAfterAddingFile', fileItem); | |
| 248 | + console.log(self.uploader.queue.length); | |
| 249 | + if (self.uploader.queue.length > 1) | |
| 250 | + self.uploader.removeFromQueue(0); | |
| 251 | + }; | |
| 252 | + self.uploader.onSuccessItem = function(fileItem, response, status, headers) | |
| 253 | + { | |
| 254 | + console.info('onSuccessItem', fileItem, response, status, headers); | |
| 255 | + }; | |
| 256 | + self.uploader.onErrorItem = function(fileItem, response, status, headers) | |
| 257 | + { | |
| 258 | + console.info('onErrorItem', fileItem, response, status, headers); | |
| 259 | + }; | |
| 260 | + | |
| 185 | 261 | }]); |
| 186 | 262 | |
| 187 | 263 | angular.module('ScheduleApp').controller('TimeTableManageFormCtrl', ['TimeTableManageService', '$stateParams', '$state', function(timeTableManageService, $stateParams, $state) { | ... | ... |
src/main/resources/static/pages/scheduleApp/module/main.js
| ... | ... | @@ -62,6 +62,8 @@ ScheduleApp.config(['$stateProvider', '$urlRouterProvider', function($stateProvi |
| 62 | 62 | name: 'busInfoManage_module', |
| 63 | 63 | insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置 |
| 64 | 64 | files: [ |
| 65 | + "assets/bower_components/angular-ui-select/dist/select.min.css", | |
| 66 | + "assets/bower_components/angular-ui-select/dist/select.min.js", | |
| 65 | 67 | "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js", |
| 66 | 68 | "pages/scheduleApp/module/basicInfo/busInfoManage/busInfoManage.js" |
| 67 | 69 | ] |
| ... | ... | @@ -143,6 +145,8 @@ ScheduleApp.config(['$stateProvider', '$urlRouterProvider', function($stateProvi |
| 143 | 145 | name: 'employeeInfoManage_module', |
| 144 | 146 | insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置 |
| 145 | 147 | files: [ |
| 148 | + "assets/bower_components/angular-ui-select/dist/select.min.css", | |
| 149 | + "assets/bower_components/angular-ui-select/dist/select.min.js", | |
| 146 | 150 | "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js", |
| 147 | 151 | "pages/scheduleApp/module/basicInfo/employeeInfoManage/employeeInfoManage.js" |
| 148 | 152 | ] |
| ... | ... | @@ -304,6 +308,8 @@ ScheduleApp.config(['$stateProvider', '$urlRouterProvider', function($stateProvi |
| 304 | 308 | name: 'busConfig_module', |
| 305 | 309 | insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置 |
| 306 | 310 | files: [ |
| 311 | + "assets/bower_components/angular-ui-select/dist/select.min.css", | |
| 312 | + "assets/bower_components/angular-ui-select/dist/select.min.js", | |
| 307 | 313 | "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js", |
| 308 | 314 | "pages/scheduleApp/module/core/busConfig/busConfig.js" |
| 309 | 315 | ] |
| ... | ... | @@ -385,6 +391,8 @@ ScheduleApp.config(['$stateProvider', '$urlRouterProvider', function($stateProvi |
| 385 | 391 | name: 'employeeConfig_module', |
| 386 | 392 | insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置 |
| 387 | 393 | files: [ |
| 394 | + "assets/bower_components/angular-ui-select/dist/select.min.css", | |
| 395 | + "assets/bower_components/angular-ui-select/dist/select.min.js", | |
| 388 | 396 | "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js", |
| 389 | 397 | "pages/scheduleApp/module/core/employeeConfig/employeeConfig.js" |
| 390 | 398 | ] |
| ... | ... | @@ -466,6 +474,8 @@ ScheduleApp.config(['$stateProvider', '$urlRouterProvider', function($stateProvi |
| 466 | 474 | name: 'guideboardManage_module', |
| 467 | 475 | insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置 |
| 468 | 476 | files: [ |
| 477 | + "assets/bower_components/angular-ui-select/dist/select.min.css", | |
| 478 | + "assets/bower_components/angular-ui-select/dist/select.min.js", | |
| 469 | 479 | "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js", |
| 470 | 480 | "pages/scheduleApp/module/core/guideboardManage/guideboardManage.js" |
| 471 | 481 | ] |
| ... | ... | @@ -473,6 +483,23 @@ ScheduleApp.config(['$stateProvider', '$urlRouterProvider', function($stateProvi |
| 473 | 483 | }] |
| 474 | 484 | } |
| 475 | 485 | }) |
| 486 | + .state("guideboardManage_detail", { | |
| 487 | + url: '/guideboardManage_detail/:id', | |
| 488 | + views: { | |
| 489 | + "": {templateUrl: 'pages/scheduleApp/module/core/guideboardManage/detail.html'} | |
| 490 | + }, | |
| 491 | + resolve: { | |
| 492 | + deps: ['$ocLazyLoad', function($ocLazyLoad) { | |
| 493 | + return $ocLazyLoad.load({ | |
| 494 | + name: 'guideboardManage_detail_module', | |
| 495 | + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置 | |
| 496 | + files: [ | |
| 497 | + "pages/scheduleApp/module/core/guideboardManage/guideboardManage.js" | |
| 498 | + ] | |
| 499 | + }); | |
| 500 | + }] | |
| 501 | + } | |
| 502 | + }) | |
| 476 | 503 | |
| 477 | 504 | |
| 478 | 505 | // 时刻表管理 |
| ... | ... | @@ -555,18 +582,18 @@ ScheduleApp.config(['$stateProvider', '$urlRouterProvider', function($stateProvi |
| 555 | 582 | }] |
| 556 | 583 | } |
| 557 | 584 | }) |
| 558 | - .state("timeTableInfoManage", { | |
| 559 | - url: '/timeTableInfoManage', | |
| 585 | + .state("timeTableDetailInfoManage", { | |
| 586 | + url: '/timeTableDetailInfoManage', | |
| 560 | 587 | views: { |
| 561 | 588 | "": {templateUrl: 'pages/scheduleApp/module/core/timeTableManage/detail_info.html'} |
| 562 | 589 | }, |
| 563 | 590 | resolve: { |
| 564 | 591 | deps: ['$ocLazyLoad', function($ocLazyLoad) { |
| 565 | 592 | return $ocLazyLoad.load({ |
| 566 | - name: 'timeTableInfoManage_detail_module', | |
| 593 | + name: 'timeTableDetailInfoManage_module', | |
| 567 | 594 | insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置 |
| 568 | 595 | files: [ |
| 569 | - "pages/scheduleApp/module/core/timeTableManage/timeTableInfoManage.js" | |
| 596 | + "pages/scheduleApp/module/core/timeTableManage/timeTableDetailManage.js" | |
| 570 | 597 | ] |
| 571 | 598 | }); |
| 572 | 599 | }] |
| ... | ... | @@ -591,6 +618,63 @@ ScheduleApp.config(['$stateProvider', '$urlRouterProvider', function($stateProvi |
| 591 | 618 | name: 'scheduleRuleManage_module', |
| 592 | 619 | insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置 |
| 593 | 620 | files: [ |
| 621 | + "assets/bower_components/angular-ui-select/dist/select.min.css", | |
| 622 | + "assets/bower_components/angular-ui-select/dist/select.min.js", | |
| 623 | + "pages/scheduleApp/module/core/scheduleRuleManage/scheduleRuleManage.js" | |
| 624 | + ] | |
| 625 | + }); | |
| 626 | + }] | |
| 627 | + } | |
| 628 | + }) | |
| 629 | + .state("scheduleRuleManage_form", { | |
| 630 | + url: '/scheduleRuleManage_form', | |
| 631 | + views: { | |
| 632 | + "": {templateUrl: 'pages/scheduleApp/module/core/scheduleRuleManage/form.html'} | |
| 633 | + }, | |
| 634 | + resolve: { | |
| 635 | + deps: ['$ocLazyLoad', function($ocLazyLoad) { | |
| 636 | + return $ocLazyLoad.load({ | |
| 637 | + name: 'scheduleRuleManage_form_module', | |
| 638 | + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置 | |
| 639 | + files: [ | |
| 640 | + "assets/bower_components/angular-ui-select/dist/select.min.css", | |
| 641 | + "assets/bower_components/angular-ui-select/dist/select.min.js", | |
| 642 | + "pages/scheduleApp/module/core/scheduleRuleManage/scheduleRuleManage.js" | |
| 643 | + ] | |
| 644 | + }); | |
| 645 | + }] | |
| 646 | + } | |
| 647 | + }) | |
| 648 | + .state("scheduleRuleManage_edit", { | |
| 649 | + url: '/scheduleRuleManage_edit/:id', | |
| 650 | + views: { | |
| 651 | + "": {templateUrl: 'pages/scheduleApp/module/core/scheduleRuleManage/edit.html'} | |
| 652 | + }, | |
| 653 | + resolve: { | |
| 654 | + deps: ['$ocLazyLoad', function($ocLazyLoad) { | |
| 655 | + return $ocLazyLoad.load({ | |
| 656 | + name: 'scheduleRuleManage_edit_module', | |
| 657 | + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置 | |
| 658 | + files: [ | |
| 659 | + "assets/bower_components/angular-ui-select/dist/select.min.css", | |
| 660 | + "assets/bower_components/angular-ui-select/dist/select.min.js", | |
| 661 | + "pages/scheduleApp/module/core/scheduleRuleManage/scheduleRuleManage.js" | |
| 662 | + ] | |
| 663 | + }); | |
| 664 | + }] | |
| 665 | + } | |
| 666 | + }) | |
| 667 | + .state("scheduleRuleManage_detail", { | |
| 668 | + url: '/scheduleRuleManage_detail/:id', | |
| 669 | + views: { | |
| 670 | + "": {templateUrl: 'pages/scheduleApp/module/core/scheduleRuleManage/detail.html'} | |
| 671 | + }, | |
| 672 | + resolve: { | |
| 673 | + deps: ['$ocLazyLoad', function($ocLazyLoad) { | |
| 674 | + return $ocLazyLoad.load({ | |
| 675 | + name: 'scheduleRuleManage_detail_module', | |
| 676 | + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置 | |
| 677 | + files: [ | |
| 594 | 678 | "pages/scheduleApp/module/core/scheduleRuleManage/scheduleRuleManage.js" |
| 595 | 679 | ] |
| 596 | 680 | }); |
| ... | ... | @@ -775,68 +859,107 @@ angular.module('ScheduleApp').factory('DeviceInfoManageService_g', ['$resource', |
| 775 | 859 | |
| 776 | 860 | // 车辆配置service |
| 777 | 861 | angular.module('ScheduleApp').factory('BusConfigService_g', ['$resource', function($resource) { |
| 778 | - return $resource( | |
| 779 | - '/cci/:id', | |
| 780 | - {order: 'createDate', direction: 'DESC', id: '@id_route'}, // TODO:以后需要根据属性对象的属性查询 | |
| 781 | - { | |
| 782 | - list: { | |
| 783 | - method: 'GET', | |
| 784 | - params: { | |
| 785 | - page: 0 | |
| 862 | + return { | |
| 863 | + rest : $resource( | |
| 864 | + '/cci/:id', | |
| 865 | + {order: 'createDate', direction: 'ASC', id: '@id_route'}, | |
| 866 | + { | |
| 867 | + list: { | |
| 868 | + method: 'GET', | |
| 869 | + params: { | |
| 870 | + page: 0 | |
| 871 | + } | |
| 872 | + }, | |
| 873 | + get: { | |
| 874 | + method: 'GET' | |
| 875 | + }, | |
| 876 | + save: { | |
| 877 | + method: 'POST' | |
| 786 | 878 | } |
| 787 | - }, | |
| 788 | - get: { | |
| 789 | - method: 'GET' | |
| 790 | - }, | |
| 791 | - save: { | |
| 792 | - method: 'POST' | |
| 793 | 879 | } |
| 794 | - } | |
| 795 | - ); | |
| 880 | + ) | |
| 881 | + }; | |
| 796 | 882 | }]); |
| 797 | 883 | |
| 798 | 884 | // 人员配置service |
| 799 | 885 | angular.module('ScheduleApp').factory('EmployeeConfigService_g', ['$resource', function($resource) { |
| 800 | - return $resource( | |
| 801 | - '/eci/:id', | |
| 802 | - {order: 'createDate', direction: 'DESC', id: '@id_route'}, // TODO:以后需要根据属性对象的属性查询 | |
| 803 | - { | |
| 804 | - list: { | |
| 805 | - method: 'GET', | |
| 806 | - params: { | |
| 807 | - page: 0 | |
| 886 | + return { | |
| 887 | + rest : $resource( | |
| 888 | + '/eci/:id', | |
| 889 | + {order: 'createDate', direction: 'ASC', id: '@id_route'}, | |
| 890 | + { | |
| 891 | + list: { | |
| 892 | + method: 'GET', | |
| 893 | + params: { | |
| 894 | + page: 0 | |
| 895 | + } | |
| 896 | + }, | |
| 897 | + get: { | |
| 898 | + method: 'GET' | |
| 899 | + }, | |
| 900 | + save: { | |
| 901 | + method: 'POST' | |
| 808 | 902 | } |
| 809 | - }, | |
| 810 | - get: { | |
| 811 | - method: 'GET' | |
| 812 | - }, | |
| 813 | - save: { | |
| 814 | - method: 'POST' | |
| 815 | 903 | } |
| 816 | - } | |
| 817 | - ); | |
| 904 | + ), | |
| 905 | + validate: $resource( // TODO: | |
| 906 | + '/personnel/validate/:type', | |
| 907 | + {}, | |
| 908 | + { | |
| 909 | + jobCode: { | |
| 910 | + method: 'GET' | |
| 911 | + } | |
| 912 | + } | |
| 913 | + ) | |
| 914 | + }; | |
| 818 | 915 | }]); |
| 819 | 916 | |
| 820 | 917 | // 路牌管理service |
| 821 | 918 | angular.module('ScheduleApp').factory('GuideboardManageService_g', ['$resource', function($resource) { |
| 822 | - return $resource( | |
| 823 | - '/gic/:id', | |
| 824 | - {order: 'createDate', direction: 'DESC', id: '@id_route'}, // TODO:以后需要根据属性对象的属性查询 | |
| 825 | - { | |
| 826 | - list: { | |
| 827 | - method: 'GET', | |
| 828 | - params: { | |
| 829 | - page: 0 | |
| 919 | + return { | |
| 920 | + rest: $resource( | |
| 921 | + '/gic/:id', | |
| 922 | + {order: 'createDate', direction: 'DESC', id: '@id_route'}, | |
| 923 | + { | |
| 924 | + list: { | |
| 925 | + method: 'GET', | |
| 926 | + params: { | |
| 927 | + page: 0 | |
| 928 | + } | |
| 929 | + }, | |
| 930 | + get: { | |
| 931 | + method: 'GET' | |
| 932 | + }, | |
| 933 | + save: { | |
| 934 | + method: 'POST' | |
| 830 | 935 | } |
| 831 | - }, | |
| 832 | - get: { | |
| 833 | - method: 'GET' | |
| 834 | - }, | |
| 835 | - save: { | |
| 836 | - method: 'POST' | |
| 837 | 936 | } |
| 838 | - } | |
| 839 | - ); | |
| 937 | + ) | |
| 938 | + }; | |
| 939 | +}]); | |
| 940 | + | |
| 941 | +// 排班管理service | |
| 942 | +angular.module('ScheduleApp').factory('ScheduleRuleManageService_g', ['$resource', function($resource) { | |
| 943 | + return { | |
| 944 | + rest: $resource( | |
| 945 | + '/sr1fc/:id', | |
| 946 | + {order: 'createDate', direction: 'DESC', id: '@id_route'}, | |
| 947 | + { | |
| 948 | + list: { | |
| 949 | + method: 'GET', | |
| 950 | + params: { | |
| 951 | + page: 0 | |
| 952 | + } | |
| 953 | + }, | |
| 954 | + get: { | |
| 955 | + method: 'GET' | |
| 956 | + }, | |
| 957 | + save: { | |
| 958 | + method: 'POST' | |
| 959 | + } | |
| 960 | + } | |
| 961 | + ) | |
| 962 | + }; | |
| 840 | 963 | }]); |
| 841 | 964 | |
| 842 | 965 | // 时刻表管理service |
| ... | ... | @@ -923,7 +1046,6 @@ angular.module('ScheduleApp').factory('BusLineInfoStatService_g', ['$resource', |
| 923 | 1046 | ); |
| 924 | 1047 | }]); |
| 925 | 1048 | |
| 926 | - | |
| 927 | 1049 | //--------------------------- 通用filter和directive -----------------------------// |
| 928 | 1050 | angular.module('ScheduleApp').filter("dict", [function() { |
| 929 | 1051 | /** |
| ... | ... | @@ -949,7 +1071,7 @@ angular.module('ScheduleApp').directive("saSelect", ['$timeout', function($timeo |
| 949 | 1071 | }, |
| 950 | 1072 | controllerAs: "$saSelectCtrl", |
| 951 | 1073 | bindToController: true, |
| 952 | - controller: function($scope) { | |
| 1074 | + controller: function() { | |
| 953 | 1075 | var self = this; |
| 954 | 1076 | self.datas = []; // 关联的字典数据,内部格式 {code:{值},name:{名字}} |
| 955 | 1077 | }, |
| ... | ... | @@ -1178,26 +1300,29 @@ angular.module('ScheduleApp').directive("remoteValidaton", [ |
| 1178 | 1300 | } |
| 1179 | 1301 | |
| 1180 | 1302 | attr.$observe("rv1", function(value) { |
| 1181 | - if (!value) { | |
| 1182 | - ngModelCtrl.$setValidity('remote', false); | |
| 1183 | - return; | |
| 1184 | - } | |
| 1303 | + if (attr["rvtype"] == "jobCode") { | |
| 1304 | + if (!value) { | |
| 1305 | + ngModelCtrl.$setValidity('remote', false); | |
| 1306 | + return; | |
| 1307 | + } | |
| 1185 | 1308 | |
| 1186 | - employeeInfoManageService_g.validate.jobCode( | |
| 1187 | - {"jobCode_eq": modelValue, "companyCode_eq": rv1_attr, type: "equale"}, | |
| 1188 | - function(result) { | |
| 1189 | - //console.log(result); | |
| 1190 | - if (result.status == "SUCCESS") { | |
| 1309 | + employeeInfoManageService_g.validate.jobCode( | |
| 1310 | + {"jobCode_eq": modelValue, "companyCode_eq": rv1_attr, type: "equale"}, | |
| 1311 | + function(result) { | |
| 1312 | + //console.log(result); | |
| 1313 | + if (result.status == "SUCCESS") { | |
| 1314 | + ngModelCtrl.$setValidity('remote', true); | |
| 1315 | + } else { | |
| 1316 | + ngModelCtrl.$setValidity('remote', false); | |
| 1317 | + } | |
| 1318 | + }, | |
| 1319 | + function(result) { | |
| 1320 | + //console.log(result); | |
| 1191 | 1321 | ngModelCtrl.$setValidity('remote', true); |
| 1192 | - } else { | |
| 1193 | - ngModelCtrl.$setValidity('remote', false); | |
| 1194 | 1322 | } |
| 1195 | - }, | |
| 1196 | - function(result) { | |
| 1197 | - //console.log(result); | |
| 1198 | - ngModelCtrl.$setValidity('remote', true); | |
| 1199 | - } | |
| 1200 | - ); | |
| 1323 | + ); | |
| 1324 | + } | |
| 1325 | + | |
| 1201 | 1326 | }); |
| 1202 | 1327 | }); |
| 1203 | 1328 | } |
| ... | ... | @@ -1205,11 +1330,236 @@ angular.module('ScheduleApp').directive("remoteValidaton", [ |
| 1205 | 1330 | }]); |
| 1206 | 1331 | |
| 1207 | 1332 | |
| 1333 | +/** | |
| 1334 | + * saSelect2指令,根据属性值,动态载入数据,然后支持拼音搜索,点击右边的按钮清除选择并重新载入数据。 | |
| 1335 | + * 1、compile阶段使用的属性如下: | |
| 1336 | + * required:用于和表单验证连接,指定成required="true"才有效。 | |
| 1337 | + * 2、link阶段使用的属性如下 | |
| 1338 | + * model:关联的模型对象 | |
| 1339 | + * name:表单验证时需要的名字 | |
| 1340 | + * type:关联的那种数据值(xl/cl/ry)-> 对应线路信息/车辆信息/人员信息,后面有的继续加 | |
| 1341 | + * modelcolname1:关联的模型字段名字1(一般应该是编码字段) | |
| 1342 | + * modelcolname2:关联的模型字段名字2(一般应该是名字字段) | |
| 1343 | + * datacolname1;内部数据对应的字段名字1(与模型字段1对应) | |
| 1344 | + * datacolname2:内部数据对应的字段名字2(与模型字段2对应) | |
| 1345 | + * showcolname:下拉框显示的内部数据字段名(注意:不是模型数据字段名),TODO:以后考虑放动态表达式,并在compile阶段使用 | |
| 1346 | + * placeholder:select placeholder字符串描述 | |
| 1347 | + * | |
| 1348 | + * $$pyFilter,内部的filter指令,结合简拼音进行拼音过滤。 | |
| 1349 | + * $$SearchInfoService_g,内部使用的数据服务 | |
| 1350 | + */ | |
| 1351 | +// saSelect2指令使用的内部信service | |
| 1352 | +angular.module('ScheduleApp').factory('$$SearchInfoService_g', ['$resource', function($resource) { | |
| 1353 | + return { | |
| 1354 | + xl: $resource( | |
| 1355 | + '/line/:type', | |
| 1356 | + {order: 'name', direction: 'ASC'}, | |
| 1357 | + { | |
| 1358 | + list: { | |
| 1359 | + method: 'GET', | |
| 1360 | + isArray: true | |
| 1361 | + } | |
| 1362 | + } | |
| 1363 | + ), | |
| 1364 | + ry: $resource( | |
| 1365 | + '/personnel/:type', | |
| 1366 | + {order: 'personnelName', direction: 'ASC'}, | |
| 1367 | + { | |
| 1368 | + list: { | |
| 1369 | + method: 'GET', | |
| 1370 | + isArray: true | |
| 1371 | + } | |
| 1372 | + } | |
| 1373 | + ), | |
| 1374 | + cl: $resource( | |
| 1375 | + '/cars/:type', | |
| 1376 | + {order: "insideCode", direction: 'ASC'}, | |
| 1377 | + { | |
| 1378 | + list: { | |
| 1379 | + method: 'GET', | |
| 1380 | + isArray: true | |
| 1381 | + } | |
| 1382 | + } | |
| 1383 | + ) | |
| 1384 | + } | |
| 1385 | +}]); | |
| 1386 | +angular.module('ScheduleApp').filter("$$pyFilter", function() { | |
| 1387 | + return function(items, props) { | |
| 1388 | + var out = []; | |
| 1389 | + var limit = props["limit"] || 20; // 默认20条记录 | |
| 1390 | + | |
| 1391 | + if (angular.isArray(items)) { | |
| 1392 | + items.forEach(function(item) { | |
| 1393 | + if (out.length < limit) { | |
| 1394 | + if (props.search) { | |
| 1395 | + var upTerm = props.search.toUpperCase(); | |
| 1396 | + if(item.fullChars.indexOf(upTerm) != -1 | |
| 1397 | + || item.camelChars.indexOf(upTerm) != -1) { | |
| 1398 | + out.push(item); | |
| 1399 | + } | |
| 1400 | + } | |
| 1401 | + } | |
| 1402 | + }); | |
| 1403 | + } | |
| 1404 | + | |
| 1405 | + return out; | |
| 1406 | + }; | |
| 1407 | +}); | |
| 1408 | +angular.module('ScheduleApp').directive("saSelect2", [ | |
| 1409 | + '$timeout', '$$SearchInfoService_g', | |
| 1410 | + function($timeout, $$searchInfoService_g) { | |
| 1411 | + return { | |
| 1412 | + restrict: 'E', | |
| 1413 | + templateUrl: '/pages/scheduleApp/module/other/MySearchSelectTemplate.html', | |
| 1414 | + scope: { | |
| 1415 | + model: "=" // 独立作用域,关联外部的模型对象 | |
| 1416 | + }, | |
| 1417 | + controllerAs: "$saSelectCtrl", | |
| 1418 | + bindToController: true, | |
| 1419 | + controller: function($scope) { | |
| 1420 | + var self = this; | |
| 1421 | + self.$$data = []; // 内部关联的数据 | |
| 1422 | + }, | |
| 1423 | + /** | |
| 1424 | + * 此阶段可以改dom结构,此时angular还没扫描指令, | |
| 1425 | + * 这里就可以动态添加其他angularjs的指令字符串,如required指令字符串。 | |
| 1426 | + * @param tElem | |
| 1427 | + * @param tAttrs | |
| 1428 | + * @returns {{pre: Function, post: Function}} | |
| 1429 | + */ | |
| 1430 | + compile: function(tElem, tAttrs) { | |
| 1431 | + // 1、获取此阶段使用的属性 | |
| 1432 | + var $required_attr = tAttrs["required"]; // 用于和表单验证连接,指定成required="true"才有效。 | |
| 1433 | + | |
| 1434 | + // 2、处理属性 | |
| 1435 | + | |
| 1436 | + // 确定是否使用angularjs required验证 | |
| 1437 | + // 属性 required | |
| 1438 | + // 如果没有填写,内部不添加验证,如果填写了,并且等于true添加验证,否则不添加 | |
| 1439 | + if ($required_attr) { | |
| 1440 | + if ($required_attr == "true") { | |
| 1441 | + // 添加required属性指令 | |
| 1442 | + tElem.find("ui-select").attr("required", ""); | |
| 1443 | + } else { | |
| 1444 | + // 不等于true,不添加required属性指令 | |
| 1445 | + } | |
| 1446 | + } else { | |
| 1447 | + // 不添加required属性指令 | |
| 1448 | + } | |
| 1208 | 1449 | |
| 1450 | + //console.log("saSelect" + ":compile = >" + tElem.html()); | |
| 1451 | + | |
| 1452 | + return { | |
| 1453 | + pre: function(scope, element, attr) { | |
| 1454 | + // TODO: | |
| 1455 | + }, | |
| 1456 | + /** | |
| 1457 | + * 相当于link函数。 | |
| 1458 | + * | |
| 1459 | + * 重要属性如下: | |
| 1460 | + * model 是绑定外部值。 | |
| 1461 | + * dicgroup 字典组的类型 | |
| 1462 | + * name input name属性值 | |
| 1463 | + */ | |
| 1464 | + post: function(scope, element, attr) { | |
| 1465 | + // 1、获取此阶段使用的属性 | |
| 1466 | + var $name_attr = attr["name"]; // 表单验证时需要的名字 | |
| 1467 | + var $type_attr = attr["type"]; // 关联的那种数据值(xl/cl/ry)-> 对应线路信息/车辆信息/人员信息,后面有的继续加 | |
| 1468 | + var $modelcolname1_attr = attr["modelcolname1"]; // 关联的模型字段名字1(一般应该是编码字段) | |
| 1469 | + var $modelcolname2_attr = attr["modelcolname2"]; // 关联的模型字段名字2(一般应该是名字字段) | |
| 1470 | + var $datacolname1_attr = attr["datacolname1"]; // 内部数据对应的字段名字1(与模型字段1对应) | |
| 1471 | + var $datacolname2_attr = attr["datacolname2"]; // 内部数据对应的字段名字2(与模型字段2对应) | |
| 1472 | + var $showcolname_attr = attr["showcolname"]; // 下拉框显示的内部数据字段名 | |
| 1473 | + var $placeholder_attr = attr["placeholder"]; // select placeholder字符串描述 | |
| 1474 | + | |
| 1475 | + // 2、处理属性、转换成$saSelectCtrl内部使用的属性 | |
| 1476 | + if ($name_attr) { | |
| 1477 | + scope["$saSelectCtrl"].$name_attr = $name_attr; | |
| 1478 | + } | |
| 1479 | + if ($placeholder_attr) { | |
| 1480 | + scope["$saSelectCtrl"].$placeholder_attr = $placeholder_attr; | |
| 1481 | + } | |
| 1482 | + if ($showcolname_attr) { | |
| 1483 | + scope["$saSelectCtrl"].$showcolname_attr = $showcolname_attr; | |
| 1484 | + } | |
| 1485 | + | |
| 1486 | + // 2-1、添加内部方法,根据type值,改变$$data的值 | |
| 1487 | + scope["$saSelectCtrl"].$$internal_data_change_fn = function() { | |
| 1488 | + // 根据type属性动态载入数据 | |
| 1489 | + if ($type_attr) { | |
| 1490 | + $$searchInfoService_g[$type_attr].list( | |
| 1491 | + {type: "all"}, | |
| 1492 | + function(result) { | |
| 1493 | + scope["$saSelectCtrl"].$$data = []; | |
| 1494 | + for (var i = 0; i < result.length; i ++) { | |
| 1495 | + var data = {}; // data是result的一部分属性集合,根据配置来确定 | |
| 1496 | + if ($datacolname1_attr) { | |
| 1497 | + data[$datacolname1_attr] = result[i][$datacolname1_attr]; | |
| 1498 | + } | |
| 1499 | + if ($datacolname2_attr) { | |
| 1500 | + data[$datacolname2_attr] = result[i][$datacolname2_attr]; | |
| 1501 | + } | |
| 1502 | + if ($showcolname_attr) { | |
| 1503 | + // 动态添加基于名字的拼音 | |
| 1504 | + data[$showcolname_attr] = result[i][$showcolname_attr]; | |
| 1505 | + if (data[$showcolname_attr]) { | |
| 1506 | + data["fullChars"] = pinyin.getFullChars(result[i][$showcolname_attr]).toUpperCase(); // 全拼 | |
| 1507 | + data["camelChars"] = pinyin.getCamelChars(result[i][$showcolname_attr]); // 简拼 | |
| 1508 | + } | |
| 1509 | + } | |
| 1510 | + if (data["fullChars"]) | |
| 1511 | + scope["$saSelectCtrl"].$$data.push(data); | |
| 1512 | + } | |
| 1513 | + }, | |
| 1514 | + function(result) { | |
| 1209 | 1515 | |
| 1516 | + } | |
| 1517 | + ); | |
| 1518 | + } | |
| 1519 | + }; | |
| 1210 | 1520 | |
| 1521 | + // 3、选择、删除事件映射模型和内部数据对应的字段 | |
| 1522 | + scope["$saSelectCtrl"].$select_fn_attr = function($item) { | |
| 1523 | + if ($modelcolname1_attr && $datacolname1_attr) { | |
| 1524 | + scope["$saSelectCtrl"].model[$modelcolname1_attr] = $item[$datacolname1_attr]; | |
| 1525 | + } | |
| 1526 | + if ($modelcolname2_attr && $datacolname2_attr) { | |
| 1527 | + scope["$saSelectCtrl"].model[$modelcolname2_attr] = $item[$datacolname2_attr]; | |
| 1528 | + } | |
| 1529 | + }; | |
| 1530 | + scope["$saSelectCtrl"].$remove_fn_attr = function() { | |
| 1531 | + if ($modelcolname1_attr) { | |
| 1532 | + scope["$saSelectCtrl"].model[$modelcolname1_attr] = null; | |
| 1533 | + } | |
| 1534 | + if ($modelcolname2_attr) { | |
| 1535 | + scope["$saSelectCtrl"].model[$modelcolname2_attr] = null; | |
| 1536 | + } | |
| 1537 | + scope["$saSelectCtrl"].$$cmodel = null; // 内部模型清空 | |
| 1211 | 1538 | |
| 1539 | + scope["$saSelectCtrl"].$$internal_data_change_fn(); | |
| 1540 | + }; | |
| 1212 | 1541 | |
| 1542 | + // 4、搜索事件 | |
| 1543 | + scope["$saSelectCtrl"].$refreshdata_fn_attr = function($search) { | |
| 1544 | + //var fullChars = pinyin.getFullChars($search).toUpperCase(); | |
| 1545 | + //var camelChars = pinyin.getCamelChars($search); | |
| 1546 | + // | |
| 1547 | + //console.log(fullChars + " " + camelChars); | |
| 1548 | + // TODO:事件暂时没用,放着以后再说 | |
| 1549 | + }; | |
| 1550 | + | |
| 1551 | + // 5、全部载入后,输入的 | |
| 1552 | + $timeout(function() { | |
| 1553 | + // 创建内部使用的绑定对象,用于确认选中那个值 | |
| 1554 | + scope["$saSelectCtrl"].$$cmodel = scope["$saSelectCtrl"].model[$modelcolname1_attr]; | |
| 1555 | + | |
| 1556 | + scope["$saSelectCtrl"].$$internal_data_change_fn(); | |
| 1557 | + }, 0); | |
| 1558 | + } | |
| 1559 | + } | |
| 1560 | + } | |
| 1561 | + }; | |
| 1562 | +}]); | |
| 1213 | 1563 | |
| 1214 | 1564 | |
| 1215 | 1565 | ... | ... |
src/main/resources/static/pages/scheduleApp/module/other/MySearchSelectTemplate.html
0 → 100644
| 1 | + | |
| 2 | +<div class="input-group"> | |
| 3 | + <ui-select ng-model="$saSelectCtrl.$$cmodel" on-select="$saSelectCtrl.$select_fn_attr($item)" | |
| 4 | + theme="bootstrap" name="{{$saSelectCtrl.$name_attr}}" > | |
| 5 | + <ui-select-match placeholder="{{$saSelectCtrl.$placeholder_attr}}"> | |
| 6 | + <span>{{$select.selected[$saSelectCtrl.$showcolname_attr]}}</span> | |
| 7 | + </ui-select-match> | |
| 8 | + <ui-select-choices repeat="item[$saSelectCtrl.$showcolname_attr] as item in $saSelectCtrl.$$data | $$pyFilter: {search : $select.search, limit : 10}" | |
| 9 | + refresh="$saSelectCtrl.$refreshdata_fn_attr($select.search)" | |
| 10 | + refresh-delay="1000"> | |
| 11 | + <span ng-bind="item[$saSelectCtrl.$showcolname_attr]"></span> | |
| 12 | + </ui-select-choices> | |
| 13 | + </ui-select> | |
| 14 | + <span class="input-group-btn"> | |
| 15 | + <button type="button" ng-click="$saSelectCtrl.$remove_fn_attr()" class="btn btn-default"> | |
| 16 | + <span class="glyphicon glyphicon-trash"></span> | |
| 17 | + </button> | |
| 18 | + </span> | |
| 19 | +</div> | ... | ... |
src/main/resources/static/pages/trafficManage/css/autocompleter.css
0 → 100644
| 1 | +/** | |
| 2 | + * Simplecomplete | |
| 3 | + */ | |
| 4 | + | |
| 5 | +.autocompleter { | |
| 6 | + width: 20%; | |
| 7 | + background: #ffffff; | |
| 8 | + position: relative; | |
| 9 | + z-index: 100; | |
| 10 | +} | |
| 11 | + | |
| 12 | +.autocompleter, | |
| 13 | +.autocompleter-hint { | |
| 14 | + position: absolute; | |
| 15 | +} | |
| 16 | + | |
| 17 | +.autocompleter-list { | |
| 18 | + box-shadow: inset 0px 0px 6px rgba(0,0,0,0.1); | |
| 19 | + list-style: none; | |
| 20 | + margin: 0; | |
| 21 | + padding: 0; | |
| 22 | + text-align: left; | |
| 23 | +} | |
| 24 | + | |
| 25 | +.autocompleter-item-selected { | |
| 26 | + background: #ffffff; | |
| 27 | +} | |
| 28 | + | |
| 29 | +.autocompleter-item { | |
| 30 | + padding: 6px 12px; | |
| 31 | + color: #444444; | |
| 32 | + font-size: 14px; | |
| 33 | + cursor: pointer; | |
| 34 | +} | |
| 35 | + | |
| 36 | +.autocompleter-item:hover { | |
| 37 | + background: #ddd; | |
| 38 | +} | |
| 39 | + | |
| 40 | +.autocompleter-item strong { | |
| 41 | + background: #f9de8f; | |
| 42 | + text-shadow: 0 1px 0 #ffffff; | |
| 43 | +} | |
| 44 | + | |
| 45 | +.autocompleter-item span { | |
| 46 | + color: #bbbbbb; | |
| 47 | +} | |
| 48 | + | |
| 49 | +.autocompleter-hint { | |
| 50 | + color: #ccc; | |
| 51 | + text-align: left; | |
| 52 | + top: -56px; | |
| 53 | + font-weight: 400; | |
| 54 | + left: 0; | |
| 55 | + width: 100%; | |
| 56 | + padding: 12px 12px 12px 13px; | |
| 57 | + font-size: 24px; | |
| 58 | + display: none; | |
| 59 | +} | |
| 60 | + | |
| 61 | +.autocompleter-hint span { | |
| 62 | + color: transparent; | |
| 63 | +} | |
| 64 | + | |
| 65 | + | |
| 66 | +.autocompleter-closed { | |
| 67 | + display: none; | |
| 68 | +} | ... | ... |
src/main/resources/static/pages/trafficManage/css/trafficManage.css
0 → 100644
| 1 | + | |
| 2 | +.tab_line{ | |
| 3 | + background-color: #ffffff; | |
| 4 | + height: 800px; | |
| 5 | + padding-left: 3px; | |
| 6 | + padding-right: 3px; | |
| 7 | +} | |
| 8 | +.tab_line .breadcrumb{ | |
| 9 | + color: #3f444a; | |
| 10 | + padding-top:10px; | |
| 11 | +} | |
| 12 | +.tab_line .panel-wrap{ | |
| 13 | + height: 100%; | |
| 14 | + padding-left: 3px; | |
| 15 | + padding-right: 3px; | |
| 16 | +} | |
| 17 | + | |
| 18 | +.tab_line .panel-wrap ._panel{ | |
| 19 | + border: 1px solid #ddd; | |
| 20 | + box-shadow: 0 2px 5px 0 rgba(221, 221, 221, 0.32),0 2px 10px 0 rgba(221, 221, 221, 0.32); | |
| 21 | + width: 100%; | |
| 22 | + height: 100%; | |
| 23 | + position: relative; | |
| 24 | + /* overflow: auto; */ | |
| 25 | +} | |
| 26 | +.tab_line .panel-wrap ._panel ._head{ | |
| 27 | + height: 42px; | |
| 28 | + line-height: 42px; | |
| 29 | + padding-left: 15px; | |
| 30 | + font-size: 16px; | |
| 31 | + font-family: 微软雅黑; | |
| 32 | +} | |
| 33 | +.table-striped>tbody>tr:nth-of-type(even) { | |
| 34 | + background-color: #eee; | |
| 35 | +} | |
| 36 | + | |
| 37 | +.breadcruma { | |
| 38 | + margin:0 auto; | |
| 39 | +} | |
| 40 | + | |
| 41 | +.breadcruma li { | |
| 42 | + text-align:center; | |
| 43 | + margin:0 auto; | |
| 44 | + list-style-type:none; | |
| 45 | +} | |
| 46 | +.divVerHorCenter{ | |
| 47 | + line-height: 3; | |
| 48 | + position: absolute; | |
| 49 | + padding-left: initial; | |
| 50 | + top: 50%; | |
| 51 | + left: 50%; | |
| 52 | + width:50%; | |
| 53 | + -webkit-transform: translateX(-50%) translateY(-50%); | |
| 54 | +} | |
| 0 | 55 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/trafficManage/js/lineStationUpload.js
0 → 100644
| 1 | +/** | |
| 2 | + * | |
| 3 | + * @JSName : common.js(运管功能公共js) | |
| 4 | + * | |
| 5 | + * @Author : bsth@lq | |
| 6 | + * | |
| 7 | + * @Description : TODO(运管功能公共js) | |
| 8 | + * | |
| 9 | + * @Data : 2016年6月29日 上午9:21:17 | |
| 10 | + * | |
| 11 | + * @Version 公交调度系统BS版 0.1 | |
| 12 | + * | |
| 13 | + */ | |
| 14 | + | |
| 15 | +(function(){ | |
| 16 | + /** | |
| 17 | + * 取得编码-公司map | |
| 18 | + * gsmap["5"] = 南汇公司 | |
| 19 | + * gsmap["5_3"] = 芦潮港分公司 | |
| 20 | + */ | |
| 21 | + function getBusMap(){ | |
| 22 | + // 取得公司信息,替换公司编码 | |
| 23 | + var gsmap = {}; | |
| 24 | + $get('/business/all', null, function(array){ | |
| 25 | + $.each(array, function(i, gs){ | |
| 26 | + var k = gs.upCode + '_' + gs.businessCode; | |
| 27 | + if(gs.upCode === '88'){ | |
| 28 | + k = gs.businessCode; | |
| 29 | + } | |
| 30 | + gsmap[k] = gs.businessName; | |
| 31 | + }); | |
| 32 | + }); | |
| 33 | + return gsmap; | |
| 34 | + } | |
| 35 | + // 填充公司下拉框选择值 | |
| 36 | + $get('/business/all', {upCode_eq: '88'}, function(array){ | |
| 37 | + | |
| 38 | + // 公司下拉options属性值 | |
| 39 | + var options = '<option value="">请选择...</option>'; | |
| 40 | + | |
| 41 | + // 遍历array | |
| 42 | + $.each(array, function(i,d){ | |
| 43 | + | |
| 44 | + options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>'; | |
| 45 | + | |
| 46 | + }); | |
| 47 | + | |
| 48 | + // 填充公司下拉框options,并添加公司下拉框值改变事件setbrancheCompanySelectOptions | |
| 49 | + $('#companySelect').html(options).on('change', setbrancheCompanySelectOptions); | |
| 50 | + | |
| 51 | + }); | |
| 52 | + | |
| 53 | + // 填充分公司下拉框选择值 | |
| 54 | + function setbrancheCompanySelectOptions(){ | |
| 55 | + | |
| 56 | + // 获取公司下拉框选择值 | |
| 57 | + var businessCode = $('#companySelect').val(); | |
| 58 | + | |
| 59 | + // 分公司下拉框options属性值 | |
| 60 | + var options = '<option value="">请选择...</option>'; | |
| 61 | + | |
| 62 | + // 如果公司选择为空则分公司为空 ; 否则查询出所属公司下的分公司名称和相应分公司代码 | |
| 63 | + if(businessCode == null || businessCode ==''){ | |
| 64 | + | |
| 65 | + // 填充分公司下拉框options | |
| 66 | + $('#brancheCompanySelect').html(options); | |
| 67 | + | |
| 68 | + } else { | |
| 69 | + | |
| 70 | + // 查询出所属公司下的分公司名称和相应分公司代码 | |
| 71 | + $get('/business/all', {upCode_eq: businessCode}, function(array){ | |
| 72 | + | |
| 73 | + // 遍历array | |
| 74 | + $.each(array, function(i,d){ | |
| 75 | + | |
| 76 | + options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>'; | |
| 77 | + | |
| 78 | + // 填充分公司下拉框options | |
| 79 | + $('#brancheCompanySelect').html(options); | |
| 80 | + | |
| 81 | + }); | |
| 82 | + }); | |
| 83 | + | |
| 84 | + // 填充公司下拉框options,并添加公司下拉框值改变事件setbrancheCompanySelectOptions | |
| 85 | + $('#brancheCompanySelect').html(options).on('change', setLineAutocompleteOptions); | |
| 86 | + } | |
| 87 | + } | |
| 88 | + | |
| 89 | + function setLineAutocompleteOptions(){ | |
| 90 | + // 搜索参数集合 | |
| 91 | + var params = {}; | |
| 92 | + // 搜索字段名称 | |
| 93 | + var name; | |
| 94 | + var items = $("ul.breadcrumb select"); | |
| 95 | + // 遍历items集合 | |
| 96 | + for(var j = 0, item; item = items[j++];){ | |
| 97 | + // 获取字段名称 | |
| 98 | + name = $(item).attr('name'); | |
| 99 | + if(name){ | |
| 100 | + // 赋取相对应的值 | |
| 101 | + params[name] = $(item).val(); | |
| 102 | + } | |
| 103 | + } | |
| 104 | + var lines = new Array(); | |
| 105 | + var gsmap = getBusMap(); | |
| 106 | + // 取得所有线路 | |
| 107 | + $get('/line/all', params, function(allLine) { | |
| 108 | + // 遍历数组 | |
| 109 | + $.each(allLine, function(i, e) { | |
| 110 | + var companyCode = e.company; | |
| 111 | + e.company = gsmap[e.company]; | |
| 112 | + e.brancheCompany = gsmap[companyCode+"_"+e.brancheCompany]; | |
| 113 | + var line = '{"hex":"'+e.company+'","label":"'+e.name+'"}'; | |
| 114 | + var obj = jQuery.parseJSON(line); | |
| 115 | + lines[i]= obj; | |
| 116 | + }); | |
| 117 | + | |
| 118 | + | |
| 119 | + }); | |
| 120 | + // 给输入框绑定autocomplete事件 | |
| 121 | + $("input[name='name_eq']").autocompleter({ | |
| 122 | + highlightMatches: true, | |
| 123 | + source: lines, | |
| 124 | + template: '{{ label }} <span>({{ hex }})</span>', | |
| 125 | + hint: true, | |
| 126 | + empty: false, | |
| 127 | + limit: 5, | |
| 128 | + }); | |
| 129 | + } | |
| 130 | + | |
| 131 | + | |
| 132 | + // 设置autocompleter的宽度和输入框一样 | |
| 133 | + $(".autocompleter").css("width",$("input[name='name_eq']").css("width")) | |
| 134 | + // 绑定查询事件 | |
| 135 | + $("#search").click(searchM); | |
| 136 | + // 绑定上传事件 | |
| 137 | + $("#upload").click(uploadM); | |
| 138 | + // 绑定全部移到右边事件 | |
| 139 | + $("#to_right").click(function(){ | |
| 140 | + $("#left_div tbody tr:not(.muted)").click(); | |
| 141 | + }); | |
| 142 | + // 绑定全部移到左边事件 | |
| 143 | + $("#to_left").click(function(){ | |
| 144 | + $("#right_div tbody tr:not(.muted)").click(); | |
| 145 | + }); | |
| 146 | + // 查询方法 | |
| 147 | + function searchM() { | |
| 148 | + // 清空已选定列表 | |
| 149 | + $("#right_div table tbody").empty(); | |
| 150 | + var params = {}; | |
| 151 | + // 取得输入框的值 | |
| 152 | + var inputs = $("ul.breadcrumb input"); | |
| 153 | + // 遍历数组 | |
| 154 | + $.each(inputs, function(i, element) { | |
| 155 | + params[$(element).attr("name")] = $(element).val(); | |
| 156 | + }); | |
| 157 | + var i = layer.load(2); | |
| 158 | + $get('/line', params, function(data) { | |
| 159 | + var bodyHtm = template('lineStation_list_temp', { | |
| 160 | + list : data.content | |
| 161 | + }); | |
| 162 | + $("#left_div table tbody").empty(); | |
| 163 | + $("#left_div table tbody").append(bodyHtm); | |
| 164 | + $("#left_div tbody tr:not(.muted)").click(_click); | |
| 165 | + layer.close(i); | |
| 166 | + }); | |
| 167 | + } | |
| 168 | + | |
| 169 | + // 上传方法 | |
| 170 | + function uploadM() { | |
| 171 | + var params = {}; | |
| 172 | + // 取得输入框的值 | |
| 173 | + var trs = $("#right_div tbody tr"); | |
| 174 | + if (trs.length == 0) { | |
| 175 | + alert("请选择模板"); | |
| 176 | + return; | |
| 177 | + } | |
| 178 | + // 遍历数组 | |
| 179 | + $.each(trs, function(i, element) { | |
| 180 | + alert($(".ttInfoId", element).html()); | |
| 181 | + }); | |
| 182 | + } | |
| 183 | + | |
| 184 | + // 表格行的单击事件 | |
| 185 | + function _click() { | |
| 186 | + var tmpTr = $(this).clone(); | |
| 187 | + tmpTr.unbind("click").click(_click); | |
| 188 | + // 判断父DIV的ID | |
| 189 | + if ($(this).closest(".table-container").attr("id") == "left_div") { | |
| 190 | + // 把要移动行的class=".seq"的HTML的内容设成另一分类的最后一个序号 | |
| 191 | + $(".seq",tmpTr).html($("#right_div tbody tr:not(.muted)").length + 1); | |
| 192 | + $("#right_div tbody").append(tmpTr); | |
| 193 | + nextAllChildSeqMinusOne($(this)); | |
| 194 | + } else { | |
| 195 | + // 把要移动行的class=".seq"的HTML的内容设成另一分类的最后一个序号 | |
| 196 | + $(".seq",tmpTr).html($("#left_div tbody tr:not(.muted)").length + 1); | |
| 197 | + $("#left_div tbody").append(tmpTr); | |
| 198 | + nextAllChildSeqMinusOne($(this)); | |
| 199 | + } | |
| 200 | + $(this).remove(); | |
| 201 | + } | |
| 202 | + | |
| 203 | + // 后面所有兄弟节点的中class=".seq"的HTML的内容自减 1 | |
| 204 | + function nextAllChildSeqMinusOne(theElement){ | |
| 205 | + $.each(theElement.nextAll(),function(i,e){ | |
| 206 | + $(".seq",e).html($(".seq",e).html() - 1); | |
| 207 | + }); | |
| 208 | + } | |
| 209 | + // 保存左边空表格 | |
| 210 | + var leftDivTemplate = $("#left_div table").clone(true); | |
| 211 | + // 把左边表格的格式复制到右边 | |
| 212 | + $("#right_div").append(leftDivTemplate); | |
| 213 | + | |
| 214 | +})(); | |
| 0 | 215 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/trafficManage/js/shLineCodeList.js
0 → 100644
| 1 | +/** | |
| 2 | + * | |
| 3 | + * @JSName : common.js(运管功能公共js) | |
| 4 | + * | |
| 5 | + * @Author : bsth@lq | |
| 6 | + * | |
| 7 | + * @Description : TODO(运管功能公共js) | |
| 8 | + * | |
| 9 | + * @Data : 2016年6月29日 上午9:21:17 | |
| 10 | + * | |
| 11 | + * @Version 公交调度系统BS版 0.1 | |
| 12 | + * | |
| 13 | + */ | |
| 14 | + | |
| 15 | +(function(){ | |
| 16 | + /** | |
| 17 | + * 取得编码-公司map | |
| 18 | + * gsmap["5"] = 南汇公司 | |
| 19 | + * gsmap["5_3"] = 芦潮港分公司 | |
| 20 | + */ | |
| 21 | + function getBusMap(){ | |
| 22 | + // 取得公司信息,替换公司编码 | |
| 23 | + var gsmap = {}; | |
| 24 | + $get('/business/all', null, function(array){ | |
| 25 | + $.each(array, function(i, gs){ | |
| 26 | + var k = gs.upCode + '_' + gs.businessCode; | |
| 27 | + if(gs.upCode === '88'){ | |
| 28 | + k = gs.businessCode; | |
| 29 | + } | |
| 30 | + gsmap[k] = gs.businessName; | |
| 31 | + }); | |
| 32 | + }); | |
| 33 | + return gsmap; | |
| 34 | + } | |
| 35 | + var lines = new Array(); | |
| 36 | + var gsmap = getBusMap(); | |
| 37 | + // 取得所有线路 | |
| 38 | + $get('/line/all', null, function(allLine) { | |
| 39 | + // 遍历数组 | |
| 40 | + $.each(allLine, function(i, e) { | |
| 41 | + var companyCode = e.company; | |
| 42 | + e.company = gsmap[e.company]; | |
| 43 | + e.brancheCompany = gsmap[companyCode+"_"+e.brancheCompany]; | |
| 44 | + var line = '{"hex":"' + e.company + '","label":"' + e.name | |
| 45 | + + '"}'; | |
| 46 | + var obj = jQuery.parseJSON(line); | |
| 47 | + lines[i] = obj; | |
| 48 | + }); | |
| 49 | + }); | |
| 50 | + // 给输入框绑定autocomplete事件 | |
| 51 | + $("input[name='name_like']").autocompleter({ | |
| 52 | + highlightMatches : true, | |
| 53 | + source : lines, | |
| 54 | + template : '{{ label }} <span>({{ hex }})</span>', | |
| 55 | + hint : true, | |
| 56 | + empty : false, | |
| 57 | + limit : 5, | |
| 58 | + }); | |
| 59 | + // 设置autocompleter的宽度和输入框一样 | |
| 60 | + $(".autocompleter").css("width", | |
| 61 | + $("input[name='name_like']").css("width")) | |
| 62 | + /** | |
| 63 | + * -----page : 当前页 | |
| 64 | + * | |
| 65 | + * -----initPag : | |
| 66 | + * | |
| 67 | + */ | |
| 68 | + var page = 0,initPag; | |
| 69 | + // 绑定查询事件 | |
| 70 | + $("#search").click(searchM); | |
| 71 | + // 查询方法 | |
| 72 | + function searchM() { | |
| 73 | + // 搜索参数集合 | |
| 74 | + var params = {}; | |
| 75 | + // 取得输入框的值 | |
| 76 | + var inputs = $("ul.breadcrumb input"); | |
| 77 | + // 遍历数组 | |
| 78 | + $.each(inputs, function(i, element) { | |
| 79 | + params[$(element).attr("name")] = $(element).val(); | |
| 80 | + }); | |
| 81 | + page = 0; | |
| 82 | + | |
| 83 | + loadTableDate(params,true); | |
| 84 | + } | |
| 85 | + | |
| 86 | + /** | |
| 87 | + * 表格数据分页加载事件 | |
| 88 | + * | |
| 89 | + * ------@param : 查询参数 | |
| 90 | + * | |
| 91 | + * ------@isPon : 是否重新分页 | |
| 92 | + * | |
| 93 | + */ | |
| 94 | + function loadTableDate(param,isPon){ | |
| 95 | + // 搜索参数 | |
| 96 | + var params = {}; | |
| 97 | + if(param) | |
| 98 | + params = param; | |
| 99 | + // 排序(按更新时间) | |
| 100 | + params['order'] = 'id'; | |
| 101 | + // 记录当前页数 | |
| 102 | + params['page'] = page; | |
| 103 | + // 弹出正在加载层 | |
| 104 | + var i = layer.load(2); | |
| 105 | + // 异步请求获取表格数据 | |
| 106 | + $.get('/line',params,function(result){ | |
| 107 | + // 遍历数组 | |
| 108 | + $.each(result.content, function(i, e) { | |
| 109 | + var companyCode = e.company; | |
| 110 | + e.company = gsmap[e.company]; | |
| 111 | + e.brancheCompany = gsmap[companyCode+"_"+e.brancheCompany]; | |
| 112 | + }); | |
| 113 | + // 把数据填充到模版中 | |
| 114 | + var tbodyHtml = template('shLineCode_list_temp',{list:result.content}); | |
| 115 | + // 把渲染好的模版html文本追加到表格中 | |
| 116 | + $('.table-container tbody').html(tbodyHtml); | |
| 117 | + // 是重新分页且返回数据长度大于0 | |
| 118 | + if(isPon && result.content.length > 0){ | |
| 119 | + // 重新分页 | |
| 120 | + initPag = true; | |
| 121 | + // 分页栏 | |
| 122 | + showPagination(result); | |
| 123 | + } | |
| 124 | + // 关闭弹出加载层 | |
| 125 | + layer.close(i); | |
| 126 | + }); | |
| 127 | + } | |
| 128 | + | |
| 129 | + /** | |
| 130 | + * 分页栏组件 | |
| 131 | + * | |
| 132 | + */ | |
| 133 | + function showPagination(data){ | |
| 134 | + // 分页组件 | |
| 135 | + $('#pagination').jqPaginator({ | |
| 136 | + // 总页数 | |
| 137 | + totalPages: data.totalPages, | |
| 138 | + // 中间显示页数 | |
| 139 | + visiblePages: 6, | |
| 140 | + // 当前页 | |
| 141 | + currentPage: page + 1, | |
| 142 | + first: '<li class="first"><a href="javascript:void(0);">首页<\/a><\/li>', | |
| 143 | + prev: '<li class="prev"><a href="javascript:void(0);">上一页<\/a><\/li>', | |
| 144 | + next: '<li class="next"><a href="javascript:void(0);">下一页<\/a><\/li>', | |
| 145 | + last: '<li class="last"><a href="javascript:void(0);">尾页<\/a><\/li>', | |
| 146 | + page: '<li class="page"><a href="javascript:void(0);">{{page}}<\/a><\/li>', | |
| 147 | + onPageChange: function (num, type) { | |
| 148 | + if(initPag){ | |
| 149 | + initPag = false; | |
| 150 | + return; | |
| 151 | + } | |
| 152 | + page = num - 1; | |
| 153 | + loadTableDate(null, false); | |
| 154 | + } | |
| 155 | + }); | |
| 156 | + } | |
| 157 | + | |
| 158 | +})(); | |
| 0 | 159 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/trafficManage/js/timeTempletUpload.js
0 → 100644
| 1 | +/** | |
| 2 | + * | |
| 3 | + * @JSName : common.js(运管功能公共js) | |
| 4 | + * | |
| 5 | + * @Author : bsth@lq | |
| 6 | + * | |
| 7 | + * @Description : TODO(运管功能公共js) | |
| 8 | + * | |
| 9 | + * @Data : 2016年6月29日 上午9:21:17 | |
| 10 | + * | |
| 11 | + * @Version 公交调度系统BS版 0.1 | |
| 12 | + * | |
| 13 | + */ | |
| 14 | + | |
| 15 | +(function(){ | |
| 16 | + /** | |
| 17 | + * 取得编码-公司map | |
| 18 | + * gsmap["5"] = 南汇公司 | |
| 19 | + * gsmap["5_3"] = 芦潮港分公司 | |
| 20 | + */ | |
| 21 | + function getBusMap(){ | |
| 22 | + // 取得公司信息,替换公司编码 | |
| 23 | + var gsmap = {}; | |
| 24 | + $get('/business/all', null, function(array){ | |
| 25 | + $.each(array, function(i, gs){ | |
| 26 | + var k = gs.upCode + '_' + gs.businessCode; | |
| 27 | + if(gs.upCode === '88'){ | |
| 28 | + k = gs.businessCode; | |
| 29 | + } | |
| 30 | + gsmap[k] = gs.businessName; | |
| 31 | + }); | |
| 32 | + }); | |
| 33 | + return gsmap; | |
| 34 | + } | |
| 35 | + var lines = new Array(); | |
| 36 | + var gsmap = getBusMap(); | |
| 37 | + console.log(gsmap); | |
| 38 | + // 取得所有线路 | |
| 39 | + $get('/line/all', null, function(allLine) { | |
| 40 | + // 遍历数组 | |
| 41 | + $.each(allLine, function(i, e) { | |
| 42 | + var companyCode = e.company; | |
| 43 | + e.company = gsmap[e.company]; | |
| 44 | + e.brancheCompany = gsmap[companyCode+"_"+e.brancheCompany]; | |
| 45 | + var line = '{"hex":"' + e.company + '","label":"' + e.name | |
| 46 | + + '"}'; | |
| 47 | + var obj = jQuery.parseJSON(line); | |
| 48 | + lines[i] = obj; | |
| 49 | + }); | |
| 50 | + }); | |
| 51 | + // 给输入框绑定autocomplete事件 | |
| 52 | + $("input[name='xl.name_eq']").autocompleter({ | |
| 53 | + highlightMatches : true, | |
| 54 | + source : lines, | |
| 55 | + template : '{{ label }} <span>({{ hex }})</span>', | |
| 56 | + hint : true, | |
| 57 | + empty : false, | |
| 58 | + limit : 5, | |
| 59 | + }); | |
| 60 | + // 设置autocompleter的宽度和输入框一样 | |
| 61 | + $(".autocompleter").css("width", | |
| 62 | + $("input[name='xl.name_eq']").css("width")) | |
| 63 | + // 绑定查询事件 | |
| 64 | + $("#search").click(searchM); | |
| 65 | + // 绑定上传事件 | |
| 66 | + $("#upload").click(uploadM); | |
| 67 | + // 绑定全部移到右边事件 | |
| 68 | + $("#to_right").click(function() { | |
| 69 | + $("#left_div tbody tr:not(.muted)").click(); | |
| 70 | + }); | |
| 71 | + // 绑定全部移到左边事件 | |
| 72 | + $("#to_left").click(function() { | |
| 73 | + $("#right_div tbody tr:not(.muted)").click(); | |
| 74 | + }); | |
| 75 | + // 查询方法 | |
| 76 | + function searchM() { | |
| 77 | + // 清空已选定列表 | |
| 78 | + $("#right_div table tbody").empty(); | |
| 79 | + var params = {}; | |
| 80 | + // 取得输入框的值 | |
| 81 | + var inputs = $("ul.breadcrumb input"); | |
| 82 | + // 遍历数组 | |
| 83 | + $.each(inputs, function(i, element) { | |
| 84 | + params[$(element).attr("name")] = $(element).val(); | |
| 85 | + }); | |
| 86 | + var i = layer.load(2); | |
| 87 | + $get('/spc', params, function(data) { | |
| 88 | + _dateFormat(data.content); | |
| 89 | + var bodyHtm = template('timeTemplet_list_temp', { | |
| 90 | + list : data.content | |
| 91 | + }); | |
| 92 | + $("#left_div table tbody").empty(); | |
| 93 | + $("#left_div table tbody").append(bodyHtm); | |
| 94 | + $("#left_div tbody tr:not(.muted)").click(_click); | |
| 95 | + layer.close(i); | |
| 96 | + }); | |
| 97 | + } | |
| 98 | + | |
| 99 | + // 上传方法 | |
| 100 | + function uploadM() { | |
| 101 | + var params = {}; | |
| 102 | + // 取得输入框的值 | |
| 103 | + var trs = $("#right_div tbody tr"); | |
| 104 | + if (trs.length == 0) { | |
| 105 | + alert("请选择模板"); | |
| 106 | + return; | |
| 107 | + } | |
| 108 | + // 遍历数组 | |
| 109 | + $.each(trs, function(i, element) { | |
| 110 | + alert($(".ttInfoId", element).html()); | |
| 111 | + }); | |
| 112 | + } | |
| 113 | + | |
| 114 | + // 表格行的单击事件 | |
| 115 | + function _click() { | |
| 116 | + var tmpTr = $(this).clone(); | |
| 117 | + tmpTr.unbind("click").click(_click); | |
| 118 | + // 判断父DIV的ID | |
| 119 | + if ($(this).closest(".table-container").attr("id") == "left_div") { | |
| 120 | + // 把要移动行的class=".seq"的HTML的内容设成另一分类的最后一个序号 | |
| 121 | + $(".seq", tmpTr).html( | |
| 122 | + $("#right_div tbody tr:not(.muted)").length + 1); | |
| 123 | + $("#right_div tbody").append(tmpTr); | |
| 124 | + nextAllChildSeqMinusOne($(this)); | |
| 125 | + } else { | |
| 126 | + // 把要移动行的class=".seq"的HTML的内容设成另一分类的最后一个序号 | |
| 127 | + $(".seq", tmpTr).html( | |
| 128 | + $("#left_div tbody tr:not(.muted)").length + 1); | |
| 129 | + $("#left_div tbody").append(tmpTr); | |
| 130 | + nextAllChildSeqMinusOne($(this)); | |
| 131 | + } | |
| 132 | + $(this).remove(); | |
| 133 | + } | |
| 134 | + | |
| 135 | + // 后面所有兄弟节点的中class=".seq"的HTML的内容自减 1 | |
| 136 | + function nextAllChildSeqMinusOne(theElement) { | |
| 137 | + $.each(theElement.nextAll(), function(i, e) { | |
| 138 | + $(".seq", e).html($(".seq", e).html() - 1); | |
| 139 | + }); | |
| 140 | + } | |
| 141 | + // 保存左边空表格 | |
| 142 | + var leftDivTemplate = $("#left_div table").clone(true); | |
| 143 | + // 把左边表格的格式复制到右边 | |
| 144 | + $("#right_div").append(leftDivTemplate); | |
| 145 | + //转换时间格式 | |
| 146 | + function _dateFormat(list) { | |
| 147 | + var fs = 'YYYY-MM-DD HH:mm'; | |
| 148 | + $.each(list, function(i, obj) { | |
| 149 | + obj.ttInfo.qyrq = moment(obj.ttInfo.qyrq).format(fs); | |
| 150 | + }); | |
| 151 | + } | |
| 152 | +})(); | |
| 0 | 153 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/trafficManage/lineStationUpload.html
0 → 100644
| 1 | +<link href="css/trafficManage.css" rel="stylesheet" type="text/css" /> | |
| 2 | +<link href="css/autocompleter.css" rel="stylesheet" type="text/css" /> | |
| 3 | +<ul class="page-breadcrumb breadcrumb"> | |
| 4 | + <li><a href="/pages/home.html" data-pjax>首页</a> <i class="fa fa-circle"></i></li> | |
| 5 | + <li><span class="active">运维管理</span> <i class="fa fa-circle"></i></li> | |
| 6 | + <li><span class="active">线路停靠站上传</span></li> | |
| 7 | +</ul> | |
| 8 | +<div class="tab_line"> | |
| 9 | + <div class="col-md-12"> | |
| 10 | + <ul class="breadcrumb"> | |
| 11 | + <li>公司:</li> | |
| 12 | + <li><select name="company_eq" class="form-control" id="companySelect"></select></li> | |
| 13 | + <li>分公司:</li> | |
| 14 | + <li><select name="brancheCompany_eq" class="form-control" id="brancheCompanySelect"></select></li> | |
| 15 | + <li>线路名称:</li> | |
| 16 | + <li><input type="text" class="form-control form-filter input-sm" | |
| 17 | + name="name_eq" placeholder="请输入线路名称" maxlength="40" /></li> | |
| 18 | + <li><a class="btn btn-circle blue" id="search">查询</a></li> | |
| 19 | + <li><a class="btn btn-circle red" id="upload">上传</a></li> | |
| 20 | + </ul> | |
| 21 | + </div> | |
| 22 | + <!-- Begin: left-div --> | |
| 23 | + <div class="col-md-5 panel-wrap" style="height: 60%;"> | |
| 24 | + <div class="_panel"> | |
| 25 | + <div class="_head" style="color: #2765A7;">待选上传站点线路列表</div> | |
| 26 | + <div class="table-container" id="left_div"> | |
| 27 | + <table | |
| 28 | + class="table table-striped table-bordered table-advance pb-table head"> | |
| 29 | + <thead> | |
| 30 | + <tr> | |
| 31 | + <th width="5%">#</th> | |
| 32 | + <th width="20%">线路编码</th> | |
| 33 | + <th width="15%">线路名称</th> | |
| 34 | + </tr> | |
| 35 | + </thead> | |
| 36 | + <tbody> | |
| 37 | + </tbody> | |
| 38 | + </table> | |
| 39 | + </div> | |
| 40 | + </div> | |
| 41 | + </div> | |
| 42 | + <div class="col-md-2" style="height: 60%;"> | |
| 43 | + <ul class="breadcruma divVerHorCenter"> | |
| 44 | + <li><a class="btn btn-circle blue btn-outline" id="to_right">>></a></li> | |
| 45 | + <li><a class="btn btn-circle blue btn-outline" id="to_left"><<</a></li> | |
| 46 | + </ul> | |
| 47 | + </div> | |
| 48 | + <!-- End: left-div --> | |
| 49 | + <!-- Begin: right-div --> | |
| 50 | + <div class="col-md-5 panel-wrap" style="height: 60%;"> | |
| 51 | + <div class="_panel"> | |
| 52 | + <div class="_head" style="color: #2765A7;">已选上传站点线路列表</div> | |
| 53 | + <div class="table-container" id="right_div"></div> | |
| 54 | + </div> | |
| 55 | + </div> | |
| 56 | + <!-- End: right-div --> | |
| 57 | +</div> | |
| 58 | +<script id="lineStation_list_temp" type="text/html"> | |
| 59 | +{{each list as obj i}} | |
| 60 | +<tr> | |
| 61 | + <td class="seq" style="vertical-align: middle;"> | |
| 62 | + {{i+1}} | |
| 63 | + </td> | |
| 64 | + <td> | |
| 65 | + {{obj.lineCode}} | |
| 66 | + </td> | |
| 67 | + <td class="ttInfoId"> | |
| 68 | + {{obj.name}} | |
| 69 | + </td> | |
| 70 | +</tr> | |
| 71 | +{{/each}} | |
| 72 | +{{if list.length == 0}} | |
| 73 | +<tr class="muted"> | |
| 74 | + <td colspan=5 style="text-align: center;"><h6>没有找到相关数据</h6></td> | |
| 75 | +</tr> | |
| 76 | +{{/if}} | |
| 77 | + </script> | |
| 78 | +<script src="./js/lineStationUpload.js"></script> | ... | ... |
src/main/resources/static/pages/trafficManage/shLineCodeList.html
0 → 100644
| 1 | +<link href="css/trafficManage.css" rel="stylesheet" type="text/css" /> | |
| 2 | +<link href="css/autocompleter.css" rel="stylesheet" type="text/css" /> | |
| 3 | +<ul class="page-breadcrumb breadcrumb"> | |
| 4 | + <li><a href="/pages/home.html" data-pjax>首页</a> <i | |
| 5 | + class="fa fa-circle"></i></li> | |
| 6 | + <li><span class="active">运维管理</span> <i class="fa fa-circle"></i></li> | |
| 7 | + <li><span class="active">上海市线路编码查询</span></li> | |
| 8 | +</ul> | |
| 9 | +<div class="tab_line"> | |
| 10 | + <div class="col-md-12"> | |
| 11 | + <ul class="breadcrumb"> | |
| 12 | + <li>线路名称:</li> | |
| 13 | + <li><input type="text" class="form-control form-filter input-sm" | |
| 14 | + name="name_like" placeholder="请输入线路名称" maxlength="40" /></li> | |
| 15 | + <li><a class="btn btn-circle blue" id="search">查询</a></li> | |
| 16 | + </ul> | |
| 17 | + </div> | |
| 18 | + <div class="col-md-12 panel-wrap"> | |
| 19 | + <div class="_panel"> | |
| 20 | + <div class="_head" style="color: #2765A7;">待选线路模板列表</div> | |
| 21 | + <div class="table-container"> | |
| 22 | + <table | |
| 23 | + class="table table-striped table-bordered table-advance pb-table head"> | |
| 24 | + <thead> | |
| 25 | + <tr> | |
| 26 | + <th width="5%">序号</th> | |
| 27 | + <th width="20%">线路名称</th> | |
| 28 | + <th width="15%">所属公司</th> | |
| 29 | + <th width="25%">调度方式</th> | |
| 30 | + <th>上海市线路编码</th> | |
| 31 | + </tr> | |
| 32 | + </thead> | |
| 33 | + <tbody> | |
| 34 | + </tbody> | |
| 35 | + </table> | |
| 36 | + <div style="text-align: right;"> | |
| 37 | + <ul id="pagination" class="pagination"></ul> | |
| 38 | + </div> | |
| 39 | + </div> | |
| 40 | + </div> | |
| 41 | + </div> | |
| 42 | +</div> | |
| 43 | +<script id="shLineCode_list_temp" type="text/html"> | |
| 44 | +{{each list as obj i}} | |
| 45 | +<tr> | |
| 46 | + <td class="seq" style="vertical-align: middle;"> | |
| 47 | + {{i+1}} | |
| 48 | + </td> | |
| 49 | + <td> | |
| 50 | + {{obj.name}} | |
| 51 | + </td> | |
| 52 | + <td class="ttInfoId"> | |
| 53 | + {{obj.company}} | |
| 54 | + </td> | |
| 55 | + <td> | |
| 56 | + 全程 | |
| 57 | + </td> | |
| 58 | + <td > | |
| 59 | + {{obj.shanghaiLinecode}} | |
| 60 | + </td> | |
| 61 | +</tr> | |
| 62 | +{{/each}} | |
| 63 | +{{if list.length == 0}} | |
| 64 | +<tr class="muted"> | |
| 65 | + <td colspan=5 style="text-align: center;"><h6>没有找到相关数据</h6></td> | |
| 66 | +</tr> | |
| 67 | +{{/if}} | |
| 68 | + </script> | |
| 69 | +<script src="./js/shLineCodeList.js"></script> | |
| 0 | 70 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/trafficManage/timeTempletUpload.html
0 → 100644
| 1 | +<link href="css/trafficManage.css" rel="stylesheet" type="text/css" /> | |
| 2 | +<link href="css/autocompleter.css" rel="stylesheet" type="text/css" /> | |
| 3 | +<ul class="page-breadcrumb breadcrumb"> | |
| 4 | + <li><a href="/pages/home.html" data-pjax>首页</a> <i | |
| 5 | + class="fa fa-circle"></i></li> | |
| 6 | + <li><span class="active">运维管理</span> <i class="fa fa-circle"></i></li> | |
| 7 | + <li><span class="active">时刻模板上传</span></li> | |
| 8 | +</ul> | |
| 9 | +<div class="tab_line"> | |
| 10 | + <div class="col-md-12"> | |
| 11 | + <ul class="breadcrumb"> | |
| 12 | + <li>线路名称:</li> | |
| 13 | + <li><input type="text" class="form-control form-filter input-sm" | |
| 14 | + name="xl.name_eq" placeholder="请输入线路名称" maxlength="40" /></li> | |
| 15 | + <li>模板名称(关键字):</li> | |
| 16 | + <li><input type="text" class="form-control form-filter input-sm" | |
| 17 | + name="ttInfo.name_like" maxlength="40" /></li> | |
| 18 | + <li><a class="btn btn-circle blue" id="search">查询</a></li> | |
| 19 | + <li><a class="btn btn-circle red" id="upload">上传</a></li> | |
| 20 | + </ul> | |
| 21 | + </div> | |
| 22 | + <!-- Begin: left-div --> | |
| 23 | + <div class="col-md-5 panel-wrap" style="height: 60%;"> | |
| 24 | + <div class="_panel"> | |
| 25 | + <div class="_head" style="color: #2765A7;">待选线路模板列表</div> | |
| 26 | + <div class="table-container" id="left_div"> | |
| 27 | + <table | |
| 28 | + class="table table-striped table-bordered table-advance pb-table head"> | |
| 29 | + <thead> | |
| 30 | + <tr> | |
| 31 | + <th width="5%">#</th> | |
| 32 | + <th width="20%">线路名称</th> | |
| 33 | + <th width="15%">模板ID</th> | |
| 34 | + <th width="25%">模板名称</th> | |
| 35 | + <th>启用日期</th> | |
| 36 | + </tr> | |
| 37 | + </thead> | |
| 38 | + <tbody> | |
| 39 | + </tbody> | |
| 40 | + </table> | |
| 41 | + </div> | |
| 42 | + </div> | |
| 43 | + </div> | |
| 44 | + <div class="col-md-2" style="height: 60%;"> | |
| 45 | + <ul class="breadcruma divVerHorCenter"> | |
| 46 | + <li><a class="btn btn-circle blue btn-outline" id="to_right">>></a></li> | |
| 47 | + <li><a class="btn btn-circle blue btn-outline" id="to_left"><<</a></li> | |
| 48 | + </ul> | |
| 49 | + </div> | |
| 50 | + <!-- End: left-div --> | |
| 51 | + <!-- Begin: right-div --> | |
| 52 | + <div class="col-md-5 panel-wrap" style="height: 60%;"> | |
| 53 | + <div class="_panel"> | |
| 54 | + <div class="_head" style="color: #2765A7;">已选线路模板列表</div> | |
| 55 | + <div class="table-container" id="right_div"></div> | |
| 56 | + </div> | |
| 57 | + </div> | |
| 58 | + <!-- End: right-div --> | |
| 59 | +</div> | |
| 60 | +<script id="timeTemplet_list_temp" type="text/html"> | |
| 61 | +{{each list as obj i}} | |
| 62 | +<tr> | |
| 63 | + <td class="seq" style="vertical-align: middle;"> | |
| 64 | + {{i+1}} | |
| 65 | + </td> | |
| 66 | + <td> | |
| 67 | + {{obj.xl.name}} | |
| 68 | + </td> | |
| 69 | + <td class="ttInfoId"> | |
| 70 | + {{obj.ttInfo.id}} | |
| 71 | + </td> | |
| 72 | + <td> | |
| 73 | + {{obj.ttInfo.name}} | |
| 74 | + </td> | |
| 75 | + <td > | |
| 76 | + {{obj.ttInfo.qyrq}} | |
| 77 | + </td> | |
| 78 | +</tr> | |
| 79 | +{{/each}} | |
| 80 | +{{if list.length == 0}} | |
| 81 | +<tr class="muted"> | |
| 82 | + <td colspan=5 style="text-align: center;"><h6>没有找到相关数据</h6></td> | |
| 83 | +</tr> | |
| 84 | +{{/if}} | |
| 85 | + </script> | |
| 86 | +<script src="./js/timeTempletUpload.js"></script> | |
| 0 | 87 | \ No newline at end of file | ... | ... |