Commit 37982c843ebae2600a793461b58da6fb778fc198

Authored by ljq
1 parent fb52a37a

答题失败后增加失败原因

src/main/java/com/bsth/entity/subject/SubjectUser.java
@@ -29,6 +29,8 @@ public class SubjectUser { @@ -29,6 +29,8 @@ public class SubjectUser {
29 29
30 // 修改人 30 // 修改人
31 private Integer updateBy; 31 private Integer updateBy;
  32 +
  33 + private String remark;
32 34
33 /** 创建日期 timestamp */ 35 /** 创建日期 timestamp */
34 @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP") 36 @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
@@ -109,4 +111,12 @@ public class SubjectUser { @@ -109,4 +111,12 @@ public class SubjectUser {
109 public void setUpdateDate(Date updateDate) { 111 public void setUpdateDate(Date updateDate) {
110 this.updateDate = updateDate; 112 this.updateDate = updateDate;
111 } 113 }
  114 +
  115 + public String getRemark() {
  116 + return remark;
  117 + }
  118 +
  119 + public void setRemark(String remark) {
  120 + this.remark = remark;
  121 + }
112 } 122 }
src/main/java/com/bsth/repository/subject/SubjectUserRepository.java
@@ -17,8 +17,8 @@ public interface SubjectUserRepository extends BaseRepository<SubjectUser, Integ @@ -17,8 +17,8 @@ public interface SubjectUserRepository extends BaseRepository<SubjectUser, Integ
17 List<SubjectUser> userAll(String rq, Integer userId); 17 List<SubjectUser> userAll(String rq, Integer userId);
18 @Transactional 18 @Transactional
19 @Modifying 19 @Modifying
20 - @Query(value = "update SubjectUser su set su.result =?1,su.updateBy = ?2,su.updateDate = ?3 where su.id =?4")  
21 - int updates(String result, Integer id, Date updateDate, Integer userId); 20 + @Query(value = "update SubjectUser su set su.result =?1,su.updateBy = ?2,su.updateDate = ?3,su.remark =?4 where su.id =?5")
  21 + int updates(String result, Integer id, Date updateDate,String remark, Integer userId);
22 22
23 @Query(value="select su.user_id,su.rq,su.result,u.name,u.user_name " 23 @Query(value="select su.user_id,su.rq,su.result,u.name,u.user_name "
24 + " from bsth_subject_user su,bsth_c_sys_user u where su.user_id =u.id and su.rq =?1 and su.user_id in ( ?2 ) " 24 + " from bsth_subject_user su,bsth_c_sys_user u where su.user_id =u.id and su.rq =?1 and su.user_id in ( ?2 ) "
src/main/java/com/bsth/service/subject/impl/SubjectUserServiceImpl.java
@@ -81,36 +81,42 @@ public class SubjectUserServiceImpl extends BaseServiceImpl&lt;SubjectUser, Integer @@ -81,36 +81,42 @@ public class SubjectUserServiceImpl extends BaseServiceImpl&lt;SubjectUser, Integer
81 //类型 81 //类型
82 String type = sur.getSubjectId().getType(); 82 String type = sur.getSubjectId().getType();
83 83
84 - 84 + Map m = new HashMap();
  85 + String remark="";
85 String result = null; 86 String result = null;
86 if (sur.getSubjectId().getSchStatus().equals("0")){ //区分上下行的班次数据 87 if (sur.getSubjectId().getSchStatus().equals("0")){ //区分上下行的班次数据
87 //判断答题是否正确 88 //判断答题是否正确
88 subEnum sjm = subEnum.valueOf(type); 89 subEnum sjm = subEnum.valueOf(type);
89 List<ScheduleRealInfo> sh = sch.stream().filter(s -> s.getXlDir().equals(sur.getSubjectId().getDir())).collect(Collectors.toList()); 90 List<ScheduleRealInfo> sh = sch.stream().filter(s -> s.getXlDir().equals(sur.getSubjectId().getDir())).collect(Collectors.toList());
90 - result = sjm.run(sur,sh) == true ? "0" : "1"; 91 + m = sjm.run(sur,sh);
  92 + result = new Boolean(m.get("state").toString()) == true ? "0" : "1";
  93 +
  94 +
91 }if (sur.getSubjectId().getSchStatus().equals("1")) {//全量的班次数据 95 }if (sur.getSubjectId().getSchStatus().equals("1")) {//全量的班次数据
92 //判断答题是否正确 96 //判断答题是否正确
93 subEnum sjm = subEnum.valueOf(type); 97 subEnum sjm = subEnum.valueOf(type);
94 - result = sjm.run(sur,sch) == true ? "0" : "1"; 98 + m = sjm.run(sur,sch);
  99 + result = new Boolean(m.get("state").toString()) == true ? "0" : "1";
  100 +
95 }if (sur.getSubjectId().getSchStatus().equals("2")) { //与设备对接的 101 }if (sur.getSubjectId().getSchStatus().equals("2")) { //与设备对接的
96 subEnumDevice sjmdrivce = subEnumDevice.valueOf(type); 102 subEnumDevice sjmdrivce = subEnumDevice.valueOf(type);
97 103
98 //运营指令 104 //运营指令
99 Collection<D60> yyArray = dayOfDirectives.all60();//查看当日缓存指令 105 Collection<D60> yyArray = dayOfDirectives.all60();//查看当日缓存指令
100 -  
101 - result = sjmdrivce.run(sur,yyArray,user) == true ? "0" : "1"; 106 + m = sjmdrivce.run(sur,yyArray,user);
  107 + result = new Boolean(m.get("state").toString()) == true ? "0" : "1";
102 } 108 }
  109 + if (m.get("message") != null)
  110 + remark = m.get("message").toString();
  111 +
103 112
104 SimpleDateFormat formatter = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss"); 113 SimpleDateFormat formatter = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");
105 Date date = new Date(); 114 Date date = new Date();
106 // 修改日期 115 // 修改日期
107 - String updateDate = formatter.format(date);  
108 116
109 //修改答案 117 //修改答案
110 - int status = subjectUserRepository.updates(result,user.getId(),date,id);  
111 - //List list = subjectUserRepository.userAll(sur.getRq(),sur.getUserId());  
112 - // map.put("result",result);  
113 - //map.put("list",list); 118 + int status = subjectUserRepository.updates(result,user.getId(),date,remark,id);
  119 +
114 if (status == 1){ 120 if (status == 1){
115 return result; 121 return result;
116 } 122 }
src/main/java/com/bsth/util/subject/rtMessage.java 0 → 100644
  1 +package com.bsth.util.subject;
  2 +
  3 +public class rtMessage {
  4 +
  5 + static String DF_ERROR = "待发时间与规定不匹配";
  6 +
  7 + static String LB_ERROR = "未成功烂班";
  8 +
  9 + static String CLB_ERROR = "未成功烂班后撤销烂班";
  10 +
  11 + static String JGS_ERROR = "后续三个班次间隔时间未合理";
  12 +
  13 + static String SF_ERROR = "班次未成功实发";
  14 +
  15 + static String CSF_ERROR = "班次未成功实发后撤销实发";
  16 +
  17 + static String ZF_RROR = "班次未直放";
  18 +
  19 + static String FZ_ERROR = "班次未放站";
  20 +
  21 + static String ZRW_ERROR = "未有子任务或子任务站点未对应";
  22 +
  23 + static String LJBC_ERROR = "未有正确的临加班次";
  24 +
  25 + static String LJBC_WF_ERROR = "未有正确的往返班次";
  26 +
  27 + static String LJBC_CDC_ERROR = "未有正确的场到场班次";
  28 +
  29 + static String LP_ERROR = "未成功临加路牌并在该路牌上临加班次";
  30 +
  31 + static String J_GH_ERROR = "备选驾驶员未成功更换";
  32 +
  33 + static String HB_ERROR = "驾驶员未成功更换";
  34 +
  35 + static String PDF_ERROR = "三个班次未全部成功待发调整正确";
  36 +
  37 + static String PWD_ERROR = "误点调整未批量";
  38 +
  39 + static String QDIR_ERROR = "车辆未成功切换下行";
  40 +
  41 + static String XF_ERROR = "车辆未成功下发消息";
  42 +
  43 + static String PXF_ERROR = "未给多辆车下发消息 ";
  44 +
  45 +}
src/main/java/com/bsth/util/subject/subEnum.java
@@ -6,35 +6,37 @@ import com.bsth.entity.realcontrol.ScheduleRealInfo; @@ -6,35 +6,37 @@ import com.bsth.entity.realcontrol.ScheduleRealInfo;
6 import com.bsth.entity.subject.SubjectUser; 6 import com.bsth.entity.subject.SubjectUser;
7 7
8 import java.text.SimpleDateFormat; 8 import java.text.SimpleDateFormat;
9 -import java.util.Collections;  
10 -import java.util.Comparator;  
11 -import java.util.List;  
12 -import java.util.Set; 9 +import java.util.*;
13 import java.util.stream.Collectors; 10 import java.util.stream.Collectors;
14 11
15 public enum subEnum { 12 public enum subEnum {
16 13
17 - 14 +
18 //判断待发 15 //判断待发
19 df{ 16 df{
20 @Override 17 @Override
21 - public boolean run(SubjectUser sur, List<ScheduleRealInfo> sch){ 18 + public Map run(SubjectUser sur, List<ScheduleRealInfo> sch){
  19 + Map m = new HashMap();
22 String sj = sur.getSubjectId().getFcsj();//计划发车时间 20 String sj = sur.getSubjectId().getFcsj();//计划发车时间
23 String answer = sur.getSubjectId().getAnswer();//待发是按 21 String answer = sur.getSubjectId().getAnswer();//待发是按
24 //判断结果是否合格 22 //判断结果是否合格
25 for (ScheduleRealInfo s : sch) { 23 for (ScheduleRealInfo s : sch) {
26 if (s.getFcsj().equals(sj) && 24 if (s.getFcsj().equals(sj) &&
27 s.getDfsj().equals(answer)) { 25 s.getDfsj().equals(answer)) {
28 - return true; 26 + m.put("state",true);
  27 + return m;
29 } 28 }
30 } 29 }
31 - return false; 30 + m.put("state",false);
  31 + m.put("message",rtMessage.DF_ERROR);
  32 + return m;
32 } 33 }
33 }, 34 },
34 //判断烂班 35 //判断烂班
35 lb{ 36 lb{
36 @Override 37 @Override
37 - public boolean run(SubjectUser sur, List<ScheduleRealInfo> sch){ 38 + public Map run(SubjectUser sur, List<ScheduleRealInfo> sch){
  39 + Map m = new HashMap();
38 String sj = sur.getSubjectId().getFcsj();//计划发车时间 40 String sj = sur.getSubjectId().getFcsj();//计划发车时间
39 String answer = sur.getSubjectId().getAnswer();//答案 41 String answer = sur.getSubjectId().getAnswer();//答案
40 String[] t = answer.split(","); //0 计划里程 1 是否烂班状态 2烂班原因 42 String[] t = answer.split(","); //0 计划里程 1 是否烂班状态 2烂班原因
@@ -44,16 +46,20 @@ public enum subEnum { @@ -44,16 +46,20 @@ public enum subEnum {
44 s.getJhlc() == Double.parseDouble(t[0]) && 46 s.getJhlc() == Double.parseDouble(t[0]) &&
45 s.getStatus() == Integer.parseInt(t[1]) && 47 s.getStatus() == Integer.parseInt(t[1]) &&
46 s.getRemarks().contains(t[2])) { 48 s.getRemarks().contains(t[2])) {
47 - return true; 49 + m.put("state",true);
  50 + return m;
48 } 51 }
49 } 52 }
50 - return false; 53 + m.put("state",false);
  54 + m.put("message",rtMessage.LB_ERROR);
  55 + return m;
51 } 56 }
52 }, 57 },
53 //判断烂班后撤销烂班 58 //判断烂班后撤销烂班
54 clb{ 59 clb{
55 @Override 60 @Override
56 - public boolean run(SubjectUser sur, List<ScheduleRealInfo> sch){ 61 + public Map run(SubjectUser sur, List<ScheduleRealInfo> sch){
  62 + Map m = new HashMap();
57 String sj = sur.getSubjectId().getFcsj();//计划发车时间 63 String sj = sur.getSubjectId().getFcsj();//计划发车时间
58 String answer = sur.getSubjectId().getAnswer();//答案 64 String answer = sur.getSubjectId().getAnswer();//答案
59 String[] t = answer.split(","); //0 是否烂班状态 1是否烂班过 65 String[] t = answer.split(","); //0 是否烂班状态 1是否烂班过
@@ -65,15 +71,20 @@ public enum subEnum { @@ -65,15 +71,20 @@ public enum subEnum {
65 if (s.getDfsj().equals(sj) && 71 if (s.getDfsj().equals(sj) &&
66 s.getStatus() == Integer.parseInt(t[0]) && 72 s.getStatus() == Integer.parseInt(t[0]) &&
67 t[1].equals(s.getAdjustExps())) { 73 t[1].equals(s.getAdjustExps())) {
68 - return true; 74 + m.put("state",true);
  75 + return m;
69 } 76 }
70 } 77 }
71 - return false; 78 + m.put("state",false);
  79 + m.put("message",rtMessage.CLB_ERROR);
  80 + return m;
72 } 81 }
73 }, 82 },
  83 + //多个发车间隔
74 jgs{ 84 jgs{
75 @Override 85 @Override
76 - public boolean run(SubjectUser sur, List<ScheduleRealInfo> sch){ 86 + public Map run(SubjectUser sur, List<ScheduleRealInfo> sch){
  87 + Map m = new HashMap();
77 String sj = sur.getSubjectId().getFcsj();//计划发车时间 88 String sj = sur.getSubjectId().getFcsj();//计划发车时间
78 String answer = sur.getSubjectId().getAnswer();//答案 89 String answer = sur.getSubjectId().getAnswer();//答案
79 String[] t = answer.split(","); //0 里程是否清0 1 是否烂班状态 2烂班原因3.班次间隔时间 90 String[] t = answer.split(","); //0 里程是否清0 1 是否烂班状态 2烂班原因3.班次间隔时间
@@ -109,19 +120,23 @@ public enum subEnum { @@ -109,19 +120,23 @@ public enum subEnum {
109 } 120 }
110 //3个班次都正确 121 //3个班次都正确
111 if (sunm == 3){ 122 if (sunm == 3){
112 - return true; 123 + m.put("state",true);
  124 + return m;
113 } 125 }
114 }catch (Exception e){ 126 }catch (Exception e){
115 e.printStackTrace(); 127 e.printStackTrace();
116 } 128 }
117 129
118 - return false; 130 + m.put("state",false);
  131 + m.put("message",rtMessage.JGS_ERROR);
  132 + return m;
119 } 133 }
120 }, //判断烂班 134 }, //判断烂班
121 //实发 135 //实发
122 sf{ 136 sf{
123 @Override 137 @Override
124 - public boolean run(SubjectUser sur, List<ScheduleRealInfo> sch){ 138 + public Map run(SubjectUser sur, List<ScheduleRealInfo> sch){
  139 + Map m = new HashMap();
125 String sj = sur.getSubjectId().getFcsj();//计划发车时间 140 String sj = sur.getSubjectId().getFcsj();//计划发车时间
126 String answer = sur.getSubjectId().getAnswer();//答案 141 String answer = sur.getSubjectId().getAnswer();//答案
127 String[] t = answer.split(","); //0 实发时间 1调整说明 142 String[] t = answer.split(","); //0 实发时间 1调整说明
@@ -130,16 +145,20 @@ public enum subEnum { @@ -130,16 +145,20 @@ public enum subEnum {
130 if (s.getDfsj().equals(sj) && 145 if (s.getDfsj().equals(sj) &&
131 t[0].equals(s.getFcsjActual()) && 146 t[0].equals(s.getFcsjActual()) &&
132 s.getRemarks().contains(t[1])) { 147 s.getRemarks().contains(t[1])) {
133 - return true; 148 + m.put("state",true);
  149 + return m;
134 } 150 }
135 } 151 }
136 - return false; 152 + m.put("state",false);
  153 + m.put("message",rtMessage.SF_ERROR);
  154 + return m;
137 } 155 }
138 }, 156 },
139 //撤销实发 157 //撤销实发
140 csf { 158 csf {
141 @Override 159 @Override
142 - public boolean run(SubjectUser sur, List<ScheduleRealInfo> sch) { 160 + public Map run(SubjectUser sur, List<ScheduleRealInfo> sch) {
  161 + Map m = new HashMap();
143 String sj = sur.getSubjectId().getFcsj();//计划发车时间 162 String sj = sur.getSubjectId().getFcsj();//计划发车时间
144 String answer = sur.getSubjectId().getAnswer();//答案 163 String answer = sur.getSubjectId().getAnswer();//答案
145 String[] t = answer.split(","); //0 调整说明 164 String[] t = answer.split(","); //0 调整说明
@@ -149,16 +168,20 @@ public enum subEnum { @@ -149,16 +168,20 @@ public enum subEnum {
149 s.getFcsjActual() == null && 168 s.getFcsjActual() == null &&
150 s.getRemarks() != null && 169 s.getRemarks() != null &&
151 s.getRemarks().contains(t[0])) { 170 s.getRemarks().contains(t[0])) {
152 - return true; 171 + m.put("state",true);
  172 + return m;
153 } 173 }
154 } 174 }
155 - return false; 175 + m.put("state",false);
  176 + m.put("message",rtMessage.CSF_ERROR);
  177 + return m;
156 } 178 }
157 }, 179 },
158 //直放 180 //直放
159 zf { 181 zf {
160 @Override 182 @Override
161 - public boolean run(SubjectUser sur, List<ScheduleRealInfo> sch) { 183 + public Map run(SubjectUser sur, List<ScheduleRealInfo> sch) {
  184 + Map m = new HashMap();
162 String sj = sur.getSubjectId().getFcsj();//计划发车时间 185 String sj = sur.getSubjectId().getFcsj();//计划发车时间
163 String answer = sur.getSubjectId().getAnswer();//答案 186 String answer = sur.getSubjectId().getAnswer();//答案
164 String[] t = answer.split(","); //0 放站 187 String[] t = answer.split(","); //0 放站
@@ -166,16 +189,20 @@ public enum subEnum { @@ -166,16 +189,20 @@ public enum subEnum {
166 for (ScheduleRealInfo s : sch) { 189 for (ScheduleRealInfo s : sch) {
167 if (s.getDfsj().equals(sj) && 190 if (s.getDfsj().equals(sj) &&
168 s.getBcType().equals(t[0])) { 191 s.getBcType().equals(t[0])) {
169 - return true; 192 + m.put("state",true);
  193 + return m;
170 } 194 }
171 } 195 }
172 - return false; 196 + m.put("state",false);
  197 + m.put("message",rtMessage.ZF_RROR);
  198 + return m;
173 } 199 }
174 }, 200 },
175 //放站 201 //放站
176 fz { 202 fz {
177 @Override 203 @Override
178 - public boolean run(SubjectUser sur, List<ScheduleRealInfo> sch) { 204 + public Map run(SubjectUser sur, List<ScheduleRealInfo> sch) {
  205 + Map m = new HashMap();
179 String sj = sur.getSubjectId().getFcsj();//计划发车时间 206 String sj = sur.getSubjectId().getFcsj();//计划发车时间
180 String answer = sur.getSubjectId().getAnswer();//答案 207 String answer = sur.getSubjectId().getAnswer();//答案
181 String[] t = answer.split(","); //0 放站 1备注-是不是龙阳路地铁站 208 String[] t = answer.split(","); //0 放站 1备注-是不是龙阳路地铁站
@@ -185,16 +212,20 @@ public enum subEnum { @@ -185,16 +212,20 @@ public enum subEnum {
185 s.getBcType().equals(t[0]) && 212 s.getBcType().equals(t[0]) &&
186 s.getRemarks() != null && 213 s.getRemarks() != null &&
187 s.getRemarks().contains(t[1])) { 214 s.getRemarks().contains(t[1])) {
188 - return true; 215 + m.put("state",true);
  216 + return m;
189 } 217 }
190 } 218 }
191 - return false; 219 + m.put("state",false);
  220 + m.put("message",rtMessage.FZ_ERROR);
  221 + return m;
192 } 222 }
193 }, 223 },
194 //子任务 224 //子任务
195 zrw { 225 zrw {
196 @Override 226 @Override
197 - public boolean run(SubjectUser sur, List<ScheduleRealInfo> sch) { 227 + public Map run(SubjectUser sur, List<ScheduleRealInfo> sch) {
  228 + Map m = new HashMap();
198 String sj = sur.getSubjectId().getFcsj();//计划发车时间 229 String sj = sur.getSubjectId().getFcsj();//计划发车时间
199 String answer = sur.getSubjectId().getAnswer();//答案 230 String answer = sur.getSubjectId().getAnswer();//答案
200 String[] t = answer.split(","); //0 放站 1备注-是不是龙阳路地铁站 231 String[] t = answer.split(","); //0 放站 1备注-是不是龙阳路地铁站
@@ -216,19 +247,23 @@ public enum subEnum { @@ -216,19 +247,23 @@ public enum subEnum {
216 } 247 }
217 //判断子任务里程数和班次里程数是否一样 && 满足两个班次 248 //判断子任务里程数和班次里程数是否一样 && 满足两个班次
218 if (lc == s.getJhlc().floatValue() && sn == 2) { 249 if (lc == s.getJhlc().floatValue() && sn == 2) {
219 - return true; 250 + m.put("state",true);
  251 + return m;
220 } 252 }
221 253
222 } 254 }
223 } 255 }
224 - return false; 256 + m.put("state",false);
  257 + m.put("message",rtMessage.ZRW_ERROR);
  258 + return m;
