Commit 458dd7cabfe971afc8a916e3f3f76929979f3ffe
Merge branch 'minhang' into pudong
Showing
26 changed files
with
2772 additions
and
1509 deletions
Too many changes to show.
To preserve performance only 26 of 73 files are displayed.
src/main/java/com/bsth/controller/realcontrol/ScheduleRealInfoController.java
| @@ -417,6 +417,70 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, | @@ -417,6 +417,70 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, | ||
| 417 | } | 417 | } |
| 418 | return scheduleRealInfoService.statisticsDailyTj(gsdm,fgsdm,line, date,date2, xlName, type); | 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 | @RequestMapping(value="/MapById",method = RequestMethod.GET) | 485 | @RequestMapping(value="/MapById",method = RequestMethod.GET) |
| 422 | public Map<String, Object> MapById(@RequestParam("id") Long id){ | 486 | public Map<String, Object> MapById(@RequestParam("id") Long id){ |
src/main/java/com/bsth/controller/realcontrol/anomalyCheckController.java
| @@ -95,4 +95,9 @@ public class anomalyCheckController { | @@ -95,4 +95,9 @@ public class anomalyCheckController { | ||
| 95 | public void updateCacheBuff(){ | 95 | public void updateCacheBuff(){ |
| 96 | geoCacheData.loadData(); | 96 | geoCacheData.loadData(); |
| 97 | } | 97 | } |
| 98 | + | ||
| 99 | + @RequestMapping(value = "/reCalcLpSch") | ||
| 100 | + public void reCalcLpSch(){ | ||
| 101 | + dayOfSchedule._test_reCalcLpSch(); | ||
| 102 | + } | ||
| 98 | } | 103 | } |
src/main/java/com/bsth/controller/report/ReportController.java
| @@ -84,12 +84,19 @@ public class ReportController { | @@ -84,12 +84,19 @@ public class ReportController { | ||
| 84 | @RequestParam int zd){ | 84 | @RequestParam int zd){ |
| 85 | return service.queryStrinon(line,zd); | 85 | return service.queryStrinon(line,zd); |
| 86 | } | 86 | } |
| 87 | + //根据排班查到离站 | ||
| 87 | @RequestMapping(value="/queryInOutStrtion" ,method = RequestMethod.GET) | 88 | @RequestMapping(value="/queryInOutStrtion" ,method = RequestMethod.GET) |
| 88 | public List<Map<String, Object>> queryInOutStrtion(@RequestParam String line, | 89 | public List<Map<String, Object>> queryInOutStrtion(@RequestParam String line, |
| 89 | @RequestParam String date,@RequestParam int zd,@RequestParam String lzsj){ | 90 | @RequestParam String date,@RequestParam int zd,@RequestParam String lzsj){ |
| 90 | return service.queryInOutStrtion(line,date,zd,lzsj); | 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 | @RequestMapping(value="/queryListClzd" ,method = RequestMethod.GET) | 100 | @RequestMapping(value="/queryListClzd" ,method = RequestMethod.GET) |
| 94 | public List<ArrivalInfo> queryListClzd(@RequestParam String zd,@RequestParam String line, | 101 | public List<ArrivalInfo> queryListClzd(@RequestParam String zd,@RequestParam String line, |
| 95 | @RequestParam String zdlx,@RequestParam String fcsj,@RequestParam String ddsj){ | 102 | @RequestParam String zdlx,@RequestParam String fcsj,@RequestParam String ddsj){ |
src/main/java/com/bsth/data/car_out_info/CarOutInfoHandler.java
| @@ -54,27 +54,19 @@ public class CarOutInfoHandler { | @@ -54,27 +54,19 @@ public class CarOutInfoHandler { | ||
| 54 | * 全量更新发车信息表 | 54 | * 全量更新发车信息表 |
| 55 | */ | 55 | */ |
| 56 | public void updateAll() { | 56 | public void updateAll() { |
| 57 | - Set<String> ks = BasicData.lineCode2NameMap.keySet(); | ||
| 58 | - for (String lineCode : ks) { | ||
| 59 | - update(lineCode); | ||
| 60 | - } | ||
| 61 | - } | ||
| 62 | - | ||
| 63 | - public void update(String lineCode) { | ||
| 64 | - try { | ||
| 65 | - ArrayListMultimap<String, ScheduleRealInfo> lpScheduleMap = dayOfSchedule.getLpScheduleMap(); | ||
| 66 | - List<ScheduleRealInfo> list = new ArrayList<>(); | 57 | + try{ |
| 58 | + //将班次按线路分组 | ||
| 59 | + List<ScheduleRealInfo> all = new ArrayList<>(dayOfSchedule.findAll()); | ||
| 60 | + ArrayListMultimap<String, ScheduleRealInfo> xlMaps = ArrayListMultimap.create(); | ||
| 61 | + for(ScheduleRealInfo sch : all){ | ||
| 62 | + xlMaps.put(sch.getXlBm(), sch); | ||
| 63 | + } | ||
| 67 | 64 | ||
| 68 | - Set<String> ks = lpScheduleMap.keySet(); | ||
| 69 | - String prefix = lineCode + "_"; | 65 | + Set<String> ks = xlMaps.keySet(); |
| 70 | for (String k : ks) { | 66 | for (String k : ks) { |
| 71 | - if (k.startsWith(prefix)) { | ||
| 72 | - list.addAll(lpScheduleMap.get(k)); | ||
| 73 | - } | 67 | + update(xlMaps.get(k)); |
| 74 | } | 68 | } |
| 75 | - | ||
| 76 | - update(list); | ||
| 77 | - } catch (Exception e) { | 69 | + }catch (Exception e){ |
| 78 | logger.error("", e); | 70 | logger.error("", e); |
| 79 | } | 71 | } |
| 80 | } | 72 | } |
src/main/java/com/bsth/data/gpsdata/arrival/handlers/InOutStationSignalHandle.java
| @@ -338,6 +338,9 @@ public class InOutStationSignalHandle extends SignalHandle{ | @@ -338,6 +338,9 @@ public class InOutStationSignalHandle extends SignalHandle{ | ||
| 338 | if(lpNext != null){ | 338 | if(lpNext != null){ |
| 339 | lpNext.setQdzArrDatesj(sch.getZdsjActual()); | 339 | lpNext.setQdzArrDatesj(sch.getZdsjActual()); |
| 340 | } | 340 | } |
| 341 | + else{ | ||
| 342 | + logger.info(sch.getClZbh() + " 到终点,无下一班"); | ||
| 343 | + } | ||
| 341 | 344 | ||
| 342 | //通知客户端 | 345 | //通知客户端 |
| 343 | sendUtils.sendZdsj(sch, lpNext, doneSum); | 346 | sendUtils.sendZdsj(sch, lpNext, doneSum); |
src/main/java/com/bsth/data/schedule/DayOfSchedule.java
| @@ -1137,4 +1137,16 @@ public class DayOfSchedule { | @@ -1137,4 +1137,16 @@ public class DayOfSchedule { | ||
| 1137 | public ArrayListMultimap<String, ScheduleRealInfo> getLpScheduleMap() { | 1137 | public ArrayListMultimap<String, ScheduleRealInfo> getLpScheduleMap() { |
| 1138 | return lpScheduleMap; | 1138 | return lpScheduleMap; |
| 1139 | } | 1139 | } |
| 1140 | + | ||
| 1141 | + /** | ||
| 1142 | + * 重新全量计算路牌下的班次关联性 | ||
| 1143 | + * 临时性的函数 | ||
| 1144 | + */ | ||
| 1145 | + public void _test_reCalcLpSch() { | ||
| 1146 | + Map<String ,Collection<ScheduleRealInfo>> map = lpScheduleMap.asMap(); | ||
| 1147 | + Set<String> ks = map.keySet(); | ||
| 1148 | + for(String k : ks){ | ||
| 1149 | + schAttrCalculator.calcQdzTimePlan(new ArrayList<ScheduleRealInfo>(map.get(k))); | ||
| 1150 | + } | ||
| 1151 | + } | ||
| 1140 | } | 1152 | } |
| 1141 | \ No newline at end of file | 1153 | \ No newline at end of file |
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,11 +61,12 @@ public class ArrivalInfo { | ||
| 61 | private String jzsj; | 61 | private String jzsj; |
| 62 | /** -1 则信号有效,但程序标记为不使用 */ | 62 | /** -1 则信号有效,但程序标记为不使用 */ |
| 63 | private int flag = 0; | 63 | private int flag = 0; |
| 64 | - | 64 | + private Date dates; |
| 65 | + private int route; | ||
| 65 | public ArrivalInfo(){} | 66 | public ArrivalInfo(){} |
| 66 | 67 | ||
| 67 | public ArrivalInfo(String deviceId, long ts, String lineCode, int upDown, String stopNo, int inOut, long createDate, | 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 | this.deviceId = deviceId; | 71 | this.deviceId = deviceId; |
| 71 | this.ts = ts; | 72 | this.ts = ts; |
| @@ -75,6 +76,8 @@ public class ArrivalInfo { | @@ -75,6 +76,8 @@ public class ArrivalInfo { | ||
| 75 | this.stopName = stopName; | 76 | this.stopName = stopName; |
| 76 | this.inOut = inOut; | 77 | this.inOut = inOut; |
| 77 | this.createDate = createDate; | 78 | this.createDate = createDate; |
| 79 | + this.dates=dates; | ||
| 80 | + this.route=route; | ||
| 78 | } | 81 | } |
| 79 | 82 | ||
| 80 | /* @Override | 83 | /* @Override |
| @@ -253,6 +256,22 @@ public class ArrivalInfo { | @@ -253,6 +256,22 @@ public class ArrivalInfo { | ||
| 253 | public void setPzh(String pzh) { | 256 | public void setPzh(String pzh) { |
| 254 | this.pzh = pzh; | 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,7 +53,7 @@ public interface DlbRepository extends BaseRepository<Dlb, Integer>{ | ||
| 53 | + " ssgsdm like %?2% " | 53 | + " ssgsdm like %?2% " |
| 54 | + " and fgsdm like %?3%" | 54 | + " and fgsdm like %?3%" |
| 55 | + " and xlbm like %?4% and nbbm like %?5% " | 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 | List<Object[]> checkNbmmNum(String rq, String gsbm,String fgsbm,String xlbm,String nbbm); | 57 | List<Object[]> checkNbmmNum(String rq, String gsbm,String fgsbm,String xlbm,String nbbm); |
| 58 | 58 | ||
| 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 " | 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,25 +17,25 @@ public interface JdlRepository extends BaseRepository<Jdl, Integer>{ | ||
| 17 | @Transactional | 17 | @Transactional |
| 18 | @Modifying | 18 | @Modifying |
| 19 | @Query(value="INSERT INTO bsth_c_jdl("+ | 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 | " VALUES(" + | 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 | @Query(value="SELECT * FROM bsth_c_jdl where rq = ?",nativeQuery=true) | 29 | @Query(value="SELECT * FROM bsth_c_jdl where rq = ?",nativeQuery=true) |
| 30 | List<Jdl> JdlList( String rq); | 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 | @Transactional | 36 | @Transactional |
| 37 | @Modifying | 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,9 +673,10 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 673 | if(sfqr == 1){ | 673 | if(sfqr == 1){ |
| 674 | where += " and zdsj >= '"+times1+"' and fcsj <= '"+times2+"'"; | 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 | + " fcsj, fcsj_actual, zdsj, zdsj_actual, qdz_name, zdz_name, xl_dir, status, remarks, gs_name, fgs_name, sp_id" | 680 | + " fcsj, fcsj_actual, zdsj, zdsj_actual, qdz_name, zdz_name, xl_dir, status, remarks, gs_name, fgs_name, sp_id" |
| 680 | + " from bsth_c_s_sp_info_real where DATE_FORMAT(schedule_date,'%Y-%m-%d') >= '"+startDate+"'" | 681 | + " from bsth_c_s_sp_info_real where DATE_FORMAT(schedule_date,'%Y-%m-%d') >= '"+startDate+"'" |
| 681 | + " and DATE_FORMAT(schedule_date,'%Y-%m-%d') <= '"+endDate+"'"+where+""; | 682 | + " and DATE_FORMAT(schedule_date,'%Y-%m-%d') <= '"+endDate+"'"+where+""; |
| @@ -699,6 +700,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -699,6 +700,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 699 | schedule.setZdsjActual(rs.getString("zdsj_actual")); | 700 | schedule.setZdsjActual(rs.getString("zdsj_actual")); |
| 700 | schedule.setQdzName(rs.getString("qdz_name")); | 701 | schedule.setQdzName(rs.getString("qdz_name")); |
| 701 | schedule.setZdzName(rs.getString("zdz_name")); | 702 | schedule.setZdzName(rs.getString("zdz_name")); |
| 703 | + schedule.setBcType(rs.getString("bc_type")); | ||
| 702 | schedule.setXlDir(rs.getString("xl_dir")); | 704 | schedule.setXlDir(rs.getString("xl_dir")); |
| 703 | schedule.setStatus(rs.getInt("status")); | 705 | schedule.setStatus(rs.getInt("status")); |
| 704 | schedule.setRemarks(rs.getString("remarks")); | 706 | schedule.setRemarks(rs.getString("remarks")); |
| @@ -832,7 +834,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -832,7 +834,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 832 | if(model.length() != 0){ | 834 | if(model.length() != 0){ |
| 833 | sql = "select sp.id from " | 835 | sql = "select sp.id from " |
| 834 | + "(select id, tt_info, xl_bm, lp, fcsj from bsth_c_s_sp_info where schedule_date >= '"+startDate+"' and schedule_date <= '"+endDate+"'" | 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 | + " 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"; | 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 | ttList = jdbcTemplate.query(sql, | 840 | ttList = jdbcTemplate.query(sql, |
| @@ -915,6 +917,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -915,6 +917,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 915 | for(String key : keyMap.keySet()){ | 917 | for(String key : keyMap.keySet()){ |
| 916 | Map<String, Object> tempMap = new HashMap<String, Object>(); | 918 | Map<String, Object> tempMap = new HashMap<String, Object>(); |
| 917 | Map<Long, ScheduleRealInfo> sortMap = new HashMap<Long, ScheduleRealInfo>(); | 919 | Map<Long, ScheduleRealInfo> sortMap = new HashMap<Long, ScheduleRealInfo>(); |
| 920 | + Map<Long, Map<String, Object>> sortMap1 = new HashMap<Long, Map<String, Object>>(); | ||
| 918 | List<Map<String, Object>> mapList = new ArrayList<Map<String, Object>>(); | 921 | List<Map<String, Object>> mapList = new ArrayList<Map<String, Object>>(); |
| 919 | List<Long> keyList = new ArrayList<Long>(); | 922 | List<Long> keyList = new ArrayList<Long>(); |
| 920 | List<Long> keyList2 = new ArrayList<Long>(); | 923 | List<Long> keyList2 = new ArrayList<Long>(); |
| @@ -946,30 +949,25 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -946,30 +949,25 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 946 | for(int i = 1; i < keyList.size(); i++){ | 949 | for(int i = 1; i < keyList.size(); i++){ |
| 947 | ScheduleRealInfo schedule1 = sortMap.get(keyList.get(i - 1)); | 950 | ScheduleRealInfo schedule1 = sortMap.get(keyList.get(i - 1)); |
| 948 | ScheduleRealInfo schedule2 = sortMap.get(keyList.get(i)); | 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 | }else{ | 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 | long zdsj1 = schedule1.getZdsjT(); | 971 | long zdsj1 = schedule1.getZdsjT(); |
| 974 | long fcsj1 = schedule1.getFcsjT(); | 972 | long fcsj1 = schedule1.getFcsjT(); |
| 975 | if(fcsj1 > zdsj1) | 973 | if(fcsj1 > zdsj1) |
| @@ -984,12 +982,27 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -984,12 +982,27 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 984 | jhyssj1 += zdsj1 - fcsj1; | 982 | jhyssj1 += zdsj1 - fcsj1; |
| 985 | jhlc += schedule1.getJhlc()==null?0:schedule1.getJhlc(); | 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 | for(int i = 0; i < keyList.size(); i++){ | 1002 | for(int i = 0; i < keyList.size(); i++){ |
| 990 | Map<String, Object> m = new HashMap<String, Object>(); | 1003 | Map<String, Object> m = new HashMap<String, Object>(); |
| 991 | ScheduleRealInfo schedule = sortMap.get(keyList.get(i)); | 1004 | ScheduleRealInfo schedule = sortMap.get(keyList.get(i)); |
| 992 | - | 1005 | + |
| 993 | if(cMap.containsKey(schedule.getId())){ | 1006 | if(cMap.containsKey(schedule.getId())){ |
| 994 | List<ChildTaskPlan> cTasks = cMap.get(schedule.getId()); | 1007 | List<ChildTaskPlan> cTasks = cMap.get(schedule.getId()); |
| 995 | for(ChildTaskPlan childTaskPlan : cTasks){ | 1008 | for(ChildTaskPlan childTaskPlan : cTasks){ |
| @@ -1012,6 +1025,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -1012,6 +1025,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 1012 | temp.put("fcsj", null); | 1025 | temp.put("fcsj", null); |
| 1013 | } | 1026 | } |
| 1014 | } | 1027 | } |
| 1028 | + temp.put("bcType", schedule.getBcType()); | ||
| 1015 | mapList.add(temp); | 1029 | mapList.add(temp); |
| 1016 | } | 1030 | } |
| 1017 | }else{ | 1031 | }else{ |
| @@ -1029,6 +1043,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -1029,6 +1043,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 1029 | m.put("zdsj", null); | 1043 | m.put("zdsj", null); |
| 1030 | m.put("fcsj", null); | 1044 | m.put("fcsj", null); |
| 1031 | } | 1045 | } |
| 1046 | + m.put("bcType", schedule.getBcType()); | ||
| 1032 | mapList.add(m); | 1047 | mapList.add(m); |
| 1033 | } | 1048 | } |
| 1034 | } | 1049 | } |
| @@ -1036,6 +1051,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -1036,6 +1051,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 1036 | for(Map<String, Object> m : mapList){ | 1051 | for(Map<String, Object> m : mapList){ |
| 1037 | if(m.get("fcsj") != null && m.get("fcsj").toString().trim().length()!=0){ | 1052 | if(m.get("fcsj") != null && m.get("fcsj").toString().trim().length()!=0){ |
| 1038 | keyList2.add(Long.valueOf(m.get("fcsj").toString())); | 1053 | keyList2.add(Long.valueOf(m.get("fcsj").toString())); |
| 1054 | + sortMap1.put(Long.valueOf(m.get("fcsj").toString()), m); | ||
| 1039 | } | 1055 | } |
| 1040 | } | 1056 | } |
| 1041 | Collections.sort(keyList2); | 1057 | Collections.sort(keyList2); |
| @@ -1043,36 +1059,31 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -1043,36 +1059,31 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 1043 | for(int i = 1; i < keyList2.size(); i++){ | 1059 | for(int i = 1; i < keyList2.size(); i++){ |
| 1044 | long fcsj1 = keyList2.get(i - 1); | 1060 | long fcsj1 = keyList2.get(i - 1); |
| 1045 | long fcsj2 = keyList2.get(i); | 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 | if(fcsj > zdsj) | 1087 | if(fcsj > zdsj) |
| 1077 | zdsj += 1440l; | 1088 | zdsj += 1440l; |
| 1078 | if(sfqr == 1 && time1 > fcsj){ | 1089 | if(sfqr == 1 && time1 > fcsj){ |
| @@ -1083,22 +1094,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -1083,22 +1094,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 1083 | sjyssj += zdsj - fcsj; | 1094 | sjyssj += zdsj - fcsj; |
| 1084 | } | 1095 | } |
| 1085 | sjyssj1 += zdsj - fcsj; | 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 | tempMap.put("company", companyName); | 1100 | tempMap.put("company", companyName); |
src/main/java/com/bsth/service/oil/impl/DlbServiceImpl.java
| @@ -9,6 +9,8 @@ import java.text.ParseException; | @@ -9,6 +9,8 @@ import java.text.ParseException; | ||
| 9 | import java.text.SimpleDateFormat; | 9 | import java.text.SimpleDateFormat; |
| 10 | import java.util.ArrayList; | 10 | import java.util.ArrayList; |
| 11 | import java.util.Calendar; | 11 | import java.util.Calendar; |
| 12 | +import java.util.Collections; | ||
| 13 | +import java.util.Comparator; | ||
| 12 | import java.util.Date; | 14 | import java.util.Date; |
| 13 | import java.util.HashMap; | 15 | import java.util.HashMap; |
| 14 | import java.util.Iterator; | 16 | import java.util.Iterator; |
| @@ -428,13 +430,22 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS | @@ -428,13 +430,22 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS | ||
| 428 | // repository.obtainYl(rq,gsbm,fgsbm,line,nbbm,"nbbm"); | 430 | // repository.obtainYl(rq,gsbm,fgsbm,line,nbbm,"nbbm"); |
| 429 | // 当天YLXXB信息 | 431 | // 当天YLXXB信息 |
| 430 | List<Ylxxb> ylxxList = ylxxbRepository.obtainYlxx(rq, 0,gsbm); | 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 | List<Map<String, Object>> listpb =new ArrayList<Map<String, Object>>(); | 434 | List<Map<String, Object>> listpb =new ArrayList<Map<String, Object>>(); |
| 437 | List<Map<String, Object>> listpbs=scheduleRealInfoService.yesterdayDataList(line, rq, gsbm, fgsbm, "", nbbm); | 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 | List<Jdl> jdlList=jdlRepository.JdlList(rq); | 449 | List<Jdl> jdlList=jdlRepository.JdlList(rq); |
| 439 | String sxtj=map2.get("sxtj").toString(); | 450 | String sxtj=map2.get("sxtj").toString(); |
| 440 | if(sxtj.equals("0")){ | 451 | if(sxtj.equals("0")){ |
| @@ -470,126 +481,134 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS | @@ -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 | List<Dlb> addList = new ArrayList<Dlb>(); | 485 | List<Dlb> addList = new ArrayList<Dlb>(); |
| 475 | List<Dlb> updateList = new ArrayList<Dlb>(); | 486 | List<Dlb> updateList = new ArrayList<Dlb>(); |
| 476 | String ins=""; | 487 | String ins=""; |
| 477 | Map<String, Object> ylMap=new HashMap<String, Object>(); | 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 | String type = "add"; | 492 | String type = "add"; |
| 480 | boolean sfdc = false; | 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 | } else { | 497 | } else { |
| 485 | sfdc = false; | 498 | sfdc = false; |
| 486 | } | 499 | } |
| 487 | if (sfdc) { | 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 | if(addList.size()>0){ | 614 | if(addList.size()>0){ |
| @@ -1014,3 +1033,11 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS | @@ -1014,3 +1033,11 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS | ||
| 1014 | return lists; | 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,7 +63,7 @@ public class JdlServiceImpl extends BaseServiceImpl<Jdl, Integer> implements Jdl | ||
| 63 | } | 63 | } |
| 64 | String[] split = (text+";").split(","); | 64 | String[] split = (text+";").split(","); |
| 65 | String str = ""; | 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 | str += split[j]; | 67 | str += split[j]; |
| 68 | } | 68 | } |
| 69 | if(str.trim().length() == 0) | 69 | if(str.trim().length() == 0) |
| @@ -75,22 +75,22 @@ public class JdlServiceImpl extends BaseServiceImpl<Jdl, Integer> implements Jdl | @@ -75,22 +75,22 @@ public class JdlServiceImpl extends BaseServiceImpl<Jdl, Integer> implements Jdl | ||
| 75 | String[] split = text.split(","); | 75 | String[] split = text.split(","); |
| 76 | String rq = split[0].trim(); | 76 | String rq = split[0].trim(); |
| 77 | String nbbm = split[1].trim(); | 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 | if(rq.trim().length() == 0){ | 82 | if(rq.trim().length() == 0){ |
| 83 | rq = sdf.format(new Date()); | 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 | if(jdl_.size() == 0){ | 88 | if(jdl_.size() == 0){ |
| 89 | repository.insertData(gsbm, gsName, fgsbm, fgsName, rq, nbbm, | 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 | }else{ | 91 | }else{ |
| 92 | // jdl += jdl_.get(0); | 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 | wb.close(); | 96 | wb.close(); |
| @@ -112,9 +112,9 @@ public class JdlServiceImpl extends BaseServiceImpl<Jdl, Integer> implements Jdl | @@ -112,9 +112,9 @@ public class JdlServiceImpl extends BaseServiceImpl<Jdl, Integer> implements Jdl | ||
| 112 | String fgsbm = map.get("fgsbm").toString(); | 112 | String fgsbm = map.get("fgsbm").toString(); |
| 113 | String rq = map.get("rq").toString(); | 113 | String rq = map.get("rq").toString(); |
| 114 | String nbbm = map.get("nbbm").toString(); | 114 | String nbbm = map.get("nbbm").toString(); |
| 115 | - String jsy =map.get("jsy").toString(); | 115 | +// String jsy =map.get("jsy").toString(); |
| 116 | Integer page = Integer.valueOf(map.containsKey("page")?map.get("page").toString():"0"); | 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 | if(!map.containsKey("type")){ | 119 | if(!map.containsKey("type")){ |
| 120 | 120 | ||
| @@ -133,7 +133,6 @@ public class JdlServiceImpl extends BaseServiceImpl<Jdl, Integer> implements Jdl | @@ -133,7 +133,6 @@ public class JdlServiceImpl extends BaseServiceImpl<Jdl, Integer> implements Jdl | ||
| 133 | m.put("nbbm", jdl.getNbbm()); | 133 | m.put("nbbm", jdl.getNbbm()); |
| 134 | m.put("jdl", jdl.getJdl()); | 134 | m.put("jdl", jdl.getJdl()); |
| 135 | m.put("jdz", jdl.getJdz()); | 135 | m.put("jdz", jdl.getJdz()); |
| 136 | - m.put("jsy", jdl.getJsy()); | ||
| 137 | m.put("remarks", jdl.getRemarks()); | 136 | m.put("remarks", jdl.getRemarks()); |
| 138 | list.add(m); | 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,4 +180,10 @@ public interface ScheduleRealInfoService extends BaseService<ScheduleRealInfo, L | ||
| 180 | List<Map<String,Object>> statisticsDaily_mh_2(String line, String date, String xlName, String type); | 180 | List<Map<String,Object>> statisticsDaily_mh_2(String line, String date, String xlName, String type); |
| 181 | 181 | ||
| 182 | List<ScheduleRealInfo> realScheduleList_mh_2(String line, String date); | 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,6 +31,8 @@ import com.bsth.entity.realcontrol.ChildTaskPlan; | ||
| 31 | import com.bsth.entity.realcontrol.LineConfig; | 31 | import com.bsth.entity.realcontrol.LineConfig; |
| 32 | import com.bsth.entity.realcontrol.ScheduleRealInfo; | 32 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 33 | import com.bsth.entity.realcontrol.SvgAttribute; | 33 | import com.bsth.entity.realcontrol.SvgAttribute; |
| 34 | +import com.bsth.entity.report.MileageReport; | ||
| 35 | +import com.bsth.entity.report.ScheduleCorrectionReport; | ||
| 34 | import com.bsth.entity.schedule.CarConfigInfo; | 36 | import com.bsth.entity.schedule.CarConfigInfo; |
| 35 | import com.bsth.entity.schedule.EmployeeConfigInfo; | 37 | import com.bsth.entity.schedule.EmployeeConfigInfo; |
| 36 | import com.bsth.entity.schedule.GuideboardInfo; | 38 | import com.bsth.entity.schedule.GuideboardInfo; |
| @@ -1837,7 +1839,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1837,7 +1839,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1837 | map = new HashMap<String, Object>(); | 1839 | map = new HashMap<String, Object>(); |
| 1838 | map.put("num", i++); | 1840 | map.put("num", i++); |
| 1839 | map.put("xlName", xlName); | 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 | map.put("company",fgs); | 1843 | map.put("company",fgs); |
| 1842 | map.put("requestType", "0x" + Integer.toHexString(Integer.parseInt(obj[0] + "")).toUpperCase()); | 1844 | map.put("requestType", "0x" + Integer.toHexString(Integer.parseInt(obj[0] + "")).toUpperCase()); |
| 1843 | map.put("requestTime", obj[1]); | 1845 | map.put("requestTime", obj[1]); |
| @@ -2324,10 +2326,11 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2324,10 +2326,11 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2324 | map.put("dtbc", 0); | 2326 | map.put("dtbc", 0); |
| 2325 | map.put("dtbc_m", 0); | 2327 | map.put("dtbc_m", 0); |
| 2326 | map.put("dtbc_a", 0); | 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 | map.put("jls", Arith.sub(Arith.add(jhlc, ljgl), lbgl)); | 2334 | map.put("jls", Arith.sub(Arith.add(jhlc, ljgl), lbgl)); |
| 2332 | lMap.add(map); | 2335 | lMap.add(map); |
| 2333 | return lMap; | 2336 | return lMap; |
| @@ -4637,6 +4640,195 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -4637,6 +4640,195 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 4637 | } | 4640 | } |
| 4638 | return rs; | 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 | class AccountMap implements Comparator<Map<String, Object>>{ | 4834 | class AccountMap implements Comparator<Map<String, Object>>{ |
src/main/java/com/bsth/service/report/CulateMileageService.java
| @@ -30,6 +30,8 @@ public interface CulateMileageService { | @@ -30,6 +30,8 @@ public interface CulateMileageService { | ||
| 30 | 30 | ||
| 31 | int culateFzbc(List<ScheduleRealInfo> lists,String item); | 31 | int culateFzbc(List<ScheduleRealInfo> lists,String item); |
| 32 | 32 | ||
| 33 | + Map<String, Object> culateDjg(List<ScheduleRealInfo> lists,String line); | ||
| 34 | + | ||
| 33 | 35 | ||
| 34 | 36 | ||
| 35 | //以下计算方法供新报表使用 | 37 | //以下计算方法供新报表使用 |
src/main/java/com/bsth/service/report/ReportService.java
| @@ -17,6 +17,8 @@ public interface ReportService { | @@ -17,6 +17,8 @@ public interface ReportService { | ||
| 17 | List<ArrivalInfo> queryListClzd(String line,String zd,String zdlx,String fcsj,String ddsj); | 17 | List<ArrivalInfo> queryListClzd(String line,String zd,String zdlx,String fcsj,String ddsj); |
| 18 | List<StationRoute> queryStrinon(String line,int zd); | 18 | List<StationRoute> queryStrinon(String line,int zd); |
| 19 | List<Map<String, Object>> queryInOutStrtion(String line,String date,int zd,String lzsj); | 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 | List<Map<String, String>> sreachZd(String line,int zdlx); | 22 | List<Map<String, String>> sreachZd(String line,int zdlx); |
| 21 | 23 | ||
| 22 | List<Object[]> historyMessageCount(String line, String date, String code); | 24 | List<Object[]> historyMessageCount(String line, String date, String code); |
src/main/java/com/bsth/service/report/impl/CulateMileageServiceImpl.java
| 1 | package com.bsth.service.report.impl; | 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 | import java.util.ArrayList; | 8 | import java.util.ArrayList; |
| 4 | import java.util.Collections; | 9 | import java.util.Collections; |
| 5 | import java.util.HashMap; | 10 | import java.util.HashMap; |
| @@ -9,18 +14,26 @@ import java.util.Map; | @@ -9,18 +14,26 @@ import java.util.Map; | ||
| 9 | import java.util.Set; | 14 | import java.util.Set; |
| 10 | 15 | ||
| 11 | import org.apache.commons.lang.StringUtils; | 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 | import org.springframework.stereotype.Service; | 20 | import org.springframework.stereotype.Service; |
| 13 | 21 | ||
| 22 | +import com.bsth.data.BasicData; | ||
| 14 | import com.bsth.entity.realcontrol.ChildTaskPlan; | 23 | import com.bsth.entity.realcontrol.ChildTaskPlan; |
| 15 | import com.bsth.entity.realcontrol.ScheduleRealInfo; | 24 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 25 | +import com.bsth.entity.sys.Interval; | ||
| 16 | import com.bsth.service.report.CulateMileageService; | 26 | import com.bsth.service.report.CulateMileageService; |
| 17 | import com.bsth.util.Arith; | 27 | import com.bsth.util.Arith; |
| 28 | +import com.bsth.util.ComparableChild; | ||
| 18 | import com.bsth.util.ComparableJob; | 29 | import com.bsth.util.ComparableJob; |
| 30 | +import com.bsth.util.ReportUtils; | ||
| 19 | import com.google.common.util.concurrent.AbstractScheduledService.Scheduler; | 31 | import com.google.common.util.concurrent.AbstractScheduledService.Scheduler; |
| 20 | 32 | ||
| 21 | @Service | 33 | @Service |
| 22 | public class CulateMileageServiceImpl implements CulateMileageService{ | 34 | public class CulateMileageServiceImpl implements CulateMileageService{ |
| 23 | - | 35 | + @Autowired |
| 36 | + JdbcTemplate jdbcTemplate; | ||
| 24 | private static long zgf1 = 6 * 60 + 31, | 37 | private static long zgf1 = 6 * 60 + 31, |
| 25 | zgf2 = 8 * 60 + 30, | 38 | zgf2 = 8 * 60 + 30, |
| 26 | wgf1 = 16 * 60 + 1, | 39 | wgf1 = 16 * 60 + 1, |
| @@ -943,6 +956,214 @@ public class CulateMileageServiceImpl implements CulateMileageService{ | @@ -943,6 +956,214 @@ public class CulateMileageServiceImpl implements CulateMileageService{ | ||
| 943 | } | 956 | } |
| 944 | return kfks; | 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,7 +598,7 @@ public class ReportServiceImpl implements ReportService{ | ||
| 598 | 598 | ||
| 599 | String sqlCl="SELECT cl_zbh,qdz_name,bc_type,fcsj,bcsj FROM" | 599 | String sqlCl="SELECT cl_zbh,qdz_name,bc_type,fcsj,bcsj FROM" |
| 600 | + " bsth_c_s_sp_info WHERE tt_info = '"+ttinfo+"' " | 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 | List<Map<String, Object>> listj= jdbcTemplate.query(sqlCl, | 603 | List<Map<String, Object>> listj= jdbcTemplate.query(sqlCl, |
| 604 | new RowMapper<Map<String, Object>>(){ | 604 | new RowMapper<Map<String, Object>>(){ |
| @@ -873,7 +873,7 @@ public class ReportServiceImpl implements ReportService{ | @@ -873,7 +873,7 @@ public class ReportServiceImpl implements ReportService{ | ||
| 873 | + " bsth_c_s_ttinfo_detail where ttinfo ='"+ttinfo+"' and " | 873 | + " bsth_c_s_ttinfo_detail where ttinfo ='"+ttinfo+"' and " |
| 874 | + " fcsj > '"+minfcsj+"' and bc_type!='ldks' " | 874 | + " fcsj > '"+minfcsj+"' and bc_type!='ldks' " |
| 875 | + " and bc_type !='region') " | 875 | + " and bc_type !='region') " |
| 876 | - + " order by xl_dir, xh, lp,fcsj"; | 876 | + + " order by xh, lp,fcsj"; |
| 877 | Map<String, Object> map=new HashMap<String,Object>(); | 877 | Map<String, Object> map=new HashMap<String,Object>(); |
| 878 | List<Map<String, Object>> list= jdbcTemplate.query(sqlPc, | 878 | List<Map<String, Object>> list= jdbcTemplate.query(sqlPc, |
| 879 | new RowMapper<Map<String, Object>>(){ | 879 | new RowMapper<Map<String, Object>>(){ |
| @@ -915,6 +915,8 @@ public class ReportServiceImpl implements ReportService{ | @@ -915,6 +915,8 @@ public class ReportServiceImpl implements ReportService{ | ||
| 915 | int temp = 48*60+1, zcj = 0; | 915 | int temp = 48*60+1, zcj = 0; |
| 916 | boolean ists = true; | 916 | boolean ists = true; |
| 917 | String lpname=""; | 917 | String lpname=""; |
| 918 | + int dir =-1; | ||
| 919 | + int fcsjT_= 0; | ||
| 918 | for (int i = 0; i < list.size(); i++) { | 920 | for (int i = 0; i < list.size(); i++) { |
| 919 | Map<String, Object> m=list.get(i); | 921 | Map<String, Object> m=list.get(i); |
| 920 | int xlDir = Integer.valueOf(m.get("dir").toString()); | 922 | int xlDir = Integer.valueOf(m.get("dir").toString()); |
| @@ -927,6 +929,10 @@ public class ReportServiceImpl implements ReportService{ | @@ -927,6 +929,10 @@ public class ReportServiceImpl implements ReportService{ | ||
| 927 | if(temp>fcsjT){ | 929 | if(temp>fcsjT){ |
| 928 | temp=fcsjT+bcsj; | 930 | temp=fcsjT+bcsj; |
| 929 | } | 931 | } |
| 932 | + dir =xlDir; | ||
| 933 | + if(bcType.equals("in") || bcType.equals("out")){ | ||
| 934 | + ists=false; | ||
| 935 | + } | ||
| 930 | }else{ | 936 | }else{ |
| 931 | if(temp>fcsjT){ | 937 | if(temp>fcsjT){ |
| 932 | temp=fcsjT+bcsj; | 938 | temp=fcsjT+bcsj; |
| @@ -934,74 +940,146 @@ public class ReportServiceImpl implements ReportService{ | @@ -934,74 +940,146 @@ public class ReportServiceImpl implements ReportService{ | ||
| 934 | if(bcType.equals("in") || bcType.equals("out")){ | 940 | if(bcType.equals("in") || bcType.equals("out")){ |
| 935 | temp = fcsjT+bcsj; | 941 | temp = fcsjT+bcsj; |
| 936 | lpname=m.get("lp").toString(); | 942 | lpname=m.get("lp").toString(); |
| 943 | + dir =xlDir; | ||
| 937 | ists=false; | 944 | ists=false; |
| 938 | }else{ | 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 | if(fcsjT>= minSj && fcsjT <= 6*60+30){ | 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 | if(ists){ | 959 | if(ists){ |
| 951 | if(lpname.equals(m.get("lp").toString())){ | 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 | temp = fcsjT+bcsj; | 967 | temp = fcsjT+bcsj; |
| 956 | 968 | ||
| 957 | }else if(fcsjT > 6*60+30 && fcsjT <= 8*60+30){ | 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 | if(ists){ | 981 | if(ists){ |
| 963 | if(lpname.equals(m.get("lp").toString())){ | 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 | temp =fcsjT+bcsj; | 996 | temp =fcsjT+bcsj; |
| 968 | 997 | ||
| 969 | }else if(fcsjT > 8*60+30 && fcsjT <= 16*60){ | 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 | if(ists){ | 1009 | if(ists){ |
| 975 | if(lpname.equals(m.get("lp").toString())){ | 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 | temp =fcsjT+bcsj; | 1024 | temp =fcsjT+bcsj; |
| 980 | }else if(fcsjT > 16*60 && fcsjT <= 18*60){ | 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 | if(ists){ | 1037 | if(ists){ |
| 986 | if(lpname.equals(m.get("lp").toString())){ | 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 | temp =fcsjT+bcsj; | 1052 | temp =fcsjT+bcsj; |
| 991 | }else{ | 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 | if(ists){ | 1064 | if(ists){ |
| 997 | if(lpname.equals(m.get("lp").toString())){ | 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 | temp =fcsjT+bcsj; | 1079 | temp =fcsjT+bcsj; |
| 1002 | } | 1080 | } |
| 1003 | - lpname=m.get("lp").toString(); | ||
| 1004 | - }else{ | 1081 | + |
| 1082 | + /*}else{ | ||
| 1005 | //下行数据 | 1083 | //下行数据 |
| 1006 | if(fcsjT>= minSj && fcsjT <= 6*60+30){ | 1084 | if(fcsjT>= minSj && fcsjT <= 6*60+30){ |
| 1007 | //早高峰前 | 1085 | //早高峰前 |
| @@ -1021,7 +1099,10 @@ public class ReportServiceImpl implements ReportService{ | @@ -1021,7 +1099,10 @@ public class ReportServiceImpl implements ReportService{ | ||
| 1021 | zgfFcsj1.add(fcsjT); | 1099 | zgfFcsj1.add(fcsjT); |
| 1022 | if(ists){ | 1100 | if(ists){ |
| 1023 | if(lpname.equals(m.get("lp").toString())){ | 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 | temp =fcsjT+bcsj; | 1108 | temp =fcsjT+bcsj; |
| @@ -1032,7 +1113,10 @@ public class ReportServiceImpl implements ReportService{ | @@ -1032,7 +1113,10 @@ public class ReportServiceImpl implements ReportService{ | ||
| 1032 | zwFcsj1.add(fcsjT); | 1113 | zwFcsj1.add(fcsjT); |
| 1033 | if(ists){ | 1114 | if(ists){ |
| 1034 | if(lpname.equals(m.get("lp").toString())){ | 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 | temp =fcsjT+bcsj; | 1122 | temp =fcsjT+bcsj; |
| @@ -1043,7 +1127,10 @@ public class ReportServiceImpl implements ReportService{ | @@ -1043,7 +1127,10 @@ public class ReportServiceImpl implements ReportService{ | ||
| 1043 | wgfFcsj1.add(fcsjT); | 1127 | wgfFcsj1.add(fcsjT); |
| 1044 | if(ists){ | 1128 | if(ists){ |
| 1045 | if(lpname.equals(m.get("lp").toString())){ | 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 | temp =fcsjT+bcsj; | 1136 | temp =fcsjT+bcsj; |
| @@ -1054,20 +1141,27 @@ public class ReportServiceImpl implements ReportService{ | @@ -1054,20 +1141,27 @@ public class ReportServiceImpl implements ReportService{ | ||
| 1054 | whFcsj1.add(fcsjT); | 1141 | whFcsj1.add(fcsjT); |
| 1055 | if(ists){ | 1142 | if(ists){ |
| 1056 | if(lpname.equals(m.get("lp").toString())){ | 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 | temp =fcsjT+bcsj; | 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,6 +1979,50 @@ public class ReportServiceImpl implements ReportService{ | ||
| 1885 | return list; | 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 | public List<ArrivalInfo> load3(String line, String date, int zd){ | 2026 | public List<ArrivalInfo> load3(String line, String date, int zd){ |
| 1889 | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | 2027 | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| 1890 | SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); | 2028 | SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); |
| @@ -1928,6 +2066,8 @@ public class ReportServiceImpl implements ReportService{ | @@ -1928,6 +2066,8 @@ public class ReportServiceImpl implements ReportService{ | ||
| 1928 | } | 2066 | } |
| 1929 | return list; | 2067 | return list; |
| 1930 | } | 2068 | } |
| 2069 | + | ||
| 2070 | + //根据排班查到离站 | ||
| 1931 | @Override | 2071 | @Override |
| 1932 | public List<Map<String, Object>> queryInOutStrtion(String line, String date, int zd,String lzsj) { | 2072 | public List<Map<String, Object>> queryInOutStrtion(String line, String date, int zd,String lzsj) { |
| 1933 | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | 2073 | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| @@ -1997,6 +2137,106 @@ public class ReportServiceImpl implements ReportService{ | @@ -1997,6 +2137,106 @@ public class ReportServiceImpl implements ReportService{ | ||
| 1997 | return inoutList; | 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 | public Map<String, String> strInOut(List<ArrivalInfo> lists,String lzsj){ | 2240 | public Map<String, String> strInOut(List<ArrivalInfo> lists,String lzsj){ |
| 2001 | String inout=""; | 2241 | String inout=""; |
| 2002 | SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); | 2242 | SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); |
| @@ -2015,6 +2255,9 @@ public class ReportServiceImpl implements ReportService{ | @@ -2015,6 +2255,9 @@ public class ReportServiceImpl implements ReportService{ | ||
| 2015 | t1.setCzsj(sdf.format(new Date(t2.getTs()))); | 2255 | t1.setCzsj(sdf.format(new Date(t2.getTs()))); |
| 2016 | out =t2.getTs(); | 2256 | out =t2.getTs(); |
| 2017 | break; | 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,7 +2964,7 @@ public class ReportServiceImpl implements ReportService{ | ||
| 2721 | 2964 | ||
| 2722 | for (int i = 0; i < xlList.size(); i++) { | 2965 | for (int i = 0; i < xlList.size(); i++) { |
| 2723 | String lineCode=xlList.get(i).get("line").toString(); | 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 | int peak=0; | 2968 | int peak=0; |
| 2726 | int trough=0; | 2969 | int trough=0; |
| 2727 | for (int j = 0; j < djgList.size(); j++) { | 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,7 +1233,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 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," | 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 | + " 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" | 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 | + " where DATE_FORMAT(schedule_date,'%Y-%m-%d') = '"+date+"'" | 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 | if(line.trim().length() != 0) | 1237 | if(line.trim().length() != 0) |
| 1238 | sql += " and xl_bm = '"+line+"'"; | 1238 | sql += " and xl_bm = '"+line+"'"; |
| 1239 | else if(company.length() != 0) | 1239 | else if(company.length() != 0) |
| @@ -1326,14 +1326,18 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -1326,14 +1326,18 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 1326 | for(ScheduleRealInfo s : keyMap.get(xlName)){ | 1326 | for(ScheduleRealInfo s : keyMap.get(xlName)){ |
| 1327 | if(s.getXlDir().equals("0")){ | 1327 | if(s.getXlDir().equals("0")){ |
| 1328 | up1.add(s.getFcsjT()); | 1328 | up1.add(s.getFcsjT()); |
| 1329 | - up2.add(s.getFcsjActualTime()); | ||
| 1330 | up1Map.put(s.getFcsjT(), s); | 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 | } else if(s.getXlDir().equals("1")){ | 1334 | } else if(s.getXlDir().equals("1")){ |
| 1333 | dn1.add(s.getFcsjT()); | 1335 | dn1.add(s.getFcsjT()); |
| 1334 | - dn2.add(s.getFcsjActualTime()); | ||
| 1335 | dn1Map.put(s.getFcsjT(), s); | 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 | if(up1.size() > 0 && up2.size() > 0){ | 1343 | if(up1.size() > 0 && up2.size() > 0){ |
| @@ -1455,7 +1459,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -1455,7 +1459,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 1455 | 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," | 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 | + " 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" | 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 | + " where DATE_FORMAT(schedule_date,'%Y-%m-%d') >= '"+startDate+"' and DATE_FORMAT(schedule_date,'%Y-%m-%d') <= '"+endDate+"'" | 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 | if(line.length() != 0) | 1463 | if(line.length() != 0) |
| 1460 | sql += " and xl_bm = '"+line+"'"; | 1464 | sql += " and xl_bm = '"+line+"'"; |
| 1461 | if(company.length() != 0) | 1465 | if(company.length() != 0) |
| @@ -1565,14 +1569,18 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -1565,14 +1569,18 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 1565 | for(ScheduleRealInfo s : keyMap.get(xlName).get(date)){ | 1569 | for(ScheduleRealInfo s : keyMap.get(xlName).get(date)){ |
| 1566 | if(s.getXlDir().equals("0")){ | 1570 | if(s.getXlDir().equals("0")){ |
| 1567 | up1.add(s.getFcsjT()); | 1571 | up1.add(s.getFcsjT()); |
| 1568 | - up2.add(s.getFcsjActualTime()); | ||
| 1569 | up1Map.put(s.getFcsjT(), s); | 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 | } else if(s.getXlDir().equals("1")){ | 1577 | } else if(s.getXlDir().equals("1")){ |
| 1572 | dn1.add(s.getFcsjT()); | 1578 | dn1.add(s.getFcsjT()); |
| 1573 | - dn2.add(s.getFcsjActualTime()); | ||
| 1574 | dn1Map.put(s.getFcsjT(), s); | 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 | if(up1.size() > 0 && up2.size() > 0){ | 1586 | if(up1.size() > 0 && up2.size() > 0){ |
| @@ -1687,7 +1695,6 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -1687,7 +1695,6 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 1687 | 1695 | ||
| 1688 | return resList; | 1696 | return resList; |
| 1689 | } | 1697 | } |
| 1690 | - | ||
| 1691 | /*@Override | 1698 | /*@Override |
| 1692 | public List<Map<String, Object>> commandState(Map<String, Object> map) { | 1699 | public List<Map<String, Object>> commandState(Map<String, Object> map) { |
| 1693 | List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>(); | 1700 | List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>(); |
src/main/java/com/bsth/service/schedule/impl/TTInfoDetailServiceImpl.java
| @@ -192,7 +192,7 @@ public class TTInfoDetailServiceImpl extends BServiceImpl<TTInfoDetail, Long> im | @@ -192,7 +192,7 @@ public class TTInfoDetailServiceImpl extends BServiceImpl<TTInfoDetail, Long> im | ||
| 192 | (!"进场".equals(cell_con.trim()))) { | 192 | (!"进场".equals(cell_con.trim()))) { |
| 193 | Map<String, Object> p1 = new HashMap<>(); | 193 | Map<String, Object> p1 = new HashMap<>(); |
| 194 | p1.put("line.id_eq", lineid); | 194 | p1.put("line.id_eq", lineid); |
| 195 | - p1.put("stationName_eq", cell_con.trim()); | 195 | + p1.put("stationName_like", cell_con.trim() + "%"); // 使用模糊匹配 |
| 196 | p1.put("stationMark_eq", "B"); | 196 | p1.put("stationMark_eq", "B"); |
| 197 | p1.put("destroy_eq", 0); // 未撤销 | 197 | p1.put("destroy_eq", 0); // 未撤销 |
| 198 | 198 |
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> |