|
@@ -1,5 +1,6 @@
|
|
|
package com.gyee.gaia.meter.controller;
|
|
|
|
|
|
+import com.alibaba.cloud.commons.lang.StringUtils;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.gyee.gaia.meter.entity.Equipment;
|
|
|
import com.gyee.gaia.meter.entity.MeterPoint;
|
|
@@ -76,62 +77,219 @@ public class MeterInfoController {
|
|
|
}
|
|
|
|
|
|
|
|
|
- @GetMapping("/meter/getMeterTypeCalculating")
|
|
|
- public Result<Object> getMeterTypeCalculating(
|
|
|
- @RequestParam(required = false) String windId
|
|
|
+ //请求路径传参时,没有的参数不能传空
|
|
|
+ @GetMapping("/meter/getMeterTypeCalculating1")
|
|
|
+ public Result<Object> getMeterTypeCalculating1(
|
|
|
+ @RequestParam(required = false) String windId,
|
|
|
+ @RequestParam(required = false) String type,
|
|
|
+ @RequestParam(required = false) String meterClass
|
|
|
) {
|
|
|
|
|
|
- //下拉框选择类型
|
|
|
- List<MeterPoint> meterTypeList = meterPointService.list(new QueryWrapper<MeterPoint>()
|
|
|
- .eq("property", "JSD")
|
|
|
- .eq("windpowerstation_id", windId)
|
|
|
- );
|
|
|
+ if (windId != null && type != null && !type.equals("") && meterClass != null && !meterClass.equals("")) { //下拉框选择类型
|
|
|
+ List<MeterPoint> meterTypeList = meterPointService.list(new QueryWrapper<MeterPoint>()
|
|
|
+ .eq("property", "JSD")
|
|
|
+ .eq("windpowerstation_id", windId)
|
|
|
+ .eq("meter_type", type)
|
|
|
+ .eq("meter_class", meterClass)
|
|
|
+ );
|
|
|
+
|
|
|
+ Set<String> encounteredMeterTypes = new HashSet<>();
|
|
|
+ List<MeterInfoVo> meterTypeListVo = new ArrayList<>();
|
|
|
+
|
|
|
+ for (MeterPoint meterPoint : meterTypeList) {
|
|
|
+ String meterType = meterPoint.getName();
|
|
|
+ if (!encounteredMeterTypes.contains(meterType)) {
|
|
|
+ MeterInfoVo meterInfoVo = new MeterInfoVo();
|
|
|
+ meterInfoVo.setName(meterType);
|
|
|
+ meterTypeListVo.add(meterInfoVo);
|
|
|
+ encounteredMeterTypes.add(meterType);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Map<String, Object> response = new HashMap<>();
|
|
|
+ response.put("type", meterTypeListVo);
|
|
|
+ return new Result<>(200, "成功", response);
|
|
|
+ } else if (windId != null && type != null&&!type.equals("")) {
|
|
|
+ //下拉框选择类型
|
|
|
+ List<MeterPoint> meterTypeList = meterPointService.list(new QueryWrapper<MeterPoint>()
|
|
|
+ .eq("property", "JSD")
|
|
|
+ .eq("windpowerstation_id", windId)
|
|
|
+ .eq("meter_type", type)
|
|
|
+ );
|
|
|
+
|
|
|
+ Set<String> encounteredMeterTypes = new HashSet<>();
|
|
|
+ List<MeterInfoVo> meterTypeListVo = new ArrayList<>();
|
|
|
+
|
|
|
+ for (MeterPoint meterPoint : meterTypeList) {
|
|
|
+ String meterType = meterPoint.getMeterClass();
|
|
|
+ if (!encounteredMeterTypes.contains(meterType)) {
|
|
|
+ MeterInfoVo meterInfoVo = new MeterInfoVo();
|
|
|
+ meterInfoVo.setName(meterType);
|
|
|
+ meterTypeListVo.add(meterInfoVo);
|
|
|
+ encounteredMeterTypes.add(meterType);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Map<String, Object> response = new HashMap<>();
|
|
|
+ response.put("type", meterTypeListVo);
|
|
|
+ return new Result<>(200, "成功", response);
|
|
|
|
|
|
- Set<String> encounteredMeterTypes = new HashSet<>();
|
|
|
- List<MeterInfoVo> meterTypeListVo = new ArrayList<>();
|
|
|
+ } else if (windId != null) {
|
|
|
+ //下拉框选择类型
|
|
|
+ List<MeterPoint> meterTypeList = meterPointService.list(new QueryWrapper<MeterPoint>()
|
|
|
+ .eq("property", "JSD")
|
|
|
+ .eq("windpowerstation_id", windId)
|
|
|
+ );
|
|
|
+
|
|
|
+ Set<String> encounteredMeterTypes = new HashSet<>();
|
|
|
+ List<MeterInfoVo> meterTypeListVo = new ArrayList<>();
|
|
|
+
|
|
|
+ for (MeterPoint meterPoint : meterTypeList) {
|
|
|
+ String meterType = meterPoint.getMeterType();
|
|
|
+ if (!encounteredMeterTypes.contains(meterType)) {
|
|
|
+ MeterInfoVo meterInfoVo = new MeterInfoVo();
|
|
|
+ meterInfoVo.setName(meterType);
|
|
|
+ meterTypeListVo.add(meterInfoVo);
|
|
|
+ encounteredMeterTypes.add(meterType);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Map<String, Object> response = new HashMap<>();
|
|
|
+ response.put("type", meterTypeListVo);
|
|
|
+ return new Result<>(200, "成功", response);
|
|
|
|
|
|
- for (MeterPoint meterPoint : meterTypeList) {
|
|
|
- String meterType = meterPoint.getMeterType();
|
|
|
- if (!encounteredMeterTypes.contains(meterType)) {
|
|
|
- MeterInfoVo meterInfoVo = new MeterInfoVo();
|
|
|
- meterInfoVo.setName(meterType);
|
|
|
- meterTypeListVo.add(meterInfoVo);
|
|
|
- encounteredMeterTypes.add(meterType);
|
|
|
+ }
|
|
|
+
|
|
|
+ return new Result<>(201, "成功", null);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ //修改适配,请求路径可以不传参数,或者传空值
|
|
|
+ @GetMapping("/meter/getMeterTypeCalculating")
|
|
|
+ public Result<Object> getMeterTypeCalculating(
|
|
|
+ @RequestParam(required = false) String windId,
|
|
|
+ @RequestParam(required = false) String type,
|
|
|
+ @RequestParam(required = false) String meterClass
|
|
|
+ ) {
|
|
|
+ if (windId != null) {
|
|
|
+ List<MeterPoint> meterTypeList = meterPointService.list(new QueryWrapper<MeterPoint>()
|
|
|
+ .eq("property", "JSD")
|
|
|
+ .eq("windpowerstation_id", windId)
|
|
|
+ .eq(StringUtils.isNotBlank(type), "meter_type", type)
|
|
|
+ .eq(StringUtils.isNotBlank(meterClass), "meter_class", meterClass)
|
|
|
+ );
|
|
|
+
|
|
|
+ Set<String> encounteredMeterTypes = new HashSet<>();
|
|
|
+ List<MeterInfoVo> meterTypeListVo = new ArrayList<>();
|
|
|
+
|
|
|
+ for (MeterPoint meterPoint : meterTypeList) {
|
|
|
+ String meterType;
|
|
|
+
|
|
|
+ if (StringUtils.isNotBlank(type) && StringUtils.isBlank(meterClass)) {
|
|
|
+ meterType = meterPoint.getName();
|
|
|
+ } else if (StringUtils.isNotBlank(type)) {
|
|
|
+ meterType = meterPoint.getMeterClass();
|
|
|
+ } else {
|
|
|
+ meterType = meterPoint.getMeterType();
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!encounteredMeterTypes.contains(meterType)) {
|
|
|
+ MeterInfoVo meterInfoVo = new MeterInfoVo();
|
|
|
+ meterInfoVo.setName(meterType);
|
|
|
+ meterTypeListVo.add(meterInfoVo);
|
|
|
+ encounteredMeterTypes.add(meterType);
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
+ Map<String, Object> response = new HashMap<>();
|
|
|
+ response.put("type", meterTypeListVo);
|
|
|
+ return new Result<>(200, "成功", response);
|
|
|
}
|
|
|
- Map<String, Object> response = new HashMap<>();
|
|
|
- response.put("type", meterTypeListVo);
|
|
|
- return new Result<>(200, "成功", response);
|
|
|
|
|
|
+ return new Result<>(201, "成功", null);
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
+
|
|
|
@GetMapping("/meter/getMeterTypeBottom")
|
|
|
public Result<Object> getMeterTypeBottom(
|
|
|
- @RequestParam(required = false) String windId
|
|
|
+ @RequestParam(required = false) String windId,
|
|
|
+ @RequestParam(required = false) String type,
|
|
|
+ @RequestParam(required = false) String meterClass
|
|
|
) {
|
|
|
|
|
|
- //下拉框选择类型
|
|
|
- List<MeterPoint> meterTypeList = meterPointService.list(new QueryWrapper<MeterPoint>()
|
|
|
- .eq("property", "CD")
|
|
|
- .eq("windpowerstation_id", windId)
|
|
|
- );
|
|
|
-
|
|
|
- Set<String> encounteredMeterTypes = new HashSet<>();
|
|
|
- List<MeterInfoVo> meterTypeListVo = new ArrayList<>();
|
|
|
+ if (windId != null && type != null && meterClass != null) {
|
|
|
+ //下拉框选择类型
|
|
|
+ List<MeterPoint> meterTypeList = meterPointService.list(new QueryWrapper<MeterPoint>()
|
|
|
+ .eq("property", "CD")
|
|
|
+ .eq("windpowerstation_id", windId)
|
|
|
+ .eq("meter_type", type)
|
|
|
+ .eq("meter_class", meterClass)
|
|
|
+ );
|
|
|
+
|
|
|
+ Set<String> encounteredMeterTypes = new HashSet<>();
|
|
|
+ List<MeterInfoVo> meterTypeListVo = new ArrayList<>();
|
|
|
+
|
|
|
+ for (MeterPoint meterPoint : meterTypeList) {
|
|
|
+ String meterType = meterPoint.getName();
|
|
|
+ if (!encounteredMeterTypes.contains(meterType)) {
|
|
|
+ MeterInfoVo meterInfoVo = new MeterInfoVo();
|
|
|
+ meterInfoVo.setName(meterType);
|
|
|
+ meterTypeListVo.add(meterInfoVo);
|
|
|
+ encounteredMeterTypes.add(meterType);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Map<String, Object> response = new HashMap<>();
|
|
|
+ response.put("type", meterTypeListVo);
|
|
|
+ return new Result<>(200, "成功", response);
|
|
|
|
|
|
- for (MeterPoint meterPoint : meterTypeList) {
|
|
|
- String meterType = meterPoint.getMeterType();
|
|
|
- if (!encounteredMeterTypes.contains(meterType)) {
|
|
|
- MeterInfoVo meterInfoVo = new MeterInfoVo();
|
|
|
- meterInfoVo.setName(meterType);
|
|
|
- meterTypeListVo.add(meterInfoVo);
|
|
|
- encounteredMeterTypes.add(meterType);
|
|
|
+ } else if (windId != null && type != null) {
|
|
|
+ //下拉框选择类型
|
|
|
+ List<MeterPoint> meterTypeList = meterPointService.list(new QueryWrapper<MeterPoint>()
|
|
|
+ .eq("property", "CD")
|
|
|
+ .eq("windpowerstation_id", windId)
|
|
|
+ .eq("meter_type", type)
|
|
|
+ );
|
|
|
+
|
|
|
+ Set<String> encounteredMeterTypes = new HashSet<>();
|
|
|
+ List<MeterInfoVo> meterTypeListVo = new ArrayList<>();
|
|
|
+
|
|
|
+ for (MeterPoint meterPoint : meterTypeList) {
|
|
|
+ String meterType = meterPoint.getMeterClass();
|
|
|
+ if (!encounteredMeterTypes.contains(meterType)) {
|
|
|
+ MeterInfoVo meterInfoVo = new MeterInfoVo();
|
|
|
+ meterInfoVo.setName(meterType);
|
|
|
+ meterTypeListVo.add(meterInfoVo);
|
|
|
+ encounteredMeterTypes.add(meterType);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Map<String, Object> response = new HashMap<>();
|
|
|
+ response.put("type", meterTypeListVo);
|
|
|
+ return new Result<>(200, "成功", response);
|
|
|
+ } else if (windId != null) {
|
|
|
+ //下拉框选择类型
|
|
|
+ List<MeterPoint> meterTypeList = meterPointService.list(new QueryWrapper<MeterPoint>()
|
|
|
+ .eq("property", "CD")
|
|
|
+ .eq("windpowerstation_id", windId)
|
|
|
+ );
|
|
|
+
|
|
|
+ Set<String> encounteredMeterTypes = new HashSet<>();
|
|
|
+ List<MeterInfoVo> meterTypeListVo = new ArrayList<>();
|
|
|
+
|
|
|
+ for (MeterPoint meterPoint : meterTypeList) {
|
|
|
+ String meterType = meterPoint.getMeterType();
|
|
|
+ if (!encounteredMeterTypes.contains(meterType)) {
|
|
|
+ MeterInfoVo meterInfoVo = new MeterInfoVo();
|
|
|
+ meterInfoVo.setName(meterType);
|
|
|
+ meterTypeListVo.add(meterInfoVo);
|
|
|
+ encounteredMeterTypes.add(meterType);
|
|
|
+ }
|
|
|
}
|
|
|
+ Map<String, Object> response = new HashMap<>();
|
|
|
+ response.put("type", meterTypeListVo);
|
|
|
+ return new Result<>(200, "成功", response);
|
|
|
}
|
|
|
- Map<String, Object> response = new HashMap<>();
|
|
|
- response.put("type", meterTypeListVo);
|
|
|
- return new Result<>(200, "成功", response);
|
|
|
+
|
|
|
+ return new Result<>(201, "失败", null);
|
|
|
|
|
|
}
|
|
|
|
|
@@ -167,12 +325,46 @@ public class MeterInfoController {
|
|
|
public Result<Object> getBottomInfo(
|
|
|
@RequestParam(required = false) String windId,
|
|
|
@RequestParam(required = false) String meterType,
|
|
|
+ @RequestParam(required = false) String meterClass,
|
|
|
+ @RequestParam(required = false) String name,
|
|
|
@RequestParam(required = false) long startTime,
|
|
|
@RequestParam(required = false) long endTime,
|
|
|
@RequestParam(defaultValue = "1") int page,
|
|
|
@RequestParam(defaultValue = "25") int perPage
|
|
|
) {
|
|
|
- if (windId != null && meterType != null) {
|
|
|
+ if (windId != null && meterType != null && meterClass != null && name != null) {
|
|
|
+ ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getBottomInfoByWindId(windId, meterType, meterClass, name, startTime, endTime);
|
|
|
+ // 进行分页处理
|
|
|
+ int totalItems = meterInfoByWindIdList.size();
|
|
|
+ int startIndex = (page - 1) * perPage;
|
|
|
+ int endIndex = Math.min(startIndex + perPage, totalItems);
|
|
|
+
|
|
|
+ List<MeterInfoVo> paginatedList = meterInfoByWindIdList.subList(startIndex, endIndex);
|
|
|
+
|
|
|
+ // 构建响应
|
|
|
+ Map<String, Object> response = new HashMap<>();
|
|
|
+ response.put("bottom", paginatedList);
|
|
|
+ response.put("totalItems", totalItems);
|
|
|
+ response.put("page", page);
|
|
|
+ response.put("perPage", perPage);
|
|
|
+ return new Result<>(200, "成功", response);
|
|
|
+ } else if (windId != null && meterType != null && meterClass != null) {
|
|
|
+ ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getBottomInfoByWindId(windId, meterType, meterClass, startTime, endTime);
|
|
|
+ // 进行分页处理
|
|
|
+ int totalItems = meterInfoByWindIdList.size();
|
|
|
+ int startIndex = (page - 1) * perPage;
|
|
|
+ int endIndex = Math.min(startIndex + perPage, totalItems);
|
|
|
+
|
|
|
+ List<MeterInfoVo> paginatedList = meterInfoByWindIdList.subList(startIndex, endIndex);
|
|
|
+
|
|
|
+ // 构建响应
|
|
|
+ Map<String, Object> response = new HashMap<>();
|
|
|
+ response.put("bottom", paginatedList);
|
|
|
+ response.put("totalItems", totalItems);
|
|
|
+ response.put("page", page);
|
|
|
+ response.put("perPage", perPage);
|
|
|
+ return new Result<>(200, "成功", response);
|
|
|
+ } else if (windId != null && meterType != null) {
|
|
|
ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getBottomInfoByWindId(windId, meterType, startTime, endTime);
|
|
|
// 进行分页处理
|
|
|
int totalItems = meterInfoByWindIdList.size();
|
|
@@ -269,12 +461,52 @@ public class MeterInfoController {
|
|
|
public Result<Object> getCalculatingInfo(
|
|
|
@RequestParam(required = false) String windId,
|
|
|
@RequestParam(required = false) String meterType,
|
|
|
+ @RequestParam(required = false) String meterClass,
|
|
|
+ @RequestParam(required = false) String name,
|
|
|
@RequestParam(required = true) long startTime,
|
|
|
@RequestParam(required = true) long endTime,
|
|
|
@RequestParam(defaultValue = "1") int page,
|
|
|
@RequestParam(defaultValue = "25") int perPage
|
|
|
) {
|
|
|
- if (windId != null && meterType != null) {
|
|
|
+ if (windId != null && meterType != null && meterClass != null && name != null) {
|
|
|
+ ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getCalculatingInfoByWindId(windId, meterType, meterClass, name, startTime, endTime);
|
|
|
+ // 进行排序
|
|
|
+ meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName));
|
|
|
+
|
|
|
+ // 进行分页处理
|
|
|
+ int totalItems = meterInfoByWindIdList.size();
|
|
|
+ int startIndex = (page - 1) * perPage;
|
|
|
+ int endIndex = Math.min(startIndex + perPage, totalItems);
|
|
|
+
|
|
|
+ List<MeterInfoVo> paginatedList = meterInfoByWindIdList.subList(startIndex, endIndex);
|
|
|
+
|
|
|
+ // 构建响应
|
|
|
+ Map<String, Object> response = new HashMap<>();
|
|
|
+ response.put("calculating", paginatedList);
|
|
|
+ response.put("totalItems", totalItems);
|
|
|
+ response.put("page", page);
|
|
|
+ response.put("perPage", perPage);
|
|
|
+ return new Result<>(200, "成功", response);
|
|
|
+ } else if (windId != null && meterType != null && meterClass != null) {
|
|
|
+ ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getCalculatingInfoByWindId(windId, meterType, meterClass, startTime, endTime);
|
|
|
+ // 进行排序
|
|
|
+ meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName));
|
|
|
+
|
|
|
+ // 进行分页处理
|
|
|
+ int totalItems = meterInfoByWindIdList.size();
|
|
|
+ int startIndex = (page - 1) * perPage;
|
|
|
+ int endIndex = Math.min(startIndex + perPage, totalItems);
|
|
|
+
|
|
|
+ List<MeterInfoVo> paginatedList = meterInfoByWindIdList.subList(startIndex, endIndex);
|
|
|
+
|
|
|
+ // 构建响应
|
|
|
+ Map<String, Object> response = new HashMap<>();
|
|
|
+ response.put("calculating", paginatedList);
|
|
|
+ response.put("totalItems", totalItems);
|
|
|
+ response.put("page", page);
|
|
|
+ response.put("perPage", perPage);
|
|
|
+ return new Result<>(200, "成功", response);
|
|
|
+ } else if (windId != null && meterType != null) {
|
|
|
ArrayList<MeterInfoVo> meterInfoByWindIdList = getMeterInfo.getCalculatingInfoByWindId(windId, meterType, startTime, endTime);
|
|
|
// 进行排序
|
|
|
meterInfoByWindIdList.sort(Comparator.comparing(MeterInfoVo::getName));
|