225 } 259 }
226 260
227 }, 261 },
228 //临加班次 262 //临加班次
229 ljbc{ 263 ljbc{
230 @Override 264 @Override
231 - public boolean run(SubjectUser sur, List<ScheduleRealInfo> sch){ 265 + public Map run(SubjectUser sur, List<ScheduleRealInfo> sch){
  266 + Map m = new HashMap();
232 String sj = sur.getSubjectId().getFcsj();//计划发车时间 267 String sj = sur.getSubjectId().getFcsj();//计划发车时间
233 String answer = sur.getSubjectId().getAnswer();//答案 268 String answer = sur.getSubjectId().getAnswer();//答案
234 String[] t = answer.split(","); //0 269 String[] t = answer.split(","); //0
@@ -248,7 +283,8 @@ public enum subEnum { @@ -248,7 +283,8 @@ public enum subEnum {
248 } 283 }
249 //判断是否有这个临加班次 284 //判断是否有这个临加班次
250 if (s.getDfsj().equals(df) && s.getClZbh().contains(t[1]) && s.isSflj() == true) { 285 if (s.getDfsj().equals(df) && s.getClZbh().contains(t[1]) && s.isSflj() == true) {
251 - return true; 286 + m.put("state",true);
  287 + return m;
252 } 288 }
253 289
254 } 290 }
@@ -256,13 +292,16 @@ public enum subEnum { @@ -256,13 +292,16 @@ public enum subEnum {
256 e.printStackTrace(); 292 e.printStackTrace();
257 } 293 }
258 294
259 - return false; 295 + m.put("state",false);
  296 + m.put("message",rtMessage.LJBC_ERROR);
  297 + return m;
260 } 298 }
261 }, 299 },
262 //临加班次 往返班次 300 //临加班次 往返班次
263 ljbc_wf{ 301 ljbc_wf{
264 @Override 302 @Override
265 - public boolean run(SubjectUser sur, List<ScheduleRealInfo> sch){ 303 + public Map run(SubjectUser sur, List<ScheduleRealInfo> sch){
  304 + Map m = new HashMap();
266 String sj = sur.getSubjectId().getFcsj();//计划发车时间 305 String sj = sur.getSubjectId().getFcsj();//计划发车时间
267 String answer = sur.getSubjectId().getAnswer();//答案 306 String answer = sur.getSubjectId().getAnswer();//答案
268 String[] t = answer.split(","); //0 307 String[] t = answer.split(","); //0
@@ -287,7 +326,8 @@ public enum subEnum { @@ -287,7 +326,8 @@ public enum subEnum {
287 dfsj =s.getZdsj(); 326 dfsj =s.getZdsj();
288 } 327 }
289 if(s.getDfsj().equals(dfsj) && s.isSflj() == true){ 328 if(s.getDfsj().equals(dfsj) && s.isSflj() == true){
290 - return true; 329 + m.put("state",true);
  330 + return m;
291 } 331 }
292 332
293 333
@@ -296,13 +336,16 @@ public enum subEnum { @@ -296,13 +336,16 @@ public enum subEnum {
296 e.printStackTrace(); 336 e.printStackTrace();
297 } 337 }
298 338
299 - return false; 339 + m.put("state",false);
  340 + m.put("message",rtMessage.LJBC_WF_ERROR);
  341 + return m;
300 } 342 }
301 }, 343 },
302 //临加班次 场到场 344 //临加班次 场到场
303 ljbc_cdc{ 345 ljbc_cdc{
304 @Override 346 @Override
305 - public boolean run(SubjectUser sur, List<ScheduleRealInfo> sch){ 347 + public Map run(SubjectUser sur, List<ScheduleRealInfo> sch){
  348 + Map m = new HashMap();
306 String sj = sur.getSubjectId().getFcsj();//计划发车时间 349 String sj = sur.getSubjectId().getFcsj();//计划发车时间
307 String answer = sur.getSubjectId().getAnswer();//答案 350 String answer = sur.getSubjectId().getAnswer();//答案
308 String[] t = answer.split(","); //0 351 String[] t = answer.split(","); //0
@@ -327,20 +370,24 @@ public enum subEnum { @@ -327,20 +370,24 @@ public enum subEnum {
327 } 370 }
328 } 371 }
329 if(nts == 2){ 372 if(nts == 2){
330 - return true; 373 + m.put("state",true);
  374 + return m;
331 } 375 }
332 376
333 }catch (Exception e){ 377 }catch (Exception e){
334 e.printStackTrace(); 378 e.printStackTrace();
335 } 379 }
336 380
337 - return false; 381 + m.put("state",false);
  382 + m.put("message",rtMessage.LJBC_CDC_ERROR);
  383 + return m;
