Commit afe60cad01e310801750c8d62178766e670d1df3
Merge branch 'minhang' of 192.168.168.201:panzhaov5/bsth_control into
minhang
Showing
30 changed files
with
2123 additions
and
1577 deletions
Too many changes to show.
To preserve performance only 30 of 67 files are displayed.
src/main/java/com/bsth/controller/logger/MileModifyController.java
0 → 100644
| 1 | +package com.bsth.controller.logger; | |
| 2 | + | |
| 3 | +import com.bsth.controller.BaseController; | |
| 4 | +import com.bsth.entity.logger.Logger_MileModify; | |
| 5 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 6 | +import org.springframework.web.bind.annotation.RestController; | |
| 7 | + | |
| 8 | +/** | |
| 9 | + * Created by panzhao on 2017/3/6. | |
| 10 | + */ | |
| 11 | +@RestController | |
| 12 | +@RequestMapping("logger_mile_modify") | |
| 13 | +public class MileModifyController extends BaseController<Logger_MileModify, Long>{ | |
| 14 | +} | ... | ... |
src/main/java/com/bsth/controller/realcontrol/LineConfigController.java
| ... | ... | @@ -35,8 +35,18 @@ public class LineConfigController extends BaseController<LineConfig, Integer>{ |
| 35 | 35 | return lineConfigService.editOutTimeType(lineCode, type); |
| 36 | 36 | } |
| 37 | 37 | |
| 38 | + @RequestMapping(value = "/enableInParkForSource", method = RequestMethod.POST) | |
| 39 | + public Map<String, Object> enableInParkForSource(@RequestParam String lineCode, @RequestParam int enable){ | |
| 40 | + return lineConfigService.enableInParkForSource(lineCode, enable); | |
| 41 | + } | |
| 42 | + | |
| 38 | 43 | @RequestMapping(value = "/getByLineCode") |
| 39 | 44 | public LineConfig getByLineCode(@RequestParam String lineCode){ |
| 40 | 45 | return lineConfigService.getByLineCode(lineCode); |
| 41 | 46 | } |
| 47 | + | |
| 48 | + @RequestMapping(value = "/bufferTimeDiff", method = RequestMethod.POST) | |
| 49 | + public Map<String, Object> bufferTimeDiff(@RequestParam String lineCode, @RequestParam String field,@RequestParam String value){ | |
| 50 | + return lineConfigService.bufferTimeDiff(lineCode, field, value); | |
| 51 | + } | |
| 42 | 52 | } | ... | ... |
src/main/java/com/bsth/controller/realcontrol/ScheduleRealInfoController.java
| ... | ... | @@ -462,7 +462,7 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, |
| 462 | 462 | } |
| 463 | 463 | |
| 464 | 464 | @RequestMapping(value = "lpChangeMulti", method = RequestMethod.POST) |
| 465 | - public Map<String, Object> lpChangeMulti(@RequestParam String leftIdx, @RequestParam String rightIdx){ | |
| 466 | - return scheduleRealInfoService.lpChangeMulti(leftIdx, rightIdx); | |
| 465 | + public Map<String, Object> lpChangeMulti(@RequestParam String leftIdx, @RequestParam String rightIdx,@RequestParam int type){ | |
| 466 | + return scheduleRealInfoService.lpChangeMulti(leftIdx, rightIdx, type); | |
| 467 | 467 | } |
| 468 | 468 | } | ... | ... |
src/main/java/com/bsth/controller/realcontrol/dto/LpData.java
| 1 | -package com.bsth.controller.realcontrol.dto; | |
| 2 | - | |
| 3 | -import com.bsth.entity.realcontrol.ScheduleRealInfo; | |
| 4 | - | |
| 5 | -/** | |
| 6 | - * 路牌相关的数据(换路牌时要换的字段) | |
| 7 | - * Created by panzhao on 2017/3/2. | |
| 8 | - */ | |
| 9 | -public class LpData { | |
| 10 | - | |
| 11 | - public LpData(ScheduleRealInfo sch) { | |
| 12 | - this.jGh = sch.getjGh(); | |
| 13 | - this.jName = sch.getjName(); | |
| 14 | - this.sGh = sch.getsGh(); | |
| 15 | - this.sName = sch.getsName(); | |
| 16 | - this.nbbm = sch.getClZbh(); | |
| 17 | - | |
| 18 | - this.fcsj = sch.getFcsjActualTime(); | |
| 19 | - this.zdsj = sch.getZdsjActualTime(); | |
| 20 | - } | |
| 21 | - | |
| 22 | - public void appendTo(ScheduleRealInfo sch) { | |
| 23 | - sch.setjGh(this.jGh); | |
| 24 | - sch.setjName(this.jName); | |
| 25 | - sch.setsGh(this.sGh); | |
| 26 | - sch.setsName(this.sName); | |
| 27 | - sch.setClZbh(this.nbbm); | |
| 28 | - | |
| 29 | - if (this.fcsj != null) | |
| 30 | - sch.setFcsjActualAll(this.fcsj); | |
| 31 | - if (this.zdsj != null) | |
| 32 | - sch.setZdsjActualAll(this.zdsj); | |
| 33 | - } | |
| 34 | - | |
| 35 | - /** | |
| 36 | - * 驾驶员 | |
| 37 | - */ | |
| 38 | - private String jGh; | |
| 39 | - private String jName; | |
| 40 | - | |
| 41 | - /** | |
| 42 | - * 售票员 | |
| 43 | - */ | |
| 44 | - private String sGh; | |
| 45 | - private String sName; | |
| 46 | - | |
| 47 | - /** | |
| 48 | - * 车辆自编号 | |
| 49 | - */ | |
| 50 | - private String nbbm; | |
| 51 | - | |
| 52 | - /** | |
| 53 | - * 实际发车时间 | |
| 54 | - */ | |
| 55 | - private Long fcsj; | |
| 56 | - | |
| 57 | - /** | |
| 58 | - * 实际终点时间 | |
| 59 | - */ | |
| 60 | - private Long zdsj; | |
| 61 | - | |
| 62 | - public String getjGh() { | |
| 63 | - return jGh; | |
| 64 | - } | |
| 65 | - | |
| 66 | - public void setjGh(String jGh) { | |
| 67 | - this.jGh = jGh; | |
| 68 | - } | |
| 69 | - | |
| 70 | - public String getjName() { | |
| 71 | - return jName; | |
| 72 | - } | |
| 73 | - | |
| 74 | - public void setjName(String jName) { | |
| 75 | - this.jName = jName; | |
| 76 | - } | |
| 77 | - | |
| 78 | - public String getsGh() { | |
| 79 | - return sGh; | |
| 80 | - } | |
| 81 | - | |
| 82 | - public void setsGh(String sGh) { | |
| 83 | - this.sGh = sGh; | |
| 84 | - } | |
| 85 | - | |
| 86 | - public String getsName() { | |
| 87 | - return sName; | |
| 88 | - } | |
| 89 | - | |
| 90 | - public void setsName(String sName) { | |
| 91 | - this.sName = sName; | |
| 92 | - } | |
| 93 | - | |
| 94 | - public String getNbbm() { | |
| 95 | - return nbbm; | |
| 96 | - } | |
| 97 | - | |
| 98 | - public void setNbbm(String nbbm) { | |
| 99 | - this.nbbm = nbbm; | |
| 100 | - } | |
| 101 | - | |
| 102 | - public Long getFcsj() { | |
| 103 | - return fcsj; | |
| 104 | - } | |
| 105 | - | |
| 106 | - public void setFcsj(Long fcsj) { | |
| 107 | - this.fcsj = fcsj; | |
| 108 | - } | |
| 109 | - | |
| 110 | - public Long getZdsj() { | |
| 111 | - return zdsj; | |
| 112 | - } | |
| 113 | - | |
| 114 | - public void setZdsj(Long zdsj) { | |
| 115 | - this.zdsj = zdsj; | |
| 116 | - } | |
| 117 | -} | |
| 1 | +package com.bsth.controller.realcontrol.dto; | |
| 2 | + | |
| 3 | +import com.bsth.entity.realcontrol.ScheduleRealInfo; | |
| 4 | + | |
| 5 | +/** | |
| 6 | + * 路牌相关的数据(换路牌时要换的字段) | |
| 7 | + * Created by panzhao on 2017/3/2. | |
| 8 | + */ | |
| 9 | +public class LpData { | |
| 10 | + | |
| 11 | + public LpData(ScheduleRealInfo sch) { | |
| 12 | + this.jGh = sch.getjGh(); | |
| 13 | + this.jName = sch.getjName(); | |
| 14 | + this.sGh = sch.getsGh(); | |
| 15 | + this.sName = sch.getsName(); | |
| 16 | + this.nbbm = sch.getClZbh(); | |
| 17 | + | |
| 18 | + this.fcsj = sch.getFcsjActualTime(); | |
| 19 | + this.zdsj = sch.getZdsjActualTime(); | |
| 20 | + } | |
| 21 | + | |
| 22 | + public void appendTo(ScheduleRealInfo sch, int type) { | |
| 23 | + | |
| 24 | + if (type == 0) { | |
| 25 | + //只换人 | |
| 26 | + sch.setjGh(this.jGh); | |
| 27 | + sch.setjName(this.jName); | |
| 28 | + sch.setsGh(this.sGh); | |
| 29 | + sch.setsName(this.sName); | |
| 30 | + } else if (type == 1) { | |
| 31 | + //只换车 | |
| 32 | + sch.setClZbh(this.nbbm); | |
| 33 | + | |
| 34 | + if (this.fcsj != null) | |
| 35 | + sch.setFcsjActualAll(this.fcsj); | |
| 36 | + if (this.zdsj != null) | |
| 37 | + sch.setZdsjActualAll(this.zdsj); | |
| 38 | + | |
| 39 | + } else if (type == 2) { | |
| 40 | + //换人并换车 | |
| 41 | + sch.setjGh(this.jGh); | |
| 42 | + sch.setjName(this.jName); | |
| 43 | + sch.setsGh(this.sGh); | |
| 44 | + sch.setsName(this.sName); | |
| 45 | + sch.setClZbh(this.nbbm); | |
| 46 | + | |
| 47 | + if (this.fcsj != null) | |
| 48 | + sch.setFcsjActualAll(this.fcsj); | |
| 49 | + if (this.zdsj != null) | |
| 50 | + sch.setZdsjActualAll(this.zdsj); | |
| 51 | + } | |
| 52 | + } | |
| 53 | + | |
| 54 | + /** | |
| 55 | + * 驾驶员 | |
| 56 | + */ | |
| 57 | + private String jGh; | |
| 58 | + private String jName; | |
| 59 | + | |
| 60 | + /** | |
| 61 | + * 售票员 | |
| 62 | + */ | |
| 63 | + private String sGh; | |
| 64 | + private String sName; | |
| 65 | + | |
| 66 | + /** | |
| 67 | + * 车辆自编号 | |
| 68 | + */ | |
| 69 | + private String nbbm; | |
| 70 | + | |
| 71 | + /** | |
| 72 | + * 实际发车时间 | |
| 73 | + */ | |
| 74 | + private Long fcsj; | |
| 75 | + | |
| 76 | + /** | |
| 77 | + * 实际终点时间 | |
| 78 | + */ | |
| 79 | + private Long zdsj; | |
| 80 | + | |
| 81 | + public String getjGh() { | |
| 82 | + return jGh; | |
| 83 | + } | |
| 84 | + | |
| 85 | + public void setjGh(String jGh) { | |
| 86 | + this.jGh = jGh; | |
| 87 | + } | |
| 88 | + | |
| 89 | + public String getjName() { | |
| 90 | + return jName; | |
| 91 | + } | |
| 92 | + | |
| 93 | + public void setjName(String jName) { | |
| 94 | + this.jName = jName; | |
| 95 | + } | |
| 96 | + | |
| 97 | + public String getsGh() { | |
| 98 | + return sGh; | |
| 99 | + } | |
| 100 | + | |
| 101 | + public void setsGh(String sGh) { | |
| 102 | + this.sGh = sGh; | |
| 103 | + } | |
| 104 | + | |
| 105 | + public String getsName() { | |
| 106 | + return sName; | |
| 107 | + } | |
| 108 | + | |
| 109 | + public void setsName(String sName) { | |
| 110 | + this.sName = sName; | |
| 111 | + } | |
| 112 | + | |
| 113 | + public String getNbbm() { | |
| 114 | + return nbbm; | |
| 115 | + } | |
| 116 | + | |
| 117 | + public void setNbbm(String nbbm) { | |
| 118 | + this.nbbm = nbbm; | |
| 119 | + } | |
| 120 | + | |
| 121 | + public Long getFcsj() { | |
| 122 | + return fcsj; | |
| 123 | + } | |
| 124 | + | |
| 125 | + public void setFcsj(Long fcsj) { | |
| 126 | + this.fcsj = fcsj; | |
| 127 | + } | |
| 128 | + | |
| 129 | + public Long getZdsj() { | |
| 130 | + return zdsj; | |
| 131 | + } | |
| 132 | + | |
| 133 | + public void setZdsj(Long zdsj) { | |
| 134 | + this.zdsj = zdsj; | |
| 135 | + } | |
| 136 | +} | ... | ... |
src/main/java/com/bsth/controller/schedule/core/SchedulePlanController.java
| 1 | 1 | package com.bsth.controller.schedule.core; |
| 2 | 2 | |
| 3 | -import com.bsth.common.Constants; | |
| 4 | 3 | import com.bsth.common.ResponseCode; |
| 5 | 4 | import com.bsth.controller.schedule.BController; |
| 6 | 5 | import com.bsth.entity.schedule.SchedulePlan; |
| 7 | -import com.bsth.entity.sys.CompanyAuthority; | |
| 8 | -import com.bsth.entity.sys.SysUser; | |
| 9 | 6 | import com.bsth.service.schedule.SchedulePlanService; |
| 10 | -import com.bsth.service.sys.SysUserService; | |
| 11 | 7 | import org.springframework.beans.factory.annotation.Autowired; |
| 12 | -import org.springframework.web.bind.annotation.*; | |
| 8 | +import org.springframework.web.bind.annotation.PathVariable; | |
| 9 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 10 | +import org.springframework.web.bind.annotation.RequestMethod; | |
| 11 | +import org.springframework.web.bind.annotation.RestController; | |
| 13 | 12 | |
| 14 | -import javax.servlet.http.HttpSession; | |
| 15 | 13 | import java.util.Date; |
| 16 | 14 | import java.util.HashMap; |
| 17 | -import java.util.List; | |
| 18 | 15 | import java.util.Map; |
| 19 | 16 | |
| 20 | 17 | /** |
| ... | ... | @@ -25,33 +22,6 @@ import java.util.Map; |
| 25 | 22 | public class SchedulePlanController extends BController<SchedulePlan, Long> { |
| 26 | 23 | @Autowired |
| 27 | 24 | private SchedulePlanService schedulePlanService; |
| 28 | - @Autowired | |
| 29 | - private SysUserService sysUserService; | |
| 30 | - | |
| 31 | - @Override | |
| 32 | - public Map<String, Object> save(@RequestBody SchedulePlan schedulePlan, HttpSession httpSession) { | |
| 33 | - // 用户信息 | |
| 34 | - String userName = String.valueOf(httpSession.getAttribute(Constants.SESSION_USERNAME)); | |
| 35 | - SysUser sysUser = sysUserService.findByUserName(userName); | |
| 36 | - | |
| 37 | - Date cdate = new Date(); | |
| 38 | - schedulePlan.setCreateBy(sysUser); | |
| 39 | - schedulePlan.setCreateDate(cdate); | |
| 40 | - schedulePlan.setUpdateBy(sysUser); | |
| 41 | - schedulePlan.setUpdateDate(cdate); | |
| 42 | - | |
| 43 | - // 如果多个公司,选第一个,以后改成页面控制 | |
| 44 | - List<CompanyAuthority> cmyAuths = (List<CompanyAuthority>) httpSession.getAttribute(Constants.COMPANY_AUTHORITYS); | |
| 45 | - if (cmyAuths == null || cmyAuths.size() == 0) | |
| 46 | - schedulePlanService.save(schedulePlan, new CompanyAuthority()); | |
| 47 | - else | |
| 48 | - schedulePlanService.save(schedulePlan, cmyAuths.get(0)); | |
| 49 | - | |
| 50 | - Map<String, Object> rtn = new HashMap<>(); | |
| 51 | - rtn.put("status", ResponseCode.SUCCESS); | |
| 52 | - rtn.put("data", new Object()); | |
| 53 | - return rtn; | |
| 54 | - } | |
| 55 | 25 | |
| 56 | 26 | /** |
| 57 | 27 | * 获取明天的一歌排班计划。 | ... | ... |
src/main/java/com/bsth/data/directive/DayOfDirectives.java
| 1 | 1 | package com.bsth.data.directive; |
| 2 | 2 | |
| 3 | -import java.util.ArrayList; | |
| 4 | -import java.util.Collection; | |
| 5 | -import java.util.Comparator; | |
| 6 | -import java.util.HashMap; | |
| 7 | -import java.util.List; | |
| 8 | -import java.util.Map; | |
| 9 | - | |
| 10 | -import org.slf4j.Logger; | |
| 11 | -import org.slf4j.LoggerFactory; | |
| 12 | -import org.springframework.beans.factory.annotation.Autowired; | |
| 13 | -import org.springframework.stereotype.Component; | |
| 14 | - | |
| 15 | 3 | import com.alibaba.fastjson.JSONObject; |
| 16 | 4 | import com.bsth.data.LineConfigData; |
| 17 | 5 | import com.bsth.entity.directive.D60; |
| ... | ... | @@ -21,6 +9,12 @@ import com.bsth.entity.directive.DirectiveReponse; |
| 21 | 9 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 22 | 10 | import com.bsth.service.directive.DirectiveService; |
| 23 | 11 | import com.bsth.websocket.handler.SendUtils; |
| 12 | +import org.slf4j.Logger; | |
| 13 | +import org.slf4j.LoggerFactory; | |
| 14 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 15 | +import org.springframework.stereotype.Component; | |
| 16 | + | |
| 17 | +import java.util.*; | |
| 24 | 18 | |
| 25 | 19 | /** |
| 26 | 20 | * |
| ... | ... | @@ -42,6 +36,9 @@ public class DayOfDirectives { |
| 42 | 36 | //等待C0_A4回复的用户 |
| 43 | 37 | //public static Map<K, V> |
| 44 | 38 | |
| 39 | + //等待入库的指令 | |
| 40 | + public static LinkedList<Directive> pstDirectives; | |
| 41 | + | |
| 45 | 42 | @Autowired |
| 46 | 43 | DirectiveService directiveService; |
| 47 | 44 | |
| ... | ... | @@ -57,14 +54,19 @@ public class DayOfDirectives { |
| 57 | 54 | static{ |
| 58 | 55 | d60Map = new HashMap<>(); |
| 59 | 56 | d64Map = new HashMap<>(); |
| 57 | + pstDirectives = new LinkedList<>(); | |
| 60 | 58 | } |
| 61 | 59 | |
| 62 | 60 | public void put60(D60 d60) { |
| 63 | 61 | d60Map.put(d60.getMsgId(), d60); |
| 62 | + //等待持久化 | |
| 63 | + pstDirectives.add(d60); | |
| 64 | 64 | } |
| 65 | 65 | |
| 66 | 66 | public void put64(D64 d64) { |
| 67 | 67 | d64Map.put(d64.getKey(), d64); |
| 68 | + //等待持久化 | |
| 69 | + pstDirectives.add(d64); | |
| 68 | 70 | } |
| 69 | 71 | |
| 70 | 72 | /** |
| ... | ... | @@ -98,8 +100,9 @@ public class DayOfDirectives { |
| 98 | 100 | d60.setReply47Time(System.currentTimeMillis()); |
| 99 | 101 | break; |
| 100 | 102 | } |
| 101 | - // 入库 | |
| 102 | - saveD60(d60); | |
| 103 | + // 等待持久化 | |
| 104 | + if(!pstDirectives.contains(d60)) | |
| 105 | + pstDirectives.add(d60); | |
| 103 | 106 | |
| 104 | 107 | ScheduleRealInfo sch = d60.getSch(); |
| 105 | 108 | if (null == sch) |
| ... | ... | @@ -131,19 +134,20 @@ public class DayOfDirectives { |
| 131 | 134 | logger.warn("64响应 data is null ,json: " + json); |
| 132 | 135 | else { |
| 133 | 136 | d64.setRespAck(data.getShort("requestAck")); |
| 134 | - // 响应入库 | |
| 135 | - directiveService.save64(d64); | |
| 137 | + // 持久化 | |
| 138 | + if(!pstDirectives.contains(d64)) | |
| 139 | + pstDirectives.add(d64); | |
| 136 | 140 | } |
| 137 | 141 | } |
| 138 | 142 | } |
| 139 | 143 | |
| 140 | - private void saveD60(D60 d60) { | |
| 144 | +/* private void saveD60(D60 d60) { | |
| 141 | 145 | // 等47再入库 |
| 142 | 146 | if (d60.getReply47() == null) |
| 143 | 147 | return; |
| 144 | 148 | |
| 145 | 149 | directiveService.save(d60); |
| 146 | - } | |
| 150 | + }*/ | |
| 147 | 151 | |
| 148 | 152 | public void clear(String device){ |
| 149 | 153 | int c60 = 0, c64 = 0; | ... | ... |
src/main/java/com/bsth/data/directive/DirectivesPstThread.java
0 → 100644
| 1 | +package com.bsth.data.directive; | |
| 2 | + | |
| 3 | +import com.bsth.entity.directive.D60; | |
| 4 | +import com.bsth.entity.directive.D64; | |
| 5 | +import com.bsth.entity.directive.Directive; | |
| 6 | +import com.bsth.repository.directive.D60Repository; | |
| 7 | +import com.bsth.repository.directive.D64Repository; | |
| 8 | +import org.slf4j.Logger; | |
| 9 | +import org.slf4j.LoggerFactory; | |
| 10 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 11 | +import org.springframework.stereotype.Component; | |
| 12 | + | |
| 13 | +import java.util.LinkedList; | |
| 14 | + | |
| 15 | +/** | |
| 16 | + * 指令持久化线程 | |
| 17 | + * Created by panzhao on 2017/3/6. | |
| 18 | + */ | |
| 19 | +@Component | |
| 20 | +public class DirectivesPstThread extends Thread { | |
| 21 | + | |
| 22 | + Logger logger = LoggerFactory.getLogger(this.getClass()); | |
| 23 | + | |
| 24 | + @Autowired | |
| 25 | + D60Repository d60Repository; | |
| 26 | + | |
| 27 | + @Autowired | |
| 28 | + D64Repository d64Repository; | |
| 29 | + | |
| 30 | + @Override | |
| 31 | + public void run() { | |
| 32 | + LinkedList<Directive> list = DayOfDirectives.pstDirectives; | |
| 33 | + | |
| 34 | + Directive directive; | |
| 35 | + for (int i = 0; i < 1000; i++) { | |
| 36 | + try { | |
| 37 | + directive = list.poll(); | |
| 38 | + | |
| 39 | + if (directive instanceof D60) { | |
| 40 | + d60Repository.save((D60) directive); | |
| 41 | + } | |
| 42 | + | |
| 43 | + if (directive instanceof D64) { | |
| 44 | + d64Repository.save((D64) directive); | |
| 45 | + } | |
| 46 | + } catch (Exception e) { | |
| 47 | + logger.error("", e); | |
| 48 | + } | |
| 49 | + } | |
| 50 | + } | |
| 51 | +} | ... | ... |
src/main/java/com/bsth/data/directive/FirstScheduleCheckThread.java
| 1 | -package com.bsth.data.directive; | |
| 2 | - | |
| 3 | -import java.util.List; | |
| 4 | -import java.util.Set; | |
| 5 | - | |
| 6 | -import org.slf4j.Logger; | |
| 7 | -import org.slf4j.LoggerFactory; | |
| 8 | -import org.springframework.beans.factory.annotation.Autowired; | |
| 9 | -import org.springframework.stereotype.Component; | |
| 10 | - | |
| 11 | -import com.bsth.data.match.Arrival2Schedule; | |
| 12 | -import com.bsth.data.match.ExpectArrivalEnd; | |
| 13 | -import com.bsth.data.schedule.DayOfSchedule; | |
| 14 | -import com.bsth.entity.realcontrol.ScheduleRealInfo; | |
| 15 | -import com.bsth.service.directive.DirectiveService; | |
| 16 | - | |
| 17 | -/** | |
| 18 | - * | |
| 19 | - * @ClassName: FirstScheduleCheckThread | |
| 20 | - * @Description: TODO(首班出场检测) | |
| 21 | - * @author PanZhao | |
| 22 | - * @date 2016年8月27日 上午1:25:21 | |
| 23 | - * | |
| 24 | - */ | |
| 25 | -@Component | |
| 26 | -public class FirstScheduleCheckThread extends Thread{ | |
| 27 | - | |
| 28 | - @Autowired | |
| 29 | - DayOfSchedule dayOfSchedule; | |
| 30 | - | |
| 31 | - @Autowired | |
| 32 | - DirectiveService directiveService; | |
| 33 | - | |
| 34 | - Logger logger = LoggerFactory.getLogger(this.getClass()); | |
| 35 | - | |
| 36 | - //提前半小时下发指令 | |
| 37 | - private final static long THREE_MINUTES = 1000 * 60 * 30L; | |
| 38 | - | |
| 39 | - @Override | |
| 40 | - public void run() { | |
| 41 | - try{ | |
| 42 | - Set<String> cars = dayOfSchedule.allCar(); | |
| 43 | - | |
| 44 | - long t = System.currentTimeMillis(); | |
| 45 | - List<ScheduleRealInfo> schList; | |
| 46 | - ScheduleRealInfo first; | |
| 47 | - for(String car : cars){ | |
| 48 | - | |
| 49 | - schList = dayOfSchedule.findByNbbm(car); | |
| 50 | - | |
| 51 | - if(null == schList || schList.size() == 0) | |
| 52 | - continue; | |
| 53 | - | |
| 54 | - first = schList.get(0); | |
| 55 | - | |
| 56 | - if(null != first.getBcType() | |
| 57 | - && first.getBcType().equals("out")){ | |
| 58 | - | |
| 59 | - //没有计划里程的出场班次,出场既是首发站,发送下一班次的营运指令 | |
| 60 | - if(first.getJhlc() == null && first.getXlDir().equals(schList.get(1).getXlDir())) | |
| 61 | - first = schList.get(1); | |
| 62 | - | |
| 63 | - //为首班补发指令 | |
| 64 | - if(first.getDirectiveState() == -1 | |
| 65 | - && Math.abs(first.getDfsjT() - t) < THREE_MINUTES){ | |
| 66 | - | |
| 67 | - directiveService.send60Dispatch(first, dayOfSchedule.doneSum(first.getClZbh()), "定补@系统"); | |
| 68 | - //期望完成出场班次时间 | |
| 69 | - long endTime; | |
| 70 | - | |
| 71 | - if(first.getZdsj() != null) | |
| 72 | - endTime=first.getZdsjT() - 60000; | |
| 73 | - else | |
| 74 | - endTime=schList.get(1).getDfsjT() - 60000; | |
| 75 | - | |
| 76 | - ExpectArrivalEnd ead = new ExpectArrivalEnd() | |
| 77 | - ,ead2 = new ExpectArrivalEnd(); | |
| 78 | - ead.setNbbm(car); | |
| 79 | - ead.setEndStation(first.getQdzCode()); | |
| 80 | - ead.setEndTime(endTime); | |
| 81 | - | |
| 82 | - ead2.setNbbm(car); | |
| 83 | - ead2.setEndStation(first.getZdzCode()); | |
| 84 | - ead2.setEndTime(endTime); | |
| 85 | - | |
| 86 | - Arrival2Schedule.addExpect(car, ead); | |
| 87 | - Arrival2Schedule.addExpect(car, ead2); | |
| 88 | - } | |
| 89 | - } | |
| 90 | - } | |
| 91 | - }catch(Exception e){ | |
| 92 | - logger.error("", e); | |
| 93 | - } | |
| 94 | - } | |
| 95 | -} | |
| 1 | +//package com.bsth.data.directive; | |
| 2 | +// | |
| 3 | +//import java.util.List; | |
| 4 | +//import java.util.Set; | |
| 5 | +// | |
| 6 | +//import org.slf4j.Logger; | |
| 7 | +//import org.slf4j.LoggerFactory; | |
| 8 | +//import org.springframework.beans.factory.annotation.Autowired; | |
| 9 | +//import org.springframework.stereotype.Component; | |
| 10 | +// | |
| 11 | +//import com.bsth.data.match.Arrival2Schedule; | |
| 12 | +//import com.bsth.data.match.ExpectArrivalEnd; | |
| 13 | +//import com.bsth.data.schedule.DayOfSchedule; | |
| 14 | +//import com.bsth.entity.realcontrol.ScheduleRealInfo; | |
| 15 | +//import com.bsth.service.directive.DirectiveService; | |
| 16 | +// | |
| 17 | +///** | |
| 18 | +// * | |
| 19 | +// * @ClassName: FirstScheduleCheckThread | |
| 20 | +// * @Description: TODO(首班出场检测) | |
| 21 | +// * @author PanZhao | |
| 22 | +// * @date 2016年8月27日 上午1:25:21 | |
| 23 | +// * | |
| 24 | +// */ | |
| 25 | +//@Component | |
| 26 | +//public class FirstScheduleCheckThread extends Thread{ | |
| 27 | +// | |
| 28 | +// @Autowired | |
| 29 | +// DayOfSchedule dayOfSchedule; | |
| 30 | +// | |
| 31 | +// @Autowired | |
| 32 | +// DirectiveService directiveService; | |
| 33 | +// | |
| 34 | +// Logger logger = LoggerFactory.getLogger(this.getClass()); | |
| 35 | +// | |
| 36 | +// //提前半小时下发指令 | |
| 37 | +// private final static long THREE_MINUTES = 1000 * 60 * 30L; | |
| 38 | +// | |
| 39 | +// @Override | |
| 40 | +// public void run() { | |
| 41 | +// try{ | |
| 42 | +// Set<String> cars = dayOfSchedule.allCar(); | |
| 43 | +// | |
| 44 | +// long t = System.currentTimeMillis(); | |
| 45 | +// List<ScheduleRealInfo> schList; | |
| 46 | +// ScheduleRealInfo first; | |
| 47 | +// for(String car : cars){ | |
| 48 | +// | |
| 49 | +// schList = dayOfSchedule.findByNbbm(car); | |
| 50 | +// | |
| 51 | +// if(null == schList || schList.size() == 0) | |
| 52 | +// continue; | |
| 53 | +// | |
| 54 | +// first = schList.get(0); | |
| 55 | +// | |
| 56 | +// if(null != first.getBcType() | |
| 57 | +// && first.getBcType().equals("out")){ | |
| 58 | +// | |
| 59 | +// //没有计划里程的出场班次,出场既是首发站,发送下一班次的营运指令 | |
| 60 | +// if(first.getJhlc() == null && first.getXlDir().equals(schList.get(1).getXlDir())) | |
| 61 | +// first = schList.get(1); | |
| 62 | +// | |
| 63 | +// //为首班补发指令 | |
| 64 | +// if(first.getDirectiveState() == -1 | |
| 65 | +// && Math.abs(first.getDfsjT() - t) < THREE_MINUTES){ | |
| 66 | +// | |
| 67 | +// directiveService.send60Dispatch(first, dayOfSchedule.doneSum(first.getClZbh()), "定补@系统"); | |
| 68 | +// //期望完成出场班次时间 | |
| 69 | +// long endTime; | |
| 70 | +// | |
| 71 | +// if(first.getZdsj() != null) | |
| 72 | +// endTime=first.getZdsjT() - 60000; | |
| 73 | +// else | |
| 74 | +// endTime=schList.get(1).getDfsjT() - 60000; | |
| 75 | +// | |
| 76 | +// ExpectArrivalEnd ead = new ExpectArrivalEnd() | |
| 77 | +// ,ead2 = new ExpectArrivalEnd(); | |
| 78 | +// ead.setNbbm(car); | |
| 79 | +// ead.setEndStation(first.getQdzCode()); | |
| 80 | +// ead.setEndTime(endTime); | |
| 81 | +// | |
| 82 | +// ead2.setNbbm(car); | |
| 83 | +// ead2.setEndStation(first.getZdzCode()); | |
| 84 | +// ead2.setEndTime(endTime); | |
| 85 | +// | |
| 86 | +// Arrival2Schedule.addExpect(car, ead); | |
| 87 | +// Arrival2Schedule.addExpect(car, ead2); | |
| 88 | +// } | |
| 89 | +// } | |
| 90 | +// } | |
| 91 | +// }catch(Exception e){ | |
| 92 | +// logger.error("", e); | |
| 93 | +// } | |
| 94 | +// } | |
| 95 | +//} | ... | ... |
src/main/java/com/bsth/data/schedule/DayOfSchedule.java
| ... | ... | @@ -5,13 +5,10 @@ import com.alibaba.fastjson.JSONArray; |
| 5 | 5 | import com.bsth.Application; |
| 6 | 6 | import com.bsth.data.BasicData; |
| 7 | 7 | import com.bsth.data.LineConfigData; |
| 8 | -import com.bsth.data.directive.FirstScheduleCheckThread; | |
| 8 | +import com.bsth.data.directive.DirectivesPstThread; | |
| 9 | 9 | import com.bsth.data.gpsdata.GpsRealData; |
| 10 | 10 | import com.bsth.data.gpsdata.recovery.GpsDataRecovery; |
| 11 | -import com.bsth.data.schedule.thread.ScheduleLateThread; | |
| 12 | -import com.bsth.data.schedule.thread.SchedulePstThread; | |
| 13 | -import com.bsth.data.schedule.thread.ScheduleRefreshThread; | |
| 14 | -import com.bsth.data.schedule.thread.SubmitToTrafficManage; | |
| 11 | +import com.bsth.data.schedule.thread.*; | |
| 15 | 12 | import com.bsth.entity.realcontrol.LineConfig; |
| 16 | 13 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 17 | 14 | import com.bsth.entity.schedule.SchedulePlanInfo; |
| ... | ... | @@ -115,9 +112,6 @@ public class DayOfSchedule implements CommandLineRunner { |
| 115 | 112 | SchedulePstThread schedulePstThread; |
| 116 | 113 | |
| 117 | 114 | @Autowired |
| 118 | - FirstScheduleCheckThread firstScheduleCheckThread; | |
| 119 | - | |
| 120 | - @Autowired | |
| 121 | 115 | ScheduleLateThread scheduleLateThread; |
| 122 | 116 | |
| 123 | 117 | @Autowired |
| ... | ... | @@ -129,6 +123,12 @@ public class DayOfSchedule implements CommandLineRunner { |
| 129 | 123 | @Autowired |
| 130 | 124 | GpsDataRecovery gpsDataRecovery; |
| 131 | 125 | |
| 126 | + @Autowired | |
| 127 | + DirectivesPstThread directivesPstThread; | |
| 128 | + | |
| 129 | + @Autowired | |
| 130 | + CalcOilThread calcOilThread; | |
| 131 | + | |
| 132 | 132 | private static DateTimeFormatter fmtyyyyMMdd = DateTimeFormat.forPattern("yyyy-MM-dd"), fmtHHmm = DateTimeFormat.forPattern("HH:mm"); |
| 133 | 133 | |
| 134 | 134 | @Override |
| ... | ... | @@ -140,9 +140,7 @@ public class DayOfSchedule implements CommandLineRunner { |
| 140 | 140 | //翻班线程 |
| 141 | 141 | Application.mainServices.scheduleWithFixedDelay(scheduleRefreshThread, 15, 240, TimeUnit.SECONDS); |
| 142 | 142 | //入库 |
| 143 | -// Application.mainServices.scheduleWithFixedDelay(schedulePstThread, 60, 60, TimeUnit.SECONDS); | |
| 144 | - //首班出场指令补发器 | |
| 145 | -// Application.mainServices.scheduleWithFixedDelay(firstScheduleCheckThread, 30, 240, TimeUnit.SECONDS); | |
| 143 | +// Application.mainServices.scheduleWithFixedDelay(schedulePstThread, 60, 30, TimeUnit.SECONDS); | |
| 146 | 144 | //班次误点扫描 |
| 147 | 145 | // Application.mainServices.scheduleWithFixedDelay(scheduleLateThread, 60, 60, TimeUnit.SECONDS); |
| 148 | 146 | |
| ... | ... | @@ -153,6 +151,12 @@ public class DayOfSchedule implements CommandLineRunner { |
| 153 | 151 | |
| 154 | 152 | logger.info(diff / 1000 / 60 + "分钟之后提交到运管处"); |
| 155 | 153 | //Application.mainServices.scheduleWithFixedDelay(submitToTrafficManage, diff / 1000, 60 * 60 * 24, TimeUnit.SECONDS); |
| 154 | + | |
| 155 | + //计算油、公里加注 | |
| 156 | + Application.mainServices.scheduleWithFixedDelay(calcOilThread, diff / 1000, 60 * 60 * 24, TimeUnit.SECONDS); | |
| 157 | + | |
| 158 | + //指令持久化线程 | |
| 159 | + Application.mainServices.scheduleWithFixedDelay(directivesPstThread, 180, 180, TimeUnit.SECONDS); | |
| 156 | 160 | } |
| 157 | 161 | |
| 158 | 162 | //数据恢复 | ... | ... |
src/main/java/com/bsth/data/schedule/thread/CalcOilThread.java
0 → 100644
| 1 | +package com.bsth.data.schedule.thread; | |
| 2 | + | |
| 3 | +import com.bsth.service.oil.YlbService; | |
| 4 | +import org.slf4j.Logger; | |
| 5 | +import org.slf4j.LoggerFactory; | |
| 6 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 7 | +import org.springframework.stereotype.Component; | |
| 8 | + | |
| 9 | +/** | |
| 10 | + * 计算油、公里加注量 线程 | |
| 11 | + * Created by panzhao on 2017/3/7. | |
| 12 | + */ | |
| 13 | +@Component | |
| 14 | +public class CalcOilThread extends Thread{ | |
| 15 | + | |
| 16 | + @Autowired | |
| 17 | + YlbService ylbService; | |
| 18 | + | |
| 19 | + Logger logger = LoggerFactory.getLogger(this.getClass()); | |
| 20 | + | |
| 21 | + @Override | |
| 22 | + public void run() { | |
| 23 | + try{ | |
| 24 | + logger.info("开始计算路单里程加注量...."); | |
| 25 | + ylbService.obtainDsq(); | |
| 26 | + logger.info("计算路单里程加注量结束!"); | |
| 27 | + } catch(Exception e){ | |
| 28 | + logger.error("计算路单里程加注量失败",e); | |
| 29 | + } | |
| 30 | + } | |
| 31 | +} | ... | ... |
src/main/java/com/bsth/data/schedule/thread/SubmitToTrafficManage.java
| 1 | 1 | package com.bsth.data.schedule.thread; |
| 2 | 2 | |
| 3 | 3 | import com.bsth.service.TrafficManageService; |
| 4 | -import com.bsth.service.oil.YlbService; | |
| 5 | - | |
| 6 | 4 | import org.slf4j.Logger; |
| 7 | 5 | import org.slf4j.LoggerFactory; |
| 8 | 6 | import org.springframework.beans.factory.annotation.Autowired; |
| ... | ... | @@ -19,18 +17,10 @@ public class SubmitToTrafficManage extends Thread{ |
| 19 | 17 | |
| 20 | 18 | @Autowired |
| 21 | 19 | TrafficManageService trafficManageService; |
| 22 | - | |
| 23 | - @Autowired | |
| 24 | - YlbService YlbService; | |
| 25 | 20 | |
| 26 | 21 | @Override |
| 27 | 22 | public void run() { |
| 28 | 23 | logger.info("开始提交数据到运管处..."); |
| 29 | - try{ | |
| 30 | - YlbService.obtainDsq(); | |
| 31 | - } catch(Exception e){ | |
| 32 | - logger.error("计算路单里程加注量失败",e); | |
| 33 | - } | |
| 34 | 24 | |
| 35 | 25 | try { |
| 36 | 26 | //路单 | ... | ... |
src/main/java/com/bsth/entity/logger/Logger.java
0 → 100644
| 1 | +package com.bsth.entity.logger; | |
| 2 | + | |
| 3 | +import javax.persistence.GeneratedValue; | |
| 4 | +import javax.persistence.Id; | |
| 5 | +import javax.persistence.MappedSuperclass; | |
| 6 | + | |
| 7 | +/** | |
| 8 | + * 操作日志通用字段 | |
| 9 | + * Created by panzhao on 2017/3/6. | |
| 10 | + */ | |
| 11 | +@MappedSuperclass | |
| 12 | +public abstract class Logger { | |
| 13 | + | |
| 14 | + @Id | |
| 15 | + @GeneratedValue | |
| 16 | + private Long id; | |
| 17 | + | |
| 18 | + /** 用户信息 */ | |
| 19 | + private String userName; | |
| 20 | + private String name; | |
| 21 | + | |
| 22 | + /** ########## 客户端信息 ########### */ | |
| 23 | + /** ip */ | |
| 24 | + private String clientIp; | |
| 25 | + /** 浏览器 */ | |
| 26 | + private String browser; | |
| 27 | + /** 系统平台 */ | |
| 28 | + private String clientSystem; | |
| 29 | + /** 浏览器内核 */ | |
| 30 | + private String browserCore; | |
| 31 | + | |
| 32 | + /** 操作时间 */ | |
| 33 | + private Long ts; | |
| 34 | + | |
| 35 | + public String getUserName() { | |
| 36 | + return userName; | |
| 37 | + } | |
| 38 | + | |
| 39 | + public void setUserName(String userName) { | |
| 40 | + this.userName = userName; | |
| 41 | + } | |
| 42 | + | |
| 43 | + public String getName() { | |
| 44 | + return name; | |
| 45 | + } | |
| 46 | + | |
| 47 | + public void setName(String name) { | |
| 48 | + this.name = name; | |
| 49 | + } | |
| 50 | + | |
| 51 | + public String getClientIp() { | |
| 52 | + return clientIp; | |
| 53 | + } | |
| 54 | + | |
| 55 | + public void setClientIp(String clientIp) { | |
| 56 | + this.clientIp = clientIp; | |
| 57 | + } | |
| 58 | + | |
| 59 | + public String getBrowser() { | |
| 60 | + return browser; | |
| 61 | + } | |
| 62 | + | |
| 63 | + public void setBrowser(String browser) { | |
| 64 | + this.browser = browser; | |
| 65 | + } | |
| 66 | + | |
| 67 | + public String getClientSystem() { | |
| 68 | + return clientSystem; | |
| 69 | + } | |
| 70 | + | |
| 71 | + public void setClientSystem(String clientSystem) { | |
| 72 | + this.clientSystem = clientSystem; | |
| 73 | + } | |
| 74 | + | |
| 75 | + public String getBrowserCore() { | |
| 76 | + return browserCore; | |
| 77 | + } | |
| 78 | + | |
| 79 | + public void setBrowserCore(String browserCore) { | |
| 80 | + this.browserCore = browserCore; | |
| 81 | + } | |
| 82 | + | |
| 83 | + public Long getTs() { | |
| 84 | + return ts; | |
| 85 | + } | |
| 86 | + | |
| 87 | + public void setTs(Long ts) { | |
| 88 | + this.ts = ts; | |
| 89 | + } | |
| 90 | +} | ... | ... |
src/main/java/com/bsth/entity/logger/Logger_MileModify.java
0 → 100644
| 1 | +package com.bsth.entity.logger; | |
| 2 | + | |
| 3 | +import javax.persistence.Entity; | |
| 4 | +import javax.persistence.Table; | |
| 5 | + | |
| 6 | +/** | |
| 7 | + * 操作日志 -修改公里 | |
| 8 | + * Created by panzhao on 2017/3/6. | |
| 9 | + */ | |
| 10 | +@Entity | |
| 11 | +@Table(name = "logger_mile_modify") | |
| 12 | +public class Logger_MileModify extends Logger{ | |
| 13 | + | |
| 14 | + /** 之前的公里 */ | |
| 15 | + private Double beforeMile; | |
| 16 | + | |
| 17 | + /** 修改之后的公里 */ | |
| 18 | + private Double afterMile; | |
| 19 | + | |
| 20 | + /** 线路 code/name */ | |
| 21 | + private String lineStr; | |
| 22 | + | |
| 23 | + /** 路牌 */ | |
| 24 | + private String lp; | |
| 25 | + | |
| 26 | + /** 车辆自编号 */ | |
| 27 | + private String nbbm; | |
| 28 | + | |
| 29 | + /** 发车时间 */ | |
| 30 | + private String fcsj; | |
| 31 | + | |
| 32 | + /** 班次ID */ | |
| 33 | + private Long schId; | |
| 34 | + | |
| 35 | + /** 备注 */ | |
| 36 | + private String remarks; | |
| 37 | + | |
| 38 | + public Double getBeforeMile() { | |
| 39 | + return beforeMile; | |
| 40 | + } | |
| 41 | + | |
| 42 | + public void setBeforeMile(Double beforeMile) { | |
| 43 | + this.beforeMile = beforeMile; | |
| 44 | + } | |
| 45 | + | |
| 46 | + public Double getAfterMile() { | |
| 47 | + return afterMile; | |
| 48 | + } | |
| 49 | + | |
| 50 | + public void setAfterMile(Double afterMile) { | |
| 51 | + this.afterMile = afterMile; | |
| 52 | + } | |
| 53 | + | |
| 54 | + public String getLineStr() { | |
| 55 | + return lineStr; | |
| 56 | + } | |
| 57 | + | |
| 58 | + public void setLineStr(String lineStr) { | |
| 59 | + this.lineStr = lineStr; | |
| 60 | + } | |
| 61 | + | |
| 62 | + public String getLp() { | |
| 63 | + return lp; | |
| 64 | + } | |
| 65 | + | |
| 66 | + public void setLp(String lp) { | |
| 67 | + this.lp = lp; | |
| 68 | + } | |
| 69 | + | |
| 70 | + public String getNbbm() { | |
| 71 | + return nbbm; | |
| 72 | + } | |
| 73 | + | |
| 74 | + public void setNbbm(String nbbm) { | |
| 75 | + this.nbbm = nbbm; | |
| 76 | + } | |
| 77 | + | |
| 78 | + public String getFcsj() { | |
| 79 | + return fcsj; | |
| 80 | + } | |
| 81 | + | |
| 82 | + public void setFcsj(String fcsj) { | |
| 83 | + this.fcsj = fcsj; | |
| 84 | + } | |
| 85 | + | |
| 86 | + public Long getSchId() { | |
| 87 | + return schId; | |
| 88 | + } | |
| 89 | + | |
| 90 | + public void setSchId(Long schId) { | |
| 91 | + this.schId = schId; | |
| 92 | + } | |
| 93 | + | |
| 94 | + public String getRemarks() { | |
| 95 | + return remarks; | |
| 96 | + } | |
| 97 | + | |
| 98 | + public void setRemarks(String remarks) { | |
| 99 | + this.remarks = remarks; | |
| 100 | + } | |
| 101 | +} | ... | ... |
src/main/java/com/bsth/entity/realcontrol/LineConfig.java
| ... | ... | @@ -56,6 +56,23 @@ public class LineConfig { |
| 56 | 56 | /** 识别区间调头 */ |
| 57 | 57 | private boolean readReverse; |
| 58 | 58 | |
| 59 | + /** 原线路回场 */ | |
| 60 | + private boolean inParkForSource; | |
| 61 | + | |
| 62 | + /** | |
| 63 | + * 到离站偏移值 | |
| 64 | + */ | |
| 65 | + | |
| 66 | + //上行进站 | |
| 67 | + private int upInDiff; | |
| 68 | + //上行出站 | |
| 69 | + private int upOutDiff; | |
| 70 | + //下行进站 | |
| 71 | + private int downInDiff; | |
| 72 | + //下行出站 | |
| 73 | + private int downOutDiff; | |
| 74 | + | |
| 75 | + | |
| 59 | 76 | @OneToMany(cascade = CascadeType.ALL) |
| 60 | 77 | private Set<D80ReplyTemp> d80Temps = new HashSet<>(); |
| 61 | 78 | |
| ... | ... | @@ -151,4 +168,44 @@ public class LineConfig { |
| 151 | 168 | public void setReadReverse(boolean readReverse) { |
| 152 | 169 | this.readReverse = readReverse; |
| 153 | 170 | } |
| 171 | + | |
| 172 | + public boolean isInParkForSource() { | |
| 173 | + return inParkForSource; | |
| 174 | + } | |
| 175 | + | |
| 176 | + public void setInParkForSource(boolean inParkForSource) { | |
| 177 | + this.inParkForSource = inParkForSource; | |
| 178 | + } | |
| 179 | + | |
| 180 | + public int getUpInDiff() { | |
| 181 | + return upInDiff; | |
| 182 | + } | |
| 183 | + | |
| 184 | + public void setUpInDiff(int upInDiff) { | |
| 185 | + this.upInDiff = upInDiff; | |
| 186 | + } | |
| 187 | + | |
| 188 | + public int getUpOutDiff() { | |
| 189 | + return upOutDiff; | |
| 190 | + } | |
| 191 | + | |
| 192 | + public void setUpOutDiff(int upOutDiff) { | |
| 193 | + this.upOutDiff = upOutDiff; | |
| 194 | + } | |
| 195 | + | |
| 196 | + public int getDownInDiff() { | |
| 197 | + return downInDiff; | |
| 198 | + } | |
| 199 | + | |
| 200 | + public void setDownInDiff(int downInDiff) { | |
| 201 | + this.downInDiff = downInDiff; | |
| 202 | + } | |
| 203 | + | |
| 204 | + public int getDownOutDiff() { | |
| 205 | + return downOutDiff; | |
| 206 | + } | |
| 207 | + | |
| 208 | + public void setDownOutDiff(int downOutDiff) { | |
| 209 | + this.downOutDiff = downOutDiff; | |
| 210 | + } | |
| 154 | 211 | } | ... | ... |
src/main/java/com/bsth/repository/logger/MileModifyRepository.java
0 → 100644
| 1 | +package com.bsth.repository.logger; | |
| 2 | + | |
| 3 | +import com.bsth.entity.logger.Logger_MileModify; | |
| 4 | +import com.bsth.repository.BaseRepository; | |
| 5 | +import org.springframework.stereotype.Repository; | |
| 6 | + | |
| 7 | +/** | |
| 8 | + * Created by panzhao on 2017/3/6. | |
| 9 | + */ | |
| 10 | +@Repository | |
| 11 | +public interface MileModifyRepository extends BaseRepository<Logger_MileModify, Long>{ | |
| 12 | +} | ... | ... |
src/main/java/com/bsth/repository/schedule/SchedulePlanInfoRepository.java
| ... | ... | @@ -27,27 +27,29 @@ public interface SchedulePlanInfoRepository extends BaseRepository<SchedulePlanI |
| 27 | 27 | Long deleteByXlAndScheduleDateGreaterThanEqualAndScheduleDateLessThanEqual(Integer xlid, Date startDate, Date endDate); |
| 28 | 28 | |
| 29 | 29 | @Query(value = " select " + |
| 30 | - "xl as xlId, " + | |
| 31 | - "xl_name as xlName, " + | |
| 32 | - "schedule_date as scheduleDate, " + | |
| 33 | - "lp_name as lpName, " + | |
| 34 | - "cl as clId, " + | |
| 35 | - "cl_zbh as clZbh, " + | |
| 36 | - "group_concat(fcsj) ccsj, " + | |
| 37 | - "group_concat(bc_type) bctype, " + | |
| 38 | - "group_concat(distinct j) jsyId, " + | |
| 39 | - "group_concat(distinct j_gh) jsyGh, " + | |
| 40 | - "group_concat(distinct j_name) jsyName, " + | |
| 41 | - "group_concat(distinct s) spyId, " + | |
| 42 | - "group_concat(distinct s_gh) spyGh, " + | |
| 43 | - "group_concat(distinct s_name) spyName, " + | |
| 44 | - "max(create_date) as createDate, " + | |
| 45 | - "group_concat(fcno) fcno " + | |
| 46 | - "from bsth_c_s_sp_info " + | |
| 47 | - "where xl = ?1 and " + | |
| 48 | - "schedule_date = ?2 " + | |
| 49 | - "group by xl_name, schedule_date, lp, lp_name, cl, cl_zbh " + | |
| 50 | - "order by xl_name, schedule_date, lp ", nativeQuery = true) | |
| 30 | + "info.xl as xlId, " + | |
| 31 | + "info.xl_name as xlName, " + | |
| 32 | + "info.schedule_date as scheduleDate, " + | |
| 33 | + "info.lp_name as lpName, " + | |
| 34 | + "info.cl as clId, " + | |
| 35 | + "info.cl_zbh as clZbh, " + | |
| 36 | + "group_concat(info.fcsj) ccsj, " + | |
| 37 | + "group_concat(info.bc_type) bctype, " + | |
| 38 | + "group_concat(distinct info.j) jsyId, " + | |
| 39 | + "group_concat(distinct info.j_gh) jsyGh, " + | |
| 40 | + "group_concat(distinct info.j_name) jsyName, " + | |
| 41 | + "group_concat(distinct info.s) spyId, " + | |
| 42 | + "group_concat(distinct info.s_gh) spyGh, " + | |
| 43 | + "group_concat(distinct info.s_name) spyName, " + | |
| 44 | + "group_concat(info.fcno) fcno, " + | |
| 45 | + "max(info.update_date) as updateDate, " + | |
| 46 | + "max(user.name) as updateUserName, " + | |
| 47 | + "max(info.tt_info_name) as ttInfoName " + | |
| 48 | + "from bsth_c_s_sp_info info left join bsth_c_sys_user user on info.update_by = user.id " + | |
| 49 | + "where info.xl = ?1 and " + | |
| 50 | + "info.schedule_date = ?2 " + | |
| 51 | + "group by info.xl_name, info.schedule_date, info.lp, info.lp_name, info.cl, info.cl_zbh " + | |
| 52 | + "order by info.xl_name, info.schedule_date, info.lp ", nativeQuery = true) | |
| 51 | 53 | List<Object[]> findGroupInfo(Integer xlid, Date scheduleDate); |
| 52 | 54 | |
| 53 | 55 | @Modifying | ... | ... |
src/main/java/com/bsth/service/logger/MileModifyService.java
0 → 100644
src/main/java/com/bsth/service/logger/impl/MileModifyServiceImpl.java
0 → 100644
| 1 | +package com.bsth.service.logger.impl; | |
| 2 | + | |
| 3 | +import com.bsth.entity.logger.Logger_MileModify; | |
| 4 | +import com.bsth.service.impl.BaseServiceImpl; | |
| 5 | +import com.bsth.service.logger.MileModifyService; | |
| 6 | +import org.springframework.stereotype.Service; | |
| 7 | + | |
| 8 | +/** | |
| 9 | + * Created by panzhao on 2017/3/6. | |
| 10 | + */ | |
| 11 | +@Service | |
| 12 | +public class MileModifyServiceImpl extends BaseServiceImpl<Logger_MileModify, Long> implements MileModifyService { | |
| 13 | +} | ... | ... |
src/main/java/com/bsth/service/realcontrol/LineConfigService.java
| ... | ... | @@ -16,4 +16,8 @@ public interface LineConfigService extends BaseService<LineConfig, Integer>{ |
| 16 | 16 | Map<String, Object> editOutTimeType(String lineCode, int type); |
| 17 | 17 | |
| 18 | 18 | LineConfig getByLineCode(String lineCode); |
| 19 | + | |
| 20 | + Map<String,Object> enableInParkForSource(String lineCode, int enable); | |
| 21 | + | |
| 22 | + Map<String,Object> bufferTimeDiff(String lineCode, String field, String value); | |
| 19 | 23 | } | ... | ... |
src/main/java/com/bsth/service/realcontrol/ScheduleRealInfoService.java
| ... | ... | @@ -154,7 +154,7 @@ public interface ScheduleRealInfoService extends BaseService<ScheduleRealInfo, L |
| 154 | 154 | |
| 155 | 155 | List<SchedulePlanInfo> currentSchedulePlan(String lineCode); |
| 156 | 156 | |
| 157 | - Map<String,Object> lpChangeMulti(String leftIdx, String rightIdx); | |
| 157 | + Map<String,Object> lpChangeMulti(String leftIdx, String rightIdx, int type); | |
| 158 | 158 | |
| 159 | - void lpChange(ScheduleRealInfo leftSch, ScheduleRealInfo rightSch); | |
| 159 | + void lpChange(ScheduleRealInfo leftSch, ScheduleRealInfo rightSch, int type); | |
| 160 | 160 | } | ... | ... |
src/main/java/com/bsth/service/realcontrol/impl/LineConfigServiceImpl.java
| ... | ... | @@ -6,6 +6,8 @@ import com.bsth.entity.realcontrol.LineConfig; |
| 6 | 6 | import com.bsth.repository.realcontrol.LineConfigRepository; |
| 7 | 7 | import com.bsth.service.impl.BaseServiceImpl; |
| 8 | 8 | import com.bsth.service.realcontrol.LineConfigService; |
| 9 | +import org.slf4j.Logger; | |
| 10 | +import org.slf4j.LoggerFactory; | |
| 9 | 11 | import org.springframework.beans.factory.annotation.Autowired; |
| 10 | 12 | import org.springframework.stereotype.Service; |
| 11 | 13 | |
| ... | ... | @@ -15,71 +17,124 @@ import java.util.List; |
| 15 | 17 | import java.util.Map; |
| 16 | 18 | |
| 17 | 19 | @Service |
| 18 | -public class LineConfigServiceImpl extends BaseServiceImpl<LineConfig, Integer> implements LineConfigService{ | |
| 19 | - | |
| 20 | - @Autowired | |
| 21 | - LineConfigRepository lineConfigRepository; | |
| 22 | - | |
| 23 | - @Autowired | |
| 24 | - LineConfigData lineConfigData; | |
| 25 | - | |
| 26 | - @Override | |
| 27 | - public Map<String, Object> check(String[] codeArray) { | |
| 28 | - Map<String, Object> rs = new HashMap<>(); | |
| 29 | - List<String> notArr = new ArrayList<>(); | |
| 30 | - | |
| 31 | - for(String lineCode : codeArray){ | |
| 32 | - if(null == lineConfigData.get(lineCode + "")) | |
| 33 | - notArr.add(lineCode); | |
| 34 | - } | |
| 35 | - | |
| 36 | - if(notArr.size() > 0){ | |
| 37 | - rs.put("status", 1); | |
| 38 | - rs.put("not", notArr); | |
| 39 | - } | |
| 40 | - else | |
| 41 | - rs.put("status", 0); | |
| 42 | - return rs; | |
| 43 | - } | |
| 44 | - | |
| 45 | - @Override | |
| 46 | - public Integer init(String lineCode) throws Exception{ | |
| 47 | - LineConfig conf = lineConfigData.get(lineCode ); | |
| 48 | - | |
| 49 | - if(conf == null) | |
| 50 | - lineConfigData.init(lineCode); | |
| 51 | - | |
| 52 | - return 1; | |
| 53 | - } | |
| 54 | - | |
| 55 | - @Override | |
| 56 | - public Map<String, Object> editStartOptTime(String time, String lineCode) { | |
| 57 | - Map<String, Object> rs = new HashMap<>(); | |
| 58 | - LineConfig conf = lineConfigData.get(lineCode); | |
| 59 | - conf.setStartOpt(time); | |
| 60 | - lineConfigData.set(conf); | |
| 61 | - | |
| 62 | - rs.put("status", ResponseCode.SUCCESS); | |
| 63 | - rs.put("time", time); | |
| 64 | - return rs; | |
| 65 | - } | |
| 66 | - | |
| 67 | - @Override | |
| 68 | - public Map<String, Object> editOutTimeType(String lineCode, int type) { | |
| 69 | - Map<String, Object> rs = new HashMap<>(); | |
| 70 | - LineConfig conf = lineConfigData.get(lineCode); | |
| 71 | - | |
| 72 | - conf.setOutConfig(type); | |
| 73 | - //conf.setInConfig(type); | |
| 74 | - lineConfigData.set(conf); | |
| 75 | - | |
| 76 | - rs.put("status", ResponseCode.SUCCESS); | |
| 77 | - rs.put("type", type); | |
| 78 | - return rs; | |
| 79 | - } | |
| 80 | - | |
| 81 | - @Override | |
| 82 | - public LineConfig getByLineCode(String lineCode) { | |
| 83 | - return lineConfigData.get(lineCode); | |
| 84 | - } | |
| 20 | +public class LineConfigServiceImpl extends BaseServiceImpl<LineConfig, Integer> implements LineConfigService { | |
| 21 | + | |
| 22 | + @Autowired | |
| 23 | + LineConfigRepository lineConfigRepository; | |
| 24 | + | |
| 25 | + @Autowired | |
| 26 | + LineConfigData lineConfigData; | |
| 27 | + | |
| 28 | + Logger logger = LoggerFactory.getLogger(this.getClass()); | |
| 29 | + | |
| 30 | + @Override | |
| 31 | + public Map<String, Object> check(String[] codeArray) { | |
| 32 | + Map<String, Object> rs = new HashMap<>(); | |
| 33 | + List<String> notArr = new ArrayList<>(); | |
| 34 | + | |
| 35 | + for (String lineCode : codeArray) { | |
| 36 | + if (null == lineConfigData.get(lineCode + "")) | |
| 37 | + notArr.add(lineCode); | |
| 38 | + } | |
| 39 | + | |
| 40 | + if (notArr.size() > 0) { | |
| 41 | + rs.put("status", 1); | |
| 42 | + rs.put("not", notArr); | |
| 43 | + } else | |
| 44 | + rs.put("status", 0); | |
| 45 | + return rs; | |
| 46 | + } | |
| 47 | + | |
| 48 | + @Override | |
| 49 | + public Integer init(String lineCode) throws Exception { | |
| 50 | + LineConfig conf = lineConfigData.get(lineCode); | |
| 51 | + | |
| 52 | + if (conf == null) | |
| 53 | + lineConfigData.init(lineCode); | |
| 54 | + | |
| 55 | + return 1; | |
| 56 | + } | |
| 57 | + | |
| 58 | + @Override | |
| 59 | + public Map<String, Object> editStartOptTime(String time, String lineCode) { | |
| 60 | + Map<String, Object> rs = new HashMap<>(); | |
| 61 | + try { | |
| 62 | + LineConfig conf = lineConfigData.get(lineCode); | |
| 63 | + conf.setStartOpt(time); | |
| 64 | + lineConfigData.set(conf); | |
| 65 | + | |
| 66 | + rs.put("status", ResponseCode.SUCCESS); | |
| 67 | + rs.put("time", time); | |
| 68 | + } catch (Exception e) { | |
| 69 | + rs.put("status", ResponseCode.ERROR); | |
| 70 | + rs.put("msg", e.getMessage()); | |
| 71 | + logger.error("", e); | |
| 72 | + } | |
| 73 | + return rs; | |
| 74 | + } | |
| 75 | + | |
| 76 | + @Override | |
| 77 | + public Map<String, Object> editOutTimeType(String lineCode, int type) { | |
| 78 | + Map<String, Object> rs = new HashMap<>(); | |
| 79 | + try { | |
| 80 | + LineConfig conf = lineConfigData.get(lineCode); | |
| 81 | + | |
| 82 | + conf.setOutConfig(type); | |
| 83 | + //conf.setInConfig(type); | |
| 84 | + lineConfigData.set(conf); | |
| 85 | + | |
| 86 | + rs.put("status", ResponseCode.SUCCESS); | |
| 87 | + rs.put("type", type); | |
| 88 | + } catch (Exception e) { | |
| 89 | + rs.put("status", ResponseCode.ERROR); | |
| 90 | + rs.put("msg", e.getMessage()); | |
| 91 | + logger.error("", e); | |
| 92 | + } | |
| 93 | + return rs; | |
| 94 | + } | |
| 95 | + | |
| 96 | + @Override | |
| 97 | + public LineConfig getByLineCode(String lineCode) { | |
| 98 | + return lineConfigData.get(lineCode); | |
| 99 | + } | |
| 100 | + | |
| 101 | + @Override | |
| 102 | + public Map<String, Object> enableInParkForSource(String lineCode, int enable) { | |
| 103 | + Map<String, Object> rs = new HashMap<>(); | |
| 104 | + try { | |
| 105 | + LineConfig conf = lineConfigData.get(lineCode); | |
| 106 | + | |
| 107 | + conf.setInParkForSource(enable==1); | |
| 108 | + lineConfigData.set(conf); | |
| 109 | + | |
| 110 | + rs.put("status", ResponseCode.SUCCESS); | |
| 111 | + rs.put("enable", enable); | |
| 112 | + } catch (Exception e) { | |
| 113 | + rs.put("status", ResponseCode.ERROR); | |
| 114 | + rs.put("msg", e.getMessage()); | |
| 115 | + logger.error("", e); | |
| 116 | + } | |
| 117 | + return rs; | |
| 118 | + } | |
| 119 | + | |
| 120 | + @Override | |
| 121 | + public Map<String, Object> bufferTimeDiff(String lineCode, String field, String value) { | |
| 122 | + | |
| 123 | + Map<String, Object> rs = new HashMap<>(); | |
| 124 | + try { | |
| 125 | + LineConfig conf = lineConfigData.get(lineCode); | |
| 126 | + | |
| 127 | + conf.getClass().getField(field).set(conf, value); | |
| 128 | + lineConfigData.set(conf); | |
| 129 | + | |
| 130 | + rs.put("status", ResponseCode.SUCCESS); | |
| 131 | + rs.put("field", field); | |
| 132 | + rs.put("value", value); | |
| 133 | + } catch (Exception e) { | |
| 134 | + rs.put("status", ResponseCode.ERROR); | |
| 135 | + rs.put("msg", e.getMessage()); | |
| 136 | + logger.error("", e); | |
| 137 | + } | |
| 138 | + return rs; | |
| 139 | + } | |
| 85 | 140 | } | ... | ... |
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
| ... | ... | @@ -899,12 +899,6 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 899 | 899 | List<ScheduleRealInfo> ts = new ArrayList<>(); |
| 900 | 900 | try { |
| 901 | 901 | Long id = Long.parseLong(map.get("id")); |
| 902 | - //班次类型 | |
| 903 | - //String bcType = map.get("bcType"); | |
| 904 | - //车辆自编号 | |
| 905 | - //String clZbh = map.get("clZbh"); | |
| 906 | - //计划发车时间 | |
| 907 | - //String fcsj = map.get("fcsj"); | |
| 908 | 902 | //实际发车时间 |
| 909 | 903 | String fcsjActual = map.get("fcsjActual"); |
| 910 | 904 | //实际终点时间 |
| ... | ... | @@ -966,6 +960,13 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 966 | 960 | } catch (NumberFormatException e) { |
| 967 | 961 | logger.error("", e); |
| 968 | 962 | } |
| 963 | + | |
| 964 | + //修改班次里程 | |
| 965 | + String jhlc = map.get("jhlc"); | |
| 966 | + if(StringUtils.isNotEmpty(jhlc) | |
| 967 | + && Double.parseDouble(jhlc) != sch.getJhlc()){ | |
| 968 | + sch.setJhlc(Double.parseDouble(jhlc)); | |
| 969 | + } | |
| 969 | 970 | } |
| 970 | 971 | |
| 971 | 972 | String bcType = map.get("bcType"); |
| ... | ... | @@ -2344,6 +2345,8 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 2344 | 2345 | set.addAll(dayOfSchedule.changeCar(sch, cpc.getClZbh())); |
| 2345 | 2346 | } |
| 2346 | 2347 | |
| 2348 | + dayOfSchedule.save(sch); | |
| 2349 | + | |
| 2347 | 2350 | } |
| 2348 | 2351 | rs.put("ts", set); |
| 2349 | 2352 | rs.put("status", ResponseCode.SUCCESS); |
| ... | ... | @@ -2359,7 +2362,12 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 2359 | 2362 | return; |
| 2360 | 2363 | String jName = BasicData.allPerson.get(jGh); |
| 2361 | 2364 | if (StringUtils.isNotEmpty(jName)) { |
| 2362 | - sch.setjGh(jGh); | |
| 2365 | + | |
| 2366 | + if(jGh.indexOf("-") != -1) | |
| 2367 | + sch.setjGh(jGh.substring(jGh.indexOf("-") + 1)); | |
| 2368 | + else | |
| 2369 | + sch.setjGh(jGh); | |
| 2370 | + | |
| 2363 | 2371 | sch.setjName(jName); |
| 2364 | 2372 | } |
| 2365 | 2373 | } |
| ... | ... | @@ -3406,7 +3414,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 3406 | 3414 | |
| 3407 | 3415 | |
| 3408 | 3416 | @Override |
| 3409 | - public Map<String, Object> lpChangeMulti(String leftIdx, String rightIdx) { | |
| 3417 | + public Map<String, Object> lpChangeMulti(String leftIdx, String rightIdx, int type) { | |
| 3410 | 3418 | Map<String, Object> rs = new HashMap<>(); |
| 3411 | 3419 | List<ScheduleRealInfo> ts = new ArrayList<>(); |
| 3412 | 3420 | try { |
| ... | ... | @@ -3424,10 +3432,13 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 3424 | 3432 | rightSch = dayOfSchedule.get(Long.parseLong(rightList.get(i))); |
| 3425 | 3433 | |
| 3426 | 3434 | //调换路牌 |
| 3427 | - lpChange(leftSch, rightSch); | |
| 3435 | + lpChange(leftSch, rightSch, type); | |
| 3428 | 3436 | |
| 3429 | 3437 | ts.add(leftSch); |
| 3430 | 3438 | ts.add(rightSch); |
| 3439 | + | |
| 3440 | + dayOfSchedule.save(leftSch); | |
| 3441 | + dayOfSchedule.save(rightSch); | |
| 3431 | 3442 | } |
| 3432 | 3443 | |
| 3433 | 3444 | rs.put("status", ResponseCode.SUCCESS); |
| ... | ... | @@ -3442,11 +3453,11 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 3442 | 3453 | } |
| 3443 | 3454 | |
| 3444 | 3455 | @Override |
| 3445 | - public void lpChange(ScheduleRealInfo leftSch, ScheduleRealInfo rightSch) { | |
| 3456 | + public void lpChange(ScheduleRealInfo leftSch, ScheduleRealInfo rightSch, int type) { | |
| 3446 | 3457 | LpData leftData = new LpData(leftSch); |
| 3447 | 3458 | LpData rightData = new LpData(rightSch); |
| 3448 | 3459 | |
| 3449 | - leftData.appendTo(rightSch); | |
| 3450 | - rightData.appendTo(leftSch); | |
| 3460 | + leftData.appendTo(rightSch, type); | |
| 3461 | + rightData.appendTo(leftSch, type); | |
| 3451 | 3462 | } |
| 3452 | 3463 | } |
| 3453 | 3464 | \ No newline at end of file | ... | ... |
src/main/java/com/bsth/service/schedule/SchedulePlanInfoService.java
| ... | ... | @@ -115,8 +115,12 @@ public interface SchedulePlanInfoService extends BaseService<SchedulePlanInfo, L |
| 115 | 115 | /** 售票员1姓名 */ |
| 116 | 116 | private String spy2Name; |
| 117 | 117 | |
| 118 | - /** 创建时间 */ | |
| 119 | - private Date createDate; | |
| 118 | + /** 修改时间 */ | |
| 119 | + private Date updateDate; | |
| 120 | + /** 修改人名 */ | |
| 121 | + private String updateByName; | |
| 122 | + /** 时刻表名字 */ | |
| 123 | + private String ttInfoName; | |
| 120 | 124 | |
| 121 | 125 | /** 出场班次1发车的顺序号 */ |
| 122 | 126 | private Integer fcno1; |
| ... | ... | @@ -141,7 +145,7 @@ public interface SchedulePlanInfoService extends BaseService<SchedulePlanInfo, L |
| 141 | 145 | // 出场时间,出场班次,如果有多个,需要分开 |
| 142 | 146 | Object ccsj = datas[6]; |
| 143 | 147 | Object bctype = datas[7]; |
| 144 | - Object fcno = datas[15]; | |
| 148 | + Object fcno = datas[14]; | |
| 145 | 149 | |
| 146 | 150 | if (ccsj != null) { |
| 147 | 151 | String[] ccsj_array = ((String) ccsj).split(","); |
| ... | ... | @@ -238,12 +242,32 @@ public interface SchedulePlanInfoService extends BaseService<SchedulePlanInfo, L |
| 238 | 242 | this.spy1Name = String.valueOf(spyName_array[0]); |
| 239 | 243 | } |
| 240 | 244 | } |
| 241 | - // 创建时间 | |
| 242 | - this.createDate = new DateTime(datas[14]).toDate(); | |
| 245 | + // 修改时间 | |
| 246 | + this.updateDate = new DateTime(datas[15]).toDate(); | |
| 247 | + // 修改人 | |
| 248 | + this.updateByName = String.valueOf(datas[16]); | |
| 249 | + // 时刻表名字 | |
| 250 | + this.ttInfoName = String.valueOf(datas[17]); | |
| 243 | 251 | |
| 244 | 252 | // TODO:可能还有其他字段 |
| 245 | 253 | } |
| 246 | 254 | |
| 255 | + public Date getUpdateDate() { | |
| 256 | + return updateDate; | |
| 257 | + } | |
| 258 | + | |
| 259 | + public void setUpdateDate(Date updateDate) { | |
| 260 | + this.updateDate = updateDate; | |
| 261 | + } | |
| 262 | + | |
| 263 | + public String getUpdateByName() { | |
| 264 | + return updateByName; | |
| 265 | + } | |
| 266 | + | |
| 267 | + public void setUpdateByName(String updateByName) { | |
| 268 | + this.updateByName = updateByName; | |
| 269 | + } | |
| 270 | + | |
| 247 | 271 | public String getXlName() { |
| 248 | 272 | return xlName; |
| 249 | 273 | } |
| ... | ... | @@ -396,14 +420,6 @@ public interface SchedulePlanInfoService extends BaseService<SchedulePlanInfo, L |
| 396 | 420 | this.spy2Name = spy2Name; |
| 397 | 421 | } |
| 398 | 422 | |
| 399 | - public Date getCreateDate() { | |
| 400 | - return createDate; | |
| 401 | - } | |
| 402 | - | |
| 403 | - public void setCreateDate(Date createDate) { | |
| 404 | - this.createDate = createDate; | |
| 405 | - } | |
| 406 | - | |
| 407 | 423 | public Integer getXlId() { |
| 408 | 424 | return xlId; |
| 409 | 425 | } |
| ... | ... | @@ -427,5 +443,13 @@ public interface SchedulePlanInfoService extends BaseService<SchedulePlanInfo, L |
| 427 | 443 | public void setFcno2(Integer fcno2) { |
| 428 | 444 | this.fcno2 = fcno2; |
| 429 | 445 | } |
| 446 | + | |
| 447 | + public String getTtInfoName() { | |
| 448 | + return ttInfoName; | |
| 449 | + } | |
| 450 | + | |
| 451 | + public void setTtInfoName(String ttInfoName) { | |
| 452 | + this.ttInfoName = ttInfoName; | |
| 453 | + } | |
| 430 | 454 | } |
| 431 | 455 | } | ... | ... |
src/main/java/com/bsth/service/schedule/SchedulePlanService.java
| 1 | 1 | package com.bsth.service.schedule; |
| 2 | 2 | |
| 3 | 3 | import com.bsth.entity.schedule.SchedulePlan; |
| 4 | -import com.bsth.entity.sys.CompanyAuthority; | |
| 5 | 4 | import com.bsth.service.schedule.rules.ttinfo2.Result; |
| 6 | 5 | |
| 7 | 6 | import java.util.Date; |
| ... | ... | @@ -11,7 +10,7 @@ import java.util.Date; |
| 11 | 10 | */ |
| 12 | 11 | public interface SchedulePlanService extends BService<SchedulePlan, Long> { |
| 13 | 12 | |
| 14 | - SchedulePlan save(SchedulePlan schedulePlan, CompanyAuthority companyAuthority); | |
| 13 | + SchedulePlan save(SchedulePlan schedulePlan); | |
| 15 | 14 | |
| 16 | 15 | /** |
| 17 | 16 | * 获取有明日排班的计划。 | ... | ... |
src/main/java/com/bsth/service/schedule/impl/SchedulePlanServiceImpl.java
| 1 | 1 | package com.bsth.service.schedule.impl; |
| 2 | 2 | |
| 3 | +import com.bsth.entity.Business; | |
| 3 | 4 | import com.bsth.entity.Line; |
| 4 | 5 | import com.bsth.entity.schedule.*; |
| 5 | 6 | import com.bsth.entity.schedule.rule.ScheduleRule1Flat; |
| 6 | -import com.bsth.entity.sys.CompanyAuthority; | |
| 7 | 7 | import com.bsth.repository.schedule.SchedulePlanInfoRepository; |
| 8 | 8 | import com.bsth.repository.schedule.SchedulePlanRepository; |
| 9 | +import com.bsth.service.BusinessService; | |
| 9 | 10 | import com.bsth.service.LineService; |
| 10 | 11 | import com.bsth.service.schedule.SchedulePlanService; |
| 11 | 12 | import com.bsth.service.schedule.TTInfoDetailService; |
| ... | ... | @@ -51,12 +52,14 @@ public class SchedulePlanServiceImpl extends BServiceImpl<SchedulePlan, Long> im |
| 51 | 52 | private TTInfoService ttInfoService; |
| 52 | 53 | @Autowired |
| 53 | 54 | private TTInfoDetailService ttInfoDetailService; |
| 55 | + @Autowired | |
| 56 | + private BusinessService businessService; | |
| 54 | 57 | |
| 55 | 58 | /** 日志记录器 */ |
| 56 | 59 | private Logger logger = LoggerFactory.getLogger(SchedulePlanServiceImpl.class); |
| 57 | 60 | |
| 58 | 61 | @Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED) |
| 59 | - public SchedulePlan save(SchedulePlan schedulePlan, CompanyAuthority companyAuthority) { | |
| 62 | + public SchedulePlan save(SchedulePlan schedulePlan) { | |
| 60 | 63 | // 1-1、查找线路具体信息 |
| 61 | 64 | Line xl = strategy.getLine(schedulePlan.getXl().getId()); |
| 62 | 65 | // 1-2、查出指定线路的所有规则 |
| ... | ... | @@ -149,11 +152,46 @@ public class SchedulePlanServiceImpl extends BServiceImpl<SchedulePlan, Long> im |
| 149 | 152 | employeeConfigInfoList, |
| 150 | 153 | schedulePlan); |
| 151 | 154 | |
| 152 | - // 公司,分公司编码 | |
| 153 | - schedulePlanInfo.setGsBm(companyAuthority.getCompanyCode()); | |
| 154 | - schedulePlanInfo.setGsName(companyAuthority.getCompanyName()); | |
| 155 | - schedulePlanInfo.setFgsBm(companyAuthority.getSubCompanyCode()); | |
| 156 | - schedulePlanInfo.setFgsName(companyAuthority.getSubCompanyName()); | |
| 155 | + // 获取公司,分公司信息 | |
| 156 | + String gsbm = xl.getCompany(); | |
| 157 | + String fgsbm = xl.getBrancheCompany(); | |
| 158 | + Business gs = null; | |
| 159 | + Business fgs = null; | |
| 160 | + | |
| 161 | + Map<String, Object> param = new HashMap<>(); | |
| 162 | + | |
| 163 | + if (StringUtils.isNotEmpty(gsbm)) { | |
| 164 | + param.clear(); | |
| 165 | + param.put("businessCode_eq", gsbm); | |
| 166 | + Iterator<Business> businessIterator = businessService.list(param).iterator(); | |
| 167 | + if (businessIterator.hasNext()) { | |
| 168 | + gs = businessIterator.next(); | |
| 169 | + } | |
| 170 | + } | |
| 171 | + if (StringUtils.isNotEmpty(gsbm) && StringUtils.isNotEmpty(fgsbm)) { | |
| 172 | + param.clear();; | |
| 173 | + param.put("upCode_eq", gsbm); | |
| 174 | + param.put("businessCode_eq", fgsbm); | |
| 175 | + Iterator<Business> businessIterator = businessService.list(param).iterator(); | |
| 176 | + if (businessIterator.hasNext()) { | |
| 177 | + fgs = businessIterator.next(); | |
| 178 | + } | |
| 179 | + } | |
| 180 | + | |
| 181 | + if (gs != null) { | |
| 182 | + schedulePlanInfo.setGsBm(gs.getBusinessCode()); | |
| 183 | + schedulePlanInfo.setGsName(gs.getBusinessName()); | |
| 184 | + } | |
| 185 | + if (fgs != null) { | |
| 186 | + schedulePlanInfo.setFgsBm(fgs.getBusinessCode()); | |
| 187 | + schedulePlanInfo.setFgsName(fgs.getBusinessName()); | |
| 188 | + } | |
| 189 | + | |
| 190 | + // 操作人,操作时间 | |
| 191 | + schedulePlanInfo.setCreateBy(schedulePlan.getCreateBy()); | |
| 192 | + schedulePlanInfo.setCreateDate(schedulePlan.getCreateDate()); | |
| 193 | + schedulePlanInfo.setUpdateBy(schedulePlan.getUpdateBy()); | |
| 194 | + schedulePlanInfo.setUpdateDate(schedulePlan.getUpdateDate()); | |
| 157 | 195 | |
| 158 | 196 | schedulePlanInfos.add(schedulePlanInfo); |
| 159 | 197 | ttInfoMap.put(ttInfoDetail.getTtinfo().getId(), ttInfoDetail.getTtinfo().getName()); | ... | ... |
src/main/java/com/bsth/service/schedule/rules/ttinfo2/CalcuParam.java
| 1 | -package com.bsth.service.schedule.rules.ttinfo2; | |
| 2 | - | |
| 3 | -import org.joda.time.DateTime; | |
| 4 | - | |
| 5 | -/** | |
| 6 | - * 时刻表计算参数。 | |
| 7 | - */ | |
| 8 | -public class CalcuParam { | |
| 9 | - /** 开始计算时间 */ | |
| 10 | - private DateTime fromDate; | |
| 11 | - /** 结束计算时间 */ | |
| 12 | - private DateTime toDate; | |
| 13 | - /** 线路id */ | |
| 14 | - private Integer xlId; | |
| 15 | - | |
| 16 | - public CalcuParam() {} | |
| 17 | - public CalcuParam( | |
| 18 | - DateTime fromDate, | |
| 19 | - DateTime toDate, | |
| 20 | - Integer xlId) { | |
| 21 | - this.fromDate = fromDate; | |
| 22 | - this.toDate = toDate; | |
| 23 | - this.xlId = xlId; | |
| 24 | - } | |
| 25 | - | |
| 26 | - public DateTime getFromDate() { | |
| 27 | - return fromDate; | |
| 28 | - } | |
| 29 | - | |
| 30 | - public void setFromDate(DateTime fromDate) { | |
| 31 | - this.fromDate = fromDate; | |
| 32 | - } | |
| 33 | - | |
| 34 | - public DateTime getToDate() { | |
| 35 | - return toDate; | |
| 36 | - } | |
| 37 | - | |
| 38 | - public void setToDate(DateTime toDate) { | |
| 39 | - this.toDate = toDate; | |
| 40 | - } | |
| 41 | - | |
| 42 | - public Integer getXlId() { | |
| 43 | - return xlId; | |
| 44 | - } | |
| 45 | - | |
| 46 | - public void setXlId(Integer xlId) { | |
| 47 | - this.xlId = xlId; | |
| 48 | - } | |
| 49 | -} | |
| 1 | +package com.bsth.service.schedule.rules.ttinfo2; | |
| 2 | + | |
| 3 | +import org.joda.time.DateTime; | |
| 4 | + | |
| 5 | +/** | |
| 6 | + * 时刻表计算参数。 | |
| 7 | + */ | |
| 8 | +public class CalcuParam { | |
| 9 | + /** 开始计算时间 */ | |
| 10 | + private DateTime fromDate; | |
| 11 | + /** 结束计算时间 */ | |
| 12 | + private DateTime toDate; | |
| 13 | + /** 线路id */ | |
| 14 | + private Integer xlId; | |
| 15 | + | |
| 16 | + public CalcuParam() {} | |
| 17 | + public CalcuParam( | |
| 18 | + DateTime fromDate, | |
| 19 | + DateTime toDate, | |
| 20 | + Integer xlId) { | |
| 21 | + this.fromDate = fromDate; | |
| 22 | + this.toDate = toDate; | |
| 23 | + this.xlId = xlId; | |
| 24 | + } | |
| 25 | + | |
| 26 | + public DateTime getFromDate() { | |
| 27 | + return fromDate; | |
| 28 | + } | |
| 29 | + | |
| 30 | + public void setFromDate(DateTime fromDate) { | |
| 31 | + this.fromDate = fromDate; | |
| 32 | + } | |
| 33 | + | |
| 34 | + public DateTime getToDate() { | |
| 35 | + return toDate; | |
| 36 | + } | |
| 37 | + | |
| 38 | + public void setToDate(DateTime toDate) { | |
| 39 | + this.toDate = toDate; | |
| 40 | + } | |
| 41 | + | |
| 42 | + public Integer getXlId() { | |
| 43 | + return xlId; | |
| 44 | + } | |
| 45 | + | |
| 46 | + public void setXlId(Integer xlId) { | |
| 47 | + this.xlId = xlId; | |
| 48 | + } | |
| 49 | +} | ... | ... |
src/main/java/com/bsth/service/schedule/rules/ttinfo2/ErrorBcCountFunction.java
| 1 | -package com.bsth.service.schedule.rules.ttinfo2; | |
| 2 | - | |
| 3 | -import com.bsth.entity.schedule.TTInfoDetail; | |
| 4 | -import org.kie.api.runtime.rule.AccumulateFunction; | |
| 5 | - | |
| 6 | -import java.io.*; | |
| 7 | - | |
| 8 | -/** | |
| 9 | - * Created by xu on 17/2/28. | |
| 10 | - */ | |
| 11 | -public class ErrorBcCountFunction implements AccumulateFunction { | |
| 12 | - @Override | |
| 13 | - public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { | |
| 14 | - } | |
| 15 | - | |
| 16 | - @Override | |
| 17 | - public void writeExternal(ObjectOutput out) throws IOException { | |
| 18 | - } | |
| 19 | - | |
| 20 | - protected static class ErrorCountData implements Externalizable { | |
| 21 | - public long errorcount = 0; | |
| 22 | - public TTInfoDetail ttInfoDetail; | |
| 23 | - | |
| 24 | - public ErrorCountData() { | |
| 25 | - } | |
| 26 | - | |
| 27 | - @Override | |
| 28 | - public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { | |
| 29 | - errorcount = in.readLong(); | |
| 30 | - ttInfoDetail = (TTInfoDetail) in.readObject(); | |
| 31 | - } | |
| 32 | - | |
| 33 | - @Override | |
| 34 | - public void writeExternal(ObjectOutput out) throws IOException { | |
| 35 | - out.writeLong(errorcount); | |
| 36 | - out.writeObject(ttInfoDetail); | |
| 37 | - } | |
| 38 | - } | |
| 39 | - | |
| 40 | - @Override | |
| 41 | - public Serializable createContext() { | |
| 42 | - return new ErrorCountData(); | |
| 43 | - } | |
| 44 | - | |
| 45 | - @Override | |
| 46 | - public void init(Serializable context) throws Exception { | |
| 47 | - ErrorCountData errorCountData = (ErrorCountData) context; | |
| 48 | - errorCountData.errorcount = 0; | |
| 49 | - } | |
| 50 | - | |
| 51 | - @Override | |
| 52 | - public void accumulate(Serializable context, Object value) { | |
| 53 | - ErrorCountData errorCountData = (ErrorCountData) context; | |
| 54 | - TTInfoDetail ttInfoDetail = (TTInfoDetail) value; | |
| 55 | - | |
| 56 | - if (ttInfoDetail.getTtinfo() == null) { | |
| 57 | - errorCountData.errorcount ++; | |
| 58 | - return; | |
| 59 | - } | |
| 60 | - | |
| 61 | - if ("in".equals(ttInfoDetail.getBcType())) { | |
| 62 | - if (ttInfoDetail.getQdz() == null || ttInfoDetail.getTcc() == null) { | |
| 63 | - errorCountData.errorcount ++; | |
| 64 | - } | |
| 65 | - } else if ("out".equals(ttInfoDetail.getBcType())) { | |
| 66 | - if (ttInfoDetail.getTcc() == null || ttInfoDetail.getZdz() == null) { | |
| 67 | - errorCountData.errorcount ++; | |
| 68 | - } | |
| 69 | - } else { | |
| 70 | - if (ttInfoDetail.getQdz() == null || ttInfoDetail.getZdz() == null) { | |
| 71 | - errorCountData.errorcount ++; | |
| 72 | - } | |
| 73 | - } | |
| 74 | - } | |
| 75 | - | |
| 76 | - @Override | |
| 77 | - public void reverse(Serializable context, Object value) throws Exception { | |
| 78 | - ErrorCountData errorCountData = (ErrorCountData) context; | |
| 79 | - TTInfoDetail ttInfoDetail = (TTInfoDetail) value; | |
| 80 | - | |
| 81 | - if (ttInfoDetail.getTtinfo() == null) { | |
| 82 | - errorCountData.errorcount --; | |
| 83 | - return; | |
| 84 | - } | |
| 85 | - | |
| 86 | - if ("in".equals(ttInfoDetail.getBcType())) { | |
| 87 | - if (ttInfoDetail.getQdz() == null || ttInfoDetail.getTcc() == null) { | |
| 88 | - errorCountData.errorcount --; | |
| 89 | - } | |
| 90 | - } else if ("out".equals(ttInfoDetail.getBcType())) { | |
| 91 | - if (ttInfoDetail.getTcc() == null || ttInfoDetail.getZdz() == null) { | |
| 92 | - errorCountData.errorcount --; | |
| 93 | - } | |
| 94 | - } else { | |
| 95 | - if (ttInfoDetail.getQdz() == null || ttInfoDetail.getZdz() == null) { | |
| 96 | - errorCountData.errorcount --; | |
| 97 | - } | |
| 98 | - } | |
| 99 | - | |
| 100 | - } | |
| 101 | - | |
| 102 | - @Override | |
| 103 | - public Object getResult(Serializable context) throws Exception { | |
| 104 | - ErrorCountData errorCountData = (ErrorCountData) context; | |
| 105 | - return errorCountData.errorcount; | |
| 106 | - } | |
| 107 | - | |
| 108 | - @Override | |
| 109 | - public boolean supportsReverse() { | |
| 110 | - return true; | |
| 111 | - } | |
| 112 | - | |
| 113 | - @Override | |
| 114 | - public Class<?> getResultType() { | |
| 115 | - return Number.class; | |
| 116 | - } | |
| 117 | -} | |
| 1 | +package com.bsth.service.schedule.rules.ttinfo2; | |
| 2 | + | |
| 3 | +import com.bsth.entity.schedule.TTInfoDetail; | |
| 4 | +import org.kie.api.runtime.rule.AccumulateFunction; | |
| 5 | + | |
| 6 | +import java.io.*; | |
| 7 | + | |
| 8 | +/** | |
| 9 | + * Created by xu on 17/2/28. | |
| 10 | + */ | |
| 11 | +public class ErrorBcCountFunction implements AccumulateFunction { | |
| 12 | + @Override | |
| 13 | + public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { | |
| 14 | + } | |
| 15 | + | |
| 16 | + @Override | |
| 17 | + public void writeExternal(ObjectOutput out) throws IOException { | |
| 18 | + } | |
| 19 | + | |
| 20 | + protected static class ErrorCountData implements Externalizable { | |
| 21 | + public long errorcount = 0; | |
| 22 | + public TTInfoDetail ttInfoDetail; | |
| 23 | + | |
| 24 | + public ErrorCountData() { | |
| 25 | + } | |
| 26 | + | |
| 27 | + @Override | |
| 28 | + public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { | |
| 29 | + errorcount = in.readLong(); | |
| 30 | + ttInfoDetail = (TTInfoDetail) in.readObject(); | |
| 31 | + } | |
| 32 | + | |
| 33 | + @Override | |
| 34 | + public void writeExternal(ObjectOutput out) throws IOException { | |
| 35 | + out.writeLong(errorcount); | |
| 36 | + out.writeObject(ttInfoDetail); | |
| 37 | + } | |
| 38 | + } | |
| 39 | + | |
| 40 | + @Override | |
| 41 | + public Serializable createContext() { | |
| 42 | + return new ErrorCountData(); | |
| 43 | + } | |
| 44 | + | |
| 45 | + @Override | |
| 46 | + public void init(Serializable context) throws Exception { | |
| 47 | + ErrorCountData errorCountData = (ErrorCountData) context; | |
| 48 | + errorCountData.errorcount = 0; | |
| 49 | + } | |
| 50 | + | |
| 51 | + @Override | |
| 52 | + public void accumulate(Serializable context, Object value) { | |
| 53 | + ErrorCountData errorCountData = (ErrorCountData) context; | |
| 54 | + TTInfoDetail ttInfoDetail = (TTInfoDetail) value; | |
| 55 | + | |
| 56 | + if (ttInfoDetail.getTtinfo() == null) { | |
| 57 | + errorCountData.errorcount ++; | |
| 58 | + return; | |
| 59 | + } | |
| 60 | + | |
| 61 | + if ("in".equals(ttInfoDetail.getBcType())) { | |
| 62 | + if (ttInfoDetail.getQdz() == null || ttInfoDetail.getTcc() == null) { | |
| 63 | + errorCountData.errorcount ++; | |
| 64 | + } | |
| 65 | + } else if ("out".equals(ttInfoDetail.getBcType())) { | |
| 66 | + if (ttInfoDetail.getTcc() == null || ttInfoDetail.getZdz() == null) { | |
| 67 | + errorCountData.errorcount ++; | |
| 68 | + } | |
| 69 | + } else { | |
| 70 | + if (ttInfoDetail.getQdz() == null || ttInfoDetail.getZdz() == null) { | |
| 71 | + errorCountData.errorcount ++; | |
| 72 | + } | |
| 73 | + } | |
| 74 | + } | |
| 75 | + | |
| 76 | + @Override | |
| 77 | + public void reverse(Serializable context, Object value) throws Exception { | |
| 78 | + ErrorCountData errorCountData = (ErrorCountData) context; | |
| 79 | + TTInfoDetail ttInfoDetail = (TTInfoDetail) value; | |
| 80 | + | |
| 81 | + if (ttInfoDetail.getTtinfo() == null) { | |
| 82 | + errorCountData.errorcount --; | |
| 83 | + return; | |
| 84 | + } | |
| 85 | + | |
| 86 | + if ("in".equals(ttInfoDetail.getBcType())) { | |
| 87 | + if (ttInfoDetail.getQdz() == null || ttInfoDetail.getTcc() == null) { | |
| 88 | + errorCountData.errorcount --; | |
| 89 | + } | |
| 90 | + } else if ("out".equals(ttInfoDetail.getBcType())) { | |
| 91 | + if (ttInfoDetail.getTcc() == null || ttInfoDetail.getZdz() == null) { | |
| 92 | + errorCountData.errorcount --; | |
| 93 | + } | |
| 94 | + } else { | |
| 95 | + if (ttInfoDetail.getQdz() == null || ttInfoDetail.getZdz() == null) { | |
| 96 | + errorCountData.errorcount --; | |
| 97 | + } | |
| 98 | + } | |
| 99 | + | |
| 100 | + } | |
| 101 | + | |
| 102 | + @Override | |
| 103 | + public Object getResult(Serializable context) throws Exception { | |
| 104 | + ErrorCountData errorCountData = (ErrorCountData) context; | |
| 105 | + return errorCountData.errorcount; | |
| 106 | + } | |
| 107 | + | |
| 108 | + @Override | |
| 109 | + public boolean supportsReverse() { | |
| 110 | + return true; | |
| 111 | + } | |
| 112 | + | |
| 113 | + @Override | |
| 114 | + public Class<?> getResultType() { | |
| 115 | + return Number.class; | |
| 116 | + } | |
| 117 | +} | ... | ... |
src/main/java/com/bsth/service/schedule/rules/ttinfo2/Result.java
| 1 | -package com.bsth.service.schedule.rules.ttinfo2; | |
| 2 | - | |
| 3 | -import java.util.ArrayList; | |
| 4 | -import java.util.List; | |
| 5 | - | |
| 6 | -/** | |
| 7 | - * 输出结果值。 | |
| 8 | - */ | |
| 9 | -public class Result { | |
| 10 | - private List<StatInfo> infos = new ArrayList<>(); | |
| 11 | - | |
| 12 | - public List<StatInfo> getInfos() { | |
| 13 | - return infos; | |
| 14 | - } | |
| 15 | - | |
| 16 | - public void setInfos(List<StatInfo> infos) { | |
| 17 | - this.infos = infos; | |
| 18 | - } | |
| 19 | - | |
| 20 | - public static class StatInfo { | |
| 21 | - /** 时刻表id */ | |
| 22 | - private Long ttid; | |
| 23 | - /** 时刻表名字 */ | |
| 24 | - private String ttname; | |
| 25 | - | |
| 26 | - /** 所有班次数 */ | |
| 27 | - private Long allbc; | |
| 28 | - /** 进场班次数 */ | |
| 29 | - private Long inbc; | |
| 30 | - /** 出场班次数 */ | |
| 31 | - private Long outbc; | |
| 32 | - /** 营运班次数 */ | |
| 33 | - private Long yybc; | |
| 34 | - | |
| 35 | - /** 错误班次数 */ | |
| 36 | - private Long errorbc; | |
| 37 | - | |
| 38 | - public Long getTtid() { | |
| 39 | - return ttid; | |
| 40 | - } | |
| 41 | - | |
| 42 | - public void setTtid(Long ttid) { | |
| 43 | - this.ttid = ttid; | |
| 44 | - } | |
| 45 | - | |
| 46 | - public String getTtname() { | |
| 47 | - return ttname; | |
| 48 | - } | |
| 49 | - | |
| 50 | - public void setTtname(String ttname) { | |
| 51 | - this.ttname = ttname; | |
| 52 | - } | |
| 53 | - | |
| 54 | - public Long getAllbc() { | |
| 55 | - return allbc; | |
| 56 | - } | |
| 57 | - | |
| 58 | - public void setAllbc(Long allbc) { | |
| 59 | - this.allbc = allbc; | |
| 60 | - } | |
| 61 | - | |
| 62 | - public Long getInbc() { | |
| 63 | - return inbc; | |
| 64 | - } | |
| 65 | - | |
| 66 | - public void setInbc(Long inbc) { | |
| 67 | - this.inbc = inbc; | |
| 68 | - } | |
| 69 | - | |
| 70 | - public Long getOutbc() { | |
| 71 | - return outbc; | |
| 72 | - } | |
| 73 | - | |
| 74 | - public void setOutbc(Long outbc) { | |
| 75 | - this.outbc = outbc; | |
| 76 | - } | |
| 77 | - | |
| 78 | - public Long getYybc() { | |
| 79 | - return yybc; | |
| 80 | - } | |
| 81 | - | |
| 82 | - public void setYybc(Long yybc) { | |
| 83 | - this.yybc = yybc; | |
| 84 | - } | |
| 85 | - | |
| 86 | - public Long getErrorbc() { | |
| 87 | - return errorbc; | |
| 88 | - } | |
| 89 | - | |
| 90 | - public void setErrorbc(Long errorbc) { | |
| 91 | - this.errorbc = errorbc; | |
| 92 | - } | |
| 93 | - } | |
| 94 | -} | |
| 1 | +package com.bsth.service.schedule.rules.ttinfo2; | |
| 2 | + | |
| 3 | +import java.util.ArrayList; | |
| 4 | +import java.util.List; | |
| 5 | + | |
| 6 | +/** | |
| 7 | + * 输出结果值。 | |
| 8 | + */ | |
| 9 | +public class Result { | |
| 10 | + private List<StatInfo> infos = new ArrayList<>(); | |
| 11 | + | |
| 12 | + public List<StatInfo> getInfos() { | |
| 13 | + return infos; | |
| 14 | + } | |
| 15 | + | |
| 16 | + public void setInfos(List<StatInfo> infos) { | |
| 17 | + this.infos = infos; | |
| 18 | + } | |
| 19 | + | |
| 20 | + public static class StatInfo { | |
| 21 | + /** 时刻表id */ | |
| 22 | + private Long ttid; | |
| 23 | + /** 时刻表名字 */ | |
| 24 | + private String ttname; | |
| 25 | + | |
| 26 | + /** 所有班次数 */ | |
| 27 | + private Long allbc; | |
| 28 | + /** 进场班次数 */ | |
| 29 | + private Long inbc; | |
| 30 | + /** 出场班次数 */ | |
| 31 | + private Long outbc; | |
| 32 | + /** 营运班次数 */ | |
| 33 | + private Long yybc; | |
| 34 | + | |
| 35 | + /** 错误班次数 */ | |
| 36 | + private Long errorbc; | |
| 37 | + | |
| 38 | + public Long getTtid() { | |
| 39 | + return ttid; | |
| 40 | + } | |
| 41 | + | |
| 42 | + public void setTtid(Long ttid) { | |
| 43 | + this.ttid = ttid; | |
| 44 | + } | |
| 45 | + | |
| 46 | + public String getTtname() { | |
| 47 | + return ttname; | |
| 48 | + } | |
| 49 | + | |
| 50 | + public void setTtname(String ttname) { | |
| 51 | + this.ttname = ttname; | |
| 52 | + } | |
| 53 | + | |
| 54 | + public Long getAllbc() { | |
| 55 | + return allbc; | |
| 56 | + } | |
| 57 | + | |
| 58 | + public void setAllbc(Long allbc) { | |
| 59 | + this.allbc = allbc; | |
| 60 | + } | |
| 61 | + | |
| 62 | + public Long getInbc() { | |
| 63 | + return inbc; | |
| 64 | + } | |
| 65 | + | |
| 66 | + public void setInbc(Long inbc) { | |
| 67 | + this.inbc = inbc; | |
| 68 | + } | |
| 69 | + | |
| 70 | + public Long getOutbc() { | |
| 71 | + return outbc; | |
| 72 | + } | |
| 73 | + | |
| 74 | + public void setOutbc(Long outbc) { | |
| 75 | + this.outbc = outbc; | |
| 76 | + } | |
| 77 | + | |
| 78 | + public Long getYybc() { | |
| 79 | + return yybc; | |
| 80 | + } | |
| 81 | + | |
| 82 | + public void setYybc(Long yybc) { | |
| 83 | + this.yybc = yybc; | |
| 84 | + } | |
| 85 | + | |
| 86 | + public Long getErrorbc() { | |
| 87 | + return errorbc; | |
| 88 | + } | |
| 89 | + | |
| 90 | + public void setErrorbc(Long errorbc) { | |
| 91 | + this.errorbc = errorbc; | |
| 92 | + } | |
| 93 | + } | |
| 94 | +} | ... | ... |
src/main/resources/datatools/ktrs/employeesConfigDataInput.ktr
| ... | ... | @@ -273,10 +273,11 @@ |
| 273 | 273 | <hop> <from>原始系统导出的Excel输入</from><to>启用被数据flag</to><enabled>Y</enabled> </hop> |
| 274 | 274 | <hop> <from>启用被数据flag</from><to>线路id查询</to><enabled>Y</enabled> </hop> |
| 275 | 275 | <hop> <from>线路id查询</from><to>过滤线路id为空记录</to><enabled>Y</enabled> </hop> |
| 276 | - <hop> <from>过滤线路id为空记录</from><to>驾驶员id查找</to><enabled>Y</enabled> </hop> | |
| 277 | 276 | <hop> <from>驾驶员id查找</from><to>过滤驾驶员id为空记录</to><enabled>Y</enabled> </hop> |
| 278 | 277 | <hop> <from>过滤驾驶员id为空记录</from><to>售票员id查找</to><enabled>Y</enabled> </hop> |
| 279 | 278 | <hop> <from>售票员id查找</from><to>插入/更新bsth_c_s_ecinfo</to><enabled>Y</enabled> </hop> |
| 279 | + <hop> <from>过滤线路id为空记录</from><to>工号数据处理</to><enabled>Y</enabled> </hop> | |
| 280 | + <hop> <from>工号数据处理</from><to>驾驶员id查找</to><enabled>Y</enabled> </hop> | |
| 280 | 281 | </order> |
| 281 | 282 | <step> |
| 282 | 283 | <name>原始系统导出的Excel输入</name> |
| ... | ... | @@ -464,12 +465,12 @@ |
| 464 | 465 | </partitioning> |
| 465 | 466 | <connection>bus_control_variable</connection> |
| 466 | 467 | <rowlimit>1</rowlimit> |
| 467 | - <sql>select id as sid from bsth_c_personnel
where job_code = ? and personnel_name = ?</sql> | |
| 468 | + <sql>select id as sid from bsth_c_personnel
where job_code like ? and personnel_name = ?</sql> | |
| 468 | 469 | <outer_join>Y</outer_join> |
| 469 | 470 | <replace_vars>N</replace_vars> |
| 470 | 471 | <parameter> |
| 471 | 472 | <field> |
| 472 | - <name>售票员工号</name> | |
| 473 | + <name>sgh_temp</name> | |
| 473 | 474 | <type>String</type> |
| 474 | 475 | </field> |
| 475 | 476 | <field> |
| ... | ... | @@ -479,8 +480,8 @@ |
| 479 | 480 | </parameter> |
| 480 | 481 | <cluster_schema/> |
| 481 | 482 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 482 | - <xloc>673</xloc> | |
| 483 | - <yloc>47</yloc> | |
| 483 | + <xloc>830</xloc> | |
| 484 | + <yloc>45</yloc> | |
| 484 | 485 | <draw>Y</draw> |
| 485 | 486 | </GUI> |
| 486 | 487 | </step> |
| ... | ... | @@ -548,8 +549,8 @@ |
| 548 | 549 | </lookup> |
| 549 | 550 | <cluster_schema/> |
| 550 | 551 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 551 | - <xloc>676</xloc> | |
| 552 | - <yloc>200</yloc> | |
| 552 | + <xloc>833</xloc> | |
| 553 | + <yloc>198</yloc> | |
| 553 | 554 | <draw>Y</draw> |
| 554 | 555 | </GUI> |
| 555 | 556 | </step> |
| ... | ... | @@ -699,8 +700,8 @@ |
| 699 | 700 | </compare> |
| 700 | 701 | <cluster_schema/> |
| 701 | 702 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 702 | - <xloc>538</xloc> | |
| 703 | - <yloc>47</yloc> | |
| 703 | + <xloc>695</xloc> | |
| 704 | + <yloc>45</yloc> | |
| 704 | 705 | <draw>Y</draw> |
| 705 | 706 | </GUI> |
| 706 | 707 | </step> |
| ... | ... | @@ -836,8 +837,8 @@ |
| 836 | 837 | </custom> |
| 837 | 838 | <cluster_schema/> |
| 838 | 839 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 839 | - <xloc>676</xloc> | |
| 840 | - <yloc>323</yloc> | |
| 840 | + <xloc>833</xloc> | |
| 841 | + <yloc>321</yloc> | |
| 841 | 842 | <draw>Y</draw> |
| 842 | 843 | </GUI> |
| 843 | 844 | </step> |
| ... | ... | @@ -855,12 +856,12 @@ |
| 855 | 856 | </partitioning> |
| 856 | 857 | <connection>bus_control_variable</connection> |
| 857 | 858 | <rowlimit>1</rowlimit> |
| 858 | - <sql>select id as jid from bsth_c_personnel
where job_code = ? and personnel_name = ?</sql> | |
| 859 | + <sql>select id as jid from bsth_c_personnel
where job_code like ? and personnel_name = ?</sql> | |
| 859 | 860 | <outer_join>Y</outer_join> |
| 860 | 861 | <replace_vars>N</replace_vars> |
| 861 | 862 | <parameter> |
| 862 | 863 | <field> |
| 863 | - <name>驾驶员工号</name> | |
| 864 | + <name>jgh_temp</name> | |
| 864 | 865 | <type>String</type> |
| 865 | 866 | </field> |
| 866 | 867 | <field> |
| ... | ... | @@ -870,8 +871,44 @@ |
| 870 | 871 | </parameter> |
| 871 | 872 | <cluster_schema/> |
| 872 | 873 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 873 | - <xloc>537</xloc> | |
| 874 | - <yloc>143</yloc> | |
| 874 | + <xloc>694</xloc> | |
| 875 | + <yloc>141</yloc> | |
| 876 | + <draw>Y</draw> | |
| 877 | + </GUI> | |
| 878 | + </step> | |
| 879 | + | |
| 880 | + <step> | |
| 881 | + <name>工号数据处理</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>// 因为数据库中的数据工号可能带suffix,如55-12345678
// 所以之后的匹配使用like,则元数据需要加上% %符号

var jgh_temp;
var sgh_temp;

if (驾驶员工号) {
 jgh_temp = '%' + 驾驶员工号 + '%';
} else {
 jgh_temp = 驾驶员工号;
}

if (售票员工号) {
 sgh_temp = '%' + 售票员工号 + '%';
} else {
 sgh_temp = 售票员工号;
}</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> | |
| 875 | 912 | <draw>Y</draw> |
| 876 | 913 | </GUI> |
| 877 | 914 | </step> | ... | ... |
src/main/resources/datatools/ktrs/test.ktr
| 1 | -<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | -<transformation> | |
| 3 | - <info> | |
| 4 | - <name>employeesConfigDataInput</name> | |
| 5 | - <description>人员配置信息导入</description> | |
| 6 | - <extended_description>人员配置信息</extended_description> | |
| 7 | - <trans_version/> | |
| 8 | - <trans_type>Normal</trans_type> | |
| 9 | - <trans_status>0</trans_status> | |
| 10 | - <directory>/</directory> | |
| 11 | - <parameters> | |
| 12 | - <parameter> | |
| 13 | - <name>erroroutputdir</name> | |
| 14 | - <default_value/> | |
| 15 | - <description>ktr step配置的错误输出目录</description> | |
| 16 | - </parameter> | |
| 17 | - <parameter> | |
| 18 | - <name>filepath</name> | |
| 19 | - <default_value/> | |
| 20 | - <description>待处理导入的excel文件</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/06/29 15:12:27.273</created_date> | |
| 81 | - <modified_user>-</modified_user> | |
| 82 | - <modified_date>2016/06/29 15:12:27.273</modified_date> | |
| 83 | - <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key> | |
| 84 | - <is_key_private>N</is_key_private> | |
| 85 | - </info> | |
| 86 | - <notepads> | |
| 87 | - <notepad> | |
| 88 | - <note>这里有些问题
在window2012的环境下,
MySql数据库查询中如果返回中文内容的字段,这个内容乱码
解决办法,就是数据库查询全部缓存,就不乱码
linux环境下没问题</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>${v_db_ip}</server> | |
| 112 | - <type>MYSQL</type> | |
| 113 | - <access>Native</access> | |
| 114 | - <database>${v_db_dname}</database> | |
| 115 | - <port>3306</port> | |
| 116 | - <username>${v_db_uname}</username> | |
| 117 | - <password>${v_db_pwd}</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_公司_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_本机</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(本机)</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>插入/更新bsth_c_s_ecinfo</from><to>错误输出</to><enabled>Y</enabled> </hop> | |
| 272 | - <hop> <from>获取变量</from><to>原始系统导出的Excel输入</to><enabled>Y</enabled> </hop> | |
| 273 | - <hop> <from>原始系统导出的Excel输入</from><to>启用被数据flag</to><enabled>Y</enabled> </hop> | |
| 274 | - <hop> <from>启用被数据flag</from><to>线路id查询</to><enabled>Y</enabled> </hop> | |
| 275 | - <hop> <from>线路id查询</from><to>过滤线路id为空记录</to><enabled>Y</enabled> </hop> | |
| 276 | - <hop> <from>过滤线路id为空记录</from><to>驾驶员id查找</to><enabled>Y</enabled> </hop> | |
| 277 | - <hop> <from>驾驶员id查找</from><to>过滤驾驶员id为空记录</to><enabled>Y</enabled> </hop> | |
| 278 | - <hop> <from>过滤驾驶员id为空记录</from><to>售票员id查找</to><enabled>Y</enabled> </hop> | |
| 279 | - <hop> <from>售票员id查找</from><to>插入/更新bsth_c_s_ecinfo</to><enabled>Y</enabled> </hop> | |
| 280 | - </order> | |
| 281 | - <step> | |
| 282 | - <name>原始系统导出的Excel输入</name> | |
| 283 | - <type>ExcelInput</type> | |
| 284 | - <description/> | |
| 285 | - <distribute>Y</distribute> | |
| 286 | - <custom_distribution/> | |
| 287 | - <copies>1</copies> | |
| 288 | - <partitioning> | |
| 289 | - <method>none</method> | |
| 290 | - <schema_name/> | |
| 291 | - </partitioning> | |
| 292 | - <header>Y</header> | |
| 293 | - <noempty>Y</noempty> | |
| 294 | - <stoponempty>N</stoponempty> | |
| 295 | - <filefield/> | |
| 296 | - <sheetfield/> | |
| 297 | - <sheetrownumfield/> | |
| 298 | - <rownumfield/> | |
| 299 | - <sheetfield/> | |
| 300 | - <filefield/> | |
| 301 | - <limit>0</limit> | |
| 302 | - <encoding/> | |
| 303 | - <add_to_result_filenames>Y</add_to_result_filenames> | |
| 304 | - <accept_filenames>Y</accept_filenames> | |
| 305 | - <accept_field>filepath_</accept_field> | |
| 306 | - <accept_stepname>获取变量</accept_stepname> | |
| 307 | - <file> | |
| 308 | - <name/> | |
| 309 | - <filemask/> | |
| 310 | - <exclude_filemask/> | |
| 311 | - <file_required>N</file_required> | |
| 312 | - <include_subfolders>N</include_subfolders> | |
| 313 | - </file> | |
| 314 | - <fields> | |
| 315 | - <field> | |
| 316 | - <name>线路</name> | |
| 317 | - <type>String</type> | |
| 318 | - <length>-1</length> | |
| 319 | - <precision>-1</precision> | |
| 320 | - <trim_type>none</trim_type> | |
| 321 | - <repeat>N</repeat> | |
| 322 | - <format/> | |
| 323 | - <currency/> | |
| 324 | - <decimal/> | |
| 325 | - <group/> | |
| 326 | - </field> | |
| 327 | - <field> | |
| 328 | - <name>搭班编码</name> | |
| 329 | - <type>String</type> | |
| 330 | - <length>-1</length> | |
| 331 | - <precision>-1</precision> | |
| 332 | - <trim_type>none</trim_type> | |
| 333 | - <repeat>N</repeat> | |
| 334 | - <format>#</format> | |
| 335 | - <currency/> | |
| 336 | - <decimal/> | |
| 337 | - <group/> | |
| 338 | - </field> | |
| 339 | - <field> | |
| 340 | - <name>驾驶员工号</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>#</format> | |
| 347 | - <currency/> | |
| 348 | - <decimal/> | |
| 349 | - <group/> | |
| 350 | - </field> | |
| 351 | - <field> | |
| 352 | - <name>驾驶员</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/> | |
| 359 | - <currency/> | |
| 360 | - <decimal/> | |
| 361 | - <group/> | |
| 362 | - </field> | |
| 363 | - <field> | |
| 364 | - <name>售票员工号</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>#</format> | |
| 371 | - <currency/> | |
| 372 | - <decimal/> | |
| 373 | - <group/> | |
| 374 | - </field> | |
| 375 | - <field> | |
| 376 | - <name>售票员</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 | - </fields> | |
| 388 | - <sheets> | |
| 389 | - <sheet> | |
| 390 | - <name>工作表1</name> | |
| 391 | - <startrow>0</startrow> | |
| 392 | - <startcol>0</startcol> | |
| 393 | - </sheet> | |
| 394 | - </sheets> | |
| 395 | - <strict_types>N</strict_types> | |
| 396 | - <error_ignored>N</error_ignored> | |
| 397 | - <error_line_skipped>N</error_line_skipped> | |
| 398 | - <bad_line_files_destination_directory/> | |
| 399 | - <bad_line_files_extension>warning</bad_line_files_extension> | |
| 400 | - <error_line_files_destination_directory/> | |
| 401 | - <error_line_files_extension>error</error_line_files_extension> | |
| 402 | - <line_number_files_destination_directory/> | |
| 403 | - <line_number_files_extension>line</line_number_files_extension> | |
| 404 | - <shortFileFieldName/> | |
| 405 | - <pathFieldName/> | |
| 406 | - <hiddenFieldName/> | |
| 407 | - <lastModificationTimeFieldName/> | |
| 408 | - <uriNameFieldName/> | |
| 409 | - <rootUriNameFieldName/> | |
| 410 | - <extensionFieldName/> | |
| 411 | - <sizeFieldName/> | |
| 412 | - <spreadsheet_type>JXL</spreadsheet_type> | |
| 413 | - <cluster_schema/> | |
| 414 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 415 | - <xloc>93</xloc> | |
| 416 | - <yloc>51</yloc> | |
| 417 | - <draw>Y</draw> | |
| 418 | - </GUI> | |
| 419 | - </step> | |
| 420 | - | |
| 421 | - <step> | |
| 422 | - <name>启用被数据flag</name> | |
| 423 | - <type>Constant</type> | |
| 424 | - <description/> | |
| 425 | - <distribute>Y</distribute> | |
| 426 | - <custom_distribution/> | |
| 427 | - <copies>1</copies> | |
| 428 | - <partitioning> | |
| 429 | - <method>none</method> | |
| 430 | - <schema_name/> | |
| 431 | - </partitioning> | |
| 432 | - <fields> | |
| 433 | - <field> | |
| 434 | - <name>isCancel</name> | |
| 435 | - <type>Integer</type> | |
| 436 | - <format/> | |
| 437 | - <currency/> | |
| 438 | - <decimal/> | |
| 439 | - <group/> | |
| 440 | - <nullif>0</nullif> | |
| 441 | - <length>-1</length> | |
| 442 | - <precision>-1</precision> | |
| 443 | - <set_empty_string>N</set_empty_string> | |
| 444 | - </field> | |
| 445 | - </fields> | |
| 446 | - <cluster_schema/> | |
| 447 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 448 | - <xloc>225</xloc> | |
| 449 | - <yloc>53</yloc> | |
| 450 | - <draw>Y</draw> | |
| 451 | - </GUI> | |
| 452 | - </step> | |
| 453 | - | |
| 454 | - <step> | |
| 455 | - <name>售票员id查找</name> | |
| 456 | - <type>DBJoin</type> | |
| 457 | - <description/> | |
| 458 | - <distribute>Y</distribute> | |
| 459 | - <custom_distribution/> | |
| 460 | - <copies>1</copies> | |
| 461 | - <partitioning> | |
| 462 | - <method>none</method> | |
| 463 | - <schema_name/> | |
| 464 | - </partitioning> | |
| 465 | - <connection>bus_control_variable</connection> | |
| 466 | - <rowlimit>1</rowlimit> | |
| 467 | - <sql>select id as sid from bsth_c_personnel
where job_code = ? and personnel_name = ?</sql> | |
| 468 | - <outer_join>Y</outer_join> | |
| 469 | - <replace_vars>N</replace_vars> | |
| 470 | - <parameter> | |
| 471 | - <field> | |
| 472 | - <name>售票员工号</name> | |
| 473 | - <type>String</type> | |
| 474 | - </field> | |
| 475 | - <field> | |
| 476 | - <name>售票员</name> | |
| 477 | - <type>String</type> | |
| 478 | - </field> | |
| 479 | - </parameter> | |
| 480 | - <cluster_schema/> | |
| 481 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 482 | - <xloc>673</xloc> | |
| 483 | - <yloc>47</yloc> | |
| 484 | - <draw>Y</draw> | |
| 485 | - </GUI> | |
| 486 | - </step> | |
| 487 | - | |
| 488 | - <step> | |
| 489 | - <name>插入/更新bsth_c_s_ecinfo</name> | |
| 490 | - <type>InsertUpdate</type> | |
| 491 | - <description/> | |
| 492 | - <distribute>Y</distribute> | |
| 493 | - <custom_distribution/> | |
| 494 | - <copies>1</copies> | |
| 495 | - <partitioning> | |
| 496 | - <method>none</method> | |
| 497 | - <schema_name/> | |
| 498 | - </partitioning> | |
| 499 | - <connection>bus_control_variable</connection> | |
| 500 | - <commit>100</commit> | |
| 501 | - <update_bypassed>N</update_bypassed> | |
| 502 | - <lookup> | |
| 503 | - <schema/> | |
| 504 | - <table>bsth_c_s_ecinfo</table> | |
| 505 | - <key> | |
| 506 | - <name>xlid</name> | |
| 507 | - <field>xl</field> | |
| 508 | - <condition>=</condition> | |
| 509 | - <name2/> | |
| 510 | - </key> | |
| 511 | - <key> | |
| 512 | - <name>搭班编码</name> | |
| 513 | - <field>dbbm</field> | |
| 514 | - <condition>=</condition> | |
| 515 | - <name2/> | |
| 516 | - </key> | |
| 517 | - <value> | |
| 518 | - <name>xl</name> | |
| 519 | - <rename>xlid</rename> | |
| 520 | - <update>Y</update> | |
| 521 | - </value> | |
| 522 | - <value> | |
| 523 | - <name>dbbm</name> | |
| 524 | - <rename>搭班编码</rename> | |
| 525 | - <update>Y</update> | |
| 526 | - </value> | |
| 527 | - <value> | |
| 528 | - <name>jsy</name> | |
| 529 | - <rename>jid</rename> | |
| 530 | - <update>Y</update> | |
| 531 | - </value> | |
| 532 | - <value> | |
| 533 | - <name>spy</name> | |
| 534 | - <rename>sid</rename> | |
| 535 | - <update>Y</update> | |
| 536 | - </value> | |
| 537 | - <value> | |
| 538 | - <name>is_cancel</name> | |
| 539 | - <rename>isCancel</rename> | |
| 540 | - <update>Y</update> | |
| 541 | - </value> | |
| 542 | - </lookup> | |
| 543 | - <cluster_schema/> | |
| 544 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 545 | - <xloc>676</xloc> | |
| 546 | - <yloc>200</yloc> | |
| 547 | - <draw>Y</draw> | |
| 548 | - </GUI> | |
| 549 | - </step> | |
| 550 | - | |
| 551 | - <step> | |
| 552 | - <name>线路id查询</name> | |
| 553 | - <type>DBLookup</type> | |
| 554 | - <description/> | |
| 555 | - <distribute>Y</distribute> | |
| 556 | - <custom_distribution/> | |
| 557 | - <copies>1</copies> | |
| 558 | - <partitioning> | |
| 559 | - <method>none</method> | |
| 560 | - <schema_name/> | |
| 561 | - </partitioning> | |
| 562 | - <connection>bus_control_variable</connection> | |
| 563 | - <cache>Y</cache> | |
| 564 | - <cache_load_all>Y</cache_load_all> | |
| 565 | - <cache_size>0</cache_size> | |
| 566 | - <lookup> | |
| 567 | - <schema/> | |
| 568 | - <table>bsth_c_line</table> | |
| 569 | - <orderby/> | |
| 570 | - <fail_on_multiple>N</fail_on_multiple> | |
| 571 | - <eat_row_on_failure>N</eat_row_on_failure> | |
| 572 | - <key> | |
| 573 | - <name>线路</name> | |
| 574 | - <field>name</field> | |
| 575 | - <condition>=</condition> | |
| 576 | - <name2/> | |
| 577 | - </key> | |
| 578 | - <key> | |
| 579 | - <name>isCancel</name> | |
| 580 | - <field>destroy</field> | |
| 581 | - <condition>=</condition> | |
| 582 | - <name2/> | |
| 583 | - </key> | |
| 584 | - <value> | |
| 585 | - <name>id</name> | |
| 586 | - <rename>xlid</rename> | |
| 587 | - <default/> | |
| 588 | - <type>Integer</type> | |
| 589 | - </value> | |
| 590 | - </lookup> | |
| 591 | - <cluster_schema/> | |
| 592 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 593 | - <xloc>397</xloc> | |
| 594 | - <yloc>144</yloc> | |
| 595 | - <draw>Y</draw> | |
| 596 | - </GUI> | |
| 597 | - </step> | |
| 598 | - | |
| 599 | - <step> | |
| 600 | - <name>获取变量</name> | |
| 601 | - <type>GetVariable</type> | |
| 602 | - <description/> | |
| 603 | - <distribute>Y</distribute> | |
| 604 | - <custom_distribution/> | |
| 605 | - <copies>1</copies> | |
| 606 | - <partitioning> | |
| 607 | - <method>none</method> | |
| 608 | - <schema_name/> | |
| 609 | - </partitioning> | |
| 610 | - <fields> | |
| 611 | - <field> | |
| 612 | - <name>filepath_</name> | |
| 613 | - <variable>${filepath}</variable> | |
| 614 | - <type>String</type> | |
| 615 | - <format/> | |
| 616 | - <currency/> | |
| 617 | - <decimal/> | |
| 618 | - <group/> | |
| 619 | - <length>-1</length> | |
| 620 | - <precision>-1</precision> | |
| 621 | - <trim_type>none</trim_type> | |
| 622 | - </field> | |
| 623 | - <field> | |
| 624 | - <name>erroroutputdir_</name> | |
| 625 | - <variable>${erroroutputdir}</variable> | |
| 626 | - <type>String</type> | |
| 627 | - <format/> | |
| 628 | - <currency/> | |
| 629 | - <decimal/> | |
| 630 | - <group/> | |
| 631 | - <length>-1</length> | |
| 632 | - <precision>-1</precision> | |
| 633 | - <trim_type>none</trim_type> | |
| 634 | - </field> | |
| 635 | - </fields> | |
| 636 | - <cluster_schema/> | |
| 637 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 638 | - <xloc>94</xloc> | |
| 639 | - <yloc>178</yloc> | |
| 640 | - <draw>Y</draw> | |
| 641 | - </GUI> | |
| 642 | - </step> | |
| 643 | - | |
| 644 | - <step> | |
| 645 | - <name>过滤线路id为空记录</name> | |
| 646 | - <type>FilterRows</type> | |
| 647 | - <description/> | |
| 648 | - <distribute>Y</distribute> | |
| 649 | - <custom_distribution/> | |
| 650 | - <copies>1</copies> | |
| 651 | - <partitioning> | |
| 652 | - <method>none</method> | |
| 653 | - <schema_name/> | |
| 654 | - </partitioning> | |
| 655 | -<send_true_to/> | |
| 656 | -<send_false_to/> | |
| 657 | - <compare> | |
| 658 | -<condition> | |
| 659 | - <negated>N</negated> | |
| 660 | - <leftvalue>xlid</leftvalue> | |
| 661 | - <function>IS NOT NULL</function> | |
| 662 | - <rightvalue/> | |
| 663 | - </condition> | |
| 664 | - </compare> | |
| 665 | - <cluster_schema/> | |
| 666 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 667 | - <xloc>395</xloc> | |
| 668 | - <yloc>49</yloc> | |
| 669 | - <draw>Y</draw> | |
| 670 | - </GUI> | |
| 671 | - </step> | |
| 672 | - | |
| 673 | - <step> | |
| 674 | - <name>过滤驾驶员id为空记录</name> | |
| 675 | - <type>FilterRows</type> | |
| 676 | - <description/> | |
| 677 | - <distribute>Y</distribute> | |
| 678 | - <custom_distribution/> | |
| 679 | - <copies>1</copies> | |
| 680 | - <partitioning> | |
| 681 | - <method>none</method> | |
| 682 | - <schema_name/> | |
| 683 | - </partitioning> | |
| 684 | -<send_true_to>售票员id查找</send_true_to> | |
| 685 | -<send_false_to/> | |
| 686 | - <compare> | |
| 687 | -<condition> | |
| 688 | - <negated>N</negated> | |
| 689 | - <leftvalue>jid</leftvalue> | |
| 690 | - <function>IS NOT NULL</function> | |
| 691 | - <rightvalue/> | |
| 692 | - </condition> | |
| 693 | - </compare> | |
| 694 | - <cluster_schema/> | |
| 695 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 696 | - <xloc>538</xloc> | |
| 697 | - <yloc>47</yloc> | |
| 698 | - <draw>Y</draw> | |
| 699 | - </GUI> | |
| 700 | - </step> | |
| 701 | - | |
| 702 | - <step> | |
| 703 | - <name>错误输出</name> | |
| 704 | - <type>ExcelOutput</type> | |
| 705 | - <description/> | |
| 706 | - <distribute>Y</distribute> | |
| 707 | - <custom_distribution/> | |
| 708 | - <copies>1</copies> | |
| 709 | - <partitioning> | |
| 710 | - <method>none</method> | |
| 711 | - <schema_name/> | |
| 712 | - </partitioning> | |
| 713 | - <header>Y</header> | |
| 714 | - <footer>N</footer> | |
| 715 | - <encoding>UTF-8</encoding> | |
| 716 | - <append>N</append> | |
| 717 | - <add_to_result_filenames>Y</add_to_result_filenames> | |
| 718 | - <file> | |
| 719 | - <name>${erroroutputdir}/人员配置_错误</name> | |
| 720 | - <extention>xls</extention> | |
| 721 | - <do_not_open_newfile_init>N</do_not_open_newfile_init> | |
| 722 | - <create_parent_folder>N</create_parent_folder> | |
| 723 | - <split>N</split> | |
| 724 | - <add_date>N</add_date> | |
| 725 | - <add_time>N</add_time> | |
| 726 | - <SpecifyFormat>N</SpecifyFormat> | |
| 727 | - <date_time_format/> | |
| 728 | - <sheetname>Sheet1</sheetname> | |
| 729 | - <autosizecolums>N</autosizecolums> | |
| 730 | - <nullisblank>N</nullisblank> | |
| 731 | - <protect_sheet>N</protect_sheet> | |
| 732 | - <password>Encrypted </password> | |
| 733 | - <splitevery>0</splitevery> | |
| 734 | - <usetempfiles>N</usetempfiles> | |
| 735 | - <tempdirectory/> | |
| 736 | - </file> | |
| 737 | - <template> | |
| 738 | - <enabled>N</enabled> | |
| 739 | - <append>N</append> | |
| 740 | - <filename>template.xls</filename> | |
| 741 | - </template> | |
| 742 | - <fields> | |
| 743 | - <field> | |
| 744 | - <name>线路</name> | |
| 745 | - <type>String</type> | |
| 746 | - <format/> | |
| 747 | - </field> | |
| 748 | - <field> | |
| 749 | - <name>搭班编码</name> | |
| 750 | - <type>String</type> | |
| 751 | - <format/> | |
| 752 | - </field> | |
| 753 | - <field> | |
| 754 | - <name>驾驶员工号</name> | |
| 755 | - <type>String</type> | |
| 756 | - <format/> | |
| 757 | - </field> | |
| 758 | - <field> | |
| 759 | - <name>驾驶员</name> | |
| 760 | - <type>String</type> | |
| 761 | - <format/> | |
| 762 | - </field> | |
| 763 | - <field> | |
| 764 | - <name>售票员工号</name> | |
| 765 | - <type>String</type> | |
| 766 | - <format/> | |
| 767 | - </field> | |
| 768 | - <field> | |
| 769 | - <name>售票员</name> | |
| 770 | - <type>String</type> | |
| 771 | - <format/> | |
| 772 | - </field> | |
| 773 | - <field> | |
| 774 | - <name>isCancel</name> | |
| 775 | - <type>Integer</type> | |
| 776 | - <format/> | |
| 777 | - </field> | |
| 778 | - <field> | |
| 779 | - <name>xlid</name> | |
| 780 | - <type>Integer</type> | |
| 781 | - <format/> | |
| 782 | - </field> | |
| 783 | - <field> | |
| 784 | - <name>jid</name> | |
| 785 | - <type>Integer</type> | |
| 786 | - <format/> | |
| 787 | - </field> | |
| 788 | - <field> | |
| 789 | - <name>sid</name> | |
| 790 | - <type>Integer</type> | |
| 791 | - <format/> | |
| 792 | - </field> | |
| 793 | - <field> | |
| 794 | - <name>error_count</name> | |
| 795 | - <type>Integer</type> | |
| 796 | - <format/> | |
| 797 | - </field> | |
| 798 | - <field> | |
| 799 | - <name>error_desc</name> | |
| 800 | - <type>String</type> | |
| 801 | - <format/> | |
| 802 | - </field> | |
| 803 | - <field> | |
| 804 | - <name>error_column1</name> | |
| 805 | - <type>String</type> | |
| 806 | - <format/> | |
| 807 | - </field> | |
| 808 | - <field> | |
| 809 | - <name>error_column2</name> | |
| 810 | - <type>String</type> | |
| 811 | - <format/> | |
| 812 | - </field> | |
| 813 | - </fields> | |
| 814 | - <custom> | |
| 815 | - <header_font_name>arial</header_font_name> | |
| 816 | - <header_font_size>10</header_font_size> | |
| 817 | - <header_font_bold>N</header_font_bold> | |
| 818 | - <header_font_italic>N</header_font_italic> | |
| 819 | - <header_font_underline>no</header_font_underline> | |
| 820 | - <header_font_orientation>horizontal</header_font_orientation> | |
| 821 | - <header_font_color>black</header_font_color> | |
| 822 | - <header_background_color>none</header_background_color> | |
| 823 | - <header_row_height>255</header_row_height> | |
| 824 | - <header_alignment>left</header_alignment> | |
| 825 | - <header_image/> | |
| 826 | - <row_font_name>arial</row_font_name> | |
| 827 | - <row_font_size>10</row_font_size> | |
| 828 | - <row_font_color>black</row_font_color> | |
| 829 | - <row_background_color>none</row_background_color> | |
| 830 | - </custom> | |
| 831 | - <cluster_schema/> | |
| 832 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 833 | - <xloc>676</xloc> | |
| 834 | - <yloc>323</yloc> | |
| 835 | - <draw>Y</draw> | |
| 836 | - </GUI> | |
| 837 | - </step> | |
| 838 | - | |
| 839 | - <step> | |
| 840 | - <name>驾驶员id查找</name> | |
| 841 | - <type>DBJoin</type> | |
| 842 | - <description/> | |
| 843 | - <distribute>Y</distribute> | |
| 844 | - <custom_distribution/> | |
| 845 | - <copies>1</copies> | |
| 846 | - <partitioning> | |
| 847 | - <method>none</method> | |
| 848 | - <schema_name/> | |
| 849 | - </partitioning> | |
| 850 | - <connection>bus_control_variable</connection> | |
| 851 | - <rowlimit>1</rowlimit> | |
| 852 | - <sql>select id as jid from bsth_c_personnel
where job_code = ? and personnel_name = ?</sql> | |
| 853 | - <outer_join>Y</outer_join> | |
| 854 | - <replace_vars>N</replace_vars> | |
| 855 | - <parameter> | |
| 856 | - <field> | |
| 857 | - <name>驾驶员工号</name> | |
| 858 | - <type>String</type> | |
| 859 | - </field> | |
| 860 | - <field> | |
| 861 | - <name>驾驶员</name> | |
| 862 | - <type>String</type> | |
| 863 | - </field> | |
| 864 | - </parameter> | |
| 865 | - <cluster_schema/> | |
| 866 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 867 | - <xloc>537</xloc> | |
| 868 | - <yloc>143</yloc> | |
| 869 | - <draw>Y</draw> | |
| 870 | - </GUI> | |
| 871 | - </step> | |
| 872 | - | |
| 873 | - <step_error_handling> | |
| 874 | - <error> | |
| 875 | - <source_step>插入/更新bsth_c_s_ecinfo</source_step> | |
| 876 | - <target_step>错误输出</target_step> | |
| 877 | - <is_enabled>Y</is_enabled> | |
| 878 | - <nr_valuename>error_count</nr_valuename> | |
| 879 | - <descriptions_valuename>error_desc</descriptions_valuename> | |
| 880 | - <fields_valuename>error_column1</fields_valuename> | |
| 881 | - <codes_valuename>error_column2</codes_valuename> | |
| 882 | - <max_errors/> | |
| 883 | - <max_pct_errors/> | |
| 884 | - <min_pct_rows/> | |
| 885 | - </error> | |
| 886 | - </step_error_handling> | |
| 887 | - <slave-step-copy-partition-distribution> | |
| 888 | -</slave-step-copy-partition-distribution> | |
| 889 | - <slave_transformation>N</slave_transformation> | |
| 890 | - | |
| 891 | -</transformation> | |
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<transformation> | |
| 3 | + <info> | |
| 4 | + <name>employeesConfigDataInput</name> | |
| 5 | + <description>人员配置信息导入</description> | |
| 6 | + <extended_description>人员配置信息</extended_description> | |
| 7 | + <trans_version/> | |
| 8 | + <trans_type>Normal</trans_type> | |
| 9 | + <trans_status>0</trans_status> | |
| 10 | + <directory>/</directory> | |
| 11 | + <parameters> | |
| 12 | + <parameter> | |
| 13 | + <name>erroroutputdir</name> | |
| 14 | + <default_value/> | |
| 15 | + <description>ktr step配置的错误输出目录</description> | |
| 16 | + </parameter> | |
| 17 | + <parameter> | |
| 18 | + <name>filepath</name> | |
| 19 | + <default_value/> | |
| 20 | + <description>待处理导入的excel文件</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/06/29 15:12:27.273</created_date> | |
| 81 | + <modified_user>-</modified_user> | |
| 82 | + <modified_date>2016/06/29 15:12:27.273</modified_date> | |
| 83 | + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key> | |
| 84 | + <is_key_private>N</is_key_private> | |
| 85 | + </info> | |
| 86 | + <notepads> | |
| 87 | + <notepad> | |
| 88 | + <note>这里有些问题
在window2012的环境下,
MySql数据库查询中如果返回中文内容的字段,这个内容乱码
解决办法,就是数据库查询全部缓存,就不乱码
linux环境下没问题</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>${v_db_ip}</server> | |
| 112 | + <type>MYSQL</type> | |
| 113 | + <access>Native</access> | |
| 114 | + <database>${v_db_dname}</database> | |
| 115 | + <port>3306</port> | |
| 116 | + <username>${v_db_uname}</username> | |
| 117 | + <password>${v_db_pwd}</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_公司_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_本机</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(本机)</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>插入/更新bsth_c_s_ecinfo</from><to>错误输出</to><enabled>Y</enabled> </hop> | |
| 272 | + <hop> <from>获取变量</from><to>原始系统导出的Excel输入</to><enabled>Y</enabled> </hop> | |
| 273 | + <hop> <from>原始系统导出的Excel输入</from><to>启用被数据flag</to><enabled>Y</enabled> </hop> | |
| 274 | + <hop> <from>启用被数据flag</from><to>线路id查询</to><enabled>Y</enabled> </hop> | |
| 275 | + <hop> <from>线路id查询</from><to>过滤线路id为空记录</to><enabled>Y</enabled> </hop> | |
| 276 | + <hop> <from>过滤线路id为空记录</from><to>驾驶员id查找</to><enabled>Y</enabled> </hop> | |
| 277 | + <hop> <from>驾驶员id查找</from><to>过滤驾驶员id为空记录</to><enabled>Y</enabled> </hop> | |
| 278 | + <hop> <from>过滤驾驶员id为空记录</from><to>售票员id查找</to><enabled>Y</enabled> </hop> | |
| 279 | + <hop> <from>售票员id查找</from><to>插入/更新bsth_c_s_ecinfo</to><enabled>Y</enabled> </hop> | |
| 280 | + </order> | |
| 281 | + <step> | |
| 282 | + <name>原始系统导出的Excel输入</name> | |
| 283 | + <type>ExcelInput</type> | |
| 284 | + <description/> | |
| 285 | + <distribute>Y</distribute> | |
| 286 | + <custom_distribution/> | |
| 287 | + <copies>1</copies> | |
| 288 | + <partitioning> | |
| 289 | + <method>none</method> | |
| 290 | + <schema_name/> | |
| 291 | + </partitioning> | |
| 292 | + <header>Y</header> | |
| 293 | + <noempty>Y</noempty> | |
| 294 | + <stoponempty>N</stoponempty> | |
| 295 | + <filefield/> | |
| 296 | + <sheetfield/> | |
| 297 | + <sheetrownumfield/> | |
| 298 | + <rownumfield/> | |
| 299 | + <sheetfield/> | |
| 300 | + <filefield/> | |
| 301 | + <limit>0</limit> | |
| 302 | + <encoding/> | |
| 303 | + <add_to_result_filenames>Y</add_to_result_filenames> | |
| 304 | + <accept_filenames>Y</accept_filenames> | |
| 305 | + <accept_field>filepath_</accept_field> | |
| 306 | + <accept_stepname>获取变量</accept_stepname> | |
| 307 | + <file> | |
| 308 | + <name/> | |
| 309 | + <filemask/> | |
| 310 | + <exclude_filemask/> | |
| 311 | + <file_required>N</file_required> | |
| 312 | + <include_subfolders>N</include_subfolders> | |
| 313 | + </file> | |
| 314 | + <fields> | |
| 315 | + <field> | |
| 316 | + <name>线路</name> | |
| 317 | + <type>String</type> | |
| 318 | + <length>-1</length> | |
| 319 | + <precision>-1</precision> | |
| 320 | + <trim_type>none</trim_type> | |
| 321 | + <repeat>N</repeat> | |
| 322 | + <format/> | |
| 323 | + <currency/> | |
| 324 | + <decimal/> | |
| 325 | + <group/> | |
| 326 | + </field> | |
| 327 | + <field> | |
| 328 | + <name>搭班编码</name> | |
| 329 | + <type>String</type> | |
| 330 | + <length>-1</length> | |
| 331 | + <precision>-1</precision> | |
| 332 | + <trim_type>none</trim_type> | |
| 333 | + <repeat>N</repeat> | |
| 334 | + <format>#</format> | |
| 335 | + <currency/> | |
| 336 | + <decimal/> | |
| 337 | + <group/> | |
| 338 | + </field> | |
| 339 | + <field> | |
| 340 | + <name>驾驶员工号</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>#</format> | |
| 347 | + <currency/> | |
| 348 | + <decimal/> | |
| 349 | + <group/> | |
| 350 | + </field> | |
| 351 | + <field> | |
| 352 | + <name>驾驶员</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/> | |
| 359 | + <currency/> | |
| 360 | + <decimal/> | |
| 361 | + <group/> | |
| 362 | + </field> | |
| 363 | + <field> | |
| 364 | + <name>售票员工号</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>#</format> | |
| 371 | + <currency/> | |
| 372 | + <decimal/> | |
| 373 | + <group/> | |
| 374 | + </field> | |
| 375 | + <field> | |
| 376 | + <name>售票员</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 | + </fields> | |
| 388 | + <sheets> | |
| 389 | + <sheet> | |
| 390 | + <name>工作表1</name> | |
| 391 | + <startrow>0</startrow> | |
| 392 | + <startcol>0</startcol> | |
| 393 | + </sheet> | |
| 394 | + </sheets> | |
| 395 | + <strict_types>N</strict_types> | |
| 396 | + <error_ignored>N</error_ignored> | |
| 397 | + <error_line_skipped>N</error_line_skipped> | |
| 398 | + <bad_line_files_destination_directory/> | |
| 399 | + <bad_line_files_extension>warning</bad_line_files_extension> | |
| 400 | + <error_line_files_destination_directory/> | |
| 401 | + <error_line_files_extension>error</error_line_files_extension> | |
| 402 | + <line_number_files_destination_directory/> | |
| 403 | + <line_number_files_extension>line</line_number_files_extension> | |
| 404 | + <shortFileFieldName/> | |
| 405 | + <pathFieldName/> | |
| 406 | + <hiddenFieldName/> | |
| 407 | + <lastModificationTimeFieldName/> | |
| 408 | + <uriNameFieldName/> | |
| 409 | + <rootUriNameFieldName/> | |
| 410 | + <extensionFieldName/> | |
| 411 | + <sizeFieldName/> | |
| 412 | + <spreadsheet_type>JXL</spreadsheet_type> | |
| 413 | + <cluster_schema/> | |
| 414 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 415 | + <xloc>93</xloc> | |
| 416 | + <yloc>51</yloc> | |
| 417 | + <draw>Y</draw> | |
| 418 | + </GUI> | |
| 419 | + </step> | |
| 420 | + | |
| 421 | + <step> | |
| 422 | + <name>启用被数据flag</name> | |
| 423 | + <type>Constant</type> | |
| 424 | + <description/> | |
| 425 | + <distribute>Y</distribute> | |
| 426 | + <custom_distribution/> | |
| 427 | + <copies>1</copies> | |
| 428 | + <partitioning> | |
| 429 | + <method>none</method> | |
| 430 | + <schema_name/> | |
| 431 | + </partitioning> | |
| 432 | + <fields> | |
| 433 | + <field> | |
| 434 | + <name>isCancel</name> | |
| 435 | + <type>Integer</type> | |
| 436 | + <format/> | |
| 437 | + <currency/> | |
| 438 | + <decimal/> | |
| 439 | + <group/> | |
| 440 | + <nullif>0</nullif> | |
| 441 | + <length>-1</length> | |
| 442 | + <precision>-1</precision> | |
| 443 | + <set_empty_string>N</set_empty_string> | |
| 444 | + </field> | |
| 445 | + </fields> | |
| 446 | + <cluster_schema/> | |
| 447 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 448 | + <xloc>225</xloc> | |
| 449 | + <yloc>53</yloc> | |
| 450 | + <draw>Y</draw> | |
| 451 | + </GUI> | |
| 452 | + </step> | |
| 453 | + | |
| 454 | + <step> | |
| 455 | + <name>售票员id查找</name> | |
| 456 | + <type>DBJoin</type> | |
| 457 | + <description/> | |
| 458 | + <distribute>Y</distribute> | |
| 459 | + <custom_distribution/> | |
| 460 | + <copies>1</copies> | |
| 461 | + <partitioning> | |
| 462 | + <method>none</method> | |
| 463 | + <schema_name/> | |
| 464 | + </partitioning> | |
| 465 | + <connection>bus_control_variable</connection> | |
| 466 | + <rowlimit>1</rowlimit> | |
| 467 | + <sql>select id as sid from bsth_c_personnel
where job_code = ? and personnel_name = ?</sql> | |
| 468 | + <outer_join>Y</outer_join> | |
| 469 | + <replace_vars>N</replace_vars> | |
| 470 | + <parameter> | |
| 471 | + <field> | |
| 472 | + <name>售票员工号</name> | |
| 473 | + <type>String</type> | |
| 474 | + </field> | |
| 475 | + <field> | |
| 476 | + <name>售票员</name> | |
| 477 | + <type>String</type> | |
| 478 | + </field> | |
| 479 | + </parameter> | |
| 480 | + <cluster_schema/> | |
| 481 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 482 | + <xloc>673</xloc> | |
| 483 | + <yloc>47</yloc> | |
| 484 | + <draw>Y</draw> | |
| 485 | + </GUI> | |
| 486 | + </step> | |
| 487 | + | |
| 488 | + <step> | |
| 489 | + <name>插入/更新bsth_c_s_ecinfo</name> | |
| 490 | + <type>InsertUpdate</type> | |
| 491 | + <description/> | |
| 492 | + <distribute>Y</distribute> | |
| 493 | + <custom_distribution/> | |
| 494 | + <copies>1</copies> | |
| 495 | + <partitioning> | |
| 496 | + <method>none</method> | |
| 497 | + <schema_name/> | |
| 498 | + </partitioning> | |
| 499 | + <connection>bus_control_variable</connection> | |
| 500 | + <commit>100</commit> | |
| 501 | + <update_bypassed>N</update_bypassed> | |
| 502 | + <lookup> | |
| 503 | + <schema/> | |
| 504 | + <table>bsth_c_s_ecinfo</table> | |
| 505 | + <key> | |
| 506 | + <name>xlid</name> | |
| 507 | + <field>xl</field> | |
| 508 | + <condition>=</condition> | |
| 509 | + <name2/> | |
| 510 | + </key> | |
| 511 | + <key> | |
| 512 | + <name>搭班编码</name> | |
| 513 | + <field>dbbm</field> | |
| 514 | + <condition>=</condition> | |
| 515 | + <name2/> | |
| 516 | + </key> | |
| 517 | + <value> | |
| 518 | + <name>xl</name> | |
| 519 | + <rename>xlid</rename> | |
| 520 | + <update>Y</update> | |
| 521 | + </value> | |
| 522 | + <value> | |
| 523 | + <name>dbbm</name> | |
| 524 | + <rename>搭班编码</rename> | |
| 525 | + <update>Y</update> | |
| 526 | + </value> | |
| 527 | + <value> | |
| 528 | + <name>jsy</name> | |
| 529 | + <rename>jid</rename> | |
| 530 | + <update>Y</update> | |
| 531 | + </value> | |
| 532 | + <value> | |
| 533 | + <name>spy</name> | |
| 534 | + <rename>sid</rename> | |
| 535 | + <update>Y</update> | |
| 536 | + </value> | |
| 537 | + <value> | |
| 538 | + <name>is_cancel</name> | |
| 539 | + <rename>isCancel</rename> | |
| 540 | + <update>Y</update> | |
| 541 | + </value> | |
| 542 | + </lookup> | |
| 543 | + <cluster_schema/> | |
| 544 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 545 | + <xloc>676</xloc> | |
| 546 | + <yloc>200</yloc> | |
| 547 | + <draw>Y</draw> | |
| 548 | + </GUI> | |
| 549 | + </step> | |
| 550 | + | |
| 551 | + <step> | |
| 552 | + <name>线路id查询</name> | |
| 553 | + <type>DBLookup</type> | |
| 554 | + <description/> | |
| 555 | + <distribute>Y</distribute> | |
| 556 | + <custom_distribution/> | |
| 557 | + <copies>1</copies> | |
| 558 | + <partitioning> | |
| 559 | + <method>none</method> | |
| 560 | + <schema_name/> | |
| 561 | + </partitioning> | |
| 562 | + <connection>bus_control_variable</connection> | |
| 563 | + <cache>Y</cache> | |
| 564 | + <cache_load_all>Y</cache_load_all> | |
| 565 | + <cache_size>0</cache_size> | |
| 566 | + <lookup> | |
| 567 | + <schema/> | |
| 568 | + <table>bsth_c_line</table> | |
| 569 | + <orderby/> | |
| 570 | + <fail_on_multiple>N</fail_on_multiple> | |
| 571 | + <eat_row_on_failure>N</eat_row_on_failure> | |
| 572 | + <key> | |
| 573 | + <name>线路</name> | |
| 574 | + <field>name</field> | |
| 575 | + <condition>=</condition> | |
| 576 | + <name2/> | |
| 577 | + </key> | |
| 578 | + <key> | |
| 579 | + <name>isCancel</name> | |
| 580 | + <field>destroy</field> | |
| 581 | + <condition>=</condition> | |
| 582 | + <name2/> | |
| 583 | + </key> | |
| 584 | + <value> | |
| 585 | + <name>id</name> | |
| 586 | + <rename>xlid</rename> | |
| 587 | + <default/> | |
| 588 | + <type>Integer</type> | |
| 589 | + </value> | |
| 590 | + </lookup> | |
| 591 | + <cluster_schema/> | |
| 592 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 593 | + <xloc>397</xloc> | |
| 594 | + <yloc>144</yloc> | |
| 595 | + <draw>Y</draw> | |
| 596 | + </GUI> | |
| 597 | + </step> | |
| 598 | + | |
| 599 | + <step> | |
| 600 | + <name>获取变量</name> | |
| 601 | + <type>GetVariable</type> | |
| 602 | + <description/> | |
| 603 | + <distribute>Y</distribute> | |
| 604 | + <custom_distribution/> | |
| 605 | + <copies>1</copies> | |
| 606 | + <partitioning> | |
| 607 | + <method>none</method> | |
| 608 | + <schema_name/> | |
| 609 | + </partitioning> | |
| 610 | + <fields> | |
| 611 | + <field> | |
| 612 | + <name>filepath_</name> | |
| 613 | + <variable>${filepath}</variable> | |
| 614 | + <type>String</type> | |
| 615 | + <format/> | |
| 616 | + <currency/> | |
| 617 | + <decimal/> | |
| 618 | + <group/> | |
| 619 | + <length>-1</length> | |
| 620 | + <precision>-1</precision> | |
| 621 | + <trim_type>none</trim_type> | |
| 622 | + </field> | |
| 623 | + <field> | |
| 624 | + <name>erroroutputdir_</name> | |
| 625 | + <variable>${erroroutputdir}</variable> | |
| 626 | + <type>String</type> | |
| 627 | + <format/> | |
| 628 | + <currency/> | |
| 629 | + <decimal/> | |
| 630 | + <group/> | |
| 631 | + <length>-1</length> | |
| 632 | + <precision>-1</precision> | |
| 633 | + <trim_type>none</trim_type> | |
| 634 | + </field> | |
| 635 | + </fields> | |
| 636 | + <cluster_schema/> | |
| 637 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 638 | + <xloc>94</xloc> | |
| 639 | + <yloc>178</yloc> | |
| 640 | + <draw>Y</draw> | |
| 641 | + </GUI> | |
| 642 | + </step> | |
| 643 | + | |
| 644 | + <step> | |
| 645 | + <name>过滤线路id为空记录</name> | |
| 646 | + <type>FilterRows</type> | |
| 647 | + <description/> | |
| 648 | + <distribute>Y</distribute> | |
| 649 | + <custom_distribution/> | |
| 650 | + <copies>1</copies> | |
| 651 | + <partitioning> | |
| 652 | + <method>none</method> | |
| 653 | + <schema_name/> | |
| 654 | + </partitioning> | |
| 655 | +<send_true_to/> | |
| 656 | +<send_false_to/> | |
| 657 | + <compare> | |
| 658 | +<condition> | |
| 659 | + <negated>N</negated> | |
| 660 | + <leftvalue>xlid</leftvalue> | |
| 661 | + <function>IS NOT NULL</function> | |
| 662 | + <rightvalue/> | |
| 663 | + </condition> | |
| 664 | + </compare> | |
| 665 | + <cluster_schema/> | |
| 666 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 667 | + <xloc>395</xloc> | |
| 668 | + <yloc>49</yloc> | |
| 669 | + <draw>Y</draw> | |
| 670 | + </GUI> | |
| 671 | + </step> | |
| 672 | + | |
| 673 | + <step> | |
| 674 | + <name>过滤驾驶员id为空记录</name> | |
| 675 | + <type>FilterRows</type> | |
| 676 | + <description/> | |
| 677 | + <distribute>Y</distribute> | |
| 678 | + <custom_distribution/> | |
| 679 | + <copies>1</copies> | |
| 680 | + <partitioning> | |
| 681 | + <method>none</method> | |
| 682 | + <schema_name/> | |
| 683 | + </partitioning> | |
| 684 | +<send_true_to>售票员id查找</send_true_to> | |
| 685 | +<send_false_to/> | |
| 686 | + <compare> | |
| 687 | +<condition> | |
| 688 | + <negated>N</negated> | |
| 689 | + <leftvalue>jid</leftvalue> | |
| 690 | + <function>IS NOT NULL</function> | |
| 691 | + <rightvalue/> | |
| 692 | + </condition> | |
| 693 | + </compare> | |
| 694 | + <cluster_schema/> | |
| 695 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 696 | + <xloc>538</xloc> | |
| 697 | + <yloc>47</yloc> | |
| 698 | + <draw>Y</draw> | |
| 699 | + </GUI> | |
| 700 | + </step> | |
| 701 | + | |
| 702 | + <step> | |
| 703 | + <name>错误输出</name> | |
| 704 | + <type>ExcelOutput</type> | |
| 705 | + <description/> | |
| 706 | + <distribute>Y</distribute> | |
| 707 | + <custom_distribution/> | |
| 708 | + <copies>1</copies> | |
| 709 | + <partitioning> | |
| 710 | + <method>none</method> | |
| 711 | + <schema_name/> | |
| 712 | + </partitioning> | |
| 713 | + <header>Y</header> | |
| 714 | + <footer>N</footer> | |
| 715 | + <encoding>UTF-8</encoding> | |
| 716 | + <append>N</append> | |
| 717 | + <add_to_result_filenames>Y</add_to_result_filenames> | |
| 718 | + <file> | |
| 719 | + <name>${erroroutputdir}/人员配置_错误</name> | |
| 720 | + <extention>xls</extention> | |
| 721 | + <do_not_open_newfile_init>N</do_not_open_newfile_init> | |
| 722 | + <create_parent_folder>N</create_parent_folder> | |
| 723 | + <split>N</split> | |
| 724 | + <add_date>N</add_date> | |
| 725 | + <add_time>N</add_time> | |
| 726 | + <SpecifyFormat>N</SpecifyFormat> | |
| 727 | + <date_time_format/> | |
| 728 | + <sheetname>Sheet1</sheetname> | |
| 729 | + <autosizecolums>N</autosizecolums> | |
| 730 | + <nullisblank>N</nullisblank> | |
| 731 | + <protect_sheet>N</protect_sheet> | |
| 732 | + <password>Encrypted </password> | |
| 733 | + <splitevery>0</splitevery> | |
| 734 | + <usetempfiles>N</usetempfiles> | |
| 735 | + <tempdirectory/> | |
| 736 | + </file> | |
| 737 | + <template> | |
| 738 | + <enabled>N</enabled> | |
| 739 | + <append>N</append> | |
| 740 | + <filename>template.xls</filename> | |
| 741 | + </template> | |
| 742 | + <fields> | |
| 743 | + <field> | |
| 744 | + <name>线路</name> | |
| 745 | + <type>String</type> | |
| 746 | + <format/> | |
| 747 | + </field> | |
| 748 | + <field> | |
| 749 | + <name>搭班编码</name> | |
| 750 | + <type>String</type> | |
| 751 | + <format/> | |
| 752 | + </field> | |
| 753 | + <field> | |
| 754 | + <name>驾驶员工号</name> | |
| 755 | + <type>String</type> | |
| 756 | + <format/> | |
| 757 | + </field> | |
| 758 | + <field> | |
| 759 | + <name>驾驶员</name> | |
| 760 | + <type>String</type> | |
| 761 | + <format/> | |
| 762 | + </field> | |
| 763 | + <field> | |
| 764 | + <name>售票员工号</name> | |
| 765 | + <type>String</type> | |
| 766 | + <format/> | |
| 767 | + </field> | |
| 768 | + <field> | |
| 769 | + <name>售票员</name> | |
| 770 | + <type>String</type> | |
| 771 | + <format/> | |
| 772 | + </field> | |
| 773 | + <field> | |
| 774 | + <name>isCancel</name> | |
| 775 | + <type>Integer</type> | |
| 776 | + <format/> | |
| 777 | + </field> | |
| 778 | + <field> | |
| 779 | + <name>xlid</name> | |
| 780 | + <type>Integer</type> | |
| 781 | + <format/> | |
| 782 | + </field> | |
| 783 | + <field> | |
| 784 | + <name>jid</name> | |
| 785 | + <type>Integer</type> | |
| 786 | + <format/> | |
| 787 | + </field> | |
| 788 | + <field> | |
| 789 | + <name>sid</name> | |
| 790 | + <type>Integer</type> | |
| 791 | + <format/> | |
| 792 | + </field> | |
| 793 | + <field> | |
| 794 | + <name>error_count</name> | |
| 795 | + <type>Integer</type> | |
| 796 | + <format/> | |
| 797 | + </field> | |
| 798 | + <field> | |
| 799 | + <name>error_desc</name> | |
| 800 | + <type>String</type> | |
| 801 | + <format/> | |
| 802 | + </field> | |
| 803 | + <field> | |
| 804 | + <name>error_column1</name> | |
| 805 | + <type>String</type> | |
| 806 | + <format/> | |
| 807 | + </field> | |
| 808 | + <field> | |
| 809 | + <name>error_column2</name> | |
| 810 | + <type>String</type> | |
| 811 | + <format/> | |
| 812 | + </field> | |
| 813 | + </fields> | |
| 814 | + <custom> | |
| 815 | + <header_font_name>arial</header_font_name> | |
| 816 | + <header_font_size>10</header_font_size> | |
| 817 | + <header_font_bold>N</header_font_bold> | |
| 818 | + <header_font_italic>N</header_font_italic> | |
| 819 | + <header_font_underline>no</header_font_underline> | |
| 820 | + <header_font_orientation>horizontal</header_font_orientation> | |
| 821 | + <header_font_color>black</header_font_color> | |
| 822 | + <header_background_color>none</header_background_color> | |
| 823 | + <header_row_height>255</header_row_height> | |
| 824 | + <header_alignment>left</header_alignment> | |
| 825 | + <header_image/> | |
| 826 | + <row_font_name>arial</row_font_name> | |
| 827 | + <row_font_size>10</row_font_size> | |
| 828 | + <row_font_color>black</row_font_color> | |
| 829 | + <row_background_color>none</row_background_color> | |
| 830 | + </custom> | |
| 831 | + <cluster_schema/> | |
| 832 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 833 | + <xloc>676</xloc> | |
| 834 | + <yloc>323</yloc> | |
| 835 | + <draw>Y</draw> | |
| 836 | + </GUI> | |
| 837 | + </step> | |
| 838 | + | |
| 839 | + <step> | |
| 840 | + <name>驾驶员id查找</name> | |
| 841 | + <type>DBJoin</type> | |
| 842 | + <description/> | |
| 843 | + <distribute>Y</distribute> | |
| 844 | + <custom_distribution/> | |
| 845 | + <copies>1</copies> | |
| 846 | + <partitioning> | |
| 847 | + <method>none</method> | |
| 848 | + <schema_name/> | |
| 849 | + </partitioning> | |
| 850 | + <connection>bus_control_variable</connection> | |
| 851 | + <rowlimit>1</rowlimit> | |
| 852 | + <sql>select id as jid from bsth_c_personnel
where job_code = ? and personnel_name = ?</sql> | |
| 853 | + <outer_join>Y</outer_join> | |
| 854 | + <replace_vars>N</replace_vars> | |
| 855 | + <parameter> | |
| 856 | + <field> | |
| 857 | + <name>驾驶员工号</name> | |
| 858 | + <type>String</type> | |
| 859 | + </field> | |
| 860 | + <field> | |
| 861 | + <name>驾驶员</name> | |
| 862 | + <type>String</type> | |
| 863 | + </field> | |
| 864 | + </parameter> | |
| 865 | + <cluster_schema/> | |
| 866 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | |
| 867 | + <xloc>537</xloc> | |
| 868 | + <yloc>143</yloc> | |
| 869 | + <draw>Y</draw> | |
| 870 | + </GUI> | |
| 871 | + </step> | |
| 872 | + | |
| 873 | + <step_error_handling> | |
| 874 | + <error> | |
| 875 | + <source_step>插入/更新bsth_c_s_ecinfo</source_step> | |
| 876 | + <target_step>错误输出</target_step> | |
| 877 | + <is_enabled>Y</is_enabled> | |
| 878 | + <nr_valuename>error_count</nr_valuename> | |
| 879 | + <descriptions_valuename>error_desc</descriptions_valuename> | |
| 880 | + <fields_valuename>error_column1</fields_valuename> | |
| 881 | + <codes_valuename>error_column2</codes_valuename> | |
| 882 | + <max_errors/> | |
| 883 | + <max_pct_errors/> | |
| 884 | + <min_pct_rows/> | |
| 885 | + </error> | |
| 886 | + </step_error_handling> | |
| 887 | + <slave-step-copy-partition-distribution> | |
| 888 | +</slave-step-copy-partition-distribution> | |
| 889 | + <slave_transformation>N</slave_transformation> | |
| 890 | + | |
| 891 | +</transformation> | ... | ... |