Commit aa7e923ade956b24454eb047155e93fd9567d6ba

Authored by 潘钊
2 parents 995b5682 d559b01b

Merge branch 'minhang' into pudong

Showing 28 changed files with 2458 additions and 1834 deletions

Too many changes to show.

To preserve performance only 28 of 44 files are displayed.

src/main/java/com/bsth/controller/LineController.java
@@ -90,7 +90,7 @@ public class LineController extends BaseController<Line, Integer> { @@ -90,7 +90,7 @@ public class LineController extends BaseController<Line, Integer> {
90 map.put("status", ResponseCode.ERROR); 90 map.put("status", ResponseCode.ERROR);
91 return map; 91 return map;
92 } 92 }
93 - return service.save(l); 93 + return service.update(l);
94 } 94 }
95 95
96 @RequestMapping(value ="/findById" , method = RequestMethod.GET) 96 @RequestMapping(value ="/findById" , method = RequestMethod.GET)
src/main/java/com/bsth/controller/forms/ExportController.java
@@ -186,7 +186,7 @@ public class ExportController { @@ -186,7 +186,7 @@ public class ExportController {
186 m.put("i", i); 186 m.put("i", i);
187 m.put("rQ", l.getrQ()); 187 m.put("rQ", l.getrQ());
188 m.put("gS", l.getgS()); 188 m.put("gS", l.getgS());
189 - m.put("xL", l.getxL()); 189 + m.put("xL", l.getXlmc());
190 m.put("clzbh", l.getClzbh()); 190 m.put("clzbh", l.getClzbh());
191 m.put("jsy", l.getJsy()); 191 m.put("jsy", l.getJsy());
192 m.put("jName", l.getjName()); 192 m.put("jName", l.getjName());
src/main/java/com/bsth/controller/realcontrol/summary/FastAndSlowController.java
1 -package com.bsth.controller.realcontrol.summary;  
2 -  
3 -import com.bsth.controller.BaseController;  
4 -import com.bsth.data.summary.entity.FastAndSlow;  
5 -import org.springframework.web.bind.annotation.RequestMapping;  
6 -import org.springframework.web.bind.annotation.RestController;  
7 -  
8 -/**  
9 - * 快慢误点统计  
10 - * Created by panzhao on 2017/10/24.  
11 - */  
12 -@RestController  
13 -@RequestMapping("/summary/fastAndSlow")  
14 -public class FastAndSlowController extends BaseController<FastAndSlow, Long> {  
15 -} 1 +package com.bsth.controller.realcontrol.summary;
  2 +
  3 +import com.bsth.controller.BaseController;
  4 +import com.bsth.data.summary.entity.FastAndSlow;
  5 +import com.bsth.data.summary.service.FastAndSlowService;
  6 +import org.springframework.beans.factory.annotation.Autowired;
  7 +import org.springframework.web.bind.annotation.PathVariable;
  8 +import org.springframework.web.bind.annotation.RequestMapping;
  9 +import org.springframework.web.bind.annotation.RequestParam;
  10 +import org.springframework.web.bind.annotation.RestController;
  11 +
  12 +import javax.servlet.http.HttpServletRequest;
  13 +import javax.servlet.http.HttpServletResponse;
  14 +
  15 +/**
  16 + * 快慢误点统计
  17 + * Created by panzhao on 2017/10/24.
  18 + */
  19 +@RestController
  20 +@RequestMapping("/summary/fastAndSlow")
  21 +public class FastAndSlowController extends BaseController<FastAndSlow, Long> {
  22 +
  23 + @Autowired
  24 + FastAndSlowService fastAndSlowService;
  25 +
  26 + @RequestMapping("/excel/{lineCode}")
  27 + public void excel(@PathVariable("lineCode") String lineCode, @RequestParam String st
  28 + , @RequestParam String et, @RequestParam int type, HttpServletRequest request, HttpServletResponse response) {
  29 + fastAndSlowService.excel(lineCode, st, et, type, request, response);
  30 + }
  31 +}
16 \ No newline at end of file 32 \ No newline at end of file
src/main/java/com/bsth/controller/schedule/TrafficManageController.java
@@ -57,6 +57,15 @@ public class TrafficManageController { @@ -57,6 +57,15 @@ public class TrafficManageController {
57 } 57 }
58 } 58 }
59 59
  60 + @RequestMapping(value = "/setLDByDate", method = RequestMethod.GET)
  61 + public String setLDByDate(@RequestParam("theDate") String theDate) throws Exception {
  62 + try {
  63 + return trManageService.setLD(theDate);
  64 + } catch (Exception exp) {
  65 + throw new Exception(exp.getCause());
  66 + }
  67 + }
  68 +
