Commit ac06fdae8c750f22adda9cb20df13df599e41249

Authored by 徐烜
2 parents 935516d7 41237e5c

Merge branch 'minhang' into pudong

src/main/java/com/bsth/controller/realcontrol/ScheduleRealInfoController.java
@@ -7,6 +7,7 @@ import com.bsth.controller.realcontrol.dto.ChangePersonCar; @@ -7,6 +7,7 @@ import com.bsth.controller.realcontrol.dto.ChangePersonCar;
7 import com.bsth.controller.realcontrol.dto.DfsjChange; 7 import com.bsth.controller.realcontrol.dto.DfsjChange;
8 import com.bsth.data.BasicData; 8 import com.bsth.data.BasicData;
9 import com.bsth.data.schedule.DayOfSchedule; 9 import com.bsth.data.schedule.DayOfSchedule;
  10 +import com.bsth.data.schedule.edit_logs.service.dto.SchEditInfoDto;
10 import com.bsth.entity.realcontrol.ScheduleRealInfo; 11 import com.bsth.entity.realcontrol.ScheduleRealInfo;
11 import com.bsth.entity.schedule.SchedulePlanInfo; 12 import com.bsth.entity.schedule.SchedulePlanInfo;
12 import com.bsth.service.realcontrol.ScheduleRealInfoService; 13 import com.bsth.service.realcontrol.ScheduleRealInfoService;
@@ -317,9 +318,9 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, @@ -317,9 +318,9 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo,
317 } 318 }
318 319
319 @RequestMapping(value = "/correctForm") 320 @RequestMapping(value = "/correctForm")
320 - public List<ScheduleRealInfo> correctForm(@RequestParam String line, @RequestParam String startDate,  
321 - @RequestParam String endDate, @RequestParam String lpName, @RequestParam String code, @RequestParam String type) {  
322 - return scheduleRealInfoService.correctForm(line, startDate, endDate, lpName, code, type); 321 + public List<SchEditInfoDto> correctForm(@RequestParam String line, @RequestParam String date,
  322 + @RequestParam String lpName, @RequestParam String code, @RequestParam String type) {
  323 + return scheduleRealInfoService.correctForm(line, date, lpName, code, type);
323 } 324 }
324 /** 325 /**
325 * @Title queryListWaybill 326 * @Title queryListWaybill
src/main/java/com/bsth/controller/schedule/TrafficManageController.java
@@ -8,6 +8,8 @@ import org.springframework.web.bind.annotation.RequestMethod; @@ -8,6 +8,8 @@ import org.springframework.web.bind.annotation.RequestMethod;
8 import org.springframework.web.bind.annotation.RequestParam; 8 import org.springframework.web.bind.annotation.RequestParam;
9 import org.springframework.web.bind.annotation.RestController; 9 import org.springframework.web.bind.annotation.RestController;
10 10
  11 +import java.util.Map;
  12 +
11 /** 13 /**
12 * 14 *
13 * @author BSTH 15 * @author BSTH
@@ -22,9 +24,9 @@ public class TrafficManageController { @@ -22,9 +24,9 @@ public class TrafficManageController {
22 24
23 25
24 @RequestMapping(value = "/setXL", method = RequestMethod.GET) 26 @RequestMapping(value = "/setXL", method = RequestMethod.GET)
25 - public String setXL() throws Exception { 27 + public String setXL(@RequestParam Map<String, Object> param) throws Exception {
26 try { 28 try {
27 - return trManageService.setXL(); 29 + return trManageService.setXL(param);
28 } catch (Exception exp) { 30 } catch (Exception exp) {
29 throw new Exception(exp.getCause()); 31 throw new Exception(exp.getCause());
30 } 32 }
@@ -57,6 +59,15 @@ public class TrafficManageController { @@ -57,6 +59,15 @@ public class TrafficManageController {
57 } 59 }
58 } 60 }
59 61
  62 + @RequestMapping(value = "/setLDFile", method = RequestMethod.GET)
  63 + public String setLDFile() throws Exception {
  64 + try {
  65 + return trManageService.setLDFile();
  66 + } catch (Exception exp) {
  67 + throw new Exception(exp.getCause());
  68 + }
  69 + }
  70 +
60 @RequestMapping(value = "/setLCYH", method = RequestMethod.GET) 71 @RequestMapping(value = "/setLCYH", method = RequestMethod.GET)
61 public String setLCYH() throws Exception { 72 public String setLCYH() throws Exception {
62 try { 73 try {
src/main/java/com/bsth/service/TrafficManageService.java
1 package com.bsth.service; 1 package com.bsth.service;
2 2
  3 +import java.util.Map;
  4 +
3 /** 5 /**
4 * 6 *
5 * @Interface: LineService(线路service业务层实现接口) 7 * @Interface: LineService(线路service业务层实现接口)
@@ -22,7 +24,7 @@ public interface TrafficManageService { @@ -22,7 +24,7 @@ public interface TrafficManageService {
22 * 24 *
23 * @return 调用接口返回信息 25 * @return 调用接口返回信息
24 */ 26 */
25 - String setXL(); 27 + String setXL(Map<String, Object> param);
26 28
27 /** 29 /**
28 * 上传车辆信息 30 * 上传车辆信息
@@ -65,6 +67,8 @@ public interface TrafficManageService { @@ -65,6 +67,8 @@ public interface TrafficManageService {
65 67
66 String setLD(); 68 String setLD();
67 69
  70 + String setLDFile();
  71 +
68 String setLCYH(); 72 String setLCYH();
69 73
70 String setDDRB(); 74 String setDDRB();
src/main/java/com/bsth/service/forms/impl/FormsServiceImpl.java
@@ -205,12 +205,15 @@ public class FormsServiceImpl implements FormsService { @@ -205,12 +205,15 @@ public class FormsServiceImpl implements FormsService {
205 if(map.containsKey("fgsdmManth")){ 205 if(map.containsKey("fgsdmManth")){
206 fgsdmManth=map.get("fgsdmManth").toString(); 206 fgsdmManth=map.get("fgsdmManth").toString();
207 } 207 }
208 - String sql = "select"  
209 - + " r.j_name, r.cl_zbh,r.j_gh,r.s_gh,r.s_name "  
210 -// + "r.gs_bm,r.gs_name,"  
211 -// + " r.fgs_bm,r.fgs_name,r.bc_type,r.lp_name "  
212 - + " from bsth_c_s_sp_info_real r "  
213 - + " where 1=1 "; 208 + String sql ="select ";
  209 + if(empnames.equals("驾驶员")){
  210 + sql += " r.j_name,r.j_gh ";
  211 + }else if(empnames.equals("售票员")){
  212 + sql += " r.s_gh,r.s_name";
  213 + }else{
  214 + sql += " r.cl_zbh";
  215 + }
  216 + sql += " from bsth_c_s_sp_info_real r where 1=1 ";
214 if(map.get("startDate")!=null&&!map.get("startDate").equals("")){ 217 if(map.get("startDate")!=null&&!map.get("startDate").equals("")){
215 sql+=" and to_days(r.schedule_date_str) BETWEEN to_days('" + map.get("startDate").toString() + "') "; 218 sql+=" and to_days(r.schedule_date_str) BETWEEN to_days('" + map.get("startDate").toString() + "') ";
216 } 219 }
@@ -227,12 +230,16 @@ public class FormsServiceImpl implements FormsService { @@ -227,12 +230,16 @@ public class FormsServiceImpl implements FormsService {
227 // } 230 // }
228 if(map.get("fgsdmManth")!=null&&!map.get("fgsdmManth").equals("")){ 231 if(map.get("fgsdmManth")!=null&&!map.get("fgsdmManth").equals("")){
229 sql+=" and r.fgs_bm like'%"+fgsdmManth+"%' "; 232 sql+=" and r.fgs_bm like'%"+fgsdmManth+"%' ";
230 - }  
231 - if(empnames.equals("售票员")){  
232 - sql+="and r.s_name is not null AND r.s_name !=''";  
233 } 233 }
  234 + if(empnames.equals("驾驶员")){
234 sql += " GROUP BY " 235 sql += " GROUP BY "
235 - + "r.j_name, r.cl_zbh,r.j_gh,r.s_gh,r.s_name "; 236 + + "r.j_name,r.j_gh";
  237 + }else if(empnames.equals("售票员")){
  238 + sql+="and r.s_name is not null AND r.s_name !='' GROUP BY r.s_gh,r.s_name";
  239 + }else{
  240 + sql += " GROUP BY r.cl_zbh";
  241 + }
  242 +
236 // + ",r.gs_bm,r.gs_name," 243 // + ",r.gs_bm,r.gs_name,"
237 // + "r.fgs_bm,r.fgs_name,r.bc_type "; 244 // + "r.fgs_bm,r.fgs_name,r.bc_type ";
238 245
@@ -244,15 +251,16 @@ public class FormsServiceImpl implements FormsService { @@ -244,15 +251,16 @@ public class FormsServiceImpl implements FormsService {
244 public Shiftuehiclemanth mapRow(ResultSet arg0, int arg1) throws SQLException { 251 public Shiftuehiclemanth mapRow(ResultSet arg0, int arg1) throws SQLException {
245 Shiftuehiclemanth shif = new Shiftuehiclemanth(); 252 Shiftuehiclemanth shif = new Shiftuehiclemanth();
246 if(empnames.equals("驾驶员")){ 253 if(empnames.equals("驾驶员")){
247 - shif.setjName(arg0.getString("j_name")); 254 + shif.setjName(arg0.getString("j_name")+"/"+arg0.getString("j_gh"));
  255 + shif.setJgh(arg0.getString("j_gh"));
248 }else if(empnames.equals("售票员")){ 256 }else if(empnames.equals("售票员")){
249 - shif.setjName(arg0.getString("s_name")==null ? "":arg0.getString("s_name")); 257 + shif.setjName(arg0.getString("s_name")+"/"+arg0.getString("s_gh"));
250 shif.setSgh(arg0.getString("s_gh")==null ? "":arg0.getString("s_gh")); 258 shif.setSgh(arg0.getString("s_gh")==null ? "":arg0.getString("s_gh"));
251 }else if(empnames.equals("车辆自编号")){ 259 }else if(empnames.equals("车辆自编号")){
252 shif.setjName(arg0.getString("cl_zbh")); 260 shif.setjName(arg0.getString("cl_zbh"));
253 } 261 }
254 - shif.setJgh(arg0.getString("j_gh"));  
255 - shif.setZbh(arg0.getString("cl_zbh")); 262 +// shif.setJgh(arg0.getString("j_gh"));
  263 +// shif.setZbh(arg0.getString("cl_zbh"));
256 // shif.setjName(arg0.getString("s_gh")==null ? "":arg0.getString("s_gh")); 264 // shif.setjName(arg0.getString("s_gh")==null ? "":arg0.getString("s_gh"));
257 return shif; 265 return shif;
258 } 266 }
@@ -274,11 +282,11 @@ public class FormsServiceImpl implements FormsService { @@ -274,11 +282,11 @@ public class FormsServiceImpl implements FormsService {
274 } 282 }
275 }else if(empnames.equals("售票员")){ 283 }else if(empnames.equals("售票员")){
276 String sgh=s.getsGh()==null?"":s.getsGh(); 284 String sgh=s.getsGh()==null?"":s.getsGh();
277 - if(d.getSgh().equals(sgh) && d.getZbh().equals(s.getClZbh())){ 285 + if(d.getSgh().equals(sgh)){
278 sList.add(s); 286 sList.add(s);
279 } 287 }
280 }else if(empnames.equals("车辆自编号")){ 288 }else if(empnames.equals("车辆自编号")){
281 - if(d.getZbh().equals(s.getClZbh())){ 289 + if(d.getjName().equals(s.getClZbh())){
282 sList.add(s); 290 sList.add(s);
283 } 291 }
284 } 292 }
src/main/java/com/bsth/service/impl/TrafficManageServiceImpl.java
@@ -173,16 +173,22 @@ public class TrafficManageServiceImpl implements TrafficManageService{ @@ -173,16 +173,22 @@ public class TrafficManageServiceImpl implements TrafficManageService{
173 upStationsList = stationRouteRepository.findByLine(line.getLineCode(), 0); 173 upStationsList = stationRouteRepository.findByLine(line.getLineCode(), 0);
174 int startId = 1; 174 int startId = 1;
175 startId = packagStationXml(upStationsList, sBuffer, startId); 175 startId = packagStationXml(upStationsList, sBuffer, startId);
176 - // 再查下行  
177 - downStationsList = stationRouteRepository.findByLine(line.getLineCode(), 1);  
178 - packagStationXml(downStationsList, sBuffer, startId); 176 + // 环线不查下行
  177 + if(line.getLinePlayType() != 1){
  178 + // 再查下行
  179 + downStationsList = stationRouteRepository.findByLine(line.getLineCode(), 1);
  180 + packagStationXml(downStationsList, sBuffer, startId);
  181 + }
179 sBuffer.append("</LineStationList>"); 182 sBuffer.append("</LineStationList>");
180 183
181 // 循环添加站点点位信息 184 // 循环添加站点点位信息
182 sBuffer.append("<LinePointList>"); 185 sBuffer.append("<LinePointList>");
183 startId = 1; 186 startId = 1;
184 startId = packagStationPointXml(upStationsList, sBuffer, startId); 187 startId = packagStationPointXml(upStationsList, sBuffer, startId);
185 - packagStationPointXml(downStationsList, sBuffer, startId); 188 + // 环线不查下行
  189 + if(line.getLinePlayType() != 1){
  190 + packagStationPointXml(downStationsList, sBuffer, startId);
  191 + }
186 sBuffer.append("</LinePointList>"); 192 sBuffer.append("</LinePointList>");
187 // } 193 // }
188 sBuffer.append("</DataList>"); 194 sBuffer.append("</DataList>");
src/main/java/com/bsth/service/realcontrol/ScheduleRealInfoService.java
@@ -2,6 +2,7 @@ package com.bsth.service.realcontrol; @@ -2,6 +2,7 @@ package com.bsth.service.realcontrol;
2 2
3 import com.bsth.controller.realcontrol.dto.ChangePersonCar; 3 import com.bsth.controller.realcontrol.dto.ChangePersonCar;
4 import com.bsth.controller.realcontrol.dto.DfsjChange; 4 import com.bsth.controller.realcontrol.dto.DfsjChange;
  5 +import com.bsth.data.schedule.edit_logs.service.dto.SchEditInfoDto;
5 import com.bsth.entity.realcontrol.ScheduleRealInfo; 6 import com.bsth.entity.realcontrol.ScheduleRealInfo;
6 import com.bsth.entity.schedule.SchedulePlanInfo; 7 import com.bsth.entity.schedule.SchedulePlanInfo;
7 import com.bsth.service.BaseService; 8 import com.bsth.service.BaseService;
@@ -104,7 +105,7 @@ public interface ScheduleRealInfoService extends BaseService&lt;ScheduleRealInfo, L @@ -104,7 +105,7 @@ public interface ScheduleRealInfoService extends BaseService&lt;ScheduleRealInfo, L
104 List<Map<String,Object>> accountPx(String line,String date,String code,String xlName, String px); 105 List<Map<String,Object>> accountPx(String line,String date,String code,String xlName, String px);
105 106
106 107
107 - List<ScheduleRealInfo> correctForm(String line,String startDate,String endDate,String lpName,String code, String type); 108 + List<SchEditInfoDto> correctForm(String line,String date,String lpName,String code, String type);
108 109
109 List<ScheduleRealInfo> queryListWaybill(String jName,String clZbh,String lpName,String date,String line); 110 List<ScheduleRealInfo> queryListWaybill(String jName,String clZbh,String lpName,String date,String line);
110 111
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
@@ -16,6 +16,7 @@ import com.bsth.data.schedule.ScheduleComparator; @@ -16,6 +16,7 @@ import com.bsth.data.schedule.ScheduleComparator;
16 import com.bsth.data.schedule.edit_logs.FormLogger; 16 import com.bsth.data.schedule.edit_logs.FormLogger;
17 import com.bsth.data.schedule.edit_logs.ScheduleModifyLogger; 17 import com.bsth.data.schedule.edit_logs.ScheduleModifyLogger;
18 import com.bsth.data.schedule.edit_logs.loggers.FcxxwtLogger; 18 import com.bsth.data.schedule.edit_logs.loggers.FcxxwtLogger;
  19 +import com.bsth.data.schedule.edit_logs.service.dto.SchEditInfoDto;
19 import com.bsth.data.schedule.late_adjust.LateAdjustHandle; 20 import com.bsth.data.schedule.late_adjust.LateAdjustHandle;
20 import com.bsth.entity.Cars; 21 import com.bsth.entity.Cars;
21 import com.bsth.entity.Line; 22 import com.bsth.entity.Line;
@@ -58,9 +59,11 @@ import org.apache.commons.lang3.StringEscapeUtils; @@ -58,9 +59,11 @@ import org.apache.commons.lang3.StringEscapeUtils;
58 import org.apache.commons.lang3.StringUtils; 59 import org.apache.commons.lang3.StringUtils;
59 import org.joda.time.format.DateTimeFormat; 60 import org.joda.time.format.DateTimeFormat;
60 import org.joda.time.format.DateTimeFormatter; 61 import org.joda.time.format.DateTimeFormatter;
  62 +import org.mvel2.optimizers.impl.refl.nodes.ArrayLength;
61 import org.slf4j.Logger; 63 import org.slf4j.Logger;
62 import org.slf4j.LoggerFactory; 64 import org.slf4j.LoggerFactory;
63 import org.springframework.beans.factory.annotation.Autowired; 65 import org.springframework.beans.factory.annotation.Autowired;
  66 +import org.springframework.jdbc.core.BeanPropertyRowMapper;
64 import org.springframework.jdbc.core.JdbcTemplate; 67 import org.springframework.jdbc.core.JdbcTemplate;
65 import org.springframework.jdbc.core.RowMapper; 68 import org.springframework.jdbc.core.RowMapper;
66 import org.springframework.stereotype.Service; 69 import org.springframework.stereotype.Service;
@@ -1904,7 +1907,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -1904,7 +1907,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
1904 return listMap; 1907 return listMap;
1905 } 1908 }
1906 1909
1907 - @Override 1910 + /* @Override
1908 public List<ScheduleRealInfo> correctForm(String line, String startDate, 1911 public List<ScheduleRealInfo> correctForm(String line, String startDate,
1909 String endDate, String lpName, String code, String type) { 1912 String endDate, String lpName, String code, String type) {
1910 List<ScheduleRealInfo> list = scheduleRealInfoRepository.correctForm(line, startDate, endDate, lpName, code); 1913 List<ScheduleRealInfo> list = scheduleRealInfoRepository.correctForm(line, startDate, endDate, lpName, code);
@@ -1959,8 +1962,93 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -1959,8 +1962,93 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
1959 } 1962 }
1960 1963
1961 return list; 1964 return list;
  1965 + }*/
  1966 +
  1967 + @Override
  1968 + public List<SchEditInfoDto> correctForm(String line,String date,
  1969 + String lpName,String code, String type) {
  1970 +
  1971 +// var types = {'DFTZ': '待发调整', 'FCXXWT':'发车信息微调', 'JHLB': '计划烂班', 'CXLB': '撤销烂班',
  1972 +// 'CXZX': '撤销执行', 'CXSF': '撤销实发', 'SFTZ': '实发调整', 'TZRC': '调整人车'};
  1973 + Map<String, Object> map=new HashMap<String,Object>();
  1974 + map.put("DFTZ", "待发调整");
  1975 + map.put("FCXXWT", "发车信息微调");
  1976 + map.put("JHLB", "计划烂班");
  1977 + map.put("CXLB", "撤销烂班");
  1978 + map.put("CXZX","撤销执行");
  1979 + map.put("CXSF", "撤销实发");
  1980 + map.put("SFTZ", "实发调整");
  1981 + map.put("TZRC", "调整人车");
  1982 +
  1983 + String cont = "";
  1984 + cont = " and xl_bm ='"+line +"'";
  1985 + if(!lpName.equals("")){
  1986 + cont +=" and lp_name = '"+lpName+"'";
  1987 + }
  1988 + if(!code.equals("")){
  1989 + cont +=" and cl_zbh ='"+code+"'";
  1990 + }
  1991 + String sql = "select t1.*, "
  1992 + + "t2.fcsj,t2.lp_name,t2.cl_zbh,t2.j_gh,t2.j_name,"
  1993 + + "t2.xl_dir,t2.real_exec_date from (select * from "
  1994 + + "logger_sch_modify where rq=? and line_code=? )"
  1995 + + " t1 INNER JOIN bsth_c_s_sp_info_real t2 on "
  1996 + + "t1.sch_id=t2.id where 1=1 " + cont;
  1997 +
  1998 + List<SchEditInfoDto> list = jdbcTemplate.query(sql,
  1999 + new BeanPropertyRowMapper(SchEditInfoDto.class),date, line);
  2000 + List<SchEditInfoDto> lists=new ArrayList<SchEditInfoDto>();
  2001 + for (int i = 0; i < list.size(); i++) {
  2002 + SchEditInfoDto t=list.get(i);
  2003 + if(map.get(t.getType())!=null){
  2004 + t.setType2(t.getTimeStr()+":"+map.get(t.getType()).toString());
  2005 + }else{
  2006 + t.setType2("");
  2007 + }
  2008 + boolean fage=true;
  2009 + for (int j = 0; j < lists.size(); j++) {
  2010 + SchEditInfoDto s=lists.get(j);
  2011 + if(s.getSchId()==t.getSchId()){
  2012 + s.setType2(s.getType2()+" "+t.getType2());
  2013 + fage=false;
  2014 + }
  2015 + }
  2016 + if(fage){
  2017 + lists.add(t);
  2018 + }
  2019 + }
  2020 +
  2021 + if (type != null && type.length() != 0 && type.equals("export")) {
  2022 + SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"),
  2023 + sdfSimple = new SimpleDateFormat("yyyyMMdd");
  2024 + List<Iterator<?>> listI = new ArrayList<Iterator<?>>();
  2025 + Map<String, Object> m = new HashMap<String, Object>();
  2026 + m.put("dates",date);
  2027 + ReportUtils ee = new ReportUtils();
  2028 + List<Map<String, Object>> tempList = new ArrayList<Map<String, Object>>();
  2029 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  2030 + for (SchEditInfoDto d : lists) {
  2031 + Map<String, Object> tempMap = new HashMap<String, Object>();
  2032 + tempMap.put("lpName", d.getLpName());
  2033 + tempMap.put("clZbh", d.getClZbh());
  2034 + tempMap.put("jName", d.getjName()+"/"+d.getjGh());
  2035 + tempMap.put("fcsj", d.getFcsj());
  2036 + tempMap.put("type", d.getType2());
  2037 + tempList.add(tempMap);
  2038 + }
  2039 + try {
  2040 + listI.add(tempList.iterator());
  2041 + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/";
  2042 + ee.excelReplace(listI, new Object[]{m}, path + "mould/correctForm.xls",
  2043 + path + "export/修正报表" + date+ ".xls");
  2044 + } catch (Exception e) {
  2045 + // TODO: handle exception
  2046 + e.printStackTrace();
  2047 + }
  2048 +// Map<String, Object> maps = tempList.get(tempList.size() - 1);
  2049 + }
  2050 + return lists;
1962 } 2051 }
1963 -  
1964 @Override 2052 @Override
1965 public List<ScheduleRealInfo> queryListWaybill(String jName, String clZbh, 2053 public List<ScheduleRealInfo> queryListWaybill(String jName, String clZbh,
1966 String lpName, String date, String line) { 2054 String lpName, String date, String line) {
src/main/resources/datatools/ktrs/scheduleRuleDataInput.ktr
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<transformation>  
3 - <info>  
4 - <name>&#x6392;&#x73ed;&#x89c4;&#x5219;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</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>erroroutputdir</name>  
14 - <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;bsth_project&#x2f;bsth_control_etl&#x2f;&#x5bfc;&#x5165;&#x5bfc;&#x51fa;1</default_value>  
15 - <description>ktr step&#x914d;&#x7f6e;&#x7684;&#x9519;&#x8bef;&#x8f93;&#x51fa;&#x76ee;&#x5f55;</description>  
16 - </parameter>  
17 - <parameter>  
18 - <name>filepath</name>  
19 - <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;bsth_project&#x2f;bsth_control_etl&#x2f;&#x5bfc;&#x5165;&#x5bfc;&#x51fa;1&#x2f;&#x6392;&#x7248;&#x89c4;&#x5219;&#x4fe1;&#x606f;.xls</default_value>  
20 - <description>&#x5f85;&#x5904;&#x7406;&#x5bfc;&#x5165;&#x7684;excel&#x6587;&#x4ef6;</description>  
21 - </parameter>  
22 - </parameters>  
23 - <log>  
24 -<trans-log-table><connection/>  
25 -<schema/>  
26 -<table/>  
27 -<size_limit_lines/>  
28 -<interval/>  
29 -<timeout_days/>  
30 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STATUS</id><enabled>Y</enabled><name>STATUS</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name><subject/></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name><subject/></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name><subject/></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name><subject/></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name><subject/></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name><subject/></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>STARTDATE</id><enabled>Y</enabled><name>STARTDATE</name></field><field><id>ENDDATE</id><enabled>Y</enabled><name>ENDDATE</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>DEPDATE</id><enabled>Y</enabled><name>DEPDATE</name></field><field><id>REPLAYDATE</id><enabled>Y</enabled><name>REPLAYDATE</name></field><field><id>LOG_FIELD</id><enabled>Y</enabled><name>LOG_FIELD</name></field><field><id>EXECUTING_SERVER</id><enabled>N</enabled><name>EXECUTING_SERVER</name></field><field><id>EXECUTING_USER</id><enabled>N</enabled><name>EXECUTING_USER</name></field><field><id>CLIENT</id><enabled>N</enabled><name>CLIENT</name></field></trans-log-table>  
31 -<perf-log-table><connection/>  
32 -<schema/>  
33 -<table/>  
34 -<interval/>  
35 -<timeout_days/>  
36 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>SEQ_NR</id><enabled>Y</enabled><name>SEQ_NR</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>INPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>INPUT_BUFFER_ROWS</name></field><field><id>OUTPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>OUTPUT_BUFFER_ROWS</name></field></perf-log-table>  
37 -<channel-log-table><connection/>  
38 -<schema/>  
39 -<table/>  
40 -<timeout_days/>  
41 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>LOGGING_OBJECT_TYPE</id><enabled>Y</enabled><name>LOGGING_OBJECT_TYPE</name></field><field><id>OBJECT_NAME</id><enabled>Y</enabled><name>OBJECT_NAME</name></field><field><id>OBJECT_COPY</id><enabled>Y</enabled><name>OBJECT_COPY</name></field><field><id>REPOSITORY_DIRECTORY</id><enabled>Y</enabled><name>REPOSITORY_DIRECTORY</name></field><field><id>FILENAME</id><enabled>Y</enabled><name>FILENAME</name></field><field><id>OBJECT_ID</id><enabled>Y</enabled><name>OBJECT_ID</name></field><field><id>OBJECT_REVISION</id><enabled>Y</enabled><name>OBJECT_REVISION</name></field><field><id>PARENT_CHANNEL_ID</id><enabled>Y</enabled><name>PARENT_CHANNEL_ID</name></field><field><id>ROOT_CHANNEL_ID</id><enabled>Y</enabled><name>ROOT_CHANNEL_ID</name></field></channel-log-table>  
42 -<step-log-table><connection/>  
43 -<schema/>  
44 -<table/>  
45 -<timeout_days/>  
46 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>LOG_FIELD</id><enabled>N</enabled><name>LOG_FIELD</name></field></step-log-table>  
47 -<metrics-log-table><connection/>  
48 -<schema/>  
49 -<table/>  
50 -<timeout_days/>  
51 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>METRICS_DATE</id><enabled>Y</enabled><name>METRICS_DATE</name></field><field><id>METRICS_CODE</id><enabled>Y</enabled><name>METRICS_CODE</name></field><field><id>METRICS_DESCRIPTION</id><enabled>Y</enabled><name>METRICS_DESCRIPTION</name></field><field><id>METRICS_SUBJECT</id><enabled>Y</enabled><name>METRICS_SUBJECT</name></field><field><id>METRICS_TYPE</id><enabled>Y</enabled><name>METRICS_TYPE</name></field><field><id>METRICS_VALUE</id><enabled>Y</enabled><name>METRICS_VALUE</name></field></metrics-log-table>  
52 - </log>  
53 - <maxdate>  
54 - <connection/>  
55 - <table/>  
56 - <field/>  
57 - <offset>0.0</offset>  
58 - <maxdiff>0.0</maxdiff>  
59 - </maxdate>  
60 - <size_rowset>10000</size_rowset>  
61 - <sleep_time_empty>50</sleep_time_empty>  
62 - <sleep_time_full>50</sleep_time_full>  
63 - <unique_connections>N</unique_connections>  
64 - <feedback_shown>Y</feedback_shown>  
65 - <feedback_size>50000</feedback_size>  
66 - <using_thread_priorities>Y</using_thread_priorities>  
67 - <shared_objects_file/>  
68 - <capture_step_performance>N</capture_step_performance>  
69 - <step_performance_capturing_delay>1000</step_performance_capturing_delay>  
70 - <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>  
71 - <dependencies>  
72 - </dependencies>  
73 - <partitionschemas>  
74 - </partitionschemas>  
75 - <slaveservers>  
76 - </slaveservers>  
77 - <clusterschemas>  
78 - </clusterschemas>  
79 - <created_user>-</created_user>  
80 - <created_date>2017&#x2f;01&#x2f;09 10&#x3a;10&#x3a;36.915</created_date>  
81 - <modified_user>-</modified_user>  
82 - <modified_date>2017&#x2f;01&#x2f;09 10&#x3a;10&#x3a;36.915</modified_date>  
83 - <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>  
84 - <is_key_private>N</is_key_private>  
85 - </info>  
86 - <notepads>  
87 - </notepads>  
88 - <connection>  
89 - <name>192.168.168.1_jwgl_dw</name>  
90 - <server>192.168.168.1</server>  
91 - <type>ORACLE</type>  
92 - <access>Native</access>  
93 - <database>orcl</database>  
94 - <port>1521</port>  
95 - <username>jwgl_dw</username>  
96 - <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password>  
97 - <servername/>  
98 - <data_tablespace/>  
99 - <index_tablespace/>  
100 - <attributes>  
101 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
102 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
103 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
104 - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>  
105 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
106 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
107 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
108 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
109 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
110 - </attributes>  
111 - </connection>  
112 - <connection>  
113 - <name>bus_control_variable</name>  
114 - <server>&#x24;&#x7b;v_db_ip&#x7d;</server>  
115 - <type>MYSQL</type>  
116 - <access>Native</access>  
117 - <database>&#x24;&#x7b;v_db_dname&#x7d;</database>  
118 - <port>3306</port>  
119 - <username>&#x24;&#x7b;v_db_uname&#x7d;</username>  
120 - <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>  
121 - <servername/>  
122 - <data_tablespace/>  
123 - <index_tablespace/>  
124 - <attributes>  
125 - <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>  
126 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
127 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
128 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
129 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
130 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
131 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
132 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
133 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
134 - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>  
135 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
136 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
137 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
138 - </attributes>  
139 - </connection>  
140 - <connection>  
141 - <name>bus_control_&#x516c;&#x53f8;_201</name>  
142 - <server>localhost</server>  
143 - <type>MYSQL</type>  
144 - <access>Native</access>  
145 - <database>control</database>  
146 - <port>3306</port>  
147 - <username>root</username>  
148 - <password>Encrypted </password>  
149 - <servername/>  
150 - <data_tablespace/>  
151 - <index_tablespace/>  
152 - <attributes>  
153 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
154 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
155 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
156 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
157 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
158 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
159 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
160 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
161 - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>  
162 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
163 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
164 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
165 - </attributes>  
166 - </connection>  
167 - <connection>  
168 - <name>bus_control_&#x672c;&#x673a;</name>  
169 - <server>localhost</server>  
170 - <type>MYSQL</type>  
171 - <access>Native</access>  
172 - <database>control</database>  
173 - <port>3306</port>  
174 - <username>root</username>  
175 - <password>Encrypted </password>  
176 - <servername/>  
177 - <data_tablespace/>  
178 - <index_tablespace/>  
179 - <attributes>  
180 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
181 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
182 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
183 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
184 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
185 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
186 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
187 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
188 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
189 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
190 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
191 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
192 - </attributes>  
193 - </connection>  
194 - <connection>  
195 - <name>xlab_mysql_youle</name>  
196 - <server>101.231.124.8</server>  
197 - <type>MYSQL</type>  
198 - <access>Native</access>  
199 - <database>xlab_youle</database>  
200 - <port>45687</port>  
201 - <username>xlab-youle</username>  
202 - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>  
203 - <servername/>  
204 - <data_tablespace/>  
205 - <index_tablespace/>  
206 - <attributes>  
207 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
208 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
209 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
210 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
211 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
212 - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>  
213 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
214 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
215 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
216 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
217 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
218 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
219 - </attributes>  
220 - </connection>  
221 - <connection>  
222 - <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>  
223 - <server>localhost</server>  
224 - <type>MYSQL</type>  
225 - <access>Native</access>  
226 - <database>xlab_youle</database>  
227 - <port>3306</port>  
228 - <username>root</username>  
229 - <password>Encrypted </password>  
230 - <servername/>  
231 - <data_tablespace/>  
232 - <index_tablespace/>  
233 - <attributes>  
234 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
235 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
236 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
237 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
238 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
239 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
240 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
241 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
242 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
243 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
244 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
245 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
246 - </attributes>  
247 - </connection>  
248 - <connection>  
249 - <name>xlab_youle</name>  
250 - <server/>  
251 - <type>MYSQL</type>  
252 - <access>JNDI</access>  
253 - <database>xlab_youle</database>  
254 - <port>1521</port>  
255 - <username/>  
256 - <password>Encrypted </password>  
257 - <servername/>  
258 - <data_tablespace/>  
259 - <index_tablespace/>  
260 - <attributes>  
261 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
262 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
263 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
264 - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>  
265 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
266 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
267 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
268 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
269 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
270 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
271 - </attributes>  
272 - </connection>  
273 - <order>  
274 - <hop> <from>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</from><to>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</to><enabled>Y</enabled> </hop>  
275 - <hop> <from>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</from><to>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</to><enabled>Y</enabled> </hop>  
276 - <hop> <from>&#x62c6;&#x5206;&#x8def;&#x724c;&#x8303;&#x56f4;</from><to>&#x8def;&#x724c;id&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>  
277 - <hop> <from>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</from><to>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x8def;&#x724c;id</to><enabled>Y</enabled> </hop>  
278 - <hop> <from>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x8def;&#x724c;id</from><to>&#x62c6;&#x5206;&#x4eba;&#x5458;&#x8303;&#x56f4;</to><enabled>Y</enabled> </hop>  
279 - <hop> <from>&#x62c6;&#x5206;&#x4eba;&#x5458;&#x8303;&#x56f4;</from><to>&#x62c6;&#x5206;&#x5206;&#x73ed;&#x642d;&#x73ed;&#x7f16;&#x7801;&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>  
280 - <hop> <from>&#x62c6;&#x5206;&#x5206;&#x73ed;&#x642d;&#x73ed;&#x7f16;&#x7801;&#x5b57;&#x6bb5;</from><to>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>  
281 - <hop> <from>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</from><to>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2; 2</to><enabled>Y</enabled> </hop>  
282 - <hop> <from>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</from><to>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>  
283 - <hop> <from>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</from><to>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>  
284 - <hop> <from>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>  
285 - <hop> <from>&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</from><to>&#x8fc7;&#x6ee4;&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>  
286 - <hop> <from>&#x8fc7;&#x6ee4;&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x62c6;&#x5206;&#x8def;&#x724c;&#x8303;&#x56f4;</to><enabled>Y</enabled> </hop>  
287 - <hop> <from>&#x8def;&#x724c;id&#x67e5;&#x8be2;</from><to>&#x8fc7;&#x6ee4;&#x8def;&#x724c;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>  
288 - <hop> <from>&#x8fc7;&#x6ee4;&#x8def;&#x724c;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>  
289 - <hop> <from>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2; 2</from><to>&#x8fc7;&#x6ee4;&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>  
290 - <hop> <from>&#x8fc7;&#x6ee4;&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x5408;&#x5e76;&#x5206;&#x73ed;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</to><enabled>Y</enabled> </hop>  
291 - <hop> <from>&#x5408;&#x5e76;&#x5206;&#x73ed;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</from><to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55; 2</to><enabled>Y</enabled> </hop>  
292 - <hop> <from>&#x6392;&#x5e8f;&#x8bb0;&#x5f55; 2</from><to>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</to><enabled>Y</enabled> </hop>  
293 - <hop> <from>&#x63d2;&#x5165; &#x2f; &#x66f4;&#x65b0;bsth_c_s_sr1_flat</from><to>&#x9519;&#x8bef;&#x8f93;&#x51fa; 2</to><enabled>Y</enabled> </hop>  
294 - <hop> <from>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</from><to>&#x542f;&#x7528;&#x65e5;&#x671f;&#x8f6c;&#x6362;</to><enabled>Y</enabled> </hop>  
295 - <hop> <from>&#x542f;&#x7528;&#x65e5;&#x671f;&#x8f6c;&#x6362;</from><to>&#x63d2;&#x5165; &#x2f; &#x66f4;&#x65b0;bsth_c_s_sr1_flat</to><enabled>Y</enabled> </hop>  
296 - </order>  
297 - <step>  
298 - <name>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</name>  
299 - <type>DBLookup</type>  
300 - <description/>  
301 - <distribute>Y</distribute>  
302 - <custom_distribution/>  
303 - <copies>1</copies>  
304 - <partitioning>  
305 - <method>none</method>  
306 - <schema_name/>  
307 - </partitioning>  
308 - <connection>bus_control_variable</connection>  
309 - <cache>N</cache>  
310 - <cache_load_all>Y</cache_load_all>  
311 - <cache_size>0</cache_size>  
312 - <lookup>  
313 - <schema/>  
314 - <table>bsth_c_s_ecinfo</table>  
315 - <orderby/>  
316 - <fail_on_multiple>N</fail_on_multiple>  
317 - <eat_row_on_failure>N</eat_row_on_failure>  
318 - <key>  
319 - <name>xlid</name>  
320 - <field>xl</field>  
321 - <condition>&#x3d;</condition>  
322 - <name2/>  
323 - </key>  
324 - <key>  
325 - <name>dbbm1</name>  
326 - <field>dbbm</field>  
327 - <condition>&#x3d;</condition>  
328 - <name2/>  
329 - </key>  
330 - <key>  
331 - <name>isCancel</name>  
332 - <field>is_cancel</field>  
333 - <condition>&#x3d;</condition>  
334 - <name2/>  
335 - </key>  
336 - <value>  
337 - <name>id</name>  
338 - <rename>rycid1</rename>  
339 - <default/>  
340 - <type>Integer</type>  
341 - </value>  
342 - </lookup>  
343 - <cluster_schema/>  
344 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
345 - <xloc>904</xloc>  
346 - <yloc>101</yloc>  
347 - <draw>Y</draw>  
348 - </GUI>  
349 - </step>  
350 -  
351 - <step>  
352 - <name>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2; 2</name>  
353 - <type>DBLookup</type>  
354 - <description/>  
355 - <distribute>Y</distribute>  
356 - <custom_distribution/>  
357 - <copies>1</copies>  
358 - <partitioning>  
359 - <method>none</method>  
360 - <schema_name/>  
361 - </partitioning>  
362 - <connection>bus_control_variable</connection>  
363 - <cache>N</cache>  
364 - <cache_load_all>Y</cache_load_all>  
365 - <cache_size>0</cache_size>  
366 - <lookup>  
367 - <schema/>  
368 - <table>bsth_c_s_ecinfo</table>  
369 - <orderby/>  
370 - <fail_on_multiple>N</fail_on_multiple>  
371 - <eat_row_on_failure>N</eat_row_on_failure>  
372 - <key>  
373 - <name>xlid</name>  
374 - <field>xl</field>  
375 - <condition>&#x3d;</condition>  
376 - <name2/>  
377 - </key>  
378 - <key>  
379 - <name>dbbm2</name>  
380 - <field>dbbm</field>  
381 - <condition>&#x3d;</condition>  
382 - <name2/>  
383 - </key>  
384 - <key>  
385 - <name>isCancel</name>  
386 - <field>is_cancel</field>  
387 - <condition>&#x3d;</condition>  
388 - <name2/>  
389 - </key>  
390 - <value>  
391 - <name>id</name>  
392 - <rename>rycid2</rename>  
393 - <default/>  
394 - <type>Integer</type>  
395 - </value>  
396 - </lookup>  
397 - <cluster_schema/>  
398 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
399 - <xloc>778</xloc>  
400 - <yloc>103</yloc>  
401 - <draw>Y</draw>  
402 - </GUI>  
403 - </step>  
404 -  
405 - <step>  
406 - <name>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</name>  
407 - <type>GroupBy</type>  
408 - <description/>  
409 - <distribute>Y</distribute>  
410 - <custom_distribution/>  
411 - <copies>1</copies>  
412 - <partitioning>  
413 - <method>none</method>  
414 - <schema_name/>  
415 - </partitioning>  
416 - <all_rows>N</all_rows>  
417 - <ignore_aggregate>N</ignore_aggregate>  
418 - <field_ignore/>  
419 - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>  
420 - <prefix>grp</prefix>  
421 - <add_linenr>N</add_linenr>  
422 - <linenr_fieldname/>  
423 - <give_back_row>N</give_back_row>  
424 - <group>  
425 - <field>  
426 - <name>xlid</name>  
427 - </field>  
428 - <field>  
429 - <name>cid</name>  
430 - </field>  
431 - <field>  
432 - <name>lpnames</name>  
433 - </field>  
434 - <field>  
435 - <name>lpids</name>  
436 - </field>  
437 - <field>  
438 - <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>  
439 - </field>  
440 - <field>  
441 - <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>  
442 - </field>  
443 - <field>  
444 - <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>  
445 - </field>  
446 - <field>  
447 - <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>  
448 - </field>  
449 - <field>  
450 - <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>  
451 - </field>  
452 - <field>  
453 - <name>isCancel</name>  
454 - </field>  
455 - </group>  
456 - <fields>  
457 - <field>  
458 - <aggregate>rycids</aggregate>  
459 - <subject>rycid</subject>  
460 - <type>CONCAT_STRING</type>  
461 - <valuefield>,</valuefield>  
462 - </field>  
463 - <field>  
464 - <aggregate>rybms</aggregate>  
465 - <subject>rybm</subject>  
466 - <type>CONCAT_STRING</type>  
467 - <valuefield>,</valuefield>  
468 - </field>  
469 - </fields>  
470 - <cluster_schema/>  
471 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
472 - <xloc>780</xloc>  
473 - <yloc>291</yloc>  
474 - <draw>Y</draw>  
475 - </GUI>  
476 - </step>  
477 -  
478 - <step>  
479 - <name>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x8def;&#x724c;id</name>  
480 - <type>GroupBy</type>  
481 - <description/>  
482 - <distribute>Y</distribute>  
483 - <custom_distribution/>  
484 - <copies>1</copies>  
485 - <partitioning>  
486 - <method>none</method>  
487 - <schema_name/>  
488 - </partitioning>  
489 - <all_rows>N</all_rows>  
490 - <ignore_aggregate>N</ignore_aggregate>  
491 - <field_ignore/>  
492 - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>  
493 - <prefix>grp</prefix>  
494 - <add_linenr>N</add_linenr>  
495 - <linenr_fieldname/>  
496 - <give_back_row>N</give_back_row>  
497 - <group>  
498 - <field>  
499 - <name>xlid</name>  
500 - </field>  
501 - <field>  
502 - <name>cid</name>  
503 - </field>  
504 - <field>  
505 - <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>  
506 - </field>  
507 - <field>  
508 - <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>  
509 - </field>  
510 - <field>  
511 - <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>  
512 - </field>  
513 - <field>  
514 - <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>  
515 - </field>  
516 - <field>  
517 - <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>  
518 - </field>  
519 - <field>  
520 - <name>isCancel</name>  
521 - </field>  
522 - </group>  
523 - <fields>  
524 - <field>  
525 - <aggregate>lpids</aggregate>  
526 - <subject>lpid</subject>  
527 - <type>CONCAT_STRING</type>  
528 - <valuefield>,</valuefield>  
529 - </field>  
530 - <field>  
531 - <aggregate>lpnames</aggregate>  
532 - <subject>lpname</subject>  
533 - <type>CONCAT_STRING</type>  
534 - <valuefield>,</valuefield>  
535 - </field>  
536 - </fields>  
537 - <cluster_schema/>  
538 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
539 - <xloc>653</xloc>  
540 - <yloc>119</yloc>  
541 - <draw>Y</draw>  
542 - </GUI>  
543 - </step>  
544 -  
545 - <step>  
546 - <name>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</name>  
547 - <type>ExcelInput</type>  
548 - <description/>  
549 - <distribute>Y</distribute>  
550 - <custom_distribution/>  
551 - <copies>1</copies>  
552 - <partitioning>  
553 - <method>none</method>  
554 - <schema_name/>  
555 - </partitioning>  
556 - <header>Y</header>  
557 - <noempty>Y</noempty>  
558 - <stoponempty>N</stoponempty>  
559 - <filefield/>  
560 - <sheetfield/>  
561 - <sheetrownumfield/>  
562 - <rownumfield/>  
563 - <sheetfield/>  
564 - <filefield/>  
565 - <limit>0</limit>  
566 - <encoding/>  
567 - <add_to_result_filenames>Y</add_to_result_filenames>  
568 - <accept_filenames>Y</accept_filenames>  
569 - <accept_field>filepath_</accept_field>  
570 - <accept_stepname>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</accept_stepname>  
571 - <file>  
572 - <name/>  
573 - <filemask/>  
574 - <exclude_filemask/>  
575 - <file_required>N</file_required>  
576 - <include_subfolders>N</include_subfolders>  
577 - </file>  
578 - <fields>  
579 - <field>  
580 - <name>&#x7ebf;&#x8def;</name>  
581 - <type>String</type>  
582 - <length>-1</length>  
583 - <precision>-1</precision>  
584 - <trim_type>none</trim_type>  
585 - <repeat>N</repeat>  
586 - <format/>  
587 - <currency/>  
588 - <decimal/>  
589 - <group/>  
590 - </field>  
591 - <field>  
592 - <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>  
593 - <type>String</type>  
594 - <length>-1</length>  
595 - <precision>-1</precision>  
596 - <trim_type>none</trim_type>  
597 - <repeat>N</repeat>  
598 - <format/>  
599 - <currency/>  
600 - <decimal/>  
601 - <group/>  
602 - </field>  
603 - <field>  
604 - <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>  
605 - <type>String</type>  
606 - <length>-1</length>  
607 - <precision>-1</precision>  
608 - <trim_type>none</trim_type>  
609 - <repeat>N</repeat>  
610 - <format/>  
611 - <currency/>  
612 - <decimal/>  
613 - <group/>  
614 - </field>  
615 - <field>  
616 - <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>  
617 - <type>String</type>  
618 - <length>-1</length>  
619 - <precision>-1</precision>  
620 - <trim_type>none</trim_type>  
621 - <repeat>N</repeat>  
622 - <format>&#x23;</format>  
623 - <currency/>  
624 - <decimal/>  
625 - <group/>  
626 - </field>  
627 - <field>  
628 - <name>&#x8def;&#x724c;&#x8303;&#x56f4;</name>  
629 - <type>String</type>  
630 - <length>-1</length>  
631 - <precision>-1</precision>  
632 - <trim_type>none</trim_type>  
633 - <repeat>N</repeat>  
634 - <format>&#x23;</format>  
635 - <currency/>  
636 - <decimal/>  
637 - <group/>  
638 - </field>  
639 - <field>  
640 - <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>  
641 - <type>String</type>  
642 - <length>-1</length>  
643 - <precision>-1</precision>  
644 - <trim_type>none</trim_type>  
645 - <repeat>N</repeat>  
646 - <format>&#x23;</format>  
647 - <currency/>  
648 - <decimal/>  
649 - <group/>  
650 - </field>  
651 - <field>  
652 - <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>  
653 - <type>String</type>  
654 - <length>-1</length>  
655 - <precision>-1</precision>  
656 - <trim_type>none</trim_type>  
657 - <repeat>N</repeat>  
658 - <format>&#x23;</format>  
659 - <currency/>  
660 - <decimal/>  
661 - <group/>  
662 - </field>  
663 - <field>  
664 - <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>  
665 - <type>String</type>  
666 - <length>-1</length>  
667 - <precision>-1</precision>  
668 - <trim_type>none</trim_type>  
669 - <repeat>N</repeat>  
670 - <format>&#x23;</format>  
671 - <currency/>  
672 - <decimal/>  
673 - <group/>  
674 - </field>  
675 - </fields>  
676 - <sheets>  
677 - <sheet>  
678 - <name>&#x5de5;&#x4f5c;&#x8868;1</name>  
679 - <startrow>0</startrow>  
680 - <startcol>0</startcol>  
681 - </sheet>  
682 - </sheets>  
683 - <strict_types>N</strict_types>  
684 - <error_ignored>N</error_ignored>  
685 - <error_line_skipped>N</error_line_skipped>  
686 - <bad_line_files_destination_directory/>  
687 - <bad_line_files_extension>warning</bad_line_files_extension>  
688 - <error_line_files_destination_directory/>  
689 - <error_line_files_extension>error</error_line_files_extension>  
690 - <line_number_files_destination_directory/>  
691 - <line_number_files_extension>line</line_number_files_extension>  
692 - <shortFileFieldName/>  
693 - <pathFieldName/>  
694 - <hiddenFieldName/>  
695 - <lastModificationTimeFieldName/>  
696 - <uriNameFieldName/>  
697 - <rootUriNameFieldName/>  
698 - <extensionFieldName/>  
699 - <sizeFieldName/>  
700 - <spreadsheet_type>JXL</spreadsheet_type>  
701 - <cluster_schema/>  
702 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
703 - <xloc>208</xloc>  
704 - <yloc>21</yloc>  
705 - <draw>Y</draw>  
706 - </GUI>  
707 - </step>  
708 -  
709 - <step>  
710 - <name>&#x5408;&#x5e76;&#x5206;&#x73ed;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</name>  
711 - <type>ScriptValueMod</type>  
712 - <description/>  
713 - <distribute>Y</distribute>  
714 - <custom_distribution/>  
715 - <copies>1</copies>  
716 - <partitioning>  
717 - <method>none</method>  
718 - <schema_name/>  
719 - </partitioning>  
720 - <compatible>N</compatible>  
721 - <optimizationLevel>9</optimizationLevel>  
722 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
723 - <jsScript_name>Script 1</jsScript_name>  
724 - <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var rycid&#x3b;&#xa;var rybm&#x3b;&#xa;&#xa;if &#x28;rycid2 &#x3d;&#x3d; null&#x29; &#x7b;&#xa; rycid &#x3d; rycid1&#x3b;&#xa; rybm &#x3d; dbbm1&#x3b;&#xa;&#x7d; else &#x7b;&#xa; rycid &#x3d; rycid1 &#x2b; &#x22;-&#x22; &#x2b; rycid2&#x3b;&#xa; rybm &#x3d; dbbm1 &#x2b; &#x22;-&#x22; &#x2b; dbbm2&#x3b;&#xa;&#x7d;</jsScript_script>  
725 - </jsScript> </jsScripts> <fields> <field> <name>rycid</name>  
726 - <rename>rycid</rename>  
727 - <type>String</type>  
728 - <length>-1</length>  
729 - <precision>-1</precision>  
730 - <replace>N</replace>  
731 - </field> <field> <name>rybm</name>  
732 - <rename>rybm</rename>  
733 - <type>String</type>  
734 - <length>-1</length>  
735 - <precision>-1</precision>  
736 - <replace>N</replace>  
737 - </field> </fields> <cluster_schema/>  
738 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
739 - <xloc>917</xloc>  
740 - <yloc>201</yloc>  
741 - <draw>Y</draw>  
742 - </GUI>  
743 - </step>  
744 -  
745 - <step>  
746 - <name>&#x542f;&#x7528;&#x65e5;&#x671f;&#x8f6c;&#x6362;</name>  
747 - <type>SelectValues</type>  
748 - <description/>  
749 - <distribute>Y</distribute>  
750 - <custom_distribution/>  
751 - <copies>1</copies>  
752 - <partitioning>  
753 - <method>none</method>  
754 - <schema_name/>  
755 - </partitioning>  
756 - <fields> <select_unspecified>N</select_unspecified>  
757 - <meta> <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>  
758 - <rename>&#x542f;&#x7528;&#x65e5;&#x671f;</rename>  
759 - <type>Timestamp</type>  
760 - <length>-2</length>  
761 - <precision>-2</precision>  
762 - <conversion_mask>yyyy-MM-dd</conversion_mask>  
763 - <date_format_lenient>false</date_format_lenient>  
764 - <date_format_locale/>  
765 - <date_format_timezone/>  
766 - <lenient_string_to_number>false</lenient_string_to_number>  
767 - <encoding/>  
768 - <decimal_symbol/>  
769 - <grouping_symbol/>  
770 - <currency_symbol/>  
771 - <storage_type/>  
772 - </meta> </fields> <cluster_schema/>  
773 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
774 - <xloc>777</xloc>  
775 - <yloc>368</yloc>  
776 - <draw>Y</draw>  
777 - </GUI>  
778 - </step>  
779 -  
780 - <step>  
781 - <name>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</name>  
782 - <type>Constant</type>  
783 - <description/>  
784 - <distribute>Y</distribute>  
785 - <custom_distribution/>  
786 - <copies>1</copies>  
787 - <partitioning>  
788 - <method>none</method>  
789 - <schema_name/>  
790 - </partitioning>  
791 - <fields>  
792 - <field>  
793 - <name>isCancel</name>  
794 - <type>Integer</type>  
795 - <format/>  
796 - <currency/>  
797 - <decimal/>  
798 - <group/>  
799 - <nullif>0</nullif>  
800 - <length>-1</length>  
801 - <precision>-1</precision>  
802 - <set_empty_string>N</set_empty_string>  
803 - </field>  
804 - </fields>  
805 - <cluster_schema/>  
806 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
807 - <xloc>361</xloc>  
808 - <yloc>22</yloc>  
809 - <draw>Y</draw>  
810 - </GUI>  
811 - </step>  
812 -  
813 - <step>  
814 - <name>&#x62c6;&#x5206;&#x4eba;&#x5458;&#x8303;&#x56f4;</name>  
815 - <type>SplitFieldToRows3</type>  
816 - <description/>  
817 - <distribute>Y</distribute>  
818 - <custom_distribution/>  
819 - <copies>1</copies>  
820 - <partitioning>  
821 - <method>none</method>  
822 - <schema_name/>  
823 - </partitioning>  
824 - <splitfield>&#x4eba;&#x5458;&#x8303;&#x56f4;</splitfield>  
825 - <delimiter>,</delimiter>  
826 - <newfield>dbbm</newfield>  
827 - <rownum>N</rownum>  
828 - <rownum_field/>  
829 - <resetrownumber>Y</resetrownumber>  
830 - <delimiter_is_regex>N</delimiter_is_regex>  
831 - <cluster_schema/>  
832 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
833 - <xloc>777</xloc>  
834 - <yloc>22</yloc>  
835 - <draw>Y</draw>  
836 - </GUI>  
837 - </step>  
838 -  
839 - <step>  
840 - <name>&#x62c6;&#x5206;&#x5206;&#x73ed;&#x642d;&#x73ed;&#x7f16;&#x7801;&#x5b57;&#x6bb5;</name>  
841 - <type>FieldSplitter</type>  
842 - <description/>  
843 - <distribute>Y</distribute>  
844 - <custom_distribution/>  
845 - <copies>1</copies>  
846 - <partitioning>  
847 - <method>none</method>  
848 - <schema_name/>  
849 - </partitioning>  
850 - <splitfield>dbbm</splitfield>  
851 - <delimiter>-</delimiter>  
852 - <enclosure/>  
853 - <fields> <field> <name>dbbm1</name>  
854 - <id/>  
855 - <idrem>N</idrem>  
856 - <type>String</type>  
857 - <format/>  
858 - <group/>  
859 - <decimal/>  
860 - <currency/>  
861 - <length>-1</length>  
862 - <precision>-1</precision>  
863 - <nullif/>  
864 - <ifnull/>  
865 - <trimtype>none</trimtype>  
866 - </field> <field> <name>dbbm2</name>  
867 - <id/>  
868 - <idrem>N</idrem>  
869 - <type>String</type>  
870 - <format/>  
871 - <group/>  
872 - <decimal/>  
873 - <currency/>  
874 - <length>-1</length>  
875 - <precision>-1</precision>  
876 - <nullif/>  
877 - <ifnull/>  
878 - <trimtype>none</trimtype>  
879 - </field> </fields> <cluster_schema/>  
880 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
881 - <xloc>901</xloc>  
882 - <yloc>22</yloc>  
883 - <draw>Y</draw>  
884 - </GUI>  
885 - </step>  
886 -  
887 - <step>  
888 - <name>&#x62c6;&#x5206;&#x8def;&#x724c;&#x8303;&#x56f4;</name>  
889 - <type>SplitFieldToRows3</type>  
890 - <description/>  
891 - <distribute>Y</distribute>  
892 - <custom_distribution/>  
893 - <copies>1</copies>  
894 - <partitioning>  
895 - <method>none</method>  
896 - <schema_name/>  
897 - </partitioning>  
898 - <splitfield>&#x8def;&#x724c;&#x8303;&#x56f4;</splitfield>  
899 - <delimiter>,</delimiter>  
900 - <newfield>lpname</newfield>  
901 - <rownum>N</rownum>  
902 - <rownum_field/>  
903 - <resetrownumber>Y</resetrownumber>  
904 - <delimiter_is_regex>N</delimiter_is_regex>  
905 - <cluster_schema/>  
906 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
907 - <xloc>364</xloc>  
908 - <yloc>259</yloc>  
909 - <draw>Y</draw>  
910 - </GUI>  
911 - </step>  
912 -  
913 - <step>  
914 - <name>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</name>  
915 - <type>SortRows</type>  
916 - <description/>  
917 - <distribute>Y</distribute>  
918 - <custom_distribution/>  
919 - <copies>1</copies>  
920 - <partitioning>  
921 - <method>none</method>  
922 - <schema_name/>  
923 - </partitioning>  
924 - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>  
925 - <prefix>out</prefix>  
926 - <sort_size>1000000</sort_size>  
927 - <free_memory/>  
928 - <compress>N</compress>  
929 - <compress_variable/>  
930 - <unique_rows>N</unique_rows>  
931 - <fields>  
932 - <field>  
933 - <name>xlid</name>  
934 - <ascending>Y</ascending>  
935 - <case_sensitive>N</case_sensitive>  
936 - <presorted>N</presorted>  
937 - </field>  
938 - <field>  
939 - <name>cid</name>  
940 - <ascending>Y</ascending>  
941 - <case_sensitive>N</case_sensitive>  
942 - <presorted>N</presorted>  
943 - </field>  
944 - <field>  
945 - <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>  
946 - <ascending>Y</ascending>  
947 - <case_sensitive>N</case_sensitive>  
948 - <presorted>N</presorted>  
949 - </field>  
950 - <field>  
951 - <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>  
952 - <ascending>Y</ascending>  
953 - <case_sensitive>N</case_sensitive>  
954 - <presorted>N</presorted>  
955 - </field>  
956 - <field>  
957 - <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>  
958 - <ascending>Y</ascending>  
959 - <case_sensitive>N</case_sensitive>  
960 - <presorted>N</presorted>  
961 - </field>  
962 - <field>  
963 - <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>  
964 - <ascending>Y</ascending>  
965 - <case_sensitive>N</case_sensitive>  
966 - <presorted>N</presorted>  
967 - </field>  
968 - <field>  
969 - <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>  
970 - <ascending>Y</ascending>  
971 - <case_sensitive>N</case_sensitive>  
972 - <presorted>N</presorted>  
973 - </field>  
974 - <field>  
975 - <name>isCancel</name>  
976 - <ascending>Y</ascending>  
977 - <case_sensitive>N</case_sensitive>  
978 - <presorted>N</presorted>  
979 - </field>  
980 - </fields>  
981 - <cluster_schema/>  
982 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
983 - <xloc>516</xloc>  
984 - <yloc>119</yloc>  
985 - <draw>Y</draw>  
986 - </GUI>  
987 - </step>  
988 -  
989 - <step>  
990 - <name>&#x6392;&#x5e8f;&#x8bb0;&#x5f55; 2</name>  
991 - <type>SortRows</type>  
992 - <description/>  
993 - <distribute>Y</distribute>  
994 - <custom_distribution/>  
995 - <copies>1</copies>  
996 - <partitioning>  
997 - <method>none</method>  
998 - <schema_name/>  
999 - </partitioning>  
1000 - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>  
1001 - <prefix>out</prefix>  
1002 - <sort_size>1000000</sort_size>  
1003 - <free_memory/>  
1004 - <compress>N</compress>  
1005 - <compress_variable/>  
1006 - <unique_rows>N</unique_rows>  
1007 - <fields>  
1008 - <field>  
1009 - <name>xlid</name>  
1010 - <ascending>Y</ascending>  
1011 - <case_sensitive>N</case_sensitive>  
1012 - <presorted>N</presorted>  
1013 - </field>  
1014 - <field>  
1015 - <name>cid</name>  
1016 - <ascending>Y</ascending>  
1017 - <case_sensitive>N</case_sensitive>  
1018 - <presorted>N</presorted>  
1019 - </field>  
1020 - <field>  
1021 - <name>lpnames</name>  
1022 - <ascending>Y</ascending>  
1023 - <case_sensitive>N</case_sensitive>  
1024 - <presorted>N</presorted>  
1025 - </field>  
1026 - <field>  
1027 - <name>lpids</name>  
1028 - <ascending>Y</ascending>  
1029 - <case_sensitive>N</case_sensitive>  
1030 - <presorted>N</presorted>  
1031 - </field>  
1032 - <field>  
1033 - <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>  
1034 - <ascending>Y</ascending>  
1035 - <case_sensitive>N</case_sensitive>  
1036 - <presorted>N</presorted>  
1037 - </field>  
1038 - <field>  
1039 - <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>  
1040 - <ascending>Y</ascending>  
1041 - <case_sensitive>N</case_sensitive>  
1042 - <presorted>N</presorted>  
1043 - </field>  
1044 - <field>  
1045 - <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>  
1046 - <ascending>Y</ascending>  
1047 - <case_sensitive>N</case_sensitive>  
1048 - <presorted>N</presorted>  
1049 - </field>  
1050 - <field>  
1051 - <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>  
1052 - <ascending>Y</ascending>  
1053 - <case_sensitive>N</case_sensitive>  
1054 - <presorted>N</presorted>  
1055 - </field>  
1056 - <field>  
1057 - <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>  
1058 - <ascending>Y</ascending>  
1059 - <case_sensitive>N</case_sensitive>  
1060 - <presorted>N</presorted>  
1061 - </field>  
1062 - <field>  
1063 - <name>isCancel</name>  
1064 - <ascending>Y</ascending>  
1065 - <case_sensitive>N</case_sensitive>  
1066 - <presorted>N</presorted>  
1067 - </field>  
1068 - </fields>  
1069 - <cluster_schema/>  
1070 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1071 - <xloc>919</xloc>  
1072 - <yloc>289</yloc>  
1073 - <draw>Y</draw>  
1074 - </GUI>  
1075 - </step>  
1076 -  
1077 - <step>  
1078 - <name>&#x63d2;&#x5165; &#x2f; &#x66f4;&#x65b0;bsth_c_s_sr1_flat</name>  
1079 - <type>InsertUpdate</type>  
1080 - <description/>  
1081 - <distribute>Y</distribute>  
1082 - <custom_distribution/>  
1083 - <copies>1</copies>  
1084 - <partitioning>  
1085 - <method>none</method>  
1086 - <schema_name/>  
1087 - </partitioning>  
1088 - <connection>bus_control_variable</connection>  
1089 - <commit>100</commit>  
1090 - <update_bypassed>N</update_bypassed>  
1091 - <lookup>  
1092 - <schema/>  
1093 - <table>bsth_c_s_sr1_flat</table>  
1094 - <key>  
1095 - <name>xlid</name>  
1096 - <field>xl</field>  
1097 - <condition>&#x3d;</condition>  
1098 - <name2/>  
1099 - </key>  
1100 - <key>  
1101 - <name>cid</name>  
1102 - <field>car_config_info</field>  
1103 - <condition>&#x3d;</condition>  
1104 - <name2/>  
1105 - </key>  
1106 - <value>  
1107 - <name>xl</name>  
1108 - <rename>xlid</rename>  
1109 - <update>Y</update>  
1110 - </value>  
1111 - <value>  
1112 - <name>car_config_info</name>  
1113 - <rename>cid</rename>  
1114 - <update>Y</update>  
1115 - </value>  
1116 - <value>  
1117 - <name>lp_names</name>  
1118 - <rename>lpnames</rename>  
1119 - <update>Y</update>  
1120 - </value>  
1121 - <value>  
1122 - <name>lp_ids</name>  
1123 - <rename>lpids</rename>  
1124 - <update>Y</update>  
1125 - </value>  
1126 - <value>  
1127 - <name>lp_start</name>  
1128 - <rename>&#x8d77;&#x59cb;&#x8def;&#x724c;</rename>  
1129 - <update>Y</update>  
1130 - </value>  
1131 - <value>  
1132 - <name>ry_start</name>  
1133 - <rename>&#x8d77;&#x59cb;&#x4eba;&#x5458;</rename>  
1134 - <update>Y</update>  
1135 - </value>  
1136 - <value>  
1137 - <name>ry_dbbms</name>  
1138 - <rename>rybms</rename>  
1139 - <update>Y</update>  
1140 - </value>  
1141 - <value>  
1142 - <name>qyrq</name>  
1143 - <rename>&#x542f;&#x7528;&#x65e5;&#x671f;</rename>  
1144 - <update>Y</update>  
1145 - </value>  
1146 - <value>  
1147 - <name>ry_config_ids</name>  
1148 - <rename>rycids</rename>  
1149 - <update>Y</update>  
1150 - </value>  
1151 - <value>  
1152 - <name>fbgs</name>  
1153 - <rename>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</rename>  
1154 - <update>Y</update>  
1155 - </value>  
1156 - </lookup>  
1157 - <cluster_schema/>  
1158 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1159 - <xloc>532</xloc>  
1160 - <yloc>297</yloc>  
1161 - <draw>Y</draw>  
1162 - </GUI>  
1163 - </step>  
1164 -  
1165 - <step>  
1166 - <name>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</name>  
1167 - <type>DBLookup</type>  
1168 - <description/>  
1169 - <distribute>Y</distribute>  
1170 - <custom_distribution/>  
1171 - <copies>1</copies>  
1172 - <partitioning>  
1173 - <method>none</method>  
1174 - <schema_name/>  
1175 - </partitioning>  
1176 - <connection>bus_control_variable</connection>  
1177 - <cache>N</cache>  
1178 - <cache_load_all>Y</cache_load_all>  
1179 - <cache_size>0</cache_size>  
1180 - <lookup>  
1181 - <schema/>  
1182 - <table>bsth_c_line</table>  
1183 - <orderby/>  
1184 - <fail_on_multiple>N</fail_on_multiple>  
1185 - <eat_row_on_failure>N</eat_row_on_failure>  
1186 - <key>  
1187 - <name>&#x7ebf;&#x8def;</name>  
1188 - <field>name</field>  
1189 - <condition>&#x3d;</condition>  
1190 - <name2/>  
1191 - </key>  
1192 - <key>  
1193 - <name>isCancel</name>  
1194 - <field>destroy</field>  
1195 - <condition>&#x3d;</condition>  
1196 - <name2/>  
1197 - </key>  
1198 - <value>  
1199 - <name>id</name>  
1200 - <rename>xlid</rename>  
1201 - <default/>  
1202 - <type>Integer</type>  
1203 - </value>  
1204 - </lookup>  
1205 - <cluster_schema/>  
1206 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1207 - <xloc>359</xloc>  
1208 - <yloc>110</yloc>  
1209 - <draw>Y</draw>  
1210 - </GUI>  
1211 - </step>  
1212 -  
1213 - <step>  
1214 - <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>  
1215 - <type>GetVariable</type>  
1216 - <description/>  
1217 - <distribute>Y</distribute>  
1218 - <custom_distribution/>  
1219 - <copies>1</copies>  
1220 - <partitioning>  
1221 - <method>none</method>  
1222 - <schema_name/>  
1223 - </partitioning>  
1224 - <fields>  
1225 - <field>  
1226 - <name>filepath_</name>  
1227 - <variable>&#x24;&#x7b;filepath&#x7d;</variable>  
1228 - <type>String</type>  
1229 - <format/>  
1230 - <currency/>  
1231 - <decimal/>  
1232 - <group/>  
1233 - <length>-1</length>  
1234 - <precision>-1</precision>  
1235 - <trim_type>none</trim_type>  
1236 - </field>  
1237 - <field>  
1238 - <name>erroroutputdir_</name>  
1239 - <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>  
1240 - <type>String</type>  
1241 - <format/>  
1242 - <currency/>  
1243 - <decimal/>  
1244 - <group/>  
1245 - <length>-1</length>  
1246 - <precision>-1</precision>  
1247 - <trim_type>none</trim_type>  
1248 - </field>  
1249 - </fields>  
1250 - <cluster_schema/>  
1251 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1252 - <xloc>53</xloc>  
1253 - <yloc>23</yloc>  
1254 - <draw>Y</draw>  
1255 - </GUI>  
1256 - </step>  
1257 -  
1258 - <step>  
1259 - <name>&#x8def;&#x724c;id&#x67e5;&#x8be2;</name>  
1260 - <type>DBLookup</type>  
1261 - <description/>  
1262 - <distribute>Y</distribute>  
1263 - <custom_distribution/>  
1264 - <copies>1</copies>  
1265 - <partitioning>  
1266 - <method>none</method>  
1267 - <schema_name/>  
1268 - </partitioning>  
1269 - <connection>bus_control_variable</connection>  
1270 - <cache>N</cache>  
1271 - <cache_load_all>Y</cache_load_all>  
1272 - <cache_size>0</cache_size>  
1273 - <lookup>  
1274 - <schema/>  
1275 - <table>bsth_c_s_gbi</table>  
1276 - <orderby/>  
1277 - <fail_on_multiple>N</fail_on_multiple>  
1278 - <eat_row_on_failure>N</eat_row_on_failure>  
1279 - <key>  
1280 - <name>xlid</name>  
1281 - <field>xl</field>  
1282 - <condition>&#x3d;</condition>  
1283 - <name2/>  
1284 - </key>  
1285 - <key>  
1286 - <name>lpname</name>  
1287 - <field>lp_name</field>  
1288 - <condition>&#x3d;</condition>  
1289 - <name2/>  
1290 - </key>  
1291 - <key>  
1292 - <name>isCancel</name>  
1293 - <field>is_cancel</field>  
1294 - <condition>&#x3d;</condition>  
1295 - <name2/>  
1296 - </key>  
1297 - <value>  
1298 - <name>id</name>  
1299 - <rename>lpid</rename>  
1300 - <default/>  
1301 - <type>Integer</type>  
1302 - </value>  
1303 - </lookup>  
1304 - <cluster_schema/>  
1305 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1306 - <xloc>516</xloc>  
1307 - <yloc>21</yloc>  
1308 - <draw>Y</draw>  
1309 - </GUI>  
1310 - </step>  
1311 -  
1312 - <step>  
1313 - <name>&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</name>  
1314 - <type>DBJoin</type>  
1315 - <description/>  
1316 - <distribute>Y</distribute>  
1317 - <custom_distribution/>  
1318 - <copies>1</copies>  
1319 - <partitioning>  
1320 - <method>none</method>  
1321 - <schema_name/>  
1322 - </partitioning>  
1323 - <connection>bus_control_variable</connection>  
1324 - <rowlimit>1</rowlimit>  
1325 - <sql>select t1.id as cid from bsth_c_s_ccinfo t1 left join bsth_c_cars t2 on t1.cl &#x3d; t2.id&#xa;where t1.xl &#x3d; &#x3f; and t2.inside_code &#x3d; &#x3f; and t1.is_cancel &#x3d; &#x3f;</sql>  
1326 - <outer_join>Y</outer_join>  
1327 - <replace_vars>N</replace_vars>  
1328 - <parameter>  
1329 - <field>  
1330 - <name>xlid</name>  
1331 - <type>Integer</type>  
1332 - </field>  
1333 - <field>  
1334 - <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>  
1335 - <type>String</type>  
1336 - </field>  
1337 - <field>  
1338 - <name>isCancel</name>  
1339 - <type>Integer</type>  
1340 - </field>  
1341 - </parameter>  
1342 - <cluster_schema/>  
1343 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1344 - <xloc>360</xloc>  
1345 - <yloc>184</yloc>  
1346 - <draw>Y</draw>  
1347 - </GUI>  
1348 - </step>  
1349 -  
1350 - <step>  
1351 - <name>&#x8fc7;&#x6ee4;&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>  
1352 - <type>FilterRows</type>  
1353 - <description/>  
1354 - <distribute>Y</distribute>  
1355 - <custom_distribution/>  
1356 - <copies>1</copies>  
1357 - <partitioning>  
1358 - <method>none</method>  
1359 - <schema_name/>  
1360 - </partitioning>  
1361 -<send_true_to/>  
1362 -<send_false_to/>  
1363 - <compare>  
1364 -<condition>  
1365 - <negated>N</negated>  
1366 - <conditions>  
1367 - <condition>  
1368 - <negated>N</negated>  
1369 - <leftvalue>rycid1</leftvalue>  
1370 - <function>IS NOT NULL</function>  
1371 - <rightvalue/>  
1372 - </condition>  
1373 - <condition>  
1374 - <negated>N</negated>  
1375 - <operator>OR</operator>  
1376 - <leftvalue>rycid2</leftvalue>  
1377 - <function>IS NOT NULL</function>  
1378 - <rightvalue/>  
1379 - </condition>  
1380 - </conditions>  
1381 - </condition>  
1382 - </compare>  
1383 - <cluster_schema/>  
1384 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1385 - <xloc>776</xloc>  
1386 - <yloc>204</yloc>  
1387 - <draw>Y</draw>  
1388 - </GUI>  
1389 - </step>  
1390 -  
1391 - <step>  
1392 - <name>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>  
1393 - <type>FilterRows</type>  
1394 - <description/>  
1395 - <distribute>Y</distribute>  
1396 - <custom_distribution/>  
1397 - <copies>1</copies>  
1398 - <partitioning>  
1399 - <method>none</method>  
1400 - <schema_name/>  
1401 - </partitioning>  
1402 -<send_true_to>&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</send_true_to>  
1403 -<send_false_to/>  
1404 - <compare>  
1405 -<condition>  
1406 - <negated>N</negated>  
1407 - <leftvalue>xlid</leftvalue>  
1408 - <function>IS NOT NULL</function>  
1409 - <rightvalue/>  
1410 - </condition>  
1411 - </compare>  
1412 - <cluster_schema/>  
1413 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1414 - <xloc>203</xloc>  
1415 - <yloc>110</yloc>  
1416 - <draw>Y</draw>  
1417 - </GUI>  
1418 - </step>  
1419 -  
1420 - <step>  
1421 - <name>&#x8fc7;&#x6ee4;&#x8def;&#x724c;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>  
1422 - <type>FilterRows</type>  
1423 - <description/>  
1424 - <distribute>Y</distribute>  
1425 - <custom_distribution/>  
1426 - <copies>1</copies>  
1427 - <partitioning>  
1428 - <method>none</method>  
1429 - <schema_name/>  
1430 - </partitioning>  
1431 -<send_true_to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</send_true_to>  
1432 -<send_false_to/>  
1433 - <compare>  
1434 -<condition>  
1435 - <negated>N</negated>  
1436 - <leftvalue>lpid</leftvalue>  
1437 - <function>IS NOT NULL</function>  
1438 - <rightvalue/>  
1439 - </condition>  
1440 - </compare>  
1441 - <cluster_schema/>  
1442 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1443 - <xloc>653</xloc>  
1444 - <yloc>23</yloc>  
1445 - <draw>Y</draw>  
1446 - </GUI>  
1447 - </step>  
1448 -  
1449 - <step>  
1450 - <name>&#x8fc7;&#x6ee4;&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>  
1451 - <type>FilterRows</type>  
1452 - <description/>  
1453 - <distribute>Y</distribute>  
1454 - <custom_distribution/>  
1455 - <copies>1</copies>  
1456 - <partitioning>  
1457 - <method>none</method>  
1458 - <schema_name/>  
1459 - </partitioning>  
1460 -<send_true_to>&#x62c6;&#x5206;&#x8def;&#x724c;&#x8303;&#x56f4;</send_true_to>  
1461 -<send_false_to/>  
1462 - <compare>  
1463 -<condition>  
1464 - <negated>N</negated>  
1465 - <leftvalue>cid</leftvalue>  
1466 - <function>IS NOT NULL</function>  
1467 - <rightvalue/>  
1468 - </condition>  
1469 - </compare>  
1470 - <cluster_schema/>  
1471 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1472 - <xloc>208</xloc>  
1473 - <yloc>182</yloc>  
1474 - <draw>Y</draw>  
1475 - </GUI>  
1476 - </step>  
1477 -  
1478 - <step>  
1479 - <name>&#x9519;&#x8bef;&#x8f93;&#x51fa; 2</name>  
1480 - <type>ExcelOutput</type>  
1481 - <description/>  
1482 - <distribute>Y</distribute>  
1483 - <custom_distribution/>  
1484 - <copies>1</copies>  
1485 - <partitioning>  
1486 - <method>none</method>  
1487 - <schema_name/>  
1488 - </partitioning>  
1489 - <header>Y</header>  
1490 - <footer>N</footer>  
1491 - <encoding>UTF-8</encoding>  
1492 - <append>N</append>  
1493 - <add_to_result_filenames>Y</add_to_result_filenames>  
1494 - <file>  
1495 - <name>&#x24;&#x7b;erroroutputdir&#x7d;&#x2f;&#x6392;&#x7248;&#x89c4;&#x5219;&#x4fe1;&#x606f;&#x5bfc;&#x5165;_&#x9519;&#x8bef;</name>  
1496 - <extention>xls</extention>  
1497 - <do_not_open_newfile_init>N</do_not_open_newfile_init>  
1498 - <create_parent_folder>N</create_parent_folder>  
1499 - <split>N</split>  
1500 - <add_date>N</add_date>  
1501 - <add_time>N</add_time>  
1502 - <SpecifyFormat>N</SpecifyFormat>  
1503 - <date_time_format/>  
1504 - <sheetname>Sheet1</sheetname>  
1505 - <autosizecolums>N</autosizecolums>  
1506 - <nullisblank>N</nullisblank>  
1507 - <protect_sheet>N</protect_sheet>  
1508 - <password>Encrypted </password>  
1509 - <splitevery>0</splitevery>  
1510 - <usetempfiles>N</usetempfiles>  
1511 - <tempdirectory/>  
1512 - </file>  
1513 - <template>  
1514 - <enabled>N</enabled>  
1515 - <append>N</append>  
1516 - <filename>template.xls</filename>  
1517 - </template>  
1518 - <fields>  
1519 - <field>  
1520 - <name>xlid</name>  
1521 - <type>Integer</type>  
1522 - <format/>  
1523 - </field>  
1524 - <field>  
1525 - <name>cid</name>  
1526 - <type>Integer</type>  
1527 - <format/>  
1528 - </field>  
1529 - <field>  
1530 - <name>&#x8def;&#x724c;&#x8303;&#x56f4;</name>  
1531 - <type>String</type>  
1532 - <format/>  
1533 - </field>  
1534 - <field>  
1535 - <name>lpids</name>  
1536 - <type>String</type>  
1537 - <format/>  
1538 - </field>  
1539 - <field>  
1540 - <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>  
1541 - <type>String</type>  
1542 - <format/>  
1543 - </field>  
1544 - <field>  
1545 - <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>  
1546 - <type>String</type>  
1547 - <format/>  
1548 - </field>  
1549 - <field>  
1550 - <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>  
1551 - <type>String</type>  
1552 - <format/>  
1553 - </field>  
1554 - <field>  
1555 - <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>  
1556 - <type>Timestamp</type>  
1557 - <format/>  
1558 - </field>  
1559 - <field>  
1560 - <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>  
1561 - <type>String</type>  
1562 - <format/>  
1563 - </field>  
1564 - <field>  
1565 - <name>isCancel</name>  
1566 - <type>Integer</type>  
1567 - <format/>  
1568 - </field>  
1569 - <field>  
1570 - <name>rycids</name>  
1571 - <type>String</type>  
1572 - <format/>  
1573 - </field>  
1574 - <field>  
1575 - <name>error_count</name>  
1576 - <type>Integer</type>  
1577 - <format/>  
1578 - </field>  
1579 - <field>  
1580 - <name>error_desc</name>  
1581 - <type>String</type>  
1582 - <format/>  
1583 - </field>  
1584 - <field>  
1585 - <name>error_column1</name>  
1586 - <type>String</type>  
1587 - <format/>  
1588 - </field>  
1589 - <field>  
1590 - <name>error_column2</name>  
1591 - <type>String</type>  
1592 - <format/>  
1593 - </field>  
1594 - </fields>  
1595 - <custom>  
1596 - <header_font_name>arial</header_font_name>  
1597 - <header_font_size>10</header_font_size>  
1598 - <header_font_bold>N</header_font_bold>  
1599 - <header_font_italic>N</header_font_italic>  
1600 - <header_font_underline>no</header_font_underline>  
1601 - <header_font_orientation>horizontal</header_font_orientation>  
1602 - <header_font_color>black</header_font_color>  
1603 - <header_background_color>none</header_background_color>  
1604 - <header_row_height>255</header_row_height>  
1605 - <header_alignment>left</header_alignment>  
1606 - <header_image/>  
1607 - <row_font_name>arial</row_font_name>  
1608 - <row_font_size>10</row_font_size>  
1609 - <row_font_color>black</row_font_color>  
1610 - <row_background_color>none</row_background_color>  
1611 - </custom>  
1612 - <cluster_schema/>  
1613 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
1614 - <xloc>534</xloc>  
1615 - <yloc>392</yloc>  
1616 - <draw>Y</draw>  
1617 - </GUI>  
1618 - </step>  
1619 -  
1620 - <step_error_handling>  
1621 - <error>  
1622 - <source_step>&#x63d2;&#x5165; &#x2f; &#x66f4;&#x65b0;bsth_c_s_sr1_flat</source_step>  
1623 - <target_step>&#x9519;&#x8bef;&#x8f93;&#x51fa; 2</target_step>  
1624 - <is_enabled>Y</is_enabled>  
1625 - <nr_valuename>error_count</nr_valuename>  
1626 - <descriptions_valuename>error_desc</descriptions_valuename>  
1627 - <fields_valuename>error_column1</fields_valuename>  
1628 - <codes_valuename>error_column2</codes_valuename>  
1629 - <max_errors/>  
1630 - <max_pct_errors/>  
1631 - <min_pct_rows/>  
1632 - </error>  
1633 - </step_error_handling>  
1634 - <slave-step-copy-partition-distribution>  
1635 -</slave-step-copy-partition-distribution>  
1636 - <slave_transformation>N</slave_transformation>  
1637 -  
1638 -</transformation> 1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>&#x6392;&#x73ed;&#x89c4;&#x5219;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</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>erroroutputdir</name>
  14 + <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;bsth_project&#x2f;bsth_control_etl&#x2f;&#x5bfc;&#x5165;&#x5bfc;&#x51fa;1</default_value>
  15 + <description>ktr step&#x914d;&#x7f6e;&#x7684;&#x9519;&#x8bef;&#x8f93;&#x51fa;&#x76ee;&#x5f55;</description>
  16 + </parameter>
  17 + <parameter>
  18 + <name>filepath</name>
  19 + <default_value>&#x2f;Users&#x2f;xu&#x2f;resource&#x2f;project_code&#x2f;bsth_project&#x2f;bsth_control_etl&#x2f;&#x5bfc;&#x5165;&#x5bfc;&#x51fa;1&#x2f;&#x6392;&#x7248;&#x89c4;&#x5219;&#x4fe1;&#x606f;.xls</default_value>
  20 + <description>&#x5f85;&#x5904;&#x7406;&#x5bfc;&#x5165;&#x7684;excel&#x6587;&#x4ef6;</description>
  21 + </parameter>
  22 + </parameters>
  23 + <log>
  24 +<trans-log-table><connection/>
  25 +<schema/>
  26 +<table/>
  27 +<size_limit_lines/>
  28 +<interval/>
  29 +<timeout_days/>
  30 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STATUS</id><enabled>Y</enabled><name>STATUS</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name><subject/></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name><subject/></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name><subject/></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name><subject/></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name><subject/></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name><subject/></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>STARTDATE</id><enabled>Y</enabled><name>STARTDATE</name></field><field><id>ENDDATE</id><enabled>Y</enabled><name>ENDDATE</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>DEPDATE</id><enabled>Y</enabled><name>DEPDATE</name></field><field><id>REPLAYDATE</id><enabled>Y</enabled><name>REPLAYDATE</name></field><field><id>LOG_FIELD</id><enabled>Y</enabled><name>LOG_FIELD</name></field><field><id>EXECUTING_SERVER</id><enabled>N</enabled><name>EXECUTING_SERVER</name></field><field><id>EXECUTING_USER</id><enabled>N</enabled><name>EXECUTING_USER</name></field><field><id>CLIENT</id><enabled>N</enabled><name>CLIENT</name></field></trans-log-table>
  31 +<perf-log-table><connection/>
  32 +<schema/>
  33 +<table/>
  34 +<interval/>
  35 +<timeout_days/>
  36 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>SEQ_NR</id><enabled>Y</enabled><name>SEQ_NR</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>INPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>INPUT_BUFFER_ROWS</name></field><field><id>OUTPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>OUTPUT_BUFFER_ROWS</name></field></perf-log-table>
  37 +<channel-log-table><connection/>
  38 +<schema/>
  39 +<table/>
  40 +<timeout_days/>
  41 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>LOGGING_OBJECT_TYPE</id><enabled>Y</enabled><name>LOGGING_OBJECT_TYPE</name></field><field><id>OBJECT_NAME</id><enabled>Y</enabled><name>OBJECT_NAME</name></field><field><id>OBJECT_COPY</id><enabled>Y</enabled><name>OBJECT_COPY</name></field><field><id>REPOSITORY_DIRECTORY</id><enabled>Y</enabled><name>REPOSITORY_DIRECTORY</name></field><field><id>FILENAME</id><enabled>Y</enabled><name>FILENAME</name></field><field><id>OBJECT_ID</id><enabled>Y</enabled><name>OBJECT_ID</name></field><field><id>OBJECT_REVISION</id><enabled>Y</enabled><name>OBJECT_REVISION</name></field><field><id>PARENT_CHANNEL_ID</id><enabled>Y</enabled><name>PARENT_CHANNEL_ID</name></field><field><id>ROOT_CHANNEL_ID</id><enabled>Y</enabled><name>ROOT_CHANNEL_ID</name></field></channel-log-table>
  42 +<step-log-table><connection/>
  43 +<schema/>
  44 +<table/>
  45 +<timeout_days/>
  46 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>LOG_FIELD</id><enabled>N</enabled><name>LOG_FIELD</name></field></step-log-table>
  47 +<metrics-log-table><connection/>
  48 +<schema/>
  49 +<table/>
  50 +<timeout_days/>
  51 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>METRICS_DATE</id><enabled>Y</enabled><name>METRICS_DATE</name></field><field><id>METRICS_CODE</id><enabled>Y</enabled><name>METRICS_CODE</name></field><field><id>METRICS_DESCRIPTION</id><enabled>Y</enabled><name>METRICS_DESCRIPTION</name></field><field><id>METRICS_SUBJECT</id><enabled>Y</enabled><name>METRICS_SUBJECT</name></field><field><id>METRICS_TYPE</id><enabled>Y</enabled><name>METRICS_TYPE</name></field><field><id>METRICS_VALUE</id><enabled>Y</enabled><name>METRICS_VALUE</name></field></metrics-log-table>
  52 + </log>
  53 + <maxdate>
  54 + <connection/>
  55 + <table/>
  56 + <field/>
  57 + <offset>0.0</offset>
  58 + <maxdiff>0.0</maxdiff>
  59 + </maxdate>
  60 + <size_rowset>10000</size_rowset>
  61 + <sleep_time_empty>50</sleep_time_empty>
  62 + <sleep_time_full>50</sleep_time_full>
  63 + <unique_connections>N</unique_connections>
  64 + <feedback_shown>Y</feedback_shown>
  65 + <feedback_size>50000</feedback_size>
  66 + <using_thread_priorities>Y</using_thread_priorities>
  67 + <shared_objects_file/>
  68 + <capture_step_performance>N</capture_step_performance>
  69 + <step_performance_capturing_delay>1000</step_performance_capturing_delay>
  70 + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
  71 + <dependencies>
  72 + </dependencies>
  73 + <partitionschemas>
  74 + </partitionschemas>
  75 + <slaveservers>
  76 + </slaveservers>
  77 + <clusterschemas>
  78 + </clusterschemas>
  79 + <created_user>-</created_user>
  80 + <created_date>2017&#x2f;01&#x2f;09 10&#x3a;10&#x3a;36.915</created_date>
  81 + <modified_user>-</modified_user>
  82 + <modified_date>2017&#x2f;01&#x2f;09 10&#x3a;10&#x3a;36.915</modified_date>
  83 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
  84 + <is_key_private>N</is_key_private>
  85 + </info>
  86 + <notepads>
  87 + </notepads>
  88 + <connection>
  89 + <name>192.168.168.1_jwgl_dw</name>
  90 + <server>192.168.168.1</server>
  91 + <type>ORACLE</type>
  92 + <access>Native</access>
  93 + <database>orcl</database>
  94 + <port>1521</port>
  95 + <username>jwgl_dw</username>
  96 + <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password>
  97 + <servername/>
  98 + <data_tablespace/>
  99 + <index_tablespace/>
  100 + <attributes>
  101 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  102 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  103 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  104 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  105 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  106 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  107 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  108 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  109 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  110 + </attributes>
  111 + </connection>
  112 + <connection>
  113 + <name>bus_control_variable</name>
  114 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  115 + <type>MYSQL</type>
  116 + <access>Native</access>
  117 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  118 + <port>3306</port>
  119 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  120 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  121 + <servername/>
  122 + <data_tablespace/>
  123 + <index_tablespace/>
  124 + <attributes>
  125 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
  126 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  127 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  128 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  129 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  130 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  131 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  132 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  133 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  134 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  135 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  136 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  137 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  138 + </attributes>
  139 + </connection>
  140 + <connection>
  141 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  142 + <server>localhost</server>
  143 + <type>MYSQL</type>
  144 + <access>Native</access>
  145 + <database>control</database>
  146 + <port>3306</port>
  147 + <username>root</username>
  148 + <password>Encrypted </password>
  149 + <servername/>
  150 + <data_tablespace/>
  151 + <index_tablespace/>
  152 + <attributes>
  153 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  154 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  155 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  156 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  157 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  158 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  159 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  160 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  161 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  162 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  163 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  164 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  165 + </attributes>
  166 + </connection>
  167 + <connection>
  168 + <name>bus_control_&#x672c;&#x673a;</name>
  169 + <server>localhost</server>
  170 + <type>MYSQL</type>
  171 + <access>Native</access>
  172 + <database>control</database>
  173 + <port>3306</port>
  174 + <username>root</username>
  175 + <password>Encrypted </password>
  176 + <servername/>
  177 + <data_tablespace/>
  178 + <index_tablespace/>
  179 + <attributes>
  180 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  181 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  182 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  183 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  184 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  185 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  186 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  187 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  188 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  189 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  190 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  191 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  192 + </attributes>
  193 + </connection>
  194 + <connection>
  195 + <name>xlab_mysql_youle</name>
  196 + <server>101.231.124.8</server>
  197 + <type>MYSQL</type>
  198 + <access>Native</access>
  199 + <database>xlab_youle</database>
  200 + <port>45687</port>
  201 + <username>xlab-youle</username>
  202 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
  203 + <servername/>
  204 + <data_tablespace/>
  205 + <index_tablespace/>
  206 + <attributes>
  207 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  208 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  209 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  210 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  211 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  212 + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
  213 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  214 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  215 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  216 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  217 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  218 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  219 + </attributes>
  220 + </connection>
  221 + <connection>
  222 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  223 + <server>localhost</server>
  224 + <type>MYSQL</type>
  225 + <access>Native</access>
  226 + <database>xlab_youle</database>
  227 + <port>3306</port>
  228 + <username>root</username>
  229 + <password>Encrypted </password>
  230 + <servername/>
  231 + <data_tablespace/>
  232 + <index_tablespace/>
  233 + <attributes>
  234 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  235 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  236 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  237 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  238 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  239 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  240 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  241 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  242 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  243 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  244 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  245 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  246 + </attributes>
  247 + </connection>
  248 + <connection>
  249 + <name>xlab_youle</name>
  250 + <server/>
  251 + <type>MYSQL</type>
  252 + <access>JNDI</access>
  253 + <database>xlab_youle</database>
  254 + <port>1521</port>
  255 + <username/>
  256 + <password>Encrypted </password>
  257 + <servername/>
  258 + <data_tablespace/>
  259 + <index_tablespace/>
  260 + <attributes>
  261 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  262 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  263 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  264 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  265 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  266 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  267 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  268 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  269 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  270 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  271 + </attributes>
  272 + </connection>
  273 + <order>
  274 + <hop> <from>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</from><to>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</to><enabled>Y</enabled> </hop>
  275 + <hop> <from>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</from><to>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</to><enabled>Y</enabled> </hop>
  276 + <hop> <from>&#x62c6;&#x5206;&#x8def;&#x724c;&#x8303;&#x56f4;</from><to>&#x8def;&#x724c;id&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  277 + <hop> <from>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</from><to>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x8def;&#x724c;id</to><enabled>Y</enabled> </hop>
  278 + <hop> <from>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x8def;&#x724c;id</from><to>&#x62c6;&#x5206;&#x4eba;&#x5458;&#x8303;&#x56f4;</to><enabled>Y</enabled> </hop>
  279 + <hop> <from>&#x62c6;&#x5206;&#x4eba;&#x5458;&#x8303;&#x56f4;</from><to>&#x62c6;&#x5206;&#x5206;&#x73ed;&#x642d;&#x73ed;&#x7f16;&#x7801;&#x5b57;&#x6bb5;</to><enabled>Y</enabled> </hop>
  280 + <hop> <from>&#x62c6;&#x5206;&#x5206;&#x73ed;&#x642d;&#x73ed;&#x7f16;&#x7801;&#x5b57;&#x6bb5;</from><to>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  281 + <hop> <from>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</from><to>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2; 2</to><enabled>Y</enabled> </hop>
  282 + <hop> <from>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</from><to>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  283 + <hop> <from>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</from><to>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  284 + <hop> <from>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  285 + <hop> <from>&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</from><to>&#x8fc7;&#x6ee4;&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  286 + <hop> <from>&#x8fc7;&#x6ee4;&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x62c6;&#x5206;&#x8def;&#x724c;&#x8303;&#x56f4;</to><enabled>Y</enabled> </hop>
  287 + <hop> <from>&#x8def;&#x724c;id&#x67e5;&#x8be2;</from><to>&#x8fc7;&#x6ee4;&#x8def;&#x724c;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  288 + <hop> <from>&#x8fc7;&#x6ee4;&#x8def;&#x724c;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  289 + <hop> <from>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2; 2</from><to>&#x8fc7;&#x6ee4;&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  290 + <hop> <from>&#x8fc7;&#x6ee4;&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x5408;&#x5e76;&#x5206;&#x73ed;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</to><enabled>Y</enabled> </hop>
  291 + <hop> <from>&#x5408;&#x5e76;&#x5206;&#x73ed;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</from><to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55; 2</to><enabled>Y</enabled> </hop>
  292 + <hop> <from>&#x6392;&#x5e8f;&#x8bb0;&#x5f55; 2</from><to>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</to><enabled>Y</enabled> </hop>
  293 + <hop> <from>&#x63d2;&#x5165; &#x2f; &#x66f4;&#x65b0;bsth_c_s_sr1_flat</from><to>&#x9519;&#x8bef;&#x8f93;&#x51fa; 2</to><enabled>Y</enabled> </hop>
  294 + <hop> <from>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</from><to>&#x542f;&#x7528;&#x65e5;&#x671f;&#x8f6c;&#x6362;</to><enabled>Y</enabled> </hop>
  295 + <hop> <from>&#x542f;&#x7528;&#x65e5;&#x671f;&#x8f6c;&#x6362;</from><to>&#x63d2;&#x5165; &#x2f; &#x66f4;&#x65b0;bsth_c_s_sr1_flat</to><enabled>Y</enabled> </hop>
  296 + </order>
  297 + <step>
  298 + <name>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</name>
  299 + <type>DBLookup</type>
  300 + <description/>
  301 + <distribute>Y</distribute>
  302 + <custom_distribution/>
  303 + <copies>1</copies>
  304 + <partitioning>
  305 + <method>none</method>
  306 + <schema_name/>
  307 + </partitioning>
  308 + <connection>bus_control_variable</connection>
  309 + <cache>N</cache>
  310 + <cache_load_all>Y</cache_load_all>
  311 + <cache_size>0</cache_size>
  312 + <lookup>
  313 + <schema/>
  314 + <table>bsth_c_s_ecinfo</table>
  315 + <orderby/>
  316 + <fail_on_multiple>N</fail_on_multiple>
  317 + <eat_row_on_failure>N</eat_row_on_failure>
  318 + <key>
  319 + <name>xlid</name>
  320 + <field>xl</field>
  321 + <condition>&#x3d;</condition>
  322 + <name2/>
  323 + </key>
  324 + <key>
  325 + <name>dbbm1</name>
  326 + <field>dbbm</field>
  327 + <condition>&#x3d;</condition>
  328 + <name2/>
  329 + </key>
  330 + <key>
  331 + <name>isCancel</name>
  332 + <field>is_cancel</field>
  333 + <condition>&#x3d;</condition>
  334 + <name2/>
  335 + </key>
  336 + <value>
  337 + <name>id</name>
  338 + <rename>rycid1</rename>
  339 + <default/>
  340 + <type>Integer</type>
  341 + </value>
  342 + </lookup>
  343 + <cluster_schema/>
  344 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  345 + <xloc>904</xloc>
  346 + <yloc>101</yloc>
  347 + <draw>Y</draw>
  348 + </GUI>
  349 + </step>
  350 +
  351 + <step>
  352 + <name>&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x67e5;&#x8be2; 2</name>
  353 + <type>DBLookup</type>
  354 + <description/>
  355 + <distribute>Y</distribute>
  356 + <custom_distribution/>
  357 + <copies>1</copies>
  358 + <partitioning>
  359 + <method>none</method>
  360 + <schema_name/>
  361 + </partitioning>
  362 + <connection>bus_control_variable</connection>
  363 + <cache>N</cache>
  364 + <cache_load_all>Y</cache_load_all>
  365 + <cache_size>0</cache_size>
  366 + <lookup>
  367 + <schema/>
  368 + <table>bsth_c_s_ecinfo</table>
  369 + <orderby/>
  370 + <fail_on_multiple>N</fail_on_multiple>
  371 + <eat_row_on_failure>N</eat_row_on_failure>
  372 + <key>
  373 + <name>xlid</name>
  374 + <field>xl</field>
  375 + <condition>&#x3d;</condition>
  376 + <name2/>
  377 + </key>
  378 + <key>
  379 + <name>dbbm2</name>
  380 + <field>dbbm</field>
  381 + <condition>&#x3d;</condition>
  382 + <name2/>
  383 + </key>
  384 + <key>
  385 + <name>isCancel</name>
  386 + <field>is_cancel</field>
  387 + <condition>&#x3d;</condition>
  388 + <name2/>
  389 + </key>
  390 + <value>
  391 + <name>id</name>
  392 + <rename>rycid2</rename>
  393 + <default/>
  394 + <type>Integer</type>
  395 + </value>
  396 + </lookup>
  397 + <cluster_schema/>
  398 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  399 + <xloc>778</xloc>
  400 + <yloc>103</yloc>
  401 + <draw>Y</draw>
  402 + </GUI>
  403 + </step>
  404 +
  405 + <step>
  406 + <name>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</name>
  407 + <type>GroupBy</type>
  408 + <description/>
  409 + <distribute>Y</distribute>
  410 + <custom_distribution/>
  411 + <copies>1</copies>
  412 + <partitioning>
  413 + <method>none</method>
  414 + <schema_name/>
  415 + </partitioning>
  416 + <all_rows>N</all_rows>
  417 + <ignore_aggregate>N</ignore_aggregate>
  418 + <field_ignore/>
  419 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  420 + <prefix>grp</prefix>
  421 + <add_linenr>N</add_linenr>
  422 + <linenr_fieldname/>
  423 + <give_back_row>N</give_back_row>
  424 + <group>
  425 + <field>
  426 + <name>xlid</name>
  427 + </field>
  428 + <field>
  429 + <name>cid</name>
  430 + </field>
  431 + <field>
  432 + <name>lpnames</name>
  433 + </field>
  434 + <field>
  435 + <name>lpids</name>
  436 + </field>
  437 + <field>
  438 + <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>
  439 + </field>
  440 + <field>
  441 + <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>
  442 + </field>
  443 + <field>
  444 + <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>
  445 + </field>
  446 + <field>
  447 + <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  448 + </field>
  449 + <field>
  450 + <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>
  451 + </field>
  452 + <field>
  453 + <name>isCancel</name>
  454 + </field>
  455 + </group>
  456 + <fields>
  457 + <field>
  458 + <aggregate>rycids</aggregate>
  459 + <subject>rycid</subject>
  460 + <type>CONCAT_STRING</type>
  461 + <valuefield>,</valuefield>
  462 + </field>
  463 + <field>
  464 + <aggregate>rybms</aggregate>
  465 + <subject>rybm</subject>
  466 + <type>CONCAT_STRING</type>
  467 + <valuefield>,</valuefield>
  468 + </field>
  469 + </fields>
  470 + <cluster_schema/>
  471 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  472 + <xloc>780</xloc>
  473 + <yloc>291</yloc>
  474 + <draw>Y</draw>
  475 + </GUI>
  476 + </step>
  477 +
  478 + <step>
  479 + <name>&#x5206;&#x7ec4;&#x5408;&#x5e76;&#x8def;&#x724c;id</name>
  480 + <type>GroupBy</type>
  481 + <description/>
  482 + <distribute>Y</distribute>
  483 + <custom_distribution/>
  484 + <copies>1</copies>
  485 + <partitioning>
  486 + <method>none</method>
  487 + <schema_name/>
  488 + </partitioning>
  489 + <all_rows>N</all_rows>
  490 + <ignore_aggregate>N</ignore_aggregate>
  491 + <field_ignore/>
  492 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  493 + <prefix>grp</prefix>
  494 + <add_linenr>N</add_linenr>
  495 + <linenr_fieldname/>
  496 + <give_back_row>N</give_back_row>
  497 + <group>
  498 + <field>
  499 + <name>xlid</name>
  500 + </field>
  501 + <field>
  502 + <name>cid</name>
  503 + </field>
  504 + <field>
  505 + <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>
  506 + </field>
  507 + <field>
  508 + <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>
  509 + </field>
  510 + <field>
  511 + <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>
  512 + </field>
  513 + <field>
  514 + <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  515 + </field>
  516 + <field>
  517 + <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>
  518 + </field>
  519 + <field>
  520 + <name>isCancel</name>
  521 + </field>
  522 + </group>
  523 + <fields>
  524 + <field>
  525 + <aggregate>lpids</aggregate>
  526 + <subject>lpid</subject>
  527 + <type>CONCAT_STRING</type>
  528 + <valuefield>,</valuefield>
  529 + </field>
  530 + <field>
  531 + <aggregate>lpnames</aggregate>
  532 + <subject>lpname</subject>
  533 + <type>CONCAT_STRING</type>
  534 + <valuefield>,</valuefield>
  535 + </field>
  536 + </fields>
  537 + <cluster_schema/>
  538 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  539 + <xloc>653</xloc>
  540 + <yloc>119</yloc>
  541 + <draw>Y</draw>
  542 + </GUI>
  543 + </step>
  544 +
  545 + <step>
  546 + <name>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</name>
  547 + <type>ExcelInput</type>
  548 + <description/>
  549 + <distribute>Y</distribute>
  550 + <custom_distribution/>
  551 + <copies>1</copies>
  552 + <partitioning>
  553 + <method>none</method>
  554 + <schema_name/>
  555 + </partitioning>
  556 + <header>Y</header>
  557 + <noempty>Y</noempty>
  558 + <stoponempty>N</stoponempty>
  559 + <filefield/>
  560 + <sheetfield/>
  561 + <sheetrownumfield/>
  562 + <rownumfield/>
  563 + <sheetfield/>
  564 + <filefield/>
  565 + <limit>0</limit>
  566 + <encoding/>
  567 + <add_to_result_filenames>Y</add_to_result_filenames>
  568 + <accept_filenames>Y</accept_filenames>
  569 + <accept_field>filepath_</accept_field>
  570 + <accept_stepname>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</accept_stepname>
  571 + <file>
  572 + <name/>
  573 + <filemask/>
  574 + <exclude_filemask/>
  575 + <file_required>N</file_required>
  576 + <include_subfolders>N</include_subfolders>
  577 + </file>
  578 + <fields>
  579 + <field>
  580 + <name>&#x7ebf;&#x8def;</name>
  581 + <type>String</type>
  582 + <length>-1</length>
  583 + <precision>-1</precision>
  584 + <trim_type>none</trim_type>
  585 + <repeat>N</repeat>
  586 + <format/>
  587 + <currency/>
  588 + <decimal/>
  589 + <group/>
  590 + </field>
  591 + <field>
  592 + <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>
  593 + <type>String</type>
  594 + <length>-1</length>
  595 + <precision>-1</precision>
  596 + <trim_type>none</trim_type>
  597 + <repeat>N</repeat>
  598 + <format/>
  599 + <currency/>
  600 + <decimal/>
  601 + <group/>
  602 + </field>
  603 + <field>
  604 + <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  605 + <type>String</type>
  606 + <length>-1</length>
  607 + <precision>-1</precision>
  608 + <trim_type>none</trim_type>
  609 + <repeat>N</repeat>
  610 + <format/>
  611 + <currency/>
  612 + <decimal/>
  613 + <group/>
  614 + </field>
  615 + <field>
  616 + <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>
  617 + <type>String</type>
  618 + <length>-1</length>
  619 + <precision>-1</precision>
  620 + <trim_type>none</trim_type>
  621 + <repeat>N</repeat>
  622 + <format>&#x23;</format>
  623 + <currency/>
  624 + <decimal/>
  625 + <group/>
  626 + </field>
  627 + <field>
  628 + <name>&#x8def;&#x724c;&#x8303;&#x56f4;</name>
  629 + <type>String</type>
  630 + <length>-1</length>
  631 + <precision>-1</precision>
  632 + <trim_type>none</trim_type>
  633 + <repeat>N</repeat>
  634 + <format>&#x23;</format>
  635 + <currency/>
  636 + <decimal/>
  637 + <group/>
  638 + </field>
  639 + <field>
  640 + <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>
  641 + <type>String</type>
  642 + <length>-1</length>
  643 + <precision>-1</precision>
  644 + <trim_type>none</trim_type>
  645 + <repeat>N</repeat>
  646 + <format>&#x23;</format>
  647 + <currency/>
  648 + <decimal/>
  649 + <group/>
  650 + </field>
  651 + <field>
  652 + <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>
  653 + <type>String</type>
  654 + <length>-1</length>
  655 + <precision>-1</precision>
  656 + <trim_type>none</trim_type>
  657 + <repeat>N</repeat>
  658 + <format>&#x23;</format>
  659 + <currency/>
  660 + <decimal/>
  661 + <group/>
  662 + </field>
  663 + <field>
  664 + <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>
  665 + <type>String</type>
  666 + <length>-1</length>
  667 + <precision>-1</precision>
  668 + <trim_type>none</trim_type>
  669 + <repeat>N</repeat>
  670 + <format>&#x23;</format>
  671 + <currency/>
  672 + <decimal/>
  673 + <group/>
  674 + </field>
  675 + </fields>
  676 + <sheets>
  677 + <sheet>
  678 + <name>&#x5de5;&#x4f5c;&#x8868;1</name>
  679 + <startrow>0</startrow>
  680 + <startcol>0</startcol>
  681 + </sheet>
  682 + </sheets>
  683 + <strict_types>N</strict_types>
  684 + <error_ignored>N</error_ignored>
  685 + <error_line_skipped>N</error_line_skipped>
  686 + <bad_line_files_destination_directory/>
  687 + <bad_line_files_extension>warning</bad_line_files_extension>
  688 + <error_line_files_destination_directory/>
  689 + <error_line_files_extension>error</error_line_files_extension>
  690 + <line_number_files_destination_directory/>
  691 + <line_number_files_extension>line</line_number_files_extension>
  692 + <shortFileFieldName/>
  693 + <pathFieldName/>
  694 + <hiddenFieldName/>
  695 + <lastModificationTimeFieldName/>
  696 + <uriNameFieldName/>
  697 + <rootUriNameFieldName/>
  698 + <extensionFieldName/>
  699 + <sizeFieldName/>
  700 + <spreadsheet_type>JXL</spreadsheet_type>
  701 + <cluster_schema/>
  702 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  703 + <xloc>208</xloc>
  704 + <yloc>21</yloc>
  705 + <draw>Y</draw>
  706 + </GUI>
  707 + </step>
  708 +
  709 + <step>
  710 + <name>&#x5408;&#x5e76;&#x5206;&#x73ed;&#x4eba;&#x5458;&#x914d;&#x7f6e;id</name>
  711 + <type>ScriptValueMod</type>
  712 + <description/>
  713 + <distribute>Y</distribute>
  714 + <custom_distribution/>
  715 + <copies>1</copies>
  716 + <partitioning>
  717 + <method>none</method>
  718 + <schema_name/>
  719 + </partitioning>
  720 + <compatible>N</compatible>
  721 + <optimizationLevel>9</optimizationLevel>
  722 + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
  723 + <jsScript_name>Script 1</jsScript_name>
  724 + <jsScript_script>&#x2f;&#x2f;Script here&#xa;&#xa;var rycid&#x3b;&#xa;var rybm&#x3b;&#xa;&#xa;if &#x28;rycid2 &#x3d;&#x3d; null&#x29; &#x7b;&#xa; rycid &#x3d; rycid1&#x3b;&#xa; rybm &#x3d; dbbm1&#x3b;&#xa;&#x7d; else &#x7b;&#xa; rycid &#x3d; rycid1 &#x2b; &#x22;-&#x22; &#x2b; rycid2&#x3b;&#xa; rybm &#x3d; dbbm1 &#x2b; &#x22;-&#x22; &#x2b; dbbm2&#x3b;&#xa;&#x7d;</jsScript_script>
  725 + </jsScript> </jsScripts> <fields> <field> <name>rycid</name>
  726 + <rename>rycid</rename>
  727 + <type>String</type>
  728 + <length>-1</length>
  729 + <precision>-1</precision>
  730 + <replace>N</replace>
  731 + </field> <field> <name>rybm</name>
  732 + <rename>rybm</rename>
  733 + <type>String</type>
  734 + <length>-1</length>
  735 + <precision>-1</precision>
  736 + <replace>N</replace>
  737 + </field> </fields> <cluster_schema/>
  738 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  739 + <xloc>917</xloc>
  740 + <yloc>201</yloc>
  741 + <draw>Y</draw>
  742 + </GUI>
  743 + </step>
  744 +
  745 + <step>
  746 + <name>&#x542f;&#x7528;&#x65e5;&#x671f;&#x8f6c;&#x6362;</name>
  747 + <type>SelectValues</type>
  748 + <description/>
  749 + <distribute>Y</distribute>
  750 + <custom_distribution/>
  751 + <copies>1</copies>
  752 + <partitioning>
  753 + <method>none</method>
  754 + <schema_name/>
  755 + </partitioning>
  756 + <fields> <select_unspecified>N</select_unspecified>
  757 + <meta> <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  758 + <rename>&#x542f;&#x7528;&#x65e5;&#x671f;</rename>
  759 + <type>Timestamp</type>
  760 + <length>-2</length>
  761 + <precision>-2</precision>
  762 + <conversion_mask>yyyy-MM-dd</conversion_mask>
  763 + <date_format_lenient>false</date_format_lenient>
  764 + <date_format_locale/>
  765 + <date_format_timezone/>
  766 + <lenient_string_to_number>false</lenient_string_to_number>
  767 + <encoding/>
  768 + <decimal_symbol/>
  769 + <grouping_symbol/>
  770 + <currency_symbol/>
  771 + <storage_type/>
  772 + </meta> </fields> <cluster_schema/>
  773 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  774 + <xloc>777</xloc>
  775 + <yloc>368</yloc>
  776 + <draw>Y</draw>
  777 + </GUI>
  778 + </step>
  779 +
  780 + <step>
  781 + <name>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</name>
  782 + <type>Constant</type>
  783 + <description/>
  784 + <distribute>Y</distribute>
  785 + <custom_distribution/>
  786 + <copies>1</copies>
  787 + <partitioning>
  788 + <method>none</method>
  789 + <schema_name/>
  790 + </partitioning>
  791 + <fields>
  792 + <field>
  793 + <name>isCancel</name>
  794 + <type>Integer</type>
  795 + <format/>
  796 + <currency/>
  797 + <decimal/>
  798 + <group/>
  799 + <nullif>0</nullif>
  800 + <length>-1</length>
  801 + <precision>-1</precision>
  802 + <set_empty_string>N</set_empty_string>
  803 + </field>
  804 + </fields>
  805 + <cluster_schema/>
  806 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  807 + <xloc>361</xloc>
  808 + <yloc>22</yloc>
  809 + <draw>Y</draw>
  810 + </GUI>
  811 + </step>
  812 +
  813 + <step>
  814 + <name>&#x62c6;&#x5206;&#x4eba;&#x5458;&#x8303;&#x56f4;</name>
  815 + <type>SplitFieldToRows3</type>
  816 + <description/>
  817 + <distribute>Y</distribute>
  818 + <custom_distribution/>
  819 + <copies>1</copies>
  820 + <partitioning>
  821 + <method>none</method>
  822 + <schema_name/>
  823 + </partitioning>
  824 + <splitfield>&#x4eba;&#x5458;&#x8303;&#x56f4;</splitfield>
  825 + <delimiter>,</delimiter>
  826 + <newfield>dbbm</newfield>
  827 + <rownum>N</rownum>
  828 + <rownum_field/>
  829 + <resetrownumber>Y</resetrownumber>
  830 + <delimiter_is_regex>N</delimiter_is_regex>
  831 + <cluster_schema/>
  832 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  833 + <xloc>777</xloc>
  834 + <yloc>22</yloc>
  835 + <draw>Y</draw>
  836 + </GUI>
  837 + </step>
  838 +
  839 + <step>
  840 + <name>&#x62c6;&#x5206;&#x5206;&#x73ed;&#x642d;&#x73ed;&#x7f16;&#x7801;&#x5b57;&#x6bb5;</name>
  841 + <type>FieldSplitter</type>
  842 + <description/>
  843 + <distribute>Y</distribute>
  844 + <custom_distribution/>
  845 + <copies>1</copies>
  846 + <partitioning>
  847 + <method>none</method>
  848 + <schema_name/>
  849 + </partitioning>
  850 + <splitfield>dbbm</splitfield>
  851 + <delimiter>-</delimiter>
  852 + <enclosure/>
  853 + <fields> <field> <name>dbbm1</name>
  854 + <id/>
  855 + <idrem>N</idrem>
  856 + <type>String</type>
  857 + <format/>
  858 + <group/>
  859 + <decimal/>
  860 + <currency/>
  861 + <length>-1</length>
  862 + <precision>-1</precision>
  863 + <nullif/>
  864 + <ifnull/>
  865 + <trimtype>none</trimtype>
  866 + </field> <field> <name>dbbm2</name>
  867 + <id/>
  868 + <idrem>N</idrem>
  869 + <type>String</type>
  870 + <format/>
  871 + <group/>
  872 + <decimal/>
  873 + <currency/>
  874 + <length>-1</length>
  875 + <precision>-1</precision>
  876 + <nullif/>
  877 + <ifnull/>
  878 + <trimtype>none</trimtype>
  879 + </field> </fields> <cluster_schema/>
  880 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  881 + <xloc>901</xloc>
  882 + <yloc>22</yloc>
  883 + <draw>Y</draw>
  884 + </GUI>
  885 + </step>
  886 +
  887 + <step>
  888 + <name>&#x62c6;&#x5206;&#x8def;&#x724c;&#x8303;&#x56f4;</name>
  889 + <type>SplitFieldToRows3</type>
  890 + <description/>
  891 + <distribute>Y</distribute>
  892 + <custom_distribution/>
  893 + <copies>1</copies>
  894 + <partitioning>
  895 + <method>none</method>
  896 + <schema_name/>
  897 + </partitioning>
  898 + <splitfield>&#x8def;&#x724c;&#x8303;&#x56f4;</splitfield>
  899 + <delimiter>,</delimiter>
  900 + <newfield>lpname</newfield>
  901 + <rownum>N</rownum>
  902 + <rownum_field/>
  903 + <resetrownumber>Y</resetrownumber>
  904 + <delimiter_is_regex>N</delimiter_is_regex>
  905 + <cluster_schema/>
  906 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  907 + <xloc>364</xloc>
  908 + <yloc>259</yloc>
  909 + <draw>Y</draw>
  910 + </GUI>
  911 + </step>
  912 +
  913 + <step>
  914 + <name>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</name>
  915 + <type>SortRows</type>
  916 + <description/>
  917 + <distribute>Y</distribute>
  918 + <custom_distribution/>
  919 + <copies>1</copies>
  920 + <partitioning>
  921 + <method>none</method>
  922 + <schema_name/>
  923 + </partitioning>
  924 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  925 + <prefix>out</prefix>
  926 + <sort_size>1000000</sort_size>
  927 + <free_memory/>
  928 + <compress>N</compress>
  929 + <compress_variable/>
  930 + <unique_rows>N</unique_rows>
  931 + <fields>
  932 + <field>
  933 + <name>xlid</name>
  934 + <ascending>Y</ascending>
  935 + <case_sensitive>N</case_sensitive>
  936 + <presorted>N</presorted>
  937 + </field>
  938 + <field>
  939 + <name>cid</name>
  940 + <ascending>Y</ascending>
  941 + <case_sensitive>N</case_sensitive>
  942 + <presorted>N</presorted>
  943 + </field>
  944 + <field>
  945 + <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>
  946 + <ascending>Y</ascending>
  947 + <case_sensitive>N</case_sensitive>
  948 + <presorted>N</presorted>
  949 + </field>
  950 + <field>
  951 + <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>
  952 + <ascending>Y</ascending>
  953 + <case_sensitive>N</case_sensitive>
  954 + <presorted>N</presorted>
  955 + </field>
  956 + <field>
  957 + <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>
  958 + <ascending>Y</ascending>
  959 + <case_sensitive>N</case_sensitive>
  960 + <presorted>N</presorted>
  961 + </field>
  962 + <field>
  963 + <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  964 + <ascending>Y</ascending>
  965 + <case_sensitive>N</case_sensitive>
  966 + <presorted>N</presorted>
  967 + </field>
  968 + <field>
  969 + <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>
  970 + <ascending>Y</ascending>
  971 + <case_sensitive>N</case_sensitive>
  972 + <presorted>N</presorted>
  973 + </field>
  974 + <field>
  975 + <name>isCancel</name>
  976 + <ascending>Y</ascending>
  977 + <case_sensitive>N</case_sensitive>
  978 + <presorted>N</presorted>
  979 + </field>
  980 + </fields>
  981 + <cluster_schema/>
  982 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  983 + <xloc>516</xloc>
  984 + <yloc>119</yloc>
  985 + <draw>Y</draw>
  986 + </GUI>
  987 + </step>
  988 +
  989 + <step>
  990 + <name>&#x6392;&#x5e8f;&#x8bb0;&#x5f55; 2</name>
  991 + <type>SortRows</type>
  992 + <description/>
  993 + <distribute>Y</distribute>
  994 + <custom_distribution/>
  995 + <copies>1</copies>
  996 + <partitioning>
  997 + <method>none</method>
  998 + <schema_name/>
  999 + </partitioning>
  1000 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  1001 + <prefix>out</prefix>
  1002 + <sort_size>1000000</sort_size>
  1003 + <free_memory/>
  1004 + <compress>N</compress>
  1005 + <compress_variable/>
  1006 + <unique_rows>N</unique_rows>
  1007 + <fields>
  1008 + <field>
  1009 + <name>xlid</name>
  1010 + <ascending>Y</ascending>
  1011 + <case_sensitive>N</case_sensitive>
  1012 + <presorted>N</presorted>
  1013 + </field>
  1014 + <field>
  1015 + <name>cid</name>
  1016 + <ascending>Y</ascending>
  1017 + <case_sensitive>N</case_sensitive>
  1018 + <presorted>N</presorted>
  1019 + </field>
  1020 + <field>
  1021 + <name>lpnames</name>
  1022 + <ascending>Y</ascending>
  1023 + <case_sensitive>N</case_sensitive>
  1024 + <presorted>N</presorted>
  1025 + </field>
  1026 + <field>
  1027 + <name>lpids</name>
  1028 + <ascending>Y</ascending>
  1029 + <case_sensitive>N</case_sensitive>
  1030 + <presorted>N</presorted>
  1031 + </field>
  1032 + <field>
  1033 + <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>
  1034 + <ascending>Y</ascending>
  1035 + <case_sensitive>N</case_sensitive>
  1036 + <presorted>N</presorted>
  1037 + </field>
  1038 + <field>
  1039 + <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>
  1040 + <ascending>Y</ascending>
  1041 + <case_sensitive>N</case_sensitive>
  1042 + <presorted>N</presorted>
  1043 + </field>
  1044 + <field>
  1045 + <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>
  1046 + <ascending>Y</ascending>
  1047 + <case_sensitive>N</case_sensitive>
  1048 + <presorted>N</presorted>
  1049 + </field>
  1050 + <field>
  1051 + <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  1052 + <ascending>Y</ascending>
  1053 + <case_sensitive>N</case_sensitive>
  1054 + <presorted>N</presorted>
  1055 + </field>
  1056 + <field>
  1057 + <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>
  1058 + <ascending>Y</ascending>
  1059 + <case_sensitive>N</case_sensitive>
  1060 + <presorted>N</presorted>
  1061 + </field>
  1062 + <field>
  1063 + <name>isCancel</name>
  1064 + <ascending>Y</ascending>
  1065 + <case_sensitive>N</case_sensitive>
  1066 + <presorted>N</presorted>
  1067 + </field>
  1068 + </fields>
  1069 + <cluster_schema/>
  1070 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1071 + <xloc>919</xloc>
  1072 + <yloc>289</yloc>
  1073 + <draw>Y</draw>
  1074 + </GUI>
  1075 + </step>
  1076 +
  1077 + <step>
  1078 + <name>&#x63d2;&#x5165; &#x2f; &#x66f4;&#x65b0;bsth_c_s_sr1_flat</name>
  1079 + <type>InsertUpdate</type>
  1080 + <description/>
  1081 + <distribute>Y</distribute>
  1082 + <custom_distribution/>
  1083 + <copies>1</copies>
  1084 + <partitioning>
  1085 + <method>none</method>
  1086 + <schema_name/>
  1087 + </partitioning>
  1088 + <connection>bus_control_variable</connection>
  1089 + <commit>100</commit>
  1090 + <update_bypassed>N</update_bypassed>
  1091 + <lookup>
  1092 + <schema/>
  1093 + <table>bsth_c_s_sr1_flat</table>
  1094 + <key>
  1095 + <name>xlid</name>
  1096 + <field>xl</field>
  1097 + <condition>&#x3d;</condition>
  1098 + <name2/>
  1099 + </key>
  1100 + <key>
  1101 + <name>cid</name>
  1102 + <field>car_config_info</field>
  1103 + <condition>&#x3d;</condition>
  1104 + <name2/>
  1105 + </key>
  1106 + <value>
  1107 + <name>xl</name>
  1108 + <rename>xlid</rename>
  1109 + <update>Y</update>
  1110 + </value>
  1111 + <value>
  1112 + <name>car_config_info</name>
  1113 + <rename>cid</rename>
  1114 + <update>Y</update>
  1115 + </value>
  1116 + <value>
  1117 + <name>lp_names</name>
  1118 + <rename>lpnames</rename>
  1119 + <update>Y</update>
  1120 + </value>
  1121 + <value>
  1122 + <name>lp_ids</name>
  1123 + <rename>lpids</rename>
  1124 + <update>Y</update>
  1125 + </value>
  1126 + <value>
  1127 + <name>lp_start</name>
  1128 + <rename>&#x8d77;&#x59cb;&#x8def;&#x724c;</rename>
  1129 + <update>Y</update>
  1130 + </value>
  1131 + <value>
  1132 + <name>ry_start</name>
  1133 + <rename>&#x8d77;&#x59cb;&#x4eba;&#x5458;</rename>
  1134 + <update>Y</update>
  1135 + </value>
  1136 + <value>
  1137 + <name>ry_dbbms</name>
  1138 + <rename>rybms</rename>
  1139 + <update>Y</update>
  1140 + </value>
  1141 + <value>
  1142 + <name>qyrq</name>
  1143 + <rename>&#x542f;&#x7528;&#x65e5;&#x671f;</rename>
  1144 + <update>Y</update>
  1145 + </value>
  1146 + <value>
  1147 + <name>ry_config_ids</name>
  1148 + <rename>rycids</rename>
  1149 + <update>Y</update>
  1150 + </value>
  1151 + <value>
  1152 + <name>fbgs</name>
  1153 + <rename>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</rename>
  1154 + <update>Y</update>
  1155 + </value>
  1156 + </lookup>
  1157 + <cluster_schema/>
  1158 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1159 + <xloc>532</xloc>
  1160 + <yloc>297</yloc>
  1161 + <draw>Y</draw>
  1162 + </GUI>
  1163 + </step>
  1164 +
  1165 + <step>
  1166 + <name>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</name>
  1167 + <type>DBLookup</type>
  1168 + <description/>
  1169 + <distribute>Y</distribute>
  1170 + <custom_distribution/>
  1171 + <copies>1</copies>
  1172 + <partitioning>
  1173 + <method>none</method>
  1174 + <schema_name/>
  1175 + </partitioning>
  1176 + <connection>bus_control_variable</connection>
  1177 + <cache>N</cache>
  1178 + <cache_load_all>Y</cache_load_all>
  1179 + <cache_size>0</cache_size>
  1180 + <lookup>
  1181 + <schema/>
  1182 + <table>bsth_c_line</table>
  1183 + <orderby/>
  1184 + <fail_on_multiple>N</fail_on_multiple>
  1185 + <eat_row_on_failure>N</eat_row_on_failure>
  1186 + <key>
  1187 + <name>&#x7ebf;&#x8def;</name>
  1188 + <field>name</field>
  1189 + <condition>&#x3d;</condition>
  1190 + <name2/>
  1191 + </key>
  1192 + <key>
  1193 + <name>isCancel</name>
  1194 + <field>destroy</field>
  1195 + <condition>&#x3d;</condition>
  1196 + <name2/>
  1197 + </key>
  1198 + <value>
  1199 + <name>id</name>
  1200 + <rename>xlid</rename>
  1201 + <default/>
  1202 + <type>Integer</type>
  1203 + </value>
  1204 + </lookup>
  1205 + <cluster_schema/>
  1206 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1207 + <xloc>359</xloc>
  1208 + <yloc>110</yloc>
  1209 + <draw>Y</draw>
  1210 + </GUI>
  1211 + </step>
  1212 +
  1213 + <step>
  1214 + <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>
  1215 + <type>GetVariable</type>
  1216 + <description/>
  1217 + <distribute>Y</distribute>
  1218 + <custom_distribution/>
  1219 + <copies>1</copies>
  1220 + <partitioning>
  1221 + <method>none</method>
  1222 + <schema_name/>
  1223 + </partitioning>
  1224 + <fields>
  1225 + <field>
  1226 + <name>filepath_</name>
  1227 + <variable>&#x24;&#x7b;filepath&#x7d;</variable>
  1228 + <type>String</type>
  1229 + <format/>
  1230 + <currency/>
  1231 + <decimal/>
  1232 + <group/>
  1233 + <length>-1</length>
  1234 + <precision>-1</precision>
  1235 + <trim_type>none</trim_type>
  1236 + </field>
  1237 + <field>
  1238 + <name>erroroutputdir_</name>
  1239 + <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
  1240 + <type>String</type>
  1241 + <format/>
  1242 + <currency/>
  1243 + <decimal/>
  1244 + <group/>
  1245 + <length>-1</length>
  1246 + <precision>-1</precision>
  1247 + <trim_type>none</trim_type>
  1248 + </field>
  1249 + </fields>
  1250 + <cluster_schema/>
  1251 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1252 + <xloc>53</xloc>
  1253 + <yloc>23</yloc>
  1254 + <draw>Y</draw>
  1255 + </GUI>
  1256 + </step>
  1257 +
  1258 + <step>
  1259 + <name>&#x8def;&#x724c;id&#x67e5;&#x8be2;</name>
  1260 + <type>DBLookup</type>
  1261 + <description/>
  1262 + <distribute>Y</distribute>
  1263 + <custom_distribution/>
  1264 + <copies>1</copies>
  1265 + <partitioning>
  1266 + <method>none</method>
  1267 + <schema_name/>
  1268 + </partitioning>
  1269 + <connection>bus_control_variable</connection>
  1270 + <cache>N</cache>
  1271 + <cache_load_all>Y</cache_load_all>
  1272 + <cache_size>0</cache_size>
  1273 + <lookup>
  1274 + <schema/>
  1275 + <table>bsth_c_s_gbi</table>
  1276 + <orderby/>
  1277 + <fail_on_multiple>N</fail_on_multiple>
  1278 + <eat_row_on_failure>N</eat_row_on_failure>
  1279 + <key>
  1280 + <name>xlid</name>
  1281 + <field>xl</field>
  1282 + <condition>&#x3d;</condition>
  1283 + <name2/>
  1284 + </key>
  1285 + <key>
  1286 + <name>lpname</name>
  1287 + <field>lp_name</field>
  1288 + <condition>&#x3d;</condition>
  1289 + <name2/>
  1290 + </key>
  1291 + <key>
  1292 + <name>isCancel</name>
  1293 + <field>is_cancel</field>
  1294 + <condition>&#x3d;</condition>
  1295 + <name2/>
  1296 + </key>
  1297 + <value>
  1298 + <name>id</name>
  1299 + <rename>lpid</rename>
  1300 + <default/>
  1301 + <type>Integer</type>
  1302 + </value>
  1303 + </lookup>
  1304 + <cluster_schema/>
  1305 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1306 + <xloc>516</xloc>
  1307 + <yloc>21</yloc>
  1308 + <draw>Y</draw>
  1309 + </GUI>
  1310 + </step>
  1311 +
  1312 + <step>
  1313 + <name>&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</name>
  1314 + <type>DBJoin</type>
  1315 + <description/>
  1316 + <distribute>Y</distribute>
  1317 + <custom_distribution/>
  1318 + <copies>1</copies>
  1319 + <partitioning>
  1320 + <method>none</method>
  1321 + <schema_name/>
  1322 + </partitioning>
  1323 + <connection>bus_control_variable</connection>
  1324 + <rowlimit>1</rowlimit>
  1325 + <sql>select t1.id as cid from bsth_c_s_ccinfo t1 left join bsth_c_cars t2 on t1.cl &#x3d; t2.id&#xa;where t1.xl &#x3d; &#x3f; and t2.inside_code &#x3d; &#x3f; and t1.is_cancel &#x3d; &#x3f;</sql>
  1326 + <outer_join>Y</outer_join>
  1327 + <replace_vars>N</replace_vars>
  1328 + <parameter>
  1329 + <field>
  1330 + <name>xlid</name>
  1331 + <type>Integer</type>
  1332 + </field>
  1333 + <field>
  1334 + <name>&#x5185;&#x90e8;&#x7f16;&#x7801;</name>
  1335 + <type>String</type>
  1336 + </field>
  1337 + <field>
  1338 + <name>isCancel</name>
  1339 + <type>Integer</type>
  1340 + </field>
  1341 + </parameter>
  1342 + <cluster_schema/>
  1343 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1344 + <xloc>360</xloc>
  1345 + <yloc>184</yloc>
  1346 + <draw>Y</draw>
  1347 + </GUI>
  1348 + </step>
  1349 +
  1350 + <step>
  1351 + <name>&#x8fc7;&#x6ee4;&#x4eba;&#x5458;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>
  1352 + <type>FilterRows</type>
  1353 + <description/>
  1354 + <distribute>Y</distribute>
  1355 + <custom_distribution/>
  1356 + <copies>1</copies>
  1357 + <partitioning>
  1358 + <method>none</method>
  1359 + <schema_name/>
  1360 + </partitioning>
  1361 +<send_true_to/>
  1362 +<send_false_to/>
  1363 + <compare>
  1364 +<condition>
  1365 + <negated>N</negated>
  1366 + <conditions>
  1367 + <condition>
  1368 + <negated>N</negated>
  1369 + <leftvalue>rycid1</leftvalue>
  1370 + <function>IS NOT NULL</function>
  1371 + <rightvalue/>
  1372 + </condition>
  1373 + <condition>
  1374 + <negated>N</negated>
  1375 + <operator>OR</operator>
  1376 + <leftvalue>rycid2</leftvalue>
  1377 + <function>IS NOT NULL</function>
  1378 + <rightvalue/>
  1379 + </condition>
  1380 + </conditions>
  1381 + </condition>
  1382 + </compare>
  1383 + <cluster_schema/>
  1384 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1385 + <xloc>776</xloc>
  1386 + <yloc>204</yloc>
  1387 + <draw>Y</draw>
  1388 + </GUI>
  1389 + </step>
  1390 +
  1391 + <step>
  1392 + <name>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>
  1393 + <type>FilterRows</type>
  1394 + <description/>
  1395 + <distribute>Y</distribute>
  1396 + <custom_distribution/>
  1397 + <copies>1</copies>
  1398 + <partitioning>
  1399 + <method>none</method>
  1400 + <schema_name/>
  1401 + </partitioning>
  1402 +<send_true_to>&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x67e5;&#x8be2;</send_true_to>
  1403 +<send_false_to/>
  1404 + <compare>
  1405 +<condition>
  1406 + <negated>N</negated>
  1407 + <leftvalue>xlid</leftvalue>
  1408 + <function>IS NOT NULL</function>
  1409 + <rightvalue/>
  1410 + </condition>
  1411 + </compare>
  1412 + <cluster_schema/>
  1413 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1414 + <xloc>203</xloc>
  1415 + <yloc>110</yloc>
  1416 + <draw>Y</draw>
  1417 + </GUI>
  1418 + </step>
  1419 +
  1420 + <step>
  1421 + <name>&#x8fc7;&#x6ee4;&#x8def;&#x724c;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>
  1422 + <type>FilterRows</type>
  1423 + <description/>
  1424 + <distribute>Y</distribute>
  1425 + <custom_distribution/>
  1426 + <copies>1</copies>
  1427 + <partitioning>
  1428 + <method>none</method>
  1429 + <schema_name/>
  1430 + </partitioning>
  1431 +<send_true_to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</send_true_to>
  1432 +<send_false_to/>
  1433 + <compare>
  1434 +<condition>
  1435 + <negated>N</negated>
  1436 + <leftvalue>lpid</leftvalue>
  1437 + <function>IS NOT NULL</function>
  1438 + <rightvalue/>
  1439 + </condition>
  1440 + </compare>
  1441 + <cluster_schema/>
  1442 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1443 + <xloc>653</xloc>
  1444 + <yloc>23</yloc>
  1445 + <draw>Y</draw>
  1446 + </GUI>
  1447 + </step>
  1448 +
  1449 + <step>
  1450 + <name>&#x8fc7;&#x6ee4;&#x8f66;&#x8f86;&#x914d;&#x7f6e;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>
  1451 + <type>FilterRows</type>
  1452 + <description/>
  1453 + <distribute>Y</distribute>
  1454 + <custom_distribution/>
  1455 + <copies>1</copies>
  1456 + <partitioning>
  1457 + <method>none</method>
  1458 + <schema_name/>
  1459 + </partitioning>
  1460 +<send_true_to>&#x62c6;&#x5206;&#x8def;&#x724c;&#x8303;&#x56f4;</send_true_to>
  1461 +<send_false_to/>
  1462 + <compare>
  1463 +<condition>
  1464 + <negated>N</negated>
  1465 + <leftvalue>cid</leftvalue>
  1466 + <function>IS NOT NULL</function>
  1467 + <rightvalue/>
  1468 + </condition>
  1469 + </compare>
  1470 + <cluster_schema/>
  1471 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1472 + <xloc>208</xloc>
  1473 + <yloc>182</yloc>
  1474 + <draw>Y</draw>
  1475 + </GUI>
  1476 + </step>
  1477 +
  1478 + <step>
  1479 + <name>&#x9519;&#x8bef;&#x8f93;&#x51fa; 2</name>
  1480 + <type>ExcelOutput</type>
  1481 + <description/>
  1482 + <distribute>Y</distribute>
  1483 + <custom_distribution/>
  1484 + <copies>1</copies>
  1485 + <partitioning>
  1486 + <method>none</method>
  1487 + <schema_name/>
  1488 + </partitioning>
  1489 + <header>Y</header>
  1490 + <footer>N</footer>
  1491 + <encoding>UTF-8</encoding>
  1492 + <append>N</append>
  1493 + <add_to_result_filenames>Y</add_to_result_filenames>
  1494 + <file>
  1495 + <name>&#x24;&#x7b;erroroutputdir&#x7d;&#x2f;&#x6392;&#x7248;&#x89c4;&#x5219;&#x4fe1;&#x606f;&#x5bfc;&#x5165;_&#x9519;&#x8bef;</name>
  1496 + <extention>xls</extention>
  1497 + <do_not_open_newfile_init>N</do_not_open_newfile_init>
  1498 + <create_parent_folder>N</create_parent_folder>
  1499 + <split>N</split>
  1500 + <add_date>N</add_date>
  1501 + <add_time>N</add_time>
  1502 + <SpecifyFormat>N</SpecifyFormat>
  1503 + <date_time_format/>
  1504 + <sheetname>Sheet1</sheetname>
  1505 + <autosizecolums>N</autosizecolums>
  1506 + <nullisblank>N</nullisblank>
  1507 + <protect_sheet>N</protect_sheet>
  1508 + <password>Encrypted </password>
  1509 + <splitevery>0</splitevery>
  1510 + <usetempfiles>N</usetempfiles>
  1511 + <tempdirectory/>
  1512 + </file>
  1513 + <template>
  1514 + <enabled>N</enabled>
  1515 + <append>N</append>
  1516 + <filename>template.xls</filename>
  1517 + </template>
  1518 + <fields>
  1519 + <field>
  1520 + <name>xlid</name>
  1521 + <type>Integer</type>
  1522 + <format/>
  1523 + </field>
  1524 + <field>
  1525 + <name>cid</name>
  1526 + <type>Integer</type>
  1527 + <format/>
  1528 + </field>
  1529 + <field>
  1530 + <name>lpnames</name>
  1531 + <type>String</type>
  1532 + <format/>
  1533 + </field>
  1534 + <field>
  1535 + <name>lpids</name>
  1536 + <type>String</type>
  1537 + <format/>
  1538 + </field>
  1539 + <field>
  1540 + <name>&#x8d77;&#x59cb;&#x8def;&#x724c;</name>
  1541 + <type>String</type>
  1542 + <format/>
  1543 + </field>
  1544 + <field>
  1545 + <name>&#x8d77;&#x59cb;&#x4eba;&#x5458;</name>
  1546 + <type>String</type>
  1547 + <format/>
  1548 + </field>
  1549 + <field>
  1550 + <name>&#x4eba;&#x5458;&#x8303;&#x56f4;</name>
  1551 + <type>String</type>
  1552 + <format/>
  1553 + </field>
  1554 + <field>
  1555 + <name>&#x542f;&#x7528;&#x65e5;&#x671f;</name>
  1556 + <type>Timestamp</type>
  1557 + <format/>
  1558 + </field>
  1559 + <field>
  1560 + <name>&#x7ffb;&#x73ed;&#x683c;&#x5f0f;</name>
  1561 + <type>String</type>
  1562 + <format/>
  1563 + </field>
  1564 + <field>
  1565 + <name>isCancel</name>
  1566 + <type>Integer</type>
  1567 + <format/>
  1568 + </field>
  1569 + <field>
  1570 + <name>rycids</name>
  1571 + <type>String</type>
  1572 + <format/>
  1573 + </field>
  1574 + <field>
  1575 + <name>rybms</name>
  1576 + <type>String</type>
  1577 + <format/>
  1578 + </field>
  1579 + <field>
  1580 + <name>error_count</name>
  1581 + <type>Integer</type>
  1582 + <format/>
  1583 + </field>
  1584 + <field>
  1585 + <name>error_desc</name>
  1586 + <type>String</type>
  1587 + <format/>
  1588 + </field>
  1589 + <field>
  1590 + <name>error_column1</name>
  1591 + <type>String</type>
  1592 + <format/>
  1593 + </field>
  1594 + <field>
  1595 + <name>error_column2</name>
  1596 + <type>String</type>
  1597 + <format/>
  1598 + </field>
  1599 + </fields>
  1600 + <custom>
  1601 + <header_font_name>arial</header_font_name>
  1602 + <header_font_size>10</header_font_size>
  1603 + <header_font_bold>N</header_font_bold>
  1604 + <header_font_italic>N</header_font_italic>
  1605 + <header_font_underline>no</header_font_underline>
  1606 + <header_font_orientation>horizontal</header_font_orientation>
  1607 + <header_font_color>black</header_font_color>
  1608 + <header_background_color>none</header_background_color>
  1609 + <header_row_height>255</header_row_height>
  1610 + <header_alignment>left</header_alignment>
  1611 + <header_image/>
  1612 + <row_font_name>arial</row_font_name>
  1613 + <row_font_size>10</row_font_size>
  1614 + <row_font_color>black</row_font_color>
  1615 + <row_background_color>none</row_background_color>
  1616 + </custom>
  1617 + <cluster_schema/>
  1618 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  1619 + <xloc>534</xloc>
  1620 + <yloc>392</yloc>
  1621 + <draw>Y</draw>
  1622 + </GUI>
  1623 + </step>
  1624 +
  1625 + <step_error_handling>
  1626 + <error>
  1627 + <source_step>&#x63d2;&#x5165; &#x2f; &#x66f4;&#x65b0;bsth_c_s_sr1_flat</source_step>
  1628 + <target_step>&#x9519;&#x8bef;&#x8f93;&#x51fa; 2</target_step>
  1629 + <is_enabled>Y</is_enabled>
  1630 + <nr_valuename>error_count</nr_valuename>
  1631 + <descriptions_valuename>error_desc</descriptions_valuename>
  1632 + <fields_valuename>error_column1</fields_valuename>
  1633 + <codes_valuename>error_column2</codes_valuename>
  1634 + <max_errors/>
  1635 + <max_pct_errors/>
  1636 + <min_pct_rows/>
  1637 + </error>
  1638 + </step_error_handling>
  1639 + <slave-step-copy-partition-distribution>
  1640 +</slave-step-copy-partition-distribution>
  1641 + <slave_transformation>N</slave_transformation>
  1642 +
  1643 +</transformation>
src/main/resources/static/pages/base/timesmodel/js/base-fun.js
@@ -332,6 +332,8 @@ var BaseFun = function() { @@ -332,6 +332,8 @@ var BaseFun = function() {
332 var rs = new Array(),bxrcgs= new Array(); 332 var rs = new Array(),bxrcgs= new Array();
333 // 遍历已分配好路牌的班型人次数组. 333 // 遍历已分配好路牌的班型人次数组.
334 for(var x = 0 ; x < bxrclist.length; x++) { 334 for(var x = 0 ; x < bxrclist.length; x++) {
  335 + /*if(x>0)
  336 + continue;*/
335 // 定义当前班型人次下的路牌数组. 337 // 定义当前班型人次下的路牌数组.
336 var cla = bxrclist[x].sslp; 338 var cla = bxrclist[x].sslp;
337 var dsdnmb = bxrclist[x].rs/bxrclist[x].fpcls; 339 var dsdnmb = bxrclist[x].rs/bxrclist[x].fpcls;
@@ -339,12 +341,13 @@ var BaseFun = function() { @@ -339,12 +341,13 @@ var BaseFun = function() {
339 var hoursV = bxrclist[x].hoursV*dsdnmb; 341 var hoursV = bxrclist[x].hoursV*dsdnmb;
340 // 遍历路牌 342 // 遍历路牌
341 for(var s = 0 ; s < cla.length; s++) { 343 for(var s = 0 ; s < cla.length; s++) {
  344 + /*if(s>1 || s==0)
  345 + continue;*/
342 //cla[s].lpName = bxrclist[x].type; 346 //cla[s].lpName = bxrclist[x].type;
343 // 获取路牌编号. 347 // 获取路牌编号.
344 var lpNo = cla[s].lpNo; 348 var lpNo = cla[s].lpNo;
345 // 定义路牌下的所有班次. 349 // 定义路牌下的所有班次.
346 var lpbc = new Array(); 350 var lpbc = new Array();
347 - bxrcgs.push({'lpNo':lpNo,'hoursV':hoursV,'type':bxrclist[x].type});  
348 // 遍历班次数. 351 // 遍历班次数.
349 for(var i =0 ; i <jsonArray.length; i++) { 352 for(var i =0 ; i <jsonArray.length; i++) {
350 // 判断当期遍历的班次是否属于当前的路牌. 353 // 判断当期遍历的班次是否属于当前的路牌.
@@ -359,10 +362,20 @@ var BaseFun = function() { @@ -359,10 +362,20 @@ var BaseFun = function() {
359 cara[l].lpName = bxrclist[x].type + '_' + lpNo ; 362 cara[l].lpName = bxrclist[x].type + '_' + lpNo ;
360 } 363 }
361 } 364 }
  365 + var _obj = baseF.getsxAndxxbc(lpbc,dataMap);
  366 + baseF.tcbc(_obj.sxbc,dataMap.smbcsjArr[0].kssj,dataMap.smbcsjArr[0].jssj);// 剔除上行不在时间范围内的班次
  367 + baseF.tcbc(_obj.xxbc,dataMap.smbcsjArr[1].kssj,dataMap.smbcsjArr[1].jssj);// 剔除下行不在时间范围内的班次
  368 + var tcnofwlpbc = _obj.sxbc.concat(_obj.xxbc);
362 // 按照发车序号顺序排序. 369 // 按照发车序号顺序排序.
363 - lpbc.sort(function(a,b){return b.fcno-a.fcno}); 370 + tcnofwlpbc.sort(function(a,b){return b.fcno-a.fcno});
  371 + /*var gsv = 0 ;
  372 + for(var z = 0 ;z < tza.length;z++) {
  373 + gsv = gsv + tza[z].bcsj + tza[z].STOPTIME;
  374 + }*/
  375 + // parseFloat((gsv/60).toFixed(2))
  376 + bxrcgs.push({'lpNo':lpNo,'hoursV':hoursV,'type':bxrclist[x].type});
364 // 调整班次数.也就是说调整工时. 377 // 调整班次数.也就是说调整工时.
365 - rs = rs.concat(baseF.tzlpgs01(lpbc,hoursV,map,dataMap,lpNo,saa,bxrclist[x].type,lpNo,cara.length)); 378 + rs = rs.concat(baseF.tzlpgs01(tcnofwlpbc,hoursV,map,dataMap,lpNo,saa,bxrclist[x].type,lpNo,cara.length));
366 } 379 }
367 } 380 }
368 var jar01 = baseF.tzsmbcsj01( 381 var jar01 = baseF.tzsmbcsj01(
@@ -375,6 +388,26 @@ var BaseFun = function() { @@ -375,6 +388,26 @@ var BaseFun = function() {
375 var jar = baseF.tzsmbcsj01( 388 var jar = baseF.tzsmbcsj01(
376 baseF.setbcsAndfcno(baseF.tzsmbcsj01(baseF.setbcsAndfcno(baseF.tzsztest(cara,jar01,dataMap)),dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj,dataMap)), 389 baseF.setbcsAndfcno(baseF.tzsmbcsj01(baseF.setbcsAndfcno(baseF.tzsztest(cara,jar01,dataMap)),dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj,dataMap)),
377 dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj,dataMap); 390 dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj,dataMap);
  391 + // return {'json':jar,'bxrcgs':bxrcgs};
  392 + for(var r = 0 ; r < bxrcgs.length; r++) {
  393 + var lpNo = bxrcgs[r].lpNo;
  394 + var gsv = 0 , bczs = 0;
  395 + for(var g = 0 ; g< jar.length; g++) {
  396 + if(jar[g].lpNo == lpNo) {
  397 + gsv = gsv + jar[g].bcsj + jar[g].STOPTIME;
  398 + bczs++;
  399 + }
  400 + }
  401 + bxrcgs[r].sjgsV = gsv;
  402 + bxrcgs[r].bczs = bczs;
  403 + }
  404 + var jar3 = baseF.dqbcsAndgs(bxrcgs,jar,dataMap,cara.length);
  405 + // return {'json':jar3,'bxrcgs':bxrcgs};
  406 + /*var jar4 = baseF.tzsmbcsj01(
  407 + baseF.setbcsAndfcno(baseF.tzsmbcsj01(baseF.setbcsAndfcno(baseF.tzsztest(cara,jar3,dataMap)),dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj,dataMap)),
  408 + dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj,dataMap);*/
  409 + var rsjar = baseF.tzsztest(cara,jar3,dataMap);
  410 + return {'json':rsjar,'bxrcgs':bxrcgs};
378 var resultJA = new Array(); 411 var resultJA = new Array();
379 for(var m = 0 ; m < cara.length; m++) { 412 for(var m = 0 ; m < cara.length; m++) {
380 // 获取路牌编号. 413 // 获取路牌编号.
@@ -382,11 +415,11 @@ var BaseFun = function() { @@ -382,11 +415,11 @@ var BaseFun = function() {
382 // 定义路牌下的所有班次. 415 // 定义路牌下的所有班次.
383 var lpbc_ = new Array(); 416 var lpbc_ = new Array();
384 // 遍历班次数. 417 // 遍历班次数.
385 - for(var x =0 ; x <jar.length; x++) { 418 + for(var x =0 ; x <rsjar.length; x++) {
386 // 判断当期遍历的班次是否属于当前的路牌. 419 // 判断当期遍历的班次是否属于当前的路牌.
387 - if(jar[x].lpNo == lpNo_) {  
388 - delete jar[x].fcint;  
389 - lpbc_.push(jar[x]); 420 + if(rsjar[x].lpNo == lpNo_) {
  421 + delete rsjar[x].fcint;
  422 + lpbc_.push(rsjar[x]);
390 } 423 }
391 } 424 }
392 // 按照发车序号顺序排序. 425 // 按照发车序号顺序排序.
@@ -396,6 +429,222 @@ var BaseFun = function() { @@ -396,6 +429,222 @@ var BaseFun = function() {
396 return {'json':resultJA,'bxrcgs':bxrcgs}; 429 return {'json':resultJA,'bxrcgs':bxrcgs};
397 }, 430 },
398 431
  432 + dqbcsAndgs : function(bxrcgs,jar,dataMap,cla) {
  433 + var bxA = new Array(),rsA = new Array();
  434 + for(var b = 0 ;b <bxrcgs.length; b++) {
  435 + if(bxA.indexOf(bxrcgs[b].type)<0)
  436 + bxA.push(bxrcgs[b].type);
  437 + }
  438 + var maxXxsjA = [parseInt(dataMap.map.upTravelTime),parseInt(dataMap.map.downTravelTime)];
  439 + var v1 = Math.max.apply(null, maxXxsjA) *1.5;
  440 + for(var a = 0 ;a < bxA.length;a++) {
  441 + var type = bxA[a],bxszA = new Array();
  442 + for(var s = 0 ; s < bxrcgs.length; s++) {
  443 + if(type == bxrcgs[s].type)
  444 + bxszA.push({'szgs':bxrcgs[s].sjgsV,'szbc' : bxrcgs[s].bczs, 'lpNo':bxrcgs[s].lpNo,'type' :bxrcgs[s].type});
  445 + }
  446 + var lpA = new Array();
  447 + if(bxszA.length>1) {
  448 + /*bxszA.sort(function(c,d){return ((c.szbc - d.szbc) && (c.szgs - d.szgs))});*/
  449 + bxszA.sort(function(c,d){return d.szgs - c.szgs});
  450 + for(var t = 0 ;t < bxszA.length;t++) {
  451 + var lpN_ = bxszA[t].lpNo;
  452 + /*if(lpN_==bxszA[0].lpNo)
  453 + continue;*/
  454 + var dx = bxszA[t].szbc - bxszA[0].szbc;
  455 + var type_ = bxszA[t].type;
  456 + lpA = baseF.getlpbcA(lpN_,jar);
  457 + lpA.sort(function(x,y){return y.fcno - x.fcno});
  458 + var tempTag = false;
  459 + var isyddygbc = !baseF.issmbcsjArr(lpA[lpA.length-1].fcsj,dataMap.smbcsjArr);
  460 + var isydzhygbc = !baseF.issmbcsjArr(lpA[0].fcsj,dataMap.smbcsjArr);
  461 + if(dx>0) {
  462 + for(var j = 0 ; j < dx ; j++) {
  463 + for(var k = 0 ; k<lpA.length;k++) {
  464 + // 得到当前路牌下的发车时间.
  465 + var dqbcfcsj = baseF.getDateTime(lpA[k].fcsj);
  466 + // 判断时间范围.
  467 + if(dataMap.zgfsjd[0].ed < dqbcfcsj && dqbcfcsj < dataMap.wgfsjd[0].st) {
  468 + lpA.splice(k,1);
  469 + break;
  470 + }
  471 + }
  472 + }
  473 + tempTag = true;
  474 + }else if(bxszA[t].szgs < bxszA[0].szgs) {
  475 + var gsdx = bxszA[0].szgs - bxszA[t].szgs;
  476 + // console.log(gsdx + '---' + lpN_);
  477 + if(gsdx<=v1) {
  478 + if(isyddygbc && isydzhygbc) {
  479 + var dygbcydx = 0,zhygbcydx = 0;
  480 + if(gsdx%2==0) {
  481 + dygbcydx = gsdx/2;
  482 + zhygbcydx = dygbcydx;
  483 + }else {
  484 + dygbcydx = gsdx%2;
  485 + zhygbcydx = gsdx - dygbcydx;
  486 + }
  487 + baseF.dygbcUpd(lpA[lpA.length-1],dygbcydx);
  488 + baseF.zhygbcUpd(lpA[0],lpA[1],zhygbcydx);
  489 + }else if(isyddygbc) {
  490 + baseF.dygbcUpd(lpA[lpA.length-1],gsdx);
  491 + }else if(isydzhygbc) {
  492 + baseF.zhygbcUpd(lpA[0],lpA[1],gsdx);
  493 + }
  494 + }else {
  495 + var isZerInt = baseF.istzsjZero(lpA,dataMap);
  496 + var vag = 0,avgdx = 0;
  497 + if(gsdx % isZerInt==0) {
  498 + vag = gsdx / isZerInt;
  499 + }else {
  500 + vag = parseInt(gsdx / isZerInt);
  501 + avgdx = gsdx - vag*isZerInt;
  502 + if(isyddygbc && isydzhygbc) {
  503 + var dygbcydx = 0,zhygbcydx = 0;
  504 + if(avgdx%2==0) {
  505 + dygbcydx = avgdx/2;
  506 + zhygbcydx = dygbcydx;
  507 + }else {
  508 + dygbcydx = avgdx%2;
  509 + zhygbcydx = avgdx - dygbcydx;
  510 + }
  511 + baseF.dygbcUpd(lpA[lpA.length-1],dygbcydx);
  512 + baseF.zhygbcUpd(lpA[0],lpA[1],zhygbcydx);
  513 + }else if(isyddygbc) {
  514 + baseF.dygbcUpd(lpA[lpA.length-1],avgdx);
  515 + }else if(isydzhygbc) {
  516 + baseF.zhygbcUpd(lpA[0],lpA[1],avgdx);
  517 + }
  518 + }
  519 + var qbbfbc = new Array();
  520 + for(var v = 1 ; v < lpA.length;v++) {
  521 + var ddsj = baseF.getDateTime(lpA[v-1].fcsj);
  522 + if(baseF.getDateTime("13:00") <= baseF.getDateTime(lpA[v].fcsj)) {
  523 + if(lpA[v].STOPTIME > 0 && !baseF.issmbcsjArr(lpA[v].fcsj,dataMap.smbcsjArr) ) {
  524 + lpA[v].STOPTIME = lpA[v].STOPTIME + vag;
  525 + ddsj.setMinutes(ddsj.getMinutes() - lpA[v].STOPTIME);
  526 + lpA[v].ARRIVALTIME = baseF.getTimeStr(ddsj);
  527 + ddsj.setMinutes(ddsj.getMinutes() - lpA[v].bcsj);
  528 + lpA[v].fcsj = baseF.getTimeStr(ddsj);
  529 +
  530 + }
  531 + }else {
  532 + if(!baseF.issmbcsjArr(lpA[v].fcsj,dataMap.smbcsjArr)) {
  533 + qbbfbc.push(lpA[v]);
  534 + }
  535 + }
  536 + }
  537 + qbbfbc.sort(function(x,y){return x.fcno - y.fcno});
  538 + for(var q = 0 ; q < qbbfbc.length; q++) {
  539 + if(q<(qbbfbc.length-1))
  540 + qbbfbc[q].STOPTIME = qbbfbc[q].STOPTIME + vag;
  541 + if(q==0)
  542 + continue;
  543 + else {
  544 + var ddsj_ = baseF.getDateTime(qbbfbc[q-1].ARRIVALTIME);
  545 + ddsj_.setMinutes(ddsj_.getMinutes() + qbbfbc[q-1].STOPTIME);
  546 + qbbfbc[q].fcsj = baseF.getTimeStr(ddsj_);
  547 + ddsj_.setMinutes(ddsj_.getMinutes() + qbbfbc[q].bcsj);
  548 + qbbfbc[q].ARRIVALTIME = baseF.getTimeStr(ddsj_);
  549 + }
  550 + }
  551 + }
  552 + }
  553 + var start = baseF.getDateTime(lpA[0].ARRIVALTIME);
  554 + var end = baseF.getDateTime(lpA[lpA.length-1].fcsj);
  555 + var hourdx = start.getHours() - end.getHours();
  556 + var minuedx = hourdx* 60 + (start.getMinutes() - end.getMinutes()) + lpA[0].STOPTIME;
  557 + var dx = 0;
  558 + /*if(minuedx > bxszA[0].szgs && tempTag) {
  559 + dx = minuedx - bxszA[0].szgs;
  560 + console.log(dx);
  561 + }else */
  562 + if(minuedx < bxszA[0].szgs && tempTag) {
  563 + dx = bxszA[0].szgs - minuedx;
  564 + if(dx > v1 && isyddygbc && isydzhygbc) {
  565 + var dygbcydx = 0,zhygbcydx = 0;
  566 + if(dx%2==0) {
  567 + dygbcydx = dx/2;
  568 + zhygbcydx = dygbcydx;
  569 + }else {
  570 + dygbcydx = dx%2;
  571 + zhygbcydx = dx - dygbcydx;
  572 + }
  573 + baseF.dygbcUpd(lpA[lpA.length-1],dygbcydx);
  574 + baseF.zhygbcUpd(lpA[0],lpA[1],zhygbcydx);
  575 + }else {
  576 + if(isyddygbc && isydzhygbc) {
  577 + var dygbcydx = 0,zhygbcydx = 0;
  578 + if(dx%2==0) {
  579 + dygbcydx = dx/2;
  580 + zhygbcydx = dygbcydx;
  581 + }else {
  582 + dygbcydx = dx%2;
  583 + zhygbcydx = dx - dygbcydx;
  584 + }
  585 + baseF.dygbcUpd(lpA[lpA.length-1],dygbcydx);
  586 + baseF.zhygbcUpd(lpA[0],lpA[1],zhygbcydx);
  587 + }else if(isyddygbc) {
  588 + baseF.dygbcUpd(lpA[lpA.length-1],dx);
  589 + }else if(isydzhygbc) {
  590 + baseF.zhygbcUpd(lpA[0],lpA[1],dx);
  591 + }
  592 + }
  593 + }
  594 + rsA = rsA.concat(lpA);
  595 + }
  596 +
  597 + }else {
  598 + rsA = rsA.concat(baseF.getlpbcA(bxszA[0].lpNo,jar));
  599 + }
  600 + }
  601 + return rsA;
  602 + },
  603 +
  604 + istzsjZero : function(arr,dataMap) {
  605 + var rsint = 0;
  606 + for(var r = 1 ; r<arr.length;r++) {
  607 + if(arr[r].STOPTIME>0 && !baseF.issmbcsjArr(arr[r].fcsj,dataMap.smbcsjArr)) {
  608 + rsint++;
  609 + }
  610 + }
  611 + return rsint;
  612 + },
  613 +
  614 + dygbcUpd : function(obj,dx) {
  615 + obj.STOPTIME = obj.STOPTIME + dx;
  616 + var dygbcfcsj = baseF.getDateTime(obj.fcsj);
  617 + dygbcfcsj.setMinutes(dygbcfcsj.getMinutes() - dx);
  618 + obj.fcsj = baseF.getTimeStr(dygbcfcsj);
  619 + },
  620 +
  621 + zhygbcUpd: function(obj,xgOjb,dx) {
  622 + xgOjb.STOPTIME = xgOjb.STOPTIME + dx;
  623 + var zhygbcydx = baseF.getDateTime(obj.fcsj);
  624 + zhygbcydx.setMinutes(zhygbcydx.getMinutes() + dx);
  625 + obj.fcsj = baseF.getTimeStr(zhygbcydx);
  626 + zhygbcydx.setMinutes(zhygbcydx.getMinutes() + obj.bcsj);
  627 + obj.ARRIVALTIME = baseF.getTimeStr(zhygbcydx);
  628 + },
  629 +
  630 + issmbcsjArr : function(str,arr) {
  631 + var tag = false;
  632 + for(var a = 0 ;a < arr.length;a++) {
  633 + if(str == arr[a].kssj || str == arr[a].jssj)
  634 + tag = true;
  635 + }
  636 + return tag;
  637 + },
  638 +
  639 + getlpbcA : function(lpN_,jar) {
  640 + var lpA = new Array();
  641 + for(var p = 0 ; p < jar.length; p++ ) {
  642 + if(jar[p].lpNo == lpN_)
  643 + lpA.push(jar[p]);
  644 + }
  645 + return lpA;
  646 + },
  647 +
399 tzsztest : function(cara,tempa,dataMap) { 648 tzsztest : function(cara,tempa,dataMap) {
400 var jsrs = new Array(); 649 var jsrs = new Array();
401 for(var t = 0 ; t < cara.length; t++) { 650 for(var t = 0 ; t < cara.length; t++) {
@@ -445,22 +694,32 @@ var BaseFun = function() { @@ -445,22 +694,32 @@ var BaseFun = function() {
445 }, 694 },
446 695
447 tztzsjInit01 : function(ar,dataMap) { 696 tztzsjInit01 : function(ar,dataMap) {
  697 + var maxXxsjA = [parseInt(dataMap.map.upTravelTime),parseInt(dataMap.map.downTravelTime)];
  698 + var v1 = Math.max.apply(null, maxXxsjA) *1.5;
448 for(var r = 0 ; r< ar.length-1;r++) { 699 for(var r = 0 ; r< ar.length-1;r++) {
449 var sgbcfcsj = baseF.getDateTime(ar[r+1].fcsj),dqbcddsj = baseF.getDateTime(ar[r].ARRIVALTIME); 700 var sgbcfcsj = baseF.getDateTime(ar[r+1].fcsj),dqbcddsj = baseF.getDateTime(ar[r].ARRIVALTIME);
450 var dxmin = parseInt( (sgbcfcsj - dqbcddsj)/60000); 701 var dxmin = parseInt( (sgbcfcsj - dqbcddsj)/60000);
451 if(dxmin<0 || ar[r].STOPTIME<0) { 702 if(dxmin<0 || ar[r].STOPTIME<0) {
452 var cctag = baseF.dirDmToIndex(ar[r].xlDir); 703 var cctag = baseF.dirDmToIndex(ar[r].xlDir);
453 dxmin = ar[r].bcType == dataMap.bcTypeArr.cf ? 0 : baseF.isgfsjd01(baseF.getDateTime(ar[r].fcsj),dataMap) ? dataMap.gftzsj[cctag] : dataMap.dgtzsj[cctag]; 704 dxmin = ar[r].bcType == dataMap.bcTypeArr.cf ? 0 : baseF.isgfsjd01(baseF.getDateTime(ar[r].fcsj),dataMap) ? dataMap.gftzsj[cctag] : dataMap.dgtzsj[cctag];
454 - dqbcddsj.setMinutes(dqbcddsj.getMinutes() + dxmin); 705 + /*dqbcddsj.setMinutes(dqbcddsj.getMinutes() + dxmin);
455 ar[r+1].fcsj = baseF.getTimeStr(dqbcddsj); 706 ar[r+1].fcsj = baseF.getTimeStr(dqbcddsj);
456 dqbcddsj.setMinutes(dqbcddsj.getMinutes() + ar[r+1].bcsj); 707 dqbcddsj.setMinutes(dqbcddsj.getMinutes() + ar[r+1].bcsj);
457 - ar[r+1].ARRIVALTIME = baseF.getTimeStr(dqbcddsj); 708 + ar[r+1].ARRIVALTIME = baseF.getTimeStr(dqbcddsj);*/
458 /*sgbcfcsj.setMinutes(sgbcfcsj.getMinutes() - dxmin); 709 /*sgbcfcsj.setMinutes(sgbcfcsj.getMinutes() - dxmin);
459 ar[r].ARRIVALTIME = baseF.getTimeStr(sgbcfcsj); 710 ar[r].ARRIVALTIME = baseF.getTimeStr(sgbcfcsj);
460 sgbcfcsj.setMinutes(sgbcfcsj.getMinutes() - ar[r].bcsj); 711 sgbcfcsj.setMinutes(sgbcfcsj.getMinutes() - ar[r].bcsj);
461 ar[r].fcsj = baseF.getTimeStr(sgbcfcsj);*/ 712 ar[r].fcsj = baseF.getTimeStr(sgbcfcsj);*/
  713 + }else if(dxmin >= v1 && dxmin < 180) {
  714 + dxmin = v1;
  715 + }
  716 + if(ar[r].STOPTIME >0) {
  717 + dqbcddsj.setMinutes(dqbcddsj.getMinutes() + dxmin);
  718 + ar[r+1].fcsj = baseF.getTimeStr(dqbcddsj);
  719 + dqbcddsj.setMinutes(dqbcddsj.getMinutes() + ar[r+1].bcsj);
  720 + ar[r+1].ARRIVALTIME = baseF.getTimeStr(dqbcddsj);
  721 + ar[r].STOPTIME = dxmin >= 180 ? 0 : parseInt(dxmin);
462 } 722 }
463 - ar[r].STOPTIME = dxmin>180 ? 0 : dxmin;  
464 } 723 }
465 }, 724 },
466 725
@@ -573,64 +832,122 @@ var BaseFun = function() { @@ -573,64 +832,122 @@ var BaseFun = function() {
573 var jczwsj = saa[0].lbsj*2 + dataMap.ccsjArr[baseF.dirDmToIndex(arr[0].xlDir)] + 832 var jczwsj = saa[0].lbsj*2 + dataMap.ccsjArr[baseF.dirDmToIndex(arr[0].xlDir)] +
574 dataMap.jcsjArr[baseF.dirDmToIndex(arr[arr.length-1].xlDir)]; 833 dataMap.jcsjArr[baseF.dirDmToIndex(arr[arr.length-1].xlDir)];
575 // 定义路牌总工时.第一次切高峰之间和晚高峰之后的班次. 834 // 定义路牌总工时.第一次切高峰之间和晚高峰之后的班次.
576 - var lpdqzgs = parseFloat(((baseF.getlpzgs(arr) + jczwsj)/60).toFixed(2));  
577 - while(lpdqzgs>gs) {  
578 - for(var t = 0 ; t<arr.length;t++) {  
579 - // 得到当前路牌下的发车时间.  
580 - var dqbcfcsj = baseF.getDateTime(arr[t].fcsj);  
581 - // 判断时间范围.  
582 - if(!baseF.issplice(dqbcfcsj,dataMap,type,lpNo,cla)) {  
583 - arr.splice(t,1);  
584 - break; 835 + var lpdqzgs = parseFloat(((baseF.getlpzgs(arr) + jczwsj)/60).toFixed(2)),tagboolean = true;
  836 + while(tagboolean) {
  837 + if(lpdqzgs>gs) {
  838 + var temp = true ;
  839 + for(var t = 0 ; t<arr.length;t++) {
  840 + // 得到当前路牌下的发车时间.
  841 + var dqbcfcsj = baseF.getDateTime(arr[t].fcsj);
  842 + // 判断时间范围.
  843 + if(!baseF.issplice(dqbcfcsj,dataMap,type,lpNo,cla)) {
  844 + arr.splice(t,1);
  845 + temp = false;
  846 + break;
  847 + }
585 } 848 }
  849 + lpdqzgs = parseFloat(((baseF.getlpzgs(arr) + jczwsj)/60).toFixed(2));
  850 + if(temp)
  851 + tagboolean = false;
  852 + }else {
  853 + tagboolean = false;
586 } 854 }
587 - lpdqzgs = parseFloat(((baseF.getlpzgs(arr) + jczwsj)/60).toFixed(2));  
588 } 855 }
  856 + if(arr[0].xlDir == arr[arr.length-1].xlDir) {
  857 + baseF.addbc01(arr,arr[0],dataMap);
  858 + }
  859 + var gfzjst = null
589 for(var c = 0 ; c<arr.length;c++) { 860 for(var c = 0 ; c<arr.length;c++) {
590 var cfsjbc = baseF.getDateTime(arr[c].fcsj); 861 var cfsjbc = baseF.getDateTime(arr[c].fcsj);
591 if(dataMap.gfzjsjd[0].st <= cfsjbc && cfsjbc <= dataMap.gfzjsjd[0].ed && arr[c].bcType == dataMap.bcTypeArr.cf ) 862 if(dataMap.gfzjsjd[0].st <= cfsjbc && cfsjbc <= dataMap.gfzjsjd[0].ed && arr[c].bcType == dataMap.bcTypeArr.cf )
592 gfzjst = baseF.getDateTime(arr[c].ARRIVALTIME); 863 gfzjst = baseF.getDateTime(arr[c].ARRIVALTIME);
593 } 864 }
594 - gfzjst == null ? dataMap.gfzjsjd[0].st : gfzjst; 865 + gfzjst = gfzjst == null ? dataMap.gfzjsjd[0].st : gfzjst;
595 var gfzjbc = new Array(),wgfbc = new Array(),zgfbc = new Array(); 866 var gfzjbc = new Array(),wgfbc = new Array(),zgfbc = new Array();
596 - for(var a = 0 ; a<arr.length;a++) {  
597 - var tmkssj = baseF.getDateTime(arr[a].fcsj) 867 + for(var x = 0 ; x<arr.length;x++) {
  868 + var tmkssj = baseF.getDateTime(arr[x].fcsj)
598 if(gfzjst <= tmkssj && tmkssj <= dataMap.gfzjsjd[0].ed) 869 if(gfzjst <= tmkssj && tmkssj <= dataMap.gfzjsjd[0].ed)
599 - gfzjbc.push(arr[a]); 870 + gfzjbc.push(arr[x]);
600 else if(dataMap.wgfsjd[0].st <= tmkssj && tmkssj <= dataMap.wgfsjd[0].ed) 871 else if(dataMap.wgfsjd[0].st <= tmkssj && tmkssj <= dataMap.wgfsjd[0].ed)
601 - wgfbc.push(arr[a]); 872 + wgfbc.push(arr[x]);
602 else 873 else
603 - zgfbc.push(arr[a]); 874 + zgfbc.push(arr[x]);
604 } 875 }
605 gfzjbc.sort(function(a,b){return a.fcno-b.fcno}); 876 gfzjbc.sort(function(a,b){return a.fcno-b.fcno});
606 wgfbc.sort(function(a,b){return a.fcno-b.fcno}); 877 wgfbc.sort(function(a,b){return a.fcno-b.fcno});
607 - if(gfzjbc[gfzjbc.length-1].xlDir == wgfbc[0].xlDir)  
608 - gfzjbc.splice(gfzjbc.length-1,1);  
609 - if(type!='五工二休') {  
610 - var gfzjst = null;  
611 - var dxmin = parseInt((baseF.getDateTime(wgfbc[0].fcsj) - baseF.getDateTime(gfzjbc[gfzjbc.length-1].ARRIVALTIME))/60000);  
612 - var addmin = parseInt(dxmin/gfzjbc.length);  
613 - for(var g = 0 ;g < gfzjbc.length;g++) {  
614 - if(gfzjbc[g].bcType != dataMap.bcTypeArr.cf)  
615 - gfzjbc[g].STOPTIME = gfzjbc[g].STOPTIME + addmin;  
616 - if(g==0) {  
617 - continue;  
618 - }else {  
619 - var tempd = baseF.getDateTime(gfzjbc[g-1].ARRIVALTIME);  
620 - tempd.setMinutes(tempd.getMinutes() + gfzjbc[g-1].STOPTIME);  
621 - gfzjbc[g].fcsj = baseF.getTimeStr(tempd);  
622 - tempd.setMinutes(tempd.getMinutes() + gfzjbc[g].bcsj);  
623 - gfzjbc[g].ARRIVALTIME = baseF.getTimeStr(tempd); 878 + if(gfzjbc.length>0 && wgfbc.length>0) {
  879 + if(gfzjbc[gfzjbc.length-1].xlDir == wgfbc[0].xlDir && dataMap.map.linePlayType == "0"){
  880 + // addbc
  881 + baseF.addbc01(gfzjbc,gfzjbc[gfzjbc.length-1],dataMap);
  882 + }
  883 + if(type!='五工二休') {
  884 + var dxmin = parseInt((baseF.getDateTime(wgfbc[0].fcsj) - baseF.getDateTime(gfzjbc[gfzjbc.length-1].ARRIVALTIME))/60000);
  885 + var addmin = parseInt(dxmin/gfzjbc.length);
  886 + var rsM = baseF.gettzsjbs(gfzjbc,addmin,dataMap);
  887 + if(rsM.tag) {
  888 + for(var g = 0 ;g < gfzjbc.length;g++) {
  889 + if(gfzjbc[g].bcType != dataMap.bcTypeArr.cf)
  890 + gfzjbc[g].STOPTIME = gfzjbc[g].STOPTIME + addmin;
  891 + if(g==0) {
  892 + continue;
  893 + }else {
  894 + var tempd = baseF.getDateTime(gfzjbc[g-1].ARRIVALTIME);
  895 + tempd.setMinutes(tempd.getMinutes() + gfzjbc[g-1].STOPTIME);
  896 + gfzjbc[g].fcsj = baseF.getTimeStr(tempd);
  897 + tempd.setMinutes(tempd.getMinutes() + gfzjbc[g].bcsj);
  898 + gfzjbc[g].ARRIVALTIME = baseF.getTimeStr(tempd);
  899 + }
  900 + }
624 } 901 }
  902 + gfzjbc[gfzjbc.length-1].STOPTIME = parseInt((baseF.getDateTime(wgfbc[0].fcsj) - baseF.getDateTime(gfzjbc[gfzjbc.length-1].ARRIVALTIME))/60000);
625 } 903 }
626 - gfzjbc[gfzjbc.length-1].STOPTIME = parseInt((baseF.getDateTime(wgfbc[0].fcsj) - baseF.getDateTime(gfzjbc[gfzjbc.length-1].ARRIVALTIME))/60000);  
627 } 904 }
628 return gfzjbc.concat(wgfbc).concat(zgfbc); 905 return gfzjbc.concat(wgfbc).concat(zgfbc);
629 }, 906 },
630 907
  908 + addbc01 : function(gfzjbc,lastObj,dataMap) {
  909 + var kssj = new Date(),strArray = lastObj.ARRIVALTIME.split(':');
  910 + kssj.setHours(parseInt(strArray[0]));
  911 + kssj.setMinutes(parseInt(strArray[1]) + lastObj.STOPTIME);
  912 + var cctag = baseF.dirDmToIndex(lastObj.xlDir);
  913 + cctag = baseF.getfx(1,cctag);
  914 + var tzsj = baseF.isgfsjd01(kssj,dataMap) ? dataMap.gftzsj[cctag] : dataMap.dgtzsj[cctag];
  915 + var _xxsj = baseF.getxssj(dataMap.zgfsjd,dataMap.wgfsjd,kssj,dataMap.pcxssjArr,dataMap.gfxxsjArr,cctag);// 获取行驶时间
  916 + // 定义班次序号
  917 + var xhNo = lastObj.fcno+1;
  918 + var carArray = {'lp':lastObj.lp,'lpNo':lastObj.lpNo,'lpName':lastObj.lpName,'lpType':lastObj.lpType};
  919 + var ags = {'tcc_id':lastObj.tcc,'skbName':lastObj.ttinfo,'lineName':lastObj.xl+'_'};
  920 + gfzjbc.push(baseF.getbcObj( kssj,
  921 + _xxsj,
  922 + carArray,
  923 + 'normal',
  924 + dataMap.dira[cctag],
  925 + xhNo++,
  926 + dataMap.pcxslcArr[cctag],
  927 + ags,0,
  928 + dataMap.qdzArr[cctag],
  929 + dataMap.zdzArr[cctag],
  930 + null,tzsj,0));
  931 + },
  932 +
  933 + gettzsjbs : function(array,bs,dataMap) {
  934 + var tag = true,dx = 0;
  935 + var tempA = new Array(),maxXxsjA = [parseInt(dataMap.map.upTravelTime),parseInt(dataMap.map.downTravelTime)];
  936 + for(var r = 0 ; r<array.length;r++) {
  937 + tempA.push(array[r].STOPTIME + bs);
  938 + }
  939 + var v1 = Math.max.apply(null, maxXxsjA) *1.5;
  940 + var v2 = Math.max.apply(null, tempA);
  941 + if( v2 > v1) {
  942 + tag = false;
  943 + dx = parseInt(v2 -v1);
  944 + }
  945 + return {tag:tag,dx:dx};
  946 + },
  947 +
631 issplice : function (kssj,dataMap,type,lpNo,cla){ 948 issplice : function (kssj,dataMap,type,lpNo,cla){
632 var tag = false; 949 var tag = false;
633 - if(type=='五工二休' || lpNo <Math.round(cla/2)) { 950 + if(type=='五工二休' || lpNo <= Math.round(cla/2)) {
634 if((dataMap.zgfsjd[0].st <=kssj && kssj<= dataMap.zgfsjd[0].ed ) || 951 if((dataMap.zgfsjd[0].st <=kssj && kssj<= dataMap.zgfsjd[0].ed ) ||
635 ( dataMap.wgfsjd[0].st <= kssj && kssj <= dataMap.wgfsjd[0].ed)) 952 ( dataMap.wgfsjd[0].st <= kssj && kssj <= dataMap.wgfsjd[0].ed))
636 tag = true; 953 tag = true;
@@ -1152,12 +1469,12 @@ var BaseFun = function() { @@ -1152,12 +1469,12 @@ var BaseFun = function() {
1152 while(kssj<=endTime) { 1469 while(kssj<=endTime) {
1153 cctag = map.linePlayType=='1' ? 0 : baseF.getfx(fxTagDm,cctag); 1470 cctag = map.linePlayType=='1' ? 0 : baseF.getfx(fxTagDm,cctag);
1154 fxTagDm = 1; 1471 fxTagDm = 1;
1155 - var cfdd = baseF.getcfdd(map.cfdd,cctag); 1472 + /*var cfdd = baseF.getcfdd(map.cfdd,cctag);
1156 if(kssj> new Date (baseF.getCFDate(10,30)) && 1473 if(kssj> new Date (baseF.getCFDate(10,30)) &&
1157 kssj<new Date (baseF.getCFDate(11,30)) && $_cfn<1 && cfdd == cctag) { 1474 kssj<new Date (baseF.getCFDate(11,30)) && $_cfn<1 && cfdd == cctag) {
1158 $_cfn++; 1475 $_cfn++;
1159 rs.push(baseF.getbcObj( 1476 rs.push(baseF.getbcObj(
1160 - kssj,dataMap.zwcArr[0],cara[c],dataMap.bcTypeArr.cf, 1477 + kssj,dataMap.zwcAr r[0],cara[c],dataMap.bcTypeArr.cf,
1161 dataMap.dira[cctag],xhNo++,0,map,0,null,null,null,0,0));// 午餐班次 1478 dataMap.dira[cctag],xhNo++,0,map,0,null,null,null,0,0));// 午餐班次
1162 }else if(kssj> new Date (baseF.getCFDate(18,30)) && 1479 }else if(kssj> new Date (baseF.getCFDate(18,30)) &&
1163 kssj<new Date (baseF.getCFDate(19,30)) && $_cfw<1 && cfdd == cctag && 1480 kssj<new Date (baseF.getCFDate(19,30)) && $_cfw<1 && cfdd == cctag &&
@@ -1166,15 +1483,15 @@ var BaseFun = function() { @@ -1166,15 +1483,15 @@ var BaseFun = function() {
1166 rs.push(baseF.getbcObj( 1483 rs.push(baseF.getbcObj(
1167 kssj,dataMap.zwcArr[1],cara[c],dataMap.bcTypeArr.cf, 1484 kssj,dataMap.zwcArr[1],cara[c],dataMap.bcTypeArr.cf,
1168 dataMap.dira[cctag],xhNo++,0,map,0,null,null,null,0,0));// 晚餐班次 1485 dataMap.dira[cctag],xhNo++,0,map,0,null,null,null,0,0));// 晚餐班次
1169 - } 1486 + }*/
1170 var tzsj = baseF.isgfsjd01(kssj,dataMap) ? dataMap.gftzsj[cctag] : dataMap.dgtzsj[cctag]; 1487 var tzsj = baseF.isgfsjd01(kssj,dataMap) ? dataMap.gftzsj[cctag] : dataMap.dgtzsj[cctag];
1171 // var tzsj = dataMap.ztjxA[cctag]; 1488 // var tzsj = dataMap.ztjxA[cctag];
1172 var _xxsj = baseF.getxssj(dataMap.zgfsjd,dataMap.wgfsjd,kssj,dataMap.pcxssjArr,dataMap.gfxxsjArr,cctag);// 获取行驶时间 1489 var _xxsj = baseF.getxssj(dataMap.zgfsjd,dataMap.wgfsjd,kssj,dataMap.pcxssjArr,dataMap.gfxxsjArr,cctag);// 获取行驶时间
1173 - tzsj = baseF.isLastbc(kssj,endTime,tzsj,_xxsj) ? 0 : tzsj; 1490 + var xs_tzsj = baseF.isLastbc(kssj,endTime,tzsj,_xxsj) ? 0 : tzsj;
1174 rs.push(baseF.getbcObj( 1491 rs.push(baseF.getbcObj(
1175 kssj,_xxsj,cara[c],dataMap.bcTypeArr.normal, 1492 kssj,_xxsj,cara[c],dataMap.bcTypeArr.normal,
1176 dataMap.dira[cctag],xhNo++,dataMap.pcxslcArr[cctag],map,0, 1493 dataMap.dira[cctag],xhNo++,dataMap.pcxslcArr[cctag],map,0,
1177 - dataMap.qdzArr[cctag],dataMap.zdzArr[cctag],null,tzsj,0));// 正常班次 1494 + dataMap.qdzArr[cctag],dataMap.zdzArr[cctag],null,xs_tzsj,0));// 正常班次
1178 kssj = new Date(kssj.setMinutes(kssj.getMinutes() + tzsj)); 1495 kssj = new Date(kssj.setMinutes(kssj.getMinutes() + tzsj));
1179 } 1496 }
1180 } 1497 }
@@ -1336,8 +1653,8 @@ var BaseFun = function() { @@ -1336,8 +1653,8 @@ var BaseFun = function() {
1336 var _obj = baseF.getsxAndxxbc(list); 1653 var _obj = baseF.getsxAndxxbc(list);
1337 baseF.tcbc(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj);// 剔除上行不在时间范围内的班次 1654 baseF.tcbc(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj);// 剔除上行不在时间范围内的班次
1338 baseF.tcbc(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj);// 剔除下行不在时间范围内的班次 1655 baseF.tcbc(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj);// 剔除下行不在时间范围内的班次
1339 - baseF.dzsmsj(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj,_obj.xxbc);// 调整上行首末班车时间  
1340 baseF.dzsmsj(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj,_obj.sxbc);// 调整下行首末班车时间 1656 baseF.dzsmsj(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj,_obj.sxbc);// 调整下行首末班车时间
  1657 + baseF.dzsmsj(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj,_obj.xxbc);// 调整上行首末班车时间
1341 baseF.tzqtbc(_obj.sxbc,_obj.qt,sj,cl,zd,lbsj); 1658 baseF.tzqtbc(_obj.sxbc,_obj.qt,sj,cl,zd,lbsj);
1342 baseF.tzqtbc(_obj.xxbc,_obj.qt,sj,cl,zd,lbsj); 1659 baseF.tzqtbc(_obj.xxbc,_obj.qt,sj,cl,zd,lbsj);
1343 return _obj.sxbc.concat(_obj.xxbc).concat(_obj.qt); 1660 return _obj.sxbc.concat(_obj.xxbc).concat(_obj.qt);
@@ -1353,8 +1670,14 @@ var BaseFun = function() { @@ -1353,8 +1670,14 @@ var BaseFun = function() {
1353 var _obj = baseF.getsxAndxxbc(list,dm); 1670 var _obj = baseF.getsxAndxxbc(list,dm);
1354 baseF.tcbc(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj ,_obj.xxbc);// 剔除上行不在时间范围内的班次 1671 baseF.tcbc(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj ,_obj.xxbc);// 剔除上行不在时间范围内的班次
1355 baseF.tcbc(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj,_obj.sxbc);// 剔除下行不在时间范围内的班次 1672 baseF.tcbc(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj,_obj.sxbc);// 剔除下行不在时间范围内的班次
1356 - baseF.dzsmsj(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj,_obj.xxbc);// 调整上行首末班车时间  
1357 - baseF.dzsmsj(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj,_obj.sxbc);// 调整下行首末班车时间 1673 + if(smbcsj[1].jssj < smbcsj[0].jssj ) {
  1674 + baseF.dzsmsj(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj,_obj.sxbc);// 调整下行首末班车时间
  1675 + baseF.dzsmsj(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj,_obj.xxbc);// 调整上行首末班车时间
  1676 + }else {
  1677 + baseF.dzsmsj(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj,_obj.xxbc);// 调整上行首末班车时间
  1678 + baseF.dzsmsj(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj,_obj.sxbc);// 调整下行首末班车时间
  1679 + }
  1680 +
1358 return _obj.sxbc.concat(_obj.xxbc).concat(_obj.qt); 1681 return _obj.sxbc.concat(_obj.xxbc).concat(_obj.qt);
1359 }, 1682 },
1360 tcbc : function(ar,kssj,jssj,ppar) { 1683 tcbc : function(ar,kssj,jssj,ppar) {
src/main/resources/static/pages/base/timesmodel/js/d3.relationshipgraph.js
@@ -947,11 +947,30 @@ var RelationshipGraph = function () { @@ -947,11 +947,30 @@ var RelationshipGraph = function () {
947 key : 'statistics', 947 key : 'statistics',
948 value : function statistics() { 948 value : function statistics() {
949 var $_this = this, 949 var $_this = this,
950 - array = $_this.getSvgyAxisTransformY(),  
951 - gdata = d3.selectAll('rect.data')[0],  
952 - arrayTemp = new Array(),  
953 - minValue = 0,timeNum; 950 + // array = $_this.getSvgyAxisTransformY(),
  951 + array = $_this.configuration.taskTypes,
  952 + tza = $_this.getDataArray();
954 for(var a=0;a<array.length;a++) { 953 for(var a=0;a<array.length;a++) {
  954 + var lpNo = array[a].lpNo;
  955 + var timeNum = 0 ,tempNum = 0;
  956 + for(var z = 0 ;z < tza.length;z++) {
  957 + if(tza[z].lpNo == lpNo) {
  958 + timeNum = timeNum + tza[z].bcsj + tza[z].STOPTIME;
  959 + tempNum ++;
  960 + }
  961 + }
  962 + var className = 'statis_container_' + lpNo;
  963 + var textNodes = $("."+className).children("text");
  964 + var hours = parseInt(timeNum/60);
  965 + var mimus = timeNum%60, zgs = hours + (mimus==0? "": "." + mimus);
  966 + var zgs = parseFloat((timeNum/60).toFixed(2));
  967 + // var zgs = timeNum;
  968 + $(textNodes[0]).text("总工时:" + zgs);
  969 + $(textNodes[1]).text("总班次:"+(tempNum));
  970 + // $_this.pptjbx($("."+className).children("rect")[2],zgs*1,lpNo,$_this);
  971 + }
  972 + /*for(var a=0;a<array.length;a++) {
  973 + debugger;
955 var tempNum = 0,timeNum = 0,lpNo = ''; 974 var tempNum = 0,timeNum = 0,lpNo = '';
956 for(var g = 0 ; g <gdata.length;g++) { 975 for(var g = 0 ; g <gdata.length;g++) {
957 var temp_i = parseInt(d3.select(gdata[g]).attr('y'))-this.configuration.offsetY; 976 var temp_i = parseInt(d3.select(gdata[g]).attr('y'))-this.configuration.offsetY;
@@ -968,13 +987,14 @@ var RelationshipGraph = function () { @@ -968,13 +987,14 @@ var RelationshipGraph = function () {
968 minValue = array[a]; 987 minValue = array[a];
969 var className = 'statis_container_' + array[a]; 988 var className = 'statis_container_' + array[a];
970 var textNodes = $("."+className).children("text"); 989 var textNodes = $("."+className).children("text");
971 - /*var hours = parseInt(timeNum/60);  
972 - var mimus = timeNum%60,zgs = hours + (mimus==0? "": "." + mimus);*/ 990 + var hours = parseInt(timeNum/60);
  991 + var mimus = timeNum%60,zgs = hours + (mimus==0? "": "." + mimus);
973 var zgs = parseFloat((timeNum/60).toFixed(2)); 992 var zgs = parseFloat((timeNum/60).toFixed(2));
  993 + var zgs = timeNum;
974 $(textNodes[0]).text("总工时:" + zgs); 994 $(textNodes[0]).text("总工时:" + zgs);
975 $(textNodes[1]).text("总班次:"+(tempNum)); 995 $(textNodes[1]).text("总班次:"+(tempNum));
976 $_this.pptjbx($("."+className).children("rect")[2],zgs*1,lpNo,$_this); 996 $_this.pptjbx($("."+className).children("rect")[2],zgs*1,lpNo,$_this);
977 - } 997 + }*/
978 } 998 }
979 999
980 }, { 1000 }, {
@@ -1025,11 +1045,12 @@ var RelationshipGraph = function () { @@ -1025,11 +1045,12 @@ var RelationshipGraph = function () {
1025 value : function createStatistics() { 1045 value : function createStatistics() {
1026 var svg = d3.select('.gantt-chart'), 1046 var svg = d3.select('.gantt-chart'),
1027 _this = this, 1047 _this = this,
1028 - array = _this.getSvgyAxisTransformY(); 1048 + yAyxisA = _this.getSvgyAxisTransformY();
  1049 + array = _this.configuration.taskTypes;
1029 var g_statis = svg.selectAll('.g_statis').data([1]).enter().append('g').classed({'g_statis':true}).attr("transform", "translate(" + _this.configuration.offsetX + ", " + _this.configuration.offsetY + ")"); 1050 var g_statis = svg.selectAll('.g_statis').data([1]).enter().append('g').classed({'g_statis':true}).attr("transform", "translate(" + _this.configuration.offsetX + ", " + _this.configuration.offsetY + ")");
1030 for(var c = 0 ;c<array.length;c++) { 1051 for(var c = 0 ;c<array.length;c++) {
1031 - var className = 'statis_container_' + array[c];  
1032 - var statis_container = g_statis.append('g').attr("class",className).attr("transform", "translate(" + 0 + ", " + array[c] + ")"); 1052 + var className = 'statis_container_' + array[c].lpNo;
  1053 + var statis_container = g_statis.append('g').attr("class",className).attr("transform", "translate(" + 0 + ", " + yAyxisA[c] + ")");
1033 statis_container.append('rect').classed({'rect_shift':true}) 1054 statis_container.append('rect').classed({'rect_shift':true})
1034 .attr("x",-_this.configuration.offsetX) 1055 .attr("x",-_this.configuration.offsetX)
1035 .attr("y",9) 1056 .attr("y",9)
@@ -1527,7 +1548,8 @@ var RelationshipGraph = function () { @@ -1527,7 +1548,8 @@ var RelationshipGraph = function () {
1527 key : 'setIdValue', 1548 key : 'setIdValue',
1528 value : function setIdValue(obj) { 1549 value : function setIdValue(obj) {
1529 // 设置id属性值. 由一个 常量字符串 + 班次数 + 常量字符串 + 发车序号 + 常量字符 + 对应的y轴值. 1550 // 设置id属性值. 由一个 常量字符串 + 班次数 + 常量字符串 + 发车序号 + 常量字符 + 对应的y轴值.
1530 - return 'shift-rect-' + obj.bcs + '_' + obj.fcno + '_' + $_GlobalGraph.configuration.y(obj.parent); 1551 + // return 'shift-rect-' + obj.bcs + '_' + obj.fcno + '_' + $_GlobalGraph.configuration.y(obj.parent);
  1552 + return 'shift-rect-' + obj.bcs + '_' + obj.fcno + '_' + $_GlobalGraph.configuration.y(obj.lpName);
1531 } 1553 }
1532 }, { 1554 }, {
1533 /** 1555 /**
@@ -1615,7 +1637,8 @@ var RelationshipGraph = function () { @@ -1615,7 +1637,8 @@ var RelationshipGraph = function () {
1615 * */ 1637 * */
1616 key : 'setRectParenNodeIdV', 1638 key : 'setRectParenNodeIdV',
1617 value : function setRectParenNodeIdV(obj) { 1639 value : function setRectParenNodeIdV(obj) {
1618 - return 'parent_' + $_GlobalGraph.configuration.y(obj.parent) + '_' + obj.bcs + "_node_" + obj.fcno; 1640 + // return 'parent_' + $_GlobalGraph.configuration.y(obj.parent) + '_' + obj.bcs + "_node_" + obj.fcno;
  1641 + return 'parent_' + $_GlobalGraph.configuration.y(obj.lpName) + '_' + obj.bcs + "_node_" + obj.fcno;
1619 } 1642 }
1620 }, { 1643 }, {
1621 /** 1644 /**
@@ -1629,7 +1652,8 @@ var RelationshipGraph = function () { @@ -1629,7 +1652,8 @@ var RelationshipGraph = function () {
1629 * */ 1652 * */
1630 key : 'setNextNodeIdV', 1653 key : 'setNextNodeIdV',
1631 value : function setNextNodeIdV(obj) { 1654 value : function setNextNodeIdV(obj) {
1632 - return "shift-rect-" + (obj.bcs+1) + '_' + (obj.fcno+1) + '_' + $_GlobalGraph.configuration.y(obj.parent); 1655 + // return "shift-rect-" + (obj.bcs+1) + '_' + (obj.fcno+1) + '_' + $_GlobalGraph.configuration.y(obj.parent);
  1656 + return "shift-rect-" + (obj.bcs+1) + '_' + (obj.fcno+1) + '_' + $_GlobalGraph.configuration.y(obj.lpName);
1633 } 1657 }
1634 }, { 1658 }, {
1635 /** 1659 /**
@@ -1643,7 +1667,8 @@ var RelationshipGraph = function () { @@ -1643,7 +1667,8 @@ var RelationshipGraph = function () {
1643 * */ 1667 * */
1644 key : 'setLastNodeIdV', 1668 key : 'setLastNodeIdV',
1645 value : function setLastNodeIdV(obj) { 1669 value : function setLastNodeIdV(obj) {
1646 - return "shift-rect-" + (obj.bcs-1) + '_' + (obj.fcno-1)+ '_' + $_GlobalGraph.configuration.y(obj.parent); 1670 + // return "shift-rect-" + (obj.bcs-1) + '_' + (obj.fcno-1)+ '_' + $_GlobalGraph.configuration.y(obj.parent);
  1671 + return "shift-rect-" + (obj.bcs-1) + '_' + (obj.fcno-1)+ '_' + $_GlobalGraph.configuration.y(obj.lpName);
1647 } 1672 }
1648 }, { 1673 }, {
1649 /** 1674 /**
@@ -1671,7 +1696,8 @@ var RelationshipGraph = function () { @@ -1671,7 +1696,8 @@ var RelationshipGraph = function () {
1671 * */ 1696 * */
1672 key : 'setText01IdV', 1697 key : 'setText01IdV',
1673 value : function setText01IdV(obj) { 1698 value : function setText01IdV(obj) {
1674 - return "shift-rect-text01-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent); 1699 + // return "shift-rect-text01-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent);
  1700 + return "shift-rect-text01-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.lpName);
1675 } 1701 }
1676 }, { 1702 }, {
1677 /** 1703 /**
@@ -1755,7 +1781,8 @@ var RelationshipGraph = function () { @@ -1755,7 +1781,8 @@ var RelationshipGraph = function () {
1755 * */ 1781 * */
1756 key : 'setCircleIdV', 1782 key : 'setCircleIdV',
1757 value : function setCircleIdV(obj) { 1783 value : function setCircleIdV(obj) {
1758 - return "shift-rect-circle-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent); 1784 + // return "shift-rect-circle-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent);
  1785 + return "shift-rect-circle-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.lpName);
1759 } 1786 }
1760 }, { 1787 }, {
1761 /** 1788 /**
@@ -1833,7 +1860,8 @@ var RelationshipGraph = function () { @@ -1833,7 +1860,8 @@ var RelationshipGraph = function () {
1833 * */ 1860 * */
1834 key : 'setText02IdV', 1861 key : 'setText02IdV',
1835 value : function setText02IdV(obj) { 1862 value : function setText02IdV(obj) {
1836 - return "shift-rect-text02-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent); 1863 + // return "shift-rect-text02-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent);
  1864 + return "shift-rect-text02-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.lpName);
1837 } 1865 }
1838 }, { 1866 }, {
1839 /** 1867 /**
@@ -1873,7 +1901,9 @@ var RelationshipGraph = function () { @@ -1873,7 +1901,9 @@ var RelationshipGraph = function () {
1873 * */ 1901 * */
1874 key : 'setText03IdV', 1902 key : 'setText03IdV',
1875 value : function setText03IdV(obj) { 1903 value : function setText03IdV(obj) {
1876 - return "shift-rect-text03-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent); 1904 + /*return "shift-rect-text03-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent);*/
  1905 + return "shift-rect-text03-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.lpName);
  1906 +
1877 } 1907 }
1878 }, { 1908 }, {
1879 /** 1909 /**
@@ -1911,7 +1941,8 @@ var RelationshipGraph = function () { @@ -1911,7 +1941,8 @@ var RelationshipGraph = function () {
1911 * */ 1941 * */
1912 key : 'setText04IdV', 1942 key : 'setText04IdV',
1913 value : function (obj) { 1943 value : function (obj) {
1914 - return "shift-rect-text04-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent); 1944 + /*return "shift-rect-text04-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent);*/
  1945 + return "shift-rect-text04-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.lpName);
1915 } 1946 }
1916 }, { 1947 }, {
1917 /** 1948 /**
@@ -2011,7 +2042,8 @@ var RelationshipGraph = function () { @@ -2011,7 +2042,8 @@ var RelationshipGraph = function () {
2011 * */ 2042 * */
2012 key : 'setCoverRectIdV', 2043 key : 'setCoverRectIdV',
2013 value : function setCoverRectIdV(obj) { 2044 value : function setCoverRectIdV(obj) {
2014 - return "shift-rect-cover-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent); 2045 + /*return "shift-rect-cover-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent);*/
  2046 + return "shift-rect-cover-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.lpName);
2015 } 2047 }
2016 }, { 2048 }, {
2017 /** 2049 /**
@@ -2039,7 +2071,8 @@ var RelationshipGraph = function () { @@ -2039,7 +2071,8 @@ var RelationshipGraph = function () {
2039 * */ 2071 * */
2040 key : 'setCoverRectParentV', 2072 key : 'setCoverRectParentV',
2041 value : function setCoverRectParentV(obj) { 2073 value : function setCoverRectParentV(obj) {
2042 - return "shift-rect-" + obj.bcs + '_' + obj.fcno + '_' + $_GlobalGraph.configuration.y(obj.parent) + '-cover'; 2074 + //return "shift-rect-" + obj.bcs + '_' + obj.fcno + '_' + $_GlobalGraph.configuration.y(obj.parent) + '-cover';
  2075 + return "shift-rect-" + obj.bcs + '_' + obj.fcno + '_' + $_GlobalGraph.configuration.y(obj.lpName) + '-cover';
2043 } 2076 }
2044 }, { 2077 }, {
2045 /** 2078 /**
@@ -2053,7 +2086,8 @@ var RelationshipGraph = function () { @@ -2053,7 +2086,8 @@ var RelationshipGraph = function () {
2053 * */ 2086 * */
2054 key : 'setCoverRectLastIdV', 2087 key : 'setCoverRectLastIdV',
2055 value : function setCoverRectLastIdV(obj) { 2088 value : function setCoverRectLastIdV(obj) {
2056 - return "shift-rect-cover-" + obj.bcs + '_' + (obj.fcno+1) + $_GlobalGraph.configuration.y(obj.parent); 2089 + // return "shift-rect-cover-" + obj.bcs + '_' + (obj.fcno+1) + $_GlobalGraph.configuration.y(obj.parent);
  2090 + return "shift-rect-cover-" + obj.bcs + '_' + (obj.fcno+1) + $_GlobalGraph.configuration.y(obj.lpName);
2057 } 2091 }
2058 }, { 2092 }, {
2059 key : 'mouseUpEvent', 2093 key : 'mouseUpEvent',
src/main/resources/static/pages/base/timesmodel/js/gantt.js
@@ -388,7 +388,8 @@ @@ -388,7 +388,8 @@
388 * @return 返回甘特图的参数配置信息. 388 * @return 返回甘特图的参数配置信息.
389 * */ 389 * */
390 function getGraphArgus(p) { 390 function getGraphArgus(p) {
391 - var VALUEKEYNAME = 'Worldwide Gross',MULTIPLE = Math.round(105/parseInt(p.stopAraay[0].sxsj)) >=4 ? Math.round(90/parseInt(p.stopAraay[0].sxsj)) : 3 , 391 + var MULTIPLE = Math.round(105/parseInt(p.stopAraay[0].sxsj)) >=4 ? Math.round(90/parseInt(p.stopAraay[0].sxsj)) : Math.round(90/parseInt(p.stopAraay[0].sxsj)) *2;
  392 + var VALUEKEYNAME = 'Worldwide Gross' ,
392 DXHOURS = 24,MINUTE = 60,WIDTH = DXHOURS*MINUTE,MARGINLEFT = 380,HEIGHT = p.yAxisCarArray.length*60 + 240, 393 DXHOURS = 24,MINUTE = 60,WIDTH = DXHOURS*MINUTE,MARGINLEFT = 380,HEIGHT = p.yAxisCarArray.length*60 + 240,
393 MARGINBOTTOM = 240,OFFSETX = 90,OFFSETY = 180,OFFSETUPY = 120,OFFSETDOWNY = 60, 394 MARGINBOTTOM = 240,OFFSETX = 90,OFFSETY = 180,OFFSETUPY = 120,OFFSETDOWNY = 60,
394 STARTDATETIME = p.startDateTime ,ENDDATETIME = p.endDateTime ,TASKTYPES =p.yAxisCarArray ,TICKFORMAT ='%H:%M' ,SHOWTOOLTIPS = true; 395 STARTDATETIME = p.startDateTime ,ENDDATETIME = p.endDateTime ,TASKTYPES =p.yAxisCarArray ,TICKFORMAT ='%H:%M' ,SHOWTOOLTIPS = true;
src/main/resources/static/pages/forms/mould/correctForm.xls
No preview for this file type
src/main/resources/static/pages/forms/statement/correctForm.html
@@ -32,13 +32,13 @@ @@ -32,13 +32,13 @@
32 <select class="form-control" name="line" id="line" style="width: 136px;"></select> 32 <select class="form-control" name="line" id="line" style="width: 136px;"></select>
33 </div> 33 </div>
34 <div style="display: inline-block;margin-left: 15px;"> 34 <div style="display: inline-block;margin-left: 15px;">
35 - <span class="item-label" style="width: 80px;">开始时间: </span>  
36 - <input class="form-control" type="text" id="startDate" style="width: 120px;"/>  
37 - </div>  
38 - <div style="display: inline-block;margin-left: 15px;">  
39 - <span class="item-label" style="width: 80px;">结束时间: </span>  
40 - <input class="form-control" type="text" id="endDate" style="width: 120px;"/> 35 + <span class="item-label" style="width: 80px;">时间: </span>
  36 + <input class="form-control" type="text" id="date" style="width: 120px;"/>
41 </div> 37 </div>
  38 +<!-- <div style="display: inline-block;margin-left: 15px;"> -->
  39 +<!-- <span class="item-label" style="width: 80px;">结束时间: </span> -->
  40 +<!-- <input class="form-control" type="text" id="endDate" style="width: 120px;"/> -->
  41 +<!-- </div> -->
42 <div style="display: inline-block;margin-left: 15px"> 42 <div style="display: inline-block;margin-left: 15px">
43 <span class="item-label" style="width: 140px;">路牌: </span> 43 <span class="item-label" style="width: 140px;">路牌: </span>
44 <select class="form-control" name="lpName" id="lpName" style="width: 136px;"></select> 44 <select class="form-control" name="lpName" id="lpName" style="width: 136px;"></select>
@@ -46,6 +46,7 @@ @@ -46,6 +46,7 @@
46 <div style="display: inline-block;margin-left: 15px"> 46 <div style="display: inline-block;margin-left: 15px">
47 <span class="item-label" style="width: 140px;">内部编码: </span> 47 <span class="item-label" style="width: 140px;">内部编码: </span>
48 <select class="form-control" name="code" id="code" style="width: 145px;"></select> 48 <select class="form-control" name="code" id="code" style="width: 145px;"></select>
  49 + <input class="btn btn-default" type="button" id="czcl" value="X"/>
49 </div> 50 </div>
50 <div class="form-group"> 51 <div class="form-group">
51 <input class="btn btn-default" type="button" id="query" value="筛选"/> 52 <input class="btn btn-default" type="button" id="query" value="筛选"/>
@@ -58,28 +59,15 @@ @@ -58,28 +59,15 @@
58 <table class="table table-bordered table-hover table-checkable" id="forms"> 59 <table class="table table-bordered table-hover table-checkable" id="forms">
59 <thead> 60 <thead>
60 <tr> 61 <tr>
61 - <th colspan="12">营运车辆修正统计表</th>  
62 - </tr>  
63 - <tr>  
64 - <td colspan="12">车队 站 <span id="sDate"></span>至<span id="eDate"></span></td> 62 + <th colspan="6">营运车辆修正统计表</th>
65 </tr> 63 </tr>
66 <tr> 64 <tr>
67 - <td rowspan="2">线路名</td>  
68 - <td rowspan="2">路牌</td>  
69 - <td rowspan="2">车号</td>  
70 - <td rowspan="2">司机</td>  
71 - <td rowspan="2">售票员</td>  
72 - <td colspan="2">发车时间</td>  
73 - <td colspan="2">结束时间</td>  
74 - <td rowspan="2">修改人</td>  
75 - <td rowspan="2">修改时间</td>  
76 - <td rowspan="2">备注</td>  
77 - </tr>  
78 - <tr>  
79 - <td>计划</td>  
80 - <td>实际</td>  
81 - <td>计划</td>  
82 - <td>实际</td> 65 + <td>编号</td>
  66 + <td>路牌</td>
  67 + <td>车号</td>
  68 + <td>司机</td>
  69 + <td>计发</td>
  70 + <td>修改详细</td>
83 </tr> 71 </tr>
84 </thead> 72 </thead>
85 <tbody class="list_correctForm"> 73 <tbody class="list_correctForm">
@@ -104,11 +92,19 @@ @@ -104,11 +92,19 @@
104 if (!$('body').hasClass('page-sidebar-closed')) 92 if (!$('body').hasClass('page-sidebar-closed'))
105 $('.menu-toggler.sidebar-toggler').click(); 93 $('.menu-toggler.sidebar-toggler').click();
106 94
107 - $("#startDate,#endDate").datetimepicker({ 95 + $("#date").datetimepicker({
108 format : 'YYYY-MM-DD', 96 format : 'YYYY-MM-DD',
109 locale : 'zh-cn' 97 locale : 'zh-cn'
110 }); 98 });
111 - 99 + var d = new Date();
  100 + var year = d.getFullYear();
  101 + var month = d.getMonth() + 1;
  102 + var day = d.getDate();
  103 + if(month < 10)
  104 + month = "0" + month;
  105 + if(day < 10)
  106 + day = "0" + day;
  107 + $("#date").val(year + "-" + month + "-" + day);
112 108
113 $.get('/basic/lineCode2Name',function(result){ 109 $.get('/basic/lineCode2Name',function(result){
114 var data=[]; 110 var data=[];
@@ -116,11 +112,12 @@ @@ -116,11 +112,12 @@
116 for(var code in result){ 112 for(var code in result){
117 data.push({id: code, text: result[code]}); 113 data.push({id: code, text: result[code]});
118 } 114 }
119 - console.log(data);  
120 initPinYinSelect2('#line',data,''); 115 initPinYinSelect2('#line',data,'');
121 116
122 }) 117 })
123 - 118 + $('#czcl').on('click', function () {
  119 + $('#code').val('').change();
  120 + });
124 121
125 $('#lpName').select2({ 122 $('#lpName').select2({
126 ajax: { 123 ajax: {
@@ -200,44 +197,16 @@ @@ -200,44 +197,16 @@
200 }); 197 });
201 198
202 var line = $("#line").val(); 199 var line = $("#line").val();
203 - var startDate = $("#startDate").val();  
204 - var endDate = $("#endDate").val(); 200 + var date = $("#startDate").val();
205 var lpName = $("#lpName").val(); 201 var lpName = $("#lpName").val();
206 var code = $("#code").val(); 202 var code = $("#code").val();
207 $("#query").on("click",function(){ 203 $("#query").on("click",function(){
208 - if($("#startDate").val() == null || $("#startDate").val().trim().length == 0){  
209 - layer.msg("请选择范围!");  
210 - return;  
211 - }  
212 - if($("#endDate").val() == null || $("#endDate").val().trim().length == 0){  
213 - layer.msg("请选择范围!");  
214 - return;  
215 - }  
216 line = $("#line").val(); 204 line = $("#line").val();
217 - startDate = $("#startDate").val();  
218 - endDate = $("#endDate").val(); 205 + date = $("#date").val();
219 lpName = $("#lpName").val(); 206 lpName = $("#lpName").val();
220 code = $("#code").val(); 207 code = $("#code").val();
221 var type = "query"; 208 var type = "query";
222 - $post("/realSchedule/correctForm",{line:line,startDate:startDate,endDate:endDate,lpName:lpName,code:code,type:type},function(result){  
223 - $("#sDate").text(startDate);  
224 - $("#eDate").text(endDate);  
225 - var temp = {};  
226 - var today_account = 0;  
227 - temp["line"] = $("#line").text() ;  
228 - temp["totalAdjustment"] = result.length;  
229 -  
230 - $.each(result, function(i, obj) {  
231 - if(moment(obj.scheduleDate).format("YYYY-MM-DD") == moment(obj.updateDate).format("YYYY-MM-DD")){  
232 - today_account++;  
233 - }  
234 - obj.updateDate = moment(obj.updateDate).format("YYYY-MM-DD HH:mm:ss");  
235 - });  
236 -  
237 - temp["todayAdjustment"] = today_account;  
238 - temp["beforeAdjustment"] = result.length-today_account;  
239 - temp["historyAdjustment"] = 0;  
240 - 209 + $get("/realSchedule/correctForm",{line:line,date:date,lpName:lpName,code:code,type:type},function(result){
241 var list_correctForm = template('list_correctForm',{list:result}); 210 var list_correctForm = template('list_correctForm',{list:result});
242 // 把渲染好的模版html文本追加到表格中 211 // 把渲染好的模版html文本追加到表格中
243 $('#forms .list_correctForm').html(list_correctForm); 212 $('#forms .list_correctForm').html(list_correctForm);
@@ -255,8 +224,8 @@ @@ -255,8 +224,8 @@
255 224
256 $("#export").on("click",function(){ 225 $("#export").on("click",function(){
257 var type = "export"; 226 var type = "export";
258 - $get('/realSchedule/correctForm',{line:line,startDate:startDate,endDate:endDate,lpName:lpName,code:code,type:type},function(result){  
259 - window.open("/downloadFile/download?fileName=修正报表"+moment(startDate).format("YYYYMMDD")+"-"+moment(endDate).format("YYYYMMDD")); 227 + $get('/realSchedule/correctForm',{line:line,date:date,lpName:lpName,code:code,type:type},function(result){
  228 + window.open("/downloadFile/download?fileName=修正报表"+date);
260 }); 229 });
261 }); 230 });
262 231
@@ -264,38 +233,18 @@ @@ -264,38 +233,18 @@
264 </script> 233 </script>
265 <script type="text/html" id="list_correctForm"> 234 <script type="text/html" id="list_correctForm">
266 {{each list as obj i}} 235 {{each list as obj i}}
267 - <tr>  
268 - <td>{{obj.xlName}}</td> 236 + <tr>
  237 + <td>{{i+1}}</td>
269 <td>{{obj.lpName}}</td> 238 <td>{{obj.lpName}}</td>
270 <td>{{obj.clZbh}}</td> 239 <td>{{obj.clZbh}}</td>
271 - <td>{{obj.jName}}</td>  
272 - <td>{{obj.sName}}</td> 240 + <td>{{obj.jName}}/{{obj.jGh}}</td>
273 <td>{{obj.fcsj}}</td> 241 <td>{{obj.fcsj}}</td>
274 - <td>{{obj.fcsjActual}}</td>  
275 - <td>{{obj.zdsj}}</td>  
276 - <td>{{obj.zdsjActual}}</td>  
277 - <td>{{obj.updateBy}}</td>  
278 - <td>{{obj.updateDate}}</td>  
279 - <td>{{obj.remarks}}</td> 242 + <td>{{obj.type2}}</td>
280 </tr> 243 </tr>
281 {{/each}} 244 {{/each}}
282 {{if list.length == 0}} 245 {{if list.length == 0}}
283 <tr> 246 <tr>
284 - <td colspan="12"><h6 class="muted">没有找到相关数据</h6></td> 247 + <td colspan="6"><h6 class="muted">没有找到相关数据</h6></td>
285 </tr> 248 </tr>
286 {{/if}} 249 {{/if}}
287 </script> 250 </script>
288 -<script type="text/html" id="list_correctForm_statistics">  
289 - <tr>  
290 - <td colspan="2">线路:</td>  
291 - <td>{{line}}</td>  
292 - <td>调整总数</td>  
293 - <td>{{totalAdjustment}}</td>  
294 - <td>事先调整</td>  
295 - <td>{{beforeAdjustment}}</td>  
296 - <td>当日调整</td>  
297 - <td>{{todayAdjustment}}</td>  
298 - <td>历史调整</td>  
299 - <td colspan="2">{{historyAdjustment}}</td>  
300 - </tr>  
301 -</script>  
302 \ No newline at end of file 251 \ No newline at end of file
src/main/resources/static/pages/forms/statement/waybill.html
@@ -303,9 +303,12 @@ @@ -303,9 +303,12 @@
303 $("#info tbody tr").each(function(index){ 303 $("#info tbody tr").each(function(index){
304 param[index] = new Array(); 304 param[index] = new Array();
305 $(this).children().each(function(i){ 305 $(this).children().each(function(i){
306 - param[index][i] = $(this).text().split("\\")[0];  
307 - if(i==0){  
308 - param[index][3] = $(this).text().split("\\")[1]; 306 + if(i<3){
  307 + param[index][i] = $(this).text().split("\\")[0];
  308 + if(i==0){
  309 + param[index][3] = $(this).text().split("\\")[1];
  310 +
  311 + }
309 } 312 }
310 }); 313 });
311 }); 314 });
src/main/resources/static/pages/trafficManage/js/timeTempletUpload.js
1 /** 1 /**
2 * 2 *
3 - * @JSName : common.js(运管功能公共js)  
4 - *  
5 - * @Author : bsth@lq  
6 - *  
7 - * @Description : TODO(运管功能公共js)  
8 - * 3 + * @JSName : timeTempletUpload.js(运管处js)
  4 + *
  5 + * @Author : bsth@zq
  6 + *
  7 + * @Description : TODO(运管功能公共js)
  8 + *
9 * @Data : 2016年6月29日 上午9:21:17 9 * @Data : 2016年6月29日 上午9:21:17
10 * 10 *
11 * @Version 公交调度系统BS版 0.1 11 * @Version 公交调度系统BS版 0.1
12 - * 12 + *
13 */ 13 */
14 14
15 (function(){ 15 (function(){
@@ -34,7 +34,7 @@ @@ -34,7 +34,7 @@
34 } 34 }
35 var lines = new Array(); 35 var lines = new Array();
36 var gsmap = getBusMap(); 36 var gsmap = getBusMap();
37 - 37 +
38 $('#line').select2({ 38 $('#line').select2({
39 ajax: { 39 ajax: {
40 url: '/realSchedule/findLine', 40 url: '/realSchedule/findLine',
@@ -73,7 +73,7 @@ @@ -73,7 +73,7 @@
73 } 73 }
74 } 74 }
75 }); 75 });
76 - 76 +
77 // 绑定查询事件 77 // 绑定查询事件
78 $("#search").click(searchM); 78 $("#search").click(searchM);
79 // 绑定上传事件 79 // 绑定上传事件
@@ -98,7 +98,7 @@ @@ -98,7 +98,7 @@
98 params[$(element).attr("name")] = $(element).val(); 98 params[$(element).attr("name")] = $(element).val();
99 }); 99 });
100 var i = layer.load(2); 100 var i = layer.load(2);
101 - $get('/tic', params, function(data) { 101 + $get('/tic_ec', params, function(data) {
102 _dateFormat(data.content); 102 _dateFormat(data.content);
103 var bodyHtm = template('timeTemplet_list_temp', { 103 var bodyHtm = template('timeTemplet_list_temp', {
104 list : data.content 104 list : data.content
@@ -112,7 +112,7 @@ @@ -112,7 +112,7 @@
112 112
113 // 上传方法 113 // 上传方法
114 function uploadM() { 114 function uploadM() {
115 - 115 +
116 // 取得输入框的值 116 // 取得输入框的值
117 var trs = $("#right_div tbody tr input"); 117 var trs = $("#right_div tbody tr input");
118 if (trs.length == 0) { 118 if (trs.length == 0) {
@@ -128,14 +128,14 @@ @@ -128,14 +128,14 @@
128 $.ajax({ 128 $.ajax({
129 type: 'get',url: '/trmg/setSKB', 129 type: 'get',url: '/trmg/setSKB',
130 data: params ,dataType:'text', 130 data: params ,dataType:'text',
131 - success:function(data) { 131 + success:function(data) {
132 if(data == 'success'){ 132 if(data == 'success'){
133 alert("上传成功"); 133 alert("上传成功");
134 }else{ 134 }else{
135 alert("上传失败"); 135 alert("上传失败");
136 } 136 }
137 -  
138 - }, error : function() { 137 +
  138 + }, error : function() {
139 alert("操作失败"); 139 alert("操作失败");
140 } 140 }
141 141
@@ -180,23 +180,30 @@ @@ -180,23 +180,30 @@
180 obj.qyrq = moment(obj.qyrq).format(fs); 180 obj.qyrq = moment(obj.qyrq).format(fs);
181 }); 181 });
182 } 182 }
183 - /* 183 +
184 // 绑定查询事件 184 // 绑定查询事件
185 $("#setXL").click(setXLF); 185 $("#setXL").click(setXLF);
186 - var params = {}; 186 +
187 function setXLF() { 187 function setXLF() {
  188 + var params = {};
  189 + // 取得输入框的值
  190 + var inputs = $(".param input,select");debugger;
  191 + // 遍历数组
  192 + $.each(inputs, function(i, element) {
  193 + params[$(element).attr("name")] = $(element).val();
  194 + });
188 $.ajax({ 195 $.ajax({
189 type: 'get',url: '/trmg/setXL', 196 type: 'get',url: '/trmg/setXL',
190 data: params ,dataType:'text', 197 data: params ,dataType:'text',
191 - success:function(data) { 198 + success:function(data) {
192 alert(data); 199 alert(data);
193 - }, error : function() { 200 + }, error : function() {
194 alert("操作失败"); 201 alert("操作失败");
195 } 202 }
196 203
197 }); 204 });
198 } 205 }
199 - 206 +
200 // 绑定查询事件 207 // 绑定查询事件
201 $("#setCL").click(setCLF); 208 $("#setCL").click(setCLF);
202 var params = {}; 209 var params = {};
@@ -204,15 +211,15 @@ @@ -204,15 +211,15 @@
204 $.ajax({ 211 $.ajax({
205 type: 'get',url: '/trmg/setCL', 212 type: 'get',url: '/trmg/setCL',
206 data: params ,dataType:'text', 213 data: params ,dataType:'text',
207 - success:function(data) { 214 + success:function(data) {
208 alert(data); 215 alert(data);
209 - }, error : function() { 216 + }, error : function() {
210 alert("操作失败"); 217 alert("操作失败");
211 } 218 }
212 219
213 }); 220 });
214 } 221 }
215 - 222 +
216 // 绑定查询事件 223 // 绑定查询事件
217 $("#setSJ").click(setSJF); 224 $("#setSJ").click(setSJF);
218 var params = {}; 225 var params = {};
@@ -220,47 +227,79 @@ @@ -220,47 +227,79 @@
220 $.ajax({ 227 $.ajax({
221 type: 'get',url: '/trmg/setSJ', 228 type: 'get',url: '/trmg/setSJ',
222 data: params ,dataType:'text', 229 data: params ,dataType:'text',
223 - success:function(data) { 230 + success:function(data) {
224 alert(data); 231 alert(data);
225 - }, error : function() { 232 + }, error : function() {
226 alert("操作失败"); 233 alert("操作失败");
227 } 234 }
228 235
229 }); 236 });
230 } 237 }
231 - 238 +
232 // 绑定查询事件 239 // 绑定查询事件
233 - $("#setCS").click(setCSF); 240 + $("#setLD").click(setLDF);
234 var params = {}; 241 var params = {};
235 - function setCSF() { 242 + function setLDF() {
236 $.ajax({ 243 $.ajax({
237 - type: 'get',url: '/trmg/setCS', 244 + type: 'get',url: '/trmg/setLD',
238 data: params ,dataType:'text', 245 data: params ,dataType:'text',
239 - success:function(data) { 246 + success:function(data) {
240 alert(data); 247 alert(data);
241 - }, error : function() { 248 + }, error : function() {
242 alert("操作失败"); 249 alert("操作失败");
243 } 250 }
244 251
245 }); 252 });
246 } 253 }
247 - 254 +
  255 + // 绑定查询事件
  256 + $("#setLDFile").click(setLDFileF);
  257 + var params = {};
  258 + function setLDFileF() {
  259 + $.ajax({
  260 + type: 'get',url: '/trmg/setLDFile',
  261 + data: params ,dataType:'text',
  262 + success:function(data) {
  263 + alert(data);
  264 + }, error : function() {
  265 + alert("操作失败");
  266 + }
  267 +
  268 + });
  269 + }
  270 +
248 // 绑定查询事件 271 // 绑定查询事件
249 - $("#setXLPC").click(setXLPCF); 272 + $("#setLCYH").click(setLCYHF);
250 var params = {}; 273 var params = {};
251 - function setXLPCF() { 274 + function setLCYHF() {
252 $.ajax({ 275 $.ajax({
253 - type: 'get',url: '/trmg/setXLPC', 276 + type: 'get',url: '/trmg/setLCYH',
254 data: params ,dataType:'text', 277 data: params ,dataType:'text',
255 - success:function(data) { 278 + success:function(data) {
256 alert(data); 279 alert(data);
257 - }, error : function() { 280 + }, error : function() {
258 alert("操作失败"); 281 alert("操作失败");
259 } 282 }
260 283
261 }); 284 });
262 } 285 }
263 - 286 +
  287 + // 绑定查询事件
  288 + $("#setDDRB").click(setDDRBF);
  289 + var params = {};
  290 + function setDDRBF() {
  291 + $.ajax({
  292 + type: 'get',url: '/trmg/setDDRB',
  293 + data: params ,dataType:'text',
  294 + success:function(data) {
  295 + alert(data);
  296 + }, error : function() {
  297 + alert("操作失败");
  298 + }
  299 +
  300 + });
  301 + }
  302 +
264 // 绑定查询事件 303 // 绑定查询事件
265 $("#setJHBC").click(setJHBCF); 304 $("#setJHBC").click(setJHBCF);
266 var params = {}; 305 var params = {};
@@ -268,13 +307,62 @@ @@ -268,13 +307,62 @@
268 $.ajax({ 307 $.ajax({
269 type: 'get',url: '/trmg/setJHBC', 308 type: 'get',url: '/trmg/setJHBC',
270 data: params ,dataType:'text', 309 data: params ,dataType:'text',
271 - success:function(data) { 310 + success:function(data) {
  311 + alert(data);
  312 + }, error : function() {
  313 + alert("操作失败");
  314 + }
  315 +
  316 + });
  317 + }
  318 +
  319 + // 绑定查询事件
  320 + $("#setXLPC").click(setXLPCF);
  321 + var params = {};
  322 + function setXLPCF() {
  323 + $.ajax({
  324 + type: 'get',url: '/trmg/setXLPC',
  325 + data: params ,dataType:'text',
  326 + success:function(data) {
272 alert(data); 327 alert(data);
273 - }, error : function() { 328 + }, error : function() {
274 alert("操作失败"); 329 alert("操作失败");
275 } 330 }
276 331
277 }); 332 });
278 - }*/ 333 + }
  334 +
  335 +
  336 + // 绑定查询事件
  337 + $("#setCS").click(setCSF);
  338 + var params = {};
  339 + function setCSF() {
  340 + $.ajax({
  341 + type: 'get',url: '/trmg/setCS',
  342 + data: params ,dataType:'text',
  343 + success:function(data) {
  344 + alert(data);
  345 + }, error : function() {
  346 + alert("操作失败");
  347 + }
  348 +
  349 + });
  350 + }
  351 +
  352 + // 绑定查询事件
  353 + $("#downloadAllDataFile").click(getDownLoadAllDataFileF);
  354 + var params = {};
  355 + function getDownLoadAllDataFileF() {
  356 + $.ajax({
  357 + type: 'get',url: '/trmg/getDownLoadAllDataFile',
  358 + data: params ,dataType:'text',
  359 + success:function(data) {
  360 + alert(data);
  361 + }, error : function() {
  362 + alert("操作失败");
  363 + }
  364 +
  365 + });
  366 + }
279 367
280 })(); 368 })();
281 \ No newline at end of file 369 \ No newline at end of file