zbj//1.大屏中间三个接口增加总条数返回字段

This commit is contained in:
zhangbaojian
2023-04-18 14:00:42 +08:00
parent 20c5ebcbc7
commit 3a1f1f9795
8 changed files with 229 additions and 19 deletions

View File

@@ -0,0 +1,30 @@
package com.njcn.device.pq.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @version 1.0.0
* @author: zbj
* @date: 2023/04/18
*/
@Data
public class EventListVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 结果集合
*/
@ApiModelProperty("结果集合")
private List<EventVO> list;
/**
* 总次数
*/
@ApiModelProperty("总次数")
private Integer size;
}

View File

@@ -0,0 +1,30 @@
package com.njcn.device.pq.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @version 1.0.0
* @author: zbj
* @date: 2023/04/18
*/
@Data
public class MiddleLimitRateListVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 结果集合
*/
@ApiModelProperty("结果集合")
private List<MiddleLimitRateVO> list;
/**
* 总次数
*/
@ApiModelProperty("总次数")
private Integer size;
}

View File

@@ -0,0 +1,31 @@
package com.njcn.device.pq.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @version 1.0.0
* @author: zbj
* @date: 2023/04/18
*/
@Data
public class MiddleTerminalListVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 结果集合
*/
@ApiModelProperty("结果集合")
private List<MiddleTerminalVO> list;
/**
* 总次数
*/
@ApiModelProperty("总次数")
private Integer size;
}

View File

