Commit 562d070daeda3727d1db7cb4c1140040963df70d
Merge branch 'minhang' into pudong
# Conflicts: # src/main/resources/static/real_control_v2/main.html
Showing
34 changed files
with
2033 additions
and
1141 deletions
Too many changes to show.
To preserve performance only 34 of 132 files are displayed.
src/main/java/com/bsth/controller/BaseController.java
| @@ -24,37 +24,34 @@ import java.util.List; | @@ -24,37 +24,34 @@ import java.util.List; | ||
| 24 | import java.util.Map; | 24 | import java.util.Map; |
| 25 | 25 | ||
| 26 | /** | 26 | /** |
| 27 | - * | ||
| 28 | - * @ClassName: BaseController | ||
| 29 | - * @Description: TODO(基础的Controller实现) | ||
| 30 | - * @author PanZhao | ||
| 31 | - * @date 2016年3月17日 下午12:44:06 | ||
| 32 | - * | ||
| 33 | * @param <T> | 27 | * @param <T> |
| 34 | * @param <ID> 主键类型 | 28 | * @param <ID> 主键类型 |
| 29 | + * @author PanZhao | ||
| 30 | + * @ClassName: BaseController | ||
| 31 | + * @Description: TODO(基础的Controller实现) | ||
| 32 | + * @date 2016年3月17日 下午12:44:06 | ||
| 35 | */ | 33 | */ |
| 36 | public class BaseController<T, ID extends Serializable> { | 34 | public class BaseController<T, ID extends Serializable> { |
| 37 | - | ||
| 38 | - @Autowired | ||
| 39 | - protected BaseService<T, ID> baseService; | 35 | + |
| 36 | + @Autowired | ||
| 37 | + protected BaseService<T, ID> baseService; | ||
| 40 | @Autowired | 38 | @Autowired |
| 41 | DataImportExportService dataImportExportService; | 39 | DataImportExportService dataImportExportService; |
| 42 | - | ||
| 43 | - /** | ||
| 44 | - * | ||
| 45 | - * @Title: list | ||
| 46 | - * @Description: TODO(多条件分页查询) | ||
| 47 | - * @param @param map 查询条件 | ||
| 48 | - * @param @param page 页码 | ||
| 49 | - * @param @param size 每页显示数量 | ||
| 50 | - * @throws | ||
| 51 | - */ | ||
| 52 | - @RequestMapping(method = RequestMethod.GET) | ||
| 53 | - public Page<T> list(@RequestParam Map<String, Object> map, | ||
| 54 | - @RequestParam(defaultValue = "0") int page, | ||
| 55 | - @RequestParam(defaultValue = "10") int size, | ||
| 56 | - @RequestParam(defaultValue = "id") String order, | ||
| 57 | - @RequestParam(defaultValue = "DESC") String direction){ | 40 | + |
| 41 | + /** | ||
| 42 | + * @param @param map 查询条件 | ||
| 43 | + * @param @param page 页码 | ||
| 44 | + * @param @param size 每页显示数量 | ||
| 45 | + * @throws | ||
| 46 | + * @Title: list | ||
| 47 | + * @Description: TODO(多条件分页查询) | ||
| 48 | + */ | ||
| 49 | + @RequestMapping(method = RequestMethod.GET) | ||
| 50 | + public Page<T> list(@RequestParam Map<String, Object> map, | ||
| 51 | + @RequestParam(defaultValue = "0") int page, | ||
| 52 | + @RequestParam(defaultValue = "10") int size, | ||
| 53 | + @RequestParam(defaultValue = "id") String order, | ||
| 54 | + @RequestParam(defaultValue = "DESC") String direction) { | ||
| 58 | 55 | ||
| 59 | // 允许多个字段排序,order可以写单个字段,也可以写多个字段 | 56 | // 允许多个字段排序,order可以写单个字段,也可以写多个字段 |
| 60 | // 多个字段格式:{col1},{col2},{col3},....,{coln} | 57 | // 多个字段格式:{col1},{col2},{col3},....,{coln} |
| @@ -81,60 +78,57 @@ public class BaseController<T, ID extends Serializable> { | @@ -81,60 +78,57 @@ public class BaseController<T, ID extends Serializable> { | ||
| 81 | } else { | 78 | } else { |
| 82 | throw new RuntimeException("多字段排序参数格式问题,排序顺序和字段数不一致"); | 79 | throw new RuntimeException("多字段排序参数格式问题,排序顺序和字段数不一致"); |
| 83 | } | 80 | } |
| 84 | - } | ||
| 85 | - | ||
| 86 | - /** | ||
| 87 | - * | ||
| 88 | - * @Title: list | ||
| 89 | - * @Description: TODO(多条件查询) | ||
| 90 | - * @param @param map | ||
| 91 | - * @throws | ||
| 92 | - */ | ||
| 93 | - @RequestMapping(value = "/all", method = RequestMethod.GET) | ||
| 94 | - public Iterable<T> list(@RequestParam Map<String, Object> map){ | ||
| 95 | - return baseService.list(map); | ||
| 96 | - } | ||
| 97 | - | ||
| 98 | - /** | ||
| 99 | - * | ||
| 100 | - * @Title: save | ||
| 101 | - * @Description: TODO(持久化对象) | ||
| 102 | - * @param @param t | ||
| 103 | - * @param @return 设定文件 | ||
| 104 | - * @return Map<String,Object> {status: 1(成功),-1(失败)} | ||
| 105 | - * @throws | ||
| 106 | - */ | ||
| 107 | - @RequestMapping(method = RequestMethod.POST) | ||
| 108 | - public Map<String, Object> save(T t){ | ||
| 109 | - return baseService.save(t); | ||
| 110 | - } | ||
| 111 | - | ||
| 112 | - /** | ||
| 113 | - * | ||
| 114 | - * @Title: findById | ||
| 115 | - * @Description: TODO(根据主键获取单个对象) | ||
| 116 | - * @param @param id | ||
| 117 | - * @throws | ||
| 118 | - */ | ||
| 119 | - @RequestMapping(value="/{id}",method = RequestMethod.GET) | ||
| 120 | - public T findById(@PathVariable("id") ID id){ | ||
| 121 | - return baseService.findById(id); | ||
| 122 | - } | ||
| 123 | - | ||
| 124 | - /** | ||
| 125 | - * | ||
| 126 | - * @Title: delete | ||
| 127 | - * @Description: TODO(根据主键删除对象) | ||
| 128 | - * @param @param id | ||
| 129 | - * @throws | ||
| 130 | - */ | ||
| 131 | - @RequestMapping(value="/{id}",method = RequestMethod.DELETE) | ||
| 132 | - public Map<String, Object> delete(@PathVariable("id") ID id){ | ||
| 133 | - return baseService.delete(id); | ||
| 134 | - } | 81 | + } |
| 82 | + | ||
| 83 | + /** | ||
| 84 | + * @param @param map | ||
| 85 | + * @throws | ||
| 86 | + * @Title: list | ||
| 87 | + * @Description: TODO(多条件查询) | ||
| 88 | + */ | ||
| 89 | + @RequestMapping(value = "/all", method = RequestMethod.GET) | ||
| 90 | + public Iterable<T> list(@RequestParam Map<String, Object> map) { | ||
| 91 | + return baseService.list(map); | ||
| 92 | + } | ||
| 93 | + | ||
| 94 | + /** | ||
| 95 | + * @param @param t | ||
| 96 | + * @param @return 设定文件 | ||
| 97 | + * @return Map<String,Object> {status: 1(成功),-1(失败)} | ||
| 98 | + * @throws | ||
| 99 | + * @Title: save | ||
| 100 | + * @Description: TODO(持久化对象) | ||
| 101 | + */ | ||
| 102 | + @RequestMapping(method = RequestMethod.POST) | ||
| 103 | + public Map<String, Object> save(T t) { | ||
| 104 | + return baseService.save(t); | ||
| 105 | + } | ||
| 106 | + | ||
| 107 | + /** | ||
| 108 | + * @param @param id | ||
| 109 | + * @throws | ||
| 110 | + * @Title: findById | ||
| 111 | + * @Description: TODO(根据主键获取单个对象) | ||
| 112 | + */ | ||
| 113 | + @RequestMapping(value = "/{id}", method = RequestMethod.GET) | ||
| 114 | + public T findById(@PathVariable("id") ID id) { | ||
| 115 | + return baseService.findById(id); | ||
| 116 | + } | ||
| 117 | + | ||
| 118 | + /** | ||
| 119 | + * @param @param id | ||
| 120 | + * @throws | ||
| 121 | + * @Title: delete | ||
| 122 | + * @Description: TODO(根据主键删除对象) | ||
| 123 | + */ | ||
| 124 | + @RequestMapping(value = "/{id}", method = RequestMethod.DELETE) | ||
| 125 | + public Map<String, Object> delete(@PathVariable("id") ID id) { | ||
| 126 | + return baseService.delete(id); | ||
| 127 | + } | ||
| 135 | 128 | ||
| 136 | /** | 129 | /** |
| 137 | * 上传数据文件,并使用ktr转换文件导入数据。 | 130 | * 上传数据文件,并使用ktr转换文件导入数据。 |
| 131 | + * | ||
| 138 | * @param file | 132 | * @param file |
| 139 | * @return | 133 | * @return |
| 140 | * @throws Exception | 134 | * @throws Exception |
| @@ -163,6 +157,7 @@ public class BaseController<T, ID extends Serializable> { | @@ -163,6 +157,7 @@ public class BaseController<T, ID extends Serializable> { | ||
| 163 | 157 | ||
| 164 | /** | 158 | /** |
| 165 | * 使用ktr导出数据。 | 159 | * 使用ktr导出数据。 |
| 160 | + * | ||
| 166 | * @param response | 161 | * @param response |
| 167 | * @throws Exception | 162 | * @throws Exception |
| 168 | */ | 163 | */ |
| @@ -241,5 +236,5 @@ public class BaseController<T, ID extends Serializable> { | @@ -241,5 +236,5 @@ public class BaseController<T, ID extends Serializable> { | ||
| 241 | // 默认返回异常,子类如果要使用导入功能,必须覆写此方法,指定ktr文件类路径 | 236 | // 默认返回异常,子类如果要使用导入功能,必须覆写此方法,指定ktr文件类路径 |
| 242 | throw new RuntimeException("必须override,并指定ktr classpath"); | 237 | throw new RuntimeException("必须override,并指定ktr classpath"); |
| 243 | } | 238 | } |
| 244 | - | 239 | + |
| 245 | } | 240 | } |
src/main/java/com/bsth/controller/gps/GpsController.java
| @@ -15,77 +15,85 @@ import java.util.Map; | @@ -15,77 +15,85 @@ import java.util.Map; | ||
| 15 | @RequestMapping("gps") | 15 | @RequestMapping("gps") |
| 16 | public class GpsController { | 16 | public class GpsController { |
| 17 | 17 | ||
| 18 | - @Autowired | ||
| 19 | - GpsRealData gpsRealData; | ||
| 20 | - | ||
| 21 | - @Autowired | ||
| 22 | - GpsService gpsService; | ||
| 23 | - | ||
| 24 | - @RequestMapping(value = "/real/all") | ||
| 25 | - public Map<String, Object> search(@RequestParam Map<String, Object> map, | ||
| 26 | - @RequestParam(defaultValue = "0") int page, | ||
| 27 | - @RequestParam(defaultValue = "15") int size, | ||
| 28 | - @RequestParam(defaultValue = "timestamp") String order, | ||
| 29 | - @RequestParam(defaultValue = "DESC") String direction){ | ||
| 30 | - | ||
| 31 | - | ||
| 32 | - return gpsService.search(map, page, size, order, direction); | ||
| 33 | - } | ||
| 34 | - | ||
| 35 | - @RequestMapping(value = "/real/line/{lineCode}") | ||
| 36 | - public List<GpsEntity> findByLineCode(@PathVariable("lineCode") String lineCode) { | ||
| 37 | - return gpsRealData.getByLine(lineCode); | ||
| 38 | - } | ||
| 39 | - | ||
| 40 | - @RequestMapping(value = "/real/line") | ||
| 41 | - public List<GpsEntity> findByLineCodes(@RequestParam String lineCodes) { | ||
| 42 | - return gpsRealData.get(Splitter.on(",").splitToList(lineCodes)); | ||
| 43 | - } | ||
| 44 | - | ||
| 45 | - @RequestMapping(value = "/allDevices") | ||
| 46 | - public Iterable<String> allDevices(){ | ||
| 47 | - return gpsRealData.allDevices(); | ||
| 48 | - } | ||
| 49 | - | ||
| 50 | - @RequestMapping(value = "/removeRealGps", method = RequestMethod.POST) | ||
| 51 | - public Map<String, Object> removeRealGps(@RequestParam String device){ | ||
| 52 | - return gpsService.removeRealGps(device); | ||
| 53 | - } | ||
| 54 | - | ||
| 55 | - /** | ||
| 56 | - * | ||
| 57 | - * @Title: history @Description: TODO(这个方法给测试页面用) @throws | ||
| 58 | - */ | ||
| 59 | - @RequestMapping(value = "/history/{device}") | ||
| 60 | - public List<Map<String, Object>> history(@PathVariable("device") String device, @RequestParam Long startTime, | ||
| 61 | - @RequestParam Long endTime, @RequestParam int directions) { | ||
| 62 | - | ||
| 63 | - return gpsService.history(device, startTime, endTime, directions); | ||
| 64 | - } | ||
| 65 | - | ||
| 66 | - @RequestMapping(value = "/gpsHistory/multiple") | ||
| 67 | - public List<Map<String, Object>> gpsHistory(@RequestParam String[] nbbmArray, @RequestParam Long st, | ||
| 68 | - @RequestParam Long et) { | ||
| 69 | - return gpsService.history(nbbmArray, st, et); | ||
| 70 | - } | 18 | + @Autowired |
| 19 | + GpsRealData gpsRealData; | ||
| 20 | + | ||
| 21 | + @Autowired | ||
| 22 | + GpsService gpsService; | ||
| 23 | + | ||
| 24 | + @RequestMapping(value = "/real/all") | ||
| 25 | + public Map<String, Object> search(@RequestParam Map<String, Object> map, | ||
| 26 | + @RequestParam(defaultValue = "0") int page, | ||
| 27 | + @RequestParam(defaultValue = "15") int size, | ||
| 28 | + @RequestParam(defaultValue = "timestamp") String order, | ||
| 29 | + @RequestParam(defaultValue = "DESC") String direction) { | ||
| 30 | + | ||
| 31 | + | ||
| 32 | + return gpsService.search(map, page, size, order, direction); | ||
| 33 | + } | ||
| 34 | + | ||
| 35 | + @RequestMapping(value = "/real/line/{lineCode}") | ||
| 36 | + public List<GpsEntity> findByLineCode(@PathVariable("lineCode") String lineCode) { | ||
| 37 | + return gpsRealData.getByLine(lineCode); | ||
| 38 | + } | ||
| 39 | + | ||
| 40 | + @RequestMapping(value = "/real/line") | ||
| 41 | + public List<GpsEntity> findByLineCodes(@RequestParam String lineCodes) { | ||
| 42 | + return gpsRealData.get(Splitter.on(",").splitToList(lineCodes)); | ||
| 43 | + } | ||
| 44 | + | ||
| 45 | + @RequestMapping(value = "/allDevices") | ||
| 46 | + public Iterable<String> allDevices() { | ||
| 47 | + return gpsRealData.allDevices(); | ||
| 48 | + } | ||
| 49 | + | ||
| 50 | + @RequestMapping(value = "/removeRealGps", method = RequestMethod.POST) | ||
| 51 | + public Map<String, Object> removeRealGps(@RequestParam String device) { | ||
| 52 | + return gpsService.removeRealGps(device); | ||
| 53 | + } | ||
| 54 | + | ||
| 55 | + /** | ||
| 56 | + * @Title: history @Description: TODO(这个方法给测试页面用) @throws | ||
| 57 | + */ | ||
| 58 | + @RequestMapping(value = "/history/{device}") | ||
| 59 | + public List<Map<String, Object>> history(@PathVariable("device") String device, @RequestParam Long startTime, | ||
| 60 | + @RequestParam Long endTime, @RequestParam int directions) { | ||
| 61 | + | ||
| 62 | + return gpsService.history(device, startTime, endTime, directions); | ||
| 63 | + } | ||
| 64 | + | ||
| 65 | + @RequestMapping(value = "/gpsHistory/multiple") | ||
| 66 | + public List<Map<String, Object>> gpsHistory(@RequestParam String[] nbbmArray, @RequestParam Long st, | ||
| 67 | + @RequestParam Long et) { | ||
| 68 | + return gpsService.history(nbbmArray, st, et); | ||
| 69 | + } | ||
| 71 | 70 | ||
| 72 | /*@RequestMapping(value = "/analyse/ram") | 71 | /*@RequestMapping(value = "/analyse/ram") |
| 73 | - public List<ArrivalInfo> ramData(@RequestParam String nbbm) { | 72 | + public List<ArrivalInfo> ramData(@RequestParam String nbbm) { |
| 74 | return ArrivalDataBuffer.allMap.get(nbbm); | 73 | return ArrivalDataBuffer.allMap.get(nbbm); |
| 75 | }*/ | 74 | }*/ |
| 76 | 75 | ||
| 77 | - @RequestMapping(value = "/Car2DeviceId") | ||
| 78 | - public Map<String, String> findCarDeviceIdMap() { | ||
| 79 | - return BasicData.deviceId2NbbmMap.inverse(); | ||
| 80 | - } | ||
| 81 | - | ||
| 82 | - @RequestMapping(value = "/buffAera") | ||
| 83 | - public Map<String, Object> findBuffAeraByCode(@RequestParam String code,@RequestParam String type){ | ||
| 84 | - return gpsService.findBuffAeraByCode(code, type); | ||
| 85 | - } | ||
| 86 | - | ||
| 87 | - @RequestMapping(value = "/findRoadSpeed") | ||
| 88 | - public Map<String, Object> findRoadSpeed(@RequestParam String lineCode){ | ||
| 89 | - return gpsService.findRoadSpeed(lineCode); | ||
| 90 | - } | 76 | + @RequestMapping(value = "/Car2DeviceId") |
| 77 | + public Map<String, String> findCarDeviceIdMap() { | ||
| 78 | + return BasicData.deviceId2NbbmMap.inverse(); | ||
| 79 | + } | ||
| 80 | + | ||
| 81 | + @RequestMapping(value = "/buffAera") | ||
| 82 | + public Map<String, Object> findBuffAeraByCode(@RequestParam String code, @RequestParam String type) { | ||
| 83 | + return gpsService.findBuffAeraByCode(code, type); | ||
| 84 | + } | ||
| 85 | + | ||
| 86 | + @RequestMapping(value = "/findRoadSpeed") | ||
| 87 | + public Map<String, Object> findRoadSpeed(@RequestParam String lineCode) { | ||
| 88 | + return gpsService.findRoadSpeed(lineCode); | ||
| 89 | + } | ||
| 90 | + | ||
| 91 | + /** | ||
| 92 | + * gps补全 | ||
| 93 | + * @return | ||
| 94 | + */ | ||
| 95 | + @RequestMapping(value = "/gpsCompletion", method = RequestMethod.POST) | ||
| 96 | + public Map<String, Object> gpsCompletion(@RequestParam long schId) { | ||
| 97 | + return gpsService.gpsCompletion(schId); | ||
| 98 | + } | ||
| 91 | } | 99 | } |
src/main/java/com/bsth/controller/realcontrol/PageForwardingController.java
0 → 100644
| 1 | +package com.bsth.controller.realcontrol; | ||
| 2 | + | ||
| 3 | +import com.bsth.entity.sys.SysUser; | ||
| 4 | +import com.bsth.security.util.SecurityUtils; | ||
| 5 | +import org.springframework.stereotype.Controller; | ||
| 6 | +import org.springframework.web.bind.annotation.RequestMapping; | ||
| 7 | +import org.springframework.web.servlet.ModelAndView; | ||
| 8 | + | ||
| 9 | +/** | ||
| 10 | + * 线调登入页面转发 | ||
| 11 | + * Created by panzhao on 2017/1/21. | ||
| 12 | + */ | ||
| 13 | +@Controller | ||
| 14 | +@RequestMapping("real_control") | ||
| 15 | +public class PageForwardingController { | ||
| 16 | + | ||
| 17 | + @RequestMapping("/v2") | ||
| 18 | + public ModelAndView v2(){ | ||
| 19 | + ModelAndView mv = new ModelAndView(); | ||
| 20 | + SysUser user = SecurityUtils.getCurrentUser(); | ||
| 21 | + | ||
| 22 | + //班次管理员 | ||
| 23 | + if(user.getUserName().equals("bcgly")){ | ||
| 24 | + mv.setViewName("/real_control_v2/sch_manage/sch_imitate.html"); | ||
| 25 | + } | ||
| 26 | + //正常线调主页 | ||
| 27 | + else | ||
| 28 | + mv.setViewName("/real_control_v2/main.html"); | ||
| 29 | + return mv; | ||
| 30 | + } | ||
| 31 | +} |
src/main/java/com/bsth/controller/realcontrol/RealMapController.java
| @@ -49,6 +49,11 @@ public class RealMapController { | @@ -49,6 +49,11 @@ public class RealMapController { | ||
| 49 | return realMapService.findRouteByLine(lineCode); | 49 | return realMapService.findRouteByLine(lineCode); |
| 50 | } | 50 | } |
| 51 | 51 | ||
| 52 | + @RequestMapping(value = "/multiRouteByLine") | ||
| 53 | + public Map<String, Object> multiRouteByLine(@RequestParam String codeStr) { | ||
| 54 | + return realMapService.multiRouteByLine(codeStr); | ||
| 55 | + } | ||
| 56 | + | ||
| 52 | 57 | ||
| 53 | /** | 58 | /** |
| 54 | * 获取线路的路段路由 和 站点路由信息 (为前端站间距计算提供数据源) | 59 | * 获取线路的路段路由 和 站点路由信息 (为前端站间距计算提供数据源) |
src/main/java/com/bsth/controller/realcontrol/ScheduleRealInfoController.java
| @@ -429,4 +429,9 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, | @@ -429,4 +429,9 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, | ||
| 429 | public List<Map<String, Object>> scheduleDailyQp(@RequestParam String line,@RequestParam String date){ | 429 | public List<Map<String, Object>> scheduleDailyQp(@RequestParam String line,@RequestParam String date){ |
| 430 | return scheduleRealInfoService.scheduleDailyQp(line,date); | 430 | return scheduleRealInfoService.scheduleDailyQp(line,date); |
| 431 | } | 431 | } |
| 432 | + | ||
| 433 | + @RequestMapping(value = "scheduleDailyExport", method = RequestMethod.GET) | ||
| 434 | + public List<Map<String, Object>> scheduleDailyExport(@RequestParam Map<String, Object> map){ | ||
| 435 | + return scheduleRealInfoService.scheduleDailyExport(map); | ||
| 436 | + } | ||
| 432 | } | 437 | } |
src/main/java/com/bsth/controller/schedule/core/GuideboardInfoController.java
| @@ -27,22 +27,10 @@ import java.util.Map; | @@ -27,22 +27,10 @@ import java.util.Map; | ||
| 27 | public class GuideboardInfoController extends BController<GuideboardInfo, Long> { | 27 | public class GuideboardInfoController extends BController<GuideboardInfo, Long> { |
| 28 | @Autowired | 28 | @Autowired |
| 29 | private GuideboardInfoService guideboardInfoService; | 29 | private GuideboardInfoService guideboardInfoService; |
| 30 | -// @Autowired | ||
| 31 | -// private DataToolsProperties dataToolsProperties; | 30 | + |
| 32 | @Autowired | 31 | @Autowired |
| 33 | private GuideboardInfoRepository guideboardInfoRepository; | 32 | private GuideboardInfoRepository guideboardInfoRepository; |
| 34 | -// | ||
| 35 | -// @Override | ||
| 36 | -// protected String getDataImportKtrClasspath() { | ||
| 37 | -// return dataToolsProperties.getGuideboardsDatainputktr(); | ||
| 38 | -// } | ||
| 39 | -// | ||
| 40 | -// @Override | ||
| 41 | -// public GuideboardInfo findById(@PathVariable("id") Long aLong) { | ||
| 42 | -// return guideboardInfoRepository.findOneExtend(aLong); | ||
| 43 | -// } | ||
| 44 | -// | ||
| 45 | -// | 33 | + |
| 46 | @RequestMapping(value = "/ttlpnames", method = RequestMethod.GET) | 34 | @RequestMapping(value = "/ttlpnames", method = RequestMethod.GET) |
| 47 | public List<Map<String, Object>> findLpName(Long ttid) { | 35 | public List<Map<String, Object>> findLpName(Long ttid) { |
| 48 | return guideboardInfoRepository.findLpName(ttid); | 36 | return guideboardInfoRepository.findLpName(ttid); |
src/main/java/com/bsth/controller/sys/RealControAuthorityController.java
0 → 100644
| 1 | +package com.bsth.controller.sys; | ||
| 2 | + | ||
| 3 | +import com.bsth.controller.BaseController; | ||
| 4 | +import com.bsth.entity.sys.RealControAuthority; | ||
| 5 | +import com.bsth.security.util.SecurityUtils; | ||
| 6 | +import com.bsth.service.sys.RealControAuthorityService; | ||
| 7 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 8 | +import org.springframework.web.bind.annotation.RequestMapping; | ||
| 9 | +import org.springframework.web.bind.annotation.RequestParam; | ||
| 10 | +import org.springframework.web.bind.annotation.RestController; | ||
| 11 | + | ||
| 12 | +import javax.servlet.http.HttpServletRequest; | ||
| 13 | + | ||
| 14 | +/** | ||
| 15 | + * Created by panzhao on 2017/2/14. | ||
| 16 | + */ | ||
| 17 | +@RestController | ||
| 18 | +@RequestMapping("realControAuthority") | ||
| 19 | +public class RealControAuthorityController extends BaseController<RealControAuthority, Integer> { | ||
| 20 | + | ||
| 21 | + @Autowired | ||
| 22 | + RealControAuthorityService realControAuthorityService; | ||
| 23 | + | ||
| 24 | + @RequestMapping("findByUserId") | ||
| 25 | + public RealControAuthority findByUserId(@RequestParam Integer userId){ | ||
| 26 | + | ||
| 27 | + return realControAuthorityService.findByUserId(userId); | ||
| 28 | + } | ||
| 29 | + | ||
| 30 | + @RequestMapping("findByCurrentUser") | ||
| 31 | + public RealControAuthority findByUserId(HttpServletRequest request){ | ||
| 32 | + return realControAuthorityService.findByUserId(SecurityUtils.getCurrentUser().getId()); | ||
| 33 | + } | ||
| 34 | +} |
src/main/java/com/bsth/controller/sys/UserController.java
| @@ -217,7 +217,7 @@ public class UserController extends BaseController<SysUser, Integer> { | @@ -217,7 +217,7 @@ public class UserController extends BaseController<SysUser, Integer> { | ||
| 217 | * 确认新密码 | 217 | * 确认新密码 |
| 218 | * @return | 218 | * @return |
| 219 | */ | 219 | */ |
| 220 | - @RequestMapping("/changePWD") | 220 | + @RequestMapping(value = "/changePWD", method = RequestMethod.POST) |
| 221 | public String changePWD(@RequestParam String oldPWD, @RequestParam String newPWD, @RequestParam String cnewPWD) { | 221 | public String changePWD(@RequestParam String oldPWD, @RequestParam String newPWD, @RequestParam String cnewPWD) { |
| 222 | SysUser sysUser = SecurityUtils.getCurrentUser(); | 222 | SysUser sysUser = SecurityUtils.getCurrentUser(); |
| 223 | String msg = ""; | 223 | String msg = ""; |
src/main/java/com/bsth/data/gpsdata/GpsEntity.java
| @@ -88,6 +88,9 @@ public class GpsEntity { | @@ -88,6 +88,9 @@ public class GpsEntity { | ||
| 88 | /** 越界距离 */ | 88 | /** 越界距离 */ |
| 89 | private double outOfBoundDistance; | 89 | private double outOfBoundDistance; |
| 90 | 90 | ||
| 91 | + /** gps是否有效 设备端发送的状态 */ | ||
| 92 | + private int valid; | ||
| 93 | + | ||
| 91 | public Integer getCompanyCode() { | 94 | public Integer getCompanyCode() { |
| 92 | return companyCode; | 95 | return companyCode; |
| 93 | } | 96 | } |
| @@ -280,4 +283,12 @@ public class GpsEntity { | @@ -280,4 +283,12 @@ public class GpsEntity { | ||
| 280 | public void setOutOfBoundDistance(double outOfBoundDistance) { | 283 | public void setOutOfBoundDistance(double outOfBoundDistance) { |
| 281 | this.outOfBoundDistance = outOfBoundDistance; | 284 | this.outOfBoundDistance = outOfBoundDistance; |
| 282 | } | 285 | } |
| 286 | + | ||
| 287 | + public int getValid() { | ||
| 288 | + return valid; | ||
| 289 | + } | ||
| 290 | + | ||
| 291 | + public void setValid(int valid) { | ||
| 292 | + this.valid = valid; | ||
| 293 | + } | ||
| 283 | } | 294 | } |
src/main/java/com/bsth/data/gpsdata/GpsRealData.java
| @@ -52,7 +52,7 @@ public class GpsRealData implements CommandLineRunner { | @@ -52,7 +52,7 @@ public class GpsRealData implements CommandLineRunner { | ||
| 52 | public void run(String... arg0) throws Exception { | 52 | public void run(String... arg0) throws Exception { |
| 53 | logger.info("gpsDataLoader,20,5"); | 53 | logger.info("gpsDataLoader,20,5"); |
| 54 | //定时从网关获取GPS数据 | 54 | //定时从网关获取GPS数据 |
| 55 | - //Application.mainServices.scheduleWithFixedDelay(gpsDataLoader, 20, 5, TimeUnit.SECONDS); | 55 | + //Application.mainServices.scheduleWithFixedDelay(gpsDataLoader, 20, 15, TimeUnit.SECONDS); |
| 56 | //定时扫描掉离线 | 56 | //定时扫描掉离线 |
| 57 | 57 | ||
| 58 | } | 58 | } |
src/main/java/com/bsth/data/schedule/DayOfSchedule.java
| @@ -341,6 +341,13 @@ public class DayOfSchedule implements CommandLineRunner { | @@ -341,6 +341,13 @@ public class DayOfSchedule implements CommandLineRunner { | ||
| 341 | if (StringUtils.isEmpty(sch.getFcsj())) | 341 | if (StringUtils.isEmpty(sch.getFcsj())) |
| 342 | sch.setFcsj("00:00"); | 342 | sch.setFcsj("00:00"); |
| 343 | 343 | ||
| 344 | + if(sch.getFcsj().equals("24:00")) | ||
| 345 | + sch.setFcsj("23:59"); | ||
| 346 | + | ||
| 347 | + if(sch.getFcsj().substring(0, 2).equals("24")){ | ||
| 348 | + sch.setFcsj("00" + sch.getFcsj().substring(2)); | ||
| 349 | + } | ||
| 350 | + | ||
| 344 | fcsj = sch.getFcsj().trim(); | 351 | fcsj = sch.getFcsj().trim(); |
| 345 | //处理一下发车时间格式没有:号的问题 | 352 | //处理一下发车时间格式没有:号的问题 |
| 346 | if (fcsj.indexOf(":") == -1 && fcsj.length() >= 4) { | 353 | if (fcsj.indexOf(":") == -1 && fcsj.length() >= 4) { |
| @@ -823,8 +830,8 @@ public class DayOfSchedule implements CommandLineRunner { | @@ -823,8 +830,8 @@ public class DayOfSchedule implements CommandLineRunner { | ||
| 823 | first = executeCurr(nbbm); | 830 | first = executeCurr(nbbm); |
| 824 | 831 | ||
| 825 | if(first.getBcType().equals("out") | 832 | if(first.getBcType().equals("out") |
| 826 | - && first.getDfsjT() < second.getDfsjT() | ||
| 827 | - && doneSum(nbbm) == 0 && second.getDfsjT() > time) | 833 | + && first.getDfsjT() < second.getDfsjT() |
| 834 | + && doneSum(nbbm) == 0 && second.getDfsjT() > time) | ||
| 828 | return true; | 835 | return true; |
| 829 | } catch (Exception e) { | 836 | } catch (Exception e) { |
| 830 | logger.error("", e); | 837 | logger.error("", e); |
| @@ -840,10 +847,10 @@ public class DayOfSchedule implements CommandLineRunner { | @@ -840,10 +847,10 @@ public class DayOfSchedule implements CommandLineRunner { | ||
| 840 | 847 | ||
| 841 | public int stopTimePlan(Object task) { | 848 | public int stopTimePlan(Object task) { |
| 842 | 849 | ||
| 843 | - ScheduleRealInfo sch = prev((ScheduleRealInfo) task); | 850 | + ScheduleRealInfo sch = prev((ScheduleRealInfo) task); |
| 844 | 851 | ||
| 845 | - sch.getzdsj | ||
| 846 | - return -1; | 852 | + sch.getzdsj |
| 853 | + return -1; | ||
| 847 | }*/ | 854 | }*/ |
| 848 | 855 | ||
| 849 | /** | 856 | /** |
src/main/java/com/bsth/entity/realcontrol/ScheduleRealInfo.java
| @@ -181,6 +181,9 @@ public class ScheduleRealInfo { | @@ -181,6 +181,9 @@ public class ScheduleRealInfo { | ||
| 181 | //是否有GPS信号 | 181 | //是否有GPS信号 |
| 182 | private boolean online; | 182 | private boolean online; |
| 183 | 183 | ||
| 184 | + /** 是否有补发GPS信号 */ | ||
| 185 | + private boolean reissue; | ||
| 186 | + | ||
| 184 | public boolean isDfAuto() { | 187 | public boolean isDfAuto() { |
| 185 | return dfAuto; | 188 | return dfAuto; |
| 186 | } | 189 | } |
| @@ -819,4 +822,12 @@ public class ScheduleRealInfo { | @@ -819,4 +822,12 @@ public class ScheduleRealInfo { | ||
| 819 | public void setAdjustExps(String adjustExps) { | 822 | public void setAdjustExps(String adjustExps) { |
| 820 | this.adjustExps = adjustExps; | 823 | this.adjustExps = adjustExps; |
| 821 | } | 824 | } |
| 825 | + | ||
| 826 | + public boolean isReissue() { | ||
| 827 | + return reissue; | ||
| 828 | + } | ||
| 829 | + | ||
| 830 | + public void setReissue(boolean reissue) { | ||
| 831 | + this.reissue = reissue; | ||
| 832 | + } | ||
| 822 | } | 833 | } |
src/main/java/com/bsth/entity/sys/RealControAuthority.java
0 → 100644
| 1 | +package com.bsth.entity.sys; | ||
| 2 | + | ||
| 3 | +import javax.persistence.*; | ||
| 4 | + | ||
| 5 | +/** | ||
| 6 | + * 线调权限配置 | ||
| 7 | + * Created by panzhao on 2017/2/14. | ||
| 8 | + */ | ||
| 9 | +@Entity | ||
| 10 | +@Table(name = "bsth_c_real_control_authority") | ||
| 11 | +public class RealControAuthority { | ||
| 12 | + | ||
| 13 | + @Id | ||
| 14 | + private Integer userId; | ||
| 15 | + | ||
| 16 | + /** | ||
| 17 | + * 可调度的线路 , 分隔多个 | ||
| 18 | + */ | ||
| 19 | + private String lineCodeStr; | ||
| 20 | + | ||
| 21 | + /** | ||
| 22 | + * 调度模式 0: 监控模式 1:主调模式 | ||
| 23 | + */ | ||
| 24 | + private int pattern; | ||
| 25 | + | ||
| 26 | + public Integer getUserId() { | ||
| 27 | + return userId; | ||
| 28 | + } | ||
| 29 | + | ||
| 30 | + public void setUserId(Integer userId) { | ||
| 31 | + this.userId = userId; | ||
| 32 | + } | ||
| 33 | + | ||
| 34 | + public String getLineCodeStr() { | ||
| 35 | + return lineCodeStr; | ||
| 36 | + } | ||
| 37 | + | ||
| 38 | + public void setLineCodeStr(String lineCodeStr) { | ||
| 39 | + this.lineCodeStr = lineCodeStr; | ||
| 40 | + } | ||
| 41 | + | ||
| 42 | + public int getPattern() { | ||
| 43 | + return pattern; | ||
| 44 | + } | ||
| 45 | + | ||
| 46 | + public void setPattern(int pattern) { | ||
| 47 | + this.pattern = pattern; | ||
| 48 | + } | ||
| 49 | +} |
src/main/java/com/bsth/entity/sys/UserLine.java
| 1 | package com.bsth.entity.sys; | 1 | package com.bsth.entity.sys; |
| 2 | 2 | ||
| 3 | -import javax.persistence.Entity; | ||
| 4 | -import javax.persistence.GeneratedValue; | ||
| 5 | -import javax.persistence.GenerationType; | ||
| 6 | -import javax.persistence.Id; | ||
| 7 | -import javax.persistence.ManyToOne; | ||
| 8 | -import javax.persistence.Table; | ||
| 9 | - | ||
| 10 | import com.bsth.entity.Line; | 3 | import com.bsth.entity.Line; |
| 11 | 4 | ||
| 5 | +import javax.persistence.*; | ||
| 6 | + | ||
| 12 | /** | 7 | /** |
| 13 | * | 8 | * |
| 14 | * @ClassName: Line(用户线路分配实体类) | 9 | * @ClassName: Line(用户线路分配实体类) |
| @@ -20,6 +15,8 @@ import com.bsth.entity.Line; | @@ -20,6 +15,8 @@ import com.bsth.entity.Line; | ||
| 20 | * @Date 2016年8月26日 09:03:33 | 15 | * @Date 2016年8月26日 09:03:33 |
| 21 | * | 16 | * |
| 22 | * @Version 公交调度系统BS版 0.1 | 17 | * @Version 公交调度系统BS版 0.1 |
| 18 | + * | ||
| 19 | + * PS:这个类缺少主调监控模式的配置,暂不使用 | ||
| 23 | * | 20 | * |
| 24 | */ | 21 | */ |
| 25 | 22 |
src/main/java/com/bsth/repository/realcontrol/ScheduleRealInfoRepository.java
| 1 | package com.bsth.repository.realcontrol; | 1 | package com.bsth.repository.realcontrol; |
| 2 | 2 | ||
| 3 | import com.bsth.entity.realcontrol.ScheduleRealInfo; | 3 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 4 | +import com.bsth.entity.schedule.CarConfigInfo; | ||
| 4 | import com.bsth.repository.BaseRepository; | 5 | import com.bsth.repository.BaseRepository; |
| 6 | +import org.springframework.data.domain.Page; | ||
| 7 | +import org.springframework.data.domain.Pageable; | ||
| 8 | +import org.springframework.data.jpa.domain.Specification; | ||
| 5 | import org.springframework.data.jpa.repository.EntityGraph; | 9 | import org.springframework.data.jpa.repository.EntityGraph; |
| 6 | import org.springframework.data.jpa.repository.Modifying; | 10 | import org.springframework.data.jpa.repository.Modifying; |
| 7 | import org.springframework.data.jpa.repository.Query; | 11 | import org.springframework.data.jpa.repository.Query; |
| @@ -26,7 +30,7 @@ public interface ScheduleRealInfoRepository extends BaseRepository<ScheduleRealI | @@ -26,7 +30,7 @@ public interface ScheduleRealInfoRepository extends BaseRepository<ScheduleRealI | ||
| 26 | 30 | ||
| 27 | @Query(value="select min(s.id), s.jGh,s.clZbh,s.lpName,s.jName from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 GROUP BY s.jGh,s.clZbh,s.lpName ,s.jName order by (lpName+1)") | 31 | @Query(value="select min(s.id), s.jGh,s.clZbh,s.lpName,s.jName from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 GROUP BY s.jGh,s.clZbh,s.lpName ,s.jName order by (lpName+1)") |
| 28 | List<ScheduleRealInfo> queryUserInfo2(String line,String date); | 32 | List<ScheduleRealInfo> queryUserInfo2(String line,String date); |
| 29 | - | 33 | + |
| 30 | @Query(value="select min(s.id), s.clZbh from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 GROUP BY s.clZbh ") | 34 | @Query(value="select min(s.id), s.clZbh from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 GROUP BY s.clZbh ") |
| 31 | List<ScheduleRealInfo> queryUserInfo3(String line,String date); | 35 | List<ScheduleRealInfo> queryUserInfo3(String line,String date); |
| 32 | 36 | ||
| @@ -115,6 +119,10 @@ public interface ScheduleRealInfoRepository extends BaseRepository<ScheduleRealI | @@ -115,6 +119,10 @@ public interface ScheduleRealInfoRepository extends BaseRepository<ScheduleRealI | ||
| 115 | 119 | ||
| 116 | @Query(value="select s from ScheduleRealInfo s where s.xlBm like %?1% and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 and s.bcType not in ('in','out') order by s.xlBm") | 120 | @Query(value="select s from ScheduleRealInfo s where s.xlBm like %?1% and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 and s.bcType not in ('in','out') order by s.xlBm") |
| 117 | List<ScheduleRealInfo> scheduleByDateAndLine2(String line,String date); | 121 | List<ScheduleRealInfo> scheduleByDateAndLine2(String line,String date); |
| 122 | + | ||
| 123 | + //按月统计 | ||
| 124 | + @Query(value="select s from ScheduleRealInfo s where s.xlBm like %?1% and DATE_FORMAT(s.scheduleDate,'%Y-%m') = ?2 and s.bcType not in ('in','out') order by s.xlBm") | ||
| 125 | + List<ScheduleRealInfo> scheduleByDateAndLine3(String line,String date); | ||
| 118 | 126 | ||
| 119 | @Query(value="select new map(s.scheduleDate as scheduleDate,s.xlBm as xlBm,s.clZbh as clZbh,s.jGh as jGh) from ScheduleRealInfo s where s.xlBm like %?1% and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 GROUP BY xlBm,clZbh,jGh,scheduleDate,jGh ORDER BY realExecDate,fcsj,xlBm,clZbh") | 127 | @Query(value="select new map(s.scheduleDate as scheduleDate,s.xlBm as xlBm,s.clZbh as clZbh,s.jGh as jGh) from ScheduleRealInfo s where s.xlBm like %?1% and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 GROUP BY xlBm,clZbh,jGh,scheduleDate,jGh ORDER BY realExecDate,fcsj,xlBm,clZbh") |
| 120 | List<Map<String,Object>> yesterdayDataList(String line,String date); | 128 | List<Map<String,Object>> yesterdayDataList(String line,String date); |
| @@ -131,4 +139,16 @@ public interface ScheduleRealInfoRepository extends BaseRepository<ScheduleRealI | @@ -131,4 +139,16 @@ public interface ScheduleRealInfoRepository extends BaseRepository<ScheduleRealI | ||
| 131 | @Query(value="select new map(xlBm as xlBm) from ScheduleRealInfo s where DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?1 GROUP BY xlBm ORDER BY xlBm") | 139 | @Query(value="select new map(xlBm as xlBm) from ScheduleRealInfo s where DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?1 GROUP BY xlBm ORDER BY xlBm") |
| 132 | List<Map<String,Object>> setDDRBGroup(String date); | 140 | List<Map<String,Object>> setDDRBGroup(String date); |
| 133 | 141 | ||
| 142 | + @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) | ||
| 143 | + @Override | ||
| 144 | + Page<ScheduleRealInfo> findAll(Specification<ScheduleRealInfo> spec, Pageable pageable); | ||
| 145 | + | ||
| 146 | + @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) | ||
| 147 | + @Override | ||
| 148 | + List<ScheduleRealInfo> findAll(Specification<ScheduleRealInfo> spec); | ||
| 149 | + | ||
| 150 | + @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) | ||
| 151 | + @Override | ||
| 152 | + List<ScheduleRealInfo> findAll(); | ||
| 153 | + | ||
| 134 | } | 154 | } |
src/main/java/com/bsth/repository/sys/RealControAuthorityRepository.java
0 → 100644
| 1 | +package com.bsth.repository.sys; | ||
| 2 | + | ||
| 3 | +import com.bsth.entity.sys.RealControAuthority; | ||
| 4 | +import com.bsth.repository.BaseRepository; | ||
| 5 | +import org.springframework.data.jpa.repository.Query; | ||
| 6 | +import org.springframework.stereotype.Repository; | ||
| 7 | + | ||
| 8 | +/** | ||
| 9 | + * Created by panzhao on 2017/2/14. | ||
| 10 | + */ | ||
| 11 | +@Repository | ||
| 12 | +public interface RealControAuthorityRepository extends BaseRepository<RealControAuthority, Integer>{ | ||
| 13 | + | ||
| 14 | + @Query("select t from RealControAuthority t where t.userId=?1") | ||
| 15 | + RealControAuthority findByUserId(Integer userId); | ||
| 16 | +} |
src/main/java/com/bsth/service/gps/GpsService.java
| @@ -16,4 +16,6 @@ public interface GpsService { | @@ -16,4 +16,6 @@ public interface GpsService { | ||
| 16 | Map<String,Object> removeRealGps(String device); | 16 | Map<String,Object> removeRealGps(String device); |
| 17 | 17 | ||
| 18 | Map<String,Object> findRoadSpeed(String lineCode); | 18 | Map<String,Object> findRoadSpeed(String lineCode); |
| 19 | + | ||
| 20 | + Map<String,Object> gpsCompletion(long schId); | ||
| 19 | } | 21 | } |
src/main/java/com/bsth/service/gps/GpsServiceImpl.java
| @@ -5,8 +5,11 @@ import com.bsth.data.BasicData; | @@ -5,8 +5,11 @@ import com.bsth.data.BasicData; | ||
| 5 | import com.bsth.data.arrival.ArrivalEntity; | 5 | import com.bsth.data.arrival.ArrivalEntity; |
| 6 | import com.bsth.data.gpsdata.GpsEntity; | 6 | import com.bsth.data.gpsdata.GpsEntity; |
| 7 | import com.bsth.data.gpsdata.GpsRealData; | 7 | import com.bsth.data.gpsdata.GpsRealData; |
| 8 | +import com.bsth.data.schedule.DayOfSchedule; | ||
| 9 | +import com.bsth.entity.realcontrol.ScheduleRealInfo; | ||
| 8 | import com.bsth.repository.CarParkRepository; | 10 | import com.bsth.repository.CarParkRepository; |
| 9 | import com.bsth.repository.StationRepository; | 11 | import com.bsth.repository.StationRepository; |
| 12 | +import com.bsth.repository.realcontrol.ScheduleRealInfoRepository; | ||
| 10 | import com.bsth.util.DateUtils; | 13 | import com.bsth.util.DateUtils; |
| 11 | import com.bsth.util.TransGPS; | 14 | import com.bsth.util.TransGPS; |
| 12 | import com.bsth.util.TransGPS.Location; | 15 | import com.bsth.util.TransGPS.Location; |
| @@ -47,6 +50,12 @@ public class GpsServiceImpl implements GpsService { | @@ -47,6 +50,12 @@ public class GpsServiceImpl implements GpsService { | ||
| 47 | @Autowired | 50 | @Autowired |
| 48 | JdbcTemplate jdbcTemplate; | 51 | JdbcTemplate jdbcTemplate; |
| 49 | 52 | ||
| 53 | + @Autowired | ||
| 54 | + DayOfSchedule dayOfSchedule; | ||
| 55 | + | ||
| 56 | + @Autowired | ||
| 57 | + ScheduleRealInfoRepository scheduleRealInfoRepository; | ||
| 58 | + | ||
| 50 | // 历史gps查询 | 59 | // 历史gps查询 |
| 51 | @Override | 60 | @Override |
| 52 | public List<Map<String, Object>> history(String device, Long startTime, Long endTime, int directions) { | 61 | public List<Map<String, Object>> history(String device, Long startTime, Long endTime, int directions) { |
| @@ -203,7 +212,7 @@ public class GpsServiceImpl implements GpsService { | @@ -203,7 +212,7 @@ public class GpsServiceImpl implements GpsService { | ||
| 203 | conn = DBUtils_MS.getConnection(); | 212 | conn = DBUtils_MS.getConnection(); |
| 204 | ps = conn.prepareStatement(sql); | 213 | ps = conn.prepareStatement(sql); |
| 205 | ps.setInt(1, dayOfYear); | 214 | ps.setInt(1, dayOfYear); |
| 206 | - /* ps.setArray(2, conn.createArrayOf("VARCHAR", devices)); */ | 215 | + /* ps.setArray(2, conn.createArrayOf("VARCHAR", devices)); */ |
| 207 | ps.setLong(2, st * 1000); | 216 | ps.setLong(2, st * 1000); |
| 208 | ps.setLong(3, et * 1000); | 217 | ps.setLong(3, et * 1000); |
| 209 | 218 | ||
| @@ -411,6 +420,96 @@ public class GpsServiceImpl implements GpsService { | @@ -411,6 +420,96 @@ public class GpsServiceImpl implements GpsService { | ||
| 411 | return rs; | 420 | return rs; |
| 412 | } | 421 | } |
| 413 | 422 | ||
| 423 | + /** | ||
| 424 | + * gps补全 | ||
| 425 | + * | ||
| 426 | + * @param schId | ||
| 427 | + * @return | ||
| 428 | + */ | ||
| 429 | + @Override | ||
| 430 | + public Map<String, Object> gpsCompletion(long schId) { | ||
| 431 | + Map<String, Object> rs = new HashMap<>(); | ||
| 432 | + | ||
| 433 | + try { | ||
| 434 | + ScheduleRealInfo sch = dayOfSchedule.get(schId); | ||
| 435 | + if (sch == null) { | ||
| 436 | + rs.put("status", ResponseCode.ERROR); | ||
| 437 | + rs.put("msg", "找不到对应班次!!!"); | ||
| 438 | + return rs; | ||
| 439 | + } | ||
| 440 | + | ||
| 441 | + if(sch.isReissue()){ | ||
| 442 | + rs.put("status", ResponseCode.ERROR); | ||
| 443 | + rs.put("msg", "你不能重复这个操作"); | ||
| 444 | + return rs; | ||
| 445 | + } | ||
| 446 | + | ||
| 447 | + String sql = "select * from bsth_gps_template where line_id='" + sch.getXlBm() + "' and up_down=" + sch.getXlDir(); | ||
| 448 | + List<Map<String, Object>> list = jdbcTemplate.queryForList(sql); | ||
| 449 | + | ||
| 450 | + if(list.size() == 0){ | ||
| 451 | + rs.put("status", ResponseCode.ERROR); | ||
| 452 | + rs.put("msg", "缺少模板数据,请联系系统管理员!!"); | ||
| 453 | + return rs; | ||
| 454 | + } | ||
| 455 | + //排序 | ||
| 456 | + Collections.sort(list, new Comparator<Map<String, Object>>() { | ||
| 457 | + @Override | ||
| 458 | + public int compare(Map<String, Object> o1, Map<String, Object> o2) { | ||
| 459 | + return (int) (Long.parseLong(o1.get("ts").toString()) - Long.parseLong(o2.get("ts").toString())); | ||
| 460 | + } | ||
| 461 | + }); | ||
| 462 | + Map<String, Object> fs = list.get(0); | ||
| 463 | + //替换设备号和时间 | ||
| 464 | + int diff = (int) (sch.getDfsjT() - Long.parseLong(fs.get("ts").toString()) - 1000 * 70); | ||
| 465 | + | ||
| 466 | + String deviceId = BasicData.deviceId2NbbmMap.inverse().get(sch.getClZbh()); | ||
| 467 | + for(Map<String, Object> map : list){ | ||
| 468 | + map.put("device_id", deviceId); | ||
| 469 | + map.put("ts", Long.parseLong(map.get("ts").toString()) + diff); | ||
| 470 | + } | ||
| 471 | + | ||
| 472 | + String sqlBefore = "insert into bsth_c_template(" | ||
| 473 | + ,sqlValues = " values("; | ||
| 474 | + | ||
| 475 | + Set<String> ks = fs.keySet(); | ||
| 476 | + for(String k : ks){ | ||
| 477 | + sqlBefore += (k + ","); | ||
| 478 | + sqlValues += "?,"; | ||
| 479 | + } | ||
| 480 | + sqlBefore = sqlBefore.substring(0, sqlBefore.length() - 1) + ", create_ts)"; | ||
| 481 | + sqlValues = sqlValues.substring(0, sqlValues.length() - 1) + ", "+System.currentTimeMillis()+")"; | ||
| 482 | + sql = sqlBefore + " " + sqlValues; | ||
| 483 | + | ||
| 484 | + Connection conn = DBUtils_MS.getConnection(); | ||
| 485 | + conn.setAutoCommit(false); | ||
| 486 | + ps = conn.prepareStatement(sql); | ||
| 487 | + int fsize = ks.size(); | ||
| 488 | + List<Object> vs; | ||
| 489 | + for(Map<String, Object> map : list){ | ||
| 490 | + vs = new ArrayList<>(map.values()); | ||
| 491 | + for(int i = 0; i < fsize; i ++){ | ||
| 492 | + ps.setObject(i + 1, vs.get(i)); | ||
| 493 | + } | ||
| 494 | + ps.addBatch(); | ||
| 495 | + } | ||
| 496 | + ps.executeBatch(); | ||
| 497 | + conn.commit(); | ||
| 498 | + | ||
| 499 | + rs.put("status", ResponseCode.SUCCESS); | ||
| 500 | + | ||
| 501 | + //标记班次 | ||
| 502 | + sch.setReissue(true); | ||
| 503 | + scheduleRealInfoRepository.save(sch); | ||
| 504 | + | ||
| 505 | + rs.put("status", ResponseCode.SUCCESS); | ||
| 506 | + } catch (Exception e) { | ||
| 507 | + logger.error("", e); | ||
| 508 | + rs.put("status", ResponseCode.ERROR); | ||
| 509 | + } | ||
| 510 | + return rs; | ||
| 511 | + } | ||
| 512 | + | ||
| 414 | private void sortGpsList(final Field f, List<GpsEntity> rs) { | 513 | private void sortGpsList(final Field f, List<GpsEntity> rs) { |
| 415 | Collections.sort(rs, new Comparator<GpsEntity>() { | 514 | Collections.sort(rs, new Comparator<GpsEntity>() { |
| 416 | 515 |
src/main/java/com/bsth/service/impl/TrafficManageServiceImpl.java
| @@ -328,10 +328,21 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | @@ -328,10 +328,21 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | ||
| 328 | if((schRealInfo.get("xlBm")+"").equals(scheduleRealInfo.getXlBm()) && (schRealInfo.get("lpName")+"") | 328 | if((schRealInfo.get("xlBm")+"").equals(scheduleRealInfo.getXlBm()) && (schRealInfo.get("lpName")+"") |
| 329 | .equals(scheduleRealInfo.getLpName()) | 329 | .equals(scheduleRealInfo.getLpName()) |
| 330 | && (schRealInfo.get("clZbh")+"").equals(scheduleRealInfo.getClZbh())){ | 330 | && (schRealInfo.get("clZbh")+"").equals(scheduleRealInfo.getClZbh())){ |
| 331 | - if(scheduleRealInfo.getFcsjActual() == null ||scheduleRealInfo.getBcType().equals("in") | 331 | + |
| 332 | + if(scheduleRealInfo.isDestroy()){ | ||
| 333 | + if(scheduleRealInfo.isReissue()){ | ||
| 334 | + scheduleRealInfo.setFcsjActualAll(scheduleRealInfo.getDfsj()); | ||
| 335 | + scheduleRealInfo.setZdsjActualAll(scheduleRealInfo.getZdsj()); | ||
| 336 | + } | ||
| 337 | + else | ||
| 338 | + continue; | ||
| 339 | + } | ||
| 340 | + | ||
| 341 | + if(scheduleRealInfo.getBcType().equals("in") | ||
| 332 | || scheduleRealInfo.getBcType().equals("out")){ | 342 | || scheduleRealInfo.getBcType().equals("out")){ |
| 333 | continue; | 343 | continue; |
| 334 | } | 344 | } |
| 345 | + | ||
| 335 | scheduleRealInfo.getQdzCode(); | 346 | scheduleRealInfo.getQdzCode(); |
| 336 | sf.append("<LD>"); | 347 | sf.append("<LD>"); |
| 337 | sf.append("<SJGH>"+scheduleRealInfo.getjGh()+"</SJGH>"); | 348 | sf.append("<SJGH>"+scheduleRealInfo.getjGh()+"</SJGH>"); |
src/main/java/com/bsth/service/realcontrol/RealMapService.java
| @@ -15,4 +15,6 @@ public interface RealMapService { | @@ -15,4 +15,6 @@ public interface RealMapService { | ||
| 15 | Map<String,Object> findRouteAndStationByLine(String lineCode); | 15 | Map<String,Object> findRouteAndStationByLine(String lineCode); |
| 16 | 16 | ||
| 17 | Map<String,Object> multiSectionRoute(String codeIdx); | 17 | Map<String,Object> multiSectionRoute(String codeIdx); |
| 18 | + | ||
| 19 | + Map<String,Object> multiRouteByLine(String codeStr); | ||
| 18 | } | 20 | } |
src/main/java/com/bsth/service/realcontrol/ScheduleRealInfoService.java
| @@ -144,4 +144,6 @@ public interface ScheduleRealInfoService extends BaseService<ScheduleRealInfo, L | @@ -144,4 +144,6 @@ public interface ScheduleRealInfoService extends BaseService<ScheduleRealInfo, L | ||
| 144 | Map<String,Object> addRemarks(Long id, String remarks); | 144 | Map<String,Object> addRemarks(Long id, String remarks); |
| 145 | 145 | ||
| 146 | List<Map<String, Object>> scheduleDailyQp(String line ,String date); | 146 | List<Map<String, Object>> scheduleDailyQp(String line ,String date); |
| 147 | + | ||
| 148 | + List<Map<String, Object>> scheduleDailyExport(Map<String, Object> map); | ||
| 147 | } | 149 | } |
src/main/java/com/bsth/service/realcontrol/impl/RealMapServiceImpl.java
| @@ -159,6 +159,17 @@ public class RealMapServiceImpl implements RealMapService { | @@ -159,6 +159,17 @@ public class RealMapServiceImpl implements RealMapService { | ||
| 159 | return rs; | 159 | return rs; |
| 160 | } | 160 | } |
| 161 | 161 | ||
| 162 | + @Override | ||
| 163 | + public Map<String, Object> multiRouteByLine(String codeStr) { | ||
| 164 | + List<String> codeArray = Splitter.on(",").splitToList(codeStr); | ||
| 165 | + Map<String, Object> rs = new HashMap<>(); | ||
| 166 | + | ||
| 167 | + for(String code : codeArray){ | ||
| 168 | + rs.put(code + "_route" ,findRouteByLine(code)); | ||
| 169 | + } | ||
| 170 | + return rs; | ||
| 171 | + } | ||
| 172 | + | ||
| 162 | /** | 173 | /** |
| 163 | * wgs 坐标数组转 百度 | 174 | * wgs 坐标数组转 百度 |
| 164 | * | 175 | * |
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
| @@ -525,6 +525,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -525,6 +525,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 525 | map.put("fast", ""); | 525 | map.put("fast", ""); |
| 526 | map.put("slow", ""); | 526 | map.put("slow", ""); |
| 527 | } | 527 | } |
| 528 | + System.out.println(map); | ||
| 528 | listMap.add(map); | 529 | listMap.add(map); |
| 529 | } catch (Exception e) { | 530 | } catch (Exception e) { |
| 530 | e.printStackTrace(); | 531 | e.printStackTrace(); |
| @@ -1386,13 +1387,18 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1386,13 +1387,18 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1386 | @Override | 1387 | @Override |
| 1387 | public List<Map<String, Object>> statisticsDaily(String line, String date, | 1388 | public List<Map<String, Object>> statisticsDaily(String line, String date, |
| 1388 | String xlName, String type) { | 1389 | String xlName, String type) { |
| 1389 | - List<ScheduleRealInfo> list = scheduleRealInfoRepository.scheduleByDateAndLine2(line, date); | 1390 | + List<ScheduleRealInfo> list = new ArrayList<ScheduleRealInfo>(); |
| 1391 | + if(date.length() == 10) | ||
| 1392 | + list = scheduleRealInfoRepository.scheduleByDateAndLine2(line, date); | ||
| 1393 | + else if(date.length() == 7) | ||
| 1394 | + list = scheduleRealInfoRepository.scheduleByDateAndLine3(line, date); | ||
| 1390 | 1395 | ||
| 1391 | List<Map<String, Object>> lMap = new ArrayList<Map<String, Object>>(); | 1396 | List<Map<String, Object>> lMap = new ArrayList<Map<String, Object>>(); |
| 1392 | DecimalFormat format = new DecimalFormat("0.00"); | 1397 | DecimalFormat format = new DecimalFormat("0.00"); |
| 1393 | double jhlc = 0, tempJhlc = 0, childMileage = 0; | 1398 | double jhlc = 0, tempJhlc = 0, childMileage = 0; |
| 1394 | float sjgl = 0f, ssgl = 0f, ssgl_lz = 0f, ssgl_dm = 0f, ssgl_gz = 0f, ssgl_jf = 0f, ssgl_zs = 0f, ssgl_qr = 0f, ssgl_qc = 0f, ssgl_kx = 0f, ssgl_qh = 0f, ssgl_yw = 0f, ssgl_other = 0f, ljgl = 0f; | 1399 | float sjgl = 0f, ssgl = 0f, ssgl_lz = 0f, ssgl_dm = 0f, ssgl_gz = 0f, ssgl_jf = 0f, ssgl_zs = 0f, ssgl_qr = 0f, ssgl_qc = 0f, ssgl_kx = 0f, ssgl_qh = 0f, ssgl_yw = 0f, ssgl_other = 0f, ljgl = 0f; |
| 1395 | //班次 | 1400 | //班次 |
| 1401 | + int ssbc = 0, ssbc_lz = 0, ssbc_dm = 0, ssbc_gz = 0, ssbc_jf = 0, ssbc_zs = 0, ssbc_qr = 0, ssbc_qc = 0, ssbc_kx = 0, ssbc_qh = 0, ssbc_yw = 0, ssbc_other = 0; | ||
| 1396 | int sj_0 = 6 * 60 + 31, sj_1 = 8 * 60 + 30, sj_2 = 16 * 60 + 1, sj_3 = 18 * 60; | 1402 | int sj_0 = 6 * 60 + 31, sj_1 = 8 * 60 + 30, sj_2 = 16 * 60 + 1, sj_3 = 18 * 60; |
| 1397 | int jhbc = 0, jhbc_m = 0, jhbc_a = 0; | 1403 | int jhbc = 0, jhbc_m = 0, jhbc_a = 0; |
| 1398 | int sjbc = 0, sjbc_m = 0, sjbc_a = 0; | 1404 | int sjbc = 0, sjbc_m = 0, sjbc_a = 0; |
| @@ -1406,6 +1412,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1406,6 +1412,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1406 | ssgl_gzZ = 0f, ssgl_jfZ = 0f, ssgl_zsZ = 0f, ssgl_qrZ = 0f, ssgl_qcZ = 0f, | 1412 | ssgl_gzZ = 0f, ssgl_jfZ = 0f, ssgl_zsZ = 0f, ssgl_qrZ = 0f, ssgl_qcZ = 0f, |
| 1407 | ssgl_kxZ = 0f, ssgl_qhZ = 0f, ssgl_ywZ = 0f, ssgl_otherZ = 0f, ljglZ = 0f; | 1413 | ssgl_kxZ = 0f, ssgl_qhZ = 0f, ssgl_ywZ = 0f, ssgl_otherZ = 0f, ljglZ = 0f; |
| 1408 | //班次 | 1414 | //班次 |
| 1415 | + int ssbcZ = 0, ssbc_lzZ = 0, ssbc_dmZ = 0, ssbc_gzZ = 0, ssbc_jfZ = 0, ssbc_zsZ = 0, ssbc_qrZ = 0, ssbc_qcZ = 0, ssbc_kxZ = 0, ssbc_qhZ = 0, ssbc_ywZ = 0, ssbc_otherZ = 0; | ||
| 1409 | int jhbcZ = 0, jhbc_mZ = 0, jhbc_aZ = 0; | 1416 | int jhbcZ = 0, jhbc_mZ = 0, jhbc_aZ = 0; |
| 1410 | int sjbcZ = 0, sjbc_mZ = 0, sjbc_aZ = 0; | 1417 | int sjbcZ = 0, sjbc_mZ = 0, sjbc_aZ = 0; |
| 1411 | int ljbcZ = 0, ljbc_mZ = 0, ljbc_aZ = 0; | 1418 | int ljbcZ = 0, ljbc_mZ = 0, ljbc_aZ = 0; |
| @@ -1431,39 +1438,63 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1431,39 +1438,63 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1431 | if (scheduleRealInfo.getStatus() == -1) { | 1438 | if (scheduleRealInfo.getStatus() == -1) { |
| 1432 | ssgl += tempJhlc; | 1439 | ssgl += tempJhlc; |
| 1433 | ssglZ += tempJhlc; | 1440 | ssglZ += tempJhlc; |
| 1441 | + ssbc++; | ||
| 1442 | + ssbcZ++; | ||
| 1434 | if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("路阻") != -1) { | 1443 | if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("路阻") != -1) { |
| 1435 | ssgl_lz += tempJhlc; | 1444 | ssgl_lz += tempJhlc; |
| 1436 | ssgl_lzZ += tempJhlc; | 1445 | ssgl_lzZ += tempJhlc; |
| 1446 | + ssbc_lz++; | ||
| 1447 | + ssbc_lzZ++; | ||
| 1437 | } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("吊慢") != -1) { | 1448 | } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("吊慢") != -1) { |
| 1438 | ssgl_dm += tempJhlc; | 1449 | ssgl_dm += tempJhlc; |
| 1439 | ssgl_dmZ += tempJhlc; | 1450 | ssgl_dmZ += tempJhlc; |
| 1451 | + ssbc_dm++; | ||
| 1452 | + ssbc_dmZ++; | ||
| 1440 | } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("故障") != -1) { | 1453 | } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("故障") != -1) { |
| 1441 | ssgl_gz += tempJhlc; | 1454 | ssgl_gz += tempJhlc; |
| 1442 | ssgl_gzZ += tempJhlc; | 1455 | ssgl_gzZ += tempJhlc; |
| 1456 | + ssbc_gz++; | ||
| 1457 | + ssbc_gzZ++; | ||
| 1443 | } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("纠纷") != -1) { | 1458 | } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("纠纷") != -1) { |
| 1444 | ssgl_jf += tempJhlc; | 1459 | ssgl_jf += tempJhlc; |
| 1445 | ssgl_jfZ += tempJhlc; | 1460 | ssgl_jfZ += tempJhlc; |
| 1461 | + ssbc_jf++; | ||
| 1462 | + ssbc_jfZ++; | ||
| 1446 | } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("肇事") != -1) { | 1463 | } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("肇事") != -1) { |
| 1447 | ssgl_zs += tempJhlc; | 1464 | ssgl_zs += tempJhlc; |
| 1448 | ssgl_zsZ += tempJhlc; | 1465 | ssgl_zsZ += tempJhlc; |
| 1466 | + ssbc_zs++; | ||
| 1467 | + ssbc_zsZ++; | ||
| 1449 | } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("缺人") != -1) { | 1468 | } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("缺人") != -1) { |
| 1450 | ssgl_qr += tempJhlc; | 1469 | ssgl_qr += tempJhlc; |
| 1451 | ssgl_qrZ += tempJhlc; | 1470 | ssgl_qrZ += tempJhlc; |
| 1471 | + ssbc_qr++; | ||
| 1472 | + ssbc_qrZ++; | ||
| 1452 | } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("缺车") != -1) { | 1473 | } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("缺车") != -1) { |
| 1453 | ssgl_qc += tempJhlc; | 1474 | ssgl_qc += tempJhlc; |
| 1454 | ssgl_qcZ += tempJhlc; | 1475 | ssgl_qcZ += tempJhlc; |
| 1476 | + ssbc_qc++; | ||
| 1477 | + ssbc_qcZ++; | ||
| 1455 | } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("客稀") != -1) { | 1478 | } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("客稀") != -1) { |
| 1456 | ssgl_kx += tempJhlc; | 1479 | ssgl_kx += tempJhlc; |
| 1457 | ssgl_kxZ += tempJhlc; | 1480 | ssgl_kxZ += tempJhlc; |
| 1481 | + ssbc_kx++; | ||
| 1482 | + ssbc_kxZ++; | ||
| 1458 | } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("气候") != -1) { | 1483 | } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("气候") != -1) { |
| 1459 | ssgl_qh += tempJhlc; | 1484 | ssgl_qh += tempJhlc; |
| 1460 | ssgl_qhZ += tempJhlc; | 1485 | ssgl_qhZ += tempJhlc; |
| 1486 | + ssbc_qh++; | ||
| 1487 | + ssbc_qhZ++; | ||
| 1461 | } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("援外") != -1) { | 1488 | } else if ((scheduleRealInfo.getRemarks() == null ? "" : scheduleRealInfo.getRemarks()).indexOf("援外") != -1) { |
| 1462 | ssgl_yw += tempJhlc; | 1489 | ssgl_yw += tempJhlc; |
| 1463 | ssgl_ywZ += tempJhlc; | 1490 | ssgl_ywZ += tempJhlc; |
| 1491 | + ssbc_yw++; | ||
| 1492 | + ssbc_ywZ++; | ||
| 1464 | } else { | 1493 | } else { |
| 1465 | ssgl_other += tempJhlc; | 1494 | ssgl_other += tempJhlc; |
| 1466 | ssgl_otherZ += tempJhlc; | 1495 | ssgl_otherZ += tempJhlc; |
| 1496 | + ssbc_other++; | ||
| 1497 | + ssbc_otherZ++; | ||
| 1467 | } | 1498 | } |
| 1468 | }else { | 1499 | }else { |
| 1469 | sjgl += tempJhlc; | 1500 | sjgl += tempJhlc; |
| @@ -1479,39 +1510,63 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1479,39 +1510,63 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1479 | if (childTaskPlan.isDestroy()) { | 1510 | if (childTaskPlan.isDestroy()) { |
| 1480 | ssgl += childMileage; | 1511 | ssgl += childMileage; |
| 1481 | ssglZ += childMileage; | 1512 | ssglZ += childMileage; |
| 1513 | + ssbc++; | ||
| 1514 | + ssbcZ++; | ||
| 1482 | if (childTaskPlan.getDestroyReason().equals("路阻")) { | 1515 | if (childTaskPlan.getDestroyReason().equals("路阻")) { |
| 1483 | ssgl_lz += childTaskPlan.getMileage(); | 1516 | ssgl_lz += childTaskPlan.getMileage(); |
| 1484 | ssgl_lzZ += childTaskPlan.getMileage(); | 1517 | ssgl_lzZ += childTaskPlan.getMileage(); |
| 1518 | + ssbc_lzZ++; | ||
| 1519 | + ssbc_lzZ++; | ||
| 1485 | } else if (childTaskPlan.getDestroyReason().equals("吊慢")) { | 1520 | } else if (childTaskPlan.getDestroyReason().equals("吊慢")) { |
| 1486 | ssgl_dm += childTaskPlan.getMileage(); | 1521 | ssgl_dm += childTaskPlan.getMileage(); |
| 1487 | ssgl_dmZ += childTaskPlan.getMileage(); | 1522 | ssgl_dmZ += childTaskPlan.getMileage(); |
| 1523 | + ssbc_dm++; | ||
| 1524 | + ssbc_dmZ++; | ||
| 1488 | } else if (childTaskPlan.getDestroyReason().equals("故障")) { | 1525 | } else if (childTaskPlan.getDestroyReason().equals("故障")) { |
| 1489 | ssgl_gz += childTaskPlan.getMileage(); | 1526 | ssgl_gz += childTaskPlan.getMileage(); |
| 1490 | ssgl_gzZ += childTaskPlan.getMileage(); | 1527 | ssgl_gzZ += childTaskPlan.getMileage(); |
| 1528 | + ssbc_gz++; | ||
| 1529 | + ssbc_gzZ++; | ||
| 1491 | } else if (childTaskPlan.getDestroyReason().equals("纠纷")) { | 1530 | } else if (childTaskPlan.getDestroyReason().equals("纠纷")) { |
| 1492 | ssgl_jf += childTaskPlan.getMileage(); | 1531 | ssgl_jf += childTaskPlan.getMileage(); |
| 1493 | ssgl_jfZ += childTaskPlan.getMileage(); | 1532 | ssgl_jfZ += childTaskPlan.getMileage(); |
| 1533 | + ssbc_jf++; | ||
| 1534 | + ssbc_jfZ++; | ||
| 1494 | } else if (childTaskPlan.getDestroyReason().equals("肇事")) { | 1535 | } else if (childTaskPlan.getDestroyReason().equals("肇事")) { |
| 1495 | ssgl_zs += childTaskPlan.getMileage(); | 1536 | ssgl_zs += childTaskPlan.getMileage(); |
| 1496 | ssgl_zsZ += childTaskPlan.getMileage(); | 1537 | ssgl_zsZ += childTaskPlan.getMileage(); |
| 1538 | + ssbc_zs++; | ||
| 1539 | + ssbc_zsZ++; | ||
| 1497 | } else if (childTaskPlan.getDestroyReason().equals("缺人")) { | 1540 | } else if (childTaskPlan.getDestroyReason().equals("缺人")) { |
| 1498 | ssgl_qr += childTaskPlan.getMileage(); | 1541 | ssgl_qr += childTaskPlan.getMileage(); |
| 1499 | ssgl_qrZ += childTaskPlan.getMileage(); | 1542 | ssgl_qrZ += childTaskPlan.getMileage(); |
| 1543 | + ssbc_qr++; | ||
| 1544 | + ssbc_qrZ++; | ||
| 1500 | } else if (childTaskPlan.getDestroyReason().equals("缺车")) { | 1545 | } else if (childTaskPlan.getDestroyReason().equals("缺车")) { |
| 1501 | ssgl_qc += childTaskPlan.getMileage(); | 1546 | ssgl_qc += childTaskPlan.getMileage(); |
| 1502 | ssgl_qcZ += childTaskPlan.getMileage(); | 1547 | ssgl_qcZ += childTaskPlan.getMileage(); |
| 1548 | + ssbc_qc++; | ||
| 1549 | + ssbc_qcZ++; | ||
| 1503 | } else if (childTaskPlan.getDestroyReason().equals("客稀")) { | 1550 | } else if (childTaskPlan.getDestroyReason().equals("客稀")) { |
| 1504 | ssgl_kx += childTaskPlan.getMileage(); | 1551 | ssgl_kx += childTaskPlan.getMileage(); |
| 1505 | ssgl_kxZ += childTaskPlan.getMileage(); | 1552 | ssgl_kxZ += childTaskPlan.getMileage(); |
| 1553 | + ssbc_kx++; | ||
| 1554 | + ssbc_kxZ++; | ||
| 1506 | } else if (childTaskPlan.getDestroyReason().equals("气候")) { | 1555 | } else if (childTaskPlan.getDestroyReason().equals("气候")) { |
| 1507 | ssgl_qh += childTaskPlan.getMileage(); | 1556 | ssgl_qh += childTaskPlan.getMileage(); |
| 1508 | ssgl_qhZ += childTaskPlan.getMileage(); | 1557 | ssgl_qhZ += childTaskPlan.getMileage(); |
| 1558 | + ssbc_qh++; | ||
| 1559 | + ssbc_qhZ++; | ||
| 1509 | } else if (childTaskPlan.getDestroyReason().equals("援外")) { | 1560 | } else if (childTaskPlan.getDestroyReason().equals("援外")) { |
| 1510 | ssgl_yw += childTaskPlan.getMileage(); | 1561 | ssgl_yw += childTaskPlan.getMileage(); |
| 1511 | ssgl_ywZ += childTaskPlan.getMileage(); | 1562 | ssgl_ywZ += childTaskPlan.getMileage(); |
| 1563 | + ssbc_yw++; | ||
| 1564 | + ssbc_ywZ++; | ||
| 1512 | } else { | 1565 | } else { |
| 1513 | ssgl_other += childTaskPlan.getMileage(); | 1566 | ssgl_other += childTaskPlan.getMileage(); |
| 1514 | ssgl_otherZ += childTaskPlan.getMileage(); | 1567 | ssgl_otherZ += childTaskPlan.getMileage(); |
| 1568 | + ssbc_other++; | ||
| 1569 | + ssbc_otherZ++; | ||
| 1515 | } | 1570 | } |
| 1516 | } else { | 1571 | } else { |
| 1517 | sjgl += childMileage; | 1572 | sjgl += childMileage; |
| @@ -1522,6 +1577,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1522,6 +1577,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1522 | 1577 | ||
| 1523 | //班次 | 1578 | //班次 |
| 1524 | jhbc++; | 1579 | jhbc++; |
| 1580 | + jhbcZ++; | ||
| 1525 | String[] fcsj = scheduleRealInfo.getFcsj().split(":"); | 1581 | String[] fcsj = scheduleRealInfo.getFcsj().split(":"); |
| 1526 | String[] fcsjActual = (scheduleRealInfo.getFcsjActual() == null ? "0:00" : scheduleRealInfo.getFcsjActual()).split(":"); | 1582 | String[] fcsjActual = (scheduleRealInfo.getFcsjActual() == null ? "0:00" : scheduleRealInfo.getFcsjActual()).split(":"); |
| 1527 | if ((Integer.parseInt(fcsj[0]) * 60 + Integer.parseInt(fcsj[1])) > sj_0 && (Integer.parseInt(fcsj[0]) * 60 + Integer.parseInt(fcsj[1])) < sj_1) { | 1583 | if ((Integer.parseInt(fcsj[0]) * 60 + Integer.parseInt(fcsj[1])) > sj_0 && (Integer.parseInt(fcsj[0]) * 60 + Integer.parseInt(fcsj[1])) < sj_1) { |
| @@ -1584,6 +1640,18 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1584,6 +1640,18 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1584 | map.put("ssgl_qh", ssgl_qh == 0 ? 0 : format.format(ssgl_qh)); | 1640 | map.put("ssgl_qh", ssgl_qh == 0 ? 0 : format.format(ssgl_qh)); |
| 1585 | map.put("ssgl_yw", ssgl_yw == 0 ? 0 : format.format(ssgl_yw)); | 1641 | map.put("ssgl_yw", ssgl_yw == 0 ? 0 : format.format(ssgl_yw)); |
| 1586 | map.put("ssgl_other", ssgl_other == 0 ? 0 : format.format(ssgl_other)); | 1642 | map.put("ssgl_other", ssgl_other == 0 ? 0 : format.format(ssgl_other)); |
| 1643 | + map.put("ssbc", ssbc); | ||
| 1644 | + map.put("ssbc_lz", ssbc_lz); | ||
| 1645 | + map.put("ssbc_dm", ssbc_dm); | ||
| 1646 | + map.put("ssbc_gz", ssbc_gz); | ||
| 1647 | + map.put("ssbc_jf", ssbc_jf); | ||
| 1648 | + map.put("ssbc_zs", ssbc_zs); | ||
| 1649 | + map.put("ssbc_qr", ssbc_qr); | ||
| 1650 | + map.put("ssbc_qc", ssbc_qc); | ||
| 1651 | + map.put("ssbc_kx", ssbc_kx); | ||
| 1652 | + map.put("ssbc_qh", ssbc_qh); | ||
| 1653 | + map.put("ssbc_yw", ssbc_yw); | ||
| 1654 | + map.put("ssbc_other", ssbc_other); | ||
| 1587 | map.put("ljgl", ljgl == 0 ? 0 : format.format(ljgl)); | 1655 | map.put("ljgl", ljgl == 0 ? 0 : format.format(ljgl)); |
| 1588 | map.put("jhbc", jhbc); | 1656 | map.put("jhbc", jhbc); |
| 1589 | map.put("jhbc_m", jhbc_m); | 1657 | map.put("jhbc_m", jhbc_m); |
| @@ -1634,6 +1702,18 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1634,6 +1702,18 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1634 | map.put("ssgl_qh", ssgl_qh == 0 ? 0 : format.format(ssgl_qh)); | 1702 | map.put("ssgl_qh", ssgl_qh == 0 ? 0 : format.format(ssgl_qh)); |
| 1635 | map.put("ssgl_yw", ssgl_yw == 0 ? 0 : format.format(ssgl_yw)); | 1703 | map.put("ssgl_yw", ssgl_yw == 0 ? 0 : format.format(ssgl_yw)); |
| 1636 | map.put("ssgl_other", ssgl_other == 0 ? 0 : format.format(ssgl_other)); | 1704 | map.put("ssgl_other", ssgl_other == 0 ? 0 : format.format(ssgl_other)); |
| 1705 | + map.put("ssbc", ssbc); | ||
| 1706 | + map.put("ssbc_lz", ssbc_lz); | ||
| 1707 | + map.put("ssbc_dm", ssbc_dm); | ||
| 1708 | + map.put("ssbc_gz", ssbc_gz); | ||
| 1709 | + map.put("ssbc_jf", ssbc_jf); | ||
| 1710 | + map.put("ssbc_zs", ssbc_zs); | ||
| 1711 | + map.put("ssbc_qr", ssbc_qr); | ||
| 1712 | + map.put("ssbc_qc", ssbc_qc); | ||
| 1713 | + map.put("ssbc_kx", ssbc_kx); | ||
| 1714 | + map.put("ssbc_qh", ssbc_qh); | ||
| 1715 | + map.put("ssbc_yw", ssbc_yw); | ||
| 1716 | + map.put("ssbc_other", ssbc_other); | ||
| 1637 | map.put("ljgl", ljgl == 0 ? 0 : format.format(ljgl)); | 1717 | map.put("ljgl", ljgl == 0 ? 0 : format.format(ljgl)); |
| 1638 | map.put("jhbc", jhbc); | 1718 | map.put("jhbc", jhbc); |
| 1639 | map.put("jhbc_m", jhbc_m); | 1719 | map.put("jhbc_m", jhbc_m); |
| @@ -1685,6 +1765,18 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1685,6 +1765,18 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1685 | map.put("ssgl_qh", ssgl_qhZ == 0 ? 0 : format.format(ssgl_qhZ)); | 1765 | map.put("ssgl_qh", ssgl_qhZ == 0 ? 0 : format.format(ssgl_qhZ)); |
| 1686 | map.put("ssgl_yw", ssgl_ywZ == 0 ? 0 : format.format(ssgl_ywZ)); | 1766 | map.put("ssgl_yw", ssgl_ywZ == 0 ? 0 : format.format(ssgl_ywZ)); |
| 1687 | map.put("ssgl_other", ssgl_otherZ == 0 ? 0 : format.format(ssgl_otherZ)); | 1767 | map.put("ssgl_other", ssgl_otherZ == 0 ? 0 : format.format(ssgl_otherZ)); |
| 1768 | + map.put("ssbc", ssbcZ); | ||
| 1769 | + map.put("ssbc_lz", ssbc_lzZ); | ||
| 1770 | + map.put("ssbc_dm", ssbc_lzZ); | ||
| 1771 | + map.put("ssbc_gz", ssbc_gzZ); | ||
| 1772 | + map.put("ssbc_jf", ssbc_jfZ); | ||
| 1773 | + map.put("ssbc_zs", ssbc_zsZ); | ||
| 1774 | + map.put("ssbc_qr", ssbc_qrZ); | ||
| 1775 | + map.put("ssbc_qc", ssbc_qcZ); | ||
| 1776 | + map.put("ssbc_kx", ssbc_qcZ); | ||
| 1777 | + map.put("ssbc_qh", ssbc_qhZ); | ||
| 1778 | + map.put("ssbc_yw", ssbc_ywZ); | ||
| 1779 | + map.put("ssbc_other", ssbc_otherZ); | ||
| 1688 | map.put("ljgl", ljglZ == 0 ? 0 : format.format(ljglZ)); | 1780 | map.put("ljgl", ljglZ == 0 ? 0 : format.format(ljglZ)); |
| 1689 | map.put("jhbc", jhbcZ); | 1781 | map.put("jhbc", jhbcZ); |
| 1690 | map.put("jhbc_m", jhbc_mZ); | 1782 | map.put("jhbc_m", jhbc_mZ); |
| @@ -2365,7 +2457,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2365,7 +2457,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2365 | // int ljbc = scheduleRealInfoRepository.findLjbc(jName, clZbh, lpName); | 2457 | // int ljbc = scheduleRealInfoRepository.findLjbc(jName, clZbh, lpName); |
| 2366 | int jhbc = 0,cjbc = 0,ljbc = 0; | 2458 | int jhbc = 0,cjbc = 0,ljbc = 0; |
| 2367 | double jhlc = 0, yygl = 0, ksgl = 0,tempJhlc = 0,jcclc=0; | 2459 | double jhlc = 0, yygl = 0, ksgl = 0,tempJhlc = 0,jcclc=0; |
| 2368 | - float addMileage = 0l,remMileage = 0l; | 2460 | + float addMileage = 0l,remMileage = 0l, addgl = 0, remgl = 0; |
| 2369 | int xyz=1; | 2461 | int xyz=1; |
| 2370 | Map<String,Object> map; | 2462 | Map<String,Object> map; |
| 2371 | for(ScheduleRealInfo scheduleRealInfo : scheduleRealInfos){ | 2463 | for(ScheduleRealInfo scheduleRealInfo : scheduleRealInfos){ |
| @@ -2375,6 +2467,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2375,6 +2467,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2375 | //烂班里程(主任务烂班), | 2467 | //烂班里程(主任务烂班), |
| 2376 | //临加里程(主任务临加), | 2468 | //临加里程(主任务临加), |
| 2377 | //计划班次,烂班班次,增加班次 | 2469 | //计划班次,烂班班次,增加班次 |
| 2470 | + double jh = 0, sj = 0; | ||
| 2378 | tempJhlc = scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc(); | 2471 | tempJhlc = scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc(); |
| 2379 | if(scheduleRealInfo.isSflj()){ | 2472 | if(scheduleRealInfo.isSflj()){ |
| 2380 | ljbc++; | 2473 | ljbc++; |
| @@ -2382,7 +2475,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2382,7 +2475,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2382 | if( !(scheduleRealInfo.getBcType().equals("in") | 2475 | if( !(scheduleRealInfo.getBcType().equals("in") |
| 2383 | ||scheduleRealInfo.getBcType().equals("out")) ){ | 2476 | ||scheduleRealInfo.getBcType().equals("out")) ){ |
| 2384 | jhbc++; | 2477 | jhbc++; |
| 2385 | - jhlc += tempJhlc; | 2478 | + jh += tempJhlc; |
| 2386 | } | 2479 | } |
| 2387 | if(scheduleRealInfo.getStatus() == -1){ | 2480 | if(scheduleRealInfo.getStatus() == -1){ |
| 2388 | remMileage += tempJhlc; | 2481 | remMileage += tempJhlc; |
| @@ -2405,7 +2498,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2405,7 +2498,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2405 | if(scheduleRealInfo.isSflj()){ | 2498 | if(scheduleRealInfo.isSflj()){ |
| 2406 | addMileage += tempJhlc; | 2499 | addMileage += tempJhlc; |
| 2407 | } | 2500 | } |
| 2408 | - yygl += tempJhlc; | 2501 | + sj += tempJhlc; |
| 2409 | } | 2502 | } |
| 2410 | } | 2503 | } |
| 2411 | }else{ | 2504 | }else{ |
| @@ -2429,7 +2522,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2429,7 +2522,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2429 | if(scheduleRealInfo.isSflj()){ | 2522 | if(scheduleRealInfo.isSflj()){ |
| 2430 | addMileage += tempJhlc; | 2523 | addMileage += tempJhlc; |
| 2431 | } | 2524 | } |
| 2432 | - yygl += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); | 2525 | + sj += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); |
| 2433 | } | 2526 | } |
| 2434 | } | 2527 | } |
| 2435 | } | 2528 | } |
| @@ -2475,11 +2568,19 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2475,11 +2568,19 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2475 | map.put("fast", ""); | 2568 | map.put("fast", ""); |
| 2476 | map.put("slow", ""); | 2569 | map.put("slow", ""); |
| 2477 | } | 2570 | } |
| 2478 | - listMap.add(map); | 2571 | + System.out.println(map); |
| 2572 | + listMap.add(map); | ||
| 2479 | } catch (Exception e) { | 2573 | } catch (Exception e) { |
| 2480 | e.printStackTrace(); | 2574 | e.printStackTrace(); |
| 2481 | } | 2575 | } |
| 2482 | } | 2576 | } |
| 2577 | + jhlc += jh; | ||
| 2578 | + yygl += sj; | ||
| 2579 | + if(jh > sj){ | ||
| 2580 | + remgl += jh - sj; | ||
| 2581 | + } else { | ||
| 2582 | + addgl += sj - jh; | ||
| 2583 | + } | ||
| 2483 | } | 2584 | } |
| 2484 | } | 2585 | } |
| 2485 | 2586 | ||
| @@ -2498,7 +2599,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2498,7 +2599,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2498 | map.put("yygljh", format.format(jhlc)); | 2599 | map.put("yygljh", format.format(jhlc)); |
| 2499 | map.put("ssgl", format.format(remMileage)); | 2600 | map.put("ssgl", format.format(remMileage)); |
| 2500 | map.put("ksgl", format.format(ksgl)); | 2601 | map.put("ksgl", format.format(ksgl)); |
| 2501 | - map.put("yyglsj", format.format(yygl+remMileage)); | 2602 | + map.put("yyglsj", format.format(yygl)); |
| 2502 | map.put("jhbc", jhbc); | 2603 | map.put("jhbc", jhbc); |
| 2503 | map.put("jcclc", jcclc); | 2604 | map.put("jcclc", jcclc); |
| 2504 | 2605 | ||
| @@ -2506,7 +2607,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2506,7 +2607,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2506 | map.put("ssbc", cjbc); | 2607 | map.put("ssbc", cjbc); |
| 2507 | map.put("ysgl", format.format(yygl)); | 2608 | map.put("ysgl", format.format(yygl)); |
| 2508 | map.put("sjbc", jhbc-cjbc+ljbc); | 2609 | map.put("sjbc", jhbc-cjbc+ljbc); |
| 2509 | - map.put("zgl", format.format(yygl+remMileage+ksgl+jcclc)); | 2610 | + map.put("zgl", format.format(yygl+ksgl+jcclc)); |
| 2510 | map.put("ljbc", ljbc); | 2611 | map.put("ljbc", ljbc); |
| 2511 | String zdp="",zwdp="",wdp=""; | 2612 | String zdp="",zwdp="",wdp=""; |
| 2512 | SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm"); | 2613 | SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm"); |
| @@ -2557,7 +2658,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2557,7 +2658,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2557 | // int ljbc = scheduleRealInfoRepository.findLjbc(jName, clZbh, lpName); | 2658 | // int ljbc = scheduleRealInfoRepository.findLjbc(jName, clZbh, lpName); |
| 2558 | int jhbc = 0,cjbc = 0,ljbc = 0; | 2659 | int jhbc = 0,cjbc = 0,ljbc = 0; |
| 2559 | double jhlc = 0, yygl = 0, ksgl = 0,tempJhlc = 0,jcclc=0; | 2660 | double jhlc = 0, yygl = 0, ksgl = 0,tempJhlc = 0,jcclc=0; |
| 2560 | - float addMileage = 0l,remMileage = 0l; | 2661 | + float addMileage = 0l,remMileage = 0l, addgl = 0, remgl = 0; |
| 2561 | Map<String,Object> map = new HashMap<String, Object>(); | 2662 | Map<String,Object> map = new HashMap<String, Object>(); |
| 2562 | for(ScheduleRealInfo scheduleRealInfo : list){ | 2663 | for(ScheduleRealInfo scheduleRealInfo : list){ |
| 2563 | if(scheduleRealInfo != null){ | 2664 | if(scheduleRealInfo != null){ |
| @@ -2565,6 +2666,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2565,6 +2666,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2565 | //烂班里程(主任务烂班), | 2666 | //烂班里程(主任务烂班), |
| 2566 | //临加里程(主任务临加), | 2667 | //临加里程(主任务临加), |
| 2567 | //计划班次,烂班班次,增加班次 | 2668 | //计划班次,烂班班次,增加班次 |
| 2669 | + double jh = 0, sj = 0; | ||
| 2568 | tempJhlc = scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc(); | 2670 | tempJhlc = scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc(); |
| 2569 | if(scheduleRealInfo.isSflj()){ | 2671 | if(scheduleRealInfo.isSflj()){ |
| 2570 | ljbc++; | 2672 | ljbc++; |
| @@ -2572,7 +2674,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2572,7 +2674,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2572 | if( !(scheduleRealInfo.getBcType().equals("in") | 2674 | if( !(scheduleRealInfo.getBcType().equals("in") |
| 2573 | ||scheduleRealInfo.getBcType().equals("out")) ){ | 2675 | ||scheduleRealInfo.getBcType().equals("out")) ){ |
| 2574 | jhbc++; | 2676 | jhbc++; |
| 2575 | - jhlc += tempJhlc; | 2677 | + jh += tempJhlc; |
| 2576 | } | 2678 | } |
| 2577 | 2679 | ||
| 2578 | if(scheduleRealInfo.getStatus() == -1){ | 2680 | if(scheduleRealInfo.getStatus() == -1){ |
| @@ -2597,7 +2699,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2597,7 +2699,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2597 | if(scheduleRealInfo.isSflj()){ | 2699 | if(scheduleRealInfo.isSflj()){ |
| 2598 | addMileage += tempJhlc; | 2700 | addMileage += tempJhlc; |
| 2599 | } | 2701 | } |
| 2600 | - yygl += tempJhlc; | 2702 | + sj += tempJhlc; |
| 2601 | } | 2703 | } |
| 2602 | } | 2704 | } |
| 2603 | }else{ | 2705 | }else{ |
| @@ -2621,18 +2723,25 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2621,18 +2723,25 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2621 | if(scheduleRealInfo.isSflj()){ | 2723 | if(scheduleRealInfo.isSflj()){ |
| 2622 | addMileage += tempJhlc; | 2724 | addMileage += tempJhlc; |
| 2623 | } | 2725 | } |
| 2624 | - yygl += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); | 2726 | + sj += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); |
| 2625 | } | 2727 | } |
| 2626 | } | 2728 | } |
| 2627 | } | 2729 | } |
| 2628 | } | 2730 | } |
| 2731 | + jhlc += jh; | ||
| 2732 | + yygl += sj; | ||
| 2733 | + if(jh > sj){ | ||
| 2734 | + remgl += jh - sj; | ||
| 2735 | + } else if(sj > jh){ | ||
| 2736 | + addgl += sj - jh; | ||
| 2737 | + } | ||
| 2629 | } | 2738 | } |
| 2630 | } | 2739 | } |
| 2631 | map.put("jhlc", format.format(jhlc+jcclc)); | 2740 | map.put("jhlc", format.format(jhlc+jcclc)); |
| 2632 | map.put("yygljh", format.format(jhlc)); | 2741 | map.put("yygljh", format.format(jhlc)); |
| 2633 | map.put("ssgl", format.format(remMileage)); | 2742 | map.put("ssgl", format.format(remMileage)); |
| 2634 | map.put("ksgl", format.format(ksgl)); | 2743 | map.put("ksgl", format.format(ksgl)); |
| 2635 | - map.put("yyglsj", format.format(yygl+remMileage)); | 2744 | + map.put("yyglsj", format.format(yygl)); |
| 2636 | map.put("jhbc", jhbc); | 2745 | map.put("jhbc", jhbc); |
| 2637 | map.put("jcclc", jcclc); | 2746 | map.put("jcclc", jcclc); |
| 2638 | 2747 | ||
| @@ -2640,7 +2749,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2640,7 +2749,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2640 | map.put("ssbc", cjbc); | 2749 | map.put("ssbc", cjbc); |
| 2641 | map.put("ysgl", format.format(yygl)); | 2750 | map.put("ysgl", format.format(yygl)); |
| 2642 | map.put("sjbc", jhbc-cjbc+ljbc); | 2751 | map.put("sjbc", jhbc-cjbc+ljbc); |
| 2643 | - map.put("zgl", format.format(yygl+remMileage+ksgl+jcclc)); | 2752 | + map.put("zgl", format.format(yygl+ksgl+jcclc)); |
| 2644 | map.put("ljbc", ljbc); | 2753 | map.put("ljbc", ljbc); |
| 2645 | 2754 | ||
| 2646 | return map; | 2755 | return map; |
| @@ -2897,4 +3006,135 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2897,4 +3006,135 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2897 | return list; | 3006 | return list; |
| 2898 | } | 3007 | } |
| 2899 | 3008 | ||
| 3009 | + | ||
| 3010 | + @Override | ||
| 3011 | + public List<Map<String, Object>> scheduleDailyExport(Map<String, Object> map){ | ||
| 3012 | + String line = map.get("line").toString(); | ||
| 3013 | + String date = map.get("date").toString(); | ||
| 3014 | + String xlName = map.get("xlName").toString(); | ||
| 3015 | + String state = map.get("state").toString(); | ||
| 3016 | + String type = map.get("type").toString(); | ||
| 3017 | + | ||
| 3018 | + List<Map<String, Object>> dataList2 = new ArrayList<Map<String, Object>>(); | ||
| 3019 | + List<Map<String, Object>> dataList3 = new ArrayList<Map<String, Object>>(); | ||
| 3020 | + List<Map<String, Object>> list1 = this.statisticsDaily(line, date, xlName, null); | ||
| 3021 | + List<ScheduleRealInfo> list2 = this.queryUserInfo(line, date, state); | ||
| 3022 | + List<ScheduleRealInfo> list3 = this.realScheduleList(line, date); | ||
| 3023 | + | ||
| 3024 | + for(Map<String, Object> m : list1){ | ||
| 3025 | +// m.put("ssgl", m.get("ssgl")); | ||
| 3026 | +// m.put("ssbc", m.get("ssbc")); | ||
| 3027 | +// m.put("ssgl_lz", m.get("ssgl_lz") + " / " + m.get("ssbc_lz")); | ||
| 3028 | +// m.put("ssgl_dm", m.get("ssgl_dm") + " / " + m.get("ssbc_dm")); | ||
| 3029 | +// m.put("ssgl_gz", m.get("ssgl_gz") + " / " + m.get("ssbc_gz")); | ||
| 3030 | +// m.put("ssgl_jf", m.get("ssgl_jf") + " / " + m.get("ssbc_jf")); | ||
| 3031 | +// m.put("ssgl_zs", m.get("ssgl_zs") + " / " + m.get("ssbc_zs")); | ||
| 3032 | +// m.put("ssgl_qr", m.get("ssgl_qr") + " / " + m.get("ssbc_qr")); | ||
| 3033 | +// m.put("ssgl_qc", m.get("ssgl_qc") + " / " + m.get("ssbc_qc")); | ||
| 3034 | +// m.put("ssgl_kx", m.get("ssgl_kx") + " / " + m.get("ssbc_kx")); | ||
| 3035 | +// m.put("ssgl_qh", m.get("ssgl_qh") + " / " + m.get("ssbc_qh")); | ||
| 3036 | +// m.put("ssgl_yw", m.get("ssgl_yw") + " / " + m.get("ssbc_yw")); | ||
| 3037 | +// m.put("ssgl_other", m.get("ssgl_other") + " / " + m.get("ssbc_other")); | ||
| 3038 | + } | ||
| 3039 | + | ||
| 3040 | + int size = 0; | ||
| 3041 | + Map<String, Object> tempMap = new HashMap<String, Object>(); | ||
| 3042 | + for(int i = 0; i < list2.size(); i++){ | ||
| 3043 | + Object obj = (Object)list2.get(i); | ||
| 3044 | + Object[] objs = (Object[])obj; | ||
| 3045 | + if(size == 5){ | ||
| 3046 | + size = 0; | ||
| 3047 | + dataList2.add(tempMap); | ||
| 3048 | + tempMap = new HashMap<String, Object>(); | ||
| 3049 | + } | ||
| 3050 | + tempMap.put("lp" + size, objs[3]); | ||
| 3051 | + tempMap.put("ch" + size, objs[2]); | ||
| 3052 | + tempMap.put("jz" + size, objs[1] + "/" + objs[4]); | ||
| 3053 | + tempMap.put("sz" + size, ""); | ||
| 3054 | + tempMap.put("jw" + size, ""); | ||
| 3055 | + tempMap.put("sw" + size, ""); | ||
| 3056 | + | ||
| 3057 | + size++; | ||
| 3058 | + } | ||
| 3059 | + if(size < 5){ | ||
| 3060 | + for(;size < 5; size++){ | ||
| 3061 | + tempMap.put("lp" + size, ""); | ||
| 3062 | + tempMap.put("ch" + size, ""); | ||
| 3063 | + tempMap.put("jz" + size, ""); | ||
| 3064 | + tempMap.put("sz" + size, ""); | ||
| 3065 | + tempMap.put("jw" + size, ""); | ||
| 3066 | + tempMap.put("sw" + size, ""); | ||
| 3067 | + } | ||
| 3068 | + } | ||
| 3069 | + | ||
| 3070 | + dataList2.add(tempMap); | ||
| 3071 | + | ||
| 3072 | + size = 0; | ||
| 3073 | + tempMap = new HashMap<String, Object>(); | ||
| 3074 | + for(ScheduleRealInfo schedule : list3){ | ||
| 3075 | + if(size == 3){ | ||
| 3076 | + size = 0; | ||
| 3077 | + dataList3.add(tempMap); | ||
| 3078 | + tempMap = new HashMap<String, Object>(); | ||
| 3079 | + } | ||
| 3080 | + tempMap.put("lpName" + size, schedule.getLpName()); | ||
| 3081 | + tempMap.put("qdzName" + size, schedule.getQdzName()); | ||
| 3082 | + tempMap.put("zdsj" + size, schedule.getZdsj()); | ||
| 3083 | + tempMap.put("zdsjActual" + size, schedule.getZdsjActual()!=null?schedule.getZdsjActual():""); | ||
| 3084 | + tempMap.put("zdsjk" + size, ""); | ||
| 3085 | + tempMap.put("zdsjm" + size, ""); | ||
| 3086 | + tempMap.put("fcsj" + size, schedule.getFcsj()); | ||
| 3087 | + tempMap.put("fcsjActual" + size, schedule.getFcsjActual()!=null?schedule.getFcsjActual():""); | ||
| 3088 | + tempMap.put("fcsjk" + size, ""); | ||
| 3089 | + tempMap.put("fcsjm" + size, ""); | ||
| 3090 | + tempMap.put("remarks" + size, schedule.getRemarks()!=null?schedule.getRemarks():""); | ||
| 3091 | + | ||
| 3092 | + size++; | ||
| 3093 | + } | ||
| 3094 | + if(size < 3){ | ||
| 3095 | + for(; size < 3; size++){ | ||
| 3096 | + tempMap.put("lpName" + size, ""); | ||
| 3097 | + tempMap.put("qdzName" + size, ""); | ||
| 3098 | + tempMap.put("zdsj" + size, ""); | ||
| 3099 | + tempMap.put("zdsjActual" + size, ""); | ||
| 3100 | + tempMap.put("zdsjk" + size, ""); | ||
| 3101 | + tempMap.put("zdsjm" + size, ""); | ||
| 3102 | + tempMap.put("fcsj" + size, ""); | ||
| 3103 | + tempMap.put("fcsjActual" + size, ""); | ||
| 3104 | + tempMap.put("fcsjk" + size, ""); | ||
| 3105 | + tempMap.put("fcsjm" + size, ""); | ||
| 3106 | + tempMap.put("remarks" + size, ""); | ||
| 3107 | + } | ||
| 3108 | + } | ||
| 3109 | + | ||
| 3110 | + dataList3.add(tempMap); | ||
| 3111 | + | ||
| 3112 | + if (type.equals("export")) { | ||
| 3113 | + SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), | ||
| 3114 | + sdfSimple = new SimpleDateFormat("yyyyMMdd"); | ||
| 3115 | + Map<String, Object> m = new HashMap<String, Object>(); | ||
| 3116 | + List<Iterator<?>> listI = new ArrayList<Iterator<?>>(); | ||
| 3117 | + ReportUtils ee = new ReportUtils(); | ||
| 3118 | + try { | ||
| 3119 | + listI.add(list1.iterator()); | ||
| 3120 | + listI.add(dataList2.iterator()); | ||
| 3121 | + listI.add(dataList3.iterator()); | ||
| 3122 | + String path = this.getClass().getResource("/").getPath()+"static/pages/forms/"; | ||
| 3123 | + String sourcePath = path+"mould/scheduleDaily.xls"; | ||
| 3124 | + if(date.length() == 7){ | ||
| 3125 | + sdfMonth = new SimpleDateFormat("yyyy-MM"); | ||
| 3126 | + sdfSimple = new SimpleDateFormat("yyyyMM"); | ||
| 3127 | + sourcePath = path+"mould/scheduleDaily_m.xls"; | ||
| 3128 | + } | ||
| 3129 | + ee.excelReplace(listI, new Object[] { m }, sourcePath, | ||
| 3130 | + path+"export/调度日报" + sdfSimple.format(sdfMonth.parse(date))+".xls"); | ||
| 3131 | + } catch (Exception e) { | ||
| 3132 | + // TODO: handle exception | ||
| 3133 | + e.printStackTrace(); | ||
| 3134 | + } | ||
| 3135 | + } | ||
| 3136 | + | ||
| 3137 | + return new ArrayList<Map<String, Object>>(); | ||
| 3138 | + } | ||
| 3139 | + | ||
| 2900 | } | 3140 | } |
| 2901 | \ No newline at end of file | 3141 | \ No newline at end of file |
src/main/java/com/bsth/service/schedule/exception/ScheduleException.java
| @@ -7,4 +7,7 @@ public class ScheduleException extends Exception { | @@ -7,4 +7,7 @@ public class ScheduleException extends Exception { | ||
| 7 | public ScheduleException(String message) { | 7 | public ScheduleException(String message) { |
| 8 | super("计划调度业务错误==>>" + message); | 8 | super("计划调度业务错误==>>" + message); |
| 9 | } | 9 | } |
| 10 | + public ScheduleException(Throwable throwable) { | ||
| 11 | + super(throwable); | ||
| 12 | + } | ||
| 10 | } | 13 | } |
src/main/java/com/bsth/service/schedule/impl/BServiceImpl.java
| @@ -5,6 +5,12 @@ import com.bsth.repository.BaseRepository; | @@ -5,6 +5,12 @@ import com.bsth.repository.BaseRepository; | ||
| 5 | import com.bsth.service.schedule.BService; | 5 | import com.bsth.service.schedule.BService; |
| 6 | import com.bsth.service.schedule.exception.ScheduleException; | 6 | import com.bsth.service.schedule.exception.ScheduleException; |
| 7 | import com.bsth.service.schedule.utils.DataToolsService; | 7 | import com.bsth.service.schedule.utils.DataToolsService; |
| 8 | +import jxl.Cell; | ||
| 9 | +import jxl.Sheet; | ||
| 10 | +import jxl.Workbook; | ||
| 11 | +import jxl.write.Label; | ||
| 12 | +import jxl.write.WritableSheet; | ||
| 13 | +import jxl.write.WritableWorkbook; | ||
| 8 | import org.slf4j.Logger; | 14 | import org.slf4j.Logger; |
| 9 | import org.slf4j.LoggerFactory; | 15 | import org.slf4j.LoggerFactory; |
| 10 | import org.springframework.beans.factory.annotation.Autowired; | 16 | import org.springframework.beans.factory.annotation.Autowired; |
| @@ -118,7 +124,30 @@ public class BServiceImpl<T, ID extends Serializable> implements BService<T, ID> | @@ -118,7 +124,30 @@ public class BServiceImpl<T, ID extends Serializable> implements BService<T, ID> | ||
| 118 | 124 | ||
| 119 | @Override | 125 | @Override |
| 120 | public File uploadFile(String filename, byte[] filedata) throws ScheduleException { | 126 | public File uploadFile(String filename, byte[] filedata) throws ScheduleException { |
| 121 | - return dataToolsService.uploadFile(filename, filedata); | 127 | + try { |
| 128 | + // 对上传的excel文件做处理,将第一个sheet名字设定为工作表1 | ||
| 129 | + File file = dataToolsService.uploadFile(filename, filedata); | ||
| 130 | + Workbook workbook = Workbook.getWorkbook(file); | ||
| 131 | + Sheet sheet = workbook.getSheet(0); | ||
| 132 | + | ||
| 133 | + File fileCal = new File(file.getAbsolutePath() + "_sheetChange.xls"); | ||
| 134 | + WritableWorkbook writableWorkbook = Workbook.createWorkbook(fileCal); | ||
| 135 | + WritableSheet writableSheet = writableWorkbook.createSheet("工作表1", 0); | ||
| 136 | + for (int i = 0; i < sheet.getRows(); i++) { | ||
| 137 | + Cell[] cells = sheet.getRow(i); | ||
| 138 | + for (int j = 0; j < cells.length; j++) { | ||
| 139 | + writableSheet.addCell(new Label(j, i, cells[j].getContents())); | ||
| 140 | + } | ||
| 141 | + } | ||
| 142 | + writableWorkbook.write(); | ||
| 143 | + writableWorkbook.close(); | ||
| 144 | + | ||
| 145 | + return fileCal; | ||
| 146 | + | ||
| 147 | + } catch (Exception exp) { | ||
| 148 | + throw new ScheduleException(exp); | ||
| 149 | + } | ||
| 150 | + | ||
| 122 | } | 151 | } |
| 123 | 152 | ||
| 124 | @Override | 153 | @Override |
src/main/java/com/bsth/service/schedule/impl/GuideboardInfoServiceImpl.java
| @@ -3,13 +3,20 @@ package com.bsth.service.schedule.impl; | @@ -3,13 +3,20 @@ package com.bsth.service.schedule.impl; | ||
| 3 | import com.bsth.entity.schedule.GuideboardInfo; | 3 | import com.bsth.entity.schedule.GuideboardInfo; |
| 4 | import com.bsth.entity.schedule.TTInfoDetail; | 4 | import com.bsth.entity.schedule.TTInfoDetail; |
| 5 | import com.bsth.service.schedule.GuideboardInfoService; | 5 | import com.bsth.service.schedule.GuideboardInfoService; |
| 6 | -import com.bsth.service.schedule.exception.ScheduleException; | ||
| 7 | import com.bsth.service.schedule.TTInfoDetailService; | 6 | import com.bsth.service.schedule.TTInfoDetailService; |
| 7 | +import com.bsth.service.schedule.exception.ScheduleException; | ||
| 8 | +import com.bsth.service.schedule.utils.DataToolsProperties; | ||
| 9 | +import org.slf4j.Logger; | ||
| 10 | +import org.slf4j.LoggerFactory; | ||
| 8 | import org.springframework.beans.factory.annotation.Autowired; | 11 | import org.springframework.beans.factory.annotation.Autowired; |
| 12 | +import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||
| 9 | import org.springframework.stereotype.Service; | 13 | import org.springframework.stereotype.Service; |
| 10 | import org.springframework.util.CollectionUtils; | 14 | import org.springframework.util.CollectionUtils; |
| 11 | 15 | ||
| 12 | import javax.transaction.Transactional; | 16 | import javax.transaction.Transactional; |
| 17 | +import java.io.File; | ||
| 18 | +import java.io.PrintWriter; | ||
| 19 | +import java.io.StringWriter; | ||
| 13 | import java.util.HashMap; | 20 | import java.util.HashMap; |
| 14 | import java.util.List; | 21 | import java.util.List; |
| 15 | import java.util.Map; | 22 | import java.util.Map; |
| @@ -17,8 +24,15 @@ import java.util.Map; | @@ -17,8 +24,15 @@ import java.util.Map; | ||
| 17 | /** | 24 | /** |
| 18 | * 路牌信息服务。 | 25 | * 路牌信息服务。 |
| 19 | */ | 26 | */ |
| 27 | +@EnableConfigurationProperties(DataToolsProperties.class) | ||
| 20 | @Service | 28 | @Service |
| 21 | public class GuideboardInfoServiceImpl extends BServiceImpl<GuideboardInfo, Long> implements GuideboardInfoService { | 29 | public class GuideboardInfoServiceImpl extends BServiceImpl<GuideboardInfo, Long> implements GuideboardInfoService { |
| 30 | + /** 日志记录器 */ | ||
| 31 | + private static final Logger LOGGER = LoggerFactory.getLogger(GuideboardInfoServiceImpl.class); | ||
| 32 | + | ||
| 33 | + @Autowired | ||
| 34 | + private DataToolsProperties dataToolsProperties; | ||
| 35 | + | ||
| 22 | @Autowired | 36 | @Autowired |
| 23 | private TTInfoDetailService ttInfoDetailService; | 37 | private TTInfoDetailService ttInfoDetailService; |
| 24 | 38 | ||
| @@ -94,4 +108,62 @@ public class GuideboardInfoServiceImpl extends BServiceImpl<GuideboardInfo, Long | @@ -94,4 +108,62 @@ public class GuideboardInfoServiceImpl extends BServiceImpl<GuideboardInfo, Long | ||
| 94 | } | 108 | } |
| 95 | } | 109 | } |
| 96 | 110 | ||
| 111 | + @Override | ||
| 112 | + public void importData(File file, Map<String, Object> params) throws ScheduleException { | ||
| 113 | + try { | ||
| 114 | + LOGGER.info("//---------------- 导入路牌信息 start... ----------------//"); | ||
| 115 | + // 创建ktr转换所需参数 | ||
| 116 | + Map<String, Object> ktrParms = new HashMap<>(); | ||
| 117 | + File ktrFile = new File(this.getClass().getResource( | ||
| 118 | + dataToolsProperties.getGuideboardsDatainputktr()).toURI()); | ||
| 119 | + | ||
| 120 | + // 通用参数,转换文件路径,excel输入文件路径,错误输出文件路径 | ||
| 121 | + ktrParms.put("transpath", ktrFile.getAbsolutePath()); | ||
| 122 | + ktrParms.put("filepath", file.getAbsolutePath()); | ||
| 123 | + ktrParms.put("erroroutputdir", dataToolsProperties.getTransErrordir()); | ||
| 124 | + | ||
| 125 | + super.importData(file, ktrParms); | ||
| 126 | + | ||
| 127 | + LOGGER.info("//---------------- 导入路牌信息 success... ----------------//"); | ||
| 128 | + } catch (Exception exp) { | ||
| 129 | + LOGGER.info("//---------------- 导入路牌信息 failed... ----------------//"); | ||
| 130 | + | ||
| 131 | + StringWriter sw = new StringWriter(); | ||
| 132 | + exp.printStackTrace(new PrintWriter(sw)); | ||
| 133 | + LOGGER.info(sw.toString()); | ||
| 134 | + | ||
| 135 | + throw new ScheduleException(exp.getMessage()); | ||
| 136 | + } | ||
| 137 | + } | ||
| 138 | + | ||
| 139 | + @Override | ||
| 140 | + public File exportData(Map<String, Object> params) throws ScheduleException { | ||
| 141 | + try { | ||
| 142 | + LOGGER.info("//---------------- 导出路牌信息 start... ----------------//"); | ||
| 143 | + // 创建ktr转换所需参数 | ||
| 144 | + Map<String, Object> ktrParms = new HashMap<>(); | ||
| 145 | + File ktrFile = new File(this.getClass().getResource( | ||
| 146 | + dataToolsProperties.getGuideboardsDataoutputktr()).toURI()); | ||
| 147 | + | ||
| 148 | + // 通用参数,转换文件路径,excel输出文件名 | ||
| 149 | + ktrParms.put("transpath", ktrFile.getAbsolutePath()); | ||
| 150 | + ktrParms.put("filename", "路牌信息_download-"); | ||
| 151 | + | ||
| 152 | + File file = super.exportData(ktrParms); | ||
| 153 | + | ||
| 154 | + LOGGER.info("//---------------- 导出路牌信息 success... ----------------//"); | ||
| 155 | + | ||
| 156 | + return file; | ||
| 157 | + | ||
| 158 | + } catch (Exception exp) { | ||
| 159 | + LOGGER.info("//---------------- 导出路牌信息 failed... ----------------//"); | ||
| 160 | + | ||
| 161 | + StringWriter sw = new StringWriter(); | ||
| 162 | + exp.printStackTrace(new PrintWriter(sw)); | ||
| 163 | + LOGGER.info(sw.toString()); | ||
| 164 | + | ||
| 165 | + throw new ScheduleException(exp.getMessage()); | ||
| 166 | + } | ||
| 167 | + } | ||
| 168 | + | ||
| 97 | } | 169 | } |
src/main/java/com/bsth/service/schedule/impl/TTInfoDetailServiceImpl.java
| @@ -13,6 +13,7 @@ import com.bsth.service.schedule.GuideboardInfoService; | @@ -13,6 +13,7 @@ import com.bsth.service.schedule.GuideboardInfoService; | ||
| 13 | import com.bsth.service.schedule.TTInfoDetailService; | 13 | import com.bsth.service.schedule.TTInfoDetailService; |
| 14 | import com.bsth.service.schedule.exception.ScheduleException; | 14 | import com.bsth.service.schedule.exception.ScheduleException; |
| 15 | import com.bsth.service.schedule.utils.DataToolsProperties; | 15 | import com.bsth.service.schedule.utils.DataToolsProperties; |
| 16 | +import com.bsth.service.schedule.utils.DataToolsService; | ||
| 16 | import jxl.Cell; | 17 | import jxl.Cell; |
| 17 | import jxl.Sheet; | 18 | import jxl.Sheet; |
| 18 | import jxl.Workbook; | 19 | import jxl.Workbook; |
| @@ -24,6 +25,7 @@ import org.joda.time.DateTime; | @@ -24,6 +25,7 @@ import org.joda.time.DateTime; | ||
| 24 | import org.slf4j.Logger; | 25 | import org.slf4j.Logger; |
| 25 | import org.slf4j.LoggerFactory; | 26 | import org.slf4j.LoggerFactory; |
| 26 | import org.springframework.beans.factory.annotation.Autowired; | 27 | import org.springframework.beans.factory.annotation.Autowired; |
| 28 | +import org.springframework.beans.factory.annotation.Qualifier; | ||
| 27 | import org.springframework.boot.context.properties.EnableConfigurationProperties; | 29 | import org.springframework.boot.context.properties.EnableConfigurationProperties; |
| 28 | import org.springframework.stereotype.Service; | 30 | import org.springframework.stereotype.Service; |
| 29 | import org.springframework.util.CollectionUtils; | 31 | import org.springframework.util.CollectionUtils; |
| @@ -57,12 +59,22 @@ public class TTInfoDetailServiceImpl extends BServiceImpl<TTInfoDetail, Long> im | @@ -57,12 +59,22 @@ public class TTInfoDetailServiceImpl extends BServiceImpl<TTInfoDetail, Long> im | ||
| 57 | @Autowired | 59 | @Autowired |
| 58 | private DataToolsProperties dataToolsProperties; | 60 | private DataToolsProperties dataToolsProperties; |
| 59 | 61 | ||
| 62 | + @Autowired | ||
| 63 | + @Qualifier(value = "dataToolsServiceImpl") | ||
| 64 | + private DataToolsService dataToolsService; | ||
| 65 | + | ||
| 60 | @Override | 66 | @Override |
| 61 | public TTInfoDetail findById(Long aLong) { | 67 | public TTInfoDetail findById(Long aLong) { |
| 62 | return ttInfoDetailRepository.findOneExtend(aLong); | 68 | return ttInfoDetailRepository.findOneExtend(aLong); |
| 63 | } | 69 | } |
| 64 | 70 | ||
| 65 | @Override | 71 | @Override |
| 72 | + public File uploadFile(String filename, byte[] filedata) throws ScheduleException { | ||
| 73 | + | ||
| 74 | + return dataToolsService.uploadFile(filename, filedata); | ||
| 75 | + } | ||
| 76 | + | ||
| 77 | + @Override | ||
| 66 | public void importData( | 78 | public void importData( |
| 67 | File file, | 79 | File file, |
| 68 | Map<String, Object> params) throws ScheduleException { | 80 | Map<String, Object> params) throws ScheduleException { |
| @@ -417,20 +429,23 @@ public class TTInfoDetailServiceImpl extends BServiceImpl<TTInfoDetail, Long> im | @@ -417,20 +429,23 @@ public class TTInfoDetailServiceImpl extends BServiceImpl<TTInfoDetail, Long> im | ||
| 417 | } | 429 | } |
| 418 | 430 | ||
| 419 | // 班次时间验证,正则表达式,格式hh:mm或者hhmm | 431 | // 班次时间验证,正则表达式,格式hh:mm或者hhmm |
| 420 | - String el = "^(([0-1]\\d)|(2[0-4])):[0-5]\\d$"; // hh:mm格式 | ||
| 421 | - String el2 = "^(([0-1]\\d)|(2[0-4]))[0-5]\\d$"; // hhmm格式 | ||
| 422 | - Pattern p = Pattern.compile(el); | ||
| 423 | - Pattern p2 = Pattern.compile(el2); | 432 | + String rex1 = "^([01]?[0-9]|2[0-3]):[0-5][0-9]$"; // hh:mm格式 |
| 433 | + String rex2 = "^([01]?[0-9]|2[0-3]),[0-5][0-9]$"; // hh,mm格式 | ||
| 434 | + String rex3 = "^([01]?[0-9]|2[0-3])[0-5][0-9]$"; // hhmm格式 | ||
| 435 | + Pattern p1 = Pattern.compile(rex1); | ||
| 436 | + Pattern p2 = Pattern.compile(rex2); | ||
| 437 | + Pattern p3 = Pattern.compile(rex3); | ||
| 424 | 438 | ||
| 425 | for (int i = 1; i < sheet.getRows(); i++) { // 从第2行开始验证数据 | 439 | for (int i = 1; i < sheet.getRows(); i++) { // 从第2行开始验证数据 |
| 426 | Cell[] bcells = sheet.getRow(i); | 440 | Cell[] bcells = sheet.getRow(i); |
| 427 | for (int j = 1; j < bcells.length; j++) { // 从第2列开始 | 441 | for (int j = 1; j < bcells.length; j++) { // 从第2列开始 |
| 428 | String bcell_con = bcells[j].getContents(); | 442 | String bcell_con = bcells[j].getContents(); |
| 429 | if (StringUtils.isNotEmpty(bcell_con)) { | 443 | if (StringUtils.isNotEmpty(bcell_con)) { |
| 430 | - Matcher m = p.matcher(bcell_con.trim()); | 444 | + Matcher m1 = p1.matcher(bcell_con.trim()); |
| 431 | Matcher m2 = p2.matcher(bcell_con.trim()); | 445 | Matcher m2 = p2.matcher(bcell_con.trim()); |
| 432 | - if ((!m.matches()) && (!m2.matches())) { | ||
| 433 | - throw new Exception(String.format("第%d行,第%d列的发车时间格式不正确,格式应为hh:mm或hhmm", i + 1, j + 1)); | 446 | + Matcher m3 = p3.matcher(bcell_con.trim()); |
| 447 | + if ((!m1.matches()) && (!m2.matches()) && (!m3.matches())) { | ||
| 448 | + throw new Exception(String.format("第%d行,第%d列的发车时间格式不正确,格式应为hh:mm或hh,mm或hhmm", i + 1, j + 1)); | ||
| 434 | } | 449 | } |
| 435 | } | 450 | } |
| 436 | } | 451 | } |
| @@ -497,4 +512,5 @@ public class TTInfoDetailServiceImpl extends BServiceImpl<TTInfoDetail, Long> im | @@ -497,4 +512,5 @@ public class TTInfoDetailServiceImpl extends BServiceImpl<TTInfoDetail, Long> im | ||
| 497 | public List<TTInfoDetail> findBcdetails(Integer xlId, Long ttinfoId, Long lpId) { | 512 | public List<TTInfoDetail> findBcdetails(Integer xlId, Long ttinfoId, Long lpId) { |
| 498 | return ttInfoDetailRepository.findBcdetails(xlId, ttinfoId, lpId); | 513 | return ttInfoDetailRepository.findBcdetails(xlId, ttinfoId, lpId); |
| 499 | } | 514 | } |
| 515 | + | ||
| 500 | } | 516 | } |
src/main/java/com/bsth/service/schedule/utils/DataImportExportServiceImpl.java
| @@ -170,4 +170,175 @@ public class DataImportExportServiceImpl implements DataImportExportService, Ini | @@ -170,4 +170,175 @@ public class DataImportExportServiceImpl implements DataImportExportService, Ini | ||
| 170 | 170 | ||
| 171 | return new File(filepath); | 171 | return new File(filepath); |
| 172 | } | 172 | } |
| 173 | + | ||
| 174 | + | ||
| 175 | + // TODO:以后改成下面的样子 | ||
| 176 | +// import java.io.FileInputStream; | ||
| 177 | +// import java.io.FileOutputStream; | ||
| 178 | +// import java.io.IOException; | ||
| 179 | +// import java.io.InputStream; | ||
| 180 | +// import java.util.Iterator; | ||
| 181 | +// | ||
| 182 | +// import org.apache.poi.hssf.usermodel.HSSFCell; | ||
| 183 | +// import org.apache.poi.hssf.usermodel.HSSFRow; | ||
| 184 | +// import org.apache.poi.hssf.usermodel.HSSFSheet; | ||
| 185 | +// import org.apache.poi.hssf.usermodel.HSSFWorkbook; | ||
| 186 | +// | ||
| 187 | +// import org.apache.poi.xssf.usermodel.XSSFCell; | ||
| 188 | +// import org.apache.poi.xssf.usermodel.XSSFRow; | ||
| 189 | +// import org.apache.poi.xssf.usermodel.XSSFSheet; | ||
| 190 | +// import org.apache.poi.xssf.usermodel.XSSFWorkbook; | ||
| 191 | +// | ||
| 192 | +// public class ReadWriteExcelFile { | ||
| 193 | +// | ||
| 194 | +// public static void readXLSFile() throws IOException | ||
| 195 | +// { | ||
| 196 | +// InputStream ExcelFileToRead = new FileInputStream("C:/Test.xls"); | ||
| 197 | +// HSSFWorkbook wb = new HSSFWorkbook(ExcelFileToRead); | ||
| 198 | +// | ||
| 199 | +// HSSFSheet sheet=wb.getSheetAt(0); | ||
| 200 | +// HSSFRow row; | ||
| 201 | +// HSSFCell cell; | ||
| 202 | +// | ||
| 203 | +// Iterator rows = sheet.rowIterator(); | ||
| 204 | +// | ||
| 205 | +// while (rows.hasNext()) | ||
| 206 | +// { | ||
| 207 | +// row=(HSSFRow) rows.next(); | ||
| 208 | +// Iterator cells = row.cellIterator(); | ||
| 209 | +// | ||
| 210 | +// while (cells.hasNext()) | ||
| 211 | +// { | ||
| 212 | +// cell=(HSSFCell) cells.next(); | ||
| 213 | +// | ||
| 214 | +// if (cell.getCellType() == HSSFCell.CELL_TYPE_STRING) | ||
| 215 | +// { | ||
| 216 | +// System.out.print(cell.getStringCellValue()+" "); | ||
| 217 | +// } | ||
| 218 | +// else if(cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) | ||
| 219 | +// { | ||
| 220 | +// System.out.print(cell.getNumericCellValue()+" "); | ||
| 221 | +// } | ||
| 222 | +// else | ||
| 223 | +// { | ||
| 224 | +// //U Can Handel Boolean, Formula, Errors | ||
| 225 | +// } | ||
| 226 | +// } | ||
| 227 | +// System.out.println(); | ||
| 228 | +// } | ||
| 229 | +// | ||
| 230 | +// } | ||
| 231 | +// | ||
| 232 | +// public static void writeXLSFile() throws IOException { | ||
| 233 | +// | ||
| 234 | +// String excelFileName = "C:/Test.xls";//name of excel file | ||
| 235 | +// | ||
| 236 | +// String sheetName = "Sheet1";//name of sheet | ||
| 237 | +// | ||
| 238 | +// HSSFWorkbook wb = new HSSFWorkbook(); | ||
| 239 | +// HSSFSheet sheet = wb.createSheet(sheetName) ; | ||
| 240 | +// | ||
| 241 | +// //iterating r number of rows | ||
| 242 | +// for (int r=0;r < 5; r++ ) | ||
| 243 | +// { | ||
| 244 | +// HSSFRow row = sheet.createRow(r); | ||
| 245 | +// | ||
| 246 | +// //iterating c number of columns | ||
| 247 | +// for (int c=0;c < 5; c++ ) | ||
| 248 | +// { | ||
| 249 | +// HSSFCell cell = row.createCell(c); | ||
| 250 | +// | ||
| 251 | +// cell.setCellValue("Cell "+r+" "+c); | ||
| 252 | +// } | ||
| 253 | +// } | ||
| 254 | +// | ||
| 255 | +// FileOutputStream fileOut = new FileOutputStream(excelFileName); | ||
| 256 | +// | ||
| 257 | +// //write this workbook to an Outputstream. | ||
| 258 | +// wb.write(fileOut); | ||
| 259 | +// fileOut.flush(); | ||
| 260 | +// fileOut.close(); | ||
| 261 | +// } | ||
| 262 | +// | ||
| 263 | +// public static void readXLSXFile() throws IOException | ||
| 264 | +// { | ||
| 265 | +// InputStream ExcelFileToRead = new FileInputStream("C:/Test.xlsx"); | ||
| 266 | +// XSSFWorkbook wb = new XSSFWorkbook(ExcelFileToRead); | ||
| 267 | +// | ||
| 268 | +// XSSFWorkbook test = new XSSFWorkbook(); | ||
| 269 | +// | ||
| 270 | +// XSSFSheet sheet = wb.getSheetAt(0); | ||
| 271 | +// XSSFRow row; | ||
| 272 | +// XSSFCell cell; | ||
| 273 | +// | ||
| 274 | +// Iterator rows = sheet.rowIterator(); | ||
| 275 | +// | ||
| 276 | +// while (rows.hasNext()) | ||
| 277 | +// { | ||
| 278 | +// row=(XSSFRow) rows.next(); | ||
| 279 | +// Iterator cells = row.cellIterator(); | ||
| 280 | +// while (cells.hasNext()) | ||
| 281 | +// { | ||
| 282 | +// cell=(XSSFCell) cells.next(); | ||
| 283 | +// | ||
| 284 | +// if (cell.getCellType() == XSSFCell.CELL_TYPE_STRING) | ||
| 285 | +// { | ||
| 286 | +// System.out.print(cell.getStringCellValue()+" "); | ||
| 287 | +// } | ||
| 288 | +// else if(cell.getCellType() == XSSFCell.CELL_TYPE_NUMERIC) | ||
| 289 | +// { | ||
| 290 | +// System.out.print(cell.getNumericCellValue()+" "); | ||
| 291 | +// } | ||
| 292 | +// else | ||
| 293 | +// { | ||
| 294 | +// //U Can Handel Boolean, Formula, Errors | ||
| 295 | +// } | ||
| 296 | +// } | ||
| 297 | +// System.out.println(); | ||
| 298 | +// } | ||
| 299 | +// | ||
| 300 | +// } | ||
| 301 | +// | ||
| 302 | +// public static void writeXLSXFile() throws IOException { | ||
| 303 | +// | ||
| 304 | +// String excelFileName = "C:/Test.xlsx";//name of excel file | ||
| 305 | +// | ||
| 306 | +// String sheetName = "Sheet1";//name of sheet | ||
| 307 | +// | ||
| 308 | +// XSSFWorkbook wb = new XSSFWorkbook(); | ||
| 309 | +// XSSFSheet sheet = wb.createSheet(sheetName) ; | ||
| 310 | +// | ||
| 311 | +// //iterating r number of rows | ||
| 312 | +// for (int r=0;r < 5; r++ ) | ||
| 313 | +// { | ||
| 314 | +// XSSFRow row = sheet.createRow(r); | ||
| 315 | +// | ||
| 316 | +// //iterating c number of columns | ||
| 317 | +// for (int c=0;c < 5; c++ ) | ||
| 318 | +// { | ||
| 319 | +// XSSFCell cell = row.createCell(c); | ||
| 320 | +// | ||
| 321 | +// cell.setCellValue("Cell "+r+" "+c); | ||
| 322 | +// } | ||
| 323 | +// } | ||
| 324 | +// | ||
| 325 | +// FileOutputStream fileOut = new FileOutputStream(excelFileName); | ||
| 326 | +// | ||
| 327 | +// //write this workbook to an Outputstream. | ||
| 328 | +// wb.write(fileOut); | ||
| 329 | +// fileOut.flush(); | ||
| 330 | +// fileOut.close(); | ||
| 331 | +// } | ||
| 332 | +// | ||
| 333 | +// public static void main(String[] args) throws IOException { | ||
| 334 | +// | ||
| 335 | +// writeXLSFile(); | ||
| 336 | +// readXLSFile(); | ||
| 337 | +// | ||
| 338 | +// writeXLSXFile(); | ||
| 339 | +// readXLSXFile(); | ||
| 340 | +// | ||
| 341 | +// } | ||
| 342 | +// | ||
| 343 | +// } | ||
| 173 | } | 344 | } |
src/main/java/com/bsth/service/schedule/utils/DataToolsProperties.java
| @@ -99,6 +99,9 @@ public class DataToolsProperties { | @@ -99,6 +99,9 @@ public class DataToolsProperties { | ||
| 99 | @NotNull | 99 | @NotNull |
| 100 | /** 人员配置信息导出ktr转换 */ | 100 | /** 人员配置信息导出ktr转换 */ |
| 101 | private String employeesconfigDataoutputktr; | 101 | private String employeesconfigDataoutputktr; |
| 102 | + @NotNull | ||
| 103 | + /** 路牌信息导出 */ | ||
| 104 | + private String guideboardsDataoutputktr; | ||
| 102 | 105 | ||
| 103 | // TODO: | 106 | // TODO: |
| 104 | 107 | ||
| @@ -309,4 +312,12 @@ public class DataToolsProperties { | @@ -309,4 +312,12 @@ public class DataToolsProperties { | ||
| 309 | public void setEmployeesconfigDataoutputktr(String employeesconfigDataoutputktr) { | 312 | public void setEmployeesconfigDataoutputktr(String employeesconfigDataoutputktr) { |
| 310 | this.employeesconfigDataoutputktr = employeesconfigDataoutputktr; | 313 | this.employeesconfigDataoutputktr = employeesconfigDataoutputktr; |
| 311 | } | 314 | } |
| 315 | + | ||
| 316 | + public String getGuideboardsDataoutputktr() { | ||
| 317 | + return guideboardsDataoutputktr; | ||
| 318 | + } | ||
| 319 | + | ||
| 320 | + public void setGuideboardsDataoutputktr(String guideboardsDataoutputktr) { | ||
| 321 | + this.guideboardsDataoutputktr = guideboardsDataoutputktr; | ||
| 322 | + } | ||
| 312 | } | 323 | } |
src/main/java/com/bsth/service/sys/RealControAuthorityService.java
0 → 100644
| 1 | +package com.bsth.service.sys; | ||
| 2 | + | ||
| 3 | +import com.bsth.entity.sys.RealControAuthority; | ||
| 4 | +import com.bsth.service.BaseService; | ||
| 5 | + | ||
| 6 | +/** | ||
| 7 | + * Created by panzhao on 2017/2/14. | ||
| 8 | + */ | ||
| 9 | +public interface RealControAuthorityService extends BaseService<RealControAuthority, Integer> { | ||
| 10 | + RealControAuthority findByUserId(Integer userId); | ||
| 11 | +} |
src/main/java/com/bsth/service/sys/impl/RealControAuthorityServiceImpl.java
0 → 100644
| 1 | +package com.bsth.service.sys.impl; | ||
| 2 | + | ||
| 3 | +import com.bsth.entity.sys.RealControAuthority; | ||
| 4 | +import com.bsth.repository.sys.RealControAuthorityRepository; | ||
| 5 | +import com.bsth.service.impl.BaseServiceImpl; | ||
| 6 | +import com.bsth.service.sys.RealControAuthorityService; | ||
| 7 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 8 | +import org.springframework.stereotype.Service; | ||
| 9 | + | ||
| 10 | +/** | ||
| 11 | + * Created by panzhao on 2017/2/14. | ||
| 12 | + */ | ||
| 13 | +@Service | ||
| 14 | +public class RealControAuthorityServiceImpl extends BaseServiceImpl<RealControAuthority, Integer> implements RealControAuthorityService { | ||
| 15 | + | ||
| 16 | + @Autowired | ||
| 17 | + RealControAuthorityRepository realControAuthorityRepository; | ||
| 18 | + | ||
| 19 | + @Override | ||
| 20 | + public RealControAuthority findByUserId(Integer userId) { | ||
| 21 | + return realControAuthorityRepository.findByUserId(userId); | ||
| 22 | + } | ||
| 23 | +} |
src/main/resources/datatools/config-dev.properties
| @@ -65,6 +65,9 @@ datatools.carsconfig_dataoutputktr=/datatools/ktrs/carsConfigDataOutput.ktr | @@ -65,6 +65,9 @@ datatools.carsconfig_dataoutputktr=/datatools/ktrs/carsConfigDataOutput.ktr | ||
| 65 | # 人员配置信息导出ktr转换 | 65 | # 人员配置信息导出ktr转换 |
| 66 | datatools.employeesconfig_dataoutputktr=/datatools/ktrs/employeesConfigDataOutput.ktr | 66 | datatools.employeesconfig_dataoutputktr=/datatools/ktrs/employeesConfigDataOutput.ktr |
| 67 | 67 | ||
| 68 | +# 路牌信息导出 | ||
| 69 | +datatools.guideboards_dataoutputktr=/datatools/ktrs/guideboardDataOutput.ktr | ||
| 70 | + | ||
| 68 | 71 | ||
| 69 | # TODO: | 72 | # TODO: |
| 70 | 73 |
src/main/resources/datatools/config-prod.properties
| @@ -66,5 +66,8 @@ datatools.carsconfig_dataoutputktr=/datatools/ktrs/carsConfigDataOutput.ktr | @@ -66,5 +66,8 @@ datatools.carsconfig_dataoutputktr=/datatools/ktrs/carsConfigDataOutput.ktr | ||
| 66 | # 人员配置信息导出ktr转换 | 66 | # 人员配置信息导出ktr转换 |
| 67 | datatools.employeesconfig_dataoutputktr=/datatools/ktrs/employeesConfigDataOutput.ktr | 67 | datatools.employeesconfig_dataoutputktr=/datatools/ktrs/employeesConfigDataOutput.ktr |
| 68 | 68 | ||
| 69 | +# 路牌信息导出 | ||
| 70 | +datatools.guideboards_dataoutputktr=/datatools/ktrs/guideboardDataOutput.ktr | ||
| 71 | + | ||
| 69 | 72 | ||
| 70 | # TODO: | 73 | # TODO: |
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>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key> | ||
| 84 | - <is_key_private>N</is_key_private> | ||
| 85 | - </info> | ||
| 86 | - <notepads> | ||
| 87 | - <notepad> | ||
| 88 | - <note>这里有些问题
在window2012的环境下,
MySql数据库查询中如果返回中文内容的字段,这个内容乱码
解决办法,就是数据库查询全部缓存,就不乱码
linux环境下没问题
</note> | ||
| 89 | - <xloc>40</xloc> | ||
| 90 | - <yloc>238</yloc> | ||
| 91 | - <width>333</width> | ||
| 92 | - <heigth>106</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>${v_db_dname}</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.characterEncoding</code><attribute>utf8</attribute></attribute> | ||
| 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>N</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>bus_control_公司_201</name> | ||
| 139 | - <server>localhost</server> | ||
| 140 | - <type>MYSQL</type> | ||
| 141 | - <access>Native</access> | ||
| 142 | - <database>control</database> | ||
| 143 | - <port>3306</port> | ||
| 144 | - <username>root</username> | ||
| 145 | - <password>Encrypted </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>3306</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>N</attribute></attribute> | ||
| 159 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 160 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 161 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 162 | - </attributes> | ||
| 163 | - </connection> | ||
| 164 | - <connection> | ||
| 165 | - <name>bus_control_本机</name> | ||
| 166 | - <server>localhost</server> | ||
| 167 | - <type>MYSQL</type> | ||
| 168 | - <access>Native</access> | ||
| 169 | - <database>control</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>Y</attribute></attribute> | ||
| 187 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 188 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 189 | - </attributes> | ||
| 190 | - </connection> | ||
| 191 | - <connection> | ||
| 192 | - <name>xlab_mysql_youle</name> | ||
| 193 | - <server>101.231.124.8</server> | ||
| 194 | - <type>MYSQL</type> | ||
| 195 | - <access>Native</access> | ||
| 196 | - <database>xlab_youle</database> | ||
| 197 | - <port>45687</port> | ||
| 198 | - <username>xlab-youle</username> | ||
| 199 | - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password> | ||
| 200 | - <servername/> | ||
| 201 | - <data_tablespace/> | ||
| 202 | - <index_tablespace/> | ||
| 203 | - <attributes> | ||
| 204 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 205 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 206 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 207 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 208 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 209 | - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute> | ||
| 210 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 211 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 212 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 213 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 214 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 215 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 216 | - </attributes> | ||
| 217 | - </connection> | ||
| 218 | - <connection> | ||
| 219 | - <name>xlab_mysql_youle(本机)</name> | ||
| 220 | - <server>localhost</server> | ||
| 221 | - <type>MYSQL</type> | ||
| 222 | - <access>Native</access> | ||
| 223 | - <database>xlab_youle</database> | ||
| 224 | - <port>3306</port> | ||
| 225 | - <username>root</username> | ||
| 226 | - <password>Encrypted </password> | ||
| 227 | - <servername/> | ||
| 228 | - <data_tablespace/> | ||
| 229 | - <index_tablespace/> | ||
| 230 | - <attributes> | ||
| 231 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 232 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 233 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 234 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 235 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 236 | - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 237 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 238 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 239 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 240 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 241 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 242 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 243 | - </attributes> | ||
| 244 | - </connection> | ||
| 245 | - <connection> | ||
| 246 | - <name>xlab_youle</name> | ||
| 247 | - <server/> | ||
| 248 | - <type>MYSQL</type> | ||
| 249 | - <access>JNDI</access> | ||
| 250 | - <database>xlab_youle</database> | ||
| 251 | - <port>1521</port> | ||
| 252 | - <username/> | ||
| 253 | - <password>Encrypted </password> | ||
| 254 | - <servername/> | ||
| 255 | - <data_tablespace/> | ||
| 256 | - <index_tablespace/> | ||
| 257 | - <attributes> | ||
| 258 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 259 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 260 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 261 | - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | ||
| 262 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 263 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 264 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 265 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 266 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 267 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 268 | - </attributes> | ||
| 269 | - </connection> | ||
| 270 | - <order> | ||
| 271 | - <hop> <from>插入/更新bsth_c_s_ccinfo</from><to>错误输出</to><enabled>Y</enabled> </hop> | ||
| 272 | - <hop> <from>获取变量</from><to>原始系统导出的Excel输入</to><enabled>Y</enabled> </hop> | ||
| 273 | - <hop> <from>原始系统导出的Excel输入</from><to>启用被数据flag</to><enabled>Y</enabled> </hop> | ||
| 274 | - <hop> <from>启用被数据flag</from><to>线路id查询</to><enabled>Y</enabled> </hop> | ||
| 275 | - <hop> <from>线路id查询</from><to>过滤线路id为空记录</to><enabled>Y</enabled> </hop> | ||
| 276 | - <hop> <from>过滤线路id为空记录</from><to>车辆id查询</to><enabled>Y</enabled> </hop> | ||
| 277 | - <hop> <from>车辆id查询</from><to>过滤车辆id为空记录</to><enabled>Y</enabled> </hop> | ||
| 278 | - <hop> <from>过滤车辆id为空记录</from><to>日期转换</to><enabled>Y</enabled> </hop> | ||
| 279 | - <hop> <from>日期转换</from><to>是否切换</to><enabled>Y</enabled> </hop> | ||
| 280 | - <hop> <from>是否切换</from><to>插入/更新bsth_c_s_ccinfo</to><enabled>Y</enabled> </hop> | ||
| 281 | - </order> | ||
| 282 | - <step> | ||
| 283 | - <name>原始系统导出的Excel输入</name> | ||
| 284 | - <type>ExcelInput</type> | ||
| 285 | - <description/> | ||
| 286 | - <distribute>Y</distribute> | ||
| 287 | - <custom_distribution/> | ||
| 288 | - <copies>1</copies> | ||
| 289 | - <partitioning> | ||
| 290 | - <method>none</method> | ||
| 291 | - <schema_name/> | ||
| 292 | - </partitioning> | ||
| 293 | - <header>Y</header> | ||
| 294 | - <noempty>Y</noempty> | ||
| 295 | - <stoponempty>N</stoponempty> | ||
| 296 | - <filefield/> | ||
| 297 | - <sheetfield/> | ||
| 298 | - <sheetrownumfield/> | ||
| 299 | - <rownumfield/> | ||
| 300 | - <sheetfield/> | ||
| 301 | - <filefield/> | ||
| 302 | - <limit>0</limit> | ||
| 303 | - <encoding/> | ||
| 304 | - <add_to_result_filenames>Y</add_to_result_filenames> | ||
| 305 | - <accept_filenames>Y</accept_filenames> | ||
| 306 | - <accept_field>filepath_</accept_field> | ||
| 307 | - <accept_stepname>获取变量</accept_stepname> | ||
| 308 | - <file> | ||
| 309 | - <name/> | ||
| 310 | - <filemask/> | ||
| 311 | - <exclude_filemask/> | ||
| 312 | - <file_required>N</file_required> | ||
| 313 | - <include_subfolders>N</include_subfolders> | ||
| 314 | - </file> | ||
| 315 | - <fields> | ||
| 316 | - <field> | ||
| 317 | - <name>线路</name> | ||
| 318 | - <type>String</type> | ||
| 319 | - <length>-1</length> | ||
| 320 | - <precision>-1</precision> | ||
| 321 | - <trim_type>none</trim_type> | ||
| 322 | - <repeat>N</repeat> | ||
| 323 | - <format/> | ||
| 324 | - <currency/> | ||
| 325 | - <decimal/> | ||
| 326 | - <group/> | ||
| 327 | - </field> | ||
| 328 | - <field> | ||
| 329 | - <name>内部编码</name> | ||
| 330 | - <type>String</type> | ||
| 331 | - <length>-1</length> | ||
| 332 | - <precision>-1</precision> | ||
| 333 | - <trim_type>none</trim_type> | ||
| 334 | - <repeat>N</repeat> | ||
| 335 | - <format>#</format> | ||
| 336 | - <currency/> | ||
| 337 | - <decimal/> | ||
| 338 | - <group/> | ||
| 339 | - </field> | ||
| 340 | - <field> | ||
| 341 | - <name>启用日期</name> | ||
| 342 | - <type>String</type> | ||
| 343 | - <length>-1</length> | ||
| 344 | - <precision>-1</precision> | ||
| 345 | - <trim_type>none</trim_type> | ||
| 346 | - <repeat>N</repeat> | ||
| 347 | - <format/> | ||
| 348 | - <currency/> | ||
| 349 | - <decimal/> | ||
| 350 | - <group/> | ||
| 351 | - </field> | ||
| 352 | - <field> | ||
| 353 | - <name>终结日期</name> | ||
| 354 | - <type>String</type> | ||
| 355 | - <length>-1</length> | ||
| 356 | - <precision>-1</precision> | ||
| 357 | - <trim_type>none</trim_type> | ||
| 358 | - <repeat>N</repeat> | ||
| 359 | - <format/> | ||
| 360 | - <currency/> | ||
| 361 | - <decimal/> | ||
| 362 | - <group/> | ||
| 363 | - </field> | ||
| 364 | - <field> | ||
| 365 | - <name>停车点</name> | ||
| 366 | - <type>String</type> | ||
| 367 | - <length>-1</length> | ||
| 368 | - <precision>-1</precision> | ||
| 369 | - <trim_type>none</trim_type> | ||
| 370 | - <repeat>N</repeat> | ||
| 371 | - <format/> | ||
| 372 | - <currency/> | ||
| 373 | - <decimal/> | ||
| 374 | - <group/> | ||
| 375 | - </field> | ||
| 376 | - </fields> | ||
| 377 | - <sheets> | ||
| 378 | - <sheet> | ||
| 379 | - <name>工作表1</name> | ||
| 380 | - <startrow>0</startrow> | ||
| 381 | - <startcol>0</startcol> | ||
| 382 | - </sheet> | ||
| 383 | - </sheets> | ||
| 384 | - <strict_types>N</strict_types> | ||
| 385 | - <error_ignored>N</error_ignored> | ||
| 386 | - <error_line_skipped>N</error_line_skipped> | ||
| 387 | - <bad_line_files_destination_directory/> | ||
| 388 | - <bad_line_files_extension>warning</bad_line_files_extension> | ||
| 389 | - <error_line_files_destination_directory/> | ||
| 390 | - <error_line_files_extension>error</error_line_files_extension> | ||
| 391 | - <line_number_files_destination_directory/> | ||
| 392 | - <line_number_files_extension>line</line_number_files_extension> | ||
| 393 | - <shortFileFieldName/> | ||
| 394 | - <pathFieldName/> | ||
| 395 | - <hiddenFieldName/> | ||
| 396 | - <lastModificationTimeFieldName/> | ||
| 397 | - <uriNameFieldName/> | ||
| 398 | - <rootUriNameFieldName/> | ||
| 399 | - <extensionFieldName/> | ||
| 400 | - <sizeFieldName/> | ||
| 401 | - <spreadsheet_type>JXL</spreadsheet_type> | ||
| 402 | - <cluster_schema/> | ||
| 403 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 404 | - <xloc>155</xloc> | ||
| 405 | - <yloc>56</yloc> | ||
| 406 | - <draw>Y</draw> | ||
| 407 | - </GUI> | ||
| 408 | - </step> | ||
| 409 | - | ||
| 410 | - <step> | ||
| 411 | - <name>启用被数据flag</name> | ||
| 412 | - <type>Constant</type> | ||
| 413 | - <description/> | ||
| 414 | - <distribute>Y</distribute> | ||
| 415 | - <custom_distribution/> | ||
| 416 | - <copies>1</copies> | ||
| 417 | - <partitioning> | ||
| 418 | - <method>none</method> | ||
| 419 | - <schema_name/> | ||
| 420 | - </partitioning> | ||
| 421 | - <fields> | ||
| 422 | - <field> | ||
| 423 | - <name>isCancel</name> | ||
| 424 | - <type>Integer</type> | ||
| 425 | - <format/> | ||
| 426 | - <currency/> | ||
| 427 | - <decimal/> | ||
| 428 | - <group/> | ||
| 429 | - <nullif>0</nullif> | ||
| 430 | - <length>-1</length> | ||
| 431 | - <precision>-1</precision> | ||
| 432 | - <set_empty_string>N</set_empty_string> | ||
| 433 | - </field> | ||
| 434 | - </fields> | ||
| 435 | - <cluster_schema/> | ||
| 436 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 437 | - <xloc>315</xloc> | ||
| 438 | - <yloc>57</yloc> | ||
| 439 | - <draw>Y</draw> | ||
| 440 | - </GUI> | ||
| 441 | - </step> | ||
| 442 | - | ||
| 443 | - <step> | ||
| 444 | - <name>插入/更新bsth_c_s_ccinfo</name> | ||
| 445 | - <type>InsertUpdate</type> | ||
| 446 | - <description/> | ||
| 447 | - <distribute>Y</distribute> | ||
| 448 | - <custom_distribution/> | ||
| 449 | - <copies>1</copies> | ||
| 450 | - <partitioning> | ||
| 451 | - <method>none</method> | ||
| 452 | - <schema_name/> | ||
| 453 | - </partitioning> | ||
| 454 | - <connection>bus_control_variable</connection> | ||
| 455 | - <commit>100</commit> | ||
| 456 | - <update_bypassed>N</update_bypassed> | ||
| 457 | - <lookup> | ||
| 458 | - <schema/> | ||
| 459 | - <table>bsth_c_s_ccinfo</table> | ||
| 460 | - <key> | ||
| 461 | - <name>xlid</name> | ||
| 462 | - <field>xl</field> | ||
| 463 | - <condition>=</condition> | ||
| 464 | - <name2/> | ||
| 465 | - </key> | ||
| 466 | - <key> | ||
| 467 | - <name>clid</name> | ||
| 468 | - <field>cl</field> | ||
| 469 | - <condition>=</condition> | ||
| 470 | - <name2/> | ||
| 471 | - </key> | ||
| 472 | - <value> | ||
| 473 | - <name>xl</name> | ||
| 474 | - <rename>xlId</rename> | ||
| 475 | - <update>Y</update> | ||
| 476 | - </value> | ||
| 477 | - <value> | ||
| 478 | - <name>cl</name> | ||
| 479 | - <rename>clId</rename> | ||
| 480 | - <update>Y</update> | ||
| 481 | - </value> | ||
| 482 | - <value> | ||
| 483 | - <name>is_switch</name> | ||
| 484 | - <rename>isswitch</rename> | ||
| 485 | - <update>Y</update> | ||
| 486 | - </value> | ||
| 487 | - <value> | ||
| 488 | - <name>tcd</name> | ||
| 489 | - <rename>停车点</rename> | ||
| 490 | - <update>Y</update> | ||
| 491 | - </value> | ||
| 492 | - <value> | ||
| 493 | - <name>zzrq</name> | ||
| 494 | - <rename>终结日期</rename> | ||
| 495 | - <update>Y</update> | ||
| 496 | - </value> | ||
| 497 | - <value> | ||
| 498 | - <name>qyrq</name> | ||
| 499 | - <rename>启用日期</rename> | ||
| 500 | - <update>Y</update> | ||
| 501 | - </value> | ||
| 502 | - <value> | ||
| 503 | - <name>is_cancel</name> | ||
| 504 | - <rename>isCancel</rename> | ||
| 505 | - <update>Y</update> | ||
| 506 | - </value> | ||
| 507 | - </lookup> | ||
| 508 | - <cluster_schema/> | ||
| 509 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 510 | - <xloc>804</xloc> | ||
| 511 | - <yloc>236</yloc> | ||
| 512 | - <draw>Y</draw> | ||
| 513 | - </GUI> | ||
| 514 | - </step> | ||
| 515 | - | ||
| 516 | - <step> | ||
| 517 | - <name>日期转换</name> | ||
| 518 | - <type>SelectValues</type> | ||
| 519 | - <description/> | ||
| 520 | - <distribute>Y</distribute> | ||
| 521 | - <custom_distribution/> | ||
| 522 | - <copies>1</copies> | ||
| 523 | - <partitioning> | ||
| 524 | - <method>none</method> | ||
| 525 | - <schema_name/> | ||
| 526 | - </partitioning> | ||
| 527 | - <fields> <select_unspecified>N</select_unspecified> | ||
| 528 | - <meta> <name>启用日期</name> | ||
| 529 | - <rename>启用日期</rename> | ||
| 530 | - <type>Timestamp</type> | ||
| 531 | - <length>-2</length> | ||
| 532 | - <precision>-2</precision> | ||
| 533 | - <conversion_mask>yyyy-MM-dd</conversion_mask> | ||
| 534 | - <date_format_lenient>false</date_format_lenient> | ||
| 535 | - <date_format_locale/> | ||
| 536 | - <date_format_timezone/> | ||
| 537 | - <lenient_string_to_number>false</lenient_string_to_number> | ||
| 538 | - <encoding/> | ||
| 539 | - <decimal_symbol/> | ||
| 540 | - <grouping_symbol/> | ||
| 541 | - <currency_symbol/> | ||
| 542 | - <storage_type/> | ||
| 543 | - </meta> <meta> <name>终结日期</name> | ||
| 544 | - <rename>终结日期</rename> | ||
| 545 | - <type>Timestamp</type> | ||
| 546 | - <length>-2</length> | ||
| 547 | - <precision>-2</precision> | ||
| 548 | - <conversion_mask>yyyy-MM-dd</conversion_mask> | ||
| 549 | - <date_format_lenient>false</date_format_lenient> | ||
| 550 | - <date_format_locale/> | ||
| 551 | - <date_format_timezone/> | ||
| 552 | - <lenient_string_to_number>false</lenient_string_to_number> | ||
| 553 | - <encoding/> | ||
| 554 | - <decimal_symbol/> | ||
| 555 | - <grouping_symbol/> | ||
| 556 | - <currency_symbol/> | ||
| 557 | - <storage_type/> | ||
| 558 | - </meta> </fields> <cluster_schema/> | ||
| 559 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 560 | - <xloc>703</xloc> | ||
| 561 | - <yloc>136</yloc> | ||
| 562 | - <draw>Y</draw> | ||
| 563 | - </GUI> | ||
| 564 | - </step> | ||
| 565 | - | ||
| 566 | - <step> | ||
| 567 | - <name>是否切换</name> | ||
| 568 | - <type>Constant</type> | ||
| 569 | - <description/> | ||
| 570 | - <distribute>Y</distribute> | ||
| 571 | - <custom_distribution/> | ||
| 572 | - <copies>1</copies> | ||
| 573 | - <partitioning> | ||
| 574 | - <method>none</method> | ||
| 575 | - <schema_name/> | ||
| 576 | - </partitioning> | ||
| 577 | - <fields> | ||
| 578 | - <field> | ||
| 579 | - <name>isswitch</name> | ||
| 580 | - <type>Integer</type> | ||
| 581 | - <format/> | ||
| 582 | - <currency/> | ||
| 583 | - <decimal/> | ||
| 584 | - <group/> | ||
| 585 | - <nullif>0</nullif> | ||
| 586 | - <length>-1</length> | ||
| 587 | - <precision>-1</precision> | ||
| 588 | - <set_empty_string>N</set_empty_string> | ||
| 589 | - </field> | ||
| 590 | - </fields> | ||
| 591 | - <cluster_schema/> | ||
| 592 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 593 | - <xloc>803</xloc> | ||
| 594 | - <yloc>137</yloc> | ||
| 595 | - <draw>Y</draw> | ||
| 596 | - </GUI> | ||
| 597 | - </step> | ||
| 598 | - | ||
| 599 | - <step> | ||
| 600 | - <name>线路id查询</name> | ||
| 601 | - <type>DBLookup</type> | ||
| 602 | - <description/> | ||
| 603 | - <distribute>Y</distribute> | ||
| 604 | - <custom_distribution/> | ||
| 605 | - <copies>1</copies> | ||
| 606 | - <partitioning> | ||
| 607 | - <method>none</method> | ||
| 608 | - <schema_name/> | ||
| 609 | - </partitioning> | ||
| 610 | - <connection>bus_control_variable</connection> | ||
| 611 | - <cache>Y</cache> | ||
| 612 | - <cache_load_all>Y</cache_load_all> | ||
| 613 | - <cache_size>0</cache_size> | ||
| 614 | - <lookup> | ||
| 615 | - <schema/> | ||
| 616 | - <table>bsth_c_line</table> | ||
| 617 | - <orderby/> | ||
| 618 | - <fail_on_multiple>N</fail_on_multiple> | ||
| 619 | - <eat_row_on_failure>N</eat_row_on_failure> | ||
| 620 | - <key> | ||
| 621 | - <name>线路</name> | ||
| 622 | - <field>name</field> | ||
| 623 | - <condition>=</condition> | ||
| 624 | - <name2/> | ||
| 625 | - </key> | ||
| 626 | - <key> | ||
| 627 | - <name>isCancel</name> | ||
| 628 | - <field>destroy</field> | ||
| 629 | - <condition>=</condition> | ||
| 630 | - <name2/> | ||
| 631 | - </key> | ||
| 632 | - <value> | ||
| 633 | - <name>id</name> | ||
| 634 | - <rename>xlid</rename> | ||
| 635 | - <default/> | ||
| 636 | - <type>Integer</type> | ||
| 637 | - </value> | ||
| 638 | - </lookup> | ||
| 639 | - <cluster_schema/> | ||
| 640 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 641 | - <xloc>438</xloc> | ||
| 642 | - <yloc>57</yloc> | ||
| 643 | - <draw>Y</draw> | ||
| 644 | - </GUI> | ||
| 645 | - </step> | ||
| 646 | - | ||
| 647 | - <step> | ||
| 648 | - <name>获取变量</name> | ||
| 649 | - <type>GetVariable</type> | ||
| 650 | - <description/> | ||
| 651 | - <distribute>Y</distribute> | ||
| 652 | - <custom_distribution/> | ||
| 653 | - <copies>1</copies> | ||
| 654 | - <partitioning> | ||
| 655 | - <method>none</method> | ||
| 656 | - <schema_name/> | ||
| 657 | - </partitioning> | ||
| 658 | - <fields> | ||
| 659 | - <field> | ||
| 660 | - <name>filepath_</name> | ||
| 661 | - <variable>${filepath}</variable> | ||
| 662 | - <type>String</type> | ||
| 663 | - <format/> | ||
| 664 | - <currency/> | ||
| 665 | - <decimal/> | ||
| 666 | - <group/> | ||
| 667 | - <length>-1</length> | ||
| 668 | - <precision>-1</precision> | ||
| 669 | - <trim_type>none</trim_type> | ||
| 670 | - </field> | ||
| 671 | - <field> | ||
| 672 | - <name>erroroutputdir_</name> | ||
| 673 | - <variable>${erroroutputdir}</variable> | ||
| 674 | - <type>String</type> | ||
| 675 | - <format/> | ||
| 676 | - <currency/> | ||
| 677 | - <decimal/> | ||
| 678 | - <group/> | ||
| 679 | - <length>-1</length> | ||
| 680 | - <precision>-1</precision> | ||
| 681 | - <trim_type>none</trim_type> | ||
| 682 | - </field> | ||
| 683 | - </fields> | ||
| 684 | - <cluster_schema/> | ||
| 685 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 686 | - <xloc>156</xloc> | ||
| 687 | - <yloc>150</yloc> | ||
| 688 | - <draw>Y</draw> | ||
| 689 | - </GUI> | ||
| 690 | - </step> | ||
| 691 | - | ||
| 692 | - <step> | ||
| 693 | - <name>车辆id查询</name> | ||
| 694 | - <type>DBLookup</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 | - <connection>bus_control_variable</connection> | ||
| 704 | - <cache>Y</cache> | ||
| 705 | - <cache_load_all>Y</cache_load_all> | ||
| 706 | - <cache_size>0</cache_size> | ||
| 707 | - <lookup> | ||
| 708 | - <schema/> | ||
| 709 | - <table>bsth_c_cars</table> | ||
| 710 | - <orderby/> | ||
| 711 | - <fail_on_multiple>N</fail_on_multiple> | ||
| 712 | - <eat_row_on_failure>N</eat_row_on_failure> | ||
| 713 | - <key> | ||
| 714 | - <name>内部编码</name> | ||
| 715 | - <field>inside_code</field> | ||
| 716 | - <condition>=</condition> | ||
| 717 | - <name2/> | ||
| 718 | - </key> | ||
| 719 | - <value> | ||
| 720 | - <name>id</name> | ||
| 721 | - <rename>clid</rename> | ||
| 722 | - <default/> | ||
| 723 | - <type>Integer</type> | ||
| 724 | - </value> | ||
| 725 | - </lookup> | ||
| 726 | - <cluster_schema/> | ||
| 727 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 728 | - <xloc>440</xloc> | ||
| 729 | - <yloc>138</yloc> | ||
| 730 | - <draw>Y</draw> | ||
| 731 | - </GUI> | ||
| 732 | - </step> | ||
| 733 | - | ||
| 734 | - <step> | ||
| 735 | - <name>过滤线路id为空记录</name> | ||
| 736 | - <type>FilterRows</type> | ||
| 737 | - <description/> | ||
| 738 | - <distribute>Y</distribute> | ||
| 739 | - <custom_distribution/> | ||
| 740 | - <copies>1</copies> | ||
| 741 | - <partitioning> | ||
| 742 | - <method>none</method> | ||
| 743 | - <schema_name/> | ||
| 744 | - </partitioning> | ||
| 745 | -<send_true_to>车辆id查询</send_true_to> | ||
| 746 | -<send_false_to/> | ||
| 747 | - <compare> | ||
| 748 | -<condition> | ||
| 749 | - <negated>N</negated> | ||
| 750 | - <leftvalue>xlid</leftvalue> | ||
| 751 | - <function>IS NOT NULL</function> | ||
| 752 | - <rightvalue/> | ||
| 753 | - </condition> | ||
| 754 | - </compare> | ||
| 755 | - <cluster_schema/> | ||
| 756 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 757 | - <xloc>563</xloc> | ||
| 758 | - <yloc>57</yloc> | ||
| 759 | - <draw>Y</draw> | ||
| 760 | - </GUI> | ||
| 761 | - </step> | ||
| 762 | - | ||
| 763 | - <step> | ||
| 764 | - <name>过滤车辆id为空记录</name> | ||
| 765 | - <type>FilterRows</type> | ||
| 766 | - <description/> | ||
| 767 | - <distribute>Y</distribute> | ||
| 768 | - <custom_distribution/> | ||
| 769 | - <copies>1</copies> | ||
| 770 | - <partitioning> | ||
| 771 | - <method>none</method> | ||
| 772 | - <schema_name/> | ||
| 773 | - </partitioning> | ||
| 774 | -<send_true_to>日期转换</send_true_to> | ||
| 775 | -<send_false_to/> | ||
| 776 | - <compare> | ||
| 777 | -<condition> | ||
| 778 | - <negated>N</negated> | ||
| 779 | - <leftvalue>clid</leftvalue> | ||
| 780 | - <function>IS NOT NULL</function> | ||
| 781 | - <rightvalue/> | ||
| 782 | - </condition> | ||
| 783 | - </compare> | ||
| 784 | - <cluster_schema/> | ||
| 785 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 786 | - <xloc>566</xloc> | ||
| 787 | - <yloc>137</yloc> | ||
| 788 | - <draw>Y</draw> | ||
| 789 | - </GUI> | ||
| 790 | - </step> | ||
| 791 | - | ||
| 792 | - <step> | ||
| 793 | - <name>错误输出</name> | ||
| 794 | - <type>ExcelOutput</type> | ||
| 795 | - <description/> | ||
| 796 | - <distribute>Y</distribute> | ||
| 797 | - <custom_distribution/> | ||
| 798 | - <copies>1</copies> | ||
| 799 | - <partitioning> | ||
| 800 | - <method>none</method> | ||
| 801 | - <schema_name/> | ||
| 802 | - </partitioning> | ||
| 803 | - <header>Y</header> | ||
| 804 | - <footer>N</footer> | ||
| 805 | - <encoding>UTF-8</encoding> | ||
| 806 | - <append>N</append> | ||
| 807 | - <add_to_result_filenames>Y</add_to_result_filenames> | ||
| 808 | - <file> | ||
| 809 | - <name>${erroroutputdir}/当前配车_错误</name> | ||
| 810 | - <extention>xls</extention> | ||
| 811 | - <do_not_open_newfile_init>N</do_not_open_newfile_init> | ||
| 812 | - <create_parent_folder>N</create_parent_folder> | ||
| 813 | - <split>N</split> | ||
| 814 | - <add_date>N</add_date> | ||
| 815 | - <add_time>N</add_time> | ||
| 816 | - <SpecifyFormat>N</SpecifyFormat> | ||
| 817 | - <date_time_format/> | ||
| 818 | - <sheetname>Sheet1</sheetname> | ||
| 819 | - <autosizecolums>N</autosizecolums> | ||
| 820 | - <nullisblank>N</nullisblank> | ||
| 821 | - <protect_sheet>N</protect_sheet> | ||
| 822 | - <password>Encrypted </password> | ||
| 823 | - <splitevery>0</splitevery> | ||
| 824 | - <usetempfiles>N</usetempfiles> | ||
| 825 | - <tempdirectory/> | ||
| 826 | - </file> | ||
| 827 | - <template> | ||
| 828 | - <enabled>N</enabled> | ||
| 829 | - <append>N</append> | ||
| 830 | - <filename>template.xls</filename> | ||
| 831 | - </template> | ||
| 832 | - <fields> | ||
| 833 | - <field> | ||
| 834 | - <name>线路</name> | ||
| 835 | - <type>String</type> | ||
| 836 | - <format/> | ||
| 837 | - </field> | ||
| 838 | - <field> | ||
| 839 | - <name>内部编码</name> | ||
| 840 | - <type>String</type> | ||
| 841 | - <format/> | ||
| 842 | - </field> | ||
| 843 | - <field> | ||
| 844 | - <name>启用日期</name> | ||
| 845 | - <type>Timestamp</type> | ||
| 846 | - <format/> | ||
| 847 | - </field> | ||
| 848 | - <field> | ||
| 849 | - <name>终结日期</name> | ||
| 850 | - <type>Timestamp</type> | ||
| 851 | - <format/> | ||
| 852 | - </field> | ||
| 853 | - <field> | ||
| 854 | - <name>停车点</name> | ||
| 855 | - <type>String</type> | ||
| 856 | - <format/> | ||
| 857 | - </field> | ||
| 858 | - <field> | ||
| 859 | - <name>isCancel</name> | ||
| 860 | - <type>Integer</type> | ||
| 861 | - <format/> | ||
| 862 | - </field> | ||
| 863 | - <field> | ||
| 864 | - <name>xlid</name> | ||
| 865 | - <type>Integer</type> | ||
| 866 | - <format/> | ||
| 867 | - </field> | ||
| 868 | - <field> | ||
| 869 | - <name>clid</name> | ||
| 870 | - <type>Integer</type> | ||
| 871 | - <format/> | ||
| 872 | - </field> | ||
| 873 | - <field> | ||
| 874 | - <name>isswitch</name> | ||
| 875 | - <type>Integer</type> | ||
| 876 | - <format/> | ||
| 877 | - </field> | ||
| 878 | - <field> | ||
| 879 | - <name>error_count</name> | ||
| 880 | - <type>Integer</type> | ||
| 881 | - <format/> | ||
| 882 | - </field> | ||
| 883 | - <field> | ||
| 884 | - <name>error_desc</name> | ||
| 885 | - <type>String</type> | ||
| 886 | - <format/> | ||
| 887 | - </field> | ||
| 888 | - <field> | ||
| 889 | - <name>error_column1</name> | ||
| 890 | - <type>String</type> | ||
| 891 | - <format/> | ||
| 892 | - </field> | ||
| 893 | - <field> | ||
| 894 | - <name>error_column2</name> | ||
| 895 | - <type>String</type> | ||
| 896 | - <format/> | ||
| 897 | - </field> | ||
| 898 | - </fields> | ||
| 899 | - <custom> | ||
| 900 | - <header_font_name>arial</header_font_name> | ||
| 901 | - <header_font_size>10</header_font_size> | ||
| 902 | - <header_font_bold>N</header_font_bold> | ||
| 903 | - <header_font_italic>N</header_font_italic> | ||
| 904 | - <header_font_underline>no</header_font_underline> | ||
| 905 | - <header_font_orientation>horizontal</header_font_orientation> | ||
| 906 | - <header_font_color>black</header_font_color> | ||
| 907 | - <header_background_color>none</header_background_color> | ||
| 908 | - <header_row_height>255</header_row_height> | ||
| 909 | - <header_alignment>left</header_alignment> | ||
| 910 | - <header_image/> | ||
| 911 | - <row_font_name>arial</row_font_name> | ||
| 912 | - <row_font_size>10</row_font_size> | ||
| 913 | - <row_font_color>black</row_font_color> | ||
| 914 | - <row_background_color>none</row_background_color> | ||
| 915 | - </custom> | ||
| 916 | - <cluster_schema/> | ||
| 917 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 918 | - <xloc>807</xloc> | ||
| 919 | - <yloc>353</yloc> | ||
| 920 | - <draw>Y</draw> | ||
| 921 | - </GUI> | ||
| 922 | - </step> | ||
| 923 | - | ||
| 924 | - <step_error_handling> | ||
| 925 | - <error> | ||
| 926 | - <source_step>插入/更新bsth_c_s_ccinfo</source_step> | ||
| 927 | - <target_step>错误输出</target_step> | ||
| 928 | - <is_enabled>Y</is_enabled> | ||
| 929 | - <nr_valuename>error_count</nr_valuename> | ||
| 930 | - <descriptions_valuename>error_desc</descriptions_valuename> | ||
| 931 | - <fields_valuename>error_column1</fields_valuename> | ||
| 932 | - <codes_valuename>error_column2</codes_valuename> | ||
| 933 | - <max_errors/> | ||
| 934 | - <max_pct_errors/> | ||
| 935 | - <min_pct_rows/> | ||
| 936 | - </error> | ||
| 937 | - </step_error_handling> | ||
| 938 | - <slave-step-copy-partition-distribution> | ||
| 939 | -</slave-step-copy-partition-distribution> | ||
| 940 | - <slave_transformation>N</slave_transformation> | ||
| 941 | - | ||
| 942 | -</transformation> | 1 | +<?xml version="1.0" encoding="UTF-8"?> |
| 2 | +<transformation> | ||
| 3 | + <info> | ||
| 4 | + <name>车辆配置信息导入</name> | ||
| 5 | + <description>车辆配置信息导入</description> | ||
| 6 | + <extended_description>配车信息</extended_description> | ||
| 7 | + <trans_version/> | ||
| 8 | + <trans_type>Normal</trans_type> | ||
| 9 | + <trans_status>0</trans_status> | ||
| 10 | + <directory>/</directory> | ||
| 11 | + <parameters> | ||
| 12 | + <parameter> | ||
| 13 | + <name>erroroutputdir</name> | ||
| 14 | + <default_value/> | ||
| 15 | + <description>ktr step配置的错误输出目录</description> | ||
| 16 | + </parameter> | ||
| 17 | + <parameter> | ||
| 18 | + <name>filepath</name> | ||
| 19 | + <default_value/> | ||
| 20 | + <description>待处理导入的excel文件</description> | ||
| 21 | + </parameter> | ||
| 22 | + </parameters> | ||
| 23 | + <log> | ||
| 24 | +<trans-log-table><connection/> | ||
| 25 | +<schema/> | ||
| 26 | +<table/> | ||
| 27 | +<size_limit_lines/> | ||
| 28 | +<interval/> | ||
| 29 | +<timeout_days/> | ||
| 30 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STATUS</id><enabled>Y</enabled><name>STATUS</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name><subject/></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name><subject/></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name><subject/></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name><subject/></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name><subject/></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name><subject/></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>STARTDATE</id><enabled>Y</enabled><name>STARTDATE</name></field><field><id>ENDDATE</id><enabled>Y</enabled><name>ENDDATE</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>DEPDATE</id><enabled>Y</enabled><name>DEPDATE</name></field><field><id>REPLAYDATE</id><enabled>Y</enabled><name>REPLAYDATE</name></field><field><id>LOG_FIELD</id><enabled>Y</enabled><name>LOG_FIELD</name></field><field><id>EXECUTING_SERVER</id><enabled>N</enabled><name>EXECUTING_SERVER</name></field><field><id>EXECUTING_USER</id><enabled>N</enabled><name>EXECUTING_USER</name></field><field><id>CLIENT</id><enabled>N</enabled><name>CLIENT</name></field></trans-log-table> | ||
| 31 | +<perf-log-table><connection/> | ||
| 32 | +<schema/> | ||
| 33 | +<table/> | ||
| 34 | +<interval/> | ||
| 35 | +<timeout_days/> | ||
| 36 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>SEQ_NR</id><enabled>Y</enabled><name>SEQ_NR</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>INPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>INPUT_BUFFER_ROWS</name></field><field><id>OUTPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>OUTPUT_BUFFER_ROWS</name></field></perf-log-table> | ||
| 37 | +<channel-log-table><connection/> | ||
| 38 | +<schema/> | ||
| 39 | +<table/> | ||
| 40 | +<timeout_days/> | ||
| 41 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>LOGGING_OBJECT_TYPE</id><enabled>Y</enabled><name>LOGGING_OBJECT_TYPE</name></field><field><id>OBJECT_NAME</id><enabled>Y</enabled><name>OBJECT_NAME</name></field><field><id>OBJECT_COPY</id><enabled>Y</enabled><name>OBJECT_COPY</name></field><field><id>REPOSITORY_DIRECTORY</id><enabled>Y</enabled><name>REPOSITORY_DIRECTORY</name></field><field><id>FILENAME</id><enabled>Y</enabled><name>FILENAME</name></field><field><id>OBJECT_ID</id><enabled>Y</enabled><name>OBJECT_ID</name></field><field><id>OBJECT_REVISION</id><enabled>Y</enabled><name>OBJECT_REVISION</name></field><field><id>PARENT_CHANNEL_ID</id><enabled>Y</enabled><name>PARENT_CHANNEL_ID</name></field><field><id>ROOT_CHANNEL_ID</id><enabled>Y</enabled><name>ROOT_CHANNEL_ID</name></field></channel-log-table> | ||
| 42 | +<step-log-table><connection/> | ||
| 43 | +<schema/> | ||
| 44 | +<table/> | ||
| 45 | +<timeout_days/> | ||
| 46 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>LOG_FIELD</id><enabled>N</enabled><name>LOG_FIELD</name></field></step-log-table> | ||
| 47 | +<metrics-log-table><connection/> | ||
| 48 | +<schema/> | ||
| 49 | +<table/> | ||
| 50 | +<timeout_days/> | ||
| 51 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>METRICS_DATE</id><enabled>Y</enabled><name>METRICS_DATE</name></field><field><id>METRICS_CODE</id><enabled>Y</enabled><name>METRICS_CODE</name></field><field><id>METRICS_DESCRIPTION</id><enabled>Y</enabled><name>METRICS_DESCRIPTION</name></field><field><id>METRICS_SUBJECT</id><enabled>Y</enabled><name>METRICS_SUBJECT</name></field><field><id>METRICS_TYPE</id><enabled>Y</enabled><name>METRICS_TYPE</name></field><field><id>METRICS_VALUE</id><enabled>Y</enabled><name>METRICS_VALUE</name></field></metrics-log-table> | ||
| 52 | + </log> | ||
| 53 | + <maxdate> | ||
| 54 | + <connection/> | ||
| 55 | + <table/> | ||
| 56 | + <field/> | ||
| 57 | + <offset>0.0</offset> | ||
| 58 | + <maxdiff>0.0</maxdiff> | ||
| 59 | + </maxdate> | ||
| 60 | + <size_rowset>10000</size_rowset> | ||
| 61 | + <sleep_time_empty>50</sleep_time_empty> | ||
| 62 | + <sleep_time_full>50</sleep_time_full> | ||
| 63 | + <unique_connections>N</unique_connections> | ||
| 64 | + <feedback_shown>Y</feedback_shown> | ||
| 65 | + <feedback_size>50000</feedback_size> | ||
| 66 | + <using_thread_priorities>Y</using_thread_priorities> | ||
| 67 | + <shared_objects_file/> | ||
| 68 | + <capture_step_performance>N</capture_step_performance> | ||
| 69 | + <step_performance_capturing_delay>1000</step_performance_capturing_delay> | ||
| 70 | + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit> | ||
| 71 | + <dependencies> | ||
| 72 | + </dependencies> | ||
| 73 | + <partitionschemas> | ||
| 74 | + </partitionschemas> | ||
| 75 | + <slaveservers> | ||
| 76 | + </slaveservers> | ||
| 77 | + <clusterschemas> | ||
| 78 | + </clusterschemas> | ||
| 79 | + <created_user>-</created_user> | ||
| 80 | + <created_date>2016/06/29 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>这里有些问题
在window2012的环境下,
MySql数据库查询中如果返回中文内容的字段,这个内容乱码
解决办法,就是数据库查询全部缓存,就不乱码
linux环境下没问题
</note> | ||
| 89 | + <xloc>40</xloc> | ||
| 90 | + <yloc>238</yloc> | ||
| 91 | + <width>333</width> | ||
| 92 | + <heigth>106</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>${v_db_dname}</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.characterEncoding</code><attribute>utf8</attribute></attribute> | ||
| 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>N</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>bus_control_公司_201</name> | ||
| 139 | + <server>localhost</server> | ||
| 140 | + <type>MYSQL</type> | ||
| 141 | + <access>Native</access> | ||
| 142 | + <database>control</database> | ||
| 143 | + <port>3306</port> | ||
| 144 | + <username>root</username> | ||
| 145 | + <password>Encrypted </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>3306</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>N</attribute></attribute> | ||
| 159 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 160 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 161 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 162 | + </attributes> | ||
| 163 | + </connection> | ||
| 164 | + <connection> | ||
| 165 | + <name>bus_control_本机</name> | ||
| 166 | + <server>localhost</server> | ||
| 167 | + <type>MYSQL</type> | ||
| 168 | + <access>Native</access> | ||
| 169 | + <database>control</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>Y</attribute></attribute> | ||
| 187 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 188 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 189 | + </attributes> | ||
| 190 | + </connection> | ||
| 191 | + <connection> | ||
| 192 | + <name>xlab_mysql_youle</name> | ||
| 193 | + <server>101.231.124.8</server> | ||
| 194 | + <type>MYSQL</type> | ||
| 195 | + <access>Native</access> | ||
| 196 | + <database>xlab_youle</database> | ||
| 197 | + <port>45687</port> | ||
| 198 | + <username>xlab-youle</username> | ||
| 199 | + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password> | ||
| 200 | + <servername/> | ||
| 201 | + <data_tablespace/> | ||
| 202 | + <index_tablespace/> | ||
| 203 | + <attributes> | ||
| 204 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 205 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 206 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 207 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 208 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 209 | + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute> | ||
| 210 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 211 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 212 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 213 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 214 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 215 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 216 | + </attributes> | ||
| 217 | + </connection> | ||
| 218 | + <connection> | ||
| 219 | + <name>xlab_mysql_youle(本机)</name> | ||
| 220 | + <server>localhost</server> | ||
| 221 | + <type>MYSQL</type> | ||
| 222 | + <access>Native</access> | ||
| 223 | + <database>xlab_youle</database> | ||
| 224 | + <port>3306</port> | ||
| 225 | + <username>root</username> | ||
| 226 | + <password>Encrypted </password> | ||
| 227 | + <servername/> | ||
| 228 | + <data_tablespace/> | ||
| 229 | + <index_tablespace/> | ||
| 230 | + <attributes> | ||
| 231 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 232 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 233 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 234 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 235 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 236 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 237 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 238 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 239 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 240 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 241 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 242 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 243 | + </attributes> | ||
| 244 | + </connection> | ||
| 245 | + <connection> | ||
| 246 | + <name>xlab_youle</name> | ||
| 247 | + <server/> | ||
| 248 | + <type>MYSQL</type> | ||
| 249 | + <access>JNDI</access> | ||
| 250 | + <database>xlab_youle</database> | ||
| 251 | + <port>1521</port> | ||
| 252 | + <username/> | ||
| 253 | + <password>Encrypted </password> | ||
| 254 | + <servername/> | ||
| 255 | + <data_tablespace/> | ||
| 256 | + <index_tablespace/> | ||
| 257 | + <attributes> | ||
| 258 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 259 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 260 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 261 | + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | ||
| 262 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 263 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 264 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 265 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 266 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 267 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 268 | + </attributes> | ||
| 269 | + </connection> | ||
| 270 | + <order> | ||
| 271 | + <hop> <from>插入/更新bsth_c_s_ccinfo</from><to>错误输出</to><enabled>Y</enabled> </hop> | ||
| 272 | + <hop> <from>获取变量</from><to>原始系统导出的Excel输入</to><enabled>Y</enabled> </hop> | ||
| 273 | + <hop> <from>原始系统导出的Excel输入</from><to>启用被数据flag</to><enabled>Y</enabled> </hop> | ||
| 274 | + <hop> <from>启用被数据flag</from><to>线路id查询</to><enabled>Y</enabled> </hop> | ||
| 275 | + <hop> <from>线路id查询</from><to>过滤线路id为空记录</to><enabled>Y</enabled> </hop> | ||
| 276 | + <hop> <from>过滤线路id为空记录</from><to>车辆id查询</to><enabled>Y</enabled> </hop> | ||
| 277 | + <hop> <from>车辆id查询</from><to>过滤车辆id为空记录</to><enabled>Y</enabled> </hop> | ||
| 278 | + <hop> <from>过滤车辆id为空记录</from><to>日期转换</to><enabled>Y</enabled> </hop> | ||
| 279 | + <hop> <from>日期转换</from><to>是否切换</to><enabled>Y</enabled> </hop> | ||
| 280 | + <hop> <from>是否切换</from><to>插入/更新bsth_c_s_ccinfo</to><enabled>Y</enabled> </hop> | ||
| 281 | + </order> | ||
| 282 | + <step> | ||
| 283 | + <name>原始系统导出的Excel输入</name> | ||
| 284 | + <type>ExcelInput</type> | ||
| 285 | + <description/> | ||
| 286 | + <distribute>Y</distribute> | ||
| 287 | + <custom_distribution/> | ||
| 288 | + <copies>1</copies> | ||
| 289 | + <partitioning> | ||
| 290 | + <method>none</method> | ||
| 291 | + <schema_name/> | ||
| 292 | + </partitioning> | ||
| 293 | + <header>Y</header> | ||
| 294 | + <noempty>Y</noempty> | ||
| 295 | + <stoponempty>N</stoponempty> | ||
| 296 | + <filefield/> | ||
| 297 | + <sheetfield/> | ||
| 298 | + <sheetrownumfield/> | ||
| 299 | + <rownumfield/> | ||
| 300 | + <sheetfield/> | ||
| 301 | + <filefield/> | ||
| 302 | + <limit>0</limit> | ||
| 303 | + <encoding/> | ||
| 304 | + <add_to_result_filenames>Y</add_to_result_filenames> | ||
| 305 | + <accept_filenames>Y</accept_filenames> | ||
| 306 | + <accept_field>filepath_</accept_field> | ||
| 307 | + <accept_stepname>获取变量</accept_stepname> | ||
| 308 | + <file> | ||
| 309 | + <name/> | ||
| 310 | + <filemask/> | ||
| 311 | + <exclude_filemask/> | ||
| 312 | + <file_required>N</file_required> | ||
| 313 | + <include_subfolders>N</include_subfolders> | ||
| 314 | + </file> | ||
| 315 | + <fields> | ||
| 316 | + <field> | ||
| 317 | + <name>线路</name> | ||
| 318 | + <type>String</type> | ||
| 319 | + <length>-1</length> | ||
| 320 | + <precision>-1</precision> | ||
| 321 | + <trim_type>none</trim_type> | ||
| 322 | + <repeat>N</repeat> | ||
| 323 | + <format/> | ||
| 324 | + <currency/> | ||
| 325 | + <decimal/> | ||
| 326 | + <group/> | ||
| 327 | + </field> | ||
| 328 | + <field> | ||
| 329 | + <name>内部编码</name> | ||
| 330 | + <type>String</type> | ||
| 331 | + <length>-1</length> | ||
| 332 | + <precision>-1</precision> | ||
| 333 | + <trim_type>none</trim_type> | ||
| 334 | + <repeat>N</repeat> | ||
| 335 | + <format>#</format> | ||
| 336 | + <currency/> | ||
| 337 | + <decimal/> | ||
| 338 | + <group/> | ||
| 339 | + </field> | ||
| 340 | + <field> | ||
| 341 | + <name>启用日期</name> | ||
| 342 | + <type>String</type> | ||
| 343 | + <length>-1</length> | ||
| 344 | + <precision>-1</precision> | ||
| 345 | + <trim_type>none</trim_type> | ||
| 346 | + <repeat>N</repeat> | ||
| 347 | + <format/> | ||
| 348 | + <currency/> | ||
| 349 | + <decimal/> | ||
| 350 | + <group/> | ||
| 351 | + </field> | ||
| 352 | + <field> | ||
| 353 | + <name>终结日期</name> | ||
| 354 | + <type>String</type> | ||
| 355 | + <length>-1</length> | ||
| 356 | + <precision>-1</precision> | ||
| 357 | + <trim_type>none</trim_type> | ||
| 358 | + <repeat>N</repeat> | ||
| 359 | + <format/> | ||
| 360 | + <currency/> | ||
| 361 | + <decimal/> | ||
| 362 | + <group/> | ||
| 363 | + </field> | ||
| 364 | + <field> | ||
| 365 | + <name>停车点</name> | ||
| 366 | + <type>String</type> | ||
| 367 | + <length>-1</length> | ||
| 368 | + <precision>-1</precision> | ||
| 369 | + <trim_type>none</trim_type> | ||
| 370 | + <repeat>N</repeat> | ||
| 371 | + <format/> | ||
| 372 | + <currency/> | ||
| 373 | + <decimal/> | ||
| 374 | + <group/> | ||
| 375 | + </field> | ||
| 376 | + </fields> | ||
| 377 | + <sheets> | ||
| 378 | + <sheet> | ||
| 379 | + <name>工作表1</name> | ||
| 380 | + <startrow>0</startrow> | ||
| 381 | + <startcol>0</startcol> | ||
| 382 | + </sheet> | ||
| 383 | + </sheets> | ||
| 384 | + <strict_types>N</strict_types> | ||
| 385 | + <error_ignored>N</error_ignored> | ||
| 386 | + <error_line_skipped>N</error_line_skipped> | ||
| 387 | + <bad_line_files_destination_directory/> | ||
| 388 | + <bad_line_files_extension>warning</bad_line_files_extension> | ||
| 389 | + <error_line_files_destination_directory/> | ||
| 390 | + <error_line_files_extension>error</error_line_files_extension> | ||
| 391 | + <line_number_files_destination_directory/> | ||
| 392 | + <line_number_files_extension>line</line_number_files_extension> | ||
| 393 | + <shortFileFieldName/> | ||
| 394 | + <pathFieldName/> | ||
| 395 | + <hiddenFieldName/> | ||
| 396 | + <lastModificationTimeFieldName/> | ||
| 397 | + <uriNameFieldName/> | ||
| 398 | + <rootUriNameFieldName/> | ||
| 399 | + <extensionFieldName/> | ||
| 400 | + <sizeFieldName/> | ||
| 401 | + <spreadsheet_type>JXL</spreadsheet_type> | ||
| 402 | + <cluster_schema/> | ||
| 403 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 404 | + <xloc>155</xloc> | ||
| 405 | + <yloc>56</yloc> | ||
| 406 | + <draw>Y</draw> | ||
| 407 | + </GUI> | ||
| 408 | + </step> | ||
| 409 | + | ||
| 410 | + <step> | ||
| 411 | + <name>启用被数据flag</name> | ||
| 412 | + <type>Constant</type> | ||
| 413 | + <description/> | ||
| 414 | + <distribute>Y</distribute> | ||
| 415 | + <custom_distribution/> | ||
| 416 | + <copies>1</copies> | ||
| 417 | + <partitioning> | ||
| 418 | + <method>none</method> | ||
| 419 | + <schema_name/> | ||
| 420 | + </partitioning> | ||
| 421 | + <fields> | ||
| 422 | + <field> | ||
| 423 | + <name>isCancel</name> | ||
| 424 | + <type>Integer</type> | ||
| 425 | + <format/> | ||
| 426 | + <currency/> | ||
| 427 | + <decimal/> | ||
| 428 | + <group/> | ||
| 429 | + <nullif>0</nullif> | ||
| 430 | + <length>-1</length> | ||
| 431 | + <precision>-1</precision> | ||
| 432 | + <set_empty_string>N</set_empty_string> | ||
| 433 | + </field> | ||
| 434 | + </fields> | ||
| 435 | + <cluster_schema/> | ||
| 436 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 437 | + <xloc>315</xloc> | ||
| 438 | + <yloc>57</yloc> | ||
| 439 | + <draw>Y</draw> | ||
| 440 | + </GUI> | ||
| 441 | + </step> | ||
| 442 | + | ||
| 443 | + <step> | ||
| 444 | + <name>插入/更新bsth_c_s_ccinfo</name> | ||
| 445 | + <type>InsertUpdate</type> | ||
| 446 | + <description/> | ||
| 447 | + <distribute>Y</distribute> | ||
| 448 | + <custom_distribution/> | ||
| 449 | + <copies>1</copies> | ||
| 450 | + <partitioning> | ||
| 451 | + <method>none</method> | ||
| 452 | + <schema_name/> | ||
| 453 | + </partitioning> | ||
| 454 | + <connection>bus_control_variable</connection> | ||
| 455 | + <commit>100</commit> | ||
| 456 | + <update_bypassed>N</update_bypassed> | ||
| 457 | + <lookup> | ||
| 458 | + <schema/> | ||
| 459 | + <table>bsth_c_s_ccinfo</table> | ||
| 460 | + <key> | ||
| 461 | + <name>xlid</name> | ||
| 462 | + <field>xl</field> | ||
| 463 | + <condition>=</condition> | ||
| 464 | + <name2/> | ||
| 465 | + </key> | ||
| 466 | + <key> | ||
| 467 | + <name>clid</name> | ||
| 468 | + <field>cl</field> | ||
| 469 | + <condition>=</condition> | ||
| 470 | + <name2/> | ||
| 471 | + </key> | ||
| 472 | + <key> | ||
| 473 | + <name>isCancel</name> | ||
| 474 | + <field>is_cancel</field> | ||
| 475 | + <condition>=</condition> | ||
| 476 | + <name2/> | ||
| 477 | + </key> | ||
| 478 | + <value> | ||
| 479 | + <name>xl</name> | ||
| 480 | + <rename>xlId</rename> | ||
| 481 | + <update>N</update> | ||
| 482 | + </value> | ||
| 483 | + <value> | ||
| 484 | + <name>cl</name> | ||
| 485 | + <rename>clId</rename> | ||
| 486 | + <update>N</update> | ||
| 487 | + </value> | ||
| 488 | + <value> | ||
| 489 | + <name>is_switch</name> | ||
| 490 | + <rename>isswitch</rename> | ||
| 491 | + <update>N</update> | ||
| 492 | + </value> | ||
| 493 | + <value> | ||
| 494 | + <name>tcd</name> | ||
| 495 | + <rename>停车点</rename> | ||
| 496 | + <update>N</update> | ||
| 497 | + </value> | ||
| 498 | + <value> | ||
| 499 | + <name>zzrq</name> | ||
| 500 | + <rename>终结日期</rename> | ||
| 501 | + <update>N</update> | ||
| 502 | + </value> | ||
| 503 | + <value> | ||
| 504 | + <name>qyrq</name> | ||
| 505 | + <rename>启用日期</rename> | ||
| 506 | + <update>N</update> | ||
| 507 | + </value> | ||
| 508 | + <value> | ||
| 509 | + <name>is_cancel</name> | ||
| 510 | + <rename>isCancel</rename> | ||
| 511 | + <update>N</update> | ||
| 512 | + </value> | ||
| 513 | + </lookup> | ||
| 514 | + <cluster_schema/> | ||
| 515 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 516 | + <xloc>804</xloc> | ||
| 517 | + <yloc>236</yloc> | ||
| 518 | + <draw>Y</draw> | ||
| 519 | + </GUI> | ||
| 520 | + </step> | ||
| 521 | + | ||
| 522 | + <step> | ||
| 523 | + <name>日期转换</name> | ||
| 524 | + <type>SelectValues</type> | ||
| 525 | + <description/> | ||
| 526 | + <distribute>Y</distribute> | ||
| 527 | + <custom_distribution/> | ||
| 528 | + <copies>1</copies> | ||
| 529 | + <partitioning> | ||
| 530 | + <method>none</method> | ||
| 531 | + <schema_name/> | ||
| 532 | + </partitioning> | ||
| 533 | + <fields> <select_unspecified>N</select_unspecified> | ||
| 534 | + <meta> <name>启用日期</name> | ||
| 535 | + <rename>启用日期</rename> | ||
| 536 | + <type>Timestamp</type> | ||
| 537 | + <length>-2</length> | ||
| 538 | + <precision>-2</precision> | ||
| 539 | + <conversion_mask>yyyy-MM-dd</conversion_mask> | ||
| 540 | + <date_format_lenient>false</date_format_lenient> | ||
| 541 | + <date_format_locale/> | ||
| 542 | + <date_format_timezone/> | ||
| 543 | + <lenient_string_to_number>false</lenient_string_to_number> | ||
| 544 | + <encoding/> | ||
| 545 | + <decimal_symbol/> | ||
| 546 | + <grouping_symbol/> | ||
| 547 | + <currency_symbol/> | ||
| 548 | + <storage_type/> | ||
| 549 | + </meta> <meta> <name>终结日期</name> | ||
| 550 | + <rename>终结日期</rename> | ||
| 551 | + <type>Timestamp</type> | ||
| 552 | + <length>-2</length> | ||
| 553 | + <precision>-2</precision> | ||
| 554 | + <conversion_mask>yyyy-MM-dd</conversion_mask> | ||
| 555 | + <date_format_lenient>false</date_format_lenient> | ||
| 556 | + <date_format_locale/> | ||
| 557 | + <date_format_timezone/> | ||
| 558 | + <lenient_string_to_number>false</lenient_string_to_number> | ||
| 559 | + <encoding/> | ||
| 560 | + <decimal_symbol/> | ||
| 561 | + <grouping_symbol/> | ||
| 562 | + <currency_symbol/> | ||
| 563 | + <storage_type/> | ||
| 564 | + </meta> </fields> <cluster_schema/> | ||
| 565 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 566 | + <xloc>703</xloc> | ||
| 567 | + <yloc>136</yloc> | ||
| 568 | + <draw>Y</draw> | ||
| 569 | + </GUI> | ||
| 570 | + </step> | ||
| 571 | + | ||
| 572 | + <step> | ||
| 573 | + <name>是否切换</name> | ||
| 574 | + <type>Constant</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 | + <fields> | ||
| 584 | + <field> | ||
| 585 | + <name>isswitch</name> | ||
| 586 | + <type>Integer</type> | ||
| 587 | + <format/> | ||
| 588 | + <currency/> | ||
| 589 | + <decimal/> | ||
| 590 | + <group/> | ||
| 591 | + <nullif>0</nullif> | ||
| 592 | + <length>-1</length> | ||
| 593 | + <precision>-1</precision> | ||
| 594 | + <set_empty_string>N</set_empty_string> | ||
| 595 | + </field> | ||
| 596 | + </fields> | ||
| 597 | + <cluster_schema/> | ||
| 598 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 599 | + <xloc>803</xloc> | ||
| 600 | + <yloc>137</yloc> | ||
| 601 | + <draw>Y</draw> | ||
| 602 | + </GUI> | ||
| 603 | + </step> | ||
| 604 | + | ||
| 605 | + <step> | ||
| 606 | + <name>线路id查询</name> | ||
| 607 | + <type>DBLookup</type> | ||
| 608 | + <description/> | ||
| 609 | + <distribute>Y</distribute> | ||
| 610 | + <custom_distribution/> | ||
| 611 | + <copies>1</copies> | ||
| 612 | + <partitioning> | ||
| 613 | + <method>none</method> | ||
| 614 | + <schema_name/> | ||
| 615 | + </partitioning> | ||
| 616 | + <connection>bus_control_variable</connection> | ||
| 617 | + <cache>Y</cache> | ||
| 618 | + <cache_load_all>Y</cache_load_all> | ||
| 619 | + <cache_size>0</cache_size> | ||
| 620 | + <lookup> | ||
| 621 | + <schema/> | ||
| 622 | + <table>bsth_c_line</table> | ||
| 623 | + <orderby/> | ||
| 624 | + <fail_on_multiple>N</fail_on_multiple> | ||
| 625 | + <eat_row_on_failure>N</eat_row_on_failure> | ||
| 626 | + <key> | ||
| 627 | + <name>线路</name> | ||
| 628 | + <field>name</field> | ||
| 629 | + <condition>=</condition> | ||
| 630 | + <name2/> | ||
| 631 | + </key> | ||
| 632 | + <key> | ||
| 633 | + <name>isCancel</name> | ||
| 634 | + <field>destroy</field> | ||
| 635 | + <condition>=</condition> | ||
| 636 | + <name2/> | ||
| 637 | + </key> | ||
| 638 | + <value> | ||
| 639 | + <name>id</name> | ||
| 640 | + <rename>xlid</rename> | ||
| 641 | + <default/> | ||
| 642 | + <type>Integer</type> | ||
| 643 | + </value> | ||
| 644 | + </lookup> | ||
| 645 | + <cluster_schema/> | ||
| 646 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 647 | + <xloc>438</xloc> | ||
| 648 | + <yloc>57</yloc> | ||
| 649 | + <draw>Y</draw> | ||
| 650 | + </GUI> | ||
| 651 | + </step> | ||
| 652 | + | ||
| 653 | + <step> | ||
| 654 | + <name>获取变量</name> | ||
| 655 | + <type>GetVariable</type> | ||
| 656 | + <description/> | ||
| 657 | + <distribute>Y</distribute> | ||
| 658 | + <custom_distribution/> | ||
| 659 | + <copies>1</copies> | ||
| 660 | + <partitioning> | ||
| 661 | + <method>none</method> | ||
| 662 | + <schema_name/> | ||
| 663 | + </partitioning> | ||
| 664 | + <fields> | ||
| 665 | + <field> | ||
| 666 | + <name>filepath_</name> | ||
| 667 | + <variable>${filepath}</variable> | ||
| 668 | + <type>String</type> | ||
| 669 | + <format/> | ||
| 670 | + <currency/> | ||
| 671 | + <decimal/> | ||
| 672 | + <group/> | ||
| 673 | + <length>-1</length> | ||
| 674 | + <precision>-1</precision> | ||
| 675 | + <trim_type>none</trim_type> | ||
| 676 | + </field> | ||
| 677 | + <field> | ||
| 678 | + <name>erroroutputdir_</name> | ||
| 679 | + <variable>${erroroutputdir}</variable> | ||
| 680 | + <type>String</type> | ||
| 681 | + <format/> | ||
| 682 | + <currency/> | ||
| 683 | + <decimal/> | ||
| 684 | + <group/> | ||
| 685 | + <length>-1</length> | ||
| 686 | + <precision>-1</precision> | ||
| 687 | + <trim_type>none</trim_type> | ||
| 688 | + </field> | ||
| 689 | + </fields> | ||
| 690 | + <cluster_schema/> | ||
| 691 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 692 | + <xloc>156</xloc> | ||
| 693 | + <yloc>150</yloc> | ||
| 694 | + <draw>Y</draw> | ||
| 695 | + </GUI> | ||
| 696 | + </step> | ||
| 697 | + | ||
| 698 | + <step> | ||
| 699 | + <name>车辆id查询</name> | ||
| 700 | + <type>DBLookup</type> | ||
| 701 | + <description/> | ||
| 702 | + <distribute>Y</distribute> | ||
| 703 | + <custom_distribution/> | ||
| 704 | + <copies>1</copies> | ||
| 705 | + <partitioning> | ||
| 706 | + <method>none</method> | ||
| 707 | + <schema_name/> | ||
| 708 | + </partitioning> | ||
| 709 | + <connection>bus_control_variable</connection> | ||
| 710 | + <cache>Y</cache> | ||
| 711 | + <cache_load_all>Y</cache_load_all> | ||
| 712 | + <cache_size>0</cache_size> | ||
| 713 | + <lookup> | ||
| 714 | + <schema/> | ||
| 715 | + <table>bsth_c_cars</table> | ||
| 716 | + <orderby/> | ||
| 717 | + <fail_on_multiple>N</fail_on_multiple> | ||
| 718 | + <eat_row_on_failure>N</eat_row_on_failure> | ||
| 719 | + <key> | ||
| 720 | + <name>内部编码</name> | ||
| 721 | + <field>inside_code</field> | ||
| 722 | + <condition>=</condition> | ||
| 723 | + <name2/> | ||
| 724 | + </key> | ||
| 725 | + <value> | ||
| 726 | + <name>id</name> | ||
| 727 | + <rename>clid</rename> | ||
| 728 | + <default/> | ||
| 729 | + <type>Integer</type> | ||
| 730 | + </value> | ||
| 731 | + </lookup> | ||
| 732 | + <cluster_schema/> | ||
| 733 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 734 | + <xloc>440</xloc> | ||
| 735 | + <yloc>138</yloc> | ||
| 736 | + <draw>Y</draw> | ||
| 737 | + </GUI> | ||
| 738 | + </step> | ||
| 739 | + | ||
| 740 | + <step> | ||
| 741 | + <name>过滤线路id为空记录</name> | ||
| 742 | + <type>FilterRows</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 | +<send_true_to>车辆id查询</send_true_to> | ||
| 752 | +<send_false_to/> | ||
| 753 | + <compare> | ||
| 754 | +<condition> | ||
| 755 | + <negated>N</negated> | ||
| 756 | + <leftvalue>xlid</leftvalue> | ||
| 757 | + <function>IS NOT NULL</function> | ||
| 758 | + <rightvalue/> | ||
| 759 | + </condition> | ||
| 760 | + </compare> | ||
| 761 | + <cluster_schema/> | ||
| 762 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 763 | + <xloc>563</xloc> | ||
| 764 | + <yloc>57</yloc> | ||
| 765 | + <draw>Y</draw> | ||
| 766 | + </GUI> | ||
| 767 | + </step> | ||
| 768 | + | ||
| 769 | + <step> | ||
| 770 | + <name>过滤车辆id为空记录</name> | ||
| 771 | + <type>FilterRows</type> | ||
| 772 | + <description/> | ||
| 773 | + <distribute>Y</distribute> | ||
| 774 | + <custom_distribution/> | ||
| 775 | + <copies>1</copies> | ||
| 776 | + <partitioning> | ||
| 777 | + <method>none</method> | ||
| 778 | + <schema_name/> | ||
| 779 | + </partitioning> | ||
| 780 | +<send_true_to>日期转换</send_true_to> | ||
| 781 | +<send_false_to/> | ||
| 782 | + <compare> | ||
| 783 | +<condition> | ||
| 784 | + <negated>N</negated> | ||
| 785 | + <leftvalue>clid</leftvalue> | ||
| 786 | + <function>IS NOT NULL</function> | ||
| 787 | + <rightvalue/> | ||
| 788 | + </condition> | ||
| 789 | + </compare> | ||
| 790 | + <cluster_schema/> | ||
| 791 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 792 | + <xloc>566</xloc> | ||
| 793 | + <yloc>137</yloc> | ||
| 794 | + <draw>Y</draw> | ||
| 795 | + </GUI> | ||
| 796 | + </step> | ||
| 797 | + | ||
| 798 | + <step> | ||
| 799 | + <name>错误输出</name> | ||
| 800 | + <type>ExcelOutput</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 | + <header>Y</header> | ||
| 810 | + <footer>N</footer> | ||
| 811 | + <encoding>UTF-8</encoding> | ||
| 812 | + <append>N</append> | ||
| 813 | + <add_to_result_filenames>Y</add_to_result_filenames> | ||
| 814 | + <file> | ||
| 815 | + <name>${erroroutputdir}/当前配车_错误</name> | ||
| 816 | + <extention>xls</extention> | ||
| 817 | + <do_not_open_newfile_init>N</do_not_open_newfile_init> | ||
| 818 | + <create_parent_folder>N</create_parent_folder> | ||
| 819 | + <split>N</split> | ||
| 820 | + <add_date>N</add_date> | ||
| 821 | + <add_time>N</add_time> | ||
| 822 | + <SpecifyFormat>N</SpecifyFormat> | ||
| 823 | + <date_time_format/> | ||
| 824 | + <sheetname>Sheet1</sheetname> | ||
| 825 | + <autosizecolums>N</autosizecolums> | ||
| 826 | + <nullisblank>N</nullisblank> | ||
| 827 | + <protect_sheet>N</protect_sheet> | ||
| 828 | + <password>Encrypted </password> | ||
| 829 | + <splitevery>0</splitevery> | ||
| 830 | + <usetempfiles>N</usetempfiles> | ||
| 831 | + <tempdirectory/> | ||
| 832 | + </file> | ||
| 833 | + <template> | ||
| 834 | + <enabled>N</enabled> | ||
| 835 | + <append>N</append> | ||
| 836 | + <filename>template.xls</filename> | ||
| 837 | + </template> | ||
| 838 | + <fields> | ||
| 839 | + <field> | ||
| 840 | + <name>线路</name> | ||
| 841 | + <type>String</type> | ||
| 842 | + <format/> | ||
| 843 | + </field> | ||
| 844 | + <field> | ||
| 845 | + <name>内部编码</name> | ||
| 846 | + <type>String</type> | ||
| 847 | + <format/> | ||
| 848 | + </field> | ||
| 849 | + <field> | ||
| 850 | + <name>启用日期</name> | ||
| 851 | + <type>Timestamp</type> | ||
| 852 | + <format/> | ||
| 853 | + </field> | ||
| 854 | + <field> | ||
| 855 | + <name>终结日期</name> | ||
| 856 | + <type>Timestamp</type> | ||
| 857 | + <format/> | ||
| 858 | + </field> | ||
| 859 | + <field> | ||
| 860 | + <name>停车点</name> | ||
| 861 | + <type>String</type> | ||
| 862 | + <format/> | ||
| 863 | + </field> | ||
| 864 | + <field> | ||
| 865 | + <name>isCancel</name> | ||
| 866 | + <type>Integer</type> | ||
| 867 | + <format/> | ||
| 868 | + </field> | ||
| 869 | + <field> | ||
| 870 | + <name>xlid</name> | ||
| 871 | + <type>Integer</type> | ||
| 872 | + <format/> | ||
| 873 | + </field> | ||
| 874 | + <field> | ||
| 875 | + <name>clid</name> | ||
| 876 | + <type>Integer</type> | ||
| 877 | + <format/> | ||
| 878 | + </field> | ||
| 879 | + <field> | ||
| 880 | + <name>isswitch</name> | ||
| 881 | + <type>Integer</type> | ||
| 882 | + <format/> | ||
| 883 | + </field> | ||
| 884 | + <field> | ||
| 885 | + <name>error_count</name> | ||
| 886 | + <type>Integer</type> | ||
| 887 | + <format/> | ||
| 888 | + </field> | ||
| 889 | + <field> | ||
| 890 | + <name>error_desc</name> | ||
| 891 | + <type>String</type> | ||
| 892 | + <format/> | ||
| 893 | + </field> | ||
| 894 | + <field> | ||
| 895 | + <name>error_column1</name> | ||
| 896 | + <type>String</type> | ||
| 897 | + <format/> | ||
| 898 | + </field> | ||
| 899 | + <field> | ||
| 900 | + <name>error_column2</name> | ||
| 901 | + <type>String</type> | ||
| 902 | + <format/> | ||
| 903 | + </field> | ||
| 904 | + </fields> | ||
| 905 | + <custom> | ||
| 906 | + <header_font_name>arial</header_font_name> | ||
| 907 | + <header_font_size>10</header_font_size> | ||
| 908 | + <header_font_bold>N</header_font_bold> | ||
| 909 | + <header_font_italic>N</header_font_italic> | ||
| 910 | + <header_font_underline>no</header_font_underline> | ||
| 911 | + <header_font_orientation>horizontal</header_font_orientation> | ||
| 912 | + <header_font_color>black</header_font_color> | ||
| 913 | + <header_background_color>none</header_background_color> | ||
| 914 | + <header_row_height>255</header_row_height> | ||
| 915 | + <header_alignment>left</header_alignment> | ||
| 916 | + <header_image/> | ||
| 917 | + <row_font_name>arial</row_font_name> | ||
| 918 | + <row_font_size>10</row_font_size> | ||
| 919 | + <row_font_color>black</row_font_color> | ||
| 920 | + <row_background_color>none</row_background_color> | ||
| 921 | + </custom> | ||
| 922 | + <cluster_schema/> | ||
| 923 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 924 | + <xloc>807</xloc> | ||
| 925 | + <yloc>353</yloc> | ||
| 926 | + <draw>Y</draw> | ||
| 927 | + </GUI> | ||
| 928 | + </step> | ||
| 929 | + | ||
| 930 | + <step_error_handling> | ||
| 931 | + <error> | ||
| 932 | + <source_step>插入/更新bsth_c_s_ccinfo</source_step> | ||
| 933 | + <target_step>错误输出</target_step> | ||
| 934 | + <is_enabled>Y</is_enabled> | ||
| 935 | + <nr_valuename>error_count</nr_valuename> | ||
| 936 | + <descriptions_valuename>error_desc</descriptions_valuename> | ||
| 937 | + <fields_valuename>error_column1</fields_valuename> | ||
| 938 | + <codes_valuename>error_column2</codes_valuename> | ||
| 939 | + <max_errors/> | ||
| 940 | + <max_pct_errors/> | ||
| 941 | + <min_pct_rows/> | ||
| 942 | + </error> | ||
| 943 | + </step_error_handling> | ||
| 944 | + <slave-step-copy-partition-distribution> | ||
| 945 | +</slave-step-copy-partition-distribution> | ||
| 946 | + <slave_transformation>N</slave_transformation> | ||
| 947 | + | ||
| 948 | +</transformation> |