338 } 384 }
339 }, 385 },
340 //临加班次 场到场 386 //临加班次 场到场
341 lp{ 387 lp{
342 @Override 388 @Override
343 - public boolean run(SubjectUser sur, List<ScheduleRealInfo> sch){ 389 + public Map run(SubjectUser sur, List<ScheduleRealInfo> sch){
  390 + Map m = new HashMap();
344 String sj = sur.getSubjectId().getFcsj();//计划发车时间 391 String sj = sur.getSubjectId().getFcsj();//计划发车时间
345 String answer = sur.getSubjectId().getAnswer();//答案 392 String answer = sur.getSubjectId().getAnswer();//答案
346 String[] t = answer.split(","); //0 393 String[] t = answer.split(","); //0
@@ -354,7 +401,8 @@ public enum subEnum { @@ -354,7 +401,8 @@ public enum subEnum {
354 ScheduleRealInfo s = sch.get(i); 401 ScheduleRealInfo s = sch.get(i);
355 //判断当前班次是否符合条件 全部班次 402 //判断当前班次是否符合条件 全部班次
356 if ( s.getDfsj().equals(sj) && s.getLpName().equals(t[0]) && s.isSflj() == true) { 403 if ( s.getDfsj().equals(sj) && s.getLpName().equals(t[0]) && s.isSflj() == true) {
357 - return true; 404 + m.put("state",true);
  405 + return m;
358 } 406 }
359 } 407 }
360 408
@@ -362,13 +410,16 @@ public enum subEnum { @@ -362,13 +410,16 @@ public enum subEnum {
362 e.printStackTrace(); 410 e.printStackTrace();
363 } 411 }
364 412
365 - return false; 413 + m.put("state",false);
  414 + m.put("message",rtMessage.LP_ERROR);
  415 + return m;
366 } 416 }
367 }, 417 },
368 - //临加班次 场到场 418 + //替换代班驾驶员
369 j_gh{ 419 j_gh{
370 @Override 420 @Override
371 - public boolean run(SubjectUser sur, List<ScheduleRealInfo> sch){ 421 + public Map run(SubjectUser sur, List<ScheduleRealInfo> sch){
  422 + Map m = new HashMap();
372 String sj = sur.getSubjectId().getFcsj();//计划发车时间 423 String sj = sur.getSubjectId().getFcsj();//计划发车时间
373 String answer = sur.getSubjectId().getAnswer();//答案 424 String answer = sur.getSubjectId().getAnswer();//答案
374 String[] t = answer.split(","); //0 425 String[] t = answer.split(","); //0
@@ -382,7 +433,8 @@ public enum subEnum { @@ -382,7 +433,8 @@ public enum subEnum {
382 ScheduleRealInfo s = sch.get(i); 433 ScheduleRealInfo s = sch.get(i);
383 //判断当前班次是否符合条件 全部班次 434 //判断当前班次是否符合条件 全部班次
384 if ( s.getDfsj().equals(sj) && s.getjGh().equals(t[0])) { 435 if ( s.getDfsj().equals(sj) && s.getjGh().equals(t[0])) {
385 - return true; 436 + m.put("state",true);
  437 + return m;
386 } 438 }
387 } 439 }
388 440
@@ -390,13 +442,16 @@ public enum subEnum { @@ -390,13 +442,16 @@ public enum subEnum {
390 e.printStackTrace(); 442 e.printStackTrace();
391 } 443 }
392 444
393 - return false; 445 + m.put("state",false);
  446 + m.put("message",rtMessage.J_GH_ERROR);
  447 + return m;
394 } 448 }
395 }, 449 },
396 //换班 450 //换班
397 hb{ 451 hb{
398 @Override 452 @Override
399 - public boolean run(SubjectUser sur, List<ScheduleRealInfo> sch){ 453 + public Map run(SubjectUser sur, List<ScheduleRealInfo> sch){
  454 + Map m = new HashMap();
400 String sj = sur.getSubjectId().getFcsj();//计划发车时间 455 String sj = sur.getSubjectId().getFcsj();//计划发车时间
401 String answer = sur.getSubjectId().getAnswer();//答案 456 String answer = sur.getSubjectId().getAnswer();//答案
402 String[] t = answer.split(","); //0 457 String[] t = answer.split(","); //0
@@ -418,20 +473,24 @@ public enum subEnum { @@ -418,20 +473,24 @@ public enum subEnum {
418 } 473 }
419 } 474 }
420 if(su == 2) 475 if(su == 2)
421 - return true; 476 + m.put("state",true);
  477 + return m;
422 478
423 479
424 }catch (Exception e){ 480 }catch (Exception e){
425 e.printStackTrace(); 481 e.printStackTrace();
426 } 482 }
427 483
428 - return false; 484 + m.put("state",false);
  485 + m.put("message",rtMessage.HB_ERROR);
  486 + return m;
