123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182 |
- package com.ruoyi.web.controller.gas;
- import cn.hutool.core.convert.Convert;
- import com.ruoyi.common.constant.ElasticConstants;
- import com.ruoyi.common.core.domain.AjaxResult;
- import com.ruoyi.framework.config.ElasticSearchClient;
- import com.ruoyi.system.domain.DeviceBo;
- import com.ruoyi.system.domain.IllegalInfo;
- import com.ruoyi.system.domain.SyncPost;
- import com.ruoyi.system.service.IAisDatabase;
- import com.ruoyi.system.service.IHeiYanService;
- import com.ruoyi.system.service.ISo2Service;
- import com.ruoyi.web.service.IGasCommonService;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.security.access.prepost.PreAuthorize;
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestParam;
- import org.springframework.web.bind.annotation.RestController;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- /**
- * @Description: 公共提出接口
- * @Author: huangcheng
- * @Date: 2021/8/30
- * @Version V1.0
- */
- @RestController
- @RequestMapping("/gas/common")
- @Api(tags = "公共接口")
- public class GasCommonController {
- @Autowired
- private IGasCommonService gasCommonService;
- @Autowired
- private ElasticSearchClient client;
- @Autowired
- private ISo2Service so2Service;
- @Autowired
- private IAisDatabase aisDatabase;
- @Autowired
- private IHeiYanService heiYanService;
- @PreAuthorize("@ss.hasPermi('system:gas:sync')")
- @PostMapping("/sync")
- @ApiOperation("第三方表数据同步ES")
- public AjaxResult sync(@RequestBody SyncPost syncPost) {
- gasCommonService.sync(syncPost);
- return AjaxResult.success("同步中...");
- }
- @GetMapping("/illegalShipStatic")
- @ApiOperation("获取硫、黑烟超标数量统计")
- public AjaxResult illegalShipStatic() {
- // Map<String, Object> params = baseEntity.getParams();
- // if (ObjectUtil.isNotEmpty(params.get("beginTime"))) {
- // params.put("beginTime", params.get("beginTime") + " 00:00:00");
- // }
- // if (ObjectUtil.isNotEmpty(params.get("endTime"))) {
- // params.put("endTime", params.get("endTime") + " 23:59:59");
- // }
- // Map<String, Object> so2RangeCondition = new HashMap<>();
- // so2RangeCondition.put("createTime", StrUtil.concat(true, "[", Convert.toStr(params.get("beginTime")), ",", Convert.toStr(params.get("endTime")), "]"));
- // so2RangeCondition.put("peakTime", StrUtil.concat(true, "[", Convert.toStr(params.get("beginTime")), ",", Convert.toStr(params.get("endTime")), "]"));
- long so2Count = client.count(null, null, ElasticConstants.SO2_ALERT, ElasticConstants.AIS_ILLEGAL_SHIP);
- long blackCount = client.count(null, null, ElasticConstants.HEIYAN_SHIP_RECOGNITION);
- Map<String, Object> result = new HashMap<>();
- result.put("so2Count", so2Count);
- result.put("blackCount", blackCount);
- return AjaxResult.success(result);
- }
- @GetMapping("/queryIllegalInfoList")
- @ApiOperation("获取嫌疑或违规船舶信息")
- public AjaxResult queryIllegalInfoList(@RequestParam String illegalStatus, @RequestParam(required = false, defaultValue = "20") Integer size) {
- Map<String, Object> equalsCondition = new HashMap<>();
- equalsCondition.put("illegalStatus", illegalStatus);
- List<String> orderBy = new ArrayList<>();
- orderBy.add("-createTime");
- Map<String, Object> stringObjectMap = client.searchDocument(equalsCondition,
- null,
- orderBy,
- 1,
- size,
- ElasticConstants.AIS_ILLEGAL_SHIP,
- ElasticConstants.SO2_ALERT,
- ElasticConstants.HEIYAN_SHIP_RECOGNITION);
- return AjaxResult.success(Convert.toList(IllegalInfo.class, stringObjectMap.get("pageList")));
- }
- @GetMapping("/queryDeviceList")
- @ApiOperation("获取所有设备数据")
- public AjaxResult queryDeviceList(@RequestParam(required = false) String monitor) {
- List<DeviceBo> njsanq = new ArrayList<>();
- List<DeviceBo> njsiq = new ArrayList<>();
- List<DeviceBo> ry = new ArrayList<>();
- List<DeviceBo> tz = new ArrayList<>();
- List<DeviceBo> jy = new ArrayList<>();
- List<DeviceBo> st = new ArrayList<>();
- Map<String, Object> data = new HashMap<>();
- List<DeviceBo> so2 = so2Service.queryDeviceList(monitor);
- List<DeviceBo> ais = aisDatabase.queryDeviceList(monitor);
- List<DeviceBo> heiyan = heiYanService.queryDeviceList(monitor);
- for (DeviceBo deviceBo : so2) {
- deviceBo.setOrgName(orgMap.get(deviceBo.getMonitorName()));
- switch (deviceBo.getMonitorName()) {
- case "南京三桥":
- njsanq.add(deviceBo);
- case "南京四桥":
- njsiq.add(deviceBo);
- case "润扬大桥":
- ry.add(deviceBo);
- case "泰州大桥":
- tz.add(deviceBo);
- case "江阴大桥":
- jy.add(deviceBo);
- case "苏通大桥":
- st.add(deviceBo);
- }
- }
- for (DeviceBo deviceBo : ais) {
- deviceBo.setOrgName(orgMap.get(deviceBo.getMonitorName()));
- switch (deviceBo.getMonitorName()) {
- case "南京三桥":
- njsanq.add(deviceBo);
- case "南京四桥":
- njsiq.add(deviceBo);
- case "润扬大桥":
- ry.add(deviceBo);
- case "泰州大桥":
- tz.add(deviceBo);
- case "江阴大桥":
- jy.add(deviceBo);
- case "苏通大桥":
- st.add(deviceBo);
- }
- }
- for (DeviceBo deviceBo : heiyan) {
- switch (deviceBo.getMonitorName()) {
- case "南京三桥":
- njsanq.add(deviceBo);
- case "南京四桥":
- njsiq.add(deviceBo);
- case "润扬大桥":
- ry.add(deviceBo);
- case "泰州大桥":
- tz.add(deviceBo);
- case "江阴大桥":
- jy.add(deviceBo);
- case "苏通大桥":
- st.add(deviceBo);
- }
- }
- data.put("南京三桥", njsanq);
- data.put("南京四桥", njsiq);
- data.put("润扬大桥", ry);
- data.put("泰州大桥", tz);
- data.put("江阴大桥", jy);
- data.put("苏通大桥", st);
- return AjaxResult.success(data);
- }
- public final static Map<String, String> orgMap = new HashMap<String, String>() {{
- put("南京三桥", "南京海事局");
- put("南京四桥", "南京海事局");
- put("润扬大桥", "扬州海事局");
- put("泰州大桥", "泰州海事局");
- put("江阴大桥", "江阴海事局");
- put("苏通大桥", "常熟海事局");
- }};
- }
|