Commit 705d475f42c317269c56270acdcae322310b34e3
1 parent
48d55e8d
update...
Showing
4 changed files
with
67 additions
and
6 deletions
src/main/java/com/bsth/data/gpsdata/arrival/GpsRealAnalyse.java
| @@ -41,7 +41,7 @@ public class GpsRealAnalyse { | @@ -41,7 +41,7 @@ public class GpsRealAnalyse { | ||
| 41 | @Autowired | 41 | @Autowired |
| 42 | GpsRealData gpsRealData; | 42 | GpsRealData gpsRealData; |
| 43 | 43 | ||
| 44 | - final static int POOL_SIZE = 25; | 44 | + final static int POOL_SIZE = 30; |
| 45 | static ExecutorService threadPool = Executors.newFixedThreadPool(POOL_SIZE + 1); | 45 | static ExecutorService threadPool = Executors.newFixedThreadPool(POOL_SIZE + 1); |
| 46 | 46 | ||
| 47 | public static long st; | 47 | public static long st; |
src/main/java/com/bsth/entity/realcontrol/ChildTaskPlan.java
| @@ -35,6 +35,7 @@ public class ChildTaskPlan { | @@ -35,6 +35,7 @@ public class ChildTaskPlan { | ||
| 35 | 35 | ||
| 36 | /** | 36 | /** |
| 37 | * 任务类型2 | 37 | * 任务类型2 |
| 38 | + * 1 正常 2 进场 3 出场 | ||
| 38 | */ | 39 | */ |
| 39 | private String type2; | 40 | private String type2; |
| 40 | 41 | ||
| @@ -99,6 +100,11 @@ public class ChildTaskPlan { | @@ -99,6 +100,11 @@ public class ChildTaskPlan { | ||
| 99 | private String nbbm; | 100 | private String nbbm; |
| 100 | 101 | ||
| 101 | /** | 102 | /** |
| 103 | + * 中途换车营运, 新车关联的主任务ID,子任务删除时,主任务ID将级联 | ||
| 104 | + */ | ||
| 105 | + private Long ccId; | ||
| 106 | + | ||
| 107 | + /** | ||
| 102 | * 为true 则无售票员, 否则继承主任务 | 108 | * 为true 则无售票员, 否则继承主任务 |
| 103 | */ | 109 | */ |
| 104 | private boolean noClerk; | 110 | private boolean noClerk; |
| @@ -277,4 +283,12 @@ public class ChildTaskPlan { | @@ -277,4 +283,12 @@ public class ChildTaskPlan { | ||
| 277 | public void setNoClerk(boolean noClerk) { | 283 | public void setNoClerk(boolean noClerk) { |
| 278 | this.noClerk = noClerk; | 284 | this.noClerk = noClerk; |
| 279 | } | 285 | } |
| 286 | + | ||
| 287 | + public Long getCcId() { | ||
| 288 | + return ccId; | ||
| 289 | + } | ||
| 290 | + | ||
| 291 | + public void setCcId(Long ccId) { | ||
| 292 | + this.ccId = ccId; | ||
| 293 | + } | ||
| 280 | } | 294 | } |
src/main/java/com/bsth/entity/realcontrol/ScheduleRealInfo.java
| @@ -225,6 +225,11 @@ public class ScheduleRealInfo { | @@ -225,6 +225,11 @@ public class ScheduleRealInfo { | ||
| 225 | */ | 225 | */ |
| 226 | private Integer driftStatus = 0; | 226 | private Integer driftStatus = 0; |
| 227 | 227 | ||
| 228 | + /** | ||
| 229 | + * 换车营运标记 true 表示该主任务由 【中途换车子任务】 级联生成 | ||
| 230 | + */ | ||
| 231 | + private boolean ccService; | ||
| 232 | + | ||
| 228 | public boolean isDfAuto() { | 233 | public boolean isDfAuto() { |
| 229 | return dfAuto; | 234 | return dfAuto; |
| 230 | } | 235 | } |
| @@ -958,4 +963,12 @@ public class ScheduleRealInfo { | @@ -958,4 +963,12 @@ public class ScheduleRealInfo { | ||
| 958 | public void setDriftStatus(Integer driftStatus) { | 963 | public void setDriftStatus(Integer driftStatus) { |
| 959 | this.driftStatus = driftStatus; | 964 | this.driftStatus = driftStatus; |
| 960 | } | 965 | } |
| 966 | + | ||
| 967 | + public boolean isCcService() { | ||
| 968 | + return ccService; | ||
| 969 | + } | ||
| 970 | + | ||
| 971 | + public void setCcService(boolean ccService) { | ||
| 972 | + this.ccService = ccService; | ||
| 973 | + } | ||
| 961 | } | 974 | } |
src/main/java/com/bsth/service/realcontrol/impl/ChildTaskPlanServiceImpl.java
| 1 | package com.bsth.service.realcontrol.impl; | 1 | package com.bsth.service.realcontrol.impl; |
| 2 | 2 | ||
| 3 | +import com.alibaba.fastjson.JSON; | ||
| 3 | import com.bsth.common.ResponseCode; | 4 | import com.bsth.common.ResponseCode; |
| 4 | import com.bsth.data.BasicData; | 5 | import com.bsth.data.BasicData; |
| 5 | import com.bsth.data.Station2ParkBuffer; | 6 | import com.bsth.data.Station2ParkBuffer; |
| @@ -46,14 +47,11 @@ public class ChildTaskPlanServiceImpl extends BaseServiceImpl<ChildTaskPlan, Lon | @@ -46,14 +47,11 @@ public class ChildTaskPlanServiceImpl extends BaseServiceImpl<ChildTaskPlan, Lon | ||
| 46 | try { | 47 | try { |
| 47 | ScheduleRealInfo sch = dayOfSchedule.get(t.getSchedule().getId()); | 48 | ScheduleRealInfo sch = dayOfSchedule.get(t.getSchedule().getId()); |
| 48 | //保存起终点名称 | 49 | //保存起终点名称 |
| 49 | - //String prefix = sch.getXlBm() + "_" + sch.getXlDir() + "_"; | ||
| 50 | if(StringUtils.isEmpty(t.getStartStationName())) | 50 | if(StringUtils.isEmpty(t.getStartStationName())) |
| 51 | t.setStartStationName(getStationName(sch.getXlBm(), t.getStartStation())); | 51 | t.setStartStationName(getStationName(sch.getXlBm(), t.getStartStation())); |
| 52 | - //t.setStartStationName(BasicData.getStationNameByCode(t.getStartStation(), prefix)); | ||
| 53 | 52 | ||
| 54 | if(StringUtils.isEmpty(t.getEndStationName())) | 53 | if(StringUtils.isEmpty(t.getEndStationName())) |
| 55 | t.setEndStationName(getStationName(sch.getXlBm(), t.getEndStation())); | 54 | t.setEndStationName(getStationName(sch.getXlBm(), t.getEndStation())); |
| 56 | - //t.setEndStationName(BasicData.getStationNameByCode(t.getEndStation(), prefix)); | ||
| 57 | if(t.getDestroyReason() == null) | 55 | if(t.getDestroyReason() == null) |
| 58 | t.setDestroyReason(""); | 56 | t.setDestroyReason(""); |
| 59 | 57 | ||
| @@ -61,13 +59,44 @@ public class ChildTaskPlanServiceImpl extends BaseServiceImpl<ChildTaskPlan, Lon | @@ -61,13 +59,44 @@ public class ChildTaskPlanServiceImpl extends BaseServiceImpl<ChildTaskPlan, Lon | ||
| 61 | if(t.isDestroy() && StringUtils.isEmpty(t.getDestroyReason())) | 59 | if(t.isDestroy() && StringUtils.isEmpty(t.getDestroyReason())) |
| 62 | t.setDestroyReason(t.getReason()); | 60 | t.setDestroyReason(t.getReason()); |
| 63 | 61 | ||
| 62 | + //中途换车出场子任务,级联生成一个主任务,供报表和对外接口计算用 | ||
| 63 | + if(StringUtils.isNotEmpty(t.getNbbm())){ | ||
| 64 | + ScheduleRealInfo ccServiceSch = JSON.parseObject(JSON.toJSONString(sch), ScheduleRealInfo.class); | ||
| 65 | + ccServiceSch.setId(null); | ||
| 66 | + ccServiceSch.setSpId(null); | ||
| 67 | + ccServiceSch.setClZbh(t.getNbbm()); | ||
| 68 | + ccServiceSch.setCcService(true); | ||
| 69 | + ccServiceSch.setFcsj(t.getStartDate()); | ||
| 70 | + ccServiceSch.setDfsj(t.getStartDate()); | ||
| 71 | + ccServiceSch.setZdsj(t.getEndDate()); | ||
| 72 | + ccServiceSch.setBcsj(0); | ||
| 73 | + ccServiceSch.setJhlcOrig(Double.parseDouble(String.valueOf(t.getMileage()))); | ||
| 74 | + ccServiceSch.setJhlc(ccServiceSch.getJhlcOrig()); | ||
| 75 | + ccServiceSch.setQdzCode(t.getStartStation()); | ||
| 76 | + ccServiceSch.setZdzCode(t.getEndStation()); | ||
| 77 | + ccServiceSch.setQdzName(t.getStartStationName()); | ||
| 78 | + ccServiceSch.setZdzName(t.getEndStationName()); | ||
| 79 | + ccServiceSch.setFcsjActual(ccServiceSch.getDfsj()); | ||
| 80 | + ccServiceSch.setZdsjActual(ccServiceSch.getZdsj()); | ||
| 81 | + if("1".equals(t.getType2())){ | ||
| 82 | + ccServiceSch.setBcType("normal"); | ||
| 83 | + } | ||
| 84 | + else { | ||
| 85 | + if("2".equals(t.getType2())) | ||
| 86 | + ccServiceSch.setBcType("in"); | ||
| 87 | + else if("3".equals(t.getType2())) | ||
| 88 | + ccServiceSch.setBcType("out"); | ||
| 89 | + } | ||
| 90 | + //实时入库 | ||
| 91 | + ccServiceSch = scheduleRealInfoRepository.save(ccServiceSch); | ||
| 92 | + t.setCcId(ccServiceSch.getId()); | ||
| 93 | + } | ||
| 94 | + | ||
| 64 | //先持久化子任务 | 95 | //先持久化子任务 |
| 65 | rs = super.save(t); | 96 | rs = super.save(t); |
| 66 | //关联主任务 | 97 | //关联主任务 |
| 67 | sch.getcTasks().add(t); | 98 | sch.getcTasks().add(t); |
| 68 | dayOfSchedule.save(sch); | 99 | dayOfSchedule.save(sch); |
| 69 | - //直接持久化 | ||
| 70 | - //scheduleRealInfoRepository.save(sch); | ||
| 71 | //站到场对照 | 100 | //站到场对照 |
| 72 | t.setSchedule(sch); | 101 | t.setSchedule(sch); |
| 73 | Station2ParkBuffer.put(t); | 102 | Station2ParkBuffer.put(t); |
| @@ -101,6 +130,11 @@ public class ChildTaskPlanServiceImpl extends BaseServiceImpl<ChildTaskPlan, Lon | @@ -101,6 +130,11 @@ public class ChildTaskPlanServiceImpl extends BaseServiceImpl<ChildTaskPlan, Lon | ||
| 101 | 130 | ||
| 102 | //删除子任务 | 131 | //删除子任务 |
| 103 | rs = super.delete(id); | 132 | rs = super.delete(id); |
| 133 | + | ||
| 134 | + //删除级联生成的换车主任务 | ||
| 135 | + if(null != cPlan.getCcId()){ | ||
| 136 | + scheduleRealInfoRepository.delete(cPlan.getCcId()); | ||
| 137 | + } | ||
| 104 | //dayOfSchedule.save(sch); | 138 | //dayOfSchedule.save(sch); |
| 105 | //解除和主任务关联 | 139 | //解除和主任务关联 |
| 106 | ScheduleRealInfo sch = dayOfSchedule.get(cPlan.getSchedule().getId()); | 140 | ScheduleRealInfo sch = dayOfSchedule.get(cPlan.getSchedule().getId()); |