60 @RequestMapping(value = "/setLDFile", method = RequestMethod.GET) 69 @RequestMapping(value = "/setLDFile", method = RequestMethod.GET)
61 public String setLDFile() throws Exception { 70 public String setLDFile() throws Exception {
62 try { 71 try {
src/main/java/com/bsth/data/schedule/late_adjust/LateAdjustHandle.java
@@ -135,6 +135,12 @@ public class LateAdjustHandle implements ApplicationContextAware{ @@ -135,6 +135,12 @@ public class LateAdjustHandle implements ApplicationContextAware{
135 if(sch == null) 135 if(sch == null)
136 return; 136 return;
137 137
  138 + //可能是延迟信号,gps时间没有误点
  139 + if(gps.getTimestamp() <= sch.getDfsjT()){
  140 + sch.setLate2(false);
  141 + lateSchMap.remove(sch.getClZbh());
  142 + return;
  143 + }
138 //进的是班次起点(名称一样即可) 144 //进的是班次起点(名称一样即可)
139 gps.setStationName(BasicData.stationCode2NameMap.get(gps.getLineId() + "_" + gps.getUpDown() + "_" + gps.getStopNo())); 145 gps.setStationName(BasicData.stationCode2NameMap.get(gps.getLineId() + "_" + gps.getUpDown() + "_" + gps.getStopNo()));
140 if(gps.getStationName().equals(sch.getQdzName()) 146 if(gps.getStationName().equals(sch.getQdzName())
src/main/java/com/bsth/data/summary/entity/FastAndSlow.java
@@ -273,4 +273,12 @@ public class FastAndSlow { @@ -273,4 +273,12 @@ public class FastAndSlow {
273 public void setT(Long t) { 273 public void setT(Long t) {
274 this.t = t; 274 this.t = t;
275 } 275 }
276 -} 276 +
  277 + public boolean isSlow() {
  278 + return this.fcsjSlow>0 || this.dfsjSlow>0 || this.zdsjSlow>0 || this.zdsjDfSlow>0;
  279 + }
  280 +
  281 + public boolean isFast() {
  282 + return this.fcsjFast>0 || this.dfsjFast>0 || this.zdsjFast>0 || this.zdsjDfFast>0;
  283 + }
  284 +}
277 \ No newline at end of file 285 \ No newline at end of file
src/main/java/com/bsth/data/summary/repository/FastAndSlowRepository.java
1 -package com.bsth.data.summary.repository;  
2 -  
3 -import com.bsth.data.summary.entity.FastAndSlow;  
4 -import com.bsth.repository.BaseRepository;  
5 -import org.springframework.stereotype.Repository;  
6 -  
7 -/**  
8 - * Created by panzhao on 2017/10/24.  
9 - */  
10 -@Repository  
11 -public interface FastAndSlowRepository extends BaseRepository<FastAndSlow, Long> {  
12 -} 1 +package com.bsth.data.summary.repository;
  2 +
  3 +import com.bsth.data.summary.entity.FastAndSlow;
  4 +import com.bsth.repository.BaseRepository;
  5 +import org.springframework.stereotype.Repository;
  6 +
  7 +/**
  8 + * Created by panzhao on 2017/10/24.
  9 + */
  10 +@Repository
  11 +public interface FastAndSlowRepository extends BaseRepository<FastAndSlow, Long> {
  12 +}
src/main/java/com/bsth/data/summary/service/FastAndSlowService.java
1 -package com.bsth.data.summary.service;  
2 -  
3 -import com.bsth.data.summary.entity.FastAndSlow;  
4 -import com.bsth.service.BaseService;  
5 -  
6 -/**  
7 - * Created by panzhao on 2017/10/24.  
8 - */  
9 -public interface FastAndSlowService extends BaseService<FastAndSlow, Long>{  
10 -} 1 +package com.bsth.data.summary.service;
  2 +
  3 +import com.bsth.data.summary.entity.FastAndSlow;
  4 +import com.bsth.service.BaseService;
  5 +
  6 +import javax.servlet.http.HttpServletRequest;
  7 +import javax.servlet.http.HttpServletResponse;
  8 +
  9 +/**
  10 + * Created by panzhao on 2017/10/24.
  11 + */
  12 +public interface FastAndSlowService extends BaseService<FastAndSlow, Long>{
  13 + void excel(String lineCode, String st, String et, int type, HttpServletRequest request, HttpServletResponse response);
  14 +}
11 \ No newline at end of file 15 \ No newline at end of file
src/main/java/com/bsth/data/summary/service/impl/FastAndSlowServiceImpl.java
1 package com.bsth.data.summary.service.impl; 1 package com.bsth.data.summary.service.impl;
2 2
  3 +import com.bsth.data.BasicData;
3 import com.bsth.data.summary.entity.FastAndSlow; 4 import com.bsth.data.summary.entity.FastAndSlow;
4 import com.bsth.data.summary.service.FastAndSlowService; 5 import com.bsth.data.summary.service.FastAndSlowService;
  6 +import com.bsth.data.utils.ConvertUtil;
5 import com.bsth.service.impl.BaseServiceImpl; 7 import com.bsth.service.impl.BaseServiceImpl;
  8 +import com.google.common.collect.ArrayListMultimap;
  9 +import org.apache.poi.hssf.usermodel.HSSFWorkbook;
  10 +import org.apache.poi.poifs.filesystem.POIFSFileSystem;
  11 +import org.apache.poi.ss.usermodel.Row;
  12 +import org.apache.poi.ss.usermodel.Sheet;
  13 +import org.apache.poi.ss.util.CellRangeAddress;
  14 +import org.joda.time.format.DateTimeFormat;
  15 +import org.joda.time.format.DateTimeFormatter;
  16 +import org.slf4j.Logger;
  17 +import org.slf4j.LoggerFactory;
6 import org.springframework.stereotype.Service; 18 import org.springframework.stereotype.Service;
7 19
  20 +import javax.servlet.http.HttpServletRequest;
  21 +import javax.servlet.http.HttpServletResponse;
  22 +import java.io.FileInputStream;
  23 +import java.io.OutputStream;
  24 +import java.net.URLEncoder;
  25 +import java.text.ParseException;
  26 +import java.text.SimpleDateFormat;
  27 +import java.util.*;
  28 +
8 /** 29 /**
9 * Created by panzhao on 2017/10/24. 30 * Created by panzhao on 2017/10/24.
10 */ 31 */
11 @Service 32 @Service
12 public class FastAndSlowServiceImpl extends BaseServiceImpl<FastAndSlow, Long> implements FastAndSlowService { 33 public class FastAndSlowServiceImpl extends BaseServiceImpl<FastAndSlow, Long> implements FastAndSlowService {
13 -} 34 +
  35 + Logger logger = LoggerFactory.getLogger(this.getClass());
  36 +
  37 + private static DateTimeFormatter fmtyyyyMMdd = DateTimeFormat.forPattern("yyyy-MM-dd");
  38 +
  39 + @Override
  40 + public Iterable<FastAndSlow> list(Map<String, Object> map) {
  41 + try {
  42 + //最多5天
  43 + map.put("rq_le", maxEndTime(map.get("rq_ge").toString()
  44 + , map.get("rq_le").toString(), 4));
  45 +
  46 + List<FastAndSlow> list = (List) super.list(map);
  47 + String type = String.valueOf(map.get("type"));
  48 +
  49 + return filterByType(list, type);
  50 + } catch (Exception e) {
  51 + logger.error("", e);
  52 + }
  53 + return null;
  54 + }
  55 +
  56 + @Override
  57 + public void excel(String lineCode, String st, String et, int type, HttpServletRequest request, HttpServletResponse response) {
  58 + try {
  59 + Map<String, Object> params = new HashMap();
  60 + //最多31天
  61 + et = maxEndTime(st, et, 31);
  62 + params.put("rq_ge", st);
  63 + params.put("rq_le", et);
  64 + params.put("lineCode_eq", lineCode);
  65 + List<FastAndSlow> list = filterByType((List) super.list(params), type + "");
  66 +
  67 + if(list.size() == 0){
  68 + response.setHeader("Content-type", "text/html;charset=UTF-8");
  69 + response.getWriter().print("<span style='color:red;font-size:24px;'>根据查询条件没有搜索到数据,别导了!</span>");
  70 + return ;
  71 + }
  72 + //排序
  73 + Collections.sort(list, new Comparator<FastAndSlow>() {
  74 + @Override
  75 + public int compare(FastAndSlow fas1, FastAndSlow fas2) {
  76 + return (int) (fas1.getT() - fas2.getT());
  77 + }
  78 + });
  79 + //按日期分组
  80 + ArrayListMultimap<String, FastAndSlow> multimap =
  81 + new ConvertUtil<FastAndSlow>().groupMultiList(list, "_", FastAndSlow.class.getDeclaredField("rq"));
  82 + //输出excel
  83 + String basePath = Thread.currentThread().getContextClassLoader().getResource("").getPath();
  84 + String filePath = basePath + "/static/pages/summary/excel/快慢误点报表.xls";
  85 + POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(filePath));
  86 + HSSFWorkbook wb = new HSSFWorkbook(fs);
  87 +
  88 + //写入数据
  89 + List<String> ks = new ArrayList<>(multimap.keySet());
  90 + Collections.sort(ks);
  91 + for(int i = 0; i < ks.size(); i++){
  92 + Sheet sheet = wb.getSheetAt(i);
  93 + writeData(sheet, multimap.get(ks.get(i)));
  94 + //sheet name
  95 + wb.setSheetName(i, ks.get(i));
  96 + }
  97 + //删除多余的sheet
  98 + for(int i = ks.size(); i <32; i++){
  99 + wb.removeSheetAt(ks.size());
  100 + }
  101 +
  102 + //response 输出
  103 + String filename = BasicData.lineCode2NameMap.get(lineCode) + st + "至" + et + "快慢误点明细.xls";
  104 + response.setContentType("application/x-msdownload");
  105 + response.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode(filename, "UTF-8"));
  106 +
  107 + OutputStream os = response.getOutputStream();
  108 + wb.write(os);
  109 + os.flush();
  110 + os.close();
  111 + } catch (Exception e) {
  112 + logger.error("", e);
  113 + }
  114 + }
  115 +
  116 + private void writeData(Sheet sheet, List<FastAndSlow> list) {
  117 + List<FastAndSlow> ups = new ArrayList<>()
  118 + ,downs = new ArrayList<>();
  119 + //前4行是表头
  120 + Row row;
  121 + row = sheet.getRow(0);
  122 + row.getCell(4).setCellValue(list.get(0).getRq());
  123 + row.getCell(13).setCellValue(BasicData.lineCode2NameMap.get(list.get(0).getLineCode()));
  124 + FastAndSlow fas;
  125 + for(int i = 0; i < list.size(); i++){
  126 + fas = list.get(i);
  127 + row = sheet.createRow(i + 4);
  128 + row.createCell(0).setCellValue(i + 1);
  129 + row.createCell(1).setCellValue(fas.getStationName());
  130 + row.createCell(2).setCellValue(fas.getUpDown());
  131 + row.createCell(3).setCellValue(fas.getFcsj());
  132 + row.createCell(4).setCellValue(fas.getDfsj());
  133 + row.createCell(5).setCellValue(fas.getFcsjActual());
  134 + row.createCell(6).setCellValue(fas.getFcsjFast());
  135 + row.createCell(7).setCellValue(fas.getFcsjSlow());
  136 + row.createCell(8).setCellValue(fas.getDfsjFast());
  137 + row.createCell(9).setCellValue(fas.getDfsjSlow());
  138 + row.createCell(10).setCellValue(fas.getZdsj());
  139 + row.createCell(11).setCellValue(fas.getZdsjDf());
  140 + row.createCell(12).setCellValue(fas.getZdsjActual());
  141 + row.createCell(13).setCellValue(fas.getZdsjFast());
  142 + row.createCell(14).setCellValue(fas.getZdsjSlow());
  143 + row.createCell(15).setCellValue(fas.getZdsjDfFast());
  144 + row.createCell(16).setCellValue(fas.getZdsjDfSlow());
  145 +
  146 + if(fas.getUpDown()==0)
  147 + ups.add(fas);
  148 + else
  149 + downs.add(fas);
  150 + }
  151 + //合计
  152 + int size = list.size();
  153 + row = sheet.createRow(size + 4);
  154 + row.createCell(1).setCellValue("发车:上行(计划快误点:"+jhfcFast(ups)+" 累计时间:"+jhfcFastTime(ups)+" 待发快误点:"+dffcFast(ups)+" 累计时间:"+dffcFastTime(ups)+") ");
  155 + row.createCell(9).setCellValue("下行(计划快误点:"+jhfcFast(downs)+" 累计时间:"+jhfcFastTime(downs)+" 待发快误点:"+dffcFast(downs)+" 累计时间:"+dffcFastTime(downs)+")");
  156 + row = sheet.createRow(size + 5);
  157 + row.createCell(1).setCellValue("发车:上行(计划慢误点:"+jhfcSlow(ups)+" 累计时间:"+jhfcSlowTime(ups)+" 待发慢误点:"+dffcSlow(ups)+" 累计时间:"+dffcSlowTime(ups)+") ");
  158 + row.createCell(9).setCellValue("下行(计划慢误点:"+jhfcSlow(downs)+" 累计时间:"+jhfcSlowTime(downs)+" 待发慢误点:"+dffcSlow(downs)+" 累计时间:"+dffcSlowTime(downs)+")");
  159 + row = sheet.createRow(size + 6);
  160 + row.createCell(1).setCellValue("到达:上行(计划快误点:"+jhzdFast(ups)+" 累计时间:"+jhzdFastTime(ups)+" 待发快误点:"+dfzdFast(ups)+" 累计时间:"+dfzdFastTime(ups)+") ");
  161 + row.createCell(9).setCellValue("下行(计划快误点:"+jhzdFast(downs)+" 累计时间:"+jhzdFastTime(downs)+" 待发快误点:"+dfzdFast(downs)+" 累计时间:"+dfzdFastTime(downs)+")");
  162 + row = sheet.createRow(size + 7);
  163 + row.createCell(1).setCellValue("到达:上行(计划慢误点:"+jhzdSlow(ups)+" 累计时间:"+jhzdSlowTime(ups)+" 待发慢误点:"+dfzdSlow(ups)+" 累计时间:"+dfzdSlowTime(ups)+") ");
  164 + row.createCell(9).setCellValue("下行(计划慢误点:"+jhzdSlow(downs)+" 累计时间:"+jhzdSlowTime(downs)+" 待发慢误点:"+dfzdSlow(downs)+" 累计时间:"+dfzdSlowTime(downs)+")");
  165 + //合并单元格
  166 + sheet.addMergedRegion(new CellRangeAddress(size + 4, size + 4, 1, 8));
  167 + sheet.addMergedRegion(new CellRangeAddress(size + 4, size + 4, 9, 16));
  168 + sheet.addMergedRegion(new CellRangeAddress(size + 5, size + 5, 1, 8));
  169 + sheet.addMergedRegion(new CellRangeAddress(size + 5, size + 5, 9, 16));
  170 + sheet.addMergedRegion(new CellRangeAddress(size + 6, size + 6, 1, 8));
  171 + sheet.addMergedRegion(new CellRangeAddress(size + 6, size + 6, 9, 16));
  172 + sheet.addMergedRegion(new CellRangeAddress(size + 7, size + 7, 1, 8));
  173 + sheet.addMergedRegion(new CellRangeAddress(size + 7, size + 7, 9, 16));
  174 +
  175 + sheet.addMergedRegion(new CellRangeAddress(size + 4, size + 7, 0, 0));
  176 + }
  177 +
  178 + private List<FastAndSlow> filterByType(List<FastAndSlow> all, String type) {
  179 + List rsList = new ArrayList();
  180 + if ("-1".equals(type)) {//慢误
  181 + for (FastAndSlow fas : all) {
  182 + if (fas.isSlow())
  183 + rsList.add(fas);
  184 + }
  185 + return rsList;
  186 + } else if ("1".equals(type)) {//快误
  187 + for (FastAndSlow fas : all) {
  188 + if (fas.isFast())
  189 + rsList.add(fas);
  190 + }
  191 + return rsList;
  192 + }
  193 + return all;
  194 + }
  195 +
  196 +
  197 + private String maxEndTime(String sStr, String eStr, int space) throws ParseException {
  198 + try {
  199 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  200 + long st = sdf.parse(sStr).getTime();
  201 + long et = sdf.parse(eStr).getTime();
  202 + long dayTime = 24 * 60 * 60 * 1000;
  203 + long spaceTime = dayTime * space;
  204 +
  205 + if (et - st > spaceTime) {
  206 + eStr = sdf.format(new Date(st + spaceTime));
  207 + }
  208 + } catch (Exception e) {
  209 + throw e;
  210 + }
  211 + return eStr;
  212 + }
  213 +
  214 + /**
  215 + * 计划发出快误点
  216 + * @param list
  217 + * @return
  218 + */
  219 + private int jhfcFast(List<FastAndSlow> list){
  220 + int count=0;
  221 + for(FastAndSlow fas : list){
  222 + if(fas.getFcsjFast() > 0)
  223 + count++;
  224 + }
  225 + return count;
  226 + }
  227 +
  228 + /**
  229 + * 计划终点快误点
  230 + * @param list
  231 + * @return
  232 + */
  233 + private int jhzdFast(List<FastAndSlow> list){
  234 + int count=0;
  235 + for(FastAndSlow fas : list){
  236 + if(fas.getZdsjFast() > 0)
  237 + count++;
  238 + }
  239 + return count;
  240 + }
  241 +
  242 + /**
  243 + * 待发发出快误点
  244 + * @param list
  245 + * @return
  246 + */
  247 + private int dffcFast(List<FastAndSlow> list){
  248 + int count=0;
  249 + for(FastAndSlow fas : list){
  250 + if(fas.getDfsjFast() > 0)
  251 + count++;
  252 + }
  253 + return count;
  254 + }
  255 +
  256 + /**
  257 + * 待发终点快误点
  258 + * @param list
  259 + * @return
  260 + */
  261 + private int dfzdFast(List<FastAndSlow> list){
  262 + int count=0;
  263 + for(FastAndSlow fas : list){
  264 + if(fas.getZdsjDfFast() > 0)
  265 + count++;
  266 + }
  267 + return count;
  268 + }
  269 +
  270 + //----------
  271 +
  272 + /**
  273 + * 计划发出慢误点
  274 + * @param list
  275 + * @return
  276 + */
  277 + private int jhfcSlow(List<FastAndSlow> list){
  278 + int count=0;
  279 + for(FastAndSlow fas : list){
  280 + if(fas.getFcsjSlow() > 0)
  281 + count++;
  282 + }
  283 + return count;
  284 + }
  285 +
  286 + /**
  287 + * 计划终点慢误点
  288 + * @param list
  289 + * @return
  290 + */
  291 + private int jhzdSlow(List<FastAndSlow> list){
  292 + int count=0;
  293 + for(FastAndSlow fas : list){
  294 + if(fas.getZdsjSlow() > 0)
  295 + count++;
  296 + }
  297 + return count;
  298 + }
  299 +
  300 + /**
  301 + * 待发发出慢误点
  302 + * @param list
  303 + * @return
  304 + */
  305 + private int dffcSlow(List<FastAndSlow> list){
  306 + int count=0;
  307 + for(FastAndSlow fas : list){
  308 + if(fas.getDfsjSlow() > 0)
  309 + count++;
  310 + }
  311 + return count;
  312 + }
  313 +
  314 + /**
  315 + * 待发终点慢误点
  316 + * @param list
  317 + * @return
  318 + */
  319 + private int dfzdSlow(List<FastAndSlow> list){
  320 + int count=0;
  321 + for(FastAndSlow fas : list){
  322 + if(fas.getZdsjDfSlow() > 0)
  323 + count++;
  324 + }
  325 + return count;
  326 + }
  327 + /**
  328 + * ################
  329 + */
  330 + /**
  331 + * 计划发出快误点
  332 + * @param list
  333 + * @return
  334 + */
  335 + private int jhfcFastTime(List<FastAndSlow> list){
  336 + int sum=0;
  337 + for(FastAndSlow fas : list){
  338 + sum+=fas.getFcsjFast();
  339 + }
  340 + return sum;
  341 + }
  342 +
  343 + /**
  344 + * 计划终点快误点
  345 + * @param list
  346 + * @return
  347 + */
  348 + private int jhzdFastTime(List<FastAndSlow> list){
  349 + int sum=0;
  350 + for(FastAndSlow fas : list){
  351 + sum+=fas.getZdsjFast();
  352 + }
  353 + return sum;
  354 + }
  355 +
  356 + /**
  357 + * 待发发出快误点
  358 + * @param list
  359 + * @return
  360 + */
  361 + private int dffcFastTime(List<FastAndSlow> list){
  362 + int sum=0;
  363 + for(FastAndSlow fas : list){
  364 + sum+=fas.getDfsjFast();
  365 + }
  366 + return sum;
  367 + }
  368 +
  369 + /**
  370 + * 待发终点快误点
  371 + * @param list
  372 + * @return
  373 + */
  374 + private int dfzdFastTime(List<FastAndSlow> list){
  375 + int sum=0;
  376 + for(FastAndSlow fas : list){
  377 + sum+=fas.getZdsjDfFast();
  378 + }
  379 + return sum;
  380 + }
  381 +
  382 + //----------
  383 +
  384 + /**
  385 + * 计划发出慢误点
  386 + * @param list
  387 + * @return
  388 + */
  389 + private int jhfcSlowTime(List<FastAndSlow> list){
  390 + int sum=0;
  391 + for(FastAndSlow fas : list){
  392 + sum+=fas.getFcsjSlow();
  393 + }
  394 + return sum;
  395 + }
  396 +
  397 + /**
  398 + * 计划终点慢误点
  399 + * @param list
  400 + * @return
  401 + */
  402 + private int jhzdSlowTime(List<FastAndSlow> list){
  403 + int sum=0;
  404 + for(FastAndSlow fas : list){
  405 + sum+=fas.getZdsjSlow();
  406 + }
  407 + return sum;
  408 + }
  409 +
  410 + /**
  411 + * 待发发出慢误点
  412 + * @param list
  413 + * @return
  414 + */
  415 + private int dffcSlowTime(List<FastAndSlow> list){
  416 + int sum=0;
  417 + for(FastAndSlow fas : list){
  418 + sum+=fas.getDfsjSlow();
  419 + }
  420 + return sum;
  421 + }
  422 +
  423 + /**
  424 + * 待发终点慢误点
  425 + * @param list
  426 + * @return
  427 + */
  428 + private int dfzdSlowTime(List<FastAndSlow> list){
  429 + int sum=0;
  430 + for(FastAndSlow fas : list){
  431 + sum+=fas.getZdsjDfSlow();
  432 + }
  433 + return sum;
  434 + }
  435 +}
14 \ No newline at end of file 436 \ No newline at end of file
src/main/java/com/bsth/data/utils/ConvertUtil.java 0 → 100644
  1 +package com.bsth.data.utils;
  2 +
  3 +import com.google.common.collect.ArrayListMultimap;
  4 +import org.joda.time.format.DateTimeFormat;
  5 +import org.joda.time.format.DateTimeFormatter;
  6 +import org.slf4j.Logger;
  7 +import org.slf4j.LoggerFactory;
  8 +
  9 +import java.lang.reflect.Field;
  10 +import java.util.*;
  11 +
  12 +/**
  13 + * 数据转换
  14 + * Created by panzhao on 2017/3/13.
  15 + */
  16 +public class ConvertUtil<T> {
  17 +
  18 + Logger logger = LoggerFactory.getLogger(this.getClass());
  19 + private static DateTimeFormatter fmtyyyyMMdd = DateTimeFormat.forPattern("yyyyMMdd");
  20 +
  21 + /**
  22 + * 根据指定字段 将 list 分组
  23 + *
  24 + * @param list
  25 + * @param separator 字段使用分隔符连接 组成key
  26 + * @param fields
  27 + * @return
  28 + */
  29 + public ArrayListMultimap<String, T> groupMultiList(List<T> list, String separator, Field... fields) {
  30 + ArrayListMultimap<String, T> multimap = ArrayListMultimap.create();
  31 +
  32 + String key;
  33 + //Object field;
  34 + try {
  35 + for (T t : list) {
  36 +
  37 + key = "";
  38 + for (Field f : fields) {
  39 + f.setAccessible(true);
  40 + if(null == f.get(t))
  41 + continue;
  42 + //日期类型格式化为 YYYY-MM-DD
  43 + if (f.getType().equals(Date.class))
  44 + key += (separator + fmtyyyyMMdd.print(((Date) f.get(t)).getTime()));
  45 + else
  46 + key += (separator + f.get(t).toString());
  47 + }
  48 + if(key.length() > 1)
  49 + key = key.substring(1);
  50 +
  51 + multimap.put(key, t);
  52 + }
  53 + } catch (Exception e) {
  54 + logger.error("", e);
  55 + }
  56 +
  57 + return multimap;
  58 + }
  59 +
  60 + /**
  61 + * 根据指定字段 将 list 分组
  62 + *
  63 + * @param list
  64 + * @param separator 字段使用分隔符连接 组成key
  65 + * @param fields
  66 + * @return
  67 + */
  68 + public Map<String, T> groupList(List<T> list, String separator, Field... fields) {
  69 + Map<String, T> map = new HashMap<>();
  70 +
  71 + String key;
  72 + //Object field;
  73 + try {
  74 + for (T t : list) {
  75 +
  76 + key = "";
  77 + for (Field f : fields) {
  78 + f.setAccessible(true);
  79 + //日期类型格式化为 YYYY-MM-DD
  80 + if (f.getType().equals(Date.class))
  81 + key += (separator + fmtyyyyMMdd.print(((Date) f.get(t)).getTime()));
  82 + else
  83 + key += (separator + f.get(t).toString());
  84 + }
  85 + key = key.substring(1);
  86 +
  87 + map.put(key, t);
  88 + }
  89 + } catch (Exception e) {
  90 + logger.error("", e);
  91 + }
  92 +
  93 + return map;
  94 + }
  95 +
  96 + /**
  97 + * 计算并集
  98 + *
  99 + * @param all
  100 + * @param sub
  101 + * @return
  102 + */
  103 + public List<String> calcUnion(Collection<String> all, Collection<String> sub) {
  104 + List<String> rs = new ArrayList<>();
  105 +
  106 + for (String str : all) {
  107 + if (sub.contains(str))
  108 + rs.add(str);
  109 + }
  110 + return rs;
  111 + }
  112 +
  113 + /**
  114 + * 计算补集
  115 + *
  116 + * @param all
  117 + * @param sub
  118 + * @return
  119 + */
  120 + public List<String> calcComplement(Collection<String> all, Collection<String> sub) {
  121 + List<String> rs = new ArrayList<>();
  122 +
  123 + for (String str : all) {
  124 + if (!sub.contains(str))
  125 + rs.add(str);
  126 + }
  127 + return rs;
  128 + }
  129 +}
src/main/java/com/bsth/entity/mcy_forms/Singledata.java
@@ -7,6 +7,7 @@ public class Singledata { @@ -7,6 +7,7 @@ public class Singledata {
7 private String gS;//所属公司 7 private String gS;//所属公司
8 8
9 private String xL;//线路 9 private String xL;//线路
  10 + private String xlmc;//线路名称
10 11
11 private String clzbh;//车号 12 private String clzbh;//车号
12 13
@@ -141,6 +142,14 @@ public class Singledata { @@ -141,6 +142,14 @@ public class Singledata {
141 public void setJhjl(String jhjl) { 142 public void setJhjl(String jhjl) {
142 this.jhjl = jhjl; 143 this.jhjl = jhjl;
143 } 144 }
  145 +
  146 + public String getXlmc() {
  147 + return xlmc;
  148 + }
  149 +
  150 + public void setXlmc(String xlmc) {
  151 + this.xlmc = xlmc;
  152 + }
144 153
145 154
146 155
src/main/java/com/bsth/repository/LineRepository.java
1 package com.bsth.repository; 1 package com.bsth.repository;
2 2
  3 +import java.util.Date;
3 import java.util.List; 4 import java.util.List;
  5 +import java.util.Map;
4 6
  7 +import org.springframework.data.jpa.repository.Modifying;
5 import org.springframework.data.jpa.repository.Query; 8 import org.springframework.data.jpa.repository.Query;
6 import org.springframework.stereotype.Repository; 9 import org.springframework.stereotype.Repository;
  10 +import org.springframework.transaction.annotation.Transactional;
7 11
8 import com.bsth.entity.Line; 12 import com.bsth.entity.Line;
9 13
@@ -24,8 +28,7 @@ import com.bsth.entity.Line; @@ -24,8 +28,7 @@ import com.bsth.entity.Line;
24 */ 28 */
25 @Repository 29 @Repository
26 public interface LineRepository extends BaseRepository<Line, Integer> { 30 public interface LineRepository extends BaseRepository<Line, Integer> {
27 -  
28 - 31 +
29 /** 32 /**
30 * 获取线路编码 33 * 获取线路编码
31 * 34 *
@@ -33,15 +36,31 @@ public interface LineRepository extends BaseRepository&lt;Line, Integer&gt; { @@ -33,15 +36,31 @@ public interface LineRepository extends BaseRepository&lt;Line, Integer&gt; {
33 */ 36 */
34 @Query(value = " SELECT IFNULL(num,0) as maxId from (SELECT MAX(id) as num FROM bsth_c_line) k ", nativeQuery = true) 37 @Query(value = " SELECT IFNULL(num,0) as maxId from (SELECT MAX(id) as num FROM bsth_c_line) k ", nativeQuery = true)
35 public long selectMaxIdToLineCode(); 38 public long selectMaxIdToLineCode();
36 - 39 +
37 @Query(value = " SELECT l FROM Line l where l.name like ?1") 40 @Query(value = " SELECT l FROM Line l where l.name like ?1")
38 List<Line> findLine(String line); 41 List<Line> findLine(String line);
39 - 42 +
40 public Line findByLineCode(String string); 43 public Line findByLineCode(String string);
41 - 44 +
42 @Query(value = " SELECT l FROM Line l where l.company like %?1% and l.brancheCompany like %?2% and l.lineCode like ?3") 45 @Query(value = " SELECT l FROM Line l where l.company like %?1% and l.brancheCompany like %?2% and l.lineCode like ?3")
43 public List<Line> findLineBygsBm(String gsBm, String fgsBm, String line); 46 public List<Line> findLineBygsBm(String gsBm, String fgsBm, String line);
44 47
45 @Query("SELECT L FROM Line L where L.destroy=0") 48 @Query("SELECT L FROM Line L where L.destroy=0")
46 List<Line> findAllService(); 49 List<Line> findAllService();
  50 +
  51 +
  52 + @Modifying
  53 + @Query(value = "UPDATE Line l set l.name=?1 , l.company=?2, l.brancheCompany=?3, "
  54 + + "l.level=?4, l.nature=?5, l.startStationName=?6, l.endStationName=?7, l.startStationFirstTime=?8, "
  55 + + "l.startStationEndTime=?9, l.endStationFirstTime=?10, l.endStationEndTime=?11, l.linePlayType=?12, "
  56 + + "l.openDate=?13, l.es=?14, l.shortName=?15, l.shanghaiLinecode=?16, l.eqLinecode=?17, l.startPhone=?18, "
  57 + + "l.endPhone=?19, l.carSumNumber=?20, l.hvacCarNumber=?21, l.ordCarNumber=?22, l.history=?23, "
  58 + + "l.descriptions=?24, l.destroy=?25, l.supperLine=?26, l.spacGrade=?27, l.warrantCar=?28 where "
  59 + + "l.lineCode=?29 ")
  60 + public int update(String name, String company, String brancheCompany, String level, String nature,
  61 + String startStationName, String endStationName, String startStationFirstTime, String startStationEndTime,
  62 + String endStationFirstTime, String endStationEndTime, Integer linePlayType, Date openDate, String es,
  63 + String shortName, String shanghaiLinecode, String eqLinecode, String startPhone, String endPhone,
  64 + Integer carSumNumber, Integer hvacCarNumber, Integer ordCarNumber, String history, String descriptions,
  65 + Integer destroy, Integer supperLine, Integer spacGrade, Integer warrantCar, String lineCode);
47 } 66 }
src/main/java/com/bsth/repository/realcontrol/ScheduleRealInfoRepository.java
@@ -25,16 +25,16 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI @@ -25,16 +25,16 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI
25 @Query(value="select s from ScheduleRealInfo s where s.id = ?1 ") 25 @Query(value="select s from ScheduleRealInfo s where s.id = ?1 ")
26 ScheduleRealInfo scheduleById(Long id); 26 ScheduleRealInfo scheduleById(Long id);
27 27
28 - @Query(value="select s from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 and bc_type not in ('in','out') order by (lpName+1),clZbh,realExecDate,dfsj") 28 + @Query(value="select s from ScheduleRealInfo s where s.xlBm = ?1 and s.scheduleDateStr = ?2 and bc_type not in ('in','out') order by (lpName+1),clZbh,realExecDate,dfsj")
29 List<ScheduleRealInfo> scheduleDailyQp(String line,String date); 29 List<ScheduleRealInfo> scheduleDailyQp(String line,String date);
30 30
31 - @Query(value="select s from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 GROUP BY s.id,s.jGh,s.clZbh,s.lpName order by (lpName+1)") 31 + @Query(value="select s from ScheduleRealInfo s where s.xlBm = ?1 and s.scheduleDateStr = ?2 GROUP BY s.id,s.jGh,s.clZbh,s.lpName order by (lpName+1)")
32 List<ScheduleRealInfo> queryUserInfo(String line,String date); 32 List<ScheduleRealInfo> queryUserInfo(String line,String date);
33 33
34 - @Query(value="select min(s.id), s.jGh,s.clZbh,s.lpName,s.jName from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 GROUP BY s.jGh,s.clZbh,s.lpName ,s.jName order by (lpName+1)") 34 + @Query(value="select min(s.id), s.jGh,s.clZbh,s.lpName,s.jName from ScheduleRealInfo s where s.xlBm = ?1 and s.scheduleDateStr = ?2 GROUP BY s.jGh,s.clZbh,s.lpName ,s.jName order by (lpName+1)")
35 List<ScheduleRealInfo> queryUserInfo2(String line,String date); 35 List<ScheduleRealInfo> queryUserInfo2(String line,String date);
36 36
37 - @Query(value="select min(s.id), s.clZbh from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 GROUP BY s.clZbh ") 37 + @Query(value="select min(s.id), s.clZbh from ScheduleRealInfo s where s.xlBm = ?1 and s.scheduleDateStr = ?2 GROUP BY s.clZbh ")
38 List<ScheduleRealInfo> queryUserInfo3(String line,String date); 38 List<ScheduleRealInfo> queryUserInfo3(String line,String date);
39 39
40 @Query(value="select s from ScheduleRealInfo s where s.jName = ?1 and s.clZbh = ?2 and s.lpName = ?3 order by bcs") 40 @Query(value="select s from ScheduleRealInfo s where s.jName = ?1 and s.clZbh = ?2 and s.lpName = ?3 order by bcs")
@@ -43,7 +43,7 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI @@ -43,7 +43,7 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI
43 //把sum(addMileage) 替换为0 数据表去掉了 add_mileage 字段 43 //把sum(addMileage) 替换为0 数据表去掉了 add_mileage 字段
44 @Query(value="select new map(clZbh as clZbh,jGh as jGh,jName as jName,sum(jhlc) as zgl," 44 @Query(value="select new map(clZbh as clZbh,jGh as jGh,jName as jName,sum(jhlc) as zgl,"
45 + "0 as ksgl,count(jName) as bcs) from ScheduleRealInfo s where" 45 + "0 as ksgl,count(jName) as bcs) from ScheduleRealInfo s where"
46 - + " s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 group by clZbh,jGh,jName") 46 + + " s.xlBm = ?1 and s.scheduleDateStr = ?2 group by clZbh,jGh,jName")
47 List<Map<String, Object>> dailyInfo(String line,String date); 47 List<Map<String, Object>> dailyInfo(String line,String date);
48 48
49 @Query(value="select t.inside_code,d.sender,d.txt_content,d.timestamp,0 as xlbm from (" 49 @Query(value="select t.inside_code,d.sender,d.txt_content,d.timestamp,0 as xlbm from ("
@@ -57,7 +57,7 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI @@ -57,7 +57,7 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI
57 @Query(value="SELECT r.xl_name,r.lp_name,r.cl_zbh,count(*) as cs " 57 @Query(value="SELECT r.xl_name,r.lp_name,r.cl_zbh,count(*) as cs "
58 + " FROM bsth_c_s_sp_info_real r RIGHT JOIN bsth_v_directive_60 d " 58 + " FROM bsth_c_s_sp_info_real r RIGHT JOIN bsth_v_directive_60 d "
59 + " ON r.id = d.sch WHERE d.is_dispatch = 1 AND r.xl_bm like %?1% AND " 59 + " ON r.id = d.sch WHERE d.is_dispatch = 1 AND r.xl_bm like %?1% AND "
60 - + " DATE_FORMAT(r.schedule_date,'%Y-%m-%d') = ?2 and r.cl_zbh like %?3% group by " 60 + + " r.schedule_date_str = ?2 and r.cl_zbh like %?3% group by "
61 + " lp_name,xl_name,cl_zbh",nativeQuery=true) 61 + " lp_name,xl_name,cl_zbh",nativeQuery=true)
62 List<Object[]> historyMessageCount(String line,String date,String code); 62 List<Object[]> historyMessageCount(String line,String date,String code);
63 63
@@ -72,7 +72,7 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI @@ -72,7 +72,7 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI
72 List<ScheduleRealInfo> findByDate(String dateStr); 72 List<ScheduleRealInfo> findByDate(String dateStr);
73 73
74 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) 74 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH)
75 - @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 and cl_zbh=?3 order by bcs") 75 + @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm = ?1 and s.scheduleDateStr = ?2 and cl_zbh=?3 order by bcs")
76 List<ScheduleRealInfo> findByDate2(String line,String date,String clzbh); 76 List<ScheduleRealInfo> findByDate2(String line,String date,String clzbh);
77 77
78 @Query(value="select count(jName) from ScheduleRealInfo s where s.jName = ?1 and s.clZbh = ?2 and s.lpName = ?3 and s.status = -1") 78 @Query(value="select count(jName) from ScheduleRealInfo s where s.jName = ?1 and s.clZbh = ?2 and s.lpName = ?3 and s.status = -1")
@@ -84,17 +84,17 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI @@ -84,17 +84,17 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI
84 @Query(value="SELECT request_code,FROM_UNIXTIME(TIMESTAMP / 1000,'%Y-%m-%d %T') as TIMESTAMP ,device_id FROM bsth_v_report_80 WHERE FROM_UNIXTIME( TIMESTAMP / 1000,'%Y-%m-%d') = ?2 AND line_id = ?1 and device_id like %?3%",nativeQuery=true) 84 @Query(value="SELECT request_code,FROM_UNIXTIME(TIMESTAMP / 1000,'%Y-%m-%d %T') as TIMESTAMP ,device_id FROM bsth_v_report_80 WHERE FROM_UNIXTIME( TIMESTAMP / 1000,'%Y-%m-%d') = ?2 AND line_id = ?1 and device_id like %?3%",nativeQuery=true)
85 List<Object[]> account(String line,String date,String code); 85 List<Object[]> account(String line,String date,String code);
86 86
87 - @Query(value="select s from ScheduleRealInfo s where s.xlBm = ?1 and s.scheduleDate >= str_to_date(?2,'%Y-%m-%d') "  
88 - + " and s.scheduleDate <= str_to_date(?3,'%Y-%m-%d') and s.lpName like %?4% " 87 + @Query(value="select s from ScheduleRealInfo s where s.xlBm = ?1 and s.scheduleDateStr >= ?2 "
  88 + + " and s.scheduleDateStr <= ?3 and s.lpName like %?4% "
89 + " and clZbh like %?5% order by s.fcsj") 89 + " and clZbh like %?5% order by s.fcsj")
90 List<ScheduleRealInfo> correctForm(String line,String startDate,String endDate,String lpName,String code); 90 List<ScheduleRealInfo> correctForm(String line,String startDate,String endDate,String lpName,String code);
91 91
92 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) 92 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH)
93 - @Query(value="select DISTINCT s from ScheduleRealInfo s where s.jName = ?1 and s.clZbh = ?2 and s.lpName = ?3 and s.scheduleDate = str_to_date(?4,'%Y-%m-%d') and s.xlBm=?5 order by realExecDate,fcsj") 93 + @Query(value="select DISTINCT s from ScheduleRealInfo s where s.jName = ?1 and s.clZbh = ?2 and s.lpName = ?3 and s.scheduleDateStr = ?4 and s.xlBm=?5 order by realExecDate,fcsj")
94 List<ScheduleRealInfo> queryListWaybill(String jName,String clZbh,String lpName,String date,String line); 94 List<ScheduleRealInfo> queryListWaybill(String jName,String clZbh,String lpName,String date,String line);
95 95
96 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) 96 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH)
97 - @Query(value="select DISTINCT s from ScheduleRealInfo s where s.jGh = ?1 and s.clZbh = ?2 and s.lpName = ?3 and s.scheduleDate = str_to_date(?4,'%Y-%m-%d') and s.xlBm=?5 order by realExecDate,fcsj") 97 + @Query(value="select DISTINCT s from ScheduleRealInfo s where s.jGh = ?1 and s.clZbh = ?2 and s.lpName = ?3 and s.scheduleDateStr = ?4 and s.xlBm=?5 order by realExecDate,fcsj")
98 List<ScheduleRealInfo> queryListWaybillXcld(String jGh,String clZbh,String lpName,String date,String line); 98 List<ScheduleRealInfo> queryListWaybillXcld(String jGh,String clZbh,String lpName,String date,String line);
99 99
100 // @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) 100 // @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH)
@@ -102,27 +102,27 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI @@ -102,27 +102,27 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI
102 // List<ScheduleRealInfo> queryListWaybill3(String jName,String clZbh,String date,String gsbm,String fgsbm); 102 // List<ScheduleRealInfo> queryListWaybill3(String jName,String clZbh,String date,String gsbm,String fgsbm);
103 103
104 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) 104 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH)
105 - @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 order by s.xlBm,s.clZbh,s.jGh,s.adjustExps,s.fcsj") 105 + @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm = ?1 and s.scheduleDateStr = ?2 order by s.xlBm,s.clZbh,s.jGh,s.adjustExps,s.fcsj")
106 List<ScheduleRealInfo> scheduleByDateAndLineTjrb(String line,String date); 106 List<ScheduleRealInfo> scheduleByDateAndLineTjrb(String line,String date);
107 107
108 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) 108 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH)
109 - @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 and s.xlDir=?3 and s.fcsjActual is not null and s.zdsjActual is not null order by s.realExecDate,s.fcsjActual") 109 + @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm = ?1 and s.scheduleDateStr = ?2 and s.xlDir=?3 and s.fcsjActual is not null and s.zdsjActual is not null order by s.realExecDate,s.fcsjActual")
110 List<ScheduleRealInfo> scheduleByDateAndLineInOut(String line,String date,String zd); 110 List<ScheduleRealInfo> scheduleByDateAndLineInOut(String line,String date,String zd);
111 111
112 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) 112 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH)
113 - @Query(value="select DISTINCT s from ScheduleRealInfo s where s.clZbh = ?1 and s.scheduleDate = str_to_date(?2,'%Y-%m-%d') and xlBm =?3 order by realExecDate,fcsj") 113 + @Query(value="select DISTINCT s from ScheduleRealInfo s where s.clZbh = ?1 and s.scheduleDateStr = ?2 and xlBm =?3 order by realExecDate,fcsj")
114 List<ScheduleRealInfo> queryListWaybill2(String clZbh,String date,String line); 114 List<ScheduleRealInfo> queryListWaybill2(String clZbh,String date,String line);
115 115
116 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) 116 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH)
117 - @Query(value="select DISTINCT s from ScheduleRealInfo s where s.jGh like %?1% and s.clZbh like %?2% and s.scheduleDate = str_to_date(?3,'%Y-%m-%d') and s.gsBm like %?4% and s.fgsBm like %?5% order by realExecDate,dfsj") 117 + @Query(value="select DISTINCT s from ScheduleRealInfo s where s.jGh like %?1% and s.clZbh like %?2% and s.scheduleDateStr = ?3 and s.gsBm like %?4% and s.fgsBm like %?5% order by realExecDate,dfsj")
118 List<ScheduleRealInfo> queryListWaybill3(String jName,String clZbh,String date,String gsbm,String fgsbm); 118 List<ScheduleRealInfo> queryListWaybill3(String jName,String clZbh,String date,String gsbm,String fgsbm);
119 119
120 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) 120 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH)
121 - @Query(value="select DISTINCT s from ScheduleRealInfo s where s.jName = ?1 and s.clZbh = ?2 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') between str_to_date(?3,'%Y-%m-%d') and str_to_date(?4,'%Y-%m-%d') order by bcs") 121 + @Query(value="select DISTINCT s from ScheduleRealInfo s where s.jName = ?1 and s.clZbh = ?2 and s.scheduleDateStr >=?3 and s.scheduleDateStr <=?4 order by bcs")
122 List<ScheduleRealInfo> queryListWaybill4(String jName,String clZbh,String date,String enddate); 122 List<ScheduleRealInfo> queryListWaybill4(String jName,String clZbh,String date,String enddate);
123 123
124 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) 124 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH)
125 - @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2") 125 + @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm = ?1 and s.scheduleDateStr = ?2")
126 List<ScheduleRealInfo> scheduleDaily(String line,String date); 126 List<ScheduleRealInfo> scheduleDaily(String line,String date);
127 127
128 @Query(value = "select count(*) from ScheduleRealInfo s where s.xlBm=?1 and s.scheduleDateStr=?2") 128 @Query(value = "select count(*) from ScheduleRealInfo s where s.xlBm=?1 and s.scheduleDateStr=?2")
@@ -139,66 +139,66 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI @@ -139,66 +139,66 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI
139 139
140 //去掉了 xlBm is not null 140 //去掉了 xlBm is not null
141 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) 141 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH)
142 - @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm like %?1% and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 order by s.xlDir,s.realExecDate,s.fcsj, lpName") 142 + @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm like %?1% and s.scheduleDateStr = ?2 order by s.xlDir,s.realExecDate,s.fcsj, lpName")
143 List<ScheduleRealInfo> scheduleByDateAndLine(String line,String date); 143 List<ScheduleRealInfo> scheduleByDateAndLine(String line,String date);
144 144
145 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) 145 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH)
146 - @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm =?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 order by s.lpName, s.realExecDate,s.fcsj") 146 + @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm =?1 and s.scheduleDateStr = ?2 order by s.lpName, s.realExecDate,s.fcsj")
147 List<ScheduleRealInfo> scheduleByDateAndLineQp(String line,String date); 147 List<ScheduleRealInfo> scheduleByDateAndLineQp(String line,String date);
148 148
149 149
150 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) 150 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH)
151 - @Query(value="select DISTINCT s from ScheduleRealInfo s where gsBm like %?1% and fgsBm like %?2% and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?3 order by s.xlDir,s.realExecDate,s.fcsj, s.lpName") 151 + @Query(value="select DISTINCT s from ScheduleRealInfo s where gsBm like %?1% and fgsBm like %?2% and s.scheduleDateStr = ?3 order by s.xlDir,s.realExecDate,s.fcsj, s.lpName")
152 List<ScheduleRealInfo> scheduleByDateAndLineByGs_(String gsdm,String fgsdm,String date); 152 List<ScheduleRealInfo> scheduleByDateAndLineByGs_(String gsdm,String fgsdm,String date);
153 153
154 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) 154 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH)
155 - @Query(value="select DISTINCT s from ScheduleRealInfo s where gsBm like %?1% and fgsBm like %?2% and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?3 and s.bcType not in ('in','out','ldks') order by s.xlDir,s.realExecDate,s.fcsj, s.lpName") 155 + @Query(value="select DISTINCT s from ScheduleRealInfo s where gsBm like %?1% and fgsBm like %?2% and s.scheduleDateStr = ?3 and s.bcType not in ('in','out','ldks') order by s.xlDir,s.realExecDate,s.fcsj, s.lpName")
156 List<ScheduleRealInfo> scheduleByDateAndLineByGs(String gsdm,String fgsdm,String date); 156 List<ScheduleRealInfo> scheduleByDateAndLineByGs(String gsdm,String fgsdm,String date);
157 157
158 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) 158 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH)
159 - @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 order by s.xlDir,s.realExecDate,s.fcsj, s.lpName") 159 + @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm = ?1 and s.scheduleDateStr= ?2 order by s.xlDir,s.realExecDate,s.fcsj, s.lpName")
160 List<ScheduleRealInfo> scheduleByDateAndLineQp2(String line,String date); 160 List<ScheduleRealInfo> scheduleByDateAndLineQp2(String line,String date);
161 161
162 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) 162 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH)
163 - @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 and s.bcType not in ('in','out','ldks') order by s.xlBm,s.adjustExps,s.fcsj") 163 + @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm = ?1 and s.scheduleDateStr = ?2 and s.bcType not in ('in','out','ldks') order by s.xlBm,s.adjustExps,s.fcsj")
164 List<ScheduleRealInfo> scheduleByDateAndLine2(String line,String date); 164 List<ScheduleRealInfo> scheduleByDateAndLine2(String line,String date);
165 165
166 //按月统计 166 //按月统计
167 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) 167 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH)
168 - @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm like %?1% and DATE_FORMAT(s.scheduleDate,'%Y-%m') = ?2 and s.bcType not in ('in','out','ldks') order by s.xlBm") 168 + @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm like %?1% and s.scheduleDateStr = ?2 and s.bcType not in ('in','out','ldks') order by s.xlBm")
169 List<ScheduleRealInfo> scheduleByDateAndLine3(String line,String date); 169 List<ScheduleRealInfo> scheduleByDateAndLine3(String line,String date);
170 170
171 //按照时间段统计 171 //按照时间段统计
172 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) 172 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH)
173 - @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm like %?1% and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') between ?2 and ?3 and gsBm like %?4% and fgsBm like %?5% order by s.xlBm") 173 + @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm like %?1% and s.scheduleDateStr >= ?2 and s.scheduleDateStr<= ?3 and gsBm like %?4% and fgsBm like %?5% order by s.xlBm")
174 List<ScheduleRealInfo> scheduleByDateAndLineTj(String line,String date,String date2,String gsdm,String fgsdm); 174 List<ScheduleRealInfo> scheduleByDateAndLineTj(String line,String date,String date2,String gsdm,String fgsdm);
175 175
176 //按照时间段统计 176 //按照时间段统计
177 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) 177 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH)
178 - @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') between ?2 and ?3 order by s.xlBm") 178 + @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm = ?1 and s.scheduleDateStr >= ?2 and s.scheduleDateStr<= ?3 order by s.xlBm")
179 List<ScheduleRealInfo> scheduleByDateAndLineTj2(String line,String date,String date2); 179 List<ScheduleRealInfo> scheduleByDateAndLineTj2(String line,String date,String date2);
180 //月报表 180 //月报表
181 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) 181 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH)
182 - @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') between ?2 and ?3 order by s.xlBm") 182 + @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm = ?1 and s.scheduleDateStr >= ?2 and s.scheduleDateStr<= ?3 order by s.xlBm")
183 List<ScheduleRealInfo> scheduleByDateAndLineYbb(String line,String date,String date2); 183 List<ScheduleRealInfo> scheduleByDateAndLineYbb(String line,String date,String date2);
184 184
185 185
186 - @Query(value="select new map(s.scheduleDate as scheduleDate,s.xlBm as xlBm,s.clZbh as clZbh,s.jGh as jGh,min(s.fcsj) as fcsj ) from ScheduleRealInfo s where s.xlBm like %?1% and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 and s.gsBm like %?3% and s.fgsBm like %?4% and s.clZbh like %?5% GROUP BY xlBm,clZbh,jGh,scheduleDate ORDER BY clZbh,fcsj") 186 + @Query(value="select new map(s.scheduleDate as scheduleDate,s.xlBm as xlBm,s.clZbh as clZbh,s.jGh as jGh,min(s.fcsj) as fcsj ) from ScheduleRealInfo s where s.xlBm like %?1% and s.scheduleDateStr = ?2 and s.gsBm like %?3% and s.fgsBm like %?4% and s.clZbh like %?5% GROUP BY xlBm,clZbh,jGh,scheduleDate ORDER BY clZbh,fcsj")
187 List<Map<String,Object>> yesterdayDataList(String line,String date,String gsbm,String fgsbm,String nbbm); 187 List<Map<String,Object>> yesterdayDataList(String line,String date,String gsbm,String fgsbm,String nbbm);
188 188
189 - @Query(value="select new map(s.scheduleDate as scheduleDate,s.xlBm as xlBm,s.clZbh as clZbh,s.jGh as jGh,min(s.fcsj) as fcsj ) from ScheduleRealInfo s where s.xlBm =?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 and s.gsBm like %?3% and s.fgsBm like %?4% and s.clZbh like %?5% GROUP BY xlBm,clZbh,jGh,scheduleDate ORDER BY clZbh,fcsj") 189 + @Query(value="select new map(s.scheduleDate as scheduleDate,s.xlBm as xlBm,s.clZbh as clZbh,s.jGh as jGh,min(s.fcsj) as fcsj ) from ScheduleRealInfo s where s.xlBm =?1 and s.scheduleDateStr = ?2 and s.gsBm like %?3% and s.fgsBm like %?4% and s.clZbh like %?5% GROUP BY xlBm,clZbh,jGh,scheduleDate ORDER BY clZbh,fcsj")
190 List<Map<String,Object>> yesterdayDataList_eq(String line,String date,String gsbm,String fgsbm,String nbbm); 190 List<Map<String,Object>> yesterdayDataList_eq(String line,String date,String gsbm,String fgsbm,String nbbm);
191 191
192 - @Query(value="select s from ScheduleRealInfo s where DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?1 ORDER BY xlBm,lpName,clZbh,xlDir") 192 + @Query(value="select s from ScheduleRealInfo s where s.scheduleDateStr = ?1 ORDER BY xlBm,lpName,clZbh,xlDir")
193 List<ScheduleRealInfo> setLD(String date); 193 List<ScheduleRealInfo> setLD(String date);
194 194
195 - @Query(value="select new map(xlBm as xlBm,lpName as lpName,clZbh as clZbh) from ScheduleRealInfo s where DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?1 GROUP BY xlBm,lpName,clZbh ORDER BY xlBm,lpName,clZbh") 195 + @Query(value="select new map(xlBm as xlBm,lpName as lpName,clZbh as clZbh) from ScheduleRealInfo s where s.scheduleDateStr = ?1 GROUP BY xlBm,lpName,clZbh ORDER BY xlBm,lpName,clZbh")
196 List<Map<String,Object>> setLDGroup(String date); 196 List<Map<String,Object>> setLDGroup(String date);
197 197
198 - @Query(value="select new map(xlBm as xlBm,clZbh as clZbh) from ScheduleRealInfo s where DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?1 GROUP BY xlBm,clZbh ORDER BY xlBm,clZbh") 198 + @Query(value="select new map(xlBm as xlBm,clZbh as clZbh) from ScheduleRealInfo s where s.scheduleDateStr = ?1 GROUP BY xlBm,clZbh ORDER BY xlBm,clZbh")
199 List<Map<String,Object>> setLCYHGroup(String date); 199 List<Map<String,Object>> setLCYHGroup(String date);
200 200
201 - @Query(value="select new map(xlBm as xlBm) from ScheduleRealInfo s where DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?1 GROUP BY xlBm ORDER BY xlBm") 201 + @Query(value="select new map(xlBm as xlBm) from ScheduleRealInfo s where s.scheduleDateStr = ?1 GROUP BY xlBm ORDER BY xlBm")
202 List<Map<String,Object>> setDDRBGroup(String date); 202 List<Map<String,Object>> setDDRBGroup(String date);
203 203
204 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) 204 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH)
src/main/java/com/bsth/service/LineService.java
@@ -36,4 +36,6 @@ public interface LineService extends BaseService&lt;Line, Integer&gt; { @@ -36,4 +36,6 @@ public interface LineService extends BaseService&lt;Line, Integer&gt; {
36 Line findById(Integer id); 36 Line findById(Integer id);
37 37
38 String lineCodeVerification(String lineCode); 38 String lineCodeVerification(String lineCode);
  39 +
  40 + Map<String, Object> update(Line l);
39 } 41 }
src/main/java/com/bsth/service/TrafficManageService.java
@@ -65,6 +65,8 @@ public interface TrafficManageService { @@ -65,6 +65,8 @@ public interface TrafficManageService {
65 */ 65 */
66 String setJHBC(); 66 String setJHBC();
67 67
  68 + String setLD(String theDate);
  69 +
68 String setLD(); 70 String setLD();
69 71
70 String setLDFile(); 72 String setLDFile();
src/main/java/com/bsth/service/forms/impl/FormsServiceImpl.java
@@ -201,7 +201,7 @@ public class FormsServiceImpl implements FormsService { @@ -201,7 +201,7 @@ public class FormsServiceImpl implements FormsService {
201 + " LEFT JOIN bsth_c_s_sp_info_real r on r.xl_bm=l.line_code" 201 + " LEFT JOIN bsth_c_s_sp_info_real r on r.xl_bm=l.line_code"
202 + " where 1=1 "; 202 + " where 1=1 ";
203 if(map.get("date").toString()!=""){ 203 if(map.get("date").toString()!=""){
204 - sql+="and to_days(r.schedule_date)=to_days('"+map.get("date").toString() + "') "; 204 + sql+="and r.schedule_date_str='"+map.get("date").toString() + "'";
205 } 205 }
206 if( map.get("line").toString()!=""){ 206 if( map.get("line").toString()!=""){
207 sql+=" and l.line_code=" + map.get("line").toString(); 207 sql+=" and l.line_code=" + map.get("line").toString();
@@ -251,24 +251,14 @@ public class FormsServiceImpl implements FormsService { @@ -251,24 +251,14 @@ public class FormsServiceImpl implements FormsService {
251 }else{ 251 }else{
252 sql += " r.cl_zbh"; 252 sql += " r.cl_zbh";
253 } 253 }
254 - sql += " from bsth_c_s_sp_info_real r where 1=1 ";  
255 - if(map.get("startDate")!=null&&!map.get("startDate").equals("")){  
256 - sql+=" and to_days(r.schedule_date_str) BETWEEN to_days('" + map.get("startDate").toString() + "') ";  
257 - }  
258 -  
259 - if(map.get("endDate")!=null&&!map.get("endDate").equals("")){  
260 - sql+=" and to_days('" + map.get("endDate").toString() + "') ";  
261 - } 254 + sql += " from bsth_c_s_sp_info_real r where "
  255 + + " r.schedule_date_str >= '" + map.get("startDate").toString() + "' "
  256 + + " and r.schedule_date_str <='" + map.get("endDate").toString() + "' ";
262 if(map.get("line")!=null&&!map.get("line").equals("")){ 257 if(map.get("line")!=null&&!map.get("line").equals("")){
263 sql+=" and r.xl_bm='"+ map.get("line").toString() + "' "; 258 sql+=" and r.xl_bm='"+ map.get("line").toString() + "' ";
264 } 259 }
265 -// sql+= " AND r.gs_bm is not null and r.bc_type not in('in','out')";  
266 -// if(map.get("gsdmManth")!=null&&!map.get("gsdmManth").equals("")){  
267 - sql+=" and r.gs_bm like'%"+gsdmManth+"%' ";  
268 -// }  
269 - if(map.get("fgsdmManth")!=null&&!map.get("fgsdmManth").equals("")){  
270 - sql+=" and r.fgs_bm like'%"+fgsdmManth+"%' ";  
271 - } 260 + sql+=" and r.gs_bm like'%"+gsdmManth+"%' and r.fgs_bm like'%"+fgsdmManth+"%'";
  261 +
272 if(empnames.equals("驾驶员")){ 262 if(empnames.equals("驾驶员")){
273 sql += " GROUP BY " 263 sql += " GROUP BY "
274 + "r.j_name,r.j_gh"; 264 + "r.j_name,r.j_gh";
@@ -278,11 +268,6 @@ public class FormsServiceImpl implements FormsService { @@ -278,11 +268,6 @@ public class FormsServiceImpl implements FormsService {
278 sql += " GROUP BY r.cl_zbh"; 268 sql += " GROUP BY r.cl_zbh";
279 } 269 }
280 270
281 -// + ",r.gs_bm,r.gs_name,"  
282 -// + "r.fgs_bm,r.fgs_name,r.bc_type ";  
283 -  
284 -// r.j_name,r.cl_zbh,r.j_gh,r.gs_bm,r.gs_name,"  
285 -// + " r.fgs_bm,r.fgs_name,r.bc_type,r.s_name,r.lp_name  
286 List<Shiftuehiclemanth> list = jdbcTemplate.query(sql, new RowMapper<Shiftuehiclemanth>() { 271 List<Shiftuehiclemanth> list = jdbcTemplate.query(sql, new RowMapper<Shiftuehiclemanth>() {
287 272
288 @Override 273 @Override
@@ -409,7 +394,7 @@ public class FormsServiceImpl implements FormsService { @@ -409,7 +394,7 @@ public class FormsServiceImpl implements FormsService {
409 + "IFNULL(r.s_name,'')as s_name," 394 + "IFNULL(r.s_name,'')as s_name,"
410 + " r.cl_zbh,r.xl_bm, r.j_gh,r.gs_bm,r.fgs_bm,r.lp_name " 395 + " r.cl_zbh,r.xl_bm, r.j_gh,r.gs_bm,r.fgs_bm,r.lp_name "
411 + "FROM bsth_c_s_sp_info_real r where 1=1 " 396 + "FROM bsth_c_s_sp_info_real r where 1=1 "
412 - + " and to_days(r.schedule_date)=to_days('"+date + "') " 397 + + " and r.schedule_date_str='"+date + "' "
413 + " and r.xl_bm like '%"+line+"%' " 398 + " and r.xl_bm like '%"+line+"%' "
414 + " and r.gs_bm like '%"+gsdmShif+"%' " 399 + " and r.gs_bm like '%"+gsdmShif+"%' "
415 + " and r.fgs_bm like '%"+fgsdmShif+"%' ) t" 400 + " and r.fgs_bm like '%"+fgsdmShif+"%' ) t"
@@ -547,19 +532,6 @@ public class FormsServiceImpl implements FormsService { @@ -547,19 +532,6 @@ public class FormsServiceImpl implements FormsService {
547 if(map.get("fgsdm")!=null){ 532 if(map.get("fgsdm")!=null){
548 fgs =map.get("fgsdm").toString(); 533 fgs =map.get("fgsdm").toString();
549 } 534 }
550 - /*String sql = " select c.*,l.line_code from bsth_c_chtoch c LEFT JOIN bsth_c_line l on c.xl=l.name WHERE 1=1 ";  
551 - if (!map.get("startDate").toString().equals(" ") && !map.get("endDate").toString().equals(" ")) {  
552 - sql += "and DATE_FORMAT( c.rq,'%Y-%m-%d') BETWEEN '" + map.get("startDate").toString() + "' and '"  
553 - + map.get("endDate").toString() + "'";  
554 - }  
555 - if (!map.get("line").equals("")) {  
556 - sql += "and line_code='" + map.get("line") + "'";  
557 - }  
558 - if (map.get("sel").equals("2")) {  
559 - sql += " and c.pcch!=c.pcry";  
560 - } else if (map.get("sel").equals("1")) {  
561 - sql += " and c.jhgh!=c.sjgh";  
562 - }*/  
563 535
564 String sql="select * from bsth_c_chtoch where rq BETWEEN '"+ map.get("startDate").toString()+"' " 536 String sql="select * from bsth_c_chtoch where rq BETWEEN '"+ map.get("startDate").toString()+"' "
565 + " and '"+map.get("endDate").toString() +"'"; 537 + " and '"+map.get("endDate").toString() +"'";
@@ -630,19 +602,6 @@ public class FormsServiceImpl implements FormsService { @@ -630,19 +602,6 @@ public class FormsServiceImpl implements FormsService {
630 602
631 // rq = rq2 + "-" + rq3; 603 // rq = rq2 + "-" + rq3;
632 startDate = map.get("startDate").toString(); 604 startDate = map.get("startDate").toString();
633 -// endDate = map.get("endDate").toString();  
634 -// String sql = "select t.*,y.yh,y.jzl from ("  
635 -// + " select r.xl_bm,r.xl_name,r.cl_zbh,r.j_gh,r.j_name,r.gs_bm,r.fgs_bm"  
636 -// + " from bsth_c_s_sp_info_real r where r.schedule_date_str "  
637 -// + " BETWEEN '"+startDate+"' and '"+endDate+"' and r.xl_bm='"+map.get("line").toString()+"' "  
638 -// + " AND r.gs_bm is not null and r.gs_bm='"+map.get("gsdmSing").toString()+"' "  
639 -// + " and r.fgs_bm='"+map.get("fgsdmSing").toString()+"' "  
640 -// + " group by r.xl_bm,r.xl_name,r.cl_zbh,r.j_gh,r.j_name,r.gs_bm,r.fgs_bm) t "  
641 -// + " LEFT JOIN (select a.nbbm,a.jsy,SUM(a.yh) as yh,SUM(a.jzl) as jzl "  
642 -// + " from bsth_c_ylb a where a.rq BETWEEN '"+startDate+"' and '"+endDate+"'and "  
643 -// + " a.ssgsdm='"+map.get("gsdmSing").toString()+"' and a.fgsdm='"+map.get("fgsdmSing").toString()+"' "  
644 -// + "group by a.nbbm,a.jsy) y"  
645 -// + " on y.nbbm=t.cl_zbh and y.jsy= t.j_gh";  
646 605
647 String sql="select r.s_gh,r.s_name, " 606 String sql="select r.s_gh,r.s_name, "
648 + " r.xl_bm,r.cl_zbh,r.j_gh,r.j_name,r.gs_bm,r.fgs_bm" 607 + " r.xl_bm,r.cl_zbh,r.j_gh,r.j_name,r.gs_bm,r.fgs_bm"
@@ -775,19 +734,28 @@ public class FormsServiceImpl implements FormsService { @@ -775,19 +734,28 @@ public class FormsServiceImpl implements FormsService {
775 String line=y.getXlbm(); 734 String line=y.getXlbm();
776 String clzbh=y.getNbbm(); 735 String clzbh=y.getNbbm();
777 List<ScheduleRealInfo> newList=new ArrayList<ScheduleRealInfo>(); 736 List<ScheduleRealInfo> newList=new ArrayList<ScheduleRealInfo>();
  737 + List<ScheduleRealInfo> newList_=new ArrayList<ScheduleRealInfo>();
778 for (int j = 0; j < listReal.size(); j++) { 738 for (int j = 0; j < listReal.size(); j++) {
779 ScheduleRealInfo s=listReal.get(j); 739 ScheduleRealInfo s=listReal.get(j);
780 if(s.getjGh().equals(jsy) && s.getClZbh().equals(clzbh) 740 if(s.getjGh().equals(jsy) && s.getClZbh().equals(clzbh)
781 &&s.getXlBm().equals(line)){ 741 &&s.getXlBm().equals(line)){
782 newList.add(s); 742 newList.add(s);
  743 + Set<ChildTaskPlan> cts = s.getcTasks();
  744 + if(cts != null && cts.size() > 0){
  745 + newList_.add(s);
  746 + }else{
  747 + if(s.getZdsjActual()!=null){
  748 + newList_.add(s);
  749 + }
  750 + }
783 } 751 }
784 } 752 }
785 double jhgl=culateMileageService.culateJhgl(newList); 753 double jhgl=culateMileageService.culateJhgl(newList);
786 double jhjcc=culateMileageService.culateJhJccgl(newList); 754 double jhjcc=culateMileageService.culateJhJccgl(newList);
787 - double yygl=culateMileageService.culateSjgl(newList);  
788 - double ljgl=culateMileageService.culateLjgl(newList);  
789 - double ksgl=culateMileageService.culateKsgl(newList);  
790 - double jcgl=culateMileageService.culateJccgl(newList); 755 + double yygl=culateMileageService.culateSjgl(newList_);
  756 + double ljgl=culateMileageService.culateLjgl(newList_);
  757 + double ksgl=culateMileageService.culateKsgl(newList_);
  758 + double jcgl=culateMileageService.culateJccgl(newList_);
791 759
792 double zyygl=Arith.add(yygl, ljgl); 760 double zyygl=Arith.add(yygl, ljgl);
793 double zksgl=Arith.add(ksgl, jcgl); 761 double zksgl=Arith.add(ksgl, jcgl);
@@ -797,7 +765,8 @@ public class FormsServiceImpl implements FormsService { @@ -797,7 +765,8 @@ public class FormsServiceImpl implements FormsService {
797 765
798 sin.setEmptMileage(String.valueOf(zksgl)); 766 sin.setEmptMileage(String.valueOf(zksgl));
799 sin.setJhjl(String.valueOf(Arith.add(jhgl,jhjcc))); 767 sin.setJhjl(String.valueOf(Arith.add(jhgl,jhjcc)));
800 - sin.setxL(BasicData.lineCode2NameMap.get(y.getXlbm())); 768 + sin.setxL(y.getXlbm());
  769 + sin.setXlmc(BasicData.lineCode2NameMap.get(y.getXlbm()));
801 sin.setClzbh(clzbh); 770 sin.setClzbh(clzbh);
802 sin.setJsy(jsy); 771 sin.setJsy(jsy);
803 sin.setrQ(startDate); 772 sin.setrQ(startDate);
@@ -819,19 +788,28 @@ public class FormsServiceImpl implements FormsService { @@ -819,19 +788,28 @@ public class FormsServiceImpl implements FormsService {
819 String line=y.getXlbm(); 788 String line=y.getXlbm();
820 String clzbh=y.getNbbm(); 789 String clzbh=y.getNbbm();
821 List<ScheduleRealInfo> newList=new ArrayList<ScheduleRealInfo>(); 790 List<ScheduleRealInfo> newList=new ArrayList<ScheduleRealInfo>();
  791 + List<ScheduleRealInfo> newList_=new ArrayList<ScheduleRealInfo>();
822 for (int j = 0; j < listReal.size(); j++) { 792 for (int j = 0; j < listReal.size(); j++) {
823 ScheduleRealInfo s=listReal.get(j); 793 ScheduleRealInfo s=listReal.get(j);
824 if(s.getjGh().equals(jsy) && s.getClZbh().equals(clzbh) 794 if(s.getjGh().equals(jsy) && s.getClZbh().equals(clzbh)
825 &&s.getXlBm().equals(line)){ 795 &&s.getXlBm().equals(line)){
826 newList.add(s); 796 newList.add(s);
  797 + Set<ChildTaskPlan> cts = s.getcTasks();
  798 + if(cts != null && cts.size() > 0){
  799 + newList_.add(s);
  800 + }else{
  801 + if(s.getZdsjActual()!=null){
  802 + newList_.add(s);
  803 + }
  804 + }
827 } 805 }
828 } 806 }
829 double jhgl=culateMileageService.culateJhgl(newList); 807 double jhgl=culateMileageService.culateJhgl(newList);
830 double jhjcc=culateMileageService.culateJhJccgl(newList); 808 double jhjcc=culateMileageService.culateJhJccgl(newList);
831 - double yygl=culateMileageService.culateSjgl(newList);  
832 - double ljgl=culateMileageService.culateLjgl(newList);  
833 - double ksgl=culateMileageService.culateKsgl(newList);  
834 - double jcgl=culateMileageService.culateJccgl(newList); 809 + double yygl=culateMileageService.culateSjgl(newList_);
  810 + double ljgl=culateMileageService.culateLjgl(newList_);
  811 + double ksgl=culateMileageService.culateKsgl(newList_);
  812 + double jcgl=culateMileageService.culateJccgl(newList_);
835 813
836 double zyygl=Arith.add(yygl, ljgl); 814 double zyygl=Arith.add(yygl, ljgl);
837 double zksgl=Arith.add(ksgl, jcgl); 815 double zksgl=Arith.add(ksgl, jcgl);
@@ -841,7 +819,8 @@ public class FormsServiceImpl implements FormsService { @@ -841,7 +819,8 @@ public class FormsServiceImpl implements FormsService {
841 819
842 sin.setEmptMileage(String.valueOf(zksgl)); 820 sin.setEmptMileage(String.valueOf(zksgl));
843 sin.setJhjl(String.valueOf(Arith.add(jhgl,jhjcc))); 821 sin.setJhjl(String.valueOf(Arith.add(jhgl,jhjcc)));
844 - sin.setxL(BasicData.lineCode2NameMap.get(y.getXlbm())); 822 + sin.setxL(y.getXlbm());
  823 + sin.setXlmc(BasicData.lineCode2NameMap.get(y.getXlbm()));
845 sin.setClzbh(clzbh); 824 sin.setClzbh(clzbh);
846 sin.setJsy(jsy); 825 sin.setJsy(jsy);
847 sin.setrQ(startDate); 826 sin.setrQ(startDate);
@@ -855,10 +834,10 @@ public class FormsServiceImpl implements FormsService { @@ -855,10 +834,10 @@ public class FormsServiceImpl implements FormsService {
855 listD.add(sin); 834 listD.add(sin);
856 } 835 }
857 836
858 - Collections.sort(listY,new SingledataByXlbm());  
859 - Collections.sort(listD,new SingledataByXlbm());  
860 - list.addAll(listY);  
861 - list.addAll(listD); 837 + Collections.sort(listY,new SingledataByXlbm());
  838 + Collections.sort(listD,new SingledataByXlbm());
  839 + list.addAll(listY);
  840 + list.addAll(listD);
862 }else{ 841 }else{
863 String sql="select r.s_gh,r.s_name, " 842 String sql="select r.s_gh,r.s_name, "
864 + " r.xl_bm,r.cl_zbh,r.gs_bm,r.fgs_bm" 843 + " r.xl_bm,r.cl_zbh,r.gs_bm,r.fgs_bm"
@@ -894,19 +873,29 @@ public class FormsServiceImpl implements FormsService { @@ -894,19 +873,29 @@ public class FormsServiceImpl implements FormsService {
894 String line=sin.getxL(); 873 String line=sin.getxL();
895 String clzbh=sin.getClzbh(); 874 String clzbh=sin.getClzbh();
896 List<ScheduleRealInfo> newList=new ArrayList<ScheduleRealInfo>(); 875 List<ScheduleRealInfo> newList=new ArrayList<ScheduleRealInfo>();
  876 + List<ScheduleRealInfo> newList_=new ArrayList<ScheduleRealInfo>();
  877 +
897 for (int j = 0; j < listReal.size(); j++) { 878 for (int j = 0; j < listReal.size(); j++) {
898 ScheduleRealInfo s=listReal.get(j); 879 ScheduleRealInfo s=listReal.get(j);
899 if(s.getsGh().equals(jsy) && s.getClZbh().equals(clzbh) 880 if(s.getsGh().equals(jsy) && s.getClZbh().equals(clzbh)
900 &&s.getXlBm().equals(line)){ 881 &&s.getXlBm().equals(line)){
901 newList.add(s); 882 newList.add(s);
  883 + Set<ChildTaskPlan> cts = s.getcTasks();
  884 + if(cts != null && cts.size() > 0){
  885 + newList_.add(s);
  886 + }else{
  887 + if(s.getZdsjActual()!=null){
  888 + newList_.add(s);
  889 + }
  890 + }
902 } 891 }
903 } 892 }
904 double jhgl=culateMileageService.culateJhgl(newList); 893 double jhgl=culateMileageService.culateJhgl(newList);
905 double jhjcc=culateMileageService.culateJhJccgl(newList); 894 double jhjcc=culateMileageService.culateJhJccgl(newList);
906 - double yygl=culateMileageService.culateSjgl(newList);  
907 - double ljgl=culateMileageService.culateLjgl(newList);  
908 - double ksgl=culateMileageService.culateKsgl(newList);  
909 - double jcgl=culateMileageService.culateJccgl(newList); 895 + double yygl=culateMileageService.culateSjgl(newList_);
  896 + double ljgl=culateMileageService.culateLjgl(newList_);
  897 + double ksgl=culateMileageService.culateKsgl(newList_);
  898 + double jcgl=culateMileageService.culateJccgl(newList_);
910 899
911 double zyygl=Arith.add(yygl, ljgl); 900 double zyygl=Arith.add(yygl, ljgl);
912 double zksgl=Arith.add(ksgl, jcgl); 901 double zksgl=Arith.add(ksgl, jcgl);
@@ -1210,8 +1199,8 @@ public class FormsServiceImpl implements FormsService { @@ -1210,8 +1199,8 @@ public class FormsServiceImpl implements FormsService {
1210 1199
1211 String sql = "select gs_name, fgs_name, cl_zbh, fcsj, bc_type, xl_bm, xl_name, schedule_date" 1200 String sql = "select gs_name, fgs_name, cl_zbh, fcsj, bc_type, xl_bm, xl_name, schedule_date"
1212 + " from bsth_c_s_sp_info where gs_bm = '"+company+"' and fgs_bm = '"+subCompany+"' " 1201 + " from bsth_c_s_sp_info where gs_bm = '"+company+"' and fgs_bm = '"+subCompany+"' "
1213 - + "and DATE_FORMAT(schedule_date,'%Y-%m-%d') >= '"+startDate+"' "  
1214 - + "and DATE_FORMAT(schedule_date,'%Y-%m-%d') <= '"+endDate+"' "; 1202 + + "and schedule_date_str >= '"+startDate+"' "
  1203 + + "and schedule_date_str <= '"+endDate+"' ";
1215 if(line.trim().length() != 0){ 1204 if(line.trim().length() != 0){
1216 sql += "and xl_bm = '"+line+"' "; 1205 sql += "and xl_bm = '"+line+"' ";
1217 } 1206 }
@@ -1367,8 +1356,8 @@ public class FormsServiceImpl implements FormsService { @@ -1367,8 +1356,8 @@ public class FormsServiceImpl implements FormsService {
1367 1356
1368 String sql = " select b.xlgs, a.gs_bm,a.gs_name, a.fgs_bm,a.fgs_name , a.xl_bm,b.xl_name,b.sbc,b.sxl,b.scl,a.jbc ,a.jxl ,a.jcl,a.gslsbm,a.fgsbm,a.bc_type from " 1357 String sql = " select b.xlgs, a.gs_bm,a.gs_name, a.fgs_bm,a.fgs_name , a.xl_bm,b.xl_name,b.sbc,b.sxl,b.scl,a.jbc ,a.jxl ,a.jcl,a.gslsbm,a.fgsbm,a.bc_type from "
1369 + " (select count(DISTINCT gs_bm) gslsbm, gs_bm, count(DISTINCT fgs_bm) fgsbm,fgs_bm,gs_name,fgs_name ,xl_bm, count(*) as jbc,COUNT(DISTINCT xl_bm) as jxl ,COUNT(DISTINCT cl_zbh) as jcl,bc_type" 1358 + " (select count(DISTINCT gs_bm) gslsbm, gs_bm, count(DISTINCT fgs_bm) fgsbm,fgs_bm,gs_name,fgs_name ,xl_bm, count(*) as jbc,COUNT(DISTINCT xl_bm) as jxl ,COUNT(DISTINCT cl_zbh) as jcl,bc_type"
1370 - + " from bsth_c_s_sp_info" + " where DATE_FORMAT(schedule_date,'%Y-%m-%d') BETWEEN '"  
1371 - + map.get("startDate").toString() + "' and '" + map.get("endDate").toString() + "' and xl_bm='" 1359 + + " from bsth_c_s_sp_info" + " where schedule_date_str >= '"
  1360 + + map.get("startDate").toString() + "' and schedule_date_str <='" + map.get("endDate").toString() + "' and xl_bm='"
1372 + map.get("line").toString() + "' AND gs_bm is not null AND bc_type NOT IN ('in', 'out')" 1361 + map.get("line").toString() + "' AND gs_bm is not null AND bc_type NOT IN ('in', 'out')"
1373 + " and gs_bm='"+ map.get("gsdmEcecut").toString() + "'" 1362 + " and gs_bm='"+ map.get("gsdmEcecut").toString() + "'"
1374 + " and fgs_bm='"+ map.get("fgsdmEcecut").toString() + "'" 1363 + " and fgs_bm='"+ map.get("fgsdmEcecut").toString() + "'"
@@ -1376,7 +1365,7 @@ public class FormsServiceImpl implements FormsService { @@ -1376,7 +1365,7 @@ public class FormsServiceImpl implements FormsService {
1376 + " ) a left JOIN (" 1365 + " ) a left JOIN ("
1377 + "SELECT COUNT(*) as xlgs,b.gs_bm,b.fgs_bm,b.xl_bm,b.xl_name,b.gs_name,b.fgs_name, b.sbc,b.sxl ,b.scl " 1366 + "SELECT COUNT(*) as xlgs,b.gs_bm,b.fgs_bm,b.xl_bm,b.xl_name,b.gs_name,b.fgs_name, b.sbc,b.sxl ,b.scl "
1378 + "from bsth_c_line t RIGHT JOIN (select gs_bm,fgs_bm,xl_bm,xl_name,gs_name,fgs_name, count(*) as sbc,COUNT(DISTINCT xl_bm) as sxl ,COUNT(DISTINCT cl_zbh) as scl,bc_type from bsth_c_s_sp_info_real " 1367 + "from bsth_c_line t RIGHT JOIN (select gs_bm,fgs_bm,xl_bm,xl_name,gs_name,fgs_name, count(*) as sbc,COUNT(DISTINCT xl_bm) as sxl ,COUNT(DISTINCT cl_zbh) as scl,bc_type from bsth_c_s_sp_info_real "
1379 - + "where DATE_FORMAT(schedule_date,'%Y-%m-%d') BETWEEN '" + map.get("startDate").toString() + "' and '" 1368 + + "where schedule_date_str >= '" + map.get("startDate").toString() + "' and schedule_date_str <= '"
1380 + map.get("endDate").toString() + "' and xl_bm='" + map.get("line").toString() 1369 + map.get("endDate").toString() + "' and xl_bm='" + map.get("line").toString()
1381 + "' AND gs_bm is not null AND bc_type NOT IN ('in', 'out') " 1370 + "' AND gs_bm is not null AND bc_type NOT IN ('in', 'out') "
1382 // + " GROUP BY gs_bm,fgs_bm,xl_bm,gs_name,fgs_name,bc_type" 1371 // + " GROUP BY gs_bm,fgs_bm,xl_bm,gs_name,fgs_name,bc_type"
@@ -1451,8 +1440,8 @@ public class FormsServiceImpl implements FormsService { @@ -1451,8 +1440,8 @@ public class FormsServiceImpl implements FormsService {
1451 1440
1452 String sql = " select b.xlgs, a.gs_bm,a.gs_name, a.fgs_bm,a.fgs_name , a.xl_bm,b.xl_name,b.sbc,b.sxl,b.scl,a.jbc ,a.jxl ,a.jcl,a.gslsbm,a.fgsbm,a.bc_type from " 1441 String sql = " select b.xlgs, a.gs_bm,a.gs_name, a.fgs_bm,a.fgs_name , a.xl_bm,b.xl_name,b.sbc,b.sxl,b.scl,a.jbc ,a.jxl ,a.jcl,a.gslsbm,a.fgsbm,a.bc_type from "
1453 + " (select count(DISTINCT gs_bm) gslsbm, gs_bm, count(DISTINCT fgs_bm) fgsbm,fgs_bm,gs_name,fgs_name ,xl_bm, count(*) as jbc,COUNT(DISTINCT xl_bm) as jxl ,COUNT(DISTINCT cl_zbh) as jcl,bc_type" 1442 + " (select count(DISTINCT gs_bm) gslsbm, gs_bm, count(DISTINCT fgs_bm) fgsbm,fgs_bm,gs_name,fgs_name ,xl_bm, count(*) as jbc,COUNT(DISTINCT xl_bm) as jxl ,COUNT(DISTINCT cl_zbh) as jcl,bc_type"
1454 - + " from bsth_c_s_sp_info" + " where DATE_FORMAT(schedule_date,'%Y-%m-%d') BETWEEN '"  
1455 - + map.get("startDate").toString() + "' and '" + map.get("endDate").toString() + "' and xl_bm='" 1443 + + " from bsth_c_s_sp_info" + " where schedule_date_str >= '"
  1444 + + map.get("startDate").toString() + "' and schedule_date_str<= '" + map.get("endDate").toString() + "' and xl_bm='"
1456 + map.get("line").toString() + "' AND gs_bm is not null AND bc_type NOT IN ('in', 'out') " 1445 + map.get("line").toString() + "' AND gs_bm is not null AND bc_type NOT IN ('in', 'out') "
1457 + " and gs_bm='"+ map.get("gsdmAllline").toString() + "'" 1446 + " and gs_bm='"+ map.get("gsdmAllline").toString() + "'"
1458 + " and fgs_bm='"+ map.get("fgsdmAllline").toString() + "'" 1447 + " and fgs_bm='"+ map.get("fgsdmAllline").toString() + "'"
src/main/java/com/bsth/service/impl/BusIntervalServiceImpl.java
@@ -17,7 +17,6 @@ import java.util.List; @@ -17,7 +17,6 @@ import java.util.List;
17 import java.util.Map; 17 import java.util.Map;
18 import java.util.Set; 18 import java.util.Set;
19 19
20 -import org.apache.commons.lang3.StringEscapeUtils;  
21 import org.springframework.beans.factory.annotation.Autowired; 20 import org.springframework.beans.factory.annotation.Autowired;
22 import org.springframework.jdbc.core.BeanPropertyRowMapper; 21 import org.springframework.jdbc.core.BeanPropertyRowMapper;
23 import org.springframework.jdbc.core.JdbcTemplate; 22 import org.springframework.jdbc.core.JdbcTemplate;
@@ -25,7 +24,6 @@ import org.springframework.jdbc.core.RowMapper; @@ -25,7 +24,6 @@ import org.springframework.jdbc.core.RowMapper;
25 import org.springframework.stereotype.Service; 24 import org.springframework.stereotype.Service;
26 25
27 import com.alibaba.fastjson.JSONArray; 26 import com.alibaba.fastjson.JSONArray;
28 -import com.alibaba.fastjson.JSONObject;  
29 import com.bsth.data.BasicData; 27 import com.bsth.data.BasicData;
30 import com.bsth.data.schedule.edit_logs.service.dto.SchEditInfoDto; 28 import com.bsth.data.schedule.edit_logs.service.dto.SchEditInfoDto;
31 import com.bsth.entity.realcontrol.ChildTaskPlan; 29 import com.bsth.entity.realcontrol.ChildTaskPlan;
@@ -1715,13 +1713,13 @@ public class BusIntervalServiceImpl implements BusIntervalService { @@ -1715,13 +1713,13 @@ public class BusIntervalServiceImpl implements BusIntervalService {
1715 } 1713 }
1716 } 1714 }
1717 boolean flag = true; 1715 boolean flag = true;
1718 - if(jhlc.toString().equals("0")){ 1716 + if(jhlc.doubleValue() == 0d){
1719 flag = false; 1717 flag = false;
1720 } 1718 }
1721 tempMap.put("date", Date); 1719 tempMap.put("date", Date);
1722 tempMap.put("company", companyName); 1720 tempMap.put("company", companyName);
1723 tempMap.put("subCompany", subCompanyName); 1721 tempMap.put("subCompany", subCompanyName);
1724 - tempMap.put("times", times); 1722 + tempMap.put("times", sfqr == 1 ? times : "全日");
1725 tempMap.put("line", key); 1723 tempMap.put("line", key);
1726 tempMap.put("jhbc", jhbc); 1724 tempMap.put("jhbc", jhbc);
1727 tempMap.put("sjbc", sjbc); 1725 tempMap.put("sjbc", sjbc);
@@ -1732,37 +1730,37 @@ public class BusIntervalServiceImpl implements BusIntervalService { @@ -1732,37 +1730,37 @@ public class BusIntervalServiceImpl implements BusIntervalService {
1732 tempMap.put("lcbfb", df.format(flag?sjlc.divide(jhlc, 4, BigDecimal.ROUND_HALF_UP).doubleValue()*100:0)+"%"); 1730 tempMap.put("lcbfb", df.format(flag?sjlc.divide(jhlc, 4, BigDecimal.ROUND_HALF_UP).doubleValue()*100:0)+"%");
1733 tempMap.put("lzbc", lzbc); 1731 tempMap.put("lzbc", lzbc);
1734 tempMap.put("lzlc", lzlc.doubleValue()); 1732 tempMap.put("lzlc", lzlc.doubleValue());
1735 - tempMap.put("lzbfb", df.format(flag?(double)lzbc/jhbc*100:0)+"%"); 1733 + tempMap.put("lzbfb", df.format(jhbc>0?(double)lzbc/jhbc*100:0)+"%");
1736 tempMap.put("dmbc", dmbc); 1734 tempMap.put("dmbc", dmbc);
1737 tempMap.put("dmlc", dmlc.doubleValue()); 1735 tempMap.put("dmlc", dmlc.doubleValue());
1738 - tempMap.put("dmbfb", df.format(flag?(double)dmbc/jhbc*100:0)+"%"); 1736 + tempMap.put("dmbfb", df.format(jhbc>0?(double)dmbc/jhbc*100:0)+"%");
1739 tempMap.put("gzbc", gzbc); 1737 tempMap.put("gzbc", gzbc);
1740 tempMap.put("gzlc", gzlc.doubleValue()); 1738 tempMap.put("gzlc", gzlc.doubleValue());
1741 - tempMap.put("gzbfb", df.format(flag?(double)gzbc/jhbc*100:0)+"%"); 1739 + tempMap.put("gzbfb", df.format(jhbc>0?(double)gzbc/jhbc*100:0)+"%");
1742 tempMap.put("jfbc", jfbc); 1740 tempMap.put("jfbc", jfbc);
1743 tempMap.put("jflc", jflc.doubleValue()); 1741 tempMap.put("jflc", jflc.doubleValue());
1744 - tempMap.put("jfbfb", df.format(flag?(double)jfbc/jhbc*100:0)+"%"); 1742 + tempMap.put("jfbfb", df.format(jhbc>0?(double)jfbc/jhbc*100:0)+"%");
1745 tempMap.put("zsbc", zsbc); 1743 tempMap.put("zsbc", zsbc);
1746 tempMap.put("zslc", zslc.doubleValue()); 1744 tempMap.put("zslc", zslc.doubleValue());
1747 - tempMap.put("zsbfb", df.format(flag?(double)zsbc/jhbc*100:0)+"%"); 1745 + tempMap.put("zsbfb", df.format(jhbc>0?(double)zsbc/jhbc*100:0)+"%");
1748 tempMap.put("qrbc", qrbc); 1746 tempMap.put("qrbc", qrbc);
1749 tempMap.put("qrlc", qrlc.doubleValue()); 1747 tempMap.put("qrlc", qrlc.doubleValue());
1750 - tempMap.put("qrbfb", df.format(flag?(double)qrbc/jhbc*100:0)+"%"); 1748 + tempMap.put("qrbfb", df.format(jhbc>0?(double)qrbc/jhbc*100:0)+"%");
1751 tempMap.put("qcbc", qcbc); 1749 tempMap.put("qcbc", qcbc);
1752 tempMap.put("qclc", qclc.doubleValue()); 1750 tempMap.put("qclc", qclc.doubleValue());
1753 - tempMap.put("qcbfb", df.format(flag?(double)qcbc/jhbc*100:0)+"%"); 1751 + tempMap.put("qcbfb", df.format(jhbc>0?(double)qcbc/jhbc*100:0)+"%");
1754 tempMap.put("kxbc", kxbc); 1752 tempMap.put("kxbc", kxbc);
1755 tempMap.put("kxlc", kxlc.doubleValue()); 1753 tempMap.put("kxlc", kxlc.doubleValue());
1756 - tempMap.put("kxbfb", df.format(flag?(double)kxbc/jhbc*100:0)+"%"); 1754 + tempMap.put("kxbfb", df.format(jhbc>0?(double)kxbc/jhbc*100:0)+"%");
1757 tempMap.put("qhbc", qhbc); 1755 tempMap.put("qhbc", qhbc);
1758 tempMap.put("qhlc", qhlc.doubleValue()); 1756 tempMap.put("qhlc", qhlc.doubleValue());
1759 - tempMap.put("qhbfb", df.format(flag?(double)qhbc/jhbc*100:0)+"%"); 1757 + tempMap.put("qhbfb", df.format(jhbc>0?(double)qhbc/jhbc*100:0)+"%");
1760 tempMap.put("wybc", wybc); 1758 tempMap.put("wybc", wybc);
1761 tempMap.put("wylc", wylc.doubleValue()); 1759 tempMap.put("wylc", wylc.doubleValue());
1762 - tempMap.put("wybfb", df.format(flag?(double)wybc/jhbc*100:0)+"%"); 1760 + tempMap.put("wybfb", df.format(jhbc>0?(double)wybc/jhbc*100:0)+"%");
1763 tempMap.put("qtbc", qtbc); 1761 tempMap.put("qtbc", qtbc);
1764 tempMap.put("qtlc", qtlc.doubleValue()); 1762 tempMap.put("qtlc", qtlc.doubleValue());
1765 - tempMap.put("qtbfb", df.format(flag?(double)qtbc/jhbc*100:0)+"%"); 1763 + tempMap.put("qtbfb", df.format(jhbc>0?(double)qtbc/jhbc*100:0)+"%");
1766 1764
1767 resList.add(tempMap); 1765 resList.add(tempMap);
1768 } 1766 }
@@ -1784,7 +1782,6 @@ public class BusIntervalServiceImpl implements BusIntervalService { @@ -1784,7 +1782,6 @@ public class BusIntervalServiceImpl implements BusIntervalService {
1784 e.printStackTrace(); 1782 e.printStackTrace();
1785 } 1783 }
1786 } 1784 }
1787 - System.out.println(map);  
1788 1785
1789 return resList; 1786 return resList;
1790 } 1787 }
src/main/java/com/bsth/service/impl/LineServiceImpl.java
@@ -5,7 +5,9 @@ import java.util.Map; @@ -5,7 +5,9 @@ import java.util.Map;
5 5
6 import org.springframework.beans.factory.annotation.Autowired; 6 import org.springframework.beans.factory.annotation.Autowired;
7 import org.springframework.stereotype.Service; 7 import org.springframework.stereotype.Service;
  8 +import org.springframework.transaction.annotation.Transactional;
8 9
  10 +import com.bsth.common.ResponseCode;
9 import com.bsth.entity.Line; 11 import com.bsth.entity.Line;
10 import com.bsth.repository.LineRepository; 12 import com.bsth.repository.LineRepository;
11 import com.bsth.service.LineService; 13 import com.bsth.service.LineService;
@@ -27,11 +29,11 @@ import com.bsth.service.LineService; @@ -27,11 +29,11 @@ import com.bsth.service.LineService;
27 */ 29 */
28 30
29 @Service 31 @Service
30 -public class LineServiceImpl extends BaseServiceImpl<Line, Integer> implements LineService{  
31 - 32 +public class LineServiceImpl extends BaseServiceImpl<Line, Integer> implements LineService {
  33 +
32 @Autowired 34 @Autowired
33 private LineRepository repository; 35 private LineRepository repository;
34 - 36 +
35 /** 37 /**
36 * 获取线路编码 38 * 获取线路编码
37 * 39 *
@@ -41,7 +43,7 @@ public class LineServiceImpl extends BaseServiceImpl&lt;Line, Integer&gt; implements L @@ -41,7 +43,7 @@ public class LineServiceImpl extends BaseServiceImpl&lt;Line, Integer&gt; implements L
41 // TODO Auto-generated method stub 43 // TODO Auto-generated method stub
42 return repository.selectMaxIdToLineCode(); 44 return repository.selectMaxIdToLineCode();
43 } 45 }
44 - 46 +
45 @Override 47 @Override
46 public Line findByLineCode(String lineCode) { 48 public Line findByLineCode(String lineCode) {
47 return repository.findByLineCode(lineCode); 49 return repository.findByLineCode(lineCode);
@@ -57,10 +59,31 @@ public class LineServiceImpl extends BaseServiceImpl&lt;Line, Integer&gt; implements L @@ -57,10 +59,31 @@ public class LineServiceImpl extends BaseServiceImpl&lt;Line, Integer&gt; implements L
57 public String lineCodeVerification(String lineCode) { 59 public String lineCodeVerification(String lineCode) {
58 String state = "true"; 60 String state = "true";
59 Line line = repository.findByLineCode(lineCode); 61 Line line = repository.findByLineCode(lineCode);
60 - if(line != null){ 62 + if (line != null) {
61 state = "false"; 63 state = "false";
62 } 64 }
63 return state; 65 return state;
64 } 66 }
  67 +
  68 + @Transactional
  69 + @Override
  70 + public Map<String, Object> update(Line l) {
  71 + Map<String, Object> map = new HashMap<>();
  72 +
  73 + int status = repository.update(l.getName(), l.getCompany(), l.getBrancheCompany(), l.getLevel(), l.getNature(),
  74 + l.getStartStationName(), l.getEndStationName(), l.getStartStationFirstTime(),
  75 + l.getStartStationEndTime(), l.getEndStationFirstTime(), l.getEndStationEndTime(), l.getLinePlayType(),
  76 + l.getOpenDate(), l.getEs(), l.getShortName(), l.getShanghaiLinecode(), l.getEqLinecode(),
  77 + l.getStartPhone(), l.getEndPhone(), l.getCarSumNumber(), l.getHvacCarNumber(), l.getOrdCarNumber(),
  78 + l.getHistory(), l.getDescriptions(), l.getDestroy(), l.getSupperLine(), l.getSpacGrade(),
  79 + l.getWarrantCar(), l.getLineCode());
  80 + if (status==1) {
  81 + map.put("status", ResponseCode.SUCCESS);
  82 + } else {
  83 + map.put("status", ResponseCode.ERROR);
  84 + }
  85 +
  86 + return map;
  87 + }
65 88
66 } 89 }
src/main/java/com/bsth/service/impl/TrafficManageServiceImpl.java
@@ -279,14 +279,30 @@ public class TrafficManageServiceImpl implements TrafficManageService{ @@ -279,14 +279,30 @@ public class TrafficManageServiceImpl implements TrafficManageService{
279 } 279 }
280 280
281 /** 281 /**
  282 + * 上传路单 指定日期 yyyy-MM-dd
  283 + * @param theDate
  284 + * @return
  285 + */
  286 + public String setLD(String theDate){
  287 + return uploadLD(theDate);
  288 + }
  289 +
  290 + /**
  291 + * 上传路单 上传前一天的路单
  292 + * @return
  293 + */
  294 + public String setLD(){
  295 + return uploadLD(null);
  296 + }
  297 + /**
282 * 上传路单 298 * 上传路单
283 * @return 上传成功标识 299 * @return 上传成功标识
284 */ 300 */
285 - public String setLD(){ 301 + private String uploadLD(String theDate){
286 String result = "failure"; 302 String result = "failure";
287 Line line; 303 Line line;
288 // 取昨天 的日期 304 // 取昨天 的日期
289 - String date = sdfnyr.format(DateUtils.addDays(new Date(), -1)); 305 + String date = theDate == null ?sdfnyr.format(DateUtils.addDays(new Date(), -1)) : theDate;
290 StringBuffer sf = new StringBuffer(); 306 StringBuffer sf = new StringBuffer();
291 String str; 307 String str;
292 try { 308 try {
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
@@ -24,6 +24,7 @@ import com.bsth.data.utils.CustomStringUtils; @@ -24,6 +24,7 @@ import com.bsth.data.utils.CustomStringUtils;
24 import com.bsth.entity.Cars; 24 import com.bsth.entity.Cars;
25 import com.bsth.entity.Line; 25 import com.bsth.entity.Line;
26 import com.bsth.entity.Personnel; 26 import com.bsth.entity.Personnel;
  27 +import com.bsth.entity.mcy_forms.Waybillday;
27 import com.bsth.entity.oil.Dlb; 28 import com.bsth.entity.oil.Dlb;
28 import com.bsth.entity.oil.Ylb; 29 import com.bsth.entity.oil.Ylb;
29 import com.bsth.entity.oil.Ylxxb; 30 import com.bsth.entity.oil.Ylxxb;
@@ -789,13 +790,13 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -789,13 +790,13 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
789 + " select min(s.id) as id,s.j_Gh as jGh,s.cl_Zbh as clZbh, " 790 + " select min(s.id) as id,s.j_Gh as jGh,s.cl_Zbh as clZbh, "
790 + " s.lp_Name as lpName,s.j_Name as jName,max(s.schedule_date_str) as dateStr ," 791 + " s.lp_Name as lpName,s.j_Name as jName,max(s.schedule_date_str) as dateStr ,"
791 + " min(s.fcsj) as fcsj,1 as px from bsth_c_s_sp_info_real s where " 792 + " min(s.fcsj) as fcsj,1 as px from bsth_c_s_sp_info_real s where "
792 - + " s.xl_Bm = '"+line+"' and DATE_FORMAT(s.schedule_Date,'%Y-%m-%d') ='"+date+"'" 793 + + " s.xl_Bm = '"+line+"' and s.schedule_date_str ='"+date+"'"
793 + " GROUP BY s.j_Gh,s.cl_Zbh,s.lp_Name ,s.j_Name ) x where x.fcsj >'"+minfcsj+"'" 794 + " GROUP BY s.j_Gh,s.cl_Zbh,s.lp_Name ,s.j_Name ) x where x.fcsj >'"+minfcsj+"'"
794 + " UNION " 795 + " UNION "
795 + " select * from ( select min(s.id) as id,s.j_Gh as jGh,s.cl_Zbh as clZbh, " 796 + " select * from ( select min(s.id) as id,s.j_Gh as jGh,s.cl_Zbh as clZbh, "
796 + " s.lp_Name as lpName,s.j_Name as jName, max(s.schedule_date_str) as dateStr," 797 + " s.lp_Name as lpName,s.j_Name as jName, max(s.schedule_date_str) as dateStr,"
797 + " min(s.fcsj) as fcsj,2 as px from bsth_c_s_sp_info_real s " 798 + " min(s.fcsj) as fcsj,2 as px from bsth_c_s_sp_info_real s "
798 - + " where s.xl_Bm = '"+line+"' and DATE_FORMAT(s.schedule_Date,'%Y-%m-%d') ='"+date+"'" 799 + + " where s.xl_Bm = '"+line+"' and s.schedule_date_str ='"+date+"'"
799 + " GROUP BY s.j_Gh,s.cl_Zbh,s.lp_Name ,s.j_Name " 800 + " GROUP BY s.j_Gh,s.cl_Zbh,s.lp_Name ,s.j_Name "
800 + " ) y where y.fcsj <='"+minfcsj+"') z order by (" + state + "),dateStr,px " + type; 801 + " ) y where y.fcsj <='"+minfcsj+"') z order by (" + state + "),dateStr,px " + type;
801 List<ScheduleRealInfo> list = jdbcTemplate.query(sqlPlan, 802 List<ScheduleRealInfo> list = jdbcTemplate.query(sqlPlan,
@@ -2944,17 +2945,13 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -2944,17 +2945,13 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
2944 }else{ 2945 }else{
2945 yesterdayDataList=scheduleRealInfoRepository.yesterdayDataList_eq(line, date,gsbm,fgsbm,nbbm); 2946 yesterdayDataList=scheduleRealInfoRepository.yesterdayDataList_eq(line, date,gsbm,fgsbm,nbbm);
2946 } 2947 }
2947 -  
2948 -// System.out.println("shijian2:"+new Date());  
2949 - // List<ScheduleRealInfo> list = scheduleRealInfoRepository.scheduleByDateAndLine(line, date); 2948 + System.out.println("time2:"+new Date());
  2949 +
2950 List<ScheduleRealInfo> lists = scheduleRealInfoRepository.queryListWaybill3(jGh, nbbm, date,gsbm,fgsbm); 2950 List<ScheduleRealInfo> lists = scheduleRealInfoRepository.queryListWaybill3(jGh, nbbm, date,gsbm,fgsbm);
2951 -// System.out.println("shijian3:"+new Date());  
2952 for (int x = 0; x < yesterdayDataList.size(); x++) { 2951 for (int x = 0; x < yesterdayDataList.size(); x++) {
2953 String jName = yesterdayDataList.get(x).get("jGh").toString(); 2952 String jName = yesterdayDataList.get(x).get("jGh").toString();
2954 String clZbh = yesterdayDataList.get(x).get("clZbh").toString(); 2953 String clZbh = yesterdayDataList.get(x).get("clZbh").toString();
2955 String xlbm = yesterdayDataList.get(x).get("xlBm").toString(); 2954 String xlbm = yesterdayDataList.get(x).get("xlBm").toString();
2956 -// double jhlc = 0, yygl = 0, ksgl = 0, tempJhlc = 0, jcclc = 0;  
2957 - double addMileage = 0, remMileage = 0;  
2958 Map<String, Object> map = new HashMap<String, Object>(); 2955 Map<String, Object> map = new HashMap<String, Object>();
2959 boolean fage = true; 2956 boolean fage = true;
2960 String company=""; 2957 String company="";
@@ -2982,7 +2979,6 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -2982,7 +2979,6 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
2982 2979
2983 yesterdayDataList.get(x).put("company", company); 2980 yesterdayDataList.get(x).put("company", company);
2984 yesterdayDataList.get(x).put("bCompany", bCompany); 2981 yesterdayDataList.get(x).put("bCompany", bCompany);
2985 -// Double zgl=Arith.add(yygl,ksgl);  
2986 Double ljgl=culateMieageService.culateLjgl(listS); 2982 Double ljgl=culateMieageService.culateLjgl(listS);
2987 Double sjgl=culateMieageService.culateSjgl(listS); 2983 Double sjgl=culateMieageService.culateSjgl(listS);
2988 Double ksgl=culateMieageService.culateKsgl(listS); 2984 Double ksgl=culateMieageService.culateKsgl(listS);
@@ -2993,15 +2989,6 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -2993,15 +2989,6 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
2993 yesterdayDataList.get(x).put("totalKilometers", zlc); 2989 yesterdayDataList.get(x).put("totalKilometers", zlc);
2994 2990
2995 } 2991 }
2996 - /* List<Map<String, Object>> yesterdayDataLists = new ArrayList<Map<String, Object>>();  
2997 -  
2998 - for (int i = 0; i < yesterdayDataList.size(); i++) {  
2999 - Map<String, Object> map=yesterdayDataList.get(i);  
3000 - Double zlc=map.get("totalKilometers")==null?0.0:Double.parseDouble(map.get("totalKilometers").toString());  
3001 -// if(zlc>0){  
3002 - yesterdayDataLists.add(map);  
3003 -// }  
3004 - }*/  
3005 //增加顺序号 2992 //增加顺序号
3006 for (int i = 0; i < yesterdayDataList.size(); i++) { 2993 for (int i = 0; i < yesterdayDataList.size(); i++) {
3007 if (i == 0) { 2994 if (i == 0) {
src/main/resources/datatools/ktrs/employeesConfigDataInput.ktr
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<transformation>  
3 - <info>  
4 - <name>&#x4eba;&#x5458;&#x914d;&#x7f6e;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</name>  
5 - <description>&#x4eba;&#x5458;&#x914d;&#x7f6e;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>  
6 - <extended_description>&#x4eba;&#x5458;&#x914d;&#x7f6e;&#x4fe1;&#x606f;</extended_description>  
7 - <trans_version/>  
8 - <trans_type>Normal</trans_type>  
9 - <trans_status>0</trans_status>  
10 - <directory>&#x2f;</directory>  
11 - <parameters>  
12 - <parameter>  
13 - <name>erroroutputdir</name>  
14 - <default_value/>  
15 - <description>ktr step&#x914d;&#x7f6e;&#x7684;&#x9519;&#x8bef;&#x8f93;&#x51fa;&#x76ee;&#x5f55;</description>  
16 - </parameter>  
17 - <parameter>  
18 - <name>filepath</name>  
19 - <default_value/>  
20 - <description>&#x5f85;&#x5904;&#x7406;&#x5bfc;&#x5165;&#x7684;excel&#x6587;&#x4ef6;</description>  
21 - </parameter>  
22 - </parameters>  
23 - <log>  
24 -<trans-log-table><connection/>  
25 -<schema/>  
26 -<table/>  
27 -<size_limit_lines/>  
28 -<interval/>  
29 -<timeout_days/>  
30 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STATUS</id><enabled>Y</enabled><name>STATUS</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name><subject/></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name><subject/></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name><subject/></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name><subject/></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name><subject/></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name><subject/></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>STARTDATE</id><enabled>Y</enabled><name>STARTDATE</name></field><field><id>ENDDATE</id><enabled>Y</enabled><name>ENDDATE</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>DEPDATE</id><enabled>Y</enabled><name>DEPDATE</name></field><field><id>REPLAYDATE</id><enabled>Y</enabled><name>REPLAYDATE</name></field><field><id>LOG_FIELD</id><enabled>Y</enabled><name>LOG_FIELD</name></field><field><id>EXECUTING_SERVER</id><enabled>N</enabled><name>EXECUTING_SERVER</name></field><field><id>EXECUTING_USER</id><enabled>N</enabled><name>EXECUTING_USER</name></field><field><id>CLIENT</id><enabled>N</enabled><name>CLIENT</name></field></trans-log-table>  
31 -<perf-log-table><connection/>  
32 -<schema/>  
33 -<table/>  
34 -<interval/>  
35 -<timeout_days/>  
36 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>SEQ_NR</id><enabled>Y</enabled><name>SEQ_NR</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>INPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>INPUT_BUFFER_ROWS</name></field><field><id>OUTPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>OUTPUT_BUFFER_ROWS</name></field></perf-log-table>  
37 -<channel-log-table><connection/>  
38 -<schema/>  
39 -<table/>  
40 -<timeout_days/>  
41 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>LOGGING_OBJECT_TYPE</id><enabled>Y</enabled><name>LOGGING_OBJECT_TYPE</name></field><field><id>OBJECT_NAME</id><enabled>Y</enabled><name>OBJECT_NAME</name></field><field><id>OBJECT_COPY</id><enabled>Y</enabled><name>OBJECT_COPY</name></field><field><id>REPOSITORY_DIRECTORY</id><enabled>Y</enabled><name>REPOSITORY_DIRECTORY</name></field><field><id>FILENAME</id><enabled>Y</enabled><name>FILENAME</name></field><field><id>OBJECT_ID</id><enabled>Y</enabled><name>OBJECT_ID</name></field><field><id>OBJECT_REVISION</id><enabled>Y</enabled><name>OBJECT_REVISION</name></field><field><id>PARENT_CHANNEL_ID</id><enabled>Y</enabled><name>PARENT_CHANNEL_ID</name></field><field><id>ROOT_CHANNEL_ID</id><enabled>Y</enabled><name>ROOT_CHANNEL_ID</name></field></channel-log-table>  
42 -<step-log-table><connection/>  
43 -<schema/>  
44 -<table/>  
45 -<timeout_days/>  
46 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>LOG_FIELD</id><enabled>N</enabled><name>LOG_FIELD</name></field></step-log-table>  
47 -<metrics-log-table><connection/>  
48 -<schema/>  
49 -<table/>  
50 -<timeout_days/>  
51 -<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>METRICS_DATE</id><enabled>Y</enabled><name>METRICS_DATE</name></field><field><id>METRICS_CODE</id><enabled>Y</enabled><name>METRICS_CODE</name></field><field><id>METRICS_DESCRIPTION</id><enabled>Y</enabled><name>METRICS_DESCRIPTION</name></field><field><id>METRICS_SUBJECT</id><enabled>Y</enabled><name>METRICS_SUBJECT</name></field><field><id>METRICS_TYPE</id><enabled>Y</enabled><name>METRICS_TYPE</name></field><field><id>METRICS_VALUE</id><enabled>Y</enabled><name>METRICS_VALUE</name></field></metrics-log-table>  
52 - </log>  
53 - <maxdate>  
54 - <connection/>  
55 - <table/>  
56 - <field/>  
57 - <offset>0.0</offset>  
58 - <maxdiff>0.0</maxdiff>  
59 - </maxdate>  
60 - <size_rowset>10000</size_rowset>  
61 - <sleep_time_empty>50</sleep_time_empty>  
62 - <sleep_time_full>50</sleep_time_full>  
63 - <unique_connections>N</unique_connections>  
64 - <feedback_shown>Y</feedback_shown>  
65 - <feedback_size>50000</feedback_size>  
66 - <using_thread_priorities>Y</using_thread_priorities>  
67 - <shared_objects_file/>  
68 - <capture_step_performance>N</capture_step_performance>  
69 - <step_performance_capturing_delay>1000</step_performance_capturing_delay>  
70 - <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>  
71 - <dependencies>  
72 - </dependencies>  
73 - <partitionschemas>  
74 - </partitionschemas>  
75 - <slaveservers>  
76 - </slaveservers>  
77 - <clusterschemas>  
78 - </clusterschemas>  
79 - <created_user>-</created_user>  
80 - <created_date>2016&#x2f;06&#x2f;29 15&#x3a;12&#x3a;27.273</created_date>  
81 - <modified_user>-</modified_user>  
82 - <modified_date>2016&#x2f;06&#x2f;29 15&#x3a;12&#x3a;27.273</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 - <notepad>  
88 - <note>&#x8fd9;&#x91cc;&#x6709;&#x4e9b;&#x95ee;&#x9898;&#xa;&#x5728;window2012&#x7684;&#x73af;&#x5883;&#x4e0b;&#xff0c;&#xa;MySql&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x4e2d;&#x5982;&#x679c;&#x8fd4;&#x56de;&#x4e2d;&#x6587;&#x5185;&#x5bb9;&#x7684;&#x5b57;&#x6bb5;&#xff0c;&#x8fd9;&#x4e2a;&#x5185;&#x5bb9;&#x4e71;&#x7801;&#xa;&#x89e3;&#x51b3;&#x529e;&#x6cd5;&#xff0c;&#x5c31;&#x662f;&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x5168;&#x90e8;&#x7f13;&#x5b58;&#xff0c;&#x5c31;&#x4e0d;&#x4e71;&#x7801;&#xa;linux&#x73af;&#x5883;&#x4e0b;&#x6ca1;&#x95ee;&#x9898;</note>  
89 - <xloc>101</xloc>  
90 - <yloc>264</yloc>  
91 - <width>333</width>  
92 - <heigth>90</heigth>  
93 - <fontname>YaHei Consolas Hybrid</fontname>  
94 - <fontsize>12</fontsize>  
95 - <fontbold>N</fontbold>  
96 - <fontitalic>N</fontitalic>  
97 - <fontcolorred>0</fontcolorred>  
98 - <fontcolorgreen>0</fontcolorgreen>  
99 - <fontcolorblue>0</fontcolorblue>  
100 - <backgroundcolorred>255</backgroundcolorred>  
101 - <backgroundcolorgreen>205</backgroundcolorgreen>  
102 - <backgroundcolorblue>112</backgroundcolorblue>  
103 - <bordercolorred>100</bordercolorred>  
104 - <bordercolorgreen>100</bordercolorgreen>  
105 - <bordercolorblue>100</bordercolorblue>  
106 - <drawshadow>Y</drawshadow>  
107 - </notepad>  
108 - </notepads>  
109 - <connection>  
110 - <name>bus_control_variable</name>  
111 - <server>&#x24;&#x7b;v_db_ip&#x7d;</server>  
112 - <type>MYSQL</type>  
113 - <access>Native</access>  
114 - <database>&#x24;&#x7b;v_db_dname&#x7d;</database>  
115 - <port>3306</port>  
116 - <username>&#x24;&#x7b;v_db_uname&#x7d;</username>  
117 - <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>  
118 - <servername/>  
119 - <data_tablespace/>  
120 - <index_tablespace/>  
121 - <attributes>  
122 - <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>  
123 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
124 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
125 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
126 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
127 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
128 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
129 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
130 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
131 - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>  
132 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
133 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
134 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
135 - </attributes>  
136 - </connection>  
137 - <connection>  
138 - <name>bus_control_&#x516c;&#x53f8;_201</name>  
139 - <server>localhost</server>  
140 - <type>MYSQL</type>  
141 - <access>Native</access>  
142 - <database>control</database>  
143 - <port>3306</port>  
144 - <username>root</username>  
145 - <password>Encrypted </password>  
146 - <servername/>  
147 - <data_tablespace/>  
148 - <index_tablespace/>  
149 - <attributes>  
150 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
151 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
152 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
153 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
154 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
155 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
156 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
157 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
158 - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>  
159 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
160 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
161 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
162 - </attributes>  
163 - </connection>  
164 - <connection>  
165 - <name>bus_control_&#x672c;&#x673a;</name>  
166 - <server>localhost</server>  
167 - <type>MYSQL</type>  
168 - <access>Native</access>  
169 - <database>control</database>  
170 - <port>3306</port>  
171 - <username>root</username>  
172 - <password>Encrypted </password>  
173 - <servername/>  
174 - <data_tablespace/>  
175 - <index_tablespace/>  
176 - <attributes>  
177 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
178 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
179 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
180 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
181 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
182 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
183 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
184 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
185 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
186 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
187 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
188 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
189 - </attributes>  
190 - </connection>  
191 - <connection>  
192 - <name>xlab_mysql_youle</name>  
193 - <server>101.231.124.8</server>  
194 - <type>MYSQL</type>  
195 - <access>Native</access>  
196 - <database>xlab_youle</database>  
197 - <port>45687</port>  
198 - <username>xlab-youle</username>  
199 - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>  
200 - <servername/>  
201 - <data_tablespace/>  
202 - <index_tablespace/>  
203 - <attributes>  
204 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
205 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
206 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
207 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
208 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
209 - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>  
210 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
211 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
212 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
213 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
214 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
215 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
216 - </attributes>  
217 - </connection>  
218 - <connection>  
219 - <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>  
220 - <server>localhost</server>  
221 - <type>MYSQL</type>  
222 - <access>Native</access>  
223 - <database>xlab_youle</database>  
224 - <port>3306</port>  
225 - <username>root</username>  
226 - <password>Encrypted </password>  
227 - <servername/>  
228 - <data_tablespace/>  
229 - <index_tablespace/>  
230 - <attributes>  
231 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
232 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
233 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
234 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
235 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
236 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
237 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
238 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
239 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
240 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
241 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
242 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
243 - </attributes>  
244 - </connection>  
245 - <connection>  
246 - <name>xlab_youle</name>  
247 - <server/>  
248 - <type>MYSQL</type>  
249 - <access>JNDI</access>  
250 - <database>xlab_youle</database>  
251 - <port>1521</port>  
252 - <username/>  
253 - <password>Encrypted </password>  
254 - <servername/>  
255 - <data_tablespace/>  
256 - <index_tablespace/>  
257 - <attributes>  
258 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
259 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
260 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
261 - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>  
262 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
263 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
264 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
265 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
266 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
267 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
268 - </attributes>  
269 - </connection>  
270 - <order>  
271 - <hop> <from>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ecinfo</from><to>&#x9519;&#x8bef;&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>  
272 - <hop> <from>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</from><to>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</to><enabled>Y</enabled> </hop>  
273 - <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>  
274 - <hop> <from>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</from><to>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>  
275 - <hop> <from>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</from><to>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>  
276 - <hop> <from>&#x9a7e;&#x9a76;&#x5458;id&#x67e5;&#x627e;</from><to>&#x8fc7;&#x6ee4;&#x9a7e;&#x9a76;&#x5458;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>  
277 - <hop> <from>&#x8fc7;&#x6ee4;&#x9a7e;&#x9a76;&#x5458;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x552e;&#x7968;&#x5458;id&#x67e5;&#x627e;</to><enabled>Y</enabled> </hop>  
278 - <hop> <from>&#x552e;&#x7968;&#x5458;id&#x67e5;&#x627e;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ecinfo</to><enabled>Y</enabled> </hop>  
279 - <hop> <from>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x5de5;&#x53f7;&#x6570;&#x636e;&#x5904;&#x7406;</to><enabled>Y</enabled> </hop>  
280 - <hop> <from>&#x5de5;&#x53f7;&#x6570;&#x636e;&#x5904;&#x7406;</from><to>&#x9a7e;&#x9a76;&#x5458;id&#x67e5;&#x627e;</to><enabled>Y</enabled> </hop>  
281 - </order>  
282 - <step>  
283 - <name>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</name>  
284 - <type>ExcelInput</type>  
285 - <description/>  
286 - <distribute>Y</distribute>  
287 - <custom_distribution/>  
288 - <copies>1</copies>  
289 - <partitioning>  
290 - <method>none</method>  
291 - <schema_name/>  
292 - </partitioning>  
293 - <header>Y</header>  
294 - <noempty>Y</noempty>  
295 - <stoponempty>N</stoponempty>  
296 - <filefield/>  
297 - <sheetfield/>  
298 - <sheetrownumfield/>  
299 - <rownumfield/>  
300 - <sheetfield/>  
301 - <filefield/>  
302 - <limit>0</limit>  
303 - <encoding/>  
304 - <add_to_result_filenames>Y</add_to_result_filenames>  
305 - <accept_filenames>Y</accept_filenames>  
306 - <accept_field>filepath_</accept_field>  
307 - <accept_stepname>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</accept_stepname>  
308 - <file>  
309 - <name/>  
310 - <filemask/>  
311 - <exclude_filemask/>  
312 - <file_required>N</file_required>  
313 - <include_subfolders>N</include_subfolders>  
314 - </file>  
315 - <fields>  
316 - <field>  
317 - <name>&#x7ebf;&#x8def;</name>  
318 - <type>String</type>  
319 - <length>-1</length>  
320 - <precision>-1</precision>  
321 - <trim_type>none</trim_type>  
322 - <repeat>N</repeat>  
323 - <format/>  
324 - <currency/>  
325 - <decimal/>  
326 - <group/>  
327 - </field>  
328 - <field>  
329 - <name>&#x642d;&#x73ed;&#x7f16;&#x7801;</name>  
330 - <type>String</type>  
331 - <length>-1</length>  
332 - <precision>-1</precision>  
333 - <trim_type>none</trim_type>  
334 - <repeat>N</repeat>  
335 - <format>&#x23;</format>  
336 - <currency/>  
337 - <decimal/>  
338 - <group/>  
339 - </field>  
340 - <field>  
341 - <name>&#x9a7e;&#x9a76;&#x5458;&#x5de5;&#x53f7;</name>  
342 - <type>String</type>  
343 - <length>-1</length>  
344 - <precision>-1</precision>  
345 - <trim_type>none</trim_type>  
346 - <repeat>N</repeat>  
347 - <format>&#x23;</format>  
348 - <currency/>  
349 - <decimal/>  
350 - <group/>  
351 - </field>  
352 - <field>  
353 - <name>&#x9a7e;&#x9a76;&#x5458;</name>  
354 - <type>String</type>  
355 - <length>-1</length>  
356 - <precision>-1</precision>  
357 - <trim_type>none</trim_type>  
358 - <repeat>N</repeat>  
359 - <format/>  
360 - <currency/>  
361 - <decimal/>  
362 - <group/>  
363 - </field>  
364 - <field>  
365 - <name>&#x552e;&#x7968;&#x5458;&#x5de5;&#x53f7;</name>  
366 - <type>String</type>  
367 - <length>-1</length>  
368 - <precision>-1</precision>  
369 - <trim_type>none</trim_type>  
370 - <repeat>N</repeat>  
371 - <format>&#x23;</format>  
372 - <currency/>  
373 - <decimal/>  
374 - <group/>  
375 - </field>  
376 - <field>  
377 - <name>&#x552e;&#x7968;&#x5458;</name>  
378 - <type>String</type>  
379 - <length>-1</length>  
380 - <precision>-1</precision>  
381 - <trim_type>none</trim_type>  
382 - <repeat>N</repeat>  
383 - <format/>  
384 - <currency/>  
385 - <decimal/>  
386 - <group/>  
387 - </field>  
388 - </fields>  
389 - <sheets>  
390 - <sheet>  
391 - <name>&#x5de5;&#x4f5c;&#x8868;1</name>  
392 - <startrow>0</startrow>  
393 - <startcol>0</startcol>  
394 - </sheet>  
395 - </sheets>  
396 - <strict_types>N</strict_types>  
397 - <error_ignored>N</error_ignored>  
398 - <error_line_skipped>N</error_line_skipped>  
399 - <bad_line_files_destination_directory/>  
400 - <bad_line_files_extension>warning</bad_line_files_extension>  
401 - <error_line_files_destination_directory/>  
402 - <error_line_files_extension>error</error_line_files_extension>  
403 - <line_number_files_destination_directory/>  
404 - <line_number_files_extension>line</line_number_files_extension>  
405 - <shortFileFieldName/>  
406 - <pathFieldName/>  
407 - <hiddenFieldName/>  
408 - <lastModificationTimeFieldName/>  
409 - <uriNameFieldName/>  
410 - <rootUriNameFieldName/>  
411 - <extensionFieldName/>  
412 - <sizeFieldName/>  
413 - <spreadsheet_type>JXL</spreadsheet_type>  
414 - <cluster_schema/>  
415 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
416 - <xloc>93</xloc>  
417 - <yloc>51</yloc>  
418 - <draw>Y</draw>  
419 - </GUI>  
420 - </step>  
421 -  
422 - <step>  
423 - <name>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</name>  
424 - <type>Constant</type>  
425 - <description/>  
426 - <distribute>Y</distribute>  
427 - <custom_distribution/>  
428 - <copies>1</copies>  
429 - <partitioning>  
430 - <method>none</method>  
431 - <schema_name/>  
432 - </partitioning>  
433 - <fields>  
434 - <field>  
435 - <name>isCancel</name>  
436 - <type>Integer</type>  
437 - <format/>  
438 - <currency/>  
439 - <decimal/>  
440 - <group/>  
441 - <nullif>0</nullif>  
442 - <length>-1</length>  
443 - <precision>-1</precision>  
444 - <set_empty_string>N</set_empty_string>  
445 - </field>  
446 - </fields>  
447 - <cluster_schema/>  
448 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
449 - <xloc>225</xloc>  
450 - <yloc>53</yloc>  
451 - <draw>Y</draw>  
452 - </GUI>  
453 - </step>  
454 -  
455 - <step>  
456 - <name>&#x552e;&#x7968;&#x5458;id&#x67e5;&#x627e;</name>  
457 - <type>DBJoin</type>  
458 - <description/>  
459 - <distribute>Y</distribute>  
460 - <custom_distribution/>  
461 - <copies>1</copies>  
462 - <partitioning>  
463 - <method>none</method>  
464 - <schema_name/>  
465 - </partitioning>  
466 - <connection>bus_control_variable</connection>  
467 - <rowlimit>1</rowlimit>  
468 - <sql>select id as sid from bsth_c_personnel&#xa;where job_code like &#x3f; and personnel_name &#x3d; &#x3f;</sql>  
469 - <outer_join>Y</outer_join>  
470 - <replace_vars>N</replace_vars>  
471 - <parameter>  
472 - <field>  
473 - <name>sgh_temp</name>  
474 - <type>String</type>  
475 - </field>  
476 - <field>  
477 - <name>&#x552e;&#x7968;&#x5458;</name>  
478 - <type>String</type>  
479 - </field>  
480 - </parameter>  
481 - <cluster_schema/>  
482 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
483 - <xloc>830</xloc>  
484 - <yloc>45</yloc>  
485 - <draw>Y</draw>  
486 - </GUI>  
487 - </step>  
488 -  
489 - <step>  
490 - <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ecinfo</name>  
491 - <type>InsertUpdate</type>  
492 - <description/>  
493 - <distribute>Y</distribute>  
494 - <custom_distribution/>  
495 - <copies>1</copies>  
496 - <partitioning>  
497 - <method>none</method>  
498 - <schema_name/>  
499 - </partitioning>  
500 - <connection>bus_control_variable</connection>  
501 - <commit>100</commit>  
502 - <update_bypassed>N</update_bypassed>  
503 - <lookup>  
504 - <schema/>  
505 - <table>bsth_c_s_ecinfo</table>  
506 - <key>  
507 - <name>xlid</name>  
508 - <field>xl</field>  
509 - <condition>&#x3d;</condition>  
510 - <name2/>  
511 - </key>  
512 - <key>  
513 - <name>&#x642d;&#x73ed;&#x7f16;&#x7801;</name>  
514 - <field>dbbm</field>  
515 - <condition>&#x3d;</condition>  
516 - <name2/>  
517 - </key>  
518 - <key>  
519 - <name>isCancel</name>  
520 - <field>is_cancel</field>  
521 - <condition>&#x3d;</condition>  
522 - <name2/>  
523 - </key>  
524 - <value>  
525 - <name>xl</name>  
526 - <rename>xlid</rename>  
527 - <update>N</update>  
528 - </value>  
529 - <value>  
530 - <name>dbbm</name>  
531 - <rename>&#x642d;&#x73ed;&#x7f16;&#x7801;</rename>  
532 - <update>N</update>  
533 - </value>  
534 - <value>  
535 - <name>jsy</name>  
536 - <rename>jid</rename>  
537 - <update>N</update>  
538 - </value>  
539 - <value>  
540 - <name>spy</name>  
541 - <rename>sid</rename>  
542 - <update>N</update>  
543 - </value>  
544 - <value>  
545 - <name>is_cancel</name>  
546 - <rename>isCancel</rename>  
547 - <update>N</update>  
548 - </value>  
549 - </lookup>  
550 - <cluster_schema/>  
551 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
552 - <xloc>833</xloc>  
553 - <yloc>198</yloc>  
554 - <draw>Y</draw>  
555 - </GUI>  
556 - </step>  
557 -  
558 - <step>  
559 - <name>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</name>  
560 - <type>DBLookup</type>  
561 - <description/>  
562 - <distribute>Y</distribute>  
563 - <custom_distribution/>  
564 - <copies>1</copies>  
565 - <partitioning>  
566 - <method>none</method>  
567 - <schema_name/>  
568 - </partitioning>  
569 - <connection>bus_control_variable</connection>  
570 - <cache>Y</cache>  
571 - <cache_load_all>Y</cache_load_all>  
572 - <cache_size>0</cache_size>  
573 - <lookup>  
574 - <schema/>  
575 - <table>bsth_c_line</table>  
576 - <orderby/>  
577 - <fail_on_multiple>N</fail_on_multiple>  
578 - <eat_row_on_failure>N</eat_row_on_failure>  
579 - <key>  
580 - <name>&#x7ebf;&#x8def;</name>  
581 - <field>name</field>  
582 - <condition>&#x3d;</condition>  
583 - <name2/>  
584 - </key>  
585 - <key>  
586 - <name>isCancel</name>  
587 - <field>destroy</field>  
588 - <condition>&#x3d;</condition>  
589 - <name2/>  
590 - </key>  
591 - <value>  
592 - <name>id</name>  
593 - <rename>xlid</rename>  
594 - <default/>  
595 - <type>Integer</type>  
596 - </value>  
597 - </lookup>  
598 - <cluster_schema/>  
599 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
600 - <xloc>397</xloc>  
601 - <yloc>144</yloc>  
602 - <draw>Y</draw>  
603 - </GUI>  
604 - </step>  
605 -  
606 - <step>  
607 - <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>  
608 - <type>GetVariable</type>  
609 - <description/>  
610 - <distribute>Y</distribute>  
611 - <custom_distribution/>  
612 - <copies>1</copies>  
613 - <partitioning>  
614 - <method>none</method>  
615 - <schema_name/>  
616 - </partitioning>  
617 - <fields>  
618 - <field>  
619 - <name>filepath_</name>  
620 - <variable>&#x24;&#x7b;filepath&#x7d;</variable>  
621 - <type>String</type>  
622 - <format/>  
623 - <currency/>  
624 - <decimal/>  
625 - <group/>  
626 - <length>-1</length>  
627 - <precision>-1</precision>  
628 - <trim_type>none</trim_type>  
629 - </field>  
630 - <field>  
631 - <name>erroroutputdir_</name>  
632 - <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>  
633 - <type>String</type>  
634 - <format/>  
635 - <currency/>  
636 - <decimal/>  
637 - <group/>  
638 - <length>-1</length>  
639 - <precision>-1</precision>  
640 - <trim_type>none</trim_type>  
641 - </field>  
642 - </fields>  
643 - <cluster_schema/>  
644 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
645 - <xloc>94</xloc>  
646 - <yloc>178</yloc>  
647 - <draw>Y</draw>  
648 - </GUI>  
649 - </step>  
650 -  
651 - <step>  
652 - <name>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>  
653 - <type>FilterRows</type>  
654 - <description/>  
655 - <distribute>Y</distribute>  
656 - <custom_distribution/>  
657 - <copies>1</copies>  
658 - <partitioning>  
659 - <method>none</method>  
660 - <schema_name/>  
661 - </partitioning>  
662 -<send_true_to/>  
663 -<send_false_to/>  
664 - <compare>  
665 -<condition>  
666 - <negated>N</negated>  
667 - <leftvalue>xlid</leftvalue>  
668 - <function>IS NOT NULL</function>  
669 - <rightvalue/>  
670 - </condition>  
671 - </compare>  
672 - <cluster_schema/>  
673 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
674 - <xloc>395</xloc>  
675 - <yloc>49</yloc>  
676 - <draw>Y</draw>  
677 - </GUI>  
678 - </step>  
679 -  
680 - <step>  
681 - <name>&#x8fc7;&#x6ee4;&#x9a7e;&#x9a76;&#x5458;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>  
682 - <type>FilterRows</type>  
683 - <description/>  
684 - <distribute>Y</distribute>  
685 - <custom_distribution/>  
686 - <copies>1</copies>  
687 - <partitioning>  
688 - <method>none</method>  
689 - <schema_name/>  
690 - </partitioning>  
691 -<send_true_to>&#x552e;&#x7968;&#x5458;id&#x67e5;&#x627e;</send_true_to>  
692 -<send_false_to/>  
693 - <compare>  
694 -<condition>  
695 - <negated>N</negated>  
696 - <leftvalue>jid</leftvalue>  
697 - <function>IS NOT NULL</function>  
698 - <rightvalue/>  
699 - </condition>  
700 - </compare>  
701 - <cluster_schema/>  
702 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
703 - <xloc>695</xloc>  
704 - <yloc>45</yloc>  
705 - <draw>Y</draw>  
706 - </GUI>  
707 - </step>  
708 -  
709 - <step>  
710 - <name>&#x9519;&#x8bef;&#x8f93;&#x51fa;</name>  
711 - <type>ExcelOutput</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 - <header>Y</header>  
721 - <footer>N</footer>  
722 - <encoding>UTF-8</encoding>  
723 - <append>N</append>  
724 - <add_to_result_filenames>Y</add_to_result_filenames>  
725 - <file>  
726 - <name>&#x24;&#x7b;erroroutputdir&#x7d;&#x2f;&#x4eba;&#x5458;&#x914d;&#x7f6e;_&#x9519;&#x8bef;</name>  
727 - <extention>xls</extention>  
728 - <do_not_open_newfile_init>N</do_not_open_newfile_init>  
729 - <create_parent_folder>N</create_parent_folder>  
730 - <split>N</split>  
731 - <add_date>N</add_date>  
732 - <add_time>N</add_time>  
733 - <SpecifyFormat>N</SpecifyFormat>  
734 - <date_time_format/>  
735 - <sheetname>Sheet1</sheetname>  
736 - <autosizecolums>N</autosizecolums>  
737 - <nullisblank>N</nullisblank>  
738 - <protect_sheet>N</protect_sheet>  
739 - <password>Encrypted </password>  
740 - <splitevery>0</splitevery>  
741 - <usetempfiles>N</usetempfiles>  
742 - <tempdirectory/>  
743 - </file>  
744 - <template>  
745 - <enabled>N</enabled>  
746 - <append>N</append>  
747 - <filename>template.xls</filename>  
748 - </template>  
749 - <fields>  
750 - <field>  
751 - <name>&#x7ebf;&#x8def;</name>  
752 - <type>String</type>  
753 - <format/>  
754 - </field>  
755 - <field>  
756 - <name>&#x642d;&#x73ed;&#x7f16;&#x7801;</name>  
757 - <type>String</type>  
758 - <format/>  
759 - </field>  
760 - <field>  
761 - <name>&#x9a7e;&#x9a76;&#x5458;&#x5de5;&#x53f7;</name>  
762 - <type>String</type>  
763 - <format/>  
764 - </field>  
765 - <field>  
766 - <name>&#x9a7e;&#x9a76;&#x5458;</name>  
767 - <type>String</type>  
768 - <format/>  
769 - </field>  
770 - <field>  
771 - <name>&#x552e;&#x7968;&#x5458;&#x5de5;&#x53f7;</name>  
772 - <type>String</type>  
773 - <format/>  
774 - </field>  
775 - <field>  
776 - <name>&#x552e;&#x7968;&#x5458;</name>  
777 - <type>String</type>  
778 - <format/>  
779 - </field>  
780 - <field>  
781 - <name>isCancel</name>  
782 - <type>Integer</type>  
783 - <format/>  
784 - </field>  
785 - <field>  
786 - <name>xlid</name>  
787 - <type>Integer</type>  
788 - <format/>  
789 - </field>  
790 - <field>  
791 - <name>jid</name>  
792 - <type>Integer</type>  
793 - <format/>  
794 - </field>  
795 - <field>  
796 - <name>sid</name>  
797 - <type>Integer</type>  
798 - <format/>  
799 - </field>  
800 - <field>  
801 - <name>error_count</name>  
802 - <type>Integer</type>  
803 - <format/>  
804 - </field>  
805 - <field>  
806 - <name>error_desc</name>  
807 - <type>String</type>  
808 - <format/>  
809 - </field>  
810 - <field>  
811 - <name>error_column1</name>  
812 - <type>String</type>  
813 - <format/>  
814 - </field>  
815 - <field>  
816 - <name>error_column2</name>  
817 - <type>String</type>  
818 - <format/>  
819 - </field>  
820 - </fields>  
821 - <custom>  
822 - <header_font_name>arial</header_font_name>  
823 - <header_font_size>10</header_font_size>  
824 - <header_font_bold>N</header_font_bold>  
825 - <header_font_italic>N</header_font_italic>  
826 - <header_font_underline>no</header_font_underline>  
827 - <header_font_orientation>horizontal</header_font_orientation>  
828 - <header_font_color>black</header_font_color>  
829 - <header_background_color>none</header_background_color>  
830 - <header_row_height>255</header_row_height>  
831 - <header_alignment>left</header_alignment>  
832 - <header_image/>  
833 - <row_font_name>arial</row_font_name>  
834 - <row_font_size>10</row_font_size>  
835 - <row_font_color>black</row_font_color>  
836 - <row_background_color>none</row_background_color>  
837 - </custom>  
838 - <cluster_schema/>  
839 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
840 - <xloc>833</xloc>  
841 - <yloc>321</yloc>  
842 - <draw>Y</draw>  
843 - </GUI>  
844 - </step>  
845 -  
846 - <step>  
847 - <name>&#x9a7e;&#x9a76;&#x5458;id&#x67e5;&#x627e;</name>  
848 - <type>DBJoin</type>  
849 - <description/>  
850 - <distribute>Y</distribute>  
851 - <custom_distribution/>  
852 - <copies>1</copies>  
853 - <partitioning>  
854 - <method>none</method>  
855 - <schema_name/>  
856 - </partitioning>  
857 - <connection>bus_control_variable</connection>  
858 - <rowlimit>1</rowlimit>  
859 - <sql>select id as jid from bsth_c_personnel&#xa;where job_code like &#x3f; and personnel_name &#x3d; &#x3f;</sql>  
860 - <outer_join>Y</outer_join>  
861 - <replace_vars>N</replace_vars>  
862 - <parameter>  
863 - <field>  
864 - <name>jgh_temp</name>  
865 - <type>String</type>  
866 - </field>  
867 - <field>  
868 - <name>&#x9a7e;&#x9a76;&#x5458;</name>  
869 - <type>String</type>  
870 - </field>  
871 - </parameter>  
872 - <cluster_schema/>  
873 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
874 - <xloc>694</xloc>  
875 - <yloc>141</yloc>  
876 - <draw>Y</draw>  
877 - </GUI>  
878 - </step>  
879 -  
880 - <step>  
881 - <name>&#x5de5;&#x53f7;&#x6570;&#x636e;&#x5904;&#x7406;</name>  
882 - <type>ScriptValueMod</type>  
883 - <description/>  
884 - <distribute>Y</distribute>  
885 - <custom_distribution/>  
886 - <copies>1</copies>  
887 - <partitioning>  
888 - <method>none</method>  
889 - <schema_name/>  
890 - </partitioning>  
891 - <compatible>N</compatible>  
892 - <optimizationLevel>9</optimizationLevel>  
893 - <jsScripts> <jsScript> <jsScript_type>0</jsScript_type>  
894 - <jsScript_name>Script 1</jsScript_name>  
895 - <jsScript_script>&#x2f;&#x2f; &#x56e0;&#x4e3a;&#x6570;&#x636e;&#x5e93;&#x4e2d;&#x7684;&#x6570;&#x636e;&#x5de5;&#x53f7;&#x53ef;&#x80fd;&#x5e26;suffix&#xff0c;&#x5982;55-12345678&#xa;&#x2f;&#x2f; &#x6240;&#x4ee5;&#x4e4b;&#x540e;&#x7684;&#x5339;&#x914d;&#x4f7f;&#x7528;like&#xff0c;&#x5219;&#x5143;&#x6570;&#x636e;&#x9700;&#x8981;&#x52a0;&#x4e0a;&#x25; &#x25;&#x7b26;&#x53f7;&#xa;&#xa;var jgh_temp&#x3b;&#xa;var sgh_temp&#x3b;&#xa;&#xa;if &#x28;&#x9a7e;&#x9a76;&#x5458;&#x5de5;&#x53f7;&#x29; &#x7b;&#xa; jgh_temp &#x3d; &#x27;&#x25;&#x27; &#x2b; &#x9a7e;&#x9a76;&#x5458;&#x5de5;&#x53f7; &#x2b; &#x27;&#x25;&#x27;&#x3b;&#xa;&#x7d; else &#x7b;&#xa; jgh_temp &#x3d; &#x9a7e;&#x9a76;&#x5458;&#x5de5;&#x53f7;&#x3b;&#xa;&#x7d;&#xa;&#xa;if &#x28;&#x552e;&#x7968;&#x5458;&#x5de5;&#x53f7;&#x29; &#x7b;&#xa; sgh_temp &#x3d; &#x27;&#x25;&#x27; &#x2b; &#x552e;&#x7968;&#x5458;&#x5de5;&#x53f7; &#x2b; &#x27;&#x25;&#x27;&#x3b;&#xa;&#x7d; else &#x7b;&#xa; sgh_temp &#x3d; &#x552e;&#x7968;&#x5458;&#x5de5;&#x53f7;&#x3b;&#xa;&#x7d;</jsScript_script>  
896 - </jsScript> </jsScripts> <fields> <field> <name>jgh_temp</name>  
897 - <rename>jgh_temp</rename>  
898 - <type>String</type>  
899 - <length>-1</length>  
900 - <precision>-1</precision>  
901 - <replace>N</replace>  
902 - </field> <field> <name>sgh_temp</name>  
903 - <rename>sgh_temp</rename>  
904 - <type>String</type>  
905 - <length>-1</length>  
906 - <precision>-1</precision>  
907 - <replace>N</replace>  
908 - </field> </fields> <cluster_schema/>  
909 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
910 - <xloc>548</xloc>  
911 - <yloc>47</yloc>  
912 - <draw>Y</draw>  
913 - </GUI>  
914 - </step>  
915 -  
916 - <step_error_handling>  
917 - <error>  
918 - <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ecinfo</source_step>  
919 - <target_step>&#x9519;&#x8bef;&#x8f93;&#x51fa;</target_step>  
920 - <is_enabled>Y</is_enabled>  
921 - <nr_valuename>error_count</nr_valuename>  
922 - <descriptions_valuename>error_desc</descriptions_valuename>  
923 - <fields_valuename>error_column1</fields_valuename>  
924 - <codes_valuename>error_column2</codes_valuename>  
925 - <max_errors/>  
926 - <max_pct_errors/>  
927 - <min_pct_rows/>  
928 - </error>  
929 - </step_error_handling>  
930 - <slave-step-copy-partition-distribution>  
931 -</slave-step-copy-partition-distribution>  
932 - <slave_transformation>N</slave_transformation>  
933 -  
934 -</transformation> 1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>&#x4eba;&#x5458;&#x914d;&#x7f6e;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</name>
  5 + <description>&#x4eba;&#x5458;&#x914d;&#x7f6e;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>
  6 + <extended_description>&#x4eba;&#x5458;&#x914d;&#x7f6e;&#x4fe1;&#x606f;</extended_description>
  7 + <trans_version/>
  8 + <trans_type>Normal</trans_type>
  9 + <trans_status>0</trans_status>
  10 + <directory>&#x2f;</directory>
  11 + <parameters>
  12 + <parameter>
  13 + <name>erroroutputdir</name>
  14 + <default_value/>
  15 + <description>ktr step&#x914d;&#x7f6e;&#x7684;&#x9519;&#x8bef;&#x8f93;&#x51fa;&#x76ee;&#x5f55;</description>
  16 + </parameter>
  17 + <parameter>
  18 + <name>filepath</name>
  19 + <default_value/>
  20 + <description>&#x5f85;&#x5904;&#x7406;&#x5bfc;&#x5165;&#x7684;excel&#x6587;&#x4ef6;</description>
  21 + </parameter>
  22 + </parameters>
  23 + <log>
  24 +<trans-log-table><connection/>
  25 +<schema/>
  26 +<table/>
  27 +<size_limit_lines/>
  28 +<interval/>
  29 +<timeout_days/>
  30 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STATUS</id><enabled>Y</enabled><name>STATUS</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name><subject/></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name><subject/></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name><subject/></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name><subject/></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name><subject/></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name><subject/></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>STARTDATE</id><enabled>Y</enabled><name>STARTDATE</name></field><field><id>ENDDATE</id><enabled>Y</enabled><name>ENDDATE</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>DEPDATE</id><enabled>Y</enabled><name>DEPDATE</name></field><field><id>REPLAYDATE</id><enabled>Y</enabled><name>REPLAYDATE</name></field><field><id>LOG_FIELD</id><enabled>Y</enabled><name>LOG_FIELD</name></field><field><id>EXECUTING_SERVER</id><enabled>N</enabled><name>EXECUTING_SERVER</name></field><field><id>EXECUTING_USER</id><enabled>N</enabled><name>EXECUTING_USER</name></field><field><id>CLIENT</id><enabled>N</enabled><name>CLIENT</name></field></trans-log-table>
  31 +<perf-log-table><connection/>
  32 +<schema/>
  33 +<table/>
  34 +<interval/>
  35 +<timeout_days/>
  36 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>SEQ_NR</id><enabled>Y</enabled><name>SEQ_NR</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>INPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>INPUT_BUFFER_ROWS</name></field><field><id>OUTPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>OUTPUT_BUFFER_ROWS</name></field></perf-log-table>
  37 +<channel-log-table><connection/>
  38 +<schema/>
  39 +<table/>
  40 +<timeout_days/>
  41 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>LOGGING_OBJECT_TYPE</id><enabled>Y</enabled><name>LOGGING_OBJECT_TYPE</name></field><field><id>OBJECT_NAME</id><enabled>Y</enabled><name>OBJECT_NAME</name></field><field><id>OBJECT_COPY</id><enabled>Y</enabled><name>OBJECT_COPY</name></field><field><id>REPOSITORY_DIRECTORY</id><enabled>Y</enabled><name>REPOSITORY_DIRECTORY</name></field><field><id>FILENAME</id><enabled>Y</enabled><name>FILENAME</name></field><field><id>OBJECT_ID</id><enabled>Y</enabled><name>OBJECT_ID</name></field><field><id>OBJECT_REVISION</id><enabled>Y</enabled><name>OBJECT_REVISION</name></field><field><id>PARENT_CHANNEL_ID</id><enabled>Y</enabled><name>PARENT_CHANNEL_ID</name></field><field><id>ROOT_CHANNEL_ID</id><enabled>Y</enabled><name>ROOT_CHANNEL_ID</name></field></channel-log-table>
  42 +<step-log-table><connection/>
  43 +<schema/>
  44 +<table/>
  45 +<timeout_days/>
  46 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>LOG_FIELD</id><enabled>N</enabled><name>LOG_FIELD</name></field></step-log-table>
  47 +<metrics-log-table><connection/>
  48 +<schema/>
  49 +<table/>
  50 +<timeout_days/>
  51 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>METRICS_DATE</id><enabled>Y</enabled><name>METRICS_DATE</name></field><field><id>METRICS_CODE</id><enabled>Y</enabled><name>METRICS_CODE</name></field><field><id>METRICS_DESCRIPTION</id><enabled>Y</enabled><name>METRICS_DESCRIPTION</name></field><field><id>METRICS_SUBJECT</id><enabled>Y</enabled><name>METRICS_SUBJECT</name></field><field><id>METRICS_TYPE</id><enabled>Y</enabled><name>METRICS_TYPE</name></field><field><id>METRICS_VALUE</id><enabled>Y</enabled><name>METRICS_VALUE</name></field></metrics-log-table>
  52 + </log>
  53 + <maxdate>
  54 + <connection/>
  55 + <table/>
  56 + <field/>
  57 + <offset>0.0</offset>
  58 + <maxdiff>0.0</maxdiff>
  59 + </maxdate>
  60 + <size_rowset>10000</size_rowset>
  61 + <sleep_time_empty>50</sleep_time_empty>
  62 + <sleep_time_full>50</sleep_time_full>
  63 + <unique_connections>N</unique_connections>
  64 + <feedback_shown>Y</feedback_shown>
  65 + <feedback_size>50000</feedback_size>
  66 + <using_thread_priorities>Y</using_thread_priorities>
  67 + <shared_objects_file/>
  68 + <capture_step_performance>N</capture_step_performance>
  69 + <step_performance_capturing_delay>1000</step_performance_capturing_delay>
  70 + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
  71 + <dependencies>
  72 + </dependencies>
  73 + <partitionschemas>
  74 + </partitionschemas>
  75 + <slaveservers>
  76 + </slaveservers>
  77 + <clusterschemas>
  78 + </clusterschemas>
  79 + <created_user>-</created_user>
  80 + <created_date>2016&#x2f;06&#x2f;29 15&#x3a;12&#x3a;27.273</created_date>
  81 + <modified_user>-</modified_user>
  82 + <modified_date>2016&#x2f;06&#x2f;29 15&#x3a;12&#x3a;27.273</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 + <notepad>
  88 + <note>&#x8fd9;&#x91cc;&#x6709;&#x4e9b;&#x95ee;&#x9898;&#xa;&#x5728;window2012&#x7684;&#x73af;&#x5883;&#x4e0b;&#xff0c;&#xa;MySql&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x4e2d;&#x5982;&#x679c;&#x8fd4;&#x56de;&#x4e2d;&#x6587;&#x5185;&#x5bb9;&#x7684;&#x5b57;&#x6bb5;&#xff0c;&#x8fd9;&#x4e2a;&#x5185;&#x5bb9;&#x4e71;&#x7801;&#xa;&#x89e3;&#x51b3;&#x529e;&#x6cd5;&#xff0c;&#x5c31;&#x662f;&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x5168;&#x90e8;&#x7f13;&#x5b58;&#xff0c;&#x5c31;&#x4e0d;&#x4e71;&#x7801;&#xa;linux&#x73af;&#x5883;&#x4e0b;&#x6ca1;&#x95ee;&#x9898;</note>
  89 + <xloc>101</xloc>
  90 + <yloc>264</yloc>
  91 + <width>333</width>
  92 + <heigth>90</heigth>
  93 + <fontname>YaHei Consolas Hybrid</fontname>
  94 + <fontsize>12</fontsize>
  95 + <fontbold>N</fontbold>
  96 + <fontitalic>N</fontitalic>
  97 + <fontcolorred>0</fontcolorred>
  98 + <fontcolorgreen>0</fontcolorgreen>
  99 + <fontcolorblue>0</fontcolorblue>
  100 + <backgroundcolorred>255</backgroundcolorred>
  101 + <backgroundcolorgreen>205</backgroundcolorgreen>
  102 + <backgroundcolorblue>112</backgroundcolorblue>
  103 + <bordercolorred>100</bordercolorred>
  104 + <bordercolorgreen>100</bordercolorgreen>
  105 + <bordercolorblue>100</bordercolorblue>
  106 + <drawshadow>Y</drawshadow>
  107 + </notepad>
  108 + </notepads>
  109 + <connection>
  110 + <name>192.168.168.1_jwgl_dw</name>
  111 + <server>192.168.168.1</server>
  112 + <type>ORACLE</type>
  113 + <access>Native</access>
  114 + <database>orcl</database>
  115 + <port>1521</port>
  116 + <username>jwgl_dw</username>
  117 + <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password>
  118 + <servername/>
  119 + <data_tablespace/>
  120 + <index_tablespace/>
  121 + <attributes>
  122 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  123 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  124 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  125 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  126 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  127 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  128 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  129 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  130 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  131 + </attributes>
  132 + </connection>
  133 + <connection>
  134 + <name>bus_control_variable</name>
  135 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  136 + <type>MYSQL</type>
  137 + <access>Native</access>
  138 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  139 + <port>3306</port>
  140 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  141 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  142 + <servername/>
  143 + <data_tablespace/>
  144 + <index_tablespace/>
  145 + <attributes>
  146 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
  147 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  148 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  149 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  150 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  151 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  152 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  153 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  154 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  155 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  156 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  157 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  158 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  159 + </attributes>
  160 + </connection>
  161 + <connection>
  162 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  163 + <server>localhost</server>
  164 + <type>MYSQL</type>
  165 + <access>Native</access>
  166 + <database>control</database>
  167 + <port>3306</port>
  168 + <username>root</username>
  169 + <password>Encrypted </password>
  170 + <servername/>
  171 + <data_tablespace/>
  172 + <index_tablespace/>
  173 + <attributes>
  174 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  175 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  176 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  177 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  178 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  179 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  180 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  181 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  182 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  183 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  184 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  185 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  186 + </attributes>
  187 + </connection>
  188 + <connection>
  189 + <name>bus_control_&#x672c;&#x673a;</name>
  190 + <server>localhost</server>
  191 + <type>MYSQL</type>
  192 + <access>Native</access>
  193 + <database>control</database>
  194 + <port>3306</port>
  195 + <username>root</username>
  196 + <password>Encrypted </password>
  197 + <servername/>
  198 + <data_tablespace/>
  199 + <index_tablespace/>
  200 + <attributes>
  201 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  202 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  203 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  204 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  205 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  206 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  207 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  208 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  209 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  210 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  211 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  212 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  213 + </attributes>
  214 + </connection>
  215 + <connection>
  216 + <name>xlab_mysql_youle</name>
  217 + <server>101.231.124.8</server>
  218 + <type>MYSQL</type>
  219 + <access>Native</access>
  220 + <database>xlab_youle</database>
  221 + <port>45687</port>
  222 + <username>xlab-youle</username>
  223 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
  224 + <servername/>
  225 + <data_tablespace/>
  226 + <index_tablespace/>
  227 + <attributes>
  228 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  229 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  230 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  231 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  232 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  233 + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
  234 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  235 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  236 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  237 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  238 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  239 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  240 + </attributes>
  241 + </connection>
  242 + <connection>
  243 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  244 + <server>localhost</server>
  245 + <type>MYSQL</type>
  246 + <access>Native</access>
  247 + <database>xlab_youle</database>
  248 + <port>3306</port>
  249 + <username>root</username>
  250 + <password>Encrypted </password>
  251 + <servername/>
  252 + <data_tablespace/>
  253 + <index_tablespace/>
  254 + <attributes>
  255 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  256 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  257 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  258 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  259 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  260 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  261 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  262 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  263 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  264 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  265 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  266 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  267 + </attributes>
  268 + </connection>
  269 + <connection>
  270 + <name>xlab_youle</name>
  271 + <server/>
  272 + <type>MYSQL</type>
  273 + <access>JNDI</access>
  274 + <database>xlab_youle</database>
  275 + <port>1521</port>
  276 + <username/>
  277 + <password>Encrypted </password>
  278 + <servername/>
  279 + <data_tablespace/>
  280 + <index_tablespace/>
  281 + <attributes>
  282 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  283 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  284 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  285 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  286 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  287 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  288 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  289 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  290 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  291 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  292 + </attributes>
  293 + </connection>
  294 + <order>
  295 + <hop> <from>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ecinfo</from><to>&#x9519;&#x8bef;&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
  296 + <hop> <from>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</from><to>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</to><enabled>Y</enabled> </hop>
  297 + <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>
  298 + <hop> <from>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</from><to>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  299 + <hop> <from>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</from><to>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  300 + <hop> <from>&#x9a7e;&#x9a76;&#x5458;id&#x67e5;&#x627e;</from><to>&#x8fc7;&#x6ee4;&#x9a7e;&#x9a76;&#x5458;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  301 + <hop> <from>&#x8fc7;&#x6ee4;&#x9a7e;&#x9a76;&#x5458;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x552e;&#x7968;&#x5458;id&#x67e5;&#x627e;</to><enabled>Y</enabled> </hop>
  302 + <hop> <from>&#x552e;&#x7968;&#x5458;id&#x67e5;&#x627e;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ecinfo</to><enabled>Y</enabled> </hop>
  303 + <hop> <from>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x9a7e;&#x9a76;&#x5458;id&#x67e5;&#x627e;</to><enabled>Y</enabled> </hop>
  304 + </order>
  305 + <step>
  306 + <name>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</name>
  307 + <type>ExcelInput</type>
  308 + <description/>
  309 + <distribute>Y</distribute>
  310 + <custom_distribution/>
  311 + <copies>1</copies>
  312 + <partitioning>
  313 + <method>none</method>
  314 + <schema_name/>
  315 + </partitioning>
  316 + <header>Y</header>
  317 + <noempty>Y</noempty>
  318 + <stoponempty>N</stoponempty>
  319 + <filefield/>
  320 + <sheetfield/>
  321 + <sheetrownumfield/>
  322 + <rownumfield/>
  323 + <sheetfield/>
  324 + <filefield/>
  325 + <limit>0</limit>
  326 + <encoding/>
  327 + <add_to_result_filenames>Y</add_to_result_filenames>
  328 + <accept_filenames>Y</accept_filenames>
  329 + <accept_field>filepath_</accept_field>
  330 + <accept_stepname>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</accept_stepname>
  331 + <file>
  332 + <name/>
  333 + <filemask/>
  334 + <exclude_filemask/>
  335 + <file_required>N</file_required>
  336 + <include_subfolders>N</include_subfolders>
  337 + </file>
  338 + <fields>
  339 + <field>
  340 + <name>&#x7ebf;&#x8def;</name>
  341 + <type>String</type>
  342 + <length>-1</length>
  343 + <precision>-1</precision>
  344 + <trim_type>none</trim_type>
  345 + <repeat>N</repeat>
  346 + <format/>
  347 + <currency/>
  348 + <decimal/>
  349 + <group/>
  350 + </field>
  351 + <field>
  352 + <name>&#x642d;&#x73ed;&#x7f16;&#x7801;</name>
  353 + <type>String</type>
  354 + <length>-1</length>
  355 + <precision>-1</precision>
  356 + <trim_type>none</trim_type>
  357 + <repeat>N</repeat>
  358 + <format>&#x23;</format>
  359 + <currency/>
  360 + <decimal/>
  361 + <group/>
  362 + </field>
  363 + <field>
  364 + <name>&#x9a7e;&#x9a76;&#x5458;&#x5de5;&#x53f7;</name>
  365 + <type>String</type>
  366 + <length>-1</length>
  367 + <precision>-1</precision>
  368 + <trim_type>none</trim_type>
  369 + <repeat>N</repeat>
  370 + <format>&#x23;</format>
  371 + <currency/>
  372 + <decimal/>
  373 + <group/>
  374 + </field>
  375 + <field>
  376 + <name>&#x9a7e;&#x9a76;&#x5458;</name>
  377 + <type>String</type>
  378 + <length>-1</length>
  379 + <precision>-1</precision>
  380 + <trim_type>none</trim_type>
  381 + <repeat>N</repeat>
  382 + <format/>
  383 + <currency/>
  384 + <decimal/>
  385 + <group/>
  386 + </field>
  387 + <field>
  388 + <name>&#x552e;&#x7968;&#x5458;&#x5de5;&#x53f7;</name>
  389 + <type>String</type>
  390 + <length>-1</length>
  391 + <precision>-1</precision>
  392 + <trim_type>none</trim_type>
  393 + <repeat>N</repeat>
  394 + <format>&#x23;</format>
  395 + <currency/>
  396 + <decimal/>
  397 + <group/>
  398 + </field>
  399 + <field>
  400 + <name>&#x552e;&#x7968;&#x5458;</name>
  401 + <type>String</type>
  402 + <length>-1</length>
  403 + <precision>-1</precision>
  404 + <trim_type>none</trim_type>
  405 + <repeat>N</repeat>
  406 + <format/>
  407 + <currency/>
  408 + <decimal/>
  409 + <group/>
  410 + </field>
  411 + </fields>
  412 + <sheets>
  413 + <sheet>
  414 + <name>&#x5de5;&#x4f5c;&#x8868;1</name>
  415 + <startrow>0</startrow>
  416 + <startcol>0</startcol>
  417 + </sheet>
  418 + </sheets>
  419 + <strict_types>N</strict_types>
  420 + <error_ignored>N</error_ignored>
  421 + <error_line_skipped>N</error_line_skipped>
  422 + <bad_line_files_destination_directory/>
  423 + <bad_line_files_extension>warning</bad_line_files_extension>
  424 + <error_line_files_destination_directory/>
  425 + <error_line_files_extension>error</error_line_files_extension>
  426 + <line_number_files_destination_directory/>
  427 + <line_number_files_extension>line</line_number_files_extension>
  428 + <shortFileFieldName/>
  429 + <pathFieldName/>
  430 + <hiddenFieldName/>
  431 + <lastModificationTimeFieldName/>
  432 + <uriNameFieldName/>
  433 + <rootUriNameFieldName/>
  434 + <extensionFieldName/>
  435 + <sizeFieldName/>
  436 + <spreadsheet_type>JXL</spreadsheet_type>
  437 + <cluster_schema/>
  438 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  439 + <xloc>93</xloc>
  440 + <yloc>51</yloc>
  441 + <draw>Y</draw>
  442 + </GUI>
  443 + </step>
  444 +
  445 + <step>
  446 + <name>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</name>
  447 + <type>Constant</type>
  448 + <description/>
  449 + <distribute>Y</distribute>
  450 + <custom_distribution/>
  451 + <copies>1</copies>
  452 + <partitioning>
  453 + <method>none</method>
  454 + <schema_name/>
  455 + </partitioning>
  456 + <fields>
  457 + <field>
  458 + <name>isCancel</name>
  459 + <type>Integer</type>
  460 + <format/>
  461 + <currency/>
  462 + <decimal/>
  463 + <group/>
  464 + <nullif>0</nullif>
  465 + <length>-1</length>
  466 + <precision>-1</precision>
  467 + <set_empty_string>N</set_empty_string>
  468 + </field>
  469 + </fields>
  470 + <cluster_schema/>
  471 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  472 + <xloc>225</xloc>
  473 + <yloc>53</yloc>
  474 + <draw>Y</draw>
  475 + </GUI>
  476 + </step>
  477 +
  478 + <step>
  479 + <name>&#x552e;&#x7968;&#x5458;id&#x67e5;&#x627e;</name>
  480 + <type>DBJoin</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 + <connection>bus_control_variable</connection>
  490 + <rowlimit>1</rowlimit>
  491 + <sql>select id as sid from bsth_c_personnel&#xa;where job_codeori &#x3d; &#x3f; and personnel_name &#x3d; &#x3f;</sql>
  492 + <outer_join>Y</outer_join>
  493 + <replace_vars>N</replace_vars>
  494 + <parameter>
  495 + <field>
  496 + <name>&#x552e;&#x7968;&#x5458;&#x5de5;&#x53f7;</name>
  497 + <type>String</type>
  498 + </field>
  499 + <field>
  500 + <name>&#x552e;&#x7968;&#x5458;</name>
  501 + <type>String</type>
  502 + </field>
  503 + </parameter>
  504 + <cluster_schema/>
  505 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  506 + <xloc>830</xloc>
  507 + <yloc>45</yloc>
  508 + <draw>Y</draw>
  509 + </GUI>
  510 + </step>
  511 +
  512 + <step>
  513 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ecinfo</name>
  514 + <type>InsertUpdate</type>
  515 + <description/>
  516 + <distribute>Y</distribute>
  517 + <custom_distribution/>
  518 + <copies>1</copies>
  519 + <partitioning>
  520 + <method>none</method>
  521 + <schema_name/>
  522 + </partitioning>
  523 + <connection>bus_control_variable</connection>
  524 + <commit>100</commit>
  525 + <update_bypassed>N</update_bypassed>
  526 + <lookup>
  527 + <schema/>
  528 + <table>bsth_c_s_ecinfo</table>
  529 + <key>
  530 + <name>xlid</name>
  531 + <field>xl</field>
  532 + <condition>&#x3d;</condition>
  533 + <name2/>
  534 + </key>
  535 + <key>
  536 + <name>&#x642d;&#x73ed;&#x7f16;&#x7801;</name>
  537 + <field>dbbm</field>
  538 + <condition>&#x3d;</condition>
  539 + <name2/>
  540 + </key>
  541 + <key>
  542 + <name>isCancel</name>
  543 + <field>is_cancel</field>
  544 + <condition>&#x3d;</condition>
  545 + <name2/>
  546 + </key>
  547 + <value>
  548 + <name>xl</name>
  549 + <rename>xlid</rename>
  550 + <update>Y</update>
  551 + </value>
  552 + <value>
  553 + <name>dbbm</name>
  554 + <rename>&#x642d;&#x73ed;&#x7f16;&#x7801;</rename>
  555 + <update>Y</update>
  556 + </value>
  557 + <value>
  558 + <name>jsy</name>
  559 + <rename>jid</rename>
  560 + <update>Y</update>
  561 + </value>
  562 + <value>
  563 + <name>spy</name>
  564 + <rename>sid</rename>
  565 + <update>Y</update>
  566 + </value>
  567 + <value>
  568 + <name>is_cancel</name>
  569 + <rename>isCancel</rename>
  570 + <update>Y</update>
  571 + </value>
  572 + </lookup>
  573 + <cluster_schema/>
  574 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  575 + <xloc>833</xloc>
  576 + <yloc>198</yloc>
  577 + <draw>Y</draw>
  578 + </GUI>
  579 + </step>
  580 +
  581 + <step>
  582 + <name>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</name>
  583 + <type>DBLookup</type>
  584 + <description/>
  585 + <distribute>Y</distribute>
  586 + <custom_distribution/>
  587 + <copies>1</copies>
  588 + <partitioning>
  589 + <method>none</method>
  590 + <schema_name/>
  591 + </partitioning>
  592 + <connection>bus_control_variable</connection>
  593 + <cache>Y</cache>
  594 + <cache_load_all>Y</cache_load_all>
  595 + <cache_size>0</cache_size>
  596 + <lookup>
  597 + <schema/>
  598 + <table>bsth_c_line</table>
  599 + <orderby/>
  600 + <fail_on_multiple>N</fail_on_multiple>
  601 + <eat_row_on_failure>N</eat_row_on_failure>
  602 + <key>
  603 + <name>&#x7ebf;&#x8def;</name>
  604 + <field>name</field>
  605 + <condition>&#x3d;</condition>
  606 + <name2/>
  607 + </key>
  608 + <key>
  609 + <name>isCancel</name>
  610 + <field>destroy</field>
  611 + <condition>&#x3d;</condition>
  612 + <name2/>
  613 + </key>
  614 + <value>
  615 + <name>id</name>
  616 + <rename>xlid</rename>
  617 + <default/>
  618 + <type>Integer</type>
  619 + </value>
  620 + </lookup>
  621 + <cluster_schema/>
  622 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  623 + <xloc>397</xloc>
  624 + <yloc>144</yloc>
  625 + <draw>Y</draw>
  626 + </GUI>
  627 + </step>
  628 +
  629 + <step>
  630 + <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>
  631 + <type>GetVariable</type>
  632 + <description/>
  633 + <distribute>Y</distribute>
  634 + <custom_distribution/>
  635 + <copies>1</copies>
  636 + <partitioning>
  637 + <method>none</method>
  638 + <schema_name/>
  639 + </partitioning>
  640 + <fields>
  641 + <field>
  642 + <name>filepath_</name>
  643 + <variable>&#x24;&#x7b;filepath&#x7d;</variable>
  644 + <type>String</type>
  645 + <format/>
  646 + <currency/>
  647 + <decimal/>
  648 + <group/>
  649 + <length>-1</length>
  650 + <precision>-1</precision>
  651 + <trim_type>none</trim_type>
  652 + </field>
  653 + <field>
  654 + <name>erroroutputdir_</name>
  655 + <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
  656 + <type>String</type>
  657 + <format/>
  658 + <currency/>
  659 + <decimal/>
  660 + <group/>
  661 + <length>-1</length>
  662 + <precision>-1</precision>
  663 + <trim_type>none</trim_type>
  664 + </field>
  665 + </fields>
  666 + <cluster_schema/>
  667 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  668 + <xloc>94</xloc>
  669 + <yloc>178</yloc>
  670 + <draw>Y</draw>
  671 + </GUI>
  672 + </step>
  673 +
  674 + <step>
  675 + <name>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>
  676 + <type>FilterRows</type>
  677 + <description/>
  678 + <distribute>Y</distribute>
  679 + <custom_distribution/>
  680 + <copies>1</copies>
  681 + <partitioning>
  682 + <method>none</method>
  683 + <schema_name/>
  684 + </partitioning>
  685 +<send_true_to/>
  686 +<send_false_to/>
  687 + <compare>
  688 +<condition>
  689 + <negated>N</negated>
  690 + <leftvalue>xlid</leftvalue>
  691 + <function>IS NOT NULL</function>
  692 + <rightvalue/>
  693 + </condition>
  694 + </compare>
  695 + <cluster_schema/>
  696 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  697 + <xloc>395</xloc>
  698 + <yloc>49</yloc>
  699 + <draw>Y</draw>
  700 + </GUI>
  701 + </step>
  702 +
  703 + <step>
  704 + <name>&#x8fc7;&#x6ee4;&#x9a7e;&#x9a76;&#x5458;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>
  705 + <type>FilterRows</type>
  706 + <description/>
  707 + <distribute>Y</distribute>
  708 + <custom_distribution/>
  709 + <copies>1</copies>
  710 + <partitioning>
  711 + <method>none</method>
  712 + <schema_name/>
  713 + </partitioning>
  714 +<send_true_to>&#x552e;&#x7968;&#x5458;id&#x67e5;&#x627e;</send_true_to>
  715 +<send_false_to/>
  716 + <compare>
  717 +<condition>
  718 + <negated>N</negated>
  719 + <leftvalue>jid</leftvalue>
  720 + <function>IS NOT NULL</function>
  721 + <rightvalue/>
  722 + </condition>
  723 + </compare>
  724 + <cluster_schema/>
  725 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  726 + <xloc>604</xloc>
  727 + <yloc>46</yloc>
  728 + <draw>Y</draw>
  729 + </GUI>
  730 + </step>
  731 +
  732 + <step>
  733 + <name>&#x9519;&#x8bef;&#x8f93;&#x51fa;</name>
  734 + <type>ExcelOutput</type>
  735 + <description/>
  736 + <distribute>Y</distribute>
  737 + <custom_distribution/>
  738 + <copies>1</copies>
  739 + <partitioning>
  740 + <method>none</method>
  741 + <schema_name/>
  742 + </partitioning>
  743 + <header>Y</header>
  744 + <footer>N</footer>
  745 + <encoding>UTF-8</encoding>
  746 + <append>N</append>
  747 + <add_to_result_filenames>Y</add_to_result_filenames>
  748 + <file>
  749 + <name>&#x24;&#x7b;erroroutputdir&#x7d;&#x2f;&#x4eba;&#x5458;&#x914d;&#x7f6e;_&#x9519;&#x8bef;</name>
  750 + <extention>xls</extention>
  751 + <do_not_open_newfile_init>N</do_not_open_newfile_init>
  752 + <create_parent_folder>N</create_parent_folder>
  753 + <split>N</split>
  754 + <add_date>N</add_date>
  755 + <add_time>N</add_time>
  756 + <SpecifyFormat>N</SpecifyFormat>
  757 + <date_time_format/>
  758 + <sheetname>Sheet1</sheetname>
  759 + <autosizecolums>N</autosizecolums>
  760 + <nullisblank>N</nullisblank>
  761 + <protect_sheet>N</protect_sheet>
  762 + <password>Encrypted </password>
  763 + <splitevery>0</splitevery>
  764 + <usetempfiles>N</usetempfiles>
  765 + <tempdirectory/>
  766 + </file>
  767 + <template>
  768 + <enabled>N</enabled>
  769 + <append>N</append>
  770 + <filename>template.xls</filename>
  771 + </template>
  772 + <fields>
  773 + <field>
  774 + <name>&#x7ebf;&#x8def;</name>
  775 + <type>String</type>
  776 + <format/>
  777 + </field>
  778 + <field>
  779 + <name>&#x642d;&#x73ed;&#x7f16;&#x7801;</name>
  780 + <type>String</type>
  781 + <format/>
  782 + </field>
  783 + <field>
  784 + <name>&#x9a7e;&#x9a76;&#x5458;&#x5de5;&#x53f7;</name>
  785 + <type>String</type>
  786 + <format/>
  787 + </field>
  788 + <field>
  789 + <name>&#x9a7e;&#x9a76;&#x5458;</name>
  790 + <type>String</type>
  791 + <format/>
  792 + </field>
  793 + <field>
  794 + <name>&#x552e;&#x7968;&#x5458;&#x5de5;&#x53f7;</name>
  795 + <type>String</type>
  796 + <format/>
  797 + </field>
  798 + <field>
  799 + <name>&#x552e;&#x7968;&#x5458;</name>
  800 + <type>String</type>
  801 + <format/>
  802 + </field>
  803 + <field>
  804 + <name>isCancel</name>
  805 + <type>Integer</type>
  806 + <format/>
  807 + </field>
  808 + <field>
  809 + <name>xlid</name>
  810 + <type>Integer</type>
  811 + <format/>
  812 + </field>
  813 + <field>
  814 + <name>jid</name>
  815 + <type>Integer</type>
  816 + <format/>
  817 + </field>
  818 + <field>
  819 + <name>sid</name>
  820 + <type>Integer</type>
  821 + <format/>
  822 + </field>
  823 + <field>
  824 + <name>error_count</name>
  825 + <type>Integer</type>
  826 + <format/>
  827 + </field>
  828 + <field>
  829 + <name>error_desc</name>
  830 + <type>String</type>
  831 + <format/>
  832 + </field>
  833 + <field>
  834 + <name>error_column1</name>
  835 + <type>String</type>
  836 + <format/>
  837 + </field>
  838 + <field>
  839 + <name>error_column2</name>
  840 + <type>String</type>
  841 + <format/>
  842 + </field>
  843 + </fields>
  844 + <custom>
  845 + <header_font_name>arial</header_font_name>
  846 + <header_font_size>10</header_font_size>
  847 + <header_font_bold>N</header_font_bold>
  848 + <header_font_italic>N</header_font_italic>
  849 + <header_font_underline>no</header_font_underline>
  850 + <header_font_orientation>horizontal</header_font_orientation>
  851 + <header_font_color>black</header_font_color>
  852 + <header_background_color>none</header_background_color>
  853 + <header_row_height>255</header_row_height>
  854 + <header_alignment>left</header_alignment>
  855 + <header_image/>
  856 + <row_font_name>arial</row_font_name>
  857 + <row_font_size>10</row_font_size>
  858 + <row_font_color>black</row_font_color>
  859 + <row_background_color>none</row_background_color>
  860 + </custom>
  861 + <cluster_schema/>
  862 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  863 + <xloc>833</xloc>
  864 + <yloc>321</yloc>
  865 + <draw>Y</draw>
  866 + </GUI>
  867 + </step>
  868 +
  869 + <step>
  870 + <name>&#x9a7e;&#x9a76;&#x5458;id&#x67e5;&#x627e;</name>
  871 + <type>DBJoin</type>
  872 + <description/>
  873 + <distribute>Y</distribute>
  874 + <custom_distribution/>
  875 + <copies>1</copies>
  876 + <partitioning>
  877 + <method>none</method>
  878 + <schema_name/>
  879 + </partitioning>
  880 + <connection>bus_control_variable</connection>
  881 + <rowlimit>1</rowlimit>
  882 + <sql>select id as jid from bsth_c_personnel&#xa;where job_codeori &#x3d; &#x3f; and personnel_name &#x3d; &#x3f;</sql>
  883 + <outer_join>Y</outer_join>
  884 + <replace_vars>N</replace_vars>
  885 + <parameter>
  886 + <field>
  887 + <name>&#x9a7e;&#x9a76;&#x5458;&#x5de5;&#x53f7;</name>
  888 + <type>String</type>
  889 + </field>
  890 + <field>
  891 + <name>&#x9a7e;&#x9a76;&#x5458;</name>
  892 + <type>String</type>
  893 + </field>
  894 + </parameter>
  895 + <cluster_schema/>
  896 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  897 + <xloc>603</xloc>
  898 + <yloc>142</yloc>
  899 + <draw>Y</draw>
  900 + </GUI>
  901 + </step>
  902 +
  903 + <step_error_handling>
  904 + <error>
  905 + <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ecinfo</source_step>
  906 + <target_step>&#x9519;&#x8bef;&#x8f93;&#x51fa;</target_step>
  907 + <is_enabled>Y</is_enabled>
  908 + <nr_valuename>error_count</nr_valuename>
  909 + <descriptions_valuename>error_desc</descriptions_valuename>
  910 + <fields_valuename>error_column1</fields_valuename>
  911 + <codes_valuename>error_column2</codes_valuename>
  912 + <max_errors/>
  913 + <max_pct_errors/>
  914 + <min_pct_rows/>
  915 + </error>
  916 + </step_error_handling>
  917 + <slave-step-copy-partition-distribution>
  918 +</slave-step-copy-partition-distribution>
  919 + <slave_transformation>N</slave_transformation>
  920 +
  921 +</transformation>
src/main/resources/datatools/ktrs/employeesConfigDataOutput.ktr
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<transformation>  
3 - <info>  
4 - <name>&#x4eba;&#x5458;&#x914d;&#x7f6e;&#x4fe1;&#x606f;&#x5bfc;&#x51fa;</name>  
5 - <description/>  
6 - <extended_description/>  
7 - <trans_version/>  
8 - <trans_type>Normal</trans_type>  
9 - <trans_status>0</trans_status>  
10 - <directory>&#x2f;</directory>  
11 - <parameters>  
12 - <parameter>  
13 - <name>filepath</name>  
14 - <default_value/>  
15 - <description>excel&#x6587;&#x4ef6;&#x8def;&#x5f84;</description>  
16 - </parameter>  
17 - <parameter>  
18 - <name>xlid</name>  
19 - <default_value/>  
20 - <description>&#x7ebf;&#x8def;id</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;11 15&#x3a;36&#x3a;10.101</created_date>  
81 - <modified_user>-</modified_user>  
82 - <modified_date>2017&#x2f;01&#x2f;11 15&#x3a;36&#x3a;10.101</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 - <notepad>  
88 - <note>&#x8fd9;&#x91cc;&#x6709;&#x4e9b;&#x95ee;&#x9898;&#xa;&#x5728;window2012&#x7684;&#x73af;&#x5883;&#x4e0b;&#xff0c;&#xa;MySql&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x4e2d;&#x5982;&#x679c;&#x8fd4;&#x56de;&#x4e2d;&#x6587;&#x5185;&#x5bb9;&#x7684;&#x5b57;&#x6bb5;&#xff0c;&#x8fd9;&#x4e2a;&#x5185;&#x5bb9;&#x4e71;&#x7801;&#xa;&#x89e3;&#x51b3;&#x529e;&#x6cd5;&#xff0c;&#x5c31;&#x662f;&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x5168;&#x90e8;&#x7f13;&#x5b58;&#xff0c;&#x5c31;&#x4e0d;&#x4e71;&#x7801;&#xa;linux&#x73af;&#x5883;&#x4e0b;&#x6ca1;&#x95ee;&#x9898;</note>  
89 - <xloc>66</xloc>  
90 - <yloc>151</yloc>  
91 - <width>333</width>  
92 - <heigth>90</heigth>  
93 - <fontname>YaHei Consolas Hybrid</fontname>  
94 - <fontsize>12</fontsize>  
95 - <fontbold>N</fontbold>  
96 - <fontitalic>N</fontitalic>  
97 - <fontcolorred>0</fontcolorred>  
98 - <fontcolorgreen>0</fontcolorgreen>  
99 - <fontcolorblue>0</fontcolorblue>  
100 - <backgroundcolorred>255</backgroundcolorred>  
101 - <backgroundcolorgreen>205</backgroundcolorgreen>  
102 - <backgroundcolorblue>112</backgroundcolorblue>  
103 - <bordercolorred>100</bordercolorred>  
104 - <bordercolorgreen>100</bordercolorgreen>  
105 - <bordercolorblue>100</bordercolorblue>  
106 - <drawshadow>Y</drawshadow>  
107 - </notepad>  
108 - </notepads>  
109 - <connection>  
110 - <name>192.168.168.1_jwgl_dw</name>  
111 - <server>192.168.168.1</server>  
112 - <type>ORACLE</type>  
113 - <access>Native</access>  
114 - <database>orcl</database>  
115 - <port>1521</port>  
116 - <username>jwgl_dw</username>  
117 - <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password>  
118 - <servername/>  
119 - <data_tablespace/>  
120 - <index_tablespace/>  
121 - <attributes>  
122 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
123 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
124 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
125 - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>  
126 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
127 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
128 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
129 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
130 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
131 - </attributes>  
132 - </connection>  
133 - <connection>  
134 - <name>bus_control_variable</name>  
135 - <server>&#x24;&#x7b;v_db_ip&#x7d;</server>  
136 - <type>MYSQL</type>  
137 - <access>Native</access>  
138 - <database>&#x24;&#x7b;v_db_dname&#x7d;</database>  
139 - <port>3306</port>  
140 - <username>&#x24;&#x7b;v_db_uname&#x7d;</username>  
141 - <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>  
142 - <servername/>  
143 - <data_tablespace/>  
144 - <index_tablespace/>  
145 - <attributes>  
146 - <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>  
147 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
148 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
149 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
150 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
151 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
152 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
153 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
154 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
155 - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>  
156 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
157 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
158 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
159 - </attributes>  
160 - </connection>  
161 - <connection>  
162 - <name>bus_control_&#x516c;&#x53f8;_201</name>  
163 - <server>localhost</server>  
164 - <type>MYSQL</type>  
165 - <access>Native</access>  
166 - <database>control</database>  
167 - <port>3306</port>  
168 - <username>root</username>  
169 - <password>Encrypted </password>  
170 - <servername/>  
171 - <data_tablespace/>  
172 - <index_tablespace/>  
173 - <attributes>  
174 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
175 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
176 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
177 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
178 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
179 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
180 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
181 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
182 - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>  
183 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
184 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
185 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
186 - </attributes>  
187 - </connection>  
188 - <connection>  
189 - <name>bus_control_&#x672c;&#x673a;</name>  
190 - <server>localhost</server>  
191 - <type>MYSQL</type>  
192 - <access>Native</access>  
193 - <database>control</database>  
194 - <port>3306</port>  
195 - <username>root</username>  
196 - <password>Encrypted </password>  
197 - <servername/>  
198 - <data_tablespace/>  
199 - <index_tablespace/>  
200 - <attributes>  
201 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
202 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
203 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
204 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
205 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
206 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
207 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
208 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
209 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
210 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
211 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
212 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
213 - </attributes>  
214 - </connection>  
215 - <connection>  
216 - <name>xlab_mysql_youle</name>  
217 - <server>101.231.124.8</server>  
218 - <type>MYSQL</type>  
219 - <access>Native</access>  
220 - <database>xlab_youle</database>  
221 - <port>45687</port>  
222 - <username>xlab-youle</username>  
223 - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>  
224 - <servername/>  
225 - <data_tablespace/>  
226 - <index_tablespace/>  
227 - <attributes>  
228 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
229 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
230 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
231 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
232 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
233 - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>  
234 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
235 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
236 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
237 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
238 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
239 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
240 - </attributes>  
241 - </connection>  
242 - <connection>  
243 - <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>  
244 - <server>localhost</server>  
245 - <type>MYSQL</type>  
246 - <access>Native</access>  
247 - <database>xlab_youle</database>  
248 - <port>3306</port>  
249 - <username>root</username>  
250 - <password>Encrypted </password>  
251 - <servername/>  
252 - <data_tablespace/>  
253 - <index_tablespace/>  
254 - <attributes>  
255 - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>  
256 - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>  
257 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
258 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
259 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
260 - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>  
261 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
262 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
263 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
264 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>  
265 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>  
266 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
267 - </attributes>  
268 - </connection>  
269 - <connection>  
270 - <name>xlab_youle</name>  
271 - <server/>  
272 - <type>MYSQL</type>  
273 - <access>JNDI</access>  
274 - <database>xlab_youle</database>  
275 - <port>1521</port>  
276 - <username/>  
277 - <password>Encrypted </password>  
278 - <servername/>  
279 - <data_tablespace/>  
280 - <index_tablespace/>  
281 - <attributes>  
282 - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>  
283 - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>  
284 - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>  
285 - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>  
286 - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>  
287 - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>  
288 - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>  
289 - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>  
290 - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>  
291 - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>  
292 - </attributes>  
293 - </connection>  
294 - <order>  
295 - <hop> <from>&#x4eba;&#x5458;&#x914d;&#x7f6e;&#xff08;&#x6ca1;&#x6709;&#x4f5c;&#x5e9f;&#xff09;</from><to>&#x7ebf;&#x8def;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>  
296 - <hop> <from>&#x7ebf;&#x8def;&#x67e5;&#x8be2;</from><to>&#x9a7e;&#x9a76;&#x5458;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>  
297 - <hop> <from>&#x9a7e;&#x9a76;&#x5458;&#x67e5;&#x8be2;</from><to>&#x552e;&#x7968;&#x5458;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>  
298 - <hop> <from>&#x552e;&#x7968;&#x5458;&#x67e5;&#x8be2;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>  
299 - <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>  
300 - <hop> <from>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</from><to>Excel&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>  
301 - </order>  
302 - <step>  
303 - <name>Excel&#x8f93;&#x51fa;</name>  
304 - <type>ExcelOutput</type>  
305 - <description/>  
306 - <distribute>Y</distribute>  
307 - <custom_distribution/>  
308 - <copies>1</copies>  
309 - <partitioning>  
310 - <method>none</method>  
311 - <schema_name/>  
312 - </partitioning>  
313 - <header>Y</header>  
314 - <footer>N</footer>  
315 - <encoding/>  
316 - <append>N</append>  
317 - <add_to_result_filenames>Y</add_to_result_filenames>  
318 - <file>  
319 - <name>&#x24;&#x7b;filepath&#x7d;</name>  
320 - <extention>xls</extention>  
321 - <do_not_open_newfile_init>N</do_not_open_newfile_init>  
322 - <create_parent_folder>N</create_parent_folder>  
323 - <split>N</split>  
324 - <add_date>N</add_date>  
325 - <add_time>N</add_time>  
326 - <SpecifyFormat>N</SpecifyFormat>  
327 - <date_time_format>yyyyMMddHHmmss</date_time_format>  
328 - <sheetname>&#x5de5;&#x4f5c;&#x8868;1</sheetname>  
329 - <autosizecolums>N</autosizecolums>  
330 - <nullisblank>N</nullisblank>  
331 - <protect_sheet>N</protect_sheet>  
332 - <password>Encrypted </password>  
333 - <splitevery>0</splitevery>  
334 - <usetempfiles>N</usetempfiles>  
335 - <tempdirectory/>  
336 - </file>  
337 - <template>  
338 - <enabled>N</enabled>  
339 - <append>N</append>  
340 - <filename>template.xls</filename>  
341 - </template>  
342 - <fields>  
343 - <field>  
344 - <name>&#x7ebf;&#x8def;</name>  
345 - <type>String</type>  
346 - <format/>  
347 - </field>  
348 - <field>  
349 - <name>&#x642d;&#x73ed;&#x7f16;&#x7801;</name>  
350 - <type>String</type>  
351 - <format/>  
352 - </field>  
353 - <field>  
354 - <name>&#x9a7e;&#x9a76;&#x5458;&#x5de5;&#x53f7;</name>  
355 - <type>String</type>  
356 - <format/>  
357 - </field>  
358 - <field>  
359 - <name>&#x9a7e;&#x9a76;&#x5458;</name>  
360 - <type>String</type>  
361 - <format/>  
362 - </field>  
363 - <field>  
364 - <name>&#x552e;&#x7968;&#x5458;&#x5de5;&#x53f7;</name>  
365 - <type>String</type>  
366 - <format/>  
367 - </field>  
368 - <field>  
369 - <name>&#x552e;&#x7968;&#x5458;</name>  
370 - <type>String</type>  
371 - <format/>  
372 - </field>  
373 - </fields>  
374 - <custom>  
375 - <header_font_name>arial</header_font_name>  
376 - <header_font_size>10</header_font_size>  
377 - <header_font_bold>N</header_font_bold>  
378 - <header_font_italic>N</header_font_italic>  
379 - <header_font_underline>no</header_font_underline>  
380 - <header_font_orientation>horizontal</header_font_orientation>  
381 - <header_font_color>black</header_font_color>  
382 - <header_background_color>none</header_background_color>  
383 - <header_row_height>255</header_row_height>  
384 - <header_alignment>left</header_alignment>  
385 - <header_image/>  
386 - <row_font_name>arial</row_font_name>  
387 - <row_font_size>10</row_font_size>  
388 - <row_font_color>black</row_font_color>  
389 - <row_background_color>none</row_background_color>  
390 - </custom>  
391 - <cluster_schema/>  
392 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
393 - <xloc>696</xloc>  
394 - <yloc>257</yloc>  
395 - <draw>Y</draw>  
396 - </GUI>  
397 - </step>  
398 -  
399 - <step>  
400 - <name>&#x4eba;&#x5458;&#x914d;&#x7f6e;&#xff08;&#x6ca1;&#x6709;&#x4f5c;&#x5e9f;&#xff09;</name>  
401 - <type>TableInput</type>  
402 - <description/>  
403 - <distribute>Y</distribute>  
404 - <custom_distribution/>  
405 - <copies>1</copies>  
406 - <partitioning>  
407 - <method>none</method>  
408 - <schema_name/>  
409 - </partitioning>  
410 - <connection>bus_control_variable</connection>  
411 - <sql>select &#x2a; from bsth_c_s_ecinfo where is_cancel &#x3d; 0 and xl &#x3d; &#x24;&#x7b;xlid&#x7d;</sql>  
412 - <limit>0</limit>  
413 - <lookup/>  
414 - <execute_each_row>N</execute_each_row>  
415 - <variables_active>Y</variables_active>  
416 - <lazy_conversion_active>N</lazy_conversion_active>  
417 - <cluster_schema/>  
418 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
419 - <xloc>90</xloc>  
420 - <yloc>59</yloc>  
421 - <draw>Y</draw>  
422 - </GUI>  
423 - </step>  
424 -  
425 - <step>  
426 - <name>&#x552e;&#x7968;&#x5458;&#x67e5;&#x8be2;</name>  
427 - <type>DBJoin</type>  
428 - <description/>  
429 - <distribute>Y</distribute>  
430 - <custom_distribution/>  
431 - <copies>1</copies>  
432 - <partitioning>  
433 - <method>none</method>  
434 - <schema_name/>  
435 - </partitioning>  
436 - <connection>bus_control_variable</connection>  
437 - <rowlimit>1</rowlimit>  
438 - <sql>select job_code as scode, personnel_name as sname from bsth_c_personnel&#xa;where id &#x3d; &#x3f;</sql>  
439 - <outer_join>Y</outer_join>  
440 - <replace_vars>N</replace_vars>  
441 - <parameter>  
442 - <field>  
443 - <name>spy</name>  
444 - <type>Integer</type>  
445 - </field>  
446 - </parameter>  
447 - <cluster_schema/>  
448 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
449 - <xloc>491</xloc>  
450 - <yloc>60</yloc>  
451 - <draw>Y</draw>  
452 - </GUI>  
453 - </step>  
454 -  
455 - <step>  
456 - <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>  
457 - <type>SelectValues</type>  
458 - <description/>  
459 - <distribute>Y</distribute>  
460 - <custom_distribution/>  
461 - <copies>1</copies>  
462 - <partitioning>  
463 - <method>none</method>  
464 - <schema_name/>  
465 - </partitioning>  
466 - <fields> <field> <name>xlmc</name>  
467 - <rename>&#x7ebf;&#x8def;</rename>  
468 - <length>-2</length>  
469 - <precision>-2</precision>  
470 - </field> <field> <name>dbbm</name>  
471 - <rename>&#x642d;&#x73ed;&#x7f16;&#x7801;</rename>  
472 - <length>-2</length>  
473 - <precision>-2</precision>  
474 - </field> <field> <name>jcode</name>  
475 - <rename>&#x9a7e;&#x9a76;&#x5458;&#x5de5;&#x53f7;</rename>  
476 - <length>-2</length>  
477 - <precision>-2</precision>  
478 - </field> <field> <name>jname</name>  
479 - <rename>&#x9a7e;&#x9a76;&#x5458;</rename>  
480 - <length>-2</length>  
481 - <precision>-2</precision>  
482 - </field> <field> <name>scode</name>  
483 - <rename>&#x552e;&#x7968;&#x5458;&#x5de5;&#x53f7;</rename>  
484 - <length>-2</length>  
485 - <precision>-2</precision>  
486 - </field> <field> <name>sname</name>  
487 - <rename>&#x552e;&#x7968;&#x5458;</rename>  
488 - <length>-2</length>  
489 - <precision>-2</precision>  
490 - </field> <select_unspecified>N</select_unspecified>  
491 - </fields> <cluster_schema/>  
492 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
493 - <xloc>492</xloc>  
494 - <yloc>164</yloc>  
495 - <draw>Y</draw>  
496 - </GUI>  
497 - </step>  
498 -  
499 - <step>  
500 - <name>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</name>  
501 - <type>SortRows</type>  
502 - <description/>  
503 - <distribute>Y</distribute>  
504 - <custom_distribution/>  
505 - <copies>1</copies>  
506 - <partitioning>  
507 - <method>none</method>  
508 - <schema_name/>  
509 - </partitioning>  
510 - <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>  
511 - <prefix>out</prefix>  
512 - <sort_size>1000000</sort_size>  
513 - <free_memory/>  
514 - <compress>N</compress>  
515 - <compress_variable/>  
516 - <unique_rows>N</unique_rows>  
517 - <fields>  
518 - <field>  
519 - <name>&#x7ebf;&#x8def;</name>  
520 - <ascending>Y</ascending>  
521 - <case_sensitive>N</case_sensitive>  
522 - <presorted>N</presorted>  
523 - </field>  
524 - <field>  
525 - <name>&#x642d;&#x73ed;&#x7f16;&#x7801;</name>  
526 - <ascending>Y</ascending>  
527 - <case_sensitive>N</case_sensitive>  
528 - <presorted>N</presorted>  
529 - </field>  
530 - </fields>  
531 - <cluster_schema/>  
532 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
533 - <xloc>692</xloc>  
534 - <yloc>164</yloc>  
535 - <draw>Y</draw>  
536 - </GUI>  
537 - </step>  
538 -  
539 - <step>  
540 - <name>&#x7ebf;&#x8def;&#x67e5;&#x8be2;</name>  
541 - <type>DBLookup</type>  
542 - <description/>  
543 - <distribute>Y</distribute>  
544 - <custom_distribution/>  
545 - <copies>1</copies>  
546 - <partitioning>  
547 - <method>none</method>  
548 - <schema_name/>  
549 - </partitioning>  
550 - <connection>bus_control_variable</connection>  
551 - <cache>Y</cache>  
552 - <cache_load_all>Y</cache_load_all>  
553 - <cache_size>0</cache_size>  
554 - <lookup>  
555 - <schema/>  
556 - <table>bsth_c_line</table>  
557 - <orderby/>  
558 - <fail_on_multiple>N</fail_on_multiple>  
559 - <eat_row_on_failure>N</eat_row_on_failure>  
560 - <key>  
561 - <name>xl</name>  
562 - <field>id</field>  
563 - <condition>&#x3d;</condition>  
564 - <name2/>  
565 - </key>  
566 - <value>  
567 - <name>name</name>  
568 - <rename>xlmc</rename>  
569 - <default/>  
570 - <type>String</type>  
571 - </value>  
572 - </lookup>  
573 - <cluster_schema/>  
574 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
575 - <xloc>227</xloc>  
576 - <yloc>59</yloc>  
577 - <draw>Y</draw>  
578 - </GUI>  
579 - </step>  
580 -  
581 - <step>  
582 - <name>&#x9a7e;&#x9a76;&#x5458;&#x67e5;&#x8be2;</name>  
583 - <type>DBJoin</type>  
584 - <description/>  
585 - <distribute>Y</distribute>  
586 - <custom_distribution/>  
587 - <copies>1</copies>  
588 - <partitioning>  
589 - <method>none</method>  
590 - <schema_name/>  
591 - </partitioning>  
592 - <connection>bus_control_variable</connection>  
593 - <rowlimit>1</rowlimit>  
594 - <sql>select job_code as jcode, personnel_name as jname from bsth_c_personnel&#xa;where id &#x3d; &#x3f;</sql>  
595 - <outer_join>Y</outer_join>  
596 - <replace_vars>N</replace_vars>  
597 - <parameter>  
598 - <field>  
599 - <name>jsy</name>  
600 - <type>Integer</type>  
601 - </field>  
602 - </parameter>  
603 - <cluster_schema/>  
604 - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>  
605 - <xloc>366</xloc>  
606 - <yloc>60</yloc>  
607 - <draw>Y</draw>  
608 - </GUI>  
609 - </step>  
610 -  
611 - <step_error_handling>  
612 - </step_error_handling>  
613 - <slave-step-copy-partition-distribution>  
614 -</slave-step-copy-partition-distribution>  
615 - <slave_transformation>N</slave_transformation>  
616 -  
617 -</transformation> 1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>&#x4eba;&#x5458;&#x914d;&#x7f6e;&#x4fe1;&#x606f;&#x5bfc;&#x51fa;</name>
  5 + <description/>
  6 + <extended_description/>
  7 + <trans_version/>
  8 + <trans_type>Normal</trans_type>
  9 + <trans_status>0</trans_status>
  10 + <directory>&#x2f;</directory>
  11 + <parameters>
  12 + <parameter>
  13 + <name>filepath</name>
  14 + <default_value/>
  15 + <description>excel&#x6587;&#x4ef6;&#x8def;&#x5f84;</description>
  16 + </parameter>
  17 + <parameter>
  18 + <name>xlid</name>
  19 + <default_value/>
  20 + <description>&#x7ebf;&#x8def;id</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;11 15&#x3a;36&#x3a;10.101</created_date>
  81 + <modified_user>-</modified_user>
  82 + <modified_date>2017&#x2f;01&#x2f;11 15&#x3a;36&#x3a;10.101</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 + <notepad>
  88 + <note>&#x8fd9;&#x91cc;&#x6709;&#x4e9b;&#x95ee;&#x9898;&#xa;&#x5728;window2012&#x7684;&#x73af;&#x5883;&#x4e0b;&#xff0c;&#xa;MySql&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x4e2d;&#x5982;&#x679c;&#x8fd4;&#x56de;&#x4e2d;&#x6587;&#x5185;&#x5bb9;&#x7684;&#x5b57;&#x6bb5;&#xff0c;&#x8fd9;&#x4e2a;&#x5185;&#x5bb9;&#x4e71;&#x7801;&#xa;&#x89e3;&#x51b3;&#x529e;&#x6cd5;&#xff0c;&#x5c31;&#x662f;&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x5168;&#x90e8;&#x7f13;&#x5b58;&#xff0c;&#x5c31;&#x4e0d;&#x4e71;&#x7801;&#xa;linux&#x73af;&#x5883;&#x4e0b;&#x6ca1;&#x95ee;&#x9898;</note>
  89 + <xloc>66</xloc>
  90 + <yloc>151</yloc>
  91 + <width>333</width>
  92 + <heigth>90</heigth>
  93 + <fontname>YaHei Consolas Hybrid</fontname>
  94 + <fontsize>12</fontsize>
  95 + <fontbold>N</fontbold>
  96 + <fontitalic>N</fontitalic>
  97 + <fontcolorred>0</fontcolorred>
  98 + <fontcolorgreen>0</fontcolorgreen>
  99 + <fontcolorblue>0</fontcolorblue>
  100 + <backgroundcolorred>255</backgroundcolorred>
  101 + <backgroundcolorgreen>205</backgroundcolorgreen>
  102 + <backgroundcolorblue>112</backgroundcolorblue>
  103 + <bordercolorred>100</bordercolorred>
  104 + <bordercolorgreen>100</bordercolorgreen>
  105 + <bordercolorblue>100</bordercolorblue>
  106 + <drawshadow>Y</drawshadow>
  107 + </notepad>
  108 + </notepads>
  109 + <connection>
  110 + <name>192.168.168.1_jwgl_dw</name>
  111 + <server>192.168.168.1</server>
  112 + <type>ORACLE</type>
  113 + <access>Native</access>
  114 + <database>orcl</database>
  115 + <port>1521</port>
  116 + <username>jwgl_dw</username>
  117 + <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password>
  118 + <servername/>
  119 + <data_tablespace/>
  120 + <index_tablespace/>
  121 + <attributes>
  122 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  123 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  124 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  125 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  126 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  127 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  128 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  129 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  130 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  131 + </attributes>
  132 + </connection>
  133 + <connection>
  134 + <name>bus_control_variable</name>
  135 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  136 + <type>MYSQL</type>
  137 + <access>Native</access>
  138 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  139 + <port>3306</port>
  140 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  141 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  142 + <servername/>
  143 + <data_tablespace/>
  144 + <index_tablespace/>
  145 + <attributes>
  146 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
  147 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  148 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  149 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  150 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  151 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  152 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  153 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  154 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  155 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  156 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  157 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  158 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  159 + </attributes>
  160 + </connection>
  161 + <connection>
  162 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  163 + <server>localhost</server>
  164 + <type>MYSQL</type>
  165 + <access>Native</access>
  166 + <database>control</database>
  167 + <port>3306</port>
  168 + <username>root</username>
  169 + <password>Encrypted </password>
  170 + <servername/>
  171 + <data_tablespace/>
  172 + <index_tablespace/>
  173 + <attributes>
  174 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  175 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  176 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  177 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  178 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  179 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  180 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  181 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  182 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  183 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  184 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  185 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  186 + </attributes>
  187 + </connection>
  188 + <connection>
  189 + <name>bus_control_&#x672c;&#x673a;</name>
  190 + <server>localhost</server>
  191 + <type>MYSQL</type>
  192 + <access>Native</access>
  193 + <database>control</database>
  194 + <port>3306</port>
  195 + <username>root</username>
  196 + <password>Encrypted </password>
  197 + <servername/>
  198 + <data_tablespace/>
  199 + <index_tablespace/>
  200 + <attributes>
  201 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  202 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  203 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  204 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  205 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  206 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  207 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  208 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  209 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  210 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  211 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  212 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  213 + </attributes>
  214 + </connection>
  215 + <connection>
  216 + <name>xlab_mysql_youle</name>
  217 + <server>101.231.124.8</server>
  218 + <type>MYSQL</type>
  219 + <access>Native</access>
  220 + <database>xlab_youle</database>
  221 + <port>45687</port>
  222 + <username>xlab-youle</username>
  223 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
  224 + <servername/>
  225 + <data_tablespace/>
  226 + <index_tablespace/>
  227 + <attributes>
  228 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  229 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  230 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  231 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  232 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  233 + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
  234 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  235 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  236 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  237 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  238 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  239 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  240 + </attributes>
  241 + </connection>
  242 + <connection>
  243 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  244 + <server>localhost</server>
  245 + <type>MYSQL</type>
  246 + <access>Native</access>
  247 + <database>xlab_youle</database>
  248 + <port>3306</port>
  249 + <username>root</username>
  250 + <password>Encrypted </password>
  251 + <servername/>
  252 + <data_tablespace/>
  253 + <index_tablespace/>
  254 + <attributes>
  255 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  256 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  257 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  258 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  259 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  260 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  261 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  262 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  263 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  264 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  265 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  266 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  267 + </attributes>
  268 + </connection>
  269 + <connection>
  270 + <name>xlab_youle</name>
  271 + <server/>
  272 + <type>MYSQL</type>
  273 + <access>JNDI</access>
  274 + <database>xlab_youle</database>
  275 + <port>1521</port>
  276 + <username/>
  277 + <password>Encrypted </password>
  278 + <servername/>
  279 + <data_tablespace/>
  280 + <index_tablespace/>
  281 + <attributes>
  282 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  283 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  284 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  285 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  286 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  287 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  288 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  289 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  290 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  291 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  292 + </attributes>
  293 + </connection>
  294 + <order>
  295 + <hop> <from>&#x4eba;&#x5458;&#x914d;&#x7f6e;&#xff08;&#x6ca1;&#x6709;&#x4f5c;&#x5e9f;&#xff09;</from><to>&#x7ebf;&#x8def;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  296 + <hop> <from>&#x7ebf;&#x8def;&#x67e5;&#x8be2;</from><to>&#x9a7e;&#x9a76;&#x5458;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  297 + <hop> <from>&#x9a7e;&#x9a76;&#x5458;&#x67e5;&#x8be2;</from><to>&#x552e;&#x7968;&#x5458;&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  298 + <hop> <from>&#x552e;&#x7968;&#x5458;&#x67e5;&#x8be2;</from><to>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</to><enabled>Y</enabled> </hop>
  299 + <hop> <from>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</from><to>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  300 + <hop> <from>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</from><to>Excel&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
  301 + </order>
  302 + <step>
  303 + <name>Excel&#x8f93;&#x51fa;</name>
  304 + <type>ExcelOutput</type>
  305 + <description/>
  306 + <distribute>Y</distribute>
  307 + <custom_distribution/>
  308 + <copies>1</copies>
  309 + <partitioning>
  310 + <method>none</method>
  311 + <schema_name/>
  312 + </partitioning>
  313 + <header>Y</header>
  314 + <footer>N</footer>
  315 + <encoding/>
  316 + <append>N</append>
  317 + <add_to_result_filenames>Y</add_to_result_filenames>
  318 + <file>
  319 + <name>&#x24;&#x7b;filepath&#x7d;</name>
  320 + <extention>xls</extention>
  321 + <do_not_open_newfile_init>N</do_not_open_newfile_init>
  322 + <create_parent_folder>N</create_parent_folder>
  323 + <split>N</split>
  324 + <add_date>N</add_date>
  325 + <add_time>N</add_time>
  326 + <SpecifyFormat>N</SpecifyFormat>
  327 + <date_time_format>yyyyMMddHHmmss</date_time_format>
  328 + <sheetname>&#x5de5;&#x4f5c;&#x8868;1</sheetname>
  329 + <autosizecolums>N</autosizecolums>
  330 + <nullisblank>N</nullisblank>
  331 + <protect_sheet>N</protect_sheet>
  332 + <password>Encrypted </password>
  333 + <splitevery>0</splitevery>
  334 + <usetempfiles>N</usetempfiles>
  335 + <tempdirectory/>
  336 + </file>
  337 + <template>
  338 + <enabled>N</enabled>
  339 + <append>N</append>
  340 + <filename>template.xls</filename>
  341 + </template>
  342 + <fields>
  343 + <field>
  344 + <name>&#x7ebf;&#x8def;</name>
  345 + <type>String</type>
  346 + <format/>
  347 + </field>
  348 + <field>
  349 + <name>&#x642d;&#x73ed;&#x7f16;&#x7801;</name>
  350 + <type>String</type>
  351 + <format/>
  352 + </field>
  353 + <field>
  354 + <name>&#x9a7e;&#x9a76;&#x5458;&#x5de5;&#x53f7;</name>
  355 + <type>String</type>
  356 + <format/>
  357 + </field>
  358 + <field>
  359 + <name>&#x9a7e;&#x9a76;&#x5458;</name>
  360 + <type>String</type>
  361 + <format/>
  362 + </field>
  363 + <field>
  364 + <name>&#x552e;&#x7968;&#x5458;&#x5de5;&#x53f7;</name>
  365 + <type>String</type>
  366 + <format/>
  367 + </field>
  368 + <field>
  369 + <name>&#x552e;&#x7968;&#x5458;</name>
  370 + <type>String</type>
  371 + <format/>
  372 + </field>
  373 + </fields>
  374 + <custom>
  375 + <header_font_name>arial</header_font_name>
  376 + <header_font_size>10</header_font_size>
  377 + <header_font_bold>N</header_font_bold>
  378 + <header_font_italic>N</header_font_italic>
  379 + <header_font_underline>no</header_font_underline>
  380 + <header_font_orientation>horizontal</header_font_orientation>
  381 + <header_font_color>black</header_font_color>
  382 + <header_background_color>none</header_background_color>
  383 + <header_row_height>255</header_row_height>
  384 + <header_alignment>left</header_alignment>
  385 + <header_image/>
  386 + <row_font_name>arial</row_font_name>
  387 + <row_font_size>10</row_font_size>
  388 + <row_font_color>black</row_font_color>
  389 + <row_background_color>none</row_background_color>
  390 + </custom>
  391 + <cluster_schema/>
  392 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  393 + <xloc>696</xloc>
  394 + <yloc>257</yloc>
  395 + <draw>Y</draw>
  396 + </GUI>
  397 + </step>
  398 +
  399 + <step>
  400 + <name>&#x4eba;&#x5458;&#x914d;&#x7f6e;&#xff08;&#x6ca1;&#x6709;&#x4f5c;&#x5e9f;&#xff09;</name>
  401 + <type>TableInput</type>
  402 + <description/>
  403 + <distribute>Y</distribute>
  404 + <custom_distribution/>
  405 + <copies>1</copies>
  406 + <partitioning>
  407 + <method>none</method>
  408 + <schema_name/>
  409 + </partitioning>
  410 + <connection>bus_control_variable</connection>
  411 + <sql>select &#x2a; from bsth_c_s_ecinfo where is_cancel &#x3d; 0 and xl &#x3d; &#x24;&#x7b;xlid&#x7d;</sql>
  412 + <limit>0</limit>
  413 + <lookup/>
  414 + <execute_each_row>N</execute_each_row>
  415 + <variables_active>Y</variables_active>
  416 + <lazy_conversion_active>N</lazy_conversion_active>
  417 + <cluster_schema/>
  418 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  419 + <xloc>90</xloc>
  420 + <yloc>59</yloc>
  421 + <draw>Y</draw>
  422 + </GUI>
  423 + </step>
  424 +
  425 + <step>
  426 + <name>&#x552e;&#x7968;&#x5458;&#x67e5;&#x8be2;</name>
  427 + <type>DBJoin</type>
  428 + <description/>
  429 + <distribute>Y</distribute>
  430 + <custom_distribution/>
  431 + <copies>1</copies>
  432 + <partitioning>
  433 + <method>none</method>
  434 + <schema_name/>
  435 + </partitioning>
  436 + <connection>bus_control_variable</connection>
  437 + <rowlimit>1</rowlimit>
  438 + <sql>select job_codeori as scode, personnel_name as sname from bsth_c_personnel&#xa;where id &#x3d; &#x3f;</sql>
  439 + <outer_join>Y</outer_join>
  440 + <replace_vars>N</replace_vars>
  441 + <parameter>
  442 + <field>
  443 + <name>spy</name>
  444 + <type>Integer</type>
  445 + </field>
  446 + </parameter>
  447 + <cluster_schema/>
  448 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  449 + <xloc>491</xloc>
  450 + <yloc>60</yloc>
  451 + <draw>Y</draw>
  452 + </GUI>
  453 + </step>
  454 +
  455 + <step>
  456 + <name>&#x5b57;&#x6bb5;&#x9009;&#x62e9;</name>
  457 + <type>SelectValues</type>
  458 + <description/>
  459 + <distribute>Y</distribute>
  460 + <custom_distribution/>
  461 + <copies>1</copies>
  462 + <partitioning>
  463 + <method>none</method>
  464 + <schema_name/>
  465 + </partitioning>
  466 + <fields> <field> <name>xlmc</name>
  467 + <rename>&#x7ebf;&#x8def;</rename>
  468 + <length>-2</length>
  469 + <precision>-2</precision>
  470 + </field> <field> <name>dbbm</name>
  471 + <rename>&#x642d;&#x73ed;&#x7f16;&#x7801;</rename>
  472 + <length>-2</length>
  473 + <precision>-2</precision>
  474 + </field> <field> <name>jcode</name>
  475 + <rename>&#x9a7e;&#x9a76;&#x5458;&#x5de5;&#x53f7;</rename>
  476 + <length>-2</length>
  477 + <precision>-2</precision>
  478 + </field> <field> <name>jname</name>
  479 + <rename>&#x9a7e;&#x9a76;&#x5458;</rename>
  480 + <length>-2</length>
  481 + <precision>-2</precision>
  482 + </field> <field> <name>scode</name>
  483 + <rename>&#x552e;&#x7968;&#x5458;&#x5de5;&#x53f7;</rename>
  484 + <length>-2</length>
  485 + <precision>-2</precision>
  486 + </field> <field> <name>sname</name>
  487 + <rename>&#x552e;&#x7968;&#x5458;</rename>
  488 + <length>-2</length>
  489 + <precision>-2</precision>
  490 + </field> <select_unspecified>N</select_unspecified>
  491 + </fields> <cluster_schema/>
  492 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  493 + <xloc>492</xloc>
  494 + <yloc>164</yloc>
  495 + <draw>Y</draw>
  496 + </GUI>
  497 + </step>
  498 +
  499 + <step>
  500 + <name>&#x6392;&#x5e8f;&#x8bb0;&#x5f55;</name>
  501 + <type>SortRows</type>
  502 + <description/>
  503 + <distribute>Y</distribute>
  504 + <custom_distribution/>
  505 + <copies>1</copies>
  506 + <partitioning>
  507 + <method>none</method>
  508 + <schema_name/>
  509 + </partitioning>
  510 + <directory>&#x25;&#x25;java.io.tmpdir&#x25;&#x25;</directory>
  511 + <prefix>out</prefix>
  512 + <sort_size>1000000</sort_size>
  513 + <free_memory/>
  514 + <compress>N</compress>
  515 + <compress_variable/>
  516 + <unique_rows>N</unique_rows>
  517 + <fields>
  518 + <field>
  519 + <name>&#x7ebf;&#x8def;</name>
  520 + <ascending>Y</ascending>
  521 + <case_sensitive>N</case_sensitive>
  522 + <presorted>N</presorted>
  523 + </field>
  524 + <field>
  525 + <name>&#x642d;&#x73ed;&#x7f16;&#x7801;</name>
  526 + <ascending>Y</ascending>
  527 + <case_sensitive>N</case_sensitive>
  528 + <presorted>N</presorted>
  529 + </field>
  530 + </fields>
  531 + <cluster_schema/>
  532 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  533 + <xloc>692</xloc>
  534 + <yloc>164</yloc>
  535 + <draw>Y</draw>
  536 + </GUI>
  537 + </step>
  538 +
  539 + <step>
  540 + <name>&#x7ebf;&#x8def;&#x67e5;&#x8be2;</name>
  541 + <type>DBLookup</type>
  542 + <description/>
  543 + <distribute>Y</distribute>
  544 + <custom_distribution/>
  545 + <copies>1</copies>
  546 + <partitioning>
  547 + <method>none</method>
  548 + <schema_name/>
  549 + </partitioning>
  550 + <connection>bus_control_variable</connection>
  551 + <cache>Y</cache>
  552 + <cache_load_all>Y</cache_load_all>
  553 + <cache_size>0</cache_size>
  554 + <lookup>
  555 + <schema/>
  556 + <table>bsth_c_line</table>
  557 + <orderby/>
  558 + <fail_on_multiple>N</fail_on_multiple>
  559 + <eat_row_on_failure>N</eat_row_on_failure>
  560 + <key>
  561 + <name>xl</name>
  562 + <field>id</field>
  563 + <condition>&#x3d;</condition>
  564 + <name2/>
  565 + </key>
  566 + <value>
  567 + <name>name</name>
  568 + <rename>xlmc</rename>
  569 + <default/>
  570 + <type>String</type>
  571 + </value>
  572 + </lookup>
  573 + <cluster_schema/>
  574 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  575 + <xloc>227</xloc>
  576 + <yloc>59</yloc>
  577 + <draw>Y</draw>
  578 + </GUI>
  579 + </step>
  580 +
  581 + <step>
  582 + <name>&#x9a7e;&#x9a76;&#x5458;&#x67e5;&#x8be2;</name>
  583 + <type>DBJoin</type>
  584 + <description/>
  585 + <distribute>Y</distribute>
  586 + <custom_distribution/>
  587 + <copies>1</copies>
  588 + <partitioning>
  589 + <method>none</method>
  590 + <schema_name/>
  591 + </partitioning>
  592 + <connection>bus_control_variable</connection>
  593 + <rowlimit>1</rowlimit>
  594 + <sql>select job_codeori as jcode, personnel_name as jname from bsth_c_personnel&#xa;where id &#x3d; &#x3f;</sql>
  595 + <outer_join>Y</outer_join>
  596 + <replace_vars>N</replace_vars>
  597 + <parameter>
  598 + <field>
  599 + <name>jsy</name>
  600 + <type>Integer</type>
  601 + </field>
  602 + </parameter>
  603 + <cluster_schema/>
  604 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  605 + <xloc>366</xloc>
  606 + <yloc>60</yloc>
  607 + <draw>Y</draw>
  608 + </GUI>
  609 + </step>
  610 +
  611 + <step_error_handling>
  612 + </step_error_handling>
  613 + <slave-step-copy-partition-distribution>
  614 +</slave-step-copy-partition-distribution>
  615 + <slave_transformation>N</slave_transformation>
  616 +
  617 +</transformation>
src/main/resources/static/pages/base/line/js/line-edit-form.js
@@ -9,7 +9,8 @@ @@ -9,7 +9,8 @@
9 9
10 10
11 !function(){ 11 !function(){
12 - 12 + // 关闭左侧栏
  13 + if (!$('body').hasClass('page-sidebar-closed')) {$('.menu-toggler.sidebar-toggler').click();}
13 /** 开辟日期 日期控件 <format:日期控件时间格式;locale:语言> */ 14 /** 开辟日期 日期控件 <format:日期控件时间格式;locale:语言> */
14 $('#openDateInput').datetimepicker({format : 'YYYY-MM-DD', locale: 'zh-cn'}); 15 $('#openDateInput').datetimepicker({format : 'YYYY-MM-DD', locale: 'zh-cn'});
15 /** 起始站首班时间 日期控件 <format:日期控件时间格式;locale:语言> */ 16 /** 起始站首班时间 日期控件 <format:日期控件时间格式;locale:语言> */
src/main/resources/static/pages/base/station/js/station-list-edit.js
@@ -16,9 +16,6 @@ @@ -16,9 +16,6 @@
16 $('#lineNameInput').val(no[1]); 16 $('#lineNameInput').val(no[1]);
17 // 获取站点对象信息 17 // 获取站点对象信息
18 var editStation = {}; 18 var editStation = {};
19 - /*PositionsPublicFunctions.getStationRouteInfo(id,function(r) {  
20 - editStation = r;  
21 - });*/  
22 $.ajax({ 19 $.ajax({
23 url: "/stationroute/findStationRouteInfo", //请求地址 20 url: "/stationroute/findStationRouteInfo", //请求地址
24 type: "Get", 21 type: "Get",
@@ -29,74 +26,77 @@ @@ -29,74 +26,77 @@
29 editStation = result[0]; 26 editStation = result[0];
30 } 27 }
31 }); 28 });
32 - // 初始化表单值  
33 - PositionsPublicFunctions.setListEditFrom(editStation);  
34 - var initzdlyP = {'lineCode_eq':editStation.stationRouteLIneCode,'destroy_eq':0,'directions_eq':editStation.stationRoutedirections};  
35 - initSelect(initzdlyP); 29 + setTimeout(function(){
  30 + // 初始化表单值
  31 + PositionsPublicFunctions.setListEditFrom(editStation);
  32 +
  33 + var initzdlyP = {'lineCode_eq':editStation.stationRouteLIneCode,'destroy_eq':0,'directions_eq':editStation.stationRoutedirections};
  34 + initSelect(initzdlyP);
  35 +
  36 + // 编辑表单元素
  37 + var form = $('#list_edit_station_form');
  38 + // 获取错误提示元素
  39 + var error = $('.alert-danger', form);
  40 + // 提交数据按钮事件
  41 + $('#editStationButton').on('click', function() {
  42 + // 表单提交
  43 + form.submit();
  44 + });
  45 + // 表单验证
  46 + form.validate({
  47 + errorElement : 'span',
  48 + errorClass : 'help-block help-block-error',
  49 + focusInvalid : false,
  50 + rules : {
  51 + 'stationName' : {required : true},// 站点路由名称 必填项
  52 + 'stationCod': {required : true,},// 站点编码 必填项
  53 + 'directions' : {required : true,dirIs : true},// 站点方向 必填项 必填项
  54 + 'stationRouteCode' : {isStart : true},// 站点序号
  55 + 'bJwpoints' : {required : true},// 经纬度坐标点 必填项
  56 + 'shapesType' : {required : true},// 几何图形类型 必填项
  57 + 'radius' : {required : true},// 圆形半径 必填项
  58 + 'destroy' : {required : true},// 是否撤销 必填项
  59 + 'toTime' : {number : true},// 到站时间 必须输入合法的数字(负数,小数)。
  60 + 'distances' : {number : true},// 到站距离 // 到站距离
  61 + 'descriptions' : {maxlength: 150}// 描述与说明 最大长度
  62 + },
  63 + invalidHandler : function(event, validator) {
  64 + error.show();
  65 + App.scrollTo(error, -200);
  66 + },
  67 + highlight : function(element) {
  68 + $(element).closest('.form-group').addClass('has-error');
  69 + },
  70 + unhighlight : function(element) {
  71 + $(element).closest('.form-group').removeClass('has-error');
  72 + },
  73 + success : function(label) {
  74 + label.closest('.form-group').removeClass('has-error');
  75 + },
  76 + submitHandler : function(f) {
  77 + error.hide();
  78 + var params = form.serializeJSON();
  79 + /*if(params.shapesType=='圆形')
  80 + params.shapesType = 'r';
  81 + else if(params.shapesType=='多边形')
  82 + params.shapesType = 'd';*/
  83 + if(params.stationRouteCode=='请选择...')
  84 + params.stationRouteCode='';
  85 + PositionsPublicFunctions.stationUpdate(params,function(resuntDate) {
  86 + if(resuntDate.status=='SUCCESS') {
  87 + // 弹出添加成功提示消息
  88 + layer.msg('修改成功...');
  89 + }else {
  90 + // 弹出添加失败提示消息
  91 + layer.msg('修改失败...');
  92 + }
  93 + //返回站点信息页面
  94 + loadPage('list.html');
  95 + });
  96 + }
  97 + });
  98 + },500);
36 99
37 - // 编辑表单元素  
38 - var form = $('#list_edit_station_form');  
39 - // 获取错误提示元素  
40 - var error = $('.alert-danger', form);  
41 - // 提交数据按钮事件  
42 - $('#editStationButton').on('click', function() {  
43 - // 表单提交  
44 - form.submit();  
45 - });  
46 - // 表单验证  
47 - form.validate({  
48 - errorElement : 'span',  
49 - errorClass : 'help-block help-block-error',  
50 - focusInvalid : false,  
51 - rules : {  
52 - 'stationName' : {required : true},// 站点路由名称 必填项  
53 - 'stationCod': {required : true,},// 站点编码 必填项  
54 - 'directions' : {required : true,dirIs : true},// 站点方向 必填项 必填项  
55 - 'stationRouteCode' : {isStart : true},// 站点序号  
56 - 'stationMark' : {required : true},// 站点类型 必填项  
57 - 'bJwpoints' : {required : true},// 经纬度坐标点 必填项  
58 - 'shapesType' : {required : true},// 几何图形类型 必填项  
59 - 'radius' : {required : true},// 圆形半径 必填项  
60 - 'destroy' : {required : true},// 是否撤销 必填项  
61 - 'toTime' : {number : true},// 到站时间 必须输入合法的数字(负数,小数)。  
62 - 'distances' : {number : true},// 到站距离 // 到站距离  
63 - 'descriptions' : {maxlength: 150}// 描述与说明 最大长度  
64 - },  
65 - invalidHandler : function(event, validator) {  
66 - error.show();  
67 - App.scrollTo(error, -200);  
68 - },  
69 - highlight : function(element) {  
70 - $(element).closest('.form-group').addClass('has-error');  
71 - },  
72 - unhighlight : function(element) {  
73 - $(element).closest('.form-group').removeClass('has-error');  
74 - },  
75 - success : function(label) {  
76 - label.closest('.form-group').removeClass('has-error');  
77 - },  
78 - submitHandler : function(f) {  
79 - error.hide();  
80 - var params = form.serializeJSON();  
81 - /*if(params.shapesType=='圆形')  
82 - params.shapesType = 'r';  
83 - else if(params.shapesType=='多边形')  
84 - params.shapesType = 'd';*/  
85 - if(params.stationRouteCode=='请选择...')  
86 - params.stationRouteCode='';  
87 - PositionsPublicFunctions.stationUpdate(params,function(resuntDate) {  
88 - if(resuntDate.status=='SUCCESS') {  
89 - // 弹出添加成功提示消息  
90 - layer.msg('修改成功...');  
91 - }else {  
92 - // 弹出添加失败提示消息  
93 - layer.msg('修改失败...');  
94 - }  
95 - //返回站点信息页面  
96 - loadPage('list.html');  
97 - });  
98 - }  
99 - });  
100 // 站点序号值改变事件 100 // 站点序号值改变事件
101 $('#stationrouteSelect').on('change',function() { 101 $('#stationrouteSelect').on('change',function() {
102 var stationRValue = $('#stationrouteSelect').val(); 102 var stationRValue = $('#stationrouteSelect').val();
src/main/resources/static/pages/base/station/js/station-positions-function.js
@@ -154,12 +154,12 @@ var PositionsPublicFunctions = function () { @@ -154,12 +154,12 @@ var PositionsPublicFunctions = function () {
154 $('#descriptionsTextarea').val(stationObj.stationRouteDescriptions); 154 $('#descriptionsTextarea').val(stationObj.stationRouteDescriptions);
155 }, 155 },
156 setListEditFrom : function(stationObj) { 156 setListEditFrom : function(stationObj) {
157 - // 图形坐标点集合(百度坐标) 157 + // WGS坐标点图形集合
158 $('#bPolygonGridInput').val(stationObj.stationBPolyonGrid); 158 $('#bPolygonGridInput').val(stationObj.stationBPolyonGrid);
159 // 百度地图经纬度坐标中心点 159 // 百度地图经纬度坐标中心点
160 $('#bJwpointsInput').val(stationObj.stationJwpoints); 160 $('#bJwpointsInput').val(stationObj.stationJwpoints);
161 - // WGS坐标点图形集合  
162 - $('#bPolygonGridInput').val(stationObj.stationGPloyonGrid); 161 + // 图形坐标点集合(百度坐标)
  162 +// $('#bPolygonGridInput').val(stationObj.stationGPloyonGrid);
163 // 城建坐标x 163 // 城建坐标x
164 $('#xInput').val(stationObj.stationGlonx); 164 $('#xInput').val(stationObj.stationGlonx);
165 // 城建坐标y 165 // 城建坐标y
@@ -169,14 +169,11 @@ var PositionsPublicFunctions = function () { @@ -169,14 +169,11 @@ var PositionsPublicFunctions = function () {
169 // 获取半径元素,并添加值 169 // 获取半径元素,并添加值
170 $('#radiusInput').val(stationObj.stationRadius); 170 $('#radiusInput').val(stationObj.stationRadius);
171 // 线路ID 171 // 线路ID
172 - $('#stationRouteLineInput').val(stationObj.stationRouteLIneCode); 172 + $('#stationRouteLineInput').val(stationObj.stationRouteLine);
173 // 站点编码 173 // 站点编码
174 $('#stationCodInput').val(stationObj.stationCode); 174 $('#stationCodInput').val(stationObj.stationCode);
175 -  
176 // 线路编码 175 // 线路编码
177 - $('#lineCodeInput').val(stationObj.stationRouteCode);  
178 - /*// 线路名称  
179 - $('#lineNameInput').val();*/ 176 + $('#lineCodeInput').val(stationObj.stationRouteLIneCode);
180 // 站点ID 177 // 站点ID
181 $('#StationCodeInput').val(stationObj.stationRouteStation); 178 $('#StationCodeInput').val(stationObj.stationRouteStation);
182 // 站点路由ID 179 // 站点路由ID
src/main/resources/static/pages/base/station/list_edit.html
@@ -81,7 +81,6 @@ @@ -81,7 +81,6 @@
81 </label> 81 </label>
82 <div class="col-md-4"> 82 <div class="col-md-4">
83 <input type="text" class="form-control" name="lineName" id="lineNameInput" placeholder="线路名称" readonly="readonly" /> 83 <input type="text" class="form-control" name="lineName" id="lineNameInput" placeholder="线路名称" readonly="readonly" />
84 - <span class="help-block"> 例如 :浦东88路 </span>  
85 </div> 84 </div>
86 </div> 85 </div>
87 <!-- 线路名称 (* 必填项) END --> 86 <!-- 线路名称 (* 必填项) END -->
@@ -157,7 +156,7 @@ @@ -157,7 +156,7 @@
157 <!-- 站点序号 --> 156 <!-- 站点序号 -->
158 <div class="col-md-6"> 157 <div class="col-md-6">
159 <label class="control-label col-md-5"> 158 <label class="control-label col-md-5">
160 - <span class="required"> * </span>上一站点&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: 159 + <span class="required"> </span>上一站点&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
161 </label> 160 </label>
162 <div class="col-md-4"> 161 <div class="col-md-4">
163 <select name="stationRouteCode" class="form-control" id="stationrouteSelect" style="width:100%"></select> 162 <select name="stationRouteCode" class="form-control" id="stationrouteSelect" style="width:100%"></select>
@@ -205,7 +204,7 @@ @@ -205,7 +204,7 @@
205 <div class="form-group"> 204 <div class="form-group">
206 <!-- 道路编码--> 205 <!-- 道路编码-->
207 <div class="col-md-6"> 206 <div class="col-md-6">
208 - <label class="control-label col-md-5"><span class="required"> * </span> 207 + <label class="control-label col-md-5"><span class="required"> </span>
209 道路编码&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: 208 道路编码&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
210 </label> 209 </label>
211 <div class="col-md-4"> 210 <div class="col-md-4">
@@ -215,7 +214,7 @@ @@ -215,7 +214,7 @@
215 214
216 <!-- 到站时间 --> 215 <!-- 到站时间 -->
217 <div class="col-md-6"> 216 <div class="col-md-6">
218 - <label class="control-label col-md-5"><span class="required"> * </span> 217 + <label class="control-label col-md-5"><span class="required"></span>
219 到站时间 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: </label> 218 到站时间 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: </label>
220 <div class="col-md-4"> 219 <div class="col-md-4">
221 <input type="text" class="form-control" name="toTime" id="toTimeInput" placeholder="到站时间"> 220 <input type="text" class="form-control" name="toTime" id="toTimeInput" placeholder="到站时间">
@@ -229,7 +228,7 @@ @@ -229,7 +228,7 @@
229 <div class="form-group"> 228 <div class="form-group">
230 <!-- 到站距离 --> 229 <!-- 到站距离 -->
231 <div class="col-md-6"> 230 <div class="col-md-6">
232 - <label class="control-label col-md-5"><span class="required"> * </span> 231 + <label class="control-label col-md-5"><span class="required"> </span>
233 到站距离&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label> 232 到站距离&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label>
234 <div class="col-md-4"> 233 <div class="col-md-4">
235 <input type="text" class="form-control" name="distances" id="distancesInput" placeholder="到站距离"> 234 <input type="text" class="form-control" name="distances" id="distancesInput" placeholder="到站距离">
@@ -239,10 +238,10 @@ @@ -239,10 +238,10 @@
239 238
240 <!-- 版本号 --> 239 <!-- 版本号 -->
241 <div class="col-md-6"> 240 <div class="col-md-6">
242 - <label class="control-label col-md-5"><span class="required"> * </span> 版本号&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: 241 + <label class="control-label col-md-5"><span class="required"> </span> 版本号&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
243 </label> 242 </label>
244 <div class="col-md-4"> 243 <div class="col-md-4">
245 - <input type="text" class="form-control" name="versions" value='1' Readonly> 244 + <input type="text" class="form-control" name="versions" >
246 </div> 245 </div>
247 </div> 246 </div>
248 </div> 247 </div>
@@ -252,7 +251,7 @@ @@ -252,7 +251,7 @@
252 <div class="form-group"> 251 <div class="form-group">
253 <!-- 描述/说明 --> 252 <!-- 描述/说明 -->
254 <div class="col-md-6"> 253 <div class="col-md-6">
255 - <label class="control-label col-md-5"><span class="required"> * </span>描述/说明&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: 254 + <label class="control-label col-md-5"><span class="required"></span>描述/说明&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
256 </label> 255 </label>
257 <div class="col-md-4"> 256 <div class="col-md-4">
258 <textarea class="form-control" rows="3" name="descriptions" id="descriptionsTextarea" placeholder="描述/说明"></textarea> 257 <textarea class="form-control" rows="3" name="descriptions" id="descriptionsTextarea" placeholder="描述/说明"></textarea>
src/main/resources/static/pages/base/timesmodel/gantt.html
@@ -119,8 +119,9 @@ @@ -119,8 +119,9 @@
119 <script src="/pages/base/timesmodel/js/raty/lib/jquery.raty.js"></script> 119 <script src="/pages/base/timesmodel/js/raty/lib/jquery.raty.js"></script>
120 <script src="/pages/base/timesmodel/js/ContextJS/js/context.js"></script> 120 <script src="/pages/base/timesmodel/js/ContextJS/js/context.js"></script>
121 <script src="/pages/base/timesmodel/js/base-fun.js"></script> 121 <script src="/pages/base/timesmodel/js/base-fun.js"></script>
122 -<script src="/pages/base/timesmodel/js/strategy/strategy-paramter.js"></script>  
123 -<script src="/pages/base/timesmodel/js/strategy/strategy-util.js"></script> 122 +<script src="/pages/base/timesmodel/js/strategy/StrategyUtils.js"></script>
  123 +<script src="/pages/base/timesmodel/js/strategy/BcObj.js"></script>
  124 +<script src="/pages/base/timesmodel/js/strategy/ParameterObj.js"></script>
124 <script src="/pages/base/timesmodel/js/strategy/strategy-headway.js"></script> 125 <script src="/pages/base/timesmodel/js/strategy/strategy-headway.js"></script>
125 <script src="/pages/base/timesmodel/js/d3.relationshipgraph.js"></script> 126 <script src="/pages/base/timesmodel/js/d3.relationshipgraph.js"></script>
126 <script src="/pages/base/timesmodel/js/errorinfo.js"></script> 127 <script src="/pages/base/timesmodel/js/errorinfo.js"></script>
src/main/resources/static/pages/base/timesmodel/js/add-form-wizard.js
@@ -524,7 +524,8 @@ var SKBFormWizard = function() { @@ -524,7 +524,8 @@ var SKBFormWizard = function() {
524 // 发车间隙分析用参数 524 // 发车间隙分析用参数
525 'fcjx': {required: true}, // 时段发车间隙,TODO:貌似没发启用form验证 525 'fcjx': {required: true}, // 时段发车间隙,TODO:貌似没发启用form验证
526 'stt': {required: true}, // 停站类型,TODO:貌似没发启用form验证 526 'stt': {required: true}, // 停站类型,TODO:貌似没发启用form验证
527 - 'gfjypcs': {required : true,number : true,digits: true} // 高峰建议配车数 527 + 'gfjypcs': {required : true,number : true,digits: true}, // 高峰建议配车数
  528 + 'jblps': {required : true,number : true,digits: true} // 加班车路牌数
528 }, 529 },
529 530
530 /** 531 /**