429 } 487 }
430 }, 488 },
431 //批量修改待发 489 //批量修改待发
432 pdf{ 490 pdf{
433 @Override 491 @Override
434 - public boolean run(SubjectUser sur, List<ScheduleRealInfo> sch){ 492 + public Map run(SubjectUser sur, List<ScheduleRealInfo> sch){
  493 + Map m = new HashMap();
435 String sj = sur.getSubjectId().getFcsj();//计划发车时间 494 String sj = sur.getSubjectId().getFcsj();//计划发车时间
436 String answer = sur.getSubjectId().getAnswer();//答案 495 String answer = sur.getSubjectId().getAnswer();//答案
437 String[] t = answer.split(","); //0 496 String[] t = answer.split(","); //0
@@ -455,21 +514,25 @@ public enum subEnum { @@ -455,21 +514,25 @@ public enum subEnum {
455 } 514 }
456 } 515 }
457 if(sunm == 3) 516 if(sunm == 3)
458 - return true; 517 + m.put("state",true);
  518 + return m;
459 519
460 520
461 }catch (Exception e){ 521 }catch (Exception e){
462 e.printStackTrace(); 522 e.printStackTrace();
463 } 523 }
464 524
465 - return false; 525 + m.put("state",false);
  526 + m.put("message",rtMessage.PDF_ERROR);
  527 + return m;
