From c9ac33864a5d2b17efcf580742a10706e4e5b450 Mon Sep 17 00:00:00 2001 From: chendaofei <857448963@qq.com> Date: Tue, 15 Jul 2025 20:35:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=AE=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/EventGateController.java | 42 +++++- .../LargeScreenCountController.java | 11 ++ .../event/transientes/pojo/vo/MapCountVO.java | 7 +- .../transientes/security/SecurityConfig.java | 2 +- .../service/LargeScreenCountService.java | 3 + .../impl/LargeScreenCountServiceImpl.java | 137 +++++++++--------- .../src/main/resources/application.yml | 14 +- 7 files changed, 132 insertions(+), 84 deletions(-) diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/controller/EventGateController.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/controller/EventGateController.java index 0d4d71f9..e9a98dd1 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/transientes/controller/EventGateController.java +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/controller/EventGateController.java @@ -113,6 +113,38 @@ public class EventGateController extends BaseController { } + + @OperateInfo + @GetMapping("/testEvent") + @ApiOperation("接收远程推送的暂态事件") + public HttpResult testEvent() { + String methodDescribe = getMethodDescribe("testEvent"); + log.info("模拟测试发送暂降事件-------------------------"); + + JSONObject jsonObject; + try { + //下面一行代码正式环境需要放开 + jsonObject = test(); + + if (msgEventConfigService.getEventType().contains(jsonObject.get("wavetype").toString())) { + webSocketServer.sendMessageToAll(jsonObject.toString()); + + //开始发送短信 + try { + sendMessage(jsonObject); + }catch (Exception e){ + log.error("短信组装发送失败!失败原因{}",e.getMessage()); + } + + } + + } catch (Exception e) { + log.error("暂降json格式异常!{}", e.getMessage()); + } + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + + //测试模拟,正式环境删除 private PqsEventdetail createEvent(JSONObject jsonObject, LocalDateTime now) { PqsEventdetail pqsEventdetail = new PqsEventdetail(); @@ -149,12 +181,8 @@ public class EventGateController extends BaseController { Integer[] temArr = new Integer[]{1, 3}; Integer wave = random.nextInt(2); - double min = 0.5; - double max = 10.0; - // 生成 (0.5, 10.0) 范围内的随机小数 - Double perTem = min + (max - min) * Math.random(); - Double per = new BigDecimal(perTem).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double per = (double)random.nextInt(5000); double minV = 0.1; double maxV = 0.9; @@ -176,11 +204,11 @@ public class EventGateController extends BaseController { tem.set("bdname", dto.getStationName()); tem.set("pointname", dto.getLineName()); - PqsEventdetail pqsEventdetail = createEvent(tem, now); + /* PqsEventdetail pqsEventdetail = createEvent(tem, now); if (msgEventConfigService.getEventType().contains(tem.get("wavetype").toString())) { webSocketServer.sendMessageToAll(tem.toString()); } - pqsEventdetailService.save(pqsEventdetail); + pqsEventdetailService.save(pqsEventdetail);*/ /*----------------------------------------------------------------------------------------*/ return tem; diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/controller/LargeScreenCountController.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/controller/LargeScreenCountController.java index 9c4ea397..8dd3b387 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/transientes/controller/LargeScreenCountController.java +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/controller/LargeScreenCountController.java @@ -37,6 +37,17 @@ import java.util.List; public class LargeScreenCountController extends BaseController { private final LargeScreenCountService largeScreenCountService; + + @OperateInfo + @PostMapping("/initLedger") + @ApiOperation("台账规模统计") + @ApiImplicitParam(name = "largeScreenCountParam", value = "查询参数", required = true) + public HttpResult initLedger(@RequestBody LargeScreenCountParam largeScreenCountParam) { + String methodDescribe = getMethodDescribe("initLedger"); + largeScreenCountService.initLedger(largeScreenCountParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + @OperateInfo @PostMapping("/ledgercount") @ApiOperation("台账规模统计") diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/vo/MapCountVO.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/vo/MapCountVO.java index 47f3fb9b..e6822664 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/vo/MapCountVO.java +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/vo/MapCountVO.java @@ -6,6 +6,7 @@ import com.njcn.gather.event.transientes.pojo.po.MsgEventInfo; import com.njcn.gather.event.transientes.pojo.po.PqsEventdetail; import lombok.Data; +import java.util.ArrayList; import java.util.List; /** @@ -23,7 +24,7 @@ public class MapCountVO { private Integer eventCount; private Integer noticeCount; - private List lineList; - private List eventList; - private List noticeList; + private List lineList = new ArrayList<>(); + private List eventList = new ArrayList<>(); + private List noticeList = new ArrayList<>(); } diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/security/SecurityConfig.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/security/SecurityConfig.java index be891523..933fa497 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/transientes/security/SecurityConfig.java +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/security/SecurityConfig.java @@ -34,7 +34,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter { protected void configure(HttpSecurity http) throws Exception { http.csrf().disable() .authorizeRequests() - .antMatchers("/cn_authenticate","/ws/**").permitAll() // 允许访问认证接口 + .antMatchers("/cn_authenticate","/ws/**","/accept/testEvent").permitAll() // 允许访问认证接口 //.antMatchers("/**").permitAll() // 允许访问认证接口 .anyRequest().authenticated() .and() diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/service/LargeScreenCountService.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/service/LargeScreenCountService.java index d6967489..6d35647e 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/transientes/service/LargeScreenCountService.java +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/service/LargeScreenCountService.java @@ -17,6 +17,9 @@ import java.util.List; * @version V1.0.0 */ public interface LargeScreenCountService { + + void initLedger(LargeScreenCountParam largeScreenCountParam); + LedgerCountVO scaleStatistics(LargeScreenCountParam largeScreenCountParam); AlarmAnalysisVO alarmAnalysis(LargeScreenCountParam largeScreenCountParam); diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/LargeScreenCountServiceImpl.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/LargeScreenCountServiceImpl.java index da89d1e7..1233e953 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/LargeScreenCountServiceImpl.java +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/LargeScreenCountServiceImpl.java @@ -47,6 +47,8 @@ import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import javax.annotation.PostConstruct; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.*; @@ -66,7 +68,6 @@ import java.util.stream.Stream; @Slf4j public class LargeScreenCountServiceImpl implements LargeScreenCountService { - private final JwtUtil jwtUtil; private final PqsDeptslineService pqsDeptslineService; private final PqsDeptsService pqsDeptsService; private final PqLineService pqLineService; @@ -86,27 +87,31 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { private String sysTypeZt; + private List lineIds = new ArrayList<>(); + + + @Override + public void initLedger(LargeScreenCountParam largeScreenCountParam) { + lineIds = commGeneralService.getLineIdsByDept(largeScreenCountParam); + } + @Override public LedgerCountVO scaleStatistics(LargeScreenCountParam largeScreenCountParam) { LedgerCountVO ledgerCountVO = new LedgerCountVO(); //根据用户获取当前部门及子部门id - List deptAndChildren = pqsDeptsService.findDeptAndChildren(largeScreenCountParam.getDeptId()); - //获取对应监测点id - List deptslines = pqsDeptslineService.lambdaQuery().in(PqsDeptsline::getDeptsIndex, deptAndChildren).eq(PqsDeptsline::getSystype, sysTypeZt).list(); - List deptslineIds = deptslines.stream().map(PqsDeptsline::getLineIndex).collect(Collectors.toList()); - if (CollectionUtils.isEmpty(deptslineIds)) { + //lineIds = commGeneralService.getLineIdsByDept(largeScreenCountParam); + if (CollectionUtils.isEmpty(lineIds)) { throw new BusinessException("部门下暂无监测点"); - } List pqLineList = new ArrayList<>(); - if(deptslineIds.size()>1000){ - List> listIds = CollUtil.split(deptslineIds,1000); + if(lineIds.size()>1000){ + List> listIds = CollUtil.split(lineIds,1000); for(List itemIds : listIds){ - List temp =pqLineService.lambdaQuery().in(PqLine::getLineIndex, listIds).list(); + List temp =pqLineService.lambdaQuery().in(PqLine::getLineIndex, itemIds).list(); pqLineList.addAll(temp); } }else { - List temp = pqLineService.lambdaQuery().in(PqLine::getLineIndex, deptslineIds).list(); + List temp = pqLineService.lambdaQuery().in(PqLine::getLineIndex, lineIds).list(); pqLineList.addAll(temp); } //统计总数 @@ -171,17 +176,14 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { } //根据用户获取当前部门及子部门id - List deptAndChildren = pqsDeptsService.findDeptAndChildren(largeScreenCountParam.getDeptId()); - //获取对应监测点id - List deptslines = pqsDeptslineService.lambdaQuery().in(PqsDeptsline::getDeptsIndex, deptAndChildren).eq(PqsDeptsline::getSystype, sysTypeZt).list(); - List deptslineIds = deptslines.stream().map(PqsDeptsline::getLineIndex).collect(Collectors.toList()); - if (CollectionUtils.isEmpty(deptslineIds)) { + + if (CollectionUtils.isEmpty(lineIds)) { throw new BusinessException("部门下暂无监测点"); } List eventdetails = new ArrayList<>(); - if(deptslineIds.size()>1000){ - List> listIds = CollUtil.split(deptslineIds,1000); + if(lineIds.size()>1000){ + List> listIds = CollUtil.split(lineIds,1000); for(List itemIds : listIds){ List temp = pqsEventdetailService.lambdaQuery() .between(PqsEventdetail::getTimeid,startTime, endTime) @@ -195,7 +197,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { List temp = pqsEventdetailService.lambdaQuery() .between(PqsEventdetail::getTimeid, startTime, endTime) .in(PqsEventdetail::getWavetype,msgEventConfigService.getEventType()) - .in(PqsEventdetail::getLineid,deptslineIds) + .in(PqsEventdetail::getLineid,lineIds) .orderByDesc(PqsEventdetail::getTimeid).list(); eventdetails.addAll(temp); } @@ -266,19 +268,19 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { } else { throw new BusinessException("统计类型有误类型"); } - List deptAndChildren = pqsDeptsService.findDeptAndChildren(largeScreenCountParam.getDeptId()); + // List deptAndChildren = pqsDeptsService.findDeptAndChildren(largeScreenCountParam.getDeptId()); //获取对应监测点id - List deptslines = pqsDeptslineService.lambdaQuery().in(PqsDeptsline::getDeptsIndex, deptAndChildren).eq(PqsDeptsline::getSystype, sysTypeZt).list(); - List deptslineIds = deptslines.stream().map(PqsDeptsline::getLineIndex).collect(Collectors.toList()); - if (CollectionUtils.isEmpty(deptslineIds)) { + //List deptslines = pqsDeptslineService.lambdaQuery().in(PqsDeptsline::getDeptsIndex, deptAndChildren).eq(PqsDeptsline::getSystype, sysTypeZt).list(); + //List deptslineIds = deptslines.stream().map(PqsDeptsline::getLineIndex).collect(Collectors.toList()); + if (CollectionUtils.isEmpty(lineIds)) { throw new BusinessException("部门下暂无监测点"); } LocalDate startDate = LocalDate.parse(DateUtil.format(startTime, DatePattern.NORM_DATE_PATTERN)); LocalDate endDate = LocalDate.parse(DateUtil.format(endTime, DatePattern.NORM_DATE_PATTERN)); List eventdetails = new ArrayList<>(); - if(deptslineIds.size()>1000){ - List> listIds = CollUtil.split(deptslineIds,1000); + if(lineIds.size()>1000){ + List> listIds = CollUtil.split(lineIds,1000); for(List itemIds : listIds){ List temp = pqsEventdetailService.lambdaQuery() .between(PqsEventdetail::getTimeid, startTime, endTime) @@ -291,7 +293,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { List temp = pqsEventdetailService.lambdaQuery() .between(PqsEventdetail::getTimeid, startTime, endTime) .in(PqsEventdetail::getWavetype,msgEventConfigService.getEventType()) - .in(PqsEventdetail::getLineid,deptslineIds) + .in(PqsEventdetail::getLineid,lineIds) .orderByDesc(PqsEventdetail::getTimeid).list(); eventdetails.addAll(temp); } @@ -351,20 +353,20 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { throw new BusinessException("统计类型有误类型"); } //根据用户获取当前部门及子部门id - List deptAndChildren = pqsDeptsService.findDeptAndChildren(largeScreenCountParam.getDeptId()); + //List deptAndChildren = pqsDeptsService.findDeptAndChildren(largeScreenCountParam.getDeptId()); //获取对应监测点id - List deptslines = pqsDeptslineService.lambdaQuery().in(PqsDeptsline::getDeptsIndex, deptAndChildren).eq(PqsDeptsline::getSystype, sysTypeZt).list(); - List deptslineIds = deptslines.stream().map(PqsDeptsline::getLineIndex).distinct().collect(Collectors.toList()); - if (CollectionUtils.isEmpty(deptslineIds)) { + //List deptslines = pqsDeptslineService.lambdaQuery().in(PqsDeptsline::getDeptsIndex, deptAndChildren).eq(PqsDeptsline::getSystype, sysTypeZt).list(); + //List deptslineIds = deptslines.stream().map(PqsDeptsline::getLineIndex).distinct().collect(Collectors.toList()); + if (CollectionUtils.isEmpty(lineIds)) { throw new BusinessException("部门下暂无监测点"); } - List pqLineList = pqLineService.getBaseLineInfo(deptslineIds); + List pqLineList = pqLineService.getBaseLineInfo(lineIds); Map ledgerBaseInfoDTOMap = pqLineList.stream().collect(Collectors.toMap(LedgerBaseInfoDTO::getLineId, Function.identity())); QueryWrapper queryWrapper = new QueryWrapper<>(); - if (deptslineIds.size()>1000) { - List> idPartitions = CollUtil.split(deptslineIds,1000); + if (lineIds.size()>1000) { + List> idPartitions = CollUtil.split(lineIds,1000); queryWrapper.lambda() .between(PqsEventdetail::getTimeid, startTime, endTime) @@ -379,7 +381,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { } else { queryWrapper.lambda() .between(PqsEventdetail::getTimeid, startTime, endTime) - .in(PqsEventdetail::getLineid, deptslineIds) + .in(PqsEventdetail::getLineid, lineIds) .in(PqsEventdetail::getWavetype,msgEventConfigService.getEventType()) .orderByDesc(PqsEventdetail::getTimeid); } @@ -401,8 +403,6 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { } - - IPage list = pqsEventdetailService.getBaseMapper().selectPage(pqsEventdetailPage,queryWrapper); List finalNoticeLineIds = noticeLineIds; List collect = list.getRecords().stream().map(temp -> { @@ -411,7 +411,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { eventDetailVO.setTimeid(temp.getTimeid()); eventDetailVO.setMs(temp.getMs()); eventDetailVO.setWavetype(temp.getWavetype().toString()); - eventDetailVO.setPersisttime(String.valueOf(temp.getPersisttime()/1000)); + eventDetailVO.setPersisttime(BigDecimal.valueOf(temp.getPersisttime() / 1000).setScale(3, RoundingMode.HALF_UP).toString()); eventDetailVO.setEventvalue(temp.getEventvalue()); eventDetailVO.setLookFlag(temp.getLookFlag()); eventDetailVO.setNoticeFlag(temp.getNoticeFlag()); @@ -452,14 +452,14 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { throw new BusinessException("统计类型有误类型"); } //根据用户获取当前部门及子部门id - List deptslineIds = commGeneralService.getLineIdsByDept(largeScreenCountParam); - if (CollUtil.isEmpty(deptslineIds)) { + // List deptslineIds = commGeneralService.getLineIdsByDept(largeScreenCountParam); + if (CollUtil.isEmpty(lineIds)) { return result; } List allList = new ArrayList<>(); LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - if(deptslineIds.size()>1000){ - List> idList = CollUtil.split(deptslineIds,1000); + if(lineIds.size()>1000){ + List> idList = CollUtil.split(lineIds,1000); for(List ids:idList){ lambdaQueryWrapper.clear(); lambdaQueryWrapper.between(PqsEventdetail::getTimeid, startTime, endTime) @@ -479,7 +479,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { }else { lambdaQueryWrapper.between(PqsEventdetail::getTimeid, startTime, endTime) .in(PqsEventdetail::getWavetype,msgEventConfigService.getEventType()) - .in(PqsEventdetail::getLineid, deptslineIds) + .in(PqsEventdetail::getLineid, lineIds) .and(wrapper -> wrapper.eq(PqsEventdetail::getLookFlag, 0).or().isNull(PqsEventdetail::getLookFlag)); if (Objects.nonNull(largeScreenCountParam.getEventDeep())) { if (largeScreenCountParam.getEventDeep() == 0) { @@ -503,7 +503,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { eventDetailVO.setTimeid(it.getTimeid()); eventDetailVO.setMs(it.getMs()); eventDetailVO.setWavetype(it.getWavetype().toString()); - eventDetailVO.setPersisttime(String.valueOf(it.getPersisttime()/1000)); + eventDetailVO.setPersisttime(BigDecimal.valueOf(it.getPersisttime() / 1000).setScale(3, RoundingMode.HALF_UP).toString()); eventDetailVO.setEventvalue(it.getEventvalue()); if (ledgerBaseInfoDTOMap.containsKey(it.getLineid())) { LedgerBaseInfoDTO ledgerBaseInfoDTO = ledgerBaseInfoDTOMap.get(it.getLineid()); @@ -562,19 +562,25 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { List deptslines = pqsDeptslineService.lambdaQuery().in(PqsDeptsline::getDeptsIndex, deptAndChildren).eq(PqsDeptsline::getSystype, sysTypeZt).list(); if (CollectionUtils.isEmpty(deptslines)) { throw new BusinessException("部门下暂无监测点"); - } - List list = pqsDeptsService.lambdaQuery().list(); + + + List list = pqsDeptsService.lambdaQuery().eq(PqsDepts::getState,1).list(); Map stringPqsDeptsMap = list.stream().collect(Collectors.toMap(PqsDepts::getDeptsIndex, Function.identity(), (key1, key2) -> key2)); Map> collect = deptslines.stream().collect(Collectors.groupingBy(PqsDeptsline::getDeptsIndex)); + + List ids = deptslines.stream().map(PqsDeptsline::getLineIndex).collect(Collectors.toList()); + List ledgerBaseInfoDTOS = pqLineService.getBaseLineInfo(ids); + collect.forEach((k, v) -> { + List temList = v.stream().map(PqsDeptsline::getLineIndex).collect(Collectors.toList()); MapCountVO mapCountVO = new MapCountVO(); mapCountVO.setDeptsIndex(k); mapCountVO.setDeptsName(stringPqsDeptsMap.get(k).getDeptsname()); - List ledgerBaseInfoDTOS = pqLineService.getBaseLineInfo(v.stream().map(PqsDeptsline::getLineIndex).collect(Collectors.toList())); - mapCountVO.setLineList(ledgerBaseInfoDTOS); - mapCountVO.setLineCount(ledgerBaseInfoDTOS.size()); + List temLedger = ledgerBaseInfoDTOS.stream().filter(it->temList.contains(it.getLineId())).collect(Collectors.toList()); + mapCountVO.setLineList(temLedger); + mapCountVO.setLineCount(temLedger.size()); List deptslineIds = v.stream().map(PqsDeptsline::getLineIndex).collect(Collectors.toList()); List eventdetails = pqsEventdetailService.lambdaQuery() .between(PqsEventdetail::getTimeid, startTime, endTime) @@ -586,13 +592,12 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { List temp = new ArrayList<>(); if(!CollectionUtils.isEmpty(eveIdndex)){ temp =msgEventInfoService.getMsgByIds(eveIdndex); - } - List change = change(eventdetails,temp); + // List change = change(eventdetails,temp); - mapCountVO.setEventList(change); + // mapCountVO.setEventList(change); mapCountVO.setNoticeCount(temp.size()); - mapCountVO.setNoticeList(temp); + // mapCountVO.setNoticeList(temp); result.add(mapCountVO); }); return result; @@ -623,19 +628,19 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { @Override public List msgSendList(LargeScreenCountParam largeScreenCountParam) { List result = new ArrayList<>(); - List ids = commGeneralService.getLineIdsByDept(largeScreenCountParam); - if (CollUtil.isEmpty(ids)) { + // List ids = commGeneralService.getLineIdsByDept(largeScreenCountParam); + if (CollUtil.isEmpty(lineIds)) { return result; } List allEventList = new ArrayList<>(); - if (ids.size() > 1000) { - List> listIds = CollUtil.split(ids, 1000); + if (lineIds.size() > 1000) { + List> listIds = CollUtil.split(lineIds, 1000); for (List itemIds : listIds) { List pqsEventdetailList = pqsEventdetailService.lambdaQuery().in(PqsEventdetail::getLineid, itemIds).select(PqsEventdetail::getEventdetailIndex).list(); allEventList.addAll(pqsEventdetailList); } } else { - List pqsEventdetailList = pqsEventdetailService.lambdaQuery().in(PqsEventdetail::getLineid, ids).select(PqsEventdetail::getEventdetailIndex).list(); + List pqsEventdetailList = pqsEventdetailService.lambdaQuery().in(PqsEventdetail::getLineid, lineIds).select(PqsEventdetail::getEventdetailIndex).list(); allEventList.addAll(pqsEventdetailList); } if (CollUtil.isEmpty(allEventList)) { @@ -706,17 +711,17 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { } //根据用户获取当前部门及子部门id - List deptAndChildren = pqsDeptsService.findDeptAndChildren(largeScreenCountParam.getDeptId()); + //List deptAndChildren = pqsDeptsService.findDeptAndChildren(largeScreenCountParam.getDeptId()); //获取对应监测点id - List deptslines = pqsDeptslineService.lambdaQuery().in(PqsDeptsline::getDeptsIndex, deptAndChildren).eq(PqsDeptsline::getSystype, sysTypeZt).list(); - List deptslineIds = deptslines.stream().map(PqsDeptsline::getLineIndex).collect(Collectors.toList()); - if (CollectionUtils.isEmpty(deptslineIds)) { + //List deptslines = pqsDeptslineService.lambdaQuery().in(PqsDeptsline::getDeptsIndex, deptAndChildren).eq(PqsDeptsline::getSystype, sysTypeZt).list(); + //List deptslineIds = deptslines.stream().map(PqsDeptsline::getLineIndex).collect(Collectors.toList()); + if (CollectionUtils.isEmpty(lineIds)) { throw new BusinessException("部门下暂无监测点"); } List eventdetails = new ArrayList<>(); - if(deptslineIds.size()>1000){ - List> listIds = CollUtil.split(deptslineIds,1000); + if(lineIds.size()>1000){ + List> listIds = CollUtil.split(lineIds,1000); for(List itemIds : listIds){ List temp = pqsEventdetailService.lambdaQuery() .between(PqsEventdetail::getTimeid,startTime, endTime) @@ -730,7 +735,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { List temp = pqsEventdetailService.lambdaQuery() .between(PqsEventdetail::getTimeid, startTime, endTime) .in(PqsEventdetail::getWavetype,msgEventConfigService.getEventType()) - .in(PqsEventdetail::getLineid,deptslineIds) + .in(PqsEventdetail::getLineid,lineIds) .orderByDesc(PqsEventdetail::getTimeid).list(); eventdetails.addAll(temp); } @@ -802,7 +807,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { throw new BusinessException("统计类型有误类型"); } - List lineIds = commGeneralService.getLineIdsByDept(largeScreenCountParam); + //List lineIds = commGeneralService.getLineIdsByDept(largeScreenCountParam); if (CollectionUtils.isEmpty(lineIds)) { throw new BusinessException("部门下暂无监测点"); } @@ -880,7 +885,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { eventDetailVO.setTimeid(temp.getTimeid()); eventDetailVO.setMs(temp.getMs()); eventDetailVO.setWavetype(temp.getWavetype().toString()); - eventDetailVO.setPersisttime(String.valueOf(temp.getPersisttime()/1000)); + eventDetailVO.setPersisttime(BigDecimal.valueOf(temp.getPersisttime() / 1000).setScale(3, RoundingMode.HALF_UP).toString()); eventDetailVO.setEventvalue(temp.getEventvalue()); eventDetailVO.setLookFlag(temp.getLookFlag()); eventDetailVO.setNoticeFlag(temp.getNoticeFlag()); diff --git a/event_smart/src/main/resources/application.yml b/event_smart/src/main/resources/application.yml index b490645e..a03324a5 100644 --- a/event_smart/src/main/resources/application.yml +++ b/event_smart/src/main/resources/application.yml @@ -31,12 +31,12 @@ spring: maxPoolPreparedStatementPerConnectionSize: 20 datasource: master: - #url: jdbc:oracle:thin:@192.168.1.51:1521:pqsbase - #username: pqsadmin_bj - #password: pqsadmin - url: jdbc:oracle:thin:@192.168.10.34:11521:pqsbase - username: pqsadmin - password: Pqsadmin_123 + url: jdbc:oracle:thin:@192.168.1.51:1521:pqsbase + username: pqsadmin_bj + password: pqsadmin + #url: jdbc:oracle:thin:@192.168.10.34:11521:pqsbase + #username: pqsadmin + #password: Pqsadmin_123 driver-class-name: oracle.jdbc.driver.OracleDriver # salve: # driver-class-name: dm.jdbc.driver.DmDriver @@ -53,7 +53,7 @@ mybatis-plus: #驼峰命名 map-underscore-to-camel-case: true #配置sql日志输出 -# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + #log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #关闭日志输出 log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl global-config: