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 417 }
418 418 return scheduleRealInfoService.statisticsDailyTj(gsdm,fgsdm,line, date,date2, xlName, type);
419 419 }
  420 +
  421 + /*
  422 + * 公里修正报表
  423 + */
  424 + @RequestMapping(value="/mileageReportTj")
  425 + public List<Map<String,Object>> mileageReport(@RequestParam Map<String, Object> map){
  426 + String gsdm="";
  427 + if(map.get("gsdm")!=null){
  428 + gsdm=map.get("gsdm").toString();
  429 + }
  430 + String fgsdm="";
  431 + if(map.get("fgsdm")!=null){
  432 + fgsdm=map.get("fgsdm").toString();
  433 + }
  434 + String line="";
  435 + if(map.get("line")!=null){
  436 + line=map.get("line").toString();
  437 + }
  438 + String date="";
  439 + if(map.get("date")!=null){
  440 + date=map.get("date").toString();
  441 + }
  442 + String date2="";
  443 + if(map.get("date2")!=null){
  444 + date2=map.get("date2").toString();
  445 + }
  446 + String xlName="";
  447 + if(map.get("xlName")!=null){
  448 + xlName=map.get("xlName").toString();
  449 + }
  450 + return scheduleRealInfoService.mileageReport(gsdm,fgsdm,line, date,date2);
  451 + }
  452 +
  453 + /*
  454 + * 班次修正报表
  455 + */
  456 + @RequestMapping(value="/scheduleCorrectionReport")
  457 + public List<Map<String,Object>> scheduleCorrectionReport(@RequestParam Map<String, Object> map){
  458 + String gsdm="";
  459 + if(map.get("gsdm")!=null){
  460 + gsdm=map.get("gsdm").toString();
  461 + }
  462 + String fgsdm="";
  463 + if(map.get("fgsdm")!=null){
  464 + fgsdm=map.get("fgsdm").toString();
  465 + }
  466 + String line="";
  467 + if(map.get("line")!=null){
  468 + line=map.get("line").toString();
  469 + }
  470 + String date="";
  471 + if(map.get("date")!=null){
  472 + date=map.get("date").toString();
  473 + }
  474 + String date2="";
  475 + if(map.get("date2")!=null){
  476 + date2=map.get("date2").toString();
  477 + }
  478 + String xlName="";
  479 + if(map.get("xlName")!=null){
  480 + xlName=map.get("xlName").toString();
  481 + }
  482 + return scheduleRealInfoService.scheduleCorrectionReport(gsdm,fgsdm,line, date,date2);
  483 + }
