Commit 4bfbe881ac19649df43649c6c08445bf6c451492
Update
Showing
36 changed files
with
2383 additions
and
1508 deletions
Too many changes to show.
To preserve performance only 36 of 88 files are displayed.
pom.xml
| 1 | 1 | <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| 2 | - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | |
| 2 | + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | |
| 3 | 3 | |
| 4 | 4 | <modelVersion>4.0.0</modelVersion> |
| 5 | 5 | <groupId>com.bsth</groupId> |
| ... | ... | @@ -237,27 +237,33 @@ |
| 237 | 237 | <version>1.13</version> |
| 238 | 238 | </dependency> |
| 239 | 239 | |
| 240 | - <dependency> | |
| 241 | - <groupId>org.dbunit</groupId> | |
| 242 | - <artifactId>dbunit</artifactId> | |
| 243 | - <version>2.4.9</version> | |
| 244 | - <scope>test</scope> | |
| 240 | + <dependency> | |
| 241 | + <groupId>org.dbunit</groupId> | |
| 242 | + <artifactId>dbunit</artifactId> | |
| 243 | + <version>2.4.9</version> | |
| 244 | + <scope>test</scope> | |
| 245 | 245 | |
| 246 | - <exclusions> | |
| 247 | - <exclusion> | |
| 248 | - <groupId>org.slf4j</groupId> | |
| 249 | - <artifactId>slf4j-api</artifactId> | |
| 250 | - </exclusion> | |
| 251 | - </exclusions> | |
| 252 | - </dependency> | |
| 246 | + <exclusions> | |
| 247 | + <exclusion> | |
| 248 | + <groupId>org.slf4j</groupId> | |
| 249 | + <artifactId>slf4j-api</artifactId> | |
| 250 | + </exclusion> | |
| 251 | + </exclusions> | |
| 252 | + </dependency> | |
| 253 | + | |
| 254 | + <dependency> | |
| 255 | + <groupId>com.h2database</groupId> | |
| 256 | + <artifactId>h2</artifactId> | |
| 257 | + <version>1.2.132</version> | |
| 258 | + <scope>test</scope> | |
| 259 | + </dependency> | |
| 253 | 260 | |
| 254 | - <dependency> | |
| 255 | - <groupId>com.h2database</groupId> | |
| 256 | - <artifactId>h2</artifactId> | |
| 257 | - <version>1.2.132</version> | |
| 258 | - <scope>test</scope> | |
| 259 | - </dependency> | |
| 260 | 261 | |
| 262 | + <dependency> | |
| 263 | + <groupId>ojdbc</groupId> | |
| 264 | + <artifactId>ojdbc</artifactId> | |
| 265 | + <version>14</version> | |
| 266 | + </dependency> | |
| 261 | 267 | </dependencies> |
| 262 | 268 | |
| 263 | 269 | <dependencyManagement> | ... | ... |
src/main/java/com/bsth/controller/forms/ExportController.java
| ... | ... | @@ -28,6 +28,7 @@ import com.bsth.entity.mcy_forms.Vehicleloading; |
| 28 | 28 | import com.bsth.entity.mcy_forms.Waybillday; |
| 29 | 29 | import com.bsth.service.forms.ExportService; |
| 30 | 30 | import com.bsth.service.forms.FormsService; |
| 31 | +import com.bsth.util.Arith; | |
| 31 | 32 | import com.bsth.util.ReportUtils; |
| 32 | 33 | |
| 33 | 34 | @RestController |
| ... | ... | @@ -167,7 +168,7 @@ public class ExportController { |
| 167 | 168 | } |
| 168 | 169 | |
| 169 | 170 | // 路单数据报表 |
| 170 | - @RequestMapping(value = "/singledataExport", method = RequestMethod.POST) | |
| 171 | + @RequestMapping(value = "/singledataExport", method = RequestMethod.GET) | |
| 171 | 172 | public List<Map<String, Object>> singledataExport(@RequestParam Map<String, Object> map) { |
| 172 | 173 | SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), sdfSimple = new SimpleDateFormat("yyyyMMdd"); |
| 173 | 174 | List<Iterator<?>> listI = new ArrayList<Iterator<?>>(); |
| ... | ... | @@ -213,12 +214,12 @@ public class ExportController { |
| 213 | 214 | } |
| 214 | 215 | |
| 215 | 216 | // 车辆加注 |
| 216 | - @RequestMapping(value = "/vehicleloadingExport", method = RequestMethod.POST) | |
| 217 | + @RequestMapping(value = "/vehicleloadingExport", method = RequestMethod.GET) | |
| 217 | 218 | public List<Map<String, Object>> vehicleloadingExport(@RequestParam Map<String, Object> map) { |
| 218 | 219 | SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), sdfSimple = new SimpleDateFormat("yyyyMMdd"); |
| 219 | 220 | List<Iterator<?>> listI = new ArrayList<Iterator<?>>(); |
| 220 | 221 | ReportUtils ee = new ReportUtils(); |
| 221 | - List<Vehicleloading> vehicleloading = formsService.vehicleloading(map.get("gsdmVehic").toString(),map.get("fgsdmVehic").toString(),map.get("line").toString(), | |
| 222 | + List<Vehicleloading> vehicleloading = formsService.vehicleloading(map.get("line").toString(), | |
| 222 | 223 | map.get("data").toString()); |
| 223 | 224 | List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>(); |
| 224 | 225 | int i = 1; |
| ... | ... | @@ -252,7 +253,7 @@ public class ExportController { |
| 252 | 253 | } |
| 253 | 254 | |
| 254 | 255 | // 运营服务阶段报表 |
| 255 | - @RequestMapping(value = "/operationserviceExport", method = RequestMethod.POST) | |
| 256 | + @RequestMapping(value = "/operationserviceExport", method = RequestMethod.GET) | |
| 256 | 257 | public List<Map<String, Object>> operationserviceExport(@RequestParam Map<String, Object> map) { |
| 257 | 258 | SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), sdfSimple = new SimpleDateFormat("yyyyMMdd"); |
| 258 | 259 | List<Iterator<?>> listI = new ArrayList<Iterator<?>>(); |
| ... | ... | @@ -558,17 +559,13 @@ public class ExportController { |
| 558 | 559 | List<Daily> allline = formsService.daily(map); |
| 559 | 560 | |
| 560 | 561 | List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>(); |
| 561 | - Float zgl=0f; | |
| 562 | - Float ks=0f; | |
| 563 | - Float yh=0f; | |
| 564 | - Float bc=0f; | |
| 562 | + double zgl=0.0; | |
| 563 | + double ks=0.0; | |
| 564 | + double yh=0.0; | |
| 565 | + int bc=0; | |
| 565 | 566 | Map<String, Object> m ; |
| 566 | 567 | for (Daily d : allline) { |
| 567 | 568 | m = new HashMap<String, Object>(); |
| 568 | - zgl +=d.getZlc()==""?0f:Float.valueOf(d.getZlc()); | |
| 569 | - ks +=d.getJzl1()==""?0f:Float.valueOf(d.getJzl1()); | |
| 570 | - yh +=d.getYh()==""?0f:Float.valueOf(d.getYh()); | |
| 571 | - bc +=d.getBc()==""?0f:Float.valueOf(d.getBc()); | |
| 572 | 569 | m.put("zbh", d.getZbh()); |
| 573 | 570 | m.put("jgh",d.getJgh()); |
| 574 | 571 | m.put("jName", d.getjName()); |
| ... | ... | @@ -576,9 +573,13 @@ public class ExportController { |
| 576 | 573 | m.put("jzl1", d.getJzl1()); |
| 577 | 574 | m.put("yh", d.getYh()); |
| 578 | 575 | m.put("bc", d.getBc()); |
| 576 | + zgl =Arith.add(zgl, d.getZlc()); | |
| 577 | + ks =Arith.add(ks, d.getJzl1()); | |
| 578 | + yh =Arith.add(yh, d.getYh()); | |
| 579 | + bc +=Integer.parseInt(d.getBc()); | |
| 579 | 580 | |
| 580 | 581 | resList.add(m); |
| 581 | - } | |
| 582 | + } | |
| 582 | 583 | |
| 583 | 584 | m=new HashMap<String,Object>(); |
| 584 | 585 | m.put("total_zgl", zgl); | ... | ... |
src/main/java/com/bsth/controller/forms/MCY_FormsController.java
| ... | ... | @@ -73,21 +73,20 @@ public class MCY_FormsController { |
| 73 | 73 | } |
| 74 | 74 | |
| 75 | 75 | // 路单数据 |
| 76 | - @RequestMapping(value = "/singledata", method = RequestMethod.POST) | |
| 76 | + @RequestMapping(value = "/singledata", method = RequestMethod.GET) | |
| 77 | 77 | public List<Singledata> singledata(@RequestParam Map<String, Object> map) { |
| 78 | 78 | |
| 79 | 79 | return formsService.singledata(map); |
| 80 | 80 | } |
| 81 | 81 | |
| 82 | 82 | // 车辆加注 |
| 83 | - @RequestMapping(value = "/vehicleloading", method = RequestMethod.POST) | |
| 84 | - public List<Vehicleloading> vehicleloading(@RequestParam String gsdmVehic, @RequestParam String fgsdmVehic, | |
| 85 | - @RequestParam String line, @RequestParam String data) { | |
| 86 | - return formsService.vehicleloading(gsdmVehic, fgsdmVehic, line, data); | |
| 83 | + @RequestMapping(value = "/vehicleloading", method = RequestMethod.GET) | |
| 84 | + public List<Vehicleloading> vehicleloading(@RequestParam String line, @RequestParam String data) { | |
| 85 | + return formsService.vehicleloading(line, data); | |
| 87 | 86 | } |
| 88 | 87 | |
| 89 | 88 | // 运营服务阶段报表 |
| 90 | - @RequestMapping(value = "/operationservice", method = RequestMethod.POST) | |
| 89 | + @RequestMapping(value = "/operationservice", method = RequestMethod.GET) | |
| 91 | 90 | public List<Operationservice> operationservice(@RequestParam Map<String, Object> map) { |
| 92 | 91 | |
| 93 | 92 | return formsService.operationservice(map); | ... | ... |
src/main/java/com/bsth/controller/oil/YlbController.java
| ... | ... | @@ -238,9 +238,11 @@ public class YlbController extends BaseController<Ylb, Integer>{ |
| 238 | 238 | Map<String, Object> m = new HashMap<String, Object>(); |
| 239 | 239 | m.put("rq", y.getRq()); |
| 240 | 240 | m.put("gsname",y.getGsname() ); |
| 241 | + m.put("fgsname", y.getFgsname()); | |
| 241 | 242 | m.put("xlname", y.getXlname()); |
| 242 | 243 | m.put("nbbm", y.getNbbm()); |
| 243 | 244 | m.put("jsy", y.getJsy()); |
| 245 | + m.put("name", y.getName()); | |
| 244 | 246 | m.put("jzl", y.getJzl()); |
| 245 | 247 | m.put("czlc", y.getCzlc()); |
| 246 | 248 | m.put("jzlc", y.getJzlc()); | ... | ... |
src/main/java/com/bsth/controller/realcontrol/DataManagerController.java
0 → 100644
| 1 | +package com.bsth.controller.realcontrol; | |
| 2 | + | |
| 3 | +import com.bsth.service.realcontrol.DataManagerService; | |
| 4 | +import org.apache.commons.lang3.StringEscapeUtils; | |
| 5 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 6 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 7 | +import org.springframework.web.bind.annotation.RequestParam; | |
| 8 | +import org.springframework.web.bind.annotation.RestController; | |
| 9 | + | |
| 10 | +import java.util.Map; | |
| 11 | + | |
| 12 | +/** | |
| 13 | + * 数据管理,包括从老系统的数据迁移。新系统的数据校验等 | |
| 14 | + * Created by panzhao on 2017/4/17. | |
| 15 | + */ | |
| 16 | +@RestController | |
| 17 | +@RequestMapping("dataManager") | |
| 18 | +public class DataManagerController { | |
| 19 | + | |
| 20 | + @Autowired | |
| 21 | + DataManagerService dataManagerService; | |
| 22 | + | |
| 23 | + @RequestMapping("cars/old_now") | |
| 24 | + public Map<String, Object> carInfos(@RequestParam Integer lineId){ | |
| 25 | + return dataManagerService.carInfos(lineId); | |
| 26 | + } | |
| 27 | + | |
| 28 | + @RequestMapping("car/updateDevices") | |
| 29 | + public Map<String, Object> updateDevices(@RequestParam String jsonStr){ | |
| 30 | + jsonStr = StringEscapeUtils.unescapeHtml4(jsonStr); | |
| 31 | + return dataManagerService.updateDevices(jsonStr); | |
| 32 | + } | |
| 33 | +} | ... | ... |
src/main/java/com/bsth/controller/realcontrol/ScheduleRealInfoController.java
| ... | ... | @@ -543,4 +543,25 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, |
| 543 | 543 | rs.put("status", code==0? ResponseCode.SUCCESS: ResponseCode.ERROR); |
| 544 | 544 | return rs; |
| 545 | 545 | } |
| 546 | + | |
| 547 | + /** | |
| 548 | + * 误点调整 | |
| 549 | + * @param idx | |
| 550 | + * @param minute | |
| 551 | + * @return | |
| 552 | + */ | |
| 553 | + @RequestMapping(value = "lateAdjust", method = RequestMethod.POST) | |
| 554 | + public Map<String, Object> lateAdjust(@RequestParam String idx,@RequestParam float minute ){ | |
| 555 | + return scheduleRealInfoService.lateAdjust(idx, minute); | |
| 556 | + } | |
| 557 | + | |
| 558 | + /** | |
| 559 | + * 获取所有应发未到的班次 | |
| 560 | + * @param idx | |
| 561 | + * @return | |
| 562 | + */ | |
| 563 | + @RequestMapping(value = "allLate2") | |
| 564 | + public List<ScheduleRealInfo> allLate2(@RequestParam String idx){ | |
| 565 | + return scheduleRealInfoService.allLate2(idx); | |
| 566 | + } | |
| 546 | 567 | } | ... | ... |
src/main/java/com/bsth/controller/report/ReportController.java
| 1 | 1 | package com.bsth.controller.report; |
| 2 | 2 | |
| 3 | +import java.util.ArrayList; | |
| 3 | 4 | import java.util.HashMap; |
| 5 | +import java.util.Iterator; | |
| 4 | 6 | import java.util.List; |
| 5 | 7 | import java.util.Map; |
| 6 | 8 | |
| ... | ... | @@ -13,6 +15,7 @@ import org.springframework.web.bind.annotation.RestController; |
| 13 | 15 | import com.bsth.entity.excep.ArrivalInfo; |
| 14 | 16 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 15 | 17 | import com.bsth.service.report.ReportService; |
| 18 | +import com.bsth.util.ReportUtils; | |
| 16 | 19 | |
| 17 | 20 | @RestController |
| 18 | 21 | @RequestMapping("report") |
| ... | ... | @@ -31,12 +34,74 @@ public class ReportController { |
| 31 | 34 | @RequestParam String date,@RequestParam String fcsj,@RequestParam String ddsj){ |
| 32 | 35 | return service.queryListZdxx(line,date,clzbh,fcsj,ddsj); |
| 33 | 36 | } |
| 37 | + | |
| 38 | + @RequestMapping(value="/exportQueryListZdxx" ,method = RequestMethod.GET) | |
| 39 | + public List<Map<String, Object>> exportQueryListZdxx(@RequestParam String clzbh,@RequestParam String line, | |
| 40 | + @RequestParam String date,@RequestParam String fcsj,@RequestParam String ddsj){ | |
| 41 | + List<Iterator<?>> listI = new ArrayList<Iterator<?>>(); | |
| 42 | + ReportUtils ee = new ReportUtils(); | |
| 43 | + List<ArrivalInfo> list=service.queryListZdxx(line,date,clzbh,fcsj,ddsj); | |
| 44 | + List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>(); | |
| 45 | + int i=1; | |
| 46 | + for (ArrivalInfo a:list ) { | |
| 47 | + Map<String, Object> m = new HashMap<String, Object>(); | |
| 48 | + m.put("i", i); | |
| 49 | + m.put("mbbm", a.getNbbm()); | |
| 50 | + m.put("stopName", a.getStopName()); | |
| 51 | + m.put("jzsj", a.getJzsj()); | |
| 52 | + m.put("czsj", a.getCzsj()); | |
| 53 | + m.put("upDown", a.getUpDown()==0?"上行":"下行"); | |
| 54 | + i++; | |
| 55 | + } | |
| 56 | + | |
| 57 | + try { | |
| 58 | + Map<String, Object> map=new HashMap<String, Object>(); | |
| 59 | + listI.add(resList.iterator()); | |
| 60 | + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/"; | |
| 61 | + ee.excelReplace(listI, new Object[] { map }, path + "mould/inoutstation.xls", | |
| 62 | + path + "export/班次到离站.xls"); | |
| 63 | + } catch (Exception e) { | |
| 64 | + e.printStackTrace(); | |
| 65 | + } | |
| 66 | + return resList; | |
| 67 | + } | |
| 68 | + | |
| 34 | 69 | @RequestMapping(value="/queryListClzd" ,method = RequestMethod.GET) |
| 35 | 70 | public List<ArrivalInfo> queryListClzd(@RequestParam String zd,@RequestParam String line, |
| 36 | 71 | @RequestParam String zdlx,@RequestParam String fcsj,@RequestParam String ddsj){ |
| 37 | 72 | return service.queryListClzd(line,zd,zdlx,fcsj,ddsj); |
| 38 | 73 | } |
| 39 | 74 | |
| 75 | + @RequestMapping(value="/exportQueryListClzd" ,method = RequestMethod.GET) | |
| 76 | + public List<Map<String, Object>> exportQueryListClzd(@RequestParam String zd,@RequestParam String line, | |
| 77 | + @RequestParam String zdlx,@RequestParam String fcsj,@RequestParam String ddsj){ | |
| 78 | + List<Iterator<?>> listI = new ArrayList<Iterator<?>>(); | |
| 79 | + ReportUtils ee = new ReportUtils(); | |
| 80 | + List<ArrivalInfo> list=service.queryListClzd(line, zd, zdlx, fcsj, ddsj); | |
| 81 | + List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>(); | |
| 82 | + int i=1; | |
| 83 | + for (ArrivalInfo a:list ) { | |
| 84 | + Map<String, Object> m = new HashMap<String, Object>(); | |
| 85 | + m.put("i", i); | |
| 86 | + m.put("nbbm", a.getNbbm()); | |
| 87 | + m.put("stopName", a.getStopName()); | |
| 88 | + m.put("jzsj", a.getJzsj()); | |
| 89 | + m.put("czsj", a.getCzsj()); | |
| 90 | + m.put("upDown", a.getUpDown()==0?"上行":"下行"); | |
| 91 | + i++; | |
| 92 | + } | |
| 93 | + | |
| 94 | + try { | |
| 95 | + Map<String, Object> map=new HashMap<String, Object>(); | |
| 96 | + listI.add(resList.iterator()); | |
| 97 | + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/"; | |
| 98 | + ee.excelReplace(listI, new Object[] { map }, path + "mould/inoutstation.xls", | |
| 99 | + path + "export/班次到离站.xls"); | |
| 100 | + } catch (Exception e) { | |
| 101 | + e.printStackTrace(); | |
| 102 | + } | |
| 103 | + return resList; | |
| 104 | + } | |
| 40 | 105 | @RequestMapping(value = "/sreachZd", method = RequestMethod.GET) |
| 41 | 106 | public List<Map<String, String>> sreachPersonnel(@RequestParam String line,@RequestParam int zdlx,@RequestParam String zd) { |
| 42 | 107 | return service.sreachZd(line,zdlx, zd); | ... | ... |
src/main/java/com/bsth/data/BasicData.java
| ... | ... | @@ -332,7 +332,8 @@ public class BasicData implements CommandLineRunner { |
| 332 | 332 | } |
| 333 | 333 | |
| 334 | 334 | perTempMap.put(jobCode, p); |
| 335 | - allPersonMap.put(jobCode, p.getPersonnelName()); | |
| 335 | + | |
| 336 | + allPersonMap.put(jobCode.substring(jobCode.indexOf("-")+1), p.getPersonnelName()); | |
| 336 | 337 | } |
| 337 | 338 | |
| 338 | 339 | jsyMap = jsyTempMap; | ... | ... |
src/main/java/com/bsth/data/gpsdata/arrival/handlers/InOutStationSignalHandle.java
| ... | ... | @@ -8,6 +8,7 @@ import com.bsth.data.gpsdata.arrival.utils.ScheduleSignalState; |
| 8 | 8 | import com.bsth.data.gpsdata.arrival.utils.SignalSchPlanMatcher; |
| 9 | 9 | import com.bsth.data.schedule.DayOfSchedule; |
| 10 | 10 | import com.bsth.data.schedule.ScheduleComparator; |
| 11 | +import com.bsth.data.schedule.late_adjust.LateAdjustHandle; | |
| 11 | 12 | import com.bsth.entity.realcontrol.LineConfig; |
| 12 | 13 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 13 | 14 | import com.bsth.service.directive.DirectiveService; |
| ... | ... | @@ -145,6 +146,9 @@ public class InOutStationSignalHandle extends SignalHandle{ |
| 145 | 146 | //持久化 |
| 146 | 147 | dayOfSchedule.save(sch); |
| 147 | 148 | |
| 149 | + //清理应发未发标记 | |
| 150 | + LateAdjustHandle.remove(sch); | |
| 151 | + | |
| 148 | 152 | if(sch.getBcType().equals("out")){ |
| 149 | 153 | //出场时,切换成营运状态 |
| 150 | 154 | directiveService.send60Operation(sch.getClZbh(), 0, Integer.parseInt(sch.getXlDir()), null, "出场@系统"); |
| ... | ... | @@ -242,6 +246,10 @@ public class InOutStationSignalHandle extends SignalHandle{ |
| 242 | 246 | long rsT = lineConfigData.applyIn(sch, gps.getTimestamp()); |
| 243 | 247 | |
| 244 | 248 | sch.setZdsjActualAll(rsT); |
| 249 | + | |
| 250 | + //通知误点停靠程序,有车辆到站 | |
| 251 | + LateAdjustHandle.carArrive(gps); | |
| 252 | + | |
| 245 | 253 | //已完成班次数 |
| 246 | 254 | int doneSum = dayOfSchedule.doneSum(sch.getClZbh()); |
| 247 | 255 | ScheduleRealInfo next = dayOfSchedule.next(sch); | ... | ... |
src/main/java/com/bsth/data/schedule/DayOfSchedule.java
| ... | ... | @@ -10,6 +10,7 @@ import com.bsth.data.LineConfigData; |
| 10 | 10 | import com.bsth.data.directive.DirectivesPstThread; |
| 11 | 11 | import com.bsth.data.gpsdata.GpsRealData; |
| 12 | 12 | import com.bsth.data.gpsdata.recovery.GpsDataRecovery; |
| 13 | +import com.bsth.data.schedule.late_adjust.ScheduleLateThread; | |
| 13 | 14 | import com.bsth.data.schedule.thread.*; |
| 14 | 15 | import com.bsth.entity.realcontrol.LineConfig; |
| 15 | 16 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| ... | ... | @@ -153,10 +154,10 @@ public class DayOfSchedule implements CommandLineRunner { |
| 153 | 154 | diff += (1000 * 60 * 60 * 24); |
| 154 | 155 | |
| 155 | 156 | logger.info(diff / 1000 / 60 + "分钟之后提交到运管处"); |
| 156 | - //Application.mainServices.scheduleWithFixedDelay(submitToTrafficManage, diff / 1000, 60 * 60 * 24, TimeUnit.SECONDS); | |
| 157 | + //Application.mainServices.scheduleAtFixedRate(submitToTrafficManage, diff / 1000, 60 * 60 * 24, TimeUnit.SECONDS); | |
| 157 | 158 | |
| 158 | 159 | //计算油、公里加注 |
| 159 | - Application.mainServices.scheduleWithFixedDelay(calcOilThread, diff / 1000, 60 * 60 * 24, TimeUnit.SECONDS); | |
| 160 | + Application.mainServices.scheduleAtFixedRate(calcOilThread, diff / 1000, 60 * 60 * 24, TimeUnit.SECONDS); | |
| 160 | 161 | |
| 161 | 162 | //指令持久化线程 |
| 162 | 163 | Application.mainServices.scheduleWithFixedDelay(directivesPstThread, 180, 180, TimeUnit.SECONDS); |
| ... | ... | @@ -386,6 +387,11 @@ public class DayOfSchedule implements CommandLineRunner { |
| 386 | 387 | sch.setLate(false); |
| 387 | 388 | } |
| 388 | 389 | |
| 390 | + //售票员为空设置为""字符串 | |
| 391 | + if(StringUtils.isEmpty(sch.getsGh())){ | |
| 392 | + sch.setsGh(""); | |
| 393 | + sch.setsName(""); | |
| 394 | + } | |
| 389 | 395 | sch.setJhlcOrig(sch.getJhlc()); |
| 390 | 396 | //保留备注 |
| 391 | 397 | if(StringUtils.isNotEmpty(sch.getRemark())) | ... | ... |
src/main/java/com/bsth/data/schedule/late_adjust/LateAdjustHandle.java
| 1 | -package com.bsth.data.schedule.late_adjust; | |
| 2 | - | |
| 3 | -/** | |
| 4 | - * 误点调整处理程序 | |
| 5 | - * Created by panzhao on 2017/4/16. | |
| 6 | - */ | |
| 7 | -public class LateAdjustHandle { | |
| 8 | - | |
| 9 | -} | |
| 1 | + | |
| 2 | +package com.bsth.data.schedule.late_adjust; | |
| 3 | + | |
| 4 | +import com.bsth.data.LineConfigData; | |
| 5 | +import com.bsth.data.gpsdata.GpsEntity; | |
| 6 | +import com.bsth.entity.realcontrol.LineConfig; | |
| 7 | +import com.bsth.entity.realcontrol.ScheduleRealInfo; | |
| 8 | +import com.bsth.websocket.handler.SendUtils; | |
| 9 | +import org.slf4j.Logger; | |
| 10 | +import org.slf4j.LoggerFactory; | |
| 11 | +import org.springframework.beans.BeansException; | |
| 12 | +import org.springframework.context.ApplicationContext; | |
| 13 | +import org.springframework.context.ApplicationContextAware; | |
| 14 | +import org.springframework.stereotype.Component; | |
| 15 | + | |
| 16 | +import java.util.Collection; | |
| 17 | +import java.util.HashMap; | |
| 18 | +import java.util.Map; | |
| 19 | + | |
| 20 | +/** | |
| 21 | + * 误点自动调整待发 处理程序 | |
| 22 | + * | |
| 23 | + * 注意 :这里的误点是指应发未到 | |
| 24 | + * Created by panzhao on 2017/4/16. | |
| 25 | + */ | |
| 26 | +@Component | |
| 27 | +public class LateAdjustHandle implements ApplicationContextAware{ | |
| 28 | + | |
| 29 | + static LineConfigData lineConfigData; | |
| 30 | + static SendUtils sendUtils; | |
| 31 | + | |
| 32 | + static Logger logger = LoggerFactory.getLogger(LateAdjustHandle.class); | |
| 33 | + | |
| 34 | + /** | |
| 35 | + * 应发未到车辆 和 班次 | |
| 36 | + */ | |
| 37 | + private static Map<String, ScheduleRealInfo> lateSchMap; | |
| 38 | + | |
| 39 | + | |
| 40 | + static { | |
| 41 | + lateSchMap = new HashMap<>(); | |
| 42 | + } | |
| 43 | + | |
| 44 | + /** | |
| 45 | + * 新增一个误点班次 | |
| 46 | + * @param sch | |
| 47 | + */ | |
| 48 | + public static void putLate(ScheduleRealInfo sch){ | |
| 49 | + try { | |
| 50 | + //线路配置 | |
| 51 | + LineConfig config = lineConfigData.get(sch.getXlBm()); | |
| 52 | + if(sch.getLateMinute() == 0){ | |
| 53 | + if(config.isEnableYjtk()){ | |
| 54 | + sch.setLateMinute(sch.getXlDir().equals("0")?config.getUpStopMinute():config.getDownStopMinute()); | |
| 55 | + } | |
| 56 | + else | |
| 57 | + return; | |
| 58 | + } | |
| 59 | + | |
| 60 | + if(sch.getDfsj().compareTo(config.getYjtkStart()) > 0 | |
| 61 | + && sch.getDfsj().compareTo(config.getYjtkEnd()) <= 0){ | |
| 62 | + | |
| 63 | + ScheduleRealInfo cancel = null; | |
| 64 | + //之前存在误点班次没有发出 | |
| 65 | + ScheduleRealInfo old = lateSchMap.get(sch.getClZbh()); | |
| 66 | + if(old != null && old.getDfsjT() < sch.getDfsjT()){ | |
| 67 | + remove(old); | |
| 68 | + cancel = old; | |
| 69 | + logger.info("【应发未到】old 班次 " + old.getId() + " -被覆盖!"); | |
| 70 | + } | |
| 71 | + | |
| 72 | + lateSchMap.put(sch.getClZbh(), sch); | |
| 73 | + //通知客户端 | |
| 74 | + sch.setLate2(true); | |
| 75 | + sendUtils.sendAutoWdtz(sch, cancel); | |
| 76 | + | |
| 77 | + logger.info("【应发未到】班次 " + sch.getClZbh() + " -" + sch.getDfsj() + " -id: " + sch.getId() + " -加入误点调整!"); | |
| 78 | + } | |
| 79 | + }catch (Exception e){ | |
| 80 | + logger.error("", e); | |
| 81 | + } | |
| 82 | + } | |
| 83 | + | |
| 84 | + | |
| 85 | + /** | |
| 86 | + * 获取所有应发未到的班次 | |
| 87 | + * @return | |
| 88 | + */ | |
| 89 | + public static Collection<ScheduleRealInfo> allLateSch(){ | |
| 90 | + return lateSchMap.values(); | |
| 91 | + } | |
| 92 | + | |
| 93 | + public static void remove(ScheduleRealInfo sch){ | |
| 94 | + try { | |
| 95 | + if(lateSchMap.get(sch.getClZbh()) == sch){ | |
| 96 | + lateSchMap.remove(sch.getClZbh()); | |
| 97 | + sch.setLate2(false); | |
| 98 | + sch.setLateMinute(0); | |
| 99 | + } | |
| 100 | + }catch (Exception e){ | |
| 101 | + logger.error("", e); | |
| 102 | + } | |
| 103 | + } | |
| 104 | + | |
| 105 | + /** | |
| 106 | + * 车辆到站 | |
| 107 | + * @param gps | |
| 108 | + */ | |
| 109 | + public static void carArrive(GpsEntity gps){ | |
| 110 | + try{ | |
| 111 | + if(gps.getInstation() != 1) | |
| 112 | + return; | |
| 113 | + | |
| 114 | + ScheduleRealInfo sch = lateSchMap.get(gps.getNbbm()); | |
| 115 | + if(sch == null) | |
| 116 | + return; | |
| 117 | + | |
| 118 | + //进的是班次起点 | |
| 119 | + if(gps.getStopNo().equals(sch.getQdzCode()) | |
| 120 | + && sch.getLateMinute() > 0){ | |
| 121 | + //自动调整待发 到达时间 + 停靠时间 | |
| 122 | + long dt = gps.getTimestamp() + (Long.parseLong(String.valueOf(sch.getLateMinute() * 60 * 1000))); | |
| 123 | + sch.setDfsjAll(dt); | |
| 124 | + sch.setDfAuto(true); | |
| 125 | + | |
| 126 | + lateSchMap.remove(sch.getClZbh()); | |
| 127 | + logger.info("【应发未到】车辆到站 " + sch.getClZbh() + " -" + sch.getDfsj() + " -到站时间:" + gps.getTimestamp() + " -停靠时间:" + sch.getLateMinute() + " -自动设置的待发时间:" + dt); | |
| 128 | + } | |
| 129 | + }catch (Exception e){ | |
| 130 | + logger.error("", e); | |
| 131 | + } | |
| 132 | + } | |
| 133 | + | |
| 134 | + @Override | |
| 135 | + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { | |
| 136 | + lineConfigData = applicationContext.getBean(LineConfigData.class); | |
| 137 | + sendUtils = applicationContext.getBean(SendUtils.class); | |
| 138 | + } | |
| 139 | +} | |
| 10 | 140 | \ No newline at end of file | ... | ... |
src/main/java/com/bsth/data/schedule/thread/ScheduleLateThread.java renamed to src/main/java/com/bsth/data/schedule/late_adjust/ScheduleLateThread.java
| 1 | -package com.bsth.data.schedule.thread; | |
| 1 | +package com.bsth.data.schedule.late_adjust; | |
| 2 | 2 | |
| 3 | 3 | |
| 4 | -import java.util.ArrayList; | |
| 5 | -import java.util.Collections; | |
| 6 | -import java.util.Comparator; | |
| 7 | -import java.util.List; | |
| 8 | - | |
| 9 | -import org.springframework.beans.factory.annotation.Autowired; | |
| 10 | -import org.springframework.stereotype.Component; | |
| 11 | - | |
| 12 | 4 | import com.bsth.data.schedule.DayOfSchedule; |
| 13 | 5 | import com.bsth.data.schedule.ScheduleComparator; |
| 14 | 6 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 15 | 7 | import com.bsth.websocket.handler.SendUtils; |
| 8 | +import org.apache.commons.lang3.StringUtils; | |
| 9 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 10 | +import org.springframework.stereotype.Component; | |
| 11 | + | |
| 12 | +import java.util.ArrayList; | |
| 13 | +import java.util.Collections; | |
| 14 | +import java.util.Comparator; | |
| 15 | +import java.util.List; | |
| 16 | 16 | |
| 17 | 17 | /** |
| 18 | - * | |
| 19 | - * @ClassName: ScheduleLateThread | |
| 20 | - * @Description: TODO(班次误点扫描线程) | |
| 21 | - * @author PanZhao | |
| 18 | + * | |
| 19 | + * @ClassName: ScheduleLateThread | |
| 20 | + * @Description: TODO(班次误点扫描线程) | |
| 21 | + * @author PanZhao | |
| 22 | 22 | * @date 2016年8月31日 下午3:09:02 |
| 23 | 23 | * |
| 24 | 24 | */ |
| ... | ... | @@ -27,29 +27,39 @@ public class ScheduleLateThread extends Thread{ |
| 27 | 27 | |
| 28 | 28 | @Autowired |
| 29 | 29 | DayOfSchedule dayOfSchedule; |
| 30 | - | |
| 30 | + | |
| 31 | 31 | @Autowired |
| 32 | 32 | SendUtils sendUtils; |
| 33 | - | |
| 33 | + | |
| 34 | 34 | private static Comparator<ScheduleRealInfo> cpm = new ScheduleComparator.FCSJ(); |
| 35 | - | |
| 35 | + | |
| 36 | 36 | @Override |
| 37 | 37 | public void run() { |
| 38 | 38 | List<ScheduleRealInfo> all = new ArrayList<>(dayOfSchedule.findAll()); |
| 39 | 39 | Collections.sort(all, cpm); |
| 40 | - | |
| 40 | + | |
| 41 | 41 | long t = System.currentTimeMillis(); |
| 42 | 42 | int size = all.size(); |
| 43 | - | |
| 43 | + | |
| 44 | 44 | ScheduleRealInfo sch; |
| 45 | 45 | for(int i = 0; i < size; i ++){ |
| 46 | 46 | sch = all.get(i); |
| 47 | - if(sch.getDfsjT() > t) | |
| 47 | + if(sch.getDfsjT() > t || sch.isLate()) | |
| 48 | 48 | break; |
| 49 | - | |
| 50 | - if(sch.isLate() == false | |
| 51 | - && sch.getStatus() == 0 | |
| 49 | + | |
| 50 | + if(sch.getStatus() == 0 | |
| 52 | 51 | && sch.getFcsjActual() == null){ |
| 52 | + | |
| 53 | + //检查应发未到 当前班次无起点到达时间 | |
| 54 | + if(StringUtils.isEmpty(sch.getQdzArrDateSJ())){ | |
| 55 | + ScheduleRealInfo prev = dayOfSchedule.prev(sch); | |
| 56 | + //上一个班次也没有实际终点到达时间 | |
| 57 | + if(prev != null && StringUtils.isEmpty(prev.getZdsjActual())){ | |
| 58 | + //进入误点调整程序 | |
| 59 | + LateAdjustHandle.putLate(sch); | |
| 60 | + } | |
| 61 | + } | |
| 62 | + | |
| 53 | 63 | //应发未发 |
| 54 | 64 | sch.setLate(true); |
| 55 | 65 | //通知客户端 |
| ... | ... | @@ -57,4 +67,4 @@ public class ScheduleLateThread extends Thread{ |
| 57 | 67 | } |
| 58 | 68 | } |
| 59 | 69 | } |
| 60 | -} | |
| 70 | +} | |
| 61 | 71 | \ No newline at end of file | ... | ... |
src/main/java/com/bsth/entity/mcy_forms/Operationservice.java
| ... | ... | @@ -3,7 +3,7 @@ package com.bsth.entity.mcy_forms; |
| 3 | 3 | public class Operationservice { |
| 4 | 4 | |
| 5 | 5 | private String xlName;//线路 |
| 6 | - | |
| 6 | + private String xlBm;//线路编码 | |
| 7 | 7 | private String jzl;//加注量 |
| 8 | 8 | |
| 9 | 9 | private String xhl;//消耗量 |
| ... | ... | @@ -81,6 +81,14 @@ public class Operationservice { |
| 81 | 81 | public void setSjbc(String sjbc) { |
| 82 | 82 | this.sjbc = sjbc; |
| 83 | 83 | } |
| 84 | + | |
| 85 | + public String getXlBm() { | |
| 86 | + return xlBm; | |
| 87 | + } | |
| 88 | + | |
| 89 | + public void setXlBm(String xlBm) { | |
| 90 | + this.xlBm = xlBm; | |
| 91 | + } | |
| 84 | 92 | |
| 85 | 93 | |
| 86 | 94 | } | ... | ... |
src/main/java/com/bsth/entity/oil/Ylb.java
| ... | ... | @@ -63,6 +63,11 @@ public class Ylb { |
| 63 | 63 | @Transient |
| 64 | 64 | private String gsname; |
| 65 | 65 | |
| 66 | + @Transient | |
| 67 | + private String fgsname; | |
| 68 | + | |
| 69 | + @Transient | |
| 70 | + private String name; | |
| 66 | 71 | |
| 67 | 72 | public Integer getId() { |
| 68 | 73 | return id; |
| ... | ... | @@ -299,6 +304,22 @@ public class Ylb { |
| 299 | 304 | } |
| 300 | 305 | |
| 301 | 306 | |
| 307 | + public String getFgsname() { | |
| 308 | + return BasicData.businessFgsCodeNameMap.get(this.fgsdm+"_"+this.ssgsdm); | |
| 309 | + } | |
| 310 | + | |
| 311 | + public void setFgsname(String fgsname) { | |
| 312 | + this.fgsname = fgsname; | |
| 313 | + } | |
| 314 | + | |
| 315 | + public String getName() { | |
| 316 | + return BasicData.allPerson.get(this.jsy); | |
| 317 | + } | |
| 318 | + | |
| 319 | + public void setName(String name) { | |
| 320 | + this.name = name; | |
| 321 | + } | |
| 322 | + | |
| 302 | 323 | |
| 303 | 324 | |
| 304 | 325 | ... | ... |
src/main/java/com/bsth/entity/realcontrol/LineConfig.java
src/main/java/com/bsth/entity/realcontrol/OilStationSociety.java
| ... | ... | @@ -21,6 +21,11 @@ public class OilStationSociety { |
| 21 | 21 | private String stationName; |
| 22 | 22 | |
| 23 | 23 | /** |
| 24 | + * 加油站编码(为空则默认社会加油站) | |
| 25 | + */ | |
| 26 | + private String stationCode; | |
| 27 | + | |
| 28 | + /** | |
| 24 | 29 | * 上行进场距离 |
| 25 | 30 | */ |
| 26 | 31 | private Double upInMile; |
| ... | ... | @@ -137,4 +142,12 @@ public class OilStationSociety { |
| 137 | 142 | public void setDownOutTime(int downOutTime) { |
| 138 | 143 | this.downOutTime = downOutTime; |
| 139 | 144 | } |
| 145 | + | |
| 146 | + public String getStationCode() { | |
| 147 | + return stationCode; | |
| 148 | + } | |
| 149 | + | |
| 150 | + public void setStationCode(String stationCode) { | |
| 151 | + this.stationCode = stationCode; | |
| 152 | + } | |
| 140 | 153 | } | ... | ... |
src/main/java/com/bsth/entity/realcontrol/ScheduleRealInfo.java
| ... | ... | @@ -139,10 +139,17 @@ public class ScheduleRealInfo { |
| 139 | 139 | /** 是否是临加班次 */ |
| 140 | 140 | private boolean sflj; |
| 141 | 141 | |
| 142 | - /** 是否误点*/ | |
| 142 | + /** 是否误点 (应发未发)*/ | |
| 143 | 143 | @Transient |
| 144 | 144 | private boolean late; |
| 145 | 145 | |
| 146 | + /** 是否误点 (应发未到) */ | |
| 147 | + @Transient | |
| 148 | + private boolean late2; | |
| 149 | + /** 误点停靠时间 */ | |
| 150 | + @Transient | |
| 151 | + private float lateMinute; | |
| 152 | + | |
| 146 | 153 | /** 备注*/ |
| 147 | 154 | private String remarks; |
| 148 | 155 | |
| ... | ... | @@ -887,4 +894,20 @@ public class ScheduleRealInfo { |
| 887 | 894 | public void setRemark(String remark) { |
| 888 | 895 | this.remark = remark; |
| 889 | 896 | } |
| 897 | + | |
| 898 | + public float getLateMinute() { | |
| 899 | + return lateMinute; | |
| 900 | + } | |
| 901 | + | |
| 902 | + public void setLateMinute(float lateMinute) { | |
| 903 | + this.lateMinute = lateMinute; | |
| 904 | + } | |
| 905 | + | |
| 906 | + public boolean isLate2() { | |
| 907 | + return late2; | |
| 908 | + } | |
| 909 | + | |
| 910 | + public void setLate2(boolean late2) { | |
| 911 | + this.late2 = late2; | |
| 912 | + } | |
| 890 | 913 | } | ... | ... |
src/main/java/com/bsth/repository/realcontrol/ScheduleRealInfoRepository.java
| ... | ... | @@ -151,18 +151,19 @@ public interface ScheduleRealInfoRepository extends BaseRepository<ScheduleRealI |
| 151 | 151 | |
| 152 | 152 | //按照时间段统计 |
| 153 | 153 | @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) |
| 154 | - @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm like %?1% and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') between ?2 and ?3 and s.bcType not in ('in','out') and gsBm like %?4% and fgsBm like %?5% order by s.xlBm") | |
| 154 | + @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm like %?1% and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') between ?2 and ?3 and gsBm like %?4% and fgsBm like %?5% order by s.xlBm") | |
| 155 | 155 | List<ScheduleRealInfo> scheduleByDateAndLineTj(String line,String date,String date2,String gsdm,String fgsdm); |
| 156 | 156 | |
| 157 | 157 | //按照时间段统计 |
| 158 | 158 | @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) |
| 159 | - @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') between ?2 and ?3 and s.bcType not in ('in','out') order by s.xlBm") | |
| 159 | + @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') between ?2 and ?3 order by s.xlBm") | |
| 160 | 160 | List<ScheduleRealInfo> scheduleByDateAndLineTj2(String line,String date,String date2); |
| 161 | 161 | //月报表 |
| 162 | 162 | @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) |
| 163 | 163 | @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') between ?2 and ?3 order by s.xlBm") |
| 164 | 164 | List<ScheduleRealInfo> scheduleByDateAndLineYbb(String line,String date,String date2); |
| 165 | 165 | |
| 166 | + | |
| 166 | 167 | @Query(value="select new map(s.scheduleDate as scheduleDate,s.xlBm as xlBm,s.clZbh as clZbh,s.jGh as jGh,min(s.fcsj) as fcsj ) from ScheduleRealInfo s where s.xlBm like %?1% and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 and s.gsBm like %?3% and s.fgsBm like %?4% GROUP BY xlBm,clZbh,jGh,scheduleDate,jGh ORDER BY clZbh,fcsj") |
| 167 | 168 | List<Map<String,Object>> yesterdayDataList(String line,String date,String gsbm,String fgsbm); |
| 168 | 169 | ... | ... |
src/main/java/com/bsth/service/excep/impl/OfflineServiceImpl.java
| ... | ... | @@ -56,7 +56,7 @@ public class OfflineServiceImpl implements OfflineService { |
| 56 | 56 | Object date=map.get("date"); |
| 57 | 57 | |
| 58 | 58 | if(line!=null){ |
| 59 | - sql +=" and line like'%"+line.toString()+"%'"; | |
| 59 | + sql +=" and line like'%"+line.toString().trim()+"%'"; | |
| 60 | 60 | } |
| 61 | 61 | |
| 62 | 62 | if(nbbm!=null){ |
| ... | ... | @@ -131,6 +131,7 @@ public class OfflineServiceImpl implements OfflineService { |
| 131 | 131 | @SuppressWarnings("unchecked") |
| 132 | 132 | public PageObject <Offline> Pagequery(Map<String, Object> map) { |
| 133 | 133 | // TODO Auto-generated method stub |
| 134 | + | |
| 134 | 135 | String sql="select count(*) record from bsth_c_offline where 1=1 "; |
| 135 | 136 | |
| 136 | 137 | Object line=map.get("line"); |
| ... | ... | @@ -140,7 +141,7 @@ public class OfflineServiceImpl implements OfflineService { |
| 140 | 141 | Object date=map.get("date"); |
| 141 | 142 | |
| 142 | 143 | if(line!=null){ |
| 143 | - sql +=" and line like'%"+line.toString()+"%'"; | |
| 144 | + sql +=" and line like'%"+line.toString().trim()+"%'"; | |
| 144 | 145 | } |
| 145 | 146 | |
| 146 | 147 | if(nbbm!=null){ |
| ... | ... | @@ -194,10 +195,9 @@ public class OfflineServiceImpl implements OfflineService { |
| 194 | 195 | Date datess = new Date(d1); |
| 195 | 196 | String dates=new SimpleDateFormat("yyyy-MM-dd").format(datess); |
| 196 | 197 | String sk=new SimpleDateFormat("HH:mm").format(datess); |
| 197 | - String sqlPbb="select * from bsth_c_s_sp_info_real where cl_zbh='"+nbbm2+"' and" | |
| 198 | - + " real_exec_date='"+dates+"' "; | |
| 199 | -// + "and fcsj_actual > '"+sk+"' "; | |
| 200 | -// + "and '"+sk+"' <dfsj"; | |
| 198 | + String sqlPbb="SELECT * FROM ( select lp_name,cl_zbh,j_gh,j_name,MIN(fcsj) as fcsj,MAX(zdsj) as ddsj" | |
| 199 | + + " from bsth_c_s_sp_info_real where cl_zbh='"+nbbm2+"' and" | |
| 200 | + + " real_exec_date='"+dates+"' GROUP BY cl_zbh,lp_name,j_gh,j_name ) t WHERE t.fcsj<='"+sk+"' AND t.ddsj>='"+sk+"' " ; | |
| 201 | 201 | List<ScheduleRealInfo> pbb =jdbcTemplate.query(sqlPbb, |
| 202 | 202 | new RowMapper<ScheduleRealInfo>(){ |
| 203 | 203 | @Override |
| ... | ... | @@ -208,20 +208,15 @@ public class OfflineServiceImpl implements OfflineService { |
| 208 | 208 | s.setLpName(rs.getString("lp_name")); |
| 209 | 209 | return s; |
| 210 | 210 | } |
| 211 | - }); | |
| 212 | - if(pbb.size()>0){ | |
| 213 | - list.get(i).setJsy(pbb.get(0).getjGh()+"/"+pbb.get(0).getjName()); | |
| 214 | - list.get(i).setLpname(pbb.get(0).getLpName()); | |
| 215 | - | |
| 216 | - } | |
| 217 | - | |
| 211 | + }); | |
| 212 | + if(pbb.size()>0){ | |
| 213 | + list.get(i).setJsy(pbb.get(0).getjGh()+"/"+pbb.get(0).getjName()); | |
| 214 | + list.get(i).setLpname(pbb.get(0).getLpName()); | |
| 215 | + } | |
| 218 | 216 | } |
| 217 | + | |
| 219 | 218 | PageObject<Offline> pageObject = pageHelper.getPageObject(); |
| 220 | -// for (int i = 0; i < list.size(); i++) { | |
| 221 | -// if(list.get(i).getLpname()!=null){ | |
| 222 | 219 | pageObject.setDataList(list); |
| 223 | -// } | |
| 224 | -// } | |
| 225 | 220 | |
| 226 | 221 | return pageObject; |
| 227 | 222 | } | ... | ... |
src/main/java/com/bsth/service/excep/impl/OutboundServiceImpl.java
| ... | ... | @@ -43,7 +43,7 @@ public class OutboundServiceImpl implements OutboundService{ |
| 43 | 43 | Object updown=map.get("updown"); |
| 44 | 44 | Object date=map.get("date"); |
| 45 | 45 | if(line!=null){ |
| 46 | - sql +=" and line like'%"+line.toString()+"%'"; | |
| 46 | + sql +=" and line like'%"+line.toString().trim()+"%'"; | |
| 47 | 47 | } |
| 48 | 48 | |
| 49 | 49 | if(nbbm!=null){ |
| ... | ... | @@ -105,7 +105,7 @@ public class OutboundServiceImpl implements OutboundService{ |
| 105 | 105 | outbound.setTimestampDate(sdf.format(new Date(outbound.getTimestamp()))); |
| 106 | 106 | outbound.setUpDown(Integer.valueOf(rs.getObject("up_down").toString())); |
| 107 | 107 | outbound.setVehicle(BasicData.deviceId2NbbmMap.get(rs.getObject("vehicle").toString())); |
| 108 | - outbound.setLocation(rs.getObject("location")==null?"":rs.getObject("location").toString()); | |
| 108 | +// outbound.setLocation(rs.getObject("location")==null?"":rs.getObject("location").toString()); | |
| 109 | 109 | list.add(outbound); |
| 110 | 110 | } |
| 111 | 111 | return list; |
| ... | ... | @@ -120,7 +120,7 @@ public class OutboundServiceImpl implements OutboundService{ |
| 120 | 120 | Object updown=map.get("updown"); |
| 121 | 121 | Object date=map.get("date"); |
| 122 | 122 | if(line!=null){ |
| 123 | - sql +=" and line like '%"+line.toString()+"%'"; | |
| 123 | + sql +=" and line like '%"+line.toString().trim()+"%'"; | |
| 124 | 124 | |
| 125 | 125 | } |
| 126 | 126 | |
| ... | ... | @@ -174,10 +174,9 @@ public class OutboundServiceImpl implements OutboundService{ |
| 174 | 174 | Date datess = new Date(d1); |
| 175 | 175 | String dates=new SimpleDateFormat("yyyy-MM-dd").format(datess); |
| 176 | 176 | String sk=new SimpleDateFormat("HH:mm").format(datess); |
| 177 | - String sqlPbb="select * from bsth_c_s_sp_info_real where cl_zbh='"+nbbm2+"' and" | |
| 178 | - + " real_exec_date='"+dates+"' "; | |
| 179 | -// + "and fcsj_actual > '"+sk+"' "; | |
| 180 | -// + "and '"+sk+"' <dfsj"; | |
| 177 | + String sqlPbb="SELECT * FROM ( select lp_name,cl_zbh,j_gh,j_name,MIN(fcsj) as fcsj,MAX(zdsj) as ddsj" | |
| 178 | + + " from bsth_c_s_sp_info_real where cl_zbh='"+nbbm2+"' and" | |
| 179 | + + " real_exec_date='"+dates+"' GROUP BY cl_zbh,lp_name,j_gh,j_name ) t WHERE t.fcsj<='"+sk+"' AND t.ddsj>='"+sk+"' " ; | |
| 181 | 180 | List<ScheduleRealInfo> pbb =jdbcTemplate.query(sqlPbb, |
| 182 | 181 | new RowMapper<ScheduleRealInfo>(){ |
| 183 | 182 | @Override | ... | ... |
src/main/java/com/bsth/service/excep/impl/SpeedingServiceImpl.java
| ... | ... | @@ -46,7 +46,7 @@ public class SpeedingServiceImpl implements SpeedingService { |
| 46 | 46 | Object date=map.get("date"); |
| 47 | 47 | |
| 48 | 48 | if(line!=null){ |
| 49 | - sql +=" and line like'%"+line.toString()+"%'"; | |
| 49 | + sql +=" and line like'%"+line.toString().trim()+"%'"; | |
| 50 | 50 | } |
| 51 | 51 | |
| 52 | 52 | if(nbbm!=null){ |
| ... | ... | @@ -125,7 +125,7 @@ public class SpeedingServiceImpl implements SpeedingService { |
| 125 | 125 | Object date=map.get("date"); |
| 126 | 126 | |
| 127 | 127 | if(line!=null){ |
| 128 | - sql +=" and line like'%"+line.toString()+"%'"; | |
| 128 | + sql +=" and line like'%"+line.toString().trim()+"%'"; | |
| 129 | 129 | } |
| 130 | 130 | |
| 131 | 131 | if(nbbm!=null){ |
| ... | ... | @@ -177,10 +177,9 @@ public class SpeedingServiceImpl implements SpeedingService { |
| 177 | 177 | Date datess = new Date(d1); |
| 178 | 178 | String dates=new SimpleDateFormat("yyyy-MM-dd").format(datess); |
| 179 | 179 | String sk=new SimpleDateFormat("HH:mm").format(datess); |
| 180 | - String sqlPbb="select * from bsth_c_s_sp_info_real where cl_zbh='"+nbbm2+"' and" | |
| 181 | - + " real_exec_date='"+dates+"' "; | |
| 182 | -// + "and fcsj_actual > '"+sk+"' "; | |
| 183 | -// + "and '"+sk+"' <dfsj"; | |
| 180 | + String sqlPbb="SELECT * FROM ( select lp_name,cl_zbh,j_gh,j_name,MIN(fcsj) as fcsj,MAX(zdsj) as ddsj" | |
| 181 | + + " from bsth_c_s_sp_info_real where cl_zbh='"+nbbm2+"' and" | |
| 182 | + + " real_exec_date='"+dates+"' GROUP BY cl_zbh,lp_name,j_gh,j_name ) t WHERE t.fcsj<='"+sk+"' AND t.ddsj>='"+sk+"' " ; | |
| 184 | 183 | List<ScheduleRealInfo> pbb =jdbcTemplate.query(sqlPbb, |
| 185 | 184 | new RowMapper<ScheduleRealInfo>(){ |
| 186 | 185 | @Override | ... | ... |
src/main/java/com/bsth/service/forms/FormsService.java
| ... | ... | @@ -31,7 +31,7 @@ public interface FormsService { |
| 31 | 31 | |
| 32 | 32 | public List<Singledata> singledata(Map<String, Object> map); |
| 33 | 33 | |
| 34 | - public List<Vehicleloading> vehicleloading(String gsdmVehic,String fgsdmVehic,String line,String data); | |
| 34 | + public List<Vehicleloading> vehicleloading(String line,String data); | |
| 35 | 35 | |
| 36 | 36 | public List<Operationservice> operationservice(Map<String, Object> map); |
| 37 | 37 | ... | ... |
src/main/java/com/bsth/service/forms/impl/FormsServiceImpl.java
| ... | ... | @@ -25,7 +25,9 @@ import com.bsth.entity.mcy_forms.Singledata; |
| 25 | 25 | import com.bsth.entity.mcy_forms.Turnoutrate; |
| 26 | 26 | import com.bsth.entity.mcy_forms.Vehicleloading; |
| 27 | 27 | import com.bsth.entity.mcy_forms.Waybillday; |
| 28 | +import com.bsth.entity.oil.Ylb; | |
| 28 | 29 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 30 | +import com.bsth.repository.oil.YlbRepository; | |
| 29 | 31 | import com.bsth.repository.realcontrol.ScheduleRealInfoRepository; |
| 30 | 32 | import com.bsth.data.BasicData; |
| 31 | 33 | import com.bsth.entity.mcy_forms.Allline; |
| ... | ... | @@ -55,6 +57,9 @@ public class FormsServiceImpl implements FormsService { |
| 55 | 57 | |
| 56 | 58 | @Autowired |
| 57 | 59 | CulateMileageService culateMileageService; |
| 60 | + | |
| 61 | + @Autowired | |
| 62 | + YlbRepository ylbRepository; | |
| 58 | 63 | |
| 59 | 64 | // 行车路单日报表 |
| 60 | 65 | @Override |
| ... | ... | @@ -219,13 +224,11 @@ public class FormsServiceImpl implements FormsService { |
| 219 | 224 | // if(d.getJgh().equals(s.getjGh()) && d.getZbh().equals(s.getClZbh())){ |
| 220 | 225 | // sList.add(s); |
| 221 | 226 | // } |
| 222 | - | |
| 223 | 227 | if(empnames.equals("驾驶员")){ |
| 224 | - if(d.getJgh().equals(s.getjGh()) && d.getZbh().equals(s.getClZbh())){ | |
| 228 | + if(d.getJgh().equals(s.getjGh())){ | |
| 225 | 229 | sList.add(s); |
| 226 | 230 | } |
| 227 | 231 | }else if(empnames.equals("售票员")){ |
| 228 | -// shif.setjName(arg0.getString("s_name")==null ? "":arg0.getString("s_name")); | |
| 229 | 232 | String sgh=s.getsGh()==null?"":s.getsGh(); |
| 230 | 233 | if(d.getSgh().equals(sgh) && d.getZbh().equals(s.getClZbh())){ |
| 231 | 234 | sList.add(s); |
| ... | ... | @@ -244,16 +247,17 @@ public class FormsServiceImpl implements FormsService { |
| 244 | 247 | double ljgl=culateMileageService.culateLjgl(sList); |
| 245 | 248 | double sjgl=culateMileageService.culateSjgl(sList); |
| 246 | 249 | double zyygl=Arith.add(ljgl, sjgl); |
| 247 | - double cjbc=culateMileageService.culateLbbc(sList); | |
| 248 | - double Ljbc=culateMileageService.culateLjbc(sList,""); | |
| 250 | + int cjbc=culateMileageService.culateLbbc(sList); | |
| 251 | + int ljbc=culateMileageService.culateLjbc(sList,""); | |
| 252 | + int sjbc=culateMileageService.culateSjbc(sList, ""); | |
| 249 | 253 | double cjgl=culateMileageService.culateLbgl(sList); |
| 250 | 254 | double zjgl=culateMileageService.culateLjgl(sList); |
| 251 | 255 | d.setEmptMileage(String.valueOf(zksgl));//空驶公里 |
| 252 | 256 | d.setTotalm(String.valueOf(Arith.add(zksgl, zyygl)));//总公里 |
| 253 | - d.setSjbc(String.valueOf(culateMileageService.culateSjbc(sList, "")+culateMileageService.culateLjbc(sList, ""))); | |
| 257 | + d.setSjbc(String.valueOf(sjbc+ljbc)); | |
| 254 | 258 | d.setJhlc(String.valueOf(zyygl));//运营里程 |
| 255 | 259 | d.setCjbc(String.valueOf(cjbc));//抽检班次 |
| 256 | - d.setLjbc(String.valueOf(Ljbc));//增加班次 | |
| 260 | + d.setLjbc(String.valueOf(ljbc));//增加班次 | |
| 257 | 261 | d.setRemMileage(String.valueOf(cjgl));//抽检里程 |
| 258 | 262 | d.setAddMileage(String.valueOf(zjgl));//增加里程 |
| 259 | 263 | |
| ... | ... | @@ -330,22 +334,23 @@ public class FormsServiceImpl implements FormsService { |
| 330 | 334 | double zyygl=Arith.add(ljgl, sjgl); |
| 331 | 335 | double jhgl=culateMileageService.culateJhgl(sList); |
| 332 | 336 | double cjgl=culateMileageService.culateLbgl(sList); |
| 333 | - double jhbc =culateMileageService.culateJhbc(sList,""); | |
| 334 | - double cjbc=culateMileageService.culateLbbc(sList); | |
| 335 | - double Ljbc=culateMileageService.culateLjbc(sList,""); | |
| 337 | + int jhbc =culateMileageService.culateJhbc(sList,""); | |
| 338 | + int cjbc=culateMileageService.culateLbbc(sList); | |
| 339 | + int ljbc=culateMileageService.culateLjbc(sList,""); | |
| 340 | + int sjbc=culateMileageService.culateSjbc(sList, ""); | |
| 336 | 341 | double zjgl=culateMileageService.culateLjgl(sList); |
| 337 | 342 | d.setEmptMileage(String.valueOf(zksgl));//空驶公里 |
| 338 | 343 | d.setTotalm(String.valueOf(Arith.add(zksgl, zyygl)));//总公里 |
| 339 | - d.setSjbc(String.valueOf(culateMileageService.culateSjbc(sList, "")+culateMileageService.culateLjbc(sList, ""))); | |
| 344 | + d.setSjbc(String.valueOf(sjbc+ljbc)); | |
| 340 | 345 | d.setJhlc(String.valueOf(jhgl));//计划里程 |
| 341 | 346 | d.setYygl(String.valueOf(zyygl));//运营公里 |
| 342 | 347 | d.setSjjhlc(String.valueOf(sjgl));//实际计划里程 |
| 343 | 348 | d.setRemMileage(String.valueOf(cjgl));//抽减里程 |
| 344 | 349 | d.setJhbc(String.valueOf(jhbc));//计划班次 |
| 345 | 350 | d.setCjbc(String.valueOf(cjbc));//抽检班次 |
| 346 | - d.setLjbc(String.valueOf(Ljbc));//增加班次 | |
| 351 | + d.setLjbc(String.valueOf(ljbc));//增加班次 | |
| 347 | 352 | d.setAddMileage(String.valueOf(zjgl));//增加公里 |
| 348 | - d.setSjjhbc(String.valueOf(culateMileageService.culateSjbc(sList, "")));//实际计划班次 | |
| 353 | + d.setSjjhbc(String.valueOf(sjbc));//实际计划班次 | |
| 349 | 354 | } |
| 350 | 355 | return list; |
| 351 | 356 | } |
| ... | ... | @@ -417,7 +422,19 @@ public class FormsServiceImpl implements FormsService { |
| 417 | 422 | // 路单数据 |
| 418 | 423 | @Override |
| 419 | 424 | public List<Singledata> singledata(Map<String, Object> map) { |
| 420 | - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); | |
| 425 | + | |
| 426 | + String gsdm=""; | |
| 427 | + if(map.get("gsdmSing")!=null){ | |
| 428 | + gsdm=map.get("gsdmSing").toString(); | |
| 429 | + } | |
| 430 | + String fgsdm=""; | |
| 431 | + if(map.get("fgsdmSing")!=null){ | |
| 432 | + fgsdm=map.get("fgsdmSing").toString(); | |
| 433 | + } | |
| 434 | + | |
| 435 | + String xlbm=map.get("line").toString().trim(); | |
| 436 | + | |
| 437 | + /*SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); | |
| 421 | 438 | SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日"); |
| 422 | 439 | Date d = null; |
| 423 | 440 | Date d1 = null; |
| ... | ... | @@ -429,60 +446,92 @@ public class FormsServiceImpl implements FormsService { |
| 429 | 446 | e.printStackTrace(); |
| 430 | 447 | } |
| 431 | 448 | String rq2 = sdf1.format(d); |
| 432 | - String rq3 = sdf1.format(d1); | |
| 449 | + String rq3 = sdf1.format(d1);*/ | |
| 433 | 450 | |
| 434 | - rq = rq2 + "-" + rq3; | |
| 451 | +// rq = rq2 + "-" + rq3; | |
| 435 | 452 | startDate = map.get("startDate").toString(); |
| 436 | - endDate = map.get("endDate").toString(); | |
| 437 | - String sql = "select t.*,y.yh,y.jzl from (" | |
| 438 | - + " select r.xl_bm,r.xl_name,r.cl_zbh,r.j_gh,r.j_name,r.gs_bm,r.fgs_bm" | |
| 439 | - + " from bsth_c_s_sp_info_real r where r.schedule_date_str " | |
| 440 | - + " BETWEEN '"+startDate+"' and '"+endDate+"' and r.xl_bm='"+map.get("line").toString()+"' " | |
| 441 | - + " AND r.gs_bm is not null and r.gs_bm='"+map.get("gsdmSing").toString()+"' " | |
| 442 | - + " and r.fgs_bm='"+map.get("fgsdmSing").toString()+"' " | |
| 443 | - + " group by r.xl_bm,r.xl_name,r.cl_zbh,r.j_gh,r.j_name,r.gs_bm,r.fgs_bm) t " | |
| 444 | - + " LEFT JOIN (select a.nbbm,a.jsy,SUM(a.yh) as yh,SUM(a.jzl) as jzl " | |
| 445 | - + " from bsth_c_ylb a where a.rq BETWEEN '"+startDate+"' and '"+endDate+"'and " | |
| 446 | - + " a.ssgsdm='"+map.get("gsdmSing").toString()+"' and a.fgsdm='"+map.get("fgsdmSing").toString()+"' " | |
| 447 | - + "group by a.nbbm,a.jsy) y" | |
| 448 | - + " on y.nbbm=t.cl_zbh and y.jsy= t.j_gh"; | |
| 453 | +// endDate = map.get("endDate").toString(); | |
| 454 | +// String sql = "select t.*,y.yh,y.jzl from (" | |
| 455 | +// + " select r.xl_bm,r.xl_name,r.cl_zbh,r.j_gh,r.j_name,r.gs_bm,r.fgs_bm" | |
| 456 | +// + " from bsth_c_s_sp_info_real r where r.schedule_date_str " | |
| 457 | +// + " BETWEEN '"+startDate+"' and '"+endDate+"' and r.xl_bm='"+map.get("line").toString()+"' " | |
| 458 | +// + " AND r.gs_bm is not null and r.gs_bm='"+map.get("gsdmSing").toString()+"' " | |
| 459 | +// + " and r.fgs_bm='"+map.get("fgsdmSing").toString()+"' " | |
| 460 | +// + " group by r.xl_bm,r.xl_name,r.cl_zbh,r.j_gh,r.j_name,r.gs_bm,r.fgs_bm) t " | |
| 461 | +// + " LEFT JOIN (select a.nbbm,a.jsy,SUM(a.yh) as yh,SUM(a.jzl) as jzl " | |
| 462 | +// + " from bsth_c_ylb a where a.rq BETWEEN '"+startDate+"' and '"+endDate+"'and " | |
| 463 | +// + " a.ssgsdm='"+map.get("gsdmSing").toString()+"' and a.fgsdm='"+map.get("fgsdmSing").toString()+"' " | |
| 464 | +// + "group by a.nbbm,a.jsy) y" | |
| 465 | +// + " on y.nbbm=t.cl_zbh and y.jsy= t.j_gh"; | |
| 449 | 466 | |
| 467 | + String sql="select r.s_gh,r.s_name, " | |
| 468 | + + " r.xl_bm,r.xl_name,r.cl_zbh,r.j_gh,r.j_name,r.gs_bm,r.fgs_bm" | |
| 469 | + + " from bsth_c_s_sp_info_real r where r.schedule_date_str = '"+startDate+"'"; | |
| 470 | + if(xlbm.equals("")){ | |
| 471 | + sql +="and r.gs_bm='"+gsdm+"' " | |
| 472 | + + " and r.fgs_bm='"+fgsdm+"'"; | |
| 473 | + }else{ | |
| 474 | + sql += " and r.xl_bm = '"+xlbm+"'"; | |
| 475 | + } | |
| 476 | + sql += " group by r.s_gh,r.s_name," | |
| 477 | + + " r.xl_bm,r.xl_name,r.cl_zbh,r.j_gh,r.j_name,r.gs_bm,r.fgs_bm"; | |
| 478 | + | |
| 450 | 479 | List<Singledata> list = jdbcTemplate.query(sql, new RowMapper<Singledata>() { |
| 451 | 480 | //SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
| 452 | 481 | @Override |
| 453 | 482 | public Singledata mapRow(ResultSet arg0, int arg1) throws SQLException { |
| 454 | 483 | Singledata sin = new Singledata(); |
| 455 | - sin.setrQ(rq); | |
| 456 | - sin.setgS(arg0.getString("gs_bm")); | |
| 484 | + sin.setrQ(startDate); | |
| 457 | 485 | sin.setxL(arg0.getString("xl_name")); |
| 458 | 486 | sin.setClzbh(arg0.getString("cl_zbh")); |
| 459 | 487 | sin.setJsy(arg0.getString("j_gh")); |
| 460 | 488 | sin.setjName(arg0.getString("j_name")); |
| 461 | - sin.setHyl(arg0.getString("YH")); | |
| 462 | - sin.setJzl(arg0.getString("JZL")); | |
| 463 | - // sin.setJzl(arg0.getString(""));//非营业性用油 | |
| 464 | - sin.setJhjl(arg0.getString("JZL")); | |
| 489 | + sin.setSgh(arg0.getString("s_gh")); | |
| 490 | + sin.setsName(arg0.getString("s_name")); | |
| 491 | + sin.setgS(BasicData.businessFgsCodeNameMap.get(arg0.getString("fgs_bm")+"_"+arg0.getString("gs_bm"))); | |
| 465 | 492 | |
| 466 | 493 | return sin; |
| 467 | 494 | } |
| 468 | 495 | }); |
| 469 | - DecimalFormat df = new DecimalFormat("0.00"); | |
| 470 | - for(int i=0;i<list.size();i++){ | |
| 471 | - | |
| 472 | - Singledata si=list.get(i); | |
| 473 | - si.setgS(BasicData.businessCodeNameMap.get(si.getgS())); | |
| 474 | - si.setJzl(df.format(Double.parseDouble(si.getJzl()))); | |
| 475 | - si.setHyl(df.format(Double.parseDouble(si.getHyl()))); | |
| 476 | - Map<String, Object> maps = new HashMap<>(); | |
| 477 | - maps = commonService.findKMBC1(si.getjName(),si.getClzbh(), startDate, | |
| 478 | - endDate); | |
| 479 | - //sin.setjName(maps.get("j_name") == null ? "" : maps.get("j_name").toString()); | |
| 480 | - si.setSgh(maps.get("s_gh") == null ? "" : maps.get("s_gh").toString()); | |
| 481 | - si.setsName(maps.get("s_name") == null ? "" : maps.get("s_name").toString()); | |
| 482 | - si.setJhlc(maps.get("yygl") == null ? "" : maps.get("yygl").toString()); | |
| 483 | - si.setEmptMileage(maps.get("ksgl") == null ? "" : maps.get("ksgl").toString()); | |
| 484 | - si.setJhjl(maps.get("jhlc") == null ? "" : maps.get("jhlc").toString()); | |
| 485 | 496 | |
| 497 | + List<Ylb> listYlb= ylbRepository.obtainYl(startDate, gsdm, fgsdm, xlbm, "", "xlbm"); | |
| 498 | + List<ScheduleRealInfo> listReal=scheduleRealInfoRepository.scheduleByDateAndLineTjrb(xlbm, startDate); | |
| 499 | + for (int i = 0; i < list.size(); i++) { | |
| 500 | + List<ScheduleRealInfo> newList=new ArrayList<ScheduleRealInfo>(); | |
| 501 | + Singledata sin=list.get(i); | |
| 502 | + String jsy=sin.getJsy(); | |
| 503 | + String clzbh=sin.getClzbh(); | |
| 504 | + for (int j = 0; j < listReal.size(); j++) { | |
| 505 | + ScheduleRealInfo s=listReal.get(j); | |
| 506 | + if(s.getjGh().equals(jsy) && s.getClZbh().equals(clzbh)){ | |
| 507 | + newList.add(s); | |
| 508 | + } | |
| 509 | + } | |
| 510 | + | |
| 511 | + double jhgl=culateMileageService.culateJhgl(newList); | |
| 512 | + double yygl=culateMileageService.culateSjgl(newList); | |
| 513 | + double ljgl=culateMileageService.culateLjgl(newList); | |
| 514 | + double ksgl=culateMileageService.culateKsgl(newList); | |
| 515 | + double jcgl=culateMileageService.culateJccgl(newList); | |
| 516 | + double zyygl=Arith.add(yygl, ljgl); | |
| 517 | + double zksgl=Arith.add(ksgl, jcgl); | |
| 518 | + sin.setJhlc(String.valueOf(Arith.add(zyygl,zksgl))); | |
| 519 | + sin.setEmptMileage(String.valueOf(zksgl)); | |
| 520 | + sin.setJhjl(String.valueOf(jhgl)); | |
| 521 | + double yhl=0.0; | |
| 522 | + double jzl=0.0; | |
| 523 | + double fyy=0.0; | |
| 524 | + for (int j = 0; j < listYlb.size(); j++) { | |
| 525 | + Ylb y=listYlb.get(j); | |
| 526 | + if(y.getJsy().equals(jsy) && y.getNbbm().equals(clzbh)){ | |
| 527 | + yhl=Arith.add(yhl, y.getYh()==null?0:y.getYh()); | |
| 528 | + jzl=Arith.add(jzl, y.getJzl()==null?0:y.getJzl()); | |
| 529 | + fyy=Arith.add(fyy, y.getSh()==null?0:y.getSh()); | |
| 530 | + } | |
| 531 | + } | |
| 532 | + sin.setHyl(String.valueOf(yhl)); | |
| 533 | + sin.setJzl(String.valueOf(jzl)); | |
| 534 | + sin.setUnyyyl(String.valueOf(fyy)); | |
| 486 | 535 | } |
| 487 | 536 | return list; |
| 488 | 537 | } |
| ... | ... | @@ -490,105 +539,174 @@ public class FormsServiceImpl implements FormsService { |
| 490 | 539 | // 运营服务阶段报表 |
| 491 | 540 | @Override |
| 492 | 541 | public List<Operationservice> operationservice(Map<String, Object> map) { |
| 493 | - | |
| 494 | - String sql = " SELECT r.schedule_date_str,r.xl_bm,r.xl_name,r.cl_zbh,r.j_gh,r.j_name,y.YH,y.JZL,r.gs_bm,r.gs_name,r.fgs_bm,r.fgs_name,r.bc_type " | |
| 495 | - + " FROM bsth_c_s_sp_info_real r " | |
| 496 | - // + "LEFT JOIN bsth_c_s_sp_info_real r on r.cl_zbh=y.NBBM" | |
| 497 | - + " left join bsth_c_ylb y ON r.cl_zbh = y.nbbm " | |
| 498 | - + " where 1=1 "; | |
| 499 | - if(map.get("startDate").toString()!=""){ | |
| 500 | - sql+=" and to_days(r.schedule_date_str) BETWEEN to_days('" + map.get("startDate").toString() + "') "; | |
| 501 | - } | |
| 502 | 542 | |
| 503 | - if(map.get("endDate").toString()!=""){ | |
| 504 | - sql+=" and to_days('" + map.get("endDate").toString() + "') "; | |
| 505 | - } | |
| 506 | - sql+=" and r.xl_bm='" + map.get("line").toString() + "'" ; | |
| 507 | - sql+=" and r.bc_type not in('in','out')"; | |
| 508 | - if(map.get("gsdmOperat").toString()!=""){ | |
| 509 | - sql+=" and r.gs_bm='"+map.get("gsdmOperat").toString()+"'"; | |
| 510 | - } | |
| 511 | - if(map.get("fgsdmOperat").toString()!=""){ | |
| 512 | - sql+=" and r.fgs_bm='"+map.get("fgsdmOperat").toString()+"'"; | |
| 513 | - } | |
| 514 | - sql += " AND r.gs_bm is not null"; | |
| 515 | - sql += " GROUP BY r.xl_bm,r.xl_name,r.cl_zbh,r.j_gh,r.j_name,y.YH,y.JZL,r.gs_bm,r.gs_name,r.fgs_bm,r.fgs_name"; | |
| 516 | - startDate = map.get("startDate").toString(); | |
| 517 | - endDate = map.get("endDate").toString(); | |
| 518 | - List<Operationservice> list = jdbcTemplate.query(sql, new RowMapper<Operationservice>() { | |
| 519 | - | |
| 520 | - @Override | |
| 521 | - public Operationservice mapRow(ResultSet arg0, int arg1) throws SQLException { | |
| 522 | - Operationservice op = new Operationservice(); | |
| 523 | - op.setXlName(arg0.getString("xl_name")); | |
| 524 | - op.setJzl(arg0.getString("JZL")); | |
| 525 | - op.setXhl(arg0.getString("YH")); | |
| 526 | - op.setClzbh(arg0.getString("cl_zbh")); | |
| 527 | - op.setJname(arg0.getString("j_name")); | |
| 543 | + String xlbm=map.get("line").toString().trim(); | |
| 544 | + String gsdm=""; | |
| 545 | + if(map.get("gsdmOperat")!=null){ | |
| 546 | + gsdm=map.get("gsdmOperat").toString(); | |
| 547 | + } | |
| 548 | + String fgsdm=""; | |
| 549 | + if(map.get("fgsdmOperat")!=null){ | |
| 550 | + fgsdm=map.get("fgsdmOperat").toString(); | |
| 551 | + } | |
| 552 | + startDate=map.get("startDate").toString(); | |
| 553 | + endDate =map.get("endDate").toString(); | |
| 554 | + String sql="select r.xl_bm" | |
| 555 | + + " from bsth_c_s_sp_info_real r where" | |
| 556 | + + " r.schedule_date_str BETWEEN '"+startDate+"' and '"+endDate+"'"; | |
| 557 | + if(xlbm.equals("")){ | |
| 558 | + sql +="and r.gs_bm='"+gsdm+"' " | |
| 559 | + + " and r.fgs_bm='"+fgsdm+"'"; | |
| 560 | + }else{ | |
| 561 | + sql += " and r.xl_bm = '"+xlbm+"'"; | |
| 562 | + } | |
| 563 | + sql += " group by r.xl_bm"; | |
| 564 | + | |
| 565 | + | |
| 566 | + List<Operationservice> list= jdbcTemplate.query(sql, new RowMapper<Operationservice>() { | |
| 567 | + @Override | |
| 568 | + public Operationservice mapRow(ResultSet arg0, int arg1) throws SQLException { | |
| 569 | + Operationservice ve = new Operationservice(); | |
| 570 | + ve.setXlBm(arg0.getString("xl_bm")); | |
| 571 | + return ve; | |
| 572 | + } | |
| 573 | + }); | |
| 574 | + | |
| 575 | + String ylbSql=" select * from bsth_c_ylb where rq BETWEEN '"+startDate+"' and '"+endDate+"'"; | |
| 576 | + if(xlbm.equals("")){ | |
| 577 | + ylbSql +="and ssgsdm='"+gsdm+"' " | |
| 578 | + + " and fgsdm='"+fgsdm+"'"; | |
| 579 | + }else{ | |
| 580 | + ylbSql += " and xlbm = '"+xlbm+"'"; | |
| 581 | + } | |
| 582 | + List<Ylb> ylbList= jdbcTemplate.query(ylbSql, new RowMapper<Ylb>() { | |
| 583 | + @Override | |
| 584 | + public Ylb mapRow(ResultSet arg0, int arg1) throws SQLException { | |
| 585 | + Ylb y = new Ylb(); | |
| 586 | + y.setXlbm(arg0.getString("xlbm")); | |
| 587 | + y.setJzl(arg0.getDouble("jzl")); | |
| 588 | + y.setYh(arg0.getDouble("yh")); | |
| 589 | + return y; | |
| 590 | + } | |
| 591 | + }); | |
| 592 | + List<ScheduleRealInfo> listReal; | |
| 593 | + if(xlbm.equals("")){ | |
| 594 | + listReal=scheduleRealInfoRepository.scheduleByDateAndLineTj(xlbm, startDate, endDate, gsdm, fgsdm); | |
| 595 | + }else{ | |
| 596 | + listReal=scheduleRealInfoRepository.scheduleByDateAndLineTj2(xlbm, startDate, endDate); | |
| 597 | + } | |
| 598 | + | |
| 599 | + for (int i = 0; i < list.size(); i++) { | |
| 600 | + Operationservice o=list.get(i); | |
| 601 | + String line=o.getXlBm(); | |
| 602 | + String xlname=BasicData.lineCode2NameMap.get(line); | |
| 603 | + o.setXlName(xlname); | |
| 604 | + | |
| 605 | + List<ScheduleRealInfo> newList=new ArrayList<ScheduleRealInfo>(); | |
| 606 | + for (int j = 0; j < listReal.size(); j++) { | |
| 607 | + ScheduleRealInfo s=listReal.get(j); | |
| 608 | + if(s.getXlBm().equals(line)){ | |
| 609 | + newList.add(s); | |
| 610 | + } | |
| 611 | + } | |
| 612 | + | |
| 613 | + int sjbc=culateMileageService.culateSjbc(newList,""); | |
| 614 | + int ljbc=culateMileageService.culateLjbc(newList,""); | |
| 615 | + double ksgl=culateMileageService.culateKsgl(newList); | |
| 616 | + double jccgl=culateMileageService.culateJccgl(newList); | |
| 617 | + | |
| 618 | + double sjgl=culateMileageService.culateSjgl(newList); | |
| 619 | + double ljgl=culateMileageService.culateLjgl(newList); | |
| 528 | 620 | |
| 529 | - return op; | |
| 621 | + o.setEmptMileage(String.valueOf(Arith.add(ksgl, jccgl))); | |
| 622 | + o.setXsgl(String.valueOf(Arith.add(sjgl, ljgl))); | |
| 623 | + o.setSjbc(String.valueOf(sjbc+ljbc)); | |
| 624 | + | |
| 625 | + double jzl=0.0; | |
| 626 | + double xhl=0.0; | |
| 627 | + for (int j = 0; j < ylbList.size(); j++) { | |
| 628 | + Ylb t=ylbList.get(j); | |
| 629 | + if(t.getXlbm().equals(line)){ | |
| 630 | + jzl=Arith.add(jzl, t.getJzl()); | |
| 631 | + xhl=Arith.add(xhl, t.getYh()); | |
| 632 | + } | |
| 633 | + } | |
| 634 | + | |
| 635 | + o.setJzl(String.valueOf(jzl)); | |
| 636 | + o.setXhl(String.valueOf(xhl)); | |
| 530 | 637 | } |
| 531 | - }); | |
| 532 | - | |
| 533 | - for(int i=0;i<list.size();i++){ | |
| 534 | - Operationservice o=list.get(i); | |
| 535 | - Map<String, Object> maps = new HashMap<>(); | |
| 536 | - maps = commonService.findKMBC1(o.getJname(), o.getClzbh(), startDate, | |
| 537 | - endDate); | |
| 538 | - o.setXsgl(maps.get("jhlc").toString() == null ? "" : maps.get("jhlc").toString()); | |
| 539 | - o.setEmptMileage(maps.get("ksgl").toString() == null ? "" : maps.get("ksgl").toString()); | |
| 540 | - o.setSjbc(maps.get("sjbc").toString() == null ? "" : maps.get("sjbc").toString()); | |
| 541 | - } | |
| 542 | 638 | return list; |
| 543 | 639 | } |
| 544 | 640 | |
| 545 | 641 | |
| 546 | 642 | // 车辆加注 |
| 547 | 643 | @Override |
| 548 | - public List<Vehicleloading> vehicleloading(String gsdmVehic,String fgsdmVehic,String line, String date) { | |
| 549 | - | |
| 550 | - String sql = " SELECT r.schedule_date_str,r.xl_bm,r.xl_name,r.cl_zbh,r.j_name,y.YH,y.JZL,r.j_gh,r.gs_bm,r.gs_name,r.fgs_bm,r.fgs_name,r.bc_type " | |
| 551 | - + " FROM bsth_c_s_sp_info_real r " | |
| 552 | - + " INNER join ( select y.RQ,y.XLBM,y.NBBM,y.JSY,y.JZL,y.YH from bsth_c_ylb y " | |
| 553 | - + " where to_days(y.RQ)=to_days('" + date + "') and y.XLBM= '" + line + "' GROUP BY y.RQ,y.XLBM,y.NBBM,y.JSY,y.JZL,y.YH) y " | |
| 554 | - + " on r.cl_zbh=y.nbbm " | |
| 555 | - + " where to_days(r.schedule_date_str)=to_days('" + date + "')" | |
| 556 | - + " and r.xl_bm='" + line + "' " | |
| 557 | - + " AND r.gs_bm is not null" | |
| 558 | - + " and r.bc_type not in('in','out')"; | |
| 559 | - if(gsdmVehic.toString()!=""){ | |
| 560 | - sql+=" and r.gs_bm='"+gsdmVehic+"'"; | |
| 561 | - } | |
| 562 | - if(fgsdmVehic.toString()!=""){ | |
| 563 | - sql+=" and r.fgs_bm='"+fgsdmVehic +"'"; | |
| 564 | - } | |
| 565 | - sql += " GROUP BY r.schedule_date_str,r.xl_bm,r.xl_name,r.cl_zbh,r.j_name,y.YH,y.JZL,r.j_gh,r.gs_bm,r.gs_name,r.fgs_bm,r.fgs_name "; | |
| 644 | + public List<Vehicleloading> vehicleloading(String line, String date) { | |
| 645 | + | |
| 646 | + String sql="select r.s_gh,r.s_name, " | |
| 647 | + + " r.xl_bm,r.xl_name,r.cl_zbh,r.j_gh,r.j_name,r.gs_bm,r.fgs_bm" | |
| 648 | + + " from bsth_c_s_sp_info_real r where r.schedule_date_str = '"+date+"' " | |
| 649 | + + " and r.xl_bm = '"+line+"' group by r.s_gh,r.s_name," | |
| 650 | + + " r.xl_bm,r.xl_name,r.cl_zbh,r.j_gh,r.j_name,r.gs_bm,r.fgs_bm"; | |
| 651 | + | |
| 566 | 652 | List<Vehicleloading> list = jdbcTemplate.query(sql, new RowMapper<Vehicleloading>() { |
| 567 | 653 | @Override |
| 568 | 654 | public Vehicleloading mapRow(ResultSet arg0, int arg1) throws SQLException { |
| 569 | 655 | Vehicleloading ve = new Vehicleloading(); |
| 570 | - ve.setrQ(arg0.getString("schedule_date_str")); | |
| 571 | - ve.setgS(arg0.getString("gs_name")); | |
| 656 | + ve.setgS(BasicData.businessFgsCodeNameMap.get(arg0.getString("fgs_bm")+"_"+arg0.getString("gs_bm"))); | |
| 572 | 657 | ve.setxL(arg0.getString("xl_name")); |
| 573 | 658 | ve.setClzbh(arg0.getString("cl_zbh")); |
| 574 | - ve.setJzl(arg0.getString("JZL")); | |
| 575 | - ve.setHyl(arg0.getString("YH")); | |
| 576 | - // ve.setLs(arg0.getString("").toString());//尿素 | |
| 577 | 659 | ve.setJgh(arg0.getString("j_gh").toString()); |
| 578 | 660 | return ve; |
| 579 | 661 | } |
| 580 | 662 | }); |
| 581 | 663 | |
| 582 | - for(int i=0;i<list.size();i++){ | |
| 583 | - Vehicleloading v=list.get(i); | |
| 584 | - Map<String, Object> maps = new HashMap<>(); | |
| 585 | - maps = commonService.findKMBC2(v.getJgh(), v.getClzbh(), | |
| 586 | - v.getrQ()); | |
| 587 | - v.setJhlc(maps.get("jhlc") == null ? "" : maps.get("jhlc").toString()); | |
| 588 | - v.setJhbc(maps.get("jhbc").toString() == null ? "" : maps.get("jhbc").toString());// 计划班次 | |
| 589 | - v.setSjbc(maps.get("sjbc").toString() == null ? "" : maps.get("sjbc").toString());// 实际班次 | |
| 590 | - } | |
| 591 | 664 | |
| 665 | + List<Ylb> listYlb= ylbRepository.obtainYl(startDate, "", "", line, "", "xlbm"); | |
| 666 | + List<ScheduleRealInfo> listReal=scheduleRealInfoRepository.scheduleByDateAndLineTjrb(line, date); | |
| 667 | + for (int i = 0; i < list.size(); i++) { | |
| 668 | + List<ScheduleRealInfo> newList=new ArrayList<ScheduleRealInfo>(); | |
| 669 | + Vehicleloading sin=list.get(i); | |
| 670 | + sin.setrQ(date); | |
| 671 | + String jsy=sin.getJgh(); | |
| 672 | + String clzbh=sin.getClzbh(); | |
| 673 | + for (int j = 0; j < listReal.size(); j++) { | |
| 674 | + ScheduleRealInfo s=listReal.get(j); | |
| 675 | + if(s.getjGh().equals(jsy) && s.getClZbh().equals(clzbh)){ | |
| 676 | + newList.add(s); | |
| 677 | + } | |
| 678 | + } | |
| 679 | + | |
| 680 | + int jhbc=culateMileageService.culateJhbc(newList, ""); | |
| 681 | + int sjbc=culateMileageService.culateSjbc(newList, ""); | |
| 682 | + int ljbc=culateMileageService.culateLjbc(newList, ""); | |
| 683 | + double yygl=culateMileageService.culateSjgl(newList); | |
| 684 | + double ljgl=culateMileageService.culateLjgl(newList); | |
| 685 | + double ksgl=culateMileageService.culateKsgl(newList); | |
| 686 | + double jcgl=culateMileageService.culateJccgl(newList); | |
| 687 | + double zyygl=Arith.add(yygl, ljgl); | |
| 688 | + double zksgl=Arith.add(ksgl, jcgl); | |
| 689 | + sin.setJhlc(String.valueOf(Arith.add(zyygl,zksgl))); | |
| 690 | + sin.setJhbc(String.valueOf(jhbc)); | |
| 691 | + sin.setSjbc(String.valueOf(sjbc+ljbc)); | |
| 692 | + double yhl=0.0; | |
| 693 | + double jzl=0.0; | |
| 694 | + double fyy=0.0; | |
| 695 | + double ns=0.0; | |
| 696 | + for (int j = 0; j < listYlb.size(); j++) { | |
| 697 | + Ylb y=listYlb.get(j); | |
| 698 | + if(y.getJsy().equals(jsy) && y.getNbbm().equals(clzbh)){ | |
| 699 | + yhl=Arith.add(yhl, y.getYh()==null?0:y.getYh()); | |
| 700 | + jzl=Arith.add(jzl, y.getJzl()==null?0:y.getJzl()); | |
| 701 | + fyy=Arith.add(fyy, y.getSh()==null?0:y.getSh()); | |
| 702 | + ns =Arith.add(ns, y.getNs()==null?0:y.getNs()); | |
| 703 | + } | |
| 704 | + } | |
| 705 | + sin.setHyl(String.valueOf(yhl)); | |
| 706 | + sin.setJzl(String.valueOf(jzl)); | |
| 707 | + sin.setUnyyyl(String.valueOf(fyy)); | |
| 708 | + sin.setLs(String.valueOf(ns)); | |
| 709 | + } | |
| 592 | 710 | return list; |
| 593 | 711 | } |
| 594 | 712 | |
| ... | ... | @@ -816,7 +934,7 @@ public class FormsServiceImpl implements FormsService { |
| 816 | 934 | } |
| 817 | 935 | |
| 818 | 936 | String fgsbm=""; |
| 819 | - if(map.get("fgsdmDaily").toString()!=null){ | |
| 937 | + if(map.get("fgsdmDaily")!=null){ | |
| 820 | 938 | fgsbm=map.get("fgsdmDaily").toString(); |
| 821 | 939 | } |
| 822 | 940 | |
| ... | ... | @@ -853,6 +971,12 @@ public class FormsServiceImpl implements FormsService { |
| 853 | 971 | for(int i=0;i<list.size();i++){ |
| 854 | 972 | sList =new ArrayList<ScheduleRealInfo>(); |
| 855 | 973 | Daily d=list.get(i); |
| 974 | + if(d.getYh()==null){ | |
| 975 | + d.setYh("0"); | |
| 976 | + }else{ | |
| 977 | + if(d.getYh().equals("")) | |
| 978 | + d.setYh("0"); | |
| 979 | + } | |
| 856 | 980 | for (int j = 0; j < lists.size(); j++) { |
| 857 | 981 | ScheduleRealInfo s=lists.get(j); |
| 858 | 982 | if(d.getJgh().equals(s.getjGh()) && d.getZbh().equals(s.getClZbh())){ | ... | ... |
src/main/java/com/bsth/service/realcontrol/DataManagerService.java
0 → 100644
src/main/java/com/bsth/service/realcontrol/ScheduleRealInfoService.java
| ... | ... | @@ -161,4 +161,8 @@ public interface ScheduleRealInfoService extends BaseService<ScheduleRealInfo, L |
| 161 | 161 | void lpChange(ScheduleRealInfo leftSch, ScheduleRealInfo rightSch, int type); |
| 162 | 162 | |
| 163 | 163 | Map<String,Object> revokeRealArrive(Long id); |
| 164 | + | |
| 165 | + Map<String,Object> lateAdjust(String idx, float minute); | |
| 166 | + | |
| 167 | + List<ScheduleRealInfo> allLate2(String idx); | |
| 164 | 168 | } | ... | ... |
src/main/java/com/bsth/service/realcontrol/impl/DataManagerServiceImpl.java
0 → 100644
| 1 | +package com.bsth.service.realcontrol.impl; | |
| 2 | + | |
| 3 | +import com.alibaba.fastjson.JSONArray; | |
| 4 | +import com.alibaba.fastjson.JSONObject; | |
| 5 | +import com.bsth.common.ResponseCode; | |
| 6 | +import com.bsth.data.BasicData; | |
| 7 | +import com.bsth.entity.Cars; | |
| 8 | +import com.bsth.repository.CarsRepository; | |
| 9 | +import com.bsth.service.realcontrol.DataManagerService; | |
| 10 | +import com.bsth.util.db.DBUtils_oldSystem; | |
| 11 | +import org.slf4j.Logger; | |
| 12 | +import org.slf4j.LoggerFactory; | |
| 13 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 14 | +import org.springframework.jdbc.core.JdbcTemplate; | |
| 15 | +import org.springframework.stereotype.Service; | |
| 16 | + | |
| 17 | +import java.util.ArrayList; | |
| 18 | +import java.util.HashMap; | |
| 19 | +import java.util.List; | |
| 20 | +import java.util.Map; | |
| 21 | + | |
| 22 | +/** | |
| 23 | + * Created by panzhao on 2017/4/18. | |
| 24 | + */ | |
| 25 | +@Service | |
| 26 | +public class DataManagerServiceImpl implements DataManagerService{ | |
| 27 | + | |
| 28 | + @Autowired | |
| 29 | + CarsRepository carsRepository; | |
| 30 | + | |
| 31 | + @Autowired | |
| 32 | + JdbcTemplate controlJdbcTemp; | |
| 33 | + | |
| 34 | + @Autowired | |
| 35 | + BasicData.BasicDataLoader dataLoader; | |
| 36 | + | |
| 37 | + Logger logger = LoggerFactory.getLogger(this.getClass()); | |
| 38 | + | |
| 39 | + @Override | |
| 40 | + public Map<String, Object> carInfos(Integer lineId) { | |
| 41 | + | |
| 42 | + Map<String, Object> rs = new HashMap<>(); | |
| 43 | + try { | |
| 44 | + List<Map<String, String>> nowData = new ArrayList<>(); | |
| 45 | + List<Map<String, String>> oldData = new ArrayList<>(); | |
| 46 | + Map<String, String> map; | |
| 47 | + | |
| 48 | + //查询新系统车辆信息 | |
| 49 | + List<Cars> list = carsRepository.findCarsByLineId(lineId); | |
| 50 | + for(Cars c : list){ | |
| 51 | + map = new HashMap<>(); | |
| 52 | + map.put("nbbm", c.getInsideCode()); | |
| 53 | + map.put("device", c.getEquipmentCode()); | |
| 54 | + nowData.add(map); | |
| 55 | + } | |
| 56 | + | |
| 57 | + //获取老系统数据 | |
| 58 | + JdbcTemplate jdbcTemplate = new JdbcTemplate(DBUtils_oldSystem.getDataSource()); | |
| 59 | + List<Map<String, Object>> oyList = jdbcTemplate.queryForList("select NBBM,SBBH from JJWGPS_T_CLXXB t where xlbm=?", BasicData.lineId2CodeMap.get(lineId)); | |
| 60 | + for(Map<String, Object> tempMap : oyList){ | |
| 61 | + map = new HashMap<>(); | |
| 62 | + map.put("nbbm", tempMap.get("NBBM").toString()); | |
| 63 | + map.put("device", tempMap.get("SBBH").toString()); | |
| 64 | + oldData.add(map); | |
| 65 | + } | |
| 66 | + | |
| 67 | + rs.put("status", ResponseCode.SUCCESS); | |
| 68 | + rs.put("nows", nowData); | |
| 69 | + rs.put("olds", oldData); | |
| 70 | + }catch (Exception e){ | |
| 71 | + logger.error("", e); | |
| 72 | + rs.put("status", ResponseCode.ERROR); | |
| 73 | + rs.put("msg", e.getMessage()); | |
| 74 | + } | |
| 75 | + | |
| 76 | + return rs; | |
| 77 | + } | |
| 78 | + | |
| 79 | + /** | |
| 80 | + * 更新设备号 | |
| 81 | + * @param jsonStr | |
| 82 | + * @return | |
| 83 | + */ | |
| 84 | + @Override | |
| 85 | + public Map<String, Object> updateDevices(String jsonStr) { | |
| 86 | + Map<String, Object> rs = new HashMap<>(); | |
| 87 | + try { | |
| 88 | + int count=0; | |
| 89 | + JSONArray array = JSONArray.parseArray(jsonStr); | |
| 90 | + JSONObject jObj; | |
| 91 | + for(int i = 0; i < array.size(); i ++){ | |
| 92 | + jObj = array.getJSONObject(i); | |
| 93 | + count += controlJdbcTemp.update("update bsth_c_cars set equipment_code=? where inside_code=?" | |
| 94 | + , jObj.getString("device"), jObj.getString("nbbm")); | |
| 95 | + } | |
| 96 | + | |
| 97 | + //刷新缓存 | |
| 98 | + dataLoader.loadDeviceInfo(); | |
| 99 | + rs.put("status", ResponseCode.SUCCESS); | |
| 100 | + rs.put("count", count); | |
| 101 | + }catch (Exception e){ | |
| 102 | + logger.error("", e); | |
| 103 | + rs.put("status", ResponseCode.ERROR); | |
| 104 | + rs.put("msg", e.getMessage()); | |
| 105 | + } | |
| 106 | + return rs; | |
| 107 | + } | |
| 108 | +} | ... | ... |
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
| ... | ... | @@ -3,6 +3,7 @@ package com.bsth.service.realcontrol.impl; |
| 3 | 3 | import com.alibaba.fastjson.JSON; |
| 4 | 4 | import com.alibaba.fastjson.JSONArray; |
| 5 | 5 | import com.alibaba.fastjson.JSONObject; |
| 6 | +import com.alibaba.fastjson.support.odps.udf.CodecCheck.A; | |
| 6 | 7 | import com.bsth.common.Constants; |
| 7 | 8 | import com.bsth.common.ResponseCode; |
| 8 | 9 | import com.bsth.controller.realcontrol.dto.ChangePersonCar; |
| ... | ... | @@ -13,6 +14,7 @@ import com.bsth.data.LineConfigData; |
| 13 | 14 | import com.bsth.data.schedule.DayOfSchedule; |
| 14 | 15 | import com.bsth.data.schedule.SchAttrCalculator; |
| 15 | 16 | import com.bsth.data.schedule.ScheduleComparator; |
| 17 | +import com.bsth.data.schedule.late_adjust.LateAdjustHandle; | |
| 16 | 18 | import com.bsth.entity.Cars; |
| 17 | 19 | import com.bsth.entity.Line; |
| 18 | 20 | import com.bsth.entity.Personnel; |
| ... | ... | @@ -176,6 +178,12 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 176 | 178 | schedule.setDfsjAll(dfsj); |
| 177 | 179 | schedule.addRemarks(remarks); |
| 178 | 180 | |
| 181 | + //取消应发未到标记 | |
| 182 | + if(schedule.isLate2()){ | |
| 183 | + schedule.setLate2(false); | |
| 184 | + LateAdjustHandle.remove(schedule); | |
| 185 | + } | |
| 186 | + | |
| 179 | 187 | List<ScheduleRealInfo> ts = new ArrayList<>(); |
| 180 | 188 | ts.add(schedule); |
| 181 | 189 | //调整终点时间和下一个班次的应到时间 |
| ... | ... | @@ -510,7 +518,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 510 | 518 | + " from bsth_c_s_sp_info_real s " |
| 511 | 519 | + " where s.xl_Bm = '" + line + "' and DATE_FORMAT(s.schedule_Date,'%Y-%m-%d') ='" + date + "' " |
| 512 | 520 | + " GROUP BY s.j_Gh,s.cl_Zbh,s.lp_Name ,s.j_Name" |
| 513 | - + " order by (" + state + "),schedule_date_str,fcsj " + type; | |
| 521 | + + " order by (" + state + "),dateStr,fcsj " + type; | |
| 514 | 522 | List<ScheduleRealInfo> list = jdbcTemplate.query(sqlPlan, |
| 515 | 523 | new RowMapper<ScheduleRealInfo>() { |
| 516 | 524 | @Override |
| ... | ... | @@ -826,9 +834,13 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 826 | 834 | sch.setFcsjActualAll(fcsjActual); |
| 827 | 835 | sch.addRemarks(remarks); |
| 828 | 836 | sch.calcStatus(); |
| 837 | + if(sch.isLate2()){ | |
| 838 | + //取消应发未到标记 | |
| 839 | + sch.setLate2(false); | |
| 840 | + LateAdjustHandle.remove(sch); | |
| 841 | + } | |
| 829 | 842 | |
| 830 | 843 | dayOfSchedule.save(sch); |
| 831 | - //scheduleRealInfoRepository.save(sch); | |
| 832 | 844 | |
| 833 | 845 | ts.add(sch); |
| 834 | 846 | |
| ... | ... | @@ -1015,8 +1027,15 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 1015 | 1027 | t = fmtyyyyMMddHHmm.parseMillis(sch.getScheduleDateStr() + fcsjActual); |
| 1016 | 1028 | |
| 1017 | 1029 | //调整实发 |
| 1018 | - if (!fcsjActual.equals(sch.getFcsjActual())) | |
| 1030 | + if (!fcsjActual.equals(sch.getFcsjActual())){ | |
| 1019 | 1031 | sch.setFcsjActualAll(t); |
| 1032 | + | |
| 1033 | + //取消应发未到标记 | |
| 1034 | + if(sch.isLate2()){ | |
| 1035 | + sch.setLate2(false); | |
| 1036 | + LateAdjustHandle.remove(sch); | |
| 1037 | + } | |
| 1038 | + } | |
| 1020 | 1039 | } else { |
| 1021 | 1040 | //撤销实发 |
| 1022 | 1041 | if (sch.getFcsjActual() != null) |
| ... | ... | @@ -1107,6 +1126,11 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 1107 | 1126 | //重新计算是否误点 |
| 1108 | 1127 | schedule.reCalcLate(); |
| 1109 | 1128 | |
| 1129 | + //取消应发未到标记 | |
| 1130 | + if(schedule.isLate2()){ | |
| 1131 | + schedule.setLate2(false); | |
| 1132 | + LateAdjustHandle.remove(schedule); | |
| 1133 | + } | |
| 1110 | 1134 | dayOfSchedule.save(schedule); |
| 1111 | 1135 | } |
| 1112 | 1136 | |
| ... | ... | @@ -1403,7 +1427,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 1403 | 1427 | lists.add(s); |
| 1404 | 1428 | } |
| 1405 | 1429 | } |
| 1406 | - double ksgl=culateService.culateKsgl(lists); | |
| 1430 | + double ksgl=culateService.culateKsgl(list); | |
| 1407 | 1431 | double sjgl=culateService.culateSjgl(lists); |
| 1408 | 1432 | double jccgl=culateService.culateJccgl(lists); |
| 1409 | 1433 | double ljgl=culateService.culateLjgl(lists); |
| ... | ... | @@ -1646,9 +1670,11 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 1646 | 1670 | List<ScheduleRealInfo> lists = scheduleRealInfoRepository.scheduleByDateAndLine2(line, date); |
| 1647 | 1671 | Map<String, Object> map = new HashMap<String, Object>(); |
| 1648 | 1672 | map.put("xlName", xlName); |
| 1649 | - map.put("jhlc", culateService.culateJhgl(lists)); | |
| 1673 | + double jhlc=culateService.culateJhgl(lists); | |
| 1674 | + map.put("jhlc",jhlc); | |
| 1650 | 1675 | map.put("sjgl", Arith.add(culateService.culateSjgl(lists),culateService.culateLjgl(lists))); |
| 1651 | - map.put("ssgl", culateService.culateLbgl(lists)); | |
| 1676 | + double lbgl=culateService.culateLbgl(lists); | |
| 1677 | + map.put("ssgl", lbgl); | |
| 1652 | 1678 | map.put("ssgl_lz", culateService.culateCJLC(lists, "路阻")); |
| 1653 | 1679 | map.put("ssgl_dm", culateService.culateCJLC(lists, "吊慢")); |
| 1654 | 1680 | map.put("ssgl_gz", culateService.culateCJLC(lists, "故障")); |
| ... | ... | @@ -1665,7 +1691,8 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 1665 | 1691 | double ssgl_qt=culateService.culateCJLC(lists, "其他"); |
| 1666 | 1692 | map.put("ssgl_other", Arith.add(Arith.add(ssgl_pc, ssgl_by),Arith.add(ssgl_cj, ssgl_qt))); |
| 1667 | 1693 | map.put("ssbc", culateService.culateLbbc(lists)); |
| 1668 | - map.put("ljgl", culateService.culateLjgl(lists)); | |
| 1694 | + double ljgl=culateService.culateLjgl(lists); | |
| 1695 | + map.put("ljgl", ljgl); | |
| 1669 | 1696 | map.put("jhbc", culateService.culateJhbc(lists,"")); |
| 1670 | 1697 | map.put("jhbc_m", culateService.culateJhbc(lists, "zgf")); |
| 1671 | 1698 | map.put("jhbc_a", culateService.culateJhbc(lists, "wgf")); |
| ... | ... | @@ -1685,6 +1712,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 1685 | 1712 | map.put("djg_m", 0); |
| 1686 | 1713 | map.put("djg_a", 0); |
| 1687 | 1714 | map.put("djg_time", 0); |
| 1715 | + map.put("jls", Arith.sub(Arith.add(jhlc, ljgl), lbgl)); | |
| 1688 | 1716 | lMap.add(map); |
| 1689 | 1717 | return lMap; |
| 1690 | 1718 | } |
| ... | ... | @@ -2238,8 +2266,23 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 2238 | 2266 | public final Map<String, Object> staticTj(List<ScheduleRealInfo> lists){ |
| 2239 | 2267 | Map<String, Object> map = new HashMap<String, Object>(); |
| 2240 | 2268 | map.put("xlName", lists.get(0).getXlName()); |
| 2241 | - map.put("jhlc", culateService.culateJhgl(lists)); | |
| 2242 | - map.put("sjgl", Arith.add(culateService.culateSjgl(lists),culateService.culateLjgl(lists))); | |
| 2269 | + double jhyygl=culateService.culateJhgl(lists);//计划营运公里 | |
| 2270 | + double jhjcclc= culateService.culateJhJccgl(lists);//计划进出场公里(计划空驶公里) | |
| 2271 | + map.put("jhlc", jhyygl); | |
| 2272 | + map.put("jcclc", jhjcclc); | |
| 2273 | + map.put("jhzlc", Arith.add(jhyygl, jhjcclc)); | |
| 2274 | + | |
| 2275 | + double ljgl= culateService.culateLjgl(lists); | |
| 2276 | + double sjyygl= culateService.culateSjgl(lists); | |
| 2277 | + double zyygl= Arith.add(sjyygl,ljgl); | |
| 2278 | + | |
| 2279 | + double sjjccgl=culateService.culateJccgl(lists); | |
| 2280 | + double sjksgl=culateService.culateKsgl(lists); | |
| 2281 | + double zksgl=Arith.add(sjjccgl, sjksgl); | |
| 2282 | + map.put("sjzgl", Arith.add(zyygl, zksgl)); | |
| 2283 | + map.put("sjgl",zyygl); | |
| 2284 | + map.put("sjksgl", zksgl); | |
| 2285 | + | |
| 2243 | 2286 | map.put("ssgl", culateService.culateLbgl(lists)); |
| 2244 | 2287 | map.put("ssgl_lz", culateService.culateCJLC(lists, "路阻")); |
| 2245 | 2288 | map.put("ssgl_dm", culateService.culateCJLC(lists, "吊慢")); |
| ... | ... | @@ -2253,7 +2296,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 2253 | 2296 | map.put("ssgl_yw", culateService.culateCJLC(lists, "援外")); |
| 2254 | 2297 | map.put("ssgl_other", culateService.culateCJLC(lists, "其他")); |
| 2255 | 2298 | map.put("ssbc", culateService.culateLbbc(lists)); |
| 2256 | - map.put("ljgl", culateService.culateLjgl(lists)); | |
| 2299 | + map.put("ljgl", ljgl); | |
| 2257 | 2300 | map.put("jhbc", culateService.culateJhbc(lists,"")); |
| 2258 | 2301 | map.put("jhbc_m", culateService.culateJhbc(lists, "zgf")); |
| 2259 | 2302 | map.put("jhbc_a", culateService.culateJhbc(lists, "wgf")); |
| ... | ... | @@ -2316,8 +2359,22 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 2316 | 2359 | |
| 2317 | 2360 | Map<String, Object> map = new HashMap<String, Object>(); |
| 2318 | 2361 | map.put("xlName", "合计"); |
| 2319 | - map.put("jhlc", culateService.culateJhgl(list)); | |
| 2320 | - map.put("sjgl", Arith.add(culateService.culateSjgl(list),culateService.culateLjgl(list))); | |
| 2362 | + double jhyygl=culateService.culateJhgl(list);//计划营运公里 | |
| 2363 | + double jhjcclc= culateService.culateJhJccgl(list);//计划进出场公里(计划空驶公里) | |
| 2364 | + map.put("jhlc", jhyygl); | |
| 2365 | + map.put("jcclc", jhjcclc); | |
| 2366 | + map.put("jhzlc", Arith.add(jhyygl, jhjcclc)); | |
| 2367 | + | |
| 2368 | + double ljgl= culateService.culateLjgl(list); | |
| 2369 | + double sjyygl= culateService.culateSjgl(list); | |
| 2370 | + double zyygl= Arith.add(sjyygl,ljgl); | |
| 2371 | + | |
| 2372 | + double sjjccgl=culateService.culateJccgl(list); | |
| 2373 | + double sjksgl=culateService.culateKsgl(list); | |
| 2374 | + double zksgl=Arith.add(sjjccgl, sjksgl); | |
| 2375 | + map.put("sjzgl", Arith.add(zyygl, zksgl)); | |
| 2376 | + map.put("sjgl",zyygl); | |
| 2377 | + map.put("sjksgl", zksgl); | |
| 2321 | 2378 | map.put("ssgl", culateService.culateLbgl(list)); |
| 2322 | 2379 | map.put("ssgl_lz", culateService.culateCJLC(list, "路阻")); |
| 2323 | 2380 | map.put("ssgl_dm", culateService.culateCJLC(list, "吊慢")); |
| ... | ... | @@ -2331,7 +2388,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 2331 | 2388 | map.put("ssgl_yw", culateService.culateCJLC(list, "援外")); |
| 2332 | 2389 | map.put("ssgl_other", culateService.culateCJLC(list, "其他")); |
| 2333 | 2390 | map.put("ssbc", culateService.culateLbbc(list)); |
| 2334 | - map.put("ljgl", culateService.culateLjgl(list)); | |
| 2391 | + map.put("ljgl", ljgl); | |
| 2335 | 2392 | map.put("jhbc", culateService.culateJhbc(list,"")); |
| 2336 | 2393 | map.put("jhbc_m", culateService.culateJhbc(list, "zgf")); |
| 2337 | 2394 | map.put("jhbc_a", culateService.culateJhbc(list, "wgf")); |
| ... | ... | @@ -2506,7 +2563,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 2506 | 2563 | list.add(t); |
| 2507 | 2564 | } |
| 2508 | 2565 | |
| 2509 | - List<ScheduleRealInfo> listInfo2 = scheduleRealInfoRepository.scheduleByDateAndLine(line, date); | |
| 2566 | + List<ScheduleRealInfo> listInfo2 = scheduleRealInfoRepository.scheduleByDateAndLineQp(line, date); | |
| 2510 | 2567 | List<ScheduleRealInfo> xList = new ArrayList<ScheduleRealInfo>(); |
| 2511 | 2568 | List<ScheduleRealInfo> yList = new ArrayList<ScheduleRealInfo>(); |
| 2512 | 2569 | List<ScheduleRealInfo> zList = new ArrayList<ScheduleRealInfo>(); |
| ... | ... | @@ -4093,4 +4150,53 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 4093 | 4150 | } |
| 4094 | 4151 | return rs; |
| 4095 | 4152 | } |
| 4153 | + | |
| 4154 | + @Override | |
| 4155 | + public Map<String, Object> lateAdjust(String idx, float minute) { | |
| 4156 | + Map<String, Object> rs = new HashMap<>(); | |
| 4157 | + try { | |
| 4158 | + int count = 0; | |
| 4159 | + List<ScheduleRealInfo> list = new ArrayList<>(); | |
| 4160 | + List<String> ids = Splitter.on(",").trimResults().omitEmptyStrings().splitToList(idx); | |
| 4161 | + | |
| 4162 | + ScheduleRealInfo sch; | |
| 4163 | + for(String id : ids){ | |
| 4164 | + sch = dayOfSchedule.get(Long.parseLong(id)); | |
| 4165 | + if(sch != null && sch.getStatus() == 0){ | |
| 4166 | + if(minute > 0){ | |
| 4167 | + sch.setLateMinute(minute); | |
| 4168 | + } | |
| 4169 | + else if(minute == 0){ | |
| 4170 | + LateAdjustHandle.remove(sch); | |
| 4171 | + } | |
| 4172 | + count ++; | |
| 4173 | + list.add(sch); | |
| 4174 | + } | |
| 4175 | + } | |
| 4176 | + | |
| 4177 | + rs.put("status", ResponseCode.SUCCESS); | |
| 4178 | + rs.put("count", count); | |
| 4179 | + rs.put("ts", list); | |
| 4180 | + }catch (Exception e){ | |
| 4181 | + logger.error("", e); | |
| 4182 | + rs.put("status", ResponseCode.ERROR); | |
| 4183 | + rs.put("msg", e.getMessage()); | |
| 4184 | + } | |
| 4185 | + | |
| 4186 | + return rs; | |
| 4187 | + } | |
| 4188 | + | |
| 4189 | + @Override | |
| 4190 | + public List<ScheduleRealInfo> allLate2(String idx) { | |
| 4191 | + List<ScheduleRealInfo> rs = new ArrayList<>(); | |
| 4192 | + List<String> ids = Splitter.on(",").trimResults().omitEmptyStrings().splitToList(idx); | |
| 4193 | + | |
| 4194 | + Collection<ScheduleRealInfo> all = LateAdjustHandle.allLateSch(); | |
| 4195 | + for(ScheduleRealInfo sch : all){ | |
| 4196 | + if(ids.indexOf(sch.getXlBm()) != -1){ | |
| 4197 | + rs.add(sch); | |
| 4198 | + } | |
| 4199 | + } | |
| 4200 | + return rs; | |
| 4201 | + } | |
| 4096 | 4202 | } |
| 4097 | 4203 | \ No newline at end of file | ... | ... |
src/main/java/com/bsth/service/report/impl/CulateMileageServiceImpl.java
| 1 | 1 | package com.bsth.service.report.impl; |
| 2 | 2 | |
| 3 | 3 | import java.util.ArrayList; |
| 4 | +import java.util.Collections; | |
| 4 | 5 | import java.util.HashMap; |
| 5 | 6 | import java.util.Iterator; |
| 6 | 7 | import java.util.List; |
| ... | ... | @@ -14,6 +15,7 @@ import com.bsth.entity.realcontrol.ChildTaskPlan; |
| 14 | 15 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 15 | 16 | import com.bsth.service.report.CulateMileageService; |
| 16 | 17 | import com.bsth.util.Arith; |
| 18 | +import com.bsth.util.ComparableJob; | |
| 17 | 19 | |
| 18 | 20 | @Service |
| 19 | 21 | public class CulateMileageServiceImpl implements CulateMileageService{ |
| ... | ... | @@ -25,6 +27,7 @@ public class CulateMileageServiceImpl implements CulateMileageService{ |
| 25 | 27 | @Override |
| 26 | 28 | public List<Map<String, Object>> jobFwqk(List<ScheduleRealInfo> lists) { |
| 27 | 29 | // TODO Auto-generated method stub |
| 30 | + String[] lblxs = {"配车", "保养","故障","肇事","路阻","纠纷","缺人","客稀","缺车","气候","援外","吊慢","抽减","其他" }; | |
| 28 | 31 | List<Map<String, Object>> list=new ArrayList<Map<String,Object>>(); |
| 29 | 32 | for (int i = 0; i < lists.size(); i++) { |
| 30 | 33 | ScheduleRealInfo scheduleRealInfo = lists.get(i); |
| ... | ... | @@ -47,7 +50,7 @@ public class CulateMileageServiceImpl implements CulateMileageService{ |
| 47 | 50 | newMap.put("dz", scheduleRealInfo.getQdzName()); |
| 48 | 51 | newMap.put("sj", scheduleRealInfo.getFcsj()); |
| 49 | 52 | newMap.put("lbbc", 1); |
| 50 | - newMap.put("lblc", scheduleRealInfo.getJhlcOrig()); | |
| 53 | + newMap.put("lblc", scheduleRealInfo.getJhlcOrig()==null?0:scheduleRealInfo.getJhlcOrig()); | |
| 51 | 54 | newMap.put("jyqp", scheduleRealInfo.getRealMileage()); |
| 52 | 55 | list.add(newMap); |
| 53 | 56 | } |
| ... | ... | @@ -71,7 +74,7 @@ public class CulateMileageServiceImpl implements CulateMileageService{ |
| 71 | 74 | newMap.put("dz", childTaskPlan.getStartStationName()); |
| 72 | 75 | newMap.put("sj", childTaskPlan.getStartDate()); |
| 73 | 76 | newMap.put("lbbc", 0); |
| 74 | - newMap.put("lblc", childTaskPlan.getMileage()); | |
| 77 | + newMap.put("lblc", childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage()); | |
| 75 | 78 | newMap.put("jyqp", scheduleRealInfo.getRealMileage()); |
| 76 | 79 | list.add(newMap); |
| 77 | 80 | |
| ... | ... | @@ -80,7 +83,33 @@ public class CulateMileageServiceImpl implements CulateMileageService{ |
| 80 | 83 | } |
| 81 | 84 | } |
| 82 | 85 | } |
| 83 | - return list; | |
| 86 | + List<Map<String, Object>> listNew=new ArrayList<Map<String,Object>>(); | |
| 87 | + for (int i = 0; i < lblxs.length; i++) { | |
| 88 | + String lx=lblxs[i]; | |
| 89 | + double lblc=0.0; | |
| 90 | + int lbbc=0; | |
| 91 | + for (int j = 0; j < list.size(); j++) { | |
| 92 | + Map<String, Object> m1=list.get(j); | |
| 93 | + m1.put("lx", 0); | |
| 94 | + listNew.add(m1); | |
| 95 | + if(lx.equals(m1.get("nr").toString())){ | |
| 96 | + lblc =Arith.add(lblc,Double.parseDouble(m1.get("lblc").toString())); | |
| 97 | + lbbc += Integer.parseInt(m1.get("lbbc").toString()); | |
| 98 | + } | |
| 99 | + } | |
| 100 | + Map<String, Object> newMap = new HashMap<String, Object>(); | |
| 101 | + newMap.put("lx", 1); | |
| 102 | + newMap.put("nr", lx); | |
| 103 | + newMap.put("lp", "小计"); | |
| 104 | + newMap.put("nbbm", "少驶公里"); | |
| 105 | + newMap.put("dz", lbbc); | |
| 106 | + newMap.put("sj", "少驶公里"); | |
| 107 | + newMap.put("lblc", lblc); | |
| 108 | + listNew.add(newMap); | |
| 109 | + | |
| 110 | + } | |
| 111 | + Collections.sort(listNew, new ComparableJob()); | |
| 112 | + return listNew; | |
| 84 | 113 | } |
| 85 | 114 | |
| 86 | 115 | @Override | ... | ... |
src/main/java/com/bsth/service/report/impl/ReportServiceImpl.java
| ... | ... | @@ -8,6 +8,7 @@ import java.text.ParseException; |
| 8 | 8 | import java.text.SimpleDateFormat; |
| 9 | 9 | import java.util.ArrayList; |
| 10 | 10 | import java.util.Calendar; |
| 11 | +import java.util.Collections; | |
| 11 | 12 | import java.util.Date; |
| 12 | 13 | import java.util.HashMap; |
| 13 | 14 | import java.util.Iterator; |
| ... | ... | @@ -38,6 +39,7 @@ import com.bsth.repository.realcontrol.ScheduleRealInfoRepository; |
| 38 | 39 | import com.bsth.service.report.CulateMileageService; |
| 39 | 40 | import com.bsth.service.report.ReportService; |
| 40 | 41 | import com.bsth.util.Arith; |
| 42 | +import com.bsth.util.ComparableJob; | |
| 41 | 43 | import com.bsth.util.db.DBUtils_MS; |
| 42 | 44 | |
| 43 | 45 | @Service |
| ... | ... | @@ -179,10 +181,10 @@ public class ReportServiceImpl implements ReportService{ |
| 179 | 181 | try { |
| 180 | 182 | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| 181 | 183 | SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); |
| 182 | - Long date1=simpleDateFormat.parse(fcsj+" 00:00:00").getTime(); | |
| 183 | - Long date2=simpleDateFormat.parse(ddsj+" 23:59:59").getTime(); | |
| 184 | - Date dates1=simpleDateFormat.parse(fcsj+" 00:00:00"); | |
| 185 | - Date dates2=simpleDateFormat.parse(ddsj+" 00:00:00"); | |
| 184 | + Long date1=simpleDateFormat.parse(fcsj+":00").getTime(); | |
| 185 | + Long date2=simpleDateFormat.parse(ddsj+":00").getTime(); | |
| 186 | + Date dates1=simpleDateFormat.parse(fcsj+":00"); | |
| 187 | + Date dates2=simpleDateFormat.parse(ddsj+":00"); | |
| 186 | 188 | List<ArrivalInfo> lists=load2(line,date1,date2,dates1,dates2,zd,zdlx); |
| 187 | 189 | |
| 188 | 190 | for(int i=0;i<lists.size();i++){ |
| ... | ... | @@ -1150,6 +1152,7 @@ public class ReportServiceImpl implements ReportService{ |
| 1150 | 1152 | @Override |
| 1151 | 1153 | public List<Map<String, Object>> jobFwqk(Map<String, Object> map) { |
| 1152 | 1154 | // TODO Auto-generated method stub |
| 1155 | + String[] lblxs = {"配车", "保养","故障","肇事","路阻","纠纷","缺人","客稀","缺车","气候","援外","吊慢","抽减","其他" }; | |
| 1153 | 1156 | String line=map.get("line").toString(); |
| 1154 | 1157 | String date=map.get("date").toString(); |
| 1155 | 1158 | map.put("bcType", "normal"); |
| ... | ... | @@ -1179,7 +1182,7 @@ public class ReportServiceImpl implements ReportService{ |
| 1179 | 1182 | newMap.put("sj", scheduleRealInfo.getFcsj()); |
| 1180 | 1183 | newMap.put("lbbc", 1); |
| 1181 | 1184 | newMap.put("lblc", scheduleRealInfo.getJhlcOrig()); |
| 1182 | - newMap.put("jyqp", scheduleRealInfo.getRealMileage()); | |
| 1185 | + newMap.put("jyqp", scheduleRealInfo.getRemarks()); | |
| 1183 | 1186 | list.add(newMap); |
| 1184 | 1187 | } |
| 1185 | 1188 | |
| ... | ... | @@ -1205,7 +1208,7 @@ public class ReportServiceImpl implements ReportService{ |
| 1205 | 1208 | newMap.put("sj", childTaskPlan.getStartDate()); |
| 1206 | 1209 | newMap.put("lbbc", 0); |
| 1207 | 1210 | newMap.put("lblc", childTaskPlan.getMileage()); |
| 1208 | - newMap.put("jyqp", scheduleRealInfo.getRealMileage()); | |
| 1211 | + newMap.put("jyqp", childTaskPlan.getRemarks()); | |
| 1209 | 1212 | list.add(newMap); |
| 1210 | 1213 | |
| 1211 | 1214 | } |
| ... | ... | @@ -1213,7 +1216,36 @@ public class ReportServiceImpl implements ReportService{ |
| 1213 | 1216 | } |
| 1214 | 1217 | } |
| 1215 | 1218 | } |
| 1216 | - return list; | |
| 1219 | + List<Map<String, Object>> listNew=new ArrayList<Map<String,Object>>(); | |
| 1220 | + for (int i = 0; i < lblxs.length; i++) { | |
| 1221 | + String lx=lblxs[i]; | |
| 1222 | + double lblc=0.0; | |
| 1223 | + int lbbc=0; | |
| 1224 | + for (int j = 0; j < list.size(); j++) { | |
| 1225 | + Map<String, Object> m1=list.get(j); | |
| 1226 | + if(lx.equals(m1.get("nr").toString())){ | |
| 1227 | + m1.put("lx", 0); | |
| 1228 | + listNew.add(m1); | |
| 1229 | + lblc =Arith.add(lblc,Double.parseDouble(m1.get("lblc").toString())); | |
| 1230 | + lbbc += Integer.parseInt(m1.get("lbbc").toString()); | |
| 1231 | + } | |
| 1232 | + } | |
| 1233 | + if(lblc>0){ | |
| 1234 | + Map<String, Object> newMap = new HashMap<String, Object>(); | |
| 1235 | + newMap.put("lx", 1); | |
| 1236 | + newMap.put("nr", lx); | |
| 1237 | + newMap.put("lp", "小计"); | |
| 1238 | + newMap.put("nbbm", "少驶班次"); | |
| 1239 | + newMap.put("jgh", lbbc); | |
| 1240 | + newMap.put("sj", "少驶公里"); | |
| 1241 | + newMap.put("lblc", lblc); | |
| 1242 | + listNew.add(newMap); | |
| 1243 | + } | |
| 1244 | + | |
| 1245 | + | |
| 1246 | + } | |
| 1247 | + Collections.sort(listNew, new ComparableJob()); | |
| 1248 | + return listNew; | |
| 1217 | 1249 | } |
| 1218 | 1250 | |
| 1219 | 1251 | //统计临加班次详细信息 | ... | ... |
src/main/java/com/bsth/util/ComparableJob.java
0 → 100644
| 1 | +package com.bsth.util; | |
| 2 | + | |
| 3 | +import java.util.Comparator; | |
| 4 | +import java.util.Map; | |
| 5 | + | |
| 6 | + | |
| 7 | +public class ComparableJob implements Comparator<Map<String, Object>>{ | |
| 8 | + | |
| 9 | + @Override | |
| 10 | + public int compare(Map<String, Object> o1, Map<String, Object> o2) { | |
| 11 | + // TODO Auto-generated method stub | |
| 12 | + return o1.get("nr").toString().compareTo(o2.get("nr").toString()); | |
| 13 | + } | |
| 14 | + | |
| 15 | +} | ... | ... |
src/main/java/com/bsth/util/db/BaseDao_MS.java deleted
100644 → 0
| 1 | -package com.bsth.util.db; | |
| 2 | - | |
| 3 | - | |
| 4 | -import org.apache.commons.lang3.CharUtils; | |
| 5 | -import org.apache.commons.lang3.StringUtils; | |
| 6 | -import org.slf4j.Logger; | |
| 7 | -import org.slf4j.LoggerFactory; | |
| 8 | - | |
| 9 | - | |
| 10 | -/** | |
| 11 | - * | |
| 12 | - * @ClassName: BaseDao | |
| 13 | - * @author PanZhao | |
| 14 | - * @param <T> | |
| 15 | - * @date 2016年6月27日 上午10:33:12 | |
| 16 | - * | |
| 17 | - */ | |
| 18 | -public class BaseDao_MS { | |
| 19 | - | |
| 20 | - static Logger logger = LoggerFactory.getLogger(BaseDao_MS.class); | |
| 21 | - | |
| 22 | - /** | |
| 23 | - * | |
| 24 | - * @Title: propertyToField | |
| 25 | - * @Description: TODO(java转数据库字段名) | |
| 26 | - * @param @param property | |
| 27 | - * @throws | |
| 28 | - */ | |
| 29 | - public static String propertyToField(String property) { | |
| 30 | - if (null == property) { | |
| 31 | - return ""; | |
| 32 | - } | |
| 33 | - char[] chars = property.toCharArray(); | |
| 34 | - StringBuffer sb = new StringBuffer(); | |
| 35 | - for (char c : chars) { | |
| 36 | - if (CharUtils.isAsciiAlphaUpper(c)) { | |
| 37 | - sb.append("_" + StringUtils.lowerCase(CharUtils.toString(c))); | |
| 38 | - } else { | |
| 39 | - sb.append(c); | |
| 40 | - } | |
| 41 | - } | |
| 42 | - return sb.toString(); | |
| 43 | - } | |
| 44 | -} |
src/main/java/com/bsth/util/db/DBUtils_MS.java
| 1 | 1 | package com.bsth.util.db; |
| 2 | 2 | |
| 3 | +import com.mchange.v2.c3p0.DataSources; | |
| 4 | +import org.apache.log4j.Logger; | |
| 5 | + | |
| 6 | +import javax.sql.DataSource; | |
| 3 | 7 | import java.io.FileNotFoundException; |
| 4 | 8 | import java.io.IOException; |
| 5 | 9 | import java.sql.Connection; |
| ... | ... | @@ -10,15 +14,8 @@ import java.util.HashMap; |
| 10 | 14 | import java.util.Map; |
| 11 | 15 | import java.util.Properties; |
| 12 | 16 | |
| 13 | -import javax.sql.DataSource; | |
| 14 | - | |
| 15 | -import org.apache.log4j.Logger; | |
| 16 | -import org.springframework.stereotype.Component; | |
| 17 | - | |
| 18 | -import com.mchange.v2.c3p0.DataSources; | |
| 19 | - | |
| 20 | 17 | /** |
| 21 | - * 808GPS SQL Server数据库连接工具类 | |
| 18 | + * 网关ms库连接池 | |
| 22 | 19 | * @author PanZhao |
| 23 | 20 | * |
| 24 | 21 | */ | ... | ... |
src/main/java/com/bsth/util/db/DBUtils_oldSystem.java
0 → 100644
| 1 | +package com.bsth.util.db; | |
| 2 | + | |
| 3 | +import com.mchange.v2.c3p0.DataSources; | |
| 4 | +import org.apache.log4j.Logger; | |
| 5 | + | |
| 6 | +import javax.sql.DataSource; | |
| 7 | +import java.sql.Connection; | |
| 8 | +import java.sql.ResultSet; | |
| 9 | +import java.sql.SQLException; | |
| 10 | +import java.sql.Statement; | |
| 11 | +import java.util.HashMap; | |
| 12 | +import java.util.Map; | |
| 13 | + | |
| 14 | +/** | |
| 15 | + * 老系统数据库连接池(保持少量的连接,不会对老系统有什么影响) | |
| 16 | + * @author PanZhao | |
| 17 | + * | |
| 18 | + */ | |
| 19 | +//@Component | |
| 20 | +public class DBUtils_oldSystem { | |
| 21 | + | |
| 22 | + private static String url = null; | |
| 23 | + | |
| 24 | + private static String username = null; | |
| 25 | + | |
| 26 | + private static String pwd = null; | |
| 27 | + | |
| 28 | + private static DataSource ds_pooled; | |
| 29 | + | |
| 30 | + static Logger logger = Logger.getLogger(DBUtils_oldSystem.class); | |
| 31 | + | |
| 32 | + static { | |
| 33 | + | |
| 34 | + try { | |
| 35 | + // 1. 加载驱动类 | |
| 36 | + Class.forName("oracle.jdbc.driver.OracleDriver"); | |
| 37 | + | |
| 38 | + url = "jdbc:oracle:thin:@10.10.200.225:1521:orcl"; | |
| 39 | + username = "jjwgps"; | |
| 40 | + pwd = "jjwgps"; | |
| 41 | + | |
| 42 | + // 设置连接数据库的配置信息 | |
| 43 | + DataSource ds_unpooled = DataSources.unpooledDataSource(url, | |
| 44 | + username, pwd); | |
| 45 | + | |
| 46 | + Map<String, Object> pool_conf = new HashMap<String, Object>(); | |
| 47 | + // 设置最大连接数 | |
| 48 | + pool_conf.put("maxPoolSize", 5); | |
| 49 | + | |
| 50 | + pool_conf.put("testConnectionOnCheckout", false); | |
| 51 | + //异步检测连接的有效性 | |
| 52 | + pool_conf.put("testConnectionOnCheckin", true); | |
| 53 | + //10分钟检测一次 | |
| 54 | + pool_conf.put("idleConnectionTestPeriod", 60 * 10); | |
| 55 | + ds_pooled = DataSources.pooledDataSource(ds_unpooled, pool_conf); | |
| 56 | + } catch (ClassNotFoundException e) { | |
| 57 | + logger.error(e.toString()); | |
| 58 | + e.printStackTrace(); | |
| 59 | + } catch (SQLException e) { | |
| 60 | + logger.error("初始化老系统连接池失败,非正式环境请忽略这个问题!"); | |
| 61 | + logger.error(e.toString()); | |
| 62 | + e.printStackTrace(); | |
| 63 | + } | |
| 64 | + } | |
| 65 | + | |
| 66 | + /** | |
| 67 | + * 获取连接对象 | |
| 68 | + */ | |
| 69 | + public static Connection getConnection() throws SQLException { | |
| 70 | + return ds_pooled.getConnection(); | |
| 71 | + } | |
| 72 | + | |
| 73 | + /** | |
| 74 | + * 释放连接池资源 | |
| 75 | + */ | |
| 76 | + public static void clearup() { | |
| 77 | + if (ds_pooled != null) { | |
| 78 | + try { | |
| 79 | + DataSources.destroy(ds_pooled); | |
| 80 | + } catch (SQLException e) { | |
| 81 | + logger.error(e.toString()); | |
| 82 | + e.printStackTrace(); | |
| 83 | + } | |
| 84 | + } | |
| 85 | + } | |
| 86 | + | |
| 87 | + /** | |
| 88 | + * 资源关闭 | |
| 89 | + * | |
| 90 | + * @param rs | |
| 91 | + * @param stmt | |
| 92 | + * @param conn | |
| 93 | + */ | |
| 94 | + public static void close(ResultSet rs, Statement stmt, Connection conn) { | |
| 95 | + if (rs != null) { | |
| 96 | + try { | |
| 97 | + rs.close(); | |
| 98 | + } catch (SQLException e) { | |
| 99 | + logger.error(e.toString()); | |
| 100 | + e.printStackTrace(); | |
| 101 | + } | |
| 102 | + } | |
| 103 | + | |
| 104 | + if (stmt != null) { | |
| 105 | + try { | |
| 106 | + stmt.close(); | |
| 107 | + } catch (SQLException e) { | |
| 108 | + logger.error(e.toString()); | |
| 109 | + e.printStackTrace(); | |
| 110 | + } | |
| 111 | + } | |
| 112 | + | |
| 113 | + if (conn != null) { | |
| 114 | + try { | |
| 115 | + conn.close(); | |
| 116 | + } catch (SQLException e) { | |
| 117 | + logger.error(e.toString()); | |
| 118 | + e.printStackTrace(); | |
| 119 | + } | |
| 120 | + } | |
| 121 | + } | |
| 122 | + | |
| 123 | + public static DataSource getDataSource(){ | |
| 124 | + return ds_pooled; | |
| 125 | + } | |
| 126 | +} | ... | ... |
src/main/java/com/bsth/websocket/handler/SendUtils.java
| ... | ... | @@ -176,7 +176,7 @@ public class SendUtils{ |
| 176 | 176 | public void deviceOffline(GpsEntity gps){ |
| 177 | 177 | Map<String, Object> map = new HashMap<>(); |
| 178 | 178 | map.put("fn", "deviceOffline"); |
| 179 | - map.put("gps", gps);; | |
| 179 | + map.put("gps", gps); | |
| 180 | 180 | ObjectMapper mapper = new ObjectMapper(); |
| 181 | 181 | |
| 182 | 182 | try { |
| ... | ... | @@ -199,4 +199,26 @@ public class SendUtils{ |
| 199 | 199 | logger.error("", e); |
| 200 | 200 | } |
| 201 | 201 | } |
| 202 | + | |
| 203 | + /** | |
| 204 | + * 通知客户端,开始进行误点调整 | |
| 205 | + * @param sch | |
| 206 | + */ | |
| 207 | + public void sendAutoWdtz(ScheduleRealInfo sch, ScheduleRealInfo cancel){ | |
| 208 | + Map<String, Object> map = new HashMap<>(); | |
| 209 | + map.put("fn", "auto_wdtz"); | |
| 210 | + map.put("id", sch.getId()); | |
| 211 | + if(cancel != null) | |
| 212 | + map.put("cancelId", cancel.getId()); | |
| 213 | + map.put("lineCode", sch.getXlBm()); | |
| 214 | + map.put("minute", sch.getLateMinute()); | |
| 215 | + ObjectMapper mapper = new ObjectMapper(); | |
| 216 | + | |
| 217 | + try { | |
| 218 | + socketHandler.sendMessageToLine(sch.getXlBm() ,mapper.writeValueAsString(map)); | |
| 219 | + | |
| 220 | + } catch (JsonProcessingException e) { | |
| 221 | + logger.error("", e); | |
| 222 | + } | |
| 223 | + } | |
| 202 | 224 | } | ... | ... |
src/main/resources/datatools/ktrs/carsDataInput.ktr
| 1 | -<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | -<transformation> | |
| 3 | - <info> | |
| 4 | - <name>车辆信息导入</name> | |
| 5 | - <description>车辆信息导入</description> | |
| 6 | - <extended_description>车辆基础信息</extended_description> | |
| 7 | - <trans_version/> | |
| 8 | - <trans_type>Normal</trans_type> | |
| 9 | - <trans_status>0</trans_status> | |
| 10 | - <directory>/</directory> | |
| 11 | - <parameters> | |
| 12 | - <parameter> | |
| 13 | - <name>erroroutputdir</name> | |
| 14 | - <default_value/> | |
| 15 | - <description>ktr step配置的错误输出目录</description> | |
| 16 | - </parameter> | |
| 17 | - <parameter> | |
| 18 | - <name>filepath</name> | |
| 19 | - <default_value/> | |
| 20 | - <description>待处理导入的excel文件</description> | |
| 21 | - </parameter> | |
| 22 | - </parameters> | |
| 23 | - <log> | |
| 24 | -<trans-log-table><connection/> | |
| 25 | -<schema/> | |
| 26 | -<table/> | |
| 27 | -<size_limit_lines/> | |
| 28 | -<interval/> | |
| 29 | -<timeout_days/> | |
| 30 | -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STATUS</id><enabled>Y</enabled><name>STATUS</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name><subject/></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name><subject/></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name><subject/></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name><subject/></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name><subject/></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name><subject/></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>STARTDATE</id><enabled>Y</enabled><name>STARTDATE</name></field><field><id>ENDDATE</id><enabled>Y</enabled><name>ENDDATE</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>DEPDATE</id><enabled>Y</enabled><name>DEPDATE</name></field><field><id>REPLAYDATE</id><enabled>Y</enabled><name>REPLAYDATE</name></field><field><id>LOG_FIELD</id><enabled>Y</enabled><name>LOG_FIELD</name></field><field><id>EXECUTING_SERVER</id><enabled>N</enabled><name>EXECUTING_SERVER</name></field><field><id>EXECUTING_USER</id><enabled>N</enabled><name>EXECUTING_USER</name></field><field><id>CLIENT</id><enabled>N</enabled><name>CLIENT</name></field></trans-log-table> | |
| 31 | -<perf-log-table><connection/> | |
| 32 | -<schema/> | |
| 33 | -<table/> | |
| 34 | -<interval/> | |
| 35 | -<timeout_days/> | |
| 36 | -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>SEQ_NR</id><enabled>Y</enabled><name>SEQ_NR</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>INPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>INPUT_BUFFER_ROWS</name></field><field><id>OUTPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>OUTPUT_BUFFER_ROWS</name></field></perf-log-table> | |
| 37 | -<channel-log-table><connection/> | |
| 38 | -<schema/> | |
| 39 | -<table/> | |
| 40 | -<timeout_days/> | |
| 41 | -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>LOGGING_OBJECT_TYPE</id><enabled>Y</enabled><name>LOGGING_OBJECT_TYPE</name></field><field><id>OBJECT_NAME</id><enabled>Y</enabled><name>OBJECT_NAME</name></field><field><id>OBJECT_COPY</id><enabled>Y</enabled><name>OBJECT_COPY</name></field><field><id>REPOSITORY_DIRECTORY</id><enabled>Y</enabled><name>REPOSITORY_DIRECTORY</name></field><field><id>FILENAME</id><enabled>Y</enabled><name>FILENAME</name></field><field><id>OBJECT_ID</id><enabled>Y</enabled><name>OBJECT_ID</name></field><field><id>OBJECT_REVISION</id><enabled>Y</enabled><name>OBJECT_REVISION</name></field><field><id>PARENT_CHANNEL_ID</id><enabled>Y</enabled><name>PARENT_CHANNEL_ID</name></field><field><id>ROOT_CHANNEL_ID</id><enabled>Y</enabled><name>ROOT_CHANNEL_ID</name></field></channel-log-table> | |
| 42 | -<step-log-table><connection/> | |
| 43 | -<schema/> | |
| 44 | -<table/> | |
| 45 | -<timeout_days/> | |
| 46 | -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>LOG_FIELD</id><enabled>N</enabled><name>LOG_FIELD</name></field></step-log-table> | |
| 47 | -<metrics-log-table><connection/> | |
| 48 | -<schema/> | |
| 49 | -<table/> | |
| 50 | -<timeout_days/> | |
| 51 | -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>METRICS_DATE</id><enabled>Y</enabled><name>METRICS_DATE</name></field><field><id>METRICS_CODE</id><enabled>Y</enabled><name>METRICS_CODE</name></field><field><id>METRICS_DESCRIPTION</id><enabled>Y</enabled><name>METRICS_DESCRIPTION</name></field><field><id>METRICS_SUBJECT</id><enabled>Y</enabled><name>METRICS_SUBJECT</name></field><field><id>METRICS_TYPE</id><enabled>Y</enabled><name>METRICS_TYPE</name></field><field><id>METRICS_VALUE</id><enabled>Y</enabled><name>METRICS_VALUE</name></field></metrics-log-table> | |
| 52 | - </log> | |
| 53 | - <maxdate> | |
| 54 | - <connection/> | |
| 55 | - <table/> | |
| 56 | - <field/> | |
| 57 | - <offset>0.0</offset> | |
| 58 | - <maxdiff>0.0</maxdiff> | |
| 59 | - </maxdate> | |
| 60 | - <size_rowset>10000</size_rowset> | |
| 61 | - <sleep_time_empty>50</sleep_time_empty> | |
| 62 | - <sleep_time_full>50</sleep_time_full> | |
| 63 | - <unique_connections>N</unique_connections> | |
| 64 | - <feedback_shown>Y</feedback_shown> | |
| 65 | - <feedback_size>50000</feedback_size> | |
| 66 | - <using_thread_priorities>Y</using_thread_priorities> | |
| 67 | - <shared_objects_file/> | |
| 68 | - <capture_step_performance>N</capture_step_performance> | |
| 69 | - <step_performance_capturing_delay>1000</step_performance_capturing_delay> | |
| 70 | - <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit> | |
| 71 | - <dependencies> | |
| 72 | - </dependencies> | |
| 73 | - <partitionschemas> | |
| 74 | - </partitionschemas> | |
| 75 | - <slaveservers> | |
| 76 | - </slaveservers> | |
| 77 | - <clusterschemas> | |
| 78 | - </clusterschemas> | |
| 79 | - <created_user>-</created_user> | |
| 80 | - <created_date>2016/06/23 17:44:46.781</created_date> | |
| 81 | - <modified_user>-</modified_user> | |
| 82 | - <modified_date>2016/06/23 17:44:46.781</modified_date> | |
| 83 | - <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key> | |
| 84 | - <is_key_private>N</is_key_private> | |
| 85 | - </info> | |
| 86 | - <notepads> | |
| 87 | - </notepads> | |
| 88 | - <connection> | |
| 89 | - <name>192.168.168.1_jwgl_dw</name> | |
| 90 | - <server>192.168.168.1</server> | |
| 91 | - <type>ORACLE</type> | |
| 92 | - <access>Native</access> | |
| 93 | - <database>orcl</database> | |
| 94 | - <port>1521</port> | |
| 95 | - <username>jwgl_dw</username> | |
| 96 | - <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password> | |
| 97 | - <servername/> | |
| 98 | - <data_tablespace/> | |
| 99 | - <index_tablespace/> | |
| 100 | - <attributes> | |
| 101 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 102 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 103 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 104 | - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | |
| 105 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 106 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 107 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 108 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 109 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 110 | - </attributes> | |
| 111 | - </connection> | |
| 112 | - <connection> | |
| 113 | - <name>bus_control_variable</name> | |
| 114 | - <server>${v_db_ip}</server> | |
| 115 | - <type>MYSQL</type> | |
| 116 | - <access>Native</access> | |
| 117 | - <database>${v_db_dname}</database> | |
| 118 | - <port>3306</port> | |
| 119 | - <username>${v_db_uname}</username> | |
| 120 | - <password>${v_db_pwd}</password> | |
| 121 | - <servername/> | |
| 122 | - <data_tablespace/> | |
| 123 | - <index_tablespace/> | |
| 124 | - <attributes> | |
| 125 | - <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute> | |
| 126 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 127 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 128 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 129 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 130 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 131 | - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 132 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 133 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 134 | - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | |
| 135 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 136 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 137 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 138 | - </attributes> | |
| 139 | - </connection> | |
| 140 | - <connection> | |
| 141 | - <name>bus_control_公司_201</name> | |
| 142 | - <server>localhost</server> | |
| 143 | - <type>MYSQL</type> | |
| 144 | - <access>Native</access> | |
| 145 | - <database>control</database> | |
| 146 | - <port>3306</port> | |
| 147 | - <username>root</username> | |
| 148 | - <password>Encrypted </password> | |
| 149 | - <servername/> | |
| 150 | - <data_tablespace/> | |
| 151 | - <index_tablespace/> | |
| 152 | - <attributes> | |
| 153 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 154 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 155 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 156 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 157 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 158 | - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 159 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 160 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 161 | - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | |
| 162 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 163 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 164 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 165 | - </attributes> | |
| 166 | - </connection> | |
| 167 | - <connection> | |
| 168 | - <name>bus_control_本机</name> | |
| 169 | - <server>localhost</server> | |
| 170 | - <type>MYSQL</type> | |
| 171 | - <access>Native</access> | |
| 172 | - <database>control</database> | |
| 173 | - <port>3306</port> | |
| 174 | - <username>root</username> | |
| 175 | - <password>Encrypted </password> | |
| 176 | - <servername/> | |
| 177 | - <data_tablespace/> | |
| 178 | - <index_tablespace/> | |
| 179 | - <attributes> | |
| 180 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 181 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 182 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 183 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 184 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 185 | - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 186 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 187 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 188 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 189 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 190 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 191 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 192 | - </attributes> | |
| 193 | - </connection> | |
| 194 | - <connection> | |
| 195 | - <name>xlab_mysql_youle</name> | |
| 196 | - <server>101.231.124.8</server> | |
| 197 | - <type>MYSQL</type> | |
| 198 | - <access>Native</access> | |
| 199 | - <database>xlab_youle</database> | |
| 200 | - <port>45687</port> | |
| 201 | - <username>xlab-youle</username> | |
| 202 | - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password> | |
| 203 | - <servername/> | |
| 204 | - <data_tablespace/> | |
| 205 | - <index_tablespace/> | |
| 206 | - <attributes> | |
| 207 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 208 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 209 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 210 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 211 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 212 | - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute> | |
| 213 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 214 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 215 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 216 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 217 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 218 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 219 | - </attributes> | |
| 220 | - </connection> | |
| 221 | - <connection> | |
| 222 | - <name>xlab_mysql_youle(本机)</name> | |
| 223 | - <server>localhost</server> | |
| 224 | - <type>MYSQL</type> | |
| 225 | - <access>Native</access> | |
| 226 | - <database>xlab_youle</database> | |
| 227 | - <port>3306</port> | |
| 228 | - <username>root</username> | |
| 229 | - <password>Encrypted </password> | |
| 230 | - <servername/> | |
| 231 | - <data_tablespace/> | |
| 232 | - <index_tablespace/> | |
| 233 | - <attributes> | |
| 234 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 235 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 236 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 237 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 238 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 239 | - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 240 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 241 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 242 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 243 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 244 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 245 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 246 | - </attributes> | |
| 247 | - </connection> | |
| 248 | - <connection> | |
| 249 | - <name>xlab_youle</name> | |
| 250 | - <server/> | |
| 251 | - <type>MYSQL</type> | |
| 252 | - <access>JNDI</access> | |
| 253 | - <database>xlab_youle</database> | |
| 254 | - <port>1521</port> | |
| 255 | - <username/> | |
| 256 | - <password>Encrypted </password> | |
| 257 | - <servername/> | |
| 258 | - <data_tablespace/> | |
| 259 | - <index_tablespace/> | |
| 260 | - <attributes> | |
| 261 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 262 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 263 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 264 | - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | |
| 265 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 266 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 267 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 268 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 269 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 270 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 271 | - </attributes> | |
| 272 | - </connection> | |
| 273 | - <order> | |
| 274 | - <hop> <from>获取变量</from><to>原始系统导出的Excel输入</to><enabled>Y</enabled> </hop> | |
| 275 | - <hop> <from>插入/更新bsth_c_cars 2</from><to>错误输出 2</to><enabled>Y</enabled> </hop> | |
| 276 | - <hop> <from>原始系统导出的Excel输入</from><to>插入/更新bsth_c_cars 2</to><enabled>Y</enabled> </hop> | |
| 277 | - </order> | |
| 278 | - <step> | |
| 279 | - <name>原始系统导出的Excel输入</name> | |
| 280 | - <type>ExcelInput</type> | |
| 281 | - <description/> | |
| 282 | - <distribute>Y</distribute> | |
| 283 | - <custom_distribution/> | |
| 284 | - <copies>1</copies> | |
| 285 | - <partitioning> | |
| 286 | - <method>none</method> | |
| 287 | - <schema_name/> | |
| 288 | - </partitioning> | |
| 289 | - <header>Y</header> | |
| 290 | - <noempty>Y</noempty> | |
| 291 | - <stoponempty>N</stoponempty> | |
| 292 | - <filefield/> | |
| 293 | - <sheetfield/> | |
| 294 | - <sheetrownumfield/> | |
| 295 | - <rownumfield/> | |
| 296 | - <sheetfield/> | |
| 297 | - <filefield/> | |
| 298 | - <limit>0</limit> | |
| 299 | - <encoding/> | |
| 300 | - <add_to_result_filenames>Y</add_to_result_filenames> | |
| 301 | - <accept_filenames>Y</accept_filenames> | |
| 302 | - <accept_field>filepath_</accept_field> | |
| 303 | - <accept_stepname>获取变量</accept_stepname> | |
| 304 | - <file> | |
| 305 | - <name/> | |
| 306 | - <filemask/> | |
| 307 | - <exclude_filemask/> | |
| 308 | - <file_required>N</file_required> | |
| 309 | - <include_subfolders>N</include_subfolders> | |
| 310 | - </file> | |
| 311 | - <fields> | |
| 312 | - <field> | |
| 313 | - <name>车牌号</name> | |
| 314 | - <type>String</type> | |
| 315 | - <length>-1</length> | |
| 316 | - <precision>-1</precision> | |
| 317 | - <trim_type>none</trim_type> | |
| 318 | - <repeat>N</repeat> | |
| 319 | - <format/> | |
| 320 | - <currency/> | |
| 321 | - <decimal/> | |
| 322 | - <group/> | |
| 323 | - </field> | |
| 324 | - <field> | |
| 325 | - <name>车辆编码</name> | |
| 326 | - <type>String</type> | |
| 327 | - <length>-1</length> | |
| 328 | - <precision>-1</precision> | |
| 329 | - <trim_type>none</trim_type> | |
| 330 | - <repeat>N</repeat> | |
| 331 | - <format/> | |
| 332 | - <currency/> | |
| 333 | - <decimal/> | |
| 334 | - <group/> | |
| 335 | - </field> | |
| 336 | - <field> | |
| 337 | - <name>内部编码</name> | |
| 338 | - <type>String</type> | |
| 339 | - <length>-1</length> | |
| 340 | - <precision>-1</precision> | |
| 341 | - <trim_type>none</trim_type> | |
| 342 | - <repeat>N</repeat> | |
| 343 | - <format/> | |
| 344 | - <currency/> | |
| 345 | - <decimal/> | |
| 346 | - <group/> | |
| 347 | - </field> | |
| 348 | - <field> | |
| 349 | - <name>所属公司</name> | |
| 350 | - <type>String</type> | |
| 351 | - <length>-1</length> | |
| 352 | - <precision>-1</precision> | |
| 353 | - <trim_type>none</trim_type> | |
| 354 | - <repeat>N</repeat> | |
| 355 | - <format/> | |
| 356 | - <currency/> | |
| 357 | - <decimal/> | |
| 358 | - <group/> | |
| 359 | - </field> | |
| 360 | - <field> | |
| 361 | - <name>所属公司代码</name> | |
| 362 | - <type>String</type> | |
| 363 | - <length>-1</length> | |
| 364 | - <precision>-1</precision> | |
| 365 | - <trim_type>none</trim_type> | |
| 366 | - <repeat>N</repeat> | |
| 367 | - <format/> | |
| 368 | - <currency/> | |
| 369 | - <decimal/> | |
| 370 | - <group/> | |
| 371 | - </field> | |
| 372 | - <field> | |
| 373 | - <name>所属分公司</name> | |
| 374 | - <type>String</type> | |
| 375 | - <length>-1</length> | |
| 376 | - <precision>-1</precision> | |
| 377 | - <trim_type>none</trim_type> | |
| 378 | - <repeat>N</repeat> | |
| 379 | - <format/> | |
| 380 | - <currency/> | |
| 381 | - <decimal/> | |
| 382 | - <group/> | |
| 383 | - </field> | |
| 384 | - <field> | |
| 385 | - <name>所属分公司代码</name> | |
| 386 | - <type>String</type> | |
| 387 | - <length>-1</length> | |
| 388 | - <precision>-1</precision> | |
| 389 | - <trim_type>none</trim_type> | |
| 390 | - <repeat>N</repeat> | |
| 391 | - <format/> | |
| 392 | - <currency/> | |
| 393 | - <decimal/> | |
| 394 | - <group/> | |
| 395 | - </field> | |
| 396 | - <field> | |
| 397 | - <name>设备供应厂商</name> | |
| 398 | - <type>String</type> | |
| 399 | - <length>-1</length> | |
| 400 | - <precision>-1</precision> | |
| 401 | - <trim_type>none</trim_type> | |
| 402 | - <repeat>N</repeat> | |
| 403 | - <format/> | |
| 404 | - <currency/> | |
| 405 | - <decimal/> | |
| 406 | - <group/> | |
| 407 | - </field> | |
| 408 | - <field> | |
| 409 | - <name>设备终端号</name> | |
| 410 | - <type>String</type> | |
| 411 | - <length>-1</length> | |
| 412 | - <precision>-1</precision> | |
| 413 | - <trim_type>none</trim_type> | |
| 414 | - <repeat>N</repeat> | |
| 415 | - <format/> | |
| 416 | - <currency/> | |
| 417 | - <decimal/> | |
| 418 | - <group/> | |
| 419 | - </field> | |
| 420 | - </fields> | |
| 421 | - <sheets> | |
| 422 | - <sheet> | |
| 423 | - <name>工作表1</name> | |
| 424 | - <startrow>0</startrow> | |
| 425 | - <startcol>0</startcol> | |
| 426 | - </sheet> | |
| 427 | - </sheets> | |
| 428 | - <strict_types>N</strict_types> | |
| 429 | - <error_ignored>N</error_ignored> | |
| 430 | - <error_line_skipped>N</error_line_skipped> | |
| 431 | - <bad_line_files_destination_directory/> | |
| 432 | - <bad_line_files_extension>warning</bad_line_files_extension> | |
| 433 | - <error_line_files_destination_directory/> | |
| 434 | - <error_line_files_extension>error</error_line_files_extension> | |
| 435 | - <line_number_files_destination_directory/> | |
| 436 | - <line_number_files_extension>line</line_number_files_extension> | |
| 437 | - <shortFileFieldName/> | |
| 438 | - <pathFieldName/> | |
| 439 | - <hiddenFieldName/> | |
| 440 | - <lastModificationTimeFieldName/> | |
| 441 | - <uriNameFieldName/> | |
| 442 | - <rootUriNameFieldName/> | |
| 443 | - <extensionFieldName/> | |
| 444 | - <sizeFieldName/> | |
| 445 | - <spreadsheet_type>JXL</spreadsheet_type> | |
| 446 | - <cluster_schema/> | |
| 447 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 448 | - <xloc>131</xloc> | |
| 449 | - <yloc>58</yloc> | |
| 450 | - <draw>Y</draw> | |
| 451 | - </GUI> | |
| 452 | - </step> | |
| 453 | - | |
| 454 | - <step> | |
| 455 | - <name>插入/更新bsth_c_cars 2</name> | |
| 456 | - <type>InsertUpdate</type> | |
| 457 | - <description/> | |
| 458 | - <distribute>Y</distribute> | |
| 459 | - <custom_distribution/> | |
| 460 | - <copies>1</copies> | |
| 461 | - <partitioning> | |
| 462 | - <method>none</method> | |
| 463 | - <schema_name/> | |
| 464 | - </partitioning> | |
| 465 | - <connection>bus_control_variable</connection> | |
| 466 | - <commit>1000</commit> | |
| 467 | - <update_bypassed>N</update_bypassed> | |
| 468 | - <lookup> | |
| 469 | - <schema/> | |
| 470 | - <table>bsth_c_cars</table> | |
| 471 | - <key> | |
| 472 | - <name>内部编码</name> | |
| 473 | - <field>inside_code</field> | |
| 474 | - <condition>=</condition> | |
| 475 | - <name2/> | |
| 476 | - </key> | |
| 477 | - <value> | |
| 478 | - <name>car_gride</name> | |
| 479 | - <rename>车牌号</rename> | |
| 480 | - <update>Y</update> | |
| 481 | - </value> | |
| 482 | - <value> | |
| 483 | - <name>car_code</name> | |
| 484 | - <rename>车辆编码</rename> | |
| 485 | - <update>Y</update> | |
| 486 | - </value> | |
| 487 | - <value> | |
| 488 | - <name>inside_code</name> | |
| 489 | - <rename>内部编码</rename> | |
| 490 | - <update>Y</update> | |
| 491 | - </value> | |
| 492 | - <value> | |
| 493 | - <name>company</name> | |
| 494 | - <rename>所属公司</rename> | |
| 495 | - <update>Y</update> | |
| 496 | - </value> | |
| 497 | - <value> | |
| 498 | - <name>business_code</name> | |
| 499 | - <rename>所属公司代码</rename> | |
| 500 | - <update>Y</update> | |
| 501 | - </value> | |
| 502 | - <value> | |
| 503 | - <name>branche_company</name> | |
| 504 | - <rename>所属分公司</rename> | |
| 505 | - <update>Y</update> | |
| 506 | - </value> | |
| 507 | - <value> | |
| 508 | - <name>branche_company_code</name> | |
| 509 | - <rename>所属分公司代码</rename> | |
| 510 | - <update>Y</update> | |
| 511 | - </value> | |
| 512 | - <value> | |
| 513 | - <name>supplier_name</name> | |
| 514 | - <rename>设备供应厂商</rename> | |
| 515 | - <update>Y</update> | |
| 516 | - </value> | |
| 517 | - <value> | |
| 518 | - <name>equipment_code</name> | |
| 519 | - <rename>设备终端号</rename> | |
| 520 | - <update>Y</update> | |
| 521 | - </value> | |
| 522 | - </lookup> | |
| 523 | - <cluster_schema/> | |
| 524 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 525 | - <xloc>516</xloc> | |
| 526 | - <yloc>138</yloc> | |
| 527 | - <draw>Y</draw> | |
| 528 | - </GUI> | |
| 529 | - </step> | |
| 530 | - | |
| 531 | - <step> | |
| 532 | - <name>获取变量</name> | |
| 533 | - <type>GetVariable</type> | |
| 534 | - <description/> | |
| 535 | - <distribute>Y</distribute> | |
| 536 | - <custom_distribution/> | |
| 537 | - <copies>1</copies> | |
| 538 | - <partitioning> | |
| 539 | - <method>none</method> | |
| 540 | - <schema_name/> | |
| 541 | - </partitioning> | |
| 542 | - <fields> | |
| 543 | - <field> | |
| 544 | - <name>filepath_</name> | |
| 545 | - <variable>${filepath}</variable> | |
| 546 | - <type>String</type> | |
| 547 | - <format/> | |
| 548 | - <currency/> | |
| 549 | - <decimal/> | |
| 550 | - <group/> | |
| 551 | - <length>-1</length> | |
| 552 | - <precision>-1</precision> | |
| 553 | - <trim_type>none</trim_type> | |
| 554 | - </field> | |
| 555 | - <field> | |
| 556 | - <name>erroroutputdir_</name> | |
| 557 | - <variable>${erroroutputdir}</variable> | |
| 558 | - <type>String</type> | |
| 559 | - <format/> | |
| 560 | - <currency/> | |
| 561 | - <decimal/> | |
| 562 | - <group/> | |
| 563 | - <length>-1</length> | |
| 564 | - <precision>-1</precision> | |
| 565 | - <trim_type>none</trim_type> | |
| 566 | - </field> | |
| 567 | - </fields> | |
| 568 | - <cluster_schema/> | |
| 569 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 570 | - <xloc>134</xloc> | |
| 571 | - <yloc>183</yloc> | |
| 572 | - <draw>Y</draw> | |
| 573 | - </GUI> | |
| 574 | - </step> | |
| 575 | - | |
| 576 | - <step> | |
| 577 | - <name>错误输出 2</name> | |
| 578 | - <type>ExcelOutput</type> | |
| 579 | - <description/> | |
| 580 | - <distribute>Y</distribute> | |
| 581 | - <custom_distribution/> | |
| 582 | - <copies>1</copies> | |
| 583 | - <partitioning> | |
| 584 | - <method>none</method> | |
| 585 | - <schema_name/> | |
| 586 | - </partitioning> | |
| 587 | - <header>Y</header> | |
| 588 | - <footer>N</footer> | |
| 589 | - <encoding/> | |
| 590 | - <append>N</append> | |
| 591 | - <add_to_result_filenames>Y</add_to_result_filenames> | |
| 592 | - <file> | |
| 593 | - <name>${erroroutputdir}/车辆基础信息_错误</name> | |
| 594 | - <extention>xls</extention> | |
| 595 | - <do_not_open_newfile_init>N</do_not_open_newfile_init> | |
| 596 | - <create_parent_folder>N</create_parent_folder> | |
| 597 | - <split>N</split> | |
| 598 | - <add_date>N</add_date> | |
| 599 | - <add_time>N</add_time> | |
| 600 | - <SpecifyFormat>N</SpecifyFormat> | |
| 601 | - <date_time_format/> | |
| 602 | - <sheetname>Sheet1</sheetname> | |
| 603 | - <autosizecolums>N</autosizecolums> | |
| 604 | - <nullisblank>N</nullisblank> | |
| 605 | - <protect_sheet>N</protect_sheet> | |
| 606 | - <password>Encrypted </password> | |
| 607 | - <splitevery>0</splitevery> | |
| 608 | - <usetempfiles>N</usetempfiles> | |
| 609 | - <tempdirectory/> | |
| 610 | - </file> | |
| 611 | - <template> | |
| 612 | - <enabled>N</enabled> | |
| 613 | - <append>N</append> | |
| 614 | - <filename>template.xls</filename> | |
| 615 | - </template> | |
| 616 | - <fields> | |
| 617 | - <field> | |
| 618 | - <name>车牌号</name> | |
| 619 | - <type>String</type> | |
| 620 | - <format/> | |
| 621 | - </field> | |
| 622 | - <field> | |
| 623 | - <name>内部编码</name> | |
| 624 | - <type>String</type> | |
| 625 | - <format/> | |
| 626 | - </field> | |
| 627 | - <field> | |
| 628 | - <name>所属公司</name> | |
| 629 | - <type>String</type> | |
| 630 | - <format/> | |
| 631 | - </field> | |
| 632 | - <field> | |
| 633 | - <name>所属公司代码</name> | |
| 634 | - <type>String</type> | |
| 635 | - <format/> | |
| 636 | - </field> | |
| 637 | - <field> | |
| 638 | - <name>所属分公司</name> | |
| 639 | - <type>String</type> | |
| 640 | - <format/> | |
| 641 | - </field> | |
| 642 | - <field> | |
| 643 | - <name>所属分公司代码</name> | |
| 644 | - <type>String</type> | |
| 645 | - <format/> | |
| 646 | - </field> | |
| 647 | - <field> | |
| 648 | - <name>供应商名称</name> | |
| 649 | - <type>String</type> | |
| 650 | - <format/> | |
| 651 | - </field> | |
| 652 | - <field> | |
| 653 | - <name>设备终端号</name> | |
| 654 | - <type>String</type> | |
| 655 | - <format/> | |
| 656 | - </field> | |
| 657 | - <field> | |
| 658 | - <name>error_count</name> | |
| 659 | - <type>Integer</type> | |
| 660 | - <format/> | |
| 661 | - </field> | |
| 662 | - <field> | |
| 663 | - <name>error_desc</name> | |
| 664 | - <type>String</type> | |
| 665 | - <format/> | |
| 666 | - </field> | |
| 667 | - <field> | |
| 668 | - <name>error_column1</name> | |
| 669 | - <type>String</type> | |
| 670 | - <format/> | |
| 671 | - </field> | |
| 672 | - <field> | |
| 673 | - <name>error_column2</name> | |
| 674 | - <type>String</type> | |
| 675 | - <format/> | |
| 676 | - </field> | |
| 677 | - </fields> | |
| 678 | - <custom> | |
| 679 | - <header_font_name>arial</header_font_name> | |
| 680 | - <header_font_size>10</header_font_size> | |
| 681 | - <header_font_bold>N</header_font_bold> | |
| 682 | - <header_font_italic>N</header_font_italic> | |
| 683 | - <header_font_underline>no</header_font_underline> | |
| 684 | - <header_font_orientation>horizontal</header_font_orientation> | |
| 685 | - <header_font_color>black</header_font_color> | |
| 686 | - <header_background_color>none</header_background_color> | |
| 687 | - <header_row_height>255</header_row_height> | |
| 688 | - <header_alignment>left</header_alignment> | |
| 689 | - <header_image/> | |
| 690 | - <row_font_name>arial</row_font_name> | |
| 691 | - <row_font_size>10</row_font_size> | |
| 692 | - <row_font_color>black</row_font_color> | |
| 693 | - <row_background_color>none</row_background_color> | |
| 694 | - </custom> | |
| 695 | - <cluster_schema/> | |
| 696 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 697 | - <xloc>328</xloc> | |
| 698 | - <yloc>140</yloc> | |
| 699 | - <draw>Y</draw> | |
| 700 | - </GUI> | |
| 701 | - </step> | |
| 702 | - | |
| 703 | - <step_error_handling> | |
| 704 | - <error> | |
| 705 | - <source_step>插入/更新bsth_c_cars 2</source_step> | |
| 706 | - <target_step>错误输出 2</target_step> | |
| 707 | - <is_enabled>Y</is_enabled> | |
| 708 | - <nr_valuename>error_count</nr_valuename> | |
| 709 | - <descriptions_valuename>error_desc</descriptions_valuename> | |
| 710 | - <fields_valuename>error_column1</fields_valuename> | |
| 711 | - <codes_valuename>error_column2</codes_valuename> | |
| 712 | - <max_errors/> | |
| 713 | - <max_pct_errors/> | |
| 714 | - <min_pct_rows/> | |
| 715 | - </error> | |
| 716 | - </step_error_handling> | |
| 717 | - <slave-step-copy-partition-distribution> | |
| 718 | -</slave-step-copy-partition-distribution> | |
| 719 | - <slave_transformation>N</slave_transformation> | |
| 720 | - | |
| 721 | -</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/23 17:44:46.781</created_date> | |
| 81 | + <modified_user>-</modified_user> | |
| 82 | + <modified_date>2016/06/23 17:44:46.781</modified_date> | |
| 83 | + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key> | |
| 84 | + <is_key_private>N</is_key_private> | |
| 85 | + </info> | |
| 86 | + <notepads> | |
| 87 | + </notepads> | |
| 88 | + <connection> | |
| 89 | + <name>192.168.168.1_jwgl_dw</name> | |
| 90 | + <server>192.168.168.1</server> | |
| 91 | + <type>ORACLE</type> | |
| 92 | + <access>Native</access> | |
| 93 | + <database>orcl</database> | |
| 94 | + <port>1521</port> | |
| 95 | + <username>jwgl_dw</username> | |
| 96 | + <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password> | |
| 97 | + <servername/> | |
| 98 | + <data_tablespace/> | |
| 99 | + <index_tablespace/> | |
| 100 | + <attributes> | |
| 101 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 102 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 103 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 104 | + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | |
| 105 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 106 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 107 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 108 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 109 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 110 | + </attributes> | |
| 111 | + </connection> | |
| 112 | + <connection> | |
| 113 | + <name>bus_control_variable</name> | |
| 114 | + <server>${v_db_ip}</server> | |
| 115 | + <type>MYSQL</type> | |
| 116 | + <access>Native</access> | |
| 117 | + <database>${v_db_dname}</database> | |
| 118 | + <port>3306</port> | |
| 119 | + <username>${v_db_uname}</username> | |
| 120 | + <password>${v_db_pwd}</password> | |
| 121 | + <servername/> | |
| 122 | + <data_tablespace/> | |
| 123 | + <index_tablespace/> | |
| 124 | + <attributes> | |
| 125 | + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute> | |
| 126 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 127 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 128 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 129 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 130 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 131 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 132 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 133 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 134 | + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | |
| 135 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 136 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 137 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 138 | + </attributes> | |
| 139 | + </connection> | |
| 140 | + <connection> | |
| 141 | + <name>bus_control_公司_201</name> | |
| 142 | + <server>localhost</server> | |
| 143 | + <type>MYSQL</type> | |
| 144 | + <access>Native</access> | |
| 145 | + <database>control</database> | |
| 146 | + <port>3306</port> | |
| 147 | + <username>root</username> | |
| 148 | + <password>Encrypted </password> | |
| 149 | + <servername/> | |
| 150 | + <data_tablespace/> | |
| 151 | + <index_tablespace/> | |
| 152 | + <attributes> | |
| 153 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 154 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 155 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 156 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 157 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 158 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 159 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 160 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 161 | + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | |
| 162 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 163 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 164 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 165 | + </attributes> | |
| 166 | + </connection> | |
| 167 | + <connection> | |
| 168 | + <name>bus_control_本机</name> | |
| 169 | + <server>localhost</server> | |
| 170 | + <type>MYSQL</type> | |
| 171 | + <access>Native</access> | |
| 172 | + <database>control</database> | |
| 173 | + <port>3306</port> | |
| 174 | + <username>root</username> | |
| 175 | + <password>Encrypted </password> | |
| 176 | + <servername/> | |
| 177 | + <data_tablespace/> | |
| 178 | + <index_tablespace/> | |
| 179 | + <attributes> | |
| 180 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 181 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 182 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 183 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 184 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 185 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 186 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 187 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 188 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 189 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 190 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 191 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 192 | + </attributes> | |
| 193 | + </connection> | |
| 194 | + <connection> | |
| 195 | + <name>xlab_mysql_youle</name> | |
| 196 | + <server>101.231.124.8</server> | |
| 197 | + <type>MYSQL</type> | |
| 198 | + <access>Native</access> | |
| 199 | + <database>xlab_youle</database> | |
| 200 | + <port>45687</port> | |
| 201 | + <username>xlab-youle</username> | |
| 202 | + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password> | |
| 203 | + <servername/> | |
| 204 | + <data_tablespace/> | |
| 205 | + <index_tablespace/> | |
| 206 | + <attributes> | |
| 207 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 208 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 209 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 210 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 211 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 212 | + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute> | |
| 213 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 214 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 215 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 216 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 217 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 218 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 219 | + </attributes> | |
| 220 | + </connection> | |
| 221 | + <connection> | |
| 222 | + <name>xlab_mysql_youle(本机)</name> | |
| 223 | + <server>localhost</server> | |
| 224 | + <type>MYSQL</type> | |
| 225 | + <access>Native</access> | |
| 226 | + <database>xlab_youle</database> | |
| 227 | + <port>3306</port> | |
| 228 | + <username>root</username> | |
| 229 | + <password>Encrypted </password> | |
| 230 | + <servername/> | |
| 231 | + <data_tablespace/> | |
| 232 | + <index_tablespace/> | |
| 233 | + <attributes> | |
| 234 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 235 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 236 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 237 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 238 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 239 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 240 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 241 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 242 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 243 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 244 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 245 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 246 | + </attributes> | |
| 247 | + </connection> | |
| 248 | + <connection> | |
| 249 | + <name>xlab_youle</name> | |
| 250 | + <server/> | |
| 251 | + <type>MYSQL</type> | |
| 252 | + <access>JNDI</access> | |
| 253 | + <database>xlab_youle</database> | |
| 254 | + <port>1521</port> | |
| 255 | + <username/> | |
| 256 | + <password>Encrypted </password> | |
| 257 | + <servername/> | |
| 258 | + <data_tablespace/> | |
| 259 | + <index_tablespace/> | |
| 260 | + <attributes> | |
| 261 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 262 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 263 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 264 | + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | |
| 265 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 266 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 267 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 268 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 269 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 270 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 271 | + </attributes> | |
| 272 | + </connection> | |
| 273 | + <order> | |
| 274 | + <hop> <from>获取变量</from><to>原始系统导出的Excel输入</to><enabled>Y</enabled> </hop> | |
| 275 | + <hop> <from>插入/更新bsth_c_cars 2</from><to>错误输出 2</to><enabled>Y</enabled> </hop> | |
| 276 | + <hop> <from>原始系统导出的Excel输入</from><to>插入/更新bsth_c_cars 2</to><enabled>Y</enabled> </hop> | |
| 277 | + </order> | |
| 278 | + <step> | |
| 279 | + <name>原始系统导出的Excel输入</name> | |
| 280 | + <type>ExcelInput</type> | |
| 281 | + <description/> | |
| 282 | + <distribute>Y</distribute> | |
| 283 | + <custom_distribution/> | |
| 284 | + <copies>1</copies> | |
| 285 | + <partitioning> | |
| 286 | + <method>none</method> | |
| 287 | + <schema_name/> | |
| 288 | + </partitioning> | |
| 289 | + <header>Y</header> | |
| 290 | + <noempty>Y</noempty> | |
| 291 | + <stoponempty>N</stoponempty> | |
| 292 | + <filefield/> | |
| 293 | + <sheetfield/> | |
| 294 | + <sheetrownumfield/> | |
| 295 | + <rownumfield/> | |
| 296 | + <sheetfield/> | |
| 297 | + <filefield/> | |
| 298 | + <limit>0</limit> | |
| 299 | + <encoding/> | |
| 300 | + <add_to_result_filenames>Y</add_to_result_filenames> | |
| 301 | + <accept_filenames>Y</accept_filenames> | |
| 302 | + <accept_field>filepath_</accept_field> | |
| 303 | + <accept_stepname>获取变量</accept_stepname> | |
| 304 | + <file> | |
| 305 | + <name/> | |
| 306 | + <filemask/> | |
| 307 | + <exclude_filemask/> | |
| 308 | + <file_required>N</file_required> | |
| 309 | + <include_subfolders>N</include_subfolders> | |
| 310 | + </file> | |
| 311 | + <fields> | |
| 312 | + <field> | |
| 313 | + <name>车牌号</name> | |
| 314 | + <type>String</type> | |
| 315 | + <length>-1</length> | |
| 316 | + <precision>-1</precision> | |
| 317 | + <trim_type>none</trim_type> | |
| 318 | + <repeat>N</repeat> | |
| 319 | + <format/> | |
| 320 | + <currency/> | |
| 321 | + <decimal/> | |
| 322 | + <group/> | |
| 323 | + </field> | |
| 324 | + <field> | |
| 325 | + <name>车辆编码</name> | |
| 326 | + <type>String</type> | |
| 327 | + <length>-1</length> | |
| 328 | + <precision>-1</precision> | |
| 329 | + <trim_type>none</trim_type> | |
| 330 | + <repeat>N</repeat> | |
| 331 | + <format/> | |
| 332 | + <currency/> | |
| 333 | + <decimal/> | |
| 334 | + <group/> | |
| 335 | + </field> | |
| 336 | + <field> | |
| 337 | + <name>内部编码</name> | |
| 338 | + <type>String</type> | |
| 339 | + <length>-1</length> | |
| 340 | + <precision>-1</precision> | |
| 341 | + <trim_type>none</trim_type> | |
| 342 | + <repeat>N</repeat> | |
| 343 | + <format/> | |
| 344 | + <currency/> | |
| 345 | + <decimal/> | |
| 346 | + <group/> | |
| 347 | + </field> | |
| 348 | + <field> | |
| 349 | + <name>所属公司</name> | |
| 350 | + <type>String</type> | |
| 351 | + <length>-1</length> | |
| 352 | + <precision>-1</precision> | |
| 353 | + <trim_type>none</trim_type> | |
| 354 | + <repeat>N</repeat> | |
| 355 | + <format/> | |
| 356 | + <currency/> | |
| 357 | + <decimal/> | |
| 358 | + <group/> | |
| 359 | + </field> | |
| 360 | + <field> | |
| 361 | + <name>所属公司代码</name> | |
| 362 | + <type>String</type> | |
| 363 | + <length>-1</length> | |
| 364 | + <precision>-1</precision> | |
| 365 | + <trim_type>none</trim_type> | |
| 366 | + <repeat>N</repeat> | |
| 367 | + <format/> | |
| 368 | + <currency/> | |
| 369 | + <decimal/> | |
| 370 | + <group/> | |
| 371 | + </field> | |
| 372 | + <field> | |
| 373 | + <name>所属分公司</name> | |
| 374 | + <type>String</type> | |
| 375 | + <length>-1</length> | |
| 376 | + <precision>-1</precision> | |
| 377 | + <trim_type>none</trim_type> | |
| 378 | + <repeat>N</repeat> | |
| 379 | + <format/> | |
| 380 | + <currency/> | |
| 381 | + <decimal/> | |
| 382 | + <group/> | |
| 383 | + </field> | |
| 384 | + <field> | |
| 385 | + <name>所属分公司代码</name> | |
| 386 | + <type>String</type> | |
| 387 | + <length>-1</length> | |
| 388 | + <precision>-1</precision> | |
| 389 | + <trim_type>none</trim_type> | |
| 390 | + <repeat>N</repeat> | |
| 391 | + <format/> | |
| 392 | + <currency/> | |
| 393 | + <decimal/> | |
| 394 | + <group/> | |
| 395 | + </field> | |
| 396 | + <field> | |
| 397 | + <name>设备供应厂商</name> | |
| 398 | + <type>String</type> | |
| 399 | + <length>-1</length> | |
| 400 | + <precision>-1</precision> | |
| 401 | + <trim_type>none</trim_type> | |
| 402 | + <repeat>N</repeat> | |
| 403 | + <format/> | |
| 404 | + <currency/> | |
| 405 | + <decimal/> | |
| 406 | + <group/> | |
| 407 | + </field> | |
| 408 | + <field> | |
| 409 | + <name>设备终端号</name> | |
| 410 | + <type>String</type> | |
| 411 | + <length>-1</length> | |
| 412 | + <precision>-1</precision> | |
| 413 | + <trim_type>none</trim_type> | |
| 414 | + <repeat>N</repeat> | |
| 415 | + <format/> | |
| 416 | + <currency/> | |
| 417 | + <decimal/> | |
| 418 | + <group/> | |
| 419 | + </field> | |
| 420 | + </fields> | |
| 421 | + <sheets> | |
| 422 | + <sheet> | |
| 423 | + <name>工作表1</name> | |
| 424 | + <startrow>0</startrow> | |
| 425 | + <startcol>0</startcol> | |
| 426 | + </sheet> | |
| 427 | + </sheets> | |
| 428 | + <strict_types>N</strict_types> | |
| 429 | + <error_ignored>N</error_ignored> | |
| 430 | + <error_line_skipped>N</error_line_skipped> | |
| 431 | + <bad_line_files_destination_directory/> | |
| 432 | + <bad_line_files_extension>warning</bad_line_files_extension> | |
| 433 | + <error_line_files_destination_directory/> | |
| 434 | + <error_line_files_extension>error</error_line_files_extension> | |
| 435 | + <line_number_files_destination_directory/> | |
| 436 | + <line_number_files_extension>line</line_number_files_extension> | |
| 437 | + <shortFileFieldName/> | |
| 438 | + <pathFieldName/> | |
| 439 | + <hiddenFieldName/> | |
| 440 | + <lastModificationTimeFieldName/> | |
| 441 | + <uriNameFieldName/> | |
| 442 | + <rootUriNameFieldName/> | |
| 443 | + <extensionFieldName/> | |
| 444 | + <sizeFieldName/> | |
| 445 | + <spreadsheet_type>JXL</spreadsheet_type> | |
| 446 | + <cluster_schema/> | |
| 447 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 448 | + <xloc>131</xloc> | |
| 449 | + <yloc>58</yloc> | |
| 450 | + <draw>Y</draw> | |
| 451 | + </GUI> | |
| 452 | + </step> | |
| 453 | + | |
| 454 | + <step> | |
| 455 | + <name>插入/更新bsth_c_cars 2</name> | |
| 456 | + <type>InsertUpdate</type> | |
| 457 | + <description/> | |
| 458 | + <distribute>Y</distribute> | |
| 459 | + <custom_distribution/> | |
| 460 | + <copies>1</copies> | |
| 461 | + <partitioning> | |
| 462 | + <method>none</method> | |
| 463 | + <schema_name/> | |
| 464 | + </partitioning> | |
| 465 | + <connection>bus_control_variable</connection> | |
| 466 | + <commit>1000</commit> | |
| 467 | + <update_bypassed>N</update_bypassed> | |
| 468 | + <lookup> | |
| 469 | + <schema/> | |
| 470 | + <table>bsth_c_cars</table> | |
| 471 | + <key> | |
| 472 | + <name>内部编码</name> | |
| 473 | + <field>inside_code</field> | |
| 474 | + <condition>=</condition> | |
| 475 | + <name2/> | |
| 476 | + </key> | |
| 477 | + <value> | |
| 478 | + <name>car_gride</name> | |
| 479 | + <rename>车牌号</rename> | |
| 480 | + <update>Y</update> | |
| 481 | + </value> | |
| 482 | + <value> | |
| 483 | + <name>car_code</name> | |
| 484 | + <rename>车辆编码</rename> | |
| 485 | + <update>Y</update> | |
| 486 | + </value> | |
| 487 | + <value> | |
| 488 | + <name>inside_code</name> | |
| 489 | + <rename>内部编码</rename> | |
| 490 | + <update>Y</update> | |
| 491 | + </value> | |
| 492 | + <value> | |
| 493 | + <name>company</name> | |
| 494 | + <rename>所属公司</rename> | |
| 495 | + <update>Y</update> | |
| 496 | + </value> | |
| 497 | + <value> | |
| 498 | + <name>business_code</name> | |
| 499 | + <rename>所属公司代码</rename> | |
| 500 | + <update>Y</update> | |
| 501 | + </value> | |
| 502 | + <value> | |
| 503 | + <name>branche_company</name> | |
| 504 | + <rename>所属分公司</rename> | |
| 505 | + <update>Y</update> | |
| 506 | + </value> | |
| 507 | + <value> | |
| 508 | + <name>branche_company_code</name> | |
| 509 | + <rename>所属分公司代码</rename> | |
| 510 | + <update>Y</update> | |
| 511 | + </value> | |
| 512 | + <value> | |
| 513 | + <name>supplier_name</name> | |
| 514 | + <rename>设备供应厂商</rename> | |
| 515 | + <update>Y</update> | |
| 516 | + </value> | |
| 517 | + <value> | |
| 518 | + <name>equipment_code</name> | |
| 519 | + <rename>设备终端号</rename> | |
| 520 | + <update>Y</update> | |
| 521 | + </value> | |
| 522 | + </lookup> | |
| 523 | + <cluster_schema/> | |
| 524 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 525 | + <xloc>516</xloc> | |
| 526 | + <yloc>138</yloc> | |
| 527 | + <draw>Y</draw> | |
| 528 | + </GUI> | |
| 529 | + </step> | |
| 530 | + | |
| 531 | + <step> | |
| 532 | + <name>获取变量</name> | |
| 533 | + <type>GetVariable</type> | |
| 534 | + <description/> | |
| 535 | + <distribute>Y</distribute> | |
| 536 | + <custom_distribution/> | |
| 537 | + <copies>1</copies> | |
| 538 | + <partitioning> | |
| 539 | + <method>none</method> | |
| 540 | + <schema_name/> | |
| 541 | + </partitioning> | |
| 542 | + <fields> | |
| 543 | + <field> | |
| 544 | + <name>filepath_</name> | |
| 545 | + <variable>${filepath}</variable> | |
| 546 | + <type>String</type> | |
| 547 | + <format/> | |
| 548 | + <currency/> | |
| 549 | + <decimal/> | |
| 550 | + <group/> | |
| 551 | + <length>-1</length> | |
| 552 | + <precision>-1</precision> | |
| 553 | + <trim_type>none</trim_type> | |
| 554 | + </field> | |
| 555 | + <field> | |
| 556 | + <name>erroroutputdir_</name> | |
| 557 | + <variable>${erroroutputdir}</variable> | |
| 558 | + <type>String</type> | |
| 559 | + <format/> | |
| 560 | + <currency/> | |
| 561 | + <decimal/> | |
| 562 | + <group/> | |
| 563 | + <length>-1</length> | |
| 564 | + <precision>-1</precision> | |
| 565 | + <trim_type>none</trim_type> | |
| 566 | + </field> | |
| 567 | + </fields> | |
| 568 | + <cluster_schema/> | |
| 569 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 570 | + <xloc>134</xloc> | |
| 571 | + <yloc>183</yloc> | |
| 572 | + <draw>Y</draw> | |
| 573 | + </GUI> | |
| 574 | + </step> | |
| 575 | + | |
| 576 | + <step> | |
| 577 | + <name>错误输出 2</name> | |
| 578 | + <type>ExcelOutput</type> | |
| 579 | + <description/> | |
| 580 | + <distribute>Y</distribute> | |
| 581 | + <custom_distribution/> | |
| 582 | + <copies>1</copies> | |
| 583 | + <partitioning> | |
| 584 | + <method>none</method> | |
| 585 | + <schema_name/> | |
| 586 | + </partitioning> | |
| 587 | + <header>Y</header> | |
| 588 | + <footer>N</footer> | |
| 589 | + <encoding/> | |
| 590 | + <append>N</append> | |
| 591 | + <add_to_result_filenames>Y</add_to_result_filenames> | |
| 592 | + <file> | |
| 593 | + <name>${erroroutputdir}/车辆基础信息_错误</name> | |
| 594 | + <extention>xls</extention> | |
| 595 | + <do_not_open_newfile_init>N</do_not_open_newfile_init> | |
| 596 | + <create_parent_folder>N</create_parent_folder> | |
| 597 | + <split>N</split> | |
| 598 | + <add_date>N</add_date> | |
| 599 | + <add_time>N</add_time> | |
| 600 | + <SpecifyFormat>N</SpecifyFormat> | |
| 601 | + <date_time_format/> | |
| 602 | + <sheetname>Sheet1</sheetname> | |
| 603 | + <autosizecolums>N</autosizecolums> | |
| 604 | + <nullisblank>N</nullisblank> | |
| 605 | + <protect_sheet>N</protect_sheet> | |
| 606 | + <password>Encrypted </password> | |
| 607 | + <splitevery>0</splitevery> | |
| 608 | + <usetempfiles>N</usetempfiles> | |
| 609 | + <tempdirectory/> | |
| 610 | + </file> | |
| 611 | + <template> | |
| 612 | + <enabled>N</enabled> | |
| 613 | + <append>N</append> | |
| 614 | + <filename>template.xls</filename> | |
| 615 | + </template> | |
| 616 | + <fields> | |
| 617 | + <field> | |
| 618 | + <name>车牌号</name> | |
| 619 | + <type>String</type> | |
| 620 | + <format/> | |
| 621 | + </field> | |
| 622 | + <field> | |
| 623 | + <name>内部编码</name> | |
| 624 | + <type>String</type> | |
| 625 | + <format/> | |
| 626 | + </field> | |
| 627 | + <field> | |
| 628 | + <name>所属公司</name> | |
| 629 | + <type>String</type> | |
| 630 | + <format/> | |
| 631 | + </field> | |
| 632 | + <field> | |
| 633 | + <name>所属公司代码</name> | |
| 634 | + <type>String</type> | |
| 635 | + <format/> | |
| 636 | + </field> | |
| 637 | + <field> | |
| 638 | + <name>所属分公司</name> | |
| 639 | + <type>String</type> | |
| 640 | + <format/> | |
| 641 | + </field> | |
| 642 | + <field> | |
| 643 | + <name>所属分公司代码</name> | |
| 644 | + <type>String</type> | |
| 645 | + <format/> | |
| 646 | + </field> | |
| 647 | + <field> | |
| 648 | + <name>供应商名称</name> | |
| 649 | + <type>String</type> | |
| 650 | + <format/> | |
| 651 | + </field> | |
| 652 | + <field> | |
| 653 | + <name>设备终端号</name> | |
| 654 | + <type>String</type> | |
| 655 | + <format/> | |
| 656 | + </field> | |
| 657 | + <field> | |
| 658 | + <name>error_count</name> | |
| 659 | + <type>Integer</type> | |
| 660 | + <format/> | |
| 661 | + </field> | |
| 662 | + <field> | |
| 663 | + <name>error_desc</name> | |
| 664 | + <type>String</type> | |
| 665 | + <format/> | |
| 666 | + </field> | |
| 667 | + <field> | |
| 668 | + <name>error_column1</name> | |
| 669 | + <type>String</type> | |
| 670 | + <format/> | |
| 671 | + </field> | |
| 672 | + <field> | |
| 673 | + <name>error_column2</name> | |
| 674 | + <type>String</type> | |
| 675 | + <format/> | |
| 676 | + </field> | |
| 677 | + </fields> | |
| 678 | + <custom> | |
| 679 | + <header_font_name>arial</header_font_name> | |
| 680 | + <header_font_size>10</header_font_size> | |
| 681 | + <header_font_bold>N</header_font_bold> | |
| 682 | + <header_font_italic>N</header_font_italic> | |
| 683 | + <header_font_underline>no</header_font_underline> | |
| 684 | + <header_font_orientation>horizontal</header_font_orientation> | |
| 685 | + <header_font_color>black</header_font_color> | |
| 686 | + <header_background_color>none</header_background_color> | |
| 687 | + <header_row_height>255</header_row_height> | |
| 688 | + <header_alignment>left</header_alignment> | |
| 689 | + <header_image/> | |
| 690 | + <row_font_name>arial</row_font_name> | |
| 691 | + <row_font_size>10</row_font_size> | |
| 692 | + <row_font_color>black</row_font_color> | |
| 693 | + <row_background_color>none</row_background_color> | |
| 694 | + </custom> | |
| 695 | + <cluster_schema/> | |
| 696 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 697 | + <xloc>328</xloc> | |
| 698 | + <yloc>140</yloc> | |
| 699 | + <draw>Y</draw> | |
| 700 | + </GUI> | |
| 701 | + </step> | |
| 702 | + | |
| 703 | + <step_error_handling> | |
| 704 | + <error> | |
| 705 | + <source_step>插入/更新bsth_c_cars 2</source_step> | |
| 706 | + <target_step>错误输出 2</target_step> | |
| 707 | + <is_enabled>Y</is_enabled> | |
| 708 | + <nr_valuename>error_count</nr_valuename> | |
| 709 | + <descriptions_valuename>error_desc</descriptions_valuename> | |
| 710 | + <fields_valuename>error_column1</fields_valuename> | |
| 711 | + <codes_valuename>error_column2</codes_valuename> | |
| 712 | + <max_errors/> | |
| 713 | + <max_pct_errors/> | |
| 714 | + <min_pct_rows/> | |
| 715 | + </error> | |
| 716 | + </step_error_handling> | |
| 717 | + <slave-step-copy-partition-distribution> | |
| 718 | +</slave-step-copy-partition-distribution> | |
| 719 | + <slave_transformation>N</slave_transformation> | |
| 720 | + | |
| 721 | +</transformation> | ... | ... |
src/main/resources/datatools/ktrs/carsDataOutput.ktr
| 1 | -<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | -<transformation> | |
| 3 | - <info> | |
| 4 | - <name>车辆信息导出</name> | |
| 5 | - <description>车辆信息导出</description> | |
| 6 | - <extended_description>车辆基础信息</extended_description> | |
| 7 | - <trans_version/> | |
| 8 | - <trans_type>Normal</trans_type> | |
| 9 | - <trans_status>0</trans_status> | |
| 10 | - <directory>/</directory> | |
| 11 | - <parameters> | |
| 12 | - <parameter> | |
| 13 | - <name>filepath</name> | |
| 14 | - <default_value/> | |
| 15 | - <description>excel文件路径</description> | |
| 16 | - </parameter> | |
| 17 | - </parameters> | |
| 18 | - <log> | |
| 19 | -<trans-log-table><connection/> | |
| 20 | -<schema/> | |
| 21 | -<table/> | |
| 22 | -<size_limit_lines/> | |
| 23 | -<interval/> | |
| 24 | -<timeout_days/> | |
| 25 | -<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> | |
| 26 | -<perf-log-table><connection/> | |
| 27 | -<schema/> | |
| 28 | -<table/> | |
| 29 | -<interval/> | |
| 30 | -<timeout_days/> | |
| 31 | -<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> | |
| 32 | -<channel-log-table><connection/> | |
| 33 | -<schema/> | |
| 34 | -<table/> | |
| 35 | -<timeout_days/> | |
| 36 | -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>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> | |
| 37 | -<step-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>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> | |
| 42 | -<metrics-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>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> | |
| 47 | - </log> | |
| 48 | - <maxdate> | |
| 49 | - <connection/> | |
| 50 | - <table/> | |
| 51 | - <field/> | |
| 52 | - <offset>0.0</offset> | |
| 53 | - <maxdiff>0.0</maxdiff> | |
| 54 | - </maxdate> | |
| 55 | - <size_rowset>10000</size_rowset> | |
| 56 | - <sleep_time_empty>50</sleep_time_empty> | |
| 57 | - <sleep_time_full>50</sleep_time_full> | |
| 58 | - <unique_connections>N</unique_connections> | |
| 59 | - <feedback_shown>Y</feedback_shown> | |
| 60 | - <feedback_size>50000</feedback_size> | |
| 61 | - <using_thread_priorities>Y</using_thread_priorities> | |
| 62 | - <shared_objects_file/> | |
| 63 | - <capture_step_performance>N</capture_step_performance> | |
| 64 | - <step_performance_capturing_delay>1000</step_performance_capturing_delay> | |
| 65 | - <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit> | |
| 66 | - <dependencies> | |
| 67 | - </dependencies> | |
| 68 | - <partitionschemas> | |
| 69 | - </partitionschemas> | |
| 70 | - <slaveservers> | |
| 71 | - </slaveservers> | |
| 72 | - <clusterschemas> | |
| 73 | - </clusterschemas> | |
| 74 | - <created_user>-</created_user> | |
| 75 | - <created_date>2016/08/05 16:42:22.753</created_date> | |
| 76 | - <modified_user>-</modified_user> | |
| 77 | - <modified_date>2016/08/05 16:42:22.753</modified_date> | |
| 78 | - <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key> | |
| 79 | - <is_key_private>N</is_key_private> | |
| 80 | - </info> | |
| 81 | - <notepads> | |
| 82 | - </notepads> | |
| 83 | - <connection> | |
| 84 | - <name>192.168.168.1_jwgl_dw</name> | |
| 85 | - <server>192.168.168.1</server> | |
| 86 | - <type>ORACLE</type> | |
| 87 | - <access>Native</access> | |
| 88 | - <database>orcl</database> | |
| 89 | - <port>1521</port> | |
| 90 | - <username>jwgl_dw</username> | |
| 91 | - <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password> | |
| 92 | - <servername/> | |
| 93 | - <data_tablespace/> | |
| 94 | - <index_tablespace/> | |
| 95 | - <attributes> | |
| 96 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 97 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 98 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 99 | - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | |
| 100 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 101 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 102 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 103 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 104 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 105 | - </attributes> | |
| 106 | - </connection> | |
| 107 | - <connection> | |
| 108 | - <name>bus_control_variable</name> | |
| 109 | - <server>${v_db_ip}</server> | |
| 110 | - <type>MYSQL</type> | |
| 111 | - <access>Native</access> | |
| 112 | - <database>${v_db_dname}</database> | |
| 113 | - <port>3306</port> | |
| 114 | - <username>${v_db_uname}</username> | |
| 115 | - <password>${v_db_pwd}</password> | |
| 116 | - <servername/> | |
| 117 | - <data_tablespace/> | |
| 118 | - <index_tablespace/> | |
| 119 | - <attributes> | |
| 120 | - <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute> | |
| 121 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 122 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 123 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 124 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 125 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 126 | - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 127 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 128 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 129 | - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | |
| 130 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 131 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 132 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 133 | - </attributes> | |
| 134 | - </connection> | |
| 135 | - <connection> | |
| 136 | - <name>bus_control_公司_201</name> | |
| 137 | - <server>localhost</server> | |
| 138 | - <type>MYSQL</type> | |
| 139 | - <access>Native</access> | |
| 140 | - <database>control</database> | |
| 141 | - <port>3306</port> | |
| 142 | - <username>root</username> | |
| 143 | - <password>Encrypted </password> | |
| 144 | - <servername/> | |
| 145 | - <data_tablespace/> | |
| 146 | - <index_tablespace/> | |
| 147 | - <attributes> | |
| 148 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 149 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 150 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 151 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 152 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 153 | - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 154 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 155 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 156 | - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | |
| 157 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 158 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 159 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 160 | - </attributes> | |
| 161 | - </connection> | |
| 162 | - <connection> | |
| 163 | - <name>bus_control_本机</name> | |
| 164 | - <server>localhost</server> | |
| 165 | - <type>MYSQL</type> | |
| 166 | - <access>Native</access> | |
| 167 | - <database>control</database> | |
| 168 | - <port>3306</port> | |
| 169 | - <username>root</username> | |
| 170 | - <password>Encrypted </password> | |
| 171 | - <servername/> | |
| 172 | - <data_tablespace/> | |
| 173 | - <index_tablespace/> | |
| 174 | - <attributes> | |
| 175 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 176 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 177 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 178 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 179 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 180 | - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 181 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 182 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 183 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 184 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 185 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 186 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 187 | - </attributes> | |
| 188 | - </connection> | |
| 189 | - <connection> | |
| 190 | - <name>xlab_mysql_youle</name> | |
| 191 | - <server>101.231.124.8</server> | |
| 192 | - <type>MYSQL</type> | |
| 193 | - <access>Native</access> | |
| 194 | - <database>xlab_youle</database> | |
| 195 | - <port>45687</port> | |
| 196 | - <username>xlab-youle</username> | |
| 197 | - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password> | |
| 198 | - <servername/> | |
| 199 | - <data_tablespace/> | |
| 200 | - <index_tablespace/> | |
| 201 | - <attributes> | |
| 202 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 203 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 204 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 205 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 206 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 207 | - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute> | |
| 208 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 209 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 210 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 211 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 212 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 213 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 214 | - </attributes> | |
| 215 | - </connection> | |
| 216 | - <connection> | |
| 217 | - <name>xlab_mysql_youle(本机)</name> | |
| 218 | - <server>localhost</server> | |
| 219 | - <type>MYSQL</type> | |
| 220 | - <access>Native</access> | |
| 221 | - <database>xlab_youle</database> | |
| 222 | - <port>3306</port> | |
| 223 | - <username>root</username> | |
| 224 | - <password>Encrypted </password> | |
| 225 | - <servername/> | |
| 226 | - <data_tablespace/> | |
| 227 | - <index_tablespace/> | |
| 228 | - <attributes> | |
| 229 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 230 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 231 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 232 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 233 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 234 | - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 235 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 236 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 237 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 238 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 239 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 240 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 241 | - </attributes> | |
| 242 | - </connection> | |
| 243 | - <connection> | |
| 244 | - <name>xlab_youle</name> | |
| 245 | - <server/> | |
| 246 | - <type>MYSQL</type> | |
| 247 | - <access>JNDI</access> | |
| 248 | - <database>xlab_youle</database> | |
| 249 | - <port>1521</port> | |
| 250 | - <username/> | |
| 251 | - <password>Encrypted </password> | |
| 252 | - <servername/> | |
| 253 | - <data_tablespace/> | |
| 254 | - <index_tablespace/> | |
| 255 | - <attributes> | |
| 256 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 257 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 258 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 259 | - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | |
| 260 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 261 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 262 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 263 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 264 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 265 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 266 | - </attributes> | |
| 267 | - </connection> | |
| 268 | - <order> | |
| 269 | - <hop> <from>表输入</from><to>字段选择</to><enabled>Y</enabled> </hop> | |
| 270 | - <hop> <from>字段选择</from><to>Excel输出</to><enabled>Y</enabled> </hop> | |
| 271 | - </order> | |
| 272 | - <step> | |
| 273 | - <name>Excel输出</name> | |
| 274 | - <type>ExcelOutput</type> | |
| 275 | - <description/> | |
| 276 | - <distribute>Y</distribute> | |
| 277 | - <custom_distribution/> | |
| 278 | - <copies>1</copies> | |
| 279 | - <partitioning> | |
| 280 | - <method>none</method> | |
| 281 | - <schema_name/> | |
| 282 | - </partitioning> | |
| 283 | - <header>Y</header> | |
| 284 | - <footer>N</footer> | |
| 285 | - <encoding/> | |
| 286 | - <append>N</append> | |
| 287 | - <add_to_result_filenames>Y</add_to_result_filenames> | |
| 288 | - <file> | |
| 289 | - <name>${filepath}</name> | |
| 290 | - <extention/> | |
| 291 | - <do_not_open_newfile_init>N</do_not_open_newfile_init> | |
| 292 | - <create_parent_folder>N</create_parent_folder> | |
| 293 | - <split>N</split> | |
| 294 | - <add_date>N</add_date> | |
| 295 | - <add_time>N</add_time> | |
| 296 | - <SpecifyFormat>N</SpecifyFormat> | |
| 297 | - <date_time_format>yyyyMMddHHmmss</date_time_format> | |
| 298 | - <sheetname>工作表1</sheetname> | |
| 299 | - <autosizecolums>N</autosizecolums> | |
| 300 | - <nullisblank>N</nullisblank> | |
| 301 | - <protect_sheet>N</protect_sheet> | |
| 302 | - <password>Encrypted </password> | |
| 303 | - <splitevery>0</splitevery> | |
| 304 | - <usetempfiles>N</usetempfiles> | |
| 305 | - <tempdirectory/> | |
| 306 | - </file> | |
| 307 | - <template> | |
| 308 | - <enabled>N</enabled> | |
| 309 | - <append>N</append> | |
| 310 | - <filename>template.xls</filename> | |
| 311 | - </template> | |
| 312 | - <fields> | |
| 313 | - <field> | |
| 314 | - <name>车牌号</name> | |
| 315 | - <type>String</type> | |
| 316 | - <format/> | |
| 317 | - </field> | |
| 318 | - <field> | |
| 319 | - <name>车辆编码</name> | |
| 320 | - <type>String</type> | |
| 321 | - <format/> | |
| 322 | - </field> | |
| 323 | - <field> | |
| 324 | - <name>内部编码</name> | |
| 325 | - <type>String</type> | |
| 326 | - <format/> | |
| 327 | - </field> | |
| 328 | - <field> | |
| 329 | - <name>所属公司</name> | |
| 330 | - <type>String</type> | |
| 331 | - <format/> | |
| 332 | - </field> | |
| 333 | - <field> | |
| 334 | - <name>所属公司代码</name> | |
| 335 | - <type>String</type> | |
| 336 | - <format/> | |
| 337 | - </field> | |
| 338 | - <field> | |
| 339 | - <name>所属分公司</name> | |
| 340 | - <type>String</type> | |
| 341 | - <format/> | |
| 342 | - </field> | |
| 343 | - <field> | |
| 344 | - <name>所属分公司代码</name> | |
| 345 | - <type>String</type> | |
| 346 | - <format/> | |
| 347 | - </field> | |
| 348 | - <field> | |
| 349 | - <name>设备供应厂商</name> | |
| 350 | - <type>String</type> | |
| 351 | - <format/> | |
| 352 | - </field> | |
| 353 | - <field> | |
| 354 | - <name>设备终端号</name> | |
| 355 | - <type>String</type> | |
| 356 | - <format/> | |
| 357 | - </field> | |
| 358 | - </fields> | |
| 359 | - <custom> | |
| 360 | - <header_font_name>arial</header_font_name> | |
| 361 | - <header_font_size>10</header_font_size> | |
| 362 | - <header_font_bold>N</header_font_bold> | |
| 363 | - <header_font_italic>N</header_font_italic> | |
| 364 | - <header_font_underline>no</header_font_underline> | |
| 365 | - <header_font_orientation>horizontal</header_font_orientation> | |
| 366 | - <header_font_color>black</header_font_color> | |
| 367 | - <header_background_color>none</header_background_color> | |
| 368 | - <header_row_height>255</header_row_height> | |
| 369 | - <header_alignment>left</header_alignment> | |
| 370 | - <header_image/> | |
| 371 | - <row_font_name>arial</row_font_name> | |
| 372 | - <row_font_size>10</row_font_size> | |
| 373 | - <row_font_color>black</row_font_color> | |
| 374 | - <row_background_color>none</row_background_color> | |
| 375 | - </custom> | |
| 376 | - <cluster_schema/> | |
| 377 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 378 | - <xloc>282</xloc> | |
| 379 | - <yloc>169</yloc> | |
| 380 | - <draw>Y</draw> | |
| 381 | - </GUI> | |
| 382 | - </step> | |
| 383 | - | |
| 384 | - <step> | |
| 385 | - <name>字段选择</name> | |
| 386 | - <type>SelectValues</type> | |
| 387 | - <description/> | |
| 388 | - <distribute>Y</distribute> | |
| 389 | - <custom_distribution/> | |
| 390 | - <copies>1</copies> | |
| 391 | - <partitioning> | |
| 392 | - <method>none</method> | |
| 393 | - <schema_name/> | |
| 394 | - </partitioning> | |
| 395 | - <fields> <field> <name>car_plate</name> | |
| 396 | - <rename>车牌号</rename> | |
| 397 | - <length>-2</length> | |
| 398 | - <precision>-2</precision> | |
| 399 | - </field> <field> <name>car_code</name> | |
| 400 | - <rename>车辆编码</rename> | |
| 401 | - <length>-2</length> | |
| 402 | - <precision>-2</precision> | |
| 403 | - </field> <field> <name>inside_code</name> | |
| 404 | - <rename>内部编码</rename> | |
| 405 | - <length>-2</length> | |
| 406 | - <precision>-2</precision> | |
| 407 | - </field> <field> <name>company</name> | |
| 408 | - <rename>所属公司</rename> | |
| 409 | - <length>-2</length> | |
| 410 | - <precision>-2</precision> | |
| 411 | - </field> <field> <name>business_code</name> | |
| 412 | - <rename>所属公司代码</rename> | |
| 413 | - <length>-2</length> | |
| 414 | - <precision>-2</precision> | |
| 415 | - </field> <field> <name>branche_company</name> | |
| 416 | - <rename>所属分公司</rename> | |
| 417 | - <length>-2</length> | |
| 418 | - <precision>-2</precision> | |
| 419 | - </field> <field> <name>branche_company_code</name> | |
| 420 | - <rename>所属分公司代码</rename> | |
| 421 | - <length>-2</length> | |
| 422 | - <precision>-2</precision> | |
| 423 | - </field> <field> <name>supplier_name</name> | |
| 424 | - <rename>设备供应厂商</rename> | |
| 425 | - <length>-2</length> | |
| 426 | - <precision>-2</precision> | |
| 427 | - </field> <field> <name>equipment_code</name> | |
| 428 | - <rename>设备终端号</rename> | |
| 429 | - <length>-2</length> | |
| 430 | - <precision>-2</precision> | |
| 431 | - </field> <select_unspecified>N</select_unspecified> | |
| 432 | - </fields> <cluster_schema/> | |
| 433 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 434 | - <xloc>280</xloc> | |
| 435 | - <yloc>67</yloc> | |
| 436 | - <draw>Y</draw> | |
| 437 | - </GUI> | |
| 438 | - </step> | |
| 439 | - | |
| 440 | - <step> | |
| 441 | - <name>表输入</name> | |
| 442 | - <type>TableInput</type> | |
| 443 | - <description/> | |
| 444 | - <distribute>Y</distribute> | |
| 445 | - <custom_distribution/> | |
| 446 | - <copies>1</copies> | |
| 447 | - <partitioning> | |
| 448 | - <method>none</method> | |
| 449 | - <schema_name/> | |
| 450 | - </partitioning> | |
| 451 | - <connection>bus_control_variable</connection> | |
| 452 | - <sql>SELECT * FROM bsth_c_cars;</sql> | |
| 453 | - <limit>0</limit> | |
| 454 | - <lookup/> | |
| 455 | - <execute_each_row>N</execute_each_row> | |
| 456 | - <variables_active>N</variables_active> | |
| 457 | - <lazy_conversion_active>N</lazy_conversion_active> | |
| 458 | - <cluster_schema/> | |
| 459 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 460 | - <xloc>105</xloc> | |
| 461 | - <yloc>67</yloc> | |
| 462 | - <draw>Y</draw> | |
| 463 | - </GUI> | |
| 464 | - </step> | |
| 465 | - | |
| 466 | - <step_error_handling> | |
| 467 | - </step_error_handling> | |
| 468 | - <slave-step-copy-partition-distribution> | |
| 469 | -</slave-step-copy-partition-distribution> | |
| 470 | - <slave_transformation>N</slave_transformation> | |
| 471 | - | |
| 472 | -</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>filepath</name> | |
| 14 | + <default_value/> | |
| 15 | + <description>excel文件路径</description> | |
| 16 | + </parameter> | |
| 17 | + </parameters> | |
| 18 | + <log> | |
| 19 | +<trans-log-table><connection/> | |
| 20 | +<schema/> | |
| 21 | +<table/> | |
| 22 | +<size_limit_lines/> | |
| 23 | +<interval/> | |
| 24 | +<timeout_days/> | |
| 25 | +<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> | |
| 26 | +<perf-log-table><connection/> | |
| 27 | +<schema/> | |
| 28 | +<table/> | |
| 29 | +<interval/> | |
| 30 | +<timeout_days/> | |
| 31 | +<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> | |
| 32 | +<channel-log-table><connection/> | |
| 33 | +<schema/> | |
| 34 | +<table/> | |
| 35 | +<timeout_days/> | |
| 36 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>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> | |
| 37 | +<step-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>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> | |
| 42 | +<metrics-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>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> | |
| 47 | + </log> | |
| 48 | + <maxdate> | |
| 49 | + <connection/> | |
| 50 | + <table/> | |
| 51 | + <field/> | |
| 52 | + <offset>0.0</offset> | |
| 53 | + <maxdiff>0.0</maxdiff> | |
| 54 | + </maxdate> | |
| 55 | + <size_rowset>10000</size_rowset> | |
| 56 | + <sleep_time_empty>50</sleep_time_empty> | |
| 57 | + <sleep_time_full>50</sleep_time_full> | |
| 58 | + <unique_connections>N</unique_connections> | |
| 59 | + <feedback_shown>Y</feedback_shown> | |
| 60 | + <feedback_size>50000</feedback_size> | |
| 61 | + <using_thread_priorities>Y</using_thread_priorities> | |
| 62 | + <shared_objects_file/> | |
| 63 | + <capture_step_performance>N</capture_step_performance> | |
| 64 | + <step_performance_capturing_delay>1000</step_performance_capturing_delay> | |
| 65 | + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit> | |
| 66 | + <dependencies> | |
| 67 | + </dependencies> | |
| 68 | + <partitionschemas> | |
| 69 | + </partitionschemas> | |
| 70 | + <slaveservers> | |
| 71 | + </slaveservers> | |
| 72 | + <clusterschemas> | |
| 73 | + </clusterschemas> | |
| 74 | + <created_user>-</created_user> | |
| 75 | + <created_date>2016/08/05 16:42:22.753</created_date> | |
| 76 | + <modified_user>-</modified_user> | |
| 77 | + <modified_date>2016/08/05 16:42:22.753</modified_date> | |
| 78 | + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key> | |
| 79 | + <is_key_private>N</is_key_private> | |
| 80 | + </info> | |
| 81 | + <notepads> | |
| 82 | + </notepads> | |
| 83 | + <connection> | |
| 84 | + <name>192.168.168.1_jwgl_dw</name> | |
| 85 | + <server>192.168.168.1</server> | |
| 86 | + <type>ORACLE</type> | |
| 87 | + <access>Native</access> | |
| 88 | + <database>orcl</database> | |
| 89 | + <port>1521</port> | |
| 90 | + <username>jwgl_dw</username> | |
| 91 | + <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password> | |
| 92 | + <servername/> | |
| 93 | + <data_tablespace/> | |
| 94 | + <index_tablespace/> | |
| 95 | + <attributes> | |
| 96 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 97 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 98 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 99 | + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | |
| 100 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 101 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 102 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 103 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 104 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 105 | + </attributes> | |
| 106 | + </connection> | |
| 107 | + <connection> | |
| 108 | + <name>bus_control_variable</name> | |
| 109 | + <server>${v_db_ip}</server> | |
| 110 | + <type>MYSQL</type> | |
| 111 | + <access>Native</access> | |
| 112 | + <database>${v_db_dname}</database> | |
| 113 | + <port>3306</port> | |
| 114 | + <username>${v_db_uname}</username> | |
| 115 | + <password>${v_db_pwd}</password> | |
| 116 | + <servername/> | |
| 117 | + <data_tablespace/> | |
| 118 | + <index_tablespace/> | |
| 119 | + <attributes> | |
| 120 | + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute> | |
| 121 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 122 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 123 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 124 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 125 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 126 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 127 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 128 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 129 | + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | |
| 130 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 131 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 132 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 133 | + </attributes> | |
| 134 | + </connection> | |
| 135 | + <connection> | |
| 136 | + <name>bus_control_公司_201</name> | |
| 137 | + <server>localhost</server> | |
| 138 | + <type>MYSQL</type> | |
| 139 | + <access>Native</access> | |
| 140 | + <database>control</database> | |
| 141 | + <port>3306</port> | |
| 142 | + <username>root</username> | |
| 143 | + <password>Encrypted </password> | |
| 144 | + <servername/> | |
| 145 | + <data_tablespace/> | |
| 146 | + <index_tablespace/> | |
| 147 | + <attributes> | |
| 148 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 149 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 150 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 151 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 152 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 153 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 154 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 155 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 156 | + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | |
| 157 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 158 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 159 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 160 | + </attributes> | |
| 161 | + </connection> | |
| 162 | + <connection> | |
| 163 | + <name>bus_control_本机</name> | |
| 164 | + <server>localhost</server> | |
| 165 | + <type>MYSQL</type> | |
| 166 | + <access>Native</access> | |
| 167 | + <database>control</database> | |
| 168 | + <port>3306</port> | |
| 169 | + <username>root</username> | |
| 170 | + <password>Encrypted </password> | |
| 171 | + <servername/> | |
| 172 | + <data_tablespace/> | |
| 173 | + <index_tablespace/> | |
| 174 | + <attributes> | |
| 175 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 176 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 177 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 178 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 179 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 180 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 181 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 182 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 183 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 184 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 185 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 186 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 187 | + </attributes> | |
| 188 | + </connection> | |
| 189 | + <connection> | |
| 190 | + <name>xlab_mysql_youle</name> | |
| 191 | + <server>101.231.124.8</server> | |
| 192 | + <type>MYSQL</type> | |
| 193 | + <access>Native</access> | |
| 194 | + <database>xlab_youle</database> | |
| 195 | + <port>45687</port> | |
| 196 | + <username>xlab-youle</username> | |
| 197 | + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password> | |
| 198 | + <servername/> | |
| 199 | + <data_tablespace/> | |
| 200 | + <index_tablespace/> | |
| 201 | + <attributes> | |
| 202 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 203 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 204 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 205 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 206 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 207 | + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute> | |
| 208 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 209 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 210 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 211 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 212 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 213 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 214 | + </attributes> | |
| 215 | + </connection> | |
| 216 | + <connection> | |
| 217 | + <name>xlab_mysql_youle(本机)</name> | |
| 218 | + <server>localhost</server> | |
| 219 | + <type>MYSQL</type> | |
| 220 | + <access>Native</access> | |
| 221 | + <database>xlab_youle</database> | |
| 222 | + <port>3306</port> | |
| 223 | + <username>root</username> | |
| 224 | + <password>Encrypted </password> | |
| 225 | + <servername/> | |
| 226 | + <data_tablespace/> | |
| 227 | + <index_tablespace/> | |
| 228 | + <attributes> | |
| 229 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | |
| 230 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | |
| 231 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 232 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 233 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 234 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | |
| 235 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 236 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 237 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 238 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 239 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | |
| 240 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 241 | + </attributes> | |
| 242 | + </connection> | |
| 243 | + <connection> | |
| 244 | + <name>xlab_youle</name> | |
| 245 | + <server/> | |
| 246 | + <type>MYSQL</type> | |
| 247 | + <access>JNDI</access> | |
| 248 | + <database>xlab_youle</database> | |
| 249 | + <port>1521</port> | |
| 250 | + <username/> | |
| 251 | + <password>Encrypted </password> | |
| 252 | + <servername/> | |
| 253 | + <data_tablespace/> | |
| 254 | + <index_tablespace/> | |
| 255 | + <attributes> | |
| 256 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | |
| 257 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | |
| 258 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | |
| 259 | + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | |
| 260 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | |
| 261 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | |
| 262 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | |
| 263 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 264 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | |
| 265 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | |
| 266 | + </attributes> | |
| 267 | + </connection> | |
| 268 | + <order> | |
| 269 | + <hop> <from>表输入</from><to>字段选择</to><enabled>Y</enabled> </hop> | |
| 270 | + <hop> <from>字段选择</from><to>Excel输出</to><enabled>Y</enabled> </hop> | |
| 271 | + </order> | |
| 272 | + <step> | |
| 273 | + <name>Excel输出</name> | |
| 274 | + <type>ExcelOutput</type> | |
| 275 | + <description/> | |
| 276 | + <distribute>Y</distribute> | |
| 277 | + <custom_distribution/> | |
| 278 | + <copies>1</copies> | |
| 279 | + <partitioning> | |
| 280 | + <method>none</method> | |
| 281 | + <schema_name/> | |
| 282 | + </partitioning> | |
| 283 | + <header>Y</header> | |
| 284 | + <footer>N</footer> | |
| 285 | + <encoding/> | |
| 286 | + <append>N</append> | |
| 287 | + <add_to_result_filenames>Y</add_to_result_filenames> | |
| 288 | + <file> | |
| 289 | + <name>${filepath}</name> | |
| 290 | + <extention/> | |
| 291 | + <do_not_open_newfile_init>N</do_not_open_newfile_init> | |
| 292 | + <create_parent_folder>N</create_parent_folder> | |
| 293 | + <split>N</split> | |
| 294 | + <add_date>N</add_date> | |
| 295 | + <add_time>N</add_time> | |
| 296 | + <SpecifyFormat>N</SpecifyFormat> | |
| 297 | + <date_time_format>yyyyMMddHHmmss</date_time_format> | |
| 298 | + <sheetname>工作表1</sheetname> | |
| 299 | + <autosizecolums>N</autosizecolums> | |
| 300 | + <nullisblank>N</nullisblank> | |
| 301 | + <protect_sheet>N</protect_sheet> | |
| 302 | + <password>Encrypted </password> | |
| 303 | + <splitevery>0</splitevery> | |
| 304 | + <usetempfiles>N</usetempfiles> | |
| 305 | + <tempdirectory/> | |
| 306 | + </file> | |
| 307 | + <template> | |
| 308 | + <enabled>N</enabled> | |
| 309 | + <append>N</append> | |
| 310 | + <filename>template.xls</filename> | |
| 311 | + </template> | |
| 312 | + <fields> | |
| 313 | + <field> | |
| 314 | + <name>车牌号</name> | |
| 315 | + <type>String</type> | |
| 316 | + <format/> | |
| 317 | + </field> | |
| 318 | + <field> | |
| 319 | + <name>车辆编码</name> | |
| 320 | + <type>String</type> | |
| 321 | + <format/> | |
| 322 | + </field> | |
| 323 | + <field> | |
| 324 | + <name>内部编码</name> | |
| 325 | + <type>String</type> | |
| 326 | + <format/> | |
| 327 | + </field> | |
| 328 | + <field> | |
| 329 | + <name>所属公司</name> | |
| 330 | + <type>String</type> | |
| 331 | + <format/> | |
| 332 | + </field> | |
| 333 | + <field> | |
| 334 | + <name>所属公司代码</name> | |
| 335 | + <type>String</type> | |
| 336 | + <format/> | |
| 337 | + </field> | |
| 338 | + <field> | |
| 339 | + <name>所属分公司</name> | |
| 340 | + <type>String</type> | |
| 341 | + <format/> | |
| 342 | + </field> | |
| 343 | + <field> | |
| 344 | + <name>所属分公司代码</name> | |
| 345 | + <type>String</type> | |
| 346 | + <format/> | |
| 347 | + </field> | |
| 348 | + <field> | |
| 349 | + <name>设备供应厂商</name> | |
| 350 | + <type>String</type> | |
| 351 | + <format/> | |
| 352 | + </field> | |
| 353 | + <field> | |
| 354 | + <name>设备终端号</name> | |
| 355 | + <type>String</type> | |
| 356 | + <format/> | |
| 357 | + </field> | |
| 358 | + </fields> | |
| 359 | + <custom> | |
| 360 | + <header_font_name>arial</header_font_name> | |
| 361 | + <header_font_size>10</header_font_size> | |
| 362 | + <header_font_bold>N</header_font_bold> | |
| 363 | + <header_font_italic>N</header_font_italic> | |
| 364 | + <header_font_underline>no</header_font_underline> | |
| 365 | + <header_font_orientation>horizontal</header_font_orientation> | |
| 366 | + <header_font_color>black</header_font_color> | |
| 367 | + <header_background_color>none</header_background_color> | |
| 368 | + <header_row_height>255</header_row_height> | |
| 369 | + <header_alignment>left</header_alignment> | |
| 370 | + <header_image/> | |
| 371 | + <row_font_name>arial</row_font_name> | |
| 372 | + <row_font_size>10</row_font_size> | |
| 373 | + <row_font_color>black</row_font_color> | |
| 374 | + <row_background_color>none</row_background_color> | |
| 375 | + </custom> | |
| 376 | + <cluster_schema/> | |
| 377 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 378 | + <xloc>282</xloc> | |
| 379 | + <yloc>169</yloc> | |
| 380 | + <draw>Y</draw> | |
| 381 | + </GUI> | |
| 382 | + </step> | |
| 383 | + | |
| 384 | + <step> | |
| 385 | + <name>字段选择</name> | |
| 386 | + <type>SelectValues</type> | |
| 387 | + <description/> | |
| 388 | + <distribute>Y</distribute> | |
| 389 | + <custom_distribution/> | |
| 390 | + <copies>1</copies> | |
| 391 | + <partitioning> | |
| 392 | + <method>none</method> | |
| 393 | + <schema_name/> | |
| 394 | + </partitioning> | |
| 395 | + <fields> <field> <name>car_plate</name> | |
| 396 | + <rename>车牌号</rename> | |
| 397 | + <length>-2</length> | |
| 398 | + <precision>-2</precision> | |
| 399 | + </field> <field> <name>car_code</name> | |
| 400 | + <rename>车辆编码</rename> | |
| 401 | + <length>-2</length> | |
| 402 | + <precision>-2</precision> | |
| 403 | + </field> <field> <name>inside_code</name> | |
| 404 | + <rename>内部编码</rename> | |
| 405 | + <length>-2</length> | |
| 406 | + <precision>-2</precision> | |
| 407 | + </field> <field> <name>company</name> | |
| 408 | + <rename>所属公司</rename> | |
| 409 | + <length>-2</length> | |
| 410 | + <precision>-2</precision> | |
| 411 | + </field> <field> <name>business_code</name> | |
| 412 | + <rename>所属公司代码</rename> | |
| 413 | + <length>-2</length> | |
| 414 | + <precision>-2</precision> | |
| 415 | + </field> <field> <name>branche_company</name> | |
| 416 | + <rename>所属分公司</rename> | |
| 417 | + <length>-2</length> | |
| 418 | + <precision>-2</precision> | |
| 419 | + </field> <field> <name>branche_company_code</name> | |
| 420 | + <rename>所属分公司代码</rename> | |
| 421 | + <length>-2</length> | |
| 422 | + <precision>-2</precision> | |
| 423 | + </field> <field> <name>supplier_name</name> | |
| 424 | + <rename>设备供应厂商</rename> | |
| 425 | + <length>-2</length> | |
| 426 | + <precision>-2</precision> | |
| 427 | + </field> <field> <name>equipment_code</name> | |
| 428 | + <rename>设备终端号</rename> | |
| 429 | + <length>-2</length> | |
| 430 | + <precision>-2</precision> | |
| 431 | + </field> <select_unspecified>N</select_unspecified> | |
| 432 | + </fields> <cluster_schema/> | |
| 433 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 434 | + <xloc>280</xloc> | |
| 435 | + <yloc>67</yloc> | |
| 436 | + <draw>Y</draw> | |
| 437 | + </GUI> | |
| 438 | + </step> | |
| 439 | + | |
| 440 | + <step> | |
| 441 | + <name>表输入</name> | |
| 442 | + <type>TableInput</type> | |
| 443 | + <description/> | |
| 444 | + <distribute>Y</distribute> | |
| 445 | + <custom_distribution/> | |
| 446 | + <copies>1</copies> | |
| 447 | + <partitioning> | |
| 448 | + <method>none</method> | |
| 449 | + <schema_name/> | |
| 450 | + </partitioning> | |
| 451 | + <connection>bus_control_variable</connection> | |
| 452 | + <sql>SELECT * FROM bsth_c_cars;</sql> | |
| 453 | + <limit>0</limit> | |
| 454 | + <lookup/> | |
| 455 | + <execute_each_row>N</execute_each_row> | |
| 456 | + <variables_active>N</variables_active> | |
| 457 | + <lazy_conversion_active>N</lazy_conversion_active> | |
| 458 | + <cluster_schema/> | |
| 459 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 460 | + <xloc>105</xloc> | |
| 461 | + <yloc>67</yloc> | |
| 462 | + <draw>Y</draw> | |
| 463 | + </GUI> | |
| 464 | + </step> | |
| 465 | + | |
| 466 | + <step_error_handling> | |
| 467 | + </step_error_handling> | |
| 468 | + <slave-step-copy-partition-distribution> | |
| 469 | +</slave-step-copy-partition-distribution> | |
| 470 | + <slave_transformation>N</slave_transformation> | |
| 471 | + | |
| 472 | +</transformation> | ... | ... |