Commit d49b419f947af46fbab9820d2b37300ff299589c
update
Showing
38 changed files
with
3105 additions
and
1253 deletions
Too many changes to show.
To preserve performance only 38 of 113 files are displayed.
src/main/java/com/bsth/StartCommand.java
| 1 | package com.bsth; | 1 | package com.bsth; |
| 2 | 2 | ||
| 3 | 3 | ||
| 4 | -import java.util.concurrent.Executors; | ||
| 5 | -import java.util.concurrent.ScheduledExecutorService; | ||
| 6 | -import java.util.concurrent.TimeUnit; | ||
| 7 | - | ||
| 8 | -import org.slf4j.Logger; | ||
| 9 | -import org.slf4j.LoggerFactory; | ||
| 10 | -import org.springframework.beans.factory.annotation.Autowired; | ||
| 11 | -import org.springframework.boot.CommandLineRunner; | ||
| 12 | -import org.springframework.stereotype.Component; | ||
| 13 | - | ||
| 14 | import com.bsth.security.SecurityMetadataSourceService; | 4 | import com.bsth.security.SecurityMetadataSourceService; |
| 15 | import com.bsth.service.realcontrol.buffer.GetSchedulePlanThread; | 5 | import com.bsth.service.realcontrol.buffer.GetSchedulePlanThread; |
| 16 | import com.bsth.service.realcontrol.buffer.SchedulePersistenceThread; | 6 | import com.bsth.service.realcontrol.buffer.SchedulePersistenceThread; |
| @@ -18,6 +8,15 @@ import com.bsth.vehicle.common.CommonRefreshThread; | @@ -18,6 +8,15 @@ import com.bsth.vehicle.common.CommonRefreshThread; | ||
| 18 | import com.bsth.vehicle.directive.DirectivePersistenceThread; | 8 | import com.bsth.vehicle.directive.DirectivePersistenceThread; |
| 19 | import com.bsth.vehicle.gpsdata.GpsArrivalStationThread; | 9 | import com.bsth.vehicle.gpsdata.GpsArrivalStationThread; |
| 20 | import com.bsth.vehicle.gpsdata.GpsRefreshThread; | 10 | import com.bsth.vehicle.gpsdata.GpsRefreshThread; |
| 11 | +import org.slf4j.Logger; | ||
| 12 | +import org.slf4j.LoggerFactory; | ||
| 13 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 14 | +import org.springframework.boot.CommandLineRunner; | ||
| 15 | +import org.springframework.stereotype.Component; | ||
| 16 | + | ||
| 17 | +import java.util.concurrent.Executors; | ||
| 18 | +import java.util.concurrent.ScheduledExecutorService; | ||
| 19 | +import java.util.concurrent.TimeUnit; | ||
| 21 | 20 | ||
| 22 | /** | 21 | /** |
| 23 | * 随应用启动运行 | 22 | * 随应用启动运行 |
| @@ -67,7 +66,7 @@ public class StartCommand implements CommandLineRunner{ | @@ -67,7 +66,7 @@ public class StartCommand implements CommandLineRunner{ | ||
| 67 | //一分钟持久化一次实际排班 | 66 | //一分钟持久化一次实际排班 |
| 68 | scheduler.scheduleWithFixedDelay(SchedulePersistenceThread, 60 * 1, 60 * 1, TimeUnit.SECONDS); | 67 | scheduler.scheduleWithFixedDelay(SchedulePersistenceThread, 60 * 1, 60 * 1, TimeUnit.SECONDS); |
| 69 | //将实际到离站和排班计划进行匹配 12秒一次 | 68 | //将实际到离站和排班计划进行匹配 12秒一次 |
| 70 | - //scheduler.scheduleWithFixedDelay(gpsArrivalStationThread, 20, 1200, TimeUnit.SECONDS); | 69 | + //scheduler.scheduleWithFixedDelay(gpsArrivalStationThread, 5, 1200, TimeUnit.SECONDS); |
| 71 | } catch (Exception e) { | 70 | } catch (Exception e) { |
| 72 | e.printStackTrace(); | 71 | e.printStackTrace(); |
| 73 | } | 72 | } |
src/main/java/com/bsth/controller/CarDeviceController.java
| 1 | -package com.bsth.controller; | ||
| 2 | - | ||
| 3 | -import com.bsth.entity.CarDevice; | ||
| 4 | -import org.springframework.web.bind.annotation.RequestBody; | ||
| 5 | -import org.springframework.web.bind.annotation.RequestMapping; | ||
| 6 | -import org.springframework.web.bind.annotation.RequestMethod; | ||
| 7 | -import org.springframework.web.bind.annotation.RestController; | ||
| 8 | - | ||
| 9 | -import java.util.Map; | ||
| 10 | - | ||
| 11 | -/** | ||
| 12 | - * Created by xu on 16/6/15. | ||
| 13 | - */ | ||
| 14 | -@RestController | ||
| 15 | -@RequestMapping("carDevice") | ||
| 16 | -public class CarDeviceController extends BaseController<CarDevice, Long> { | ||
| 17 | - | ||
| 18 | - /** | ||
| 19 | - * 覆写方法,因为form提交的方式参数不全,改用 json形式提交 @RequestBody | ||
| 20 | - * @Title: save | ||
| 21 | - * @Description: TODO(持久化对象) | ||
| 22 | - * @param @param t | ||
| 23 | - * @param @return 设定文件 | ||
| 24 | - * @return Map<String,Object> {status: 1(成功),-1(失败)} | ||
| 25 | - * @throws | ||
| 26 | - */ | ||
| 27 | - @RequestMapping(method = RequestMethod.POST) | ||
| 28 | - public Map<String, Object> save(@RequestBody CarDevice t){ | ||
| 29 | - return baseService.save(t); | ||
| 30 | - } | ||
| 31 | -} | 1 | +package com.bsth.controller; |
| 2 | + | ||
| 3 | +import com.bsth.entity.CarDevice; | ||
| 4 | +import org.springframework.web.bind.annotation.RequestBody; | ||
| 5 | +import org.springframework.web.bind.annotation.RequestMapping; | ||
| 6 | +import org.springframework.web.bind.annotation.RequestMethod; | ||
| 7 | +import org.springframework.web.bind.annotation.RestController; | ||
| 8 | + | ||
| 9 | +import java.util.Map; | ||
| 10 | + | ||
| 11 | +/** | ||
| 12 | + * Created by xu on 16/6/15. | ||
| 13 | + */ | ||
| 14 | +@RestController | ||
| 15 | +@RequestMapping("carDevice") | ||
| 16 | +public class CarDeviceController extends BaseController<CarDevice, Long> { | ||
| 17 | + | ||
| 18 | + /** | ||
| 19 | + * 覆写方法,因为form提交的方式参数不全,改用 json形式提交 @RequestBody | ||
| 20 | + * @Title: save | ||
| 21 | + * @Description: TODO(持久化对象) | ||
| 22 | + * @param @param t | ||
| 23 | + * @param @return 设定文件 | ||
| 24 | + * @return Map<String,Object> {status: 1(成功),-1(失败)} | ||
| 25 | + * @throws | ||
| 26 | + */ | ||
| 27 | + @RequestMapping(method = RequestMethod.POST) | ||
| 28 | + public Map<String, Object> save(@RequestBody CarDevice t){ | ||
| 29 | + return baseService.save(t); | ||
| 30 | + } | ||
| 31 | +} |
src/main/java/com/bsth/controller/realcontrol/ScheduleRealInfoController.java
| 1 | package com.bsth.controller.realcontrol; | 1 | package com.bsth.controller.realcontrol; |
| 2 | 2 | ||
| 3 | import java.util.Collection; | 3 | import java.util.Collection; |
| 4 | +import java.util.List; | ||
| 4 | import java.util.Map; | 5 | import java.util.Map; |
| 5 | 6 | ||
| 6 | import org.springframework.beans.factory.annotation.Autowired; | 7 | import org.springframework.beans.factory.annotation.Autowired; |
| @@ -66,4 +67,40 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, | @@ -66,4 +67,40 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, | ||
| 66 | public Map<String, String> carDeviceMapp(){ | 67 | public Map<String, String> carDeviceMapp(){ |
| 67 | return CommonMapped.vehicDeviceBiMap.inverse(); | 68 | return CommonMapped.vehicDeviceBiMap.inverse(); |
| 68 | } | 69 | } |
| 70 | + | ||
| 71 | + /** | ||
| 72 | + * | ||
| 73 | + * @Title: findPersionByLine | ||
| 74 | + * @Description: TODO(根据线路主键获取驾驶员) | ||
| 75 | + * @param @param lineId | ||
| 76 | + * @throws | ||
| 77 | + */ | ||
| 78 | + @RequestMapping(value = "/driver", method = RequestMethod.GET) | ||
| 79 | + public List<Map<String, String>> findDriverByLine(@RequestParam String lineCode){ | ||
| 80 | + return scheduleRealInfoService.findDriverByLine(lineCode); | ||
| 81 | + } | ||
| 82 | + | ||
| 83 | + /** | ||
| 84 | + * | ||
| 85 | + * @Title: findPersionByLine | ||
| 86 | + * @Description: TODO(根据线路主键获取售票员) | ||
| 87 | + * @param @param lineId | ||
| 88 | + * @throws | ||
| 89 | + */ | ||
| 90 | + @RequestMapping(value = "/conductor", method = RequestMethod.GET) | ||
| 91 | + public List<Map<String, String>> findConductorByLine(@RequestParam String lineCode){ | ||
| 92 | + return scheduleRealInfoService.findConductorByLine(lineCode); | ||
| 93 | + } | ||
| 94 | + | ||
| 95 | + /** | ||
| 96 | + * | ||
| 97 | + * @Title: findPersionByLine | ||
| 98 | + * @Description: TODO(根据线路主键获取车辆) | ||
| 99 | + * @param @param lineId | ||
| 100 | + * @throws | ||
| 101 | + */ | ||
| 102 | + @RequestMapping(value = "/cars", method = RequestMethod.GET) | ||
| 103 | + public List<Map<String, String>> findCarByLine(@RequestParam String lineCode){ | ||
| 104 | + return scheduleRealInfoService.findCarByLine(lineCode); | ||
| 105 | + } | ||
| 69 | } | 106 | } |
src/main/java/com/bsth/controller/schedule/SchedulePlanController.java
| 1 | -package com.bsth.controller.schedule; | ||
| 2 | - | ||
| 3 | -import com.bsth.controller.BaseController; | ||
| 4 | -import com.bsth.entity.schedule.SchedulePlan; | ||
| 5 | -import org.springframework.web.bind.annotation.RequestMapping; | ||
| 6 | -import org.springframework.web.bind.annotation.RestController; | ||
| 7 | - | ||
| 8 | -/** | ||
| 9 | - * Created by xu on 16/6/16. | ||
| 10 | - */ | ||
| 11 | -@RestController | ||
| 12 | -@RequestMapping("spc") | ||
| 13 | -public class SchedulePlanController extends BaseController<SchedulePlan, Long> { | ||
| 14 | -} | 1 | +package com.bsth.controller.schedule; |
| 2 | + | ||
| 3 | +import com.bsth.controller.BaseController; | ||
| 4 | +import com.bsth.entity.schedule.SchedulePlan; | ||
| 5 | +import org.springframework.web.bind.annotation.RequestMapping; | ||
| 6 | +import org.springframework.web.bind.annotation.RestController; | ||
| 7 | + | ||
| 8 | +/** | ||
| 9 | + * Created by xu on 16/6/16. | ||
| 10 | + */ | ||
| 11 | +@RestController | ||
| 12 | +@RequestMapping("spc") | ||
| 13 | +public class SchedulePlanController extends BaseController<SchedulePlan, Long> { | ||
| 14 | +} |
src/main/java/com/bsth/controller/schedule/SchedulePlanInfoController.java
| 1 | -package com.bsth.controller.schedule; | ||
| 2 | - | ||
| 3 | -import com.bsth.controller.BaseController; | ||
| 4 | -import com.bsth.entity.schedule.SchedulePlanInfo; | ||
| 5 | -import org.springframework.web.bind.annotation.RequestMapping; | ||
| 6 | -import org.springframework.web.bind.annotation.RestController; | ||
| 7 | - | ||
| 8 | -/** | ||
| 9 | - * Created by xu on 16/6/16. | ||
| 10 | - */ | ||
| 11 | -@RestController | ||
| 12 | -@RequestMapping("spic") | ||
| 13 | -public class SchedulePlanInfoController extends BaseController<SchedulePlanInfo, Long> { | ||
| 14 | -} | 1 | +package com.bsth.controller.schedule; |
| 2 | + | ||
| 3 | +import com.bsth.controller.BaseController; | ||
| 4 | +import com.bsth.entity.schedule.SchedulePlanInfo; | ||
| 5 | +import org.springframework.web.bind.annotation.RequestMapping; | ||
| 6 | +import org.springframework.web.bind.annotation.RestController; | ||
| 7 | + | ||
| 8 | +/** | ||
| 9 | + * Created by xu on 16/6/16. | ||
| 10 | + */ | ||
| 11 | +@RestController | ||
| 12 | +@RequestMapping("spic") | ||
| 13 | +public class SchedulePlanInfoController extends BaseController<SchedulePlanInfo, Long> { | ||
| 14 | +} |
src/main/java/com/bsth/entity/schedule/GuideboardInfo.java
| 1 | -package com.bsth.entity.schedule; | ||
| 2 | - | ||
| 3 | -import com.bsth.entity.Line; | ||
| 4 | -import com.bsth.entity.sys.SysUser; | ||
| 5 | - | ||
| 6 | -import javax.persistence.*; | ||
| 7 | -import javax.persistence.Table; | ||
| 8 | -import java.util.Date; | ||
| 9 | - | ||
| 10 | -/** | ||
| 11 | - * 路牌信息。 | ||
| 12 | - */ | ||
| 13 | -@Entity | ||
| 14 | -@Table(name = "bsth_c_s_gbi") | ||
| 15 | -public class GuideboardInfo { | ||
| 16 | - | ||
| 17 | - /** 主键Id */ | ||
| 18 | - @Id | ||
| 19 | - @GeneratedValue | ||
| 20 | - private Long id; | ||
| 21 | - | ||
| 22 | - /** 线路关联 */ | ||
| 23 | - @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | ||
| 24 | - private Line xl; | ||
| 25 | - | ||
| 26 | - /** 路牌顺序号 */ | ||
| 27 | - @Column(nullable = false) | ||
| 28 | - private Integer lpNo; | ||
| 29 | - /** 路牌名称 */ | ||
| 30 | - @Column(nullable = false) | ||
| 31 | - private String lpName; | ||
| 32 | - /** 路牌类型(普通路牌/临加路牌) */ | ||
| 33 | - @Column(nullable = false) | ||
| 34 | - private String lpType; | ||
| 35 | - | ||
| 36 | - /** 创建人 */ | ||
| 37 | - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST) | ||
| 38 | - private SysUser createBy; | ||
| 39 | - /** 修改人 */ | ||
| 40 | - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST) | ||
| 41 | - private SysUser updateBy; | ||
| 42 | - | ||
| 43 | - /** 创建日期 */ | ||
| 44 | - @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP") | ||
| 45 | - private Date createDate; | ||
| 46 | - /** 修改日期 */ | ||
| 47 | - @Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP") | ||
| 48 | - private Date updateDate; | ||
| 49 | - | ||
| 50 | - | ||
| 51 | - public Long getId() { | ||
| 52 | - return id; | ||
| 53 | - } | ||
| 54 | - | ||
| 55 | - public void setId(Long id) { | ||
| 56 | - this.id = id; | ||
| 57 | - } | ||
| 58 | - | ||
| 59 | - public Line getXl() { | ||
| 60 | - return xl; | ||
| 61 | - } | ||
| 62 | - | ||
| 63 | - public void setXl(Line xl) { | ||
| 64 | - this.xl = xl; | ||
| 65 | - } | ||
| 66 | - | ||
| 67 | - public Integer getLpNo() { | ||
| 68 | - return lpNo; | ||
| 69 | - } | ||
| 70 | - | ||
| 71 | - public void setLpNo(Integer lpNo) { | ||
| 72 | - this.lpNo = lpNo; | ||
| 73 | - } | ||
| 74 | - | ||
| 75 | - public String getLpName() { | ||
| 76 | - return lpName; | ||
| 77 | - } | ||
| 78 | - | ||
| 79 | - public void setLpName(String lpName) { | ||
| 80 | - this.lpName = lpName; | ||
| 81 | - } | ||
| 82 | - | ||
| 83 | - public String getLpType() { | ||
| 84 | - return lpType; | ||
| 85 | - } | ||
| 86 | - | ||
| 87 | - public void setLpType(String lpType) { | ||
| 88 | - this.lpType = lpType; | ||
| 89 | - } | ||
| 90 | - | ||
| 91 | - public SysUser getCreateBy() { | ||
| 92 | - return createBy; | ||
| 93 | - } | ||
| 94 | - | ||
| 95 | - public void setCreateBy(SysUser createBy) { | ||
| 96 | - this.createBy = createBy; | ||
| 97 | - } | ||
| 98 | - | ||
| 99 | - public SysUser getUpdateBy() { | ||
| 100 | - return updateBy; | ||
| 101 | - } | ||
| 102 | - | ||
| 103 | - public void setUpdateBy(SysUser updateBy) { | ||
| 104 | - this.updateBy = updateBy; | ||
| 105 | - } | ||
| 106 | - | ||
| 107 | - public Date getCreateDate() { | ||
| 108 | - return createDate; | ||
| 109 | - } | ||
| 110 | - | ||
| 111 | - public void setCreateDate(Date createDate) { | ||
| 112 | - this.createDate = createDate; | ||
| 113 | - } | ||
| 114 | - | ||
| 115 | - public Date getUpdateDate() { | ||
| 116 | - return updateDate; | ||
| 117 | - } | ||
| 118 | - | ||
| 119 | - public void setUpdateDate(Date updateDate) { | ||
| 120 | - this.updateDate = updateDate; | ||
| 121 | - } | ||
| 122 | -} | 1 | +package com.bsth.entity.schedule; |
| 2 | + | ||
| 3 | +import com.bsth.entity.Line; | ||
| 4 | +import com.bsth.entity.sys.SysUser; | ||
| 5 | + | ||
| 6 | +import javax.persistence.*; | ||
| 7 | +import javax.persistence.Table; | ||
| 8 | +import java.util.Date; | ||
| 9 | + | ||
| 10 | +/** | ||
| 11 | + * 路牌信息。 | ||
| 12 | + */ | ||
| 13 | +@Entity | ||
| 14 | +@Table(name = "bsth_c_s_gbi") | ||
| 15 | +public class GuideboardInfo { | ||
| 16 | + | ||
| 17 | + /** 主键Id */ | ||
| 18 | + @Id | ||
| 19 | + @GeneratedValue | ||
| 20 | + private Long id; | ||
| 21 | + | ||
| 22 | + /** 线路关联 */ | ||
| 23 | + @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | ||
| 24 | + private Line xl; | ||
| 25 | + | ||
| 26 | + /** 路牌顺序号 */ | ||
| 27 | + @Column(nullable = false) | ||
| 28 | + private Integer lpNo; | ||
| 29 | + /** 路牌名称 */ | ||
| 30 | + @Column(nullable = false) | ||
| 31 | + private String lpName; | ||
| 32 | + /** 路牌类型(普通路牌/临加路牌) */ | ||
| 33 | + @Column(nullable = false) | ||
| 34 | + private String lpType; | ||
| 35 | + | ||
| 36 | + /** 创建人 */ | ||
| 37 | + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST) | ||
| 38 | + private SysUser createBy; | ||
| 39 | + /** 修改人 */ | ||
| 40 | + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST) | ||
| 41 | + private SysUser updateBy; | ||
| 42 | + | ||
| 43 | + /** 创建日期 */ | ||
| 44 | + @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP") | ||
| 45 | + private Date createDate; | ||
| 46 | + /** 修改日期 */ | ||
| 47 | + @Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP") | ||
| 48 | + private Date updateDate; | ||
| 49 | + | ||
| 50 | + | ||
| 51 | + public Long getId() { | ||
| 52 | + return id; | ||
| 53 | + } | ||
| 54 | + | ||
| 55 | + public void setId(Long id) { | ||
| 56 | + this.id = id; | ||
| 57 | + } | ||
| 58 | + | ||
| 59 | + public Line getXl() { | ||
| 60 | + return xl; | ||
| 61 | + } | ||
| 62 | + | ||
| 63 | + public void setXl(Line xl) { | ||
| 64 | + this.xl = xl; | ||
| 65 | + } | ||
| 66 | + | ||
| 67 | + public Integer getLpNo() { | ||
| 68 | + return lpNo; | ||
| 69 | + } | ||
| 70 | + | ||
| 71 | + public void setLpNo(Integer lpNo) { | ||
| 72 | + this.lpNo = lpNo; | ||
| 73 | + } | ||
| 74 | + | ||
| 75 | + public String getLpName() { | ||
| 76 | + return lpName; | ||
| 77 | + } | ||
| 78 | + | ||
| 79 | + public void setLpName(String lpName) { | ||
| 80 | + this.lpName = lpName; | ||
| 81 | + } | ||
| 82 | + | ||
| 83 | + public String getLpType() { | ||
| 84 | + return lpType; | ||
| 85 | + } | ||
| 86 | + | ||
| 87 | + public void setLpType(String lpType) { | ||
| 88 | + this.lpType = lpType; | ||
| 89 | + } | ||
| 90 | + | ||
| 91 | + public SysUser getCreateBy() { | ||
| 92 | + return createBy; | ||
| 93 | + } | ||
| 94 | + | ||
| 95 | + public void setCreateBy(SysUser createBy) { | ||
| 96 | + this.createBy = createBy; | ||
| 97 | + } | ||
| 98 | + | ||
| 99 | + public SysUser getUpdateBy() { | ||
| 100 | + return updateBy; | ||
| 101 | + } | ||
| 102 | + | ||
| 103 | + public void setUpdateBy(SysUser updateBy) { | ||
| 104 | + this.updateBy = updateBy; | ||
| 105 | + } | ||
| 106 | + | ||
| 107 | + public Date getCreateDate() { | ||
| 108 | + return createDate; | ||
| 109 | + } | ||
| 110 | + | ||
| 111 | + public void setCreateDate(Date createDate) { | ||
| 112 | + this.createDate = createDate; | ||
| 113 | + } | ||
| 114 | + | ||
| 115 | + public Date getUpdateDate() { | ||
| 116 | + return updateDate; | ||
| 117 | + } | ||
| 118 | + | ||
| 119 | + public void setUpdateDate(Date updateDate) { | ||
| 120 | + this.updateDate = updateDate; | ||
| 121 | + } | ||
| 122 | +} |
src/main/java/com/bsth/entity/schedule/TTInfo.java
| 1 | -package com.bsth.entity.schedule; | ||
| 2 | - | ||
| 3 | -import com.bsth.entity.Line; | ||
| 4 | -import com.bsth.entity.sys.SysUser; | ||
| 5 | - | ||
| 6 | -import javax.persistence.*; | ||
| 7 | -import java.util.Date; | ||
| 8 | - | ||
| 9 | -/** | ||
| 10 | - * 时刻表信息 | ||
| 11 | - */ | ||
| 12 | -@Entity | ||
| 13 | -@Table(name="bsth_c_s_ttinfo") | ||
| 14 | -public class TTInfo { | ||
| 15 | - | ||
| 16 | - /** 主键Id */ | ||
| 17 | - @Id | ||
| 18 | - @GeneratedValue | ||
| 19 | - private Long id; | ||
| 20 | - | ||
| 21 | - /** 线路关联 */ | ||
| 22 | - @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | ||
| 23 | - private Line xl; | ||
| 24 | - | ||
| 25 | - /** 时刻表名称 */ | ||
| 26 | - @Column(nullable = false, unique = true) | ||
| 27 | - private String name; | ||
| 28 | - /** 线路方向(TODO:上下行,上行,下行,这个以后用枚举还是字典再议,现在先用文字) */ | ||
| 29 | - @Column(nullable = false) | ||
| 30 | - private String xlDir; | ||
| 31 | - /** 启用日期 */ | ||
| 32 | - @Column(nullable = false) | ||
| 33 | - private Date qyrq; | ||
| 34 | - /** 模版类型(TODO:时刻表,间隔式,这个以后用枚举还是字典再议,现在先用文字) */ | ||
| 35 | - private String templateType; | ||
| 36 | - /** 是否启用调度模版 */ | ||
| 37 | - private Boolean isEnableDisTemplate; | ||
| 38 | - /** 路牌数 */ | ||
| 39 | - private int lpCount; | ||
| 40 | - /** 圈数 */ | ||
| 41 | - private int loopCount; | ||
| 42 | - | ||
| 43 | - // TODO:原系统里的分别在,圈后圈进场,意思不知道,再议 | ||
| 44 | - | ||
| 45 | - /** 常规有效日(1-7表示星期一到星期日,多个用逗号隔开) */ | ||
| 46 | - private String rule_days; | ||
| 47 | - /** 特殊有效日期(格式:2001-01-01,多个用逗号隔开) */ | ||
| 48 | - private String special_days; | ||
| 49 | - | ||
| 50 | - | ||
| 51 | - | ||
| 52 | - /** 是否启用(这个是算出来的,不持久化) */ | ||
| 53 | - @Transient | ||
| 54 | - private boolean isEnable; | ||
| 55 | - | ||
| 56 | - /** 操作人员关联 */ | ||
| 57 | - @ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | ||
| 58 | - private SysUser createBy; | ||
| 59 | - /** 更新人员关联 */ | ||
| 60 | - @ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | ||
| 61 | - private SysUser updateBy; | ||
| 62 | - // 创建日期 | ||
| 63 | - @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP") | ||
| 64 | - private Date createDate; | ||
| 65 | - // 修改日期 | ||
| 66 | - @Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP") | ||
| 67 | - private Date updateDate; | ||
| 68 | - | ||
| 69 | - | ||
| 70 | - public Long getId() { | ||
| 71 | - return id; | ||
| 72 | - } | ||
| 73 | - | ||
| 74 | - public void setId(Long id) { | ||
| 75 | - this.id = id; | ||
| 76 | - } | ||
| 77 | - | ||
| 78 | - public Line getXl() { | ||
| 79 | - return xl; | ||
| 80 | - } | ||
| 81 | - | ||
| 82 | - public void setXl(Line xl) { | ||
| 83 | - this.xl = xl; | ||
| 84 | - } | ||
| 85 | - | ||
| 86 | - public String getName() { | ||
| 87 | - return name; | ||
| 88 | - } | ||
| 89 | - | ||
| 90 | - public void setName(String name) { | ||
| 91 | - this.name = name; | ||
| 92 | - } | ||
| 93 | - | ||
| 94 | - public String getXlDir() { | ||
| 95 | - return xlDir; | ||
| 96 | - } | ||
| 97 | - | ||
| 98 | - public void setXlDir(String xlDir) { | ||
| 99 | - this.xlDir = xlDir; | ||
| 100 | - } | ||
| 101 | - | ||
| 102 | - public Date getQyrq() { | ||
| 103 | - return qyrq; | ||
| 104 | - } | ||
| 105 | - | ||
| 106 | - public void setQyrq(Date qyrq) { | ||
| 107 | - this.qyrq = qyrq; | ||
| 108 | - } | ||
| 109 | - | ||
| 110 | - public String getTemplateType() { | ||
| 111 | - return templateType; | ||
| 112 | - } | ||
| 113 | - | ||
| 114 | - public void setTemplateType(String templateType) { | ||
| 115 | - this.templateType = templateType; | ||
| 116 | - } | ||
| 117 | - | ||
| 118 | - public Boolean getIsEnableDisTemplate() { | ||
| 119 | - return isEnableDisTemplate; | ||
| 120 | - } | ||
| 121 | - | ||
| 122 | - public void setIsEnableDisTemplate(Boolean isEnableDisTemplate) { | ||
| 123 | - this.isEnableDisTemplate = isEnableDisTemplate; | ||
| 124 | - } | ||
| 125 | - | ||
| 126 | - public int getLpCount() { | ||
| 127 | - return lpCount; | ||
| 128 | - } | ||
| 129 | - | ||
| 130 | - public void setLpCount(int lpCount) { | ||
| 131 | - this.lpCount = lpCount; | ||
| 132 | - } | ||
| 133 | - | ||
| 134 | - public int getLoopCount() { | ||
| 135 | - return loopCount; | ||
| 136 | - } | ||
| 137 | - | ||
| 138 | - public void setLoopCount(int loopCount) { | ||
| 139 | - this.loopCount = loopCount; | ||
| 140 | - } | ||
| 141 | - | ||
| 142 | - public String getRule_days() { | ||
| 143 | - return rule_days; | ||
| 144 | - } | ||
| 145 | - | ||
| 146 | - public void setRule_days(String rule_days) { | ||
| 147 | - this.rule_days = rule_days; | ||
| 148 | - } | ||
| 149 | - | ||
| 150 | - public String getSpecial_days() { | ||
| 151 | - return special_days; | ||
| 152 | - } | ||
| 153 | - | ||
| 154 | - public void setSpecial_days(String special_days) { | ||
| 155 | - this.special_days = special_days; | ||
| 156 | - } | ||
| 157 | - | ||
| 158 | - public boolean isEnable() { | ||
| 159 | - return isEnable; | ||
| 160 | - } | ||
| 161 | - | ||
| 162 | - public void setIsEnable(boolean isEnable) { | ||
| 163 | - this.isEnable = isEnable; | ||
| 164 | - } | ||
| 165 | - | ||
| 166 | - public SysUser getCreateBy() { | ||
| 167 | - return createBy; | ||
| 168 | - } | ||
| 169 | - | ||
| 170 | - public void setCreateBy(SysUser createBy) { | ||
| 171 | - this.createBy = createBy; | ||
| 172 | - } | ||
| 173 | - | ||
| 174 | - public SysUser getUpdateBy() { | ||
| 175 | - return updateBy; | ||
| 176 | - } | ||
| 177 | - | ||
| 178 | - public void setUpdateBy(SysUser updateBy) { | ||
| 179 | - this.updateBy = updateBy; | ||
| 180 | - } | ||
| 181 | - | ||
| 182 | - public Date getCreateDate() { | ||
| 183 | - return createDate; | ||
| 184 | - } | ||
| 185 | - | ||
| 186 | - public void setCreateDate(Date createDate) { | ||
| 187 | - this.createDate = createDate; | ||
| 188 | - } | ||
| 189 | - | ||
| 190 | - public Date getUpdateDate() { | ||
| 191 | - return updateDate; | ||
| 192 | - } | ||
| 193 | - | ||
| 194 | - public void setUpdateDate(Date updateDate) { | ||
| 195 | - this.updateDate = updateDate; | ||
| 196 | - } | ||
| 197 | -} | 1 | +package com.bsth.entity.schedule; |
| 2 | + | ||
| 3 | +import com.bsth.entity.Line; | ||
| 4 | +import com.bsth.entity.sys.SysUser; | ||
| 5 | + | ||
| 6 | +import javax.persistence.*; | ||
| 7 | +import java.util.Date; | ||
| 8 | + | ||
| 9 | +/** | ||
| 10 | + * 时刻表信息 | ||
| 11 | + */ | ||
| 12 | +@Entity | ||
| 13 | +@Table(name="bsth_c_s_ttinfo") | ||
| 14 | +public class TTInfo { | ||
| 15 | + | ||
| 16 | + /** 主键Id */ | ||
| 17 | + @Id | ||
| 18 | + @GeneratedValue | ||
| 19 | + private Long id; | ||
| 20 | + | ||
| 21 | + /** 线路关联 */ | ||
| 22 | + @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | ||
| 23 | + private Line xl; | ||
| 24 | + | ||
| 25 | + /** 时刻表名称 */ | ||
| 26 | + @Column(nullable = false, unique = true) | ||
| 27 | + private String name; | ||
| 28 | + /** 线路方向(TODO:上下行,上行,下行,这个以后用枚举还是字典再议,现在先用文字) */ | ||
| 29 | + @Column(nullable = false) | ||
| 30 | + private String xlDir; | ||
| 31 | + /** 启用日期 */ | ||
| 32 | + @Column(nullable = false) | ||
| 33 | + private Date qyrq; | ||
| 34 | + /** 模版类型(TODO:时刻表,间隔式,这个以后用枚举还是字典再议,现在先用文字) */ | ||
| 35 | + private String templateType; | ||
| 36 | + /** 是否启用调度模版 */ | ||
| 37 | + private Boolean isEnableDisTemplate; | ||
| 38 | + /** 路牌数 */ | ||
| 39 | + private int lpCount; | ||
| 40 | + /** 圈数 */ | ||
| 41 | + private int loopCount; | ||
| 42 | + | ||
| 43 | + // TODO:原系统里的分别在,圈后圈进场,意思不知道,再议 | ||
| 44 | + | ||
| 45 | + /** 常规有效日(1-7表示星期一到星期日,多个用逗号隔开) */ | ||
| 46 | + private String rule_days; | ||
| 47 | + /** 特殊有效日期(格式:2001-01-01,多个用逗号隔开) */ | ||
| 48 | + private String special_days; | ||
| 49 | + | ||
| 50 | + | ||
| 51 | + | ||
| 52 | + /** 是否启用(这个是算出来的,不持久化) */ | ||
| 53 | + @Transient | ||
| 54 | + private boolean isEnable; | ||
| 55 | + | ||
| 56 | + /** 操作人员关联 */ | ||
| 57 | + @ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | ||
| 58 | + private SysUser createBy; | ||
| 59 | + /** 更新人员关联 */ | ||
| 60 | + @ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | ||
| 61 | + private SysUser updateBy; | ||
| 62 | + // 创建日期 | ||
| 63 | + @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP") | ||
| 64 | + private Date createDate; | ||
| 65 | + // 修改日期 | ||
| 66 | + @Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP") | ||
| 67 | + private Date updateDate; | ||
| 68 | + | ||
| 69 | + | ||
| 70 | + public Long getId() { | ||
| 71 | + return id; | ||
| 72 | + } | ||
| 73 | + | ||
| 74 | + public void setId(Long id) { | ||
| 75 | + this.id = id; | ||
| 76 | + } | ||
| 77 | + | ||
| 78 | + public Line getXl() { | ||
| 79 | + return xl; | ||
| 80 | + } | ||
| 81 | + | ||
| 82 | + public void setXl(Line xl) { | ||
| 83 | + this.xl = xl; | ||
| 84 | + } | ||
| 85 | + | ||
| 86 | + public String getName() { | ||
| 87 | + return name; | ||
| 88 | + } | ||
| 89 | + | ||
| 90 | + public void setName(String name) { | ||
| 91 | + this.name = name; | ||
| 92 | + } | ||
| 93 | + | ||
| 94 | + public String getXlDir() { | ||
| 95 | + return xlDir; | ||
| 96 | + } | ||
| 97 | + | ||
| 98 | + public void setXlDir(String xlDir) { | ||
| 99 | + this.xlDir = xlDir; | ||
| 100 | + } | ||
| 101 | + | ||
| 102 | + public Date getQyrq() { | ||
| 103 | + return qyrq; | ||
| 104 | + } | ||
| 105 | + | ||
| 106 | + public void setQyrq(Date qyrq) { | ||
| 107 | + this.qyrq = qyrq; | ||
| 108 | + } | ||
| 109 | + | ||
| 110 | + public String getTemplateType() { | ||
| 111 | + return templateType; | ||
| 112 | + } | ||
| 113 | + | ||
| 114 | + public void setTemplateType(String templateType) { | ||
| 115 | + this.templateType = templateType; | ||
| 116 | + } | ||
| 117 | + | ||
| 118 | + public Boolean getIsEnableDisTemplate() { | ||
| 119 | + return isEnableDisTemplate; | ||
| 120 | + } | ||
| 121 | + | ||
| 122 | + public void setIsEnableDisTemplate(Boolean isEnableDisTemplate) { | ||
| 123 | + this.isEnableDisTemplate = isEnableDisTemplate; | ||
| 124 | + } | ||
| 125 | + | ||
| 126 | + public int getLpCount() { | ||
| 127 | + return lpCount; | ||
| 128 | + } | ||
| 129 | + | ||
| 130 | + public void setLpCount(int lpCount) { | ||
| 131 | + this.lpCount = lpCount; | ||
| 132 | + } | ||
| 133 | + | ||
| 134 | + public int getLoopCount() { | ||
| 135 | + return loopCount; | ||
| 136 | + } | ||
| 137 | + | ||
| 138 | + public void setLoopCount(int loopCount) { | ||
| 139 | + this.loopCount = loopCount; | ||
| 140 | + } | ||
| 141 | + | ||
| 142 | + public String getRule_days() { | ||
| 143 | + return rule_days; | ||
| 144 | + } | ||
| 145 | + | ||
| 146 | + public void setRule_days(String rule_days) { | ||
| 147 | + this.rule_days = rule_days; | ||
| 148 | + } | ||
| 149 | + | ||
| 150 | + public String getSpecial_days() { | ||
| 151 | + return special_days; | ||
| 152 | + } | ||
| 153 | + | ||
| 154 | + public void setSpecial_days(String special_days) { | ||
| 155 | + this.special_days = special_days; | ||
| 156 | + } | ||
| 157 | + | ||
| 158 | + public boolean isEnable() { | ||
| 159 | + return isEnable; | ||
| 160 | + } | ||
| 161 | + | ||
| 162 | + public void setIsEnable(boolean isEnable) { | ||
| 163 | + this.isEnable = isEnable; | ||
| 164 | + } | ||
| 165 | + | ||
| 166 | + public SysUser getCreateBy() { | ||
| 167 | + return createBy; | ||
| 168 | + } | ||
| 169 | + | ||
| 170 | + public void setCreateBy(SysUser createBy) { | ||
| 171 | + this.createBy = createBy; | ||
| 172 | + } | ||
| 173 | + | ||
| 174 | + public SysUser getUpdateBy() { | ||
| 175 | + return updateBy; | ||
| 176 | + } | ||
| 177 | + | ||
| 178 | + public void setUpdateBy(SysUser updateBy) { | ||
| 179 | + this.updateBy = updateBy; | ||
| 180 | + } | ||
| 181 | + | ||
| 182 | + public Date getCreateDate() { | ||
| 183 | + return createDate; | ||
| 184 | + } | ||
| 185 | + | ||
| 186 | + public void setCreateDate(Date createDate) { | ||
| 187 | + this.createDate = createDate; | ||
| 188 | + } | ||
| 189 | + | ||
| 190 | + public Date getUpdateDate() { | ||
| 191 | + return updateDate; | ||
| 192 | + } | ||
| 193 | + | ||
| 194 | + public void setUpdateDate(Date updateDate) { | ||
| 195 | + this.updateDate = updateDate; | ||
| 196 | + } | ||
| 197 | +} |
src/main/java/com/bsth/entity/schedule/TTInfoDetail.java
| 1 | -package com.bsth.entity.schedule; | ||
| 2 | - | ||
| 3 | -import com.bsth.entity.CarPark; | ||
| 4 | -import com.bsth.entity.Line; | ||
| 5 | -import com.bsth.entity.Station; | ||
| 6 | -import com.bsth.entity.sys.SysUser; | ||
| 7 | - | ||
| 8 | -import javax.persistence.*; | ||
| 9 | -import java.util.Date; | ||
| 10 | - | ||
| 11 | -/** | ||
| 12 | - * 时刻表明细 | ||
| 13 | - */ | ||
| 14 | -@Entity | ||
| 15 | -@Table(name = "bsth_c_s_ttinfo_detail") | ||
| 16 | -public class TTInfoDetail { | ||
| 17 | - | ||
| 18 | - /** 主健Id */ | ||
| 19 | - @Id | ||
| 20 | - @GeneratedValue | ||
| 21 | - private Long id; | ||
| 22 | - | ||
| 23 | - | ||
| 24 | - /** 关联线路 */ | ||
| 25 | - @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | ||
| 26 | - private Line xl; | ||
| 27 | - /** 时刻表主对象关联 */ | ||
| 28 | - @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | ||
| 29 | - private TTInfo ttinfo; | ||
| 30 | - /** 关联的路牌 */ | ||
| 31 | - @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | ||
| 32 | - private GuideboardInfo lp; | ||
| 33 | - | ||
| 34 | - /** 发车顺序号 */ | ||
| 35 | - @Column(nullable = false) | ||
| 36 | - private Integer fcno; | ||
| 37 | - /** 线路方向(TODO:上下行,上行,下行,这个以后用枚举还是字典再议,现在先用文字) */ | ||
| 38 | - @Column(nullable = false) | ||
| 39 | - private String xlDir; | ||
| 40 | - /** 起点站关联 */ | ||
| 41 | - @ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | ||
| 42 | - private Station qdz; | ||
| 43 | - /** 终点站关联 */ | ||
| 44 | - @ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | ||
| 45 | - private Station zdz; | ||
| 46 | - /** 停车场关联(出场,进场班次会关联停车场) */ | ||
| 47 | - @ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | ||
| 48 | - private CarPark tcc; | ||
| 49 | - | ||
| 50 | - /** 发车时间(格式 HH:mm) */ | ||
| 51 | - @Column(nullable = false, length = 5) | ||
| 52 | - private String fcsj; | ||
| 53 | - /** 对应班次数 */ | ||
| 54 | - private Integer bcs; | ||
| 55 | - @Column(nullable = false) | ||
| 56 | - /** 计划里程 */ | ||
| 57 | - private Double jhlc; | ||
| 58 | - /** 班次历时 */ | ||
| 59 | - private Integer bcsj; | ||
| 60 | - | ||
| 61 | - /** | ||
| 62 | - * 班次类型 | ||
| 63 | - * TODO:正常班次、出场、进场、加油、临加班次、区间班次、放空班次、放大站班次、两点间空驶 | ||
| 64 | - * TODO:这个以后用枚举还是字典再议,现在先用文字 | ||
| 65 | - */ | ||
| 66 | - @Column(nullable = false) | ||
| 67 | - private String bcType; | ||
| 68 | - | ||
| 69 | - /** 是否分班(表示这个班次是否是晚班班次,就是换另外一个驾驶员开)*/ | ||
| 70 | - private Boolean isFB; | ||
| 71 | - | ||
| 72 | - /** 是否切换线路 */ | ||
| 73 | - private Boolean isSwitchXl; | ||
| 74 | - /** 切换的线路(isSwitchXl == true) */ | ||
| 75 | - @ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | ||
| 76 | - private Line switchXl; | ||
| 77 | - /** 切换线路信息(isSwitchXl == true) */ | ||
| 78 | - private String switchXlDesc; | ||
| 79 | - /** 备注 */ | ||
| 80 | - private String remark; | ||
| 81 | - | ||
| 82 | - /** 创建人 */ | ||
| 83 | - @ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | ||
| 84 | - private SysUser createBy; | ||
| 85 | - /** 修改人 */ | ||
| 86 | - @ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | ||
| 87 | - private SysUser updateBy; | ||
| 88 | - | ||
| 89 | - /** 创建日期 */ | ||
| 90 | - @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP") | ||
| 91 | - private Date createDate; | ||
| 92 | - /** 修改日期 */ | ||
| 93 | - @Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP") | ||
| 94 | - private Date updateDate; | ||
| 95 | - | ||
| 96 | - public Long getId() { | ||
| 97 | - return id; | ||
| 98 | - } | ||
| 99 | - | ||
| 100 | - public void setId(Long id) { | ||
| 101 | - this.id = id; | ||
| 102 | - } | ||
| 103 | - | ||
| 104 | - public Line getXl() { | ||
| 105 | - return xl; | ||
| 106 | - } | ||
| 107 | - | ||
| 108 | - public void setXl(Line xl) { | ||
| 109 | - this.xl = xl; | ||
| 110 | - } | ||
| 111 | - | ||
| 112 | - public TTInfo getTtinfo() { | ||
| 113 | - return ttinfo; | ||
| 114 | - } | ||
| 115 | - | ||
| 116 | - public void setTtinfo(TTInfo ttinfo) { | ||
| 117 | - this.ttinfo = ttinfo; | ||
| 118 | - } | ||
| 119 | - | ||
| 120 | - public GuideboardInfo getLp() { | ||
| 121 | - return lp; | ||
| 122 | - } | ||
| 123 | - | ||
| 124 | - public void setLp(GuideboardInfo lp) { | ||
| 125 | - this.lp = lp; | ||
| 126 | - } | ||
| 127 | - | ||
| 128 | - public Integer getFcno() { | ||
| 129 | - return fcno; | ||
| 130 | - } | ||
| 131 | - | ||
| 132 | - public void setFcno(Integer fcno) { | ||
| 133 | - this.fcno = fcno; | ||
| 134 | - } | ||
| 135 | - | ||
| 136 | - public String getXlDir() { | ||
| 137 | - return xlDir; | ||
| 138 | - } | ||
| 139 | - | ||
| 140 | - public void setXlDir(String xlDir) { | ||
| 141 | - this.xlDir = xlDir; | ||
| 142 | - } | ||
| 143 | - | ||
| 144 | - public Station getQdz() { | ||
| 145 | - return qdz; | ||
| 146 | - } | ||
| 147 | - | ||
| 148 | - public void setQdz(Station qdz) { | ||
| 149 | - this.qdz = qdz; | ||
| 150 | - } | ||
| 151 | - | ||
| 152 | - public Station getZdz() { | ||
| 153 | - return zdz; | ||
| 154 | - } | ||
| 155 | - | ||
| 156 | - public void setZdz(Station zdz) { | ||
| 157 | - this.zdz = zdz; | ||
| 158 | - } | ||
| 159 | - | ||
| 160 | - public String getFcsj() { | ||
| 161 | - return fcsj; | ||
| 162 | - } | ||
| 163 | - | ||
| 164 | - public void setFcsj(String fcsj) { | ||
| 165 | - this.fcsj = fcsj; | ||
| 166 | - } | ||
| 167 | - | ||
| 168 | - public Integer getBcs() { | ||
| 169 | - return bcs; | ||
| 170 | - } | ||
| 171 | - | ||
| 172 | - public void setBcs(Integer bcs) { | ||
| 173 | - this.bcs = bcs; | ||
| 174 | - } | ||
| 175 | - | ||
| 176 | - public Double getJhlc() { | ||
| 177 | - return jhlc; | ||
| 178 | - } | ||
| 179 | - | ||
| 180 | - public void setJhlc(Double jhlc) { | ||
| 181 | - this.jhlc = jhlc; | ||
| 182 | - } | ||
| 183 | - | ||
| 184 | - public Integer getBcsj() { | ||
| 185 | - return bcsj; | ||
| 186 | - } | ||
| 187 | - | ||
| 188 | - public void setBcsj(Integer bcsj) { | ||
| 189 | - this.bcsj = bcsj; | ||
| 190 | - } | ||
| 191 | - | ||
| 192 | - public String getBcType() { | ||
| 193 | - return bcType; | ||
| 194 | - } | ||
| 195 | - | ||
| 196 | - public void setBcType(String bcType) { | ||
| 197 | - this.bcType = bcType; | ||
| 198 | - } | ||
| 199 | - | ||
| 200 | - public Boolean getIsSwitchXl() { | ||
| 201 | - return isSwitchXl; | ||
| 202 | - } | ||
| 203 | - | ||
| 204 | - public void setIsSwitchXl(Boolean isSwitchXl) { | ||
| 205 | - this.isSwitchXl = isSwitchXl; | ||
| 206 | - } | ||
| 207 | - | ||
| 208 | - public Line getSwitchXl() { | ||
| 209 | - return switchXl; | ||
| 210 | - } | ||
| 211 | - | ||
| 212 | - public void setSwitchXl(Line switchXl) { | ||
| 213 | - this.switchXl = switchXl; | ||
| 214 | - } | ||
| 215 | - | ||
| 216 | - public String getSwitchXlDesc() { | ||
| 217 | - return switchXlDesc; | ||
| 218 | - } | ||
| 219 | - | ||
| 220 | - public void setSwitchXlDesc(String switchXlDesc) { | ||
| 221 | - this.switchXlDesc = switchXlDesc; | ||
| 222 | - } | ||
| 223 | - | ||
| 224 | - public String getRemark() { | ||
| 225 | - return remark; | ||
| 226 | - } | ||
| 227 | - | ||
| 228 | - public void setRemark(String remark) { | ||
| 229 | - this.remark = remark; | ||
| 230 | - } | ||
| 231 | - | ||
| 232 | - public SysUser getCreateBy() { | ||
| 233 | - return createBy; | ||
| 234 | - } | ||
| 235 | - | ||
| 236 | - public void setCreateBy(SysUser createBy) { | ||
| 237 | - this.createBy = createBy; | ||
| 238 | - } | ||
| 239 | - | ||
| 240 | - public SysUser getUpdateBy() { | ||
| 241 | - return updateBy; | ||
| 242 | - } | ||
| 243 | - | ||
| 244 | - public void setUpdateBy(SysUser updateBy) { | ||
| 245 | - this.updateBy = updateBy; | ||
| 246 | - } | ||
| 247 | - | ||
| 248 | - public Date getCreateDate() { | ||
| 249 | - return createDate; | ||
| 250 | - } | ||
| 251 | - | ||
| 252 | - public void setCreateDate(Date createDate) { | ||
| 253 | - this.createDate = createDate; | ||
| 254 | - } | ||
| 255 | - | ||
| 256 | - public Date getUpdateDate() { | ||
| 257 | - return updateDate; | ||
| 258 | - } | ||
| 259 | - | ||
| 260 | - public void setUpdateDate(Date updateDate) { | ||
| 261 | - this.updateDate = updateDate; | ||
| 262 | - } | ||
| 263 | - | ||
| 264 | - public CarPark getTcc() { | ||
| 265 | - return tcc; | ||
| 266 | - } | ||
| 267 | - | ||
| 268 | - public void setTcc(CarPark tcc) { | ||
| 269 | - this.tcc = tcc; | ||
| 270 | - } | ||
| 271 | - | ||
| 272 | - public Boolean getIsFB() { | ||
| 273 | - return isFB; | ||
| 274 | - } | ||
| 275 | - | ||
| 276 | - public void setIsFB(Boolean isFB) { | ||
| 277 | - this.isFB = isFB; | ||
| 278 | - } | ||
| 279 | -} | 1 | +package com.bsth.entity.schedule; |
| 2 | + | ||
| 3 | +import com.bsth.entity.CarPark; | ||
| 4 | +import com.bsth.entity.Line; | ||
| 5 | +import com.bsth.entity.Station; | ||
| 6 | +import com.bsth.entity.sys.SysUser; | ||
| 7 | + | ||
| 8 | +import javax.persistence.*; | ||
| 9 | +import java.util.Date; | ||
| 10 | + | ||
| 11 | +/** | ||
| 12 | + * 时刻表明细 | ||
| 13 | + */ | ||
| 14 | +@Entity | ||
| 15 | +@Table(name = "bsth_c_s_ttinfo_detail") | ||
| 16 | +public class TTInfoDetail { | ||
| 17 | + | ||
| 18 | + /** 主健Id */ | ||
| 19 | + @Id | ||
| 20 | + @GeneratedValue | ||
| 21 | + private Long id; | ||
| 22 | + | ||
| 23 | + | ||
| 24 | + /** 关联线路 */ | ||
| 25 | + @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | ||
| 26 | + private Line xl; | ||
| 27 | + /** 时刻表主对象关联 */ | ||
| 28 | + @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | ||
| 29 | + private TTInfo ttinfo; | ||
| 30 | + /** 关联的路牌 */ | ||
| 31 | + @ManyToOne(optional = false, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | ||
| 32 | + private GuideboardInfo lp; | ||
| 33 | + | ||
| 34 | + /** 发车顺序号 */ | ||
| 35 | + @Column(nullable = false) | ||
| 36 | + private Integer fcno; | ||
| 37 | + /** 线路方向(TODO:上下行,上行,下行,这个以后用枚举还是字典再议,现在先用文字) */ | ||
| 38 | + @Column(nullable = false) | ||
| 39 | + private String xlDir; | ||
| 40 | + /** 起点站关联 */ | ||
| 41 | + @ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | ||
| 42 | + private Station qdz; | ||
| 43 | + /** 终点站关联 */ | ||
| 44 | + @ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | ||
| 45 | + private Station zdz; | ||
| 46 | + /** 停车场关联(出场,进场班次会关联停车场) */ | ||
| 47 | + @ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | ||
| 48 | + private CarPark tcc; | ||
| 49 | + | ||
| 50 | + /** 发车时间(格式 HH:mm) */ | ||
| 51 | + @Column(nullable = false, length = 5) | ||
| 52 | + private String fcsj; | ||
| 53 | + /** 对应班次数 */ | ||
| 54 | + private Integer bcs; | ||
| 55 | + @Column(nullable = false) | ||
| 56 | + /** 计划里程 */ | ||
| 57 | + private Double jhlc; | ||
| 58 | + /** 班次历时 */ | ||
| 59 | + private Integer bcsj; | ||
| 60 | + | ||
| 61 | + /** | ||
| 62 | + * 班次类型 | ||
| 63 | + * TODO:正常班次、出场、进场、加油、临加班次、区间班次、放空班次、放大站班次、两点间空驶 | ||
| 64 | + * TODO:这个以后用枚举还是字典再议,现在先用文字 | ||
| 65 | + */ | ||
| 66 | + @Column(nullable = false) | ||
| 67 | + private String bcType; | ||
| 68 | + | ||
| 69 | + /** 是否分班(表示这个班次是否是晚班班次,就是换另外一个驾驶员开)*/ | ||
| 70 | + private Boolean isFB; | ||
| 71 | + | ||
| 72 | + /** 是否切换线路 */ | ||
| 73 | + private Boolean isSwitchXl; | ||
| 74 | + /** 切换的线路(isSwitchXl == true) */ | ||
| 75 | + @ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | ||
| 76 | + private Line switchXl; | ||
| 77 | + /** 切换线路信息(isSwitchXl == true) */ | ||
| 78 | + private String switchXlDesc; | ||
| 79 | + /** 备注 */ | ||
| 80 | + private String remark; | ||
| 81 | + | ||
| 82 | + /** 创建人 */ | ||
| 83 | + @ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | ||
| 84 | + private SysUser createBy; | ||
| 85 | + /** 修改人 */ | ||
| 86 | + @ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) | ||
| 87 | + private SysUser updateBy; | ||
| 88 | + | ||
| 89 | + /** 创建日期 */ | ||
| 90 | + @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP") | ||
| 91 | + private Date createDate; | ||
| 92 | + /** 修改日期 */ | ||
| 93 | + @Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP") | ||
| 94 | + private Date updateDate; | ||
| 95 | + | ||
| 96 | + public Long getId() { | ||
| 97 | + return id; | ||
| 98 | + } | ||
| 99 | + | ||
| 100 | + public void setId(Long id) { | ||
| 101 | + this.id = id; | ||
| 102 | + } | ||
| 103 | + | ||
| 104 | + public Line getXl() { | ||
| 105 | + return xl; | ||
| 106 | + } | ||
| 107 | + | ||
| 108 | + public void setXl(Line xl) { | ||
| 109 | + this.xl = xl; | ||
| 110 | + } | ||
| 111 | + | ||
| 112 | + public TTInfo getTtinfo() { | ||
| 113 | + return ttinfo; | ||
| 114 | + } | ||
| 115 | + | ||
| 116 | + public void setTtinfo(TTInfo ttinfo) { | ||
| 117 | + this.ttinfo = ttinfo; | ||
| 118 | + } | ||
| 119 | + | ||
| 120 | + public GuideboardInfo getLp() { | ||
| 121 | + return lp; | ||
| 122 | + } | ||
| 123 | + | ||
| 124 | + public void setLp(GuideboardInfo lp) { | ||
| 125 | + this.lp = lp; | ||
| 126 | + } | ||
| 127 | + | ||
| 128 | + public Integer getFcno() { | ||
| 129 | + return fcno; | ||
| 130 | + } | ||
| 131 | + | ||
| 132 | + public void setFcno(Integer fcno) { | ||
| 133 | + this.fcno = fcno; | ||
| 134 | + } | ||
| 135 | + | ||
| 136 | + public String getXlDir() { | ||
| 137 | + return xlDir; | ||
| 138 | + } | ||
| 139 | + | ||
| 140 | + public void setXlDir(String xlDir) { | ||
| 141 | + this.xlDir = xlDir; | ||
| 142 | + } | ||
| 143 | + | ||
| 144 | + public Station getQdz() { | ||
| 145 | + return qdz; | ||
| 146 | + } | ||
| 147 | + | ||
| 148 | + public void setQdz(Station qdz) { | ||
| 149 | + this.qdz = qdz; | ||
| 150 | + } | ||
| 151 | + | ||
| 152 | + public Station getZdz() { | ||
| 153 | + return zdz; | ||
| 154 | + } | ||
| 155 | + | ||
| 156 | + public void setZdz(Station zdz) { | ||
| 157 | + this.zdz = zdz; | ||
| 158 | + } | ||
| 159 | + | ||
| 160 | + public String getFcsj() { | ||
| 161 | + return fcsj; | ||
| 162 | + } | ||
| 163 | + | ||
| 164 | + public void setFcsj(String fcsj) { | ||
| 165 | + this.fcsj = fcsj; | ||
| 166 | + } | ||
| 167 | + | ||
| 168 | + public Integer getBcs() { | ||
| 169 | + return bcs; | ||
| 170 | + } | ||
| 171 | + | ||
| 172 | + public void setBcs(Integer bcs) { | ||
| 173 | + this.bcs = bcs; | ||
| 174 | + } | ||
| 175 | + | ||
| 176 | + public Double getJhlc() { | ||
| 177 | + return jhlc; | ||
| 178 | + } | ||
| 179 | + | ||
| 180 | + public void setJhlc(Double jhlc) { | ||
| 181 | + this.jhlc = jhlc; | ||
| 182 | + } | ||
| 183 | + | ||
| 184 | + public Integer getBcsj() { | ||
| 185 | + return bcsj; | ||
| 186 | + } | ||
| 187 | + | ||
| 188 | + public void setBcsj(Integer bcsj) { | ||
| 189 | + this.bcsj = bcsj; | ||
| 190 | + } | ||
| 191 | + | ||
| 192 | + public String getBcType() { | ||
| 193 | + return bcType; | ||
| 194 | + } | ||
| 195 | + | ||
| 196 | + public void setBcType(String bcType) { | ||
| 197 | + this.bcType = bcType; | ||
| 198 | + } | ||
| 199 | + | ||
| 200 | + public Boolean getIsSwitchXl() { | ||
| 201 | + return isSwitchXl; | ||
| 202 | + } | ||
| 203 | + | ||
| 204 | + public void setIsSwitchXl(Boolean isSwitchXl) { | ||
| 205 | + this.isSwitchXl = isSwitchXl; | ||
| 206 | + } | ||
| 207 | + | ||
| 208 | + public Line getSwitchXl() { | ||
| 209 | + return switchXl; | ||
| 210 | + } | ||
| 211 | + | ||
| 212 | + public void setSwitchXl(Line switchXl) { | ||
| 213 | + this.switchXl = switchXl; | ||
| 214 | + } | ||
| 215 | + | ||
| 216 | + public String getSwitchXlDesc() { | ||
| 217 | + return switchXlDesc; | ||
| 218 | + } | ||
| 219 | + | ||
| 220 | + public void setSwitchXlDesc(String switchXlDesc) { | ||
| 221 | + this.switchXlDesc = switchXlDesc; | ||
| 222 | + } | ||
| 223 | + | ||
| 224 | + public String getRemark() { | ||
| 225 | + return remark; | ||
| 226 | + } | ||
| 227 | + | ||
| 228 | + public void setRemark(String remark) { | ||
| 229 | + this.remark = remark; | ||
| 230 | + } | ||
| 231 | + | ||
| 232 | + public SysUser getCreateBy() { | ||
| 233 | + return createBy; | ||
| 234 | + } | ||
| 235 | + | ||
| 236 | + public void setCreateBy(SysUser createBy) { | ||
| 237 | + this.createBy = createBy; | ||
| 238 | + } | ||
| 239 | + | ||
| 240 | + public SysUser getUpdateBy() { | ||
| 241 | + return updateBy; | ||
| 242 | + } | ||
| 243 | + | ||
| 244 | + public void setUpdateBy(SysUser updateBy) { | ||
| 245 | + this.updateBy = updateBy; | ||
| 246 | + } | ||
| 247 | + | ||
| 248 | + public Date getCreateDate() { | ||
| 249 | + return createDate; | ||
| 250 | + } | ||
| 251 | + | ||
| 252 | + public void setCreateDate(Date createDate) { | ||
| 253 | + this.createDate = createDate; | ||
| 254 | + } | ||
| 255 | + | ||
| 256 | + public Date getUpdateDate() { | ||
| 257 | + return updateDate; | ||
| 258 | + } | ||
| 259 | + | ||
| 260 | + public void setUpdateDate(Date updateDate) { | ||
| 261 | + this.updateDate = updateDate; | ||
| 262 | + } | ||
| 263 | + | ||
| 264 | + public CarPark getTcc() { | ||
| 265 | + return tcc; | ||
| 266 | + } | ||
| 267 | + | ||
| 268 | + public void setTcc(CarPark tcc) { | ||
| 269 | + this.tcc = tcc; | ||
| 270 | + } | ||
| 271 | + | ||
| 272 | + public Boolean getIsFB() { | ||
| 273 | + return isFB; | ||
| 274 | + } | ||
| 275 | + | ||
| 276 | + public void setIsFB(Boolean isFB) { | ||
| 277 | + this.isFB = isFB; | ||
| 278 | + } | ||
| 279 | +} |
src/main/java/com/bsth/repository/CarDeviceRepository.java
| 1 | -package com.bsth.repository; | ||
| 2 | - | ||
| 3 | -import com.bsth.entity.CarDevice; | ||
| 4 | -import org.springframework.stereotype.Repository; | ||
| 5 | - | ||
| 6 | -/** | ||
| 7 | - * Created by xu on 16/6/15. | ||
| 8 | - */ | ||
| 9 | -@Repository | ||
| 10 | -public interface CarDeviceRepository extends BaseRepository<CarDevice, Long> { | ||
| 11 | -} | 1 | +package com.bsth.repository; |
| 2 | + | ||
| 3 | +import com.bsth.entity.CarDevice; | ||
| 4 | +import org.springframework.stereotype.Repository; | ||
| 5 | + | ||
| 6 | +/** | ||
| 7 | + * Created by xu on 16/6/15. | ||
| 8 | + */ | ||
| 9 | +@Repository | ||
| 10 | +public interface CarDeviceRepository extends BaseRepository<CarDevice, Long> { | ||
| 11 | +} |
src/main/java/com/bsth/repository/PersonnelRepository.java
| 1 | -package com.bsth.repository; | ||
| 2 | - | ||
| 3 | -import com.bsth.entity.Personnel; | ||
| 4 | -import org.springframework.stereotype.Repository; | ||
| 5 | - | ||
| 6 | -/** | ||
| 7 | - * Created by xu on 16/6/15. | ||
| 8 | - */ | ||
| 9 | -@Repository | ||
| 10 | -public interface PersonnelRepository extends BaseRepository<Personnel, Integer> { | ||
| 11 | -} | 1 | +package com.bsth.repository; |
| 2 | + | ||
| 3 | +import com.bsth.entity.Personnel; | ||
| 4 | +import org.springframework.stereotype.Repository; | ||
| 5 | + | ||
| 6 | +/** | ||
| 7 | + * Created by xu on 16/6/15. | ||
| 8 | + */ | ||
| 9 | +@Repository | ||
| 10 | +public interface PersonnelRepository extends BaseRepository<Personnel, Integer> { | ||
| 11 | +} |
src/main/java/com/bsth/repository/schedule/CarConfigInfoRepository.java
| @@ -2,10 +2,14 @@ package com.bsth.repository.schedule; | @@ -2,10 +2,14 @@ package com.bsth.repository.schedule; | ||
| 2 | 2 | ||
| 3 | import com.bsth.entity.schedule.CarConfigInfo; | 3 | import com.bsth.entity.schedule.CarConfigInfo; |
| 4 | import com.bsth.repository.BaseRepository; | 4 | import com.bsth.repository.BaseRepository; |
| 5 | + | ||
| 6 | +import java.util.List; | ||
| 7 | + | ||
| 5 | import org.springframework.data.domain.Page; | 8 | import org.springframework.data.domain.Page; |
| 6 | import org.springframework.data.domain.Pageable; | 9 | import org.springframework.data.domain.Pageable; |
| 7 | import org.springframework.data.jpa.domain.Specification; | 10 | import org.springframework.data.jpa.domain.Specification; |
| 8 | import org.springframework.data.jpa.repository.EntityGraph; | 11 | import org.springframework.data.jpa.repository.EntityGraph; |
| 12 | +import org.springframework.data.jpa.repository.Query; | ||
| 9 | import org.springframework.stereotype.Repository; | 13 | import org.springframework.stereotype.Repository; |
| 10 | 14 | ||
| 11 | /** | 15 | /** |
| @@ -17,4 +21,8 @@ public interface CarConfigInfoRepository extends BaseRepository<CarConfigInfo, L | @@ -17,4 +21,8 @@ public interface CarConfigInfoRepository extends BaseRepository<CarConfigInfo, L | ||
| 17 | @EntityGraph(value = "carConfigInfo_xl_cl", type = EntityGraph.EntityGraphType.FETCH) | 21 | @EntityGraph(value = "carConfigInfo_xl_cl", type = EntityGraph.EntityGraphType.FETCH) |
| 18 | @Override | 22 | @Override |
| 19 | Page<CarConfigInfo> findAll(Specification<CarConfigInfo> spec, Pageable pageable); | 23 | Page<CarConfigInfo> findAll(Specification<CarConfigInfo> spec, Pageable pageable); |
| 20 | -} | 24 | + |
| 25 | + @EntityGraph(value = "carConfigInfo_xl_cl", type = EntityGraph.EntityGraphType.FETCH) | ||
| 26 | + @Query("select cc from CarConfigInfo cc where cc.xl.lineCode=?1") | ||
| 27 | + List<CarConfigInfo> findBylineCode(String lineCode); | ||
| 28 | +} | ||
| 21 | \ No newline at end of file | 29 | \ No newline at end of file |
src/main/java/com/bsth/repository/schedule/EmployeeConfigInfoRepository.java
| @@ -16,6 +16,6 @@ import org.springframework.stereotype.Repository; | @@ -16,6 +16,6 @@ import org.springframework.stereotype.Repository; | ||
| 16 | public interface EmployeeConfigInfoRepository extends BaseRepository<EmployeeConfigInfo, Long> { | 16 | public interface EmployeeConfigInfoRepository extends BaseRepository<EmployeeConfigInfo, Long> { |
| 17 | 17 | ||
| 18 | @EntityGraph(value = "employeeConfigInfo_xl_cl", type = EntityGraph.EntityGraphType.FETCH) | 18 | @EntityGraph(value = "employeeConfigInfo_xl_cl", type = EntityGraph.EntityGraphType.FETCH) |
| 19 | - @Query("select ec from EmployeeConfigInfo ec where ec.xl.id=?1") | ||
| 20 | - List<EmployeeConfigInfo> findByLine(Integer lineId); | 19 | + @Query("select ec from EmployeeConfigInfo ec where ec.xl.lineCode=?1") |
| 20 | + List<EmployeeConfigInfo> findBylineCode(String lineCode); | ||
| 21 | } | 21 | } |
src/main/java/com/bsth/repository/schedule/SchedulePlanRepository.java
| 1 | -package com.bsth.repository.schedule; | ||
| 2 | - | ||
| 3 | -import com.bsth.entity.schedule.SchedulePlan; | ||
| 4 | -import com.bsth.repository.BaseRepository; | ||
| 5 | -import org.springframework.stereotype.Repository; | ||
| 6 | - | ||
| 7 | -/** | ||
| 8 | - * Created by xu on 16/6/16. | ||
| 9 | - */ | ||
| 10 | -@Repository | ||
| 11 | -public interface SchedulePlanRepository extends BaseRepository<SchedulePlan, Long> { | ||
| 12 | -} | 1 | +package com.bsth.repository.schedule; |
| 2 | + | ||
| 3 | +import com.bsth.entity.schedule.SchedulePlan; | ||
| 4 | +import com.bsth.repository.BaseRepository; | ||
| 5 | +import org.springframework.stereotype.Repository; | ||
| 6 | + | ||
| 7 | +/** | ||
| 8 | + * Created by xu on 16/6/16. | ||
| 9 | + */ | ||
| 10 | +@Repository | ||
| 11 | +public interface SchedulePlanRepository extends BaseRepository<SchedulePlan, Long> { | ||
| 12 | +} |
src/main/java/com/bsth/service/CarDeviceService.java
| 1 | -package com.bsth.service; | ||
| 2 | - | ||
| 3 | -import com.bsth.entity.CarDevice; | ||
| 4 | - | ||
| 5 | -/** | ||
| 6 | - * Created by xu on 16/6/15. | ||
| 7 | - */ | ||
| 8 | -public interface CarDeviceService extends BaseService<CarDevice, Long> { | ||
| 9 | -} | 1 | +package com.bsth.service; |
| 2 | + | ||
| 3 | +import com.bsth.entity.CarDevice; | ||
| 4 | + | ||
| 5 | +/** | ||
| 6 | + * Created by xu on 16/6/15. | ||
| 7 | + */ | ||
| 8 | +public interface CarDeviceService extends BaseService<CarDevice, Long> { | ||
| 9 | +} |
src/main/java/com/bsth/service/PersonnelService.java
| 1 | -package com.bsth.service; | ||
| 2 | - | ||
| 3 | -import com.bsth.entity.Personnel; | ||
| 4 | - | ||
| 5 | -/** | ||
| 6 | - * Created by xu on 16/6/15. | ||
| 7 | - */ | ||
| 8 | -public interface PersonnelService extends BaseService<Personnel, Integer> { | ||
| 9 | -} | 1 | +package com.bsth.service; |
| 2 | + | ||
| 3 | +import com.bsth.entity.Personnel; | ||
| 4 | + | ||
| 5 | +/** | ||
| 6 | + * Created by xu on 16/6/15. | ||
| 7 | + */ | ||
| 8 | +public interface PersonnelService extends BaseService<Personnel, Integer> { | ||
| 9 | +} |
src/main/java/com/bsth/service/impl/CarDeviceServiceImpl.java
| 1 | -package com.bsth.service.impl; | ||
| 2 | - | ||
| 3 | -import com.bsth.entity.CarDevice; | ||
| 4 | -import com.bsth.service.CarDeviceService; | ||
| 5 | -import org.springframework.stereotype.Service; | ||
| 6 | - | ||
| 7 | -/** | ||
| 8 | - * Created by xu on 16/6/15. | ||
| 9 | - */ | ||
| 10 | -@Service | ||
| 11 | -public class CarDeviceServiceImpl extends BaseServiceImpl<CarDevice, Long> implements CarDeviceService { | ||
| 12 | -} | 1 | +package com.bsth.service.impl; |
| 2 | + | ||
| 3 | +import com.bsth.entity.CarDevice; | ||
| 4 | +import com.bsth.service.CarDeviceService; | ||
| 5 | +import org.springframework.stereotype.Service; | ||
| 6 | + | ||
| 7 | +/** | ||
| 8 | + * Created by xu on 16/6/15. | ||
| 9 | + */ | ||
| 10 | +@Service | ||
| 11 | +public class CarDeviceServiceImpl extends BaseServiceImpl<CarDevice, Long> implements CarDeviceService { | ||
| 12 | +} |
src/main/java/com/bsth/service/impl/PersonnelServiceImpl.java
| 1 | -package com.bsth.service.impl; | ||
| 2 | - | ||
| 3 | -import com.bsth.entity.Personnel; | ||
| 4 | -import com.bsth.service.PersonnelService; | ||
| 5 | -import org.springframework.stereotype.Service; | ||
| 6 | - | ||
| 7 | -/** | ||
| 8 | - * Created by xu on 16/6/15. | ||
| 9 | - */ | ||
| 10 | -@Service | ||
| 11 | -public class PersonnelServiceImpl extends BaseServiceImpl<Personnel, Integer> implements PersonnelService { | ||
| 12 | -} | 1 | +package com.bsth.service.impl; |
| 2 | + | ||
| 3 | +import com.bsth.entity.Personnel; | ||
| 4 | +import com.bsth.service.PersonnelService; | ||
| 5 | +import org.springframework.stereotype.Service; | ||
| 6 | + | ||
| 7 | +/** | ||
| 8 | + * Created by xu on 16/6/15. | ||
| 9 | + */ | ||
| 10 | +@Service | ||
| 11 | +public class PersonnelServiceImpl extends BaseServiceImpl<Personnel, Integer> implements PersonnelService { | ||
| 12 | +} |
src/main/java/com/bsth/service/realcontrol/ScheduleRealInfoService.java
| 1 | package com.bsth.service.realcontrol; | 1 | package com.bsth.service.realcontrol; |
| 2 | 2 | ||
| 3 | import java.util.Collection; | 3 | import java.util.Collection; |
| 4 | +import java.util.List; | ||
| 4 | import java.util.Map; | 5 | import java.util.Map; |
| 5 | 6 | ||
| 6 | import org.springframework.stereotype.Service; | 7 | import org.springframework.stereotype.Service; |
| @@ -17,4 +18,10 @@ public interface ScheduleRealInfoService extends BaseService<ScheduleRealInfo, L | @@ -17,4 +18,10 @@ public interface ScheduleRealInfoService extends BaseService<ScheduleRealInfo, L | ||
| 17 | 18 | ||
| 18 | Map<String, Object> destroy(String idsStr, int spaceAdjust, String remarks, String reason, int spaceNum); | 19 | Map<String, Object> destroy(String idsStr, int spaceAdjust, String remarks, String reason, int spaceNum); |
| 19 | 20 | ||
| 21 | + List<Map<String, String>> findDriverByLine(String lineCode); | ||
| 22 | + | ||
| 23 | + List<Map<String, String>> findConductorByLine(String lineCode); | ||
| 24 | + | ||
| 25 | + List<Map<String, String>> findCarByLine(String lineCode); | ||
| 26 | + | ||
| 20 | } | 27 | } |
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
| @@ -14,8 +14,14 @@ import org.springframework.beans.factory.annotation.Autowired; | @@ -14,8 +14,14 @@ import org.springframework.beans.factory.annotation.Autowired; | ||
| 14 | import org.springframework.stereotype.Service; | 14 | import org.springframework.stereotype.Service; |
| 15 | 15 | ||
| 16 | import com.bsth.common.ResponseCode; | 16 | import com.bsth.common.ResponseCode; |
| 17 | +import com.bsth.entity.Cars; | ||
| 18 | +import com.bsth.entity.Personnel; | ||
| 17 | import com.bsth.entity.realcontrol.ScheduleRealInfo; | 19 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 20 | +import com.bsth.entity.schedule.CarConfigInfo; | ||
| 21 | +import com.bsth.entity.schedule.EmployeeConfigInfo; | ||
| 18 | import com.bsth.repository.realcontrol.ScheduleRealInfoRepository; | 22 | import com.bsth.repository.realcontrol.ScheduleRealInfoRepository; |
| 23 | +import com.bsth.repository.schedule.CarConfigInfoRepository; | ||
| 24 | +import com.bsth.repository.schedule.EmployeeConfigInfoRepository; | ||
| 19 | import com.bsth.service.impl.BaseServiceImpl; | 25 | import com.bsth.service.impl.BaseServiceImpl; |
| 20 | import com.bsth.service.realcontrol.ScheduleRealInfoService; | 26 | import com.bsth.service.realcontrol.ScheduleRealInfoService; |
| 21 | import com.bsth.service.realcontrol.buffer.ScheduleBuffer; | 27 | import com.bsth.service.realcontrol.buffer.ScheduleBuffer; |
| @@ -30,6 +36,12 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -30,6 +36,12 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 30 | @Autowired | 36 | @Autowired |
| 31 | ScheduleRealInfoRepository scheduleRealInfoRepository; | 37 | ScheduleRealInfoRepository scheduleRealInfoRepository; |
| 32 | 38 | ||
| 39 | + @Autowired | ||
| 40 | + EmployeeConfigInfoRepository employeeConfigInfoRepository; | ||
| 41 | + | ||
| 42 | + @Autowired | ||
| 43 | + CarConfigInfoRepository carConfigInfoRepository; | ||
| 44 | + | ||
| 33 | Logger logger = LoggerFactory.getLogger(this.getClass()); | 45 | Logger logger = LoggerFactory.getLogger(this.getClass()); |
| 34 | 46 | ||
| 35 | SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd") | 47 | SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd") |
| @@ -139,4 +151,73 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -139,4 +151,73 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 139 | } | 151 | } |
| 140 | return map; | 152 | return map; |
| 141 | } | 153 | } |
| 154 | + | ||
| 155 | + //线路id获取驾驶员 | ||
| 156 | + @Override | ||
| 157 | + public List<Map<String, String>> findDriverByLine(String lineCode) { | ||
| 158 | + List<EmployeeConfigInfo> list = employeeConfigInfoRepository.findBylineCode(lineCode); | ||
| 159 | + | ||
| 160 | + List<Map<String, String>> rsList = new ArrayList<>(); | ||
| 161 | + Map<String, String> map = null; | ||
| 162 | + Personnel driver = null; | ||
| 163 | + String code = null; | ||
| 164 | + | ||
| 165 | + for(EmployeeConfigInfo employee : list){ | ||
| 166 | + driver = employee.getJsy(); | ||
| 167 | + if(driver != null){ | ||
| 168 | + map = new HashMap<>(); | ||
| 169 | + code = driver.getJobCode(); | ||
| 170 | + map.put("id", code); | ||
| 171 | + map.put("text", code + "/" + driver.getPersonnelName()); | ||
| 172 | + rsList.add(map); | ||
| 173 | + } | ||
| 174 | + } | ||
| 175 | + return rsList; | ||
| 176 | + } | ||
| 177 | + | ||
| 178 | + //线路id获取售票员 | ||
| 179 | + @Override | ||
| 180 | + public List<Map<String, String>> findConductorByLine(String lineCode) { | ||
| 181 | + List<EmployeeConfigInfo> list = employeeConfigInfoRepository.findBylineCode(lineCode); | ||
| 182 | + | ||
| 183 | + List<Map<String, String>> rsList = new ArrayList<>(); | ||
| 184 | + Map<String, String> map = null; | ||
| 185 | + Personnel conductor = null; | ||
| 186 | + String code = null; | ||
| 187 | + | ||
| 188 | + for(EmployeeConfigInfo employee : list){ | ||
| 189 | + conductor = employee.getSpy(); | ||
| 190 | + if(conductor != null){ | ||
| 191 | + code = conductor.getJobCode(); | ||
| 192 | + map = new HashMap<>(); | ||
| 193 | + map.put("id", code); | ||
| 194 | + map.put("text", code + "/" + conductor.getPersonnelName()); | ||
| 195 | + rsList.add(map); | ||
| 196 | + } | ||
| 197 | + } | ||
| 198 | + return rsList; | ||
| 199 | + } | ||
| 200 | + | ||
| 201 | + @Override | ||
| 202 | + public List<Map<String, String>> findCarByLine(String lineCode) { | ||
| 203 | + | ||
| 204 | + List<CarConfigInfo> list = carConfigInfoRepository.findBylineCode(lineCode); | ||
| 205 | + | ||
| 206 | + List<Map<String, String>> rsList = new ArrayList<>(); | ||
| 207 | + Map<String, String> map = null; | ||
| 208 | + Cars car = null; | ||
| 209 | + String code = null; | ||
| 210 | + | ||
| 211 | + for(CarConfigInfo cci : list){ | ||
| 212 | + car = cci.getCl(); | ||
| 213 | + if(car != null){ | ||
| 214 | + code = car.getInsideCode(); | ||
| 215 | + map = new HashMap<>(); | ||
| 216 | + map.put("id", code); | ||
| 217 | + map.put("text", code); | ||
| 218 | + rsList.add(map); | ||
| 219 | + } | ||
| 220 | + } | ||
| 221 | + return rsList; | ||
| 222 | + } | ||
| 142 | } | 223 | } |
src/main/java/com/bsth/service/schedule/SchedulePlanInfoService.java
| 1 | -package com.bsth.service.schedule; | ||
| 2 | - | ||
| 3 | -import com.bsth.entity.schedule.SchedulePlanInfo; | ||
| 4 | -import com.bsth.service.BaseService; | ||
| 5 | - | ||
| 6 | -/** | ||
| 7 | - * Created by xu on 16/6/16. | ||
| 8 | - */ | ||
| 9 | -public interface SchedulePlanInfoService extends BaseService<SchedulePlanInfo, Long> { | ||
| 10 | -} | 1 | +package com.bsth.service.schedule; |
| 2 | + | ||
| 3 | +import com.bsth.entity.schedule.SchedulePlanInfo; | ||
| 4 | +import com.bsth.service.BaseService; | ||
| 5 | + | ||
| 6 | +/** | ||
| 7 | + * Created by xu on 16/6/16. | ||
| 8 | + */ | ||
| 9 | +public interface SchedulePlanInfoService extends BaseService<SchedulePlanInfo, Long> { | ||
| 10 | +} |
src/main/java/com/bsth/service/schedule/SchedulePlanInfoServiceImpl.java
| 1 | -package com.bsth.service.schedule; | ||
| 2 | - | ||
| 3 | -import com.bsth.entity.schedule.SchedulePlanInfo; | ||
| 4 | -import com.bsth.service.impl.BaseServiceImpl; | ||
| 5 | -import org.springframework.stereotype.Service; | ||
| 6 | - | ||
| 7 | -/** | ||
| 8 | - * Created by xu on 16/6/16. | ||
| 9 | - */ | ||
| 10 | -@Service | ||
| 11 | -public class SchedulePlanInfoServiceImpl extends BaseServiceImpl<SchedulePlanInfo, Long> implements SchedulePlanInfoService { | ||
| 12 | -} | 1 | +package com.bsth.service.schedule; |
| 2 | + | ||
| 3 | +import com.bsth.entity.schedule.SchedulePlanInfo; | ||
| 4 | +import com.bsth.service.impl.BaseServiceImpl; | ||
| 5 | +import org.springframework.stereotype.Service; | ||
| 6 | + | ||
| 7 | +/** | ||
| 8 | + * Created by xu on 16/6/16. | ||
| 9 | + */ | ||
| 10 | +@Service | ||
| 11 | +public class SchedulePlanInfoServiceImpl extends BaseServiceImpl<SchedulePlanInfo, Long> implements SchedulePlanInfoService { | ||
| 12 | +} |
src/main/java/com/bsth/service/schedule/SchedulePlanService.java
| 1 | -package com.bsth.service.schedule; | ||
| 2 | - | ||
| 3 | -import com.bsth.entity.schedule.SchedulePlan; | ||
| 4 | -import com.bsth.service.BaseService; | ||
| 5 | - | ||
| 6 | -/** | ||
| 7 | - * Created by xu on 16/6/16. | ||
| 8 | - */ | ||
| 9 | -public interface SchedulePlanService extends BaseService<SchedulePlan, Long> { | ||
| 10 | -} | 1 | +package com.bsth.service.schedule; |
| 2 | + | ||
| 3 | +import com.bsth.entity.schedule.SchedulePlan; | ||
| 4 | +import com.bsth.service.BaseService; | ||
| 5 | + | ||
| 6 | +/** | ||
| 7 | + * Created by xu on 16/6/16. | ||
| 8 | + */ | ||
| 9 | +public interface SchedulePlanService extends BaseService<SchedulePlan, Long> { | ||
| 10 | +} |
src/main/java/com/bsth/service/schedule/SchedulePlanServiceImpl.java
| 1 | -package com.bsth.service.schedule; | ||
| 2 | - | ||
| 3 | -import com.bsth.entity.schedule.SchedulePlan; | ||
| 4 | -import com.bsth.service.impl.BaseServiceImpl; | ||
| 5 | -import org.springframework.stereotype.Service; | ||
| 6 | - | ||
| 7 | -/** | ||
| 8 | - * Created by xu on 16/6/16. | ||
| 9 | - */ | ||
| 10 | -@Service | ||
| 11 | -public class SchedulePlanServiceImpl extends BaseServiceImpl<SchedulePlan, Long> implements SchedulePlanService { | ||
| 12 | -} | 1 | +package com.bsth.service.schedule; |
| 2 | + | ||
| 3 | +import com.bsth.entity.schedule.SchedulePlan; | ||
| 4 | +import com.bsth.service.impl.BaseServiceImpl; | ||
| 5 | +import org.springframework.stereotype.Service; | ||
| 6 | + | ||
| 7 | +/** | ||
| 8 | + * Created by xu on 16/6/16. | ||
| 9 | + */ | ||
| 10 | +@Service | ||
| 11 | +public class SchedulePlanServiceImpl extends BaseServiceImpl<SchedulePlan, Long> implements SchedulePlanService { | ||
| 12 | +} |
src/main/java/com/bsth/service/schedule/rules/Message.java
| 1 | -package com.bsth.service.schedule.rules; | ||
| 2 | - | ||
| 3 | -/** | ||
| 4 | - * Created by xu on 16/6/15. | ||
| 5 | - */ | ||
| 6 | -public class Message { | ||
| 7 | - public static final int HELLO = 0; | ||
| 8 | - public static final int GOODBYE = 1; | ||
| 9 | - | ||
| 10 | - private String message; | ||
| 11 | - private int status; | ||
| 12 | - public String getMessage() { | ||
| 13 | - return message; | ||
| 14 | - } | ||
| 15 | - public void setMessage(String message) { | ||
| 16 | - this.message = message; | ||
| 17 | - } | ||
| 18 | - public int getStatus() { | ||
| 19 | - return status; | ||
| 20 | - } | ||
| 21 | - public void setStatus(int status) { | ||
| 22 | - this.status = status; | ||
| 23 | - } | ||
| 24 | -} | 1 | +package com.bsth.service.schedule.rules; |
| 2 | + | ||
| 3 | +/** | ||
| 4 | + * Created by xu on 16/6/15. | ||
| 5 | + */ | ||
| 6 | +public class Message { | ||
| 7 | + public static final int HELLO = 0; | ||
| 8 | + public static final int GOODBYE = 1; | ||
| 9 | + | ||
| 10 | + private String message; | ||
| 11 | + private int status; | ||
| 12 | + public String getMessage() { | ||
| 13 | + return message; | ||
| 14 | + } | ||
| 15 | + public void setMessage(String message) { | ||
| 16 | + this.message = message; | ||
| 17 | + } | ||
| 18 | + public int getStatus() { | ||
| 19 | + return status; | ||
| 20 | + } | ||
| 21 | + public void setStatus(int status) { | ||
| 22 | + this.status = status; | ||
| 23 | + } | ||
| 24 | +} |
src/main/java/com/bsth/service/schedule/rules/MyDroolsConfiguration.java
| 1 | -package com.bsth.service.schedule.rules; | ||
| 2 | - | ||
| 3 | -import org.kie.api.KieBase; | ||
| 4 | -import org.kie.api.KieBaseConfiguration; | ||
| 5 | -import org.kie.api.KieServices; | ||
| 6 | -import org.kie.api.builder.*; | ||
| 7 | -import org.kie.api.builder.Message; | ||
| 8 | -import org.kie.api.builder.model.KieBaseModel; | ||
| 9 | -import org.kie.api.builder.model.KieModuleModel; | ||
| 10 | -import org.kie.api.builder.model.KieSessionModel; | ||
| 11 | -import org.kie.api.conf.EqualityBehaviorOption; | ||
| 12 | -import org.kie.api.conf.EventProcessingOption; | ||
| 13 | -import org.kie.api.runtime.KieContainer; | ||
| 14 | -import org.kie.api.runtime.conf.ClockTypeOption; | ||
| 15 | -import org.springframework.context.annotation.Bean; | ||
| 16 | -import org.springframework.context.annotation.Configuration; | ||
| 17 | - | ||
| 18 | -/** | ||
| 19 | - * Drools 6配置类。 | ||
| 20 | - */ | ||
| 21 | -@Configuration | ||
| 22 | -public class MyDroolsConfiguration { | ||
| 23 | - /** | ||
| 24 | - * 返回一个kiebase知识库,直接冲文件系统读入drl规则文件, | ||
| 25 | - * TODO:以后需要从数据库读入规则文件,并重新创建kbase知识库。 | ||
| 26 | - */ | ||
| 27 | - @Bean | ||
| 28 | - public KieBase myKieBase() { | ||
| 29 | - // Drools 6开始引入kie统一接口(jboss的jbpm工作流也使用kie接口了),整个定义方式和5差别很大 | ||
| 30 | - // 这里使用全api方式创建知识库对象,不使用xml的方式,提供最大的灵活性 | ||
| 31 | - | ||
| 32 | - // 1、创建kieservices | ||
| 33 | - KieServices kieServices = KieServices.Factory.get(); | ||
| 34 | - // 2、创建KieModuleModel,默认是由kmodule.xml的方式创建,这里使用api方式闯将 | ||
| 35 | - KieModuleModel kieModuleModel = kieServices.newKieModuleModel(); | ||
| 36 | - // 2.1、创建KieBaseModel,类似kmodule.xml中的kbase标签 | ||
| 37 | - KieBaseModel kieBaseModel1 = kieModuleModel.newKieBaseModel("KBase1") | ||
| 38 | - .setDefault(true) | ||
| 39 | - .setEqualsBehavior(EqualityBehaviorOption.EQUALITY) | ||
| 40 | - .setEventProcessingMode(EventProcessingOption.STREAM); | ||
| 41 | - // 2.2、创建与kbase关联的KieSessionModel,类似kmodule.xml中的kbase内的ksession标签 | ||
| 42 | - kieBaseModel1.newKieSessionModel("KSession1") | ||
| 43 | - .setDefault(true) | ||
| 44 | - .setType(KieSessionModel.KieSessionType.STATEFUL) | ||
| 45 | - .setClockType(ClockTypeOption.get("realtime")); | ||
| 46 | - | ||
| 47 | - // 3、创建KieFileSystem,将模型xml,drl等写入,TODO:以后考虑从数据库中获取 | ||
| 48 | - KieFileSystem kfs = kieServices.newKieFileSystem(); | ||
| 49 | - // 3.1、写入KieBaseModel(内部包含了KieSessionModel的内容了,注意之前的KieSessionModel的创建方式) | ||
| 50 | - kfs.writeKModuleXML(kieModuleModel.toXML()); | ||
| 51 | - | ||
| 52 | - // 3.2、写入drl(写法超多,有点混乱) | ||
| 53 | - // 这里使用文件的形式写入,TODO:以后考虑从数据库中读drl写入 | ||
| 54 | - // 注意kfs写的时候如果指定path,强制为src/main/resources/加上文件名,还有就是文件名不要重复否则会覆盖的 | ||
| 55 | - kfs.write("src/main/resources/HelloWorld.drl", kieServices.getResources() | ||
| 56 | - .newInputStreamResource(this.getClass().getResourceAsStream( | ||
| 57 | - "/rules/HelloWorld.drl"), "UTF-8")); | ||
| 58 | - kfs.write("src/main/resources/shiftloop.drl", kieServices.getResources() | ||
| 59 | - .newInputStreamResource(this.getClass().getResourceAsStream( | ||
| 60 | - "/rules/shiftloop.drl"), "UTF-8")); | ||
| 61 | - // TODO:还有其他drl.... | ||
| 62 | - | ||
| 63 | - // 4、创建KieBuilder,使用KieFileSystem构建 | ||
| 64 | - KieBuilder kieBuilder = kieServices.newKieBuilder(kfs).buildAll(); | ||
| 65 | - Results results = kieBuilder.getResults(); | ||
| 66 | - if (results.hasMessages(Message.Level.ERROR)) | ||
| 67 | - throw new IllegalStateException("构建drools6错误:" + results.getMessages()); | ||
| 68 | - | ||
| 69 | - // 5、获取KieContainer | ||
| 70 | - // TODO:ReleaseId用处很大,以后再议 | ||
| 71 | - ReleaseId releaseId = kieServices.getRepository().getDefaultReleaseId(); | ||
| 72 | - KieContainer kieContainer = kieServices.newKieContainer(releaseId); | ||
| 73 | - | ||
| 74 | - // 6、创建kbase | ||
| 75 | - KieBaseConfiguration kieBaseConfiguration = kieServices.newKieBaseConfiguration(); | ||
| 76 | - KieBase kieBase = kieContainer.newKieBase("KBase1", kieBaseConfiguration); | ||
| 77 | - | ||
| 78 | - return kieBase; | ||
| 79 | - } | ||
| 80 | -} | 1 | +package com.bsth.service.schedule.rules; |
| 2 | + | ||
| 3 | +import org.kie.api.KieBase; | ||
| 4 | +import org.kie.api.KieBaseConfiguration; | ||
| 5 | +import org.kie.api.KieServices; | ||
| 6 | +import org.kie.api.builder.*; | ||
| 7 | +import org.kie.api.builder.Message; | ||
| 8 | +import org.kie.api.builder.model.KieBaseModel; | ||
| 9 | +import org.kie.api.builder.model.KieModuleModel; | ||
| 10 | +import org.kie.api.builder.model.KieSessionModel; | ||
| 11 | +import org.kie.api.conf.EqualityBehaviorOption; | ||
| 12 | +import org.kie.api.conf.EventProcessingOption; | ||
| 13 | +import org.kie.api.runtime.KieContainer; | ||
| 14 | +import org.kie.api.runtime.conf.ClockTypeOption; | ||
| 15 | +import org.springframework.context.annotation.Bean; | ||
| 16 | +import org.springframework.context.annotation.Configuration; | ||
| 17 | + | ||
| 18 | +/** | ||
| 19 | + * Drools 6配置类。 | ||
| 20 | + */ | ||
| 21 | +@Configuration | ||
| 22 | +public class MyDroolsConfiguration { | ||
| 23 | + /** | ||
| 24 | + * 返回一个kiebase知识库,直接冲文件系统读入drl规则文件, | ||
| 25 | + * TODO:以后需要从数据库读入规则文件,并重新创建kbase知识库。 | ||
| 26 | + */ | ||
| 27 | + @Bean | ||
| 28 | + public KieBase myKieBase() { | ||
| 29 | + // Drools 6开始引入kie统一接口(jboss的jbpm工作流也使用kie接口了),整个定义方式和5差别很大 | ||
| 30 | + // 这里使用全api方式创建知识库对象,不使用xml的方式,提供最大的灵活性 | ||
| 31 | + | ||
| 32 | + // 1、创建kieservices | ||
| 33 | + KieServices kieServices = KieServices.Factory.get(); | ||
| 34 | + // 2、创建KieModuleModel,默认是由kmodule.xml的方式创建,这里使用api方式闯将 | ||
| 35 | + KieModuleModel kieModuleModel = kieServices.newKieModuleModel(); | ||
| 36 | + // 2.1、创建KieBaseModel,类似kmodule.xml中的kbase标签 | ||
| 37 | + KieBaseModel kieBaseModel1 = kieModuleModel.newKieBaseModel("KBase1") | ||
| 38 | + .setDefault(true) | ||
| 39 | + .setEqualsBehavior(EqualityBehaviorOption.EQUALITY) | ||
| 40 | + .setEventProcessingMode(EventProcessingOption.STREAM); | ||
| 41 | + // 2.2、创建与kbase关联的KieSessionModel,类似kmodule.xml中的kbase内的ksession标签 | ||
| 42 | + kieBaseModel1.newKieSessionModel("KSession1") | ||
| 43 | + .setDefault(true) | ||
| 44 | + .setType(KieSessionModel.KieSessionType.STATEFUL) | ||
| 45 | + .setClockType(ClockTypeOption.get("realtime")); | ||
| 46 | + | ||
| 47 | + // 3、创建KieFileSystem,将模型xml,drl等写入,TODO:以后考虑从数据库中获取 | ||
| 48 | + KieFileSystem kfs = kieServices.newKieFileSystem(); | ||
| 49 | + // 3.1、写入KieBaseModel(内部包含了KieSessionModel的内容了,注意之前的KieSessionModel的创建方式) | ||
| 50 | + kfs.writeKModuleXML(kieModuleModel.toXML()); | ||
| 51 | + | ||
| 52 | + // 3.2、写入drl(写法超多,有点混乱) | ||
| 53 | + // 这里使用文件的形式写入,TODO:以后考虑从数据库中读drl写入 | ||
| 54 | + // 注意kfs写的时候如果指定path,强制为src/main/resources/加上文件名,还有就是文件名不要重复否则会覆盖的 | ||
| 55 | + kfs.write("src/main/resources/HelloWorld.drl", kieServices.getResources() | ||
| 56 | + .newInputStreamResource(this.getClass().getResourceAsStream( | ||
| 57 | + "/rules/HelloWorld.drl"), "UTF-8")); | ||
| 58 | + kfs.write("src/main/resources/shiftloop.drl", kieServices.getResources() | ||
| 59 | + .newInputStreamResource(this.getClass().getResourceAsStream( | ||
| 60 | + "/rules/shiftloop.drl"), "UTF-8")); | ||
| 61 | + // TODO:还有其他drl.... | ||
| 62 | + | ||
| 63 | + // 4、创建KieBuilder,使用KieFileSystem构建 | ||
| 64 | + KieBuilder kieBuilder = kieServices.newKieBuilder(kfs).buildAll(); | ||
| 65 | + Results results = kieBuilder.getResults(); | ||
| 66 | + if (results.hasMessages(Message.Level.ERROR)) | ||
| 67 | + throw new IllegalStateException("构建drools6错误:" + results.getMessages()); | ||
| 68 | + | ||
| 69 | + // 5、获取KieContainer | ||
| 70 | + // TODO:ReleaseId用处很大,以后再议 | ||
| 71 | + ReleaseId releaseId = kieServices.getRepository().getDefaultReleaseId(); | ||
| 72 | + KieContainer kieContainer = kieServices.newKieContainer(releaseId); | ||
| 73 | + | ||
| 74 | + // 6、创建kbase | ||
| 75 | + KieBaseConfiguration kieBaseConfiguration = kieServices.newKieBaseConfiguration(); | ||
| 76 | + KieBase kieBase = kieContainer.newKieBase("KBase1", kieBaseConfiguration); | ||
| 77 | + | ||
| 78 | + return kieBase; | ||
| 79 | + } | ||
| 80 | +} |
src/main/java/com/bsth/service/schedule/rules/shiftloop/ScheduleCalcuParam_input.java
| 1 | -package com.bsth.service.schedule.rules.shiftloop; | ||
| 2 | - | ||
| 3 | -import org.joda.time.DateTime; | ||
| 4 | - | ||
| 5 | -/** | ||
| 6 | - * 排班计算参数_输入。 | ||
| 7 | - */ | ||
| 8 | -public class ScheduleCalcuParam_input { | ||
| 9 | - /** 开始计算日期 */ | ||
| 10 | - private DateTime fromDate; | ||
| 11 | - /** 结束计算日期 */ | ||
| 12 | - private DateTime toDate; | ||
| 13 | - /** 时刻表id */ | ||
| 14 | - private Long ttinfoId; | ||
| 15 | - | ||
| 16 | - public DateTime getFromDate() { | ||
| 17 | - return fromDate; | ||
| 18 | - } | ||
| 19 | - | ||
| 20 | - public void setFromDate(DateTime fromDate) { | ||
| 21 | - this.fromDate = fromDate; | ||
| 22 | - } | ||
| 23 | - | ||
| 24 | - public DateTime getToDate() { | ||
| 25 | - return toDate; | ||
| 26 | - } | ||
| 27 | - | ||
| 28 | - public void setToDate(DateTime toDate) { | ||
| 29 | - this.toDate = toDate; | ||
| 30 | - } | ||
| 31 | - | ||
| 32 | - public Long getTtinfoId() { | ||
| 33 | - return ttinfoId; | ||
| 34 | - } | ||
| 35 | - | ||
| 36 | - public void setTtinfoId(Long ttinfoId) { | ||
| 37 | - this.ttinfoId = ttinfoId; | ||
| 38 | - } | ||
| 39 | -} | 1 | +package com.bsth.service.schedule.rules.shiftloop; |
| 2 | + | ||
| 3 | +import org.joda.time.DateTime; | ||
| 4 | + | ||
| 5 | +/** | ||
| 6 | + * 排班计算参数_输入。 | ||
| 7 | + */ | ||
| 8 | +public class ScheduleCalcuParam_input { | ||
| 9 | + /** 开始计算日期 */ | ||
| 10 | + private DateTime fromDate; | ||
| 11 | + /** 结束计算日期 */ | ||
| 12 | + private DateTime toDate; | ||
| 13 | + /** 时刻表id */ | ||
| 14 | + private Long ttinfoId; | ||
| 15 | + | ||
| 16 | + public DateTime getFromDate() { | ||
| 17 | + return fromDate; | ||
| 18 | + } | ||
| 19 | + | ||
| 20 | + public void setFromDate(DateTime fromDate) { | ||
| 21 | + this.fromDate = fromDate; | ||
| 22 | + } | ||
| 23 | + | ||
| 24 | + public DateTime getToDate() { | ||
| 25 | + return toDate; | ||
| 26 | + } | ||
| 27 | + | ||
| 28 | + public void setToDate(DateTime toDate) { | ||
| 29 | + this.toDate = toDate; | ||
| 30 | + } | ||
| 31 | + | ||
| 32 | + public Long getTtinfoId() { | ||
| 33 | + return ttinfoId; | ||
| 34 | + } | ||
| 35 | + | ||
| 36 | + public void setTtinfoId(Long ttinfoId) { | ||
| 37 | + this.ttinfoId = ttinfoId; | ||
| 38 | + } | ||
| 39 | +} |
src/main/java/com/bsth/service/schedule/rules/shiftloop/ScheduleResult_output.java
| 1 | -package com.bsth.service.schedule.rules.shiftloop; | ||
| 2 | - | ||
| 3 | -import org.joda.time.DateTime; | ||
| 4 | - | ||
| 5 | -/** | ||
| 6 | - * 规则计算出的结果_输出。 | ||
| 7 | - */ | ||
| 8 | -public class ScheduleResult_output { | ||
| 9 | - /** 具体日期 */ | ||
| 10 | - private DateTime sd; | ||
| 11 | - /** 用的是哪一组rule */ | ||
| 12 | - private Long ruleId; | ||
| 13 | - /** 路牌id */ | ||
| 14 | - private Long guideboardId; | ||
| 15 | - /** 人员配置id */ | ||
| 16 | - private Long employeeConfigId; | ||
| 17 | - /** 车辆配置id */ | ||
| 18 | - private Long carConfigId; | ||
| 19 | - | ||
| 20 | - public DateTime getSd() { | ||
| 21 | - return sd; | ||
| 22 | - } | ||
| 23 | - | ||
| 24 | - public void setSd(DateTime sd) { | ||
| 25 | - this.sd = sd; | ||
| 26 | - } | ||
| 27 | - | ||
| 28 | - public Long getGuideboardId() { | ||
| 29 | - return guideboardId; | ||
| 30 | - } | ||
| 31 | - | ||
| 32 | - public void setGuideboardId(Long guideboardId) { | ||
| 33 | - this.guideboardId = guideboardId; | ||
| 34 | - } | ||
| 35 | - | ||
| 36 | - public Long getEmployeeConfigId() { | ||
| 37 | - return employeeConfigId; | ||
| 38 | - } | ||
| 39 | - | ||
| 40 | - public void setEmployeeConfigId(Long employeeConfigId) { | ||
| 41 | - this.employeeConfigId = employeeConfigId; | ||
| 42 | - } | ||
| 43 | - | ||
| 44 | - public Long getCarConfigId() { | ||
| 45 | - return carConfigId; | ||
| 46 | - } | ||
| 47 | - | ||
| 48 | - public void setCarConfigId(Long carConfigId) { | ||
| 49 | - this.carConfigId = carConfigId; | ||
| 50 | - } | ||
| 51 | - | ||
| 52 | - public Long getRuleId() { | ||
| 53 | - return ruleId; | ||
| 54 | - } | ||
| 55 | - | ||
| 56 | - public void setRuleId(Long ruleId) { | ||
| 57 | - this.ruleId = ruleId; | ||
| 58 | - } | ||
| 59 | - | ||
| 60 | -} | 1 | +package com.bsth.service.schedule.rules.shiftloop; |
| 2 | + | ||
| 3 | +import org.joda.time.DateTime; | ||
| 4 | + | ||
| 5 | +/** | ||
| 6 | + * 规则计算出的结果_输出。 | ||
| 7 | + */ | ||
| 8 | +public class ScheduleResult_output { | ||
| 9 | + /** 具体日期 */ | ||
| 10 | + private DateTime sd; | ||
| 11 | + /** 用的是哪一组rule */ | ||
| 12 | + private Long ruleId; | ||
| 13 | + /** 路牌id */ | ||
| 14 | + private Long guideboardId; | ||
| 15 | + /** 人员配置id */ | ||
| 16 | + private Long employeeConfigId; | ||
| 17 | + /** 车辆配置id */ | ||
| 18 | + private Long carConfigId; | ||
| 19 | + | ||
| 20 | + public DateTime getSd() { | ||
| 21 | + return sd; | ||
| 22 | + } | ||
| 23 | + | ||
| 24 | + public void setSd(DateTime sd) { | ||
| 25 | + this.sd = sd; | ||
| 26 | + } | ||
| 27 | + | ||
| 28 | + public Long getGuideboardId() { | ||
| 29 | + return guideboardId; | ||
| 30 | + } | ||
| 31 | + | ||
| 32 | + public void setGuideboardId(Long guideboardId) { | ||
| 33 | + this.guideboardId = guideboardId; | ||
| 34 | + } | ||
| 35 | + | ||
| 36 | + public Long getEmployeeConfigId() { | ||
| 37 | + return employeeConfigId; | ||
| 38 | + } | ||
| 39 | + | ||
| 40 | + public void setEmployeeConfigId(Long employeeConfigId) { | ||
| 41 | + this.employeeConfigId = employeeConfigId; | ||
| 42 | + } | ||
| 43 | + | ||
| 44 | + public Long getCarConfigId() { | ||
| 45 | + return carConfigId; | ||
| 46 | + } | ||
| 47 | + | ||
| 48 | + public void setCarConfigId(Long carConfigId) { | ||
| 49 | + this.carConfigId = carConfigId; | ||
| 50 | + } | ||
| 51 | + | ||
| 52 | + public Long getRuleId() { | ||
| 53 | + return ruleId; | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + public void setRuleId(Long ruleId) { | ||
| 57 | + this.ruleId = ruleId; | ||
| 58 | + } | ||
| 59 | + | ||
| 60 | +} |
src/main/java/com/bsth/service/schedule/rules/shiftloop/ScheduleResults_output.java
| 1 | -package com.bsth.service.schedule.rules.shiftloop; | ||
| 2 | - | ||
| 3 | -import org.apache.commons.lang3.StringUtils; | ||
| 4 | - | ||
| 5 | -import java.util.*; | ||
| 6 | - | ||
| 7 | -/** | ||
| 8 | - * 输出结果集合。 | ||
| 9 | - */ | ||
| 10 | -public class ScheduleResults_output { | ||
| 11 | - /** 输出列表 */ | ||
| 12 | - private List<ScheduleResult_output> results = new ArrayList<>(); | ||
| 13 | - | ||
| 14 | - public List<ScheduleResult_output> getResults() { | ||
| 15 | - return results; | ||
| 16 | - } | ||
| 17 | - | ||
| 18 | - public void setResults(List<ScheduleResult_output> results) { | ||
| 19 | - this.results = results; | ||
| 20 | - } | ||
| 21 | - | ||
| 22 | - /** | ||
| 23 | - * 输出每个规则排出来的路牌id列表 | ||
| 24 | - * @return | ||
| 25 | - */ | ||
| 26 | - public String showGuideboardDesc1() { | ||
| 27 | - StringBuilder stringBuilder = new StringBuilder(); | ||
| 28 | - Map<Long, List<ScheduleResult_output>> groupRuleIdGuideBoardMap = new HashMap<>(); | ||
| 29 | - for (ScheduleResult_output s : results) { | ||
| 30 | - if (groupRuleIdGuideBoardMap.get(s.getRuleId()) == null) { | ||
| 31 | - groupRuleIdGuideBoardMap.put(s.getRuleId(), new ArrayList<ScheduleResult_output>()); | ||
| 32 | - } | ||
| 33 | - groupRuleIdGuideBoardMap.get(s.getRuleId()).add(s); | ||
| 34 | - } | ||
| 35 | - | ||
| 36 | - for (Long ruleId : groupRuleIdGuideBoardMap.keySet()) { | ||
| 37 | - Collections.sort(groupRuleIdGuideBoardMap.get(ruleId), new Comparator<ScheduleResult_output>() { | ||
| 38 | - @Override | ||
| 39 | - public int compare(ScheduleResult_output o1, ScheduleResult_output o2) { | ||
| 40 | - return o1.getSd().compareTo(o2.getSd()); | ||
| 41 | - } | ||
| 42 | - }); | ||
| 43 | - | ||
| 44 | - List<Long> gbids = new ArrayList<>(); | ||
| 45 | - List<Long> ecids = new ArrayList<>(); | ||
| 46 | - for (ScheduleResult_output so : groupRuleIdGuideBoardMap.get(ruleId)) { | ||
| 47 | - gbids.add(so.getGuideboardId()); | ||
| 48 | - ecids.add(so.getEmployeeConfigId()); | ||
| 49 | - } | ||
| 50 | - | ||
| 51 | - stringBuilder.append( | ||
| 52 | - "规则id=" + ruleId + ", " + | ||
| 53 | - "路牌列表=" + StringUtils.join(gbids, ",") + "\n"); | ||
| 54 | - stringBuilder.append( | ||
| 55 | - "规则id=" + ruleId + ", " + | ||
| 56 | - "人员配置列表=" + StringUtils.join(ecids, ",") + "\n"); | ||
| 57 | - } | ||
| 58 | - | ||
| 59 | - return stringBuilder.toString(); | ||
| 60 | - } | ||
| 61 | - | ||
| 62 | - // TODO:人员输出 | ||
| 63 | -} | 1 | +package com.bsth.service.schedule.rules.shiftloop; |
| 2 | + | ||
| 3 | +import org.apache.commons.lang3.StringUtils; | ||
| 4 | + | ||
| 5 | +import java.util.*; | ||
| 6 | + | ||
| 7 | +/** | ||
| 8 | + * 输出结果集合。 | ||
| 9 | + */ | ||
| 10 | +public class ScheduleResults_output { | ||
| 11 | + /** 输出列表 */ | ||
| 12 | + private List<ScheduleResult_output> results = new ArrayList<>(); | ||
| 13 | + | ||
| 14 | + public List<ScheduleResult_output> getResults() { | ||
| 15 | + return results; | ||
| 16 | + } | ||
| 17 | + | ||
| 18 | + public void setResults(List<ScheduleResult_output> results) { | ||
| 19 | + this.results = results; | ||
| 20 | + } | ||
| 21 | + | ||
| 22 | + /** | ||
| 23 | + * 输出每个规则排出来的路牌id列表 | ||
| 24 | + * @return | ||
| 25 | + */ | ||
| 26 | + public String showGuideboardDesc1() { | ||
| 27 | + StringBuilder stringBuilder = new StringBuilder(); | ||
| 28 | + Map<Long, List<ScheduleResult_output>> groupRuleIdGuideBoardMap = new HashMap<>(); | ||
| 29 | + for (ScheduleResult_output s : results) { | ||
| 30 | + if (groupRuleIdGuideBoardMap.get(s.getRuleId()) == null) { | ||
| 31 | + groupRuleIdGuideBoardMap.put(s.getRuleId(), new ArrayList<ScheduleResult_output>()); | ||
| 32 | + } | ||
| 33 | + groupRuleIdGuideBoardMap.get(s.getRuleId()).add(s); | ||
| 34 | + } | ||
| 35 | + | ||
| 36 | + for (Long ruleId : groupRuleIdGuideBoardMap.keySet()) { | ||
| 37 | + Collections.sort(groupRuleIdGuideBoardMap.get(ruleId), new Comparator<ScheduleResult_output>() { | ||
| 38 | + @Override | ||
| 39 | + public int compare(ScheduleResult_output o1, ScheduleResult_output o2) { | ||
| 40 | + return o1.getSd().compareTo(o2.getSd()); | ||
| 41 | + } | ||
| 42 | + }); | ||
| 43 | + | ||
| 44 | + List<Long> gbids = new ArrayList<>(); | ||
| 45 | + List<Long> ecids = new ArrayList<>(); | ||
| 46 | + for (ScheduleResult_output so : groupRuleIdGuideBoardMap.get(ruleId)) { | ||
| 47 | + gbids.add(so.getGuideboardId()); | ||
| 48 | + ecids.add(so.getEmployeeConfigId()); | ||
| 49 | + } | ||
| 50 | + | ||
| 51 | + stringBuilder.append( | ||
| 52 | + "规则id=" + ruleId + ", " + | ||
| 53 | + "路牌列表=" + StringUtils.join(gbids, ",") + "\n"); | ||
| 54 | + stringBuilder.append( | ||
| 55 | + "规则id=" + ruleId + ", " + | ||
| 56 | + "人员配置列表=" + StringUtils.join(ecids, ",") + "\n"); | ||
| 57 | + } | ||
| 58 | + | ||
| 59 | + return stringBuilder.toString(); | ||
| 60 | + } | ||
| 61 | + | ||
| 62 | + // TODO:人员输出 | ||
| 63 | +} |
src/main/java/com/bsth/service/schedule/rules/shiftloop/ScheduleRule_input.java
| 1 | -package com.bsth.service.schedule.rules.shiftloop; | ||
| 2 | - | ||
| 3 | -import org.joda.time.DateTime; | ||
| 4 | - | ||
| 5 | -import java.util.ArrayList; | ||
| 6 | -import java.util.List; | ||
| 7 | - | ||
| 8 | -/** | ||
| 9 | - * 排班规则_输入。 | ||
| 10 | - */ | ||
| 11 | -public class ScheduleRule_input { | ||
| 12 | - /** 规则Id */ | ||
| 13 | - private Long ruleId; | ||
| 14 | - /** 规则启用日期 */ | ||
| 15 | - private DateTime qyrq; | ||
| 16 | - | ||
| 17 | - /** 路牌范围 */ | ||
| 18 | - private List<Long> guideboardIds = new ArrayList<>(); | ||
| 19 | - /** 起始路牌下标 */ | ||
| 20 | - private int startGbdIndex; | ||
| 21 | - | ||
| 22 | - /** 人员范围 */ | ||
| 23 | - private List<Long> employeeConfigIds = new ArrayList<>(); | ||
| 24 | - /** 起始人员下标 */ | ||
| 25 | - private int startEIndex; | ||
| 26 | - | ||
| 27 | - /** 车辆配置id */ | ||
| 28 | - private Long carConfigId; | ||
| 29 | - | ||
| 30 | - // TODO:车辆翻班暂时不考虑进去 | ||
| 31 | - | ||
| 32 | - | ||
| 33 | - public Long getRuleId() { | ||
| 34 | - return ruleId; | ||
| 35 | - } | ||
| 36 | - | ||
| 37 | - public void setRuleId(Long ruleId) { | ||
| 38 | - this.ruleId = ruleId; | ||
| 39 | - } | ||
| 40 | - | ||
| 41 | - public DateTime getQyrq() { | ||
| 42 | - return qyrq; | ||
| 43 | - } | ||
| 44 | - | ||
| 45 | - public void setQyrq(DateTime qyrq) { | ||
| 46 | - this.qyrq = qyrq; | ||
| 47 | - } | ||
| 48 | - | ||
| 49 | - public List<Long> getGuideboardIds() { | ||
| 50 | - return guideboardIds; | ||
| 51 | - } | ||
| 52 | - | ||
| 53 | - public void setGuideboardIds(List<Long> guideboardIds) { | ||
| 54 | - this.guideboardIds = guideboardIds; | ||
| 55 | - } | ||
| 56 | - | ||
| 57 | - public int getStartGbdIndex() { | ||
| 58 | - return startGbdIndex; | ||
| 59 | - } | ||
| 60 | - | ||
| 61 | - public void setStartGbdIndex(int startGbdIndex) { | ||
| 62 | - this.startGbdIndex = startGbdIndex; | ||
| 63 | - } | ||
| 64 | - | ||
| 65 | - public List<Long> getEmployeeConfigIds() { | ||
| 66 | - return employeeConfigIds; | ||
| 67 | - } | ||
| 68 | - | ||
| 69 | - public void setEmployeeConfigIds(List<Long> employeeConfigIds) { | ||
| 70 | - this.employeeConfigIds = employeeConfigIds; | ||
| 71 | - } | ||
| 72 | - | ||
| 73 | - public int getStartEIndex() { | ||
| 74 | - return startEIndex; | ||
| 75 | - } | ||
| 76 | - | ||
| 77 | - public void setStartEIndex(int startEIndex) { | ||
| 78 | - this.startEIndex = startEIndex; | ||
| 79 | - } | ||
| 80 | - | ||
| 81 | - public Long getCarConfigId() { | ||
| 82 | - return carConfigId; | ||
| 83 | - } | ||
| 84 | - | ||
| 85 | - public void setCarConfigId(Long carConfigId) { | ||
| 86 | - this.carConfigId = carConfigId; | ||
| 87 | - } | ||
| 88 | -} | 1 | +package com.bsth.service.schedule.rules.shiftloop; |
| 2 | + | ||
| 3 | +import org.joda.time.DateTime; | ||
| 4 | + | ||
| 5 | +import java.util.ArrayList; | ||
| 6 | +import java.util.List; | ||
| 7 | + | ||
| 8 | +/** | ||
| 9 | + * 排班规则_输入。 | ||
| 10 | + */ | ||
| 11 | +public class ScheduleRule_input { | ||
| 12 | + /** 规则Id */ | ||
| 13 | + private Long ruleId; | ||
| 14 | + /** 规则启用日期 */ | ||
| 15 | + private DateTime qyrq; | ||
| 16 | + | ||
| 17 | + /** 路牌范围 */ | ||
| 18 | + private List<Long> guideboardIds = new ArrayList<>(); | ||
| 19 | + /** 起始路牌下标 */ | ||
| 20 | + private int startGbdIndex; | ||
| 21 | + | ||
| 22 | + /** 人员范围 */ | ||
| 23 | + private List<Long> employeeConfigIds = new ArrayList<>(); | ||
| 24 | + /** 起始人员下标 */ | ||
| 25 | + private int startEIndex; | ||
| 26 | + | ||
| 27 | + /** 车辆配置id */ | ||
| 28 | + private Long carConfigId; | ||
| 29 | + | ||
| 30 | + // TODO:车辆翻班暂时不考虑进去 | ||
| 31 | + | ||
| 32 | + | ||
| 33 | + public Long getRuleId() { | ||
| 34 | + return ruleId; | ||
| 35 | + } | ||
| 36 | + | ||
| 37 | + public void setRuleId(Long ruleId) { | ||
| 38 | + this.ruleId = ruleId; | ||
| 39 | + } | ||
| 40 | + | ||
| 41 | + public DateTime getQyrq() { | ||
| 42 | + return qyrq; | ||
| 43 | + } | ||
| 44 | + | ||
| 45 | + public void setQyrq(DateTime qyrq) { | ||
| 46 | + this.qyrq = qyrq; | ||
| 47 | + } | ||
| 48 | + | ||
| 49 | + public List<Long> getGuideboardIds() { | ||
| 50 | + return guideboardIds; | ||
| 51 | + } | ||
| 52 | + | ||
| 53 | + public void setGuideboardIds(List<Long> guideboardIds) { | ||
| 54 | + this.guideboardIds = guideboardIds; | ||
| 55 | + } | ||
| 56 | + | ||
| 57 | + public int getStartGbdIndex() { | ||
| 58 | + return startGbdIndex; | ||
| 59 | + } | ||
| 60 | + | ||
| 61 | + public void setStartGbdIndex(int startGbdIndex) { | ||
| 62 | + this.startGbdIndex = startGbdIndex; | ||
| 63 | + } | ||
| 64 | + | ||
| 65 | + public List<Long> getEmployeeConfigIds() { | ||
| 66 | + return employeeConfigIds; | ||
| 67 | + } | ||
| 68 | + | ||
| 69 | + public void setEmployeeConfigIds(List<Long> employeeConfigIds) { | ||
| 70 | + this.employeeConfigIds = employeeConfigIds; | ||
| 71 | + } | ||
| 72 | + | ||
| 73 | + public int getStartEIndex() { | ||
| 74 | + return startEIndex; | ||
| 75 | + } | ||
| 76 | + | ||
| 77 | + public void setStartEIndex(int startEIndex) { | ||
| 78 | + this.startEIndex = startEIndex; | ||
| 79 | + } | ||
| 80 | + | ||
| 81 | + public Long getCarConfigId() { | ||
| 82 | + return carConfigId; | ||
| 83 | + } | ||
| 84 | + | ||
| 85 | + public void setCarConfigId(Long carConfigId) { | ||
| 86 | + this.carConfigId = carConfigId; | ||
| 87 | + } | ||
| 88 | +} |
src/main/java/com/bsth/service/schedule/utils/DataImportExportService.java
| 1 | -package com.bsth.service.schedule.utils; | ||
| 2 | - | ||
| 3 | -import org.springframework.web.multipart.MultipartFile; | ||
| 4 | - | ||
| 5 | -import java.io.File; | ||
| 6 | - | ||
| 7 | -/** | ||
| 8 | - * 数据导入导出服务。 | ||
| 9 | - */ | ||
| 10 | -public interface DataImportExportService { | ||
| 11 | - /** | ||
| 12 | - * 上传文件。 | ||
| 13 | - * @param file mutipartFile | ||
| 14 | - * @return 上传后的文件路径 | ||
| 15 | - * @throws Exception | ||
| 16 | - */ | ||
| 17 | - File uploadFile(MultipartFile file) throws Exception; | ||
| 18 | - | ||
| 19 | - /** | ||
| 20 | - * 上传文件,并导入文件数据。 | ||
| 21 | - * @param datafile 上传的文件 | ||
| 22 | - * @param ktrFile 导入的逻辑ktr文件 | ||
| 23 | - * @throws Exception | ||
| 24 | - */ | ||
| 25 | - void fileDataImport(MultipartFile datafile, File ktrFile) throws Exception; | ||
| 26 | -} | 1 | +package com.bsth.service.schedule.utils; |
| 2 | + | ||
| 3 | +import org.springframework.web.multipart.MultipartFile; | ||
| 4 | + | ||
| 5 | +import java.io.File; | ||
| 6 | + | ||
| 7 | +/** | ||
| 8 | + * 数据导入导出服务。 | ||
| 9 | + */ | ||
| 10 | +public interface DataImportExportService { | ||
| 11 | + /** | ||
| 12 | + * 上传文件。 | ||
| 13 | + * @param file mutipartFile | ||
| 14 | + * @return 上传后的文件路径 | ||
| 15 | + * @throws Exception | ||
| 16 | + */ | ||
| 17 | + File uploadFile(MultipartFile file) throws Exception; | ||
| 18 | + | ||
| 19 | + /** | ||
| 20 | + * 上传文件,并导入文件数据。 | ||
| 21 | + * @param datafile 上传的文件 | ||
| 22 | + * @param ktrFile 导入的逻辑ktr文件 | ||
| 23 | + * @throws Exception | ||
| 24 | + */ | ||
| 25 | + void fileDataImport(MultipartFile datafile, File ktrFile) throws Exception; | ||
| 26 | +} |
src/main/java/com/bsth/service/schedule/utils/DataImportExportServiceImpl.java
| 1 | -package com.bsth.service.schedule.utils; | ||
| 2 | - | ||
| 3 | -import com.google.common.io.Files; | ||
| 4 | -import org.pentaho.di.core.KettleEnvironment; | ||
| 5 | -import org.pentaho.di.core.util.EnvUtil; | ||
| 6 | -import org.pentaho.di.trans.Trans; | ||
| 7 | -import org.pentaho.di.trans.TransMeta; | ||
| 8 | -import org.springframework.beans.factory.annotation.Autowired; | ||
| 9 | -import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||
| 10 | -import org.springframework.stereotype.Service; | ||
| 11 | -import org.springframework.web.multipart.MultipartFile; | ||
| 12 | - | ||
| 13 | -import java.io.File; | ||
| 14 | - | ||
| 15 | -/** | ||
| 16 | - * Created by xu on 16/6/23. | ||
| 17 | - */ | ||
| 18 | -@Service | ||
| 19 | -@EnableConfigurationProperties(DataToolsProperties.class) | ||
| 20 | -public class DataImportExportServiceImpl implements DataImportExportService { | ||
| 21 | - | ||
| 22 | - @Autowired | ||
| 23 | - private DataToolsProperties dataToolsProperties; | ||
| 24 | - | ||
| 25 | - @Override | ||
| 26 | - public File uploadFile(MultipartFile file) throws Exception { | ||
| 27 | - // TODO:以后的文件名要加时间戳 | ||
| 28 | - File newFile = new File( | ||
| 29 | - dataToolsProperties.getFileuploadDir() + File.separator + | ||
| 30 | - file.getOriginalFilename()); | ||
| 31 | - Files.write(file.getBytes(), newFile); | ||
| 32 | - return newFile; | ||
| 33 | - } | ||
| 34 | - | ||
| 35 | - @Override | ||
| 36 | - public void fileDataImport(MultipartFile datafile, File ktrFile) throws Exception { | ||
| 37 | - // 1、上传数据文件 | ||
| 38 | - File uploadFile = uploadFile(datafile); | ||
| 39 | - | ||
| 40 | - // 2、使用kettle运行封装数据导入逻辑的ktr转换文件 | ||
| 41 | - // 2.1、初始化kettle | ||
| 42 | - EnvUtil.environmentInit(); | ||
| 43 | - KettleEnvironment.init(); | ||
| 44 | - // 2.2、创建转换元数据,转换 | ||
| 45 | - TransMeta transMeta = new TransMeta(ktrFile.getAbsolutePath()); | ||
| 46 | - Trans trans = new Trans(transMeta); | ||
| 47 | - // 2.3、设定命名参数,用于指定数据文件,注意每个ktr必须都有以下指定的命名参数 | ||
| 48 | - trans.setParameterValue("filepath", uploadFile.getAbsolutePath()); // 指定导入数据文件的位置 | ||
| 49 | - trans.setParameterValue("erroroutputdir", dataToolsProperties.getTransErrordir()); // ktr转换错误输出目录 | ||
| 50 | - // TODO:可以考虑设定日志输出 | ||
| 51 | - // 2.4、执行转换 | ||
| 52 | - trans.execute(null); | ||
| 53 | - // 2.5、等待转换结束 | ||
| 54 | - trans.waitUntilFinished(); | ||
| 55 | - | ||
| 56 | - // 3、判定ktr错误数,注意这种错误代表部分数据错误,不会终止转换执行,一般设计ktr的时候,会有错误输出文件,TODO:以后考虑使用日志实时输出 | ||
| 57 | - if (trans.getErrors() > 0) { | ||
| 58 | - throw new Exception("转换数据部分错误,请查看相关错误输出文件!"); | ||
| 59 | - } | ||
| 60 | - } | ||
| 61 | -} | 1 | +package com.bsth.service.schedule.utils; |
| 2 | + | ||
| 3 | +import com.google.common.io.Files; | ||
| 4 | +import org.pentaho.di.core.KettleEnvironment; | ||
| 5 | +import org.pentaho.di.core.util.EnvUtil; | ||
| 6 | +import org.pentaho.di.trans.Trans; | ||
| 7 | +import org.pentaho.di.trans.TransMeta; | ||
| 8 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 9 | +import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||
| 10 | +import org.springframework.stereotype.Service; | ||
| 11 | +import org.springframework.web.multipart.MultipartFile; | ||
| 12 | + | ||
| 13 | +import java.io.File; | ||
| 14 | + | ||
| 15 | +/** | ||
| 16 | + * Created by xu on 16/6/23. | ||
| 17 | + */ | ||
| 18 | +@Service | ||
| 19 | +@EnableConfigurationProperties(DataToolsProperties.class) | ||
| 20 | +public class DataImportExportServiceImpl implements DataImportExportService { | ||
| 21 | + | ||
| 22 | + @Autowired | ||
| 23 | + private DataToolsProperties dataToolsProperties; | ||
| 24 | + | ||
| 25 | + @Override | ||
| 26 | + public File uploadFile(MultipartFile file) throws Exception { | ||
| 27 | + // TODO:以后的文件名要加时间戳 | ||
| 28 | + File newFile = new File( | ||
| 29 | + dataToolsProperties.getFileuploadDir() + File.separator + | ||
| 30 | + file.getOriginalFilename()); | ||
| 31 | + Files.write(file.getBytes(), newFile); | ||
| 32 | + return newFile; | ||
| 33 | + } | ||
| 34 | + | ||
| 35 | + @Override | ||
| 36 | + public void fileDataImport(MultipartFile datafile, File ktrFile) throws Exception { | ||
| 37 | + // 1、上传数据文件 | ||
| 38 | + File uploadFile = uploadFile(datafile); | ||
| 39 | + | ||
| 40 | + // 2、使用kettle运行封装数据导入逻辑的ktr转换文件 | ||
| 41 | + // 2.1、初始化kettle | ||
| 42 | + EnvUtil.environmentInit(); | ||
| 43 | + KettleEnvironment.init(); | ||
| 44 | + // 2.2、创建转换元数据,转换 | ||
| 45 | + TransMeta transMeta = new TransMeta(ktrFile.getAbsolutePath()); | ||
| 46 | + Trans trans = new Trans(transMeta); | ||
| 47 | + // 2.3、设定命名参数,用于指定数据文件,注意每个ktr必须都有以下指定的命名参数 | ||
| 48 | + trans.setParameterValue("filepath", uploadFile.getAbsolutePath()); // 指定导入数据文件的位置 | ||
| 49 | + trans.setParameterValue("erroroutputdir", dataToolsProperties.getTransErrordir()); // ktr转换错误输出目录 | ||
| 50 | + // TODO:可以考虑设定日志输出 | ||
| 51 | + // 2.4、执行转换 | ||
| 52 | + trans.execute(null); | ||
| 53 | + // 2.5、等待转换结束 | ||
| 54 | + trans.waitUntilFinished(); | ||
| 55 | + | ||
| 56 | + // 3、判定ktr错误数,注意这种错误代表部分数据错误,不会终止转换执行,一般设计ktr的时候,会有错误输出文件,TODO:以后考虑使用日志实时输出 | ||
| 57 | + if (trans.getErrors() > 0) { | ||
| 58 | + throw new Exception("转换数据部分错误,请查看相关错误输出文件!"); | ||
| 59 | + } | ||
| 60 | + } | ||
| 61 | +} |
src/main/java/com/bsth/util/TransGPS.java
| @@ -82,7 +82,7 @@ public class TransGPS { | @@ -82,7 +82,7 @@ public class TransGPS { | ||
| 82 | return mgLoc; | 82 | return mgLoc; |
| 83 | } | 83 | } |
| 84 | 84 | ||
| 85 | - Location transformFromGCJToWGS(Location gcLoc) { | 85 | + public static Location transformFromGCJToWGS(Location gcLoc) { |
| 86 | Location wgLoc = new Location(); | 86 | Location wgLoc = new Location(); |
| 87 | wgLoc.lat = gcLoc.lat; | 87 | wgLoc.lat = gcLoc.lat; |
| 88 | wgLoc.lng = gcLoc.lng; | 88 | wgLoc.lng = gcLoc.lng; |
src/main/java/com/bsth/vehicle/gpsdata/GpsArrivalStationThread.java
| @@ -8,7 +8,6 @@ import java.text.SimpleDateFormat; | @@ -8,7 +8,6 @@ import java.text.SimpleDateFormat; | ||
| 8 | import java.util.ArrayList; | 8 | import java.util.ArrayList; |
| 9 | import java.util.Calendar; | 9 | import java.util.Calendar; |
| 10 | import java.util.Iterator; | 10 | import java.util.Iterator; |
| 11 | -import java.util.LinkedList; | ||
| 12 | import java.util.List; | 11 | import java.util.List; |
| 13 | import java.util.Set; | 12 | import java.util.Set; |
| 14 | 13 | ||
| @@ -37,7 +36,7 @@ public class GpsArrivalStationThread extends Thread{ | @@ -37,7 +36,7 @@ public class GpsArrivalStationThread extends Thread{ | ||
| 37 | Logger logger = LoggerFactory.getLogger(this.getClass()); | 36 | Logger logger = LoggerFactory.getLogger(this.getClass()); |
| 38 | SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); | 37 | SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); |
| 39 | 38 | ||
| 40 | - private static int diff = 1000 * 60 * 60; | 39 | + private static int diff = 1000 * 60 * 20; |
| 41 | 40 | ||
| 42 | @Override | 41 | @Override |
| 43 | public void run() { | 42 | public void run() { |
| @@ -47,7 +46,6 @@ public class GpsArrivalStationThread extends Thread{ | @@ -47,7 +46,6 @@ public class GpsArrivalStationThread extends Thread{ | ||
| 47 | } catch (ParseException e) { | 46 | } catch (ParseException e) { |
| 48 | e.printStackTrace(); | 47 | e.printStackTrace(); |
| 49 | } | 48 | } |
| 50 | - System.out.println("size: " + list.size()); | ||
| 51 | GpsArrivalDataBuffer.putAll(list); | 49 | GpsArrivalDataBuffer.putAll(list); |
| 52 | //实际到离站和计划排班相匹配 | 50 | //实际到离站和计划排班相匹配 |
| 53 | 51 | ||
| @@ -85,26 +83,62 @@ public class GpsArrivalStationThread extends Thread{ | @@ -85,26 +83,62 @@ public class GpsArrivalStationThread extends Thread{ | ||
| 85 | } | 83 | } |
| 86 | } | 84 | } |
| 87 | 85 | ||
| 88 | - //单个匹配 | ||
| 89 | public void match(ScheduleRealInfo scInfo, ArrivalInfo arr){ | 86 | public void match(ScheduleRealInfo scInfo, ArrivalInfo arr){ |
| 87 | + try{ | ||
| 88 | + //匹配起点 | ||
| 89 | + matchStart(scInfo, arr); | ||
| 90 | + | ||
| 91 | + //计划终点 | ||
| 92 | + matchEnd(scInfo, arr); | ||
| 93 | + }catch(Exception e){ | ||
| 94 | + e.printStackTrace(); | ||
| 95 | + } | ||
| 96 | + } | ||
| 97 | + | ||
| 98 | + /** | ||
| 99 | + * | ||
| 100 | + * @Title: matchStart | ||
| 101 | + * @Description: TODO(匹配起点 出站时间) | ||
| 102 | + * @param @param scInfo | ||
| 103 | + * @throws | ||
| 104 | + */ | ||
| 105 | + public void matchStart(ScheduleRealInfo scInfo, ArrivalInfo arr){ | ||
| 106 | + if(scInfo.getFcsjT() == null | ||
| 107 | + || arr.getInOut() != 1) | ||
| 108 | + return; | ||
| 109 | + | ||
| 90 | Long ts = arr.getTs(); | 110 | Long ts = arr.getTs(); |
| 91 | - //起点 | ||
| 92 | - if(scInfo.getFcsjActualTime() == null | ||
| 93 | - && scInfo.getQdzCode().equals(arr.getStopNo()) | 111 | + //起点站和发车时间比比较 |
| 112 | + if(scInfo.getQdzCode().equals(arr.getStopNo()) | ||
| 94 | && Math.abs(scInfo.getFcsjT() - ts) < diff){ | 113 | && Math.abs(scInfo.getFcsjT() - ts) < diff){ |
| 95 | - | ||
| 96 | scInfo.setFcsjActualTime(ts); | 114 | scInfo.setFcsjActualTime(ts); |
| 97 | scInfo.setFcsjActual(sdf.format(ts)); | 115 | scInfo.setFcsjActual(sdf.format(ts)); |
| 116 | + | ||
| 98 | System.out.println("成功匹配一个起点..."); | 117 | System.out.println("成功匹配一个起点..."); |
| 118 | + ScheduleBuffer.persistentList.add(scInfo); | ||
| 99 | } | 119 | } |
| 100 | - //终点 | ||
| 101 | - if(scInfo.getZdsjActualTime() == null | ||
| 102 | - && scInfo.getZdzCode().equals(arr.getStopNo()) | 120 | + } |
| 121 | + | ||
| 122 | + /** | ||
| 123 | + * | ||
| 124 | + * @Title: matchEnd | ||
| 125 | + * @Description: TODO(匹配终点 进站时间) | ||
| 126 | + * @throws | ||
| 127 | + */ | ||
| 128 | + public void matchEnd(ScheduleRealInfo scInfo, ArrivalInfo arr){ | ||
| 129 | + if(scInfo.getZdsjT() == null | ||
| 130 | + || arr.getInOut() != 0) | ||
| 131 | + return; | ||
| 132 | + | ||
| 133 | + Long ts = arr.getTs(); | ||
| 134 | + //终点站和发车时间比较 | ||
| 135 | + if(scInfo.getZdzCode().equals(arr.getStopNo()) | ||
| 103 | && Math.abs(scInfo.getZdsjT() - ts) < diff){ | 136 | && Math.abs(scInfo.getZdsjT() - ts) < diff){ |
| 104 | - | ||
| 105 | scInfo.setZdsjActualTime(ts); | 137 | scInfo.setZdsjActualTime(ts); |
| 106 | scInfo.setZdsjActual(sdf.format(ts)); | 138 | scInfo.setZdsjActual(sdf.format(ts)); |
| 139 | + | ||
| 107 | System.out.println("成功匹配一个终点..."); | 140 | System.out.println("成功匹配一个终点..."); |
| 141 | + ScheduleBuffer.persistentList.add(scInfo); | ||
| 108 | } | 142 | } |
| 109 | } | 143 | } |
| 110 | 144 | ||
| @@ -136,7 +170,7 @@ public class GpsArrivalStationThread extends Thread{ | @@ -136,7 +170,7 @@ public class GpsArrivalStationThread extends Thread{ | ||
| 136 | conn = DBUtils_MS.getConnection(); | 170 | conn = DBUtils_MS.getConnection(); |
| 137 | ps = conn.prepareStatement(sql); | 171 | ps = conn.prepareStatement(sql); |
| 138 | ps.setInt(1, weeks_year); | 172 | ps.setInt(1, weeks_year); |
| 139 | - ps.setLong(2, GpsArrivalDataBuffer.markTime); | 173 | + ps.setLong(2, /*GpsArrivalDataBuffer.markTime*/1467099600000L); |
| 140 | 174 | ||
| 141 | Long t = System.currentTimeMillis(); | 175 | Long t = System.currentTimeMillis(); |
| 142 | rs = ps.executeQuery(); | 176 | rs = ps.executeQuery(); |
src/main/java/com/bsth/vehicle/gpsdata/controller/GpsDataController.java
| 1 | package com.bsth.vehicle.gpsdata.controller; | 1 | package com.bsth.vehicle.gpsdata.controller; |
| 2 | 2 | ||
| 3 | import java.util.List; | 3 | import java.util.List; |
| 4 | +import java.util.Map; | ||
| 4 | 5 | ||
| 5 | import org.springframework.beans.factory.annotation.Autowired; | 6 | import org.springframework.beans.factory.annotation.Autowired; |
| 6 | import org.springframework.web.bind.annotation.PathVariable; | 7 | import org.springframework.web.bind.annotation.PathVariable; |
| @@ -10,6 +11,7 @@ import org.springframework.web.bind.annotation.RestController; | @@ -10,6 +11,7 @@ import org.springframework.web.bind.annotation.RestController; | ||
| 10 | 11 | ||
| 11 | import com.bsth.vehicle.gpsdata.buffer.GpsRealDataBuffer; | 12 | import com.bsth.vehicle.gpsdata.buffer.GpsRealDataBuffer; |
| 12 | import com.bsth.vehicle.gpsdata.entity.GpsRealData; | 13 | import com.bsth.vehicle.gpsdata.entity.GpsRealData; |
| 14 | +import com.bsth.vehicle.gpsdata.service.GpsDataService; | ||
| 13 | import com.google.common.base.Splitter; | 15 | import com.google.common.base.Splitter; |
| 14 | 16 | ||
| 15 | @RestController | 17 | @RestController |
| @@ -19,6 +21,9 @@ public class GpsDataController { | @@ -19,6 +21,9 @@ public class GpsDataController { | ||
| 19 | @Autowired | 21 | @Autowired |
| 20 | GpsRealDataBuffer gpsBuffer; | 22 | GpsRealDataBuffer gpsBuffer; |
| 21 | 23 | ||
| 24 | + @Autowired | ||
| 25 | + GpsDataService gpsDataService; | ||
| 26 | + | ||
| 22 | @RequestMapping(value = "/real/line/{lineCode}") | 27 | @RequestMapping(value = "/real/line/{lineCode}") |
| 23 | public List<GpsRealData> findByLineCode(@PathVariable("lineCode") Integer lineCode){ | 28 | public List<GpsRealData> findByLineCode(@PathVariable("lineCode") Integer lineCode){ |
| 24 | return gpsBuffer.getListByLineCode(lineCode); | 29 | return gpsBuffer.getListByLineCode(lineCode); |
| @@ -28,4 +33,13 @@ public class GpsDataController { | @@ -28,4 +33,13 @@ public class GpsDataController { | ||
| 28 | public List<GpsRealData> findByLineCode(@RequestParam String lineCodes){ | 33 | public List<GpsRealData> findByLineCode(@RequestParam String lineCodes){ |
| 29 | return gpsBuffer.getListByLines(Splitter.on(",").split(lineCodes).iterator()); | 34 | return gpsBuffer.getListByLines(Splitter.on(",").split(lineCodes).iterator()); |
| 30 | } | 35 | } |
| 36 | + | ||
| 37 | + @RequestMapping(value = "/history/{device}") | ||
| 38 | + public List<Map<String, Object>> history(@PathVariable("device") String device | ||
| 39 | + ,@RequestParam Long startTime | ||
| 40 | + ,@RequestParam Long endTime, | ||
| 41 | + @RequestParam int directions){ | ||
| 42 | + | ||
| 43 | + return gpsDataService.history(device, startTime, endTime, directions); | ||
| 44 | + } | ||
| 31 | } | 45 | } |
src/main/java/com/bsth/vehicle/gpsdata/entity/ArrivalInfo.java
| @@ -17,18 +17,17 @@ import javax.persistence.Transient; | @@ -17,18 +17,17 @@ import javax.persistence.Transient; | ||
| 17 | public class ArrivalInfo { | 17 | public class ArrivalInfo { |
| 18 | 18 | ||
| 19 | @Transient | 19 | @Transient |
| 20 | - static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd") | ||
| 21 | - ,sdf2 = new SimpleDateFormat("HH:mm") | ||
| 22 | - ,sdf3 = new SimpleDateFormat("yyyy-MM-dd HH:mm"); | 20 | + static SimpleDateFormat sdf = new SimpleDateFormat("HH:mm") |
| 21 | + ,sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm"); | ||
| 23 | 22 | ||
| 24 | 23 | ||
| 25 | public ArrivalInfo(String deviceId, Long ts, String lineCode, Integer upDown, String stopNo, Integer inOut, | 24 | public ArrivalInfo(String deviceId, Long ts, String lineCode, Integer upDown, String stopNo, Integer inOut, |
| 26 | Date createDate, Integer weeksYear) { | 25 | Date createDate, Integer weeksYear) { |
| 27 | this.deviceId = deviceId; | 26 | this.deviceId = deviceId; |
| 28 | 27 | ||
| 29 | - //gps是2014年的数据,临时将ts拉到当天 | 28 | + //gps是2014年的数据,临时将ts拉到6月1号 |
| 30 | try { | 29 | try { |
| 31 | - this.ts = sdf3.parse(sdf.format(new Date()) +" " + sdf2.format(new Date(ts))).getTime(); | 30 | + this.ts = sdf2.parse("2016-06-01 " + sdf.format(new Date(ts))).getTime(); |
| 32 | } catch (ParseException e) { | 31 | } catch (ParseException e) { |
| 33 | e.printStackTrace(); | 32 | e.printStackTrace(); |
| 34 | } | 33 | } |
src/main/java/com/bsth/vehicle/gpsdata/service/GpsDataServiceImpl.java
| @@ -59,7 +59,7 @@ public class GpsDataServiceImpl implements GpsDataService{ | @@ -59,7 +59,7 @@ public class GpsDataServiceImpl implements GpsDataService{ | ||
| 59 | 59 | ||
| 60 | //to 百度坐标 | 60 | //to 百度坐标 |
| 61 | lon = rs.getFloat("LON"); | 61 | lon = rs.getFloat("LON"); |
| 62 | - lat = rs.getFloat("lat"); | 62 | + lat = rs.getFloat("LAT"); |
| 63 | location = TransGPS.LocationMake(lon, lat); | 63 | location = TransGPS.LocationMake(lon, lat); |
| 64 | location = TransGPS.bd_encrypt(TransGPS.transformFromWGSToGCJ(location)); | 64 | location = TransGPS.bd_encrypt(TransGPS.transformFromWGSToGCJ(location)); |
| 65 | 65 | ||
| @@ -67,7 +67,7 @@ public class GpsDataServiceImpl implements GpsDataService{ | @@ -67,7 +67,7 @@ public class GpsDataServiceImpl implements GpsDataService{ | ||
| 67 | map.put("device", rs.getString("DEVICE_ID")); | 67 | map.put("device", rs.getString("DEVICE_ID")); |
| 68 | map.put("lon", location.getLng()); | 68 | map.put("lon", location.getLng()); |
| 69 | map.put("lat", location.getLat()); | 69 | map.put("lat", location.getLat()); |
| 70 | - map.put("ts", rs.getLong("ts")); | 70 | + map.put("ts", rs.getLong("TS")); |
| 71 | map.put("inout_stop", rs.getInt("INOUT_STOP")); | 71 | map.put("inout_stop", rs.getInt("INOUT_STOP")); |
| 72 | //上下行 | 72 | //上下行 |
| 73 | map.put("upDown", upDown); | 73 | map.put("upDown", upDown); |
src/main/resources/datatools/config.properties
| 1 | +<<<<<<< HEAD | ||
| 1 | # 配置数据导入导出用到的配置信息 | 2 | # 配置数据导入导出用到的配置信息 |
| 2 | 3 | ||
| 3 | # 上传文件目录配置(根据不同的环境需要修正) | 4 | # 上传文件目录配置(根据不同的环境需要修正) |
| @@ -20,4 +21,28 @@ datatools.employees_datainputktr=/datatools/ktrs/employeesDataInput.ktr | @@ -20,4 +21,28 @@ datatools.employees_datainputktr=/datatools/ktrs/employeesDataInput.ktr | ||
| 20 | datatools.carsconfig_datainputktr=/datatools/ktrs/carsConfigDataInput.ktr | 21 | datatools.carsconfig_datainputktr=/datatools/ktrs/carsConfigDataInput.ktr |
| 21 | # 人员配置信息导入 | 22 | # 人员配置信息导入 |
| 22 | 23 | ||
| 24 | +======= | ||
| 25 | +# 配置数据导入导出用到的配置信息 | ||
| 26 | + | ||
| 27 | +# 上传文件目录配置(根据不同的环境需要修正) | ||
| 28 | +datatools.fileupload_dir=/Users/xu/resource/project/bsth_control_u_d_files | ||
| 29 | +# ktr转换文件,中配置的错误输出目录(根据不同的环境需要修正) | ||
| 30 | +datatools.trans_errordir=/Users/xu/resource/project/bsth_control_u_d_files/erroroutput | ||
| 31 | + | ||
| 32 | +# 以下是封装数据导入导出逻辑的ktr转换文件,类路径,以后考虑放到数据库中 | ||
| 33 | +# 测试temp的ktr转换文件 | ||
| 34 | +datatools.temp_datainputktr=/datatools/ktrs/test.ktr | ||
| 35 | +# 车辆信息导入ktr转换 | ||
| 36 | +datatools.cars_datainputktr=/datatools/ktrs/carsDataInput.ktr | ||
| 37 | +# 人员信息导入 | ||
| 38 | +datatools.employees_datainputktr=/datatools/ktrs/employeesDataInput.ktr | ||
| 39 | +# 时刻表基础信息导入 | ||
| 40 | + | ||
| 41 | +# 时刻明细信息导入 | ||
| 42 | + | ||
| 43 | +# 车辆配置信息导入 | ||
| 44 | + | ||
| 45 | +# 人员配置信息导入 | ||
| 46 | + | ||
| 47 | +>>>>>>> 502f6f7ff3ff76f0f6b6dbdac8a353604a7d5626 | ||
| 23 | # 排班规则信息导入** | 48 | # 排班规则信息导入** |
| 24 | \ No newline at end of file | 49 | \ No newline at end of file |
src/main/resources/datatools/ktrs/carsDataInput.ktr
| 1 | +<<<<<<< HEAD | ||
| 1 | <?xml version="1.0" encoding="UTF-8"?> | 2 | <?xml version="1.0" encoding="UTF-8"?> |
| 2 | <transformation> | 3 | <transformation> |
| 3 | <info> | 4 | <info> |
| @@ -1649,3 +1650,1650 @@ | @@ -1649,3 +1650,1650 @@ | ||
| 1649 | <slave_transformation>N</slave_transformation> | 1650 | <slave_transformation>N</slave_transformation> |
| 1650 | 1651 | ||
| 1651 | </transformation> | 1652 | </transformation> |
| 1653 | +======= | ||
| 1654 | +<?xml version="1.0" encoding="UTF-8"?> | ||
| 1655 | +<transformation> | ||
| 1656 | + <info> | ||
| 1657 | + <name>carsDataInput</name> | ||
| 1658 | + <description>车辆信息导入</description> | ||
| 1659 | + <extended_description>车辆基础信息</extended_description> | ||
| 1660 | + <trans_version/> | ||
| 1661 | + <trans_type>Normal</trans_type> | ||
| 1662 | + <trans_status>0</trans_status> | ||
| 1663 | + <directory>/</directory> | ||
| 1664 | + <parameters> | ||
| 1665 | + <parameter> | ||
| 1666 | + <name>erroroutputdir</name> | ||
| 1667 | + <default_value/> | ||
| 1668 | + <description>ktr step配置的错误输出目录</description> | ||
| 1669 | + </parameter> | ||
| 1670 | + <parameter> | ||
| 1671 | + <name>filepath</name> | ||
| 1672 | + <default_value/> | ||
| 1673 | + <description>待处理导入的excel文件</description> | ||
| 1674 | + </parameter> | ||
| 1675 | + </parameters> | ||
| 1676 | + <log> | ||
| 1677 | +<trans-log-table><connection/> | ||
| 1678 | +<schema/> | ||
| 1679 | +<table/> | ||
| 1680 | +<size_limit_lines/> | ||
| 1681 | +<interval/> | ||
| 1682 | +<timeout_days/> | ||
| 1683 | +<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> | ||
| 1684 | +<perf-log-table><connection/> | ||
| 1685 | +<schema/> | ||
| 1686 | +<table/> | ||
| 1687 | +<interval/> | ||
| 1688 | +<timeout_days/> | ||
| 1689 | +<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> | ||
| 1690 | +<channel-log-table><connection/> | ||
| 1691 | +<schema/> | ||
| 1692 | +<table/> | ||
| 1693 | +<timeout_days/> | ||
| 1694 | +<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> | ||
| 1695 | +<step-log-table><connection/> | ||
| 1696 | +<schema/> | ||
| 1697 | +<table/> | ||
| 1698 | +<timeout_days/> | ||
| 1699 | +<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> | ||
| 1700 | +<metrics-log-table><connection/> | ||
| 1701 | +<schema/> | ||
| 1702 | +<table/> | ||
| 1703 | +<timeout_days/> | ||
| 1704 | +<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> | ||
| 1705 | + </log> | ||
| 1706 | + <maxdate> | ||
| 1707 | + <connection/> | ||
| 1708 | + <table/> | ||
| 1709 | + <field/> | ||
| 1710 | + <offset>0.0</offset> | ||
| 1711 | + <maxdiff>0.0</maxdiff> | ||
| 1712 | + </maxdate> | ||
| 1713 | + <size_rowset>10000</size_rowset> | ||
| 1714 | + <sleep_time_empty>50</sleep_time_empty> | ||
| 1715 | + <sleep_time_full>50</sleep_time_full> | ||
| 1716 | + <unique_connections>N</unique_connections> | ||
| 1717 | + <feedback_shown>Y</feedback_shown> | ||
| 1718 | + <feedback_size>50000</feedback_size> | ||
| 1719 | + <using_thread_priorities>Y</using_thread_priorities> | ||
| 1720 | + <shared_objects_file/> | ||
| 1721 | + <capture_step_performance>N</capture_step_performance> | ||
| 1722 | + <step_performance_capturing_delay>1000</step_performance_capturing_delay> | ||
| 1723 | + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit> | ||
| 1724 | + <dependencies> | ||
| 1725 | + </dependencies> | ||
| 1726 | + <partitionschemas> | ||
| 1727 | + </partitionschemas> | ||
| 1728 | + <slaveservers> | ||
| 1729 | + </slaveservers> | ||
| 1730 | + <clusterschemas> | ||
| 1731 | + </clusterschemas> | ||
| 1732 | + <created_user>-</created_user> | ||
| 1733 | + <created_date>2016/06/23 17:44:46.781</created_date> | ||
| 1734 | + <modified_user>-</modified_user> | ||
| 1735 | + <modified_date>2016/06/23 17:44:46.781</modified_date> | ||
| 1736 | + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key> | ||
| 1737 | + <is_key_private>N</is_key_private> | ||
| 1738 | + </info> | ||
| 1739 | + <notepads> | ||
| 1740 | + <notepad> | ||
| 1741 | + <note>原系统的导出表,有些数据是没有的,有些数据也有问题,如下
报废日期去掉
车辆编码,暂时用1代替
是否电车 没有
车辆序号 没有
是否切换 没有
线路名称(这里不做关联,只是登记的时候使用) 咩有</note> | ||
| 1742 | + <xloc>365</xloc> | ||
| 1743 | + <yloc>136</yloc> | ||
| 1744 | + <width>346</width> | ||
| 1745 | + <heigth>122</heigth> | ||
| 1746 | + <fontname>YaHei Consolas Hybrid</fontname> | ||
| 1747 | + <fontsize>12</fontsize> | ||
| 1748 | + <fontbold>N</fontbold> | ||
| 1749 | + <fontitalic>N</fontitalic> | ||
| 1750 | + <fontcolorred>0</fontcolorred> | ||
| 1751 | + <fontcolorgreen>0</fontcolorgreen> | ||
| 1752 | + <fontcolorblue>0</fontcolorblue> | ||
| 1753 | + <backgroundcolorred>255</backgroundcolorred> | ||
| 1754 | + <backgroundcolorgreen>205</backgroundcolorgreen> | ||
| 1755 | + <backgroundcolorblue>112</backgroundcolorblue> | ||
| 1756 | + <bordercolorred>100</bordercolorred> | ||
| 1757 | + <bordercolorgreen>100</bordercolorgreen> | ||
| 1758 | + <bordercolorblue>100</bordercolorblue> | ||
| 1759 | + <drawshadow>Y</drawshadow> | ||
| 1760 | + </notepad> | ||
| 1761 | + </notepads> | ||
| 1762 | + <connection> | ||
| 1763 | + <name>bus_control_公司_201</name> | ||
| 1764 | + <server>192.168.168.201</server> | ||
| 1765 | + <type>MYSQL</type> | ||
| 1766 | + <access>Native</access> | ||
| 1767 | + <database>control</database> | ||
| 1768 | + <port>3306</port> | ||
| 1769 | + <username>root</username> | ||
| 1770 | + <password>Encrypted 2be98afc86aa7f2e4cb79ff228dc6fa8c</password> | ||
| 1771 | + <servername/> | ||
| 1772 | + <data_tablespace/> | ||
| 1773 | + <index_tablespace/> | ||
| 1774 | + <attributes> | ||
| 1775 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 1776 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 1777 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 1778 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 1779 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 1780 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 1781 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 1782 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 1783 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 1784 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 1785 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 1786 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 1787 | + </attributes> | ||
| 1788 | + </connection> | ||
| 1789 | + <connection> | ||
| 1790 | + <name>xlab_mysql_youle</name> | ||
| 1791 | + <server>101.231.124.8</server> | ||
| 1792 | + <type>MYSQL</type> | ||
| 1793 | + <access>Native</access> | ||
| 1794 | + <database>xlab_youle</database> | ||
| 1795 | + <port>45687</port> | ||
| 1796 | + <username>xlab-youle</username> | ||
| 1797 | + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password> | ||
| 1798 | + <servername/> | ||
| 1799 | + <data_tablespace/> | ||
| 1800 | + <index_tablespace/> | ||
| 1801 | + <attributes> | ||
| 1802 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 1803 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 1804 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 1805 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 1806 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 1807 | + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute> | ||
| 1808 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 1809 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 1810 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 1811 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 1812 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 1813 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 1814 | + </attributes> | ||
| 1815 | + </connection> | ||
| 1816 | + <connection> | ||
| 1817 | + <name>xlab_mysql_youle(本机)</name> | ||
| 1818 | + <server>localhost</server> | ||
| 1819 | + <type>MYSQL</type> | ||
| 1820 | + <access>Native</access> | ||
| 1821 | + <database>xlab_youle</database> | ||
| 1822 | + <port>3306</port> | ||
| 1823 | + <username>root</username> | ||
| 1824 | + <password>Encrypted </password> | ||
| 1825 | + <servername/> | ||
| 1826 | + <data_tablespace/> | ||
| 1827 | + <index_tablespace/> | ||
| 1828 | + <attributes> | ||
| 1829 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 1830 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 1831 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 1832 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 1833 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 1834 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 1835 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 1836 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 1837 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 1838 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 1839 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 1840 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 1841 | + </attributes> | ||
| 1842 | + </connection> | ||
| 1843 | + <connection> | ||
| 1844 | + <name>xlab_youle</name> | ||
| 1845 | + <server/> | ||
| 1846 | + <type>MYSQL</type> | ||
| 1847 | + <access>JNDI</access> | ||
| 1848 | + <database>xlab_youle</database> | ||
| 1849 | + <port>1521</port> | ||
| 1850 | + <username/> | ||
| 1851 | + <password>Encrypted </password> | ||
| 1852 | + <servername/> | ||
| 1853 | + <data_tablespace/> | ||
| 1854 | + <index_tablespace/> | ||
| 1855 | + <attributes> | ||
| 1856 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 1857 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 1858 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 1859 | + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | ||
| 1860 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 1861 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 1862 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 1863 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 1864 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 1865 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 1866 | + </attributes> | ||
| 1867 | + </connection> | ||
| 1868 | + <order> | ||
| 1869 | + <hop> <from>原始系统导出的Excel输入</from><to>字段选择</to><enabled>Y</enabled> </hop> | ||
| 1870 | + <hop> <from>字段选择</from><to>是否空调车</to><enabled>Y</enabled> </hop> | ||
| 1871 | + <hop> <from>插入/更新bsth_c_cars</from><to>错误输出</to><enabled>Y</enabled> </hop> | ||
| 1872 | + <hop> <from>是否有LED服务屏</from><to>是否有TV视频</to><enabled>Y</enabled> </hop> | ||
| 1873 | + <hop> <from>是否有TV视频</from><to>是否的变成数字型</to><enabled>Y</enabled> </hop> | ||
| 1874 | + <hop> <from>是否的变成数字型</from><to>公交企业代码</to><enabled>Y</enabled> </hop> | ||
| 1875 | + <hop> <from>是否空调车</from><to>有无人售票</to><enabled>Y</enabled> </hop> | ||
| 1876 | + <hop> <from>有无人售票</from><to>是否有LED服务屏</to><enabled>Y</enabled> </hop> | ||
| 1877 | + <hop> <from>公交企业代码</from><to>插入/更新bsth_c_cars</to><enabled>Y</enabled> </hop> | ||
| 1878 | + <hop> <from>获取变量</from><to>原始系统导出的Excel输入</to><enabled>Y</enabled> </hop> | ||
| 1879 | + </order> | ||
| 1880 | + <step> | ||
| 1881 | + <name>公交企业代码</name> | ||
| 1882 | + <type>ValueMapper</type> | ||
| 1883 | + <description/> | ||
| 1884 | + <distribute>Y</distribute> | ||
| 1885 | + <custom_distribution/> | ||
| 1886 | + <copies>1</copies> | ||
| 1887 | + <partitioning> | ||
| 1888 | + <method>none</method> | ||
| 1889 | + <schema_name/> | ||
| 1890 | + </partitioning> | ||
| 1891 | + <field_to_use>company</field_to_use> | ||
| 1892 | + <target_field>businessCode</target_field> | ||
| 1893 | + <non_match_default/> | ||
| 1894 | + <fields> | ||
| 1895 | + <field> | ||
| 1896 | + <source_value>上南公司</source_value> | ||
| 1897 | + <target_value>55</target_value> | ||
| 1898 | + </field> | ||
| 1899 | + <field> | ||
| 1900 | + <source_value>金高公司</source_value> | ||
| 1901 | + <target_value>22</target_value> | ||
| 1902 | + </field> | ||
| 1903 | + <field> | ||
| 1904 | + <source_value>杨高公司</source_value> | ||
| 1905 | + <target_value>05</target_value> | ||
| 1906 | + </field> | ||
| 1907 | + <field> | ||
| 1908 | + <source_value>南汇公司</source_value> | ||
| 1909 | + <target_value>26</target_value> | ||
| 1910 | + </field> | ||
| 1911 | + <field> | ||
| 1912 | + <source_value>公交公司</source_value> | ||
| 1913 | + <target_value>88</target_value> | ||
| 1914 | + </field> | ||
| 1915 | + <field> | ||
| 1916 | + <source_value>闵行公交</source_value> | ||
| 1917 | + <target_value>77</target_value> | ||
| 1918 | + </field> | ||
| 1919 | + </fields> | ||
| 1920 | + <cluster_schema/> | ||
| 1921 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 1922 | + <xloc>841</xloc> | ||
| 1923 | + <yloc>166</yloc> | ||
| 1924 | + <draw>Y</draw> | ||
| 1925 | + </GUI> | ||
| 1926 | + </step> | ||
| 1927 | + | ||
| 1928 | + <step> | ||
| 1929 | + <name>原始系统导出的Excel输入</name> | ||
| 1930 | + <type>ExcelInput</type> | ||
| 1931 | + <description/> | ||
| 1932 | + <distribute>Y</distribute> | ||
| 1933 | + <custom_distribution/> | ||
| 1934 | + <copies>1</copies> | ||
| 1935 | + <partitioning> | ||
| 1936 | + <method>none</method> | ||
| 1937 | + <schema_name/> | ||
| 1938 | + </partitioning> | ||
| 1939 | + <header>Y</header> | ||
| 1940 | + <noempty>Y</noempty> | ||
| 1941 | + <stoponempty>N</stoponempty> | ||
| 1942 | + <filefield/> | ||
| 1943 | + <sheetfield/> | ||
| 1944 | + <sheetrownumfield/> | ||
| 1945 | + <rownumfield/> | ||
| 1946 | + <sheetfield/> | ||
| 1947 | + <filefield/> | ||
| 1948 | + <limit>0</limit> | ||
| 1949 | + <encoding/> | ||
| 1950 | + <add_to_result_filenames>Y</add_to_result_filenames> | ||
| 1951 | + <accept_filenames>Y</accept_filenames> | ||
| 1952 | + <accept_field>filepath_</accept_field> | ||
| 1953 | + <accept_stepname>获取变量</accept_stepname> | ||
| 1954 | + <file> | ||
| 1955 | + <name/> | ||
| 1956 | + <filemask/> | ||
| 1957 | + <exclude_filemask/> | ||
| 1958 | + <file_required>N</file_required> | ||
| 1959 | + <include_subfolders>N</include_subfolders> | ||
| 1960 | + </file> | ||
| 1961 | + <fields> | ||
| 1962 | + <field> | ||
| 1963 | + <name>车牌号</name> | ||
| 1964 | + <type>String</type> | ||
| 1965 | + <length>-1</length> | ||
| 1966 | + <precision>-1</precision> | ||
| 1967 | + <trim_type>none</trim_type> | ||
| 1968 | + <repeat>N</repeat> | ||
| 1969 | + <format/> | ||
| 1970 | + <currency/> | ||
| 1971 | + <decimal/> | ||
| 1972 | + <group/> | ||
| 1973 | + </field> | ||
| 1974 | + <field> | ||
| 1975 | + <name>内部编码</name> | ||
| 1976 | + <type>String</type> | ||
| 1977 | + <length>-1</length> | ||
| 1978 | + <precision>-1</precision> | ||
| 1979 | + <trim_type>none</trim_type> | ||
| 1980 | + <repeat>N</repeat> | ||
| 1981 | + <format/> | ||
| 1982 | + <currency/> | ||
| 1983 | + <decimal/> | ||
| 1984 | + <group/> | ||
| 1985 | + </field> | ||
| 1986 | + <field> | ||
| 1987 | + <name>车辆编码</name> | ||
| 1988 | + <type>String</type> | ||
| 1989 | + <length>-1</length> | ||
| 1990 | + <precision>-1</precision> | ||
| 1991 | + <trim_type>none</trim_type> | ||
| 1992 | + <repeat>N</repeat> | ||
| 1993 | + <format/> | ||
| 1994 | + <currency/> | ||
| 1995 | + <decimal/> | ||
| 1996 | + <group/> | ||
| 1997 | + </field> | ||
| 1998 | + <field> | ||
| 1999 | + <name>车型类别</name> | ||
| 2000 | + <type>String</type> | ||
| 2001 | + <length>-1</length> | ||
| 2002 | + <precision>-1</precision> | ||
| 2003 | + <trim_type>none</trim_type> | ||
| 2004 | + <repeat>N</repeat> | ||
| 2005 | + <format/> | ||
| 2006 | + <currency/> | ||
| 2007 | + <decimal/> | ||
| 2008 | + <group/> | ||
| 2009 | + </field> | ||
| 2010 | + <field> | ||
| 2011 | + <name>座位数</name> | ||
| 2012 | + <type>String</type> | ||
| 2013 | + <length>-1</length> | ||
| 2014 | + <precision>-1</precision> | ||
| 2015 | + <trim_type>none</trim_type> | ||
| 2016 | + <repeat>N</repeat> | ||
| 2017 | + <format/> | ||
| 2018 | + <currency/> | ||
| 2019 | + <decimal/> | ||
| 2020 | + <group/> | ||
| 2021 | + </field> | ||
| 2022 | + <field> | ||
| 2023 | + <name>载客标准</name> | ||
| 2024 | + <type>String</type> | ||
| 2025 | + <length>-1</length> | ||
| 2026 | + <precision>-1</precision> | ||
| 2027 | + <trim_type>none</trim_type> | ||
| 2028 | + <repeat>N</repeat> | ||
| 2029 | + <format/> | ||
| 2030 | + <currency/> | ||
| 2031 | + <decimal/> | ||
| 2032 | + <group/> | ||
| 2033 | + </field> | ||
| 2034 | + <field> | ||
| 2035 | + <name>技术速度</name> | ||
| 2036 | + <type>String</type> | ||
| 2037 | + <length>-1</length> | ||
| 2038 | + <precision>-1</precision> | ||
| 2039 | + <trim_type>none</trim_type> | ||
| 2040 | + <repeat>N</repeat> | ||
| 2041 | + <format/> | ||
| 2042 | + <currency/> | ||
| 2043 | + <decimal/> | ||
| 2044 | + <group/> | ||
| 2045 | + </field> | ||
| 2046 | + <field> | ||
| 2047 | + <name>是否空调</name> | ||
| 2048 | + <type>String</type> | ||
| 2049 | + <length>-1</length> | ||
| 2050 | + <precision>-1</precision> | ||
| 2051 | + <trim_type>none</trim_type> | ||
| 2052 | + <repeat>N</repeat> | ||
| 2053 | + <format/> | ||
| 2054 | + <currency/> | ||
| 2055 | + <decimal/> | ||
| 2056 | + <group/> | ||
| 2057 | + </field> | ||
| 2058 | + <field> | ||
| 2059 | + <name>标准油耗(开空调)</name> | ||
| 2060 | + <type>String</type> | ||
| 2061 | + <length>-1</length> | ||
| 2062 | + <precision>-1</precision> | ||
| 2063 | + <trim_type>none</trim_type> | ||
| 2064 | + <repeat>N</repeat> | ||
| 2065 | + <format/> | ||
| 2066 | + <currency/> | ||
| 2067 | + <decimal/> | ||
| 2068 | + <group/> | ||
| 2069 | + </field> | ||
| 2070 | + <field> | ||
| 2071 | + <name>标准油耗(关空调)</name> | ||
| 2072 | + <type>String</type> | ||
| 2073 | + <length>-1</length> | ||
| 2074 | + <precision>-1</precision> | ||
| 2075 | + <trim_type>none</trim_type> | ||
| 2076 | + <repeat>N</repeat> | ||
| 2077 | + <format/> | ||
| 2078 | + <currency/> | ||
| 2079 | + <decimal/> | ||
| 2080 | + <group/> | ||
| 2081 | + </field> | ||
| 2082 | + <field> | ||
| 2083 | + <name>有无人售票</name> | ||
| 2084 | + <type>String</type> | ||
| 2085 | + <length>-1</length> | ||
| 2086 | + <precision>-1</precision> | ||
| 2087 | + <trim_type>none</trim_type> | ||
| 2088 | + <repeat>N</repeat> | ||
| 2089 | + <format/> | ||
| 2090 | + <currency/> | ||
| 2091 | + <decimal/> | ||
| 2092 | + <group/> | ||
| 2093 | + </field> | ||
| 2094 | + <field> | ||
| 2095 | + <name>是否有TV视频</name> | ||
| 2096 | + <type>String</type> | ||
| 2097 | + <length>-1</length> | ||
| 2098 | + <precision>-1</precision> | ||
| 2099 | + <trim_type>none</trim_type> | ||
| 2100 | + <repeat>N</repeat> | ||
| 2101 | + <format/> | ||
| 2102 | + <currency/> | ||
| 2103 | + <decimal/> | ||
| 2104 | + <group/> | ||
| 2105 | + </field> | ||
| 2106 | + <field> | ||
| 2107 | + <name>是否有LED服务屏</name> | ||
| 2108 | + <type>String</type> | ||
| 2109 | + <length>-1</length> | ||
| 2110 | + <precision>-1</precision> | ||
| 2111 | + <trim_type>none</trim_type> | ||
| 2112 | + <repeat>N</repeat> | ||
| 2113 | + <format/> | ||
| 2114 | + <currency/> | ||
| 2115 | + <decimal/> | ||
| 2116 | + <group/> | ||
| 2117 | + </field> | ||
| 2118 | + <field> | ||
| 2119 | + <name>运营状态</name> | ||
| 2120 | + <type>String</type> | ||
| 2121 | + <length>-1</length> | ||
| 2122 | + <precision>-1</precision> | ||
| 2123 | + <trim_type>none</trim_type> | ||
| 2124 | + <repeat>N</repeat> | ||
| 2125 | + <format/> | ||
| 2126 | + <currency/> | ||
| 2127 | + <decimal/> | ||
| 2128 | + <group/> | ||
| 2129 | + </field> | ||
| 2130 | + <field> | ||
| 2131 | + <name>启用日期</name> | ||
| 2132 | + <type>String</type> | ||
| 2133 | + <length>-1</length> | ||
| 2134 | + <precision>-1</precision> | ||
| 2135 | + <trim_type>none</trim_type> | ||
| 2136 | + <repeat>N</repeat> | ||
| 2137 | + <format/> | ||
| 2138 | + <currency/> | ||
| 2139 | + <decimal/> | ||
| 2140 | + <group/> | ||
| 2141 | + </field> | ||
| 2142 | + <field> | ||
| 2143 | + <name>取消日期</name> | ||
| 2144 | + <type>String</type> | ||
| 2145 | + <length>-1</length> | ||
| 2146 | + <precision>-1</precision> | ||
| 2147 | + <trim_type>none</trim_type> | ||
| 2148 | + <repeat>N</repeat> | ||
| 2149 | + <format/> | ||
| 2150 | + <currency/> | ||
| 2151 | + <decimal/> | ||
| 2152 | + <group/> | ||
| 2153 | + </field> | ||
| 2154 | + <field> | ||
| 2155 | + <name>报废号</name> | ||
| 2156 | + <type>String</type> | ||
| 2157 | + <length>-1</length> | ||
| 2158 | + <precision>-1</precision> | ||
| 2159 | + <trim_type>none</trim_type> | ||
| 2160 | + <repeat>N</repeat> | ||
| 2161 | + <format/> | ||
| 2162 | + <currency/> | ||
| 2163 | + <decimal/> | ||
| 2164 | + <group/> | ||
| 2165 | + </field> | ||
| 2166 | + <field> | ||
| 2167 | + <name>报废日期</name> | ||
| 2168 | + <type>String</type> | ||
| 2169 | + <length>-1</length> | ||
| 2170 | + <precision>-1</precision> | ||
| 2171 | + <trim_type>none</trim_type> | ||
| 2172 | + <repeat>N</repeat> | ||
| 2173 | + <format/> | ||
| 2174 | + <currency/> | ||
| 2175 | + <decimal/> | ||
| 2176 | + <group/> | ||
| 2177 | + </field> | ||
| 2178 | + <field> | ||
| 2179 | + <name>备注</name> | ||
| 2180 | + <type>String</type> | ||
| 2181 | + <length>-1</length> | ||
| 2182 | + <precision>-1</precision> | ||
| 2183 | + <trim_type>none</trim_type> | ||
| 2184 | + <repeat>N</repeat> | ||
| 2185 | + <format/> | ||
| 2186 | + <currency/> | ||
| 2187 | + <decimal/> | ||
| 2188 | + <group/> | ||
| 2189 | + </field> | ||
| 2190 | + <field> | ||
| 2191 | + <name>设备编号</name> | ||
| 2192 | + <type>String</type> | ||
| 2193 | + <length>-1</length> | ||
| 2194 | + <precision>-1</precision> | ||
| 2195 | + <trim_type>none</trim_type> | ||
| 2196 | + <repeat>N</repeat> | ||
| 2197 | + <format/> | ||
| 2198 | + <currency/> | ||
| 2199 | + <decimal/> | ||
| 2200 | + <group/> | ||
| 2201 | + </field> | ||
| 2202 | + <field> | ||
| 2203 | + <name>厂牌型号</name> | ||
| 2204 | + <type>String</type> | ||
| 2205 | + <length>-1</length> | ||
| 2206 | + <precision>-1</precision> | ||
| 2207 | + <trim_type>none</trim_type> | ||
| 2208 | + <repeat>N</repeat> | ||
| 2209 | + <format/> | ||
| 2210 | + <currency/> | ||
| 2211 | + <decimal/> | ||
| 2212 | + <group/> | ||
| 2213 | + </field> | ||
| 2214 | + <field> | ||
| 2215 | + <name>厂牌型号2</name> | ||
| 2216 | + <type>String</type> | ||
| 2217 | + <length>-1</length> | ||
| 2218 | + <precision>-1</precision> | ||
| 2219 | + <trim_type>none</trim_type> | ||
| 2220 | + <repeat>N</repeat> | ||
| 2221 | + <format/> | ||
| 2222 | + <currency/> | ||
| 2223 | + <decimal/> | ||
| 2224 | + <group/> | ||
| 2225 | + </field> | ||
| 2226 | + <field> | ||
| 2227 | + <name>车辆等级标准</name> | ||
| 2228 | + <type>String</type> | ||
| 2229 | + <length>-1</length> | ||
| 2230 | + <precision>-1</precision> | ||
| 2231 | + <trim_type>none</trim_type> | ||
| 2232 | + <repeat>N</repeat> | ||
| 2233 | + <format/> | ||
| 2234 | + <currency/> | ||
| 2235 | + <decimal/> | ||
| 2236 | + <group/> | ||
| 2237 | + </field> | ||
| 2238 | + <field> | ||
| 2239 | + <name>出厂排放标准</name> | ||
| 2240 | + <type>String</type> | ||
| 2241 | + <length>-1</length> | ||
| 2242 | + <precision>-1</precision> | ||
| 2243 | + <trim_type>none</trim_type> | ||
| 2244 | + <repeat>N</repeat> | ||
| 2245 | + <format/> | ||
| 2246 | + <currency/> | ||
| 2247 | + <decimal/> | ||
| 2248 | + <group/> | ||
| 2249 | + </field> | ||
| 2250 | + <field> | ||
| 2251 | + <name>发动机号码1</name> | ||
| 2252 | + <type>String</type> | ||
| 2253 | + <length>-1</length> | ||
| 2254 | + <precision>-1</precision> | ||
| 2255 | + <trim_type>none</trim_type> | ||
| 2256 | + <repeat>N</repeat> | ||
| 2257 | + <format/> | ||
| 2258 | + <currency/> | ||
| 2259 | + <decimal/> | ||
| 2260 | + <group/> | ||
| 2261 | + </field> | ||
| 2262 | + <field> | ||
| 2263 | + <name>发动机号码2</name> | ||
| 2264 | + <type>String</type> | ||
| 2265 | + <length>-1</length> | ||
| 2266 | + <precision>-1</precision> | ||
| 2267 | + <trim_type>none</trim_type> | ||
| 2268 | + <repeat>N</repeat> | ||
| 2269 | + <format/> | ||
| 2270 | + <currency/> | ||
| 2271 | + <decimal/> | ||
| 2272 | + <group/> | ||
| 2273 | + </field> | ||
| 2274 | + <field> | ||
| 2275 | + <name>车架号码1</name> | ||
| 2276 | + <type>String</type> | ||
| 2277 | + <length>-1</length> | ||
| 2278 | + <precision>-1</precision> | ||
| 2279 | + <trim_type>none</trim_type> | ||
| 2280 | + <repeat>N</repeat> | ||
| 2281 | + <format/> | ||
| 2282 | + <currency/> | ||
| 2283 | + <decimal/> | ||
| 2284 | + <group/> | ||
| 2285 | + </field> | ||
| 2286 | + <field> | ||
| 2287 | + <name>车架号码2</name> | ||
| 2288 | + <type>String</type> | ||
| 2289 | + <length>-1</length> | ||
| 2290 | + <precision>-1</precision> | ||
| 2291 | + <trim_type>none</trim_type> | ||
| 2292 | + <repeat>N</repeat> | ||
| 2293 | + <format/> | ||
| 2294 | + <currency/> | ||
| 2295 | + <decimal/> | ||
| 2296 | + <group/> | ||
| 2297 | + </field> | ||
| 2298 | + <field> | ||
| 2299 | + <name>车辆类型</name> | ||
| 2300 | + <type>String</type> | ||
| 2301 | + <length>-1</length> | ||
| 2302 | + <precision>-1</precision> | ||
| 2303 | + <trim_type>none</trim_type> | ||
| 2304 | + <repeat>N</repeat> | ||
| 2305 | + <format/> | ||
| 2306 | + <currency/> | ||
| 2307 | + <decimal/> | ||
| 2308 | + <group/> | ||
| 2309 | + </field> | ||
| 2310 | + <field> | ||
| 2311 | + <name>所属公司</name> | ||
| 2312 | + <type>String</type> | ||
| 2313 | + <length>-1</length> | ||
| 2314 | + <precision>-1</precision> | ||
| 2315 | + <trim_type>none</trim_type> | ||
| 2316 | + <repeat>N</repeat> | ||
| 2317 | + <format/> | ||
| 2318 | + <currency/> | ||
| 2319 | + <decimal/> | ||
| 2320 | + <group/> | ||
| 2321 | + </field> | ||
| 2322 | + <field> | ||
| 2323 | + <name>修改日期</name> | ||
| 2324 | + <type>String</type> | ||
| 2325 | + <length>-1</length> | ||
| 2326 | + <precision>-1</precision> | ||
| 2327 | + <trim_type>none</trim_type> | ||
| 2328 | + <repeat>N</repeat> | ||
| 2329 | + <format/> | ||
| 2330 | + <currency/> | ||
| 2331 | + <decimal/> | ||
| 2332 | + <group/> | ||
| 2333 | + </field> | ||
| 2334 | + <field> | ||
| 2335 | + <name>是否机动车</name> | ||
| 2336 | + <type>String</type> | ||
| 2337 | + <length>-1</length> | ||
| 2338 | + <precision>-1</precision> | ||
| 2339 | + <trim_type>none</trim_type> | ||
| 2340 | + <repeat>N</repeat> | ||
| 2341 | + <format/> | ||
| 2342 | + <currency/> | ||
| 2343 | + <decimal/> | ||
| 2344 | + <group/> | ||
| 2345 | + </field> | ||
| 2346 | + <field> | ||
| 2347 | + <name>视频编号</name> | ||
| 2348 | + <type>String</type> | ||
| 2349 | + <length>-1</length> | ||
| 2350 | + <precision>-1</precision> | ||
| 2351 | + <trim_type>none</trim_type> | ||
| 2352 | + <repeat>N</repeat> | ||
| 2353 | + <format/> | ||
| 2354 | + <currency/> | ||
| 2355 | + <decimal/> | ||
| 2356 | + <group/> | ||
| 2357 | + </field> | ||
| 2358 | + <field> | ||
| 2359 | + <name>设备供应厂商</name> | ||
| 2360 | + <type>String</type> | ||
| 2361 | + <length>-1</length> | ||
| 2362 | + <precision>-1</precision> | ||
| 2363 | + <trim_type>none</trim_type> | ||
| 2364 | + <repeat>N</repeat> | ||
| 2365 | + <format/> | ||
| 2366 | + <currency/> | ||
| 2367 | + <decimal/> | ||
| 2368 | + <group/> | ||
| 2369 | + </field> | ||
| 2370 | + <field> | ||
| 2371 | + <name>分公司</name> | ||
| 2372 | + <type>String</type> | ||
| 2373 | + <length>-1</length> | ||
| 2374 | + <precision>-1</precision> | ||
| 2375 | + <trim_type>none</trim_type> | ||
| 2376 | + <repeat>N</repeat> | ||
| 2377 | + <format/> | ||
| 2378 | + <currency/> | ||
| 2379 | + <decimal/> | ||
| 2380 | + <group/> | ||
| 2381 | + </field> | ||
| 2382 | + </fields> | ||
| 2383 | + <sheets> | ||
| 2384 | + <sheet> | ||
| 2385 | + <name>工作表1</name> | ||
| 2386 | + <startrow>0</startrow> | ||
| 2387 | + <startcol>0</startcol> | ||
| 2388 | + </sheet> | ||
| 2389 | + </sheets> | ||
| 2390 | + <strict_types>N</strict_types> | ||
| 2391 | + <error_ignored>N</error_ignored> | ||
| 2392 | + <error_line_skipped>N</error_line_skipped> | ||
| 2393 | + <bad_line_files_destination_directory/> | ||
| 2394 | + <bad_line_files_extension>warning</bad_line_files_extension> | ||
| 2395 | + <error_line_files_destination_directory/> | ||
| 2396 | + <error_line_files_extension>error</error_line_files_extension> | ||
| 2397 | + <line_number_files_destination_directory/> | ||
| 2398 | + <line_number_files_extension>line</line_number_files_extension> | ||
| 2399 | + <shortFileFieldName/> | ||
| 2400 | + <pathFieldName/> | ||
| 2401 | + <hiddenFieldName/> | ||
| 2402 | + <lastModificationTimeFieldName/> | ||
| 2403 | + <uriNameFieldName/> | ||
| 2404 | + <rootUriNameFieldName/> | ||
| 2405 | + <extensionFieldName/> | ||
| 2406 | + <sizeFieldName/> | ||
| 2407 | + <spreadsheet_type>JXL</spreadsheet_type> | ||
| 2408 | + <cluster_schema/> | ||
| 2409 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 2410 | + <xloc>131</xloc> | ||
| 2411 | + <yloc>58</yloc> | ||
| 2412 | + <draw>Y</draw> | ||
| 2413 | + </GUI> | ||
| 2414 | + </step> | ||
| 2415 | + | ||
| 2416 | + <step> | ||
| 2417 | + <name>字段选择</name> | ||
| 2418 | + <type>SelectValues</type> | ||
| 2419 | + <description/> | ||
| 2420 | + <distribute>Y</distribute> | ||
| 2421 | + <custom_distribution/> | ||
| 2422 | + <copies>1</copies> | ||
| 2423 | + <partitioning> | ||
| 2424 | + <method>none</method> | ||
| 2425 | + <schema_name/> | ||
| 2426 | + </partitioning> | ||
| 2427 | + <fields> <field> <name>内部编码</name> | ||
| 2428 | + <rename>insideCode</rename> | ||
| 2429 | + <length>-2</length> | ||
| 2430 | + <precision>-2</precision> | ||
| 2431 | + </field> <field> <name>车辆编码</name> | ||
| 2432 | + <rename>carCode</rename> | ||
| 2433 | + <length>-2</length> | ||
| 2434 | + <precision>-2</precision> | ||
| 2435 | + </field> <field> <name>所属公司</name> | ||
| 2436 | + <rename>company</rename> | ||
| 2437 | + <length>-2</length> | ||
| 2438 | + <precision>-2</precision> | ||
| 2439 | + </field> <field> <name>分公司</name> | ||
| 2440 | + <rename>brancheCompany</rename> | ||
| 2441 | + <length>-2</length> | ||
| 2442 | + <precision>-2</precision> | ||
| 2443 | + </field> <field> <name>车牌号</name> | ||
| 2444 | + <rename>carPlate</rename> | ||
| 2445 | + <length>-2</length> | ||
| 2446 | + <precision>-2</precision> | ||
| 2447 | + </field> <field> <name>设备供应厂商</name> | ||
| 2448 | + <rename>supplierName</rename> | ||
| 2449 | + <length>-2</length> | ||
| 2450 | + <precision>-2</precision> | ||
| 2451 | + </field> <field> <name>设备编号</name> | ||
| 2452 | + <rename>equipmentCode</rename> | ||
| 2453 | + <length>-2</length> | ||
| 2454 | + <precision>-2</precision> | ||
| 2455 | + </field> <field> <name>车型类别</name> | ||
| 2456 | + <rename>carClass</rename> | ||
| 2457 | + <length>-2</length> | ||
| 2458 | + <precision>-2</precision> | ||
| 2459 | + </field> <field> <name>技术速度</name> | ||
| 2460 | + <rename>speed</rename> | ||
| 2461 | + <length>-2</length> | ||
| 2462 | + <precision>-2</precision> | ||
| 2463 | + </field> <field> <name>座位数</name> | ||
| 2464 | + <rename>carSeatnNumber</rename> | ||
| 2465 | + <length>-2</length> | ||
| 2466 | + <precision>-2</precision> | ||
| 2467 | + </field> <field> <name>载客标准</name> | ||
| 2468 | + <rename>carStandard</rename> | ||
| 2469 | + <length>-2</length> | ||
| 2470 | + <precision>-2</precision> | ||
| 2471 | + </field> <field> <name>标准油耗(开空调)</name> | ||
| 2472 | + <rename>kburnStandard</rename> | ||
| 2473 | + <length>-2</length> | ||
| 2474 | + <precision>-2</precision> | ||
| 2475 | + </field> <field> <name>标准油耗(关空调)</name> | ||
| 2476 | + <rename>gburnStandard</rename> | ||
| 2477 | + <length>-2</length> | ||
| 2478 | + <precision>-2</precision> | ||
| 2479 | + </field> <field> <name>报废号</name> | ||
| 2480 | + <rename>scrapCode</rename> | ||
| 2481 | + <length>-2</length> | ||
| 2482 | + <precision>-2</precision> | ||
| 2483 | + </field> <field> <name>厂牌型号</name> | ||
| 2484 | + <rename>makeCodeOne</rename> | ||
| 2485 | + <length>-2</length> | ||
| 2486 | + <precision>-2</precision> | ||
| 2487 | + </field> <field> <name>厂牌型号2</name> | ||
| 2488 | + <rename>makeCodeTwo</rename> | ||
| 2489 | + <length>-2</length> | ||
| 2490 | + <precision>-2</precision> | ||
| 2491 | + </field> <field> <name>车辆等级标准</name> | ||
| 2492 | + <rename>carGride</rename> | ||
| 2493 | + <length>-2</length> | ||
| 2494 | + <precision>-2</precision> | ||
| 2495 | + </field> <field> <name>出厂排放标准</name> | ||
| 2496 | + <rename>emissionsStandard</rename> | ||
| 2497 | + <length>-2</length> | ||
| 2498 | + <precision>-2</precision> | ||
| 2499 | + </field> <field> <name>发动机号码1</name> | ||
| 2500 | + <rename>engineCodeOne</rename> | ||
| 2501 | + <length>-2</length> | ||
| 2502 | + <precision>-2</precision> | ||
| 2503 | + </field> <field> <name>发动机号码2</name> | ||
| 2504 | + <rename>engineCodeTwo</rename> | ||
| 2505 | + <length>-2</length> | ||
| 2506 | + <precision>-2</precision> | ||
| 2507 | + </field> <field> <name>车架号码1</name> | ||
| 2508 | + <rename>carNumberOne</rename> | ||
| 2509 | + <length>-2</length> | ||
| 2510 | + <precision>-2</precision> | ||
| 2511 | + </field> <field> <name>车架号码2</name> | ||
| 2512 | + <rename>carNumberTwo</rename> | ||
| 2513 | + <length>-2</length> | ||
| 2514 | + <precision>-2</precision> | ||
| 2515 | + </field> <field> <name>启用日期</name> | ||
| 2516 | + <rename>openDate</rename> | ||
| 2517 | + <length>-2</length> | ||
| 2518 | + <precision>-2</precision> | ||
| 2519 | + </field> <field> <name>取消日期</name> | ||
| 2520 | + <rename>closeDate</rename> | ||
| 2521 | + <length>-2</length> | ||
| 2522 | + <precision>-2</precision> | ||
| 2523 | + </field> <field> <name>是否空调</name> | ||
| 2524 | + <rename>hvacCar</rename> | ||
| 2525 | + <length>-2</length> | ||
| 2526 | + <precision>-2</precision> | ||
| 2527 | + </field> <field> <name>有无人售票</name> | ||
| 2528 | + <rename>ticketType</rename> | ||
| 2529 | + <length>-2</length> | ||
| 2530 | + <precision>-2</precision> | ||
| 2531 | + </field> <field> <name>是否有LED服务屏</name> | ||
| 2532 | + <rename>ledScreen</rename> | ||
| 2533 | + <length>-2</length> | ||
| 2534 | + <precision>-2</precision> | ||
| 2535 | + </field> <field> <name>是否有TV视频</name> | ||
| 2536 | + <rename>tvVideoType</rename> | ||
| 2537 | + <length>-2</length> | ||
| 2538 | + <precision>-2</precision> | ||
| 2539 | + </field> <field> <name>车辆类型</name> | ||
| 2540 | + <rename>carType</rename> | ||
| 2541 | + <length>-2</length> | ||
| 2542 | + <precision>-2</precision> | ||
| 2543 | + </field> <field> <name>是否机动车</name> | ||
| 2544 | + <rename>vehicleStats</rename> | ||
| 2545 | + <length>-2</length> | ||
| 2546 | + <precision>-2</precision> | ||
| 2547 | + </field> <field> <name>运营状态</name> | ||
| 2548 | + <rename>operatorsState</rename> | ||
| 2549 | + <length>-2</length> | ||
| 2550 | + <precision>-2</precision> | ||
| 2551 | + </field> <field> <name>备注</name> | ||
| 2552 | + <rename>descriptions</rename> | ||
| 2553 | + <length>-2</length> | ||
| 2554 | + <precision>-2</precision> | ||
| 2555 | + </field> <field> <name>视频编号</name> | ||
| 2556 | + <rename>videoCode</rename> | ||
| 2557 | + <length>-2</length> | ||
| 2558 | + <precision>-2</precision> | ||
| 2559 | + </field> <select_unspecified>Y</select_unspecified> | ||
| 2560 | + </fields> <cluster_schema/> | ||
| 2561 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 2562 | + <xloc>279</xloc> | ||
| 2563 | + <yloc>59</yloc> | ||
| 2564 | + <draw>Y</draw> | ||
| 2565 | + </GUI> | ||
| 2566 | + </step> | ||
| 2567 | + | ||
| 2568 | + <step> | ||
| 2569 | + <name>插入/更新bsth_c_cars</name> | ||
| 2570 | + <type>InsertUpdate</type> | ||
| 2571 | + <description/> | ||
| 2572 | + <distribute>Y</distribute> | ||
| 2573 | + <custom_distribution/> | ||
| 2574 | + <copies>1</copies> | ||
| 2575 | + <partitioning> | ||
| 2576 | + <method>none</method> | ||
| 2577 | + <schema_name/> | ||
| 2578 | + </partitioning> | ||
| 2579 | + <connection>bus_control_公司_201</connection> | ||
| 2580 | + <commit>1000</commit> | ||
| 2581 | + <update_bypassed>N</update_bypassed> | ||
| 2582 | + <lookup> | ||
| 2583 | + <schema/> | ||
| 2584 | + <table>bsth_c_cars</table> | ||
| 2585 | + <key> | ||
| 2586 | + <name>insideCode</name> | ||
| 2587 | + <field>inside_code</field> | ||
| 2588 | + <condition>=</condition> | ||
| 2589 | + <name2/> | ||
| 2590 | + </key> | ||
| 2591 | + <value> | ||
| 2592 | + <name>inside_code</name> | ||
| 2593 | + <rename>insideCode</rename> | ||
| 2594 | + <update>Y</update> | ||
| 2595 | + </value> | ||
| 2596 | + <value> | ||
| 2597 | + <name>company</name> | ||
| 2598 | + <rename>company</rename> | ||
| 2599 | + <update>Y</update> | ||
| 2600 | + </value> | ||
| 2601 | + <value> | ||
| 2602 | + <name>branche_company</name> | ||
| 2603 | + <rename>brancheCompany</rename> | ||
| 2604 | + <update>Y</update> | ||
| 2605 | + </value> | ||
| 2606 | + <value> | ||
| 2607 | + <name>car_plate</name> | ||
| 2608 | + <rename>carPlate</rename> | ||
| 2609 | + <update>Y</update> | ||
| 2610 | + </value> | ||
| 2611 | + <value> | ||
| 2612 | + <name>supplier_name</name> | ||
| 2613 | + <rename>supplierName</rename> | ||
| 2614 | + <update>Y</update> | ||
| 2615 | + </value> | ||
| 2616 | + <value> | ||
| 2617 | + <name>equipment_code</name> | ||
| 2618 | + <rename>equipmentCode</rename> | ||
| 2619 | + <update>Y</update> | ||
| 2620 | + </value> | ||
| 2621 | + <value> | ||
| 2622 | + <name>car_class</name> | ||
| 2623 | + <rename>carClass</rename> | ||
| 2624 | + <update>Y</update> | ||
| 2625 | + </value> | ||
| 2626 | + <value> | ||
| 2627 | + <name>speed</name> | ||
| 2628 | + <rename>speed</rename> | ||
| 2629 | + <update>Y</update> | ||
| 2630 | + </value> | ||
| 2631 | + <value> | ||
| 2632 | + <name>car_seatn_number</name> | ||
| 2633 | + <rename>carSeatnNumber</rename> | ||
| 2634 | + <update>Y</update> | ||
| 2635 | + </value> | ||
| 2636 | + <value> | ||
| 2637 | + <name>car_standard</name> | ||
| 2638 | + <rename>carStandard</rename> | ||
| 2639 | + <update>Y</update> | ||
| 2640 | + </value> | ||
| 2641 | + <value> | ||
| 2642 | + <name>car_code</name> | ||
| 2643 | + <rename>carCode</rename> | ||
| 2644 | + <update>Y</update> | ||
| 2645 | + </value> | ||
| 2646 | + <value> | ||
| 2647 | + <name>kburn_standard</name> | ||
| 2648 | + <rename>kburnStandard</rename> | ||
| 2649 | + <update>Y</update> | ||
| 2650 | + </value> | ||
| 2651 | + <value> | ||
| 2652 | + <name>gburn_standard</name> | ||
| 2653 | + <rename>gburnStandard</rename> | ||
| 2654 | + <update>Y</update> | ||
| 2655 | + </value> | ||
| 2656 | + <value> | ||
| 2657 | + <name>scrap_code</name> | ||
| 2658 | + <rename>scrapCode</rename> | ||
| 2659 | + <update>Y</update> | ||
| 2660 | + </value> | ||
| 2661 | + <value> | ||
| 2662 | + <name>make_code_one</name> | ||
| 2663 | + <rename>makeCodeOne</rename> | ||
| 2664 | + <update>Y</update> | ||
| 2665 | + </value> | ||
| 2666 | + <value> | ||
| 2667 | + <name>make_code_two</name> | ||
| 2668 | + <rename>makeCodeTwo</rename> | ||
| 2669 | + <update>Y</update> | ||
| 2670 | + </value> | ||
| 2671 | + <value> | ||
| 2672 | + <name>car_gride</name> | ||
| 2673 | + <rename>carGride</rename> | ||
| 2674 | + <update>Y</update> | ||
| 2675 | + </value> | ||
| 2676 | + <value> | ||
| 2677 | + <name>emissions_standard</name> | ||
| 2678 | + <rename>emissionsStandard</rename> | ||
| 2679 | + <update>Y</update> | ||
| 2680 | + </value> | ||
| 2681 | + <value> | ||
| 2682 | + <name>engine_code_one</name> | ||
| 2683 | + <rename>engineCodeOne</rename> | ||
| 2684 | + <update>Y</update> | ||
| 2685 | + </value> | ||
| 2686 | + <value> | ||
| 2687 | + <name>engine_code_two</name> | ||
| 2688 | + <rename>engineCodeTwo</rename> | ||
| 2689 | + <update>Y</update> | ||
| 2690 | + </value> | ||
| 2691 | + <value> | ||
| 2692 | + <name>car_number_one</name> | ||
| 2693 | + <rename>carNumberOne</rename> | ||
| 2694 | + <update>Y</update> | ||
| 2695 | + </value> | ||
| 2696 | + <value> | ||
| 2697 | + <name>car_number_two</name> | ||
| 2698 | + <rename>carNumberTwo</rename> | ||
| 2699 | + <update>Y</update> | ||
| 2700 | + </value> | ||
| 2701 | + <value> | ||
| 2702 | + <name>open_date</name> | ||
| 2703 | + <rename>openDate</rename> | ||
| 2704 | + <update>Y</update> | ||
| 2705 | + </value> | ||
| 2706 | + <value> | ||
| 2707 | + <name>close_date</name> | ||
| 2708 | + <rename>closeDate</rename> | ||
| 2709 | + <update>Y</update> | ||
| 2710 | + </value> | ||
| 2711 | + <value> | ||
| 2712 | + <name>hvac_car</name> | ||
| 2713 | + <rename>hvacCar</rename> | ||
| 2714 | + <update>Y</update> | ||
| 2715 | + </value> | ||
| 2716 | + <value> | ||
| 2717 | + <name>ticket_type</name> | ||
| 2718 | + <rename>ticketType</rename> | ||
| 2719 | + <update>Y</update> | ||
| 2720 | + </value> | ||
| 2721 | + <value> | ||
| 2722 | + <name>led_screen</name> | ||
| 2723 | + <rename>ledScreen</rename> | ||
| 2724 | + <update>Y</update> | ||
| 2725 | + </value> | ||
| 2726 | + <value> | ||
| 2727 | + <name>tv_video_type</name> | ||
| 2728 | + <rename>tvVideoType</rename> | ||
| 2729 | + <update>Y</update> | ||
| 2730 | + </value> | ||
| 2731 | + <value> | ||
| 2732 | + <name>car_type</name> | ||
| 2733 | + <rename>carType</rename> | ||
| 2734 | + <update>Y</update> | ||
| 2735 | + </value> | ||
| 2736 | + <value> | ||
| 2737 | + <name>vehicle_stats</name> | ||
| 2738 | + <rename>vehicleStats</rename> | ||
| 2739 | + <update>Y</update> | ||
| 2740 | + </value> | ||
| 2741 | + <value> | ||
| 2742 | + <name>operators_state</name> | ||
| 2743 | + <rename>operatorsState</rename> | ||
| 2744 | + <update>Y</update> | ||
| 2745 | + </value> | ||
| 2746 | + <value> | ||
| 2747 | + <name>descriptions</name> | ||
| 2748 | + <rename>descriptions</rename> | ||
| 2749 | + <update>Y</update> | ||
| 2750 | + </value> | ||
| 2751 | + <value> | ||
| 2752 | + <name>video_code</name> | ||
| 2753 | + <rename>videoCode</rename> | ||
| 2754 | + <update>Y</update> | ||
| 2755 | + </value> | ||
| 2756 | + <value> | ||
| 2757 | + <name>business_code</name> | ||
| 2758 | + <rename>businessCode</rename> | ||
| 2759 | + <update>Y</update> | ||
| 2760 | + </value> | ||
| 2761 | + </lookup> | ||
| 2762 | + <cluster_schema/> | ||
| 2763 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 2764 | + <xloc>842</xloc> | ||
| 2765 | + <yloc>319</yloc> | ||
| 2766 | + <draw>Y</draw> | ||
| 2767 | + </GUI> | ||
| 2768 | + </step> | ||
| 2769 | + | ||
| 2770 | + <step> | ||
| 2771 | + <name>是否有LED服务屏</name> | ||
| 2772 | + <type>ValueMapper</type> | ||
| 2773 | + <description/> | ||
| 2774 | + <distribute>Y</distribute> | ||
| 2775 | + <custom_distribution/> | ||
| 2776 | + <copies>1</copies> | ||
| 2777 | + <partitioning> | ||
| 2778 | + <method>none</method> | ||
| 2779 | + <schema_name/> | ||
| 2780 | + </partitioning> | ||
| 2781 | + <field_to_use>ledScreen</field_to_use> | ||
| 2782 | + <target_field/> | ||
| 2783 | + <non_match_default/> | ||
| 2784 | + <fields> | ||
| 2785 | + <field> | ||
| 2786 | + <source_value>是</source_value> | ||
| 2787 | + <target_value>1</target_value> | ||
| 2788 | + </field> | ||
| 2789 | + <field> | ||
| 2790 | + <source_value>否</source_value> | ||
| 2791 | + <target_value>0</target_value> | ||
| 2792 | + </field> | ||
| 2793 | + </fields> | ||
| 2794 | + <cluster_schema/> | ||
| 2795 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 2796 | + <xloc>590</xloc> | ||
| 2797 | + <yloc>61</yloc> | ||
| 2798 | + <draw>Y</draw> | ||
| 2799 | + </GUI> | ||
| 2800 | + </step> | ||
| 2801 | + | ||
| 2802 | + <step> | ||
| 2803 | + <name>是否有TV视频</name> | ||
| 2804 | + <type>ValueMapper</type> | ||
| 2805 | + <description/> | ||
| 2806 | + <distribute>Y</distribute> | ||
| 2807 | + <custom_distribution/> | ||
| 2808 | + <copies>1</copies> | ||
| 2809 | + <partitioning> | ||
| 2810 | + <method>none</method> | ||
| 2811 | + <schema_name/> | ||
| 2812 | + </partitioning> | ||
| 2813 | + <field_to_use>tvVideoType</field_to_use> | ||
| 2814 | + <target_field/> | ||
| 2815 | + <non_match_default/> | ||
| 2816 | + <fields> | ||
| 2817 | + <field> | ||
| 2818 | + <source_value>是</source_value> | ||
| 2819 | + <target_value>1</target_value> | ||
| 2820 | + </field> | ||
| 2821 | + <field> | ||
| 2822 | + <source_value>否</source_value> | ||
| 2823 | + <target_value>0</target_value> | ||
| 2824 | + </field> | ||
| 2825 | + </fields> | ||
| 2826 | + <cluster_schema/> | ||
| 2827 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 2828 | + <xloc>706</xloc> | ||
| 2829 | + <yloc>61</yloc> | ||
| 2830 | + <draw>Y</draw> | ||
| 2831 | + </GUI> | ||
| 2832 | + </step> | ||
| 2833 | + | ||
| 2834 | + <step> | ||
| 2835 | + <name>是否的变成数字型</name> | ||
| 2836 | + <type>SelectValues</type> | ||
| 2837 | + <description/> | ||
| 2838 | + <distribute>Y</distribute> | ||
| 2839 | + <custom_distribution/> | ||
| 2840 | + <copies>1</copies> | ||
| 2841 | + <partitioning> | ||
| 2842 | + <method>none</method> | ||
| 2843 | + <schema_name/> | ||
| 2844 | + </partitioning> | ||
| 2845 | + <fields> <select_unspecified>N</select_unspecified> | ||
| 2846 | + <meta> <name>hvacCar</name> | ||
| 2847 | + <rename>hvacCar</rename> | ||
| 2848 | + <type>Integer</type> | ||
| 2849 | + <length>1</length> | ||
| 2850 | + <precision>-2</precision> | ||
| 2851 | + <conversion_mask/> | ||
| 2852 | + <date_format_lenient>false</date_format_lenient> | ||
| 2853 | + <date_format_locale/> | ||
| 2854 | + <date_format_timezone/> | ||
| 2855 | + <lenient_string_to_number>false</lenient_string_to_number> | ||
| 2856 | + <encoding/> | ||
| 2857 | + <decimal_symbol/> | ||
| 2858 | + <grouping_symbol/> | ||
| 2859 | + <currency_symbol/> | ||
| 2860 | + <storage_type/> | ||
| 2861 | + </meta> <meta> <name>ticketType</name> | ||
| 2862 | + <rename>ticketType</rename> | ||
| 2863 | + <type>Integer</type> | ||
| 2864 | + <length>1</length> | ||
| 2865 | + <precision>-2</precision> | ||
| 2866 | + <conversion_mask/> | ||
| 2867 | + <date_format_lenient>false</date_format_lenient> | ||
| 2868 | + <date_format_locale/> | ||
| 2869 | + <date_format_timezone/> | ||
| 2870 | + <lenient_string_to_number>false</lenient_string_to_number> | ||
| 2871 | + <encoding/> | ||
| 2872 | + <decimal_symbol/> | ||
| 2873 | + <grouping_symbol/> | ||
| 2874 | + <currency_symbol/> | ||
| 2875 | + <storage_type/> | ||
| 2876 | + </meta> <meta> <name>ledScreen</name> | ||
| 2877 | + <rename>ledScreen</rename> | ||
| 2878 | + <type>Integer</type> | ||
| 2879 | + <length>1</length> | ||
| 2880 | + <precision>-2</precision> | ||
| 2881 | + <conversion_mask/> | ||
| 2882 | + <date_format_lenient>false</date_format_lenient> | ||
| 2883 | + <date_format_locale/> | ||
| 2884 | + <date_format_timezone/> | ||
| 2885 | + <lenient_string_to_number>false</lenient_string_to_number> | ||
| 2886 | + <encoding/> | ||
| 2887 | + <decimal_symbol/> | ||
| 2888 | + <grouping_symbol/> | ||
| 2889 | + <currency_symbol/> | ||
| 2890 | + <storage_type/> | ||
| 2891 | + </meta> <meta> <name>tvVideoType</name> | ||
| 2892 | + <rename>tvVideoType</rename> | ||
| 2893 | + <type>Integer</type> | ||
| 2894 | + <length>1</length> | ||
| 2895 | + <precision>-2</precision> | ||
| 2896 | + <conversion_mask/> | ||
| 2897 | + <date_format_lenient>false</date_format_lenient> | ||
| 2898 | + <date_format_locale/> | ||
| 2899 | + <date_format_timezone/> | ||
| 2900 | + <lenient_string_to_number>false</lenient_string_to_number> | ||
| 2901 | + <encoding/> | ||
| 2902 | + <decimal_symbol/> | ||
| 2903 | + <grouping_symbol/> | ||
| 2904 | + <currency_symbol/> | ||
| 2905 | + <storage_type/> | ||
| 2906 | + </meta> </fields> <cluster_schema/> | ||
| 2907 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 2908 | + <xloc>839</xloc> | ||
| 2909 | + <yloc>61</yloc> | ||
| 2910 | + <draw>Y</draw> | ||
| 2911 | + </GUI> | ||
| 2912 | + </step> | ||
| 2913 | + | ||
| 2914 | + <step> | ||
| 2915 | + <name>是否空调车</name> | ||
| 2916 | + <type>ValueMapper</type> | ||
| 2917 | + <description/> | ||
| 2918 | + <distribute>Y</distribute> | ||
| 2919 | + <custom_distribution/> | ||
| 2920 | + <copies>1</copies> | ||
| 2921 | + <partitioning> | ||
| 2922 | + <method>none</method> | ||
| 2923 | + <schema_name/> | ||
| 2924 | + </partitioning> | ||
| 2925 | + <field_to_use>hvacCar</field_to_use> | ||
| 2926 | + <target_field/> | ||
| 2927 | + <non_match_default/> | ||
| 2928 | + <fields> | ||
| 2929 | + <field> | ||
| 2930 | + <source_value>是</source_value> | ||
| 2931 | + <target_value>1</target_value> | ||
| 2932 | + </field> | ||
| 2933 | + <field> | ||
| 2934 | + <source_value>否</source_value> | ||
| 2935 | + <target_value>0</target_value> | ||
| 2936 | + </field> | ||
| 2937 | + </fields> | ||
| 2938 | + <cluster_schema/> | ||
| 2939 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 2940 | + <xloc>388</xloc> | ||
| 2941 | + <yloc>61</yloc> | ||
| 2942 | + <draw>Y</draw> | ||
| 2943 | + </GUI> | ||
| 2944 | + </step> | ||
| 2945 | + | ||
| 2946 | + <step> | ||
| 2947 | + <name>有无人售票</name> | ||
| 2948 | + <type>ValueMapper</type> | ||
| 2949 | + <description/> | ||
| 2950 | + <distribute>Y</distribute> | ||
| 2951 | + <custom_distribution/> | ||
| 2952 | + <copies>1</copies> | ||
| 2953 | + <partitioning> | ||
| 2954 | + <method>none</method> | ||
| 2955 | + <schema_name/> | ||
| 2956 | + </partitioning> | ||
| 2957 | + <field_to_use>ticketType</field_to_use> | ||
| 2958 | + <target_field/> | ||
| 2959 | + <non_match_default/> | ||
| 2960 | + <fields> | ||
| 2961 | + <field> | ||
| 2962 | + <source_value>是</source_value> | ||
| 2963 | + <target_value>1</target_value> | ||
| 2964 | + </field> | ||
| 2965 | + <field> | ||
| 2966 | + <source_value>否</source_value> | ||
| 2967 | + <target_value>0</target_value> | ||
| 2968 | + </field> | ||
| 2969 | + </fields> | ||
| 2970 | + <cluster_schema/> | ||
| 2971 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 2972 | + <xloc>485</xloc> | ||
| 2973 | + <yloc>61</yloc> | ||
| 2974 | + <draw>Y</draw> | ||
| 2975 | + </GUI> | ||
| 2976 | + </step> | ||
| 2977 | + | ||
| 2978 | + <step> | ||
| 2979 | + <name>获取变量</name> | ||
| 2980 | + <type>GetVariable</type> | ||
| 2981 | + <description/> | ||
| 2982 | + <distribute>Y</distribute> | ||
| 2983 | + <custom_distribution/> | ||
| 2984 | + <copies>1</copies> | ||
| 2985 | + <partitioning> | ||
| 2986 | + <method>none</method> | ||
| 2987 | + <schema_name/> | ||
| 2988 | + </partitioning> | ||
| 2989 | + <fields> | ||
| 2990 | + <field> | ||
| 2991 | + <name>filepath_</name> | ||
| 2992 | + <variable>${filepath}</variable> | ||
| 2993 | + <type>String</type> | ||
| 2994 | + <format/> | ||
| 2995 | + <currency/> | ||
| 2996 | + <decimal/> | ||
| 2997 | + <group/> | ||
| 2998 | + <length>-1</length> | ||
| 2999 | + <precision>-1</precision> | ||
| 3000 | + <trim_type>none</trim_type> | ||
| 3001 | + </field> | ||
| 3002 | + <field> | ||
| 3003 | + <name>erroroutputdir_</name> | ||
| 3004 | + <variable>${erroroutputdir}</variable> | ||
| 3005 | + <type>String</type> | ||
| 3006 | + <format/> | ||
| 3007 | + <currency/> | ||
| 3008 | + <decimal/> | ||
| 3009 | + <group/> | ||
| 3010 | + <length>-1</length> | ||
| 3011 | + <precision>-1</precision> | ||
| 3012 | + <trim_type>none</trim_type> | ||
| 3013 | + </field> | ||
| 3014 | + </fields> | ||
| 3015 | + <cluster_schema/> | ||
| 3016 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 3017 | + <xloc>134</xloc> | ||
| 3018 | + <yloc>183</yloc> | ||
| 3019 | + <draw>Y</draw> | ||
| 3020 | + </GUI> | ||
| 3021 | + </step> | ||
| 3022 | + | ||
| 3023 | + <step> | ||
| 3024 | + <name>错误输出</name> | ||
| 3025 | + <type>ExcelOutput</type> | ||
| 3026 | + <description/> | ||
| 3027 | + <distribute>Y</distribute> | ||
| 3028 | + <custom_distribution/> | ||
| 3029 | + <copies>1</copies> | ||
| 3030 | + <partitioning> | ||
| 3031 | + <method>none</method> | ||
| 3032 | + <schema_name/> | ||
| 3033 | + </partitioning> | ||
| 3034 | + <header>Y</header> | ||
| 3035 | + <footer>N</footer> | ||
| 3036 | + <encoding/> | ||
| 3037 | + <append>N</append> | ||
| 3038 | + <add_to_result_filenames>Y</add_to_result_filenames> | ||
| 3039 | + <file> | ||
| 3040 | + <name>${erroroutputdir}/车辆基础信息_错误</name> | ||
| 3041 | + <extention>xls</extention> | ||
| 3042 | + <do_not_open_newfile_init>N</do_not_open_newfile_init> | ||
| 3043 | + <create_parent_folder>N</create_parent_folder> | ||
| 3044 | + <split>N</split> | ||
| 3045 | + <add_date>N</add_date> | ||
| 3046 | + <add_time>N</add_time> | ||
| 3047 | + <SpecifyFormat>N</SpecifyFormat> | ||
| 3048 | + <date_time_format/> | ||
| 3049 | + <sheetname>Sheet1</sheetname> | ||
| 3050 | + <autosizecolums>N</autosizecolums> | ||
| 3051 | + <nullisblank>N</nullisblank> | ||
| 3052 | + <protect_sheet>N</protect_sheet> | ||
| 3053 | + <password>Encrypted </password> | ||
| 3054 | + <splitevery>0</splitevery> | ||
| 3055 | + <usetempfiles>N</usetempfiles> | ||
| 3056 | + <tempdirectory/> | ||
| 3057 | + </file> | ||
| 3058 | + <template> | ||
| 3059 | + <enabled>N</enabled> | ||
| 3060 | + <append>N</append> | ||
| 3061 | + <filename>template.xls</filename> | ||
| 3062 | + </template> | ||
| 3063 | + <fields> | ||
| 3064 | + <field> | ||
| 3065 | + <name>insideCode</name> | ||
| 3066 | + <type>String</type> | ||
| 3067 | + <format/> | ||
| 3068 | + </field> | ||
| 3069 | + <field> | ||
| 3070 | + <name>company</name> | ||
| 3071 | + <type>String</type> | ||
| 3072 | + <format/> | ||
| 3073 | + </field> | ||
| 3074 | + <field> | ||
| 3075 | + <name>brancheCompany</name> | ||
| 3076 | + <type>String</type> | ||
| 3077 | + <format/> | ||
| 3078 | + </field> | ||
| 3079 | + <field> | ||
| 3080 | + <name>carPlate</name> | ||
| 3081 | + <type>String</type> | ||
| 3082 | + <format/> | ||
| 3083 | + </field> | ||
| 3084 | + <field> | ||
| 3085 | + <name>supplierName</name> | ||
| 3086 | + <type>String</type> | ||
| 3087 | + <format/> | ||
| 3088 | + </field> | ||
| 3089 | + <field> | ||
| 3090 | + <name>equipmentCode</name> | ||
| 3091 | + <type>String</type> | ||
| 3092 | + <format/> | ||
| 3093 | + </field> | ||
| 3094 | + <field> | ||
| 3095 | + <name>carClass</name> | ||
| 3096 | + <type>String</type> | ||
| 3097 | + <format/> | ||
| 3098 | + </field> | ||
| 3099 | + <field> | ||
| 3100 | + <name>speed</name> | ||
| 3101 | + <type>String</type> | ||
| 3102 | + <format/> | ||
| 3103 | + </field> | ||
| 3104 | + <field> | ||
| 3105 | + <name>carSeatnNumber</name> | ||
| 3106 | + <type>String</type> | ||
| 3107 | + <format/> | ||
| 3108 | + </field> | ||
| 3109 | + <field> | ||
| 3110 | + <name>carStandard</name> | ||
| 3111 | + <type>String</type> | ||
| 3112 | + <format/> | ||
| 3113 | + </field> | ||
| 3114 | + <field> | ||
| 3115 | + <name>kburnStandard</name> | ||
| 3116 | + <type>String</type> | ||
| 3117 | + <format/> | ||
| 3118 | + </field> | ||
| 3119 | + <field> | ||
| 3120 | + <name>gburnStandard</name> | ||
| 3121 | + <type>String</type> | ||
| 3122 | + <format/> | ||
| 3123 | + </field> | ||
| 3124 | + <field> | ||
| 3125 | + <name>scrapCode</name> | ||
| 3126 | + <type>String</type> | ||
| 3127 | + <format/> | ||
| 3128 | + </field> | ||
| 3129 | + <field> | ||
| 3130 | + <name>makeCodeOne</name> | ||
| 3131 | + <type>String</type> | ||
| 3132 | + <format/> | ||
| 3133 | + </field> | ||
| 3134 | + <field> | ||
| 3135 | + <name>makeCodeTwo</name> | ||
| 3136 | + <type>String</type> | ||
| 3137 | + <format/> | ||
| 3138 | + </field> | ||
| 3139 | + <field> | ||
| 3140 | + <name>carGride</name> | ||
| 3141 | + <type>String</type> | ||
| 3142 | + <format/> | ||
| 3143 | + </field> | ||
| 3144 | + <field> | ||
| 3145 | + <name>emissionsStandard</name> | ||
| 3146 | + <type>String</type> | ||
| 3147 | + <format/> | ||
| 3148 | + </field> | ||
| 3149 | + <field> | ||
| 3150 | + <name>engineCodeOne</name> | ||
| 3151 | + <type>String</type> | ||
| 3152 | + <format/> | ||
| 3153 | + </field> | ||
| 3154 | + <field> | ||
| 3155 | + <name>engineCodeTwo</name> | ||
| 3156 | + <type>String</type> | ||
| 3157 | + <format/> | ||
| 3158 | + </field> | ||
| 3159 | + <field> | ||
| 3160 | + <name>carNumberOne</name> | ||
| 3161 | + <type>String</type> | ||
| 3162 | + <format/> | ||
| 3163 | + </field> | ||
| 3164 | + <field> | ||
| 3165 | + <name>carNumberTwo</name> | ||
| 3166 | + <type>String</type> | ||
| 3167 | + <format/> | ||
| 3168 | + </field> | ||
| 3169 | + <field> | ||
| 3170 | + <name>openDate</name> | ||
| 3171 | + <type>String</type> | ||
| 3172 | + <format/> | ||
| 3173 | + </field> | ||
| 3174 | + <field> | ||
| 3175 | + <name>closeDate</name> | ||
| 3176 | + <type>String</type> | ||
| 3177 | + <format/> | ||
| 3178 | + </field> | ||
| 3179 | + <field> | ||
| 3180 | + <name>hvacCar</name> | ||
| 3181 | + <type>Integer</type> | ||
| 3182 | + <format/> | ||
| 3183 | + </field> | ||
| 3184 | + <field> | ||
| 3185 | + <name>ticketType</name> | ||
| 3186 | + <type>Integer</type> | ||
| 3187 | + <format/> | ||
| 3188 | + </field> | ||
| 3189 | + <field> | ||
| 3190 | + <name>ledScreen</name> | ||
| 3191 | + <type>Integer</type> | ||
| 3192 | + <format/> | ||
| 3193 | + </field> | ||
| 3194 | + <field> | ||
| 3195 | + <name>tvVideoType</name> | ||
| 3196 | + <type>Integer</type> | ||
| 3197 | + <format/> | ||
| 3198 | + </field> | ||
| 3199 | + <field> | ||
| 3200 | + <name>carType</name> | ||
| 3201 | + <type>String</type> | ||
| 3202 | + <format/> | ||
| 3203 | + </field> | ||
| 3204 | + <field> | ||
| 3205 | + <name>vehicleStats</name> | ||
| 3206 | + <type>String</type> | ||
| 3207 | + <format/> | ||
| 3208 | + </field> | ||
| 3209 | + <field> | ||
| 3210 | + <name>operatorsState</name> | ||
| 3211 | + <type>String</type> | ||
| 3212 | + <format/> | ||
| 3213 | + </field> | ||
| 3214 | + <field> | ||
| 3215 | + <name>descriptions</name> | ||
| 3216 | + <type>String</type> | ||
| 3217 | + <format/> | ||
| 3218 | + </field> | ||
| 3219 | + <field> | ||
| 3220 | + <name>videoCode</name> | ||
| 3221 | + <type>String</type> | ||
| 3222 | + <format/> | ||
| 3223 | + </field> | ||
| 3224 | + <field> | ||
| 3225 | + <name>businessCode</name> | ||
| 3226 | + <type>String</type> | ||
| 3227 | + <format/> | ||
| 3228 | + </field> | ||
| 3229 | + <field> | ||
| 3230 | + <name>carCode</name> | ||
| 3231 | + <type>String</type> | ||
| 3232 | + <format/> | ||
| 3233 | + </field> | ||
| 3234 | + <field> | ||
| 3235 | + <name>error_count</name> | ||
| 3236 | + <type>Integer</type> | ||
| 3237 | + <format/> | ||
| 3238 | + </field> | ||
| 3239 | + <field> | ||
| 3240 | + <name>error_desc</name> | ||
| 3241 | + <type>String</type> | ||
| 3242 | + <format/> | ||
| 3243 | + </field> | ||
| 3244 | + <field> | ||
| 3245 | + <name>error_column1</name> | ||
| 3246 | + <type>String</type> | ||
| 3247 | + <format/> | ||
| 3248 | + </field> | ||
| 3249 | + <field> | ||
| 3250 | + <name>error_column2</name> | ||
| 3251 | + <type>String</type> | ||
| 3252 | + <format/> | ||
| 3253 | + </field> | ||
| 3254 | + </fields> | ||
| 3255 | + <custom> | ||
| 3256 | + <header_font_name>arial</header_font_name> | ||
| 3257 | + <header_font_size>10</header_font_size> | ||
| 3258 | + <header_font_bold>N</header_font_bold> | ||
| 3259 | + <header_font_italic>N</header_font_italic> | ||
| 3260 | + <header_font_underline>no</header_font_underline> | ||
| 3261 | + <header_font_orientation>horizontal</header_font_orientation> | ||
| 3262 | + <header_font_color>black</header_font_color> | ||
| 3263 | + <header_background_color>none</header_background_color> | ||
| 3264 | + <header_row_height>255</header_row_height> | ||
| 3265 | + <header_alignment>left</header_alignment> | ||
| 3266 | + <header_image/> | ||
| 3267 | + <row_font_name>arial</row_font_name> | ||
| 3268 | + <row_font_size>10</row_font_size> | ||
| 3269 | + <row_font_color>black</row_font_color> | ||
| 3270 | + <row_background_color>none</row_background_color> | ||
| 3271 | + </custom> | ||
| 3272 | + <cluster_schema/> | ||
| 3273 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 3274 | + <xloc>637</xloc> | ||
| 3275 | + <yloc>320</yloc> | ||
| 3276 | + <draw>Y</draw> | ||
| 3277 | + </GUI> | ||
| 3278 | + </step> | ||
| 3279 | + | ||
| 3280 | + <step_error_handling> | ||
| 3281 | + <error> | ||
| 3282 | + <source_step>插入/更新bsth_c_cars</source_step> | ||
| 3283 | + <target_step>错误输出</target_step> | ||
| 3284 | + <is_enabled>Y</is_enabled> | ||
| 3285 | + <nr_valuename>error_count</nr_valuename> | ||
| 3286 | + <descriptions_valuename>error_desc</descriptions_valuename> | ||
| 3287 | + <fields_valuename>error_column1</fields_valuename> | ||
| 3288 | + <codes_valuename>error_column2</codes_valuename> | ||
| 3289 | + <max_errors/> | ||
| 3290 | + <max_pct_errors/> | ||
| 3291 | + <min_pct_rows/> | ||
| 3292 | + </error> | ||
| 3293 | + </step_error_handling> | ||
| 3294 | + <slave-step-copy-partition-distribution> | ||
| 3295 | +</slave-step-copy-partition-distribution> | ||
| 3296 | + <slave_transformation>N</slave_transformation> | ||
| 3297 | + | ||
| 3298 | +</transformation> | ||
| 3299 | +>>>>>>> 502f6f7ff3ff76f0f6b6dbdac8a353604a7d5626 |