Commit 1d2fd0a379d4d3cc91d2984c630b14c7edd1f728

Authored by 王通
1 parent d2d36a99

1.特权操作,获取车辆当前执行班次

src/main/java/com/bsth/controller/realcontrol/AdminUtilsController.java
1   -package com.bsth.controller.realcontrol;
2   -
3   -import java.text.SimpleDateFormat;
4   -import java.util.Date;
5   -import java.util.HashMap;
6   -import java.util.List;
7   -import java.util.Map;
8   -
9   -import org.slf4j.Logger;
10   -import org.slf4j.LoggerFactory;
11   -import org.springframework.beans.factory.annotation.Autowired;
12   -import org.springframework.web.bind.annotation.RequestMapping;
13   -import org.springframework.web.bind.annotation.RequestParam;
14   -import org.springframework.web.bind.annotation.RestController;
15   -
16   -import com.bsth.common.ResponseCode;
17   -import com.bsth.data.directive.DayOfDirectives;
18   -import com.bsth.data.directive.DirectivesPstThread;
19   -import com.bsth.data.gpsdata_v2.cache.GeoCacheData;
20   -import com.bsth.data.gpsdata_v2.handlers.overspeed.OverspeedProcess;
21   -import com.bsth.data.gpsdata_v2.thread.GpsDataLoaderThread;
22   -import com.bsth.data.msg_queue.DirectivePushQueue;
23   -import com.bsth.data.msg_queue.WebSocketPushQueue;
24   -import com.bsth.data.pilot80.PilotReport;
25   -import com.bsth.data.schedule.DayOfSchedule;
26   -import com.bsth.entity.realcontrol.ScheduleRealInfo;
27   -import com.bsth.websocket.handler.SendUtils;
28   -
29   -import ch.qos.logback.classic.Level;
30   -import ch.qos.logback.classic.LoggerContext;
31   -
32   -/**
33   - * Created by panzhao on 2017/4/14.
34   - */
35   -@RestController
36   -@RequestMapping("adminUtils")
37   -public class AdminUtilsController {
38   -
39   -
40   - Logger logger = LoggerFactory.getLogger(this.getClass());
41   -
42   - @Autowired
43   - DayOfSchedule dayOfSchedule;
44   -
45   - @Autowired
46   - GeoCacheData geoCacheData;
47   -
48   - @Autowired
49   - DayOfDirectives dayOfDirectives;
50   -
51   - @Autowired
52   - SendUtils sendUtils;
53   -
54   - @Autowired
55   - PilotReport pilotReport;
56   -
57   - /**
58   - * 出现重复班次的车辆
59   - *
60   - * @param
61   - * @RequestMapping(value = "/schRepeat", method = RequestMethod.POST)
62   - * public void schRepeat(@RequestParam String nbbm){
63   - * logger.info("前端通知,车辆 " + nbbm + "出现重复班次,开始检测...");
64   - * List<ScheduleRealInfo> list = dayOfSchedule.findByNbbm(nbbm);
65   - * logger.info("检测前,车辆班次数量:" + list.size());
66   - * <p>
67   - * Map<Long, ScheduleRealInfo> map = new HashMap<>();
68   - * for(ScheduleRealInfo sch : list){
69   - * if(map.containsKey(sch.getId())){
70   - * logger.info("检测到重复ID: " + sch.getId());
71   - * }
72   - * map.put(sch.getId(), sch);
73   - * }
74   - * <p>
75   - * logger.info("检测后,车辆班次数量:" + list.size());
76   - * if(map.values().size() > 0){
77   - * dayOfSchedule.replaceByNbbm(nbbm, map.values());
78   - * }
79   - * }
80   - */
81   -
82   -/* @RequestMapping(value = "/directivePushQueue")
83   - public void directivePushQueue(){
84   - DirectivePushQueue.start();
85   - }*/
86   - @RequestMapping(value = "/directiveQueueSize")
87   - public void directiveQueueSize() {
88   - DirectivePushQueue.size();
89   - }
90   -
91   - /*@RequestMapping(value = "/webSocketPushQueue")
92   - public void webSocketPushQueue(){
93   - WebSocketPushQueue.start();
94   - }*/
95   -
96   - @RequestMapping(value = "/webSocketQueueSize")
97   - public void webSocketQueueSize() {
98   - WebSocketPushQueue.size();
99   - }
100   -
101   - @RequestMapping(value = "/setHttpFlag")
102   - public void setHttpFlag(@RequestParam int flag) {
103   - if (flag != 0 && flag != -1)
104   - return;
105   - GpsDataLoaderThread.setFlag(flag);
106   - }
107   -
108   - @RequestMapping(value = "/updateCacheBuff")
109   - public void updateCacheBuff() {
110   - geoCacheData.loadData();
111   - }
112   -
113   - @RequestMapping(value = "/reCalcLpSch")
114   - public void reCalcLpSch() {
115   - dayOfSchedule._test_reCalcLpSch();
116   - }
117   -
118   - @RequestMapping(value = "/findSchByLpName")
119   - public List<ScheduleRealInfo> findSchByLpName(@RequestParam String lpName) {
120   - return dayOfSchedule.getLpScheduleMap().get(lpName);
121   - }
122   -
123   - @RequestMapping(value = "/findSchByNbbm")
124   - public List<ScheduleRealInfo> findSchByNbbm(@RequestParam String nbbm) {
125   - return dayOfSchedule.findByNbbm(nbbm);
126   - }
127   -
128   - @RequestMapping(value = "/removeExecPlan")
129   - public int removeExecPlan(@RequestParam String nbbm) {
130   - dayOfSchedule.removeExecPlan(nbbm);
131   - return 1;
132   - }
133   -
134   - @RequestMapping(value = "/sch_re_calc_id_maps")
135   - public int reCalcIdMaps() {
136   - return dayOfSchedule.reCalcIdMaps();
137   - }
138   -
139   - @RequestMapping(value = "/sch_size_string")
140   - public String schSizeString() {
141   - return dayOfSchedule.sizeString();
142   - }
143   -
144   - @RequestMapping(value = "/containerSize")
145   - public Map<String, Integer> containerSize() {
146   - Map<String, Integer> rs = new HashMap<>();
147   - rs.put("60_size", dayOfDirectives.all60().size());
148   - rs.put("80_size", pilotReport.findAll().size());
149   - rs.put("nbbm_sch_size", dayOfSchedule.findAll().size());
150   - rs.put("lp_sch_size", dayOfSchedule.findAllByLpContainer().size());
151   - rs.put("id_sch_size", dayOfSchedule.findAllByIdContainer().size());
152   - rs.put("pst_sch_size", dayOfSchedule.getPstSize());
153   - rs.put("speeds_size", OverspeedProcess.size());
154   - return rs;
155   - }
156   -
157   - @RequestMapping(value = "/websocketRadioText")
158   - public int radioText(String t, String lineCode) {
159   - sendUtils.sendRadioText(t, lineCode);
160   - return 0;
161   - }
162   -
163   - @Autowired
164   - DirectivesPstThread directivesPstThread;
165   -
166   - @RequestMapping(value = "/_sd_60_pst")
167   - public void sd_60_pst() {
168   - logger.info("手动入库指令....");
169   - directivesPstThread.run();
170   - }
171   -
172   - /**
173   - * 删除班次,删除内存中未清理掉的非当天的班次
174   - * @createDate 2019.05.13
175   - * @author zhangxianzhou
176   - * @param id 线路id
177   - * @return 被删除的班次信息
178   - */
179   - @RequestMapping("/deleteSchduleBC")
180   - public Map<String, Object> deleteSchduleBC(Long id) {
181   - Map<String, Object> rs = new HashMap<>();
182   - rs.put("status", ResponseCode.ERROR);
183   - ScheduleRealInfo sch = null;
184   - try {
185   - sch = dayOfSchedule.get(id);
186   - if (sch == null) {
187   - rs.put("msg", "无效的id号");
188   - return rs;
189   - }
190   -
191   - //内存中删除
192   - dayOfSchedule.deleteBC(sch);
193   - rs.put("delete", sch);
194   - rs.put("status", ResponseCode.SUCCESS);
195   -
196   - } catch (Exception e) {
197   - logger.error("", e);
198   - rs.put("msg", e.getMessage());
199   - sch.setDeleted(false);
200   - }
201   -
202   - return rs;
203   - }
204   -
205   - @RequestMapping("/changeLogLevel")
206   - public Map<String, Object> changeLogLevel(@RequestParam String level) {
207   - Map<String, Object> rs = new HashMap<>();
208   - rs.put("errCode", 1);
209   - LoggerContext context = (LoggerContext)LoggerFactory.getILoggerFactory();
210   - context.getLogger("root").setLevel(Level.toLevel(level));
211   - rs.put("errCode", 0);
212   - rs.put("errMsg", "成功");
213   -
214   - return rs;
215   - }
  1 +package com.bsth.controller.realcontrol;
  2 +
  3 +import java.text.SimpleDateFormat;
  4 +import java.util.Date;
  5 +import java.util.HashMap;
  6 +import java.util.List;
  7 +import java.util.Map;
  8 +
  9 +import org.slf4j.Logger;
  10 +import org.slf4j.LoggerFactory;
  11 +import org.springframework.beans.factory.annotation.Autowired;
  12 +import org.springframework.web.bind.annotation.RequestMapping;
  13 +import org.springframework.web.bind.annotation.RequestParam;
  14 +import org.springframework.web.bind.annotation.RestController;
  15 +
  16 +import com.bsth.common.ResponseCode;
  17 +import com.bsth.data.directive.DayOfDirectives;
  18 +import com.bsth.data.directive.DirectivesPstThread;
  19 +import com.bsth.data.gpsdata_v2.cache.GeoCacheData;
  20 +import com.bsth.data.gpsdata_v2.handlers.overspeed.OverspeedProcess;
  21 +import com.bsth.data.gpsdata_v2.thread.GpsDataLoaderThread;
  22 +import com.bsth.data.msg_queue.DirectivePushQueue;
  23 +import com.bsth.data.msg_queue.WebSocketPushQueue;
  24 +import com.bsth.data.pilot80.PilotReport;
  25 +import com.bsth.data.schedule.DayOfSchedule;
  26 +import com.bsth.entity.realcontrol.ScheduleRealInfo;
  27 +import com.bsth.websocket.handler.SendUtils;
  28 +
  29 +import ch.qos.logback.classic.Level;
  30 +import ch.qos.logback.classic.LoggerContext;
  31 +
  32 +/**
  33 + * Created by panzhao on 2017/4/14.
  34 + */
  35 +@RestController
  36 +@RequestMapping("adminUtils")
  37 +public class AdminUtilsController {
  38 +
  39 +
  40 + Logger logger = LoggerFactory.getLogger(this.getClass());
  41 +
  42 + @Autowired
  43 + DayOfSchedule dayOfSchedule;
  44 +
  45 + @Autowired
  46 + GeoCacheData geoCacheData;
  47 +
  48 + @Autowired
  49 + DayOfDirectives dayOfDirectives;
  50 +
  51 + @Autowired
  52 + SendUtils sendUtils;
  53 +
  54 + @Autowired
  55 + PilotReport pilotReport;
  56 +
  57 + /**
  58 + * 出现重复班次的车辆
  59 + *
  60 + * @param
  61 + * @RequestMapping(value = "/schRepeat", method = RequestMethod.POST)
  62 + * public void schRepeat(@RequestParam String nbbm){
  63 + * logger.info("前端通知,车辆 " + nbbm + "出现重复班次,开始检测...");
  64 + * List<ScheduleRealInfo> list = dayOfSchedule.findByNbbm(nbbm);
  65 + * logger.info("检测前,车辆班次数量:" + list.size());
  66 + * <p>
  67 + * Map<Long, ScheduleRealInfo> map = new HashMap<>();
  68 + * for(ScheduleRealInfo sch : list){
  69 + * if(map.containsKey(sch.getId())){
  70 + * logger.info("检测到重复ID: " + sch.getId());
  71 + * }
  72 + * map.put(sch.getId(), sch);
  73 + * }
  74 + * <p>
  75 + * logger.info("检测后,车辆班次数量:" + list.size());
  76 + * if(map.values().size() > 0){
  77 + * dayOfSchedule.replaceByNbbm(nbbm, map.values());
  78 + * }
  79 + * }
  80 + */
  81 +
  82 +/* @RequestMapping(value = "/directivePushQueue")
  83 + public void directivePushQueue(){
  84 + DirectivePushQueue.start();
  85 + }*/
  86 + @RequestMapping(value = "/directiveQueueSize")
  87 + public void directiveQueueSize() {
  88 + DirectivePushQueue.size();
  89 + }
  90 +
  91 + /*@RequestMapping(value = "/webSocketPushQueue")
  92 + public void webSocketPushQueue(){
  93 + WebSocketPushQueue.start();
  94 + }*/
  95 +
  96 + @RequestMapping(value = "/webSocketQueueSize")
  97 + public void webSocketQueueSize() {
  98 + WebSocketPushQueue.size();
  99 + }
  100 +
  101 + @RequestMapping(value = "/setHttpFlag")
  102 + public void setHttpFlag(@RequestParam int flag) {
  103 + if (flag != 0 && flag != -1)
  104 + return;
  105 + GpsDataLoaderThread.setFlag(flag);
  106 + }
  107 +
  108 + @RequestMapping(value = "/updateCacheBuff")
  109 + public void updateCacheBuff() {
  110 + geoCacheData.loadData();
  111 + }
  112 +
  113 + @RequestMapping(value = "/reCalcLpSch")
  114 + public void reCalcLpSch() {
  115 + dayOfSchedule._test_reCalcLpSch();
  116 + }
  117 +
  118 + @RequestMapping(value = "/findSchByLpName")
  119 + public List<ScheduleRealInfo> findSchByLpName(@RequestParam String lpName) {
  120 + return dayOfSchedule.getLpScheduleMap().get(lpName);
  121 + }
  122 +
  123 + @RequestMapping(value = "/findSchByNbbm")
  124 + public List<ScheduleRealInfo> findSchByNbbm(@RequestParam String nbbm) {
  125 + return dayOfSchedule.findByNbbm(nbbm);
  126 + }
  127 +
  128 + @RequestMapping(value = "/executeCurr")
  129 + public ScheduleRealInfo executeCurr(@RequestParam String nbbm) {
  130 + return dayOfSchedule.executeCurr(nbbm);
  131 + };
  132 +
  133 + @RequestMapping(value = "/removeExecPlan")
  134 + public int removeExecPlan(@RequestParam String nbbm) {
  135 + dayOfSchedule.removeExecPlan(nbbm);
  136 + return 1;
  137 + }
  138 +
  139 + @RequestMapping(value = "/sch_re_calc_id_maps")
  140 + public int reCalcIdMaps() {
  141 + return dayOfSchedule.reCalcIdMaps();
  142 + }
  143 +
  144 + @RequestMapping(value = "/sch_size_string")
  145 + public String schSizeString() {
  146 + return dayOfSchedule.sizeString();
  147 + }
  148 +
  149 + @RequestMapping(value = "/containerSize")
  150 + public Map<String, Integer> containerSize() {
  151 + Map<String, Integer> rs = new HashMap<>();
  152 + rs.put("60_size", dayOfDirectives.all60().size());
  153 + rs.put("80_size", pilotReport.findAll().size());
  154 + rs.put("nbbm_sch_size", dayOfSchedule.findAll().size());
  155 + rs.put("lp_sch_size", dayOfSchedule.findAllByLpContainer().size());
  156 + rs.put("id_sch_size", dayOfSchedule.findAllByIdContainer().size());
  157 + rs.put("pst_sch_size", dayOfSchedule.getPstSize());
  158 + rs.put("speeds_size", OverspeedProcess.size());
  159 + return rs;
  160 + }
  161 +
  162 + @RequestMapping(value = "/websocketRadioText")
  163 + public int radioText(String t, String lineCode) {
  164 + sendUtils.sendRadioText(t, lineCode);
  165 + return 0;
  166 + }
  167 +
  168 + @Autowired
  169 + DirectivesPstThread directivesPstThread;
  170 +
  171 + @RequestMapping(value = "/_sd_60_pst")
  172 + public void sd_60_pst() {
  173 + logger.info("手动入库指令....");
  174 + directivesPstThread.run();
  175 + }
  176 +
  177 + /**
  178 + * 删除班次,删除内存中未清理掉的非当天的班次
  179 + * @createDate 2019.05.13
  180 + * @author zhangxianzhou
  181 + * @param id 线路id
  182 + * @return 被删除的班次信息
  183 + */
  184 + @RequestMapping("/deleteSchduleBC")
  185 + public Map<String, Object> deleteSchduleBC(Long id) {
  186 + Map<String, Object> rs = new HashMap<>();
  187 + rs.put("status", ResponseCode.ERROR);
  188 + ScheduleRealInfo sch = null;
  189 + try {
  190 + sch = dayOfSchedule.get(id);
  191 + if (sch == null) {
  192 + rs.put("msg", "无效的id号");
  193 + return rs;
  194 + }
  195 +
  196 + //内存中删除
  197 + dayOfSchedule.deleteBC(sch);
  198 + rs.put("delete", sch);
  199 + rs.put("status", ResponseCode.SUCCESS);
  200 +
  201 + } catch (Exception e) {
  202 + logger.error("", e);
  203 + rs.put("msg", e.getMessage());
  204 + sch.setDeleted(false);
  205 + }
  206 +
  207 + return rs;
  208 + }
  209 +
  210 + @RequestMapping("/changeLogLevel")
  211 + public Map<String, Object> changeLogLevel(@RequestParam String level) {
  212 + Map<String, Object> rs = new HashMap<>();
  213 + rs.put("errCode", 1);
  214 + LoggerContext context = (LoggerContext)LoggerFactory.getILoggerFactory();
  215 + context.getLogger("root").setLevel(Level.toLevel(level));
  216 + rs.put("errCode", 0);
  217 + rs.put("errMsg", "成功");
  218 +
  219 + return rs;
  220 + }
216 221 }
217 222 \ No newline at end of file
... ...