SecuritySuperviseController.java 41 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028
  1. package com.slave.midScreen.controller;
  2. import com.github.pagehelper.PageInfo;
  3. import com.rockstar.frame.model.extend.TableSplitResult;
  4. import com.rockstar.frame.model.extend.Tablepar;
  5. import com.slave.midScreen.model.in.SelectFenXi;
  6. import com.slave.midScreen.model.in.SelectInfo;
  7. import com.slave.midScreen.model.in.SelectInfoDetail;
  8. import com.slave.midScreen.service.SecuritySupervisService;
  9. import com.slave2.midScreen2.service.SecuritySupervis2Service;
  10. import io.swagger.annotations.Api;
  11. import org.apache.ibatis.annotations.Param;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.stereotype.Controller;
  14. import org.springframework.web.bind.annotation.PostMapping;
  15. import org.springframework.web.bind.annotation.RequestMapping;
  16. import org.springframework.web.bind.annotation.ResponseBody;
  17. import java.util.*;
  18. /**
  19. * 中屏_安全监管和行业通报信息
  20. */
  21. @Controller
  22. @RequestMapping(value = "/SecuritySuperviseController")
  23. @Api(value = "中屏_安全监管")
  24. public class SecuritySuperviseController {
  25. @Autowired
  26. private SecuritySupervisService securitySupervisService;
  27. @Autowired
  28. private SecuritySupervis2Service securitySupervis2Service;
  29. // @PostMapping(value = "test",produces = {"application/json;charset=UTF-8"})
  30. // @ResponseBody
  31. // public Object listAll(DemoStudent model){
  32. // return "hello world";
  33. // }
  34. /**
  35. * 风险数量列表查询
  36. *
  37. * @param info
  38. * @return
  39. */
  40. @PostMapping(value = "findRiskCountList", produces = {"application/json;charset=UTF-8"})
  41. @ResponseBody
  42. public Object findRiskCountList(Map<String, Object> info) {
  43. return securitySupervis2Service.findRiskCountList(info);
  44. }
  45. /**
  46. * 风险超过24小时的数量查询
  47. *
  48. * @param info
  49. * @return
  50. */
  51. @PostMapping(value = "findOverHourRiskCountList", produces = {"application/json;charset=UTF-8"})
  52. @ResponseBody
  53. public Object findOverHourRiskCountList(Map<String, Object> info) {
  54. return securitySupervis2Service.findOverHourRiskCountList(info);
  55. }
  56. /**
  57. * 隐患数量列表查询
  58. *
  59. * @param info
  60. * @return
  61. */
  62. @PostMapping(value = "findTroubleCountList", produces = {"application/json;charset=UTF-8"})
  63. @ResponseBody
  64. public Object findTroubleCountList(Map<String, Object> info) {
  65. return securitySupervisService.findTroubleCountList(info);
  66. }
  67. /**
  68. * 隐患超过24小时的数量查询
  69. *
  70. * @param info
  71. * @return
  72. */
  73. @PostMapping(value = "findOverHourTroubleCountList", produces = {"application/json;charset=UTF-8"})
  74. @ResponseBody
  75. public Object findOverHourTroubleCountList(Map<String, Object> info) {
  76. return securitySupervisService.findOverHourTroubleCountList(info);
  77. }
  78. /**
  79. * 突发事件数量列表查询
  80. *
  81. * @param info
  82. * @return
  83. */
  84. @PostMapping(value = "findEmergencyCountList", produces = {"application/json;charset=UTF-8"})
  85. @ResponseBody
  86. public Object findEmergencyCountList(Map<String, Object> info) {
  87. return securitySupervisService.findEmergencyCountList(info);
  88. }
  89. /**
  90. * 突发事件超过24小时的数量查询
  91. *
  92. * @param info
  93. * @return
  94. */
  95. @PostMapping(value = "findOverHourEmergencyCountList", produces = {"application/json;charset=UTF-8"})
  96. @ResponseBody
  97. public Object findOverHourEmergencyCountList(Map<String, Object> info) {
  98. return securitySupervisService.findOverHourEmergencyCountList(info);
  99. }
  100. /**
  101. * 总统计各个区/县级市的风险数量
  102. *
  103. * @param info
  104. * @return
  105. */
  106. @PostMapping(value = "findCountEveryPlace", produces = {"application/json;charset=UTF-8"})
  107. @ResponseBody
  108. public Object findCountEveryPlace(SelectInfo info) {
  109. // 统计的大类选择 1风险统计,2在发隐患统计,3突发事件统计
  110. String top_type = info.getTop_type();
  111. // 各个统计大类的子统计数据
  112. String second_type = info.getSecond_type();
  113. if (second_type != null && !"".equals(second_type.toString())) {
  114. String[] split = second_type.toString().split(",");
  115. info.setSecond_typeList(Arrays.asList(split));
  116. }
  117. // 各个统计大类的子统计数据
  118. String grade = info.getGrade();
  119. if (grade != null && !"".equals(grade.toString())) {
  120. String[] split = grade.toString().split(",");
  121. info.setGradeList(Arrays.asList(split));
  122. }
  123. // 统计的大类选择 1风险统计,2在发隐患统计,3突发事件统计
  124. if ("1".equals(top_type)) {
  125. return securitySupervis2Service.findCountRiskEveryPlace(info);
  126. } else if ("2".equals(top_type)) {
  127. return securitySupervisService.findCountTroubleEveryPlace(info);
  128. } else if ("3".equals(top_type)) {
  129. return securitySupervisService.findCountEmergencyEveryPlace(info);
  130. } else {
  131. return null;
  132. }
  133. }
  134. /**
  135. * 总统计各个区/县级市的风险信息(查询的涂层点信息语句)
  136. *
  137. * @param info
  138. * @return
  139. */
  140. @PostMapping(value = "findInfoEveryPlace", produces = {"application/json;charset=UTF-8"})
  141. @ResponseBody
  142. public Object findInfoEveryPlace(SelectInfo info) {
  143. // 统计的大类选择 1风险统计,2在发隐患统计,3突发事件统计
  144. String top_type = info.getTop_type();
  145. // 各个统计大类的子统计数据
  146. String second_type = info.getSecond_type();
  147. if (second_type != null && !"".equals(second_type.toString())) {
  148. String[] split = second_type.toString().split(",");
  149. info.setSecond_typeList(Arrays.asList(split));
  150. }
  151. // 统计的大类选择 1风险统计,2在发隐患统计,3突发事件统计
  152. if ("1".equals(top_type)) {
  153. return securitySupervis2Service.findInfoRiskEveryPlace(info);
  154. } else if ("2".equals(top_type)) {
  155. return securitySupervisService.findInfoTroubleEveryPlace(info);
  156. } else if ("3".equals(top_type)) {
  157. return securitySupervisService.findInfoEmergencyEveryPlace(info);
  158. } else {
  159. return null;
  160. }
  161. }
  162. /**
  163. * 各个风险数据 区/县级市的风险信息
  164. *
  165. * @param info
  166. * @return
  167. */
  168. @PostMapping(value = "findInfoDetailEveryPlace", produces = {"application/json;charset=UTF-8"})
  169. @ResponseBody
  170. public Object findInfoDetailEveryPlace(SelectInfoDetail info, Tablepar tablepar) {
  171. // 统计的大类选择 1风险统计,2在发隐患统计,3突发事件统计
  172. String top_type = info.getTop_type();
  173. // 各个统计大类的子统计数据
  174. String second_type = info.getSecond_type();
  175. String places = info.getPlaces();
  176. if (places != null && !"".equals(places.toString())) {
  177. String[] split = places.split(",");
  178. info.setPlacesList(Arrays.asList(split));
  179. }
  180. String levels = info.getLevels();
  181. if (levels != null && !"".equals(levels.toString())) {
  182. String[] split = levels.split(",");
  183. info.setLevelsList(Arrays.asList(split));
  184. }
  185. String isOften = info.getIsOften();
  186. if (isOften != null && !"".equals(isOften.toString())) {
  187. String[] split = isOften.split(",");
  188. info.setIsOftenList(Arrays.asList(split));
  189. }
  190. String disposeProgress = info.getDisposeProgress();
  191. if (disposeProgress != null && !"".equals(disposeProgress.toString())) {
  192. String[] split = disposeProgress.split(",");
  193. info.setDisposeProgressList(Arrays.asList(split));
  194. }
  195. String isTimeout = info.getIsTimeout();
  196. String type = info.getType();
  197. if (type != null && !"".equals(type.toString())) {
  198. String[] split = type.split(",");
  199. info.setTypeList(Arrays.asList(split));
  200. }
  201. // 统计的大类选择 1风险统计,2在发隐患统计,3突发事件统计
  202. if ("1".equals(top_type)) {
  203. if (isTimeout != null && !"".equals(isTimeout.toString())) {
  204. String[] split = isTimeout.split(",");
  205. info.setIsTimeoutList(Arrays.asList(split));
  206. ArrayList<String> strings = new ArrayList<>();
  207. for (int i = 0; i < split.length; i++) {
  208. if (split[i].equals("是")) {
  209. // --超时24小时
  210. strings.add("EXTRACT (EPOCH FROM (now()-pgsj))> (24*60*60)");
  211. } else if (split[i].equals("否")) {
  212. // --不超时24小时
  213. strings.add("EXTRACT (EPOCH FROM (now()-pgsj)) &lt;= (24*60*60)");
  214. }
  215. }
  216. info.setIsTimeoutList(strings);
  217. }
  218. // return securitySupervis2Service.findInfoRiskDetailEveryPlace(info);
  219. PageInfo<Map<String, Object>> page = securitySupervis2Service.findInfoRiskDetailEveryPlace(tablepar, info);
  220. TableSplitResult<Map<String, Object>> result = new TableSplitResult<>(page.getPageNum(), page.getTotal(), page.getList());
  221. return result;
  222. } else if ("2".equals(top_type)) {
  223. if (isTimeout != null && !"".equals(isTimeout.toString())) {
  224. String[] split = isTimeout.split(",");
  225. info.setIsTimeoutList(Arrays.asList(split));
  226. ArrayList<String> strings = new ArrayList<>();
  227. for (int i = 0; i < split.length; i++) {
  228. if (split[i].equals("是")) {
  229. // --超时24小时
  230. strings.add("EXTRACT (EPOCH FROM (now()-find_time))> (24*60*60)");
  231. } else if (split[i].equals("否")) {
  232. // --不超时24小时
  233. strings.add("EXTRACT (EPOCH FROM (now()-find_time)) &lt;= (24*60*60)");
  234. }
  235. }
  236. info.setIsTimeoutList(strings);
  237. }
  238. // return securitySupervisService.findInfoTroubleDetailEveryPlace(info);
  239. PageInfo<Map<String, Object>> page = securitySupervisService.findInfoTroubleDetailEveryPlace(tablepar, info);
  240. TableSplitResult<Map<String, Object>> result = new TableSplitResult<>(page.getPageNum(), page.getTotal(), page.getList());
  241. return result;
  242. } else if ("3".equals(top_type)) {
  243. if (isTimeout != null && !"".equals(isTimeout.toString())) {
  244. String[] split = isTimeout.split(",");
  245. info.setIsTimeoutList(Arrays.asList(split));
  246. ArrayList<String> strings = new ArrayList<>();
  247. for (int i = 0; i < split.length; i++) {
  248. if (split[i].equals("是")) {
  249. // --超时24小时
  250. strings.add("EXTRACT (EPOCH FROM (now()-find_time))> (24*60*60)");
  251. } else if (split[i].equals("否")) {
  252. // --不超时24小时
  253. strings.add("EXTRACT (EPOCH FROM (now()-find_time)) &lt;= (24*60*60)");
  254. }
  255. }
  256. info.setIsTimeoutList(strings);
  257. }
  258. // return securitySupervisService.findInfoEmergencyDetailEveryPlace(info);
  259. PageInfo<Map<String, Object>> page = securitySupervisService.findInfoEmergencyDetailEveryPlace(tablepar, info);
  260. TableSplitResult<Map<String, Object>> result = new TableSplitResult<>(page.getPageNum(), page.getTotal(), page.getList());
  261. return result;
  262. } else {
  263. return null;
  264. }
  265. }
  266. /**
  267. * 综合监管_行业通报查询列表
  268. *
  269. * @param
  270. * @return
  271. */
  272. @PostMapping(value = "findHangYeTongBaoList", produces = {"application/json;charset=UTF-8"})
  273. @ResponseBody
  274. public Object findHangYeTongBaoList(Integer year, String scene) {
  275. return securitySupervisService.findHangYeTongBaoList(year, scene);
  276. }
  277. /**
  278. * 综合监管_行业评价_行业评价查询
  279. *
  280. * @param
  281. * @return
  282. */
  283. @PostMapping(value = "findHangYePingJiaList", produces = {"application/json;charset=UTF-8"})
  284. @ResponseBody
  285. public Object findHangYePingJiaList(String scene) {
  286. return securitySupervisService.findHangYePingJiaList(scene);
  287. }
  288. /**
  289. * 综合监管_案例分析_案例分析查询
  290. *
  291. * @param
  292. * @return
  293. */
  294. @PostMapping(value = "findAnLiFenXiList", produces = {"application/json;charset=UTF-8"})
  295. @ResponseBody
  296. public Object findAnLiFenXiList(Integer year, String scene) {
  297. return securitySupervisService.findAnLiFenXiList(year, scene);
  298. }
  299. //=====================================================================================================================================================================================================
  300. //大屏左边第二个下边 突发事件处置率,已上报,已处置
  301. @PostMapping(value = "findShiJianChuZhiCount", produces = {"application/json;charset=UTF-8"})
  302. @ResponseBody
  303. public Object findShiJianChuZhiCount(String year) {
  304. String sql = "SELECT \n" +
  305. "count(1) all_count, --风险总数\n" +
  306. "count(1) filter(where dispose_progress in('2')) as has_close_count --已处置总数\n" +
  307. "FROM zhjg_analysis_emergency\n" +
  308. "where \n" +
  309. "EXTRACT ( YEAR FROM find_time ) = " + year;
  310. return securitySupervisService.select1(sql);
  311. }
  312. /**
  313. * 综合监管 事件分析 事件档案列表(7种情况都可以)++
  314. *
  315. * @param
  316. * @return
  317. */
  318. @PostMapping(value = "findShiJianFenXi", produces = {"application/json;charset=UTF-8"})
  319. @ResponseBody
  320. public Object findShiJianFenXi(Tablepar tablepar, SelectFenXi info) {
  321. String places = info.getPlaces();
  322. if (places != null && !"".equals(places.toString())) {
  323. String[] split = places.split(",");
  324. info.setPlacesList(Arrays.asList(split));
  325. }
  326. String levels = info.getLevels();
  327. if (levels != null && !"".equals(levels.toString())) {
  328. String[] split = levels.split(",");
  329. info.setLevelsList(Arrays.asList(split));
  330. }
  331. String isOften = info.getIsOften();
  332. if (isOften != null && !"".equals(isOften.toString())) {
  333. String[] split = isOften.split(",");
  334. info.setIsOftenList(Arrays.asList(split));
  335. }
  336. // String disposeProgress = info.getDisposeProgress();
  337. // if (disposeProgress != null && !"".equals(disposeProgress.toString())) {
  338. // String[] split = disposeProgress.split(",");
  339. // info.setDisposeProgressList(Arrays.asList(split));
  340. // }
  341. String types = info.getTypes();
  342. if (types != null && !"".equals(types.toString())) {
  343. String[] split = types.split(",");
  344. info.setTypesList(Arrays.asList(split));
  345. }
  346. PageInfo<Map<String, Object>> page = securitySupervisService.findShiJianFenXi(tablepar, info);
  347. TableSplitResult<Map<String, Object>> result = new TableSplitResult<>(page.getPageNum(), page.getTotal(), page.getList());
  348. return result;
  349. }
  350. /**
  351. * 综合监管 事件分析 中间页面:突发事件等级统计 事件(待处理,已处理都要)分析统计++
  352. *
  353. * @param
  354. * @return
  355. */
  356. @PostMapping(value = "findShiJianFenXiTongJi", produces = {"application/json;charset=UTF-8"})
  357. @ResponseBody
  358. public Object findShiJianFenXiTongJi(Integer year, String scene) {
  359. Calendar calendar = Calendar.getInstance();
  360. int year2 = calendar.get(Calendar.YEAR);
  361. Date start_time = null;
  362. Date end_time = null;
  363. if (year == year2) {
  364. end_time = calendar.getTime();
  365. calendar.add(Calendar.MONTH, -11);
  366. calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), 1, 0, 0, 0);
  367. calendar.set(Calendar.MILLISECOND, 0);
  368. start_time = calendar.getTime();
  369. } else {
  370. calendar.set(year, 1, 1, 0, 0, 0);
  371. calendar.set(Calendar.MILLISECOND, 0);
  372. start_time = calendar.getTime();
  373. calendar.set(year + 1, 1, 1, 0, 0, 0);
  374. end_time = calendar.getTime();
  375. }
  376. return securitySupervisService.findShiJianFenXiTongJi(start_time, end_time, scene);
  377. }
  378. /**
  379. * 综合监管 事件分析 中间页面:突发事件等级统计 事件(待处理,已处理都要)分析统计++
  380. *
  381. * @param
  382. * @return
  383. */
  384. @PostMapping(value = "findShiJianFenXiTongJiOfYear", produces = {"application/json;charset=UTF-8"})
  385. @ResponseBody
  386. public Object findShiJianFenXiTongJiOfYear(Integer year) {
  387. Calendar calendar = Calendar.getInstance();
  388. int year2 = calendar.get(Calendar.YEAR);
  389. Date start_time = null;
  390. Date end_time = null;
  391. if (year == year2) {
  392. end_time = calendar.getTime();
  393. calendar.add(Calendar.MONTH, -11);
  394. calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), 1, 0, 0, 0);
  395. calendar.set(Calendar.MILLISECOND, 0);
  396. start_time = calendar.getTime();
  397. } else {
  398. calendar.set(year, 1, 1, 0, 0, 0);
  399. calendar.set(Calendar.MILLISECOND, 0);
  400. start_time = calendar.getTime();
  401. calendar.set(year + 1, 1, 1, 0, 0, 0);
  402. end_time = calendar.getTime();
  403. }
  404. return securitySupervisService.findShiJianFenXiTongJiOfYear(start_time, end_time);
  405. }
  406. /**
  407. * 综合监管 事件分析 右边页面:突发事件等级统计 事件(待处理,已处理都要)分析统计2 ,分区县统计++
  408. *
  409. * @param
  410. * @return
  411. */
  412. @PostMapping(value = "findShiJianFenXiTongJi2", produces = {"application/json;charset=UTF-8"})
  413. @ResponseBody
  414. public Object findShiJianFenXiTongJi2(Integer year, String scene) {
  415. return securitySupervisService.findShiJianFenXiTongJi2(year, scene);
  416. }
  417. /**
  418. * 综合监管 事件分析 右边页面:突发事件等级统计 事件(待处理,已处理都要)分析统计3 ,分月份获取各个等级的数量++
  419. *
  420. * @param place 区县的选择
  421. * @return
  422. */
  423. @PostMapping(value = "findShiJianFenXiTongJi3", produces = {"application/json;charset=UTF-8"})
  424. @ResponseBody
  425. public Object findShiJianFenXiTongJi3(Integer year, String place, String scene) {
  426. return securitySupervisService.findShiJianFenXiTongJi3(year, place, scene);
  427. }
  428. /**
  429. * 综合监管 事件分析 右边页面:突发事件等级统计 事件(待处理,已处理都要)分析统计4 ,分月份获取各个已处置的事件数量++
  430. *
  431. * @param place 区县的选择
  432. * @return
  433. */
  434. @PostMapping(value = "findShiJianFenXiTongJi4", produces = {"application/json;charset=UTF-8"})
  435. @ResponseBody
  436. public Object findShiJianFenXiTongJi4(Integer year, String place, String scene) {
  437. return securitySupervisService.findShiJianFenXiTongJi4(year, place, scene);
  438. }
  439. /**
  440. * 综合监管 隐患分析 隐患档案列表_隐患分析_第三方++ 同findYinHuanFenXiOther
  441. *
  442. * @param
  443. * @return
  444. */
  445. // @PostMapping(value = "findYinHuanFenXi", produces = {"application/json;charset=UTF-8"})
  446. // @ResponseBody
  447. // public Object findYinHuanFenXi(Tablepar tablepar, SelectFenXi info) {
  448. // PageInfo<Map<String, Object>> page = securitySupervisService.findYinHuanFenXi(tablepar, info);
  449. // TableSplitResult<Map<String, Object>> result = new TableSplitResult<>(page.getPageNum(), page.getTotal(), page.getList());
  450. // return result;
  451. // }
  452. /**
  453. * 综合监管 隐患分析 隐患档案列表_隐患分析_燃气_供水_排水++
  454. *
  455. * @param
  456. * @return
  457. */
  458. @PostMapping(value = "findYinHuanFenXiOther", produces = {"application/json;charset=UTF-8"})
  459. @ResponseBody
  460. public TableSplitResult<Map<String, Object>> findYinHuanFenXiOther(Tablepar tablepar, SelectFenXi info) {
  461. String places = info.getPlaces();
  462. if (places != null && !"".equals(places.toString())) {
  463. String[] split = places.split(",");
  464. info.setPlacesList(Arrays.asList(split));
  465. }
  466. String levels = info.getLevels();
  467. if (levels != null && !"".equals(levels.toString())) {
  468. String[] split = levels.split(",");
  469. info.setLevelsList(Arrays.asList(split));
  470. }
  471. String isOften = info.getIsOften();
  472. if (isOften != null && !"".equals(isOften.toString())) {
  473. String[] split = isOften.split(",");
  474. info.setIsOftenList(Arrays.asList(split));
  475. }
  476. // String disposeProgress = info.getDisposeProgress();
  477. // if (disposeProgress != null && !"".equals(disposeProgress.toString())) {
  478. // String[] split = disposeProgress.split(",");
  479. // info.setDisposeProgressList(Arrays.asList(split));
  480. // }
  481. String types = info.getTypes();
  482. if (types != null && !"".equals(types.toString())) {
  483. String[] split = types.split(",");
  484. info.setTypesList(Arrays.asList(split));
  485. }
  486. PageInfo<Map<String, Object>> page = securitySupervisService.findYinHuanFenXiOther(tablepar, info);
  487. TableSplitResult<Map<String, Object>> result = new TableSplitResult<>(page.getPageNum(), page.getTotal(), page.getList());
  488. return result;
  489. }
  490. /**
  491. * 综合监管 隐患分析 中间页面:隐患等级统计 隐患(待处理,已处理都要)分析统计_第三方++
  492. *
  493. * @param
  494. * @return
  495. */
  496. @PostMapping(value = "findYinHuanFenXiTongJi", produces = {"application/json;charset=UTF-8"})
  497. @ResponseBody
  498. public Object findYinHuanFenXiTongJi(Integer year, String scene) {
  499. return securitySupervisService.findYinHuanFenXiTongJi(year, scene);
  500. }
  501. /**
  502. * 综合监管 隐患分析 中间页面:隐患等级统计 隐患(待处理,已处理都要)分析统计_燃气_供水_排水++
  503. *
  504. * @param
  505. * @return
  506. */
  507. @PostMapping(value = "findYinHuanFenXiOtherTongJi", produces = {"application/json;charset=UTF-8"})
  508. @ResponseBody
  509. public Object findYinHuanFenXiOtherTongJi(Integer year, String scene) {
  510. Calendar calendar = Calendar.getInstance();
  511. int year2 = calendar.get(Calendar.YEAR);
  512. Date start_time = null;
  513. Date end_time = null;
  514. if (year == year2) {
  515. end_time = calendar.getTime();
  516. calendar.add(Calendar.MONTH, -11);
  517. calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), 1, 0, 0, 0);
  518. calendar.set(Calendar.MILLISECOND, 0);
  519. start_time = calendar.getTime();
  520. } else {
  521. calendar.set(year, 1, 1, 0, 0, 0);
  522. calendar.set(Calendar.MILLISECOND, 0);
  523. start_time = calendar.getTime();
  524. calendar.set(year + 1, 1, 1, 0, 0, 0);
  525. end_time = calendar.getTime();
  526. }
  527. return securitySupervisService.findYinHuanFenXiOtherTongJi(start_time, end_time, scene);
  528. }
  529. @PostMapping(value = "findYinHuanFenXiOtherTongJiOfYear", produces = {"application/json;charset=UTF-8"})
  530. @ResponseBody
  531. public Object findYinHuanFenXiOtherTongJiOfYear(Integer year) {
  532. Calendar calendar = Calendar.getInstance();
  533. int year2 = calendar.get(Calendar.YEAR);
  534. Date start_time = null;
  535. Date end_time = null;
  536. if (year == year2) {
  537. end_time = calendar.getTime();
  538. calendar.add(Calendar.MONTH, -11);
  539. calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), 1, 0, 0, 0);
  540. calendar.set(Calendar.MILLISECOND, 0);
  541. start_time = calendar.getTime();
  542. } else {
  543. calendar.set(year, 1, 1, 0, 0, 0);
  544. calendar.set(Calendar.MILLISECOND, 0);
  545. start_time = calendar.getTime();
  546. calendar.set(year + 1, 1, 1, 0, 0, 0);
  547. end_time = calendar.getTime();
  548. }
  549. return securitySupervisService.findYinHuanFenXiOtherTongJiOfYear(start_time, end_time);
  550. }
  551. /**
  552. * 综合监管 隐患分析 右边页面:隐患等级统计 隐患(待处理,已处理都要)分析统计2,分区县统计_第三方++
  553. *
  554. * @param
  555. * @return
  556. */
  557. @PostMapping(value = "findYinHuanFenXiTongJi2", produces = {"application/json;charset=UTF-8"})
  558. @ResponseBody
  559. public Object findYinHuanFenXiTongJi2(Integer year, String scene) {
  560. return securitySupervisService.findYinHuanFenXiTongJi2(year, scene);
  561. }
  562. /**
  563. * 综合监管 隐患分析 右边页面:隐患等级统计 隐患(待处理,已处理都要)分析统计2,分区县统计_燃气_供水_排水++
  564. *
  565. * @param
  566. * @return
  567. */
  568. @PostMapping(value = "findYinHuanFenXiOtherTongJi2", produces = {"application/json;charset=UTF-8"})
  569. @ResponseBody
  570. public Object findYinHuanFenXiOtherTongJi2(Integer year, String scene) {
  571. return securitySupervisService.findYinHuanFenXiOtherTongJi2(year, scene);
  572. }
  573. /**
  574. * 综合监管 隐患分析 右边页面:隐患等级统计 事件(待处理,已处理都要)分析统计3 ,分月份获取各个等级的数量_第三方++
  575. *
  576. * @param place 区县的选择
  577. * @return
  578. */
  579. @PostMapping(value = "findYinHuanFenXiTongJi3", produces = {"application/json;charset=UTF-8"})
  580. @ResponseBody
  581. public Object findYinHuanFenXiTongJi3(Integer year, String place, String scene) {
  582. return securitySupervisService.findYinHuanFenXiTongJi3(year, place, scene);
  583. }
  584. /**
  585. * 综合监管 隐患分析 右边页面:隐患等级统计 事件(待处理,已处理都要)分析统计3 ,分月份获取各个等级的数量_燃气_供水_排水++
  586. *
  587. * @param place 区县的选择
  588. * @return
  589. */
  590. @PostMapping(value = "findYinHuanFenXiOtherTongJi3", produces = {"application/json;charset=UTF-8"})
  591. @ResponseBody
  592. public Object findYinHuanFenXiOtherTongJi3(Integer year, String place, String scene, String grade) {
  593. return securitySupervisService.findYinHuanFenXiOtherTongJi3(year, place, scene, grade);
  594. }
  595. /**
  596. * 综合监管 隐患分析 右边页面:隐患等级统计 事件(待处理,已处理都要)分析统计4 ,分月份获取各个已处置的事件数量_第三方++
  597. * <p>
  598. * 没有完成的数据
  599. *
  600. * @param place 区县的选择
  601. * @return
  602. */
  603. @PostMapping(value = "findYinHuanFenXiTongJi4", produces = {"application/json;charset=UTF-8"})
  604. @ResponseBody
  605. public Object findYinHuanFenXiTongJi4(Integer year, String place, String scene) {
  606. return securitySupervisService.findYinHuanFenXiTongJi4(year, place, scene);
  607. }
  608. /**
  609. * 综合监管 隐患分析 右边页面:隐患等级统计 事件(待处理,已处理都要)分析统计4 ,分月份获取各个已处置的事件数量_燃气,供水,排水++
  610. *
  611. * @param place 区县的选择
  612. * @return
  613. */
  614. @PostMapping(value = "findYinHuanFenXiOtherTongJi4", produces = {"application/json;charset=UTF-8"})
  615. @ResponseBody
  616. public Object findYinHuanFenXiOtherTongJi4(Integer year, String place, String scene) {
  617. return securitySupervisService.findYinHuanFenXiOtherTongJi4(year, place, scene);
  618. }
  619. /**
  620. * 综合监管 事件分析 -第三方 ,左边屏幕第三方施工破坏事件类别分析++
  621. *
  622. * @param year 选择年份
  623. */
  624. @PostMapping(value = "findShiJIanFenXiDi3Fang", produces = {"application/json;charset=UTF-8"})
  625. @ResponseBody
  626. public Object findShiJIanFenXiDi3Fang(int year, String scene) {
  627. String sql = "SELECT COUNT\n" +
  628. "\t( 1 ) all_count,\n" +
  629. "\tCOUNT ( * ) FILTER ( WHERE EXTRACT ( MONTH FROM find_time ) = 1 ) AS month1,\n" +
  630. "\tCOUNT ( * ) FILTER ( WHERE EXTRACT ( MONTH FROM find_time ) = 2 ) AS month2,\n" +
  631. "\tCOUNT ( * ) FILTER ( WHERE EXTRACT ( MONTH FROM find_time ) = 3 ) AS month3,\n" +
  632. "\tCOUNT ( * ) FILTER ( WHERE EXTRACT ( MONTH FROM find_time ) = 4 ) AS month4,\n" +
  633. "\tCOUNT ( * ) FILTER ( WHERE EXTRACT ( MONTH FROM find_time ) = 5 ) AS month5,\n" +
  634. "\tCOUNT ( * ) FILTER ( WHERE EXTRACT ( MONTH FROM find_time ) = 6 ) AS month6,\n" +
  635. "\tCOUNT ( * ) FILTER ( WHERE EXTRACT ( MONTH FROM find_time ) = 7 ) AS month7,\n" +
  636. "\tCOUNT ( * ) FILTER ( WHERE EXTRACT ( MONTH FROM find_time ) = 8 ) AS month8,\n" +
  637. "\tCOUNT ( * ) FILTER ( WHERE EXTRACT ( MONTH FROM find_time ) = 9 ) AS month9,\n" +
  638. "\tCOUNT ( * ) FILTER ( WHERE EXTRACT ( MONTH FROM find_time ) = 10 ) AS month10,\n" +
  639. "\tCOUNT ( * ) FILTER ( WHERE EXTRACT ( MONTH FROM find_time ) = 11 ) AS month11,\n" +
  640. "\tCOUNT ( * ) FILTER ( WHERE EXTRACT ( MONTH FROM find_time ) = 12 ) AS month12,\n" +
  641. "\tT.relevance_facility_one \n" +
  642. "FROM\n" +
  643. "\t( SELECT regexp_split_to_table( zhjg_analysis_emergency.relevance_facility, ',' ) AS relevance_facility_one, zhjg_analysis_emergency.* FROM zhjg_analysis_emergency WHERE scene IN ( '" + scene + "' ) ) AS T \n" +
  644. "WHERE\n" +
  645. "\tEXTRACT ( YEAR FROM T.find_time ) = " + year + " \n" +
  646. "GROUP BY\n" +
  647. "\tT.relevance_facility_one";
  648. return securitySupervisService.select1(sql);
  649. // Calendar calendar = Calendar.getInstance();
  650. // int year2 = calendar.get(Calendar.YEAR);
  651. // Date start_time = null;
  652. // Date end_time = null;
  653. // if (year == year2) {
  654. // end_time = calendar.getTime();
  655. // calendar.add(Calendar.MONTH, -11);
  656. // calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), 1, 0, 0, 0);
  657. // calendar.set(Calendar.MILLISECOND, 0);
  658. // start_time = calendar.getTime();
  659. // } else {
  660. // calendar.set(year, 1, 1, 0, 0, 0);
  661. // calendar.set(Calendar.MILLISECOND, 0);
  662. // start_time = calendar.getTime();
  663. // calendar.set(year + 1, 1, 1, 0, 0, 0);
  664. // end_time = calendar.getTime();
  665. // }
  666. //
  667. // return securitySupervisService.findShiJIanFenXiDi3Fang(start_time, end_time, scene);
  668. }
  669. /**
  670. * 综合监管 事件分析 -第三方 ,左边屏幕第三方施工破坏事件类别分析++ 类别统计
  671. *
  672. * @param year 选择年份
  673. */
  674. @PostMapping(value = "findShiJIanFenXiDi3FangOfType", produces = {"application/json;charset=UTF-8"})
  675. @ResponseBody
  676. public Object findShiJIanFenXiDi3FangOfType(int year, String scene) {
  677. String sql = "SELECT COUNT\n" +
  678. "\t( 1 ) all_count,\n" +
  679. "\tT.relevance_facility_one \n" +
  680. "FROM\n" +
  681. "\t( SELECT regexp_split_to_table( zhjg_analysis_emergency.relevance_facility, ',' ) AS relevance_facility_one, zhjg_analysis_emergency.* FROM zhjg_analysis_emergency WHERE scene IN ( '" + scene + "' ) ) AS T \n" +
  682. "WHERE\n" +
  683. "\tEXTRACT ( YEAR FROM T.find_time ) = " + year + " \n" +
  684. "GROUP BY\n" +
  685. "\tT.relevance_facility_one";
  686. return securitySupervisService.select1(sql);
  687. }
  688. /**
  689. * 综合监管 事件分析 中间页面:事件等级统计 事件(待处理,已处理都要)分析统计
  690. *
  691. * @param
  692. * @return
  693. */
  694. @PostMapping(value = "findShiJIanFenXiDi3FangTongJiLeft", produces = {"application/json;charset=UTF-8"})
  695. @ResponseBody
  696. public Object findShiJIanFenXiDi3FangTongJiLeft(Integer year, String scene) {
  697. return securitySupervisService.findShiJIanFenXiDi3FangTongJiLeft(year, scene);
  698. }
  699. @PostMapping(value = "findShiJIanFenXiDi3FangTongJiRight", produces = {"application/json;charset=UTF-8"})
  700. @ResponseBody
  701. public Object findShiJIanFenXiDi3FangTongJiRight(Integer year, String scene) {
  702. return securitySupervisService.findShiJIanFenXiDi3FangTongJiRight(year, scene);
  703. }
  704. /**
  705. * 综合监管 事件分析 右边页面:事件等级统计 事件(待处理,已处理都要)分析统计2,分区县统计
  706. *
  707. * @param
  708. * @return
  709. */
  710. @PostMapping(value = "findShiJIanFenXiDi3FangTongJi2", produces = {"application/json;charset=UTF-8"})
  711. @ResponseBody
  712. public Object findShiJIanFenXiDi3FangTongJi2(Integer year, String scene) {
  713. return securitySupervisService.findShiJIanFenXiDi3FangTongJi2(year, scene);
  714. }
  715. /**
  716. * 综合监管 事件分析 右边页面:事件等级统计 事件(待处理,已处理都要)分析统计3 ,分月份获取各个等级的数量
  717. *
  718. * @param place 区县的选择
  719. * @return
  720. */
  721. @PostMapping(value = "findShiJIanFenXiDi3FangTongJi3", produces = {"application/json;charset=UTF-8"})
  722. @ResponseBody
  723. public Object findShiJIanFenXiDi3FangTongJi3(Integer year, String place, String scene) {
  724. return securitySupervisService.findShiJIanFenXiDi3FangTongJi3(year, place, scene);
  725. }
  726. /**
  727. * 综合监管 事件分析 右边页面:事件等级统计 事件(待处理,已处理都要)分析统计4 ,分月份获取各个已处置的事件数量
  728. *
  729. * @param place 区县的选择
  730. * @return
  731. */
  732. @PostMapping(value = "findShiJIanFenXiDi3FangTongJi4", produces = {"application/json;charset=UTF-8"})
  733. @ResponseBody
  734. public Object findShiJIanFenXiDi3FangTongJi4(Integer year, String place, String scene) {
  735. return securitySupervisService.findShiJIanFenXiDi3FangTongJi4(year, place, scene);
  736. }
  737. /**
  738. *综合监管 风险分析 _ 道路选项的左边档案数据界面接口
  739. * @param info
  740. * @return
  741. */
  742. @PostMapping(value = "findFengXianHistoryList", produces = {"application/json;charset=UTF-8"})
  743. @ResponseBody
  744. public Object findFengXianHistoryList(Tablepar tablepar, SelectFenXi info) {
  745. String places = info.getPlaces();
  746. if (places != null && !"".equals(places.toString())) {
  747. String[] split = places.split(",");
  748. info.setPlacesList(Arrays.asList(split));
  749. }
  750. String levels = info.getLevels();
  751. if (levels != null && !"".equals(levels.toString())) {
  752. String[] split = levels.split(",");
  753. info.setLevelsList(Arrays.asList(split));
  754. }
  755. String isOften = info.getIsOften();
  756. if (isOften != null && !"".equals(isOften.toString())) {
  757. String[] split = isOften.split(",");
  758. info.setIsOftenList(Arrays.asList(split));
  759. }
  760. String types = info.getTypes();
  761. if (types != null && !"".equals(types.toString())) {
  762. String[] split = types.split(",");
  763. info.setTypesList(Arrays.asList(split));
  764. }
  765. // String sql ="SELECT * FROM archives_risk where del_flag=1";
  766. PageInfo<Map<String, Object>> page = securitySupervisService.findFengXianHistoryList(tablepar, info);
  767. TableSplitResult<Map<String, Object>> result = new TableSplitResult<>(page.getPageNum(), page.getTotal(), page.getList());
  768. return result;
  769. }
  770. /**
  771. * 综合监管 风险分析++
  772. *
  773. * @param year 选择年份
  774. */
  775. @PostMapping(value = "findFengXianFenXi", produces = {"application/json;charset=UTF-8"})
  776. @ResponseBody
  777. public Object findFengXianFenXi(int year, String scene) {
  778. String sql = "SELECT COUNT\n" +
  779. "\t( 1 ) all_count,\n" +
  780. "\tCOUNT ( * ) FILTER ( WHERE EXTRACT ( MONTH FROM pgsj ) = 1 ) AS month1,\n" +
  781. "\tCOUNT ( * ) FILTER ( WHERE EXTRACT ( MONTH FROM pgsj ) = 2 ) AS month2,\n" +
  782. "\tCOUNT ( * ) FILTER ( WHERE EXTRACT ( MONTH FROM pgsj ) = 3 ) AS month3,\n" +
  783. "\tCOUNT ( * ) FILTER ( WHERE EXTRACT ( MONTH FROM pgsj ) = 4 ) AS month4,\n" +
  784. "\tCOUNT ( * ) FILTER ( WHERE EXTRACT ( MONTH FROM pgsj ) = 5 ) AS month5,\n" +
  785. "\tCOUNT ( * ) FILTER ( WHERE EXTRACT ( MONTH FROM pgsj ) = 6 ) AS month6,\n" +
  786. "\tCOUNT ( * ) FILTER ( WHERE EXTRACT ( MONTH FROM pgsj ) = 7 ) AS month7,\n" +
  787. "\tCOUNT ( * ) FILTER ( WHERE EXTRACT ( MONTH FROM pgsj ) = 8 ) AS month8,\n" +
  788. "\tCOUNT ( * ) FILTER ( WHERE EXTRACT ( MONTH FROM pgsj ) = 9 ) AS month9,\n" +
  789. "\tCOUNT ( * ) FILTER ( WHERE EXTRACT ( MONTH FROM pgsj ) = 10 ) AS month10,\n" +
  790. "\tCOUNT ( * ) FILTER ( WHERE EXTRACT ( MONTH FROM pgsj ) = 11 ) AS month11,\n" +
  791. "\tCOUNT ( * ) FILTER ( WHERE EXTRACT ( MONTH FROM pgsj ) = 12 ) AS month12,\n" +
  792. "\tT.fxlx \n" +
  793. "FROM\n" +
  794. "\tcitylifeline.view_risk_collect T \n" +
  795. "WHERE\n" +
  796. "\tEXTRACT ( YEAR FROM T.pgsj ) = " + year + " \n" +
  797. "\tAND T.TYPE IN ( '" + scene + "' ) \n" +
  798. "GROUP BY\n" +
  799. "\tT.fxlx \n" +
  800. "ORDER BY\n" +
  801. "\tT.fxlx";
  802. return securitySupervis2Service.select2(sql);
  803. // Calendar calendar = Calendar.getInstance();
  804. // int year2 = calendar.get(Calendar.YEAR);
  805. // Date start_time = null;
  806. // Date end_time = null;
  807. // if (year == year2) {
  808. // end_time = calendar.getTime();
  809. // calendar.add(Calendar.MONTH, -11);
  810. // calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), 1, 0, 0, 0);
  811. // calendar.set(Calendar.MILLISECOND, 0);
  812. // start_time = calendar.getTime();
  813. // } else {
  814. // calendar.set(year, 1, 1, 0, 0, 0);
  815. // calendar.set(Calendar.MILLISECOND, 0);
  816. // start_time = calendar.getTime();
  817. // calendar.set(year + 1, 1, 1, 0, 0, 0);
  818. // end_time = calendar.getTime();
  819. // }
  820. //
  821. // return securitySupervis2Service.findFengXianFenXi(start_time, end_time, scene);
  822. }
  823. /**
  824. * 综合监管 风险分析 中间页面
  825. *
  826. * @param
  827. * @return
  828. */
  829. @PostMapping(value = "findFengXianFenXiTongJi", produces = {"application/json;charset=UTF-8"})
  830. @ResponseBody
  831. public Object findFengXianFenXiTongJi(Integer year, String scene) {
  832. Calendar calendar = Calendar.getInstance();
  833. int year2 = calendar.get(Calendar.YEAR);
  834. Date start_time = null;
  835. Date end_time = null;
  836. if (year == year2) {
  837. end_time = calendar.getTime();
  838. calendar.add(Calendar.MONTH, -11);
  839. calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), 1, 0, 0, 0);
  840. calendar.set(Calendar.MILLISECOND, 0);
  841. start_time = calendar.getTime();
  842. } else {
  843. calendar.set(year, 1, 1, 0, 0, 0);
  844. calendar.set(Calendar.MILLISECOND, 0);
  845. start_time = calendar.getTime();
  846. calendar.set(year + 1, 1, 1, 0, 0, 0);
  847. end_time = calendar.getTime();
  848. }
  849. return securitySupervis2Service.findFengXianFenXiTongJi(start_time, end_time, scene);
  850. }
  851. /**
  852. * 综合监管 风险分析 右边页面:风险等级统计 ,分区县统计++
  853. *
  854. * @param
  855. * @return
  856. */
  857. @PostMapping(value = "findFengXianFenXiTongJi2", produces = {"application/json;charset=UTF-8"})
  858. @ResponseBody
  859. public Object findFengXianFenXiTongJi2(Integer year, String scene) {
  860. return securitySupervis2Service.findFengXianFenXiTongJi2(year, scene);
  861. }
  862. /**
  863. * 综合监管 风险分析 右边页面:分析统计3 ,分月份获取各个等级的数量++
  864. *
  865. * @param place 区县的选择
  866. * @return
  867. */
  868. @PostMapping(value = "findFengXianFenXiTongJi3", produces = {"application/json;charset=UTF-8"})
  869. @ResponseBody
  870. public Object findFengXianFenXiTongJi3(Integer year, String place, String scene) {
  871. return securitySupervis2Service.findFengXianFenXiTongJi3(year, place, scene);
  872. }
  873. //风险类别统计
  874. @PostMapping(value = "findFengXianFenXiTongJiOfType", produces = {"application/json;charset=UTF-8"})
  875. @ResponseBody
  876. public Object findFengXianFenXiTongJiOfType(Integer year, String scene) {
  877. String sql = "SELECT COUNT\n" +
  878. "\t( 1 ) all_count,\n" +
  879. "\tT.fxlx \n" +
  880. "FROM\n" +
  881. "\tcitylifeline.view_risk_collect T \n" +
  882. "WHERE\n" +
  883. "\tEXTRACT ( YEAR FROM T.pgsj ) = " + year + " \n" +
  884. "\tAND T.TYPE IN ( '" + scene + "' ) \n" +
  885. "GROUP BY\n" +
  886. "\tT.fxlx \n" +
  887. "ORDER BY\n" +
  888. "\tT.fxlx";
  889. return securitySupervis2Service.select2(sql);
  890. }
  891. /**
  892. * 综合监管 风险分析 右边页面:突分析统计4 ,分月份获取各个已处置的风险数量++
  893. *
  894. * @param place 区县的选择
  895. * @return
  896. */
  897. @PostMapping(value = "findFengXianFenXiTongJi4", produces = {"application/json;charset=UTF-8"})
  898. @ResponseBody
  899. public Object findFengXianFenXiTongJi4(Integer year, String place, String scene) {
  900. return securitySupervis2Service.findFengXianFenXiTongJi4(year, place, scene);
  901. }
  902. /**
  903. * test
  904. *
  905. * @param
  906. * @return
  907. */
  908. @PostMapping(value = "test", produces = {"application/json;charset=UTF-8"})
  909. @ResponseBody
  910. public Object test() {
  911. String sql = "select * from local_dict limit 6";
  912. return securitySupervisService.select1(sql);
  913. }
  914. }