|
@@ -5,6 +5,7 @@ import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.util.NumberUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
+import com.ruoyi.common.annotation.Log;
|
|
|
import com.ruoyi.common.constant.CacheConstants;
|
|
|
import com.ruoyi.common.constant.ElasticConstants;
|
|
|
import com.ruoyi.common.constant.HttpStatus;
|
|
@@ -16,6 +17,8 @@ import com.ruoyi.common.core.page.TableDataInfo;
|
|
|
import com.ruoyi.common.core.page.TableSupport;
|
|
|
import com.ruoyi.common.core.redis.RedisCache;
|
|
|
import com.ruoyi.common.enums.AggsType;
|
|
|
+import com.ruoyi.common.enums.BusinessType;
|
|
|
+import com.ruoyi.common.utils.poi.ExcelUtil;
|
|
|
import com.ruoyi.framework.config.ElasticSearchClient;
|
|
|
import com.ruoyi.system.domain.GuapMonitorPoint;
|
|
|
import com.ruoyi.system.domain.IllegalShip;
|
|
@@ -26,6 +29,7 @@ import com.ruoyi.system.service.ISo2Service;
|
|
|
import com.ruoyi.system.service.ISysDictTypeService;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
+import lombok.SneakyThrows;
|
|
|
import org.elasticsearch.search.aggregations.bucket.histogram.DateHistogramInterval;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
@@ -33,6 +37,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
@@ -118,6 +124,56 @@ public class So2Controller extends BaseController {
|
|
|
return rspData;
|
|
|
}
|
|
|
|
|
|
+ @SneakyThrows
|
|
|
+ @Log(title = "硫含量记录导出", businessType = BusinessType.EXPORT)
|
|
|
+ @GetMapping("/export")
|
|
|
+ public AjaxResult export(IllegalShip illegalShip, HttpServletRequest request, HttpServletResponse response) {
|
|
|
+ // 传来的参数
|
|
|
+ Map<String, Object> params = illegalShip.getParams();
|
|
|
+ Map<String, Object> equalsCondition = new HashMap<>();
|
|
|
+ // 组装查询条件
|
|
|
+ equalsCondition.put("mmsi", StrUtil.isBlank(illegalShip.getMmsi()) ? null : StrUtil.concat(true, "*", illegalShip.getMmsi(), "*"));
|
|
|
+ equalsCondition.put("shipName", StrUtil.isBlank(illegalShip.getShipName()) ? null : StrUtil.concat(true, "*", illegalShip.getShipName(), "*"));
|
|
|
+ equalsCondition.put("shipRegionType", illegalShip.getShipRegionType());
|
|
|
+ equalsCondition.put("destination", StrUtil.isBlank(illegalShip.getDestination()) ? null : StrUtil.concat(true, "*", illegalShip.getDestination(), "*"));
|
|
|
+ equalsCondition.put("orgName", illegalShip.getOrgName());
|
|
|
+ equalsCondition.put("illegalStatus", illegalShip.getIllegalStatus());
|
|
|
+ equalsCondition.put("dealResult", illegalShip.getDealResult());
|
|
|
+ equalsCondition.put("fastResult", illegalShip.getFastResult());
|
|
|
+ equalsCondition.put("uploadResult", illegalShip.getUploadResult());
|
|
|
+ equalsCondition.put("illegalType", illegalShip.getIllegalType());
|
|
|
+ equalsCondition.put("monitorPointName", illegalShip.getMonitorPointName());
|
|
|
+ if (StrUtil.isNotBlank(illegalShip.getFilterMmsi()) && StrUtil.isBlank(illegalShip.getMmsi())) {
|
|
|
+ equalsCondition.put("mmsi", illegalShip.getFilterMmsi());
|
|
|
+ }
|
|
|
+ // 组装范围查询条件
|
|
|
+ Map<String, Object> rangeCondition = new HashMap<>();
|
|
|
+ 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");
|
|
|
+ }
|
|
|
+ rangeCondition.put("createTime", StrUtil.concat(true, "[", Convert.toStr(params.get("beginTime")), ",", Convert.toStr(params.get("endTime")), "]"));
|
|
|
+ List<String> orderBy = new ArrayList<>();
|
|
|
+ orderBy.add("-createTime");
|
|
|
+ Map<String, Object> maps = client.searchDocument(equalsCondition, rangeCondition, orderBy, 1, 1000000, ElasticConstants.SO2_ALERT, ElasticConstants.AIS_ILLEGAL_SHIP);
|
|
|
+ ExcelUtil<IllegalShip> util = new ExcelUtil<>(IllegalShip.class);
|
|
|
+ return util.exportExcel(Convert.toList(IllegalShip.class, maps.get("pageList")), "硫含量违规数据");
|
|
|
+ /*util.exportExcelByEasyPoi("so2_" + DateUtil.today(),
|
|
|
+ "硫含量违规数据",
|
|
|
+ "硫含量违规数据",
|
|
|
+ IllegalShip.class,
|
|
|
+ Convert.toList(IllegalShip.class, maps.get("pageList")),
|
|
|
+ request, response);
|
|
|
+ ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
|
|
|
+ mv.addObject(NormalExcelConstants.FILE_NAME, title); //此处设置的filename无效 ,前端会重更新设置一下
|
|
|
+ mv.addObject(NormalExcelConstants.CLASS, clazz);
|
|
|
+ mv.addObject(NormalExcelConstants.PARAMS, new ExportParams(title + "报表", "导出人:" + sysUser.getRealname(), title));
|
|
|
+ mv.addObject(NormalExcelConstants.DATA_LIST, exportList);
|
|
|
+ return mv;*/
|
|
|
+ }
|
|
|
+
|
|
|
@GetMapping("/guangpu/monitorPoint")
|
|
|
@ApiOperation("光谱-检测点数据")
|
|
|
public AjaxResult monitorPoint(GuapMonitorPoint monitorPoint) {
|