Commit 93decfc058b0c4fbf1362551194e5d02e8ba51aa
Merge branch 'minhang' of http://222.66.0.204:8090/panzhaov5/bsth_control into minhang
Showing
21 changed files
with
2741 additions
and
1490 deletions
Too many changes to show.
To preserve performance only 21 of 64 files are displayed.
src/main/java/com/bsth/controller/realcontrol/ScheduleRealInfoController.java
| ... | ... | @@ -417,6 +417,70 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, |
| 417 | 417 | } |
| 418 | 418 | return scheduleRealInfoService.statisticsDailyTj(gsdm,fgsdm,line, date,date2, xlName, type); |
| 419 | 419 | } |
| 420 | + | |
| 421 | + /* | |
| 422 | + * 公里修正报表 | |
| 423 | + */ | |
| 424 | + @RequestMapping(value="/mileageReportTj") | |
| 425 | + public List<Map<String,Object>> mileageReport(@RequestParam Map<String, Object> map){ | |
| 426 | + String gsdm=""; | |
| 427 | + if(map.get("gsdm")!=null){ | |
| 428 | + gsdm=map.get("gsdm").toString(); | |
| 429 | + } | |
| 430 | + String fgsdm=""; | |
| 431 | + if(map.get("fgsdm")!=null){ | |
| 432 | + fgsdm=map.get("fgsdm").toString(); | |
| 433 | + } | |
| 434 | + String line=""; | |
| 435 | + if(map.get("line")!=null){ | |
| 436 | + line=map.get("line").toString(); | |
| 437 | + } | |
| 438 | + String date=""; | |
| 439 | + if(map.get("date")!=null){ | |
| 440 | + date=map.get("date").toString(); | |
| 441 | + } | |
| 442 | + String date2=""; | |
| 443 | + if(map.get("date2")!=null){ | |
| 444 | + date2=map.get("date2").toString(); | |
| 445 | + } | |
| 446 | + String xlName=""; | |
| 447 | + if(map.get("xlName")!=null){ | |
| 448 | + xlName=map.get("xlName").toString(); | |
| 449 | + } | |
| 450 | + return scheduleRealInfoService.mileageReport(gsdm,fgsdm,line, date,date2); | |
| 451 | + } | |
| 452 | + | |
| 453 | + /* | |
| 454 | + * 班次修正报表 | |
| 455 | + */ | |
| 456 | + @RequestMapping(value="/scheduleCorrectionReport") | |
| 457 | + public List<Map<String,Object>> scheduleCorrectionReport(@RequestParam Map<String, Object> map){ | |
| 458 | + String gsdm=""; | |
| 459 | + if(map.get("gsdm")!=null){ | |
| 460 | + gsdm=map.get("gsdm").toString(); | |
| 461 | + } | |
| 462 | + String fgsdm=""; | |
| 463 | + if(map.get("fgsdm")!=null){ | |
| 464 | + fgsdm=map.get("fgsdm").toString(); | |
| 465 | + } | |
| 466 | + String line=""; | |
| 467 | + if(map.get("line")!=null){ | |
| 468 | + line=map.get("line").toString(); | |
| 469 | + } | |
| 470 | + String date=""; | |
| 471 | + if(map.get("date")!=null){ | |
| 472 | + date=map.get("date").toString(); | |
| 473 | + } | |
| 474 | + String date2=""; | |
| 475 | + if(map.get("date2")!=null){ | |
| 476 | + date2=map.get("date2").toString(); | |
| 477 | + } | |
| 478 | + String xlName=""; | |
| 479 | + if(map.get("xlName")!=null){ | |
| 480 | + xlName=map.get("xlName").toString(); | |
| 481 | + } | |
| 482 | + return scheduleRealInfoService.scheduleCorrectionReport(gsdm,fgsdm,line, date,date2); | |
| 483 | + } | |
| 420 | 484 | |
| 421 | 485 | @RequestMapping(value="/MapById",method = RequestMethod.GET) |
| 422 | 486 | public Map<String, Object> MapById(@RequestParam("id") Long id){ | ... | ... |
src/main/java/com/bsth/controller/report/ReportController.java
| ... | ... | @@ -84,12 +84,19 @@ public class ReportController { |
| 84 | 84 | @RequestParam int zd){ |
| 85 | 85 | return service.queryStrinon(line,zd); |
| 86 | 86 | } |
| 87 | + //根据排班查到离站 | |
| 87 | 88 | @RequestMapping(value="/queryInOutStrtion" ,method = RequestMethod.GET) |
| 88 | 89 | public List<Map<String, Object>> queryInOutStrtion(@RequestParam String line, |
| 89 | 90 | @RequestParam String date,@RequestParam int zd,@RequestParam String lzsj){ |
| 90 | 91 | return service.queryInOutStrtion(line,date,zd,lzsj); |
| 91 | 92 | } |
| 92 | 93 | |
| 94 | + //根据GPS数据查到离站 | |
| 95 | + @RequestMapping(value="/queryInOutStrtions" ,method = RequestMethod.GET) | |
| 96 | + public List<Map<String, Object>> queryInOutStrtions(@RequestParam String line, | |
| 97 | + @RequestParam String date,@RequestParam int zd,@RequestParam String lzsj){ | |
| 98 | + return service.queryInOutStrtions(line,date,zd,lzsj); | |
| 99 | + } | |
| 93 | 100 | @RequestMapping(value="/queryListClzd" ,method = RequestMethod.GET) |
| 94 | 101 | public List<ArrivalInfo> queryListClzd(@RequestParam String zd,@RequestParam String line, |
| 95 | 102 | @RequestParam String zdlx,@RequestParam String fcsj,@RequestParam String ddsj){ | ... | ... |
src/main/java/com/bsth/data/schedule/signal/SchSiginUpdateDBThread.java
| 1 | -package com.bsth.data.schedule.signal; | |
| 2 | - | |
| 3 | -import org.slf4j.Logger; | |
| 4 | -import org.slf4j.LoggerFactory; | |
| 5 | -import org.springframework.beans.factory.annotation.Autowired; | |
| 6 | -import org.springframework.stereotype.Component; | |
| 7 | - | |
| 8 | -/** | |
| 9 | - * Created by panzhao on 2017/8/14. | |
| 10 | - */ | |
| 11 | -@Component | |
| 12 | -public class SchSiginUpdateDBThread extends Thread{ | |
| 13 | - | |
| 14 | - @Autowired | |
| 15 | - SignalComplateHandler signalComplateHandler; | |
| 16 | - | |
| 17 | - Logger logger = LoggerFactory.getLogger(this.getClass()); | |
| 18 | - | |
| 19 | - @Override | |
| 20 | - public void run() { | |
| 21 | - try{ | |
| 22 | - signalComplateHandler.handler(); | |
| 23 | - }catch (Exception e){ | |
| 24 | - logger.error("", e); | |
| 25 | - } | |
| 26 | - } | |
| 27 | -} | |
| 1 | +package com.bsth.data.schedule.signal; | |
| 2 | + | |
| 3 | +import org.slf4j.Logger; | |
| 4 | +import org.slf4j.LoggerFactory; | |
| 5 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 6 | +import org.springframework.stereotype.Component; | |
| 7 | + | |
| 8 | +/** | |
| 9 | + * Created by panzhao on 2017/8/14. | |
| 10 | + */ | |
| 11 | +@Component | |
| 12 | +public class SchSiginUpdateDBThread extends Thread{ | |
| 13 | + | |
| 14 | + @Autowired | |
| 15 | + SignalComplateHandler signalComplateHandler; | |
| 16 | + | |
| 17 | + Logger logger = LoggerFactory.getLogger(this.getClass()); | |
| 18 | + | |
| 19 | + @Override | |
| 20 | + public void run() { | |
| 21 | + try{ | |
| 22 | + signalComplateHandler.handler(); | |
| 23 | + }catch (Exception e){ | |
| 24 | + logger.error("", e); | |
| 25 | + } | |
| 26 | + } | |
| 27 | +} | ... | ... |
src/main/java/com/bsth/data/schedule/signal/SignalComplateHandler.java
| 1 | -package com.bsth.data.schedule.signal; | |
| 2 | - | |
| 3 | -import com.bsth.data.schedule.DayOfSchedule; | |
| 4 | -import com.bsth.data.schedule.signal.entity.SchSiginCompate; | |
| 5 | -import com.bsth.entity.realcontrol.ScheduleRealInfo; | |
| 6 | -import com.bsth.util.db.DBUtils_MS; | |
| 7 | -import org.apache.commons.lang3.StringUtils; | |
| 8 | -import org.slf4j.Logger; | |
| 9 | -import org.slf4j.LoggerFactory; | |
| 10 | -import org.springframework.beans.factory.annotation.Autowired; | |
| 11 | -import org.springframework.jdbc.core.BatchPreparedStatementSetter; | |
| 12 | -import org.springframework.jdbc.core.JdbcTemplate; | |
| 13 | -import org.springframework.jdbc.datasource.DataSourceTransactionManager; | |
| 14 | -import org.springframework.stereotype.Component; | |
| 15 | -import org.springframework.transaction.TransactionDefinition; | |
| 16 | -import org.springframework.transaction.TransactionStatus; | |
| 17 | -import org.springframework.transaction.support.DefaultTransactionDefinition; | |
| 18 | - | |
| 19 | -import java.sql.PreparedStatement; | |
| 20 | -import java.sql.SQLException; | |
| 21 | -import java.util.ArrayList; | |
| 22 | -import java.util.Collection; | |
| 23 | -import java.util.Date; | |
| 24 | -import java.util.List; | |
| 25 | - | |
| 26 | -/** | |
| 27 | - * 班次信号补全(写入数据库,网关以补发的形式提交运管处) | |
| 28 | - * Created by panzhao on 2017/8/13. | |
| 29 | - */ | |
| 30 | -@Component | |
| 31 | -public class SignalComplateHandler { | |
| 32 | - | |
| 33 | - @Autowired | |
| 34 | - DayOfSchedule dayOfSchedule; | |
| 35 | - | |
| 36 | - Logger log = LoggerFactory.getLogger(this.getClass()); | |
| 37 | - | |
| 38 | - public void handler(){ | |
| 39 | - Collection<ScheduleRealInfo> all = dayOfSchedule.findAll(); | |
| 40 | - List<SchSiginCompate> list = new ArrayList<>(); | |
| 41 | - | |
| 42 | - SchSiginCompate siginCompate; | |
| 43 | - Date d = new Date(); | |
| 44 | - long et = System.currentTimeMillis() - (1000 * 60 * 60 * 2), | |
| 45 | - st = et - (1000 * 60 * 60 * 2); | |
| 46 | - for(ScheduleRealInfo sch : all){ | |
| 47 | - if(sch.getDfsjT() > et || sch.getDfsjT() < st) | |
| 48 | - continue; | |
| 49 | - | |
| 50 | - //能自动完成的 | |
| 51 | - if(sch.getSiginCompate() >= 2) | |
| 52 | - continue; | |
| 53 | - | |
| 54 | - //烂班 | |
| 55 | - if(sch.isDestroy()) | |
| 56 | - continue; | |
| 57 | - | |
| 58 | - //空驶任务 | |
| 59 | - if(dayOfSchedule.emptyService(sch)) | |
| 60 | - continue; | |
| 61 | - | |
| 62 | - siginCompate = new SchSiginCompate(sch); | |
| 63 | - if(siginCompate == null || StringUtils.isEmpty(siginCompate.getDeciveId())) | |
| 64 | - continue; | |
| 65 | - | |
| 66 | - //标记已经补发 | |
| 67 | - sch.setSiginCompate(3); | |
| 68 | - //标记入库 | |
| 69 | - dayOfSchedule.save(sch); | |
| 70 | - siginCompate.setCreateDate(d); | |
| 71 | - list.add(siginCompate); | |
| 72 | - } | |
| 73 | - | |
| 74 | - put(list); | |
| 75 | - } | |
| 76 | - | |
| 77 | - public void put(final List<SchSiginCompate> list){ | |
| 78 | - if(null == list || list.size() == 0) | |
| 79 | - return; | |
| 80 | - | |
| 81 | - JdbcTemplate jdbcTemp = new JdbcTemplate(DBUtils_MS.getDataSource()); | |
| 82 | - //编程式事务 | |
| 83 | - DataSourceTransactionManager tran = new DataSourceTransactionManager(jdbcTemp.getDataSource()); | |
| 84 | - DefaultTransactionDefinition def = new DefaultTransactionDefinition(); | |
| 85 | - def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); | |
| 86 | - TransactionStatus status = tran.getTransaction(def); | |
| 87 | - | |
| 88 | - try{ | |
| 89 | - jdbcTemp.batchUpdate("insert into bsth_t_sigin_complate(id, rq, line_code, device_id, up_down, s_code, e_code, st, et, create_date, status) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", new BatchPreparedStatementSetter() { | |
| 90 | - @Override | |
| 91 | - public void setValues(PreparedStatement ps, int i) throws SQLException { | |
| 92 | - SchSiginCompate sc = list.get(i); | |
| 93 | - ps.setLong(1, sc.getId()); | |
| 94 | - ps.setString(2, sc.getRq()); | |
| 95 | - ps.setString(3, sc.getLineCode()); | |
| 96 | - ps.setString(4, sc.getDeciveId()); | |
| 97 | - ps.setInt(5, sc.getUpDown()); | |
| 98 | - ps.setString(6, sc.getsCode()); | |
| 99 | - ps.setString(7, sc.geteCode()); | |
| 100 | - ps.setLong(8, sc.getSt()); | |
| 101 | - ps.setLong(9, sc.getEt()); | |
| 102 | - ps.setDate(10, new java.sql.Date(sc.getCreateDate().getTime())); | |
| 103 | - ps.setInt(11, sc.getStatus()); | |
| 104 | - } | |
| 105 | - | |
| 106 | - @Override | |
| 107 | - public int getBatchSize() { | |
| 108 | - return list.size(); | |
| 109 | - } | |
| 110 | - }); | |
| 111 | - | |
| 112 | - tran.commit(status); | |
| 113 | - log.info("补信号班次入库," + list.size()); | |
| 114 | - }catch (Exception e){ | |
| 115 | - log.error("", e); | |
| 116 | - tran.rollback(status); | |
| 117 | - } | |
| 118 | - } | |
| 119 | - | |
| 120 | - | |
| 121 | -} | |
| 1 | +package com.bsth.data.schedule.signal; | |
| 2 | + | |
| 3 | +import com.bsth.data.schedule.DayOfSchedule; | |
| 4 | +import com.bsth.data.schedule.signal.entity.SchSiginCompate; | |
| 5 | +import com.bsth.entity.realcontrol.ScheduleRealInfo; | |
| 6 | +import com.bsth.util.db.DBUtils_MS; | |
| 7 | +import org.apache.commons.lang3.StringUtils; | |
| 8 | +import org.slf4j.Logger; | |
| 9 | +import org.slf4j.LoggerFactory; | |
| 10 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 11 | +import org.springframework.jdbc.core.BatchPreparedStatementSetter; | |
| 12 | +import org.springframework.jdbc.core.JdbcTemplate; | |
| 13 | +import org.springframework.jdbc.datasource.DataSourceTransactionManager; | |
| 14 | +import org.springframework.stereotype.Component; | |
| 15 | +import org.springframework.transaction.TransactionDefinition; | |
| 16 | +import org.springframework.transaction.TransactionStatus; | |
| 17 | +import org.springframework.transaction.support.DefaultTransactionDefinition; | |
| 18 | + | |
| 19 | +import java.sql.PreparedStatement; | |
| 20 | +import java.sql.SQLException; | |
| 21 | +import java.util.ArrayList; | |
| 22 | +import java.util.Collection; | |
| 23 | +import java.util.Date; | |
| 24 | +import java.util.List; | |
| 25 | + | |
| 26 | +/** | |
| 27 | + * 班次信号补全(写入数据库,网关以补发的形式提交运管处) | |
| 28 | + * Created by panzhao on 2017/8/13. | |
| 29 | + */ | |
| 30 | +@Component | |
| 31 | +public class SignalComplateHandler { | |
| 32 | + | |
| 33 | + @Autowired | |
| 34 | + DayOfSchedule dayOfSchedule; | |
| 35 | + | |
| 36 | + Logger log = LoggerFactory.getLogger(this.getClass()); | |
| 37 | + | |
| 38 | + public void handler(){ | |
| 39 | + Collection<ScheduleRealInfo> all = dayOfSchedule.findAll(); | |
| 40 | + List<SchSiginCompate> list = new ArrayList<>(); | |
| 41 | + | |
| 42 | + SchSiginCompate siginCompate; | |
| 43 | + Date d = new Date(); | |
| 44 | + long et = System.currentTimeMillis() - (1000 * 60 * 60 * 2), | |
| 45 | + st = et - (1000 * 60 * 60 * 2); | |
| 46 | + for(ScheduleRealInfo sch : all){ | |
| 47 | + if(sch.getDfsjT() > et || sch.getDfsjT() < st) | |
| 48 | + continue; | |
| 49 | + | |
| 50 | + //能自动完成的 | |
| 51 | + if(sch.getSiginCompate() >= 2) | |
| 52 | + continue; | |
| 53 | + | |
| 54 | + //烂班 | |
| 55 | + if(sch.isDestroy()) | |
| 56 | + continue; | |
| 57 | + | |
| 58 | + //空驶任务 | |
| 59 | + if(dayOfSchedule.emptyService(sch)) | |
| 60 | + continue; | |
| 61 | + | |
| 62 | + siginCompate = new SchSiginCompate(sch); | |
| 63 | + if(siginCompate == null || StringUtils.isEmpty(siginCompate.getDeciveId())) | |
| 64 | + continue; | |
| 65 | + | |
| 66 | + //标记已经补发 | |
| 67 | + sch.setSiginCompate(3); | |
| 68 | + //标记入库 | |
| 69 | + dayOfSchedule.save(sch); | |
| 70 | + siginCompate.setCreateDate(d); | |
| 71 | + list.add(siginCompate); | |
| 72 | + } | |
| 73 | + | |
| 74 | + put(list); | |
| 75 | + } | |
| 76 | + | |
| 77 | + public void put(final List<SchSiginCompate> list){ | |
| 78 | + if(null == list || list.size() == 0) | |
| 79 | + return; | |
| 80 | + | |
| 81 | + JdbcTemplate jdbcTemp = new JdbcTemplate(DBUtils_MS.getDataSource()); | |
| 82 | + //编程式事务 | |
| 83 | + DataSourceTransactionManager tran = new DataSourceTransactionManager(jdbcTemp.getDataSource()); | |
| 84 | + DefaultTransactionDefinition def = new DefaultTransactionDefinition(); | |
| 85 | + def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); | |
| 86 | + TransactionStatus status = tran.getTransaction(def); | |
| 87 | + | |
| 88 | + try{ | |
| 89 | + jdbcTemp.batchUpdate("insert into bsth_t_sigin_complate(id, rq, line_code, device_id, up_down, s_code, e_code, st, et, create_date, status) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", new BatchPreparedStatementSetter() { | |
| 90 | + @Override | |
| 91 | + public void setValues(PreparedStatement ps, int i) throws SQLException { | |
| 92 | + SchSiginCompate sc = list.get(i); | |
| 93 | + ps.setLong(1, sc.getId()); | |
| 94 | + ps.setString(2, sc.getRq()); | |
| 95 | + ps.setString(3, sc.getLineCode()); | |
| 96 | + ps.setString(4, sc.getDeciveId()); | |
| 97 | + ps.setInt(5, sc.getUpDown()); | |
| 98 | + ps.setString(6, sc.getsCode()); | |
| 99 | + ps.setString(7, sc.geteCode()); | |
| 100 | + ps.setLong(8, sc.getSt()); | |
| 101 | + ps.setLong(9, sc.getEt()); | |
| 102 | + ps.setDate(10, new java.sql.Date(sc.getCreateDate().getTime())); | |
| 103 | + ps.setInt(11, sc.getStatus()); | |
| 104 | + } | |
| 105 | + | |
| 106 | + @Override | |
| 107 | + public int getBatchSize() { | |
| 108 | + return list.size(); | |
| 109 | + } | |
| 110 | + }); | |
| 111 | + | |
| 112 | + tran.commit(status); | |
| 113 | + log.info("补信号班次入库," + list.size()); | |
| 114 | + }catch (Exception e){ | |
| 115 | + log.error("", e); | |
| 116 | + tran.rollback(status); | |
| 117 | + } | |
| 118 | + } | |
| 119 | + | |
| 120 | + | |
| 121 | +} | ... | ... |
src/main/java/com/bsth/data/schedule/signal/entity/SchSiginCompate.java
| 1 | -package com.bsth.data.schedule.signal.entity; | |
| 2 | - | |
| 3 | -import com.bsth.data.BasicData; | |
| 4 | -import com.bsth.entity.realcontrol.ScheduleRealInfo; | |
| 5 | - | |
| 6 | -import java.util.Date; | |
| 7 | - | |
| 8 | -/** | |
| 9 | - * 班次信号补偿 | |
| 10 | - * Created by panzhao on 2017/8/13. | |
| 11 | - */ | |
| 12 | -public class SchSiginCompate { | |
| 13 | - | |
| 14 | - /** 实际班次ID */ | |
| 15 | - private long id; | |
| 16 | - | |
| 17 | - /** 班次日期 */ | |
| 18 | - private String rq; | |
| 19 | - | |
| 20 | - /** 线路编码 */ | |
| 21 | - private String lineCode; | |
| 22 | - | |
| 23 | - /** 设备号 */ | |
| 24 | - private String deciveId; | |
| 25 | - | |
| 26 | - /** 上下行 */ | |
| 27 | - private int upDown; | |
| 28 | - | |
| 29 | - /** 起始站编码 */ | |
| 30 | - private String sCode; | |
| 31 | - | |
| 32 | - /** 终点站编码 */ | |
| 33 | - private String eCode; | |
| 34 | - | |
| 35 | - /** 开始时间戳 */ | |
| 36 | - private long st; | |
| 37 | - | |
| 38 | - /** 结束时间戳 */ | |
| 39 | - private long et; | |
| 40 | - | |
| 41 | - /** 入库时间 */ | |
| 42 | - private Date createDate; | |
| 43 | - | |
| 44 | - private int status = 0; | |
| 45 | - | |
| 46 | - public SchSiginCompate(ScheduleRealInfo sch) { | |
| 47 | - this.id = sch.getId(); | |
| 48 | - this.rq = sch.getScheduleDateStr(); | |
| 49 | - this.lineCode = sch.getXlBm(); | |
| 50 | - this.upDown = Integer.parseInt(sch.getXlDir()); | |
| 51 | - this.deciveId = BasicData.deviceId2NbbmMap.inverse().get(sch.getClZbh()); | |
| 52 | - this.sCode = sch.getQdzCode(); | |
| 53 | - this.eCode = sch.getZdzCode(); | |
| 54 | - this.st = sch.getDfsjT(); | |
| 55 | - this.et = sch.getZdsjT(); | |
| 56 | - | |
| 57 | - if(sch.getFcsjActualTime() != null) | |
| 58 | - this.st = sch.getFcsjActualTime(); | |
| 59 | - if(sch.getZdsjActualTime() != null) | |
| 60 | - this.et = sch.getZdsjActualTime(); | |
| 61 | - } | |
| 62 | - | |
| 63 | - public long getId() { | |
| 64 | - return id; | |
| 65 | - } | |
| 66 | - | |
| 67 | - public void setId(long id) { | |
| 68 | - this.id = id; | |
| 69 | - } | |
| 70 | - | |
| 71 | - public String getRq() { | |
| 72 | - return rq; | |
| 73 | - } | |
| 74 | - | |
| 75 | - public void setRq(String rq) { | |
| 76 | - this.rq = rq; | |
| 77 | - } | |
| 78 | - | |
| 79 | - public String getLineCode() { | |
| 80 | - return lineCode; | |
| 81 | - } | |
| 82 | - | |
| 83 | - public void setLineCode(String lineCode) { | |
| 84 | - this.lineCode = lineCode; | |
| 85 | - } | |
| 86 | - | |
| 87 | - public String getDeciveId() { | |
| 88 | - return deciveId; | |
| 89 | - } | |
| 90 | - | |
| 91 | - public void setDeciveId(String deciveId) { | |
| 92 | - this.deciveId = deciveId; | |
| 93 | - } | |
| 94 | - | |
| 95 | - public int getUpDown() { | |
| 96 | - return upDown; | |
| 97 | - } | |
| 98 | - | |
| 99 | - public void setUpDown(int upDown) { | |
| 100 | - this.upDown = upDown; | |
| 101 | - } | |
| 102 | - | |
| 103 | - public String getsCode() { | |
| 104 | - return sCode; | |
| 105 | - } | |
| 106 | - | |
| 107 | - public void setsCode(String sCode) { | |
| 108 | - this.sCode = sCode; | |
| 109 | - } | |
| 110 | - | |
| 111 | - public String geteCode() { | |
| 112 | - return eCode; | |
| 113 | - } | |
| 114 | - | |
| 115 | - public void seteCode(String eCode) { | |
| 116 | - this.eCode = eCode; | |
| 117 | - } | |
| 118 | - | |
| 119 | - public long getSt() { | |
| 120 | - return st; | |
| 121 | - } | |
| 122 | - | |
| 123 | - public void setSt(long st) { | |
| 124 | - this.st = st; | |
| 125 | - } | |
| 126 | - | |
| 127 | - public long getEt() { | |
| 128 | - return et; | |
| 129 | - } | |
| 130 | - | |
| 131 | - public void setEt(long et) { | |
| 132 | - this.et = et; | |
| 133 | - } | |
| 134 | - | |
| 135 | - public Date getCreateDate() { | |
| 136 | - return createDate; | |
| 137 | - } | |
| 138 | - | |
| 139 | - public void setCreateDate(Date createDate) { | |
| 140 | - this.createDate = createDate; | |
| 141 | - } | |
| 142 | - | |
| 143 | - public int getStatus() { | |
| 144 | - return status; | |
| 145 | - } | |
| 146 | - | |
| 147 | - public void setStatus(int status) { | |
| 148 | - this.status = status; | |
| 149 | - } | |
| 150 | -} | |
| 1 | +package com.bsth.data.schedule.signal.entity; | |
| 2 | + | |
| 3 | +import com.bsth.data.BasicData; | |
| 4 | +import com.bsth.entity.realcontrol.ScheduleRealInfo; | |
| 5 | + | |
| 6 | +import java.util.Date; | |
| 7 | + | |
| 8 | +/** | |
| 9 | + * 班次信号补偿 | |
| 10 | + * Created by panzhao on 2017/8/13. | |
| 11 | + */ | |
| 12 | +public class SchSiginCompate { | |
| 13 | + | |
| 14 | + /** 实际班次ID */ | |
| 15 | + private long id; | |
| 16 | + | |
| 17 | + /** 班次日期 */ | |
| 18 | + private String rq; | |
| 19 | + | |
| 20 | + /** 线路编码 */ | |
| 21 | + private String lineCode; | |
| 22 | + | |
| 23 | + /** 设备号 */ | |
| 24 | + private String deciveId; | |
| 25 | + | |
| 26 | + /** 上下行 */ | |
| 27 | + private int upDown; | |
| 28 | + | |
| 29 | + /** 起始站编码 */ | |
| 30 | + private String sCode; | |
| 31 | + | |
| 32 | + /** 终点站编码 */ | |
| 33 | + private String eCode; | |
| 34 | + | |
| 35 | + /** 开始时间戳 */ | |
| 36 | + private long st; | |
| 37 | + | |
| 38 | + /** 结束时间戳 */ | |
| 39 | + private long et; | |
| 40 | + | |
| 41 | + /** 入库时间 */ | |
| 42 | + private Date createDate; | |
| 43 | + | |
| 44 | + private int status = 0; | |
| 45 | + | |
| 46 | + public SchSiginCompate(ScheduleRealInfo sch) { | |
| 47 | + this.id = sch.getId(); | |
| 48 | + this.rq = sch.getScheduleDateStr(); | |
| 49 | + this.lineCode = sch.getXlBm(); | |
| 50 | + this.upDown = Integer.parseInt(sch.getXlDir()); | |
| 51 | + this.deciveId = BasicData.deviceId2NbbmMap.inverse().get(sch.getClZbh()); | |
| 52 | + this.sCode = sch.getQdzCode(); | |
| 53 | + this.eCode = sch.getZdzCode(); | |
| 54 | + this.st = sch.getDfsjT(); | |
| 55 | + this.et = sch.getZdsjT(); | |
| 56 | + | |
| 57 | + if(sch.getFcsjActualTime() != null) | |
| 58 | + this.st = sch.getFcsjActualTime(); | |
| 59 | + if(sch.getZdsjActualTime() != null) | |
| 60 | + this.et = sch.getZdsjActualTime(); | |
| 61 | + } | |
| 62 | + | |
| 63 | + public long getId() { | |
| 64 | + return id; | |
| 65 | + } | |
| 66 | + | |
| 67 | + public void setId(long id) { | |
| 68 | + this.id = id; | |
| 69 | + } | |
| 70 | + | |
| 71 | + public String getRq() { | |
| 72 | + return rq; | |
| 73 | + } | |
| 74 | + | |
| 75 | + public void setRq(String rq) { | |
| 76 | + this.rq = rq; | |
| 77 | + } | |
| 78 | + | |
| 79 | + public String getLineCode() { | |
| 80 | + return lineCode; | |
| 81 | + } | |
| 82 | + | |
| 83 | + public void setLineCode(String lineCode) { | |
| 84 | + this.lineCode = lineCode; | |
| 85 | + } | |
| 86 | + | |
| 87 | + public String getDeciveId() { | |
| 88 | + return deciveId; | |
| 89 | + } | |
| 90 | + | |
| 91 | + public void setDeciveId(String deciveId) { | |
| 92 | + this.deciveId = deciveId; | |
| 93 | + } | |
| 94 | + | |
| 95 | + public int getUpDown() { | |
| 96 | + return upDown; | |
| 97 | + } | |
| 98 | + | |
| 99 | + public void setUpDown(int upDown) { | |
| 100 | + this.upDown = upDown; | |
| 101 | + } | |
| 102 | + | |
| 103 | + public String getsCode() { | |
| 104 | + return sCode; | |
| 105 | + } | |
| 106 | + | |
| 107 | + public void setsCode(String sCode) { | |
| 108 | + this.sCode = sCode; | |
| 109 | + } | |
| 110 | + | |
| 111 | + public String geteCode() { | |
| 112 | + return eCode; | |
| 113 | + } | |
| 114 | + | |
| 115 | + public void seteCode(String eCode) { | |
| 116 | + this.eCode = eCode; | |
| 117 | + } | |
| 118 | + | |
| 119 | + public long getSt() { | |
| 120 | + return st; | |
| 121 | + } | |
| 122 | + | |
| 123 | + public void setSt(long st) { | |
| 124 | + this.st = st; | |
| 125 | + } | |
| 126 | + | |
| 127 | + public long getEt() { | |
| 128 | + return et; | |
| 129 | + } | |
| 130 | + | |
| 131 | + public void setEt(long et) { | |
| 132 | + this.et = et; | |
| 133 | + } | |
| 134 | + | |
| 135 | + public Date getCreateDate() { | |
| 136 | + return createDate; | |
| 137 | + } | |
| 138 | + | |
| 139 | + public void setCreateDate(Date createDate) { | |
| 140 | + this.createDate = createDate; | |
| 141 | + } | |
| 142 | + | |
| 143 | + public int getStatus() { | |
| 144 | + return status; | |
| 145 | + } | |
| 146 | + | |
| 147 | + public void setStatus(int status) { | |
| 148 | + this.status = status; | |
| 149 | + } | |
| 150 | +} | ... | ... |
src/main/java/com/bsth/entity/excep/ArrivalInfo.java
| ... | ... | @@ -61,11 +61,12 @@ public class ArrivalInfo { |
| 61 | 61 | private String jzsj; |
| 62 | 62 | /** -1 则信号有效,但程序标记为不使用 */ |
| 63 | 63 | private int flag = 0; |
| 64 | - | |
| 64 | + private Date dates; | |
| 65 | + private int route; | |
| 65 | 66 | public ArrivalInfo(){} |
| 66 | 67 | |
| 67 | 68 | public ArrivalInfo(String deviceId, long ts, String lineCode, int upDown, String stopNo, int inOut, long createDate, |
| 68 | - int weeksYear, String stopName) { | |
| 69 | + int weeksYear, String stopName,Date dates,int route) { | |
| 69 | 70 | |
| 70 | 71 | this.deviceId = deviceId; |
| 71 | 72 | this.ts = ts; |
| ... | ... | @@ -75,6 +76,8 @@ public class ArrivalInfo { |
| 75 | 76 | this.stopName = stopName; |
| 76 | 77 | this.inOut = inOut; |
| 77 | 78 | this.createDate = createDate; |
| 79 | + this.dates=dates; | |
| 80 | + this.route=route; | |
| 78 | 81 | } |
| 79 | 82 | |
| 80 | 83 | /* @Override |
| ... | ... | @@ -253,6 +256,22 @@ public class ArrivalInfo { |
| 253 | 256 | public void setPzh(String pzh) { |
| 254 | 257 | this.pzh = pzh; |
| 255 | 258 | } |
| 259 | + | |
| 260 | + public Date getDates() { | |
| 261 | + return dates; | |
| 262 | + } | |
| 263 | + | |
| 264 | + public void setDates(Date dates) { | |
| 265 | + this.dates = dates; | |
| 266 | + } | |
| 267 | + | |
| 268 | + public int getRoute() { | |
| 269 | + return route; | |
| 270 | + } | |
| 271 | + | |
| 272 | + public void setRoute(int route) { | |
| 273 | + this.route = route; | |
| 274 | + } | |
| 256 | 275 | |
| 257 | 276 | |
| 258 | 277 | ... | ... |
src/main/java/com/bsth/entity/report/MileageReport.java
0 → 100644
| 1 | +package com.bsth.entity.report; | |
| 2 | + | |
| 3 | +import java.util.Date; | |
| 4 | + | |
| 5 | +/** | |
| 6 | + * @ClassName: MileageReport.java | |
| 7 | + * @Description: TODO(营运里程修正报表) | |
| 8 | + * @author: YouRuiFeng | |
| 9 | + * @date: 2017-8-14 上午11:09:19 | |
| 10 | + * | |
| 11 | + */ | |
| 12 | +public class MileageReport { | |
| 13 | + /** 公司编码 */ | |
| 14 | + private String companyId; | |
| 15 | + | |
| 16 | + /** 分公司编码 */ | |
| 17 | + private String subCompanyId; | |
| 18 | + | |
| 19 | + /** 公司名称 */ | |
| 20 | + private String companyName; | |
| 21 | + | |
| 22 | + /** 分公司名称 */ | |
| 23 | + private String subCompanyName; | |
| 24 | + | |
| 25 | + /** 线路编码 */ | |
| 26 | + private String lineCode; | |
| 27 | + | |
| 28 | + /** 线路名称 */ | |
| 29 | + private String lineName; | |
| 30 | + | |
| 31 | + /** 总营运公里 */ | |
| 32 | + private double zgl; | |
| 33 | + | |
| 34 | + /** 实际运营公里 */ | |
| 35 | + private double sjyygl; | |
| 36 | + | |
| 37 | + /** 实际空驶公里 */ | |
| 38 | + private double sjksgl; | |
| 39 | + | |
| 40 | + /** 手动待发公里 */ | |
| 41 | + private double sddfgl; | |
| 42 | + | |
| 43 | + /** 自动代发公里 */ | |
| 44 | + private double zddfgl; | |
| 45 | + | |
| 46 | + /** 完全无Gps信号公里 */ | |
| 47 | + private double wqwxhgl; | |
| 48 | + | |
| 49 | + /** 部分无Gps公里 */ | |
| 50 | + private double bfwxhgl; | |
| 51 | + | |
| 52 | + /** 漂移公里 */ | |
| 53 | + private double pygl; | |
| 54 | + | |
| 55 | + /** 临加公里 */ | |
| 56 | + private double ljgl; | |
| 57 | + | |
| 58 | + /** 子任务 */ | |
| 59 | + private double zrwgl; | |
| 60 | + | |
| 61 | + /** 其他*/ | |
| 62 | + private String other; | |
| 63 | + | |
| 64 | + /** 备注 */ | |
| 65 | + private String remarks; | |
| 66 | + | |
| 67 | + /** 日期 (班次日期) */ | |
| 68 | + private String rq; | |
| 69 | + | |
| 70 | + private Date createDate; | |
| 71 | + | |
| 72 | + | |
| 73 | + public String getCompanyId() { | |
| 74 | + return companyId; | |
| 75 | + } | |
| 76 | + | |
| 77 | + public void setCompanyId(String companyId) { | |
| 78 | + this.companyId = companyId; | |
| 79 | + } | |
| 80 | + | |
| 81 | + public String getSubCompanyId() { | |
| 82 | + return subCompanyId; | |
| 83 | + } | |
| 84 | + | |
| 85 | + public void setSubCompanyId(String subCompanyId) { | |
| 86 | + this.subCompanyId = subCompanyId; | |
| 87 | + } | |
| 88 | + | |
| 89 | + public String getCompanyName() { | |
| 90 | + return companyName; | |
| 91 | + } | |
| 92 | + | |
| 93 | + public void setCompanyName(String companyName) { | |
| 94 | + this.companyName = companyName; | |
| 95 | + } | |
| 96 | + | |
| 97 | + public String getSubCompanyName() { | |
| 98 | + return subCompanyName; | |
| 99 | + } | |
| 100 | + | |
| 101 | + public void setSubCompanyName(String subCompanyName) { | |
| 102 | + this.subCompanyName = subCompanyName; | |
| 103 | + } | |
| 104 | + | |
| 105 | + public String getLineCode() { | |
| 106 | + return lineCode; | |
| 107 | + } | |
| 108 | + | |
| 109 | + public void setLineCode(String lineCode) { | |
| 110 | + this.lineCode = lineCode; | |
| 111 | + } | |
| 112 | + | |
| 113 | + public String getLineName() { | |
| 114 | + return lineName; | |
| 115 | + } | |
| 116 | + | |
| 117 | + public void setLineName(String lineName) { | |
| 118 | + this.lineName = lineName; | |
| 119 | + } | |
| 120 | + | |
| 121 | + public double getZgl() { | |
| 122 | + return zgl; | |
| 123 | + } | |
| 124 | + | |
| 125 | + public void setZgl(double zgl) { | |
| 126 | + this.zgl = zgl; | |
| 127 | + } | |
| 128 | + | |
| 129 | + public double getSjyygl() { | |
| 130 | + return sjyygl; | |
| 131 | + } | |
| 132 | + | |
| 133 | + public void setSjyygl(double sjyygl) { | |
| 134 | + this.sjyygl = sjyygl; | |
| 135 | + } | |
| 136 | + | |
| 137 | + public double getSjksgl() { | |
| 138 | + return sjksgl; | |
| 139 | + } | |
| 140 | + | |
| 141 | + public void setSjksgl(double sjksgl) { | |
| 142 | + this.sjksgl = sjksgl; | |
| 143 | + } | |
| 144 | + | |
| 145 | + public double getSddfgl() { | |
| 146 | + return sddfgl; | |
| 147 | + } | |
| 148 | + | |
| 149 | + public void setSddfgl(double sddfgl) { | |
| 150 | + this.sddfgl = sddfgl; | |
| 151 | + } | |
| 152 | + | |
| 153 | + public double getZddfgl() { | |
| 154 | + return zddfgl; | |
| 155 | + } | |
| 156 | + | |
| 157 | + public void setZddfgl(double zddfgl) { | |
| 158 | + this.zddfgl = zddfgl; | |
| 159 | + } | |
| 160 | + | |
| 161 | + public double getWqwxhgl() { | |
| 162 | + return wqwxhgl; | |
| 163 | + } | |
| 164 | + | |
| 165 | + public void setWqwxhgl(double wqwxhgl) { | |
| 166 | + this.wqwxhgl = wqwxhgl; | |
| 167 | + } | |
| 168 | + | |
| 169 | + public double getBfwxhgl() { | |
| 170 | + return bfwxhgl; | |
| 171 | + } | |
| 172 | + | |
| 173 | + public void setBfwxhgl(double bfwxhgl) { | |
| 174 | + this.bfwxhgl = bfwxhgl; | |
| 175 | + } | |
| 176 | + | |
| 177 | + public double getPygl() { | |
| 178 | + return pygl; | |
| 179 | + } | |
| 180 | + | |
| 181 | + public void setPygl(double pygl) { | |
| 182 | + this.pygl = pygl; | |
| 183 | + } | |
| 184 | + | |
| 185 | + public double getLjgl() { | |
| 186 | + return ljgl; | |
| 187 | + } | |
| 188 | + | |
| 189 | + public void setLjgl(double ljgl) { | |
| 190 | + this.ljgl = ljgl; | |
| 191 | + } | |
| 192 | + | |
| 193 | + public double getZrwgl() { | |
| 194 | + return zrwgl; | |
| 195 | + } | |
| 196 | + | |
| 197 | + public void setZrwgl(double zrwgl) { | |
| 198 | + this.zrwgl = zrwgl; | |
| 199 | + } | |
| 200 | + | |
| 201 | + public String getOther() { | |
| 202 | + return other; | |
| 203 | + } | |
| 204 | + | |
| 205 | + public void setOther(String other) { | |
| 206 | + this.other = other; | |
| 207 | + } | |
| 208 | + | |
| 209 | + public String getRemarks() { | |
| 210 | + return remarks; | |
| 211 | + } | |
| 212 | + | |
| 213 | + public void setRemarks(String remarks) { | |
| 214 | + this.remarks = remarks; | |
| 215 | + } | |
| 216 | + | |
| 217 | + public String getRq() { | |
| 218 | + return rq; | |
| 219 | + } | |
| 220 | + | |
| 221 | + public void setRq(String rq) { | |
| 222 | + this.rq = rq; | |
| 223 | + } | |
| 224 | + | |
| 225 | + public Date getCreateDate() { | |
| 226 | + return createDate; | |
| 227 | + } | |
| 228 | + | |
| 229 | + public void setCreateDate(Date createDate) { | |
| 230 | + this.createDate = createDate; | |
| 231 | + } | |
| 232 | + | |
| 233 | + | |
| 234 | +} | ... | ... |
src/main/java/com/bsth/entity/report/ScheduleCorrectionReport.java
0 → 100644
| 1 | +package com.bsth.entity.report; | |
| 2 | + | |
| 3 | +import java.util.Date; | |
| 4 | + | |
| 5 | +/** | |
| 6 | + * @ClassName: MileageReport.java | |
| 7 | + * @Description: TODO(营运里程修正报表) | |
| 8 | + * @author: YouRuiFeng | |
| 9 | + * @date: 2017-8-14 上午11:09:19 | |
| 10 | + * | |
| 11 | + */ | |
| 12 | +public class ScheduleCorrectionReport { | |
| 13 | + /** 公司编码 */ | |
| 14 | + private String companyId; | |
| 15 | + | |
| 16 | + /** 分公司编码 */ | |
| 17 | + private String subCompanyId; | |
| 18 | + | |
| 19 | + /** 公司名称 */ | |
| 20 | + private String companyName; | |
| 21 | + | |
| 22 | + /** 分公司名称 */ | |
| 23 | + private String subCompanyName; | |
| 24 | + | |
| 25 | + /** 线路编码 */ | |
| 26 | + private String lineCode; | |
| 27 | + | |
| 28 | + /** 线路名称 */ | |
| 29 | + private String lineName; | |
| 30 | + | |
| 31 | + /** 总营运班次 */ | |
| 32 | + private int zbc; | |
| 33 | + | |
| 34 | + /** 实际运营班次 */ | |
| 35 | + private int sjyybc; | |
| 36 | + | |
| 37 | + /** 实际空驶班次 */ | |
| 38 | + private int sjksbc; | |
| 39 | + | |
| 40 | + /** 手动待发班次 */ | |
| 41 | + private int sddfbc; | |
| 42 | + | |
| 43 | + /** 自动代发班次 */ | |
| 44 | + private int zddfbc; | |
| 45 | + | |
| 46 | + /** 完全无Gps信号班次 */ | |
| 47 | + private int wqwxhbc; | |
| 48 | + | |
| 49 | + /** 部分无Gps班次 */ | |
| 50 | + private int bfwxhbc; | |
| 51 | + | |
| 52 | + /** 漂移班次 */ | |
| 53 | + private int pybc; | |
| 54 | + | |
| 55 | + /** 临加班次 */ | |
| 56 | + private int ljbc; | |
| 57 | + | |
| 58 | + /** 子任务 */ | |
| 59 | + private int zrwbc; | |
| 60 | + | |
| 61 | + /** 其他*/ | |
| 62 | + private String other; | |
| 63 | + | |
| 64 | + /** 备注 */ | |
| 65 | + private String remarks; | |
| 66 | + | |
| 67 | + /** 日期 (班次日期) */ | |
| 68 | + private String rq; | |
| 69 | + | |
| 70 | + private Date createDate; | |
| 71 | + | |
| 72 | + public String getCompanyId() { | |
| 73 | + return companyId; | |
| 74 | + } | |
| 75 | + | |
| 76 | + public void setCompanyId(String companyId) { | |
| 77 | + this.companyId = companyId; | |
| 78 | + } | |
| 79 | + | |
| 80 | + public String getSubCompanyId() { | |
| 81 | + return subCompanyId; | |
| 82 | + } | |
| 83 | + | |
| 84 | + public void setSubCompanyId(String subCompanyId) { | |
| 85 | + this.subCompanyId = subCompanyId; | |
| 86 | + } | |
| 87 | + | |
| 88 | + public String getCompanyName() { | |
| 89 | + return companyName; | |
| 90 | + } | |
| 91 | + | |
| 92 | + public void setCompanyName(String companyName) { | |
| 93 | + this.companyName = companyName; | |
| 94 | + } | |
| 95 | + | |
| 96 | + public String getSubCompanyName() { | |
| 97 | + return subCompanyName; | |
| 98 | + } | |
| 99 | + | |
| 100 | + public void setSubCompanyName(String subCompanyName) { | |
| 101 | + this.subCompanyName = subCompanyName; | |
| 102 | + } | |
| 103 | + | |
| 104 | + public String getLineCode() { | |
| 105 | + return lineCode; | |
| 106 | + } | |
| 107 | + | |
| 108 | + public void setLineCode(String lineCode) { | |
| 109 | + this.lineCode = lineCode; | |
| 110 | + } | |
| 111 | + | |
| 112 | + public String getLineName() { | |
| 113 | + return lineName; | |
| 114 | + } | |
| 115 | + | |
| 116 | + public void setLineName(String lineName) { | |
| 117 | + this.lineName = lineName; | |
| 118 | + } | |
| 119 | + | |
| 120 | + public int getZbc() { | |
| 121 | + return zbc; | |
| 122 | + } | |
| 123 | + | |
| 124 | + public void setZbc(int zbc) { | |
| 125 | + this.zbc = zbc; | |
| 126 | + } | |
| 127 | + | |
| 128 | + public int getSjyybc() { | |
| 129 | + return sjyybc; | |
| 130 | + } | |
| 131 | + | |
| 132 | + public void setSjyybc(int sjyybc) { | |
| 133 | + this.sjyybc = sjyybc; | |
| 134 | + } | |
| 135 | + | |
| 136 | + public int getSjksbc() { | |
| 137 | + return sjksbc; | |
| 138 | + } | |
| 139 | + | |
| 140 | + public void setSjksbc(int sjksbc) { | |
| 141 | + this.sjksbc = sjksbc; | |
| 142 | + } | |
| 143 | + | |
| 144 | + public int getSddfbc() { | |
| 145 | + return sddfbc; | |
| 146 | + } | |
| 147 | + | |
| 148 | + public void setSddfbc(int sddfbc) { | |
| 149 | + this.sddfbc = sddfbc; | |
| 150 | + } | |
| 151 | + | |
| 152 | + public int getZddfbc() { | |
| 153 | + return zddfbc; | |
| 154 | + } | |
| 155 | + | |
| 156 | + public void setZddfbc(int zddfbc) { | |
| 157 | + this.zddfbc = zddfbc; | |
| 158 | + } | |
| 159 | + | |
| 160 | + public int getWqwxhbc() { | |
| 161 | + return wqwxhbc; | |
| 162 | + } | |
| 163 | + | |
| 164 | + public void setWqwxhbc(int wqwxhbc) { | |
| 165 | + this.wqwxhbc = wqwxhbc; | |
| 166 | + } | |
| 167 | + | |
| 168 | + public int getBfwxhbc() { | |
| 169 | + return bfwxhbc; | |
| 170 | + } | |
| 171 | + | |
| 172 | + public void setBfwxhbc(int bfwxhbc) { | |
| 173 | + this.bfwxhbc = bfwxhbc; | |
| 174 | + } | |
| 175 | + | |
| 176 | + public int getPybc() { | |
| 177 | + return pybc; | |
| 178 | + } | |
| 179 | + | |
| 180 | + public void setPybc(int pybc) { | |
| 181 | + this.pybc = pybc; | |
| 182 | + } | |
| 183 | + | |
| 184 | + public int getLjbc() { | |
| 185 | + return ljbc; | |
| 186 | + } | |
| 187 | + | |
| 188 | + public void setLjbc(int ljbc) { | |
| 189 | + this.ljbc = ljbc; | |
| 190 | + } | |
| 191 | + | |
| 192 | + public int getZrwbc() { | |
| 193 | + return zrwbc; | |
| 194 | + } | |
| 195 | + | |
| 196 | + public void setZrwbc(int zrwbc) { | |
| 197 | + this.zrwbc = zrwbc; | |
| 198 | + } | |
| 199 | + | |
| 200 | + public String getOther() { | |
| 201 | + return other; | |
| 202 | + } | |
| 203 | + | |
| 204 | + public void setOther(String other) { | |
| 205 | + this.other = other; | |
| 206 | + } | |
| 207 | + | |
| 208 | + public String getRemarks() { | |
| 209 | + return remarks; | |
| 210 | + } | |
| 211 | + | |
| 212 | + public void setRemarks(String remarks) { | |
| 213 | + this.remarks = remarks; | |
| 214 | + } | |
| 215 | + | |
| 216 | + public String getRq() { | |
| 217 | + return rq; | |
| 218 | + } | |
| 219 | + | |
| 220 | + public void setRq(String rq) { | |
| 221 | + this.rq = rq; | |
| 222 | + } | |
| 223 | + | |
| 224 | + public Date getCreateDate() { | |
| 225 | + return createDate; | |
| 226 | + } | |
| 227 | + | |
| 228 | + public void setCreateDate(Date createDate) { | |
| 229 | + this.createDate = createDate; | |
| 230 | + } | |
| 231 | + | |
| 232 | +} | ... | ... |
src/main/java/com/bsth/repository/oil/DlbRepository.java
| ... | ... | @@ -53,7 +53,7 @@ public interface DlbRepository extends BaseRepository<Dlb, Integer>{ |
| 53 | 53 | + " ssgsdm like %?2% " |
| 54 | 54 | + " and fgsdm like %?3%" |
| 55 | 55 | + " and xlbm like %?4% and nbbm like %?5% " |
| 56 | - + " group by nbbm,rq,ssgsdm,fgsdm,xlbm",nativeQuery=true) | |
| 56 | + + " group by nbbm,rq,ssgsdm,fgsdm",nativeQuery=true) | |
| 57 | 57 | List<Object[]> checkNbmmNum(String rq, String gsbm,String fgsbm,String xlbm,String nbbm); |
| 58 | 58 | |
| 59 | 59 | @Query(value="select nbbm,sum(cdl*100) as cdl ,sum(zlc*100) as zlc from bsth_c_dlb where to_days(?1)=to_days(rq) and " | ... | ... |
src/main/java/com/bsth/repository/oil/JdlRepository.java
| ... | ... | @@ -17,25 +17,25 @@ public interface JdlRepository extends BaseRepository<Jdl, Integer>{ |
| 17 | 17 | @Transactional |
| 18 | 18 | @Modifying |
| 19 | 19 | @Query(value="INSERT INTO bsth_c_jdl("+ |
| 20 | - "gs_bm, gs_name, fgs_bm, fgs_name, rq, nbbm, jdl, jdz, remarks, creater_date,jsy)" + | |
| 20 | + "gs_bm, gs_name, fgs_bm, fgs_name, rq, nbbm, jdl, jdz, remarks, creater_date)" + | |
| 21 | 21 | " VALUES(" + |
| 22 | - "?1,?2,?3,?4,str_to_date(?5,'%Y-%m-%d'),?6,?7,?8,?9,str_to_date(?10,'%Y-%m-%d %H:%i:%s'),?11)", nativeQuery=true) | |
| 23 | - void insertData(String gsbm, String gsName, String fgsbm, String fgsName, String rq, String nbbm, String jdl, String jdz, String remarks, String createrDate,String jsy); | |
| 22 | + "?1,?2,?3,?4,str_to_date(?5,'%Y-%m-%d'),?6,?7,?8,?9,str_to_date(?10,'%Y-%m-%d %H:%i:%s'))", nativeQuery=true) | |
| 23 | + void insertData(String gsbm, String gsName, String fgsbm, String fgsName, String rq, String nbbm, String jdl, String jdz, String remarks, String createrDate); | |
| 24 | 24 | |
| 25 | - @Query(value="SELECT * FROM bsth_c_jdl where gs_bm = ?1 and fgs_bm = ?2 and rq = ?3 and nbbm like %?4% and jsy like %?5%" ,nativeQuery=true) | |
| 26 | - List<Jdl> query(String gsbm, String fgsbm, String rq, String nbbm,String jsy); | |
| 25 | + @Query(value="SELECT * FROM bsth_c_jdl where gs_bm = ?1 and fgs_bm = ?2 and rq = ?3 and nbbm like %?4% " ,nativeQuery=true) | |
| 26 | + List<Jdl> query(String gsbm, String fgsbm, String rq, String nbbm); | |
| 27 | 27 | |
| 28 | 28 | |
| 29 | 29 | @Query(value="SELECT * FROM bsth_c_jdl where rq = ?",nativeQuery=true) |
| 30 | 30 | List<Jdl> JdlList( String rq); |
| 31 | 31 | |
| 32 | - @Query(value="SELECT jdl FROM bsth_c_jdl where gs_bm = ?1 and fgs_bm = ?2 and rq = ?3 and nbbm = ?4 and jsy = ?5 ",nativeQuery=true) | |
| 33 | - List<Double> queryBySame(String gsbm, String fgsbm, String rq, String nbbm, String jsy); | |
| 32 | + @Query(value="SELECT jdl FROM bsth_c_jdl where gs_bm = ?1 and fgs_bm = ?2 and rq = ?3 and nbbm = ?4 ",nativeQuery=true) | |
| 33 | + List<Double> queryBySame(String gsbm, String fgsbm, String rq, String nbbm); | |
| 34 | 34 | |
| 35 | 35 | |
| 36 | 36 | @Transactional |
| 37 | 37 | @Modifying |
| 38 | - @Query(value="UPDATE bsth_c_jdl set jdl = ?1 where gs_bm = ?2 and fgs_bm = ?3 and rq = ?4 and nbbm = ?5 and jsy = ?6",nativeQuery=true) | |
| 39 | - void UpdateJdl(String jdl, String gsbm, String fgsbm, String rq, String nbbm, String jsy); | |
| 38 | + @Query(value="UPDATE bsth_c_jdl set jdl = ?1 where gs_bm = ?2 and fgs_bm = ?3 and rq = ?4 and nbbm = ?5",nativeQuery=true) | |
| 39 | + void UpdateJdl(String jdl, String gsbm, String fgsbm, String rq, String nbbm); | |
| 40 | 40 | |
| 41 | 41 | } | ... | ... |
src/main/java/com/bsth/service/impl/BusIntervalServiceImpl.java
| ... | ... | @@ -673,9 +673,10 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 673 | 673 | if(sfqr == 1){ |
| 674 | 674 | where += " and zdsj >= '"+times1+"' and fcsj <= '"+times2+"'"; |
| 675 | 675 | } |
| 676 | - where += " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'"; | |
| 676 | +// where += " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'"; | |
| 677 | + where += " and bc_type != 'ldks'"; | |
| 677 | 678 | |
| 678 | - String sql = "select id, schedule_date_Str, real_exec_date, xl_name, lp_name, bcs, bcsj, jhlc," | |
| 679 | + String sql = "select id, schedule_date_Str, real_exec_date, xl_name, lp_name, bcs, bcsj, jhlc, bc_type," | |
| 679 | 680 | + " fcsj, fcsj_actual, zdsj, zdsj_actual, qdz_name, zdz_name, xl_dir, status, remarks, gs_name, fgs_name, sp_id" |
| 680 | 681 | + " from bsth_c_s_sp_info_real where DATE_FORMAT(schedule_date,'%Y-%m-%d') >= '"+startDate+"'" |
| 681 | 682 | + " and DATE_FORMAT(schedule_date,'%Y-%m-%d') <= '"+endDate+"'"+where+""; |
| ... | ... | @@ -699,6 +700,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 699 | 700 | schedule.setZdsjActual(rs.getString("zdsj_actual")); |
| 700 | 701 | schedule.setQdzName(rs.getString("qdz_name")); |
| 701 | 702 | schedule.setZdzName(rs.getString("zdz_name")); |
| 703 | + schedule.setBcType(rs.getString("bc_type")); | |
| 702 | 704 | schedule.setXlDir(rs.getString("xl_dir")); |
| 703 | 705 | schedule.setStatus(rs.getInt("status")); |
| 704 | 706 | schedule.setRemarks(rs.getString("remarks")); |
| ... | ... | @@ -832,7 +834,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 832 | 834 | if(model.length() != 0){ |
| 833 | 835 | sql = "select sp.id from " |
| 834 | 836 | + "(select id, tt_info, xl_bm, lp, fcsj from bsth_c_s_sp_info where schedule_date >= '"+startDate+"' and schedule_date <= '"+endDate+"'" |
| 835 | - + " and tt_info = '" + model + "' and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks') sp" | |
| 837 | + + " and tt_info = '" + model + "' and bc_type != 'ldks') sp" | |
| 836 | 838 | + " left join bsth_c_s_ttinfo_detail tt on sp.tt_info = tt.ttinfo and sp.xl_bm = tt.xl and sp.lp = tt.lp and sp.fcsj = tt.fcsj"; |
| 837 | 839 | |
| 838 | 840 | ttList = jdbcTemplate.query(sql, |
| ... | ... | @@ -915,6 +917,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 915 | 917 | for(String key : keyMap.keySet()){ |
| 916 | 918 | Map<String, Object> tempMap = new HashMap<String, Object>(); |
| 917 | 919 | Map<Long, ScheduleRealInfo> sortMap = new HashMap<Long, ScheduleRealInfo>(); |
| 920 | + Map<Long, Map<String, Object>> sortMap1 = new HashMap<Long, Map<String, Object>>(); | |
| 918 | 921 | List<Map<String, Object>> mapList = new ArrayList<Map<String, Object>>(); |
| 919 | 922 | List<Long> keyList = new ArrayList<Long>(); |
| 920 | 923 | List<Long> keyList2 = new ArrayList<Long>(); |
| ... | ... | @@ -946,30 +949,25 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 946 | 949 | for(int i = 1; i < keyList.size(); i++){ |
| 947 | 950 | ScheduleRealInfo schedule1 = sortMap.get(keyList.get(i - 1)); |
| 948 | 951 | ScheduleRealInfo schedule2 = sortMap.get(keyList.get(i)); |
| 949 | - if(!tsSet.contains(schedule1.getId())){ | |
| 950 | - if(sfqr == 1 && time1 > schedule1.getFcsjT()){ | |
| 951 | - jhyysj += schedule2.getFcsjT() - time1; | |
| 952 | - }else if(sfqr == 1 && time2 < schedule2.getFcsjT()){ | |
| 953 | - jhyysj += time2 - schedule1.getFcsjT(); | |
| 952 | + if(!tsSet.contains(schedule1.getId()) && !schedule1.getBcType().toString().equals("in") && !schedule1.getBcType().toString().equals("out")){ | |
| 953 | + long fcsj1 = schedule1.getFcsjT(); | |
| 954 | + long fcsj2 = schedule2.getFcsjT(); | |
| 955 | + if(tsSet.contains(schedule2.getId()) || schedule2.getBcType().toString().equals("in") || schedule2.getBcType().toString().equals("out")){ | |
| 956 | + fcsj2 = schedule1.getZdsjT(); | |
| 957 | + } | |
| 958 | + if(sfqr == 1 && time1 > fcsj1){ | |
| 959 | + jhyysj += fcsj2 - time1; | |
| 960 | + }else if(sfqr == 1 && time2 < fcsj2){ | |
| 961 | + jhyysj += time2 - fcsj1; | |
| 954 | 962 | }else{ |
| 955 | - jhyysj += schedule2.getFcsjT() - schedule1.getFcsjT(); | |
| 963 | + jhyysj += fcsj2 - fcsj1; | |
| 956 | 964 | } |
| 957 | - jhyysj1 += schedule2.getFcsjT() - schedule1.getFcsjT(); | |
| 958 | - } | |
| 959 | - long zdsj2 = schedule2.getZdsjT(); | |
| 960 | - long fcsj2 = schedule2.getFcsjT(); | |
| 961 | - if(fcsj2 > zdsj2) | |
| 962 | - zdsj2 += 1440l; | |
| 963 | - if(sfqr == 1 && time1 > fcsj2){ | |
| 964 | - jhyssj += zdsj2 - time1; | |
| 965 | - }else if(sfqr == 1 && time2 < zdsj2){ | |
| 966 | - jhyssj += time2 - fcsj2; | |
| 967 | - }else{ | |
| 968 | - jhyssj += zdsj2 - fcsj2; | |
| 965 | + if(jhyysj < 0){ | |
| 966 | + System.out.println(fcsj2 + " - " + fcsj1); | |
| 967 | + } | |
| 968 | + jhyysj1 += fcsj2 - fcsj1; | |
| 969 | 969 | } |
| 970 | - jhyssj1 += zdsj2 - fcsj2; | |
| 971 | - jhlc += schedule2.getJhlc()==null?0:schedule2.getJhlc(); | |
| 972 | - if(i == 1){ | |
| 970 | + if(i == 1 && schedule1.getBcType().toString().equals("normal")){ | |
| 973 | 971 | long zdsj1 = schedule1.getZdsjT(); |
| 974 | 972 | long fcsj1 = schedule1.getFcsjT(); |
| 975 | 973 | if(fcsj1 > zdsj1) |
| ... | ... | @@ -984,12 +982,27 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 984 | 982 | jhyssj1 += zdsj1 - fcsj1; |
| 985 | 983 | jhlc += schedule1.getJhlc()==null?0:schedule1.getJhlc(); |
| 986 | 984 | } |
| 985 | + if(schedule2.getBcType().toString().equals("normal")){ | |
| 986 | + long zdsj2 = schedule2.getZdsjT(); | |
| 987 | + long fcsj2 = schedule2.getFcsjT(); | |
| 988 | + if(fcsj2 > zdsj2) | |
| 989 | + zdsj2 += 1440l; | |
| 990 | + if(sfqr == 1 && time1 > fcsj2){ | |
| 991 | + jhyssj += zdsj2 - time1; | |
| 992 | + }else if(sfqr == 1 && time2 < zdsj2){ | |
| 993 | + jhyssj += time2 - fcsj2; | |
| 994 | + }else{ | |
| 995 | + jhyssj += zdsj2 - fcsj2; | |
| 996 | + } | |
| 997 | + jhyssj1 += zdsj2 - fcsj2; | |
| 998 | + jhlc += schedule2.getJhlc()==null?0:schedule2.getJhlc(); | |
| 999 | + } | |
| 987 | 1000 | } |
| 988 | 1001 | |
| 989 | 1002 | for(int i = 0; i < keyList.size(); i++){ |
| 990 | 1003 | Map<String, Object> m = new HashMap<String, Object>(); |
| 991 | 1004 | ScheduleRealInfo schedule = sortMap.get(keyList.get(i)); |
| 992 | - | |
| 1005 | + | |
| 993 | 1006 | if(cMap.containsKey(schedule.getId())){ |
| 994 | 1007 | List<ChildTaskPlan> cTasks = cMap.get(schedule.getId()); |
| 995 | 1008 | for(ChildTaskPlan childTaskPlan : cTasks){ |
| ... | ... | @@ -1012,6 +1025,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 1012 | 1025 | temp.put("fcsj", null); |
| 1013 | 1026 | } |
| 1014 | 1027 | } |
| 1028 | + temp.put("bcType", schedule.getBcType()); | |
| 1015 | 1029 | mapList.add(temp); |
| 1016 | 1030 | } |
| 1017 | 1031 | }else{ |
| ... | ... | @@ -1029,6 +1043,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 1029 | 1043 | m.put("zdsj", null); |
| 1030 | 1044 | m.put("fcsj", null); |
| 1031 | 1045 | } |
| 1046 | + m.put("bcType", schedule.getBcType()); | |
| 1032 | 1047 | mapList.add(m); |
| 1033 | 1048 | } |
| 1034 | 1049 | } |
| ... | ... | @@ -1036,6 +1051,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 1036 | 1051 | for(Map<String, Object> m : mapList){ |
| 1037 | 1052 | if(m.get("fcsj") != null && m.get("fcsj").toString().trim().length()!=0){ |
| 1038 | 1053 | keyList2.add(Long.valueOf(m.get("fcsj").toString())); |
| 1054 | + sortMap1.put(Long.valueOf(m.get("fcsj").toString()), m); | |
| 1039 | 1055 | } |
| 1040 | 1056 | } |
| 1041 | 1057 | Collections.sort(keyList2); |
| ... | ... | @@ -1043,36 +1059,31 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 1043 | 1059 | for(int i = 1; i < keyList2.size(); i++){ |
| 1044 | 1060 | long fcsj1 = keyList2.get(i - 1); |
| 1045 | 1061 | long fcsj2 = keyList2.get(i); |
| 1046 | - if(fcsj2 - fcsj1 < 90){ | |
| 1047 | - if(sfqr == 1 && time1 > fcsj1){ | |
| 1048 | - sjyysj += fcsj2 - time1; | |
| 1049 | - }else if(sfqr == 1 && time2 < fcsj2){ | |
| 1050 | - sjyysj += time2 - fcsj1; | |
| 1051 | - }else{ | |
| 1052 | - sjyysj += fcsj2 - fcsj1; | |
| 1053 | - } | |
| 1054 | - sjyysj1 += fcsj2 - fcsj1; | |
| 1062 | + Map<String, Object> m1 = sortMap1.get(fcsj1); | |
| 1063 | + Map<String, Object> m2 = sortMap1.get(fcsj2); | |
| 1064 | + if(m1.get("bcType").toString().equals("in") || m1.get("bcType").toString().equals("out")) | |
| 1065 | + continue; | |
| 1066 | + if(m2.get("bcType").toString().equals("in") || m2.get("bcType").toString().equals("out")){ | |
| 1067 | + fcsj2 = Long.valueOf(m1.get("zdsj").toString()); | |
| 1068 | + } else if(i == keyList.size() - 1){ | |
| 1069 | + fcsj2 = Long.valueOf(m2.get("zdsj").toString()); | |
| 1070 | + } | |
| 1071 | + if(sfqr == 1 && time1 > fcsj1){ | |
| 1072 | + sjyysj += fcsj2 - time1; | |
| 1073 | + }else if(sfqr == 1 && time2 < fcsj2){ | |
| 1074 | + sjyysj += time2 - fcsj1; | |
| 1075 | + }else{ | |
| 1076 | + sjyysj += fcsj2 - fcsj1; | |
| 1055 | 1077 | } |
| 1078 | + sjyysj1 += fcsj2 - fcsj1; | |
| 1056 | 1079 | } |
| 1057 | 1080 | |
| 1058 | - for(int i = 1; i < mapList.size(); i++){ | |
| 1059 | - Map<String, Object> m1 = mapList.get(i - 1); | |
| 1060 | - Map<String, Object> m2 = mapList.get(i); | |
| 1061 | -// if(m1.get("fcsj") != null && m2.get("fcsj") != null){ | |
| 1062 | -// long fcsj2 = Long.valueOf(m2.get("fcsj").toString()); | |
| 1063 | -// long fcsj1 = Long.valueOf(m1.get("fcsj").toString()); | |
| 1064 | -// if(sfqr == 1 && time1 > fcsj1){ | |
| 1065 | -// sjyysj += fcsj2 - time1; | |
| 1066 | -// }else if(sfqr == 1 && time2 < fcsj2){ | |
| 1067 | -// sjyysj += time2 - fcsj1; | |
| 1068 | -// }else{ | |
| 1069 | -// sjyysj += fcsj2 - fcsj1; | |
| 1070 | -// } | |
| 1071 | -// sjyysj1 += fcsj2 - fcsj1; | |
| 1072 | -// } | |
| 1073 | - if(m2.get("fcsj") != null && m2.get("zdsj") != null){ | |
| 1074 | - long zdsj = Long.valueOf(m2.get("zdsj").toString()); | |
| 1075 | - long fcsj = Long.valueOf(m2.get("fcsj").toString()); | |
| 1081 | + for(int i = 0; i < mapList.size(); i++){ | |
| 1082 | + Map<String, Object> m = mapList.get(i); | |
| 1083 | + if(m.get("fcsj") != null && m.get("zdsj") != null && | |
| 1084 | + !m.get("bcType").toString().equals("in") && !m.get("bcType").toString().equals("out")){ | |
| 1085 | + long zdsj = Long.valueOf(m.get("zdsj").toString()); | |
| 1086 | + long fcsj = Long.valueOf(m.get("fcsj").toString()); | |
| 1076 | 1087 | if(fcsj > zdsj) |
| 1077 | 1088 | zdsj += 1440l; |
| 1078 | 1089 | if(sfqr == 1 && time1 > fcsj){ |
| ... | ... | @@ -1083,22 +1094,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { |
| 1083 | 1094 | sjyssj += zdsj - fcsj; |
| 1084 | 1095 | } |
| 1085 | 1096 | sjyssj1 += zdsj - fcsj; |
| 1086 | - sjlc += Double.valueOf(m2.get("lc").toString()); | |
| 1087 | - } | |
| 1088 | - if(i == 1 && m1.get("fcsj") != null && m1.get("zdsj") != null){ | |
| 1089 | - long zdsj = Long.valueOf(m1.get("zdsj").toString()); | |
| 1090 | - long fcsj = Long.valueOf(m1.get("fcsj").toString()); | |
| 1091 | - if(fcsj > zdsj) | |
| 1092 | - zdsj += 1440l; | |
| 1093 | - if(sfqr == 1 && time1 > fcsj){ | |
| 1094 | - sjyssj += zdsj - time1; | |
| 1095 | - }else if(sfqr == 1 && time2 < zdsj){ | |
| 1096 | - sjyssj += time2 - fcsj; | |
| 1097 | - }else{ | |
| 1098 | - sjyssj += zdsj - fcsj; | |
| 1099 | - } | |
| 1100 | - sjyssj1 += zdsj - fcsj; | |
| 1101 | - sjlc += Double.valueOf(m1.get("lc").toString()); | |
| 1097 | + sjlc += Double.valueOf(m.get("lc").toString()); | |
| 1102 | 1098 | } |
| 1103 | 1099 | } |
| 1104 | 1100 | tempMap.put("company", companyName); | ... | ... |
src/main/java/com/bsth/service/oil/impl/DlbServiceImpl.java
| ... | ... | @@ -9,6 +9,8 @@ import java.text.ParseException; |
| 9 | 9 | import java.text.SimpleDateFormat; |
| 10 | 10 | import java.util.ArrayList; |
| 11 | 11 | import java.util.Calendar; |
| 12 | +import java.util.Collections; | |
| 13 | +import java.util.Comparator; | |
| 12 | 14 | import java.util.Date; |
| 13 | 15 | import java.util.HashMap; |
| 14 | 16 | import java.util.Iterator; |
| ... | ... | @@ -428,13 +430,22 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS |
| 428 | 430 | // repository.obtainYl(rq,gsbm,fgsbm,line,nbbm,"nbbm"); |
| 429 | 431 | // 当天YLXXB信息 |
| 430 | 432 | List<Ylxxb> ylxxList = ylxxbRepository.obtainYlxx(rq, 0,gsbm); |
| 431 | - // 前一天所有车辆最后进场班次信息 | |
| 432 | -// List<Ylb> ylListBe = repository.obtainYlbefore(rq, gsbm, fgsbm, line, nbbm); | |
| 433 | -// List<Dlb> ylListBe =repository.listMaxRqJcsx(rq, gsbm, fgsbm, line, nbbm); | |
| 434 | -// List<Cyl> clyList = cylRepository.obtainCyl(nbbm,gsbm); | |
| 435 | 433 | // 从排班表中计算出行驶的总里程 |
| 436 | 434 | List<Map<String, Object>> listpb =new ArrayList<Map<String, Object>>(); |
| 437 | 435 | List<Map<String, Object>> listpbs=scheduleRealInfoService.yesterdayDataList(line, rq, gsbm, fgsbm, "", nbbm); |
| 436 | + Map<String, Double> lcMap=new HashMap<String,Double>(); | |
| 437 | + for (int i = 0; i < listpbs.size(); i++) { | |
| 438 | + String cl=listpbs.get(i).get("clZbh").toString(); | |
| 439 | + Double lc= listpbs.get(i).get("totalKilometers") == null ? 0.0 | |
| 440 | + : Double.parseDouble(listpbs.get(i).get("totalKilometers").toString()); | |
| 441 | + if(lcMap.get(cl)==null){ | |
| 442 | + lcMap.put(cl, lc); | |
| 443 | + }else{ | |
| 444 | + Double lc_=lcMap.get(cl); | |
| 445 | + lcMap.remove(cl); | |
| 446 | + lcMap.put(cl, Arith.add(lc, lc_)); | |
| 447 | + } | |
| 448 | + } | |
| 438 | 449 | List<Jdl> jdlList=jdlRepository.JdlList(rq); |
| 439 | 450 | String sxtj=map2.get("sxtj").toString(); |
| 440 | 451 | if(sxtj.equals("0")){ |
| ... | ... | @@ -470,126 +481,134 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS |
| 470 | 481 | } |
| 471 | 482 | } |
| 472 | 483 | } |
| 473 | - | |
| 484 | + Map<String, Object> newMap_=new HashMap<String,Object>(); | |
| 474 | 485 | List<Dlb> addList = new ArrayList<Dlb>(); |
| 475 | 486 | List<Dlb> updateList = new ArrayList<Dlb>(); |
| 476 | 487 | String ins=""; |
| 477 | 488 | Map<String, Object> ylMap=new HashMap<String, Object>(); |
| 478 | - for (int x = 0; x < listpb.size(); x++) { | |
| 489 | + List<Map<String, Object>> listpb_=listpb; | |
| 490 | + Collections.sort(listpb,new NbbmJcsxMap()); | |
| 491 | + for (int x = 0; x < listpb_.size(); x++) { | |
| 479 | 492 | String type = "add"; |
| 480 | 493 | boolean sfdc = false; |
| 481 | - Map<String, Object> map = listpb.get(x); | |
| 482 | - if (carsMap.get(map.get("clZbh").toString()) != null) { | |
| 483 | - sfdc = carsMap.get(map.get("clZbh").toString()); | |
| 494 | + Map<String, Object> map_ = listpb_.get(x); | |
| 495 | + if (carsMap.get(map_.get("clZbh").toString()) != null) { | |
| 496 | + sfdc = carsMap.get(map_.get("clZbh").toString()); | |
| 484 | 497 | } else { |
| 485 | 498 | sfdc = false; |
| 486 | 499 | } |
| 487 | 500 | if (sfdc) { |
| 488 | - // 判断驾驶员驾驶的该车辆是否已经存入了(查出的结果集中日期是相同的,根据驾驶员、内部编号、线路编码判断) | |
| 489 | - Dlb t = new Dlb(); | |
| 490 | - for (int k = 0; k < dlList.size(); k++) { | |
| 491 | - Dlb t1 = dlList.get(k); | |
| 492 | - if (t1.getNbbm().equals(map.get("clZbh").toString()) | |
| 493 | - && t1.getJsy().equals(map.get("jGh").toString()) | |
| 494 | - && t1.getXlbm().equals(map.get("xlBm").toString())) { | |
| 495 | - t = t1; | |
| 496 | - type = "update"; | |
| 501 | + if(newMap_.get(map_.get("clZbh").toString())==null){ | |
| 502 | + newMap_.put(map_.get("clZbh").toString(), map_.get("clZbh").toString()); | |
| 503 | + //车辆总里程 | |
| 504 | + double zlc =lcMap.get(map_.get("clZbh").toString()); | |
| 505 | + //车辆总加电量 | |
| 506 | + Double zjzl = 0.0; | |
| 507 | + for (int j = 0; j < ylxxList.size(); j++) { | |
| 508 | + Ylxxb ylxxb = ylxxList.get(j); | |
| 509 | + if (map_.get("clZbh").toString().equals(ylxxb.getNbbm()) | |
| 510 | + && map_.get("company").toString().equals(ylxxb.getGsdm())) { | |
| 511 | + zjzl = Arith.add(zjzl, ylxxb.getJzl()); | |
| 512 | + } | |
| 497 | 513 | } |
| 498 | - } | |
| 499 | - | |
| 500 | - // 当日的第一个班次,出场油量等于前一天的最后一个班次的进场油量 | |
| 501 | - /* if (map.get("seqNumber").toString().equals("1")) { | |
| 502 | - boolean fage = true; | |
| 503 | - for (int i = 0; i < ylListBe.size(); i++) { | |
| 504 | - Ylb ylb = ylListBe.get(i); | |
| 505 | - if (map.get("clZbh").toString().equals(ylb.getNbbm())) { | |
| 506 | - if(ylb.getJzyl()>0){ | |
| 507 | - t.setCzyl(ylb.getJzyl()); | |
| 508 | - fage = false; | |
| 509 | - break; | |
| 510 | - } | |
| 511 | - | |
| 514 | + for (int i = 0; i < jdlList.size(); i++) { | |
| 515 | + Jdl jdl=jdlList.get(i); | |
| 516 | + if(map_.get("clZbh").toString().equals(jdl.getNbbm()) | |
| 517 | + &&map_.get("company").toString().equals(jdl.getGsBm()) | |
| 518 | + &&map_.get("bCompany").toString().equals(jdl.getFgsBm())){ | |
| 519 | + zjzl = Arith.add(zjzl,jdl.getJdl()); | |
| 512 | 520 | } |
| 513 | 521 | } |
| 514 | - if (fage) { | |
| 515 | - for (int y = 0; y < clyList.size(); y++) { | |
| 516 | - Cyl cyl = clyList.get(y); | |
| 517 | - if (map.get("clZbh").toString().equals(cyl.getNbbm())) { | |
| 518 | - if(cyl!=null){ | |
| 519 | - if(cyl.getCyl()>=0){ | |
| 520 | - t.setCzyl(cyl.getCyl()); | |
| 521 | - fage = false; | |
| 522 | - break; | |
| 523 | - }else { | |
| 524 | - if(cyl.getCxrl()!=null){ | |
| 525 | - if(cyl.getCxrl()>0){ | |
| 526 | - t.setCzyl(cyl.getCxrl()); | |
| 527 | - fage = false; | |
| 528 | - break; | |
| 529 | - } | |
| 522 | + | |
| 523 | + Double nextJzyl = 0.0; | |
| 524 | + for (int i = 0; i < listpb.size(); i++) { | |
| 525 | + Map<String, Object> map = listpb.get(i); | |
| 526 | + if(map_.get("clZbh").toString().equals(map.get("clZbh").toString())){ | |
| 527 | + // 判断驾驶员驾驶的该车辆是否已经存入了(查出的结果集中日期是相同的,根据驾驶员、内部编号、线路编码判断) | |
| 528 | + Dlb t = new Dlb(); | |
| 529 | + for (int k = 0; k < dlList.size(); k++) { | |
| 530 | + Dlb t1 = dlList.get(k); | |
| 531 | + if (t1.getNbbm().equals(map.get("clZbh").toString()) | |
| 532 | + && t1.getJsy().equals(map.get("jGh").toString()) | |
| 533 | + && t1.getXlbm().equals(map.get("xlBm").toString())) { | |
| 534 | + t = t1; | |
| 535 | + type = "update"; | |
| 536 | + } | |
| 537 | + } | |
| 538 | + Double lc= Double.parseDouble(map.get("totalKilometers").toString()); | |
| 539 | + if(map.get("seqNumber").toString().equals("1")){ | |
| 540 | + // 当日的第一个班次,出场油量等于前一天的最后一个班次的进场油量 | |
| 541 | + Double dh=0.0; | |
| 542 | + if(zlc>0){ | |
| 543 | + dh = Double.parseDouble(df.format(zjzl * (lc / zlc))); | |
| 544 | + } | |
| 545 | + nextJzyl =Arith.sub(zjzl,dh); | |
| 546 | + if(zlc>0){ | |
| 547 | + long l=Math.round(nextJzyl); | |
| 548 | + double ylxs=l*100/100; | |
| 549 | + dh=Arith.add(dh, Arith.sub(nextJzyl,ylxs)); | |
| 550 | + t.setHd(dh); | |
| 551 | + t.setCdl(dh); | |
| 552 | + nextJzyl=ylxs; | |
| 553 | + }else{ | |
| 554 | + t.setHd(0.0); | |
| 555 | + t.setCdl(0.0); | |
| 556 | + } | |
| 557 | + }else{ | |
| 558 | + Double dh=0.0; | |
| 559 | + if(zlc>0){ | |
| 560 | + dh = Double.parseDouble(df.format(zjzl * (lc / zlc))); | |
| 561 | + } | |
| 562 | + nextJzyl =Arith.sub( nextJzyl,dh); | |
| 563 | + if(zlc>0){ | |
| 564 | + long l=0l; | |
| 565 | + double ylxs=0.0; | |
| 566 | + if(i==listpb.size()-1){ | |
| 567 | +// ylxs=czyl; | |
| 568 | + }else{ | |
| 569 | + if(listpb.get(i+1).get("clZbh").toString().equals(map.get("clZbh").toString())){ | |
| 570 | + l=Math.round(nextJzyl); | |
| 571 | + ylxs=l*100/100; | |
| 530 | 572 | } |
| 573 | + | |
| 531 | 574 | } |
| 575 | + dh=Arith.add(dh, Arith.sub(nextJzyl,ylxs)); | |
| 576 | + t.setHd(dh); | |
| 577 | + t.setCdl(dh); | |
| 578 | + nextJzyl=ylxs; | |
| 579 | + }else{ | |
| 580 | + t.setHd(0.0); | |
| 581 | + t.setCdl(0.0); | |
| 532 | 582 | } |
| 533 | 583 | } |
| 584 | + t.setCzcd(100.0); | |
| 585 | + t.setJzcd(100.0); | |
| 586 | + t.setNbbm(map.get("clZbh").toString()); | |
| 587 | + t.setJsy(map.get("jGh") == null ? "" : map.get("jGh").toString()); | |
| 588 | + t.setZlc(map.get("totalKilometers") == null ? 0.0 | |
| 589 | + : Double.parseDouble(map.get("totalKilometers").toString())); | |
| 590 | + t.setXlbm(map.get("xlBm") == null ? "" : map.get("xlBm").toString()); | |
| 591 | + t.setJcsx(Integer.parseInt(map.get("seqNumber").toString())); | |
| 592 | + t.setSsgsdm(map.get("company") == null ? "" : map.get("company").toString()); | |
| 593 | + t.setFgsdm(map.get("bCompany") == null ? "" : map.get("bCompany").toString()); | |
| 594 | + t.setJhsj(map.get("fcsj")==null?"":map.get("fcsj").toString()); | |
| 595 | + t.setRq(sdf.parse(rq)); | |
| 596 | + | |
| 597 | + if(!(t.getSsgsdm().equals("") || t.getFgsdm().equals(""))){ | |
| 598 | + if(type.equals("add")){ | |
| 599 | + t.setCreatetime(date); | |
| 600 | + addList.add(t); | |
| 601 | + }else{ | |
| 602 | + t.setUpdatetime(date); | |
| 603 | + updateList.add(t); | |
| 604 | + ins += t.getId().toString()+","; | |
| 605 | + } | |
| 606 | + } | |
| 607 | +// repository.save(t); | |
| 608 | + newMap.put("status", ResponseCode.SUCCESS); | |
| 534 | 609 | } |
| 535 | 610 | } |
| 536 | - if (fage) { | |
| 537 | - t.setCzyl(0.0); | |
| 538 | - } | |
| 539 | - } | |
| 540 | - */ | |
| 541 | - Double jzl = 0.0; | |
| 542 | - //一人一车加注量只匹配一次 | |
| 543 | - if(ylMap.get(map.get("clZbh").toString()+"_"+ map.get("jGh").toString())!=null){ | |
| 544 | - | |
| 545 | - }else{ | |
| 546 | - // 把当天的YLXXB的加注量设置为当天YLB的加注量(根据车号,驾驶员判断) | |
| 547 | - for (int j = 0; j < ylxxList.size(); j++) { | |
| 548 | - Ylxxb ylxxb = ylxxList.get(j); | |
| 549 | - if (map.get("clZbh").toString().equals(ylxxb.getNbbm()) | |
| 550 | - && map.get("jGh").toString().equals(ylxxb.getJsy())) { | |
| 551 | - jzl +=Arith.add(jzl, ylxxb.getJzl()); | |
| 552 | - } | |
| 553 | - } | |
| 554 | - ylMap.put(map.get("clZbh").toString()+"_"+ map.get("jGh").toString(),map.get("xlBm") == null ? "" : map.get("xlBm").toString()); | |
| 555 | 611 | } |
| 556 | - for (int i = 0; i < jdlList.size(); i++) { | |
| 557 | - Jdl jdl=jdlList.get(i); | |
| 558 | - if(map.get("clZbh").toString().equals(jdl.getNbbm()) | |
| 559 | - &&map.get("jGh").toString().equals(jdl.getJsy()) | |
| 560 | - &&map.get("bCompany").toString().equals(jdl.getFgsBm())){ | |
| 561 | - jzl+=jdl.getJdl(); | |
| 562 | - } | |
| 563 | - } | |
| 564 | - | |
| 565 | - t.setCdl(jzl); | |
| 566 | - t.setCzcd(100.0); | |
| 567 | - t.setJzcd(100.0); | |
| 568 | - t.setHd(jzl); | |
| 569 | - t.setNbbm(map.get("clZbh").toString()); | |
| 570 | - t.setJsy(map.get("jGh") == null ? "" : map.get("jGh").toString()); | |
| 571 | - t.setZlc(map.get("totalKilometers") == null ? 0.0 | |
| 572 | - : Double.parseDouble(map.get("totalKilometers").toString())); | |
| 573 | - t.setXlbm(map.get("xlBm") == null ? "" : map.get("xlBm").toString()); | |
| 574 | - t.setJcsx(Integer.parseInt(map.get("seqNumber").toString())); | |
| 575 | - t.setSsgsdm(map.get("company") == null ? "" : map.get("company").toString()); | |
| 576 | - t.setFgsdm(map.get("bCompany") == null ? "" : map.get("bCompany").toString()); | |
| 577 | - t.setJhsj(map.get("fcsj")==null?"":map.get("fcsj").toString()); | |
| 578 | - t.setRq(sdf.parse(rq)); | |
| 579 | - | |
| 580 | - if(!(t.getSsgsdm().equals("") || t.getFgsdm().equals(""))){ | |
| 581 | - if(type.equals("add")){ | |
| 582 | - t.setCreatetime(date); | |
| 583 | - addList.add(t); | |
| 584 | - }else{ | |
| 585 | - t.setUpdatetime(date); | |
| 586 | - updateList.add(t); | |
| 587 | - ins += t.getId().toString()+","; | |
| 588 | - } | |
| 589 | - } | |
| 590 | -// repository.save(t); | |
| 591 | - newMap.put("status", ResponseCode.SUCCESS); | |
| 592 | - | |
| 593 | 612 | } |
| 594 | 613 | } |
| 595 | 614 | if(addList.size()>0){ |
| ... | ... | @@ -1014,3 +1033,11 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS |
| 1014 | 1033 | return lists; |
| 1015 | 1034 | } |
| 1016 | 1035 | } |
| 1036 | + | |
| 1037 | +class NbbmJcsxMap implements Comparator<Map<String, Object>>{ | |
| 1038 | + @Override | |
| 1039 | + public int compare(Map<String, Object> o1, Map<String, Object> o2) { | |
| 1040 | + // TODO Auto-generated method stub | |
| 1041 | + return (o1.get("clZbh").toString()+o1.get("seqNumber").toString()).compareTo((o2.get("clZbh").toString()+o1.get("seqNumber").toString())); | |
| 1042 | + } | |
| 1043 | +} | ... | ... |
src/main/java/com/bsth/service/oil/impl/JdlServiceImpl.java
| ... | ... | @@ -63,7 +63,7 @@ public class JdlServiceImpl extends BaseServiceImpl<Jdl, Integer> implements Jdl |
| 63 | 63 | } |
| 64 | 64 | String[] split = (text+";").split(","); |
| 65 | 65 | String str = ""; |
| 66 | - for(int j = 0; j < split.length && j < 6; j++){ | |
| 66 | + for(int j = 0; j < split.length && j < 5; j++){ | |
| 67 | 67 | str += split[j]; |
| 68 | 68 | } |
| 69 | 69 | if(str.trim().length() == 0) |
| ... | ... | @@ -75,22 +75,22 @@ public class JdlServiceImpl extends BaseServiceImpl<Jdl, Integer> implements Jdl |
| 75 | 75 | String[] split = text.split(","); |
| 76 | 76 | String rq = split[0].trim(); |
| 77 | 77 | String nbbm = split[1].trim(); |
| 78 | - String jsy= split[2].trim(); | |
| 79 | - double jdl = Double.valueOf(split[3].trim().length()!=0?split[3]:"0"); | |
| 80 | - String jdz = split[4].trim(); | |
| 81 | - String remarks = split[5].trim(); | |
| 78 | +// String jsy= split[2].trim(); | |
| 79 | + double jdl = Double.valueOf(split[2].trim().length()!=0?split[2]:"0"); | |
| 80 | + String jdz = split[3].trim(); | |
| 81 | + String remarks = split[4].trim(); | |
| 82 | 82 | if(rq.trim().length() == 0){ |
| 83 | 83 | rq = sdf.format(new Date()); |
| 84 | 84 | } |
| 85 | 85 | |
| 86 | - List<Double> jdl_ = repository.queryBySame(gsbm, fgsbm, rq, nbbm, jsy); | |
| 86 | + List<Double> jdl_ = repository.queryBySame(gsbm, fgsbm, rq, nbbm); | |
| 87 | 87 | |
| 88 | 88 | if(jdl_.size() == 0){ |
| 89 | 89 | repository.insertData(gsbm, gsName, fgsbm, fgsName, rq, nbbm, |
| 90 | - df.format(jdl), jdz, remarks, sd.format(new Date()),jsy); | |
| 90 | + df.format(jdl), jdz, remarks, sd.format(new Date())); | |
| 91 | 91 | }else{ |
| 92 | 92 | // jdl += jdl_.get(0); |
| 93 | - repository.UpdateJdl(df.format(jdl), gsbm, fgsbm, rq, nbbm, jsy); | |
| 93 | + repository.UpdateJdl(df.format(jdl), gsbm, fgsbm, rq, nbbm); | |
| 94 | 94 | } |
| 95 | 95 | } |
| 96 | 96 | wb.close(); |
| ... | ... | @@ -112,9 +112,9 @@ public class JdlServiceImpl extends BaseServiceImpl<Jdl, Integer> implements Jdl |
| 112 | 112 | String fgsbm = map.get("fgsbm").toString(); |
| 113 | 113 | String rq = map.get("rq").toString(); |
| 114 | 114 | String nbbm = map.get("nbbm").toString(); |
| 115 | - String jsy =map.get("jsy").toString(); | |
| 115 | +// String jsy =map.get("jsy").toString(); | |
| 116 | 116 | Integer page = Integer.valueOf(map.containsKey("page")?map.get("page").toString():"0"); |
| 117 | - List<Jdl> query = repository.query(gsbm, fgsbm, rq, nbbm,jsy); | |
| 117 | + List<Jdl> query = repository.query(gsbm, fgsbm, rq, nbbm); | |
| 118 | 118 | |
| 119 | 119 | if(!map.containsKey("type")){ |
| 120 | 120 | |
| ... | ... | @@ -133,7 +133,6 @@ public class JdlServiceImpl extends BaseServiceImpl<Jdl, Integer> implements Jdl |
| 133 | 133 | m.put("nbbm", jdl.getNbbm()); |
| 134 | 134 | m.put("jdl", jdl.getJdl()); |
| 135 | 135 | m.put("jdz", jdl.getJdz()); |
| 136 | - m.put("jsy", jdl.getJsy()); | |
| 137 | 136 | m.put("remarks", jdl.getRemarks()); |
| 138 | 137 | list.add(m); |
| 139 | 138 | } | ... | ... |
src/main/java/com/bsth/service/realcontrol/ScheduleRealInfoService.java
| ... | ... | @@ -180,4 +180,10 @@ public interface ScheduleRealInfoService extends BaseService<ScheduleRealInfo, L |
| 180 | 180 | List<Map<String,Object>> statisticsDaily_mh_2(String line, String date, String xlName, String type); |
| 181 | 181 | |
| 182 | 182 | List<ScheduleRealInfo> realScheduleList_mh_2(String line, String date); |
| 183 | + | |
| 184 | + List<Map<String, Object>> mileageReport(String gsdm, String fgsdm, | |
| 185 | + String line, String date, String date2); | |
| 186 | + | |
| 187 | + List<Map<String, Object>> scheduleCorrectionReport(String gsdm, String fgsdm, | |
| 188 | + String line, String date, String date2); | |
| 183 | 189 | } | ... | ... |
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
| ... | ... | @@ -31,6 +31,8 @@ import com.bsth.entity.realcontrol.ChildTaskPlan; |
| 31 | 31 | import com.bsth.entity.realcontrol.LineConfig; |
| 32 | 32 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 33 | 33 | import com.bsth.entity.realcontrol.SvgAttribute; |
| 34 | +import com.bsth.entity.report.MileageReport; | |
| 35 | +import com.bsth.entity.report.ScheduleCorrectionReport; | |
| 34 | 36 | import com.bsth.entity.schedule.CarConfigInfo; |
| 35 | 37 | import com.bsth.entity.schedule.EmployeeConfigInfo; |
| 36 | 38 | import com.bsth.entity.schedule.GuideboardInfo; |
| ... | ... | @@ -1837,7 +1839,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 1837 | 1839 | map = new HashMap<String, Object>(); |
| 1838 | 1840 | map.put("num", i++); |
| 1839 | 1841 | map.put("xlName", xlName); |
| 1840 | - map.put("clZbh", BasicData.deviceId2NbbmMap.get(obj[2])); | |
| 1842 | + map.put("clZbh", BasicData.deviceId2NbbmMap.get(obj[2])==null?"":BasicData.deviceId2NbbmMap.get(obj[2])); | |
| 1841 | 1843 | map.put("company",fgs); |
| 1842 | 1844 | map.put("requestType", "0x" + Integer.toHexString(Integer.parseInt(obj[0] + "")).toUpperCase()); |
| 1843 | 1845 | map.put("requestTime", obj[1]); |
| ... | ... | @@ -2324,10 +2326,11 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 2324 | 2326 | map.put("dtbc", 0); |
| 2325 | 2327 | map.put("dtbc_m", 0); |
| 2326 | 2328 | map.put("dtbc_a", 0); |
| 2327 | - map.put("djg", 0); | |
| 2328 | - map.put("djg_m", 0); | |
| 2329 | - map.put("djg_a", 0); | |
| 2330 | - map.put("djg_time", 0); | |
| 2329 | + Map<String, Object> m=culateService.culateDjg(list_s, line); | |
| 2330 | + map.put("djg", m.get("djgcsq")); | |
| 2331 | + map.put("djg_m", m.get("djgcsz")); | |
| 2332 | + map.put("djg_a", m.get("djgcsw")); | |
| 2333 | + map.put("djg_time", m.get("djgsj")); | |
| 2331 | 2334 | map.put("jls", Arith.sub(Arith.add(jhlc, ljgl), lbgl)); |
| 2332 | 2335 | lMap.add(map); |
| 2333 | 2336 | return lMap; |
| ... | ... | @@ -4637,6 +4640,195 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 4637 | 4640 | } |
| 4638 | 4641 | return rs; |
| 4639 | 4642 | } |
| 4643 | + | |
| 4644 | + | |
| 4645 | + @Override | |
| 4646 | + public List<Map<String, Object>> mileageReport(String gsdm, | |
| 4647 | + String fgsdm, String line, String date, String date2) { | |
| 4648 | + | |
| 4649 | + String sql = "select * from calc_mileage where 1=1 " ; | |
| 4650 | + if (!line.equals(" ")) { | |
| 4651 | + sql = sql+" and line_code='"+ line+"' "; | |
| 4652 | + } | |
| 4653 | + sql = sql+" and DATE_FORMAT(rq,'%Y-%m-%d') between '"+ date+"' and '"+ date2+"'"; | |
| 4654 | + if (!gsdm.equals(" ")) { | |
| 4655 | + sql = sql+" and company_id="+gsdm; | |
| 4656 | + } | |
| 4657 | + if (!gsdm.equals(" ")) { | |
| 4658 | + sql = sql+" and sub_company_id="+fgsdm; | |
| 4659 | + } | |
| 4660 | + sql = sql+" order by line_code"; | |
| 4661 | + List<MileageReport> list = jdbcTemplate.query(sql, | |
| 4662 | + new RowMapper<MileageReport>() { | |
| 4663 | + @Override | |
| 4664 | + public MileageReport mapRow(ResultSet rs, int rowNum) throws SQLException { | |
| 4665 | + MileageReport mr = new MileageReport(); | |
| 4666 | + mr.setCompanyName(rs.getString("company_name")); | |
| 4667 | + mr.setSubCompanyName(rs.getString("sub_company_name")); | |
| 4668 | + mr.setLineName(rs.getString("line_name")); | |
| 4669 | + mr.setSjyygl(rs.getDouble("sjyygl")); | |
| 4670 | + mr.setSjksgl(rs.getDouble("sjksgl")); | |
| 4671 | + mr.setZgl(rs.getDouble("zyygl")); | |
| 4672 | + mr.setZddfgl(rs.getDouble("sddfgl")); | |
| 4673 | + mr.setSddfgl(rs.getDouble("zddfgl")); | |
| 4674 | + mr.setWqwxhgl(rs.getDouble("wqwxhgl")); | |
| 4675 | + mr.setBfwxhgl(rs.getDouble("bfwxhgl")); | |
| 4676 | + mr.setPygl(rs.getDouble("pygl")); | |
| 4677 | + mr.setLjgl(rs.getDouble("ljgl")); | |
| 4678 | + mr.setZrwgl(rs.getDouble("zrwgl")); | |
| 4679 | + mr.setOther(rs.getString("other")); | |
| 4680 | + return mr; | |
| 4681 | + } | |
| 4682 | + }); | |
| 4683 | + List<Map<String, Object>> lMap = new ArrayList<Map<String, Object>>(); | |
| 4684 | + double sjyygl = 0.0; | |
| 4685 | + double sjksgl = 0.0; | |
| 4686 | + double zgl = 0.0; | |
| 4687 | + double sddfgl = 0.0; | |
| 4688 | + double zddfgl = 0.0; | |
| 4689 | + double wqwxhgl = 0.0; | |
| 4690 | + double bfwxhgl = 0.0; | |
| 4691 | + double pygl = 0.0; | |
| 4692 | + double ljgl = 0.0; | |
| 4693 | + double zrwgl = 0.0; | |
| 4694 | + for(MileageReport mr:list) { | |
| 4695 | + Map<String, Object> resMap = new HashMap<String, Object>(); | |
| 4696 | + resMap.put("gsName", mr.getCompanyName()); | |
| 4697 | + resMap.put("fgsName", mr.getSubCompanyName()); | |
| 4698 | + resMap.put("xlName", mr.getLineName()); | |
| 4699 | + resMap.put("sjyygl", mr.getSjyygl()); | |
| 4700 | + resMap.put("sjksgl", mr.getSjksgl()); | |
| 4701 | + resMap.put("zgl", mr.getZgl()); | |
| 4702 | + resMap.put("sddfgl", mr.getSddfgl()); | |
| 4703 | + resMap.put("zddfgl", mr.getZddfgl()); | |
| 4704 | + resMap.put("wqwxhgl", mr.getWqwxhgl()); | |
| 4705 | + resMap.put("bfwxhgl", mr.getBfwxhgl()); | |
| 4706 | + resMap.put("pygl", mr.getPygl()); | |
| 4707 | + resMap.put("ljgl", mr.getLjgl()); | |
| 4708 | + resMap.put("zrwgl", mr.getZrwgl()); | |
| 4709 | + resMap.put("other", mr.getOther()); | |
| 4710 | + lMap.add(resMap); | |
| 4711 | + sjyygl = Arith.add(sjyygl,mr.getSjyygl()); | |
| 4712 | + sjksgl = Arith.add(sjksgl,mr.getSjksgl()); | |
| 4713 | + zgl = Arith.add(zgl,mr.getZgl()); | |
| 4714 | + sddfgl = Arith.add(sddfgl,mr.getSddfgl()); | |
| 4715 | + zddfgl = Arith.add(zddfgl,mr.getZddfgl()); | |
| 4716 | + wqwxhgl = Arith.add(wqwxhgl,mr.getWqwxhgl()); | |
| 4717 | + bfwxhgl = Arith.add(bfwxhgl,mr.getBfwxhgl()); | |
| 4718 | + pygl = Arith.add(pygl,mr.getPygl()); | |
| 4719 | + ljgl = Arith.add(ljgl,mr.getLjgl()); | |
| 4720 | + zrwgl = Arith.add(zrwgl,mr.getZrwgl()); | |
| 4721 | + } | |
| 4722 | + Map<String, Object> resMap = new HashMap<String, Object>(); | |
| 4723 | + resMap.put("xlName", "合计"); | |
| 4724 | + resMap.put("sjyygl", sjyygl); | |
| 4725 | + resMap.put("sjksgl", sjksgl); | |
| 4726 | + resMap.put("zgl", zgl); | |
| 4727 | + resMap.put("sddfgl", sddfgl); | |
| 4728 | + resMap.put("zddfgl", zddfgl); | |
| 4729 | + resMap.put("wqwxhgl", wqwxhgl); | |
| 4730 | + resMap.put("bfwxhgl", bfwxhgl); | |
| 4731 | + resMap.put("pygl", pygl); | |
| 4732 | + resMap.put("ljgl", ljgl); | |
| 4733 | + resMap.put("zrwgl", zrwgl); | |
| 4734 | + resMap.put("other", null); | |
| 4735 | + lMap.add(resMap); | |
| 4736 | + return lMap; | |
| 4737 | + } | |
| 4738 | + | |
| 4739 | + @Override | |
| 4740 | + public List<Map<String, Object>> scheduleCorrectionReport(String gsdm, | |
| 4741 | + String fgsdm, String line, String date, String date2) { | |
| 4742 | + | |
| 4743 | + String sql = "select * from calc_schedule where 1=1 " ; | |
| 4744 | + if (!line.equals(" ")) { | |
| 4745 | + sql = sql+" and line_code='"+ line+"' "; | |
| 4746 | + } | |
| 4747 | + sql = sql+" and DATE_FORMAT(rq,'%Y-%m-%d') between '"+ date+"' and '"+ date2+"'"; | |
| 4748 | + if (!gsdm.equals(" ")) { | |
| 4749 | + sql = sql+" and company_id="+gsdm; | |
| 4750 | + } | |
| 4751 | + if (!gsdm.equals(" ")) { | |
| 4752 | + sql = sql+" and sub_company_id="+fgsdm; | |
| 4753 | + } | |
| 4754 | + sql = sql+" order by line_code"; | |
| 4755 | + List<ScheduleCorrectionReport> list = jdbcTemplate.query(sql, | |
| 4756 | + new RowMapper<ScheduleCorrectionReport>() { | |
| 4757 | + @Override | |
| 4758 | + public ScheduleCorrectionReport mapRow(ResultSet rs, int rowNum) throws SQLException { | |
| 4759 | + ScheduleCorrectionReport sReport = new ScheduleCorrectionReport(); | |
| 4760 | + sReport.setCompanyName(rs.getString("company_name")); | |
| 4761 | + sReport.setSubCompanyName(rs.getString("sub_company_name")); | |
| 4762 | + sReport.setLineName(rs.getString("line_name")); | |
| 4763 | + sReport.setSjyybc(rs.getInt("sjyybc")); | |
| 4764 | + sReport.setSjksbc(rs.getInt("sjksbc")); | |
| 4765 | + sReport.setZbc(rs.getInt("zyybc")); | |
| 4766 | + sReport.setZddfbc(rs.getInt("sddfbc")); | |
| 4767 | + sReport.setSddfbc(rs.getInt("zddfbc")); | |
| 4768 | + sReport.setWqwxhbc(rs.getInt("wqwxhbc")); | |
| 4769 | + sReport.setBfwxhbc(rs.getInt("bfwxhbc")); | |
| 4770 | + sReport.setPybc(rs.getInt("pybc")); | |
| 4771 | + sReport.setLjbc(rs.getInt("ljbc")); | |
| 4772 | + sReport.setZrwbc(rs.getInt("zrwbc")); | |
| 4773 | + sReport.setOther(rs.getString("other")); | |
| 4774 | + return sReport; | |
| 4775 | + } | |
| 4776 | + }); | |
| 4777 | + List<Map<String, Object>> lMap = new ArrayList<Map<String, Object>>(); | |
| 4778 | + int sjyybc = 0; | |
| 4779 | + int sjksbc = 0; | |
| 4780 | + int zbc = 0; | |
| 4781 | + int sddfbc = 0; | |
| 4782 | + int zddfbc = 0; | |
| 4783 | + int wqwxhbc = 0; | |
| 4784 | + int bfwxhbc = 0; | |
| 4785 | + int pybc = 0; | |
| 4786 | + int ljbc = 0; | |
| 4787 | + int zrwbc = 0; | |
| 4788 | + for(ScheduleCorrectionReport sReport:list) { | |
| 4789 | + Map<String, Object> resMap = new HashMap<String, Object>(); | |
| 4790 | + resMap.put("gsName", sReport.getCompanyName()); | |
| 4791 | + resMap.put("fgsName", sReport.getSubCompanyName()); | |
| 4792 | + resMap.put("xlName", sReport.getLineName()); | |
| 4793 | + resMap.put("sjyybc", sReport.getSjyybc()); | |
| 4794 | + resMap.put("sjksbc", sReport.getSjksbc()); | |
| 4795 | + resMap.put("zbc", sReport.getZbc()); | |
| 4796 | + resMap.put("sddfbc", sReport.getSddfbc()); | |
| 4797 | + resMap.put("zddfbc", sReport.getZddfbc()); | |
| 4798 | + resMap.put("wqwxhbc", sReport.getWqwxhbc()); | |
| 4799 | + resMap.put("bfwxhbc", sReport.getBfwxhbc()); | |
| 4800 | + resMap.put("pybc", sReport.getPybc()); | |
| 4801 | + resMap.put("ljbc", sReport.getLjbc()); | |
| 4802 | + resMap.put("zrwbc", sReport.getZrwbc()); | |
| 4803 | + resMap.put("other", sReport.getOther()); | |
| 4804 | + lMap.add(resMap); | |
| 4805 | + sjyybc = sjyybc + sReport.getSjyybc(); | |
| 4806 | + sjksbc = sjksbc + sReport.getSjksbc(); | |
| 4807 | + zbc = zbc + sReport.getZbc(); | |
| 4808 | + sddfbc = sddfbc + sReport.getSddfbc(); | |
| 4809 | + zddfbc = zddfbc + sReport.getZddfbc(); | |
| 4810 | + wqwxhbc = wqwxhbc + sReport.getWqwxhbc(); | |
| 4811 | + bfwxhbc = bfwxhbc + sReport.getBfwxhbc(); | |
| 4812 | + pybc = pybc + sReport.getPybc(); | |
| 4813 | + ljbc = ljbc + sReport.getLjbc(); | |
| 4814 | + zrwbc = zrwbc + sReport.getZrwbc(); | |
| 4815 | + } | |
| 4816 | + Map<String, Object> resMap = new HashMap<String, Object>(); | |
| 4817 | + resMap.put("xlName", "合计"); | |
| 4818 | + resMap.put("sjyybc", sjyybc); | |
| 4819 | + resMap.put("sjksbc", sjksbc); | |
| 4820 | + resMap.put("zbc", zbc); | |
| 4821 | + resMap.put("sddfbc", sddfbc); | |
| 4822 | + resMap.put("zddfbc", zddfbc); | |
| 4823 | + resMap.put("wqwxhbc", wqwxhbc); | |
| 4824 | + resMap.put("bfwxhbc", bfwxhbc); | |
| 4825 | + resMap.put("pybc", pybc); | |
| 4826 | + resMap.put("ljbc", ljbc); | |
| 4827 | + resMap.put("zrwbc", zrwbc); | |
| 4828 | + resMap.put("other", null); | |
| 4829 | + lMap.add(resMap); | |
| 4830 | + return lMap; | |
| 4831 | + } | |
| 4640 | 4832 | } |
| 4641 | 4833 | |
| 4642 | 4834 | class AccountMap implements Comparator<Map<String, Object>>{ | ... | ... |
src/main/java/com/bsth/service/report/CulateMileageService.java
src/main/java/com/bsth/service/report/ReportService.java
| ... | ... | @@ -17,6 +17,8 @@ public interface ReportService { |
| 17 | 17 | List<ArrivalInfo> queryListClzd(String line,String zd,String zdlx,String fcsj,String ddsj); |
| 18 | 18 | List<StationRoute> queryStrinon(String line,int zd); |
| 19 | 19 | List<Map<String, Object>> queryInOutStrtion(String line,String date,int zd,String lzsj); |
| 20 | + | |
| 21 | + List<Map<String, Object>> queryInOutStrtions(String line,String date,int zd,String lzsj); | |
| 20 | 22 | List<Map<String, String>> sreachZd(String line,int zdlx); |
| 21 | 23 | |
| 22 | 24 | List<Object[]> historyMessageCount(String line, String date, String code); | ... | ... |
src/main/java/com/bsth/service/report/impl/CulateMileageServiceImpl.java
| 1 | 1 | package com.bsth.service.report.impl; |
| 2 | 2 | |
| 3 | +import java.sql.ResultSet; | |
| 4 | +import java.sql.SQLException; | |
| 5 | +import java.text.DecimalFormat; | |
| 6 | +import java.text.ParseException; | |
| 7 | +import java.text.SimpleDateFormat; | |
| 3 | 8 | import java.util.ArrayList; |
| 4 | 9 | import java.util.Collections; |
| 5 | 10 | import java.util.HashMap; |
| ... | ... | @@ -9,18 +14,26 @@ import java.util.Map; |
| 9 | 14 | import java.util.Set; |
| 10 | 15 | |
| 11 | 16 | import org.apache.commons.lang.StringUtils; |
| 17 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 18 | +import org.springframework.jdbc.core.JdbcTemplate; | |
| 19 | +import org.springframework.jdbc.core.RowMapper; | |
| 12 | 20 | import org.springframework.stereotype.Service; |
| 13 | 21 | |
| 22 | +import com.bsth.data.BasicData; | |
| 14 | 23 | import com.bsth.entity.realcontrol.ChildTaskPlan; |
| 15 | 24 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 25 | +import com.bsth.entity.sys.Interval; | |
| 16 | 26 | import com.bsth.service.report.CulateMileageService; |
| 17 | 27 | import com.bsth.util.Arith; |
| 28 | +import com.bsth.util.ComparableChild; | |
| 18 | 29 | import com.bsth.util.ComparableJob; |
| 30 | +import com.bsth.util.ReportUtils; | |
| 19 | 31 | import com.google.common.util.concurrent.AbstractScheduledService.Scheduler; |
| 20 | 32 | |
| 21 | 33 | @Service |
| 22 | 34 | public class CulateMileageServiceImpl implements CulateMileageService{ |
| 23 | - | |
| 35 | + @Autowired | |
| 36 | + JdbcTemplate jdbcTemplate; | |
| 24 | 37 | private static long zgf1 = 6 * 60 + 31, |
| 25 | 38 | zgf2 = 8 * 60 + 30, |
| 26 | 39 | wgf1 = 16 * 60 + 1, |
| ... | ... | @@ -943,6 +956,214 @@ public class CulateMileageServiceImpl implements CulateMileageService{ |
| 943 | 956 | } |
| 944 | 957 | return kfks; |
| 945 | 958 | } |
| 959 | + | |
| 960 | + @Override | |
| 961 | + public Map<String, Object> culateDjg(List<ScheduleRealInfo> lists, String line) { | |
| 962 | + // TODO Auto-generated method stub | |
| 963 | + | |
| 964 | + | |
| 965 | + // TODO Auto-generated method stub | |
| 966 | + List<ScheduleRealInfo> list=lists; | |
| 967 | + Map<String, Object> m=new HashMap<String,Object>(); | |
| 968 | + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm"); | |
| 969 | +// Collections.sort(listInfo,new ComparableAcuals()); | |
| 970 | + //查询所有线路 | |
| 971 | + String xlSql="select line_code,spac_grade from bsth_c_line" | |
| 972 | + + " where line_code ='"+line+"'"; | |
| 973 | + | |
| 974 | + List<Map<String, Object>> xlList=jdbcTemplate.query(xlSql, new RowMapper<Map<String, Object>>() { | |
| 975 | + @Override | |
| 976 | + public Map<String, Object> mapRow(ResultSet arg0, int arg1) throws SQLException { | |
| 977 | + Map<String, Object> map=new HashMap<String,Object>(); | |
| 978 | + map.put("line",arg0.getString("line_code")); | |
| 979 | + map.put("grade", arg0.getString("spac_grade")); | |
| 980 | + return map; | |
| 981 | + } | |
| 982 | + }); | |
| 983 | + //查询大间隔时间 | |
| 984 | + String djgSql="select * from bsth_c_interval"; | |
| 985 | + List<Interval> djgList=jdbcTemplate.query(djgSql, new RowMapper<Interval>() { | |
| 986 | + @Override | |
| 987 | + public Interval mapRow(ResultSet arg0, int arg1) throws SQLException { | |
| 988 | + Interval m=new Interval(); | |
| 989 | + m.setLevel(arg0.getString("level")); | |
| 990 | + m.setPeak(arg0.getInt("peak")); | |
| 991 | + m.setTrough(arg0.getInt("trough")); | |
| 992 | + return m; | |
| 993 | + } | |
| 994 | + }); | |
| 995 | + | |
| 996 | + for (int i = 0; i < xlList.size(); i++) { | |
| 997 | + String lineCode=xlList.get(i).get("line").toString(); | |
| 998 | + String grade =xlList.get(i).get("grade")==null?"1":xlList.get(i).get("grade").toString(); | |
| 999 | + int peak=0; | |
| 1000 | + int trough=0; | |
| 1001 | + for (int j = 0; j < djgList.size(); j++) { | |
| 1002 | + Interval il=djgList.get(j); | |
| 1003 | + if(il.getLevel().equals(grade)){ | |
| 1004 | + peak=il.getPeak(); | |
| 1005 | + trough=il.getTrough(); | |
| 1006 | + continue; | |
| 1007 | + } | |
| 1008 | + } | |
| 1009 | + List<ScheduleRealInfo> listInfo=new ArrayList<ScheduleRealInfo>(); | |
| 1010 | + for (int j = 0; j < list.size(); j++) { | |
| 1011 | + ScheduleRealInfo sinfo=list.get(j); | |
| 1012 | + try { | |
| 1013 | + if(sinfo.getXlBm().equals(lineCode)){ | |
| 1014 | + ScheduleRealInfo s=checkBc(sinfo); | |
| 1015 | + String fcsj=s.getFcsjActual()==null?"":s.getFcsjActual(); | |
| 1016 | + if(!fcsj.equals("")){ | |
| 1017 | + Long fcsjAcual = sdf.parse(s.getRealExecDate() + " " + s.getFcsjActual()).getTime(); | |
| 1018 | + s.setFcsjActualTime(fcsjAcual); | |
| 1019 | + s.setFcsjActual(fcsj); | |
| 1020 | + listInfo.add(s); | |
| 1021 | + } | |
| 1022 | + | |
| 1023 | + } | |
| 1024 | + } catch (ParseException e) { | |
| 1025 | + // TODO Auto-generated catch block | |
| 1026 | + e.printStackTrace(); | |
| 1027 | + } | |
| 1028 | + } | |
| 1029 | + | |
| 1030 | + if(listInfo.size()>0){ | |
| 1031 | + m=listDjg(peak,trough,listInfo,grade); | |
| 1032 | + }else{ | |
| 1033 | + m.put("djgcsz", "0"); | |
| 1034 | + m.put("djgcsw", "0"); | |
| 1035 | + m.put("djgcsq", "0"); | |
| 1036 | + m.put("djgsj", "0"); | |
| 1037 | + } | |
| 1038 | + } | |
| 1039 | + return m; | |
| 1040 | + | |
| 1041 | + } | |
| 1042 | + | |
| 1043 | + public ScheduleRealInfo checkBc(ScheduleRealInfo s){ | |
| 1044 | + //如果班次有子任务 且 子任务中有属于营运的。把该子任务的发车时间设置成班次的发车时间 | |
| 1045 | + String fcsj=s.getFcsjActual()==null?"":s.getFcsjActual(); | |
| 1046 | + if(fcsj.equals("")){ | |
| 1047 | + Set<ChildTaskPlan> childTaskPlans = s.getcTasks(); | |
| 1048 | + if(!childTaskPlans.isEmpty()){ | |
| 1049 | + List<ChildTaskPlan> listit=new ArrayList<ChildTaskPlan>(childTaskPlans); | |
| 1050 | + Collections.sort(listit, new ComparableChild()); | |
| 1051 | + for (int i = 0; i < listit.size(); i++) { | |
| 1052 | + ChildTaskPlan c=listit.get(i); | |
| 1053 | + if(!c.isDestroy()){ | |
| 1054 | + if(c.getMileageType().equals("service")){ | |
| 1055 | + s.setFcsjActual(c.getStartDate()); | |
| 1056 | + break; | |
| 1057 | + } | |
| 1058 | + | |
| 1059 | + } | |
| 1060 | + } | |
| 1061 | + } | |
| 1062 | + } | |
| 1063 | + return s; | |
| 1064 | + } | |
| 946 | 1065 | |
| 1066 | + public Map<String, Object> listDjg(int peak,int trough,List<ScheduleRealInfo> listInfo,String grade){ | |
| 1067 | + DecimalFormat df = new DecimalFormat("#0.00"); | |
| 1068 | + Collections.sort(listInfo,new ComparableAcuals()); | |
| 1069 | + List<ScheduleRealInfo> listInfo0=new ArrayList<ScheduleRealInfo>(); | |
| 1070 | + List<ScheduleRealInfo> listInfo1=new ArrayList<ScheduleRealInfo>(); | |
| 1071 | + for (int i = 0; i < listInfo.size(); i++) { | |
| 1072 | + ScheduleRealInfo s=listInfo.get(i); | |
| 1073 | + if(s.getXlDir().equals("0")){ | |
| 1074 | + listInfo0.add(s); | |
| 1075 | + }else{ | |
| 1076 | + listInfo0.add(s); | |
| 1077 | + } | |
| 1078 | + | |
| 1079 | + } | |
| 1080 | + Map<String, Object> map=new HashMap<String,Object>(); | |
| 1081 | + int djgcsz=0; | |
| 1082 | + int djgcsw=0; | |
| 1083 | + int djgcsq=0; | |
| 1084 | + long djcsj=0l; | |
| 1085 | + for (int i = 0; i < listInfo0.size(); i++) { | |
| 1086 | + ScheduleRealInfo s=listInfo.get(i); | |
| 1087 | + Long fcsjTime=s.getFcsjActualTime(); | |
| 1088 | + String time=s.getFcsjActual(); | |
| 1089 | + String[] fcsjStr = time.split(":"); | |
| 1090 | + long fcsj= Long.parseLong(fcsjStr[0])*60+Long.parseLong(fcsjStr[1]); | |
| 1091 | + if(i<listInfo.size()-1){ | |
| 1092 | + Long djg=0l; | |
| 1093 | + Long fscjNext=listInfo.get(i+1).getFcsjActualTime(); | |
| 1094 | + if((fcsj>=zgf1&&fcsj<=zgf2)){ | |
| 1095 | + djg = (long) (peak*60*1000); | |
| 1096 | + if(fscjNext-fcsjTime>djg){ | |
| 1097 | + djgcsz ++; | |
| 1098 | + djgcsq ++; | |
| 1099 | + if(fscjNext-fcsjTime>djcsj){ | |
| 1100 | + djcsj=(fscjNext-fcsjTime)/1000; | |
| 1101 | + } | |
| 1102 | + } | |
| 1103 | + }else if((fcsj>=wgf1&&fcsj<=wgf2)){ | |
| 1104 | + djg = (long) (peak*60*1000); | |
| 1105 | + if(fscjNext-fcsjTime>djg){ | |
| 1106 | + djgcsw ++; | |
| 1107 | + djgcsq ++; | |
| 1108 | + if(fscjNext-fcsjTime>djcsj){ | |
| 1109 | + djcsj=(fscjNext-fcsjTime)/1000; | |
| 1110 | + } | |
| 1111 | + } | |
| 1112 | + }else{ | |
| 1113 | + djg = (long) (trough*60*1000); | |
| 1114 | + if(fscjNext-fcsjTime>djg){ | |
| 1115 | + djgcsq ++; | |
| 1116 | + if(fscjNext-fcsjTime>djcsj){ | |
| 1117 | + djcsj=(fscjNext-fcsjTime)/1000; | |
| 1118 | + } | |
| 1119 | + } | |
| 1120 | + } | |
| 1121 | + } | |
| 1122 | + } | |
| 1123 | + for (int i = 0; i < listInfo1.size(); i++) { | |
| 1124 | + ScheduleRealInfo s=listInfo.get(i); | |
| 1125 | + Long fcsjTime=s.getFcsjActualTime(); | |
| 1126 | + String time=s.getFcsjActual(); | |
| 1127 | + String[] fcsjStr = time.split(":"); | |
| 1128 | + long fcsj= Long.parseLong(fcsjStr[0])*60+Long.parseLong(fcsjStr[1]); | |
| 1129 | + if(i<listInfo.size()-1){ | |
| 1130 | + Long djg=0l; | |
| 1131 | + Long fscjNext=listInfo.get(i+1).getFcsjActualTime(); | |
| 1132 | + if(fcsj>=zgf1&&fcsj<=zgf2){ | |
| 1133 | + djg = (long) (peak*60*1000); | |
| 1134 | + if(fscjNext-fcsjTime>djg){ | |
| 1135 | + djgcsz ++; | |
| 1136 | + djgcsq ++; | |
| 1137 | + if(fscjNext-fcsjTime>djcsj){ | |
| 1138 | + djcsj=(fscjNext-fcsjTime)/1000; | |
| 1139 | + } | |
| 1140 | + } | |
| 1141 | + }else if(fcsj>=wgf1&&fcsj<=wgf2){ | |
| 1142 | + djg = (long) (peak*60*1000); | |
| 1143 | + if(fscjNext-fcsjTime>djg){ | |
| 1144 | + djgcsw ++; | |
| 1145 | + djgcsq ++; | |
| 1146 | + if(fscjNext-fcsjTime>djcsj){ | |
| 1147 | + djcsj=(fscjNext-fcsjTime)/1000; | |
| 1148 | + } | |
| 1149 | + } | |
| 1150 | + }else{ | |
| 1151 | + djg = (long) (trough*60*1000); | |
| 1152 | + if(fscjNext-fcsjTime>djg){ | |
| 1153 | + djgcsq ++; | |
| 1154 | + if(fscjNext-fcsjTime>djcsj){ | |
| 1155 | + djcsj=(fscjNext-fcsjTime)/1000; | |
| 1156 | + } | |
| 1157 | + } | |
| 1158 | + } | |
| 1159 | + } | |
| 1160 | + } | |
| 1161 | + | |
| 1162 | + map.put("djgcsz", djgcsz); | |
| 1163 | + map.put("djgcsw", djgcsw); | |
| 1164 | + map.put("djgcsq", djgcsq); | |
| 1165 | + map.put("djgsj", djcsj); | |
| 1166 | + return map; | |
| 1167 | + } | |
| 947 | 1168 | |
| 948 | 1169 | } | ... | ... |
src/main/java/com/bsth/service/report/impl/ReportServiceImpl.java
| ... | ... | @@ -598,7 +598,7 @@ public class ReportServiceImpl implements ReportService{ |
| 598 | 598 | |
| 599 | 599 | String sqlCl="SELECT cl_zbh,qdz_name,bc_type,fcsj,bcsj FROM" |
| 600 | 600 | + " bsth_c_s_sp_info WHERE tt_info = '"+ttinfo+"' " |
| 601 | - + " AND bc_type = 'normal' order by qdz_name"; | |
| 601 | + + " AND (bc_type = 'normal' or bc_type='region') order by qdz_name"; | |
| 602 | 602 | |
| 603 | 603 | List<Map<String, Object>> listj= jdbcTemplate.query(sqlCl, |
| 604 | 604 | new RowMapper<Map<String, Object>>(){ |
| ... | ... | @@ -873,7 +873,7 @@ public class ReportServiceImpl implements ReportService{ |
| 873 | 873 | + " bsth_c_s_ttinfo_detail where ttinfo ='"+ttinfo+"' and " |
| 874 | 874 | + " fcsj > '"+minfcsj+"' and bc_type!='ldks' " |
| 875 | 875 | + " and bc_type !='region') " |
| 876 | - + " order by xl_dir, xh, lp,fcsj"; | |
| 876 | + + " order by xh, lp,fcsj"; | |
| 877 | 877 | Map<String, Object> map=new HashMap<String,Object>(); |
| 878 | 878 | List<Map<String, Object>> list= jdbcTemplate.query(sqlPc, |
| 879 | 879 | new RowMapper<Map<String, Object>>(){ |
| ... | ... | @@ -915,6 +915,8 @@ public class ReportServiceImpl implements ReportService{ |
| 915 | 915 | int temp = 48*60+1, zcj = 0; |
| 916 | 916 | boolean ists = true; |
| 917 | 917 | String lpname=""; |
| 918 | + int dir =-1; | |
| 919 | + int fcsjT_= 0; | |
| 918 | 920 | for (int i = 0; i < list.size(); i++) { |
| 919 | 921 | Map<String, Object> m=list.get(i); |
| 920 | 922 | int xlDir = Integer.valueOf(m.get("dir").toString()); |
| ... | ... | @@ -927,6 +929,10 @@ public class ReportServiceImpl implements ReportService{ |
| 927 | 929 | if(temp>fcsjT){ |
| 928 | 930 | temp=fcsjT+bcsj; |
| 929 | 931 | } |
| 932 | + dir =xlDir; | |
| 933 | + if(bcType.equals("in") || bcType.equals("out")){ | |
| 934 | + ists=false; | |
| 935 | + } | |
| 930 | 936 | }else{ |
| 931 | 937 | if(temp>fcsjT){ |
| 932 | 938 | temp=fcsjT+bcsj; |
| ... | ... | @@ -934,74 +940,146 @@ public class ReportServiceImpl implements ReportService{ |
| 934 | 940 | if(bcType.equals("in") || bcType.equals("out")){ |
| 935 | 941 | temp = fcsjT+bcsj; |
| 936 | 942 | lpname=m.get("lp").toString(); |
| 943 | + dir =xlDir; | |
| 937 | 944 | ists=false; |
| 938 | 945 | }else{ |
| 939 | -// if(ists){ | |
| 940 | -// temp = fcsjT+bcsj; | |
| 941 | -// lpname=m.get("lp").toString(); | |
| 942 | -// }else{ | |
| 943 | - if(xlDir==0){ | |
| 946 | +// if(xlDir==0){ | |
| 944 | 947 | //上行数据 |
| 945 | 948 | if(fcsjT>= minSj && fcsjT <= 6*60+30){ |
| 946 | 949 | //早高峰前 |
| 947 | - yysxZq +=bcsj; | |
| 948 | - sxcountZqbc ++; | |
| 949 | - zqFcsj0.add(fcsjT); | |
| 950 | + if(xlDir==0){ | |
| 951 | + yysxZq +=bcsj; | |
| 952 | + sxcountZqbc ++; | |
| 953 | + zqFcsj0.add(fcsjT); | |
| 954 | + }else{ | |
| 955 | + yyxxZq +=bcsj; | |
| 956 | + xxcountZqbc ++; | |
| 957 | + zqFcsj1.add(fcsjT); | |
| 958 | + } | |
| 950 | 959 | if(ists){ |
| 951 | 960 | if(lpname.equals(m.get("lp").toString())){ |
| 952 | - tzsxZq +=fcsjT-temp; | |
| 961 | + if(dir==0) | |
| 962 | + tzsxZq +=fcsjT-temp; | |
| 963 | + else | |
| 964 | + tzxxZq +=fcsjT-temp; | |
| 953 | 965 | } |
| 954 | 966 | } |
| 955 | 967 | temp = fcsjT+bcsj; |
| 956 | 968 | |
| 957 | 969 | }else if(fcsjT > 6*60+30 && fcsjT <= 8*60+30){ |
| 958 | 970 | //早高峰 |
| 959 | - yysxZgf +=bcsj; | |
| 960 | - sxcountZgfbc ++; | |
| 961 | - zgfFcsj0.add(fcsjT); | |
| 971 | + if(xlDir==0){ | |
| 972 | + yysxZgf +=bcsj; | |
| 973 | + sxcountZgfbc ++; | |
| 974 | + zgfFcsj0.add(fcsjT); | |
| 975 | + }else{ | |
| 976 | + yyxxZgf +=bcsj; | |
| 977 | + xxcountZgfbc ++; | |
| 978 | + zgfFcsj1.add(fcsjT); | |
| 979 | + } | |
| 980 | + | |
| 962 | 981 | if(ists){ |
| 963 | 982 | if(lpname.equals(m.get("lp").toString())){ |
| 964 | - tzsxZgf +=fcsjT-temp; | |
| 983 | + if(dir==0){ | |
| 984 | + if(fcsjT>= minSj && fcsjT <= 6*60+30) | |
| 985 | + tzsxZq +=fcsjT-temp; | |
| 986 | + else | |
| 987 | + tzsxZgf +=fcsjT-temp; | |
| 988 | + }else{ | |
| 989 | + if(fcsjT_>= minSj && fcsjT_ <= 6*60+30) | |
| 990 | + tzxxZq +=fcsjT-temp; | |
| 991 | + else | |
| 992 | + tzxxZgf +=fcsjT-temp; | |
| 993 | + } | |
| 965 | 994 | } |
| 966 | 995 | } |
| 967 | 996 | temp =fcsjT+bcsj; |
| 968 | 997 | |
| 969 | 998 | }else if(fcsjT > 8*60+30 && fcsjT <= 16*60){ |
| 970 | 999 | //中午 |
| 971 | - yysxZw +=bcsj; | |
| 972 | - sxcountZwbc ++; | |
| 973 | - zwFcsj0.add(fcsjT); | |
| 1000 | + if(xlDir==0){ | |
| 1001 | + yysxZw +=bcsj; | |
| 1002 | + sxcountZwbc ++; | |
| 1003 | + zwFcsj0.add(fcsjT); | |
| 1004 | + }else{ | |
| 1005 | + yyxxZw +=bcsj; | |
| 1006 | + xxcountZwbc ++; | |
| 1007 | + zwFcsj1.add(fcsjT); | |
| 1008 | + } | |
| 974 | 1009 | if(ists){ |
| 975 | 1010 | if(lpname.equals(m.get("lp").toString())){ |
| 976 | - tzsxZw +=fcsjT-temp; | |
| 1011 | + if(dir==0){ | |
| 1012 | + if(fcsjT_ > 6*60+30 && fcsjT_ <= 8*60+30) | |
| 1013 | + tzsxZgf +=fcsjT-temp; | |
| 1014 | + else | |
| 1015 | + tzsxZw +=fcsjT-temp; | |
| 1016 | + }else{ | |
| 1017 | + if(fcsjT_ > 6*60+30 && fcsjT_ <= 8*60+30) | |
| 1018 | + tzxxZgf +=fcsjT-temp; | |
| 1019 | + else | |
| 1020 | + tzxxZw +=fcsjT-temp; | |
| 1021 | + } | |
| 977 | 1022 | } |
| 978 | 1023 | } |
| 979 | 1024 | temp =fcsjT+bcsj; |
| 980 | 1025 | }else if(fcsjT > 16*60 && fcsjT <= 18*60){ |
| 981 | 1026 | //晚高峰 |
| 982 | - yysxWgf +=bcsj; | |
| 983 | - sxcountWgfbc ++; | |
| 984 | - wgfFcsj0.add(fcsjT); | |
| 1027 | + if(xlDir==0){ | |
| 1028 | + yysxWgf +=bcsj; | |
| 1029 | + sxcountWgfbc ++; | |
| 1030 | + wgfFcsj0.add(fcsjT); | |
| 1031 | + }else{ | |
| 1032 | + yyxxWgf +=bcsj; | |
| 1033 | + xxcountWgfbc ++; | |
| 1034 | + wgfFcsj1.add(fcsjT); | |
| 1035 | + } | |
| 1036 | + | |
| 985 | 1037 | if(ists){ |
| 986 | 1038 | if(lpname.equals(m.get("lp").toString())){ |
| 987 | - tzsxWgf +=fcsjT-temp; | |
| 1039 | + if(dir==0){ | |
| 1040 | + if(fcsjT_ > 8*60+30 && fcsjT_ <= 16*60) | |
| 1041 | + tzsxZw +=fcsjT-temp; | |
| 1042 | + else | |
| 1043 | + tzsxWgf +=fcsjT-temp; | |
| 1044 | + }else{ | |
| 1045 | + if(fcsjT_ > 8*60+30 && fcsjT_ <= 16*60) | |
| 1046 | + tzxxZw +=fcsjT-temp; | |
| 1047 | + else | |
| 1048 | + tzxxWgf +=fcsjT-temp; | |
| 1049 | + } | |
| 988 | 1050 | } |
| 989 | 1051 | } |
| 990 | 1052 | temp =fcsjT+bcsj; |
| 991 | 1053 | }else{ |
| 992 | 1054 | //晚高峰后 |
| 993 | - yysxWh +=bcsj; | |
| 994 | - sxcountWhbc ++; | |
| 995 | - whFcsj0.add(fcsjT); | |
| 1055 | + if(xlDir==0){ | |
| 1056 | + yysxWh +=bcsj; | |
| 1057 | + sxcountWhbc ++; | |
| 1058 | + whFcsj0.add(fcsjT); | |
| 1059 | + }else{ | |
| 1060 | + yyxxWh +=bcsj; | |
| 1061 | + xxcountWhbc ++; | |
| 1062 | + whFcsj1.add(fcsjT); | |
| 1063 | + } | |
| 996 | 1064 | if(ists){ |
| 997 | 1065 | if(lpname.equals(m.get("lp").toString())){ |
| 998 | - tzsxWh +=fcsjT-temp; | |
| 1066 | + if(dir==0){ | |
| 1067 | + if(fcsjT_ > 16*60 && fcsjT_ <= 18*60) | |
| 1068 | + tzsxWgf +=fcsjT-temp; | |
| 1069 | + else | |
| 1070 | + tzsxWh +=fcsjT-temp; | |
| 1071 | + }else{ | |
| 1072 | + if(fcsjT_ > 16*60 && fcsjT_ <= 18*60) | |
| 1073 | + tzxxWgf +=fcsjT-temp; | |
| 1074 | + else | |
| 1075 | + tzxxWh +=fcsjT-temp; | |
| 1076 | + } | |
| 999 | 1077 | } |
| 1000 | 1078 | } |
| 1001 | 1079 | temp =fcsjT+bcsj; |
| 1002 | 1080 | } |
| 1003 | - lpname=m.get("lp").toString(); | |
| 1004 | - }else{ | |
| 1081 | + | |
| 1082 | + /*}else{ | |
| 1005 | 1083 | //下行数据 |
| 1006 | 1084 | if(fcsjT>= minSj && fcsjT <= 6*60+30){ |
| 1007 | 1085 | //早高峰前 |
| ... | ... | @@ -1021,7 +1099,10 @@ public class ReportServiceImpl implements ReportService{ |
| 1021 | 1099 | zgfFcsj1.add(fcsjT); |
| 1022 | 1100 | if(ists){ |
| 1023 | 1101 | if(lpname.equals(m.get("lp").toString())){ |
| 1024 | - tzxxZgf +=fcsjT-temp; | |
| 1102 | + if(fcsjT_>= minSj && fcsjT_ <= 6*60+30) | |
| 1103 | + tzxxZq +=fcsjT-temp; | |
| 1104 | + else | |
| 1105 | + tzxxZgf +=fcsjT-temp; | |
| 1025 | 1106 | } |
| 1026 | 1107 | } |
| 1027 | 1108 | temp =fcsjT+bcsj; |
| ... | ... | @@ -1032,7 +1113,10 @@ public class ReportServiceImpl implements ReportService{ |
| 1032 | 1113 | zwFcsj1.add(fcsjT); |
| 1033 | 1114 | if(ists){ |
| 1034 | 1115 | if(lpname.equals(m.get("lp").toString())){ |
| 1035 | - tzxxZw +=fcsjT-temp; | |
| 1116 | + if(fcsjT_ > 6*60+30 && fcsjT_ <= 8*60+30) | |
| 1117 | + tzxxZgf +=fcsjT-temp; | |
| 1118 | + else | |
| 1119 | + tzxxZw +=fcsjT-temp; | |
| 1036 | 1120 | } |
| 1037 | 1121 | } |
| 1038 | 1122 | temp =fcsjT+bcsj; |
| ... | ... | @@ -1043,7 +1127,10 @@ public class ReportServiceImpl implements ReportService{ |
| 1043 | 1127 | wgfFcsj1.add(fcsjT); |
| 1044 | 1128 | if(ists){ |
| 1045 | 1129 | if(lpname.equals(m.get("lp").toString())){ |
| 1046 | - tzxxWgf +=fcsjT-temp; | |
| 1130 | + if(fcsjT_ > 8*60+30 && fcsjT_ <= 16*60) | |
| 1131 | + tzxxZw +=fcsjT-temp; | |
| 1132 | + else | |
| 1133 | + tzxxWgf +=fcsjT-temp; | |
| 1047 | 1134 | } |
| 1048 | 1135 | } |
| 1049 | 1136 | temp =fcsjT+bcsj; |
| ... | ... | @@ -1054,20 +1141,27 @@ public class ReportServiceImpl implements ReportService{ |
| 1054 | 1141 | whFcsj1.add(fcsjT); |
| 1055 | 1142 | if(ists){ |
| 1056 | 1143 | if(lpname.equals(m.get("lp").toString())){ |
| 1057 | - tzxxWh +=fcsjT-temp; | |
| 1144 | + if(fcsjT_ > 16*60 && fcsjT_ <= 18*60) | |
| 1145 | + tzxxWgf +=fcsjT-temp; | |
| 1146 | + else | |
| 1147 | + tzxxWh +=fcsjT-temp; | |
| 1058 | 1148 | } |
| 1059 | 1149 | } |
| 1060 | 1150 | temp =fcsjT+bcsj; |
| 1061 | 1151 | } |
| 1062 | 1152 | // } |
| 1063 | - } | |
| 1153 | + }*/ | |
| 1154 | + lpname=m.get("lp").toString(); | |
| 1155 | + fcsjT_=fcsjT; | |
| 1156 | + dir =xlDir; | |
| 1157 | + if(m.get("ists").toString().trim().equals("1")){ | |
| 1158 | + ists=false; | |
| 1159 | + }else{ | |
| 1160 | + ists = true; | |
| 1161 | + } | |
| 1064 | 1162 | } |
| 1065 | 1163 | } |
| 1066 | - if(m.get("ists").toString().trim().equals("1")){ | |
| 1067 | - ists=false; | |
| 1068 | - }else{ | |
| 1069 | - ists = true; | |
| 1070 | - } | |
| 1164 | + | |
| 1071 | 1165 | } |
| 1072 | 1166 | |
| 1073 | 1167 | //---------------------------------------早前 |
| ... | ... | @@ -1885,6 +1979,50 @@ public class ReportServiceImpl implements ReportService{ |
| 1885 | 1979 | return list; |
| 1886 | 1980 | } |
| 1887 | 1981 | |
| 1982 | + public List<ArrivalInfo> load4(String line, String date, int zd,String minfcsj){ | |
| 1983 | + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | |
| 1984 | + SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); | |
| 1985 | + Long date1=0L; | |
| 1986 | + Long date2=0L; | |
| 1987 | + Calendar cal = Calendar.getInstance(); | |
| 1988 | + List<ArrivalInfo> list=null; | |
| 1989 | + try { | |
| 1990 | + Date dates1 = simpleDateFormat.parse(date+" "+minfcsj+":01"); | |
| 1991 | + String d1=date+" "+minfcsj+":01"; | |
| 1992 | +// Date dates2=simpleDateFormat.parse(date+" 23:59:59"); | |
| 1993 | + date1=dates1.getTime(); | |
| 1994 | +// date2=dates2.getTime(); | |
| 1995 | + cal.setTime(dates1); | |
| 1996 | + int weeks_year1 = cal.get(Calendar.WEEK_OF_YEAR); | |
| 1997 | + cal.add(cal.DATE,1);//把日期往后增加一天.整数往后推,负数往前移动 | |
| 1998 | + int weeks_year2 = cal.get(Calendar.WEEK_OF_YEAR); | |
| 1999 | + Date dates2=cal.getTime(); | |
| 2000 | + String d2=simpleDateFormat.format(dates2); | |
| 2001 | + String sql="select *,UNIX_TIMESTAMP(times) as ts from bsth_c_arrival_info where times >= '"+d1 +"'and " | |
| 2002 | + + " times <='"+d2+"' and line_id = '"+line+"' and up_down = '"+zd+"'" | |
| 2003 | + + " order by device_id,times"; | |
| 2004 | + | |
| 2005 | + list =jdbcTemplate.query(sql, new RowMapper<ArrivalInfo>() { | |
| 2006 | + @Override | |
| 2007 | + public ArrivalInfo mapRow(ResultSet arg0, int arg1) throws SQLException { | |
| 2008 | + ArrivalInfo ai=new ArrivalInfo(); | |
| 2009 | + ai.setInOut(arg0.getInt("in_out")); | |
| 2010 | + ai.setDeviceId(arg0.getString("device_id")); | |
| 2011 | + ai.setStopNo(arg0.getString("stop_no")); | |
| 2012 | + ai.setDates(arg0.getDate("times")); | |
| 2013 | + ai.setTs(arg0.getLong("ts")*1000); | |
| 2014 | + return ai; | |
| 2015 | + } | |
| 2016 | + }); | |
| 2017 | + | |
| 2018 | + } catch (ParseException e1) { | |
| 2019 | + // TODO Auto-generated catch block | |
| 2020 | + e1.printStackTrace(); | |
| 2021 | + } | |
| 2022 | + return list; | |
| 2023 | + | |
| 2024 | + } | |
| 2025 | + | |
| 1888 | 2026 | public List<ArrivalInfo> load3(String line, String date, int zd){ |
| 1889 | 2027 | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| 1890 | 2028 | SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); |
| ... | ... | @@ -1928,6 +2066,8 @@ public class ReportServiceImpl implements ReportService{ |
| 1928 | 2066 | } |
| 1929 | 2067 | return list; |
| 1930 | 2068 | } |
| 2069 | + | |
| 2070 | + //根据排班查到离站 | |
| 1931 | 2071 | @Override |
| 1932 | 2072 | public List<Map<String, Object>> queryInOutStrtion(String line, String date, int zd,String lzsj) { |
| 1933 | 2073 | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| ... | ... | @@ -1997,6 +2137,106 @@ public class ReportServiceImpl implements ReportService{ |
| 1997 | 2137 | return inoutList; |
| 1998 | 2138 | } |
| 1999 | 2139 | |
| 2140 | + //根据GPS查到离站 | |
| 2141 | + @Override | |
| 2142 | + public List<Map<String, Object>> queryInOutStrtions(String line, String date, int zd,String lzsj) { | |
| 2143 | + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | |
| 2144 | + String sqlMinYysj="select start_opt from bsth_c_line_config where " | |
| 2145 | + + " id = (" | |
| 2146 | + + "select max(id) from bsth_c_line_config where line ='"+BasicData.lineId2CodeMap.inverse().get(line) +"'" | |
| 2147 | + + ")"; | |
| 2148 | + String minfcsj=jdbcTemplate.queryForObject(sqlMinYysj, String.class); | |
| 2149 | + List<ArrivalInfo> arrInfoList=this.load4(line, date, zd,minfcsj); | |
| 2150 | + | |
| 2151 | + //查询线路所有的站点 | |
| 2152 | + List<StationRoute> listStation= stationRouteRepository.findByLine(line,zd); | |
| 2153 | + List<Map<String, Object>> inoutList=new ArrayList<Map<String,Object>>(); | |
| 2154 | + //保存的所以的站点信息 | |
| 2155 | + Map<String, Object> map1=new HashMap<String,Object>(); | |
| 2156 | + map1.put("bc", ""); | |
| 2157 | + map1.put("nbbm", ""); | |
| 2158 | + | |
| 2159 | + for (int i = 0; i < listStation.size(); i++) { | |
| 2160 | + map1.put(listStation.get(i).getStationCode()+"in" | |
| 2161 | + , listStation.get(i).getStationName()); | |
| 2162 | + map1.put(listStation.get(i).getStationCode()+"out" | |
| 2163 | + , (i+1)); | |
| 2164 | + } | |
| 2165 | + inoutList.add(map1); | |
| 2166 | + | |
| 2167 | + /*for (int j = 0; j < listStation.size(); j++) { | |
| 2168 | + map2=new HashMap<String,Object>(); | |
| 2169 | + StationRoute s=listStation.get(j); | |
| 2170 | + List<ArrivalInfo> arrivalList=new ArrayList<ArrivalInfo>(); | |
| 2171 | + for (int j2 = 0; j2 < arrInfoList.size(); j2++) { | |
| 2172 | + ArrivalInfo a=arrivalList.get(j2); | |
| 2173 | + if(s.getStationCode().equals(a.getStopNo())){ | |
| 2174 | + arrivalList.add(a); | |
| 2175 | + } | |
| 2176 | + } | |
| 2177 | + Map<String, String> m=this.strInOut(arrivalList,lzsj); | |
| 2178 | + | |
| 2179 | + map2.put(s.getStationCode()+"in", m.get("in")); | |
| 2180 | + map2.put(s.getStationCode()+"out", m.get("out")); | |
| 2181 | + map2.put(s.getStationCode(), m.get("type")); | |
| 2182 | + }*/ | |
| 2183 | + List<String> list_nbbm=new ArrayList<String>(); | |
| 2184 | + Map<String, Object> m=new HashMap<String,Object>(); | |
| 2185 | + for (int i = 0; i < arrInfoList.size(); i++) { | |
| 2186 | + arrInfoList.get(i).setRoute(-1); | |
| 2187 | + for (int j = 0; j < listStation.size(); j++) { | |
| 2188 | + if(arrInfoList.get(i).getStopNo().equals(listStation.get(j).getStationCode())){ | |
| 2189 | + arrInfoList.get(i).setRoute(listStation.get(j).getStationRouteCode()); | |
| 2190 | + | |
| 2191 | + } | |
| 2192 | + } | |
| 2193 | + if(m.get(arrInfoList.get(i).getDeviceId())==null){ | |
| 2194 | + m.put(arrInfoList.get(i).getDeviceId(), arrInfoList.get(i).getDeviceId()); | |
| 2195 | + list_nbbm.add(arrInfoList.get(i).getDeviceId()); | |
| 2196 | + } | |
| 2197 | + } | |
| 2198 | + | |
| 2199 | + Map<String, Object> map2=new HashMap<String, Object>(); | |
| 2200 | + for (int i = 0; i < list_nbbm.size(); i++) { | |
| 2201 | + String nbbm=list_nbbm.get(i); | |
| 2202 | + | |
| 2203 | + int zdbm =0; | |
| 2204 | + int inout=-1; | |
| 2205 | + List<ArrivalInfo> arrivalList=new ArrayList<ArrivalInfo>(); | |
| 2206 | + for (int j = 0; j < arrInfoList.size(); j++) { | |
| 2207 | + ArrivalInfo aif=arrInfoList.get(j); | |
| 2208 | + | |
| 2209 | + if(aif.getDeviceId().equals(nbbm)){ | |
| 2210 | + map2.put("nbbm", BasicData.deviceId2NbbmMap.get(nbbm)); | |
| 2211 | + if(aif.getRoute()>-1){ | |
| 2212 | + if(((inout==aif.getInOut() && zdbm==aif.getRoute()) || !(zdbm ==aif.getRoute()))){ | |
| 2213 | + if(aif.getRoute()<=zdbm ){ | |
| 2214 | + inoutList.add(map2); | |
| 2215 | + map2=new HashMap<String, Object>(); | |
| 2216 | + arrivalList=new ArrayList<ArrivalInfo>(); | |
| 2217 | + } | |
| 2218 | + } | |
| 2219 | + arrivalList.add(aif); | |
| 2220 | +// if(!(zdbm ==aif.getRoute())){ | |
| 2221 | + Map<String, String> m_=this.strInOut(arrivalList,lzsj); | |
| 2222 | + map2.put(aif.getStopNo()+"in", m_.get("in")); | |
| 2223 | + map2.put(aif.getStopNo()+"out", m_.get("out")); | |
| 2224 | + map2.put(aif.getStopNo(), m_.get("type")); | |
| 2225 | +// arrivalList=new ArrayList<ArrivalInfo>(); | |
| 2226 | +// } | |
| 2227 | + zdbm =aif.getRoute(); | |
| 2228 | + inout=aif.getInOut(); | |
| 2229 | + | |
| 2230 | + } | |
| 2231 | + | |
| 2232 | + } | |
| 2233 | + | |
| 2234 | + } | |
| 2235 | + } | |
| 2236 | + | |
| 2237 | + return inoutList; | |
| 2238 | + } | |
| 2239 | + | |
| 2000 | 2240 | public Map<String, String> strInOut(List<ArrivalInfo> lists,String lzsj){ |
| 2001 | 2241 | String inout=""; |
| 2002 | 2242 | SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); |
| ... | ... | @@ -2015,6 +2255,9 @@ public class ReportServiceImpl implements ReportService{ |
| 2015 | 2255 | t1.setCzsj(sdf.format(new Date(t2.getTs()))); |
| 2016 | 2256 | out =t2.getTs(); |
| 2017 | 2257 | break; |
| 2258 | + }else{ | |
| 2259 | + t1.setCzsj(""); | |
| 2260 | + out =0l; | |
| 2018 | 2261 | } |
| 2019 | 2262 | } |
| 2020 | 2263 | |
| ... | ... | @@ -2721,7 +2964,7 @@ public class ReportServiceImpl implements ReportService{ |
| 2721 | 2964 | |
| 2722 | 2965 | for (int i = 0; i < xlList.size(); i++) { |
| 2723 | 2966 | String lineCode=xlList.get(i).get("line").toString(); |
| 2724 | - String grade =xlList.get(i).get("grade").toString(); | |
| 2967 | + String grade =xlList.get(i).get("grade")==null?"1":xlList.get(i).get("grade").toString(); | |
| 2725 | 2968 | int peak=0; |
| 2726 | 2969 | int trough=0; |
| 2727 | 2970 | for (int j = 0; j < djgList.size(); j++) { | ... | ... |
src/main/java/com/bsth/service/schedule/impl/PeopleCarPlanServiceImpl.java
| ... | ... | @@ -1233,7 +1233,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 1233 | 1233 | String sql = "select a.schedule_date_Str, a.real_exec_date, a.xl_name, a.fcsj, a.fcsj_actual, a.zdsj, a.zdsj_actual, a.qdz_name, a.zdz_name, a.xl_dir, a.status, a.gs_name, a.fgs_name," |
| 1234 | 1234 | + " b.start_opt from bsth_c_s_sp_info_real a left join (select line, start_opt from bsth_c_line_config order by id desc) b on a.xl_bm = b.line" |
| 1235 | 1235 | + " where DATE_FORMAT(schedule_date,'%Y-%m-%d') = '"+date+"'" |
| 1236 | - + " and fcsj_actual is not null and fcsj_actual != '' and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks' and bc_type != 'region'"; | |
| 1236 | + + " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks' and bc_type != 'region'"; | |
| 1237 | 1237 | if(line.trim().length() != 0) |
| 1238 | 1238 | sql += " and xl_bm = '"+line+"'"; |
| 1239 | 1239 | else if(company.length() != 0) |
| ... | ... | @@ -1326,14 +1326,18 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 1326 | 1326 | for(ScheduleRealInfo s : keyMap.get(xlName)){ |
| 1327 | 1327 | if(s.getXlDir().equals("0")){ |
| 1328 | 1328 | up1.add(s.getFcsjT()); |
| 1329 | - up2.add(s.getFcsjActualTime()); | |
| 1330 | 1329 | up1Map.put(s.getFcsjT(), s); |
| 1331 | - up2Map.put(s.getFcsjActualTime(), s); | |
| 1330 | + if(s.getFcsjActual() != null){ | |
| 1331 | + up2.add(s.getFcsjActualTime()); | |
| 1332 | + up2Map.put(s.getFcsjActualTime(), s); | |
| 1333 | + } | |
| 1332 | 1334 | } else if(s.getXlDir().equals("1")){ |
| 1333 | 1335 | dn1.add(s.getFcsjT()); |
| 1334 | - dn2.add(s.getFcsjActualTime()); | |
| 1335 | 1336 | dn1Map.put(s.getFcsjT(), s); |
| 1336 | - dn2Map.put(s.getFcsjActualTime(), s); | |
| 1337 | + if(s.getFcsjActual() != null){ | |
| 1338 | + dn2.add(s.getFcsjActualTime()); | |
| 1339 | + dn2Map.put(s.getFcsjActualTime(), s); | |
| 1340 | + } | |
| 1337 | 1341 | } |
| 1338 | 1342 | } |
| 1339 | 1343 | if(up1.size() > 0 && up2.size() > 0){ |
| ... | ... | @@ -1455,7 +1459,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 1455 | 1459 | String sql = "select a.schedule_date_Str, a.real_exec_date, a.xl_name, a.fcsj, a.fcsj_actual, a.zdsj, a.zdsj_actual, a.qdz_name, a.zdz_name, a.xl_dir, a.status, a.gs_name, a.fgs_name," |
| 1456 | 1460 | + " b.start_opt from bsth_c_s_sp_info_real a left join (select line, start_opt from bsth_c_line_config order by id desc) b on a.xl_bm = b.line" |
| 1457 | 1461 | + " where DATE_FORMAT(schedule_date,'%Y-%m-%d') >= '"+startDate+"' and DATE_FORMAT(schedule_date,'%Y-%m-%d') <= '"+endDate+"'" |
| 1458 | - + " and fcsj_actual is not null and fcsj_actual != '' and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks' and bc_type != 'region'"; | |
| 1462 | + + " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks' and bc_type != 'region'"; | |
| 1459 | 1463 | if(line.length() != 0) |
| 1460 | 1464 | sql += " and xl_bm = '"+line+"'"; |
| 1461 | 1465 | if(company.length() != 0) |
| ... | ... | @@ -1565,14 +1569,18 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 1565 | 1569 | for(ScheduleRealInfo s : keyMap.get(xlName).get(date)){ |
| 1566 | 1570 | if(s.getXlDir().equals("0")){ |
| 1567 | 1571 | up1.add(s.getFcsjT()); |
| 1568 | - up2.add(s.getFcsjActualTime()); | |
| 1569 | 1572 | up1Map.put(s.getFcsjT(), s); |
| 1570 | - up2Map.put(s.getFcsjActualTime(), s); | |
| 1573 | + if(s.getFcsjActual() != null){ | |
| 1574 | + up2.add(s.getFcsjActualTime()); | |
| 1575 | + up2Map.put(s.getFcsjActualTime(), s); | |
| 1576 | + } | |
| 1571 | 1577 | } else if(s.getXlDir().equals("1")){ |
| 1572 | 1578 | dn1.add(s.getFcsjT()); |
| 1573 | - dn2.add(s.getFcsjActualTime()); | |
| 1574 | 1579 | dn1Map.put(s.getFcsjT(), s); |
| 1575 | - dn2Map.put(s.getFcsjActualTime(), s); | |
| 1580 | + if(s.getFcsjActual() != null){ | |
| 1581 | + dn2.add(s.getFcsjActualTime()); | |
| 1582 | + dn2Map.put(s.getFcsjActualTime(), s); | |
| 1583 | + } | |
| 1576 | 1584 | } |
| 1577 | 1585 | } |
| 1578 | 1586 | if(up1.size() > 0 && up2.size() > 0){ |
| ... | ... | @@ -1687,7 +1695,6 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 1687 | 1695 | |
| 1688 | 1696 | return resList; |
| 1689 | 1697 | } |
| 1690 | - | |
| 1691 | 1698 | /*@Override |
| 1692 | 1699 | public List<Map<String, Object>> commandState(Map<String, Object> map) { |
| 1693 | 1700 | List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>(); | ... | ... |
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>插入/更新bsth_c_cars 2</from><to>错误输出 2</to><enabled>Y</enabled> </hop> | |
| 275 | - <hop> <from>获取变量</from><to>原始系统导出的Excel输入</to><enabled>Y</enabled> </hop> | |
| 276 | - <hop> <from>原始系统导出的Excel输入</from><to>内部编码不为空</to><enabled>Y</enabled> </hop> | |
| 277 | - <hop> <from>内部编码不为空</from><to>添加查询常量</to><enabled>Y</enabled> </hop> | |
| 278 | - <hop> <from>添加查询常量</from><to>公司查询</to><enabled>Y</enabled> </hop> | |
| 279 | - <hop> <from>公司查询</from><to>公司代码不为空</to><enabled>Y</enabled> </hop> | |
| 280 | - <hop> <from>公司代码不为空</from><to>分公司查询</to><enabled>Y</enabled> </hop> | |
| 281 | - <hop> <from>分公司查询</from><to>分公司代码不为空</to><enabled>Y</enabled> </hop> | |
| 282 | - <hop> <from>分公司代码不为空</from><to>车辆编码</to><enabled>Y</enabled> </hop> | |
| 283 | - <hop> <from>车辆编码</from><to>插入/更新bsth_c_cars 2</to><enabled>Y</enabled> </hop> | |
| 284 | - </order> | |
| 285 | - <step> | |
| 286 | - <name>原始系统导出的Excel输入</name> | |
| 287 | - <type>ExcelInput</type> | |
| 288 | - <description/> | |
| 289 | - <distribute>Y</distribute> | |
| 290 | - <custom_distribution/> | |
| 291 | - <copies>1</copies> | |
| 292 | - <partitioning> | |
| 293 | - <method>none</method> | |
| 294 | - <schema_name/> | |
| 295 | - </partitioning> | |
| 296 | - <header>Y</header> | |
| 297 | - <noempty>Y</noempty> | |
| 298 | - <stoponempty>N</stoponempty> | |
| 299 | - <filefield/> | |
| 300 | - <sheetfield/> | |
| 301 | - <sheetrownumfield/> | |
| 302 | - <rownumfield/> | |
| 303 | - <sheetfield/> | |
| 304 | - <filefield/> | |
| 305 | - <limit>0</limit> | |
| 306 | - <encoding/> | |
| 307 | - <add_to_result_filenames>Y</add_to_result_filenames> | |
| 308 | - <accept_filenames>Y</accept_filenames> | |
| 309 | - <accept_field>filepath_</accept_field> | |
| 310 | - <accept_stepname>获取变量</accept_stepname> | |
| 311 | - <file> | |
| 312 | - <name/> | |
| 313 | - <filemask/> | |
| 314 | - <exclude_filemask/> | |
| 315 | - <file_required>N</file_required> | |
| 316 | - <include_subfolders>N</include_subfolders> | |
| 317 | - </file> | |
| 318 | - <fields> | |
| 319 | - <field> | |
| 320 | - <name>车牌号</name> | |
| 321 | - <type>String</type> | |
| 322 | - <length>-1</length> | |
| 323 | - <precision>-1</precision> | |
| 324 | - <trim_type>none</trim_type> | |
| 325 | - <repeat>N</repeat> | |
| 326 | - <format/> | |
| 327 | - <currency/> | |
| 328 | - <decimal/> | |
| 329 | - <group/> | |
| 330 | - </field> | |
| 331 | - <field> | |
| 332 | - <name>内部编码</name> | |
| 333 | - <type>String</type> | |
| 334 | - <length>-1</length> | |
| 335 | - <precision>-1</precision> | |
| 336 | - <trim_type>none</trim_type> | |
| 337 | - <repeat>N</repeat> | |
| 338 | - <format/> | |
| 339 | - <currency/> | |
| 340 | - <decimal/> | |
| 341 | - <group/> | |
| 342 | - </field> | |
| 343 | - <field> | |
| 344 | - <name>所属公司</name> | |
| 345 | - <type>String</type> | |
| 346 | - <length>-1</length> | |
| 347 | - <precision>-1</precision> | |
| 348 | - <trim_type>none</trim_type> | |
| 349 | - <repeat>N</repeat> | |
| 350 | - <format/> | |
| 351 | - <currency/> | |
| 352 | - <decimal/> | |
| 353 | - <group/> | |
| 354 | - </field> | |
| 355 | - <field> | |
| 356 | - <name>所属分公司</name> | |
| 357 | - <type>String</type> | |
| 358 | - <length>-1</length> | |
| 359 | - <precision>-1</precision> | |
| 360 | - <trim_type>none</trim_type> | |
| 361 | - <repeat>N</repeat> | |
| 362 | - <format/> | |
| 363 | - <currency/> | |
| 364 | - <decimal/> | |
| 365 | - <group/> | |
| 366 | - </field> | |
| 367 | - <field> | |
| 368 | - <name>设备供应厂商</name> | |
| 369 | - <type>String</type> | |
| 370 | - <length>-1</length> | |
| 371 | - <precision>-1</precision> | |
| 372 | - <trim_type>none</trim_type> | |
| 373 | - <repeat>N</repeat> | |
| 374 | - <format/> | |
| 375 | - <currency/> | |
| 376 | - <decimal/> | |
| 377 | - <group/> | |
| 378 | - </field> | |
| 379 | - <field> | |
| 380 | - <name>设备终端号</name> | |
| 381 | - <type>String</type> | |
| 382 | - <length>-1</length> | |
| 383 | - <precision>-1</precision> | |
| 384 | - <trim_type>none</trim_type> | |
| 385 | - <repeat>N</repeat> | |
| 386 | - <format/> | |
| 387 | - <currency/> | |
| 388 | - <decimal/> | |
| 389 | - <group/> | |
| 390 | - </field> | |
| 391 | - </fields> | |
| 392 | - <sheets> | |
| 393 | - <sheet> | |
| 394 | - <name>工作表1</name> | |
| 395 | - <startrow>0</startrow> | |
| 396 | - <startcol>0</startcol> | |
| 397 | - </sheet> | |
| 398 | - </sheets> | |
| 399 | - <strict_types>N</strict_types> | |
| 400 | - <error_ignored>N</error_ignored> | |
| 401 | - <error_line_skipped>N</error_line_skipped> | |
| 402 | - <bad_line_files_destination_directory/> | |
| 403 | - <bad_line_files_extension>warning</bad_line_files_extension> | |
| 404 | - <error_line_files_destination_directory/> | |
| 405 | - <error_line_files_extension>error</error_line_files_extension> | |
| 406 | - <line_number_files_destination_directory/> | |
| 407 | - <line_number_files_extension>line</line_number_files_extension> | |
| 408 | - <shortFileFieldName/> | |
| 409 | - <pathFieldName/> | |
| 410 | - <hiddenFieldName/> | |
| 411 | - <lastModificationTimeFieldName/> | |
| 412 | - <uriNameFieldName/> | |
| 413 | - <rootUriNameFieldName/> | |
| 414 | - <extensionFieldName/> | |
| 415 | - <sizeFieldName/> | |
| 416 | - <spreadsheet_type>JXL</spreadsheet_type> | |
| 417 | - <cluster_schema/> | |
| 418 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 419 | - <xloc>218</xloc> | |
| 420 | - <yloc>59</yloc> | |
| 421 | - <draw>Y</draw> | |
| 422 | - </GUI> | |
| 423 | - </step> | |
| 424 | - | |
| 425 | - <step> | |
| 426 | - <name>插入/更新bsth_c_cars 2</name> | |
| 427 | - <type>InsertUpdate</type> | |
| 428 | - <description/> | |
| 429 | - <distribute>Y</distribute> | |
| 430 | - <custom_distribution/> | |
| 431 | - <copies>1</copies> | |
| 432 | - <partitioning> | |
| 433 | - <method>none</method> | |
| 434 | - <schema_name/> | |
| 435 | - </partitioning> | |
| 436 | - <connection>bus_control_variable</connection> | |
| 437 | - <commit>500</commit> | |
| 438 | - <update_bypassed>N</update_bypassed> | |
| 439 | - <lookup> | |
| 440 | - <schema/> | |
| 441 | - <table>bsth_c_cars</table> | |
| 442 | - <key> | |
| 443 | - <name>内部编码</name> | |
| 444 | - <field>inside_code</field> | |
| 445 | - <condition>=</condition> | |
| 446 | - <name2/> | |
| 447 | - </key> | |
| 448 | - <value> | |
| 449 | - <name>car_plate</name> | |
| 450 | - <rename>车牌号</rename> | |
| 451 | - <update>Y</update> | |
| 452 | - </value> | |
| 453 | - <value> | |
| 454 | - <name>car_code</name> | |
| 455 | - <rename>cl_code</rename> | |
| 456 | - <update>Y</update> | |
| 457 | - </value> | |
| 458 | - <value> | |
| 459 | - <name>inside_code</name> | |
| 460 | - <rename>内部编码</rename> | |
| 461 | - <update>Y</update> | |
| 462 | - </value> | |
| 463 | - <value> | |
| 464 | - <name>company</name> | |
| 465 | - <rename>所属公司</rename> | |
| 466 | - <update>Y</update> | |
| 467 | - </value> | |
| 468 | - <value> | |
| 469 | - <name>business_code</name> | |
| 470 | - <rename>gs_code</rename> | |
| 471 | - <update>Y</update> | |
| 472 | - </value> | |
| 473 | - <value> | |
| 474 | - <name>branche_company</name> | |
| 475 | - <rename>所属分公司</rename> | |
| 476 | - <update>Y</update> | |
| 477 | - </value> | |
| 478 | - <value> | |
| 479 | - <name>branche_company_code</name> | |
| 480 | - <rename>fgs_code</rename> | |
| 481 | - <update>Y</update> | |
| 482 | - </value> | |
| 483 | - <value> | |
| 484 | - <name>supplier_name</name> | |
| 485 | - <rename>设备供应厂商</rename> | |
| 486 | - <update>Y</update> | |
| 487 | - </value> | |
| 488 | - <value> | |
| 489 | - <name>equipment_code</name> | |
| 490 | - <rename>设备终端号</rename> | |
| 491 | - <update>Y</update> | |
| 492 | - </value> | |
| 493 | - </lookup> | |
| 494 | - <cluster_schema/> | |
| 495 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 496 | - <xloc>690</xloc> | |
| 497 | - <yloc>393</yloc> | |
| 498 | - <draw>Y</draw> | |
| 499 | - </GUI> | |
| 500 | - </step> | |
| 501 | - | |
| 502 | - <step> | |
| 503 | - <name>获取变量</name> | |
| 504 | - <type>GetVariable</type> | |
| 505 | - <description/> | |
| 506 | - <distribute>Y</distribute> | |
| 507 | - <custom_distribution/> | |
| 508 | - <copies>1</copies> | |
| 509 | - <partitioning> | |
| 510 | - <method>none</method> | |
| 511 | - <schema_name/> | |
| 512 | - </partitioning> | |
| 513 | - <fields> | |
| 514 | - <field> | |
| 515 | - <name>filepath_</name> | |
| 516 | - <variable>${filepath}</variable> | |
| 517 | - <type>String</type> | |
| 518 | - <format/> | |
| 519 | - <currency/> | |
| 520 | - <decimal/> | |
| 521 | - <group/> | |
| 522 | - <length>-1</length> | |
| 523 | - <precision>-1</precision> | |
| 524 | - <trim_type>none</trim_type> | |
| 525 | - </field> | |
| 526 | - <field> | |
| 527 | - <name>erroroutputdir_</name> | |
| 528 | - <variable>${erroroutputdir}</variable> | |
| 529 | - <type>String</type> | |
| 530 | - <format/> | |
| 531 | - <currency/> | |
| 532 | - <decimal/> | |
| 533 | - <group/> | |
| 534 | - <length>-1</length> | |
| 535 | - <precision>-1</precision> | |
| 536 | - <trim_type>none</trim_type> | |
| 537 | - </field> | |
| 538 | - </fields> | |
| 539 | - <cluster_schema/> | |
| 540 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 541 | - <xloc>70</xloc> | |
| 542 | - <yloc>59</yloc> | |
| 543 | - <draw>Y</draw> | |
| 544 | - </GUI> | |
| 545 | - </step> | |
| 546 | - | |
| 547 | - <step> | |
| 548 | - <name>错误输出 2</name> | |
| 549 | - <type>ExcelOutput</type> | |
| 550 | - <description/> | |
| 551 | - <distribute>Y</distribute> | |
| 552 | - <custom_distribution/> | |
| 553 | - <copies>1</copies> | |
| 554 | - <partitioning> | |
| 555 | - <method>none</method> | |
| 556 | - <schema_name/> | |
| 557 | - </partitioning> | |
| 558 | - <header>Y</header> | |
| 559 | - <footer>N</footer> | |
| 560 | - <encoding/> | |
| 561 | - <append>N</append> | |
| 562 | - <add_to_result_filenames>Y</add_to_result_filenames> | |
| 563 | - <file> | |
| 564 | - <name>${erroroutputdir}/车辆基础信息_错误</name> | |
| 565 | - <extention>xls</extention> | |
| 566 | - <do_not_open_newfile_init>N</do_not_open_newfile_init> | |
| 567 | - <create_parent_folder>N</create_parent_folder> | |
| 568 | - <split>N</split> | |
| 569 | - <add_date>N</add_date> | |
| 570 | - <add_time>N</add_time> | |
| 571 | - <SpecifyFormat>N</SpecifyFormat> | |
| 572 | - <date_time_format/> | |
| 573 | - <sheetname>Sheet1</sheetname> | |
| 574 | - <autosizecolums>N</autosizecolums> | |
| 575 | - <nullisblank>N</nullisblank> | |
| 576 | - <protect_sheet>N</protect_sheet> | |
| 577 | - <password>Encrypted </password> | |
| 578 | - <splitevery>0</splitevery> | |
| 579 | - <usetempfiles>N</usetempfiles> | |
| 580 | - <tempdirectory/> | |
| 581 | - </file> | |
| 582 | - <template> | |
| 583 | - <enabled>N</enabled> | |
| 584 | - <append>N</append> | |
| 585 | - <filename>template.xls</filename> | |
| 586 | - </template> | |
| 587 | - <fields> | |
| 588 | - <field> | |
| 589 | - <name>车牌号</name> | |
| 590 | - <type>String</type> | |
| 591 | - <format/> | |
| 592 | - </field> | |
| 593 | - <field> | |
| 594 | - <name>内部编码</name> | |
| 595 | - <type>String</type> | |
| 596 | - <format/> | |
| 597 | - </field> | |
| 598 | - <field> | |
| 599 | - <name>所属公司</name> | |
| 600 | - <type>String</type> | |
| 601 | - <format/> | |
| 602 | - </field> | |
| 603 | - <field> | |
| 604 | - <name>所属分公司</name> | |
| 605 | - <type>String</type> | |
| 606 | - <format/> | |
| 607 | - </field> | |
| 608 | - <field> | |
| 609 | - <name>设备供应厂商</name> | |
| 610 | - <type>String</type> | |
| 611 | - <format/> | |
| 612 | - </field> | |
| 613 | - <field> | |
| 614 | - <name>设备终端号</name> | |
| 615 | - <type>String</type> | |
| 616 | - <format/> | |
| 617 | - </field> | |
| 618 | - <field> | |
| 619 | - <name>error_count</name> | |
| 620 | - <type>Integer</type> | |
| 621 | - <format/> | |
| 622 | - </field> | |
| 623 | - <field> | |
| 624 | - <name>error_desc</name> | |
| 625 | - <type>String</type> | |
| 626 | - <format/> | |
| 627 | - </field> | |
| 628 | - <field> | |
| 629 | - <name>error_column1</name> | |
| 630 | - <type>String</type> | |
| 631 | - <format/> | |
| 632 | - </field> | |
| 633 | - <field> | |
| 634 | - <name>error_column2</name> | |
| 635 | - <type>String</type> | |
| 636 | - <format/> | |
| 637 | - </field> | |
| 638 | - </fields> | |
| 639 | - <custom> | |
| 640 | - <header_font_name>arial</header_font_name> | |
| 641 | - <header_font_size>10</header_font_size> | |
| 642 | - <header_font_bold>N</header_font_bold> | |
| 643 | - <header_font_italic>N</header_font_italic> | |
| 644 | - <header_font_underline>no</header_font_underline> | |
| 645 | - <header_font_orientation>horizontal</header_font_orientation> | |
| 646 | - <header_font_color>black</header_font_color> | |
| 647 | - <header_background_color>none</header_background_color> | |
| 648 | - <header_row_height>255</header_row_height> | |
| 649 | - <header_alignment>left</header_alignment> | |
| 650 | - <header_image/> | |
| 651 | - <row_font_name>arial</row_font_name> | |
| 652 | - <row_font_size>10</row_font_size> | |
| 653 | - <row_font_color>black</row_font_color> | |
| 654 | - <row_background_color>none</row_background_color> | |
| 655 | - </custom> | |
| 656 | - <cluster_schema/> | |
| 657 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 658 | - <xloc>502</xloc> | |
| 659 | - <yloc>395</yloc> | |
| 660 | - <draw>Y</draw> | |
| 661 | - </GUI> | |
| 662 | - </step> | |
| 663 | - | |
| 664 | - <step> | |
| 665 | - <name>内部编码不为空</name> | |
| 666 | - <type>FilterRows</type> | |
| 667 | - <description/> | |
| 668 | - <distribute>Y</distribute> | |
| 669 | - <custom_distribution/> | |
| 670 | - <copies>1</copies> | |
| 671 | - <partitioning> | |
| 672 | - <method>none</method> | |
| 673 | - <schema_name/> | |
| 674 | - </partitioning> | |
| 675 | -<send_true_to/> | |
| 676 | -<send_false_to/> | |
| 677 | - <compare> | |
| 678 | -<condition> | |
| 679 | - <negated>N</negated> | |
| 680 | - <conditions> | |
| 681 | - <condition> | |
| 682 | - <negated>N</negated> | |
| 683 | - <leftvalue>内部编码</leftvalue> | |
| 684 | - <function>IS NOT NULL</function> | |
| 685 | - <rightvalue/> | |
| 686 | - </condition> | |
| 687 | - </conditions> | |
| 688 | - </condition> | |
| 689 | - </compare> | |
| 690 | - <cluster_schema/> | |
| 691 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 692 | - <xloc>218</xloc> | |
| 693 | - <yloc>164</yloc> | |
| 694 | - <draw>Y</draw> | |
| 695 | - </GUI> | |
| 696 | - </step> | |
| 697 | - | |
| 698 | - <step> | |
| 699 | - <name>添加查询常量</name> | |
| 700 | - <type>ScriptValueMod</type> | |
| 701 | - <description/> | |
| 702 | - <distribute>Y</distribute> | |
| 703 | - <custom_distribution/> | |
| 704 | - <copies>1</copies> | |
| 705 | - <partitioning> | |
| 706 | - <method>none</method> | |
| 707 | - <schema_name/> | |
| 708 | - </partitioning> | |
| 709 | - <compatible>N</compatible> | |
| 710 | - <optimizationLevel>9</optimizationLevel> | |
| 711 | - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> | |
| 712 | - <jsScript_name>Script 1</jsScript_name> | |
| 713 | - <jsScript_script>//Script here

var up_code = '88';</jsScript_script> | |
| 714 | - </jsScript> </jsScripts> <fields> <field> <name>up_code</name> | |
| 715 | - <rename>up_code</rename> | |
| 716 | - <type>String</type> | |
| 717 | - <length>-1</length> | |
| 718 | - <precision>-1</precision> | |
| 719 | - <replace>N</replace> | |
| 720 | - </field> </fields> <cluster_schema/> | |
| 721 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 722 | - <xloc>389</xloc> | |
| 723 | - <yloc>61</yloc> | |
| 724 | - <draw>Y</draw> | |
| 725 | - </GUI> | |
| 726 | - </step> | |
| 727 | - | |
| 728 | - <step> | |
| 729 | - <name>公司查询</name> | |
| 730 | - <type>DBLookup</type> | |
| 731 | - <description/> | |
| 732 | - <distribute>Y</distribute> | |
| 733 | - <custom_distribution/> | |
| 734 | - <copies>1</copies> | |
| 735 | - <partitioning> | |
| 736 | - <method>none</method> | |
| 737 | - <schema_name/> | |
| 738 | - </partitioning> | |
| 739 | - <connection>bus_control_variable</connection> | |
| 740 | - <cache>N</cache> | |
| 741 | - <cache_load_all>N</cache_load_all> | |
| 742 | - <cache_size>0</cache_size> | |
| 743 | - <lookup> | |
| 744 | - <schema/> | |
| 745 | - <table>bsth_c_business</table> | |
| 746 | - <orderby/> | |
| 747 | - <fail_on_multiple>N</fail_on_multiple> | |
| 748 | - <eat_row_on_failure>N</eat_row_on_failure> | |
| 749 | - <key> | |
| 750 | - <name>up_code</name> | |
| 751 | - <field>up_code</field> | |
| 752 | - <condition>=</condition> | |
| 753 | - <name2/> | |
| 754 | - </key> | |
| 755 | - <key> | |
| 756 | - <name>所属公司</name> | |
| 757 | - <field>business_name</field> | |
| 758 | - <condition>=</condition> | |
| 759 | - <name2/> | |
| 760 | - </key> | |
| 761 | - <value> | |
| 762 | - <name>business_code</name> | |
| 763 | - <rename>gs_code</rename> | |
| 764 | - <default/> | |
| 765 | - <type>String</type> | |
| 766 | - </value> | |
| 767 | - </lookup> | |
| 768 | - <cluster_schema/> | |
| 769 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 770 | - <xloc>540</xloc> | |
| 771 | - <yloc>59</yloc> | |
| 772 | - <draw>Y</draw> | |
| 773 | - </GUI> | |
| 774 | - </step> | |
| 775 | - | |
| 776 | - <step> | |
| 777 | - <name>公司代码不为空</name> | |
| 778 | - <type>FilterRows</type> | |
| 779 | - <description/> | |
| 780 | - <distribute>Y</distribute> | |
| 781 | - <custom_distribution/> | |
| 782 | - <copies>1</copies> | |
| 783 | - <partitioning> | |
| 784 | - <method>none</method> | |
| 785 | - <schema_name/> | |
| 786 | - </partitioning> | |
| 787 | -<send_true_to/> | |
| 788 | -<send_false_to/> | |
| 789 | - <compare> | |
| 790 | -<condition> | |
| 791 | - <negated>N</negated> | |
| 792 | - <conditions> | |
| 793 | - <condition> | |
| 794 | - <negated>N</negated> | |
| 795 | - <leftvalue>gs_code</leftvalue> | |
| 796 | - <function>IS NOT NULL</function> | |
| 797 | - <rightvalue/> | |
| 798 | - </condition> | |
| 799 | - </conditions> | |
| 800 | - </condition> | |
| 801 | - </compare> | |
| 802 | - <cluster_schema/> | |
| 803 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 804 | - <xloc>542</xloc> | |
| 805 | - <yloc>164</yloc> | |
| 806 | - <draw>Y</draw> | |
| 807 | - </GUI> | |
| 808 | - </step> | |
| 809 | - | |
| 810 | - <step> | |
| 811 | - <name>分公司查询</name> | |
| 812 | - <type>DBLookup</type> | |
| 813 | - <description/> | |
| 814 | - <distribute>Y</distribute> | |
| 815 | - <custom_distribution/> | |
| 816 | - <copies>1</copies> | |
| 817 | - <partitioning> | |
| 818 | - <method>none</method> | |
| 819 | - <schema_name/> | |
| 820 | - </partitioning> | |
| 821 | - <connection>bus_control_variable</connection> | |
| 822 | - <cache>N</cache> | |
| 823 | - <cache_load_all>N</cache_load_all> | |
| 824 | - <cache_size>0</cache_size> | |
| 825 | - <lookup> | |
| 826 | - <schema/> | |
| 827 | - <table>bsth_c_business</table> | |
| 828 | - <orderby/> | |
| 829 | - <fail_on_multiple>N</fail_on_multiple> | |
| 830 | - <eat_row_on_failure>N</eat_row_on_failure> | |
| 831 | - <key> | |
| 832 | - <name>gs_code</name> | |
| 833 | - <field>up_code</field> | |
| 834 | - <condition>=</condition> | |
| 835 | - <name2/> | |
| 836 | - </key> | |
| 837 | - <key> | |
| 838 | - <name>所属分公司</name> | |
| 839 | - <field>business_name</field> | |
| 840 | - <condition>=</condition> | |
| 841 | - <name2/> | |
| 842 | - </key> | |
| 843 | - <value> | |
| 844 | - <name>business_code</name> | |
| 845 | - <rename>fgs_code</rename> | |
| 846 | - <default/> | |
| 847 | - <type>String</type> | |
| 848 | - </value> | |
| 849 | - </lookup> | |
| 850 | - <cluster_schema/> | |
| 851 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 852 | - <xloc>683</xloc> | |
| 853 | - <yloc>59</yloc> | |
| 854 | - <draw>Y</draw> | |
| 855 | - </GUI> | |
| 856 | - </step> | |
| 857 | - | |
| 858 | - <step> | |
| 859 | - <name>分公司代码不为空</name> | |
| 860 | - <type>FilterRows</type> | |
| 861 | - <description/> | |
| 862 | - <distribute>Y</distribute> | |
| 863 | - <custom_distribution/> | |
| 864 | - <copies>1</copies> | |
| 865 | - <partitioning> | |
| 866 | - <method>none</method> | |
| 867 | - <schema_name/> | |
| 868 | - </partitioning> | |
| 869 | -<send_true_to/> | |
| 870 | -<send_false_to/> | |
| 871 | - <compare> | |
| 872 | -<condition> | |
| 873 | - <negated>N</negated> | |
| 874 | - <conditions> | |
| 875 | - <condition> | |
| 876 | - <negated>N</negated> | |
| 877 | - <leftvalue>fgs_code</leftvalue> | |
| 878 | - <function>IS NOT NULL</function> | |
| 879 | - <rightvalue/> | |
| 880 | - </condition> | |
| 881 | - </conditions> | |
| 882 | - </condition> | |
| 883 | - </compare> | |
| 884 | - <cluster_schema/> | |
| 885 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 886 | - <xloc>685</xloc> | |
| 887 | - <yloc>162</yloc> | |
| 888 | - <draw>Y</draw> | |
| 889 | - </GUI> | |
| 890 | - </step> | |
| 891 | - | |
| 892 | - <step> | |
| 893 | - <name>车辆编码</name> | |
| 894 | - <type>ScriptValueMod</type> | |
| 895 | - <description/> | |
| 896 | - <distribute>Y</distribute> | |
| 897 | - <custom_distribution/> | |
| 898 | - <copies>1</copies> | |
| 899 | - <partitioning> | |
| 900 | - <method>none</method> | |
| 901 | - <schema_name/> | |
| 902 | - </partitioning> | |
| 903 | - <compatible>N</compatible> | |
| 904 | - <optimizationLevel>9</optimizationLevel> | |
| 905 | - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> | |
| 906 | - <jsScript_name>Script 1</jsScript_name> | |
| 907 | - <jsScript_script>//Script here

var cl_code = gs_code + "0" + 内部编码;</jsScript_script> | |
| 908 | - </jsScript> </jsScripts> <fields> <field> <name>cl_code</name> | |
| 909 | - <rename>cl_code</rename> | |
| 910 | - <type>String</type> | |
| 911 | - <length>-1</length> | |
| 912 | - <precision>-1</precision> | |
| 913 | - <replace>N</replace> | |
| 914 | - </field> </fields> <cluster_schema/> | |
| 915 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 916 | - <xloc>688</xloc> | |
| 917 | - <yloc>273</yloc> | |
| 918 | - <draw>Y</draw> | |
| 919 | - </GUI> | |
| 920 | - </step> | |
| 921 | - | |
| 922 | - <step_error_handling> | |
| 923 | - <error> | |
| 924 | - <source_step>插入/更新bsth_c_cars 2</source_step> | |
| 925 | - <target_step>错误输出 2</target_step> | |
| 926 | - <is_enabled>Y</is_enabled> | |
| 927 | - <nr_valuename>error_count</nr_valuename> | |
| 928 | - <descriptions_valuename>error_desc</descriptions_valuename> | |
| 929 | - <fields_valuename>error_column1</fields_valuename> | |
| 930 | - <codes_valuename>error_column2</codes_valuename> | |
| 931 | - <max_errors/> | |
| 932 | - <max_pct_errors/> | |
| 933 | - <min_pct_rows/> | |
| 934 | - </error> | |
| 935 | - </step_error_handling> | |
| 936 | - <slave-step-copy-partition-distribution> | |
| 937 | -</slave-step-copy-partition-distribution> | |
| 938 | - <slave_transformation>N</slave_transformation> | |
| 939 | - | |
| 940 | -</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>插入/更新bsth_c_cars 2</from><to>错误输出 2</to><enabled>Y</enabled> </hop> | |
| 275 | + <hop> <from>获取变量</from><to>原始系统导出的Excel输入</to><enabled>Y</enabled> </hop> | |
| 276 | + <hop> <from>原始系统导出的Excel输入</from><to>内部编码不为空</to><enabled>Y</enabled> </hop> | |
| 277 | + <hop> <from>内部编码不为空</from><to>添加查询常量</to><enabled>Y</enabled> </hop> | |
| 278 | + <hop> <from>添加查询常量</from><to>公司查询</to><enabled>Y</enabled> </hop> | |
| 279 | + <hop> <from>公司查询</from><to>公司代码不为空</to><enabled>Y</enabled> </hop> | |
| 280 | + <hop> <from>公司代码不为空</from><to>分公司查询</to><enabled>Y</enabled> </hop> | |
| 281 | + <hop> <from>分公司查询</from><to>分公司代码不为空</to><enabled>Y</enabled> </hop> | |
| 282 | + <hop> <from>分公司代码不为空</from><to>车辆编码</to><enabled>Y</enabled> </hop> | |
| 283 | + <hop> <from>车辆编码</from><to>插入/更新bsth_c_cars 2</to><enabled>Y</enabled> </hop> | |
| 284 | + </order> | |
| 285 | + <step> | |
| 286 | + <name>原始系统导出的Excel输入</name> | |
| 287 | + <type>ExcelInput</type> | |
| 288 | + <description/> | |
| 289 | + <distribute>Y</distribute> | |
| 290 | + <custom_distribution/> | |
| 291 | + <copies>1</copies> | |
| 292 | + <partitioning> | |
| 293 | + <method>none</method> | |
| 294 | + <schema_name/> | |
| 295 | + </partitioning> | |
| 296 | + <header>Y</header> | |
| 297 | + <noempty>Y</noempty> | |
| 298 | + <stoponempty>N</stoponempty> | |
| 299 | + <filefield/> | |
| 300 | + <sheetfield/> | |
| 301 | + <sheetrownumfield/> | |
| 302 | + <rownumfield/> | |
| 303 | + <sheetfield/> | |
| 304 | + <filefield/> | |
| 305 | + <limit>0</limit> | |
| 306 | + <encoding/> | |
| 307 | + <add_to_result_filenames>Y</add_to_result_filenames> | |
| 308 | + <accept_filenames>Y</accept_filenames> | |
| 309 | + <accept_field>filepath_</accept_field> | |
| 310 | + <accept_stepname>获取变量</accept_stepname> | |
| 311 | + <file> | |
| 312 | + <name/> | |
| 313 | + <filemask/> | |
| 314 | + <exclude_filemask/> | |
| 315 | + <file_required>N</file_required> | |
| 316 | + <include_subfolders>N</include_subfolders> | |
| 317 | + </file> | |
| 318 | + <fields> | |
| 319 | + <field> | |
| 320 | + <name>车牌号</name> | |
| 321 | + <type>String</type> | |
| 322 | + <length>-1</length> | |
| 323 | + <precision>-1</precision> | |
| 324 | + <trim_type>none</trim_type> | |
| 325 | + <repeat>N</repeat> | |
| 326 | + <format/> | |
| 327 | + <currency/> | |
| 328 | + <decimal/> | |
| 329 | + <group/> | |
| 330 | + </field> | |
| 331 | + <field> | |
| 332 | + <name>内部编码</name> | |
| 333 | + <type>String</type> | |
| 334 | + <length>-1</length> | |
| 335 | + <precision>-1</precision> | |
| 336 | + <trim_type>none</trim_type> | |
| 337 | + <repeat>N</repeat> | |
| 338 | + <format/> | |
| 339 | + <currency/> | |
| 340 | + <decimal/> | |
| 341 | + <group/> | |
| 342 | + </field> | |
| 343 | + <field> | |
| 344 | + <name>所属公司</name> | |
| 345 | + <type>String</type> | |
| 346 | + <length>-1</length> | |
| 347 | + <precision>-1</precision> | |
| 348 | + <trim_type>none</trim_type> | |
| 349 | + <repeat>N</repeat> | |
| 350 | + <format/> | |
| 351 | + <currency/> | |
| 352 | + <decimal/> | |
| 353 | + <group/> | |
| 354 | + </field> | |
| 355 | + <field> | |
| 356 | + <name>所属分公司</name> | |
| 357 | + <type>String</type> | |
| 358 | + <length>-1</length> | |
| 359 | + <precision>-1</precision> | |
| 360 | + <trim_type>none</trim_type> | |
| 361 | + <repeat>N</repeat> | |
| 362 | + <format/> | |
| 363 | + <currency/> | |
| 364 | + <decimal/> | |
| 365 | + <group/> | |
| 366 | + </field> | |
| 367 | + <field> | |
| 368 | + <name>设备供应厂商</name> | |
| 369 | + <type>String</type> | |
| 370 | + <length>-1</length> | |
| 371 | + <precision>-1</precision> | |
| 372 | + <trim_type>none</trim_type> | |
| 373 | + <repeat>N</repeat> | |
| 374 | + <format/> | |
| 375 | + <currency/> | |
| 376 | + <decimal/> | |
| 377 | + <group/> | |
| 378 | + </field> | |
| 379 | + <field> | |
| 380 | + <name>设备终端号</name> | |
| 381 | + <type>String</type> | |
| 382 | + <length>-1</length> | |
| 383 | + <precision>-1</precision> | |
| 384 | + <trim_type>none</trim_type> | |
| 385 | + <repeat>N</repeat> | |
| 386 | + <format/> | |
| 387 | + <currency/> | |
| 388 | + <decimal/> | |
| 389 | + <group/> | |
| 390 | + </field> | |
| 391 | + </fields> | |
| 392 | + <sheets> | |
| 393 | + <sheet> | |
| 394 | + <name>工作表1</name> | |
| 395 | + <startrow>0</startrow> | |
| 396 | + <startcol>0</startcol> | |
| 397 | + </sheet> | |
| 398 | + </sheets> | |
| 399 | + <strict_types>N</strict_types> | |
| 400 | + <error_ignored>N</error_ignored> | |
| 401 | + <error_line_skipped>N</error_line_skipped> | |
| 402 | + <bad_line_files_destination_directory/> | |
| 403 | + <bad_line_files_extension>warning</bad_line_files_extension> | |
| 404 | + <error_line_files_destination_directory/> | |
| 405 | + <error_line_files_extension>error</error_line_files_extension> | |
| 406 | + <line_number_files_destination_directory/> | |
| 407 | + <line_number_files_extension>line</line_number_files_extension> | |
| 408 | + <shortFileFieldName/> | |
| 409 | + <pathFieldName/> | |
| 410 | + <hiddenFieldName/> | |
| 411 | + <lastModificationTimeFieldName/> | |
| 412 | + <uriNameFieldName/> | |
| 413 | + <rootUriNameFieldName/> | |
| 414 | + <extensionFieldName/> | |
| 415 | + <sizeFieldName/> | |
| 416 | + <spreadsheet_type>JXL</spreadsheet_type> | |
| 417 | + <cluster_schema/> | |
| 418 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 419 | + <xloc>218</xloc> | |
| 420 | + <yloc>59</yloc> | |
| 421 | + <draw>Y</draw> | |
| 422 | + </GUI> | |
| 423 | + </step> | |
| 424 | + | |
| 425 | + <step> | |
| 426 | + <name>插入/更新bsth_c_cars 2</name> | |
| 427 | + <type>InsertUpdate</type> | |
| 428 | + <description/> | |
| 429 | + <distribute>Y</distribute> | |
| 430 | + <custom_distribution/> | |
| 431 | + <copies>1</copies> | |
| 432 | + <partitioning> | |
| 433 | + <method>none</method> | |
| 434 | + <schema_name/> | |
| 435 | + </partitioning> | |
| 436 | + <connection>bus_control_variable</connection> | |
| 437 | + <commit>500</commit> | |
| 438 | + <update_bypassed>N</update_bypassed> | |
| 439 | + <lookup> | |
| 440 | + <schema/> | |
| 441 | + <table>bsth_c_cars</table> | |
| 442 | + <key> | |
| 443 | + <name>内部编码</name> | |
| 444 | + <field>inside_code</field> | |
| 445 | + <condition>=</condition> | |
| 446 | + <name2/> | |
| 447 | + </key> | |
| 448 | + <value> | |
| 449 | + <name>car_plate</name> | |
| 450 | + <rename>车牌号</rename> | |
| 451 | + <update>Y</update> | |
| 452 | + </value> | |
| 453 | + <value> | |
| 454 | + <name>car_code</name> | |
| 455 | + <rename>cl_code</rename> | |
| 456 | + <update>Y</update> | |
| 457 | + </value> | |
| 458 | + <value> | |
| 459 | + <name>inside_code</name> | |
| 460 | + <rename>内部编码</rename> | |
| 461 | + <update>Y</update> | |
| 462 | + </value> | |
| 463 | + <value> | |
| 464 | + <name>company</name> | |
| 465 | + <rename>所属公司</rename> | |
| 466 | + <update>Y</update> | |
| 467 | + </value> | |
| 468 | + <value> | |
| 469 | + <name>business_code</name> | |
| 470 | + <rename>gs_code</rename> | |
| 471 | + <update>Y</update> | |
| 472 | + </value> | |
| 473 | + <value> | |
| 474 | + <name>branche_company</name> | |
| 475 | + <rename>所属分公司</rename> | |
| 476 | + <update>Y</update> | |
| 477 | + </value> | |
| 478 | + <value> | |
| 479 | + <name>branche_company_code</name> | |
| 480 | + <rename>fgs_code</rename> | |
| 481 | + <update>Y</update> | |
| 482 | + </value> | |
| 483 | + <value> | |
| 484 | + <name>supplier_name</name> | |
| 485 | + <rename>设备供应厂商</rename> | |
| 486 | + <update>Y</update> | |
| 487 | + </value> | |
| 488 | + <value> | |
| 489 | + <name>equipment_code</name> | |
| 490 | + <rename>设备终端号</rename> | |
| 491 | + <update>Y</update> | |
| 492 | + </value> | |
| 493 | + </lookup> | |
| 494 | + <cluster_schema/> | |
| 495 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 496 | + <xloc>690</xloc> | |
| 497 | + <yloc>393</yloc> | |
| 498 | + <draw>Y</draw> | |
| 499 | + </GUI> | |
| 500 | + </step> | |
| 501 | + | |
| 502 | + <step> | |
| 503 | + <name>获取变量</name> | |
| 504 | + <type>GetVariable</type> | |
| 505 | + <description/> | |
| 506 | + <distribute>Y</distribute> | |
| 507 | + <custom_distribution/> | |
| 508 | + <copies>1</copies> | |
| 509 | + <partitioning> | |
| 510 | + <method>none</method> | |
| 511 | + <schema_name/> | |
| 512 | + </partitioning> | |
| 513 | + <fields> | |
| 514 | + <field> | |
| 515 | + <name>filepath_</name> | |
| 516 | + <variable>${filepath}</variable> | |
| 517 | + <type>String</type> | |
| 518 | + <format/> | |
| 519 | + <currency/> | |
| 520 | + <decimal/> | |
| 521 | + <group/> | |
| 522 | + <length>-1</length> | |
| 523 | + <precision>-1</precision> | |
| 524 | + <trim_type>none</trim_type> | |
| 525 | + </field> | |
| 526 | + <field> | |
| 527 | + <name>erroroutputdir_</name> | |
| 528 | + <variable>${erroroutputdir}</variable> | |
| 529 | + <type>String</type> | |
| 530 | + <format/> | |
| 531 | + <currency/> | |
| 532 | + <decimal/> | |
| 533 | + <group/> | |
| 534 | + <length>-1</length> | |
| 535 | + <precision>-1</precision> | |
| 536 | + <trim_type>none</trim_type> | |
| 537 | + </field> | |
| 538 | + </fields> | |
| 539 | + <cluster_schema/> | |
| 540 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 541 | + <xloc>70</xloc> | |
| 542 | + <yloc>59</yloc> | |
| 543 | + <draw>Y</draw> | |
| 544 | + </GUI> | |
| 545 | + </step> | |
| 546 | + | |
| 547 | + <step> | |
| 548 | + <name>错误输出 2</name> | |
| 549 | + <type>ExcelOutput</type> | |
| 550 | + <description/> | |
| 551 | + <distribute>Y</distribute> | |
| 552 | + <custom_distribution/> | |
| 553 | + <copies>1</copies> | |
| 554 | + <partitioning> | |
| 555 | + <method>none</method> | |
| 556 | + <schema_name/> | |
| 557 | + </partitioning> | |
| 558 | + <header>Y</header> | |
| 559 | + <footer>N</footer> | |
| 560 | + <encoding/> | |
| 561 | + <append>N</append> | |
| 562 | + <add_to_result_filenames>Y</add_to_result_filenames> | |
| 563 | + <file> | |
| 564 | + <name>${erroroutputdir}/车辆基础信息_错误</name> | |
| 565 | + <extention>xls</extention> | |
| 566 | + <do_not_open_newfile_init>N</do_not_open_newfile_init> | |
| 567 | + <create_parent_folder>N</create_parent_folder> | |
| 568 | + <split>N</split> | |
| 569 | + <add_date>N</add_date> | |
| 570 | + <add_time>N</add_time> | |
| 571 | + <SpecifyFormat>N</SpecifyFormat> | |
| 572 | + <date_time_format/> | |
| 573 | + <sheetname>Sheet1</sheetname> | |
| 574 | + <autosizecolums>N</autosizecolums> | |
| 575 | + <nullisblank>N</nullisblank> | |
| 576 | + <protect_sheet>N</protect_sheet> | |
| 577 | + <password>Encrypted </password> | |
| 578 | + <splitevery>0</splitevery> | |
| 579 | + <usetempfiles>N</usetempfiles> | |
| 580 | + <tempdirectory/> | |
| 581 | + </file> | |
| 582 | + <template> | |
| 583 | + <enabled>N</enabled> | |
| 584 | + <append>N</append> | |
| 585 | + <filename>template.xls</filename> | |
| 586 | + </template> | |
| 587 | + <fields> | |
| 588 | + <field> | |
| 589 | + <name>车牌号</name> | |
| 590 | + <type>String</type> | |
| 591 | + <format/> | |
| 592 | + </field> | |
| 593 | + <field> | |
| 594 | + <name>内部编码</name> | |
| 595 | + <type>String</type> | |
| 596 | + <format/> | |
| 597 | + </field> | |
| 598 | + <field> | |
| 599 | + <name>所属公司</name> | |
| 600 | + <type>String</type> | |
| 601 | + <format/> | |
| 602 | + </field> | |
| 603 | + <field> | |
| 604 | + <name>所属分公司</name> | |
| 605 | + <type>String</type> | |
| 606 | + <format/> | |
| 607 | + </field> | |
| 608 | + <field> | |
| 609 | + <name>设备供应厂商</name> | |
| 610 | + <type>String</type> | |
| 611 | + <format/> | |
| 612 | + </field> | |
| 613 | + <field> | |
| 614 | + <name>设备终端号</name> | |
| 615 | + <type>String</type> | |
| 616 | + <format/> | |
| 617 | + </field> | |
| 618 | + <field> | |
| 619 | + <name>error_count</name> | |
| 620 | + <type>Integer</type> | |
| 621 | + <format/> | |
| 622 | + </field> | |
| 623 | + <field> | |
| 624 | + <name>error_desc</name> | |
| 625 | + <type>String</type> | |
| 626 | + <format/> | |
| 627 | + </field> | |
| 628 | + <field> | |
| 629 | + <name>error_column1</name> | |
| 630 | + <type>String</type> | |
| 631 | + <format/> | |
| 632 | + </field> | |
| 633 | + <field> | |
| 634 | + <name>error_column2</name> | |
| 635 | + <type>String</type> | |
| 636 | + <format/> | |
| 637 | + </field> | |
| 638 | + </fields> | |
| 639 | + <custom> | |
| 640 | + <header_font_name>arial</header_font_name> | |
| 641 | + <header_font_size>10</header_font_size> | |
| 642 | + <header_font_bold>N</header_font_bold> | |
| 643 | + <header_font_italic>N</header_font_italic> | |
| 644 | + <header_font_underline>no</header_font_underline> | |
| 645 | + <header_font_orientation>horizontal</header_font_orientation> | |
| 646 | + <header_font_color>black</header_font_color> | |
| 647 | + <header_background_color>none</header_background_color> | |
| 648 | + <header_row_height>255</header_row_height> | |
| 649 | + <header_alignment>left</header_alignment> | |
| 650 | + <header_image/> | |
| 651 | + <row_font_name>arial</row_font_name> | |
| 652 | + <row_font_size>10</row_font_size> | |
| 653 | + <row_font_color>black</row_font_color> | |
| 654 | + <row_background_color>none</row_background_color> | |
| 655 | + </custom> | |
| 656 | + <cluster_schema/> | |
| 657 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 658 | + <xloc>502</xloc> | |
| 659 | + <yloc>395</yloc> | |
| 660 | + <draw>Y</draw> | |
| 661 | + </GUI> | |
| 662 | + </step> | |
| 663 | + | |
| 664 | + <step> | |
| 665 | + <name>内部编码不为空</name> | |
| 666 | + <type>FilterRows</type> | |
| 667 | + <description/> | |
| 668 | + <distribute>Y</distribute> | |
| 669 | + <custom_distribution/> | |
| 670 | + <copies>1</copies> | |
| 671 | + <partitioning> | |
| 672 | + <method>none</method> | |
| 673 | + <schema_name/> | |
| 674 | + </partitioning> | |
| 675 | +<send_true_to/> | |
| 676 | +<send_false_to/> | |
| 677 | + <compare> | |
| 678 | +<condition> | |
| 679 | + <negated>N</negated> | |
| 680 | + <conditions> | |
| 681 | + <condition> | |
| 682 | + <negated>N</negated> | |
| 683 | + <leftvalue>内部编码</leftvalue> | |
| 684 | + <function>IS NOT NULL</function> | |
| 685 | + <rightvalue/> | |
| 686 | + </condition> | |
| 687 | + </conditions> | |
| 688 | + </condition> | |
| 689 | + </compare> | |
| 690 | + <cluster_schema/> | |
| 691 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 692 | + <xloc>218</xloc> | |
| 693 | + <yloc>164</yloc> | |
| 694 | + <draw>Y</draw> | |
| 695 | + </GUI> | |
| 696 | + </step> | |
| 697 | + | |
| 698 | + <step> | |
| 699 | + <name>添加查询常量</name> | |
| 700 | + <type>ScriptValueMod</type> | |
| 701 | + <description/> | |
| 702 | + <distribute>Y</distribute> | |
| 703 | + <custom_distribution/> | |
| 704 | + <copies>1</copies> | |
| 705 | + <partitioning> | |
| 706 | + <method>none</method> | |
| 707 | + <schema_name/> | |
| 708 | + </partitioning> | |
| 709 | + <compatible>N</compatible> | |
| 710 | + <optimizationLevel>9</optimizationLevel> | |
| 711 | + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> | |
| 712 | + <jsScript_name>Script 1</jsScript_name> | |
| 713 | + <jsScript_script>//Script here

var up_code = '88';</jsScript_script> | |
| 714 | + </jsScript> </jsScripts> <fields> <field> <name>up_code</name> | |
| 715 | + <rename>up_code</rename> | |
| 716 | + <type>String</type> | |
| 717 | + <length>-1</length> | |
| 718 | + <precision>-1</precision> | |
| 719 | + <replace>N</replace> | |
| 720 | + </field> </fields> <cluster_schema/> | |
| 721 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 722 | + <xloc>389</xloc> | |
| 723 | + <yloc>61</yloc> | |
| 724 | + <draw>Y</draw> | |
| 725 | + </GUI> | |
| 726 | + </step> | |
| 727 | + | |
| 728 | + <step> | |
| 729 | + <name>公司查询</name> | |
| 730 | + <type>DBLookup</type> | |
| 731 | + <description/> | |
| 732 | + <distribute>Y</distribute> | |
| 733 | + <custom_distribution/> | |
| 734 | + <copies>1</copies> | |
| 735 | + <partitioning> | |
| 736 | + <method>none</method> | |
| 737 | + <schema_name/> | |
| 738 | + </partitioning> | |
| 739 | + <connection>bus_control_variable</connection> | |
| 740 | + <cache>N</cache> | |
| 741 | + <cache_load_all>N</cache_load_all> | |
| 742 | + <cache_size>0</cache_size> | |
| 743 | + <lookup> | |
| 744 | + <schema/> | |
| 745 | + <table>bsth_c_business</table> | |
| 746 | + <orderby/> | |
| 747 | + <fail_on_multiple>N</fail_on_multiple> | |
| 748 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 749 | + <key> | |
| 750 | + <name>up_code</name> | |
| 751 | + <field>up_code</field> | |
| 752 | + <condition>=</condition> | |
| 753 | + <name2/> | |
| 754 | + </key> | |
| 755 | + <key> | |
| 756 | + <name>所属公司</name> | |
| 757 | + <field>business_name</field> | |
| 758 | + <condition>=</condition> | |
| 759 | + <name2/> | |
| 760 | + </key> | |
| 761 | + <value> | |
| 762 | + <name>business_code</name> | |
| 763 | + <rename>gs_code</rename> | |
| 764 | + <default/> | |
| 765 | + <type>String</type> | |
| 766 | + </value> | |
| 767 | + </lookup> | |
| 768 | + <cluster_schema/> | |
| 769 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 770 | + <xloc>540</xloc> | |
| 771 | + <yloc>59</yloc> | |
| 772 | + <draw>Y</draw> | |
| 773 | + </GUI> | |
| 774 | + </step> | |
| 775 | + | |
| 776 | + <step> | |
| 777 | + <name>公司代码不为空</name> | |
| 778 | + <type>FilterRows</type> | |
| 779 | + <description/> | |
| 780 | + <distribute>Y</distribute> | |
| 781 | + <custom_distribution/> | |
| 782 | + <copies>1</copies> | |
| 783 | + <partitioning> | |
| 784 | + <method>none</method> | |
| 785 | + <schema_name/> | |
| 786 | + </partitioning> | |
| 787 | +<send_true_to/> | |
| 788 | +<send_false_to/> | |
| 789 | + <compare> | |
| 790 | +<condition> | |
| 791 | + <negated>N</negated> | |
| 792 | + <conditions> | |
| 793 | + <condition> | |
| 794 | + <negated>N</negated> | |
| 795 | + <leftvalue>gs_code</leftvalue> | |
| 796 | + <function>IS NOT NULL</function> | |
| 797 | + <rightvalue/> | |
| 798 | + </condition> | |
| 799 | + </conditions> | |
| 800 | + </condition> | |
| 801 | + </compare> | |
| 802 | + <cluster_schema/> | |
| 803 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 804 | + <xloc>542</xloc> | |
| 805 | + <yloc>164</yloc> | |
| 806 | + <draw>Y</draw> | |
| 807 | + </GUI> | |
| 808 | + </step> | |
| 809 | + | |
| 810 | + <step> | |
| 811 | + <name>分公司查询</name> | |
| 812 | + <type>DBLookup</type> | |
| 813 | + <description/> | |
| 814 | + <distribute>Y</distribute> | |
| 815 | + <custom_distribution/> | |
| 816 | + <copies>1</copies> | |
| 817 | + <partitioning> | |
| 818 | + <method>none</method> | |
| 819 | + <schema_name/> | |
| 820 | + </partitioning> | |
| 821 | + <connection>bus_control_variable</connection> | |
| 822 | + <cache>N</cache> | |
| 823 | + <cache_load_all>N</cache_load_all> | |
| 824 | + <cache_size>0</cache_size> | |
| 825 | + <lookup> | |
| 826 | + <schema/> | |
| 827 | + <table>bsth_c_business</table> | |
| 828 | + <orderby/> | |
| 829 | + <fail_on_multiple>N</fail_on_multiple> | |
| 830 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 831 | + <key> | |
| 832 | + <name>gs_code</name> | |
| 833 | + <field>up_code</field> | |
| 834 | + <condition>=</condition> | |
| 835 | + <name2/> | |
| 836 | + </key> | |
| 837 | + <key> | |
| 838 | + <name>所属分公司</name> | |
| 839 | + <field>business_name</field> | |
| 840 | + <condition>=</condition> | |
| 841 | + <name2/> | |
| 842 | + </key> | |
| 843 | + <value> | |
| 844 | + <name>business_code</name> | |
| 845 | + <rename>fgs_code</rename> | |
| 846 | + <default/> | |
| 847 | + <type>String</type> | |
| 848 | + </value> | |
| 849 | + </lookup> | |
| 850 | + <cluster_schema/> | |
| 851 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 852 | + <xloc>683</xloc> | |
| 853 | + <yloc>59</yloc> | |
| 854 | + <draw>Y</draw> | |
| 855 | + </GUI> | |
| 856 | + </step> | |
| 857 | + | |
| 858 | + <step> | |
| 859 | + <name>分公司代码不为空</name> | |
| 860 | + <type>FilterRows</type> | |
| 861 | + <description/> | |
| 862 | + <distribute>Y</distribute> | |
| 863 | + <custom_distribution/> | |
| 864 | + <copies>1</copies> | |
| 865 | + <partitioning> | |
| 866 | + <method>none</method> | |
| 867 | + <schema_name/> | |
| 868 | + </partitioning> | |
| 869 | +<send_true_to/> | |
| 870 | +<send_false_to/> | |
| 871 | + <compare> | |
| 872 | +<condition> | |
| 873 | + <negated>N</negated> | |
| 874 | + <conditions> | |
| 875 | + <condition> | |
| 876 | + <negated>N</negated> | |
| 877 | + <leftvalue>fgs_code</leftvalue> | |
| 878 | + <function>IS NOT NULL</function> | |
| 879 | + <rightvalue/> | |
| 880 | + </condition> | |
| 881 | + </conditions> | |
| 882 | + </condition> | |
| 883 | + </compare> | |
| 884 | + <cluster_schema/> | |
| 885 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 886 | + <xloc>685</xloc> | |
| 887 | + <yloc>162</yloc> | |
| 888 | + <draw>Y</draw> | |
| 889 | + </GUI> | |
| 890 | + </step> | |
| 891 | + | |
| 892 | + <step> | |
| 893 | + <name>车辆编码</name> | |
| 894 | + <type>ScriptValueMod</type> | |
| 895 | + <description/> | |
| 896 | + <distribute>Y</distribute> | |
| 897 | + <custom_distribution/> | |
| 898 | + <copies>1</copies> | |
| 899 | + <partitioning> | |
| 900 | + <method>none</method> | |
| 901 | + <schema_name/> | |
| 902 | + </partitioning> | |
| 903 | + <compatible>N</compatible> | |
| 904 | + <optimizationLevel>9</optimizationLevel> | |
| 905 | + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> | |
| 906 | + <jsScript_name>Script 1</jsScript_name> | |
| 907 | + <jsScript_script>//Script here

var cl_code = gs_code + "0" + 内部编码;</jsScript_script> | |
| 908 | + </jsScript> </jsScripts> <fields> <field> <name>cl_code</name> | |
| 909 | + <rename>cl_code</rename> | |
| 910 | + <type>String</type> | |
| 911 | + <length>-1</length> | |
| 912 | + <precision>-1</precision> | |
| 913 | + <replace>N</replace> | |
| 914 | + </field> </fields> <cluster_schema/> | |
| 915 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 916 | + <xloc>688</xloc> | |
| 917 | + <yloc>273</yloc> | |
| 918 | + <draw>Y</draw> | |
| 919 | + </GUI> | |
| 920 | + </step> | |
| 921 | + | |
| 922 | + <step_error_handling> | |
| 923 | + <error> | |
| 924 | + <source_step>插入/更新bsth_c_cars 2</source_step> | |
| 925 | + <target_step>错误输出 2</target_step> | |
| 926 | + <is_enabled>Y</is_enabled> | |
| 927 | + <nr_valuename>error_count</nr_valuename> | |
| 928 | + <descriptions_valuename>error_desc</descriptions_valuename> | |
| 929 | + <fields_valuename>error_column1</fields_valuename> | |
| 930 | + <codes_valuename>error_column2</codes_valuename> | |
| 931 | + <max_errors/> | |
| 932 | + <max_pct_errors/> | |
| 933 | + <min_pct_rows/> | |
| 934 | + </error> | |
| 935 | + </step_error_handling> | |
| 936 | + <slave-step-copy-partition-distribution> | |
| 937 | +</slave-step-copy-partition-distribution> | |
| 938 | + <slave_transformation>N</slave_transformation> | |
| 939 | + | |
| 940 | +</transformation> | ... | ... |