466 } 528 }
467 }, 529 },
468 530
469 //批量误点调整 531 //批量误点调整
470 pwd{ 532 pwd{
471 @Override 533 @Override
472 - public boolean run(SubjectUser sur, List<ScheduleRealInfo> sch){ 534 + public Map run(SubjectUser sur, List<ScheduleRealInfo> sch){
  535 + Map m = new HashMap();
473 String sj = sur.getSubjectId().getFcsj();//计划发车时间 536 String sj = sur.getSubjectId().getFcsj();//计划发车时间
474 String answer = sur.getSubjectId().getAnswer();//答案 537 String answer = sur.getSubjectId().getAnswer();//答案
475 String[] t = answer.split(","); //0 538 String[] t = answer.split(","); //0
@@ -493,16 +556,20 @@ public enum subEnum { @@ -493,16 +556,20 @@ public enum subEnum {
493 sunm = stn == Integer.parseInt(t[0]) ? sunm + 1 : sunm; //班次调整待发延后10分 556 sunm = stn == Integer.parseInt(t[0]) ? sunm + 1 : sunm; //班次调整待发延后10分
494 } 557 }
495 } 558 }
496 - if(sunm == 3)  
497 - return true; 559 + if(sunm == 3) {
  560 + m.put("state", true);
  561 + return m;
  562 + }
498 563
499 564
500 }catch (Exception e){ 565 }catch (Exception e){
501 e.printStackTrace(); 566 e.printStackTrace();
502 } 567 }
503 568
504 - return false; 569 + m.put("state",false);
  570 + m.put("message",rtMessage.PWD_ERROR);
  571 + return m;
