FireControlBigDataController.java 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. package com.sooka.sponest.data.digitalfirecontrol.controller;
  2. import com.ruoyi.common.core.domain.R;
  3. import com.ruoyi.common.core.utils.StringUtils;
  4. import com.ruoyi.common.core.web.controller.BaseController;
  5. import com.ruoyi.common.core.web.domain.AjaxResult;
  6. import com.ruoyi.common.security.utils.SecurityUtils;
  7. import com.ruoyi.system.api.utils.DeptLevelUtil;
  8. import com.sooka.sponest.data.app.domain.VisuForestCloudMapVO;
  9. import com.sooka.sponest.data.basicdata.domain.CenterdataTForestFirehydrant;
  10. import com.sooka.sponest.data.basicdata.domain.CenterdataTForestWatercrane;
  11. import com.sooka.sponest.data.basicdata.domain.CenterdataTForestWaterintake;
  12. import com.sooka.sponest.data.digitalfirecontrol.domain.*;
  13. import com.sooka.sponest.data.digitalfirecontrol.domain.vo.DataVisuFireCloudMapVO;
  14. import com.sooka.sponest.data.digitalfirecontrol.service.IFireControlBigDataService;
  15. import com.sooka.sponest.data.generalbusiness.domain.CenterdataTForestImportarea;
  16. import com.sooka.sponest.data.generalbusiness.domain.vo.CenterdataTForestWeatherinformationBigDataVO;
  17. import io.swagger.annotations.Api;
  18. import io.swagger.annotations.ApiImplicitParam;
  19. import io.swagger.annotations.ApiImplicitParams;
  20. import io.swagger.annotations.ApiOperation;
  21. import org.springframework.beans.factory.annotation.Autowired;
  22. import org.springframework.web.bind.annotation.PostMapping;
  23. import org.springframework.web.bind.annotation.RequestBody;
  24. import org.springframework.web.bind.annotation.RequestMapping;
  25. import org.springframework.web.bind.annotation.RestController;
  26. import springfox.documentation.annotations.ApiIgnore;
  27. import javax.annotation.Resource;
  28. import java.util.ArrayList;
  29. import java.util.List;
  30. import java.util.Map;
  31. /**
  32. * @Auther: mjq
  33. * @Date: 2023/5/12 - 05 - 12 - 9:25
  34. * @Description: com.sooka.sponest.data.digitalfirecontrol.controller
  35. * @version: 1.0
  36. */
  37. @RestController
  38. @RequestMapping("/fireControlBigData")
  39. @Api(tags = "消防数据中台控制器")
  40. public class FireControlBigDataController extends BaseController {
  41. @Autowired
  42. private IFireControlBigDataService iFireControlBigDataService;
  43. @Resource
  44. private DeptLevelUtil deptLevelUtil;
  45. /**
  46. * 水鹤数量按部门分组
  47. */
  48. @ApiOperation(value = "查询水鹤数量按部门分组", notes = "查询水鹤数量按部门分组")
  49. @PostMapping("/selectBigDataWatercraneDeptCount")
  50. public R selectBigDataWatercraneDeptCount() {
  51. CenterdataTForestWatercrane centerdataTForestWatercrane = new CenterdataTForestWatercrane();
  52. return R.ok(iFireControlBigDataService.selectBigDataWatercraneDeptCount(centerdataTForestWatercrane));
  53. }
  54. /**
  55. * 查询消防各资源数量
  56. */
  57. @ApiOperation(value = "远程调用查询消防各资源数量", notes = "远程调用查询消防各资源数量")
  58. @PostMapping("/selectAllResource")
  59. public R geFireControltTotal(@RequestBody VisuForestCloudMapVO visuForestCloudMapVO) {
  60. return R.ok(iFireControlBigDataService.geFireControltTotal(visuForestCloudMapVO));
  61. }
  62. /**
  63. * 取水口数量按部门分组
  64. */
  65. @ApiOperation(value = "查询取水口数量按部门分组远端调用", notes = "查询取水口数量按部门分组远端调用")
  66. @PostMapping("/selectBigDataWaterintakeDeptCount")
  67. public R selectBigDataWaterintakeDeptCount(CenterdataTForestWaterintake centerdataTForestWaterintake) {
  68. return R.ok(iFireControlBigDataService.selectBigDataWaterintakeDeptCount(centerdataTForestWaterintake));
  69. }
  70. /**
  71. * 按年月日模糊查询天气综合信息
  72. */
  73. @ApiImplicitParams(value = {
  74. @ApiImplicitParam(name = "day", value = "日期", dataType = "String", required = true, paramType = "body")
  75. })
  76. @ApiOperation(value = "按年月日模糊查询天气综合信息远端调用", notes = "按年月日模糊查询天气综合信息远端调用")
  77. @PostMapping("/selectBigDataByYearMonthFegin")
  78. public R selectBigDataByYearMonthFegin(@ApiIgnore @RequestBody CenterdataTForestWeatherinformationBigDataVO centerdataTForestWeatherinformationBigDataVO) {
  79. return R.ok(iFireControlBigDataService.selectBigDataByYearMonth(centerdataTForestWeatherinformationBigDataVO));
  80. }
  81. /**
  82. * 专职站
  83. */
  84. @PostMapping("/selectBigDataFirecontrolFulltimeStationDeptCount")
  85. public R selectBigDataFirecontrolFulltimeStationDeptCount() {
  86. CenterdataTFirecontrolFulltimeStation centerdataTFirecontrolFulltimeStation = new CenterdataTFirecontrolFulltimeStation();
  87. return R.ok(iFireControlBigDataService.selectBigDataFirecontrolFulltimeStationDeptCount(centerdataTFirecontrolFulltimeStation));
  88. }
  89. /**
  90. * 消火栓
  91. */
  92. @ApiOperation(value = "远端调用查询消火栓数量按部门分组", notes = "远端调用查询消火栓数量按部门分组")
  93. @PostMapping("/selectBigDataFirehydrantDeptCount")
  94. public R selectBigDataFirehydrantDeptCount(CenterdataTForestFirehydrant centerdataTForestFirehydrant) {
  95. return R.ok(iFireControlBigDataService.selectBigDataFirehydrantDeptCount(centerdataTForestFirehydrant));
  96. }
  97. /**
  98. * 泡沫液
  99. */
  100. @ApiOperation(value = "远端调用查询泡沫液数量按部门分组", notes = "远端调用查询泡沫液数量按部门分组")
  101. @PostMapping("/selectBigDataFirecontrolFoamLiquidDeptCount")
  102. public R selectBigDataFirecontrolFoamLiquidDeptCount(@RequestBody CenterdataTFirecontrolFoamLiquid centerdataTFirecontrolFoamLiquid) {
  103. List<Map<String,Object>> mapList = iFireControlBigDataService.selectBigDataFirecontrolFoamLiquidDeptCount(centerdataTFirecontrolFoamLiquid);
  104. if (StringUtils.isNull(centerdataTFirecontrolFoamLiquid.getDeptId())){
  105. centerdataTFirecontrolFoamLiquid.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId());
  106. }
  107. return R.ok(deptLevelUtil.getDeptLevel(String.valueOf(centerdataTFirecontrolFoamLiquid.getDeptId()),mapList,"reserves"));
  108. }
  109. /**
  110. * 基本联动力量
  111. */
  112. @ApiOperation(value = "可视化获取基本联动力量列表", notes = "可视化获取基本联动力量列表")
  113. @PostMapping("/getbasiclinkageforeList")
  114. public AjaxResult getbasiclinkageforeList(@RequestBody CenterdataTFirecontrolBasicLinkageForce centerdataTFirecontrolOtherLinkageForce) {
  115. List<Map<String,Object>> mapList = iFireControlBigDataService.getbasiclinkageforeList(centerdataTFirecontrolOtherLinkageForce);
  116. if (StringUtils.isNull(centerdataTFirecontrolOtherLinkageForce.getDeptId())){
  117. centerdataTFirecontrolOtherLinkageForce.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId());
  118. }
  119. List<String> addKeys = new ArrayList<>();
  120. addKeys.add("forkliftNum");
  121. addKeys.add("fightingNum");
  122. addKeys.add("ton");
  123. return AjaxResult.success(deptLevelUtil.getDeptLevel(String.valueOf(centerdataTFirecontrolOtherLinkageForce.getDeptId()),mapList,addKeys));
  124. }
  125. /**
  126. * 其他力量统计
  127. */
  128. @ApiOperation(value = "其他联动力量统计饼图", notes = "其他联动力量统计饼图")
  129. @PostMapping("/getOtherlinkageforceList")
  130. public AjaxResult getOtherlinkageforceList(@RequestBody CenterdataTFirecontrolOtherLinkageForce centerdataTFirecontrolOtherLinkageForce) {
  131. return AjaxResult.success(iFireControlBigDataService.getOtherlinkageforceList(centerdataTFirecontrolOtherLinkageForce));
  132. }
  133. /**
  134. * 重点区域
  135. */
  136. @ApiImplicitParams(value = {
  137. @ApiImplicitParam(name = "areaType", value = "区域类型", dataType = "String", required = true, paramType = "body")
  138. })
  139. @ApiOperation(value = "远端调用查询重点区域数量按部门分组", notes = "远端调用查询重点区域数量按部门分组")
  140. @PostMapping("/selectBigDataImportareaDeptCount")
  141. public R selectBigDataImportareaDeptCount(@ApiIgnore @RequestBody CenterdataTForestImportarea centerdataTForestImportarea) {
  142. return R.ok(iFireControlBigDataService.selectBigDataImportareaDeptCount(centerdataTForestImportarea));
  143. }
  144. /**
  145. * 消防力量
  146. */
  147. @ApiOperation(value = "远端调用查询消防力量管理数量按部门分组", notes = "远端调用查询消防力量管理数量按部门分组")
  148. @PostMapping("/selectBigDataFireforceDeptCount")
  149. public R selectBigDataFireforceDeptCount(@RequestBody CenterdataTFirecontrolFireForce centerdataTFirecontrolFireForce) {
  150. List<Map<String,Object>> list = iFireControlBigDataService.selectBigDataFireforceDeptCount(centerdataTFirecontrolFireForce);
  151. if (StringUtils.isNull(centerdataTFirecontrolFireForce.getDeptId())){
  152. centerdataTFirecontrolFireForce.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId());
  153. }
  154. return R.ok(deptLevelUtil.getDeptLevel(String.valueOf(centerdataTFirecontrolFireForce.getDeptId()),list,"value"));
  155. }
  156. /**
  157. * 水鹤+取水口+消火栓
  158. */
  159. @ApiOperation(value = "查询水鹤+取水口+消火栓远端调用", notes = "查询水鹤+取水口+消火栓远端调用")
  160. @PostMapping("/selectBigDataNumWithDeptCount")
  161. public R selectBigDataNumWithDeptCount(@RequestBody VisuForestCloudMapVO visuForestCloudMapVO) {
  162. List<Map<String,Object>> list = iFireControlBigDataService.selectBigDataNumWithDeptCount(visuForestCloudMapVO);
  163. if (StringUtils.isNull(visuForestCloudMapVO.getDeptId())){
  164. visuForestCloudMapVO.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId());
  165. }
  166. List<String> addKeys = new ArrayList<>();
  167. addKeys.add("fireHydrant");
  168. addKeys.add("waterIntake");
  169. addKeys.add("waterCranes");
  170. return R.ok(deptLevelUtil.getDeptLevel(String.valueOf(visuForestCloudMapVO.getDeptId()),list,addKeys));
  171. }
  172. /**
  173. * 重点场所统计
  174. *
  175. * @author 韩福成
  176. * @date 2023/10/31 16:21
  177. */
  178. @ApiOperation(value = "重点场所统计", notes = "重点场所统计")
  179. @PostMapping("/selectKeyLocations")
  180. public R selectKeyLocations(@RequestBody DataVisuFireCloudMapVO dataVisuFireCloudMapVO){
  181. List<Map<String,Object>> list = iFireControlBigDataService.selectKeyLocations(dataVisuFireCloudMapVO);
  182. if (StringUtils.isNull(dataVisuFireCloudMapVO.getDeptId())){
  183. dataVisuFireCloudMapVO.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId());
  184. }
  185. return R.ok(deptLevelUtil.getDeptLevel(String.valueOf(dataVisuFireCloudMapVO.getDeptId()),list,"num"));
  186. }
  187. }