@@ -109,9 +109,9 @@ public class LargeScreenController extends BaseController {
@PostMapping("/getMiddleDown") @PostMapping("/getMiddleDown")
@ApiOperation("大屏中间暂态") @ApiOperation("大屏中间暂态")
@ApiImplicitParam(name = "largeScreenParam", value = "大屏中间暂态", required = true) @ApiImplicitParam(name = "largeScreenParam", value = "大屏中间暂态", required = true)
public HttpResult<List<EventVO>> getMiddleDown(@RequestBody @Validated LargeScreenParam largeScreenParam) { public HttpResult<EventListVO> getMiddleDown(@RequestBody @Validated LargeScreenParam largeScreenParam) {
String methodDescribe = getMethodDescribe("getMiddleDown"); String methodDescribe = getMethodDescribe("getMiddleDown");
List<EventVO> result = largeScreenService.getMiddleDown(largeScreenParam); EventListVO result = largeScreenService.getMiddleDown(largeScreenParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
} }
@@ -122,9 +122,9 @@ public class LargeScreenController extends BaseController {
@PostMapping("/getMiddleTerminal") @PostMapping("/getMiddleTerminal")
@ApiOperation("大屏中间终端异常信息") @ApiOperation("大屏中间终端异常信息")
@ApiImplicitParam(name = "largeScreenParam", value = "大屏中间终端异常信息", required = true) @ApiImplicitParam(name = "largeScreenParam", value = "大屏中间终端异常信息", required = true)
public HttpResult<List<MiddleTerminalVO>> getMiddleTerminal(@RequestBody @Validated LargeScreenParam largeScreenParam) { public HttpResult<MiddleTerminalListVO> getMiddleTerminal(@RequestBody @Validated LargeScreenParam largeScreenParam) {
String methodDescribe = getMethodDescribe("getMiddleTerminal"); String methodDescribe = getMethodDescribe("getMiddleTerminal");
List<MiddleTerminalVO> result = largeScreenService.getMiddleTerminal(largeScreenParam); MiddleTerminalListVO result = largeScreenService.getMiddleTerminal(largeScreenParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
} }
@@ -135,9 +135,9 @@ public class LargeScreenController extends BaseController {
@PostMapping("/getMiddleLimitRate") @PostMapping("/getMiddleLimitRate")
@ApiOperation("大屏中间稳态越线信息") @ApiOperation("大屏中间稳态越线信息")
@ApiImplicitParam(name = "largeScreenParam", value = "大屏中间稳态越线信息", required = true) @ApiImplicitParam(name = "largeScreenParam", value = "大屏中间稳态越线信息", required = true)
public HttpResult<List<MiddleLimitRateVO>> getMiddleLimitRate(@RequestBody @Validated LargeScreenParam largeScreenParam) { public HttpResult<MiddleLimitRateListVO> getMiddleLimitRate(@RequestBody @Validated LargeScreenParam largeScreenParam) {
String methodDescribe = getMethodDescribe("getMiddleLimitRate"); String methodDescribe = getMethodDescribe("getMiddleLimitRate");
List<MiddleLimitRateVO> result = largeScreenService.getMiddleLimitRate(largeScreenParam); MiddleLimitRateListVO result = largeScreenService.getMiddleLimitRate(largeScreenParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
} }
} }

View File

@@ -32,10 +32,16 @@ public interface LargeScreenMapper {
List<EventVO> getMiddleDown (Page<EventVO> page,@Param("lineIds") List<String> lineIds, @Param("startTime") String startTime, @Param("endTime") String endTime); List<EventVO> getMiddleDown (Page<EventVO> page,@Param("lineIds") List<String> lineIds, @Param("startTime") String startTime, @Param("endTime") String endTime);
List<EventVO> getMiddleDownChind (@Param("lineIds") List<String> lineIds, @Param("startTime") String startTime, @Param("endTime") String endTime);
List<MiddleChildVO> getMiddleTerminal (Page<MiddleChildVO> page,@Param("deviceIds") List<String> deviceIds, @Param("startTime") String startTime, @Param("endTime") String endTime); List<MiddleChildVO> getMiddleTerminal (Page<MiddleChildVO> page,@Param("deviceIds") List<String> deviceIds, @Param("startTime") String startTime, @Param("endTime") String endTime);
List<MiddleChildVO> getMiddleTerminalChild (@Param("deviceIds") List<String> deviceIds, @Param("startTime") String startTime, @Param("endTime") String endTime);
List<MiddleLimitRateVO> getMiddleLimitRate (Page<MiddleLimitRateVO> page,@Param("lineIds") List<String> deviceIds, @Param("startTime") String startTime, @Param("endTime") String endTime); List<MiddleLimitRateVO> getMiddleLimitRate (Page<MiddleLimitRateVO> page,@Param("lineIds") List<String> deviceIds, @Param("startTime") String startTime, @Param("endTime") String endTime);
List<MiddleLimitRateVO> getMiddleLimitRateChild (@Param("lineIds") List<String> deviceIds, @Param("startTime") String startTime, @Param("endTime") String endTime);
List<Map<String,Object>> getHomeostasisArea (@Param("indexIds") List<String> indexIds, @Param("startTime") String startTime, @Param("endTime") String endTime); List<Map<String,Object>> getHomeostasisArea (@Param("indexIds") List<String> indexIds, @Param("startTime") String startTime, @Param("endTime") String endTime);
/** /**

View File

@@ -108,11 +108,14 @@
<select id="getMiddleDown" resultType="com.njcn.device.pq.pojo.vo.EventVO"> <select id="getMiddleDown" resultType="com.njcn.device.pq.pojo.vo.EventVO">
SELECT SELECT
ed.create_time "time",pl.`Name` "name",sdd.`Name` reason,sdd.`Name` "type",ed.feature_amplitude amplitude,ed.duration ed.create_time "time",
pl.`Name` "name",
ed.advance_reason reason,
ed.advance_type "type",
ed.feature_amplitude amplitude,
ed.duration
from r_mp_event_detail ed from r_mp_event_detail ed
left join pq_line pl on pl.id = ed.measurement_point_id left join pq_line pl on pl.id = ed.measurement_point_id
left join sys_dict_data sdd on sdd.id = ed.advance_reason
left join sys_dict_data sdd2 on sdd.id = ed.advance_type
where where
ed.measurement_point_id in ed.measurement_point_id in
<foreach collection="lineIds" item="item" open="(" close=")" separator=","> <foreach collection="lineIds" item="item" open="(" close=")" separator=",">
@@ -267,4 +270,97 @@
GROUP BY line_id GROUP BY line_id
</select> </select>
<select id="getMiddleDownChind" resultType="com.njcn.device.pq.pojo.vo.EventVO">
SELECT
ed.create_time "time",
pl.`Name` "name",
ed.advance_reason reason,
ed.advance_type "type",
ed.feature_amplitude amplitude,
ed.duration
from r_mp_event_detail ed
left join pq_line pl on pl.id = ed.measurement_point_id
where
ed.measurement_point_id in
<foreach collection="lineIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
<if test="startTime != null and startTime != ''">
and date_format(ed.create_time,'%y%m%d') &gt;= date_format(#{startTime},'%y%m%d')
</if>
<if test="endTime != null and endTime != ''">
and date_format(ed.create_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
</if>
order by ed.create_time desc
</select>
<select id="getMiddleLimitRateChild" resultType="com.njcn.device.pq.pojo.vo.MiddleLimitRateVO">
select pl.`Name` mName,
pl3.`Name` subName,
t.count from pq_line pl
inner join(select rslr.my_index,
sum(rslr.all_time) count
from r_stat_limit_rate_d rslr
WHERE
rslr.my_index IN
<foreach collection="lineIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
<if test="startTime != null and startTime != ''">
and date_format(rslr.Time_Id,'%y%m%d') &gt;= date_format(#{startTime},'%y%m%d')
</if>
<if test="endTime != null and endTime != ''">
and date_format(rslr.Time_Id,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
</if>
group by rslr.my_index)t on pl.Id = t.my_index
left join pq_line pl1 on pl.Pid = pl1.Id
left join pq_line pl2 on pl1.Pid = pl2.Id
left join pq_line pl3 on pl2.Pid = pl3.Id
</select>
<select id="getMiddleTerminalChild" resultType="com.njcn.device.pq.pojo.vo.MiddleChildVO">
SELECT
pd.id,
IFNULL(
cfm1.flow,(
SELECT
cfm.flow
FROM
cld_flow_meal cfm
WHERE
cfm.type = 0
AND cfm.flag = 1
)) base,
IFNULL( cfm2.flow, 0 ) ream,
IFNULL( cmf.Statis_Value, 0 ) statusValue,
pl1.`Name` "name",
pd.IP ip,
pd.`Port` "port",
case
when pd.Com_Flag = '0' then '通讯中断'
when pd.Com_Flag = '1' then '通讯正常'
end comFlag
FROM
pq_line pl
LEFT JOIN pq_device pd ON pl.id = pd.id
LEFT JOIN cld_dev_meal cdm ON cdm.Line_Id = pd.id
LEFT JOIN cld_flow_meal cfm1 ON cfm1.Id = cdm.Base_Meal_Id
LEFT JOIN cld_flow_meal cfm2 ON cfm2.Id = cdm.Ream_Meal_Id
LEFT JOIN cld_month_flow cmf ON cmf.Dev_Id = pd.id
LEFT JOIN pq_line pl1 ON pl1.id = pl.pid
WHERE
pd.id IN
<foreach collection="deviceIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
<if test="startTime != null and startTime != ''">
and date_format(cmf.Time_Id,'%y%m%d') &gt;= date_format(#{startTime},'%y%m%d')
</if>
<if test="endTime != null and endTime != ''">
and date_format(cmf.Time_Id,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
</if>
</select>
</mapper> </mapper>

View File

@@ -357,7 +357,7 @@ public class LargeScreenServiceImpl implements LargeScreenService {
* 大屏中间暂态 * 大屏中间暂态
*/ */
@Override @Override
public List<EventVO> getMiddleDown(LargeScreenParam largeScreenParam) { public EventListVO getMiddleDown(LargeScreenParam largeScreenParam) {
DeviceInfoParam.BusinessParam deviceInfoParam = new DeviceInfoParam.BusinessParam(); DeviceInfoParam.BusinessParam deviceInfoParam = new DeviceInfoParam.BusinessParam();
//部门索引 //部门索引
deviceInfoParam.setDeptIndex(largeScreenParam.getDeptIndex()); deviceInfoParam.setDeptIndex(largeScreenParam.getDeptIndex());
@@ -374,14 +374,20 @@ public class LargeScreenServiceImpl implements LargeScreenService {
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(deviceInfoParam).getData(); List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(deviceInfoParam).getData();
//获取所有监测点集合 //获取所有监测点集合
List<String> lineIds = generalDeviceDTOList.stream().flatMap(dto -> dto.getLineIndexes().stream()).collect(Collectors.toList()); List<String> lineIds = generalDeviceDTOList.stream().flatMap(dto -> dto.getLineIndexes().stream()).collect(Collectors.toList());
return largeScreenMapper.getMiddleDown(new Page<>(largeScreenParam.getPageNum(), largeScreenParam.getPageSize()),lineIds, largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime()); List<EventVO> eventVOS = largeScreenMapper.getMiddleDown(new Page<>(largeScreenParam.getPageNum(), largeScreenParam.getPageSize()), lineIds, largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime());
//获取没分页前的总数据
List<EventVO> chind = largeScreenMapper.getMiddleDownChind(lineIds, largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime());
EventListVO listVO = new EventListVO();
listVO.setList(eventVOS);
listVO.setSize(chind.size());
return listVO;
} }
/** /**
* 大屏中间终端异常信息 * 大屏中间终端异常信息
*/ */
@Override @Override
public List<MiddleTerminalVO> getMiddleTerminal(LargeScreenParam largeScreenParam) { public MiddleTerminalListVO getMiddleTerminal(LargeScreenParam largeScreenParam) {
//创建返回VO //创建返回VO
List<MiddleTerminalVO> result = new ArrayList<>(); List<MiddleTerminalVO> result = new ArrayList<>();
DeviceInfoParam.BusinessParam deviceInfoParam = new DeviceInfoParam.BusinessParam(); DeviceInfoParam.BusinessParam deviceInfoParam = new DeviceInfoParam.BusinessParam();
@@ -399,7 +405,9 @@ public class LargeScreenServiceImpl implements LargeScreenService {
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(deviceInfoParam).getData(); List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(deviceInfoParam).getData();
//获取所有监测点集合 //获取所有监测点集合
List<String> deviceIds = generalDeviceDTOList.stream().flatMap(dto -> dto.getDeviceIndexes().stream()).collect(Collectors.toList()); List<String> deviceIds = generalDeviceDTOList.stream().flatMap(dto -> dto.getDeviceIndexes().stream()).collect(Collectors.toList());
List<MiddleChildVO> map = largeScreenMapper.getMiddleTerminal(new Page<>(largeScreenParam.getPageNum(), largeScreenParam.getPageSize()),deviceIds, largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime()); List<MiddleChildVO> map = largeScreenMapper.getMiddleTerminal(new Page<>(largeScreenParam.getPageNum(), largeScreenParam.getPageSize()), deviceIds, largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime());
//获取没分页前的总数据
List<MiddleChildVO> child = largeScreenMapper.getMiddleTerminalChild(deviceIds, largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime());
float base = 0.0f; float base = 0.0f;
float ream = 0.0f; float ream = 0.0f;
@@ -421,7 +429,10 @@ public class LargeScreenServiceImpl implements LargeScreenService {
vo.setProportion(s); vo.setProportion(s);
result.add(vo); result.add(vo);
} }
return result; MiddleTerminalListVO listVO = new MiddleTerminalListVO();
listVO.setList(result);
listVO.setSize(child.size());
return listVO;
} }
public static String formatFloat(Float value) { public static String formatFloat(Float value) {
@@ -436,7 +447,7 @@ public class LargeScreenServiceImpl implements LargeScreenService {
* 大屏中间稳态越线信息 * 大屏中间稳态越线信息
*/ */
@Override @Override
public List<MiddleLimitRateVO> getMiddleLimitRate(LargeScreenParam largeScreenParam) { public MiddleLimitRateListVO getMiddleLimitRate(LargeScreenParam largeScreenParam) {
DeviceInfoParam.BusinessParam deviceInfoParam = new DeviceInfoParam.BusinessParam(); DeviceInfoParam.BusinessParam deviceInfoParam = new DeviceInfoParam.BusinessParam();
//部门索引 //部门索引
deviceInfoParam.setDeptIndex(largeScreenParam.getDeptIndex()); deviceInfoParam.setDeptIndex(largeScreenParam.getDeptIndex());
@@ -452,7 +463,13 @@ public class LargeScreenServiceImpl implements LargeScreenService {
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(deviceInfoParam).getData(); List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(deviceInfoParam).getData();
//获取所有监测点集合 //获取所有监测点集合
List<String> lineIds = generalDeviceDTOList.stream().flatMap(dto -> dto.getLineIndexes().stream()).collect(Collectors.toList()); List<String> lineIds = generalDeviceDTOList.stream().flatMap(dto -> dto.getLineIndexes().stream()).collect(Collectors.toList());
return largeScreenMapper.getMiddleLimitRate(new Page<>(largeScreenParam.getPageNum(), largeScreenParam.getPageSize()),lineIds, largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime()); List<MiddleLimitRateVO> middleLimitRate = largeScreenMapper.getMiddleLimitRate(new Page<>(largeScreenParam.getPageNum(), largeScreenParam.getPageSize()), lineIds, largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime());
//获取没分页前的总数据
List<MiddleLimitRateVO> child = largeScreenMapper.getMiddleLimitRateChild(lineIds, largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime());
MiddleLimitRateListVO listVO = new MiddleLimitRateListVO();
listVO.setList(middleLimitRate);
listVO.setSize(child.size());
return listVO;
} }

View File

@@ -25,11 +25,11 @@ public interface LargeScreenService {
List<AllDataVO> getAllData(LargeScreenParam largeScreenParam); List<AllDataVO> getAllData(LargeScreenParam largeScreenParam);
List<EventVO> getMiddleDown(LargeScreenParam largeScreenParam); EventListVO getMiddleDown(LargeScreenParam largeScreenParam);
List<MiddleTerminalVO> getMiddleTerminal(LargeScreenParam largeScreenParam); MiddleTerminalListVO getMiddleTerminal(LargeScreenParam largeScreenParam);
List<MiddleLimitRateVO> getMiddleLimitRate(LargeScreenParam largeScreenParam); MiddleLimitRateListVO getMiddleLimitRate(LargeScreenParam largeScreenParam);
List<PQSComAssesPO> getComAccessData(List<String> lineIndexes, String searchBeginTime, String searchEndTime); List<PQSComAssesPO> getComAccessData(List<String> lineIndexes, String searchBeginTime, String searchEndTime);