505 } 572 }
506 }; 573 };
507 - public abstract boolean run(SubjectUser sur, List<ScheduleRealInfo> sch); 574 + public abstract Map run(SubjectUser sur, List<ScheduleRealInfo> sch);
508 } 575 }
src/main/java/com/bsth/util/subject/subEnumDevice.java
@@ -8,10 +8,7 @@ import com.bsth.entity.subject.SubjectUser; @@ -8,10 +8,7 @@ import com.bsth.entity.subject.SubjectUser;
8 import com.bsth.entity.sys.SysUser; 8 import com.bsth.entity.sys.SysUser;
9 9
10 import java.text.SimpleDateFormat; 10 import java.text.SimpleDateFormat;
11 -import java.util.Collection;  
12 -import java.util.Collections;  
13 -import java.util.List;  
14 -import java.util.Set; 11 +import java.util.*;
15 import java.util.stream.Collectors; 12 import java.util.stream.Collectors;
16 13
17 public enum subEnumDevice { 14 public enum subEnumDevice {
@@ -20,48 +17,61 @@ public enum subEnumDevice { @@ -20,48 +17,61 @@ public enum subEnumDevice {
20 //手动切换车辆方向 17 //手动切换车辆方向
21 qdir{ 18 qdir{
22 @Override 19 @Override
23 - public boolean run(SubjectUser sur, Collection<D60> yyArray,SysUser user){ 20 + public Map run(SubjectUser sur, Collection<D60> yyArray,SysUser user){
  21 + Map m = new HashMap();
24 for (D60 d60 : yyArray){ 22 for (D60 d60 : yyArray){
25 if (d60.getSender().equals(user.getUserName())){ //用户名 23 if (d60.getSender().equals(user.getUserName())){ //用户名
26 if(d60.getData().getTxtContent().equals("切换为 下行营运")){ 24 if(d60.getData().getTxtContent().equals("切换为 下行营运")){
27 - return true; 25 + m.put("state",true);
  26 + return m;
28 } 27 }
29 } 28 }
30 } 29 }
31 - return false; 30 + m.put("state",false);
  31 + m.put("message",rtMessage.QDIR_ERROR);
  32 + return m;
32 } 33 }
33 }, 34 },
34 - //手动切换车辆方向 35 + //下发消息
35 xf{ 36 xf{
36 @Override 37 @Override
37 - public boolean run(SubjectUser sur, Collection<D60> yyArray,SysUser user){ 38 + public Map run(SubjectUser sur, Collection<D60> yyArray, SysUser user){
  39 + Map m = new HashMap();
38 String answer = sur.getSubjectId().getAnswer();//答案 40 String answer = sur.getSubjectId().getAnswer();//答案
39 String[] t = answer.split(","); //0 41 String[] t = answer.split(","); //0
40 for (D60 d60 : yyArray){ 42 for (D60 d60 : yyArray){
41 if (d60.getDeviceId().contains(user.getUserName()) && d60.getDeviceId().contains(t[0]) ){ //用户名 43 if (d60.getDeviceId().contains(user.getUserName()) && d60.getDeviceId().contains(t[0]) ){ //用户名
42 - return true; 44 + m.put("state",true);
  45 + return m;
43 } 46 }
44 } 47 }
45 - return false; 48 + m.put("state",false);
  49 + m.put("message",rtMessage.XF_ERROR);
  50 + return m;
46 } 51 }
47 }, 52 },
48 - //手动切换车辆方向 53 + //群下发消息
49 pxf{ 54 pxf{
50 @Override 55 @Override
51 - public boolean run(SubjectUser sur, Collection<D60> yyArray,SysUser user){ 56 + public Map run(SubjectUser sur, Collection<D60> yyArray,SysUser user){
  57 + Map m = new HashMap();
52 int num = 0; 58 int num = 0;
53 for (D60 d60 : yyArray){ 59 for (D60 d60 : yyArray){
54 if (d60.getDeviceId().contains(user.getUserName())){ //用户名 60 if (d60.getDeviceId().contains(user.getUserName())){ //用户名
55 num = num + 1; 61 num = num + 1;
56 } 62 }
57 } 63 }
58 - if (num >= 5)  
59 - return true; 64 + if (num >= 5) {
  65 + m.put("state", true);
  66 + return m;
  67 + }
60 68
61 - return false; 69 + m.put("state",false);
  70 + m.put("message",rtMessage.PXF_ERROR);
  71 + return m;
62 } 72 }
63 }; 73 };
64 74
65 75
66 - public abstract boolean run(SubjectUser sur, Collection<D60> yyArray, SysUser user); 76 + public abstract Map run(SubjectUser sur, Collection<D60> yyArray, SysUser user);
67 } 77 }
src/main/resources/application-dev.properties
@@ -40,9 +40,9 @@ jp.date = cmd /c date @@ -40,9 +40,9 @@ jp.date = cmd /c date
40 ## gps client data 40 ## gps client data
41 http.gps.real.cache.url= http://10.10.150.24:12580/realGps/all 41 http.gps.real.cache.url= http://10.10.150.24:12580/realGps/all
42 ## gateway real data 42 ## gateway real data
43 -http.gps.real.url= http://114.80.178.12:18080/transport_server/rtgps/ 43 +http.gps.real.url= http://192.168.168.237:8080/transport_server/rtgps/
44 ## gateway send directive 44 ## gateway send directive
45 -http.send.directive = http://192.168.168.201:9090/transport_server/message/ 45 +http.send.directive = http://192.168.168.237:8899/transport_server/message/
46 ## rfid data 46 ## rfid data
47 http.rfid.url= http://114.80.178.12:29000/rfid 47 http.rfid.url= http://114.80.178.12:29000/rfid
48 48