Commit 37c2c8268c68cc9ea5f71ce638135eb2fba073c5

Authored by 徐烜
2 parents 20a5c6da 52b38105

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

Showing 56 changed files with 5518 additions and 4370 deletions
src/main/java/com/bsth/controller/StationRouteController.java
... ... @@ -111,7 +111,6 @@ public class StationRouteController extends BaseController<StationRoute, Integer
111 111 */
112 112 @RequestMapping(value = "/findStationRouteInfo",method = RequestMethod.GET)
113 113 public List<Map<String, Object>> findStationRouteInfo(@RequestParam Map<String, Object> map) {
114   -
115 114 return service.findStationRouteInfo(map);
116 115 }
117 116  
... ... @@ -140,4 +139,13 @@ public class StationRouteController extends BaseController&lt;StationRoute, Integer
140 139 return service.updSwitchDir(lineIds);
141 140 }
142 141  
  142 + /**
  143 + *
  144 + * @Title: upddis
  145 + * @Description: TODO(更新站距)
  146 + */
  147 + @RequestMapping(value = "/upddis",method = RequestMethod.POST)
  148 + public Map<String, Object> upddis(@RequestParam Map<String, Object> map) {
  149 + return service.upddis(map);
  150 + }
143 151 }
... ...
src/main/java/com/bsth/data/safe_driv/SafeDriv.java 0 → 100644
  1 +package com.bsth.data.safe_driv;
  2 +
  3 +/**
  4 + * 安全驾驶
  5 + * Created by panzhao on 2017/4/6.
  6 + */
  7 +public class SafeDriv {
  8 +
  9 + /**
  10 + * 时间
  11 + * 2017-04-06 08:00:00.0
  12 + */
  13 + private String Startime;
  14 +
  15 + /**
  16 + * 时间戳
  17 + */
  18 + private Long ts;
  19 +
  20 + /**
  21 + * 设备编号
  22 + */
  23 + private String sbbh;
  24 +
  25 + /**
  26 + * 线路名称
  27 + */
  28 + private String xlmc;
  29 +
  30 + /**
  31 + * 车辆自编号
  32 + */
  33 + private String clzbh;
  34 +
  35 + /**
  36 + * 车牌号
  37 + */
  38 + private String cph;
  39 +
  40 + /**
  41 + * 检查属性
  42 + * 双脱手 0 单脱手 1 其他为0都是异常
  43 + */
  44 + private String jctype;
  45 +
  46 + /**
  47 + * 异常种类
  48 + * 手部检测: 1
  49 + * 脸部检测: 5
  50 + * 摄像头检测: 2
  51 + * 安全带检测: 3
  52 + * 袖章检测: 4
  53 + */
  54 + private String yczltype;
  55 +
  56 + @Override
  57 + public int hashCode() {
  58 + return ("safe_" + (this.getClzbh() + this.getStartime())).hashCode();
  59 + }
  60 +
  61 + @Override
  62 + public boolean equals(Object obj) {
  63 + SafeDriv s2 = (SafeDriv)obj;
  64 + return (this.getClzbh() + this.getStartime()).equals(s2.getClzbh() + s2.getStartime());
  65 + }
  66 +
  67 + public String getStartime() {
  68 + return Startime;
  69 + }
  70 +
  71 + public void setStartime(String startime) {
  72 + Startime = startime;
  73 + }
  74 +
  75 + public String getSbbh() {
  76 + return sbbh;
  77 + }
  78 +
  79 + public void setSbbh(String sbbh) {
  80 + this.sbbh = sbbh;
  81 + }
  82 +
  83 + public String getXlmc() {
  84 + return xlmc;
  85 + }
  86 +
  87 + public void setXlmc(String xlmc) {
  88 + this.xlmc = xlmc;
  89 + }
  90 +
  91 + public String getClzbh() {
  92 + return clzbh;
  93 + }
  94 +
  95 + public void setClzbh(String clzbh) {
  96 + this.clzbh = clzbh;
  97 + }
  98 +
  99 + public String getCph() {
  100 + return cph;
  101 + }
  102 +
  103 + public void setCph(String cph) {
  104 + this.cph = cph;
  105 + }
  106 +
  107 + public String getJctype() {
  108 + return jctype;
  109 + }
  110 +
  111 + public void setJctype(String jctype) {
  112 + this.jctype = jctype;
  113 + }
  114 +
  115 + public String getYczltype() {
  116 + return yczltype;
  117 + }
  118 +
  119 + public void setYczltype(String yczltype) {
  120 + this.yczltype = yczltype;
  121 + }
  122 +
  123 + public Long getTs() {
  124 + return ts;
  125 + }
  126 +
  127 + public void setTs(Long ts) {
  128 + this.ts = ts;
  129 + }
  130 +}
... ...
src/main/java/com/bsth/data/safe_driv/SafeDrivCenter.java 0 → 100644
  1 +package com.bsth.data.safe_driv;
  2 +
  3 +import com.bsth.Application;
  4 +import com.bsth.websocket.handler.SendUtils;
  5 +import org.joda.time.format.DateTimeFormat;
  6 +import org.joda.time.format.DateTimeFormatter;
  7 +import org.springframework.beans.BeansException;
  8 +import org.springframework.beans.factory.annotation.Autowired;
  9 +import org.springframework.boot.CommandLineRunner;
  10 +import org.springframework.context.ApplicationContext;
  11 +import org.springframework.context.ApplicationContextAware;
  12 +import org.springframework.stereotype.Component;
  13 +
  14 +import java.util.HashMap;
  15 +import java.util.HashSet;
  16 +import java.util.Map;
  17 +import java.util.Set;
  18 +import java.util.concurrent.TimeUnit;
  19 +
  20 +/**
  21 + * 安全驾驶
  22 + * Created by panzhao on 2017/4/6.
  23 + */
  24 +@Component
  25 +public class SafeDrivCenter implements CommandLineRunner,ApplicationContextAware {
  26 +
  27 + private static Set<SafeDriv> data;
  28 +
  29 + @Autowired
  30 + SafeDrivDataLoadThread safeDrivDataLoadThread;
  31 +
  32 + static SendUtils sendUtils;
  33 +
  34 + /**
  35 + * 车辆自编号 和 最新一条数据对照
  36 + */
  37 + private static Map<String, SafeDriv> safeMap;
  38 +
  39 + static {
  40 + data = new HashSet<>();
  41 + safeMap = new HashMap<>();
  42 + }
  43 +
  44 + private static DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss.SSS");
  45 + public static void put(SafeDriv sd){
  46 + sd.setTs(fmt.parseMillis(sd.getStartime()));
  47 + data.add(sd);
  48 +
  49 + if(sd.getYczltype().indexOf("A") == -1)
  50 + sd.setYczltype("A" + sd.getYczltype());
  51 +
  52 + SafeDriv old = safeMap.get(sd.getClzbh());
  53 + if(old == null || sd.getTs() > old.getTs()){
  54 + //通知客户端
  55 + sendUtils.sendSafeDriv(sd);
  56 + }
  57 +
  58 + safeMap.put(sd.getClzbh(), sd);
  59 + }
  60 +
  61 + @Override
  62 + public void run(String... strings) throws Exception {
  63 + //定时加载安全驾驶数据
  64 + Application.mainServices.scheduleWithFixedDelay(safeDrivDataLoadThread, 60, 5, TimeUnit.SECONDS);
  65 + }
  66 +
  67 + @Override
  68 + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
  69 + sendUtils = applicationContext.getBean(SendUtils.class);
  70 + }
  71 +}
... ...
src/main/java/com/bsth/data/safe_driv/SafeDrivDataLoadThread.java 0 → 100644
  1 +package com.bsth.data.safe_driv;
  2 +
  3 +import com.alibaba.fastjson.JSON;
  4 +import org.apache.http.HttpEntity;
  5 +import org.apache.http.client.methods.CloseableHttpResponse;
  6 +import org.apache.http.client.methods.HttpGet;
  7 +import org.apache.http.impl.client.CloseableHttpClient;
  8 +import org.apache.http.impl.client.HttpClients;
  9 +import org.slf4j.Logger;
  10 +import org.slf4j.LoggerFactory;
  11 +import org.springframework.stereotype.Component;
  12 +
  13 +import java.io.BufferedReader;
  14 +import java.io.InputStreamReader;
  15 +import java.util.List;
  16 +
  17 +/**
  18 + * 安全驾驶数据加载线程
  19 + * Created by panzhao on 2017/4/6.
  20 + */
  21 +@Component
  22 +public class SafeDrivDataLoadThread extends Thread{
  23 +
  24 + private final static String url = "http://180.166.5.82:9988//bsth-safedriving/Crlcxb/realtimeInterface.do";
  25 +
  26 + Logger logger = LoggerFactory.getLogger(this.getClass());
  27 +
  28 + @Override
  29 + public void run() {
  30 + List<SafeDriv> list = null;
  31 + CloseableHttpClient httpClient = null;
  32 + CloseableHttpResponse response = null;
  33 + try {
  34 + httpClient = HttpClients.createDefault();
  35 + HttpGet get = new HttpGet(url);
  36 +
  37 + response = httpClient.execute(get);
  38 +
  39 + HttpEntity entity = response.getEntity();
  40 + if (null != entity) {
  41 + BufferedReader br = new BufferedReader(new InputStreamReader(entity.getContent()));
  42 + StringBuffer stringBuffer = new StringBuffer();
  43 + String str = "";
  44 + while ((str = br.readLine()) != null)
  45 + stringBuffer.append(str);
  46 +
  47 +
  48 + list = JSON.parseArray(stringBuffer.toString(), SafeDriv.class);
  49 + /**
  50 + * 模拟数据
  51 +
  52 + SafeDriv sd1 = new SafeDriv();
  53 + sd1.setYczltype("1");
  54 + sd1.setClzbh("W2B-001");
  55 + sd1.setStartime("2017-04-07 08:00:00.0");
  56 +
  57 + SafeDriv sd2 = new SafeDriv();
  58 + sd2.setYczltype("2");
  59 + sd2.setClzbh("W2B-002");
  60 + sd2.setStartime("2017-04-07 08:02:00.0");
  61 +
  62 + SafeDriv sd3 = new SafeDriv();
  63 + sd3.setYczltype("3");
  64 + sd3.setClzbh("W2B-003");
  65 + sd3.setStartime("2017-04-07 08:03:00.0");
  66 +
  67 + SafeDriv sd4 = new SafeDriv();
  68 + sd4.setYczltype("4");
  69 + sd4.setClzbh("W2B-004");
  70 + sd4.setStartime("2017-04-07 08:04:00.0");
  71 +
  72 + SafeDriv sd5 = new SafeDriv();
  73 + sd5.setYczltype("5");
  74 + sd5.setClzbh("W2B-005");
  75 + sd5.setStartime("2017-04-07 08:05:00.0");
  76 +
  77 + list.add(sd1);
  78 + list.add(sd2);
  79 + list.add(sd3);
  80 + list.add(sd4);
  81 + list.add(sd5);
  82 + */
  83 + for(SafeDriv sd : list){
  84 + SafeDrivCenter.put(sd);
  85 + }
  86 + }
  87 +
  88 + httpClient.close();
  89 + response.close();
  90 + } catch (Exception e) {
  91 + logger.error("", e);
  92 + }
  93 + }
  94 +}
... ...
src/main/java/com/bsth/entity/excep/Offline.java
... ... @@ -6,6 +6,7 @@ import javax.persistence.Entity;
6 6 import javax.persistence.GeneratedValue;
7 7 import javax.persistence.Id;
8 8 import javax.persistence.Table;
  9 +import javax.persistence.Transient;
9 10  
10 11 /**
11 12 * 掉线
... ... @@ -65,7 +66,12 @@ public class Offline {
65 66 */
66 67 private Date createDate;
67 68  
68   -
  69 + @Transient
  70 + private String nbbm;
  71 + @Transient
  72 + private String jsy;
  73 + @Transient
  74 + private String lpname;
69 75 public Integer getId() {
70 76 return id;
71 77 }
... ... @@ -146,5 +152,29 @@ public class Offline {
146 152 this.timestampDate = timestampDate;
147 153 }
148 154  
  155 + public String getNbbm() {
  156 + return nbbm;
  157 + }
  158 +
  159 + public void setNbbm(String nbbm) {
  160 + this.nbbm = nbbm;
  161 + }
149 162  
  163 + public String getJsy() {
  164 + return jsy;
  165 + }
  166 +
  167 + public void setJsy(String jsy) {
  168 + this.jsy = jsy;
  169 + }
  170 +
  171 + public String getLpname() {
  172 + return lpname;
  173 + }
  174 +
  175 + public void setLpname(String lpname) {
  176 + this.lpname = lpname;
  177 + }
  178 +
  179 +
150 180 }
... ...
src/main/java/com/bsth/entity/excep/Outbound.java
... ... @@ -6,6 +6,7 @@ import javax.persistence.Entity;
6 6 import javax.persistence.GeneratedValue;
7 7 import javax.persistence.Id;
8 8 import javax.persistence.Table;
  9 +import javax.persistence.Transient;
9 10  
10 11 /**
11 12 * 越界
... ... @@ -72,7 +73,12 @@ public class Outbound {
72 73 * 时间
73 74 */
74 75 private Date createDate;
75   -
  76 + @Transient
  77 + private String nbbm;
  78 + @Transient
  79 + private String jsy;
  80 + @Transient
  81 + private String lpname;
76 82  
77 83 public Integer getId() {
78 84 return id;
... ... @@ -162,5 +168,29 @@ public class Outbound {
162 168 this.timestampDate = timestampDate;
163 169 }
164 170  
  171 + public String getNbbm() {
  172 + return nbbm;
  173 + }
  174 +
  175 + public void setNbbm(String nbbm) {
  176 + this.nbbm = nbbm;
  177 + }
  178 +
  179 + public String getJsy() {
  180 + return jsy;
  181 + }
  182 +
  183 + public void setJsy(String jsy) {
  184 + this.jsy = jsy;
  185 + }
  186 +
  187 + public String getLpname() {
  188 + return lpname;
  189 + }
  190 +
  191 + public void setLpname(String lpname) {
  192 + this.lpname = lpname;
  193 + }
  194 +
165 195  
166 196 }
... ...
src/main/java/com/bsth/entity/excep/Speeding.java
... ... @@ -6,6 +6,7 @@ import javax.persistence.Entity;
6 6 import javax.persistence.GeneratedValue;
7 7 import javax.persistence.Id;
8 8 import javax.persistence.Table;
  9 +import javax.persistence.Transient;
9 10  
10 11 /**
11 12 * 超速
... ... @@ -66,6 +67,13 @@ public class Speeding {
66 67 private String timestampDate;
67 68  
68 69  
  70 + @Transient
  71 + private String nbbm;
  72 + @Transient
  73 + private String jsy;
  74 + @Transient
  75 + private String lpname;
  76 +
69 77 /**
70 78 * 创建时间
71 79 */
... ... @@ -161,6 +169,30 @@ public class Speeding {
161 169 this.timestampDate = timestampDate;
162 170 }
163 171  
  172 + public String getNbbm() {
  173 + return nbbm;
  174 + }
  175 +
  176 + public void setNbbm(String nbbm) {
  177 + this.nbbm = nbbm;
  178 + }
  179 +
  180 + public String getJsy() {
  181 + return jsy;
  182 + }
  183 +
  184 + public void setJsy(String jsy) {
  185 + this.jsy = jsy;
  186 + }
  187 +
  188 + public String getLpname() {
  189 + return lpname;
  190 + }
  191 +
  192 + public void setLpname(String lpname) {
  193 + this.lpname = lpname;
  194 + }
  195 +
164 196  
165 197  
166 198 }
... ...
src/main/java/com/bsth/repository/StationRouteRepository.java
... ... @@ -272,4 +272,8 @@ public interface StationRouteRepository extends BaseRepository&lt;StationRoute, Int
272 272 @Modifying
273 273 @Query(value="update bsth_c_stationroute set directions = case directions when 1 then 0 when 0 then 1 end where line_code = ?1 ", nativeQuery=true)
274 274 public void stationRouteDir(Integer line);
  275 +
  276 + @Modifying
  277 + @Query(value="update bsth_c_stationroute set distances =?2 where id = ?1 ", nativeQuery=true)
  278 + public void upddis(Integer id,Double dis);
275 279 }
... ...
src/main/java/com/bsth/repository/realcontrol/ScheduleRealInfoRepository.java
... ... @@ -137,7 +137,7 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI
137 137 List<ScheduleRealInfo> scheduleByDateAndLine(String line,String date);
138 138  
139 139 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH)
140   - @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm like %?1% and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 order by (s.lpName+1), s.realExecDate,s.fcsj")
  140 + @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm =?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 order by (s.lpName+1), s.realExecDate,s.fcsj")
141 141 List<ScheduleRealInfo> scheduleByDateAndLineQp(String line,String date);
142 142  
143 143 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH)
... ...
src/main/java/com/bsth/service/StationRouteService.java
... ... @@ -82,4 +82,6 @@ public interface StationRouteService extends BaseService&lt;StationRoute, Integer&gt;
82 82 Map<String, Object> findByMultiLine(String lineIds);
83 83  
84 84 Map<String, Object> updSwitchDir(String lineIds);
  85 +
  86 + Map<String, Object> upddis(Map<String, Object> map);
85 87 }
... ...
src/main/java/com/bsth/service/excep/impl/OfflineServiceImpl.java
... ... @@ -12,10 +12,15 @@ import java.util.HashMap;
12 12 import java.util.List;
13 13 import java.util.Map;
14 14  
  15 +import org.springframework.beans.factory.annotation.Autowired;
  16 +import org.springframework.jdbc.core.JdbcTemplate;
  17 +import org.springframework.jdbc.core.RowMapper;
15 18 import org.springframework.stereotype.Service;
16 19  
17 20 import com.bsth.data.BasicData;
18 21 import com.bsth.entity.excep.Offline;
  22 +import com.bsth.entity.oil.Ylb;
  23 +import com.bsth.entity.realcontrol.ScheduleRealInfo;
19 24 import com.bsth.service.excep.OfflineService;
20 25 import com.bsth.util.EchartConver;
21 26 import com.bsth.util.PageHelper;
... ... @@ -27,6 +32,8 @@ import com.google.gson.Gson;
27 32 @Service
28 33 public class OfflineServiceImpl implements OfflineService {
29 34  
  35 + @Autowired
  36 + JdbcTemplate jdbcTemplate;
30 37 // @Override
31 38 static List<Offline> findAll(Map<String, Object> map) {
32 39 // TODO Auto-generated method stub
... ... @@ -53,7 +60,9 @@ public class OfflineServiceImpl implements OfflineService {
53 60 }
54 61  
55 62 if(nbbm!=null){
56   - sql +=" and vehicle like '%"+nbbm.toString()+"%'";
  63 + nbbm=BasicData.deviceId2NbbmMap.inverse().get(nbbm);
  64 + if(nbbm!=null)
  65 + sql +=" and vehicle like '%"+nbbm+"%'";
57 66 }
58 67  
59 68 if(updown!=null){
... ... @@ -61,7 +70,7 @@ public class OfflineServiceImpl implements OfflineService {
61 70 }
62 71 if(date!=null){
63 72 if (date.toString().length()>0) {
64   - SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:MM:SS");
  73 + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
65 74 try {
66 75 Long t1=sdf.parse(date.toString()+" 00:00:00").getTime();
67 76 Long t2=sdf.parse(date.toString()+" 23:59:59").getTime();
... ... @@ -112,7 +121,7 @@ public class OfflineServiceImpl implements OfflineService {
112 121 offline.setTimestamp(Long.valueOf(rs.getObject("timestamp").toString()));
113 122 offline.setTimestampDate(sdf.format(new Date(offline.getTimestamp())));
114 123 offline.setUpDown(Integer.valueOf(rs.getObject("up_down").toString()));
115   - offline.setVehicle(rs.getObject("vehicle").toString());
  124 + offline.setVehicle(BasicData.deviceId2NbbmMap.get(rs.getObject("vehicle").toString()));
116 125 list.add(offline);
117 126 }
118 127 return list;
... ... @@ -135,7 +144,9 @@ public class OfflineServiceImpl implements OfflineService {
135 144 }
136 145  
137 146 if(nbbm!=null){
138   - sql +=" and vehicle like '%"+nbbm.toString()+"%'";
  147 + nbbm=BasicData.deviceId2NbbmMap.inverse().get(nbbm);
  148 + if(nbbm!=null)
  149 + sql +=" and vehicle like '%"+nbbm+"%'";
139 150 }
140 151  
141 152 if(updown!=null){
... ... @@ -143,7 +154,7 @@ public class OfflineServiceImpl implements OfflineService {
143 154 }
144 155 if(date!=null){
145 156 if (date.toString().length()>0) {
146   - SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:MM:SS");
  157 + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
147 158 try {
148 159 Long t1=sdf.parse(date.toString()+" 00:00:00").getTime();
149 160 Long t2=sdf.parse(date.toString()+" 23:59:59").getTime();
... ... @@ -177,8 +188,41 @@ public class OfflineServiceImpl implements OfflineService {
177 188 PageHelper pageHelper = new PageHelper(totalData, map);
178 189 // List<T> list = this.baseDao.queryByObject(pageHelper.getMap());
179 190 List<Offline> list=findAll(pageHelper.getMap());
  191 + for (int i = 0; i < list.size(); i++) {
  192 + String nbbm2=list.get(i).getVehicle() ;
  193 + Long d1=list.get(i).getTimestamp();
  194 + Date datess = new Date(d1);
  195 + String dates=new SimpleDateFormat("yyyy-MM-dd").format(datess);
  196 + String sk=new SimpleDateFormat("HH:mm").format(datess);
  197 + String sqlPbb="select * from bsth_c_s_sp_info_real where cl_zbh='"+nbbm2+"' and"
  198 + + " real_exec_date='"+dates+"' ";
  199 +// + "and fcsj_actual > '"+sk+"' ";
  200 +// + "and '"+sk+"' <dfsj";
  201 + List<ScheduleRealInfo> pbb =jdbcTemplate.query(sqlPbb,
  202 + new RowMapper<ScheduleRealInfo>(){
  203 + @Override
  204 + public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException {
  205 + ScheduleRealInfo s = new ScheduleRealInfo();
  206 + s.setjGh(rs.getString("j_gh"));
  207 + s.setjName(rs.getString("j_name"));
  208 + s.setLpName(rs.getString("lp_name"));
  209 + return s;
  210 + }
  211 + });
  212 + if(pbb.size()>0){
  213 + list.get(i).setJsy(pbb.get(0).getjGh()+"/"+pbb.get(0).getjName());
  214 + list.get(i).setLpname(pbb.get(0).getLpName());
  215 +
  216 + }
  217 +
  218 + }
180 219 PageObject<Offline> pageObject = pageHelper.getPageObject();
181   - pageObject.setDataList(list);
  220 +// for (int i = 0; i < list.size(); i++) {
  221 +// if(list.get(i).getLpname()!=null){
  222 + pageObject.setDataList(list);
  223 +// }
  224 +// }
  225 +
182 226 return pageObject;
183 227 }
184 228 public static void main(String[] args) {
... ...
src/main/java/com/bsth/service/excep/impl/OutboundServiceImpl.java
... ... @@ -12,10 +12,14 @@ import java.util.HashMap;
12 12 import java.util.List;
13 13 import java.util.Map;
14 14  
  15 +import org.springframework.beans.factory.annotation.Autowired;
  16 +import org.springframework.jdbc.core.JdbcTemplate;
  17 +import org.springframework.jdbc.core.RowMapper;
15 18 import org.springframework.stereotype.Service;
16 19  
17 20 import com.bsth.data.BasicData;
18 21 import com.bsth.entity.excep.Outbound;
  22 +import com.bsth.entity.realcontrol.ScheduleRealInfo;
19 23 import com.bsth.service.excep.OutboundService;
20 24 import com.bsth.util.EchartConver;
21 25 import com.bsth.util.PageHelper;
... ... @@ -25,8 +29,9 @@ import com.github.abel533.echarts.Option;
25 29 import com.google.gson.Gson;
26 30 @Service
27 31 public class OutboundServiceImpl implements OutboundService{
28   -
29   - static List<Outbound> findAll(Map<String, Object> map) {
  32 + @Autowired
  33 + JdbcTemplate jdbcTemplate;
  34 + static List<Outbound> findAll(Map<String, Object> map) {
30 35 Connection conn = null;
31 36 PreparedStatement ps = null;
32 37 ResultSet rs = null;
... ... @@ -37,12 +42,13 @@ public class OutboundServiceImpl implements OutboundService{
37 42 Object nbbm=map.get("nbbm");
38 43 Object updown=map.get("updown");
39 44 Object date=map.get("date");
40   -
41 45 if(line!=null){
42 46 sql +=" and line like'%"+line.toString()+"%'";
43 47 }
44 48  
45 49 if(nbbm!=null){
  50 + nbbm=BasicData.deviceId2NbbmMap.inverse().get(nbbm);
  51 + if(nbbm!=null)
46 52 sql +=" and vehicle like '%"+nbbm.toString()+"%'";
47 53 }
48 54  
... ... @@ -51,7 +57,7 @@ public class OutboundServiceImpl implements OutboundService{
51 57 }
52 58 if(date!=null){
53 59 if (date.toString().length()>0) {
54   - SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:MM:SS");
  60 + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
55 61 try {
56 62 Long t1=sdf.parse(date.toString()+" 00:00:00").getTime();
57 63 Long t2=sdf.parse(date.toString()+" 23:59:59").getTime();
... ... @@ -98,7 +104,7 @@ public class OutboundServiceImpl implements OutboundService{
98 104 outbound.setTimestamp((Long.valueOf(rs.getObject("timestamp").toString())));
99 105 outbound.setTimestampDate(sdf.format(new Date(outbound.getTimestamp())));
100 106 outbound.setUpDown(Integer.valueOf(rs.getObject("up_down").toString()));
101   - outbound.setVehicle(rs.getObject("vehicle").toString());
  107 + outbound.setVehicle(BasicData.deviceId2NbbmMap.get(rs.getObject("vehicle").toString()));
102 108 outbound.setLocation(rs.getObject("location")==null?"":rs.getObject("location").toString());
103 109 list.add(outbound);
104 110 }
... ... @@ -119,6 +125,8 @@ public class OutboundServiceImpl implements OutboundService{
119 125 }
120 126  
121 127 if(nbbm!=null){
  128 + nbbm=BasicData.deviceId2NbbmMap.inverse().get(nbbm);
  129 + if(nbbm!=null)
122 130 sql +=" and vehicle like '%"+nbbm.toString()+"%'";
123 131 }
124 132  
... ... @@ -160,7 +168,34 @@ public class OutboundServiceImpl implements OutboundService{
160 168  
161 169 PageHelper pageHelper = new PageHelper(totalData, map);
162 170 List<Outbound> list=findAll(pageHelper.getMap());
163   -
  171 + for (int i = 0; i < list.size(); i++) {
  172 + String nbbm2=list.get(i).getVehicle() ;
  173 + Long d1=list.get(i).getTimestamp();
  174 + Date datess = new Date(d1);
  175 + String dates=new SimpleDateFormat("yyyy-MM-dd").format(datess);
  176 + String sk=new SimpleDateFormat("HH:mm").format(datess);
  177 + String sqlPbb="select * from bsth_c_s_sp_info_real where cl_zbh='"+nbbm2+"' and"
  178 + + " real_exec_date='"+dates+"' ";
  179 +// + "and fcsj_actual > '"+sk+"' ";
  180 +// + "and '"+sk+"' <dfsj";
  181 + List<ScheduleRealInfo> pbb =jdbcTemplate.query(sqlPbb,
  182 + new RowMapper<ScheduleRealInfo>(){
  183 + @Override
  184 + public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException {
  185 + ScheduleRealInfo s = new ScheduleRealInfo();
  186 + s.setjGh(rs.getString("j_gh"));
  187 + s.setjName(rs.getString("j_name"));
  188 + s.setLpName(rs.getString("lp_name"));
  189 + return s;
  190 + }
  191 + });
  192 + if(pbb.size()>0){
  193 + list.get(i).setJsy(pbb.get(0).getjGh()+"/"+pbb.get(0).getjName());
  194 + list.get(i).setLpname(pbb.get(0).getLpName());
  195 +
  196 + }
  197 +
  198 + }
164 199 PageObject<Outbound> pageObject = pageHelper.getPageObject();
165 200 pageObject.setDataList(list);
166 201 return pageObject;
... ...
src/main/java/com/bsth/service/excep/impl/SpeedingServiceImpl.java
... ... @@ -12,10 +12,14 @@ import java.util.HashMap;
12 12 import java.util.List;
13 13 import java.util.Map;
14 14  
  15 +import org.springframework.jdbc.core.JdbcTemplate;
  16 +import org.springframework.jdbc.core.RowMapper;
15 17 import org.springframework.stereotype.Service;
  18 +import org.springframework.beans.factory.annotation.Autowired;
16 19  
17 20 import com.bsth.data.BasicData;
18 21 import com.bsth.entity.excep.Speeding;
  22 +import com.bsth.entity.realcontrol.ScheduleRealInfo;
19 23 import com.bsth.service.excep.SpeedingService;
20 24 import com.bsth.util.EchartConver;
21 25 import com.bsth.util.PageHelper;
... ... @@ -27,7 +31,8 @@ import com.google.gson.Gson;
27 31 @Service
28 32 public class SpeedingServiceImpl implements SpeedingService {
29 33  
30   -
  34 + @Autowired
  35 + JdbcTemplate jdbcTemplate;
31 36 static List<Speeding> findAll(Map<String, Object> map) {
32 37 Connection conn = null;
33 38 PreparedStatement ps = null;
... ... @@ -45,6 +50,8 @@ public class SpeedingServiceImpl implements SpeedingService {
45 50 }
46 51  
47 52 if(nbbm!=null){
  53 + nbbm=BasicData.deviceId2NbbmMap.inverse().get(nbbm);
  54 + if(nbbm!=null)
48 55 sql +=" and vehicle like '%"+nbbm.toString()+"%'";
49 56 }
50 57  
... ... @@ -53,7 +60,7 @@ public class SpeedingServiceImpl implements SpeedingService {
53 60 }
54 61 if(date!=null){
55 62 if (date.toString().length()>0) {
56   - SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:MM:SS");
  63 + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
57 64 try {
58 65 Long t1=sdf.parse(date.toString()+" 00:00:00").getTime();
59 66 Long t2=sdf.parse(date.toString()+" 23:59:59").getTime();
... ... @@ -102,7 +109,7 @@ public class SpeedingServiceImpl implements SpeedingService {
102 109 speeding.setTimestamp((Long.valueOf(rs.getObject("timestamp").toString())));
103 110 speeding.setTimestampDate(sdf.format(new Date(speeding.getTimestamp())));
104 111 speeding.setUpDown(Integer.valueOf(rs.getObject("up_down").toString()));
105   - speeding.setVehicle(rs.getObject("vehicle").toString());
  112 + speeding.setVehicle(BasicData.deviceId2NbbmMap.get(rs.getObject("vehicle").toString()));
106 113 list.add(speeding);
107 114 }
108 115 return list;
... ... @@ -122,9 +129,10 @@ public class SpeedingServiceImpl implements SpeedingService {
122 129 }
123 130  
124 131 if(nbbm!=null){
  132 + nbbm=BasicData.deviceId2NbbmMap.inverse().get(nbbm);
  133 + if(nbbm!=null)
125 134 sql +=" and vehicle like '%"+nbbm.toString()+"%'";
126 135 }
127   -
128 136 if(updown!=null){
129 137 sql +="and up_down like '%"+updown.toString()+"%'";
130 138 }
... ... @@ -163,7 +171,34 @@ public class SpeedingServiceImpl implements SpeedingService {
163 171  
164 172 PageHelper pageHelper = new PageHelper(totalData, map);
165 173 List<Speeding> list=findAll(pageHelper.getMap());
166   -
  174 + for (int i = 0; i < list.size(); i++) {
  175 + String nbbm2=list.get(i).getVehicle() ;
  176 + Long d1=list.get(i).getTimestamp();
  177 + Date datess = new Date(d1);
  178 + String dates=new SimpleDateFormat("yyyy-MM-dd").format(datess);
  179 + String sk=new SimpleDateFormat("HH:mm").format(datess);
  180 + String sqlPbb="select * from bsth_c_s_sp_info_real where cl_zbh='"+nbbm2+"' and"
  181 + + " real_exec_date='"+dates+"' ";
  182 +// + "and fcsj_actual > '"+sk+"' ";
  183 +// + "and '"+sk+"' <dfsj";
  184 + List<ScheduleRealInfo> pbb =jdbcTemplate.query(sqlPbb,
  185 + new RowMapper<ScheduleRealInfo>(){
  186 + @Override
  187 + public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException {
  188 + ScheduleRealInfo s = new ScheduleRealInfo();
  189 + s.setjGh(rs.getString("j_gh"));
  190 + s.setjName(rs.getString("j_name"));
  191 + s.setLpName(rs.getString("lp_name"));
  192 + return s;
  193 + }
  194 + });
  195 + if(pbb.size()>0){
  196 + list.get(i).setJsy(pbb.get(0).getjGh()+"/"+pbb.get(0).getjName());
  197 + list.get(i).setLpname(pbb.get(0).getLpName());
  198 +
  199 + }
  200 +
  201 + }
167 202 PageObject<Speeding> pageObject = pageHelper.getPageObject();
168 203 pageObject.setDataList(list);
169 204 return pageObject;
... ...
src/main/java/com/bsth/service/gps/entity/HistoryGps_DTO.java
1   -package com.bsth.service.gps.entity;
2   -
3   -import com.alibaba.fastjson.JSON;
4   -import com.alibaba.fastjson.JSONObject;
5   -import com.bsth.data.arrival.ArrivalEntity;
6   -import com.fasterxml.jackson.annotation.JsonIgnore;
7   -import com.vividsolutions.jts.geom.Coordinate;
8   -import com.vividsolutions.jts.geom.GeometryFactory;
9   -import com.vividsolutions.jts.geom.Point;
10   -
11   -import java.util.List;
12   -import java.util.Map;
13   -
14   -/**
15   - * 历史GPS DTO
16   - * Created by panzhao on 2017/4/5.
17   - */
18   -public class HistoryGps_DTO {
19   -
20   - public static List<HistoryGps_DTO> craete(List<Map<String, Object>> mapList){
21   - List<HistoryGps_DTO> list = JSONObject.parseArray(JSON.toJSONString(mapList), HistoryGps_DTO.class);
22   -
23   - GeometryFactory geometryFactory = new GeometryFactory();
24   - Point point;
25   - for(HistoryGps_DTO gps : list){
26   - point = geometryFactory.createPoint(new Coordinate(gps.getLat(), gps.getLon()));
27   - gps.setPoint(point);
28   - }
29   - return list;
30   - }
31   -
32   - private double gcj_lon;
33   - private double gcj_lat;
34   -
35   - private double bd_lon;
36   - private double bd_lat;
37   -
38   - private double lon;
39   - private double lat;
40   -
41   - private String deviceId;
42   - private long ts;
43   - private long timestamp;
44   - private String stopNo;
45   - private float direction;
46   -
47   - private String lineId;
48   - private float speed;
49   - private ArrivalEntity inout_stop_info;
50   - private int inout_stop;
51   -
52   - private String nbbm;
53   - private int state;
54   - private int upDown;
55   -
56   - @JsonIgnore
57   - private Point point;
58   -
59   - /** 路段 */
60   - private Road_DTO road;
61   - /** 和路段的最短距离 */
62   - private double roadMinDistance;
63   -
64   - public double getGcj_lon() {
65   - return gcj_lon;
66   - }
67   -
68   - public void setGcj_lon(double gcj_lon) {
69   - this.gcj_lon = gcj_lon;
70   - }
71   -
72   - public double getGcj_lat() {
73   - return gcj_lat;
74   - }
75   -
76   - public void setGcj_lat(double gcj_lat) {
77   - this.gcj_lat = gcj_lat;
78   - }
79   -
80   - public double getBd_lon() {
81   - return bd_lon;
82   - }
83   -
84   - public void setBd_lon(double bd_lon) {
85   - this.bd_lon = bd_lon;
86   - }
87   -
88   - public double getBd_lat() {
89   - return bd_lat;
90   - }
91   -
92   - public void setBd_lat(double bd_lat) {
93   - this.bd_lat = bd_lat;
94   - }
95   -
96   - public String getDeviceId() {
97   - return deviceId;
98   - }
99   -
100   - public void setDeviceId(String deviceId) {
101   - this.deviceId = deviceId;
102   - }
103   -
104   - public long getTs() {
105   - return ts;
106   - }
107   -
108   - public void setTs(long ts) {
109   - this.ts = ts;
110   - }
111   -
112   - public long getTimestamp() {
113   - return timestamp;
114   - }
115   -
116   - public void setTimestamp(long timestamp) {
117   - this.timestamp = timestamp;
118   - }
119   -
120   - public String getStopNo() {
121   - return stopNo;
122   - }
123   -
124   - public void setStopNo(String stopNo) {
125   - this.stopNo = stopNo;
126   - }
127   -
128   - public float getDirection() {
129   - return direction;
130   - }
131   -
132   - public void setDirection(float direction) {
133   - this.direction = direction;
134   - }
135   -
136   - public String getLineId() {
137   - return lineId;
138   - }
139   -
140   - public void setLineId(String lineId) {
141   - this.lineId = lineId;
142   - }
143   -
144   - public float getSpeed() {
145   - return speed;
146   - }
147   -
148   - public void setSpeed(float speed) {
149   - this.speed = speed;
150   - }
151   -
152   - public ArrivalEntity getInout_stop_info() {
153   - return inout_stop_info;
154   - }
155   -
156   - public void setInout_stop_info(ArrivalEntity inout_stop_info) {
157   - this.inout_stop_info = inout_stop_info;
158   - }
159   -
160   - public int getInout_stop() {
161   - return inout_stop;
162   - }
163   -
164   - public void setInout_stop(int inout_stop) {
165   - this.inout_stop = inout_stop;
166   - }
167   -
168   - public String getNbbm() {
169   - return nbbm;
170   - }
171   -
172   - public void setNbbm(String nbbm) {
173   - this.nbbm = nbbm;
174   - }
175   -
176   - public int getState() {
177   - return state;
178   - }
179   -
180   - public void setState(int state) {
181   - this.state = state;
182   - }
183   -
184   - public int getUpDown() {
185   - return upDown;
186   - }
187   -
188   - public void setUpDown(int upDown) {
189   - this.upDown = upDown;
190   - }
191   -
192   - public Road_DTO getRoad() {
193   - return road;
194   - }
195   -
196   - public void setRoad(Road_DTO road) {
197   - this.road = road;
198   - }
199   -
200   - public double getRoadMinDistance() {
201   - return roadMinDistance;
202   - }
203   -
204   - public void setRoadMinDistance(double roadMinDistance) {
205   - this.roadMinDistance = roadMinDistance;
206   - }
207   -
208   - public double getLon() {
209   - return lon;
210   - }
211   -
212   - public void setLon(double lon) {
213   - this.lon = lon;
214   - }
215   -
216   - public double getLat() {
217   - return lat;
218   - }
219   -
220   - public void setLat(double lat) {
221   - this.lat = lat;
222   - }
223   -
224   - public Point getPoint() {
225   - return point;
226   - }
227   -
228   - public void setPoint(Point point) {
229   - this.point = point;
230   - }
231   -}
  1 +package com.bsth.service.gps.entity;
  2 +
  3 +import com.alibaba.fastjson.JSON;
  4 +import com.alibaba.fastjson.JSONObject;
  5 +import com.bsth.data.arrival.ArrivalEntity;
  6 +import com.fasterxml.jackson.annotation.JsonIgnore;
  7 +import com.vividsolutions.jts.geom.Coordinate;
  8 +import com.vividsolutions.jts.geom.GeometryFactory;
  9 +import com.vividsolutions.jts.geom.Point;
  10 +
  11 +import java.util.List;
  12 +import java.util.Map;
  13 +
  14 +/**
  15 + * 历史GPS DTO
  16 + * Created by panzhao on 2017/4/5.
  17 + */
  18 +public class HistoryGps_DTO {
  19 +
  20 + public static List<HistoryGps_DTO> craete(List<Map<String, Object>> mapList){
  21 + List<HistoryGps_DTO> list = JSONObject.parseArray(JSON.toJSONString(mapList), HistoryGps_DTO.class);
  22 +
  23 + GeometryFactory geometryFactory = new GeometryFactory();
  24 + Point point;
  25 + for(HistoryGps_DTO gps : list){
  26 + point = geometryFactory.createPoint(new Coordinate(gps.getLat(), gps.getLon()));
  27 + gps.setPoint(point);
  28 + }
  29 + return list;
  30 + }
  31 +
  32 + private double gcj_lon;
  33 + private double gcj_lat;
  34 +
  35 + private double bd_lon;
  36 + private double bd_lat;
  37 +
  38 + private double lon;
  39 + private double lat;
  40 +
  41 + private String deviceId;
  42 + private long ts;
  43 + private long timestamp;
  44 + private String stopNo;
  45 + private float direction;
  46 +
  47 + private String lineId;
  48 + private float speed;
  49 + private ArrivalEntity inout_stop_info;
  50 + private int inout_stop;
  51 +
  52 + private String nbbm;
  53 + private int state;
  54 + private int upDown;
  55 +
  56 + @JsonIgnore
  57 + private Point point;
  58 +
  59 + /** 路段 */
  60 + private Road_DTO road;
  61 + /** 和路段的最短距离 */
  62 + private double roadMinDistance;
  63 +
  64 + public double getGcj_lon() {
  65 + return gcj_lon;
  66 + }
  67 +
  68 + public void setGcj_lon(double gcj_lon) {
  69 + this.gcj_lon = gcj_lon;
  70 + }
  71 +
  72 + public double getGcj_lat() {
  73 + return gcj_lat;
  74 + }
  75 +
  76 + public void setGcj_lat(double gcj_lat) {
  77 + this.gcj_lat = gcj_lat;
  78 + }
  79 +
  80 + public double getBd_lon() {
  81 + return bd_lon;
  82 + }
  83 +
  84 + public void setBd_lon(double bd_lon) {
  85 + this.bd_lon = bd_lon;
  86 + }
  87 +
  88 + public double getBd_lat() {
  89 + return bd_lat;
  90 + }
  91 +
  92 + public void setBd_lat(double bd_lat) {
  93 + this.bd_lat = bd_lat;
  94 + }
  95 +
  96 + public String getDeviceId() {
  97 + return deviceId;
  98 + }
  99 +
  100 + public void setDeviceId(String deviceId) {
  101 + this.deviceId = deviceId;
  102 + }
  103 +
  104 + public long getTs() {
  105 + return ts;
  106 + }
  107 +
  108 + public void setTs(long ts) {
  109 + this.ts = ts;
  110 + }
  111 +
  112 + public long getTimestamp() {
  113 + return timestamp;
  114 + }
  115 +
  116 + public void setTimestamp(long timestamp) {
  117 + this.timestamp = timestamp;
  118 + }
  119 +
  120 + public String getStopNo() {
  121 + return stopNo;
  122 + }
  123 +
  124 + public void setStopNo(String stopNo) {
  125 + this.stopNo = stopNo;
  126 + }
  127 +
  128 + public float getDirection() {
  129 + return direction;
  130 + }
  131 +
  132 + public void setDirection(float direction) {
  133 + this.direction = direction;
  134 + }
  135 +
  136 + public String getLineId() {
  137 + return lineId;
  138 + }
  139 +
  140 + public void setLineId(String lineId) {
  141 + this.lineId = lineId;
  142 + }
  143 +
  144 + public float getSpeed() {
  145 + return speed;
  146 + }
  147 +
  148 + public void setSpeed(float speed) {
  149 + this.speed = speed;
  150 + }
  151 +
  152 + public ArrivalEntity getInout_stop_info() {
  153 + return inout_stop_info;
  154 + }
  155 +
  156 + public void setInout_stop_info(ArrivalEntity inout_stop_info) {
  157 + this.inout_stop_info = inout_stop_info;
  158 + }
  159 +
  160 + public int getInout_stop() {
  161 + return inout_stop;
  162 + }
  163 +
  164 + public void setInout_stop(int inout_stop) {
  165 + this.inout_stop = inout_stop;
  166 + }
  167 +
  168 + public String getNbbm() {
  169 + return nbbm;
  170 + }
  171 +
  172 + public void setNbbm(String nbbm) {
  173 + this.nbbm = nbbm;
  174 + }
  175 +
  176 + public int getState() {
  177 + return state;
  178 + }
  179 +
  180 + public void setState(int state) {
  181 + this.state = state;
  182 + }
  183 +
  184 + public int getUpDown() {
  185 + return upDown;
  186 + }
  187 +
  188 + public void setUpDown(int upDown) {
  189 + this.upDown = upDown;
  190 + }
  191 +
  192 + public Road_DTO getRoad() {
  193 + return road;
  194 + }
  195 +
  196 + public void setRoad(Road_DTO road) {
  197 + this.road = road;
  198 + }
  199 +
  200 + public double getRoadMinDistance() {
  201 + return roadMinDistance;
  202 + }
  203 +
  204 + public void setRoadMinDistance(double roadMinDistance) {
  205 + this.roadMinDistance = roadMinDistance;
  206 + }
  207 +
  208 + public double getLon() {
  209 + return lon;
  210 + }
  211 +
  212 + public void setLon(double lon) {
  213 + this.lon = lon;
  214 + }
  215 +
  216 + public double getLat() {
  217 + return lat;
  218 + }
  219 +
  220 + public void setLat(double lat) {
  221 + this.lat = lat;
  222 + }
  223 +
  224 + public Point getPoint() {
  225 + return point;
  226 + }
  227 +
  228 + public void setPoint(Point point) {
  229 + this.point = point;
  230 + }
  231 +}
... ...
src/main/java/com/bsth/service/gps/entity/Road_DTO.java
1   -package com.bsth.service.gps.entity;
2   -
3   -import com.alibaba.fastjson.JSON;
4   -import com.alibaba.fastjson.JSONObject;
5   -import com.fasterxml.jackson.annotation.JsonIgnore;
6   -import com.vividsolutions.jts.geom.Coordinate;
7   -import com.vividsolutions.jts.geom.GeometryFactory;
8   -import com.vividsolutions.jts.geom.LineString;
9   -
10   -import java.util.ArrayList;
11   -import java.util.List;
12   -import java.util.Map;
13   -
14   -/**
15   - * 路段信息DTO
16   - * Created by panzhao on 2017/4/5.
17   - */
18   -public class Road_DTO {
19   -
20   - public static List<Road_DTO> craete(List<Map<String, Object>> mapList){
21   - List<Road_DTO> list = JSONObject.parseArray(JSON.toJSONString(mapList), Road_DTO.class);
22   - //处理路段坐标
23   - String polygonStr;
24   - String[] coords;
25   - int i, len;
26   - String[] temps;//1, temps2;
27   - List<Coordinate> cds;
28   -
29   - GeometryFactory geometryFactory = new GeometryFactory();
30   - for(Road_DTO road : list){
31   - polygonStr = road.getGROAD_VECTOR();
32   - coords = polygonStr.substring(11, polygonStr.length() - 1).split(",");
33   - len = coords.length;
34   -
35   - cds = new ArrayList<>();
36   - //每2个点连一条线
37   - for(i = 0; i < len; i ++){
38   - temps = coords[i].split(" ");
39   - cds.add(new Coordinate(Float.parseFloat(temps[1]), Float.parseFloat(temps[0])));
40   - }
41   -
42   - Coordinate[] cdsArray = new Coordinate[cds.size()];
43   - road.setLineStr(geometryFactory.createLineString(cds.toArray(cdsArray)));
44   - }
45   - return list;
46   - }
47   -
48   - private long ID;
49   -
50   - @JsonIgnore
51   - private String GROAD_VECTOR;
52   -
53   - private String ROAD_CODE;
54   -
55   - private String ROAD_NAME;
56   -
57   - private double SPEED;
58   -
59   - @JsonIgnore
60   - private LineString lineStr;
61   -
62   - public long getID() {
63   - return ID;
64   - }
65   -
66   - public void setID(long ID) {
67   - this.ID = ID;
68   - }
69   -
70   - public String getGROAD_VECTOR() {
71   - return GROAD_VECTOR;
72   - }
73   -
74   - public void setGROAD_VECTOR(String GROAD_VECTOR) {
75   - this.GROAD_VECTOR = GROAD_VECTOR;
76   - }
77   -
78   - public String getROAD_CODE() {
79   - return ROAD_CODE;
80   - }
81   -
82   - public void setROAD_CODE(String ROAD_CODE) {
83   - this.ROAD_CODE = ROAD_CODE;
84   - }
85   -
86   - public String getROAD_NAME() {
87   - return ROAD_NAME;
88   - }
89   -
90   - public void setROAD_NAME(String ROAD_NAME) {
91   - this.ROAD_NAME = ROAD_NAME;
92   - }
93   -
94   - public double getSPEED() {
95   - return SPEED;
96   - }
97   -
98   - public void setSPEED(double SPEED) {
99   - this.SPEED = SPEED;
100   - }
101   -
102   - public LineString getLineStr() {
103   - return lineStr;
104   - }
105   -
106   - public void setLineStr(LineString lineStr) {
107   - this.lineStr = lineStr;
108   - }
109   -}
  1 +package com.bsth.service.gps.entity;
  2 +
  3 +import com.alibaba.fastjson.JSON;
  4 +import com.alibaba.fastjson.JSONObject;
  5 +import com.fasterxml.jackson.annotation.JsonIgnore;
  6 +import com.vividsolutions.jts.geom.Coordinate;
  7 +import com.vividsolutions.jts.geom.GeometryFactory;
  8 +import com.vividsolutions.jts.geom.LineString;
  9 +
  10 +import java.util.ArrayList;
  11 +import java.util.List;
  12 +import java.util.Map;
  13 +
  14 +/**
  15 + * 路段信息DTO
  16 + * Created by panzhao on 2017/4/5.
  17 + */
  18 +public class Road_DTO {
  19 +
  20 + public static List<Road_DTO> craete(List<Map<String, Object>> mapList){
  21 + List<Road_DTO> list = JSONObject.parseArray(JSON.toJSONString(mapList), Road_DTO.class);
  22 + //处理路段坐标
  23 + String polygonStr;
  24 + String[] coords;
  25 + int i, len;
  26 + String[] temps;//1, temps2;
  27 + List<Coordinate> cds;
  28 +
  29 + GeometryFactory geometryFactory = new GeometryFactory();
  30 + for(Road_DTO road : list){
  31 + polygonStr = road.getGROAD_VECTOR();
  32 + coords = polygonStr.substring(11, polygonStr.length() - 1).split(",");
  33 + len = coords.length;
  34 +
  35 + cds = new ArrayList<>();
  36 + //每2个点连一条线
  37 + for(i = 0; i < len; i ++){
  38 + temps = coords[i].split(" ");
  39 + cds.add(new Coordinate(Float.parseFloat(temps[1]), Float.parseFloat(temps[0])));
  40 + }
  41 +
  42 + Coordinate[] cdsArray = new Coordinate[cds.size()];
  43 + road.setLineStr(geometryFactory.createLineString(cds.toArray(cdsArray)));
  44 + }
  45 + return list;
  46 + }
  47 +
  48 + private long ID;
  49 +
  50 + @JsonIgnore
  51 + private String GROAD_VECTOR;
  52 +
  53 + private String ROAD_CODE;
  54 +
  55 + private String ROAD_NAME;
  56 +
  57 + private double SPEED;
  58 +
  59 + @JsonIgnore
  60 + private LineString lineStr;
  61 +
  62 + public long getID() {
  63 + return ID;
  64 + }
  65 +
  66 + public void setID(long ID) {
  67 + this.ID = ID;
  68 + }
  69 +
  70 + public String getGROAD_VECTOR() {
  71 + return GROAD_VECTOR;
  72 + }
  73 +
  74 + public void setGROAD_VECTOR(String GROAD_VECTOR) {
  75 + this.GROAD_VECTOR = GROAD_VECTOR;
  76 + }
  77 +
  78 + public String getROAD_CODE() {
  79 + return ROAD_CODE;
  80 + }
  81 +
  82 + public void setROAD_CODE(String ROAD_CODE) {
  83 + this.ROAD_CODE = ROAD_CODE;
  84 + }
  85 +
  86 + public String getROAD_NAME() {
  87 + return ROAD_NAME;
  88 + }
  89 +
  90 + public void setROAD_NAME(String ROAD_NAME) {
  91 + this.ROAD_NAME = ROAD_NAME;
  92 + }
  93 +
  94 + public double getSPEED() {
  95 + return SPEED;
  96 + }
  97 +
  98 + public void setSPEED(double SPEED) {
  99 + this.SPEED = SPEED;
  100 + }
  101 +
  102 + public LineString getLineStr() {
  103 + return lineStr;
  104 + }
  105 +
  106 + public void setLineStr(LineString lineStr) {
  107 + this.lineStr = lineStr;
  108 + }
  109 +}
... ...
src/main/java/com/bsth/service/impl/StationRouteServiceImpl.java
... ... @@ -1100,4 +1100,24 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ
1100 1100 }
1101 1101 return rs;
1102 1102 }
  1103 +
  1104 + @Override
  1105 + @Transactional
  1106 + public Map<String, Object> upddis(Map<String, Object> map) {
  1107 + Map<String, Object> rs = new HashMap<>();
  1108 + try{
  1109 + Iterator it = map.entrySet().iterator();
  1110 + while(it.hasNext()){
  1111 + java.util.Map.Entry entry = (java.util.Map.Entry)it.next();
  1112 + Integer id = Integer.parseInt(entry.getKey().toString().split("_")[1]); //返回对应的键
  1113 + Double dis = Double.parseDouble(entry.getValue().toString()) / 1000; //返回对应的值
  1114 + repository.upddis(id, dis);
  1115 + }
  1116 + rs.put("status", ResponseCode.SUCCESS);
  1117 + }catch(Exception e){
  1118 + logger.error("", e);
  1119 + rs.put("status", ResponseCode.ERROR);
  1120 + }
  1121 + return rs;
  1122 + }
1103 1123 }
... ...
src/main/java/com/bsth/websocket/handler/RealControlSocketHandler.java
... ... @@ -94,7 +94,7 @@ public class RealControlSocketHandler implements WebSocketHandler {
94 94 /**
95 95 * 根据线路推送消息
96 96 */
97   - public synchronized void sendMessageToLine(String lineCode, String msg) {
  97 + public void sendMessageToLine(String lineCode, String msg) {
98 98  
99 99 TextMessage message = new TextMessage(msg.getBytes());
100 100  
... ... @@ -117,4 +117,28 @@ public class RealControlSocketHandler implements WebSocketHandler {
117 117 }
118 118 }
119 119 }
  120 +
  121 +
  122 +
  123 + /**
  124 + * 全局推送
  125 + */
  126 + public void sendMessage(String msg) {
  127 +
  128 + TextMessage message = new TextMessage(msg.getBytes());
  129 +
  130 + Iterator<WebSocketSession> iterator = users.iterator();
  131 +
  132 + WebSocketSession user;
  133 + while(iterator.hasNext()){
  134 + user = iterator.next();
  135 + try {
  136 + if (user.isOpen()) {
  137 + user.sendMessage(message);
  138 + }
  139 + } catch (Exception e) {
  140 + logger.error("sendMessage error ...."+msg);
  141 + }
  142 + }
  143 + }
120 144 }
... ...
src/main/java/com/bsth/websocket/handler/SendUtils.java
... ... @@ -5,6 +5,7 @@ import com.bsth.data.BasicData;
5 5 import com.bsth.data.LineConfigData;
6 6 import com.bsth.data.gpsdata.GpsEntity;
7 7 import com.bsth.data.gpsdata.arrival.entity.SignalState;
  8 +import com.bsth.data.safe_driv.SafeDriv;
8 9 import com.bsth.entity.directive.D80;
9 10 import com.bsth.entity.realcontrol.ScheduleRealInfo;
10 11 import com.fasterxml.jackson.core.JsonProcessingException;
... ... @@ -184,4 +185,18 @@ public class SendUtils{
184 185 logger.error("", e);
185 186 }
186 187 }
  188 +
  189 + public void sendSafeDriv(SafeDriv sd){
  190 + Map<String, Object> map = new HashMap<>();
  191 + map.put("fn", "safeDriv");
  192 + map.put("t", sd);;
  193 + ObjectMapper mapper = new ObjectMapper();
  194 +
  195 + try {
  196 + socketHandler.sendMessage(mapper.writeValueAsString(map));
  197 +
  198 + } catch (JsonProcessingException e) {
  199 + logger.error("", e);
  200 + }
  201 + }
187 202 }
... ...
src/main/resources/datatools/ktrs/ttinfodetailoutputforedit.ktr
1   -<?xml version="1.0" encoding="UTF-8"?>
2   -<transformation>
3   - <info>
4   - <name>ttinfodetailoutputforedit</name>
5   - <description/>
6   - <extended_description/>
7   - <trans_version/>
8   - <trans_type>Normal</trans_type>
9   - <trans_status>0</trans_status>
10   - <directory>&#x2f;</directory>
11   - <parameters>
12   - <parameter>
13   - <name>tempfilepath</name>
14   - <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;runtime_temp&#x2f;bsth_control_u_d_files&#x2f;temp&#x2f;test</default_value>
15   - <description>&#x9ed8;&#x8ba4;&#x8f93;&#x51fa;&#x7684;&#x6587;&#x4ef6;&#x8def;&#x5f84;&#x540d;</description>
16   - </parameter>
17   - <parameter>
18   - <name>ttid</name>
19   - <default_value>79</default_value>
20   - <description>&#x65f6;&#x523b;&#x8868;id</description>
21   - </parameter>
22   - <parameter>
23   - <name>xlid</name>
24   - <default_value>63020</default_value>
25   - <description>&#x7ebf;&#x8def;id</description>
26   - </parameter>
27   - </parameters>
28   - <log>
29   -<trans-log-table><connection/>
30   -<schema/>
31   -<table/>
32   -<size_limit_lines/>
33   -<interval/>
34   -<timeout_days/>
35   -<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>
36   -<perf-log-table><connection/>
37   -<schema/>
38   -<table/>
39   -<interval/>
40   -<timeout_days/>
41   -<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>
42   -<channel-log-table><connection/>
43   -<schema/>
44   -<table/>
45   -<timeout_days/>
46   -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>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>
47   -<step-log-table><connection/>
48   -<schema/>
49   -<table/>
50   -<timeout_days/>
51   -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>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>
52   -<metrics-log-table><connection/>
53   -<schema/>
54   -<table/>
55   -<timeout_days/>
56   -<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>
57   - </log>
58   - <maxdate>
59   - <connection/>
60   - <table/>
61   - <field/>
62   - <offset>0.0</offset>
63   - <maxdiff>0.0</maxdiff>
64   - </maxdate>
65   - <size_rowset>10000</size_rowset>
66   - <sleep_time_empty>50</sleep_time_empty>
67   - <sleep_time_full>50</sleep_time_full>
68   - <unique_connections>N</unique_connections>
69   - <feedback_shown>Y</feedback_shown>
70   - <feedback_size>50000</feedback_size>
71   - <using_thread_priorities>Y</using_thread_priorities>
72   - <shared_objects_file/>
73   - <capture_step_performance>N</capture_step_performance>
74   - <step_performance_capturing_delay>1000</step_performance_capturing_delay>
75   - <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
76   - <dependencies>
77   - </dependencies>
78   - <partitionschemas>
79   - </partitionschemas>
80   - <slaveservers>
81   - </slaveservers>
82   - <clusterschemas>
83   - </clusterschemas>
84   - <created_user>-</created_user>
85   - <created_date>2016&#x2f;07&#x2f;11 21&#x3a;45&#x3a;05.041</created_date>
86   - <modified_user>-</modified_user>
87   - <modified_date>2016&#x2f;07&#x2f;11 21&#x3a;45&#x3a;05.041</modified_date>
88   - <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
89   - <is_key_private>N</is_key_private>
90   - </info>
91   - <notepads>
92   - <notepad>
93   - <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>
94   - <xloc>45</xloc>
95   - <yloc>261</yloc>
96   - <width>333</width>
97   - <heigth>90</heigth>
98   - <fontname>YaHei Consolas Hybrid</fontname>
99   - <fontsize>12</fontsize>
100   - <fontbold>N</fontbold>
101   - <fontitalic>N</fontitalic>
102   - <fontcolorred>0</fontcolorred>
103   - <fontcolorgreen>0</fontcolorgreen>
104   - <fontcolorblue>0</fontcolorblue>
105   - <backgroundcolorred>255</backgroundcolorred>
106   - <backgroundcolorgreen>205</backgroundcolorgreen>
107   - <backgroundcolorblue>112</backgroundcolorblue>
108   - <bordercolorred>100</bordercolorred>
109   - <bordercolorgreen>100</bordercolorgreen>
110   - <bordercolorblue>100</bordercolorblue>
111   - <drawshadow>Y</drawshadow>
112   - </notepad>
113   - <notepad>
114   - <note>&#x6b64;&#x5904;&#x8f6c;&#x6362;excel&#x6709;&#x95ee;&#x9898;&#xff0c;&#xa;2003&#x683c;&#x5f0f;&#x7684;xls&#x6700;&#x591a;256&#x5217;&#xff0c;&#xa;&#x8fd9;&#x91cc;&#x660e;&#x663e;&#x8d85;&#x8fc7;&#xff0c;&#x6240;&#x4ee5;&#x628a;&#x6240;&#x6709;&#x5185;&#x5bb9;&#x5408;&#x5e76;&#x6210;1&#x5217;&#xff0c;&#xa;&#x7528;,&#x5206;&#x9694;</note>
115   - <xloc>256</xloc>
116   - <yloc>397</yloc>
117   - <width>245</width>
118   - <heigth>74</heigth>
119   - <fontname>YaHei Consolas Hybrid</fontname>
120   - <fontsize>12</fontsize>
121   - <fontbold>N</fontbold>
122   - <fontitalic>N</fontitalic>
123   - <fontcolorred>0</fontcolorred>
124   - <fontcolorgreen>0</fontcolorgreen>
125   - <fontcolorblue>0</fontcolorblue>
126   - <backgroundcolorred>255</backgroundcolorred>
127   - <backgroundcolorgreen>205</backgroundcolorgreen>
128   - <backgroundcolorblue>112</backgroundcolorblue>
129   - <bordercolorred>100</bordercolorred>
130   - <bordercolorgreen>100</bordercolorgreen>
131   - <bordercolorblue>100</bordercolorblue>
132   - <drawshadow>Y</drawshadow>
133   - </notepad>
134   - </notepads>
135   - <connection>
136   - <name>bus_control_variable</name>
137   - <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
138   - <type>MYSQL</type>
139   - <access>Native</access>
140   - <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
141   - <port>3306</port>
142   - <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
143   - <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
144   - <servername/>
145   - <data_tablespace/>
146   - <index_tablespace/>
147   - <attributes>
148   - <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
149   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
150   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
151   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
152   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
153   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
154   - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
155   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
156   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
157   - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
158   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
159   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
160   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
161   - </attributes>
162   - </connection>
163   - <connection>
164   - <name>bus_control_&#x516c;&#x53f8;_201</name>
165   - <server>localhost</server>
166   - <type>MYSQL</type>
167   - <access>Native</access>
168   - <database>control</database>
169   - <port>3306</port>
170   - <username>root</username>
171   - <password>Encrypted </password>
172   - <servername/>
173   - <data_tablespace/>
174   - <index_tablespace/>
175   - <attributes>
176   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
177   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
178   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
179   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
180   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
181   - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
182   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
183   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
184   - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
185   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
186   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
187   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
188   - </attributes>
189   - </connection>
190   - <connection>
191   - <name>bus_control_&#x672c;&#x673a;</name>
192   - <server>localhost</server>
193   - <type>MYSQL</type>
194   - <access>Native</access>
195   - <database>control</database>
196   - <port>3306</port>
197   - <username>root</username>
198   - <password>Encrypted </password>
199   - <servername/>
200   - <data_tablespace/>
201   - <index_tablespace/>
202   - <attributes>
203   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
204   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
205   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
206   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
207   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
208   - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
209   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
210   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
211   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
212   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
213   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
214   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
215   - </attributes>
216   - </connection>
217   - <connection>
218   - <name>xlab_mysql_youle</name>
219   - <server>101.231.124.8</server>
220   - <type>MYSQL</type>
221   - <access>Native</access>
222   - <database>xlab_youle</database>
223   - <port>45687</port>
224   - <username>xlab-youle</username>
225   - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
226   - <servername/>
227   - <data_tablespace/>
228   - <index_tablespace/>
229   - <attributes>
230   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
231   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
232   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
233   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
234   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
235   - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
236   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
237   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
238   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
239   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
240   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
241   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
242   - </attributes>
243   - </connection>
244   - <connection>
245   - <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
246   - <server>localhost</server>
247   - <type>MYSQL</type>
248   - <access>Native</access>
249   - <database>xlab_youle</database>
250   - <port>3306</port>
251   - <username>root</username>
252   - <password>Encrypted </password>
253   - <servername/>
254   - <data_tablespace/>
255   - <index_tablespace/>
256   - <attributes>
257   - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
258   - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
259   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
260   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
261   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
262   - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
263   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
264   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
265   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
266   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
267   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
268   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
269   - </attributes>
270   - </connection>
271   - <connection>
272   - <name>xlab_youle</name>
273   - <server/>
274   - <type>MYSQL</type>
275   - <access>JNDI</access>
276   - <database>xlab_youle</database>
277   - <port>1521</port>
278   - <username/>
279   - <password>Encrypted </password>
280   - <servername/>
281   - <data_tablespace/>
282   - <index_tablespace/>
283   - <attributes>
284   - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
285   - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
286   - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
287   - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
288   - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
289   - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
290   - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
291   - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
292   - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
293   - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
294   - </attributes>
295   - </connection>
296   - <order>
297   - <hop> <from>&#x8868;&#x8f93;&#x5165;</from><to>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
298   - <hop> <from>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;</from><to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x7ad9;&#x70b9;&#x67e5;&#x8be2;&#x7528;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
299   - <hop> <from>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;</from><to>&#x8fdb;&#x573a;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x67e5;&#x8be2;&#x7528;&#x7684;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
300   - <hop> <from>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x7ad9;&#x70b9;&#x67e5;&#x8be2;&#x7528;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x79f0;</to><enabled>Y</enabled> </hop>
301   - <hop> <from>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x79f0;</from><to>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x79f0;</to><enabled>Y</enabled> </hop>
302   - <hop> <from>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x79f0;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
303   - <hop> <from>&#x8fdb;&#x573a;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x67e5;&#x8be2;&#x7528;&#x7684;&#x6570;&#x636e;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9; 2</to><enabled>Y</enabled> </hop>
304   - <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
305   - <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9; 2</from><to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
306   - <hop> <from>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</from><to>&#x8ba1;&#x7b97;&#x53d1;&#x8f66;&#x7ad9;&#x540d;</to><enabled>Y</enabled> </hop>
307   - <hop> <from>&#x5217;&#x8f6c;&#x884c;</from><to>&#x53bb;&#x9664;&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>
308   - <hop> <from>&#x53bb;&#x9664;&#x5b57;&#x6bb5;</from><to>Excel&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
309   - <hop> <from>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</from><to>&#x8868;&#x8f93;&#x5165;</to><enabled>Y</enabled> </hop>
310   - <hop> <from>&#x8ba1;&#x7b97;&#x53d1;&#x8f66;&#x7ad9;&#x540d;</from><to>&#x5408;&#x5e76;&#x5185;&#x5bb9;</to><enabled>Y</enabled> </hop>
311   - <hop> <from>&#x5408;&#x5e76;&#x5185;&#x5bb9;</from><to>&#x5217;&#x8f6c;&#x884c;</to><enabled>Y</enabled> </hop>
312   - <hop> <from>&#x53bb;&#x9664;&#x5b57;&#x6bb5;</from><to>&#x6587;&#x672c;&#x6587;&#x4ef6;&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
313   - </order>
314   - <step>
315   - <name>Excel&#x8f93;&#x51fa;</name>
316   - <type>ExcelOutput</type>
317   - <description/>
318   - <distribute>Y</distribute>
319   - <custom_distribution/>
320   - <copies>1</copies>
321   - <partitioning>
322   - <method>none</method>
323   - <schema_name/>
324   - </partitioning>
325   - <header>Y</header>
326   - <footer>N</footer>
327   - <encoding/>
328   - <append>N</append>
329   - <add_to_result_filenames>Y</add_to_result_filenames>
330   - <file>
331   - <name>&#x24;&#x7b;tempfilepath&#x7d;</name>
332   - <extention>xls</extention>
333   - <do_not_open_newfile_init>N</do_not_open_newfile_init>
334   - <create_parent_folder>N</create_parent_folder>
335   - <split>N</split>
336   - <add_date>N</add_date>
337   - <add_time>N</add_time>
338   - <SpecifyFormat>N</SpecifyFormat>
339   - <date_time_format/>
340   - <sheetname>Sheet1</sheetname>
341   - <autosizecolums>N</autosizecolums>
342   - <nullisblank>N</nullisblank>
343   - <protect_sheet>N</protect_sheet>
344   - <password>Encrypted </password>
345   - <splitevery>0</splitevery>
346   - <usetempfiles>N</usetempfiles>
347   - <tempdirectory/>
348   - </file>
349   - <template>
350   - <enabled>N</enabled>
351   - <append>N</append>
352   - <filename>template.xls</filename>
353   - </template>
354   - <fields>
355   - <field>
356   - <name>lp</name>
357   - <type>String</type>
358   - <format/>
359   - </field>
360   - <field>
361   - <name>fcno1</name>
362   - <type>String</type>
363   - <format/>
364   - </field>
365   - <field>
366   - <name>fcno2</name>
367   - <type>String</type>
368   - <format/>
369   - </field>
370   - <field>
371   - <name>fcno3</name>
372   - <type>String</type>
373   - <format/>
374   - </field>
375   - <field>
376   - <name>fcno4</name>
377   - <type>String</type>
378   - <format/>
379   - </field>
380   - <field>
381   - <name>fcno5</name>
382   - <type>String</type>
383   - <format/>
384   - </field>
385   - <field>
386   - <name>fcno6</name>
387   - <type>String</type>
388   - <format/>
389   - </field>
390   - <field>
391   - <name>fcno7</name>
392   - <type>String</type>
393   - <format/>
394   - </field>
395   - <field>
396   - <name>fcno8</name>
397   - <type>String</type>
398   - <format/>
399   - </field>
400   - <field>
401   - <name>fcno9</name>
402   - <type>String</type>
403   - <format/>
404   - </field>
405   - <field>
406   - <name>fcno10</name>
407   - <type>String</type>
408   - <format/>
409   - </field>
410   - <field>
411   - <name>fcno11</name>
412   - <type>String</type>
413   - <format/>
414   - </field>
415   - <field>
416   - <name>fcno12</name>
417   - <type>String</type>
418   - <format/>
419   - </field>
420   - <field>
421   - <name>fcno13</name>
422   - <type>String</type>
423   - <format/>
424   - </field>
425   - <field>
426   - <name>fcno14</name>
427   - <type>String</type>
428   - <format/>
429   - </field>
430   - <field>
431   - <name>fcno15</name>
432   - <type>String</type>
433   - <format/>
434   - </field>
435   - <field>
436   - <name>fcno16</name>
437   - <type>String</type>
438   - <format/>
439   - </field>
440   - <field>
441   - <name>fcno17</name>
442   - <type>String</type>
443   - <format/>
444   - </field>
445   - <field>
446   - <name>fcno18</name>
447   - <type>String</type>
448   - <format/>
449   - </field>
450   - <field>
451   - <name>fcno19</name>
452   - <type>String</type>
453   - <format/>
454   - </field>
455   - <field>
456   - <name>fcno20</name>
457   - <type>String</type>
458   - <format/>
459   - </field>
460   - <field>
461   - <name>fcno21</name>
462   - <type>String</type>
463   - <format/>
464   - </field>
465   - <field>
466   - <name>fcno22</name>
467   - <type>String</type>
468   - <format/>
469   - </field>
470   - <field>
471   - <name>fcno23</name>
472   - <type>String</type>
473   - <format/>
474   - </field>
475   - <field>
476   - <name>fcno24</name>
477   - <type>String</type>
478   - <format/>
479   - </field>
480   - <field>
481   - <name>fcno25</name>
482   - <type>String</type>
483   - <format/>
484   - </field>
485   - <field>
486   - <name>fcno26</name>
487   - <type>String</type>
488   - <format/>
489   - </field>
490   - <field>
491   - <name>fcno27</name>
492   - <type>String</type>
493   - <format/>
494   - </field>
495   - <field>
496   - <name>fcno28</name>
497   - <type>String</type>
498   - <format/>
499   - </field>
500   - <field>
501   - <name>fcno29</name>
502   - <type>String</type>
503   - <format/>
504   - </field>
505   - <field>
506   - <name>fcno30</name>
507   - <type>String</type>
508   - <format/>
509   - </field>
510   - <field>
511   - <name>fcno31</name>
512   - <type>String</type>
513   - <format/>
514   - </field>
515   - <field>
516   - <name>fcno32</name>
517   - <type>String</type>
518   - <format/>
519   - </field>
520   - <field>
521   - <name>fcno33</name>
522   - <type>String</type>
523   - <format/>
524   - </field>
525   - <field>
526   - <name>fcno34</name>
527   - <type>String</type>
528   - <format/>
529   - </field>
530   - <field>
531   - <name>fcno35</name>
532   - <type>String</type>
533   - <format/>
534   - </field>
535   - <field>
536   - <name>fcno36</name>
537   - <type>String</type>
538   - <format/>
539   - </field>
540   - <field>
541   - <name>fcno37</name>
542   - <type>String</type>
543   - <format/>
544   - </field>
545   - <field>
546   - <name>fcno38</name>
547   - <type>String</type>
548   - <format/>
549   - </field>
550   - <field>
551   - <name>fcno39</name>
552   - <type>String</type>
553   - <format/>
554   - </field>
555   - <field>
556   - <name>fcno40</name>
557   - <type>String</type>
558   - <format/>
559   - </field>
560   - <field>
561   - <name>fcno41</name>
562   - <type>String</type>
563   - <format/>
564   - </field>
565   - <field>
566   - <name>fcno42</name>
567   - <type>String</type>
568   - <format/>
569   - </field>
570   - <field>
571   - <name>fcno43</name>
572   - <type>String</type>
573   - <format/>
574   - </field>
575   - <field>
576   - <name>fcno44</name>
577   - <type>String</type>
578   - <format/>
579   - </field>
580   - <field>
581   - <name>fcno45</name>
582   - <type>String</type>
583   - <format/>
584   - </field>
585   - <field>
586   - <name>fcno46</name>
587   - <type>String</type>
588   - <format/>
589   - </field>
590   - <field>
591   - <name>fcno47</name>
592   - <type>String</type>
593   - <format/>
594   - </field>
595   - <field>
596   - <name>fcno48</name>
597   - <type>String</type>
598   - <format/>
599   - </field>
600   - <field>
601   - <name>fcno49</name>
602   - <type>String</type>
603   - <format/>
604   - </field>
605   - <field>
606   - <name>fcno50</name>
607   - <type>String</type>
608   - <format/>
609   - </field>
610   - <field>
611   - <name>fcno51</name>
612   - <type>String</type>
613   - <format/>
614   - </field>
615   - <field>
616   - <name>fcno52</name>
617   - <type>String</type>
618   - <format/>
619   - </field>
620   - <field>
621   - <name>fcno53</name>
622   - <type>String</type>
623   - <format/>
624   - </field>
625   - <field>
626   - <name>fcno54</name>
627   - <type>String</type>
628   - <format/>
629   - </field>
630   - <field>
631   - <name>fcno55</name>
632   - <type>String</type>
633   - <format/>
634   - </field>
635   - <field>
636   - <name>fcno56</name>
637   - <type>String</type>
638   - <format/>
639   - </field>
640   - <field>
641   - <name>fcno57</name>
642   - <type>String</type>
643   - <format/>
644   - </field>
645   - <field>
646   - <name>fcno58</name>
647   - <type>String</type>
648   - <format/>
649   - </field>
650   - <field>
651   - <name>fcno59</name>
652   - <type>String</type>
653   - <format/>
654   - </field>
655   - <field>
656   - <name>fcno60</name>
657   - <type>String</type>
658   - <format/>
659   - </field>
660   - <field>
661   - <name>fcno61</name>
662   - <type>String</type>
663   - <format/>
664   - </field>
665   - <field>
666   - <name>fcno62</name>
667   - <type>String</type>
668   - <format/>
669   - </field>
670   - <field>
671   - <name>fcno63</name>
672   - <type>String</type>
673   - <format/>
674   - </field>
675   - <field>
676   - <name>fcno64</name>
677   - <type>String</type>
678   - <format/>
679   - </field>
680   - <field>
681   - <name>fcno65</name>
682   - <type>String</type>
683   - <format/>
684   - </field>
685   - <field>
686   - <name>fcno66</name>
687   - <type>String</type>
688   - <format/>
689   - </field>
690   - <field>
691   - <name>fcno67</name>
692   - <type>String</type>
693   - <format/>
694   - </field>
695   - <field>
696   - <name>fcno68</name>
697   - <type>String</type>
698   - <format/>
699   - </field>
700   - <field>
701   - <name>fcno69</name>
702   - <type>String</type>
703   - <format/>
704   - </field>
705   - <field>
706   - <name>fcno70</name>
707   - <type>String</type>
708   - <format/>
709   - </field>
710   - </fields>
711   - <custom>
712   - <header_font_name>arial</header_font_name>
713   - <header_font_size>10</header_font_size>
714   - <header_font_bold>N</header_font_bold>
715   - <header_font_italic>N</header_font_italic>
716   - <header_font_underline>no</header_font_underline>
717   - <header_font_orientation>horizontal</header_font_orientation>
718   - <header_font_color>black</header_font_color>
719   - <header_background_color>none</header_background_color>
720   - <header_row_height>255</header_row_height>
721   - <header_alignment>left</header_alignment>
722   - <header_image/>
723   - <row_font_name>arial</row_font_name>
724   - <row_font_size>10</row_font_size>
725   - <row_font_color>black</row_font_color>
726   - <row_background_color>none</row_background_color>
727   - </custom>
728   - <cluster_schema/>
729   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
730   - <xloc>692</xloc>
731   - <yloc>514</yloc>
732   - <draw>Y</draw>
733   - </GUI>
734   - </step>
735   -
736   - <step>
737   - <name>&#x5217;&#x8f6c;&#x884c;</name>
738   - <type>Denormaliser</type>
739   - <description/>
740   - <distribute>N</distribute>
741   - <custom_distribution/>
742   - <copies>1</copies>
743   - <partitioning>
744   - <method>none</method>
745   - <schema_name/>
746   - </partitioning>
747   - <key_field>fcno</key_field>
748   - <group>
749   - <field>
750   - <name>lp</name>
751   - </field>
752   - </group>
753   - <fields>
754   - <field>
755   - <field_name>all_content</field_name>
756   - <key_value>1</key_value>
757   - <target_name>fcno1</target_name>
758   - <target_type>String</target_type>
759   - <target_format/>
760   - <target_length>-1</target_length>
761   - <target_precision>-1</target_precision>
762   - <target_decimal_symbol/>
763   - <target_grouping_symbol/>
764   - <target_currency_symbol/>
765   - <target_null_string/>
766   - <target_aggregation_type>-</target_aggregation_type>
767   - </field>
768   - <field>
769   - <field_name>all_content</field_name>
770   - <key_value>2</key_value>
771   - <target_name>fcno2</target_name>
772   - <target_type>String</target_type>
773   - <target_format/>
774   - <target_length>-1</target_length>
775   - <target_precision>-1</target_precision>
776   - <target_decimal_symbol/>
777   - <target_grouping_symbol/>
778   - <target_currency_symbol/>
779   - <target_null_string/>
780   - <target_aggregation_type>-</target_aggregation_type>
781   - </field>
782   - <field>
783   - <field_name>all_content</field_name>
784   - <key_value>3</key_value>
785   - <target_name>fcno3</target_name>
786   - <target_type>String</target_type>
787   - <target_format/>
788   - <target_length>-1</target_length>
789   - <target_precision>-1</target_precision>
790   - <target_decimal_symbol/>
791   - <target_grouping_symbol/>
792   - <target_currency_symbol/>
793   - <target_null_string/>
794   - <target_aggregation_type>-</target_aggregation_type>
795   - </field>
796   - <field>
797   - <field_name>all_content</field_name>
798   - <key_value>4</key_value>
799   - <target_name>fcno4</target_name>
800   - <target_type>String</target_type>
801   - <target_format/>
802   - <target_length>-1</target_length>
803   - <target_precision>-1</target_precision>
804   - <target_decimal_symbol/>
805   - <target_grouping_symbol/>
806   - <target_currency_symbol/>
807   - <target_null_string/>
808   - <target_aggregation_type>-</target_aggregation_type>
809   - </field>
810   - <field>
811   - <field_name>all_content</field_name>
812   - <key_value>5</key_value>
813   - <target_name>fcno5</target_name>
814   - <target_type>String</target_type>
815   - <target_format/>
816   - <target_length>-1</target_length>
817   - <target_precision>-1</target_precision>
818   - <target_decimal_symbol/>
819   - <target_grouping_symbol/>
820   - <target_currency_symbol/>
821   - <target_null_string/>
822   - <target_aggregation_type>-</target_aggregation_type>
823   - </field>
824   - <field>
825   - <field_name>all_content</field_name>
826   - <key_value>6</key_value>
827   - <target_name>fcno6</target_name>
828   - <target_type>String</target_type>
829   - <target_format/>
830   - <target_length>-1</target_length>
831   - <target_precision>-1</target_precision>
832   - <target_decimal_symbol/>
833   - <target_grouping_symbol/>
834   - <target_currency_symbol/>
835   - <target_null_string/>
836   - <target_aggregation_type>-</target_aggregation_type>
837   - </field>
838   - <field>
839   - <field_name>all_content</field_name>
840   - <key_value>7</key_value>
841   - <target_name>fcno7</target_name>
842   - <target_type>String</target_type>
843   - <target_format/>
844   - <target_length>-1</target_length>
845   - <target_precision>-1</target_precision>
846   - <target_decimal_symbol/>
847   - <target_grouping_symbol/>
848   - <target_currency_symbol/>
849   - <target_null_string/>
850   - <target_aggregation_type>-</target_aggregation_type>
851   - </field>
852   - <field>
853   - <field_name>all_content</field_name>
854   - <key_value>8</key_value>
855   - <target_name>fcno8</target_name>
856   - <target_type>String</target_type>
857   - <target_format/>
858   - <target_length>-1</target_length>
859   - <target_precision>-1</target_precision>
860   - <target_decimal_symbol/>
861   - <target_grouping_symbol/>
862   - <target_currency_symbol/>
863   - <target_null_string/>
864   - <target_aggregation_type>-</target_aggregation_type>
865   - </field>
866   - <field>
867   - <field_name>all_content</field_name>
868   - <key_value>9</key_value>
869   - <target_name>fcno9</target_name>
870   - <target_type>String</target_type>
871   - <target_format/>
872   - <target_length>-1</target_length>
873   - <target_precision>-1</target_precision>
874   - <target_decimal_symbol/>
875   - <target_grouping_symbol/>
876   - <target_currency_symbol/>
877   - <target_null_string/>
878   - <target_aggregation_type>-</target_aggregation_type>
879   - </field>
880   - <field>
881   - <field_name>all_content</field_name>
882   - <key_value>10</key_value>
883   - <target_name>fcno10</target_name>
884   - <target_type>String</target_type>
885   - <target_format/>
886   - <target_length>-1</target_length>
887   - <target_precision>-1</target_precision>
888   - <target_decimal_symbol/>
889   - <target_grouping_symbol/>
890   - <target_currency_symbol/>
891   - <target_null_string/>
892   - <target_aggregation_type>-</target_aggregation_type>
893   - </field>
894   - <field>
895   - <field_name>all_content</field_name>
896   - <key_value>11</key_value>
897   - <target_name>fcno11</target_name>
898   - <target_type>String</target_type>
899   - <target_format/>
900   - <target_length>-1</target_length>
901   - <target_precision>-1</target_precision>
902   - <target_decimal_symbol/>
903   - <target_grouping_symbol/>
904   - <target_currency_symbol/>
905   - <target_null_string/>
906   - <target_aggregation_type>-</target_aggregation_type>
907   - </field>
908   - <field>
909   - <field_name>all_content</field_name>
910   - <key_value>12</key_value>
911   - <target_name>fcno12</target_name>
912   - <target_type>String</target_type>
913   - <target_format/>
914   - <target_length>-1</target_length>
915   - <target_precision>-1</target_precision>
916   - <target_decimal_symbol/>
917   - <target_grouping_symbol/>
918   - <target_currency_symbol/>
919   - <target_null_string/>
920   - <target_aggregation_type>-</target_aggregation_type>
921   - </field>
922   - <field>
923   - <field_name>all_content</field_name>
924   - <key_value>13</key_value>
925   - <target_name>fcno13</target_name>
926   - <target_type>String</target_type>
927   - <target_format/>
928   - <target_length>-1</target_length>
929   - <target_precision>-1</target_precision>
930   - <target_decimal_symbol/>
931   - <target_grouping_symbol/>
932   - <target_currency_symbol/>
933   - <target_null_string/>
934   - <target_aggregation_type>-</target_aggregation_type>
935   - </field>
936   - <field>
937   - <field_name>all_content</field_name>
938   - <key_value>14</key_value>
939   - <target_name>fcno14</target_name>
940   - <target_type>String</target_type>
941   - <target_format/>
942   - <target_length>-1</target_length>
943   - <target_precision>-1</target_precision>
944   - <target_decimal_symbol/>
945   - <target_grouping_symbol/>
946   - <target_currency_symbol/>
947   - <target_null_string/>
948   - <target_aggregation_type>-</target_aggregation_type>
949   - </field>
950   - <field>
951   - <field_name>all_content</field_name>
952   - <key_value>15</key_value>
953   - <target_name>fcno15</target_name>
954   - <target_type>String</target_type>
955   - <target_format/>
956   - <target_length>-1</target_length>
957   - <target_precision>-1</target_precision>
958   - <target_decimal_symbol/>
959   - <target_grouping_symbol/>
960   - <target_currency_symbol/>
961   - <target_null_string/>
962   - <target_aggregation_type>-</target_aggregation_type>
963   - </field>
964   - <field>
965   - <field_name>all_content</field_name>
966   - <key_value>16</key_value>
967   - <target_name>fcno16</target_name>
968   - <target_type>String</target_type>
969   - <target_format/>
970   - <target_length>-1</target_length>
971   - <target_precision>-1</target_precision>
972   - <target_decimal_symbol/>
973   - <target_grouping_symbol/>
974   - <target_currency_symbol/>
975   - <target_null_string/>
976   - <target_aggregation_type>-</target_aggregation_type>
977   - </field>
978   - <field>
979   - <field_name>all_content</field_name>
980   - <key_value>17</key_value>
981   - <target_name>fcno17</target_name>
982   - <target_type>String</target_type>
983   - <target_format/>
984   - <target_length>-1</target_length>
985   - <target_precision>-1</target_precision>
986   - <target_decimal_symbol/>
987   - <target_grouping_symbol/>
988   - <target_currency_symbol/>
989   - <target_null_string/>
990   - <target_aggregation_type>-</target_aggregation_type>
991   - </field>
992   - <field>
993   - <field_name>all_content</field_name>
994   - <key_value>18</key_value>
995   - <target_name>fcno18</target_name>
996   - <target_type>String</target_type>
997   - <target_format/>
998   - <target_length>-1</target_length>
999   - <target_precision>-1</target_precision>
1000   - <target_decimal_symbol/>
1001   - <target_grouping_symbol/>
1002   - <target_currency_symbol/>
1003   - <target_null_string/>
1004   - <target_aggregation_type>-</target_aggregation_type>
1005   - </field>
1006   - <field>
1007   - <field_name>all_content</field_name>
1008   - <key_value>19</key_value>
1009   - <target_name>fcno19</target_name>
1010   - <target_type>String</target_type>
1011   - <target_format/>
1012   - <target_length>-1</target_length>
1013   - <target_precision>-1</target_precision>
1014   - <target_decimal_symbol/>
1015   - <target_grouping_symbol/>
1016   - <target_currency_symbol/>
1017   - <target_null_string/>
1018   - <target_aggregation_type>-</target_aggregation_type>
1019   - </field>
1020   - <field>
1021   - <field_name>all_content</field_name>
1022   - <key_value>20</key_value>
1023   - <target_name>fcno20</target_name>
1024   - <target_type>String</target_type>
1025   - <target_format/>
1026   - <target_length>-1</target_length>
1027   - <target_precision>-1</target_precision>
1028   - <target_decimal_symbol/>
1029   - <target_grouping_symbol/>
1030   - <target_currency_symbol/>
1031   - <target_null_string/>
1032   - <target_aggregation_type>-</target_aggregation_type>
1033   - </field>
1034   - <field>
1035   - <field_name>all_content</field_name>
1036   - <key_value>21</key_value>
1037   - <target_name>fcno21</target_name>
1038   - <target_type>String</target_type>
1039   - <target_format/>
1040   - <target_length>-1</target_length>
1041   - <target_precision>-1</target_precision>
1042   - <target_decimal_symbol/>
1043   - <target_grouping_symbol/>
1044   - <target_currency_symbol/>
1045   - <target_null_string/>
1046   - <target_aggregation_type>-</target_aggregation_type>
1047   - </field>
1048   - <field>
1049   - <field_name>all_content</field_name>
1050   - <key_value>22</key_value>
1051   - <target_name>fcno22</target_name>
1052   - <target_type>String</target_type>
1053   - <target_format/>
1054   - <target_length>-1</target_length>
1055   - <target_precision>-1</target_precision>
1056   - <target_decimal_symbol/>
1057   - <target_grouping_symbol/>
1058   - <target_currency_symbol/>
1059   - <target_null_string/>
1060   - <target_aggregation_type>-</target_aggregation_type>
1061   - </field>
1062   - <field>
1063   - <field_name>all_content</field_name>
1064   - <key_value>23</key_value>
1065   - <target_name>fcno23</target_name>
1066   - <target_type>String</target_type>
1067   - <target_format/>
1068   - <target_length>-1</target_length>
1069   - <target_precision>-1</target_precision>
1070   - <target_decimal_symbol/>
1071   - <target_grouping_symbol/>
1072   - <target_currency_symbol/>
1073   - <target_null_string/>
1074   - <target_aggregation_type>-</target_aggregation_type>
1075   - </field>
1076   - <field>
1077   - <field_name>all_content</field_name>
1078   - <key_value>24</key_value>
1079   - <target_name>fcno24</target_name>
1080   - <target_type>String</target_type>
1081   - <target_format/>
1082   - <target_length>-1</target_length>
1083   - <target_precision>-1</target_precision>
1084   - <target_decimal_symbol/>
1085   - <target_grouping_symbol/>
1086   - <target_currency_symbol/>
1087   - <target_null_string/>
1088   - <target_aggregation_type>-</target_aggregation_type>
1089   - </field>
1090   - <field>
1091   - <field_name>all_content</field_name>
1092   - <key_value>25</key_value>
1093   - <target_name>fcno25</target_name>
1094   - <target_type>String</target_type>
1095   - <target_format/>
1096   - <target_length>-1</target_length>
1097   - <target_precision>-1</target_precision>
1098   - <target_decimal_symbol/>
1099   - <target_grouping_symbol/>
1100   - <target_currency_symbol/>
1101   - <target_null_string/>
1102   - <target_aggregation_type>-</target_aggregation_type>
1103   - </field>
1104   - <field>
1105   - <field_name>all_content</field_name>
1106   - <key_value>26</key_value>
1107   - <target_name>fcno26</target_name>
1108   - <target_type>String</target_type>
1109   - <target_format/>
1110   - <target_length>-1</target_length>
1111   - <target_precision>-1</target_precision>
1112   - <target_decimal_symbol/>
1113   - <target_grouping_symbol/>
1114   - <target_currency_symbol/>
1115   - <target_null_string/>
1116   - <target_aggregation_type>-</target_aggregation_type>
1117   - </field>
1118   - <field>
1119   - <field_name>all_content</field_name>
1120   - <key_value>27</key_value>
1121   - <target_name>fcno27</target_name>
1122   - <target_type>String</target_type>
1123   - <target_format/>
1124   - <target_length>-1</target_length>
1125   - <target_precision>-1</target_precision>
1126   - <target_decimal_symbol/>
1127   - <target_grouping_symbol/>
1128   - <target_currency_symbol/>
1129   - <target_null_string/>
1130   - <target_aggregation_type>-</target_aggregation_type>
1131   - </field>
1132   - <field>
1133   - <field_name>all_content</field_name>
1134   - <key_value>28</key_value>
1135   - <target_name>fcno28</target_name>
1136   - <target_type>String</target_type>
1137   - <target_format/>
1138   - <target_length>-1</target_length>
1139   - <target_precision>-1</target_precision>
1140   - <target_decimal_symbol/>
1141   - <target_grouping_symbol/>
1142   - <target_currency_symbol/>
1143   - <target_null_string/>
1144   - <target_aggregation_type>-</target_aggregation_type>
1145   - </field>
1146   - <field>
1147   - <field_name>all_content</field_name>
1148   - <key_value>29</key_value>
1149   - <target_name>fcno29</target_name>
1150   - <target_type>String</target_type>
1151   - <target_format/>
1152   - <target_length>-1</target_length>
1153   - <target_precision>-1</target_precision>
1154   - <target_decimal_symbol/>
1155   - <target_grouping_symbol/>
1156   - <target_currency_symbol/>
1157   - <target_null_string/>
1158   - <target_aggregation_type>-</target_aggregation_type>
1159   - </field>
1160   - <field>
1161   - <field_name>all_content</field_name>
1162   - <key_value>30</key_value>
1163   - <target_name>fcno30</target_name>
1164   - <target_type>String</target_type>
1165   - <target_format/>
1166   - <target_length>-1</target_length>
1167   - <target_precision>-1</target_precision>
1168   - <target_decimal_symbol/>
1169   - <target_grouping_symbol/>
1170   - <target_currency_symbol/>
1171   - <target_null_string/>
1172   - <target_aggregation_type>-</target_aggregation_type>
1173   - </field>
1174   - <field>
1175   - <field_name>all_content</field_name>
1176   - <key_value>31</key_value>
1177   - <target_name>fcno31</target_name>
1178   - <target_type>String</target_type>
1179   - <target_format/>
1180   - <target_length>-1</target_length>
1181   - <target_precision>-1</target_precision>
1182   - <target_decimal_symbol/>
1183   - <target_grouping_symbol/>
1184   - <target_currency_symbol/>
1185   - <target_null_string/>
1186   - <target_aggregation_type>-</target_aggregation_type>
1187   - </field>
1188   - <field>
1189   - <field_name>all_content</field_name>
1190   - <key_value>32</key_value>
1191   - <target_name>fcno32</target_name>
1192   - <target_type>String</target_type>
1193   - <target_format/>
1194   - <target_length>-1</target_length>
1195   - <target_precision>-1</target_precision>
1196   - <target_decimal_symbol/>
1197   - <target_grouping_symbol/>
1198   - <target_currency_symbol/>
1199   - <target_null_string/>
1200   - <target_aggregation_type>-</target_aggregation_type>
1201   - </field>
1202   - <field>
1203   - <field_name>all_content</field_name>
1204   - <key_value>33</key_value>
1205   - <target_name>fcno33</target_name>
1206   - <target_type>String</target_type>
1207   - <target_format/>
1208   - <target_length>-1</target_length>
1209   - <target_precision>-1</target_precision>
1210   - <target_decimal_symbol/>
1211   - <target_grouping_symbol/>
1212   - <target_currency_symbol/>
1213   - <target_null_string/>
1214   - <target_aggregation_type>-</target_aggregation_type>
1215   - </field>
1216   - <field>
1217   - <field_name>all_content</field_name>
1218   - <key_value>34</key_value>
1219   - <target_name>fcno34</target_name>
1220   - <target_type>String</target_type>
1221   - <target_format/>
1222   - <target_length>-1</target_length>
1223   - <target_precision>-1</target_precision>
1224   - <target_decimal_symbol/>
1225   - <target_grouping_symbol/>
1226   - <target_currency_symbol/>
1227   - <target_null_string/>
1228   - <target_aggregation_type>-</target_aggregation_type>
1229   - </field>
1230   - <field>
1231   - <field_name>all_content</field_name>
1232   - <key_value>35</key_value>
1233   - <target_name>fcno35</target_name>
1234   - <target_type>String</target_type>
1235   - <target_format/>
1236   - <target_length>-1</target_length>
1237   - <target_precision>-1</target_precision>
1238   - <target_decimal_symbol/>
1239   - <target_grouping_symbol/>
1240   - <target_currency_symbol/>
1241   - <target_null_string/>
1242   - <target_aggregation_type>-</target_aggregation_type>
1243   - </field>
1244   - <field>
1245   - <field_name>all_content</field_name>
1246   - <key_value>36</key_value>
1247   - <target_name>fcno36</target_name>
1248   - <target_type>String</target_type>
1249   - <target_format/>
1250   - <target_length>-1</target_length>
1251   - <target_precision>-1</target_precision>
1252   - <target_decimal_symbol/>
1253   - <target_grouping_symbol/>
1254   - <target_currency_symbol/>
1255   - <target_null_string/>
1256   - <target_aggregation_type>-</target_aggregation_type>
1257   - </field>
1258   - <field>
1259   - <field_name>all_content</field_name>
1260   - <key_value>37</key_value>
1261   - <target_name>fcno37</target_name>
1262   - <target_type>String</target_type>
1263   - <target_format/>
1264   - <target_length>-1</target_length>
1265   - <target_precision>-1</target_precision>
1266   - <target_decimal_symbol/>
1267   - <target_grouping_symbol/>
1268   - <target_currency_symbol/>
1269   - <target_null_string/>
1270   - <target_aggregation_type>-</target_aggregation_type>
1271   - </field>
1272   - <field>
1273   - <field_name>all_content</field_name>
1274   - <key_value>38</key_value>
1275   - <target_name>fcno38</target_name>
1276   - <target_type>String</target_type>
1277   - <target_format/>
1278   - <target_length>-1</target_length>
1279   - <target_precision>-1</target_precision>
1280   - <target_decimal_symbol/>
1281   - <target_grouping_symbol/>
1282   - <target_currency_symbol/>
1283   - <target_null_string/>
1284   - <target_aggregation_type>-</target_aggregation_type>
1285   - </field>
1286   - <field>
1287   - <field_name>all_content</field_name>
1288   - <key_value>39</key_value>
1289   - <target_name>fcno39</target_name>
1290   - <target_type>String</target_type>
1291   - <target_format/>
1292   - <target_length>-1</target_length>
1293   - <target_precision>-1</target_precision>
1294   - <target_decimal_symbol/>
1295   - <target_grouping_symbol/>
1296   - <target_currency_symbol/>
1297   - <target_null_string/>
1298   - <target_aggregation_type>-</target_aggregation_type>
1299   - </field>
1300   - <field>
1301   - <field_name>all_content</field_name>
1302   - <key_value>40</key_value>
1303   - <target_name>fcno40</target_name>
1304   - <target_type>String</target_type>
1305   - <target_format/>
1306   - <target_length>-1</target_length>
1307   - <target_precision>-1</target_precision>
1308   - <target_decimal_symbol/>
1309   - <target_grouping_symbol/>
1310   - <target_currency_symbol/>
1311   - <target_null_string/>
1312   - <target_aggregation_type>-</target_aggregation_type>
1313   - </field>
1314   - <field>
1315   - <field_name>all_content</field_name>
1316   - <key_value>41</key_value>
1317   - <target_name>fcno41</target_name>
1318   - <target_type>String</target_type>
1319   - <target_format/>
1320   - <target_length>-1</target_length>
1321   - <target_precision>-1</target_precision>
1322   - <target_decimal_symbol/>
1323   - <target_grouping_symbol/>
1324   - <target_currency_symbol/>
1325   - <target_null_string/>
1326   - <target_aggregation_type>-</target_aggregation_type>
1327   - </field>
1328   - <field>
1329   - <field_name>all_content</field_name>
1330   - <key_value>42</key_value>
1331   - <target_name>fcno42</target_name>
1332   - <target_type>String</target_type>
1333   - <target_format/>
1334   - <target_length>-1</target_length>
1335   - <target_precision>-1</target_precision>
1336   - <target_decimal_symbol/>
1337   - <target_grouping_symbol/>
1338   - <target_currency_symbol/>
1339   - <target_null_string/>
1340   - <target_aggregation_type>-</target_aggregation_type>
1341   - </field>
1342   - <field>
1343   - <field_name>all_content</field_name>
1344   - <key_value>43</key_value>
1345   - <target_name>fcno43</target_name>
1346   - <target_type>String</target_type>
1347   - <target_format/>
1348   - <target_length>-1</target_length>
1349   - <target_precision>-1</target_precision>
1350   - <target_decimal_symbol/>
1351   - <target_grouping_symbol/>
1352   - <target_currency_symbol/>
1353   - <target_null_string/>
1354   - <target_aggregation_type>-</target_aggregation_type>
1355   - </field>
1356   - <field>
1357   - <field_name>all_content</field_name>
1358   - <key_value>44</key_value>
1359   - <target_name>fcno44</target_name>
1360   - <target_type>String</target_type>
1361   - <target_format/>
1362   - <target_length>-1</target_length>
1363   - <target_precision>-1</target_precision>
1364   - <target_decimal_symbol/>
1365   - <target_grouping_symbol/>
1366   - <target_currency_symbol/>
1367   - <target_null_string/>
1368   - <target_aggregation_type>-</target_aggregation_type>
1369   - </field>
1370   - <field>
1371   - <field_name>all_content</field_name>
1372   - <key_value>45</key_value>
1373   - <target_name>fcno45</target_name>
1374   - <target_type>String</target_type>
1375   - <target_format/>
1376   - <target_length>-1</target_length>
1377   - <target_precision>-1</target_precision>
1378   - <target_decimal_symbol/>
1379   - <target_grouping_symbol/>
1380   - <target_currency_symbol/>
1381   - <target_null_string/>
1382   - <target_aggregation_type>-</target_aggregation_type>
1383   - </field>
1384   - <field>
1385   - <field_name>all_content</field_name>
1386   - <key_value>46</key_value>
1387   - <target_name>fcno46</target_name>
1388   - <target_type>String</target_type>
1389   - <target_format/>
1390   - <target_length>-1</target_length>
1391   - <target_precision>-1</target_precision>
1392   - <target_decimal_symbol/>
1393   - <target_grouping_symbol/>
1394   - <target_currency_symbol/>
1395   - <target_null_string/>
1396   - <target_aggregation_type>-</target_aggregation_type>
1397   - </field>
1398   - <field>
1399   - <field_name>all_content</field_name>
1400   - <key_value>47</key_value>
1401   - <target_name>fcno47</target_name>
1402   - <target_type>String</target_type>
1403   - <target_format/>
1404   - <target_length>-1</target_length>
1405   - <target_precision>-1</target_precision>
1406   - <target_decimal_symbol/>
1407   - <target_grouping_symbol/>
1408   - <target_currency_symbol/>
1409   - <target_null_string/>
1410   - <target_aggregation_type>-</target_aggregation_type>
1411   - </field>
1412   - <field>
1413   - <field_name>all_content</field_name>
1414   - <key_value>48</key_value>
1415   - <target_name>fcno48</target_name>
1416   - <target_type>String</target_type>
1417   - <target_format/>
1418   - <target_length>-1</target_length>
1419   - <target_precision>-1</target_precision>
1420   - <target_decimal_symbol/>
1421   - <target_grouping_symbol/>
1422   - <target_currency_symbol/>
1423   - <target_null_string/>
1424   - <target_aggregation_type>-</target_aggregation_type>
1425   - </field>
1426   - <field>
1427   - <field_name>all_content</field_name>
1428   - <key_value>49</key_value>
1429   - <target_name>fcno49</target_name>
1430   - <target_type>String</target_type>
1431   - <target_format/>
1432   - <target_length>-1</target_length>
1433   - <target_precision>-1</target_precision>
1434   - <target_decimal_symbol/>
1435   - <target_grouping_symbol/>
1436   - <target_currency_symbol/>
1437   - <target_null_string/>
1438   - <target_aggregation_type>-</target_aggregation_type>
1439   - </field>
1440   - <field>
1441   - <field_name>all_content</field_name>
1442   - <key_value>50</key_value>
1443   - <target_name>fcno50</target_name>
1444   - <target_type>String</target_type>
1445   - <target_format/>
1446   - <target_length>-1</target_length>
1447   - <target_precision>-1</target_precision>
1448   - <target_decimal_symbol/>
1449   - <target_grouping_symbol/>
1450   - <target_currency_symbol/>
1451   - <target_null_string/>
1452   - <target_aggregation_type>-</target_aggregation_type>
1453   - </field>
1454   - <field>
1455   - <field_name>all_content</field_name>
1456   - <key_value>51</key_value>
1457   - <target_name>fcno51</target_name>
1458   - <target_type>String</target_type>
1459   - <target_format/>
1460   - <target_length>-1</target_length>
1461   - <target_precision>-1</target_precision>
1462   - <target_decimal_symbol/>
1463   - <target_grouping_symbol/>
1464   - <target_currency_symbol/>
1465   - <target_null_string/>
1466   - <target_aggregation_type>-</target_aggregation_type>
1467   - </field>
1468   - <field>
1469   - <field_name>all_content</field_name>
1470   - <key_value>52</key_value>
1471   - <target_name>fcno52</target_name>
1472   - <target_type>String</target_type>
1473   - <target_format/>
1474   - <target_length>-1</target_length>
1475   - <target_precision>-1</target_precision>
1476   - <target_decimal_symbol/>
1477   - <target_grouping_symbol/>
1478   - <target_currency_symbol/>
1479   - <target_null_string/>
1480   - <target_aggregation_type>-</target_aggregation_type>
1481   - </field>
1482   - <field>
1483   - <field_name>all_content</field_name>
1484   - <key_value>53</key_value>
1485   - <target_name>fcno53</target_name>
1486   - <target_type>String</target_type>
1487   - <target_format/>
1488   - <target_length>-1</target_length>
1489   - <target_precision>-1</target_precision>
1490   - <target_decimal_symbol/>
1491   - <target_grouping_symbol/>
1492   - <target_currency_symbol/>
1493   - <target_null_string/>
1494   - <target_aggregation_type>-</target_aggregation_type>
1495   - </field>
1496   - <field>
1497   - <field_name>all_content</field_name>
1498   - <key_value>54</key_value>
1499   - <target_name>fcno54</target_name>
1500   - <target_type>String</target_type>
1501   - <target_format/>
1502   - <target_length>-1</target_length>
1503   - <target_precision>-1</target_precision>
1504   - <target_decimal_symbol/>
1505   - <target_grouping_symbol/>
1506   - <target_currency_symbol/>
1507   - <target_null_string/>
1508   - <target_aggregation_type>-</target_aggregation_type>
1509   - </field>
1510   - <field>
1511   - <field_name>all_content</field_name>
1512   - <key_value>55</key_value>
1513   - <target_name>fcno55</target_name>
1514   - <target_type>String</target_type>
1515   - <target_format/>
1516   - <target_length>-1</target_length>
1517   - <target_precision>-1</target_precision>
1518   - <target_decimal_symbol/>
1519   - <target_grouping_symbol/>
1520   - <target_currency_symbol/>
1521   - <target_null_string/>
1522   - <target_aggregation_type>-</target_aggregation_type>
1523   - </field>
1524   - <field>
1525   - <field_name>all_content</field_name>
1526   - <key_value>56</key_value>
1527   - <target_name>fcno56</target_name>
1528   - <target_type>String</target_type>
1529   - <target_format/>
1530   - <target_length>-1</target_length>
1531   - <target_precision>-1</target_precision>
1532   - <target_decimal_symbol/>
1533   - <target_grouping_symbol/>
1534   - <target_currency_symbol/>
1535   - <target_null_string/>
1536   - <target_aggregation_type>-</target_aggregation_type>
1537   - </field>
1538   - <field>
1539   - <field_name>all_content</field_name>
1540   - <key_value>57</key_value>
1541   - <target_name>fcno57</target_name>
1542   - <target_type>String</target_type>
1543   - <target_format/>
1544   - <target_length>-1</target_length>
1545   - <target_precision>-1</target_precision>
1546   - <target_decimal_symbol/>
1547   - <target_grouping_symbol/>
1548   - <target_currency_symbol/>
1549   - <target_null_string/>
1550   - <target_aggregation_type>-</target_aggregation_type>
1551   - </field>
1552   - <field>
1553   - <field_name>all_content</field_name>
1554   - <key_value>58</key_value>
1555   - <target_name>fcno58</target_name>
1556   - <target_type>String</target_type>
1557   - <target_format/>
1558   - <target_length>-1</target_length>
1559   - <target_precision>-1</target_precision>
1560   - <target_decimal_symbol/>
1561   - <target_grouping_symbol/>
1562   - <target_currency_symbol/>
1563   - <target_null_string/>
1564   - <target_aggregation_type>-</target_aggregation_type>
1565   - </field>
1566   - <field>
1567   - <field_name>all_content</field_name>
1568   - <key_value>59</key_value>
1569   - <target_name>fcno59</target_name>
1570   - <target_type>String</target_type>
1571   - <target_format/>
1572   - <target_length>-1</target_length>
1573   - <target_precision>-1</target_precision>
1574   - <target_decimal_symbol/>
1575   - <target_grouping_symbol/>
1576   - <target_currency_symbol/>
1577   - <target_null_string/>
1578   - <target_aggregation_type>-</target_aggregation_type>
1579   - </field>
1580   - <field>
1581   - <field_name>all_content</field_name>
1582   - <key_value>60</key_value>
1583   - <target_name>fcno60</target_name>
1584   - <target_type>String</target_type>
1585   - <target_format/>
1586   - <target_length>-1</target_length>
1587   - <target_precision>-1</target_precision>
1588   - <target_decimal_symbol/>
1589   - <target_grouping_symbol/>
1590   - <target_currency_symbol/>
1591   - <target_null_string/>
1592   - <target_aggregation_type>-</target_aggregation_type>
1593   - </field>
1594   - <field>
1595   - <field_name>all_content</field_name>
1596   - <key_value>61</key_value>
1597   - <target_name>fcno61</target_name>
1598   - <target_type>String</target_type>
1599   - <target_format/>
1600   - <target_length>-1</target_length>
1601   - <target_precision>-1</target_precision>
1602   - <target_decimal_symbol/>
1603   - <target_grouping_symbol/>
1604   - <target_currency_symbol/>
1605   - <target_null_string/>
1606   - <target_aggregation_type>-</target_aggregation_type>
1607   - </field>
1608   - <field>
1609   - <field_name>all_content</field_name>
1610   - <key_value>62</key_value>
1611   - <target_name>fcno62</target_name>
1612   - <target_type>String</target_type>
1613   - <target_format/>
1614   - <target_length>-1</target_length>
1615   - <target_precision>-1</target_precision>
1616   - <target_decimal_symbol/>
1617   - <target_grouping_symbol/>
1618   - <target_currency_symbol/>
1619   - <target_null_string/>
1620   - <target_aggregation_type>-</target_aggregation_type>
1621   - </field>
1622   - <field>
1623   - <field_name>all_content</field_name>
1624   - <key_value>63</key_value>
1625   - <target_name>fcno63</target_name>
1626   - <target_type>String</target_type>
1627   - <target_format/>
1628   - <target_length>-1</target_length>
1629   - <target_precision>-1</target_precision>
1630   - <target_decimal_symbol/>
1631   - <target_grouping_symbol/>
1632   - <target_currency_symbol/>
1633   - <target_null_string/>
1634   - <target_aggregation_type>-</target_aggregation_type>
1635   - </field>
1636   - <field>
1637   - <field_name>all_content</field_name>
1638   - <key_value>64</key_value>
1639   - <target_name>fcno64</target_name>
1640   - <target_type>String</target_type>
1641   - <target_format/>
1642   - <target_length>-1</target_length>
1643   - <target_precision>-1</target_precision>
1644   - <target_decimal_symbol/>
1645   - <target_grouping_symbol/>
1646   - <target_currency_symbol/>
1647   - <target_null_string/>
1648   - <target_aggregation_type>-</target_aggregation_type>
1649   - </field>
1650   - <field>
1651   - <field_name>all_content</field_name>
1652   - <key_value>65</key_value>
1653   - <target_name>fcno65</target_name>
1654   - <target_type>String</target_type>
1655   - <target_format/>
1656   - <target_length>-1</target_length>
1657   - <target_precision>-1</target_precision>
1658   - <target_decimal_symbol/>
1659   - <target_grouping_symbol/>
1660   - <target_currency_symbol/>
1661   - <target_null_string/>
1662   - <target_aggregation_type>-</target_aggregation_type>
1663   - </field>
1664   - <field>
1665   - <field_name>all_content</field_name>
1666   - <key_value>66</key_value>
1667   - <target_name>fcno66</target_name>
1668   - <target_type>String</target_type>
1669   - <target_format/>
1670   - <target_length>-1</target_length>
1671   - <target_precision>-1</target_precision>
1672   - <target_decimal_symbol/>
1673   - <target_grouping_symbol/>
1674   - <target_currency_symbol/>
1675   - <target_null_string/>
1676   - <target_aggregation_type>-</target_aggregation_type>
1677   - </field>
1678   - <field>
1679   - <field_name>all_content</field_name>
1680   - <key_value>67</key_value>
1681   - <target_name>fcno67</target_name>
1682   - <target_type>String</target_type>
1683   - <target_format/>
1684   - <target_length>-1</target_length>
1685   - <target_precision>-1</target_precision>
1686   - <target_decimal_symbol/>
1687   - <target_grouping_symbol/>
1688   - <target_currency_symbol/>
1689   - <target_null_string/>
1690   - <target_aggregation_type>-</target_aggregation_type>
1691   - </field>
1692   - <field>
1693   - <field_name>all_content</field_name>
1694   - <key_value>68</key_value>
1695   - <target_name>fcno68</target_name>
1696   - <target_type>String</target_type>
1697   - <target_format/>
1698   - <target_length>-1</target_length>
1699   - <target_precision>-1</target_precision>
1700   - <target_decimal_symbol/>
1701   - <target_grouping_symbol/>
1702   - <target_currency_symbol/>
1703   - <target_null_string/>
1704   - <target_aggregation_type>-</target_aggregation_type>
1705   - </field>
1706   - <field>
1707   - <field_name>all_content</field_name>
1708   - <key_value>69</key_value>
1709   - <target_name>fcno69</target_name>
1710   - <target_type>String</target_type>
1711   - <target_format/>
1712   - <target_length>-1</target_length>
1713   - <target_precision>-1</target_precision>
1714   - <target_decimal_symbol/>
1715   - <target_grouping_symbol/>
1716   - <target_currency_symbol/>
1717   - <target_null_string/>
1718   - <target_aggregation_type>-</target_aggregation_type>
1719   - </field>
1720   - <field>
1721   - <field_name>all_content</field_name>
1722   - <key_value>70</key_value>
1723   - <target_name>fcno70</target_name>
1724   - <target_type>String</target_type>
1725   - <target_format/>
1726   - <target_length>-1</target_length>
1727   - <target_precision>-1</target_precision>
1728   - <target_decimal_symbol/>
1729   - <target_grouping_symbol/>
1730   - <target_currency_symbol/>
1731   - <target_null_string/>
1732   - <target_aggregation_type>-</target_aggregation_type>
1733   - </field>
1734   - </fields>
1735   - <cluster_schema/>
1736   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
1737   - <xloc>690</xloc>
1738   - <yloc>272</yloc>
1739   - <draw>Y</draw>
1740   - </GUI>
1741   - </step>
1742   -
1743   - <step>
1744   - <name>&#x53bb;&#x9664;&#x5b57;&#x6bb5;</name>
1745   - <type>SelectValues</type>
1746   - <description/>
1747   - <distribute>N</distribute>
1748   - <custom_distribution/>
1749   - <copies>1</copies>
1750   - <partitioning>
1751   - <method>none</method>
1752   - <schema_name/>
1753   - </partitioning>
1754   - <fields> <field> <name>lp</name>
1755   - <rename/>
1756   - <length>-2</length>
1757   - <precision>-2</precision>
1758   - </field> <field> <name>fcno1</name>
1759   - <rename/>
1760   - <length>-2</length>
1761   - <precision>-2</precision>
1762   - </field> <field> <name>fcno2</name>
1763   - <rename/>
1764   - <length>-2</length>
1765   - <precision>-2</precision>
1766   - </field> <field> <name>fcno3</name>
1767   - <rename/>
1768   - <length>-2</length>
1769   - <precision>-2</precision>
1770   - </field> <field> <name>fcno4</name>
1771   - <rename/>
1772   - <length>-2</length>
1773   - <precision>-2</precision>
1774   - </field> <field> <name>fcno5</name>
1775   - <rename/>
1776   - <length>-2</length>
1777   - <precision>-2</precision>
1778   - </field> <field> <name>fcno6</name>
1779   - <rename/>
1780   - <length>-2</length>
1781   - <precision>-2</precision>
1782   - </field> <field> <name>fcno7</name>
1783   - <rename/>
1784   - <length>-2</length>
1785   - <precision>-2</precision>
1786   - </field> <field> <name>fcno8</name>
1787   - <rename/>
1788   - <length>-2</length>
1789   - <precision>-2</precision>
1790   - </field> <field> <name>fcno9</name>
1791   - <rename/>
1792   - <length>-2</length>
1793   - <precision>-2</precision>
1794   - </field> <field> <name>fcno10</name>
1795   - <rename/>
1796   - <length>-2</length>
1797   - <precision>-2</precision>
1798   - </field> <field> <name>fcno11</name>
1799   - <rename/>
1800   - <length>-2</length>
1801   - <precision>-2</precision>
1802   - </field> <field> <name>fcno12</name>
1803   - <rename/>
1804   - <length>-2</length>
1805   - <precision>-2</precision>
1806   - </field> <field> <name>fcno13</name>
1807   - <rename/>
1808   - <length>-2</length>
1809   - <precision>-2</precision>
1810   - </field> <field> <name>fcno14</name>
1811   - <rename/>
1812   - <length>-2</length>
1813   - <precision>-2</precision>
1814   - </field> <field> <name>fcno15</name>
1815   - <rename/>
1816   - <length>-2</length>
1817   - <precision>-2</precision>
1818   - </field> <field> <name>fcno16</name>
1819   - <rename/>
1820   - <length>-2</length>
1821   - <precision>-2</precision>
1822   - </field> <field> <name>fcno17</name>
1823   - <rename/>
1824   - <length>-2</length>
1825   - <precision>-2</precision>
1826   - </field> <field> <name>fcno18</name>
1827   - <rename/>
1828   - <length>-2</length>
1829   - <precision>-2</precision>
1830   - </field> <field> <name>fcno19</name>
1831   - <rename/>
1832   - <length>-2</length>
1833   - <precision>-2</precision>
1834   - </field> <field> <name>fcno20</name>
1835   - <rename/>
1836   - <length>-2</length>
1837   - <precision>-2</precision>
1838   - </field> <field> <name>fcno21</name>
1839   - <rename/>
1840   - <length>-2</length>
1841   - <precision>-2</precision>
1842   - </field> <field> <name>fcno22</name>
1843   - <rename/>
1844   - <length>-2</length>
1845   - <precision>-2</precision>
1846   - </field> <field> <name>fcno23</name>
1847   - <rename/>
1848   - <length>-2</length>
1849   - <precision>-2</precision>
1850   - </field> <field> <name>fcno24</name>
1851   - <rename/>
1852   - <length>-2</length>
1853   - <precision>-2</precision>
1854   - </field> <field> <name>fcno25</name>
1855   - <rename/>
1856   - <length>-2</length>
1857   - <precision>-2</precision>
1858   - </field> <field> <name>fcno26</name>
1859   - <rename/>
1860   - <length>-2</length>
1861   - <precision>-2</precision>
1862   - </field> <field> <name>fcno27</name>
1863   - <rename/>
1864   - <length>-2</length>
1865   - <precision>-2</precision>
1866   - </field> <field> <name>fcno28</name>
1867   - <rename/>
1868   - <length>-2</length>
1869   - <precision>-2</precision>
1870   - </field> <field> <name>fcno29</name>
1871   - <rename/>
1872   - <length>-2</length>
1873   - <precision>-2</precision>
1874   - </field> <field> <name>fcno30</name>
1875   - <rename/>
1876   - <length>-2</length>
1877   - <precision>-2</precision>
1878   - </field> <field> <name>fcno31</name>
1879   - <rename/>
1880   - <length>-2</length>
1881   - <precision>-2</precision>
1882   - </field> <field> <name>fcno32</name>
1883   - <rename/>
1884   - <length>-2</length>
1885   - <precision>-2</precision>
1886   - </field> <field> <name>fcno33</name>
1887   - <rename/>
1888   - <length>-2</length>
1889   - <precision>-2</precision>
1890   - </field> <field> <name>fcno34</name>
1891   - <rename/>
1892   - <length>-2</length>
1893   - <precision>-2</precision>
1894   - </field> <field> <name>fcno35</name>
1895   - <rename/>
1896   - <length>-2</length>
1897   - <precision>-2</precision>
1898   - </field> <field> <name>fcno36</name>
1899   - <rename/>
1900   - <length>-2</length>
1901   - <precision>-2</precision>
1902   - </field> <field> <name>fcno37</name>
1903   - <rename/>
1904   - <length>-2</length>
1905   - <precision>-2</precision>
1906   - </field> <field> <name>fcno38</name>
1907   - <rename/>
1908   - <length>-2</length>
1909   - <precision>-2</precision>
1910   - </field> <field> <name>fcno39</name>
1911   - <rename/>
1912   - <length>-2</length>
1913   - <precision>-2</precision>
1914   - </field> <field> <name>fcno40</name>
1915   - <rename/>
1916   - <length>-2</length>
1917   - <precision>-2</precision>
1918   - </field> <field> <name>fcno41</name>
1919   - <rename/>
1920   - <length>-2</length>
1921   - <precision>-2</precision>
1922   - </field> <field> <name>fcno42</name>
1923   - <rename/>
1924   - <length>-2</length>
1925   - <precision>-2</precision>
1926   - </field> <field> <name>fcno43</name>
1927   - <rename/>
1928   - <length>-2</length>
1929   - <precision>-2</precision>
1930   - </field> <field> <name>fcno44</name>
1931   - <rename/>
1932   - <length>-2</length>
1933   - <precision>-2</precision>
1934   - </field> <field> <name>fcno45</name>
1935   - <rename/>
1936   - <length>-2</length>
1937   - <precision>-2</precision>
1938   - </field> <field> <name>fcno46</name>
1939   - <rename/>
1940   - <length>-2</length>
1941   - <precision>-2</precision>
1942   - </field> <field> <name>fcno47</name>
1943   - <rename/>
1944   - <length>-2</length>
1945   - <precision>-2</precision>
1946   - </field> <field> <name>fcno48</name>
1947   - <rename/>
1948   - <length>-2</length>
1949   - <precision>-2</precision>
1950   - </field> <field> <name>fcno49</name>
1951   - <rename/>
1952   - <length>-2</length>
1953   - <precision>-2</precision>
1954   - </field> <field> <name>fcno50</name>
1955   - <rename/>
1956   - <length>-2</length>
1957   - <precision>-2</precision>
1958   - </field> <field> <name>fcno51</name>
1959   - <rename/>
1960   - <length>-2</length>
1961   - <precision>-2</precision>
1962   - </field> <field> <name>fcno52</name>
1963   - <rename/>
1964   - <length>-2</length>
1965   - <precision>-2</precision>
1966   - </field> <field> <name>fcno53</name>
1967   - <rename/>
1968   - <length>-2</length>
1969   - <precision>-2</precision>
1970   - </field> <field> <name>fcno54</name>
1971   - <rename/>
1972   - <length>-2</length>
1973   - <precision>-2</precision>
1974   - </field> <field> <name>fcno55</name>
1975   - <rename/>
1976   - <length>-2</length>
1977   - <precision>-2</precision>
1978   - </field> <field> <name>fcno56</name>
1979   - <rename/>
1980   - <length>-2</length>
1981   - <precision>-2</precision>
1982   - </field> <field> <name>fcno57</name>
1983   - <rename/>
1984   - <length>-2</length>
1985   - <precision>-2</precision>
1986   - </field> <field> <name>fcno58</name>
1987   - <rename/>
1988   - <length>-2</length>
1989   - <precision>-2</precision>
1990   - </field> <field> <name>fcno59</name>
1991   - <rename/>
1992   - <length>-2</length>
1993   - <precision>-2</precision>
1994   - </field> <field> <name>fcno60</name>
1995   - <rename/>
1996   - <length>-2</length>
1997   - <precision>-2</precision>
1998   - </field> <field> <name>fcno61</name>
1999   - <rename/>
2000   - <length>-2</length>
2001   - <precision>-2</precision>
2002   - </field> <field> <name>fcno62</name>
2003   - <rename/>
2004   - <length>-2</length>
2005   - <precision>-2</precision>
2006   - </field> <field> <name>fcno63</name>
2007   - <rename/>
2008   - <length>-2</length>
2009   - <precision>-2</precision>
2010   - </field> <field> <name>fcno64</name>
2011   - <rename/>
2012   - <length>-2</length>
2013   - <precision>-2</precision>
2014   - </field> <field> <name>fcno65</name>
2015   - <rename/>
2016   - <length>-2</length>
2017   - <precision>-2</precision>
2018   - </field> <field> <name>fcno66</name>
2019   - <rename/>
2020   - <length>-2</length>
2021   - <precision>-2</precision>
2022   - </field> <field> <name>fcno67</name>
2023   - <rename/>
2024   - <length>-2</length>
2025   - <precision>-2</precision>
2026   - </field> <field> <name>fcno68</name>
2027   - <rename/>
2028   - <length>-2</length>
2029   - <precision>-2</precision>
2030   - </field> <field> <name>fcno69</name>
2031   - <rename/>
2032   - <length>-2</length>
2033   - <precision>-2</precision>
2034   - </field> <field> <name>fcno70</name>
2035   - <rename/>
2036   - <length>-2</length>
2037   - <precision>-2</precision>
2038   - </field> <select_unspecified>N</select_unspecified>
2039   - </fields> <cluster_schema/>
2040   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2041   - <xloc>691</xloc>
2042   - <yloc>361</yloc>
2043   - <draw>Y</draw>
2044   - </GUI>
2045   - </step>
2046   -
2047   - <step>
2048   - <name>&#x5408;&#x5e76;&#x5185;&#x5bb9;</name>
2049   - <type>ScriptValueMod</type>
2050   - <description/>
2051   - <distribute>Y</distribute>
2052   - <custom_distribution/>
2053   - <copies>1</copies>
2054   - <partitioning>
2055   - <method>none</method>
2056   - <schema_name/>
2057   - </partitioning>
2058   - <compatible>N</compatible>
2059   - <optimizationLevel>9</optimizationLevel>
2060   - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
2061   - <jsScript_name>Script 1</jsScript_name>
2062   - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x987a;&#x5e8f;&#xff0c;id,fcsj,jhlc,zdname,bctype,xldir,isfb&#xa;var all_content_array &#x3d; &#x5b;&#x5d;&#x3b;&#xa;var all_content &#x3d; &#x22;&#x22;&#x3b; &#xa;all_content_array.push&#x28;id&#x29;&#x3b;&#xa;all_content_array.push&#x28;fcsj&#x29;&#x3b;&#xa;all_content_array.push&#x28;jhlc&#x29;&#x3b;&#xa;all_content_array.push&#x28;fczdName&#x29;&#x3b;&#xa;all_content_array.push&#x28;bc_type&#x29;&#x3b;&#xa;all_content_array.push&#x28;xl_dir&#x29;&#x3b;&#xa;all_content_array.push&#x28;isfb&#x29;&#x3b;&#xa;all_content_array.push&#x28;qdz &#x7c;&#x7c; &#x27;null&#x27;&#x29;&#x3b;&#xa;all_content_array.push&#x28;zdz &#x7c;&#x7c; &#x27;null&#x27;&#x29;&#x3b;&#xa;all_content_array.push&#x28;tcc &#x7c;&#x7c; &#x27;null&#x27;&#x29;&#x3b;&#xa;&#xa;all_content &#x3d; all_content_array.join&#x28;&#x22;,&#x22;&#x29;&#x3b; &#x2f;&#x2f; &#x9017;&#x53f7;&#x5206;&#x9694;</jsScript_script>
2063   - </jsScript> </jsScripts> <fields> <field> <name>all_content</name>
2064   - <rename>all_content</rename>
2065   - <type>String</type>
2066   - <length>-1</length>
2067   - <precision>-1</precision>
2068   - <replace>N</replace>
2069   - </field> </fields> <cluster_schema/>
2070   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2071   - <xloc>551</xloc>
2072   - <yloc>366</yloc>
2073   - <draw>Y</draw>
2074   - </GUI>
2075   - </step>
2076   -
2077   - <step>
2078   - <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
2079   - <type>SelectValues</type>
2080   - <description/>
2081   - <distribute>Y</distribute>
2082   - <custom_distribution/>
2083   - <copies>1</copies>
2084   - <partitioning>
2085   - <method>none</method>
2086   - <schema_name/>
2087   - </partitioning>
2088   - <fields> <field> <name>id</name>
2089   - <rename/>
2090   - <length>-2</length>
2091   - <precision>-2</precision>
2092   - </field> <field> <name>lp</name>
2093   - <rename/>
2094   - <length>-2</length>
2095   - <precision>-2</precision>
2096   - </field> <field> <name>fcsj</name>
2097   - <rename/>
2098   - <length>-2</length>
2099   - <precision>-2</precision>
2100   - </field> <field> <name>fcno</name>
2101   - <rename/>
2102   - <length>-2</length>
2103   - <precision>-2</precision>
2104   - </field> <field> <name>bcs</name>
2105   - <rename/>
2106   - <length>-2</length>
2107   - <precision>-2</precision>
2108   - </field> <field> <name>bc_type</name>
2109   - <rename/>
2110   - <length>-2</length>
2111   - <precision>-2</precision>
2112   - </field> <field> <name>qdzName</name>
2113   - <rename/>
2114   - <length>-2</length>
2115   - <precision>-2</precision>
2116   - </field> <field> <name>zdzName</name>
2117   - <rename/>
2118   - <length>-2</length>
2119   - <precision>-2</precision>
2120   - </field> <field> <name>xl_dir</name>
2121   - <rename/>
2122   - <length>-2</length>
2123   - <precision>-2</precision>
2124   - </field> <field> <name>isfb</name>
2125   - <rename/>
2126   - <length>-2</length>
2127   - <precision>-2</precision>
2128   - </field> <field> <name>jhlc</name>
2129   - <rename/>
2130   - <length>-2</length>
2131   - <precision>-2</precision>
2132   - </field> <field> <name>qdz</name>
2133   - <rename/>
2134   - <length>-2</length>
2135   - <precision>-2</precision>
2136   - </field> <field> <name>zdz</name>
2137   - <rename/>
2138   - <length>-2</length>
2139   - <precision>-2</precision>
2140   - </field> <field> <name>tcc</name>
2141   - <rename/>
2142   - <length>-2</length>
2143   - <precision>-2</precision>
2144   - </field> <select_unspecified>N</select_unspecified>
2145   - </fields> <cluster_schema/>
2146   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2147   - <xloc>690</xloc>
2148   - <yloc>188</yloc>
2149   - <draw>Y</draw>
2150   - </GUI>
2151   - </step>
2152   -
2153   - <step>
2154   - <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9; 2</name>
2155   - <type>SelectValues</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   - <fields> <field> <name>id</name>
2165   - <rename/>
2166   - <length>-2</length>
2167   - <precision>-2</precision>
2168   - </field> <field> <name>lp</name>
2169   - <rename/>
2170   - <length>-2</length>
2171   - <precision>-2</precision>
2172   - </field> <field> <name>fcsj</name>
2173   - <rename/>
2174   - <length>-2</length>
2175   - <precision>-2</precision>
2176   - </field> <field> <name>fcno</name>
2177   - <rename/>
2178   - <length>-2</length>
2179   - <precision>-2</precision>
2180   - </field> <field> <name>bcs</name>
2181   - <rename/>
2182   - <length>-2</length>
2183   - <precision>-2</precision>
2184   - </field> <field> <name>bc_type</name>
2185   - <rename/>
2186   - <length>-2</length>
2187   - <precision>-2</precision>
2188   - </field> <field> <name>qdzName</name>
2189   - <rename/>
2190   - <length>-2</length>
2191   - <precision>-2</precision>
2192   - </field> <field> <name>zdzName</name>
2193   - <rename/>
2194   - <length>-2</length>
2195   - <precision>-2</precision>
2196   - </field> <field> <name>xl_dir</name>
2197   - <rename/>
2198   - <length>-2</length>
2199   - <precision>-2</precision>
2200   - </field> <field> <name>isfb</name>
2201   - <rename/>
2202   - <length>-2</length>
2203   - <precision>-2</precision>
2204   - </field> <field> <name>jhlc</name>
2205   - <rename/>
2206   - <length>-2</length>
2207   - <precision>-2</precision>
2208   - </field> <field> <name>qdz</name>
2209   - <rename/>
2210   - <length>-2</length>
2211   - <precision>-2</precision>
2212   - </field> <field> <name>zdz</name>
2213   - <rename/>
2214   - <length>-2</length>
2215   - <precision>-2</precision>
2216   - </field> <field> <name>tcc</name>
2217   - <rename/>
2218   - <length>-2</length>
2219   - <precision>-2</precision>
2220   - </field> <select_unspecified>N</select_unspecified>
2221   - </fields> <cluster_schema/>
2222   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2223   - <xloc>402</xloc>
2224   - <yloc>189</yloc>
2225   - <draw>Y</draw>
2226   - </GUI>
2227   - </step>
2228   -
2229   - <step>
2230   - <name>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</name>
2231   - <type>SortRows</type>
2232   - <description/>
2233   - <distribute>Y</distribute>
2234   - <custom_distribution/>
2235   - <copies>1</copies>
2236   - <partitioning>
2237   - <method>none</method>
2238   - <schema_name/>
2239   - </partitioning>
2240   - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
2241   - <prefix>out</prefix>
2242   - <sort_size>1000000</sort_size>
2243   - <free_memory/>
2244   - <compress>N</compress>
2245   - <compress_variable/>
2246   - <unique_rows>N</unique_rows>
2247   - <fields>
2248   - <field>
2249   - <name>bcs</name>
2250   - <ascending>Y</ascending>
2251   - <case_sensitive>N</case_sensitive>
2252   - <presorted>N</presorted>
2253   - </field>
2254   - </fields>
2255   - <cluster_schema/>
2256   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
2257   - <xloc>549</xloc>
2258   - <yloc>191</yloc>
2259   - <draw>Y</draw>
2260   - </GUI>
2261   - </step>
2262   -
2263   - <step>
2264   - <name>&#x6587;&#x672c;&#x6587;&#x4ef6;&#x8f93;&#x51fa;</name>
2265   - <type>TextFileOutput</type>
2266   - <description/>
2267   - <distribute>Y</distribute>
2268   - <custom_distribution/>
2269   - <copies>1</copies>
2270   - <partitioning>
2271   - <method>none</method>
2272   - <schema_name/>
2273   - </partitioning>
2274   - <separator>&#x3b;</separator>
2275   - <enclosure>&#x22;</enclosure>
2276   - <enclosure_forced>N</enclosure_forced>
2277   - <enclosure_fix_disabled>N</enclosure_fix_disabled>
2278   - <header>Y</header>
2279   - <footer>N</footer>
2280   - <format>DOS</format>
2281   - <compression>None</compression>
2282   - <encoding>UTF-8</encoding>
2283   - <endedLine/>
2284   - <fileNameInField>N</fileNameInField>
2285   - <fileNameField/>
2286   - <create_parent_folder>Y</create_parent_folder>
2287   - <file>
2288   - <name>&#x24;&#x7b;tempfilepath&#x7d;</name>
2289   - <is_command>N</is_command>
2290   - <servlet_output>N</servlet_output>
2291   - <do_not_open_new_file_init>N</do_not_open_new_file_init>
2292   - <extention>txt</extention>
2293   - <append>N</append>
2294   - <split>N</split>
2295   - <haspartno>N</haspartno>
2296   - <add_date>N</add_date>
2297   - <add_time>N</add_time>
2298   - <SpecifyFormat>N</SpecifyFormat>
2299   - <date_time_format/>
2300   - <add_to_result_filenames>Y</add_to_result_filenames>
2301   - <pad>N</pad>
2302   - <fast_dump>N</fast_dump>
2303   - <splitevery>0</splitevery>
2304   - </file>
2305   - <fields>
2306   - <field>
2307   - <name>lp</name>
2308   - <type>String</type>
2309   - <format/>
2310   - <currency/>
2311   - <decimal/>
2312   - <group/>
2313   - <nullif/>
2314   - <trim_type>none</trim_type>
2315   - <length>255</length>
2316   - <precision>-1</precision>
2317   - </field>
2318   - <field>
2319   - <name>fcno1</name>
2320   - <type>String</type>
2321   - <format/>
2322   - <currency/>
2323   - <decimal/>
2324   - <group/>
2325   - <nullif/>
2326   - <trim_type>none</trim_type>
2327   - <length>-1</length>
2328   - <precision>-1</precision>
2329   - </field>
2330   - <field>
2331   - <name>fcno2</name>
2332   - <type>String</type>
2333   - <format/>
2334   - <currency/>
2335   - <decimal/>
2336   - <group/>
2337   - <nullif/>
2338   - <trim_type>none</trim_type>
2339   - <length>-1</length>
2340   - <precision>-1</precision>
2341   - </field>
2342   - <field>
2343   - <name>fcno3</name>
2344   - <type>String</type>
2345   - <format/>
2346   - <currency/>
2347   - <decimal/>
2348   - <group/>
2349   - <nullif/>
2350   - <trim_type>none</trim_type>
2351   - <length>-1</length>
2352   - <precision>-1</precision>
2353   - </field>
2354   - <field>
2355   - <name>fcno4</name>
2356   - <type>String</type>
2357   - <format/>
2358   - <currency/>
2359   - <decimal/>
2360   - <group/>
2361   - <nullif/>
2362   - <trim_type>none</trim_type>
2363   - <length>-1</length>
2364   - <precision>-1</precision>
2365   - </field>
2366   - <field>
2367   - <name>fcno5</name>
2368   - <type>String</type>
2369   - <format/>
2370   - <currency/>
2371   - <decimal/>
2372   - <group/>
2373   - <nullif/>
2374   - <trim_type>none</trim_type>
2375   - <length>-1</length>
2376   - <precision>-1</precision>
2377   - </field>
2378   - <field>
2379   - <name>fcno6</name>
2380   - <type>String</type>
2381   - <format/>
2382   - <currency/>
2383   - <decimal/>
2384   - <group/>
2385   - <nullif/>
2386   - <trim_type>none</trim_type>
2387   - <length>-1</length>
2388   - <precision>-1</precision>
2389   - </field>
2390   - <field>
2391   - <name>fcno7</name>
2392   - <type>String</type>
2393   - <format/>
2394   - <currency/>
2395   - <decimal/>
2396   - <group/>
2397   - <nullif/>
2398   - <trim_type>none</trim_type>
2399   - <length>-1</length>
2400   - <precision>-1</precision>
2401   - </field>
2402   - <field>
2403   - <name>fcno8</name>
2404   - <type>String</type>
2405   - <format/>
2406   - <currency/>
2407   - <decimal/>
2408   - <group/>
2409   - <nullif/>
2410   - <trim_type>none</trim_type>
2411   - <length>-1</length>
2412   - <precision>-1</precision>
2413   - </field>
2414   - <field>
2415   - <name>fcno9</name>
2416   - <type>String</type>
2417   - <format/>
2418   - <currency/>
2419   - <decimal/>
2420   - <group/>
2421   - <nullif/>
2422   - <trim_type>none</trim_type>
2423   - <length>-1</length>
2424   - <precision>-1</precision>
2425   - </field>
2426   - <field>
2427   - <name>fcno10</name>
2428   - <type>String</type>
2429   - <format/>
2430   - <currency/>
2431   - <decimal/>
2432   - <group/>
2433   - <nullif/>
2434   - <trim_type>none</trim_type>
2435   - <length>-1</length>
2436   - <precision>-1</precision>
2437   - </field>
2438   - <field>
2439   - <name>fcno11</name>
2440   - <type>String</type>
2441   - <format/>
2442   - <currency/>
2443   - <decimal/>
2444   - <group/>
2445   - <nullif/>
2446   - <trim_type>none</trim_type>
2447   - <length>-1</length>
2448   - <precision>-1</precision>
2449   - </field>
2450   - <field>
2451   - <name>fcno12</name>
2452   - <type>String</type>
2453   - <format/>
2454   - <currency/>
2455   - <decimal/>
2456   - <group/>
2457   - <nullif/>
2458   - <trim_type>none</trim_type>
2459   - <length>-1</length>
2460   - <precision>-1</precision>
2461   - </field>
2462   - <field>
2463   - <name>fcno13</name>
2464   - <type>String</type>
2465   - <format/>
2466   - <currency/>
2467   - <decimal/>
2468   - <group/>
2469   - <nullif/>
2470   - <trim_type>none</trim_type>
2471   - <length>-1</length>
2472   - <precision>-1</precision>
2473   - </field>
2474   - <field>
2475   - <name>fcno14</name>
2476   - <type>String</type>
2477   - <format/>
2478   - <currency/>
2479   - <decimal/>
2480   - <group/>
2481   - <nullif/>
2482   - <trim_type>none</trim_type>
2483   - <length>-1</length>
2484   - <precision>-1</precision>
2485   - </field>
2486   - <field>
2487   - <name>fcno15</name>
2488   - <type>String</type>
2489   - <format/>
2490   - <currency/>
2491   - <decimal/>
2492   - <group/>
2493   - <nullif/>
2494   - <trim_type>none</trim_type>
2495   - <length>-1</length>
2496   - <precision>-1</precision>
2497   - </field>
2498   - <field>
2499   - <name>fcno16</name>
2500   - <type>String</type>
2501   - <format/>
2502   - <currency/>
2503   - <decimal/>
2504   - <group/>
2505   - <nullif/>
2506   - <trim_type>none</trim_type>
2507   - <length>-1</length>
2508   - <precision>-1</precision>
2509   - </field>
2510   - <field>
2511   - <name>fcno17</name>
2512   - <type>String</type>
2513   - <format/>
2514   - <currency/>
2515   - <decimal/>
2516   - <group/>
2517   - <nullif/>
2518   - <trim_type>none</trim_type>
2519   - <length>-1</length>
2520   - <precision>-1</precision>
2521   - </field>
2522   - <field>
2523   - <name>fcno18</name>
2524   - <type>String</type>
2525   - <format/>
2526   - <currency/>
2527   - <decimal/>
2528   - <group/>
2529   - <nullif/>
2530   - <trim_type>none</trim_type>
2531   - <length>-1</length>
2532   - <precision>-1</precision>
2533   - </field>
2534   - <field>
2535   - <name>fcno19</name>
2536   - <type>String</type>
2537   - <format/>
2538   - <currency/>
2539   - <decimal/>
2540   - <group/>
2541   - <nullif/>
2542   - <trim_type>none</trim_type>
2543   - <length>-1</length>
2544   - <precision>-1</precision>
2545   - </field>
2546   - <field>
2547   - <name>fcno20</name>
2548   - <type>String</type>
2549   - <format/>
2550   - <currency/>
2551   - <decimal/>
2552   - <group/>
2553   - <nullif/>
2554   - <trim_type>none</trim_type>
2555   - <length>-1</length>
2556   - <precision>-1</precision>
2557   - </field>
2558   - <field>
2559   - <name>fcno21</name>
2560   - <type>String</type>
2561   - <format/>
2562   - <currency/>
2563   - <decimal/>
2564   - <group/>
2565   - <nullif/>
2566   - <trim_type>none</trim_type>
2567   - <length>-1</length>
2568   - <precision>-1</precision>
2569   - </field>
2570   - <field>
2571   - <name>fcno22</name>
2572   - <type>String</type>
2573   - <format/>
2574   - <currency/>
2575   - <decimal/>
2576   - <group/>
2577   - <nullif/>
2578   - <trim_type>none</trim_type>
2579   - <length>-1</length>
2580   - <precision>-1</precision>
2581   - </field>
2582   - <field>
2583   - <name>fcno23</name>
2584   - <type>String</type>
2585   - <format/>
2586   - <currency/>
2587   - <decimal/>
2588   - <group/>
2589   - <nullif/>
2590   - <trim_type>none</trim_type>
2591   - <length>-1</length>
2592   - <precision>-1</precision>
2593   - </field>
2594   - <field>
2595   - <name>fcno24</name>
2596   - <type>String</type>
2597   - <format/>
2598   - <currency/>
2599   - <decimal/>
2600   - <group/>
2601   - <nullif/>
2602   - <trim_type>none</trim_type>
2603   - <length>-1</length>
2604   - <precision>-1</precision>
2605   - </field>
2606   - <field>
2607   - <name>fcno25</name>
2608   - <type>String</type>
2609   - <format/>
2610   - <currency/>
2611   - <decimal/>
2612   - <group/>
2613   - <nullif/>
2614   - <trim_type>none</trim_type>
2615   - <length>-1</length>
2616   - <precision>-1</precision>
2617   - </field>
2618   - <field>
2619   - <name>fcno26</name>
2620   - <type>String</type>
2621   - <format/>
2622   - <currency/>
2623   - <decimal/>
2624   - <group/>
2625   - <nullif/>
2626   - <trim_type>none</trim_type>
2627   - <length>-1</length>
2628   - <precision>-1</precision>
2629   - </field>
2630   - <field>
2631   - <name>fcno27</name>
2632   - <type>String</type>
2633   - <format/>
2634   - <currency/>
2635   - <decimal/>
2636   - <group/>
2637   - <nullif/>
2638   - <trim_type>none</trim_type>
2639   - <length>-1</length>
2640   - <precision>-1</precision>
2641   - </field>
2642   - <field>
2643   - <name>fcno28</name>
2644   - <type>String</type>
2645   - <format/>
2646   - <currency/>
2647   - <decimal/>
2648   - <group/>
2649   - <nullif/>
2650   - <trim_type>none</trim_type>
2651   - <length>-1</length>
2652   - <precision>-1</precision>
2653   - </field>
2654   - <field>
2655   - <name>fcno29</name>
2656   - <type>String</type>
2657   - <format/>
2658   - <currency/>
2659   - <decimal/>
2660   - <group/>
2661   - <nullif/>
2662   - <trim_type>none</trim_type>
2663   - <length>-1</length>
2664   - <precision>-1</precision>
2665   - </field>
2666   - <field>
2667   - <name>fcno30</name>
2668   - <type>String</type>
2669   - <format/>
2670   - <currency/>
2671   - <decimal/>
2672   - <group/>
2673   - <nullif/>
2674   - <trim_type>none</trim_type>
2675   - <length>-1</length>
2676   - <precision>-1</precision>
2677   - </field>
2678   - <field>
2679   - <name>fcno31</name>
2680   - <type>String</type>
2681   - <format/>
2682   - <currency/>
2683   - <decimal/>
2684   - <group/>
2685   - <nullif/>
2686   - <trim_type>none</trim_type>
2687   - <length>-1</length>
2688   - <precision>-1</precision>
2689   - </field>
2690   - <field>
2691   - <name>fcno32</name>
2692   - <type>String</type>
2693   - <format/>
2694   - <currency/>
2695   - <decimal/>
2696   - <group/>
2697   - <nullif/>
2698   - <trim_type>none</trim_type>
2699   - <length>-1</length>
2700   - <precision>-1</precision>
2701   - </field>
2702   - <field>
2703   - <name>fcno33</name>
2704   - <type>String</type>
2705   - <format/>
2706   - <currency/>
2707   - <decimal/>
2708   - <group/>
2709   - <nullif/>
2710   - <trim_type>none</trim_type>
2711   - <length>-1</length>
2712   - <precision>-1</precision>
2713   - </field>
2714   - <field>
2715   - <name>fcno34</name>
2716   - <type>String</type>
2717   - <format/>
2718   - <currency/>
2719   - <decimal/>
2720   - <group/>
2721   - <nullif/>
2722   - <trim_type>none</trim_type>
2723   - <length>-1</length>
2724   - <precision>-1</precision>
2725   - </field>
2726   - <field>
2727   - <name>fcno35</name>
2728   - <type>String</type>
2729   - <format/>
2730   - <currency/>
2731   - <decimal/>
2732   - <group/>
2733   - <nullif/>
2734   - <trim_type>none</trim_type>
2735   - <length>-1</length>
2736   - <precision>-1</precision>
2737   - </field>
2738   - <field>
2739   - <name>fcno36</name>
2740   - <type>String</type>
2741   - <format/>
2742   - <currency/>
2743   - <decimal/>
2744   - <group/>
2745   - <nullif/>
2746   - <trim_type>none</trim_type>
2747   - <length>-1</length>
2748   - <precision>-1</precision>
2749   - </field>
2750   - <field>
2751   - <name>fcno37</name>
2752   - <type>String</type>
2753   - <format/>
2754   - <currency/>
2755   - <decimal/>
2756   - <group/>
2757   - <nullif/>
2758   - <trim_type>none</trim_type>
2759   - <length>-1</length>
2760   - <precision>-1</precision>
2761   - </field>
2762   - <field>
2763   - <name>fcno38</name>
2764   - <type>String</type>
2765   - <format/>
2766   - <currency/>
2767   - <decimal/>
2768   - <group/>
2769   - <nullif/>
2770   - <trim_type>none</trim_type>
2771   - <length>-1</length>
2772   - <precision>-1</precision>
2773   - </field>
2774   - <field>
2775   - <name>fcno39</name>
2776   - <type>String</type>
2777   - <format/>
2778   - <currency/>
2779   - <decimal/>
2780   - <group/>
2781   - <nullif/>
2782   - <trim_type>none</trim_type>
2783   - <length>-1</length>
2784   - <precision>-1</precision>
2785   - </field>
2786   - <field>
2787   - <name>fcno40</name>
2788   - <type>String</type>
2789   - <format/>
2790   - <currency/>
2791   - <decimal/>
2792   - <group/>
2793   - <nullif/>
2794   - <trim_type>none</trim_type>
2795   - <length>-1</length>
2796   - <precision>-1</precision>
2797   - </field>
2798   - <field>
2799   - <name>fcno41</name>
2800   - <type>String</type>
2801   - <format/>
2802   - <currency/>
2803   - <decimal/>
2804   - <group/>
2805   - <nullif/>
2806   - <trim_type>none</trim_type>
2807   - <length>-1</length>
2808   - <precision>-1</precision>
2809   - </field>
2810   - <field>
2811   - <name>fcno42</name>
2812   - <type>String</type>
2813   - <format/>
2814   - <currency/>
2815   - <decimal/>
2816   - <group/>
2817   - <nullif/>
2818   - <trim_type>none</trim_type>
2819   - <length>-1</length>
2820   - <precision>-1</precision>
2821   - </field>
2822   - <field>
2823   - <name>fcno43</name>
2824   - <type>String</type>
2825   - <format/>
2826   - <currency/>
2827   - <decimal/>
2828   - <group/>
2829   - <nullif/>
2830   - <trim_type>none</trim_type>
2831   - <length>-1</length>
2832   - <precision>-1</precision>
2833   - </field>
2834   - <field>
2835   - <name>fcno44</name>
2836   - <type>String</type>
2837   - <format/>
2838   - <currency/>
2839   - <decimal/>
2840   - <group/>
2841   - <nullif/>
2842   - <trim_type>none</trim_type>
2843   - <length>-1</length>
2844   - <precision>-1</precision>
2845   - </field>
2846   - <field>
2847   - <name>fcno45</name>
2848   - <type>String</type>
2849   - <format/>
2850   - <currency/>
2851   - <decimal/>
2852   - <group/>
2853   - <nullif/>
2854   - <trim_type>none</trim_type>
2855   - <length>-1</length>
2856   - <precision>-1</precision>
2857   - </field>
2858   - <field>
2859   - <name>fcno46</name>
2860   - <type>String</type>
2861   - <format/>
2862   - <currency/>
2863   - <decimal/>
2864   - <group/>
2865   - <nullif/>
2866   - <trim_type>none</trim_type>
2867   - <length>-1</length>
2868   - <precision>-1</precision>
2869   - </field>
2870   - <field>
2871   - <name>fcno47</name>
2872   - <type>String</type>
2873   - <format/>
2874   - <currency/>
2875   - <decimal/>
2876   - <group/>
2877   - <nullif/>
2878   - <trim_type>none</trim_type>
2879   - <length>-1</length>
2880   - <precision>-1</precision>
2881   - </field>
2882   - <field>
2883   - <name>fcno48</name>
2884   - <type>String</type>
2885   - <format/>
2886   - <currency/>
2887   - <decimal/>
2888   - <group/>
2889   - <nullif/>
2890   - <trim_type>none</trim_type>
2891   - <length>-1</length>
2892   - <precision>-1</precision>
2893   - </field>
2894   - <field>
2895   - <name>fcno49</name>
2896   - <type>String</type>
2897   - <format/>
2898   - <currency/>
2899   - <decimal/>
2900   - <group/>
2901   - <nullif/>
2902   - <trim_type>none</trim_type>
2903   - <length>-1</length>
2904   - <precision>-1</precision>
2905   - </field>
2906   - <field>
2907   - <name>fcno50</name>
2908   - <type>String</type>
2909   - <format/>
2910   - <currency/>
2911   - <decimal/>
2912   - <group/>
2913   - <nullif/>
2914   - <trim_type>none</trim_type>
2915   - <length>-1</length>
2916   - <precision>-1</precision>
2917   - </field>
2918   - <field>
2919   - <name>fcno51</name>
2920   - <type>String</type>
2921   - <format/>
2922   - <currency/>
2923   - <decimal/>
2924   - <group/>
2925   - <nullif/>
2926   - <trim_type>none</trim_type>
2927   - <length>-1</length>
2928   - <precision>-1</precision>
2929   - </field>
2930   - <field>
2931   - <name>fcno52</name>
2932   - <type>String</type>
2933   - <format/>
2934   - <currency/>
2935   - <decimal/>
2936   - <group/>
2937   - <nullif/>
2938   - <trim_type>none</trim_type>
2939   - <length>-1</length>
2940   - <precision>-1</precision>
2941   - </field>
2942   - <field>
2943   - <name>fcno53</name>
2944   - <type>String</type>
2945   - <format/>
2946   - <currency/>
2947   - <decimal/>
2948   - <group/>
2949   - <nullif/>
2950   - <trim_type>none</trim_type>
2951   - <length>-1</length>
2952   - <precision>-1</precision>
2953   - </field>
2954   - <field>
2955   - <name>fcno54</name>
2956   - <type>String</type>
2957   - <format/>
2958   - <currency/>
2959   - <decimal/>
2960   - <group/>
2961   - <nullif/>
2962   - <trim_type>none</trim_type>
2963   - <length>-1</length>
2964   - <precision>-1</precision>
2965   - </field>
2966   - <field>
2967   - <name>fcno55</name>
2968   - <type>String</type>
2969   - <format/>
2970   - <currency/>
2971   - <decimal/>
2972   - <group/>
2973   - <nullif/>
2974   - <trim_type>none</trim_type>
2975   - <length>-1</length>
2976   - <precision>-1</precision>
2977   - </field>
2978   - <field>
2979   - <name>fcno56</name>
2980   - <type>String</type>
2981   - <format/>
2982   - <currency/>
2983   - <decimal/>
2984   - <group/>
2985   - <nullif/>
2986   - <trim_type>none</trim_type>
2987   - <length>-1</length>
2988   - <precision>-1</precision>
2989   - </field>
2990   - <field>
2991   - <name>fcno57</name>
2992   - <type>String</type>
2993   - <format/>
2994   - <currency/>
2995   - <decimal/>
2996   - <group/>
2997   - <nullif/>
2998   - <trim_type>none</trim_type>
2999   - <length>-1</length>
3000   - <precision>-1</precision>
3001   - </field>
3002   - <field>
3003   - <name>fcno58</name>
3004   - <type>String</type>
3005   - <format/>
3006   - <currency/>
3007   - <decimal/>
3008   - <group/>
3009   - <nullif/>
3010   - <trim_type>none</trim_type>
3011   - <length>-1</length>
3012   - <precision>-1</precision>
3013   - </field>
3014   - <field>
3015   - <name>fcno59</name>
3016   - <type>String</type>
3017   - <format/>
3018   - <currency/>
3019   - <decimal/>
3020   - <group/>
3021   - <nullif/>
3022   - <trim_type>none</trim_type>
3023   - <length>-1</length>
3024   - <precision>-1</precision>
3025   - </field>
3026   - <field>
3027   - <name>fcno60</name>
3028   - <type>String</type>
3029   - <format/>
3030   - <currency/>
3031   - <decimal/>
3032   - <group/>
3033   - <nullif/>
3034   - <trim_type>none</trim_type>
3035   - <length>-1</length>
3036   - <precision>-1</precision>
3037   - </field>
3038   - <field>
3039   - <name>fcno61</name>
3040   - <type>String</type>
3041   - <format/>
3042   - <currency/>
3043   - <decimal/>
3044   - <group/>
3045   - <nullif/>
3046   - <trim_type>none</trim_type>
3047   - <length>-1</length>
3048   - <precision>-1</precision>
3049   - </field>
3050   - <field>
3051   - <name>fcno62</name>
3052   - <type>String</type>
3053   - <format/>
3054   - <currency/>
3055   - <decimal/>
3056   - <group/>
3057   - <nullif/>
3058   - <trim_type>none</trim_type>
3059   - <length>-1</length>
3060   - <precision>-1</precision>
3061   - </field>
3062   - <field>
3063   - <name>fcno63</name>
3064   - <type>String</type>
3065   - <format/>
3066   - <currency/>
3067   - <decimal/>
3068   - <group/>
3069   - <nullif/>
3070   - <trim_type>none</trim_type>
3071   - <length>-1</length>
3072   - <precision>-1</precision>
3073   - </field>
3074   - <field>
3075   - <name>fcno64</name>
3076   - <type>String</type>
3077   - <format/>
3078   - <currency/>
3079   - <decimal/>
3080   - <group/>
3081   - <nullif/>
3082   - <trim_type>none</trim_type>
3083   - <length>-1</length>
3084   - <precision>-1</precision>
3085   - </field>
3086   - <field>
3087   - <name>fcno65</name>
3088   - <type>String</type>
3089   - <format/>
3090   - <currency/>
3091   - <decimal/>
3092   - <group/>
3093   - <nullif/>
3094   - <trim_type>none</trim_type>
3095   - <length>-1</length>
3096   - <precision>-1</precision>
3097   - </field>
3098   - <field>
3099   - <name>fcno66</name>
3100   - <type>String</type>
3101   - <format/>
3102   - <currency/>
3103   - <decimal/>
3104   - <group/>
3105   - <nullif/>
3106   - <trim_type>none</trim_type>
3107   - <length>-1</length>
3108   - <precision>-1</precision>
3109   - </field>
3110   - <field>
3111   - <name>fcno67</name>
3112   - <type>String</type>
3113   - <format/>
3114   - <currency/>
3115   - <decimal/>
3116   - <group/>
3117   - <nullif/>
3118   - <trim_type>none</trim_type>
3119   - <length>-1</length>
3120   - <precision>-1</precision>
3121   - </field>
3122   - <field>
3123   - <name>fcno68</name>
3124   - <type>String</type>
3125   - <format/>
3126   - <currency/>
3127   - <decimal/>
3128   - <group/>
3129   - <nullif/>
3130   - <trim_type>none</trim_type>
3131   - <length>-1</length>
3132   - <precision>-1</precision>
3133   - </field>
3134   - <field>
3135   - <name>fcno69</name>
3136   - <type>String</type>
3137   - <format/>
3138   - <currency/>
3139   - <decimal/>
3140   - <group/>
3141   - <nullif/>
3142   - <trim_type>none</trim_type>
3143   - <length>-1</length>
3144   - <precision>-1</precision>
3145   - </field>
3146   - <field>
3147   - <name>fcno70</name>
3148   - <type>String</type>
3149   - <format/>
3150   - <currency/>
3151   - <decimal/>
3152   - <group/>
3153   - <nullif/>
3154   - <trim_type>none</trim_type>
3155   - <length>-1</length>
3156   - <precision>-1</precision>
3157   - </field>
3158   - </fields>
3159   - <cluster_schema/>
3160   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
3161   - <xloc>880</xloc>
3162   - <yloc>365</yloc>
3163   - <draw>Y</draw>
3164   - </GUI>
3165   - </step>
3166   -
3167   - <step>
3168   - <name>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x79f0;</name>
3169   - <type>DBLookup</type>
3170   - <description/>
3171   - <distribute>Y</distribute>
3172   - <custom_distribution/>
3173   - <copies>1</copies>
3174   - <partitioning>
3175   - <method>none</method>
3176   - <schema_name/>
3177   - </partitioning>
3178   - <connection>bus_control_variable</connection>
3179   - <cache>Y</cache>
3180   - <cache_load_all>Y</cache_load_all>
3181   - <cache_size>0</cache_size>
3182   - <lookup>
3183   - <schema/>
3184   - <table>bsth_c_stationroute</table>
3185   - <orderby/>
3186   - <fail_on_multiple>N</fail_on_multiple>
3187   - <eat_row_on_failure>N</eat_row_on_failure>
3188   - <key>
3189   - <name>xl</name>
3190   - <field>line</field>
3191   - <condition>&#x3d;</condition>
3192   - <name2/>
3193   - </key>
3194   - <key>
3195   - <name>xl_dir</name>
3196   - <field>directions</field>
3197   - <condition>&#x3d;</condition>
3198   - <name2/>
3199   - </key>
3200   - <key>
3201   - <name>endZdType</name>
3202   - <field>station_mark</field>
3203   - <condition>&#x3d;</condition>
3204   - <name2/>
3205   - </key>
3206   - <value>
3207   - <name>station_name</name>
3208   - <rename>zdzName</rename>
3209   - <default/>
3210   - <type>String</type>
3211   - </value>
3212   - </lookup>
3213   - <cluster_schema/>
3214   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
3215   - <xloc>688</xloc>
3216   - <yloc>86</yloc>
3217   - <draw>Y</draw>
3218   - </GUI>
3219   - </step>
3220   -
3221   - <step>
3222   - <name>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x79f0;</name>
3223   - <type>DBLookup</type>
3224   - <description/>
3225   - <distribute>Y</distribute>
3226   - <custom_distribution/>
3227   - <copies>1</copies>
3228   - <partitioning>
3229   - <method>none</method>
3230   - <schema_name/>
3231   - </partitioning>
3232   - <connection>bus_control_variable</connection>
3233   - <cache>Y</cache>
3234   - <cache_load_all>Y</cache_load_all>
3235   - <cache_size>0</cache_size>
3236   - <lookup>
3237   - <schema/>
3238   - <table>bsth_c_stationroute</table>
3239   - <orderby/>
3240   - <fail_on_multiple>N</fail_on_multiple>
3241   - <eat_row_on_failure>N</eat_row_on_failure>
3242   - <key>
3243   - <name>xl</name>
3244   - <field>line</field>
3245   - <condition>&#x3d;</condition>
3246   - <name2/>
3247   - </key>
3248   - <key>
3249   - <name>xl_dir</name>
3250   - <field>directions</field>
3251   - <condition>&#x3d;</condition>
3252   - <name2/>
3253   - </key>
3254   - <key>
3255   - <name>startZdType</name>
3256   - <field>station_mark</field>
3257   - <condition>&#x3d;</condition>
3258   - <name2/>
3259   - </key>
3260   - <value>
3261   - <name>station_name</name>
3262   - <rename>qdzName</rename>
3263   - <default/>
3264   - <type>String</type>
3265   - </value>
3266   - </lookup>
3267   - <cluster_schema/>
3268   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
3269   - <xloc>553</xloc>
3270   - <yloc>86</yloc>
3271   - <draw>Y</draw>
3272   - </GUI>
3273   - </step>
3274   -
3275   - <step>
3276   - <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x7ad9;&#x70b9;&#x67e5;&#x8be2;&#x7528;&#x6570;&#x636e;</name>
3277   - <type>ScriptValueMod</type>
3278   - <description/>
3279   - <distribute>Y</distribute>
3280   - <custom_distribution/>
3281   - <copies>1</copies>
3282   - <partitioning>
3283   - <method>none</method>
3284   - <schema_name/>
3285   - </partitioning>
3286   - <compatible>N</compatible>
3287   - <optimizationLevel>9</optimizationLevel>
3288   - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
3289   - <jsScript_name>Script 1</jsScript_name>
3290   - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var startZdType &#x3d; &#x27;B&#x27;&#x3b; &#x2f;&#x2f; &#x8d77;&#x70b9;&#x7ad9;&#x7ad9;&#x70b9;&#x7c7b;&#x578b;&#x6807;&#x8bc6;&#x522b;&#xa;var endZdType &#x3d; &#x27;E&#x27;&#x3b; &#x2f;&#x2f; &#x7ec8;&#x70b9;&#x7ad9;&#x7ad9;&#x70b9;&#x7c7b;&#x578b;&#x6807;&#x8bc6;</jsScript_script>
3291   - </jsScript> </jsScripts> <fields> <field> <name>startZdType</name>
3292   - <rename>startZdType</rename>
3293   - <type>String</type>
3294   - <length>-1</length>
3295   - <precision>-1</precision>
3296   - <replace>N</replace>
3297   - </field> <field> <name>endZdType</name>
3298   - <rename>endZdType</rename>
3299   - <type>String</type>
3300   - <length>-1</length>
3301   - <precision>-1</precision>
3302   - <replace>N</replace>
3303   - </field> </fields> <cluster_schema/>
3304   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
3305   - <xloc>391</xloc>
3306   - <yloc>87</yloc>
3307   - <draw>Y</draw>
3308   - </GUI>
3309   - </step>
3310   -
3311   - <step>
3312   - <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>
3313   - <type>GetVariable</type>
3314   - <description/>
3315   - <distribute>Y</distribute>
3316   - <custom_distribution/>
3317   - <copies>1</copies>
3318   - <partitioning>
3319   - <method>none</method>
3320   - <schema_name/>
3321   - </partitioning>
3322   - <fields>
3323   - <field>
3324   - <name>xlid_</name>
3325   - <variable>&#x24;&#x7b;xlid&#x7d;</variable>
3326   - <type>Integer</type>
3327   - <format/>
3328   - <currency/>
3329   - <decimal/>
3330   - <group/>
3331   - <length>-1</length>
3332   - <precision>-1</precision>
3333   - <trim_type>none</trim_type>
3334   - </field>
3335   - <field>
3336   - <name>ttid_</name>
3337   - <variable>&#x24;&#x7b;ttid&#x7d;</variable>
3338   - <type>Number</type>
3339   - <format/>
3340   - <currency/>
3341   - <decimal/>
3342   - <group/>
3343   - <length>-1</length>
3344   - <precision>-1</precision>
3345   - <trim_type>none</trim_type>
3346   - </field>
3347   - </fields>
3348   - <cluster_schema/>
3349   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
3350   - <xloc>45</xloc>
3351   - <yloc>189</yloc>
3352   - <draw>Y</draw>
3353   - </GUI>
3354   - </step>
3355   -
3356   - <step>
3357   - <name>&#x8868;&#x8f93;&#x5165;</name>
3358   - <type>TableInput</type>
3359   - <description/>
3360   - <distribute>Y</distribute>
3361   - <custom_distribution/>
3362   - <copies>1</copies>
3363   - <partitioning>
3364   - <method>none</method>
3365   - <schema_name/>
3366   - </partitioning>
3367   - <connection>bus_control_variable</connection>
3368   - <sql>select &#xa;t.id as id&#xa;, concat&#x28;g.id, &#x27;_&#x27;, g.lp_name&#x29; as lp&#xa;, g.xl as xl&#xa;, qdz&#xa;, zdz&#xa;, tcc&#xa;, fcsj&#xa;, jhlc&#xa;, bc_type &#xa;, bcs&#xa;, fcno&#xa;, xl_dir&#xa;, isfb&#xa;from bsth_c_s_ttinfo_detail t left join &#xa;bsth_c_s_gbi g on t.lp &#x3d; g.id &#xa;where &#xa;g.xl &#x3d; &#x3f; and&#xa;t.ttinfo &#x3d; &#x3f; &#xa;order by t.bcs asc</sql>
3369   - <limit>0</limit>
3370   - <lookup>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</lookup>
3371   - <execute_each_row>N</execute_each_row>
3372   - <variables_active>Y</variables_active>
3373   - <lazy_conversion_active>N</lazy_conversion_active>
3374   - <cluster_schema/>
3375   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
3376   - <xloc>130</xloc>
3377   - <yloc>85</yloc>
3378   - <draw>Y</draw>
3379   - </GUI>
3380   - </step>
3381   -
3382   - <step>
3383   - <name>&#x8ba1;&#x7b97;&#x53d1;&#x8f66;&#x7ad9;&#x540d;</name>
3384   - <type>ScriptValueMod</type>
3385   - <description/>
3386   - <distribute>Y</distribute>
3387   - <custom_distribution/>
3388   - <copies>1</copies>
3389   - <partitioning>
3390   - <method>none</method>
3391   - <schema_name/>
3392   - </partitioning>
3393   - <compatible>N</compatible>
3394   - <optimizationLevel>9</optimizationLevel>
3395   - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
3396   - <jsScript_name>Script 1</jsScript_name>
3397   - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var fczdName &#x3d; null&#x3b; &#x2f;&#x2f; &#x53d1;&#x8f66;&#x7ad9;&#x70b9;&#x540d;&#x5b57;&#xa;if &#x28;bc_type &#x3d;&#x3d; &#x22;in&#x22;&#x29; &#x7b;&#xa; fczdName &#x3d; &#x22;&#x8fdb;&#x573a;&#x22;&#x3b;&#xa;&#x7d; else if &#x28;bc_type &#x3d;&#x3d; &#x22;out&#x22;&#x29; &#x7b;&#xa; fczdName &#x3d; &#x22;&#x51fa;&#x573a;&#x22;&#x3b;&#xa;&#x7d; else &#x7b;&#xa; fczdName &#x3d; qdzName&#x3b;&#xa;&#x7d;</jsScript_script>
3398   - </jsScript> </jsScripts> <fields> <field> <name>fczdName</name>
3399   - <rename>fczdName</rename>
3400   - <type>String</type>
3401   - <length>-1</length>
3402   - <precision>-1</precision>
3403   - <replace>N</replace>
3404   - </field> </fields> <cluster_schema/>
3405   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
3406   - <xloc>550</xloc>
3407   - <yloc>276</yloc>
3408   - <draw>Y</draw>
3409   - </GUI>
3410   - </step>
3411   -
3412   - <step>
3413   - <name>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;</name>
3414   - <type>FilterRows</type>
3415   - <description/>
3416   - <distribute>Y</distribute>
3417   - <custom_distribution/>
3418   - <copies>1</copies>
3419   - <partitioning>
3420   - <method>none</method>
3421   - <schema_name/>
3422   - </partitioning>
3423   -<send_true_to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x7ad9;&#x70b9;&#x67e5;&#x8be2;&#x7528;&#x6570;&#x636e;</send_true_to>
3424   -<send_false_to>&#x8fdb;&#x573a;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x67e5;&#x8be2;&#x7528;&#x7684;&#x6570;&#x636e;</send_false_to>
3425   - <compare>
3426   -<condition>
3427   - <negated>N</negated>
3428   - <leftvalue>bc_type</leftvalue>
3429   - <function>&#x3d;</function>
3430   - <rightvalue/>
3431   - <value><name>constant</name><type>String</type><text>normal</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>
3432   - </compare>
3433   - <cluster_schema/>
3434   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
3435   - <xloc>248</xloc>
3436   - <yloc>87</yloc>
3437   - <draw>Y</draw>
3438   - </GUI>
3439   - </step>
3440   -
3441   - <step>
3442   - <name>&#x8fdb;&#x573a;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x67e5;&#x8be2;&#x7528;&#x7684;&#x6570;&#x636e;</name>
3443   - <type>ScriptValueMod</type>
3444   - <description/>
3445   - <distribute>Y</distribute>
3446   - <custom_distribution/>
3447   - <copies>1</copies>
3448   - <partitioning>
3449   - <method>none</method>
3450   - <schema_name/>
3451   - </partitioning>
3452   - <compatible>N</compatible>
3453   - <optimizationLevel>9</optimizationLevel>
3454   - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
3455   - <jsScript_name>Script 1</jsScript_name>
3456   - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var qdzName &#x3d; null&#x3b; &#x2f;&#x2f; &#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;&#xa;var zdzName &#x3d; null&#x3b; &#x2f;&#x2f; &#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</jsScript_script>
3457   - </jsScript> </jsScripts> <fields> <field> <name>qdzName</name>
3458   - <rename>qdzName</rename>
3459   - <type>String</type>
3460   - <length>-1</length>
3461   - <precision>-1</precision>
3462   - <replace>N</replace>
3463   - </field> <field> <name>zdzName</name>
3464   - <rename>zdzName</rename>
3465   - <type>String</type>
3466   - <length>-1</length>
3467   - <precision>-1</precision>
3468   - <replace>N</replace>
3469   - </field> </fields> <cluster_schema/>
3470   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
3471   - <xloc>250</xloc>
3472   - <yloc>188</yloc>
3473   - <draw>Y</draw>
3474   - </GUI>
3475   - </step>
3476   -
3477   - <step_error_handling>
3478   - </step_error_handling>
3479   - <slave-step-copy-partition-distribution>
3480   -</slave-step-copy-partition-distribution>
3481   - <slave_transformation>N</slave_transformation>
3482   -
3483   -</transformation>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>ttinfodetailoutputforedit</name>
  5 + <description/>
  6 + <extended_description/>
  7 + <trans_version/>
  8 + <trans_type>Normal</trans_type>
  9 + <trans_status>0</trans_status>
  10 + <directory>&#x2f;</directory>
  11 + <parameters>
  12 + <parameter>
  13 + <name>tempfilepath</name>
  14 + <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;runtime_temp&#x2f;bsth_control_u_d_files&#x2f;temp&#x2f;test</default_value>
  15 + <description>&#x9ed8;&#x8ba4;&#x8f93;&#x51fa;&#x7684;&#x6587;&#x4ef6;&#x8def;&#x5f84;&#x540d;</description>
  16 + </parameter>
  17 + <parameter>
  18 + <name>ttid</name>
  19 + <default_value>79</default_value>
  20 + <description>&#x65f6;&#x523b;&#x8868;id</description>
  21 + </parameter>
  22 + <parameter>
  23 + <name>xlid</name>
  24 + <default_value>63020</default_value>
  25 + <description>&#x7ebf;&#x8def;id</description>
  26 + </parameter>
  27 + </parameters>
  28 + <log>
  29 +<trans-log-table><connection/>
  30 +<schema/>
  31 +<table/>
  32 +<size_limit_lines/>
  33 +<interval/>
  34 +<timeout_days/>
  35 +<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>
  36 +<perf-log-table><connection/>
  37 +<schema/>
  38 +<table/>
  39 +<interval/>
  40 +<timeout_days/>
  41 +<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>
  42 +<channel-log-table><connection/>
  43 +<schema/>
  44 +<table/>
  45 +<timeout_days/>
  46 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>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>
  47 +<step-log-table><connection/>
  48 +<schema/>
  49 +<table/>
  50 +<timeout_days/>
  51 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>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>
  52 +<metrics-log-table><connection/>
  53 +<schema/>
  54 +<table/>
  55 +<timeout_days/>
  56 +<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>
  57 + </log>
  58 + <maxdate>
  59 + <connection/>
  60 + <table/>
  61 + <field/>
  62 + <offset>0.0</offset>
  63 + <maxdiff>0.0</maxdiff>
  64 + </maxdate>
  65 + <size_rowset>10000</size_rowset>
  66 + <sleep_time_empty>50</sleep_time_empty>
  67 + <sleep_time_full>50</sleep_time_full>
  68 + <unique_connections>N</unique_connections>
  69 + <feedback_shown>Y</feedback_shown>
  70 + <feedback_size>50000</feedback_size>
  71 + <using_thread_priorities>Y</using_thread_priorities>
  72 + <shared_objects_file/>
  73 + <capture_step_performance>N</capture_step_performance>
  74 + <step_performance_capturing_delay>1000</step_performance_capturing_delay>
  75 + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
  76 + <dependencies>
  77 + </dependencies>
  78 + <partitionschemas>
  79 + </partitionschemas>
  80 + <slaveservers>
  81 + </slaveservers>
  82 + <clusterschemas>
  83 + </clusterschemas>
  84 + <created_user>-</created_user>
  85 + <created_date>2016&#x2f;07&#x2f;11 21&#x3a;45&#x3a;05.041</created_date>
  86 + <modified_user>-</modified_user>
  87 + <modified_date>2016&#x2f;07&#x2f;11 21&#x3a;45&#x3a;05.041</modified_date>
  88 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
  89 + <is_key_private>N</is_key_private>
  90 + </info>
  91 + <notepads>
  92 + <notepad>
  93 + <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>
  94 + <xloc>45</xloc>
  95 + <yloc>261</yloc>
  96 + <width>333</width>
  97 + <heigth>90</heigth>
  98 + <fontname>YaHei Consolas Hybrid</fontname>
  99 + <fontsize>12</fontsize>
  100 + <fontbold>N</fontbold>
  101 + <fontitalic>N</fontitalic>
  102 + <fontcolorred>0</fontcolorred>
  103 + <fontcolorgreen>0</fontcolorgreen>
  104 + <fontcolorblue>0</fontcolorblue>
  105 + <backgroundcolorred>255</backgroundcolorred>
  106 + <backgroundcolorgreen>205</backgroundcolorgreen>
  107 + <backgroundcolorblue>112</backgroundcolorblue>
  108 + <bordercolorred>100</bordercolorred>
  109 + <bordercolorgreen>100</bordercolorgreen>
  110 + <bordercolorblue>100</bordercolorblue>
  111 + <drawshadow>Y</drawshadow>
  112 + </notepad>
  113 + <notepad>
  114 + <note>&#x6b64;&#x5904;&#x8f6c;&#x6362;excel&#x6709;&#x95ee;&#x9898;&#xff0c;&#xa;2003&#x683c;&#x5f0f;&#x7684;xls&#x6700;&#x591a;256&#x5217;&#xff0c;&#xa;&#x8fd9;&#x91cc;&#x660e;&#x663e;&#x8d85;&#x8fc7;&#xff0c;&#x6240;&#x4ee5;&#x628a;&#x6240;&#x6709;&#x5185;&#x5bb9;&#x5408;&#x5e76;&#x6210;1&#x5217;&#xff0c;&#xa;&#x7528;,&#x5206;&#x9694;</note>
  115 + <xloc>256</xloc>
  116 + <yloc>397</yloc>
  117 + <width>245</width>
  118 + <heigth>74</heigth>
  119 + <fontname>YaHei Consolas Hybrid</fontname>
  120 + <fontsize>12</fontsize>
  121 + <fontbold>N</fontbold>
  122 + <fontitalic>N</fontitalic>
  123 + <fontcolorred>0</fontcolorred>
  124 + <fontcolorgreen>0</fontcolorgreen>
  125 + <fontcolorblue>0</fontcolorblue>
  126 + <backgroundcolorred>255</backgroundcolorred>
  127 + <backgroundcolorgreen>205</backgroundcolorgreen>
  128 + <backgroundcolorblue>112</backgroundcolorblue>
  129 + <bordercolorred>100</bordercolorred>
  130 + <bordercolorgreen>100</bordercolorgreen>
  131 + <bordercolorblue>100</bordercolorblue>
  132 + <drawshadow>Y</drawshadow>
  133 + </notepad>
  134 + </notepads>
  135 + <connection>
  136 + <name>bus_control_variable</name>
  137 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  138 + <type>MYSQL</type>
  139 + <access>Native</access>
  140 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  141 + <port>3306</port>
  142 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  143 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  144 + <servername/>
  145 + <data_tablespace/>
  146 + <index_tablespace/>
  147 + <attributes>
  148 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
  149 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  150 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  151 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  152 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  153 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  154 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  155 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  156 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  157 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  158 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  159 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  160 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  161 + </attributes>
  162 + </connection>
  163 + <connection>
  164 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  165 + <server>localhost</server>
  166 + <type>MYSQL</type>
  167 + <access>Native</access>
  168 + <database>control</database>
  169 + <port>3306</port>
  170 + <username>root</username>
  171 + <password>Encrypted </password>
  172 + <servername/>
  173 + <data_tablespace/>
  174 + <index_tablespace/>
  175 + <attributes>
  176 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  177 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  178 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  179 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  180 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  181 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  182 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  183 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  184 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  185 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  186 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  187 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  188 + </attributes>
  189 + </connection>
  190 + <connection>
  191 + <name>bus_control_&#x672c;&#x673a;</name>
  192 + <server>localhost</server>
  193 + <type>MYSQL</type>
  194 + <access>Native</access>
  195 + <database>control</database>
  196 + <port>3306</port>
  197 + <username>root</username>
  198 + <password>Encrypted </password>
  199 + <servername/>
  200 + <data_tablespace/>
  201 + <index_tablespace/>
  202 + <attributes>
  203 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  204 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  205 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  206 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  207 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  208 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  209 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  210 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  211 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  212 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  213 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  214 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  215 + </attributes>
  216 + </connection>
  217 + <connection>
  218 + <name>xlab_mysql_youle</name>
  219 + <server>101.231.124.8</server>
  220 + <type>MYSQL</type>
  221 + <access>Native</access>
  222 + <database>xlab_youle</database>
  223 + <port>45687</port>
  224 + <username>xlab-youle</username>
  225 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
  226 + <servername/>
  227 + <data_tablespace/>
  228 + <index_tablespace/>
  229 + <attributes>
  230 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  231 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  232 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  233 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  234 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  235 + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
  236 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  237 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  238 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  239 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  240 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  241 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  242 + </attributes>
  243 + </connection>
  244 + <connection>
  245 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  246 + <server>localhost</server>
  247 + <type>MYSQL</type>
  248 + <access>Native</access>
  249 + <database>xlab_youle</database>
  250 + <port>3306</port>
  251 + <username>root</username>
  252 + <password>Encrypted </password>
  253 + <servername/>
  254 + <data_tablespace/>
  255 + <index_tablespace/>
  256 + <attributes>
  257 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  258 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  259 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  260 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  261 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  262 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  263 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  264 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  265 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  266 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  267 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  268 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  269 + </attributes>
  270 + </connection>
  271 + <connection>
  272 + <name>xlab_youle</name>
  273 + <server/>
  274 + <type>MYSQL</type>
  275 + <access>JNDI</access>
  276 + <database>xlab_youle</database>
  277 + <port>1521</port>
  278 + <username/>
  279 + <password>Encrypted </password>
  280 + <servername/>
  281 + <data_tablespace/>
  282 + <index_tablespace/>
  283 + <attributes>
  284 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  285 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  286 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  287 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  288 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  289 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  290 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  291 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  292 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  293 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  294 + </attributes>
  295 + </connection>
  296 + <order>
  297 + <hop> <from>&#x8868;&#x8f93;&#x5165;</from><to>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  298 + <hop> <from>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;</from><to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x7ad9;&#x70b9;&#x67e5;&#x8be2;&#x7528;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  299 + <hop> <from>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;</from><to>&#x8fdb;&#x573a;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x67e5;&#x8be2;&#x7528;&#x7684;&#x6570;&#x636e;</to><enabled>Y</enabled> </hop>
  300 + <hop> <from>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x7ad9;&#x70b9;&#x67e5;&#x8be2;&#x7528;&#x6570;&#x636e;</from><to>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x79f0;</to><enabled>Y</enabled> </hop>
  301 + <hop> <from>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x79f0;</from><to>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x79f0;</to><enabled>Y</enabled> </hop>
  302 + <hop> <from>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x79f0;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
  303 + <hop> <from>&#x8fdb;&#x573a;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x67e5;&#x8be2;&#x7528;&#x7684;&#x6570;&#x636e;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9; 2</to><enabled>Y</enabled> </hop>
  304 + <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  305 + <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9; 2</from><to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  306 + <hop> <from>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</from><to>&#x8ba1;&#x7b97;&#x53d1;&#x8f66;&#x7ad9;&#x540d;</to><enabled>Y</enabled> </hop>
  307 + <hop> <from>&#x5217;&#x8f6c;&#x884c;</from><to>&#x53bb;&#x9664;&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>
  308 + <hop> <from>&#x53bb;&#x9664;&#x5b57;&#x6bb5;</from><to>Excel&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
  309 + <hop> <from>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</from><to>&#x8868;&#x8f93;&#x5165;</to><enabled>Y</enabled> </hop>
  310 + <hop> <from>&#x8ba1;&#x7b97;&#x53d1;&#x8f66;&#x7ad9;&#x540d;</from><to>&#x5408;&#x5e76;&#x5185;&#x5bb9;</to><enabled>Y</enabled> </hop>
  311 + <hop> <from>&#x5408;&#x5e76;&#x5185;&#x5bb9;</from><to>&#x5217;&#x8f6c;&#x884c;</to><enabled>Y</enabled> </hop>
  312 + <hop> <from>&#x53bb;&#x9664;&#x5b57;&#x6bb5;</from><to>&#x6587;&#x672c;&#x6587;&#x4ef6;&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
  313 + </order>
  314 + <step>
  315 + <name>Excel&#x8f93;&#x51fa;</name>
  316 + <type>ExcelOutput</type>
  317 + <description/>
  318 + <distribute>Y</distribute>
  319 + <custom_distribution/>
  320 + <copies>1</copies>
  321 + <partitioning>
  322 + <method>none</method>
  323 + <schema_name/>
  324 + </partitioning>
  325 + <header>Y</header>
  326 + <footer>N</footer>
  327 + <encoding/>
  328 + <append>N</append>
  329 + <add_to_result_filenames>Y</add_to_result_filenames>
  330 + <file>
  331 + <name>&#x24;&#x7b;tempfilepath&#x7d;</name>
  332 + <extention>xls</extention>
  333 + <do_not_open_newfile_init>N</do_not_open_newfile_init>
  334 + <create_parent_folder>N</create_parent_folder>
  335 + <split>N</split>
  336 + <add_date>N</add_date>
  337 + <add_time>N</add_time>
  338 + <SpecifyFormat>N</SpecifyFormat>
  339 + <date_time_format/>
  340 + <sheetname>Sheet1</sheetname>
  341 + <autosizecolums>N</autosizecolums>
  342 + <nullisblank>N</nullisblank>
  343 + <protect_sheet>N</protect_sheet>
  344 + <password>Encrypted </password>
  345 + <splitevery>0</splitevery>
  346 + <usetempfiles>N</usetempfiles>
  347 + <tempdirectory/>
  348 + </file>
  349 + <template>
  350 + <enabled>N</enabled>
  351 + <append>N</append>
  352 + <filename>template.xls</filename>
  353 + </template>
  354 + <fields>
  355 + <field>
  356 + <name>lp</name>
  357 + <type>String</type>
  358 + <format/>
  359 + </field>
  360 + <field>
  361 + <name>fcno1</name>
  362 + <type>String</type>
  363 + <format/>
  364 + </field>
  365 + <field>
  366 + <name>fcno2</name>
  367 + <type>String</type>
  368 + <format/>
  369 + </field>
  370 + <field>
  371 + <name>fcno3</name>
  372 + <type>String</type>
  373 + <format/>
  374 + </field>
  375 + <field>
  376 + <name>fcno4</name>
  377 + <type>String</type>
  378 + <format/>
  379 + </field>
  380 + <field>
  381 + <name>fcno5</name>
  382 + <type>String</type>
  383 + <format/>
  384 + </field>
  385 + <field>
  386 + <name>fcno6</name>
  387 + <type>String</type>
  388 + <format/>
  389 + </field>
  390 + <field>
  391 + <name>fcno7</name>
  392 + <type>String</type>
  393 + <format/>
  394 + </field>
  395 + <field>
  396 + <name>fcno8</name>
  397 + <type>String</type>
  398 + <format/>
  399 + </field>
  400 + <field>
  401 + <name>fcno9</name>
  402 + <type>String</type>
  403 + <format/>
  404 + </field>
  405 + <field>
  406 + <name>fcno10</name>
  407 + <type>String</type>
  408 + <format/>
  409 + </field>
  410 + <field>
  411 + <name>fcno11</name>
  412 + <type>String</type>
  413 + <format/>
  414 + </field>
  415 + <field>
  416 + <name>fcno12</name>
  417 + <type>String</type>
  418 + <format/>
  419 + </field>
  420 + <field>
  421 + <name>fcno13</name>
  422 + <type>String</type>
  423 + <format/>
  424 + </field>
  425 + <field>
  426 + <name>fcno14</name>
  427 + <type>String</type>
  428 + <format/>
  429 + </field>
  430 + <field>
  431 + <name>fcno15</name>
  432 + <type>String</type>
  433 + <format/>
  434 + </field>
  435 + <field>
  436 + <name>fcno16</name>
  437 + <type>String</type>
  438 + <format/>
  439 + </field>
  440 + <field>
  441 + <name>fcno17</name>
  442 + <type>String</type>
  443 + <format/>
  444 + </field>
  445 + <field>
  446 + <name>fcno18</name>
  447 + <type>String</type>
  448 + <format/>
  449 + </field>
  450 + <field>
  451 + <name>fcno19</name>
  452 + <type>String</type>
  453 + <format/>
  454 + </field>
  455 + <field>
  456 + <name>fcno20</name>
  457 + <type>String</type>
  458 + <format/>
  459 + </field>
  460 + <field>
  461 + <name>fcno21</name>
  462 + <type>String</type>
  463 + <format/>
  464 + </field>
  465 + <field>
  466 + <name>fcno22</name>
  467 + <type>String</type>
  468 + <format/>
  469 + </field>
  470 + <field>
  471 + <name>fcno23</name>
  472 + <type>String</type>
  473 + <format/>
  474 + </field>
  475 + <field>
  476 + <name>fcno24</name>
  477 + <type>String</type>
  478 + <format/>
  479 + </field>
  480 + <field>
  481 + <name>fcno25</name>
  482 + <type>String</type>
  483 + <format/>
  484 + </field>
  485 + <field>
  486 + <name>fcno26</name>
  487 + <type>String</type>
  488 + <format/>
  489 + </field>
  490 + <field>
  491 + <name>fcno27</name>
  492 + <type>String</type>
  493 + <format/>
  494 + </field>
  495 + <field>
  496 + <name>fcno28</name>
  497 + <type>String</type>
  498 + <format/>
  499 + </field>
  500 + <field>
  501 + <name>fcno29</name>
  502 + <type>String</type>
  503 + <format/>
  504 + </field>
  505 + <field>
  506 + <name>fcno30</name>
  507 + <type>String</type>
  508 + <format/>
  509 + </field>
  510 + <field>
  511 + <name>fcno31</name>
  512 + <type>String</type>
  513 + <format/>
  514 + </field>
  515 + <field>
  516 + <name>fcno32</name>
  517 + <type>String</type>
  518 + <format/>
  519 + </field>
  520 + <field>
  521 + <name>fcno33</name>
  522 + <type>String</type>
  523 + <format/>
  524 + </field>
  525 + <field>
  526 + <name>fcno34</name>
  527 + <type>String</type>
  528 + <format/>
  529 + </field>
  530 + <field>
  531 + <name>fcno35</name>
  532 + <type>String</type>
  533 + <format/>
  534 + </field>
  535 + <field>
  536 + <name>fcno36</name>
  537 + <type>String</type>
  538 + <format/>
  539 + </field>
  540 + <field>
  541 + <name>fcno37</name>
  542 + <type>String</type>
  543 + <format/>
  544 + </field>
  545 + <field>
  546 + <name>fcno38</name>
  547 + <type>String</type>
  548 + <format/>
  549 + </field>
  550 + <field>
  551 + <name>fcno39</name>
  552 + <type>String</type>
  553 + <format/>
  554 + </field>
  555 + <field>
  556 + <name>fcno40</name>
  557 + <type>String</type>
  558 + <format/>
  559 + </field>
  560 + <field>
  561 + <name>fcno41</name>
  562 + <type>String</type>
  563 + <format/>
  564 + </field>
  565 + <field>
  566 + <name>fcno42</name>
  567 + <type>String</type>
  568 + <format/>
  569 + </field>
  570 + <field>
  571 + <name>fcno43</name>
  572 + <type>String</type>
  573 + <format/>
  574 + </field>
  575 + <field>
  576 + <name>fcno44</name>
  577 + <type>String</type>
  578 + <format/>
  579 + </field>
  580 + <field>
  581 + <name>fcno45</name>
  582 + <type>String</type>
  583 + <format/>
  584 + </field>
  585 + <field>
  586 + <name>fcno46</name>
  587 + <type>String</type>
  588 + <format/>
  589 + </field>
  590 + <field>
  591 + <name>fcno47</name>
  592 + <type>String</type>
  593 + <format/>
  594 + </field>
  595 + <field>
  596 + <name>fcno48</name>
  597 + <type>String</type>
  598 + <format/>
  599 + </field>
  600 + <field>
  601 + <name>fcno49</name>
  602 + <type>String</type>
  603 + <format/>
  604 + </field>
  605 + <field>
  606 + <name>fcno50</name>
  607 + <type>String</type>
  608 + <format/>
  609 + </field>
  610 + <field>
  611 + <name>fcno51</name>
  612 + <type>String</type>
  613 + <format/>
  614 + </field>
  615 + <field>
  616 + <name>fcno52</name>
  617 + <type>String</type>
  618 + <format/>
  619 + </field>
  620 + <field>
  621 + <name>fcno53</name>
  622 + <type>String</type>
  623 + <format/>
  624 + </field>
  625 + <field>
  626 + <name>fcno54</name>
  627 + <type>String</type>
  628 + <format/>
  629 + </field>
  630 + <field>
  631 + <name>fcno55</name>
  632 + <type>String</type>
  633 + <format/>
  634 + </field>
  635 + <field>
  636 + <name>fcno56</name>
  637 + <type>String</type>
  638 + <format/>
  639 + </field>
  640 + <field>
  641 + <name>fcno57</name>
  642 + <type>String</type>
  643 + <format/>
  644 + </field>
  645 + <field>
  646 + <name>fcno58</name>
  647 + <type>String</type>
  648 + <format/>
  649 + </field>
  650 + <field>
  651 + <name>fcno59</name>
  652 + <type>String</type>
  653 + <format/>
  654 + </field>
  655 + <field>
  656 + <name>fcno60</name>
  657 + <type>String</type>
  658 + <format/>
  659 + </field>
  660 + <field>
  661 + <name>fcno61</name>
  662 + <type>String</type>
  663 + <format/>
  664 + </field>
  665 + <field>
  666 + <name>fcno62</name>
  667 + <type>String</type>
  668 + <format/>
  669 + </field>
  670 + <field>
  671 + <name>fcno63</name>
  672 + <type>String</type>
  673 + <format/>
  674 + </field>
  675 + <field>
  676 + <name>fcno64</name>
  677 + <type>String</type>
  678 + <format/>
  679 + </field>
  680 + <field>
  681 + <name>fcno65</name>
  682 + <type>String</type>
  683 + <format/>
  684 + </field>
  685 + <field>
  686 + <name>fcno66</name>
  687 + <type>String</type>
  688 + <format/>
  689 + </field>
  690 + <field>
  691 + <name>fcno67</name>
  692 + <type>String</type>
  693 + <format/>
  694 + </field>
  695 + <field>
  696 + <name>fcno68</name>
  697 + <type>String</type>
  698 + <format/>
  699 + </field>
  700 + <field>
  701 + <name>fcno69</name>
  702 + <type>String</type>
  703 + <format/>
  704 + </field>
  705 + <field>
  706 + <name>fcno70</name>
  707 + <type>String</type>
  708 + <format/>
  709 + </field>
  710 + </fields>
  711 + <custom>
  712 + <header_font_name>arial</header_font_name>
  713 + <header_font_size>10</header_font_size>
  714 + <header_font_bold>N</header_font_bold>
  715 + <header_font_italic>N</header_font_italic>
  716 + <header_font_underline>no</header_font_underline>
  717 + <header_font_orientation>horizontal</header_font_orientation>
  718 + <header_font_color>black</header_font_color>
  719 + <header_background_color>none</header_background_color>
  720 + <header_row_height>255</header_row_height>
  721 + <header_alignment>left</header_alignment>
  722 + <header_image/>
  723 + <row_font_name>arial</row_font_name>
  724 + <row_font_size>10</row_font_size>
  725 + <row_font_color>black</row_font_color>
  726 + <row_background_color>none</row_background_color>
  727 + </custom>
  728 + <cluster_schema/>
  729 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  730 + <xloc>692</xloc>
  731 + <yloc>514</yloc>
  732 + <draw>Y</draw>
  733 + </GUI>
  734 + </step>
  735 +
  736 + <step>
  737 + <name>&#x5217;&#x8f6c;&#x884c;</name>
  738 + <type>Denormaliser</type>
  739 + <description/>
  740 + <distribute>N</distribute>
  741 + <custom_distribution/>
  742 + <copies>1</copies>
  743 + <partitioning>
  744 + <method>none</method>
  745 + <schema_name/>
  746 + </partitioning>
  747 + <key_field>fcno</key_field>
  748 + <group>
  749 + <field>
  750 + <name>lp</name>
  751 + </field>
  752 + </group>
  753 + <fields>
  754 + <field>
  755 + <field_name>all_content</field_name>
  756 + <key_value>1</key_value>
  757 + <target_name>fcno1</target_name>
  758 + <target_type>String</target_type>
  759 + <target_format/>
  760 + <target_length>-1</target_length>
  761 + <target_precision>-1</target_precision>
  762 + <target_decimal_symbol/>
  763 + <target_grouping_symbol/>
  764 + <target_currency_symbol/>
  765 + <target_null_string/>
  766 + <target_aggregation_type>-</target_aggregation_type>
  767 + </field>
  768 + <field>
  769 + <field_name>all_content</field_name>
  770 + <key_value>2</key_value>
  771 + <target_name>fcno2</target_name>
  772 + <target_type>String</target_type>
  773 + <target_format/>
  774 + <target_length>-1</target_length>
  775 + <target_precision>-1</target_precision>
  776 + <target_decimal_symbol/>
  777 + <target_grouping_symbol/>
  778 + <target_currency_symbol/>
  779 + <target_null_string/>
  780 + <target_aggregation_type>-</target_aggregation_type>
  781 + </field>
  782 + <field>
  783 + <field_name>all_content</field_name>
  784 + <key_value>3</key_value>
  785 + <target_name>fcno3</target_name>
  786 + <target_type>String</target_type>
  787 + <target_format/>
  788 + <target_length>-1</target_length>
  789 + <target_precision>-1</target_precision>
  790 + <target_decimal_symbol/>
  791 + <target_grouping_symbol/>
  792 + <target_currency_symbol/>
  793 + <target_null_string/>
  794 + <target_aggregation_type>-</target_aggregation_type>
  795 + </field>
  796 + <field>
  797 + <field_name>all_content</field_name>
  798 + <key_value>4</key_value>
  799 + <target_name>fcno4</target_name>
  800 + <target_type>String</target_type>
  801 + <target_format/>
  802 + <target_length>-1</target_length>
  803 + <target_precision>-1</target_precision>
  804 + <target_decimal_symbol/>
  805 + <target_grouping_symbol/>
  806 + <target_currency_symbol/>
  807 + <target_null_string/>
  808 + <target_aggregation_type>-</target_aggregation_type>
  809 + </field>
  810 + <field>
  811 + <field_name>all_content</field_name>
  812 + <key_value>5</key_value>
  813 + <target_name>fcno5</target_name>
  814 + <target_type>String</target_type>
  815 + <target_format/>
  816 + <target_length>-1</target_length>
  817 + <target_precision>-1</target_precision>
  818 + <target_decimal_symbol/>
  819 + <target_grouping_symbol/>
  820 + <target_currency_symbol/>
  821 + <target_null_string/>
  822 + <target_aggregation_type>-</target_aggregation_type>
  823 + </field>
  824 + <field>
  825 + <field_name>all_content</field_name>
  826 + <key_value>6</key_value>
  827 + <target_name>fcno6</target_name>
  828 + <target_type>String</target_type>
  829 + <target_format/>
  830 + <target_length>-1</target_length>
  831 + <target_precision>-1</target_precision>
  832 + <target_decimal_symbol/>
  833 + <target_grouping_symbol/>
  834 + <target_currency_symbol/>
  835 + <target_null_string/>
  836 + <target_aggregation_type>-</target_aggregation_type>
  837 + </field>
  838 + <field>
  839 + <field_name>all_content</field_name>
  840 + <key_value>7</key_value>
  841 + <target_name>fcno7</target_name>
  842 + <target_type>String</target_type>
  843 + <target_format/>
  844 + <target_length>-1</target_length>
  845 + <target_precision>-1</target_precision>
  846 + <target_decimal_symbol/>
  847 + <target_grouping_symbol/>
  848 + <target_currency_symbol/>
  849 + <target_null_string/>
  850 + <target_aggregation_type>-</target_aggregation_type>
  851 + </field>
  852 + <field>
  853 + <field_name>all_content</field_name>
  854 + <key_value>8</key_value>
  855 + <target_name>fcno8</target_name>
  856 + <target_type>String</target_type>
  857 + <target_format/>
  858 + <target_length>-1</target_length>
  859 + <target_precision>-1</target_precision>
  860 + <target_decimal_symbol/>
  861 + <target_grouping_symbol/>
  862 + <target_currency_symbol/>
  863 + <target_null_string/>
  864 + <target_aggregation_type>-</target_aggregation_type>
  865 + </field>
  866 + <field>
  867 + <field_name>all_content</field_name>
  868 + <key_value>9</key_value>
  869 + <target_name>fcno9</target_name>
  870 + <target_type>String</target_type>
  871 + <target_format/>
  872 + <target_length>-1</target_length>
  873 + <target_precision>-1</target_precision>
  874 + <target_decimal_symbol/>
  875 + <target_grouping_symbol/>
  876 + <target_currency_symbol/>
  877 + <target_null_string/>
  878 + <target_aggregation_type>-</target_aggregation_type>
  879 + </field>
  880 + <field>
  881 + <field_name>all_content</field_name>
  882 + <key_value>10</key_value>
  883 + <target_name>fcno10</target_name>
  884 + <target_type>String</target_type>
  885 + <target_format/>
  886 + <target_length>-1</target_length>
  887 + <target_precision>-1</target_precision>
  888 + <target_decimal_symbol/>
  889 + <target_grouping_symbol/>
  890 + <target_currency_symbol/>
  891 + <target_null_string/>
  892 + <target_aggregation_type>-</target_aggregation_type>
  893 + </field>
  894 + <field>
  895 + <field_name>all_content</field_name>
  896 + <key_value>11</key_value>
  897 + <target_name>fcno11</target_name>
  898 + <target_type>String</target_type>
  899 + <target_format/>
  900 + <target_length>-1</target_length>
  901 + <target_precision>-1</target_precision>
  902 + <target_decimal_symbol/>
  903 + <target_grouping_symbol/>
  904 + <target_currency_symbol/>
  905 + <target_null_string/>
  906 + <target_aggregation_type>-</target_aggregation_type>
  907 + </field>
  908 + <field>
  909 + <field_name>all_content</field_name>
  910 + <key_value>12</key_value>
  911 + <target_name>fcno12</target_name>
  912 + <target_type>String</target_type>
  913 + <target_format/>
  914 + <target_length>-1</target_length>
  915 + <target_precision>-1</target_precision>
  916 + <target_decimal_symbol/>
  917 + <target_grouping_symbol/>
  918 + <target_currency_symbol/>
  919 + <target_null_string/>
  920 + <target_aggregation_type>-</target_aggregation_type>
  921 + </field>
  922 + <field>
  923 + <field_name>all_content</field_name>
  924 + <key_value>13</key_value>
  925 + <target_name>fcno13</target_name>
  926 + <target_type>String</target_type>
  927 + <target_format/>
  928 + <target_length>-1</target_length>
  929 + <target_precision>-1</target_precision>
  930 + <target_decimal_symbol/>
  931 + <target_grouping_symbol/>
  932 + <target_currency_symbol/>
  933 + <target_null_string/>
  934 + <target_aggregation_type>-</target_aggregation_type>
  935 + </field>
  936 + <field>
  937 + <field_name>all_content</field_name>
  938 + <key_value>14</key_value>
  939 + <target_name>fcno14</target_name>
  940 + <target_type>String</target_type>
  941 + <target_format/>
  942 + <target_length>-1</target_length>
  943 + <target_precision>-1</target_precision>
  944 + <target_decimal_symbol/>
  945 + <target_grouping_symbol/>
  946 + <target_currency_symbol/>
  947 + <target_null_string/>
  948 + <target_aggregation_type>-</target_aggregation_type>
  949 + </field>
  950 + <field>
  951 + <field_name>all_content</field_name>
  952 + <key_value>15</key_value>
  953 + <target_name>fcno15</target_name>
  954 + <target_type>String</target_type>
  955 + <target_format/>
  956 + <target_length>-1</target_length>
  957 + <target_precision>-1</target_precision>
  958 + <target_decimal_symbol/>
  959 + <target_grouping_symbol/>
  960 + <target_currency_symbol/>
  961 + <target_null_string/>
  962 + <target_aggregation_type>-</target_aggregation_type>
  963 + </field>
  964 + <field>
  965 + <field_name>all_content</field_name>
  966 + <key_value>16</key_value>
  967 + <target_name>fcno16</target_name>
  968 + <target_type>String</target_type>
  969 + <target_format/>
  970 + <target_length>-1</target_length>
  971 + <target_precision>-1</target_precision>
  972 + <target_decimal_symbol/>
  973 + <target_grouping_symbol/>
  974 + <target_currency_symbol/>
  975 + <target_null_string/>
  976 + <target_aggregation_type>-</target_aggregation_type>
  977 + </field>
  978 + <field>
  979 + <field_name>all_content</field_name>
  980 + <key_value>17</key_value>
  981 + <target_name>fcno17</target_name>
  982 + <target_type>String</target_type>
  983 + <target_format/>
  984 + <target_length>-1</target_length>
  985 + <target_precision>-1</target_precision>
  986 + <target_decimal_symbol/>
  987 + <target_grouping_symbol/>
  988 + <target_currency_symbol/>
  989 + <target_null_string/>
  990 + <target_aggregation_type>-</target_aggregation_type>
  991 + </field>
  992 + <field>
  993 + <field_name>all_content</field_name>
  994 + <key_value>18</key_value>
  995 + <target_name>fcno18</target_name>
  996 + <target_type>String</target_type>
  997 + <target_format/>
  998 + <target_length>-1</target_length>
  999 + <target_precision>-1</target_precision>
  1000 + <target_decimal_symbol/>
  1001 + <target_grouping_symbol/>
  1002 + <target_currency_symbol/>
  1003 + <target_null_string/>
  1004 + <target_aggregation_type>-</target_aggregation_type>
  1005 + </field>
  1006 + <field>
  1007 + <field_name>all_content</field_name>
  1008 + <key_value>19</key_value>
  1009 + <target_name>fcno19</target_name>
  1010 + <target_type>String</target_type>
  1011 + <target_format/>
  1012 + <target_length>-1</target_length>
  1013 + <target_precision>-1</target_precision>
  1014 + <target_decimal_symbol/>
  1015 + <target_grouping_symbol/>
  1016 + <target_currency_symbol/>
  1017 + <target_null_string/>
  1018 + <target_aggregation_type>-</target_aggregation_type>
  1019 + </field>
  1020 + <field>
  1021 + <field_name>all_content</field_name>
  1022 + <key_value>20</key_value>
  1023 + <target_name>fcno20</target_name>
  1024 + <target_type>String</target_type>
  1025 + <target_format/>
  1026 + <target_length>-1</target_length>
  1027 + <target_precision>-1</target_precision>
  1028 + <target_decimal_symbol/>
  1029 + <target_grouping_symbol/>
  1030 + <target_currency_symbol/>
  1031 + <target_null_string/>
  1032 + <target_aggregation_type>-</target_aggregation_type>
  1033 + </field>
  1034 + <field>
  1035 + <field_name>all_content</field_name>
  1036 + <key_value>21</key_value>
  1037 + <target_name>fcno21</target_name>
  1038 + <target_type>String</target_type>
  1039 + <target_format/>
  1040 + <target_length>-1</target_length>
  1041 + <target_precision>-1</target_precision>
  1042 + <target_decimal_symbol/>
  1043 + <target_grouping_symbol/>
  1044 + <target_currency_symbol/>
  1045 + <target_null_string/>
  1046 + <target_aggregation_type>-</target_aggregation_type>
  1047 + </field>
  1048 + <field>
  1049 + <field_name>all_content</field_name>
  1050 + <key_value>22</key_value>
  1051 + <target_name>fcno22</target_name>
  1052 + <target_type>String</target_type>
  1053 + <target_format/>
  1054 + <target_length>-1</target_length>
  1055 + <target_precision>-1</target_precision>
  1056 + <target_decimal_symbol/>
  1057 + <target_grouping_symbol/>
  1058 + <target_currency_symbol/>
  1059 + <target_null_string/>
  1060 + <target_aggregation_type>-</target_aggregation_type>
  1061 + </field>
  1062 + <field>
  1063 + <field_name>all_content</field_name>
  1064 + <key_value>23</key_value>
  1065 + <target_name>fcno23</target_name>
  1066 + <target_type>String</target_type>
  1067 + <target_format/>
  1068 + <target_length>-1</target_length>
  1069 + <target_precision>-1</target_precision>
  1070 + <target_decimal_symbol/>
  1071 + <target_grouping_symbol/>
  1072 + <target_currency_symbol/>
  1073 + <target_null_string/>
  1074 + <target_aggregation_type>-</target_aggregation_type>
  1075 + </field>
  1076 + <field>
  1077 + <field_name>all_content</field_name>
  1078 + <key_value>24</key_value>
  1079 + <target_name>fcno24</target_name>
  1080 + <target_type>String</target_type>
  1081 + <target_format/>
  1082 + <target_length>-1</target_length>
  1083 + <target_precision>-1</target_precision>
  1084 + <target_decimal_symbol/>
  1085 + <target_grouping_symbol/>
  1086 + <target_currency_symbol/>
  1087 + <target_null_string/>
  1088 + <target_aggregation_type>-</target_aggregation_type>
  1089 + </field>
  1090 + <field>
  1091 + <field_name>all_content</field_name>
  1092 + <key_value>25</key_value>
  1093 + <target_name>fcno25</target_name>
  1094 + <target_type>String</target_type>
  1095 + <target_format/>
  1096 + <target_length>-1</target_length>
  1097 + <target_precision>-1</target_precision>
  1098 + <target_decimal_symbol/>
  1099 + <target_grouping_symbol/>
  1100 + <target_currency_symbol/>
  1101 + <target_null_string/>
  1102 + <target_aggregation_type>-</target_aggregation_type>
  1103 + </field>
  1104 + <field>
  1105 + <field_name>all_content</field_name>
  1106 + <key_value>26</key_value>
  1107 + <target_name>fcno26</target_name>
  1108 + <target_type>String</target_type>
  1109 + <target_format/>
  1110 + <target_length>-1</target_length>
  1111 + <target_precision>-1</target_precision>
  1112 + <target_decimal_symbol/>
  1113 + <target_grouping_symbol/>
  1114 + <target_currency_symbol/>
  1115 + <target_null_string/>
  1116 + <target_aggregation_type>-</target_aggregation_type>
  1117 + </field>
  1118 + <field>
  1119 + <field_name>all_content</field_name>
  1120 + <key_value>27</key_value>
  1121 + <target_name>fcno27</target_name>
  1122 + <target_type>String</target_type>
  1123 + <target_format/>
  1124 + <target_length>-1</target_length>
  1125 + <target_precision>-1</target_precision>
  1126 + <target_decimal_symbol/>
  1127 + <target_grouping_symbol/>
  1128 + <target_currency_symbol/>
  1129 + <target_null_string/>
  1130 + <target_aggregation_type>-</target_aggregation_type>
  1131 + </field>
  1132 + <field>
  1133 + <field_name>all_content</field_name>
  1134 + <key_value>28</key_value>
  1135 + <target_name>fcno28</target_name>
  1136 + <target_type>String</target_type>
  1137 + <target_format/>
  1138 + <target_length>-1</target_length>
  1139 + <target_precision>-1</target_precision>
  1140 + <target_decimal_symbol/>
  1141 + <target_grouping_symbol/>
  1142 + <target_currency_symbol/>
  1143 + <target_null_string/>
  1144 + <target_aggregation_type>-</target_aggregation_type>
  1145 + </field>
  1146 + <field>
  1147 + <field_name>all_content</field_name>
  1148 + <key_value>29</key_value>
  1149 + <target_name>fcno29</target_name>
  1150 + <target_type>String</target_type>
  1151 + <target_format/>
  1152 + <target_length>-1</target_length>
  1153 + <target_precision>-1</target_precision>
  1154 + <target_decimal_symbol/>
  1155 + <target_grouping_symbol/>
  1156 + <target_currency_symbol/>
  1157 + <target_null_string/>
  1158 + <target_aggregation_type>-</target_aggregation_type>
  1159 + </field>
  1160 + <field>
  1161 + <field_name>all_content</field_name>
  1162 + <key_value>30</key_value>
  1163 + <target_name>fcno30</target_name>
  1164 + <target_type>String</target_type>
  1165 + <target_format/>
  1166 + <target_length>-1</target_length>
  1167 + <target_precision>-1</target_precision>
  1168 + <target_decimal_symbol/>
  1169 + <target_grouping_symbol/>
  1170 + <target_currency_symbol/>
  1171 + <target_null_string/>
  1172 + <target_aggregation_type>-</target_aggregation_type>
  1173 + </field>
  1174 + <field>
  1175 + <field_name>all_content</field_name>
  1176 + <key_value>31</key_value>
  1177 + <target_name>fcno31</target_name>
  1178 + <target_type>String</target_type>
  1179 + <target_format/>
  1180 + <target_length>-1</target_length>
  1181 + <target_precision>-1</target_precision>
  1182 + <target_decimal_symbol/>
  1183 + <target_grouping_symbol/>
  1184 + <target_currency_symbol/>
  1185 + <target_null_string/>
  1186 + <target_aggregation_type>-</target_aggregation_type>
  1187 + </field>
  1188 + <field>
  1189 + <field_name>all_content</field_name>
  1190 + <key_value>32</key_value>
  1191 + <target_name>fcno32</target_name>
  1192 + <target_type>String</target_type>
  1193 + <target_format/>
  1194 + <target_length>-1</target_length>
  1195 + <target_precision>-1</target_precision>
  1196 + <target_decimal_symbol/>
  1197 + <target_grouping_symbol/>
  1198 + <target_currency_symbol/>
  1199 + <target_null_string/>
  1200 + <target_aggregation_type>-</target_aggregation_type>
  1201 + </field>
  1202 + <field>
  1203 + <field_name>all_content</field_name>
  1204 + <key_value>33</key_value>
  1205 + <target_name>fcno33</target_name>
  1206 + <target_type>String</target_type>
  1207 + <target_format/>
  1208 + <target_length>-1</target_length>
  1209 + <target_precision>-1</target_precision>
  1210 + <target_decimal_symbol/>
  1211 + <target_grouping_symbol/>
  1212 + <target_currency_symbol/>
  1213 + <target_null_string/>
  1214 + <target_aggregation_type>-</target_aggregation_type>
  1215 + </field>
  1216 + <field>
  1217 + <field_name>all_content</field_name>
  1218 + <key_value>34</key_value>
  1219 + <target_name>fcno34</target_name>
  1220 + <target_type>String</target_type>
  1221 + <target_format/>
  1222 + <target_length>-1</target_length>
  1223 + <target_precision>-1</target_precision>
  1224 + <target_decimal_symbol/>
  1225 + <target_grouping_symbol/>
  1226 + <target_currency_symbol/>
  1227 + <target_null_string/>
  1228 + <target_aggregation_type>-</target_aggregation_type>
  1229 + </field>
  1230 + <field>
  1231 + <field_name>all_content</field_name>
  1232 + <key_value>35</key_value>
  1233 + <target_name>fcno35</target_name>
  1234 + <target_type>String</target_type>
  1235 + <target_format/>
  1236 + <target_length>-1</target_length>
  1237 + <target_precision>-1</target_precision>
  1238 + <target_decimal_symbol/>
  1239 + <target_grouping_symbol/>
  1240 + <target_currency_symbol/>
  1241 + <target_null_string/>
  1242 + <target_aggregation_type>-</target_aggregation_type>
  1243 + </field>
  1244 + <field>
  1245 + <field_name>all_content</field_name>
  1246 + <key_value>36</key_value>
  1247 + <target_name>fcno36</target_name>
  1248 + <target_type>String</target_type>
  1249 + <target_format/>
  1250 + <target_length>-1</target_length>
  1251 + <target_precision>-1</target_precision>
  1252 + <target_decimal_symbol/>
  1253 + <target_grouping_symbol/>
  1254 + <target_currency_symbol/>
  1255 + <target_null_string/>
  1256 + <target_aggregation_type>-</target_aggregation_type>
  1257 + </field>
  1258 + <field>
  1259 + <field_name>all_content</field_name>
  1260 + <key_value>37</key_value>
  1261 + <target_name>fcno37</target_name>
  1262 + <target_type>String</target_type>
  1263 + <target_format/>
  1264 + <target_length>-1</target_length>
  1265 + <target_precision>-1</target_precision>
  1266 + <target_decimal_symbol/>
  1267 + <target_grouping_symbol/>
  1268 + <target_currency_symbol/>
  1269 + <target_null_string/>
  1270 + <target_aggregation_type>-</target_aggregation_type>
  1271 + </field>
  1272 + <field>
  1273 + <field_name>all_content</field_name>
  1274 + <key_value>38</key_value>
  1275 + <target_name>fcno38</target_name>
  1276 + <target_type>String</target_type>
  1277 + <target_format/>
  1278 + <target_length>-1</target_length>
  1279 + <target_precision>-1</target_precision>
  1280 + <target_decimal_symbol/>
  1281 + <target_grouping_symbol/>
  1282 + <target_currency_symbol/>
  1283 + <target_null_string/>
  1284 + <target_aggregation_type>-</target_aggregation_type>
  1285 + </field>
  1286 + <field>
  1287 + <field_name>all_content</field_name>
  1288 + <key_value>39</key_value>
  1289 + <target_name>fcno39</target_name>
  1290 + <target_type>String</target_type>
  1291 + <target_format/>
  1292 + <target_length>-1</target_length>
  1293 + <target_precision>-1</target_precision>
  1294 + <target_decimal_symbol/>
  1295 + <target_grouping_symbol/>
  1296 + <target_currency_symbol/>
  1297 + <target_null_string/>
  1298 + <target_aggregation_type>-</target_aggregation_type>
  1299 + </field>
  1300 + <field>
  1301 + <field_name>all_content</field_name>
  1302 + <key_value>40</key_value>
  1303 + <target_name>fcno40</target_name>
  1304 + <target_type>String</target_type>
  1305 + <target_format/>
  1306 + <target_length>-1</target_length>
  1307 + <target_precision>-1</target_precision>
  1308 + <target_decimal_symbol/>
  1309 + <target_grouping_symbol/>
  1310 + <target_currency_symbol/>
  1311 + <target_null_string/>
  1312 + <target_aggregation_type>-</target_aggregation_type>
  1313 + </field>
  1314 + <field>
  1315 + <field_name>all_content</field_name>
  1316 + <key_value>41</key_value>
  1317 + <target_name>fcno41</target_name>
  1318 + <target_type>String</target_type>
  1319 + <target_format/>
  1320 + <target_length>-1</target_length>
  1321 + <target_precision>-1</target_precision>
  1322 + <target_decimal_symbol/>
  1323 + <target_grouping_symbol/>
  1324 + <target_currency_symbol/>
  1325 + <target_null_string/>
  1326 + <target_aggregation_type>-</target_aggregation_type>
  1327 + </field>
  1328 + <field>
  1329 + <field_name>all_content</field_name>
  1330 + <key_value>42</key_value>
  1331 + <target_name>fcno42</target_name>
  1332 + <target_type>String</target_type>
  1333 + <target_format/>
  1334 + <target_length>-1</target_length>
  1335 + <target_precision>-1</target_precision>
  1336 + <target_decimal_symbol/>
  1337 + <target_grouping_symbol/>
  1338 + <target_currency_symbol/>
  1339 + <target_null_string/>
  1340 + <target_aggregation_type>-</target_aggregation_type>
  1341 + </field>
  1342 + <field>
  1343 + <field_name>all_content</field_name>
  1344 + <key_value>43</key_value>
  1345 + <target_name>fcno43</target_name>
  1346 + <target_type>String</target_type>
  1347 + <target_format/>
  1348 + <target_length>-1</target_length>
  1349 + <target_precision>-1</target_precision>
  1350 + <target_decimal_symbol/>
  1351 + <target_grouping_symbol/>
  1352 + <target_currency_symbol/>
  1353 + <target_null_string/>
  1354 + <target_aggregation_type>-</target_aggregation_type>
  1355 + </field>
  1356 + <field>
  1357 + <field_name>all_content</field_name>
  1358 + <key_value>44</key_value>
  1359 + <target_name>fcno44</target_name>
  1360 + <target_type>String</target_type>
  1361 + <target_format/>
  1362 + <target_length>-1</target_length>
  1363 + <target_precision>-1</target_precision>
  1364 + <target_decimal_symbol/>
  1365 + <target_grouping_symbol/>
  1366 + <target_currency_symbol/>
  1367 + <target_null_string/>
  1368 + <target_aggregation_type>-</target_aggregation_type>
  1369 + </field>
  1370 + <field>
  1371 + <field_name>all_content</field_name>
  1372 + <key_value>45</key_value>
  1373 + <target_name>fcno45</target_name>
  1374 + <target_type>String</target_type>
  1375 + <target_format/>
  1376 + <target_length>-1</target_length>
  1377 + <target_precision>-1</target_precision>
  1378 + <target_decimal_symbol/>
  1379 + <target_grouping_symbol/>
  1380 + <target_currency_symbol/>
  1381 + <target_null_string/>
  1382 + <target_aggregation_type>-</target_aggregation_type>
  1383 + </field>
  1384 + <field>
  1385 + <field_name>all_content</field_name>
  1386 + <key_value>46</key_value>
  1387 + <target_name>fcno46</target_name>
  1388 + <target_type>String</target_type>
  1389 + <target_format/>
  1390 + <target_length>-1</target_length>
  1391 + <target_precision>-1</target_precision>
  1392 + <target_decimal_symbol/>
  1393 + <target_grouping_symbol/>
  1394 + <target_currency_symbol/>
  1395 + <target_null_string/>
  1396 + <target_aggregation_type>-</target_aggregation_type>
  1397 + </field>
  1398 + <field>
  1399 + <field_name>all_content</field_name>
  1400 + <key_value>47</key_value>
  1401 + <target_name>fcno47</target_name>
  1402 + <target_type>String</target_type>
  1403 + <target_format/>
  1404 + <target_length>-1</target_length>
  1405 + <target_precision>-1</target_precision>
  1406 + <target_decimal_symbol/>
  1407 + <target_grouping_symbol/>
  1408 + <target_currency_symbol/>
  1409 + <target_null_string/>
  1410 + <target_aggregation_type>-</target_aggregation_type>
  1411 + </field>
  1412 + <field>
  1413 + <field_name>all_content</field_name>
  1414 + <key_value>48</key_value>
  1415 + <target_name>fcno48</target_name>
  1416 + <target_type>String</target_type>
  1417 + <target_format/>
  1418 + <target_length>-1</target_length>
  1419 + <target_precision>-1</target_precision>
  1420 + <target_decimal_symbol/>
  1421 + <target_grouping_symbol/>
  1422 + <target_currency_symbol/>
  1423 + <target_null_string/>
  1424 + <target_aggregation_type>-</target_aggregation_type>
  1425 + </field>
  1426 + <field>
  1427 + <field_name>all_content</field_name>
  1428 + <key_value>49</key_value>
  1429 + <target_name>fcno49</target_name>
  1430 + <target_type>String</target_type>
  1431 + <target_format/>
  1432 + <target_length>-1</target_length>
  1433 + <target_precision>-1</target_precision>
  1434 + <target_decimal_symbol/>
  1435 + <target_grouping_symbol/>
  1436 + <target_currency_symbol/>
  1437 + <target_null_string/>
  1438 + <target_aggregation_type>-</target_aggregation_type>
  1439 + </field>
  1440 + <field>
  1441 + <field_name>all_content</field_name>
  1442 + <key_value>50</key_value>
  1443 + <target_name>fcno50</target_name>
  1444 + <target_type>String</target_type>
  1445 + <target_format/>
  1446 + <target_length>-1</target_length>
  1447 + <target_precision>-1</target_precision>
  1448 + <target_decimal_symbol/>
  1449 + <target_grouping_symbol/>
  1450 + <target_currency_symbol/>
  1451 + <target_null_string/>
  1452 + <target_aggregation_type>-</target_aggregation_type>
  1453 + </field>
  1454 + <field>
  1455 + <field_name>all_content</field_name>
  1456 + <key_value>51</key_value>
  1457 + <target_name>fcno51</target_name>
  1458 + <target_type>String</target_type>
  1459 + <target_format/>
  1460 + <target_length>-1</target_length>
  1461 + <target_precision>-1</target_precision>
  1462 + <target_decimal_symbol/>
  1463 + <target_grouping_symbol/>
  1464 + <target_currency_symbol/>
  1465 + <target_null_string/>
  1466 + <target_aggregation_type>-</target_aggregation_type>
  1467 + </field>
  1468 + <field>
  1469 + <field_name>all_content</field_name>
  1470 + <key_value>52</key_value>
  1471 + <target_name>fcno52</target_name>
  1472 + <target_type>String</target_type>
  1473 + <target_format/>
  1474 + <target_length>-1</target_length>
  1475 + <target_precision>-1</target_precision>
  1476 + <target_decimal_symbol/>
  1477 + <target_grouping_symbol/>
  1478 + <target_currency_symbol/>
  1479 + <target_null_string/>
  1480 + <target_aggregation_type>-</target_aggregation_type>
  1481 + </field>
  1482 + <field>
  1483 + <field_name>all_content</field_name>
  1484 + <key_value>53</key_value>
  1485 + <target_name>fcno53</target_name>
  1486 + <target_type>String</target_type>
  1487 + <target_format/>
  1488 + <target_length>-1</target_length>
  1489 + <target_precision>-1</target_precision>
  1490 + <target_decimal_symbol/>
  1491 + <target_grouping_symbol/>
  1492 + <target_currency_symbol/>
  1493 + <target_null_string/>
  1494 + <target_aggregation_type>-</target_aggregation_type>
  1495 + </field>
  1496 + <field>
  1497 + <field_name>all_content</field_name>
  1498 + <key_value>54</key_value>
  1499 + <target_name>fcno54</target_name>
  1500 + <target_type>String</target_type>
  1501 + <target_format/>
  1502 + <target_length>-1</target_length>
  1503 + <target_precision>-1</target_precision>
  1504 + <target_decimal_symbol/>
  1505 + <target_grouping_symbol/>
  1506 + <target_currency_symbol/>
  1507 + <target_null_string/>
  1508 + <target_aggregation_type>-</target_aggregation_type>
  1509 + </field>
  1510 + <field>
  1511 + <field_name>all_content</field_name>
  1512 + <key_value>55</key_value>
  1513 + <target_name>fcno55</target_name>
  1514 + <target_type>String</target_type>
  1515 + <target_format/>
  1516 + <target_length>-1</target_length>
  1517 + <target_precision>-1</target_precision>
  1518 + <target_decimal_symbol/>
  1519 + <target_grouping_symbol/>
  1520 + <target_currency_symbol/>
  1521 + <target_null_string/>
  1522 + <target_aggregation_type>-</target_aggregation_type>
  1523 + </field>
  1524 + <field>
  1525 + <field_name>all_content</field_name>
  1526 + <key_value>56</key_value>
  1527 + <target_name>fcno56</target_name>
  1528 + <target_type>String</target_type>
  1529 + <target_format/>
  1530 + <target_length>-1</target_length>
  1531 + <target_precision>-1</target_precision>
  1532 + <target_decimal_symbol/>
  1533 + <target_grouping_symbol/>
  1534 + <target_currency_symbol/>
  1535 + <target_null_string/>
  1536 + <target_aggregation_type>-</target_aggregation_type>
  1537 + </field>
  1538 + <field>
  1539 + <field_name>all_content</field_name>
  1540 + <key_value>57</key_value>
  1541 + <target_name>fcno57</target_name>
  1542 + <target_type>String</target_type>
  1543 + <target_format/>
  1544 + <target_length>-1</target_length>
  1545 + <target_precision>-1</target_precision>
  1546 + <target_decimal_symbol/>
  1547 + <target_grouping_symbol/>
  1548 + <target_currency_symbol/>
  1549 + <target_null_string/>
  1550 + <target_aggregation_type>-</target_aggregation_type>
  1551 + </field>
  1552 + <field>
  1553 + <field_name>all_content</field_name>
  1554 + <key_value>58</key_value>
  1555 + <target_name>fcno58</target_name>
  1556 + <target_type>String</target_type>
  1557 + <target_format/>
  1558 + <target_length>-1</target_length>
  1559 + <target_precision>-1</target_precision>
  1560 + <target_decimal_symbol/>
  1561 + <target_grouping_symbol/>
  1562 + <target_currency_symbol/>
  1563 + <target_null_string/>
  1564 + <target_aggregation_type>-</target_aggregation_type>
  1565 + </field>
  1566 + <field>
  1567 + <field_name>all_content</field_name>
  1568 + <key_value>59</key_value>
  1569 + <target_name>fcno59</target_name>
  1570 + <target_type>String</target_type>
  1571 + <target_format/>
  1572 + <target_length>-1</target_length>
  1573 + <target_precision>-1</target_precision>
  1574 + <target_decimal_symbol/>
  1575 + <target_grouping_symbol/>
  1576 + <target_currency_symbol/>
  1577 + <target_null_string/>
  1578 + <target_aggregation_type>-</target_aggregation_type>
  1579 + </field>
  1580 + <field>
  1581 + <field_name>all_content</field_name>
  1582 + <key_value>60</key_value>
  1583 + <target_name>fcno60</target_name>
  1584 + <target_type>String</target_type>
  1585 + <target_format/>
  1586 + <target_length>-1</target_length>
  1587 + <target_precision>-1</target_precision>
  1588 + <target_decimal_symbol/>
  1589 + <target_grouping_symbol/>
  1590 + <target_currency_symbol/>
  1591 + <target_null_string/>
  1592 + <target_aggregation_type>-</target_aggregation_type>
  1593 + </field>
  1594 + <field>
  1595 + <field_name>all_content</field_name>
  1596 + <key_value>61</key_value>
  1597 + <target_name>fcno61</target_name>
  1598 + <target_type>String</target_type>
  1599 + <target_format/>
  1600 + <target_length>-1</target_length>
  1601 + <target_precision>-1</target_precision>
  1602 + <target_decimal_symbol/>
  1603 + <target_grouping_symbol/>
  1604 + <target_currency_symbol/>
  1605 + <target_null_string/>
  1606 + <target_aggregation_type>-</target_aggregation_type>
  1607 + </field>
  1608 + <field>
  1609 + <field_name>all_content</field_name>
  1610 + <key_value>62</key_value>
  1611 + <target_name>fcno62</target_name>
  1612 + <target_type>String</target_type>
  1613 + <target_format/>
  1614 + <target_length>-1</target_length>
  1615 + <target_precision>-1</target_precision>
  1616 + <target_decimal_symbol/>
  1617 + <target_grouping_symbol/>
  1618 + <target_currency_symbol/>
  1619 + <target_null_string/>
  1620 + <target_aggregation_type>-</target_aggregation_type>
  1621 + </field>
  1622 + <field>
  1623 + <field_name>all_content</field_name>
  1624 + <key_value>63</key_value>
  1625 + <target_name>fcno63</target_name>
  1626 + <target_type>String</target_type>
  1627 + <target_format/>
  1628 + <target_length>-1</target_length>
  1629 + <target_precision>-1</target_precision>
  1630 + <target_decimal_symbol/>
  1631 + <target_grouping_symbol/>
  1632 + <target_currency_symbol/>
  1633 + <target_null_string/>
  1634 + <target_aggregation_type>-</target_aggregation_type>
  1635 + </field>
  1636 + <field>
  1637 + <field_name>all_content</field_name>
  1638 + <key_value>64</key_value>
  1639 + <target_name>fcno64</target_name>
  1640 + <target_type>String</target_type>
  1641 + <target_format/>
  1642 + <target_length>-1</target_length>
  1643 + <target_precision>-1</target_precision>
  1644 + <target_decimal_symbol/>
  1645 + <target_grouping_symbol/>
  1646 + <target_currency_symbol/>
  1647 + <target_null_string/>
  1648 + <target_aggregation_type>-</target_aggregation_type>
  1649 + </field>
  1650 + <field>
  1651 + <field_name>all_content</field_name>
  1652 + <key_value>65</key_value>
  1653 + <target_name>fcno65</target_name>
  1654 + <target_type>String</target_type>
  1655 + <target_format/>
  1656 + <target_length>-1</target_length>
  1657 + <target_precision>-1</target_precision>
  1658 + <target_decimal_symbol/>
  1659 + <target_grouping_symbol/>
  1660 + <target_currency_symbol/>
  1661 + <target_null_string/>
  1662 + <target_aggregation_type>-</target_aggregation_type>
  1663 + </field>
  1664 + <field>
  1665 + <field_name>all_content</field_name>
  1666 + <key_value>66</key_value>
  1667 + <target_name>fcno66</target_name>
  1668 + <target_type>String</target_type>
  1669 + <target_format/>
  1670 + <target_length>-1</target_length>
  1671 + <target_precision>-1</target_precision>
  1672 + <target_decimal_symbol/>
  1673 + <target_grouping_symbol/>
  1674 + <target_currency_symbol/>
  1675 + <target_null_string/>
  1676 + <target_aggregation_type>-</target_aggregation_type>
  1677 + </field>
  1678 + <field>
  1679 + <field_name>all_content</field_name>
  1680 + <key_value>67</key_value>
  1681 + <target_name>fcno67</target_name>
  1682 + <target_type>String</target_type>
  1683 + <target_format/>
  1684 + <target_length>-1</target_length>
  1685 + <target_precision>-1</target_precision>
  1686 + <target_decimal_symbol/>
  1687 + <target_grouping_symbol/>
  1688 + <target_currency_symbol/>
  1689 + <target_null_string/>
  1690 + <target_aggregation_type>-</target_aggregation_type>
  1691 + </field>
  1692 + <field>
  1693 + <field_name>all_content</field_name>
  1694 + <key_value>68</key_value>
  1695 + <target_name>fcno68</target_name>
  1696 + <target_type>String</target_type>
  1697 + <target_format/>
  1698 + <target_length>-1</target_length>
  1699 + <target_precision>-1</target_precision>
  1700 + <target_decimal_symbol/>
  1701 + <target_grouping_symbol/>
  1702 + <target_currency_symbol/>
  1703 + <target_null_string/>
  1704 + <target_aggregation_type>-</target_aggregation_type>
  1705 + </field>
  1706 + <field>
  1707 + <field_name>all_content</field_name>
  1708 + <key_value>69</key_value>
  1709 + <target_name>fcno69</target_name>
  1710 + <target_type>String</target_type>
  1711 + <target_format/>
  1712 + <target_length>-1</target_length>
  1713 + <target_precision>-1</target_precision>
  1714 + <target_decimal_symbol/>
  1715 + <target_grouping_symbol/>
  1716 + <target_currency_symbol/>
  1717 + <target_null_string/>
  1718 + <target_aggregation_type>-</target_aggregation_type>
  1719 + </field>
  1720 + <field>
  1721 + <field_name>all_content</field_name>
  1722 + <key_value>70</key_value>
  1723 + <target_name>fcno70</target_name>
  1724 + <target_type>String</target_type>
  1725 + <target_format/>
  1726 + <target_length>-1</target_length>
  1727 + <target_precision>-1</target_precision>
  1728 + <target_decimal_symbol/>
  1729 + <target_grouping_symbol/>
  1730 + <target_currency_symbol/>
  1731 + <target_null_string/>
  1732 + <target_aggregation_type>-</target_aggregation_type>
  1733 + </field>
  1734 + </fields>
  1735 + <cluster_schema/>
  1736 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1737 + <xloc>690</xloc>
  1738 + <yloc>272</yloc>
  1739 + <draw>Y</draw>
  1740 + </GUI>
  1741 + </step>
  1742 +
  1743 + <step>
  1744 + <name>&#x53bb;&#x9664;&#x5b57;&#x6bb5;</name>
  1745 + <type>SelectValues</type>
  1746 + <description/>
  1747 + <distribute>N</distribute>
  1748 + <custom_distribution/>
  1749 + <copies>1</copies>
  1750 + <partitioning>
  1751 + <method>none</method>
  1752 + <schema_name/>
  1753 + </partitioning>
  1754 + <fields> <field> <name>lp</name>
  1755 + <rename/>
  1756 + <length>-2</length>
  1757 + <precision>-2</precision>
  1758 + </field> <field> <name>fcno1</name>
  1759 + <rename/>
  1760 + <length>-2</length>
  1761 + <precision>-2</precision>
  1762 + </field> <field> <name>fcno2</name>
  1763 + <rename/>
  1764 + <length>-2</length>
  1765 + <precision>-2</precision>
  1766 + </field> <field> <name>fcno3</name>
  1767 + <rename/>
  1768 + <length>-2</length>
  1769 + <precision>-2</precision>
  1770 + </field> <field> <name>fcno4</name>
  1771 + <rename/>
  1772 + <length>-2</length>
  1773 + <precision>-2</precision>
  1774 + </field> <field> <name>fcno5</name>
  1775 + <rename/>
  1776 + <length>-2</length>
  1777 + <precision>-2</precision>
  1778 + </field> <field> <name>fcno6</name>
  1779 + <rename/>
  1780 + <length>-2</length>
  1781 + <precision>-2</precision>
  1782 + </field> <field> <name>fcno7</name>
  1783 + <rename/>
  1784 + <length>-2</length>
  1785 + <precision>-2</precision>
  1786 + </field> <field> <name>fcno8</name>
  1787 + <rename/>
  1788 + <length>-2</length>
  1789 + <precision>-2</precision>
  1790 + </field> <field> <name>fcno9</name>
  1791 + <rename/>
  1792 + <length>-2</length>
  1793 + <precision>-2</precision>
  1794 + </field> <field> <name>fcno10</name>
  1795 + <rename/>
  1796 + <length>-2</length>
  1797 + <precision>-2</precision>
  1798 + </field> <field> <name>fcno11</name>
  1799 + <rename/>
  1800 + <length>-2</length>
  1801 + <precision>-2</precision>
  1802 + </field> <field> <name>fcno12</name>
  1803 + <rename/>
  1804 + <length>-2</length>
  1805 + <precision>-2</precision>
  1806 + </field> <field> <name>fcno13</name>
  1807 + <rename/>
  1808 + <length>-2</length>
  1809 + <precision>-2</precision>
  1810 + </field> <field> <name>fcno14</name>
  1811 + <rename/>
  1812 + <length>-2</length>
  1813 + <precision>-2</precision>
  1814 + </field> <field> <name>fcno15</name>
  1815 + <rename/>
  1816 + <length>-2</length>
  1817 + <precision>-2</precision>
  1818 + </field> <field> <name>fcno16</name>
  1819 + <rename/>
  1820 + <length>-2</length>
  1821 + <precision>-2</precision>
  1822 + </field> <field> <name>fcno17</name>
  1823 + <rename/>
  1824 + <length>-2</length>
  1825 + <precision>-2</precision>
  1826 + </field> <field> <name>fcno18</name>
  1827 + <rename/>
  1828 + <length>-2</length>
  1829 + <precision>-2</precision>
  1830 + </field> <field> <name>fcno19</name>
  1831 + <rename/>
  1832 + <length>-2</length>
  1833 + <precision>-2</precision>
  1834 + </field> <field> <name>fcno20</name>
  1835 + <rename/>
  1836 + <length>-2</length>
  1837 + <precision>-2</precision>
  1838 + </field> <field> <name>fcno21</name>
  1839 + <rename/>
  1840 + <length>-2</length>
  1841 + <precision>-2</precision>
  1842 + </field> <field> <name>fcno22</name>
  1843 + <rename/>
  1844 + <length>-2</length>
  1845 + <precision>-2</precision>
  1846 + </field> <field> <name>fcno23</name>
  1847 + <rename/>
  1848 + <length>-2</length>
  1849 + <precision>-2</precision>
  1850 + </field> <field> <name>fcno24</name>
  1851 + <rename/>
  1852 + <length>-2</length>
  1853 + <precision>-2</precision>
  1854 + </field> <field> <name>fcno25</name>
  1855 + <rename/>
  1856 + <length>-2</length>
  1857 + <precision>-2</precision>
  1858 + </field> <field> <name>fcno26</name>
  1859 + <rename/>
  1860 + <length>-2</length>
  1861 + <precision>-2</precision>
  1862 + </field> <field> <name>fcno27</name>
  1863 + <rename/>
  1864 + <length>-2</length>
  1865 + <precision>-2</precision>
  1866 + </field> <field> <name>fcno28</name>
  1867 + <rename/>
  1868 + <length>-2</length>
  1869 + <precision>-2</precision>
  1870 + </field> <field> <name>fcno29</name>
  1871 + <rename/>
  1872 + <length>-2</length>
  1873 + <precision>-2</precision>
  1874 + </field> <field> <name>fcno30</name>
  1875 + <rename/>
  1876 + <length>-2</length>
  1877 + <precision>-2</precision>
  1878 + </field> <field> <name>fcno31</name>
  1879 + <rename/>
  1880 + <length>-2</length>
  1881 + <precision>-2</precision>
  1882 + </field> <field> <name>fcno32</name>
  1883 + <rename/>
  1884 + <length>-2</length>
  1885 + <precision>-2</precision>
  1886 + </field> <field> <name>fcno33</name>
  1887 + <rename/>
  1888 + <length>-2</length>
  1889 + <precision>-2</precision>
  1890 + </field> <field> <name>fcno34</name>
  1891 + <rename/>
  1892 + <length>-2</length>
  1893 + <precision>-2</precision>
  1894 + </field> <field> <name>fcno35</name>
  1895 + <rename/>
  1896 + <length>-2</length>
  1897 + <precision>-2</precision>
  1898 + </field> <field> <name>fcno36</name>
  1899 + <rename/>
  1900 + <length>-2</length>
  1901 + <precision>-2</precision>
  1902 + </field> <field> <name>fcno37</name>
  1903 + <rename/>
  1904 + <length>-2</length>
  1905 + <precision>-2</precision>
  1906 + </field> <field> <name>fcno38</name>
  1907 + <rename/>
  1908 + <length>-2</length>
  1909 + <precision>-2</precision>
  1910 + </field> <field> <name>fcno39</name>
  1911 + <rename/>
  1912 + <length>-2</length>
  1913 + <precision>-2</precision>
  1914 + </field> <field> <name>fcno40</name>
  1915 + <rename/>
  1916 + <length>-2</length>
  1917 + <precision>-2</precision>
  1918 + </field> <field> <name>fcno41</name>
  1919 + <rename/>
  1920 + <length>-2</length>
  1921 + <precision>-2</precision>
  1922 + </field> <field> <name>fcno42</name>
  1923 + <rename/>
  1924 + <length>-2</length>
  1925 + <precision>-2</precision>
  1926 + </field> <field> <name>fcno43</name>
  1927 + <rename/>
  1928 + <length>-2</length>
  1929 + <precision>-2</precision>
  1930 + </field> <field> <name>fcno44</name>
  1931 + <rename/>
  1932 + <length>-2</length>
  1933 + <precision>-2</precision>
  1934 + </field> <field> <name>fcno45</name>
  1935 + <rename/>
  1936 + <length>-2</length>
  1937 + <precision>-2</precision>
  1938 + </field> <field> <name>fcno46</name>
  1939 + <rename/>
  1940 + <length>-2</length>
  1941 + <precision>-2</precision>
  1942 + </field> <field> <name>fcno47</name>
  1943 + <rename/>
  1944 + <length>-2</length>
  1945 + <precision>-2</precision>
  1946 + </field> <field> <name>fcno48</name>
  1947 + <rename/>
  1948 + <length>-2</length>
  1949 + <precision>-2</precision>
  1950 + </field> <field> <name>fcno49</name>
  1951 + <rename/>
  1952 + <length>-2</length>
  1953 + <precision>-2</precision>
  1954 + </field> <field> <name>fcno50</name>
  1955 + <rename/>
  1956 + <length>-2</length>
  1957 + <precision>-2</precision>
  1958 + </field> <field> <name>fcno51</name>
  1959 + <rename/>
  1960 + <length>-2</length>
  1961 + <precision>-2</precision>
  1962 + </field> <field> <name>fcno52</name>
  1963 + <rename/>
  1964 + <length>-2</length>
  1965 + <precision>-2</precision>
  1966 + </field> <field> <name>fcno53</name>
  1967 + <rename/>
  1968 + <length>-2</length>
  1969 + <precision>-2</precision>
  1970 + </field> <field> <name>fcno54</name>
  1971 + <rename/>
  1972 + <length>-2</length>
  1973 + <precision>-2</precision>
  1974 + </field> <field> <name>fcno55</name>
  1975 + <rename/>
  1976 + <length>-2</length>
  1977 + <precision>-2</precision>
  1978 + </field> <field> <name>fcno56</name>
  1979 + <rename/>
  1980 + <length>-2</length>
  1981 + <precision>-2</precision>
  1982 + </field> <field> <name>fcno57</name>
  1983 + <rename/>
  1984 + <length>-2</length>
  1985 + <precision>-2</precision>
  1986 + </field> <field> <name>fcno58</name>
  1987 + <rename/>
  1988 + <length>-2</length>
  1989 + <precision>-2</precision>
  1990 + </field> <field> <name>fcno59</name>
  1991 + <rename/>
  1992 + <length>-2</length>
  1993 + <precision>-2</precision>
  1994 + </field> <field> <name>fcno60</name>
  1995 + <rename/>
  1996 + <length>-2</length>
  1997 + <precision>-2</precision>
  1998 + </field> <field> <name>fcno61</name>
  1999 + <rename/>
  2000 + <length>-2</length>
  2001 + <precision>-2</precision>
  2002 + </field> <field> <name>fcno62</name>
  2003 + <rename/>
  2004 + <length>-2</length>
  2005 + <precision>-2</precision>
  2006 + </field> <field> <name>fcno63</name>
  2007 + <rename/>
  2008 + <length>-2</length>
  2009 + <precision>-2</precision>
  2010 + </field> <field> <name>fcno64</name>
  2011 + <rename/>
  2012 + <length>-2</length>
  2013 + <precision>-2</precision>
  2014 + </field> <field> <name>fcno65</name>
  2015 + <rename/>
  2016 + <length>-2</length>
  2017 + <precision>-2</precision>
  2018 + </field> <field> <name>fcno66</name>
  2019 + <rename/>
  2020 + <length>-2</length>
  2021 + <precision>-2</precision>
  2022 + </field> <field> <name>fcno67</name>
  2023 + <rename/>
  2024 + <length>-2</length>
  2025 + <precision>-2</precision>
  2026 + </field> <field> <name>fcno68</name>
  2027 + <rename/>
  2028 + <length>-2</length>
  2029 + <precision>-2</precision>
  2030 + </field> <field> <name>fcno69</name>
  2031 + <rename/>
  2032 + <length>-2</length>
  2033 + <precision>-2</precision>
  2034 + </field> <field> <name>fcno70</name>
  2035 + <rename/>
  2036 + <length>-2</length>
  2037 + <precision>-2</precision>
  2038 + </field> <select_unspecified>N</select_unspecified>
  2039 + </fields> <cluster_schema/>
  2040 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2041 + <xloc>691</xloc>
  2042 + <yloc>361</yloc>
  2043 + <draw>Y</draw>
  2044 + </GUI>
  2045 + </step>
  2046 +
  2047 + <step>
  2048 + <name>&#x5408;&#x5e76;&#x5185;&#x5bb9;</name>
  2049 + <type>ScriptValueMod</type>
  2050 + <description/>
  2051 + <distribute>Y</distribute>
  2052 + <custom_distribution/>
  2053 + <copies>1</copies>
  2054 + <partitioning>
  2055 + <method>none</method>
  2056 + <schema_name/>
  2057 + </partitioning>
  2058 + <compatible>N</compatible>
  2059 + <optimizationLevel>9</optimizationLevel>
  2060 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  2061 + <jsScript_name>Script 1</jsScript_name>
  2062 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;&#x2f;&#x2f; &#x987a;&#x5e8f;&#xff0c;id,fcsj,jhlc,zdname,bctype,xldir,isfb&#xa;var all_content_array &#x3d; &#x5b;&#x5d;&#x3b;&#xa;var all_content &#x3d; &#x22;&#x22;&#x3b; &#xa;all_content_array.push&#x28;id&#x29;&#x3b;&#xa;all_content_array.push&#x28;fcsj&#x29;&#x3b;&#xa;all_content_array.push&#x28;jhlc&#x29;&#x3b;&#xa;all_content_array.push&#x28;fczdName&#x29;&#x3b;&#xa;all_content_array.push&#x28;bc_type&#x29;&#x3b;&#xa;all_content_array.push&#x28;xl_dir&#x29;&#x3b;&#xa;all_content_array.push&#x28;isfb&#x29;&#x3b;&#xa;all_content_array.push&#x28;qdz &#x7c;&#x7c; &#x27;null&#x27;&#x29;&#x3b;&#xa;all_content_array.push&#x28;zdz &#x7c;&#x7c; &#x27;null&#x27;&#x29;&#x3b;&#xa;all_content_array.push&#x28;tcc &#x7c;&#x7c; &#x27;null&#x27;&#x29;&#x3b;&#xa;&#xa;all_content &#x3d; all_content_array.join&#x28;&#x22;,&#x22;&#x29;&#x3b; &#x2f;&#x2f; &#x9017;&#x53f7;&#x5206;&#x9694;</jsScript_script>
  2063 + </jsScript> </jsScripts> <fields> <field> <name>all_content</name>
  2064 + <rename>all_content</rename>
  2065 + <type>String</type>
  2066 + <length>-1</length>
  2067 + <precision>-1</precision>
  2068 + <replace>N</replace>
  2069 + </field> </fields> <cluster_schema/>
  2070 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2071 + <xloc>551</xloc>
  2072 + <yloc>366</yloc>
  2073 + <draw>Y</draw>
  2074 + </GUI>
  2075 + </step>
  2076 +
  2077 + <step>
  2078 + <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
  2079 + <type>SelectValues</type>
  2080 + <description/>
  2081 + <distribute>Y</distribute>
  2082 + <custom_distribution/>
  2083 + <copies>1</copies>
  2084 + <partitioning>
  2085 + <method>none</method>
  2086 + <schema_name/>
  2087 + </partitioning>
  2088 + <fields> <field> <name>id</name>
  2089 + <rename/>
  2090 + <length>-2</length>
  2091 + <precision>-2</precision>
  2092 + </field> <field> <name>lp</name>
  2093 + <rename/>
  2094 + <length>-2</length>
  2095 + <precision>-2</precision>
  2096 + </field> <field> <name>fcsj</name>
  2097 + <rename/>
  2098 + <length>-2</length>
  2099 + <precision>-2</precision>
  2100 + </field> <field> <name>fcno</name>
  2101 + <rename/>
  2102 + <length>-2</length>
  2103 + <precision>-2</precision>
  2104 + </field> <field> <name>bcs</name>
  2105 + <rename/>
  2106 + <length>-2</length>
  2107 + <precision>-2</precision>
  2108 + </field> <field> <name>bc_type</name>
  2109 + <rename/>
  2110 + <length>-2</length>
  2111 + <precision>-2</precision>
  2112 + </field> <field> <name>qdzName</name>
  2113 + <rename/>
  2114 + <length>-2</length>
  2115 + <precision>-2</precision>
  2116 + </field> <field> <name>zdzName</name>
  2117 + <rename/>
  2118 + <length>-2</length>
  2119 + <precision>-2</precision>
  2120 + </field> <field> <name>xl_dir</name>
  2121 + <rename/>
  2122 + <length>-2</length>
  2123 + <precision>-2</precision>
  2124 + </field> <field> <name>isfb</name>
  2125 + <rename/>
  2126 + <length>-2</length>
  2127 + <precision>-2</precision>
  2128 + </field> <field> <name>jhlc</name>
  2129 + <rename/>
  2130 + <length>-2</length>
  2131 + <precision>-2</precision>
  2132 + </field> <field> <name>qdz</name>
  2133 + <rename/>
  2134 + <length>-2</length>
  2135 + <precision>-2</precision>
  2136 + </field> <field> <name>zdz</name>
  2137 + <rename/>
  2138 + <length>-2</length>
  2139 + <precision>-2</precision>
  2140 + </field> <field> <name>tcc</name>
  2141 + <rename/>
  2142 + <length>-2</length>
  2143 + <precision>-2</precision>
  2144 + </field> <select_unspecified>N</select_unspecified>
  2145 + </fields> <cluster_schema/>
  2146 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2147 + <xloc>690</xloc>
  2148 + <yloc>188</yloc>
  2149 + <draw>Y</draw>
  2150 + </GUI>
  2151 + </step>
  2152 +
  2153 + <step>
  2154 + <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9; 2</name>
  2155 + <type>SelectValues</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 + <fields> <field> <name>id</name>
  2165 + <rename/>
  2166 + <length>-2</length>
  2167 + <precision>-2</precision>
  2168 + </field> <field> <name>lp</name>
  2169 + <rename/>
  2170 + <length>-2</length>
  2171 + <precision>-2</precision>
  2172 + </field> <field> <name>fcsj</name>
  2173 + <rename/>
  2174 + <length>-2</length>
  2175 + <precision>-2</precision>
  2176 + </field> <field> <name>fcno</name>
  2177 + <rename/>
  2178 + <length>-2</length>
  2179 + <precision>-2</precision>
  2180 + </field> <field> <name>bcs</name>
  2181 + <rename/>
  2182 + <length>-2</length>
  2183 + <precision>-2</precision>
  2184 + </field> <field> <name>bc_type</name>
  2185 + <rename/>
  2186 + <length>-2</length>
  2187 + <precision>-2</precision>
  2188 + </field> <field> <name>qdzName</name>
  2189 + <rename/>
  2190 + <length>-2</length>
  2191 + <precision>-2</precision>
  2192 + </field> <field> <name>zdzName</name>
  2193 + <rename/>
  2194 + <length>-2</length>
  2195 + <precision>-2</precision>
  2196 + </field> <field> <name>xl_dir</name>
  2197 + <rename/>
  2198 + <length>-2</length>
  2199 + <precision>-2</precision>
  2200 + </field> <field> <name>isfb</name>
  2201 + <rename/>
  2202 + <length>-2</length>
  2203 + <precision>-2</precision>
  2204 + </field> <field> <name>jhlc</name>
  2205 + <rename/>
  2206 + <length>-2</length>
  2207 + <precision>-2</precision>
  2208 + </field> <field> <name>qdz</name>
  2209 + <rename/>
  2210 + <length>-2</length>
  2211 + <precision>-2</precision>
  2212 + </field> <field> <name>zdz</name>
  2213 + <rename/>
  2214 + <length>-2</length>
  2215 + <precision>-2</precision>
  2216 + </field> <field> <name>tcc</name>
  2217 + <rename/>
  2218 + <length>-2</length>
  2219 + <precision>-2</precision>
  2220 + </field> <select_unspecified>N</select_unspecified>
  2221 + </fields> <cluster_schema/>
  2222 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2223 + <xloc>402</xloc>
  2224 + <yloc>189</yloc>
  2225 + <draw>Y</draw>
  2226 + </GUI>
  2227 + </step>
  2228 +
  2229 + <step>
  2230 + <name>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</name>
  2231 + <type>SortRows</type>
  2232 + <description/>
  2233 + <distribute>Y</distribute>
  2234 + <custom_distribution/>
  2235 + <copies>1</copies>
  2236 + <partitioning>
  2237 + <method>none</method>
  2238 + <schema_name/>
  2239 + </partitioning>
  2240 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  2241 + <prefix>out</prefix>
  2242 + <sort_size>1000000</sort_size>
  2243 + <free_memory/>
  2244 + <compress>N</compress>
  2245 + <compress_variable/>
  2246 + <unique_rows>N</unique_rows>
  2247 + <fields>
  2248 + <field>
  2249 + <name>bcs</name>
  2250 + <ascending>Y</ascending>
  2251 + <case_sensitive>N</case_sensitive>
  2252 + <presorted>N</presorted>
  2253 + </field>
  2254 + </fields>
  2255 + <cluster_schema/>
  2256 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  2257 + <xloc>549</xloc>
  2258 + <yloc>191</yloc>
  2259 + <draw>Y</draw>
  2260 + </GUI>
  2261 + </step>
  2262 +
  2263 + <step>
  2264 + <name>&#x6587;&#x672c;&#x6587;&#x4ef6;&#x8f93;&#x51fa;</name>
  2265 + <type>TextFileOutput</type>
  2266 + <description/>
  2267 + <distribute>Y</distribute>
  2268 + <custom_distribution/>
  2269 + <copies>1</copies>
  2270 + <partitioning>
  2271 + <method>none</method>
  2272 + <schema_name/>
  2273 + </partitioning>
  2274 + <separator>&#x3b;</separator>
  2275 + <enclosure>&#x22;</enclosure>
  2276 + <enclosure_forced>N</enclosure_forced>
  2277 + <enclosure_fix_disabled>N</enclosure_fix_disabled>
  2278 + <header>Y</header>
  2279 + <footer>N</footer>
  2280 + <format>DOS</format>
  2281 + <compression>None</compression>
  2282 + <encoding>UTF-8</encoding>
  2283 + <endedLine/>
  2284 + <fileNameInField>N</fileNameInField>
  2285 + <fileNameField/>
  2286 + <create_parent_folder>Y</create_parent_folder>
  2287 + <file>
  2288 + <name>&#x24;&#x7b;tempfilepath&#x7d;</name>
  2289 + <is_command>N</is_command>
  2290 + <servlet_output>N</servlet_output>
  2291 + <do_not_open_new_file_init>N</do_not_open_new_file_init>
  2292 + <extention>txt</extention>
  2293 + <append>N</append>
  2294 + <split>N</split>
  2295 + <haspartno>N</haspartno>
  2296 + <add_date>N</add_date>
  2297 + <add_time>N</add_time>
  2298 + <SpecifyFormat>N</SpecifyFormat>
  2299 + <date_time_format/>
  2300 + <add_to_result_filenames>Y</add_to_result_filenames>
  2301 + <pad>N</pad>
  2302 + <fast_dump>N</fast_dump>
  2303 + <splitevery>0</splitevery>
  2304 + </file>
  2305 + <fields>
  2306 + <field>
  2307 + <name>lp</name>
  2308 + <type>String</type>
  2309 + <format/>
  2310 + <currency/>
  2311 + <decimal/>
  2312 + <group/>
  2313 + <nullif/>
  2314 + <trim_type>none</trim_type>
  2315 + <length>255</length>
  2316 + <precision>-1</precision>
  2317 + </field>
  2318 + <field>
  2319 + <name>fcno1</name>
  2320 + <type>String</type>
  2321 + <format/>
  2322 + <currency/>
  2323 + <decimal/>
  2324 + <group/>
  2325 + <nullif/>
  2326 + <trim_type>none</trim_type>
  2327 + <length>-1</length>
  2328 + <precision>-1</precision>
  2329 + </field>
  2330 + <field>
  2331 + <name>fcno2</name>
  2332 + <type>String</type>
  2333 + <format/>
  2334 + <currency/>
  2335 + <decimal/>
  2336 + <group/>
  2337 + <nullif/>
  2338 + <trim_type>none</trim_type>
  2339 + <length>-1</length>
  2340 + <precision>-1</precision>
  2341 + </field>
  2342 + <field>
  2343 + <name>fcno3</name>
  2344 + <type>String</type>
  2345 + <format/>
  2346 + <currency/>
  2347 + <decimal/>
  2348 + <group/>
  2349 + <nullif/>
  2350 + <trim_type>none</trim_type>
  2351 + <length>-1</length>
  2352 + <precision>-1</precision>
  2353 + </field>
  2354 + <field>
  2355 + <name>fcno4</name>
  2356 + <type>String</type>
  2357 + <format/>
  2358 + <currency/>
  2359 + <decimal/>
  2360 + <group/>
  2361 + <nullif/>
  2362 + <trim_type>none</trim_type>
  2363 + <length>-1</length>
  2364 + <precision>-1</precision>
  2365 + </field>
  2366 + <field>
  2367 + <name>fcno5</name>
  2368 + <type>String</type>
  2369 + <format/>
  2370 + <currency/>
  2371 + <decimal/>
  2372 + <group/>
  2373 + <nullif/>
  2374 + <trim_type>none</trim_type>
  2375 + <length>-1</length>
  2376 + <precision>-1</precision>
  2377 + </field>
  2378 + <field>
  2379 + <name>fcno6</name>
  2380 + <type>String</type>
  2381 + <format/>
  2382 + <currency/>
  2383 + <decimal/>
  2384 + <group/>
  2385 + <nullif/>
  2386 + <trim_type>none</trim_type>
  2387 + <length>-1</length>
  2388 + <precision>-1</precision>
  2389 + </field>
  2390 + <field>
  2391 + <name>fcno7</name>
  2392 + <type>String</type>
  2393 + <format/>
  2394 + <currency/>
  2395 + <decimal/>
  2396 + <group/>
  2397 + <nullif/>
  2398 + <trim_type>none</trim_type>
  2399 + <length>-1</length>
  2400 + <precision>-1</precision>
  2401 + </field>
  2402 + <field>
  2403 + <name>fcno8</name>
  2404 + <type>String</type>
  2405 + <format/>
  2406 + <currency/>
  2407 + <decimal/>
  2408 + <group/>
  2409 + <nullif/>
  2410 + <trim_type>none</trim_type>
  2411 + <length>-1</length>
  2412 + <precision>-1</precision>
  2413 + </field>
  2414 + <field>
  2415 + <name>fcno9</name>
  2416 + <type>String</type>
  2417 + <format/>
  2418 + <currency/>
  2419 + <decimal/>
  2420 + <group/>
  2421 + <nullif/>
  2422 + <trim_type>none</trim_type>
  2423 + <length>-1</length>
  2424 + <precision>-1</precision>
  2425 + </field>
  2426 + <field>
  2427 + <name>fcno10</name>
  2428 + <type>String</type>
  2429 + <format/>
  2430 + <currency/>
  2431 + <decimal/>
  2432 + <group/>
  2433 + <nullif/>
  2434 + <trim_type>none</trim_type>
  2435 + <length>-1</length>
  2436 + <precision>-1</precision>
  2437 + </field>
  2438 + <field>
  2439 + <name>fcno11</name>
  2440 + <type>String</type>
  2441 + <format/>
  2442 + <currency/>
  2443 + <decimal/>
  2444 + <group/>
  2445 + <nullif/>
  2446 + <trim_type>none</trim_type>
  2447 + <length>-1</length>
  2448 + <precision>-1</precision>
  2449 + </field>
  2450 + <field>
  2451 + <name>fcno12</name>
  2452 + <type>String</type>
  2453 + <format/>
  2454 + <currency/>
  2455 + <decimal/>
  2456 + <group/>
  2457 + <nullif/>
  2458 + <trim_type>none</trim_type>
  2459 + <length>-1</length>
  2460 + <precision>-1</precision>
  2461 + </field>
  2462 + <field>
  2463 + <name>fcno13</name>
  2464 + <type>String</type>
  2465 + <format/>
  2466 + <currency/>
  2467 + <decimal/>
  2468 + <group/>
  2469 + <nullif/>
  2470 + <trim_type>none</trim_type>
  2471 + <length>-1</length>
  2472 + <precision>-1</precision>
  2473 + </field>
  2474 + <field>
  2475 + <name>fcno14</name>
  2476 + <type>String</type>
  2477 + <format/>
  2478 + <currency/>
  2479 + <decimal/>
  2480 + <group/>
  2481 + <nullif/>
  2482 + <trim_type>none</trim_type>
  2483 + <length>-1</length>
  2484 + <precision>-1</precision>
  2485 + </field>
  2486 + <field>
  2487 + <name>fcno15</name>
  2488 + <type>String</type>
  2489 + <format/>
  2490 + <currency/>
  2491 + <decimal/>
  2492 + <group/>
  2493 + <nullif/>
  2494 + <trim_type>none</trim_type>
  2495 + <length>-1</length>
  2496 + <precision>-1</precision>
  2497 + </field>
  2498 + <field>
  2499 + <name>fcno16</name>
  2500 + <type>String</type>
  2501 + <format/>
  2502 + <currency/>
  2503 + <decimal/>
  2504 + <group/>
  2505 + <nullif/>
  2506 + <trim_type>none</trim_type>
  2507 + <length>-1</length>
  2508 + <precision>-1</precision>
  2509 + </field>
  2510 + <field>
  2511 + <name>fcno17</name>
  2512 + <type>String</type>
  2513 + <format/>
  2514 + <currency/>
  2515 + <decimal/>
  2516 + <group/>
  2517 + <nullif/>
  2518 + <trim_type>none</trim_type>
  2519 + <length>-1</length>
  2520 + <precision>-1</precision>
  2521 + </field>
  2522 + <field>
  2523 + <name>fcno18</name>
  2524 + <type>String</type>
  2525 + <format/>
  2526 + <currency/>
  2527 + <decimal/>
  2528 + <group/>
  2529 + <nullif/>
  2530 + <trim_type>none</trim_type>
  2531 + <length>-1</length>
  2532 + <precision>-1</precision>
  2533 + </field>
  2534 + <field>
  2535 + <name>fcno19</name>
  2536 + <type>String</type>
  2537 + <format/>
  2538 + <currency/>
  2539 + <decimal/>
  2540 + <group/>
  2541 + <nullif/>
  2542 + <trim_type>none</trim_type>
  2543 + <length>-1</length>
  2544 + <precision>-1</precision>
  2545 + </field>
  2546 + <field>
  2547 + <name>fcno20</name>
  2548 + <type>String</type>
  2549 + <format/>
  2550 + <currency/>
  2551 + <decimal/>
  2552 + <group/>
  2553 + <nullif/>
  2554 + <trim_type>none</trim_type>
  2555 + <length>-1</length>
  2556 + <precision>-1</precision>
  2557 + </field>
  2558 + <field>
  2559 + <name>fcno21</name>
  2560 + <type>String</type>
  2561 + <format/>
  2562 + <currency/>
  2563 + <decimal/>
  2564 + <group/>
  2565 + <nullif/>
  2566 + <trim_type>none</trim_type>
  2567 + <length>-1</length>
  2568 + <precision>-1</precision>
  2569 + </field>
  2570 + <field>
  2571 + <name>fcno22</name>
  2572 + <type>String</type>
  2573 + <format/>
  2574 + <currency/>
  2575 + <decimal/>
  2576 + <group/>
  2577 + <nullif/>
  2578 + <trim_type>none</trim_type>
  2579 + <length>-1</length>
  2580 + <precision>-1</precision>
  2581 + </field>
  2582 + <field>
  2583 + <name>fcno23</name>
  2584 + <type>String</type>
  2585 + <format/>
  2586 + <currency/>
  2587 + <decimal/>
  2588 + <group/>
  2589 + <nullif/>
  2590 + <trim_type>none</trim_type>
  2591 + <length>-1</length>
  2592 + <precision>-1</precision>
  2593 + </field>
  2594 + <field>
  2595 + <name>fcno24</name>
  2596 + <type>String</type>
  2597 + <format/>
  2598 + <currency/>
  2599 + <decimal/>
  2600 + <group/>
  2601 + <nullif/>
  2602 + <trim_type>none</trim_type>
  2603 + <length>-1</length>
  2604 + <precision>-1</precision>
  2605 + </field>
  2606 + <field>
  2607 + <name>fcno25</name>
  2608 + <type>String</type>
  2609 + <format/>
  2610 + <currency/>
  2611 + <decimal/>
  2612 + <group/>
  2613 + <nullif/>
  2614 + <trim_type>none</trim_type>
  2615 + <length>-1</length>
  2616 + <precision>-1</precision>
  2617 + </field>
  2618 + <field>
  2619 + <name>fcno26</name>
  2620 + <type>String</type>
  2621 + <format/>
  2622 + <currency/>
  2623 + <decimal/>
  2624 + <group/>
  2625 + <nullif/>
  2626 + <trim_type>none</trim_type>
  2627 + <length>-1</length>
  2628 + <precision>-1</precision>
  2629 + </field>
  2630 + <field>
  2631 + <name>fcno27</name>
  2632 + <type>String</type>
  2633 + <format/>
  2634 + <currency/>
  2635 + <decimal/>
  2636 + <group/>
  2637 + <nullif/>
  2638 + <trim_type>none</trim_type>
  2639 + <length>-1</length>
  2640 + <precision>-1</precision>
  2641 + </field>
  2642 + <field>
  2643 + <name>fcno28</name>
  2644 + <type>String</type>
  2645 + <format/>
  2646 + <currency/>
  2647 + <decimal/>
  2648 + <group/>
  2649 + <nullif/>
  2650 + <trim_type>none</trim_type>
  2651 + <length>-1</length>
  2652 + <precision>-1</precision>
  2653 + </field>
  2654 + <field>
  2655 + <name>fcno29</name>
  2656 + <type>String</type>
  2657 + <format/>
  2658 + <currency/>
  2659 + <decimal/>
  2660 + <group/>
  2661 + <nullif/>
  2662 + <trim_type>none</trim_type>
  2663 + <length>-1</length>
  2664 + <precision>-1</precision>
  2665 + </field>
  2666 + <field>
  2667 + <name>fcno30</name>
  2668 + <type>String</type>
  2669 + <format/>
  2670 + <currency/>
  2671 + <decimal/>
  2672 + <group/>
  2673 + <nullif/>
  2674 + <trim_type>none</trim_type>
  2675 + <length>-1</length>
  2676 + <precision>-1</precision>
  2677 + </field>
  2678 + <field>
  2679 + <name>fcno31</name>
  2680 + <type>String</type>
  2681 + <format/>
  2682 + <currency/>
  2683 + <decimal/>
  2684 + <group/>
  2685 + <nullif/>
  2686 + <trim_type>none</trim_type>
  2687 + <length>-1</length>
  2688 + <precision>-1</precision>
  2689 + </field>
  2690 + <field>
  2691 + <name>fcno32</name>
  2692 + <type>String</type>
  2693 + <format/>
  2694 + <currency/>
  2695 + <decimal/>
  2696 + <group/>
  2697 + <nullif/>
  2698 + <trim_type>none</trim_type>
  2699 + <length>-1</length>
  2700 + <precision>-1</precision>
  2701 + </field>
  2702 + <field>
  2703 + <name>fcno33</name>
  2704 + <type>String</type>
  2705 + <format/>
  2706 + <currency/>
  2707 + <decimal/>
  2708 + <group/>
  2709 + <nullif/>
  2710 + <trim_type>none</trim_type>
  2711 + <length>-1</length>
  2712 + <precision>-1</precision>
  2713 + </field>
  2714 + <field>
  2715 + <name>fcno34</name>
  2716 + <type>String</type>
  2717 + <format/>
  2718 + <currency/>
  2719 + <decimal/>
  2720 + <group/>
  2721 + <nullif/>
  2722 + <trim_type>none</trim_type>
  2723 + <length>-1</length>
  2724 + <precision>-1</precision>
  2725 + </field>
  2726 + <field>
  2727 + <name>fcno35</name>
  2728 + <type>String</type>
  2729 + <format/>
  2730 + <currency/>
  2731 + <decimal/>
  2732 + <group/>
  2733 + <nullif/>
  2734 + <trim_type>none</trim_type>
  2735 + <length>-1</length>
  2736 + <precision>-1</precision>
  2737 + </field>
  2738 + <field>
  2739 + <name>fcno36</name>
  2740 + <type>String</type>
  2741 + <format/>
  2742 + <currency/>
  2743 + <decimal/>
  2744 + <group/>
  2745 + <nullif/>
  2746 + <trim_type>none</trim_type>
  2747 + <length>-1</length>
  2748 + <precision>-1</precision>
  2749 + </field>
  2750 + <field>
  2751 + <name>fcno37</name>
  2752 + <type>String</type>
  2753 + <format/>
  2754 + <currency/>
  2755 + <decimal/>
  2756 + <group/>
  2757 + <nullif/>
  2758 + <trim_type>none</trim_type>
  2759 + <length>-1</length>
  2760 + <precision>-1</precision>
  2761 + </field>
  2762 + <field>
  2763 + <name>fcno38</name>
  2764 + <type>String</type>
  2765 + <format/>
  2766 + <currency/>
  2767 + <decimal/>
  2768 + <group/>
  2769 + <nullif/>
  2770 + <trim_type>none</trim_type>
  2771 + <length>-1</length>
  2772 + <precision>-1</precision>
  2773 + </field>
  2774 + <field>
  2775 + <name>fcno39</name>
  2776 + <type>String</type>
  2777 + <format/>
  2778 + <currency/>
  2779 + <decimal/>
  2780 + <group/>
  2781 + <nullif/>
  2782 + <trim_type>none</trim_type>
  2783 + <length>-1</length>
  2784 + <precision>-1</precision>
  2785 + </field>
  2786 + <field>
  2787 + <name>fcno40</name>
  2788 + <type>String</type>
  2789 + <format/>
  2790 + <currency/>
  2791 + <decimal/>
  2792 + <group/>
  2793 + <nullif/>
  2794 + <trim_type>none</trim_type>
  2795 + <length>-1</length>
  2796 + <precision>-1</precision>
  2797 + </field>
  2798 + <field>
  2799 + <name>fcno41</name>
  2800 + <type>String</type>
  2801 + <format/>
  2802 + <currency/>
  2803 + <decimal/>
  2804 + <group/>
  2805 + <nullif/>
  2806 + <trim_type>none</trim_type>
  2807 + <length>-1</length>
  2808 + <precision>-1</precision>
  2809 + </field>
  2810 + <field>
  2811 + <name>fcno42</name>
  2812 + <type>String</type>
  2813 + <format/>
  2814 + <currency/>
  2815 + <decimal/>
  2816 + <group/>
  2817 + <nullif/>
  2818 + <trim_type>none</trim_type>
  2819 + <length>-1</length>
  2820 + <precision>-1</precision>
  2821 + </field>
  2822 + <field>
  2823 + <name>fcno43</name>
  2824 + <type>String</type>
  2825 + <format/>
  2826 + <currency/>
  2827 + <decimal/>
  2828 + <group/>
  2829 + <nullif/>
  2830 + <trim_type>none</trim_type>
  2831 + <length>-1</length>
  2832 + <precision>-1</precision>
  2833 + </field>
  2834 + <field>
  2835 + <name>fcno44</name>
  2836 + <type>String</type>
  2837 + <format/>
  2838 + <currency/>
  2839 + <decimal/>
  2840 + <group/>
  2841 + <nullif/>
  2842 + <trim_type>none</trim_type>
  2843 + <length>-1</length>
  2844 + <precision>-1</precision>
  2845 + </field>
  2846 + <field>
  2847 + <name>fcno45</name>
  2848 + <type>String</type>
  2849 + <format/>
  2850 + <currency/>
  2851 + <decimal/>
  2852 + <group/>
  2853 + <nullif/>
  2854 + <trim_type>none</trim_type>
  2855 + <length>-1</length>
  2856 + <precision>-1</precision>
  2857 + </field>
  2858 + <field>
  2859 + <name>fcno46</name>
  2860 + <type>String</type>
  2861 + <format/>
  2862 + <currency/>
  2863 + <decimal/>
  2864 + <group/>
  2865 + <nullif/>
  2866 + <trim_type>none</trim_type>
  2867 + <length>-1</length>
  2868 + <precision>-1</precision>
  2869 + </field>
  2870 + <field>
  2871 + <name>fcno47</name>
  2872 + <type>String</type>
  2873 + <format/>
  2874 + <currency/>
  2875 + <decimal/>
  2876 + <group/>
  2877 + <nullif/>
  2878 + <trim_type>none</trim_type>
  2879 + <length>-1</length>
  2880 + <precision>-1</precision>
  2881 + </field>
  2882 + <field>
  2883 + <name>fcno48</name>
  2884 + <type>String</type>
  2885 + <format/>
  2886 + <currency/>
  2887 + <decimal/>
  2888 + <group/>
  2889 + <nullif/>
  2890 + <trim_type>none</trim_type>
  2891 + <length>-1</length>
  2892 + <precision>-1</precision>
  2893 + </field>
  2894 + <field>
  2895 + <name>fcno49</name>
  2896 + <type>String</type>
  2897 + <format/>
  2898 + <currency/>
  2899 + <decimal/>
  2900 + <group/>
  2901 + <nullif/>
  2902 + <trim_type>none</trim_type>
  2903 + <length>-1</length>
  2904 + <precision>-1</precision>
  2905 + </field>
  2906 + <field>
  2907 + <name>fcno50</name>
  2908 + <type>String</type>
  2909 + <format/>
  2910 + <currency/>
  2911 + <decimal/>
  2912 + <group/>
  2913 + <nullif/>
  2914 + <trim_type>none</trim_type>
  2915 + <length>-1</length>
  2916 + <precision>-1</precision>
  2917 + </field>
  2918 + <field>
  2919 + <name>fcno51</name>
  2920 + <type>String</type>
  2921 + <format/>
  2922 + <currency/>
  2923 + <decimal/>
  2924 + <group/>
  2925 + <nullif/>
  2926 + <trim_type>none</trim_type>
  2927 + <length>-1</length>
  2928 + <precision>-1</precision>
  2929 + </field>
  2930 + <field>
  2931 + <name>fcno52</name>
  2932 + <type>String</type>
  2933 + <format/>
  2934 + <currency/>
  2935 + <decimal/>
  2936 + <group/>
  2937 + <nullif/>
  2938 + <trim_type>none</trim_type>
  2939 + <length>-1</length>
  2940 + <precision>-1</precision>
  2941 + </field>
  2942 + <field>
  2943 + <name>fcno53</name>
  2944 + <type>String</type>
  2945 + <format/>
  2946 + <currency/>
  2947 + <decimal/>
  2948 + <group/>
  2949 + <nullif/>
  2950 + <trim_type>none</trim_type>
  2951 + <length>-1</length>
  2952 + <precision>-1</precision>
  2953 + </field>
  2954 + <field>
  2955 + <name>fcno54</name>
  2956 + <type>String</type>
  2957 + <format/>
  2958 + <currency/>
  2959 + <decimal/>
  2960 + <group/>
  2961 + <nullif/>
  2962 + <trim_type>none</trim_type>
  2963 + <length>-1</length>
  2964 + <precision>-1</precision>
  2965 + </field>
  2966 + <field>
  2967 + <name>fcno55</name>
  2968 + <type>String</type>
  2969 + <format/>
  2970 + <currency/>
  2971 + <decimal/>
  2972 + <group/>
  2973 + <nullif/>
  2974 + <trim_type>none</trim_type>
  2975 + <length>-1</length>
  2976 + <precision>-1</precision>
  2977 + </field>
  2978 + <field>
  2979 + <name>fcno56</name>
  2980 + <type>String</type>
  2981 + <format/>
  2982 + <currency/>
  2983 + <decimal/>
  2984 + <group/>
  2985 + <nullif/>
  2986 + <trim_type>none</trim_type>
  2987 + <length>-1</length>
  2988 + <precision>-1</precision>
  2989 + </field>
  2990 + <field>
  2991 + <name>fcno57</name>
  2992 + <type>String</type>
  2993 + <format/>
  2994 + <currency/>
  2995 + <decimal/>
  2996 + <group/>
  2997 + <nullif/>
  2998 + <trim_type>none</trim_type>
  2999 + <length>-1</length>
  3000 + <precision>-1</precision>
  3001 + </field>
  3002 + <field>
  3003 + <name>fcno58</name>
  3004 + <type>String</type>
  3005 + <format/>
  3006 + <currency/>
  3007 + <decimal/>
  3008 + <group/>
  3009 + <nullif/>
  3010 + <trim_type>none</trim_type>
  3011 + <length>-1</length>
  3012 + <precision>-1</precision>
  3013 + </field>
  3014 + <field>
  3015 + <name>fcno59</name>
  3016 + <type>String</type>
  3017 + <format/>
  3018 + <currency/>
  3019 + <decimal/>
  3020 + <group/>
  3021 + <nullif/>
  3022 + <trim_type>none</trim_type>
  3023 + <length>-1</length>
  3024 + <precision>-1</precision>
  3025 + </field>
  3026 + <field>
  3027 + <name>fcno60</name>
  3028 + <type>String</type>
  3029 + <format/>
  3030 + <currency/>
  3031 + <decimal/>
  3032 + <group/>
  3033 + <nullif/>
  3034 + <trim_type>none</trim_type>
  3035 + <length>-1</length>
  3036 + <precision>-1</precision>
  3037 + </field>
  3038 + <field>
  3039 + <name>fcno61</name>
  3040 + <type>String</type>
  3041 + <format/>
  3042 + <currency/>
  3043 + <decimal/>
  3044 + <group/>
  3045 + <nullif/>
  3046 + <trim_type>none</trim_type>
  3047 + <length>-1</length>
  3048 + <precision>-1</precision>
  3049 + </field>
  3050 + <field>
  3051 + <name>fcno62</name>
  3052 + <type>String</type>
  3053 + <format/>
  3054 + <currency/>
  3055 + <decimal/>
  3056 + <group/>
  3057 + <nullif/>
  3058 + <trim_type>none</trim_type>
  3059 + <length>-1</length>
  3060 + <precision>-1</precision>
  3061 + </field>
  3062 + <field>
  3063 + <name>fcno63</name>
  3064 + <type>String</type>
  3065 + <format/>
  3066 + <currency/>
  3067 + <decimal/>
  3068 + <group/>
  3069 + <nullif/>
  3070 + <trim_type>none</trim_type>
  3071 + <length>-1</length>
  3072 + <precision>-1</precision>
  3073 + </field>
  3074 + <field>
  3075 + <name>fcno64</name>
  3076 + <type>String</type>
  3077 + <format/>
  3078 + <currency/>
  3079 + <decimal/>
  3080 + <group/>
  3081 + <nullif/>
  3082 + <trim_type>none</trim_type>
  3083 + <length>-1</length>
  3084 + <precision>-1</precision>
  3085 + </field>
  3086 + <field>
  3087 + <name>fcno65</name>
  3088 + <type>String</type>
  3089 + <format/>
  3090 + <currency/>
  3091 + <decimal/>
  3092 + <group/>
  3093 + <nullif/>
  3094 + <trim_type>none</trim_type>
  3095 + <length>-1</length>
  3096 + <precision>-1</precision>
  3097 + </field>
  3098 + <field>
  3099 + <name>fcno66</name>
  3100 + <type>String</type>
  3101 + <format/>
  3102 + <currency/>
  3103 + <decimal/>
  3104 + <group/>
  3105 + <nullif/>
  3106 + <trim_type>none</trim_type>
  3107 + <length>-1</length>
  3108 + <precision>-1</precision>
  3109 + </field>
  3110 + <field>
  3111 + <name>fcno67</name>
  3112 + <type>String</type>
  3113 + <format/>
  3114 + <currency/>
  3115 + <decimal/>
  3116 + <group/>
  3117 + <nullif/>
  3118 + <trim_type>none</trim_type>
  3119 + <length>-1</length>
  3120 + <precision>-1</precision>
  3121 + </field>
  3122 + <field>
  3123 + <name>fcno68</name>
  3124 + <type>String</type>
  3125 + <format/>
  3126 + <currency/>
  3127 + <decimal/>
  3128 + <group/>
  3129 + <nullif/>
  3130 + <trim_type>none</trim_type>
  3131 + <length>-1</length>
  3132 + <precision>-1</precision>
  3133 + </field>
  3134 + <field>
  3135 + <name>fcno69</name>
  3136 + <type>String</type>
  3137 + <format/>
  3138 + <currency/>
  3139 + <decimal/>
  3140 + <group/>
  3141 + <nullif/>
  3142 + <trim_type>none</trim_type>
  3143 + <length>-1</length>
  3144 + <precision>-1</precision>
  3145 + </field>
  3146 + <field>
  3147 + <name>fcno70</name>
  3148 + <type>String</type>
  3149 + <format/>
  3150 + <currency/>
  3151 + <decimal/>
  3152 + <group/>
  3153 + <nullif/>
  3154 + <trim_type>none</trim_type>
  3155 + <length>-1</length>
  3156 + <precision>-1</precision>
  3157 + </field>
  3158 + </fields>
  3159 + <cluster_schema/>
  3160 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  3161 + <xloc>880</xloc>
  3162 + <yloc>365</yloc>
  3163 + <draw>Y</draw>
  3164 + </GUI>
  3165 + </step>
  3166 +
  3167 + <step>
  3168 + <name>&#x67e5;&#x627e;&#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x79f0;</name>
  3169 + <type>DBLookup</type>
  3170 + <description/>
  3171 + <distribute>Y</distribute>
  3172 + <custom_distribution/>
  3173 + <copies>1</copies>
  3174 + <partitioning>
  3175 + <method>none</method>
  3176 + <schema_name/>
  3177 + </partitioning>
  3178 + <connection>bus_control_variable</connection>
  3179 + <cache>Y</cache>
  3180 + <cache_load_all>Y</cache_load_all>
  3181 + <cache_size>0</cache_size>
  3182 + <lookup>
  3183 + <schema/>
  3184 + <table>bsth_c_stationroute</table>
  3185 + <orderby/>
  3186 + <fail_on_multiple>N</fail_on_multiple>
  3187 + <eat_row_on_failure>N</eat_row_on_failure>
  3188 + <key>
  3189 + <name>xl</name>
  3190 + <field>line</field>
  3191 + <condition>&#x3d;</condition>
  3192 + <name2/>
  3193 + </key>
  3194 + <key>
  3195 + <name>xl_dir</name>
  3196 + <field>directions</field>
  3197 + <condition>&#x3d;</condition>
  3198 + <name2/>
  3199 + </key>
  3200 + <key>
  3201 + <name>endZdType</name>
  3202 + <field>station_mark</field>
  3203 + <condition>&#x3d;</condition>
  3204 + <name2/>
  3205 + </key>
  3206 + <value>
  3207 + <name>station_name</name>
  3208 + <rename>zdzName</rename>
  3209 + <default/>
  3210 + <type>String</type>
  3211 + </value>
  3212 + </lookup>
  3213 + <cluster_schema/>
  3214 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  3215 + <xloc>688</xloc>
  3216 + <yloc>86</yloc>
  3217 + <draw>Y</draw>
  3218 + </GUI>
  3219 + </step>
  3220 +
  3221 + <step>
  3222 + <name>&#x67e5;&#x627e;&#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x79f0;</name>
  3223 + <type>DBLookup</type>
  3224 + <description/>
  3225 + <distribute>Y</distribute>
  3226 + <custom_distribution/>
  3227 + <copies>1</copies>
  3228 + <partitioning>
  3229 + <method>none</method>
  3230 + <schema_name/>
  3231 + </partitioning>
  3232 + <connection>bus_control_variable</connection>
  3233 + <cache>Y</cache>
  3234 + <cache_load_all>Y</cache_load_all>
  3235 + <cache_size>0</cache_size>
  3236 + <lookup>
  3237 + <schema/>
  3238 + <table>bsth_c_stationroute</table>
  3239 + <orderby/>
  3240 + <fail_on_multiple>N</fail_on_multiple>
  3241 + <eat_row_on_failure>N</eat_row_on_failure>
  3242 + <key>
  3243 + <name>xl</name>
  3244 + <field>line</field>
  3245 + <condition>&#x3d;</condition>
  3246 + <name2/>
  3247 + </key>
  3248 + <key>
  3249 + <name>xl_dir</name>
  3250 + <field>directions</field>
  3251 + <condition>&#x3d;</condition>
  3252 + <name2/>
  3253 + </key>
  3254 + <key>
  3255 + <name>startZdType</name>
  3256 + <field>station_mark</field>
  3257 + <condition>&#x3d;</condition>
  3258 + <name2/>
  3259 + </key>
  3260 + <value>
  3261 + <name>station_name</name>
  3262 + <rename>qdzName</rename>
  3263 + <default/>
  3264 + <type>String</type>
  3265 + </value>
  3266 + </lookup>
  3267 + <cluster_schema/>
  3268 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  3269 + <xloc>553</xloc>
  3270 + <yloc>86</yloc>
  3271 + <draw>Y</draw>
  3272 + </GUI>
  3273 + </step>
  3274 +
  3275 + <step>
  3276 + <name>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x7ad9;&#x70b9;&#x67e5;&#x8be2;&#x7528;&#x6570;&#x636e;</name>
  3277 + <type>ScriptValueMod</type>
  3278 + <description/>
  3279 + <distribute>Y</distribute>
  3280 + <custom_distribution/>
  3281 + <copies>1</copies>
  3282 + <partitioning>
  3283 + <method>none</method>
  3284 + <schema_name/>
  3285 + </partitioning>
  3286 + <compatible>N</compatible>
  3287 + <optimizationLevel>9</optimizationLevel>
  3288 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  3289 + <jsScript_name>Script 1</jsScript_name>
  3290 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var startZdType &#x3d; &#x27;B&#x27;&#x3b; &#x2f;&#x2f; &#x8d77;&#x70b9;&#x7ad9;&#x7ad9;&#x70b9;&#x7c7b;&#x578b;&#x6807;&#x8bc6;&#x522b;&#xa;var endZdType &#x3d; &#x27;E&#x27;&#x3b; &#x2f;&#x2f; &#x7ec8;&#x70b9;&#x7ad9;&#x7ad9;&#x70b9;&#x7c7b;&#x578b;&#x6807;&#x8bc6;</jsScript_script>
  3291 + </jsScript> </jsScripts> <fields> <field> <name>startZdType</name>
  3292 + <rename>startZdType</rename>
  3293 + <type>String</type>
  3294 + <length>-1</length>
  3295 + <precision>-1</precision>
  3296 + <replace>N</replace>
  3297 + </field> <field> <name>endZdType</name>
  3298 + <rename>endZdType</rename>
  3299 + <type>String</type>
  3300 + <length>-1</length>
  3301 + <precision>-1</precision>
  3302 + <replace>N</replace>
  3303 + </field> </fields> <cluster_schema/>
  3304 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  3305 + <xloc>391</xloc>
  3306 + <yloc>87</yloc>
  3307 + <draw>Y</draw>
  3308 + </GUI>
  3309 + </step>
  3310 +
  3311 + <step>
  3312 + <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>
  3313 + <type>GetVariable</type>
  3314 + <description/>
  3315 + <distribute>Y</distribute>
  3316 + <custom_distribution/>
  3317 + <copies>1</copies>
  3318 + <partitioning>
  3319 + <method>none</method>
  3320 + <schema_name/>
  3321 + </partitioning>
  3322 + <fields>
  3323 + <field>
  3324 + <name>xlid_</name>
  3325 + <variable>&#x24;&#x7b;xlid&#x7d;</variable>
  3326 + <type>Integer</type>
  3327 + <format/>
  3328 + <currency/>
  3329 + <decimal/>
  3330 + <group/>
  3331 + <length>-1</length>
  3332 + <precision>-1</precision>
  3333 + <trim_type>none</trim_type>
  3334 + </field>
  3335 + <field>
  3336 + <name>ttid_</name>
  3337 + <variable>&#x24;&#x7b;ttid&#x7d;</variable>
  3338 + <type>Number</type>
  3339 + <format/>
  3340 + <currency/>
  3341 + <decimal/>
  3342 + <group/>
  3343 + <length>-1</length>
  3344 + <precision>-1</precision>
  3345 + <trim_type>none</trim_type>
  3346 + </field>
  3347 + </fields>
  3348 + <cluster_schema/>
  3349 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  3350 + <xloc>45</xloc>
  3351 + <yloc>189</yloc>
  3352 + <draw>Y</draw>
  3353 + </GUI>
  3354 + </step>
  3355 +
  3356 + <step>
  3357 + <name>&#x8868;&#x8f93;&#x5165;</name>
  3358 + <type>TableInput</type>
  3359 + <description/>
  3360 + <distribute>Y</distribute>
  3361 + <custom_distribution/>
  3362 + <copies>1</copies>
  3363 + <partitioning>
  3364 + <method>none</method>
  3365 + <schema_name/>
  3366 + </partitioning>
  3367 + <connection>bus_control_variable</connection>
  3368 + <sql>select &#xa;t.id as id&#xa;, concat&#x28;g.id, &#x27;_&#x27;, g.lp_name&#x29; as lp&#xa;, g.xl as xl&#xa;, qdz&#xa;, zdz&#xa;, tcc&#xa;, fcsj&#xa;, jhlc&#xa;, bc_type &#xa;, bcs&#xa;, fcno&#xa;, xl_dir&#xa;, isfb&#xa;from bsth_c_s_ttinfo_detail t left join &#xa;bsth_c_s_gbi g on t.lp &#x3d; g.id &#xa;where &#xa;g.xl &#x3d; &#x3f; and&#xa;t.ttinfo &#x3d; &#x3f; &#xa;order by t.bcs asc</sql>
  3369 + <limit>0</limit>
  3370 + <lookup>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</lookup>
  3371 + <execute_each_row>N</execute_each_row>
  3372 + <variables_active>Y</variables_active>
  3373 + <lazy_conversion_active>N</lazy_conversion_active>
  3374 + <cluster_schema/>
  3375 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  3376 + <xloc>130</xloc>
  3377 + <yloc>85</yloc>
  3378 + <draw>Y</draw>
  3379 + </GUI>
  3380 + </step>
  3381 +
  3382 + <step>
  3383 + <name>&#x8ba1;&#x7b97;&#x53d1;&#x8f66;&#x7ad9;&#x540d;</name>
  3384 + <type>ScriptValueMod</type>
  3385 + <description/>
  3386 + <distribute>Y</distribute>
  3387 + <custom_distribution/>
  3388 + <copies>1</copies>
  3389 + <partitioning>
  3390 + <method>none</method>
  3391 + <schema_name/>
  3392 + </partitioning>
  3393 + <compatible>N</compatible>
  3394 + <optimizationLevel>9</optimizationLevel>
  3395 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  3396 + <jsScript_name>Script 1</jsScript_name>
  3397 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var fczdName &#x3d; null&#x3b; &#x2f;&#x2f; &#x53d1;&#x8f66;&#x7ad9;&#x70b9;&#x540d;&#x5b57;&#xa;if &#x28;bc_type &#x3d;&#x3d; &#x22;in&#x22;&#x29; &#x7b;&#xa; fczdName &#x3d; &#x22;&#x8fdb;&#x573a;&#x22;&#x3b;&#xa;&#x7d; else if &#x28;bc_type &#x3d;&#x3d; &#x22;out&#x22;&#x29; &#x7b;&#xa; fczdName &#x3d; &#x22;&#x51fa;&#x573a;&#x22;&#x3b;&#xa;&#x7d; else &#x7b;&#xa; fczdName &#x3d; qdzName&#x3b;&#xa;&#x7d;</jsScript_script>
  3398 + </jsScript> </jsScripts> <fields> <field> <name>fczdName</name>
  3399 + <rename>fczdName</rename>
  3400 + <type>String</type>
  3401 + <length>-1</length>
  3402 + <precision>-1</precision>
  3403 + <replace>N</replace>
  3404 + </field> </fields> <cluster_schema/>
  3405 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  3406 + <xloc>550</xloc>
  3407 + <yloc>276</yloc>
  3408 + <draw>Y</draw>
  3409 + </GUI>
  3410 + </step>
  3411 +
  3412 + <step>
  3413 + <name>&#x8fc7;&#x6ee4;&#x8bb0;&#x5f55;</name>
  3414 + <type>FilterRows</type>
  3415 + <description/>
  3416 + <distribute>Y</distribute>
  3417 + <custom_distribution/>
  3418 + <copies>1</copies>
  3419 + <partitioning>
  3420 + <method>none</method>
  3421 + <schema_name/>
  3422 + </partitioning>
  3423 +<send_true_to>&#x6b63;&#x5e38;&#x73ed;&#x6b21;&#x7ad9;&#x70b9;&#x67e5;&#x8be2;&#x7528;&#x6570;&#x636e;</send_true_to>
  3424 +<send_false_to>&#x8fdb;&#x573a;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x67e5;&#x8be2;&#x7528;&#x7684;&#x6570;&#x636e;</send_false_to>
  3425 + <compare>
  3426 +<condition>
  3427 + <negated>N</negated>
  3428 + <leftvalue>bc_type</leftvalue>
  3429 + <function>&#x3d;</function>
  3430 + <rightvalue/>
  3431 + <value><name>constant</name><type>String</type><text>normal</text><length>-1</length><precision>-1</precision><isnull>N</isnull><mask/></value> </condition>
  3432 + </compare>
  3433 + <cluster_schema/>
  3434 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  3435 + <xloc>248</xloc>
  3436 + <yloc>87</yloc>
  3437 + <draw>Y</draw>
  3438 + </GUI>
  3439 + </step>
  3440 +
  3441 + <step>
  3442 + <name>&#x8fdb;&#x573a;&#x51fa;&#x573a;&#x73ed;&#x6b21;&#x67e5;&#x8be2;&#x7528;&#x7684;&#x6570;&#x636e;</name>
  3443 + <type>ScriptValueMod</type>
  3444 + <description/>
  3445 + <distribute>Y</distribute>
  3446 + <custom_distribution/>
  3447 + <copies>1</copies>
  3448 + <partitioning>
  3449 + <method>none</method>
  3450 + <schema_name/>
  3451 + </partitioning>
  3452 + <compatible>N</compatible>
  3453 + <optimizationLevel>9</optimizationLevel>
  3454 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  3455 + <jsScript_name>Script 1</jsScript_name>
  3456 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var qdzName &#x3d; null&#x3b; &#x2f;&#x2f; &#x8d77;&#x70b9;&#x7ad9;&#x540d;&#x5b57;&#xa;var zdzName &#x3d; null&#x3b; &#x2f;&#x2f; &#x7ec8;&#x70b9;&#x7ad9;&#x540d;&#x5b57;</jsScript_script>
  3457 + </jsScript> </jsScripts> <fields> <field> <name>qdzName</name>
  3458 + <rename>qdzName</rename>
  3459 + <type>String</type>
  3460 + <length>-1</length>
  3461 + <precision>-1</precision>
  3462 + <replace>N</replace>
  3463 + </field> <field> <name>zdzName</name>
  3464 + <rename>zdzName</rename>
  3465 + <type>String</type>
  3466 + <length>-1</length>
  3467 + <precision>-1</precision>
  3468 + <replace>N</replace>
  3469 + </field> </fields> <cluster_schema/>
  3470 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  3471 + <xloc>250</xloc>
  3472 + <yloc>188</yloc>
  3473 + <draw>Y</draw>
  3474 + </GUI>
  3475 + </step>
  3476 +
  3477 + <step_error_handling>
  3478 + </step_error_handling>
  3479 + <slave-step-copy-partition-distribution>
  3480 +</slave-step-copy-partition-distribution>
  3481 + <slave_transformation>N</slave_transformation>
  3482 +
  3483 +</transformation>
... ...
src/main/resources/static/pages/base/stationroute/js/stationroute-ajax-getdata.js
... ... @@ -168,6 +168,13 @@ var GetAjaxData = function(){
168 168 },
169 169  
170 170 // 查询路段信息
  171 + getStationRouteInfo : function(lineId,direction,callback) {
  172 + $get('/stationroute/all',{'line.id_eq' : lineId , 'directions_eq' : direction},function(resultdata) {
  173 + callback && callback(resultdata);
  174 + });
  175 + },
  176 +
  177 + // 查询路段信息
171 178 getSectionRouteInfo : function(lineId,direction,callback) {
172 179 $get('/sectionroute/findSection',{'line.id_eq' : lineId , 'directions_eq' : direction},function(resultdata) {
173 180 callback && callback(resultdata);
... ...
src/main/resources/static/pages/base/stationroute/js/stationroute-list-events.js
... ... @@ -122,6 +122,27 @@ $(function(){
122 122 });*/
123 123 });
124 124  
  125 + $('#wrenchUpDis').on('click',function() {
  126 + var Line = LineObj.getLineObj();
  127 + GetAjaxData.getStation(Line.id,directionUpValue,function(rd) {
  128 + // 加载其它规划选择弹出层mobal页面
  129 + $.get('tzzj.html', function(m){
  130 + $(pjaxContainer).append(m);
  131 + $('#tzzj_mobal').trigger('tzzjMobal.show', [WorldsBMap,GetAjaxData,directionUpValue,Line.id,PublicFunctions,rd[0].children[0].children]);
  132 + });
  133 + });
  134 + })
  135 +
  136 + $('#wrenchDownDis').on('click',function() {
  137 + var Line = LineObj.getLineObj();
  138 + GetAjaxData.getStation(Line.id,directionDownValue,function(rd) {
  139 + // 加载其它规划选择弹出层mobal页面
  140 + $.get('tzzj.html', function(m){
  141 + $(pjaxContainer).append(m);
  142 + $('#tzzj_mobal').trigger('tzzjMobal.show', [WorldsBMap,GetAjaxData,directionDownValue,Line.id,PublicFunctions,rd[0].children[0].children]);
  143 + });
  144 + });
  145 + })
125 146  
126 147 $('#quoteDown').on('click',function() {
127 148 // 弹出提示层.
... ...
src/main/resources/static/pages/base/stationroute/list.html
... ... @@ -63,6 +63,10 @@
63 63 </li>
64 64 <li class="divider"> </li>
65 65 <li>
  66 + <a href="javascript:;" id="wrenchUpDis"><i class="fa fa-wrench"></i> 设置上行站距</a>
  67 + </li>
  68 + <li class="divider"> </li>
  69 + <li>
66 70 <a href="javascript:;" id="quoteDown"><i class="fa fa-long-arrow-down"></i> 引用下行路段</a>
67 71 </li>
68 72 <!-- <li>
... ... @@ -154,6 +158,10 @@
154 158 </li>
155 159 <li class="divider"> </li>
156 160 <li>
  161 + <a href="javascript:;" id="wrenchDownDis"><i class="fa fa-wrench"></i> 设置下行站距</a>
  162 + </li>
  163 + <li class="divider"> </li>
  164 + <li>
157 165 <a href="javascript:;" id="quoteUp"><i class="fa fa-long-arrow-up"></i> 引用上行路段</a>
158 166 </li>
159 167 <!-- <li>
... ...
src/main/resources/static/pages/base/stationroute/tzzj.html 0 → 100644
  1 +<!-- 调整站距 -->
  2 +<div class="modal fade" id="tzzj_mobal" tabindex="-1" role="basic" aria-hidden="true">
  3 + <div class="modal-dialog">
  4 + <div class="modal-content">
  5 + <div class="modal-header">
  6 + <button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button>
  7 + <h4 class="modal-title">调整站距 </h4>
  8 + </div>
  9 + <div class="modal-body">
  10 + <form class="form-horizontal" action="/" method="post" id="tzbcForm" role="form">
  11 + <!-- alert-danger 组件START -->
  12 + <div class="alert alert-danger display-hide" id="tzbcAlert">
  13 + <button class="close" data-close="alert"></button>
  14 + 您的输入有误,请检查下面的输入项
  15 + </div>
  16 + <div class="portlet-body">
  17 + <div class="table-container" style="margin-top: 10px">
  18 + <table class="table table-striped table-bordered table-hover table-checkable" id="datatable_bctz">
  19 + <thead>
  20 + <tr role="row" class="heading">
  21 + <th width="1%"></th>
  22 + <th width="33%">站点序号</th>
  23 + <th width="33%">站点路由</th>
  24 + <th width="33%">站距(米/单位)</th>
  25 + </tr>
  26 + </thead>
  27 + <tbody></tbody>
  28 + </table>
  29 + </div>
  30 + </div>
  31 + </form>
  32 + </div>
  33 + <div class="modal-footer">
  34 + <button type="button" class="btn default" data-dismiss="modal">取消</button>
  35 + <button type="button" class="btn btn-primary" id="tzbcnext">保存</button>
  36 + </div>
  37 + </div>
  38 + </div>
  39 +</div>
  40 +<script type="text/html" id="tzzj_temp">
  41 +{{each list as obj i }}
  42 + <tr role="row" class="filter">
  43 + <td></td>
  44 + <td>
  45 + <!--<input type="text" readonly class="form-control form-filter input-sm" value="{{i+1}}">-->
  46 + {{i+1}}
  47 + </td>
  48 + <td>
  49 + <!-- <input type="text" readonly class="form-control form-filter input-sm" name="station_{{i+1}}" value="{{obj.name}}">-->
  50 + {{obj.name}}
  51 + </td>
  52 + <td>
  53 + <input type="text" class="form-control form-filter input-sm" name="dis_{{obj.stationRouteId}}" value="{{obj.stationRouteDistances * 1000}}">
  54 + </td>
  55 + </tr>
  56 +{{/each}}
  57 +{{if list.length == 0}}
  58 + <tr>
  59 + <td colspan=4><h6 class="muted">没有找到相关数据</h6></td>
  60 + </tr>
  61 + {{/if}}
  62 +</script>
  63 +<script type="text/javascript">
  64 +$('#tzzj_mobal').on('tzzjMobal.show', function(e,map,gd,dir,lineid,pf,rd){
  65 + setTimeout(function(){
  66 + // 加载延迟200毫秒显示mobal
  67 + $('#tzzj_mobal').modal({show : true,backdrop: 'static', keyboard: false});
  68 + },200);
  69 + // 当模态框对用户可见时触发(将等待 CSS 过渡效果完成)。
  70 + $('#tzzj_mobal').on('show.bs.modal', function () {
  71 + console.log(rd);
  72 + // 把数据填充到模版中
  73 + var tbodyHtml = template('tzzj_temp',{list:rd});
  74 + // 把渲染好的模版html文本追加到表格中
  75 + $('#datatable_bctz tbody').html(tbodyHtml);
  76 + });
  77 + // 获取表单元素
  78 + var form = $('#tzbcForm');
  79 + // 错误提示元素
  80 + var tzbcAlert = $('#tzbcAlert', form);
  81 + // 下一步点击事件
  82 + $('#tzbcnext').on('click', function() {
  83 + form.submit();// 表单提交
  84 + });
  85 + // 表单验证
  86 + form.validate({
  87 + errorElement : 'span',
  88 + errorClass : 'help-block help-block-error',
  89 + focusInvalid : false,
  90 + rules : {
  91 + },
  92 + invalidHandler : function(event, validator) {
  93 + tzbcAlert.show();
  94 + App.scrollTo(reladplusname, -200);
  95 + },
  96 + highlight : function(element) {
  97 + $(element).closest('.form-group').addClass('has-error');
  98 + },
  99 + unhighlight : function(element) {
  100 + $(element).closest('.form-group').removeClass('has-error');
  101 + },
  102 + success : function(label) {
  103 + label.closest('.form-group').removeClass('has-error');
  104 + },
  105 + submitHandler : function(f) {
  106 + // 获取表单内容,并序列化
  107 + var params = form.serializeJSON();
  108 + $post('/stationroute/upddis',params,function(data) {
  109 + // 隐藏错误提示
  110 + tzbcAlert.hide();
  111 + // 隐藏 reladplus_mobal 弹出层
  112 + $('#tzzj_mobal').modal('hide');
  113 + if(data.status=='SUCCESS') {
  114 + // 弹出添加成功提示消息
  115 + layer.msg('修改成功...');
  116 + map.clearMarkAndOverlays();
  117 + // 刷新左边树
  118 + pf.resjtreeDate(lineid,dir);
  119 + pf.resjtreeDate(lineid,dir);
  120 + /** 查询上行路段信息 @param:<Line.id:线路Id;0:上行> @return:data:路段数据 */
  121 + gd.getSectionRouteInfo(lineid,dir,function(data) {
  122 + /** 在地图上画出线路走向 @param:<Line.id:线路Id;0:上行;data:路段数据> */
  123 + pf.linePanlThree(lineid,data,dir);
  124 + });
  125 + }else {
  126 + // 弹出添加失败提示消息
  127 + layer.msg('修改失败...');
  128 + }
  129 + });
  130 + }
  131 + });
  132 +});
  133 +</script>
0 134 \ No newline at end of file
... ...
src/main/resources/static/pages/base/timesmodel/add.html
... ... @@ -9,7 +9,6 @@
9 9 width: 69%;
10 10 }
11 11 </style>
12   -
13 12 <!-- 片段标题 START -->
14 13 <div class="page-head">
15 14 <div class="page-title">
... ... @@ -17,8 +16,6 @@
17 16 </div>
18 17 </div>
19 18 <!-- 片段标题 END -->
20   -
21   -
22 19 <!-- 线路信息导航栏组件 START -->
23 20 <ul class="page-breadcrumb breadcrumb">
24 21 <li><a href="/pages/home.html" data-pjax>首页</a> <i class="fa fa-circle"></i></li>
... ... @@ -26,8 +23,6 @@
26 23 <li><span class="active">时刻表明细制作建模</span></li>
27 24 </ul>
28 25 <!-- 线路信息导航栏组件 END -->
29   -
30   -
31 26 <div class="portlet light bordered" id="form-wizard-info">
32 27 <div class="portlet-title">
33 28 <div class="caption">
... ... @@ -44,7 +39,6 @@
44 39 </div>
45 40 </div>
46 41 <div class="portlet-body form">
47   -
48 42 <!-- START FORM 表单容器 -->
49 43 <form class="form-horizontal" id="submit_argus_form" action="/" method="POST" novalidate="novalidate">
50 44 <div class="form-wizard">
... ... @@ -94,7 +88,6 @@
94 88 <button class="close" data-dismiss="alert"></button>
95 89 验证成功!
96 90 </div>
97   -
98 91 <!-- 线路名称 -->
99 92 <div class="tab-pane active" id="tab1">
100 93 <h3 class="block"> 选择时刻表 </h3>
... ...
src/main/resources/static/pages/base/timesmodel/js/add-form-wizard.js
1 1  
2 2 /**
3   - * 表单的导航向导、验证、提交
4   - *
  3 + * @description : (TODO) 表单的导航向导、验证、提交
5 4 */
6 5  
7 6 var SKBFormWizard = function() {
  7 +
  8 + var bxrcGs = [ {'type':'六工一休','hoursV':6.66, 'minueV':'6:40'},
  9 + {'type':'五工一休','hoursV':6.85, 'minueV':'6:51'},
  10 + {'type':'四工一休','hoursV':7.14, 'minueV':'7:08'},
  11 + {'type':'三工一休','hoursV':7.61, 'minueV':'7:37'},
  12 + {'type':'二工一休','hoursV':8.57, 'minueV':'8:34'},
  13 + {'type':'一工一休','hoursV':11.42, 'minueV':'11:25'},
  14 + {'type':'五工二休','hoursV':7.99, 'minueV':'8:00'},
  15 + {'type':'无工休', 'hoursV':5.43, 'minueV':'5:43'}];
  16 +
  17 + /**
  18 + * @description : (TODO) 获取停站时间.
  19 + *
  20 + * @param [o--当前班次对象;d--班次数组对象;sj--当前班次时间]
  21 + *
  22 + * @return 返回相邻班次的停站时间.
  23 + * */
  24 + function gettzsj(o,d,sj) {
  25 + // 定义停站时间.
  26 + var tzsj = 0;
  27 + // 变量班次数组对象.
  28 + for(var i = 0 ;i<d.length;i++) {
  29 + // 判断是否为同一个路牌.
  30 + if(o.lp.lpNo == d[i].lp.lpNo && o.lp.id == d[i].lp.id) {
  31 + // 判断是否为当前班次的下一个班次.
  32 + if(d[i].fcno - o.fcno ==1){
  33 + // 计算停站时间.
  34 + tzsj = (strToTime(d[i].fcsj) -strToTime(sj)) / 60000;
  35 + continue;
  36 + }
  37 + }
  38 + }
  39 + // 返回停站时间.
  40 + return tzsj;
  41 + }
  42 +
  43 + /**
  44 + * @description : (TODO) 是否切换线路值转换.
  45 + *
  46 + * @param [d--是否切换线路原始值].
  47 + *
  48 + * @return 返回一个是否切换线路值的转换.
  49 + * */
  50 + function isSwitchXlTodm(d) {
  51 + var rstr = 0;
  52 + if(d)
  53 + rstr = 1;
  54 + return rstr;
  55 + }
  56 +
  57 + /**
  58 + * @description : (TODO) 是否分班值转换.
  59 + *
  60 + * @param [d--是否分班原始值].
  61 + *
  62 + * @return 返回一个是否分班值的转换.
  63 + * */
  64 + function isfbTodm(b) {
  65 + var rstr = 0;
  66 + if(b)
  67 + rstr = 1;
  68 + return rstr;
  69 + }
  70 +
  71 + /**
  72 + * @description : (TODO) 获取某个班次的到达时间字符串.
  73 + *
  74 + * @param [tStr--发车时间格式字符串;bcsj--班次历时].
  75 + *
  76 + * @return 返回一个某个班次的到达时间字符串.
  77 + * */
  78 + function getddsj(tStr,bcsj) {
  79 + // 定义当前时间对象.
  80 + var date = new Date();
  81 + // 分割字符串.
  82 + var _str = tStr.split(':');
  83 + // 设值小时.
  84 + date.setHours(parseInt(_str[0]));
  85 + // 设值分钟.
  86 + date.setMiutes(parseInt(_str[1]) + bcsj);
  87 + // 返回到达时间字符串.
  88 + return getTimeStr(date);
  89 + }
  90 +
  91 + /**
  92 + * @description : (TODO) 时间点格式字符串转时间对象.
  93 + *
  94 + * @param [t--时间点格式字符串]
  95 + *
  96 + * @return 返回一个时间点格式字符串转时间对象.
  97 + * */
  98 + var strToTime = function(t) {
  99 + // 定义当前时间对象.
  100 + var d = new Date;
  101 + // 判断是否为空.
  102 + if(t) {
  103 + // 分割字符串.
  104 + var _str = t.split(':');
  105 + // 设值小时.
  106 + d.setHours(parseInt(_str[0]));
  107 + // 设值分钟.
  108 + d.setMinutes(parseInt(_str[1]));
  109 + }
  110 + // 返回一个时间点格式字符串转时间对象.
  111 + return d;
  112 + }
  113 +
  114 + /**
  115 + * @description : (TODO) 时间对象转时间点格式字符串.
  116 + *
  117 + * @param [t--时间对象]
  118 + *
  119 + * @return 返回一个时间对象转时间点格式字符串.
  120 + * */
  121 + function getTimeStr(t) {
  122 + // 定义返回值.
  123 + var _str = '';
  124 + // 判断是否为空.
  125 + if(t) {
  126 + // 重新赋值.
  127 + _str = ((t.getHours()<10? '0' + t.getHours() : t.getHours()) == '00' ? '24' :(t.getHours()<10? '0' + t.getHours() : t.getHours()))
  128 + +':'
  129 + +(t.getMinutes()<10? '0' + t.getMinutes() : t.getMinutes());
  130 + }
  131 + // 返回时间对象转时间点格式字符串.
  132 + return _str;
  133 + }
  134 +
  135 + /**
  136 + * @description : (TODO) 方向值转换.
  137 + *
  138 + * @param [d--方向原始值].
  139 + *
  140 + * @return 返回一个方向值转换.
  141 + * */
  142 + function dmToDh(t) {
  143 + // 定义返回值.
  144 + var reslStr = '';
  145 + // 上行.
  146 + if(t=='0')
  147 + reslStr = 'relationshipGraph-up';
  148 + // 下行.
  149 + else if(t=='1')
  150 + reslStr = 'relationshipGraph-down';
  151 + // 返回一个方向值转换.
  152 + return reslStr;
  153 + }
  154 +
  155 + /**
  156 + * @description : (TODO) 获取线路标准详情.
  157 + *
  158 + * @param [lineId--线路ID;cb--回调函数].
  159 + *
  160 + * @return 返回线路标准详情.
  161 + *
  162 + * @status OK.
  163 + * */
8 164 var getLineInfo = function(lineId,cb) {
9   - // 根据线路标准ID查询详情
  165 + // 1、get异步请求.根据线路ID查询详情.
10 166 $get('/lineInformation',{'line.id_eq':lineId},function(result) {
  167 + // 2、返回线路标准详情.
11 168 return cb && cb(result);
12 169 });
13 170 }
  171 +
  172 + /**
  173 + * @description : (TODO) 获取所有的停车场详情.
  174 + *
  175 + * @param [cb--回调函数].
  176 + *
  177 + * @return 返回所有的停车场详情.
  178 + *
  179 + * @status OK.
  180 + * */
14 181 var gettccInfo = function (cb) {
  182 + // 1、get异步请求.获取所有的停车场详情.
15 183 $get('/carpark/all',null, function(cd){
  184 + // 2、返回所有的停车场详情.
16 185 return cb && cb(cd);
17 186 });
18 187 }
19 188  
  189 + /**
  190 + * @description : (TODO) 时间格式字符串转时间对象.
  191 + *
  192 + * @param [time--时间格式字符串].
  193 + *
  194 + * @return 返回一个时间对象.
  195 + *
  196 + * @status OK.
  197 + * */
20 198 var getDateTime = function(time) {
  199 + // 1、定义一个时间对象.
21 200 var dateTime = new Date();
  201 + // 2、判断参数是否为空或者为undefined.
22 202 if(time !=null && time !='' && typeof(time) !='undefined') {
  203 + // 3、给时间对象重新赋值.
23 204 dateTime = new Date(Date.parse(time.replace(/-/g, "/")));
24 205 }
  206 + // 4、返回时间对象.
25 207 return dateTime;
26 208 }
27 209  
28   -
  210 + /**
  211 + * @description : (TODO) 客流方式填充表单时.根据表单参数封装时间段内的车辆数.
  212 + *
  213 + * @param : [map--表单参数]
  214 + *
  215 + * @returns 返回一个根据表单参数封装时间段内的车辆数数组.
  216 + *
  217 + * @status OK.
  218 + * */
29 219 function getsjdArr(map) {
  220 + // 1、获取营运的开始与结束时间点.
30 221 var seMap = getStartAndEndDate(map);
31   - return [{'num':0,'time':seMap.s + '-' + map.earlyStartTime},
32   - {'num':0,'time':map.earlyStartTime + '-' + map.earlyEndTime},
33   - {'num':0,'time':map.earlyEndTime + '-' + map.lateStartTime},
34   - {'num':0,'time':map.lateStartTime + '-' + map.lateEndTime},
35   - {'num':0,'time':map.lateEndTime + '-' + seMap.e}];
  222 + // 2、返回一个根据表单参数封装时间段内的车辆数数组.
  223 + return [{'num':0,'time':seMap.s + '-' + map.earlyStartTime},// 早高峰之前时间段内的车辆.
  224 + {'num':0,'time':map.earlyStartTime + '-' + map.earlyEndTime}, // 早高峰时间段内的车辆.
  225 + {'num':0,'time':map.earlyEndTime + '-' + map.lateStartTime},// 高峰之间时间段内的车辆
  226 + {'num':0,'time':map.lateStartTime + '-' + map.lateEndTime},// 晚高峰时间段内的车辆.
  227 + {'num':0,'time':map.lateEndTime + '-' + seMap.e}];// 晚高峰之后时间段内的车辆.
36 228 }
37   -
38   - function getStartAndEndDate(map) {
39   - return {'s':getMinDate(map.line.startStationFirstTime,map.line.endStationFirstTime),
40   - 'e':getMaxDate(map.line.startStationEndTime,map.line.endStationEndTime)}
41   - }
42   -
  229 +
  230 + /**
  231 + * @description : (TODO) 获取最小时间(字符串).
  232 + *
  233 + * @param [d1--时间1;d2--时间2].
  234 + *
  235 + * @return 返回一个最小时间(字符串).
  236 + *
  237 + * @status OK.
  238 + * */
43 239 function getMinDate(d1,d2) {
  240 + // 1、定义返回字符串.
44 241 var str = '';
  242 + // 2、判断时间大小.
45 243 if(strToTime(d1)>strToTime(d2))
46 244 str = d2;
47 245 else
48 246 str = d1;
  247 + // 3、返回最小时间(字符串).
49 248 return str;
50 249 }
51 250  
52   - function strToTime(t) {
53   - var d = new Date();
54   - if(t) {
55   - var _str = t.split(':');
56   - d.setHours(parseInt(_str[0]));
57   - d.setMinutes(parseInt(_str[1]));
58   - }
59   - return d;
60   - }
61   -
  251 + /**
  252 + * @description : (TODO) 获取最大时间(字符串).
  253 + *
  254 + * @param [d1--时间1;d2--时间2].
  255 + *
  256 + * @return 返回一个最大时间(字符串).
  257 + *
  258 + * @status OK.
  259 + * */
62 260 function getMaxDate(d1,d2) {
  261 + // 1、定义返回时间字符串.
63 262 var str = '';
  263 + // 2、判断时间大小.
64 264 if(strToTime(d1)>strToTime(d2))
65 265 str = d1;
66 266 else
67 267 str = d2;
  268 + // 3、返回一个最大时间(字符串).
68 269 return str;
69 270 }
70 271  
  272 + /**
  273 + * @description : (TODO) 判断是否这时间段内.
  274 + *
  275 + * @param [st--开始时间;ed--结束时间;sj--当前判断的时间]
  276 + *
  277 + * @return 返回一个布尔值.
  278 + *
  279 + * @status OK.
  280 + * */
71 281 function issjd(st,ed,sj) {
  282 + // 1、定义返回值.
72 283 var tag = false;
  284 + // 2、判断时间大小.
73 285 if(sj<=ed && sj>=st)
  286 + // 3、重新赋值返回值.
74 287 tag = true;
  288 + // 4、返回判断结果布尔值.
75 289 return tag;
76 290 }
77 291  
  292 + /**
  293 + * @description : (TODO) 获取客流数据.
  294 + *
  295 + * @params [url--请求地址;data--请求参数;cb--回调函数]
  296 + *
  297 + * */
  298 + function getJSONP(url, data, cb) {
  299 + $.ajax({
  300 + url : url,
  301 + type : "GET",
  302 + dataType : 'jsonp',
  303 + jsonp : 'jsoncallback',
  304 + data : data,
  305 + success : cb
  306 + });
  307 + }
  308 +
  309 + /**
  310 + * @description : (TODO) 根据获取参数方式来获取表单参数详情html模版页.
  311 + *
  312 + * @param [n--获取参数方式;map--表单参数;lineId--线路ID;krl--客容量;cb--回调函数]
  313 + *
  314 + * @return 返回表单参数详情html模版页.
  315 + *
  316 + * @status OK.
  317 + * */
78 318 var getHtmlTemp = function(n,map,lineId,krl,cb) {
79   - var zzsj = parseInt(map.upTravelTime) + 10*2 + parseInt(map.downTravelTime);
  319 + // 1、定义模版名称.
80 320 var tempName = '';
81   - var date = new Date(),
82   - rq = date.getFullYear() + '-' + (date.getMonth()+1) + '-' + (date.getDate()-3);
83   - var startDateTime = rq + ' ' + '00:00';
84   - var endDateTime = rq + ' ' + '23:59';
85   - var params = {'xlid':'10773','startDateTime':startDateTime,'endDateTime':endDateTime,'zzsj':zzsj};
86   - if(n==0) {
  321 + if(n==0)
87 322 tempName = 'carnum_temp';
88   - }else if(n==1) {
89   - tempName = 'bctype_temp';
90   - }
  323 + else if(n==1)
  324 + tempName = 'bctype_temp';
  325 + // 2、获参数详情模版html内容.
91 326 $.get('/pages/base/timesmodel/tepms/'+ tempName + '.html', function(html){
92 327 $('#tab3').append(html);
93   - map.lb = 15;
94   - map.workeLunch = 20;
95   - map.workeDinner = 20;
96   - map.mixstopTime = 3;
97   - map.maxstopTime = 20;
98   - map.stopTime = 10;
  328 + map.lb = 15;// 定义例保时间.
  329 + map.workeLunch = 20;// 定义午餐时间.
  330 + map.workeDinner = 20;// 定义晚餐时间.
  331 + map.mixstopTime = 3;// 定义最小停站间隙
  332 + map.maxstopTime = 22;// 定义最大停站间隙.
  333 + map.stopTime = 10;// 定义停站时间.
99 334 if(n==0) {
100   - getJSONP("http://139.196.13.237:8080/bsth-busfareflow-gj/Crlcxb/selectsjbctgl.do",params,function(json){
101   - console.log(json);
  335 + // 定义一个周转时间.
  336 + var zzsj = parseInt(map.upTravelTime) + 10*2 + parseInt(map.downTravelTime);
  337 + // 定义时间对象.
  338 + var date = new Date(),
  339 + rq = date.getFullYear() + '-' + (date.getMonth()+1) + '-' + (date.getDate()-7);
  340 + // 定义开始时间字符串.
  341 + var startDateTime = rq + ' ' + '00:00';
  342 + // 定义结束时间自妇产.
  343 + var endDateTime = rq + ' ' + '23:59';
  344 + // 定义请求参数集合.
  345 + var params = {'xlid':lineId,'startDateTime':startDateTime,'endDateTime':endDateTime,'zzsj':zzsj};
  346 + /**
  347 + * getJSONP请求获取客流数据.
  348 + *
  349 + * 返回的是一个每次以半小时为间隔作为开始时间点, 在加上周转时间作为结束时间点的 时段段内的客流最大通过量.
  350 + * */
  351 + getJSONP("http://139.196.13.237:8080/bsth-busfareflow-gj/Crlcxb/selectsjbctgl.do",params,function(json){
  352 + // 定义时段集合,可容量.
102 353 var sjdArr = getsjdArr(map),krlInt = parseInt(krl);
  354 + // 遍历时段集合.
103 355 for(var s = 0 ; s<sjdArr.length;s++) {
  356 + // 分割时间段.
104 357 var strA = sjdArr[s].time.split('-');
  358 + // 定义开始时间与结束时间,车辆数.
105 359 var st = getDateTime(rq + ' ' + strA[0]),et = getDateTime(rq + ' ' + strA[1]),num = 0;
  360 + // 遍历时间段内的客流数据集合.
106 361 for(var j = 0 ; j < json.length; j ++) {
  362 + // 定义当前客流班次产生的时间.
107 363 var dqsj = getDateTime(json[j].sj);
  364 + // 判断是否这时间段内.
108 365 if(issjd(st,et,dqsj)) {
  366 + // 车辆数相加.
109 367 num = num + Math.ceil(parseInt(json[j].tgl)/krlInt);
110 368 }
111 369 }
112 370 sjdArr[s].num = num;
113 371 }
114   - /*map.zgfbeforepcs = sjdArr[0].num;
115   - map.zgfpcs = sjdArr[1].num;
116   - map.gfzjpcs = sjdArr[2].num;
117   - map.wgfpcs = sjdArr[3].num;
118   - map.wgfafterpcs = sjdArr[4].num;*/
119   - map.zgfbeforepcs = 3;
120   - map.zgfpcs = 10;
121   - map.gfzjpcs = 8;
122   - map.wgfpcs = 10;
123   - map.wgfafterpcs = 5;
124   -
  372 + map.zgfbeforepcs = sjdArr[0].num;// 早高峰前配车数
  373 + map.zgfpcs = sjdArr[2].num;// 早高峰配车数
  374 + map.gfzjpcs = sjdArr[4].num;// 高峰之间配车数
  375 + map.wgfpcs = sjdArr[2].num ;// 晚高峰配车数
  376 + map.wgfafterpcs = sjdArr[1].num + sjdArr[3].num;// 晚高峰后配车数
  377 + // 返回参数详情模版.
125 378 return cb && cb ({'forminput':template(tempName,{map:map}),'datadisplay': template(tempName +'config',{map:null})});
126 379 });
127 380 }else if(n==1) {
  381 + // 返回参数详情模版.
128 382 return cb && cb ({'forminput':template(tempName,{map:map}),'datadisplay': template(tempName +'config',{map:null})});
129 383 }
130 384 });
131 385 }
132   - var getCarNumber = function (param,cb) {
133   - $post('url',param,function(data) {
134   - return cb && cb(data);
135   - })
  386 +
  387 + /**
  388 + * @description (TODO) 格式化成渲染图形数据格式.
  389 + *
  390 + * @param [d--查询出的时刻表明细数据.]
  391 + *
  392 + * @return 返回渲染图形的数据格式.
  393 + * */
  394 + function formatData(d) {
  395 + // 定义返回值.
  396 + var resultD = new Array();
  397 + for(var i =0;i<d.length;i++) {
  398 + var obj = {};
  399 + var ddsj = getddsj(d[i].fcsj,d[i].bcsj);// 到达时间.
  400 + obj.bcType = d[i].bcType;// 班次类型
  401 + obj.bcs = d[i].bcs;// 班次数
  402 + obj.bcsj = d[i].bcsj;// 班次时间
  403 + obj.fcno = d[i].fcno;// 发车序号
  404 + obj.fcsj = d[i].fcsj;// 发车时间
  405 + obj.ARRIVALTIME = ddsj// 到达时间
  406 + obj.jhlc = d[i].jhlc;// 计划里程
  407 + obj.lp = d[i].lp==null ? null : d[i].lp.id;// 路牌id
  408 + obj.lpType = d[i].lp==null ? null : d[i].lp.lpType;// 路牌类型
  409 + obj.parent = d[i].lp.lpName;// 路牌名称
  410 + obj.lpNo = d[i].lp.lpNo;// 路牌编码
  411 + obj.tcc = d[i].tcc==null ? null : d[i].tcc.id;// 停车场id
  412 + obj.ttinfo = d[i].ttinfo==null ? null : d[i].ttinfo.id;// 时刻表id
  413 + obj.xl = d[i].xl==null ? null : d[i].xl.id;// 线路id
  414 + obj.xlDir = dmToDh(d[i].xlDir);// 方向【0:relationshipGraph-up 上行;1:relationshipGraph-down 下行】
  415 + obj.qdz = d[i].qdz==null ? null : d[i].qdz.id;// 起点站id
  416 + obj.zdz = d[i].zdz==null ? null : d[i].zdz.id;//终点站id
  417 + obj.isfb = isfbTodm(d[i].isFB);// 是否分班【0:false;1:true】
  418 + obj.isSwitchXl = isSwitchXlTodm(d[i].isSwitchXl);// 是否切换线路【0:false;1:true】
  419 + obj.STOPTIME = gettzsj(d[i],d,ddsj);// 停站时间.
  420 + resultD.push(obj);
  421 + }
  422 + // 返回渲染图形的数据格式.
  423 + return resultD;
136 424 }
  425 +
  426 + /**
  427 + * @description : (TODO) 获取开始与结束时间字符串.
  428 + *
  429 + * @param [map--表单配置参数]
  430 + *
  431 + * @return 返回开始与结束时间字符串集合.
  432 + * */
  433 + function getStartAndEndDate(map) {
  434 + return {'s':getMinDate(map.line.startStationFirstTime,map.line.endStationFirstTime),
  435 + 'e':getMaxDate(map.line.startStationEndTime,map.line.endStationEndTime)}
  436 + }
  437 +
137 438 return {
138 439 // 启动初始化向导导航
139 440 init : function() {
... ... @@ -160,11 +461,11 @@ var SKBFormWizard = function() {
160 461 'earlyEndTime' : {required : true},// 早高峰结束时间,必填项 .
161 462 'lateStartTime' : {required : true},// 晚高峰开始时间,必填项 .
162 463 'lateEndTime' : {required : true},// 晚高峰结束时间,必填项.
163   - 'zgfbeforepcs' : {required : true,number : true,digits : true},// 早高峰前车辆数,必填项、必须为整数.
164   - 'zgfpcs' : {required : true,number : true,digits : true},// 早高峰车辆数,必填项、必须为整数.
165   - 'wgfafterpcs' : {required : true,number : true,digits : true},// 晚高峰后车俩数,必填项、必须为整数.
166   - 'wgfpcs' : {required : true,number : true,digits : true},// 晚高峰车俩数,必填项、必须为整数.
167   - 'gfzjpcs' : {required : true,number : true,digits : true},// 高峰中间车辆数,必填项、必须为整数.
  464 + 'zgfbeforepcs' : {required : true,number : true,digits : true, isNum0:true},// 早高峰前车辆数,必填项、必须为整数.
  465 + 'zgfpcs' : {required : true,number : true,digits : true, isNum0:true, isMax: true},// 早高峰车辆数,必填项、必须为整数.
  466 + 'wgfafterpcs' : {required : true,number : true,digits : true, isNum0:true},// 晚高峰后车俩数,必填项、必须为整数.
  467 + 'wgfpcs' : {required : true,number : true,digits : true, isNum0:true, isMax: true},// 晚高峰车俩数,必填项、必须为整数.
  468 + 'gfzjpcs' : {required : true,number : true,digits : true, isNum0:true},// 高峰中间车辆数,必填项、必须为整数.
168 469 'upTravelTime' : {required : true,number : true},// 上行行驶时间,必填项、必须为整数.
169 470 'downTravelTime' : {required : true,number : true},// 下行行驶时间,必填项、必须为整数.
170 471 'upMileage' : {required : true,number : true},// 上行行驶里程,必填项、必须为整数.
... ... @@ -192,7 +493,7 @@ var SKBFormWizard = function() {
192 493 'downInMileage' : {number : true},// 下行进场里程,必须为数字.
193 494 'downOutMileage' : {number : true},// 下行出场里程,必须为数字.
194 495 'lb' : {number : true},// 早晚例行保养,必须为数字.
195   - 'clzs':{required : true,number : true,digits : true},// 车辆总数,必填项、必须为整数.
  496 + 'clzs':{required : true,number : true,digits : true, isBcType : true},// 车辆总数,必填项、必须为整数.
196 497 'bxrc' : {required : true},// 早晚例行保养,必须为数字.
197 498 },
198 499  
... ... @@ -243,10 +544,15 @@ var SKBFormWizard = function() {
243 544 * 默认:default (native) form submit;当表单通过验证,提交表单。回调函数有个默认参数form
244 545 */
245 546 submitHandler : function(f) {
  547 + // 定义localStorage对象.
246 548 var storage = window.localStorage;
  549 + // 表单序列化.
247 550 var argus = form.serializeJSON();
  551 + // 获取站点路由.
248 552 $get('/stationroute/all',{'line.id_eq':argus.lineName.split('_')[0]},function(result) {
  553 + // 判断.
249 554 if(result) {
  555 + // 定义上行起点站,上行终点站,下行起点站,下行终点站.
250 556 var upB ='',upE='',downB='',downE='';
251 557 for(var r = 0 ; r<result.length;r++) {
252 558 if(result[r].directions==0 && result[r].stationMark =='B')
... ... @@ -260,14 +566,16 @@ var SKBFormWizard = function() {
260 566 }
261 567 argus.up_s = upB + '_' + upE;
262 568 argus.down_s = downB + '_' + downE;
  569 + // 获取停车车场.
263 570 $get('/carpark/all',{'parkCode_eq':argus.tcc},function(cp) {
264 571 var tcc_id = '';
265 572 if(cp) {
266 573 tcc_id = cp[0].id;
267 574 }
268   - argus.tcc_id = tcc_id;
269   - argus.skbmc = $('#skbNameSelect').select2('data')[0].text;
270   - argus.xlmc = $('#lineSelect').select2('data')[0].text;
  575 + argus.tcc_id = tcc_id; // 停车场ID.
  576 + argus.skbmc = $('#skbNameSelect').select2('data')[0].text;// 时刻名称.
  577 + argus.xlmc = $('#lineSelect').select2('data')[0].text;// 线路名称.
  578 + // 获取时刻表明细.
271 579 $get('/tidc/all',{'ttinfo.id_eq':parseInt(argus.skbName)},function(data) {
272 580 if(data.status=='SUCCESS' && data.data.length>0) {
273 581 argus.istidc = 1;
... ... @@ -277,7 +585,7 @@ var SKBFormWizard = function() {
277 585 btn: ['确定并使用','取消并继续'] //按钮
278 586 }, function(){
279 587 layer.closeAll();
280   - submit(JSON.stringify(gsData(data.data)),argus);
  588 + submit(JSON.stringify(formatData(data.data)),argus);
281 589 }, function(){
282 590 submit(null,argus);
283 591 });
... ... @@ -291,6 +599,8 @@ var SKBFormWizard = function() {
291 599 layer.msg('系统不存在该线路的上、下行起终点站!');
292 600 }
293 601 });
  602 +
  603 + // 表单提交.
294 604 function submit(p,argus) {
295 605 storage.setItem("Gantt_AgursData",JSON.stringify(argus));
296 606 storage.setItem('isDoDate',p);
... ... @@ -298,110 +608,99 @@ var SKBFormWizard = function() {
298 608 }
299 609 }
300 610 });
301   - function gsData(d) {
302   - var resultD = new Array();
303   - for(var i =0;i<d.length;i++) {
304   - var obj = {};
305   - var ddsj = getddsj(d[i].fcsj,d[i].bcsj);
306   - obj.bcType = d[i].bcType;//班次类型
307   - obj.bcs = d[i].bcs;// 班次数
308   - obj.bcsj = d[i].bcsj;// 班次时间
309   - obj.fcno = d[i].fcno;// 发车序号
310   - obj.fcsj = d[i].fcsj;//发车时间
311   - obj.ARRIVALTIME = ddsj//到达时间
312   - obj.jhlc = d[i].jhlc;//计划里程
313   - obj.lp = d[i].lp==null ? null : d[i].lp.id;//路牌id
314   - obj.lpType = d[i].lp==null ? null : d[i].lp.lpType;//路牌类型
315   - obj.parent = d[i].lp.lpName;// 路牌名称
316   - obj.lpNo = d[i].lp.lpNo;//路牌编码
317   - obj.tcc = d[i].tcc==null ? null : d[i].tcc.id;//停车场id
318   - obj.ttinfo = d[i].ttinfo==null ? null : d[i].ttinfo.id;//时刻表id
319   - obj.xl = d[i].xl==null ? null : d[i].xl.id;//线路id
320   - obj.xlDir = dmToDh(d[i].xlDir);// 方向【0:relationshipGraph-up 上行;1:relationshipGraph-down 下行】
321   - obj.qdz = d[i].qdz==null ? null : d[i].qdz.id;// 起点站id
322   - obj.zdz = d[i].zdz==null ? null : d[i].zdz.id;//终点站id
323   - obj.isfb = isfbTodm(d[i].isFB);//是否分班【0:false;1:true】
324   - obj.isSwitchXl = isSwitchXlTodm(d[i].isSwitchXl);// 是否切换线路【0:false;1:true】
325   - obj.STOPTIME = gettzsj(d[i],d,ddsj);
326   - resultD.push(obj);
327   - }
328   - console.log(resultD);
329   - return resultD;
330   - }
331   - function gettzsj(o,d,sj) {
332   - var tzsj = 0;
333   - for(var i = 0 ;i<d.length;i++) {
334   - if(o.lp.lpNo == d[i].lp.lpNo && o.lp.id == d[i].lp.id) {
335   - if(d[i].fcno - o.fcno ==1){
336   - tzsj = (strToTime(d[i].fcsj) -strToTime(sj)) / 60000;
337   - continue;
338   - }
339   -
340   - }
341   - }
342   - return tzsj;
343   - }
344   -
345   - function isSwitchXlTodm(d) {
346   - var rstr = 0;
347   - if(d)
348   - rstr = 1;
349   - return rstr;
350   - }
351   -
352   - function isfbTodm(b) {
353   - var rstr = 0;
354   - if(b)
355   - rstr = 1;
356   - return rstr;
357   - }
358   -
359   - function getddsj(tStr,bcsj) {
360   - var rt = '';
361   - var date = new Date();
362   - var _str = tStr.split(':');
363   - date.setHours(parseInt(_str[0]));
364   - date.setMinutes(parseInt(_str[1]) + bcsj);
365   - return getTimeStr(date);
366   - }
367   -
368   - var strToTime = function(t) {
369   - var d = new Date;
370   - if(t) {
371   - var _str = t.split(':');
372   - d.setHours(parseInt(_str[0]));
373   - d.setMinutes(parseInt(_str[1]));
374   - }
375   - return d;
376   - }
377 611  
378   - function getTimeStr(t) {
379   - var _str = '';
380   - if(t) {
381   - _str = ((t.getHours()<10? '0' + t.getHours() : t.getHours()) == '00' ? '24' :(t.getHours()<10? '0' + t.getHours() : t.getHours()))
382   - +':'
383   - +(t.getMinutes()<10? '0' + t.getMinutes() : t.getMinutes());
384   - }
385   - return _str;
386   - }
  612 + // 验证配车数不能为零.
  613 + $.validator.addMethod('isNum0', function(value,element) {
  614 + // 定义返回值.
  615 + var tag = true;
  616 + var zgfbeforepcs = $('#zgfbeforepcsInput').val(),// 早高峰前配车数.
  617 + zgfpcs = $('#zgfpcsInput').val(),// 早高峰配车数.
  618 + gfzjpcs = $('#gfzjpcsInput').val(),// 高峰之间配车数.
  619 + wgfpcs = $('#wgfpcsInput').val(),// 晚高峰配车数.
  620 + wgfafterpcs = $('#wgfafterpcsInput').val();// 晚高峰后配车数.
  621 + // 判断是否为零.
  622 + if(parseInt(zgfbeforepcs) == 0 || parseInt(zgfbeforepcs) ==0 ||
  623 + parseInt(gfzjpcs) ==0 || parseInt(wgfpcs) ==0 || parseInt(wgfafterpcs) ==0)
  624 + tag = false;
  625 + return tag;
  626 + },function(){return '配车数不能为零!'; });
387 627  
388   - function dmToDh(t) {
389   - var reslStr = '';
390   - if(t=='0')
391   - reslStr = 'relationshipGraph-up';
392   - else if(t=='1')
393   - reslStr = 'relationshipGraph-down';
394   - return reslStr;
395   - }
  628 + // 验证高峰时段内的配车数是否高于其它时段配车数.
  629 + $.validator.addMethod('isMax', function(value,element) {
  630 + var tag = true;
  631 + var zgfbeforepcs = parseInt($('#zgfbeforepcsInput').val()),// 早高峰前配车数.
  632 + zgfpcs = parseInt($('#zgfpcsInput').val()),// 早高峰配车数.
  633 + gfzjpcs = parseInt($('#gfzjpcsInput').val()),// 高峰之间配车数.
  634 + wgfpcs = parseInt($('#wgfpcsInput').val()),// 晚高峰配车数.
  635 + wgfafterpcs = parseInt($('#wgfafterpcsInput').val());// 晚高峰后配车数.
  636 + // 判断高峰时段内的配车数是否高于其它时段配车数.
  637 + if(zgfpcs<zgfbeforepcs || zgfpcs<gfzjpcs || zgfpcs<wgfafterpcs || wgfpcs<zgfbeforepcs || wgfpcs<gfzjpcs || wgfpcs<wgfafterpcs )
  638 + tag = false;
  639 + return tag;
  640 + },function(){return '高峰时段配车数必须高于其它时段配车数!';});
396 641  
  642 + // 验证客流数据分析时客容量为必填项.
397 643 $.validator.addMethod("isBaseRes", function(value,element) {
  644 + // 定义返回值.
398 645 var tag = true;
  646 + // 定义选择获取参数方式值
399 647 var baseChecked = $('#submit_argus_form input[name="baseRes"]:checked').val();
  648 + // 判断
400 649 if(baseChecked == '0' && $('#krlInput').val()== '')
401 650 tag = false;
402 651 return tag;
403 652 }, '客流大数据分析,客流总量为必填项!');
404 653  
  654 + // 验证配车数不能为零.
  655 + $.validator.addMethod('isBcType', function(value,element) {
  656 + // 定义返回值.
  657 + var tag = true;
  658 + // 定义车辆总数,班型人次.
  659 + var clzs = $('#clzsInput').val(),
  660 + bxrc = $('#state_tagsinput').val();
  661 + // 判断.
  662 + if(bxrc=='' || bxrc==null || clzs=='' || clzs==0)
  663 + return false;
  664 + // 定义首末班次开始结束时间集合.
  665 + var map = {'line':{'startStationFirstTime':$('#qdzsbsjInput').val(),
  666 + 'startStationEndTime':$('#qdzmbsjInput').val(),
  667 + 'endStationFirstTime':$('#zdzsbsjInput').val(),
  668 + 'endStationEndTime':$('#zdzmbsjInput').val()}};
  669 + // 定义开始~结束时间.
  670 + var setMap = getStartAndEndDate(map);
  671 + console.log(setMap);
  672 + // 定义最大工时.
  673 + var maxGs = parseInt( ((strToTime(setMap.e) - strToTime(setMap.s)) / 60000) / 60) * parseInt(clzs);
  674 + // 切割班型人次,定义班次人次所用总工时.
  675 + var bxrcAr = bxrc.split(','),countGs = 0;
  676 + // 遍历
  677 + for(var s = 0 ; s< bxrcAr.length;s++) {
  678 + // 切割单个班型人次.
  679 + var s1a = bxrcAr[s].split('/');
  680 + // 定义人次.
  681 + var rs = parseInt(s1a[1]);
  682 + // 定义小时系数.
  683 + var hoursV = 0.0;
  684 + for(var g = 0 ; g < bxrcGs.length; g++) {
  685 + // 判断班型是否一致.
  686 + if(bxrcGs[g].type == s1a[0]) {
  687 + // 重新赋值小时系数.
  688 + hoursV = bxrcGs[g].hoursV;
  689 + }
  690 + }
  691 + // 重新计算班次人次所用总工时.
  692 + countGs = countGs + parseFloat(hoursV.toFixed(2)) * rs;
  693 + }
  694 + // 判断
  695 + if(parseFloat(countGs.toFixed(2))>maxGs)
  696 + tag = false;
  697 + return tag;
  698 + },function(){return '配车总数与班型人次搭配不合理!'; });
  699 +
  700 + /**
  701 + * @description : (TODO) 监听获取参数方式值改变事件.
  702 + *
  703 + * */
405 704 $('input:radio[name="baseRes"]').on('change',function(v) {
406 705 if($(this).val()=='1')
407 706 $('#krlGroup').hide();
... ... @@ -484,25 +783,29 @@ var SKBFormWizard = function() {
484 783 return false;
485 784 }
486 785 if(index==1) {
  786 + // 初始化客容量值.
487 787 if($('#krlInput').val() == '')
488 788 $('#krlInput').val(50);
489 789 }else if(index == 2) {
490   - var baseRes = $('#submit_argus_form input[name="baseRes"]:checked').val(),
491   - lineId = $('#lineSelect').val().split('_')[0],
492   - krl = $('#krlInput').val();
  790 + var baseRes = $('#submit_argus_form input[name="baseRes"]:checked').val(),// 获取参数方式值.
  791 + lineId = $('#lineSelect').val().split('_')[0],// 线路ID.
  792 + krl = $('#krlInput').val();// 客容量
493 793 getLineInfo(lineId,function(r) {
494 794 getHtmlTemp(baseRes,r.content[0],lineId,krl,function(htlMap) {
495 795 $('#tab3').html(htlMap.forminput);
496 796 $('#tab4').html(htlMap.datadisplay);
497 797 if(baseRes==1)
498   - ComponentsBootstrapTagsinput.init();
  798 + ComponentsBootstrapTagsinput.init();// 初始化班型人次Input Tag.
499 799 // 日期控件
500   - $('#qdzsbsjInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});
501   - $('#endServiceTimeInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});
502   - $('#morningPeakStartInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});
503   - $('#morningPeakEndInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});
504   - $('#eveningPeakStartInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});
505   - $('#eveningPeakEndInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});
  800 + $('#qdzsbsjInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});// 起始站首班时间
  801 + $('#qdzmbsjInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});// 起始站末班时间
  802 + $('#zdzsbsjInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});// 终点站首班时间
  803 + $('#zdzmbsjInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});// 终点站末班时间
  804 + $('#zgfkssjInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});// 早高峰开始时间
  805 + $('#zgfjssjInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});// 早高峰结束时间
  806 + $('#wgfkssjInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});// 晚高峰开始时间
  807 + $('#wgfjssjInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});// 晚高峰结束时间
  808 + // 初始化停车场下拉框.
506 809 gettccInfo(function(cd) {
507 810 var options = '<option value="">请选择...</option><optgroup label="停车场">';
508 811 var $_len = cd.length;
... ... @@ -543,15 +846,4 @@ var SKBFormWizard = function() {
543 846 $('#submit_argus_form').find('.button-previous').hide();
544 847 }
545 848 }
546   - function getJSONP(url, data, cb) {
547   - $.ajax({
548   - url : url,
549   - type : "GET",
550   - dataType : 'jsonp',
551   - jsonp : 'jsoncallback',
552   - data : data,
553   - success : cb
554   - });
555   - }
556   -
557   -}();
  849 +}();
558 850 \ No newline at end of file
... ...
src/main/resources/static/pages/base/timesmodel/js/base-fun.js
... ... @@ -1217,7 +1217,6 @@ var BaseFun = function() {
1217 1217 qt.push(arr[a]);
1218 1218 }
1219 1219 }
1220   - // debugger;
1221 1220 var tempup = baseF.sortDirArray(upArr);
1222 1221 var tempdown = baseF.sortDirArray(downArr);
1223 1222 return {'upArr':tempup,'downArr':tempdown,'qt':qt};
... ... @@ -1233,7 +1232,6 @@ var BaseFun = function() {
1233 1232 * @status OK.
1234 1233 * */
1235 1234 sortDirArray : function(arr) {
1236   - ///debugger;
1237 1235 //console.log(arr.length);
1238 1236 var list = new Array(),tempArray = new Array();
1239 1237 for(var a =0;a<arr.length;a++) {
... ... @@ -1249,7 +1247,6 @@ var BaseFun = function() {
1249 1247 list.push(arr[d]);
1250 1248 }
1251 1249 }
1252   - //debugger;
1253 1250 //console.log(list.length);
1254 1251 return list;
1255 1252 },
... ... @@ -1261,7 +1258,6 @@ var BaseFun = function() {
1261 1258 * @return : 返回一个数组.这里返回的是调整过后 发车间距均匀的班次数组
1262 1259 **/
1263 1260 jhfcjx : function(bcArr,dir,zzsj,dataMap) {
1264   - // debugger;
1265 1261 console.log(bcArr.length);
1266 1262 //console.log('调整' + dir + '发车间隙...');
1267 1263 // 1、定义某个方向下的首末班次时间结点.
... ... @@ -1286,7 +1282,6 @@ var BaseFun = function() {
1286 1282 return;
1287 1283 var fcnosj = new Date(kssj);
1288 1284 // 2.4、调整班次
1289   - //debugger;
1290 1285 for(var l = 0 ;l<bcArr.length-1;l++) {
1291 1286 var _t = baseF.getDateTime(bcArr[l].fcsj);
1292 1287 if(_t>temp )
... ...
src/main/resources/static/pages/base/timesmodel/js/d3.relationshipgraph.js
... ... @@ -325,17 +325,18 @@ var _animation = function(d3Node) {return d3Node.transition().delay(function(d,i
325 325 * @returns {Object} table.outerHTML
326 326 ************************************************************************************************************************************************/
327 327 var createTooltip = function createTooltip(self) {
328   - var hiddenKeys = ['_PRIVATE_','fcno' ,'PARENTCOLOR', 'SETNODECOLOR', 'SETNODESTROKECOLOR', /*'INTERVAL',*/'num'],
329   - showKeys = self.configuration.showKeys;
330 328 return d3.tip().attr('class', 'relationshipGraph-tip').offset([-8, -10]).html(function (obj) {
331 329 var keys = Object.keys(obj),
332 330 table = document.createElement('table'),
333 331 count = keys.length,
334 332 rows = [];
  333 + var showKeys = self.configuration.showKeys;
  334 + var hiddenKeys = ['_PRIVATE_' ,'PARENTCOLOR', 'SETNODECOLOR', 'SETNODESTROKECOLOR','lpNo','lpName','lp','lpType',
  335 + 'jhlc','tcc','ttinfo','xl','isfb','qdz','zdz','isSwitchXl','bz','bcs','fcno'];
335 336 while (count--) {
336   - var element = keys[count],
337   - upperCaseKey = element.toUpperCase();
338   - if (!RelationshipGraph.contains(hiddenKeys, upperCaseKey) && !upperCaseKey.startsWith('__') && obj[element] !='tjz') {
  337 + var element = keys[count];
  338 + // upperCaseKey = element.toUpperCase();
  339 + if (!RelationshipGraph.contains(hiddenKeys, element) && !element.startsWith('__') && obj[element] !='tjz') {
339 340 var row = document.createElement('tr'),
340 341 key = showKeys ? document.createElement('td') : null,
341 342 value = document.createElement('td');
... ... @@ -352,7 +353,7 @@ var createTooltip = function createTooltip(self) {
352 353 else if(element=='xlDir')
353 354 changeKey = '行驶方向:';
354 355 else if(element=='parent')
355   - changeKey = '当前车辆:';
  356 + changeKey = '当前路牌:';
356 357 else if(element=='bcType')
357 358 changeKey = '班次类型:';
358 359 else if(element=='tjbx')
... ... @@ -363,7 +364,7 @@ var createTooltip = function createTooltip(self) {
363 364 row.appendChild(key);
364 365 }
365 366  
366   - if (upperCaseKey == 'VALUE' && !self.configuration.valueKeyName) {
  367 + if (element == 'VALUE' && !self.configuration.valueKeyName) {
367 368 continue;
368 369 }
369 370  
... ...
src/main/resources/static/pages/base/timesmodel/js/gantt.js
... ... @@ -101,7 +101,8 @@
101 101 'jclcArr' : BaseFun.formatPairing(gatps.upInMileage,gatps.downInMileage),// 进场里程。[下标0代表上;下标1代表下]
102 102 'cclcArr' : BaseFun.formatPairing(gatps.upOutMileage,gatps.downOutMileage),// 出场里程。[下标0代表上;下标1代表下]
103 103 'pcxssjArr' : BaseFun.formatPairing(gatps.upTravelTime,gatps.downTravelTime),// 平常行驶时间。[下标0代表上;下标1代表下]
104   - 'gfxxsjArr' : BaseFun.formatPairing(gatps.lateUpTime,gatps.lateDownTime),// 高峰行驶时间。[下标0代表上;下标1代表下]
  104 + 'gfxxsjArr' : BaseFun.formatPairing(gatps.lateUpTime=='' ? gatps.upTravelTime : gatps.lateUpTime,
  105 + gatps.lateDownTime=='' ? gatps.downTravelTime : gatps.lateDownTime),// 高峰行驶时间。[下标0代表上;下标1代表下]
105 106 'pcxslcArr' : BaseFun.formatPairing(gatps.upMileage,gatps.downMileage),// 行驶里程。[下标0代表上;下标1代表下]
106 107 'qdzArr' : BaseFun.qzdz(gatps.up_s.split('_')[0],gatps.down_s.split('_')[0]),// 起始站。[下标0代表上;下标1代表下]
107 108 'zdzArr':BaseFun.qzdz(gatps.up_s.split('_')[1],gatps.down_s.split('_')[1]),// 终点站。[下标0代表上;下标1代表下]
... ...
src/main/resources/static/pages/base/timesmodel/js/tagsinput.js
... ... @@ -25,10 +25,30 @@ var ComponentsBootstrapTagsinput = function() {
25 25 itemValue: 'value',
26 26 itemText: 'text'
27 27 });
  28 +
  29 + $('#state_tagsinput').on('beforeItemAdd', function(event) {
  30 + var bctypeValue = $('#state_tagsinput_bctype').val();
  31 + var rcnum = $('#state_tagsinput_value').val();
  32 + var bxrcAr = $('#state_tagsinput').val().split(',');
  33 + for(var s = 0 ; s< bxrcAr.length;s++) {
  34 + var s1a = bxrcAr[s].split('/');
  35 + if(s1a[0]==bctypeValue) {
  36 + $('#state_tagsinput').tagsinput('remove', bxrcAr[s]);
  37 + }
  38 + }
  39 + });
  40 +
28 41 $('#state_tagsinput_add').on('click', function(){
29 42 var bctypeValue = $('#state_tagsinput_bctype').val();
30 43 var rcnum = $('#state_tagsinput_value').val();
31 44 if(isNull(bctypeValue,rcnum)) {
  45 + var bxrcAr = $('#state_tagsinput').val().split(',');
  46 + for(var s = 0 ; s< bxrcAr.length;s++) {
  47 + var s1a = bxrcAr[s].split('/');
  48 + if(s1a[0]==bctypeValue) {
  49 + rcnum = parseInt(rcnum) + parseInt(s1a[1]);
  50 + }
  51 + }
32 52 elt.tagsinput('add', {
33 53 "value": bctypeValue + '/' + rcnum,
34 54 "text": bctypeValue + '/' + rcnum,
... ...
src/main/resources/static/pages/excep/boundList.html
... ... @@ -55,9 +55,9 @@
55 55 <tr role="row" class="heading">
56 56 <th width="3%">#</th>
57 57 <th width="15%">线路</th>
58   - <th width="13%">内部编码</th>
59   - <th width="100">经度</th>
60   - <th width="11%">纬度</th>
  58 + <th width="13%">车辆自编号</th>
  59 + <th width="100">工号/名字</th>
  60 + <th width="11%">路牌名</th>
61 61 <th width="10%">上下行</th>
62 62 <th width="18%">时间</th>
63 63 <th width="18%">操作</th>
... ... @@ -66,10 +66,11 @@
66 66 <td></td>
67 67 <td>
68 68 <!-- <input type="text" class="form-control form-filter input-sm" name="userName_like"> -->
69   - <select class="form-control" name="line" id="line" style="width: 180px;"></select>
  69 + <select class="form-control" name="line" id="line" style="width: 150px;"></select>
70 70 </td>
71 71 <td>
72   - <input type="text" class="form-control form-filter input-sm" name="nbbm">
  72 +<!-- <input type="text" class="form-control form-filter input-sm" name="nbbm"> -->
  73 + <select class="form-control" name="nbbm" id="nbbm" style="width: 150px;"></select>
73 74 </td>
74 75 <td>
75 76 </td>
... ... @@ -119,10 +120,10 @@
119 120 </td>
120 121  
121 122 <td>
122   - {{obj.lon}}
  123 + {{obj.jsy}}
123 124 </td>
124 125 <td>
125   - {{obj.lat}}
  126 + {{obj.lpname}}
126 127 </td>
127 128 <td>
128 129 {{if obj.upDown==0}}
... ... @@ -271,45 +272,67 @@ $(function(){
271 272 });
272 273  
273 274 //搜索线路
274   - $('#line').select2({
275   - ajax: {
276   - url: '/realSchedule/findLine',
277   - type: 'post',
278   - dataType: 'json',
279   - delay: 150,
280   - data: function(params){
281   - return{line: params.term};
282   - },
283   - processResults: function (data) {
284   - return {
285   - results: data
286   - };
287   - },
288   - cache: true
289   - },
290   - templateResult: function(repo){
291   - if (repo.loading) return repo.text;
292   - var h = '<span>'+repo.text+'</span>';
293   - return h;
294   - },
295   - escapeMarkup: function (markup) { return markup; },
296   - minimumInputLength: 1,
297   - templateSelection: function(repo){
298   - return repo.text;
299   - },
300   - language: {
301   - noResults: function(){
302   - return '<span style="color:red;font-size: 12px;">没有搜索到线路!</span>';
303   - },
304   - inputTooShort : function(e) {
305   - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入线路搜索线路</span>';
306   - },
307   - searching : function() {
308   - return '<span style="color:gray;font-size: 12px;"> 正在搜索线路...</span>';
309   - }
310   - }
  275 + $.get('/basic/lineCode2Name',function(result){
  276 + var data=[];
  277 + data.push({id: " ", text: "全部线路"});
  278 + for(var code in result){
  279 + data.push({id: code, text: result[code]});
  280 + }
  281 + initPinYinSelect2('#line',data,'');
  282 +
311 283 });
312   -});
  284 +
  285 + $("#line").on("change",initXl);
  286 +
  287 +function initXl(){
  288 +$('#nbbm').select2({
  289 + placeholder: '搜索车辆...',
  290 + ajax: {
  291 + url: '/report/carList',
  292 + dataType: 'json',
  293 + delay: 150,
  294 + data: function (params) {
  295 + return {nbbm: params.term,
  296 + gsbm:" ",
  297 + fgsbm:" ",
  298 + xlbm:$('#line').val()};
  299 + },
  300 + processResults: function (data) {
  301 + return {
  302 + results: data
  303 + };
  304 + },
  305 + cache: true
  306 + },
  307 + templateResult: function (repo) {
  308 + if (repo.loading) return repo.text;
  309 + var h = '<span>' + repo.text + '</span>';
  310 + h += (repo.lineName ? '&nbsp;<span class="select2-desc">' + repo.lineName + '</span>' : '');
  311 + return h;
  312 + },
  313 + escapeMarkup: function (markup) {
  314 + return markup;
  315 + },
  316 + minimumInputLength: 1,
  317 + templateSelection: function (repo) {
  318 + return repo.text;
  319 + },
  320 + language: {
  321 + noResults: function () {
  322 + return '<span style="color:red;font-size: 12px;">没有搜索到车辆!</span>';
  323 + },
  324 + inputTooShort: function (e) {
  325 + return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入自编号搜索车辆</span>';
  326 + },
  327 + searching: function () {
  328 + return '<span style="color:gray;font-size: 12px;"> 正在搜索车辆...</span>';
  329 + }
  330 + }
  331 +})
  332 +};
  333 +
  334 +
  335 +
313 336 //改变状态
314 337 function changeEnabled(id,enabled){
315 338 debugger
... ... @@ -317,4 +340,5 @@ function changeEnabled(id,enabled){
317 340 jsDoQuery(null, true);
318 341 })
319 342 }
  343 +});
320 344 </script>
321 345 \ No newline at end of file
... ...
src/main/resources/static/pages/excep/offlineList.html
... ... @@ -55,9 +55,9 @@
55 55 <tr role="row" class="heading">
56 56 <th width="3%">#</th>
57 57 <th width="15%">线路</th>
58   - <th width="13%">内部编码</th>
59   - <th width="100">经度</th>
60   - <th width="11%">纬度</th>
  58 + <th width="13%">车辆自编号</th>
  59 + <th width="100">工号/名字</th>
  60 + <th width="11%">路牌名</th>
61 61 <th width="10%">上下行</th>
62 62 <th width="18%">时间</th>
63 63 <th width="18%">操作</th>
... ... @@ -66,10 +66,12 @@
66 66 <td></td>
67 67 <td>
68 68 <!-- <input type="text" class="form-control form-filter input-sm" name="userName_like"> -->
69   - <select class="form-control" name="line" id="line" style="width: 180px;"></select>
  69 + <select class="form-control" name="line" id="line" style="width: 150px;"></select>
70 70 </td>
71 71 <td>
72   - <input type="text" class="form-control form-filter input-sm" name="nbbm">
  72 +<!-- <input type="text" class="form-control form-filter input-sm" name="nbbm" id="nbbm"> -->
  73 +
  74 + <select class="form-control" name="nbbm" id="nbbm" style="width: 150px;"></select>
73 75 </td>
74 76 <td>
75 77 </td>
... ... @@ -119,10 +121,10 @@
119 121 </td>
120 122  
121 123 <td>
122   - {{obj.lon}}
  124 + {{obj.jsy}}
123 125 </td>
124 126 <td>
125   - {{obj.lat}}
  127 + {{obj.lpname}}
126 128 </td>
127 129 <td>
128 130 {{if obj.upDown==0}}
... ... @@ -275,43 +277,64 @@ $(function(){
275 277 });
276 278  
277 279 //搜索线路
278   - $('#line').select2({
279   - ajax: {
280   - url: '/realSchedule/findLine',
281   - type: 'post',
282   - dataType: 'json',
283   - delay: 150,
284   - data: function(params){
285   - return{line: params.term};
286   - },
287   - processResults: function (data) {
288   - return {
289   - results: data
290   - };
291   - },
292   - cache: true
293   - },
294   - templateResult: function(repo){
295   - if (repo.loading) return repo.text;
296   - var h = '<span>'+repo.text+'</span>';
297   - return h;
298   - },
299   - escapeMarkup: function (markup) { return markup; },
300   - minimumInputLength: 1,
301   - templateSelection: function(repo){
302   - return repo.text;
303   - },
304   - language: {
305   - noResults: function(){
306   - return '<span style="color:red;font-size: 12px;">没有搜索到线路!</span>';
307   - },
308   - inputTooShort : function(e) {
309   - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入线路搜索线路</span>';
310   - },
311   - searching : function() {
312   - return '<span style="color:gray;font-size: 12px;"> 正在搜索线路...</span>';
313   - }
314   - }
  280 +
  281 + $.get('/basic/lineCode2Name',function(result){
  282 + var data=[];
  283 + data.push({id: " ", text: "全部线路"});
  284 + for(var code in result){
  285 + data.push({id: code, text: result[code]});
  286 + }
  287 + initPinYinSelect2('#line',data,'');
  288 +
315 289 });
  290 +
  291 + $("#line").on("change",initXl);
  292 +function initXl(){
  293 + $('#nbbm').select2({
  294 + placeholder: '搜索车辆...',
  295 + ajax: {
  296 + url: '/report/carList',
  297 + dataType: 'json',
  298 + delay: 150,
  299 + data: function (params) {
  300 + return {nbbm: params.term,
  301 + gsbm:"",
  302 + fgsbm:"",
  303 + xlbm:$('#line').val()};
  304 + },
  305 + processResults: function (data) {
  306 + return {
  307 + results: data
  308 + };
  309 + },
  310 + cache: true
  311 + },
  312 + templateResult: function (repo) {
  313 + if (repo.loading) return repo.text;
  314 + var h = '<span>' + repo.text + '</span>';
  315 + h += (repo.lineName ? '&nbsp;<span class="select2-desc">' + repo.lineName + '</span>' : '');
  316 + return h;
  317 + },
  318 + escapeMarkup: function (markup) {
  319 + return markup;
  320 + },
  321 + minimumInputLength: 1,
  322 + templateSelection: function (repo) {
  323 + return repo.text;
  324 + },
  325 + language: {
  326 + noResults: function () {
  327 + return '<span style="color:red;font-size: 12px;">没有搜索到车辆!</span>';
  328 + },
  329 + inputTooShort: function (e) {
  330 + return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入自编号搜索车辆</span>';
  331 + },
  332 + searching: function () {
  333 + return '<span style="color:gray;font-size: 12px;"> 正在搜索车辆...</span>';
  334 + }
  335 + }
  336 + });
  337 +}
  338 +
316 339 });
317 340 </script>
318 341 \ No newline at end of file
... ...
src/main/resources/static/pages/excep/speedingList.html
... ... @@ -55,9 +55,9 @@
55 55 <tr role="row" class="heading">
56 56 <th width="3%">#</th>
57 57 <th width="15%">线路</th>
58   - <th width="13%">内部编码</th>
59   - <th width="100">经度</th>
60   - <th width="11%">纬度</th>
  58 + <th width="13%">车辆自编号</th>
  59 + <th width="100">工号/名字</th>
  60 + <th width="11%">路牌名</th>
61 61 <th width="10%">上下行</th>
62 62 <th width="18%">时间</th>
63 63 <th width="18%">操作</th>
... ... @@ -69,10 +69,11 @@
69 69 <select class="form-control" name="line" id="line" style="width: 180px;"></select>
70 70 </td>
71 71 <td>
72   - <input type="text" class="form-control form-filter input-sm" name="nbbm">
  72 +<!-- <input type="text" class="form-control form-filter input-sm" name="nbbm"> -->
  73 + <select class="form-control" name="nbbm" id="nbbm" style="width: 150px;"></select>
73 74 </td>
74 75 <td>
75   - <input class="form-control" type="date" name="date" />
  76 +
76 77 </td>
77 78 <td></td>
78 79 <td>
... ... @@ -83,7 +84,7 @@
83 84 <option value="-1">无效</option>
84 85 </select>
85 86 </td>
86   - <td></td>
  87 + <td> <input class="form-control" type="date" name="date" /></td>
87 88 <td>
88 89 <button class="btn btn-sm green btn-outline filter-submit margin-bottom" >
89 90 <i class="fa fa-search"></i> 搜索</button>
... ... @@ -118,10 +119,10 @@
118 119 </td>
119 120  
120 121 <td>
121   - {{obj.lon}}
  122 + {{obj.jsy}}
122 123 </td>
123 124 <td>
124   - {{obj.lat}}
  125 + {{obj.lpname}}
125 126 </td>
126 127 <td>
127 128 {{if obj.upDown==0}}
... ... @@ -270,45 +271,65 @@ $(function(){
270 271 });
271 272  
272 273 //搜索线路
273   - $('#line').select2({
274   - ajax: {
275   - url: '/realSchedule/findLine',
276   - type: 'post',
277   - dataType: 'json',
278   - delay: 150,
279   - data: function(params){
280   - return{line: params.term};
281   - },
282   - processResults: function (data) {
283   - return {
284   - results: data
285   - };
286   - },
287   - cache: true
288   - },
289   - templateResult: function(repo){
290   - if (repo.loading) return repo.text;
291   - var h = '<span>'+repo.text+'</span>';
292   - return h;
293   - },
294   - escapeMarkup: function (markup) { return markup; },
295   - minimumInputLength: 1,
296   - templateSelection: function(repo){
297   - return repo.text;
298   - },
299   - language: {
300   - noResults: function(){
301   - return '<span style="color:red;font-size: 12px;">没有搜索到线路!</span>';
302   - },
303   - inputTooShort : function(e) {
304   - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入线路搜索线路</span>';
305   - },
306   - searching : function() {
307   - return '<span style="color:gray;font-size: 12px;"> 正在搜索线路...</span>';
308   - }
  274 + $.get('/basic/lineCode2Name',function(result){
  275 + var data=[];
  276 + data.push({id: " ", text: "全部线路"});
  277 + for(var code in result){
  278 + data.push({id: code, text: result[code]});
309 279 }
310   - });
  280 + initPinYinSelect2('#line',data,'');
  281 +
  282 +});
  283 +
  284 +$("#line").on("change",initXl);
  285 +function initXl(){
  286 +$('#nbbm').select2({
  287 + placeholder: '搜索车辆...',
  288 + ajax: {
  289 + url: '/report/carList',
  290 + dataType: 'json',
  291 + delay: 150,
  292 + data: function (params) {
  293 + return {nbbm: params.term,
  294 + gsbm:"",
  295 + fgsbm:"",
  296 + xlbm:$('#line').val()};
  297 + },
  298 + processResults: function (data) {
  299 + return {
  300 + results: data
  301 + };
  302 + },
  303 + cache: true
  304 + },
  305 + templateResult: function (repo) {
  306 + if (repo.loading) return repo.text;
  307 + var h = '<span>' + repo.text + '</span>';
  308 + h += (repo.lineName ? '&nbsp;<span class="select2-desc">' + repo.lineName + '</span>' : '');
  309 + return h;
  310 + },
  311 + escapeMarkup: function (markup) {
  312 + return markup;
  313 + },
  314 + minimumInputLength: 1,
  315 + templateSelection: function (repo) {
  316 + return repo.text;
  317 + },
  318 + language: {
  319 + noResults: function () {
  320 + return '<span style="color:red;font-size: 12px;">没有搜索到车辆!</span>';
  321 + },
  322 + inputTooShort: function (e) {
  323 + return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入自编号搜索车辆</span>';
  324 + },
  325 + searching: function () {
  326 + return '<span style="color:gray;font-size: 12px;"> 正在搜索车辆...</span>';
  327 + }
  328 + }
311 329 });
  330 +}
  331 +
  332 +
312 333 //改变状态
313 334 function changeEnabled(id,enabled){
314 335 debugger
... ... @@ -316,4 +337,5 @@ function changeEnabled(id,enabled){
316 337 jsDoQuery(null, true);
317 338 })
318 339 }
  340 +});
319 341 </script>
320 342 \ No newline at end of file
... ...
src/main/resources/static/real_control_v2/css/line_schedule.css
... ... @@ -114,15 +114,15 @@
114 114 }
115 115  
116 116 .line-schedule-table dl dt:nth-of-type(7), .line-schedule-table dl dd:nth-of-type(7) {
117   - width: 10%;
  117 + width: calc(10% + 10px);
118 118 }
119 119  
120 120 .line-schedule-table dl dt:nth-of-type(8), .line-schedule-table dl dd:nth-of-type(8) {
121   - width: calc(51% - 238px);
  121 + width: calc(51% - 233px);
122 122 }
123 123  
124 124 .line-schedule-table dl dt:nth-of-type(9), .line-schedule-table dl dd:nth-of-type(9) {
125   - width: 70px;
  125 + width: 65px;
126 126 border-right: 0;
127 127 }
128 128  
... ...
src/main/resources/static/real_control_v2/css/main.css
... ... @@ -923,4 +923,41 @@ option.oil_station_opt{
923 923 }
924 924 .park-and-station-wrap select{
925 925 width: auto !important;
  926 +}
  927 +
  928 +/** 安全驾驶相关css */
  929 +.safe_driv_pop_wrap{
  930 + position: absolute;
  931 + right: 12px;
  932 + bottom: 12px;
  933 +}
  934 +
  935 +.safe_driv_pop{
  936 + height: 45px;
  937 + background: #d44b4b;
  938 + color: #f2f2f2;
  939 + font-size: 15px;
  940 + padding: 9px 10px 0;
  941 + border: 1px solid #f4f0f0;
  942 + border-radius: 5px;
  943 + cursor: pointer;
  944 + box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  945 +}
  946 +
  947 +.safe_driv_pop:hover{
  948 + background: #bc2a2a;
  949 +}
  950 +
  951 +.safe_driv_pop .title{
  952 + font-weight: 600;
  953 +}
  954 +
  955 +.safe_driv_pop i.uk-icon-times-circle{
  956 + margin-right: 5px;
  957 +}
  958 +.safe_driv_pop .desc{
  959 + display: block;
  960 + font-size: 12px;
  961 + margin: 2px 0 0 20px;
  962 + color: #e3e3e3;
926 963 }
927 964 \ No newline at end of file
... ...
src/main/resources/static/real_control_v2/css/modal_extend.css
1   -.uk-modal{
  1 +.uk-modal.ct_move_modal{
2 2 background: rgba(0,0,0,.4) !important;
3 3 }
4 4  
5   -.uk-modal-dialog{
  5 +.uk-modal.ct_move_modal .uk-modal-dialog{
6 6 border: 1px solid #dd6952;
7 7  
8 8 position: absolute !important;
9 9 margin: 0 !important;
10 10 }
11 11  
12   -.uk-modal-dialog.uk-modal-dialog-blank{
  12 +.uk-modal.ct_move_modal .uk-modal-dialog.uk-modal-dialog-blank{
13 13 border: none !important;
14 14 }
15 15  
16   -.uk-modal-header{
  16 +.uk-modal.ct_move_modal .uk-modal-header{
17 17 cursor: move;
18 18 user-select: none;
19 19 }
20 20 \ No newline at end of file
... ...
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/add_temp_sch.html
1   -<div class="uk-modal ct-form-modal" id="schedule-addsch-modal">
  1 +<div class="uk-modal ct-form-modal ct_move_modal" id="schedule-addsch-modal">
2 2 <div class="uk-modal-dialog">
3 3 <a href="" class="uk-modal-close uk-close"></a>
4 4 <div class="uk-modal-header">
... ...
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/dftz.html
1   -<div class="uk-modal ct-form-modal" id="schedule-dftz-modal">
  1 +<div class="uk-modal ct-form-modal ct_move_modal" id="schedule-dftz-modal">
2 2 <div class="uk-modal-dialog">
3 3 <a href="" class="uk-modal-close uk-close"></a>
4 4 <div class="uk-modal-header">
... ...
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/fcxxwt.html
1   -<div class="uk-modal ct-form-modal" id="schedule-fcxxwt-modal">
  1 +<div class="uk-modal ct-form-modal ct_move_modal" id="schedule-fcxxwt-modal">
2 2 <div class="uk-modal-dialog">
3 3 <a href="" class="uk-modal-close uk-close"></a>
4 4 <div class="uk-modal-header">
... ...
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/jhlb.html
1   -<div class="uk-modal ct-form-modal" id="schedule-jhlb-modal">
  1 +<div class="uk-modal ct-form-modal ct_move_modal" id="schedule-jhlb-modal">
2 2 <div class="uk-modal-dialog" style="width: 370px;">
3 3 <a href="" class="uk-modal-close uk-close"></a>
4 4 <div class="uk-modal-header">
... ...
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/lj_zrw.html
1   -<div class="uk-modal ct-form-modal" id="schedule-lj_zrw-modal">
  1 +<div class="uk-modal ct-form-modal ct_move_modal" id="schedule-lj_zrw-modal">
2 2 <div class="uk-modal-dialog" style="width: 930px;">
3 3 <a href="" class="uk-modal-close uk-close"></a>
4 4 <div class="uk-modal-header">
... ... @@ -270,7 +270,7 @@
270 270 if (sum != sch.jhlcOrig) {
271 271 if (i > 1)
272 272 calcs += ('=' + sum);
273   - calcs += (' ≠ ' + sch.jhlc);
  273 + calcs += (' ≠ ' + sch.jhlcOrig);
274 274 calcs = calcs.substr(3);
275 275 var htmlStr = template('sub_task-fail-status-temp', {calcs: calcs});
276 276 $('#childTaskTitle', modal).append(htmlStr);
... ...
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/lp_change.html
1   -<div class="uk-modal" id="schedule-lp_change-modal">
  1 +<div class="uk-modal ct_move_modal" id="schedule-lp_change-modal">
2 2 <div class="uk-modal-dialog" style="width: 1240px;">
3 3 <a href="" class="uk-modal-close uk-close"></a>
4 4 <div class="uk-modal-header">
... ...
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/multi_dftz.html
1   -<div class="uk-modal" id="schedule-multi-dftz-modal">
  1 +<div class="uk-modal ct_move_modal" id="schedule-multi-dftz-modal">
2 2 <div class="uk-modal-dialog" style="width: 710px;">
3 3 <a href="" class="uk-modal-close uk-close"></a>
4 4 <div class="uk-modal-header">
... ...
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/multi_tzrc.html
1   -<div class="uk-modal" id="schedule-multi-tzrc-modal">
  1 +<div class="uk-modal ct_move_modal" id="schedule-multi-tzrc-modal">
2 2 <div class="drag-container"></div>
3 3 <div class="uk-modal-dialog" style="width: 860px;">
4 4 <a href="" class="uk-modal-close uk-close"></a>
... ...
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sftz.html
1   -<div class="uk-modal ct-form-modal" id="schedule-sftz-modal">
  1 +<div class="uk-modal ct-form-modal ct_move_modal" id="schedule-sftz-modal">
2 2 <div class="uk-modal-dialog" style="width: 350px;">
3 3 <a href="" class="uk-modal-close uk-close"></a>
4 4 <div class="uk-modal-header">
... ...
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task/add_sub_task_inpark.html
1   -<div class="uk-modal" id="add-sub-task-inpark-modal">
  1 +<div class="uk-modal ct_move_modal" id="add-sub-task-inpark-modal">
2 2 <div class="uk-modal-dialog">
3 3 <a href="" class="uk-modal-close uk-close"></a>
4 4 <div class="uk-modal-header">
... ... @@ -476,7 +476,7 @@
476 476 $('input[name=mileage]', serviceForm).val(sMileage);
477 477  
478 478 //营运结束时间
479   - var et = sch.dfsjT + (parseInt(sMileage / sch.jhlc * sch.bcsj) * 60 * 1000)
  479 + var et = sch.dfsjT + (parseInt(sMileage / sch.jhlcOrig * sch.bcsj) * 60 * 1000)
480 480 ,ets = et > sch.zdsjT?sch.zdsj:moment(et).format('HH:mm');
481 481 $('input[name=endDate]', serviceForm).val(ets);
482 482  
... ...
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task/add_sub_task_oil.html
1   -<div class="uk-modal ct-form-modal" id="schedule-addsch_oil-modal">
  1 +<div class="uk-modal ct-form-modal ct_move_modal" id="schedule-addsch_oil-modal">
2 2 <div class="uk-modal-dialog" style="width: 1201px;">
3 3 <a href="" class="uk-modal-close uk-close"></a>
4 4 <div class="uk-modal-header">
... ...
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task/add_sub_task_other.html
1   -<div class="uk-modal ct-form-modal" id="add-sub-task-other-modal">
  1 +<div class="uk-modal ct-form-modal ct_move_modal" id="add-sub-task-other-modal">
2 2 <div class="uk-modal-dialog" style="width: 635px;">
3 3 <a href="" class="uk-modal-close uk-close"></a>
4 4 <div class="uk-modal-header">
... ...
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task/add_sub_task_outpark.html
1   -<div class="uk-modal" id="add-sub-task-inpark-modal">
  1 +<div class="uk-modal ct_move_modal" id="add-sub-task-inpark-modal">
2 2 <div class="uk-modal-dialog">
3 3 <a href="" class="uk-modal-close uk-close"></a>
4 4 <div class="uk-modal-header">
... ...
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task/add_sub_task_range_turn.html
1   -<div class="uk-modal ct-form-modal" id="add-sub-task-range_turn-modal">
  1 +<div class="uk-modal ct-form-modal ct_move_modal" id="add-sub-task-range_turn-modal">
2 2 <div class="uk-modal-dialog" style="width: 1200px;">
3 3 <a href="" class="uk-modal-close uk-close"></a>
4 4 <div class="uk-modal-header">
... ...
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task/oil_station.html
1   -<div class="uk-modal ct-form-modal" id="oil_station-modal">
  1 +<div class="uk-modal ct-form-modal ct_move_modal" id="oil_station-modal">
2 2 <div class="uk-modal-dialog" style="width: 450px;">
3 3 <a href="" class="uk-modal-close uk-close"></a>
4 4 <div class="uk-modal-header">
... ...
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/tzrc.html
1   -<div class="uk-modal ct-form-modal" id="schedule-tzrc-modal">
  1 +<div class="uk-modal ct-form-modal ct_move_modal" id="schedule-tzrc-modal">
2 2 <div class="uk-modal-dialog" style="width: 680px;">
3 3 <a href="" class="uk-modal-close uk-close"></a>
4 4 <div class="uk-modal-header">
... ...
src/main/resources/static/real_control_v2/js/modal_extend.js
... ... @@ -3,13 +3,14 @@ $(document).on(&#39;hide.uk.modal&#39;, &#39;.uk-modal&#39;, function () {
3 3 $(this).remove();
4 4 });
5 5  
6   -$(document).on('show.uk.modal', '.uk-modal', function () {
  6 +$(document).on('show.uk.modal', '.uk-modal.ct_move_modal', function () {
7 7 if($('.uk-modal-dialog', this).hasClass('uk-modal-dialog-blank'))
8 8 return;
9 9  
10   - //临时放过g'ji轨迹回放
11   - if($(this).attr('id')=='map-playback-modal')
12   - return;
  10 + /* //临时放过轨迹回放
  11 + if($(this).attr('id')=='map-playback-modal')
  12 + return;*/
  13 +
13 14 //计算居中位置
14 15 var win = $('body');
15 16 var Y = (win.width() - $('.uk-modal-dialog', this).width()) / 2 - 10;
... ... @@ -19,7 +20,7 @@ $(document).on(&#39;show.uk.modal&#39;, &#39;.uk-modal&#39;, function () {
19 20 var show_modal = function (id, dom) {
20 21 $(document.body).append(dom);
21 22 return UIkit.modal(id, {
22   - bgclose: false
  23 + bgclose: false, modal: false
23 24 }).show();
24 25 };
25 26  
... ... @@ -39,7 +40,8 @@ var open_modal_dom = function (dom, data, opt) {
39 40 $(document.body).append(dom);
40 41 UIkit.modal(id, opt).show();
41 42 //move
42   - modal_move($('.uk-modal-header',id));
  43 + if($(id).hasClass('ct_move_modal'))
  44 + modal_move($('.uk-modal-header',id));
43 45  
44 46 if (data)
45 47 $(id).trigger('init', data);
... ... @@ -64,7 +66,6 @@ var modal_move = function (m_header) {
64 66 });
65 67  
66 68 $(m_header).parents('.uk-modal').mousemove(function (e) {
67   - e.preventDefault();
68 69 if(!_moveFlag || !_moveObj)
69 70 return;
70 71  
... ... @@ -91,5 +92,4 @@ var modal_move = function (m_header) {
91 92 _moveFlag = false;
92 93 _moveObj = null;
93 94 });
94   -
95 95 };
96 96 \ No newline at end of file
... ...
src/main/resources/static/real_control_v2/js/safe_driv/safeDriv.js 0 → 100644
  1 +/**
  2 + * 安全驾驶相关
  3 + */
  4 +var gb_safe_driv = (function () {
  5 +
  6 + var codes = {
  7 + 'A1': '手部违规',
  8 + 'A2': '摄像头偏离',
  9 + 'A3': '安全带',
  10 + 'A4': '手臂袖章',
  11 + 'A5': '脸部检测'
  12 + };
  13 +
  14 + var $wrap = $('.safe_driv_pop_wrap');
  15 + var max = 5;
  16 +
  17 + var pop = function (sd) {
  18 + //只有admin用户能收到
  19 + var user = gb_northToolbar.user();
  20 + if(!user || user.userName.indexOf('admin') == -1)
  21 + return;
  22 +
  23 + var htmlStr = '<div class="safe_driv_pop uk-animation-slide-bottom">'+
  24 + ' <span class="title"><i class="uk-icon-times-circle"></i>安全驾驶 '+moment(sd.ts).format('HH:mm')+'</span>'+
  25 + ' <span class="text"> '+sd.clzbh+' 违规驾驶('+codes[sd.yczltype]+')</span><span class="desc">请至安全驾驶监管平台查看图像信息</span>'+
  26 + '</div>';
  27 +
  28 + var items = $wrap.find('.safe_driv_pop'), len = items.length;
  29 + if(len >= max)
  30 + $wrap.find('.safe_driv_pop:lt('+(len - max)+')').remove();
  31 +
  32 + $wrap.append(htmlStr);
  33 + };
  34 +
  35 + $wrap.on('click', '.safe_driv_pop', function () {
  36 + $(this).remove();
  37 + });
  38 +
  39 + return {
  40 + pop: pop
  41 + }
  42 +})();
0 43 \ No newline at end of file
... ...
src/main/resources/static/real_control_v2/js/websocket/sch_websocket.js
... ... @@ -70,6 +70,10 @@ var gb_sch_websocket = (function () {
70 70 calcUntreated(msg.data.lineId);
71 71 };
72 72  
  73 + var safeDriv = function (msg) {
  74 + gb_safe_driv.pop(msg.t);
  75 + };
  76 +
73 77 var waitRemoves = [];
74 78 //车辆发出
75 79 var faChe = function (msg) {
... ... @@ -150,7 +154,8 @@ var gb_sch_websocket = (function () {
150 154 d80Confirm: d80Confirm,
151 155 directive: directiveStatus,
152 156 signal_state: signalState,
153   - deviceOffline: deviceOffline
  157 + deviceOffline: deviceOffline,
  158 + safeDriv: safeDriv
154 159 };
155 160  
156 161 function currentSecond() {
... ...
src/main/resources/static/real_control_v2/main.html
... ... @@ -60,6 +60,7 @@
60 60 </div>
61 61 </div>
62 62  
  63 +<div class="safe_driv_pop_wrap"></div>
63 64 <script>
64 65 delete window.exports;
65 66 delete window.module;
... ... @@ -182,8 +183,10 @@
182 183  
183 184 <!-- 处理表单片段嵌入问题 -->
184 185 <script src="/real_control_v2/js/forms/form_embed.js"></script>
185   -
  186 +<!-- 模态框扩展 -->
186 187 <script src="/real_control_v2/js/modal_extend.js"></script>
  188 +<!-- 安全驾驶相关 -->
  189 +<script src="/real_control_v2/js/safe_driv/safeDriv.js" ></script>
187 190 </body>
188 191  
189 192 </html>
... ...
src/main/resources/static/real_control_v2/mapmonitor/fragments/playback_v2/main.html
... ... @@ -245,154 +245,6 @@
245 245 </dl>
246 246 </div>
247 247 <div class="ct_table_body">
248   - <dl>
249   - <dd>金桥路朴珊德拉</dd>
250   - <dd>05:02.4</dd>
251   - <dd>05:04.6</dd>
252   - <dd>5</dd>
253   - <dd>12</dd>
254   - </dl>
255   - <dl>
256   - <dd>金桥路朴珊德拉</dd>
257   - <dd>05:02.4</dd>
258   - <dd>05:04.6</dd>
259   - <dd>5</dd>
260   - <dd>12</dd>
261   - </dl>
262   - <dl>
263   - <dd>金桥路朴珊德拉</dd>
264   - <dd>05:02.4</dd>
265   - <dd>05:04.6</dd>
266   - <dd>5</dd>
267   - <dd>12</dd>
268   - </dl>
269   - <dl>
270   - <dd>金桥路朴珊德拉</dd>
271   - <dd>05:02.4</dd>
272   - <dd>05:04.6</dd>
273   - <dd>5</dd>
274   - <dd>12</dd>
275   - </dl>
276   - <dl>
277   - <dd>金桥路朴珊德拉</dd>
278   - <dd>05:02.4</dd>
279   - <dd>05:04.6</dd>
280   - <dd>5</dd>
281   - <dd>12</dd>
282   - </dl>
283   - <dl>
284   - <dd>金桥路朴珊德拉</dd>
285   - <dd>05:02.4</dd>
286   - <dd>05:04.6</dd>
287   - <dd>5</dd>
288   - <dd>12</dd>
289   - </dl>
290   - <dl>
291   - <dd>金桥路朴珊德拉</dd>
292   - <dd>05:02.4</dd>
293   - <dd>05:04.6</dd>
294   - <dd>5</dd>
295   - <dd>12</dd>
296   - </dl>
297   - <dl>
298   - <dd>金桥路朴珊德拉</dd>
299   - <dd>05:02.4</dd>
300   - <dd>05:04.6</dd>
301   - <dd>5</dd>
302   - <dd>12</dd>
303   - </dl>
304   - <dl>
305   - <dd>金桥路朴珊德拉</dd>
306   - <dd>05:02.4</dd>
307   - <dd>05:04.6</dd>
308   - <dd>5</dd>
309   - <dd>12</dd>
310   - </dl>
311   - <dl>
312   - <dd>金桥路朴珊德拉</dd>
313   - <dd>05:02.4</dd>
314   - <dd>05:04.6</dd>
315   - <dd>5</dd>
316   - <dd>12</dd>
317   - </dl>
318   - <dl>
319   - <dd>金桥路朴珊德拉</dd>
320   - <dd>05:02.4</dd>
321   - <dd>05:04.6</dd>
322   - <dd>5</dd>
323   - <dd>12</dd>
324   - </dl>
325   - <dl>
326   - <dd>金桥路朴珊德拉</dd>
327   - <dd>05:02.4</dd>
328   - <dd>05:04.6</dd>
329   - <dd>5</dd>
330   - <dd>12</dd>
331   - </dl>
332   - <dl>
333   - <dd>金桥路朴珊德拉</dd>
334   - <dd>05:02.4</dd>
335   - <dd>05:04.6</dd>
336   - <dd>5</dd>
337   - <dd>12</dd>
338   - </dl>
339   - <dl>
340   - <dd>金桥路朴珊德拉</dd>
341   - <dd>05:02.4</dd>
342   - <dd>05:04.6</dd>
343   - <dd>5</dd>
344   - <dd>12</dd>
345   - </dl>
346   - <dl>
347   - <dd>金桥路朴珊德拉</dd>
348   - <dd>05:02.4</dd>
349   - <dd>05:04.6</dd>
350   - <dd>5</dd>
351   - <dd>12</dd>
352   - </dl>
353   - <dl>
354   - <dd>金桥路朴珊德拉</dd>
355   - <dd>05:02.4</dd>
356   - <dd>05:04.6</dd>
357   - <dd>5</dd>
358   - <dd>12</dd>
359   - </dl>
360   - <dl>
361   - <dd>金桥路朴珊德拉</dd>
362   - <dd>05:02.4</dd>
363   - <dd>05:04.6</dd>
364   - <dd>5</dd>
365   - <dd>12</dd>
366   - </dl>
367   - <dl>
368   - <dd>金桥路朴珊德拉</dd>
369   - <dd>05:02.4</dd>
370   - <dd>05:04.6</dd>
371   - <dd>5</dd>
372   - <dd>12</dd>
373   - </dl>
374   - <dl>
375   - <dd>金桥路朴珊德拉</dd>
376   - <dd>05:02.4</dd>
377   - <dd>05:04.6</dd>
378   - <dd>5</dd>
379   - <dd>12</dd>
380   - </dl>
381   - <dl>
382   - <dd>金桥路朴珊德拉</dd>
383   - <dd>05:02.4</dd>
384   - <dd>05:04.6</dd>
385   - <dd>5</dd>
386   - <dd>12</dd>
387   - </dl>
388   - <dl>
389   - <dd>金桥路朴珊德拉</dd>
390   - <dd>05:02.4</dd>
391   - <dd>05:04.6</dd>
392   - <dd>5</dd>
393   - <dd>12</dd>
394   - </dl>
395   -
396 248 </div>
397 249 </div>
398 250 </div>
... ... @@ -429,16 +281,31 @@
429 281 </dl>
430 282 {{/each}}
431 283 </script>
  284 +
  285 + <script id="multi_inout_info_cont_temp" type="text/html">
  286 + {{each list as item i}}
  287 + <dl>
  288 + <dd>{{item.stopName}}</dd>
  289 + <dd>{{item.in_time_str}}</dd>
  290 + <dd>{{item.out_time_str}}</dd>
  291 + <dd></dd>
  292 + <dd></dd>
  293 + </dl>
  294 + {{/each}}
  295 + </script>
432 296 <script>
433 297 (function () {
434 298 var modal = '#map-playback2-modal', gpsArray;
435 299  
436 300 $(modal).on('init', function (e, data) {
437   - //初始化地图
438   - map = new BMap.Map($('.map-wrap', modal)[0]);
439   - //中心点和缩放级别
440   - map.centerAndZoom(new BMap.Point(gb_map_consts.center_point.lng, gb_map_consts.center_point.lat), 16);
441   - map.enableScrollWheelZoom();
  301 + try{
  302 + //初始化地图
  303 + map = new BMap.Map($('.map-wrap', modal)[0]);
  304 + //中心点和缩放级别
  305 + map.centerAndZoom(new BMap.Point(gb_map_consts.center_point.lng, gb_map_consts.center_point.lat), 16);
  306 + map.enableScrollWheelZoom();
  307 + }catch (e){
  308 + console.log(e);}
442 309  
443 310 //固定表头
444 311 gb_ct_table.fixedHead($('.road_table_wrap', modal));
... ... @@ -548,8 +415,15 @@
548 415 return;
549 416 }
550 417  
  418 + //排序
  419 + gpsArray.sort(function (a, b) {
  420 + return a.ts - b.ts;
  421 + });
  422 + console.log('gpsArray', gpsArray);
551 423 //行车轨迹
552 424 trailTableObj.showInitData(gpsArray);
  425 + //到离站信息
  426 + inOutStationTableObj.showInitData(gpsArray);
553 427 }
554 428 });
555 429 }
... ... @@ -589,6 +463,79 @@
589 463 showInitData: showInitData
590 464 };
591 465 })();
  466 +
  467 + /**
  468 + * 到离站信息表格
  469 + * @type {{}}
  470 + */
  471 + var inOutStationTableObj = (function () {
  472 +
  473 + var data = [];
  474 + var showInitData = function (list) {
  475 + clear();
  476 + data = [];
  477 +
  478 + $.each(list, function (i, gps) {
  479 + if(gps['inout_stop'] == -1)
  480 + return true;
  481 +
  482 + if(gps['inout_stop'] == 1){
  483 + data.push(createIn(gps));
  484 + }
  485 + else if(gps['inout_stop'] == 0){
  486 + matchOut(data[data.length - 1], gps);
  487 + }
  488 + });
  489 +
  490 + //格式化时间
  491 + $.each(data, function () {
  492 + if(this.in_ts)
  493 + this.in_time_str = moment(this.in_ts).format('HH:mm.ss');
  494 + if(this.out_ts)
  495 + this.out_time_str = moment(this.out_ts).format('HH:mm.ss');
  496 + });
  497 +
  498 + console.log('data', data);
  499 + var htmlStr = template('multi_inout_info_cont_temp', {list: data});
  500 + $('.inout_table_wrap .ct_table_body', modal).html(htmlStr);
  501 + };
  502 +
  503 + var add = function (gps) {
  504 +
  505 + /*if (gps.inout_stop == -1)
  506 + return;
  507 +
  508 + var htmlStr = template('', {obj: gps['inout_stop_info']});
  509 + $('.inout_table_wrap .ct_table .ct_table_body', modal).html(htmlStr);*/
  510 + };
  511 +
  512 + var clear = function () {
  513 +
  514 + };
  515 +
  516 + var createIn = function (gps) {
  517 + var info = gps['inout_stop_info'];
  518 + return {
  519 + in_ts: info.ts,
  520 + stopNo: info.stopNo,
  521 + stopName: info.stopName
  522 + }
  523 + };
  524 +
  525 +
  526 + var matchOut = function (info, gps) {
  527 + if(!info)
  528 + return;
  529 + var outInfo = gps['inout_stop_info'];
  530 + if(info.stopName == outInfo.stopName){
  531 + info['out_ts'] = outInfo.ts;
  532 + }
  533 + };
  534 +
  535 + return {
  536 + showInitData: showInitData
  537 + };
  538 + })();
592 539 })();
593 540 </script>
594 541 </div>
595 542 \ No newline at end of file
... ...