Commit 93decfc058b0c4fbf1362551194e5d02e8ba51aa

Authored by 潘钊
2 parents f2378ac6 88d90ee1

Merge branch 'minhang' of http://222.66.0.204:8090/panzhaov5/bsth_control into minhang

Showing 64 changed files with 6769 additions and 4111 deletions
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/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/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&lt;Dlb, Integer&gt;{ @@ -53,7 +53,7 @@ public interface DlbRepository extends BaseRepository&lt;Dlb, Integer&gt;{
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&lt;Jdl, Integer&gt;{ @@ -17,25 +17,25 @@ public interface JdlRepository extends BaseRepository&lt;Jdl, Integer&gt;{
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&lt;Dlb,Integer&gt; implements DlbS @@ -428,13 +430,22 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; 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&lt;Dlb,Integer&gt; implements DlbS @@ -470,126 +481,134 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; 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&lt;Dlb,Integer&gt; implements DlbS @@ -1014,3 +1033,11 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; 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&lt;Jdl, Integer&gt; implements Jdl @@ -63,7 +63,7 @@ public class JdlServiceImpl extends BaseServiceImpl&lt;Jdl, Integer&gt; 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&lt;Jdl, Integer&gt; implements Jdl @@ -75,22 +75,22 @@ public class JdlServiceImpl extends BaseServiceImpl&lt;Jdl, Integer&gt; 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&lt;Jdl, Integer&gt; implements Jdl @@ -112,9 +112,9 @@ public class JdlServiceImpl extends BaseServiceImpl&lt;Jdl, Integer&gt; 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&lt;Jdl, Integer&gt; implements Jdl @@ -133,7 +133,6 @@ public class JdlServiceImpl extends BaseServiceImpl&lt;Jdl, Integer&gt; 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&lt;ScheduleRealInfo, L @@ -180,4 +180,10 @@ public interface ScheduleRealInfoService extends BaseService&lt;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&lt;ScheduleRealInf @@ -1837,7 +1839,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;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&lt;ScheduleRealInf @@ -2324,10 +2326,11 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;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&lt;ScheduleRealInf @@ -4637,6 +4640,195 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;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/resources/datatools/ktrs/carsDataInput.ktr
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<transformation>  
3 - <info>  
4 - <name>&#x8f66;&#x8f86;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</name>  
5 - <description>&#x8f66;&#x8f86;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>  
6 - <extended_description>&#x8f66;&#x8f86;&#x57fa;&#x7840;&#x4fe1;&#x606f;</extended_description>  
7 - <trans_version/>  
8 - <trans_type>Normal</trans_type>  
9 - <trans_status>0</trans_status>  
10 - <directory>&#x2f;</directory>  
11 - <parameters>  
12 - <parameter>  
13 - <name>erroroutputdir</name>  
14 - <default_value/>  
15 - <description>ktr step&#x914d;&#x7f6e;&#x7684;&#x9519;&#x8bef;&#x8f93;&#x51fa;&#x76ee;&#x5f55;</description>  
16 - </parameter>  
17 - <parameter>  
18 - <name>filepath</name>  
19 - <default_value/>  
20 - <description>&#x5f85;&#x5904;&#x7406;&#x5bfc;&#x5165;&#x7684;excel&#x6587;&#x4ef6;</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&#x2f;06&#x2f;23 17&#x3a;44&#x3a;46.781</created_date>  
81 - <modified_user>-</modified_user>  
82 - <modified_date>2016&#x2f;06&#x2f;23 17&#x3a;44&#x3a;46.781</modified_date>  
83 - <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</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>&#x24;&#x7b;v_db_ip&#x7d;</server>  
115 - <type>MYSQL</type>  
116 - <access>Native</access>  
117 - <database>&#x24;&#x7b;v_db_dname&#x7d;</database>  
118 - <port>3306</port>  
119 - <username>&#x24;&#x7b;v_db_uname&#x7d;</username>  
120 - <password>&#x24;&#x7b;v_db_pwd&#x7d;</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_&#x516c;&#x53f8;_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_&#x672c;&#x673a;</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&#xff08;&#x672c;&#x673a;&#xff09;</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>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_cars 2</from><to>&#x9519;&#x8bef;&#x8f93;&#x51fa; 2</to><enabled>Y</enabled> </hop>  
275 - <hop> <from>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</from><to>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</to><enabled>Y</enabled> </hop>  
276 - <hop> <from>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</from><to>&#x5185;&#x90e8;&#x7f16;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</to><enabled>Y</enabled> </hop>  
277 - <hop> <from>&#x5185;&#x90e8;&#x7f16;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</from><to>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</to><enabled>Y</enabled> </hop>  
278 - <hop> <from>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</from><to>&#x516c;&#x53f8;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>  
279 - <hop> <from>&#x516c;&#x53f8;&#x67e5;&#x8be2;</from><to>&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</to><enabled>Y</enabled> </hop>  
280 - <hop> <from>&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</from><to>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>  
281 - <hop> <from>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</from><to>&#x5206;&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</to><enabled>Y</enabled> </hop>  
282 - <hop> <from>&#x5206;&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</from><to>&#x8f66;&#x8f86;&#x7f16;&#x7801;</to><enabled>Y</enabled> </hop>  
283 - <hop> <from>&#x8f66;&#x8f86;&#x7f16;&#x7801;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_cars 2</to><enabled>Y</enabled> </hop>  
284 - </order>  
285 - <step>  
286 - <name>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</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>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</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>&#x8f66;&#x724c;&#x53f7;</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>&#x5185;&#x90e8;&#x7f16;&#x7801;</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>&#x6240;&#x5c5e;&#x516c;&#x53f8;</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>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</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>&#x8bbe;&#x5907;&#x4f9b;&#x5e94;&#x5382;&#x5546;</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>&#x8bbe;&#x5907;&#x7ec8;&#x7aef;&#x53f7;</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>&#x5de5;&#x4f5c;&#x8868;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>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;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>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>  
444 - <field>inside_code</field>  
445 - <condition>&#x3d;</condition>  
446 - <name2/>  
447 - </key>  
448 - <value>  
449 - <name>car_plate</name>  
450 - <rename>&#x8f66;&#x724c;&#x53f7;</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>&#x5185;&#x90e8;&#x7f16;&#x7801;</rename>  
461 - <update>Y</update>  
462 - </value>  
463 - <value>  
464 - <name>company</name>  
465 - <rename>&#x6240;&#x5c5e;&#x516c;&#x53f8;</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>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</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>&#x8bbe;&#x5907;&#x4f9b;&#x5e94;&#x5382;&#x5546;</rename>  
486 - <update>Y</update>  
487 - </value>  
488 - <value>  
489 - <name>equipment_code</name>  
490 - <rename>&#x8bbe;&#x5907;&#x7ec8;&#x7aef;&#x53f7;</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>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</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>&#x24;&#x7b;filepath&#x7d;</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>&#x24;&#x7b;erroroutputdir&#x7d;</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>&#x9519;&#x8bef;&#x8f93;&#x51fa; 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>&#x24;&#x7b;erroroutputdir&#x7d;&#x2f;&#x8f66;&#x8f86;&#x57fa;&#x7840;&#x4fe1;&#x606f;_&#x9519;&#x8bef;</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>&#x8f66;&#x724c;&#x53f7;</name>  
590 - <type>String</type>  
591 - <format/>  
592 - </field>  
593 - <field>  
594 - <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>  
595 - <type>String</type>  
596 - <format/>  
597 - </field>  
598 - <field>  
599 - <name>&#x6240;&#x5c5e;&#x516c;&#x53f8;</name>  
600 - <type>String</type>  
601 - <format/>  
602 - </field>  
603 - <field>  
604 - <name>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</name>  
605 - <type>String</type>  
606 - <format/>  
607 - </field>  
608 - <field>  
609 - <name>&#x8bbe;&#x5907;&#x4f9b;&#x5e94;&#x5382;&#x5546;</name>  
610 - <type>String</type>  
611 - <format/>  
612 - </field>  
613 - <field>  
614 - <name>&#x8bbe;&#x5907;&#x7ec8;&#x7aef;&#x53f7;</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>&#x5185;&#x90e8;&#x7f16;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</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>&#x5185;&#x90e8;&#x7f16;&#x7801;</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>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</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>&#x2f;&#x2f;Script here&#xa;&#xa;var up_code &#x3d; &#x27;88&#x27;&#x3b;</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>&#x516c;&#x53f8;&#x67e5;&#x8be2;</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>&#x3d;</condition>  
753 - <name2/>  
754 - </key>  
755 - <key>  
756 - <name>&#x6240;&#x5c5e;&#x516c;&#x53f8;</name>  
757 - <field>business_name</field>  
758 - <condition>&#x3d;</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>&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</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>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</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>&#x3d;</condition>  
835 - <name2/>  
836 - </key>  
837 - <key>  
838 - <name>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</name>  
839 - <field>business_name</field>  
840 - <condition>&#x3d;</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>&#x5206;&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</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>&#x8f66;&#x8f86;&#x7f16;&#x7801;</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>&#x2f;&#x2f;Script here&#xa;&#xa;var cl_code &#x3d; gs_code &#x2b; &#x22;0&#x22; &#x2b; &#x5185;&#x90e8;&#x7f16;&#x7801;&#x3b;</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>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_cars 2</source_step>  
925 - <target_step>&#x9519;&#x8bef;&#x8f93;&#x51fa; 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>&#x8f66;&#x8f86;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</name>
  5 + <description>&#x8f66;&#x8f86;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>
  6 + <extended_description>&#x8f66;&#x8f86;&#x57fa;&#x7840;&#x4fe1;&#x606f;</extended_description>
  7 + <trans_version/>
  8 + <trans_type>Normal</trans_type>
  9 + <trans_status>0</trans_status>
  10 + <directory>&#x2f;</directory>
  11 + <parameters>
  12 + <parameter>
  13 + <name>erroroutputdir</name>
  14 + <default_value/>
  15 + <description>ktr step&#x914d;&#x7f6e;&#x7684;&#x9519;&#x8bef;&#x8f93;&#x51fa;&#x76ee;&#x5f55;</description>
  16 + </parameter>
  17 + <parameter>
  18 + <name>filepath</name>
  19 + <default_value/>
  20 + <description>&#x5f85;&#x5904;&#x7406;&#x5bfc;&#x5165;&#x7684;excel&#x6587;&#x4ef6;</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&#x2f;06&#x2f;23 17&#x3a;44&#x3a;46.781</created_date>
  81 + <modified_user>-</modified_user>
  82 + <modified_date>2016&#x2f;06&#x2f;23 17&#x3a;44&#x3a;46.781</modified_date>
  83 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</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>&#x24;&#x7b;v_db_ip&#x7d;</server>
  115 + <type>MYSQL</type>
  116 + <access>Native</access>
  117 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  118 + <port>3306</port>
  119 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  120 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</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_&#x516c;&#x53f8;_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_&#x672c;&#x673a;</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&#xff08;&#x672c;&#x673a;&#xff09;</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>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_cars 2</from><to>&#x9519;&#x8bef;&#x8f93;&#x51fa; 2</to><enabled>Y</enabled> </hop>
  275 + <hop> <from>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</from><to>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</to><enabled>Y</enabled> </hop>
  276 + <hop> <from>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</from><to>&#x5185;&#x90e8;&#x7f16;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</to><enabled>Y</enabled> </hop>
  277 + <hop> <from>&#x5185;&#x90e8;&#x7f16;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</from><to>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</to><enabled>Y</enabled> </hop>
  278 + <hop> <from>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</from><to>&#x516c;&#x53f8;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  279 + <hop> <from>&#x516c;&#x53f8;&#x67e5;&#x8be2;</from><to>&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</to><enabled>Y</enabled> </hop>
  280 + <hop> <from>&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</from><to>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  281 + <hop> <from>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</from><to>&#x5206;&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</to><enabled>Y</enabled> </hop>
  282 + <hop> <from>&#x5206;&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</from><to>&#x8f66;&#x8f86;&#x7f16;&#x7801;</to><enabled>Y</enabled> </hop>
  283 + <hop> <from>&#x8f66;&#x8f86;&#x7f16;&#x7801;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_cars 2</to><enabled>Y</enabled> </hop>
  284 + </order>
  285 + <step>
  286 + <name>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</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>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</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>&#x8f66;&#x724c;&#x53f7;</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>&#x5185;&#x90e8;&#x7f16;&#x7801;</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>&#x6240;&#x5c5e;&#x516c;&#x53f8;</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>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</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>&#x8bbe;&#x5907;&#x4f9b;&#x5e94;&#x5382;&#x5546;</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>&#x8bbe;&#x5907;&#x7ec8;&#x7aef;&#x53f7;</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>&#x5de5;&#x4f5c;&#x8868;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>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;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>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>
  444 + <field>inside_code</field>
  445 + <condition>&#x3d;</condition>
  446 + <name2/>
  447 + </key>
  448 + <value>
  449 + <name>car_plate</name>
  450 + <rename>&#x8f66;&#x724c;&#x53f7;</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>&#x5185;&#x90e8;&#x7f16;&#x7801;</rename>
  461 + <update>Y</update>
  462 + </value>
  463 + <value>
  464 + <name>company</name>
  465 + <rename>&#x6240;&#x5c5e;&#x516c;&#x53f8;</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>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</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>&#x8bbe;&#x5907;&#x4f9b;&#x5e94;&#x5382;&#x5546;</rename>
  486 + <update>Y</update>
  487 + </value>
  488 + <value>
  489 + <name>equipment_code</name>
  490 + <rename>&#x8bbe;&#x5907;&#x7ec8;&#x7aef;&#x53f7;</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>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</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>&#x24;&#x7b;filepath&#x7d;</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>&#x24;&#x7b;erroroutputdir&#x7d;</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>&#x9519;&#x8bef;&#x8f93;&#x51fa; 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>&#x24;&#x7b;erroroutputdir&#x7d;&#x2f;&#x8f66;&#x8f86;&#x57fa;&#x7840;&#x4fe1;&#x606f;_&#x9519;&#x8bef;</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>&#x8f66;&#x724c;&#x53f7;</name>
  590 + <type>String</type>
  591 + <format/>
  592 + </field>
  593 + <field>
  594 + <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>
  595 + <type>String</type>
  596 + <format/>
  597 + </field>
  598 + <field>
  599 + <name>&#x6240;&#x5c5e;&#x516c;&#x53f8;</name>
  600 + <type>String</type>
  601 + <format/>
  602 + </field>
  603 + <field>
  604 + <name>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</name>
  605 + <type>String</type>
  606 + <format/>
  607 + </field>
  608 + <field>
  609 + <name>&#x8bbe;&#x5907;&#x4f9b;&#x5e94;&#x5382;&#x5546;</name>
  610 + <type>String</type>
  611 + <format/>
  612 + </field>
  613 + <field>
  614 + <name>&#x8bbe;&#x5907;&#x7ec8;&#x7aef;&#x53f7;</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>&#x5185;&#x90e8;&#x7f16;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</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>&#x5185;&#x90e8;&#x7f16;&#x7801;</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>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</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>&#x2f;&#x2f;Script here&#xa;&#xa;var up_code &#x3d; &#x27;88&#x27;&#x3b;</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>&#x516c;&#x53f8;&#x67e5;&#x8be2;</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>&#x3d;</condition>
  753 + <name2/>
  754 + </key>
  755 + <key>
  756 + <name>&#x6240;&#x5c5e;&#x516c;&#x53f8;</name>
  757 + <field>business_name</field>
  758 + <condition>&#x3d;</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>&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</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>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</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>&#x3d;</condition>
  835 + <name2/>
  836 + </key>
  837 + <key>
  838 + <name>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</name>
  839 + <field>business_name</field>
  840 + <condition>&#x3d;</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>&#x5206;&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</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>&#x8f66;&#x8f86;&#x7f16;&#x7801;</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>&#x2f;&#x2f;Script here&#xa;&#xa;var cl_code &#x3d; gs_code &#x2b; &#x22;0&#x22; &#x2b; &#x5185;&#x90e8;&#x7f16;&#x7801;&#x3b;</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>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_cars 2</source_step>
  925 + <target_step>&#x9519;&#x8bef;&#x8f93;&#x51fa; 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>
src/main/resources/datatools/ktrs/carsDataOutput.ktr
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<transformation>  
3 - <info>  
4 - <name>&#x8f66;&#x8f86;&#x4fe1;&#x606f;&#x5bfc;&#x51fa;</name>  
5 - <description>&#x8f66;&#x8f86;&#x4fe1;&#x606f;&#x5bfc;&#x51fa;</description>  
6 - <extended_description>&#x8f66;&#x8f86;&#x57fa;&#x7840;&#x4fe1;&#x606f;</extended_description>  
7 - <trans_version/>  
8 - <trans_type>Normal</trans_type>  
9 - <trans_status>0</trans_status>  
10 - <directory>&#x2f;</directory>  
11 - <parameters>  
12 - <parameter>  
13 - <name>cgsbm_in</name>  
14 - <default_value/>  
15 - <description>&#x5206;&#x516c;&#x53f8;&#x7f16;&#x7801;</description>  
16 - </parameter>  
17 - <parameter>  
18 - <name>filepath</name>  
19 - <default_value/>  
20 - <description>excel&#x6587;&#x4ef6;&#x8def;&#x5f84;</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&#x2f;08&#x2f;05 16&#x3a;42&#x3a;22.753</created_date>  
81 - <modified_user>-</modified_user>  
82 - <modified_date>2016&#x2f;08&#x2f;05 16&#x3a;42&#x3a;22.753</modified_date>  
83 - <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</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>&#x24;&#x7b;v_db_ip&#x7d;</server>  
115 - <type>MYSQL</type>  
116 - <access>Native</access>  
117 - <database>&#x24;&#x7b;v_db_dname&#x7d;</database>  
118 - <port>3306</port>  
119 - <username>&#x24;&#x7b;v_db_uname&#x7d;</username>  
120 - <password>&#x24;&#x7b;v_db_pwd&#x7d;</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_&#x516c;&#x53f8;_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_&#x672c;&#x673a;</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&#xff08;&#x672c;&#x673a;&#xff09;</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>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>Excel&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>  
275 - <hop> <from>&#x8f66;&#x8f86;&#x4fe1;&#x606f;&#x8868;&#x8f93;&#x5165;</from><to>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</to><enabled>Y</enabled> </hop>  
276 - <hop> <from>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</from><to>&#x516c;&#x53f8;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>  
277 - <hop> <from>&#x516c;&#x53f8;&#x67e5;&#x8be2;</from><to>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>  
278 - <hop> <from>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>  
279 - </order>  
280 - <step>  
281 - <name>Excel&#x8f93;&#x51fa;</name>  
282 - <type>ExcelOutput</type>  
283 - <description/>  
284 - <distribute>Y</distribute>  
285 - <custom_distribution/>  
286 - <copies>1</copies>  
287 - <partitioning>  
288 - <method>none</method>  
289 - <schema_name/>  
290 - </partitioning>  
291 - <header>Y</header>  
292 - <footer>N</footer>  
293 - <encoding/>  
294 - <append>N</append>  
295 - <add_to_result_filenames>Y</add_to_result_filenames>  
296 - <file>  
297 - <name>&#x24;&#x7b;filepath&#x7d;</name>  
298 - <extention>xls</extention>  
299 - <do_not_open_newfile_init>N</do_not_open_newfile_init>  
300 - <create_parent_folder>N</create_parent_folder>  
301 - <split>N</split>  
302 - <add_date>N</add_date>  
303 - <add_time>N</add_time>  
304 - <SpecifyFormat>N</SpecifyFormat>  
305 - <date_time_format>yyyyMMddHHmmss</date_time_format>  
306 - <sheetname>&#x5de5;&#x4f5c;&#x8868;1</sheetname>  
307 - <autosizecolums>N</autosizecolums>  
308 - <nullisblank>N</nullisblank>  
309 - <protect_sheet>N</protect_sheet>  
310 - <password>Encrypted </password>  
311 - <splitevery>0</splitevery>  
312 - <usetempfiles>N</usetempfiles>  
313 - <tempdirectory/>  
314 - </file>  
315 - <template>  
316 - <enabled>N</enabled>  
317 - <append>N</append>  
318 - <filename>template.xls</filename>  
319 - </template>  
320 - <fields>  
321 - <field>  
322 - <name>&#x8f66;&#x724c;&#x53f7;</name>  
323 - <type>String</type>  
324 - <format/>  
325 - </field>  
326 - <field>  
327 - <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>  
328 - <type>String</type>  
329 - <format/>  
330 - </field>  
331 - <field>  
332 - <name>&#x6240;&#x5c5e;&#x516c;&#x53f8;</name>  
333 - <type>String</type>  
334 - <format/>  
335 - </field>  
336 - <field>  
337 - <name>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</name>  
338 - <type>String</type>  
339 - <format/>  
340 - </field>  
341 - <field>  
342 - <name>&#x8bbe;&#x5907;&#x4f9b;&#x5e94;&#x5382;&#x5546;</name>  
343 - <type>String</type>  
344 - <format/>  
345 - </field>  
346 - <field>  
347 - <name>&#x8bbe;&#x5907;&#x7ec8;&#x7aef;&#x53f7;</name>  
348 - <type>String</type>  
349 - <format/>  
350 - </field>  
351 - </fields>  
352 - <custom>  
353 - <header_font_name>arial</header_font_name>  
354 - <header_font_size>10</header_font_size>  
355 - <header_font_bold>N</header_font_bold>  
356 - <header_font_italic>N</header_font_italic>  
357 - <header_font_underline>no</header_font_underline>  
358 - <header_font_orientation>horizontal</header_font_orientation>  
359 - <header_font_color>black</header_font_color>  
360 - <header_background_color>none</header_background_color>  
361 - <header_row_height>255</header_row_height>  
362 - <header_alignment>left</header_alignment>  
363 - <header_image/>  
364 - <row_font_name>arial</row_font_name>  
365 - <row_font_size>10</row_font_size>  
366 - <row_font_color>black</row_font_color>  
367 - <row_background_color>none</row_background_color>  
368 - </custom>  
369 - <cluster_schema/>  
370 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
371 - <xloc>514</xloc>  
372 - <yloc>293</yloc>  
373 - <draw>Y</draw>  
374 - </GUI>  
375 - </step>  
376 -  
377 - <step>  
378 - <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>  
379 - <type>SelectValues</type>  
380 - <description/>  
381 - <distribute>Y</distribute>  
382 - <custom_distribution/>  
383 - <copies>1</copies>  
384 - <partitioning>  
385 - <method>none</method>  
386 - <schema_name/>  
387 - </partitioning>  
388 - <fields> <field> <name>car_plate</name>  
389 - <rename>&#x8f66;&#x724c;&#x53f7;</rename>  
390 - <length>-2</length>  
391 - <precision>-2</precision>  
392 - </field> <field> <name>inside_code</name>  
393 - <rename>&#x5185;&#x90e8;&#x7f16;&#x7801;</rename>  
394 - <length>-2</length>  
395 - <precision>-2</precision>  
396 - </field> <field> <name>gs</name>  
397 - <rename>&#x6240;&#x5c5e;&#x516c;&#x53f8;</rename>  
398 - <length>-2</length>  
399 - <precision>-2</precision>  
400 - </field> <field> <name>fgs</name>  
401 - <rename>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</rename>  
402 - <length>-2</length>  
403 - <precision>-2</precision>  
404 - </field> <field> <name>supplier_name</name>  
405 - <rename>&#x8bbe;&#x5907;&#x4f9b;&#x5e94;&#x5382;&#x5546;</rename>  
406 - <length>-2</length>  
407 - <precision>-2</precision>  
408 - </field> <field> <name>equipment_code</name>  
409 - <rename>&#x8bbe;&#x5907;&#x7ec8;&#x7aef;&#x53f7;</rename>  
410 - <length>-2</length>  
411 - <precision>-2</precision>  
412 - </field> <select_unspecified>N</select_unspecified>  
413 - </fields> <cluster_schema/>  
414 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
415 - <xloc>512</xloc>  
416 - <yloc>181</yloc>  
417 - <draw>Y</draw>  
418 - </GUI>  
419 - </step>  
420 -  
421 - <step>  
422 - <name>&#x8f66;&#x8f86;&#x4fe1;&#x606f;&#x8868;&#x8f93;&#x5165;</name>  
423 - <type>TableInput</type>  
424 - <description/>  
425 - <distribute>Y</distribute>  
426 - <custom_distribution/>  
427 - <copies>1</copies>  
428 - <partitioning>  
429 - <method>none</method>  
430 - <schema_name/>  
431 - </partitioning>  
432 - <connection>bus_control_variable</connection>  
433 - <sql>SELECT &#x2a; FROM bsth_c_cars&#xa;where concat&#x28;business_code, &#x27;_&#x27;, branche_company_code&#x29; in &#x28;&#x24;&#x7b;cgsbm_in&#x7d;&#x29;</sql>  
434 - <limit>0</limit>  
435 - <lookup/>  
436 - <execute_each_row>N</execute_each_row>  
437 - <variables_active>Y</variables_active>  
438 - <lazy_conversion_active>N</lazy_conversion_active>  
439 - <cluster_schema/>  
440 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
441 - <xloc>105</xloc>  
442 - <yloc>67</yloc>  
443 - <draw>Y</draw>  
444 - </GUI>  
445 - </step>  
446 -  
447 - <step>  
448 - <name>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</name>  
449 - <type>ScriptValueMod</type>  
450 - <description/>  
451 - <distribute>Y</distribute>  
452 - <custom_distribution/>  
453 - <copies>1</copies>  
454 - <partitioning>  
455 - <method>none</method>  
456 - <schema_name/>  
457 - </partitioning>  
458 - <compatible>N</compatible>  
459 - <optimizationLevel>9</optimizationLevel>  
460 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
461 - <jsScript_name>Script 1</jsScript_name>  
462 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var up_code &#x3d; &#x27;88&#x27;&#x3b;</jsScript_script>  
463 - </jsScript> </jsScripts> <fields> <field> <name>up_code</name>  
464 - <rename>up_code</rename>  
465 - <type>String</type>  
466 - <length>-1</length>  
467 - <precision>-1</precision>  
468 - <replace>N</replace>  
469 - </field> </fields> <cluster_schema/>  
470 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
471 - <xloc>244</xloc>  
472 - <yloc>67</yloc>  
473 - <draw>Y</draw>  
474 - </GUI>  
475 - </step>  
476 -  
477 - <step>  
478 - <name>&#x516c;&#x53f8;&#x67e5;&#x8be2;</name>  
479 - <type>DBLookup</type>  
480 - <description/>  
481 - <distribute>Y</distribute>  
482 - <custom_distribution/>  
483 - <copies>1</copies>  
484 - <partitioning>  
485 - <method>none</method>  
486 - <schema_name/>  
487 - </partitioning>  
488 - <connection>bus_control_variable</connection>  
489 - <cache>N</cache>  
490 - <cache_load_all>N</cache_load_all>  
491 - <cache_size>0</cache_size>  
492 - <lookup>  
493 - <schema/>  
494 - <table>bsth_c_business</table>  
495 - <orderby/>  
496 - <fail_on_multiple>N</fail_on_multiple>  
497 - <eat_row_on_failure>N</eat_row_on_failure>  
498 - <key>  
499 - <name>up_code</name>  
500 - <field>up_code</field>  
501 - <condition>&#x3d;</condition>  
502 - <name2/>  
503 - </key>  
504 - <key>  
505 - <name>business_code</name>  
506 - <field>business_code</field>  
507 - <condition>&#x3d;</condition>  
508 - <name2/>  
509 - </key>  
510 - <value>  
511 - <name>business_name</name>  
512 - <rename>gs</rename>  
513 - <default/>  
514 - <type>String</type>  
515 - </value>  
516 - </lookup>  
517 - <cluster_schema/>  
518 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
519 - <xloc>381</xloc>  
520 - <yloc>68</yloc>  
521 - <draw>Y</draw>  
522 - </GUI>  
523 - </step>  
524 -  
525 - <step>  
526 - <name>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</name>  
527 - <type>DBLookup</type>  
528 - <description/>  
529 - <distribute>Y</distribute>  
530 - <custom_distribution/>  
531 - <copies>1</copies>  
532 - <partitioning>  
533 - <method>none</method>  
534 - <schema_name/>  
535 - </partitioning>  
536 - <connection>bus_control_variable</connection>  
537 - <cache>N</cache>  
538 - <cache_load_all>N</cache_load_all>  
539 - <cache_size>0</cache_size>  
540 - <lookup>  
541 - <schema/>  
542 - <table>bsth_c_business</table>  
543 - <orderby/>  
544 - <fail_on_multiple>N</fail_on_multiple>  
545 - <eat_row_on_failure>N</eat_row_on_failure>  
546 - <key>  
547 - <name>business_code</name>  
548 - <field>up_code</field>  
549 - <condition>&#x3d;</condition>  
550 - <name2/>  
551 - </key>  
552 - <key>  
553 - <name>branche_company_code</name>  
554 - <field>business_code</field>  
555 - <condition>&#x3d;</condition>  
556 - <name2/>  
557 - </key>  
558 - <value>  
559 - <name>business_name</name>  
560 - <rename>fgs</rename>  
561 - <default/>  
562 - <type>String</type>  
563 - </value>  
564 - </lookup>  
565 - <cluster_schema/>  
566 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
567 - <xloc>508</xloc>  
568 - <yloc>68</yloc>  
569 - <draw>Y</draw>  
570 - </GUI>  
571 - </step>  
572 -  
573 - <step_error_handling>  
574 - </step_error_handling>  
575 - <slave-step-copy-partition-distribution>  
576 -</slave-step-copy-partition-distribution>  
577 - <slave_transformation>N</slave_transformation>  
578 -  
579 -</transformation> 1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>&#x8f66;&#x8f86;&#x4fe1;&#x606f;&#x5bfc;&#x51fa;</name>
  5 + <description>&#x8f66;&#x8f86;&#x4fe1;&#x606f;&#x5bfc;&#x51fa;</description>
  6 + <extended_description>&#x8f66;&#x8f86;&#x57fa;&#x7840;&#x4fe1;&#x606f;</extended_description>
  7 + <trans_version/>
  8 + <trans_type>Normal</trans_type>
  9 + <trans_status>0</trans_status>
  10 + <directory>&#x2f;</directory>
  11 + <parameters>
  12 + <parameter>
  13 + <name>cgsbm_in</name>
  14 + <default_value/>
  15 + <description>&#x5206;&#x516c;&#x53f8;&#x7f16;&#x7801;</description>
  16 + </parameter>
  17 + <parameter>
  18 + <name>filepath</name>
  19 + <default_value/>
  20 + <description>excel&#x6587;&#x4ef6;&#x8def;&#x5f84;</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&#x2f;08&#x2f;05 16&#x3a;42&#x3a;22.753</created_date>
  81 + <modified_user>-</modified_user>
  82 + <modified_date>2016&#x2f;08&#x2f;05 16&#x3a;42&#x3a;22.753</modified_date>
  83 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</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>&#x24;&#x7b;v_db_ip&#x7d;</server>
  115 + <type>MYSQL</type>
  116 + <access>Native</access>
  117 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  118 + <port>3306</port>
  119 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  120 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</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_&#x516c;&#x53f8;_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_&#x672c;&#x673a;</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&#xff08;&#x672c;&#x673a;&#xff09;</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>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>Excel&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
  275 + <hop> <from>&#x8f66;&#x8f86;&#x4fe1;&#x606f;&#x8868;&#x8f93;&#x5165;</from><to>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</to><enabled>Y</enabled> </hop>
  276 + <hop> <from>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</from><to>&#x516c;&#x53f8;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  277 + <hop> <from>&#x516c;&#x53f8;&#x67e5;&#x8be2;</from><to>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  278 + <hop> <from>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
  279 + </order>
  280 + <step>
  281 + <name>Excel&#x8f93;&#x51fa;</name>
  282 + <type>ExcelOutput</type>
  283 + <description/>
  284 + <distribute>Y</distribute>
  285 + <custom_distribution/>
  286 + <copies>1</copies>
  287 + <partitioning>
  288 + <method>none</method>
  289 + <schema_name/>
  290 + </partitioning>
  291 + <header>Y</header>
  292 + <footer>N</footer>
  293 + <encoding/>
  294 + <append>N</append>
  295 + <add_to_result_filenames>Y</add_to_result_filenames>
  296 + <file>
  297 + <name>&#x24;&#x7b;filepath&#x7d;</name>
  298 + <extention>xls</extention>
  299 + <do_not_open_newfile_init>N</do_not_open_newfile_init>
  300 + <create_parent_folder>N</create_parent_folder>
  301 + <split>N</split>
  302 + <add_date>N</add_date>
  303 + <add_time>N</add_time>
  304 + <SpecifyFormat>N</SpecifyFormat>
  305 + <date_time_format>yyyyMMddHHmmss</date_time_format>
  306 + <sheetname>&#x5de5;&#x4f5c;&#x8868;1</sheetname>
  307 + <autosizecolums>N</autosizecolums>
  308 + <nullisblank>N</nullisblank>
  309 + <protect_sheet>N</protect_sheet>
  310 + <password>Encrypted </password>
  311 + <splitevery>0</splitevery>
  312 + <usetempfiles>N</usetempfiles>
  313 + <tempdirectory/>
  314 + </file>
  315 + <template>
  316 + <enabled>N</enabled>
  317 + <append>N</append>
  318 + <filename>template.xls</filename>
  319 + </template>
  320 + <fields>
  321 + <field>
  322 + <name>&#x8f66;&#x724c;&#x53f7;</name>
  323 + <type>String</type>
  324 + <format/>
  325 + </field>
  326 + <field>
  327 + <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>
  328 + <type>String</type>
  329 + <format/>
  330 + </field>
  331 + <field>
  332 + <name>&#x6240;&#x5c5e;&#x516c;&#x53f8;</name>
  333 + <type>String</type>
  334 + <format/>
  335 + </field>
  336 + <field>
  337 + <name>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</name>
  338 + <type>String</type>
  339 + <format/>
  340 + </field>
  341 + <field>
  342 + <name>&#x8bbe;&#x5907;&#x4f9b;&#x5e94;&#x5382;&#x5546;</name>
  343 + <type>String</type>
  344 + <format/>
  345 + </field>
  346 + <field>
  347 + <name>&#x8bbe;&#x5907;&#x7ec8;&#x7aef;&#x53f7;</name>
  348 + <type>String</type>
  349 + <format/>
  350 + </field>
  351 + </fields>
  352 + <custom>
  353 + <header_font_name>arial</header_font_name>
  354 + <header_font_size>10</header_font_size>
  355 + <header_font_bold>N</header_font_bold>
  356 + <header_font_italic>N</header_font_italic>
  357 + <header_font_underline>no</header_font_underline>
  358 + <header_font_orientation>horizontal</header_font_orientation>
  359 + <header_font_color>black</header_font_color>
  360 + <header_background_color>none</header_background_color>
  361 + <header_row_height>255</header_row_height>
  362 + <header_alignment>left</header_alignment>
  363 + <header_image/>
  364 + <row_font_name>arial</row_font_name>
  365 + <row_font_size>10</row_font_size>
  366 + <row_font_color>black</row_font_color>
  367 + <row_background_color>none</row_background_color>
  368 + </custom>
  369 + <cluster_schema/>
  370 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  371 + <xloc>514</xloc>
  372 + <yloc>293</yloc>
  373 + <draw>Y</draw>
  374 + </GUI>
  375 + </step>
  376 +
  377 + <step>
  378 + <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
  379 + <type>SelectValues</type>
  380 + <description/>
  381 + <distribute>Y</distribute>
  382 + <custom_distribution/>
  383 + <copies>1</copies>
  384 + <partitioning>
  385 + <method>none</method>
  386 + <schema_name/>
  387 + </partitioning>
  388 + <fields> <field> <name>car_plate</name>
  389 + <rename>&#x8f66;&#x724c;&#x53f7;</rename>
  390 + <length>-2</length>
  391 + <precision>-2</precision>
  392 + </field> <field> <name>inside_code</name>
  393 + <rename>&#x5185;&#x90e8;&#x7f16;&#x7801;</rename>
  394 + <length>-2</length>
  395 + <precision>-2</precision>
  396 + </field> <field> <name>gs</name>
  397 + <rename>&#x6240;&#x5c5e;&#x516c;&#x53f8;</rename>
  398 + <length>-2</length>
  399 + <precision>-2</precision>
  400 + </field> <field> <name>fgs</name>
  401 + <rename>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</rename>
  402 + <length>-2</length>
  403 + <precision>-2</precision>
  404 + </field> <field> <name>supplier_name</name>
  405 + <rename>&#x8bbe;&#x5907;&#x4f9b;&#x5e94;&#x5382;&#x5546;</rename>
  406 + <length>-2</length>
  407 + <precision>-2</precision>
  408 + </field> <field> <name>equipment_code</name>
  409 + <rename>&#x8bbe;&#x5907;&#x7ec8;&#x7aef;&#x53f7;</rename>
  410 + <length>-2</length>
  411 + <precision>-2</precision>
  412 + </field> <select_unspecified>N</select_unspecified>
  413 + </fields> <cluster_schema/>
  414 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  415 + <xloc>512</xloc>
  416 + <yloc>181</yloc>
  417 + <draw>Y</draw>
  418 + </GUI>
  419 + </step>
  420 +
  421 + <step>
  422 + <name>&#x8f66;&#x8f86;&#x4fe1;&#x606f;&#x8868;&#x8f93;&#x5165;</name>
  423 + <type>TableInput</type>
  424 + <description/>
  425 + <distribute>Y</distribute>
  426 + <custom_distribution/>
  427 + <copies>1</copies>
  428 + <partitioning>
  429 + <method>none</method>
  430 + <schema_name/>
  431 + </partitioning>
  432 + <connection>bus_control_variable</connection>
  433 + <sql>SELECT &#x2a; FROM bsth_c_cars&#xa;where concat&#x28;business_code, &#x27;_&#x27;, branche_company_code&#x29; in &#x28;&#x24;&#x7b;cgsbm_in&#x7d;&#x29;</sql>
  434 + <limit>0</limit>
  435 + <lookup/>
  436 + <execute_each_row>N</execute_each_row>
  437 + <variables_active>Y</variables_active>
  438 + <lazy_conversion_active>N</lazy_conversion_active>
  439 + <cluster_schema/>
  440 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  441 + <xloc>105</xloc>
  442 + <yloc>67</yloc>
  443 + <draw>Y</draw>
  444 + </GUI>
  445 + </step>
  446 +
  447 + <step>
  448 + <name>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</name>
  449 + <type>ScriptValueMod</type>
  450 + <description/>
  451 + <distribute>Y</distribute>
  452 + <custom_distribution/>
  453 + <copies>1</copies>
  454 + <partitioning>
  455 + <method>none</method>
  456 + <schema_name/>
  457 + </partitioning>
  458 + <compatible>N</compatible>
  459 + <optimizationLevel>9</optimizationLevel>
  460 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  461 + <jsScript_name>Script 1</jsScript_name>
  462 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var up_code &#x3d; &#x27;88&#x27;&#x3b;</jsScript_script>
  463 + </jsScript> </jsScripts> <fields> <field> <name>up_code</name>
  464 + <rename>up_code</rename>
  465 + <type>String</type>
  466 + <length>-1</length>
  467 + <precision>-1</precision>
  468 + <replace>N</replace>
  469 + </field> </fields> <cluster_schema/>
  470 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  471 + <xloc>244</xloc>
  472 + <yloc>67</yloc>
  473 + <draw>Y</draw>
  474 + </GUI>
  475 + </step>
  476 +
  477 + <step>
  478 + <name>&#x516c;&#x53f8;&#x67e5;&#x8be2;</name>
  479 + <type>DBLookup</type>
  480 + <description/>
  481 + <distribute>Y</distribute>
  482 + <custom_distribution/>
  483 + <copies>1</copies>
  484 + <partitioning>
  485 + <method>none</method>
  486 + <schema_name/>
  487 + </partitioning>
  488 + <connection>bus_control_variable</connection>
  489 + <cache>N</cache>
  490 + <cache_load_all>N</cache_load_all>
  491 + <cache_size>0</cache_size>
  492 + <lookup>
  493 + <schema/>
  494 + <table>bsth_c_business</table>
  495 + <orderby/>
  496 + <fail_on_multiple>N</fail_on_multiple>
  497 + <eat_row_on_failure>N</eat_row_on_failure>
  498 + <key>
  499 + <name>up_code</name>
  500 + <field>up_code</field>
  501 + <condition>&#x3d;</condition>
  502 + <name2/>
  503 + </key>
  504 + <key>
  505 + <name>business_code</name>
  506 + <field>business_code</field>
  507 + <condition>&#x3d;</condition>
  508 + <name2/>
  509 + </key>
  510 + <value>
  511 + <name>business_name</name>
  512 + <rename>gs</rename>
  513 + <default/>
  514 + <type>String</type>
  515 + </value>
  516 + </lookup>
  517 + <cluster_schema/>
  518 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  519 + <xloc>381</xloc>
  520 + <yloc>68</yloc>
  521 + <draw>Y</draw>
  522 + </GUI>
  523 + </step>
  524 +
  525 + <step>
  526 + <name>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</name>
  527 + <type>DBLookup</type>
  528 + <description/>
  529 + <distribute>Y</distribute>
  530 + <custom_distribution/>
  531 + <copies>1</copies>
  532 + <partitioning>
  533 + <method>none</method>
  534 + <schema_name/>
  535 + </partitioning>
  536 + <connection>bus_control_variable</connection>
  537 + <cache>N</cache>
  538 + <cache_load_all>N</cache_load_all>
  539 + <cache_size>0</cache_size>
  540 + <lookup>
  541 + <schema/>
  542 + <table>bsth_c_business</table>
  543 + <orderby/>
  544 + <fail_on_multiple>N</fail_on_multiple>
  545 + <eat_row_on_failure>N</eat_row_on_failure>
  546 + <key>
  547 + <name>business_code</name>
  548 + <field>up_code</field>
  549 + <condition>&#x3d;</condition>
  550 + <name2/>
  551 + </key>
  552 + <key>
  553 + <name>branche_company_code</name>
  554 + <field>business_code</field>
  555 + <condition>&#x3d;</condition>
  556 + <name2/>
  557 + </key>
  558 + <value>
  559 + <name>business_name</name>
  560 + <rename>fgs</rename>
  561 + <default/>
  562 + <type>String</type>
  563 + </value>
  564 + </lookup>
  565 + <cluster_schema/>
  566 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  567 + <xloc>508</xloc>
  568 + <yloc>68</yloc>
  569 + <draw>Y</draw>
  570 + </GUI>
  571 + </step>
  572 +
  573 + <step_error_handling>
  574 + </step_error_handling>
  575 + <slave-step-copy-partition-distribution>
  576 +</slave-step-copy-partition-distribution>
  577 + <slave_transformation>N</slave_transformation>
  578 +
  579 +</transformation>
src/main/resources/datatools/ktrs/employeesDataInput.ktr
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<transformation>  
3 - <info>  
4 - <name>&#x4eba;&#x5458;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</name>  
5 - <description>&#x4eba;&#x5458;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>  
6 - <extended_description>&#x4eba;&#x5458;&#x57fa;&#x7840;&#x4fe1;&#x606f;</extended_description>  
7 - <trans_version/>  
8 - <trans_type>Normal</trans_type>  
9 - <trans_status>0</trans_status>  
10 - <directory>&#x2f;</directory>  
11 - <parameters>  
12 - <parameter>  
13 - <name>erroroutputdir</name>  
14 - <default_value/>  
15 - <description>ktr step&#x914d;&#x7f6e;&#x7684;&#x9519;&#x8bef;&#x8f93;&#x51fa;&#x76ee;&#x5f55;</description>  
16 - </parameter>  
17 - <parameter>  
18 - <name>filepath</name>  
19 - <default_value/>  
20 - <description>&#x5f85;&#x5904;&#x7406;&#x5bfc;&#x5165;&#x7684;excel&#x6587;&#x4ef6;</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&#x2f;06&#x2f;29 10&#x3a;18&#x3a;56.974</created_date>  
81 - <modified_user>-</modified_user>  
82 - <modified_date>2016&#x2f;06&#x2f;29 10&#x3a;18&#x3a;56.974</modified_date>  
83 - <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</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>&#x24;&#x7b;v_db_ip&#x7d;</server>  
115 - <type>MYSQL</type>  
116 - <access>Native</access>  
117 - <database>&#x24;&#x7b;v_db_dname&#x7d;</database>  
118 - <port>3306</port>  
119 - <username>&#x24;&#x7b;v_db_uname&#x7d;</username>  
120 - <password>&#x24;&#x7b;v_db_pwd&#x7d;</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_&#x516c;&#x53f8;_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_&#x672c;&#x673a;</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&#xff08;&#x672c;&#x673a;&#xff09;</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>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_personnel</from><to>&#x9519;&#x8bef;&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>  
275 - <hop> <from>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</from><to>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</to><enabled>Y</enabled> </hop>  
276 - <hop> <from>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</from><to>&#x516c;&#x53f8;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>  
277 - <hop> <from>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</from><to>&#x5de5;&#x53f7;&#x4e0d;&#x4e3a;&#x7a7a;</to><enabled>Y</enabled> </hop>  
278 - <hop> <from>&#x5de5;&#x53f7;&#x4e0d;&#x4e3a;&#x7a7a;</from><to>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</to><enabled>Y</enabled> </hop>  
279 - <hop> <from>&#x516c;&#x53f8;&#x67e5;&#x8be2;</from><to>&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</to><enabled>Y</enabled> </hop>  
280 - <hop> <from>&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</from><to>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>  
281 - <hop> <from>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</from><to>&#x5206;&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</to><enabled>Y</enabled> </hop>  
282 - <hop> <from>&#x5206;&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</from><to>&#x5904;&#x7406;&#x5de5;&#x53f7;&#x524d;&#x7f00;</to><enabled>Y</enabled> </hop>  
283 - <hop> <from>&#x5904;&#x7406;&#x5de5;&#x53f7;&#x524d;&#x7f00;</from><to>&#x5c97;&#x4f4d;&#x6570;&#x636e;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>  
284 - <hop> <from>&#x5c97;&#x4f4d;&#x6570;&#x636e;&#x67e5;&#x8be2;</from><to>&#x6027;&#x522b;&#x6570;&#x636e;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>  
285 - <hop> <from>&#x6027;&#x522b;&#x6570;&#x636e;&#x67e5;&#x8be2;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_personnel</to><enabled>Y</enabled> </hop>  
286 - </order>  
287 - <step>  
288 - <name>&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</name>  
289 - <type>FilterRows</type>  
290 - <description/>  
291 - <distribute>Y</distribute>  
292 - <custom_distribution/>  
293 - <copies>1</copies>  
294 - <partitioning>  
295 - <method>none</method>  
296 - <schema_name/>  
297 - </partitioning>  
298 -<send_true_to/>  
299 -<send_false_to/>  
300 - <compare>  
301 -<condition>  
302 - <negated>N</negated>  
303 - <conditions>  
304 - <condition>  
305 - <negated>N</negated>  
306 - <leftvalue>gs_code</leftvalue>  
307 - <function>IS NOT NULL</function>  
308 - <rightvalue/>  
309 - </condition>  
310 - </conditions>  
311 - </condition>  
312 - </compare>  
313 - <cluster_schema/>  
314 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
315 - <xloc>583</xloc>  
316 - <yloc>175</yloc>  
317 - <draw>Y</draw>  
318 - </GUI>  
319 - </step>  
320 -  
321 - <step>  
322 - <name>&#x516c;&#x53f8;&#x67e5;&#x8be2;</name>  
323 - <type>DBLookup</type>  
324 - <description/>  
325 - <distribute>Y</distribute>  
326 - <custom_distribution/>  
327 - <copies>1</copies>  
328 - <partitioning>  
329 - <method>none</method>  
330 - <schema_name/>  
331 - </partitioning>  
332 - <connection>bus_control_variable</connection>  
333 - <cache>N</cache>  
334 - <cache_load_all>N</cache_load_all>  
335 - <cache_size>0</cache_size>  
336 - <lookup>  
337 - <schema/>  
338 - <table>bsth_c_business</table>  
339 - <orderby/>  
340 - <fail_on_multiple>N</fail_on_multiple>  
341 - <eat_row_on_failure>N</eat_row_on_failure>  
342 - <key>  
343 - <name>up_code</name>  
344 - <field>up_code</field>  
345 - <condition>&#x3d;</condition>  
346 - <name2/>  
347 - </key>  
348 - <key>  
349 - <name>&#x6240;&#x5c5e;&#x516c;&#x53f8;</name>  
350 - <field>business_name</field>  
351 - <condition>&#x3d;</condition>  
352 - <name2/>  
353 - </key>  
354 - <value>  
355 - <name>business_code</name>  
356 - <rename>gs_code</rename>  
357 - <default/>  
358 - <type>String</type>  
359 - </value>  
360 - </lookup>  
361 - <cluster_schema/>  
362 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
363 - <xloc>583</xloc>  
364 - <yloc>83</yloc>  
365 - <draw>Y</draw>  
366 - </GUI>  
367 - </step>  
368 -  
369 - <step>  
370 - <name>&#x5206;&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</name>  
371 - <type>FilterRows</type>  
372 - <description/>  
373 - <distribute>Y</distribute>  
374 - <custom_distribution/>  
375 - <copies>1</copies>  
376 - <partitioning>  
377 - <method>none</method>  
378 - <schema_name/>  
379 - </partitioning>  
380 -<send_true_to/>  
381 -<send_false_to/>  
382 - <compare>  
383 -<condition>  
384 - <negated>N</negated>  
385 - <conditions>  
386 - <condition>  
387 - <negated>N</negated>  
388 - <leftvalue>fgs_code</leftvalue>  
389 - <function>IS NOT NULL</function>  
390 - <rightvalue/>  
391 - </condition>  
392 - </conditions>  
393 - </condition>  
394 - </compare>  
395 - <cluster_schema/>  
396 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
397 - <xloc>756</xloc>  
398 - <yloc>178</yloc>  
399 - <draw>Y</draw>  
400 - </GUI>  
401 - </step>  
402 -  
403 - <step>  
404 - <name>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</name>  
405 - <type>DBLookup</type>  
406 - <description/>  
407 - <distribute>Y</distribute>  
408 - <custom_distribution/>  
409 - <copies>1</copies>  
410 - <partitioning>  
411 - <method>none</method>  
412 - <schema_name/>  
413 - </partitioning>  
414 - <connection>bus_control_variable</connection>  
415 - <cache>N</cache>  
416 - <cache_load_all>N</cache_load_all>  
417 - <cache_size>0</cache_size>  
418 - <lookup>  
419 - <schema/>  
420 - <table>bsth_c_business</table>  
421 - <orderby/>  
422 - <fail_on_multiple>N</fail_on_multiple>  
423 - <eat_row_on_failure>N</eat_row_on_failure>  
424 - <key>  
425 - <name>gs_code</name>  
426 - <field>up_code</field>  
427 - <condition>&#x3d;</condition>  
428 - <name2/>  
429 - </key>  
430 - <key>  
431 - <name>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</name>  
432 - <field>business_name</field>  
433 - <condition>&#x3d;</condition>  
434 - <name2/>  
435 - </key>  
436 - <value>  
437 - <name>business_code</name>  
438 - <rename>fgs_code</rename>  
439 - <default/>  
440 - <type>String</type>  
441 - </value>  
442 - </lookup>  
443 - <cluster_schema/>  
444 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
445 - <xloc>756</xloc>  
446 - <yloc>83</yloc>  
447 - <draw>Y</draw>  
448 - </GUI>  
449 - </step>  
450 -  
451 - <step>  
452 - <name>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</name>  
453 - <type>ExcelInput</type>  
454 - <description/>  
455 - <distribute>Y</distribute>  
456 - <custom_distribution/>  
457 - <copies>1</copies>  
458 - <partitioning>  
459 - <method>none</method>  
460 - <schema_name/>  
461 - </partitioning>  
462 - <header>Y</header>  
463 - <noempty>Y</noempty>  
464 - <stoponempty>N</stoponempty>  
465 - <filefield/>  
466 - <sheetfield/>  
467 - <sheetrownumfield/>  
468 - <rownumfield/>  
469 - <sheetfield/>  
470 - <filefield/>  
471 - <limit>0</limit>  
472 - <encoding/>  
473 - <add_to_result_filenames>Y</add_to_result_filenames>  
474 - <accept_filenames>Y</accept_filenames>  
475 - <accept_field>filepath_</accept_field>  
476 - <accept_stepname>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</accept_stepname>  
477 - <file>  
478 - <name/>  
479 - <filemask/>  
480 - <exclude_filemask/>  
481 - <file_required>N</file_required>  
482 - <include_subfolders>N</include_subfolders>  
483 - </file>  
484 - <fields>  
485 - <field>  
486 - <name>&#x59d3;&#x540d;</name>  
487 - <type>String</type>  
488 - <length>-1</length>  
489 - <precision>-1</precision>  
490 - <trim_type>none</trim_type>  
491 - <repeat>N</repeat>  
492 - <format/>  
493 - <currency/>  
494 - <decimal/>  
495 - <group/>  
496 - </field>  
497 - <field>  
498 - <name>&#x5de5;&#x53f7;</name>  
499 - <type>String</type>  
500 - <length>-1</length>  
501 - <precision>-1</precision>  
502 - <trim_type>none</trim_type>  
503 - <repeat>N</repeat>  
504 - <format>&#x23;</format>  
505 - <currency/>  
506 - <decimal/>  
507 - <group/>  
508 - </field>  
509 - <field>  
510 - <name>&#x6027;&#x522b;</name>  
511 - <type>String</type>  
512 - <length>-1</length>  
513 - <precision>-1</precision>  
514 - <trim_type>none</trim_type>  
515 - <repeat>N</repeat>  
516 - <format/>  
517 - <currency/>  
518 - <decimal/>  
519 - <group/>  
520 - </field>  
521 - <field>  
522 - <name>&#x6240;&#x5c5e;&#x516c;&#x53f8;</name>  
523 - <type>String</type>  
524 - <length>-1</length>  
525 - <precision>-1</precision>  
526 - <trim_type>none</trim_type>  
527 - <repeat>N</repeat>  
528 - <format/>  
529 - <currency/>  
530 - <decimal/>  
531 - <group/>  
532 - </field>  
533 - <field>  
534 - <name>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</name>  
535 - <type>String</type>  
536 - <length>-1</length>  
537 - <precision>-1</precision>  
538 - <trim_type>none</trim_type>  
539 - <repeat>N</repeat>  
540 - <format/>  
541 - <currency/>  
542 - <decimal/>  
543 - <group/>  
544 - </field>  
545 - <field>  
546 - <name>&#x4e00;&#x5361;&#x901a;&#x53f7;</name>  
547 - <type>String</type>  
548 - <length>-1</length>  
549 - <precision>-1</precision>  
550 - <trim_type>none</trim_type>  
551 - <repeat>N</repeat>  
552 - <format>&#x23;</format>  
553 - <currency/>  
554 - <decimal/>  
555 - <group/>  
556 - </field>  
557 - <field>  
558 - <name>&#x8fd0;&#x8425;&#x670d;&#x52a1;&#x8bc1;&#x53f7;</name>  
559 - <type>String</type>  
560 - <length>-1</length>  
561 - <precision>-1</precision>  
562 - <trim_type>none</trim_type>  
563 - <repeat>N</repeat>  
564 - <format>&#x23;</format>  
565 - <currency/>  
566 - <decimal/>  
567 - <group/>  
568 - </field>  
569 - <field>  
570 - <name>&#x5c97;&#x4f4d;</name>  
571 - <type>String</type>  
572 - <length>-1</length>  
573 - <precision>-1</precision>  
574 - <trim_type>none</trim_type>  
575 - <repeat>N</repeat>  
576 - <format/>  
577 - <currency/>  
578 - <decimal/>  
579 - <group/>  
580 - </field>  
581 - <field>  
582 - <name>&#x5907;&#x6ce8;</name>  
583 - <type>String</type>  
584 - <length>-1</length>  
585 - <precision>-1</precision>  
586 - <trim_type>none</trim_type>  
587 - <repeat>N</repeat>  
588 - <format/>  
589 - <currency/>  
590 - <decimal/>  
591 - <group/>  
592 - </field>  
593 - </fields>  
594 - <sheets>  
595 - <sheet>  
596 - <name>&#x5de5;&#x4f5c;&#x8868;1</name>  
597 - <startrow>0</startrow>  
598 - <startcol>0</startcol>  
599 - </sheet>  
600 - </sheets>  
601 - <strict_types>N</strict_types>  
602 - <error_ignored>N</error_ignored>  
603 - <error_line_skipped>N</error_line_skipped>  
604 - <bad_line_files_destination_directory/>  
605 - <bad_line_files_extension>warning</bad_line_files_extension>  
606 - <error_line_files_destination_directory/>  
607 - <error_line_files_extension>error</error_line_files_extension>  
608 - <line_number_files_destination_directory/>  
609 - <line_number_files_extension>line</line_number_files_extension>  
610 - <shortFileFieldName/>  
611 - <pathFieldName/>  
612 - <hiddenFieldName/>  
613 - <lastModificationTimeFieldName/>  
614 - <uriNameFieldName/>  
615 - <rootUriNameFieldName/>  
616 - <extensionFieldName/>  
617 - <sizeFieldName/>  
618 - <spreadsheet_type>JXL</spreadsheet_type>  
619 - <cluster_schema/>  
620 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
621 - <xloc>236</xloc>  
622 - <yloc>83</yloc>  
623 - <draw>Y</draw>  
624 - </GUI>  
625 - </step>  
626 -  
627 - <step>  
628 - <name>&#x5904;&#x7406;&#x5de5;&#x53f7;&#x524d;&#x7f00;</name>  
629 - <type>ScriptValueMod</type>  
630 - <description/>  
631 - <distribute>Y</distribute>  
632 - <custom_distribution/>  
633 - <copies>1</copies>  
634 - <partitioning>  
635 - <method>none</method>  
636 - <schema_name/>  
637 - </partitioning>  
638 - <compatible>N</compatible>  
639 - <optimizationLevel>9</optimizationLevel>  
640 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
641 - <jsScript_name>Script 1</jsScript_name>  
642 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var gh_calcu &#x3d; &#x5de5;&#x53f7;&#x3b;&#xa;&#xa;if &#x28;&#x5de5;&#x53f7;.indexOf&#x28;gs_code &#x2b; &#x22;-&#x22;&#x29; &#x3c; 0&#x29; &#x7b;&#xa; gh_calcu &#x3d; gs_code &#x2b; &#x22;-&#x22; &#x2b; &#x5de5;&#x53f7;&#x3b;&#xa;&#x7d; </jsScript_script>  
643 - </jsScript> </jsScripts> <fields> <field> <name>gh_calcu</name>  
644 - <rename>gh_calcu</rename>  
645 - <type>String</type>  
646 - <length>-1</length>  
647 - <precision>-1</precision>  
648 - <replace>N</replace>  
649 - </field> </fields> <cluster_schema/>  
650 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
651 - <xloc>758</xloc>  
652 - <yloc>297</yloc>  
653 - <draw>Y</draw>  
654 - </GUI>  
655 - </step>  
656 -  
657 - <step>  
658 - <name>&#x5c97;&#x4f4d;&#x6570;&#x636e;&#x67e5;&#x8be2;</name>  
659 - <type>DBLookup</type>  
660 - <description/>  
661 - <distribute>Y</distribute>  
662 - <custom_distribution/>  
663 - <copies>1</copies>  
664 - <partitioning>  
665 - <method>none</method>  
666 - <schema_name/>  
667 - </partitioning>  
668 - <connection>bus_control_variable</connection>  
669 - <cache>N</cache>  
670 - <cache_load_all>N</cache_load_all>  
671 - <cache_size>0</cache_size>  
672 - <lookup>  
673 - <schema/>  
674 - <table>bsth_c_sys_dictionary</table>  
675 - <orderby/>  
676 - <fail_on_multiple>N</fail_on_multiple>  
677 - <eat_row_on_failure>N</eat_row_on_failure>  
678 - <key>  
679 - <name>gzType</name>  
680 - <field>d_group</field>  
681 - <condition>&#x3d;</condition>  
682 - <name2/>  
683 - </key>  
684 - <key>  
685 - <name>&#x5c97;&#x4f4d;</name>  
686 - <field>d_name</field>  
687 - <condition>&#x3d;</condition>  
688 - <name2/>  
689 - </key>  
690 - <value>  
691 - <name>d_code</name>  
692 - <rename>posts</rename>  
693 - <default/>  
694 - <type>String</type>  
695 - </value>  
696 - </lookup>  
697 - <cluster_schema/>  
698 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
699 - <xloc>588</xloc>  
700 - <yloc>296</yloc>  
701 - <draw>Y</draw>  
702 - </GUI>  
703 - </step>  
704 -  
705 - <step>  
706 - <name>&#x5de5;&#x53f7;&#x4e0d;&#x4e3a;&#x7a7a;</name>  
707 - <type>FilterRows</type>  
708 - <description/>  
709 - <distribute>Y</distribute>  
710 - <custom_distribution/>  
711 - <copies>1</copies>  
712 - <partitioning>  
713 - <method>none</method>  
714 - <schema_name/>  
715 - </partitioning>  
716 -<send_true_to/>  
717 -<send_false_to/>  
718 - <compare>  
719 -<condition>  
720 - <negated>N</negated>  
721 - <conditions>  
722 - <condition>  
723 - <negated>N</negated>  
724 - <leftvalue>&#x5de5;&#x53f7;</leftvalue>  
725 - <function>IS NOT NULL</function>  
726 - <rightvalue/>  
727 - </condition>  
728 - </conditions>  
729 - </condition>  
730 - </compare>  
731 - <cluster_schema/>  
732 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
733 - <xloc>238</xloc>  
734 - <yloc>178</yloc>  
735 - <draw>Y</draw>  
736 - </GUI>  
737 - </step>  
738 -  
739 - <step>  
740 - <name>&#x6027;&#x522b;&#x6570;&#x636e;&#x67e5;&#x8be2;</name>  
741 - <type>DBLookup</type>  
742 - <description/>  
743 - <distribute>Y</distribute>  
744 - <custom_distribution/>  
745 - <copies>1</copies>  
746 - <partitioning>  
747 - <method>none</method>  
748 - <schema_name/>  
749 - </partitioning>  
750 - <connection>bus_control_variable</connection>  
751 - <cache>N</cache>  
752 - <cache_load_all>N</cache_load_all>  
753 - <cache_size>0</cache_size>  
754 - <lookup>  
755 - <schema/>  
756 - <table>bsth_c_sys_dictionary</table>  
757 - <orderby/>  
758 - <fail_on_multiple>N</fail_on_multiple>  
759 - <eat_row_on_failure>N</eat_row_on_failure>  
760 - <key>  
761 - <name>sexType</name>  
762 - <field>d_group</field>  
763 - <condition>&#x3d;</condition>  
764 - <name2/>  
765 - </key>  
766 - <key>  
767 - <name>&#x6027;&#x522b;</name>  
768 - <field>d_name</field>  
769 - <condition>&#x3d;</condition>  
770 - <name2/>  
771 - </key>  
772 - <value>  
773 - <name>d_code</name>  
774 - <rename>sex</rename>  
775 - <default/>  
776 - <type>String</type>  
777 - </value>  
778 - </lookup>  
779 - <cluster_schema/>  
780 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
781 - <xloc>456</xloc>  
782 - <yloc>299</yloc>  
783 - <draw>Y</draw>  
784 - </GUI>  
785 - </step>  
786 -  
787 - <step>  
788 - <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_personnel</name>  
789 - <type>InsertUpdate</type>  
790 - <description/>  
791 - <distribute>Y</distribute>  
792 - <custom_distribution/>  
793 - <copies>1</copies>  
794 - <partitioning>  
795 - <method>none</method>  
796 - <schema_name/>  
797 - </partitioning>  
798 - <connection>bus_control_variable</connection>  
799 - <commit>500</commit>  
800 - <update_bypassed>N</update_bypassed>  
801 - <lookup>  
802 - <schema/>  
803 - <table>bsth_c_personnel</table>  
804 - <key>  
805 - <name>gh_calcu</name>  
806 - <field>job_code</field>  
807 - <condition>&#x3d;</condition>  
808 - <name2/>  
809 - </key>  
810 - <value>  
811 - <name>company</name>  
812 - <rename>&#x6240;&#x5c5e;&#x516c;&#x53f8;</rename>  
813 - <update>Y</update>  
814 - </value>  
815 - <value>  
816 - <name>company_code</name>  
817 - <rename>gs_code</rename>  
818 - <update>Y</update>  
819 - </value>  
820 - <value>  
821 - <name>branche_company</name>  
822 - <rename>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</rename>  
823 - <update>Y</update>  
824 - </value>  
825 - <value>  
826 - <name>branche_company_code</name>  
827 - <rename>fgs_code</rename>  
828 - <update>Y</update>  
829 - </value>  
830 - <value>  
831 - <name>ic_card_code</name>  
832 - <rename>&#x4e00;&#x5361;&#x901a;&#x53f7;</rename>  
833 - <update>Y</update>  
834 - </value>  
835 - <value>  
836 - <name>papers_code</name>  
837 - <rename>&#x8fd0;&#x8425;&#x670d;&#x52a1;&#x8bc1;&#x53f7;</rename>  
838 - <update>Y</update>  
839 - </value>  
840 - <value>  
841 - <name>job_code</name>  
842 - <rename>gh_calcu</rename>  
843 - <update>Y</update>  
844 - </value>  
845 - <value>  
846 - <name>job_codeori</name>  
847 - <rename>&#x5de5;&#x53f7;</rename>  
848 - <update>Y</update>  
849 - </value>  
850 - <value>  
851 - <name>personnel_name</name>  
852 - <rename>&#x59d3;&#x540d;</rename>  
853 - <update>Y</update>  
854 - </value>  
855 - <value>  
856 - <name>personnel_type</name>  
857 - <rename>sex</rename>  
858 - <update>Y</update>  
859 - </value>  
860 - <value>  
861 - <name>posts</name>  
862 - <rename>posts</rename>  
863 - <update>Y</update>  
864 - </value>  
865 - <value>  
866 - <name>remark</name>  
867 - <rename>&#x5907;&#x6ce8;</rename>  
868 - <update>Y</update>  
869 - </value>  
870 - </lookup>  
871 - <cluster_schema/>  
872 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
873 - <xloc>240</xloc>  
874 - <yloc>297</yloc>  
875 - <draw>Y</draw>  
876 - </GUI>  
877 - </step>  
878 -  
879 - <step>  
880 - <name>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</name>  
881 - <type>ScriptValueMod</type>  
882 - <description/>  
883 - <distribute>Y</distribute>  
884 - <custom_distribution/>  
885 - <copies>1</copies>  
886 - <partitioning>  
887 - <method>none</method>  
888 - <schema_name/>  
889 - </partitioning>  
890 - <compatible>N</compatible>  
891 - <optimizationLevel>9</optimizationLevel>  
892 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
893 - <jsScript_name>Script 1</jsScript_name>  
894 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var up_code &#x3d; &#x27;88&#x27;&#x3b;&#xa;var sexType &#x3d; &#x27;sexType&#x27;&#x3b;&#xa;var gzType &#x3d; &#x27;gzType&#x27;&#x3b;</jsScript_script>  
895 - </jsScript> </jsScripts> <fields> <field> <name>up_code</name>  
896 - <rename>up_code</rename>  
897 - <type>String</type>  
898 - <length>-1</length>  
899 - <precision>-1</precision>  
900 - <replace>N</replace>  
901 - </field> <field> <name>sexType</name>  
902 - <rename>sexType</rename>  
903 - <type>String</type>  
904 - <length>-1</length>  
905 - <precision>-1</precision>  
906 - <replace>N</replace>  
907 - </field> <field> <name>gzType</name>  
908 - <rename>gzType</rename>  
909 - <type>String</type>  
910 - <length>-1</length>  
911 - <precision>-1</precision>  
912 - <replace>N</replace>  
913 - </field> </fields> <cluster_schema/>  
914 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
915 - <xloc>414</xloc>  
916 - <yloc>85</yloc>  
917 - <draw>Y</draw>  
918 - </GUI>  
919 - </step>  
920 -  
921 - <step>  
922 - <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>  
923 - <type>GetVariable</type>  
924 - <description/>  
925 - <distribute>Y</distribute>  
926 - <custom_distribution/>  
927 - <copies>1</copies>  
928 - <partitioning>  
929 - <method>none</method>  
930 - <schema_name/>  
931 - </partitioning>  
932 - <fields>  
933 - <field>  
934 - <name>filepath_</name>  
935 - <variable>&#x24;&#x7b;filepath&#x7d;</variable>  
936 - <type>String</type>  
937 - <format/>  
938 - <currency/>  
939 - <decimal/>  
940 - <group/>  
941 - <length>-1</length>  
942 - <precision>-1</precision>  
943 - <trim_type>none</trim_type>  
944 - </field>  
945 - <field>  
946 - <name>erroroutputdir_</name>  
947 - <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>  
948 - <type>String</type>  
949 - <format/>  
950 - <currency/>  
951 - <decimal/>  
952 - <group/>  
953 - <length>-1</length>  
954 - <precision>-1</precision>  
955 - <trim_type>none</trim_type>  
956 - </field>  
957 - </fields>  
958 - <cluster_schema/>  
959 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
960 - <xloc>70</xloc>  
961 - <yloc>85</yloc>  
962 - <draw>Y</draw>  
963 - </GUI>  
964 - </step>  
965 -  
966 - <step>  
967 - <name>&#x9519;&#x8bef;&#x8f93;&#x51fa;</name>  
968 - <type>ExcelOutput</type>  
969 - <description/>  
970 - <distribute>Y</distribute>  
971 - <custom_distribution/>  
972 - <copies>1</copies>  
973 - <partitioning>  
974 - <method>none</method>  
975 - <schema_name/>  
976 - </partitioning>  
977 - <header>Y</header>  
978 - <footer>N</footer>  
979 - <encoding>UTF-8</encoding>  
980 - <append>N</append>  
981 - <add_to_result_filenames>Y</add_to_result_filenames>  
982 - <file>  
983 - <name>&#x24;&#x7b;erroroutputdir&#x7d;&#x2f;&#x4eba;&#x5458;&#x57fa;&#x7840;&#x4fe1;&#x606f;_&#x9519;&#x8bef;</name>  
984 - <extention>xls</extention>  
985 - <do_not_open_newfile_init>N</do_not_open_newfile_init>  
986 - <create_parent_folder>N</create_parent_folder>  
987 - <split>N</split>  
988 - <add_date>N</add_date>  
989 - <add_time>N</add_time>  
990 - <SpecifyFormat>N</SpecifyFormat>  
991 - <date_time_format/>  
992 - <sheetname>Sheet1</sheetname>  
993 - <autosizecolums>N</autosizecolums>  
994 - <nullisblank>N</nullisblank>  
995 - <protect_sheet>N</protect_sheet>  
996 - <password>Encrypted </password>  
997 - <splitevery>0</splitevery>  
998 - <usetempfiles>N</usetempfiles>  
999 - <tempdirectory/>  
1000 - </file>  
1001 - <template>  
1002 - <enabled>N</enabled>  
1003 - <append>N</append>  
1004 - <filename>template.xls</filename>  
1005 - </template>  
1006 - <fields>  
1007 - <field>  
1008 - <name>&#x59d3;&#x540d;</name>  
1009 - <type>String</type>  
1010 - <format/>  
1011 - </field>  
1012 - <field>  
1013 - <name>&#x5de5;&#x53f7;</name>  
1014 - <type>String</type>  
1015 - <format/>  
1016 - </field>  
1017 - <field>  
1018 - <name>&#x6240;&#x5c5e;&#x516c;&#x53f8;</name>  
1019 - <type>String</type>  
1020 - <format/>  
1021 - </field>  
1022 - <field>  
1023 - <name>gs_code</name>  
1024 - <type>String</type>  
1025 - <format/>  
1026 - </field>  
1027 - <field>  
1028 - <name>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</name>  
1029 - <type>String</type>  
1030 - <format/>  
1031 - </field>  
1032 - <field>  
1033 - <name>fgs_code</name>  
1034 - <type>String</type>  
1035 - <format/>  
1036 - </field>  
1037 - <field>  
1038 - <name>gh_calcu</name>  
1039 - <type>String</type>  
1040 - <format/>  
1041 - </field>  
1042 - <field>  
1043 - <name>error_count</name>  
1044 - <type>Integer</type>  
1045 - <format/>  
1046 - </field>  
1047 - <field>  
1048 - <name>error_desc</name>  
1049 - <type>String</type>  
1050 - <format/>  
1051 - </field>  
1052 - <field>  
1053 - <name>error_column1</name>  
1054 - <type>String</type>  
1055 - <format/>  
1056 - </field>  
1057 - <field>  
1058 - <name>error_column2</name>  
1059 - <type>String</type>  
1060 - <format/>  
1061 - </field>  
1062 - </fields>  
1063 - <custom>  
1064 - <header_font_name>arial</header_font_name>  
1065 - <header_font_size>10</header_font_size>  
1066 - <header_font_bold>N</header_font_bold>  
1067 - <header_font_italic>N</header_font_italic>  
1068 - <header_font_underline>no</header_font_underline>  
1069 - <header_font_orientation>horizontal</header_font_orientation>  
1070 - <header_font_color>black</header_font_color>  
1071 - <header_background_color>none</header_background_color>  
1072 - <header_row_height>255</header_row_height>  
1073 - <header_alignment>left</header_alignment>  
1074 - <header_image/>  
1075 - <row_font_name>arial</row_font_name>  
1076 - <row_font_size>10</row_font_size>  
1077 - <row_font_color>black</row_font_color>  
1078 - <row_background_color>none</row_background_color>  
1079 - </custom>  
1080 - <cluster_schema/>  
1081 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1082 - <xloc>240</xloc>  
1083 - <yloc>442</yloc>  
1084 - <draw>Y</draw>  
1085 - </GUI>  
1086 - </step>  
1087 -  
1088 - <step_error_handling>  
1089 - <error>  
1090 - <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_personnel</source_step>  
1091 - <target_step>&#x9519;&#x8bef;&#x8f93;&#x51fa;</target_step>  
1092 - <is_enabled>Y</is_enabled>  
1093 - <nr_valuename>error_count</nr_valuename>  
1094 - <descriptions_valuename>error_desc</descriptions_valuename>  
1095 - <fields_valuename>error_column1</fields_valuename>  
1096 - <codes_valuename>error_column2</codes_valuename>  
1097 - <max_errors/>  
1098 - <max_pct_errors/>  
1099 - <min_pct_rows/>  
1100 - </error>  
1101 - </step_error_handling>  
1102 - <slave-step-copy-partition-distribution>  
1103 -</slave-step-copy-partition-distribution>  
1104 - <slave_transformation>N</slave_transformation>  
1105 -  
1106 -</transformation> 1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>&#x4eba;&#x5458;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</name>
  5 + <description>&#x4eba;&#x5458;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>
  6 + <extended_description>&#x4eba;&#x5458;&#x57fa;&#x7840;&#x4fe1;&#x606f;</extended_description>
  7 + <trans_version/>
  8 + <trans_type>Normal</trans_type>
  9 + <trans_status>0</trans_status>
  10 + <directory>&#x2f;</directory>
  11 + <parameters>
  12 + <parameter>
  13 + <name>erroroutputdir</name>
  14 + <default_value/>
  15 + <description>ktr step&#x914d;&#x7f6e;&#x7684;&#x9519;&#x8bef;&#x8f93;&#x51fa;&#x76ee;&#x5f55;</description>
  16 + </parameter>
  17 + <parameter>
  18 + <name>filepath</name>
  19 + <default_value/>
  20 + <description>&#x5f85;&#x5904;&#x7406;&#x5bfc;&#x5165;&#x7684;excel&#x6587;&#x4ef6;</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&#x2f;06&#x2f;29 10&#x3a;18&#x3a;56.974</created_date>
  81 + <modified_user>-</modified_user>
  82 + <modified_date>2016&#x2f;06&#x2f;29 10&#x3a;18&#x3a;56.974</modified_date>
  83 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</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>&#x24;&#x7b;v_db_ip&#x7d;</server>
  115 + <type>MYSQL</type>
  116 + <access>Native</access>
  117 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  118 + <port>3306</port>
  119 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  120 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</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_&#x516c;&#x53f8;_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_&#x672c;&#x673a;</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&#xff08;&#x672c;&#x673a;&#xff09;</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>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_personnel</from><to>&#x9519;&#x8bef;&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
  275 + <hop> <from>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</from><to>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</to><enabled>Y</enabled> </hop>
  276 + <hop> <from>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</from><to>&#x516c;&#x53f8;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  277 + <hop> <from>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</from><to>&#x5de5;&#x53f7;&#x4e0d;&#x4e3a;&#x7a7a;</to><enabled>Y</enabled> </hop>
  278 + <hop> <from>&#x5de5;&#x53f7;&#x4e0d;&#x4e3a;&#x7a7a;</from><to>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</to><enabled>Y</enabled> </hop>
  279 + <hop> <from>&#x516c;&#x53f8;&#x67e5;&#x8be2;</from><to>&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</to><enabled>Y</enabled> </hop>
  280 + <hop> <from>&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</from><to>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  281 + <hop> <from>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</from><to>&#x5206;&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</to><enabled>Y</enabled> </hop>
  282 + <hop> <from>&#x5206;&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</from><to>&#x5904;&#x7406;&#x5de5;&#x53f7;&#x524d;&#x7f00;</to><enabled>Y</enabled> </hop>
  283 + <hop> <from>&#x5904;&#x7406;&#x5de5;&#x53f7;&#x524d;&#x7f00;</from><to>&#x5c97;&#x4f4d;&#x6570;&#x636e;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  284 + <hop> <from>&#x5c97;&#x4f4d;&#x6570;&#x636e;&#x67e5;&#x8be2;</from><to>&#x6027;&#x522b;&#x6570;&#x636e;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  285 + <hop> <from>&#x6027;&#x522b;&#x6570;&#x636e;&#x67e5;&#x8be2;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_personnel</to><enabled>Y</enabled> </hop>
  286 + </order>
  287 + <step>
  288 + <name>&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</name>
  289 + <type>FilterRows</type>
  290 + <description/>
  291 + <distribute>Y</distribute>
  292 + <custom_distribution/>
  293 + <copies>1</copies>
  294 + <partitioning>
  295 + <method>none</method>
  296 + <schema_name/>
  297 + </partitioning>
  298 +<send_true_to/>
  299 +<send_false_to/>
  300 + <compare>
  301 +<condition>
  302 + <negated>N</negated>
  303 + <conditions>
  304 + <condition>
  305 + <negated>N</negated>
  306 + <leftvalue>gs_code</leftvalue>
  307 + <function>IS NOT NULL</function>
  308 + <rightvalue/>
  309 + </condition>
  310 + </conditions>
  311 + </condition>
  312 + </compare>
  313 + <cluster_schema/>
  314 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  315 + <xloc>583</xloc>
  316 + <yloc>175</yloc>
  317 + <draw>Y</draw>
  318 + </GUI>
  319 + </step>
  320 +
  321 + <step>
  322 + <name>&#x516c;&#x53f8;&#x67e5;&#x8be2;</name>
  323 + <type>DBLookup</type>
  324 + <description/>
  325 + <distribute>Y</distribute>
  326 + <custom_distribution/>
  327 + <copies>1</copies>
  328 + <partitioning>
  329 + <method>none</method>
  330 + <schema_name/>
  331 + </partitioning>
  332 + <connection>bus_control_variable</connection>
  333 + <cache>N</cache>
  334 + <cache_load_all>N</cache_load_all>
  335 + <cache_size>0</cache_size>
  336 + <lookup>
  337 + <schema/>
  338 + <table>bsth_c_business</table>
  339 + <orderby/>
  340 + <fail_on_multiple>N</fail_on_multiple>
  341 + <eat_row_on_failure>N</eat_row_on_failure>
  342 + <key>
  343 + <name>up_code</name>
  344 + <field>up_code</field>
  345 + <condition>&#x3d;</condition>
  346 + <name2/>
  347 + </key>
  348 + <key>
  349 + <name>&#x6240;&#x5c5e;&#x516c;&#x53f8;</name>
  350 + <field>business_name</field>
  351 + <condition>&#x3d;</condition>
  352 + <name2/>
  353 + </key>
  354 + <value>
  355 + <name>business_code</name>
  356 + <rename>gs_code</rename>
  357 + <default/>
  358 + <type>String</type>
  359 + </value>
  360 + </lookup>
  361 + <cluster_schema/>
  362 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  363 + <xloc>583</xloc>
  364 + <yloc>83</yloc>
  365 + <draw>Y</draw>
  366 + </GUI>
  367 + </step>
  368 +
  369 + <step>
  370 + <name>&#x5206;&#x516c;&#x53f8;&#x4ee3;&#x7801;&#x4e0d;&#x4e3a;&#x7a7a;</name>
  371 + <type>FilterRows</type>
  372 + <description/>
  373 + <distribute>Y</distribute>
  374 + <custom_distribution/>
  375 + <copies>1</copies>
  376 + <partitioning>
  377 + <method>none</method>
  378 + <schema_name/>
  379 + </partitioning>
  380 +<send_true_to/>
  381 +<send_false_to/>
  382 + <compare>
  383 +<condition>
  384 + <negated>N</negated>
  385 + <conditions>
  386 + <condition>
  387 + <negated>N</negated>
  388 + <leftvalue>fgs_code</leftvalue>
  389 + <function>IS NOT NULL</function>
  390 + <rightvalue/>
  391 + </condition>
  392 + </conditions>
  393 + </condition>
  394 + </compare>
  395 + <cluster_schema/>
  396 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  397 + <xloc>756</xloc>
  398 + <yloc>178</yloc>
  399 + <draw>Y</draw>
  400 + </GUI>
  401 + </step>
  402 +
  403 + <step>
  404 + <name>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</name>
  405 + <type>DBLookup</type>
  406 + <description/>
  407 + <distribute>Y</distribute>
  408 + <custom_distribution/>
  409 + <copies>1</copies>
  410 + <partitioning>
  411 + <method>none</method>
  412 + <schema_name/>
  413 + </partitioning>
  414 + <connection>bus_control_variable</connection>
  415 + <cache>N</cache>
  416 + <cache_load_all>N</cache_load_all>
  417 + <cache_size>0</cache_size>
  418 + <lookup>
  419 + <schema/>
  420 + <table>bsth_c_business</table>
  421 + <orderby/>
  422 + <fail_on_multiple>N</fail_on_multiple>
  423 + <eat_row_on_failure>N</eat_row_on_failure>
  424 + <key>
  425 + <name>gs_code</name>
  426 + <field>up_code</field>
  427 + <condition>&#x3d;</condition>
  428 + <name2/>
  429 + </key>
  430 + <key>
  431 + <name>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</name>
  432 + <field>business_name</field>
  433 + <condition>&#x3d;</condition>
  434 + <name2/>
  435 + </key>
  436 + <value>
  437 + <name>business_code</name>
  438 + <rename>fgs_code</rename>
  439 + <default/>
  440 + <type>String</type>
  441 + </value>
  442 + </lookup>
  443 + <cluster_schema/>
  444 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  445 + <xloc>756</xloc>
  446 + <yloc>83</yloc>
  447 + <draw>Y</draw>
  448 + </GUI>
  449 + </step>
  450 +
  451 + <step>
  452 + <name>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</name>
  453 + <type>ExcelInput</type>
  454 + <description/>
  455 + <distribute>Y</distribute>
  456 + <custom_distribution/>
  457 + <copies>1</copies>
  458 + <partitioning>
  459 + <method>none</method>
  460 + <schema_name/>
  461 + </partitioning>
  462 + <header>Y</header>
  463 + <noempty>Y</noempty>
  464 + <stoponempty>N</stoponempty>
  465 + <filefield/>
  466 + <sheetfield/>
  467 + <sheetrownumfield/>
  468 + <rownumfield/>
  469 + <sheetfield/>
  470 + <filefield/>
  471 + <limit>0</limit>
  472 + <encoding/>
  473 + <add_to_result_filenames>Y</add_to_result_filenames>
  474 + <accept_filenames>Y</accept_filenames>
  475 + <accept_field>filepath_</accept_field>
  476 + <accept_stepname>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</accept_stepname>
  477 + <file>
  478 + <name/>
  479 + <filemask/>
  480 + <exclude_filemask/>
  481 + <file_required>N</file_required>
  482 + <include_subfolders>N</include_subfolders>
  483 + </file>
  484 + <fields>
  485 + <field>
  486 + <name>&#x59d3;&#x540d;</name>
  487 + <type>String</type>
  488 + <length>-1</length>
  489 + <precision>-1</precision>
  490 + <trim_type>none</trim_type>
  491 + <repeat>N</repeat>
  492 + <format/>
  493 + <currency/>
  494 + <decimal/>
  495 + <group/>
  496 + </field>
  497 + <field>
  498 + <name>&#x5de5;&#x53f7;</name>
  499 + <type>String</type>
  500 + <length>-1</length>
  501 + <precision>-1</precision>
  502 + <trim_type>none</trim_type>
  503 + <repeat>N</repeat>
  504 + <format>&#x23;</format>
  505 + <currency/>
  506 + <decimal/>
  507 + <group/>
  508 + </field>
  509 + <field>
  510 + <name>&#x6027;&#x522b;</name>
  511 + <type>String</type>
  512 + <length>-1</length>
  513 + <precision>-1</precision>
  514 + <trim_type>none</trim_type>
  515 + <repeat>N</repeat>
  516 + <format/>
  517 + <currency/>
  518 + <decimal/>
  519 + <group/>
  520 + </field>
  521 + <field>
  522 + <name>&#x6240;&#x5c5e;&#x516c;&#x53f8;</name>
  523 + <type>String</type>
  524 + <length>-1</length>
  525 + <precision>-1</precision>
  526 + <trim_type>none</trim_type>
  527 + <repeat>N</repeat>
  528 + <format/>
  529 + <currency/>
  530 + <decimal/>
  531 + <group/>
  532 + </field>
  533 + <field>
  534 + <name>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</name>
  535 + <type>String</type>
  536 + <length>-1</length>
  537 + <precision>-1</precision>
  538 + <trim_type>none</trim_type>
  539 + <repeat>N</repeat>
  540 + <format/>
  541 + <currency/>
  542 + <decimal/>
  543 + <group/>
  544 + </field>
  545 + <field>
  546 + <name>&#x4e00;&#x5361;&#x901a;&#x53f7;</name>
  547 + <type>String</type>
  548 + <length>-1</length>
  549 + <precision>-1</precision>
  550 + <trim_type>none</trim_type>
  551 + <repeat>N</repeat>
  552 + <format>&#x23;</format>
  553 + <currency/>
  554 + <decimal/>
  555 + <group/>
  556 + </field>
  557 + <field>
  558 + <name>&#x8fd0;&#x8425;&#x670d;&#x52a1;&#x8bc1;&#x53f7;</name>
  559 + <type>String</type>
  560 + <length>-1</length>
  561 + <precision>-1</precision>
  562 + <trim_type>none</trim_type>
  563 + <repeat>N</repeat>
  564 + <format>&#x23;</format>
  565 + <currency/>
  566 + <decimal/>
  567 + <group/>
  568 + </field>
  569 + <field>
  570 + <name>&#x5c97;&#x4f4d;</name>
  571 + <type>String</type>
  572 + <length>-1</length>
  573 + <precision>-1</precision>
  574 + <trim_type>none</trim_type>
  575 + <repeat>N</repeat>
  576 + <format/>
  577 + <currency/>
  578 + <decimal/>
  579 + <group/>
  580 + </field>
  581 + <field>
  582 + <name>&#x5907;&#x6ce8;</name>
  583 + <type>String</type>
  584 + <length>-1</length>
  585 + <precision>-1</precision>
  586 + <trim_type>none</trim_type>
  587 + <repeat>N</repeat>
  588 + <format/>
  589 + <currency/>
  590 + <decimal/>
  591 + <group/>
  592 + </field>
  593 + </fields>
  594 + <sheets>
  595 + <sheet>
  596 + <name>&#x5de5;&#x4f5c;&#x8868;1</name>
  597 + <startrow>0</startrow>
  598 + <startcol>0</startcol>
  599 + </sheet>
  600 + </sheets>
  601 + <strict_types>N</strict_types>
  602 + <error_ignored>N</error_ignored>
  603 + <error_line_skipped>N</error_line_skipped>
  604 + <bad_line_files_destination_directory/>
  605 + <bad_line_files_extension>warning</bad_line_files_extension>
  606 + <error_line_files_destination_directory/>
  607 + <error_line_files_extension>error</error_line_files_extension>
  608 + <line_number_files_destination_directory/>
  609 + <line_number_files_extension>line</line_number_files_extension>
  610 + <shortFileFieldName/>
  611 + <pathFieldName/>
  612 + <hiddenFieldName/>
  613 + <lastModificationTimeFieldName/>
  614 + <uriNameFieldName/>
  615 + <rootUriNameFieldName/>
  616 + <extensionFieldName/>
  617 + <sizeFieldName/>
  618 + <spreadsheet_type>JXL</spreadsheet_type>
  619 + <cluster_schema/>
  620 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  621 + <xloc>236</xloc>
  622 + <yloc>83</yloc>
  623 + <draw>Y</draw>
  624 + </GUI>
  625 + </step>
  626 +
  627 + <step>
  628 + <name>&#x5904;&#x7406;&#x5de5;&#x53f7;&#x524d;&#x7f00;</name>
  629 + <type>ScriptValueMod</type>
  630 + <description/>
  631 + <distribute>Y</distribute>
  632 + <custom_distribution/>
  633 + <copies>1</copies>
  634 + <partitioning>
  635 + <method>none</method>
  636 + <schema_name/>
  637 + </partitioning>
  638 + <compatible>N</compatible>
  639 + <optimizationLevel>9</optimizationLevel>
  640 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  641 + <jsScript_name>Script 1</jsScript_name>
  642 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var gh_calcu &#x3d; &#x5de5;&#x53f7;&#x3b;&#xa;&#xa;if &#x28;&#x5de5;&#x53f7;.indexOf&#x28;gs_code &#x2b; &#x22;-&#x22;&#x29; &#x3c; 0&#x29; &#x7b;&#xa; gh_calcu &#x3d; gs_code &#x2b; &#x22;-&#x22; &#x2b; &#x5de5;&#x53f7;&#x3b;&#xa;&#x7d; </jsScript_script>
  643 + </jsScript> </jsScripts> <fields> <field> <name>gh_calcu</name>
  644 + <rename>gh_calcu</rename>
  645 + <type>String</type>
  646 + <length>-1</length>
  647 + <precision>-1</precision>
  648 + <replace>N</replace>
  649 + </field> </fields> <cluster_schema/>
  650 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  651 + <xloc>758</xloc>
  652 + <yloc>297</yloc>
  653 + <draw>Y</draw>
  654 + </GUI>
  655 + </step>
  656 +
  657 + <step>
  658 + <name>&#x5c97;&#x4f4d;&#x6570;&#x636e;&#x67e5;&#x8be2;</name>
  659 + <type>DBLookup</type>
  660 + <description/>
  661 + <distribute>Y</distribute>
  662 + <custom_distribution/>
  663 + <copies>1</copies>
  664 + <partitioning>
  665 + <method>none</method>
  666 + <schema_name/>
  667 + </partitioning>
  668 + <connection>bus_control_variable</connection>
  669 + <cache>N</cache>
  670 + <cache_load_all>N</cache_load_all>
  671 + <cache_size>0</cache_size>
  672 + <lookup>
  673 + <schema/>
  674 + <table>bsth_c_sys_dictionary</table>
  675 + <orderby/>
  676 + <fail_on_multiple>N</fail_on_multiple>
  677 + <eat_row_on_failure>N</eat_row_on_failure>
  678 + <key>
  679 + <name>gzType</name>
  680 + <field>d_group</field>
  681 + <condition>&#x3d;</condition>
  682 + <name2/>
  683 + </key>
  684 + <key>
  685 + <name>&#x5c97;&#x4f4d;</name>
  686 + <field>d_name</field>
  687 + <condition>&#x3d;</condition>
  688 + <name2/>
  689 + </key>
  690 + <value>
  691 + <name>d_code</name>
  692 + <rename>posts</rename>
  693 + <default/>
  694 + <type>String</type>
  695 + </value>
  696 + </lookup>
  697 + <cluster_schema/>
  698 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  699 + <xloc>588</xloc>
  700 + <yloc>296</yloc>
  701 + <draw>Y</draw>
  702 + </GUI>
  703 + </step>
  704 +
  705 + <step>
  706 + <name>&#x5de5;&#x53f7;&#x4e0d;&#x4e3a;&#x7a7a;</name>
  707 + <type>FilterRows</type>
  708 + <description/>
  709 + <distribute>Y</distribute>
  710 + <custom_distribution/>
  711 + <copies>1</copies>
  712 + <partitioning>
  713 + <method>none</method>
  714 + <schema_name/>
  715 + </partitioning>
  716 +<send_true_to/>
  717 +<send_false_to/>
  718 + <compare>
  719 +<condition>
  720 + <negated>N</negated>
  721 + <conditions>
  722 + <condition>
  723 + <negated>N</negated>
  724 + <leftvalue>&#x5de5;&#x53f7;</leftvalue>
  725 + <function>IS NOT NULL</function>
  726 + <rightvalue/>
  727 + </condition>
  728 + </conditions>
  729 + </condition>
  730 + </compare>
  731 + <cluster_schema/>
  732 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  733 + <xloc>238</xloc>
  734 + <yloc>178</yloc>
  735 + <draw>Y</draw>
  736 + </GUI>
  737 + </step>
  738 +
  739 + <step>
  740 + <name>&#x6027;&#x522b;&#x6570;&#x636e;&#x67e5;&#x8be2;</name>
  741 + <type>DBLookup</type>
  742 + <description/>
  743 + <distribute>Y</distribute>
  744 + <custom_distribution/>
  745 + <copies>1</copies>
  746 + <partitioning>
  747 + <method>none</method>
  748 + <schema_name/>
  749 + </partitioning>
  750 + <connection>bus_control_variable</connection>
  751 + <cache>N</cache>
  752 + <cache_load_all>N</cache_load_all>
  753 + <cache_size>0</cache_size>
  754 + <lookup>
  755 + <schema/>
  756 + <table>bsth_c_sys_dictionary</table>
  757 + <orderby/>
  758 + <fail_on_multiple>N</fail_on_multiple>
  759 + <eat_row_on_failure>N</eat_row_on_failure>
  760 + <key>
  761 + <name>sexType</name>
  762 + <field>d_group</field>
  763 + <condition>&#x3d;</condition>
  764 + <name2/>
  765 + </key>
  766 + <key>
  767 + <name>&#x6027;&#x522b;</name>
  768 + <field>d_name</field>
  769 + <condition>&#x3d;</condition>
  770 + <name2/>
  771 + </key>
  772 + <value>
  773 + <name>d_code</name>
  774 + <rename>sex</rename>
  775 + <default/>
  776 + <type>String</type>
  777 + </value>
  778 + </lookup>
  779 + <cluster_schema/>
  780 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  781 + <xloc>456</xloc>
  782 + <yloc>299</yloc>
  783 + <draw>Y</draw>
  784 + </GUI>
  785 + </step>
  786 +
  787 + <step>
  788 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_personnel</name>
  789 + <type>InsertUpdate</type>
  790 + <description/>
  791 + <distribute>Y</distribute>
  792 + <custom_distribution/>
  793 + <copies>1</copies>
  794 + <partitioning>
  795 + <method>none</method>
  796 + <schema_name/>
  797 + </partitioning>
  798 + <connection>bus_control_variable</connection>
  799 + <commit>500</commit>
  800 + <update_bypassed>N</update_bypassed>
  801 + <lookup>
  802 + <schema/>
  803 + <table>bsth_c_personnel</table>
  804 + <key>
  805 + <name>gh_calcu</name>
  806 + <field>job_code</field>
  807 + <condition>&#x3d;</condition>
  808 + <name2/>
  809 + </key>
  810 + <value>
  811 + <name>company</name>
  812 + <rename>&#x6240;&#x5c5e;&#x516c;&#x53f8;</rename>
  813 + <update>Y</update>
  814 + </value>
  815 + <value>
  816 + <name>company_code</name>
  817 + <rename>gs_code</rename>
  818 + <update>Y</update>
  819 + </value>
  820 + <value>
  821 + <name>branche_company</name>
  822 + <rename>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</rename>
  823 + <update>Y</update>
  824 + </value>
  825 + <value>
  826 + <name>branche_company_code</name>
  827 + <rename>fgs_code</rename>
  828 + <update>Y</update>
  829 + </value>
  830 + <value>
  831 + <name>ic_card_code</name>
  832 + <rename>&#x4e00;&#x5361;&#x901a;&#x53f7;</rename>
  833 + <update>Y</update>
  834 + </value>
  835 + <value>
  836 + <name>papers_code</name>
  837 + <rename>&#x8fd0;&#x8425;&#x670d;&#x52a1;&#x8bc1;&#x53f7;</rename>
  838 + <update>Y</update>
  839 + </value>
  840 + <value>
  841 + <name>job_code</name>
  842 + <rename>gh_calcu</rename>
  843 + <update>Y</update>
  844 + </value>
  845 + <value>
  846 + <name>job_codeori</name>
  847 + <rename>&#x5de5;&#x53f7;</rename>
  848 + <update>Y</update>
  849 + </value>
  850 + <value>
  851 + <name>personnel_name</name>
  852 + <rename>&#x59d3;&#x540d;</rename>
  853 + <update>Y</update>
  854 + </value>
  855 + <value>
  856 + <name>personnel_type</name>
  857 + <rename>sex</rename>
  858 + <update>Y</update>
  859 + </value>
  860 + <value>
  861 + <name>posts</name>
  862 + <rename>posts</rename>
  863 + <update>Y</update>
  864 + </value>
  865 + <value>
  866 + <name>remark</name>
  867 + <rename>&#x5907;&#x6ce8;</rename>
  868 + <update>Y</update>
  869 + </value>
  870 + </lookup>
  871 + <cluster_schema/>
  872 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  873 + <xloc>240</xloc>
  874 + <yloc>297</yloc>
  875 + <draw>Y</draw>
  876 + </GUI>
  877 + </step>
  878 +
  879 + <step>
  880 + <name>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</name>
  881 + <type>ScriptValueMod</type>
  882 + <description/>
  883 + <distribute>Y</distribute>
  884 + <custom_distribution/>
  885 + <copies>1</copies>
  886 + <partitioning>
  887 + <method>none</method>
  888 + <schema_name/>
  889 + </partitioning>
  890 + <compatible>N</compatible>
  891 + <optimizationLevel>9</optimizationLevel>
  892 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  893 + <jsScript_name>Script 1</jsScript_name>
  894 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var up_code &#x3d; &#x27;88&#x27;&#x3b;&#xa;var sexType &#x3d; &#x27;sexType&#x27;&#x3b;&#xa;var gzType &#x3d; &#x27;gzType&#x27;&#x3b;</jsScript_script>
  895 + </jsScript> </jsScripts> <fields> <field> <name>up_code</name>
  896 + <rename>up_code</rename>
  897 + <type>String</type>
  898 + <length>-1</length>
  899 + <precision>-1</precision>
  900 + <replace>N</replace>
  901 + </field> <field> <name>sexType</name>
  902 + <rename>sexType</rename>
  903 + <type>String</type>
  904 + <length>-1</length>
  905 + <precision>-1</precision>
  906 + <replace>N</replace>
  907 + </field> <field> <name>gzType</name>
  908 + <rename>gzType</rename>
  909 + <type>String</type>
  910 + <length>-1</length>
  911 + <precision>-1</precision>
  912 + <replace>N</replace>
  913 + </field> </fields> <cluster_schema/>
  914 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  915 + <xloc>414</xloc>
  916 + <yloc>85</yloc>
  917 + <draw>Y</draw>
  918 + </GUI>
  919 + </step>
  920 +
  921 + <step>
  922 + <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>
  923 + <type>GetVariable</type>
  924 + <description/>
  925 + <distribute>Y</distribute>
  926 + <custom_distribution/>
  927 + <copies>1</copies>
  928 + <partitioning>
  929 + <method>none</method>
  930 + <schema_name/>
  931 + </partitioning>
  932 + <fields>
  933 + <field>
  934 + <name>filepath_</name>
  935 + <variable>&#x24;&#x7b;filepath&#x7d;</variable>
  936 + <type>String</type>
  937 + <format/>
  938 + <currency/>
  939 + <decimal/>
  940 + <group/>
  941 + <length>-1</length>
  942 + <precision>-1</precision>
  943 + <trim_type>none</trim_type>
  944 + </field>
  945 + <field>
  946 + <name>erroroutputdir_</name>
  947 + <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
  948 + <type>String</type>
  949 + <format/>
  950 + <currency/>
  951 + <decimal/>
  952 + <group/>
  953 + <length>-1</length>
  954 + <precision>-1</precision>
  955 + <trim_type>none</trim_type>
  956 + </field>
  957 + </fields>
  958 + <cluster_schema/>
  959 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  960 + <xloc>70</xloc>
  961 + <yloc>85</yloc>
  962 + <draw>Y</draw>
  963 + </GUI>
  964 + </step>
  965 +
  966 + <step>
  967 + <name>&#x9519;&#x8bef;&#x8f93;&#x51fa;</name>
  968 + <type>ExcelOutput</type>
  969 + <description/>
  970 + <distribute>Y</distribute>
  971 + <custom_distribution/>
  972 + <copies>1</copies>
  973 + <partitioning>
  974 + <method>none</method>
  975 + <schema_name/>
  976 + </partitioning>
  977 + <header>Y</header>
  978 + <footer>N</footer>
  979 + <encoding>UTF-8</encoding>
  980 + <append>N</append>
  981 + <add_to_result_filenames>Y</add_to_result_filenames>
  982 + <file>
  983 + <name>&#x24;&#x7b;erroroutputdir&#x7d;&#x2f;&#x4eba;&#x5458;&#x57fa;&#x7840;&#x4fe1;&#x606f;_&#x9519;&#x8bef;</name>
  984 + <extention>xls</extention>
  985 + <do_not_open_newfile_init>N</do_not_open_newfile_init>
  986 + <create_parent_folder>N</create_parent_folder>
  987 + <split>N</split>
  988 + <add_date>N</add_date>
  989 + <add_time>N</add_time>
  990 + <SpecifyFormat>N</SpecifyFormat>
  991 + <date_time_format/>
  992 + <sheetname>Sheet1</sheetname>
  993 + <autosizecolums>N</autosizecolums>
  994 + <nullisblank>N</nullisblank>
  995 + <protect_sheet>N</protect_sheet>
  996 + <password>Encrypted </password>
  997 + <splitevery>0</splitevery>
  998 + <usetempfiles>N</usetempfiles>
  999 + <tempdirectory/>
  1000 + </file>
  1001 + <template>
  1002 + <enabled>N</enabled>
  1003 + <append>N</append>
  1004 + <filename>template.xls</filename>
  1005 + </template>
  1006 + <fields>
  1007 + <field>
  1008 + <name>&#x59d3;&#x540d;</name>
  1009 + <type>String</type>
  1010 + <format/>
  1011 + </field>
  1012 + <field>
  1013 + <name>&#x5de5;&#x53f7;</name>
  1014 + <type>String</type>
  1015 + <format/>
  1016 + </field>
  1017 + <field>
  1018 + <name>&#x6240;&#x5c5e;&#x516c;&#x53f8;</name>
  1019 + <type>String</type>
  1020 + <format/>
  1021 + </field>
  1022 + <field>
  1023 + <name>gs_code</name>
  1024 + <type>String</type>
  1025 + <format/>
  1026 + </field>
  1027 + <field>
  1028 + <name>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</name>
  1029 + <type>String</type>
  1030 + <format/>
  1031 + </field>
  1032 + <field>
  1033 + <name>fgs_code</name>
  1034 + <type>String</type>
  1035 + <format/>
  1036 + </field>
  1037 + <field>
  1038 + <name>gh_calcu</name>
  1039 + <type>String</type>
  1040 + <format/>
  1041 + </field>
  1042 + <field>
  1043 + <name>error_count</name>
  1044 + <type>Integer</type>
  1045 + <format/>
  1046 + </field>
  1047 + <field>
  1048 + <name>error_desc</name>
  1049 + <type>String</type>
  1050 + <format/>
  1051 + </field>
  1052 + <field>
  1053 + <name>error_column1</name>
  1054 + <type>String</type>
  1055 + <format/>
  1056 + </field>
  1057 + <field>
  1058 + <name>error_column2</name>
  1059 + <type>String</type>
  1060 + <format/>
  1061 + </field>
  1062 + </fields>
  1063 + <custom>
  1064 + <header_font_name>arial</header_font_name>
  1065 + <header_font_size>10</header_font_size>
  1066 + <header_font_bold>N</header_font_bold>
  1067 + <header_font_italic>N</header_font_italic>
  1068 + <header_font_underline>no</header_font_underline>
  1069 + <header_font_orientation>horizontal</header_font_orientation>
  1070 + <header_font_color>black</header_font_color>
  1071 + <header_background_color>none</header_background_color>
  1072 + <header_row_height>255</header_row_height>
  1073 + <header_alignment>left</header_alignment>
  1074 + <header_image/>
  1075 + <row_font_name>arial</row_font_name>
  1076 + <row_font_size>10</row_font_size>
  1077 + <row_font_color>black</row_font_color>
  1078 + <row_background_color>none</row_background_color>
  1079 + </custom>
  1080 + <cluster_schema/>
  1081 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1082 + <xloc>240</xloc>
  1083 + <yloc>442</yloc>
  1084 + <draw>Y</draw>
  1085 + </GUI>
  1086 + </step>
  1087 +
  1088 + <step_error_handling>
  1089 + <error>
  1090 + <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_personnel</source_step>
  1091 + <target_step>&#x9519;&#x8bef;&#x8f93;&#x51fa;</target_step>
  1092 + <is_enabled>Y</is_enabled>
  1093 + <nr_valuename>error_count</nr_valuename>
  1094 + <descriptions_valuename>error_desc</descriptions_valuename>
  1095 + <fields_valuename>error_column1</fields_valuename>
  1096 + <codes_valuename>error_column2</codes_valuename>
  1097 + <max_errors/>
  1098 + <max_pct_errors/>
  1099 + <min_pct_rows/>
  1100 + </error>
  1101 + </step_error_handling>
  1102 + <slave-step-copy-partition-distribution>
  1103 +</slave-step-copy-partition-distribution>
  1104 + <slave_transformation>N</slave_transformation>
  1105 +
  1106 +</transformation>
src/main/resources/datatools/ktrs/employeesDataOutput.ktr
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<transformation>  
3 - <info>  
4 - <name>&#x4eba;&#x5458;&#x4fe1;&#x606f;&#x5bfc;&#x51fa;</name>  
5 - <description/>  
6 - <extended_description/>  
7 - <trans_version/>  
8 - <trans_type>Normal</trans_type>  
9 - <trans_status>0</trans_status>  
10 - <directory>&#x2f;</directory>  
11 - <parameters>  
12 - <parameter>  
13 - <name>cgsbm_in</name>  
14 - <default_value/>  
15 - <description>&#x5206;&#x516c;&#x53f8;&#x7f16;&#x7801;</description>  
16 - </parameter>  
17 - <parameter>  
18 - <name>filepath</name>  
19 - <default_value/>  
20 - <description>excel&#x6587;&#x4ef6;&#x8def;&#x5f84;</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&#x2f;08&#x2f;09 09&#x3a;57&#x3a;38.471</created_date>  
81 - <modified_user>-</modified_user>  
82 - <modified_date>2016&#x2f;08&#x2f;09 09&#x3a;57&#x3a;38.471</modified_date>  
83 - <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</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>&#x24;&#x7b;v_db_ip&#x7d;</server>  
115 - <type>MYSQL</type>  
116 - <access>Native</access>  
117 - <database>&#x24;&#x7b;v_db_dname&#x7d;</database>  
118 - <port>3306</port>  
119 - <username>&#x24;&#x7b;v_db_uname&#x7d;</username>  
120 - <password>&#x24;&#x7b;v_db_pwd&#x7d;</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_&#x516c;&#x53f8;_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_&#x672c;&#x673a;</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&#xff08;&#x672c;&#x673a;&#xff09;</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>&#x4eba;&#x5458;&#x4fe1;&#x606f;&#x8868;&#x8f93;&#x5165;</from><to>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</to><enabled>Y</enabled> </hop>  
275 - <hop> <from>&#x5c97;&#x4f4d;&#x6570;&#x636e;&#x67e5;&#x8be2;</from><to>&#x6027;&#x522b;&#x6570;&#x636e;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>  
276 - <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>Excel&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>  
277 - <hop> <from>&#x6027;&#x522b;&#x6570;&#x636e;&#x67e5;&#x8be2;</from><to>&#x5904;&#x7406;&#x5de5;&#x53f7;</to><enabled>Y</enabled> </hop>  
278 - <hop> <from>&#x5904;&#x7406;&#x5de5;&#x53f7;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>  
279 - <hop> <from>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</from><to>&#x516c;&#x53f8;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>  
280 - <hop> <from>&#x516c;&#x53f8;&#x67e5;&#x8be2;</from><to>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>  
281 - <hop> <from>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</from><to>&#x5c97;&#x4f4d;&#x6570;&#x636e;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>  
282 - </order>  
283 - <step>  
284 - <name>Excel&#x8f93;&#x51fa;</name>  
285 - <type>ExcelOutput</type>  
286 - <description/>  
287 - <distribute>Y</distribute>  
288 - <custom_distribution/>  
289 - <copies>1</copies>  
290 - <partitioning>  
291 - <method>none</method>  
292 - <schema_name/>  
293 - </partitioning>  
294 - <header>Y</header>  
295 - <footer>N</footer>  
296 - <encoding/>  
297 - <append>N</append>  
298 - <add_to_result_filenames>Y</add_to_result_filenames>  
299 - <file>  
300 - <name>&#x24;&#x7b;filepath&#x7d;</name>  
301 - <extention>xls</extention>  
302 - <do_not_open_newfile_init>N</do_not_open_newfile_init>  
303 - <create_parent_folder>N</create_parent_folder>  
304 - <split>N</split>  
305 - <add_date>N</add_date>  
306 - <add_time>N</add_time>  
307 - <SpecifyFormat>N</SpecifyFormat>  
308 - <date_time_format>yyyyMMddHHmmss</date_time_format>  
309 - <sheetname>&#x5de5;&#x4f5c;&#x8868;1</sheetname>  
310 - <autosizecolums>N</autosizecolums>  
311 - <nullisblank>N</nullisblank>  
312 - <protect_sheet>N</protect_sheet>  
313 - <password>Encrypted </password>  
314 - <splitevery>0</splitevery>  
315 - <usetempfiles>N</usetempfiles>  
316 - <tempdirectory/>  
317 - </file>  
318 - <template>  
319 - <enabled>N</enabled>  
320 - <append>N</append>  
321 - <filename>template.xls</filename>  
322 - </template>  
323 - <fields>  
324 - <field>  
325 - <name>&#x59d3;&#x540d;</name>  
326 - <type>String</type>  
327 - <format/>  
328 - </field>  
329 - <field>  
330 - <name>&#x5de5;&#x53f7;</name>  
331 - <type>String</type>  
332 - <format/>  
333 - </field>  
334 - <field>  
335 - <name>&#x6027;&#x522b;</name>  
336 - <type>String</type>  
337 - <format/>  
338 - </field>  
339 - <field>  
340 - <name>&#x6240;&#x5c5e;&#x516c;&#x53f8;</name>  
341 - <type>String</type>  
342 - <format/>  
343 - </field>  
344 - <field>  
345 - <name>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</name>  
346 - <type>String</type>  
347 - <format/>  
348 - </field>  
349 - <field>  
350 - <name>&#x4e00;&#x5361;&#x901a;&#x53f7;</name>  
351 - <type>String</type>  
352 - <format/>  
353 - </field>  
354 - <field>  
355 - <name>&#x8fd0;&#x8425;&#x670d;&#x52a1;&#x8bc1;&#x53f7;</name>  
356 - <type>String</type>  
357 - <format/>  
358 - </field>  
359 - <field>  
360 - <name>&#x5c97;&#x4f4d;</name>  
361 - <type>String</type>  
362 - <format/>  
363 - </field>  
364 - <field>  
365 - <name>&#x5907;&#x6ce8;</name>  
366 - <type>String</type>  
367 - <format/>  
368 - </field>  
369 - </fields>  
370 - <custom>  
371 - <header_font_name>arial</header_font_name>  
372 - <header_font_size>10</header_font_size>  
373 - <header_font_bold>N</header_font_bold>  
374 - <header_font_italic>N</header_font_italic>  
375 - <header_font_underline>no</header_font_underline>  
376 - <header_font_orientation>horizontal</header_font_orientation>  
377 - <header_font_color>black</header_font_color>  
378 - <header_background_color>none</header_background_color>  
379 - <header_row_height>255</header_row_height>  
380 - <header_alignment>left</header_alignment>  
381 - <header_image/>  
382 - <row_font_name>arial</row_font_name>  
383 - <row_font_size>10</row_font_size>  
384 - <row_font_color>black</row_font_color>  
385 - <row_background_color>none</row_background_color>  
386 - </custom>  
387 - <cluster_schema/>  
388 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
389 - <xloc>625</xloc>  
390 - <yloc>443</yloc>  
391 - <draw>Y</draw>  
392 - </GUI>  
393 - </step>  
394 -  
395 - <step>  
396 - <name>&#x4eba;&#x5458;&#x4fe1;&#x606f;&#x8868;&#x8f93;&#x5165;</name>  
397 - <type>TableInput</type>  
398 - <description/>  
399 - <distribute>Y</distribute>  
400 - <custom_distribution/>  
401 - <copies>1</copies>  
402 - <partitioning>  
403 - <method>none</method>  
404 - <schema_name/>  
405 - </partitioning>  
406 - <connection>bus_control_variable</connection>  
407 - <sql>SELECT &#x2a; FROM bsth_c_personnel&#xa;where concat&#x28;company_code, &#x27;_&#x27;, branche_company_code&#x29; in &#x28;&#x24;&#x7b;cgsbm_in&#x7d;&#x29;</sql>  
408 - <limit>0</limit>  
409 - <lookup/>  
410 - <execute_each_row>N</execute_each_row>  
411 - <variables_active>Y</variables_active>  
412 - <lazy_conversion_active>N</lazy_conversion_active>  
413 - <cluster_schema/>  
414 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
415 - <xloc>112</xloc>  
416 - <yloc>66</yloc>  
417 - <draw>Y</draw>  
418 - </GUI>  
419 - </step>  
420 -  
421 - <step>  
422 - <name>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</name>  
423 - <type>ScriptValueMod</type>  
424 - <description/>  
425 - <distribute>Y</distribute>  
426 - <custom_distribution/>  
427 - <copies>1</copies>  
428 - <partitioning>  
429 - <method>none</method>  
430 - <schema_name/>  
431 - </partitioning>  
432 - <compatible>N</compatible>  
433 - <optimizationLevel>9</optimizationLevel>  
434 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
435 - <jsScript_name>Script 1</jsScript_name>  
436 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var up_code &#x3d; &#x27;88&#x27;&#x3b;&#xa;var sexType &#x3d; &#x27;sexType&#x27;&#x3b;&#xa;var gzType &#x3d; &#x27;gzType&#x27;&#x3b;</jsScript_script>  
437 - </jsScript> </jsScripts> <fields> <field> <name>up_code</name>  
438 - <rename>up_code</rename>  
439 - <type>String</type>  
440 - <length>-1</length>  
441 - <precision>-1</precision>  
442 - <replace>N</replace>  
443 - </field> <field> <name>sexType</name>  
444 - <rename>sexType</rename>  
445 - <type>String</type>  
446 - <length>-1</length>  
447 - <precision>-1</precision>  
448 - <replace>N</replace>  
449 - </field> <field> <name>gzType</name>  
450 - <rename>gzType</rename>  
451 - <type>String</type>  
452 - <length>-1</length>  
453 - <precision>-1</precision>  
454 - <replace>N</replace>  
455 - </field> </fields> <cluster_schema/>  
456 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
457 - <xloc>235</xloc>  
458 - <yloc>65</yloc>  
459 - <draw>Y</draw>  
460 - </GUI>  
461 - </step>  
462 -  
463 - <step>  
464 - <name>&#x5c97;&#x4f4d;&#x6570;&#x636e;&#x67e5;&#x8be2;</name>  
465 - <type>DBLookup</type>  
466 - <description/>  
467 - <distribute>Y</distribute>  
468 - <custom_distribution/>  
469 - <copies>1</copies>  
470 - <partitioning>  
471 - <method>none</method>  
472 - <schema_name/>  
473 - </partitioning>  
474 - <connection>bus_control_variable</connection>  
475 - <cache>N</cache>  
476 - <cache_load_all>N</cache_load_all>  
477 - <cache_size>0</cache_size>  
478 - <lookup>  
479 - <schema/>  
480 - <table>bsth_c_sys_dictionary</table>  
481 - <orderby/>  
482 - <fail_on_multiple>N</fail_on_multiple>  
483 - <eat_row_on_failure>N</eat_row_on_failure>  
484 - <key>  
485 - <name>gzType</name>  
486 - <field>d_group</field>  
487 - <condition>&#x3d;</condition>  
488 - <name2/>  
489 - </key>  
490 - <key>  
491 - <name>posts</name>  
492 - <field>d_code</field>  
493 - <condition>&#x3d;</condition>  
494 - <name2/>  
495 - </key>  
496 - <value>  
497 - <name>d_name</name>  
498 - <rename>gz</rename>  
499 - <default/>  
500 - <type>String</type>  
501 - </value>  
502 - </lookup>  
503 - <cluster_schema/>  
504 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
505 - <xloc>423</xloc>  
506 - <yloc>235</yloc>  
507 - <draw>Y</draw>  
508 - </GUI>  
509 - </step>  
510 -  
511 - <step>  
512 - <name>&#x6027;&#x522b;&#x6570;&#x636e;&#x67e5;&#x8be2;</name>  
513 - <type>DBLookup</type>  
514 - <description/>  
515 - <distribute>Y</distribute>  
516 - <custom_distribution/>  
517 - <copies>1</copies>  
518 - <partitioning>  
519 - <method>none</method>  
520 - <schema_name/>  
521 - </partitioning>  
522 - <connection>bus_control_variable</connection>  
523 - <cache>N</cache>  
524 - <cache_load_all>N</cache_load_all>  
525 - <cache_size>0</cache_size>  
526 - <lookup>  
527 - <schema/>  
528 - <table>bsth_c_sys_dictionary</table>  
529 - <orderby/>  
530 - <fail_on_multiple>N</fail_on_multiple>  
531 - <eat_row_on_failure>N</eat_row_on_failure>  
532 - <key>  
533 - <name>sexType</name>  
534 - <field>d_group</field>  
535 - <condition>&#x3d;</condition>  
536 - <name2/>  
537 - </key>  
538 - <key>  
539 - <name>personnel_type</name>  
540 - <field>d_code</field>  
541 - <condition>&#x3d;</condition>  
542 - <name2/>  
543 - </key>  
544 - <value>  
545 - <name>d_name</name>  
546 - <rename>sex</rename>  
547 - <default/>  
548 - <type>String</type>  
549 - </value>  
550 - </lookup>  
551 - <cluster_schema/>  
552 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
553 - <xloc>423</xloc>  
554 - <yloc>339</yloc>  
555 - <draw>Y</draw>  
556 - </GUI>  
557 - </step>  
558 -  
559 - <step>  
560 - <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>  
561 - <type>SelectValues</type>  
562 - <description/>  
563 - <distribute>Y</distribute>  
564 - <custom_distribution/>  
565 - <copies>1</copies>  
566 - <partitioning>  
567 - <method>none</method>  
568 - <schema_name/>  
569 - </partitioning>  
570 - <fields> <field> <name>personnel_name</name>  
571 - <rename>&#x59d3;&#x540d;</rename>  
572 - <length>-2</length>  
573 - <precision>-2</precision>  
574 - </field> <field> <name>jc</name>  
575 - <rename>&#x5de5;&#x53f7;</rename>  
576 - <length>-2</length>  
577 - <precision>-2</precision>  
578 - </field> <field> <name>sex</name>  
579 - <rename>&#x6027;&#x522b;</rename>  
580 - <length>-2</length>  
581 - <precision>-2</precision>  
582 - </field> <field> <name>gs</name>  
583 - <rename>&#x6240;&#x5c5e;&#x516c;&#x53f8;</rename>  
584 - <length>-2</length>  
585 - <precision>-2</precision>  
586 - </field> <field> <name>fgs</name>  
587 - <rename>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</rename>  
588 - <length>-2</length>  
589 - <precision>-2</precision>  
590 - </field> <field> <name>ic_card_code</name>  
591 - <rename>&#x4e00;&#x5361;&#x901a;&#x53f7;</rename>  
592 - <length>-2</length>  
593 - <precision>-2</precision>  
594 - </field> <field> <name>papers_code</name>  
595 - <rename>&#x8fd0;&#x8425;&#x670d;&#x52a1;&#x8bc1;&#x53f7;</rename>  
596 - <length>-2</length>  
597 - <precision>-2</precision>  
598 - </field> <field> <name>gz</name>  
599 - <rename>&#x5c97;&#x4f4d;</rename>  
600 - <length>-2</length>  
601 - <precision>-2</precision>  
602 - </field> <field> <name>remark</name>  
603 - <rename>&#x5907;&#x6ce8;</rename>  
604 - <length>-2</length>  
605 - <precision>-2</precision>  
606 - </field> <select_unspecified>N</select_unspecified>  
607 - </fields> <cluster_schema/>  
608 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
609 - <xloc>623</xloc>  
610 - <yloc>339</yloc>  
611 - <draw>Y</draw>  
612 - </GUI>  
613 - </step>  
614 -  
615 - <step>  
616 - <name>&#x5904;&#x7406;&#x5de5;&#x53f7;</name>  
617 - <type>ScriptValueMod</type>  
618 - <description/>  
619 - <distribute>Y</distribute>  
620 - <custom_distribution/>  
621 - <copies>1</copies>  
622 - <partitioning>  
623 - <method>none</method>  
624 - <schema_name/>  
625 - </partitioning>  
626 - <compatible>N</compatible>  
627 - <optimizationLevel>9</optimizationLevel>  
628 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
629 - <jsScript_name>Script 1</jsScript_name>  
630 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var jc&#x3b;&#xa;jc &#x3d; job_code.split&#x28;&#x22;-&#x22;&#x29;&#x5b;1&#x5d;&#x3b;</jsScript_script>  
631 - </jsScript> </jsScripts> <fields> <field> <name>jc</name>  
632 - <rename>jc</rename>  
633 - <type>String</type>  
634 - <length>-1</length>  
635 - <precision>-1</precision>  
636 - <replace>N</replace>  
637 - </field> </fields> <cluster_schema/>  
638 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
639 - <xloc>423</xloc>  
640 - <yloc>444</yloc>  
641 - <draw>Y</draw>  
642 - </GUI>  
643 - </step>  
644 -  
645 - <step>  
646 - <name>&#x516c;&#x53f8;&#x67e5;&#x8be2;</name>  
647 - <type>DBLookup</type>  
648 - <description/>  
649 - <distribute>Y</distribute>  
650 - <custom_distribution/>  
651 - <copies>1</copies>  
652 - <partitioning>  
653 - <method>none</method>  
654 - <schema_name/>  
655 - </partitioning>  
656 - <connection>bus_control_variable</connection>  
657 - <cache>N</cache>  
658 - <cache_load_all>N</cache_load_all>  
659 - <cache_size>0</cache_size>  
660 - <lookup>  
661 - <schema/>  
662 - <table>bsth_c_business</table>  
663 - <orderby/>  
664 - <fail_on_multiple>N</fail_on_multiple>  
665 - <eat_row_on_failure>N</eat_row_on_failure>  
666 - <key>  
667 - <name>up_code</name>  
668 - <field>up_code</field>  
669 - <condition>&#x3d;</condition>  
670 - <name2/>  
671 - </key>  
672 - <key>  
673 - <name>company_code</name>  
674 - <field>business_code</field>  
675 - <condition>&#x3d;</condition>  
676 - <name2/>  
677 - </key>  
678 - <value>  
679 - <name>business_name</name>  
680 - <rename>gs</rename>  
681 - <default/>  
682 - <type>String</type>  
683 - </value>  
684 - </lookup>  
685 - <cluster_schema/>  
686 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
687 - <xloc>361</xloc>  
688 - <yloc>65</yloc>  
689 - <draw>Y</draw>  
690 - </GUI>  
691 - </step>  
692 -  
693 - <step>  
694 - <name>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</name>  
695 - <type>DBLookup</type>  
696 - <description/>  
697 - <distribute>Y</distribute>  
698 - <custom_distribution/>  
699 - <copies>1</copies>  
700 - <partitioning>  
701 - <method>none</method>  
702 - <schema_name/>  
703 - </partitioning>  
704 - <connection>bus_control_variable</connection>  
705 - <cache>N</cache>  
706 - <cache_load_all>N</cache_load_all>  
707 - <cache_size>0</cache_size>  
708 - <lookup>  
709 - <schema/>  
710 - <table>bsth_c_business</table>  
711 - <orderby/>  
712 - <fail_on_multiple>N</fail_on_multiple>  
713 - <eat_row_on_failure>N</eat_row_on_failure>  
714 - <key>  
715 - <name>company_code</name>  
716 - <field>up_code</field>  
717 - <condition>&#x3d;</condition>  
718 - <name2/>  
719 - </key>  
720 - <key>  
721 - <name>branche_company_code</name>  
722 - <field>business_code</field>  
723 - <condition>&#x3d;</condition>  
724 - <name2/>  
725 - </key>  
726 - <value>  
727 - <name>business_name</name>  
728 - <rename>fgs</rename>  
729 - <default/>  
730 - <type>String</type>  
731 - </value>  
732 - </lookup>  
733 - <cluster_schema/>  
734 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
735 - <xloc>479</xloc>  
736 - <yloc>67</yloc>  
737 - <draw>Y</draw>  
738 - </GUI>  
739 - </step>  
740 -  
741 - <step_error_handling>  
742 - </step_error_handling>  
743 - <slave-step-copy-partition-distribution>  
744 -</slave-step-copy-partition-distribution>  
745 - <slave_transformation>N</slave_transformation>  
746 -  
747 -</transformation> 1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>&#x4eba;&#x5458;&#x4fe1;&#x606f;&#x5bfc;&#x51fa;</name>
  5 + <description/>
  6 + <extended_description/>
  7 + <trans_version/>
  8 + <trans_type>Normal</trans_type>
  9 + <trans_status>0</trans_status>
  10 + <directory>&#x2f;</directory>
  11 + <parameters>
  12 + <parameter>
  13 + <name>cgsbm_in</name>
  14 + <default_value/>
  15 + <description>&#x5206;&#x516c;&#x53f8;&#x7f16;&#x7801;</description>
  16 + </parameter>
  17 + <parameter>
  18 + <name>filepath</name>
  19 + <default_value/>
  20 + <description>excel&#x6587;&#x4ef6;&#x8def;&#x5f84;</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&#x2f;08&#x2f;09 09&#x3a;57&#x3a;38.471</created_date>
  81 + <modified_user>-</modified_user>
  82 + <modified_date>2016&#x2f;08&#x2f;09 09&#x3a;57&#x3a;38.471</modified_date>
  83 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</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>&#x24;&#x7b;v_db_ip&#x7d;</server>
  115 + <type>MYSQL</type>
  116 + <access>Native</access>
  117 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  118 + <port>3306</port>
  119 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  120 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</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_&#x516c;&#x53f8;_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_&#x672c;&#x673a;</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&#xff08;&#x672c;&#x673a;&#xff09;</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>&#x4eba;&#x5458;&#x4fe1;&#x606f;&#x8868;&#x8f93;&#x5165;</from><to>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</to><enabled>Y</enabled> </hop>
  275 + <hop> <from>&#x5c97;&#x4f4d;&#x6570;&#x636e;&#x67e5;&#x8be2;</from><to>&#x6027;&#x522b;&#x6570;&#x636e;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  276 + <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>Excel&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
  277 + <hop> <from>&#x6027;&#x522b;&#x6570;&#x636e;&#x67e5;&#x8be2;</from><to>&#x5904;&#x7406;&#x5de5;&#x53f7;</to><enabled>Y</enabled> </hop>
  278 + <hop> <from>&#x5904;&#x7406;&#x5de5;&#x53f7;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
  279 + <hop> <from>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</from><to>&#x516c;&#x53f8;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  280 + <hop> <from>&#x516c;&#x53f8;&#x67e5;&#x8be2;</from><to>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  281 + <hop> <from>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</from><to>&#x5c97;&#x4f4d;&#x6570;&#x636e;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  282 + </order>
  283 + <step>
  284 + <name>Excel&#x8f93;&#x51fa;</name>
  285 + <type>ExcelOutput</type>
  286 + <description/>
  287 + <distribute>Y</distribute>
  288 + <custom_distribution/>
  289 + <copies>1</copies>
  290 + <partitioning>
  291 + <method>none</method>
  292 + <schema_name/>
  293 + </partitioning>
  294 + <header>Y</header>
  295 + <footer>N</footer>
  296 + <encoding/>
  297 + <append>N</append>
  298 + <add_to_result_filenames>Y</add_to_result_filenames>
  299 + <file>
  300 + <name>&#x24;&#x7b;filepath&#x7d;</name>
  301 + <extention>xls</extention>
  302 + <do_not_open_newfile_init>N</do_not_open_newfile_init>
  303 + <create_parent_folder>N</create_parent_folder>
  304 + <split>N</split>
  305 + <add_date>N</add_date>
  306 + <add_time>N</add_time>
  307 + <SpecifyFormat>N</SpecifyFormat>
  308 + <date_time_format>yyyyMMddHHmmss</date_time_format>
  309 + <sheetname>&#x5de5;&#x4f5c;&#x8868;1</sheetname>
  310 + <autosizecolums>N</autosizecolums>
  311 + <nullisblank>N</nullisblank>
  312 + <protect_sheet>N</protect_sheet>
  313 + <password>Encrypted </password>
  314 + <splitevery>0</splitevery>
  315 + <usetempfiles>N</usetempfiles>
  316 + <tempdirectory/>
  317 + </file>
  318 + <template>
  319 + <enabled>N</enabled>
  320 + <append>N</append>
  321 + <filename>template.xls</filename>
  322 + </template>
  323 + <fields>
  324 + <field>
  325 + <name>&#x59d3;&#x540d;</name>
  326 + <type>String</type>
  327 + <format/>
  328 + </field>
  329 + <field>
  330 + <name>&#x5de5;&#x53f7;</name>
  331 + <type>String</type>
  332 + <format/>
  333 + </field>
  334 + <field>
  335 + <name>&#x6027;&#x522b;</name>
  336 + <type>String</type>
  337 + <format/>
  338 + </field>
  339 + <field>
  340 + <name>&#x6240;&#x5c5e;&#x516c;&#x53f8;</name>
  341 + <type>String</type>
  342 + <format/>
  343 + </field>
  344 + <field>
  345 + <name>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</name>
  346 + <type>String</type>
  347 + <format/>
  348 + </field>
  349 + <field>
  350 + <name>&#x4e00;&#x5361;&#x901a;&#x53f7;</name>
  351 + <type>String</type>
  352 + <format/>
  353 + </field>
  354 + <field>
  355 + <name>&#x8fd0;&#x8425;&#x670d;&#x52a1;&#x8bc1;&#x53f7;</name>
  356 + <type>String</type>
  357 + <format/>
  358 + </field>
  359 + <field>
  360 + <name>&#x5c97;&#x4f4d;</name>
  361 + <type>String</type>
  362 + <format/>
  363 + </field>
  364 + <field>
  365 + <name>&#x5907;&#x6ce8;</name>
  366 + <type>String</type>
  367 + <format/>
  368 + </field>
  369 + </fields>
  370 + <custom>
  371 + <header_font_name>arial</header_font_name>
  372 + <header_font_size>10</header_font_size>
  373 + <header_font_bold>N</header_font_bold>
  374 + <header_font_italic>N</header_font_italic>
  375 + <header_font_underline>no</header_font_underline>
  376 + <header_font_orientation>horizontal</header_font_orientation>
  377 + <header_font_color>black</header_font_color>
  378 + <header_background_color>none</header_background_color>
  379 + <header_row_height>255</header_row_height>
  380 + <header_alignment>left</header_alignment>
  381 + <header_image/>
  382 + <row_font_name>arial</row_font_name>
  383 + <row_font_size>10</row_font_size>
  384 + <row_font_color>black</row_font_color>
  385 + <row_background_color>none</row_background_color>
  386 + </custom>
  387 + <cluster_schema/>
  388 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  389 + <xloc>625</xloc>
  390 + <yloc>443</yloc>
  391 + <draw>Y</draw>
  392 + </GUI>
  393 + </step>
  394 +
  395 + <step>
  396 + <name>&#x4eba;&#x5458;&#x4fe1;&#x606f;&#x8868;&#x8f93;&#x5165;</name>
  397 + <type>TableInput</type>
  398 + <description/>
  399 + <distribute>Y</distribute>
  400 + <custom_distribution/>
  401 + <copies>1</copies>
  402 + <partitioning>
  403 + <method>none</method>
  404 + <schema_name/>
  405 + </partitioning>
  406 + <connection>bus_control_variable</connection>
  407 + <sql>SELECT &#x2a; FROM bsth_c_personnel&#xa;where concat&#x28;company_code, &#x27;_&#x27;, branche_company_code&#x29; in &#x28;&#x24;&#x7b;cgsbm_in&#x7d;&#x29;</sql>
  408 + <limit>0</limit>
  409 + <lookup/>
  410 + <execute_each_row>N</execute_each_row>
  411 + <variables_active>Y</variables_active>
  412 + <lazy_conversion_active>N</lazy_conversion_active>
  413 + <cluster_schema/>
  414 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  415 + <xloc>112</xloc>
  416 + <yloc>66</yloc>
  417 + <draw>Y</draw>
  418 + </GUI>
  419 + </step>
  420 +
  421 + <step>
  422 + <name>&#x6dfb;&#x52a0;&#x67e5;&#x8be2;&#x5e38;&#x91cf;</name>
  423 + <type>ScriptValueMod</type>
  424 + <description/>
  425 + <distribute>Y</distribute>
  426 + <custom_distribution/>
  427 + <copies>1</copies>
  428 + <partitioning>
  429 + <method>none</method>
  430 + <schema_name/>
  431 + </partitioning>
  432 + <compatible>N</compatible>
  433 + <optimizationLevel>9</optimizationLevel>
  434 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  435 + <jsScript_name>Script 1</jsScript_name>
  436 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var up_code &#x3d; &#x27;88&#x27;&#x3b;&#xa;var sexType &#x3d; &#x27;sexType&#x27;&#x3b;&#xa;var gzType &#x3d; &#x27;gzType&#x27;&#x3b;</jsScript_script>
  437 + </jsScript> </jsScripts> <fields> <field> <name>up_code</name>
  438 + <rename>up_code</rename>
  439 + <type>String</type>
  440 + <length>-1</length>
  441 + <precision>-1</precision>
  442 + <replace>N</replace>
  443 + </field> <field> <name>sexType</name>
  444 + <rename>sexType</rename>
  445 + <type>String</type>
  446 + <length>-1</length>
  447 + <precision>-1</precision>
  448 + <replace>N</replace>
  449 + </field> <field> <name>gzType</name>
  450 + <rename>gzType</rename>
  451 + <type>String</type>
  452 + <length>-1</length>
  453 + <precision>-1</precision>
  454 + <replace>N</replace>
  455 + </field> </fields> <cluster_schema/>
  456 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  457 + <xloc>235</xloc>
  458 + <yloc>65</yloc>
  459 + <draw>Y</draw>
  460 + </GUI>
  461 + </step>
  462 +
  463 + <step>
  464 + <name>&#x5c97;&#x4f4d;&#x6570;&#x636e;&#x67e5;&#x8be2;</name>
  465 + <type>DBLookup</type>
  466 + <description/>
  467 + <distribute>Y</distribute>
  468 + <custom_distribution/>
  469 + <copies>1</copies>
  470 + <partitioning>
  471 + <method>none</method>
  472 + <schema_name/>
  473 + </partitioning>
  474 + <connection>bus_control_variable</connection>
  475 + <cache>N</cache>
  476 + <cache_load_all>N</cache_load_all>
  477 + <cache_size>0</cache_size>
  478 + <lookup>
  479 + <schema/>
  480 + <table>bsth_c_sys_dictionary</table>
  481 + <orderby/>
  482 + <fail_on_multiple>N</fail_on_multiple>
  483 + <eat_row_on_failure>N</eat_row_on_failure>
  484 + <key>
  485 + <name>gzType</name>
  486 + <field>d_group</field>
  487 + <condition>&#x3d;</condition>
  488 + <name2/>
  489 + </key>
  490 + <key>
  491 + <name>posts</name>
  492 + <field>d_code</field>
  493 + <condition>&#x3d;</condition>
  494 + <name2/>
  495 + </key>
  496 + <value>
  497 + <name>d_name</name>
  498 + <rename>gz</rename>
  499 + <default/>
  500 + <type>String</type>
  501 + </value>
  502 + </lookup>
  503 + <cluster_schema/>
  504 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  505 + <xloc>423</xloc>
  506 + <yloc>235</yloc>
  507 + <draw>Y</draw>
  508 + </GUI>
  509 + </step>
  510 +
  511 + <step>
  512 + <name>&#x6027;&#x522b;&#x6570;&#x636e;&#x67e5;&#x8be2;</name>
  513 + <type>DBLookup</type>
  514 + <description/>
  515 + <distribute>Y</distribute>
  516 + <custom_distribution/>
  517 + <copies>1</copies>
  518 + <partitioning>
  519 + <method>none</method>
  520 + <schema_name/>
  521 + </partitioning>
  522 + <connection>bus_control_variable</connection>
  523 + <cache>N</cache>
  524 + <cache_load_all>N</cache_load_all>
  525 + <cache_size>0</cache_size>
  526 + <lookup>
  527 + <schema/>
  528 + <table>bsth_c_sys_dictionary</table>
  529 + <orderby/>
  530 + <fail_on_multiple>N</fail_on_multiple>
  531 + <eat_row_on_failure>N</eat_row_on_failure>
  532 + <key>
  533 + <name>sexType</name>
  534 + <field>d_group</field>
  535 + <condition>&#x3d;</condition>
  536 + <name2/>
  537 + </key>
  538 + <key>
  539 + <name>personnel_type</name>
  540 + <field>d_code</field>
  541 + <condition>&#x3d;</condition>
  542 + <name2/>
  543 + </key>
  544 + <value>
  545 + <name>d_name</name>
  546 + <rename>sex</rename>
  547 + <default/>
  548 + <type>String</type>
  549 + </value>
  550 + </lookup>
  551 + <cluster_schema/>
  552 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  553 + <xloc>423</xloc>
  554 + <yloc>339</yloc>
  555 + <draw>Y</draw>
  556 + </GUI>
  557 + </step>
  558 +
  559 + <step>
  560 + <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
  561 + <type>SelectValues</type>
  562 + <description/>
  563 + <distribute>Y</distribute>
  564 + <custom_distribution/>
  565 + <copies>1</copies>
  566 + <partitioning>
  567 + <method>none</method>
  568 + <schema_name/>
  569 + </partitioning>
  570 + <fields> <field> <name>personnel_name</name>
  571 + <rename>&#x59d3;&#x540d;</rename>
  572 + <length>-2</length>
  573 + <precision>-2</precision>
  574 + </field> <field> <name>jc</name>
  575 + <rename>&#x5de5;&#x53f7;</rename>
  576 + <length>-2</length>
  577 + <precision>-2</precision>
  578 + </field> <field> <name>sex</name>
  579 + <rename>&#x6027;&#x522b;</rename>
  580 + <length>-2</length>
  581 + <precision>-2</precision>
  582 + </field> <field> <name>gs</name>
  583 + <rename>&#x6240;&#x5c5e;&#x516c;&#x53f8;</rename>
  584 + <length>-2</length>
  585 + <precision>-2</precision>
  586 + </field> <field> <name>fgs</name>
  587 + <rename>&#x6240;&#x5c5e;&#x5206;&#x516c;&#x53f8;</rename>
  588 + <length>-2</length>
  589 + <precision>-2</precision>
  590 + </field> <field> <name>ic_card_code</name>
  591 + <rename>&#x4e00;&#x5361;&#x901a;&#x53f7;</rename>
  592 + <length>-2</length>
  593 + <precision>-2</precision>
  594 + </field> <field> <name>papers_code</name>
  595 + <rename>&#x8fd0;&#x8425;&#x670d;&#x52a1;&#x8bc1;&#x53f7;</rename>
  596 + <length>-2</length>
  597 + <precision>-2</precision>
  598 + </field> <field> <name>gz</name>
  599 + <rename>&#x5c97;&#x4f4d;</rename>
  600 + <length>-2</length>
  601 + <precision>-2</precision>
  602 + </field> <field> <name>remark</name>
  603 + <rename>&#x5907;&#x6ce8;</rename>
  604 + <length>-2</length>
  605 + <precision>-2</precision>
  606 + </field> <select_unspecified>N</select_unspecified>
  607 + </fields> <cluster_schema/>
  608 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  609 + <xloc>623</xloc>
  610 + <yloc>339</yloc>
  611 + <draw>Y</draw>
  612 + </GUI>
  613 + </step>
  614 +
  615 + <step>
  616 + <name>&#x5904;&#x7406;&#x5de5;&#x53f7;</name>
  617 + <type>ScriptValueMod</type>
  618 + <description/>
  619 + <distribute>Y</distribute>
  620 + <custom_distribution/>
  621 + <copies>1</copies>
  622 + <partitioning>
  623 + <method>none</method>
  624 + <schema_name/>
  625 + </partitioning>
  626 + <compatible>N</compatible>
  627 + <optimizationLevel>9</optimizationLevel>
  628 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  629 + <jsScript_name>Script 1</jsScript_name>
  630 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var jc&#x3b;&#xa;jc &#x3d; job_code.split&#x28;&#x22;-&#x22;&#x29;&#x5b;1&#x5d;&#x3b;</jsScript_script>
  631 + </jsScript> </jsScripts> <fields> <field> <name>jc</name>
  632 + <rename>jc</rename>
  633 + <type>String</type>
  634 + <length>-1</length>
  635 + <precision>-1</precision>
  636 + <replace>N</replace>
  637 + </field> </fields> <cluster_schema/>
  638 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  639 + <xloc>423</xloc>
  640 + <yloc>444</yloc>
  641 + <draw>Y</draw>
  642 + </GUI>
  643 + </step>
  644 +
  645 + <step>
  646 + <name>&#x516c;&#x53f8;&#x67e5;&#x8be2;</name>
  647 + <type>DBLookup</type>
  648 + <description/>
  649 + <distribute>Y</distribute>
  650 + <custom_distribution/>
  651 + <copies>1</copies>
  652 + <partitioning>
  653 + <method>none</method>
  654 + <schema_name/>
  655 + </partitioning>
  656 + <connection>bus_control_variable</connection>
  657 + <cache>N</cache>
  658 + <cache_load_all>N</cache_load_all>
  659 + <cache_size>0</cache_size>
  660 + <lookup>
  661 + <schema/>
  662 + <table>bsth_c_business</table>
  663 + <orderby/>
  664 + <fail_on_multiple>N</fail_on_multiple>
  665 + <eat_row_on_failure>N</eat_row_on_failure>
  666 + <key>
  667 + <name>up_code</name>
  668 + <field>up_code</field>
  669 + <condition>&#x3d;</condition>
  670 + <name2/>
  671 + </key>
  672 + <key>
  673 + <name>company_code</name>
  674 + <field>business_code</field>
  675 + <condition>&#x3d;</condition>
  676 + <name2/>
  677 + </key>
  678 + <value>
  679 + <name>business_name</name>
  680 + <rename>gs</rename>
  681 + <default/>
  682 + <type>String</type>
  683 + </value>
  684 + </lookup>
  685 + <cluster_schema/>
  686 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  687 + <xloc>361</xloc>
  688 + <yloc>65</yloc>
  689 + <draw>Y</draw>
  690 + </GUI>
  691 + </step>
  692 +
  693 + <step>
  694 + <name>&#x5206;&#x516c;&#x53f8;&#x67e5;&#x8be2;</name>
  695 + <type>DBLookup</type>
  696 + <description/>
  697 + <distribute>Y</distribute>
  698 + <custom_distribution/>
  699 + <copies>1</copies>
  700 + <partitioning>
  701 + <method>none</method>
  702 + <schema_name/>
  703 + </partitioning>
  704 + <connection>bus_control_variable</connection>
  705 + <cache>N</cache>
  706 + <cache_load_all>N</cache_load_all>
  707 + <cache_size>0</cache_size>
  708 + <lookup>
  709 + <schema/>
  710 + <table>bsth_c_business</table>
  711 + <orderby/>
  712 + <fail_on_multiple>N</fail_on_multiple>
  713 + <eat_row_on_failure>N</eat_row_on_failure>
  714 + <key>
  715 + <name>company_code</name>
  716 + <field>up_code</field>
  717 + <condition>&#x3d;</condition>
  718 + <name2/>
  719 + </key>
  720 + <key>
  721 + <name>branche_company_code</name>
  722 + <field>business_code</field>
  723 + <condition>&#x3d;</condition>
  724 + <name2/>
  725 + </key>
  726 + <value>
  727 + <name>business_name</name>
  728 + <rename>fgs</rename>
  729 + <default/>
  730 + <type>String</type>
  731 + </value>
  732 + </lookup>
  733 + <cluster_schema/>
  734 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  735 + <xloc>479</xloc>
  736 + <yloc>67</yloc>
  737 + <draw>Y</draw>
  738 + </GUI>
  739 + </step>
  740 +
  741 + <step_error_handling>
  742 + </step_error_handling>
  743 + <slave-step-copy-partition-distribution>
  744 +</slave-step-copy-partition-distribution>
  745 + <slave_transformation>N</slave_transformation>
  746 +
  747 +</transformation>
src/main/resources/static/pages/base/line/details.html
@@ -408,7 +408,18 @@ @@ -408,7 +408,18 @@
408 <!-- 开辟日期 END --> 408 <!-- 开辟日期 END -->
409 </div> 409 </div>
410 <!-- 表单分组组件 form-group END --> 410 <!-- 表单分组组件 form-group END -->
411 - 411 + <!-- 表单分组组件 form-group START -->
  412 + <div class="form-group">
  413 + <!-- 权证车辆数 START -->
  414 + <div class="col-md-6">
  415 + <label class="control-label col-md-5"> 权证车辆数&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: </label>
  416 + <div class="col-md-4">
  417 + <input type="text" class="form-control" name="warrantCar" id="warrantCarInput" placeholder="权证车辆数">
  418 + </div>
  419 + </div>
  420 + <!-- 权证车辆数 END -->
  421 + </div>
  422 + <!-- 表单分组组件 form-group END -->
412 <!-- 表单分组组件 form-group START --> 423 <!-- 表单分组组件 form-group START -->
413 <div class="form-group"> 424 <div class="form-group">
414 <!-- 线路沿革 START --> 425 <!-- 线路沿革 START -->
src/main/resources/static/pages/base/line/edit.html
@@ -421,6 +421,18 @@ @@ -421,6 +421,18 @@
421 </div> 421 </div>
422 <!-- 表单分组组件 form-group END --> 422 <!-- 表单分组组件 form-group END -->
423 423
  424 + <!-- 表单分组组件 form-group START -->
  425 + <div class="form-group">
  426 + <!-- 权证车辆数 START -->
  427 + <div class="col-md-6">
  428 + <label class="control-label col-md-5"> 权证车辆数&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: </label>
  429 + <div class="col-md-4">
  430 + <input type="text" class="form-control" name="warrantCar" id="warrantCarInput" placeholder="权证车辆数">
  431 + </div>
  432 + </div>
  433 + <!-- 权证车辆数 END -->
  434 + </div>
  435 + <!-- 表单分组组件 form-group END -->
424 <!-- 表单分组组件 form-group START --> 436 <!-- 表单分组组件 form-group START -->
425 <div class="form-group"> 437 <div class="form-group">
426 <!-- 线路沿革 START --> 438 <!-- 线路沿革 START -->
src/main/resources/static/pages/base/station/js/station-list-edit.js 0 → 100644
  1 +/**
  2 + *
  3 + * @JSName : list_edit.js(修改站点信息list_edit.html页面js)
  4 + *
  5 + * @Version 公交调度系统BS版 0.1
  6 + *
  7 + */
  8 +
  9 +(function(){
  10 + // 获取参站点路由路ID
  11 + var no = [];
  12 + no = $.url().param('no').split(",");
  13 + var id = no[0];
  14 + $('#lineNameInput').val(no[1]);
  15 + // 获取站点对象信息
  16 + var editStation = {};
  17 + /*PositionsPublicFunctions.getStationRouteInfo(id,function(r) {
  18 + editStation = r;
  19 + });*/
  20 + $.ajax({
  21 + url: "/stationroute/findStationRouteInfo", //请求地址
  22 + type: "Get",
  23 + async:false,
  24 + //请求方式
  25 + data: { id : id}, //请求参数
  26 + success: function (result) {
  27 + editStation = result[0];
  28 + }
  29 + });
  30 + // 初始化表单值
  31 + PositionsPublicFunctions.setListEditFrom(editStation);
  32 + var initzdlyP = {'lineCode_eq':editStation.stationRouteLIneCode,'destroy_eq':0,'directions_eq':editStation.stationRoutedirections};
  33 + initSelect(initzdlyP);
  34 +
  35 + // 编辑表单元素
  36 + var form = $('#list_edit_station_form');
  37 + // 获取错误提示元素
  38 + var error = $('.alert-danger', form);
  39 + // 提交数据按钮事件
  40 + $('#editStationButton').on('click', function() {
  41 + // 表单提交
  42 + form.submit();
  43 + });
  44 + // 表单验证
  45 + form.validate({
  46 + errorElement : 'span',
  47 + errorClass : 'help-block help-block-error',
  48 + focusInvalid : false,
  49 + rules : {
  50 + 'stationName' : {required : true},// 站点路由名称 必填项
  51 + 'stationCod': {required : true,},// 站点编码 必填项
  52 + 'directions' : {required : true,dirIs : true},// 站点方向 必填项 必填项
  53 + 'stationRouteCode' : {isStart : true},// 站点序号
  54 + 'stationMark' : {required : true},// 站点类型 必填项
  55 + 'bJwpoints' : {required : true},// 经纬度坐标点 必填项
  56 + 'shapesType' : {required : true},// 几何图形类型 必填项
  57 + 'radius' : {required : true},// 圆形半径 必填项
  58 + 'destroy' : {required : true},// 是否撤销 必填项
  59 + 'toTime' : {number : true},// 到站时间 必须输入合法的数字(负数,小数)。
  60 + 'distances' : {number : true},// 到站距离 // 到站距离
  61 + 'descriptions' : {maxlength: 150}// 描述与说明 最大长度
  62 + },
  63 + invalidHandler : function(event, validator) {
  64 + error.show();
  65 + App.scrollTo(error, -200);
  66 + },
  67 + highlight : function(element) {
  68 + $(element).closest('.form-group').addClass('has-error');
  69 + },
  70 + unhighlight : function(element) {
  71 + $(element).closest('.form-group').removeClass('has-error');
  72 + },
  73 + success : function(label) {
  74 + label.closest('.form-group').removeClass('has-error');
  75 + },
  76 + submitHandler : function(f) {
  77 + error.hide();
  78 + var params = form.serializeJSON();
  79 + /*if(params.shapesType=='圆形')
  80 + params.shapesType = 'r';
  81 + else if(params.shapesType=='多边形')
  82 + params.shapesType = 'd';*/
  83 + if(params.stationRouteCode=='请选择...')
  84 + params.stationRouteCode='';
  85 + PositionsPublicFunctions.stationUpdate(params,function(resuntDate) {
  86 + if(resuntDate.status=='SUCCESS') {
  87 + // 弹出添加成功提示消息
  88 + layer.msg('修改成功...');
  89 + }else {
  90 + // 弹出添加失败提示消息
  91 + layer.msg('修改失败...');
  92 + }
  93 + //返回站点信息页面
  94 + loadPage('list.html');
  95 + });
  96 + }
  97 + });
  98 + // 站点序号值改变事件
  99 + $('#stationrouteSelect').on('change',function() {
  100 + var stationRValue = $('#stationrouteSelect').val();
  101 + if(stationRValue=='请选择...') {
  102 + $('#stationMarkSelect').val('B');
  103 + }else {
  104 + var tempStr = stationRValue.split('_');
  105 + if(tempStr[1] == 'E') {
  106 + $('#stationMarkSelect').val('E');
  107 + }else {
  108 + $('#stationMarkSelect').val('Z');
  109 + }
  110 + }
  111 + });
  112 + function initSelect(p){
  113 + PositionsPublicFunctions.getzdlyInfo(p,function(array) {
  114 + // 定义路段路由长度、渲染拼音检索下拉框格式数据.
  115 + var len_ = array.length,paramsD = new Array();
  116 + if(len_>0) {
  117 + paramsD.push({'id':'请选择...','text':'请选择...'});
  118 + // 遍历.
  119 + $.each(array, function(i, g){
  120 + // 判断.
  121 + if(g.name!='' || g.name != null) {
  122 + if(g.stationRouteCode != editStation.stationRouteCode) {
  123 + // 添加拼音检索下拉框格式数据数组.
  124 + /* paramsD.push({'id':g.stationRouteCode + '_' + g.stationMark + '_' + g.directions,
  125 + 'text':g.stationName + ' (' + g.stationRouteCode + ')' + ' --' + PositionsPublicFunctions.dirdmToName(g.directions)}); */
  126 + if(editStation.stationRouteStationMark=='E' && i == (len_-2)){
  127 + paramsD.push({'id':g.stationRouteCode + '_' + 'E' + '_' + g.directions,
  128 + 'text':g.stationName + ' (' + g.stationRouteCode + ')' + ' --' + PositionsPublicFunctions.dirdmToName(g.directions)});
  129 + }else {
  130 + paramsD.push({'id':g.stationRouteCode + '_' + g.stationMark + '_' + g.directions,
  131 + 'text':g.stationName + ' (' + g.stationRouteCode + ')' + ' --' + PositionsPublicFunctions.dirdmToName(g.directions)});
  132 + }
  133 + }
  134 + }
  135 + });
  136 + $('#stationrouteSelect').empty();
  137 + // 初始化上一个路段拼音检索下拉框.
  138 + initPinYinSelect2($('#stationrouteSelect'),paramsD,function(selector) {
  139 + setZdlyValue();
  140 + });
  141 + }
  142 + });
  143 + }
  144 + function setZdlyValue() {
  145 + PositionsPublicFunctions.findUpStationRouteCode(editStation.stationRouteLine,editStation.stationRoutedirections,editStation.stationRouteCode,function(str) {
  146 + /* if(str.length>0){
  147 + var upStationRouteCode = str[0].stationRouteCode + '_' + str[0].stationRouteMarke + '_' + editStation.stationRoutedirections;
  148 + $('#stationrouteSelect').select2('val',upStationRouteCode);
  149 + } */
  150 + if(str.length>0){
  151 + var upStationRouteCode = str[0].stationRouteCode + '_' + editStation.stationRouteStationMark + '_' + editStation.stationRoutedirections;
  152 + $('#stationrouteSelect').select2('val',upStationRouteCode);
  153 + }else {
  154 + $('#stationrouteSelect').select2('val','请选择...');
  155 + }
  156 + $('#stationMarkSelect').val(editStation.stationRouteStationMark);
  157 + });
  158 + }
  159 + // 当站点类型为中途站或者终点站时,上一站点为必填项!
  160 + $.validator.addMethod("isStart", function(value,element) {
  161 + var tel = false;
  162 + var stationMarkV = $('#stationMarkSelect').val();
  163 + var stationrouteSelectV = $('#stationrouteSelect').val();
  164 + if(stationMarkV =='B'){
  165 + tel = true;
  166 + return tel;
  167 + }else if(stationMarkV =='Z' || stationMarkV =='E'){
  168 + if(stationrouteSelectV!='' && stationrouteSelectV!='请选择...' && stationrouteSelectV!=null){
  169 + tel = true;
  170 + return tel;
  171 + }
  172 + }
  173 + return tel;
  174 + }, '当站点类型为中途站或者终点站时,上一站点为必填项!');
  175 + // 方向
  176 + $.validator.addMethod("dirIs", function(value,element) {
  177 + var tel = true;
  178 + var stationMarkV = $('#stationdirSelect').val();
  179 + if(stationMarkV!=editStation.stationRoutedirections){
  180 + tel = false;
  181 + }
  182 + return tel;
  183 + }, '方向必须一致!');
  184 +})();
0 \ No newline at end of file 185 \ No newline at end of file
src/main/resources/static/pages/base/station/js/station-positions-function.js
@@ -153,6 +153,53 @@ var PositionsPublicFunctions = function () { @@ -153,6 +153,53 @@ var PositionsPublicFunctions = function () {
153 // 描述/说明 153 // 描述/说明
154 $('#descriptionsTextarea').val(stationObj.stationRouteDescriptions); 154 $('#descriptionsTextarea').val(stationObj.stationRouteDescriptions);
155 }, 155 },
  156 + setListEditFrom : function(stationObj) {
  157 + // 图形坐标点集合(百度坐标)
  158 + $('#bPolygonGridInput').val(stationObj.stationBPolyonGrid);
  159 + // 百度地图经纬度坐标中心点
  160 + $('#bJwpointsInput').val(stationObj.stationJwpoints);
  161 + // WGS坐标点图形集合
  162 + $('#bPolygonGridInput').val(stationObj.stationGPloyonGrid);
  163 + // 城建坐标x
  164 + $('#xInput').val(stationObj.stationGlonx);
  165 + // 城建坐标y
  166 + $('#yInput').val(stationObj.stationGlony);
  167 + // 获取图形类型元素,并添加值
  168 + $('#shapesTypeSelect').val(stationObj.stationShapesType);
  169 + // 获取半径元素,并添加值
  170 + $('#radiusInput').val(stationObj.stationRadius);
  171 + // 线路ID
  172 + $('#stationRouteLineInput').val(stationObj.stationRouteLIneCode);
  173 + // 站点编码
  174 + $('#stationCodInput').val(stationObj.stationCode);
  175 +
  176 + // 线路编码
  177 + $('#lineCodeInput').val(stationObj.stationRouteCode);
  178 + /*// 线路名称
  179 + $('#lineNameInput').val();*/
  180 + // 站点ID
  181 + $('#StationCodeInput').val(stationObj.stationRouteStation);
  182 + // 站点路由ID
  183 + $('#stationRouteIdInput').val(stationObj.stationRouteId);
  184 + // 站点名称
  185 + $('#zdmcInput').val(stationObj.zdmc);
  186 + // 站点路由线路名称
  187 + $('#stationNameInput').val(stationObj.stationName);
  188 + // 获取站点类型元素设值
  189 + $('#stationMarkSelect').val(stationObj.stationRouteStationMark);
  190 + // 获取站点方向元素设值
  191 + $('#stationdirSelect').val(stationObj.stationRoutedirections);
  192 + // 获取站点道路编码元素设值
  193 + $('#roadCodingCodInput').val(stationObj.stationRoadCoding);
  194 + // 是否撤销
  195 + $('#destroySelect').val(stationObj.stationRouteDestroy);
  196 + // 到站时间
  197 + $('#toTimeInput').val(stationObj.stationRouteToTime);
  198 + // 到站距离
  199 + $('#distancesInput').val(stationObj.stationRouteDistances);
  200 + // 描述/说明
  201 + $('#descriptionsTextarea').val(stationObj.stationRouteDescriptions);
  202 + },
156 // 获取站点路由. 203 // 获取站点路由.
157 getzdlyInfo : function(params,callback) { 204 getzdlyInfo : function(params,callback) {
158 $get('/stationroute/all',params,function(result) { 205 $get('/stationroute/all',params,function(result) {
src/main/resources/static/pages/base/station/list.html
@@ -170,6 +170,7 @@ @@ -170,6 +170,7 @@
170 </td> 170 </td>
171 <td> 171 <td>
172 <a href="positions.html?no={{obj.id}}" class="btn default blue-stripe btn-sm" data-pjax> 定位 </a> 172 <a href="positions.html?no={{obj.id}}" class="btn default blue-stripe btn-sm" data-pjax> 定位 </a>
  173 + <a href="list_edit.html?no={{obj.id}},{{obj.line.name}}" class="btn default blue-stripe btn-sm" data-pjax> 修改 </a>
173 </td> 174 </td>
174 </tr> 175 </tr>
175 {{/each}} 176 {{/each}}
src/main/resources/static/pages/base/station/list_edit.html 0 → 100644
  1 +<div class="page-head">
  2 + <div class="page-title">
  3 + <h1>修改站点信息</h1>
  4 + </div>
  5 +</div>
  6 +
  7 +<ul class="page-breadcrumb breadcrumb">
  8 + <li><a href="/pages/home.html" data-pjax>首页</a> <i class="fa fa-circle"></i></li>
  9 + <li><span class="active">基础信息</span> <i class="fa fa-circle"></i></li>
  10 + <li><a href="/pages/base/station/list.html" data-pjax>站点信息</a> <i class="fa fa-circle"></i></li>
  11 + <li><span class="active">修改站点信息</span></li>
  12 +</ul>
  13 +
  14 +<!-- 信息容器组件 START -->
  15 +<div class="portlet light bordered">
  16 +
  17 + <!-- 信息容器组件标题 START -->
  18 + <div class="portlet-title">
  19 + <div class="caption">
  20 + <i class="icon-equalizer font-red-sunglo"></i>
  21 + <span class="caption-subject font-red-sunglo bold uppercase">修改站点信息</span>
  22 + </div>
  23 + </div>
  24 + <!-- 信息容器组件标题 END -->
  25 +
  26 + <!-- 表单容器组件 START -->
  27 + <div class="portlet-body form" id="StationEditForm">
  28 +
  29 + <!-- START FORM -->
  30 + <form action="/" class="form-horizontal" id="list_edit_station_form" >
  31 +
  32 + <!-- 错误提示信息组件 START -->
  33 + <div class="alert alert-danger display-hide">
  34 + <button class="close" data-close="alert"></button>
  35 + 您的输入有误,请检查下面的输入项
  36 + </div>
  37 + <!-- 错误提示信息组件 END -->
  38 +
  39 + <!-- 表单内容 START -->
  40 + <div class="form-body">
  41 + <input type="hidden" name="id" id="lineId">
  42 +
  43 + <!-- 表单分组组件 form-group START -->
  44 + <div class="form-group">
  45 + <!-- 图形坐标点集合(百度坐标) -->
  46 + <input type="hidden" name="bPolygonGrid" id="bPolygonGridInput" />
  47 + <!-- 经纬度坐标点 -->
  48 + <input type="hidden" name="bJwpoints" id="bJwpointsInput">
  49 + <!-- 图形坐标点集合(WGS坐标) -->
  50 + <input type="hidden" name="gPolygonGrid" id="gPolygonGridInput" />
  51 + <!-- 原始坐标类型 -->
  52 + <input type="hidden" name="dbType" id="dbTypeInput" value="b"/>
  53 + <!-- 城建坐标x -->
  54 + <input type="hidden" name="x" id="xInput" />
  55 + <!-- 城建坐标y -->
  56 + <input type="hidden" name="y" id="yInput" />
  57 + <!-- 几何图形类型 -->
  58 + <input type="hidden" name="shapesType" id="shapesTypeSelect">
  59 + <!-- 圆形半径 -->
  60 + <input type="hidden" name="radius" id="radiusInput" >
  61 + <!-- 线路ID -->
  62 + <input type="hidden" name="stationRouteLine" id="stationRouteLineInput">
  63 + <!-- 站点编码 -->
  64 + <input type="hidden" name="stationCod" id="stationCodInput">
  65 +
  66 + <!-- 线路编号(* 必填项) START -->
  67 + <div class="col-md-6">
  68 + <label class="control-label col-md-5">
  69 + <span class="required"> * </span>线路编码&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
  70 + </label>
  71 + <div class="col-md-4">
  72 + <input type="text" class="form-control" name="lineCode" id="lineCodeInput" placeholder="线路编号" readonly="readonly">
  73 + </div>
  74 + </div>
  75 + <!-- 线路编号 (* 必填项) END -->
  76 +
  77 + <!-- 线路名称 (* 必填项) START -->
  78 + <div class="col-md-6">
  79 + <label class="control-label col-md-5">
  80 + <span class="required"> * </span>线路名称&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
  81 + </label>
  82 + <div class="col-md-4">
  83 + <input type="text" class="form-control" name="lineName" id="lineNameInput" placeholder="线路名称" readonly="readonly" />
  84 + <span class="help-block"> 例如 :浦东88路 </span>
  85 + </div>
  86 + </div>
  87 + <!-- 线路名称 (* 必填项) END -->
  88 + </div>
  89 + <!-- 表单分组组件 form-group END -->
  90 +
  91 + <!-- 表单分组组件 form-group START -->
  92 + <div class="form-group">
  93 + <!-- 站点编号(* 必填项) START -->
  94 + <div class="col-md-6">
  95 + <label class="control-label col-md-5">
  96 + <span class="required"> * </span>站点编码&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
  97 + </label>
  98 + <div class="col-md-4">
  99 + <input type="text" class="form-control" name="stationId" id="StationCodeInput" placeholder="站点编号" readonly="readonly">
  100 + </div>
  101 + </div>
  102 + <!-- 站点编号 (* 必填项) END -->
  103 +
  104 + <!-- 站点名称 (* 必填项) START -->
  105 + <div class="col-md-6">
  106 + <label class="control-label col-md-5">
  107 + <span class="required"> * </span>站点名称&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
  108 + </label>
  109 + <div class="col-md-4">
  110 + <input type="text" class="form-control" name="zdmc" id="zdmcInput" placeholder="站点名称" readonly="readonly">
  111 + </div>
  112 + </div>
  113 + <!-- 站点名称 (* 必填项) END -->
  114 + </div>
  115 + <!-- 表单分组组件 form-group END -->
  116 +
  117 + <!-- 表单分组组件 form-group START -->
  118 + <div class="form-group">
  119 + <!-- 站点路由编码 -->
  120 + <div class="col-md-6">
  121 + <label class="control-label col-md-5">
  122 + <span class="required"> * </span>站点路由编码&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
  123 + </label>
  124 + <div class="col-md-4">
  125 + <input type="text" class="form-control" name="stationRouteId" id="stationRouteIdInput" placeholder="站点路由编码" readonly="readonly">
  126 + </div>
  127 + </div>
  128 +
  129 + <!-- 站点路由名称 -->
  130 + <div class="col-md-6">
  131 + <label class="control-label col-md-5">
  132 + <span class="required"> * </span>站点路由名称&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
  133 + </label>
  134 + <div class="col-md-4">
  135 + <input type="text" class="form-control" name="stationName" id="stationNameInput" placeholder="站点路由名称" >
  136 + </div>
  137 + </div>
  138 + </div>
  139 + <!-- 表单分组组件 form-group END -->
  140 +
  141 + <!-- 表单分组组件 form-group START -->
  142 + <div class="form-group">
  143 + <!-- 站点方向 -->
  144 + <div class="col-md-6">
  145 + <label class="control-label col-md-5">
  146 + <span class="required"> * </span>站点方向&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
  147 + </label>
  148 + <div class="col-md-4">
  149 + <select name="directions" class="form-control" id="stationdirSelect">
  150 + <option value="">-- 请选择站点类型 --</option>
  151 + <option value="0">上行</option>
  152 + <option value="1">下行</option>
  153 + </select>
  154 + </div>
  155 + </div>
  156 +
  157 + <!-- 站点序号 -->
  158 + <div class="col-md-6">
  159 + <label class="control-label col-md-5">
  160 + <span class="required"> * </span>上一站点&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
  161 + </label>
  162 + <div class="col-md-4">
  163 + <select name="stationRouteCode" class="form-control" id="stationrouteSelect" style="width:100%"></select>
  164 + <span class="help-block">说明:选择的站点将作为本站序号的参考,成为选择站点的下一站。 </span>
  165 + </div>
  166 + </div>
  167 + </div>
  168 + <!-- 表单分组组件 form-group END -->
  169 +
  170 + <!-- 表单分组组件 form-group START -->
  171 + <div class="form-group">
  172 + <!-- 站点类型 -->
  173 + <div class="col-md-6">
  174 + <label class="control-label col-md-5">
  175 + <span class="required"> * </span>站点类型&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
  176 + </label>
  177 + <div class="col-md-4">
  178 + <select name="stationMark" class="form-control" id="stationMarkSelect">
  179 + <option value="">-- 请选择站点类型 --</option>
  180 + <option value="B">起点站</option>
  181 + <option value="Z">中途站</option>
  182 + <option value="E">终点站</option>
  183 + </select>
  184 + </div>
  185 + </div>
  186 +
  187 + <!-- 是否撤销 START (因为options值基本固定,所以在页面固定。【以后可以根具需求修改成使用字典表实现】) -->
  188 + <div class="col-md-6">
  189 + <label class="control-label col-md-5">
  190 + <span class="required"> * </span>是否撤销&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
  191 + </label>
  192 + <div class="col-md-4">
  193 + <select name="destroy" class="form-control" id="destroySelect">
  194 + <option value="">-- 请选择撤销类型 --</option>
  195 + <option value="0">否</option>
  196 + <option value="1">是</option>
  197 + </select>
  198 + </div>
  199 + </div>
  200 + <!-- 是否撤销 START -->
  201 + </div>
  202 + <!-- 表单分组组件 form-group END -->
  203 +
  204 + <!-- 表单分组组件 form-group START -->
  205 + <div class="form-group">
  206 + <!-- 道路编码-->
  207 + <div class="col-md-6">
  208 + <label class="control-label col-md-5"><span class="required"> * </span>
  209 + 道路编码&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
  210 + </label>
  211 + <div class="col-md-4">
  212 + <input type="text" class="form-control" name="roadCoding" id="roadCodingCodInput" placeholder="道路编码">
  213 + </div>
  214 + </div>
  215 +
  216 + <!-- 到站时间 -->
  217 + <div class="col-md-6">
  218 + <label class="control-label col-md-5"><span class="required"> * </span>
  219 + 到站时间 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: </label>
  220 + <div class="col-md-4">
  221 + <input type="text" class="form-control" name="toTime" id="toTimeInput" placeholder="到站时间">
  222 + <span class="help-block">单位:分钟(min)</span>
  223 + </div>
  224 + </div>
  225 + </div>
  226 + <!-- 表单分组组件 form-group END -->
  227 +
  228 + <!-- 表单分组组件 form-group START -->
  229 + <div class="form-group">
  230 + <!-- 到站距离 -->
  231 + <div class="col-md-6">
  232 + <label class="control-label col-md-5"><span class="required"> * </span>
  233 + 到站距离&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label>
  234 + <div class="col-md-4">
  235 + <input type="text" class="form-control" name="distances" id="distancesInput" placeholder="到站距离">
  236 + <span class="help-block">单位:公里(km)</span>
  237 + </div>
  238 + </div>
  239 +
  240 + <!-- 版本号 -->
  241 + <div class="col-md-6">
  242 + <label class="control-label col-md-5"><span class="required"> * </span> 版本号&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
  243 + </label>
  244 + <div class="col-md-4">
  245 + <input type="text" class="form-control" name="versions" value='1' Readonly>
  246 + </div>
  247 + </div>
  248 + </div>
  249 + <!-- 表单分组组件 form-group END -->
  250 +
  251 + <!-- 表单分组组件 form-group START -->
  252 + <div class="form-group">
  253 + <!-- 描述/说明 -->
  254 + <div class="col-md-6">
  255 + <label class="control-label col-md-5"><span class="required"> * </span>描述/说明&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
  256 + </label>
  257 + <div class="col-md-4">
  258 + <textarea class="form-control" rows="3" name="descriptions" id="descriptionsTextarea" placeholder="描述/说明"></textarea>
  259 + </div>
  260 + </div>
  261 +
  262 +
  263 + </div>
  264 + <!-- 表单分组组件 form-group END -->
  265 +
  266 + <!-- 表单按钮组件 START -->
  267 + <div class="form-actions">
  268 + <div class="row">
  269 + <div class="col-md-offset-5 col-md-7">
  270 + <button type="submit" class="btn green" ><i class="fa fa-check"></i> 提交</button>
  271 + <a type="button" class="btn default" href="list.html" data-pjax><i class="fa fa-times"></i> 取消</a>
  272 + </div>
  273 + </div>
  274 + </div>
  275 + <!-- 表单按钮组件 END -->
  276 + </form>
  277 + <!-- END FORM-->
  278 + </div>
  279 + <!-- 表单组件 END -->
  280 +</div>
  281 +<!-- 信息容器组件 END -->
  282 +
  283 +<script src="/pages/base/station/js/positionstation.js"></script>
  284 +<script src="/pages/base/station/js/station-positions-function.js"></script>
  285 +<script src="/pages/base/station/js/station-list-edit.js"></script>
0 \ No newline at end of file 286 \ No newline at end of file
src/main/resources/static/pages/base/stationroute/addstationstemplate.html
@@ -57,7 +57,7 @@ @@ -57,7 +57,7 @@
57 <h5 class="block"><span class="help-block" style="color:#1bbc9b;"> * 手动添加站点规划说明: </span></h5> 57 <h5 class="block"><span class="help-block" style="color:#1bbc9b;"> * 手动添加站点规划说明: </span></h5>
58 <p> 58 <p>
59 <span class="help-block" style="color:#1bbc9b;"> 59 <span class="help-block" style="color:#1bbc9b;">
60 - &nbsp;请在文本域中按站点顺序依次输入站点名称(如果已有站点GPS坐标,请将坐标跟在站点名称后面用【Tab】键隔开),每输入完一个站名时请按回车键【Enter】换行. 60 + &nbsp;请在文本域中按站点顺序依次输入站点名称(如果已有站点GPS坐标(坐标点也用【Tab】键隔开),请将坐标跟在站点名称后面用【Tab】键隔开),每输入完一个站名时请按回车键【Enter】换行.
61 例如:<br><br> 61 例如:<br><br>
62 浦东大道金桥路 121.496612 31.238960<br> 62 浦东大道金桥路 121.496612 31.238960<br>
63 浦东大道居家桥路 121.496618 31.238957<br> 63 浦东大道居家桥路 121.496618 31.238957<br>
src/main/resources/static/pages/electricity/jdl/list.html
@@ -55,8 +55,7 @@ @@ -55,8 +55,7 @@
55 <td> 55 <td>
56 <select class="form-control" name="nbbm" id="nbbm" style="width: 120px;"></select> 56 <select class="form-control" name="nbbm" id="nbbm" style="width: 120px;"></select>
57 </td> 57 </td>
58 - <td>驾驶员:</td>  
59 - <td><input type="text" style="width: 80px" name="jsy" id="jsy"/></td> 58 +
60 <td width="20%"> 59 <td width="20%">
61 <button class="btn btn-sm green btn-outline filter-submit margin-bottom" style="margin-right:0px"> 60 <button class="btn btn-sm green btn-outline filter-submit margin-bottom" style="margin-right:0px">
62 <i class="fa fa-search"></i> 搜索 61 <i class="fa fa-search"></i> 搜索
@@ -73,7 +72,6 @@ @@ -73,7 +72,6 @@
73 <th>#</th> 72 <th>#</th>
74 <th>日期</th> 73 <th>日期</th>
75 <th colspan="2">内部编码</th> 74 <th colspan="2">内部编码</th>
76 - <th colspan="2">驾驶员</th>  
77 <th colspan="2">充电量</th> 75 <th colspan="2">充电量</th>
78 <th colspan="2">充电站</th> 76 <th colspan="2">充电站</th>
79 <th colspan="2">备注</th> 77 <th colspan="2">备注</th>
@@ -382,7 +380,7 @@ @@ -382,7 +380,7 @@
382 </td> 380 </td>
383 <td>{{obj.rq}}</td> 381 <td>{{obj.rq}}</td>
384 <td colspan="2">{{obj.nbbm}}</td> 382 <td colspan="2">{{obj.nbbm}}</td>
385 - <td colspan="2">{{obj.jsy}}</td> 383 +
386 <td colspan="2">{{obj.jdl}}</td> 384 <td colspan="2">{{obj.jdl}}</td>
387 <td colspan="2">{{obj.jdz}}</td> 385 <td colspan="2">{{obj.jdz}}</td>
388 <td>{{obj.remarks}}</td> 386 <td>{{obj.remarks}}</td>
src/main/resources/static/pages/forms/export/import_Jdl.xls
No preview for this file type
src/main/resources/static/pages/forms/mould/export_Jdl.xls
No preview for this file type
src/main/resources/static/pages/forms/statement/mileageReport.html 0 → 100644
  1 +<style type="text/css">
  2 + .table-bordered {
  3 + border: 1px solid; }
  4 + .table-bordered > thead > tr > th,
  5 + .table-bordered > thead > tr > td,
  6 + .table-bordered > tbody > tr > th,
  7 + .table-bordered > tbody > tr > td,
  8 + .table-bordered > tfoot > tr > th,
  9 + .table-bordered > tfoot > tr > td {
  10 + border: 1px solid; }
  11 + .table-bordered > thead > tr > th,
  12 + .table-bordered > thead > tr > td {
  13 + border-bottom-width: 2px; }
  14 +
  15 + .table > tbody + tbody {
  16 + border-top: 1px solid; }
  17 +
  18 + #forms > thead > tr> td >span{
  19 + width: 5px;
  20 + word-wrap: break-word;
  21 + letter-spacing: 20px;
  22 + }
  23 +
  24 + #forms > thead > tr> td >label{
  25 + word-break: keep-all;white-space:nowrap;
  26 + }
  27 +</style>
  28 +
  29 +<div class="page-head">
  30 + <div class="page-title">
  31 + <h1>运营里程修正报表</h1>
  32 + </div>
  33 +</div>
  34 +
  35 +<!-- <div class="row"> -->
  36 + <div class="col-md-12 portlet light porttlet-fit bordered" style="height:calc(100% - 56px)">
  37 +<!-- <div> -->
  38 + <div class="portlet-title">
  39 + <form class="form-inline" action="">
  40 + <div style="display: inline-block; " id="gsdmDiv">
  41 + <span class="item-label" style="width: 80px;margin-left: 28px;">公司: </span>
  42 + <select class="form-control" name="company" id="gsdm" style="width: 180px;"></select>
  43 + </div>
  44 + <div style="display: inline-block; margin-left: 29px;" id="fgsdmDiv">
  45 + <span class="item-label" style="width: 80px;">分公司: </span>
  46 + <select class="form-control" name="subCompany" id="fgsdm" style="width: 180px;"></select>
  47 + </div>
  48 + <div style="display: inline-block;margin-left: 15px;">
  49 + <span class="item-label" style="width: 80px;">线路: </span>
  50 + <select class="form-control" name="line" id="line" style="width: 180px;"></select>
  51 + </div>
  52 + <div style="margin-top: 10px"></div>
  53 + <div style="display: inline-block;">
  54 + <span class="item-label" style="width: 80px;">开始时间: </span>
  55 + <input class="form-control" type="text" id="date" style="width: 180px;"/>
  56 + </div>
  57 + <div style="display: inline-block;margin-left: 15px;">
  58 + <span class="item-label" style="width: 80px;">结束时间: </span>
  59 + <input class="form-control" type="text" id="date2" style="width: 180px;"/>
  60 + </div>
  61 + <div class="form-group" style="width: 80px;margin-left: 15px;">
  62 + <input class="btn btn-default" type="button" id="query" value="查询"/>
  63 + </div>
  64 + </form>
  65 + </div>
  66 + <div class="portlet-body" id="tjrbBody" style="overflow:auto;height: calc(100% - 80px)">
  67 + <div class="table-container" style="margin-top: 10px;min-width: 906px">
  68 + <table class="table table-bordered table-hover table-checkable" id="forms">
  69 + <thead>
  70 + <tr>
  71 + <!-- <td rowspan="2">计划总公里</td>
  72 + <td rowspan="2">计划营运公里</td>
  73 + <td rowspan="2">计划空驶公里</td> -->
  74 + <td rowspan="2" style="text-align: center; padding-top: 45px">公司名</td>
  75 + <td rowspan="2" style="text-align: center; padding-top: 45px">分公司名</td>
  76 + <td rowspan="2" style="text-align: center; padding-top: 45px">线路</td>
  77 + <td rowspan="2" style="text-align: center; padding-top: 45px">实际营运公里</td>
  78 + <td rowspan="2" style="text-align: center; padding-top: 45px">实际空驶公里</td>
  79 + <td rowspan="2" style="text-align: center; padding-top: 45px">实际总公里</td>
  80 + <!-- <td rowspan="2" style="text-align: center; padding-top: 45px">少驶公里</td> -->
  81 + <td colspan="2" align="center" style="text-align: center;">待发调整公里</td>
  82 + <td colspan="3" align="center" style="text-align: center;">无信号公里</td>
  83 + <!-- <td rowspan="2">少驶班次</td> -->
  84 + <td rowspan="2" style="text-align: center; padding-top: 45px">临加公里</td>
  85 + <td rowspan="2" style="text-align: center; padding-top: 45px">子任务</td>
  86 + <td rowspan="2" style="text-align: center; padding-top: 45px">其他</td>
  87 + </tr>
  88 + <tr>
  89 + <td class="hidden"></td>
  90 + <td rowspan="2" style="text-align: center;">手动待发公里</td>
  91 + <td rowspan="2" style="text-align: center;">自动待发公里</td>
  92 + <!-- <td rowspan="2" style="text-align: center;">待发合计公里</td> -->
  93 + <td rowspan="2" style="text-align: center;">完全无信号公里</td>
  94 + <td rowspan="2" style="text-align: center;">部分无信号公里</td>
  95 + <td rowspan="2" style="text-align: center;">漂移公里</td>
  96 + </tr>
  97 +
  98 + </thead>
  99 + <tbody class="mileageReport">
  100 +
  101 + </tbody>
  102 + </table>
  103 + </div>
  104 + </div>
  105 + </div>
  106 +<!-- </div>
  107 +</div> -->
  108 +
  109 +<script>
  110 + $(function(){
  111 + $('#export').attr('disabled', "true");
  112 +
  113 + // 关闭左侧栏
  114 + if (!$('body').hasClass('page-sidebar-closed'))
  115 + $('.menu-toggler.sidebar-toggler').click();
  116 +
  117 + $("#date").datetimepicker({
  118 + format : 'YYYY-MM-DD',
  119 + locale : 'zh-cn'
  120 + });
  121 +
  122 + $("#date2").datetimepicker({
  123 + format : 'YYYY-MM-DD',
  124 + locale : 'zh-cn'
  125 + });
  126 + var d = new Date();
  127 + var year = d.getFullYear();
  128 + var month = d.getMonth() + 1;
  129 + var day = d.getDate();
  130 + if(month < 10)
  131 + month = "0" + month;
  132 + if(day < 10)
  133 + day = "0" + day;
  134 + $("#date").val(year + "-" + month + "-" + day);
  135 +
  136 + $("#date2").val(year + "-" + month + "-" + day);
  137 +
  138 + var fage=false;
  139 + var obj = [];
  140 + var xlList;
  141 + $.get('/report/lineList',function(result){
  142 + xlList=result;
  143 + $.get('/user/companyData', function(result){
  144 + obj = result;
  145 + var options = '';
  146 + for(var i = 0; i < obj.length; i++){
  147 + options += '<option value="'+obj[i].companyCode+'">'+obj[i].companyName+'</option>';
  148 + }
  149 +
  150 + if(obj.length ==0){
  151 + $("#gsdmDiv").css('display','none');
  152 + }else if(obj.length ==1){
  153 + $("#gsdmDiv").css('display','none');
  154 + if(obj[0].children.length == 1 || obj[0].children.length ==0)
  155 + $('#fgsdmDiv').css('display','none');
  156 + }
  157 + $('#gsdm').html(options);
  158 + updateCompany();
  159 + });
  160 + })
  161 + $("#gsdm").on("change",updateCompany);
  162 + function updateCompany(){
  163 + var company = $('#gsdm').val();
  164 + var options = '';
  165 + for(var i = 0; i < obj.length; i++){
  166 + if(obj[i].companyCode == company){
  167 + var children = obj[i].children;
  168 + for(var j = 0; j < children.length; j++){
  169 + options += '<option value="'+children[j].code+'">'+children[j].name+'</option>';
  170 + }
  171 + }
  172 + }
  173 + $('#fgsdm').html(options);
  174 +// initXl();
  175 + }
  176 +
  177 + var tempData = {};
  178 + $.get('/report/lineList',function(xlList){
  179 + var data = [];
  180 + data.push({id: " ", text: "全部线路"});
  181 + $.get('/user/companyData', function(result){
  182 + for(var i = 0; i < result.length; i++){
  183 + var companyCode = result[i].companyCode;
  184 + var children = result[i].children;
  185 + for(var j = 0; j < children.length; j++){
  186 + var code = children[j].code;
  187 + for(var k=0;k < xlList.length;k++ ){
  188 + if(xlList[k]["fgsbm"]==code && xlList[k]["gsbm"]==companyCode){
  189 + data.push({id: xlList[k]["xlbm"], text: xlList[k]["xlname"]});
  190 + tempData[xlList[k]["xlbm"]] = companyCode+":"+code;
  191 + }
  192 + }
  193 + }
  194 + }
  195 + initPinYinSelect2('#line',data,'');
  196 +
  197 + });
  198 + });
  199 +
  200 + $("#line").on("change", function(){
  201 + if($("#line").val() == " "){
  202 + $("#gsdm").attr("disabled", false);
  203 + $("#fgsdm").attr("disabled", false);
  204 + } else {
  205 + var temp = tempData[$("#line").val()].split(":");
  206 + $("#gsdm").val(temp[0]);
  207 + updateCompany();
  208 + $("#fgsdm").val(temp[1]);
  209 + $("#gsdm").attr("disabled", true);
  210 + $("#fgsdm").attr("disabled", true);
  211 + }
  212 + });
  213 +
  214 +
  215 + var line ="";
  216 + var xlName ="";
  217 + var date = "";
  218 + var date2 ="";
  219 + var gsdm="";
  220 + var fgsdm="";
  221 + $("#query").on("click",function(){
  222 + if($("#date").val() == null || $("#date").val().trim().length == 0){
  223 + layer.msg("请选择时间范围!");
  224 + return;
  225 + }
  226 + if($("#date2").val() == null || $("#date2").val().trim().length == 0){
  227 + layer.msg("请选择时间范围!");
  228 + return;
  229 + }
  230 +// $("#tjrbBody").height($(window).height()-100);
  231 + line = $("#line").val();
  232 + xlName = $("#select2-line-container").html();
  233 + date = $("#date").val();
  234 + date2 =$("#date2").val();
  235 + gsdm =$("#gsdm").val();
  236 + fgsdm=$("#fgsdm").val();
  237 + if(line=="请选择"){
  238 + line="";
  239 + }
  240 + if(date==null || date =="" ||date2==null || date2 ==""){
  241 + layer.msg('请选择时间段.');
  242 + }else{
  243 + var params = {};
  244 + params['gsdm'] = gsdm;
  245 + params['fgsdm'] =fgsdm ;
  246 + params['line'] = line;
  247 + params['date'] = date;
  248 + params['date2'] = date2;
  249 + params['xlName'] = xlName;
  250 + params['type'] = "query";
  251 + $get('/realSchedule/mileageReportTj',params,function(result){
  252 + // 把数据填充到模版中
  253 + var tbodyHtml = template('mileageReport',{list:result});
  254 + // 把渲染好的模版html文本追加到表格中
  255 + $('#forms .mileageReport').html(tbodyHtml);
  256 +
  257 + /* if(result.length == 0)
  258 + $("#export").attr('disabled',"true");
  259 + else
  260 + $("#export").removeAttr("disabled"); */
  261 + });
  262 + }
  263 +
  264 + });
  265 +// $("#tjrbBody").height($(window).height()-100);
  266 + // 导出
  267 + /* $("#export").on("click",function(){
  268 + var params = {};
  269 + params['gsdm'] = gsdm;
  270 + params['fgsdm'] =fgsdm ;
  271 + params['line'] = line;
  272 + params['date'] = date;
  273 + params['date2'] = date2;
  274 + params['xlName'] = xlName;
  275 + params['type'] = "export";
  276 + $get('/realSchedule/mileageReportTj',params,function(result){
  277 + window.open("/downloadFile/download?fileName=统计日报"+moment(date).format("YYYYMMDD"));
  278 + });
  279 + }); */
  280 +
  281 + });
  282 +</script>
  283 +<script type="text/html" id="mileageReport">
  284 + {{each list as obj i}}
  285 + <tr>
  286 + {{if obj.xlName=='合计'}}
  287 + <td colspan="3">{{obj.xlName}}</td>
  288 + {{/if}}
  289 + {{if obj.xlName!='合计'}}
  290 + <td>{{obj.gsName}}</td>
  291 + <td>{{obj.fgsName}}</td>
  292 + <td>{{obj.xlName}}</td>
  293 + {{/if}}
  294 + <td>{{obj.sjyygl}}</td>
  295 + <td>{{obj.sjksgl}}</td>
  296 + <td>{{obj.zgl}}</td>
  297 + <td>{{obj.sddfgl}}</td>
  298 + <td>{{obj.zddfgl}}</td>
  299 + <td>{{obj.wqwxhgl}}</td>
  300 + <td>{{obj.bfwxhgl}}</td>
  301 + <td>{{obj.pygl}}</td>
  302 + <td>{{obj.ljgl}}</td>
  303 + <td>{{obj.zrwgl}}</td>
  304 + <td>{{obj.other}}</td>
  305 +
  306 + </tr>
  307 + {{/each}}
  308 + {{if list.length == 0}}
  309 + <tr>
  310 + <td colspan="44"><h6 class="muted">没有找到相关数据</h6></td>
  311 + </tr>
  312 + {{/if}}
  313 +</script>
0 \ No newline at end of file 314 \ No newline at end of file
src/main/resources/static/pages/forms/statement/scheduleCorrectionReport.html 0 → 100644
  1 +<style type="text/css">
  2 + .table-bordered {
  3 + border: 1px solid; }
  4 + .table-bordered > thead > tr > th,
  5 + .table-bordered > thead > tr > td,
  6 + .table-bordered > tbody > tr > th,
  7 + .table-bordered > tbody > tr > td,
  8 + .table-bordered > tfoot > tr > th,
  9 + .table-bordered > tfoot > tr > td {
  10 + border: 1px solid; }
  11 + .table-bordered > thead > tr > th,
  12 + .table-bordered > thead > tr > td {
  13 + border-bottom-width: 2px; }
  14 +
  15 + .table > tbody + tbody {
  16 + border-top: 1px solid; }
  17 +
  18 + #forms > thead > tr> td >span{
  19 + width: 5px;
  20 + word-wrap: break-word;
  21 + letter-spacing: 20px;
  22 + }
  23 +
  24 + #forms > thead > tr> td >label{
  25 + word-break: keep-all;white-space:nowrap;
  26 + }
  27 +</style>
  28 +
  29 +<div class="page-head">
  30 + <div class="page-title">
  31 + <h1>班次修正报表</h1>
  32 + </div>
  33 +</div>
  34 +
  35 +<!-- <div class="row"> -->
  36 + <div class="col-md-12 portlet light porttlet-fit bordered" style="height:calc(100% - 56px)">
  37 +<!-- <div> -->
  38 + <div class="portlet-title">
  39 + <form class="form-inline" action="">
  40 + <div style="display: inline-block; " id="gsdmDiv">
  41 + <span class="item-label" style="width: 80px;margin-left: 28px;">公司: </span>
  42 + <select class="form-control" name="company" id="gsdm" style="width: 180px;"></select>
  43 + </div>
  44 + <div style="display: inline-block; margin-left: 29px;" id="fgsdmDiv">
  45 + <span class="item-label" style="width: 80px;">分公司: </span>
  46 + <select class="form-control" name="subCompany" id="fgsdm" style="width: 180px;"></select>
  47 + </div>
  48 + <div style="display: inline-block;margin-left: 15px;">
  49 + <span class="item-label" style="width: 80px;">线路: </span>
  50 + <select class="form-control" name="line" id="line" style="width: 180px;"></select>
  51 + </div>
  52 + <div style="margin-top: 10px"></div>
  53 + <div style="display: inline-block;">
  54 + <span class="item-label" style="width: 80px;">开始时间: </span>
  55 + <input class="form-control" type="text" id="date" style="width: 180px;"/>
  56 + </div>
  57 + <div style="display: inline-block;margin-left: 15px;">
  58 + <span class="item-label" style="width: 80px;">结束时间: </span>
  59 + <input class="form-control" type="text" id="date2" style="width: 180px;"/>
  60 + </div>
  61 + <div class="form-group" style="width: 80px;margin-left: 15px;">
  62 + <input class="btn btn-default" type="button" id="query" value="查询"/>
  63 + </div>
  64 + </form>
  65 + </div>
  66 + <div class="portlet-body" id="tjrbBody" style="overflow:auto;height: calc(100% - 80px)">
  67 + <div class="table-container" style="margin-top: 10px;min-width: 906px">
  68 + <table class="table table-bordered table-hover table-checkable" id="forms">
  69 + <thead>
  70 + <tr>
  71 + <td rowspan="2" style="text-align: center; padding-top: 45px">公司名</td>
  72 + <td rowspan="2" style="text-align: center; padding-top: 45px">分公司名</td>
  73 + <td rowspan="2" style="text-align: center; padding-top: 45px">线路</td>
  74 + <td rowspan="2" style="text-align: center; padding-top: 45px">实际营运班次</td>
  75 + <td rowspan="2" style="text-align: center; padding-top: 45px">实际空驶班次</td>
  76 + <td rowspan="2" style="text-align: center; padding-top: 45px">实际总班次</td>
  77 + <!-- <td rowspan="2" style="text-align: center; padding-top: 45px">少驶班次</td> -->
  78 + <td colspan="2" align="center" style="text-align: center;">待发调整班次</td>
  79 + <td colspan="3" align="center" style="text-align: center;">无信号班次</td>
  80 + <!-- <td rowspan="2">少驶班次</td> -->
  81 + <td rowspan="2" style="text-align: center; padding-top: 45px">临加班次</td>
  82 + <td rowspan="2" style="text-align: center; padding-top: 45px">子任务</td>
  83 + <td rowspan="2" style="text-align: center; padding-top: 45px">其他</td>
  84 + </tr>
  85 + <tr>
  86 + <td class="hidden"></td>
  87 + <td rowspan="2" style="text-align: center;">手动待发班次</td>
  88 + <td rowspan="2" style="text-align: center;">自动待发班次</td>
  89 + <!-- <td rowspan="2" style="text-align: center;">待发合计班次</td> -->
  90 + <td rowspan="2" style="text-align: center;">完全无信号班次</td>
  91 + <td rowspan="2" style="text-align: center;">部分无信号班次</td>
  92 + <td rowspan="2" style="text-align: center;">漂移班次</td>
  93 + </tr>
  94 +
  95 + </thead>
  96 + <tbody class="scheduleReport">
  97 +
  98 + </tbody>
  99 + </table>
  100 + </div>
  101 + </div>
  102 + </div>
  103 +<!-- </div>
  104 +</div> -->
  105 +
  106 +<script>
  107 + $(function(){
  108 + $('#export').attr('disabled', "true");
  109 +
  110 + // 关闭左侧栏
  111 + if (!$('body').hasClass('page-sidebar-closed'))
  112 + $('.menu-toggler.sidebar-toggler').click();
  113 +
  114 + $("#date").datetimepicker({
  115 + format : 'YYYY-MM-DD',
  116 + locale : 'zh-cn'
  117 + });
  118 +
  119 + $("#date2").datetimepicker({
  120 + format : 'YYYY-MM-DD',
  121 + locale : 'zh-cn'
  122 + });
  123 + var d = new Date();
  124 + var year = d.getFullYear();
  125 + var month = d.getMonth() + 1;
  126 + var day = d.getDate();
  127 + if(month < 10)
  128 + month = "0" + month;
  129 + if(day < 10)
  130 + day = "0" + day;
  131 + $("#date").val(year + "-" + month + "-" + day);
  132 +
  133 + $("#date2").val(year + "-" + month + "-" + day);
  134 +
  135 + var fage=false;
  136 + var obj = [];
  137 + var xlList;
  138 + $.get('/report/lineList',function(result){
  139 + xlList=result;
  140 + $.get('/user/companyData', function(result){
  141 + obj = result;
  142 + var options = '';
  143 + for(var i = 0; i < obj.length; i++){
  144 + options += '<option value="'+obj[i].companyCode+'">'+obj[i].companyName+'</option>';
  145 + }
  146 +
  147 + if(obj.length ==0){
  148 + $("#gsdmDiv").css('display','none');
  149 + }else if(obj.length ==1){
  150 + $("#gsdmDiv").css('display','none');
  151 + if(obj[0].children.length == 1 || obj[0].children.length ==0)
  152 + $('#fgsdmDiv').css('display','none');
  153 + }
  154 + $('#gsdm').html(options);
  155 + updateCompany();
  156 + });
  157 + })
  158 + $("#gsdm").on("change",updateCompany);
  159 + function updateCompany(){
  160 + var company = $('#gsdm').val();
  161 + var options = '';
  162 + for(var i = 0; i < obj.length; i++){
  163 + if(obj[i].companyCode == company){
  164 + var children = obj[i].children;
  165 + for(var j = 0; j < children.length; j++){
  166 + options += '<option value="'+children[j].code+'">'+children[j].name+'</option>';
  167 + }
  168 + }
  169 + }
  170 + $('#fgsdm').html(options);
  171 +// initXl();
  172 + }
  173 +
  174 + var tempData = {};
  175 + $.get('/report/lineList',function(xlList){
  176 + var data = [];
  177 + data.push({id: " ", text: "全部线路"});
  178 + $.get('/user/companyData', function(result){
  179 + for(var i = 0; i < result.length; i++){
  180 + var companyCode = result[i].companyCode;
  181 + var children = result[i].children;
  182 + for(var j = 0; j < children.length; j++){
  183 + var code = children[j].code;
  184 + for(var k=0;k < xlList.length;k++ ){
  185 + if(xlList[k]["fgsbm"]==code && xlList[k]["gsbm"]==companyCode){
  186 + data.push({id: xlList[k]["xlbm"], text: xlList[k]["xlname"]});
  187 + tempData[xlList[k]["xlbm"]] = companyCode+":"+code;
  188 + }
  189 + }
  190 + }
  191 + }
  192 + initPinYinSelect2('#line',data,'');
  193 +
  194 + });
  195 + });
  196 +
  197 + $("#line").on("change", function(){
  198 + if($("#line").val() == " "){
  199 + $("#gsdm").attr("disabled", false);
  200 + $("#fgsdm").attr("disabled", false);
  201 + } else {
  202 + var temp = tempData[$("#line").val()].split(":");
  203 + $("#gsdm").val(temp[0]);
  204 + updateCompany();
  205 + $("#fgsdm").val(temp[1]);
  206 + $("#gsdm").attr("disabled", true);
  207 + $("#fgsdm").attr("disabled", true);
  208 + }
  209 + });
  210 +
  211 +
  212 + var line ="";
  213 + var xlName ="";
  214 + var date = "";
  215 + var date2 ="";
  216 + var gsdm="";
  217 + var fgsdm="";
  218 + $("#query").on("click",function(){
  219 + if($("#date").val() == null || $("#date").val().trim().length == 0){
  220 + layer.msg("请选择时间范围!");
  221 + return;
  222 + }
  223 + if($("#date2").val() == null || $("#date2").val().trim().length == 0){
  224 + layer.msg("请选择时间范围!");
  225 + return;
  226 + }
  227 +// $("#tjrbBody").height($(window).height()-100);
  228 + line = $("#line").val();
  229 + xlName = $("#select2-line-container").html();
  230 + date = $("#date").val();
  231 + date2 =$("#date2").val();
  232 + gsdm =$("#gsdm").val();
  233 + fgsdm=$("#fgsdm").val();
  234 + if(line=="请选择"){
  235 + line="";
  236 + }
  237 + if(date==null || date =="" ||date2==null || date2 ==""){
  238 + layer.msg('请选择时间段.');
  239 + }else{
  240 + var params = {};
  241 + params['gsdm'] = gsdm;
  242 + params['fgsdm'] =fgsdm ;
  243 + params['line'] = line;
  244 + params['date'] = date;
  245 + params['date2'] = date2;
  246 + params['xlName'] = xlName;
  247 + params['type'] = "query";
  248 + $get('/realSchedule/scheduleCorrectionReport',params,function(result){
  249 + // 把数据填充到模版中
  250 + var tbodyHtml = template('scheduleReport',{list:result});
  251 + // 把渲染好的模版html文本追加到表格中
  252 + $('#forms .scheduleReport').html(tbodyHtml);
  253 +
  254 + /* if(result.length == 0)
  255 + $("#export").attr('disabled',"true");
  256 + else
  257 + $("#export").removeAttr("disabled"); */
  258 + });
  259 + }
  260 +
  261 + });
  262 + });
  263 +</script>
  264 +<script type="text/html" id="scheduleReport">
  265 + {{each list as obj i}}
  266 + <tr>
  267 + {{if obj.xlName=='合计'}}
  268 + <td colspan="3">{{obj.xlName}}</td>
  269 + {{/if}}
  270 + {{if obj.xlName!='合计'}}
  271 + <td>{{obj.gsName}}</td>
  272 + <td>{{obj.fgsName}}</td>
  273 + <td>{{obj.xlName}}</td>
  274 + {{/if}}
  275 + <td>{{obj.sjyybc}}</td>
  276 + <td>{{obj.sjksbc}}</td>
  277 + <td>{{obj.zbc}}</td>
  278 + <td>{{obj.sddfbc}}</td>
  279 + <td>{{obj.zddfbc}}</td>
  280 + <td>{{obj.wqwxhbc}}</td>
  281 + <td>{{obj.bfwxhbc}}</td>
  282 + <td>{{obj.pybc}}</td>
  283 + <td>{{obj.ljbc}}</td>
  284 + <td>{{obj.zrwbc}}</td>
  285 + <td>{{obj.other}}</td>
  286 +
  287 + </tr>
  288 + {{/each}}
  289 + {{if list.length == 0}}
  290 + <tr>
  291 + <td colspan="44"><h6 class="muted">没有找到相关数据</h6></td>
  292 + </tr>
  293 + {{/if}}
  294 +</script>
0 \ No newline at end of file 295 \ No newline at end of file
src/main/resources/static/pages/forms/statement/scheduleDaily.html
@@ -86,7 +86,7 @@ @@ -86,7 +86,7 @@
86 <td colspan="3">放站班次</td> 86 <td colspan="3">放站班次</td>
87 <td colspan="3">调头班次</td> 87 <td colspan="3">调头班次</td>
88 <td colspan="3">发生次数</td> 88 <td colspan="3">发生次数</td>
89 - <td rowspan="2">最大间隔时间()</td> 89 + <td rowspan="2">最大间隔时间()</td>
90 <td colspan="5" rowspan="2">原因</td> 90 <td colspan="5" rowspan="2">原因</td>
91 </tr> 91 </tr>
92 <tr> 92 <tr>
src/main/resources/static/pages/report/inoutstation/inoutstation.html
@@ -199,7 +199,7 @@ @@ -199,7 +199,7 @@
199 layer.msg("请选择方向"); 199 layer.msg("请选择方向");
200 }else{ 200 }else{
201 $get('/report/queryStrinon',{line:line,zd:zdlx},function(result){ 201 $get('/report/queryStrinon',{line:line,zd:zdlx},function(result){
202 - $get('/report/queryInOutStrtion',{line:line,date:date,zd:zdlx,lzsj:lzsj},function(result2){ 202 + $get('/report/queryInOutStrtions',{line:line,date:date,zd:zdlx,lzsj:lzsj},function(result2){
203 console.log(result2); 203 console.log(result2);
204 /* getTime(result); */ 204 /* getTime(result); */
205 var ludan_ll_1 = template('ludan_ll_1',{list:result2,lists:result}); 205 var ludan_ll_1 = template('ludan_ll_1',{list:result2,lists:result});
src/main/resources/static/pages/scheduleApp/module/basicInfo/busInfoManage/list.html
1 <!-- ui-route busInfoManage.list --> 1 <!-- ui-route busInfoManage.list -->
2 <div ng-controller="BusInfoManageListCtrl as ctrl"> 2 <div ng-controller="BusInfoManageListCtrl as ctrl">
3 <div class="fixDiv"> 3 <div class="fixDiv">
4 - <table class="fixTable table table-striped table-bordered table-hover table-checkable order-column"> 4 + <table class="table fixTable table-striped table-bordered table-hover table-checkable order-column">
5 <thead> 5 <thead>
6 <tr role="row" class="heading"> 6 <tr role="row" class="heading">
7 <th style="width:70px;">序号</th> 7 <th style="width:70px;">序号</th>
@@ -121,21 +121,27 @@ @@ -121,21 +121,27 @@
121 </td> 121 </td>
122 </tr> 122 </tr>
123 </tbody> 123 </tbody>
124 -  
125 </table> 124 </table>
126 </div> 125 </div>
127 126
128 - <div style="text-align: right;">  
129 - <uib-pagination total-items="ctrl.page()['totalElements']"  
130 - ng-model="ctrl.page()['uiNumber']"  
131 - ng-change="ctrl.doPage()"  
132 - rotate="false"  
133 - max-size="10"  
134 - boundary-links="true"  
135 - first-text="首页"  
136 - previous-text="上一页"  
137 - next-text="下一页"  
138 - last-text="尾页">  
139 - </uib-pagination> 127 + <div class="pageBar">
  128 + <div class="pageBarLeft">
  129 + {{'显示从' + ctrl.page()['uiFromRecord'] + '到' + ctrl.page()['uiToRecord'] + ' 共' + ctrl.page()['totalElements'] + '条' + ' 每页显示10条'}}
  130 + </div>
  131 +
  132 + <div class="pageBarRight">
  133 + <uib-pagination total-items="ctrl.page()['totalElements']"
  134 + ng-model="ctrl.page()['uiNumber']"
  135 + ng-change="ctrl.doPage()"
  136 + rotate="false"
  137 + max-size="10"
  138 + boundary-links="true"
  139 + first-text="首页"
  140 + previous-text="上一页"
  141 + next-text="下一页"
  142 + last-text="尾页">
  143 + </uib-pagination>
  144 + </div>
140 </div> 145 </div>
  146 +
141 </div> 147 </div>
src/main/resources/static/pages/scheduleApp/module/basicInfo/busInfoManage/module.js
@@ -21,7 +21,9 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -21,7 +21,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
21 number: 0, // 后台返回的页码,spring返回从0开始 21 number: 0, // 后台返回的页码,spring返回从0开始
22 content: [], 22 content: [],
23 23
24 - uiNumber: 1 // 页面绑定的页码 24 + uiNumber: 1, // 页面绑定的页码
  25 + uiFromRecord: 0, // 页面绑定,当前页第几条记录
  26 + uiToRecord: 0 // 页面绑定,当前页到第几条记录
25 }; 27 };
26 28
27 // 查询对象 29 // 查询对象
@@ -54,6 +56,12 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -54,6 +56,12 @@ angular.module(&#39;ScheduleApp&#39;).factory(
54 currentPage.totalElements = page.totalElements; 56 currentPage.totalElements = page.totalElements;
55 currentPage.number = page.number; 57 currentPage.number = page.number;
56 currentPage.content = page.content; 58 currentPage.content = page.content;
  59 +
  60 + // 计算当前页开始记录,结束记录
  61 + if (page.numberOfElements && page.numberOfElements > 0) {
  62 + currentPage.uiFromRecord = page.number * 10 + 1;
  63 + currentPage.uiToRecord = page.number * 10 + page.numberOfElements;
  64 + }
57 } 65 }
58 return currentPage; 66 return currentPage;
59 }, 67 },
@@ -63,7 +71,9 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -63,7 +71,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
63 totalElements: 0, 71 totalElements: 0,
64 number: 0, 72 number: 0,
65 content: [], 73 content: [],
66 - uiNumber: 1 74 + uiNumber: 1,
  75 + uiFromRecord: 0,
  76 + uiToRecord: 0
67 }; 77 };
68 }, 78 },
69 79
src/main/resources/static/pages/scheduleApp/module/basicInfo/deviceInfoManage/list.html
@@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
4 <table class="fixTable table table-striped table-bordered table-hover table-checkable order-column"> 4 <table class="fixTable table table-striped table-bordered table-hover table-checkable order-column">
5 <thead> 5 <thead>
6 <tr role="row" class="heading"> 6 <tr role="row" class="heading">
7 - <th style="width: 40pt;">序号</th> 7 + <th style="width: 70px;">序号</th>
8 <th style="width: 15%;">线路名称</th> 8 <th style="width: 15%;">线路名称</th>
9 <th style="width: 10%;">内部编号</th> 9 <th style="width: 10%;">内部编号</th>
10 <th style="width: 100px;">启用日期</th> 10 <th style="width: 100px;">启用日期</th>
@@ -57,7 +57,12 @@ @@ -57,7 +57,12 @@
57 <tbody> 57 <tbody>
58 <tr ng-repeat="info in ctrl.page()['content']" ng-class="{odd: true, gradeX: true, danger: info.isCancel}"> 58 <tr ng-repeat="info in ctrl.page()['content']" ng-class="{odd: true, gradeX: true, danger: info.isCancel}">
59 <td> 59 <td>
60 - <span ng-bind="$index + 1"></span> 60 + <div>
  61 + <a href="#">
  62 + <i class="fa fa-list-ol" aria-hidden="true"></i>
  63 + {{$index + ctrl.page().number * 10 + 1}}
  64 + </a>
  65 + </div>
61 </td> 66 </td>
62 <td> 67 <td>
63 <span ng-bind="info.xlName"></span> 68 <span ng-bind="info.xlName"></span>
@@ -110,17 +115,23 @@ @@ -110,17 +115,23 @@
110 </table> 115 </table>
111 </div> 116 </div>
112 117
113 - <div style="text-align: right;">  
114 - <uib-pagination total-items="ctrl.page()['totalElements']"  
115 - ng-model="ctrl.page()['uiNumber']"  
116 - ng-change="ctrl.doPage()"  
117 - rotate="false"  
118 - max-size="10"  
119 - boundary-links="true"  
120 - first-text="首页"  
121 - previous-text="上一页"  
122 - next-text="下一页"  
123 - last-text="尾页">  
124 - </uib-pagination> 118 + <div class="pageBar">
  119 + <div class="pageBarLeft">
  120 + {{'显示从' + ctrl.page()['uiFromRecord'] + '到' + ctrl.page()['uiToRecord'] + ' 共' + ctrl.page()['totalElements'] + '条' + ' 每页显示10条'}}
  121 + </div>
  122 +
  123 + <div class="pageBarRight">
  124 + <uib-pagination total-items="ctrl.page()['totalElements']"
  125 + ng-model="ctrl.page()['uiNumber']"
  126 + ng-change="ctrl.doPage()"
  127 + rotate="false"
  128 + max-size="10"
  129 + boundary-links="true"
  130 + first-text="首页"
  131 + previous-text="上一页"
  132 + next-text="下一页"
  133 + last-text="尾页">
  134 + </uib-pagination>
  135 + </div>
125 </div> 136 </div>
126 </div> 137 </div>
src/main/resources/static/pages/scheduleApp/module/basicInfo/deviceInfoManage/module.js
@@ -15,7 +15,9 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -15,7 +15,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
15 number: 0, // 后台返回的页码,spring返回从0开始 15 number: 0, // 后台返回的页码,spring返回从0开始
16 content: [], 16 content: [],
17 17
18 - uiNumber: 1 // 页面绑定的页码 18 + uiNumber: 1, // 页面绑定的页码
  19 + uiFromRecord: 0, // 页面绑定,当前页第几条记录
  20 + uiToRecord: 0 // 页面绑定,当前页到第几条记录
19 }; 21 };
20 22
21 // 查询对象 23 // 查询对象
@@ -39,6 +41,12 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -39,6 +41,12 @@ angular.module(&#39;ScheduleApp&#39;).factory(
39 currentPage.totalElements = page.totalElements; 41 currentPage.totalElements = page.totalElements;
40 currentPage.number = page.number; 42 currentPage.number = page.number;
41 currentPage.content = page.content; 43 currentPage.content = page.content;
  44 +
  45 + // 计算当前页开始记录,结束记录
  46 + if (page.numberOfElements && page.numberOfElements > 0) {
  47 + currentPage.uiFromRecord = page.number * 10 + 1;
  48 + currentPage.uiToRecord = page.number * 10 + page.numberOfElements;
  49 + }
42 } 50 }
43 return currentPage; 51 return currentPage;
44 }, 52 },
@@ -48,7 +56,9 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -48,7 +56,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
48 totalElements: 0, 56 totalElements: 0,
49 number: 0, 57 number: 0,
50 content: [], 58 content: [],
51 - uiNumber: 1 59 + uiNumber: 1,
  60 + uiFromRecord: 0,
  61 + uiToRecord: 0
