zbj//大屏监测点规模接口
This commit is contained in:
@@ -1,23 +1,54 @@
|
||||
package com.njcn.device.pq.controller;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
|
||||
import com.njcn.device.pq.pojo.param.LargeScreenParam;
|
||||
import com.njcn.device.pq.pojo.vo.MonitoringPointScaleVO;
|
||||
import com.njcn.device.pq.service.LargeScreenService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
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.RestController;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* pqs
|
||||
* 大屏接口终端服务
|
||||
* @author cdf
|
||||
* @date 2023/3/20
|
||||
* @version 1.0.0
|
||||
* @author: zbj
|
||||
* @date: 2023/03/21
|
||||
*/
|
||||
@Slf4j
|
||||
@Api(tags = "大屏-台账相关")
|
||||
@Api(tags = "大屏监测点规模")
|
||||
@RestController
|
||||
@RequestMapping("/screenTerminal")
|
||||
@RequestMapping("/largeScreen")
|
||||
@RequiredArgsConstructor
|
||||
public class LargeScreenController {
|
||||
public class LargeScreenController extends BaseController {
|
||||
|
||||
private final LargeScreenService largeScreenService;
|
||||
|
||||
}
|
||||
/**
|
||||
* 监测点规模
|
||||
*/
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getMonitoringPointScale")
|
||||
@ApiOperation("监测点规模")
|
||||
@ApiImplicitParam(name = "largeScreenParam", value = "查询终端条件", required = true)
|
||||
public HttpResult<MonitoringPointScaleVO> getMonitoringPointScale(@RequestBody @Validated LargeScreenParam largeScreenParam) {
|
||||
String methodDescribe = getMethodDescribe("getMonitoringPointScale");
|
||||
MonitoringPointScaleVO result = largeScreenService.getMonitoringPointScale(largeScreenParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.njcn.device.pq.mapper;
|
||||
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @version 1.0.0
|
||||
* @author: zbj
|
||||
* @date: 2023/03/21
|
||||
*/
|
||||
public interface LargeScreenMapper {
|
||||
|
||||
Map<String, Object> getMonitorAddCount(@Param("lineIds") List<String> lineIds, @Param("startTime") String startTime, @Param("endTime") String endTime);
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.njcn.device.pq.mapper.LargeScreenMapper">
|
||||
|
||||
<!--查询监测点新增个数-->
|
||||
<select id="getMonitorAddCount" resultType="java.util.Map">
|
||||
select
|
||||
count(1) as count
|
||||
from pq_line pl
|
||||
where
|
||||
pl.id in
|
||||
<foreach collection="lineIds" item="item" open="(" close=")" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
<if test="startTime != null and startTime != ''">
|
||||
and date_format(pl.Create_Time,'%y%m%d') >= date_format(#{startTime},'%y%m%d')
|
||||
</if>
|
||||
<if test="endTime != null and endTime != ''">
|
||||
and date_format(pl.Create_Time,'%y%m%d') <= date_format(#{endTime},'%y%m%d')
|
||||
</if>
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.njcn.device.pq.service;
|
||||
|
||||
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
|
||||
import com.njcn.device.pq.pojo.param.LargeScreenParam;
|
||||
import com.njcn.device.pq.pojo.vo.MonitoringPointScaleVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @version 1.0.0
|
||||
* @author: zbj
|
||||
* @date: 2023/03/21
|
||||
*/
|
||||
public interface LargeScreenService {
|
||||
|
||||
MonitoringPointScaleVO getMonitoringPointScale(LargeScreenParam largeScreenParam);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
package com.njcn.device.pq.service.impl;
|
||||
|
||||
import com.njcn.common.pojo.dto.SimpleDTO;
|
||||
import com.njcn.device.pq.mapper.LargeScreenMapper;
|
||||
import com.njcn.device.pq.mapper.LineIntegrityDataMapper;
|
||||
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
|
||||
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
|
||||
import com.njcn.device.pq.pojo.param.LargeScreenParam;
|
||||
import com.njcn.device.pq.pojo.param.MonitoringPointScaleParam;
|
||||
import com.njcn.device.pq.pojo.vo.MonitoringPointScaleVO;
|
||||
import com.njcn.device.pq.service.LargeScreenService;
|
||||
|
||||
import com.njcn.system.pojo.enums.StatisticsEnum;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
/**
|
||||
* @version 1.0.0
|
||||
* @author: zbj
|
||||
* @date: 2023/03/21
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class LargeScreenServiceImpl implements LargeScreenService {
|
||||
|
||||
private final GeneralDeviceService generalDeviceService;
|
||||
|
||||
private final LargeScreenMapper largeScreenMapper;
|
||||
|
||||
/**
|
||||
* 监测点规模
|
||||
*/
|
||||
@Override
|
||||
public MonitoringPointScaleVO getMonitoringPointScale(LargeScreenParam largeScreenParam) {
|
||||
//创建返回VO
|
||||
MonitoringPointScaleVO result = new MonitoringPointScaleVO();
|
||||
ArrayList<MonitoringPointScaleParam> list = new ArrayList<>();
|
||||
DeviceInfoParam.BusinessParam deviceInfoParam = new DeviceInfoParam.BusinessParam();
|
||||
//部门索引
|
||||
deviceInfoParam.setDeptIndex(largeScreenParam.getDeptIndex());
|
||||
//统计类型
|
||||
SimpleDTO simpleDTO = new SimpleDTO();
|
||||
simpleDTO.setName(String.valueOf(StatisticsEnum.POWER_NETWORK));
|
||||
deviceInfoParam.setStatisticalType(simpleDTO);
|
||||
//添加时间
|
||||
deviceInfoParam.setSearchBeginTime(largeScreenParam.getSearchBeginTime());
|
||||
deviceInfoParam.setSearchEndTime(largeScreenParam.getSearchEndTime());
|
||||
// 获取所有数据
|
||||
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceService.getDeviceInfo(deviceInfoParam, Stream.of(0).collect(Collectors.toList()), Stream.of(1).collect(Collectors.toList()));
|
||||
|
||||
for (GeneralDeviceDTO generalDeviceDTO : generalDeviceDTOList) {
|
||||
MonitoringPointScaleParam param = new MonitoringPointScaleParam();
|
||||
param.setIndex(generalDeviceDTO.getIndex());
|
||||
param.setName(generalDeviceDTO.getName());
|
||||
param.setCount(generalDeviceDTO.getLineIndexes().size());
|
||||
list.add(param);
|
||||
}
|
||||
result.setParam(list);
|
||||
//所有监测点id
|
||||
List<String> lineIds = generalDeviceDTOList.stream().flatMap(dto -> dto.getLineIndexes().stream()).collect(Collectors.toList());
|
||||
Map<String, Object> count = largeScreenMapper.getMonitorAddCount(lineIds, largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime());
|
||||
result.setMonitorTotalCount(String.valueOf(lineIds.size()));
|
||||
result.setMonitorAddCount(count.get("count").toString());
|
||||
return result;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user