重复数据优化

This commit is contained in:
zhuxinyu
2023-04-21 14:45:36 +08:00
parent f13711161a
commit dfa8b6e751
2 changed files with 38 additions and 32 deletions

View File

@@ -840,10 +840,19 @@
</select> </select>
<select id="getNewDeviceFlowStatistics" resultType="LineFlowMealDetailVO"> <select id="getNewDeviceFlowStatistics" resultType="LineFlowMealDetailVO">
select t.*, SELECT
(t.statisValue)/t.flowMeal flowProportion ANY_VALUE(t.ID) id,
ANY_VALUE(t.name) name,
ANY_VALUE(t.substation) substation,
ANY_VALUE(t.updateTime) updateTime,
ANY_VALUE(t.runFlag) runFlag,
ANY_VALUE(t.comFlag) comFlag,
ANY_VALUE(t.flowMeal) flowMeal,
SUM(t.statisValue) statisValue,
ROUND(SUM(t.statisValue)/flowMeal,2) flowProportion
from ( from (
SELECT SELECT
device.id id,
device.Name name, device.Name name,
sub.Name substation, sub.Name substation,
device.Update_Time updateTime, device.Update_Time updateTime,
@@ -866,7 +875,9 @@
m.Time_Id between #{startTime} and #{endTime} m.Time_Id between #{startTime} and #{endTime}
and and
b.Run_Flag != 2 b.Run_Flag != 2
) t ORDER BY flowProportion DESC ) t
GROUP BY t.id
ORDER BY flowProportion DESC
</select> </select>
<select id="getFlowLineInfoByTableList" resultType="LineFlowMealDetailVO"> <select id="getFlowLineInfoByTableList" resultType="LineFlowMealDetailVO">

View File

@@ -379,10 +379,9 @@ public class LineServiceImpl extends ServiceImpl<LineMapper, Line> implements Li
@Override @Override
public Page<LineFlowMealDetailVO> getNewDeviceRunStatistics(PqsParam deviceInfoParam) { public Page<LineFlowMealDetailVO> getNewDeviceRunStatistics(PqsParam deviceInfoParam) {
List<String> deviceIndexes = new ArrayList<>(); List<String> deviceIndexes = new ArrayList<>();
Page<LineFlowMealDetailVO> page = new Page();
List<GeneralDeviceDTO> deviceInfoList = generalDeviceService.getDeviceInfo(deviceInfoParam, null, Stream.of(1).collect(Collectors.toList())); List<GeneralDeviceDTO> deviceInfoList = generalDeviceService.getDeviceInfo(deviceInfoParam, null, Stream.of(1).collect(Collectors.toList()));
deviceInfoList.stream().map(GeneralDeviceDTO::getDeviceIndexes).forEach(deviceIndexes::addAll); deviceInfoList.stream().map(GeneralDeviceDTO::getDeviceIndexes).forEach(deviceIndexes::addAll);
page = lineMapper.getNewDeviceFlowStatistics( Page<LineFlowMealDetailVO> page = lineMapper.getNewDeviceFlowStatistics(
new Page(deviceInfoParam.getPageNum(), deviceInfoParam.getPageSize()), new Page(deviceInfoParam.getPageNum(), deviceInfoParam.getPageSize()),
deviceIndexes, deviceIndexes,
DateUtil.beginOfDay(DateUtil.parse(deviceInfoParam.getSearchBeginTime())), DateUtil.beginOfDay(DateUtil.parse(deviceInfoParam.getSearchBeginTime())),
@@ -392,12 +391,8 @@ public class LineServiceImpl extends ServiceImpl<LineMapper, Line> implements Li
@Override @Override
public Page<TopMsgPO> dailyDeviceAbnormalStatistics(PqsParam param) { public Page<TopMsgPO> dailyDeviceAbnormalStatistics(PqsParam param) {
long start = System.currentTimeMillis();
Page topMsg = topMsgMapper.getTopMsg(new Page(param.getPageNum(), param.getPageSize()), param.getLineGrade(), DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())), Page topMsg = topMsgMapper.getTopMsg(new Page(param.getPageNum(), param.getPageSize()), param.getLineGrade(), DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())),
DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime()))); DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())));
long end = System.currentTimeMillis();
System.out.println("====================================");
System.out.println(end-start);
return topMsg; return topMsg;
} }