Merge remote-tracking branch 'origin/master'

This commit is contained in:
Lee
2023-04-11 14:17:30 +08:00
11 changed files with 79 additions and 39 deletions

View File

@@ -25,6 +25,10 @@ public class LineFlowMealDetailVO implements Serializable {
@ApiModelProperty("监测点对应的设备名称") @ApiModelProperty("监测点对应的设备名称")
private String DeviceName; private String DeviceName;
@ApiModelProperty("监测点对应的设备IP")
private String DeviceIP;
@ApiModelProperty("供电公司") @ApiModelProperty("供电公司")
private String ElectricPowerCompany; private String ElectricPowerCompany;

View File

@@ -115,17 +115,6 @@ public class OperationContrController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
} }
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getMonthFlow")
@ApiOperation("获取每月流量")
@ApiImplicitParam(name = "deviceInfoParam", value = "实体", required = true)
public HttpResult<List<LineFlowMealDetailVO>> getMonthFlow (@RequestBody PqsParam deviceInfoParam){
String methodDescribe = getMethodDescribe("getMonthFlow");
LogUtil.njcnDebug(log, "{},参数集合:{}", methodDescribe, deviceInfoParam);
List<LineFlowMealDetailVO> result = lineService.getMonthFlow(deviceInfoParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON) @OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getLineStaticsView") @PostMapping("/getLineStaticsView")

View File

@@ -9,12 +9,17 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil; import com.njcn.common.utils.HttpResultUtil;
import com.njcn.common.utils.LogUtil;
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
import com.njcn.device.pq.pojo.param.PqsParam;
import com.njcn.device.pq.pojo.param.TerminalMainQueryParam; import com.njcn.device.pq.pojo.param.TerminalMainQueryParam;
import com.njcn.device.pq.pojo.param.TerminalParam; import com.njcn.device.pq.pojo.param.TerminalParam;
import com.njcn.device.pq.pojo.vo.LineFlowMealDetailVO;
import com.njcn.device.pq.pojo.vo.TerminalDaliyFlowVO; import com.njcn.device.pq.pojo.vo.TerminalDaliyFlowVO;
import com.njcn.device.pq.pojo.vo.TerminalMaintainVO; import com.njcn.device.pq.pojo.vo.TerminalMaintainVO;
import com.njcn.device.pq.service.TerminalMaintainService; import com.njcn.device.pq.service.TerminalMaintainService;
import com.njcn.web.controller.BaseController; import com.njcn.web.controller.BaseController;
import com.njcn.web.utils.RequestUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@@ -63,6 +68,22 @@ public class TerminalMaintainController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, resList, methodDescribe); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, resList, methodDescribe);
} }
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getMonthFlow")
@ApiOperation("获取每月流量")
@ApiImplicitParam(name = "deviceInfoParam", value = "实体", required = true)
public HttpResult<List<LineFlowMealDetailVO>> getMonthFlow (@RequestBody PqsParam deviceInfoParam){
String methodDescribe = getMethodDescribe("getMonthFlow");
LogUtil.njcnDebug(log, "{},参数集合:{}", methodDescribe, deviceInfoParam);
if (deviceInfoParam.getDeptIndex() == null) {
DeviceInfoParam param = new DeviceInfoParam(RequestUtil.getDeptIndex(),null);
deviceInfoParam.setDeptIndex(param.getDeptIndex());
}
List<LineFlowMealDetailVO> result = terminalMaintainService.getMonthFlow(deviceInfoParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
/** /**
* 终端状态管理,流量管理,流量策略管理主界面 * 终端状态管理,流量管理,流量策略管理主界面
* *

View File

@@ -422,6 +422,4 @@ public interface LineMapper extends BaseMapper<Line> {
Page<LineFlowMealDetailVO> getNewDeviceRunStatistics (Page<LineFlowMealDetailVO> page,@Param("devs") List<String> list, @Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime); Page<LineFlowMealDetailVO> getNewDeviceRunStatistics (Page<LineFlowMealDetailVO> page,@Param("devs") List<String> list, @Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime);
Page<LineFlowMealDetailVO> getNewDeviceFlowStatistics (Page<LineFlowMealDetailVO> page,@Param("devs") List<String> list, @Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime); Page<LineFlowMealDetailVO> getNewDeviceFlowStatistics (Page<LineFlowMealDetailVO> page,@Param("devs") List<String> list, @Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime);
List<LineFlowMealDetailVO> getMonthFlow (@Param("devId") String devId,@Param("startTime") DateTime beginOfDay, @Param("endTime") DateTime endOfDay);
} }

View File

@@ -1,6 +1,8 @@
package com.njcn.device.pq.mapper; package com.njcn.device.pq.mapper;
import cn.hutool.core.date.DateTime;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.device.pq.pojo.vo.LineFlowMealDetailVO;
import com.njcn.device.pq.pojo.vo.TerminalDaliyFlowVO; import com.njcn.device.pq.pojo.vo.TerminalDaliyFlowVO;
import com.njcn.device.pq.pojo.vo.TerminalMaintainVO; import com.njcn.device.pq.pojo.vo.TerminalMaintainVO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@@ -77,4 +79,6 @@ public interface TerminalMaintainMapper {
TerminalDaliyFlowVO getFlowManageDetail(@Param("devId") String deviceId); TerminalDaliyFlowVO getFlowManageDetail(@Param("devId") String deviceId);
List<LineFlowMealDetailVO> getMonthFlow (@Param("devs") List<String> list, @Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime);
} }

View File

@@ -1053,23 +1053,5 @@
and d.com_flag = #{comFlag} and d.com_flag = #{comFlag}
and a.state = 1 and a.state = 1
</select> </select>
<select id="getMonthFlow" resultType="com.njcn.device.pq.pojo.vo.LineFlowMealDetailVO">
select t.*,
(t.statisValue)/(t.flowMeal) flowProportion
from (
SELECT
m.Dev_Id,
ifnull(d.flow, (select flow from cld_flow_meal where type = 0 and flag = 1)) + ifnull(d1.flow, 0) flowMeal,
ifnull(m.Actual_Value,0)/1024/1024 statisValue
FROM cld_month_flow m
LEFT JOIN cld_dev_meal c ON m.Dev_Id = c.line_id
LEFT JOIN cld_flow_meal d ON c.Base_Meal_Id = d.id
LEFT JOIN cld_flow_meal d1 ON c.Ream_Meal_Id = d1.id
where m.Dev_Id = #{devId}
and
m.Time_Id between #{startTime} and #{endTime}
) t
ORDER BY flowProportion DESC
</select>
</mapper> </mapper>

View File

@@ -135,5 +135,40 @@ FROM
WHERE c.Line_Id = #{devId} AND d.State =1 AND d1.State =1 WHERE c.Line_Id = #{devId} AND d.State =1 AND d1.State =1
</select> </select>
<select id="getMonthFlow" resultType="com.njcn.device.pq.pojo.vo.LineFlowMealDetailVO">
select t.*,
(t.statisValue)/t.flowMeal flowProportion
from (
SELECT
a.id id,
a.name deviceName,
a.level,
sub.name substation,
gd.name electricPowerCompany,
b.IP DeviceIP,
b.id deviceId,
ifnull(d.flow, (select flow from cld_flow_meal where type = 0 and flag = 1)) + ifnull(d1.flow, 0) flowMeal,
-- ifnull(m.Actual_Value/1024/1024,0) statisValue
ifnull(convert(m.Actual_Value/1024/1024,decimal(7,2)),0) statisValue
FROM pq_line a
INNER JOIN pq_line sub ON sub.id = a.pid
INNER JOIN pq_line gd ON gd.id = sub.pid
INNER JOIN pq_device b ON a.id = b.id
LEFT JOIN cld_month_flow m ON b.id = m.Dev_Id
LEFT JOIN cld_dev_meal c ON b.id = c.line_id
LEFT JOIN cld_flow_meal d ON c.Base_Meal_Id = d.id
LEFT JOIN cld_flow_meal d1 ON c.Ream_Meal_Id = d1.id
where a.id in
<foreach item="item" collection="devs" separator="," open="(" close=")">
#{item}
</foreach>
and
a.Create_Time between #{startTime} and #{endTime}
and
b.Run_Flag != 2
) t
ORDER BY flowProportion DESC
</select>
</mapper> </mapper>

View File

@@ -208,6 +208,4 @@ public interface LineService {
Page<TopMsgPO> dailyDeviceAbnormalStatistics(PqsParam param); Page<TopMsgPO> dailyDeviceAbnormalStatistics(PqsParam param);
List<TopMsgPO> dailyDeviceAbnormal(DeviceInfoParam.BusinessParam conditionBusinessParam); List<TopMsgPO> dailyDeviceAbnormal(DeviceInfoParam.BusinessParam conditionBusinessParam);
List<LineFlowMealDetailVO> getMonthFlow (PqsParam deviceInfoParam);
} }

View File

@@ -2,8 +2,10 @@ package com.njcn.device.pq.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.device.pq.pojo.param.DeviceInfoParam; import com.njcn.device.pq.pojo.param.DeviceInfoParam;
import com.njcn.device.pq.pojo.param.PqsParam;
import com.njcn.device.pq.pojo.param.TerminalMainQueryParam; import com.njcn.device.pq.pojo.param.TerminalMainQueryParam;
import com.njcn.device.pq.pojo.param.TerminalParam; import com.njcn.device.pq.pojo.param.TerminalParam;
import com.njcn.device.pq.pojo.vo.LineFlowMealDetailVO;
import com.njcn.device.pq.pojo.vo.TerminalDaliyFlowVO; import com.njcn.device.pq.pojo.vo.TerminalDaliyFlowVO;
import com.njcn.device.pq.pojo.vo.TerminalMaintainVO; import com.njcn.device.pq.pojo.vo.TerminalMaintainVO;
@@ -55,4 +57,6 @@ public interface TerminalMaintainService {
List<TerminalDaliyFlowVO> getFlowManageDetail(TerminalMainQueryParam param); List<TerminalDaliyFlowVO> getFlowManageDetail(TerminalMainQueryParam param);
List<LineFlowMealDetailVO> getMonthFlow(PqsParam deviceInfoParam);
} }

View File

@@ -403,12 +403,6 @@ public class LineServiceImpl extends ServiceImpl<LineMapper, Line> implements Li
return topMsgDetails; return topMsgDetails;
} }
@Override
public List<LineFlowMealDetailVO> getMonthFlow(PqsParam deviceInfoParam) {
List<LineFlowMealDetailVO> list = lineMapper.getMonthFlow(deviceInfoParam.getDevId(),DateUtil.beginOfDay(DateUtil.parse(deviceInfoParam.getSearchBeginTime())),DateUtil.endOfDay(DateUtil.parse(deviceInfoParam.getSearchEndTime())));
return list;
}
@Override @Override
public List<LineFlowMealDetailVO> getDeviceRunStatistics(DeviceInfoParam.BusinessParam deviceInfoParam) { public List<LineFlowMealDetailVO> getDeviceRunStatistics(DeviceInfoParam.BusinessParam deviceInfoParam) {
ArrayList<LineFlowMealDetailVO> lineFlowMealDetailList = new ArrayList<>(); ArrayList<LineFlowMealDetailVO> lineFlowMealDetailList = new ArrayList<>();

View File

@@ -11,6 +11,7 @@ import com.njcn.device.pq.enums.DeviceResponseEnum;
import com.njcn.device.pq.mapper.TerminalMaintainMapper; import com.njcn.device.pq.mapper.TerminalMaintainMapper;
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO; import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
import com.njcn.device.pq.pojo.param.DeviceInfoParam; import com.njcn.device.pq.pojo.param.DeviceInfoParam;
import com.njcn.device.pq.pojo.param.PqsParam;
import com.njcn.device.pq.pojo.param.TerminalMainQueryParam; import com.njcn.device.pq.pojo.param.TerminalMainQueryParam;
import com.njcn.device.pq.pojo.param.TerminalParam; import com.njcn.device.pq.pojo.param.TerminalParam;
import com.njcn.device.pq.pojo.po.Communicate; import com.njcn.device.pq.pojo.po.Communicate;
@@ -18,6 +19,7 @@ import com.njcn.device.pq.pojo.po.DevMeal;
import com.njcn.device.pq.pojo.po.DevStrategy; import com.njcn.device.pq.pojo.po.DevStrategy;
import com.njcn.device.pq.pojo.po.Device; import com.njcn.device.pq.pojo.po.Device;
import com.njcn.device.pq.pojo.po.influxdb.DeviceDayFlow; import com.njcn.device.pq.pojo.po.influxdb.DeviceDayFlow;
import com.njcn.device.pq.pojo.vo.LineFlowMealDetailVO;
import com.njcn.device.pq.pojo.vo.TerminalDaliyFlowVO; import com.njcn.device.pq.pojo.vo.TerminalDaliyFlowVO;
import com.njcn.device.pq.pojo.vo.TerminalMaintainVO; import com.njcn.device.pq.pojo.vo.TerminalMaintainVO;
import com.njcn.device.pq.service.IDevMealService; import com.njcn.device.pq.service.IDevMealService;
@@ -182,6 +184,15 @@ public class TerminalMaintainServiceImpl implements TerminalMaintainService {
return list; return list;
} }
@Override
public List<LineFlowMealDetailVO> getMonthFlow(PqsParam deviceInfoParam) {
List<String> deviceIndexes = new ArrayList<>();
List<GeneralDeviceDTO> deviceInfoList = generalDeviceService.getDeviceInfo(deviceInfoParam, null, Stream.of(1).collect(Collectors.toList()));
deviceInfoList.stream().map(GeneralDeviceDTO::getDeviceIndexes).forEach(deviceIndexes::addAll);
List<LineFlowMealDetailVO> list = terminalMaintainMapper.getMonthFlow(deviceIndexes,DateUtil.beginOfDay(DateUtil.parse(deviceInfoParam.getSearchBeginTime())),DateUtil.endOfDay(DateUtil.parse(deviceInfoParam.getSearchEndTime())));
return list;
}
private List<DeviceDayFlow> getFlowManageDetailFromInfluxDB (TerminalMainQueryParam param) { private List<DeviceDayFlow> getFlowManageDetailFromInfluxDB (TerminalMainQueryParam param) {
StringBuilder stringBuilder = new StringBuilder(); StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("time >= '").append(DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime()))).append("' and ").append("time <= '").append(DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime()))).append("' and "); stringBuilder.append("time >= '").append(DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime()))).append("' and ").append("time <= '").append(DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime()))).append("' and ");