52 }; 62 };
53 } 63 }
54 64
src/main/resources/static/pages/scheduleApp/module/basicInfo/employeeInfoManage/edit.html
@@ -38,7 +38,7 @@ @@ -38,7 +38,7 @@
38 <div class="col-md-3"> 38 <div class="col-md-3">
39 <sa-Select5 name="gs" 39 <sa-Select5 name="gs"
40 model="ctrl.employeeInfoForSave" 40 model="ctrl.employeeInfoForSave"
41 - cmaps="{'companyCode': 'businessCode', 'brancheCompany': 'businessName'}" 41 + cmaps="{'companyCode': 'businessCode', 'company': 'businessName'}"
42 dcname="companyCode" 42 dcname="companyCode"
43 icname="businessCode" 43 icname="businessCode"
44 dsparams="{{ {type: 'ajax', param:{'upCode_eq': '88' }, atype:'gs' } | json }}" 44 dsparams="{{ {type: 'ajax', param:{'upCode_eq': '88' }, atype:'gs' } | json }}"
src/main/resources/static/pages/scheduleApp/module/basicInfo/employeeInfoManage/form.html
@@ -38,7 +38,7 @@ @@ -38,7 +38,7 @@
38 <div class="col-md-3"> 38 <div class="col-md-3">
39 <sa-Select5 name="gs" 39 <sa-Select5 name="gs"
40 model="ctrl.employeeInfoForSave" 40 model="ctrl.employeeInfoForSave"
41 - cmaps="{'companyCode': 'businessCode', 'brancheCompany': 'businessName'}" 41 + cmaps="{'companyCode': 'businessCode', 'company': 'businessName'}"
42 dcname="companyCode" 42 dcname="companyCode"
43 icname="businessCode" 43 icname="businessCode"
44 dsparams="{{ {type: 'ajax', param:{'upCode_eq': '88' }, atype:'gs' } | json }}" 44 dsparams="{{ {type: 'ajax', param:{'upCode_eq': '88' }, atype:'gs' } | json }}"
src/main/resources/static/pages/scheduleApp/module/basicInfo/employeeInfoManage/list.html
@@ -146,18 +146,23 @@ @@ -146,18 +146,23 @@
146 </table> 146 </table>
147 </div> 147 </div>
148 148
  149 + <div class="pageBar">
  150 + <div class="pageBarLeft">
  151 + {{'显示从' + ctrl.page()['uiFromRecord'] + '到' + ctrl.page()['uiToRecord'] + ' 共' + ctrl.page()['totalElements'] + '条' + ' 每页显示10条'}}
  152 + </div>
149 153
150 - <div style="text-align: right;">  
151 - <uib-pagination total-items="ctrl.page()['totalElements']"  
152 - ng-model="ctrl.page()['uiNumber']"  
153 - ng-change="ctrl.doPage()"  
154 - rotate="false"  
155 - max-size="10"  
156 - boundary-links="true"  
157 - first-text="首页"  
158 - previous-text="上一页"  
159 - next-text="下一页"  
160 - last-text="尾页">  
161 - </uib-pagination> 154 + <div class="pageBarRight">
  155 + <uib-pagination total-items="ctrl.page()['totalElements']"
  156 + ng-model="ctrl.page()['uiNumber']"
  157 + ng-change="ctrl.doPage()"
  158 + rotate="false"
  159 + max-size="10"
  160 + boundary-links="true"
  161 + first-text="首页"
  162 + previous-text="上一页"
  163 + next-text="下一页"
  164 + last-text="尾页">
  165 + </uib-pagination>
  166 + </div>
162 </div> 167 </div>
163 </div> 168 </div>
164 \ No newline at end of file 169 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/basicInfo/employeeInfoManage/module.js
@@ -21,7 +21,9 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -21,7 +21,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
21 number: 0, // 后台返回的页码,spring返回从0开始 21 number: 0, // 后台返回的页码,spring返回从0开始
22 content: [], 22 content: [],
23 23
24 - uiNumber: 1 // 页面绑定的页码 24 + uiNumber: 1, // 页面绑定的页码
  25 + uiFromRecord: 0, // 页面绑定,当前页第几条记录
  26 + uiToRecord: 0 // 页面绑定,当前页到第几条记录
25 }; 27 };
26 28
27 // 查询对象 29 // 查询对象
@@ -54,7 +56,14 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -54,7 +56,14 @@ angular.module(&#39;ScheduleApp&#39;).factory(
54 currentPage.totalElements = page.totalElements; 56 currentPage.totalElements = page.totalElements;
55 currentPage.number = page.number; 57 currentPage.number = page.number;
56 currentPage.content = page.content; 58 currentPage.content = page.content;
  59 +
  60 + // 计算当前页开始记录,结束记录
  61 + if (page.numberOfElements && page.numberOfElements > 0) {
  62 + currentPage.uiFromRecord = page.number * 10 + 1;
  63 + currentPage.uiToRecord = page.number * 10 + page.numberOfElements;
  64 + }
57 } 65 }
  66 +
58 return currentPage; 67 return currentPage;
59 }, 68 },
60 resetStatus: function() { 69 resetStatus: function() {
@@ -63,7 +72,9 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -63,7 +72,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
63 totalElements: 0, 72 totalElements: 0,
64 number: 0, 73 number: 0,
65 content: [], 74 content: [],
66 - uiNumber: 1 75 + uiNumber: 1,
  76 + uiFromRecord: 0,
  77 + uiToRecord: 0
67 }; 78 };
68 }, 79 },
69 80
src/main/resources/static/pages/scheduleApp/module/common/main.css
@@ -40,6 +40,7 @@ form input.ng-valid.ng-dirty.ng-valid-required { @@ -40,6 +40,7 @@ form input.ng-valid.ng-dirty.ng-valid-required {
40 /* 固定表格,防止内容撑出表格 */ 40 /* 固定表格,防止内容撑出表格 */
41 .fixTable { 41 .fixTable {
42 table-layout: fixed; 42 table-layout: fixed;
  43 + margin-bottom: 10px;
43 } 44 }
44 45
45 /** 内容不换行,多余的用...表示 */ 46 /** 内容不换行,多余的用...表示 */
@@ -83,4 +84,22 @@ form input.ng-valid.ng-dirty.ng-valid-required { @@ -83,4 +84,22 @@ form input.ng-valid.ng-dirty.ng-valid-required {
83 /* 结束时的样式 */ 84 /* 结束时的样式 */
84 .uv.ng-enter.ng-enter-active { 85 .uv.ng-enter.ng-enter-active {
85 opacity: 1; 86 opacity: 1;
  87 +}
  88 +
  89 +/* 分页条样式 */
  90 +.pageBar {
  91 + height: 55px;
  92 + border: solid 1px #ddd;
  93 + background-color: #fafafa;
  94 +
  95 +}
  96 +.pageBar > .pageBarLeft {
  97 + float: left;
  98 + margin-top: 15px;
  99 + margin-left: 5px;
  100 + color: #337ab7;
  101 +}
  102 +.pageBar > .pageBarRight {
  103 + float: right;
  104 + margin-right: 5px;
86 } 105 }
87 \ No newline at end of file 106 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/busConfig/list.html
@@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
4 <table class="fixTable table table-striped table-bordered table-hover table-checkable order-column"> 4 <table class="fixTable table table-striped table-bordered table-hover table-checkable order-column">
5 <thead> 5 <thead>
6 <tr role="row" class="heading"> 6 <tr role="row" class="heading">
7 - <th style="width: 50px;">序号</th> 7 + <th style="width: 70px;">序号</th>
8 <th style="width: 150px;">线路</th> 8 <th style="width: 150px;">线路</th>
9 <th style="width: 150px;">内部编号</th> 9 <th style="width: 150px;">内部编号</th>
10 <th style="width: 150px;">设备编号</th> 10 <th style="width: 150px;">设备编号</th>
@@ -58,7 +58,12 @@ @@ -58,7 +58,12 @@
58 <tbody> 58 <tbody>
59 <tr ng-repeat="info in ctrl.page()['content']" ng-class="{odd: true, gradeX: true, danger: info.isCancel}"> 59 <tr ng-repeat="info in ctrl.page()['content']" ng-class="{odd: true, gradeX: true, danger: info.isCancel}">
60 <td> 60 <td>
61 - <span ng-bind="$index + 1"></span> 61 + <div>
  62 + <a href="#">
  63 + <i class="fa fa-list-ol" aria-hidden="true"></i>
  64 + {{$index + ctrl.page().number * 10 + 1}}
  65 + </a>
  66 + </div>
62 </td> 67 </td>
63 <td> 68 <td>
64 <span ng-bind="info.xl.name"></span> 69 <span ng-bind="info.xl.name"></span>
@@ -96,17 +101,24 @@ @@ -96,17 +101,24 @@
96 </table> 101 </table>
97 </div> 102 </div>
98 103
99 - <div style="text-align: right;">  
100 - <uib-pagination total-items="ctrl.page()['totalElements']"  
101 - ng-model="ctrl.page()['uiNumber']"  
102 - ng-change="ctrl.doPage()"  
103 - rotate="false"  
104 - max-size="10"  
105 - boundary-links="true"  
106 - first-text="首页"  
107 - previous-text="上一页"  
108 - next-text="下一页"  
109 - last-text="尾页">  
110 - </uib-pagination> 104 + <div class="pageBar">
  105 + <div class="pageBarLeft">
  106 + {{'显示从' + ctrl.page()['uiFromRecord'] + '到' + ctrl.page()['uiToRecord'] + ' 共' + ctrl.page()['totalElements'] + '条' + ' 每页显示10条'}}
  107 + </div>
  108 +
  109 + <div class="pageBarRight">
  110 + <uib-pagination total-items="ctrl.page()['totalElements']"
  111 + ng-model="ctrl.page()['uiNumber']"
  112 + ng-change="ctrl.doPage()"
  113 + rotate="false"
  114 + max-size="10"
  115 + boundary-links="true"
  116 + first-text="首页"
  117 + previous-text="上一页"
  118 + next-text="下一页"
  119 + last-text="尾页">
  120 + </uib-pagination>
  121 + </div>
111 </div> 122 </div>
  123 +
112 </div> 124 </div>
113 \ No newline at end of file 125 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/busConfig/module.js
@@ -14,7 +14,9 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -14,7 +14,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
14 number: 0, // 后台返回的页码,spring返回从0开始 14 number: 0, // 后台返回的页码,spring返回从0开始
15 content: [], 15 content: [],
16 16
17 - uiNumber: 1 // 页面绑定的页码 17 + uiNumber: 1, // 页面绑定的页码
  18 + uiFromRecord: 0, // 页面绑定,当前页第几条记录
  19 + uiToRecord: 0 // 页面绑定,当前页到第几条记录
18 }; 20 };
19 21
20 // 查询对象 22 // 查询对象
@@ -48,6 +50,12 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -48,6 +50,12 @@ angular.module(&#39;ScheduleApp&#39;).factory(
48 currentPage.totalElements = page.totalElements; 50 currentPage.totalElements = page.totalElements;
49 currentPage.number = page.number; 51 currentPage.number = page.number;
50 currentPage.content = page.content; 52 currentPage.content = page.content;
  53 +
  54 + // 计算当前页开始记录,结束记录
  55 + if (page.numberOfElements && page.numberOfElements > 0) {
  56 + currentPage.uiFromRecord = page.number * 10 + 1;
  57 + currentPage.uiToRecord = page.number * 10 + page.numberOfElements;
  58 + }
51 } 59 }
52 return currentPage; 60 return currentPage;
53 }, 61 },
@@ -57,7 +65,9 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -57,7 +65,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
57 totalElements: 0, 65 totalElements: 0,
58 number: 0, 66 number: 0,
59 content: [], 67 content: [],
60 - uiNumber: 1 68 + uiNumber: 1,
  69 + uiFromRecord: 0,
  70 + uiToRecord: 0
61 }; 71 };
62 }, 72 },
63 73
src/main/resources/static/pages/scheduleApp/module/core/employeeConfig/list.html
@@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
4 <table class="fixTable table table-striped table-bordered table-hover table-checkable order-column"> 4 <table class="fixTable table table-striped table-bordered table-hover table-checkable order-column">
5 <thead> 5 <thead>
6 <tr role="row" class="heading"> 6 <tr role="row" class="heading">
7 - <th style="width: 50px;">序号</th> 7 + <th style="width: 70px;">序号</th>
8 <th style="width: 150px;">线路</th> 8 <th style="width: 150px;">线路</th>
9 <th style="width: 80px;">搭班编码</th> 9 <th style="width: 80px;">搭班编码</th>
10 <th >驾驶员工号</th> 10 <th >驾驶员工号</th>
@@ -66,7 +66,12 @@ @@ -66,7 +66,12 @@
66 <tbody> 66 <tbody>
67 <tr ng-repeat="info in ctrl.page()['content']" ng-class="{odd: true, gradeX: true, danger: info.isCancel}"> 67 <tr ng-repeat="info in ctrl.page()['content']" ng-class="{odd: true, gradeX: true, danger: info.isCancel}">
68 <td> 68 <td>
69 - <span ng-bind="$index + 1"></span> 69 + <div>
  70 + <a href="#">
  71 + <i class="fa fa-list-ol" aria-hidden="true"></i>
  72 + {{$index + ctrl.page().number * 10 + 1}}
  73 + </a>
  74 + </div>
70 </td> 75 </td>
71 <td> 76 <td>
72 <span ng-bind="info.xl.name"></span> 77 <span ng-bind="info.xl.name"></span>
@@ -107,17 +112,24 @@ @@ -107,17 +112,24 @@
107 </table> 112 </table>
108 </div> 113 </div>
109 114
110 - <div style="text-align: right;">  
111 - <uib-pagination total-items="ctrl.page()['totalElements']"  
112 - ng-model="ctrl.page()['uiNumber']"  
113 - ng-change="ctrl.doPage()"  
114 - rotate="false"  
115 - max-size="10"  
116 - boundary-links="true"  
117 - first-text="首页"  
118 - previous-text="上一页"  
119 - next-text="下一页"  
120 - last-text="尾页">  
121 - </uib-pagination> 115 + <div class="pageBar">
  116 + <div class="pageBarLeft">
  117 + {{'显示从' + ctrl.page()['uiFromRecord'] + '到' + ctrl.page()['uiToRecord'] + ' 共' + ctrl.page()['totalElements'] + '条' + ' 每页显示10条'}}
  118 + </div>
  119 +
  120 + <div class="pageBarRight">
  121 + <uib-pagination total-items="ctrl.page()['totalElements']"
  122 + ng-model="ctrl.page()['uiNumber']"
  123 + ng-change="ctrl.doPage()"
  124 + rotate="false"
  125 + max-size="10"
  126 + boundary-links="true"
  127 + first-text="首页"
  128 + previous-text="上一页"
  129 + next-text="下一页"
  130 + last-text="尾页">
  131 + </uib-pagination>
  132 + </div>
122 </div> 133 </div>
  134 +
123 </div> 135 </div>
124 \ No newline at end of file 136 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/employeeConfig/module.js
@@ -14,7 +14,9 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -14,7 +14,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
14 number: 0, // 后台返回的页码,spring返回从0开始 14 number: 0, // 后台返回的页码,spring返回从0开始
15 content: [], 15 content: [],
16 16
17 - uiNumber: 1 // 页面绑定的页码 17 + uiNumber: 1, // 页面绑定的页码
  18 + uiFromRecord: 0, // 页面绑定,当前页第几条记录
  19 + uiToRecord: 0 // 页面绑定,当前页到第几条记录
18 }; 20 };
19 21
20 // 查询对象类 22 // 查询对象类
@@ -48,6 +50,12 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -48,6 +50,12 @@ angular.module(&#39;ScheduleApp&#39;).factory(
48 currentPage.totalElements = page.totalElements; 50 currentPage.totalElements = page.totalElements;
49 currentPage.number = page.number; 51 currentPage.number = page.number;
50 currentPage.content = page.content; 52 currentPage.content = page.content;
  53 +
  54 + // 计算当前页开始记录,结束记录
  55 + if (page.numberOfElements && page.numberOfElements > 0) {
  56 + currentPage.uiFromRecord = page.number * 10 + 1;
  57 + currentPage.uiToRecord = page.number * 10 + page.numberOfElements;
  58 + }
51 } 59 }
52 return currentPage; 60 return currentPage;
53 }, 61 },
@@ -57,7 +65,9 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -57,7 +65,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
57 totalElements: 0, 65 totalElements: 0,
58 number: 0, 66 number: 0,
59 content: [], 67 content: [],
60 - uiNumber: 1 68 + uiNumber: 1,
  69 + uiFromRecord: 0,
  70 + uiToRecord: 0
61 }; 71 };
62 }, 72 },
63 73
src/main/resources/static/pages/scheduleApp/module/core/guideboardManage/list.html
@@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
4 <table class="fixTable table table-striped table-bordered table-hover table-checkable order-column"> 4 <table class="fixTable table table-striped table-bordered table-hover table-checkable order-column">
5 <thead> 5 <thead>
6 <tr role="row" class="heading"> 6 <tr role="row" class="heading">
7 - <th style="width: 50px">序号</th> 7 + <th style="width: 70px">序号</th>
8 <th style="width: 150px;">线路</th> 8 <th style="width: 150px;">线路</th>
9 <th style="width: 100px;">路牌编号</th> 9 <th style="width: 100px;">路牌编号</th>
10 <th >路牌名称</th> 10 <th >路牌名称</th>
@@ -54,7 +54,12 @@ @@ -54,7 +54,12 @@
54 <tbody> 54 <tbody>
55 <tr ng-repeat="info in ctrl.page()['content']" ng-class="{odd: true, gradeX: true, danger: info.isCancel}"> 55 <tr ng-repeat="info in ctrl.page()['content']" ng-class="{odd: true, gradeX: true, danger: info.isCancel}">
56 <td> 56 <td>
57 - <span ng-bind="$index + 1"></span> 57 + <div>
  58 + <a href="#">
  59 + <i class="fa fa-list-ol" aria-hidden="true"></i>
  60 + {{$index + ctrl.page().number * 10 + 1}}
  61 + </a>
  62 + </div>
58 </td> 63 </td>
59 <td> 64 <td>
60 <span ng-bind="info.xl.name"></span> 65 <span ng-bind="info.xl.name"></span>
@@ -90,17 +95,24 @@ @@ -90,17 +95,24 @@
90 </table> 95 </table>
91 </div> 96 </div>
92 97
93 - <div style="text-align: right;">  
94 - <uib-pagination total-items="ctrl.page()['totalElements']"  
95 - ng-model="ctrl.page()['uiNumber']"  
96 - ng-change="ctrl.doPage()"  
97 - rotate="false"  
98 - max-size="10"  
99 - boundary-links="true"  
100 - first-text="首页"  
101 - previous-text="上一页"  
102 - next-text="下一页"  
103 - last-text="尾页">  
104 - </uib-pagination> 98 + <div class="pageBar">
  99 + <div class="pageBarLeft">
  100 + {{'显示从' + ctrl.page()['uiFromRecord'] + '到' + ctrl.page()['uiToRecord'] + ' 共' + ctrl.page()['totalElements'] + '条' + ' 每页显示10条'}}
  101 + </div>
  102 +
  103 + <div class="pageBarRight">
  104 + <uib-pagination total-items="ctrl.page()['totalElements']"
  105 + ng-model="ctrl.page()['uiNumber']"
  106 + ng-change="ctrl.doPage()"
  107 + rotate="false"
  108 + max-size="10"
  109 + boundary-links="true"
  110 + first-text="首页"
  111 + previous-text="上一页"
  112 + next-text="下一页"
  113 + last-text="尾页">
  114 + </uib-pagination>
  115 + </div>
105 </div> 116 </div>
  117 +
106 </div> 118 </div>
107 \ No newline at end of file 119 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/guideboardManage/module.js
@@ -15,7 +15,9 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -15,7 +15,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
15 number: 0, // 后台返回的页码,spring返回从0开始 15 number: 0, // 后台返回的页码,spring返回从0开始
16 content: [], 16 content: [],
17 17
18 - uiNumber: 1 // 页面绑定的页码 18 + uiNumber: 1, // 页面绑定的页码
  19 + uiFromRecord: 0, // 页面绑定,当前页第几条记录
  20 + uiToRecord: 0 // 页面绑定,当前页到第几条记录
19 }; 21 };
20 22
21 // 查询对象类 23 // 查询对象类
@@ -49,7 +51,9 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -49,7 +51,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
49 totalElements: 0, 51 totalElements: 0,
50 number: 0, 52 number: 0,
51 content: [], 53 content: [],
52 - uiNumber: 1 54 + uiNumber: 1,
  55 + uiFromRecord: 0,
  56 + uiToRecord: 0
53 }; 57 };
54 }, 58 },
55 /** 59 /**
@@ -62,6 +66,12 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -62,6 +66,12 @@ angular.module(&#39;ScheduleApp&#39;).factory(
62 currentPage.totalElements = page.totalElements; 66 currentPage.totalElements = page.totalElements;
63 currentPage.number = page.number; 67 currentPage.number = page.number;
64 currentPage.content = page.content; 68 currentPage.content = page.content;
  69 +
  70 + // 计算当前页开始记录,结束记录
  71 + if (page.numberOfElements && page.numberOfElements > 0) {
  72 + currentPage.uiFromRecord = page.number * 10 + 1;
  73 + currentPage.uiToRecord = page.number * 10 + page.numberOfElements;
  74 + }
65 } 75 }
66 return currentPage; 76 return currentPage;
67 }, 77 },
src/main/resources/static/pages/scheduleApp/module/core/rerunManage/list.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <table class="fixTable table table-striped table-bordered table-hover table-checkable order-column"> 3 <table class="fixTable table table-striped table-bordered table-hover table-checkable order-column">
4 <thead> 4 <thead>
5 <tr role="row" class="heading"> 5 <tr role="row" class="heading">
6 - <th style="width: 50px;">序号</th> 6 + <th style="width: 70px;">序号</th>
7 <th style="width: 150px;">套跑线路</th> 7 <th style="width: 150px;">套跑线路</th>
8 <th style="width: 180px">套跑时刻表/路牌</th> 8 <th style="width: 180px">套跑时刻表/路牌</th>
9 <th style="width: 100px">套跑类型</th> 9 <th style="width: 100px">套跑类型</th>
@@ -54,7 +54,12 @@ @@ -54,7 +54,12 @@
54 <tbody> 54 <tbody>
55 <tr ng-repeat="info in ctrl.page()['content']" ng-class="{odd: true, gradeX: true, danger: info.isCancel}"> 55 <tr ng-repeat="info in ctrl.page()['content']" ng-class="{odd: true, gradeX: true, danger: info.isCancel}">
56 <td> 56 <td>
57 - <span ng-bind="$index + 1"></span> 57 + <div>
  58 + <a href="#">
  59 + <i class="fa fa-list-ol" aria-hidden="true"></i>
  60 + {{$index + ctrl.page().number * 10 + 1}}
  61 + </a>
  62 + </div>
58 </td> 63 </td>
59 <td> 64 <td>
60 <span ng-bind="info.rerunXl.name"></span> 65 <span ng-bind="info.rerunXl.name"></span>
@@ -113,18 +118,24 @@ @@ -113,18 +118,24 @@
113 </table> 118 </table>
114 </div> 119 </div>
115 120
  121 + <div class="pageBar">
  122 + <div class="pageBarLeft">
  123 + {{'显示从' + ctrl.page()['uiFromRecord'] + '到' + ctrl.page()['uiToRecord'] + ' 共' + ctrl.page()['totalElements'] + '条' + ' 每页显示10条'}}
  124 + </div>
116 125
117 - <div style="text-align: right;">  
118 - <uib-pagination total-items="ctrl.page()['totalElements']"  
119 - ng-model="ctrl.page()['uiNumber']"  
120 - ng-change="ctrl.doPage()"  
121 - rotate="false"  
122 - max-size="10"  
123 - boundary-links="true"  
124 - first-text="首页"  
125 - previous-text="上一页"  
126 - next-text="下一页"  
127 - last-text="尾页">  
128 - </uib-pagination> 126 + <div class="pageBarRight">
  127 + <uib-pagination total-items="ctrl.page()['totalElements']"
  128 + ng-model="ctrl.page()['uiNumber']"
  129 + ng-change="ctrl.doPage()"
  130 + rotate="false"
  131 + max-size="10"
  132 + boundary-links="true"
  133 + first-text="首页"
  134 + previous-text="上一页"
  135 + next-text="下一页"
  136 + last-text="尾页">
  137 + </uib-pagination>
  138 + </div>
129 </div> 139 </div>
  140 +
130 </div> 141 </div>
131 \ No newline at end of file 142 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/rerunManage/module.js
@@ -14,7 +14,9 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -14,7 +14,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
14 number: 0, // 后台返回的页码,spring返回从0开始 14 number: 0, // 后台返回的页码,spring返回从0开始
15 content: [], 15 content: [],
16 16
17 - uiNumber: 1 // 页面绑定的页码 17 + uiNumber: 1, // 页面绑定的页码
  18 + uiFromRecord: 0, // 页面绑定,当前页第几条记录
  19 + uiToRecord: 0 // 页面绑定,当前页到第几条记录
18 }; 20 };
19 21
20 // 查询对象 22 // 查询对象
@@ -39,6 +41,12 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -39,6 +41,12 @@ angular.module(&#39;ScheduleApp&#39;).factory(
39 currentPage.totalElements = page.totalElements; 41 currentPage.totalElements = page.totalElements;
40 currentPage.number = page.number; 42 currentPage.number = page.number;
41 currentPage.content = page.content; 43 currentPage.content = page.content;
  44 +
  45 + // 计算当前页开始记录,结束记录
  46 + if (page.numberOfElements && page.numberOfElements > 0) {
  47 + currentPage.uiFromRecord = page.number * 10 + 1;
  48 + currentPage.uiToRecord = page.number * 10 + page.numberOfElements;
  49 + }
42 } 50 }
43 return currentPage; 51 return currentPage;
44 }, 52 },
@@ -48,7 +56,9 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -48,7 +56,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
48 totalElements: 0, 56 totalElements: 0,
49 number: 0, 57 number: 0,
50 content: [], 58 content: [],
51 - uiNumber: 1 59 + uiNumber: 1,
  60 + uiFromRecord: 0,
  61 + uiToRecord: 0
52 }; 62 };
53 } 63 }
54 }; 64 };
src/main/resources/static/pages/scheduleApp/module/core/schedulePlanManage/info/list_info.html
@@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
4 <table class="fixTable table table-striped table-bordered table-hover table-checkable order-column"> 4 <table class="fixTable table table-striped table-bordered table-hover table-checkable order-column">
5 <thead> 5 <thead>
6 <tr role="row" class="heading"> 6 <tr role="row" class="heading">
7 - <th style="width: 50px;">序号</th> 7 + <th style="width: 70px;">序号</th>
8 <th style="width: 80px;">线路</th> 8 <th style="width: 80px;">线路</th>
9 <th style="width: 150px;">日期</th> 9 <th style="width: 150px;">日期</th>
10 <th style="width: 50px;">路牌</th> 10 <th style="width: 50px;">路牌</th>
@@ -58,7 +58,12 @@ @@ -58,7 +58,12 @@
58 <tbody> 58 <tbody>
59 <tr ng-repeat="info in ctrl.page()['content']" class="odd gradeX"> 59 <tr ng-repeat="info in ctrl.page()['content']" class="odd gradeX">
60 <td> 60 <td>
61 - <span ng-bind="$index + 1"></span> 61 + <div>
  62 + <a href="#">
  63 + <i class="fa fa-list-ol" aria-hidden="true"></i>
  64 + {{$index + ctrl.page().number * 10 + 1}}
  65 + </a>
  66 + </div>
62 </td> 67 </td>
63 68
64 <td> 69 <td>
@@ -161,17 +166,24 @@ @@ -161,17 +166,24 @@
161 </table> 166 </table>
162 </div> 167 </div>
163 168
164 - <div style="text-align: right;">  
165 - <uib-pagination total-items="ctrl.page()['totalElements']"  
166 - ng-model="ctrl.page()['uiNumber']"  
167 - ng-change="ctrl.doPage()"  
168 - rotate="false"  
169 - max-size="10"  
170 - boundary-links="true"  
171 - first-text="首页"  
172 - previous-text="上一页"  
173 - next-text="下一页"  
174 - last-text="尾页">  
175 - </uib-pagination> 169 + <div class="pageBar">
  170 + <div class="pageBarLeft">
  171 + {{'显示从' + ctrl.page()['uiFromRecord'] + '到' + ctrl.page()['uiToRecord'] + ' 共' + ctrl.page()['totalElements'] + '条' + ' 每页显示10条'}}
  172 + </div>
  173 +
  174 + <div class="pageBarRight">
  175 + <uib-pagination total-items="ctrl.page()['totalElements']"
  176 + ng-model="ctrl.page()['uiNumber']"
  177 + ng-change="ctrl.doPage()"
  178 + rotate="false"
  179 + max-size="10"
  180 + boundary-links="true"
  181 + first-text="首页"
  182 + previous-text="上一页"
  183 + next-text="下一页"
  184 + last-text="尾页">
  185 + </uib-pagination>
  186 + </div>
176 </div> 187 </div>
  188 +
177 </div> 189 </div>
src/main/resources/static/pages/scheduleApp/module/core/schedulePlanManage/info/module.js
@@ -13,7 +13,9 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -13,7 +13,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
13 number: 0, // 后台返回的页码,spring返回从0开始 13 number: 0, // 后台返回的页码,spring返回从0开始
14 content: [], 14 content: [],
15 15
16 - uiNumber: 1 // 页面绑定的页码 16 + uiNumber: 1, // 页面绑定的页码
  17 + uiFromRecord: 0, // 页面绑定,当前页第几条记录
  18 + uiToRecord: 0 // 页面绑定,当前页到第几条记录
17 }; 19 };
18 20
19 // 查询对象 21 // 查询对象
@@ -32,6 +34,12 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -32,6 +34,12 @@ angular.module(&#39;ScheduleApp&#39;).factory(
32 currentPage.totalElements = page.totalElements; 34 currentPage.totalElements = page.totalElements;
33 currentPage.number = page.number; 35 currentPage.number = page.number;
34 currentPage.content = page.content; 36 currentPage.content = page.content;
  37 +
  38 + // 计算当前页开始记录,结束记录
  39 + if (page.numberOfElements && page.numberOfElements > 0) {
  40 + currentPage.uiFromRecord = page.number * 10 + 1;
  41 + currentPage.uiToRecord = page.number * 10 + page.numberOfElements;
  42 + }
35 } 43 }
36 return currentPage; 44 return currentPage;
37 }, 45 },
@@ -41,7 +49,9 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -41,7 +49,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
41 totalElements: 0, 49 totalElements: 0,
42 number: 0, 50 number: 0,
43 content: [], 51 content: [],
44 - uiNumber: 1 52 + uiNumber: 1,
  53 + uiFromRecord: 0,
  54 + uiToRecord: 0
45 }; 55 };
46 } 56 }
47 }; 57 };
src/main/resources/static/pages/scheduleApp/module/core/schedulePlanManage/list.html
@@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
4 <table class="fixTable table table-striped table-bordered table-hover table-checkable order-column"> 4 <table class="fixTable table table-striped table-bordered table-hover table-checkable order-column">
5 <thead> 5 <thead>
6 <tr role="row" class="heading"> 6 <tr role="row" class="heading">
7 - <th style="width: 50px;">序号</th> 7 + <th style="width: 70px;">序号</th>
8 <th style="width: 150px;">线路</th> 8 <th style="width: 150px;">线路</th>
9 <th style="width: 100%;">关联时刻表</th> 9 <th style="width: 100%;">关联时刻表</th>
10 <th style="width: 150px;">排班开始日期</th> 10 <th style="width: 150px;">排班开始日期</th>
@@ -30,7 +30,7 @@ @@ -30,7 +30,7 @@
30 </sa-Select5> 30 </sa-Select5>
31 </td> 31 </td>
32 <td> 32 <td>
33 - <input type="text" class="form-control form-filter input-sm" ng-model="ctrl.searchCondition().name_like" placeholder="输入时刻表名称..."/> 33 + <input type="text" class="form-control form-filter input-sm" ng-model="ctrl.searchCondition().ttInfoNames_like" placeholder="输入时刻表名称..."/>
34 </td> 34 </td>
35 <td> 35 <td>
36 <div class="input-group"> 36 <div class="input-group">
@@ -77,14 +77,23 @@ @@ -77,14 +77,23 @@
77 <tbody> 77 <tbody>
78 <tr ng-repeat="info in ctrl.page()['content']" class="odd gradeX"> 78 <tr ng-repeat="info in ctrl.page()['content']" class="odd gradeX">
79 <td> 79 <td>
80 - <span ng-bind="$index + 1"></span> 80 + <div>
  81 + <a href="#">
  82 + <i class="fa fa-list-ol" aria-hidden="true"></i>
  83 + {{$index + ctrl.page().number * 10 + 1}}
  84 + </a>
  85 + </div>
81 </td> 86 </td>
82 <td> 87 <td>
83 <span ng-bind="info.xl.name"></span> 88 <span ng-bind="info.xl.name"></span>
84 </td> 89 </td>
85 <td> 90 <td>
86 <div ng-repeat="tinfo in info.rst"> 91 <div ng-repeat="tinfo in info.rst">
87 - <a ui-sref="ttInfoDetailManage_edit3({xlid: info.xl.id, ttid : tinfo.ttInfoId, xlname: info.xl.name, ttname : tinfo.ttInfoName, rflag : true})"> 92 + <a tooltip-animation="false"
  93 + tooltip-placement="top"
  94 + uib-tooltip="{{tinfo.ttInfoName}}"
  95 + tooltip-class="headClass"
  96 + ui-sref="ttInfoDetailManage_edit3({xlid: info.xl.id, ttid : tinfo.ttInfoId, xlname: info.xl.name, ttname : tinfo.ttInfoName, rflag : true})">
88 <i class="fa fa-table" aria-hidden="true"></i> 97 <i class="fa fa-table" aria-hidden="true"></i>
89 {{tinfo.ttInfoName}} 98 {{tinfo.ttInfoName}}
90 </a> 99 </a>
@@ -135,18 +144,24 @@ @@ -135,18 +144,24 @@
135 </table> 144 </table>
136 </div> 145 </div>
137 146
  147 + <div class="pageBar">
  148 + <div class="pageBarLeft">
  149 + {{'显示从' + ctrl.page()['uiFromRecord'] + '到' + ctrl.page()['uiToRecord'] + ' 共' + ctrl.page()['totalElements'] + '条' + ' 每页显示10条'}}
  150 + </div>
138 151
139 - <div style="text-align: right;">  
140 - <uib-pagination total-items="ctrl.page()['totalElements']"  
141 - ng-model="ctrl.page()['uiNumber']"  
142 - ng-change="ctrl.doPage()"  
143 - rotate="false"  
144 - max-size="10"  
145 - boundary-links="true"  
146 - first-text="首页"  
147 - previous-text="上一页"  
148 - next-text="下一页"  
149 - last-text="尾页">  
150 - </uib-pagination> 152 + <div class="pageBarRight">
  153 + <uib-pagination total-items="ctrl.page()['totalElements']"
  154 + ng-model="ctrl.page()['uiNumber']"
  155 + ng-change="ctrl.doPage()"
  156 + rotate="false"
  157 + max-size="10"
  158 + boundary-links="true"
  159 + first-text="首页"
  160 + previous-text="上一页"
  161 + next-text="下一页"
  162 + last-text="尾页">
  163 + </uib-pagination>
  164 + </div>
151 </div> 165 </div>
  166 +
152 </div> 167 </div>
153 \ No newline at end of file 168 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/schedulePlanManage/module.js
@@ -14,7 +14,9 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -14,7 +14,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
14 number: 0, // 后台返回的页码,spring返回从0开始 14 number: 0, // 后台返回的页码,spring返回从0开始
15 content: [], 15 content: [],
16 16
17 - uiNumber: 1 // 页面绑定的页码 17 + uiNumber: 1, // 页面绑定的页码
  18 + uiFromRecord: 0, // 页面绑定,当前页第几条记录
  19 + uiToRecord: 0 // 页面绑定,当前页到第几条记录
18 }; 20 };
19 21
20 // 查询对象 22 // 查询对象
@@ -39,6 +41,12 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -39,6 +41,12 @@ angular.module(&#39;ScheduleApp&#39;).factory(
39 currentPage.totalElements = page.totalElements; 41 currentPage.totalElements = page.totalElements;
40 currentPage.number = page.number; 42 currentPage.number = page.number;
41 currentPage.content = page.content; 43 currentPage.content = page.content;
  44 +
  45 + // 计算当前页开始记录,结束记录
  46 + if (page.numberOfElements && page.numberOfElements > 0) {
  47 + currentPage.uiFromRecord = page.number * 10 + 1;
  48 + currentPage.uiToRecord = page.number * 10 + page.numberOfElements;
  49 + }
42 } 50 }
43 return currentPage; 51 return currentPage;
44 }, 52 },
@@ -48,7 +56,9 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -48,7 +56,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
48 totalElements: 0, 56 totalElements: 0,
49 number: 0, 57 number: 0,
50 content: [], 58 content: [],
51 - uiNumber: 1 59 + uiNumber: 1,
  60 + uiFromRecord: 0,
  61 + uiToRecord: 0
52 }; 62 };
53 } 63 }
54 64
src/main/resources/static/pages/scheduleApp/module/core/schedulePlanManage/report/ext/list.html
@@ -16,7 +16,7 @@ @@ -16,7 +16,7 @@
16 style="width: 1600px; min-height: 500px;"> 16 style="width: 1600px; min-height: 500px;">
17 <thead> 17 <thead>
18 <tr role="row" class="heading"> 18 <tr role="row" class="heading">
19 - <th style="width: 50px;">序号</th> 19 + <th style="width: 70px;">序号</th>
20 <th style="width: 80px;">操作</th> 20 <th style="width: 80px;">操作</th>
21 <th style="width: 180px;">线路</th> 21 <th style="width: 180px;">线路</th>
22 <th style="width: 180px">日期</th> 22 <th style="width: 180px">日期</th>
@@ -75,7 +75,12 @@ @@ -75,7 +75,12 @@
75 <tbody> 75 <tbody>
76 <tr ng-repeat="info in ctrl.pageInfo.infos" class="odd gradeX"> 76 <tr ng-repeat="info in ctrl.pageInfo.infos" class="odd gradeX">
77 <td> 77 <td>
78 - <span ng-bind="$index + 1"></span> 78 + <div>
  79 + <a href="#">
  80 + <i class="fa fa-list-ol" aria-hidden="true"></i>
  81 + {{$index + 1}}
  82 + </a>
  83 + </div>
79 </td> 84 </td>
80 <td> 85 <td>
81 <a ui-sref="schedulePlanInfoExtFormManage_edit({xlId: info.xlId, xlName: info.xlName, sd: info.scheduleDate, lpId: info.lpId, lpName: info.lpName})" class="btn btn-info btn-sm" > 修改 </a> 86 <a ui-sref="schedulePlanInfoExtFormManage_edit({xlId: info.xlId, xlName: info.xlName, sd: info.scheduleDate, lpId: info.lpId, lpName: info.lpName})" class="btn btn-info btn-sm" > 修改 </a>
src/main/resources/static/pages/scheduleApp/module/core/scheduleRuleManage/list.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <table class="fixTable table table-striped table-bordered table-hover table-checkable order-column"> 3 <table class="fixTable table table-striped table-bordered table-hover table-checkable order-column">
4 <thead> 4 <thead>
5 <tr role="row" class="heading"> 5 <tr role="row" class="heading">
6 - <th style="width: 5%;">序号</th> 6 + <th style="width: 70px;">序号</th>
7 <th style="width: 15%;">线路</th> 7 <th style="width: 15%;">线路</th>
8 <th style="width: 15%;">修改人/修改时间</th> 8 <th style="width: 15%;">修改人/修改时间</th>
9 <th style="width: 10%;">启用日期</th> 9 <th style="width: 10%;">启用日期</th>
@@ -58,7 +58,12 @@ @@ -58,7 +58,12 @@
58 <tbody> 58 <tbody>
59 <tr ng-repeat="info in ctrl.page()['content']" class="odd gradeX"> 59 <tr ng-repeat="info in ctrl.page()['content']" class="odd gradeX">
60 <td> 60 <td>
61 - <span ng-bind="$index + 1"></span> 61 + <div>
  62 + <a href="#">
  63 + <i class="fa fa-list-ol" aria-hidden="true"></i>
  64 + {{$index + ctrl.page().number * 10 + 1}}
  65 + </a>
  66 + </div>
62 </td> 67 </td>
63 <td> 68 <td>
64 <span ng-bind="info.xl.name"></span> 69 <span ng-bind="info.xl.name"></span>
@@ -132,18 +137,24 @@ @@ -132,18 +137,24 @@
132 </table> 137 </table>
133 </div> 138 </div>
134 139
  140 + <div class="pageBar">
  141 + <div class="pageBarLeft">
  142 + {{'显示从' + ctrl.page()['uiFromRecord'] + '到' + ctrl.page()['uiToRecord'] + ' 共' + ctrl.page()['totalElements'] + '条' + ' 每页显示10条'}}
  143 + </div>
135 144
136 - <div style="text-align: right;">  
137 - <uib-pagination total-items="ctrl.page()['totalElements']"  
138 - ng-model="ctrl.page()['uiNumber']"  
139 - ng-change="ctrl.doPage()"  
140 - rotate="false"  
141 - max-size="10"  
142 - boundary-links="true"  
143 - first-text="首页"  
144 - previous-text="上一页"  
145 - next-text="下一页"  
146 - last-text="尾页">  
147 - </uib-pagination> 145 + <div class="pageBarRight">
  146 + <uib-pagination total-items="ctrl.page()['totalElements']"
  147 + ng-model="ctrl.page()['uiNumber']"
  148 + ng-change="ctrl.doPage()"
  149 + rotate="false"
  150 + max-size="10"
  151 + boundary-links="true"
  152 + first-text="首页"
  153 + previous-text="上一页"
  154 + next-text="下一页"
  155 + last-text="尾页">
  156 + </uib-pagination>
  157 + </div>
148 </div> 158 </div>
  159 +
149 </div> 160 </div>
150 \ No newline at end of file 161 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/scheduleRuleManage/module.js
@@ -14,7 +14,9 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -14,7 +14,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
14 number: 0, // 后台返回的页码,spring返回从0开始 14 number: 0, // 后台返回的页码,spring返回从0开始
15 content: [], 15 content: [],
16 16
17 - uiNumber: 1 // 页面绑定的页码 17 + uiNumber: 1, // 页面绑定的页码
  18 + uiFromRecord: 0, // 页面绑定,当前页第几条记录
  19 + uiToRecord: 0 // 页面绑定,当前页到第几条记录
18 }; 20 };
19 21
20 // 查询对象 22 // 查询对象
@@ -44,6 +46,12 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -44,6 +46,12 @@ angular.module(&#39;ScheduleApp&#39;).factory(
44 currentPage.totalElements = page.totalElements; 46 currentPage.totalElements = page.totalElements;
45 currentPage.number = page.number; 47 currentPage.number = page.number;
46 currentPage.content = page.content; 48 currentPage.content = page.content;
  49 +
  50 + // 计算当前页开始记录,结束记录
  51 + if (page.numberOfElements && page.numberOfElements > 0) {
  52 + currentPage.uiFromRecord = page.number * 10 + 1;
  53 + currentPage.uiToRecord = page.number * 10 + page.numberOfElements;
  54 + }
47 } 55 }
48 return currentPage; 56 return currentPage;
49 }, 57 },
@@ -53,7 +61,9 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -53,7 +61,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
53 totalElements: 0, 61 totalElements: 0,
54 number: 0, 62 number: 0,
55 content: [], 63 content: [],
56 - uiNumber: 1 64 + uiNumber: 1,
  65 + uiFromRecord: 0,
  66 + uiToRecord: 0
57 }; 67 };
58 }, 68 },
59 69
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/list.html
@@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
4 <table class="fixTable table table-striped table-bordered table-hover table-checkable order-column"> 4 <table class="fixTable table table-striped table-bordered table-hover table-checkable order-column">
5 <thead> 5 <thead>
6 <tr role="row" class="heading"> 6 <tr role="row" class="heading">
7 - <th style="width: 50px;">序号</th> 7 + <th style="width: 70px;">序号</th>
8 <th style="width: 150px;">线路</th> 8 <th style="width: 150px;">线路</th>
9 <th style="width: 180px;">时刻表名称</th> 9 <th style="width: 180px;">时刻表名称</th>
10 <th style="width: 80px">上下行</th> 10 <th style="width: 80px">上下行</th>
@@ -61,13 +61,26 @@ @@ -61,13 +61,26 @@
61 <tbody> 61 <tbody>
62 <tr ng-repeat="info in ctrl.page()['content']" ng-class="{odd: true, gradeX: true, danger: info.isCancel}"> 62 <tr ng-repeat="info in ctrl.page()['content']" ng-class="{odd: true, gradeX: true, danger: info.isCancel}">
63 <td> 63 <td>
64 - <span ng-bind="$index + 1"></span> 64 + <div>
  65 + <a href="#">
  66 + <i class="fa fa-list-ol" aria-hidden="true"></i>
  67 + {{$index + ctrl.page().number * 10 + 1}}
  68 + </a>
  69 + </div>
65 </td> 70 </td>
66 <td> 71 <td>
67 <span ng-bind="info.xl.name"></span> 72 <span ng-bind="info.xl.name"></span>
68 </td> 73 </td>
69 <td> 74 <td>
70 - <span ng-bind="info.name" title="{{info.name}}"></span> 75 + <div>
  76 + <a href="#"
  77 + tooltip-animation="false"
  78 + tooltip-placement="top"
  79 + uib-tooltip="{{info.name}}"
  80 + tooltip-class="headClass">
  81 + {{info.name}}
  82 + </a>
  83 + </div>
71 </td> 84 </td>
72 <td> 85 <td>
73 <span ng-bind="info.xlDir | dict:'LineTrend2':'未知' "></span> 86 <span ng-bind="info.xlDir | dict:'LineTrend2':'未知' "></span>
@@ -134,17 +147,24 @@ @@ -134,17 +147,24 @@
134 </table> 147 </table>
135 </div> 148 </div>
136 149
137 - <div style="text-align: right;">  
138 - <uib-pagination total-items="ctrl.page()['totalElements']"  
139 - ng-model="ctrl.page()['uiNumber']"  
140 - ng-change="ctrl.doPage()"  
141 - rotate="false"  
142 - max-size="10"  
143 - boundary-links="true"  
144 - first-text="首页"  
145 - previous-text="上一页"  
146 - next-text="下一页"  
147 - last-text="尾页">  
148 - </uib-pagination> 150 + <div class="pageBar">
  151 + <div class="pageBarLeft">
  152 + {{'显示从' + ctrl.page()['uiFromRecord'] + '到' + ctrl.page()['uiToRecord'] + ' 共' + ctrl.page()['totalElements'] + '条' + ' 每页显示10条'}}
  153 + </div>
  154 +
  155 + <div class="pageBarRight">
  156 + <uib-pagination total-items="ctrl.page()['totalElements']"
  157 + ng-model="ctrl.page()['uiNumber']"
  158 + ng-change="ctrl.doPage()"
  159 + rotate="false"
  160 + max-size="10"
  161 + boundary-links="true"
  162 + first-text="首页"
  163 + previous-text="上一页"
  164 + next-text="下一页"
  165 + last-text="尾页">
  166 + </uib-pagination>
  167 + </div>
149 </div> 168 </div>
  169 +
150 </div> 170 </div>
151 \ No newline at end of file 171 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/module.js
@@ -14,7 +14,9 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -14,7 +14,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
14 number: 0, // 后台返回的页码,spring返回从0开始 14 number: 0, // 后台返回的页码,spring返回从0开始
15 content: [], 15 content: [],
16 16
17 - uiNumber: 1 // 页面绑定的页码 17 + uiNumber: 1, // 页面绑定的页码
  18 + uiFromRecord: 0, // 页面绑定,当前页第几条记录
  19 + uiToRecord: 0 // 页面绑定,当前页到第几条记录
18 }; 20 };
19 21
20 // 查询对象类 22 // 查询对象类
@@ -39,6 +41,12 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -39,6 +41,12 @@ angular.module(&#39;ScheduleApp&#39;).factory(
39 currentPage.totalElements = page.totalElements; 41 currentPage.totalElements = page.totalElements;
40 currentPage.number = page.number; 42 currentPage.number = page.number;
41 currentPage.content = page.content; 43 currentPage.content = page.content;
  44 +
  45 + // 计算当前页开始记录,结束记录
  46 + if (page.numberOfElements && page.numberOfElements > 0) {
  47 + currentPage.uiFromRecord = page.number * 10 + 1;
  48 + currentPage.uiToRecord = page.number * 10 + page.numberOfElements;
  49 + }
42 } 50 }
43 return currentPage; 51 return currentPage;
44 }, 52 },
@@ -48,7 +56,9 @@ angular.module(&#39;ScheduleApp&#39;).factory( @@ -48,7 +56,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
48 totalElements: 0, 56 totalElements: 0,
49 number: 0, 57 number: 0,
50 content: [], 58 content: [],
51 - uiNumber: 1 59 + uiNumber: 1,
  60 + uiFromRecord: 0,
  61 + uiToRecord: 0
52 }; 62 };
53 }, 63 },
54 /** 64 /**