420 484  
421 485 @RequestMapping(value="/MapById",method = RequestMethod.GET)
422 486 public Map<String, Object> MapById(@RequestParam("id") Long id){
... ...
src/main/java/com/bsth/controller/report/ReportController.java
... ... @@ -84,12 +84,19 @@ public class ReportController {
84 84 @RequestParam int zd){
85 85 return service.queryStrinon(line,zd);
86 86 }
  87 + //根据排班查到离站
87 88 @RequestMapping(value="/queryInOutStrtion" ,method = RequestMethod.GET)
88 89 public List<Map<String, Object>> queryInOutStrtion(@RequestParam String line,
89 90 @RequestParam String date,@RequestParam int zd,@RequestParam String lzsj){
90 91 return service.queryInOutStrtion(line,date,zd,lzsj);
91 92 }
92 93  
  94 + //根据GPS数据查到离站
  95 + @RequestMapping(value="/queryInOutStrtions" ,method = RequestMethod.GET)
  96 + public List<Map<String, Object>> queryInOutStrtions(@RequestParam String line,
  97 + @RequestParam String date,@RequestParam int zd,@RequestParam String lzsj){
  98 + return service.queryInOutStrtions(line,date,zd,lzsj);
  99 + }
93 100 @RequestMapping(value="/queryListClzd" ,method = RequestMethod.GET)
94 101 public List<ArrivalInfo> queryListClzd(@RequestParam String zd,@RequestParam String line,
95 102 @RequestParam String zdlx,@RequestParam String fcsj,@RequestParam String ddsj){
... ...
src/main/java/com/bsth/data/schedule/signal/SchSiginUpdateDBThread.java
1   -package com.bsth.data.schedule.signal;
2   -
3   -import org.slf4j.Logger;
4   -import org.slf4j.LoggerFactory;
5   -import org.springframework.beans.factory.annotation.Autowired;
6   -import org.springframework.stereotype.Component;
7   -
8   -/**
9   - * Created by panzhao on 2017/8/14.
10   - */
11   -@Component
12   -public class SchSiginUpdateDBThread extends Thread{
13   -
14   - @Autowired
15   - SignalComplateHandler signalComplateHandler;
16   -
17   - Logger logger = LoggerFactory.getLogger(this.getClass());
18   -
19   - @Override
20   - public void run() {
21   - try{
22   - signalComplateHandler.handler();
23   - }catch (Exception e){
24   - logger.error("", e);
25   - }
26   - }
27   -}
  1 +package com.bsth.data.schedule.signal;
  2 +
  3 +import org.slf4j.Logger;
  4 +import org.slf4j.LoggerFactory;
  5 +import org.springframework.beans.factory.annotation.Autowired;
  6 +import org.springframework.stereotype.Component;
  7 +
  8 +/**
  9 + * Created by panzhao on 2017/8/14.
  10 + */
  11 +@Component
  12 +public class SchSiginUpdateDBThread extends Thread{
  13 +
  14 + @Autowired
  15 + SignalComplateHandler signalComplateHandler;
  16 +
  17 + Logger logger = LoggerFactory.getLogger(this.getClass());
  18 +
  19 + @Override
  20 + public void run() {
  21 + try{
  22 + signalComplateHandler.handler();
  23 + }catch (Exception e){
  24 + logger.error("", e);
  25 + }
  26 + }
  27 +}
... ...
src/main/java/com/bsth/data/schedule/signal/SignalComplateHandler.java
1   -package com.bsth.data.schedule.signal;
2   -
3   -import com.bsth.data.schedule.DayOfSchedule;
4   -import com.bsth.data.schedule.signal.entity.SchSiginCompate;
5   -import com.bsth.entity.realcontrol.ScheduleRealInfo;
6   -import com.bsth.util.db.DBUtils_MS;
7   -import org.apache.commons.lang3.StringUtils;
8   -import org.slf4j.Logger;
9   -import org.slf4j.LoggerFactory;
10   -import org.springframework.beans.factory.annotation.Autowired;
11   -import org.springframework.jdbc.core.BatchPreparedStatementSetter;
12   -import org.springframework.jdbc.core.JdbcTemplate;
13   -import org.springframework.jdbc.datasource.DataSourceTransactionManager;
14   -import org.springframework.stereotype.Component;
15   -import org.springframework.transaction.TransactionDefinition;
16   -import org.springframework.transaction.TransactionStatus;
17   -import org.springframework.transaction.support.DefaultTransactionDefinition;
18   -
19   -import java.sql.PreparedStatement;
20   -import java.sql.SQLException;
21   -import java.util.ArrayList;
22   -import java.util.Collection;
23   -import java.util.Date;
24   -import java.util.List;
25   -
26   -/**
27   - * 班次信号补全(写入数据库,网关以补发的形式提交运管处)
28   - * Created by panzhao on 2017/8/13.
29   - */
30   -@Component
31   -public class SignalComplateHandler {
32   -
33   - @Autowired
34   - DayOfSchedule dayOfSchedule;
35   -
36   - Logger log = LoggerFactory.getLogger(this.getClass());
37   -
38   - public void handler(){
39   - Collection<ScheduleRealInfo> all = dayOfSchedule.findAll();
40   - List<SchSiginCompate> list = new ArrayList<>();
41   -
42   - SchSiginCompate siginCompate;
43   - Date d = new Date();
44   - long et = System.currentTimeMillis() - (1000 * 60 * 60 * 2),
45   - st = et - (1000 * 60 * 60 * 2);
46   - for(ScheduleRealInfo sch : all){
47   - if(sch.getDfsjT() > et || sch.getDfsjT() < st)
48   - continue;
49   -
50   - //能自动完成的
51   - if(sch.getSiginCompate() >= 2)
52   - continue;
53   -
54   - //烂班
55   - if(sch.isDestroy())
56   - continue;
57   -
58   - //空驶任务
59   - if(dayOfSchedule.emptyService(sch))
60   - continue;
61   -
62   - siginCompate = new SchSiginCompate(sch);
63   - if(siginCompate == null || StringUtils.isEmpty(siginCompate.getDeciveId()))
64   - continue;
65   -
66   - //标记已经补发
67   - sch.setSiginCompate(3);
68   - //标记入库
69   - dayOfSchedule.save(sch);
70   - siginCompate.setCreateDate(d);
71   - list.add(siginCompate);
72   - }
73   -
74   - put(list);
75   - }
76   -
77   - public void put(final List<SchSiginCompate> list){
78   - if(null == list || list.size() == 0)
79   - return;
80   -
81   - JdbcTemplate jdbcTemp = new JdbcTemplate(DBUtils_MS.getDataSource());
82   - //编程式事务
83   - DataSourceTransactionManager tran = new DataSourceTransactionManager(jdbcTemp.getDataSource());
84   - DefaultTransactionDefinition def = new DefaultTransactionDefinition();
85   - def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
86   - TransactionStatus status = tran.getTransaction(def);
87   -
88   - try{
89   - jdbcTemp.batchUpdate("insert into bsth_t_sigin_complate(id, rq, line_code, device_id, up_down, s_code, e_code, st, et, create_date, status) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", new BatchPreparedStatementSetter() {
90   - @Override
91   - public void setValues(PreparedStatement ps, int i) throws SQLException {
92   - SchSiginCompate sc = list.get(i);
93   - ps.setLong(1, sc.getId());
94   - ps.setString(2, sc.getRq());
95   - ps.setString(3, sc.getLineCode());
96   - ps.setString(4, sc.getDeciveId());
97   - ps.setInt(5, sc.getUpDown());
98   - ps.setString(6, sc.getsCode());
99   - ps.setString(7, sc.geteCode());
100   - ps.setLong(8, sc.getSt());
101   - ps.setLong(9, sc.getEt());
102   - ps.setDate(10, new java.sql.Date(sc.getCreateDate().getTime()));
103   - ps.setInt(11, sc.getStatus());
104   - }
105   -
106   - @Override
107   - public int getBatchSize() {
108   - return list.size();
109   - }
110   - });
111   -
112   - tran.commit(status);
113   - log.info("补信号班次入库," + list.size());
114   - }catch (Exception e){
115   - log.error("", e);
116   - tran.rollback(status);
117   - }
118   - }
119   -
120   -
121   -}
  1 +package com.bsth.data.schedule.signal;
  2 +
  3 +import com.bsth.data.schedule.DayOfSchedule;
  4 +import com.bsth.data.schedule.signal.entity.SchSiginCompate;
  5 +import com.bsth.entity.realcontrol.ScheduleRealInfo;
  6 +import com.bsth.util.db.DBUtils_MS;
  7 +import org.apache.commons.lang3.StringUtils;
  8 +import org.slf4j.Logger;
  9 +import org.slf4j.LoggerFactory;
  10 +import org.springframework.beans.factory.annotation.Autowired;
  11 +import org.springframework.jdbc.core.BatchPreparedStatementSetter;
  12 +import org.springframework.jdbc.core.JdbcTemplate;
  13 +import org.springframework.jdbc.datasource.DataSourceTransactionManager;
  14 +import org.springframework.stereotype.Component;
  15 +import org.springframework.transaction.TransactionDefinition;
  16 +import org.springframework.transaction.TransactionStatus;
  17 +import org.springframework.transaction.support.DefaultTransactionDefinition;
  18 +
  19 +import java.sql.PreparedStatement;
  20 +import java.sql.SQLException;
  21 +import java.util.ArrayList;
  22 +import java.util.Collection;
  23 +import java.util.Date;
  24 +import java.util.List;
  25 +
  26 +/**
  27 + * 班次信号补全(写入数据库,网关以补发的形式提交运管处)
  28 + * Created by panzhao on 2017/8/13.
  29 + */
  30 +@Component
  31 +public class SignalComplateHandler {
  32 +
  33 + @Autowired
  34 + DayOfSchedule dayOfSchedule;
  35 +
  36 + Logger log = LoggerFactory.getLogger(this.getClass());
  37 +
  38 + public void handler(){
  39 + Collection<ScheduleRealInfo> all = dayOfSchedule.findAll();
  40 + List<SchSiginCompate> list = new ArrayList<>();
  41 +
  42 + SchSiginCompate siginCompate;
  43 + Date d = new Date();
  44 + long et = System.currentTimeMillis() - (1000 * 60 * 60 * 2),
  45 + st = et - (1000 * 60 * 60 * 2);
  46 + for(ScheduleRealInfo sch : all){
  47 + if(sch.getDfsjT() > et || sch.getDfsjT() < st)
  48 + continue;
  49 +
  50 + //能自动完成的
  51 + if(sch.getSiginCompate() >= 2)
  52 + continue;
  53 +
  54 + //烂班
  55 + if(sch.isDestroy())
  56 + continue;
  57 +
  58 + //空驶任务
  59 + if(dayOfSchedule.emptyService(sch))
  60 + continue;
  61 +
  62 + siginCompate = new SchSiginCompate(sch);
  63 + if(siginCompate == null || StringUtils.isEmpty(siginCompate.getDeciveId()))
  64 + continue;
  65 +
  66 + //标记已经补发
  67 + sch.setSiginCompate(3);
  68 + //标记入库
  69 + dayOfSchedule.save(sch);
  70 + siginCompate.setCreateDate(d);
  71 + list.add(siginCompate);
  72 + }
  73 +
  74 + put(list);
  75 + }
  76 +
  77 + public void put(final List<SchSiginCompate> list){
  78 + if(null == list || list.size() == 0)
  79 + return;
  80 +
  81 + JdbcTemplate jdbcTemp = new JdbcTemplate(DBUtils_MS.getDataSource());
  82 + //编程式事务
  83 + DataSourceTransactionManager tran = new DataSourceTransactionManager(jdbcTemp.getDataSource());
  84 + DefaultTransactionDefinition def = new DefaultTransactionDefinition();
  85 + def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
  86 + TransactionStatus status = tran.getTransaction(def);
  87 +
  88 + try{
  89 + jdbcTemp.batchUpdate("insert into bsth_t_sigin_complate(id, rq, line_code, device_id, up_down, s_code, e_code, st, et, create_date, status) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", new BatchPreparedStatementSetter() {
  90 + @Override
  91 + public void setValues(PreparedStatement ps, int i) throws SQLException {
  92 + SchSiginCompate sc = list.get(i);
  93 + ps.setLong(1, sc.getId());
  94 + ps.setString(2, sc.getRq());
  95 + ps.setString(3, sc.getLineCode());
  96 + ps.setString(4, sc.getDeciveId());
  97 + ps.setInt(5, sc.getUpDown());
  98 + ps.setString(6, sc.getsCode());
  99 + ps.setString(7, sc.geteCode());
  100 + ps.setLong(8, sc.getSt());
  101 + ps.setLong(9, sc.getEt());
  102 + ps.setDate(10, new java.sql.Date(sc.getCreateDate().getTime()));
  103 + ps.setInt(11, sc.getStatus());
  104 + }
  105 +
  106 + @Override
  107 + public int getBatchSize() {
  108 + return list.size();
  109 + }
  110 + });
  111 +
  112 + tran.commit(status);
  113 + log.info("补信号班次入库," + list.size());
  114 + }catch (Exception e){
  115 + log.error("", e);
  116 + tran.rollback(status);
  117 + }
  118 + }
  119 +
  120 +
  121 +}
... ...
src/main/java/com/bsth/data/schedule/signal/entity/SchSiginCompate.java
1   -package com.bsth.data.schedule.signal.entity;
2   -
3   -import com.bsth.data.BasicData;
4   -import com.bsth.entity.realcontrol.ScheduleRealInfo;
5   -
6   -import java.util.Date;
7   -
8   -/**
9   - * 班次信号补偿
10   - * Created by panzhao on 2017/8/13.
11   - */
12   -public class SchSiginCompate {
13   -
14   - /** 实际班次ID */
15   - private long id;
16   -
17   - /** 班次日期 */
18   - private String rq;
19   -
20   - /** 线路编码 */
21   - private String lineCode;
22   -
23   - /** 设备号 */
24   - private String deciveId;
25   -
26   - /** 上下行 */
27   - private int upDown;
28   -
29   - /** 起始站编码 */
30   - private String sCode;
31   -
32   - /** 终点站编码 */
33   - private String eCode;
34   -
35   - /** 开始时间戳 */
36   - private long st;
37   -
38   - /** 结束时间戳 */
39   - private long et;
40   -
41   - /** 入库时间 */
42   - private Date createDate;
43   -
44   - private int status = 0;
45   -
46   - public SchSiginCompate(ScheduleRealInfo sch) {
47   - this.id = sch.getId();
48   - this.rq = sch.getScheduleDateStr();
49   - this.lineCode = sch.getXlBm();
50   - this.upDown = Integer.parseInt(sch.getXlDir());
51   - this.deciveId = BasicData.deviceId2NbbmMap.inverse().get(sch.getClZbh());
52   - this.sCode = sch.getQdzCode();
53   - this.eCode = sch.getZdzCode();
54   - this.st = sch.getDfsjT();
55   - this.et = sch.getZdsjT();
56   -
57   - if(sch.getFcsjActualTime() != null)
58   - this.st = sch.getFcsjActualTime();
59   - if(sch.getZdsjActualTime() != null)
60   - this.et = sch.getZdsjActualTime();
61   - }
62   -
63   - public long getId() {
64   - return id;
65   - }
66   -
67   - public void setId(long id) {
68   - this.id = id;
69   - }
70   -
71   - public String getRq() {
72   - return rq;
73   - }
74   -
75   - public void setRq(String rq) {
76   - this.rq = rq;
77   - }
78   -
79   - public String getLineCode() {
80   - return lineCode;
81   - }
82   -
83   - public void setLineCode(String lineCode) {
84   - this.lineCode = lineCode;
85   - }
86   -
87   - public String getDeciveId() {
88   - return deciveId;
89   - }
90   -
91   - public void setDeciveId(String deciveId) {
92   - this.deciveId = deciveId;
93   - }
94   -
95   - public int getUpDown() {
96   - return upDown;
97   - }
98   -
99   - public void setUpDown(int upDown) {
100   - this.upDown = upDown;
101   - }
102   -
103   - public String getsCode() {
104   - return sCode;
105   - }
106   -
107   - public void setsCode(String sCode) {
108   - this.sCode = sCode;
109   - }
110   -
111   - public String geteCode() {
112   - return eCode;
113   - }
114   -
115   - public void seteCode(String eCode) {
116   - this.eCode = eCode;
117   - }
118   -
119   - public long getSt() {
120   - return st;
121   - }
122   -
123   - public void setSt(long st) {
124   - this.st = st;
125   - }
126   -
127   - public long getEt() {
128   - return et;
129   - }
130   -
131   - public void setEt(long et) {
132   - this.et = et;
133   - }
134   -
135   - public Date getCreateDate() {
136   - return createDate;
137   - }
138   -
139   - public void setCreateDate(Date createDate) {
140   - this.createDate = createDate;
141   - }
142   -
143   - public int getStatus() {
144   - return status;
145   - }
146   -
147   - public void setStatus(int status) {
148   - this.status = status;
149   - }
150   -}
  1 +package com.bsth.data.schedule.signal.entity;
  2 +
  3 +import com.bsth.data.BasicData;
  4 +import com.bsth.entity.realcontrol.ScheduleRealInfo;
  5 +
  6 +import java.util.Date;
  7 +
  8 +/**
  9 + * 班次信号补偿
  10 + * Created by panzhao on 2017/8/13.
  11 + */
  12 +public class SchSiginCompate {
  13 +
  14 + /** 实际班次ID */
  15 + private long id;
  16 +
  17 + /** 班次日期 */
  18 + private String rq;
  19 +
  20 + /** 线路编码 */
  21 + private String lineCode;
  22 +
  23 + /** 设备号 */
  24 + private String deciveId;
  25 +
  26 + /** 上下行 */
  27 + private int upDown;
  28 +
  29 + /** 起始站编码 */
  30 + private String sCode;
  31 +
  32 + /** 终点站编码 */
  33 + private String eCode;
  34 +
  35 + /** 开始时间戳 */
  36 + private long st;
  37 +
  38 + /** 结束时间戳 */
  39 + private long et;
  40 +
  41 + /** 入库时间 */
  42 + private Date createDate;
  43 +
  44 + private int status = 0;
  45 +
  46 + public SchSiginCompate(ScheduleRealInfo sch) {
  47 + this.id = sch.getId();
  48 + this.rq = sch.getScheduleDateStr();
  49 + this.lineCode = sch.getXlBm();
  50 + this.upDown = Integer.parseInt(sch.getXlDir());
  51 + this.deciveId = BasicData.deviceId2NbbmMap.inverse().get(sch.getClZbh());
  52 + this.sCode = sch.getQdzCode();
  53 + this.eCode = sch.getZdzCode();
  54 + this.st = sch.getDfsjT();
  55 + this.et = sch.getZdsjT();
  56 +
  57 + if(sch.getFcsjActualTime() != null)
  58 + this.st = sch.getFcsjActualTime();
  59 + if(sch.getZdsjActualTime() != null)
  60 + this.et = sch.getZdsjActualTime();
  61 + }
  62 +
  63 + public long getId() {
  64 + return id;
  65 + }
  66 +
  67 + public void setId(long id) {
  68 + this.id = id;
  69 + }
  70 +
  71 + public String getRq() {
  72 + return rq;
  73 + }
  74 +
  75 + public void setRq(String rq) {
  76 + this.rq = rq;
  77 + }
  78 +
  79 + public String getLineCode() {
  80 + return lineCode;
  81 + }
  82 +
  83 + public void setLineCode(String lineCode) {
  84 + this.lineCode = lineCode;
  85 + }
  86 +
  87 + public String getDeciveId() {
  88 + return deciveId;
  89 + }
  90 +
  91 + public void setDeciveId(String deciveId) {
  92 + this.deciveId = deciveId;
  93 + }
  94 +
  95 + public int getUpDown() {
  96 + return upDown;
  97 + }
  98 +
  99 + public void setUpDown(int upDown) {
  100 + this.upDown = upDown;
  101 + }
  102 +
  103 + public String getsCode() {
  104 + return sCode;
  105 + }
  106 +
  107 + public void setsCode(String sCode) {
  108 + this.sCode = sCode;
  109 + }
  110 +
  111 + public String geteCode() {
  112 + return eCode;
  113 + }
  114 +
  115 + public void seteCode(String eCode) {
  116 + this.eCode = eCode;
  117 + }
  118 +
  119 + public long getSt() {
  120 + return st;
  121 + }
  122 +
  123 + public void setSt(long st) {
  124 + this.st = st;
  125 + }
  126 +
  127 + public long getEt() {
  128 + return et;
  129 + }
  130 +
  131 + public void setEt(long et) {
  132 + this.et = et;
  133 + }
  134 +
  135 + public Date getCreateDate() {
  136 + return createDate;
  137 + }
  138 +
  139 + public void setCreateDate(Date createDate) {
  140 + this.createDate = createDate;
  141 + }
  142 +
  143 + public int getStatus() {
  144 + return status;
  145 + }
  146 +
  147 + public void setStatus(int status) {
  148 + this.status = status;
  149 + }
  150 +}
... ...
src/main/java/com/bsth/entity/excep/ArrivalInfo.java
... ... @@ -61,11 +61,12 @@ public class ArrivalInfo {
61 61 private String jzsj;
62 62 /** -1 则信号有效,但程序标记为不使用 */
63 63 private int flag = 0;
64   -
  64 + private Date dates;
  65 + private int route;
65 66 public ArrivalInfo(){}
66 67  
67 68 public ArrivalInfo(String deviceId, long ts, String lineCode, int upDown, String stopNo, int inOut, long createDate,
68   - int weeksYear, String stopName) {
  69 + int weeksYear, String stopName,Date dates,int route) {
69 70  
70 71 this.deviceId = deviceId;
71 72 this.ts = ts;
... ... @@ -75,6 +76,8 @@ public class ArrivalInfo {
75 76 this.stopName = stopName;
76 77 this.inOut = inOut;
77 78 this.createDate = createDate;
  79 + this.dates=dates;
  80 + this.route=route;
78 81 }
79 82  
80 83 /* @Override
... ... @@ -253,6 +256,22 @@ public class ArrivalInfo {
253 256 public void setPzh(String pzh) {
254 257 this.pzh = pzh;
255 258 }
  259 +
  260 + public Date getDates() {
  261 + return dates;
  262 + }
  263 +
  264 + public void setDates(Date dates) {
  265 + this.dates = dates;
  266 + }
  267 +
  268 + public int getRoute() {
  269 + return route;
  270 + }
  271 +
  272 + public void setRoute(int route) {
  273 + this.route = route;
  274 + }
256 275  
257 276  
258 277  
... ...
src/main/java/com/bsth/entity/report/MileageReport.java 0 → 100644
  1 +package com.bsth.entity.report;
  2 +
  3 +import java.util.Date;
  4 +
  5 +/**
  6 + * @ClassName: MileageReport.java
  7 + * @Description: TODO(营运里程修正报表)
  8 + * @author: YouRuiFeng
  9 + * @date: 2017-8-14 上午11:09:19
  10 + *
  11 + */
  12 +public class MileageReport {
  13 + /** 公司编码 */
  14 + private String companyId;
  15 +
  16 + /** 分公司编码 */
  17 + private String subCompanyId;
  18 +
  19 + /** 公司名称 */
  20 + private String companyName;
  21 +
  22 + /** 分公司名称 */
  23 + private String subCompanyName;
  24 +
  25 + /** 线路编码 */
  26 + private String lineCode;
  27 +
  28 + /** 线路名称 */
  29 + private String lineName;
  30 +
  31 + /** 总营运公里 */
  32 + private double zgl;
  33 +
  34 + /** 实际运营公里 */
  35 + private double sjyygl;
  36 +
  37 + /** 实际空驶公里 */
  38 + private double sjksgl;
  39 +
  40 + /** 手动待发公里 */
  41 + private double sddfgl;
  42 +
  43 + /** 自动代发公里 */
  44 + private double zddfgl;
  45 +
  46 + /** 完全无Gps信号公里 */
  47 + private double wqwxhgl;
  48 +
  49 + /** 部分无Gps公里 */
  50 + private double bfwxhgl;
  51 +
  52 + /** 漂移公里 */
  53 + private double pygl;
  54 +
  55 + /** 临加公里 */
  56 + private double ljgl;
  57 +
  58 + /** 子任务 */
  59 + private double zrwgl;
  60 +
  61 + /** 其他*/
  62 + private String other;
  63 +
  64 + /** 备注 */
  65 + private String remarks;
  66 +
  67 + /** 日期 (班次日期) */
  68 + private String rq;
  69 +
  70 + private Date createDate;
  71 +
  72 +
  73 + public String getCompanyId() {
  74 + return companyId;
  75 + }
  76 +
  77 + public void setCompanyId(String companyId) {
  78 + this.companyId = companyId;
  79 + }
  80 +
  81 + public String getSubCompanyId() {
  82 + return subCompanyId;
  83 + }
  84 +
  85 + public void setSubCompanyId(String subCompanyId) {
  86 + this.subCompanyId = subCompanyId;
  87 + }
  88 +
  89 + public String getCompanyName() {
  90 + return companyName;
  91 + }
  92 +
  93 + public void setCompanyName(String companyName) {
  94 + this.companyName = companyName;
  95 + }
  96 +
  97 + public String getSubCompanyName() {
  98 + return subCompanyName;
  99 + }
  100 +
  101 + public void setSubCompanyName(String subCompanyName) {
  102 + this.subCompanyName = subCompanyName;
  103 + }
  104 +
  105 + public String getLineCode() {
  106 + return lineCode;
  107 + }
  108 +
  109 + public void setLineCode(String lineCode) {
  110 + this.lineCode = lineCode;
  111 + }
  112 +
  113 + public String getLineName() {
  114 + return lineName;
  115 + }
  116 +
  117 + public void setLineName(String lineName) {
  118 + this.lineName = lineName;
  119 + }
  120 +
  121 + public double getZgl() {
  122 + return zgl;
  123 + }
  124 +
  125 + public void setZgl(double zgl) {
  126 + this.zgl = zgl;
  127 + }
  128 +
  129 + public double getSjyygl() {
  130 + return sjyygl;
  131 + }
  132 +
  133 + public void setSjyygl(double sjyygl) {
  134 + this.sjyygl = sjyygl;
  135 + }
  136 +
  137 + public double getSjksgl() {
  138 + return sjksgl;
  139 + }
  140 +
  141 + public void setSjksgl(double sjksgl) {
  142 + this.sjksgl = sjksgl;
  143 + }
  144 +
  145 + public double getSddfgl() {
  146 + return sddfgl;
  147 + }
  148 +
  149 + public void setSddfgl(double sddfgl) {
  150 + this.sddfgl = sddfgl;
  151 + }
  152 +
  153 + public double getZddfgl() {
  154 + return zddfgl;
  155 + }
  156 +
  157 + public void setZddfgl(double zddfgl) {
  158 + this.zddfgl = zddfgl;
  159 + }
  160 +
  161 + public double getWqwxhgl() {
  162 + return wqwxhgl;
  163 + }
  164 +
  165 + public void setWqwxhgl(double wqwxhgl) {
  166 + this.wqwxhgl = wqwxhgl;
  167 + }
  168 +
  169 + public double getBfwxhgl() {
  170 + return bfwxhgl;
  171 + }
  172 +
  173 + public void setBfwxhgl(double bfwxhgl) {
  174 + this.bfwxhgl = bfwxhgl;
  175 + }
  176 +
  177 + public double getPygl() {
  178 + return pygl;
  179 + }
  180 +
  181 + public void setPygl(double pygl) {
  182 + this.pygl = pygl;
  183 + }
  184 +
  185 + public double getLjgl() {
  186 + return ljgl;
  187 + }
  188 +
  189 + public void setLjgl(double ljgl) {
  190 + this.ljgl = ljgl;
  191 + }
  192 +
  193 + public double getZrwgl() {
  194 + return zrwgl;
  195 + }
  196 +
  197 + public void setZrwgl(double zrwgl) {
  198 + this.zrwgl = zrwgl;
  199 + }
  200 +
  201 + public String getOther() {
  202 + return other;
  203 + }
  204 +
  205 + public void setOther(String other) {
  206 + this.other = other;
  207 + }
  208 +
  209 + public String getRemarks() {
  210 + return remarks;
  211 + }
  212 +
  213 + public void setRemarks(String remarks) {
  214 + this.remarks = remarks;
  215 + }
  216 +
  217 + public String getRq() {
  218 + return rq;
  219 + }
  220 +
  221 + public void setRq(String rq) {
  222 + this.rq = rq;
  223 + }
  224 +
  225 + public Date getCreateDate() {
  226 + return createDate;
  227 + }
  228 +
  229 + public void setCreateDate(Date createDate) {
  230 + this.createDate = createDate;
  231 + }
  232 +
  233 +
  234 +}
... ...
src/main/java/com/bsth/entity/report/ScheduleCorrectionReport.java 0 → 100644
  1 +package com.bsth.entity.report;
  2 +
  3 +import java.util.Date;
  4 +
  5 +/**
  6 + * @ClassName: MileageReport.java
  7 + * @Description: TODO(营运里程修正报表)
  8 + * @author: YouRuiFeng
  9 + * @date: 2017-8-14 上午11:09:19
  10 + *
  11 + */
  12 +public class ScheduleCorrectionReport {
  13 + /** 公司编码 */
  14 + private String companyId;
  15 +
  16 + /** 分公司编码 */
  17 + private String subCompanyId;
  18 +
  19 + /** 公司名称 */
  20 + private String companyName;
  21 +
  22 + /** 分公司名称 */
  23 + private String subCompanyName;
  24 +
  25 + /** 线路编码 */
  26 + private String lineCode;
  27 +
  28 + /** 线路名称 */
  29 + private String lineName;
  30 +
  31 + /** 总营运班次 */
  32 + private int zbc;
  33 +
  34 + /** 实际运营班次 */
  35 + private int sjyybc;
  36 +
  37 + /** 实际空驶班次 */
  38 + private int sjksbc;
  39 +
  40 + /** 手动待发班次 */
  41 + private int sddfbc;
  42 +
  43 + /** 自动代发班次 */
  44 + private int zddfbc;
  45 +
  46 + /** 完全无Gps信号班次 */
  47 + private int wqwxhbc;
  48 +
  49 + /** 部分无Gps班次 */
  50 + private int bfwxhbc;
  51 +
  52 + /** 漂移班次 */
  53 + private int pybc;
  54 +
  55 + /** 临加班次 */
  56 + private int ljbc;
  57 +
  58 + /** 子任务 */
  59 + private int zrwbc;
  60 +
  61 + /** 其他*/
  62 + private String other;
  63 +
  64 + /** 备注 */
  65 + private String remarks;
  66 +
  67 + /** 日期 (班次日期) */
  68 + private String rq;
  69 +
  70 + private Date createDate;
  71 +
  72 + public String getCompanyId() {
  73 + return companyId;
  74 + }
  75 +
  76 + public void setCompanyId(String companyId) {
  77 + this.companyId = companyId;
  78 + }
  79 +
  80 + public String getSubCompanyId() {
  81 + return subCompanyId;
  82 + }
  83 +
  84 + public void setSubCompanyId(String subCompanyId) {
  85 + this.subCompanyId = subCompanyId;
  86 + }
  87 +
  88 + public String getCompanyName() {
  89 + return companyName;
  90 + }
  91 +
  92 + public void setCompanyName(String companyName) {
  93 + this.companyName = companyName;
  94 + }
  95 +
  96 + public String getSubCompanyName() {
  97 + return subCompanyName;
  98 + }
  99 +
  100 + public void setSubCompanyName(String subCompanyName) {
  101 + this.subCompanyName = subCompanyName;
  102 + }
  103 +
  104 + public String getLineCode() {
  105 + return lineCode;
  106 + }
  107 +
  108 + public void setLineCode(String lineCode) {
  109 + this.lineCode = lineCode;
  110 + }
  111 +
  112 + public String getLineName() {
  113 + return lineName;
  114 + }
  115 +
  116 + public void setLineName(String lineName) {
  117 + this.lineName = lineName;
  118 + }
  119 +
  120 + public int getZbc() {
  121 + return zbc;
  122 + }
  123 +
  124 + public void setZbc(int zbc) {
  125 + this.zbc = zbc;
  126 + }
  127 +
  128 + public int getSjyybc() {
  129 + return sjyybc;
  130 + }
  131 +
  132 + public void setSjyybc(int sjyybc) {
  133 + this.sjyybc = sjyybc;
  134 + }
  135 +
  136 + public int getSjksbc() {
  137 + return sjksbc;
  138 + }
  139 +
  140 + public void setSjksbc(int sjksbc) {
  141 + this.sjksbc = sjksbc;
  142 + }
  143 +
  144 + public int getSddfbc() {
  145 + return sddfbc;
  146 + }
  147 +
  148 + public void setSddfbc(int sddfbc) {
  149 + this.sddfbc = sddfbc;
  150 + }
  151 +
  152 + public int getZddfbc() {
  153 + return zddfbc;
  154 + }
  155 +
  156 + public void setZddfbc(int zddfbc) {
  157 + this.zddfbc = zddfbc;
  158 + }
  159 +
  160 + public int getWqwxhbc() {
  161 + return wqwxhbc;
  162 + }
  163 +
  164 + public void setWqwxhbc(int wqwxhbc) {
  165 + this.wqwxhbc = wqwxhbc;
  166 + }
  167 +
  168 + public int getBfwxhbc() {
  169 + return bfwxhbc;
  170 + }
  171 +
  172 + public void setBfwxhbc(int bfwxhbc) {
  173 + this.bfwxhbc = bfwxhbc;
  174 + }
  175 +
  176 + public int getPybc() {
  177 + return pybc;
  178 + }
  179 +
  180 + public void setPybc(int pybc) {
  181 + this.pybc = pybc;
  182 + }
  183 +
  184 + public int getLjbc() {
  185 + return ljbc;
  186 + }
  187 +
  188 + public void setLjbc(int ljbc) {
  189 + this.ljbc = ljbc;
  190 + }
  191 +
  192 + public int getZrwbc() {
  193 + return zrwbc;
  194 + }
  195 +
  196 + public void setZrwbc(int zrwbc) {
  197 + this.zrwbc = zrwbc;
  198 + }
  199 +
  200 + public String getOther() {
  201 + return other;
  202 + }
  203 +
  204 + public void setOther(String other) {
  205 + this.other = other;
  206 + }
  207 +
  208 + public String getRemarks() {
  209 + return remarks;
  210 + }
  211 +
  212 + public void setRemarks(String remarks) {
  213 + this.remarks = remarks;
  214 + }
  215 +
  216 + public String getRq() {
  217 + return rq;
  218 + }
  219 +
  220 + public void setRq(String rq) {
  221 + this.rq = rq;
  222 + }
  223 +
  224 + public Date getCreateDate() {
  225 + return createDate;
  226 + }
  227 +
  228 + public void setCreateDate(Date createDate) {
  229 + this.createDate = createDate;
  230 + }
  231 +
  232 +}
... ...
src/main/java/com/bsth/repository/oil/DlbRepository.java
... ... @@ -53,7 +53,7 @@ public interface DlbRepository extends BaseRepository&lt;Dlb, Integer&gt;{
53 53 + " ssgsdm like %?2% "
54 54 + " and fgsdm like %?3%"
55 55 + " and xlbm like %?4% and nbbm like %?5% "
56   - + " group by nbbm,rq,ssgsdm,fgsdm,xlbm",nativeQuery=true)
  56 + + " group by nbbm,rq,ssgsdm,fgsdm",nativeQuery=true)
57 57 List<Object[]> checkNbmmNum(String rq, String gsbm,String fgsbm,String xlbm,String nbbm);
58 58  
59 59 @Query(value="select nbbm,sum(cdl*100) as cdl ,sum(zlc*100) as zlc from bsth_c_dlb where to_days(?1)=to_days(rq) and "
... ...
src/main/java/com/bsth/repository/oil/JdlRepository.java
... ... @@ -17,25 +17,25 @@ public interface JdlRepository extends BaseRepository&lt;Jdl, Integer&gt;{
17 17 @Transactional
18 18 @Modifying
19 19 @Query(value="INSERT INTO bsth_c_jdl("+
20   - "gs_bm, gs_name, fgs_bm, fgs_name, rq, nbbm, jdl, jdz, remarks, creater_date,jsy)" +
  20 + "gs_bm, gs_name, fgs_bm, fgs_name, rq, nbbm, jdl, jdz, remarks, creater_date)" +
21 21 " VALUES(" +
22   - "?1,?2,?3,?4,str_to_date(?5,'%Y-%m-%d'),?6,?7,?8,?9,str_to_date(?10,'%Y-%m-%d %H:%i:%s'),?11)", nativeQuery=true)
23   - void insertData(String gsbm, String gsName, String fgsbm, String fgsName, String rq, String nbbm, String jdl, String jdz, String remarks, String createrDate,String jsy);
  22 + "?1,?2,?3,?4,str_to_date(?5,'%Y-%m-%d'),?6,?7,?8,?9,str_to_date(?10,'%Y-%m-%d %H:%i:%s'))", nativeQuery=true)
  23 + void insertData(String gsbm, String gsName, String fgsbm, String fgsName, String rq, String nbbm, String jdl, String jdz, String remarks, String createrDate);
24 24  
25   - @Query(value="SELECT * FROM bsth_c_jdl where gs_bm = ?1 and fgs_bm = ?2 and rq = ?3 and nbbm like %?4% and jsy like %?5%" ,nativeQuery=true)
26   - List<Jdl> query(String gsbm, String fgsbm, String rq, String nbbm,String jsy);
  25 + @Query(value="SELECT * FROM bsth_c_jdl where gs_bm = ?1 and fgs_bm = ?2 and rq = ?3 and nbbm like %?4% " ,nativeQuery=true)
  26 + List<Jdl> query(String gsbm, String fgsbm, String rq, String nbbm);
27 27  
28 28  
29 29 @Query(value="SELECT * FROM bsth_c_jdl where rq = ?",nativeQuery=true)
30 30 List<Jdl> JdlList( String rq);
31 31  
32   - @Query(value="SELECT jdl FROM bsth_c_jdl where gs_bm = ?1 and fgs_bm = ?2 and rq = ?3 and nbbm = ?4 and jsy = ?5 ",nativeQuery=true)
33   - List<Double> queryBySame(String gsbm, String fgsbm, String rq, String nbbm, String jsy);
  32 + @Query(value="SELECT jdl FROM bsth_c_jdl where gs_bm = ?1 and fgs_bm = ?2 and rq = ?3 and nbbm = ?4 ",nativeQuery=true)
  33 + List<Double> queryBySame(String gsbm, String fgsbm, String rq, String nbbm);
34 34  
35 35  
36 36 @Transactional
37 37 @Modifying
38   - @Query(value="UPDATE bsth_c_jdl set jdl = ?1 where gs_bm = ?2 and fgs_bm = ?3 and rq = ?4 and nbbm = ?5 and jsy = ?6",nativeQuery=true)
39   - void UpdateJdl(String jdl, String gsbm, String fgsbm, String rq, String nbbm, String jsy);
  38 + @Query(value="UPDATE bsth_c_jdl set jdl = ?1 where gs_bm = ?2 and fgs_bm = ?3 and rq = ?4 and nbbm = ?5",nativeQuery=true)
  39 + void UpdateJdl(String jdl, String gsbm, String fgsbm, String rq, String nbbm);
40 40  
41 41 }
... ...
src/main/java/com/bsth/service/impl/BusIntervalServiceImpl.java
... ... @@ -673,9 +673,10 @@ public class BusIntervalServiceImpl implements BusIntervalService {
673 673 if(sfqr == 1){
674 674 where += " and zdsj >= '"+times1+"' and fcsj <= '"+times2+"'";
675 675 }
676   - where += " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'";
  676 +// where += " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'";
  677 + where += " and bc_type != 'ldks'";
677 678  
678   - String sql = "select id, schedule_date_Str, real_exec_date, xl_name, lp_name, bcs, bcsj, jhlc,"
  679 + String sql = "select id, schedule_date_Str, real_exec_date, xl_name, lp_name, bcs, bcsj, jhlc, bc_type,"
679 680 + " fcsj, fcsj_actual, zdsj, zdsj_actual, qdz_name, zdz_name, xl_dir, status, remarks, gs_name, fgs_name, sp_id"
680 681 + " from bsth_c_s_sp_info_real where DATE_FORMAT(schedule_date,'%Y-%m-%d') >= '"+startDate+"'"
681 682 + " and DATE_FORMAT(schedule_date,'%Y-%m-%d') <= '"+endDate+"'"+where+"";
... ... @@ -699,6 +700,7 @@ public class BusIntervalServiceImpl implements BusIntervalService {
699 700 schedule.setZdsjActual(rs.getString("zdsj_actual"));
700 701 schedule.setQdzName(rs.getString("qdz_name"));
701 702 schedule.setZdzName(rs.getString("zdz_name"));
  703 + schedule.setBcType(rs.getString("bc_type"));
702 704 schedule.setXlDir(rs.getString("xl_dir"));
703 705 schedule.setStatus(rs.getInt("status"));
704 706 schedule.setRemarks(rs.getString("remarks"));
... ... @@ -832,7 +834,7 @@ public class BusIntervalServiceImpl implements BusIntervalService {
832 834 if(model.length() != 0){
833 835 sql = "select sp.id from "
834 836 + "(select id, tt_info, xl_bm, lp, fcsj from bsth_c_s_sp_info where schedule_date >= '"+startDate+"' and schedule_date <= '"+endDate+"'"
835   - + " and tt_info = '" + model + "' and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks') sp"
  837 + + " and tt_info = '" + model + "' and bc_type != 'ldks') sp"
836 838 + " left join bsth_c_s_ttinfo_detail tt on sp.tt_info = tt.ttinfo and sp.xl_bm = tt.xl and sp.lp = tt.lp and sp.fcsj = tt.fcsj";
837 839  
838 840 ttList = jdbcTemplate.query(sql,
... ... @@ -915,6 +917,7 @@ public class BusIntervalServiceImpl implements BusIntervalService {
915 917 for(String key : keyMap.keySet()){
916 918 Map<String, Object> tempMap = new HashMap<String, Object>();
917 919 Map<Long, ScheduleRealInfo> sortMap = new HashMap<Long, ScheduleRealInfo>();
  920 + Map<Long, Map<String, Object>> sortMap1 = new HashMap<Long, Map<String, Object>>();
918 921 List<Map<String, Object>> mapList = new ArrayList<Map<String, Object>>();
919 922 List<Long> keyList = new ArrayList<Long>();
920 923 List<Long> keyList2 = new ArrayList<Long>();
... ... @@ -946,30 +949,25 @@ public class BusIntervalServiceImpl implements BusIntervalService {
946 949 for(int i = 1; i < keyList.size(); i++){
947 950 ScheduleRealInfo schedule1 = sortMap.get(keyList.get(i - 1));
948 951 ScheduleRealInfo schedule2 = sortMap.get(keyList.get(i));
949   - if(!tsSet.contains(schedule1.getId())){
950   - if(sfqr == 1 && time1 > schedule1.getFcsjT()){
951   - jhyysj += schedule2.getFcsjT() - time1;
952   - }else if(sfqr == 1 && time2 < schedule2.getFcsjT()){
953   - jhyysj += time2 - schedule1.getFcsjT();
  952 + if(!tsSet.contains(schedule1.getId()) && !schedule1.getBcType().toString().equals("in") && !schedule1.getBcType().toString().equals("out")){
  953 + long fcsj1 = schedule1.getFcsjT();
  954 + long fcsj2 = schedule2.getFcsjT();
  955 + if(tsSet.contains(schedule2.getId()) || schedule2.getBcType().toString().equals("in") || schedule2.getBcType().toString().equals("out")){
  956 + fcsj2 = schedule1.getZdsjT();
  957 + }
  958 + if(sfqr == 1 && time1 > fcsj1){
  959 + jhyysj += fcsj2 - time1;
  960 + }else if(sfqr == 1 && time2 < fcsj2){
  961 + jhyysj += time2 - fcsj1;
954 962 }else{
955   - jhyysj += schedule2.getFcsjT() - schedule1.getFcsjT();
  963 + jhyysj += fcsj2 - fcsj1;
956 964 }
957   - jhyysj1 += schedule2.getFcsjT() - schedule1.getFcsjT();
958   - }
959   - long zdsj2 = schedule2.getZdsjT();
960   - long fcsj2 = schedule2.getFcsjT();
961   - if(fcsj2 > zdsj2)
962   - zdsj2 += 1440l;
963   - if(sfqr == 1 && time1 > fcsj2){
964   - jhyssj += zdsj2 - time1;
965   - }else if(sfqr == 1 && time2 < zdsj2){
966   - jhyssj += time2 - fcsj2;
967   - }else{
968   - jhyssj += zdsj2 - fcsj2;
  965 + if(jhyysj < 0){
  966 + System.out.println(fcsj2 + " - " + fcsj1);
  967 + }
  968 + jhyysj1 += fcsj2 - fcsj1;
969 969 }
970   - jhyssj1 += zdsj2 - fcsj2;
971   - jhlc += schedule2.getJhlc()==null?0:schedule2.getJhlc();
972   - if(i == 1){
  970 + if(i == 1 && schedule1.getBcType().toString().equals("normal")){
973 971 long zdsj1 = schedule1.getZdsjT();
974 972 long fcsj1 = schedule1.getFcsjT();
975 973 if(fcsj1 > zdsj1)
... ... @@ -984,12 +982,27 @@ public class BusIntervalServiceImpl implements BusIntervalService {
984 982 jhyssj1 += zdsj1 - fcsj1;
985 983 jhlc += schedule1.getJhlc()==null?0:schedule1.getJhlc();
986 984 }
  985 + if(schedule2.getBcType().toString().equals("normal")){
  986 + long zdsj2 = schedule2.getZdsjT();
  987 + long fcsj2 = schedule2.getFcsjT();
  988 + if(fcsj2 > zdsj2)
  989 + zdsj2 += 1440l;
  990 + if(sfqr == 1 && time1 > fcsj2){
  991 + jhyssj += zdsj2 - time1;
  992 + }else if(sfqr == 1 && time2 < zdsj2){
  993 + jhyssj += time2 - fcsj2;
  994 + }else{
  995 + jhyssj += zdsj2 - fcsj2;
  996 + }
  997 + jhyssj1 += zdsj2 - fcsj2;
  998 + jhlc += schedule2.getJhlc()==null?0:schedule2.getJhlc();
  999 + }
987 1000 }
988 1001  
989 1002 for(int i = 0; i < keyList.size(); i++){
990 1003 Map<String, Object> m = new HashMap<String, Object>();
991 1004 ScheduleRealInfo schedule = sortMap.get(keyList.get(i));
992   -
  1005 +
993 1006 if(cMap.containsKey(schedule.getId())){
994 1007 List<ChildTaskPlan> cTasks = cMap.get(schedule.getId());
995 1008 for(ChildTaskPlan childTaskPlan : cTasks){
... ... @@ -1012,6 +1025,7 @@ public class BusIntervalServiceImpl implements BusIntervalService {
1012 1025 temp.put("fcsj", null);
1013 1026 }
1014 1027 }
  1028 + temp.put("bcType", schedule.getBcType());
1015 1029 mapList.add(temp);
1016 1030 }
1017 1031 }else{
... ... @@ -1029,6 +1043,7 @@ public class BusIntervalServiceImpl implements BusIntervalService {
1029 1043 m.put("zdsj", null);
1030 1044 m.put("fcsj", null);
1031 1045 }
  1046 + m.put("bcType", schedule.getBcType());
1032 1047 mapList.add(m);
1033 1048 }
1034 1049 }
... ... @@ -1036,6 +1051,7 @@ public class BusIntervalServiceImpl implements BusIntervalService {
1036 1051 for(Map<String, Object> m : mapList){
1037 1052 if(m.get("fcsj") != null && m.get("fcsj").toString().trim().length()!=0){
1038 1053 keyList2.add(Long.valueOf(m.get("fcsj").toString()));
  1054 + sortMap1.put(Long.valueOf(m.get("fcsj").toString()), m);
1039 1055 }
1040 1056 }
1041 1057 Collections.sort(keyList2);
... ... @@ -1043,36 +1059,31 @@ public class BusIntervalServiceImpl implements BusIntervalService {
1043 1059 for(int i = 1; i < keyList2.size(); i++){
1044 1060 long fcsj1 = keyList2.get(i - 1);
1045 1061 long fcsj2 = keyList2.get(i);
1046   - if(fcsj2 - fcsj1 < 90){
1047   - if(sfqr == 1 && time1 > fcsj1){
1048   - sjyysj += fcsj2 - time1;
1049   - }else if(sfqr == 1 && time2 < fcsj2){
1050   - sjyysj += time2 - fcsj1;
1051   - }else{
1052   - sjyysj += fcsj2 - fcsj1;
1053   - }
1054   - sjyysj1 += fcsj2 - fcsj1;
  1062 + Map<String, Object> m1 = sortMap1.get(fcsj1);
  1063 + Map<String, Object> m2 = sortMap1.get(fcsj2);
  1064 + if(m1.get("bcType").toString().equals("in") || m1.get("bcType").toString().equals("out"))
  1065 + continue;
  1066 + if(m2.get("bcType").toString().equals("in") || m2.get("bcType").toString().equals("out")){
  1067 + fcsj2 = Long.valueOf(m1.get("zdsj").toString());
  1068 + } else if(i == keyList.size() - 1){
  1069 + fcsj2 = Long.valueOf(m2.get("zdsj").toString());
  1070 + }
  1071 + if(sfqr == 1 && time1 > fcsj1){
  1072 + sjyysj += fcsj2 - time1;
  1073 + }else if(sfqr == 1 && time2 < fcsj2){
  1074 + sjyysj += time2 - fcsj1;
  1075 + }else{
  1076 + sjyysj += fcsj2 - fcsj1;
1055 1077 }
  1078 + sjyysj1 += fcsj2 - fcsj1;
1056 1079 }
1057 1080  
1058   - for(int i = 1; i < mapList.size(); i++){
1059   - Map<String, Object> m1 = mapList.get(i - 1);
1060   - Map<String, Object> m2 = mapList.get(i);
1061   -// if(m1.get("fcsj") != null && m2.get("fcsj") != null){
1062   -// long fcsj2 = Long.valueOf(m2.get("fcsj").toString());
1063   -// long fcsj1 = Long.valueOf(m1.get("fcsj").toString());
1064   -// if(sfqr == 1 && time1 > fcsj1){
1065   -// sjyysj += fcsj2 - time1;
1066   -// }else if(sfqr == 1 && time2 < fcsj2){
1067   -// sjyysj += time2 - fcsj1;
1068   -// }else{
1069   -// sjyysj += fcsj2 - fcsj1;
1070   -// }
1071   -// sjyysj1 += fcsj2 - fcsj1;
1072   -// }
1073   - if(m2.get("fcsj") != null && m2.get("zdsj") != null){
1074   - long zdsj = Long.valueOf(m2.get("zdsj").toString());
1075   - long fcsj = Long.valueOf(m2.get("fcsj").toString());
  1081 + for(int i = 0; i < mapList.size(); i++){
  1082 + Map<String, Object> m = mapList.get(i);
  1083 + if(m.get("fcsj") != null && m.get("zdsj") != null &&
  1084 + !m.get("bcType").toString().equals("in") && !m.get("bcType").toString().equals("out")){
  1085 + long zdsj = Long.valueOf(m.get("zdsj").toString());
  1086 + long fcsj = Long.valueOf(m.get("fcsj").toString());
1076 1087 if(fcsj > zdsj)
1077 1088 zdsj += 1440l;
1078 1089 if(sfqr == 1 && time1 > fcsj){
... ... @@ -1083,22 +1094,7 @@ public class BusIntervalServiceImpl implements BusIntervalService {
1083 1094 sjyssj += zdsj - fcsj;
1084 1095 }
1085 1096 sjyssj1 += zdsj - fcsj;
1086   - sjlc += Double.valueOf(m2.get("lc").toString());
1087   - }
1088   - if(i == 1 && m1.get("fcsj") != null && m1.get("zdsj") != null){
1089   - long zdsj = Long.valueOf(m1.get("zdsj").toString());
1090   - long fcsj = Long.valueOf(m1.get("fcsj").toString());
1091   - if(fcsj > zdsj)
1092   - zdsj += 1440l;
1093   - if(sfqr == 1 && time1 > fcsj){
1094   - sjyssj += zdsj - time1;
1095   - }else if(sfqr == 1 && time2 < zdsj){
1096   - sjyssj += time2 - fcsj;
1097   - }else{
1098   - sjyssj += zdsj - fcsj;
1099   - }
1100   - sjyssj1 += zdsj - fcsj;
1101   - sjlc += Double.valueOf(m1.get("lc").toString());
  1097 + sjlc += Double.valueOf(m.get("lc").toString());
1102 1098 }
1103 1099 }
1104 1100 tempMap.put("company", companyName);
... ...
src/main/java/com/bsth/service/oil/impl/DlbServiceImpl.java
... ... @@ -9,6 +9,8 @@ import java.text.ParseException;
9 9 import java.text.SimpleDateFormat;
10 10 import java.util.ArrayList;
11 11 import java.util.Calendar;
  12 +import java.util.Collections;
  13 +import java.util.Comparator;
12 14 import java.util.Date;
13 15 import java.util.HashMap;
14 16 import java.util.Iterator;
... ... @@ -428,13 +430,22 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS
428 430 // repository.obtainYl(rq,gsbm,fgsbm,line,nbbm,"nbbm");
429 431 // 当天YLXXB信息
430 432 List<Ylxxb> ylxxList = ylxxbRepository.obtainYlxx(rq, 0,gsbm);
431   - // 前一天所有车辆最后进场班次信息
432   -// List<Ylb> ylListBe = repository.obtainYlbefore(rq, gsbm, fgsbm, line, nbbm);
433   -// List<Dlb> ylListBe =repository.listMaxRqJcsx(rq, gsbm, fgsbm, line, nbbm);
434   -// List<Cyl> clyList = cylRepository.obtainCyl(nbbm,gsbm);
435 433 // 从排班表中计算出行驶的总里程
436 434 List<Map<String, Object>> listpb =new ArrayList<Map<String, Object>>();
437 435 List<Map<String, Object>> listpbs=scheduleRealInfoService.yesterdayDataList(line, rq, gsbm, fgsbm, "", nbbm);
  436 + Map<String, Double> lcMap=new HashMap<String,Double>();
  437 + for (int i = 0; i < listpbs.size(); i++) {
  438 + String cl=listpbs.get(i).get("clZbh").toString();
  439 + Double lc= listpbs.get(i).get("totalKilometers") == null ? 0.0
  440 + : Double.parseDouble(listpbs.get(i).get("totalKilometers").toString());
  441 + if(lcMap.get(cl)==null){
  442 + lcMap.put(cl, lc);
  443 + }else{
  444 + Double lc_=lcMap.get(cl);
  445 + lcMap.remove(cl);
  446 + lcMap.put(cl, Arith.add(lc, lc_));
  447 + }
  448 + }
438 449 List<Jdl> jdlList=jdlRepository.JdlList(rq);
439 450 String sxtj=map2.get("sxtj").toString();
440 451 if(sxtj.equals("0")){
... ... @@ -470,126 +481,134 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS
470 481 }
471 482 }
472 483 }
473   -
  484 + Map<String, Object> newMap_=new HashMap<String,Object>();
474 485 List<Dlb> addList = new ArrayList<Dlb>();
475 486 List<Dlb> updateList = new ArrayList<Dlb>();
476 487 String ins="";
477 488 Map<String, Object> ylMap=new HashMap<String, Object>();
478   - for (int x = 0; x < listpb.size(); x++) {
  489 + List<Map<String, Object>> listpb_=listpb;
  490 + Collections.sort(listpb,new NbbmJcsxMap());
  491 + for (int x = 0; x < listpb_.size(); x++) {
479 492 String type = "add";
480 493 boolean sfdc = false;
481   - Map<String, Object> map = listpb.get(x);
482   - if (carsMap.get(map.get("clZbh").toString()) != null) {
483   - sfdc = carsMap.get(map.get("clZbh").toString());
  494 + Map<String, Object> map_ = listpb_.get(x);
  495 + if (carsMap.get(map_.get("clZbh").toString()) != null) {
  496 + sfdc = carsMap.get(map_.get("clZbh").toString());
484 497 } else {
485 498 sfdc = false;
486 499 }
487 500 if (sfdc) {
488   - // 判断驾驶员驾驶的该车辆是否已经存入了(查出的结果集中日期是相同的,根据驾驶员、内部编号、线路编码判断)
489   - Dlb t = new Dlb();
490   - for (int k = 0; k < dlList.size(); k++) {
491   - Dlb t1 = dlList.get(k);
492   - if (t1.getNbbm().equals(map.get("clZbh").toString())
493   - && t1.getJsy().equals(map.get("jGh").toString())
494   - && t1.getXlbm().equals(map.get("xlBm").toString())) {
495   - t = t1;
496   - type = "update";
  501 + if(newMap_.get(map_.get("clZbh").toString())==null){
  502 + newMap_.put(map_.get("clZbh").toString(), map_.get("clZbh").toString());
  503 + //车辆总里程
  504 + double zlc =lcMap.get(map_.get("clZbh").toString());
  505 + //车辆总加电量
  506 + Double zjzl = 0.0;
  507 + for (int j = 0; j < ylxxList.size(); j++) {
  508 + Ylxxb ylxxb = ylxxList.get(j);
  509 + if (map_.get("clZbh").toString().equals(ylxxb.getNbbm())
  510 + && map_.get("company").toString().equals(ylxxb.getGsdm())) {
  511 + zjzl = Arith.add(zjzl, ylxxb.getJzl());
  512 + }
497 513 }
498   - }
499   -
500   - // 当日的第一个班次,出场油量等于前一天的最后一个班次的进场油量
501   - /* if (map.get("seqNumber").toString().equals("1")) {
502   - boolean fage = true;
503   - for (int i = 0; i < ylListBe.size(); i++) {
504   - Ylb ylb = ylListBe.get(i);
505   - if (map.get("clZbh").toString().equals(ylb.getNbbm())) {
506   - if(ylb.getJzyl()>0){
507   - t.setCzyl(ylb.getJzyl());
508   - fage = false;
509   - break;
510   - }
511   -
  514 + for (int i = 0; i < jdlList.size(); i++) {
  515 + Jdl jdl=jdlList.get(i);
  516 + if(map_.get("clZbh").toString().equals(jdl.getNbbm())
  517 + &&map_.get("company").toString().equals(jdl.getGsBm())
  518 + &&map_.get("bCompany").toString().equals(jdl.getFgsBm())){
  519 + zjzl = Arith.add(zjzl,jdl.getJdl());
512 520 }
513 521 }
514   - if (fage) {
515   - for (int y = 0; y < clyList.size(); y++) {
516   - Cyl cyl = clyList.get(y);
517   - if (map.get("clZbh").toString().equals(cyl.getNbbm())) {
518   - if(cyl!=null){
519   - if(cyl.getCyl()>=0){
520   - t.setCzyl(cyl.getCyl());
521   - fage = false;
522   - break;
523   - }else {
524   - if(cyl.getCxrl()!=null){
525   - if(cyl.getCxrl()>0){
526   - t.setCzyl(cyl.getCxrl());
527   - fage = false;
528   - break;
529   - }
  522 +
  523 + Double nextJzyl = 0.0;
  524 + for (int i = 0; i < listpb.size(); i++) {
  525 + Map<String, Object> map = listpb.get(i);
  526 + if(map_.get("clZbh").toString().equals(map.get("clZbh").toString())){
  527 + // 判断驾驶员驾驶的该车辆是否已经存入了(查出的结果集中日期是相同的,根据驾驶员、内部编号、线路编码判断)
  528 + Dlb t = new Dlb();
  529 + for (int k = 0; k < dlList.size(); k++) {
  530 + Dlb t1 = dlList.get(k);
  531 + if (t1.getNbbm().equals(map.get("clZbh").toString())
  532 + && t1.getJsy().equals(map.get("jGh").toString())
  533 + && t1.getXlbm().equals(map.get("xlBm").toString())) {
  534 + t = t1;
  535 + type = "update";
  536 + }
  537 + }
  538 + Double lc= Double.parseDouble(map.get("totalKilometers").toString());
  539 + if(map.get("seqNumber").toString().equals("1")){
  540 + // 当日的第一个班次,出场油量等于前一天的最后一个班次的进场油量
  541 + Double dh=0.0;
  542 + if(zlc>0){
  543 + dh = Double.parseDouble(df.format(zjzl * (lc / zlc)));
  544 + }
  545 + nextJzyl =Arith.sub(zjzl,dh);
  546 + if(zlc>0){
  547 + long l=Math.round(nextJzyl);
  548 + double ylxs=l*100/100;
  549 + dh=Arith.add(dh, Arith.sub(nextJzyl,ylxs));
  550 + t.setHd(dh);
  551 + t.setCdl(dh);
  552 + nextJzyl=ylxs;
  553 + }else{
  554 + t.setHd(0.0);
  555 + t.setCdl(0.0);
  556 + }
  557 + }else{
  558 + Double dh=0.0;
  559 + if(zlc>0){
  560 + dh = Double.parseDouble(df.format(zjzl * (lc / zlc)));
  561 + }
  562 + nextJzyl =Arith.sub( nextJzyl,dh);
  563 + if(zlc>0){
  564 + long l=0l;
  565 + double ylxs=0.0;
  566 + if(i==listpb.size()-1){
  567 +// ylxs=czyl;
  568 + }else{
  569 + if(listpb.get(i+1).get("clZbh").toString().equals(map.get("clZbh").toString())){
  570 + l=Math.round(nextJzyl);
  571 + ylxs=l*100/100;
530 572 }
  573 +
531 574 }
  575 + dh=Arith.add(dh, Arith.sub(nextJzyl,ylxs));
  576 + t.setHd(dh);
  577 + t.setCdl(dh);
  578 + nextJzyl=ylxs;
  579 + }else{
  580 + t.setHd(0.0);
  581 + t.setCdl(0.0);
532 582 }
533 583 }
  584 + t.setCzcd(100.0);
  585 + t.setJzcd(100.0);
  586 + t.setNbbm(map.get("clZbh").toString());
  587 + t.setJsy(map.get("jGh") == null ? "" : map.get("jGh").toString());
  588 + t.setZlc(map.get("totalKilometers") == null ? 0.0
  589 + : Double.parseDouble(map.get("totalKilometers").toString()));
  590 + t.setXlbm(map.get("xlBm") == null ? "" : map.get("xlBm").toString());
  591 + t.setJcsx(Integer.parseInt(map.get("seqNumber").toString()));
  592 + t.setSsgsdm(map.get("company") == null ? "" : map.get("company").toString());
  593 + t.setFgsdm(map.get("bCompany") == null ? "" : map.get("bCompany").toString());
  594 + t.setJhsj(map.get("fcsj")==null?"":map.get("fcsj").toString());
  595 + t.setRq(sdf.parse(rq));
  596 +
  597 + if(!(t.getSsgsdm().equals("") || t.getFgsdm().equals(""))){
  598 + if(type.equals("add")){
  599 + t.setCreatetime(date);
  600 + addList.add(t);
  601 + }else{
  602 + t.setUpdatetime(date);
  603 + updateList.add(t);
  604 + ins += t.getId().toString()+",";
  605 + }
  606 + }
  607 +// repository.save(t);
  608 + newMap.put("status", ResponseCode.SUCCESS);
534 609 }
535 610 }
536   - if (fage) {
537   - t.setCzyl(0.0);
538   - }
539   - }
540   - */
541   - Double jzl = 0.0;
542   - //一人一车加注量只匹配一次
543   - if(ylMap.get(map.get("clZbh").toString()+"_"+ map.get("jGh").toString())!=null){
544   -
545   - }else{
546   - // 把当天的YLXXB的加注量设置为当天YLB的加注量(根据车号,驾驶员判断)
547   - for (int j = 0; j < ylxxList.size(); j++) {
548   - Ylxxb ylxxb = ylxxList.get(j);
549   - if (map.get("clZbh").toString().equals(ylxxb.getNbbm())
550   - && map.get("jGh").toString().equals(ylxxb.getJsy())) {
551   - jzl +=Arith.add(jzl, ylxxb.getJzl());
552   - }
553   - }
554   - ylMap.put(map.get("clZbh").toString()+"_"+ map.get("jGh").toString(),map.get("xlBm") == null ? "" : map.get("xlBm").toString());
555 611 }
556   - for (int i = 0; i < jdlList.size(); i++) {
557   - Jdl jdl=jdlList.get(i);
558   - if(map.get("clZbh").toString().equals(jdl.getNbbm())
559   - &&map.get("jGh").toString().equals(jdl.getJsy())
560   - &&map.get("bCompany").toString().equals(jdl.getFgsBm())){
561   - jzl+=jdl.getJdl();
562   - }
563   - }
564   -
565   - t.setCdl(jzl);
566   - t.setCzcd(100.0);
567   - t.setJzcd(100.0);
568   - t.setHd(jzl);
569   - t.setNbbm(map.get("clZbh").toString());
570   - t.setJsy(map.get("jGh") == null ? "" : map.get("jGh").toString());
571   - t.setZlc(map.get("totalKilometers") == null ? 0.0
572   - : Double.parseDouble(map.get("totalKilometers").toString()));
573   - t.setXlbm(map.get("xlBm") == null ? "" : map.get("xlBm").toString());
574   - t.setJcsx(Integer.parseInt(map.get("seqNumber").toString()));
575   - t.setSsgsdm(map.get("company") == null ? "" : map.get("company").toString());
576   - t.setFgsdm(map.get("bCompany") == null ? "" : map.get("bCompany").toString());
577   - t.setJhsj(map.get("fcsj")==null?"":map.get("fcsj").toString());
578   - t.setRq(sdf.parse(rq));
579   -
580   - if(!(t.getSsgsdm().equals("") || t.getFgsdm().equals(""))){
581   - if(type.equals("add")){
582   - t.setCreatetime(date);
583   - addList.add(t);
584   - }else{
585   - t.setUpdatetime(date);
586   - updateList.add(t);
587   - ins += t.getId().toString()+",";
588   - }
589   - }
590   -// repository.save(t);
591   - newMap.put("status", ResponseCode.SUCCESS);
592   -
593 612 }
594 613 }
595 614 if(addList.size()>0){
... ... @@ -1014,3 +1033,11 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS
1014 1033 return lists;
1015 1034 }
1016 1035 }
  1036 +
  1037 +class NbbmJcsxMap implements Comparator<Map<String, Object>>{
  1038 + @Override
  1039 + public int compare(Map<String, Object> o1, Map<String, Object> o2) {
  1040 + // TODO Auto-generated method stub
  1041 + return (o1.get("clZbh").toString()+o1.get("seqNumber").toString()).compareTo((o2.get("clZbh").toString()+o1.get("seqNumber").toString()));
  1042 + }
  1043 +}
... ...
src/main/java/com/bsth/service/oil/impl/JdlServiceImpl.java
... ... @@ -63,7 +63,7 @@ public class JdlServiceImpl extends BaseServiceImpl&lt;Jdl, Integer&gt; implements Jdl
63 63 }
64 64 String[] split = (text+";").split(",");
65 65 String str = "";
66   - for(int j = 0; j < split.length && j < 6; j++){
  66 + for(int j = 0; j < split.length && j < 5; j++){
67 67 str += split[j];
68 68 }
69 69 if(str.trim().length() == 0)
... ... @@ -75,22 +75,22 @@ public class JdlServiceImpl extends BaseServiceImpl&lt;Jdl, Integer&gt; implements Jdl
75 75 String[] split = text.split(",");
76 76 String rq = split[0].trim();
77 77 String nbbm = split[1].trim();
78   - String jsy= split[2].trim();
79   - double jdl = Double.valueOf(split[3].trim().length()!=0?split[3]:"0");
80   - String jdz = split[4].trim();
81   - String remarks = split[5].trim();
  78 +// String jsy= split[2].trim();
  79 + double jdl = Double.valueOf(split[2].trim().length()!=0?split[2]:"0");
  80 + String jdz = split[3].trim();
  81 + String remarks = split[4].trim();
82 82 if(rq.trim().length() == 0){
83 83 rq = sdf.format(new Date());
84 84 }
85 85  
86   - List<Double> jdl_ = repository.queryBySame(gsbm, fgsbm, rq, nbbm, jsy);
  86 + List<Double> jdl_ = repository.queryBySame(gsbm, fgsbm, rq, nbbm);
87 87  
88 88 if(jdl_.size() == 0){
89 89 repository.insertData(gsbm, gsName, fgsbm, fgsName, rq, nbbm,
90   - df.format(jdl), jdz, remarks, sd.format(new Date()),jsy);
  90 + df.format(jdl), jdz, remarks, sd.format(new Date()));
91 91 }else{
92 92 // jdl += jdl_.get(0);
93   - repository.UpdateJdl(df.format(jdl), gsbm, fgsbm, rq, nbbm, jsy);
  93 + repository.UpdateJdl(df.format(jdl), gsbm, fgsbm, rq, nbbm);
94 94 }
95 95 }
96 96 wb.close();
... ... @@ -112,9 +112,9 @@ public class JdlServiceImpl extends BaseServiceImpl&lt;Jdl, Integer&gt; implements Jdl
112 112 String fgsbm = map.get("fgsbm").toString();
113 113 String rq = map.get("rq").toString();
114 114 String nbbm = map.get("nbbm").toString();
115   - String jsy =map.get("jsy").toString();
  115 +// String jsy =map.get("jsy").toString();
116 116 Integer page = Integer.valueOf(map.containsKey("page")?map.get("page").toString():"0");
117   - List<Jdl> query = repository.query(gsbm, fgsbm, rq, nbbm,jsy);
  117 + List<Jdl> query = repository.query(gsbm, fgsbm, rq, nbbm);
118 118  
119 119 if(!map.containsKey("type")){
120 120  
... ... @@ -133,7 +133,6 @@ public class JdlServiceImpl extends BaseServiceImpl&lt;Jdl, Integer&gt; implements Jdl
133 133 m.put("nbbm", jdl.getNbbm());
134 134 m.put("jdl", jdl.getJdl());
135 135 m.put("jdz", jdl.getJdz());
136   - m.put("jsy", jdl.getJsy());
137 136 m.put("remarks", jdl.getRemarks());
138 137 list.add(m);
139 138 }
... ...
src/main/java/com/bsth/service/realcontrol/ScheduleRealInfoService.java
... ... @@ -180,4 +180,10 @@ public interface ScheduleRealInfoService extends BaseService&lt;ScheduleRealInfo, L
180 180 List<Map<String,Object>> statisticsDaily_mh_2(String line, String date, String xlName, String type);
181 181  
182 182 List<ScheduleRealInfo> realScheduleList_mh_2(String line, String date);
  183 +
  184 + List<Map<String, Object>> mileageReport(String gsdm, String fgsdm,
  185 + String line, String date, String date2);
  186 +
  187 + List<Map<String, Object>> scheduleCorrectionReport(String gsdm, String fgsdm,
  188 + String line, String date, String date2);
183 189 }
... ...
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
... ... @@ -31,6 +31,8 @@ import com.bsth.entity.realcontrol.ChildTaskPlan;
31 31 import com.bsth.entity.realcontrol.LineConfig;
32 32 import com.bsth.entity.realcontrol.ScheduleRealInfo;
33 33 import com.bsth.entity.realcontrol.SvgAttribute;
  34 +import com.bsth.entity.report.MileageReport;
  35 +import com.bsth.entity.report.ScheduleCorrectionReport;
34 36 import com.bsth.entity.schedule.CarConfigInfo;
35 37 import com.bsth.entity.schedule.EmployeeConfigInfo;
36 38 import com.bsth.entity.schedule.GuideboardInfo;
... ... @@ -1837,7 +1839,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
1837 1839 map = new HashMap<String, Object>();
1838 1840 map.put("num", i++);
1839 1841 map.put("xlName", xlName);
1840   - map.put("clZbh", BasicData.deviceId2NbbmMap.get(obj[2]));
  1842 + map.put("clZbh", BasicData.deviceId2NbbmMap.get(obj[2])==null?"":BasicData.deviceId2NbbmMap.get(obj[2]));
1841 1843 map.put("company",fgs);
1842 1844 map.put("requestType", "0x" + Integer.toHexString(Integer.parseInt(obj[0] + "")).toUpperCase());
1843 1845 map.put("requestTime", obj[1]);
... ... @@ -2324,10 +2326,11 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
2324 2326 map.put("dtbc", 0);
2325 2327 map.put("dtbc_m", 0);
2326 2328 map.put("dtbc_a", 0);
2327   - map.put("djg", 0);
2328   - map.put("djg_m", 0);
2329   - map.put("djg_a", 0);
2330   - map.put("djg_time", 0);
  2329 + Map<String, Object> m=culateService.culateDjg(list_s, line);
  2330 + map.put("djg", m.get("djgcsq"));
  2331 + map.put("djg_m", m.get("djgcsz"));
  2332 + map.put("djg_a", m.get("djgcsw"));
  2333 + map.put("djg_time", m.get("djgsj"));
2331 2334 map.put("jls", Arith.sub(Arith.add(jhlc, ljgl), lbgl));
2332 2335 lMap.add(map);
2333 2336 return lMap;
... ... @@ -4637,6 +4640,195 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
4637 4640 }
4638 4641 return rs;
4639 4642 }
  4643 +
  4644 +
  4645 + @Override
  4646 + public List<Map<String, Object>> mileageReport(String gsdm,
  4647 + String fgsdm, String line, String date, String date2) {
  4648 +
  4649 + String sql = "select * from calc_mileage where 1=1 " ;
  4650 + if (!line.equals(" ")) {
  4651 + sql = sql+" and line_code='"+ line+"' ";
  4652 + }
  4653 + sql = sql+" and DATE_FORMAT(rq,'%Y-%m-%d') between '"+ date+"' and '"+ date2+"'";
  4654 + if (!gsdm.equals(" ")) {
  4655 + sql = sql+" and company_id="+gsdm;
  4656 + }
  4657 + if (!gsdm.equals(" ")) {
  4658 + sql = sql+" and sub_company_id="+fgsdm;
  4659 + }
  4660 + sql = sql+" order by line_code";
  4661 + List<MileageReport> list = jdbcTemplate.query(sql,
  4662 + new RowMapper<MileageReport>() {
  4663 + @Override
  4664 + public MileageReport mapRow(ResultSet rs, int rowNum) throws SQLException {
  4665 + MileageReport mr = new MileageReport();
  4666 + mr.setCompanyName(rs.getString("company_name"));
  4667 + mr.setSubCompanyName(rs.getString("sub_company_name"));
  4668 + mr.setLineName(rs.getString("line_name"));
  4669 + mr.setSjyygl(rs.getDouble("sjyygl"));
  4670 + mr.setSjksgl(rs.getDouble("sjksgl"));
  4671 + mr.setZgl(rs.getDouble("zyygl"));
  4672 + mr.setZddfgl(rs.getDouble("sddfgl"));
  4673 + mr.setSddfgl(rs.getDouble("zddfgl"));
  4674 + mr.setWqwxhgl(rs.getDouble("wqwxhgl"));
  4675 + mr.setBfwxhgl(rs.getDouble("bfwxhgl"));
  4676 + mr.setPygl(rs.getDouble("pygl"));
  4677 + mr.setLjgl(rs.getDouble("ljgl"));
  4678 + mr.setZrwgl(rs.getDouble("zrwgl"));
  4679 + mr.setOther(rs.getString("other"));
  4680 + return mr;
  4681 + }
  4682 + });
  4683 + List<Map<String, Object>> lMap = new ArrayList<Map<String, Object>>();
  4684 + double sjyygl = 0.0;
  4685 + double sjksgl = 0.0;
  4686 + double zgl = 0.0;
  4687 + double sddfgl = 0.0;
  4688 + double zddfgl = 0.0;
  4689 + double wqwxhgl = 0.0;
  4690 + double bfwxhgl = 0.0;
  4691 + double pygl = 0.0;
  4692 + double ljgl = 0.0;
  4693 + double zrwgl = 0.0;
  4694 + for(MileageReport mr:list) {
  4695 + Map<String, Object> resMap = new HashMap<String, Object>();
  4696 + resMap.put("gsName", mr.getCompanyName());
  4697 + resMap.put("fgsName", mr.getSubCompanyName());
  4698 + resMap.put("xlName", mr.getLineName());
  4699 + resMap.put("sjyygl", mr.getSjyygl());
  4700 + resMap.put("sjksgl", mr.getSjksgl());
  4701 + resMap.put("zgl", mr.getZgl());
  4702 + resMap.put("sddfgl", mr.getSddfgl());
  4703 + resMap.put("zddfgl", mr.getZddfgl());
  4704 + resMap.put("wqwxhgl", mr.getWqwxhgl());
  4705 + resMap.put("bfwxhgl", mr.getBfwxhgl());
  4706 + resMap.put("pygl", mr.getPygl());
  4707 + resMap.put("ljgl", mr.getLjgl());
  4708 + resMap.put("zrwgl", mr.getZrwgl());
  4709 + resMap.put("other", mr.getOther());
  4710 + lMap.add(resMap);
  4711 + sjyygl = Arith.add(sjyygl,mr.getSjyygl());
  4712 + sjksgl = Arith.add(sjksgl,mr.getSjksgl());
  4713 + zgl = Arith.add(zgl,mr.getZgl());
  4714 + sddfgl = Arith.add(sddfgl,mr.getSddfgl());
  4715 + zddfgl = Arith.add(zddfgl,mr.getZddfgl());
  4716 + wqwxhgl = Arith.add(wqwxhgl,mr.getWqwxhgl());
  4717 + bfwxhgl = Arith.add(bfwxhgl,mr.getBfwxhgl());
  4718 + pygl = Arith.add(pygl,mr.getPygl());
  4719 + ljgl = Arith.add(ljgl,mr.getLjgl());
  4720 + zrwgl = Arith.add(zrwgl,mr.getZrwgl());
  4721 + }
  4722 + Map<String, Object> resMap = new HashMap<String, Object>();
  4723 + resMap.put("xlName", "合计");
  4724 + resMap.put("sjyygl", sjyygl);
  4725 + resMap.put("sjksgl", sjksgl);
  4726 + resMap.put("zgl", zgl);
  4727 + resMap.put("sddfgl", sddfgl);
  4728 + resMap.put("zddfgl", zddfgl);
  4729 + resMap.put("wqwxhgl", wqwxhgl);
  4730 + resMap.put("bfwxhgl", bfwxhgl);
  4731 + resMap.put("pygl", pygl);
  4732 + resMap.put("ljgl", ljgl);
  4733 + resMap.put("zrwgl", zrwgl);
  4734 + resMap.put("other", null);
  4735 + lMap.add(resMap);
  4736 + return lMap;
  4737 + }
  4738 +
  4739 + @Override
  4740 + public List<Map<String, Object>> scheduleCorrectionReport(String gsdm,
  4741 + String fgsdm, String line, String date, String date2) {
  4742 +
  4743 + String sql = "select * from calc_schedule where 1=1 " ;
  4744 + if (!line.equals(" ")) {
  4745 + sql = sql+" and line_code='"+ line+"' ";
  4746 + }
  4747 + sql = sql+" and DATE_FORMAT(rq,'%Y-%m-%d') between '"+ date+"' and '"+ date2+"'";
  4748 + if (!gsdm.equals(" ")) {
  4749 + sql = sql+" and company_id="+gsdm;
  4750 + }
  4751 + if (!gsdm.equals(" ")) {
  4752 + sql = sql+" and sub_company_id="+fgsdm;
  4753 + }
  4754 + sql = sql+" order by line_code";
  4755 + List<ScheduleCorrectionReport> list = jdbcTemplate.query(sql,
  4756 + new RowMapper<ScheduleCorrectionReport>() {
  4757 + @Override
  4758 + public ScheduleCorrectionReport mapRow(ResultSet rs, int rowNum) throws SQLException {
  4759 + ScheduleCorrectionReport sReport = new ScheduleCorrectionReport();
  4760 + sReport.setCompanyName(rs.getString("company_name"));
  4761 + sReport.setSubCompanyName(rs.getString("sub_company_name"));
  4762 + sReport.setLineName(rs.getString("line_name"));
  4763 + sReport.setSjyybc(rs.getInt("sjyybc"));
  4764 + sReport.setSjksbc(rs.getInt("sjksbc"));
  4765 + sReport.setZbc(rs.getInt("zyybc"));
  4766 + sReport.setZddfbc(rs.getInt("sddfbc"));
  4767 + sReport.setSddfbc(rs.getInt("zddfbc"));
  4768 + sReport.setWqwxhbc(rs.getInt("wqwxhbc"));
  4769 + sReport.setBfwxhbc(rs.getInt("bfwxhbc"));
  4770 + sReport.setPybc(rs.getInt("pybc"));
  4771 + sReport.setLjbc(rs.getInt("ljbc"));
  4772 + sReport.setZrwbc(rs.getInt("zrwbc"));
  4773 + sReport.setOther(rs.getString("other"));
  4774 + return sReport;
  4775 + }
  4776 + });
  4777 + List<Map<String, Object>> lMap = new ArrayList<Map<String, Object>>();
  4778 + int sjyybc = 0;
  4779 + int sjksbc = 0;
  4780 + int zbc = 0;
  4781 + int sddfbc = 0;
  4782 + int zddfbc = 0;
  4783 + int wqwxhbc = 0;
  4784 + int bfwxhbc = 0;
  4785 + int pybc = 0;
  4786 + int ljbc = 0;
  4787 + int zrwbc = 0;
  4788 + for(ScheduleCorrectionReport sReport:list) {
  4789 + Map<String, Object> resMap = new HashMap<String, Object>();
  4790 + resMap.put("gsName", sReport.getCompanyName());
  4791 + resMap.put("fgsName", sReport.getSubCompanyName());
  4792 + resMap.put("xlName", sReport.getLineName());
  4793 + resMap.put("sjyybc", sReport.getSjyybc());
  4794 + resMap.put("sjksbc", sReport.getSjksbc());
  4795 + resMap.put("zbc", sReport.getZbc());
  4796 + resMap.put("sddfbc", sReport.getSddfbc());
  4797 + resMap.put("zddfbc", sReport.getZddfbc());
  4798 + resMap.put("wqwxhbc", sReport.getWqwxhbc());
  4799 + resMap.put("bfwxhbc", sReport.getBfwxhbc());
  4800 + resMap.put("pybc", sReport.getPybc());
  4801 + resMap.put("ljbc", sReport.getLjbc());
  4802 + resMap.put("zrwbc", sReport.getZrwbc());
  4803 + resMap.put("other", sReport.getOther());
  4804 + lMap.add(resMap);
  4805 + sjyybc = sjyybc + sReport.getSjyybc();
  4806 + sjksbc = sjksbc + sReport.getSjksbc();
  4807 + zbc = zbc + sReport.getZbc();
  4808 + sddfbc = sddfbc + sReport.getSddfbc();
  4809 + zddfbc = zddfbc + sReport.getZddfbc();
  4810 + wqwxhbc = wqwxhbc + sReport.getWqwxhbc();
  4811 + bfwxhbc = bfwxhbc + sReport.getBfwxhbc();
  4812 + pybc = pybc + sReport.getPybc();
  4813 + ljbc = ljbc + sReport.getLjbc();
  4814 + zrwbc = zrwbc + sReport.getZrwbc();
  4815 + }
  4816 + Map<String, Object> resMap = new HashMap<String, Object>();
  4817 + resMap.put("xlName", "合计");
  4818 + resMap.put("sjyybc", sjyybc);
  4819 + resMap.put("sjksbc", sjksbc);
  4820 + resMap.put("zbc", zbc);
  4821 + resMap.put("sddfbc", sddfbc);
  4822 + resMap.put("zddfbc", zddfbc);
  4823 + resMap.put("wqwxhbc", wqwxhbc);
  4824 + resMap.put("bfwxhbc", bfwxhbc);
  4825 + resMap.put("pybc", pybc);
  4826 + resMap.put("ljbc", ljbc);
  4827 + resMap.put("zrwbc", zrwbc);
  4828 + resMap.put("other", null);
  4829 + lMap.add(resMap);
  4830 + return lMap;
  4831 + }
4640 4832 }
4641 4833  
4642 4834 class AccountMap implements Comparator<Map<String, Object>>{
... ...
src/main/java/com/bsth/service/report/CulateMileageService.java
... ... @@ -30,6 +30,8 @@ public interface CulateMileageService {
30 30  
31 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 17 List<ArrivalInfo> queryListClzd(String line,String zd,String zdlx,String fcsj,String ddsj);
18 18 List<StationRoute> queryStrinon(String line,int zd);
19 19 List<Map<String, Object>> queryInOutStrtion(String line,String date,int zd,String lzsj);
  20 +
  21 + List<Map<String, Object>> queryInOutStrtions(String line,String date,int zd,String lzsj);
20 22 List<Map<String, String>> sreachZd(String line,int zdlx);
21 23  
22 24 List<Object[]> historyMessageCount(String line, String date, String code);
... ...
src/main/java/com/bsth/service/report/impl/CulateMileageServiceImpl.java
1 1 package com.bsth.service.report.impl;
2 2  
  3 +import java.sql.ResultSet;
  4 +import java.sql.SQLException;
  5 +import java.text.DecimalFormat;
  6 +import java.text.ParseException;
  7 +import java.text.SimpleDateFormat;
3 8 import java.util.ArrayList;
4 9 import java.util.Collections;
5 10 import java.util.HashMap;
... ... @@ -9,18 +14,26 @@ import java.util.Map;
9 14 import java.util.Set;
10 15  
11 16 import org.apache.commons.lang.StringUtils;
  17 +import org.springframework.beans.factory.annotation.Autowired;
  18 +import org.springframework.jdbc.core.JdbcTemplate;
  19 +import org.springframework.jdbc.core.RowMapper;
12 20 import org.springframework.stereotype.Service;
13 21  
  22 +import com.bsth.data.BasicData;
14 23 import com.bsth.entity.realcontrol.ChildTaskPlan;
15 24 import com.bsth.entity.realcontrol.ScheduleRealInfo;
  25 +import com.bsth.entity.sys.Interval;
16 26 import com.bsth.service.report.CulateMileageService;
17 27 import com.bsth.util.Arith;
  28 +import com.bsth.util.ComparableChild;
18 29 import com.bsth.util.ComparableJob;
  30 +import com.bsth.util.ReportUtils;
19 31 import com.google.common.util.concurrent.AbstractScheduledService.Scheduler;
20 32  
21 33 @Service
22 34 public class CulateMileageServiceImpl implements CulateMileageService{
23   -
  35 + @Autowired
  36 + JdbcTemplate jdbcTemplate;
24 37 private static long zgf1 = 6 * 60 + 31,
25 38 zgf2 = 8 * 60 + 30,
26 39 wgf1 = 16 * 60 + 1,
... ... @@ -943,6 +956,214 @@ public class CulateMileageServiceImpl implements CulateMileageService{
943 956 }
944 957 return kfks;
945 958 }
  959 +
  960 + @Override
  961 + public Map<String, Object> culateDjg(List<ScheduleRealInfo> lists, String line) {
  962 + // TODO Auto-generated method stub
  963 +
  964 +
  965 + // TODO Auto-generated method stub
  966 + List<ScheduleRealInfo> list=lists;
  967 + Map<String, Object> m=new HashMap<String,Object>();
  968 + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm");
  969 +// Collections.sort(listInfo,new ComparableAcuals());
  970 + //查询所有线路
  971 + String xlSql="select line_code,spac_grade from bsth_c_line"
  972 + + " where line_code ='"+line+"'";
  973 +
  974 + List<Map<String, Object>> xlList=jdbcTemplate.query(xlSql, new RowMapper<Map<String, Object>>() {
  975 + @Override
  976 + public Map<String, Object> mapRow(ResultSet arg0, int arg1) throws SQLException {
  977 + Map<String, Object> map=new HashMap<String,Object>();
  978 + map.put("line",arg0.getString("line_code"));
  979 + map.put("grade", arg0.getString("spac_grade"));
  980 + return map;
  981 + }
  982 + });
  983 + //查询大间隔时间
  984 + String djgSql="select * from bsth_c_interval";
  985 + List<Interval> djgList=jdbcTemplate.query(djgSql, new RowMapper<Interval>() {
  986 + @Override
  987 + public Interval mapRow(ResultSet arg0, int arg1) throws SQLException {
  988 + Interval m=new Interval();
  989 + m.setLevel(arg0.getString("level"));
  990 + m.setPeak(arg0.getInt("peak"));
  991 + m.setTrough(arg0.getInt("trough"));
  992 + return m;
  993 + }
  994 + });
  995 +
  996 + for (int i = 0; i < xlList.size(); i++) {
  997 + String lineCode=xlList.get(i).get("line").toString();
  998 + String grade =xlList.get(i).get("grade")==null?"1":xlList.get(i).get("grade").toString();
  999 + int peak=0;
  1000 + int trough=0;
  1001 + for (int j = 0; j < djgList.size(); j++) {
  1002 + Interval il=djgList.get(j);
  1003 + if(il.getLevel().equals(grade)){
  1004 + peak=il.getPeak();
  1005 + trough=il.getTrough();
  1006 + continue;
  1007 + }
  1008 + }
  1009 + List<ScheduleRealInfo> listInfo=new ArrayList<ScheduleRealInfo>();
  1010 + for (int j = 0; j < list.size(); j++) {
  1011 + ScheduleRealInfo sinfo=list.get(j);
  1012 + try {
  1013 + if(sinfo.getXlBm().equals(lineCode)){
  1014 + ScheduleRealInfo s=checkBc(sinfo);
  1015 + String fcsj=s.getFcsjActual()==null?"":s.getFcsjActual();
  1016 + if(!fcsj.equals("")){
  1017 + Long fcsjAcual = sdf.parse(s.getRealExecDate() + " " + s.getFcsjActual()).getTime();
  1018 + s.setFcsjActualTime(fcsjAcual);
  1019 + s.setFcsjActual(fcsj);
  1020 + listInfo.add(s);
  1021 + }
  1022 +
  1023 + }
  1024 + } catch (ParseException e) {
  1025 + // TODO Auto-generated catch block
  1026 + e.printStackTrace();
  1027 + }
  1028 + }
  1029 +
  1030 + if(listInfo.size()>0){
  1031 + m=listDjg(peak,trough,listInfo,grade);
  1032 + }else{
  1033 + m.put("djgcsz", "0");
  1034 + m.put("djgcsw", "0");
  1035 + m.put("djgcsq", "0");
  1036 + m.put("djgsj", "0");
  1037 + }
  1038 + }
  1039 + return m;
  1040 +
  1041 + }
  1042 +
  1043 + public ScheduleRealInfo checkBc(ScheduleRealInfo s){
  1044 + //如果班次有子任务 且 子任务中有属于营运的。把该子任务的发车时间设置成班次的发车时间
  1045 + String fcsj=s.getFcsjActual()==null?"":s.getFcsjActual();
  1046 + if(fcsj.equals("")){
  1047 + Set<ChildTaskPlan> childTaskPlans = s.getcTasks();
  1048 + if(!childTaskPlans.isEmpty()){
  1049 + List<ChildTaskPlan> listit=new ArrayList<ChildTaskPlan>(childTaskPlans);
  1050 + Collections.sort(listit, new ComparableChild());
  1051 + for (int i = 0; i < listit.size(); i++) {
  1052 + ChildTaskPlan c=listit.get(i);
  1053 + if(!c.isDestroy()){
  1054 + if(c.getMileageType().equals("service")){
  1055 + s.setFcsjActual(c.getStartDate());
  1056 + break;
  1057 + }
  1058 +
  1059 + }
  1060 + }
  1061 + }
  1062 + }
  1063 + return s;
  1064 + }
946 1065  
  1066 + public Map<String, Object> listDjg(int peak,int trough,List<ScheduleRealInfo> listInfo,String grade){
  1067 + DecimalFormat df = new DecimalFormat("#0.00");
  1068 + Collections.sort(listInfo,new ComparableAcuals());
  1069 + List<ScheduleRealInfo> listInfo0=new ArrayList<ScheduleRealInfo>();
  1070 + List<ScheduleRealInfo> listInfo1=new ArrayList<ScheduleRealInfo>();
  1071 + for (int i = 0; i < listInfo.size(); i++) {
  1072 + ScheduleRealInfo s=listInfo.get(i);
  1073 + if(s.getXlDir().equals("0")){
  1074 + listInfo0.add(s);
  1075 + }else{
  1076 + listInfo0.add(s);
  1077 + }
  1078 +
  1079 + }
  1080 + Map<String, Object> map=new HashMap<String,Object>();
  1081 + int djgcsz=0;
  1082 + int djgcsw=0;
  1083 + int djgcsq=0;
  1084 + long djcsj=0l;
  1085 + for (int i = 0; i < listInfo0.size(); i++) {
  1086 + ScheduleRealInfo s=listInfo.get(i);
  1087 + Long fcsjTime=s.getFcsjActualTime();
  1088 + String time=s.getFcsjActual();
  1089 + String[] fcsjStr = time.split(":");
  1090 + long fcsj= Long.parseLong(fcsjStr[0])*60+Long.parseLong(fcsjStr[1]);
  1091 + if(i<listInfo.size()-1){
  1092 + Long djg=0l;
  1093 + Long fscjNext=listInfo.get(i+1).getFcsjActualTime();
  1094 + if((fcsj>=zgf1&&fcsj<=zgf2)){
  1095 + djg = (long) (peak*60*1000);
  1096 + if(fscjNext-fcsjTime>djg){
  1097 + djgcsz ++;
  1098 + djgcsq ++;
  1099 + if(fscjNext-fcsjTime>djcsj){
  1100 + djcsj=(fscjNext-fcsjTime)/1000;
  1101 + }
  1102 + }
  1103 + }else if((fcsj>=wgf1&&fcsj<=wgf2)){
  1104 + djg = (long) (peak*60*1000);
  1105 + if(fscjNext-fcsjTime>djg){
  1106 + djgcsw ++;
  1107 + djgcsq ++;
  1108 + if(fscjNext-fcsjTime>djcsj){
  1109 + djcsj=(fscjNext-fcsjTime)/1000;
  1110 + }
  1111 + }
  1112 + }else{
  1113 + djg = (long) (trough*60*1000);
  1114 + if(fscjNext-fcsjTime>djg){
  1115 + djgcsq ++;
  1116 + if(fscjNext-fcsjTime>djcsj){
  1117 + djcsj=(fscjNext-fcsjTime)/1000;
  1118 + }
  1119 + }
  1120 + }
  1121 + }
  1122 + }
  1123 + for (int i = 0; i < listInfo1.size(); i++) {
  1124 + ScheduleRealInfo s=listInfo.get(i);
  1125 + Long fcsjTime=s.getFcsjActualTime();
  1126 + String time=s.getFcsjActual();
  1127 + String[] fcsjStr = time.split(":");
  1128 + long fcsj= Long.parseLong(fcsjStr[0])*60+Long.parseLong(fcsjStr[1]);
  1129 + if(i<listInfo.size()-1){
  1130 + Long djg=0l;
  1131 + Long fscjNext=listInfo.get(i+1).getFcsjActualTime();
  1132 + if(fcsj>=zgf1&&fcsj<=zgf2){
  1133 + djg = (long) (peak*60*1000);
  1134 + if(fscjNext-fcsjTime>djg){
  1135 + djgcsz ++;
  1136 + djgcsq ++;
  1137 + if(fscjNext-fcsjTime>djcsj){
  1138 + djcsj=(fscjNext-fcsjTime)/1000;
  1139 + }
  1140 + }
  1141 + }else if(fcsj>=wgf1&&fcsj<=wgf2){
  1142 + djg = (long) (peak*60*1000);
  1143 + if(fscjNext-fcsjTime>djg){
  1144 + djgcsw ++;
  1145 + djgcsq ++;
  1146 + if(fscjNext-fcsjTime>djcsj){
  1147 + djcsj=(fscjNext-fcsjTime)/1000;
  1148 + }
  1149 + }
  1150 + }else{
  1151 + djg = (long) (trough*60*1000);
  1152 + if(fscjNext-fcsjTime>djg){
  1153 + djgcsq ++;
  1154 + if(fscjNext-fcsjTime>djcsj){
  1155 + djcsj=(fscjNext-fcsjTime)/1000;
  1156 + }
  1157 + }
  1158 + }
  1159 + }
  1160 + }
  1161 +
  1162 + map.put("djgcsz", djgcsz);
  1163 + map.put("djgcsw", djgcsw);
  1164 + map.put("djgcsq", djgcsq);
  1165 + map.put("djgsj", djcsj);
  1166 + return map;
  1167 + }
947 1168  
948 1169 }
... ...
src/main/java/com/bsth/service/report/impl/ReportServiceImpl.java
... ... @@ -598,7 +598,7 @@ public class ReportServiceImpl implements ReportService{
598 598  
599 599 String sqlCl="SELECT cl_zbh,qdz_name,bc_type,fcsj,bcsj FROM"
600 600 + " bsth_c_s_sp_info WHERE tt_info = '"+ttinfo+"' "
601   - + " AND bc_type = 'normal' order by qdz_name";
  601 + + " AND (bc_type = 'normal' or bc_type='region') order by qdz_name";
602 602  
603 603 List<Map<String, Object>> listj= jdbcTemplate.query(sqlCl,
604 604 new RowMapper<Map<String, Object>>(){
... ... @@ -873,7 +873,7 @@ public class ReportServiceImpl implements ReportService{
873 873 + " bsth_c_s_ttinfo_detail where ttinfo ='"+ttinfo+"' and "
874 874 + " fcsj > '"+minfcsj+"' and bc_type!='ldks' "
875 875 + " and bc_type !='region') "
876   - + " order by xl_dir, xh, lp,fcsj";
  876 + + " order by xh, lp,fcsj";
877 877 Map<String, Object> map=new HashMap<String,Object>();
878 878 List<Map<String, Object>> list= jdbcTemplate.query(sqlPc,
879 879 new RowMapper<Map<String, Object>>(){
... ... @@ -915,6 +915,8 @@ public class ReportServiceImpl implements ReportService{
915 915 int temp = 48*60+1, zcj = 0;
916 916 boolean ists = true;
917 917 String lpname="";
  918 + int dir =-1;
  919 + int fcsjT_= 0;
918 920 for (int i = 0; i < list.size(); i++) {
919 921 Map<String, Object> m=list.get(i);
920 922 int xlDir = Integer.valueOf(m.get("dir").toString());
... ... @@ -927,6 +929,10 @@ public class ReportServiceImpl implements ReportService{
927 929 if(temp>fcsjT){
928 930 temp=fcsjT+bcsj;
929 931 }
  932 + dir =xlDir;
  933 + if(bcType.equals("in") || bcType.equals("out")){
  934 + ists=false;
  935 + }
930 936 }else{
931 937 if(temp>fcsjT){
932 938 temp=fcsjT+bcsj;
... ... @@ -934,74 +940,146 @@ public class ReportServiceImpl implements ReportService{
934 940 if(bcType.equals("in") || bcType.equals("out")){
935 941 temp = fcsjT+bcsj;
936 942 lpname=m.get("lp").toString();
  943 + dir =xlDir;
937 944 ists=false;
938 945 }else{
939   -// if(ists){
940   -// temp = fcsjT+bcsj;
941   -// lpname=m.get("lp").toString();
942   -// }else{
943   - if(xlDir==0){
  946 +// if(xlDir==0){
944 947 //上行数据
945 948 if(fcsjT>= minSj && fcsjT <= 6*60+30){
946 949 //早高峰前
947   - yysxZq +=bcsj;
948   - sxcountZqbc ++;
949   - zqFcsj0.add(fcsjT);
  950 + if(xlDir==0){
  951 + yysxZq +=bcsj;
  952 + sxcountZqbc ++;
  953 + zqFcsj0.add(fcsjT);
  954 + }else{
  955 + yyxxZq +=bcsj;
  956 + xxcountZqbc ++;
  957 + zqFcsj1.add(fcsjT);
  958 + }
950 959 if(ists){
951 960 if(lpname.equals(m.get("lp").toString())){
952   - tzsxZq +=fcsjT-temp;
  961 + if(dir==0)
  962 + tzsxZq +=fcsjT-temp;
  963 + else
  964 + tzxxZq +=fcsjT-temp;
953 965 }
954 966 }
955 967 temp = fcsjT+bcsj;
956 968  
957 969 }else if(fcsjT > 6*60+30 && fcsjT <= 8*60+30){
958 970 //早高峰
959   - yysxZgf +=bcsj;
960   - sxcountZgfbc ++;
961   - zgfFcsj0.add(fcsjT);
  971 + if(xlDir==0){
  972 + yysxZgf +=bcsj;
  973 + sxcountZgfbc ++;
  974 + zgfFcsj0.add(fcsjT);
  975 + }else{
  976 + yyxxZgf +=bcsj;
  977 + xxcountZgfbc ++;
  978 + zgfFcsj1.add(fcsjT);
  979 + }
  980 +
962 981 if(ists){
963 982 if(lpname.equals(m.get("lp").toString())){
964   - tzsxZgf +=fcsjT-temp;
  983 + if(dir==0){
  984 + if(fcsjT>= minSj && fcsjT <= 6*60+30)
  985 + tzsxZq +=fcsjT-temp;
  986 + else
  987 + tzsxZgf +=fcsjT-temp;
  988 + }else{
  989 + if(fcsjT_>= minSj && fcsjT_ <= 6*60+30)
  990 + tzxxZq +=fcsjT-temp;
  991 + else
  992 + tzxxZgf +=fcsjT-temp;
  993 + }
965 994 }
966 995 }
967 996 temp =fcsjT+bcsj;
968 997  
969 998 }else if(fcsjT > 8*60+30 && fcsjT <= 16*60){
970 999 //中午
971   - yysxZw +=bcsj;
972   - sxcountZwbc ++;
973   - zwFcsj0.add(fcsjT);
  1000 + if(xlDir==0){
  1001 + yysxZw +=bcsj;
  1002 + sxcountZwbc ++;
  1003 + zwFcsj0.add(fcsjT);
  1004 + }else{
  1005 + yyxxZw +=bcsj;
  1006 + xxcountZwbc ++;
  1007 + zwFcsj1.add(fcsjT);
  1008 + }
974 1009 if(ists){
975 1010 if(lpname.equals(m.get("lp").toString())){
976   - tzsxZw +=fcsjT-temp;
  1011 + if(dir==0){
  1012 + if(fcsjT_ > 6*60+30 && fcsjT_ <= 8*60+30)
  1013 + tzsxZgf +=fcsjT-temp;
  1014 + else
  1015 + tzsxZw +=fcsjT-temp;
  1016 + }else{
  1017 + if(fcsjT_ > 6*60+30 && fcsjT_ <= 8*60+30)
  1018 + tzxxZgf +=fcsjT-temp;
  1019 + else
  1020 + tzxxZw +=fcsjT-temp;
  1021 + }
977 1022 }
978 1023 }
979 1024 temp =fcsjT+bcsj;
980 1025 }else if(fcsjT > 16*60 && fcsjT <= 18*60){
981 1026 //晚高峰
982   - yysxWgf +=bcsj;
983   - sxcountWgfbc ++;
984   - wgfFcsj0.add(fcsjT);
  1027 + if(xlDir==0){
  1028 + yysxWgf +=bcsj;
  1029 + sxcountWgfbc ++;
  1030 + wgfFcsj0.add(fcsjT);
  1031 + }else{
  1032 + yyxxWgf +=bcsj;
  1033 + xxcountWgfbc ++;
  1034 + wgfFcsj1.add(fcsjT);
  1035 + }
  1036 +
985 1037 if(ists){
986 1038 if(lpname.equals(m.get("lp").toString())){
987   - tzsxWgf +=fcsjT-temp;
  1039 + if(dir==0){
  1040 + if(fcsjT_ > 8*60+30 && fcsjT_ <= 16*60)
  1041 + tzsxZw +=fcsjT-temp;
  1042 + else
  1043 + tzsxWgf +=fcsjT-temp;
  1044 + }else{
  1045 + if(fcsjT_ > 8*60+30 && fcsjT_ <= 16*60)
  1046 + tzxxZw +=fcsjT-temp;
  1047 + else
  1048 + tzxxWgf +=fcsjT-temp;
  1049 + }
988 1050 }
989 1051 }
990 1052 temp =fcsjT+bcsj;
991 1053 }else{
992 1054 //晚高峰后
993   - yysxWh +=bcsj;
994   - sxcountWhbc ++;
995   - whFcsj0.add(fcsjT);
  1055 + if(xlDir==0){
  1056 + yysxWh +=bcsj;
  1057 + sxcountWhbc ++;
  1058 + whFcsj0.add(fcsjT);
  1059 + }else{
  1060 + yyxxWh +=bcsj;
  1061 + xxcountWhbc ++;
  1062 + whFcsj1.add(fcsjT);
  1063 + }
996 1064 if(ists){
997 1065 if(lpname.equals(m.get("lp").toString())){
998   - tzsxWh +=fcsjT-temp;
  1066 + if(dir==0){
  1067 + if(fcsjT_ > 16*60 && fcsjT_ <= 18*60)
  1068 + tzsxWgf +=fcsjT-temp;
  1069 + else
  1070 + tzsxWh +=fcsjT-temp;
  1071 + }else{
  1072 + if(fcsjT_ > 16*60 && fcsjT_ <= 18*60)
  1073 + tzxxWgf +=fcsjT-temp;
  1074 + else
  1075 + tzxxWh +=fcsjT-temp;
  1076 + }
999 1077 }
1000 1078 }
1001 1079 temp =fcsjT+bcsj;
1002 1080 }
1003   - lpname=m.get("lp").toString();
1004   - }else{
  1081 +
  1082 + /*}else{
1005 1083 //下行数据
1006 1084 if(fcsjT>= minSj && fcsjT <= 6*60+30){
1007 1085 //早高峰前
... ... @@ -1021,7 +1099,10 @@ public class ReportServiceImpl implements ReportService{
1021 1099 zgfFcsj1.add(fcsjT);
1022 1100 if(ists){
1023 1101 if(lpname.equals(m.get("lp").toString())){
1024   - tzxxZgf +=fcsjT-temp;
  1102 + if(fcsjT_>= minSj && fcsjT_ <= 6*60+30)
  1103 + tzxxZq +=fcsjT-temp;
  1104 + else
  1105 + tzxxZgf +=fcsjT-temp;
1025 1106 }
1026 1107 }
1027 1108 temp =fcsjT+bcsj;
... ... @@ -1032,7 +1113,10 @@ public class ReportServiceImpl implements ReportService{
1032 1113 zwFcsj1.add(fcsjT);
1033 1114 if(ists){
1034 1115 if(lpname.equals(m.get("lp").toString())){
1035   - tzxxZw +=fcsjT-temp;
  1116 + if(fcsjT_ > 6*60+30 && fcsjT_ <= 8*60+30)
  1117 + tzxxZgf +=fcsjT-temp;
  1118 + else
  1119 + tzxxZw +=fcsjT-temp;
1036 1120 }
1037 1121 }
1038 1122 temp =fcsjT+bcsj;
... ... @@ -1043,7 +1127,10 @@ public class ReportServiceImpl implements ReportService{
1043 1127 wgfFcsj1.add(fcsjT);
1044 1128 if(ists){
1045 1129 if(lpname.equals(m.get("lp").toString())){
1046   - tzxxWgf +=fcsjT-temp;
  1130 + if(fcsjT_ > 8*60+30 && fcsjT_ <= 16*60)
  1131 + tzxxZw +=fcsjT-temp;
  1132 + else
  1133 + tzxxWgf +=fcsjT-temp;
1047 1134 }
1048 1135 }
1049 1136 temp =fcsjT+bcsj;
... ... @@ -1054,20 +1141,27 @@ public class ReportServiceImpl implements ReportService{
1054 1141 whFcsj1.add(fcsjT);
1055 1142 if(ists){
1056 1143 if(lpname.equals(m.get("lp").toString())){
1057   - tzxxWh +=fcsjT-temp;
  1144 + if(fcsjT_ > 16*60 && fcsjT_ <= 18*60)
  1145 + tzxxWgf +=fcsjT-temp;
  1146 + else
  1147 + tzxxWh +=fcsjT-temp;
1058 1148 }
1059 1149 }
1060 1150 temp =fcsjT+bcsj;
1061 1151 }
1062 1152 // }
1063   - }
  1153 + }*/
  1154 + lpname=m.get("lp").toString();
  1155 + fcsjT_=fcsjT;
  1156 + dir =xlDir;
  1157 + if(m.get("ists").toString().trim().equals("1")){
  1158 + ists=false;
  1159 + }else{
  1160 + ists = true;
  1161 + }
1064 1162 }
1065 1163 }
1066   - if(m.get("ists").toString().trim().equals("1")){
1067   - ists=false;
1068   - }else{
1069   - ists = true;
1070   - }
  1164 +
1071 1165 }
1072 1166  
1073 1167 //---------------------------------------早前
... ... @@ -1885,6 +1979,50 @@ public class ReportServiceImpl implements ReportService{
1885 1979 return list;
1886 1980 }
1887 1981  
  1982 + public List<ArrivalInfo> load4(String line, String date, int zd,String minfcsj){
  1983 + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  1984 + SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
  1985 + Long date1=0L;
  1986 + Long date2=0L;
  1987 + Calendar cal = Calendar.getInstance();
  1988 + List<ArrivalInfo> list=null;
  1989 + try {
  1990 + Date dates1 = simpleDateFormat.parse(date+" "+minfcsj+":01");
  1991 + String d1=date+" "+minfcsj+":01";
  1992 +// Date dates2=simpleDateFormat.parse(date+" 23:59:59");
  1993 + date1=dates1.getTime();
  1994 +// date2=dates2.getTime();
  1995 + cal.setTime(dates1);
  1996 + int weeks_year1 = cal.get(Calendar.WEEK_OF_YEAR);
  1997 + cal.add(cal.DATE,1);//把日期往后增加一天.整数往后推,负数往前移动
  1998 + int weeks_year2 = cal.get(Calendar.WEEK_OF_YEAR);
  1999 + Date dates2=cal.getTime();
  2000 + String d2=simpleDateFormat.format(dates2);
  2001 + String sql="select *,UNIX_TIMESTAMP(times) as ts from bsth_c_arrival_info where times >= '"+d1 +"'and "
  2002 + + " times <='"+d2+"' and line_id = '"+line+"' and up_down = '"+zd+"'"
  2003 + + " order by device_id,times";
  2004 +
  2005 + list =jdbcTemplate.query(sql, new RowMapper<ArrivalInfo>() {
  2006 + @Override
  2007 + public ArrivalInfo mapRow(ResultSet arg0, int arg1) throws SQLException {
  2008 + ArrivalInfo ai=new ArrivalInfo();
  2009 + ai.setInOut(arg0.getInt("in_out"));
  2010 + ai.setDeviceId(arg0.getString("device_id"));
  2011 + ai.setStopNo(arg0.getString("stop_no"));
  2012 + ai.setDates(arg0.getDate("times"));
  2013 + ai.setTs(arg0.getLong("ts")*1000);
  2014 + return ai;
  2015 + }
  2016 + });
  2017 +
  2018 + } catch (ParseException e1) {
  2019 + // TODO Auto-generated catch block
  2020 + e1.printStackTrace();
  2021 + }
  2022 + return list;
  2023 +
  2024 + }
  2025 +
1888 2026 public List<ArrivalInfo> load3(String line, String date, int zd){
1889 2027 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
1890 2028 SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
... ... @@ -1928,6 +2066,8 @@ public class ReportServiceImpl implements ReportService{
1928 2066 }
1929 2067 return list;
1930 2068 }
  2069 +
  2070 + //根据排班查到离站
1931 2071 @Override
1932 2072 public List<Map<String, Object>> queryInOutStrtion(String line, String date, int zd,String lzsj) {
1933 2073 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
... ... @@ -1997,6 +2137,106 @@ public class ReportServiceImpl implements ReportService{
1997 2137 return inoutList;
1998 2138 }
1999 2139  
  2140 + //根据GPS查到离站
  2141 + @Override
  2142 + public List<Map<String, Object>> queryInOutStrtions(String line, String date, int zd,String lzsj) {
  2143 + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  2144 + String sqlMinYysj="select start_opt from bsth_c_line_config where "
  2145 + + " id = ("
  2146 + + "select max(id) from bsth_c_line_config where line ='"+BasicData.lineId2CodeMap.inverse().get(line) +"'"
  2147 + + ")";
  2148 + String minfcsj=jdbcTemplate.queryForObject(sqlMinYysj, String.class);
  2149 + List<ArrivalInfo> arrInfoList=this.load4(line, date, zd,minfcsj);
  2150 +
  2151 + //查询线路所有的站点
  2152 + List<StationRoute> listStation= stationRouteRepository.findByLine(line,zd);
  2153 + List<Map<String, Object>> inoutList=new ArrayList<Map<String,Object>>();
  2154 + //保存的所以的站点信息
  2155 + Map<String, Object> map1=new HashMap<String,Object>();
  2156 + map1.put("bc", "");
  2157 + map1.put("nbbm", "");
  2158 +
  2159 + for (int i = 0; i < listStation.size(); i++) {
  2160 + map1.put(listStation.get(i).getStationCode()+"in"
  2161 + , listStation.get(i).getStationName());
  2162 + map1.put(listStation.get(i).getStationCode()+"out"
  2163 + , (i+1));
  2164 + }
  2165 + inoutList.add(map1);
  2166 +
  2167 + /*for (int j = 0; j < listStation.size(); j++) {
  2168 + map2=new HashMap<String,Object>();
  2169 + StationRoute s=listStation.get(j);
  2170 + List<ArrivalInfo> arrivalList=new ArrayList<ArrivalInfo>();
  2171 + for (int j2 = 0; j2 < arrInfoList.size(); j2++) {
  2172 + ArrivalInfo a=arrivalList.get(j2);
  2173 + if(s.getStationCode().equals(a.getStopNo())){
  2174 + arrivalList.add(a);
  2175 + }
  2176 + }
  2177 + Map<String, String> m=this.strInOut(arrivalList,lzsj);
  2178 +
  2179 + map2.put(s.getStationCode()+"in", m.get("in"));
  2180 + map2.put(s.getStationCode()+"out", m.get("out"));
  2181 + map2.put(s.getStationCode(), m.get("type"));
  2182 + }*/
  2183 + List<String> list_nbbm=new ArrayList<String>();
  2184 + Map<String, Object> m=new HashMap<String,Object>();
  2185 + for (int i = 0; i < arrInfoList.size(); i++) {
  2186 + arrInfoList.get(i).setRoute(-1);
  2187 + for (int j = 0; j < listStation.size(); j++) {
  2188 + if(arrInfoList.get(i).getStopNo().equals(listStation.get(j).getStationCode())){
  2189 + arrInfoList.get(i).setRoute(listStation.get(j).getStationRouteCode());
  2190 +
  2191 + }
  2192 + }
  2193 + if(m.get(arrInfoList.get(i).getDeviceId())==null){
  2194 + m.put(arrInfoList.get(i).getDeviceId(), arrInfoList.get(i).getDeviceId());
  2195 + list_nbbm.add(arrInfoList.get(i).getDeviceId());
  2196 + }
  2197 + }
  2198 +
  2199 + Map<String, Object> map2=new HashMap<String, Object>();
  2200 + for (int i = 0; i < list_nbbm.size(); i++) {
  2201 + String nbbm=list_nbbm.get(i);
  2202 +
  2203 + int zdbm =0;
  2204 + int inout=-1;
  2205 + List<ArrivalInfo> arrivalList=new ArrayList<ArrivalInfo>();
  2206 + for (int j = 0; j < arrInfoList.size(); j++) {
  2207 + ArrivalInfo aif=arrInfoList.get(j);
  2208 +
  2209 + if(aif.getDeviceId().equals(nbbm)){
  2210 + map2.put("nbbm", BasicData.deviceId2NbbmMap.get(nbbm));
  2211 + if(aif.getRoute()>-1){
  2212 + if(((inout==aif.getInOut() && zdbm==aif.getRoute()) || !(zdbm ==aif.getRoute()))){
  2213 + if(aif.getRoute()<=zdbm ){
  2214 + inoutList.add(map2);
  2215 + map2=new HashMap<String, Object>();
  2216 + arrivalList=new ArrayList<ArrivalInfo>();
  2217 + }
  2218 + }
  2219 + arrivalList.add(aif);
  2220 +// if(!(zdbm ==aif.getRoute())){
  2221 + Map<String, String> m_=this.strInOut(arrivalList,lzsj);
  2222 + map2.put(aif.getStopNo()+"in", m_.get("in"));
  2223 + map2.put(aif.getStopNo()+"out", m_.get("out"));
  2224 + map2.put(aif.getStopNo(), m_.get("type"));
  2225 +// arrivalList=new ArrayList<ArrivalInfo>();
  2226 +// }
  2227 + zdbm =aif.getRoute();
  2228 + inout=aif.getInOut();
  2229 +
  2230 + }
  2231 +
  2232 + }
  2233 +
  2234 + }
  2235 + }
  2236 +
  2237 + return inoutList;
  2238 + }
  2239 +
2000 2240 public Map<String, String> strInOut(List<ArrivalInfo> lists,String lzsj){
2001 2241 String inout="";
2002 2242 SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
... ... @@ -2015,6 +2255,9 @@ public class ReportServiceImpl implements ReportService{
2015 2255 t1.setCzsj(sdf.format(new Date(t2.getTs())));
2016 2256 out =t2.getTs();
2017 2257 break;
  2258 + }else{
  2259 + t1.setCzsj("");
  2260 + out =0l;
2018 2261 }
2019 2262 }
2020 2263  
... ... @@ -2721,7 +2964,7 @@ public class ReportServiceImpl implements ReportService{
2721 2964  
2722 2965 for (int i = 0; i < xlList.size(); i++) {
2723 2966 String lineCode=xlList.get(i).get("line").toString();
2724   - String grade =xlList.get(i).get("grade").toString();
  2967 + String grade =xlList.get(i).get("grade")==null?"1":xlList.get(i).get("grade").toString();
2725 2968 int peak=0;
2726 2969 int trough=0;
2727 2970 for (int j = 0; j < djgList.size(); j++) {
... ...
src/main/java/com/bsth/service/schedule/impl/PeopleCarPlanServiceImpl.java
... ... @@ -1233,7 +1233,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService {
1233 1233 String sql = "select a.schedule_date_Str, a.real_exec_date, a.xl_name, a.fcsj, a.fcsj_actual, a.zdsj, a.zdsj_actual, a.qdz_name, a.zdz_name, a.xl_dir, a.status, a.gs_name, a.fgs_name,"
1234 1234 + " b.start_opt from bsth_c_s_sp_info_real a left join (select line, start_opt from bsth_c_line_config order by id desc) b on a.xl_bm = b.line"
1235 1235 + " where DATE_FORMAT(schedule_date,'%Y-%m-%d') = '"+date+"'"
1236   - + " and fcsj_actual is not null and fcsj_actual != '' and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks' and bc_type != 'region'";
  1236 + + " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks' and bc_type != 'region'";
1237 1237 if(line.trim().length() != 0)
1238 1238 sql += " and xl_bm = '"+line+"'";
1239 1239 else if(company.length() != 0)
... ... @@ -1326,14 +1326,18 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService {
1326 1326 for(ScheduleRealInfo s : keyMap.get(xlName)){
1327 1327 if(s.getXlDir().equals("0")){
1328 1328 up1.add(s.getFcsjT());
1329   - up2.add(s.getFcsjActualTime());
1330 1329 up1Map.put(s.getFcsjT(), s);
1331   - up2Map.put(s.getFcsjActualTime(), s);
  1330 + if(s.getFcsjActual() != null){
  1331 + up2.add(s.getFcsjActualTime());
  1332 + up2Map.put(s.getFcsjActualTime(), s);
  1333 + }
1332 1334 } else if(s.getXlDir().equals("1")){
1333 1335 dn1.add(s.getFcsjT());
1334   - dn2.add(s.getFcsjActualTime());
1335 1336 dn1Map.put(s.getFcsjT(), s);
1336   - dn2Map.put(s.getFcsjActualTime(), s);
  1337 + if(s.getFcsjActual() != null){
  1338 + dn2.add(s.getFcsjActualTime());
  1339 + dn2Map.put(s.getFcsjActualTime(), s);
  1340 + }
1337 1341 }
1338 1342 }
1339 1343 if(up1.size() > 0 && up2.size() > 0){
... ... @@ -1455,7 +1459,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService {
1455 1459 String sql = "select a.schedule_date_Str, a.real_exec_date, a.xl_name, a.fcsj, a.fcsj_actual, a.zdsj, a.zdsj_actual, a.qdz_name, a.zdz_name, a.xl_dir, a.status, a.gs_name, a.fgs_name,"
1456 1460 + " b.start_opt from bsth_c_s_sp_info_real a left join (select line, start_opt from bsth_c_line_config order by id desc) b on a.xl_bm = b.line"
1457 1461 + " where DATE_FORMAT(schedule_date,'%Y-%m-%d') >= '"+startDate+"' and DATE_FORMAT(schedule_date,'%Y-%m-%d') <= '"+endDate+"'"
1458   - + " and fcsj_actual is not null and fcsj_actual != '' and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks' and bc_type != 'region'";
  1462 + + " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks' and bc_type != 'region'";
1459 1463 if(line.length() != 0)
1460 1464 sql += " and xl_bm = '"+line+"'";
1461 1465 if(company.length() != 0)
... ... @@ -1565,14 +1569,18 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService {
1565 1569 for(ScheduleRealInfo s : keyMap.get(xlName).get(date)){
1566 1570 if(s.getXlDir().equals("0")){
1567 1571 up1.add(s.getFcsjT());
1568   - up2.add(s.getFcsjActualTime());
1569 1572 up1Map.put(s.getFcsjT(), s);
1570   - up2Map.put(s.getFcsjActualTime(), s);
  1573 + if(s.getFcsjActual() != null){
  1574 + up2.add(s.getFcsjActualTime());
  1575 + up2Map.put(s.getFcsjActualTime(), s);
  1576 + }
1571 1577 } else if(s.getXlDir().equals("1")){
1572 1578 dn1.add(s.getFcsjT());
1573   - dn2.add(s.getFcsjActualTime());
1574 1579 dn1Map.put(s.getFcsjT(), s);
1575   - dn2Map.put(s.getFcsjActualTime(), s);
  1580 + if(s.getFcsjActual() != null){
  1581 + dn2.add(s.getFcsjActualTime());
  1582 + dn2Map.put(s.getFcsjActualTime(), s);
  1583 + }
1576 1584 }
1577 1585 }
1578 1586 if(up1.size() > 0 && up2.size() > 0){
... ... @@ -1687,7 +1695,6 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService {
1687 1695  
1688 1696 return resList;
1689 1697 }
1690   -
1691 1698 /*@Override
1692 1699 public List<Map<String, Object>> commandState(Map<String, Object> map) {
1693 1700 List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>();
... ...
src/main/resources/datatools/ktrs/carsDataInput.ktr
1   -<?xml version="1.0" encoding="UTF-8"?>
2   -<transformation>
3   - <info>
4   - <name>&#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 408 <!-- 开辟日期 END -->
409 409 </div>
410 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 423 <!-- 表单分组组件 form-group START -->
413 424 <div class="form-group">
414 425 <!-- 线路沿革 START -->
... ...
src/main/resources/static/pages/base/line/edit.html
... ... @@ -421,6 +421,18 @@
421 421 </div>
422 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 436 <!-- 表单分组组件 form-group START -->
425 437 <div class="form-group">
426 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 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 153 // 描述/说明
154 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 204 getzdlyInfo : function(params,callback) {
158 205 $get('/stationroute/all',params,function(result) {
... ...
src/main/resources/static/pages/base/station/list.html
... ... @@ -170,6 +170,7 @@
170 170 </td>
171 171 <td>
172 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 174 </td>
174 175 </tr>
175 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 286 \ No newline at end of file
... ...
src/main/resources/static/pages/base/stationroute/addstationstemplate.html
... ... @@ -57,7 +57,7 @@
57 57 <h5 class="block"><span class="help-block" style="color:#1bbc9b;"> * 手动添加站点规划说明: </span></h5>
58 58 <p>
59 59 <span class="help-block" style="color:#1bbc9b;">
60   - &nbsp;请在文本域中按站点顺序依次输入站点名称(如果已有站点GPS坐标,请将坐标跟在站点名称后面用【Tab】键隔开),每输入完一个站名时请按回车键【Enter】换行.
  60 + &nbsp;请在文本域中按站点顺序依次输入站点名称(如果已有站点GPS坐标(坐标点也用【Tab】键隔开),请将坐标跟在站点名称后面用【Tab】键隔开),每输入完一个站名时请按回车键【Enter】换行.
61 61 例如:<br><br>
62 62 浦东大道金桥路 121.496612 31.238960<br>
63 63 浦东大道居家桥路 121.496618 31.238957<br>
... ...
src/main/resources/static/pages/electricity/jdl/list.html
... ... @@ -55,8 +55,7 @@
55 55 <td>
56 56 <select class="form-control" name="nbbm" id="nbbm" style="width: 120px;"></select>
57 57 </td>
58   - <td>驾驶员:</td>
59   - <td><input type="text" style="width: 80px" name="jsy" id="jsy"/></td>
  58 +
60 59 <td width="20%">
61 60 <button class="btn btn-sm green btn-outline filter-submit margin-bottom" style="margin-right:0px">
62 61 <i class="fa fa-search"></i> 搜索
... ... @@ -73,7 +72,6 @@
73 72 <th>#</th>
74 73 <th>日期</th>
75 74 <th colspan="2">内部编码</th>
76   - <th colspan="2">驾驶员</th>
77 75 <th colspan="2">充电量</th>
78 76 <th colspan="2">充电站</th>
79 77 <th colspan="2">备注</th>
... ... @@ -382,7 +380,7 @@
382 380 </td>
383 381 <td>{{obj.rq}}</td>
384 382 <td colspan="2">{{obj.nbbm}}</td>
385   - <td colspan="2">{{obj.jsy}}</td>
  383 +
386 384 <td colspan="2">{{obj.jdl}}</td>
387 385 <td colspan="2">{{obj.jdz}}</td>
388 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 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 295 \ No newline at end of file
... ...
src/main/resources/static/pages/forms/statement/scheduleDaily.html
... ... @@ -86,7 +86,7 @@
86 86 <td colspan="3">放站班次</td>
87 87 <td colspan="3">调头班次</td>
88 88 <td colspan="3">发生次数</td>
89   - <td rowspan="2">最大间隔时间()</td>
  89 + <td rowspan="2">最大间隔时间()</td>
90 90 <td colspan="5" rowspan="2">原因</td>
91 91 </tr>
92 92 <tr>
... ...
src/main/resources/static/pages/report/inoutstation/inoutstation.html
... ... @@ -199,7 +199,7 @@
199 199 layer.msg("请选择方向");
200 200 }else{
201 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 203 console.log(result2);
204 204 /* getTime(result); */
205 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 1 <!-- ui-route busInfoManage.list -->
2 2 <div ng-controller="BusInfoManageListCtrl as ctrl">
3 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 5 <thead>
6 6 <tr role="row" class="heading">
7 7 <th style="width:70px;">序号</th>
... ... @@ -121,21 +121,27 @@
121 121 </td>
122 122 </tr>
123 123 </tbody>
124   -
125 124 </table>
126 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 145 </div>
  146 +
141 147 </div>
... ...
src/main/resources/static/pages/scheduleApp/module/basicInfo/busInfoManage/module.js
... ... @@ -21,7 +21,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
21 21 number: 0, // 后台返回的页码,spring返回从0开始
22 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 56 currentPage.totalElements = page.totalElements;
55 57 currentPage.number = page.number;
56 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 66 return currentPage;
59 67 },
... ... @@ -63,7 +71,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
63 71 totalElements: 0,
64 72 number: 0,
65 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 4 <table class="fixTable table table-striped table-bordered table-hover table-checkable order-column">
5 5 <thead>
6 6 <tr role="row" class="heading">
7   - <th style="width: 40pt;">序号</th>
  7 + <th style="width: 70px;">序号</th>
8 8 <th style="width: 15%;">线路名称</th>
9 9 <th style="width: 10%;">内部编号</th>
10 10 <th style="width: 100px;">启用日期</th>
... ... @@ -57,7 +57,12 @@
57 57 <tbody>
58 58 <tr ng-repeat="info in ctrl.page()['content']" ng-class="{odd: true, gradeX: true, danger: info.isCancel}">
59 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 66 </td>
62 67 <td>
63 68 <span ng-bind="info.xlName"></span>
... ... @@ -110,17 +115,23 @@
110 115 </table>
111 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 136 </div>
126 137 </div>
... ...
src/main/resources/static/pages/scheduleApp/module/basicInfo/deviceInfoManage/module.js
... ... @@ -15,7 +15,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
15 15 number: 0, // 后台返回的页码,spring返回从0开始
16 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 41 currentPage.totalElements = page.totalElements;
40 42 currentPage.number = page.number;
41 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 51 return currentPage;
44 52 },
... ... @@ -48,7 +56,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
48 56 totalElements: 0,
49 57 number: 0,
50 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 38 <div class="col-md-3">
39 39 <sa-Select5 name="gs"
40 40 model="ctrl.employeeInfoForSave"
41   - cmaps="{'companyCode': 'businessCode', 'brancheCompany': 'businessName'}"
  41 + cmaps="{'companyCode': 'businessCode', 'company': 'businessName'}"
42 42 dcname="companyCode"
43 43 icname="businessCode"
44 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 38 <div class="col-md-3">
39 39 <sa-Select5 name="gs"
40 40 model="ctrl.employeeInfoForSave"
41   - cmaps="{'companyCode': 'businessCode', 'brancheCompany': 'businessName'}"
  41 + cmaps="{'companyCode': 'businessCode', 'company': 'businessName'}"
42 42 dcname="companyCode"
43 43 icname="businessCode"
44 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 146 </table>
147 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 167 </div>
163 168 </div>
164 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 21 number: 0, // 后台返回的页码,spring返回从0开始
22 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 56 currentPage.totalElements = page.totalElements;
55 57 currentPage.number = page.number;
56 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 67 return currentPage;
59 68 },
60 69 resetStatus: function() {
... ... @@ -63,7 +72,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
63 72 totalElements: 0,
64 73 number: 0,
65 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 40 /* 固定表格,防止内容撑出表格 */
41 41 .fixTable {
42 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 84 /* 结束时的样式 */
84 85 .uv.ng-enter.ng-enter-active {
85 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 106 \ No newline at end of file
... ...
src/main/resources/static/pages/scheduleApp/module/core/busConfig/list.html
... ... @@ -4,7 +4,7 @@
4 4 <table class="fixTable table table-striped table-bordered table-hover table-checkable order-column">
5 5 <thead>
6 6 <tr role="row" class="heading">
7   - <th style="width: 50px;">序号</th>
  7 + <th style="width: 70px;">序号</th>
8 8 <th style="width: 150px;">线路</th>
9 9 <th style="width: 150px;">内部编号</th>
10 10 <th style="width: 150px;">设备编号</th>
... ... @@ -58,7 +58,12 @@
58 58 <tbody>
59 59 <tr ng-repeat="info in ctrl.page()['content']" ng-class="{odd: true, gradeX: true, danger: info.isCancel}">
60 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 67 </td>
63 68 <td>
64 69 <span ng-bind="info.xl.name"></span>
... ... @@ -96,17 +101,24 @@
96 101 </table>
97 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 122 </div>
  123 +
112 124 </div>
113 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 14 number: 0, // 后台返回的页码,spring返回从0开始
15 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 50 currentPage.totalElements = page.totalElements;
49 51 currentPage.number = page.number;
50 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 60 return currentPage;
53 61 },
... ... @@ -57,7 +65,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
57 65 totalElements: 0,
58 66 number: 0,
59 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 4 <table class="fixTable table table-striped table-bordered table-hover table-checkable order-column">
5 5 <thead>
6 6 <tr role="row" class="heading">
7   - <th style="width: 50px;">序号</th>
  7 + <th style="width: 70px;">序号</th>
8 8 <th style="width: 150px;">线路</th>
9 9 <th style="width: 80px;">搭班编码</th>
10 10 <th >驾驶员工号</th>
... ... @@ -66,7 +66,12 @@
66 66 <tbody>
67 67 <tr ng-repeat="info in ctrl.page()['content']" ng-class="{odd: true, gradeX: true, danger: info.isCancel}">
68 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 75 </td>
71 76 <td>
72 77 <span ng-bind="info.xl.name"></span>
... ... @@ -107,17 +112,24 @@
107 112 </table>
108 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 133 </div>
  134 +
123 135 </div>
124 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 14 number: 0, // 后台返回的页码,spring返回从0开始
15 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 50 currentPage.totalElements = page.totalElements;
49 51 currentPage.number = page.number;
50 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 60 return currentPage;
53 61 },
... ... @@ -57,7 +65,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
57 65 totalElements: 0,
58 66 number: 0,
59 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 4 <table class="fixTable table table-striped table-bordered table-hover table-checkable order-column">
5 5 <thead>
6 6 <tr role="row" class="heading">
7   - <th style="width: 50px">序号</th>
  7 + <th style="width: 70px">序号</th>
8 8 <th style="width: 150px;">线路</th>
9 9 <th style="width: 100px;">路牌编号</th>
10 10 <th >路牌名称</th>
... ... @@ -54,7 +54,12 @@
54 54 <tbody>
55 55 <tr ng-repeat="info in ctrl.page()['content']" ng-class="{odd: true, gradeX: true, danger: info.isCancel}">
56 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 63 </td>
59 64 <td>
60 65 <span ng-bind="info.xl.name"></span>
... ... @@ -90,17 +95,24 @@
90 95 </table>
91 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 116 </div>
  117 +
106 118 </div>
107 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 15 number: 0, // 后台返回的页码,spring返回从0开始
16 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 51 totalElements: 0,
50 52 number: 0,
51 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 66 currentPage.totalElements = page.totalElements;
63 67 currentPage.number = page.number;
64 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 76 return currentPage;
67 77 },
... ...
src/main/resources/static/pages/scheduleApp/module/core/rerunManage/list.html
... ... @@ -3,7 +3,7 @@
3 3 <table class="fixTable table table-striped table-bordered table-hover table-checkable order-column">
4 4 <thead>
5 5 <tr role="row" class="heading">
6   - <th style="width: 50px;">序号</th>
  6 + <th style="width: 70px;">序号</th>
7 7 <th style="width: 150px;">套跑线路</th>
8 8 <th style="width: 180px">套跑时刻表/路牌</th>
9 9 <th style="width: 100px">套跑类型</th>
... ... @@ -54,7 +54,12 @@
54 54 <tbody>
55 55 <tr ng-repeat="info in ctrl.page()['content']" ng-class="{odd: true, gradeX: true, danger: info.isCancel}">
56 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 63 </td>
59 64 <td>
60 65 <span ng-bind="info.rerunXl.name"></span>
... ... @@ -113,18 +118,24 @@
113 118 </table>
114 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 139 </div>
  140 +
130 141 </div>
131 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 14 number: 0, // 后台返回的页码,spring返回从0开始
15 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 41 currentPage.totalElements = page.totalElements;
40 42 currentPage.number = page.number;
41 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 51 return currentPage;
44 52 },
... ... @@ -48,7 +56,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
48 56 totalElements: 0,
49 57 number: 0,
50 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 4 <table class="fixTable table table-striped table-bordered table-hover table-checkable order-column">
5 5 <thead>
6 6 <tr role="row" class="heading">
7   - <th style="width: 50px;">序号</th>
  7 + <th style="width: 70px;">序号</th>
8 8 <th style="width: 80px;">线路</th>
9 9 <th style="width: 150px;">日期</th>
10 10 <th style="width: 50px;">路牌</th>
... ... @@ -58,7 +58,12 @@
58 58 <tbody>
59 59 <tr ng-repeat="info in ctrl.page()['content']" class="odd gradeX">
60 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 67 </td>
63 68  
64 69 <td>
... ... @@ -161,17 +166,24 @@
161 166 </table>
162 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 187 </div>
  188 +
177 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 13 number: 0, // 后台返回的页码,spring返回从0开始
14 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 34 currentPage.totalElements = page.totalElements;
33 35 currentPage.number = page.number;
34 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 44 return currentPage;
37 45 },
... ... @@ -41,7 +49,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
41 49 totalElements: 0,
42 50 number: 0,
43 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 4 <table class="fixTable table table-striped table-bordered table-hover table-checkable order-column">
5 5 <thead>
6 6 <tr role="row" class="heading">
7   - <th style="width: 50px;">序号</th>
  7 + <th style="width: 70px;">序号</th>
8 8 <th style="width: 150px;">线路</th>
9 9 <th style="width: 100%;">关联时刻表</th>
10 10 <th style="width: 150px;">排班开始日期</th>
... ... @@ -30,7 +30,7 @@
30 30 </sa-Select5>
31 31 </td>
32 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 34 </td>
35 35 <td>
36 36 <div class="input-group">
... ... @@ -77,14 +77,23 @@
77 77 <tbody>
78 78 <tr ng-repeat="info in ctrl.page()['content']" class="odd gradeX">
79 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 86 </td>
82 87 <td>
83 88 <span ng-bind="info.xl.name"></span>
84 89 </td>
85 90 <td>
86 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 97 <i class="fa fa-table" aria-hidden="true"></i>
89 98 {{tinfo.ttInfoName}}
90 99 </a>
... ... @@ -135,18 +144,24 @@
135 144 </table>
136 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 165 </div>
  166 +
152 167 </div>
153 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 14 number: 0, // 后台返回的页码,spring返回从0开始
15 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 41 currentPage.totalElements = page.totalElements;
40 42 currentPage.number = page.number;
41 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 51 return currentPage;
44 52 },
... ... @@ -48,7 +56,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
48 56 totalElements: 0,
49 57 number: 0,
50 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 16 style="width: 1600px; min-height: 500px;">
17 17 <thead>
18 18 <tr role="row" class="heading">
19   - <th style="width: 50px;">序号</th>
  19 + <th style="width: 70px;">序号</th>
20 20 <th style="width: 80px;">操作</th>
21 21 <th style="width: 180px;">线路</th>
22 22 <th style="width: 180px">日期</th>
... ... @@ -75,7 +75,12 @@
75 75 <tbody>
76 76 <tr ng-repeat="info in ctrl.pageInfo.infos" class="odd gradeX">
77 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 84 </td>
80 85 <td>
81 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 3 <table class="fixTable table table-striped table-bordered table-hover table-checkable order-column">
4 4 <thead>
5 5 <tr role="row" class="heading">
6   - <th style="width: 5%;">序号</th>
  6 + <th style="width: 70px;">序号</th>
7 7 <th style="width: 15%;">线路</th>
8 8 <th style="width: 15%;">修改人/修改时间</th>
9 9 <th style="width: 10%;">启用日期</th>
... ... @@ -58,7 +58,12 @@
58 58 <tbody>
59 59 <tr ng-repeat="info in ctrl.page()['content']" class="odd gradeX">
60 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 67 </td>
63 68 <td>
64 69 <span ng-bind="info.xl.name"></span>
... ... @@ -132,18 +137,24 @@
132 137 </table>
133 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 158 </div>
  159 +
149 160 </div>
150 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 14 number: 0, // 后台返回的页码,spring返回从0开始
15 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 46 currentPage.totalElements = page.totalElements;
45 47 currentPage.number = page.number;
46 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 56 return currentPage;
49 57 },
... ... @@ -53,7 +61,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
53 61 totalElements: 0,
54 62 number: 0,
55 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 4 <table class="fixTable table table-striped table-bordered table-hover table-checkable order-column">
5 5 <thead>
6 6 <tr role="row" class="heading">
7   - <th style="width: 50px;">序号</th>
  7 + <th style="width: 70px;">序号</th>
8 8 <th style="width: 150px;">线路</th>
9 9 <th style="width: 180px;">时刻表名称</th>
10 10 <th style="width: 80px">上下行</th>
... ... @@ -61,13 +61,26 @@
61 61 <tbody>
62 62 <tr ng-repeat="info in ctrl.page()['content']" ng-class="{odd: true, gradeX: true, danger: info.isCancel}">
63 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 70 </td>
66 71 <td>
67 72 <span ng-bind="info.xl.name"></span>
68 73 </td>
69 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 84 </td>
72 85 <td>
73 86 <span ng-bind="info.xlDir | dict:'LineTrend2':'未知' "></span>
... ... @@ -134,17 +147,24 @@
134 147 </table>
135 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 168 </div>
  169 +
150 170 </div>
151 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 14 number: 0, // 后台返回的页码,spring返回从0开始
15 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 41 currentPage.totalElements = page.totalElements;
40 42 currentPage.number = page.number;
41 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 51 return currentPage;
44 52 },
... ... @@ -48,7 +56,9 @@ angular.module(&#39;ScheduleApp&#39;).factory(
48 56 totalElements: 0,
49 57 number: 0,
50 58 content: [],
51   - uiNumber: 1
  59 + uiNumber: 1,
  60 + uiFromRecord: 0,
  61 + uiToRecord: 0
52 62 };
53 63 },
54 64 /**
... ...