问题单修复

This commit is contained in:
zhuxinyu
2023-05-06 14:52:44 +08:00
parent a88d5237ec
commit fe0426520b
7 changed files with 63 additions and 21 deletions

View File

@@ -10,9 +10,9 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface TopMsgMapper {
Page<TopMsgPO> getTopMsg(Page<TopMsgPO> page,@Param("lineGrade") String lineGrade, @Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime);
Page<TopMsgPO> dailyDeviceAbnormalStatistics(Page<TopMsgPO> page,@Param("lineGrade") String lineGrade, @Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime);
List<TopMsgPO> getTopMsgDetail(@Param("lineGrade") String lineGrade,@Param("startTime") DateTime startTime);
List<TopMsgPO> dailyDeviceAbnormal(@Param("lineGrade") String lineGrade,@Param("startTime") DateTime startTime);

View File

@@ -159,7 +159,6 @@
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
@@ -169,14 +168,48 @@
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
WHERE a.id IN
<foreach item="item" collection="devs" separator="," open="(" close=")">
#{item}
</foreach>
AND
m.Time_Id between #{startTime} and #{endTime}
AND
b.Run_Flag != 2
) t
ORDER BY flowProportion DESC
</select>
<select id="getMonthFlowNew" 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(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
m.Time_Id between #{startTime} and #{endTime}
and
b.Run_Flag != 2
) t
ORDER BY flowProportion DESC
</select>

View File

@@ -2,7 +2,7 @@
<!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.TopMsgMapper">
<select id="getTopMsg" resultType="com.njcn.device.pq.pojo.po.TopMsgPO">
<select id="dailyDeviceAbnormalStatistics" resultType="com.njcn.device.pq.pojo.po.TopMsgPO">
SELECT
ptm.Time_Id AS time,
IFNULL(COUNT(ptm.Dev_Id),3.14159)AS deviceAbnormalNum
@@ -21,7 +21,7 @@
GROUP BY ptm.Time_Id
</select>
<select id="getTopMsgDetail" resultType="com.njcn.device.pq.pojo.po.TopMsgPO">
<select id="dailyDeviceAbnormal" resultType="com.njcn.device.pq.pojo.po.TopMsgPO">
SELECT
device.Id AS devId,
city.Name AS cityName,
@@ -44,9 +44,9 @@
INNER JOIN pqs_top_msg ptm ON ptm.Dev_Id = device.Id
LEFT JOIN pq_line_detail pld ON pld.Id=line.Id
WHERE
ptm.State=1
ptm.State=1
AND
ptm.Time_Id = #{startTime}
ptm.Time_Id = #{startTime}
<if test="lineGrade!=null and lineGrade!=''">
AND pld.Line_Grade=#{lineGrade}
</if>

View File

@@ -391,14 +391,19 @@ public class LineServiceImpl extends ServiceImpl<LineMapper, Line> implements Li
@Override
public Page<TopMsgPO> dailyDeviceAbnormalStatistics(PqsParam param) {
Page topMsg = topMsgMapper.getTopMsg(new Page(param.getPageNum(), param.getPageSize()), param.getLineGrade(), DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())),
Page topMsg = topMsgMapper.dailyDeviceAbnormalStatistics(
new Page(param.getPageNum(), param.getPageSize()),
param.getLineGrade(),
DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())),
DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())));
return topMsg;
}
@Override
public List<TopMsgPO> dailyDeviceAbnormal(DeviceInfoParam.BusinessParam param) {
List<TopMsgPO> topMsgDetails = topMsgMapper.getTopMsgDetail(param.getLineGrade(), DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())));
List<TopMsgPO> topMsgDetails = topMsgMapper.dailyDeviceAbnormal(
param.getLineGrade(),
DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())));
return topMsgDetails;
}

View File

@@ -106,7 +106,7 @@ public class LogManageServiceImpl implements LogManageService {
p.setSize(eventLogParam.getPageSize());
p.setCurrent(eventLogParam.getPageNum());
LambdaQueryWrapper<EventPushLogs> wrapper = new LambdaQueryWrapper<>();
wrapper.between(EventPushLogs::getTimeId,DateUtil.beginOfDay(DateUtil.parse(eventLogParam.getSearchBeginTime())),DateUtil.beginOfDay(DateUtil.parse(eventLogParam.getSearchEndTime())));
wrapper.between(EventPushLogs::getTimeId,DateUtil.beginOfDay(DateUtil.parse(eventLogParam.getSearchBeginTime())),DateUtil.endOfDay(DateUtil.parse(eventLogParam.getSearchEndTime())));
wrapper.eq(EventPushLogs::getResult,eventLogParam.getResult());
Page<EventPushLogs> rawPage = eventPushLogsMapper.selectPage(p, wrapper);
List<EventPushLogs> rawLogs = rawPage.getRecords();
@@ -217,9 +217,11 @@ public class LogManageServiceImpl implements LogManageService {
private boolean filterLineIdAndTime(EventDetail eventDetail, List<EventPushLogs> eventPushLogs) {
boolean flag = false;
String evenDetailTime = eventDetail.getStartTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
for (EventPushLogs log : eventPushLogs) {
if (log.getLineId().equals(eventDetail.getLineId()) && eventDetail.getStartTime().isEqual(log.getTimeId())) {
flag=true;
String logTime = log.getTimeId().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
if (log.getLineId().equals(eventDetail.getLineId()) && evenDetailTime.equals(logTime)) {
flag = true;
}
}
return flag;