Commit 3d8bcc05ef5df12a061b57130fdd227892cdefaa

Authored by 潘钊
2 parents c53462ad 6f344775

Merge branch 'minhang' into pudong

Showing 54 changed files with 12610 additions and 7610 deletions
src/main/java/com/bsth/XDApplication.java
... ... @@ -86,11 +86,14 @@ public class XDApplication implements CommandLineRunner {
86 86 }
87 87 }
88 88  
  89 + //@Autowired
  90 + //DayOfSchedule dayOfSchedule;
89 91 public void devInit(){
90 92 log.info("devInit...");
91 93 ScheduledExecutorService sexec = Application.mainServices;
92 94 //抓取GPS数据
93 95 gpsDataLoader.setFlag(-1);
  96 + //dayOfSchedule.dataRecovery();
94 97 //sexec.scheduleWithFixedDelay(gpsDataLoader, 30, 2, TimeUnit.SECONDS);
95 98 //实际排班更新线程
96 99 //sexec.scheduleWithFixedDelay(scheduleRefreshThread, 15, 240, TimeUnit.SECONDS);
... ... @@ -98,7 +101,8 @@ public class XDApplication implements CommandLineRunner {
98 101 //sexec.scheduleWithFixedDelay(schedulePstThread, 60, 15, TimeUnit.SECONDS);
99 102 //班次修正日志延迟入库
100 103 //sexec.scheduleWithFixedDelay(seiPstThread, 60, 30, TimeUnit.SECONDS);
101   -
  104 + //调度指令延迟入库
  105 + //sexec.scheduleWithFixedDelay(directivesPstThread, 180, 180, TimeUnit.SECONDS);
102 106 //线程监听(防止重要的线程阻塞、异常结束。以及部分主备切换工作)
103 107 //sexec.scheduleWithFixedDelay(threadMonotor, 240, 60, TimeUnit.SECONDS);
104 108 }
... ... @@ -116,7 +120,7 @@ public class XDApplication implements CommandLineRunner {
116 120 sexec.scheduleWithFixedDelay(scheduleRefreshThread, 15, 240, TimeUnit.SECONDS);
117 121 //班次延迟入库线程
118 122 sexec.scheduleWithFixedDelay(schedulePstThread, 60, 10, TimeUnit.SECONDS);
119   - //班次修正日志延迟入库
  123 + //班次修正日志入库
120 124 sexec.scheduleWithFixedDelay(seiPstThread, 60, 60, TimeUnit.SECONDS);
121 125 //检查班次误点
122 126 sexec.scheduleWithFixedDelay(scheduleLateThread, 60, 30, TimeUnit.SECONDS);
... ...
src/main/java/com/bsth/controller/realcontrol/SchEditInfoController.java
1   -package com.bsth.controller.realcontrol;
2   -
3   -import com.bsth.controller.BaseController;
4   -import com.bsth.data.schedule.edit_logs.entity.SchEditInfo;
5   -import com.bsth.data.schedule.edit_logs.service.SchEditInfoService;
6   -import org.springframework.beans.factory.annotation.Autowired;
7   -import org.springframework.web.bind.annotation.RequestMapping;
8   -import org.springframework.web.bind.annotation.RequestMethod;
9   -import org.springframework.web.bind.annotation.RequestParam;
10   -import org.springframework.web.bind.annotation.RestController;
11   -
12   -import java.util.Map;
13   -
14   -/**
15   - * 班次修正记录
16   - * Created by panzhao on 2017/5/22.
17   - */
18   -@RestController
19   -@RequestMapping("schEditInfo")
20   -public class SchEditInfoController extends BaseController<SchEditInfo, Long>{
21   -
22   - @Autowired
23   - SchEditInfoService editInfoService;
24   -
25   - @RequestMapping(value = "/_list", method = RequestMethod.GET)
26   - public Map<String, Object> _list(@RequestParam String rq, @RequestParam String lineCode,@RequestParam Map<String, String> map) {
27   - return editInfoService._list(rq, lineCode, map);
28   - }
29   -}
  1 +package com.bsth.controller.realcontrol;
  2 +
  3 +import com.bsth.controller.BaseController;
  4 +import com.bsth.data.schedule.edit_logs.entity.SchEditInfo;
  5 +import com.bsth.data.schedule.edit_logs.service.SchEditInfoService;
  6 +import org.springframework.beans.factory.annotation.Autowired;
  7 +import org.springframework.web.bind.annotation.RequestMapping;
  8 +import org.springframework.web.bind.annotation.RequestMethod;
  9 +import org.springframework.web.bind.annotation.RequestParam;
  10 +import org.springframework.web.bind.annotation.RestController;
  11 +
  12 +import java.util.Map;
  13 +
  14 +/**
  15 + * 班次修正记录
  16 + * Created by panzhao on 2017/5/22.
  17 + */
  18 +@RestController
  19 +@RequestMapping("schEditInfo")
  20 +public class SchEditInfoController extends BaseController<SchEditInfo, Long>{
  21 +
  22 + @Autowired
  23 + SchEditInfoService editInfoService;
  24 +
  25 + @RequestMapping(value = "/_list", method = RequestMethod.GET)
  26 + public Map<String, Object> _list(@RequestParam String rq, @RequestParam String lineCode,@RequestParam Map<String, String> map) {
  27 + return editInfoService._list(rq, lineCode, map);
  28 + }
  29 +}
... ...
src/main/java/com/bsth/controller/report/SheetController.java 0 → 100644
  1 +package com.bsth.controller.report;
  2 +
  3 +import java.util.List;
  4 +import java.util.Map;
  5 +
  6 +import org.springframework.beans.factory.annotation.Autowired;
  7 +import org.springframework.web.bind.annotation.RequestMapping;
  8 +import org.springframework.web.bind.annotation.RequestMethod;
  9 +import org.springframework.web.bind.annotation.RequestParam;
  10 +import org.springframework.web.bind.annotation.RestController;
  11 +
  12 +import com.bsth.controller.BaseController;
  13 +import com.bsth.entity.sheet.Sheet;
  14 +import com.bsth.service.report.SheetService;
  15 +
  16 +@RestController
  17 +@RequestMapping("sheet")
  18 +public class SheetController extends BaseController<Sheet, Integer>{
  19 + @Autowired
  20 + SheetService sheetService;
  21 + @RequestMapping(value = "/saveListSheet",method = RequestMethod.POST)
  22 + public String saveListSheet(){
  23 + String result="";
  24 + try {
  25 + result = sheetService.saveSheetList();
  26 + } catch (Exception e) {
  27 + // TODO Auto-generated catch block
  28 + e.printStackTrace();
  29 + }
  30 + return result;
  31 + }
  32 +
  33 +
  34 + @RequestMapping(value = "/sheetList",method = RequestMethod.GET)
  35 + public List<Sheet> sheetList(@RequestParam Integer id){
  36 + List<Sheet> list=sheetService.sheetList(id);
  37 + return list;
  38 + }
  39 + @RequestMapping(value = "/countList",method = RequestMethod.GET)
  40 + public List<Map<String, Object>> countList(@RequestParam Map<String, Object> map){
  41 + List<Map<String, Object>> list=sheetService.countList(map);
  42 + return list;
  43 + }
  44 +}
... ...
src/main/java/com/bsth/controller/schedule/core/EmployeeConfigInfoController.java
... ... @@ -7,10 +7,7 @@ import com.bsth.repository.schedule.EmployeeConfigInfoRepository;
7 7 import com.bsth.service.schedule.EmployeeConfigInfoService;
8 8 import com.bsth.service.schedule.exception.ScheduleException;
9 9 import org.springframework.beans.factory.annotation.Autowired;
10   -import org.springframework.web.bind.annotation.RequestMapping;
11   -import org.springframework.web.bind.annotation.RequestMethod;
12   -import org.springframework.web.bind.annotation.RequestParam;
13   -import org.springframework.web.bind.annotation.RestController;
  10 +import org.springframework.web.bind.annotation.*;
14 11  
15 12 import java.util.HashMap;
16 13 import java.util.List;
... ... @@ -38,6 +35,19 @@ public class EmployeeConfigInfoController extends BController&lt;EmployeeConfigInfo
38 35 }
39 36  
40 37  
  38 + @RequestMapping(value = "/dbbm/{xlid}", method = RequestMethod.GET)
  39 + public Map<String, Object> getDbbm(@PathVariable("xlid") Integer xl) {
  40 + Map<String, Object> rtn = new HashMap<>();
  41 + try {
  42 + rtn.put("data", employeeConfigInfoService.getMaxDbbm(xl));
  43 + rtn.put("status", ResponseCode.SUCCESS);
  44 + } catch (Exception exp) {
  45 + exp.printStackTrace();
  46 + rtn.put("status", ResponseCode.ERROR);
  47 + rtn.put("msg", exp.getMessage());
  48 + }
  49 + return rtn;
  50 + }
41 51  
42 52 @RequestMapping(value = "/validate_jsy", method = RequestMethod.GET)
43 53 public Map<String, Object> validate_jsy(@RequestParam Map<String, Object> param) {
... ...
src/main/java/com/bsth/controller/schedule/core/GuideboardInfoController.java
... ... @@ -7,10 +7,7 @@ import com.bsth.repository.schedule.GuideboardInfoRepository;
7 7 import com.bsth.service.schedule.GuideboardInfoService;
8 8 import com.bsth.service.schedule.exception.ScheduleException;
9 9 import org.springframework.beans.factory.annotation.Autowired;
10   -import org.springframework.web.bind.annotation.RequestMapping;
11   -import org.springframework.web.bind.annotation.RequestMethod;
12   -import org.springframework.web.bind.annotation.RequestParam;
13   -import org.springframework.web.bind.annotation.RestController;
  10 +import org.springframework.web.bind.annotation.*;
14 11  
15 12 import java.util.HashMap;
16 13 import java.util.List;
... ... @@ -33,6 +30,21 @@ public class GuideboardInfoController extends BController&lt;GuideboardInfo, Long&gt;
33 30 return guideboardInfoRepository.findLpName(ttid);
34 31 }
35 32  
  33 + @RequestMapping(value = "lpno/{xlid}", method = RequestMethod.GET)
  34 + public Map<String, Object> getLpNo(@PathVariable("xlid") Integer xl) {
  35 + Map<String, Object> rtn = new HashMap<>();
  36 + try {
  37 + rtn.put("data", guideboardInfoService.getMaxLpno(xl));
  38 + rtn.put("status", ResponseCode.SUCCESS);
  39 + } catch (Exception exp) {
  40 + exp.printStackTrace();
  41 + rtn.put("status", ResponseCode.ERROR);
  42 + rtn.put("msg", exp.getMessage());
  43 + }
  44 +
  45 + return rtn;
  46 + }
  47 +
36 48 @RequestMapping(value = "/validate_lpno", method = RequestMethod.GET)
37 49 public Map<String, Object> validate_lpno(@RequestParam Map<String, Object> param) {
38 50 Map<String, Object> rtn = new HashMap<>();
... ...
src/main/java/com/bsth/data/directive/DirectivesPstThread.java
... ... @@ -34,6 +34,7 @@ public class DirectivesPstThread extends Thread {
34 34  
35 35 @Override
36 36 public void run() {
  37 +
37 38 LinkedList<Directive> list = DayOfDirectives.pstDirectives;
38 39  
39 40 Directive directive;
... ... @@ -46,8 +47,10 @@ public class DirectivesPstThread extends Thread {
46 47 if(d60.isDispatch()){
47 48 ScheduleRealInfo sch = d60.getSch();
48 49 //如果关联的班次已经不存在了,放弃入库
49   - if(dayOfSchedule.get(sch.getId()) == null)
  50 + if(dayOfSchedule.get(sch.getId()) == null){
  51 + logger.warn("班次:" + sch.getId() + "不存在了,调度指令放弃入库。");
50 52 continue;
  53 + }
51 54 }
52 55 d60Repository.save(d60);
53 56 }
... ...
src/main/java/com/bsth/data/gpsdata/arrival/GpsRealAnalyse.java
... ... @@ -117,29 +117,31 @@ public class GpsRealAnalyse {
117 117 try {
118 118 Collections.sort(list, comp);
119 119 for (GpsEntity gps : list) {
120   - //是否有任务
121   - boolean task;
122   - CircleQueue<GpsEntity> prevs = GeoCacheData.getGps(gps.getNbbm());
123   - //掉线处理
124   - offlineSignalHandle.handle(gps, prevs);
125   - //状态处理
126   - task = correctSignalHandle.handle(gps, prevs);
127   - //场,站内外判断
128   - stationInsideHandle.handle(gps, prevs);
129   - //异常判定(越界/超速)
130   - abnormalStateHandle.handle(gps, prevs);
131   -
132   - if (!task)
133   - continue; //无任务的,到这里就结束
134   -
135   - //反向处理
136   - reverseSignalHandle.handle(gps, prevs);
137   - //进出站动作处理
138   - inOutStationSignalHandle.handle(gps, prevs);
139   - GeoCacheData.putGps(gps);
  120 + try {
  121 + //是否有任务
  122 + boolean task;
  123 + CircleQueue<GpsEntity> prevs = GeoCacheData.getGps(gps.getNbbm());
  124 + //掉线处理
  125 + offlineSignalHandle.handle(gps, prevs);
  126 + //状态处理
  127 + task = correctSignalHandle.handle(gps, prevs);
  128 + //场,站内外判断
  129 + stationInsideHandle.handle(gps, prevs);
  130 + //异常判定(越界/超速)
  131 + abnormalStateHandle.handle(gps, prevs);
  132 +
  133 + if (!task)
  134 + continue; //无任务的,到这里就结束
  135 +
  136 + //反向处理
  137 + reverseSignalHandle.handle(gps, prevs);
  138 + //进出站动作处理
  139 + inOutStationSignalHandle.handle(gps, prevs);
  140 + GeoCacheData.putGps(gps);
  141 + }catch (Exception e){
  142 + logger.error("", e);
  143 + }
140 144 }
141   - } catch (Exception e) {
142   - logger.error("", e);
143 145 } finally {
144 146 if (count != null)
145 147 count.countDown();
... ...
src/main/java/com/bsth/data/gpsdata/arrival/handlers/InOutStationSignalHandle.java
... ... @@ -46,7 +46,7 @@ public class InOutStationSignalHandle extends SignalHandle{
46 46 @Autowired
47 47 SignalSchPlanMatcher signalSchPlanMatcher;
48 48  
49   - private final static int MAX_BEFORE_TIME = 1000 * 60 * 72;
  49 + private final static int MAX_BEFORE_TIME = 1000 * 60 * 120;
50 50  
51 51 //最大的班次时间差,防止异常的GPS时间打乱数据
52 52 private final static int MAX_NORMAL_DIFF = 1000 * 60 * 60 * 12;
... ... @@ -113,8 +113,8 @@ public class InOutStationSignalHandle extends SignalHandle{
113 113  
114 114 int diff = (int) (sch.getDfsjT() - gps.getTimestamp());
115 115  
116   - //首班出场最多提前1.2小时
117   - if(dayOfSchedule.isFirstOut(sch) && diff > MAX_BEFORE_TIME)
  116 + //首班出场最多提前2小时
  117 + if((dayOfSchedule.isFirstOut(sch) && diff > MAX_BEFORE_TIME) || diff > MAX_BEFORE_TIME / 2)
118 118 return;
119 119  
120 120 //正常班次最大时间差
... ... @@ -129,9 +129,11 @@ public class InOutStationSignalHandle extends SignalHandle{
129 129 signalSchPlanMatcher.outMatch(gps, sch);
130 130 sch = dayOfSchedule.executeCurr(gps.getNbbm());
131 131  
132   - //实发时间不覆盖
133   - if(StringUtils.isNotEmpty(sch.getFcsjActual()))
  132 + //班次已经实发
  133 + if(StringUtils.isNotEmpty(sch.getFcsjActual())
  134 + && !outManyFit(gps, sch)){
134 135 return;
  136 + }
135 137  
136 138 //应用到离站缓冲区设置参数
137 139 long rsT = lineConfigData.applyOut(sch, gps.getTimestamp());
... ... @@ -185,6 +187,26 @@ public class InOutStationSignalHandle extends SignalHandle{
185 187 }
186 188 }
187 189  
  190 + /**
  191 + * 是否是一个更合适的发车信号
  192 + * @param gps
  193 + * @param sch
  194 + * @return
  195 + */
  196 + private boolean outManyFit(GpsEntity gps, ScheduleRealInfo sch) {
  197 + if(StringUtils.isNotEmpty(sch.getZdsjActual()))
  198 + return false;
  199 +
  200 + long t1 = sch.getFcsjActualTime();
  201 + long t2 = gps.getTimestamp();
  202 + long c = sch.getDfsjT();
  203 +
  204 + if(c - t1 > 1000 * 60 * 15 && Math.abs(t2 - c) < 1000 * 60 * 5){
  205 + return true;
  206 + }
  207 + return false;
  208 + }
  209 +
188 210  
189 211 private void outStationAndOutPark(ScheduleRealInfo sch){
190 212 LineConfig config = lineConfigData.get(sch.getXlBm());
... ... @@ -230,7 +252,7 @@ public class InOutStationSignalHandle extends SignalHandle{
230 252 logger.info("NullPointerException " + sch.getXlName() + " 有班次无班次历时,,,检查一下是否需要出站既出场。");
231 253 }
232 254 //进场最多提前1.2小时
233   - if(sch.getBcType().equals("in") && diff > MAX_BEFORE_TIME)
  255 + if((sch.getBcType().equals("in") && diff > MAX_BEFORE_TIME) || diff > MAX_BEFORE_TIME/2)
234 256 return;
235 257  
236 258 //正常班次最大时间差
... ...
src/main/java/com/bsth/data/gpsdata/arrival/utils/SignalSchPlanMatcher.java
... ... @@ -3,6 +3,8 @@ package com.bsth.data.gpsdata.arrival.utils;
3 3 import com.bsth.data.gpsdata.GpsEntity;
4 4 import com.bsth.data.schedule.DayOfSchedule;
5 5 import com.bsth.entity.realcontrol.ScheduleRealInfo;
  6 +import org.slf4j.Logger;
  7 +import org.slf4j.LoggerFactory;
6 8 import org.springframework.beans.factory.annotation.Autowired;
7 9 import org.springframework.stereotype.Component;
8 10  
... ... @@ -16,6 +18,8 @@ public class SignalSchPlanMatcher {
16 18 @Autowired
17 19 DayOfSchedule dayOfSchedule;
18 20  
  21 + Logger log = LoggerFactory.getLogger(this.getClass());
  22 +
19 23 /**
20 24 * 发车信号匹配
21 25 * @param outSigal
... ... @@ -27,6 +31,25 @@ public class SignalSchPlanMatcher {
27 31 if(t < sch.getDfsjT())
28 32 return;
29 33  
  34 + try{
  35 + //会不会是分班没有完成
  36 + if(sch.getBcType().equals("in")){
  37 + ScheduleRealInfo fbFirst = dayOfSchedule.nextByBcType(sch, "normal");
  38 +
  39 + if(fbFirst == null)
  40 + return;
  41 +
  42 + long dt = fbFirst.getDfsjT();
  43 + //前5后10 -执行分班的首个营运
  44 + if(dt - t < 1000 * 60 * 5 || t - dt < 1000 * 60 * 10){
  45 + dayOfSchedule.addExecPlan(fbFirst);
  46 + return;
  47 + }
  48 + }
  49 + }catch (Exception e){
  50 + log.error("", e);
  51 + }
  52 +
30 53 //下一个相同走向的班次
31 54 ScheduleRealInfo next = dayOfSchedule.nextSame(sch);
32 55 if(next == null || !next.getQdzCode().equals(sch.getQdzCode()))
... ...
src/main/java/com/bsth/data/gpsdata/recovery/GpsDataRecovery.java
... ... @@ -60,8 +60,10 @@ public class GpsDataRecovery implements ApplicationContextAware {
60 60 for (String lineId : keys) {
61 61 Collections.sort(listMap.get(lineId), comp);
62 62 threadPool.execute(new RecoveryThread(listMap.get(lineId), count));
63   - /*if(nbbm.equals("W7C-001"))
  63 + /*if(nbbm.equals("W7E-016"))
64 64 new RecoveryThread(listMap.get(nbbm), count).run();*/
  65 + /*if(lineId.equals("60028"))
  66 + new RecoveryThread(listMap.get(lineId), count).run();*/
65 67 }
66 68  
67 69 try {
... ... @@ -82,7 +84,7 @@ public class GpsDataRecovery implements ApplicationContextAware {
82 84 Calendar calendar = Calendar.getInstance();
83 85 int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR);
84 86  
85   - String sql = "select DEVICE_ID,LAT,LON,TS,SPEED_GPS,LINE_ID,SERVICE_STATE from bsth_c_gps_info where days_year=" + dayOfYear;
  87 + String sql = "select DEVICE_ID,LAT,LON,TS,SPEED_GPS,LINE_ID,SERVICE_STATE from bsth_c_gps_info where days_year=143";// + dayOfYear;
86 88 JdbcTemplate jdbcTemplate = new JdbcTemplate(DBUtils_MS.getDataSource());
87 89  
88 90 List<GpsEntity> list =
... ... @@ -150,30 +152,34 @@ public class GpsDataRecovery implements ApplicationContextAware {
150 152 CircleQueue<GpsEntity> prevs;
151 153 boolean task;
152 154 for (GpsEntity gps : list) {
153   -
154   - //是否有任务
155   -
156   - prevs = GeoCacheData.getGps(gps.getNbbm());
157   - //掉线处理
158   - offlineSignalHandle.handle(gps, prevs);
159   - //状态处理
160   - task = correctSignalHandle.handle(gps, prevs);
161   - //场,站内外判断
162   - stationInsideHandle.handle(gps, prevs);
163   - //异常判定(越界/超速)
164   - //abnormalStateHandle.handle(gps, prevs);
165   -
166   - if(!task)
167   - continue; //无任务的,到这里就结束
168   -
169   - //反向处理
170   - reverseSignalHandle.handle(gps, prevs);
171   - //进出站动作处理
172   - inOutStationSignalHandle.handle(gps, prevs);
173   - GeoCacheData.putGps(gps);
  155 + try {
  156 + /*if(gps.getTimestamp() >= 1495512240000L){
  157 + System.out.println("debugger...");
  158 + }*/
  159 + //是否有任务
  160 +
  161 + prevs = GeoCacheData.getGps(gps.getNbbm());
  162 + //掉线处理
  163 + offlineSignalHandle.handle(gps, prevs);
  164 + //状态处理
  165 + task = correctSignalHandle.handle(gps, prevs);
  166 + //场,站内外判断
  167 + stationInsideHandle.handle(gps, prevs);
  168 + //异常判定(越界/超速)
  169 + //abnormalStateHandle.handle(gps, prevs);
  170 +
  171 + if (!task)
  172 + continue; //无任务的,到这里就结束
  173 +
  174 + //反向处理
  175 + reverseSignalHandle.handle(gps, prevs);
  176 + //进出站动作处理
  177 + inOutStationSignalHandle.handle(gps, prevs);
  178 + GeoCacheData.putGps(gps);
  179 + } catch (Exception e) {
  180 + logger.error("", e);
  181 + }
174 182 }
175   - } catch (Exception e) {
176   - logger.error("", e);
177 183 } finally {
178 184 count.countDown();
179 185 }
... ...
src/main/java/com/bsth/data/schedule/DayOfSchedule.java
... ... @@ -649,7 +649,12 @@ public class DayOfSchedule {
649 649 nbbmScheduleMap.remove(sch.getClZbh(), sch);
650 650 id2SchedulMap.remove(sch.getId());
651 651 lpScheduleMap.remove(sch.getXlBm() + "_" + sch.getLpName(), sch);
652   - //return sch;
  652 +
  653 + //如果正在执行该班次
  654 + if(carExecutePlanMap.get(sch.getClZbh()) == sch){
  655 + //重新计算车辆当前执行班次
  656 + reCalcExecPlan(sch.getClZbh());
  657 + }
653 658 }
654 659  
655 660  
... ... @@ -776,6 +781,26 @@ public class DayOfSchedule {
776 781 }
777 782  
778 783 /**
  784 + * @Title: nextByBcType
  785 + * @Description: TODO(获取下一个指定班次类型的班次)
  786 + */
  787 + public ScheduleRealInfo nextByBcType(ScheduleRealInfo sch, String bcType) {
  788 + List<ScheduleRealInfo> list = nbbmScheduleMap.get(sch.getClZbh());
  789 + Collections.sort(list, schFCSJComparator);
  790 +
  791 + boolean flag = false;
  792 + for(ScheduleRealInfo temp : list){
  793 + if(temp == sch){
  794 + flag = true;
  795 + }
  796 +
  797 + if(flag && temp.getBcType().equals(bcType))
  798 + return temp;
  799 + }
  800 + return null;
  801 + }
  802 +
  803 + /**
779 804 * 搜索离当前时间最近的一个指定类型的班次
780 805 * @param nbbm
781 806 * @param bcType
... ...
src/main/java/com/bsth/data/schedule/edit_logs/ScheduleModifyLogger.java
1   -package com.bsth.data.schedule.edit_logs;
2   -
3   -import com.alibaba.fastjson.JSONArray;
4   -import com.alibaba.fastjson.JSONObject;
5   -import com.bsth.controller.realcontrol.dto.ChangePersonCar;
6   -import com.bsth.data.schedule.edit_logs.entity.EditType;
7   -import com.bsth.data.schedule.edit_logs.entity.SchEditInfo;
8   -import com.bsth.entity.realcontrol.ScheduleRealInfo;
9   -import org.apache.commons.lang3.StringUtils;
10   -import org.slf4j.Logger;
11   -import org.slf4j.LoggerFactory;
12   -
13   -import java.util.LinkedList;
14   -
15   -/**
16   - * 班次修正记录
17   - * Created by panzhao on 2017/5/16.
18   - */
19   -public class ScheduleModifyLogger {
20   -
21   - public static LinkedList<SchEditInfo> list;
22   -
23   - static {
24   - list = new LinkedList<>();
25   - }
26   -
27   - static Logger log = LoggerFactory.getLogger(ScheduleModifyLogger.class);
28   -
29   - /**
30   - * 待发调整
31   - * opType 0: 双击调整、 1:待发调整、2:批量待发调整、3:间隔调整
32   - */
33   - public static void dftz(ScheduleRealInfo sch, String opType, String oldDfsj, String nowDfsj, String remarks) {
34   - try {
35   - if (oldDfsj.equals(nowDfsj))
36   - return;
37   -
38   - SchEditInfo sei = SchEditInfo.getInstance(sch);
39   - sei.setType(EditType.DFTZ);
40   - sei.setType2(opType);
41   - sei.setRemarks(remarks == null ? "" : remarks);
42   -
43   - //detail
44   - JSONObject jobj = new JSONObject();
45   - jobj.put("old", oldDfsj);
46   - jobj.put("now", nowDfsj);
47   -
48   - sei.setJsonArray(jobj.toJSONString());
49   -
50   - put(sei);
51   - } catch (Exception e) {
52   - log.error("", e);
53   - }
54   - }
55   -
56   - /**
57   - * 发车信息微调记录器
58   - */
59   - public static void fcxxwt(ScheduleRealInfo sch, String remarks, JSONArray jsonArray) {
60   -
61   - try {
62   - if (jsonArray == null || jsonArray.size() == 0)
63   - return;
64   -
65   - SchEditInfo sei = SchEditInfo.getInstance(sch);
66   - sei.setRemarks(remarks);
67   - sei.setJsonArray(jsonArray.toJSONString());
68   - sei.setType(EditType.FCXXWT);
69   -
70   - put(sei);
71   - } catch (Exception e) {
72   - log.error("", e);
73   - }
74   - }
75   -
76   - /**
77   - * 计划烂班
78   - *
79   - * @param remarks
80   - */
81   - public static void jhlb(ScheduleRealInfo sch, String remarks) {
82   - try {
83   - SchEditInfo sei = SchEditInfo.getInstance(sch);
84   - sei.setRemarks(remarks);
85   - sei.setType(EditType.JHLB);
86   -
87   - put(sei);
88   - } catch (Exception e) {
89   - log.error("", e);
90   - }
91   - }
92   -
93   - /**
94   - * 实发调整
95   - *
96   - * @param sch
97   - * @param nowSfsj
98   - * @param remarks
99   - */
100   - public static void sftz(ScheduleRealInfo sch, String nowSfsj, String remarks) {
101   - try {
102   - SchEditInfo sei = SchEditInfo.getInstance(sch);
103   - sei.setRemarks(remarks);
104   - sei.setType(EditType.SFTZ);
105   - //detail
106   - JSONObject jobj = new JSONObject();
107   - jobj.put("old", sch.getFcsjActual());
108   - jobj.put("now", nowSfsj);
109   -
110   - sei.setJsonArray(jobj.toJSONString());
111   - put(sei);
112   - } catch (Exception e) {
113   - log.error("", e);
114   - }
115   - }
116   -
117   - /**
118   - * 撤销烂班
119   - *
120   - * @param sch
121   - */
122   - public static void cxlb(ScheduleRealInfo sch) {
123   - try {
124   - SchEditInfo sei = SchEditInfo.getInstance(sch);
125   - sei.setType(EditType.CXLB);
126   -
127   - put(sei);
128   - } catch (Exception e) {
129   - log.error("", e);
130   - }
131   - }
132   -
133   - /**
134   - * 撤销执行
135   - *
136   - * @param sch
137   - */
138   - public static void cxzx(ScheduleRealInfo sch) {
139   - try {
140   - SchEditInfo sei = SchEditInfo.getInstance(sch);
141   - sei.setType(EditType.CXZX);
142   -
143   - //detail
144   - JSONObject obj = new JSONObject();
145   - if (StringUtils.isNotEmpty(sch.getFcsjActual()))
146   - obj.put("old_sfsj", sch.getFcsjActual());
147   -
148   - if (StringUtils.isNotEmpty(sch.getZdsjActual()))
149   - obj.put("old_sdsj", sch.getZdsjActual());
150   -
151   - sei.setJsonArray(obj.toJSONString());
152   - put(sei);
153   - } catch (Exception e) {
154   - log.error("", e);
155   - }
156   - }
157   -
158   - /**
159   - * 撤销实发
160   - *
161   - * @param sch
162   - */
163   - public static void cxsf(ScheduleRealInfo sch) {
164   - try {
165   - SchEditInfo sei = SchEditInfo.getInstance(sch);
166   - sei.setType(EditType.CXSF);
167   -
168   - //detail
169   - JSONObject obj = new JSONObject();
170   - obj.put("old_sfsj", sch.getFcsjActual());
171   -
172   - sei.setJsonArray(obj.toJSONString());
173   - put(sei);
174   - } catch (Exception e) {
175   - log.error("", e);
176   - }
177   - }
178   -
179   - /**
180   - * 调整人车
181   - *
182   - * @param sch
183   - * @param cpc
184   - */
185   - public static void tzrc(ScheduleRealInfo sch, ChangePersonCar cpc) {
186   - try {
187   - String newNbbm = cpc.getClZbh();
188   - String newJsy = cpc.getJsy();
189   - String oldJsy = sch.getjGh() + "/" + sch.getjName();
190   -
191   - if (newNbbm == null && newJsy == null)
192   - return;
193   - if (newNbbm != null && newJsy != null
194   - && newNbbm.equals(sch.getClZbh()) && newJsy.equals(oldJsy))
195   - return;
196   -
197   -
198   - SchEditInfo sei = SchEditInfo.getInstance(sch);
199   - sei.setType(EditType.TZRC);
200   -
201   - //detail
202   - JSONObject jobj = new JSONObject();
203   - if (StringUtils.isNotEmpty(newNbbm)) {
204   - jobj.put("old_nbbm", sch.getClZbh());
205   - jobj.put("now_nbbm", newNbbm);
206   - }
207   -
208   - if (StringUtils.isNotEmpty(newJsy)) {
209   - jobj.put("old_jsy", sch.getjGh() + "/" + sch.getjName());
210   - jobj.put("now_jsy", newJsy);
211   - }
212   -
213   - if (StringUtils.isNotEmpty(cpc.getSpy()) && cpc.getSpy().length() > 3) {
214   - jobj.put("old_spy", sch.getsGh() + "/" + sch.getsName());
215   - jobj.put("now_spy", cpc.getSpy());
216   - }
217   -
218   - sei.setJsonArray(jobj.toJSONString());
219   - put(sei);
220   - } catch (Exception e) {
221   - log.error("", e);
222   - }
223   - }
224   -
225   - public static void put(SchEditInfo sei) {
226   - list.add(sei);
227   - }
228   -}
  1 +package com.bsth.data.schedule.edit_logs;
  2 +
  3 +import com.alibaba.fastjson.JSONArray;
  4 +import com.alibaba.fastjson.JSONObject;
  5 +import com.bsth.controller.realcontrol.dto.ChangePersonCar;
  6 +import com.bsth.data.schedule.edit_logs.entity.EditType;
  7 +import com.bsth.data.schedule.edit_logs.entity.SchEditInfo;
  8 +import com.bsth.entity.realcontrol.ScheduleRealInfo;
  9 +import org.apache.commons.lang3.StringUtils;
  10 +import org.slf4j.Logger;
  11 +import org.slf4j.LoggerFactory;
  12 +
  13 +import java.util.LinkedList;
  14 +
  15 +/**
  16 + * 班次修正记录
  17 + * Created by panzhao on 2017/5/16.
  18 + */
  19 +public class ScheduleModifyLogger {
  20 +
  21 + public static LinkedList<SchEditInfo> list;
  22 +
  23 + static {
  24 + list = new LinkedList<>();
  25 + }
  26 +
  27 + static Logger log = LoggerFactory.getLogger(ScheduleModifyLogger.class);
  28 +
  29 + /**
  30 + * 待发调整
  31 + * opType 0: 双击调整、 1:待发调整、2:批量待发调整、3:间隔调整
  32 + */
  33 + public static void dftz(ScheduleRealInfo sch, String opType, String oldDfsj, String nowDfsj, String remarks) {
  34 + try {
  35 + if (oldDfsj.equals(nowDfsj))
  36 + return;
  37 +
  38 + SchEditInfo sei = SchEditInfo.getInstance(sch);
  39 + sei.setType(EditType.DFTZ);
  40 + sei.setType2(opType);
  41 + sei.setRemarks(remarks == null ? "" : remarks);
  42 +
  43 + //detail
  44 + JSONObject jobj = new JSONObject();
  45 + jobj.put("old", oldDfsj);
  46 + jobj.put("now", nowDfsj);
  47 +
  48 + sei.setJsonArray(jobj.toJSONString());
  49 +
  50 + put(sei);
  51 + } catch (Exception e) {
  52 + log.error("", e);
  53 + }
  54 + }
  55 +
  56 + /**
  57 + * 发车信息微调记录器
  58 + */
  59 + public static void fcxxwt(ScheduleRealInfo sch, String remarks, JSONArray jsonArray) {
  60 +
  61 + try {
  62 + if (jsonArray == null || jsonArray.size() == 0)
  63 + return;
  64 +
  65 + SchEditInfo sei = SchEditInfo.getInstance(sch);
  66 + sei.setRemarks(remarks);
  67 + sei.setJsonArray(jsonArray.toJSONString());
  68 + sei.setType(EditType.FCXXWT);
  69 +
  70 + put(sei);
  71 + } catch (Exception e) {
  72 + log.error("", e);
  73 + }
  74 + }
  75 +
  76 + /**
  77 + * 计划烂班
  78 + *
  79 + * @param remarks
  80 + */
  81 + public static void jhlb(ScheduleRealInfo sch, String remarks) {
  82 + try {
  83 + SchEditInfo sei = SchEditInfo.getInstance(sch);
  84 + sei.setRemarks(remarks);
  85 + sei.setType(EditType.JHLB);
  86 +
  87 + put(sei);
  88 + } catch (Exception e) {
  89 + log.error("", e);
  90 + }
  91 + }
  92 +
  93 + /**
  94 + * 实发调整
  95 + *
  96 + * @param sch
  97 + * @param nowSfsj
  98 + * @param remarks
  99 + */
  100 + public static void sftz(ScheduleRealInfo sch, String nowSfsj, String remarks) {
  101 + try {
  102 + SchEditInfo sei = SchEditInfo.getInstance(sch);
  103 + sei.setRemarks(remarks);
  104 + sei.setType(EditType.SFTZ);
  105 + //detail
  106 + JSONObject jobj = new JSONObject();
  107 + jobj.put("old", sch.getFcsjActual());
  108 + jobj.put("now", nowSfsj);
  109 +
  110 + sei.setJsonArray(jobj.toJSONString());
  111 + put(sei);
  112 + } catch (Exception e) {
  113 + log.error("", e);
  114 + }
  115 + }
  116 +
  117 + /**
  118 + * 撤销烂班
  119 + *
  120 + * @param sch
  121 + */
  122 + public static void cxlb(ScheduleRealInfo sch) {
  123 + try {
  124 + SchEditInfo sei = SchEditInfo.getInstance(sch);
  125 + sei.setType(EditType.CXLB);
  126 +
  127 + put(sei);
  128 + } catch (Exception e) {
  129 + log.error("", e);
  130 + }
  131 + }
  132 +
  133 + /**
  134 + * 撤销执行
  135 + *
  136 + * @param sch
  137 + */
  138 + public static void cxzx(ScheduleRealInfo sch) {
  139 + try {
  140 + SchEditInfo sei = SchEditInfo.getInstance(sch);
  141 + sei.setType(EditType.CXZX);
  142 +
  143 + //detail
  144 + JSONObject obj = new JSONObject();
  145 + if (StringUtils.isNotEmpty(sch.getFcsjActual()))
  146 + obj.put("old_sfsj", sch.getFcsjActual());
  147 +
  148 + if (StringUtils.isNotEmpty(sch.getZdsjActual()))
  149 + obj.put("old_sdsj", sch.getZdsjActual());
  150 +
  151 + sei.setJsonArray(obj.toJSONString());
  152 + put(sei);
  153 + } catch (Exception e) {
  154 + log.error("", e);
  155 + }
  156 + }
  157 +
  158 + /**
  159 + * 撤销实发
  160 + *
  161 + * @param sch
  162 + */
  163 + public static void cxsf(ScheduleRealInfo sch) {
  164 + try {
  165 + SchEditInfo sei = SchEditInfo.getInstance(sch);
  166 + sei.setType(EditType.CXSF);
  167 +
  168 + //detail
  169 + JSONObject obj = new JSONObject();
  170 + obj.put("old_sfsj", sch.getFcsjActual());
  171 +
  172 + sei.setJsonArray(obj.toJSONString());
  173 + put(sei);
  174 + } catch (Exception e) {
  175 + log.error("", e);
  176 + }
  177 + }
  178 +
  179 + /**
  180 + * 调整人车
  181 + *
  182 + * @param sch
  183 + * @param cpc
  184 + */
  185 + public static void tzrc(ScheduleRealInfo sch, ChangePersonCar cpc) {
  186 + try {
  187 + String newNbbm = cpc.getClZbh();
  188 + String newJsy = cpc.getJsy();
  189 + String newSpy = cpc.getSpy();
  190 + //String oldJsy = sch.getjGh() + "/" + sch.getjName();
  191 +
  192 + if (newNbbm == null && newJsy == null && newSpy==null)
  193 + return;
  194 + /*if (newNbbm != null && newJsy != null
  195 + && newNbbm.equals(sch.getClZbh()) && newJsy.equals(oldJsy))
  196 + return;*/
  197 +
  198 +
  199 + SchEditInfo sei = SchEditInfo.getInstance(sch);
  200 + sei.setType(EditType.TZRC);
  201 +
  202 + //detail
  203 + JSONObject jobj = new JSONObject();
  204 + if (StringUtils.isNotEmpty(newNbbm) && !newNbbm.equals(sch.getClZbh())) {
  205 + jobj.put("old_nbbm", sch.getClZbh());
  206 + jobj.put("now_nbbm", newNbbm);
  207 + }
  208 +
  209 + String oldJsy = sch.getjGh() + "/" + sch.getjName();
  210 + if (StringUtils.isNotEmpty(newJsy) && !newJsy.equals(oldJsy)) {
  211 + jobj.put("old_jsy", oldJsy);
  212 + jobj.put("now_jsy", newJsy);
  213 + }
  214 +
  215 + String oldSpy = sch.getsGh() + "/" + sch.getsName();
  216 + if (StringUtils.isNotEmpty(newSpy) && !newSpy.equals(oldSpy)) {
  217 + jobj.put("old_spy", oldSpy);
  218 + jobj.put("now_spy", cpc.getSpy());
  219 + }
  220 +
  221 + sei.setJsonArray(jobj.toJSONString());
  222 + put(sei);
  223 + } catch (Exception e) {
  224 + log.error("", e);
  225 + }
  226 + }
  227 +
  228 + public static void put(SchEditInfo sei) {
  229 + list.add(sei);
  230 + }
  231 +}
... ...
src/main/java/com/bsth/data/schedule/edit_logs/SeiPstThread.java
1   -package com.bsth.data.schedule.edit_logs;
2   -
3   -import com.bsth.data.schedule.edit_logs.entity.SchEditInfo;
4   -import com.bsth.data.schedule.edit_logs.repository.EditInfoRepository;
5   -import org.slf4j.Logger;
6   -import org.slf4j.LoggerFactory;
7   -import org.springframework.beans.factory.annotation.Autowired;
8   -import org.springframework.stereotype.Component;
9   -
10   -import java.util.ArrayList;
11   -import java.util.LinkedList;
12   -import java.util.List;
13   -
14   -/**
15   - * 班次修正日志入库
16   - * Created by panzhao on 2017/5/19.
17   - */
18   -@Component
19   -public class SeiPstThread extends Thread{
20   -
21   - @Autowired
22   - EditInfoRepository repository;
23   -
24   - Logger log = LoggerFactory.getLogger(this.getClass());
25   -
26   - @Override
27   - public void run() {
28   - try{
29   - List<SchEditInfo> pstList = new ArrayList<>();
30   - LinkedList<SchEditInfo> list = ScheduleModifyLogger.list;
31   - SchEditInfo sei;
32   - for(int i = 0; i < 1000; i ++){
33   - sei = list.poll();
34   - if(sei == null)
35   - break;
36   - else{
37   - //repository.save(sei);
38   - pstList.add(sei);
39   - }
40   - }
41   -
42   - repository.save(pstList);
43   - }catch (Exception e){
44   - log.error("", e);
45   - }
46   - }
  1 +package com.bsth.data.schedule.edit_logs;
  2 +
  3 +import com.bsth.data.schedule.edit_logs.entity.SchEditInfo;
  4 +import com.bsth.data.schedule.edit_logs.repository.EditInfoRepository;
  5 +import org.slf4j.Logger;
  6 +import org.slf4j.LoggerFactory;
  7 +import org.springframework.beans.factory.annotation.Autowired;
  8 +import org.springframework.stereotype.Component;
  9 +
  10 +import java.util.ArrayList;
  11 +import java.util.LinkedList;
  12 +import java.util.List;
  13 +
  14 +/**
  15 + * 班次修正日志入库
  16 + * Created by panzhao on 2017/5/19.
  17 + */
  18 +@Component
  19 +public class SeiPstThread extends Thread{
  20 +
  21 + @Autowired
  22 + EditInfoRepository repository;
  23 +
  24 + Logger log = LoggerFactory.getLogger(this.getClass());
  25 +
  26 + @Override
  27 + public void run() {
  28 + try{
  29 + List<SchEditInfo> pstList = new ArrayList<>();
  30 + LinkedList<SchEditInfo> list = ScheduleModifyLogger.list;
  31 + SchEditInfo sei;
  32 + for(int i = 0; i < 1000; i ++){
  33 + sei = list.poll();
  34 + if(sei == null)
  35 + break;
  36 + else{
  37 + //repository.save(sei);
  38 + pstList.add(sei);
  39 + }
  40 + }
  41 +
  42 + repository.save(pstList);
  43 + }catch (Exception e){
  44 + log.error("", e);
  45 + }
  46 + }
47 47 }
48 48 \ No newline at end of file
... ...
src/main/java/com/bsth/data/schedule/edit_logs/entity/EditType.java
1   -package com.bsth.data.schedule.edit_logs.entity;
2   -
3   -/**
4   - * Created by panzhao on 2017/5/18.
5   - */
6   -public enum EditType {
7   -
8   - DFTZ,SFTZ,FCXXWT,TZRC,LPDD,ZRW,JHLB,CXLB, CXSF, CXZX
  1 +package com.bsth.data.schedule.edit_logs.entity;
  2 +
  3 +/**
  4 + * Created by panzhao on 2017/5/18.
  5 + */
  6 +public enum EditType {
  7 +
  8 + DFTZ,SFTZ,FCXXWT,TZRC,LPDD,ZRW,JHLB,CXLB, CXSF, CXZX
9 9 }
10 10 \ No newline at end of file
... ...
src/main/java/com/bsth/data/schedule/edit_logs/entity/SchEditInfo.java
1   -package com.bsth.data.schedule.edit_logs.entity;
2   -
3   -import com.bsth.entity.realcontrol.ScheduleRealInfo;
4   -import com.bsth.entity.sys.SysUser;
5   -import com.bsth.security.util.SecurityUtils;
6   -import org.joda.time.format.DateTimeFormat;
7   -import org.joda.time.format.DateTimeFormatter;
8   -
9   -import javax.persistence.*;
10   -
11   -/**
12   - * Created by panzhao on 2017/5/18.
13   - */
14   -@Entity
15   -@Table(name = "logger_sch_modify")
16   -public class SchEditInfo {
17   -
18   - @Id
19   - @GeneratedValue
20   - private long id;
21   - /**
22   - * 日期 yyyy-MM-dd
23   - */
24   - private String rq;
25   -
26   - /**
27   - * 时间 HH:mm
28   - */
29   - private String timeStr;
30   -
31   - /** 时间戳 */
32   - private long ts;
33   -
34   - private String lineCode;
35   -
36   - private String gsbm;
37   -
38   - private String fgsbm;
39   -
40   - /**
41   - * 班次ID
42   - */
43   - private long schId;
44   -
45   - /**
46   - * 类型
47   - */
48   - @Enumerated(EnumType.STRING)
49   - private EditType type;
50   -
51   - private String type2;
52   - /**
53   - * 操作人 @system 系统/用户名
54   - */
55   - private String user;
56   -
57   - /**
58   - * 操作明细
59   - */
60   - @Column(length = 2000)
61   - private String jsonArray;
62   -
63   - private String remarks;
64   -
65   - public String getRq() {
66   - return rq;
67   - }
68   -
69   - public void setRq(String rq) {
70   - this.rq = rq;
71   - }
72   -
73   - public String getTimeStr() {
74   - return timeStr;
75   - }
76   -
77   - public void setTimeStr(String timeStr) {
78   - this.timeStr = timeStr;
79   - }
80   -
81   - public long getSchId() {
82   - return schId;
83   - }
84   -
85   - public void setSchId(long schId) {
86   - this.schId = schId;
87   - }
88   -
89   - public EditType getType() {
90   - return type;
91   - }
92   -
93   - public void setType(EditType type) {
94   - this.type = type;
95   - }
96   -
97   - public String getUser() {
98   - return user;
99   - }
100   -
101   - public void setUser(String user) {
102   - this.user = user;
103   - }
104   -
105   - public long getId() {
106   - return id;
107   - }
108   -
109   - public void setId(long id) {
110   - this.id = id;
111   - }
112   -
113   - public String getJsonArray() {
114   - return jsonArray;
115   - }
116   -
117   - public void setJsonArray(String jsonArray) {
118   - this.jsonArray = jsonArray;
119   - }
120   -
121   - public String getType2() {
122   - return type2;
123   - }
124   -
125   - public void setType2(String type2) {
126   - this.type2 = type2;
127   - }
128   -
129   - public String getRemarks() {
130   - return remarks;
131   - }
132   -
133   - public void setRemarks(String remarks) {
134   - this.remarks = remarks;
135   - }
136   -
137   -
138   - @Transient
139   - private static DateTimeFormatter fmtHHmm = DateTimeFormat.forPattern("HH:mm");
140   - /* @Transient
141   - private static DateTimeFormatter fmtyyyyMMdd = DateTimeFormat.forPattern("yyyy-MM-dd");*/
142   - public static SchEditInfo getInstance(ScheduleRealInfo sch){
143   - SchEditInfo sei = new SchEditInfo();
144   - long t = System.currentTimeMillis();
145   -
146   - sei.setTs(t);
147   - sei.setTimeStr(fmtHHmm.print(t));
148   -
149   - SysUser user = SecurityUtils.getCurrentUser();
150   - if(user != null)
151   - sei.setUser(user.getUserName());
152   -
153   - if(sch != null){
154   - sei.setRq(sch.getScheduleDateStr());
155   - sei.setSchId(sch.getId());
156   - sei.setLineCode(sch.getXlBm());
157   - sei.setGsbm(sch.getGsBm());
158   - sei.setFgsbm(sch.getFgsBm());
159   - }
160   - return sei;
161   - }
162   -
163   - public String getLineCode() {
164   - return lineCode;
165   - }
166   -
167   - public void setLineCode(String lineCode) {
168   - this.lineCode = lineCode;
169   - }
170   -
171   - public String getGsbm() {
172   - return gsbm;
173   - }
174   -
175   - public void setGsbm(String gsbm) {
176   - this.gsbm = gsbm;
177   - }
178   -
179   - public String getFgsbm() {
180   - return fgsbm;
181   - }
182   -
183   - public void setFgsbm(String fgsbm) {
184   - this.fgsbm = fgsbm;
185   - }
186   -
187   - public long getTs() {
188   - return ts;
189   - }
190   -
191   - public void setTs(long ts) {
192   - this.ts = ts;
193   - }
  1 +package com.bsth.data.schedule.edit_logs.entity;
  2 +
  3 +import com.bsth.entity.realcontrol.ScheduleRealInfo;
  4 +import com.bsth.entity.sys.SysUser;
  5 +import com.bsth.security.util.SecurityUtils;
  6 +import org.joda.time.format.DateTimeFormat;
  7 +import org.joda.time.format.DateTimeFormatter;
  8 +
  9 +import javax.persistence.*;
  10 +
  11 +/**
  12 + * Created by panzhao on 2017/5/18.
  13 + */
  14 +@Entity
  15 +@Table(name = "logger_sch_modify")
  16 +public class SchEditInfo {
  17 +
  18 + @Id
  19 + @GeneratedValue
  20 + private long id;
  21 + /**
  22 + * 日期 yyyy-MM-dd
  23 + */
  24 + private String rq;
  25 +
  26 + /**
  27 + * 时间 HH:mm
  28 + */
  29 + private String timeStr;
  30 +
  31 + /** 时间戳 */
  32 + private long ts;
  33 +
  34 + private String lineCode;
  35 +
  36 + private String gsbm;
  37 +
  38 + private String fgsbm;
  39 +
  40 + /**
  41 + * 班次ID
  42 + */
  43 + private long schId;
  44 +
  45 + /**
  46 + * 类型
  47 + */
  48 + @Enumerated(EnumType.STRING)
  49 + private EditType type;
  50 +
  51 + private String type2;
  52 + /**
  53 + * 操作人 @system 系统/用户名
  54 + */
  55 + private String user;
  56 +
  57 + /**
  58 + * 操作明细
  59 + */
  60 + @Column(length = 2000)
  61 + private String jsonArray;
  62 +
  63 + private String remarks;
  64 +
  65 + public String getRq() {
  66 + return rq;
  67 + }
  68 +
  69 + public void setRq(String rq) {
  70 + this.rq = rq;
  71 + }
  72 +
  73 + public String getTimeStr() {
  74 + return timeStr;
  75 + }
  76 +
  77 + public void setTimeStr(String timeStr) {
  78 + this.timeStr = timeStr;
  79 + }
  80 +
  81 + public long getSchId() {
  82 + return schId;
  83 + }
  84 +
  85 + public void setSchId(long schId) {
  86 + this.schId = schId;
  87 + }
  88 +
  89 + public EditType getType() {
  90 + return type;
  91 + }
  92 +
  93 + public void setType(EditType type) {
  94 + this.type = type;
  95 + }
  96 +
  97 + public String getUser() {
  98 + return user;
  99 + }
  100 +
  101 + public void setUser(String user) {
  102 + this.user = user;
  103 + }
  104 +
  105 + public long getId() {
  106 + return id;
  107 + }
  108 +
  109 + public void setId(long id) {
  110 + this.id = id;
  111 + }
  112 +
  113 + public String getJsonArray() {
  114 + return jsonArray;
  115 + }
  116 +
  117 + public void setJsonArray(String jsonArray) {
  118 + this.jsonArray = jsonArray;
  119 + }
  120 +
  121 + public String getType2() {
  122 + return type2;
  123 + }
  124 +
  125 + public void setType2(String type2) {
  126 + this.type2 = type2;
  127 + }
  128 +
  129 + public String getRemarks() {
  130 + return remarks;
  131 + }
  132 +
  133 + public void setRemarks(String remarks) {
  134 + this.remarks = remarks;
  135 + }
  136 +
  137 +
  138 + @Transient
  139 + private static DateTimeFormatter fmtHHmm = DateTimeFormat.forPattern("HH:mm");
  140 + /* @Transient
  141 + private static DateTimeFormatter fmtyyyyMMdd = DateTimeFormat.forPattern("yyyy-MM-dd");*/
  142 + public static SchEditInfo getInstance(ScheduleRealInfo sch){
  143 + SchEditInfo sei = new SchEditInfo();
  144 + long t = System.currentTimeMillis();
  145 +
  146 + sei.setTs(t);
  147 + sei.setTimeStr(fmtHHmm.print(t));
  148 +
  149 + SysUser user = SecurityUtils.getCurrentUser();
  150 + if(user != null)
  151 + sei.setUser(user.getUserName());
  152 +
  153 + if(sch != null){
  154 + sei.setRq(sch.getScheduleDateStr());
  155 + sei.setSchId(sch.getId());
  156 + sei.setLineCode(sch.getXlBm());
  157 + sei.setGsbm(sch.getGsBm());
  158 + sei.setFgsbm(sch.getFgsBm());
  159 + }
  160 + return sei;
  161 + }
  162 +
  163 + public String getLineCode() {
  164 + return lineCode;
  165 + }
  166 +
  167 + public void setLineCode(String lineCode) {
  168 + this.lineCode = lineCode;
  169 + }
  170 +
  171 + public String getGsbm() {
  172 + return gsbm;
  173 + }
  174 +
  175 + public void setGsbm(String gsbm) {
  176 + this.gsbm = gsbm;
  177 + }
  178 +
  179 + public String getFgsbm() {
  180 + return fgsbm;
  181 + }
  182 +
  183 + public void setFgsbm(String fgsbm) {
  184 + this.fgsbm = fgsbm;
  185 + }
  186 +
  187 + public long getTs() {
  188 + return ts;
  189 + }
  190 +
  191 + public void setTs(long ts) {
  192 + this.ts = ts;
  193 + }
194 194 }
195 195 \ No newline at end of file
... ...
src/main/java/com/bsth/data/schedule/edit_logs/service/SchEditInfoService.java
1   -package com.bsth.data.schedule.edit_logs.service;
2   -
3   -import com.bsth.data.schedule.edit_logs.entity.SchEditInfo;
4   -import com.bsth.service.BaseService;
5   -
6   -import java.util.Map;
7   -
8   -/**
9   - * Created by panzhao on 2017/5/22.
10   - */
11   -public interface SchEditInfoService extends BaseService<SchEditInfo, Long> {
12   -
13   - Map<String, Object> _list(String rq, String lineCode, Map<String, String> map);
14   -}
  1 +package com.bsth.data.schedule.edit_logs.service;
  2 +
  3 +import com.bsth.data.schedule.edit_logs.entity.SchEditInfo;
  4 +import com.bsth.service.BaseService;
  5 +
  6 +import java.util.Map;
  7 +
  8 +/**
  9 + * Created by panzhao on 2017/5/22.
  10 + */
  11 +public interface SchEditInfoService extends BaseService<SchEditInfo, Long> {
  12 +
  13 + Map<String, Object> _list(String rq, String lineCode, Map<String, String> map);
  14 +}
... ...
src/main/java/com/bsth/data/schedule/edit_logs/service/SchEditInfoServiceImpl.java
1   -package com.bsth.data.schedule.edit_logs.service;
2   -
3   -import com.bsth.common.ResponseCode;
4   -import com.bsth.data.schedule.edit_logs.entity.SchEditInfo;
5   -import com.bsth.data.schedule.edit_logs.service.dto.SchEditInfoDto;
6   -import com.bsth.service.impl.BaseServiceImpl;
7   -import com.bsth.util.BatchSaveUtils;
8   -import org.apache.commons.lang3.StringUtils;
9   -import org.slf4j.Logger;
10   -import org.slf4j.LoggerFactory;
11   -import org.springframework.beans.factory.annotation.Autowired;
12   -import org.springframework.jdbc.core.BeanPropertyRowMapper;
13   -import org.springframework.jdbc.core.JdbcTemplate;
14   -import org.springframework.stereotype.Service;
15   -
16   -import java.util.HashMap;
17   -import java.util.List;
18   -import java.util.Map;
19   -import java.util.Set;
20   -
21   -/**
22   - * Created by panzhao on 2017/5/22.
23   - */
24   -@Service
25   -public class SchEditInfoServiceImpl extends BaseServiceImpl<SchEditInfo, Long> implements SchEditInfoService{
26   -
27   - Logger log = LoggerFactory.getLogger(this.getClass());
28   -
29   - @Autowired
30   - JdbcTemplate jdbcTemplate;
31   -
32   - public Map<String, Object> _list(String rq, String lineCode, Map<String, String> map) {
33   -
34   - Map<String, Object> rs = new HashMap();
35   - try {
36   - //拼接除rq、lineCode 外的其他where 条件
37   - map.remove("rq");
38   - map.remove("lineCode");
39   - String cont = "", v;
40   - Set<String> ks = map.keySet();
41   - for(String k : ks){
42   - v =map.get(k);
43   - if(StringUtils.isNotEmpty(v))
44   - cont += " and t2." + BatchSaveUtils.propertyToField(k) + "='" + v + "'";
45   - }
46   - String sql = "select t1.*, t2.fcsj,t2.lp_name,t2.cl_zbh,t2.j_gh,t2.j_name,t2.xl_dir,t2.real_exec_date from (select * from logger_sch_modify where rq=? and line_code=? ) t1 INNER JOIN bsth_c_s_sp_info_real t2 on t1.sch_id=t2.id where 1=1 " + cont;
47   -
48   - List<SchEditInfoDto> list = jdbcTemplate.query(sql, new BeanPropertyRowMapper(SchEditInfoDto.class), rq, lineCode);
49   -
50   - rs.put("status", ResponseCode.SUCCESS);
51   - rs.put("list", list);
52   - }catch (Exception e){
53   - log.error("", e);
54   - rs.put("status", ResponseCode.ERROR);
55   - rs.put("msg", e.getMessage());
56   - }
57   - return rs;
58   - }
59   -}
  1 +package com.bsth.data.schedule.edit_logs.service;
  2 +
  3 +import com.bsth.common.ResponseCode;
  4 +import com.bsth.data.schedule.edit_logs.entity.SchEditInfo;
  5 +import com.bsth.data.schedule.edit_logs.service.dto.SchEditInfoDto;
  6 +import com.bsth.service.impl.BaseServiceImpl;
  7 +import com.bsth.util.BatchSaveUtils;
  8 +import org.apache.commons.lang3.StringUtils;
  9 +import org.slf4j.Logger;
  10 +import org.slf4j.LoggerFactory;
  11 +import org.springframework.beans.factory.annotation.Autowired;
  12 +import org.springframework.jdbc.core.BeanPropertyRowMapper;
  13 +import org.springframework.jdbc.core.JdbcTemplate;
  14 +import org.springframework.stereotype.Service;
  15 +
  16 +import java.util.HashMap;
  17 +import java.util.List;
  18 +import java.util.Map;
  19 +import java.util.Set;
  20 +
  21 +/**
  22 + * Created by panzhao on 2017/5/22.
  23 + */
  24 +@Service
  25 +public class SchEditInfoServiceImpl extends BaseServiceImpl<SchEditInfo, Long> implements SchEditInfoService{
  26 +
  27 + Logger log = LoggerFactory.getLogger(this.getClass());
  28 +
  29 + @Autowired
  30 + JdbcTemplate jdbcTemplate;
  31 +
  32 + public Map<String, Object> _list(String rq, String lineCode, Map<String, String> map) {
  33 +
  34 + Map<String, Object> rs = new HashMap();
  35 + try {
  36 + //拼接除rq、lineCode 外的其他where 条件
  37 + map.remove("rq");
  38 + map.remove("lineCode");
  39 + String cont = "", v;
  40 + Set<String> ks = map.keySet();
  41 + for(String k : ks){
  42 + v =map.get(k);
  43 + if(StringUtils.isNotEmpty(v))
  44 + cont += " and t2." + BatchSaveUtils.propertyToField(k) + "='" + v + "'";
  45 + }
  46 + String sql = "select t1.*, t2.fcsj,t2.lp_name,t2.cl_zbh,t2.j_gh,t2.j_name,t2.xl_dir,t2.real_exec_date from (select * from logger_sch_modify where rq=? and line_code=? ) t1 INNER JOIN bsth_c_s_sp_info_real t2 on t1.sch_id=t2.id where 1=1 " + cont;
  47 +
  48 + List<SchEditInfoDto> list = jdbcTemplate.query(sql, new BeanPropertyRowMapper(SchEditInfoDto.class), rq, lineCode);
  49 +
  50 + rs.put("status", ResponseCode.SUCCESS);
  51 + rs.put("list", list);
  52 + }catch (Exception e){
  53 + log.error("", e);
  54 + rs.put("status", ResponseCode.ERROR);
  55 + rs.put("msg", e.getMessage());
  56 + }
  57 + return rs;
  58 + }
  59 +}
... ...
src/main/java/com/bsth/data/schedule/edit_logs/service/dto/SchEditInfoDto.java
1   -package com.bsth.data.schedule.edit_logs.service.dto;
2   -
3   -/**
4   - * Created by panzhao on 2017/5/22.
5   - */
6   -public class SchEditInfoDto {
7   -
8   - private long id;
9   - /*** 日期 yyyy-MM-dd*/
10   - private String rq;
11   -
12   - /*** 时间 HH:mm*/
13   - private String timeStr;
14   -
15   - private String lineCode;
16   -
17   - private String gsbm;
18   -
19   - private String fgsbm;
20   -
21   - /*** 班次ID*/
22   - private long schId;
23   -
24   - /*** 类型*/
25   - private String type;
26   -
27   - private String type2;
28   - /*** 操作人 @system 系统/用户名*/
29   - private String user;
30   -
31   - /*** 操作明细*/
32   - private String jsonArray;
33   -
34   - private String remarks;
35   -
36   - /** 路牌 */
37   - private String lpName;
38   -
39   - /** 驾驶员工号 */
40   - private String jGh;
41   -
42   - /** 驾驶员姓名 */
43   - private String jName;
44   -
45   - /** 车辆自编号 */
46   - private String clZbh;
47   -
48   - /** 计发时间 */
49   - private String fcsj;
50   -
51   - /** 上下行 */
52   - private int xlDir;
53   -
54   - /** 实际执行日期 */
55   - private String realExecDate;
56   -
57   - public long getId() {
58   - return id;
59   - }
60   -
61   - public void setId(long id) {
62   - this.id = id;
63   - }
64   -
65   - public String getRq() {
66   - return rq;
67   - }
68   -
69   - public void setRq(String rq) {
70   - this.rq = rq;
71   - }
72   -
73   - public String getTimeStr() {
74   - return timeStr;
75   - }
76   -
77   - public void setTimeStr(String timeStr) {
78   - this.timeStr = timeStr;
79   - }
80   -
81   - public String getLineCode() {
82   - return lineCode;
83   - }
84   -
85   - public void setLineCode(String lineCode) {
86   - this.lineCode = lineCode;
87   - }
88   -
89   - public String getGsbm() {
90   - return gsbm;
91   - }
92   -
93   - public void setGsbm(String gsbm) {
94   - this.gsbm = gsbm;
95   - }
96   -
97   - public String getFgsbm() {
98   - return fgsbm;
99   - }
100   -
101   - public void setFgsbm(String fgsbm) {
102   - this.fgsbm = fgsbm;
103   - }
104   -
105   - public long getSchId() {
106   - return schId;
107   - }
108   -
109   - public void setSchId(long schId) {
110   - this.schId = schId;
111   - }
112   -
113   - public String getType2() {
114   - return type2;
115   - }
116   -
117   - public void setType2(String type2) {
118   - this.type2 = type2;
119   - }
120   -
121   - public String getUser() {
122   - return user;
123   - }
124   -
125   - public void setUser(String user) {
126   - this.user = user;
127   - }
128   -
129   - public String getJsonArray() {
130   - return jsonArray;
131   - }
132   -
133   - public void setJsonArray(String jsonArray) {
134   - this.jsonArray = jsonArray;
135   - }
136   -
137   - public String getRemarks() {
138   - return remarks;
139   - }
140   -
141   - public void setRemarks(String remarks) {
142   - this.remarks = remarks;
143   - }
144   -
145   - public String getLpName() {
146   - return lpName;
147   - }
148   -
149   - public void setLpName(String lpName) {
150   - this.lpName = lpName;
151   - }
152   -
153   - public String getjGh() {
154   - return jGh;
155   - }
156   -
157   - public void setjGh(String jGh) {
158   - this.jGh = jGh;
159   - }
160   -
161   - public String getjName() {
162   - return jName;
163   - }
164   -
165   - public void setjName(String jName) {
166   - this.jName = jName;
167   - }
168   -
169   -
170   - public String getRealExecDate() {
171   - return realExecDate;
172   - }
173   -
174   - public void setRealExecDate(String realExecDate) {
175   - this.realExecDate = realExecDate;
176   - }
177   -
178   - public String getType() {
179   - return type;
180   - }
181   -
182   - public void setType(String type) {
183   - this.type = type;
184   - }
185   -
186   - public String getClZbh() {
187   - return clZbh;
188   - }
189   -
190   - public void setClZbh(String clZbh) {
191   - this.clZbh = clZbh;
192   - }
193   -
194   - public String getFcsj() {
195   - return fcsj;
196   - }
197   -
198   - public void setFcsj(String fcsj) {
199   - this.fcsj = fcsj;
200   - }
201   -
202   - public int getXlDir() {
203   - return xlDir;
204   - }
205   -
206   - public void setXlDir(int xlDir) {
207   - this.xlDir = xlDir;
208   - }
209   -}
  1 +package com.bsth.data.schedule.edit_logs.service.dto;
  2 +
  3 +/**
  4 + * Created by panzhao on 2017/5/22.
  5 + */
  6 +public class SchEditInfoDto {
  7 +
  8 + private long id;
  9 + /*** 日期 yyyy-MM-dd*/
  10 + private String rq;
  11 +
  12 + /*** 时间 HH:mm*/
  13 + private String timeStr;
  14 +
  15 + private String lineCode;
  16 +
  17 + private String gsbm;
  18 +
  19 + private String fgsbm;
  20 +
  21 + /*** 班次ID*/
  22 + private long schId;
  23 +
  24 + /*** 类型*/
  25 + private String type;
  26 +
  27 + private String type2;
  28 + /*** 操作人 @system 系统/用户名*/
  29 + private String user;
  30 +
  31 + /*** 操作明细*/
  32 + private String jsonArray;
  33 +
  34 + private String remarks;
  35 +
  36 + /** 路牌 */
  37 + private String lpName;
  38 +
  39 + /** 驾驶员工号 */
  40 + private String jGh;
  41 +
  42 + /** 驾驶员姓名 */
  43 + private String jName;
  44 +
  45 + /** 车辆自编号 */
  46 + private String clZbh;
  47 +
  48 + /** 计发时间 */
  49 + private String fcsj;
  50 +
  51 + /** 上下行 */
  52 + private int xlDir;
  53 +
  54 + /** 实际执行日期 */
  55 + private String realExecDate;
  56 +
  57 + public long getId() {
  58 + return id;
  59 + }
  60 +
  61 + public void setId(long id) {
  62 + this.id = id;
  63 + }
  64 +
  65 + public String getRq() {
  66 + return rq;
  67 + }
  68 +
  69 + public void setRq(String rq) {
  70 + this.rq = rq;
  71 + }
  72 +
  73 + public String getTimeStr() {
  74 + return timeStr;
  75 + }
  76 +
  77 + public void setTimeStr(String timeStr) {
  78 + this.timeStr = timeStr;
  79 + }
  80 +
  81 + public String getLineCode() {
  82 + return lineCode;
  83 + }
  84 +
  85 + public void setLineCode(String lineCode) {
  86 + this.lineCode = lineCode;
  87 + }
  88 +
  89 + public String getGsbm() {
  90 + return gsbm;
  91 + }
  92 +
  93 + public void setGsbm(String gsbm) {
  94 + this.gsbm = gsbm;
  95 + }
  96 +
  97 + public String getFgsbm() {
  98 + return fgsbm;
  99 + }
  100 +
  101 + public void setFgsbm(String fgsbm) {
  102 + this.fgsbm = fgsbm;
  103 + }
  104 +
  105 + public long getSchId() {
  106 + return schId;
  107 + }
  108 +
  109 + public void setSchId(long schId) {
  110 + this.schId = schId;
  111 + }
  112 +
  113 + public String getType2() {
  114 + return type2;
  115 + }
  116 +
  117 + public void setType2(String type2) {
  118 + this.type2 = type2;
  119 + }
  120 +
  121 + public String getUser() {
  122 + return user;
  123 + }
  124 +
  125 + public void setUser(String user) {
  126 + this.user = user;
  127 + }
  128 +
  129 + public String getJsonArray() {
  130 + return jsonArray;
  131 + }
  132 +
  133 + public void setJsonArray(String jsonArray) {
  134 + this.jsonArray = jsonArray;
  135 + }
  136 +
  137 + public String getRemarks() {
  138 + return remarks;
  139 + }
  140 +
  141 + public void setRemarks(String remarks) {
  142 + this.remarks = remarks;
  143 + }
  144 +
  145 + public String getLpName() {
  146 + return lpName;
  147 + }
  148 +
  149 + public void setLpName(String lpName) {
  150 + this.lpName = lpName;
  151 + }
  152 +
  153 + public String getjGh() {
  154 + return jGh;
  155 + }
  156 +
  157 + public void setjGh(String jGh) {
  158 + this.jGh = jGh;
  159 + }
  160 +
  161 + public String getjName() {
  162 + return jName;
  163 + }
  164 +
  165 + public void setjName(String jName) {
  166 + this.jName = jName;
  167 + }
  168 +
  169 +
  170 + public String getRealExecDate() {
  171 + return realExecDate;
  172 + }
  173 +
  174 + public void setRealExecDate(String realExecDate) {
  175 + this.realExecDate = realExecDate;
  176 + }
  177 +
  178 + public String getType() {
  179 + return type;
  180 + }
  181 +
  182 + public void setType(String type) {
  183 + this.type = type;
  184 + }
  185 +
  186 + public String getClZbh() {
  187 + return clZbh;
  188 + }
  189 +
  190 + public void setClZbh(String clZbh) {
  191 + this.clZbh = clZbh;
  192 + }
  193 +
  194 + public String getFcsj() {
  195 + return fcsj;
  196 + }
  197 +
  198 + public void setFcsj(String fcsj) {
  199 + this.fcsj = fcsj;
  200 + }
  201 +
  202 + public int getXlDir() {
  203 + return xlDir;
  204 + }
  205 +
  206 + public void setXlDir(int xlDir) {
  207 + this.xlDir = xlDir;
  208 + }
  209 +}
... ...
src/main/java/com/bsth/data/schedule/thread/CalcOilThread.java
... ... @@ -3,6 +3,8 @@ package com.bsth.data.schedule.thread;
3 3 import com.bsth.service.oil.DlbService;
4 4 import com.bsth.data.safe_driv.SafeDrivCenter;
5 5 import com.bsth.service.oil.YlbService;
  6 +import com.bsth.service.report.SheetService;
  7 +
6 8 import org.slf4j.Logger;
7 9 import org.slf4j.LoggerFactory;
8 10 import org.springframework.beans.factory.annotation.Autowired;
... ... @@ -19,6 +21,9 @@ public class CalcOilThread extends Thread{
19 21 YlbService ylbService;
20 22 @Autowired
21 23 DlbService dlbService;
  24 +
  25 + @Autowired
  26 + SheetService sheetService;
22 27 Logger logger = LoggerFactory.getLogger(this.getClass());
23 28  
24 29 @Override
... ... @@ -28,7 +33,9 @@ public class CalcOilThread extends Thread{
28 33 ylbService.obtainDsq();
29 34 dlbService.obtainDsq();
30 35 logger.info("计算路单里程加注量结束!");
31   -
  36 + logger.info("开始计算班次准点率....");
  37 + sheetService.saveSheetList();
  38 + logger.info("计算班次准点率结束!");
32 39 //清除安全驾驶数据 先临时蹭这个线程
33 40 SafeDrivCenter.clear();
34 41 } catch(Exception e){
... ...
src/main/java/com/bsth/entity/sheet/Sheet.java 0 → 100644
  1 +package com.bsth.entity.sheet;
  2 +
  3 +import java.util.Date;
  4 +
  5 +import javax.persistence.Entity;
  6 +import javax.persistence.GeneratedValue;
  7 +import javax.persistence.Id;
  8 +import javax.persistence.Table;
  9 +import javax.persistence.Transient;
  10 +@Entity
  11 +@Table(name = "bsth_c_sheet")
  12 +public class Sheet {
  13 + @Id
  14 + @GeneratedValue
  15 + private Integer id;
  16 + private String gs;
  17 + private String fgs;
  18 + private String line;
  19 + private String date;
  20 + private String realDate;
  21 + private String jhsj;
  22 + private Long jhsjt;
  23 + private String sjsj;
  24 + private Long sjsjt;
  25 + private String xlDir;
  26 + private Date createDate;
  27 + private String zdname;
  28 +
  29 + @Transient
  30 + private String sfzd;
  31 +
  32 + public Integer getId() {
  33 + return id;
  34 + }
  35 + public void setId(Integer id) {
  36 + this.id = id;
  37 + }
  38 + public String getGs() {
  39 + return gs;
  40 + }
  41 + public void setGs(String gs) {
  42 + this.gs = gs;
  43 + }
  44 + public String getFgs() {
  45 + return fgs;
  46 + }
  47 + public void setFgs(String fgs) {
  48 + this.fgs = fgs;
  49 + }
  50 + public String getLine() {
  51 + return line;
  52 + }
  53 + public void setLine(String line) {
  54 + this.line = line;
  55 + }
  56 + public String getDate() {
  57 + return date;
  58 + }
  59 + public void setDate(String date) {
  60 + this.date = date;
  61 + }
  62 + public String getRealDate() {
  63 + return realDate;
  64 + }
  65 + public void setRealDate(String realDate) {
  66 + this.realDate = realDate;
  67 + }
  68 + public String getJhsj() {
  69 + return jhsj;
  70 + }
  71 + public void setJhsj(String jhsj) {
  72 + this.jhsj = jhsj;
  73 + }
  74 + public String getSjsj() {
  75 + return sjsj;
  76 + }
  77 + public void setSjsj(String sjsj) {
  78 + this.sjsj = sjsj;
  79 + }
  80 +
  81 + public Long getJhsjt() {
  82 + return jhsjt;
  83 + }
  84 + public void setJhsjt(Long jhsjt) {
  85 + this.jhsjt = jhsjt;
  86 + }
  87 + public Long getSjsjt() {
  88 + return sjsjt;
  89 + }
  90 + public void setSjsjt(Long sjsjt) {
  91 + this.sjsjt = sjsjt;
  92 + }
  93 + public String getXlDir() {
  94 + return xlDir;
  95 + }
  96 + public void setXlDir(String xlDir) {
  97 + this.xlDir = xlDir;
  98 + }
  99 + public Date getCreateDate() {
  100 + return createDate;
  101 + }
  102 + public void setCreateDate(Date createDate) {
  103 + this.createDate = createDate;
  104 + }
  105 +
  106 + public String getZdname() {
  107 + return zdname;
  108 + }
  109 + public void setZdname(String zdname) {
  110 + this.zdname = zdname;
  111 + }
  112 + public String getSfzd() {
  113 + return sfzd;
  114 + }
  115 + public void setSfzd(String sfzd) {
  116 + this.sfzd = sfzd;
  117 + }
  118 +
  119 +
  120 +
  121 +}
... ...
src/main/java/com/bsth/repository/sheet/SheetRepository.java 0 → 100644
  1 +package com.bsth.repository.sheet;
  2 +
  3 +import com.bsth.entity.sheet.Sheet;
  4 +import com.bsth.repository.BaseRepository;
  5 +import org.springframework.stereotype.Repository;
  6 +
  7 +/**
  8 + *
  9 + */
  10 +@Repository
  11 +public interface SheetRepository extends BaseRepository<Sheet, Integer>{
  12 +}
... ...
src/main/java/com/bsth/service/forms/impl/FormsServiceImpl.java
... ... @@ -28,10 +28,12 @@ import com.bsth.entity.mcy_forms.Singledata;
28 28 import com.bsth.entity.mcy_forms.Turnoutrate;
29 29 import com.bsth.entity.mcy_forms.Vehicleloading;
30 30 import com.bsth.entity.mcy_forms.Waybillday;
  31 +import com.bsth.entity.oil.Dlb;
31 32 import com.bsth.entity.oil.Ylb;
32 33 import com.bsth.entity.realcontrol.ScheduleRealInfo;
33 34 import com.bsth.entity.schedule.SchedulePlanInfo;
34 35 import com.bsth.repository.LineRepository;
  36 +import com.bsth.repository.oil.DlbRepository;
35 37 import com.bsth.repository.oil.YlbRepository;
36 38 import com.bsth.repository.realcontrol.ScheduleRealInfoRepository;
37 39 import com.bsth.data.BasicData;
... ... @@ -67,6 +69,9 @@ public class FormsServiceImpl implements FormsService {
67 69 YlbRepository ylbRepository;
68 70  
69 71 @Autowired
  72 + DlbRepository dlbRepository;
  73 +
  74 + @Autowired
70 75 LineRepository lineRepository;
71 76  
72 77  
... ... @@ -98,6 +103,7 @@ public class FormsServiceImpl implements FormsService {
98 103 });
99 104 List<ScheduleRealInfo> realList= scheduleRealInfoRepository.scheduleByDateAndLineTjrb(line, date);
100 105 List<Ylb> listYlb= ylbRepository.obtainYl(date, "", "", line, "", "xlbm");
  106 + List<Dlb> listDlb= dlbRepository.obtainDl(date, "", "", line, "", "xlbm");
101 107 double jzl=0.0,sh=0.0,yh=0.0;
102 108 for (int i = 0; i < list.size(); i++) {
103 109 Waybillday w=list.get(i);
... ... @@ -132,6 +138,14 @@ public class FormsServiceImpl implements FormsService {
132 138 }
133 139 }
134 140  
  141 + for (int j = 0; j < listDlb.size(); j++) {
  142 + Dlb d=listDlb.get(j);
  143 + if(w.getNbbm().equals(d.getNbbm()) && w.getJgh().equals(d.getJsy())){
  144 + jzl=Arith.add(jzl, d.getCdl());
  145 + sh=Arith.add(sh, d.getSh());
  146 + yh=Arith.add(yh, d.getHd());
  147 + }
  148 + }
135 149 w.setJzl(String.valueOf(jzl));
136 150 w.setYh(String.valueOf(yh));
137 151 w.setSh(String.valueOf(sh));
... ... @@ -1087,7 +1101,10 @@ public class FormsServiceImpl implements FormsService {
1087 1101  
1088 1102 @Override
1089 1103 public List<Daily> daily(Map<String, Object> map) {
1090   -
  1104 + String xlbm="";;
  1105 + if(map.get("line")!=null){
  1106 + xlbm=map.get("line").toString().trim();
  1107 + }
1091 1108 String gsbm="";
1092 1109 if(map.get("gsdmDaily")!=null){
1093 1110 gsbm=map.get("gsdmDaily").toString();
... ... @@ -1098,7 +1115,7 @@ public class FormsServiceImpl implements FormsService {
1098 1115 fgsbm=map.get("fgsdmDaily").toString();
1099 1116 }
1100 1117  
1101   - String sql="select t.schedule_date_str,"
  1118 + /*String sql="select t.schedule_date_str,"
1102 1119 + " t.cl_zbh,t.j_gh,t.j_name,x.yh from (select r.schedule_date_str,r.xl_bm,"
1103 1120 + " r.cl_zbh,r.j_gh,r.j_name from bsth_c_s_sp_info_real r WHERE "
1104 1121 + " r.xl_bm='" + map.get("line").toString() + "' "
... ... @@ -1112,7 +1129,20 @@ public class FormsServiceImpl implements FormsService {
1112 1129 + " and y.ssgsdm like '%"+gsbm+"%' "
1113 1130 + " and y.fgsdm like '%"+fgsbm+"%'"
1114 1131 + " ) x"
1115   - + " on t.cl_zbh = x.nbbm and t.j_gh=x.jsy";
  1132 + + " on t.cl_zbh = x.nbbm and t.j_gh=x.jsy";*/
  1133 +
  1134 + String sql="select r.schedule_date_str, "
  1135 + + " r.xl_bm,r.cl_zbh,r.j_gh,r.j_name,r.gs_bm,r.fgs_bm"
  1136 + + " from bsth_c_s_sp_info_real r where "
  1137 + + "r.schedule_date_str = '"+map.get("date").toString()+"'";
  1138 + if(xlbm.equals("")){
  1139 + sql +="and r.gs_bm='"+gsbm+"' "
  1140 + + " and r.fgs_bm='"+fgsbm+"'";
  1141 + }else{
  1142 + sql += " and r.xl_bm = '"+xlbm+"'";
  1143 + }
  1144 + sql += " group by r.schedule_date_str,"
  1145 + + " r.xl_bm,r.cl_zbh,r.j_gh,r.j_name,r.gs_bm,r.fgs_bm order by r.xl_bm,r.cl_zbh";
1116 1146  
1117 1147 List<Daily> list = jdbcTemplate.query(sql, new RowMapper<Daily>() {
1118 1148 @Override
... ... @@ -1122,21 +1152,31 @@ public class FormsServiceImpl implements FormsService {
1122 1152 daily.setZbh(arg0.getString("cl_zbh"));
1123 1153 daily.setJgh(arg0.getString("j_gh"));
1124 1154 daily.setjName(arg0.getString("j_name"));
1125   - daily.setYh(arg0.getString("yh"));
1126 1155 return daily;
1127 1156 }
1128 1157 });
  1158 + List<Ylb> listYlb= ylbRepository.obtainYl(map.get("date").toString(), "", "", xlbm, "", "xlbm");
  1159 + List<Dlb> listDlb= dlbRepository.obtainDl(map.get("date").toString(), "", "", xlbm, "", "xlbm");
1129 1160 List<ScheduleRealInfo> sList;
1130 1161 List<ScheduleRealInfo> lists=scheduleRealInfoRepository.scheduleByDateAndLineTjrb(map.get("line").toString(), map.get("date").toString());
1131 1162 for(int i=0;i<list.size();i++){
1132 1163 sList =new ArrayList<ScheduleRealInfo>();
1133 1164 Daily d=list.get(i);
1134   - if(d.getYh()==null){
1135   - d.setYh("0");
1136   - }else{
1137   - if(d.getYh().equals(""))
1138   - d.setYh("0");
  1165 + Double yh=0.0;
  1166 + for (int j = 0; j < listYlb.size(); j++) {
  1167 + Ylb y=listYlb.get(j);
  1168 + if(y.getNbbm().equals(d.getZbh())&& y.getJsy().equals(d.getJgh())){
  1169 + yh=Arith.add(yh, y.getYh());
  1170 + }
  1171 + }
  1172 +
  1173 + for (int j = 0; j < listDlb.size(); j++) {
  1174 + Dlb b=listDlb.get(j);
  1175 + if(b.getNbbm().equals(d.getZbh())&& b.getJsy().equals(d.getJgh())){
  1176 + yh=Arith.add(yh, b.getHd());
  1177 + }
1139 1178 }
  1179 + d.setYh(String.valueOf(yh));
1140 1180 for (int j = 0; j < lists.size(); j++) {
1141 1181 ScheduleRealInfo s=lists.get(j);
1142 1182 if(d.getJgh().equals(s.getjGh()) && d.getZbh().equals(s.getClZbh())){
... ...
src/main/java/com/bsth/service/impl/BusIntervalServiceImpl.java
... ... @@ -11,6 +11,7 @@ import java.util.Collections;
11 11 import java.util.Comparator;
12 12 import java.util.Date;
13 13 import java.util.HashMap;
  14 +import java.util.HashSet;
14 15 import java.util.Iterator;
15 16 import java.util.List;
16 17 import java.util.Map;
... ... @@ -585,7 +586,7 @@ public class BusIntervalServiceImpl implements BusIntervalService {
585 586  
586 587 @Override
587 588 public Map<String, Object> timeAndSpeed(Map<String, Object> map) {
588   - List<Long> ttList = new ArrayList<Long>();
  589 + List<Map<String, Object>> ttList = new ArrayList<Map<String, Object>>();
589 590 List<ChildTaskPlan> cList = new ArrayList<ChildTaskPlan>();
590 591 List<ScheduleRealInfo> list = new ArrayList<ScheduleRealInfo>();
591 592 List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>();
... ... @@ -593,6 +594,7 @@ public class BusIntervalServiceImpl implements BusIntervalService {
593 594 Map<String, List<ScheduleRealInfo>> keyMap = new HashMap<String, List<ScheduleRealInfo>>();
594 595 Map<String, List<ChildTaskPlan>> cMap = new HashMap<String, List<ChildTaskPlan>>();
595 596 Map<String, Object> modelMap = new HashMap<String, Object>();
  597 + Set<Long> tsSet = new HashSet<Long>();
596 598  
597 599 String company = map.get("company").toString();
598 600 String subCompany = map.get("subCompany").toString();
... ... @@ -616,20 +618,23 @@ public class BusIntervalServiceImpl implements BusIntervalService {
616 618  
617 619 try {
618 620  
619   - String sql = "select * from bsth_c_s_sp_info_real where DATE_FORMAT(schedule_date,'%Y-%m-%d') >= '"+startDate+"' and DATE_FORMAT(schedule_date,'%Y-%m-%d') <= '"+endDate+"'";
  621 + String where = "";
620 622 if(line.length() != 0 && statu.equals("1")){
621   - sql += " and xl_bm = '"+line+"'";
  623 + where += " and xl_bm = '"+line+"'";
622 624 }
623 625 if(lp.length() != 0 && statu.equals("1")){
624   - sql += " and lp_name = '"+lp+"'";
  626 + where += " and lp_name = '"+lp+"'";
625 627 }
626 628 if(company.length() != 0){
627   - sql += " and gs_bm = '"+company+"' and fgs_bm = '"+subCompany+"'";
  629 + where += " and gs_bm = '"+company+"' and fgs_bm = '"+subCompany+"'";
628 630 }
629 631 if(sfqr == 1){
630   - sql += " and zdsj >= '"+times1+"' and fcsj <= '"+times2+"'";
  632 + where += " and zdsj >= '"+times1+"' and fcsj <= '"+times2+"'";
631 633 }
632   - sql += " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks' order by fcsj";
  634 + where += " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'";
  635 +
  636 + String sql = "select * from bsth_c_s_sp_info_real where DATE_FORMAT(schedule_date,'%Y-%m-%d') >= '"+startDate+"'"
  637 + + " and DATE_FORMAT(schedule_date,'%Y-%m-%d') <= '"+endDate+"'"+where+"";
633 638  
634 639 list = jdbcTemplate.query(sql,
635 640 new RowMapper<ScheduleRealInfo>(){
... ... @@ -704,6 +709,65 @@ public class BusIntervalServiceImpl implements BusIntervalService {
704 709 return schedule;
705 710 }
706 711 });
  712 +
  713 + {
  714 + List<Map<String, String>> temp1 = new ArrayList<Map<String, String>>();
  715 + List<Map<String, String>> temp2 = new ArrayList<Map<String, String>>();
  716 + sql = "select * from bsth_c_s_sp_info where bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'";
  717 +
  718 + if(startDate.equals(endDate)){
  719 + sql += " and schedule_date = '"+startDate+"'";
  720 + } else {
  721 + sql += " and schedule_date >= '"+startDate+"' and schedule_date <= '"+endDate+"'";
  722 + }
  723 + if(line.length() != 0 && statu.equals("1")){
  724 + sql += " and xl_bm = '"+line+"'";
  725 + }
  726 + if(company.length() != 0){
  727 + sql += " and gs_bm = '"+company+"' and fgs_bm = '"+subCompany+"'";
  728 + }
  729 + temp1 = jdbcTemplate.query(sql,
  730 + new RowMapper<Map<String, String>>(){
  731 + @Override
  732 + public Map<String, String> mapRow(ResultSet rs, int rowNum) throws SQLException {
  733 + Map<String, String> m = new HashMap<String, String>();
  734 + m.put("id", rs.getString("id"));
  735 + m.put("lp", rs.getString("lp"));
  736 + m.put("fcsj", rs.getString("fcsj"));
  737 + m.put("xl_bm", rs.getString("xl_bm"));
  738 + m.put("tt_info", rs.getString("tt_info"));
  739 + return m;
  740 + }
  741 + });
  742 + sql = "select * from bsth_c_s_ttinfo_detail where ists = 1"
  743 + + " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'";
  744 +
  745 + if(line.length() != 0 && statu.equals("1")){
  746 + sql += " and xl = '"+line+"'";
  747 + }
  748 + temp2 = jdbcTemplate.query(sql,
  749 + new RowMapper<Map<String, String>>(){
  750 + @Override
  751 + public Map<String, String> mapRow(ResultSet rs, int rowNum) throws SQLException {
  752 + Map<String, String> m = new HashMap<String, String>();
  753 + m.put("id", rs.getString("id"));
  754 + m.put("lp", rs.getString("lp"));
  755 + m.put("xl", rs.getString("xl"));
  756 + m.put("fcsj", rs.getString("fcsj"));
  757 + m.put("ttinfo", rs.getString("ttinfo"));
  758 + return m;
  759 + }
  760 + });
  761 +
  762 + for(Map<String, String> m2 : temp2){
  763 + for(Map<String, String> m1 : temp1){
  764 + if(m2.get("ttinfo").equals(m1.get("tt_info")) && m2.get("xl").equals(m1.get("xl_bm"))
  765 + && m2.get("lp").equals(m1.get("lp")) && m2.get("fcsj").equals(m1.get("fcsj"))){
  766 + tsSet.add(Long.valueOf(m1.get("id")));
  767 + }
  768 + }
  769 + }
  770 + }
707 771  
708 772 sql = "select * from bsth_c_s_child_task order by start_date";
709 773  
... ... @@ -723,13 +787,17 @@ public class BusIntervalServiceImpl implements BusIntervalService {
723 787 });
724 788  
725 789 if(model.length() != 0){
726   - sql = "select id from bsth_c_s_sp_info where tt_info = '" + model + "' and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'";
  790 + sql = "select sp.id from bsth_c_s_sp_info sp 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 "
  791 + + "where tt_info = '" + model + "' and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'";
727 792  
728 793 ttList = jdbcTemplate.query(sql,
729   - new RowMapper<Long>(){
  794 + new RowMapper<Map<String, Object>>(){
730 795 @Override
731   - public Long mapRow(ResultSet rs, int rowNum) throws SQLException {
732   - return rs.getLong("id");
  796 + public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException {
  797 + Map<String, Object> m = new HashMap<String, Object>();
  798 + m.put("id", rs.getString("id"));
  799 + m.put("ists", rs.getString("ists")!=null?rs.getString("ists"):"0");
  800 + return m;
733 801 }
734 802 });
735 803 }
... ... @@ -771,13 +839,15 @@ public class BusIntervalServiceImpl implements BusIntervalService {
771 839 if(schedule.getXlName()==null || schedule.getXlName().trim().length()==0)
772 840 continue;
773 841 if(model.length() != 0){
774   - for(Long tt : ttList)
775   - if((long) tt == (long)schedule.getSpId()){
  842 + for(Map<String, Object> tt : ttList){
  843 + long id = Long.valueOf(tt.get("id").toString());
  844 + if(id == (long)schedule.getSpId()){
776 845 String key = schedule.getScheduleDateStr() + "/" + schedule.getXlName() + "/" + schedule.getLpName();
777 846 if(!keyMap.containsKey(key))
778 847 keyMap.put(key, new ArrayList<ScheduleRealInfo>());
779 848 keyMap.get(key).add(schedule);
780 849 }
  850 + }
781 851 }else{
782 852 String key = schedule.getScheduleDateStr() + "/" + schedule.getXlName() + "/" + schedule.getLpName();
783 853 if(!keyMap.containsKey(key))
... ... @@ -821,14 +891,16 @@ public class BusIntervalServiceImpl implements BusIntervalService {
821 891 for(int i = 1; i < keyList.size(); i++){
822 892 ScheduleRealInfo schedule1 = sortMap.get(keyList.get(i - 1));
823 893 ScheduleRealInfo schedule2 = sortMap.get(keyList.get(i));
824   - if(sfqr == 1 && time1 > schedule1.getFcsjT()){
825   - jhyysj += schedule2.getFcsjT() - time1;
826   - }else if(sfqr == 1 && time2 < schedule2.getFcsjT()){
827   - jhyysj += time2 - schedule1.getFcsjT();
828   - }else{
829   - jhyysj += schedule2.getFcsjT() - schedule1.getFcsjT();
  894 + if(!tsSet.contains(schedule1.getId())){
  895 + if(sfqr == 1 && time1 > schedule1.getFcsjT()){
  896 + jhyysj += schedule2.getFcsjT() - time1;
  897 + }else if(sfqr == 1 && time2 < schedule2.getFcsjT()){
  898 + jhyysj += time2 - schedule1.getFcsjT();
  899 + }else{
  900 + jhyysj += schedule2.getFcsjT() - schedule1.getFcsjT();
  901 + }
  902 + jhyysj1 += schedule2.getFcsjT() - schedule1.getFcsjT();
830 903 }
831   - jhyysj1 += schedule2.getFcsjT() - schedule1.getFcsjT();
832 904 long zdsj2 = schedule2.getZdsjT();
833 905 long fcsj2 = schedule2.getFcsjT();
834 906 if(fcsj2 > zdsj2)
... ...
src/main/java/com/bsth/service/report/SheetService.java 0 → 100644
  1 +package com.bsth.service.report;
  2 +
  3 +import java.util.List;
  4 +import java.util.Map;
  5 +
  6 +import com.bsth.entity.sheet.Sheet;
  7 +import com.bsth.service.BaseService;
  8 +
  9 +public interface SheetService extends BaseService<Sheet, Integer>{
  10 + public List<Map<String, Object>> bcPunctual(Map<String, Object> map);
  11 + public String saveSheetList() throws Exception;
  12 + public List<Map<String, Object>> countList(Map<String, Object> map);
  13 +
  14 + public List<Sheet> sheetList(Integer id);
  15 +}
... ...
src/main/java/com/bsth/service/report/impl/ReportServiceImpl.java
... ... @@ -375,11 +375,11 @@ public class ReportServiceImpl implements ReportService{
375 375 String[] minSjs = minfcsj.split(":");
376 376 int minSj=Integer.parseInt(minSjs[0])*60+Integer.parseInt(minSjs[1]);
377 377 //查询时间里程
378   - String sqlPc=" (SELECT jhlc,fcsj,bc_type,lp,2 as xh FROM bsth_c_s_ttinfo_detail "
  378 + String sqlPc=" (SELECT jhlc,fcsj,bc_type,lp,2 as xh, ists FROM bsth_c_s_ttinfo_detail "
379 379 + " where ttinfo ='"+ttinfo+"' and fcsj <='"+minfcsj+"' ) "
380 380 + " union "
381   - + " (SELECT jhlc,fcsj,bc_type,lp,1 as xh FROM bsth_c_s_ttinfo_detail "
382   - + " where ttinfo ='"+ttinfo+"' and fcsj > '"+minfcsj+"') order by lp,xh,fcsj";
  381 + + " (SELECT jhlc,fcsj,bc_type,lp,1 as xh, ists FROM bsth_c_s_ttinfo_detail "
  382 + + " where ttinfo ='"+ttinfo+"' and fcsj > '"+minfcsj+"') order by lp,xh,fcsj";
383 383  
384 384 Map<String, Object> map=new HashMap<String,Object>();
385 385 List<Map<String, Object>> list= jdbcTemplate.query(sqlPc,
... ... @@ -391,6 +391,7 @@ public class ReportServiceImpl implements ReportService{
391 391 m.put("yygl", rs.getString("jhlc")==null?"0":rs.getString("jhlc"));
392 392 m.put("bcType", rs.getString("bc_type"));
393 393 m.put("lp", rs.getString("lp"));
  394 + m.put("ists", rs.getObject("ists")==null?"0":rs.getString("ists"));
394 395 return m;
395 396 }
396 397 });
... ... @@ -451,6 +452,9 @@ public class ReportServiceImpl implements ReportService{
451 452 lp=m.get("lp").toString();
452 453  
453 454 }
  455 + if(m.containsKey("ists") && m.get("ists").equals("1")){
  456 + sj = 0;
  457 + }
454 458 }
455 459 if(yysj>0){
456 460 yycs =yygl/(yysj*1.0/60);
... ... @@ -662,22 +666,28 @@ public class ReportServiceImpl implements ReportService{
662 666 + " (SELECT jhlc,fcsj,bcsj,bc_type,lp,xl_dir,ists,1 as xh FROM "
663 667 + " bsth_c_s_ttinfo_detail where ttinfo ='"+ttinfo+"' and "
664 668 + " fcsj > '"+minfcsj+"' and bc_type!='in' and bc_type!='out' and bc_type!='ldks') "
665   - + " order by xl_dir, xh,fcsj";
  669 + + " order by xl_dir, xh, fcsj";
666 670 Map<String, Object> map=new HashMap<String,Object>();
667 671 List<Map<String, Object>> list= jdbcTemplate.query(sqlPc,
668   - new RowMapper<Map<String, Object>>(){
669   - @Override
670   - public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException {
671   - Map<String, Object> m=new HashMap<String,Object>();
672   - m.put("fcsj", rs.getString("fcsj"));
673   - m.put("yygl", rs.getString("jhlc")==null?"0":rs.getString("jhlc"));
674   - m.put("bcsj", rs.getString("bcsj"));
675   - m.put("bcType", rs.getString("bc_type"));
676   - m.put("lp", rs.getString("lp"));
677   - m.put("dir", rs.getString("xl_dir"));
678   - m.put("ists", rs.getString("ists")!=null?rs.getString("ists"):"");
679   - return m;
680   - }
  672 + new RowMapper<Map<String, Object>>(){
  673 + @Override
  674 + public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException {
  675 + Map<String, Object> m=new HashMap<String,Object>();
  676 + m.put("fcsj", rs.getString("fcsj"));
  677 + m.put("yygl", rs.getString("jhlc")==null?"0":rs.getString("jhlc"));
  678 + m.put("bcsj", rs.getString("bcsj"));
  679 + m.put("bcType", rs.getString("bc_type"));
  680 + m.put("lp", rs.getString("lp"));
  681 + m.put("dir", rs.getString("xl_dir"));
  682 + m.put("ists", rs.getString("ists")!=null?rs.getString("ists"):"");
  683 +
  684 + if(rs.getString("xh").equals("2")){
  685 + String[] split = m.get("fcsj").toString().split(":");
  686 + m.put("fcsj", Integer.valueOf(split[0]) + 24 + ":"+split[1]);
  687 + }
  688 +
  689 + return m;
  690 + }
681 691 });
682 692  
683 693 List<Map<String, Object>> newList=new ArrayList<Map<String,Object>>();
... ... @@ -711,6 +721,7 @@ public class ReportServiceImpl implements ReportService{
711 721 List<Map<String, Object>> list2 = keyMap.get(key);
712 722 List<Integer> cjs = new ArrayList<Integer>();
713 723 int sxsj = 0, xxsj = 0, zcj = 0, tssj = 0;
  724 + int sxbc = 0, xxbc = 0;
714 725 int temp = 24*60+1;
715 726 boolean ists = false;
716 727 for(Map<String, Object> m : list2){
... ... @@ -720,8 +731,10 @@ public class ReportServiceImpl implements ReportService{
720 731 int bcsj = Integer.valueOf(m.get("bcsj").toString());
721 732 if(xlDir == 0){
722 733 sxsj += bcsj;
  734 + sxbc ++;
723 735 } else {
724 736 xxsj += bcsj;
  737 + xxbc ++;
725 738 }
726 739 if(temp >= fcsj){
727 740 temp = fcsj;
... ... @@ -744,9 +757,9 @@ public class ReportServiceImpl implements ReportService{
744 757 zcj += i;
745 758 }
746 759 tempMap.put("sjd", key);
747   - tempMap.put("sxsj", sxsj);
748   - tempMap.put("xxsj", xxsj);
749   - tempMap.put("fqsj", sxsj + xxsj);
  760 + tempMap.put("sxsj", sxsj / sxbc);
  761 + tempMap.put("xxsj", xxsj / xxbc);
  762 + tempMap.put("fqsj", (sxsj + xxsj) / list2.size());
750 763 tempMap.put("cjqj", cjs.size()>0?cjs.get(0)+"——"+cjs.get(cjs.size()-1):"——");
751 764 tempMap.put("pjcj", cjs.size()>0?zcj/cjs.size():"/");
752 765 tempMap.put("tssj", tssj);
... ...
src/main/java/com/bsth/service/report/impl/SheetServiceImpl.java 0 → 100644
  1 +package com.bsth.service.report.impl;
  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;
  8 +import java.util.ArrayList;
  9 +import java.util.Calendar;
  10 +import java.util.Collections;
  11 +import java.util.Comparator;
  12 +import java.util.Date;
  13 +import java.util.GregorianCalendar;
  14 +import java.util.HashMap;
  15 +import java.util.Iterator;
  16 +import java.util.List;
  17 +import java.util.Map;
  18 +import java.util.Set;
  19 +
  20 +import javax.transaction.Transactional;
  21 +
  22 +import org.apache.poi.hssf.eventusermodel.EventWorkbookBuilder.SheetRecordCollectingListener;
  23 +import org.slf4j.Logger;
  24 +import org.slf4j.LoggerFactory;
  25 +import org.springframework.beans.factory.annotation.Autowired;
  26 +import org.springframework.jdbc.core.JdbcTemplate;
  27 +import org.springframework.jdbc.core.RowMapper;
  28 +import org.springframework.scheduling.commonj.ScheduledTimerListener;
  29 +import org.springframework.stereotype.Service;
  30 +
  31 +import com.bsth.data.BasicData;
  32 +import com.bsth.entity.Line;
  33 +import com.bsth.entity.oil.Ylb;
  34 +import com.bsth.entity.realcontrol.ChildTaskPlan;
  35 +import com.bsth.entity.realcontrol.ScheduleRealInfo;
  36 +import com.bsth.entity.sheet.Sheet;
  37 +import com.bsth.repository.LineRepository;
  38 +import com.bsth.repository.realcontrol.ScheduleRealInfoRepository;
  39 +import com.bsth.repository.sheet.SheetRepository;
  40 +import com.bsth.service.impl.BaseServiceImpl;
  41 +import com.bsth.service.report.SheetService;
  42 +import com.bsth.util.BatchSaveUtils;
  43 +import com.bsth.util.ComparableChild;
  44 +import com.bsth.util.ComparableReal;
  45 +import com.google.common.util.concurrent.AbstractScheduledService.Scheduler;
  46 +
  47 +@Service
  48 +public class SheetServiceImpl extends BaseServiceImpl<Sheet, Integer> implements SheetService {
  49 + Logger logger = LoggerFactory.getLogger(this.getClass());
  50 + @Autowired
  51 + ScheduleRealInfoRepository scheduleRealInfoRepository;
  52 + @Autowired
  53 + LineRepository lineRepository;
  54 + @Autowired
  55 + JdbcTemplate jdbcTemplate;
  56 + @Autowired
  57 + SheetRepository sheetRepository;
  58 + /**
  59 + * 班次准点率
  60 + */
  61 + @Override
  62 + public List<Map<String, Object>> bcPunctual(Map<String, Object> map) {
  63 + // TODO Auto-generated method stub
  64 + String line =map.get("line").toString();
  65 + String date =map.get("date").toString();
  66 + List<ScheduleRealInfo> realList=scheduleRealInfoRepository.scheduleByDateAndLineTjrb(line, date);
  67 +
  68 + return null;
  69 + }
  70 + public static boolean isInOut(ScheduleRealInfo s){
  71 + boolean fage=false;
  72 + if(s.getBcType().equals("in")){
  73 + fage=true;
  74 + }
  75 + if(s.getBcType().equals("out")){
  76 + fage=true;
  77 + }
  78 + if(s.getBcType().equals("ldks")){
  79 + fage=true;
  80 + }
  81 +
  82 + return fage;
  83 + }
  84 + @Override
  85 + public String saveSheetList() throws Exception{
  86 + Map<String, Object> map=new HashMap<String,Object>();
  87 + String result = "failure";
  88 + try {
  89 + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
  90 + Date dNow = new Date(); //当前时间
  91 + Calendar calendar = Calendar.getInstance(); //得到日历
  92 + calendar.setTime(dNow);//把当前时间赋给日历
  93 + calendar.add(Calendar.DAY_OF_MONTH, -3); //设置为前三天
  94 +
  95 + String rq=sdf.format(calendar.getTime());
  96 +// String rq="2017-05-16";
  97 +
  98 + List<Line> lineList = (List<Line>) lineRepository.findAll();
  99 +
  100 + List<ScheduleRealInfo> lists= scheduleRealInfoRepository.findByDate(rq);
  101 + List<Sheet> listAdds=new ArrayList<Sheet>();
  102 + for (int i = 0; i < lineList.size(); i++) {
  103 + List<ScheduleRealInfo> list=new ArrayList<ScheduleRealInfo>();
  104 + String line=lineList.get(i).getLineCode();
  105 + for (int j = 0; j < lists.size(); j++) {
  106 + ScheduleRealInfo s=lists.get(j);
  107 + if(!isInOut(s)){
  108 + if(s.getXlBm().equals(line)){
  109 + list.add(s);
  110 + }
  111 + }
  112 +
  113 + }
  114 + if(list.size()>0){
  115 + List<Sheet> listAdd=punctualByLine(line,list);
  116 + if(listAdd.size()>0){
  117 + listAdds.addAll(listAdd);
  118 + }
  119 + }
  120 +
  121 + }
  122 +
  123 + if(listAdds.size()>0){
  124 + new BatchSaveUtils<Sheet>().saveList(listAdds, Sheet.class);
  125 + }
  126 + result = "success";
  127 + }catch (Exception e) {
  128 + // TODO Auto-generated catch block
  129 + throw e;
  130 + }finally{
  131 + logger.info("setDDRB:"+result);
  132 + }
  133 +
  134 + return result;
  135 + }
  136 +
  137 + public List<Sheet> punctualByLine(String line,List<ScheduleRealInfo> list){
  138 + List<Sheet> listAdd=new ArrayList<Sheet>();
  139 +// String line =map.get("line").toString();
  140 +// String date =map.get("date").toString();
  141 + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm");
  142 + String sqlMinYysj="select start_opt from bsth_c_line_config where "
  143 + + " id = ("
  144 + + "select max(id) from bsth_c_line_config where line ='"+BasicData.lineId2CodeMap.inverse().get(line) +"'"
  145 + + ")";
  146 + List<String> listMin=jdbcTemplate.query(sqlMinYysj,
  147 + new RowMapper<String>(){
  148 + @Override
  149 + public String mapRow(ResultSet rs, int rowNum) throws SQLException {
  150 + String s=rs.getString("start_opt");
  151 + return s;
  152 + }
  153 + });
  154 + if(listMin.size()>0){
  155 + String minfcsj=listMin.get(0);
  156 + String[] minSjs = minfcsj.split(":");
  157 + //车辆最早发车时间 用了过滤超第二天0点的数据
  158 + Long minSj=Long.parseLong(minSjs[0])*60+Long.parseLong(minSjs[1]);
  159 + //0 上行 1下行
  160 + List<ScheduleRealInfo> listJhsj0=new ArrayList<ScheduleRealInfo>();
  161 +
  162 + List<ScheduleRealInfo> listJhsj1=new ArrayList<ScheduleRealInfo>();
  163 +
  164 + List<ScheduleRealInfo> listReal0=new ArrayList<ScheduleRealInfo>();
  165 +
  166 + List<ScheduleRealInfo> listReal1=new ArrayList<ScheduleRealInfo>();
  167 + //排除所有进出场班次
  168 +// List<ScheduleRealInfo> list=scheduleRealInfoRepository.scheduleByDateAndLine2(line, date);
  169 + /* for (int i = 0; i < list.size(); i++) {
  170 + //排除所有烂班的班次
  171 + ScheduleRealInfo s=list.get(i);
  172 + Set<ChildTaskPlan> cts=s.getcTasks();
  173 + if(cts!=null && cts.size() > 0){
  174 +
  175 + }
  176 + ScheduleRealInfo r=checkBc(s);
  177 + String[] fcsj= r.getFcsj().split(":");
  178 + Long fcsjL=Long.parseLong(fcsj[0])*60+Long.parseLong(fcsj[1]);
  179 + Long fscjT=0L;
  180 + if(fcsjL<minSj){
  181 + Calendar calendar = new GregorianCalendar();
  182 + calendar.setTime(r.getScheduleDate());
  183 + calendar.add(calendar.DATE,1);
  184 + r.setScheduleDate(calendar.getTime());
  185 + try {
  186 + fscjT = sdf.parse(sdf.format(r.getScheduleDate())+" "+r.getFcsj()).getTime();
  187 + } catch (ParseException e) {
  188 + // TODO Auto-generated catch block
  189 + e.printStackTrace();
  190 + }
  191 +
  192 + }else{
  193 + try {
  194 + fscjT =sdf.parse(r.getScheduleDateStr()+" "+r.getFcsj()).getTime();
  195 + } catch (ParseException e) {
  196 + // TODO Auto-generated catch block
  197 + e.printStackTrace();
  198 + };
  199 + }
  200 +
  201 + Sheet sheet=new Sheet();
  202 + Long fcsjAcual=0L;
  203 + if (r.getFcsjActual()!=null) {
  204 + if(!r.getFcsjActual().equals("")){
  205 + try {
  206 + fcsjAcual =sdf.parse(r.getRealExecDate()+" "+r.getFcsjActual()).getTime();
  207 + } catch (ParseException e) {
  208 + // TODO Auto-generated catch block
  209 + e.printStackTrace();
  210 + }
  211 +
  212 +
  213 + Long sjc=fscjT-fcsjAcual;
  214 + //在快慢五分钟内直接添加
  215 + if(sjc>= 3*60*1000*-1 && sjc <=3*60*1000){
  216 +
  217 + sheet.setDate(r.getScheduleDateStr());
  218 + sheet.setRealDate(r.getRealExecDate());
  219 + sheet.setJhsjt(fscjT);
  220 + sheet.setJhsj(r.getFcsj());
  221 + sheet.setSjsjt(fcsjAcual);
  222 + sheet.setSjsj(r.getFcsjActual());
  223 + sheet.setGs(r.getGsBm());
  224 + sheet.setFgs(r.getFgsBm());
  225 + sheet.setLine(r.getXlBm());
  226 + sheet.setXlDir(r.getXlDir());
  227 + sheet.setZdname(r.getQdzName());
  228 + sheet.setCreateDate(new Date());
  229 + listAdd.add(sheet);
  230 + }else{
  231 + r.setFcsjActualTime(fcsjAcual);
  232 + r.setFcsjT(fscjT);
  233 + if(r.getXlDir().equals("0")){
  234 + listJhsj0.add(r);
  235 + listReal0.add(r);
  236 + }else{
  237 + listJhsj1.add(r);
  238 + listReal1.add(r);
  239 + }
  240 + }
  241 + }else{
  242 + sheet.setDate(r.getScheduleDateStr());
  243 + sheet.setRealDate(r.getRealExecDate());
  244 + sheet.setJhsjt(fscjT);
  245 + sheet.setJhsj(r.getFcsj());
  246 + sheet.setSjsjt(0L);
  247 + sheet.setSjsj("烂班");
  248 + sheet.setGs(r.getGsBm());
  249 + sheet.setFgs(r.getFgsBm());
  250 + sheet.setLine(r.getXlBm());
  251 + sheet.setXlDir(r.getXlDir());
  252 + sheet.setZdname(r.getQdzName());
  253 + sheet.setCreateDate(new Date());
  254 + listAdd.add(sheet);
  255 + }
  256 + }else{
  257 + sheet.setDate(r.getScheduleDateStr());
  258 + sheet.setRealDate(r.getRealExecDate());
  259 + sheet.setJhsjt(fscjT);
  260 + sheet.setJhsj(r.getFcsj());
  261 + sheet.setSjsjt(0L);
  262 + sheet.setSjsj("烂班");
  263 + sheet.setGs(r.getGsBm());
  264 + sheet.setFgs(r.getFgsBm());
  265 + sheet.setLine(r.getXlBm());
  266 + sheet.setXlDir(r.getXlDir());
  267 + sheet.setZdname(r.getQdzName());
  268 + sheet.setCreateDate(new Date());
  269 + listAdd.add(sheet);
  270 + }
  271 + }*/
  272 + for (int i = 0; i < list.size(); i++) {
  273 + ScheduleRealInfo s=list.get(i);
  274 + ScheduleRealInfo r=checkBc(s);
  275 + String[] fcsj= r.getFcsj().split(":");
  276 + Long fcsjL=Long.parseLong(fcsj[0])*60+Long.parseLong(fcsj[1]);
  277 + Long fscjT=0L;
  278 + if(fcsjL<minSj){
  279 + Calendar calendar = new GregorianCalendar();
  280 + calendar.setTime(r.getScheduleDate());
  281 + calendar.add(calendar.DATE,1);
  282 + r.setScheduleDate(calendar.getTime());
  283 + try {
  284 + fscjT = sdf.parse(sdf.format(r.getScheduleDate())+" "+r.getFcsj()).getTime();
  285 + } catch (ParseException e) {
  286 + // TODO Auto-generated catch block
  287 + e.printStackTrace();
  288 + }
  289 +
  290 + }else{
  291 + try {
  292 + fscjT =sdf.parse(r.getScheduleDateStr()+" "+r.getFcsj()).getTime();
  293 + } catch (ParseException e) {
  294 + // TODO Auto-generated catch block
  295 + e.printStackTrace();
  296 + };
  297 + }
  298 + r.setFcsjT(fscjT);
  299 + Sheet sheet=new Sheet();
  300 + if (s.getFcsjActual() != null) {
  301 + Long fcsjAcual = 0L;
  302 + try {
  303 + fcsjAcual = sdf.parse(r.getRealExecDate() + " " + r.getFcsjActual()).getTime();
  304 + r.setFcsjActualTime(fcsjAcual);
  305 + r.setFcsjT(fscjT);
  306 + } catch (ParseException e) {
  307 + // TODO Auto-generated catch block
  308 + e.printStackTrace();
  309 + }
  310 + if (r.isSflj()) {
  311 + if (s.getXlDir().equals("0")) {
  312 + listReal0.add(r);
  313 + } else {
  314 + listReal1.add(r);
  315 + }
  316 +
  317 + } else {
  318 + if (s.getFcsjActual() != null) {
  319 + Long sjc = fcsjAcual - fscjT;
  320 + // 在快慢五分钟内直接添加
  321 + if (sjc >= 1 * 60 * 1000 * -1 && sjc <= 3 * 60 * 1000) {
  322 + sheet.setDate(r.getScheduleDateStr());
  323 + sheet.setRealDate(r.getRealExecDate());
  324 + sheet.setJhsjt(fscjT);
  325 + sheet.setJhsj(r.getFcsj());
  326 + sheet.setSjsjt(fcsjAcual);
  327 + sheet.setSjsj(r.getFcsjActual());
  328 + sheet.setGs(r.getGsBm());
  329 + sheet.setFgs(r.getFgsBm());
  330 + sheet.setLine(r.getXlBm());
  331 + sheet.setXlDir(r.getXlDir());
  332 + sheet.setZdname(r.getQdzName());
  333 + sheet.setCreateDate(new Date());
  334 + listAdd.add(sheet);
  335 + } else {
  336 + if (r.getXlDir().equals("0")) {
  337 + listJhsj0.add(r);
  338 + listReal0.add(r);
  339 + } else {
  340 + listJhsj1.add(r);
  341 + listReal1.add(r);
  342 + }
  343 + }
  344 + }
  345 + }
  346 + } else {
  347 + /*sheet.setDate(r.getScheduleDateStr());
  348 + sheet.setRealDate(r.getRealExecDate());
  349 + sheet.setJhsjt(fscjT);
  350 + sheet.setJhsj(r.getFcsj());
  351 + sheet.setSjsjt(0L);
  352 + sheet.setSjsj("烂班");
  353 + sheet.setGs(r.getGsBm());
  354 + sheet.setFgs(r.getFgsBm());
  355 + sheet.setLine(r.getXlBm());
  356 + sheet.setXlDir(r.getXlDir());
  357 + sheet.setZdname(r.getQdzName());
  358 + sheet.setCreateDate(new Date());
  359 + listAdd.add(sheet);*/
  360 + r.setFcsjActualTime(0L);
  361 + r.setFcsjT(fscjT);
  362 + r.setFcsjActual("烂班");
  363 + if (r.getXlDir().equals("0")) {
  364 + listJhsj0.add(r);
  365 + listReal0.add(r);
  366 + } else {
  367 + listJhsj1.add(r);
  368 + listReal1.add(r);
  369 + }
  370 +
  371 + }
  372 +
  373 + }
  374 + //计发排序
  375 + Collections.sort(listJhsj0, new ComparableReal());
  376 + Collections.sort(listJhsj1, new ComparableReal());
  377 + //实发排序
  378 + Collections.sort(listReal0,new ComparableAcual());
  379 + Collections.sort(listReal1,new ComparableAcual());
  380 +
  381 + //计划发车时间和实际发车时间比较计算准点率
  382 +
  383 +
  384 +
  385 + int no=listJhsj0.size()*2;
  386 + boolean fage=true;
  387 +// for (int p = no; p > 0; p--) {
  388 + while(fage){
  389 + //查询所有的实发 对应最接近的 计发
  390 + List<Map<String, Object>> list_map=new ArrayList<Map<String,Object>>();
  391 + for (int i = 0; i < listReal0.size(); i++) {
  392 + Map<String, Object> m_=new HashMap<String,Object>();
  393 + ScheduleRealInfo s1=listReal0.get(i);
  394 + Long sjsj=s1.getFcsjActualTime();
  395 + ScheduleRealInfo absInfo=new ScheduleRealInfo();
  396 + int next_j=listJhsj0.size();
  397 + for (int j = 0; j < listJhsj0.size(); j++) {
  398 + ScheduleRealInfo s2=listJhsj0.get(j);
  399 + if(j==0){
  400 + absInfo=s2;
  401 + }else{
  402 + //计发实发时间绝对值比较 取到最接近的值
  403 + Long abs1 = Math.abs(sjsj - s2.getFcsjT());
  404 + Long abs2 = Math.abs(sjsj -absInfo.getFcsjT());
  405 + if(abs2-abs1>0){
  406 + absInfo=s2;
  407 + next_j=j;
  408 + }
  409 + }
  410 + }
  411 + if(next_j<=0){
  412 + break;
  413 + }else{
  414 + m_.put("s", s1.getId());
  415 + m_.put("j", absInfo.getId());
  416 + m_.put("s_list", s1);
  417 + m_.put("j_list", absInfo);
  418 + m_.put("abs", Math.abs(sjsj-absInfo.getFcsjT()));
  419 + list_map.add(m_);
  420 + }
  421 + }
  422 + Collections.sort(list_map,new ComparableMap());
  423 + Map<String, Object> m_s=new HashMap<String,Object>();
  424 + List<Map<String, Object>> list_m_s=new ArrayList<Map<String,Object>>();
  425 +
  426 + for (int i = 0; i < list_map.size(); i++) {
  427 + Map<String, Object> m_=list_map.get(i);
  428 + Map<String, Object> m_l=new HashMap<String,Object>();
  429 + if(m_s.get(m_.get("j").toString())==null){
  430 + m_s.put(m_.get("s").toString(), m_.get("s"));
  431 + m_s.put(m_.get("j").toString(), m_.get("j"));
  432 + m_l.put("s", m_.get("s"));
  433 + m_l.put("j", m_.get("j"));
  434 + m_l.put("s_l",m_.get("s_list"));
  435 + m_l.put("j_l",m_.get("j_list"));
  436 + list_m_s.add(m_l);
  437 + }
  438 + }
  439 + for (int i = 0; i < list_m_s.size(); i++) {
  440 + Map<String, Object> m_l=list_m_s.get(i);
  441 + Long s=Long.parseLong(m_l.get("s").toString());
  442 + boolean s_bool=false;
  443 + for (int k = 0; k < listReal0.size(); k++) {
  444 + ScheduleRealInfo s0=listReal0.get(k);
  445 + if(s0.getId()-s==0){
  446 + listReal0.remove(s0);
  447 + s_bool=true;
  448 + }
  449 + }
  450 +
  451 + Long j=Long.parseLong(m_l.get("j").toString());
  452 + boolean j_bool=false;
  453 + for (int j2 = 0; j2 < listJhsj0.size(); j2++) {
  454 + ScheduleRealInfo j0=listJhsj0.get(j2);
  455 + if(j0.getId()-j==0){
  456 + listJhsj0.remove(j0);
  457 + j_bool=true;
  458 + }
  459 + }
  460 +
  461 + if(s_bool&&j_bool){
  462 + ScheduleRealInfo sf=(ScheduleRealInfo)m_l.get("s_l");
  463 + ScheduleRealInfo jf=(ScheduleRealInfo)m_l.get("j_l");
  464 + Sheet sheet=new Sheet();
  465 + sheet.setDate(sf.getScheduleDateStr());
  466 + sheet.setRealDate(sf.getRealExecDate());
  467 + sheet.setJhsjt(jf.getFcsjT());
  468 + sheet.setJhsj(jf.getFcsj());
  469 + sheet.setSjsjt(sf.getFcsjActualTime());
  470 + sheet.setSjsj(sf.getFcsjActual());
  471 + sheet.setGs(sf.getGsBm());
  472 + sheet.setFgs(sf.getFgsBm());
  473 + sheet.setLine(sf.getXlBm());
  474 + sheet.setXlDir(sf.getXlDir());
  475 + sheet.setZdname(sf.getQdzName());
  476 + sheet.setCreateDate(new Date());
  477 + listAdd.add(sheet);
  478 + }
  479 + }
  480 +
  481 + if(listJhsj0.size()<=0){
  482 + fage=false;
  483 + }
  484 + no--;
  485 + if(no<0){
  486 + fage=false;
  487 + }
  488 + }
  489 +
  490 +
  491 + int nos=listJhsj1.size()*2;
  492 + fage=true;
  493 + while(fage){
  494 + //查询所有的实发 对应最接近的 计发
  495 + List<Map<String, Object>> list_map=new ArrayList<Map<String,Object>>();
  496 + for (int i = 0; i < listReal1.size(); i++) {
  497 + Map<String, Object> m_=new HashMap<String,Object>();
  498 + ScheduleRealInfo s1=listReal1.get(i);
  499 + Long sjsj=s1.getFcsjActualTime();
  500 + ScheduleRealInfo absInfo=new ScheduleRealInfo();
  501 + int next_j=listJhsj1.size();
  502 + for (int j = 0; j < listJhsj1.size(); j++) {
  503 + ScheduleRealInfo s2=listJhsj1.get(j);
  504 + if(j==0){
  505 + absInfo=s2;
  506 + }else{
  507 + //计发实发时间绝对值比较 取到最接近的值
  508 + Long abs1 = Math.abs(sjsj - s2.getFcsjT());
  509 + Long abs2 = Math.abs(sjsj -absInfo.getFcsjT());
  510 + if(abs2-abs1>0){
  511 + absInfo=s2;
  512 + next_j=j;
  513 + }
  514 + }
  515 + }
  516 + if(next_j<=0){
  517 + break;
  518 + }else{
  519 + m_.put("s", s1.getId());
  520 + m_.put("j", absInfo.getId());
  521 + m_.put("s_list", s1);
  522 + m_.put("j_list", absInfo);
  523 + m_.put("abs", Math.abs(sjsj-absInfo.getFcsjT()));
  524 + list_map.add(m_);
  525 + }
  526 +
  527 + }
  528 + Collections.sort(list_map,new ComparableMap());
  529 + Map<String, Object> m_s=new HashMap<String,Object>();
  530 + List<Map<String, Object>> list_m_s=new ArrayList<Map<String,Object>>();
  531 +
  532 + for (int i = 0; i < list_map.size(); i++) {
  533 + Map<String, Object> m_=list_map.get(i);
  534 + Map<String, Object> m_l=new HashMap<String,Object>();
  535 + if(m_s.get(m_.get("j").toString())==null){
  536 + m_s.put(m_.get("s").toString(), m_.get("s"));
  537 + m_s.put(m_.get("j").toString(), m_.get("j"));
  538 + m_l.put("s", m_.get("s"));
  539 + m_l.put("j", m_.get("j"));
  540 + m_l.put("s_l",m_.get("s_list"));
  541 + m_l.put("j_l",m_.get("j_list"));
  542 + list_m_s.add(m_l);
  543 + }
  544 + }
  545 + for (int i = 0; i < list_m_s.size(); i++) {
  546 + Map<String, Object> m_l=list_m_s.get(i);
  547 + Long s=Long.parseLong(m_l.get("s").toString());
  548 + boolean s_bool=false;
  549 + for (int k = 0; k < listReal1.size(); k++) {
  550 + ScheduleRealInfo s0=listReal1.get(k);
  551 + if(s0.getId()-s==0){
  552 + listReal1.remove(s0);
  553 + s_bool=true;
  554 + }
  555 + }
  556 +
  557 + Long j=Long.parseLong(m_l.get("j").toString());
  558 + boolean j_bool=false;
  559 + for (int j2 = 0; j2 < listJhsj1.size(); j2++) {
  560 + ScheduleRealInfo j0=listJhsj1.get(j2);
  561 + if(j0.getId()-j==0){
  562 + listJhsj1.remove(j0);
  563 + j_bool=true;
  564 + }
  565 + }
  566 +
  567 + if(s_bool&&j_bool){
  568 + ScheduleRealInfo sf=(ScheduleRealInfo)m_l.get("s_l");
  569 + ScheduleRealInfo jf=(ScheduleRealInfo)m_l.get("j_l");
  570 + Sheet sheet=new Sheet();
  571 + sheet.setDate(sf.getScheduleDateStr());
  572 + sheet.setRealDate(sf.getRealExecDate());
  573 + sheet.setJhsjt(jf.getFcsjT());
  574 + sheet.setJhsj(jf.getFcsj());
  575 + sheet.setSjsjt(sf.getFcsjActualTime());
  576 + sheet.setSjsj(sf.getFcsjActual());
  577 + sheet.setGs(sf.getGsBm());
  578 + sheet.setFgs(sf.getFgsBm());
  579 + sheet.setLine(sf.getXlBm());
  580 + sheet.setXlDir(sf.getXlDir());
  581 + sheet.setZdname(sf.getQdzName());
  582 + sheet.setCreateDate(new Date());
  583 + listAdd.add(sheet);
  584 + }
  585 + }
  586 +
  587 + if(listJhsj1.size()<=0){
  588 + fage=false;
  589 + }
  590 + nos--;
  591 + if(nos<0){
  592 + fage=false;
  593 + }
  594 + }
  595 + }
  596 + return listAdd;
  597 + }
  598 +
  599 + public ScheduleRealInfo checkBc(ScheduleRealInfo s){
  600 + //如果班次有子任务 且 子任务中有属于营运的。把该子任务的发车时间设置成班次的发车时间
  601 + Set<ChildTaskPlan> childTaskPlans = s.getcTasks();
  602 + if(!childTaskPlans.isEmpty()){
  603 + List<ChildTaskPlan> listit=new ArrayList<ChildTaskPlan>(childTaskPlans);
  604 + Collections.sort(listit, new ComparableChild());
  605 + for (int i = 0; i < listit.size(); i++) {
  606 + ChildTaskPlan c=listit.get(i);
  607 + if(!c.isDestroy()){
  608 + if(c.getMileageType().equals("service")){
  609 + s.setFcsjActual(c.getStartDate());
  610 + break;
  611 + }
  612 +
  613 + }
  614 + }
  615 + }
  616 + return s;
  617 + }
  618 +
  619 + public Long abs_js(List<ScheduleRealInfo> list,ScheduleRealInfo t){
  620 + Long jhsj=t.getFcsjT();
  621 + ScheduleRealInfo absInfo=new ScheduleRealInfo();
  622 + for (int j = 0; j < list.size(); j++) {
  623 + ScheduleRealInfo s =list.get(j);
  624 + if(j==0){
  625 + absInfo=s;
  626 + }else{
  627 + //计发实发时间绝对值比较 取到最接近的值
  628 + Long abs1 = Math.abs(jhsj - s.getFcsjActualTime());
  629 + Long abs2 = Math.abs(absInfo.getFcsjActualTime());
  630 + if(abs2-abs1>0){
  631 + absInfo=s;
  632 + }
  633 + }
  634 + }
  635 + return absInfo.getId();
  636 +
  637 + }
  638 +
  639 + @Override
  640 + public List<Map<String, Object>> countList(Map<String, Object> map) {
  641 + // TODO Auto-generated method stub
  642 + List<Map<String, Object>> listmap=new ArrayList<Map<String,Object>>();
  643 + String line="";
  644 + if(map.get("line")!=null){
  645 + line =map.get("line").toString();
  646 + }
  647 + String gs="";
  648 + if(map.get("gs")!=null){
  649 + gs=map.get("gs").toString();
  650 + }
  651 + String fgs="";
  652 + if(map.get("fgs")!=null){
  653 + fgs=map.get("fgs").toString();
  654 + }
  655 + String date=map.get("date").toString();
  656 + String sql="select * from bsth_c_sheet where date='"+date+"'";
  657 + if(line.trim().equals("")){
  658 + sql +=" and gs like '%"+gs+"%' and fgs like '%"+fgs+"%'";
  659 + }else{
  660 + sql +=" and line ='"+line+"'";
  661 + }
  662 + sql +=" order by line ";
  663 + List<Sheet> list=jdbcTemplate.query(sql,
  664 + new RowMapper<Sheet>(){
  665 + @Override
  666 + public Sheet mapRow(ResultSet rs, int rowNum) throws SQLException {
  667 + Sheet s=new Sheet();
  668 + s.setGs(rs.getString("gs"));
  669 + s.setFgs(rs.getString("fgs"));
  670 + s.setLine(rs.getString("line"));
  671 + s.setDate(rs.getString("date"));
  672 + s.setJhsj(rs.getString("jhsj"));
  673 + s.setJhsjt(rs.getLong("jhsjt"));
  674 + s.setSjsj(rs.getString("sjsj"));
  675 + s.setSjsjt(rs.getLong("sjsjt"));
  676 + s.setId(rs.getInt("id"));
  677 + return s;
  678 + }
  679 + });
  680 +
  681 + String sqlByLine="select line from bsth_c_sheet where date='"+date+"'";
  682 + if(line.trim().equals("")){
  683 + sqlByLine +=" and gs like '%"+gs+"%' and fgs like '%"+fgs+"%'";
  684 + }else{
  685 + sqlByLine +=" and line ='"+line+"'";
  686 + }
  687 + sqlByLine +=" group by line ";
  688 + List<String> listLine=jdbcTemplate.query(sqlByLine,
  689 + new RowMapper<String>(){
  690 + @Override
  691 + public String mapRow(ResultSet rs, int rowNum) throws SQLException {
  692 + String line=rs.getString("line");
  693 + return line;
  694 + }
  695 + });
  696 + for (int i = 0; i < listLine.size(); i++) {
  697 + String xlbm=listLine.get(i);
  698 + List<Sheet> newList=new ArrayList<Sheet>();
  699 + for (int j = 0; j < list.size(); j++) {
  700 + if(xlbm.equals(list.get(j).getLine())){
  701 + newList.add(list.get(j));
  702 + }
  703 + }
  704 +
  705 + if(newList.size()>0){
  706 + Map<String, Object> newmap=culateByLine(newList);
  707 + listmap.add(newmap);
  708 + }
  709 +
  710 + }
  711 + return listmap;
  712 + }
  713 +
  714 + public Map<String, Object> culateByLine(List<Sheet> list){
  715 + Map<String, Object> map=new HashMap<String,Object>();
  716 + String gs=BasicData.businessCodeNameMap.get(list.get(0).getGs());
  717 + String fgs=BasicData.businessFgsCodeNameMap.get(list.get(0).getFgs()+"_"+list.get(0).getGs());
  718 + String line=BasicData.lineCode2NameMap.get(list.get(0).getLine());
  719 + Integer id=list.get(0).getId();
  720 + int bcs=list.size();
  721 + int zdbcs=0;
  722 + for (int i = 0; i < list.size(); i++) {
  723 + Sheet s=list.get(i);
  724 + Long sjc=s.getJhsjt()-s.getSjsjt();
  725 + if(sjc>= 3*60*1000*-1 && sjc <=1*60*1000){
  726 + zdbcs++;
  727 + }
  728 + }
  729 + double zdlv =(zdbcs*1.0/bcs)*100;
  730 + DecimalFormat df = new DecimalFormat("0.00");
  731 + map.put("gs", gs);
  732 + map.put("fgs", fgs);
  733 + map.put("line", line);
  734 + map.put("bcs", bcs);
  735 + map.put("zdbcs", zdbcs);
  736 + map.put("zdlv", df.format(zdlv)+"%");
  737 + map.put("id", id);
  738 + return map;
  739 + }
  740 + @Override
  741 + public List<Sheet> sheetList(Integer id) {
  742 + // TODO Auto-generated method stub
  743 + Sheet sheet=sheetRepository.findOne(id);
  744 + String sql="select * from bsth_c_sheet where date='"+sheet.getDate()+"' and line = '"+sheet.getLine()+"'"
  745 + + " order by xl_dir,jhsj";
  746 +
  747 + List<Sheet> list=jdbcTemplate.query(sql,
  748 + new RowMapper<Sheet>(){
  749 + @Override
  750 + public Sheet mapRow(ResultSet rs, int rowNum) throws SQLException {
  751 + Sheet s=new Sheet();
  752 + s.setId(rs.getInt("id"));
  753 + s.setGs(rs.getString("gs"));
  754 + s.setFgs(rs.getString("fgs"));
  755 + s.setLine(rs.getString("line"));
  756 + s.setDate(rs.getString("date"));
  757 + s.setJhsj(rs.getString("jhsj"));
  758 + s.setJhsjt(rs.getLong("jhsjt"));
  759 + s.setSjsj(rs.getString("sjsj"));
  760 + s.setSjsjt(rs.getLong("sjsjt"));
  761 + s.setZdname(rs.getString("zdname"));
  762 + return s;
  763 + }
  764 + });
  765 + for (int i = 0; i < list.size(); i++) {
  766 + Sheet t=list.get(i);
  767 + t.setLine(BasicData.lineCode2NameMap.get(t.getLine()));
  768 + Long sjc=t.getJhsjt()-t.getSjsjt();
  769 + if(sjc>= 3*60*1000*-1 && sjc <=1*60*1000){
  770 + t.setSfzd("Y");
  771 + }else{
  772 + t.setSfzd("N");
  773 + }
  774 + }
  775 +
  776 + return list;
  777 + }
  778 +
  779 +
  780 +}
  781 + class ComparableAcual implements Comparator<ScheduleRealInfo>{
  782 +
  783 + @Override
  784 + public int compare(ScheduleRealInfo o1, ScheduleRealInfo o2) {
  785 + // TODO Auto-generated method stub
  786 + return o1.getFcsjActualTime().compareTo(o2.getFcsjActualTime());
  787 + }
  788 +
  789 +}
  790 +
  791 + class ComparableMap implements Comparator<Map<String, Object>>{
  792 + @Override
  793 + public int compare(Map<String, Object> o1, Map<String, Object> o2) {
  794 + // TODO Auto-generated method stub
  795 + return (int) (Long.parseLong(o1.get("abs").toString())-Long.parseLong((o2.get("abs").toString())));
  796 + }
  797 + }
... ...
src/main/java/com/bsth/service/schedule/EmployeeConfigInfoService.java
... ... @@ -9,5 +9,6 @@ import com.bsth.service.schedule.exception.ScheduleException;
9 9 public interface EmployeeConfigInfoService extends BService<EmployeeConfigInfo, Long> {
10 10 void validate_jsy(EmployeeConfigInfo employeeConfigInfo) throws ScheduleException;
11 11 void validate_spy(EmployeeConfigInfo employeeConfigInfo) throws ScheduleException;
12   - public void toggleCancel(Long id) throws ScheduleException;
  12 + void toggleCancel(Long id) throws ScheduleException;
  13 + Long getMaxDbbm(Integer xlId);
13 14 }
... ...
src/main/java/com/bsth/service/schedule/GuideboardInfoService.java
... ... @@ -7,8 +7,10 @@ import com.bsth.service.schedule.exception.ScheduleException;
7 7 * Created by xu on 16/5/11.
8 8 */
9 9 public interface GuideboardInfoService extends BService<GuideboardInfo, Long> {
10   - public void validate_lpno(GuideboardInfo guideboardInfo) throws ScheduleException;
11   - public void validate_lpname(GuideboardInfo guideboardInfo) throws ScheduleException;
12   - public void toggleCancel(Long id) throws ScheduleException;
  10 + void validate_lpno(GuideboardInfo guideboardInfo) throws ScheduleException;
  11 + void validate_lpname(GuideboardInfo guideboardInfo) throws ScheduleException;
  12 + void toggleCancel(Long id) throws ScheduleException;
  13 +
  14 + Long getMaxLpno(Integer xlid);
13 15  
14 16 }
... ...
src/main/java/com/bsth/service/schedule/impl/EmployeeConfigInfoServiceImpl.java
... ... @@ -8,11 +8,16 @@ import com.bsth.service.schedule.exception.ScheduleException;
8 8 import com.bsth.service.schedule.utils.DataToolsService;
9 9 import org.springframework.beans.factory.annotation.Autowired;
10 10 import org.springframework.beans.factory.annotation.Qualifier;
  11 +import org.springframework.dao.DataAccessException;
  12 +import org.springframework.jdbc.core.JdbcTemplate;
  13 +import org.springframework.jdbc.core.ResultSetExtractor;
11 14 import org.springframework.stereotype.Service;
12 15 import org.springframework.transaction.annotation.Transactional;
13 16 import org.springframework.util.CollectionUtils;
14 17  
15 18 import java.io.File;
  19 +import java.sql.ResultSet;
  20 +import java.sql.SQLException;
16 21 import java.util.*;
17 22  
18 23 /**
... ... @@ -27,6 +32,9 @@ public class EmployeeConfigInfoServiceImpl extends BServiceImpl&lt;EmployeeConfigIn
27 32 @Qualifier(value = "employeeConfig_dataTool")
28 33 private DataToolsService dataToolsService;
29 34  
  35 + @Autowired
  36 + private JdbcTemplate jdbcTemplate;
  37 +
30 38 @Override
31 39 public File uploadFile(String filename, byte[] filedata) throws ScheduleException {
32 40 return dataToolsService.uploadFile(filename, filedata);
... ... @@ -42,6 +50,25 @@ public class EmployeeConfigInfoServiceImpl extends BServiceImpl&lt;EmployeeConfigIn
42 50 return dataToolsService.exportData(params);
43 51 }
44 52  
  53 + @Override
  54 + public Long getMaxDbbm(Integer xlId) {
  55 + String sql = "select max(dbbm + 0) as maxdbbm from bsth_c_s_ecinfo where xl = ?";
  56 +
  57 + Long maxBM = jdbcTemplate.query(sql, new ResultSetExtractor<Long>() {
  58 + @Override
  59 + public Long extractData(ResultSet rs) throws SQLException, DataAccessException {
  60 + if (rs.next()) {
  61 + return rs.getLong("maxdbbm");
  62 + } else {
  63 + return 0L;
  64 + }
  65 +
  66 + }
  67 + }, xlId);
  68 +
  69 + return maxBM + 1;
  70 + }
  71 +
45 72 @Transactional
46 73 @Override
47 74 public void validate_jsy(EmployeeConfigInfo employeeConfigInfo) throws ScheduleException {
... ...
src/main/java/com/bsth/service/schedule/impl/GuideboardInfoServiceImpl.java
... ... @@ -8,11 +8,16 @@ import com.bsth.service.schedule.exception.ScheduleException;
8 8 import com.bsth.service.schedule.utils.DataToolsService;
9 9 import org.springframework.beans.factory.annotation.Autowired;
10 10 import org.springframework.beans.factory.annotation.Qualifier;
  11 +import org.springframework.dao.DataAccessException;
  12 +import org.springframework.jdbc.core.JdbcTemplate;
  13 +import org.springframework.jdbc.core.ResultSetExtractor;
11 14 import org.springframework.stereotype.Service;
12 15 import org.springframework.util.CollectionUtils;
13 16  
14 17 import javax.transaction.Transactional;
15 18 import java.io.File;
  19 +import java.sql.ResultSet;
  20 +import java.sql.SQLException;
16 21 import java.util.HashMap;
17 22 import java.util.List;
18 23 import java.util.Map;
... ... @@ -29,6 +34,27 @@ public class GuideboardInfoServiceImpl extends BServiceImpl&lt;GuideboardInfo, Long
29 34 @Autowired
30 35 private TTInfoDetailService ttInfoDetailService;
31 36  
  37 + @Autowired
  38 + private JdbcTemplate jdbcTemplate;
  39 +
  40 + @Override
  41 + public Long getMaxLpno(Integer xlid) {
  42 + String sql = "select max(lp_no) as maxno from bsth_c_s_gbi where xl = ?";
  43 +
  44 + Long maxNo = jdbcTemplate.query(sql, new ResultSetExtractor<Long>() {
  45 + @Override
  46 + public Long extractData(ResultSet rs) throws SQLException, DataAccessException {
  47 + if (rs.next()) {
  48 + return rs.getLong("maxno");
  49 + } else {
  50 + return 0L;
  51 + }
  52 + }
  53 + }, xlid);
  54 +
  55 + return maxNo + 1;
  56 + }
  57 +
32 58 @Override
33 59 public void validate_lpno(GuideboardInfo guideboardInfo) throws ScheduleException {
34 60 // 查询条件
... ...
src/main/java/com/bsth/service/schedule/impl/SchedulePlanServiceImpl.java
... ... @@ -249,6 +249,8 @@ public class SchedulePlanServiceImpl extends BServiceImpl&lt;SchedulePlan, Long&gt; im
249 249 end2.getTime() - start2.getTime(),
250 250 end3.getTime() - start3.getTime());
251 251  
  252 + // TODO:将lpInfoResults_output 也要返回
  253 +
252 254 return planResult;
253 255 }
254 256  
... ...
src/main/resources/datatools/ktrs/legecy/test.ktr 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x5bfc;&#x5165;</name>
  5 + <description>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>
  6 + <extended_description>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#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 + </parameters>
  13 + <log>
  14 +<trans-log-table><connection/>
  15 +<schema/>
  16 +<table/>
  17 +<size_limit_lines/>
  18 +<interval/>
  19 +<timeout_days/>
  20 +<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>
  21 +<perf-log-table><connection/>
  22 +<schema/>
  23 +<table/>
  24 +<interval/>
  25 +<timeout_days/>
  26 +<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>
  27 +<channel-log-table><connection/>
  28 +<schema/>
  29 +<table/>
  30 +<timeout_days/>
  31 +<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>
  32 +<step-log-table><connection/>
  33 +<schema/>
  34 +<table/>
  35 +<timeout_days/>
  36 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>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>
  37 +<metrics-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>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>
  42 + </log>
  43 + <maxdate>
  44 + <connection/>
  45 + <table/>
  46 + <field/>
  47 + <offset>0.0</offset>
  48 + <maxdiff>0.0</maxdiff>
  49 + </maxdate>
  50 + <size_rowset>10000</size_rowset>
  51 + <sleep_time_empty>50</sleep_time_empty>
  52 + <sleep_time_full>50</sleep_time_full>
  53 + <unique_connections>N</unique_connections>
  54 + <feedback_shown>Y</feedback_shown>
  55 + <feedback_size>50000</feedback_size>
  56 + <using_thread_priorities>Y</using_thread_priorities>
  57 + <shared_objects_file/>
  58 + <capture_step_performance>N</capture_step_performance>
  59 + <step_performance_capturing_delay>1000</step_performance_capturing_delay>
  60 + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
  61 + <dependencies>
  62 + </dependencies>
  63 + <partitionschemas>
  64 + </partitionschemas>
  65 + <slaveservers>
  66 + </slaveservers>
  67 + <clusterschemas>
  68 + </clusterschemas>
  69 + <created_user>-</created_user>
  70 + <created_date>2016&#x2f;06&#x2f;30 12&#x3a;21&#x3a;57.536</created_date>
  71 + <modified_user>-</modified_user>
  72 + <modified_date>2016&#x2f;06&#x2f;30 12&#x3a;21&#x3a;57.536</modified_date>
  73 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
  74 + <is_key_private>N</is_key_private>
  75 + </info>
  76 + <notepads>
  77 + <notepad>
  78 + <note>&#x5b57;&#x5178;&#x8868;&#x5bf9;&#x5e94;&#xff08;&#x4ee5;&#x540e;&#x76f4;&#x63a5;&#x67e5;&#x627e;&#x8868; bsth_c_sys_dictionary&#xff09;&#xa;&#x7c7b;&#x578b; &#x4ee3;&#x7801; &#x540d;&#x79f0;&#xa;LineTrend 0 &#x4e0a;&#x884c;&#xa;LineTrend 1 &#x4e0b;&#x884c;&#xa;ScheduleType normal &#x6b63;&#x5e38;&#x73ed;&#x6b21;&#xa;ScheduleType out &#x51fa;&#x573a;&#xa;ScheduleType in &#x8fdb;&#x573a;&#xa;ScheduleType temp &#x4e34;&#x52a0;&#xa;ScheduleType region &#x533a;&#x95f4;&#xa;ScheduleType venting &#x653e;&#x7a7a;&#xa;ScheduleType major &#x653e;&#x5927;&#x7ad9;</note>
  79 + <xloc>606</xloc>
  80 + <yloc>129</yloc>
  81 + <width>332</width>
  82 + <heigth>186</heigth>
  83 + <fontname>YaHei Consolas Hybrid</fontname>
  84 + <fontsize>12</fontsize>
  85 + <fontbold>N</fontbold>
  86 + <fontitalic>N</fontitalic>
  87 + <fontcolorred>0</fontcolorred>
  88 + <fontcolorgreen>0</fontcolorgreen>
  89 + <fontcolorblue>0</fontcolorblue>
  90 + <backgroundcolorred>255</backgroundcolorred>
  91 + <backgroundcolorgreen>205</backgroundcolorgreen>
  92 + <backgroundcolorblue>112</backgroundcolorblue>
  93 + <bordercolorred>100</bordercolorred>
  94 + <bordercolorgreen>100</bordercolorgreen>
  95 + <bordercolorblue>100</bordercolorblue>
  96 + <drawshadow>Y</drawshadow>
  97 + </notepad>
  98 + <notepad>
  99 + <note>&#x56e0;&#x4e3a;&#x65f6;&#x523b;&#x8868;&#x8f93;&#x5165;&#x683c;&#x5f0f;&#x4e0d;&#x786e;&#x5b9a;&#x6027;&#xff0c;&#x4e3b;&#x8981;&#x56e0;&#x4e3a;&#x8868;&#x7ed3;&#x6784;&#x662f;&#x53cd;&#x8303;&#x5f0f;&#x5316;&#x7684;&#xff0c;&#xa;&#x6240;&#x4ee5;&#x9700;&#x8981;&#x5916;&#x90e8;&#x52a8;&#x6001;&#x6307;&#x5b9a;&#x613f;&#x6570;&#x636e;&#xff0c;&#x5934;&#x4e09;&#x4e2a;step&#x52a8;&#x6001;&#x6307;&#x5b9a;&#x613f;&#x6570;&#x636e;&#xa;&#xa;</note>
  100 + <xloc>79</xloc>
  101 + <yloc>206</yloc>
  102 + <width>346</width>
  103 + <heigth>74</heigth>
  104 + <fontname>YaHei Consolas Hybrid</fontname>
  105 + <fontsize>12</fontsize>
  106 + <fontbold>N</fontbold>
  107 + <fontitalic>N</fontitalic>
  108 + <fontcolorred>0</fontcolorred>
  109 + <fontcolorgreen>0</fontcolorgreen>
  110 + <fontcolorblue>0</fontcolorblue>
  111 + <backgroundcolorred>255</backgroundcolorred>
  112 + <backgroundcolorgreen>205</backgroundcolorgreen>
  113 + <backgroundcolorblue>112</backgroundcolorblue>
  114 + <bordercolorred>100</bordercolorred>
  115 + <bordercolorgreen>100</bordercolorgreen>
  116 + <bordercolorblue>100</bordercolorblue>
  117 + <drawshadow>Y</drawshadow>
  118 + </notepad>
  119 + <notepad>
  120 + <note>&#x8fd9;&#x91cc;&#x6709;&#x4e9b;&#x95ee;&#x9898;&#xa;&#x5728;window2012&#x7684;&#x73af;&#x5883;&#x4e0b;&#xff0c;&#xa;MySql&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x4e2d;&#x5982;&#x679c;&#x8fd4;&#x56de;&#x4e2d;&#x6587;&#x5185;&#x5bb9;&#x7684;&#x5b57;&#x6bb5;&#xff0c;&#x8fd9;&#x4e2a;&#x5185;&#x5bb9;&#x4e71;&#x7801;&#xa;&#x89e3;&#x51b3;&#x529e;&#x6cd5;&#xff0c;&#x5c31;&#x662f;&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x5168;&#x90e8;&#x7f13;&#x5b58;&#xff0c;&#x5c31;&#x4e0d;&#x4e71;&#x7801;&#xa;linux&#x73af;&#x5883;&#x4e0b;&#x6ca1;&#x95ee;&#x9898;</note>
  121 + <xloc>721</xloc>
  122 + <yloc>762</yloc>
  123 + <width>333</width>
  124 + <heigth>90</heigth>
  125 + <fontname>YaHei Consolas Hybrid</fontname>
  126 + <fontsize>12</fontsize>
  127 + <fontbold>N</fontbold>
  128 + <fontitalic>N</fontitalic>
  129 + <fontcolorred>0</fontcolorred>
  130 + <fontcolorgreen>0</fontcolorgreen>
  131 + <fontcolorblue>0</fontcolorblue>
  132 + <backgroundcolorred>255</backgroundcolorred>
  133 + <backgroundcolorgreen>205</backgroundcolorgreen>
  134 + <backgroundcolorblue>112</backgroundcolorblue>
  135 + <bordercolorred>100</bordercolorred>
  136 + <bordercolorgreen>100</bordercolorgreen>
  137 + <bordercolorblue>100</bordercolorblue>
  138 + <drawshadow>Y</drawshadow>
  139 + </notepad>
  140 + <notepad>
  141 + <note>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#xff0c;&#x65b9;&#x5411;&#x6709;&#x65f6;&#x786e;&#x5b9a;&#x4e0d;&#x51c6;&#xff0c;&#xa;&#x7a7a;&#x7684;&#x60c5;&#x51b5;&#x4e0b;&#x8bbe;&#x5b9a;&#x4e3a;0&#xff08;&#x4e0a;&#x884c;&#xff09;</note>
  142 + <xloc>120</xloc>
  143 + <yloc>1016</yloc>
  144 + <width>178</width>
  145 + <heigth>42</heigth>
  146 + <fontname>YaHei Consolas Hybrid</fontname>
  147 + <fontsize>12</fontsize>
  148 + <fontbold>N</fontbold>
  149 + <fontitalic>N</fontitalic>
  150 + <fontcolorred>0</fontcolorred>
  151 + <fontcolorgreen>0</fontcolorgreen>
  152 + <fontcolorblue>0</fontcolorblue>
  153 + <backgroundcolorred>255</backgroundcolorred>
  154 + <backgroundcolorgreen>205</backgroundcolorgreen>
  155 + <backgroundcolorblue>112</backgroundcolorblue>
  156 + <bordercolorred>100</bordercolorred>
  157 + <bordercolorgreen>100</bordercolorgreen>
  158 + <bordercolorblue>100</bordercolorblue>
  159 + <drawshadow>Y</drawshadow>
  160 + </notepad>
  161 + <notepad>
  162 + <note>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#xff0c;&#x65b9;&#x5411;&#x6709;&#x65f6;&#x786e;&#x5b9a;&#x4e0d;&#x51c6;&#xff0c;&#xa;&#x7a7a;&#x7684;&#x60c5;&#x51b5;&#x4e0b;&#x8bbe;&#x5b9a;&#x4e3a;0&#xff08;&#x4e0a;&#x884c;&#xff09;</note>
  163 + <xloc>578</xloc>
  164 + <yloc>1084</yloc>
  165 + <width>178</width>
  166 + <heigth>42</heigth>
  167 + <fontname>YaHei Consolas Hybrid</fontname>
  168 + <fontsize>12</fontsize>
  169 + <fontbold>N</fontbold>
  170 + <fontitalic>N</fontitalic>
  171 + <fontcolorred>0</fontcolorred>
  172 + <fontcolorgreen>0</fontcolorgreen>
  173 + <fontcolorblue>0</fontcolorblue>
  174 + <backgroundcolorred>255</backgroundcolorred>
  175 + <backgroundcolorgreen>205</backgroundcolorgreen>
  176 + <backgroundcolorblue>112</backgroundcolorblue>
  177 + <bordercolorred>100</bordercolorred>
  178 + <bordercolorgreen>100</bordercolorgreen>
  179 + <bordercolorblue>100</bordercolorblue>
  180 + <drawshadow>Y</drawshadow>
  181 + </notepad>
  182 + </notepads>
  183 + <connection>
  184 + <name>192.168.168.1_jwgl_dw</name>
  185 + <server>192.168.168.1</server>
  186 + <type>ORACLE</type>
  187 + <access>Native</access>
  188 + <database>orcl</database>
  189 + <port>1521</port>
  190 + <username>jwgl_dw</username>
  191 + <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password>
  192 + <servername/>
  193 + <data_tablespace/>
  194 + <index_tablespace/>
  195 + <attributes>
  196 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  197 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  198 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  199 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  200 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  201 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  202 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  203 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  204 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  205 + </attributes>
  206 + </connection>
  207 + <connection>
  208 + <name>bus_control_variable</name>
  209 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  210 + <type>MYSQL</type>
  211 + <access>Native</access>
  212 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  213 + <port>3306</port>
  214 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  215 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  216 + <servername/>
  217 + <data_tablespace/>
  218 + <index_tablespace/>
  219 + <attributes>
  220 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
  221 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  222 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  223 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  224 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  225 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  226 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  227 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  228 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  229 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  230 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  231 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  232 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  233 + </attributes>
  234 + </connection>
  235 + <connection>
  236 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  237 + <server>localhost</server>
  238 + <type>MYSQL</type>
  239 + <access>Native</access>
  240 + <database>control</database>
  241 + <port>3306</port>
  242 + <username>root</username>
  243 + <password>Encrypted </password>
  244 + <servername/>
  245 + <data_tablespace/>
  246 + <index_tablespace/>
  247 + <attributes>
  248 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  249 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  250 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  251 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  252 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  253 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  254 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  255 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  256 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  257 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  258 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  259 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  260 + </attributes>
  261 + </connection>
  262 + <connection>
  263 + <name>bus_control_&#x672c;&#x673a;</name>
  264 + <server>localhost</server>
  265 + <type>MYSQL</type>
  266 + <access>Native</access>
  267 + <database>control</database>
  268 + <port>3306</port>
  269 + <username>root</username>
  270 + <password>Encrypted </password>
  271 + <servername/>
  272 + <data_tablespace/>
  273 + <index_tablespace/>
  274 + <attributes>
  275 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  276 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  277 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  278 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  279 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  280 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  281 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  282 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  283 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  284 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  285 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  286 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  287 + </attributes>
  288 + </connection>
  289 + <connection>
  290 + <name>xlab_mysql_youle</name>
  291 + <server>101.231.124.8</server>
  292 + <type>MYSQL</type>
  293 + <access>Native</access>
  294 + <database>xlab_youle</database>
  295 + <port>45687</port>
  296 + <username>xlab-youle</username>
  297 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
  298 + <servername/>
  299 + <data_tablespace/>
  300 + <index_tablespace/>
  301 + <attributes>
  302 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  303 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  304 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  305 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  306 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  307 + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
  308 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  309 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  310 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  311 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  312 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  313 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  314 + </attributes>
  315 + </connection>
  316 + <connection>
  317 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  318 + <server>localhost</server>
  319 + <type>MYSQL</type>
  320 + <access>Native</access>
  321 + <database>xlab_youle</database>
  322 + <port>3306</port>
  323 + <username>root</username>
  324 + <password>Encrypted </password>
  325 + <servername/>
  326 + <data_tablespace/>
  327 + <index_tablespace/>
  328 + <attributes>
  329 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  330 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  331 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  332 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  333 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  334 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  335 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  336 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  337 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  338 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  339 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  340 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  341 + </attributes>
  342 + </connection>
  343 + <connection>
  344 + <name>xlab_youle</name>
  345 + <server/>
  346 + <type>MYSQL</type>
  347 + <access>JNDI</access>
  348 + <database>xlab_youle</database>
  349 + <port>1521</port>
  350 + <username/>
  351 + <password>Encrypted </password>
  352 + <servername/>
  353 + <data_tablespace/>
  354 + <index_tablespace/>
  355 + <attributes>
  356 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  357 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  358 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  359 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  360 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  361 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  362 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  363 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  364 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  365 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  366 + </attributes>
  367 + </connection>
  368 + <order>
  369 + <hop> <from>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</from><to>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</to><enabled>Y</enabled> </hop>
  370 + <hop> <from>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</from><to>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</to><enabled>Y</enabled> </hop>
  371 + <hop> <from>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</from><to>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</to><enabled>Y</enabled> </hop>
  372 + <hop> <from>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</from><to>&#x5904;&#x7406;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  373 + <hop> <from>&#x5904;&#x7406;&#x6570;&#x636e;</from><to>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</to><enabled>Y</enabled> </hop>
  374 + <hop> <from>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</from><to>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  375 + <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</from><to>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  376 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</to><enabled>Y</enabled> </hop>
  377 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</to><enabled>Y</enabled> </hop>
  378 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</to><enabled>Y</enabled> </hop>
  379 + <hop> <from>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</to><enabled>Y</enabled> </hop>
  380 + <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</from><to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</to><enabled>Y</enabled> </hop>
  381 + <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</from><to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  382 + <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</from><to>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  383 + <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</from><to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  384 + <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x6240;&#x6709;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  385 + <hop> <from>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</to><enabled>Y</enabled> </hop>
  386 + <hop> <from>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  387 + <hop> <from>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>
  388 + <hop> <from>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  389 + <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x6240;&#x6709;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  390 + <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  391 + <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  392 + <hop> <from>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</from><to>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</to><enabled>Y</enabled> </hop>
  393 + <hop> <from>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</from><to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</to><enabled>Y</enabled> </hop>
  394 + <hop> <from>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</to><enabled>Y</enabled> </hop>
  395 + <hop> <from>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</from><to>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>
  396 + <hop> <from>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</from><to>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>
  397 + <hop> <from>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</to><enabled>Y</enabled> </hop>
  398 + <hop> <from>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</to><enabled>Y</enabled> </hop>
  399 + <hop> <from>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</from><to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>
  400 + <hop> <from>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</to><enabled>Y</enabled> </hop>
  401 + <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</to><enabled>Y</enabled> </hop>
  402 + <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</to><enabled>Y</enabled> </hop>
  403 + <hop> <from>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  404 + <hop> <from>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</from><to>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</to><enabled>Y</enabled> </hop>
  405 + <hop> <from>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</from><to>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</to><enabled>Y</enabled> </hop>
  406 + <hop> <from>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
  407 + <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</to><enabled>Y</enabled> </hop>
  408 + <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>
  409 + <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</to><enabled>Y</enabled> </hop>
  410 + <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  411 + <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  412 + <hop> <from>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</to><enabled>Y</enabled> </hop>
  413 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</to><enabled>Y</enabled> </hop>
  414 + <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 2</to><enabled>Y</enabled> </hop>
  415 + <hop> <from>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</to><enabled>Y</enabled> </hop>
  416 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</to><enabled>Y</enabled> </hop>
  417 + <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 3</to><enabled>Y</enabled> </hop>
  418 + </order>
  419 + <step>
  420 + <name>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</name>
  421 + <type>IfNull</type>
  422 + <description/>
  423 + <distribute>Y</distribute>
  424 + <custom_distribution/>
  425 + <copies>1</copies>
  426 + <partitioning>
  427 + <method>none</method>
  428 + <schema_name/>
  429 + </partitioning>
  430 + <replaceAllByValue/>
  431 + <replaceAllMask/>
  432 + <selectFields>Y</selectFields>
  433 + <selectValuesType>N</selectValuesType>
  434 + <setEmptyStringAll>N</setEmptyStringAll>
  435 + <valuetypes>
  436 + </valuetypes>
  437 + <fields>
  438 + <field>
  439 + <name>sxx</name>
  440 + <value>0</value>
  441 + <mask/>
  442 + <set_empty_string>N</set_empty_string>
  443 + </field>
  444 + </fields>
  445 + <cluster_schema/>
  446 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  447 + <xloc>230</xloc>
  448 + <yloc>946</yloc>
  449 + <draw>Y</draw>
  450 + </GUI>
  451 + </step>
  452 +
  453 + <step>
  454 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</name>
  455 + <type>IfNull</type>
  456 + <description/>
  457 + <distribute>Y</distribute>
  458 + <custom_distribution/>
  459 + <copies>1</copies>
  460 + <partitioning>
  461 + <method>none</method>
  462 + <schema_name/>
  463 + </partitioning>
  464 + <replaceAllByValue/>
  465 + <replaceAllMask/>
  466 + <selectFields>Y</selectFields>
  467 + <selectValuesType>N</selectValuesType>
  468 + <setEmptyStringAll>N</setEmptyStringAll>
  469 + <valuetypes>
  470 + </valuetypes>
  471 + <fields>
  472 + <field>
  473 + <name>sxx2</name>
  474 + <value>0</value>
  475 + <mask/>
  476 + <set_empty_string>N</set_empty_string>
  477 + </field>
  478 + </fields>
  479 + <cluster_schema/>
  480 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  481 + <xloc>804</xloc>
  482 + <yloc>1081</yloc>
  483 + <draw>Y</draw>
  484 + </GUI>
  485 + </step>
  486 +
  487 + <step>
  488 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</name>
  489 + <type>ValueMapper</type>
  490 + <description/>
  491 + <distribute>Y</distribute>
  492 + <custom_distribution/>
  493 + <copies>1</copies>
  494 + <partitioning>
  495 + <method>none</method>
  496 + <schema_name/>
  497 + </partitioning>
  498 + <field_to_use>sxx</field_to_use>
  499 + <target_field>sxx_desc</target_field>
  500 + <non_match_default/>
  501 + <fields>
  502 + <field>
  503 + <source_value>0</source_value>
  504 + <target_value>&#x4e0a;&#x884c;</target_value>
  505 + </field>
  506 + <field>
  507 + <source_value>1</source_value>
  508 + <target_value>&#x4e0b;&#x884c;</target_value>
  509 + </field>
  510 + </fields>
  511 + <cluster_schema/>
  512 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  513 + <xloc>147</xloc>
  514 + <yloc>403</yloc>
  515 + <draw>Y</draw>
  516 + </GUI>
  517 + </step>
  518 +
  519 + <step>
  520 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</name>
  521 + <type>ValueMapper</type>
  522 + <description/>
  523 + <distribute>Y</distribute>
  524 + <custom_distribution/>
  525 + <copies>1</copies>
  526 + <partitioning>
  527 + <method>none</method>
  528 + <schema_name/>
  529 + </partitioning>
  530 + <field_to_use>sxx</field_to_use>
  531 + <target_field>sxx_desc</target_field>
  532 + <non_match_default/>
  533 + <fields>
  534 + <field>
  535 + <source_value>0</source_value>
  536 + <target_value>&#x4e0a;&#x884c;</target_value>
  537 + </field>
  538 + <field>
  539 + <source_value>1</source_value>
  540 + <target_value>&#x4e0b;&#x884c;</target_value>
  541 + </field>
  542 + </fields>
  543 + <cluster_schema/>
  544 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  545 + <xloc>331</xloc>
  546 + <yloc>598</yloc>
  547 + <draw>Y</draw>
  548 + </GUI>
  549 + </step>
  550 +
  551 + <step>
  552 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</name>
  553 + <type>ValueMapper</type>
  554 + <description/>
  555 + <distribute>Y</distribute>
  556 + <custom_distribution/>
  557 + <copies>1</copies>
  558 + <partitioning>
  559 + <method>none</method>
  560 + <schema_name/>
  561 + </partitioning>
  562 + <field_to_use>sxx</field_to_use>
  563 + <target_field>sxx_desc</target_field>
  564 + <non_match_default/>
  565 + <fields>
  566 + <field>
  567 + <source_value>0</source_value>
  568 + <target_value>&#x4e0a;&#x884c;</target_value>
  569 + </field>
  570 + <field>
  571 + <source_value>1</source_value>
  572 + <target_value>&#x4e0b;&#x884c;</target_value>
  573 + </field>
  574 + </fields>
  575 + <cluster_schema/>
  576 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  577 + <xloc>553</xloc>
  578 + <yloc>859</yloc>
  579 + <draw>Y</draw>
  580 + </GUI>
  581 + </step>
  582 +
  583 + <step>
  584 + <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>
  585 + <type>ScriptValueMod</type>
  586 + <description/>
  587 + <distribute>Y</distribute>
  588 + <custom_distribution/>
  589 + <copies>1</copies>
  590 + <partitioning>
  591 + <method>none</method>
  592 + <schema_name/>
  593 + </partitioning>
  594 + <compatible>N</compatible>
  595 + <optimizationLevel>9</optimizationLevel>
  596 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  597 + <jsScript_name>Script 1</jsScript_name>
  598 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var cc_groups &#x3d; qdzgroups.split&#x28;&#x22;,&#x22;&#x29;&#x3b; &#x2f;&#x2f; &#x6240;&#x6709;&#x73ed;&#x6b21;&#x8d77;&#x70b9;&#x7ad9;&#x6570;&#x7ec4;&#xa;var zdzname &#x3d; cc_groups&#x5b;gno&#x5d;&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#x662f;&#x4e0b;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x59cb;&#x7ad9;&#xa;var endZdtype &#x3d; &#x27;E&#x27;&#x3b;&#xa;&#xa;var destory &#x3d; 0&#x3b; &#x2f;&#x2f; &#x672a;&#x64a4;&#x9500;flag</jsScript_script>
  599 + </jsScript> </jsScripts> <fields> <field> <name>zdzname</name>
  600 + <rename>zdzname</rename>
  601 + <type>String</type>
  602 + <length>-1</length>
  603 + <precision>-1</precision>
  604 + <replace>N</replace>
  605 + </field> <field> <name>endZdtype</name>
  606 + <rename>endZdtype</rename>
  607 + <type>String</type>
  608 + <length>-1</length>
  609 + <precision>-1</precision>
  610 + <replace>N</replace>
  611 + </field> <field> <name>destory</name>
  612 + <rename>destory</rename>
  613 + <type>Integer</type>
  614 + <length>-1</length>
  615 + <precision>-1</precision>
  616 + <replace>N</replace>
  617 + </field> </fields> <cluster_schema/>
  618 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  619 + <xloc>575</xloc>
  620 + <yloc>502</yloc>
  621 + <draw>Y</draw>
  622 + </GUI>
  623 + </step>
  624 +
  625 + <step>
  626 + <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
  627 + <type>Dummy</type>
  628 + <description/>
  629 + <distribute>Y</distribute>
  630 + <custom_distribution/>
  631 + <copies>1</copies>
  632 + <partitioning>
  633 + <method>none</method>
  634 + <schema_name/>
  635 + </partitioning>
  636 + <cluster_schema/>
  637 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  638 + <xloc>869</xloc>
  639 + <yloc>504</yloc>
  640 + <draw>Y</draw>
  641 + </GUI>
  642 + </step>
  643 +
  644 + <step>
  645 + <name>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</name>
  646 + <type>GroupBy</type>
  647 + <description/>
  648 + <distribute>Y</distribute>
  649 + <custom_distribution/>
  650 + <copies>1</copies>
  651 + <partitioning>
  652 + <method>none</method>
  653 + <schema_name/>
  654 + </partitioning>
  655 + <all_rows>Y</all_rows>
  656 + <ignore_aggregate>N</ignore_aggregate>
  657 + <field_ignore/>
  658 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  659 + <prefix>grp</prefix>
  660 + <add_linenr>Y</add_linenr>
  661 + <linenr_fieldname>gno</linenr_fieldname>
  662 + <give_back_row>N</give_back_row>
  663 + <group>
  664 + <field>
  665 + <name>lp</name>
  666 + </field>
  667 + </group>
  668 + <fields>
  669 + <field>
  670 + <aggregate>qdzgroups</aggregate>
  671 + <subject>qdzname</subject>
  672 + <type>CONCAT_STRING</type>
  673 + <valuefield>,</valuefield>
  674 + </field>
  675 + </fields>
  676 + <cluster_schema/>
  677 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  678 + <xloc>892</xloc>
  679 + <yloc>44</yloc>
  680 + <draw>Y</draw>
  681 + </GUI>
  682 + </step>
  683 +
  684 + <step>
  685 + <name>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  686 + <type>ScriptValueMod</type>
  687 + <description/>
  688 + <distribute>Y</distribute>
  689 + <custom_distribution/>
  690 + <copies>1</copies>
  691 + <partitioning>
  692 + <method>none</method>
  693 + <schema_name/>
  694 + </partitioning>
  695 + <compatible>N</compatible>
  696 + <optimizationLevel>9</optimizationLevel>
  697 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  698 + <jsScript_name>Script 1</jsScript_name>
  699 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var jhlc&#x3b; &#x2f;&#x2f; &#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var bcsj&#x3b; &#x2f;&#x2f; &#x73ed;&#x6b21;&#x65f6;&#x95f4;&#xa;&#xa;&#x2f;&#x2f; &#x65f6;&#x95f4;&#x8303;&#x56f4;&#x6b63;&#x5219;&#x8868;&#x8fbe;&#x5f0f;&#xa;var timeRex &#x3d; &#x2f;&#x5e;&#x28;&#x5b;01&#x5d;&#x3f;&#x5b;0-9&#x5d;&#x7c;2&#x5b;0-3&#x5d;&#x29;&#x3a;&#x5b;0-5&#x5d;&#x5b;0-9&#x5d;&#x24;&#x2f;&#x3b;&#xa;&#x2f;&#x2f; &#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x8f6c;&#x6362;&#x6210;&#x65e5;&#x671f;&#xa;var fcsj_hour &#x3d; str2num&#x28;sendtime_calcu.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa;var fcsj_min &#x3d; str2num&#x28;sendtime_calcu.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa;var fcsj_date &#x3d; new Date&#x28;2000,1,1,fcsj_hour,fcsj_min,0&#x29;&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x5224;&#x5b9a;&#x662f;&#x5426;&#x65e9;&#x9ad8;&#x5cf0;&#xa;var isZgf &#x3d; false&#x3b;&#xa;if &#x28;timeRex.test&#x28;early_start_time&#x29; &#x26;&#x26; timeRex.test&#x28;early_end_time&#x29; &#x26;&#x26; early_up_time &#x21;&#x3d; null &#x26;&#x26; early_down_time &#x21;&#x3d; null&#x29; &#x7b;&#xa; var early_s_hour &#x3d; str2num&#x28;early_start_time.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var early_s_min &#x3d; str2num&#x28;early_start_time.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var early_s_date &#x3d; new Date&#x28;2000,1,1,early_s_hour,early_s_min,0&#x29;&#x3b;&#xa;&#xa; var early_e_hour &#x3d; str2num&#x28;early_end_time.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var early_e_min &#x3d; str2num&#x28;early_end_time.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var early_e_date &#x3d; new Date&#x28;2000,1,1,early_e_hour,early_e_min,0&#x29;&#x3b;&#xa;&#xa; if &#x28;fcsj_date &#x3e;&#x3d; early_s_date &#x26;&#x26; fcsj_date &#x3c;&#x3d; early_e_date&#x29; &#x7b;&#xa; isZgf &#x3d; true&#x3b;&#xa; &#x7d;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x5224;&#x5b9a;&#x662f;&#x5426;&#x665a;&#x9ad8;&#x5cf0;&#xa;var isWgf &#x3d; false&#x3b;&#xa;if &#x28;timeRex.test&#x28;late_start_time&#x29; &#x26;&#x26; timeRex.test&#x28;late_end_time&#x29; &#x26;&#x26; late_up_time &#x21;&#x3d; null &#x26;&#x26; late_down_time &#x21;&#x3d; null&#x29; &#x7b;&#xa; var late_s_hour &#x3d; str2num&#x28;late_start_time.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var late_s_min &#x3d; str2num&#x28;late_start_time.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var late_s_date &#x3d; new Date&#x28;2000,1,1,late_s_hour,late_s_min,0&#x29;&#x3b;&#xa;&#xa; var late_e_hour &#x3d; str2num&#x28;late_end_time.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var late_e_min &#x3d; str2num&#x28;late_end_time.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var late_e_date &#x3d; new Date&#x28;2000,1,1,late_e_hour,late_e_min,0&#x29;&#x3b;&#xa;&#xa; if &#x28;fcsj_date &#x3e;&#x3d; late_s_date &#x26;&#x26; fcsj_date &#x3c;&#x3d; late_e_date&#x29; &#x7b;&#xa; isWgf &#x3d; true&#x3b;&#xa; &#x7d;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x5224;&#x5b9a;&#x662f;&#x5426;&#x665a;&#x9ad8;&#x5cf0;&#xa;&#xa;if &#x28;sxx &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; if &#x28;isZgf&#x29; &#x7b;&#xa; jhlc &#x3d; up_mileage&#x3b;&#xa; bcsj &#x3d; early_up_time &#x3f; early_up_time &#x3a; up_travel_time&#x3b;&#xa; &#x7d; else if &#x28;isWgf&#x29; &#x7b;&#xa; jhlc &#x3d; up_mileage&#x3b;&#xa; bcsj &#x3d; late_up_time &#x3f; late_up_time &#x3a; up_travel_time&#x3b;&#xa; &#x7d; else &#x7b;&#xa; jhlc &#x3d; up_mileage&#x3b;&#xa; bcsj &#x3d; up_travel_time&#x3b;&#xa; &#x7d;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; if &#x28;isZgf&#x29; &#x7b;&#xa; jhlc &#x3d; down_mileage&#x3b;&#xa; bcsj &#x3d; early_down_time &#x3f; early_down_time &#x3a; down_travel_time&#x3b;&#xa; &#x7d; else if &#x28;isWgf&#x29; &#x7b;&#xa; jhlc &#x3d; down_mileage&#x3b;&#xa; bcsj &#x3d; late_down_time &#x3f; late_down_time &#x3a; down_travel_time&#x3b;&#xa; &#x7d; else &#x7b;&#xa; jhlc &#x3d; down_mileage&#x3b;&#xa; bcsj &#x3d; down_travel_time&#x3b;&#xa; &#x7d;&#xa;&#x7d;&#xa;&#xa;</jsScript_script>
  700 + </jsScript> </jsScripts> <fields> <field> <name>jhlc</name>
  701 + <rename>jhlc</rename>
  702 + <type>String</type>
  703 + <length>-1</length>
  704 + <precision>-1</precision>
  705 + <replace>N</replace>
  706 + </field> <field> <name>bcsj</name>
  707 + <rename>bcsj</rename>
  708 + <type>String</type>
  709 + <length>-1</length>
  710 + <precision>-1</precision>
  711 + <replace>N</replace>
  712 + </field> </fields> <cluster_schema/>
  713 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  714 + <xloc>148</xloc>
  715 + <yloc>674</yloc>
  716 + <draw>Y</draw>
  717 + </GUI>
  718 + </step>
  719 +
  720 + <step>
  721 + <name>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  722 + <type>ScriptValueMod</type>
  723 + <description/>
  724 + <distribute>Y</distribute>
  725 + <custom_distribution/>
  726 + <copies>1</copies>
  727 + <partitioning>
  728 + <method>none</method>
  729 + <schema_name/>
  730 + </partitioning>
  731 + <compatible>N</compatible>
  732 + <optimizationLevel>9</optimizationLevel>
  733 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  734 + <jsScript_name>Script 1</jsScript_name>
  735 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var out_mileage&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var out_time&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x8ba1;&#x5212;&#x65f6;&#x95f4;&#xa;&#xa;if &#x28;sxx &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; out_mileage &#x3d; up_out_mileage&#x3b;&#xa; out_time &#x3d; up_out_timer&#x3b;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; out_mileage &#x3d; down_out_mileage&#x3b;&#xa; out_time &#x3d; down_out_timer&#x3b;&#xa;&#x7d;&#xa;&#xa;&#xa;&#xa;</jsScript_script>
  736 + </jsScript> </jsScripts> <fields> <field> <name>out_mileage</name>
  737 + <rename>out_mileage</rename>
  738 + <type>String</type>
  739 + <length>-1</length>
  740 + <precision>-1</precision>
  741 + <replace>N</replace>
  742 + </field> <field> <name>out_time</name>
  743 + <rename>out_time</rename>
  744 + <type>String</type>
  745 + <length>-1</length>
  746 + <precision>-1</precision>
  747 + <replace>N</replace>
  748 + </field> </fields> <cluster_schema/>
  749 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  750 + <xloc>336</xloc>
  751 + <yloc>862</yloc>
  752 + <draw>Y</draw>
  753 + </GUI>
  754 + </step>
  755 +
  756 + <step>
  757 + <name>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  758 + <type>ScriptValueMod</type>
  759 + <description/>
  760 + <distribute>Y</distribute>
  761 + <custom_distribution/>
  762 + <copies>1</copies>
  763 + <partitioning>
  764 + <method>none</method>
  765 + <schema_name/>
  766 + </partitioning>
  767 + <compatible>N</compatible>
  768 + <optimizationLevel>9</optimizationLevel>
  769 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  770 + <jsScript_name>Script 1</jsScript_name>
  771 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var parade_mileage&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var parade_time&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x8ba1;&#x5212;&#x65f6;&#x95f4;&#xa;&#xa;if &#x28;sxx2 &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; parade_mileage &#x3d; up_in_mileage&#x3b;&#xa; parade_time &#x3d; up_in_timer&#x3b;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; parade_mileage &#x3d; down_in_mileage&#x3b;&#xa; parade_time &#x3d; down_in_timer&#x3b;&#xa;&#x7d;&#xa;&#xa;&#xa;&#xa;</jsScript_script>
  772 + </jsScript> </jsScripts> <fields> <field> <name>parade_mileage</name>
  773 + <rename>parade_mileage</rename>
  774 + <type>String</type>
  775 + <length>-1</length>
  776 + <precision>-1</precision>
  777 + <replace>N</replace>
  778 + </field> <field> <name>parade_time</name>
  779 + <rename>parade_time</rename>
  780 + <type>String</type>
  781 + <length>-1</length>
  782 + <precision>-1</precision>
  783 + <replace>N</replace>
  784 + </field> </fields> <cluster_schema/>
  785 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  786 + <xloc>726</xloc>
  787 + <yloc>1005</yloc>
  788 + <draw>Y</draw>
  789 + </GUI>
  790 + </step>
  791 +
  792 + <step>
  793 + <name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</name>
  794 + <type>DataGrid</type>
  795 + <description/>
  796 + <distribute>Y</distribute>
  797 + <custom_distribution/>
  798 + <copies>1</copies>
  799 + <partitioning>
  800 + <method>none</method>
  801 + <schema_name/>
  802 + </partitioning>
  803 + <fields>
  804 + </fields>
  805 + <data>
  806 + <line> </line>
  807 + </data>
  808 + <cluster_schema/>
  809 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  810 + <xloc>110</xloc>
  811 + <yloc>133</yloc>
  812 + <draw>Y</draw>
  813 + </GUI>
  814 + </step>
  815 +
  816 + <step>
  817 + <name>&#x5904;&#x7406;&#x6570;&#x636e;</name>
  818 + <type>ScriptValueMod</type>
  819 + <description/>
  820 + <distribute>Y</distribute>
  821 + <custom_distribution/>
  822 + <copies>1</copies>
  823 + <partitioning>
  824 + <method>none</method>
  825 + <schema_name/>
  826 + </partitioning>
  827 + <compatible>N</compatible>
  828 + <optimizationLevel>9</optimizationLevel>
  829 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  830 + <jsScript_name>Script 1</jsScript_name>
  831 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x4f7f;&#x7528;&#x6b63;&#x5219;&#x8868;&#x8fbe;&#x5f0f;&#x53bb;&#x9664;&#x7ad9;&#x70b9;&#x540d;&#x79f0;&#x4e2d;&#x7684;&#x6570;&#x5b57;&#xa;qdzname &#x3d; qdzname.replace&#x28;&#x2f;&#x5c;d&#x2b;&#x2f;g,&#x27;&#x27;&#x29;&#x3b;&#xa;&#xa;&#x2f;&#x2f; sendtime&#x5904;&#x7406;&#xff0c;hhmm&#xff0c;hh&#x3a;mm&#xff0c;hh,mm&#xa;var sendtime_calcu&#x3b;&#xa;if &#x28;sendtime.length &#x3d;&#x3d; 5&#x29; &#x7b; &#x2f;&#x2f; &#x6700;&#x957f;&#x683c;&#x5f0f;&#xff0c;&#x5305;&#x62ec;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x7edf;&#x4e00;&#x628a;&#x5206;&#x9694;&#x7b26;&#x66ff;&#x6362;&#x6210;&#x5192;&#x53f7;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;3, 2&#x29;&#x3b;&#xa;&#x7d; else if &#x28;sendtime.length &#x3d;&#x3d; 4&#x29; &#x7b;&#xa; if &#x28;sendtime.indexOf&#x28;&#x22;&#x3a;&#x22;&#x29; &#x3e; 0&#x29; &#x7b; &#x2f;&#x2f; &#x5192;&#x53f7;&#x5206;&#x9694;&#xff0c;&#x65e0;&#x9700;&#x4fee;&#x6539;&#xa; sendtime_calcu &#x3d; sendtime&#x3b;&#xa; &#x7d; else if &#x28;sendtime.indexOf&#x28;&#x22;,&#x22;&#x29; &#x3e; 0&#x29; &#x7b; &#x2f;&#x2f; &#x9017;&#x53f7;&#x5206;&#x9694;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 1&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa; &#x7d; else &#x7b; &#x2f;&#x2f; &#x65e0;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa; &#x7d;&#xa;&#x7d; else if &#x28;sendtime.length &#x3d;&#x3d; 3&#x29; &#x7b; &#x2f;&#x2f; &#x65e0;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 1&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;1, 2&#x29;&#x3b;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;&#x5206;&#x73ed;&#xa;var isfb &#x3d; 0&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;isCanceled&#xa;var iscanceled &#x3d; 0&#x3b;</jsScript_script>
  832 + </jsScript> </jsScripts> <fields> <field> <name>qdzname</name>
  833 + <rename>qdzname</rename>
  834 + <type>String</type>
  835 + <length>-1</length>
  836 + <precision>-1</precision>
  837 + <replace>Y</replace>
  838 + </field> <field> <name>isfb</name>
  839 + <rename>isfb</rename>
  840 + <type>Integer</type>
  841 + <length>-1</length>
  842 + <precision>-1</precision>
  843 + <replace>N</replace>
  844 + </field> <field> <name>iscanceled</name>
  845 + <rename>iscanceled</rename>
  846 + <type>Integer</type>
  847 + <length>-1</length>
  848 + <precision>-1</precision>
  849 + <replace>N</replace>
  850 + </field> <field> <name>sendtime_calcu</name>
  851 + <rename>sendtime_calcu</rename>
  852 + <type>String</type>
  853 + <length>-1</length>
  854 + <precision>-1</precision>
  855 + <replace>N</replace>
  856 + </field> </fields> <cluster_schema/>
  857 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  858 + <xloc>788</xloc>
  859 + <yloc>44</yloc>
  860 + <draw>Y</draw>
  861 + </GUI>
  862 + </step>
  863 +
  864 + <step>
  865 + <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
  866 + <type>SelectValues</type>
  867 + <description/>
  868 + <distribute>Y</distribute>
  869 + <custom_distribution/>
  870 + <copies>1</copies>
  871 + <partitioning>
  872 + <method>none</method>
  873 + <schema_name/>
  874 + </partitioning>
  875 + <fields> <field> <name>&#x8def;&#x724c;</name>
  876 + <rename>lp</rename>
  877 + <length>-2</length>
  878 + <precision>-2</precision>
  879 + </field> <field> <name>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</name>
  880 + <rename>qdzname</rename>
  881 + <length>-2</length>
  882 + <precision>-2</precision>
  883 + </field> <field> <name>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</name>
  884 + <rename>sendtime</rename>
  885 + <length>-2</length>
  886 + <precision>-2</precision>
  887 + </field> <select_unspecified>Y</select_unspecified>
  888 + </fields> <cluster_schema/>
  889 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  890 + <xloc>444</xloc>
  891 + <yloc>131</yloc>
  892 + <draw>Y</draw>
  893 + </GUI>
  894 + </step>
  895 +
  896 + <step>
  897 + <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</name>
  898 + <type>FilterRows</type>
  899 + <description/>
  900 + <distribute>Y</distribute>
  901 + <custom_distribution/>
  902 + <copies>1</copies>
  903 + <partitioning>
  904 + <method>none</method>
  905 + <schema_name/>
  906 + </partitioning>
  907 +<send_true_to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>
  908 +<send_false_to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</send_false_to>
  909 + <compare>
  910 +<condition>
  911 + <negated>N</negated>
  912 + <leftvalue>bctype</leftvalue>
  913 + <function>&#x3d;</function>
  914 + <rightvalue/>
  915 + <value><name>constant</name><type>String</type><text>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>
  916 + </compare>
  917 + <cluster_schema/>
  918 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  919 + <xloc>860</xloc>
  920 + <yloc>401</yloc>
  921 + <draw>Y</draw>
  922 + </GUI>
  923 + </step>
  924 +
  925 + <step>
  926 + <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</name>
  927 + <type>FilterRows</type>
  928 + <description/>
  929 + <distribute>Y</distribute>
  930 + <custom_distribution/>
  931 + <copies>1</copies>
  932 + <partitioning>
  933 + <method>none</method>
  934 + <schema_name/>
  935 + </partitioning>
  936 +<send_true_to>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>
  937 +<send_false_to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_false_to>
  938 + <compare>
  939 +<condition>
  940 + <negated>N</negated>
  941 + <leftvalue>bctype</leftvalue>
  942 + <function>&#x3d;</function>
  943 + <rightvalue/>
  944 + <value><name>constant</name><type>String</type><text>&#x51fa;&#x573a;</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>
  945 + </compare>
  946 + <cluster_schema/>
  947 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  948 + <xloc>995</xloc>
  949 + <yloc>503</yloc>
  950 + <draw>Y</draw>
  951 + </GUI>
  952 + </step>
  953 +
  954 + <step>
  955 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</name>
  956 + <type>InsertUpdate</type>
  957 + <description/>
  958 + <distribute>Y</distribute>
  959 + <custom_distribution/>
  960 + <copies>1</copies>
  961 + <partitioning>
  962 + <method>none</method>
  963 + <schema_name/>
  964 + </partitioning>
  965 + <connection>bus_control_variable</connection>
  966 + <commit>100</commit>
  967 + <update_bypassed>N</update_bypassed>
  968 + <lookup>
  969 + <schema/>
  970 + <table>bsth_c_s_ttinfo_detail</table>
  971 + <key>
  972 + <name>xlid</name>
  973 + <field>xl</field>
  974 + <condition>&#x3d;</condition>
  975 + <name2/>
  976 + </key>
  977 + <key>
  978 + <name>ttid</name>
  979 + <field>ttinfo</field>
  980 + <condition>&#x3d;</condition>
  981 + <name2/>
  982 + </key>
  983 + <key>
  984 + <name>lpid</name>
  985 + <field>lp</field>
  986 + <condition>&#x3d;</condition>
  987 + <name2/>
  988 + </key>
  989 + <key>
  990 + <name>fcno</name>
  991 + <field>fcno</field>
  992 + <condition>&#x3d;</condition>
  993 + <name2/>
  994 + </key>
  995 + <key>
  996 + <name>bcs</name>
  997 + <field>bcs</field>
  998 + <condition>&#x3d;</condition>
  999 + <name2/>
  1000 + </key>
  1001 + <value>
  1002 + <name>lp</name>
  1003 + <rename>lpid</rename>
  1004 + <update>Y</update>
  1005 + </value>
  1006 + <value>
  1007 + <name>bc_type</name>
  1008 + <rename>bctype_code</rename>
  1009 + <update>Y</update>
  1010 + </value>
  1011 + <value>
  1012 + <name>bcs</name>
  1013 + <rename>bcs</rename>
  1014 + <update>Y</update>
  1015 + </value>
  1016 + <value>
  1017 + <name>bcsj</name>
  1018 + <rename>bcsj</rename>
  1019 + <update>Y</update>
  1020 + </value>
  1021 + <value>
  1022 + <name>fcno</name>
  1023 + <rename>fcno</rename>
  1024 + <update>Y</update>
  1025 + </value>
  1026 + <value>
  1027 + <name>jhlc</name>
  1028 + <rename>jhlc</rename>
  1029 + <update>Y</update>
  1030 + </value>
  1031 + <value>
  1032 + <name>fcsj</name>
  1033 + <rename>sendtime_calcu</rename>
  1034 + <update>Y</update>
  1035 + </value>
  1036 + <value>
  1037 + <name>ttinfo</name>
  1038 + <rename>ttid</rename>
  1039 + <update>Y</update>
  1040 + </value>
  1041 + <value>
  1042 + <name>xl</name>
  1043 + <rename>xlid</rename>
  1044 + <update>Y</update>
  1045 + </value>
  1046 + <value>
  1047 + <name>qdz</name>
  1048 + <rename>qdzid</rename>
  1049 + <update>Y</update>
  1050 + </value>
  1051 + <value>
  1052 + <name>zdz</name>
  1053 + <rename>zdzid</rename>
  1054 + <update>Y</update>
  1055 + </value>
  1056 + <value>
  1057 + <name>xl_dir</name>
  1058 + <rename>sxx</rename>
  1059 + <update>Y</update>
  1060 + </value>
  1061 + <value>
  1062 + <name>isfb</name>
  1063 + <rename>isfb</rename>
  1064 + <update>Y</update>
  1065 + </value>
  1066 + <value>
  1067 + <name>qdz_code</name>
  1068 + <rename>qdzcode</rename>
  1069 + <update>Y</update>
  1070 + </value>
  1071 + <value>
  1072 + <name>qdz_name</name>
  1073 + <rename>qdzname</rename>
  1074 + <update>Y</update>
  1075 + </value>
  1076 + <value>
  1077 + <name>zdz_code</name>
  1078 + <rename>zdzcode</rename>
  1079 + <update>Y</update>
  1080 + </value>
  1081 + <value>
  1082 + <name>zdz_name</name>
  1083 + <rename>zdzname</rename>
  1084 + <update>Y</update>
  1085 + </value>
  1086 + </lookup>
  1087 + <cluster_schema/>
  1088 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1089 + <xloc>143</xloc>
  1090 + <yloc>860</yloc>
  1091 + <draw>Y</draw>
  1092 + </GUI>
  1093 + </step>
  1094 +
  1095 + <step>
  1096 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 2</name>
  1097 + <type>InsertUpdate</type>
  1098 + <description/>
  1099 + <distribute>Y</distribute>
  1100 + <custom_distribution/>
  1101 + <copies>1</copies>
  1102 + <partitioning>
  1103 + <method>none</method>
  1104 + <schema_name/>
  1105 + </partitioning>
  1106 + <connection>bus_control_variable</connection>
  1107 + <commit>100</commit>
  1108 + <update_bypassed>N</update_bypassed>
  1109 + <lookup>
  1110 + <schema/>
  1111 + <table>bsth_c_s_ttinfo_detail</table>
  1112 + <key>
  1113 + <name>xlid</name>
  1114 + <field>xl</field>
  1115 + <condition>&#x3d;</condition>
  1116 + <name2/>
  1117 + </key>
  1118 + <key>
  1119 + <name>ttid</name>
  1120 + <field>ttinfo</field>
  1121 + <condition>&#x3d;</condition>
  1122 + <name2/>
  1123 + </key>
  1124 + <key>
  1125 + <name>lpid</name>
  1126 + <field>lp</field>
  1127 + <condition>&#x3d;</condition>
  1128 + <name2/>
  1129 + </key>
  1130 + <key>
  1131 + <name>fcno</name>
  1132 + <field>fcno</field>
  1133 + <condition>&#x3d;</condition>
  1134 + <name2/>
  1135 + </key>
  1136 + <key>
  1137 + <name>bcs</name>
  1138 + <field>bcs</field>
  1139 + <condition>&#x3d;</condition>
  1140 + <name2/>
  1141 + </key>
  1142 + <value>
  1143 + <name>tcc</name>
  1144 + <rename>qdzid</rename>
  1145 + <update>Y</update>
  1146 + </value>
  1147 + <value>
  1148 + <name>zdz</name>
  1149 + <rename>zdzid</rename>
  1150 + <update>Y</update>
  1151 + </value>
  1152 + <value>
  1153 + <name>xl</name>
  1154 + <rename>xlid</rename>
  1155 + <update>Y</update>
  1156 + </value>
  1157 + <value>
  1158 + <name>ttinfo</name>
  1159 + <rename>ttid</rename>
  1160 + <update>Y</update>
  1161 + </value>
  1162 + <value>
  1163 + <name>xl_dir</name>
  1164 + <rename>sxx</rename>
  1165 + <update>Y</update>
  1166 + </value>
  1167 + <value>
  1168 + <name>lp</name>
  1169 + <rename>lpid</rename>
  1170 + <update>Y</update>
  1171 + </value>
  1172 + <value>
  1173 + <name>jhlc</name>
  1174 + <rename>out_mileage</rename>
  1175 + <update>Y</update>
  1176 + </value>
  1177 + <value>
  1178 + <name>fcsj</name>
  1179 + <rename>sendtime_calcu</rename>
  1180 + <update>Y</update>
  1181 + </value>
  1182 + <value>
  1183 + <name>bcsj</name>
  1184 + <rename>out_time</rename>
  1185 + <update>Y</update>
  1186 + </value>
  1187 + <value>
  1188 + <name>bcs</name>
  1189 + <rename>bcs</rename>
  1190 + <update>Y</update>
  1191 + </value>
  1192 + <value>
  1193 + <name>fcno</name>
  1194 + <rename>fcno</rename>
  1195 + <update>Y</update>
  1196 + </value>
  1197 + <value>
  1198 + <name>bc_type</name>
  1199 + <rename>bctype_code</rename>
  1200 + <update>Y</update>
  1201 + </value>
  1202 + <value>
  1203 + <name>isfb</name>
  1204 + <rename>isfb</rename>
  1205 + <update>Y</update>
  1206 + </value>
  1207 + <value>
  1208 + <name>qdz_code</name>
  1209 + <rename>qdzcode</rename>
  1210 + <update>Y</update>
  1211 + </value>
  1212 + <value>
  1213 + <name>qdz_name</name>
  1214 + <rename>tn</rename>
  1215 + <update>Y</update>
  1216 + </value>
  1217 + <value>
  1218 + <name>zdz_code</name>
  1219 + <rename>zdzcode</rename>
  1220 + <update>Y</update>
  1221 + </value>
  1222 + <value>
  1223 + <name>zdz_name</name>
  1224 + <rename>zdzname</rename>
  1225 + <update>Y</update>
  1226 + </value>
  1227 + </lookup>
  1228 + <cluster_schema/>
  1229 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1230 + <xloc>340</xloc>
  1231 + <yloc>1087</yloc>
  1232 + <draw>Y</draw>
  1233 + </GUI>
  1234 + </step>
  1235 +
  1236 + <step>
  1237 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 3</name>
  1238 + <type>InsertUpdate</type>
  1239 + <description/>
  1240 + <distribute>Y</distribute>
  1241 + <custom_distribution/>
  1242 + <copies>1</copies>
  1243 + <partitioning>
  1244 + <method>none</method>
  1245 + <schema_name/>
  1246 + </partitioning>
  1247 + <connection>bus_control_variable</connection>
  1248 + <commit>100</commit>
  1249 + <update_bypassed>N</update_bypassed>
  1250 + <lookup>
  1251 + <schema/>
  1252 + <table>bsth_c_s_ttinfo_detail</table>
  1253 + <key>
  1254 + <name>xlid</name>
  1255 + <field>xl</field>
  1256 + <condition>&#x3d;</condition>
  1257 + <name2/>
  1258 + </key>
  1259 + <key>
  1260 + <name>ttid</name>
  1261 + <field>ttinfo</field>
  1262 + <condition>&#x3d;</condition>
  1263 + <name2/>
  1264 + </key>
  1265 + <key>
  1266 + <name>lpid</name>
  1267 + <field>lp</field>
  1268 + <condition>&#x3d;</condition>
  1269 + <name2/>
  1270 + </key>
  1271 + <key>
  1272 + <name>fcno</name>
  1273 + <field>fcno</field>
  1274 + <condition>&#x3d;</condition>
  1275 + <name2/>
  1276 + </key>
  1277 + <key>
  1278 + <name>bcs</name>
  1279 + <field>bcs</field>
  1280 + <condition>&#x3d;</condition>
  1281 + <name2/>
  1282 + </key>
  1283 + <value>
  1284 + <name>fcno</name>
  1285 + <rename>fcno</rename>
  1286 + <update>Y</update>
  1287 + </value>
  1288 + <value>
  1289 + <name>bcs</name>
  1290 + <rename>bcs</rename>
  1291 + <update>Y</update>
  1292 + </value>
  1293 + <value>
  1294 + <name>xl</name>
  1295 + <rename>xlid</rename>
  1296 + <update>Y</update>
  1297 + </value>
  1298 + <value>
  1299 + <name>ttinfo</name>
  1300 + <rename>ttid</rename>
  1301 + <update>Y</update>
  1302 + </value>
  1303 + <value>
  1304 + <name>lp</name>
  1305 + <rename>lpid</rename>
  1306 + <update>Y</update>
  1307 + </value>
  1308 + <value>
  1309 + <name>bc_type</name>
  1310 + <rename>bctype_code</rename>
  1311 + <update>Y</update>
  1312 + </value>
  1313 + <value>
  1314 + <name>bcsj</name>
  1315 + <rename>parade_time</rename>
  1316 + <update>Y</update>
  1317 + </value>
  1318 + <value>
  1319 + <name>jhlc</name>
  1320 + <rename>parade_mileage</rename>
  1321 + <update>Y</update>
  1322 + </value>
  1323 + <value>
  1324 + <name>fcsj</name>
  1325 + <rename>sendtime_calcu</rename>
  1326 + <update>Y</update>
  1327 + </value>
  1328 + <value>
  1329 + <name>xl_dir</name>
  1330 + <rename>sxx2</rename>
  1331 + <update>Y</update>
  1332 + </value>
  1333 + <value>
  1334 + <name>qdz</name>
  1335 + <rename>qdzid</rename>
  1336 + <update>Y</update>
  1337 + </value>
  1338 + <value>
  1339 + <name>tcc</name>
  1340 + <rename>zdzid</rename>
  1341 + <update>Y</update>
  1342 + </value>
  1343 + <value>
  1344 + <name>isfb</name>
  1345 + <rename>isfb</rename>
  1346 + <update>Y</update>
  1347 + </value>
  1348 + <value>
  1349 + <name>qdz_code</name>
  1350 + <rename>qdzcode</rename>
  1351 + <update>Y</update>
  1352 + </value>
  1353 + <value>
  1354 + <name>qdz_name</name>
  1355 + <rename>qname</rename>
  1356 + <update>Y</update>
  1357 + </value>
  1358 + <value>
  1359 + <name>zdz_code</name>
  1360 + <rename>zdzcode</rename>
  1361 + <update>Y</update>
  1362 + </value>
  1363 + <value>
  1364 + <name>zdz_name</name>
  1365 + <rename>tn</rename>
  1366 + <update>Y</update>
  1367 + </value>
  1368 + </lookup>
  1369 + <cluster_schema/>
  1370 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1371 + <xloc>845</xloc>
  1372 + <yloc>899</yloc>
  1373 + <draw>Y</draw>
  1374 + </GUI>
  1375 + </step>
  1376 +
  1377 + <step>
  1378 + <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</name>
  1379 + <type>ExcelInput</type>
  1380 + <description/>
  1381 + <distribute>N</distribute>
  1382 + <custom_distribution/>
  1383 + <copies>1</copies>
  1384 + <partitioning>
  1385 + <method>none</method>
  1386 + <schema_name/>
  1387 + </partitioning>
  1388 + <header>Y</header>
  1389 + <noempty>Y</noempty>
  1390 + <stoponempty>N</stoponempty>
  1391 + <filefield/>
  1392 + <sheetfield/>
  1393 + <sheetrownumfield/>
  1394 + <rownumfield/>
  1395 + <sheetfield/>
  1396 + <filefield/>
  1397 + <limit>0</limit>
  1398 + <encoding/>
  1399 + <add_to_result_filenames>Y</add_to_result_filenames>
  1400 + <accept_filenames>N</accept_filenames>
  1401 + <accept_field/>
  1402 + <accept_stepname/>
  1403 + <file>
  1404 + <name/>
  1405 + <filemask/>
  1406 + <exclude_filemask/>
  1407 + <file_required>N</file_required>
  1408 + <include_subfolders>N</include_subfolders>
  1409 + </file>
  1410 + <fields>
  1411 + </fields>
  1412 + <sheets>
  1413 + <sheet>
  1414 + <name/>
  1415 + <startrow>0</startrow>
  1416 + <startcol>0</startcol>
  1417 + </sheet>
  1418 + </sheets>
  1419 + <strict_types>N</strict_types>
  1420 + <error_ignored>N</error_ignored>
  1421 + <error_line_skipped>N</error_line_skipped>
  1422 + <bad_line_files_destination_directory/>
  1423 + <bad_line_files_extension>warning</bad_line_files_extension>
  1424 + <error_line_files_destination_directory/>
  1425 + <error_line_files_extension>error</error_line_files_extension>
  1426 + <line_number_files_destination_directory/>
  1427 + <line_number_files_extension>line</line_number_files_extension>
  1428 + <shortFileFieldName/>
  1429 + <pathFieldName/>
  1430 + <hiddenFieldName/>
  1431 + <lastModificationTimeFieldName/>
  1432 + <uriNameFieldName/>
  1433 + <rootUriNameFieldName/>
  1434 + <extensionFieldName/>
  1435 + <sizeFieldName/>
  1436 + <spreadsheet_type>JXL</spreadsheet_type>
  1437 + <cluster_schema/>
  1438 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1439 + <xloc>112</xloc>
  1440 + <yloc>44</yloc>
  1441 + <draw>Y</draw>
  1442 + </GUI>
  1443 + </step>
  1444 +
  1445 + <step>
  1446 + <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</name>
  1447 + <type>DBLookup</type>
  1448 + <description/>
  1449 + <distribute>Y</distribute>
  1450 + <custom_distribution/>
  1451 + <copies>1</copies>
  1452 + <partitioning>
  1453 + <method>none</method>
  1454 + <schema_name/>
  1455 + </partitioning>
  1456 + <connection>bus_control_variable</connection>
  1457 + <cache>N</cache>
  1458 + <cache_load_all>N</cache_load_all>
  1459 + <cache_size>0</cache_size>
  1460 + <lookup>
  1461 + <schema/>
  1462 + <table>bsth_c_car_park</table>
  1463 + <orderby/>
  1464 + <fail_on_multiple>N</fail_on_multiple>
  1465 + <eat_row_on_failure>N</eat_row_on_failure>
  1466 + <key>
  1467 + <name>tccname_</name>
  1468 + <field>park_name</field>
  1469 + <condition>&#x3d;</condition>
  1470 + <name2/>
  1471 + </key>
  1472 + <value>
  1473 + <name>id</name>
  1474 + <rename>qdzid</rename>
  1475 + <default/>
  1476 + <type>Integer</type>
  1477 + </value>
  1478 + <value>
  1479 + <name>park_code</name>
  1480 + <rename>qdzcode</rename>
  1481 + <default/>
  1482 + <type>String</type>
  1483 + </value>
  1484 + <value>
  1485 + <name>park_name</name>
  1486 + <rename>tn</rename>
  1487 + <default/>
  1488 + <type>String</type>
  1489 + </value>
  1490 + </lookup>
  1491 + <cluster_schema/>
  1492 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1493 + <xloc>755</xloc>
  1494 + <yloc>504</yloc>
  1495 + <draw>Y</draw>
  1496 + </GUI>
  1497 + </step>
  1498 +
  1499 + <step>
  1500 + <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</name>
  1501 + <type>DBLookup</type>
  1502 + <description/>
  1503 + <distribute>Y</distribute>
  1504 + <custom_distribution/>
  1505 + <copies>1</copies>
  1506 + <partitioning>
  1507 + <method>none</method>
  1508 + <schema_name/>
  1509 + </partitioning>
  1510 + <connection>bus_control_variable</connection>
  1511 + <cache>N</cache>
  1512 + <cache_load_all>N</cache_load_all>
  1513 + <cache_size>0</cache_size>
  1514 + <lookup>
  1515 + <schema/>
  1516 + <table>bsth_c_car_park</table>
  1517 + <orderby/>
  1518 + <fail_on_multiple>N</fail_on_multiple>
  1519 + <eat_row_on_failure>N</eat_row_on_failure>
  1520 + <key>
  1521 + <name>tccname_</name>
  1522 + <field>park_name</field>
  1523 + <condition>&#x3d;</condition>
  1524 + <name2/>
  1525 + </key>
  1526 + <value>
  1527 + <name>id</name>
  1528 + <rename>zdzid</rename>
  1529 + <default/>
  1530 + <type>Integer</type>
  1531 + </value>
  1532 + <value>
  1533 + <name>park_code</name>
  1534 + <rename>zdzcode</rename>
  1535 + <default/>
  1536 + <type>String</type>
  1537 + </value>
  1538 + <value>
  1539 + <name>park_name</name>
  1540 + <rename>tn</rename>
  1541 + <default/>
  1542 + <type>String</type>
  1543 + </value>
  1544 + </lookup>
  1545 + <cluster_schema/>
  1546 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1547 + <xloc>887</xloc>
  1548 + <yloc>608</yloc>
  1549 + <draw>Y</draw>
  1550 + </GUI>
  1551 + </step>
  1552 +
  1553 + <step>
  1554 + <name>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
  1555 + <type>DBLookup</type>
  1556 + <description/>
  1557 + <distribute>Y</distribute>
  1558 + <custom_distribution/>
  1559 + <copies>1</copies>
  1560 + <partitioning>
  1561 + <method>none</method>
  1562 + <schema_name/>
  1563 + </partitioning>
  1564 + <connection>bus_control_variable</connection>
  1565 + <cache>N</cache>
  1566 + <cache_load_all>N</cache_load_all>
  1567 + <cache_size>0</cache_size>
  1568 + <lookup>
  1569 + <schema/>
  1570 + <table>bsth_c_stationroute</table>
  1571 + <orderby/>
  1572 + <fail_on_multiple>N</fail_on_multiple>
  1573 + <eat_row_on_failure>N</eat_row_on_failure>
  1574 + <key>
  1575 + <name>xlid</name>
  1576 + <field>line</field>
  1577 + <condition>&#x3d;</condition>
  1578 + <name2/>
  1579 + </key>
  1580 + <key>
  1581 + <name>zdzname</name>
  1582 + <field>station_name</field>
  1583 + <condition>&#x3d;</condition>
  1584 + <name2/>
  1585 + </key>
  1586 + <key>
  1587 + <name>endZdtype</name>
  1588 + <field>station_mark</field>
  1589 + <condition>&#x3d;</condition>
  1590 + <name2/>
  1591 + </key>
  1592 + <key>
  1593 + <name>destory</name>
  1594 + <field>destroy</field>
  1595 + <condition>&#x3d;</condition>
  1596 + <name2/>
  1597 + </key>
  1598 + <value>
  1599 + <name>station</name>
  1600 + <rename>zdzid</rename>
  1601 + <default/>
  1602 + <type>Integer</type>
  1603 + </value>
  1604 + <value>
  1605 + <name>directions</name>
  1606 + <rename>sxx</rename>
  1607 + <default/>
  1608 + <type>Integer</type>
  1609 + </value>
  1610 + <value>
  1611 + <name>station_code</name>
  1612 + <rename>zdzcode</rename>
  1613 + <default/>
  1614 + <type>String</type>
  1615 + </value>
  1616 + </lookup>
  1617 + <cluster_schema/>
  1618 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1619 + <xloc>329</xloc>
  1620 + <yloc>505</yloc>
  1621 + <draw>Y</draw>
  1622 + </GUI>
  1623 + </step>
  1624 +
  1625 + <step>
  1626 + <name>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</name>
  1627 + <type>DBLookup</type>
  1628 + <description/>
  1629 + <distribute>Y</distribute>
  1630 + <custom_distribution/>
  1631 + <copies>1</copies>
  1632 + <partitioning>
  1633 + <method>none</method>
  1634 + <schema_name/>
  1635 + </partitioning>
  1636 + <connection>bus_control_variable</connection>
  1637 + <cache>N</cache>
  1638 + <cache_load_all>N</cache_load_all>
  1639 + <cache_size>0</cache_size>
  1640 + <lookup>
  1641 + <schema/>
  1642 + <table>bsth_c_s_ttinfo</table>
  1643 + <orderby/>
  1644 + <fail_on_multiple>N</fail_on_multiple>
  1645 + <eat_row_on_failure>N</eat_row_on_failure>
  1646 + <key>
  1647 + <name>xlid</name>
  1648 + <field>xl</field>
  1649 + <condition>&#x3d;</condition>
  1650 + <name2/>
  1651 + </key>
  1652 + <key>
  1653 + <name>ttinfoname_</name>
  1654 + <field>name</field>
  1655 + <condition>&#x3d;</condition>
  1656 + <name2/>
  1657 + </key>
  1658 + <key>
  1659 + <name>iscanceled</name>
  1660 + <field>is_cancel</field>
  1661 + <condition>&#x3d;</condition>
  1662 + <name2/>
  1663 + </key>
  1664 + <value>
  1665 + <name>id</name>
  1666 + <rename>ttid</rename>
  1667 + <default/>
  1668 + <type>Integer</type>
  1669 + </value>
  1670 + </lookup>
  1671 + <cluster_schema/>
  1672 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1673 + <xloc>1011</xloc>
  1674 + <yloc>134</yloc>
  1675 + <draw>Y</draw>
  1676 + </GUI>
  1677 + </step>
  1678 +
  1679 + <step>
  1680 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</name>
  1681 + <type>DBLookup</type>
  1682 + <description/>
  1683 + <distribute>Y</distribute>
  1684 + <custom_distribution/>
  1685 + <copies>1</copies>
  1686 + <partitioning>
  1687 + <method>none</method>
  1688 + <schema_name/>
  1689 + </partitioning>
  1690 + <connection>bus_control_variable</connection>
  1691 + <cache>N</cache>
  1692 + <cache_load_all>N</cache_load_all>
  1693 + <cache_size>0</cache_size>
  1694 + <lookup>
  1695 + <schema/>
  1696 + <table>bsth_c_line</table>
  1697 + <orderby/>
  1698 + <fail_on_multiple>N</fail_on_multiple>
  1699 + <eat_row_on_failure>N</eat_row_on_failure>
  1700 + <key>
  1701 + <name>xlname_</name>
  1702 + <field>name</field>
  1703 + <condition>&#x3d;</condition>
  1704 + <name2/>
  1705 + </key>
  1706 + <key>
  1707 + <name>iscanceled</name>
  1708 + <field>destroy</field>
  1709 + <condition>&#x3d;</condition>
  1710 + <name2/>
  1711 + </key>
  1712 + <value>
  1713 + <name>id</name>
  1714 + <rename>xlid</rename>
  1715 + <default/>
  1716 + <type>Integer</type>
  1717 + </value>
  1718 + </lookup>
  1719 + <cluster_schema/>
  1720 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1721 + <xloc>1007</xloc>
  1722 + <yloc>43</yloc>
  1723 + <draw>Y</draw>
  1724 + </GUI>
  1725 + </step>
  1726 +
  1727 + <step>
  1728 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  1729 + <type>DBLookup</type>
  1730 + <description/>
  1731 + <distribute>Y</distribute>
  1732 + <custom_distribution/>
  1733 + <copies>1</copies>
  1734 + <partitioning>
  1735 + <method>none</method>
  1736 + <schema_name/>
  1737 + </partitioning>
  1738 + <connection>bus_control_variable</connection>
  1739 + <cache>N</cache>
  1740 + <cache_load_all>N</cache_load_all>
  1741 + <cache_size>0</cache_size>
  1742 + <lookup>
  1743 + <schema/>
  1744 + <table>bsth_c_line_information</table>
  1745 + <orderby/>
  1746 + <fail_on_multiple>N</fail_on_multiple>
  1747 + <eat_row_on_failure>N</eat_row_on_failure>
  1748 + <key>
  1749 + <name>xlid</name>
  1750 + <field>line</field>
  1751 + <condition>&#x3d;</condition>
  1752 + <name2/>
  1753 + </key>
  1754 + <value>
  1755 + <name>up_out_timer</name>
  1756 + <rename>up_out_timer</rename>
  1757 + <default/>
  1758 + <type>Number</type>
  1759 + </value>
  1760 + <value>
  1761 + <name>up_out_mileage</name>
  1762 + <rename>up_out_mileage</rename>
  1763 + <default/>
  1764 + <type>Number</type>
  1765 + </value>
  1766 + <value>
  1767 + <name>down_out_timer</name>
  1768 + <rename>down_out_timer</rename>
  1769 + <default/>
  1770 + <type>Number</type>
  1771 + </value>
  1772 + <value>
  1773 + <name>down_out_mileage</name>
  1774 + <rename>down_out_mileage</rename>
  1775 + <default/>
  1776 + <type>Number</type>
  1777 + </value>
  1778 + </lookup>
  1779 + <cluster_schema/>
  1780 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1781 + <xloc>335</xloc>
  1782 + <yloc>763</yloc>
  1783 + <draw>Y</draw>
  1784 + </GUI>
  1785 + </step>
  1786 +
  1787 + <step>
  1788 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x6240;&#x6709;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  1789 + <type>DBLookup</type>
  1790 + <description/>
  1791 + <distribute>Y</distribute>
  1792 + <custom_distribution/>
  1793 + <copies>1</copies>
  1794 + <partitioning>
  1795 + <method>none</method>
  1796 + <schema_name/>
  1797 + </partitioning>
  1798 + <connection>bus_control_variable</connection>
  1799 + <cache>N</cache>
  1800 + <cache_load_all>N</cache_load_all>
  1801 + <cache_size>0</cache_size>
  1802 + <lookup>
  1803 + <schema/>
  1804 + <table>bsth_c_line_information</table>
  1805 + <orderby/>
  1806 + <fail_on_multiple>N</fail_on_multiple>
  1807 + <eat_row_on_failure>N</eat_row_on_failure>
  1808 + <key>
  1809 + <name>xlid</name>
  1810 + <field>line</field>
  1811 + <condition>&#x3d;</condition>
  1812 + <name2/>
  1813 + </key>
  1814 + <value>
  1815 + <name>up_mileage</name>
  1816 + <rename>up_mileage</rename>
  1817 + <default/>
  1818 + <type>Number</type>
  1819 + </value>
  1820 + <value>
  1821 + <name>down_mileage</name>
  1822 + <rename>down_mileage</rename>
  1823 + <default/>
  1824 + <type>Number</type>
  1825 + </value>
  1826 + <value>
  1827 + <name>up_travel_time</name>
  1828 + <rename>up_travel_time</rename>
  1829 + <default/>
  1830 + <type>Number</type>
  1831 + </value>
  1832 + <value>
  1833 + <name>down_travel_time</name>
  1834 + <rename>down_travel_time</rename>
  1835 + <default/>
  1836 + <type>Number</type>
  1837 + </value>
  1838 + <value>
  1839 + <name>early_start_time</name>
  1840 + <rename>early_start_time</rename>
  1841 + <default/>
  1842 + <type>String</type>
  1843 + </value>
  1844 + <value>
  1845 + <name>early_end_time</name>
  1846 + <rename>early_end_time</rename>
  1847 + <default/>
  1848 + <type>String</type>
  1849 + </value>
  1850 + <value>
  1851 + <name>early_up_time</name>
  1852 + <rename>early_up_time</rename>
  1853 + <default/>
  1854 + <type>Number</type>
  1855 + </value>
  1856 + <value>
  1857 + <name>early_down_time</name>
  1858 + <rename>early_down_time</rename>
  1859 + <default/>
  1860 + <type>Number</type>
  1861 + </value>
  1862 + <value>
  1863 + <name>late_start_time</name>
  1864 + <rename>late_start_time</rename>
  1865 + <default/>
  1866 + <type>String</type>
  1867 + </value>
  1868 + <value>
  1869 + <name>late_end_time</name>
  1870 + <rename>late_end_time</rename>
  1871 + <default/>
  1872 + <type>String</type>
  1873 + </value>
  1874 + <value>
  1875 + <name>late_up_time</name>
  1876 + <rename>late_up_time</rename>
  1877 + <default/>
  1878 + <type>Number</type>
  1879 + </value>
  1880 + <value>
  1881 + <name>late_down_time</name>
  1882 + <rename>late_down_time</rename>
  1883 + <default/>
  1884 + <type>Number</type>
  1885 + </value>
  1886 + </lookup>
  1887 + <cluster_schema/>
  1888 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1889 + <xloc>149</xloc>
  1890 + <yloc>581</yloc>
  1891 + <draw>Y</draw>
  1892 + </GUI>
  1893 + </step>
  1894 +
  1895 + <step>
  1896 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  1897 + <type>DBLookup</type>
  1898 + <description/>
  1899 + <distribute>Y</distribute>
  1900 + <custom_distribution/>
  1901 + <copies>1</copies>
  1902 + <partitioning>
  1903 + <method>none</method>
  1904 + <schema_name/>
  1905 + </partitioning>
  1906 + <connection>bus_control_variable</connection>
  1907 + <cache>N</cache>
  1908 + <cache_load_all>N</cache_load_all>
  1909 + <cache_size>0</cache_size>
  1910 + <lookup>
  1911 + <schema/>
  1912 + <table>bsth_c_line_information</table>
  1913 + <orderby/>
  1914 + <fail_on_multiple>N</fail_on_multiple>
  1915 + <eat_row_on_failure>N</eat_row_on_failure>
  1916 + <key>
  1917 + <name>xlid</name>
  1918 + <field>line</field>
  1919 + <condition>&#x3d;</condition>
  1920 + <name2/>
  1921 + </key>
  1922 + <value>
  1923 + <name>up_in_mileage</name>
  1924 + <rename>up_in_mileage</rename>
  1925 + <default/>
  1926 + <type>Number</type>
  1927 + </value>
  1928 + <value>
  1929 + <name>up_in_timer</name>
  1930 + <rename>up_in_timer</rename>
  1931 + <default/>
  1932 + <type>Number</type>
  1933 + </value>
  1934 + <value>
  1935 + <name>down_in_mileage</name>
  1936 + <rename>down_in_mileage</rename>
  1937 + <default/>
  1938 + <type>Number</type>
  1939 + </value>
  1940 + <value>
  1941 + <name>down_in_timer</name>
  1942 + <rename>down_in_timer</rename>
  1943 + <default/>
  1944 + <type>Number</type>
  1945 + </value>
  1946 + </lookup>
  1947 + <cluster_schema/>
  1948 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1949 + <xloc>553</xloc>
  1950 + <yloc>1004</yloc>
  1951 + <draw>Y</draw>
  1952 + </GUI>
  1953 + </step>
  1954 +
  1955 + <step>
  1956 + <name>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</name>
  1957 + <type>DBLookup</type>
  1958 + <description/>
  1959 + <distribute>Y</distribute>
  1960 + <custom_distribution/>
  1961 + <copies>1</copies>
  1962 + <partitioning>
  1963 + <method>none</method>
  1964 + <schema_name/>
  1965 + </partitioning>
  1966 + <connection>bus_control_variable</connection>
  1967 + <cache>N</cache>
  1968 + <cache_load_all>N</cache_load_all>
  1969 + <cache_size>0</cache_size>
  1970 + <lookup>
  1971 + <schema/>
  1972 + <table>bsth_c_stationroute</table>
  1973 + <orderby/>
  1974 + <fail_on_multiple>N</fail_on_multiple>
  1975 + <eat_row_on_failure>N</eat_row_on_failure>
  1976 + <key>
  1977 + <name>xlid</name>
  1978 + <field>line</field>
  1979 + <condition>&#x3d;</condition>
  1980 + <name2/>
  1981 + </key>
  1982 + <key>
  1983 + <name>sxx</name>
  1984 + <field>directions</field>
  1985 + <condition>&#x3d;</condition>
  1986 + <name2/>
  1987 + </key>
  1988 + <key>
  1989 + <name>endZdtype</name>
  1990 + <field>station_mark</field>
  1991 + <condition>&#x3d;</condition>
  1992 + <name2/>
  1993 + </key>
  1994 + <key>
  1995 + <name>destory</name>
  1996 + <field>destroy</field>
  1997 + <condition>&#x3d;</condition>
  1998 + <name2/>
  1999 + </key>
  2000 + <value>
  2001 + <name>station_name</name>
  2002 + <rename>zdzname</rename>
  2003 + <default/>
  2004 + <type>String</type>
  2005 + </value>
  2006 + <value>
  2007 + <name>station</name>
  2008 + <rename>zdzid</rename>
  2009 + <default/>
  2010 + <type>Integer</type>
  2011 + </value>
  2012 + <value>
  2013 + <name>station_code</name>
  2014 + <rename>zdzcode</rename>
  2015 + <default/>
  2016 + <type>String</type>
  2017 + </value>
  2018 + </lookup>
  2019 + <cluster_schema/>
  2020 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2021 + <xloc>280</xloc>
  2022 + <yloc>404</yloc>
  2023 + <draw>Y</draw>
  2024 + </GUI>
  2025 + </step>
  2026 +
  2027 + <step>
  2028 + <name>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
  2029 + <type>DBLookup</type>
  2030 + <description/>
  2031 + <distribute>Y</distribute>
  2032 + <custom_distribution/>
  2033 + <copies>1</copies>
  2034 + <partitioning>
  2035 + <method>none</method>
  2036 + <schema_name/>
  2037 + </partitioning>
  2038 + <connection>bus_control_variable</connection>
  2039 + <cache>N</cache>
  2040 + <cache_load_all>N</cache_load_all>
  2041 + <cache_size>0</cache_size>
  2042 + <lookup>
  2043 + <schema/>
  2044 + <table>bsth_c_stationroute</table>
  2045 + <orderby/>
  2046 + <fail_on_multiple>N</fail_on_multiple>
  2047 + <eat_row_on_failure>N</eat_row_on_failure>
  2048 + <key>
  2049 + <name>xlid</name>
  2050 + <field>line</field>
  2051 + <condition>&#x3d;</condition>
  2052 + <name2/>
  2053 + </key>
  2054 + <key>
  2055 + <name>qdzname</name>
  2056 + <field>station_name</field>
  2057 + <condition>&#x3d;</condition>
  2058 + <name2/>
  2059 + </key>
  2060 + <key>
  2061 + <name>sendZdtype</name>
  2062 + <field>station_mark</field>
  2063 + <condition>&#x3d;</condition>
  2064 + <name2/>
  2065 + </key>
  2066 + <key>
  2067 + <name>destory</name>
  2068 + <field>destroy</field>
  2069 + <condition>&#x3d;</condition>
  2070 + <name2/>
  2071 + </key>
  2072 + <value>
  2073 + <name>station</name>
  2074 + <rename>qdzid</rename>
  2075 + <default/>
  2076 + <type>Integer</type>
  2077 + </value>
  2078 + <value>
  2079 + <name>directions</name>
  2080 + <rename>sxx</rename>
  2081 + <default/>
  2082 + <type>Integer</type>
  2083 + </value>
  2084 + <value>
  2085 + <name>station_code</name>
  2086 + <rename>qdzcode</rename>
  2087 + <default/>
  2088 + <type>String</type>
  2089 + </value>
  2090 + </lookup>
  2091 + <cluster_schema/>
  2092 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2093 + <xloc>430</xloc>
  2094 + <yloc>403</yloc>
  2095 + <draw>Y</draw>
  2096 + </GUI>
  2097 + </step>
  2098 +
  2099 + <step>
  2100 + <name>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</name>
  2101 + <type>DBLookup</type>
  2102 + <description/>
  2103 + <distribute>Y</distribute>
  2104 + <custom_distribution/>
  2105 + <copies>1</copies>
  2106 + <partitioning>
  2107 + <method>none</method>
  2108 + <schema_name/>
  2109 + </partitioning>
  2110 + <connection>bus_control_variable</connection>
  2111 + <cache>N</cache>
  2112 + <cache_load_all>N</cache_load_all>
  2113 + <cache_size>0</cache_size>
  2114 + <lookup>
  2115 + <schema/>
  2116 + <table>bsth_c_s_gbi</table>
  2117 + <orderby/>
  2118 + <fail_on_multiple>N</fail_on_multiple>
  2119 + <eat_row_on_failure>N</eat_row_on_failure>
  2120 + <key>
  2121 + <name>xlid</name>
  2122 + <field>xl</field>
  2123 + <condition>&#x3d;</condition>
  2124 + <name2/>
  2125 + </key>
  2126 + <key>
  2127 + <name>lp</name>
  2128 + <field>lp_name</field>
  2129 + <condition>&#x3d;</condition>
  2130 + <name2/>
  2131 + </key>
  2132 + <key>
  2133 + <name>iscanceled</name>
  2134 + <field>is_cancel</field>
  2135 + <condition>&#x3d;</condition>
  2136 + <name2/>
  2137 + </key>
  2138 + <value>
  2139 + <name>id</name>
  2140 + <rename>lpid</rename>
  2141 + <default/>
  2142 + <type>Integer</type>
  2143 + </value>
  2144 + </lookup>
  2145 + <cluster_schema/>
  2146 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2147 + <xloc>1013</xloc>
  2148 + <yloc>265</yloc>
  2149 + <draw>Y</draw>
  2150 + </GUI>
  2151 + </step>
  2152 +
  2153 + <step>
  2154 + <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</name>
  2155 + <type>DBLookup</type>
  2156 + <description/>
  2157 + <distribute>Y</distribute>
  2158 + <custom_distribution/>
  2159 + <copies>1</copies>
  2160 + <partitioning>
  2161 + <method>none</method>
  2162 + <schema_name/>
  2163 + </partitioning>
  2164 + <connection>bus_control_variable</connection>
  2165 + <cache>N</cache>
  2166 + <cache_load_all>N</cache_load_all>
  2167 + <cache_size>0</cache_size>
  2168 + <lookup>
  2169 + <schema/>
  2170 + <table>bsth_c_stationroute</table>
  2171 + <orderby/>
  2172 + <fail_on_multiple>N</fail_on_multiple>
  2173 + <eat_row_on_failure>N</eat_row_on_failure>
  2174 + <key>
  2175 + <name>xlid</name>
  2176 + <field>line</field>
  2177 + <condition>&#x3d;</condition>
  2178 + <name2/>
  2179 + </key>
  2180 + <key>
  2181 + <name>startZdtype_calcu</name>
  2182 + <field>station_mark</field>
  2183 + <condition>&#x3d;</condition>
  2184 + <name2/>
  2185 + </key>
  2186 + <key>
  2187 + <name>qdzname_calcu</name>
  2188 + <field>station_name</field>
  2189 + <condition>&#x3d;</condition>
  2190 + <name2/>
  2191 + </key>
  2192 + <key>
  2193 + <name>destory</name>
  2194 + <field>destroy</field>
  2195 + <condition>&#x3d;</condition>
  2196 + <name2/>
  2197 + </key>
  2198 + <value>
  2199 + <name>directions</name>
  2200 + <rename>sxx</rename>
  2201 + <default/>
  2202 + <type>String</type>
  2203 + </value>
  2204 + </lookup>
  2205 + <cluster_schema/>
  2206 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2207 + <xloc>548</xloc>
  2208 + <yloc>610</yloc>
  2209 + <draw>Y</draw>
  2210 + </GUI>
  2211 + </step>
  2212 +
  2213 + <step>
  2214 + <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</name>
  2215 + <type>DBLookup</type>
  2216 + <description/>
  2217 + <distribute>Y</distribute>
  2218 + <custom_distribution/>
  2219 + <copies>1</copies>
  2220 + <partitioning>
  2221 + <method>none</method>
  2222 + <schema_name/>
  2223 + </partitioning>
  2224 + <connection>bus_control_variable</connection>
  2225 + <cache>Y</cache>
  2226 + <cache_load_all>Y</cache_load_all>
  2227 + <cache_size>0</cache_size>
  2228 + <lookup>
  2229 + <schema/>
  2230 + <table>bsth_c_stationroute</table>
  2231 + <orderby/>
  2232 + <fail_on_multiple>N</fail_on_multiple>
  2233 + <eat_row_on_failure>N</eat_row_on_failure>
  2234 + <key>
  2235 + <name>xlid</name>
  2236 + <field>line</field>
  2237 + <condition>&#x3d;</condition>
  2238 + <name2/>
  2239 + </key>
  2240 + <key>
  2241 + <name>endZdtype_calcu</name>
  2242 + <field>station_mark</field>
  2243 + <condition>&#x3d;</condition>
  2244 + <name2/>
  2245 + </key>
  2246 + <key>
  2247 + <name>sxx</name>
  2248 + <field>directions</field>
  2249 + <condition>&#x3d;</condition>
  2250 + <name2/>
  2251 + </key>
  2252 + <key>
  2253 + <name>destory</name>
  2254 + <field>destroy</field>
  2255 + <condition>&#x3d;</condition>
  2256 + <name2/>
  2257 + </key>
  2258 + <value>
  2259 + <name>station_name</name>
  2260 + <rename>zdzname_calcu</rename>
  2261 + <default/>
  2262 + <type>Integer</type>
  2263 + </value>
  2264 + </lookup>
  2265 + <cluster_schema/>
  2266 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2267 + <xloc>550</xloc>
  2268 + <yloc>701</yloc>
  2269 + <draw>Y</draw>
  2270 + </GUI>
  2271 + </step>
  2272 +
  2273 + <step>
  2274 + <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
  2275 + <type>DBLookup</type>
  2276 + <description/>
  2277 + <distribute>Y</distribute>
  2278 + <custom_distribution/>
  2279 + <copies>1</copies>
  2280 + <partitioning>
  2281 + <method>none</method>
  2282 + <schema_name/>
  2283 + </partitioning>
  2284 + <connection>bus_control_variable</connection>
  2285 + <cache>N</cache>
  2286 + <cache_load_all>N</cache_load_all>
  2287 + <cache_size>0</cache_size>
  2288 + <lookup>
  2289 + <schema/>
  2290 + <table>bsth_c_stationroute</table>
  2291 + <orderby/>
  2292 + <fail_on_multiple>N</fail_on_multiple>
  2293 + <eat_row_on_failure>N</eat_row_on_failure>
  2294 + <key>
  2295 + <name>xlid</name>
  2296 + <field>line</field>
  2297 + <condition>&#x3d;</condition>
  2298 + <name2/>
  2299 + </key>
  2300 + <key>
  2301 + <name>zdzname_calcu</name>
  2302 + <field>station_name</field>
  2303 + <condition>&#x3d;</condition>
  2304 + <name2/>
  2305 + </key>
  2306 + <key>
  2307 + <name>startZdtype_calcu</name>
  2308 + <field>station_mark</field>
  2309 + <condition>&#x3d;</condition>
  2310 + <name2/>
  2311 + </key>
  2312 + <key>
  2313 + <name>destory</name>
  2314 + <field>destroy</field>
  2315 + <condition>&#x3d;</condition>
  2316 + <name2/>
  2317 + </key>
  2318 + <value>
  2319 + <name>directions</name>
  2320 + <rename>sxx2</rename>
  2321 + <default/>
  2322 + <type>Integer</type>
  2323 + </value>
  2324 + <value>
  2325 + <name>station</name>
  2326 + <rename>qdzid</rename>
  2327 + <default/>
  2328 + <type>Integer</type>
  2329 + </value>
  2330 + <value>
  2331 + <name>station_code</name>
  2332 + <rename>qdzcode</rename>
  2333 + <default/>
  2334 + <type>String</type>
  2335 + </value>
  2336 + <value>
  2337 + <name>station_name</name>
  2338 + <rename>qname</rename>
  2339 + <default/>
  2340 + <type>String</type>
  2341 + </value>
  2342 + </lookup>
  2343 + <cluster_schema/>
  2344 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2345 + <xloc>551</xloc>
  2346 + <yloc>782</yloc>
  2347 + <draw>Y</draw>
  2348 + </GUI>
  2349 + </step>
  2350 +
  2351 + <step>
  2352 + <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</name>
  2353 + <type>ScriptValueMod</type>
  2354 + <description/>
  2355 + <distribute>Y</distribute>
  2356 + <custom_distribution/>
  2357 + <copies>1</copies>
  2358 + <partitioning>
  2359 + <method>none</method>
  2360 + <schema_name/>
  2361 + </partitioning>
  2362 + <compatible>N</compatible>
  2363 + <optimizationLevel>9</optimizationLevel>
  2364 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  2365 + <jsScript_name>Script 1</jsScript_name>
  2366 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var sendZdtype &#x3d; &#x27;B&#x27;&#x3b;&#xa;var endZdtype &#x3d; &#x27;E&#x27;&#x3b;&#xa;&#xa;var destory &#x3d; 0&#x3b; &#x2f;&#x2f; &#x672a;&#x64a4;&#x9500;flag</jsScript_script>
  2367 + </jsScript> </jsScripts> <fields> <field> <name>sendZdtype</name>
  2368 + <rename>sendZdtype</rename>
  2369 + <type>String</type>
  2370 + <length>-1</length>
  2371 + <precision>-1</precision>
  2372 + <replace>N</replace>
  2373 + </field> <field> <name>endZdtype</name>
  2374 + <rename>endZdtype</rename>
  2375 + <type>String</type>
  2376 + <length>-1</length>
  2377 + <precision>-1</precision>
  2378 + <replace>N</replace>
  2379 + </field> <field> <name>destory</name>
  2380 + <rename>destory</rename>
  2381 + <type>Integer</type>
  2382 + <length>-1</length>
  2383 + <precision>-1</precision>
  2384 + <replace>N</replace>
  2385 + </field> </fields> <cluster_schema/>
  2386 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2387 + <xloc>588</xloc>
  2388 + <yloc>403</yloc>
  2389 + <draw>Y</draw>
  2390 + </GUI>
  2391 + </step>
  2392 +
  2393 + <step>
  2394 + <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
  2395 + <type>Dummy</type>
  2396 + <description/>
  2397 + <distribute>Y</distribute>
  2398 + <custom_distribution/>
  2399 + <copies>1</copies>
  2400 + <partitioning>
  2401 + <method>none</method>
  2402 + <schema_name/>
  2403 + </partitioning>
  2404 + <cluster_schema/>
  2405 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2406 + <xloc>725</xloc>
  2407 + <yloc>404</yloc>
  2408 + <draw>Y</draw>
  2409 + </GUI>
  2410 + </step>
  2411 +
  2412 + <step>
  2413 + <name>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</name>
  2414 + <type>GroupBy</type>
  2415 + <description/>
  2416 + <distribute>Y</distribute>
  2417 + <custom_distribution/>
  2418 + <copies>1</copies>
  2419 + <partitioning>
  2420 + <method>none</method>
  2421 + <schema_name/>
  2422 + </partitioning>
  2423 + <all_rows>Y</all_rows>
  2424 + <ignore_aggregate>N</ignore_aggregate>
  2425 + <field_ignore/>
  2426 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  2427 + <prefix>grp</prefix>
  2428 + <add_linenr>Y</add_linenr>
  2429 + <linenr_fieldname>fcno</linenr_fieldname>
  2430 + <give_back_row>N</give_back_row>
  2431 + <group>
  2432 + <field>
  2433 + <name>lp</name>
  2434 + </field>
  2435 + </group>
  2436 + <fields>
  2437 + </fields>
  2438 + <cluster_schema/>
  2439 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2440 + <xloc>442</xloc>
  2441 + <yloc>44</yloc>
  2442 + <draw>Y</draw>
  2443 + </GUI>
  2444 + </step>
  2445 +
  2446 + <step>
  2447 + <name>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</name>
  2448 + <type>GroupBy</type>
  2449 + <description/>
  2450 + <distribute>Y</distribute>
  2451 + <custom_distribution/>
  2452 + <copies>1</copies>
  2453 + <partitioning>
  2454 + <method>none</method>
  2455 + <schema_name/>
  2456 + </partitioning>
  2457 + <all_rows>Y</all_rows>
  2458 + <ignore_aggregate>N</ignore_aggregate>
  2459 + <field_ignore/>
  2460 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  2461 + <prefix>grp</prefix>
  2462 + <add_linenr>Y</add_linenr>
  2463 + <linenr_fieldname>bcs</linenr_fieldname>
  2464 + <give_back_row>N</give_back_row>
  2465 + <group>
  2466 + </group>
  2467 + <fields>
  2468 + </fields>
  2469 + <cluster_schema/>
  2470 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2471 + <xloc>692</xloc>
  2472 + <yloc>44</yloc>
  2473 + <draw>Y</draw>
  2474 + </GUI>
  2475 + </step>
  2476 +
  2477 + <step>
  2478 + <name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</name>
  2479 + <type>Normaliser</type>
  2480 + <description/>
  2481 + <distribute>Y</distribute>
  2482 + <custom_distribution/>
  2483 + <copies>1</copies>
  2484 + <partitioning>
  2485 + <method>none</method>
  2486 + <schema_name/>
  2487 + </partitioning>
  2488 + <typefield>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</typefield>
  2489 + <fields> </fields> <cluster_schema/>
  2490 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2491 + <xloc>248</xloc>
  2492 + <yloc>44</yloc>
  2493 + <draw>Y</draw>
  2494 + </GUI>
  2495 + </step>
  2496 +
  2497 + <step>
  2498 + <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</name>
  2499 + <type>ValueMapper</type>
  2500 + <description/>
  2501 + <distribute>Y</distribute>
  2502 + <custom_distribution/>
  2503 + <copies>1</copies>
  2504 + <partitioning>
  2505 + <method>none</method>
  2506 + <schema_name/>
  2507 + </partitioning>
  2508 + <field_to_use>bctype</field_to_use>
  2509 + <target_field>bctype_code</target_field>
  2510 + <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
  2511 + <fields>
  2512 + <field>
  2513 + <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
  2514 + <target_value>normal</target_value>
  2515 + </field>
  2516 + <field>
  2517 + <source_value>&#x51fa;&#x573a;</source_value>
  2518 + <target_value>out</target_value>
  2519 + </field>
  2520 + <field>
  2521 + <source_value>&#x8fdb;&#x573a;</source_value>
  2522 + <target_value>in</target_value>
  2523 + </field>
  2524 + <field>
  2525 + <source_value>&#x52a0;&#x6cb9;</source_value>
  2526 + <target_value>oil</target_value>
  2527 + </field>
  2528 + <field>
  2529 + <source_value>&#x4e34;&#x52a0;</source_value>
  2530 + <target_value>temp</target_value>
  2531 + </field>
  2532 + <field>
  2533 + <source_value>&#x533a;&#x95f4;</source_value>
  2534 + <target_value>region</target_value>
  2535 + </field>
  2536 + <field>
  2537 + <source_value>&#x653e;&#x7a7a;</source_value>
  2538 + <target_value>venting</target_value>
  2539 + </field>
  2540 + <field>
  2541 + <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
  2542 + <target_value>major</target_value>
  2543 + </field>
  2544 + </fields>
  2545 + <cluster_schema/>
  2546 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2547 + <xloc>149</xloc>
  2548 + <yloc>491</yloc>
  2549 + <draw>Y</draw>
  2550 + </GUI>
  2551 + </step>
  2552 +
  2553 + <step>
  2554 + <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</name>
  2555 + <type>ValueMapper</type>
  2556 + <description/>
  2557 + <distribute>Y</distribute>
  2558 + <custom_distribution/>
  2559 + <copies>1</copies>
  2560 + <partitioning>
  2561 + <method>none</method>
  2562 + <schema_name/>
  2563 + </partitioning>
  2564 + <field_to_use>bctype</field_to_use>
  2565 + <target_field>bctype_code</target_field>
  2566 + <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
  2567 + <fields>
  2568 + <field>
  2569 + <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
  2570 + <target_value>normal</target_value>
  2571 + </field>
  2572 + <field>
  2573 + <source_value>&#x51fa;&#x573a;</source_value>
  2574 + <target_value>out</target_value>
  2575 + </field>
  2576 + <field>
  2577 + <source_value>&#x8fdb;&#x573a;</source_value>
  2578 + <target_value>in</target_value>
  2579 + </field>
  2580 + <field>
  2581 + <source_value>&#x52a0;&#x6cb9;</source_value>
  2582 + <target_value>oil</target_value>
  2583 + </field>
  2584 + <field>
  2585 + <source_value>&#x4e34;&#x52a0;</source_value>
  2586 + <target_value>temp</target_value>
  2587 + </field>
  2588 + <field>
  2589 + <source_value>&#x533a;&#x95f4;</source_value>
  2590 + <target_value>region</target_value>
  2591 + </field>
  2592 + <field>
  2593 + <source_value>&#x653e;&#x7a7a;</source_value>
  2594 + <target_value>venting</target_value>
  2595 + </field>
  2596 + <field>
  2597 + <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
  2598 + <target_value>major</target_value>
  2599 + </field>
  2600 + </fields>
  2601 + <cluster_schema/>
  2602 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2603 + <xloc>333</xloc>
  2604 + <yloc>681</yloc>
  2605 + <draw>Y</draw>
  2606 + </GUI>
  2607 + </step>
  2608 +
  2609 + <step>
  2610 + <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</name>
  2611 + <type>ValueMapper</type>
  2612 + <description/>
  2613 + <distribute>Y</distribute>
  2614 + <custom_distribution/>
  2615 + <copies>1</copies>
  2616 + <partitioning>
  2617 + <method>none</method>
  2618 + <schema_name/>
  2619 + </partitioning>
  2620 + <field_to_use>bctype</field_to_use>
  2621 + <target_field>bctype_code</target_field>
  2622 + <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
  2623 + <fields>
  2624 + <field>
  2625 + <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
  2626 + <target_value>normal</target_value>
  2627 + </field>
  2628 + <field>
  2629 + <source_value>&#x51fa;&#x573a;</source_value>
  2630 + <target_value>out</target_value>
  2631 + </field>
  2632 + <field>
  2633 + <source_value>&#x8fdb;&#x573a;</source_value>
  2634 + <target_value>in</target_value>
  2635 + </field>
  2636 + <field>
  2637 + <source_value>&#x52a0;&#x6cb9;</source_value>
  2638 + <target_value>oil</target_value>
  2639 + </field>
  2640 + <field>
  2641 + <source_value>&#x4e34;&#x52a0;</source_value>
  2642 + <target_value>temp</target_value>
  2643 + </field>
  2644 + <field>
  2645 + <source_value>&#x533a;&#x95f4;</source_value>
  2646 + <target_value>region</target_value>
  2647 + </field>
  2648 + <field>
  2649 + <source_value>&#x653e;&#x7a7a;</source_value>
  2650 + <target_value>venting</target_value>
  2651 + </field>
  2652 + <field>
  2653 + <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
  2654 + <target_value>major</target_value>
  2655 + </field>
  2656 + </fields>
  2657 + <cluster_schema/>
  2658 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2659 + <xloc>551</xloc>
  2660 + <yloc>928</yloc>
  2661 + <draw>Y</draw>
  2662 + </GUI>
  2663 + </step>
  2664 +
  2665 + <step>
  2666 + <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</name>
  2667 + <type>SelectValues</type>
  2668 + <description/>
  2669 + <distribute>Y</distribute>
  2670 + <custom_distribution/>
  2671 + <copies>1</copies>
  2672 + <partitioning>
  2673 + <method>none</method>
  2674 + <schema_name/>
  2675 + </partitioning>
  2676 + <fields> <select_unspecified>N</select_unspecified>
  2677 + <meta> <name>jhlc</name>
  2678 + <rename>jhlc</rename>
  2679 + <type>Number</type>
  2680 + <length>-2</length>
  2681 + <precision>-2</precision>
  2682 + <conversion_mask/>
  2683 + <date_format_lenient>false</date_format_lenient>
  2684 + <date_format_locale/>
  2685 + <date_format_timezone/>
  2686 + <lenient_string_to_number>false</lenient_string_to_number>
  2687 + <encoding/>
  2688 + <decimal_symbol/>
  2689 + <grouping_symbol/>
  2690 + <currency_symbol/>
  2691 + <storage_type/>
  2692 + </meta> <meta> <name>bcsj</name>
  2693 + <rename>bcsj</rename>
  2694 + <type>Integer</type>
  2695 + <length>-2</length>
  2696 + <precision>-2</precision>
  2697 + <conversion_mask/>
  2698 + <date_format_lenient>false</date_format_lenient>
  2699 + <date_format_locale/>
  2700 + <date_format_timezone/>
  2701 + <lenient_string_to_number>false</lenient_string_to_number>
  2702 + <encoding/>
  2703 + <decimal_symbol/>
  2704 + <grouping_symbol/>
  2705 + <currency_symbol/>
  2706 + <storage_type/>
  2707 + </meta> </fields> <cluster_schema/>
  2708 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2709 + <xloc>146</xloc>
  2710 + <yloc>768</yloc>
  2711 + <draw>Y</draw>
  2712 + </GUI>
  2713 + </step>
  2714 +
  2715 + <step>
  2716 + <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</name>
  2717 + <type>SelectValues</type>
  2718 + <description/>
  2719 + <distribute>Y</distribute>
  2720 + <custom_distribution/>
  2721 + <copies>1</copies>
  2722 + <partitioning>
  2723 + <method>none</method>
  2724 + <schema_name/>
  2725 + </partitioning>
  2726 + <fields> <select_unspecified>N</select_unspecified>
  2727 + <meta> <name>out_mileage</name>
  2728 + <rename>out_mileage</rename>
  2729 + <type>Number</type>
  2730 + <length>-2</length>
  2731 + <precision>-2</precision>
  2732 + <conversion_mask/>
  2733 + <date_format_lenient>false</date_format_lenient>
  2734 + <date_format_locale/>
  2735 + <date_format_timezone/>
  2736 + <lenient_string_to_number>false</lenient_string_to_number>
  2737 + <encoding/>
  2738 + <decimal_symbol/>
  2739 + <grouping_symbol/>
  2740 + <currency_symbol/>
  2741 + <storage_type/>
  2742 + </meta> <meta> <name>out_time</name>
  2743 + <rename>out_time</rename>
  2744 + <type>Integer</type>
  2745 + <length>-2</length>
  2746 + <precision>-2</precision>
  2747 + <conversion_mask/>
  2748 + <date_format_lenient>false</date_format_lenient>
  2749 + <date_format_locale/>
  2750 + <date_format_timezone/>
  2751 + <lenient_string_to_number>false</lenient_string_to_number>
  2752 + <encoding/>
  2753 + <decimal_symbol/>
  2754 + <grouping_symbol/>
  2755 + <currency_symbol/>
  2756 + <storage_type/>
  2757 + </meta> <meta> <name>sxx</name>
  2758 + <rename>sxx</rename>
  2759 + <type>Integer</type>
  2760 + <length>-2</length>
  2761 + <precision>-2</precision>
  2762 + <conversion_mask/>
  2763 + <date_format_lenient>false</date_format_lenient>
  2764 + <date_format_locale/>
  2765 + <date_format_timezone/>
  2766 + <lenient_string_to_number>false</lenient_string_to_number>
  2767 + <encoding/>
  2768 + <decimal_symbol/>
  2769 + <grouping_symbol/>
  2770 + <currency_symbol/>
  2771 + <storage_type/>
  2772 + </meta> </fields> <cluster_schema/>
  2773 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2774 + <xloc>338</xloc>
  2775 + <yloc>1008</yloc>
  2776 + <draw>Y</draw>
  2777 + </GUI>
  2778 + </step>
  2779 +
  2780 + <step>
  2781 + <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</name>
  2782 + <type>SelectValues</type>
  2783 + <description/>
  2784 + <distribute>Y</distribute>
  2785 + <custom_distribution/>
  2786 + <copies>1</copies>
  2787 + <partitioning>
  2788 + <method>none</method>
  2789 + <schema_name/>
  2790 + </partitioning>
  2791 + <fields> <select_unspecified>N</select_unspecified>
  2792 + <meta> <name>parade_mileage</name>
  2793 + <rename>parade_mileage</rename>
  2794 + <type>Number</type>
  2795 + <length>-2</length>
  2796 + <precision>-2</precision>
  2797 + <conversion_mask/>
  2798 + <date_format_lenient>false</date_format_lenient>
  2799 + <date_format_locale/>
  2800 + <date_format_timezone/>
  2801 + <lenient_string_to_number>false</lenient_string_to_number>
  2802 + <encoding/>
  2803 + <decimal_symbol/>
  2804 + <grouping_symbol/>
  2805 + <currency_symbol/>
  2806 + <storage_type/>
  2807 + </meta> <meta> <name>parade_time</name>
  2808 + <rename>parade_time</rename>
  2809 + <type>Integer</type>
  2810 + <length>-2</length>
  2811 + <precision>-2</precision>
  2812 + <conversion_mask/>
  2813 + <date_format_lenient>false</date_format_lenient>
  2814 + <date_format_locale/>
  2815 + <date_format_timezone/>
  2816 + <lenient_string_to_number>false</lenient_string_to_number>
  2817 + <encoding/>
  2818 + <decimal_symbol/>
  2819 + <grouping_symbol/>
  2820 + <currency_symbol/>
  2821 + <storage_type/>
  2822 + </meta> <meta> <name>sxx2</name>
  2823 + <rename>sxx2</rename>
  2824 + <type>Integer</type>
  2825 + <length>-2</length>
  2826 + <precision>-2</precision>
  2827 + <conversion_mask/>
  2828 + <date_format_lenient>false</date_format_lenient>
  2829 + <date_format_locale/>
  2830 + <date_format_timezone/>
  2831 + <lenient_string_to_number>false</lenient_string_to_number>
  2832 + <encoding/>
  2833 + <decimal_symbol/>
  2834 + <grouping_symbol/>
  2835 + <currency_symbol/>
  2836 + <storage_type/>
  2837 + </meta> </fields> <cluster_schema/>
  2838 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2839 + <xloc>847</xloc>
  2840 + <yloc>1003</yloc>
  2841 + <draw>Y</draw>
  2842 + </GUI>
  2843 + </step>
  2844 +
  2845 + <step>
  2846 + <name>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</name>
  2847 + <type>ValueMapper</type>
  2848 + <description/>
  2849 + <distribute>Y</distribute>
  2850 + <custom_distribution/>
  2851 + <copies>1</copies>
  2852 + <partitioning>
  2853 + <method>none</method>
  2854 + <schema_name/>
  2855 + </partitioning>
  2856 + <field_to_use>qdzname</field_to_use>
  2857 + <target_field>bctype</target_field>
  2858 + <non_match_default>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</non_match_default>
  2859 + <fields>
  2860 + <field>
  2861 + <source_value>&#x51fa;&#x573a;</source_value>
  2862 + <target_value>&#x51fa;&#x573a;</target_value>
  2863 + </field>
  2864 + <field>
  2865 + <source_value>&#x8fdb;&#x573a;</source_value>
  2866 + <target_value>&#x8fdb;&#x573a;</target_value>
  2867 + </field>
  2868 + </fields>
  2869 + <cluster_schema/>
  2870 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2871 + <xloc>1014</xloc>
  2872 + <yloc>401</yloc>
  2873 + <draw>Y</draw>
  2874 + </GUI>
  2875 + </step>
  2876 +
  2877 + <step>
  2878 + <name>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</name>
  2879 + <type>JoinRows</type>
  2880 + <description/>
  2881 + <distribute>Y</distribute>
  2882 + <custom_distribution/>
  2883 + <copies>1</copies>
  2884 + <partitioning>
  2885 + <method>none</method>
  2886 + <schema_name/>
  2887 + </partitioning>
  2888 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  2889 + <prefix>out</prefix>
  2890 + <cache_size>500</cache_size>
  2891 + <main/>
  2892 + <compare>
  2893 +<condition>
  2894 + <negated>N</negated>
  2895 + <leftvalue/>
  2896 + <function>&#x3d;</function>
  2897 + <rightvalue/>
  2898 + </condition>
  2899 + </compare>
  2900 + <cluster_schema/>
  2901 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2902 + <xloc>310</xloc>
  2903 + <yloc>133</yloc>
  2904 + <draw>Y</draw>
  2905 + </GUI>
  2906 + </step>
  2907 +
  2908 + <step>
  2909 + <name>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</name>
  2910 + <type>FilterRows</type>
  2911 + <description/>
  2912 + <distribute>Y</distribute>
  2913 + <custom_distribution/>
  2914 + <copies>1</copies>
  2915 + <partitioning>
  2916 + <method>none</method>
  2917 + <schema_name/>
  2918 + </partitioning>
  2919 +<send_true_to/>
  2920 +<send_false_to/>
  2921 + <compare>
  2922 +<condition>
  2923 + <negated>N</negated>
  2924 + <leftvalue>sendtime</leftvalue>
  2925 + <function>IS NOT NULL</function>
  2926 + <rightvalue/>
  2927 + </condition>
  2928 + </compare>
  2929 + <cluster_schema/>
  2930 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2931 + <xloc>571</xloc>
  2932 + <yloc>44</yloc>
  2933 + <draw>Y</draw>
  2934 + </GUI>
  2935 + </step>
  2936 +
  2937 + <step>
  2938 + <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>
  2939 + <type>ScriptValueMod</type>
  2940 + <description/>
  2941 + <distribute>Y</distribute>
  2942 + <custom_distribution/>
  2943 + <copies>1</copies>
  2944 + <partitioning>
  2945 + <method>none</method>
  2946 + <schema_name/>
  2947 + </partitioning>
  2948 + <compatible>N</compatible>
  2949 + <optimizationLevel>9</optimizationLevel>
  2950 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  2951 + <jsScript_name>Script 1</jsScript_name>
  2952 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var cc_groups &#x3d; qdzgroups.split&#x28;&#x22;,&#x22;&#x29;&#x3b; &#x2f;&#x2f; &#x6240;&#x6709;&#x73ed;&#x6b21;&#x8d77;&#x70b9;&#x7ad9;&#x6570;&#x7ec4;&#xa;var qdzname_calcu &#x3d; cc_groups&#x5b;gno - 2&#x5d;&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;&#x662f;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x8fd9;&#x91cc;&#x53ea;&#x6709;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;&#xff0c;&#x8fd8;&#x9700;&#x8981;&#x8ba1;&#x7b97;&#xa;var startZdtype_calcu &#x3d; &#x27;B&#x27;&#x3b;&#xa;var endZdtype_calcu &#x3d; &#x27;E&#x27;&#x3b;&#xa;&#xa;var destory &#x3d; 0&#x3b; &#x2f;&#x2f; &#x672a;&#x64a4;&#x9500;flag</jsScript_script>
  2953 + </jsScript> </jsScripts> <fields> <field> <name>qdzname_calcu</name>
  2954 + <rename>qdzname_calcu</rename>
  2955 + <type>String</type>
  2956 + <length>-1</length>
  2957 + <precision>-1</precision>
  2958 + <replace>N</replace>
  2959 + </field> <field> <name>startZdtype_calcu</name>
  2960 + <rename>startZdtype_calcu</rename>
  2961 + <type>String</type>
  2962 + <length>-1</length>
  2963 + <precision>-1</precision>
  2964 + <replace>N</replace>
  2965 + </field> <field> <name>endZdtype_calcu</name>
  2966 + <rename>endZdtype_calcu</rename>
  2967 + <type>String</type>
  2968 + <length>-1</length>
  2969 + <precision>-1</precision>
  2970 + <replace>N</replace>
  2971 + </field> <field> <name>destory</name>
  2972 + <rename>destory</rename>
  2973 + <type>Integer</type>
  2974 + <length>-1</length>
  2975 + <precision>-1</precision>
  2976 + <replace>N</replace>
  2977 + </field> </fields> <cluster_schema/>
  2978 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2979 + <xloc>754</xloc>
  2980 + <yloc>610</yloc>
  2981 + <draw>Y</draw>
  2982 + </GUI>
  2983 + </step>
  2984 +
  2985 + <step>
  2986 + <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
  2987 + <type>Dummy</type>
  2988 + <description/>
  2989 + <distribute>Y</distribute>
  2990 + <custom_distribution/>
  2991 + <copies>1</copies>
  2992 + <partitioning>
  2993 + <method>none</method>
  2994 + <schema_name/>
  2995 + </partitioning>
  2996 + <cluster_schema/>
  2997 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2998 + <xloc>997</xloc>
  2999 + <yloc>606</yloc>
  3000 + <draw>Y</draw>
  3001 + </GUI>
  3002 + </step>
  3003 +
  3004 + <step_error_handling>
  3005 + <error>
  3006 + <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</source_step>
  3007 + <target_step/>
  3008 + <is_enabled>Y</is_enabled>
  3009 + <nr_valuename>c1</nr_valuename>
  3010 + <descriptions_valuename>c2</descriptions_valuename>
  3011 + <fields_valuename>c3</fields_valuename>
  3012 + <codes_valuename>c4</codes_valuename>
  3013 + <max_errors/>
  3014 + <max_pct_errors/>
  3015 + <min_pct_rows/>
  3016 + </error>
  3017 + </step_error_handling>
  3018 + <slave-step-copy-partition-distribution>
  3019 +</slave-step-copy-partition-distribution>
  3020 + <slave_transformation>N</slave_transformation>
  3021 +
  3022 +</transformation>
... ...
src/main/resources/datatools/ktrs/ttinfodetailDataInput.ktr
1   -<?xml version="1.0" encoding="UTF-8"?>
2   -<transformation>
3   - <info>
4   - <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x5bfc;&#x5165;</name>
5   - <description>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>
6   - <extended_description>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#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   - </parameters>
13   - <log>
14   -<trans-log-table><connection/>
15   -<schema/>
16   -<table/>
17   -<size_limit_lines/>
18   -<interval/>
19   -<timeout_days/>
20   -<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>
21   -<perf-log-table><connection/>
22   -<schema/>
23   -<table/>
24   -<interval/>
25   -<timeout_days/>
26   -<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>
27   -<channel-log-table><connection/>
28   -<schema/>
29   -<table/>
30   -<timeout_days/>
31   -<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>
32   -<step-log-table><connection/>
33   -<schema/>
34   -<table/>
35   -<timeout_days/>
36   -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>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>
37   -<metrics-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>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>
42   - </log>
43   - <maxdate>
44   - <connection/>
45   - <table/>
46   - <field/>
47   - <offset>0.0</offset>
48   - <maxdiff>0.0</maxdiff>
49   - </maxdate>
50   - <size_rowset>10000</size_rowset>
51   - <sleep_time_empty>50</sleep_time_empty>
52   - <sleep_time_full>50</sleep_time_full>
53   - <unique_connections>N</unique_connections>
54   - <feedback_shown>Y</feedback_shown>
55   - <feedback_size>50000</feedback_size>
56   - <using_thread_priorities>Y</using_thread_priorities>
57   - <shared_objects_file/>
58   - <capture_step_performance>N</capture_step_performance>
59   - <step_performance_capturing_delay>1000</step_performance_capturing_delay>
60   - <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
61   - <dependencies>
62   - </dependencies>
63   - <partitionschemas>
64   - </partitionschemas>
65   - <slaveservers>
66   - </slaveservers>
67   - <clusterschemas>
68   - </clusterschemas>
69   - <created_user>-</created_user>
70   - <created_date>2016&#x2f;06&#x2f;30 12&#x3a;21&#x3a;57.536</created_date>
71   - <modified_user>-</modified_user>
72   - <modified_date>2016&#x2f;06&#x2f;30 12&#x3a;21&#x3a;57.536</modified_date>
73   - <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
74   - <is_key_private>N</is_key_private>
75   - </info>
76   - <notepads>
77   - <notepad>
78   - <note>&#x5b57;&#x5178;&#x8868;&#x5bf9;&#x5e94;&#xff08;&#x4ee5;&#x540e;&#x76f4;&#x63a5;&#x67e5;&#x627e;&#x8868; bsth_c_sys_dictionary&#xff09;&#xa;&#x7c7b;&#x578b; &#x4ee3;&#x7801; &#x540d;&#x79f0;&#xa;LineTrend 0 &#x4e0a;&#x884c;&#xa;LineTrend 1 &#x4e0b;&#x884c;&#xa;ScheduleType normal &#x6b63;&#x5e38;&#x73ed;&#x6b21;&#xa;ScheduleType out &#x51fa;&#x573a;&#xa;ScheduleType in &#x8fdb;&#x573a;&#xa;ScheduleType temp &#x4e34;&#x52a0;&#xa;ScheduleType region &#x533a;&#x95f4;&#xa;ScheduleType venting &#x653e;&#x7a7a;&#xa;ScheduleType major &#x653e;&#x5927;&#x7ad9;</note>
79   - <xloc>606</xloc>
80   - <yloc>129</yloc>
81   - <width>332</width>
82   - <heigth>186</heigth>
83   - <fontname>YaHei Consolas Hybrid</fontname>
84   - <fontsize>12</fontsize>
85   - <fontbold>N</fontbold>
86   - <fontitalic>N</fontitalic>
87   - <fontcolorred>0</fontcolorred>
88   - <fontcolorgreen>0</fontcolorgreen>
89   - <fontcolorblue>0</fontcolorblue>
90   - <backgroundcolorred>255</backgroundcolorred>
91   - <backgroundcolorgreen>205</backgroundcolorgreen>
92   - <backgroundcolorblue>112</backgroundcolorblue>
93   - <bordercolorred>100</bordercolorred>
94   - <bordercolorgreen>100</bordercolorgreen>
95   - <bordercolorblue>100</bordercolorblue>
96   - <drawshadow>Y</drawshadow>
97   - </notepad>
98   - <notepad>
99   - <note>&#x56e0;&#x4e3a;&#x65f6;&#x523b;&#x8868;&#x8f93;&#x5165;&#x683c;&#x5f0f;&#x4e0d;&#x786e;&#x5b9a;&#x6027;&#xff0c;&#x4e3b;&#x8981;&#x56e0;&#x4e3a;&#x8868;&#x7ed3;&#x6784;&#x662f;&#x53cd;&#x8303;&#x5f0f;&#x5316;&#x7684;&#xff0c;&#xa;&#x6240;&#x4ee5;&#x9700;&#x8981;&#x5916;&#x90e8;&#x52a8;&#x6001;&#x6307;&#x5b9a;&#x613f;&#x6570;&#x636e;&#xff0c;&#x5934;&#x4e09;&#x4e2a;step&#x52a8;&#x6001;&#x6307;&#x5b9a;&#x613f;&#x6570;&#x636e;&#xa;&#xa;</note>
100   - <xloc>79</xloc>
101   - <yloc>206</yloc>
102   - <width>346</width>
103   - <heigth>74</heigth>
104   - <fontname>YaHei Consolas Hybrid</fontname>
105   - <fontsize>12</fontsize>
106   - <fontbold>N</fontbold>
107   - <fontitalic>N</fontitalic>
108   - <fontcolorred>0</fontcolorred>
109   - <fontcolorgreen>0</fontcolorgreen>
110   - <fontcolorblue>0</fontcolorblue>
111   - <backgroundcolorred>255</backgroundcolorred>
112   - <backgroundcolorgreen>205</backgroundcolorgreen>
113   - <backgroundcolorblue>112</backgroundcolorblue>
114   - <bordercolorred>100</bordercolorred>
115   - <bordercolorgreen>100</bordercolorgreen>
116   - <bordercolorblue>100</bordercolorblue>
117   - <drawshadow>Y</drawshadow>
118   - </notepad>
119   - <notepad>
120   - <note>&#x8fd9;&#x91cc;&#x6709;&#x4e9b;&#x95ee;&#x9898;&#xa;&#x5728;window2012&#x7684;&#x73af;&#x5883;&#x4e0b;&#xff0c;&#xa;MySql&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x4e2d;&#x5982;&#x679c;&#x8fd4;&#x56de;&#x4e2d;&#x6587;&#x5185;&#x5bb9;&#x7684;&#x5b57;&#x6bb5;&#xff0c;&#x8fd9;&#x4e2a;&#x5185;&#x5bb9;&#x4e71;&#x7801;&#xa;&#x89e3;&#x51b3;&#x529e;&#x6cd5;&#xff0c;&#x5c31;&#x662f;&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x5168;&#x90e8;&#x7f13;&#x5b58;&#xff0c;&#x5c31;&#x4e0d;&#x4e71;&#x7801;&#xa;linux&#x73af;&#x5883;&#x4e0b;&#x6ca1;&#x95ee;&#x9898;</note>
121   - <xloc>721</xloc>
122   - <yloc>762</yloc>
123   - <width>333</width>
124   - <heigth>90</heigth>
125   - <fontname>YaHei Consolas Hybrid</fontname>
126   - <fontsize>12</fontsize>
127   - <fontbold>N</fontbold>
128   - <fontitalic>N</fontitalic>
129   - <fontcolorred>0</fontcolorred>
130   - <fontcolorgreen>0</fontcolorgreen>
131   - <fontcolorblue>0</fontcolorblue>
132   - <backgroundcolorred>255</backgroundcolorred>
133   - <backgroundcolorgreen>205</backgroundcolorgreen>
134   - <backgroundcolorblue>112</backgroundcolorblue>
135   - <bordercolorred>100</bordercolorred>
136   - <bordercolorgreen>100</bordercolorgreen>
137   - <bordercolorblue>100</bordercolorblue>
138   - <drawshadow>Y</drawshadow>
139   - </notepad>
140   - <notepad>
141   - <note>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#xff0c;&#x65b9;&#x5411;&#x6709;&#x65f6;&#x786e;&#x5b9a;&#x4e0d;&#x51c6;&#xff0c;&#xa;&#x7a7a;&#x7684;&#x60c5;&#x51b5;&#x4e0b;&#x8bbe;&#x5b9a;&#x4e3a;0&#xff08;&#x4e0a;&#x884c;&#xff09;</note>
142   - <xloc>120</xloc>
143   - <yloc>1016</yloc>
144   - <width>178</width>
145   - <heigth>42</heigth>
146   - <fontname>YaHei Consolas Hybrid</fontname>
147   - <fontsize>12</fontsize>
148   - <fontbold>N</fontbold>
149   - <fontitalic>N</fontitalic>
150   - <fontcolorred>0</fontcolorred>
151   - <fontcolorgreen>0</fontcolorgreen>
152   - <fontcolorblue>0</fontcolorblue>
153   - <backgroundcolorred>255</backgroundcolorred>
154   - <backgroundcolorgreen>205</backgroundcolorgreen>
155   - <backgroundcolorblue>112</backgroundcolorblue>
156   - <bordercolorred>100</bordercolorred>
157   - <bordercolorgreen>100</bordercolorgreen>
158   - <bordercolorblue>100</bordercolorblue>
159   - <drawshadow>Y</drawshadow>
160   - </notepad>
161   - <notepad>
162   - <note>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#xff0c;&#x65b9;&#x5411;&#x6709;&#x65f6;&#x786e;&#x5b9a;&#x4e0d;&#x51c6;&#xff0c;&#xa;&#x7a7a;&#x7684;&#x60c5;&#x51b5;&#x4e0b;&#x8bbe;&#x5b9a;&#x4e3a;0&#xff08;&#x4e0a;&#x884c;&#xff09;</note>
163   - <xloc>578</xloc>
164   - <yloc>1084</yloc>
165   - <width>178</width>
166   - <heigth>42</heigth>
167   - <fontname>YaHei Consolas Hybrid</fontname>
168   - <fontsize>12</fontsize>
169   - <fontbold>N</fontbold>
170   - <fontitalic>N</fontitalic>
171   - <fontcolorred>0</fontcolorred>
172   - <fontcolorgreen>0</fontcolorgreen>
173   - <fontcolorblue>0</fontcolorblue>
174   - <backgroundcolorred>255</backgroundcolorred>
175   - <backgroundcolorgreen>205</backgroundcolorgreen>
176   - <backgroundcolorblue>112</backgroundcolorblue>
177   - <bordercolorred>100</bordercolorred>
178   - <bordercolorgreen>100</bordercolorgreen>
179   - <bordercolorblue>100</bordercolorblue>
180   - <drawshadow>Y</drawshadow>
181   - </notepad>
182   - </notepads>
183   - <connection>
184   - <name>192.168.168.1_jwgl_dw</name>
185   - <server>192.168.168.1</server>
186   - <type>ORACLE</type>
187   - <access>Native</access>
188   - <database>orcl</database>
189   - <port>1521</port>
190   - <username>jwgl_dw</username>
191   - <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password>
192   - <servername/>
193   - <data_tablespace/>
194   - <index_tablespace/>
195   - <attributes>
196   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
197   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
198   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
199   - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
200   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
201   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
202   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
203   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
204   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
205   - </attributes>
206   - </connection>
207   - <connection>
208   - <name>bus_control_variable</name>
209   - <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
210   - <type>MYSQL</type>
211   - <access>Native</access>
212   - <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
213   - <port>3306</port>
214   - <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
215   - <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
216   - <servername/>
217   - <data_tablespace/>
218   - <index_tablespace/>
219   - <attributes>
220   - <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
221   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
222   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
223   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
224   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
225   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
226   - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
227   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
228   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
229   - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
230   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
231   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
232   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
233   - </attributes>
234   - </connection>
235   - <connection>
236   - <name>bus_control_&#x516c;&#x53f8;_201</name>
237   - <server>localhost</server>
238   - <type>MYSQL</type>
239   - <access>Native</access>
240   - <database>control</database>
241   - <port>3306</port>
242   - <username>root</username>
243   - <password>Encrypted </password>
244   - <servername/>
245   - <data_tablespace/>
246   - <index_tablespace/>
247   - <attributes>
248   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
249   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
250   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
251   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
252   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
253   - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
254   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
255   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
256   - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
257   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
258   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
259   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
260   - </attributes>
261   - </connection>
262   - <connection>
263   - <name>bus_control_&#x672c;&#x673a;</name>
264   - <server>localhost</server>
265   - <type>MYSQL</type>
266   - <access>Native</access>
267   - <database>control</database>
268   - <port>3306</port>
269   - <username>root</username>
270   - <password>Encrypted </password>
271   - <servername/>
272   - <data_tablespace/>
273   - <index_tablespace/>
274   - <attributes>
275   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
276   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
277   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
278   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
279   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
280   - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
281   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
282   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
283   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
284   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
285   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
286   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
287   - </attributes>
288   - </connection>
289   - <connection>
290   - <name>xlab_mysql_youle</name>
291   - <server>101.231.124.8</server>
292   - <type>MYSQL</type>
293   - <access>Native</access>
294   - <database>xlab_youle</database>
295   - <port>45687</port>
296   - <username>xlab-youle</username>
297   - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
298   - <servername/>
299   - <data_tablespace/>
300   - <index_tablespace/>
301   - <attributes>
302   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
303   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
304   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
305   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
306   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
307   - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
308   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
309   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
310   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
311   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
312   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
313   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
314   - </attributes>
315   - </connection>
316   - <connection>
317   - <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
318   - <server>localhost</server>
319   - <type>MYSQL</type>
320   - <access>Native</access>
321   - <database>xlab_youle</database>
322   - <port>3306</port>
323   - <username>root</username>
324   - <password>Encrypted </password>
325   - <servername/>
326   - <data_tablespace/>
327   - <index_tablespace/>
328   - <attributes>
329   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
330   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
331   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
332   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
333   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
334   - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
335   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
336   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
337   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
338   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
339   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
340   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
341   - </attributes>
342   - </connection>
343   - <connection>
344   - <name>xlab_youle</name>
345   - <server/>
346   - <type>MYSQL</type>
347   - <access>JNDI</access>
348   - <database>xlab_youle</database>
349   - <port>1521</port>
350   - <username/>
351   - <password>Encrypted </password>
352   - <servername/>
353   - <data_tablespace/>
354   - <index_tablespace/>
355   - <attributes>
356   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
357   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
358   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
359   - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
360   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
361   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
362   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
363   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
364   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
365   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
366   - </attributes>
367   - </connection>
368   - <order>
369   - <hop> <from>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</from><to>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</to><enabled>Y</enabled> </hop>
370   - <hop> <from>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</from><to>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</to><enabled>Y</enabled> </hop>
371   - <hop> <from>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</from><to>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</to><enabled>Y</enabled> </hop>
372   - <hop> <from>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</from><to>&#x5904;&#x7406;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
373   - <hop> <from>&#x5904;&#x7406;&#x6570;&#x636e;</from><to>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</to><enabled>Y</enabled> </hop>
374   - <hop> <from>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</from><to>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
375   - <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</from><to>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
376   - <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</to><enabled>Y</enabled> </hop>
377   - <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</to><enabled>Y</enabled> </hop>
378   - <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</to><enabled>Y</enabled> </hop>
379   - <hop> <from>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</to><enabled>Y</enabled> </hop>
380   - <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</from><to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</to><enabled>Y</enabled> </hop>
381   - <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</from><to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
382   - <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</from><to>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
383   - <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</from><to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
384   - <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x6240;&#x6709;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
385   - <hop> <from>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</to><enabled>Y</enabled> </hop>
386   - <hop> <from>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
387   - <hop> <from>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>
388   - <hop> <from>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
389   - <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x6240;&#x6709;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
390   - <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
391   - <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
392   - <hop> <from>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</from><to>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</to><enabled>Y</enabled> </hop>
393   - <hop> <from>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</from><to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</to><enabled>Y</enabled> </hop>
394   - <hop> <from>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</to><enabled>Y</enabled> </hop>
395   - <hop> <from>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</from><to>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>
396   - <hop> <from>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</from><to>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>
397   - <hop> <from>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</to><enabled>Y</enabled> </hop>
398   - <hop> <from>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</to><enabled>Y</enabled> </hop>
399   - <hop> <from>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</from><to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>
400   - <hop> <from>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</to><enabled>Y</enabled> </hop>
401   - <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</to><enabled>Y</enabled> </hop>
402   - <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</to><enabled>Y</enabled> </hop>
403   - <hop> <from>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
404   - <hop> <from>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</from><to>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</to><enabled>Y</enabled> </hop>
405   - <hop> <from>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</from><to>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</to><enabled>Y</enabled> </hop>
406   - <hop> <from>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
407   - <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</to><enabled>Y</enabled> </hop>
408   - <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>
409   - <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</to><enabled>Y</enabled> </hop>
410   - <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
411   - <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
412   - <hop> <from>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</to><enabled>Y</enabled> </hop>
413   - <hop> <from>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</to><enabled>Y</enabled> </hop>
414   - <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 2</to><enabled>Y</enabled> </hop>
415   - <hop> <from>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</to><enabled>Y</enabled> </hop>
416   - <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</to><enabled>Y</enabled> </hop>
417   - <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 3</to><enabled>Y</enabled> </hop>
418   - </order>
419   - <step>
420   - <name>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</name>
421   - <type>IfNull</type>
422   - <description/>
423   - <distribute>Y</distribute>
424   - <custom_distribution/>
425   - <copies>1</copies>
426   - <partitioning>
427   - <method>none</method>
428   - <schema_name/>
429   - </partitioning>
430   - <replaceAllByValue/>
431   - <replaceAllMask/>
432   - <selectFields>Y</selectFields>
433   - <selectValuesType>N</selectValuesType>
434   - <setEmptyStringAll>N</setEmptyStringAll>
435   - <valuetypes>
436   - </valuetypes>
437   - <fields>
438   - <field>
439   - <name>sxx</name>
440   - <value>0</value>
441   - <mask/>
442   - <set_empty_string>N</set_empty_string>
443   - </field>
444   - </fields>
445   - <cluster_schema/>
446   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
447   - <xloc>230</xloc>
448   - <yloc>946</yloc>
449   - <draw>Y</draw>
450   - </GUI>
451   - </step>
452   -
453   - <step>
454   - <name>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</name>
455   - <type>IfNull</type>
456   - <description/>
457   - <distribute>Y</distribute>
458   - <custom_distribution/>
459   - <copies>1</copies>
460   - <partitioning>
461   - <method>none</method>
462   - <schema_name/>
463   - </partitioning>
464   - <replaceAllByValue/>
465   - <replaceAllMask/>
466   - <selectFields>Y</selectFields>
467   - <selectValuesType>N</selectValuesType>
468   - <setEmptyStringAll>N</setEmptyStringAll>
469   - <valuetypes>
470   - </valuetypes>
471   - <fields>
472   - <field>
473   - <name>sxx2</name>
474   - <value>0</value>
475   - <mask/>
476   - <set_empty_string>N</set_empty_string>
477   - </field>
478   - </fields>
479   - <cluster_schema/>
480   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
481   - <xloc>804</xloc>
482   - <yloc>1081</yloc>
483   - <draw>Y</draw>
484   - </GUI>
485   - </step>
486   -
487   - <step>
488   - <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</name>
489   - <type>ValueMapper</type>
490   - <description/>
491   - <distribute>Y</distribute>
492   - <custom_distribution/>
493   - <copies>1</copies>
494   - <partitioning>
495   - <method>none</method>
496   - <schema_name/>
497   - </partitioning>
498   - <field_to_use>sxx</field_to_use>
499   - <target_field>sxx_desc</target_field>
500   - <non_match_default/>
501   - <fields>
502   - <field>
503   - <source_value>0</source_value>
504   - <target_value>&#x4e0a;&#x884c;</target_value>
505   - </field>
506   - <field>
507   - <source_value>1</source_value>
508   - <target_value>&#x4e0b;&#x884c;</target_value>
509   - </field>
510   - </fields>
511   - <cluster_schema/>
512   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
513   - <xloc>147</xloc>
514   - <yloc>403</yloc>
515   - <draw>Y</draw>
516   - </GUI>
517   - </step>
518   -
519   - <step>
520   - <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</name>
521   - <type>ValueMapper</type>
522   - <description/>
523   - <distribute>Y</distribute>
524   - <custom_distribution/>
525   - <copies>1</copies>
526   - <partitioning>
527   - <method>none</method>
528   - <schema_name/>
529   - </partitioning>
530   - <field_to_use>sxx</field_to_use>
531   - <target_field>sxx_desc</target_field>
532   - <non_match_default/>
533   - <fields>
534   - <field>
535   - <source_value>0</source_value>
536   - <target_value>&#x4e0a;&#x884c;</target_value>
537   - </field>
538   - <field>
539   - <source_value>1</source_value>
540   - <target_value>&#x4e0b;&#x884c;</target_value>
541   - </field>
542   - </fields>
543   - <cluster_schema/>
544   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
545   - <xloc>331</xloc>
546   - <yloc>598</yloc>
547   - <draw>Y</draw>
548   - </GUI>
549   - </step>
550   -
551   - <step>
552   - <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</name>
553   - <type>ValueMapper</type>
554   - <description/>
555   - <distribute>Y</distribute>
556   - <custom_distribution/>
557   - <copies>1</copies>
558   - <partitioning>
559   - <method>none</method>
560   - <schema_name/>
561   - </partitioning>
562   - <field_to_use>sxx</field_to_use>
563   - <target_field>sxx_desc</target_field>
564   - <non_match_default/>
565   - <fields>
566   - <field>
567   - <source_value>0</source_value>
568   - <target_value>&#x4e0a;&#x884c;</target_value>
569   - </field>
570   - <field>
571   - <source_value>1</source_value>
572   - <target_value>&#x4e0b;&#x884c;</target_value>
573   - </field>
574   - </fields>
575   - <cluster_schema/>
576   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
577   - <xloc>553</xloc>
578   - <yloc>859</yloc>
579   - <draw>Y</draw>
580   - </GUI>
581   - </step>
582   -
583   - <step>
584   - <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>
585   - <type>ScriptValueMod</type>
586   - <description/>
587   - <distribute>Y</distribute>
588   - <custom_distribution/>
589   - <copies>1</copies>
590   - <partitioning>
591   - <method>none</method>
592   - <schema_name/>
593   - </partitioning>
594   - <compatible>N</compatible>
595   - <optimizationLevel>9</optimizationLevel>
596   - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
597   - <jsScript_name>Script 1</jsScript_name>
598   - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var cc_groups &#x3d; qdzgroups.split&#x28;&#x22;,&#x22;&#x29;&#x3b; &#x2f;&#x2f; &#x6240;&#x6709;&#x73ed;&#x6b21;&#x8d77;&#x70b9;&#x7ad9;&#x6570;&#x7ec4;&#xa;var zdzname &#x3d; cc_groups&#x5b;gno&#x5d;&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#x662f;&#x4e0b;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x59cb;&#x7ad9;&#xa;var endZdtype &#x3d; &#x27;E&#x27;&#x3b;&#xa;&#xa;var destory &#x3d; 0&#x3b; &#x2f;&#x2f; &#x672a;&#x64a4;&#x9500;flag</jsScript_script>
599   - </jsScript> </jsScripts> <fields> <field> <name>zdzname</name>
600   - <rename>zdzname</rename>
601   - <type>String</type>
602   - <length>-1</length>
603   - <precision>-1</precision>
604   - <replace>N</replace>
605   - </field> <field> <name>endZdtype</name>
606   - <rename>endZdtype</rename>
607   - <type>String</type>
608   - <length>-1</length>
609   - <precision>-1</precision>
610   - <replace>N</replace>
611   - </field> <field> <name>destory</name>
612   - <rename>destory</rename>
613   - <type>Integer</type>
614   - <length>-1</length>
615   - <precision>-1</precision>
616   - <replace>N</replace>
617   - </field> </fields> <cluster_schema/>
618   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
619   - <xloc>575</xloc>
620   - <yloc>502</yloc>
621   - <draw>Y</draw>
622   - </GUI>
623   - </step>
624   -
625   - <step>
626   - <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
627   - <type>Dummy</type>
628   - <description/>
629   - <distribute>Y</distribute>
630   - <custom_distribution/>
631   - <copies>1</copies>
632   - <partitioning>
633   - <method>none</method>
634   - <schema_name/>
635   - </partitioning>
636   - <cluster_schema/>
637   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
638   - <xloc>869</xloc>
639   - <yloc>504</yloc>
640   - <draw>Y</draw>
641   - </GUI>
642   - </step>
643   -
644   - <step>
645   - <name>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</name>
646   - <type>GroupBy</type>
647   - <description/>
648   - <distribute>Y</distribute>
649   - <custom_distribution/>
650   - <copies>1</copies>
651   - <partitioning>
652   - <method>none</method>
653   - <schema_name/>
654   - </partitioning>
655   - <all_rows>Y</all_rows>
656   - <ignore_aggregate>N</ignore_aggregate>
657   - <field_ignore/>
658   - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
659   - <prefix>grp</prefix>
660   - <add_linenr>Y</add_linenr>
661   - <linenr_fieldname>gno</linenr_fieldname>
662   - <give_back_row>N</give_back_row>
663   - <group>
664   - <field>
665   - <name>lp</name>
666   - </field>
667   - </group>
668   - <fields>
669   - <field>
670   - <aggregate>qdzgroups</aggregate>
671   - <subject>qdzname</subject>
672   - <type>CONCAT_STRING</type>
673   - <valuefield>,</valuefield>
674   - </field>
675   - </fields>
676   - <cluster_schema/>
677   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
678   - <xloc>892</xloc>
679   - <yloc>44</yloc>
680   - <draw>Y</draw>
681   - </GUI>
682   - </step>
683   -
684   - <step>
685   - <name>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
686   - <type>ScriptValueMod</type>
687   - <description/>
688   - <distribute>Y</distribute>
689   - <custom_distribution/>
690   - <copies>1</copies>
691   - <partitioning>
692   - <method>none</method>
693   - <schema_name/>
694   - </partitioning>
695   - <compatible>N</compatible>
696   - <optimizationLevel>9</optimizationLevel>
697   - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
698   - <jsScript_name>Script 1</jsScript_name>
699   - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var jhlc&#x3b; &#x2f;&#x2f; &#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var bcsj&#x3b; &#x2f;&#x2f; &#x73ed;&#x6b21;&#x65f6;&#x95f4;&#xa;&#xa;&#x2f;&#x2f; &#x65f6;&#x95f4;&#x8303;&#x56f4;&#x6b63;&#x5219;&#x8868;&#x8fbe;&#x5f0f;&#xa;var timeRex &#x3d; &#x2f;&#x5e;&#x28;&#x5b;01&#x5d;&#x3f;&#x5b;0-9&#x5d;&#x7c;2&#x5b;0-3&#x5d;&#x29;&#x3a;&#x5b;0-5&#x5d;&#x5b;0-9&#x5d;&#x24;&#x2f;&#x3b;&#xa;&#x2f;&#x2f; &#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x8f6c;&#x6362;&#x6210;&#x65e5;&#x671f;&#xa;var fcsj_hour &#x3d; str2num&#x28;sendtime_calcu.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa;var fcsj_min &#x3d; str2num&#x28;sendtime_calcu.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa;var fcsj_date &#x3d; new Date&#x28;2000,1,1,fcsj_hour,fcsj_min,0&#x29;&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x5224;&#x5b9a;&#x662f;&#x5426;&#x65e9;&#x9ad8;&#x5cf0;&#xa;var isZgf &#x3d; false&#x3b;&#xa;if &#x28;timeRex.test&#x28;early_start_time&#x29; &#x26;&#x26; timeRex.test&#x28;early_end_time&#x29; &#x26;&#x26; early_up_time &#x21;&#x3d; null &#x26;&#x26; early_down_time &#x21;&#x3d; null&#x29; &#x7b;&#xa; var early_s_hour &#x3d; str2num&#x28;early_start_time.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var early_s_min &#x3d; str2num&#x28;early_start_time.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var early_s_date &#x3d; new Date&#x28;2000,1,1,early_s_hour,early_s_min,0&#x29;&#x3b;&#xa;&#xa; var early_e_hour &#x3d; str2num&#x28;early_end_time.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var early_e_min &#x3d; str2num&#x28;early_end_time.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var early_e_date &#x3d; new Date&#x28;2000,1,1,early_e_hour,early_e_min,0&#x29;&#x3b;&#xa;&#xa; if &#x28;fcsj_date &#x3e;&#x3d; early_s_date &#x26;&#x26; fcsj_date &#x3c;&#x3d; early_e_date&#x29; &#x7b;&#xa; isZgf &#x3d; true&#x3b;&#xa; &#x7d;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x5224;&#x5b9a;&#x662f;&#x5426;&#x665a;&#x9ad8;&#x5cf0;&#xa;var isWgf &#x3d; false&#x3b;&#xa;if &#x28;timeRex.test&#x28;late_start_time&#x29; &#x26;&#x26; timeRex.test&#x28;late_end_time&#x29; &#x26;&#x26; late_up_time &#x21;&#x3d; null &#x26;&#x26; late_down_time &#x21;&#x3d; null&#x29; &#x7b;&#xa; var late_s_hour &#x3d; str2num&#x28;late_start_time.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var late_s_min &#x3d; str2num&#x28;late_start_time.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var late_s_date &#x3d; new Date&#x28;2000,1,1,late_s_hour,late_s_min,0&#x29;&#x3b;&#xa;&#xa; var late_e_hour &#x3d; str2num&#x28;late_end_time.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var late_e_min &#x3d; str2num&#x28;late_end_time.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var late_e_date &#x3d; new Date&#x28;2000,1,1,late_e_hour,late_e_min,0&#x29;&#x3b;&#xa;&#xa; if &#x28;fcsj_date &#x3e;&#x3d; late_s_date &#x26;&#x26; fcsj_date &#x3c;&#x3d; late_e_date&#x29; &#x7b;&#xa; isWgf &#x3d; true&#x3b;&#xa; &#x7d;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x5224;&#x5b9a;&#x662f;&#x5426;&#x665a;&#x9ad8;&#x5cf0;&#xa;&#xa;if &#x28;sxx &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; if &#x28;isZgf&#x29; &#x7b;&#xa; jhlc &#x3d; up_mileage&#x3b;&#xa; bcsj &#x3d; early_up_time &#x3f; early_up_time &#x3a; up_travel_time&#x3b;&#xa; &#x7d; else if &#x28;isWgf&#x29; &#x7b;&#xa; jhlc &#x3d; up_mileage&#x3b;&#xa; bcsj &#x3d; late_up_time &#x3f; late_up_time &#x3a; up_travel_time&#x3b;&#xa; &#x7d; else &#x7b;&#xa; jhlc &#x3d; up_mileage&#x3b;&#xa; bcsj &#x3d; up_travel_time&#x3b;&#xa; &#x7d;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; if &#x28;isZgf&#x29; &#x7b;&#xa; jhlc &#x3d; down_mileage&#x3b;&#xa; bcsj &#x3d; early_down_time &#x3f; early_down_time &#x3a; down_travel_time&#x3b;&#xa; &#x7d; else if &#x28;isWgf&#x29; &#x7b;&#xa; jhlc &#x3d; down_mileage&#x3b;&#xa; bcsj &#x3d; late_down_time &#x3f; late_down_time &#x3a; down_travel_time&#x3b;&#xa; &#x7d; else &#x7b;&#xa; jhlc &#x3d; down_mileage&#x3b;&#xa; bcsj &#x3d; down_travel_time&#x3b;&#xa; &#x7d;&#xa;&#x7d;&#xa;&#xa;</jsScript_script>
700   - </jsScript> </jsScripts> <fields> <field> <name>jhlc</name>
701   - <rename>jhlc</rename>
702   - <type>String</type>
703   - <length>-1</length>
704   - <precision>-1</precision>
705   - <replace>N</replace>
706   - </field> <field> <name>bcsj</name>
707   - <rename>bcsj</rename>
708   - <type>String</type>
709   - <length>-1</length>
710   - <precision>-1</precision>
711   - <replace>N</replace>
712   - </field> </fields> <cluster_schema/>
713   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
714   - <xloc>148</xloc>
715   - <yloc>674</yloc>
716   - <draw>Y</draw>
717   - </GUI>
718   - </step>
719   -
720   - <step>
721   - <name>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
722   - <type>ScriptValueMod</type>
723   - <description/>
724   - <distribute>Y</distribute>
725   - <custom_distribution/>
726   - <copies>1</copies>
727   - <partitioning>
728   - <method>none</method>
729   - <schema_name/>
730   - </partitioning>
731   - <compatible>N</compatible>
732   - <optimizationLevel>9</optimizationLevel>
733   - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
734   - <jsScript_name>Script 1</jsScript_name>
735   - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var out_mileage&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var out_time&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x8ba1;&#x5212;&#x65f6;&#x95f4;&#xa;&#xa;if &#x28;sxx &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; out_mileage &#x3d; up_out_mileage&#x3b;&#xa; out_time &#x3d; up_out_timer&#x3b;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; out_mileage &#x3d; down_out_mileage&#x3b;&#xa; out_time &#x3d; down_out_timer&#x3b;&#xa;&#x7d;&#xa;&#xa;&#xa;&#xa;</jsScript_script>
736   - </jsScript> </jsScripts> <fields> <field> <name>out_mileage</name>
737   - <rename>out_mileage</rename>
738   - <type>String</type>
739   - <length>-1</length>
740   - <precision>-1</precision>
741   - <replace>N</replace>
742   - </field> <field> <name>out_time</name>
743   - <rename>out_time</rename>
744   - <type>String</type>
745   - <length>-1</length>
746   - <precision>-1</precision>
747   - <replace>N</replace>
748   - </field> </fields> <cluster_schema/>
749   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
750   - <xloc>336</xloc>
751   - <yloc>862</yloc>
752   - <draw>Y</draw>
753   - </GUI>
754   - </step>
755   -
756   - <step>
757   - <name>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
758   - <type>ScriptValueMod</type>
759   - <description/>
760   - <distribute>Y</distribute>
761   - <custom_distribution/>
762   - <copies>1</copies>
763   - <partitioning>
764   - <method>none</method>
765   - <schema_name/>
766   - </partitioning>
767   - <compatible>N</compatible>
768   - <optimizationLevel>9</optimizationLevel>
769   - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
770   - <jsScript_name>Script 1</jsScript_name>
771   - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var parade_mileage&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var parade_time&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x8ba1;&#x5212;&#x65f6;&#x95f4;&#xa;&#xa;if &#x28;sxx2 &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; parade_mileage &#x3d; up_in_mileage&#x3b;&#xa; parade_time &#x3d; up_in_timer&#x3b;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; parade_mileage &#x3d; down_in_mileage&#x3b;&#xa; parade_time &#x3d; down_in_timer&#x3b;&#xa;&#x7d;&#xa;&#xa;&#xa;&#xa;</jsScript_script>
772   - </jsScript> </jsScripts> <fields> <field> <name>parade_mileage</name>
773   - <rename>parade_mileage</rename>
774   - <type>String</type>
775   - <length>-1</length>
776   - <precision>-1</precision>
777   - <replace>N</replace>
778   - </field> <field> <name>parade_time</name>
779   - <rename>parade_time</rename>
780   - <type>String</type>
781   - <length>-1</length>
782   - <precision>-1</precision>
783   - <replace>N</replace>
784   - </field> </fields> <cluster_schema/>
785   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
786   - <xloc>726</xloc>
787   - <yloc>1005</yloc>
788   - <draw>Y</draw>
789   - </GUI>
790   - </step>
791   -
792   - <step>
793   - <name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</name>
794   - <type>DataGrid</type>
795   - <description/>
796   - <distribute>Y</distribute>
797   - <custom_distribution/>
798   - <copies>1</copies>
799   - <partitioning>
800   - <method>none</method>
801   - <schema_name/>
802   - </partitioning>
803   - <fields>
804   - </fields>
805   - <data>
806   - <line> </line>
807   - </data>
808   - <cluster_schema/>
809   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
810   - <xloc>110</xloc>
811   - <yloc>133</yloc>
812   - <draw>Y</draw>
813   - </GUI>
814   - </step>
815   -
816   - <step>
817   - <name>&#x5904;&#x7406;&#x6570;&#x636e;</name>
818   - <type>ScriptValueMod</type>
819   - <description/>
820   - <distribute>Y</distribute>
821   - <custom_distribution/>
822   - <copies>1</copies>
823   - <partitioning>
824   - <method>none</method>
825   - <schema_name/>
826   - </partitioning>
827   - <compatible>N</compatible>
828   - <optimizationLevel>9</optimizationLevel>
829   - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
830   - <jsScript_name>Script 1</jsScript_name>
831   - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x4f7f;&#x7528;&#x6b63;&#x5219;&#x8868;&#x8fbe;&#x5f0f;&#x53bb;&#x9664;&#x7ad9;&#x70b9;&#x540d;&#x79f0;&#x4e2d;&#x7684;&#x6570;&#x5b57;&#xa;qdzname &#x3d; qdzname.replace&#x28;&#x2f;&#x5c;d&#x2b;&#x2f;g,&#x27;&#x27;&#x29;&#x3b;&#xa;&#xa;&#x2f;&#x2f; sendtime&#x5904;&#x7406;&#xff0c;hhmm&#xff0c;hh&#x3a;mm&#xff0c;hh,mm&#xa;var sendtime_calcu&#x3b;&#xa;if &#x28;sendtime.length &#x3d;&#x3d; 5&#x29; &#x7b; &#x2f;&#x2f; &#x6700;&#x957f;&#x683c;&#x5f0f;&#xff0c;&#x5305;&#x62ec;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x7edf;&#x4e00;&#x628a;&#x5206;&#x9694;&#x7b26;&#x66ff;&#x6362;&#x6210;&#x5192;&#x53f7;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;3, 2&#x29;&#x3b;&#xa;&#x7d; else if &#x28;sendtime.length &#x3d;&#x3d; 4&#x29; &#x7b;&#xa; if &#x28;sendtime.indexOf&#x28;&#x22;&#x3a;&#x22;&#x29; &#x3e; 0&#x29; &#x7b; &#x2f;&#x2f; &#x5192;&#x53f7;&#x5206;&#x9694;&#xff0c;&#x65e0;&#x9700;&#x4fee;&#x6539;&#xa; sendtime_calcu &#x3d; sendtime&#x3b;&#xa; &#x7d; else if &#x28;sendtime.indexOf&#x28;&#x22;,&#x22;&#x29; &#x3e; 0&#x29; &#x7b; &#x2f;&#x2f; &#x9017;&#x53f7;&#x5206;&#x9694;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 1&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa; &#x7d; else &#x7b; &#x2f;&#x2f; &#x65e0;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa; &#x7d;&#xa;&#x7d; else if &#x28;sendtime.length &#x3d;&#x3d; 3&#x29; &#x7b; &#x2f;&#x2f; &#x65e0;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 1&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;1, 2&#x29;&#x3b;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;&#x5206;&#x73ed;&#xa;var isfb &#x3d; 0&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;&#x505c;&#x9a76;&#xa;var ists &#x3d; 0&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;isCanceled&#xa;var iscanceled &#x3d; 0&#x3b;</jsScript_script>
832   - </jsScript> </jsScripts> <fields> <field> <name>qdzname</name>
833   - <rename>qdzname</rename>
834   - <type>String</type>
835   - <length>-1</length>
836   - <precision>-1</precision>
837   - <replace>Y</replace>
838   - </field> <field> <name>isfb</name>
839   - <rename>isfb</rename>
840   - <type>Integer</type>
841   - <length>-1</length>
842   - <precision>-1</precision>
843   - <replace>N</replace>
844   - </field> <field> <name>iscanceled</name>
845   - <rename>iscanceled</rename>
846   - <type>Integer</type>
847   - <length>-1</length>
848   - <precision>-1</precision>
849   - <replace>N</replace>
850   - </field> <field> <name>sendtime_calcu</name>
851   - <rename>sendtime_calcu</rename>
852   - <type>String</type>
853   - <length>-1</length>
854   - <precision>-1</precision>
855   - <replace>N</replace>
856   - </field> <field> <name>ists</name>
857   - <rename>ists</rename>
858   - <type>Integer</type>
859   - <length>-1</length>
860   - <precision>-1</precision>
861   - <replace>N</replace>
862   - </field> </fields> <cluster_schema/>
863   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
864   - <xloc>788</xloc>
865   - <yloc>44</yloc>
866   - <draw>Y</draw>
867   - </GUI>
868   - </step>
869   -
870   - <step>
871   - <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
872   - <type>SelectValues</type>
873   - <description/>
874   - <distribute>Y</distribute>
875   - <custom_distribution/>
876   - <copies>1</copies>
877   - <partitioning>
878   - <method>none</method>
879   - <schema_name/>
880   - </partitioning>
881   - <fields> <field> <name>&#x8def;&#x724c;</name>
882   - <rename>lp</rename>
883   - <length>-2</length>
884   - <precision>-2</precision>
885   - </field> <field> <name>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</name>
886   - <rename>qdzname</rename>
887   - <length>-2</length>
888   - <precision>-2</precision>
889   - </field> <field> <name>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</name>
890   - <rename>sendtime</rename>
891   - <length>-2</length>
892   - <precision>-2</precision>
893   - </field> <select_unspecified>Y</select_unspecified>
894   - </fields> <cluster_schema/>
895   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
896   - <xloc>444</xloc>
897   - <yloc>131</yloc>
898   - <draw>Y</draw>
899   - </GUI>
900   - </step>
901   -
902   - <step>
903   - <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</name>
904   - <type>FilterRows</type>
905   - <description/>
906   - <distribute>Y</distribute>
907   - <custom_distribution/>
908   - <copies>1</copies>
909   - <partitioning>
910   - <method>none</method>
911   - <schema_name/>
912   - </partitioning>
913   -<send_true_to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>
914   -<send_false_to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</send_false_to>
915   - <compare>
916   -<condition>
917   - <negated>N</negated>
918   - <leftvalue>bctype</leftvalue>
919   - <function>&#x3d;</function>
920   - <rightvalue/>
921   - <value><name>constant</name><type>String</type><text>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>
922   - </compare>
923   - <cluster_schema/>
924   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
925   - <xloc>860</xloc>
926   - <yloc>401</yloc>
927   - <draw>Y</draw>
928   - </GUI>
929   - </step>
930   -
931   - <step>
932   - <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</name>
933   - <type>FilterRows</type>
934   - <description/>
935   - <distribute>Y</distribute>
936   - <custom_distribution/>
937   - <copies>1</copies>
938   - <partitioning>
939   - <method>none</method>
940   - <schema_name/>
941   - </partitioning>
942   -<send_true_to>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>
943   -<send_false_to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_false_to>
944   - <compare>
945   -<condition>
946   - <negated>N</negated>
947   - <leftvalue>bctype</leftvalue>
948   - <function>&#x3d;</function>
949   - <rightvalue/>
950   - <value><name>constant</name><type>String</type><text>&#x51fa;&#x573a;</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>
951   - </compare>
952   - <cluster_schema/>
953   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
954   - <xloc>995</xloc>
955   - <yloc>503</yloc>
956   - <draw>Y</draw>
957   - </GUI>
958   - </step>
959   -
960   - <step>
961   - <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</name>
962   - <type>InsertUpdate</type>
963   - <description/>
964   - <distribute>Y</distribute>
965   - <custom_distribution/>
966   - <copies>1</copies>
967   - <partitioning>
968   - <method>none</method>
969   - <schema_name/>
970   - </partitioning>
971   - <connection>bus_control_variable</connection>
972   - <commit>100</commit>
973   - <update_bypassed>N</update_bypassed>
974   - <lookup>
975   - <schema/>
976   - <table>bsth_c_s_ttinfo_detail</table>
977   - <key>
978   - <name>xlid</name>
979   - <field>xl</field>
980   - <condition>&#x3d;</condition>
981   - <name2/>
982   - </key>
983   - <key>
984   - <name>ttid</name>
985   - <field>ttinfo</field>
986   - <condition>&#x3d;</condition>
987   - <name2/>
988   - </key>
989   - <key>
990   - <name>lpid</name>
991   - <field>lp</field>
992   - <condition>&#x3d;</condition>
993   - <name2/>
994   - </key>
995   - <key>
996   - <name>fcno</name>
997   - <field>fcno</field>
998   - <condition>&#x3d;</condition>
999   - <name2/>
1000   - </key>
1001   - <key>
1002   - <name>bcs</name>
1003   - <field>bcs</field>
1004   - <condition>&#x3d;</condition>
1005   - <name2/>
1006   - </key>
1007   - <value>
1008   - <name>lp</name>
1009   - <rename>lpid</rename>
1010   - <update>Y</update>
1011   - </value>
1012   - <value>
1013   - <name>bc_type</name>
1014   - <rename>bctype_code</rename>
1015   - <update>Y</update>
1016   - </value>
1017   - <value>
1018   - <name>bcs</name>
1019   - <rename>bcs</rename>
1020   - <update>Y</update>
1021   - </value>
1022   - <value>
1023   - <name>bcsj</name>
1024   - <rename>bcsj</rename>
1025   - <update>Y</update>
1026   - </value>
1027   - <value>
1028   - <name>fcno</name>
1029   - <rename>fcno</rename>
1030   - <update>Y</update>
1031   - </value>
1032   - <value>
1033   - <name>jhlc</name>
1034   - <rename>jhlc</rename>
1035   - <update>Y</update>
1036   - </value>
1037   - <value>
1038   - <name>fcsj</name>
1039   - <rename>sendtime_calcu</rename>
1040   - <update>Y</update>
1041   - </value>
1042   - <value>
1043   - <name>ttinfo</name>
1044   - <rename>ttid</rename>
1045   - <update>Y</update>
1046   - </value>
1047   - <value>
1048   - <name>xl</name>
1049   - <rename>xlid</rename>
1050   - <update>Y</update>
1051   - </value>
1052   - <value>
1053   - <name>qdz</name>
1054   - <rename>qdzid</rename>
1055   - <update>Y</update>
1056   - </value>
1057   - <value>
1058   - <name>zdz</name>
1059   - <rename>zdzid</rename>
1060   - <update>Y</update>
1061   - </value>
1062   - <value>
1063   - <name>xl_dir</name>
1064   - <rename>sxx</rename>
1065   - <update>Y</update>
1066   - </value>
1067   - <value>
1068   - <name>isfb</name>
1069   - <rename>isfb</rename>
1070   - <update>Y</update>
1071   - </value>
1072   - <value>
1073   - <name>qdz_code</name>
1074   - <rename>qdzcode</rename>
1075   - <update>Y</update>
1076   - </value>
1077   - <value>
1078   - <name>qdz_name</name>
1079   - <rename>qdzname</rename>
1080   - <update>Y</update>
1081   - </value>
1082   - <value>
1083   - <name>zdz_code</name>
1084   - <rename>zdzcode</rename>
1085   - <update>Y</update>
1086   - </value>
1087   - <value>
1088   - <name>zdz_name</name>
1089   - <rename>zdzname</rename>
1090   - <update>Y</update>
1091   - </value>
1092   - <value>
1093   - <name>ists</name>
1094   - <rename>ists</rename>
1095   - <update>Y</update>
1096   - </value>
1097   - </lookup>
1098   - <cluster_schema/>
1099   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1100   - <xloc>143</xloc>
1101   - <yloc>860</yloc>
1102   - <draw>Y</draw>
1103   - </GUI>
1104   - </step>
1105   -
1106   - <step>
1107   - <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 2</name>
1108   - <type>InsertUpdate</type>
1109   - <description/>
1110   - <distribute>Y</distribute>
1111   - <custom_distribution/>
1112   - <copies>1</copies>
1113   - <partitioning>
1114   - <method>none</method>
1115   - <schema_name/>
1116   - </partitioning>
1117   - <connection>bus_control_variable</connection>
1118   - <commit>100</commit>
1119   - <update_bypassed>N</update_bypassed>
1120   - <lookup>
1121   - <schema/>
1122   - <table>bsth_c_s_ttinfo_detail</table>
1123   - <key>
1124   - <name>xlid</name>
1125   - <field>xl</field>
1126   - <condition>&#x3d;</condition>
1127   - <name2/>
1128   - </key>
1129   - <key>
1130   - <name>ttid</name>
1131   - <field>ttinfo</field>
1132   - <condition>&#x3d;</condition>
1133   - <name2/>
1134   - </key>
1135   - <key>
1136   - <name>lpid</name>
1137   - <field>lp</field>
1138   - <condition>&#x3d;</condition>
1139   - <name2/>
1140   - </key>
1141   - <key>
1142   - <name>fcno</name>
1143   - <field>fcno</field>
1144   - <condition>&#x3d;</condition>
1145   - <name2/>
1146   - </key>
1147   - <key>
1148   - <name>bcs</name>
1149   - <field>bcs</field>
1150   - <condition>&#x3d;</condition>
1151   - <name2/>
1152   - </key>
1153   - <value>
1154   - <name>tcc</name>
1155   - <rename>qdzid</rename>
1156   - <update>Y</update>
1157   - </value>
1158   - <value>
1159   - <name>zdz</name>
1160   - <rename>zdzid</rename>
1161   - <update>Y</update>
1162   - </value>
1163   - <value>
1164   - <name>xl</name>
1165   - <rename>xlid</rename>
1166   - <update>Y</update>
1167   - </value>
1168   - <value>
1169   - <name>ttinfo</name>
1170   - <rename>ttid</rename>
1171   - <update>Y</update>
1172   - </value>
1173   - <value>
1174   - <name>xl_dir</name>
1175   - <rename>sxx</rename>
1176   - <update>Y</update>
1177   - </value>
1178   - <value>
1179   - <name>lp</name>
1180   - <rename>lpid</rename>
1181   - <update>Y</update>
1182   - </value>
1183   - <value>
1184   - <name>jhlc</name>
1185   - <rename>out_mileage</rename>
1186   - <update>Y</update>
1187   - </value>
1188   - <value>
1189   - <name>fcsj</name>
1190   - <rename>sendtime_calcu</rename>
1191   - <update>Y</update>
1192   - </value>
1193   - <value>
1194   - <name>bcsj</name>
1195   - <rename>out_time</rename>
1196   - <update>Y</update>
1197   - </value>
1198   - <value>
1199   - <name>bcs</name>
1200   - <rename>bcs</rename>
1201   - <update>Y</update>
1202   - </value>
1203   - <value>
1204   - <name>fcno</name>
1205   - <rename>fcno</rename>
1206   - <update>Y</update>
1207   - </value>
1208   - <value>
1209   - <name>bc_type</name>
1210   - <rename>bctype_code</rename>
1211   - <update>Y</update>
1212   - </value>
1213   - <value>
1214   - <name>isfb</name>
1215   - <rename>isfb</rename>
1216   - <update>Y</update>
1217   - </value>
1218   - <value>
1219   - <name>qdz_code</name>
1220   - <rename>qdzcode</rename>
1221   - <update>Y</update>
1222   - </value>
1223   - <value>
1224   - <name>qdz_name</name>
1225   - <rename>tn</rename>
1226   - <update>Y</update>
1227   - </value>
1228   - <value>
1229   - <name>zdz_code</name>
1230   - <rename>zdzcode</rename>
1231   - <update>Y</update>
1232   - </value>
1233   - <value>
1234   - <name>zdz_name</name>
1235   - <rename>zdzname</rename>
1236   - <update>Y</update>
1237   - </value>
1238   - <value>
1239   - <name>ists</name>
1240   - <rename>ists</rename>
1241   - <update>Y</update>
1242   - </value>
1243   - </lookup>
1244   - <cluster_schema/>
1245   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1246   - <xloc>340</xloc>
1247   - <yloc>1087</yloc>
1248   - <draw>Y</draw>
1249   - </GUI>
1250   - </step>
1251   -
1252   - <step>
1253   - <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 3</name>
1254   - <type>InsertUpdate</type>
1255   - <description/>
1256   - <distribute>Y</distribute>
1257   - <custom_distribution/>
1258   - <copies>1</copies>
1259   - <partitioning>
1260   - <method>none</method>
1261   - <schema_name/>
1262   - </partitioning>
1263   - <connection>bus_control_variable</connection>
1264   - <commit>100</commit>
1265   - <update_bypassed>N</update_bypassed>
1266   - <lookup>
1267   - <schema/>
1268   - <table>bsth_c_s_ttinfo_detail</table>
1269   - <key>
1270   - <name>xlid</name>
1271   - <field>xl</field>
1272   - <condition>&#x3d;</condition>
1273   - <name2/>
1274   - </key>
1275   - <key>
1276   - <name>ttid</name>
1277   - <field>ttinfo</field>
1278   - <condition>&#x3d;</condition>
1279   - <name2/>
1280   - </key>
1281   - <key>
1282   - <name>lpid</name>
1283   - <field>lp</field>
1284   - <condition>&#x3d;</condition>
1285   - <name2/>
1286   - </key>
1287   - <key>
1288   - <name>fcno</name>
1289   - <field>fcno</field>
1290   - <condition>&#x3d;</condition>
1291   - <name2/>
1292   - </key>
1293   - <key>
1294   - <name>bcs</name>
1295   - <field>bcs</field>
1296   - <condition>&#x3d;</condition>
1297   - <name2/>
1298   - </key>
1299   - <value>
1300   - <name>fcno</name>
1301   - <rename>fcno</rename>
1302   - <update>Y</update>
1303   - </value>
1304   - <value>
1305   - <name>bcs</name>
1306   - <rename>bcs</rename>
1307   - <update>Y</update>
1308   - </value>
1309   - <value>
1310   - <name>xl</name>
1311   - <rename>xlid</rename>
1312   - <update>Y</update>
1313   - </value>
1314   - <value>
1315   - <name>ttinfo</name>
1316   - <rename>ttid</rename>
1317   - <update>Y</update>
1318   - </value>
1319   - <value>
1320   - <name>lp</name>
1321   - <rename>lpid</rename>
1322   - <update>Y</update>
1323   - </value>
1324   - <value>
1325   - <name>bc_type</name>
1326   - <rename>bctype_code</rename>
1327   - <update>Y</update>
1328   - </value>
1329   - <value>
1330   - <name>bcsj</name>
1331   - <rename>parade_time</rename>
1332   - <update>Y</update>
1333   - </value>
1334   - <value>
1335   - <name>jhlc</name>
1336   - <rename>parade_mileage</rename>
1337   - <update>Y</update>
1338   - </value>
1339   - <value>
1340   - <name>fcsj</name>
1341   - <rename>sendtime_calcu</rename>
1342   - <update>Y</update>
1343   - </value>
1344   - <value>
1345   - <name>xl_dir</name>
1346   - <rename>sxx2</rename>
1347   - <update>Y</update>
1348   - </value>
1349   - <value>
1350   - <name>qdz</name>
1351   - <rename>qdzid</rename>
1352   - <update>Y</update>
1353   - </value>
1354   - <value>
1355   - <name>tcc</name>
1356   - <rename>zdzid</rename>
1357   - <update>Y</update>
1358   - </value>
1359   - <value>
1360   - <name>isfb</name>
1361   - <rename>isfb</rename>
1362   - <update>Y</update>
1363   - </value>
1364   - <value>
1365   - <name>qdz_code</name>
1366   - <rename>qdzcode</rename>
1367   - <update>Y</update>
1368   - </value>
1369   - <value>
1370   - <name>qdz_name</name>
1371   - <rename>qname</rename>
1372   - <update>Y</update>
1373   - </value>
1374   - <value>
1375   - <name>zdz_code</name>
1376   - <rename>zdzcode</rename>
1377   - <update>Y</update>
1378   - </value>
1379   - <value>
1380   - <name>zdz_name</name>
1381   - <rename>tn</rename>
1382   - <update>Y</update>
1383   - </value>
1384   - <value>
1385   - <name>ists</name>
1386   - <rename>ists</rename>
1387   - <update>Y</update>
1388   - </value>
1389   - </lookup>
1390   - <cluster_schema/>
1391   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1392   - <xloc>845</xloc>
1393   - <yloc>899</yloc>
1394   - <draw>Y</draw>
1395   - </GUI>
1396   - </step>
1397   -
1398   - <step>
1399   - <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</name>
1400   - <type>ExcelInput</type>
1401   - <description/>
1402   - <distribute>N</distribute>
1403   - <custom_distribution/>
1404   - <copies>1</copies>
1405   - <partitioning>
1406   - <method>none</method>
1407   - <schema_name/>
1408   - </partitioning>
1409   - <header>Y</header>
1410   - <noempty>Y</noempty>
1411   - <stoponempty>N</stoponempty>
1412   - <filefield/>
1413   - <sheetfield/>
1414   - <sheetrownumfield/>
1415   - <rownumfield/>
1416   - <sheetfield/>
1417   - <filefield/>
1418   - <limit>0</limit>
1419   - <encoding/>
1420   - <add_to_result_filenames>Y</add_to_result_filenames>
1421   - <accept_filenames>N</accept_filenames>
1422   - <accept_field/>
1423   - <accept_stepname/>
1424   - <file>
1425   - <name/>
1426   - <filemask/>
1427   - <exclude_filemask/>
1428   - <file_required>N</file_required>
1429   - <include_subfolders>N</include_subfolders>
1430   - </file>
1431   - <fields>
1432   - </fields>
1433   - <sheets>
1434   - <sheet>
1435   - <name/>
1436   - <startrow>0</startrow>
1437   - <startcol>0</startcol>
1438   - </sheet>
1439   - </sheets>
1440   - <strict_types>N</strict_types>
1441   - <error_ignored>N</error_ignored>
1442   - <error_line_skipped>N</error_line_skipped>
1443   - <bad_line_files_destination_directory/>
1444   - <bad_line_files_extension>warning</bad_line_files_extension>
1445   - <error_line_files_destination_directory/>
1446   - <error_line_files_extension>error</error_line_files_extension>
1447   - <line_number_files_destination_directory/>
1448   - <line_number_files_extension>line</line_number_files_extension>
1449   - <shortFileFieldName/>
1450   - <pathFieldName/>
1451   - <hiddenFieldName/>
1452   - <lastModificationTimeFieldName/>
1453   - <uriNameFieldName/>
1454   - <rootUriNameFieldName/>
1455   - <extensionFieldName/>
1456   - <sizeFieldName/>
1457   - <spreadsheet_type>JXL</spreadsheet_type>
1458   - <cluster_schema/>
1459   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1460   - <xloc>112</xloc>
1461   - <yloc>44</yloc>
1462   - <draw>Y</draw>
1463   - </GUI>
1464   - </step>
1465   -
1466   - <step>
1467   - <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</name>
1468   - <type>DBLookup</type>
1469   - <description/>
1470   - <distribute>Y</distribute>
1471   - <custom_distribution/>
1472   - <copies>1</copies>
1473   - <partitioning>
1474   - <method>none</method>
1475   - <schema_name/>
1476   - </partitioning>
1477   - <connection>bus_control_variable</connection>
1478   - <cache>N</cache>
1479   - <cache_load_all>N</cache_load_all>
1480   - <cache_size>0</cache_size>
1481   - <lookup>
1482   - <schema/>
1483   - <table>bsth_c_car_park</table>
1484   - <orderby/>
1485   - <fail_on_multiple>N</fail_on_multiple>
1486   - <eat_row_on_failure>N</eat_row_on_failure>
1487   - <key>
1488   - <name>tccname_</name>
1489   - <field>park_name</field>
1490   - <condition>&#x3d;</condition>
1491   - <name2/>
1492   - </key>
1493   - <value>
1494   - <name>id</name>
1495   - <rename>qdzid</rename>
1496   - <default/>
1497   - <type>Integer</type>
1498   - </value>
1499   - <value>
1500   - <name>park_code</name>
1501   - <rename>qdzcode</rename>
1502   - <default/>
1503   - <type>String</type>
1504   - </value>
1505   - <value>
1506   - <name>park_name</name>
1507   - <rename>tn</rename>
1508   - <default/>
1509   - <type>String</type>
1510   - </value>
1511   - </lookup>
1512   - <cluster_schema/>
1513   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1514   - <xloc>755</xloc>
1515   - <yloc>504</yloc>
1516   - <draw>Y</draw>
1517   - </GUI>
1518   - </step>
1519   -
1520   - <step>
1521   - <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</name>
1522   - <type>DBLookup</type>
1523   - <description/>
1524   - <distribute>Y</distribute>
1525   - <custom_distribution/>
1526   - <copies>1</copies>
1527   - <partitioning>
1528   - <method>none</method>
1529   - <schema_name/>
1530   - </partitioning>
1531   - <connection>bus_control_variable</connection>
1532   - <cache>N</cache>
1533   - <cache_load_all>N</cache_load_all>
1534   - <cache_size>0</cache_size>
1535   - <lookup>
1536   - <schema/>
1537   - <table>bsth_c_car_park</table>
1538   - <orderby/>
1539   - <fail_on_multiple>N</fail_on_multiple>
1540   - <eat_row_on_failure>N</eat_row_on_failure>
1541   - <key>
1542   - <name>tccname_</name>
1543   - <field>park_name</field>
1544   - <condition>&#x3d;</condition>
1545   - <name2/>
1546   - </key>
1547   - <value>
1548   - <name>id</name>
1549   - <rename>zdzid</rename>
1550   - <default/>
1551   - <type>Integer</type>
1552   - </value>
1553   - <value>
1554   - <name>park_code</name>
1555   - <rename>zdzcode</rename>
1556   - <default/>
1557   - <type>String</type>
1558   - </value>
1559   - <value>
1560   - <name>park_name</name>
1561   - <rename>tn</rename>
1562   - <default/>
1563   - <type>String</type>
1564   - </value>
1565   - </lookup>
1566   - <cluster_schema/>
1567   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1568   - <xloc>887</xloc>
1569   - <yloc>608</yloc>
1570   - <draw>Y</draw>
1571   - </GUI>
1572   - </step>
1573   -
1574   - <step>
1575   - <name>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
1576   - <type>DBLookup</type>
1577   - <description/>
1578   - <distribute>Y</distribute>
1579   - <custom_distribution/>
1580   - <copies>1</copies>
1581   - <partitioning>
1582   - <method>none</method>
1583   - <schema_name/>
1584   - </partitioning>
1585   - <connection>bus_control_variable</connection>
1586   - <cache>N</cache>
1587   - <cache_load_all>N</cache_load_all>
1588   - <cache_size>0</cache_size>
1589   - <lookup>
1590   - <schema/>
1591   - <table>bsth_c_stationroute</table>
1592   - <orderby/>
1593   - <fail_on_multiple>N</fail_on_multiple>
1594   - <eat_row_on_failure>N</eat_row_on_failure>
1595   - <key>
1596   - <name>xlid</name>
1597   - <field>line</field>
1598   - <condition>&#x3d;</condition>
1599   - <name2/>
1600   - </key>
1601   - <key>
1602   - <name>zdzname</name>
1603   - <field>station_name</field>
1604   - <condition>&#x3d;</condition>
1605   - <name2/>
1606   - </key>
1607   - <key>
1608   - <name>endZdtype</name>
1609   - <field>station_mark</field>
1610   - <condition>&#x3d;</condition>
1611   - <name2/>
1612   - </key>
1613   - <key>
1614   - <name>destory</name>
1615   - <field>destroy</field>
1616   - <condition>&#x3d;</condition>
1617   - <name2/>
1618   - </key>
1619   - <value>
1620   - <name>station</name>
1621   - <rename>zdzid</rename>
1622   - <default/>
1623   - <type>Integer</type>
1624   - </value>
1625   - <value>
1626   - <name>directions</name>
1627   - <rename>sxx</rename>
1628   - <default/>
1629   - <type>Integer</type>
1630   - </value>
1631   - <value>
1632   - <name>station_code</name>
1633   - <rename>zdzcode</rename>
1634   - <default/>
1635   - <type>String</type>
1636   - </value>
1637   - </lookup>
1638   - <cluster_schema/>
1639   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1640   - <xloc>329</xloc>
1641   - <yloc>505</yloc>
1642   - <draw>Y</draw>
1643   - </GUI>
1644   - </step>
1645   -
1646   - <step>
1647   - <name>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</name>
1648   - <type>DBLookup</type>
1649   - <description/>
1650   - <distribute>Y</distribute>
1651   - <custom_distribution/>
1652   - <copies>1</copies>
1653   - <partitioning>
1654   - <method>none</method>
1655   - <schema_name/>
1656   - </partitioning>
1657   - <connection>bus_control_variable</connection>
1658   - <cache>N</cache>
1659   - <cache_load_all>N</cache_load_all>
1660   - <cache_size>0</cache_size>
1661   - <lookup>
1662   - <schema/>
1663   - <table>bsth_c_s_ttinfo</table>
1664   - <orderby/>
1665   - <fail_on_multiple>N</fail_on_multiple>
1666   - <eat_row_on_failure>N</eat_row_on_failure>
1667   - <key>
1668   - <name>xlid</name>
1669   - <field>xl</field>
1670   - <condition>&#x3d;</condition>
1671   - <name2/>
1672   - </key>
1673   - <key>
1674   - <name>ttinfoname_</name>
1675   - <field>name</field>
1676   - <condition>&#x3d;</condition>
1677   - <name2/>
1678   - </key>
1679   - <key>
1680   - <name>iscanceled</name>
1681   - <field>is_cancel</field>
1682   - <condition>&#x3d;</condition>
1683   - <name2/>
1684   - </key>
1685   - <value>
1686   - <name>id</name>
1687   - <rename>ttid</rename>
1688   - <default/>
1689   - <type>Integer</type>
1690   - </value>
1691   - </lookup>
1692   - <cluster_schema/>
1693   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1694   - <xloc>1011</xloc>
1695   - <yloc>134</yloc>
1696   - <draw>Y</draw>
1697   - </GUI>
1698   - </step>
1699   -
1700   - <step>
1701   - <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</name>
1702   - <type>DBLookup</type>
1703   - <description/>
1704   - <distribute>Y</distribute>
1705   - <custom_distribution/>
1706   - <copies>1</copies>
1707   - <partitioning>
1708   - <method>none</method>
1709   - <schema_name/>
1710   - </partitioning>
1711   - <connection>bus_control_variable</connection>
1712   - <cache>N</cache>
1713   - <cache_load_all>N</cache_load_all>
1714   - <cache_size>0</cache_size>
1715   - <lookup>
1716   - <schema/>
1717   - <table>bsth_c_line</table>
1718   - <orderby/>
1719   - <fail_on_multiple>N</fail_on_multiple>
1720   - <eat_row_on_failure>N</eat_row_on_failure>
1721   - <key>
1722   - <name>xlname_</name>
1723   - <field>name</field>
1724   - <condition>&#x3d;</condition>
1725   - <name2/>
1726   - </key>
1727   - <key>
1728   - <name>iscanceled</name>
1729   - <field>destroy</field>
1730   - <condition>&#x3d;</condition>
1731   - <name2/>
1732   - </key>
1733   - <value>
1734   - <name>id</name>
1735   - <rename>xlid</rename>
1736   - <default/>
1737   - <type>Integer</type>
1738   - </value>
1739   - </lookup>
1740   - <cluster_schema/>
1741   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1742   - <xloc>1007</xloc>
1743   - <yloc>43</yloc>
1744   - <draw>Y</draw>
1745   - </GUI>
1746   - </step>
1747   -
1748   - <step>
1749   - <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
1750   - <type>DBLookup</type>
1751   - <description/>
1752   - <distribute>Y</distribute>
1753   - <custom_distribution/>
1754   - <copies>1</copies>
1755   - <partitioning>
1756   - <method>none</method>
1757   - <schema_name/>
1758   - </partitioning>
1759   - <connection>bus_control_variable</connection>
1760   - <cache>N</cache>
1761   - <cache_load_all>N</cache_load_all>
1762   - <cache_size>0</cache_size>
1763   - <lookup>
1764   - <schema/>
1765   - <table>bsth_c_line_information</table>
1766   - <orderby/>
1767   - <fail_on_multiple>N</fail_on_multiple>
1768   - <eat_row_on_failure>N</eat_row_on_failure>
1769   - <key>
1770   - <name>xlid</name>
1771   - <field>line</field>
1772   - <condition>&#x3d;</condition>
1773   - <name2/>
1774   - </key>
1775   - <value>
1776   - <name>up_out_timer</name>
1777   - <rename>up_out_timer</rename>
1778   - <default/>
1779   - <type>Number</type>
1780   - </value>
1781   - <value>
1782   - <name>up_out_mileage</name>
1783   - <rename>up_out_mileage</rename>
1784   - <default/>
1785   - <type>Number</type>
1786   - </value>
1787   - <value>
1788   - <name>down_out_timer</name>
1789   - <rename>down_out_timer</rename>
1790   - <default/>
1791   - <type>Number</type>
1792   - </value>
1793   - <value>
1794   - <name>down_out_mileage</name>
1795   - <rename>down_out_mileage</rename>
1796   - <default/>
1797   - <type>Number</type>
1798   - </value>
1799   - </lookup>
1800   - <cluster_schema/>
1801   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1802   - <xloc>335</xloc>
1803   - <yloc>763</yloc>
1804   - <draw>Y</draw>
1805   - </GUI>
1806   - </step>
1807   -
1808   - <step>
1809   - <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x6240;&#x6709;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
1810   - <type>DBLookup</type>
1811   - <description/>
1812   - <distribute>Y</distribute>
1813   - <custom_distribution/>
1814   - <copies>1</copies>
1815   - <partitioning>
1816   - <method>none</method>
1817   - <schema_name/>
1818   - </partitioning>
1819   - <connection>bus_control_variable</connection>
1820   - <cache>N</cache>
1821   - <cache_load_all>N</cache_load_all>
1822   - <cache_size>0</cache_size>
1823   - <lookup>
1824   - <schema/>
1825   - <table>bsth_c_line_information</table>
1826   - <orderby/>
1827   - <fail_on_multiple>N</fail_on_multiple>
1828   - <eat_row_on_failure>N</eat_row_on_failure>
1829   - <key>
1830   - <name>xlid</name>
1831   - <field>line</field>
1832   - <condition>&#x3d;</condition>
1833   - <name2/>
1834   - </key>
1835   - <value>
1836   - <name>up_mileage</name>
1837   - <rename>up_mileage</rename>
1838   - <default/>
1839   - <type>Number</type>
1840   - </value>
1841   - <value>
1842   - <name>down_mileage</name>
1843   - <rename>down_mileage</rename>
1844   - <default/>
1845   - <type>Number</type>
1846   - </value>
1847   - <value>
1848   - <name>up_travel_time</name>
1849   - <rename>up_travel_time</rename>
1850   - <default/>
1851   - <type>Number</type>
1852   - </value>
1853   - <value>
1854   - <name>down_travel_time</name>
1855   - <rename>down_travel_time</rename>
1856   - <default/>
1857   - <type>Number</type>
1858   - </value>
1859   - <value>
1860   - <name>early_start_time</name>
1861   - <rename>early_start_time</rename>
1862   - <default/>
1863   - <type>String</type>
1864   - </value>
1865   - <value>
1866   - <name>early_end_time</name>
1867   - <rename>early_end_time</rename>
1868   - <default/>
1869   - <type>String</type>
1870   - </value>
1871   - <value>
1872   - <name>early_up_time</name>
1873   - <rename>early_up_time</rename>
1874   - <default/>
1875   - <type>Number</type>
1876   - </value>
1877   - <value>
1878   - <name>early_down_time</name>
1879   - <rename>early_down_time</rename>
1880   - <default/>
1881   - <type>Number</type>
1882   - </value>
1883   - <value>
1884   - <name>late_start_time</name>
1885   - <rename>late_start_time</rename>
1886   - <default/>
1887   - <type>String</type>
1888   - </value>
1889   - <value>
1890   - <name>late_end_time</name>
1891   - <rename>late_end_time</rename>
1892   - <default/>
1893   - <type>String</type>
1894   - </value>
1895   - <value>
1896   - <name>late_up_time</name>
1897   - <rename>late_up_time</rename>
1898   - <default/>
1899   - <type>Number</type>
1900   - </value>
1901   - <value>
1902   - <name>late_down_time</name>
1903   - <rename>late_down_time</rename>
1904   - <default/>
1905   - <type>Number</type>
1906   - </value>
1907   - </lookup>
1908   - <cluster_schema/>
1909   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1910   - <xloc>149</xloc>
1911   - <yloc>581</yloc>
1912   - <draw>Y</draw>
1913   - </GUI>
1914   - </step>
1915   -
1916   - <step>
1917   - <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
1918   - <type>DBLookup</type>
1919   - <description/>
1920   - <distribute>Y</distribute>
1921   - <custom_distribution/>
1922   - <copies>1</copies>
1923   - <partitioning>
1924   - <method>none</method>
1925   - <schema_name/>
1926   - </partitioning>
1927   - <connection>bus_control_variable</connection>
1928   - <cache>N</cache>
1929   - <cache_load_all>N</cache_load_all>
1930   - <cache_size>0</cache_size>
1931   - <lookup>
1932   - <schema/>
1933   - <table>bsth_c_line_information</table>
1934   - <orderby/>
1935   - <fail_on_multiple>N</fail_on_multiple>
1936   - <eat_row_on_failure>N</eat_row_on_failure>
1937   - <key>
1938   - <name>xlid</name>
1939   - <field>line</field>
1940   - <condition>&#x3d;</condition>
1941   - <name2/>
1942   - </key>
1943   - <value>
1944   - <name>up_in_mileage</name>
1945   - <rename>up_in_mileage</rename>
1946   - <default/>
1947   - <type>Number</type>
1948   - </value>
1949   - <value>
1950   - <name>up_in_timer</name>
1951   - <rename>up_in_timer</rename>
1952   - <default/>
1953   - <type>Number</type>
1954   - </value>
1955   - <value>
1956   - <name>down_in_mileage</name>
1957   - <rename>down_in_mileage</rename>
1958   - <default/>
1959   - <type>Number</type>
1960   - </value>
1961   - <value>
1962   - <name>down_in_timer</name>
1963   - <rename>down_in_timer</rename>
1964   - <default/>
1965   - <type>Number</type>
1966   - </value>
1967   - </lookup>
1968   - <cluster_schema/>
1969   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1970   - <xloc>553</xloc>
1971   - <yloc>1004</yloc>
1972   - <draw>Y</draw>
1973   - </GUI>
1974   - </step>
1975   -
1976   - <step>
1977   - <name>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</name>
1978   - <type>DBLookup</type>
1979   - <description/>
1980   - <distribute>Y</distribute>
1981   - <custom_distribution/>
1982   - <copies>1</copies>
1983   - <partitioning>
1984   - <method>none</method>
1985   - <schema_name/>
1986   - </partitioning>
1987   - <connection>bus_control_variable</connection>
1988   - <cache>N</cache>
1989   - <cache_load_all>N</cache_load_all>
1990   - <cache_size>0</cache_size>
1991   - <lookup>
1992   - <schema/>
1993   - <table>bsth_c_stationroute</table>
1994   - <orderby/>
1995   - <fail_on_multiple>N</fail_on_multiple>
1996   - <eat_row_on_failure>N</eat_row_on_failure>
1997   - <key>
1998   - <name>xlid</name>
1999   - <field>line</field>
2000   - <condition>&#x3d;</condition>
2001   - <name2/>
2002   - </key>
2003   - <key>
2004   - <name>sxx</name>
2005   - <field>directions</field>
2006   - <condition>&#x3d;</condition>
2007   - <name2/>
2008   - </key>
2009   - <key>
2010   - <name>endZdtype</name>
2011   - <field>station_mark</field>
2012   - <condition>&#x3d;</condition>
2013   - <name2/>
2014   - </key>
2015   - <key>
2016   - <name>destory</name>
2017   - <field>destroy</field>
2018   - <condition>&#x3d;</condition>
2019   - <name2/>
2020   - </key>
2021   - <value>
2022   - <name>station_name</name>
2023   - <rename>zdzname</rename>
2024   - <default/>
2025   - <type>String</type>
2026   - </value>
2027   - <value>
2028   - <name>station</name>
2029   - <rename>zdzid</rename>
2030   - <default/>
2031   - <type>Integer</type>
2032   - </value>
2033   - <value>
2034   - <name>station_code</name>
2035   - <rename>zdzcode</rename>
2036   - <default/>
2037   - <type>String</type>
2038   - </value>
2039   - </lookup>
2040   - <cluster_schema/>
2041   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2042   - <xloc>280</xloc>
2043   - <yloc>404</yloc>
2044   - <draw>Y</draw>
2045   - </GUI>
2046   - </step>
2047   -
2048   - <step>
2049   - <name>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
2050   - <type>DBLookup</type>
2051   - <description/>
2052   - <distribute>Y</distribute>
2053   - <custom_distribution/>
2054   - <copies>1</copies>
2055   - <partitioning>
2056   - <method>none</method>
2057   - <schema_name/>
2058   - </partitioning>
2059   - <connection>bus_control_variable</connection>
2060   - <cache>N</cache>
2061   - <cache_load_all>N</cache_load_all>
2062   - <cache_size>0</cache_size>
2063   - <lookup>
2064   - <schema/>
2065   - <table>bsth_c_stationroute</table>
2066   - <orderby/>
2067   - <fail_on_multiple>N</fail_on_multiple>
2068   - <eat_row_on_failure>N</eat_row_on_failure>
2069   - <key>
2070   - <name>xlid</name>
2071   - <field>line</field>
2072   - <condition>&#x3d;</condition>
2073   - <name2/>
2074   - </key>
2075   - <key>
2076   - <name>qdzname</name>
2077   - <field>station_name</field>
2078   - <condition>&#x3d;</condition>
2079   - <name2/>
2080   - </key>
2081   - <key>
2082   - <name>sendZdtype</name>
2083   - <field>station_mark</field>
2084   - <condition>&#x3d;</condition>
2085   - <name2/>
2086   - </key>
2087   - <key>
2088   - <name>destory</name>
2089   - <field>destroy</field>
2090   - <condition>&#x3d;</condition>
2091   - <name2/>
2092   - </key>
2093   - <value>
2094   - <name>station</name>
2095   - <rename>qdzid</rename>
2096   - <default/>
2097   - <type>Integer</type>
2098   - </value>
2099   - <value>
2100   - <name>directions</name>
2101   - <rename>sxx</rename>
2102   - <default/>
2103   - <type>Integer</type>
2104   - </value>
2105   - <value>
2106   - <name>station_code</name>
2107   - <rename>qdzcode</rename>
2108   - <default/>
2109   - <type>String</type>
2110   - </value>
2111   - </lookup>
2112   - <cluster_schema/>
2113   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2114   - <xloc>430</xloc>
2115   - <yloc>403</yloc>
2116   - <draw>Y</draw>
2117   - </GUI>
2118   - </step>
2119   -
2120   - <step>
2121   - <name>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</name>
2122   - <type>DBLookup</type>
2123   - <description/>
2124   - <distribute>Y</distribute>
2125   - <custom_distribution/>
2126   - <copies>1</copies>
2127   - <partitioning>
2128   - <method>none</method>
2129   - <schema_name/>
2130   - </partitioning>
2131   - <connection>bus_control_variable</connection>
2132   - <cache>N</cache>
2133   - <cache_load_all>N</cache_load_all>
2134   - <cache_size>0</cache_size>
2135   - <lookup>
2136   - <schema/>
2137   - <table>bsth_c_s_gbi</table>
2138   - <orderby/>
2139   - <fail_on_multiple>N</fail_on_multiple>
2140   - <eat_row_on_failure>N</eat_row_on_failure>
2141   - <key>
2142   - <name>xlid</name>
2143   - <field>xl</field>
2144   - <condition>&#x3d;</condition>
2145   - <name2/>
2146   - </key>
2147   - <key>
2148   - <name>lp</name>
2149   - <field>lp_name</field>
2150   - <condition>&#x3d;</condition>
2151   - <name2/>
2152   - </key>
2153   - <key>
2154   - <name>iscanceled</name>
2155   - <field>is_cancel</field>
2156   - <condition>&#x3d;</condition>
2157   - <name2/>
2158   - </key>
2159   - <value>
2160   - <name>id</name>
2161   - <rename>lpid</rename>
2162   - <default/>
2163   - <type>Integer</type>
2164   - </value>
2165   - </lookup>
2166   - <cluster_schema/>
2167   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2168   - <xloc>1013</xloc>
2169   - <yloc>265</yloc>
2170   - <draw>Y</draw>
2171   - </GUI>
2172   - </step>
2173   -
2174   - <step>
2175   - <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</name>
2176   - <type>DBLookup</type>
2177   - <description/>
2178   - <distribute>Y</distribute>
2179   - <custom_distribution/>
2180   - <copies>1</copies>
2181   - <partitioning>
2182   - <method>none</method>
2183   - <schema_name/>
2184   - </partitioning>
2185   - <connection>bus_control_variable</connection>
2186   - <cache>N</cache>
2187   - <cache_load_all>N</cache_load_all>
2188   - <cache_size>0</cache_size>
2189   - <lookup>
2190   - <schema/>
2191   - <table>bsth_c_stationroute</table>
2192   - <orderby/>
2193   - <fail_on_multiple>N</fail_on_multiple>
2194   - <eat_row_on_failure>N</eat_row_on_failure>
2195   - <key>
2196   - <name>xlid</name>
2197   - <field>line</field>
2198   - <condition>&#x3d;</condition>
2199   - <name2/>
2200   - </key>
2201   - <key>
2202   - <name>startZdtype_calcu</name>
2203   - <field>station_mark</field>
2204   - <condition>&#x3d;</condition>
2205   - <name2/>
2206   - </key>
2207   - <key>
2208   - <name>qdzname_calcu</name>
2209   - <field>station_name</field>
2210   - <condition>&#x3d;</condition>
2211   - <name2/>
2212   - </key>
2213   - <key>
2214   - <name>destory</name>
2215   - <field>destroy</field>
2216   - <condition>&#x3d;</condition>
2217   - <name2/>
2218   - </key>
2219   - <value>
2220   - <name>directions</name>
2221   - <rename>sxx</rename>
2222   - <default/>
2223   - <type>String</type>
2224   - </value>
2225   - </lookup>
2226   - <cluster_schema/>
2227   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2228   - <xloc>548</xloc>
2229   - <yloc>610</yloc>
2230   - <draw>Y</draw>
2231   - </GUI>
2232   - </step>
2233   -
2234   - <step>
2235   - <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</name>
2236   - <type>DBLookup</type>
2237   - <description/>
2238   - <distribute>Y</distribute>
2239   - <custom_distribution/>
2240   - <copies>1</copies>
2241   - <partitioning>
2242   - <method>none</method>
2243   - <schema_name/>
2244   - </partitioning>
2245   - <connection>bus_control_variable</connection>
2246   - <cache>Y</cache>
2247   - <cache_load_all>Y</cache_load_all>
2248   - <cache_size>0</cache_size>
2249   - <lookup>
2250   - <schema/>
2251   - <table>bsth_c_stationroute</table>
2252   - <orderby/>
2253   - <fail_on_multiple>N</fail_on_multiple>
2254   - <eat_row_on_failure>N</eat_row_on_failure>
2255   - <key>
2256   - <name>xlid</name>
2257   - <field>line</field>
2258   - <condition>&#x3d;</condition>
2259   - <name2/>
2260   - </key>
2261   - <key>
2262   - <name>endZdtype_calcu</name>
2263   - <field>station_mark</field>
2264   - <condition>&#x3d;</condition>
2265   - <name2/>
2266   - </key>
2267   - <key>
2268   - <name>sxx</name>
2269   - <field>directions</field>
2270   - <condition>&#x3d;</condition>
2271   - <name2/>
2272   - </key>
2273   - <key>
2274   - <name>destory</name>
2275   - <field>destroy</field>
2276   - <condition>&#x3d;</condition>
2277   - <name2/>
2278   - </key>
2279   - <value>
2280   - <name>station_name</name>
2281   - <rename>zdzname_calcu</rename>
2282   - <default/>
2283   - <type>Integer</type>
2284   - </value>
2285   - </lookup>
2286   - <cluster_schema/>
2287   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2288   - <xloc>550</xloc>
2289   - <yloc>701</yloc>
2290   - <draw>Y</draw>
2291   - </GUI>
2292   - </step>
2293   -
2294   - <step>
2295   - <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
2296   - <type>DBLookup</type>
2297   - <description/>
2298   - <distribute>Y</distribute>
2299   - <custom_distribution/>
2300   - <copies>1</copies>
2301   - <partitioning>
2302   - <method>none</method>
2303   - <schema_name/>
2304   - </partitioning>
2305   - <connection>bus_control_variable</connection>
2306   - <cache>N</cache>
2307   - <cache_load_all>N</cache_load_all>
2308   - <cache_size>0</cache_size>
2309   - <lookup>
2310   - <schema/>
2311   - <table>bsth_c_stationroute</table>
2312   - <orderby/>
2313   - <fail_on_multiple>N</fail_on_multiple>
2314   - <eat_row_on_failure>N</eat_row_on_failure>
2315   - <key>
2316   - <name>xlid</name>
2317   - <field>line</field>
2318   - <condition>&#x3d;</condition>
2319   - <name2/>
2320   - </key>
2321   - <key>
2322   - <name>zdzname_calcu</name>
2323   - <field>station_name</field>
2324   - <condition>&#x3d;</condition>
2325   - <name2/>
2326   - </key>
2327   - <key>
2328   - <name>startZdtype_calcu</name>
2329   - <field>station_mark</field>
2330   - <condition>&#x3d;</condition>
2331   - <name2/>
2332   - </key>
2333   - <key>
2334   - <name>destory</name>
2335   - <field>destroy</field>
2336   - <condition>&#x3d;</condition>
2337   - <name2/>
2338   - </key>
2339   - <value>
2340   - <name>directions</name>
2341   - <rename>sxx2</rename>
2342   - <default/>
2343   - <type>Integer</type>
2344   - </value>
2345   - <value>
2346   - <name>station</name>
2347   - <rename>qdzid</rename>
2348   - <default/>
2349   - <type>Integer</type>
2350   - </value>
2351   - <value>
2352   - <name>station_code</name>
2353   - <rename>qdzcode</rename>
2354   - <default/>
2355   - <type>String</type>
2356   - </value>
2357   - <value>
2358   - <name>station_name</name>
2359   - <rename>qname</rename>
2360   - <default/>
2361   - <type>String</type>
2362   - </value>
2363   - </lookup>
2364   - <cluster_schema/>
2365   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2366   - <xloc>551</xloc>
2367   - <yloc>782</yloc>
2368   - <draw>Y</draw>
2369   - </GUI>
2370   - </step>
2371   -
2372   - <step>
2373   - <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</name>
2374   - <type>ScriptValueMod</type>
2375   - <description/>
2376   - <distribute>Y</distribute>
2377   - <custom_distribution/>
2378   - <copies>1</copies>
2379   - <partitioning>
2380   - <method>none</method>
2381   - <schema_name/>
2382   - </partitioning>
2383   - <compatible>N</compatible>
2384   - <optimizationLevel>9</optimizationLevel>
2385   - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
2386   - <jsScript_name>Script 1</jsScript_name>
2387   - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var sendZdtype &#x3d; &#x27;B&#x27;&#x3b;&#xa;var endZdtype &#x3d; &#x27;E&#x27;&#x3b;&#xa;&#xa;var destory &#x3d; 0&#x3b; &#x2f;&#x2f; &#x672a;&#x64a4;&#x9500;flag</jsScript_script>
2388   - </jsScript> </jsScripts> <fields> <field> <name>sendZdtype</name>
2389   - <rename>sendZdtype</rename>
2390   - <type>String</type>
2391   - <length>-1</length>
2392   - <precision>-1</precision>
2393   - <replace>N</replace>
2394   - </field> <field> <name>endZdtype</name>
2395   - <rename>endZdtype</rename>
2396   - <type>String</type>
2397   - <length>-1</length>
2398   - <precision>-1</precision>
2399   - <replace>N</replace>
2400   - </field> <field> <name>destory</name>
2401   - <rename>destory</rename>
2402   - <type>Integer</type>
2403   - <length>-1</length>
2404   - <precision>-1</precision>
2405   - <replace>N</replace>
2406   - </field> </fields> <cluster_schema/>
2407   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2408   - <xloc>588</xloc>
2409   - <yloc>403</yloc>
2410   - <draw>Y</draw>
2411   - </GUI>
2412   - </step>
2413   -
2414   - <step>
2415   - <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
2416   - <type>Dummy</type>
2417   - <description/>
2418   - <distribute>Y</distribute>
2419   - <custom_distribution/>
2420   - <copies>1</copies>
2421   - <partitioning>
2422   - <method>none</method>
2423   - <schema_name/>
2424   - </partitioning>
2425   - <cluster_schema/>
2426   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2427   - <xloc>725</xloc>
2428   - <yloc>404</yloc>
2429   - <draw>Y</draw>
2430   - </GUI>
2431   - </step>
2432   -
2433   - <step>
2434   - <name>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</name>
2435   - <type>GroupBy</type>
2436   - <description/>
2437   - <distribute>Y</distribute>
2438   - <custom_distribution/>
2439   - <copies>1</copies>
2440   - <partitioning>
2441   - <method>none</method>
2442   - <schema_name/>
2443   - </partitioning>
2444   - <all_rows>Y</all_rows>
2445   - <ignore_aggregate>N</ignore_aggregate>
2446   - <field_ignore/>
2447   - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
2448   - <prefix>grp</prefix>
2449   - <add_linenr>Y</add_linenr>
2450   - <linenr_fieldname>fcno</linenr_fieldname>
2451   - <give_back_row>N</give_back_row>
2452   - <group>
2453   - <field>
2454   - <name>lp</name>
2455   - </field>
2456   - </group>
2457   - <fields>
2458   - </fields>
2459   - <cluster_schema/>
2460   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2461   - <xloc>442</xloc>
2462   - <yloc>44</yloc>
2463   - <draw>Y</draw>
2464   - </GUI>
2465   - </step>
2466   -
2467   - <step>
2468   - <name>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</name>
2469   - <type>GroupBy</type>
2470   - <description/>
2471   - <distribute>Y</distribute>
2472   - <custom_distribution/>
2473   - <copies>1</copies>
2474   - <partitioning>
2475   - <method>none</method>
2476   - <schema_name/>
2477   - </partitioning>
2478   - <all_rows>Y</all_rows>
2479   - <ignore_aggregate>N</ignore_aggregate>
2480   - <field_ignore/>
2481   - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
2482   - <prefix>grp</prefix>
2483   - <add_linenr>Y</add_linenr>
2484   - <linenr_fieldname>bcs</linenr_fieldname>
2485   - <give_back_row>N</give_back_row>
2486   - <group>
2487   - </group>
2488   - <fields>
2489   - </fields>
2490   - <cluster_schema/>
2491   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2492   - <xloc>692</xloc>
2493   - <yloc>44</yloc>
2494   - <draw>Y</draw>
2495   - </GUI>
2496   - </step>
2497   -
2498   - <step>
2499   - <name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</name>
2500   - <type>Normaliser</type>
2501   - <description/>
2502   - <distribute>Y</distribute>
2503   - <custom_distribution/>
2504   - <copies>1</copies>
2505   - <partitioning>
2506   - <method>none</method>
2507   - <schema_name/>
2508   - </partitioning>
2509   - <typefield>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</typefield>
2510   - <fields> </fields> <cluster_schema/>
2511   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2512   - <xloc>248</xloc>
2513   - <yloc>44</yloc>
2514   - <draw>Y</draw>
2515   - </GUI>
2516   - </step>
2517   -
2518   - <step>
2519   - <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</name>
2520   - <type>ValueMapper</type>
2521   - <description/>
2522   - <distribute>Y</distribute>
2523   - <custom_distribution/>
2524   - <copies>1</copies>
2525   - <partitioning>
2526   - <method>none</method>
2527   - <schema_name/>
2528   - </partitioning>
2529   - <field_to_use>bctype</field_to_use>
2530   - <target_field>bctype_code</target_field>
2531   - <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
2532   - <fields>
2533   - <field>
2534   - <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
2535   - <target_value>normal</target_value>
2536   - </field>
2537   - <field>
2538   - <source_value>&#x51fa;&#x573a;</source_value>
2539   - <target_value>out</target_value>
2540   - </field>
2541   - <field>
2542   - <source_value>&#x8fdb;&#x573a;</source_value>
2543   - <target_value>in</target_value>
2544   - </field>
2545   - <field>
2546   - <source_value>&#x52a0;&#x6cb9;</source_value>
2547   - <target_value>oil</target_value>
2548   - </field>
2549   - <field>
2550   - <source_value>&#x4e34;&#x52a0;</source_value>
2551   - <target_value>temp</target_value>
2552   - </field>
2553   - <field>
2554   - <source_value>&#x533a;&#x95f4;</source_value>
2555   - <target_value>region</target_value>
2556   - </field>
2557   - <field>
2558   - <source_value>&#x653e;&#x7a7a;</source_value>
2559   - <target_value>venting</target_value>
2560   - </field>
2561   - <field>
2562   - <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
2563   - <target_value>major</target_value>
2564   - </field>
2565   - </fields>
2566   - <cluster_schema/>
2567   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2568   - <xloc>149</xloc>
2569   - <yloc>491</yloc>
2570   - <draw>Y</draw>
2571   - </GUI>
2572   - </step>
2573   -
2574   - <step>
2575   - <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</name>
2576   - <type>ValueMapper</type>
2577   - <description/>
2578   - <distribute>Y</distribute>
2579   - <custom_distribution/>
2580   - <copies>1</copies>
2581   - <partitioning>
2582   - <method>none</method>
2583   - <schema_name/>
2584   - </partitioning>
2585   - <field_to_use>bctype</field_to_use>
2586   - <target_field>bctype_code</target_field>
2587   - <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
2588   - <fields>
2589   - <field>
2590   - <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
2591   - <target_value>normal</target_value>
2592   - </field>
2593   - <field>
2594   - <source_value>&#x51fa;&#x573a;</source_value>
2595   - <target_value>out</target_value>
2596   - </field>
2597   - <field>
2598   - <source_value>&#x8fdb;&#x573a;</source_value>
2599   - <target_value>in</target_value>
2600   - </field>
2601   - <field>
2602   - <source_value>&#x52a0;&#x6cb9;</source_value>
2603   - <target_value>oil</target_value>
2604   - </field>
2605   - <field>
2606   - <source_value>&#x4e34;&#x52a0;</source_value>
2607   - <target_value>temp</target_value>
2608   - </field>
2609   - <field>
2610   - <source_value>&#x533a;&#x95f4;</source_value>
2611   - <target_value>region</target_value>
2612   - </field>
2613   - <field>
2614   - <source_value>&#x653e;&#x7a7a;</source_value>
2615   - <target_value>venting</target_value>
2616   - </field>
2617   - <field>
2618   - <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
2619   - <target_value>major</target_value>
2620   - </field>
2621   - </fields>
2622   - <cluster_schema/>
2623   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2624   - <xloc>333</xloc>
2625   - <yloc>681</yloc>
2626   - <draw>Y</draw>
2627   - </GUI>
2628   - </step>
2629   -
2630   - <step>
2631   - <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</name>
2632   - <type>ValueMapper</type>
2633   - <description/>
2634   - <distribute>Y</distribute>
2635   - <custom_distribution/>
2636   - <copies>1</copies>
2637   - <partitioning>
2638   - <method>none</method>
2639   - <schema_name/>
2640   - </partitioning>
2641   - <field_to_use>bctype</field_to_use>
2642   - <target_field>bctype_code</target_field>
2643   - <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
2644   - <fields>
2645   - <field>
2646   - <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
2647   - <target_value>normal</target_value>
2648   - </field>
2649   - <field>
2650   - <source_value>&#x51fa;&#x573a;</source_value>
2651   - <target_value>out</target_value>
2652   - </field>
2653   - <field>
2654   - <source_value>&#x8fdb;&#x573a;</source_value>
2655   - <target_value>in</target_value>
2656   - </field>
2657   - <field>
2658   - <source_value>&#x52a0;&#x6cb9;</source_value>
2659   - <target_value>oil</target_value>
2660   - </field>
2661   - <field>
2662   - <source_value>&#x4e34;&#x52a0;</source_value>
2663   - <target_value>temp</target_value>
2664   - </field>
2665   - <field>
2666   - <source_value>&#x533a;&#x95f4;</source_value>
2667   - <target_value>region</target_value>
2668   - </field>
2669   - <field>
2670   - <source_value>&#x653e;&#x7a7a;</source_value>
2671   - <target_value>venting</target_value>
2672   - </field>
2673   - <field>
2674   - <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
2675   - <target_value>major</target_value>
2676   - </field>
2677   - </fields>
2678   - <cluster_schema/>
2679   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2680   - <xloc>551</xloc>
2681   - <yloc>928</yloc>
2682   - <draw>Y</draw>
2683   - </GUI>
2684   - </step>
2685   -
2686   - <step>
2687   - <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</name>
2688   - <type>SelectValues</type>
2689   - <description/>
2690   - <distribute>Y</distribute>
2691   - <custom_distribution/>
2692   - <copies>1</copies>
2693   - <partitioning>
2694   - <method>none</method>
2695   - <schema_name/>
2696   - </partitioning>
2697   - <fields> <select_unspecified>N</select_unspecified>
2698   - <meta> <name>jhlc</name>
2699   - <rename>jhlc</rename>
2700   - <type>Number</type>
2701   - <length>-2</length>
2702   - <precision>-2</precision>
2703   - <conversion_mask/>
2704   - <date_format_lenient>false</date_format_lenient>
2705   - <date_format_locale/>
2706   - <date_format_timezone/>
2707   - <lenient_string_to_number>false</lenient_string_to_number>
2708   - <encoding/>
2709   - <decimal_symbol/>
2710   - <grouping_symbol/>
2711   - <currency_symbol/>
2712   - <storage_type/>
2713   - </meta> <meta> <name>bcsj</name>
2714   - <rename>bcsj</rename>
2715   - <type>Integer</type>
2716   - <length>-2</length>
2717   - <precision>-2</precision>
2718   - <conversion_mask/>
2719   - <date_format_lenient>false</date_format_lenient>
2720   - <date_format_locale/>
2721   - <date_format_timezone/>
2722   - <lenient_string_to_number>false</lenient_string_to_number>
2723   - <encoding/>
2724   - <decimal_symbol/>
2725   - <grouping_symbol/>
2726   - <currency_symbol/>
2727   - <storage_type/>
2728   - </meta> </fields> <cluster_schema/>
2729   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2730   - <xloc>146</xloc>
2731   - <yloc>768</yloc>
2732   - <draw>Y</draw>
2733   - </GUI>
2734   - </step>
2735   -
2736   - <step>
2737   - <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</name>
2738   - <type>SelectValues</type>
2739   - <description/>
2740   - <distribute>Y</distribute>
2741   - <custom_distribution/>
2742   - <copies>1</copies>
2743   - <partitioning>
2744   - <method>none</method>
2745   - <schema_name/>
2746   - </partitioning>
2747   - <fields> <select_unspecified>N</select_unspecified>
2748   - <meta> <name>out_mileage</name>
2749   - <rename>out_mileage</rename>
2750   - <type>Number</type>
2751   - <length>-2</length>
2752   - <precision>-2</precision>
2753   - <conversion_mask/>
2754   - <date_format_lenient>false</date_format_lenient>
2755   - <date_format_locale/>
2756   - <date_format_timezone/>
2757   - <lenient_string_to_number>false</lenient_string_to_number>
2758   - <encoding/>
2759   - <decimal_symbol/>
2760   - <grouping_symbol/>
2761   - <currency_symbol/>
2762   - <storage_type/>
2763   - </meta> <meta> <name>out_time</name>
2764   - <rename>out_time</rename>
2765   - <type>Integer</type>
2766   - <length>-2</length>
2767   - <precision>-2</precision>
2768   - <conversion_mask/>
2769   - <date_format_lenient>false</date_format_lenient>
2770   - <date_format_locale/>
2771   - <date_format_timezone/>
2772   - <lenient_string_to_number>false</lenient_string_to_number>
2773   - <encoding/>
2774   - <decimal_symbol/>
2775   - <grouping_symbol/>
2776   - <currency_symbol/>
2777   - <storage_type/>
2778   - </meta> <meta> <name>sxx</name>
2779   - <rename>sxx</rename>
2780   - <type>Integer</type>
2781   - <length>-2</length>
2782   - <precision>-2</precision>
2783   - <conversion_mask/>
2784   - <date_format_lenient>false</date_format_lenient>
2785   - <date_format_locale/>
2786   - <date_format_timezone/>
2787   - <lenient_string_to_number>false</lenient_string_to_number>
2788   - <encoding/>
2789   - <decimal_symbol/>
2790   - <grouping_symbol/>
2791   - <currency_symbol/>
2792   - <storage_type/>
2793   - </meta> </fields> <cluster_schema/>
2794   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2795   - <xloc>338</xloc>
2796   - <yloc>1008</yloc>
2797   - <draw>Y</draw>
2798   - </GUI>
2799   - </step>
2800   -
2801   - <step>
2802   - <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</name>
2803   - <type>SelectValues</type>
2804   - <description/>
2805   - <distribute>Y</distribute>
2806   - <custom_distribution/>
2807   - <copies>1</copies>
2808   - <partitioning>
2809   - <method>none</method>
2810   - <schema_name/>
2811   - </partitioning>
2812   - <fields> <select_unspecified>N</select_unspecified>
2813   - <meta> <name>parade_mileage</name>
2814   - <rename>parade_mileage</rename>
2815   - <type>Number</type>
2816   - <length>-2</length>
2817   - <precision>-2</precision>
2818   - <conversion_mask/>
2819   - <date_format_lenient>false</date_format_lenient>
2820   - <date_format_locale/>
2821   - <date_format_timezone/>
2822   - <lenient_string_to_number>false</lenient_string_to_number>
2823   - <encoding/>
2824   - <decimal_symbol/>
2825   - <grouping_symbol/>
2826   - <currency_symbol/>
2827   - <storage_type/>
2828   - </meta> <meta> <name>parade_time</name>
2829   - <rename>parade_time</rename>
2830   - <type>Integer</type>
2831   - <length>-2</length>
2832   - <precision>-2</precision>
2833   - <conversion_mask/>
2834   - <date_format_lenient>false</date_format_lenient>
2835   - <date_format_locale/>
2836   - <date_format_timezone/>
2837   - <lenient_string_to_number>false</lenient_string_to_number>
2838   - <encoding/>
2839   - <decimal_symbol/>
2840   - <grouping_symbol/>
2841   - <currency_symbol/>
2842   - <storage_type/>
2843   - </meta> <meta> <name>sxx2</name>
2844   - <rename>sxx2</rename>
2845   - <type>Integer</type>
2846   - <length>-2</length>
2847   - <precision>-2</precision>
2848   - <conversion_mask/>
2849   - <date_format_lenient>false</date_format_lenient>
2850   - <date_format_locale/>
2851   - <date_format_timezone/>
2852   - <lenient_string_to_number>false</lenient_string_to_number>
2853   - <encoding/>
2854   - <decimal_symbol/>
2855   - <grouping_symbol/>
2856   - <currency_symbol/>
2857   - <storage_type/>
2858   - </meta> </fields> <cluster_schema/>
2859   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2860   - <xloc>847</xloc>
2861   - <yloc>1003</yloc>
2862   - <draw>Y</draw>
2863   - </GUI>
2864   - </step>
2865   -
2866   - <step>
2867   - <name>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</name>
2868   - <type>ValueMapper</type>
2869   - <description/>
2870   - <distribute>Y</distribute>
2871   - <custom_distribution/>
2872   - <copies>1</copies>
2873   - <partitioning>
2874   - <method>none</method>
2875   - <schema_name/>
2876   - </partitioning>
2877   - <field_to_use>qdzname</field_to_use>
2878   - <target_field>bctype</target_field>
2879   - <non_match_default>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</non_match_default>
2880   - <fields>
2881   - <field>
2882   - <source_value>&#x51fa;&#x573a;</source_value>
2883   - <target_value>&#x51fa;&#x573a;</target_value>
2884   - </field>
2885   - <field>
2886   - <source_value>&#x8fdb;&#x573a;</source_value>
2887   - <target_value>&#x8fdb;&#x573a;</target_value>
2888   - </field>
2889   - </fields>
2890   - <cluster_schema/>
2891   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2892   - <xloc>1014</xloc>
2893   - <yloc>401</yloc>
2894   - <draw>Y</draw>
2895   - </GUI>
2896   - </step>
2897   -
2898   - <step>
2899   - <name>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</name>
2900   - <type>JoinRows</type>
2901   - <description/>
2902   - <distribute>Y</distribute>
2903   - <custom_distribution/>
2904   - <copies>1</copies>
2905   - <partitioning>
2906   - <method>none</method>
2907   - <schema_name/>
2908   - </partitioning>
2909   - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
2910   - <prefix>out</prefix>
2911   - <cache_size>500</cache_size>
2912   - <main/>
2913   - <compare>
2914   -<condition>
2915   - <negated>N</negated>
2916   - <leftvalue/>
2917   - <function>&#x3d;</function>
2918   - <rightvalue/>
2919   - </condition>
2920   - </compare>
2921   - <cluster_schema/>
2922   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2923   - <xloc>310</xloc>
2924   - <yloc>133</yloc>
2925   - <draw>Y</draw>
2926   - </GUI>
2927   - </step>
2928   -
2929   - <step>
2930   - <name>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</name>
2931   - <type>FilterRows</type>
2932   - <description/>
2933   - <distribute>Y</distribute>
2934   - <custom_distribution/>
2935   - <copies>1</copies>
2936   - <partitioning>
2937   - <method>none</method>
2938   - <schema_name/>
2939   - </partitioning>
2940   -<send_true_to/>
2941   -<send_false_to/>
2942   - <compare>
2943   -<condition>
2944   - <negated>N</negated>
2945   - <leftvalue>sendtime</leftvalue>
2946   - <function>IS NOT NULL</function>
2947   - <rightvalue/>
2948   - </condition>
2949   - </compare>
2950   - <cluster_schema/>
2951   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2952   - <xloc>571</xloc>
2953   - <yloc>44</yloc>
2954   - <draw>Y</draw>
2955   - </GUI>
2956   - </step>
2957   -
2958   - <step>
2959   - <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>
2960   - <type>ScriptValueMod</type>
2961   - <description/>
2962   - <distribute>Y</distribute>
2963   - <custom_distribution/>
2964   - <copies>1</copies>
2965   - <partitioning>
2966   - <method>none</method>
2967   - <schema_name/>
2968   - </partitioning>
2969   - <compatible>N</compatible>
2970   - <optimizationLevel>9</optimizationLevel>
2971   - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
2972   - <jsScript_name>Script 1</jsScript_name>
2973   - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var cc_groups &#x3d; qdzgroups.split&#x28;&#x22;,&#x22;&#x29;&#x3b; &#x2f;&#x2f; &#x6240;&#x6709;&#x73ed;&#x6b21;&#x8d77;&#x70b9;&#x7ad9;&#x6570;&#x7ec4;&#xa;var qdzname_calcu &#x3d; cc_groups&#x5b;gno - 2&#x5d;&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;&#x662f;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x8fd9;&#x91cc;&#x53ea;&#x6709;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;&#xff0c;&#x8fd8;&#x9700;&#x8981;&#x8ba1;&#x7b97;&#xa;var startZdtype_calcu &#x3d; &#x27;B&#x27;&#x3b;&#xa;var endZdtype_calcu &#x3d; &#x27;E&#x27;&#x3b;&#xa;&#xa;var destory &#x3d; 0&#x3b; &#x2f;&#x2f; &#x672a;&#x64a4;&#x9500;flag</jsScript_script>
2974   - </jsScript> </jsScripts> <fields> <field> <name>qdzname_calcu</name>
2975   - <rename>qdzname_calcu</rename>
2976   - <type>String</type>
2977   - <length>-1</length>
2978   - <precision>-1</precision>
2979   - <replace>N</replace>
2980   - </field> <field> <name>startZdtype_calcu</name>
2981   - <rename>startZdtype_calcu</rename>
2982   - <type>String</type>
2983   - <length>-1</length>
2984   - <precision>-1</precision>
2985   - <replace>N</replace>
2986   - </field> <field> <name>endZdtype_calcu</name>
2987   - <rename>endZdtype_calcu</rename>
2988   - <type>String</type>
2989   - <length>-1</length>
2990   - <precision>-1</precision>
2991   - <replace>N</replace>
2992   - </field> <field> <name>destory</name>
2993   - <rename>destory</rename>
2994   - <type>Integer</type>
2995   - <length>-1</length>
2996   - <precision>-1</precision>
2997   - <replace>N</replace>
2998   - </field> </fields> <cluster_schema/>
2999   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
3000   - <xloc>754</xloc>
3001   - <yloc>610</yloc>
3002   - <draw>Y</draw>
3003   - </GUI>
3004   - </step>
3005   -
3006   - <step>
3007   - <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
3008   - <type>Dummy</type>
3009   - <description/>
3010   - <distribute>Y</distribute>
3011   - <custom_distribution/>
3012   - <copies>1</copies>
3013   - <partitioning>
3014   - <method>none</method>
3015   - <schema_name/>
3016   - </partitioning>
3017   - <cluster_schema/>
3018   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
3019   - <xloc>997</xloc>
3020   - <yloc>606</yloc>
3021   - <draw>Y</draw>
3022   - </GUI>
3023   - </step>
3024   -
3025   - <step_error_handling>
3026   - <error>
3027   - <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</source_step>
3028   - <target_step/>
3029   - <is_enabled>Y</is_enabled>
3030   - <nr_valuename>c1</nr_valuename>
3031   - <descriptions_valuename>c2</descriptions_valuename>
3032   - <fields_valuename>c3</fields_valuename>
3033   - <codes_valuename>c4</codes_valuename>
3034   - <max_errors/>
3035   - <max_pct_errors/>
3036   - <min_pct_rows/>
3037   - </error>
3038   - </step_error_handling>
3039   - <slave-step-copy-partition-distribution>
3040   -</slave-step-copy-partition-distribution>
3041   - <slave_transformation>N</slave_transformation>
3042   -
3043   -</transformation>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x5bfc;&#x5165;</name>
  5 + <description>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>
  6 + <extended_description>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#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 + </parameters>
  13 + <log>
  14 +<trans-log-table><connection/>
  15 +<schema/>
  16 +<table/>
  17 +<size_limit_lines/>
  18 +<interval/>
  19 +<timeout_days/>
  20 +<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>
  21 +<perf-log-table><connection/>
  22 +<schema/>
  23 +<table/>
  24 +<interval/>
  25 +<timeout_days/>
  26 +<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>
  27 +<channel-log-table><connection/>
  28 +<schema/>
  29 +<table/>
  30 +<timeout_days/>
  31 +<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>
  32 +<step-log-table><connection/>
  33 +<schema/>
  34 +<table/>
  35 +<timeout_days/>
  36 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>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>
  37 +<metrics-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>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>
  42 + </log>
  43 + <maxdate>
  44 + <connection/>
  45 + <table/>
  46 + <field/>
  47 + <offset>0.0</offset>
  48 + <maxdiff>0.0</maxdiff>
  49 + </maxdate>
  50 + <size_rowset>10000</size_rowset>
  51 + <sleep_time_empty>50</sleep_time_empty>
  52 + <sleep_time_full>50</sleep_time_full>
  53 + <unique_connections>N</unique_connections>
  54 + <feedback_shown>Y</feedback_shown>
  55 + <feedback_size>50000</feedback_size>
  56 + <using_thread_priorities>Y</using_thread_priorities>
  57 + <shared_objects_file/>
  58 + <capture_step_performance>N</capture_step_performance>
  59 + <step_performance_capturing_delay>1000</step_performance_capturing_delay>
  60 + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
  61 + <dependencies>
  62 + </dependencies>
  63 + <partitionschemas>
  64 + </partitionschemas>
  65 + <slaveservers>
  66 + </slaveservers>
  67 + <clusterschemas>
  68 + </clusterschemas>
  69 + <created_user>-</created_user>
  70 + <created_date>2016&#x2f;06&#x2f;30 12&#x3a;21&#x3a;57.536</created_date>
  71 + <modified_user>-</modified_user>
  72 + <modified_date>2016&#x2f;06&#x2f;30 12&#x3a;21&#x3a;57.536</modified_date>
  73 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
  74 + <is_key_private>N</is_key_private>
  75 + </info>
  76 + <notepads>
  77 + <notepad>
  78 + <note>&#x5b57;&#x5178;&#x8868;&#x5bf9;&#x5e94;&#xff08;&#x4ee5;&#x540e;&#x76f4;&#x63a5;&#x67e5;&#x627e;&#x8868; bsth_c_sys_dictionary&#xff09;&#xa;&#x7c7b;&#x578b; &#x4ee3;&#x7801; &#x540d;&#x79f0;&#xa;LineTrend 0 &#x4e0a;&#x884c;&#xa;LineTrend 1 &#x4e0b;&#x884c;&#xa;ScheduleType normal &#x6b63;&#x5e38;&#x73ed;&#x6b21;&#xa;ScheduleType out &#x51fa;&#x573a;&#xa;ScheduleType in &#x8fdb;&#x573a;&#xa;ScheduleType temp &#x4e34;&#x52a0;&#xa;ScheduleType region &#x533a;&#x95f4;&#xa;ScheduleType venting &#x653e;&#x7a7a;&#xa;ScheduleType major &#x653e;&#x5927;&#x7ad9;</note>
  79 + <xloc>606</xloc>
  80 + <yloc>129</yloc>
  81 + <width>332</width>
  82 + <heigth>186</heigth>
  83 + <fontname>YaHei Consolas Hybrid</fontname>
  84 + <fontsize>12</fontsize>
  85 + <fontbold>N</fontbold>
  86 + <fontitalic>N</fontitalic>
  87 + <fontcolorred>0</fontcolorred>
  88 + <fontcolorgreen>0</fontcolorgreen>
  89 + <fontcolorblue>0</fontcolorblue>
  90 + <backgroundcolorred>255</backgroundcolorred>
  91 + <backgroundcolorgreen>205</backgroundcolorgreen>
  92 + <backgroundcolorblue>112</backgroundcolorblue>
  93 + <bordercolorred>100</bordercolorred>
  94 + <bordercolorgreen>100</bordercolorgreen>
  95 + <bordercolorblue>100</bordercolorblue>
  96 + <drawshadow>Y</drawshadow>
  97 + </notepad>
  98 + <notepad>
  99 + <note>&#x56e0;&#x4e3a;&#x65f6;&#x523b;&#x8868;&#x8f93;&#x5165;&#x683c;&#x5f0f;&#x4e0d;&#x786e;&#x5b9a;&#x6027;&#xff0c;&#x4e3b;&#x8981;&#x56e0;&#x4e3a;&#x8868;&#x7ed3;&#x6784;&#x662f;&#x53cd;&#x8303;&#x5f0f;&#x5316;&#x7684;&#xff0c;&#xa;&#x6240;&#x4ee5;&#x9700;&#x8981;&#x5916;&#x90e8;&#x52a8;&#x6001;&#x6307;&#x5b9a;&#x613f;&#x6570;&#x636e;&#xff0c;&#x5934;&#x4e09;&#x4e2a;step&#x52a8;&#x6001;&#x6307;&#x5b9a;&#x613f;&#x6570;&#x636e;&#xa;&#xa;</note>
  100 + <xloc>79</xloc>
  101 + <yloc>206</yloc>
  102 + <width>346</width>
  103 + <heigth>74</heigth>
  104 + <fontname>YaHei Consolas Hybrid</fontname>
  105 + <fontsize>12</fontsize>
  106 + <fontbold>N</fontbold>
  107 + <fontitalic>N</fontitalic>
  108 + <fontcolorred>0</fontcolorred>
  109 + <fontcolorgreen>0</fontcolorgreen>
  110 + <fontcolorblue>0</fontcolorblue>
  111 + <backgroundcolorred>255</backgroundcolorred>
  112 + <backgroundcolorgreen>205</backgroundcolorgreen>
  113 + <backgroundcolorblue>112</backgroundcolorblue>
  114 + <bordercolorred>100</bordercolorred>
  115 + <bordercolorgreen>100</bordercolorgreen>
  116 + <bordercolorblue>100</bordercolorblue>
  117 + <drawshadow>Y</drawshadow>
  118 + </notepad>
  119 + <notepad>
  120 + <note>&#x8fd9;&#x91cc;&#x6709;&#x4e9b;&#x95ee;&#x9898;&#xa;&#x5728;window2012&#x7684;&#x73af;&#x5883;&#x4e0b;&#xff0c;&#xa;MySql&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x4e2d;&#x5982;&#x679c;&#x8fd4;&#x56de;&#x4e2d;&#x6587;&#x5185;&#x5bb9;&#x7684;&#x5b57;&#x6bb5;&#xff0c;&#x8fd9;&#x4e2a;&#x5185;&#x5bb9;&#x4e71;&#x7801;&#xa;&#x89e3;&#x51b3;&#x529e;&#x6cd5;&#xff0c;&#x5c31;&#x662f;&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x5168;&#x90e8;&#x7f13;&#x5b58;&#xff0c;&#x5c31;&#x4e0d;&#x4e71;&#x7801;&#xa;linux&#x73af;&#x5883;&#x4e0b;&#x6ca1;&#x95ee;&#x9898;</note>
  121 + <xloc>721</xloc>
  122 + <yloc>762</yloc>
  123 + <width>333</width>
  124 + <heigth>90</heigth>
  125 + <fontname>YaHei Consolas Hybrid</fontname>
  126 + <fontsize>12</fontsize>
  127 + <fontbold>N</fontbold>
  128 + <fontitalic>N</fontitalic>
  129 + <fontcolorred>0</fontcolorred>
  130 + <fontcolorgreen>0</fontcolorgreen>
  131 + <fontcolorblue>0</fontcolorblue>
  132 + <backgroundcolorred>255</backgroundcolorred>
  133 + <backgroundcolorgreen>205</backgroundcolorgreen>
  134 + <backgroundcolorblue>112</backgroundcolorblue>
  135 + <bordercolorred>100</bordercolorred>
  136 + <bordercolorgreen>100</bordercolorgreen>
  137 + <bordercolorblue>100</bordercolorblue>
  138 + <drawshadow>Y</drawshadow>
  139 + </notepad>
  140 + <notepad>
  141 + <note>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#xff0c;&#x65b9;&#x5411;&#x6709;&#x65f6;&#x786e;&#x5b9a;&#x4e0d;&#x51c6;&#xff0c;&#xa;&#x7a7a;&#x7684;&#x60c5;&#x51b5;&#x4e0b;&#x8bbe;&#x5b9a;&#x4e3a;0&#xff08;&#x4e0a;&#x884c;&#xff09;</note>
  142 + <xloc>120</xloc>
  143 + <yloc>1016</yloc>
  144 + <width>178</width>
  145 + <heigth>42</heigth>
  146 + <fontname>YaHei Consolas Hybrid</fontname>
  147 + <fontsize>12</fontsize>
  148 + <fontbold>N</fontbold>
  149 + <fontitalic>N</fontitalic>
  150 + <fontcolorred>0</fontcolorred>
  151 + <fontcolorgreen>0</fontcolorgreen>
  152 + <fontcolorblue>0</fontcolorblue>
  153 + <backgroundcolorred>255</backgroundcolorred>
  154 + <backgroundcolorgreen>205</backgroundcolorgreen>
  155 + <backgroundcolorblue>112</backgroundcolorblue>
  156 + <bordercolorred>100</bordercolorred>
  157 + <bordercolorgreen>100</bordercolorgreen>
  158 + <bordercolorblue>100</bordercolorblue>
  159 + <drawshadow>Y</drawshadow>
  160 + </notepad>
  161 + <notepad>
  162 + <note>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#xff0c;&#x65b9;&#x5411;&#x6709;&#x65f6;&#x786e;&#x5b9a;&#x4e0d;&#x51c6;&#xff0c;&#xa;&#x7a7a;&#x7684;&#x60c5;&#x51b5;&#x4e0b;&#x8bbe;&#x5b9a;&#x4e3a;0&#xff08;&#x4e0a;&#x884c;&#xff09;</note>
  163 + <xloc>578</xloc>
  164 + <yloc>1084</yloc>
  165 + <width>178</width>
  166 + <heigth>42</heigth>
  167 + <fontname>YaHei Consolas Hybrid</fontname>
  168 + <fontsize>12</fontsize>
  169 + <fontbold>N</fontbold>
  170 + <fontitalic>N</fontitalic>
  171 + <fontcolorred>0</fontcolorred>
  172 + <fontcolorgreen>0</fontcolorgreen>
  173 + <fontcolorblue>0</fontcolorblue>
  174 + <backgroundcolorred>255</backgroundcolorred>
  175 + <backgroundcolorgreen>205</backgroundcolorgreen>
  176 + <backgroundcolorblue>112</backgroundcolorblue>
  177 + <bordercolorred>100</bordercolorred>
  178 + <bordercolorgreen>100</bordercolorgreen>
  179 + <bordercolorblue>100</bordercolorblue>
  180 + <drawshadow>Y</drawshadow>
  181 + </notepad>
  182 + </notepads>
  183 + <connection>
  184 + <name>192.168.168.1_jwgl_dw</name>
  185 + <server>192.168.168.1</server>
  186 + <type>ORACLE</type>
  187 + <access>Native</access>
  188 + <database>orcl</database>
  189 + <port>1521</port>
  190 + <username>jwgl_dw</username>
  191 + <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password>
  192 + <servername/>
  193 + <data_tablespace/>
  194 + <index_tablespace/>
  195 + <attributes>
  196 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  197 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  198 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  199 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  200 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  201 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  202 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  203 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  204 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  205 + </attributes>
  206 + </connection>
  207 + <connection>
  208 + <name>bus_control_variable</name>
  209 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  210 + <type>MYSQL</type>
  211 + <access>Native</access>
  212 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  213 + <port>3306</port>
  214 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  215 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  216 + <servername/>
  217 + <data_tablespace/>
  218 + <index_tablespace/>
  219 + <attributes>
  220 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
  221 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  222 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  223 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  224 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  225 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  226 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  227 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  228 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  229 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  230 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  231 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  232 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  233 + </attributes>
  234 + </connection>
  235 + <connection>
  236 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  237 + <server>localhost</server>
  238 + <type>MYSQL</type>
  239 + <access>Native</access>
  240 + <database>control</database>
  241 + <port>3306</port>
  242 + <username>root</username>
  243 + <password>Encrypted </password>
  244 + <servername/>
  245 + <data_tablespace/>
  246 + <index_tablespace/>
  247 + <attributes>
  248 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  249 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  250 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  251 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  252 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  253 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  254 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  255 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  256 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  257 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  258 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  259 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  260 + </attributes>
  261 + </connection>
  262 + <connection>
  263 + <name>bus_control_&#x672c;&#x673a;</name>
  264 + <server>localhost</server>
  265 + <type>MYSQL</type>
  266 + <access>Native</access>
  267 + <database>control</database>
  268 + <port>3306</port>
  269 + <username>root</username>
  270 + <password>Encrypted </password>
  271 + <servername/>
  272 + <data_tablespace/>
  273 + <index_tablespace/>
  274 + <attributes>
  275 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  276 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  277 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  278 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  279 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  280 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  281 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  282 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  283 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  284 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  285 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  286 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  287 + </attributes>
  288 + </connection>
  289 + <connection>
  290 + <name>xlab_mysql_youle</name>
  291 + <server>101.231.124.8</server>
  292 + <type>MYSQL</type>
  293 + <access>Native</access>
  294 + <database>xlab_youle</database>
  295 + <port>45687</port>
  296 + <username>xlab-youle</username>
  297 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
  298 + <servername/>
  299 + <data_tablespace/>
  300 + <index_tablespace/>
  301 + <attributes>
  302 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  303 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  304 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  305 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  306 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  307 + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
  308 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  309 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  310 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  311 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  312 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  313 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  314 + </attributes>
  315 + </connection>
  316 + <connection>
  317 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  318 + <server>localhost</server>
  319 + <type>MYSQL</type>
  320 + <access>Native</access>
  321 + <database>xlab_youle</database>
  322 + <port>3306</port>
  323 + <username>root</username>
  324 + <password>Encrypted </password>
  325 + <servername/>
  326 + <data_tablespace/>
  327 + <index_tablespace/>
  328 + <attributes>
  329 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  330 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  331 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  332 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  333 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  334 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  335 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  336 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  337 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  338 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  339 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  340 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  341 + </attributes>
  342 + </connection>
  343 + <connection>
  344 + <name>xlab_youle</name>
  345 + <server/>
  346 + <type>MYSQL</type>
  347 + <access>JNDI</access>
  348 + <database>xlab_youle</database>
  349 + <port>1521</port>
  350 + <username/>
  351 + <password>Encrypted </password>
  352 + <servername/>
  353 + <data_tablespace/>
  354 + <index_tablespace/>
  355 + <attributes>
  356 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  357 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  358 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  359 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  360 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  361 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  362 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  363 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  364 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  365 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  366 + </attributes>
  367 + </connection>
  368 + <order>
  369 + <hop> <from>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</from><to>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</to><enabled>Y</enabled> </hop>
  370 + <hop> <from>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</from><to>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</to><enabled>Y</enabled> </hop>
  371 + <hop> <from>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</from><to>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</to><enabled>Y</enabled> </hop>
  372 + <hop> <from>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</from><to>&#x5904;&#x7406;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  373 + <hop> <from>&#x5904;&#x7406;&#x6570;&#x636e;</from><to>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</to><enabled>Y</enabled> </hop>
  374 + <hop> <from>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</from><to>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  375 + <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</from><to>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  376 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</to><enabled>Y</enabled> </hop>
  377 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</to><enabled>Y</enabled> </hop>
  378 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</to><enabled>Y</enabled> </hop>
  379 + <hop> <from>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</to><enabled>Y</enabled> </hop>
  380 + <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</from><to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</to><enabled>Y</enabled> </hop>
  381 + <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</from><to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  382 + <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</from><to>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  383 + <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</from><to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  384 + <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x6240;&#x6709;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  385 + <hop> <from>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</to><enabled>Y</enabled> </hop>
  386 + <hop> <from>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  387 + <hop> <from>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>
  388 + <hop> <from>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  389 + <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x6240;&#x6709;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  390 + <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  391 + <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  392 + <hop> <from>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</from><to>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</to><enabled>Y</enabled> </hop>
  393 + <hop> <from>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</from><to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</to><enabled>Y</enabled> </hop>
  394 + <hop> <from>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</to><enabled>Y</enabled> </hop>
  395 + <hop> <from>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</from><to>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>
  396 + <hop> <from>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</from><to>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>
  397 + <hop> <from>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</to><enabled>Y</enabled> </hop>
  398 + <hop> <from>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</to><enabled>Y</enabled> </hop>
  399 + <hop> <from>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</from><to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>
  400 + <hop> <from>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</to><enabled>Y</enabled> </hop>
  401 + <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</to><enabled>Y</enabled> </hop>
  402 + <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</to><enabled>Y</enabled> </hop>
  403 + <hop> <from>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  404 + <hop> <from>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</from><to>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</to><enabled>Y</enabled> </hop>
  405 + <hop> <from>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</from><to>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</to><enabled>Y</enabled> </hop>
  406 + <hop> <from>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
  407 + <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</to><enabled>Y</enabled> </hop>
  408 + <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>
  409 + <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</to><enabled>Y</enabled> </hop>
  410 + <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  411 + <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  412 + <hop> <from>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</to><enabled>Y</enabled> </hop>
  413 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</to><enabled>Y</enabled> </hop>
  414 + <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 2</to><enabled>Y</enabled> </hop>
  415 + <hop> <from>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</to><enabled>Y</enabled> </hop>
  416 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</to><enabled>Y</enabled> </hop>
  417 + <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 3</to><enabled>Y</enabled> </hop>
  418 + </order>
  419 + <step>
  420 + <name>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</name>
  421 + <type>IfNull</type>
  422 + <description/>
  423 + <distribute>Y</distribute>
  424 + <custom_distribution/>
  425 + <copies>1</copies>
  426 + <partitioning>
  427 + <method>none</method>
  428 + <schema_name/>
  429 + </partitioning>
  430 + <replaceAllByValue/>
  431 + <replaceAllMask/>
  432 + <selectFields>Y</selectFields>
  433 + <selectValuesType>N</selectValuesType>
  434 + <setEmptyStringAll>N</setEmptyStringAll>
  435 + <valuetypes>
  436 + </valuetypes>
  437 + <fields>
  438 + <field>
  439 + <name>sxx</name>
  440 + <value>0</value>
  441 + <mask/>
  442 + <set_empty_string>N</set_empty_string>
  443 + </field>
  444 + </fields>
  445 + <cluster_schema/>
  446 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  447 + <xloc>230</xloc>
  448 + <yloc>946</yloc>
  449 + <draw>Y</draw>
  450 + </GUI>
  451 + </step>
  452 +
  453 + <step>
  454 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</name>
  455 + <type>IfNull</type>
  456 + <description/>
  457 + <distribute>Y</distribute>
  458 + <custom_distribution/>
  459 + <copies>1</copies>
  460 + <partitioning>
  461 + <method>none</method>
  462 + <schema_name/>
  463 + </partitioning>
  464 + <replaceAllByValue/>
  465 + <replaceAllMask/>
  466 + <selectFields>Y</selectFields>
  467 + <selectValuesType>N</selectValuesType>
  468 + <setEmptyStringAll>N</setEmptyStringAll>
  469 + <valuetypes>
  470 + </valuetypes>
  471 + <fields>
  472 + <field>
  473 + <name>sxx2</name>
  474 + <value>0</value>
  475 + <mask/>
  476 + <set_empty_string>N</set_empty_string>
  477 + </field>
  478 + </fields>
  479 + <cluster_schema/>
  480 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  481 + <xloc>804</xloc>
  482 + <yloc>1081</yloc>
  483 + <draw>Y</draw>
  484 + </GUI>
  485 + </step>
  486 +
  487 + <step>
  488 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</name>
  489 + <type>ValueMapper</type>
  490 + <description/>
  491 + <distribute>Y</distribute>
  492 + <custom_distribution/>
  493 + <copies>1</copies>
  494 + <partitioning>
  495 + <method>none</method>
  496 + <schema_name/>
  497 + </partitioning>
  498 + <field_to_use>sxx</field_to_use>
  499 + <target_field>sxx_desc</target_field>
  500 + <non_match_default/>
  501 + <fields>
  502 + <field>
  503 + <source_value>0</source_value>
  504 + <target_value>&#x4e0a;&#x884c;</target_value>
  505 + </field>
  506 + <field>
  507 + <source_value>1</source_value>
  508 + <target_value>&#x4e0b;&#x884c;</target_value>
  509 + </field>
  510 + </fields>
  511 + <cluster_schema/>
  512 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  513 + <xloc>147</xloc>
  514 + <yloc>403</yloc>
  515 + <draw>Y</draw>
  516 + </GUI>
  517 + </step>
  518 +
  519 + <step>
  520 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</name>
  521 + <type>ValueMapper</type>
  522 + <description/>
  523 + <distribute>Y</distribute>
  524 + <custom_distribution/>
  525 + <copies>1</copies>
  526 + <partitioning>
  527 + <method>none</method>
  528 + <schema_name/>
  529 + </partitioning>
  530 + <field_to_use>sxx</field_to_use>
  531 + <target_field>sxx_desc</target_field>
  532 + <non_match_default/>
  533 + <fields>
  534 + <field>
  535 + <source_value>0</source_value>
  536 + <target_value>&#x4e0a;&#x884c;</target_value>
  537 + </field>
  538 + <field>
  539 + <source_value>1</source_value>
  540 + <target_value>&#x4e0b;&#x884c;</target_value>
  541 + </field>
  542 + </fields>
  543 + <cluster_schema/>
  544 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  545 + <xloc>331</xloc>
  546 + <yloc>598</yloc>
  547 + <draw>Y</draw>
  548 + </GUI>
  549 + </step>
  550 +
  551 + <step>
  552 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</name>
  553 + <type>ValueMapper</type>
  554 + <description/>
  555 + <distribute>Y</distribute>
  556 + <custom_distribution/>
  557 + <copies>1</copies>
  558 + <partitioning>
  559 + <method>none</method>
  560 + <schema_name/>
  561 + </partitioning>
  562 + <field_to_use>sxx</field_to_use>
  563 + <target_field>sxx_desc</target_field>
  564 + <non_match_default/>
  565 + <fields>
  566 + <field>
  567 + <source_value>0</source_value>
  568 + <target_value>&#x4e0a;&#x884c;</target_value>
  569 + </field>
  570 + <field>
  571 + <source_value>1</source_value>
  572 + <target_value>&#x4e0b;&#x884c;</target_value>
  573 + </field>
  574 + </fields>
  575 + <cluster_schema/>
  576 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  577 + <xloc>553</xloc>
  578 + <yloc>859</yloc>
  579 + <draw>Y</draw>
  580 + </GUI>
  581 + </step>
  582 +
  583 + <step>
  584 + <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>
  585 + <type>ScriptValueMod</type>
  586 + <description/>
  587 + <distribute>Y</distribute>
  588 + <custom_distribution/>
  589 + <copies>1</copies>
  590 + <partitioning>
  591 + <method>none</method>
  592 + <schema_name/>
  593 + </partitioning>
  594 + <compatible>N</compatible>
  595 + <optimizationLevel>9</optimizationLevel>
  596 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  597 + <jsScript_name>Script 1</jsScript_name>
  598 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var cc_groups &#x3d; qdzgroups.split&#x28;&#x22;,&#x22;&#x29;&#x3b; &#x2f;&#x2f; &#x6240;&#x6709;&#x73ed;&#x6b21;&#x8d77;&#x70b9;&#x7ad9;&#x6570;&#x7ec4;&#xa;var zdzname &#x3d; cc_groups&#x5b;gno&#x5d;&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#x662f;&#x4e0b;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x59cb;&#x7ad9;&#xa;var endZdtype &#x3d; &#x27;E&#x27;&#x3b;&#xa;&#xa;var destory &#x3d; 0&#x3b; &#x2f;&#x2f; &#x672a;&#x64a4;&#x9500;flag</jsScript_script>
  599 + </jsScript> </jsScripts> <fields> <field> <name>zdzname</name>
  600 + <rename>zdzname</rename>
  601 + <type>String</type>
  602 + <length>-1</length>
  603 + <precision>-1</precision>
  604 + <replace>N</replace>
  605 + </field> <field> <name>endZdtype</name>
  606 + <rename>endZdtype</rename>
  607 + <type>String</type>
  608 + <length>-1</length>
  609 + <precision>-1</precision>
  610 + <replace>N</replace>
  611 + </field> <field> <name>destory</name>
  612 + <rename>destory</rename>
  613 + <type>Integer</type>
  614 + <length>-1</length>
  615 + <precision>-1</precision>
  616 + <replace>N</replace>
  617 + </field> </fields> <cluster_schema/>
  618 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  619 + <xloc>575</xloc>
  620 + <yloc>502</yloc>
  621 + <draw>Y</draw>
  622 + </GUI>
  623 + </step>
  624 +
  625 + <step>
  626 + <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
  627 + <type>Dummy</type>
  628 + <description/>
  629 + <distribute>Y</distribute>
  630 + <custom_distribution/>
  631 + <copies>1</copies>
  632 + <partitioning>
  633 + <method>none</method>
  634 + <schema_name/>
  635 + </partitioning>
  636 + <cluster_schema/>
  637 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  638 + <xloc>869</xloc>
  639 + <yloc>504</yloc>
  640 + <draw>Y</draw>
  641 + </GUI>
  642 + </step>
  643 +
  644 + <step>
  645 + <name>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</name>
  646 + <type>GroupBy</type>
  647 + <description/>
  648 + <distribute>Y</distribute>
  649 + <custom_distribution/>
  650 + <copies>1</copies>
  651 + <partitioning>
  652 + <method>none</method>
  653 + <schema_name/>
  654 + </partitioning>
  655 + <all_rows>Y</all_rows>
  656 + <ignore_aggregate>N</ignore_aggregate>
  657 + <field_ignore/>
  658 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  659 + <prefix>grp</prefix>
  660 + <add_linenr>Y</add_linenr>
  661 + <linenr_fieldname>gno</linenr_fieldname>
  662 + <give_back_row>N</give_back_row>
  663 + <group>
  664 + <field>
  665 + <name>lp</name>
  666 + </field>
  667 + </group>
  668 + <fields>
  669 + <field>
  670 + <aggregate>qdzgroups</aggregate>
  671 + <subject>qdzname</subject>
  672 + <type>CONCAT_STRING</type>
  673 + <valuefield>,</valuefield>
  674 + </field>
  675 + </fields>
  676 + <cluster_schema/>
  677 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  678 + <xloc>892</xloc>
  679 + <yloc>44</yloc>
  680 + <draw>Y</draw>
  681 + </GUI>
  682 + </step>
  683 +
  684 + <step>
  685 + <name>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  686 + <type>ScriptValueMod</type>
  687 + <description/>
  688 + <distribute>Y</distribute>
  689 + <custom_distribution/>
  690 + <copies>1</copies>
  691 + <partitioning>
  692 + <method>none</method>
  693 + <schema_name/>
  694 + </partitioning>
  695 + <compatible>N</compatible>
  696 + <optimizationLevel>9</optimizationLevel>
  697 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  698 + <jsScript_name>Script 1</jsScript_name>
  699 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var jhlc&#x3b; &#x2f;&#x2f; &#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var bcsj&#x3b; &#x2f;&#x2f; &#x73ed;&#x6b21;&#x65f6;&#x95f4;&#xa;&#xa;&#x2f;&#x2f; &#x65f6;&#x95f4;&#x8303;&#x56f4;&#x6b63;&#x5219;&#x8868;&#x8fbe;&#x5f0f;&#xa;var timeRex &#x3d; &#x2f;&#x5e;&#x28;&#x5b;01&#x5d;&#x3f;&#x5b;0-9&#x5d;&#x7c;2&#x5b;0-3&#x5d;&#x29;&#x3a;&#x5b;0-5&#x5d;&#x5b;0-9&#x5d;&#x24;&#x2f;&#x3b;&#xa;&#x2f;&#x2f; &#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x8f6c;&#x6362;&#x6210;&#x65e5;&#x671f;&#xa;var fcsj_hour &#x3d; str2num&#x28;sendtime_calcu.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa;var fcsj_min &#x3d; str2num&#x28;sendtime_calcu.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa;var fcsj_date &#x3d; new Date&#x28;2000,1,1,fcsj_hour,fcsj_min,0&#x29;&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x5224;&#x5b9a;&#x662f;&#x5426;&#x65e9;&#x9ad8;&#x5cf0;&#xa;var isZgf &#x3d; false&#x3b;&#xa;if &#x28;timeRex.test&#x28;early_start_time&#x29; &#x26;&#x26; timeRex.test&#x28;early_end_time&#x29; &#x26;&#x26; early_up_time &#x21;&#x3d; null &#x26;&#x26; early_down_time &#x21;&#x3d; null&#x29; &#x7b;&#xa; var early_s_hour &#x3d; str2num&#x28;early_start_time.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var early_s_min &#x3d; str2num&#x28;early_start_time.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var early_s_date &#x3d; new Date&#x28;2000,1,1,early_s_hour,early_s_min,0&#x29;&#x3b;&#xa;&#xa; var early_e_hour &#x3d; str2num&#x28;early_end_time.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var early_e_min &#x3d; str2num&#x28;early_end_time.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var early_e_date &#x3d; new Date&#x28;2000,1,1,early_e_hour,early_e_min,0&#x29;&#x3b;&#xa;&#xa; if &#x28;fcsj_date &#x3e;&#x3d; early_s_date &#x26;&#x26; fcsj_date &#x3c;&#x3d; early_e_date&#x29; &#x7b;&#xa; isZgf &#x3d; true&#x3b;&#xa; &#x7d;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x5224;&#x5b9a;&#x662f;&#x5426;&#x665a;&#x9ad8;&#x5cf0;&#xa;var isWgf &#x3d; false&#x3b;&#xa;if &#x28;timeRex.test&#x28;late_start_time&#x29; &#x26;&#x26; timeRex.test&#x28;late_end_time&#x29; &#x26;&#x26; late_up_time &#x21;&#x3d; null &#x26;&#x26; late_down_time &#x21;&#x3d; null&#x29; &#x7b;&#xa; var late_s_hour &#x3d; str2num&#x28;late_start_time.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var late_s_min &#x3d; str2num&#x28;late_start_time.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var late_s_date &#x3d; new Date&#x28;2000,1,1,late_s_hour,late_s_min,0&#x29;&#x3b;&#xa;&#xa; var late_e_hour &#x3d; str2num&#x28;late_end_time.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var late_e_min &#x3d; str2num&#x28;late_end_time.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var late_e_date &#x3d; new Date&#x28;2000,1,1,late_e_hour,late_e_min,0&#x29;&#x3b;&#xa;&#xa; if &#x28;fcsj_date &#x3e;&#x3d; late_s_date &#x26;&#x26; fcsj_date &#x3c;&#x3d; late_e_date&#x29; &#x7b;&#xa; isWgf &#x3d; true&#x3b;&#xa; &#x7d;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x5224;&#x5b9a;&#x662f;&#x5426;&#x665a;&#x9ad8;&#x5cf0;&#xa;&#xa;if &#x28;sxx &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; if &#x28;isZgf&#x29; &#x7b;&#xa; jhlc &#x3d; up_mileage&#x3b;&#xa; bcsj &#x3d; early_up_time &#x21;&#x3d; 0 &#x3f; early_up_time &#x3a; up_travel_time&#x3b;&#xa; &#x7d; else if &#x28;isWgf&#x29; &#x7b;&#xa; jhlc &#x3d; up_mileage&#x3b;&#xa; bcsj &#x3d; late_up_time &#x21;&#x3d; 0 &#x3f; late_up_time &#x3a; up_travel_time&#x3b;&#xa; &#x7d; else &#x7b;&#xa; jhlc &#x3d; up_mileage&#x3b;&#xa; bcsj &#x3d; up_travel_time&#x3b;&#xa; &#x7d;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; if &#x28;isZgf&#x29; &#x7b;&#xa; jhlc &#x3d; down_mileage&#x3b;&#xa; bcsj &#x3d; early_down_time &#x21;&#x3d; 0 &#x3f; early_down_time &#x3a; down_travel_time&#x3b;&#xa; &#x7d; else if &#x28;isWgf&#x29; &#x7b;&#xa; jhlc &#x3d; down_mileage&#x3b;&#xa; bcsj &#x3d; late_down_time &#x21;&#x3d; 0 &#x3f; late_down_time &#x3a; down_travel_time&#x3b;&#xa; &#x7d; else &#x7b;&#xa; jhlc &#x3d; down_mileage&#x3b;&#xa; bcsj &#x3d; down_travel_time&#x3b;&#xa; &#x7d;&#xa;&#x7d;&#xa;&#xa;</jsScript_script>
  700 + </jsScript> </jsScripts> <fields> <field> <name>jhlc</name>
  701 + <rename>jhlc</rename>
  702 + <type>String</type>
  703 + <length>-1</length>
  704 + <precision>-1</precision>
  705 + <replace>N</replace>
  706 + </field> <field> <name>bcsj</name>
  707 + <rename>bcsj</rename>
  708 + <type>String</type>
  709 + <length>-1</length>
  710 + <precision>-1</precision>
  711 + <replace>N</replace>
  712 + </field> </fields> <cluster_schema/>
  713 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  714 + <xloc>148</xloc>
  715 + <yloc>674</yloc>
  716 + <draw>Y</draw>
  717 + </GUI>
  718 + </step>
  719 +
  720 + <step>
  721 + <name>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  722 + <type>ScriptValueMod</type>
  723 + <description/>
  724 + <distribute>Y</distribute>
  725 + <custom_distribution/>
  726 + <copies>1</copies>
  727 + <partitioning>
  728 + <method>none</method>
  729 + <schema_name/>
  730 + </partitioning>
  731 + <compatible>N</compatible>
  732 + <optimizationLevel>9</optimizationLevel>
  733 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  734 + <jsScript_name>Script 1</jsScript_name>
  735 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var out_mileage&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var out_time&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x8ba1;&#x5212;&#x65f6;&#x95f4;&#xa;&#xa;if &#x28;sxx &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; out_mileage &#x3d; up_out_mileage&#x3b;&#xa; out_time &#x3d; up_out_timer&#x3b;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; out_mileage &#x3d; down_out_mileage&#x3b;&#xa; out_time &#x3d; down_out_timer&#x3b;&#xa;&#x7d;&#xa;&#xa;&#xa;&#xa;</jsScript_script>
  736 + </jsScript> </jsScripts> <fields> <field> <name>out_mileage</name>
  737 + <rename>out_mileage</rename>
  738 + <type>String</type>
  739 + <length>-1</length>
  740 + <precision>-1</precision>
  741 + <replace>N</replace>
  742 + </field> <field> <name>out_time</name>
  743 + <rename>out_time</rename>
  744 + <type>String</type>
  745 + <length>-1</length>
  746 + <precision>-1</precision>
  747 + <replace>N</replace>
  748 + </field> </fields> <cluster_schema/>
  749 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  750 + <xloc>336</xloc>
  751 + <yloc>862</yloc>
  752 + <draw>Y</draw>
  753 + </GUI>
  754 + </step>
  755 +
  756 + <step>
  757 + <name>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  758 + <type>ScriptValueMod</type>
  759 + <description/>
  760 + <distribute>Y</distribute>
  761 + <custom_distribution/>
  762 + <copies>1</copies>
  763 + <partitioning>
  764 + <method>none</method>
  765 + <schema_name/>
  766 + </partitioning>
  767 + <compatible>N</compatible>
  768 + <optimizationLevel>9</optimizationLevel>
  769 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  770 + <jsScript_name>Script 1</jsScript_name>
  771 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var parade_mileage&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var parade_time&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x8ba1;&#x5212;&#x65f6;&#x95f4;&#xa;&#xa;if &#x28;sxx2 &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; parade_mileage &#x3d; up_in_mileage&#x3b;&#xa; parade_time &#x3d; up_in_timer&#x3b;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; parade_mileage &#x3d; down_in_mileage&#x3b;&#xa; parade_time &#x3d; down_in_timer&#x3b;&#xa;&#x7d;&#xa;&#xa;&#xa;&#xa;</jsScript_script>
  772 + </jsScript> </jsScripts> <fields> <field> <name>parade_mileage</name>
  773 + <rename>parade_mileage</rename>
  774 + <type>String</type>
  775 + <length>-1</length>
  776 + <precision>-1</precision>
  777 + <replace>N</replace>
  778 + </field> <field> <name>parade_time</name>
  779 + <rename>parade_time</rename>
  780 + <type>String</type>
  781 + <length>-1</length>
  782 + <precision>-1</precision>
  783 + <replace>N</replace>
  784 + </field> </fields> <cluster_schema/>
  785 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  786 + <xloc>726</xloc>
  787 + <yloc>1005</yloc>
  788 + <draw>Y</draw>
  789 + </GUI>
  790 + </step>
  791 +
  792 + <step>
  793 + <name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</name>
  794 + <type>DataGrid</type>
  795 + <description/>
  796 + <distribute>Y</distribute>
  797 + <custom_distribution/>
  798 + <copies>1</copies>
  799 + <partitioning>
  800 + <method>none</method>
  801 + <schema_name/>
  802 + </partitioning>
  803 + <fields>
  804 + </fields>
  805 + <data>
  806 + <line> </line>
  807 + </data>
  808 + <cluster_schema/>
  809 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  810 + <xloc>110</xloc>
  811 + <yloc>133</yloc>
  812 + <draw>Y</draw>
  813 + </GUI>
  814 + </step>
  815 +
  816 + <step>
  817 + <name>&#x5904;&#x7406;&#x6570;&#x636e;</name>
  818 + <type>ScriptValueMod</type>
  819 + <description/>
  820 + <distribute>Y</distribute>
  821 + <custom_distribution/>
  822 + <copies>1</copies>
  823 + <partitioning>
  824 + <method>none</method>
  825 + <schema_name/>
  826 + </partitioning>
  827 + <compatible>N</compatible>
  828 + <optimizationLevel>9</optimizationLevel>
  829 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  830 + <jsScript_name>Script 1</jsScript_name>
  831 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x4f7f;&#x7528;&#x6b63;&#x5219;&#x8868;&#x8fbe;&#x5f0f;&#x53bb;&#x9664;&#x7ad9;&#x70b9;&#x540d;&#x79f0;&#x4e2d;&#x7684;&#x6570;&#x5b57;&#xa;qdzname &#x3d; qdzname.replace&#x28;&#x2f;&#x5c;d&#x2b;&#x2f;g,&#x27;&#x27;&#x29;&#x3b;&#xa;&#xa;&#x2f;&#x2f; sendtime&#x5904;&#x7406;&#xff0c;hhmm&#xff0c;hh&#x3a;mm&#xff0c;hh,mm&#xa;var sendtime_calcu&#x3b;&#xa;if &#x28;sendtime.length &#x3d;&#x3d; 5&#x29; &#x7b; &#x2f;&#x2f; &#x6700;&#x957f;&#x683c;&#x5f0f;&#xff0c;&#x5305;&#x62ec;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x7edf;&#x4e00;&#x628a;&#x5206;&#x9694;&#x7b26;&#x66ff;&#x6362;&#x6210;&#x5192;&#x53f7;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;3, 2&#x29;&#x3b;&#xa;&#x7d; else if &#x28;sendtime.length &#x3d;&#x3d; 4&#x29; &#x7b;&#xa; if &#x28;sendtime.indexOf&#x28;&#x22;&#x3a;&#x22;&#x29; &#x3e; 0&#x29; &#x7b; &#x2f;&#x2f; &#x5192;&#x53f7;&#x5206;&#x9694;&#xff0c;&#x65e0;&#x9700;&#x4fee;&#x6539;&#xa; sendtime_calcu &#x3d; sendtime&#x3b;&#xa; &#x7d; else if &#x28;sendtime.indexOf&#x28;&#x22;,&#x22;&#x29; &#x3e; 0&#x29; &#x7b; &#x2f;&#x2f; &#x9017;&#x53f7;&#x5206;&#x9694;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 1&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa; &#x7d; else &#x7b; &#x2f;&#x2f; &#x65e0;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa; &#x7d;&#xa;&#x7d; else if &#x28;sendtime.length &#x3d;&#x3d; 3&#x29; &#x7b; &#x2f;&#x2f; &#x65e0;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 1&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;1, 2&#x29;&#x3b;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;&#x5206;&#x73ed;&#xa;var isfb &#x3d; 0&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;&#x505c;&#x9a76;&#xa;var ists &#x3d; 0&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;isCanceled&#xa;var iscanceled &#x3d; 0&#x3b;</jsScript_script>
  832 + </jsScript> </jsScripts> <fields> <field> <name>qdzname</name>
  833 + <rename>qdzname</rename>
  834 + <type>String</type>
  835 + <length>-1</length>
  836 + <precision>-1</precision>
  837 + <replace>Y</replace>
  838 + </field> <field> <name>isfb</name>
  839 + <rename>isfb</rename>
  840 + <type>Integer</type>
  841 + <length>-1</length>
  842 + <precision>-1</precision>
  843 + <replace>N</replace>
  844 + </field> <field> <name>iscanceled</name>
  845 + <rename>iscanceled</rename>
  846 + <type>Integer</type>
  847 + <length>-1</length>
  848 + <precision>-1</precision>
  849 + <replace>N</replace>
  850 + </field> <field> <name>sendtime_calcu</name>
  851 + <rename>sendtime_calcu</rename>
  852 + <type>String</type>
  853 + <length>-1</length>
  854 + <precision>-1</precision>
  855 + <replace>N</replace>
  856 + </field> <field> <name>ists</name>
  857 + <rename>ists</rename>
  858 + <type>Integer</type>
  859 + <length>-1</length>
  860 + <precision>-1</precision>
  861 + <replace>N</replace>
  862 + </field> </fields> <cluster_schema/>
  863 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  864 + <xloc>788</xloc>
  865 + <yloc>44</yloc>
  866 + <draw>Y</draw>
  867 + </GUI>
  868 + </step>
  869 +
  870 + <step>
  871 + <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
  872 + <type>SelectValues</type>
  873 + <description/>
  874 + <distribute>Y</distribute>
  875 + <custom_distribution/>
  876 + <copies>1</copies>
  877 + <partitioning>
  878 + <method>none</method>
  879 + <schema_name/>
  880 + </partitioning>
  881 + <fields> <field> <name>&#x8def;&#x724c;</name>
  882 + <rename>lp</rename>
  883 + <length>-2</length>
  884 + <precision>-2</precision>
  885 + </field> <field> <name>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</name>
  886 + <rename>qdzname</rename>
  887 + <length>-2</length>
  888 + <precision>-2</precision>
  889 + </field> <field> <name>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</name>
  890 + <rename>sendtime</rename>
  891 + <length>-2</length>
  892 + <precision>-2</precision>
  893 + </field> <select_unspecified>Y</select_unspecified>
  894 + </fields> <cluster_schema/>
  895 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  896 + <xloc>444</xloc>
  897 + <yloc>131</yloc>
  898 + <draw>Y</draw>
  899 + </GUI>
  900 + </step>
  901 +
  902 + <step>
  903 + <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</name>
  904 + <type>FilterRows</type>
  905 + <description/>
  906 + <distribute>Y</distribute>
  907 + <custom_distribution/>
  908 + <copies>1</copies>
  909 + <partitioning>
  910 + <method>none</method>
  911 + <schema_name/>
  912 + </partitioning>
  913 +<send_true_to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>
  914 +<send_false_to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</send_false_to>
  915 + <compare>
  916 +<condition>
  917 + <negated>N</negated>
  918 + <leftvalue>bctype</leftvalue>
  919 + <function>&#x3d;</function>
  920 + <rightvalue/>
  921 + <value><name>constant</name><type>String</type><text>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>
  922 + </compare>
  923 + <cluster_schema/>
  924 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  925 + <xloc>860</xloc>
  926 + <yloc>401</yloc>
  927 + <draw>Y</draw>
  928 + </GUI>
  929 + </step>
  930 +
  931 + <step>
  932 + <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</name>
  933 + <type>FilterRows</type>
  934 + <description/>
  935 + <distribute>Y</distribute>
  936 + <custom_distribution/>
  937 + <copies>1</copies>
  938 + <partitioning>
  939 + <method>none</method>
  940 + <schema_name/>
  941 + </partitioning>
  942 +<send_true_to>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>
  943 +<send_false_to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_false_to>
  944 + <compare>
  945 +<condition>
  946 + <negated>N</negated>
  947 + <leftvalue>bctype</leftvalue>
  948 + <function>&#x3d;</function>
  949 + <rightvalue/>
  950 + <value><name>constant</name><type>String</type><text>&#x51fa;&#x573a;</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>
  951 + </compare>
  952 + <cluster_schema/>
  953 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  954 + <xloc>995</xloc>
  955 + <yloc>503</yloc>
  956 + <draw>Y</draw>
  957 + </GUI>
  958 + </step>
  959 +
  960 + <step>
  961 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</name>
  962 + <type>InsertUpdate</type>
  963 + <description/>
  964 + <distribute>Y</distribute>
  965 + <custom_distribution/>
  966 + <copies>1</copies>
  967 + <partitioning>
  968 + <method>none</method>
  969 + <schema_name/>
  970 + </partitioning>
  971 + <connection>bus_control_variable</connection>
  972 + <commit>100</commit>
  973 + <update_bypassed>N</update_bypassed>
  974 + <lookup>
  975 + <schema/>
  976 + <table>bsth_c_s_ttinfo_detail</table>
  977 + <key>
  978 + <name>xlid</name>
  979 + <field>xl</field>
  980 + <condition>&#x3d;</condition>
  981 + <name2/>
  982 + </key>
  983 + <key>
  984 + <name>ttid</name>
  985 + <field>ttinfo</field>
  986 + <condition>&#x3d;</condition>
  987 + <name2/>
  988 + </key>
  989 + <key>
  990 + <name>lpid</name>
  991 + <field>lp</field>
  992 + <condition>&#x3d;</condition>
  993 + <name2/>
  994 + </key>
  995 + <key>
  996 + <name>fcno</name>
  997 + <field>fcno</field>
  998 + <condition>&#x3d;</condition>
  999 + <name2/>
  1000 + </key>
  1001 + <key>
  1002 + <name>bcs</name>
  1003 + <field>bcs</field>
  1004 + <condition>&#x3d;</condition>
  1005 + <name2/>
  1006 + </key>
  1007 + <value>
  1008 + <name>lp</name>
  1009 + <rename>lpid</rename>
  1010 + <update>Y</update>
  1011 + </value>
  1012 + <value>
  1013 + <name>bc_type</name>
  1014 + <rename>bctype_code</rename>
  1015 + <update>Y</update>
  1016 + </value>
  1017 + <value>
  1018 + <name>bcs</name>
  1019 + <rename>bcs</rename>
  1020 + <update>Y</update>
  1021 + </value>
  1022 + <value>
  1023 + <name>bcsj</name>
  1024 + <rename>bcsj</rename>
  1025 + <update>Y</update>
  1026 + </value>
  1027 + <value>
  1028 + <name>fcno</name>
  1029 + <rename>fcno</rename>
  1030 + <update>Y</update>
  1031 + </value>
  1032 + <value>
  1033 + <name>jhlc</name>
  1034 + <rename>jhlc</rename>
  1035 + <update>Y</update>
  1036 + </value>
  1037 + <value>
  1038 + <name>fcsj</name>
  1039 + <rename>sendtime_calcu</rename>
  1040 + <update>Y</update>
  1041 + </value>
  1042 + <value>
  1043 + <name>ttinfo</name>
  1044 + <rename>ttid</rename>
  1045 + <update>Y</update>
  1046 + </value>
  1047 + <value>
  1048 + <name>xl</name>
  1049 + <rename>xlid</rename>
  1050 + <update>Y</update>
  1051 + </value>
  1052 + <value>
  1053 + <name>qdz</name>
  1054 + <rename>qdzid</rename>
  1055 + <update>Y</update>
  1056 + </value>
  1057 + <value>
  1058 + <name>zdz</name>
  1059 + <rename>zdzid</rename>
  1060 + <update>Y</update>
  1061 + </value>
  1062 + <value>
  1063 + <name>xl_dir</name>
  1064 + <rename>sxx</rename>
  1065 + <update>Y</update>
  1066 + </value>
  1067 + <value>
  1068 + <name>isfb</name>
  1069 + <rename>isfb</rename>
  1070 + <update>Y</update>
  1071 + </value>
  1072 + <value>
  1073 + <name>qdz_code</name>
  1074 + <rename>qdzcode</rename>
  1075 + <update>Y</update>
  1076 + </value>
  1077 + <value>
  1078 + <name>qdz_name</name>
  1079 + <rename>qdzname</rename>
  1080 + <update>Y</update>
  1081 + </value>
  1082 + <value>
  1083 + <name>zdz_code</name>
  1084 + <rename>zdzcode</rename>
  1085 + <update>Y</update>
  1086 + </value>
  1087 + <value>
  1088 + <name>zdz_name</name>
  1089 + <rename>zdzname</rename>
  1090 + <update>Y</update>
  1091 + </value>
  1092 + <value>
  1093 + <name>ists</name>
  1094 + <rename>ists</rename>
  1095 + <update>Y</update>
  1096 + </value>
  1097 + </lookup>
  1098 + <cluster_schema/>
  1099 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1100 + <xloc>143</xloc>
  1101 + <yloc>860</yloc>
  1102 + <draw>Y</draw>
  1103 + </GUI>
  1104 + </step>
  1105 +
  1106 + <step>
  1107 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 2</name>
  1108 + <type>InsertUpdate</type>
  1109 + <description/>
  1110 + <distribute>Y</distribute>
  1111 + <custom_distribution/>
  1112 + <copies>1</copies>
  1113 + <partitioning>
  1114 + <method>none</method>
  1115 + <schema_name/>
  1116 + </partitioning>
  1117 + <connection>bus_control_variable</connection>
  1118 + <commit>100</commit>
  1119 + <update_bypassed>N</update_bypassed>
  1120 + <lookup>
  1121 + <schema/>
  1122 + <table>bsth_c_s_ttinfo_detail</table>
  1123 + <key>
  1124 + <name>xlid</name>
  1125 + <field>xl</field>
  1126 + <condition>&#x3d;</condition>
  1127 + <name2/>
  1128 + </key>
  1129 + <key>
  1130 + <name>ttid</name>
  1131 + <field>ttinfo</field>
  1132 + <condition>&#x3d;</condition>
  1133 + <name2/>
  1134 + </key>
  1135 + <key>
  1136 + <name>lpid</name>
  1137 + <field>lp</field>
  1138 + <condition>&#x3d;</condition>
  1139 + <name2/>
  1140 + </key>
  1141 + <key>
  1142 + <name>fcno</name>
  1143 + <field>fcno</field>
  1144 + <condition>&#x3d;</condition>
  1145 + <name2/>
  1146 + </key>
  1147 + <key>
  1148 + <name>bcs</name>
  1149 + <field>bcs</field>
  1150 + <condition>&#x3d;</condition>
  1151 + <name2/>
  1152 + </key>
  1153 + <value>
  1154 + <name>tcc</name>
  1155 + <rename>qdzid</rename>
  1156 + <update>Y</update>
  1157 + </value>
  1158 + <value>
  1159 + <name>zdz</name>
  1160 + <rename>zdzid</rename>
  1161 + <update>Y</update>
  1162 + </value>
  1163 + <value>
  1164 + <name>xl</name>
  1165 + <rename>xlid</rename>
  1166 + <update>Y</update>
  1167 + </value>
  1168 + <value>
  1169 + <name>ttinfo</name>
  1170 + <rename>ttid</rename>
  1171 + <update>Y</update>
  1172 + </value>
  1173 + <value>
  1174 + <name>xl_dir</name>
  1175 + <rename>sxx</rename>
  1176 + <update>Y</update>
  1177 + </value>
  1178 + <value>
  1179 + <name>lp</name>
  1180 + <rename>lpid</rename>
  1181 + <update>Y</update>
  1182 + </value>
  1183 + <value>
  1184 + <name>jhlc</name>
  1185 + <rename>out_mileage</rename>
  1186 + <update>Y</update>
  1187 + </value>
  1188 + <value>
  1189 + <name>fcsj</name>
  1190 + <rename>sendtime_calcu</rename>
  1191 + <update>Y</update>
  1192 + </value>
  1193 + <value>
  1194 + <name>bcsj</name>
  1195 + <rename>out_time</rename>
  1196 + <update>Y</update>
  1197 + </value>
  1198 + <value>
  1199 + <name>bcs</name>
  1200 + <rename>bcs</rename>
  1201 + <update>Y</update>
  1202 + </value>
  1203 + <value>
  1204 + <name>fcno</name>
  1205 + <rename>fcno</rename>
  1206 + <update>Y</update>
  1207 + </value>
  1208 + <value>
  1209 + <name>bc_type</name>
  1210 + <rename>bctype_code</rename>
  1211 + <update>Y</update>
  1212 + </value>
  1213 + <value>
  1214 + <name>isfb</name>
  1215 + <rename>isfb</rename>
  1216 + <update>Y</update>
  1217 + </value>
  1218 + <value>
  1219 + <name>qdz_code</name>
  1220 + <rename>qdzcode</rename>
  1221 + <update>Y</update>
  1222 + </value>
  1223 + <value>
  1224 + <name>qdz_name</name>
  1225 + <rename>tn</rename>
  1226 + <update>Y</update>
  1227 + </value>
  1228 + <value>
  1229 + <name>zdz_code</name>
  1230 + <rename>zdzcode</rename>
  1231 + <update>Y</update>
  1232 + </value>
  1233 + <value>
  1234 + <name>zdz_name</name>
  1235 + <rename>zdzname</rename>
  1236 + <update>Y</update>
  1237 + </value>
  1238 + <value>
  1239 + <name>ists</name>
  1240 + <rename>ists</rename>
  1241 + <update>Y</update>
  1242 + </value>
  1243 + </lookup>
  1244 + <cluster_schema/>
  1245 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1246 + <xloc>340</xloc>
  1247 + <yloc>1087</yloc>
  1248 + <draw>Y</draw>
  1249 + </GUI>
  1250 + </step>
  1251 +
  1252 + <step>
  1253 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 3</name>
  1254 + <type>InsertUpdate</type>
  1255 + <description/>
  1256 + <distribute>Y</distribute>
  1257 + <custom_distribution/>
  1258 + <copies>1</copies>
  1259 + <partitioning>
  1260 + <method>none</method>
  1261 + <schema_name/>
  1262 + </partitioning>
  1263 + <connection>bus_control_variable</connection>
  1264 + <commit>100</commit>
  1265 + <update_bypassed>N</update_bypassed>
  1266 + <lookup>
  1267 + <schema/>
  1268 + <table>bsth_c_s_ttinfo_detail</table>
  1269 + <key>
  1270 + <name>xlid</name>
  1271 + <field>xl</field>
  1272 + <condition>&#x3d;</condition>
  1273 + <name2/>
  1274 + </key>
  1275 + <key>
  1276 + <name>ttid</name>
  1277 + <field>ttinfo</field>
  1278 + <condition>&#x3d;</condition>
  1279 + <name2/>
  1280 + </key>
  1281 + <key>
  1282 + <name>lpid</name>
  1283 + <field>lp</field>
  1284 + <condition>&#x3d;</condition>
  1285 + <name2/>
  1286 + </key>
  1287 + <key>
  1288 + <name>fcno</name>
  1289 + <field>fcno</field>
  1290 + <condition>&#x3d;</condition>
  1291 + <name2/>
  1292 + </key>
  1293 + <key>
  1294 + <name>bcs</name>
  1295 + <field>bcs</field>
  1296 + <condition>&#x3d;</condition>
  1297 + <name2/>
  1298 + </key>
  1299 + <value>
  1300 + <name>fcno</name>
  1301 + <rename>fcno</rename>
  1302 + <update>Y</update>
  1303 + </value>
  1304 + <value>
  1305 + <name>bcs</name>
  1306 + <rename>bcs</rename>
  1307 + <update>Y</update>
  1308 + </value>
  1309 + <value>
  1310 + <name>xl</name>
  1311 + <rename>xlid</rename>
  1312 + <update>Y</update>
  1313 + </value>
  1314 + <value>
  1315 + <name>ttinfo</name>
  1316 + <rename>ttid</rename>
  1317 + <update>Y</update>
  1318 + </value>
  1319 + <value>
  1320 + <name>lp</name>
  1321 + <rename>lpid</rename>
  1322 + <update>Y</update>
  1323 + </value>
  1324 + <value>
  1325 + <name>bc_type</name>
  1326 + <rename>bctype_code</rename>
  1327 + <update>Y</update>
  1328 + </value>
  1329 + <value>
  1330 + <name>bcsj</name>
  1331 + <rename>parade_time</rename>
  1332 + <update>Y</update>
  1333 + </value>
  1334 + <value>
  1335 + <name>jhlc</name>
  1336 + <rename>parade_mileage</rename>
  1337 + <update>Y</update>
  1338 + </value>
  1339 + <value>
  1340 + <name>fcsj</name>
  1341 + <rename>sendtime_calcu</rename>
  1342 + <update>Y</update>
  1343 + </value>
  1344 + <value>
  1345 + <name>xl_dir</name>
  1346 + <rename>sxx2</rename>
  1347 + <update>Y</update>
  1348 + </value>
  1349 + <value>
  1350 + <name>qdz</name>
  1351 + <rename>qdzid</rename>
  1352 + <update>Y</update>
  1353 + </value>
  1354 + <value>
  1355 + <name>tcc</name>
  1356 + <rename>zdzid</rename>
  1357 + <update>Y</update>
  1358 + </value>
  1359 + <value>
  1360 + <name>isfb</name>
  1361 + <rename>isfb</rename>
  1362 + <update>Y</update>
  1363 + </value>
  1364 + <value>
  1365 + <name>qdz_code</name>
  1366 + <rename>qdzcode</rename>
  1367 + <update>Y</update>
  1368 + </value>
  1369 + <value>
  1370 + <name>qdz_name</name>
  1371 + <rename>qname</rename>
  1372 + <update>Y</update>
  1373 + </value>
  1374 + <value>
  1375 + <name>zdz_code</name>
  1376 + <rename>zdzcode</rename>
  1377 + <update>Y</update>
  1378 + </value>
  1379 + <value>
  1380 + <name>zdz_name</name>
  1381 + <rename>tn</rename>
  1382 + <update>Y</update>
  1383 + </value>
  1384 + <value>
  1385 + <name>ists</name>
  1386 + <rename>ists</rename>
  1387 + <update>Y</update>
  1388 + </value>
  1389 + </lookup>
  1390 + <cluster_schema/>
  1391 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1392 + <xloc>845</xloc>
  1393 + <yloc>899</yloc>
  1394 + <draw>Y</draw>
  1395 + </GUI>
  1396 + </step>
  1397 +
  1398 + <step>
  1399 + <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</name>
  1400 + <type>ExcelInput</type>
  1401 + <description/>
  1402 + <distribute>N</distribute>
  1403 + <custom_distribution/>
  1404 + <copies>1</copies>
  1405 + <partitioning>
  1406 + <method>none</method>
  1407 + <schema_name/>
  1408 + </partitioning>
  1409 + <header>Y</header>
  1410 + <noempty>Y</noempty>
  1411 + <stoponempty>N</stoponempty>
  1412 + <filefield/>
  1413 + <sheetfield/>
  1414 + <sheetrownumfield/>
  1415 + <rownumfield/>
  1416 + <sheetfield/>
  1417 + <filefield/>
  1418 + <limit>0</limit>
  1419 + <encoding/>
  1420 + <add_to_result_filenames>Y</add_to_result_filenames>
  1421 + <accept_filenames>N</accept_filenames>
  1422 + <accept_field/>
  1423 + <accept_stepname/>
  1424 + <file>
  1425 + <name/>
  1426 + <filemask/>
  1427 + <exclude_filemask/>
  1428 + <file_required>N</file_required>
  1429 + <include_subfolders>N</include_subfolders>
  1430 + </file>
  1431 + <fields>
  1432 + </fields>
  1433 + <sheets>
  1434 + <sheet>
  1435 + <name/>
  1436 + <startrow>0</startrow>
  1437 + <startcol>0</startcol>
  1438 + </sheet>
  1439 + </sheets>
  1440 + <strict_types>N</strict_types>
  1441 + <error_ignored>N</error_ignored>
  1442 + <error_line_skipped>N</error_line_skipped>
  1443 + <bad_line_files_destination_directory/>
  1444 + <bad_line_files_extension>warning</bad_line_files_extension>
  1445 + <error_line_files_destination_directory/>
  1446 + <error_line_files_extension>error</error_line_files_extension>
  1447 + <line_number_files_destination_directory/>
  1448 + <line_number_files_extension>line</line_number_files_extension>
  1449 + <shortFileFieldName/>
  1450 + <pathFieldName/>
  1451 + <hiddenFieldName/>
  1452 + <lastModificationTimeFieldName/>
  1453 + <uriNameFieldName/>
  1454 + <rootUriNameFieldName/>
  1455 + <extensionFieldName/>
  1456 + <sizeFieldName/>
  1457 + <spreadsheet_type>JXL</spreadsheet_type>
  1458 + <cluster_schema/>
  1459 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1460 + <xloc>112</xloc>
  1461 + <yloc>44</yloc>
  1462 + <draw>Y</draw>
  1463 + </GUI>
  1464 + </step>
  1465 +
  1466 + <step>
  1467 + <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</name>
  1468 + <type>DBLookup</type>
  1469 + <description/>
  1470 + <distribute>Y</distribute>
  1471 + <custom_distribution/>
  1472 + <copies>1</copies>
  1473 + <partitioning>
  1474 + <method>none</method>
  1475 + <schema_name/>
  1476 + </partitioning>
  1477 + <connection>bus_control_variable</connection>
  1478 + <cache>N</cache>
  1479 + <cache_load_all>N</cache_load_all>
  1480 + <cache_size>0</cache_size>
  1481 + <lookup>
  1482 + <schema/>
  1483 + <table>bsth_c_car_park</table>
  1484 + <orderby/>
  1485 + <fail_on_multiple>N</fail_on_multiple>
  1486 + <eat_row_on_failure>N</eat_row_on_failure>
  1487 + <key>
  1488 + <name>tccname_</name>
  1489 + <field>park_name</field>
  1490 + <condition>&#x3d;</condition>
  1491 + <name2/>
  1492 + </key>
  1493 + <value>
  1494 + <name>id</name>
  1495 + <rename>qdzid</rename>
  1496 + <default/>
  1497 + <type>Integer</type>
  1498 + </value>
  1499 + <value>
  1500 + <name>park_code</name>
  1501 + <rename>qdzcode</rename>
  1502 + <default/>
  1503 + <type>String</type>
  1504 + </value>
  1505 + <value>
  1506 + <name>park_name</name>
  1507 + <rename>tn</rename>
  1508 + <default/>
  1509 + <type>String</type>
  1510 + </value>
  1511 + </lookup>
  1512 + <cluster_schema/>
  1513 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1514 + <xloc>755</xloc>
  1515 + <yloc>504</yloc>
  1516 + <draw>Y</draw>
  1517 + </GUI>
  1518 + </step>
  1519 +
  1520 + <step>
  1521 + <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</name>
  1522 + <type>DBLookup</type>
  1523 + <description/>
  1524 + <distribute>Y</distribute>
  1525 + <custom_distribution/>
  1526 + <copies>1</copies>
  1527 + <partitioning>
  1528 + <method>none</method>
  1529 + <schema_name/>
  1530 + </partitioning>
  1531 + <connection>bus_control_variable</connection>
  1532 + <cache>N</cache>
  1533 + <cache_load_all>N</cache_load_all>
  1534 + <cache_size>0</cache_size>
  1535 + <lookup>
  1536 + <schema/>
  1537 + <table>bsth_c_car_park</table>
  1538 + <orderby/>
  1539 + <fail_on_multiple>N</fail_on_multiple>
  1540 + <eat_row_on_failure>N</eat_row_on_failure>
  1541 + <key>
  1542 + <name>tccname_</name>
  1543 + <field>park_name</field>
  1544 + <condition>&#x3d;</condition>
  1545 + <name2/>
  1546 + </key>
  1547 + <value>
  1548 + <name>id</name>
  1549 + <rename>zdzid</rename>
  1550 + <default/>
  1551 + <type>Integer</type>
  1552 + </value>
  1553 + <value>
  1554 + <name>park_code</name>
  1555 + <rename>zdzcode</rename>
  1556 + <default/>
  1557 + <type>String</type>
  1558 + </value>
  1559 + <value>
  1560 + <name>park_name</name>
  1561 + <rename>tn</rename>
  1562 + <default/>
  1563 + <type>String</type>
  1564 + </value>
  1565 + </lookup>
  1566 + <cluster_schema/>
  1567 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1568 + <xloc>887</xloc>
  1569 + <yloc>608</yloc>
  1570 + <draw>Y</draw>
  1571 + </GUI>
  1572 + </step>
  1573 +
  1574 + <step>
  1575 + <name>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
  1576 + <type>DBLookup</type>
  1577 + <description/>
  1578 + <distribute>Y</distribute>
  1579 + <custom_distribution/>
  1580 + <copies>1</copies>
  1581 + <partitioning>
  1582 + <method>none</method>
  1583 + <schema_name/>
  1584 + </partitioning>
  1585 + <connection>bus_control_variable</connection>
  1586 + <cache>N</cache>
  1587 + <cache_load_all>N</cache_load_all>
  1588 + <cache_size>0</cache_size>
  1589 + <lookup>
  1590 + <schema/>
  1591 + <table>bsth_c_stationroute</table>
  1592 + <orderby/>
  1593 + <fail_on_multiple>N</fail_on_multiple>
  1594 + <eat_row_on_failure>N</eat_row_on_failure>
  1595 + <key>
  1596 + <name>xlid</name>
  1597 + <field>line</field>
  1598 + <condition>&#x3d;</condition>
  1599 + <name2/>
  1600 + </key>
  1601 + <key>
  1602 + <name>zdzname</name>
  1603 + <field>station_name</field>
  1604 + <condition>&#x3d;</condition>
  1605 + <name2/>
  1606 + </key>
  1607 + <key>
  1608 + <name>endZdtype</name>
  1609 + <field>station_mark</field>
  1610 + <condition>&#x3d;</condition>
  1611 + <name2/>
  1612 + </key>
  1613 + <key>
  1614 + <name>destory</name>
  1615 + <field>destroy</field>
  1616 + <condition>&#x3d;</condition>
  1617 + <name2/>
  1618 + </key>
  1619 + <value>
  1620 + <name>station</name>
  1621 + <rename>zdzid</rename>
  1622 + <default/>
  1623 + <type>Integer</type>
  1624 + </value>
  1625 + <value>
  1626 + <name>directions</name>
  1627 + <rename>sxx</rename>
  1628 + <default/>
  1629 + <type>Integer</type>
  1630 + </value>
  1631 + <value>
  1632 + <name>station_code</name>
  1633 + <rename>zdzcode</rename>
  1634 + <default/>
  1635 + <type>String</type>
  1636 + </value>
  1637 + </lookup>
  1638 + <cluster_schema/>
  1639 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1640 + <xloc>329</xloc>
  1641 + <yloc>505</yloc>
  1642 + <draw>Y</draw>
  1643 + </GUI>
  1644 + </step>
  1645 +
  1646 + <step>
  1647 + <name>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</name>
  1648 + <type>DBLookup</type>
  1649 + <description/>
  1650 + <distribute>Y</distribute>
  1651 + <custom_distribution/>
  1652 + <copies>1</copies>
  1653 + <partitioning>
  1654 + <method>none</method>
  1655 + <schema_name/>
  1656 + </partitioning>
  1657 + <connection>bus_control_variable</connection>
  1658 + <cache>N</cache>
  1659 + <cache_load_all>N</cache_load_all>
  1660 + <cache_size>0</cache_size>
  1661 + <lookup>
  1662 + <schema/>
  1663 + <table>bsth_c_s_ttinfo</table>
  1664 + <orderby/>
  1665 + <fail_on_multiple>N</fail_on_multiple>
  1666 + <eat_row_on_failure>N</eat_row_on_failure>
  1667 + <key>
  1668 + <name>xlid</name>
  1669 + <field>xl</field>
  1670 + <condition>&#x3d;</condition>
  1671 + <name2/>
  1672 + </key>
  1673 + <key>
  1674 + <name>ttinfoname_</name>
  1675 + <field>name</field>
  1676 + <condition>&#x3d;</condition>
  1677 + <name2/>
  1678 + </key>
  1679 + <key>
  1680 + <name>iscanceled</name>
  1681 + <field>is_cancel</field>
  1682 + <condition>&#x3d;</condition>
  1683 + <name2/>
  1684 + </key>
  1685 + <value>
  1686 + <name>id</name>
  1687 + <rename>ttid</rename>
  1688 + <default/>
  1689 + <type>Integer</type>
  1690 + </value>
  1691 + </lookup>
  1692 + <cluster_schema/>
  1693 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1694 + <xloc>1011</xloc>
  1695 + <yloc>134</yloc>
  1696 + <draw>Y</draw>
  1697 + </GUI>
  1698 + </step>
  1699 +
  1700 + <step>
  1701 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</name>
  1702 + <type>DBLookup</type>
  1703 + <description/>
  1704 + <distribute>Y</distribute>
  1705 + <custom_distribution/>
  1706 + <copies>1</copies>
  1707 + <partitioning>
  1708 + <method>none</method>
  1709 + <schema_name/>
  1710 + </partitioning>
  1711 + <connection>bus_control_variable</connection>
  1712 + <cache>N</cache>
  1713 + <cache_load_all>N</cache_load_all>
  1714 + <cache_size>0</cache_size>
  1715 + <lookup>
  1716 + <schema/>
  1717 + <table>bsth_c_line</table>
  1718 + <orderby/>
  1719 + <fail_on_multiple>N</fail_on_multiple>
  1720 + <eat_row_on_failure>N</eat_row_on_failure>
  1721 + <key>
  1722 + <name>xlname_</name>
  1723 + <field>name</field>
  1724 + <condition>&#x3d;</condition>
  1725 + <name2/>
  1726 + </key>
  1727 + <key>
  1728 + <name>iscanceled</name>
  1729 + <field>destroy</field>
  1730 + <condition>&#x3d;</condition>
  1731 + <name2/>
  1732 + </key>
  1733 + <value>
  1734 + <name>id</name>
  1735 + <rename>xlid</rename>
  1736 + <default/>
  1737 + <type>Integer</type>
  1738 + </value>
  1739 + </lookup>
  1740 + <cluster_schema/>
  1741 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1742 + <xloc>1007</xloc>
  1743 + <yloc>43</yloc>
  1744 + <draw>Y</draw>
  1745 + </GUI>
  1746 + </step>
  1747 +
  1748 + <step>
  1749 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  1750 + <type>DBLookup</type>
  1751 + <description/>
  1752 + <distribute>Y</distribute>
  1753 + <custom_distribution/>
  1754 + <copies>1</copies>
  1755 + <partitioning>
  1756 + <method>none</method>
  1757 + <schema_name/>
  1758 + </partitioning>
  1759 + <connection>bus_control_variable</connection>
  1760 + <cache>N</cache>
  1761 + <cache_load_all>N</cache_load_all>
  1762 + <cache_size>0</cache_size>
  1763 + <lookup>
  1764 + <schema/>
  1765 + <table>bsth_c_line_information</table>
  1766 + <orderby/>
  1767 + <fail_on_multiple>N</fail_on_multiple>
  1768 + <eat_row_on_failure>N</eat_row_on_failure>
  1769 + <key>
  1770 + <name>xlid</name>
  1771 + <field>line</field>
  1772 + <condition>&#x3d;</condition>
  1773 + <name2/>
  1774 + </key>
  1775 + <value>
  1776 + <name>up_out_timer</name>
  1777 + <rename>up_out_timer</rename>
  1778 + <default/>
  1779 + <type>Number</type>
  1780 + </value>
  1781 + <value>
  1782 + <name>up_out_mileage</name>
  1783 + <rename>up_out_mileage</rename>
  1784 + <default/>
  1785 + <type>Number</type>
  1786 + </value>
  1787 + <value>
  1788 + <name>down_out_timer</name>
  1789 + <rename>down_out_timer</rename>
  1790 + <default/>
  1791 + <type>Number</type>
  1792 + </value>
  1793 + <value>
  1794 + <name>down_out_mileage</name>
  1795 + <rename>down_out_mileage</rename>
  1796 + <default/>
  1797 + <type>Number</type>
  1798 + </value>
  1799 + </lookup>
  1800 + <cluster_schema/>
  1801 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1802 + <xloc>335</xloc>
  1803 + <yloc>763</yloc>
  1804 + <draw>Y</draw>
  1805 + </GUI>
  1806 + </step>
  1807 +
  1808 + <step>
  1809 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x6240;&#x6709;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  1810 + <type>DBLookup</type>
  1811 + <description/>
  1812 + <distribute>Y</distribute>
  1813 + <custom_distribution/>
  1814 + <copies>1</copies>
  1815 + <partitioning>
  1816 + <method>none</method>
  1817 + <schema_name/>
  1818 + </partitioning>
  1819 + <connection>bus_control_variable</connection>
  1820 + <cache>N</cache>
  1821 + <cache_load_all>N</cache_load_all>
  1822 + <cache_size>0</cache_size>
  1823 + <lookup>
  1824 + <schema/>
  1825 + <table>bsth_c_line_information</table>
  1826 + <orderby/>
  1827 + <fail_on_multiple>N</fail_on_multiple>
  1828 + <eat_row_on_failure>N</eat_row_on_failure>
  1829 + <key>
  1830 + <name>xlid</name>
  1831 + <field>line</field>
  1832 + <condition>&#x3d;</condition>
  1833 + <name2/>
  1834 + </key>
  1835 + <value>
  1836 + <name>up_mileage</name>
  1837 + <rename>up_mileage</rename>
  1838 + <default/>
  1839 + <type>Number</type>
  1840 + </value>
  1841 + <value>
  1842 + <name>down_mileage</name>
  1843 + <rename>down_mileage</rename>
  1844 + <default/>
  1845 + <type>Number</type>
  1846 + </value>
  1847 + <value>
  1848 + <name>up_travel_time</name>
  1849 + <rename>up_travel_time</rename>
  1850 + <default/>
  1851 + <type>Number</type>
  1852 + </value>
  1853 + <value>
  1854 + <name>down_travel_time</name>
  1855 + <rename>down_travel_time</rename>
  1856 + <default/>
  1857 + <type>Number</type>
  1858 + </value>
  1859 + <value>
  1860 + <name>early_start_time</name>
  1861 + <rename>early_start_time</rename>
  1862 + <default/>
  1863 + <type>String</type>
  1864 + </value>
  1865 + <value>
  1866 + <name>early_end_time</name>
  1867 + <rename>early_end_time</rename>
  1868 + <default/>
  1869 + <type>String</type>
  1870 + </value>
  1871 + <value>
  1872 + <name>early_up_time</name>
  1873 + <rename>early_up_time</rename>
  1874 + <default/>
  1875 + <type>Number</type>
  1876 + </value>
  1877 + <value>
  1878 + <name>early_down_time</name>
  1879 + <rename>early_down_time</rename>
  1880 + <default/>
  1881 + <type>Number</type>
  1882 + </value>
  1883 + <value>
  1884 + <name>late_start_time</name>
  1885 + <rename>late_start_time</rename>
  1886 + <default/>
  1887 + <type>String</type>
  1888 + </value>
  1889 + <value>
  1890 + <name>late_end_time</name>
  1891 + <rename>late_end_time</rename>
  1892 + <default/>
  1893 + <type>String</type>
  1894 + </value>
  1895 + <value>
  1896 + <name>late_up_time</name>
  1897 + <rename>late_up_time</rename>
  1898 + <default/>
  1899 + <type>Number</type>
  1900 + </value>
  1901 + <value>
  1902 + <name>late_down_time</name>
  1903 + <rename>late_down_time</rename>
  1904 + <default/>
  1905 + <type>Number</type>
  1906 + </value>
  1907 + </lookup>
  1908 + <cluster_schema/>
  1909 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1910 + <xloc>149</xloc>
  1911 + <yloc>581</yloc>
  1912 + <draw>Y</draw>
  1913 + </GUI>
  1914 + </step>
  1915 +
  1916 + <step>
  1917 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  1918 + <type>DBLookup</type>
  1919 + <description/>
  1920 + <distribute>Y</distribute>
  1921 + <custom_distribution/>
  1922 + <copies>1</copies>
  1923 + <partitioning>
  1924 + <method>none</method>
  1925 + <schema_name/>
  1926 + </partitioning>
  1927 + <connection>bus_control_variable</connection>
  1928 + <cache>N</cache>
  1929 + <cache_load_all>N</cache_load_all>
  1930 + <cache_size>0</cache_size>
  1931 + <lookup>
  1932 + <schema/>
  1933 + <table>bsth_c_line_information</table>
  1934 + <orderby/>
  1935 + <fail_on_multiple>N</fail_on_multiple>
  1936 + <eat_row_on_failure>N</eat_row_on_failure>
  1937 + <key>
  1938 + <name>xlid</name>
  1939 + <field>line</field>
  1940 + <condition>&#x3d;</condition>
  1941 + <name2/>
  1942 + </key>
  1943 + <value>
  1944 + <name>up_in_mileage</name>
  1945 + <rename>up_in_mileage</rename>
  1946 + <default/>
  1947 + <type>Number</type>
  1948 + </value>
  1949 + <value>
  1950 + <name>up_in_timer</name>
  1951 + <rename>up_in_timer</rename>
  1952 + <default/>
  1953 + <type>Number</type>
  1954 + </value>
  1955 + <value>
  1956 + <name>down_in_mileage</name>
  1957 + <rename>down_in_mileage</rename>
  1958 + <default/>
  1959 + <type>Number</type>
  1960 + </value>
  1961 + <value>
  1962 + <name>down_in_timer</name>
  1963 + <rename>down_in_timer</rename>
  1964 + <default/>
  1965 + <type>Number</type>
  1966 + </value>
  1967 + </lookup>
  1968 + <cluster_schema/>
  1969 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1970 + <xloc>553</xloc>
  1971 + <yloc>1004</yloc>
  1972 + <draw>Y</draw>
  1973 + </GUI>
  1974 + </step>
  1975 +
  1976 + <step>
  1977 + <name>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</name>
  1978 + <type>DBLookup</type>
  1979 + <description/>
  1980 + <distribute>Y</distribute>
  1981 + <custom_distribution/>
  1982 + <copies>1</copies>
  1983 + <partitioning>
  1984 + <method>none</method>
  1985 + <schema_name/>
  1986 + </partitioning>
  1987 + <connection>bus_control_variable</connection>
  1988 + <cache>N</cache>
  1989 + <cache_load_all>N</cache_load_all>
  1990 + <cache_size>0</cache_size>
  1991 + <lookup>
  1992 + <schema/>
  1993 + <table>bsth_c_stationroute</table>
  1994 + <orderby/>
  1995 + <fail_on_multiple>N</fail_on_multiple>
  1996 + <eat_row_on_failure>N</eat_row_on_failure>
  1997 + <key>
  1998 + <name>xlid</name>
  1999 + <field>line</field>
  2000 + <condition>&#x3d;</condition>
  2001 + <name2/>
  2002 + </key>
  2003 + <key>
  2004 + <name>sxx</name>
  2005 + <field>directions</field>
  2006 + <condition>&#x3d;</condition>
  2007 + <name2/>
  2008 + </key>
  2009 + <key>
  2010 + <name>endZdtype</name>
  2011 + <field>station_mark</field>
  2012 + <condition>&#x3d;</condition>
  2013 + <name2/>
  2014 + </key>
  2015 + <key>
  2016 + <name>destory</name>
  2017 + <field>destroy</field>
  2018 + <condition>&#x3d;</condition>
  2019 + <name2/>
  2020 + </key>
  2021 + <value>
  2022 + <name>station_name</name>
  2023 + <rename>zdzname</rename>
  2024 + <default/>
  2025 + <type>String</type>
  2026 + </value>
  2027 + <value>
  2028 + <name>station</name>
  2029 + <rename>zdzid</rename>
  2030 + <default/>
  2031 + <type>Integer</type>
  2032 + </value>
  2033 + <value>
  2034 + <name>station_code</name>
  2035 + <rename>zdzcode</rename>
  2036 + <default/>
  2037 + <type>String</type>
  2038 + </value>
  2039 + </lookup>
  2040 + <cluster_schema/>
  2041 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2042 + <xloc>280</xloc>
  2043 + <yloc>404</yloc>
  2044 + <draw>Y</draw>
  2045 + </GUI>
  2046 + </step>
  2047 +
  2048 + <step>
  2049 + <name>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
  2050 + <type>DBLookup</type>
  2051 + <description/>
  2052 + <distribute>Y</distribute>
  2053 + <custom_distribution/>
  2054 + <copies>1</copies>
  2055 + <partitioning>
  2056 + <method>none</method>
  2057 + <schema_name/>
  2058 + </partitioning>
  2059 + <connection>bus_control_variable</connection>
  2060 + <cache>N</cache>
  2061 + <cache_load_all>N</cache_load_all>
  2062 + <cache_size>0</cache_size>
  2063 + <lookup>
  2064 + <schema/>
  2065 + <table>bsth_c_stationroute</table>
  2066 + <orderby/>
  2067 + <fail_on_multiple>N</fail_on_multiple>
  2068 + <eat_row_on_failure>N</eat_row_on_failure>
  2069 + <key>
  2070 + <name>xlid</name>
  2071 + <field>line</field>
  2072 + <condition>&#x3d;</condition>
  2073 + <name2/>
  2074 + </key>
  2075 + <key>
  2076 + <name>qdzname</name>
  2077 + <field>station_name</field>
  2078 + <condition>&#x3d;</condition>
  2079 + <name2/>
  2080 + </key>
  2081 + <key>
  2082 + <name>sendZdtype</name>
  2083 + <field>station_mark</field>
  2084 + <condition>&#x3d;</condition>
  2085 + <name2/>
  2086 + </key>
  2087 + <key>
  2088 + <name>destory</name>
  2089 + <field>destroy</field>
  2090 + <condition>&#x3d;</condition>
  2091 + <name2/>
  2092 + </key>
  2093 + <value>
  2094 + <name>station</name>
  2095 + <rename>qdzid</rename>
  2096 + <default/>
  2097 + <type>Integer</type>
  2098 + </value>
  2099 + <value>
  2100 + <name>directions</name>
  2101 + <rename>sxx</rename>
  2102 + <default/>
  2103 + <type>Integer</type>
  2104 + </value>
  2105 + <value>
  2106 + <name>station_code</name>
  2107 + <rename>qdzcode</rename>
  2108 + <default/>
  2109 + <type>String</type>
  2110 + </value>
  2111 + </lookup>
  2112 + <cluster_schema/>
  2113 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2114 + <xloc>430</xloc>
  2115 + <yloc>403</yloc>
  2116 + <draw>Y</draw>
  2117 + </GUI>
  2118 + </step>
  2119 +
  2120 + <step>
  2121 + <name>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</name>
  2122 + <type>DBLookup</type>
  2123 + <description/>
  2124 + <distribute>Y</distribute>
  2125 + <custom_distribution/>
  2126 + <copies>1</copies>
  2127 + <partitioning>
  2128 + <method>none</method>
  2129 + <schema_name/>
  2130 + </partitioning>
  2131 + <connection>bus_control_variable</connection>
  2132 + <cache>N</cache>
  2133 + <cache_load_all>N</cache_load_all>
  2134 + <cache_size>0</cache_size>
  2135 + <lookup>
  2136 + <schema/>
  2137 + <table>bsth_c_s_gbi</table>
  2138 + <orderby/>
  2139 + <fail_on_multiple>N</fail_on_multiple>
  2140 + <eat_row_on_failure>N</eat_row_on_failure>
  2141 + <key>
  2142 + <name>xlid</name>
  2143 + <field>xl</field>
  2144 + <condition>&#x3d;</condition>
  2145 + <name2/>
  2146 + </key>
  2147 + <key>
  2148 + <name>lp</name>
  2149 + <field>lp_name</field>
  2150 + <condition>&#x3d;</condition>
  2151 + <name2/>
  2152 + </key>
  2153 + <key>
  2154 + <name>iscanceled</name>
  2155 + <field>is_cancel</field>
  2156 + <condition>&#x3d;</condition>
  2157 + <name2/>
  2158 + </key>
  2159 + <value>
  2160 + <name>id</name>
  2161 + <rename>lpid</rename>
  2162 + <default/>
  2163 + <type>Integer</type>
  2164 + </value>
  2165 + </lookup>
  2166 + <cluster_schema/>
  2167 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2168 + <xloc>1013</xloc>
  2169 + <yloc>265</yloc>
  2170 + <draw>Y</draw>
  2171 + </GUI>
  2172 + </step>
  2173 +
  2174 + <step>
  2175 + <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</name>
  2176 + <type>DBLookup</type>
  2177 + <description/>
  2178 + <distribute>Y</distribute>
  2179 + <custom_distribution/>
  2180 + <copies>1</copies>
  2181 + <partitioning>
  2182 + <method>none</method>
  2183 + <schema_name/>
  2184 + </partitioning>
  2185 + <connection>bus_control_variable</connection>
  2186 + <cache>N</cache>
  2187 + <cache_load_all>N</cache_load_all>
  2188 + <cache_size>0</cache_size>
  2189 + <lookup>
  2190 + <schema/>
  2191 + <table>bsth_c_stationroute</table>
  2192 + <orderby/>
  2193 + <fail_on_multiple>N</fail_on_multiple>
  2194 + <eat_row_on_failure>N</eat_row_on_failure>
  2195 + <key>
  2196 + <name>xlid</name>
  2197 + <field>line</field>
  2198 + <condition>&#x3d;</condition>
  2199 + <name2/>
  2200 + </key>
  2201 + <key>
  2202 + <name>startZdtype_calcu</name>
  2203 + <field>station_mark</field>
  2204 + <condition>&#x3d;</condition>
  2205 + <name2/>
  2206 + </key>
  2207 + <key>
  2208 + <name>qdzname_calcu</name>
  2209 + <field>station_name</field>
  2210 + <condition>&#x3d;</condition>
  2211 + <name2/>
  2212 + </key>
  2213 + <key>
  2214 + <name>destory</name>
  2215 + <field>destroy</field>
  2216 + <condition>&#x3d;</condition>
  2217 + <name2/>
  2218 + </key>
  2219 + <value>
  2220 + <name>directions</name>
  2221 + <rename>sxx</rename>
  2222 + <default/>
  2223 + <type>String</type>
  2224 + </value>
  2225 + </lookup>
  2226 + <cluster_schema/>
  2227 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2228 + <xloc>548</xloc>
  2229 + <yloc>610</yloc>
  2230 + <draw>Y</draw>
  2231 + </GUI>
  2232 + </step>
  2233 +
  2234 + <step>
  2235 + <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</name>
  2236 + <type>DBLookup</type>
  2237 + <description/>
  2238 + <distribute>Y</distribute>
  2239 + <custom_distribution/>
  2240 + <copies>1</copies>
  2241 + <partitioning>
  2242 + <method>none</method>
  2243 + <schema_name/>
  2244 + </partitioning>
  2245 + <connection>bus_control_variable</connection>
  2246 + <cache>Y</cache>
  2247 + <cache_load_all>Y</cache_load_all>
  2248 + <cache_size>0</cache_size>
  2249 + <lookup>
  2250 + <schema/>
  2251 + <table>bsth_c_stationroute</table>
  2252 + <orderby/>
  2253 + <fail_on_multiple>N</fail_on_multiple>
  2254 + <eat_row_on_failure>N</eat_row_on_failure>
  2255 + <key>
  2256 + <name>xlid</name>
  2257 + <field>line</field>
  2258 + <condition>&#x3d;</condition>
  2259 + <name2/>
  2260 + </key>
  2261 + <key>
  2262 + <name>endZdtype_calcu</name>
  2263 + <field>station_mark</field>
  2264 + <condition>&#x3d;</condition>
  2265 + <name2/>
  2266 + </key>
  2267 + <key>
  2268 + <name>sxx</name>
  2269 + <field>directions</field>
  2270 + <condition>&#x3d;</condition>
  2271 + <name2/>
  2272 + </key>
  2273 + <key>
  2274 + <name>destory</name>
  2275 + <field>destroy</field>
  2276 + <condition>&#x3d;</condition>
  2277 + <name2/>
  2278 + </key>
  2279 + <value>
  2280 + <name>station_name</name>
  2281 + <rename>zdzname_calcu</rename>
  2282 + <default/>
  2283 + <type>Integer</type>
  2284 + </value>
  2285 + </lookup>
  2286 + <cluster_schema/>
  2287 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2288 + <xloc>550</xloc>
  2289 + <yloc>701</yloc>
  2290 + <draw>Y</draw>
  2291 + </GUI>
  2292 + </step>
  2293 +
  2294 + <step>
  2295 + <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
  2296 + <type>DBLookup</type>
  2297 + <description/>
  2298 + <distribute>Y</distribute>
  2299 + <custom_distribution/>
  2300 + <copies>1</copies>
  2301 + <partitioning>
  2302 + <method>none</method>
  2303 + <schema_name/>
  2304 + </partitioning>
  2305 + <connection>bus_control_variable</connection>
  2306 + <cache>N</cache>
  2307 + <cache_load_all>N</cache_load_all>
  2308 + <cache_size>0</cache_size>
  2309 + <lookup>
  2310 + <schema/>
  2311 + <table>bsth_c_stationroute</table>
  2312 + <orderby/>
  2313 + <fail_on_multiple>N</fail_on_multiple>
  2314 + <eat_row_on_failure>N</eat_row_on_failure>
  2315 + <key>
  2316 + <name>xlid</name>
  2317 + <field>line</field>
  2318 + <condition>&#x3d;</condition>
  2319 + <name2/>
  2320 + </key>
  2321 + <key>
  2322 + <name>zdzname_calcu</name>
  2323 + <field>station_name</field>
  2324 + <condition>&#x3d;</condition>
  2325 + <name2/>
  2326 + </key>
  2327 + <key>
  2328 + <name>startZdtype_calcu</name>
  2329 + <field>station_mark</field>
  2330 + <condition>&#x3d;</condition>
  2331 + <name2/>
  2332 + </key>
  2333 + <key>
  2334 + <name>destory</name>
  2335 + <field>destroy</field>
  2336 + <condition>&#x3d;</condition>
  2337 + <name2/>
  2338 + </key>
  2339 + <value>
  2340 + <name>directions</name>
  2341 + <rename>sxx2</rename>
  2342 + <default/>
  2343 + <type>Integer</type>
  2344 + </value>
  2345 + <value>
  2346 + <name>station</name>
  2347 + <rename>qdzid</rename>
  2348 + <default/>
  2349 + <type>Integer</type>
  2350 + </value>
  2351 + <value>
  2352 + <name>station_code</name>
  2353 + <rename>qdzcode</rename>
  2354 + <default/>
  2355 + <type>String</type>
  2356 + </value>
  2357 + <value>
  2358 + <name>station_name</name>
  2359 + <rename>qname</rename>
  2360 + <default/>
  2361 + <type>String</type>
  2362 + </value>
  2363 + </lookup>
  2364 + <cluster_schema/>
  2365 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2366 + <xloc>551</xloc>
  2367 + <yloc>782</yloc>
  2368 + <draw>Y</draw>
  2369 + </GUI>
  2370 + </step>
  2371 +
  2372 + <step>
  2373 + <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</name>
  2374 + <type>ScriptValueMod</type>
  2375 + <description/>
  2376 + <distribute>Y</distribute>
  2377 + <custom_distribution/>
  2378 + <copies>1</copies>
  2379 + <partitioning>
  2380 + <method>none</method>
  2381 + <schema_name/>
  2382 + </partitioning>
  2383 + <compatible>N</compatible>
  2384 + <optimizationLevel>9</optimizationLevel>
  2385 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  2386 + <jsScript_name>Script 1</jsScript_name>
  2387 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var sendZdtype &#x3d; &#x27;B&#x27;&#x3b;&#xa;var endZdtype &#x3d; &#x27;E&#x27;&#x3b;&#xa;&#xa;var destory &#x3d; 0&#x3b; &#x2f;&#x2f; &#x672a;&#x64a4;&#x9500;flag</jsScript_script>
  2388 + </jsScript> </jsScripts> <fields> <field> <name>sendZdtype</name>
  2389 + <rename>sendZdtype</rename>
  2390 + <type>String</type>
  2391 + <length>-1</length>
  2392 + <precision>-1</precision>
  2393 + <replace>N</replace>
  2394 + </field> <field> <name>endZdtype</name>
  2395 + <rename>endZdtype</rename>
  2396 + <type>String</type>
  2397 + <length>-1</length>
  2398 + <precision>-1</precision>
  2399 + <replace>N</replace>
  2400 + </field> <field> <name>destory</name>
  2401 + <rename>destory</rename>
  2402 + <type>Integer</type>
  2403 + <length>-1</length>
  2404 + <precision>-1</precision>
  2405 + <replace>N</replace>
  2406 + </field> </fields> <cluster_schema/>
  2407 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2408 + <xloc>588</xloc>
  2409 + <yloc>403</yloc>
  2410 + <draw>Y</draw>
  2411 + </GUI>
  2412 + </step>
  2413 +
  2414 + <step>
  2415 + <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
  2416 + <type>Dummy</type>
  2417 + <description/>
  2418 + <distribute>Y</distribute>
  2419 + <custom_distribution/>
  2420 + <copies>1</copies>
  2421 + <partitioning>
  2422 + <method>none</method>
  2423 + <schema_name/>
  2424 + </partitioning>
  2425 + <cluster_schema/>
  2426 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2427 + <xloc>725</xloc>
  2428 + <yloc>404</yloc>
  2429 + <draw>Y</draw>
  2430 + </GUI>
  2431 + </step>
  2432 +
  2433 + <step>
  2434 + <name>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</name>
  2435 + <type>GroupBy</type>
  2436 + <description/>
  2437 + <distribute>Y</distribute>
  2438 + <custom_distribution/>
  2439 + <copies>1</copies>
  2440 + <partitioning>
  2441 + <method>none</method>
  2442 + <schema_name/>
  2443 + </partitioning>
  2444 + <all_rows>Y</all_rows>
  2445 + <ignore_aggregate>N</ignore_aggregate>
  2446 + <field_ignore/>
  2447 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  2448 + <prefix>grp</prefix>
  2449 + <add_linenr>Y</add_linenr>
  2450 + <linenr_fieldname>fcno</linenr_fieldname>
  2451 + <give_back_row>N</give_back_row>
  2452 + <group>
  2453 + <field>
  2454 + <name>lp</name>
  2455 + </field>
  2456 + </group>
  2457 + <fields>
  2458 + </fields>
  2459 + <cluster_schema/>
  2460 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2461 + <xloc>442</xloc>
  2462 + <yloc>44</yloc>
  2463 + <draw>Y</draw>
  2464 + </GUI>
  2465 + </step>
  2466 +
  2467 + <step>
  2468 + <name>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</name>
  2469 + <type>GroupBy</type>
  2470 + <description/>
  2471 + <distribute>Y</distribute>
  2472 + <custom_distribution/>
  2473 + <copies>1</copies>
  2474 + <partitioning>
  2475 + <method>none</method>
  2476 + <schema_name/>
  2477 + </partitioning>
  2478 + <all_rows>Y</all_rows>
  2479 + <ignore_aggregate>N</ignore_aggregate>
  2480 + <field_ignore/>
  2481 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  2482 + <prefix>grp</prefix>
  2483 + <add_linenr>Y</add_linenr>
  2484 + <linenr_fieldname>bcs</linenr_fieldname>
  2485 + <give_back_row>N</give_back_row>
  2486 + <group>
  2487 + </group>
  2488 + <fields>
  2489 + </fields>
  2490 + <cluster_schema/>
  2491 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2492 + <xloc>692</xloc>
  2493 + <yloc>44</yloc>
  2494 + <draw>Y</draw>
  2495 + </GUI>
  2496 + </step>
  2497 +
  2498 + <step>
  2499 + <name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</name>
  2500 + <type>Normaliser</type>
  2501 + <description/>
  2502 + <distribute>Y</distribute>
  2503 + <custom_distribution/>
  2504 + <copies>1</copies>
  2505 + <partitioning>
  2506 + <method>none</method>
  2507 + <schema_name/>
  2508 + </partitioning>
  2509 + <typefield>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</typefield>
  2510 + <fields> </fields> <cluster_schema/>
  2511 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2512 + <xloc>248</xloc>
  2513 + <yloc>44</yloc>
  2514 + <draw>Y</draw>
  2515 + </GUI>
  2516 + </step>
  2517 +
  2518 + <step>
  2519 + <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</name>
  2520 + <type>ValueMapper</type>
  2521 + <description/>
  2522 + <distribute>Y</distribute>
  2523 + <custom_distribution/>
  2524 + <copies>1</copies>
  2525 + <partitioning>
  2526 + <method>none</method>
  2527 + <schema_name/>
  2528 + </partitioning>
  2529 + <field_to_use>bctype</field_to_use>
  2530 + <target_field>bctype_code</target_field>
  2531 + <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
  2532 + <fields>
  2533 + <field>
  2534 + <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
  2535 + <target_value>normal</target_value>
  2536 + </field>
  2537 + <field>
  2538 + <source_value>&#x51fa;&#x573a;</source_value>
  2539 + <target_value>out</target_value>
  2540 + </field>
  2541 + <field>
  2542 + <source_value>&#x8fdb;&#x573a;</source_value>
  2543 + <target_value>in</target_value>
  2544 + </field>
  2545 + <field>
  2546 + <source_value>&#x52a0;&#x6cb9;</source_value>
  2547 + <target_value>oil</target_value>
  2548 + </field>
  2549 + <field>
  2550 + <source_value>&#x4e34;&#x52a0;</source_value>
  2551 + <target_value>temp</target_value>
  2552 + </field>
  2553 + <field>
  2554 + <source_value>&#x533a;&#x95f4;</source_value>
  2555 + <target_value>region</target_value>
  2556 + </field>
  2557 + <field>
  2558 + <source_value>&#x653e;&#x7a7a;</source_value>
  2559 + <target_value>venting</target_value>
  2560 + </field>
  2561 + <field>
  2562 + <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
  2563 + <target_value>major</target_value>
  2564 + </field>
  2565 + </fields>
  2566 + <cluster_schema/>
  2567 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2568 + <xloc>149</xloc>
  2569 + <yloc>491</yloc>
  2570 + <draw>Y</draw>
  2571 + </GUI>
  2572 + </step>
  2573 +
  2574 + <step>
  2575 + <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</name>
  2576 + <type>ValueMapper</type>
  2577 + <description/>
  2578 + <distribute>Y</distribute>
  2579 + <custom_distribution/>
  2580 + <copies>1</copies>
  2581 + <partitioning>
  2582 + <method>none</method>
  2583 + <schema_name/>
  2584 + </partitioning>
  2585 + <field_to_use>bctype</field_to_use>
  2586 + <target_field>bctype_code</target_field>
  2587 + <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
  2588 + <fields>
  2589 + <field>
  2590 + <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
  2591 + <target_value>normal</target_value>
  2592 + </field>
  2593 + <field>
  2594 + <source_value>&#x51fa;&#x573a;</source_value>
  2595 + <target_value>out</target_value>
  2596 + </field>
  2597 + <field>
  2598 + <source_value>&#x8fdb;&#x573a;</source_value>
  2599 + <target_value>in</target_value>
  2600 + </field>
  2601 + <field>
  2602 + <source_value>&#x52a0;&#x6cb9;</source_value>
  2603 + <target_value>oil</target_value>
  2604 + </field>
  2605 + <field>
  2606 + <source_value>&#x4e34;&#x52a0;</source_value>
  2607 + <target_value>temp</target_value>
  2608 + </field>
  2609 + <field>
  2610 + <source_value>&#x533a;&#x95f4;</source_value>
  2611 + <target_value>region</target_value>
  2612 + </field>
  2613 + <field>
  2614 + <source_value>&#x653e;&#x7a7a;</source_value>
  2615 + <target_value>venting</target_value>
  2616 + </field>
  2617 + <field>
  2618 + <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
  2619 + <target_value>major</target_value>
  2620 + </field>
  2621 + </fields>
  2622 + <cluster_schema/>
  2623 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2624 + <xloc>333</xloc>
  2625 + <yloc>681</yloc>
  2626 + <draw>Y</draw>
  2627 + </GUI>
  2628 + </step>
  2629 +
  2630 + <step>
  2631 + <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</name>
  2632 + <type>ValueMapper</type>
  2633 + <description/>
  2634 + <distribute>Y</distribute>
  2635 + <custom_distribution/>
  2636 + <copies>1</copies>
  2637 + <partitioning>
  2638 + <method>none</method>
  2639 + <schema_name/>
  2640 + </partitioning>
  2641 + <field_to_use>bctype</field_to_use>
  2642 + <target_field>bctype_code</target_field>
  2643 + <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
  2644 + <fields>
  2645 + <field>
  2646 + <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
  2647 + <target_value>normal</target_value>
  2648 + </field>
  2649 + <field>
  2650 + <source_value>&#x51fa;&#x573a;</source_value>
  2651 + <target_value>out</target_value>
  2652 + </field>
  2653 + <field>
  2654 + <source_value>&#x8fdb;&#x573a;</source_value>
  2655 + <target_value>in</target_value>
  2656 + </field>
  2657 + <field>
  2658 + <source_value>&#x52a0;&#x6cb9;</source_value>
  2659 + <target_value>oil</target_value>
  2660 + </field>
  2661 + <field>
  2662 + <source_value>&#x4e34;&#x52a0;</source_value>
  2663 + <target_value>temp</target_value>
  2664 + </field>
  2665 + <field>
  2666 + <source_value>&#x533a;&#x95f4;</source_value>
  2667 + <target_value>region</target_value>
  2668 + </field>
  2669 + <field>
  2670 + <source_value>&#x653e;&#x7a7a;</source_value>
  2671 + <target_value>venting</target_value>
  2672 + </field>
  2673 + <field>
  2674 + <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
  2675 + <target_value>major</target_value>
  2676 + </field>
  2677 + </fields>
  2678 + <cluster_schema/>
  2679 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2680 + <xloc>551</xloc>
  2681 + <yloc>928</yloc>
  2682 + <draw>Y</draw>
  2683 + </GUI>
  2684 + </step>
  2685 +
  2686 + <step>
  2687 + <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</name>
  2688 + <type>SelectValues</type>
  2689 + <description/>
  2690 + <distribute>Y</distribute>
  2691 + <custom_distribution/>
  2692 + <copies>1</copies>
  2693 + <partitioning>
  2694 + <method>none</method>
  2695 + <schema_name/>
  2696 + </partitioning>
  2697 + <fields> <select_unspecified>N</select_unspecified>
  2698 + <meta> <name>jhlc</name>
  2699 + <rename>jhlc</rename>
  2700 + <type>Number</type>
  2701 + <length>-2</length>
  2702 + <precision>-2</precision>
  2703 + <conversion_mask/>
  2704 + <date_format_lenient>false</date_format_lenient>
  2705 + <date_format_locale/>
  2706 + <date_format_timezone/>
  2707 + <lenient_string_to_number>false</lenient_string_to_number>
  2708 + <encoding/>
  2709 + <decimal_symbol/>
  2710 + <grouping_symbol/>
  2711 + <currency_symbol/>
  2712 + <storage_type/>
  2713 + </meta> <meta> <name>bcsj</name>
  2714 + <rename>bcsj</rename>
  2715 + <type>Integer</type>
  2716 + <length>-2</length>
  2717 + <precision>-2</precision>
  2718 + <conversion_mask/>
  2719 + <date_format_lenient>false</date_format_lenient>
  2720 + <date_format_locale/>
  2721 + <date_format_timezone/>
  2722 + <lenient_string_to_number>false</lenient_string_to_number>
  2723 + <encoding/>
  2724 + <decimal_symbol/>
  2725 + <grouping_symbol/>
  2726 + <currency_symbol/>
  2727 + <storage_type/>
  2728 + </meta> </fields> <cluster_schema/>
  2729 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2730 + <xloc>146</xloc>
  2731 + <yloc>768</yloc>
  2732 + <draw>Y</draw>
  2733 + </GUI>
  2734 + </step>
  2735 +
  2736 + <step>
  2737 + <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</name>
  2738 + <type>SelectValues</type>
  2739 + <description/>
  2740 + <distribute>Y</distribute>
  2741 + <custom_distribution/>
  2742 + <copies>1</copies>
  2743 + <partitioning>
  2744 + <method>none</method>
  2745 + <schema_name/>
  2746 + </partitioning>
  2747 + <fields> <select_unspecified>N</select_unspecified>
  2748 + <meta> <name>out_mileage</name>
  2749 + <rename>out_mileage</rename>
  2750 + <type>Number</type>
  2751 + <length>-2</length>
  2752 + <precision>-2</precision>
  2753 + <conversion_mask/>
  2754 + <date_format_lenient>false</date_format_lenient>
  2755 + <date_format_locale/>
  2756 + <date_format_timezone/>
  2757 + <lenient_string_to_number>false</lenient_string_to_number>
  2758 + <encoding/>
  2759 + <decimal_symbol/>
  2760 + <grouping_symbol/>
  2761 + <currency_symbol/>
  2762 + <storage_type/>
  2763 + </meta> <meta> <name>out_time</name>
  2764 + <rename>out_time</rename>
  2765 + <type>Integer</type>
  2766 + <length>-2</length>
  2767 + <precision>-2</precision>
  2768 + <conversion_mask/>
  2769 + <date_format_lenient>false</date_format_lenient>
  2770 + <date_format_locale/>
  2771 + <date_format_timezone/>
  2772 + <lenient_string_to_number>false</lenient_string_to_number>
  2773 + <encoding/>
  2774 + <decimal_symbol/>
  2775 + <grouping_symbol/>
  2776 + <currency_symbol/>
  2777 + <storage_type/>
  2778 + </meta> <meta> <name>sxx</name>
  2779 + <rename>sxx</rename>
  2780 + <type>Integer</type>
  2781 + <length>-2</length>
  2782 + <precision>-2</precision>
  2783 + <conversion_mask/>
  2784 + <date_format_lenient>false</date_format_lenient>
  2785 + <date_format_locale/>
  2786 + <date_format_timezone/>
  2787 + <lenient_string_to_number>false</lenient_string_to_number>
  2788 + <encoding/>
  2789 + <decimal_symbol/>
  2790 + <grouping_symbol/>
  2791 + <currency_symbol/>
  2792 + <storage_type/>
  2793 + </meta> </fields> <cluster_schema/>
  2794 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2795 + <xloc>338</xloc>
  2796 + <yloc>1008</yloc>
  2797 + <draw>Y</draw>
  2798 + </GUI>
  2799 + </step>
  2800 +
  2801 + <step>
  2802 + <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</name>
  2803 + <type>SelectValues</type>
  2804 + <description/>
  2805 + <distribute>Y</distribute>
  2806 + <custom_distribution/>
  2807 + <copies>1</copies>
  2808 + <partitioning>
  2809 + <method>none</method>
  2810 + <schema_name/>
  2811 + </partitioning>
  2812 + <fields> <select_unspecified>N</select_unspecified>
  2813 + <meta> <name>parade_mileage</name>
  2814 + <rename>parade_mileage</rename>
  2815 + <type>Number</type>
  2816 + <length>-2</length>
  2817 + <precision>-2</precision>
  2818 + <conversion_mask/>
  2819 + <date_format_lenient>false</date_format_lenient>
  2820 + <date_format_locale/>
  2821 + <date_format_timezone/>
  2822 + <lenient_string_to_number>false</lenient_string_to_number>
  2823 + <encoding/>
  2824 + <decimal_symbol/>
  2825 + <grouping_symbol/>
  2826 + <currency_symbol/>
  2827 + <storage_type/>
  2828 + </meta> <meta> <name>parade_time</name>
  2829 + <rename>parade_time</rename>
  2830 + <type>Integer</type>
  2831 + <length>-2</length>
  2832 + <precision>-2</precision>
  2833 + <conversion_mask/>
  2834 + <date_format_lenient>false</date_format_lenient>
  2835 + <date_format_locale/>
  2836 + <date_format_timezone/>
  2837 + <lenient_string_to_number>false</lenient_string_to_number>
  2838 + <encoding/>
  2839 + <decimal_symbol/>
  2840 + <grouping_symbol/>
  2841 + <currency_symbol/>
  2842 + <storage_type/>
  2843 + </meta> <meta> <name>sxx2</name>
  2844 + <rename>sxx2</rename>
  2845 + <type>Integer</type>
  2846 + <length>-2</length>
  2847 + <precision>-2</precision>
  2848 + <conversion_mask/>
  2849 + <date_format_lenient>false</date_format_lenient>
  2850 + <date_format_locale/>
  2851 + <date_format_timezone/>
  2852 + <lenient_string_to_number>false</lenient_string_to_number>
  2853 + <encoding/>
  2854 + <decimal_symbol/>
  2855 + <grouping_symbol/>
  2856 + <currency_symbol/>
  2857 + <storage_type/>
  2858 + </meta> </fields> <cluster_schema/>
  2859 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2860 + <xloc>847</xloc>
  2861 + <yloc>1003</yloc>
  2862 + <draw>Y</draw>
  2863 + </GUI>
  2864 + </step>
  2865 +
  2866 + <step>
  2867 + <name>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</name>
  2868 + <type>ValueMapper</type>
  2869 + <description/>
  2870 + <distribute>Y</distribute>
  2871 + <custom_distribution/>
  2872 + <copies>1</copies>
  2873 + <partitioning>
  2874 + <method>none</method>
  2875 + <schema_name/>
  2876 + </partitioning>
  2877 + <field_to_use>qdzname</field_to_use>
  2878 + <target_field>bctype</target_field>
  2879 + <non_match_default>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</non_match_default>
  2880 + <fields>
  2881 + <field>
  2882 + <source_value>&#x51fa;&#x573a;</source_value>
  2883 + <target_value>&#x51fa;&#x573a;</target_value>
  2884 + </field>
  2885 + <field>
  2886 + <source_value>&#x8fdb;&#x573a;</source_value>
  2887 + <target_value>&#x8fdb;&#x573a;</target_value>
  2888 + </field>
  2889 + </fields>
  2890 + <cluster_schema/>
  2891 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2892 + <xloc>1014</xloc>
  2893 + <yloc>401</yloc>
  2894 + <draw>Y</draw>
  2895 + </GUI>
  2896 + </step>
  2897 +
  2898 + <step>
  2899 + <name>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</name>
  2900 + <type>JoinRows</type>
  2901 + <description/>
  2902 + <distribute>Y</distribute>
  2903 + <custom_distribution/>
  2904 + <copies>1</copies>
  2905 + <partitioning>
  2906 + <method>none</method>
  2907 + <schema_name/>
  2908 + </partitioning>
  2909 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  2910 + <prefix>out</prefix>
  2911 + <cache_size>500</cache_size>
  2912 + <main/>
  2913 + <compare>
  2914 +<condition>
  2915 + <negated>N</negated>
  2916 + <leftvalue/>
  2917 + <function>&#x3d;</function>
  2918 + <rightvalue/>
  2919 + </condition>
  2920 + </compare>
  2921 + <cluster_schema/>
  2922 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2923 + <xloc>310</xloc>
  2924 + <yloc>133</yloc>
  2925 + <draw>Y</draw>
  2926 + </GUI>
  2927 + </step>
  2928 +
  2929 + <step>
  2930 + <name>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</name>
  2931 + <type>FilterRows</type>
  2932 + <description/>
  2933 + <distribute>Y</distribute>
  2934 + <custom_distribution/>
  2935 + <copies>1</copies>
  2936 + <partitioning>
  2937 + <method>none</method>
  2938 + <schema_name/>
  2939 + </partitioning>
  2940 +<send_true_to/>
  2941 +<send_false_to/>
  2942 + <compare>
  2943 +<condition>
  2944 + <negated>N</negated>
  2945 + <leftvalue>sendtime</leftvalue>
  2946 + <function>IS NOT NULL</function>
  2947 + <rightvalue/>
  2948 + </condition>
  2949 + </compare>
  2950 + <cluster_schema/>
  2951 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2952 + <xloc>571</xloc>
  2953 + <yloc>44</yloc>
  2954 + <draw>Y</draw>
  2955 + </GUI>
  2956 + </step>
  2957 +
  2958 + <step>
  2959 + <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>
  2960 + <type>ScriptValueMod</type>
  2961 + <description/>
  2962 + <distribute>Y</distribute>
  2963 + <custom_distribution/>
  2964 + <copies>1</copies>
  2965 + <partitioning>
  2966 + <method>none</method>
  2967 + <schema_name/>
  2968 + </partitioning>
  2969 + <compatible>N</compatible>
  2970 + <optimizationLevel>9</optimizationLevel>
  2971 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  2972 + <jsScript_name>Script 1</jsScript_name>
  2973 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var cc_groups &#x3d; qdzgroups.split&#x28;&#x22;,&#x22;&#x29;&#x3b; &#x2f;&#x2f; &#x6240;&#x6709;&#x73ed;&#x6b21;&#x8d77;&#x70b9;&#x7ad9;&#x6570;&#x7ec4;&#xa;var qdzname_calcu &#x3d; cc_groups&#x5b;gno - 2&#x5d;&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;&#x662f;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x8fd9;&#x91cc;&#x53ea;&#x6709;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;&#xff0c;&#x8fd8;&#x9700;&#x8981;&#x8ba1;&#x7b97;&#xa;var startZdtype_calcu &#x3d; &#x27;B&#x27;&#x3b;&#xa;var endZdtype_calcu &#x3d; &#x27;E&#x27;&#x3b;&#xa;&#xa;var destory &#x3d; 0&#x3b; &#x2f;&#x2f; &#x672a;&#x64a4;&#x9500;flag</jsScript_script>
  2974 + </jsScript> </jsScripts> <fields> <field> <name>qdzname_calcu</name>
  2975 + <rename>qdzname_calcu</rename>
  2976 + <type>String</type>
  2977 + <length>-1</length>
  2978 + <precision>-1</precision>
  2979 + <replace>N</replace>
  2980 + </field> <field> <name>startZdtype_calcu</name>
  2981 + <rename>startZdtype_calcu</rename>
  2982 + <type>String</type>
  2983 + <length>-1</length>
  2984 + <precision>-1</precision>
  2985 + <replace>N</replace>
  2986 + </field> <field> <name>endZdtype_calcu</name>
  2987 + <rename>endZdtype_calcu</rename>
  2988 + <type>String</type>
  2989 + <length>-1</length>
  2990 + <precision>-1</precision>
  2991 + <replace>N</replace>
  2992 + </field> <field> <name>destory</name>
  2993 + <rename>destory</rename>
  2994 + <type>Integer</type>
  2995 + <length>-1</length>
  2996 + <precision>-1</precision>
  2997 + <replace>N</replace>
  2998 + </field> </fields> <cluster_schema/>
  2999 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  3000 + <xloc>754</xloc>
  3001 + <yloc>610</yloc>
  3002 + <draw>Y</draw>
  3003 + </GUI>
  3004 + </step>
  3005 +
  3006 + <step>
  3007 + <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
  3008 + <type>Dummy</type>
  3009 + <description/>
  3010 + <distribute>Y</distribute>
  3011 + <custom_distribution/>
  3012 + <copies>1</copies>
  3013 + <partitioning>
  3014 + <method>none</method>
  3015 + <schema_name/>
  3016 + </partitioning>
  3017 + <cluster_schema/>
  3018 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  3019 + <xloc>997</xloc>
  3020 + <yloc>606</yloc>
  3021 + <draw>Y</draw>
  3022 + </GUI>
  3023 + </step>
  3024 +
  3025 + <step_error_handling>
  3026 + <error>
  3027 + <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</source_step>
  3028 + <target_step/>
  3029 + <is_enabled>Y</is_enabled>
  3030 + <nr_valuename>c1</nr_valuename>
  3031 + <descriptions_valuename>c2</descriptions_valuename>
  3032 + <fields_valuename>c3</fields_valuename>
  3033 + <codes_valuename>c4</codes_valuename>
  3034 + <max_errors/>
  3035 + <max_pct_errors/>
  3036 + <min_pct_rows/>
  3037 + </error>
  3038 + </step_error_handling>
  3039 + <slave-step-copy-partition-distribution>
  3040 +</slave-step-copy-partition-distribution>
  3041 + <slave_transformation>N</slave_transformation>
  3042 +
  3043 +</transformation>
... ...
src/main/resources/datatools/ktrs/ttinfodetailDataInput2.ktr
1   -<?xml version="1.0" encoding="UTF-8"?>
2   -<transformation>
3   - <info>
4   - <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x5bfc;&#x5165;2</name>
5   - <description>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>
6   - <extended_description>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#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   - </parameters>
13   - <log>
14   -<trans-log-table><connection/>
15   -<schema/>
16   -<table/>
17   -<size_limit_lines/>
18   -<interval/>
19   -<timeout_days/>
20   -<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>
21   -<perf-log-table><connection/>
22   -<schema/>
23   -<table/>
24   -<interval/>
25   -<timeout_days/>
26   -<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>
27   -<channel-log-table><connection/>
28   -<schema/>
29   -<table/>
30   -<timeout_days/>
31   -<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>
32   -<step-log-table><connection/>
33   -<schema/>
34   -<table/>
35   -<timeout_days/>
36   -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>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>
37   -<metrics-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>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>
42   - </log>
43   - <maxdate>
44   - <connection/>
45   - <table/>
46   - <field/>
47   - <offset>0.0</offset>
48   - <maxdiff>0.0</maxdiff>
49   - </maxdate>
50   - <size_rowset>10000</size_rowset>
51   - <sleep_time_empty>50</sleep_time_empty>
52   - <sleep_time_full>50</sleep_time_full>
53   - <unique_connections>N</unique_connections>
54   - <feedback_shown>Y</feedback_shown>
55   - <feedback_size>50000</feedback_size>
56   - <using_thread_priorities>Y</using_thread_priorities>
57   - <shared_objects_file/>
58   - <capture_step_performance>N</capture_step_performance>
59   - <step_performance_capturing_delay>1000</step_performance_capturing_delay>
60   - <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
61   - <dependencies>
62   - </dependencies>
63   - <partitionschemas>
64   - </partitionschemas>
65   - <slaveservers>
66   - </slaveservers>
67   - <clusterschemas>
68   - </clusterschemas>
69   - <created_user>-</created_user>
70   - <created_date>2016&#x2f;06&#x2f;30 12&#x3a;21&#x3a;57.536</created_date>
71   - <modified_user>-</modified_user>
72   - <modified_date>2016&#x2f;06&#x2f;30 12&#x3a;21&#x3a;57.536</modified_date>
73   - <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
74   - <is_key_private>N</is_key_private>
75   - </info>
76   - <notepads>
77   - <notepad>
78   - <note>&#x5b57;&#x5178;&#x8868;&#x5bf9;&#x5e94;&#xff08;&#x4ee5;&#x540e;&#x76f4;&#x63a5;&#x67e5;&#x627e;&#x8868; bsth_c_sys_dictionary&#xff09;&#xa;&#x7c7b;&#x578b; &#x4ee3;&#x7801; &#x540d;&#x79f0;&#xa;LineTrend 0 &#x4e0a;&#x884c;&#xa;LineTrend 1 &#x4e0b;&#x884c;&#xa;ScheduleType normal &#x6b63;&#x5e38;&#x73ed;&#x6b21;&#xa;ScheduleType out &#x51fa;&#x573a;&#xa;ScheduleType in &#x8fdb;&#x573a;&#xa;ScheduleType temp &#x4e34;&#x52a0;&#xa;ScheduleType region &#x533a;&#x95f4;&#xa;ScheduleType venting &#x653e;&#x7a7a;&#xa;ScheduleType major &#x653e;&#x5927;&#x7ad9;</note>
79   - <xloc>606</xloc>
80   - <yloc>129</yloc>
81   - <width>332</width>
82   - <heigth>186</heigth>
83   - <fontname>YaHei Consolas Hybrid</fontname>
84   - <fontsize>12</fontsize>
85   - <fontbold>N</fontbold>
86   - <fontitalic>N</fontitalic>
87   - <fontcolorred>0</fontcolorred>
88   - <fontcolorgreen>0</fontcolorgreen>
89   - <fontcolorblue>0</fontcolorblue>
90   - <backgroundcolorred>255</backgroundcolorred>
91   - <backgroundcolorgreen>205</backgroundcolorgreen>
92   - <backgroundcolorblue>112</backgroundcolorblue>
93   - <bordercolorred>100</bordercolorred>
94   - <bordercolorgreen>100</bordercolorgreen>
95   - <bordercolorblue>100</bordercolorblue>
96   - <drawshadow>Y</drawshadow>
97   - </notepad>
98   - <notepad>
99   - <note>&#x56e0;&#x4e3a;&#x65f6;&#x523b;&#x8868;&#x8f93;&#x5165;&#x683c;&#x5f0f;&#x4e0d;&#x786e;&#x5b9a;&#x6027;&#xff0c;&#x4e3b;&#x8981;&#x56e0;&#x4e3a;&#x8868;&#x7ed3;&#x6784;&#x662f;&#x53cd;&#x8303;&#x5f0f;&#x5316;&#x7684;&#xff0c;&#xa;&#x6240;&#x4ee5;&#x9700;&#x8981;&#x5916;&#x90e8;&#x52a8;&#x6001;&#x6307;&#x5b9a;&#x613f;&#x6570;&#x636e;&#xff0c;&#x5934;&#x4e09;&#x4e2a;step&#x52a8;&#x6001;&#x6307;&#x5b9a;&#x613f;&#x6570;&#x636e;&#xa;&#xa;</note>
100   - <xloc>79</xloc>
101   - <yloc>206</yloc>
102   - <width>346</width>
103   - <heigth>74</heigth>
104   - <fontname>YaHei Consolas Hybrid</fontname>
105   - <fontsize>12</fontsize>
106   - <fontbold>N</fontbold>
107   - <fontitalic>N</fontitalic>
108   - <fontcolorred>0</fontcolorred>
109   - <fontcolorgreen>0</fontcolorgreen>
110   - <fontcolorblue>0</fontcolorblue>
111   - <backgroundcolorred>255</backgroundcolorred>
112   - <backgroundcolorgreen>205</backgroundcolorgreen>
113   - <backgroundcolorblue>112</backgroundcolorblue>
114   - <bordercolorred>100</bordercolorred>
115   - <bordercolorgreen>100</bordercolorgreen>
116   - <bordercolorblue>100</bordercolorblue>
117   - <drawshadow>Y</drawshadow>
118   - </notepad>
119   - <notepad>
120   - <note>&#x8fd9;&#x91cc;&#x6709;&#x4e9b;&#x95ee;&#x9898;&#xa;&#x5728;window2012&#x7684;&#x73af;&#x5883;&#x4e0b;&#xff0c;&#xa;MySql&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x4e2d;&#x5982;&#x679c;&#x8fd4;&#x56de;&#x4e2d;&#x6587;&#x5185;&#x5bb9;&#x7684;&#x5b57;&#x6bb5;&#xff0c;&#x8fd9;&#x4e2a;&#x5185;&#x5bb9;&#x4e71;&#x7801;&#xa;&#x89e3;&#x51b3;&#x529e;&#x6cd5;&#xff0c;&#x5c31;&#x662f;&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x5168;&#x90e8;&#x7f13;&#x5b58;&#xff0c;&#x5c31;&#x4e0d;&#x4e71;&#x7801;&#xa;linux&#x73af;&#x5883;&#x4e0b;&#x6ca1;&#x95ee;&#x9898;</note>
121   - <xloc>721</xloc>
122   - <yloc>762</yloc>
123   - <width>333</width>
124   - <heigth>90</heigth>
125   - <fontname>YaHei Consolas Hybrid</fontname>
126   - <fontsize>12</fontsize>
127   - <fontbold>N</fontbold>
128   - <fontitalic>N</fontitalic>
129   - <fontcolorred>0</fontcolorred>
130   - <fontcolorgreen>0</fontcolorgreen>
131   - <fontcolorblue>0</fontcolorblue>
132   - <backgroundcolorred>255</backgroundcolorred>
133   - <backgroundcolorgreen>205</backgroundcolorgreen>
134   - <backgroundcolorblue>112</backgroundcolorblue>
135   - <bordercolorred>100</bordercolorred>
136   - <bordercolorgreen>100</bordercolorgreen>
137   - <bordercolorblue>100</bordercolorblue>
138   - <drawshadow>Y</drawshadow>
139   - </notepad>
140   - <notepad>
141   - <note>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#xff0c;&#x65b9;&#x5411;&#x6709;&#x65f6;&#x786e;&#x5b9a;&#x4e0d;&#x51c6;&#xff0c;&#xa;&#x7a7a;&#x7684;&#x60c5;&#x51b5;&#x4e0b;&#x8bbe;&#x5b9a;&#x4e3a;0&#xff08;&#x4e0a;&#x884c;&#xff09;</note>
142   - <xloc>104</xloc>
143   - <yloc>939</yloc>
144   - <width>178</width>
145   - <heigth>42</heigth>
146   - <fontname>YaHei Consolas Hybrid</fontname>
147   - <fontsize>12</fontsize>
148   - <fontbold>N</fontbold>
149   - <fontitalic>N</fontitalic>
150   - <fontcolorred>0</fontcolorred>
151   - <fontcolorgreen>0</fontcolorgreen>
152   - <fontcolorblue>0</fontcolorblue>
153   - <backgroundcolorred>255</backgroundcolorred>
154   - <backgroundcolorgreen>205</backgroundcolorgreen>
155   - <backgroundcolorblue>112</backgroundcolorblue>
156   - <bordercolorred>100</bordercolorred>
157   - <bordercolorgreen>100</bordercolorgreen>
158   - <bordercolorblue>100</bordercolorblue>
159   - <drawshadow>Y</drawshadow>
160   - </notepad>
161   - <notepad>
162   - <note>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#xff0c;&#x65b9;&#x5411;&#x6709;&#x65f6;&#x786e;&#x5b9a;&#x4e0d;&#x51c6;&#xff0c;&#xa;&#x7a7a;&#x7684;&#x60c5;&#x51b5;&#x4e0b;&#x8bbe;&#x5b9a;&#x4e3a;0&#xff08;&#x4e0a;&#x884c;&#xff09;</note>
163   - <xloc>578</xloc>
164   - <yloc>1084</yloc>
165   - <width>178</width>
166   - <heigth>42</heigth>
167   - <fontname>YaHei Consolas Hybrid</fontname>
168   - <fontsize>12</fontsize>
169   - <fontbold>N</fontbold>
170   - <fontitalic>N</fontitalic>
171   - <fontcolorred>0</fontcolorred>
172   - <fontcolorgreen>0</fontcolorgreen>
173   - <fontcolorblue>0</fontcolorblue>
174   - <backgroundcolorred>255</backgroundcolorred>
175   - <backgroundcolorgreen>205</backgroundcolorgreen>
176   - <backgroundcolorblue>112</backgroundcolorblue>
177   - <bordercolorred>100</bordercolorred>
178   - <bordercolorgreen>100</bordercolorgreen>
179   - <bordercolorblue>100</bordercolorblue>
180   - <drawshadow>Y</drawshadow>
181   - </notepad>
182   - </notepads>
183   - <connection>
184   - <name>192.168.168.1_jwgl_dw</name>
185   - <server>192.168.168.1</server>
186   - <type>ORACLE</type>
187   - <access>Native</access>
188   - <database>orcl</database>
189   - <port>1521</port>
190   - <username>jwgl_dw</username>
191   - <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password>
192   - <servername/>
193   - <data_tablespace/>
194   - <index_tablespace/>
195   - <attributes>
196   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
197   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
198   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
199   - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
200   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
201   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
202   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
203   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
204   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
205   - </attributes>
206   - </connection>
207   - <connection>
208   - <name>bus_control_variable</name>
209   - <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
210   - <type>MYSQL</type>
211   - <access>Native</access>
212   - <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
213   - <port>3306</port>
214   - <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
215   - <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
216   - <servername/>
217   - <data_tablespace/>
218   - <index_tablespace/>
219   - <attributes>
220   - <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
221   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
222   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
223   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
224   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
225   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
226   - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
227   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
228   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
229   - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
230   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
231   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
232   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
233   - </attributes>
234   - </connection>
235   - <connection>
236   - <name>bus_control_&#x516c;&#x53f8;_201</name>
237   - <server>localhost</server>
238   - <type>MYSQL</type>
239   - <access>Native</access>
240   - <database>control</database>
241   - <port>3306</port>
242   - <username>root</username>
243   - <password>Encrypted </password>
244   - <servername/>
245   - <data_tablespace/>
246   - <index_tablespace/>
247   - <attributes>
248   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
249   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
250   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
251   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
252   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
253   - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
254   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
255   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
256   - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
257   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
258   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
259   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
260   - </attributes>
261   - </connection>
262   - <connection>
263   - <name>bus_control_&#x672c;&#x673a;</name>
264   - <server>localhost</server>
265   - <type>MYSQL</type>
266   - <access>Native</access>
267   - <database>control</database>
268   - <port>3306</port>
269   - <username>root</username>
270   - <password>Encrypted </password>
271   - <servername/>
272   - <data_tablespace/>
273   - <index_tablespace/>
274   - <attributes>
275   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
276   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
277   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
278   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
279   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
280   - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
281   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
282   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
283   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
284   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
285   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
286   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
287   - </attributes>
288   - </connection>
289   - <connection>
290   - <name>xlab_mysql_youle</name>
291   - <server>101.231.124.8</server>
292   - <type>MYSQL</type>
293   - <access>Native</access>
294   - <database>xlab_youle</database>
295   - <port>45687</port>
296   - <username>xlab-youle</username>
297   - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
298   - <servername/>
299   - <data_tablespace/>
300   - <index_tablespace/>
301   - <attributes>
302   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
303   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
304   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
305   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
306   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
307   - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
308   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
309   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
310   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
311   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
312   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
313   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
314   - </attributes>
315   - </connection>
316   - <connection>
317   - <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
318   - <server>localhost</server>
319   - <type>MYSQL</type>
320   - <access>Native</access>
321   - <database>xlab_youle</database>
322   - <port>3306</port>
323   - <username>root</username>
324   - <password>Encrypted </password>
325   - <servername/>
326   - <data_tablespace/>
327   - <index_tablespace/>
328   - <attributes>
329   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
330   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
331   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
332   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
333   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
334   - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
335   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
336   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
337   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
338   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
339   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
340   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
341   - </attributes>
342   - </connection>
343   - <connection>
344   - <name>xlab_youle</name>
345   - <server/>
346   - <type>MYSQL</type>
347   - <access>JNDI</access>
348   - <database>xlab_youle</database>
349   - <port>1521</port>
350   - <username/>
351   - <password>Encrypted </password>
352   - <servername/>
353   - <data_tablespace/>
354   - <index_tablespace/>
355   - <attributes>
356   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
357   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
358   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
359   - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
360   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
361   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
362   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
363   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
364   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
365   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
366   - </attributes>
367   - </connection>
368   - <order>
369   - <hop> <from>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</from><to>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</to><enabled>Y</enabled> </hop>
370   - <hop> <from>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</from><to>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</to><enabled>Y</enabled> </hop>
371   - <hop> <from>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</from><to>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</to><enabled>Y</enabled> </hop>
372   - <hop> <from>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</from><to>&#x5904;&#x7406;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
373   - <hop> <from>&#x5904;&#x7406;&#x6570;&#x636e;</from><to>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</to><enabled>Y</enabled> </hop>
374   - <hop> <from>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</from><to>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
375   - <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</from><to>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
376   - <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</to><enabled>Y</enabled> </hop>
377   - <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</to><enabled>Y</enabled> </hop>
378   - <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</to><enabled>Y</enabled> </hop>
379   - <hop> <from>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</to><enabled>Y</enabled> </hop>
380   - <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</from><to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</to><enabled>Y</enabled> </hop>
381   - <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</from><to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
382   - <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</from><to>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
383   - <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</from><to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
384   - <hop> <from>&#x67e5;&#x627e;&#x6240;&#x6709;&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
385   - <hop> <from>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</to><enabled>Y</enabled> </hop>
386   - <hop> <from>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
387   - <hop> <from>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>
388   - <hop> <from>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
389   - <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</from><to>&#x67e5;&#x627e;&#x6240;&#x6709;&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
390   - <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
391   - <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
392   - <hop> <from>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</from><to>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</to><enabled>Y</enabled> </hop>
393   - <hop> <from>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</from><to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</to><enabled>Y</enabled> </hop>
394   - <hop> <from>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</to><enabled>Y</enabled> </hop>
395   - <hop> <from>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</from><to>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>
396   - <hop> <from>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</from><to>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>
397   - <hop> <from>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</to><enabled>Y</enabled> </hop>
398   - <hop> <from>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</to><enabled>Y</enabled> </hop>
399   - <hop> <from>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</from><to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>
400   - <hop> <from>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</to><enabled>Y</enabled> </hop>
401   - <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</to><enabled>Y</enabled> </hop>
402   - <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</to><enabled>Y</enabled> </hop>
403   - <hop> <from>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
404   - <hop> <from>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</from><to>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</to><enabled>Y</enabled> </hop>
405   - <hop> <from>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</from><to>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</to><enabled>Y</enabled> </hop>
406   - <hop> <from>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
407   - <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</to><enabled>Y</enabled> </hop>
408   - <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>
409   - <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</to><enabled>Y</enabled> </hop>
410   - <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
411   - <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
412   - <hop> <from>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</to><enabled>Y</enabled> </hop>
413   - <hop> <from>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</to><enabled>Y</enabled> </hop>
414   - <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 2</to><enabled>Y</enabled> </hop>
415   - <hop> <from>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</to><enabled>Y</enabled> </hop>
416   - <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</to><enabled>Y</enabled> </hop>
417   - <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 3</to><enabled>Y</enabled> </hop>
418   - </order>
419   - <step>
420   - <name>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</name>
421   - <type>IfNull</type>
422   - <description/>
423   - <distribute>Y</distribute>
424   - <custom_distribution/>
425   - <copies>1</copies>
426   - <partitioning>
427   - <method>none</method>
428   - <schema_name/>
429   - </partitioning>
430   - <replaceAllByValue/>
431   - <replaceAllMask/>
432   - <selectFields>Y</selectFields>
433   - <selectValuesType>N</selectValuesType>
434   - <setEmptyStringAll>N</setEmptyStringAll>
435   - <valuetypes>
436   - </valuetypes>
437   - <fields>
438   - <field>
439   - <name>sxx</name>
440   - <value>0</value>
441   - <mask/>
442   - <set_empty_string>N</set_empty_string>
443   - </field>
444   - </fields>
445   - <cluster_schema/>
446   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
447   - <xloc>335</xloc>
448   - <yloc>938</yloc>
449   - <draw>Y</draw>
450   - </GUI>
451   - </step>
452   -
453   - <step>
454   - <name>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</name>
455   - <type>IfNull</type>
456   - <description/>
457   - <distribute>Y</distribute>
458   - <custom_distribution/>
459   - <copies>1</copies>
460   - <partitioning>
461   - <method>none</method>
462   - <schema_name/>
463   - </partitioning>
464   - <replaceAllByValue/>
465   - <replaceAllMask/>
466   - <selectFields>Y</selectFields>
467   - <selectValuesType>N</selectValuesType>
468   - <setEmptyStringAll>N</setEmptyStringAll>
469   - <valuetypes>
470   - </valuetypes>
471   - <fields>
472   - <field>
473   - <name>sxx2</name>
474   - <value>0</value>
475   - <mask/>
476   - <set_empty_string>N</set_empty_string>
477   - </field>
478   - </fields>
479   - <cluster_schema/>
480   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
481   - <xloc>804</xloc>
482   - <yloc>1081</yloc>
483   - <draw>Y</draw>
484   - </GUI>
485   - </step>
486   -
487   - <step>
488   - <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</name>
489   - <type>ValueMapper</type>
490   - <description/>
491   - <distribute>Y</distribute>
492   - <custom_distribution/>
493   - <copies>1</copies>
494   - <partitioning>
495   - <method>none</method>
496   - <schema_name/>
497   - </partitioning>
498   - <field_to_use>sxx</field_to_use>
499   - <target_field>sxx_desc</target_field>
500   - <non_match_default/>
501   - <fields>
502   - <field>
503   - <source_value>0</source_value>
504   - <target_value>&#x4e0a;&#x884c;</target_value>
505   - </field>
506   - <field>
507   - <source_value>1</source_value>
508   - <target_value>&#x4e0b;&#x884c;</target_value>
509   - </field>
510   - </fields>
511   - <cluster_schema/>
512   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
513   - <xloc>147</xloc>
514   - <yloc>403</yloc>
515   - <draw>Y</draw>
516   - </GUI>
517   - </step>
518   -
519   - <step>
520   - <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</name>
521   - <type>ValueMapper</type>
522   - <description/>
523   - <distribute>Y</distribute>
524   - <custom_distribution/>
525   - <copies>1</copies>
526   - <partitioning>
527   - <method>none</method>
528   - <schema_name/>
529   - </partitioning>
530   - <field_to_use>sxx</field_to_use>
531   - <target_field>sxx_desc</target_field>
532   - <non_match_default/>
533   - <fields>
534   - <field>
535   - <source_value>0</source_value>
536   - <target_value>&#x4e0a;&#x884c;</target_value>
537   - </field>
538   - <field>
539   - <source_value>1</source_value>
540   - <target_value>&#x4e0b;&#x884c;</target_value>
541   - </field>
542   - </fields>
543   - <cluster_schema/>
544   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
545   - <xloc>331</xloc>
546   - <yloc>598</yloc>
547   - <draw>Y</draw>
548   - </GUI>
549   - </step>
550   -
551   - <step>
552   - <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</name>
553   - <type>ValueMapper</type>
554   - <description/>
555   - <distribute>Y</distribute>
556   - <custom_distribution/>
557   - <copies>1</copies>
558   - <partitioning>
559   - <method>none</method>
560   - <schema_name/>
561   - </partitioning>
562   - <field_to_use>sxx</field_to_use>
563   - <target_field>sxx_desc</target_field>
564   - <non_match_default/>
565   - <fields>
566   - <field>
567   - <source_value>0</source_value>
568   - <target_value>&#x4e0a;&#x884c;</target_value>
569   - </field>
570   - <field>
571   - <source_value>1</source_value>
572   - <target_value>&#x4e0b;&#x884c;</target_value>
573   - </field>
574   - </fields>
575   - <cluster_schema/>
576   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
577   - <xloc>553</xloc>
578   - <yloc>859</yloc>
579   - <draw>Y</draw>
580   - </GUI>
581   - </step>
582   -
583   - <step>
584   - <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>
585   - <type>ScriptValueMod</type>
586   - <description/>
587   - <distribute>Y</distribute>
588   - <custom_distribution/>
589   - <copies>1</copies>
590   - <partitioning>
591   - <method>none</method>
592   - <schema_name/>
593   - </partitioning>
594   - <compatible>N</compatible>
595   - <optimizationLevel>9</optimizationLevel>
596   - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
597   - <jsScript_name>Script 1</jsScript_name>
598   - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var cc_groups &#x3d; qdzgroups.split&#x28;&#x22;,&#x22;&#x29;&#x3b; &#x2f;&#x2f; &#x6240;&#x6709;&#x73ed;&#x6b21;&#x8d77;&#x70b9;&#x7ad9;&#x6570;&#x7ec4;&#xa;var zdzname &#x3d; cc_groups&#x5b;gno&#x5d;&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#x662f;&#x4e0b;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x59cb;&#x7ad9;&#xa;var endZdtype &#x3d; &#x27;B&#x27;&#x3b;&#xa;&#x2f;&#x2f; var endZdtype &#x3d; &#x27;E&#x27;&#x3b;&#xa;&#xa;var destory &#x3d; 0&#x3b; &#x2f;&#x2f; &#x672a;&#x64a4;&#x9500;flag</jsScript_script>
599   - </jsScript> </jsScripts> <fields> <field> <name>zdzname</name>
600   - <rename>zdzname</rename>
601   - <type>String</type>
602   - <length>-1</length>
603   - <precision>-1</precision>
604   - <replace>N</replace>
605   - </field> <field> <name>endZdtype</name>
606   - <rename>endZdtype</rename>
607   - <type>String</type>
608   - <length>-1</length>
609   - <precision>-1</precision>
610   - <replace>N</replace>
611   - </field> <field> <name>destory</name>
612   - <rename>destory</rename>
613   - <type>Integer</type>
614   - <length>-1</length>
615   - <precision>-1</precision>
616   - <replace>N</replace>
617   - </field> </fields> <cluster_schema/>
618   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
619   - <xloc>575</xloc>
620   - <yloc>502</yloc>
621   - <draw>Y</draw>
622   - </GUI>
623   - </step>
624   -
625   - <step>
626   - <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
627   - <type>Dummy</type>
628   - <description/>
629   - <distribute>Y</distribute>
630   - <custom_distribution/>
631   - <copies>1</copies>
632   - <partitioning>
633   - <method>none</method>
634   - <schema_name/>
635   - </partitioning>
636   - <cluster_schema/>
637   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
638   - <xloc>869</xloc>
639   - <yloc>504</yloc>
640   - <draw>Y</draw>
641   - </GUI>
642   - </step>
643   -
644   - <step>
645   - <name>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</name>
646   - <type>GroupBy</type>
647   - <description/>
648   - <distribute>Y</distribute>
649   - <custom_distribution/>
650   - <copies>1</copies>
651   - <partitioning>
652   - <method>none</method>
653   - <schema_name/>
654   - </partitioning>
655   - <all_rows>Y</all_rows>
656   - <ignore_aggregate>N</ignore_aggregate>
657   - <field_ignore/>
658   - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
659   - <prefix>grp</prefix>
660   - <add_linenr>Y</add_linenr>
661   - <linenr_fieldname>gno</linenr_fieldname>
662   - <give_back_row>N</give_back_row>
663   - <group>
664   - <field>
665   - <name>lp</name>
666   - </field>
667   - </group>
668   - <fields>
669   - <field>
670   - <aggregate>qdzgroups</aggregate>
671   - <subject>qdzname</subject>
672   - <type>CONCAT_STRING</type>
673   - <valuefield>,</valuefield>
674   - </field>
675   - </fields>
676   - <cluster_schema/>
677   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
678   - <xloc>892</xloc>
679   - <yloc>44</yloc>
680   - <draw>Y</draw>
681   - </GUI>
682   - </step>
683   -
684   - <step>
685   - <name>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
686   - <type>ScriptValueMod</type>
687   - <description/>
688   - <distribute>Y</distribute>
689   - <custom_distribution/>
690   - <copies>1</copies>
691   - <partitioning>
692   - <method>none</method>
693   - <schema_name/>
694   - </partitioning>
695   - <compatible>N</compatible>
696   - <optimizationLevel>9</optimizationLevel>
697   - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
698   - <jsScript_name>Script 1</jsScript_name>
699   - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var jhlc&#x3b; &#x2f;&#x2f; &#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var bcsj&#x3b; &#x2f;&#x2f; &#x73ed;&#x6b21;&#x65f6;&#x95f4;&#xa;&#xa;&#x2f;&#x2f; &#x65f6;&#x95f4;&#x8303;&#x56f4;&#x6b63;&#x5219;&#x8868;&#x8fbe;&#x5f0f;&#xa;var timeRex &#x3d; &#x2f;&#x5e;&#x28;&#x5b;01&#x5d;&#x3f;&#x5b;0-9&#x5d;&#x7c;2&#x5b;0-3&#x5d;&#x29;&#x3a;&#x5b;0-5&#x5d;&#x5b;0-9&#x5d;&#x24;&#x2f;&#x3b;&#xa;&#x2f;&#x2f; &#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x8f6c;&#x6362;&#x6210;&#x65e5;&#x671f;&#xa;var fcsj_hour &#x3d; str2num&#x28;sendtime_calcu.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa;var fcsj_min &#x3d; str2num&#x28;sendtime_calcu.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa;var fcsj_date &#x3d; new Date&#x28;2000,1,1,fcsj_hour,fcsj_min,0&#x29;&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x5224;&#x5b9a;&#x662f;&#x5426;&#x65e9;&#x9ad8;&#x5cf0;&#xa;var isZgf &#x3d; false&#x3b;&#xa;if &#x28;timeRex.test&#x28;early_start_time&#x29; &#x26;&#x26; timeRex.test&#x28;early_end_time&#x29; &#x26;&#x26; early_up_time &#x21;&#x3d; null &#x26;&#x26; early_down_time &#x21;&#x3d; null&#x29; &#x7b;&#xa; var early_s_hour &#x3d; str2num&#x28;early_start_time.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var early_s_min &#x3d; str2num&#x28;early_start_time.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var early_s_date &#x3d; new Date&#x28;2000,1,1,early_s_hour,early_s_min,0&#x29;&#x3b;&#xa;&#xa; var early_e_hour &#x3d; str2num&#x28;early_end_time.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var early_e_min &#x3d; str2num&#x28;early_end_time.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var early_e_date &#x3d; new Date&#x28;2000,1,1,early_e_hour,early_e_min,0&#x29;&#x3b;&#xa;&#xa; if &#x28;fcsj_date &#x3e;&#x3d; early_s_date &#x26;&#x26; fcsj_date &#x3c;&#x3d; early_e_date&#x29; &#x7b;&#xa; isZgf &#x3d; true&#x3b;&#xa; &#x7d;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x5224;&#x5b9a;&#x662f;&#x5426;&#x665a;&#x9ad8;&#x5cf0;&#xa;var isWgf &#x3d; false&#x3b;&#xa;if &#x28;timeRex.test&#x28;late_start_time&#x29; &#x26;&#x26; timeRex.test&#x28;late_end_time&#x29; &#x26;&#x26; late_up_time &#x21;&#x3d; null &#x26;&#x26; late_down_time &#x21;&#x3d; null&#x29; &#x7b;&#xa; var late_s_hour &#x3d; str2num&#x28;late_start_time.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var late_s_min &#x3d; str2num&#x28;late_start_time.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var late_s_date &#x3d; new Date&#x28;2000,1,1,late_s_hour,late_s_min,0&#x29;&#x3b;&#xa;&#xa; var late_e_hour &#x3d; str2num&#x28;late_end_time.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var late_e_min &#x3d; str2num&#x28;late_end_time.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var late_e_date &#x3d; new Date&#x28;2000,1,1,late_e_hour,late_e_min,0&#x29;&#x3b;&#xa;&#xa; if &#x28;fcsj_date &#x3e;&#x3d; late_s_date &#x26;&#x26; fcsj_date &#x3c;&#x3d; late_e_date&#x29; &#x7b;&#xa; isWgf &#x3d; true&#x3b;&#xa; &#x7d;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x5224;&#x5b9a;&#x662f;&#x5426;&#x665a;&#x9ad8;&#x5cf0;&#xa;&#xa;if &#x28;sxx &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; if &#x28;isZgf&#x29; &#x7b;&#xa; jhlc &#x3d; up_mileage&#x3b;&#xa; bcsj &#x3d; early_up_time &#x3f; early_up_time &#x3a; up_travel_time&#x3b;&#xa; &#x7d; else if &#x28;isWgf&#x29; &#x7b;&#xa; jhlc &#x3d; up_mileage&#x3b;&#xa; bcsj &#x3d; late_up_time &#x3f; late_up_time &#x3a; up_travel_time&#x3b;&#xa; &#x7d; else &#x7b;&#xa; jhlc &#x3d; up_mileage&#x3b;&#xa; bcsj &#x3d; up_travel_time&#x3b;&#xa; &#x7d;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; if &#x28;isZgf&#x29; &#x7b;&#xa; jhlc &#x3d; down_mileage&#x3b;&#xa; bcsj &#x3d; early_down_time &#x3f; early_down_time &#x3a; down_travel_time&#x3b;&#xa; &#x7d; else if &#x28;isWgf&#x29; &#x7b;&#xa; jhlc &#x3d; down_mileage&#x3b;&#xa; bcsj &#x3d; late_down_time &#x3f; late_down_time &#x3a; down_travel_time&#x3b;&#xa; &#x7d; else &#x7b;&#xa; jhlc &#x3d; down_mileage&#x3b;&#xa; bcsj &#x3d; down_travel_time&#x3b;&#xa; &#x7d;&#xa;&#x7d;</jsScript_script>
700   - </jsScript> </jsScripts> <fields> <field> <name>jhlc</name>
701   - <rename>jhlc</rename>
702   - <type>String</type>
703   - <length>-1</length>
704   - <precision>-1</precision>
705   - <replace>N</replace>
706   - </field> <field> <name>bcsj</name>
707   - <rename>bcsj</rename>
708   - <type>String</type>
709   - <length>-1</length>
710   - <precision>-1</precision>
711   - <replace>N</replace>
712   - </field> </fields> <cluster_schema/>
713   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
714   - <xloc>148</xloc>
715   - <yloc>674</yloc>
716   - <draw>Y</draw>
717   - </GUI>
718   - </step>
719   -
720   - <step>
721   - <name>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
722   - <type>ScriptValueMod</type>
723   - <description/>
724   - <distribute>Y</distribute>
725   - <custom_distribution/>
726   - <copies>1</copies>
727   - <partitioning>
728   - <method>none</method>
729   - <schema_name/>
730   - </partitioning>
731   - <compatible>N</compatible>
732   - <optimizationLevel>9</optimizationLevel>
733   - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
734   - <jsScript_name>Script 1</jsScript_name>
735   - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var out_mileage&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var out_time&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x8ba1;&#x5212;&#x65f6;&#x95f4;&#xa;&#xa;if &#x28;sxx &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; out_mileage &#x3d; up_out_mileage&#x3b;&#xa; out_time &#x3d; up_out_timer&#x3b;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; out_mileage &#x3d; down_out_mileage&#x3b;&#xa; out_time &#x3d; down_out_timer&#x3b;&#xa;&#x7d;&#xa;&#xa;&#xa;&#xa;</jsScript_script>
736   - </jsScript> </jsScripts> <fields> <field> <name>out_mileage</name>
737   - <rename>out_mileage</rename>
738   - <type>String</type>
739   - <length>-1</length>
740   - <precision>-1</precision>
741   - <replace>N</replace>
742   - </field> <field> <name>out_time</name>
743   - <rename>out_time</rename>
744   - <type>String</type>
745   - <length>-1</length>
746   - <precision>-1</precision>
747   - <replace>N</replace>
748   - </field> </fields> <cluster_schema/>
749   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
750   - <xloc>336</xloc>
751   - <yloc>862</yloc>
752   - <draw>Y</draw>
753   - </GUI>
754   - </step>
755   -
756   - <step>
757   - <name>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
758   - <type>ScriptValueMod</type>
759   - <description/>
760   - <distribute>Y</distribute>
761   - <custom_distribution/>
762   - <copies>1</copies>
763   - <partitioning>
764   - <method>none</method>
765   - <schema_name/>
766   - </partitioning>
767   - <compatible>N</compatible>
768   - <optimizationLevel>9</optimizationLevel>
769   - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
770   - <jsScript_name>Script 1</jsScript_name>
771   - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var parade_mileage&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var parade_time&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x8ba1;&#x5212;&#x65f6;&#x95f4;&#xa;&#xa;if &#x28;sxx2 &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; parade_mileage &#x3d; up_in_mileage&#x3b;&#xa; parade_time &#x3d; up_in_timer&#x3b;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; parade_mileage &#x3d; down_in_mileage&#x3b;&#xa; parade_time &#x3d; down_in_timer&#x3b;&#xa;&#x7d;&#xa;&#xa;&#xa;&#xa;</jsScript_script>
772   - </jsScript> </jsScripts> <fields> <field> <name>parade_mileage</name>
773   - <rename>parade_mileage</rename>
774   - <type>String</type>
775   - <length>-1</length>
776   - <precision>-1</precision>
777   - <replace>N</replace>
778   - </field> <field> <name>parade_time</name>
779   - <rename>parade_time</rename>
780   - <type>String</type>
781   - <length>-1</length>
782   - <precision>-1</precision>
783   - <replace>N</replace>
784   - </field> </fields> <cluster_schema/>
785   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
786   - <xloc>726</xloc>
787   - <yloc>1005</yloc>
788   - <draw>Y</draw>
789   - </GUI>
790   - </step>
791   -
792   - <step>
793   - <name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</name>
794   - <type>DataGrid</type>
795   - <description/>
796   - <distribute>Y</distribute>
797   - <custom_distribution/>
798   - <copies>1</copies>
799   - <partitioning>
800   - <method>none</method>
801   - <schema_name/>
802   - </partitioning>
803   - <fields>
804   - </fields>
805   - <data>
806   - <line> </line>
807   - </data>
808   - <cluster_schema/>
809   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
810   - <xloc>110</xloc>
811   - <yloc>133</yloc>
812   - <draw>Y</draw>
813   - </GUI>
814   - </step>
815   -
816   - <step>
817   - <name>&#x5904;&#x7406;&#x6570;&#x636e;</name>
818   - <type>ScriptValueMod</type>
819   - <description/>
820   - <distribute>Y</distribute>
821   - <custom_distribution/>
822   - <copies>1</copies>
823   - <partitioning>
824   - <method>none</method>
825   - <schema_name/>
826   - </partitioning>
827   - <compatible>N</compatible>
828   - <optimizationLevel>9</optimizationLevel>
829   - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
830   - <jsScript_name>Script 1</jsScript_name>
831   - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x4f7f;&#x7528;&#x6b63;&#x5219;&#x8868;&#x8fbe;&#x5f0f;&#x53bb;&#x9664;&#x7ad9;&#x70b9;&#x540d;&#x79f0;&#x4e2d;&#x7684;&#x6570;&#x5b57;&#xa;qdzname &#x3d; qdzname.replace&#x28;&#x2f;&#x5c;d&#x2b;&#x2f;g,&#x27;&#x27;&#x29;&#x3b;&#xa;&#xa;&#x2f;&#x2f; sendtime&#x5904;&#x7406;&#xff0c;hhmm&#xff0c;hh&#x3a;mm&#xff0c;hh,mm&#xa;var sendtime_calcu&#x3b;&#xa;if &#x28;sendtime.length &#x3d;&#x3d; 5&#x29; &#x7b; &#x2f;&#x2f; &#x6700;&#x957f;&#x683c;&#x5f0f;&#xff0c;&#x5305;&#x62ec;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x7edf;&#x4e00;&#x628a;&#x5206;&#x9694;&#x7b26;&#x66ff;&#x6362;&#x6210;&#x5192;&#x53f7;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;3, 2&#x29;&#x3b;&#xa;&#x7d; else if &#x28;sendtime.length &#x3d;&#x3d; 4&#x29; &#x7b;&#xa; if &#x28;sendtime.indexOf&#x28;&#x22;&#x3a;&#x22;&#x29; &#x3e; 0&#x29; &#x7b; &#x2f;&#x2f; &#x5192;&#x53f7;&#x5206;&#x9694;&#xff0c;&#x65e0;&#x9700;&#x4fee;&#x6539;&#xa; sendtime_calcu &#x3d; sendtime&#x3b;&#xa; &#x7d; else if &#x28;sendtime.indexOf&#x28;&#x22;,&#x22;&#x29; &#x3e; 0&#x29; &#x7b; &#x2f;&#x2f; &#x9017;&#x53f7;&#x5206;&#x9694;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 1&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa; &#x7d; else &#x7b; &#x2f;&#x2f; &#x65e0;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa; &#x7d;&#xa;&#x7d; else if &#x28;sendtime.length &#x3d;&#x3d; 3&#x29; &#x7b; &#x2f;&#x2f; &#x65e0;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 1&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;1, 2&#x29;&#x3b;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;&#x5206;&#x73ed;&#xa;var isfb &#x3d; 0&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;&#x505c;&#x9a76;&#xa;var ists &#x3d; 0&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;isCanceled&#xa;var iscanceled &#x3d; 0&#x3b;</jsScript_script>
832   - </jsScript> </jsScripts> <fields> <field> <name>qdzname</name>
833   - <rename>qdzname</rename>
834   - <type>String</type>
835   - <length>-1</length>
836   - <precision>-1</precision>
837   - <replace>Y</replace>
838   - </field> <field> <name>isfb</name>
839   - <rename>isfb</rename>
840   - <type>Integer</type>
841   - <length>-1</length>
842   - <precision>-1</precision>
843   - <replace>N</replace>
844   - </field> <field> <name>iscanceled</name>
845   - <rename>iscanceled</rename>
846   - <type>Integer</type>
847   - <length>-1</length>
848   - <precision>-1</precision>
849   - <replace>N</replace>
850   - </field> <field> <name>sendtime_calcu</name>
851   - <rename>sendtime_calcu</rename>
852   - <type>String</type>
853   - <length>-1</length>
854   - <precision>-1</precision>
855   - <replace>N</replace>
856   - </field> <field> <name>ists</name>
857   - <rename>ists</rename>
858   - <type>Integer</type>
859   - <length>-1</length>
860   - <precision>-1</precision>
861   - <replace>N</replace>
862   - </field> </fields> <cluster_schema/>
863   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
864   - <xloc>788</xloc>
865   - <yloc>44</yloc>
866   - <draw>Y</draw>
867   - </GUI>
868   - </step>
869   -
870   - <step>
871   - <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
872   - <type>SelectValues</type>
873   - <description/>
874   - <distribute>Y</distribute>
875   - <custom_distribution/>
876   - <copies>1</copies>
877   - <partitioning>
878   - <method>none</method>
879   - <schema_name/>
880   - </partitioning>
881   - <fields> <field> <name>&#x8def;&#x724c;</name>
882   - <rename>lp</rename>
883   - <length>-2</length>
884   - <precision>-2</precision>
885   - </field> <field> <name>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</name>
886   - <rename>qdzname</rename>
887   - <length>-2</length>
888   - <precision>-2</precision>
889   - </field> <field> <name>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</name>
890   - <rename>sendtime</rename>
891   - <length>-2</length>
892   - <precision>-2</precision>
893   - </field> <select_unspecified>Y</select_unspecified>
894   - </fields> <cluster_schema/>
895   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
896   - <xloc>444</xloc>
897   - <yloc>131</yloc>
898   - <draw>Y</draw>
899   - </GUI>
900   - </step>
901   -
902   - <step>
903   - <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</name>
904   - <type>FilterRows</type>
905   - <description/>
906   - <distribute>Y</distribute>
907   - <custom_distribution/>
908   - <copies>1</copies>
909   - <partitioning>
910   - <method>none</method>
911   - <schema_name/>
912   - </partitioning>
913   -<send_true_to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>
914   -<send_false_to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</send_false_to>
915   - <compare>
916   -<condition>
917   - <negated>N</negated>
918   - <leftvalue>bctype</leftvalue>
919   - <function>&#x3d;</function>
920   - <rightvalue/>
921   - <value><name>constant</name><type>String</type><text>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>
922   - </compare>
923   - <cluster_schema/>
924   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
925   - <xloc>860</xloc>
926   - <yloc>401</yloc>
927   - <draw>Y</draw>
928   - </GUI>
929   - </step>
930   -
931   - <step>
932   - <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</name>
933   - <type>FilterRows</type>
934   - <description/>
935   - <distribute>Y</distribute>
936   - <custom_distribution/>
937   - <copies>1</copies>
938   - <partitioning>
939   - <method>none</method>
940   - <schema_name/>
941   - </partitioning>
942   -<send_true_to>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>
943   -<send_false_to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_false_to>
944   - <compare>
945   -<condition>
946   - <negated>N</negated>
947   - <leftvalue>bctype</leftvalue>
948   - <function>&#x3d;</function>
949   - <rightvalue/>
950   - <value><name>constant</name><type>String</type><text>&#x51fa;&#x573a;</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>
951   - </compare>
952   - <cluster_schema/>
953   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
954   - <xloc>995</xloc>
955   - <yloc>503</yloc>
956   - <draw>Y</draw>
957   - </GUI>
958   - </step>
959   -
960   - <step>
961   - <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</name>
962   - <type>InsertUpdate</type>
963   - <description/>
964   - <distribute>Y</distribute>
965   - <custom_distribution/>
966   - <copies>1</copies>
967   - <partitioning>
968   - <method>none</method>
969   - <schema_name/>
970   - </partitioning>
971   - <connection>bus_control_variable</connection>
972   - <commit>100</commit>
973   - <update_bypassed>N</update_bypassed>
974   - <lookup>
975   - <schema/>
976   - <table>bsth_c_s_ttinfo_detail</table>
977   - <key>
978   - <name>xlid</name>
979   - <field>xl</field>
980   - <condition>&#x3d;</condition>
981   - <name2/>
982   - </key>
983   - <key>
984   - <name>ttid</name>
985   - <field>ttinfo</field>
986   - <condition>&#x3d;</condition>
987   - <name2/>
988   - </key>
989   - <key>
990   - <name>lpid</name>
991   - <field>lp</field>
992   - <condition>&#x3d;</condition>
993   - <name2/>
994   - </key>
995   - <key>
996   - <name>fcno</name>
997   - <field>fcno</field>
998   - <condition>&#x3d;</condition>
999   - <name2/>
1000   - </key>
1001   - <key>
1002   - <name>bcs</name>
1003   - <field>bcs</field>
1004   - <condition>&#x3d;</condition>
1005   - <name2/>
1006   - </key>
1007   - <value>
1008   - <name>lp</name>
1009   - <rename>lpid</rename>
1010   - <update>Y</update>
1011   - </value>
1012   - <value>
1013   - <name>bc_type</name>
1014   - <rename>bctype_code</rename>
1015   - <update>Y</update>
1016   - </value>
1017   - <value>
1018   - <name>bcs</name>
1019   - <rename>bcs</rename>
1020   - <update>Y</update>
1021   - </value>
1022   - <value>
1023   - <name>bcsj</name>
1024   - <rename>bcsj</rename>
1025   - <update>Y</update>
1026   - </value>
1027   - <value>
1028   - <name>fcno</name>
1029   - <rename>fcno</rename>
1030   - <update>Y</update>
1031   - </value>
1032   - <value>
1033   - <name>jhlc</name>
1034   - <rename>jhlc</rename>
1035   - <update>Y</update>
1036   - </value>
1037   - <value>
1038   - <name>fcsj</name>
1039   - <rename>sendtime_calcu</rename>
1040   - <update>Y</update>
1041   - </value>
1042   - <value>
1043   - <name>ttinfo</name>
1044   - <rename>ttid</rename>
1045   - <update>Y</update>
1046   - </value>
1047   - <value>
1048   - <name>xl</name>
1049   - <rename>xlid</rename>
1050   - <update>Y</update>
1051   - </value>
1052   - <value>
1053   - <name>qdz</name>
1054   - <rename>qdzid</rename>
1055   - <update>Y</update>
1056   - </value>
1057   - <value>
1058   - <name>zdz</name>
1059   - <rename>zdzid</rename>
1060   - <update>Y</update>
1061   - </value>
1062   - <value>
1063   - <name>xl_dir</name>
1064   - <rename>sxx</rename>
1065   - <update>Y</update>
1066   - </value>
1067   - <value>
1068   - <name>isfb</name>
1069   - <rename>isfb</rename>
1070   - <update>Y</update>
1071   - </value>
1072   - <value>
1073   - <name>qdz_code</name>
1074   - <rename>qdzcode</rename>
1075   - <update>Y</update>
1076   - </value>
1077   - <value>
1078   - <name>qdz_name</name>
1079   - <rename>qdzname</rename>
1080   - <update>Y</update>
1081   - </value>
1082   - <value>
1083   - <name>zdz_code</name>
1084   - <rename>zdzcode</rename>
1085   - <update>Y</update>
1086   - </value>
1087   - <value>
1088   - <name>zdz_name</name>
1089   - <rename>zdzname</rename>
1090   - <update>Y</update>
1091   - </value>
1092   - <value>
1093   - <name>ists</name>
1094   - <rename>ists</rename>
1095   - <update>Y</update>
1096   - </value>
1097   - </lookup>
1098   - <cluster_schema/>
1099   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1100   - <xloc>143</xloc>
1101   - <yloc>860</yloc>
1102   - <draw>Y</draw>
1103   - </GUI>
1104   - </step>
1105   -
1106   - <step>
1107   - <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 2</name>
1108   - <type>InsertUpdate</type>
1109   - <description/>
1110   - <distribute>Y</distribute>
1111   - <custom_distribution/>
1112   - <copies>1</copies>
1113   - <partitioning>
1114   - <method>none</method>
1115   - <schema_name/>
1116   - </partitioning>
1117   - <connection>bus_control_variable</connection>
1118   - <commit>100</commit>
1119   - <update_bypassed>N</update_bypassed>
1120   - <lookup>
1121   - <schema/>
1122   - <table>bsth_c_s_ttinfo_detail</table>
1123   - <key>
1124   - <name>xlid</name>
1125   - <field>xl</field>
1126   - <condition>&#x3d;</condition>
1127   - <name2/>
1128   - </key>
1129   - <key>
1130   - <name>ttid</name>
1131   - <field>ttinfo</field>
1132   - <condition>&#x3d;</condition>
1133   - <name2/>
1134   - </key>
1135   - <key>
1136   - <name>lpid</name>
1137   - <field>lp</field>
1138   - <condition>&#x3d;</condition>
1139   - <name2/>
1140   - </key>
1141   - <key>
1142   - <name>fcno</name>
1143   - <field>fcno</field>
1144   - <condition>&#x3d;</condition>
1145   - <name2/>
1146   - </key>
1147   - <key>
1148   - <name>bcs</name>
1149   - <field>bcs</field>
1150   - <condition>&#x3d;</condition>
1151   - <name2/>
1152   - </key>
1153   - <value>
1154   - <name>tcc</name>
1155   - <rename>qdzid</rename>
1156   - <update>Y</update>
1157   - </value>
1158   - <value>
1159   - <name>zdz</name>
1160   - <rename>zdzid</rename>
1161   - <update>Y</update>
1162   - </value>
1163   - <value>
1164   - <name>xl</name>
1165   - <rename>xlid</rename>
1166   - <update>Y</update>
1167   - </value>
1168   - <value>
1169   - <name>ttinfo</name>
1170   - <rename>ttid</rename>
1171   - <update>Y</update>
1172   - </value>
1173   - <value>
1174   - <name>xl_dir</name>
1175   - <rename>sxx</rename>
1176   - <update>Y</update>
1177   - </value>
1178   - <value>
1179   - <name>lp</name>
1180   - <rename>lpid</rename>
1181   - <update>Y</update>
1182   - </value>
1183   - <value>
1184   - <name>jhlc</name>
1185   - <rename>out_mileage</rename>
1186   - <update>Y</update>
1187   - </value>
1188   - <value>
1189   - <name>fcsj</name>
1190   - <rename>sendtime_calcu</rename>
1191   - <update>Y</update>
1192   - </value>
1193   - <value>
1194   - <name>bcsj</name>
1195   - <rename>out_time</rename>
1196   - <update>Y</update>
1197   - </value>
1198   - <value>
1199   - <name>bcs</name>
1200   - <rename>bcs</rename>
1201   - <update>Y</update>
1202   - </value>
1203   - <value>
1204   - <name>fcno</name>
1205   - <rename>fcno</rename>
1206   - <update>Y</update>
1207   - </value>
1208   - <value>
1209   - <name>bc_type</name>
1210   - <rename>bctype_code</rename>
1211   - <update>Y</update>
1212   - </value>
1213   - <value>
1214   - <name>isfb</name>
1215   - <rename>isfb</rename>
1216   - <update>Y</update>
1217   - </value>
1218   - <value>
1219   - <name>qdz_code</name>
1220   - <rename>qdzcode</rename>
1221   - <update>Y</update>
1222   - </value>
1223   - <value>
1224   - <name>qdz_name</name>
1225   - <rename>tn</rename>
1226   - <update>Y</update>
1227   - </value>
1228   - <value>
1229   - <name>zdz_code</name>
1230   - <rename>zdzcode</rename>
1231   - <update>Y</update>
1232   - </value>
1233   - <value>
1234   - <name>zdz_name</name>
1235   - <rename>zdzname</rename>
1236   - <update>Y</update>
1237   - </value>
1238   - <value>
1239   - <name>ists</name>
1240   - <rename>ists</rename>
1241   - <update>Y</update>
1242   - </value>
1243   - </lookup>
1244   - <cluster_schema/>
1245   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1246   - <xloc>340</xloc>
1247   - <yloc>1087</yloc>
1248   - <draw>Y</draw>
1249   - </GUI>
1250   - </step>
1251   -
1252   - <step>
1253   - <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 3</name>
1254   - <type>InsertUpdate</type>
1255   - <description/>
1256   - <distribute>Y</distribute>
1257   - <custom_distribution/>
1258   - <copies>1</copies>
1259   - <partitioning>
1260   - <method>none</method>
1261   - <schema_name/>
1262   - </partitioning>
1263   - <connection>bus_control_variable</connection>
1264   - <commit>100</commit>
1265   - <update_bypassed>N</update_bypassed>
1266   - <lookup>
1267   - <schema/>
1268   - <table>bsth_c_s_ttinfo_detail</table>
1269   - <key>
1270   - <name>xlid</name>
1271   - <field>xl</field>
1272   - <condition>&#x3d;</condition>
1273   - <name2/>
1274   - </key>
1275   - <key>
1276   - <name>ttid</name>
1277   - <field>ttinfo</field>
1278   - <condition>&#x3d;</condition>
1279   - <name2/>
1280   - </key>
1281   - <key>
1282   - <name>lpid</name>
1283   - <field>lp</field>
1284   - <condition>&#x3d;</condition>
1285   - <name2/>
1286   - </key>
1287   - <key>
1288   - <name>fcno</name>
1289   - <field>fcno</field>
1290   - <condition>&#x3d;</condition>
1291   - <name2/>
1292   - </key>
1293   - <key>
1294   - <name>bcs</name>
1295   - <field>bcs</field>
1296   - <condition>&#x3d;</condition>
1297   - <name2/>
1298   - </key>
1299   - <value>
1300   - <name>fcno</name>
1301   - <rename>fcno</rename>
1302   - <update>Y</update>
1303   - </value>
1304   - <value>
1305   - <name>bcs</name>
1306   - <rename>bcs</rename>
1307   - <update>Y</update>
1308   - </value>
1309   - <value>
1310   - <name>xl</name>
1311   - <rename>xlid</rename>
1312   - <update>Y</update>
1313   - </value>
1314   - <value>
1315   - <name>ttinfo</name>
1316   - <rename>ttid</rename>
1317   - <update>Y</update>
1318   - </value>
1319   - <value>
1320   - <name>lp</name>
1321   - <rename>lpid</rename>
1322   - <update>Y</update>
1323   - </value>
1324   - <value>
1325   - <name>bc_type</name>
1326   - <rename>bctype_code</rename>
1327   - <update>Y</update>
1328   - </value>
1329   - <value>
1330   - <name>bcsj</name>
1331   - <rename>parade_time</rename>
1332   - <update>Y</update>
1333   - </value>
1334   - <value>
1335   - <name>jhlc</name>
1336   - <rename>parade_mileage</rename>
1337   - <update>Y</update>
1338   - </value>
1339   - <value>
1340   - <name>fcsj</name>
1341   - <rename>sendtime_calcu</rename>
1342   - <update>Y</update>
1343   - </value>
1344   - <value>
1345   - <name>xl_dir</name>
1346   - <rename>sxx2</rename>
1347   - <update>Y</update>
1348   - </value>
1349   - <value>
1350   - <name>qdz</name>
1351   - <rename>qdzid</rename>
1352   - <update>Y</update>
1353   - </value>
1354   - <value>
1355   - <name>tcc</name>
1356   - <rename>zdzid</rename>
1357   - <update>Y</update>
1358   - </value>
1359   - <value>
1360   - <name>isfb</name>
1361   - <rename>isfb</rename>
1362   - <update>Y</update>
1363   - </value>
1364   - <value>
1365   - <name>qdz_code</name>
1366   - <rename>qdzcode</rename>
1367   - <update>Y</update>
1368   - </value>
1369   - <value>
1370   - <name>qdz_name</name>
1371   - <rename>qname</rename>
1372   - <update>Y</update>
1373   - </value>
1374   - <value>
1375   - <name>zdz_code</name>
1376   - <rename>zdzcode</rename>
1377   - <update>Y</update>
1378   - </value>
1379   - <value>
1380   - <name>zdz_name</name>
1381   - <rename>tn</rename>
1382   - <update>Y</update>
1383   - </value>
1384   - <value>
1385   - <name>ists</name>
1386   - <rename>ists</rename>
1387   - <update>Y</update>
1388   - </value>
1389   - </lookup>
1390   - <cluster_schema/>
1391   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1392   - <xloc>845</xloc>
1393   - <yloc>899</yloc>
1394   - <draw>Y</draw>
1395   - </GUI>
1396   - </step>
1397   -
1398   - <step>
1399   - <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</name>
1400   - <type>ExcelInput</type>
1401   - <description/>
1402   - <distribute>N</distribute>
1403   - <custom_distribution/>
1404   - <copies>1</copies>
1405   - <partitioning>
1406   - <method>none</method>
1407   - <schema_name/>
1408   - </partitioning>
1409   - <header>Y</header>
1410   - <noempty>Y</noempty>
1411   - <stoponempty>N</stoponempty>
1412   - <filefield/>
1413   - <sheetfield/>
1414   - <sheetrownumfield/>
1415   - <rownumfield/>
1416   - <sheetfield/>
1417   - <filefield/>
1418   - <limit>0</limit>
1419   - <encoding/>
1420   - <add_to_result_filenames>Y</add_to_result_filenames>
1421   - <accept_filenames>N</accept_filenames>
1422   - <accept_field/>
1423   - <accept_stepname/>
1424   - <file>
1425   - <name/>
1426   - <filemask/>
1427   - <exclude_filemask/>
1428   - <file_required>N</file_required>
1429   - <include_subfolders>N</include_subfolders>
1430   - </file>
1431   - <fields>
1432   - </fields>
1433   - <sheets>
1434   - <sheet>
1435   - <name/>
1436   - <startrow>0</startrow>
1437   - <startcol>0</startcol>
1438   - </sheet>
1439   - </sheets>
1440   - <strict_types>N</strict_types>
1441   - <error_ignored>N</error_ignored>
1442   - <error_line_skipped>N</error_line_skipped>
1443   - <bad_line_files_destination_directory/>
1444   - <bad_line_files_extension>warning</bad_line_files_extension>
1445   - <error_line_files_destination_directory/>
1446   - <error_line_files_extension>error</error_line_files_extension>
1447   - <line_number_files_destination_directory/>
1448   - <line_number_files_extension>line</line_number_files_extension>
1449   - <shortFileFieldName/>
1450   - <pathFieldName/>
1451   - <hiddenFieldName/>
1452   - <lastModificationTimeFieldName/>
1453   - <uriNameFieldName/>
1454   - <rootUriNameFieldName/>
1455   - <extensionFieldName/>
1456   - <sizeFieldName/>
1457   - <spreadsheet_type>JXL</spreadsheet_type>
1458   - <cluster_schema/>
1459   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1460   - <xloc>112</xloc>
1461   - <yloc>44</yloc>
1462   - <draw>Y</draw>
1463   - </GUI>
1464   - </step>
1465   -
1466   - <step>
1467   - <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</name>
1468   - <type>DBLookup</type>
1469   - <description/>
1470   - <distribute>Y</distribute>
1471   - <custom_distribution/>
1472   - <copies>1</copies>
1473   - <partitioning>
1474   - <method>none</method>
1475   - <schema_name/>
1476   - </partitioning>
1477   - <connection>bus_control_variable</connection>
1478   - <cache>N</cache>
1479   - <cache_load_all>N</cache_load_all>
1480   - <cache_size>0</cache_size>
1481   - <lookup>
1482   - <schema/>
1483   - <table>bsth_c_car_park</table>
1484   - <orderby/>
1485   - <fail_on_multiple>N</fail_on_multiple>
1486   - <eat_row_on_failure>N</eat_row_on_failure>
1487   - <key>
1488   - <name>tccname_</name>
1489   - <field>park_name</field>
1490   - <condition>&#x3d;</condition>
1491   - <name2/>
1492   - </key>
1493   - <value>
1494   - <name>id</name>
1495   - <rename>qdzid</rename>
1496   - <default/>
1497   - <type>Integer</type>
1498   - </value>
1499   - <value>
1500   - <name>park_code</name>
1501   - <rename>qdzcode</rename>
1502   - <default/>
1503   - <type>String</type>
1504   - </value>
1505   - <value>
1506   - <name>park_name</name>
1507   - <rename>tn</rename>
1508   - <default/>
1509   - <type>String</type>
1510   - </value>
1511   - </lookup>
1512   - <cluster_schema/>
1513   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1514   - <xloc>755</xloc>
1515   - <yloc>504</yloc>
1516   - <draw>Y</draw>
1517   - </GUI>
1518   - </step>
1519   -
1520   - <step>
1521   - <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</name>
1522   - <type>DBLookup</type>
1523   - <description/>
1524   - <distribute>Y</distribute>
1525   - <custom_distribution/>
1526   - <copies>1</copies>
1527   - <partitioning>
1528   - <method>none</method>
1529   - <schema_name/>
1530   - </partitioning>
1531   - <connection>bus_control_variable</connection>
1532   - <cache>N</cache>
1533   - <cache_load_all>N</cache_load_all>
1534   - <cache_size>0</cache_size>
1535   - <lookup>
1536   - <schema/>
1537   - <table>bsth_c_car_park</table>
1538   - <orderby/>
1539   - <fail_on_multiple>N</fail_on_multiple>
1540   - <eat_row_on_failure>N</eat_row_on_failure>
1541   - <key>
1542   - <name>tccname_</name>
1543   - <field>park_name</field>
1544   - <condition>&#x3d;</condition>
1545   - <name2/>
1546   - </key>
1547   - <value>
1548   - <name>id</name>
1549   - <rename>zdzid</rename>
1550   - <default/>
1551   - <type>Integer</type>
1552   - </value>
1553   - <value>
1554   - <name>park_code</name>
1555   - <rename>zdzcode</rename>
1556   - <default/>
1557   - <type>String</type>
1558   - </value>
1559   - <value>
1560   - <name>park_name</name>
1561   - <rename>tn</rename>
1562   - <default/>
1563   - <type>String</type>
1564   - </value>
1565   - </lookup>
1566   - <cluster_schema/>
1567   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1568   - <xloc>887</xloc>
1569   - <yloc>608</yloc>
1570   - <draw>Y</draw>
1571   - </GUI>
1572   - </step>
1573   -
1574   - <step>
1575   - <name>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
1576   - <type>DBLookup</type>
1577   - <description/>
1578   - <distribute>Y</distribute>
1579   - <custom_distribution/>
1580   - <copies>1</copies>
1581   - <partitioning>
1582   - <method>none</method>
1583   - <schema_name/>
1584   - </partitioning>
1585   - <connection>bus_control_variable</connection>
1586   - <cache>N</cache>
1587   - <cache_load_all>N</cache_load_all>
1588   - <cache_size>0</cache_size>
1589   - <lookup>
1590   - <schema/>
1591   - <table>bsth_c_stationroute</table>
1592   - <orderby/>
1593   - <fail_on_multiple>N</fail_on_multiple>
1594   - <eat_row_on_failure>N</eat_row_on_failure>
1595   - <key>
1596   - <name>xlid</name>
1597   - <field>line</field>
1598   - <condition>&#x3d;</condition>
1599   - <name2/>
1600   - </key>
1601   - <key>
1602   - <name>zdzname</name>
1603   - <field>station_name</field>
1604   - <condition>&#x3d;</condition>
1605   - <name2/>
1606   - </key>
1607   - <key>
1608   - <name>endZdtype</name>
1609   - <field>station_mark</field>
1610   - <condition>&#x3d;</condition>
1611   - <name2/>
1612   - </key>
1613   - <key>
1614   - <name>destory</name>
1615   - <field>destroy</field>
1616   - <condition>&#x3d;</condition>
1617   - <name2/>
1618   - </key>
1619   - <value>
1620   - <name>station</name>
1621   - <rename>zdzid</rename>
1622   - <default/>
1623   - <type>Integer</type>
1624   - </value>
1625   - <value>
1626   - <name>directions</name>
1627   - <rename>sxx</rename>
1628   - <default/>
1629   - <type>Integer</type>
1630   - </value>
1631   - <value>
1632   - <name>station_code</name>
1633   - <rename>zdzcode</rename>
1634   - <default/>
1635   - <type>String</type>
1636   - </value>
1637   - </lookup>
1638   - <cluster_schema/>
1639   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1640   - <xloc>329</xloc>
1641   - <yloc>505</yloc>
1642   - <draw>Y</draw>
1643   - </GUI>
1644   - </step>
1645   -
1646   - <step>
1647   - <name>&#x67e5;&#x627e;&#x6240;&#x6709;&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
1648   - <type>DBLookup</type>
1649   - <description/>
1650   - <distribute>Y</distribute>
1651   - <custom_distribution/>
1652   - <copies>1</copies>
1653   - <partitioning>
1654   - <method>none</method>
1655   - <schema_name/>
1656   - </partitioning>
1657   - <connection>bus_control_variable</connection>
1658   - <cache>N</cache>
1659   - <cache_load_all>N</cache_load_all>
1660   - <cache_size>0</cache_size>
1661   - <lookup>
1662   - <schema/>
1663   - <table>bsth_c_line_information</table>
1664   - <orderby/>
1665   - <fail_on_multiple>N</fail_on_multiple>
1666   - <eat_row_on_failure>N</eat_row_on_failure>
1667   - <key>
1668   - <name>xlid</name>
1669   - <field>line</field>
1670   - <condition>&#x3d;</condition>
1671   - <name2/>
1672   - </key>
1673   - <value>
1674   - <name>up_mileage</name>
1675   - <rename>up_mileage</rename>
1676   - <default/>
1677   - <type>Number</type>
1678   - </value>
1679   - <value>
1680   - <name>down_mileage</name>
1681   - <rename>down_mileage</rename>
1682   - <default/>
1683   - <type>Number</type>
1684   - </value>
1685   - <value>
1686   - <name>up_travel_time</name>
1687   - <rename>up_travel_time</rename>
1688   - <default/>
1689   - <type>Number</type>
1690   - </value>
1691   - <value>
1692   - <name>down_travel_time</name>
1693   - <rename>down_travel_time</rename>
1694   - <default/>
1695   - <type>Number</type>
1696   - </value>
1697   - <value>
1698   - <name>early_start_time</name>
1699   - <rename>early_start_time</rename>
1700   - <default/>
1701   - <type>String</type>
1702   - </value>
1703   - <value>
1704   - <name>early_end_time</name>
1705   - <rename>early_end_time</rename>
1706   - <default/>
1707   - <type>String</type>
1708   - </value>
1709   - <value>
1710   - <name>early_up_time</name>
1711   - <rename>early_up_time</rename>
1712   - <default/>
1713   - <type>Number</type>
1714   - </value>
1715   - <value>
1716   - <name>early_down_time</name>
1717   - <rename>early_down_time</rename>
1718   - <default/>
1719   - <type>Number</type>
1720   - </value>
1721   - <value>
1722   - <name>late_start_time</name>
1723   - <rename>late_start_time</rename>
1724   - <default/>
1725   - <type>String</type>
1726   - </value>
1727   - <value>
1728   - <name>late_end_time</name>
1729   - <rename>late_end_time</rename>
1730   - <default/>
1731   - <type>String</type>
1732   - </value>
1733   - <value>
1734   - <name>late_up_time</name>
1735   - <rename>late_up_time</rename>
1736   - <default/>
1737   - <type>Number</type>
1738   - </value>
1739   - <value>
1740   - <name>late_down_time</name>
1741   - <rename>late_down_time</rename>
1742   - <default/>
1743   - <type>Number</type>
1744   - </value>
1745   - </lookup>
1746   - <cluster_schema/>
1747   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1748   - <xloc>149</xloc>
1749   - <yloc>581</yloc>
1750   - <draw>Y</draw>
1751   - </GUI>
1752   - </step>
1753   -
1754   - <step>
1755   - <name>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</name>
1756   - <type>DBLookup</type>
1757   - <description/>
1758   - <distribute>Y</distribute>
1759   - <custom_distribution/>
1760   - <copies>1</copies>
1761   - <partitioning>
1762   - <method>none</method>
1763   - <schema_name/>
1764   - </partitioning>
1765   - <connection>bus_control_variable</connection>
1766   - <cache>N</cache>
1767   - <cache_load_all>N</cache_load_all>
1768   - <cache_size>0</cache_size>
1769   - <lookup>
1770   - <schema/>
1771   - <table>bsth_c_s_ttinfo</table>
1772   - <orderby/>
1773   - <fail_on_multiple>N</fail_on_multiple>
1774   - <eat_row_on_failure>N</eat_row_on_failure>
1775   - <key>
1776   - <name>xlid</name>
1777   - <field>xl</field>
1778   - <condition>&#x3d;</condition>
1779   - <name2/>
1780   - </key>
1781   - <key>
1782   - <name>ttinfoname_</name>
1783   - <field>name</field>
1784   - <condition>&#x3d;</condition>
1785   - <name2/>
1786   - </key>
1787   - <key>
1788   - <name>iscanceled</name>
1789   - <field>is_cancel</field>
1790   - <condition>&#x3d;</condition>
1791   - <name2/>
1792   - </key>
1793   - <value>
1794   - <name>id</name>
1795   - <rename>ttid</rename>
1796   - <default/>
1797   - <type>Integer</type>
1798   - </value>
1799   - </lookup>
1800   - <cluster_schema/>
1801   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1802   - <xloc>1011</xloc>
1803   - <yloc>134</yloc>
1804   - <draw>Y</draw>
1805   - </GUI>
1806   - </step>
1807   -
1808   - <step>
1809   - <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</name>
1810   - <type>DBLookup</type>
1811   - <description/>
1812   - <distribute>Y</distribute>
1813   - <custom_distribution/>
1814   - <copies>1</copies>
1815   - <partitioning>
1816   - <method>none</method>
1817   - <schema_name/>
1818   - </partitioning>
1819   - <connection>bus_control_variable</connection>
1820   - <cache>N</cache>
1821   - <cache_load_all>N</cache_load_all>
1822   - <cache_size>0</cache_size>
1823   - <lookup>
1824   - <schema/>
1825   - <table>bsth_c_line</table>
1826   - <orderby/>
1827   - <fail_on_multiple>N</fail_on_multiple>
1828   - <eat_row_on_failure>N</eat_row_on_failure>
1829   - <key>
1830   - <name>xlname_</name>
1831   - <field>name</field>
1832   - <condition>&#x3d;</condition>
1833   - <name2/>
1834   - </key>
1835   - <key>
1836   - <name>iscanceled</name>
1837   - <field>destroy</field>
1838   - <condition>&#x3d;</condition>
1839   - <name2/>
1840   - </key>
1841   - <value>
1842   - <name>id</name>
1843   - <rename>xlid</rename>
1844   - <default/>
1845   - <type>Integer</type>
1846   - </value>
1847   - </lookup>
1848   - <cluster_schema/>
1849   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1850   - <xloc>1007</xloc>
1851   - <yloc>43</yloc>
1852   - <draw>Y</draw>
1853   - </GUI>
1854   - </step>
1855   -
1856   - <step>
1857   - <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
1858   - <type>DBLookup</type>
1859   - <description/>
1860   - <distribute>Y</distribute>
1861   - <custom_distribution/>
1862   - <copies>1</copies>
1863   - <partitioning>
1864   - <method>none</method>
1865   - <schema_name/>
1866   - </partitioning>
1867   - <connection>bus_control_variable</connection>
1868   - <cache>N</cache>
1869   - <cache_load_all>N</cache_load_all>
1870   - <cache_size>0</cache_size>
1871   - <lookup>
1872   - <schema/>
1873   - <table>bsth_c_line_information</table>
1874   - <orderby/>
1875   - <fail_on_multiple>N</fail_on_multiple>
1876   - <eat_row_on_failure>N</eat_row_on_failure>
1877   - <key>
1878   - <name>xlid</name>
1879   - <field>line</field>
1880   - <condition>&#x3d;</condition>
1881   - <name2/>
1882   - </key>
1883   - <value>
1884   - <name>up_out_timer</name>
1885   - <rename>up_out_timer</rename>
1886   - <default/>
1887   - <type>Number</type>
1888   - </value>
1889   - <value>
1890   - <name>up_out_mileage</name>
1891   - <rename>up_out_mileage</rename>
1892   - <default/>
1893   - <type>Number</type>
1894   - </value>
1895   - <value>
1896   - <name>down_out_timer</name>
1897   - <rename>down_out_timer</rename>
1898   - <default/>
1899   - <type>Number</type>
1900   - </value>
1901   - <value>
1902   - <name>down_out_mileage</name>
1903   - <rename>down_out_mileage</rename>
1904   - <default/>
1905   - <type>Number</type>
1906   - </value>
1907   - </lookup>
1908   - <cluster_schema/>
1909   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1910   - <xloc>335</xloc>
1911   - <yloc>763</yloc>
1912   - <draw>Y</draw>
1913   - </GUI>
1914   - </step>
1915   -
1916   - <step>
1917   - <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
1918   - <type>DBLookup</type>
1919   - <description/>
1920   - <distribute>Y</distribute>
1921   - <custom_distribution/>
1922   - <copies>1</copies>
1923   - <partitioning>
1924   - <method>none</method>
1925   - <schema_name/>
1926   - </partitioning>
1927   - <connection>bus_control_variable</connection>
1928   - <cache>N</cache>
1929   - <cache_load_all>N</cache_load_all>
1930   - <cache_size>0</cache_size>
1931   - <lookup>
1932   - <schema/>
1933   - <table>bsth_c_line_information</table>
1934   - <orderby/>
1935   - <fail_on_multiple>N</fail_on_multiple>
1936   - <eat_row_on_failure>N</eat_row_on_failure>
1937   - <key>
1938   - <name>xlid</name>
1939   - <field>line</field>
1940   - <condition>&#x3d;</condition>
1941   - <name2/>
1942   - </key>
1943   - <value>
1944   - <name>up_in_mileage</name>
1945   - <rename>up_in_mileage</rename>
1946   - <default/>
1947   - <type>Number</type>
1948   - </value>
1949   - <value>
1950   - <name>up_in_timer</name>
1951   - <rename>up_in_timer</rename>
1952   - <default/>
1953   - <type>Number</type>
1954   - </value>
1955   - <value>
1956   - <name>down_in_mileage</name>
1957   - <rename>down_in_mileage</rename>
1958   - <default/>
1959   - <type>Number</type>
1960   - </value>
1961   - <value>
1962   - <name>down_in_timer</name>
1963   - <rename>down_in_timer</rename>
1964   - <default/>
1965   - <type>Number</type>
1966   - </value>
1967   - </lookup>
1968   - <cluster_schema/>
1969   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1970   - <xloc>553</xloc>
1971   - <yloc>1004</yloc>
1972   - <draw>Y</draw>
1973   - </GUI>
1974   - </step>
1975   -
1976   - <step>
1977   - <name>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</name>
1978   - <type>DBLookup</type>
1979   - <description/>
1980   - <distribute>Y</distribute>
1981   - <custom_distribution/>
1982   - <copies>1</copies>
1983   - <partitioning>
1984   - <method>none</method>
1985   - <schema_name/>
1986   - </partitioning>
1987   - <connection>bus_control_variable</connection>
1988   - <cache>N</cache>
1989   - <cache_load_all>N</cache_load_all>
1990   - <cache_size>0</cache_size>
1991   - <lookup>
1992   - <schema/>
1993   - <table>bsth_c_stationroute</table>
1994   - <orderby/>
1995   - <fail_on_multiple>N</fail_on_multiple>
1996   - <eat_row_on_failure>N</eat_row_on_failure>
1997   - <key>
1998   - <name>xlid</name>
1999   - <field>line</field>
2000   - <condition>&#x3d;</condition>
2001   - <name2/>
2002   - </key>
2003   - <key>
2004   - <name>sxx</name>
2005   - <field>directions</field>
2006   - <condition>&#x3d;</condition>
2007   - <name2/>
2008   - </key>
2009   - <key>
2010   - <name>endZdtype</name>
2011   - <field>station_mark</field>
2012   - <condition>&#x3d;</condition>
2013   - <name2/>
2014   - </key>
2015   - <key>
2016   - <name>destory</name>
2017   - <field>destroy</field>
2018   - <condition>&#x3d;</condition>
2019   - <name2/>
2020   - </key>
2021   - <value>
2022   - <name>station_name</name>
2023   - <rename>zdzname</rename>
2024   - <default/>
2025   - <type>String</type>
2026   - </value>
2027   - <value>
2028   - <name>station</name>
2029   - <rename>zdzid</rename>
2030   - <default/>
2031   - <type>Integer</type>
2032   - </value>
2033   - <value>
2034   - <name>station_code</name>
2035   - <rename>zdzcode</rename>
2036   - <default/>
2037   - <type>String</type>
2038   - </value>
2039   - </lookup>
2040   - <cluster_schema/>
2041   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2042   - <xloc>280</xloc>
2043   - <yloc>404</yloc>
2044   - <draw>Y</draw>
2045   - </GUI>
2046   - </step>
2047   -
2048   - <step>
2049   - <name>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
2050   - <type>DBLookup</type>
2051   - <description/>
2052   - <distribute>Y</distribute>
2053   - <custom_distribution/>
2054   - <copies>1</copies>
2055   - <partitioning>
2056   - <method>none</method>
2057   - <schema_name/>
2058   - </partitioning>
2059   - <connection>bus_control_variable</connection>
2060   - <cache>N</cache>
2061   - <cache_load_all>N</cache_load_all>
2062   - <cache_size>0</cache_size>
2063   - <lookup>
2064   - <schema/>
2065   - <table>bsth_c_stationroute</table>
2066   - <orderby/>
2067   - <fail_on_multiple>N</fail_on_multiple>
2068   - <eat_row_on_failure>N</eat_row_on_failure>
2069   - <key>
2070   - <name>xlid</name>
2071   - <field>line</field>
2072   - <condition>&#x3d;</condition>
2073   - <name2/>
2074   - </key>
2075   - <key>
2076   - <name>qdzname</name>
2077   - <field>station_name</field>
2078   - <condition>&#x3d;</condition>
2079   - <name2/>
2080   - </key>
2081   - <key>
2082   - <name>sendZdtype</name>
2083   - <field>station_mark</field>
2084   - <condition>&#x3d;</condition>
2085   - <name2/>
2086   - </key>
2087   - <key>
2088   - <name>destory</name>
2089   - <field>destroy</field>
2090   - <condition>&#x3d;</condition>
2091   - <name2/>
2092   - </key>
2093   - <value>
2094   - <name>station</name>
2095   - <rename>qdzid</rename>
2096   - <default/>
2097   - <type>Integer</type>
2098   - </value>
2099   - <value>
2100   - <name>directions</name>
2101   - <rename>sxx</rename>
2102   - <default/>
2103   - <type>Integer</type>
2104   - </value>
2105   - <value>
2106   - <name>station_code</name>
2107   - <rename>qdzcode</rename>
2108   - <default/>
2109   - <type>String</type>
2110   - </value>
2111   - </lookup>
2112   - <cluster_schema/>
2113   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2114   - <xloc>430</xloc>
2115   - <yloc>403</yloc>
2116   - <draw>Y</draw>
2117   - </GUI>
2118   - </step>
2119   -
2120   - <step>
2121   - <name>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</name>
2122   - <type>DBLookup</type>
2123   - <description/>
2124   - <distribute>Y</distribute>
2125   - <custom_distribution/>
2126   - <copies>1</copies>
2127   - <partitioning>
2128   - <method>none</method>
2129   - <schema_name/>
2130   - </partitioning>
2131   - <connection>bus_control_variable</connection>
2132   - <cache>N</cache>
2133   - <cache_load_all>N</cache_load_all>
2134   - <cache_size>0</cache_size>
2135   - <lookup>
2136   - <schema/>
2137   - <table>bsth_c_s_gbi</table>
2138   - <orderby/>
2139   - <fail_on_multiple>N</fail_on_multiple>
2140   - <eat_row_on_failure>N</eat_row_on_failure>
2141   - <key>
2142   - <name>xlid</name>
2143   - <field>xl</field>
2144   - <condition>&#x3d;</condition>
2145   - <name2/>
2146   - </key>
2147   - <key>
2148   - <name>lp</name>
2149   - <field>lp_name</field>
2150   - <condition>&#x3d;</condition>
2151   - <name2/>
2152   - </key>
2153   - <key>
2154   - <name>iscanceled</name>
2155   - <field>is_cancel</field>
2156   - <condition>&#x3d;</condition>
2157   - <name2/>
2158   - </key>
2159   - <value>
2160   - <name>id</name>
2161   - <rename>lpid</rename>
2162   - <default/>
2163   - <type>Integer</type>
2164   - </value>
2165   - </lookup>
2166   - <cluster_schema/>
2167   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2168   - <xloc>1013</xloc>
2169   - <yloc>265</yloc>
2170   - <draw>Y</draw>
2171   - </GUI>
2172   - </step>
2173   -
2174   - <step>
2175   - <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</name>
2176   - <type>DBLookup</type>
2177   - <description/>
2178   - <distribute>Y</distribute>
2179   - <custom_distribution/>
2180   - <copies>1</copies>
2181   - <partitioning>
2182   - <method>none</method>
2183   - <schema_name/>
2184   - </partitioning>
2185   - <connection>bus_control_variable</connection>
2186   - <cache>N</cache>
2187   - <cache_load_all>N</cache_load_all>
2188   - <cache_size>0</cache_size>
2189   - <lookup>
2190   - <schema/>
2191   - <table>bsth_c_stationroute</table>
2192   - <orderby/>
2193   - <fail_on_multiple>N</fail_on_multiple>
2194   - <eat_row_on_failure>N</eat_row_on_failure>
2195   - <key>
2196   - <name>xlid</name>
2197   - <field>line</field>
2198   - <condition>&#x3d;</condition>
2199   - <name2/>
2200   - </key>
2201   - <key>
2202   - <name>startZdtype_calcu</name>
2203   - <field>station_mark</field>
2204   - <condition>&#x3d;</condition>
2205   - <name2/>
2206   - </key>
2207   - <key>
2208   - <name>qdzname_calcu</name>
2209   - <field>station_name</field>
2210   - <condition>&#x3d;</condition>
2211   - <name2/>
2212   - </key>
2213   - <key>
2214   - <name>destory</name>
2215   - <field>destroy</field>
2216   - <condition>&#x3d;</condition>
2217   - <name2/>
2218   - </key>
2219   - <value>
2220   - <name>directions</name>
2221   - <rename>sxx</rename>
2222   - <default/>
2223   - <type>String</type>
2224   - </value>
2225   - </lookup>
2226   - <cluster_schema/>
2227   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2228   - <xloc>548</xloc>
2229   - <yloc>610</yloc>
2230   - <draw>Y</draw>
2231   - </GUI>
2232   - </step>
2233   -
2234   - <step>
2235   - <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</name>
2236   - <type>DBLookup</type>
2237   - <description/>
2238   - <distribute>Y</distribute>
2239   - <custom_distribution/>
2240   - <copies>1</copies>
2241   - <partitioning>
2242   - <method>none</method>
2243   - <schema_name/>
2244   - </partitioning>
2245   - <connection>bus_control_variable</connection>
2246   - <cache>Y</cache>
2247   - <cache_load_all>Y</cache_load_all>
2248   - <cache_size>0</cache_size>
2249   - <lookup>
2250   - <schema/>
2251   - <table>bsth_c_stationroute</table>
2252   - <orderby/>
2253   - <fail_on_multiple>N</fail_on_multiple>
2254   - <eat_row_on_failure>N</eat_row_on_failure>
2255   - <key>
2256   - <name>xlid</name>
2257   - <field>line</field>
2258   - <condition>&#x3d;</condition>
2259   - <name2/>
2260   - </key>
2261   - <key>
2262   - <name>endZdtype_calcu</name>
2263   - <field>station_mark</field>
2264   - <condition>&#x3d;</condition>
2265   - <name2/>
2266   - </key>
2267   - <key>
2268   - <name>sxx</name>
2269   - <field>directions</field>
2270   - <condition>&#x3d;</condition>
2271   - <name2/>
2272   - </key>
2273   - <key>
2274   - <name>destory</name>
2275   - <field>destroy</field>
2276   - <condition>&#x3d;</condition>
2277   - <name2/>
2278   - </key>
2279   - <value>
2280   - <name>station_name</name>
2281   - <rename>zdzname_calcu</rename>
2282   - <default/>
2283   - <type>Integer</type>
2284   - </value>
2285   - </lookup>
2286   - <cluster_schema/>
2287   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2288   - <xloc>550</xloc>
2289   - <yloc>701</yloc>
2290   - <draw>Y</draw>
2291   - </GUI>
2292   - </step>
2293   -
2294   - <step>
2295   - <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
2296   - <type>DBLookup</type>
2297   - <description/>
2298   - <distribute>Y</distribute>
2299   - <custom_distribution/>
2300   - <copies>1</copies>
2301   - <partitioning>
2302   - <method>none</method>
2303   - <schema_name/>
2304   - </partitioning>
2305   - <connection>bus_control_variable</connection>
2306   - <cache>N</cache>
2307   - <cache_load_all>N</cache_load_all>
2308   - <cache_size>0</cache_size>
2309   - <lookup>
2310   - <schema/>
2311   - <table>bsth_c_stationroute</table>
2312   - <orderby/>
2313   - <fail_on_multiple>N</fail_on_multiple>
2314   - <eat_row_on_failure>N</eat_row_on_failure>
2315   - <key>
2316   - <name>xlid</name>
2317   - <field>line</field>
2318   - <condition>&#x3d;</condition>
2319   - <name2/>
2320   - </key>
2321   - <key>
2322   - <name>zdzname_calcu</name>
2323   - <field>station_name</field>
2324   - <condition>&#x3d;</condition>
2325   - <name2/>
2326   - </key>
2327   - <key>
2328   - <name>startZdtype_calcu</name>
2329   - <field>station_mark</field>
2330   - <condition>&#x3d;</condition>
2331   - <name2/>
2332   - </key>
2333   - <key>
2334   - <name>destory</name>
2335   - <field>destroy</field>
2336   - <condition>&#x3d;</condition>
2337   - <name2/>
2338   - </key>
2339   - <value>
2340   - <name>directions</name>
2341   - <rename>sxx2</rename>
2342   - <default/>
2343   - <type>Integer</type>
2344   - </value>
2345   - <value>
2346   - <name>station</name>
2347   - <rename>qdzid</rename>
2348   - <default/>
2349   - <type>Integer</type>
2350   - </value>
2351   - <value>
2352   - <name>station_code</name>
2353   - <rename>qdzcode</rename>
2354   - <default/>
2355   - <type>String</type>
2356   - </value>
2357   - <value>
2358   - <name>station_name</name>
2359   - <rename>qname</rename>
2360   - <default/>
2361   - <type>String</type>
2362   - </value>
2363   - </lookup>
2364   - <cluster_schema/>
2365   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2366   - <xloc>551</xloc>
2367   - <yloc>782</yloc>
2368   - <draw>Y</draw>
2369   - </GUI>
2370   - </step>
2371   -
2372   - <step>
2373   - <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</name>
2374   - <type>ScriptValueMod</type>
2375   - <description/>
2376   - <distribute>Y</distribute>
2377   - <custom_distribution/>
2378   - <copies>1</copies>
2379   - <partitioning>
2380   - <method>none</method>
2381   - <schema_name/>
2382   - </partitioning>
2383   - <compatible>N</compatible>
2384   - <optimizationLevel>9</optimizationLevel>
2385   - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
2386   - <jsScript_name>Script 1</jsScript_name>
2387   - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var sendZdtype &#x3d; &#x27;B&#x27;&#x3b;&#xa;var endZdtype &#x3d; &#x27;E&#x27;&#x3b;&#xa;&#xa;var destory &#x3d; 0&#x3b; &#x2f;&#x2f; &#x672a;&#x64a4;&#x9500;flag</jsScript_script>
2388   - </jsScript> </jsScripts> <fields> <field> <name>sendZdtype</name>
2389   - <rename>sendZdtype</rename>
2390   - <type>String</type>
2391   - <length>-1</length>
2392   - <precision>-1</precision>
2393   - <replace>N</replace>
2394   - </field> <field> <name>endZdtype</name>
2395   - <rename>endZdtype</rename>
2396   - <type>String</type>
2397   - <length>-1</length>
2398   - <precision>-1</precision>
2399   - <replace>N</replace>
2400   - </field> <field> <name>destory</name>
2401   - <rename>destory</rename>
2402   - <type>Integer</type>
2403   - <length>-1</length>
2404   - <precision>-1</precision>
2405   - <replace>N</replace>
2406   - </field> </fields> <cluster_schema/>
2407   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2408   - <xloc>588</xloc>
2409   - <yloc>403</yloc>
2410   - <draw>Y</draw>
2411   - </GUI>
2412   - </step>
2413   -
2414   - <step>
2415   - <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
2416   - <type>Dummy</type>
2417   - <description/>
2418   - <distribute>Y</distribute>
2419   - <custom_distribution/>
2420   - <copies>1</copies>
2421   - <partitioning>
2422   - <method>none</method>
2423   - <schema_name/>
2424   - </partitioning>
2425   - <cluster_schema/>
2426   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2427   - <xloc>725</xloc>
2428   - <yloc>404</yloc>
2429   - <draw>Y</draw>
2430   - </GUI>
2431   - </step>
2432   -
2433   - <step>
2434   - <name>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</name>
2435   - <type>GroupBy</type>
2436   - <description/>
2437   - <distribute>Y</distribute>
2438   - <custom_distribution/>
2439   - <copies>1</copies>
2440   - <partitioning>
2441   - <method>none</method>
2442   - <schema_name/>
2443   - </partitioning>
2444   - <all_rows>Y</all_rows>
2445   - <ignore_aggregate>N</ignore_aggregate>
2446   - <field_ignore/>
2447   - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
2448   - <prefix>grp</prefix>
2449   - <add_linenr>Y</add_linenr>
2450   - <linenr_fieldname>fcno</linenr_fieldname>
2451   - <give_back_row>N</give_back_row>
2452   - <group>
2453   - <field>
2454   - <name>lp</name>
2455   - </field>
2456   - </group>
2457   - <fields>
2458   - </fields>
2459   - <cluster_schema/>
2460   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2461   - <xloc>442</xloc>
2462   - <yloc>44</yloc>
2463   - <draw>Y</draw>
2464   - </GUI>
2465   - </step>
2466   -
2467   - <step>
2468   - <name>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</name>
2469   - <type>GroupBy</type>
2470   - <description/>
2471   - <distribute>Y</distribute>
2472   - <custom_distribution/>
2473   - <copies>1</copies>
2474   - <partitioning>
2475   - <method>none</method>
2476   - <schema_name/>
2477   - </partitioning>
2478   - <all_rows>Y</all_rows>
2479   - <ignore_aggregate>N</ignore_aggregate>
2480   - <field_ignore/>
2481   - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
2482   - <prefix>grp</prefix>
2483   - <add_linenr>Y</add_linenr>
2484   - <linenr_fieldname>bcs</linenr_fieldname>
2485   - <give_back_row>N</give_back_row>
2486   - <group>
2487   - </group>
2488   - <fields>
2489   - </fields>
2490   - <cluster_schema/>
2491   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2492   - <xloc>692</xloc>
2493   - <yloc>44</yloc>
2494   - <draw>Y</draw>
2495   - </GUI>
2496   - </step>
2497   -
2498   - <step>
2499   - <name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</name>
2500   - <type>Normaliser</type>
2501   - <description/>
2502   - <distribute>Y</distribute>
2503   - <custom_distribution/>
2504   - <copies>1</copies>
2505   - <partitioning>
2506   - <method>none</method>
2507   - <schema_name/>
2508   - </partitioning>
2509   - <typefield>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</typefield>
2510   - <fields> </fields> <cluster_schema/>
2511   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2512   - <xloc>248</xloc>
2513   - <yloc>44</yloc>
2514   - <draw>Y</draw>
2515   - </GUI>
2516   - </step>
2517   -
2518   - <step>
2519   - <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</name>
2520   - <type>ValueMapper</type>
2521   - <description/>
2522   - <distribute>Y</distribute>
2523   - <custom_distribution/>
2524   - <copies>1</copies>
2525   - <partitioning>
2526   - <method>none</method>
2527   - <schema_name/>
2528   - </partitioning>
2529   - <field_to_use>bctype</field_to_use>
2530   - <target_field>bctype_code</target_field>
2531   - <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
2532   - <fields>
2533   - <field>
2534   - <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
2535   - <target_value>normal</target_value>
2536   - </field>
2537   - <field>
2538   - <source_value>&#x51fa;&#x573a;</source_value>
2539   - <target_value>out</target_value>
2540   - </field>
2541   - <field>
2542   - <source_value>&#x8fdb;&#x573a;</source_value>
2543   - <target_value>in</target_value>
2544   - </field>
2545   - <field>
2546   - <source_value>&#x52a0;&#x6cb9;</source_value>
2547   - <target_value>oil</target_value>
2548   - </field>
2549   - <field>
2550   - <source_value>&#x4e34;&#x52a0;</source_value>
2551   - <target_value>temp</target_value>
2552   - </field>
2553   - <field>
2554   - <source_value>&#x533a;&#x95f4;</source_value>
2555   - <target_value>region</target_value>
2556   - </field>
2557   - <field>
2558   - <source_value>&#x653e;&#x7a7a;</source_value>
2559   - <target_value>venting</target_value>
2560   - </field>
2561   - <field>
2562   - <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
2563   - <target_value>major</target_value>
2564   - </field>
2565   - </fields>
2566   - <cluster_schema/>
2567   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2568   - <xloc>149</xloc>
2569   - <yloc>491</yloc>
2570   - <draw>Y</draw>
2571   - </GUI>
2572   - </step>
2573   -
2574   - <step>
2575   - <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</name>
2576   - <type>ValueMapper</type>
2577   - <description/>
2578   - <distribute>Y</distribute>
2579   - <custom_distribution/>
2580   - <copies>1</copies>
2581   - <partitioning>
2582   - <method>none</method>
2583   - <schema_name/>
2584   - </partitioning>
2585   - <field_to_use>bctype</field_to_use>
2586   - <target_field>bctype_code</target_field>
2587   - <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
2588   - <fields>
2589   - <field>
2590   - <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
2591   - <target_value>normal</target_value>
2592   - </field>
2593   - <field>
2594   - <source_value>&#x51fa;&#x573a;</source_value>
2595   - <target_value>out</target_value>
2596   - </field>
2597   - <field>
2598   - <source_value>&#x8fdb;&#x573a;</source_value>
2599   - <target_value>in</target_value>
2600   - </field>
2601   - <field>
2602   - <source_value>&#x52a0;&#x6cb9;</source_value>
2603   - <target_value>oil</target_value>
2604   - </field>
2605   - <field>
2606   - <source_value>&#x4e34;&#x52a0;</source_value>
2607   - <target_value>temp</target_value>
2608   - </field>
2609   - <field>
2610   - <source_value>&#x533a;&#x95f4;</source_value>
2611   - <target_value>region</target_value>
2612   - </field>
2613   - <field>
2614   - <source_value>&#x653e;&#x7a7a;</source_value>
2615   - <target_value>venting</target_value>
2616   - </field>
2617   - <field>
2618   - <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
2619   - <target_value>major</target_value>
2620   - </field>
2621   - </fields>
2622   - <cluster_schema/>
2623   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2624   - <xloc>333</xloc>
2625   - <yloc>681</yloc>
2626   - <draw>Y</draw>
2627   - </GUI>
2628   - </step>
2629   -
2630   - <step>
2631   - <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</name>
2632   - <type>ValueMapper</type>
2633   - <description/>
2634   - <distribute>Y</distribute>
2635   - <custom_distribution/>
2636   - <copies>1</copies>
2637   - <partitioning>
2638   - <method>none</method>
2639   - <schema_name/>
2640   - </partitioning>
2641   - <field_to_use>bctype</field_to_use>
2642   - <target_field>bctype_code</target_field>
2643   - <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
2644   - <fields>
2645   - <field>
2646   - <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
2647   - <target_value>normal</target_value>
2648   - </field>
2649   - <field>
2650   - <source_value>&#x51fa;&#x573a;</source_value>
2651   - <target_value>out</target_value>
2652   - </field>
2653   - <field>
2654   - <source_value>&#x8fdb;&#x573a;</source_value>
2655   - <target_value>in</target_value>
2656   - </field>
2657   - <field>
2658   - <source_value>&#x52a0;&#x6cb9;</source_value>
2659   - <target_value>oil</target_value>
2660   - </field>
2661   - <field>
2662   - <source_value>&#x4e34;&#x52a0;</source_value>
2663   - <target_value>temp</target_value>
2664   - </field>
2665   - <field>
2666   - <source_value>&#x533a;&#x95f4;</source_value>
2667   - <target_value>region</target_value>
2668   - </field>
2669   - <field>
2670   - <source_value>&#x653e;&#x7a7a;</source_value>
2671   - <target_value>venting</target_value>
2672   - </field>
2673   - <field>
2674   - <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
2675   - <target_value>major</target_value>
2676   - </field>
2677   - </fields>
2678   - <cluster_schema/>
2679   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2680   - <xloc>551</xloc>
2681   - <yloc>928</yloc>
2682   - <draw>Y</draw>
2683   - </GUI>
2684   - </step>
2685   -
2686   - <step>
2687   - <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</name>
2688   - <type>SelectValues</type>
2689   - <description/>
2690   - <distribute>Y</distribute>
2691   - <custom_distribution/>
2692   - <copies>1</copies>
2693   - <partitioning>
2694   - <method>none</method>
2695   - <schema_name/>
2696   - </partitioning>
2697   - <fields> <select_unspecified>N</select_unspecified>
2698   - <meta> <name>jhlc</name>
2699   - <rename>jhlc</rename>
2700   - <type>Number</type>
2701   - <length>-2</length>
2702   - <precision>-2</precision>
2703   - <conversion_mask/>
2704   - <date_format_lenient>false</date_format_lenient>
2705   - <date_format_locale/>
2706   - <date_format_timezone/>
2707   - <lenient_string_to_number>false</lenient_string_to_number>
2708   - <encoding/>
2709   - <decimal_symbol/>
2710   - <grouping_symbol/>
2711   - <currency_symbol/>
2712   - <storage_type/>
2713   - </meta> <meta> <name>bcsj</name>
2714   - <rename>bcsj</rename>
2715   - <type>Integer</type>
2716   - <length>-2</length>
2717   - <precision>-2</precision>
2718   - <conversion_mask/>
2719   - <date_format_lenient>false</date_format_lenient>
2720   - <date_format_locale/>
2721   - <date_format_timezone/>
2722   - <lenient_string_to_number>false</lenient_string_to_number>
2723   - <encoding/>
2724   - <decimal_symbol/>
2725   - <grouping_symbol/>
2726   - <currency_symbol/>
2727   - <storage_type/>
2728   - </meta> </fields> <cluster_schema/>
2729   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2730   - <xloc>146</xloc>
2731   - <yloc>768</yloc>
2732   - <draw>Y</draw>
2733   - </GUI>
2734   - </step>
2735   -
2736   - <step>
2737   - <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</name>
2738   - <type>SelectValues</type>
2739   - <description/>
2740   - <distribute>Y</distribute>
2741   - <custom_distribution/>
2742   - <copies>1</copies>
2743   - <partitioning>
2744   - <method>none</method>
2745   - <schema_name/>
2746   - </partitioning>
2747   - <fields> <select_unspecified>N</select_unspecified>
2748   - <meta> <name>out_mileage</name>
2749   - <rename>out_mileage</rename>
2750   - <type>Number</type>
2751   - <length>-2</length>
2752   - <precision>-2</precision>
2753   - <conversion_mask/>
2754   - <date_format_lenient>false</date_format_lenient>
2755   - <date_format_locale/>
2756   - <date_format_timezone/>
2757   - <lenient_string_to_number>false</lenient_string_to_number>
2758   - <encoding/>
2759   - <decimal_symbol/>
2760   - <grouping_symbol/>
2761   - <currency_symbol/>
2762   - <storage_type/>
2763   - </meta> <meta> <name>out_time</name>
2764   - <rename>out_time</rename>
2765   - <type>Integer</type>
2766   - <length>-2</length>
2767   - <precision>-2</precision>
2768   - <conversion_mask/>
2769   - <date_format_lenient>false</date_format_lenient>
2770   - <date_format_locale/>
2771   - <date_format_timezone/>
2772   - <lenient_string_to_number>false</lenient_string_to_number>
2773   - <encoding/>
2774   - <decimal_symbol/>
2775   - <grouping_symbol/>
2776   - <currency_symbol/>
2777   - <storage_type/>
2778   - </meta> <meta> <name>sxx</name>
2779   - <rename>sxx</rename>
2780   - <type>Integer</type>
2781   - <length>-2</length>
2782   - <precision>-2</precision>
2783   - <conversion_mask/>
2784   - <date_format_lenient>false</date_format_lenient>
2785   - <date_format_locale/>
2786   - <date_format_timezone/>
2787   - <lenient_string_to_number>false</lenient_string_to_number>
2788   - <encoding/>
2789   - <decimal_symbol/>
2790   - <grouping_symbol/>
2791   - <currency_symbol/>
2792   - <storage_type/>
2793   - </meta> </fields> <cluster_schema/>
2794   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2795   - <xloc>338</xloc>
2796   - <yloc>1008</yloc>
2797   - <draw>Y</draw>
2798   - </GUI>
2799   - </step>
2800   -
2801   - <step>
2802   - <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</name>
2803   - <type>SelectValues</type>
2804   - <description/>
2805   - <distribute>Y</distribute>
2806   - <custom_distribution/>
2807   - <copies>1</copies>
2808   - <partitioning>
2809   - <method>none</method>
2810   - <schema_name/>
2811   - </partitioning>
2812   - <fields> <select_unspecified>N</select_unspecified>
2813   - <meta> <name>parade_mileage</name>
2814   - <rename>parade_mileage</rename>
2815   - <type>Number</type>
2816   - <length>-2</length>
2817   - <precision>-2</precision>
2818   - <conversion_mask/>
2819   - <date_format_lenient>false</date_format_lenient>
2820   - <date_format_locale/>
2821   - <date_format_timezone/>
2822   - <lenient_string_to_number>false</lenient_string_to_number>
2823   - <encoding/>
2824   - <decimal_symbol/>
2825   - <grouping_symbol/>
2826   - <currency_symbol/>
2827   - <storage_type/>
2828   - </meta> <meta> <name>parade_time</name>
2829   - <rename>parade_time</rename>
2830   - <type>Integer</type>
2831   - <length>-2</length>
2832   - <precision>-2</precision>
2833   - <conversion_mask/>
2834   - <date_format_lenient>false</date_format_lenient>
2835   - <date_format_locale/>
2836   - <date_format_timezone/>
2837   - <lenient_string_to_number>false</lenient_string_to_number>
2838   - <encoding/>
2839   - <decimal_symbol/>
2840   - <grouping_symbol/>
2841   - <currency_symbol/>
2842   - <storage_type/>
2843   - </meta> <meta> <name>sxx2</name>
2844   - <rename>sxx2</rename>
2845   - <type>Integer</type>
2846   - <length>-2</length>
2847   - <precision>-2</precision>
2848   - <conversion_mask/>
2849   - <date_format_lenient>false</date_format_lenient>
2850   - <date_format_locale/>
2851   - <date_format_timezone/>
2852   - <lenient_string_to_number>false</lenient_string_to_number>
2853   - <encoding/>
2854   - <decimal_symbol/>
2855   - <grouping_symbol/>
2856   - <currency_symbol/>
2857   - <storage_type/>
2858   - </meta> </fields> <cluster_schema/>
2859   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2860   - <xloc>847</xloc>
2861   - <yloc>1003</yloc>
2862   - <draw>Y</draw>
2863   - </GUI>
2864   - </step>
2865   -
2866   - <step>
2867   - <name>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</name>
2868   - <type>ValueMapper</type>
2869   - <description/>
2870   - <distribute>Y</distribute>
2871   - <custom_distribution/>
2872   - <copies>1</copies>
2873   - <partitioning>
2874   - <method>none</method>
2875   - <schema_name/>
2876   - </partitioning>
2877   - <field_to_use>qdzname</field_to_use>
2878   - <target_field>bctype</target_field>
2879   - <non_match_default>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</non_match_default>
2880   - <fields>
2881   - <field>
2882   - <source_value>&#x51fa;&#x573a;</source_value>
2883   - <target_value>&#x51fa;&#x573a;</target_value>
2884   - </field>
2885   - <field>
2886   - <source_value>&#x8fdb;&#x573a;</source_value>
2887   - <target_value>&#x8fdb;&#x573a;</target_value>
2888   - </field>
2889   - </fields>
2890   - <cluster_schema/>
2891   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2892   - <xloc>1014</xloc>
2893   - <yloc>401</yloc>
2894   - <draw>Y</draw>
2895   - </GUI>
2896   - </step>
2897   -
2898   - <step>
2899   - <name>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</name>
2900   - <type>JoinRows</type>
2901   - <description/>
2902   - <distribute>Y</distribute>
2903   - <custom_distribution/>
2904   - <copies>1</copies>
2905   - <partitioning>
2906   - <method>none</method>
2907   - <schema_name/>
2908   - </partitioning>
2909   - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
2910   - <prefix>out</prefix>
2911   - <cache_size>500</cache_size>
2912   - <main/>
2913   - <compare>
2914   -<condition>
2915   - <negated>N</negated>
2916   - <leftvalue/>
2917   - <function>&#x3d;</function>
2918   - <rightvalue/>
2919   - </condition>
2920   - </compare>
2921   - <cluster_schema/>
2922   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2923   - <xloc>310</xloc>
2924   - <yloc>133</yloc>
2925   - <draw>Y</draw>
2926   - </GUI>
2927   - </step>
2928   -
2929   - <step>
2930   - <name>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</name>
2931   - <type>FilterRows</type>
2932   - <description/>
2933   - <distribute>Y</distribute>
2934   - <custom_distribution/>
2935   - <copies>1</copies>
2936   - <partitioning>
2937   - <method>none</method>
2938   - <schema_name/>
2939   - </partitioning>
2940   -<send_true_to/>
2941   -<send_false_to/>
2942   - <compare>
2943   -<condition>
2944   - <negated>N</negated>
2945   - <leftvalue>sendtime</leftvalue>
2946   - <function>IS NOT NULL</function>
2947   - <rightvalue/>
2948   - </condition>
2949   - </compare>
2950   - <cluster_schema/>
2951   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2952   - <xloc>571</xloc>
2953   - <yloc>44</yloc>
2954   - <draw>Y</draw>
2955   - </GUI>
2956   - </step>
2957   -
2958   - <step>
2959   - <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>
2960   - <type>ScriptValueMod</type>
2961   - <description/>
2962   - <distribute>Y</distribute>
2963   - <custom_distribution/>
2964   - <copies>1</copies>
2965   - <partitioning>
2966   - <method>none</method>
2967   - <schema_name/>
2968   - </partitioning>
2969   - <compatible>N</compatible>
2970   - <optimizationLevel>9</optimizationLevel>
2971   - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
2972   - <jsScript_name>Script 1</jsScript_name>
2973   - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var cc_groups &#x3d; qdzgroups.split&#x28;&#x22;,&#x22;&#x29;&#x3b; &#x2f;&#x2f; &#x6240;&#x6709;&#x73ed;&#x6b21;&#x8d77;&#x70b9;&#x7ad9;&#x6570;&#x7ec4;&#xa;var qdzname_calcu &#x3d; cc_groups&#x5b;gno - 2&#x5d;&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;&#x662f;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x8fd9;&#x91cc;&#x53ea;&#x6709;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;&#xff0c;&#x8fd8;&#x9700;&#x8981;&#x8ba1;&#x7b97;&#xa;var startZdtype_calcu &#x3d; &#x27;B&#x27;&#x3b;&#xa;var endZdtype_calcu &#x3d; &#x27;E&#x27;&#x3b;&#xa;&#xa;var destory &#x3d; 0&#x3b; &#x2f;&#x2f; &#x672a;&#x64a4;&#x9500;flag</jsScript_script>
2974   - </jsScript> </jsScripts> <fields> <field> <name>qdzname_calcu</name>
2975   - <rename>qdzname_calcu</rename>
2976   - <type>String</type>
2977   - <length>-1</length>
2978   - <precision>-1</precision>
2979   - <replace>N</replace>
2980   - </field> <field> <name>startZdtype_calcu</name>
2981   - <rename>startZdtype_calcu</rename>
2982   - <type>String</type>
2983   - <length>-1</length>
2984   - <precision>-1</precision>
2985   - <replace>N</replace>
2986   - </field> <field> <name>endZdtype_calcu</name>
2987   - <rename>endZdtype_calcu</rename>
2988   - <type>String</type>
2989   - <length>-1</length>
2990   - <precision>-1</precision>
2991   - <replace>N</replace>
2992   - </field> <field> <name>destory</name>
2993   - <rename>destory</rename>
2994   - <type>Integer</type>
2995   - <length>-1</length>
2996   - <precision>-1</precision>
2997   - <replace>N</replace>
2998   - </field> </fields> <cluster_schema/>
2999   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
3000   - <xloc>754</xloc>
3001   - <yloc>610</yloc>
3002   - <draw>Y</draw>
3003   - </GUI>
3004   - </step>
3005   -
3006   - <step>
3007   - <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
3008   - <type>Dummy</type>
3009   - <description/>
3010   - <distribute>Y</distribute>
3011   - <custom_distribution/>
3012   - <copies>1</copies>
3013   - <partitioning>
3014   - <method>none</method>
3015   - <schema_name/>
3016   - </partitioning>
3017   - <cluster_schema/>
3018   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
3019   - <xloc>997</xloc>
3020   - <yloc>606</yloc>
3021   - <draw>Y</draw>
3022   - </GUI>
3023   - </step>
3024   -
3025   - <step_error_handling>
3026   - <error>
3027   - <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</source_step>
3028   - <target_step/>
3029   - <is_enabled>Y</is_enabled>
3030   - <nr_valuename>c1</nr_valuename>
3031   - <descriptions_valuename>c2</descriptions_valuename>
3032   - <fields_valuename>c3</fields_valuename>
3033   - <codes_valuename>c4</codes_valuename>
3034   - <max_errors/>
3035   - <max_pct_errors/>
3036   - <min_pct_rows/>
3037   - </error>
3038   - </step_error_handling>
3039   - <slave-step-copy-partition-distribution>
3040   -</slave-step-copy-partition-distribution>
3041   - <slave_transformation>N</slave_transformation>
3042   -
3043   -</transformation>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x5bfc;&#x5165;2</name>
  5 + <description>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>
  6 + <extended_description>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#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 + </parameters>
  13 + <log>
  14 +<trans-log-table><connection/>
  15 +<schema/>
  16 +<table/>
  17 +<size_limit_lines/>
  18 +<interval/>
  19 +<timeout_days/>
  20 +<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>
  21 +<perf-log-table><connection/>
  22 +<schema/>
  23 +<table/>
  24 +<interval/>
  25 +<timeout_days/>
  26 +<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>
  27 +<channel-log-table><connection/>
  28 +<schema/>
  29 +<table/>
  30 +<timeout_days/>
  31 +<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>
  32 +<step-log-table><connection/>
  33 +<schema/>
  34 +<table/>
  35 +<timeout_days/>
  36 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>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>
  37 +<metrics-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>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>
  42 + </log>
  43 + <maxdate>
  44 + <connection/>
  45 + <table/>
  46 + <field/>
  47 + <offset>0.0</offset>
  48 + <maxdiff>0.0</maxdiff>
  49 + </maxdate>
  50 + <size_rowset>10000</size_rowset>
  51 + <sleep_time_empty>50</sleep_time_empty>
  52 + <sleep_time_full>50</sleep_time_full>
  53 + <unique_connections>N</unique_connections>
  54 + <feedback_shown>Y</feedback_shown>
  55 + <feedback_size>50000</feedback_size>
  56 + <using_thread_priorities>Y</using_thread_priorities>
  57 + <shared_objects_file/>
  58 + <capture_step_performance>N</capture_step_performance>
  59 + <step_performance_capturing_delay>1000</step_performance_capturing_delay>
  60 + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
  61 + <dependencies>
  62 + </dependencies>
  63 + <partitionschemas>
  64 + </partitionschemas>
  65 + <slaveservers>
  66 + </slaveservers>
  67 + <clusterschemas>
  68 + </clusterschemas>
  69 + <created_user>-</created_user>
  70 + <created_date>2016&#x2f;06&#x2f;30 12&#x3a;21&#x3a;57.536</created_date>
  71 + <modified_user>-</modified_user>
  72 + <modified_date>2016&#x2f;06&#x2f;30 12&#x3a;21&#x3a;57.536</modified_date>
  73 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
  74 + <is_key_private>N</is_key_private>
  75 + </info>
  76 + <notepads>
  77 + <notepad>
  78 + <note>&#x5b57;&#x5178;&#x8868;&#x5bf9;&#x5e94;&#xff08;&#x4ee5;&#x540e;&#x76f4;&#x63a5;&#x67e5;&#x627e;&#x8868; bsth_c_sys_dictionary&#xff09;&#xa;&#x7c7b;&#x578b; &#x4ee3;&#x7801; &#x540d;&#x79f0;&#xa;LineTrend 0 &#x4e0a;&#x884c;&#xa;LineTrend 1 &#x4e0b;&#x884c;&#xa;ScheduleType normal &#x6b63;&#x5e38;&#x73ed;&#x6b21;&#xa;ScheduleType out &#x51fa;&#x573a;&#xa;ScheduleType in &#x8fdb;&#x573a;&#xa;ScheduleType temp &#x4e34;&#x52a0;&#xa;ScheduleType region &#x533a;&#x95f4;&#xa;ScheduleType venting &#x653e;&#x7a7a;&#xa;ScheduleType major &#x653e;&#x5927;&#x7ad9;</note>
  79 + <xloc>606</xloc>
  80 + <yloc>129</yloc>
  81 + <width>332</width>
  82 + <heigth>186</heigth>
  83 + <fontname>YaHei Consolas Hybrid</fontname>
  84 + <fontsize>12</fontsize>
  85 + <fontbold>N</fontbold>
  86 + <fontitalic>N</fontitalic>
  87 + <fontcolorred>0</fontcolorred>
  88 + <fontcolorgreen>0</fontcolorgreen>
  89 + <fontcolorblue>0</fontcolorblue>
  90 + <backgroundcolorred>255</backgroundcolorred>
  91 + <backgroundcolorgreen>205</backgroundcolorgreen>
  92 + <backgroundcolorblue>112</backgroundcolorblue>
  93 + <bordercolorred>100</bordercolorred>
  94 + <bordercolorgreen>100</bordercolorgreen>
  95 + <bordercolorblue>100</bordercolorblue>
  96 + <drawshadow>Y</drawshadow>
  97 + </notepad>
  98 + <notepad>
  99 + <note>&#x56e0;&#x4e3a;&#x65f6;&#x523b;&#x8868;&#x8f93;&#x5165;&#x683c;&#x5f0f;&#x4e0d;&#x786e;&#x5b9a;&#x6027;&#xff0c;&#x4e3b;&#x8981;&#x56e0;&#x4e3a;&#x8868;&#x7ed3;&#x6784;&#x662f;&#x53cd;&#x8303;&#x5f0f;&#x5316;&#x7684;&#xff0c;&#xa;&#x6240;&#x4ee5;&#x9700;&#x8981;&#x5916;&#x90e8;&#x52a8;&#x6001;&#x6307;&#x5b9a;&#x613f;&#x6570;&#x636e;&#xff0c;&#x5934;&#x4e09;&#x4e2a;step&#x52a8;&#x6001;&#x6307;&#x5b9a;&#x613f;&#x6570;&#x636e;&#xa;&#xa;</note>
  100 + <xloc>79</xloc>
  101 + <yloc>206</yloc>
  102 + <width>346</width>
  103 + <heigth>74</heigth>
  104 + <fontname>YaHei Consolas Hybrid</fontname>
  105 + <fontsize>12</fontsize>
  106 + <fontbold>N</fontbold>
  107 + <fontitalic>N</fontitalic>
  108 + <fontcolorred>0</fontcolorred>
  109 + <fontcolorgreen>0</fontcolorgreen>
  110 + <fontcolorblue>0</fontcolorblue>
  111 + <backgroundcolorred>255</backgroundcolorred>
  112 + <backgroundcolorgreen>205</backgroundcolorgreen>
  113 + <backgroundcolorblue>112</backgroundcolorblue>
  114 + <bordercolorred>100</bordercolorred>
  115 + <bordercolorgreen>100</bordercolorgreen>
  116 + <bordercolorblue>100</bordercolorblue>
  117 + <drawshadow>Y</drawshadow>
  118 + </notepad>
  119 + <notepad>
  120 + <note>&#x8fd9;&#x91cc;&#x6709;&#x4e9b;&#x95ee;&#x9898;&#xa;&#x5728;window2012&#x7684;&#x73af;&#x5883;&#x4e0b;&#xff0c;&#xa;MySql&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x4e2d;&#x5982;&#x679c;&#x8fd4;&#x56de;&#x4e2d;&#x6587;&#x5185;&#x5bb9;&#x7684;&#x5b57;&#x6bb5;&#xff0c;&#x8fd9;&#x4e2a;&#x5185;&#x5bb9;&#x4e71;&#x7801;&#xa;&#x89e3;&#x51b3;&#x529e;&#x6cd5;&#xff0c;&#x5c31;&#x662f;&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x5168;&#x90e8;&#x7f13;&#x5b58;&#xff0c;&#x5c31;&#x4e0d;&#x4e71;&#x7801;&#xa;linux&#x73af;&#x5883;&#x4e0b;&#x6ca1;&#x95ee;&#x9898;</note>
  121 + <xloc>721</xloc>
  122 + <yloc>762</yloc>
  123 + <width>333</width>
  124 + <heigth>90</heigth>
  125 + <fontname>YaHei Consolas Hybrid</fontname>
  126 + <fontsize>12</fontsize>
  127 + <fontbold>N</fontbold>
  128 + <fontitalic>N</fontitalic>
  129 + <fontcolorred>0</fontcolorred>
  130 + <fontcolorgreen>0</fontcolorgreen>
  131 + <fontcolorblue>0</fontcolorblue>
  132 + <backgroundcolorred>255</backgroundcolorred>
  133 + <backgroundcolorgreen>205</backgroundcolorgreen>
  134 + <backgroundcolorblue>112</backgroundcolorblue>
  135 + <bordercolorred>100</bordercolorred>
  136 + <bordercolorgreen>100</bordercolorgreen>
  137 + <bordercolorblue>100</bordercolorblue>
  138 + <drawshadow>Y</drawshadow>
  139 + </notepad>
  140 + <notepad>
  141 + <note>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#xff0c;&#x65b9;&#x5411;&#x6709;&#x65f6;&#x786e;&#x5b9a;&#x4e0d;&#x51c6;&#xff0c;&#xa;&#x7a7a;&#x7684;&#x60c5;&#x51b5;&#x4e0b;&#x8bbe;&#x5b9a;&#x4e3a;0&#xff08;&#x4e0a;&#x884c;&#xff09;</note>
  142 + <xloc>104</xloc>
  143 + <yloc>939</yloc>
  144 + <width>178</width>
  145 + <heigth>42</heigth>
  146 + <fontname>YaHei Consolas Hybrid</fontname>
  147 + <fontsize>12</fontsize>
  148 + <fontbold>N</fontbold>
  149 + <fontitalic>N</fontitalic>
  150 + <fontcolorred>0</fontcolorred>
  151 + <fontcolorgreen>0</fontcolorgreen>
  152 + <fontcolorblue>0</fontcolorblue>
  153 + <backgroundcolorred>255</backgroundcolorred>
  154 + <backgroundcolorgreen>205</backgroundcolorgreen>
  155 + <backgroundcolorblue>112</backgroundcolorblue>
  156 + <bordercolorred>100</bordercolorred>
  157 + <bordercolorgreen>100</bordercolorgreen>
  158 + <bordercolorblue>100</bordercolorblue>
  159 + <drawshadow>Y</drawshadow>
  160 + </notepad>
  161 + <notepad>
  162 + <note>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#xff0c;&#x65b9;&#x5411;&#x6709;&#x65f6;&#x786e;&#x5b9a;&#x4e0d;&#x51c6;&#xff0c;&#xa;&#x7a7a;&#x7684;&#x60c5;&#x51b5;&#x4e0b;&#x8bbe;&#x5b9a;&#x4e3a;0&#xff08;&#x4e0a;&#x884c;&#xff09;</note>
  163 + <xloc>578</xloc>
  164 + <yloc>1084</yloc>
  165 + <width>178</width>
  166 + <heigth>42</heigth>
  167 + <fontname>YaHei Consolas Hybrid</fontname>
  168 + <fontsize>12</fontsize>
  169 + <fontbold>N</fontbold>
  170 + <fontitalic>N</fontitalic>
  171 + <fontcolorred>0</fontcolorred>
  172 + <fontcolorgreen>0</fontcolorgreen>
  173 + <fontcolorblue>0</fontcolorblue>
  174 + <backgroundcolorred>255</backgroundcolorred>
  175 + <backgroundcolorgreen>205</backgroundcolorgreen>
  176 + <backgroundcolorblue>112</backgroundcolorblue>
  177 + <bordercolorred>100</bordercolorred>
  178 + <bordercolorgreen>100</bordercolorgreen>
  179 + <bordercolorblue>100</bordercolorblue>
  180 + <drawshadow>Y</drawshadow>
  181 + </notepad>
  182 + </notepads>
  183 + <connection>
  184 + <name>192.168.168.1_jwgl_dw</name>
  185 + <server>192.168.168.1</server>
  186 + <type>ORACLE</type>
  187 + <access>Native</access>
  188 + <database>orcl</database>
  189 + <port>1521</port>
  190 + <username>jwgl_dw</username>
  191 + <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password>
  192 + <servername/>
  193 + <data_tablespace/>
  194 + <index_tablespace/>
  195 + <attributes>
  196 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  197 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  198 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  199 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  200 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  201 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  202 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  203 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  204 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  205 + </attributes>
  206 + </connection>
  207 + <connection>
  208 + <name>bus_control_variable</name>
  209 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  210 + <type>MYSQL</type>
  211 + <access>Native</access>
  212 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  213 + <port>3306</port>
  214 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  215 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  216 + <servername/>
  217 + <data_tablespace/>
  218 + <index_tablespace/>
  219 + <attributes>
  220 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
  221 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  222 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  223 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  224 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  225 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  226 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  227 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  228 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  229 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  230 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  231 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  232 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  233 + </attributes>
  234 + </connection>
  235 + <connection>
  236 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  237 + <server>localhost</server>
  238 + <type>MYSQL</type>
  239 + <access>Native</access>
  240 + <database>control</database>
  241 + <port>3306</port>
  242 + <username>root</username>
  243 + <password>Encrypted </password>
  244 + <servername/>
  245 + <data_tablespace/>
  246 + <index_tablespace/>
  247 + <attributes>
  248 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  249 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  250 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  251 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  252 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  253 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  254 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  255 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  256 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  257 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  258 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  259 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  260 + </attributes>
  261 + </connection>
  262 + <connection>
  263 + <name>bus_control_&#x672c;&#x673a;</name>
  264 + <server>localhost</server>
  265 + <type>MYSQL</type>
  266 + <access>Native</access>
  267 + <database>control</database>
  268 + <port>3306</port>
  269 + <username>root</username>
  270 + <password>Encrypted </password>
  271 + <servername/>
  272 + <data_tablespace/>
  273 + <index_tablespace/>
  274 + <attributes>
  275 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  276 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  277 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  278 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  279 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  280 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  281 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  282 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  283 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  284 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  285 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  286 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  287 + </attributes>
  288 + </connection>
  289 + <connection>
  290 + <name>xlab_mysql_youle</name>
  291 + <server>101.231.124.8</server>
  292 + <type>MYSQL</type>
  293 + <access>Native</access>
  294 + <database>xlab_youle</database>
  295 + <port>45687</port>
  296 + <username>xlab-youle</username>
  297 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
  298 + <servername/>
  299 + <data_tablespace/>
  300 + <index_tablespace/>
  301 + <attributes>
  302 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  303 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  304 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  305 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  306 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  307 + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
  308 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  309 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  310 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  311 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  312 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  313 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  314 + </attributes>
  315 + </connection>
  316 + <connection>
  317 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  318 + <server>localhost</server>
  319 + <type>MYSQL</type>
  320 + <access>Native</access>
  321 + <database>xlab_youle</database>
  322 + <port>3306</port>
  323 + <username>root</username>
  324 + <password>Encrypted </password>
  325 + <servername/>
  326 + <data_tablespace/>
  327 + <index_tablespace/>
  328 + <attributes>
  329 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  330 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  331 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  332 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  333 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  334 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  335 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  336 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  337 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  338 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  339 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  340 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  341 + </attributes>
  342 + </connection>
  343 + <connection>
  344 + <name>xlab_youle</name>
  345 + <server/>
  346 + <type>MYSQL</type>
  347 + <access>JNDI</access>
  348 + <database>xlab_youle</database>
  349 + <port>1521</port>
  350 + <username/>
  351 + <password>Encrypted </password>
  352 + <servername/>
  353 + <data_tablespace/>
  354 + <index_tablespace/>
  355 + <attributes>
  356 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  357 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  358 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  359 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  360 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  361 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  362 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  363 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  364 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  365 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  366 + </attributes>
  367 + </connection>
  368 + <order>
  369 + <hop> <from>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</from><to>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</to><enabled>Y</enabled> </hop>
  370 + <hop> <from>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</from><to>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</to><enabled>Y</enabled> </hop>
  371 + <hop> <from>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</from><to>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</to><enabled>Y</enabled> </hop>
  372 + <hop> <from>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</from><to>&#x5904;&#x7406;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  373 + <hop> <from>&#x5904;&#x7406;&#x6570;&#x636e;</from><to>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</to><enabled>Y</enabled> </hop>
  374 + <hop> <from>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</from><to>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  375 + <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</from><to>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  376 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</to><enabled>Y</enabled> </hop>
  377 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</to><enabled>Y</enabled> </hop>
  378 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</from><to>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</to><enabled>Y</enabled> </hop>
  379 + <hop> <from>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</to><enabled>Y</enabled> </hop>
  380 + <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</from><to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</to><enabled>Y</enabled> </hop>
  381 + <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</from><to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  382 + <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</from><to>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  383 + <hop> <from>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</from><to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  384 + <hop> <from>&#x67e5;&#x627e;&#x6240;&#x6709;&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  385 + <hop> <from>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</to><enabled>Y</enabled> </hop>
  386 + <hop> <from>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  387 + <hop> <from>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>
  388 + <hop> <from>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  389 + <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</from><to>&#x67e5;&#x627e;&#x6240;&#x6709;&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  390 + <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  391 + <hop> <from>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  392 + <hop> <from>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</from><to>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</to><enabled>Y</enabled> </hop>
  393 + <hop> <from>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</from><to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</to><enabled>Y</enabled> </hop>
  394 + <hop> <from>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</to><enabled>Y</enabled> </hop>
  395 + <hop> <from>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</from><to>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>
  396 + <hop> <from>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</from><to>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>
  397 + <hop> <from>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</to><enabled>Y</enabled> </hop>
  398 + <hop> <from>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</to><enabled>Y</enabled> </hop>
  399 + <hop> <from>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</from><to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</to><enabled>Y</enabled> </hop>
  400 + <hop> <from>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</to><enabled>Y</enabled> </hop>
  401 + <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</to><enabled>Y</enabled> </hop>
  402 + <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</to><enabled>Y</enabled> </hop>
  403 + <hop> <from>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</from><to>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  404 + <hop> <from>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</from><to>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</to><enabled>Y</enabled> </hop>
  405 + <hop> <from>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</from><to>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</to><enabled>Y</enabled> </hop>
  406 + <hop> <from>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
  407 + <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</to><enabled>Y</enabled> </hop>
  408 + <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</from><to>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</to><enabled>Y</enabled> </hop>
  409 + <hop> <from>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</to><enabled>Y</enabled> </hop>
  410 + <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  411 + <hop> <from>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</to><enabled>Y</enabled> </hop>
  412 + <hop> <from>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</to><enabled>Y</enabled> </hop>
  413 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</to><enabled>Y</enabled> </hop>
  414 + <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 2</to><enabled>Y</enabled> </hop>
  415 + <hop> <from>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</from><to>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</to><enabled>Y</enabled> </hop>
  416 + <hop> <from>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</from><to>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</to><enabled>Y</enabled> </hop>
  417 + <hop> <from>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 3</to><enabled>Y</enabled> </hop>
  418 + </order>
  419 + <step>
  420 + <name>&#x4e0a;&#x4e0b;&#x884c;NULL&#x5224;&#x5b9a;</name>
  421 + <type>IfNull</type>
  422 + <description/>
  423 + <distribute>Y</distribute>
  424 + <custom_distribution/>
  425 + <copies>1</copies>
  426 + <partitioning>
  427 + <method>none</method>
  428 + <schema_name/>
  429 + </partitioning>
  430 + <replaceAllByValue/>
  431 + <replaceAllMask/>
  432 + <selectFields>Y</selectFields>
  433 + <selectValuesType>N</selectValuesType>
  434 + <setEmptyStringAll>N</setEmptyStringAll>
  435 + <valuetypes>
  436 + </valuetypes>
  437 + <fields>
  438 + <field>
  439 + <name>sxx</name>
  440 + <value>0</value>
  441 + <mask/>
  442 + <set_empty_string>N</set_empty_string>
  443 + </field>
  444 + </fields>
  445 + <cluster_schema/>
  446 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  447 + <xloc>335</xloc>
  448 + <yloc>938</yloc>
  449 + <draw>Y</draw>
  450 + </GUI>
  451 + </step>
  452 +
  453 + <step>
  454 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5224;&#x5b9a; 2</name>
  455 + <type>IfNull</type>
  456 + <description/>
  457 + <distribute>Y</distribute>
  458 + <custom_distribution/>
  459 + <copies>1</copies>
  460 + <partitioning>
  461 + <method>none</method>
  462 + <schema_name/>
  463 + </partitioning>
  464 + <replaceAllByValue/>
  465 + <replaceAllMask/>
  466 + <selectFields>Y</selectFields>
  467 + <selectValuesType>N</selectValuesType>
  468 + <setEmptyStringAll>N</setEmptyStringAll>
  469 + <valuetypes>
  470 + </valuetypes>
  471 + <fields>
  472 + <field>
  473 + <name>sxx2</name>
  474 + <value>0</value>
  475 + <mask/>
  476 + <set_empty_string>N</set_empty_string>
  477 + </field>
  478 + </fields>
  479 + <cluster_schema/>
  480 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  481 + <xloc>804</xloc>
  482 + <yloc>1081</yloc>
  483 + <draw>Y</draw>
  484 + </GUI>
  485 + </step>
  486 +
  487 + <step>
  488 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178;</name>
  489 + <type>ValueMapper</type>
  490 + <description/>
  491 + <distribute>Y</distribute>
  492 + <custom_distribution/>
  493 + <copies>1</copies>
  494 + <partitioning>
  495 + <method>none</method>
  496 + <schema_name/>
  497 + </partitioning>
  498 + <field_to_use>sxx</field_to_use>
  499 + <target_field>sxx_desc</target_field>
  500 + <non_match_default/>
  501 + <fields>
  502 + <field>
  503 + <source_value>0</source_value>
  504 + <target_value>&#x4e0a;&#x884c;</target_value>
  505 + </field>
  506 + <field>
  507 + <source_value>1</source_value>
  508 + <target_value>&#x4e0b;&#x884c;</target_value>
  509 + </field>
  510 + </fields>
  511 + <cluster_schema/>
  512 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  513 + <xloc>147</xloc>
  514 + <yloc>403</yloc>
  515 + <draw>Y</draw>
  516 + </GUI>
  517 + </step>
  518 +
  519 + <step>
  520 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 2</name>
  521 + <type>ValueMapper</type>
  522 + <description/>
  523 + <distribute>Y</distribute>
  524 + <custom_distribution/>
  525 + <copies>1</copies>
  526 + <partitioning>
  527 + <method>none</method>
  528 + <schema_name/>
  529 + </partitioning>
  530 + <field_to_use>sxx</field_to_use>
  531 + <target_field>sxx_desc</target_field>
  532 + <non_match_default/>
  533 + <fields>
  534 + <field>
  535 + <source_value>0</source_value>
  536 + <target_value>&#x4e0a;&#x884c;</target_value>
  537 + </field>
  538 + <field>
  539 + <source_value>1</source_value>
  540 + <target_value>&#x4e0b;&#x884c;</target_value>
  541 + </field>
  542 + </fields>
  543 + <cluster_schema/>
  544 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  545 + <xloc>331</xloc>
  546 + <yloc>598</yloc>
  547 + <draw>Y</draw>
  548 + </GUI>
  549 + </step>
  550 +
  551 + <step>
  552 + <name>&#x4e0a;&#x4e0b;&#x884c;&#x5b57;&#x5178; 3</name>
  553 + <type>ValueMapper</type>
  554 + <description/>
  555 + <distribute>Y</distribute>
  556 + <custom_distribution/>
  557 + <copies>1</copies>
  558 + <partitioning>
  559 + <method>none</method>
  560 + <schema_name/>
  561 + </partitioning>
  562 + <field_to_use>sxx</field_to_use>
  563 + <target_field>sxx_desc</target_field>
  564 + <non_match_default/>
  565 + <fields>
  566 + <field>
  567 + <source_value>0</source_value>
  568 + <target_value>&#x4e0a;&#x884c;</target_value>
  569 + </field>
  570 + <field>
  571 + <source_value>1</source_value>
  572 + <target_value>&#x4e0b;&#x884c;</target_value>
  573 + </field>
  574 + </fields>
  575 + <cluster_schema/>
  576 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  577 + <xloc>553</xloc>
  578 + <yloc>859</yloc>
  579 + <draw>Y</draw>
  580 + </GUI>
  581 + </step>
  582 +
  583 + <step>
  584 + <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>
  585 + <type>ScriptValueMod</type>
  586 + <description/>
  587 + <distribute>Y</distribute>
  588 + <custom_distribution/>
  589 + <copies>1</copies>
  590 + <partitioning>
  591 + <method>none</method>
  592 + <schema_name/>
  593 + </partitioning>
  594 + <compatible>N</compatible>
  595 + <optimizationLevel>9</optimizationLevel>
  596 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  597 + <jsScript_name>Script 1</jsScript_name>
  598 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var cc_groups &#x3d; qdzgroups.split&#x28;&#x22;,&#x22;&#x29;&#x3b; &#x2f;&#x2f; &#x6240;&#x6709;&#x73ed;&#x6b21;&#x8d77;&#x70b9;&#x7ad9;&#x6570;&#x7ec4;&#xa;var zdzname &#x3d; cc_groups&#x5b;gno&#x5d;&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#x662f;&#x4e0b;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x59cb;&#x7ad9;&#xa;var endZdtype &#x3d; &#x27;B&#x27;&#x3b;&#xa;&#x2f;&#x2f; var endZdtype &#x3d; &#x27;E&#x27;&#x3b;&#xa;&#xa;var destory &#x3d; 0&#x3b; &#x2f;&#x2f; &#x672a;&#x64a4;&#x9500;flag</jsScript_script>
  599 + </jsScript> </jsScripts> <fields> <field> <name>zdzname</name>
  600 + <rename>zdzname</rename>
  601 + <type>String</type>
  602 + <length>-1</length>
  603 + <precision>-1</precision>
  604 + <replace>N</replace>
  605 + </field> <field> <name>endZdtype</name>
  606 + <rename>endZdtype</rename>
  607 + <type>String</type>
  608 + <length>-1</length>
  609 + <precision>-1</precision>
  610 + <replace>N</replace>
  611 + </field> <field> <name>destory</name>
  612 + <rename>destory</rename>
  613 + <type>Integer</type>
  614 + <length>-1</length>
  615 + <precision>-1</precision>
  616 + <replace>N</replace>
  617 + </field> </fields> <cluster_schema/>
  618 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  619 + <xloc>575</xloc>
  620 + <yloc>502</yloc>
  621 + <draw>Y</draw>
  622 + </GUI>
  623 + </step>
  624 +
  625 + <step>
  626 + <name>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
  627 + <type>Dummy</type>
  628 + <description/>
  629 + <distribute>Y</distribute>
  630 + <custom_distribution/>
  631 + <copies>1</copies>
  632 + <partitioning>
  633 + <method>none</method>
  634 + <schema_name/>
  635 + </partitioning>
  636 + <cluster_schema/>
  637 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  638 + <xloc>869</xloc>
  639 + <yloc>504</yloc>
  640 + <draw>Y</draw>
  641 + </GUI>
  642 + </step>
  643 +
  644 + <step>
  645 + <name>&#x5206;&#x7ec4;&#x5404;&#x4e2a;&#x8def;&#x724c;&#x7684;&#x7ad9;</name>
  646 + <type>GroupBy</type>
  647 + <description/>
  648 + <distribute>Y</distribute>
  649 + <custom_distribution/>
  650 + <copies>1</copies>
  651 + <partitioning>
  652 + <method>none</method>
  653 + <schema_name/>
  654 + </partitioning>
  655 + <all_rows>Y</all_rows>
  656 + <ignore_aggregate>N</ignore_aggregate>
  657 + <field_ignore/>
  658 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  659 + <prefix>grp</prefix>
  660 + <add_linenr>Y</add_linenr>
  661 + <linenr_fieldname>gno</linenr_fieldname>
  662 + <give_back_row>N</give_back_row>
  663 + <group>
  664 + <field>
  665 + <name>lp</name>
  666 + </field>
  667 + </group>
  668 + <fields>
  669 + <field>
  670 + <aggregate>qdzgroups</aggregate>
  671 + <subject>qdzname</subject>
  672 + <type>CONCAT_STRING</type>
  673 + <valuefield>,</valuefield>
  674 + </field>
  675 + </fields>
  676 + <cluster_schema/>
  677 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  678 + <xloc>892</xloc>
  679 + <yloc>44</yloc>
  680 + <draw>Y</draw>
  681 + </GUI>
  682 + </step>
  683 +
  684 + <step>
  685 + <name>&#x5339;&#x914d;&#x4e0a;&#x4e0b;&#x884c;&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  686 + <type>ScriptValueMod</type>
  687 + <description/>
  688 + <distribute>Y</distribute>
  689 + <custom_distribution/>
  690 + <copies>1</copies>
  691 + <partitioning>
  692 + <method>none</method>
  693 + <schema_name/>
  694 + </partitioning>
  695 + <compatible>N</compatible>
  696 + <optimizationLevel>9</optimizationLevel>
  697 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  698 + <jsScript_name>Script 1</jsScript_name>
  699 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var jhlc&#x3b; &#x2f;&#x2f; &#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var bcsj&#x3b; &#x2f;&#x2f; &#x73ed;&#x6b21;&#x65f6;&#x95f4;&#xa;&#xa;&#x2f;&#x2f; &#x65f6;&#x95f4;&#x8303;&#x56f4;&#x6b63;&#x5219;&#x8868;&#x8fbe;&#x5f0f;&#xa;var timeRex &#x3d; &#x2f;&#x5e;&#x28;&#x5b;01&#x5d;&#x3f;&#x5b;0-9&#x5d;&#x7c;2&#x5b;0-3&#x5d;&#x29;&#x3a;&#x5b;0-5&#x5d;&#x5b;0-9&#x5d;&#x24;&#x2f;&#x3b;&#xa;&#x2f;&#x2f; &#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x8f6c;&#x6362;&#x6210;&#x65e5;&#x671f;&#xa;var fcsj_hour &#x3d; str2num&#x28;sendtime_calcu.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa;var fcsj_min &#x3d; str2num&#x28;sendtime_calcu.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa;var fcsj_date &#x3d; new Date&#x28;2000,1,1,fcsj_hour,fcsj_min,0&#x29;&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x5224;&#x5b9a;&#x662f;&#x5426;&#x65e9;&#x9ad8;&#x5cf0;&#xa;var isZgf &#x3d; false&#x3b;&#xa;if &#x28;timeRex.test&#x28;early_start_time&#x29; &#x26;&#x26; timeRex.test&#x28;early_end_time&#x29; &#x26;&#x26; early_up_time &#x21;&#x3d; null &#x26;&#x26; early_down_time &#x21;&#x3d; null&#x29; &#x7b;&#xa; var early_s_hour &#x3d; str2num&#x28;early_start_time.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var early_s_min &#x3d; str2num&#x28;early_start_time.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var early_s_date &#x3d; new Date&#x28;2000,1,1,early_s_hour,early_s_min,0&#x29;&#x3b;&#xa;&#xa; var early_e_hour &#x3d; str2num&#x28;early_end_time.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var early_e_min &#x3d; str2num&#x28;early_end_time.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var early_e_date &#x3d; new Date&#x28;2000,1,1,early_e_hour,early_e_min,0&#x29;&#x3b;&#xa;&#xa; if &#x28;fcsj_date &#x3e;&#x3d; early_s_date &#x26;&#x26; fcsj_date &#x3c;&#x3d; early_e_date&#x29; &#x7b;&#xa; isZgf &#x3d; true&#x3b;&#xa; &#x7d;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x5224;&#x5b9a;&#x662f;&#x5426;&#x665a;&#x9ad8;&#x5cf0;&#xa;var isWgf &#x3d; false&#x3b;&#xa;if &#x28;timeRex.test&#x28;late_start_time&#x29; &#x26;&#x26; timeRex.test&#x28;late_end_time&#x29; &#x26;&#x26; late_up_time &#x21;&#x3d; null &#x26;&#x26; late_down_time &#x21;&#x3d; null&#x29; &#x7b;&#xa; var late_s_hour &#x3d; str2num&#x28;late_start_time.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var late_s_min &#x3d; str2num&#x28;late_start_time.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var late_s_date &#x3d; new Date&#x28;2000,1,1,late_s_hour,late_s_min,0&#x29;&#x3b;&#xa;&#xa; var late_e_hour &#x3d; str2num&#x28;late_end_time.substr&#x28;0, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var late_e_min &#x3d; str2num&#x28;late_end_time.substr&#x28;3, 2&#x29;, &#x22;&#x23;&#x22;&#x29;&#x3b;&#xa; var late_e_date &#x3d; new Date&#x28;2000,1,1,late_e_hour,late_e_min,0&#x29;&#x3b;&#xa;&#xa; if &#x28;fcsj_date &#x3e;&#x3d; late_s_date &#x26;&#x26; fcsj_date &#x3c;&#x3d; late_e_date&#x29; &#x7b;&#xa; isWgf &#x3d; true&#x3b;&#xa; &#x7d;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x5224;&#x5b9a;&#x662f;&#x5426;&#x665a;&#x9ad8;&#x5cf0;&#xa;&#xa;if &#x28;sxx &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; if &#x28;isZgf&#x29; &#x7b;&#xa; jhlc &#x3d; up_mileage&#x3b;&#xa; bcsj &#x3d; early_up_time &#x21;&#x3d; 0 &#x3f; early_up_time &#x3a; up_travel_time&#x3b;&#xa; &#x7d; else if &#x28;isWgf&#x29; &#x7b;&#xa; jhlc &#x3d; up_mileage&#x3b;&#xa; bcsj &#x3d; late_up_time &#x21;&#x3d; 0 &#x3f; late_up_time &#x3a; up_travel_time&#x3b;&#xa; &#x7d; else &#x7b;&#xa; jhlc &#x3d; up_mileage&#x3b;&#xa; bcsj &#x3d; up_travel_time&#x3b;&#xa; &#x7d;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; if &#x28;isZgf&#x29; &#x7b;&#xa; jhlc &#x3d; down_mileage&#x3b;&#xa; bcsj &#x3d; early_down_time &#x21;&#x3d; 0 &#x3f; early_down_time &#x3a; down_travel_time&#x3b;&#xa; &#x7d; else if &#x28;isWgf&#x29; &#x7b;&#xa; jhlc &#x3d; down_mileage&#x3b;&#xa; bcsj &#x3d; late_down_time &#x21;&#x3d; 0 &#x3f; late_down_time &#x3a; down_travel_time&#x3b;&#xa; &#x7d; else &#x7b;&#xa; jhlc &#x3d; down_mileage&#x3b;&#xa; bcsj &#x3d; down_travel_time&#x3b;&#xa; &#x7d;&#xa;&#x7d;</jsScript_script>
  700 + </jsScript> </jsScripts> <fields> <field> <name>jhlc</name>
  701 + <rename>jhlc</rename>
  702 + <type>String</type>
  703 + <length>-1</length>
  704 + <precision>-1</precision>
  705 + <replace>N</replace>
  706 + </field> <field> <name>bcsj</name>
  707 + <rename>bcsj</rename>
  708 + <type>String</type>
  709 + <length>-1</length>
  710 + <precision>-1</precision>
  711 + <replace>N</replace>
  712 + </field> </fields> <cluster_schema/>
  713 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  714 + <xloc>148</xloc>
  715 + <yloc>674</yloc>
  716 + <draw>Y</draw>
  717 + </GUI>
  718 + </step>
  719 +
  720 + <step>
  721 + <name>&#x5339;&#x914d;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  722 + <type>ScriptValueMod</type>
  723 + <description/>
  724 + <distribute>Y</distribute>
  725 + <custom_distribution/>
  726 + <copies>1</copies>
  727 + <partitioning>
  728 + <method>none</method>
  729 + <schema_name/>
  730 + </partitioning>
  731 + <compatible>N</compatible>
  732 + <optimizationLevel>9</optimizationLevel>
  733 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  734 + <jsScript_name>Script 1</jsScript_name>
  735 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var out_mileage&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var out_time&#x3b; &#x2f;&#x2f; &#x51fa;&#x573a;&#x8ba1;&#x5212;&#x65f6;&#x95f4;&#xa;&#xa;if &#x28;sxx &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; out_mileage &#x3d; up_out_mileage&#x3b;&#xa; out_time &#x3d; up_out_timer&#x3b;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; out_mileage &#x3d; down_out_mileage&#x3b;&#xa; out_time &#x3d; down_out_timer&#x3b;&#xa;&#x7d;&#xa;&#xa;&#xa;&#xa;</jsScript_script>
  736 + </jsScript> </jsScripts> <fields> <field> <name>out_mileage</name>
  737 + <rename>out_mileage</rename>
  738 + <type>String</type>
  739 + <length>-1</length>
  740 + <precision>-1</precision>
  741 + <replace>N</replace>
  742 + </field> <field> <name>out_time</name>
  743 + <rename>out_time</rename>
  744 + <type>String</type>
  745 + <length>-1</length>
  746 + <precision>-1</precision>
  747 + <replace>N</replace>
  748 + </field> </fields> <cluster_schema/>
  749 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  750 + <xloc>336</xloc>
  751 + <yloc>862</yloc>
  752 + <draw>Y</draw>
  753 + </GUI>
  754 + </step>
  755 +
  756 + <step>
  757 + <name>&#x5339;&#x914d;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  758 + <type>ScriptValueMod</type>
  759 + <description/>
  760 + <distribute>Y</distribute>
  761 + <custom_distribution/>
  762 + <copies>1</copies>
  763 + <partitioning>
  764 + <method>none</method>
  765 + <schema_name/>
  766 + </partitioning>
  767 + <compatible>N</compatible>
  768 + <optimizationLevel>9</optimizationLevel>
  769 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  770 + <jsScript_name>Script 1</jsScript_name>
  771 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var parade_mileage&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x8ba1;&#x5212;&#x91cc;&#x7a0b;&#xa;var parade_time&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x8ba1;&#x5212;&#x65f6;&#x95f4;&#xa;&#xa;if &#x28;sxx2 &#x3d;&#x3d; 0&#x29; &#x7b; &#x2f;&#x2f; &#x4e0a;&#x884c;&#xa; parade_mileage &#x3d; up_in_mileage&#x3b;&#xa; parade_time &#x3d; up_in_timer&#x3b;&#xa;&#x7d; else &#x7b; &#x2f;&#x2f; sxx &#x3d;&#x3d; 1 &#x4e0b;&#x884c;&#xa; parade_mileage &#x3d; down_in_mileage&#x3b;&#xa; parade_time &#x3d; down_in_timer&#x3b;&#xa;&#x7d;&#xa;&#xa;&#xa;&#xa;</jsScript_script>
  772 + </jsScript> </jsScripts> <fields> <field> <name>parade_mileage</name>
  773 + <rename>parade_mileage</rename>
  774 + <type>String</type>
  775 + <length>-1</length>
  776 + <precision>-1</precision>
  777 + <replace>N</replace>
  778 + </field> <field> <name>parade_time</name>
  779 + <rename>parade_time</rename>
  780 + <type>String</type>
  781 + <length>-1</length>
  782 + <precision>-1</precision>
  783 + <replace>N</replace>
  784 + </field> </fields> <cluster_schema/>
  785 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  786 + <xloc>726</xloc>
  787 + <yloc>1005</yloc>
  788 + <draw>Y</draw>
  789 + </GUI>
  790 + </step>
  791 +
  792 + <step>
  793 + <name>&#x589e;&#x52a0;&#x65f6;&#x523b;&#x8868;&#x540d;&#x5b57;&#xff0c;&#x7ebf;&#x8def;&#x540d;&#x5b57;&#xff0c;&#x505c;&#x8f66;&#x573a;&#x540d;&#x5b57;</name>
  794 + <type>DataGrid</type>
  795 + <description/>
  796 + <distribute>Y</distribute>
  797 + <custom_distribution/>
  798 + <copies>1</copies>
  799 + <partitioning>
  800 + <method>none</method>
  801 + <schema_name/>
  802 + </partitioning>
  803 + <fields>
  804 + </fields>
  805 + <data>
  806 + <line> </line>
  807 + </data>
  808 + <cluster_schema/>
  809 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  810 + <xloc>110</xloc>
  811 + <yloc>133</yloc>
  812 + <draw>Y</draw>
  813 + </GUI>
  814 + </step>
  815 +
  816 + <step>
  817 + <name>&#x5904;&#x7406;&#x6570;&#x636e;</name>
  818 + <type>ScriptValueMod</type>
  819 + <description/>
  820 + <distribute>Y</distribute>
  821 + <custom_distribution/>
  822 + <copies>1</copies>
  823 + <partitioning>
  824 + <method>none</method>
  825 + <schema_name/>
  826 + </partitioning>
  827 + <compatible>N</compatible>
  828 + <optimizationLevel>9</optimizationLevel>
  829 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  830 + <jsScript_name>Script 1</jsScript_name>
  831 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x4f7f;&#x7528;&#x6b63;&#x5219;&#x8868;&#x8fbe;&#x5f0f;&#x53bb;&#x9664;&#x7ad9;&#x70b9;&#x540d;&#x79f0;&#x4e2d;&#x7684;&#x6570;&#x5b57;&#xa;qdzname &#x3d; qdzname.replace&#x28;&#x2f;&#x5c;d&#x2b;&#x2f;g,&#x27;&#x27;&#x29;&#x3b;&#xa;&#xa;&#x2f;&#x2f; sendtime&#x5904;&#x7406;&#xff0c;hhmm&#xff0c;hh&#x3a;mm&#xff0c;hh,mm&#xa;var sendtime_calcu&#x3b;&#xa;if &#x28;sendtime.length &#x3d;&#x3d; 5&#x29; &#x7b; &#x2f;&#x2f; &#x6700;&#x957f;&#x683c;&#x5f0f;&#xff0c;&#x5305;&#x62ec;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x7edf;&#x4e00;&#x628a;&#x5206;&#x9694;&#x7b26;&#x66ff;&#x6362;&#x6210;&#x5192;&#x53f7;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;3, 2&#x29;&#x3b;&#xa;&#x7d; else if &#x28;sendtime.length &#x3d;&#x3d; 4&#x29; &#x7b;&#xa; if &#x28;sendtime.indexOf&#x28;&#x22;&#x3a;&#x22;&#x29; &#x3e; 0&#x29; &#x7b; &#x2f;&#x2f; &#x5192;&#x53f7;&#x5206;&#x9694;&#xff0c;&#x65e0;&#x9700;&#x4fee;&#x6539;&#xa; sendtime_calcu &#x3d; sendtime&#x3b;&#xa; &#x7d; else if &#x28;sendtime.indexOf&#x28;&#x22;,&#x22;&#x29; &#x3e; 0&#x29; &#x7b; &#x2f;&#x2f; &#x9017;&#x53f7;&#x5206;&#x9694;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 1&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa; &#x7d; else &#x7b; &#x2f;&#x2f; &#x65e0;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 2&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;2, 2&#x29;&#x3b;&#xa; &#x7d;&#xa;&#x7d; else if &#x28;sendtime.length &#x3d;&#x3d; 3&#x29; &#x7b; &#x2f;&#x2f; &#x65e0;&#x5206;&#x9694;&#x7b26;&#xff0c;&#x6539;&#x6210;&#x5192;&#x53f7;&#x5206;&#x9694;&#xa; sendtime_calcu &#x3d; sendtime.substr&#x28;0, 1&#x29; &#x2b; &#x22;&#x3a;&#x22; &#x2b; sendtime.substr&#x28;1, 2&#x29;&#x3b;&#xa;&#x7d;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;&#x5206;&#x73ed;&#xa;var isfb &#x3d; 0&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;&#x505c;&#x9a76;&#xa;var ists &#x3d; 0&#x3b;&#xa;&#xa;&#x2f;&#x2f; &#x8bbe;&#x7f6e;isCanceled&#xa;var iscanceled &#x3d; 0&#x3b;</jsScript_script>
  832 + </jsScript> </jsScripts> <fields> <field> <name>qdzname</name>
  833 + <rename>qdzname</rename>
  834 + <type>String</type>
  835 + <length>-1</length>
  836 + <precision>-1</precision>
  837 + <replace>Y</replace>
  838 + </field> <field> <name>isfb</name>
  839 + <rename>isfb</rename>
  840 + <type>Integer</type>
  841 + <length>-1</length>
  842 + <precision>-1</precision>
  843 + <replace>N</replace>
  844 + </field> <field> <name>iscanceled</name>
  845 + <rename>iscanceled</rename>
  846 + <type>Integer</type>
  847 + <length>-1</length>
  848 + <precision>-1</precision>
  849 + <replace>N</replace>
  850 + </field> <field> <name>sendtime_calcu</name>
  851 + <rename>sendtime_calcu</rename>
  852 + <type>String</type>
  853 + <length>-1</length>
  854 + <precision>-1</precision>
  855 + <replace>N</replace>
  856 + </field> <field> <name>ists</name>
  857 + <rename>ists</rename>
  858 + <type>Integer</type>
  859 + <length>-1</length>
  860 + <precision>-1</precision>
  861 + <replace>N</replace>
  862 + </field> </fields> <cluster_schema/>
  863 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  864 + <xloc>788</xloc>
  865 + <yloc>44</yloc>
  866 + <draw>Y</draw>
  867 + </GUI>
  868 + </step>
  869 +
  870 + <step>
  871 + <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
  872 + <type>SelectValues</type>
  873 + <description/>
  874 + <distribute>Y</distribute>
  875 + <custom_distribution/>
  876 + <copies>1</copies>
  877 + <partitioning>
  878 + <method>none</method>
  879 + <schema_name/>
  880 + </partitioning>
  881 + <fields> <field> <name>&#x8def;&#x724c;</name>
  882 + <rename>lp</rename>
  883 + <length>-2</length>
  884 + <precision>-2</precision>
  885 + </field> <field> <name>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</name>
  886 + <rename>qdzname</rename>
  887 + <length>-2</length>
  888 + <precision>-2</precision>
  889 + </field> <field> <name>&#x53d1;&#x8f66;&#x65f6;&#x95f4;</name>
  890 + <rename>sendtime</rename>
  891 + <length>-2</length>
  892 + <precision>-2</precision>
  893 + </field> <select_unspecified>Y</select_unspecified>
  894 + </fields> <cluster_schema/>
  895 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  896 + <xloc>444</xloc>
  897 + <yloc>131</yloc>
  898 + <draw>Y</draw>
  899 + </GUI>
  900 + </step>
  901 +
  902 + <step>
  903 + <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;1</name>
  904 + <type>FilterRows</type>
  905 + <description/>
  906 + <distribute>Y</distribute>
  907 + <custom_distribution/>
  908 + <copies>1</copies>
  909 + <partitioning>
  910 + <method>none</method>
  911 + <schema_name/>
  912 + </partitioning>
  913 +<send_true_to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>
  914 +<send_false_to>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</send_false_to>
  915 + <compare>
  916 +<condition>
  917 + <negated>N</negated>
  918 + <leftvalue>bctype</leftvalue>
  919 + <function>&#x3d;</function>
  920 + <rightvalue/>
  921 + <value><name>constant</name><type>String</type><text>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>
  922 + </compare>
  923 + <cluster_schema/>
  924 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  925 + <xloc>860</xloc>
  926 + <yloc>401</yloc>
  927 + <draw>Y</draw>
  928 + </GUI>
  929 + </step>
  930 +
  931 + <step>
  932 + <name>&#x6309;&#x7167;&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x8fc7;&#x6ee4;&#x6570;&#x636e;2</name>
  933 + <type>FilterRows</type>
  934 + <description/>
  935 + <distribute>Y</distribute>
  936 + <custom_distribution/>
  937 + <copies>1</copies>
  938 + <partitioning>
  939 + <method>none</method>
  940 + <schema_name/>
  941 + </partitioning>
  942 +<send_true_to>&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_true_to>
  943 +<send_false_to>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</send_false_to>
  944 + <compare>
  945 +<condition>
  946 + <negated>N</negated>
  947 + <leftvalue>bctype</leftvalue>
  948 + <function>&#x3d;</function>
  949 + <rightvalue/>
  950 + <value><name>constant</name><type>String</type><text>&#x51fa;&#x573a;</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>
  951 + </compare>
  952 + <cluster_schema/>
  953 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  954 + <xloc>995</xloc>
  955 + <yloc>503</yloc>
  956 + <draw>Y</draw>
  957 + </GUI>
  958 + </step>
  959 +
  960 + <step>
  961 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</name>
  962 + <type>InsertUpdate</type>
  963 + <description/>
  964 + <distribute>Y</distribute>
  965 + <custom_distribution/>
  966 + <copies>1</copies>
  967 + <partitioning>
  968 + <method>none</method>
  969 + <schema_name/>
  970 + </partitioning>
  971 + <connection>bus_control_variable</connection>
  972 + <commit>100</commit>
  973 + <update_bypassed>N</update_bypassed>
  974 + <lookup>
  975 + <schema/>
  976 + <table>bsth_c_s_ttinfo_detail</table>
  977 + <key>
  978 + <name>xlid</name>
  979 + <field>xl</field>
  980 + <condition>&#x3d;</condition>
  981 + <name2/>
  982 + </key>
  983 + <key>
  984 + <name>ttid</name>
  985 + <field>ttinfo</field>
  986 + <condition>&#x3d;</condition>
  987 + <name2/>
  988 + </key>
  989 + <key>
  990 + <name>lpid</name>
  991 + <field>lp</field>
  992 + <condition>&#x3d;</condition>
  993 + <name2/>
  994 + </key>
  995 + <key>
  996 + <name>fcno</name>
  997 + <field>fcno</field>
  998 + <condition>&#x3d;</condition>
  999 + <name2/>
  1000 + </key>
  1001 + <key>
  1002 + <name>bcs</name>
  1003 + <field>bcs</field>
  1004 + <condition>&#x3d;</condition>
  1005 + <name2/>
  1006 + </key>
  1007 + <value>
  1008 + <name>lp</name>
  1009 + <rename>lpid</rename>
  1010 + <update>Y</update>
  1011 + </value>
  1012 + <value>
  1013 + <name>bc_type</name>
  1014 + <rename>bctype_code</rename>
  1015 + <update>Y</update>
  1016 + </value>
  1017 + <value>
  1018 + <name>bcs</name>
  1019 + <rename>bcs</rename>
  1020 + <update>Y</update>
  1021 + </value>
  1022 + <value>
  1023 + <name>bcsj</name>
  1024 + <rename>bcsj</rename>
  1025 + <update>Y</update>
  1026 + </value>
  1027 + <value>
  1028 + <name>fcno</name>
  1029 + <rename>fcno</rename>
  1030 + <update>Y</update>
  1031 + </value>
  1032 + <value>
  1033 + <name>jhlc</name>
  1034 + <rename>jhlc</rename>
  1035 + <update>Y</update>
  1036 + </value>
  1037 + <value>
  1038 + <name>fcsj</name>
  1039 + <rename>sendtime_calcu</rename>
  1040 + <update>Y</update>
  1041 + </value>
  1042 + <value>
  1043 + <name>ttinfo</name>
  1044 + <rename>ttid</rename>
  1045 + <update>Y</update>
  1046 + </value>
  1047 + <value>
  1048 + <name>xl</name>
  1049 + <rename>xlid</rename>
  1050 + <update>Y</update>
  1051 + </value>
  1052 + <value>
  1053 + <name>qdz</name>
  1054 + <rename>qdzid</rename>
  1055 + <update>Y</update>
  1056 + </value>
  1057 + <value>
  1058 + <name>zdz</name>
  1059 + <rename>zdzid</rename>
  1060 + <update>Y</update>
  1061 + </value>
  1062 + <value>
  1063 + <name>xl_dir</name>
  1064 + <rename>sxx</rename>
  1065 + <update>Y</update>
  1066 + </value>
  1067 + <value>
  1068 + <name>isfb</name>
  1069 + <rename>isfb</rename>
  1070 + <update>Y</update>
  1071 + </value>
  1072 + <value>
  1073 + <name>qdz_code</name>
  1074 + <rename>qdzcode</rename>
  1075 + <update>Y</update>
  1076 + </value>
  1077 + <value>
  1078 + <name>qdz_name</name>
  1079 + <rename>qdzname</rename>
  1080 + <update>Y</update>
  1081 + </value>
  1082 + <value>
  1083 + <name>zdz_code</name>
  1084 + <rename>zdzcode</rename>
  1085 + <update>Y</update>
  1086 + </value>
  1087 + <value>
  1088 + <name>zdz_name</name>
  1089 + <rename>zdzname</rename>
  1090 + <update>Y</update>
  1091 + </value>
  1092 + <value>
  1093 + <name>ists</name>
  1094 + <rename>ists</rename>
  1095 + <update>Y</update>
  1096 + </value>
  1097 + </lookup>
  1098 + <cluster_schema/>
  1099 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1100 + <xloc>143</xloc>
  1101 + <yloc>860</yloc>
  1102 + <draw>Y</draw>
  1103 + </GUI>
  1104 + </step>
  1105 +
  1106 + <step>
  1107 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 2</name>
  1108 + <type>InsertUpdate</type>
  1109 + <description/>
  1110 + <distribute>Y</distribute>
  1111 + <custom_distribution/>
  1112 + <copies>1</copies>
  1113 + <partitioning>
  1114 + <method>none</method>
  1115 + <schema_name/>
  1116 + </partitioning>
  1117 + <connection>bus_control_variable</connection>
  1118 + <commit>100</commit>
  1119 + <update_bypassed>N</update_bypassed>
  1120 + <lookup>
  1121 + <schema/>
  1122 + <table>bsth_c_s_ttinfo_detail</table>
  1123 + <key>
  1124 + <name>xlid</name>
  1125 + <field>xl</field>
  1126 + <condition>&#x3d;</condition>
  1127 + <name2/>
  1128 + </key>
  1129 + <key>
  1130 + <name>ttid</name>
  1131 + <field>ttinfo</field>
  1132 + <condition>&#x3d;</condition>
  1133 + <name2/>
  1134 + </key>
  1135 + <key>
  1136 + <name>lpid</name>
  1137 + <field>lp</field>
  1138 + <condition>&#x3d;</condition>
  1139 + <name2/>
  1140 + </key>
  1141 + <key>
  1142 + <name>fcno</name>
  1143 + <field>fcno</field>
  1144 + <condition>&#x3d;</condition>
  1145 + <name2/>
  1146 + </key>
  1147 + <key>
  1148 + <name>bcs</name>
  1149 + <field>bcs</field>
  1150 + <condition>&#x3d;</condition>
  1151 + <name2/>
  1152 + </key>
  1153 + <value>
  1154 + <name>tcc</name>
  1155 + <rename>qdzid</rename>
  1156 + <update>Y</update>
  1157 + </value>
  1158 + <value>
  1159 + <name>zdz</name>
  1160 + <rename>zdzid</rename>
  1161 + <update>Y</update>
  1162 + </value>
  1163 + <value>
  1164 + <name>xl</name>
  1165 + <rename>xlid</rename>
  1166 + <update>Y</update>
  1167 + </value>
  1168 + <value>
  1169 + <name>ttinfo</name>
  1170 + <rename>ttid</rename>
  1171 + <update>Y</update>
  1172 + </value>
  1173 + <value>
  1174 + <name>xl_dir</name>
  1175 + <rename>sxx</rename>
  1176 + <update>Y</update>
  1177 + </value>
  1178 + <value>
  1179 + <name>lp</name>
  1180 + <rename>lpid</rename>
  1181 + <update>Y</update>
  1182 + </value>
  1183 + <value>
  1184 + <name>jhlc</name>
  1185 + <rename>out_mileage</rename>
  1186 + <update>Y</update>
  1187 + </value>
  1188 + <value>
  1189 + <name>fcsj</name>
  1190 + <rename>sendtime_calcu</rename>
  1191 + <update>Y</update>
  1192 + </value>
  1193 + <value>
  1194 + <name>bcsj</name>
  1195 + <rename>out_time</rename>
  1196 + <update>Y</update>
  1197 + </value>
  1198 + <value>
  1199 + <name>bcs</name>
  1200 + <rename>bcs</rename>
  1201 + <update>Y</update>
  1202 + </value>
  1203 + <value>
  1204 + <name>fcno</name>
  1205 + <rename>fcno</rename>
  1206 + <update>Y</update>
  1207 + </value>
  1208 + <value>
  1209 + <name>bc_type</name>
  1210 + <rename>bctype_code</rename>
  1211 + <update>Y</update>
  1212 + </value>
  1213 + <value>
  1214 + <name>isfb</name>
  1215 + <rename>isfb</rename>
  1216 + <update>Y</update>
  1217 + </value>
  1218 + <value>
  1219 + <name>qdz_code</name>
  1220 + <rename>qdzcode</rename>
  1221 + <update>Y</update>
  1222 + </value>
  1223 + <value>
  1224 + <name>qdz_name</name>
  1225 + <rename>tn</rename>
  1226 + <update>Y</update>
  1227 + </value>
  1228 + <value>
  1229 + <name>zdz_code</name>
  1230 + <rename>zdzcode</rename>
  1231 + <update>Y</update>
  1232 + </value>
  1233 + <value>
  1234 + <name>zdz_name</name>
  1235 + <rename>zdzname</rename>
  1236 + <update>Y</update>
  1237 + </value>
  1238 + <value>
  1239 + <name>ists</name>
  1240 + <rename>ists</rename>
  1241 + <update>Y</update>
  1242 + </value>
  1243 + </lookup>
  1244 + <cluster_schema/>
  1245 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1246 + <xloc>340</xloc>
  1247 + <yloc>1087</yloc>
  1248 + <draw>Y</draw>
  1249 + </GUI>
  1250 + </step>
  1251 +
  1252 + <step>
  1253 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail 3</name>
  1254 + <type>InsertUpdate</type>
  1255 + <description/>
  1256 + <distribute>Y</distribute>
  1257 + <custom_distribution/>
  1258 + <copies>1</copies>
  1259 + <partitioning>
  1260 + <method>none</method>
  1261 + <schema_name/>
  1262 + </partitioning>
  1263 + <connection>bus_control_variable</connection>
  1264 + <commit>100</commit>
  1265 + <update_bypassed>N</update_bypassed>
  1266 + <lookup>
  1267 + <schema/>
  1268 + <table>bsth_c_s_ttinfo_detail</table>
  1269 + <key>
  1270 + <name>xlid</name>
  1271 + <field>xl</field>
  1272 + <condition>&#x3d;</condition>
  1273 + <name2/>
  1274 + </key>
  1275 + <key>
  1276 + <name>ttid</name>
  1277 + <field>ttinfo</field>
  1278 + <condition>&#x3d;</condition>
  1279 + <name2/>
  1280 + </key>
  1281 + <key>
  1282 + <name>lpid</name>
  1283 + <field>lp</field>
  1284 + <condition>&#x3d;</condition>
  1285 + <name2/>
  1286 + </key>
  1287 + <key>
  1288 + <name>fcno</name>
  1289 + <field>fcno</field>
  1290 + <condition>&#x3d;</condition>
  1291 + <name2/>
  1292 + </key>
  1293 + <key>
  1294 + <name>bcs</name>
  1295 + <field>bcs</field>
  1296 + <condition>&#x3d;</condition>
  1297 + <name2/>
  1298 + </key>
  1299 + <value>
  1300 + <name>fcno</name>
  1301 + <rename>fcno</rename>
  1302 + <update>Y</update>
  1303 + </value>
  1304 + <value>
  1305 + <name>bcs</name>
  1306 + <rename>bcs</rename>
  1307 + <update>Y</update>
  1308 + </value>
  1309 + <value>
  1310 + <name>xl</name>
  1311 + <rename>xlid</rename>
  1312 + <update>Y</update>
  1313 + </value>
  1314 + <value>
  1315 + <name>ttinfo</name>
  1316 + <rename>ttid</rename>
  1317 + <update>Y</update>
  1318 + </value>
  1319 + <value>
  1320 + <name>lp</name>
  1321 + <rename>lpid</rename>
  1322 + <update>Y</update>
  1323 + </value>
  1324 + <value>
  1325 + <name>bc_type</name>
  1326 + <rename>bctype_code</rename>
  1327 + <update>Y</update>
  1328 + </value>
  1329 + <value>
  1330 + <name>bcsj</name>
  1331 + <rename>parade_time</rename>
  1332 + <update>Y</update>
  1333 + </value>
  1334 + <value>
  1335 + <name>jhlc</name>
  1336 + <rename>parade_mileage</rename>
  1337 + <update>Y</update>
  1338 + </value>
  1339 + <value>
  1340 + <name>fcsj</name>
  1341 + <rename>sendtime_calcu</rename>
  1342 + <update>Y</update>
  1343 + </value>
  1344 + <value>
  1345 + <name>xl_dir</name>
  1346 + <rename>sxx2</rename>
  1347 + <update>Y</update>
  1348 + </value>
  1349 + <value>
  1350 + <name>qdz</name>
  1351 + <rename>qdzid</rename>
  1352 + <update>Y</update>
  1353 + </value>
  1354 + <value>
  1355 + <name>tcc</name>
  1356 + <rename>zdzid</rename>
  1357 + <update>Y</update>
  1358 + </value>
  1359 + <value>
  1360 + <name>isfb</name>
  1361 + <rename>isfb</rename>
  1362 + <update>Y</update>
  1363 + </value>
  1364 + <value>
  1365 + <name>qdz_code</name>
  1366 + <rename>qdzcode</rename>
  1367 + <update>Y</update>
  1368 + </value>
  1369 + <value>
  1370 + <name>qdz_name</name>
  1371 + <rename>qname</rename>
  1372 + <update>Y</update>
  1373 + </value>
  1374 + <value>
  1375 + <name>zdz_code</name>
  1376 + <rename>zdzcode</rename>
  1377 + <update>Y</update>
  1378 + </value>
  1379 + <value>
  1380 + <name>zdz_name</name>
  1381 + <rename>tn</rename>
  1382 + <update>Y</update>
  1383 + </value>
  1384 + <value>
  1385 + <name>ists</name>
  1386 + <rename>ists</rename>
  1387 + <update>Y</update>
  1388 + </value>
  1389 + </lookup>
  1390 + <cluster_schema/>
  1391 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1392 + <xloc>845</xloc>
  1393 + <yloc>899</yloc>
  1394 + <draw>Y</draw>
  1395 + </GUI>
  1396 + </step>
  1397 +
  1398 + <step>
  1399 + <name>&#x65f6;&#x523b;&#x8868;&#x660e;&#x7ec6;&#x4fe1;&#x606f;Excel&#x8f93;&#x5165;</name>
  1400 + <type>ExcelInput</type>
  1401 + <description/>
  1402 + <distribute>N</distribute>
  1403 + <custom_distribution/>
  1404 + <copies>1</copies>
  1405 + <partitioning>
  1406 + <method>none</method>
  1407 + <schema_name/>
  1408 + </partitioning>
  1409 + <header>Y</header>
  1410 + <noempty>Y</noempty>
  1411 + <stoponempty>N</stoponempty>
  1412 + <filefield/>
  1413 + <sheetfield/>
  1414 + <sheetrownumfield/>
  1415 + <rownumfield/>
  1416 + <sheetfield/>
  1417 + <filefield/>
  1418 + <limit>0</limit>
  1419 + <encoding/>
  1420 + <add_to_result_filenames>Y</add_to_result_filenames>
  1421 + <accept_filenames>N</accept_filenames>
  1422 + <accept_field/>
  1423 + <accept_stepname/>
  1424 + <file>
  1425 + <name/>
  1426 + <filemask/>
  1427 + <exclude_filemask/>
  1428 + <file_required>N</file_required>
  1429 + <include_subfolders>N</include_subfolders>
  1430 + </file>
  1431 + <fields>
  1432 + </fields>
  1433 + <sheets>
  1434 + <sheet>
  1435 + <name/>
  1436 + <startrow>0</startrow>
  1437 + <startcol>0</startcol>
  1438 + </sheet>
  1439 + </sheets>
  1440 + <strict_types>N</strict_types>
  1441 + <error_ignored>N</error_ignored>
  1442 + <error_line_skipped>N</error_line_skipped>
  1443 + <bad_line_files_destination_directory/>
  1444 + <bad_line_files_extension>warning</bad_line_files_extension>
  1445 + <error_line_files_destination_directory/>
  1446 + <error_line_files_extension>error</error_line_files_extension>
  1447 + <line_number_files_destination_directory/>
  1448 + <line_number_files_extension>line</line_number_files_extension>
  1449 + <shortFileFieldName/>
  1450 + <pathFieldName/>
  1451 + <hiddenFieldName/>
  1452 + <lastModificationTimeFieldName/>
  1453 + <uriNameFieldName/>
  1454 + <rootUriNameFieldName/>
  1455 + <extensionFieldName/>
  1456 + <sizeFieldName/>
  1457 + <spreadsheet_type>JXL</spreadsheet_type>
  1458 + <cluster_schema/>
  1459 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1460 + <xloc>112</xloc>
  1461 + <yloc>44</yloc>
  1462 + <draw>Y</draw>
  1463 + </GUI>
  1464 + </step>
  1465 +
  1466 + <step>
  1467 + <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;1</name>
  1468 + <type>DBLookup</type>
  1469 + <description/>
  1470 + <distribute>Y</distribute>
  1471 + <custom_distribution/>
  1472 + <copies>1</copies>
  1473 + <partitioning>
  1474 + <method>none</method>
  1475 + <schema_name/>
  1476 + </partitioning>
  1477 + <connection>bus_control_variable</connection>
  1478 + <cache>N</cache>
  1479 + <cache_load_all>N</cache_load_all>
  1480 + <cache_size>0</cache_size>
  1481 + <lookup>
  1482 + <schema/>
  1483 + <table>bsth_c_car_park</table>
  1484 + <orderby/>
  1485 + <fail_on_multiple>N</fail_on_multiple>
  1486 + <eat_row_on_failure>N</eat_row_on_failure>
  1487 + <key>
  1488 + <name>tccname_</name>
  1489 + <field>park_name</field>
  1490 + <condition>&#x3d;</condition>
  1491 + <name2/>
  1492 + </key>
  1493 + <value>
  1494 + <name>id</name>
  1495 + <rename>qdzid</rename>
  1496 + <default/>
  1497 + <type>Integer</type>
  1498 + </value>
  1499 + <value>
  1500 + <name>park_code</name>
  1501 + <rename>qdzcode</rename>
  1502 + <default/>
  1503 + <type>String</type>
  1504 + </value>
  1505 + <value>
  1506 + <name>park_name</name>
  1507 + <rename>tn</rename>
  1508 + <default/>
  1509 + <type>String</type>
  1510 + </value>
  1511 + </lookup>
  1512 + <cluster_schema/>
  1513 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1514 + <xloc>755</xloc>
  1515 + <yloc>504</yloc>
  1516 + <draw>Y</draw>
  1517 + </GUI>
  1518 + </step>
  1519 +
  1520 + <step>
  1521 + <name>&#x67e5;&#x627e;&#x505c;&#x8f66;&#x573a;2</name>
  1522 + <type>DBLookup</type>
  1523 + <description/>
  1524 + <distribute>Y</distribute>
  1525 + <custom_distribution/>
  1526 + <copies>1</copies>
  1527 + <partitioning>
  1528 + <method>none</method>
  1529 + <schema_name/>
  1530 + </partitioning>
  1531 + <connection>bus_control_variable</connection>
  1532 + <cache>N</cache>
  1533 + <cache_load_all>N</cache_load_all>
  1534 + <cache_size>0</cache_size>
  1535 + <lookup>
  1536 + <schema/>
  1537 + <table>bsth_c_car_park</table>
  1538 + <orderby/>
  1539 + <fail_on_multiple>N</fail_on_multiple>
  1540 + <eat_row_on_failure>N</eat_row_on_failure>
  1541 + <key>
  1542 + <name>tccname_</name>
  1543 + <field>park_name</field>
  1544 + <condition>&#x3d;</condition>
  1545 + <name2/>
  1546 + </key>
  1547 + <value>
  1548 + <name>id</name>
  1549 + <rename>zdzid</rename>
  1550 + <default/>
  1551 + <type>Integer</type>
  1552 + </value>
  1553 + <value>
  1554 + <name>park_code</name>
  1555 + <rename>zdzcode</rename>
  1556 + <default/>
  1557 + <type>String</type>
  1558 + </value>
  1559 + <value>
  1560 + <name>park_name</name>
  1561 + <rename>tn</rename>
  1562 + <default/>
  1563 + <type>String</type>
  1564 + </value>
  1565 + </lookup>
  1566 + <cluster_schema/>
  1567 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1568 + <xloc>887</xloc>
  1569 + <yloc>608</yloc>
  1570 + <draw>Y</draw>
  1571 + </GUI>
  1572 + </step>
  1573 +
  1574 + <step>
  1575 + <name>&#x67e5;&#x627e;&#x51fa;&#x573a;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
  1576 + <type>DBLookup</type>
  1577 + <description/>
  1578 + <distribute>Y</distribute>
  1579 + <custom_distribution/>
  1580 + <copies>1</copies>
  1581 + <partitioning>
  1582 + <method>none</method>
  1583 + <schema_name/>
  1584 + </partitioning>
  1585 + <connection>bus_control_variable</connection>
  1586 + <cache>N</cache>
  1587 + <cache_load_all>N</cache_load_all>
  1588 + <cache_size>0</cache_size>
  1589 + <lookup>
  1590 + <schema/>
  1591 + <table>bsth_c_stationroute</table>
  1592 + <orderby/>
  1593 + <fail_on_multiple>N</fail_on_multiple>
  1594 + <eat_row_on_failure>N</eat_row_on_failure>
  1595 + <key>
  1596 + <name>xlid</name>
  1597 + <field>line</field>
  1598 + <condition>&#x3d;</condition>
  1599 + <name2/>
  1600 + </key>
  1601 + <key>
  1602 + <name>zdzname</name>
  1603 + <field>station_name</field>
  1604 + <condition>&#x3d;</condition>
  1605 + <name2/>
  1606 + </key>
  1607 + <key>
  1608 + <name>endZdtype</name>
  1609 + <field>station_mark</field>
  1610 + <condition>&#x3d;</condition>
  1611 + <name2/>
  1612 + </key>
  1613 + <key>
  1614 + <name>destory</name>
  1615 + <field>destroy</field>
  1616 + <condition>&#x3d;</condition>
  1617 + <name2/>
  1618 + </key>
  1619 + <value>
  1620 + <name>station</name>
  1621 + <rename>zdzid</rename>
  1622 + <default/>
  1623 + <type>Integer</type>
  1624 + </value>
  1625 + <value>
  1626 + <name>directions</name>
  1627 + <rename>sxx</rename>
  1628 + <default/>
  1629 + <type>Integer</type>
  1630 + </value>
  1631 + <value>
  1632 + <name>station_code</name>
  1633 + <rename>zdzcode</rename>
  1634 + <default/>
  1635 + <type>String</type>
  1636 + </value>
  1637 + </lookup>
  1638 + <cluster_schema/>
  1639 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1640 + <xloc>329</xloc>
  1641 + <yloc>505</yloc>
  1642 + <draw>Y</draw>
  1643 + </GUI>
  1644 + </step>
  1645 +
  1646 + <step>
  1647 + <name>&#x67e5;&#x627e;&#x6240;&#x6709;&#x7ebf;&#x8def;&#x4e0a;&#x4e0b;&#x884c;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  1648 + <type>DBLookup</type>
  1649 + <description/>
  1650 + <distribute>Y</distribute>
  1651 + <custom_distribution/>
  1652 + <copies>1</copies>
  1653 + <partitioning>
  1654 + <method>none</method>
  1655 + <schema_name/>
  1656 + </partitioning>
  1657 + <connection>bus_control_variable</connection>
  1658 + <cache>N</cache>
  1659 + <cache_load_all>N</cache_load_all>
  1660 + <cache_size>0</cache_size>
  1661 + <lookup>
  1662 + <schema/>
  1663 + <table>bsth_c_line_information</table>
  1664 + <orderby/>
  1665 + <fail_on_multiple>N</fail_on_multiple>
  1666 + <eat_row_on_failure>N</eat_row_on_failure>
  1667 + <key>
  1668 + <name>xlid</name>
  1669 + <field>line</field>
  1670 + <condition>&#x3d;</condition>
  1671 + <name2/>
  1672 + </key>
  1673 + <value>
  1674 + <name>up_mileage</name>
  1675 + <rename>up_mileage</rename>
  1676 + <default/>
  1677 + <type>Number</type>
  1678 + </value>
  1679 + <value>
  1680 + <name>down_mileage</name>
  1681 + <rename>down_mileage</rename>
  1682 + <default/>
  1683 + <type>Number</type>
  1684 + </value>
  1685 + <value>
  1686 + <name>up_travel_time</name>
  1687 + <rename>up_travel_time</rename>
  1688 + <default/>
  1689 + <type>Number</type>
  1690 + </value>
  1691 + <value>
  1692 + <name>down_travel_time</name>
  1693 + <rename>down_travel_time</rename>
  1694 + <default/>
  1695 + <type>Number</type>
  1696 + </value>
  1697 + <value>
  1698 + <name>early_start_time</name>
  1699 + <rename>early_start_time</rename>
  1700 + <default/>
  1701 + <type>String</type>
  1702 + </value>
  1703 + <value>
  1704 + <name>early_end_time</name>
  1705 + <rename>early_end_time</rename>
  1706 + <default/>
  1707 + <type>String</type>
  1708 + </value>
  1709 + <value>
  1710 + <name>early_up_time</name>
  1711 + <rename>early_up_time</rename>
  1712 + <default/>
  1713 + <type>Number</type>
  1714 + </value>
  1715 + <value>
  1716 + <name>early_down_time</name>
  1717 + <rename>early_down_time</rename>
  1718 + <default/>
  1719 + <type>Number</type>
  1720 + </value>
  1721 + <value>
  1722 + <name>late_start_time</name>
  1723 + <rename>late_start_time</rename>
  1724 + <default/>
  1725 + <type>String</type>
  1726 + </value>
  1727 + <value>
  1728 + <name>late_end_time</name>
  1729 + <rename>late_end_time</rename>
  1730 + <default/>
  1731 + <type>String</type>
  1732 + </value>
  1733 + <value>
  1734 + <name>late_up_time</name>
  1735 + <rename>late_up_time</rename>
  1736 + <default/>
  1737 + <type>Number</type>
  1738 + </value>
  1739 + <value>
  1740 + <name>late_down_time</name>
  1741 + <rename>late_down_time</rename>
  1742 + <default/>
  1743 + <type>Number</type>
  1744 + </value>
  1745 + </lookup>
  1746 + <cluster_schema/>
  1747 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1748 + <xloc>149</xloc>
  1749 + <yloc>581</yloc>
  1750 + <draw>Y</draw>
  1751 + </GUI>
  1752 + </step>
  1753 +
  1754 + <step>
  1755 + <name>&#x67e5;&#x627e;&#x65f6;&#x523b;&#x8868;&#x57fa;&#x7840;&#x4fe1;&#x606f;&#x5173;&#x8054;</name>
  1756 + <type>DBLookup</type>
  1757 + <description/>
  1758 + <distribute>Y</distribute>
  1759 + <custom_distribution/>
  1760 + <copies>1</copies>
  1761 + <partitioning>
  1762 + <method>none</method>
  1763 + <schema_name/>
  1764 + </partitioning>
  1765 + <connection>bus_control_variable</connection>
  1766 + <cache>N</cache>
  1767 + <cache_load_all>N</cache_load_all>
  1768 + <cache_size>0</cache_size>
  1769 + <lookup>
  1770 + <schema/>
  1771 + <table>bsth_c_s_ttinfo</table>
  1772 + <orderby/>
  1773 + <fail_on_multiple>N</fail_on_multiple>
  1774 + <eat_row_on_failure>N</eat_row_on_failure>
  1775 + <key>
  1776 + <name>xlid</name>
  1777 + <field>xl</field>
  1778 + <condition>&#x3d;</condition>
  1779 + <name2/>
  1780 + </key>
  1781 + <key>
  1782 + <name>ttinfoname_</name>
  1783 + <field>name</field>
  1784 + <condition>&#x3d;</condition>
  1785 + <name2/>
  1786 + </key>
  1787 + <key>
  1788 + <name>iscanceled</name>
  1789 + <field>is_cancel</field>
  1790 + <condition>&#x3d;</condition>
  1791 + <name2/>
  1792 + </key>
  1793 + <value>
  1794 + <name>id</name>
  1795 + <rename>ttid</rename>
  1796 + <default/>
  1797 + <type>Integer</type>
  1798 + </value>
  1799 + </lookup>
  1800 + <cluster_schema/>
  1801 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1802 + <xloc>1011</xloc>
  1803 + <yloc>134</yloc>
  1804 + <draw>Y</draw>
  1805 + </GUI>
  1806 + </step>
  1807 +
  1808 + <step>
  1809 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x5173;&#x8054;</name>
  1810 + <type>DBLookup</type>
  1811 + <description/>
  1812 + <distribute>Y</distribute>
  1813 + <custom_distribution/>
  1814 + <copies>1</copies>
  1815 + <partitioning>
  1816 + <method>none</method>
  1817 + <schema_name/>
  1818 + </partitioning>
  1819 + <connection>bus_control_variable</connection>
  1820 + <cache>N</cache>
  1821 + <cache_load_all>N</cache_load_all>
  1822 + <cache_size>0</cache_size>
  1823 + <lookup>
  1824 + <schema/>
  1825 + <table>bsth_c_line</table>
  1826 + <orderby/>
  1827 + <fail_on_multiple>N</fail_on_multiple>
  1828 + <eat_row_on_failure>N</eat_row_on_failure>
  1829 + <key>
  1830 + <name>xlname_</name>
  1831 + <field>name</field>
  1832 + <condition>&#x3d;</condition>
  1833 + <name2/>
  1834 + </key>
  1835 + <key>
  1836 + <name>iscanceled</name>
  1837 + <field>destroy</field>
  1838 + <condition>&#x3d;</condition>
  1839 + <name2/>
  1840 + </key>
  1841 + <value>
  1842 + <name>id</name>
  1843 + <rename>xlid</rename>
  1844 + <default/>
  1845 + <type>Integer</type>
  1846 + </value>
  1847 + </lookup>
  1848 + <cluster_schema/>
  1849 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1850 + <xloc>1007</xloc>
  1851 + <yloc>43</yloc>
  1852 + <draw>Y</draw>
  1853 + </GUI>
  1854 + </step>
  1855 +
  1856 + <step>
  1857 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x51fa;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  1858 + <type>DBLookup</type>
  1859 + <description/>
  1860 + <distribute>Y</distribute>
  1861 + <custom_distribution/>
  1862 + <copies>1</copies>
  1863 + <partitioning>
  1864 + <method>none</method>
  1865 + <schema_name/>
  1866 + </partitioning>
  1867 + <connection>bus_control_variable</connection>
  1868 + <cache>N</cache>
  1869 + <cache_load_all>N</cache_load_all>
  1870 + <cache_size>0</cache_size>
  1871 + <lookup>
  1872 + <schema/>
  1873 + <table>bsth_c_line_information</table>
  1874 + <orderby/>
  1875 + <fail_on_multiple>N</fail_on_multiple>
  1876 + <eat_row_on_failure>N</eat_row_on_failure>
  1877 + <key>
  1878 + <name>xlid</name>
  1879 + <field>line</field>
  1880 + <condition>&#x3d;</condition>
  1881 + <name2/>
  1882 + </key>
  1883 + <value>
  1884 + <name>up_out_timer</name>
  1885 + <rename>up_out_timer</rename>
  1886 + <default/>
  1887 + <type>Number</type>
  1888 + </value>
  1889 + <value>
  1890 + <name>up_out_mileage</name>
  1891 + <rename>up_out_mileage</rename>
  1892 + <default/>
  1893 + <type>Number</type>
  1894 + </value>
  1895 + <value>
  1896 + <name>down_out_timer</name>
  1897 + <rename>down_out_timer</rename>
  1898 + <default/>
  1899 + <type>Number</type>
  1900 + </value>
  1901 + <value>
  1902 + <name>down_out_mileage</name>
  1903 + <rename>down_out_mileage</rename>
  1904 + <default/>
  1905 + <type>Number</type>
  1906 + </value>
  1907 + </lookup>
  1908 + <cluster_schema/>
  1909 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1910 + <xloc>335</xloc>
  1911 + <yloc>763</yloc>
  1912 + <draw>Y</draw>
  1913 + </GUI>
  1914 + </step>
  1915 +
  1916 + <step>
  1917 + <name>&#x67e5;&#x627e;&#x7ebf;&#x8def;&#x8fdb;&#x573a;&#x91cc;&#x7a0b;&#x65f6;&#x95f4;</name>
  1918 + <type>DBLookup</type>
  1919 + <description/>
  1920 + <distribute>Y</distribute>
  1921 + <custom_distribution/>
  1922 + <copies>1</copies>
  1923 + <partitioning>
  1924 + <method>none</method>
  1925 + <schema_name/>
  1926 + </partitioning>
  1927 + <connection>bus_control_variable</connection>
  1928 + <cache>N</cache>
  1929 + <cache_load_all>N</cache_load_all>
  1930 + <cache_size>0</cache_size>
  1931 + <lookup>
  1932 + <schema/>
  1933 + <table>bsth_c_line_information</table>
  1934 + <orderby/>
  1935 + <fail_on_multiple>N</fail_on_multiple>
  1936 + <eat_row_on_failure>N</eat_row_on_failure>
  1937 + <key>
  1938 + <name>xlid</name>
  1939 + <field>line</field>
  1940 + <condition>&#x3d;</condition>
  1941 + <name2/>
  1942 + </key>
  1943 + <value>
  1944 + <name>up_in_mileage</name>
  1945 + <rename>up_in_mileage</rename>
  1946 + <default/>
  1947 + <type>Number</type>
  1948 + </value>
  1949 + <value>
  1950 + <name>up_in_timer</name>
  1951 + <rename>up_in_timer</rename>
  1952 + <default/>
  1953 + <type>Number</type>
  1954 + </value>
  1955 + <value>
  1956 + <name>down_in_mileage</name>
  1957 + <rename>down_in_mileage</rename>
  1958 + <default/>
  1959 + <type>Number</type>
  1960 + </value>
  1961 + <value>
  1962 + <name>down_in_timer</name>
  1963 + <rename>down_in_timer</rename>
  1964 + <default/>
  1965 + <type>Number</type>
  1966 + </value>
  1967 + </lookup>
  1968 + <cluster_schema/>
  1969 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1970 + <xloc>553</xloc>
  1971 + <yloc>1004</yloc>
  1972 + <draw>Y</draw>
  1973 + </GUI>
  1974 + </step>
  1975 +
  1976 + <step>
  1977 + <name>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x5173;&#x8054;</name>
  1978 + <type>DBLookup</type>
  1979 + <description/>
  1980 + <distribute>Y</distribute>
  1981 + <custom_distribution/>
  1982 + <copies>1</copies>
  1983 + <partitioning>
  1984 + <method>none</method>
  1985 + <schema_name/>
  1986 + </partitioning>
  1987 + <connection>bus_control_variable</connection>
  1988 + <cache>N</cache>
  1989 + <cache_load_all>N</cache_load_all>
  1990 + <cache_size>0</cache_size>
  1991 + <lookup>
  1992 + <schema/>
  1993 + <table>bsth_c_stationroute</table>
  1994 + <orderby/>
  1995 + <fail_on_multiple>N</fail_on_multiple>
  1996 + <eat_row_on_failure>N</eat_row_on_failure>
  1997 + <key>
  1998 + <name>xlid</name>
  1999 + <field>line</field>
  2000 + <condition>&#x3d;</condition>
  2001 + <name2/>
  2002 + </key>
  2003 + <key>
  2004 + <name>sxx</name>
  2005 + <field>directions</field>
  2006 + <condition>&#x3d;</condition>
  2007 + <name2/>
  2008 + </key>
  2009 + <key>
  2010 + <name>endZdtype</name>
  2011 + <field>station_mark</field>
  2012 + <condition>&#x3d;</condition>
  2013 + <name2/>
  2014 + </key>
  2015 + <key>
  2016 + <name>destory</name>
  2017 + <field>destroy</field>
  2018 + <condition>&#x3d;</condition>
  2019 + <name2/>
  2020 + </key>
  2021 + <value>
  2022 + <name>station_name</name>
  2023 + <rename>zdzname</rename>
  2024 + <default/>
  2025 + <type>String</type>
  2026 + </value>
  2027 + <value>
  2028 + <name>station</name>
  2029 + <rename>zdzid</rename>
  2030 + <default/>
  2031 + <type>Integer</type>
  2032 + </value>
  2033 + <value>
  2034 + <name>station_code</name>
  2035 + <rename>zdzcode</rename>
  2036 + <default/>
  2037 + <type>String</type>
  2038 + </value>
  2039 + </lookup>
  2040 + <cluster_schema/>
  2041 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2042 + <xloc>280</xloc>
  2043 + <yloc>404</yloc>
  2044 + <draw>Y</draw>
  2045 + </GUI>
  2046 + </step>
  2047 +
  2048 + <step>
  2049 + <name>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x5e76;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
  2050 + <type>DBLookup</type>
  2051 + <description/>
  2052 + <distribute>Y</distribute>
  2053 + <custom_distribution/>
  2054 + <copies>1</copies>
  2055 + <partitioning>
  2056 + <method>none</method>
  2057 + <schema_name/>
  2058 + </partitioning>
  2059 + <connection>bus_control_variable</connection>
  2060 + <cache>N</cache>
  2061 + <cache_load_all>N</cache_load_all>
  2062 + <cache_size>0</cache_size>
  2063 + <lookup>
  2064 + <schema/>
  2065 + <table>bsth_c_stationroute</table>
  2066 + <orderby/>
  2067 + <fail_on_multiple>N</fail_on_multiple>
  2068 + <eat_row_on_failure>N</eat_row_on_failure>
  2069 + <key>
  2070 + <name>xlid</name>
  2071 + <field>line</field>
  2072 + <condition>&#x3d;</condition>
  2073 + <name2/>
  2074 + </key>
  2075 + <key>
  2076 + <name>qdzname</name>
  2077 + <field>station_name</field>
  2078 + <condition>&#x3d;</condition>
  2079 + <name2/>
  2080 + </key>
  2081 + <key>
  2082 + <name>sendZdtype</name>
  2083 + <field>station_mark</field>
  2084 + <condition>&#x3d;</condition>
  2085 + <name2/>
  2086 + </key>
  2087 + <key>
  2088 + <name>destory</name>
  2089 + <field>destroy</field>
  2090 + <condition>&#x3d;</condition>
  2091 + <name2/>
  2092 + </key>
  2093 + <value>
  2094 + <name>station</name>
  2095 + <rename>qdzid</rename>
  2096 + <default/>
  2097 + <type>Integer</type>
  2098 + </value>
  2099 + <value>
  2100 + <name>directions</name>
  2101 + <rename>sxx</rename>
  2102 + <default/>
  2103 + <type>Integer</type>
  2104 + </value>
  2105 + <value>
  2106 + <name>station_code</name>
  2107 + <rename>qdzcode</rename>
  2108 + <default/>
  2109 + <type>String</type>
  2110 + </value>
  2111 + </lookup>
  2112 + <cluster_schema/>
  2113 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2114 + <xloc>430</xloc>
  2115 + <yloc>403</yloc>
  2116 + <draw>Y</draw>
  2117 + </GUI>
  2118 + </step>
  2119 +
  2120 + <step>
  2121 + <name>&#x67e5;&#x627e;&#x8def;&#x724c;&#x5173;&#x8054;</name>
  2122 + <type>DBLookup</type>
  2123 + <description/>
  2124 + <distribute>Y</distribute>
  2125 + <custom_distribution/>
  2126 + <copies>1</copies>
  2127 + <partitioning>
  2128 + <method>none</method>
  2129 + <schema_name/>
  2130 + </partitioning>
  2131 + <connection>bus_control_variable</connection>
  2132 + <cache>N</cache>
  2133 + <cache_load_all>N</cache_load_all>
  2134 + <cache_size>0</cache_size>
  2135 + <lookup>
  2136 + <schema/>
  2137 + <table>bsth_c_s_gbi</table>
  2138 + <orderby/>
  2139 + <fail_on_multiple>N</fail_on_multiple>
  2140 + <eat_row_on_failure>N</eat_row_on_failure>
  2141 + <key>
  2142 + <name>xlid</name>
  2143 + <field>xl</field>
  2144 + <condition>&#x3d;</condition>
  2145 + <name2/>
  2146 + </key>
  2147 + <key>
  2148 + <name>lp</name>
  2149 + <field>lp_name</field>
  2150 + <condition>&#x3d;</condition>
  2151 + <name2/>
  2152 + </key>
  2153 + <key>
  2154 + <name>iscanceled</name>
  2155 + <field>is_cancel</field>
  2156 + <condition>&#x3d;</condition>
  2157 + <name2/>
  2158 + </key>
  2159 + <value>
  2160 + <name>id</name>
  2161 + <rename>lpid</rename>
  2162 + <default/>
  2163 + <type>Integer</type>
  2164 + </value>
  2165 + </lookup>
  2166 + <cluster_schema/>
  2167 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2168 + <xloc>1013</xloc>
  2169 + <yloc>265</yloc>
  2170 + <draw>Y</draw>
  2171 + </GUI>
  2172 + </step>
  2173 +
  2174 + <step>
  2175 + <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ebf;&#x8def;&#x65b9;&#x5411;</name>
  2176 + <type>DBLookup</type>
  2177 + <description/>
  2178 + <distribute>Y</distribute>
  2179 + <custom_distribution/>
  2180 + <copies>1</copies>
  2181 + <partitioning>
  2182 + <method>none</method>
  2183 + <schema_name/>
  2184 + </partitioning>
  2185 + <connection>bus_control_variable</connection>
  2186 + <cache>N</cache>
  2187 + <cache_load_all>N</cache_load_all>
  2188 + <cache_size>0</cache_size>
  2189 + <lookup>
  2190 + <schema/>
  2191 + <table>bsth_c_stationroute</table>
  2192 + <orderby/>
  2193 + <fail_on_multiple>N</fail_on_multiple>
  2194 + <eat_row_on_failure>N</eat_row_on_failure>
  2195 + <key>
  2196 + <name>xlid</name>
  2197 + <field>line</field>
  2198 + <condition>&#x3d;</condition>
  2199 + <name2/>
  2200 + </key>
  2201 + <key>
  2202 + <name>startZdtype_calcu</name>
  2203 + <field>station_mark</field>
  2204 + <condition>&#x3d;</condition>
  2205 + <name2/>
  2206 + </key>
  2207 + <key>
  2208 + <name>qdzname_calcu</name>
  2209 + <field>station_name</field>
  2210 + <condition>&#x3d;</condition>
  2211 + <name2/>
  2212 + </key>
  2213 + <key>
  2214 + <name>destory</name>
  2215 + <field>destroy</field>
  2216 + <condition>&#x3d;</condition>
  2217 + <name2/>
  2218 + </key>
  2219 + <value>
  2220 + <name>directions</name>
  2221 + <rename>sxx</rename>
  2222 + <default/>
  2223 + <type>String</type>
  2224 + </value>
  2225 + </lookup>
  2226 + <cluster_schema/>
  2227 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2228 + <xloc>548</xloc>
  2229 + <yloc>610</yloc>
  2230 + <draw>Y</draw>
  2231 + </GUI>
  2232 + </step>
  2233 +
  2234 + <step>
  2235 + <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x5e76;&#x4f5c;&#x4e3a;&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;</name>
  2236 + <type>DBLookup</type>
  2237 + <description/>
  2238 + <distribute>Y</distribute>
  2239 + <custom_distribution/>
  2240 + <copies>1</copies>
  2241 + <partitioning>
  2242 + <method>none</method>
  2243 + <schema_name/>
  2244 + </partitioning>
  2245 + <connection>bus_control_variable</connection>
  2246 + <cache>Y</cache>
  2247 + <cache_load_all>Y</cache_load_all>
  2248 + <cache_size>0</cache_size>
  2249 + <lookup>
  2250 + <schema/>
  2251 + <table>bsth_c_stationroute</table>
  2252 + <orderby/>
  2253 + <fail_on_multiple>N</fail_on_multiple>
  2254 + <eat_row_on_failure>N</eat_row_on_failure>
  2255 + <key>
  2256 + <name>xlid</name>
  2257 + <field>line</field>
  2258 + <condition>&#x3d;</condition>
  2259 + <name2/>
  2260 + </key>
  2261 + <key>
  2262 + <name>endZdtype_calcu</name>
  2263 + <field>station_mark</field>
  2264 + <condition>&#x3d;</condition>
  2265 + <name2/>
  2266 + </key>
  2267 + <key>
  2268 + <name>sxx</name>
  2269 + <field>directions</field>
  2270 + <condition>&#x3d;</condition>
  2271 + <name2/>
  2272 + </key>
  2273 + <key>
  2274 + <name>destory</name>
  2275 + <field>destroy</field>
  2276 + <condition>&#x3d;</condition>
  2277 + <name2/>
  2278 + </key>
  2279 + <value>
  2280 + <name>station_name</name>
  2281 + <rename>zdzname_calcu</rename>
  2282 + <default/>
  2283 + <type>Integer</type>
  2284 + </value>
  2285 + </lookup>
  2286 + <cluster_schema/>
  2287 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2288 + <xloc>550</xloc>
  2289 + <yloc>701</yloc>
  2290 + <draw>Y</draw>
  2291 + </GUI>
  2292 + </step>
  2293 +
  2294 + <step>
  2295 + <name>&#x67e5;&#x627e;&#x8fdb;&#x573a;&#x8d77;&#x70b9;&#x7ad9;&#x5173;&#x8054;&#x786e;&#x5b9a;&#x4e0a;&#x4e0b;&#x884c;</name>
  2296 + <type>DBLookup</type>
  2297 + <description/>
  2298 + <distribute>Y</distribute>
  2299 + <custom_distribution/>
  2300 + <copies>1</copies>
  2301 + <partitioning>
  2302 + <method>none</method>
  2303 + <schema_name/>
  2304 + </partitioning>
  2305 + <connection>bus_control_variable</connection>
  2306 + <cache>N</cache>
  2307 + <cache_load_all>N</cache_load_all>
  2308 + <cache_size>0</cache_size>
  2309 + <lookup>
  2310 + <schema/>
  2311 + <table>bsth_c_stationroute</table>
  2312 + <orderby/>
  2313 + <fail_on_multiple>N</fail_on_multiple>
  2314 + <eat_row_on_failure>N</eat_row_on_failure>
  2315 + <key>
  2316 + <name>xlid</name>
  2317 + <field>line</field>
  2318 + <condition>&#x3d;</condition>
  2319 + <name2/>
  2320 + </key>
  2321 + <key>
  2322 + <name>zdzname_calcu</name>
  2323 + <field>station_name</field>
  2324 + <condition>&#x3d;</condition>
  2325 + <name2/>
  2326 + </key>
  2327 + <key>
  2328 + <name>startZdtype_calcu</name>
  2329 + <field>station_mark</field>
  2330 + <condition>&#x3d;</condition>
  2331 + <name2/>
  2332 + </key>
  2333 + <key>
  2334 + <name>destory</name>
  2335 + <field>destroy</field>
  2336 + <condition>&#x3d;</condition>
  2337 + <name2/>
  2338 + </key>
  2339 + <value>
  2340 + <name>directions</name>
  2341 + <rename>sxx2</rename>
  2342 + <default/>
  2343 + <type>Integer</type>
  2344 + </value>
  2345 + <value>
  2346 + <name>station</name>
  2347 + <rename>qdzid</rename>
  2348 + <default/>
  2349 + <type>Integer</type>
  2350 + </value>
  2351 + <value>
  2352 + <name>station_code</name>
  2353 + <rename>qdzcode</rename>
  2354 + <default/>
  2355 + <type>String</type>
  2356 + </value>
  2357 + <value>
  2358 + <name>station_name</name>
  2359 + <rename>qname</rename>
  2360 + <default/>
  2361 + <type>String</type>
  2362 + </value>
  2363 + </lookup>
  2364 + <cluster_schema/>
  2365 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2366 + <xloc>551</xloc>
  2367 + <yloc>782</yloc>
  2368 + <draw>Y</draw>
  2369 + </GUI>
  2370 + </step>
  2371 +
  2372 + <step>
  2373 + <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;_&#x5904;&#x7406;&#x6570;&#x636e;</name>
  2374 + <type>ScriptValueMod</type>
  2375 + <description/>
  2376 + <distribute>Y</distribute>
  2377 + <custom_distribution/>
  2378 + <copies>1</copies>
  2379 + <partitioning>
  2380 + <method>none</method>
  2381 + <schema_name/>
  2382 + </partitioning>
  2383 + <compatible>N</compatible>
  2384 + <optimizationLevel>9</optimizationLevel>
  2385 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  2386 + <jsScript_name>Script 1</jsScript_name>
  2387 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var sendZdtype &#x3d; &#x27;B&#x27;&#x3b;&#xa;var endZdtype &#x3d; &#x27;E&#x27;&#x3b;&#xa;&#xa;var destory &#x3d; 0&#x3b; &#x2f;&#x2f; &#x672a;&#x64a4;&#x9500;flag</jsScript_script>
  2388 + </jsScript> </jsScripts> <fields> <field> <name>sendZdtype</name>
  2389 + <rename>sendZdtype</rename>
  2390 + <type>String</type>
  2391 + <length>-1</length>
  2392 + <precision>-1</precision>
  2393 + <replace>N</replace>
  2394 + </field> <field> <name>endZdtype</name>
  2395 + <rename>endZdtype</rename>
  2396 + <type>String</type>
  2397 + <length>-1</length>
  2398 + <precision>-1</precision>
  2399 + <replace>N</replace>
  2400 + </field> <field> <name>destory</name>
  2401 + <rename>destory</rename>
  2402 + <type>Integer</type>
  2403 + <length>-1</length>
  2404 + <precision>-1</precision>
  2405 + <replace>N</replace>
  2406 + </field> </fields> <cluster_schema/>
  2407 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2408 + <xloc>588</xloc>
  2409 + <yloc>403</yloc>
  2410 + <draw>Y</draw>
  2411 + </GUI>
  2412 + </step>
  2413 +
  2414 + <step>
  2415 + <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
  2416 + <type>Dummy</type>
  2417 + <description/>
  2418 + <distribute>Y</distribute>
  2419 + <custom_distribution/>
  2420 + <copies>1</copies>
  2421 + <partitioning>
  2422 + <method>none</method>
  2423 + <schema_name/>
  2424 + </partitioning>
  2425 + <cluster_schema/>
  2426 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2427 + <xloc>725</xloc>
  2428 + <yloc>404</yloc>
  2429 + <draw>Y</draw>
  2430 + </GUI>
  2431 + </step>
  2432 +
  2433 + <step>
  2434 + <name>&#x6dfb;&#x52a0;&#x53d1;&#x8f66;&#x987a;&#x5e8f;&#x53f7;</name>
  2435 + <type>GroupBy</type>
  2436 + <description/>
  2437 + <distribute>Y</distribute>
  2438 + <custom_distribution/>
  2439 + <copies>1</copies>
  2440 + <partitioning>
  2441 + <method>none</method>
  2442 + <schema_name/>
  2443 + </partitioning>
  2444 + <all_rows>Y</all_rows>
  2445 + <ignore_aggregate>N</ignore_aggregate>
  2446 + <field_ignore/>
  2447 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  2448 + <prefix>grp</prefix>
  2449 + <add_linenr>Y</add_linenr>
  2450 + <linenr_fieldname>fcno</linenr_fieldname>
  2451 + <give_back_row>N</give_back_row>
  2452 + <group>
  2453 + <field>
  2454 + <name>lp</name>
  2455 + </field>
  2456 + </group>
  2457 + <fields>
  2458 + </fields>
  2459 + <cluster_schema/>
  2460 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2461 + <xloc>442</xloc>
  2462 + <yloc>44</yloc>
  2463 + <draw>Y</draw>
  2464 + </GUI>
  2465 + </step>
  2466 +
  2467 + <step>
  2468 + <name>&#x6dfb;&#x52a0;&#x5bf9;&#x5e94;&#x73ed;&#x6b21;&#x6570;</name>
  2469 + <type>GroupBy</type>
  2470 + <description/>
  2471 + <distribute>Y</distribute>
  2472 + <custom_distribution/>
  2473 + <copies>1</copies>
  2474 + <partitioning>
  2475 + <method>none</method>
  2476 + <schema_name/>
  2477 + </partitioning>
  2478 + <all_rows>Y</all_rows>
  2479 + <ignore_aggregate>N</ignore_aggregate>
  2480 + <field_ignore/>
  2481 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  2482 + <prefix>grp</prefix>
  2483 + <add_linenr>Y</add_linenr>
  2484 + <linenr_fieldname>bcs</linenr_fieldname>
  2485 + <give_back_row>N</give_back_row>
  2486 + <group>
  2487 + </group>
  2488 + <fields>
  2489 + </fields>
  2490 + <cluster_schema/>
  2491 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2492 + <xloc>692</xloc>
  2493 + <yloc>44</yloc>
  2494 + <draw>Y</draw>
  2495 + </GUI>
  2496 + </step>
  2497 +
  2498 + <step>
  2499 + <name>&#x73ed;&#x6b21;&#x6570;&#x636e;&#x8303;&#x5f0f;&#x5316;</name>
  2500 + <type>Normaliser</type>
  2501 + <description/>
  2502 + <distribute>Y</distribute>
  2503 + <custom_distribution/>
  2504 + <copies>1</copies>
  2505 + <partitioning>
  2506 + <method>none</method>
  2507 + <schema_name/>
  2508 + </partitioning>
  2509 + <typefield>&#x7ad9;&#x70b9;&#x540d;&#x79f0;</typefield>
  2510 + <fields> </fields> <cluster_schema/>
  2511 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2512 + <xloc>248</xloc>
  2513 + <yloc>44</yloc>
  2514 + <draw>Y</draw>
  2515 + </GUI>
  2516 + </step>
  2517 +
  2518 + <step>
  2519 + <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178;</name>
  2520 + <type>ValueMapper</type>
  2521 + <description/>
  2522 + <distribute>Y</distribute>
  2523 + <custom_distribution/>
  2524 + <copies>1</copies>
  2525 + <partitioning>
  2526 + <method>none</method>
  2527 + <schema_name/>
  2528 + </partitioning>
  2529 + <field_to_use>bctype</field_to_use>
  2530 + <target_field>bctype_code</target_field>
  2531 + <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
  2532 + <fields>
  2533 + <field>
  2534 + <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
  2535 + <target_value>normal</target_value>
  2536 + </field>
  2537 + <field>
  2538 + <source_value>&#x51fa;&#x573a;</source_value>
  2539 + <target_value>out</target_value>
  2540 + </field>
  2541 + <field>
  2542 + <source_value>&#x8fdb;&#x573a;</source_value>
  2543 + <target_value>in</target_value>
  2544 + </field>
  2545 + <field>
  2546 + <source_value>&#x52a0;&#x6cb9;</source_value>
  2547 + <target_value>oil</target_value>
  2548 + </field>
  2549 + <field>
  2550 + <source_value>&#x4e34;&#x52a0;</source_value>
  2551 + <target_value>temp</target_value>
  2552 + </field>
  2553 + <field>
  2554 + <source_value>&#x533a;&#x95f4;</source_value>
  2555 + <target_value>region</target_value>
  2556 + </field>
  2557 + <field>
  2558 + <source_value>&#x653e;&#x7a7a;</source_value>
  2559 + <target_value>venting</target_value>
  2560 + </field>
  2561 + <field>
  2562 + <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
  2563 + <target_value>major</target_value>
  2564 + </field>
  2565 + </fields>
  2566 + <cluster_schema/>
  2567 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2568 + <xloc>149</xloc>
  2569 + <yloc>491</yloc>
  2570 + <draw>Y</draw>
  2571 + </GUI>
  2572 + </step>
  2573 +
  2574 + <step>
  2575 + <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 2</name>
  2576 + <type>ValueMapper</type>
  2577 + <description/>
  2578 + <distribute>Y</distribute>
  2579 + <custom_distribution/>
  2580 + <copies>1</copies>
  2581 + <partitioning>
  2582 + <method>none</method>
  2583 + <schema_name/>
  2584 + </partitioning>
  2585 + <field_to_use>bctype</field_to_use>
  2586 + <target_field>bctype_code</target_field>
  2587 + <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
  2588 + <fields>
  2589 + <field>
  2590 + <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
  2591 + <target_value>normal</target_value>
  2592 + </field>
  2593 + <field>
  2594 + <source_value>&#x51fa;&#x573a;</source_value>
  2595 + <target_value>out</target_value>
  2596 + </field>
  2597 + <field>
  2598 + <source_value>&#x8fdb;&#x573a;</source_value>
  2599 + <target_value>in</target_value>
  2600 + </field>
  2601 + <field>
  2602 + <source_value>&#x52a0;&#x6cb9;</source_value>
  2603 + <target_value>oil</target_value>
  2604 + </field>
  2605 + <field>
  2606 + <source_value>&#x4e34;&#x52a0;</source_value>
  2607 + <target_value>temp</target_value>
  2608 + </field>
  2609 + <field>
  2610 + <source_value>&#x533a;&#x95f4;</source_value>
  2611 + <target_value>region</target_value>
  2612 + </field>
  2613 + <field>
  2614 + <source_value>&#x653e;&#x7a7a;</source_value>
  2615 + <target_value>venting</target_value>
  2616 + </field>
  2617 + <field>
  2618 + <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
  2619 + <target_value>major</target_value>
  2620 + </field>
  2621 + </fields>
  2622 + <cluster_schema/>
  2623 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2624 + <xloc>333</xloc>
  2625 + <yloc>681</yloc>
  2626 + <draw>Y</draw>
  2627 + </GUI>
  2628 + </step>
  2629 +
  2630 + <step>
  2631 + <name>&#x73ed;&#x6b21;&#x7c7b;&#x578b;&#x5b57;&#x5178; 3</name>
  2632 + <type>ValueMapper</type>
  2633 + <description/>
  2634 + <distribute>Y</distribute>
  2635 + <custom_distribution/>
  2636 + <copies>1</copies>
  2637 + <partitioning>
  2638 + <method>none</method>
  2639 + <schema_name/>
  2640 + </partitioning>
  2641 + <field_to_use>bctype</field_to_use>
  2642 + <target_field>bctype_code</target_field>
  2643 + <non_match_default>&#x672a;&#x77e5;&#x7c7b;&#x578b;</non_match_default>
  2644 + <fields>
  2645 + <field>
  2646 + <source_value>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</source_value>
  2647 + <target_value>normal</target_value>
  2648 + </field>
  2649 + <field>
  2650 + <source_value>&#x51fa;&#x573a;</source_value>
  2651 + <target_value>out</target_value>
  2652 + </field>
  2653 + <field>
  2654 + <source_value>&#x8fdb;&#x573a;</source_value>
  2655 + <target_value>in</target_value>
  2656 + </field>
  2657 + <field>
  2658 + <source_value>&#x52a0;&#x6cb9;</source_value>
  2659 + <target_value>oil</target_value>
  2660 + </field>
  2661 + <field>
  2662 + <source_value>&#x4e34;&#x52a0;</source_value>
  2663 + <target_value>temp</target_value>
  2664 + </field>
  2665 + <field>
  2666 + <source_value>&#x533a;&#x95f4;</source_value>
  2667 + <target_value>region</target_value>
  2668 + </field>
  2669 + <field>
  2670 + <source_value>&#x653e;&#x7a7a;</source_value>
  2671 + <target_value>venting</target_value>
  2672 + </field>
  2673 + <field>
  2674 + <source_value>&#x653e;&#x5927;&#x7ad9;</source_value>
  2675 + <target_value>major</target_value>
  2676 + </field>
  2677 + </fields>
  2678 + <cluster_schema/>
  2679 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2680 + <xloc>551</xloc>
  2681 + <yloc>928</yloc>
  2682 + <draw>Y</draw>
  2683 + </GUI>
  2684 + </step>
  2685 +
  2686 + <step>
  2687 + <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63;</name>
  2688 + <type>SelectValues</type>
  2689 + <description/>
  2690 + <distribute>Y</distribute>
  2691 + <custom_distribution/>
  2692 + <copies>1</copies>
  2693 + <partitioning>
  2694 + <method>none</method>
  2695 + <schema_name/>
  2696 + </partitioning>
  2697 + <fields> <select_unspecified>N</select_unspecified>
  2698 + <meta> <name>jhlc</name>
  2699 + <rename>jhlc</rename>
  2700 + <type>Number</type>
  2701 + <length>-2</length>
  2702 + <precision>-2</precision>
  2703 + <conversion_mask/>
  2704 + <date_format_lenient>false</date_format_lenient>
  2705 + <date_format_locale/>
  2706 + <date_format_timezone/>
  2707 + <lenient_string_to_number>false</lenient_string_to_number>
  2708 + <encoding/>
  2709 + <decimal_symbol/>
  2710 + <grouping_symbol/>
  2711 + <currency_symbol/>
  2712 + <storage_type/>
  2713 + </meta> <meta> <name>bcsj</name>
  2714 + <rename>bcsj</rename>
  2715 + <type>Integer</type>
  2716 + <length>-2</length>
  2717 + <precision>-2</precision>
  2718 + <conversion_mask/>
  2719 + <date_format_lenient>false</date_format_lenient>
  2720 + <date_format_locale/>
  2721 + <date_format_timezone/>
  2722 + <lenient_string_to_number>false</lenient_string_to_number>
  2723 + <encoding/>
  2724 + <decimal_symbol/>
  2725 + <grouping_symbol/>
  2726 + <currency_symbol/>
  2727 + <storage_type/>
  2728 + </meta> </fields> <cluster_schema/>
  2729 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2730 + <xloc>146</xloc>
  2731 + <yloc>768</yloc>
  2732 + <draw>Y</draw>
  2733 + </GUI>
  2734 + </step>
  2735 +
  2736 + <step>
  2737 + <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 2</name>
  2738 + <type>SelectValues</type>
  2739 + <description/>
  2740 + <distribute>Y</distribute>
  2741 + <custom_distribution/>
  2742 + <copies>1</copies>
  2743 + <partitioning>
  2744 + <method>none</method>
  2745 + <schema_name/>
  2746 + </partitioning>
  2747 + <fields> <select_unspecified>N</select_unspecified>
  2748 + <meta> <name>out_mileage</name>
  2749 + <rename>out_mileage</rename>
  2750 + <type>Number</type>
  2751 + <length>-2</length>
  2752 + <precision>-2</precision>
  2753 + <conversion_mask/>
  2754 + <date_format_lenient>false</date_format_lenient>
  2755 + <date_format_locale/>
  2756 + <date_format_timezone/>
  2757 + <lenient_string_to_number>false</lenient_string_to_number>
  2758 + <encoding/>
  2759 + <decimal_symbol/>
  2760 + <grouping_symbol/>
  2761 + <currency_symbol/>
  2762 + <storage_type/>
  2763 + </meta> <meta> <name>out_time</name>
  2764 + <rename>out_time</rename>
  2765 + <type>Integer</type>
  2766 + <length>-2</length>
  2767 + <precision>-2</precision>
  2768 + <conversion_mask/>
  2769 + <date_format_lenient>false</date_format_lenient>
  2770 + <date_format_locale/>
  2771 + <date_format_timezone/>
  2772 + <lenient_string_to_number>false</lenient_string_to_number>
  2773 + <encoding/>
  2774 + <decimal_symbol/>
  2775 + <grouping_symbol/>
  2776 + <currency_symbol/>
  2777 + <storage_type/>
  2778 + </meta> <meta> <name>sxx</name>
  2779 + <rename>sxx</rename>
  2780 + <type>Integer</type>
  2781 + <length>-2</length>
  2782 + <precision>-2</precision>
  2783 + <conversion_mask/>
  2784 + <date_format_lenient>false</date_format_lenient>
  2785 + <date_format_locale/>
  2786 + <date_format_timezone/>
  2787 + <lenient_string_to_number>false</lenient_string_to_number>
  2788 + <encoding/>
  2789 + <decimal_symbol/>
  2790 + <grouping_symbol/>
  2791 + <currency_symbol/>
  2792 + <storage_type/>
  2793 + </meta> </fields> <cluster_schema/>
  2794 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2795 + <xloc>338</xloc>
  2796 + <yloc>1008</yloc>
  2797 + <draw>Y</draw>
  2798 + </GUI>
  2799 + </step>
  2800 +
  2801 + <step>
  2802 + <name>&#x7c7b;&#x578b;&#x4fee;&#x6b63; 3</name>
  2803 + <type>SelectValues</type>
  2804 + <description/>
  2805 + <distribute>Y</distribute>
  2806 + <custom_distribution/>
  2807 + <copies>1</copies>
  2808 + <partitioning>
  2809 + <method>none</method>
  2810 + <schema_name/>
  2811 + </partitioning>
  2812 + <fields> <select_unspecified>N</select_unspecified>
  2813 + <meta> <name>parade_mileage</name>
  2814 + <rename>parade_mileage</rename>
  2815 + <type>Number</type>
  2816 + <length>-2</length>
  2817 + <precision>-2</precision>
  2818 + <conversion_mask/>
  2819 + <date_format_lenient>false</date_format_lenient>
  2820 + <date_format_locale/>
  2821 + <date_format_timezone/>
  2822 + <lenient_string_to_number>false</lenient_string_to_number>
  2823 + <encoding/>
  2824 + <decimal_symbol/>
  2825 + <grouping_symbol/>
  2826 + <currency_symbol/>
  2827 + <storage_type/>
  2828 + </meta> <meta> <name>parade_time</name>
  2829 + <rename>parade_time</rename>
  2830 + <type>Integer</type>
  2831 + <length>-2</length>
  2832 + <precision>-2</precision>
  2833 + <conversion_mask/>
  2834 + <date_format_lenient>false</date_format_lenient>
  2835 + <date_format_locale/>
  2836 + <date_format_timezone/>
  2837 + <lenient_string_to_number>false</lenient_string_to_number>
  2838 + <encoding/>
  2839 + <decimal_symbol/>
  2840 + <grouping_symbol/>
  2841 + <currency_symbol/>
  2842 + <storage_type/>
  2843 + </meta> <meta> <name>sxx2</name>
  2844 + <rename>sxx2</rename>
  2845 + <type>Integer</type>
  2846 + <length>-2</length>
  2847 + <precision>-2</precision>
  2848 + <conversion_mask/>
  2849 + <date_format_lenient>false</date_format_lenient>
  2850 + <date_format_locale/>
  2851 + <date_format_timezone/>
  2852 + <lenient_string_to_number>false</lenient_string_to_number>
  2853 + <encoding/>
  2854 + <decimal_symbol/>
  2855 + <grouping_symbol/>
  2856 + <currency_symbol/>
  2857 + <storage_type/>
  2858 + </meta> </fields> <cluster_schema/>
  2859 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2860 + <xloc>847</xloc>
  2861 + <yloc>1003</yloc>
  2862 + <draw>Y</draw>
  2863 + </GUI>
  2864 + </step>
  2865 +
  2866 + <step>
  2867 + <name>&#x8ba1;&#x7b97;&#x73ed;&#x6b21;&#x7c7b;&#x578b;</name>
  2868 + <type>ValueMapper</type>
  2869 + <description/>
  2870 + <distribute>Y</distribute>
  2871 + <custom_distribution/>
  2872 + <copies>1</copies>
  2873 + <partitioning>
  2874 + <method>none</method>
  2875 + <schema_name/>
  2876 + </partitioning>
  2877 + <field_to_use>qdzname</field_to_use>
  2878 + <target_field>bctype</target_field>
  2879 + <non_match_default>&#x6b63;&#x5e38;&#x73ed;&#x6b21;</non_match_default>
  2880 + <fields>
  2881 + <field>
  2882 + <source_value>&#x51fa;&#x573a;</source_value>
  2883 + <target_value>&#x51fa;&#x573a;</target_value>
  2884 + </field>
  2885 + <field>
  2886 + <source_value>&#x8fdb;&#x573a;</source_value>
  2887 + <target_value>&#x8fdb;&#x573a;</target_value>
  2888 + </field>
  2889 + </fields>
  2890 + <cluster_schema/>
  2891 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2892 + <xloc>1014</xloc>
  2893 + <yloc>401</yloc>
  2894 + <draw>Y</draw>
  2895 + </GUI>
  2896 + </step>
  2897 +
  2898 + <step>
  2899 + <name>&#x8bb0;&#x5f55;&#x5173;&#x8054; &#x28;&#x7b1b;&#x5361;&#x5c14;&#x8f93;&#x51fa;&#x29;</name>
  2900 + <type>JoinRows</type>
  2901 + <description/>
  2902 + <distribute>Y</distribute>
  2903 + <custom_distribution/>
  2904 + <copies>1</copies>
  2905 + <partitioning>
  2906 + <method>none</method>
  2907 + <schema_name/>
  2908 + </partitioning>
  2909 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  2910 + <prefix>out</prefix>
  2911 + <cache_size>500</cache_size>
  2912 + <main/>
  2913 + <compare>
  2914 +<condition>
  2915 + <negated>N</negated>
  2916 + <leftvalue/>
  2917 + <function>&#x3d;</function>
  2918 + <rightvalue/>
  2919 + </condition>
  2920 + </compare>
  2921 + <cluster_schema/>
  2922 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2923 + <xloc>310</xloc>
  2924 + <yloc>133</yloc>
  2925 + <draw>Y</draw>
  2926 + </GUI>
  2927 + </step>
  2928 +
  2929 + <step>
  2930 + <name>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;&#xff08;&#x53d1;&#x8f66;&#x65f6;&#x95f4;&#x4e3a;&#x7a7a;&#xff09;</name>
  2931 + <type>FilterRows</type>
  2932 + <description/>
  2933 + <distribute>Y</distribute>
  2934 + <custom_distribution/>
  2935 + <copies>1</copies>
  2936 + <partitioning>
  2937 + <method>none</method>
  2938 + <schema_name/>
  2939 + </partitioning>
  2940 +<send_true_to/>
  2941 +<send_false_to/>
  2942 + <compare>
  2943 +<condition>
  2944 + <negated>N</negated>
  2945 + <leftvalue>sendtime</leftvalue>
  2946 + <function>IS NOT NULL</function>
  2947 + <rightvalue/>
  2948 + </condition>
  2949 + </compare>
  2950 + <cluster_schema/>
  2951 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2952 + <xloc>571</xloc>
  2953 + <yloc>44</yloc>
  2954 + <draw>Y</draw>
  2955 + </GUI>
  2956 + </step>
  2957 +
  2958 + <step>
  2959 + <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;_&#x786e;&#x5b9a;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</name>
  2960 + <type>ScriptValueMod</type>
  2961 + <description/>
  2962 + <distribute>Y</distribute>
  2963 + <custom_distribution/>
  2964 + <copies>1</copies>
  2965 + <partitioning>
  2966 + <method>none</method>
  2967 + <schema_name/>
  2968 + </partitioning>
  2969 + <compatible>N</compatible>
  2970 + <optimizationLevel>9</optimizationLevel>
  2971 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  2972 + <jsScript_name>Script 1</jsScript_name>
  2973 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x6dfb;&#x52a0;&#x7ad9;&#x70b9;&#x6807;&#x8bc6;&#xa;var cc_groups &#x3d; qdzgroups.split&#x28;&#x22;,&#x22;&#x29;&#x3b; &#x2f;&#x2f; &#x6240;&#x6709;&#x73ed;&#x6b21;&#x8d77;&#x70b9;&#x7ad9;&#x6570;&#x7ec4;&#xa;var qdzname_calcu &#x3d; cc_groups&#x5b;gno - 2&#x5d;&#x3b; &#x2f;&#x2f; &#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;&#x662f;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x7ec8;&#x70b9;&#x7ad9;&#xff0c;&#x8fd9;&#x91cc;&#x53ea;&#x6709;&#x4e0a;&#x4e00;&#x4e2a;&#x73ed;&#x6b21;&#x7684;&#x8d77;&#x70b9;&#x7ad9;&#xff0c;&#x8fd8;&#x9700;&#x8981;&#x8ba1;&#x7b97;&#xa;var startZdtype_calcu &#x3d; &#x27;B&#x27;&#x3b;&#xa;var endZdtype_calcu &#x3d; &#x27;E&#x27;&#x3b;&#xa;&#xa;var destory &#x3d; 0&#x3b; &#x2f;&#x2f; &#x672a;&#x64a4;&#x9500;flag</jsScript_script>
  2974 + </jsScript> </jsScripts> <fields> <field> <name>qdzname_calcu</name>
  2975 + <rename>qdzname_calcu</rename>
  2976 + <type>String</type>
  2977 + <length>-1</length>
  2978 + <precision>-1</precision>
  2979 + <replace>N</replace>
  2980 + </field> <field> <name>startZdtype_calcu</name>
  2981 + <rename>startZdtype_calcu</rename>
  2982 + <type>String</type>
  2983 + <length>-1</length>
  2984 + <precision>-1</precision>
  2985 + <replace>N</replace>
  2986 + </field> <field> <name>endZdtype_calcu</name>
  2987 + <rename>endZdtype_calcu</rename>
  2988 + <type>String</type>
  2989 + <length>-1</length>
  2990 + <precision>-1</precision>
  2991 + <replace>N</replace>
  2992 + </field> <field> <name>destory</name>
  2993 + <rename>destory</rename>
  2994 + <type>Integer</type>
  2995 + <length>-1</length>
  2996 + <precision>-1</precision>
  2997 + <replace>N</replace>
  2998 + </field> </fields> <cluster_schema/>
  2999 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  3000 + <xloc>754</xloc>
  3001 + <yloc>610</yloc>
  3002 + <draw>Y</draw>
  3003 + </GUI>
  3004 + </step>
  3005 +
  3006 + <step>
  3007 + <name>&#x8fdb;&#x573a;&#x73ed;&#x6b21;&#x6570;&#x636e;</name>
  3008 + <type>Dummy</type>
  3009 + <description/>
  3010 + <distribute>Y</distribute>
  3011 + <custom_distribution/>
  3012 + <copies>1</copies>
  3013 + <partitioning>
  3014 + <method>none</method>
  3015 + <schema_name/>
  3016 + </partitioning>
  3017 + <cluster_schema/>
  3018 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  3019 + <xloc>997</xloc>
  3020 + <yloc>606</yloc>
  3021 + <draw>Y</draw>
  3022 + </GUI>
  3023 + </step>
  3024 +
  3025 + <step_error_handling>
  3026 + <error>
  3027 + <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ttinfo_detail</source_step>
  3028 + <target_step/>
  3029 + <is_enabled>Y</is_enabled>
  3030 + <nr_valuename>c1</nr_valuename>
  3031 + <descriptions_valuename>c2</descriptions_valuename>
  3032 + <fields_valuename>c3</fields_valuename>
  3033 + <codes_valuename>c4</codes_valuename>
  3034 + <max_errors/>
  3035 + <max_pct_errors/>
  3036 + <min_pct_rows/>
  3037 + </error>
  3038 + </step_error_handling>
  3039 + <slave-step-copy-partition-distribution>
  3040 +</slave-step-copy-partition-distribution>
  3041 + <slave_transformation>N</slave_transformation>
  3042 +
  3043 +</transformation>
... ...
src/main/resources/rules/validplan.drl
1 1 package com.bsth.service.schedule.rules.validate;
2 2  
3 3 import com.bsth.entity.schedule.SchedulePlanInfo;
  4 +import com.bsth.service.schedule.rules.ttinfo.LpInfoResult_output;
4 5  
5 6 import org.joda.time.*;
6 7 import java.util.*;
... ... @@ -60,6 +61,40 @@ rule &quot;Valid_repeat_bc&quot; // 验证是否存在重复班次
60 61  
61 62 end
62 63  
  64 +//
  65 +//declare LpInfo_wrap
  66 +// sd: DateTime // 具体日期
  67 +// lpId: Long // 路牌Id
  68 +// isPlan: Boolean = false // 是否排班
  69 +//end
  70 +//
  71 +//rule "Calcu_LpInfo_wrap"
  72 +// salience 500
  73 +// when
  74 +// $lp: LpInfoResult_output()
  75 +// then
  76 +// LpInfo_wrap ll = new LpInfo_wrap();
  77 +// ll.setSd($lp.getDateTime());
  78 +// ll.setLpId(Long.parseLong($lp.getLpId()));
  79 +//
  80 +// insert(ll);
  81 +//end
  82 +//
  83 +//rule "Valid_Lp_plan" // 查看路牌是否被排班
  84 +// salience 400
  85 +// no-loop
  86 +// when
  87 +// $sp: SchedulePlanInfo($lp: lp)
  88 +// $ll: LpInfo_wrap(lpId == $lp)
  89 +// then
  90 +// $ll.setIsPlan(true);
  91 +// update($ll);
  92 +//end
  93 +//
  94 +//// TODO:
  95 +
  96 +
  97 +
63 98  
64 99  
65 100  
... ...
src/main/resources/static/pages/report/sheet/list.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 +</style>
  18 +
  19 +<div class="page-head">
  20 + <div class="page-title" style="margin-left: 20px">
  21 + <button>数据导出</button>
  22 + </div>
  23 +</div>
  24 +
  25 +<div class="row" id="sheetList">
  26 + <div class="col-md-12">
  27 + <div class="portlet light porttlet-fit bordered">
  28 + <div class="portlet-body">
  29 + <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 600px">
  30 + <table class="table table-bordered table-hover table-checkable" id="forms_1">
  31 + <thead>
  32 + <tr>
  33 + <td></td>
  34 + <td>日期</td>
  35 + <td>线路</td>
  36 + <td>站点</td>
  37 + <td>计划时间</td>
  38 + <td>实际时间</td>
  39 + <td>是否准点</td>
  40 + </tr>
  41 + </thead>
  42 +
  43 + <tbody >
  44 +
  45 + </tbody>
  46 + </table>
  47 + </div>
  48 + </div>
  49 + </div>
  50 + </div>
  51 +</div>
  52 +
  53 +<script>
  54 + $(function(){
  55 + // 关闭左侧栏
  56 + if (!$('body').hasClass('page-sidebar-closed'))
  57 + $('.menu-toggler.sidebar-toggler').click();
  58 +
  59 + $("#sheetList").on('init', function (e, id) {
  60 + $get('/sheet/sheetList',{id:id},function(result){
  61 + var sheetList_1 = template('sheetList_1',{list:result});
  62 + $('#forms_1 tbody').html(sheetList_1);
  63 + });
  64 + })
  65 + /* $("#query").on('click',function(){
  66 + var line = $("#line").val();
  67 + var date = $("#date").val();
  68 + var fgs=$('#fgsdm').val();
  69 + var gs=$('#gsdm').val();
  70 + $get('/sheet/countList',{line:line,date:date,gs:gs,fgs:fgs},function(result){
  71 + var sheetList = template('sheetList',{list:result});
  72 + $('#forms tbody').html(sheetList);
  73 + $('.btn-sheetList').on('click', openSheetList);
  74 + });
  75 + }); */
  76 +
  77 +
  78 + });
  79 +</script>
  80 +<script type="text/html" id="sheetList_1">
  81 + {{each list as obj i}}
  82 + <tr {{if obj.sfzd!="Y"}}style="color: red" {{/if}}>
  83 + <td>{{i}}</td>
  84 + <td>{{obj.date}}</td>
  85 + <td>{{obj.line}}</td>
  86 + <td>{{obj.zdname}}</td>
  87 + <td>{{obj.jhsj}}</td>
  88 + <td>{{obj.sjsj}}</td>
  89 + <td>
  90 + {{if obj.sfzd=="Y"}}准点{{else}}不准点{{/if}}
  91 + </td>
  92 + </tr>
  93 + {{/each}}
  94 + {{if list.length == 0}}
  95 + <tr>
  96 + <td colspan="7"><h6 class="muted">没有找到相关数据</h6></td>
  97 + </tr>
  98 + {{/if}}
  99 +</script>
0 100 \ No newline at end of file
... ...
src/main/resources/static/pages/report/sheet/sheetList.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 +</style>
  18 +
  19 +<div class="page-head">
  20 + <div class="page-title">
  21 + <h1>发车准点率</h1>
  22 + </div>
  23 +</div>
  24 +
  25 +<div class="row">
  26 + <div class="col-md-12">
  27 + <div class="portlet light porttlet-fit bordered">
  28 + <div class="portlet-title">
  29 + <form class="form-inline" action="">
  30 + <div style="display: inline-block; margin-left: 33px;" id="gsdmDiv">
  31 + <span class="item-label" style="width: 80px;">公司: </span>
  32 + <select class="form-control" name="company" id="gsdm" style="width: 180px;"></select>
  33 + </div>
  34 + <div style="display: inline-block; margin-left: 24px;" id="fgsdmDiv">
  35 + <span class="item-label" style="width: 80px;">分公司: </span>
  36 + <select class="form-control" name="subCompany" id="fgsdm" style="width: 180px;"></select>
  37 + </div>
  38 + <div style="display: inline-block;margin-left: 15px;">
  39 + <span class="item-label" style="width: 80px;">线路: </span>
  40 + <select class="form-control" name="line" id="line" style="width: 180px;"></select>
  41 + </div>
  42 + <div style="display: inline-block;">
  43 + <span class="item-label" style="width: 80px;">时间: </span>
  44 + <input class="form-control" type="text" id="date" style="width: 180px;"/>
  45 + </div>
  46 +
  47 + <div class="form-group">
  48 + <input class="btn btn-default" type="button" id="query" value="查询"/>
  49 +<!-- <input class="btn btn-default" type="button" id="export" value="导出"/> -->
  50 + </div>
  51 + </form>
  52 + </div>
  53 + <div class="portlet-body">
  54 + <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px">
  55 + <table class="table table-bordered table-hover table-checkable" id="forms">
  56 + <thead>
  57 + <tr>
  58 + <td>公司</td>
  59 + <td>分公司</td>
  60 + <td>线路</td>
  61 + <td>班次数</td>
  62 + <td>准点班次数</td>
  63 + <td>准点率</td>
  64 + <td>查看</td>
  65 + </tr>
  66 + </thead>
  67 +
  68 + <tbody >
  69 +
  70 + </tbody>
  71 + </table>
  72 + </div>
  73 + </div>
  74 + </div>
  75 + </div>
  76 +</div>
  77 +
  78 +<script>
  79 + $(function(){
  80 + // 关闭左侧栏
  81 + if (!$('body').hasClass('page-sidebar-closed'))
  82 + $('.menu-toggler.sidebar-toggler').click();
  83 +
  84 + $("#date").datetimepicker({
  85 + format : 'YYYY-MM-DD',
  86 + locale : 'zh-cn'
  87 + });
  88 + var d = new Date();
  89 + var year = d.getFullYear();
  90 + var month = d.getMonth() + 1;
  91 + var day = d.getDate();
  92 + if(day < 10)
  93 + day = "0"+day;
  94 + if(month > 9){
  95 + $("#date").val(year + "-" + month + "-" + day);
  96 + } else {
  97 + $("#date").val(year + "-0" + month + "-" + day);
  98 + }
  99 +
  100 + var fage=false;
  101 + var obj = [];
  102 + var xlList;
  103 + $.get('/report/lineList',function(result){
  104 + xlList=result;
  105 +
  106 + $.get('/user/companyData', function(result){
  107 + obj = result;
  108 + console.log(obj);
  109 + var options = '';
  110 + for(var i = 0; i < obj.length; i++){
  111 + options += '<option value="'+obj[i].companyCode+'">'+obj[i].companyName+'</option>';
  112 + }
  113 +
  114 + if(obj.length ==0){
  115 + $("#gsdmDiv").css('display','none');
  116 + }else if(obj.length ==1){
  117 + $("#gsdmDiv").css('display','none');
  118 + if(obj[0].children.length == 1 || obj[0].children.length ==0)
  119 + $('#fgsdmDiv').css('display','none');
  120 + }
  121 + $('#gsdm').html(options);
  122 +
  123 + updateCompany();
  124 + });
  125 + });
  126 +
  127 + $("#gsdm").on("change",updateCompany);
  128 + function updateCompany(){
  129 + var company = $('#gsdm').val();
  130 + var options = '';
  131 + for(var i = 0; i < obj.length; i++){
  132 + if(obj[i].companyCode == company){
  133 + var children = obj[i].children;
  134 + for(var j = 0; j < children.length; j++){
  135 + options += '<option value="'+children[j].code+'">'+children[j].name+'</option>';
  136 + }
  137 + }
  138 + }
  139 + $('#fgsdm').html(options);
  140 + initXl();
  141 + }
  142 +
  143 +
  144 +
  145 +
  146 + $("#fgsdm").on("change",initXl);
  147 + function initXl(){
  148 + var data=[];
  149 + if(fage){
  150 + $("#line").select2("destroy").html('');
  151 + }
  152 + data.push({id: " ", text: "请选择"});
  153 + var fgs=$('#fgsdm').val();
  154 + var gs=$('#gsdm').val();
  155 + for(var i=0;i<xlList.length;i++){
  156 + if(gs!=""){
  157 + if(fgs!=""){
  158 + if(xlList[i]["fgsbm"]==fgs && xlList[i]["gsbm"]==gs){
  159 + data.push({id: xlList[i]["xlbm"], text: xlList[i]["xlname"]});
  160 + }
  161 + }else{
  162 + if(xlList[i]["gsbm"]==gs){
  163 + data.push({id: xlList[i]["xlbm"], text: xlList[i]["xlname"]});
  164 + }
  165 + }
  166 + }
  167 + }
  168 + initPinYinSelect2('#line',data,'');
  169 + fage=true;
  170 + }
  171 + //查询
  172 + $("#query").on('click',function(){
  173 + var line = $("#line").val();
  174 + var date = $("#date").val();
  175 + var fgs=$('#fgsdm').val();
  176 + var gs=$('#gsdm').val();
  177 + $get('/sheet/countList',{line:line,date:date,gs:gs,fgs:fgs},function(result){
  178 + var sheetList = template('sheetList',{list:result});
  179 + $('#forms tbody').html(sheetList);
  180 + $('.btn-sheetList').on('click', openSheetList);
  181 + });
  182 +// $post('/sheet/saveListSheet',function(result){
  183 +// });
  184 + });
  185 +
  186 + function openSheetList(){
  187 + var id = $(this).data('id');
  188 + $.get('/pages/report/sheet/list.html', function (content) {
  189 + layer.open({
  190 + type: 1,
  191 + area: ['800px', '600px'],
  192 + content: content,
  193 + title: '线路准点率详细',
  194 + shift: 5,
  195 + scrollbar: false,
  196 + success: function () {
  197 + $('#sheetList').trigger('init', id);
  198 + }
  199 + });
  200 + });
  201 + }
  202 + });
  203 +</script>
  204 +<script type="text/html" id="sheetList">
  205 + {{each list as obj i}}
  206 + <tr>
  207 + <td>{{obj.gs}}</td>
  208 + <td>{{obj.fgs}}</td>
  209 + <td>{{obj.line}}</td>
  210 + <td>{{obj.bcs}}</td>
  211 + <td>{{obj.zdbcs}}</td>
  212 + <td>{{obj.zdlv}}</td>
  213 + <td>
  214 + <button type="button" class="btn btn-sm blue btn-sheetList"
  215 + data-id="{{obj.id}}">查看</button>
  216 + </td>
  217 + </tr>
  218 + {{/each}}
  219 + {{if list.length == 0}}
  220 + <tr>
  221 + <td colspan="7"><h6 class="muted">没有找到相关数据</h6></td>
  222 + </tr>
  223 + {{/if}}
  224 +</script>
0 225 \ No newline at end of file
... ...
src/main/resources/static/pages/report/timetable/timetable.html
... ... @@ -261,6 +261,9 @@
261 261 }
262 262 initPinYinSelect2('#line',data,'');
263 263 fage=true;
  264 +
  265 + line = data[0].id;
  266 + updateTtinfo();
264 267 }
265 268  
266 269  
... ... @@ -271,7 +274,7 @@
271 274 flag = 1;
272 275 var treeData = [];
273 276 var params = {};
274   - params['line'] = $("#line").val();
  277 + params['line'] = line;
275 278 $get('/report/getTtinfo', params, function(result){
276 279 treeData = createTreeData(result);
277 280 var options = '<option value="">请选择...</option>';
... ... @@ -284,12 +287,15 @@
284 287 }
285 288  
286 289 $("#line").on("change", function(){
  290 + line = $("#line").val();
287 291 updateTtinfo();
288 292 })
289 293  
  294 + var line = $("#line").val();
  295 +
290 296 //查询
291 297 $("#query").on('click',function(){
292   - var line = $("#line").val();
  298 + line = $("#line").val();
293 299 var xlName = $("#select2-line-container").html();
294 300 var ttinfo = $("#ttinfo").val();
295 301 if(line==null || line ==""){
... ...
src/main/resources/static/pages/scheduleApp/module/common/dts2/employeeGroup/saEmployeegroup.js
... ... @@ -182,6 +182,8 @@ angular.module(&#39;ScheduleApp&#39;).directive(&#39;saEmployeegroup&#39;, [
182 182 dbbm: data_temp[$index].dbbm,
183 183 jsy: data_temp[$index].jsy,
184 184 spy: data_temp[$index].spy,
  185 + jcode: data_temp[$index].jcode,
  186 + scode: data_temp[$index].scode,
185 187 isstart: false
186 188 });
187 189  
... ... @@ -199,6 +201,8 @@ angular.module(&#39;ScheduleApp&#39;).directive(&#39;saEmployeegroup&#39;, [
199 201 dbbm: data_temp[$index].dbbm,
200 202 jsy: data_temp[$index].jsy,
201 203 spy: data_temp[$index].spy,
  204 + jcode: data_temp[$index].jcode,
  205 + scode: data_temp[$index].scode,
202 206 isselected: true
203 207 };
204 208  
... ... @@ -211,12 +215,16 @@ angular.module(&#39;ScheduleApp&#39;).directive(&#39;saEmployeegroup&#39;, [
211 215 dbbm: data_temp[$index].dbbm,
212 216 jsy: data_temp[$index].jsy,
213 217 spy: data_temp[$index].spy,
  218 + jcode: data_temp[$index].jcode,
  219 + scode: data_temp[$index].scode,
214 220 isselected: false
215 221 }, {
216 222 id : data_temp[$index].id,
217 223 dbbm: data_temp[$index].dbbm,
218 224 jsy: data_temp[$index].jsy,
219 225 spy: data_temp[$index].spy,
  226 + jcode: data_temp[$index].jcode,
  227 + scode: data_temp[$index].scode,
220 228 isselected: false
221 229 }
222 230 )
... ... @@ -536,6 +544,8 @@ angular.module(&#39;ScheduleApp&#39;).directive(&#39;saEmployeegroup&#39;, [
536 544 if (dataFBSelect_temp[i].group[k].dbbm == data_temp[j].dbbm) {
537 545 dataFBSelect_temp[i].group[k].jsy = data_temp[j].jsy;
538 546 dataFBSelect_temp[i].group[k].spy = data_temp[j].spy;
  547 + dataFBSelect_temp[i].group[k].jcode = data_temp[j].jcode;
  548 + dataFBSelect_temp[i].group[k].scode = data_temp[j].scode;
539 549 break;
540 550 }
541 551 }
... ... @@ -563,6 +573,8 @@ angular.module(&#39;ScheduleApp&#39;).directive(&#39;saEmployeegroup&#39;, [
563 573 if (dataSelect_temp[i].dbbm == data_temp[j].dbbm) {
564 574 dataSelect_temp[i].jsy = data_temp[j].jsy;
565 575 dataSelect_temp[i].spy = data_temp[j].spy;
  576 + dataSelect_temp[i].jcode = data_temp[j].jcode;
  577 + dataSelect_temp[i].scode = data_temp[j].scode;
566 578 break;
567 579 }
568 580 }
... ... @@ -643,21 +655,30 @@ angular.module(&#39;ScheduleApp&#39;).directive(&#39;saEmployeegroup&#39;, [
643 655 angular.forEach(result.content, function(obj) {
644 656 var n1 = obj.jsy == null ? "" : (obj.jsy.personnelName || "");
645 657 var n2 = obj.spy == null ? "" : (obj.spy.personnelName || "");
646   - var n3 = obj.dbbm || "";
647   - //var c1 = obj.jsy == null ? "" : (obj.jsy.jobCode || "");
648   - //var c2 = obj.spy == null ? "" : (obj.spy.jobCode || "");
  658 + //var n3 = obj.dbbm || "";
  659 + var c1 = obj.jsy == null ? "" : (obj.jsy.jobCode || "");
  660 + var c2 = obj.spy == null ? "" : (obj.spy.jobCode || "");
  661 +
  662 + if (c1.indexOf("-") > 0) {
  663 + c1 = c1.substr(3);
  664 + }
  665 + if (c2.indexOf("-") > 0) {
  666 + c2 = c2.substr(3);
  667 + }
649 668  
650 669 var str = [];
651 670 str.push(n1);
652 671 str.push(n2);
653   - str.push(n3);
654   - //str.push(c1);
655   - //str.push(c2);
  672 + //str.push(n3);
  673 + str.push(c1);
  674 + str.push(c2);
656 675 this.push({
657 676 id: obj.id,
658 677 dbbm: obj.dbbm,
659 678 jsy: n1,
660 679 spy: n2,
  680 + jcode: c1,
  681 + scode: c2,
661 682 '$fullChars': pinyin.getFullChars(str.join("-")), // 全拼
662 683 '$camelChars': pinyin.getCamelChars(str.join("-")), // 简拼
663 684 '$str': str.join("-")
... ...
src/main/resources/static/pages/scheduleApp/module/common/dts2/employeeGroup/saEmployeegroupTemplate.html
... ... @@ -56,15 +56,15 @@
56 56 color: white;
57 57 background: #8DA29F;
58 58 border: 1px solid #8DA29F;
59   - min-width: 100px;
60   - max-width: 200px;
  59 + min-width: 150px;
  60 + max-width: 300px;
61 61 }
62 62 .employee-select .employeeGroup.start {
63 63 color: white;
64 64 background: #32C5D2;
65 65 border: 1px solid #32C5D2;
66   - min-width: 100px;
67   - max-width: 200px;
  66 + min-width: 150px;
  67 + max-width: 300px;
68 68 }
69 69  
70 70  
... ... @@ -79,7 +79,7 @@
79 79 </div>
80 80 <div class="col-md-3" style="padding-left: 0px;">
81 81 <input name="rysearch" ng-model="$saEmployeegroupCtrl.$$searchText"
82   - type="text" class="input-sm" style="width: 120px; height: 20px; border: 1px solid #32C5D2;" placeholder="输入拼音或编码..."/>
  82 + type="text" class="input-sm" style="width: 120px; height: 20px; border: 1px solid #32C5D2;" placeholder="拼音,编码,工号..."/>
83 83 </div>
84 84 <div class="col-md-2" style="min-height: 19px; color: black; padding-left: 0px;">
85 85 <div class="col-md-3" style="padding-left: 0px; padding-right: 0px;">
... ... @@ -96,19 +96,50 @@
96 96 <div class="employee active"
97 97 ng-repeat="$d in $saEmployeegroupCtrl.$$data track by $index"
98 98 ng-click="$saEmployeegroupCtrl.$$internal_rylist_click($index)">
99   - <span ng-if="$d.spy">
100   - <i class="fa fa-bus" aria-hidden="true"></i>
101   - {{$d.jsy}}
102   - -
103   - <i class="fa fa-ticket" aria-hidden="true"></i>
104   - {{$d.spy}}
105   - {{"(" + $d.dbbm + ")"}}
106   - </span>
107   - <span ng-if="!$d.spy">
108   - <i class="fa fa-bus" aria-hidden="true"></i>
109   - {{$d.jsy}}
110   - {{"(" + $d.dbbm + ")"}}
111   - </span>
  99 +
  100 + <div ng-if="$d.spy">
  101 + <div>
  102 + <div>
  103 + <span>
  104 + <i class="fa fa-bus" aria-hidden="true"></i>
  105 + {{$d.jsy}}
  106 + </span>
  107 + </div>
  108 + <div>
  109 + <span>
  110 + {{"(" + $d.jcode + ")"}}
  111 + </span>
  112 + </div>
  113 + </div>
  114 + ------
  115 + <div>
  116 + <div>
  117 + <span>
  118 + <i class="fa fa-ticket" aria-hidden="true"></i>
  119 + {{$d.spy}}
  120 + </span>
  121 + </div>
  122 + <div>
  123 + <span>
  124 + {{"(" + $d.scode + ")"}}
  125 + </span>
  126 + </div>
  127 + </div>
  128 + </div>
  129 +
  130 + <div ng-if="!$d.spy">
  131 + <div>
  132 + <span>
  133 + <i class="fa fa-bus" aria-hidden="true"></i>
  134 + {{$d.jsy}}
  135 + </span>
  136 + </div>
  137 + <div>
  138 + <span>
  139 + {{"(" + $d.jcode + ")"}}
  140 + </span>
  141 + </div>
  142 + </div>
112 143 </div>
113 144 </div>
114 145 </div>
... ... @@ -137,19 +168,50 @@
137 168 ng-repeat="$d in $saEmployeegroupCtrl.$$dataSelected track by $index"
138 169 ng-click="$saEmployeegroupCtrl.$$internal_selrylist_click($index)"
139 170 ng-dblclick="$saEmployeegroupCtrl.$$internal_selrylist_dbclick($index)">
140   - <span ng-if="$d.spy">
141   - <i class="fa fa-bus" aria-hidden="true"></i>
142   - {{$d.jsy}}
143   - -
144   - <i class="fa fa-ticket" aria-hidden="true"></i>
145   - {{$d.spy}}
146   - {{"(" + $d.dbbm + ")"}}
147   - </span>
148   - <span ng-if="!$d.spy">
149   - <i class="fa fa-bus" aria-hidden="true"></i>
150   - {{$d.jsy}}
151   - {{"(" + $d.dbbm + ")"}}
152   - </span>
  171 +
  172 + <div ng-if="$d.spy">
  173 + <div>
  174 + <div>
  175 + <span>
  176 + <i class="fa fa-bus" aria-hidden="true"></i>
  177 + {{$d.jsy}}
  178 + </span>
  179 + </div>
  180 + <div>
  181 + <span>
  182 + {{"(" + $d.jcode + ")"}}
  183 + </span>
  184 + </div>
  185 + </div>
  186 + ------
  187 + <div>
  188 + <div>
  189 + <span>
  190 + <i class="fa fa-ticket" aria-hidden="true"></i>
  191 + {{$d.spy}}
  192 + </span>
  193 + </div>
  194 + <div>
  195 + <span>
  196 + {{"(" + $d.scode + ")"}}
  197 + </span>
  198 + </div>
  199 + </div>
  200 + </div>
  201 +
  202 + <div ng-if="!$d.spy">
  203 + <div>
  204 + <span>
  205 + <i class="fa fa-bus" aria-hidden="true"></i>
  206 + {{$d.jsy}}
  207 + </span>
  208 + </div>
  209 + <div>
  210 + <span>
  211 + {{"(" + $d.jcode + ")"}}
  212 + </span>
  213 + </div>
  214 + </div>
153 215  
154 216 </div>
155 217 </div>
... ... @@ -184,19 +246,48 @@
184 246 <div ng-class="{employee: true, active: true, start: $d.group[0].isselected}"
185 247 ng-click="$saEmployeegroupCtrl.$$internal_selrygroup_click($index, 0, $event)"
186 248 ng-if="$d.group[0].spy">
187   - <i class="fa fa-bus" aria-hidden="true"></i>
188   - {{$d.group[0].jsy}}
189   - -
190   - <i class="fa fa-ticket" aria-hidden="true"></i>
191   - {{$d.group[0].spy}}
192   - {{"(" + $d.group[0].dbbm + ")"}}
  249 + <div>
  250 + <div>
  251 + <span>
  252 + <i class="fa fa-bus" aria-hidden="true"></i>
  253 + {{$d.group[0].jsy}}
  254 + </span>
  255 + </div>
  256 + <div>
  257 + <span>
  258 + {{"(" + $d.group[0].jcode + ")"}}
  259 + </span>
  260 + </div>
  261 + </div>
  262 + ------
  263 + <div>
  264 + <div>
  265 + <span>
  266 + <i class="fa fa-ticket" aria-hidden="true"></i>
  267 + {{$d.group[0].spy}}
  268 + </span>
  269 + </div>
  270 + <div>
  271 + <span>
  272 + {{"(" + $d.group[0].scode + ")"}}
  273 + </span>
  274 + </div>
  275 + </div>
193 276 </div>
194 277 <div ng-class="{employee: true, active: true, start: $d.group[0].isselected}"
195 278 ng-click="$saEmployeegroupCtrl.$$internal_selrygroup_click($index, 0, $event)"
196 279 ng-if="!$d.group[0].spy">
197   - <i class="fa fa-bus" aria-hidden="true"></i>
198   - {{$d.group[0].jsy}}
199   - {{"(" + $d.group[0].dbbm + ")"}}
  280 + <div>
  281 + <span>
  282 + <i class="fa fa-bus" aria-hidden="true"></i>
  283 + {{$d.group[0].jsy}}
  284 + </span>
  285 + </div>
  286 + <div>
  287 + <span>
  288 + {{"(" + $d.group[0].jcode + ")"}}
  289 + </span>
  290 + </div>
200 291 </div>
201 292 </div>
202 293  
... ... @@ -205,19 +296,48 @@
205 296 <div ng-class="{employee: true, active: true, start: $d.group[1].isselected}"
206 297 ng-click="$saEmployeegroupCtrl.$$internal_selrygroup_click($index, 1, $event)"
207 298 ng-if="$d.group[1].spy">
208   - <i class="fa fa-bus" aria-hidden="true"></i>
209   - {{$d.group[1].jsy}}
210   - -
211   - <i class="fa fa-ticket" aria-hidden="true"></i>
212   - {{$d.group[1].spy}}
213   - {{"(" + $d.group[1].dbbm + ")"}}
  299 + <div>
  300 + <div>
  301 + <span>
  302 + <i class="fa fa-bus" aria-hidden="true"></i>
  303 + {{$d.group[1].jsy}}
  304 + </span>
  305 + </div>
  306 + <div>
  307 + <span>
  308 + {{"(" + $d.group[1].jcode + ")"}}
  309 + </span>
  310 + </div>
  311 + </div>
  312 + ------
  313 + <div>
  314 + <div>
  315 + <span>
  316 + <i class="fa fa-ticket" aria-hidden="true"></i>
  317 + {{$d.group[1].spy}}
  318 + </span>
  319 + </div>
  320 + <div>
  321 + <span>
  322 + {{"(" + $d.group[1].scode + ")"}}
  323 + </span>
  324 + </div>
  325 + </div>
214 326 </div>
215 327 <div ng-class="{employee: true, active: true, start: $d.group[1].isselected}"
216 328 ng-click="$saEmployeegroupCtrl.$$internal_selrygroup_click($index, 1, $event)"
217 329 ng-if="!$d.group[1].spy">
218   - <i class="fa fa-bus" aria-hidden="true"></i>
219   - {{$d.group[1].jsy}}
220   - {{"(" + $d.group[1].dbbm + ")"}}
  330 + <div>
  331 + <span>
  332 + <i class="fa fa-bus" aria-hidden="true"></i>
  333 + {{$d.group[1].jsy}}
  334 + </span>
  335 + </div>
  336 + <div>
  337 + <span>
  338 + {{"(" + $d.group[1].jcode + ")"}}
  339 + </span>
  340 + </div>
221 341 </div>
222 342 </div>
223 343  
... ...
src/main/resources/static/pages/scheduleApp/module/common/prj-common-directive.js
... ... @@ -2907,6 +2907,8 @@ angular.module(&#39;ScheduleApp&#39;).directive(&#39;saEmployeegroup&#39;, [
2907 2907 dbbm: data_temp[$index].dbbm,
2908 2908 jsy: data_temp[$index].jsy,
2909 2909 spy: data_temp[$index].spy,
  2910 + jcode: data_temp[$index].jcode,
  2911 + scode: data_temp[$index].scode,
2910 2912 isstart: false
2911 2913 });
2912 2914  
... ... @@ -2924,6 +2926,8 @@ angular.module(&#39;ScheduleApp&#39;).directive(&#39;saEmployeegroup&#39;, [
2924 2926 dbbm: data_temp[$index].dbbm,
2925 2927 jsy: data_temp[$index].jsy,
2926 2928 spy: data_temp[$index].spy,
  2929 + jcode: data_temp[$index].jcode,
  2930 + scode: data_temp[$index].scode,
2927 2931 isselected: true
2928 2932 };
2929 2933  
... ... @@ -2936,12 +2940,16 @@ angular.module(&#39;ScheduleApp&#39;).directive(&#39;saEmployeegroup&#39;, [
2936 2940 dbbm: data_temp[$index].dbbm,
2937 2941 jsy: data_temp[$index].jsy,
2938 2942 spy: data_temp[$index].spy,
  2943 + jcode: data_temp[$index].jcode,
  2944 + scode: data_temp[$index].scode,
2939 2945 isselected: false
2940 2946 }, {
2941 2947 id : data_temp[$index].id,
2942 2948 dbbm: data_temp[$index].dbbm,
2943 2949 jsy: data_temp[$index].jsy,
2944 2950 spy: data_temp[$index].spy,
  2951 + jcode: data_temp[$index].jcode,
  2952 + scode: data_temp[$index].scode,
2945 2953 isselected: false
2946 2954 }
2947 2955 )
... ... @@ -3261,6 +3269,8 @@ angular.module(&#39;ScheduleApp&#39;).directive(&#39;saEmployeegroup&#39;, [
3261 3269 if (dataFBSelect_temp[i].group[k].dbbm == data_temp[j].dbbm) {
3262 3270 dataFBSelect_temp[i].group[k].jsy = data_temp[j].jsy;
3263 3271 dataFBSelect_temp[i].group[k].spy = data_temp[j].spy;
  3272 + dataFBSelect_temp[i].group[k].jcode = data_temp[j].jcode;
  3273 + dataFBSelect_temp[i].group[k].scode = data_temp[j].scode;
3264 3274 break;
3265 3275 }
3266 3276 }
... ... @@ -3288,6 +3298,8 @@ angular.module(&#39;ScheduleApp&#39;).directive(&#39;saEmployeegroup&#39;, [
3288 3298 if (dataSelect_temp[i].dbbm == data_temp[j].dbbm) {
3289 3299 dataSelect_temp[i].jsy = data_temp[j].jsy;
3290 3300 dataSelect_temp[i].spy = data_temp[j].spy;
  3301 + dataSelect_temp[i].jcode = data_temp[j].jcode;
  3302 + dataSelect_temp[i].scode = data_temp[j].scode;
3291 3303 break;
3292 3304 }
3293 3305 }
... ... @@ -3368,21 +3380,30 @@ angular.module(&#39;ScheduleApp&#39;).directive(&#39;saEmployeegroup&#39;, [
3368 3380 angular.forEach(result.content, function(obj) {
3369 3381 var n1 = obj.jsy == null ? "" : (obj.jsy.personnelName || "");
3370 3382 var n2 = obj.spy == null ? "" : (obj.spy.personnelName || "");
3371   - var n3 = obj.dbbm || "";
3372   - //var c1 = obj.jsy == null ? "" : (obj.jsy.jobCode || "");
3373   - //var c2 = obj.spy == null ? "" : (obj.spy.jobCode || "");
  3383 + //var n3 = obj.dbbm || "";
  3384 + var c1 = obj.jsy == null ? "" : (obj.jsy.jobCode || "");
  3385 + var c2 = obj.spy == null ? "" : (obj.spy.jobCode || "");
  3386 +
  3387 + if (c1.indexOf("-") > 0) {
  3388 + c1 = c1.substr(3);
  3389 + }
  3390 + if (c2.indexOf("-") > 0) {
  3391 + c2 = c2.substr(3);
  3392 + }
3374 3393  
3375 3394 var str = [];
3376 3395 str.push(n1);
3377 3396 str.push(n2);
3378   - str.push(n3);
3379   - //str.push(c1);
3380   - //str.push(c2);
  3397 + //str.push(n3);
  3398 + str.push(c1);
  3399 + str.push(c2);
3381 3400 this.push({
3382 3401 id: obj.id,
3383 3402 dbbm: obj.dbbm,
3384 3403 jsy: n1,
3385 3404 spy: n2,
  3405 + jcode: c1,
  3406 + scode: c2,
3386 3407 '$fullChars': pinyin.getFullChars(str.join("-")), // 全拼
3387 3408 '$camelChars': pinyin.getCamelChars(str.join("-")), // 简拼
3388 3409 '$str': str.join("-")
... ...
src/main/resources/static/pages/scheduleApp/module/common/prj-common-globalservice.js
... ... @@ -295,6 +295,23 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;EmployeeConfigService_g&#39;, [&#39;$resource&#39;, f
295 295 }
296 296 }
297 297 ),
  298 + dbbm: $resource(
  299 + '/eci/dbbm/:xl',
  300 + {},
  301 + {
  302 + get: {
  303 + method: 'GET',
  304 + transformResponse: function(rs) {
  305 + var dst = angular.fromJson(rs);
  306 + if (dst.status == 'SUCCESS') {
  307 + return {data: dst.data};
  308 + } else {
  309 + return dst;
  310 + }
  311 + }
  312 + }
  313 + }
  314 + ),
298 315 validate: $resource( // TODO:
299 316 '/personnel/validate/:type',
300 317 {},
... ... @@ -360,6 +377,23 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;GuideboardManageService_g&#39;, [&#39;$resource&#39;,
360 377 // 内部还有默认的方法delete
361 378 }
362 379 ),
  380 + lpno: $resource(
  381 + '/gic/lpno/:xl',
  382 + {},
  383 + {
  384 + get: {
  385 + method: 'GET',
  386 + transformResponse: function(rs) {
  387 + var dst = angular.fromJson(rs);
  388 + if (dst.status == 'SUCCESS') {
  389 + return {data: dst.data};
  390 + } else {
  391 + return dst;
  392 + }
  393 + }
  394 + }
  395 + }
  396 + ),
363 397 dataTools: $resource(
364 398 '/gic/:type',
365 399 {},
... ...
src/main/resources/static/pages/scheduleApp/module/core/employeeConfig/module.js
... ... @@ -75,6 +75,10 @@ angular.module(&#39;ScheduleApp&#39;).factory(
75 75 alert("请选择线路!");
76 76 return null;
77 77 }
  78 + },
  79 +
  80 + dbbm: function(xlid) {
  81 + return service.dbbm.get({xl: xlid}).$promise;
78 82 }
79 83  
80 84 };
... ... @@ -229,7 +233,8 @@ angular.module(&#39;ScheduleApp&#39;).controller(
229 233 'EmployeeConfigService',
230 234 '$stateParams',
231 235 '$state',
232   - function(service, $stateParams, $state) {
  236 + '$scope',
  237 + function(service, $stateParams, $state, $scope) {
233 238 var self = this;
234 239 var EmpConfig = service.getQueryClass();
235 240  
... ... @@ -267,6 +272,25 @@ angular.module(&#39;ScheduleApp&#39;).controller(
267 272 $state.go("employeeConfig");
268 273 });
269 274 };
  275 +
  276 + $scope.$watch(
  277 + function() {
  278 + return self.employeeConfigForSave.xl.id;
  279 + },
  280 + function(newValue, oldValue) {
  281 + if (!id && newValue) { // form表单操作
  282 + var p = service.dbbm(newValue);
  283 + p.then(
  284 + function(rst) {
  285 + if (rst.data) {
  286 + self.employeeConfigForSave.dbbm = rst.data;
  287 + }
  288 +
  289 + }
  290 + );
  291 + }
  292 + }
  293 + );
270 294 }]);
271 295  
272 296 // detail.html控制器
... ...
src/main/resources/static/pages/scheduleApp/module/core/employeeConfig/service.js
... ... @@ -38,6 +38,23 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;EmployeeConfigService_g&#39;, [&#39;$resource&#39;, f
38 38 }
39 39 }
40 40 ),
  41 + dbbm: $resource(
  42 + '/eci/dbbm/:xl',
  43 + {},
  44 + {
  45 + get: {
  46 + method: 'GET',
  47 + transformResponse: function(rs) {
  48 + var dst = angular.fromJson(rs);
  49 + if (dst.status == 'SUCCESS') {
  50 + return {data: dst.data};
  51 + } else {
  52 + return dst;
  53 + }
  54 + }
  55 + }
  56 + }
  57 + ),
41 58 validate: $resource( // TODO:
42 59 '/personnel/validate/:type',
43 60 {},
... ...
src/main/resources/static/pages/scheduleApp/module/core/guideboardManage/module.js
... ... @@ -80,6 +80,10 @@ angular.module(&#39;ScheduleApp&#39;).factory(
80 80 alert("请选择线路!");
81 81 return null;
82 82 }
  83 + },
  84 +
  85 + lpno: function(xl) {
  86 + return service.lpno.get({xl: xl}).$promise;
83 87 }
84 88 };
85 89 }
... ... @@ -263,6 +267,25 @@ angular.module(&#39;ScheduleApp&#39;).controller(
263 267 });
264 268 };
265 269  
  270 + $scope.$watch(
  271 + function() {
  272 + return self.guideboardManageForForm.xl.id;
  273 + },
  274 + function(newValue, oldValue) {
  275 + if (!id && newValue) { // form表单操作
  276 + var p = service.lpno(newValue);
  277 + p.then(
  278 + function(rst) {
  279 + if (rst.data) {
  280 + self.guideboardManageForForm.lpNo = rst.data;
  281 + }
  282 +
  283 + }
  284 + );
  285 + }
  286 + }
  287 + );
  288 +
266 289 }
267 290 ]
268 291 );
... ...
src/main/resources/static/pages/scheduleApp/module/core/guideboardManage/service.js
... ... @@ -36,6 +36,23 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;GuideboardManageService_g&#39;, [&#39;$resource&#39;,
36 36 // 内部还有默认的方法delete
37 37 }
38 38 ),
  39 + lpno: $resource(
  40 + '/gic/lpno/:xl',
  41 + {},
  42 + {
  43 + get: {
  44 + method: 'GET',
  45 + transformResponse: function(rs) {
  46 + var dst = angular.fromJson(rs);
  47 + if (dst.status == 'SUCCESS') {
  48 + return {data: dst.data};
  49 + } else {
  50 + return dst;
  51 + }
  52 + }
  53 + }
  54 + }
  55 + ),
39 56 dataTools: $resource(
40 57 '/gic/:type',
41 58 {},
... ...
src/main/resources/static/pages/scheduleApp/module/core/schedulePlanManage/list.html
... ... @@ -85,6 +85,7 @@
85 85 <td>
86 86 <div ng-repeat="tinfo in info.rst">
87 87 <a ui-sref="ttInfoDetailManage_edit3({xlid: info.xl.id, ttid : tinfo.ttInfoId, xlname: info.xl.name, ttname : tinfo.ttInfoName, rflag : true})">
  88 + <i class="fa fa-table" aria-hidden="true"></i>
88 89 {{tinfo.ttInfoName}}
89 90 </a>
90 91 </div>
... ...
src/main/resources/static/pages/scheduleApp/module/core/scheduleRuleManage/edit.html
... ... @@ -129,7 +129,7 @@
129 129  
130 130 <div class="form-group has-success has-feedback">
131 131 <label class="col-md-2 control-label">人员范围*:</label>
132   - <div class="col-md-6">
  132 + <div class="col-md-8">
133 133 <sa-Employeegroup model="ctrl.scheduleRuleManageForSave"
134 134 name="ryrange"
135 135 xlidvalue="{{ctrl.scheduleRuleManageForSave.xl.id}}"
... ...
src/main/resources/static/pages/scheduleApp/module/core/scheduleRuleManage/form.html
... ... @@ -129,7 +129,7 @@
129 129  
130 130 <div class="form-group has-success has-feedback">
131 131 <label class="col-md-2 control-label">人员范围*:</label>
132   - <div class="col-md-6">
  132 + <div class="col-md-8">
133 133 <sa-Employeegroup model="ctrl.scheduleRuleManageForSave"
134 134 name="ryrange"
135 135 xlidvalue="{{ctrl.scheduleRuleManageForSave.xl.id}}"
... ...
src/main/resources/static/real_control_v2/css/main.css
  1 +input::-webkit-outer-spin-button,
  2 +input::-webkit-inner-spin-button{
  3 + display: none;
  4 +}
  5 +
  6 +input::-webkit-calendar-picker-indicator {
  7 + display: none;
  8 +}
  9 +
  10 +input::-webkit-datetime-edit { padding: 1px; }
1 11  
2 12 .ps-container > .ps-scrollbar-y-rail{
3 13 z-index: 1 !important;
... ...
src/main/resources/static/real_control_v2/fragments/north/nav/sch_edit_info/list.html
1   -<div class="uk-modal ct_move_modal" id="history-sch-edit-info-modal">
2   - <div class="uk-modal-dialog" style="width: 1280px;">
3   - <a href="" class="uk-modal-close uk-close"></a>
4   - <div class="uk-modal-header">
5   - <h2>班次修正日志</h2>
6   - </div>
7   -
8   - <div style="padding-left: 12px;margin: 20px 0">
9   - <ul class="uk-subnav uk-subnav-pill h-s-time">
10   - </ul>
11   - </div>
12   -
13   - <div style="padding-left: 12px;">
14   - <ul class="uk-subnav uk-subnav-pill h-s-line">
15   - </ul>
16   - </div>
17   -
18   - <div class="uk-panel uk-panel-box uk-panel-box-primary">
19   - <form class="uk-form search-form">
20   - <fieldset data-uk-margin>
21   - <span class="horizontal-field">路牌</span>
22   - <select name="lpName" style="width: 80px;"></select>
23   - <span class="horizontal-field">上下行</span>
24   - <select name="xlDir">
25   - <option value="">全部</option>
26   - <option value="0">上行</option>
27   - <option value="1">下行</option>
28   - </select>
29   - &nbsp;
30   - <span class="horizontal-field">车辆</span>
31   - <div class="uk-autocomplete uk-form autocomplete-cars">
32   - <input type="text" name="clZbh" placeholder="车辆自编号">
33   - </div>
34   - <span class="horizontal-field">驾驶员</span>
35   - <div class="uk-autocomplete uk-form autocomplete-jsy">
36   - <input type="text" name="jGh" placeholder="驾驶员">
37   - </div>
38   - <button class="uk-button">检索</button>
39   -
40   - <label style="float: right;font-size: 12px;color: #989797;">
41   - <input type="checkbox" disabled> 显示系统修正日志
42   - </label>
43   - </fieldset>
44   - </form>
45   - </div>
46   -
47   - <div class="ct_table_wrap ct_table_no_border edit-info-table-wrap" style="height: 510px;">
48   - <div class="ct_table sch-edit-info-table">
49   - <div class="ct_table_head">
50   - <dl>
51   - <dt>序号</dt>
52   - <dt>路牌</dt>
53   - <dt>车辆</dt>
54   - <dt>驾驶员</dt>
55   - <dt>计发</dt>
56   - <dt>修正记录</dt>
57   - </dl>
58   - </div>
59   - <div class="ct_table_body">
60   - </div>
61   - </div>
62   - </div>
63   -
64   - <div class="load-panel">
65   - <i class="uk-icon-spinner uk-icon-spin"></i>
66   - 正在加载数据
67   - </div>
68   - </div>
69   -
70   - <script id="history-sch-edit-info-temp" type="text/html">
71   - {{each list as obj i}}
72   - <dl>
73   - <dd>{{i + 1}}</dd>
74   - <dd>{{obj.lpName}}</dd>
75   - <dd>{{obj.clZbh}}</dd>
76   - <dd>{{obj.jGh}}/{{obj.jName}}</dd>
77   - <dd>{{obj.fcsj}}</dd>
78   - <dd>
79   - {{each obj.editArray as e j}}
80   - <div class="ct-badge ct-badge-{{e.type}}" data-id="{{e.id}}">
81   - {{e.timeStr}}{{e.typeStr}}
82   - </div>
83   - {{/each}}
84   - </dd>
85   - </dl>
86   - {{/each}}
87   - </script>
88   -
89   - <!-- 待发调整 tip -->
90   - <script id="edit-info-tip-dftz-temp" type="text/html">
91   - <div class="edit-info-tip">
92   - <p class="text">待发时间从 {{jsonArray.old}} 调整为 {{jsonArray.now}}</p>
93   - <p class="sub_text">调整人:{{user}} 调整时间:{{timeStr}}</p>
94   - {{if remarks!=null && remarks != ''}}
95   - <p class="sub_text">备注:{{remarks}}</p>
96   - {{/if}}
97   - </div>
98   - </script>
99   -
100   - <!-- 实发调整 -->
101   - <script id="edit-info-tip-sftz-temp" type="text/html">
102   - <div class="edit-info-tip">
103   - <p class="text">实发时间由 {{jsonArray.old==null?'无':jsonArray.old}} 调整为 {{jsonArray.now}}</p>
104   - <p class="sub_text">调整人:{{user}} 调整时间:{{timeStr}}</p>
105   - {{if remarks!=null && remarks != ''}}
106   - <p class="sub_text">备注:{{remarks}}</p>
107   - {{/if}}
108   - </div>
109   - </script>
110   -
111   -
112   - <!-- 发车信息微调 tip -->
113   - <script id="edit-info-tip-fcxxwt-temp" type="text/html">
114   - <div class="edit-info-tip">
115   - {{each jsonArray as obj i}}
116   - <p class="text">{{obj.title}} 由 {{obj.old==null?'无':obj.old}} 调整为 {{obj.now}}</p>
117   - {{/each}}
118   - <p class="sub_text">调整人:{{user}} 调整时间:{{timeStr}}</p>
119   - {{if remarks!=null && remarks != ''}}
120   - <p class="sub_text">备注:{{remarks}}</p>
121   - {{/if}}
122   - </div>
123   - </script>
124   -
125   - <!-- 撤销实发tip -->
126   - <script id="edit-info-tip-cxsf-temp" type="text/html">
127   - <div class="edit-info-tip">
128   - <p class="text">将实发时间 {{jsonArray.old_sfsj}} 撤销</p>
129   - <p class="sub_text">调整人:{{user}} 调整时间:{{timeStr}}</p>
130   - {{if remarks!=null && remarks != ''}}
131   - <p class="sub_text">备注:{{remarks}}</p>
132   - {{/if}}
133   - </div>
134   - </script>
135   -
136   - <!-- 撤销执行 -->
137   - <script id="edit-info-tip-cxzx-temp" type="text/html">
138   - <div class="edit-info-tip">
139   - {{if jsonArray.old_sfsj != null}}
140   - <p class="text">将实发时间 {{jsonArray.old_sfsj}} 撤销</p>
141   - {{/if}}
142   - {{if jsonArray.old_sdsj != null}}
143   - <p class="text">将实达时间 {{jsonArray.old_sdsj}} 撤销</p>
144   - {{/if}}
145   - <p class="sub_text">调整人:{{user}} 调整时间:{{timeStr}}</p>
146   - {{if remarks!=null && remarks != ''}}
147   - <p class="sub_text">备注:{{remarks}}</p>
148   - {{/if}}
149   - </div>
150   - </script>
151   -
152   - <!-- 调整人车 -->
153   - <script id="edit-info-tip-tzrc-temp" type="text/html">
154   - <div class="edit-info-tip">
155   - {{if jsonArray.now_jsy != null}}
156   - <p class="text">驾驶员从 {{jsonArray.old_jsy}} 调整为 {{jsonArray.now_jsy}}</p>
157   - {{/if}}
158   - {{if jsonArray.now_nbbm != null}}
159   - <p class="text">车辆从 {{jsonArray.old_nbbm}} 调整为 {{jsonArray.now_nbbm}}</p>
160   - {{/if}}
161   - {{if jsonArray.now_spy != null}}
162   - <p class="text">售票员从 {{jsonArray.old_spy}} 调整为 {{jsonArray.now_spy}}</p>
163   - {{/if}}
164   -
165   - <p class="sub_text">调整人:{{user}} 调整时间:{{timeStr}}</p>
166   - {{if remarks!=null && remarks != ''}}
167   - <p class="sub_text">备注:{{remarks}}</p>
168   - {{/if}}
169   - </div>
170   - </script>
171   -
172   - <script>
173   - (function () {
174   - var modal = '#history-sch-edit-info-modal';
175   - var etInfos={};//id映射
176   -
177   - //滚动条
178   - $('.edit-info-table-wrap', modal).perfectScrollbar({suppressScrollX: true});
179   -
180   - $(modal).on('init', function (e, data) {
181   - e.stopPropagation();
182   - $.get('/realSchedule/dateArray?c=1', function (rs) {
183   - //日期tab
184   - var tsStr = '';
185   - $.each(rs, function (i) {
186   - tsStr += '<li ' + (i == 0 ? 'class="uk-active"' : '') + '><a>' + this + '</a></li>';
187   - });
188   - $('.h-s-time', modal).html(tsStr);
189   -
190   - //线路tab
191   - var xlStr = '';
192   - $.each(gb_data_basic.activeLines, function (i) {
193   - xlStr += '<li ' + (i == 0 ? 'class="uk-active"' : '') + ' data-id="' + this.lineCode + '"><a>' + this.name + '</a></li>';
194   - });
195   - $('.h-s-line', modal).html(xlStr);
196   -
197   - clearLpSelect();
198   - //reLoadLp=true;
199   - jsQuery();
200   - });
201   - });
202   -
203   - $(modal).on('refresh', jsQuery);
204   -
205   - $(modal).on('click', '.h-s-time li,.h-s-line li', function () {
206   - if(loading)
207   - return;
208   - $(this).parent().find('li.uk-active').removeClass('uk-active');
209   - $(this).addClass('uk-active');
210   - clearLpSelect();
211   - //检索之前将滚动条置顶
212   - $('.edit-info-table-wrap', modal)[0].scrollTop = 0;
213   - jsQuery();
214   - });
215   -
216   - $('.search-form', modal).on('submit', function (e) {
217   - try {
218   - //检索之前将滚动条置顶
219   - $('.edit-info-table-wrap', modal)[0].scrollTop = 0;
220   - jsQuery();
221   - }catch(e){
222   - console.log(e);
223   - }
224   - return false;
225   - });
226   -
227   - var reLoadLp;
228   - var nbbmArray,jsyArray,lpArray,loading;
229   - function jsQuery() {
230   - var data = $('.search-form', modal).serializeJSON();
231   - var rq = $('.h-s-time li.uk-active', modal).text(),
232   - lineCode = $('.h-s-line li.uk-active', modal).data('id');
233   - data.rq = rq;
234   - data.lineCode = lineCode;
235   - if(data.jGh.indexOf('/')!=-1){
236   - var jsy=data.jGh.split('/');
237   - data.jGh=jsy[0];
238   - data.jName=jsy[1];
239   - }
240   -
241   - $('.load-panel', modal).show();
242   - loading=true;
243   - gb_common.$get('/schEditInfo/_list', data, function (rs) {
244   - etInfos = {};
245   - nbbmArray=[];
246   - jsyArray=[];
247   - lpArray = [];
248   - $.each(rs.list, function () {
249   - this.jsonArray = JSON.parse(this.jsonArray);
250   - etInfos[this.id] = this;
251   -
252   - nbbmArray.push({value: this.clZbh});
253   - jsyArray.push({value: this.jGh+'/'+this.jName,
254   - fullChars: pinyin.getFullChars(this.jName).toUpperCase(),
255   - camelChars: pinyin.getCamelChars(this.jName)});
256   - lpArray.push({value: this.lpName});
257   - });
258   - //根据班次ID合并修正操作
259   - var list = mergeData(rs.list).sort(sortFun);
260   - var htmlStr = template('history-sch-edit-info-temp', {list: list});
261   - $('.sch-edit-info-table .ct_table_body', modal).html(htmlStr);
262   - $('.load-panel', modal).hide();
263   - loading=false;
264   -
265   - //value
266   - nbbmArray=distinctByField(nbbmArray);
267   - jsyArray=distinctByField(jsyArray);
268   - lpArray=distinctByField(lpArray);
269   - if(reLoadLp){
270   - //路牌下拉框
271   - var ops = '<option value="">全部</option>';
272   - $.each(lpArray, function () {
273   - ops += '<option value="'+this.value+'">'+this.value+'</option>';
274   - });
275   - $('[name=lpName]', modal).html(ops);
276   - reLoadLp = false;
277   - }
278   -
279   - //更新滚动条高度
280   - $('.edit-info-table-wrap', modal).perfectScrollbar('update');
281   - });
282   - }
283   -
284   - function clearLpSelect() {
285   - $('[name=lpName_eq]', modal).val('').html('');
286   - reLoadLp = true;
287   - }
288   -
289   - //nbbm autocomplete
290   - var carAutoCom=$('.autocomplete-cars', modal);
291   - UIkit.autocomplete(carAutoCom, {
292   - minLength: 1,
293   - delay: 50,
294   - source: function(release) {
295   - var q = $('input', carAutoCom).val().toUpperCase()
296   - ,rs = [],
297   - count = 0;
298   - $.each(nbbmArray, function () {
299   - if(this.value.indexOf(q) != -1){
300   - rs.push(this);
301   - count++;
302   - }
303   - if (count >= 15)
304   - return false;
305   - });
306   - release && release(rs);
307   - }
308   - });
309   -
310   - //jsy autocomplete
311   - var jsyAutoCom=$('.autocomplete-jsy', modal);
312   - UIkit.autocomplete(jsyAutoCom, {
313   - minLength: 1,
314   - delay: 50,
315   - source: function(release) {
316   - var q = $('input', jsyAutoCom).val().toUpperCase()
317   - ,rs = [],
318   - count = 0;
319   -
320   - $.each(jsyArray, function() {
321   - if (this.value.indexOf(q) != -1 || this.fullChars.indexOf(q) != -1 || this.camelChars.indexOf(q) != -1){
322   - rs.push(this);
323   - count++;
324   - }
325   -
326   - if (count >= 10)
327   - return false;
328   - });
329   - release && release(rs);
330   - }
331   - });
332   -
333   - function distinctByField(arr, f){
334   - if(!f)
335   - f = 'value';
336   - var rs = {};
337   - $.each(arr, function () {
338   - rs[this[f]]=this;
339   - });
340   - return gb_common.get_vals(rs);
341   - }
342   -
343   - function mergeData(list) {
344   - var rs = {};
345   - $.each(list, function () {
346   - if(rs[this.schId]){
347   - rs[this.schId]['editArray'].push(subData(this));
348   - }
349   - else{
350   - rs[this.schId] = {
351   - schId: this.schId,
352   - clZbh: this.clZbh,
353   - fcsj: this.fcsj,
354   - gsbm: this.gsbm,
355   - fgsbm: this.fgsbm,
356   - lineCode: this.lineCode,
357   - lpName: this.lpName,
358   - jGh: this.jGh,
359   - jName: this.jName,
360   - realExecDate: this.realExecDate,
361   - editArray: [subData(this)]
362   - }
363   - }
364   - });
365   - return gb_common.get_vals(rs);
366   - }
367   -
368   - var types = {'DFTZ': '待发调整', 'FCXXWT':'发车信息微调', 'JHLB': '计划烂班', 'CXLB': '撤销烂班', 'CXZX': '撤销执行', 'CXSF': '撤销实发', 'SFTZ': '实发调整', 'TZRC': '调整人车'};
369   - function subData(data){
370   - return {
371   - id: data.id,
372   - type: data.type,
373   - typeStr: types[data.type]?types[data.type]:data.type,
374   - type2: data.type2,
375   - user: data.user,
376   - jsonArray: data.jsonArray,
377   - remarks: data.remarks,
378   - timeStr: data.timeStr
379   - }
380   - }
381   - gb_ct_table.fixedHead($('.ct_table_wrap', modal));
382   -
383   -
384   - /**
385   - * 鼠标悬停、显示详细
386   - */
387   - var _opts = {
388   - show:{ready: true, delay: 300},
389   - position: {viewport: $(window), my: 'top center', at: 'bottom center'},
390   - hide: {fixed: true, delay: 300},
391   - events: {
392   - hidden: function(event, api) {
393   - $(this).qtip('destroy', true);
394   - }
395   - }
396   - };
397   - //待发调整tip
398   - $(modal).on('mouseenter', '.ct-badge.ct-badge-DFTZ', function() {
399   - $(this).qtip({
400   - show: _opts.show,
401   - content: {
402   - title: '待发调整',
403   - text: function() {
404   - var obj = etInfos[$(this).data('id')];
405   - return template('edit-info-tip-dftz-temp', obj);
406   - }
407   - },
408   - position: _opts.position,
409   - style: {
410   - classes: 'qtip-green qtip-rounded qtip-shadow sch-badge-tip'
411   - },
412   - hide: _opts.hide,
413   - events: _opts.events
414   - });
415   - });
416   -
417   - //实发调整tip
418   - $(modal).on('mouseenter', '.ct-badge.ct-badge-SFTZ', function() {
419   - $(this).qtip({
420   - show: _opts.show,
421   - content: {
422   - title: '实发调整',
423   - text: function() {
424   - var obj = etInfos[$(this).data('id')];
425   - return template('edit-info-tip-sftz-temp', obj);
426   - }
427   - },
428   - position: _opts.position,
429   - style: {
430   - classes: 'qtip-green qtip-rounded qtip-shadow sch-badge-tip'
431   - },
432   - hide: _opts.hide,
433   - events: _opts.events
434   - });
435   - });
436   -
437   - //发车信息微调tip
438   - $(modal).on('mouseenter', '.ct-badge.ct-badge-FCXXWT', function() {
439   - $(this).qtip({
440   - show: _opts.show,
441   - content: {
442   - title: '发车信息微调',
443   - text: function() {
444   - var obj = etInfos[$(this).data('id')];
445   - return template('edit-info-tip-fcxxwt-temp', obj);
446   - }
447   - },
448   - position: _opts.position,
449   - style: {
450   - classes: 'qtip-blue qtip-rounded qtip-shadow sch-badge-tip'
451   - },
452   - hide: _opts.hide,
453   - events: _opts.events
454   - });
455   - });
456   -
457   - //撤销实发tip
458   - $(modal).on('mouseenter', '.ct-badge.ct-badge-CXSF', function() {
459   - $(this).qtip({
460   - show: _opts.show,
461   - content: {
462   - title: '撤销实发',
463   - text: function() {
464   - var obj = etInfos[$(this).data('id')];
465   - return template('edit-info-tip-cxsf-temp', obj);
466   - }
467   - },
468   - position: _opts.position,
469   - style: {
470   - classes: 'qtip-light qtip-rounded qtip-shadow sch-badge-tip'
471   - },
472   - hide: _opts.hide,
473   - events: _opts.events
474   - });
475   - });
476   -
477   - //撤销执行tip
478   - $(modal).on('mouseenter', '.ct-badge.ct-badge-CXZX', function() {
479   - $(this).qtip({
480   - show: _opts.show,
481   - content: {
482   - title: '撤销执行',
483   - text: function() {
484   - var obj = etInfos[$(this).data('id')];
485   - return template('edit-info-tip-cxzx-temp', obj);
486   - }
487   - },
488   - position: _opts.position,
489   - style: {
490   - classes: 'qtip-light qtip-rounded qtip-shadow sch-badge-tip'
491   - },
492   - hide: _opts.hide,
493   - events: _opts.events
494   - });
495   - });
496   -
497   - //计划烂班tip
498   - $(modal).on('mouseenter', '.ct-badge.ct-badge-JHLB', function() {
499   - $(this).qtip({
500   - show: _opts.show,
501   - content: {
502   - text: function() {
503   - var obj = etInfos[$(this).data('id')];
504   - return obj.remarks;
505   - }
506   - },
507   - position: _opts.position,
508   - style: {
509   - classes: 'qtip-red qtip-rounded qtip-shadow sch-badge-tip'
510   - },
511   - hide: _opts.hide,
512   - events: _opts.events
513   - });
514   - });
515   -
516   - //调整人车tip
517   - $(modal).on('mouseenter', '.ct-badge.ct-badge-TZRC', function() {
518   - $(this).qtip({
519   - show: _opts.show,
520   - content: {
521   - title: '调整人车',
522   - text: function() {
523   - var obj = etInfos[$(this).data('id')];
524   - console.log('obj', obj);
525   - return template('edit-info-tip-tzrc-temp', obj);
526   - }
527   - },
528   - position: _opts.position,
529   - style: {
530   - classes: 'qtip-rounded qtip-shadow sch-badge-tip'
531   - },
532   - hide: _opts.hide,
533   - events: _opts.events
534   - });
535   - });
536   -
537   -
538   - function sortFun(a, b) {
539   - return (a.realExecDate + a.fcsj).localeCompare(b.realExecDate + b.fcsj);
540   - }
541   - })();
542   - </script>
  1 +<div class="uk-modal ct_move_modal" id="history-sch-edit-info-modal">
  2 + <div class="uk-modal-dialog" style="width: 1280px;">
  3 + <a href="" class="uk-modal-close uk-close"></a>
  4 + <div class="uk-modal-header">
  5 + <h2>班次修正日志</h2>
  6 + </div>
  7 +
  8 + <div style="padding-left: 12px;margin: 20px 0">
  9 + <ul class="uk-subnav uk-subnav-pill h-s-time">
  10 + </ul>
  11 + </div>
  12 +
  13 + <div style="padding-left: 12px;">
  14 + <ul class="uk-subnav uk-subnav-pill h-s-line">
  15 + </ul>
  16 + </div>
  17 +
  18 + <div class="uk-panel uk-panel-box uk-panel-box-primary">
  19 + <form class="uk-form search-form">
  20 + <fieldset data-uk-margin>
  21 + <span class="horizontal-field">路牌</span>
  22 + <select name="lpName" style="width: 80px;"></select>
  23 + <span class="horizontal-field">上下行</span>
  24 + <select name="xlDir">
  25 + <option value="">全部</option>
  26 + <option value="0">上行</option>
  27 + <option value="1">下行</option>
  28 + </select>
  29 + &nbsp;
  30 + <span class="horizontal-field">车辆</span>
  31 + <div class="uk-autocomplete uk-form autocomplete-cars">
  32 + <input type="text" name="clZbh" placeholder="车辆自编号">
  33 + </div>
  34 + <span class="horizontal-field">驾驶员</span>
  35 + <div class="uk-autocomplete uk-form autocomplete-jsy">
  36 + <input type="text" name="jGh" placeholder="驾驶员">
  37 + </div>
  38 + <button class="uk-button">检索</button>
  39 +
  40 + <label style="float: right;font-size: 12px;color: #989797;">
  41 + <input type="checkbox" disabled> 显示系统修正日志
  42 + </label>
  43 + </fieldset>
  44 + </form>
  45 + </div>
  46 +
  47 + <div class="ct_table_wrap ct_table_no_border edit-info-table-wrap" style="height: 510px;">
  48 + <div class="ct_table sch-edit-info-table">
  49 + <div class="ct_table_head">
  50 + <dl>
  51 + <dt>序号</dt>
  52 + <dt>路牌</dt>
  53 + <dt>车辆</dt>
  54 + <dt>驾驶员</dt>
  55 + <dt>计发</dt>
  56 + <dt>修正记录</dt>
  57 + </dl>
  58 + </div>
  59 + <div class="ct_table_body">
  60 + </div>
  61 + </div>
  62 + </div>
  63 +
  64 + <div class="load-panel">
  65 + <i class="uk-icon-spinner uk-icon-spin"></i>
  66 + 正在加载数据
  67 + </div>
  68 + </div>
  69 +
  70 + <script id="history-sch-edit-info-temp" type="text/html">
  71 + {{each list as obj i}}
  72 + <dl>
  73 + <dd>{{i + 1}}</dd>
  74 + <dd>{{obj.lpName}}</dd>
  75 + <dd>{{obj.clZbh}}</dd>
  76 + <dd>{{obj.jGh}}/{{obj.jName}}</dd>
  77 + <dd>{{obj.fcsj}}</dd>
  78 + <dd>
  79 + {{each obj.editArray as e j}}
  80 + <div class="ct-badge ct-badge-{{e.type}}" data-id="{{e.id}}">
  81 + {{e.timeStr}}{{e.typeStr}}
  82 + </div>
  83 + {{/each}}
  84 + </dd>
  85 + </dl>
  86 + {{/each}}
  87 + </script>
  88 +
  89 + <!-- 待发调整 tip -->
  90 + <script id="edit-info-tip-dftz-temp" type="text/html">
  91 + <div class="edit-info-tip">
  92 + <p class="text">待发时间从 {{jsonArray.old}} 调整为 {{jsonArray.now}}</p>
  93 + <p class="sub_text">调整人:{{user}} 调整时间:{{timeStr}}</p>
  94 + {{if remarks!=null && remarks != ''}}
  95 + <p class="sub_text">备注:{{remarks}}</p>
  96 + {{/if}}
  97 + </div>
  98 + </script>
  99 +
  100 + <!-- 实发调整 -->
  101 + <script id="edit-info-tip-sftz-temp" type="text/html">
  102 + <div class="edit-info-tip">
  103 + <p class="text">实发时间由 {{jsonArray.old==null?'无':jsonArray.old}} 调整为 {{jsonArray.now}}</p>
  104 + <p class="sub_text">调整人:{{user}} 调整时间:{{timeStr}}</p>
  105 + {{if remarks!=null && remarks != ''}}
  106 + <p class="sub_text">备注:{{remarks}}</p>
  107 + {{/if}}
  108 + </div>
  109 + </script>
  110 +
  111 +
  112 + <!-- 发车信息微调 tip -->
  113 + <script id="edit-info-tip-fcxxwt-temp" type="text/html">
  114 + <div class="edit-info-tip">
  115 + {{each jsonArray as obj i}}
  116 + <p class="text">{{obj.title}} 由 {{obj.old==null?'无':obj.old}} 调整为 {{obj.now}}</p>
  117 + {{/each}}
  118 + <p class="sub_text">调整人:{{user}} 调整时间:{{timeStr}}</p>
  119 + {{if remarks!=null && remarks != ''}}
  120 + <p class="sub_text">备注:{{remarks}}</p>
  121 + {{/if}}
  122 + </div>
  123 + </script>
  124 +
  125 + <!-- 撤销实发tip -->
  126 + <script id="edit-info-tip-cxsf-temp" type="text/html">
  127 + <div class="edit-info-tip">
  128 + <p class="text">将实发时间 {{jsonArray.old_sfsj}} 撤销</p>
  129 + <p class="sub_text">调整人:{{user}} 调整时间:{{timeStr}}</p>
  130 + {{if remarks!=null && remarks != ''}}
  131 + <p class="sub_text">备注:{{remarks}}</p>
  132 + {{/if}}
  133 + </div>
  134 + </script>
  135 +
  136 + <!-- 撤销执行 -->
  137 + <script id="edit-info-tip-cxzx-temp" type="text/html">
  138 + <div class="edit-info-tip">
  139 + {{if jsonArray.old_sfsj != null}}
  140 + <p class="text">将实发时间 {{jsonArray.old_sfsj}} 撤销</p>
  141 + {{/if}}
  142 + {{if jsonArray.old_sdsj != null}}
  143 + <p class="text">将实达时间 {{jsonArray.old_sdsj}} 撤销</p>
  144 + {{/if}}
  145 + <p class="sub_text">调整人:{{user}} 调整时间:{{timeStr}}</p>
  146 + {{if remarks!=null && remarks != ''}}
  147 + <p class="sub_text">备注:{{remarks}}</p>
  148 + {{/if}}
  149 + </div>
  150 + </script>
  151 +
  152 + <!-- 调整人车 -->
  153 + <script id="edit-info-tip-tzrc-temp" type="text/html">
  154 + <div class="edit-info-tip">
  155 + {{if jsonArray.now_jsy != null}}
  156 + <p class="text">驾驶员从 {{jsonArray.old_jsy}} 调整为 {{jsonArray.now_jsy}}</p>
  157 + {{/if}}
  158 + {{if jsonArray.now_nbbm != null}}
  159 + <p class="text">车辆从 {{jsonArray.old_nbbm}} 调整为 {{jsonArray.now_nbbm}}</p>
  160 + {{/if}}
  161 + {{if jsonArray.now_spy != null}}
  162 + <p class="text">售票员从 {{jsonArray.old_spy}} 调整为 {{jsonArray.now_spy}}</p>
  163 + {{/if}}
  164 +
  165 + <p class="sub_text">调整人:{{user}} 调整时间:{{timeStr}}</p>
  166 + {{if remarks!=null && remarks != ''}}
  167 + <p class="sub_text">备注:{{remarks}}</p>
  168 + {{/if}}
  169 + </div>
  170 + </script>
  171 +
  172 + <script>
  173 + (function () {
  174 + var modal = '#history-sch-edit-info-modal';
  175 + var etInfos={};//id映射
  176 +
  177 + //滚动条
  178 + $('.edit-info-table-wrap', modal).perfectScrollbar({suppressScrollX: true});
  179 +
  180 + $(modal).on('init', function (e, data) {
  181 + e.stopPropagation();
  182 + $.get('/realSchedule/dateArray?c=1', function (rs) {
  183 + //日期tab
  184 + var tsStr = '';
  185 + $.each(rs, function (i) {
  186 + tsStr += '<li ' + (i == 0 ? 'class="uk-active"' : '') + '><a>' + this + '</a></li>';
  187 + });
  188 + $('.h-s-time', modal).html(tsStr);
  189 +
  190 + //线路tab
  191 + var xlStr = '';
  192 + $.each(gb_data_basic.activeLines, function (i) {
  193 + xlStr += '<li ' + (i == 0 ? 'class="uk-active"' : '') + ' data-id="' + this.lineCode + '"><a>' + this.name + '</a></li>';
  194 + });
  195 + $('.h-s-line', modal).html(xlStr);
  196 +
  197 + clearLpSelect();
  198 + //reLoadLp=true;
  199 + jsQuery();
  200 + });
  201 + });
  202 +
  203 + $(modal).on('refresh', jsQuery);
  204 +
  205 + $(modal).on('click', '.h-s-time li,.h-s-line li', function () {
  206 + if(loading)
  207 + return;
  208 + $(this).parent().find('li.uk-active').removeClass('uk-active');
  209 + $(this).addClass('uk-active');
  210 + clearLpSelect();
  211 + //检索之前将滚动条置顶
  212 + $('.edit-info-table-wrap', modal)[0].scrollTop = 0;
  213 + jsQuery();
  214 + });
  215 +
  216 + $('.search-form', modal).on('submit', function (e) {
  217 + try {
  218 + //检索之前将滚动条置顶
  219 + $('.edit-info-table-wrap', modal)[0].scrollTop = 0;
  220 + jsQuery();
  221 + }catch(e){
  222 + console.log(e);
  223 + }
  224 + return false;
  225 + });
  226 +
  227 + var reLoadLp;
  228 + var nbbmArray,jsyArray,lpArray,loading;
  229 + function jsQuery() {
  230 + var data = $('.search-form', modal).serializeJSON();
  231 + var rq = $('.h-s-time li.uk-active', modal).text(),
  232 + lineCode = $('.h-s-line li.uk-active', modal).data('id');
  233 + data.rq = rq;
  234 + data.lineCode = lineCode;
  235 + if(data.jGh.indexOf('/')!=-1){
  236 + var jsy=data.jGh.split('/');
  237 + data.jGh=jsy[0];
  238 + data.jName=jsy[1];
  239 + }
  240 +
  241 + $('.load-panel', modal).show();
  242 + loading=true;
  243 + gb_common.$get('/schEditInfo/_list', data, function (rs) {
  244 + etInfos = {};
  245 + nbbmArray=[];
  246 + jsyArray=[];
  247 + lpArray = [];
  248 + $.each(rs.list, function () {
  249 + this.jsonArray = JSON.parse(this.jsonArray);
  250 + etInfos[this.id] = this;
  251 +
  252 + nbbmArray.push({value: this.clZbh});
  253 + jsyArray.push({value: this.jGh+'/'+this.jName,
  254 + fullChars: pinyin.getFullChars(this.jName).toUpperCase(),
  255 + camelChars: pinyin.getCamelChars(this.jName)});
  256 + lpArray.push({value: this.lpName});
  257 + });
  258 + //根据班次ID合并修正操作
  259 + var list = mergeData(rs.list).sort(sortFun);
  260 + var htmlStr = template('history-sch-edit-info-temp', {list: list});
  261 + $('.sch-edit-info-table .ct_table_body', modal).html(htmlStr);
  262 + $('.load-panel', modal).hide();
  263 + loading=false;
  264 +
  265 + //value
  266 + nbbmArray=distinctByField(nbbmArray);
  267 + jsyArray=distinctByField(jsyArray);
  268 + lpArray=distinctByField(lpArray);
  269 + if(reLoadLp){
  270 + //路牌下拉框
  271 + var ops = '<option value="">全部</option>';
  272 + $.each(lpArray, function () {
  273 + ops += '<option value="'+this.value+'">'+this.value+'</option>';
  274 + });
  275 + $('[name=lpName]', modal).html(ops);
  276 + reLoadLp = false;
  277 + }
  278 +
  279 + //更新滚动条高度
  280 + $('.edit-info-table-wrap', modal).perfectScrollbar('update');
  281 + });
  282 + }
  283 +
  284 + function clearLpSelect() {
  285 + $('[name=lpName_eq]', modal).val('').html('');
  286 + reLoadLp = true;
  287 + }
  288 +
  289 + //nbbm autocomplete
  290 + var carAutoCom=$('.autocomplete-cars', modal);
  291 + UIkit.autocomplete(carAutoCom, {
  292 + minLength: 1,
  293 + delay: 50,
  294 + source: function(release) {
  295 + var q = $('input', carAutoCom).val().toUpperCase()
  296 + ,rs = [],
  297 + count = 0;
  298 + $.each(nbbmArray, function () {
  299 + if(this.value.indexOf(q) != -1){
  300 + rs.push(this);
  301 + count++;
  302 + }
  303 + if (count >= 15)
  304 + return false;
  305 + });
  306 + release && release(rs);
  307 + }
  308 + });
  309 +
  310 + //jsy autocomplete
  311 + var jsyAutoCom=$('.autocomplete-jsy', modal);
  312 + UIkit.autocomplete(jsyAutoCom, {
  313 + minLength: 1,
  314 + delay: 50,
  315 + source: function(release) {
  316 + var q = $('input', jsyAutoCom).val().toUpperCase()
  317 + ,rs = [],
  318 + count = 0;
  319 +
  320 + $.each(jsyArray, function() {
  321 + if (this.value.indexOf(q) != -1 || this.fullChars.indexOf(q) != -1 || this.camelChars.indexOf(q) != -1){
  322 + rs.push(this);
  323 + count++;
  324 + }
  325 +
  326 + if (count >= 10)
  327 + return false;
  328 + });
  329 + release && release(rs);
  330 + }
  331 + });
  332 +
  333 + function distinctByField(arr, f){
  334 + if(!f)
  335 + f = 'value';
  336 + var rs = {};
  337 + $.each(arr, function () {
  338 + rs[this[f]]=this;
  339 + });
  340 + return gb_common.get_vals(rs);
  341 + }
  342 +
  343 + function mergeData(list) {
  344 + var rs = {};
  345 + $.each(list, function () {
  346 + if(rs[this.schId]){
  347 + rs[this.schId]['editArray'].push(subData(this));
  348 + }
  349 + else{
  350 + rs[this.schId] = {
  351 + schId: this.schId,
  352 + clZbh: this.clZbh,
  353 + fcsj: this.fcsj,
  354 + gsbm: this.gsbm,
  355 + fgsbm: this.fgsbm,
  356 + lineCode: this.lineCode,
  357 + lpName: this.lpName,
  358 + jGh: this.jGh,
  359 + jName: this.jName,
  360 + realExecDate: this.realExecDate,
  361 + editArray: [subData(this)]
  362 + }
  363 + }
  364 + });
  365 + return gb_common.get_vals(rs);
  366 + }
  367 +
  368 + var types = {'DFTZ': '待发调整', 'FCXXWT':'发车信息微调', 'JHLB': '计划烂班', 'CXLB': '撤销烂班', 'CXZX': '撤销执行', 'CXSF': '撤销实发', 'SFTZ': '实发调整', 'TZRC': '调整人车'};
  369 + function subData(data){
  370 + return {
  371 + id: data.id,
  372 + type: data.type,
  373 + typeStr: types[data.type]?types[data.type]:data.type,
  374 + type2: data.type2,
  375 + user: data.user,
  376 + jsonArray: data.jsonArray,
  377 + remarks: data.remarks,
  378 + timeStr: data.timeStr
  379 + }
  380 + }
  381 + gb_ct_table.fixedHead($('.ct_table_wrap', modal));
  382 +
  383 +
  384 + /**
  385 + * 鼠标悬停、显示详细
  386 + */
  387 + var _opts = {
  388 + show:{ready: true, delay: 300},
  389 + position: {viewport: $(window), my: 'top center', at: 'bottom center'},
  390 + hide: {fixed: true, delay: 300},
  391 + events: {
  392 + hidden: function(event, api) {
  393 + $(this).qtip('destroy', true);
  394 + }
  395 + }
  396 + };
  397 + //待发调整tip
  398 + $(modal).on('mouseenter', '.ct-badge.ct-badge-DFTZ', function() {
  399 + $(this).qtip({
  400 + show: _opts.show,
  401 + content: {
  402 + title: '待发调整',
  403 + text: function() {
  404 + var obj = etInfos[$(this).data('id')];
  405 + return template('edit-info-tip-dftz-temp', obj);
  406 + }
  407 + },
  408 + position: _opts.position,
  409 + style: {
  410 + classes: 'qtip-green qtip-rounded qtip-shadow sch-badge-tip'
  411 + },
  412 + hide: _opts.hide,
  413 + events: _opts.events
  414 + });
  415 + });
  416 +
  417 + //实发调整tip
  418 + $(modal).on('mouseenter', '.ct-badge.ct-badge-SFTZ', function() {
  419 + $(this).qtip({
  420 + show: _opts.show,
  421 + content: {
  422 + title: '实发调整',
  423 + text: function() {
  424 + var obj = etInfos[$(this).data('id')];
  425 + return template('edit-info-tip-sftz-temp', obj);
  426 + }
  427 + },
  428 + position: _opts.position,
  429 + style: {
  430 + classes: 'qtip-green qtip-rounded qtip-shadow sch-badge-tip'
  431 + },
  432 + hide: _opts.hide,
  433 + events: _opts.events
  434 + });
  435 + });
  436 +
  437 + //发车信息微调tip
  438 + $(modal).on('mouseenter', '.ct-badge.ct-badge-FCXXWT', function() {
  439 + $(this).qtip({
  440 + show: _opts.show,
  441 + content: {
  442 + title: '发车信息微调',
  443 + text: function() {
  444 + var obj = etInfos[$(this).data('id')];
  445 + return template('edit-info-tip-fcxxwt-temp', obj);
  446 + }
  447 + },
  448 + position: _opts.position,
  449 + style: {
  450 + classes: 'qtip-blue qtip-rounded qtip-shadow sch-badge-tip'
  451 + },
  452 + hide: _opts.hide,
  453 + events: _opts.events
  454 + });
  455 + });
  456 +
  457 + //撤销实发tip
  458 + $(modal).on('mouseenter', '.ct-badge.ct-badge-CXSF', function() {
  459 + $(this).qtip({
  460 + show: _opts.show,
  461 + content: {
  462 + title: '撤销实发',
  463 + text: function() {
  464 + var obj = etInfos[$(this).data('id')];
  465 + return template('edit-info-tip-cxsf-temp', obj);
  466 + }
  467 + },
  468 + position: _opts.position,
  469 + style: {
  470 + classes: 'qtip-light qtip-rounded qtip-shadow sch-badge-tip'
  471 + },
  472 + hide: _opts.hide,
  473 + events: _opts.events
  474 + });
  475 + });
  476 +
  477 + //撤销执行tip
  478 + $(modal).on('mouseenter', '.ct-badge.ct-badge-CXZX', function() {
  479 + $(this).qtip({
  480 + show: _opts.show,
  481 + content: {
  482 + title: '撤销执行',
  483 + text: function() {
  484 + var obj = etInfos[$(this).data('id')];
  485 + return template('edit-info-tip-cxzx-temp', obj);
  486 + }
  487 + },
  488 + position: _opts.position,
  489 + style: {
  490 + classes: 'qtip-light qtip-rounded qtip-shadow sch-badge-tip'
  491 + },
  492 + hide: _opts.hide,
  493 + events: _opts.events
  494 + });
  495 + });
  496 +
  497 + //计划烂班tip
  498 + $(modal).on('mouseenter', '.ct-badge.ct-badge-JHLB', function() {
  499 + $(this).qtip({
  500 + show: _opts.show,
  501 + content: {
  502 + text: function() {
  503 + var obj = etInfos[$(this).data('id')];
  504 + return obj.remarks;
  505 + }
  506 + },
  507 + position: _opts.position,
  508 + style: {
  509 + classes: 'qtip-red qtip-rounded qtip-shadow sch-badge-tip'
  510 + },
  511 + hide: _opts.hide,
  512 + events: _opts.events
  513 + });
  514 + });
  515 +
  516 + //调整人车tip
  517 + $(modal).on('mouseenter', '.ct-badge.ct-badge-TZRC', function() {
  518 + $(this).qtip({
  519 + show: _opts.show,
  520 + content: {
  521 + title: '调整人车',
  522 + text: function() {
  523 + var obj = etInfos[$(this).data('id')];
  524 + console.log('obj', obj);
  525 + return template('edit-info-tip-tzrc-temp', obj);
  526 + }
  527 + },
  528 + position: _opts.position,
  529 + style: {
  530 + classes: 'qtip-rounded qtip-shadow sch-badge-tip'
  531 + },
  532 + hide: _opts.hide,
  533 + events: _opts.events
  534 + });
  535 + });
  536 +
  537 +
  538 + function sortFun(a, b) {
  539 + return (a.realExecDate + a.fcsj).localeCompare(b.realExecDate + b.fcsj);
  540 + }
  541 + })();
  542 + </script>
543 543 </div>
544 544 \ No newline at end of file
... ...
src/main/resources/static/real_control_v2/js/main.js
... ... @@ -169,8 +169,8 @@ var disabled_submit_btn = function (form) {
169 169 function showUpdateDescription() {
170 170 //更新说明
171 171 var updateDescription = {
172   - date: '2017-05-23',
173   - text: '<h5>现在可以在 数据&统计 里面看到班次修正日志。05-23之后的数据开始展现</h5>'
  172 + date: '2017-05-24',
  173 + text: '<h5>修复了一个问题,这个问题曾导致 在临加班次处于 “准备执行” 或 “正在执行” 状态时。即使删除了临加班次,当车辆发出或到终点后,有一定几率路单里会复现这个班次。</h5>'
174 174 };
175 175  
176 176 var storage = window.localStorage
... ...
src/main/resources/static/real_control_v2/mapmonitor/fragments/playback_v2/main.html
... ... @@ -32,14 +32,14 @@
32 32 <div class="uk-form-row">
33 33 <label class="uk-form-label">开始时间</label>
34 34 <div class="uk-form-controls">
35   - <input name="sDate" type="date" required/>
  35 + <input name="sDate" type="date" style="width: 100%;" required/>
36 36 </div>
37 37 </div>
38 38 </div>
39 39 <div class="uk-width-1-3" style="padding-left: 15px;">
40 40 <div class="uk-form-row">
41 41 <div class="uk-form-controls" style="margin-left: 0;">
42   - <input name="sTime" type="time" required/>
  42 + <input name="sTime" type="time" style="width: calc(100% - 28px);" required/>
43 43 </div>
44 44 </div>
45 45 </div>
... ... @@ -49,14 +49,14 @@
49 49 <div class="uk-form-row">
50 50 <label class="uk-form-label">结束时间</label>
51 51 <div class="uk-form-controls">
52   - <input name="eDate" type="date" required/>
  52 + <input name="eDate" type="date" style="width: 100%;" required/>
53 53 </div>
54 54 </div>
55 55 </div>
56 56 <div class="uk-width-1-3" style="padding-left: 15px;">
57 57 <div class="uk-form-row">
58 58 <div class="uk-form-controls" style="margin-left: 0;">
59   - <input name="eTime" type="time" required/>
  59 + <input name="eTime" type="time" style="width: calc(100% - 28px);" required/>
60 60 </div>
61 61 </div>
62 62 </div>
... ... @@ -183,6 +183,16 @@
183 183 <span class="ct_btn text-panel">
184 184 <span>共约 <span class="sum_mileage"></span> 公里,<span class="count_point"></span> 个GPS点</span><br>
185 185 <a class="export-excel"><i class="uk-icon-file-excel-o"></i> 导出轨迹</a>
  186 +
  187 + <label>
  188 + <div class="uk-button-dropdown" data-uk-dropdown>
  189 + <a style="color: grey;margin-left: 12px;font-size: 12px;">线路底图 <i class="uk-icon-angle-down"></i></a>
  190 + <div class="uk-dropdown uk-dropdown-scrollable" style="max-height: 300px;">
  191 + <ul class="uk-nav uk-nav-dropdown line_route_list">
  192 + </ul>
  193 + </div>
  194 + </div>
  195 + </label>
186 196 </span>
187 197 </div>
188 198 <div class="ct-progress-bar" >
... ... @@ -294,6 +304,20 @@
294 304 $.get('/basic/cars', function (rs) {
295 305 gb_common.carAutocomplete($('.autocomplete-nbbm', modal), rs);
296 306 });
  307 +
  308 + //初始化线路底图下拉
  309 + var opts='';
  310 + $.each(gb_data_basic.activeLines, function () {
  311 + opts+='<li data-code="'+this.lineCode+'" data-dir="0"><a>'+this.name+'上行</a></li><li data-code="'+this.lineCode+'" data-dir="1"><a>'+this.name+'下行</a></li>';
  312 + });
  313 + $('.line_route_list', modal).html(opts);
  314 + });
  315 +
  316 + //切换线路底图
  317 + $(modal).on('click', '.line_route_list li', function () {
  318 + var code = $(this).data('code');
  319 + var updown = $(this).data('dir');
  320 + mapObj.changeLine(code, updown);
297 321 });
298 322  
299 323 /**
... ... @@ -730,7 +754,7 @@
730 754 //中心点和缩放级别
731 755 map.centerAndZoom(new BMap.Point(gb_map_consts.center_point.lng, gb_map_consts.center_point.lat), 16);
732 756 map.enableScrollWheelZoom();
733   - }
  757 + };
734 758  
735 759 var storage = window.localStorage;
736 760 var routes;//路段
... ... @@ -985,6 +1009,19 @@
985 1009 if(!markerIsVisible)
986 1010 map.panTo(gpsMarker.getPosition());
987 1011 };
  1012 +
  1013 + /**
  1014 + * 切换线路底图
  1015 + */
  1016 + var changeLine = function (lineCode, updown) {
  1017 + //reset();
  1018 + //从地图模块获取站点数据
  1019 + stations = gb_map_spatial_data.getStationArray(lineCode);
  1020 + //从localStorage 获取路段
  1021 + routes = JSON.parse(storage.getItem(lineCode + '_route'));
  1022 + routes = [routes.up_bd, routes.down_bd];
  1023 + switchPolyline(lineCode, updown);
  1024 + };
988 1025 return {
989 1026 initData: initData,
990 1027 updateCar: updateCar,
... ... @@ -992,7 +1029,8 @@
992 1029 updateTrailLine: updateTrailLine,
993 1030 refreshOverlay: switchPolyline,
994 1031 toCenterByBounds: toCenterByBounds,
995   - reset: reset
  1032 + reset: reset,
  1033 + changeLine: changeLine
996 1034 }
997 1035 })();
998 1036  
... ...
src/test/resources/testdata/problem.properties
... ... @@ -5,8 +5,8 @@
5 5 ##5=排班计划错误提示,如果选的排班日期之前没有排班,提示错误,排班结果有重复与时刻表不符合,显示错误
6 6 ##6=调度执行日报,显示最近排班日期,修改操作强化
7 7 7=警告功能,如时刻表选择相同的常规有效日,特殊有效日,车辆,人员配置重复等等
8   -8=时刻表明细编辑,颜色覆盖冲突
9   -9=下拉框貌似中文不能搜索
  8 +##8=时刻表明细编辑,颜色覆盖冲突
  9 +##9=下拉框貌似中文不能搜索
10 10 10=时刻表明细编辑,环线,选上下行,上下的站点在下行站点列表里
11 11 ##11=人员基础信息导入问题,工号前要加公司代码
12 12 ##12=套跑规则嵌入到主排班规则中
... ... @@ -15,7 +15,6 @@
15 15 15=时刻表导入的时候表头后面不需要加数字
16 16 ##16=时间框中文
17 17 ##17=人员工号前公司编码自动加
18   -18=排班计划明细可以修改(修改到每个班次)
19 18 19=线路运营概览
20 19 20=排班规则备注
21 20 ##21=时刻表,两点间空驶,算空驶
... ...