From 9ecfe4f59b11d2b784db4d17873f2cb571a03e71 Mon Sep 17 00:00:00 2001 From: chendaofei <857448963@qq.com> Date: Fri, 1 Aug 2025 17:02:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../event/devcie/mapper/PqDeviceMapper.java | 4 + .../devcie/mapper/mapping/PqDeviceMapper.xml | 33 +++++ .../controller/EventGateController.java | 20 ++- .../controller/EventRightController.java | 12 ++ .../controller/PqsDicTreeController.java | 48 +++++++ .../transientes/mapper/PqsDicTreeMapper.java | 9 ++ .../transientes/pojo/po/PqsDicTreePO.java | 3 + .../transientes/pojo/vo/PqsDicTreeVO.java | 36 +++++ .../pojo/vo/UserLedgerStatisticVO.java | 30 +++- .../service/EventRightService.java | 4 + .../service/PqsDicTreeService.java | 15 ++ .../service/impl/EventRightServiceImpl.java | 134 ++++++++++++++---- .../service/impl/PqsDicTreeServiceImpl.java | 33 +++++ 13 files changed, 345 insertions(+), 36 deletions(-) create mode 100644 event_smart/src/main/java/com/njcn/gather/event/transientes/controller/PqsDicTreeController.java create mode 100644 event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/vo/PqsDicTreeVO.java create mode 100644 event_smart/src/main/java/com/njcn/gather/event/transientes/service/PqsDicTreeService.java create mode 100644 event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/PqsDicTreeServiceImpl.java diff --git a/event_smart/src/main/java/com/njcn/gather/event/devcie/mapper/PqDeviceMapper.java b/event_smart/src/main/java/com/njcn/gather/event/devcie/mapper/PqDeviceMapper.java index 082a2810..7c3cde01 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/devcie/mapper/PqDeviceMapper.java +++ b/event_smart/src/main/java/com/njcn/gather/event/devcie/mapper/PqDeviceMapper.java @@ -20,4 +20,8 @@ public interface PqDeviceMapper extends BaseMapper { List queryListByIds(@Param("ids") List ids); Page selectDeviceDTOPage(Page pqsEventdetailPage, @Param("searchValue") String searchValue,@Param("devIndexs") List devIndexs, @Param("state") String state); + + Page queryListByLineIds(Page pqsEventdetailPage, @Param("searchValue") String searchValue,@Param("lineIds") List lineIds); + + } \ No newline at end of file diff --git a/event_smart/src/main/java/com/njcn/gather/event/devcie/mapper/mapping/PqDeviceMapper.xml b/event_smart/src/main/java/com/njcn/gather/event/devcie/mapper/mapping/PqDeviceMapper.xml index b17d858a..14d4477c 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/devcie/mapper/mapping/PqDeviceMapper.xml +++ b/event_smart/src/main/java/com/njcn/gather/event/devcie/mapper/mapping/PqDeviceMapper.xml @@ -101,4 +101,37 @@ order by pq_device.updatetime + + + + \ No newline at end of file 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 e9a98dd1..430c029c 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 @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.common.pojo.annotation.OperateInfo; @@ -16,6 +17,8 @@ import com.njcn.gather.event.devcie.pojo.dto.LedgerBaseInfoDTO; import com.njcn.gather.event.devcie.pojo.po.PqLine; import com.njcn.gather.event.devcie.pojo.po.PqsDeptsline; import com.njcn.gather.event.devcie.service.PqsDeptslineService; +import com.njcn.gather.event.transientes.mapper.PqUserLedgerMapper; +import com.njcn.gather.event.transientes.mapper.PqUserLineAssMapper; import com.njcn.gather.event.transientes.pojo.param.MonitorTerminalParam; import com.njcn.gather.event.transientes.pojo.param.SimulationMsgParam; import com.njcn.gather.event.transientes.pojo.po.*; @@ -55,6 +58,8 @@ import java.util.stream.Stream; @Slf4j public class EventGateController extends BaseController { private final MsgEventInfoServiceImpl msgEventInfoServiceImpl; + private final PqUserLineAssMapper pqUserLineAssMapper; + private final PqUserLedgerMapper pqUserLedgerMapper; @Value("${SYS_TYPE_ZT}") private String sysTypeZt; @@ -95,14 +100,25 @@ public class EventGateController extends BaseController { //jsonObject = test(); if (msgEventConfigService.getEventType().contains(jsonObject.get("wavetype").toString())) { + //过滤重要暂降事件 + Integer lineId = Integer.valueOf(jsonObject.get("lineid").toString()); + List assList = pqUserLineAssMapper.selectList(new LambdaQueryWrapper().eq(PqUserLineAssPO::getLineIndex,lineId)); + + String str ="/"; + if(CollUtil.isNotEmpty(assList)){ + List userIds = assList.stream().map(PqUserLineAssPO::getUserIndex).distinct().collect(Collectors.toList()); + List poList = pqUserLedgerMapper.selectList(new LambdaQueryWrapper().select(PqUserLedgerPO::getId,PqUserLedgerPO::getCustomerName).in(PqUserLedgerPO::getId,userIds)); + str = poList.stream().map(PqUserLedgerPO::getCustomerName).collect(Collectors.joining(StrUtil.COMMA)); + } + jsonObject.put("objName",str); webSocketServer.sendMessageToAll(jsonObject.toString()); //开始发送短信 - try { + /* try { sendMessage(jsonObject); }catch (Exception e){ log.error("短信组装发送失败!失败原因{}",e.getMessage()); - } + }*/ } diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/controller/EventRightController.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/controller/EventRightController.java index 4e6a9797..e9781dca 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/transientes/controller/EventRightController.java +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/controller/EventRightController.java @@ -13,6 +13,7 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.event.file.pojo.dto.WaveDataDTO; import com.njcn.gather.event.devcie.mapper.PqLineMapper; +import com.njcn.gather.event.devcie.pojo.dto.DeviceDTO; import com.njcn.gather.event.devcie.pojo.dto.LedgerBaseInfoDTO; import com.njcn.gather.event.devcie.pojo.po.PqLine; import com.njcn.gather.event.devcie.pojo.po.PqsDeptsline; @@ -91,4 +92,15 @@ public class EventRightController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe); } + + @OperateInfo + @PostMapping("/rightEventDevOpen") + @ApiOperation("右侧表头终端点击事件") + @ApiImplicitParam(name = "largeScreenCountParam", value = "", required = true) + public HttpResult rightEventDevOpen(@RequestBody LargeScreenCountParam largeScreenCountParam) { + String methodDescribe = getMethodDescribe("rightEventDevOpen"); + Page page = eventRightService.rightEventDevOpen(largeScreenCountParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe); + } + } diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/controller/PqsDicTreeController.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/controller/PqsDicTreeController.java new file mode 100644 index 00000000..43fb1776 --- /dev/null +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/controller/PqsDicTreeController.java @@ -0,0 +1,48 @@ +package com.njcn.gather.event.transientes.controller; + +import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.gather.event.transientes.pojo.po.PqsDicTreePO; +import com.njcn.gather.event.transientes.pojo.vo.PqsDicTreeVO; +import com.njcn.gather.event.transientes.service.PqsDicTreeService; +import com.njcn.web.controller.BaseController; +import com.njcn.web.utils.HttpResultUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +/** + * @Author: cdf + * @CreateTime: 2025-08-01 + * @Description: + */ +@Api(tags = "字典树") +@RequestMapping("dicTree") +@RestController +@RequiredArgsConstructor +@Slf4j +public class PqsDicTreeController extends BaseController { + + private final PqsDicTreeService pqsDicTreeService; + + + @OperateInfo + @GetMapping("/getDicTree") + @ApiOperation("获取树结构") + public HttpResult> getDicTree(@RequestParam("code") String code){ + String methodDescribe = getMethodDescribe("getDicTree"); + + List pqsDicTreePOList = pqsDicTreeService.getDicTree(code); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, pqsDicTreePOList, methodDescribe); + } + +} diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/mapper/PqsDicTreeMapper.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/mapper/PqsDicTreeMapper.java index 4b81ed29..0213c4ac 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/transientes/mapper/PqsDicTreeMapper.java +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/mapper/PqsDicTreeMapper.java @@ -2,6 +2,15 @@ package com.njcn.gather.event.transientes.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.njcn.gather.event.transientes.pojo.po.PqsDicTreePO; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; public interface PqsDicTreeMapper extends BaseMapper { + + @Select("SELECT ID,NAME,CODE,PARENT_ID as parentId,level FROM PQS_DICTREE " + + "START WITH CODE = #{code} " + + "CONNECT BY PRIOR ID = PARENT_ID") + List selectChildrenByCode(@Param("code") String code); } diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/po/PqsDicTreePO.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/po/PqsDicTreePO.java index d901d505..1636464a 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/po/PqsDicTreePO.java +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/po/PqsDicTreePO.java @@ -42,4 +42,7 @@ public class PqsDicTreePO { @TableField(value ="UPDATE_TIME") private Date updateTime; + + @TableField(exist = false) + private Integer level; } diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/vo/PqsDicTreeVO.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/vo/PqsDicTreeVO.java new file mode 100644 index 00000000..e68176a1 --- /dev/null +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/vo/PqsDicTreeVO.java @@ -0,0 +1,36 @@ +package com.njcn.gather.event.transientes.pojo.vo; + + +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * @Author: cdf + * @CreateTime: 2025-08-01 + * @Description: + */ +@Data +public class PqsDicTreeVO { + + private String id; + + private String name; + + private String code; + + private String parentId; + + private String dicValue; + + private String createBy; + + private Date createTime; + + private String updateBy; + + private Date updateTime; + + private List children; +} diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/vo/UserLedgerStatisticVO.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/vo/UserLedgerStatisticVO.java index 1ecb7bf3..4bba3e9f 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/vo/UserLedgerStatisticVO.java +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/vo/UserLedgerStatisticVO.java @@ -1,8 +1,10 @@ package com.njcn.gather.event.transientes.pojo.vo; +import io.swagger.annotations.ApiModelProperty; import io.swagger.models.auth.In; import lombok.Data; +import java.util.ArrayList; import java.util.List; /** @@ -13,25 +15,38 @@ import java.util.List; @Data public class UserLedgerStatisticVO { - private Integer importNum; + @ApiModelProperty(value = "半导体及精密加工大类id") + private String importId; - private Integer importDevNum; + private Integer importNum = 0; - private Integer otherImportNum; + private Integer importDevNum = 0; - private Integer otherImportDevNum; + @ApiModelProperty(value = "其他敏感用户大类id") + private String otherImportId; - private Integer otherNum; + private Integer otherImportNum = 0; - private Integer otherDevNum; + private Integer otherImportDevNum = 0; - private List innerList; + @ApiModelProperty(value = "其他干扰源大类id") + private String otherId; + + private Integer otherNum = 0; + + private Integer otherDevNum = 0; + + private List innerList = new ArrayList<>(); @Data public static class Inner{ + private String treeId; + + private String parentId; + private String customId; private String name; @@ -39,6 +54,7 @@ public class UserLedgerStatisticVO { private String code; private Integer count; + private List eventList; private List children; diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/service/EventRightService.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/service/EventRightService.java index a1c0f7af..583073a2 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/transientes/service/EventRightService.java +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/service/EventRightService.java @@ -2,6 +2,7 @@ package com.njcn.gather.event.transientes.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.event.file.pojo.dto.WaveDataDTO; +import com.njcn.gather.event.devcie.pojo.dto.DeviceDTO; import com.njcn.gather.event.transientes.pojo.param.LargeScreenCountParam; import com.njcn.gather.event.transientes.pojo.param.MonitorTerminalParam; import com.njcn.gather.event.transientes.pojo.param.PqUserLedgerParam; @@ -20,5 +21,8 @@ public interface EventRightService { Page rightEventOpen(LargeScreenCountParam param); + Page rightEventDevOpen(LargeScreenCountParam param); + + List rightImportUser(LargeScreenCountParam param); } diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/service/PqsDicTreeService.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/service/PqsDicTreeService.java new file mode 100644 index 00000000..1ffbe5ca --- /dev/null +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/service/PqsDicTreeService.java @@ -0,0 +1,15 @@ +package com.njcn.gather.event.transientes.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.gather.event.transientes.pojo.po.PqsDicTreePO; +import com.njcn.gather.event.transientes.pojo.vo.PqsDicTreeVO; + +import java.util.List; + +public interface PqsDicTreeService extends IService { + + + + List getDicTree(String code); + +} diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/EventRightServiceImpl.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/EventRightServiceImpl.java index 52d04a0b..e5fc9eb9 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/EventRightServiceImpl.java +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/EventRightServiceImpl.java @@ -6,6 +6,8 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.gather.event.devcie.mapper.PqDeviceMapper; +import com.njcn.gather.event.devcie.pojo.dto.DeviceDTO; import com.njcn.gather.event.devcie.pojo.dto.LedgerBaseInfoDTO; import com.njcn.gather.event.devcie.pojo.po.PqLine; import com.njcn.gather.event.devcie.service.PqLineService; @@ -59,32 +61,45 @@ public class EventRightServiceImpl implements EventRightService { private final RedisUtil redisUtil; private final static String NAME_KEY = "LineCache:"; - + private final PqDeviceMapper pqDeviceMapper; @Override public UserLedgerStatisticVO userLedgerStatistic(LargeScreenCountParam param) { UserLedgerStatisticVO result = new UserLedgerStatisticVO(); - List lineIds = commGeneralService.getLineIdsByDept(param); - - //获取当前用户权限能获取到的用户台账信息 - LambdaQueryWrapper assQuery = new LambdaQueryWrapper<>(); - assQuery.in(PqUserLineAssPO::getLineIndex, lineIds); - List assList = pqUserLineAssMapper.selectList(assQuery); - List assUserIds = assList.stream().map(PqUserLineAssPO::getUserIndex).distinct().collect(Collectors.toList()); - //获取字典树 List dicTreeList = pqsDicTreeMapper.selectList(new LambdaQueryWrapper<>()); List touList = dicTreeList.stream().filter(it -> Objects.equals(it.getCode(), DicTreeEnum.BJ_USER.getCode())||Objects.equals(it.getCode(), DicTreeEnum.OI_USER.getCode())||Objects.equals(it.getCode(), DicTreeEnum.OT_USER.getCode())).collect(Collectors.toList()); Map treeMap = touList.stream().collect(Collectors.toMap(PqsDicTreePO::getCode, Function.identity())); + treeMap.forEach((tree, obj) -> { + if (tree.equals(DicTreeEnum.BJ_USER.getCode())) { + result.setImportId(obj.getId()); + } else if (tree.equals(DicTreeEnum.OI_USER.getCode())) { + result.setOtherImportId(obj.getId()); + } else if (tree.equals(DicTreeEnum.OT_USER.getCode())) { + result.setOtherId(obj.getId()); + } + }); + + List lineIds = commGeneralService.getLineIdsByDept(param); + //获取当前用户权限能获取到的用户台账信息 + LambdaQueryWrapper assQuery = new LambdaQueryWrapper<>(); + assQuery.in(PqUserLineAssPO::getLineIndex, lineIds); + List assList = pqUserLineAssMapper.selectList(assQuery); + if(CollUtil.isEmpty(assList)){ + return result; + } + List assUserIds = assList.stream().map(PqUserLineAssPO::getUserIndex).distinct().collect(Collectors.toList()); + + Map dicTreeMap = dicTreeList.stream().collect(Collectors.toMap(PqsDicTreePO::getId, Function.identity())); //查询时间段的暂降事件 LambdaQueryWrapper eventQuery = new LambdaQueryWrapper<>(); - eventQuery.between(PqsEventdetail::getTimeid, DateUtil.parse(param.getSearchBeginTime()), DateUtil.endOfDay(DateUtil.parse(param.getSearchBeginTime()))) + eventQuery.between(PqsEventdetail::getTimeid, DateUtil.parse(param.getSearchBeginTime()), DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime()))) .in(PqsEventdetail::getWavetype, msgEventConfigService.getEventType()); LambdaQueryWrapper lineQuery = new LambdaQueryWrapper<>(); @@ -108,6 +123,9 @@ public class EventRightServiceImpl implements EventRightService { List lineList = pqLineService.list(lineQuery); List pqUserLedgerPOList = pqUserLedgerMapper.selectList(new LambdaQueryWrapper().in(PqUserLedgerPO::getId, assUserIds)); + if(CollUtil.isEmpty(pqUserLedgerPOList)){ + return result; + } Map> userMap = pqUserLedgerPOList.stream().collect(Collectors.groupingBy(PqUserLedgerPO::getBigObjType)); List innerList = new ArrayList<>(); @@ -131,6 +149,7 @@ public class EventRightServiceImpl implements EventRightService { UserLedgerStatisticVO.Inner inner = new UserLedgerStatisticVO.Inner(); inner.setName(obj.getName()); + inner.setCount(0); List childrenList = new ArrayList<>(); @@ -140,6 +159,8 @@ public class EventRightServiceImpl implements EventRightService { UserLedgerStatisticVO.Inner item = new UserLedgerStatisticVO.Inner(); Integer[] count = getEventCount(userList, assList, eventdetailList, lineList, false); item.setCount(count[0]); + item.setTreeId(key); + item.setParentId(obj.getId()); item.setName(dicTreeMap.containsKey(key) ? dicTreeMap.get(key).getName() : "/"); childrenList.add(item); }); @@ -156,10 +177,15 @@ public class EventRightServiceImpl implements EventRightService { public Page rightEventOpen(LargeScreenCountParam param) { Page result = new Page<>(PageFactory.getPageNum(param),PageFactory.getPageSize(param)); List deptLineIds = commGeneralService.getLineIdsByRedis(param.getDeptId()); - + if(CollUtil.isEmpty(deptLineIds)){ + return result; + } //获取用户监测点关系符合部门监测点的 List assList = pqUserLineAssMapper.selectList(new LambdaQueryWrapper().in(PqUserLineAssPO::getLineIndex,deptLineIds)); List userIds = assList.stream().map(PqUserLineAssPO::getUserIndex).distinct().collect(Collectors.toList()); + if(CollUtil.isEmpty(userIds)){ + return result; + } LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.in(PqUserLedgerPO::getId,userIds); @@ -173,6 +199,9 @@ public class EventRightServiceImpl implements EventRightService { } //获取符合条件的用户 List pqUserLedgerPOList = pqUserLedgerMapper.selectList(lambdaQueryWrapper); + if(CollUtil.isEmpty(pqUserLedgerPOList)){ + return result; + } Map pqMap = pqUserLedgerPOList.stream().collect(Collectors.toMap(PqUserLedgerPO::getId,Function.identity())); List pUserIds = pqUserLedgerPOList.stream().map(PqUserLedgerPO::getId).collect(Collectors.toList()); List assListLast = assList.stream().filter(it->pUserIds.contains(it.getUserIndex())).collect(Collectors.toList()); @@ -180,7 +209,7 @@ public class EventRightServiceImpl implements EventRightService { //查询时间段的暂降事件 LambdaQueryWrapper eventQuery = new LambdaQueryWrapper<>(); - eventQuery.between(PqsEventdetail::getTimeid, DateUtil.parse(param.getSearchBeginTime()), DateUtil.endOfDay(DateUtil.parse(param.getSearchBeginTime()))) + eventQuery.between(PqsEventdetail::getTimeid, DateUtil.parse(param.getSearchBeginTime()), DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime()))) .in(PqsEventdetail::getWavetype, msgEventConfigService.getEventType()); if (lineUseList.size() > 1000) { @@ -226,28 +255,79 @@ public class EventRightServiceImpl implements EventRightService { } @Override - public List rightImportUser(LargeScreenCountParam param) { - List result = new ArrayList<>(); + public Page rightEventDevOpen(LargeScreenCountParam param) { + Page result = new Page<>(PageFactory.getPageNum(param),PageFactory.getPageSize(param)); + List lineIds = commGeneralService.getLineIdsByRedis(param.getDeptId()); - List deptLineIds = commGeneralService.getLineIdsByRedis(param.getDeptId()); - - List poList = pqUserLedgerMapper.selectList(new LambdaQueryWrapper().eq(PqUserLedgerPO::getIsShow,1)); - if(CollUtil.isEmpty(poList)){ - return result; - } - List ids = poList.stream().map(PqUserLedgerPO::getId).collect(Collectors.toList()); - List assPOList = pqUserLineAssMapper.selectList(new LambdaQueryWrapper().in(PqUserLineAssPO::getUserIndex,ids)); + LambdaQueryWrapper assQuery = new LambdaQueryWrapper<>(); + assQuery.in(PqUserLineAssPO::getLineIndex,lineIds); + List assPOList = pqUserLineAssMapper.selectList(assQuery); if(CollUtil.isEmpty(assPOList)){ return result; } - List userIds = assPOList.stream().map(PqUserLineAssPO::getUserIndex).distinct().collect(Collectors.toList()); + List userIds = assPOList.stream().map(PqUserLineAssPO::getUserIndex).collect(Collectors.toList()); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(PqUserLedgerPO::getId,userIds); + if(StrUtil.isNotBlank(param.getBigObjType())){ + //对象大类不为空 + lambdaQueryWrapper.eq(PqUserLedgerPO::getBigObjType,param.getBigObjType()); + } + if(StrUtil.isNotBlank(param.getSmallObjType())){ + //对象大类不为空 + lambdaQueryWrapper.eq(PqUserLedgerPO::getSmallObjType,param.getSmallObjType()); + } - poList = poList.stream().filter(it->userIds.contains(it.getId())).collect(Collectors.toList()); + if(StrUtil.isNotBlank(param.getBigObjType()) || StrUtil.isNotBlank(param.getSmallObjType())){ + List pqUserLedgerPOList = pqUserLedgerMapper.selectList(lambdaQueryWrapper); + List lastIds = pqUserLedgerPOList.stream().map(PqUserLedgerPO::getId).collect(Collectors.toList()); + List ids = assPOList.stream().filter(it->lastIds.contains(it.getUserIndex())).map(PqUserLineAssPO::getLineIndex).collect(Collectors.toList()); + if(CollUtil.isEmpty(ids)){ + return result; + } + result = pqDeviceMapper.queryListByLineIds(new Page(PageFactory.getPageNum(param),PageFactory.getPageSize(param)),param.getSearchValue(),ids); - List lineIds = assPOList.stream().map(PqUserLineAssPO::getLineIndex).distinct().collect(Collectors.toList()); - List eventList = pqsEventdetailService.lambdaQuery().in(PqsEventdetail::getLineid,lineIds).between(PqsEventdetail::getTimeid,DateUtil.parse(param.getSearchBeginTime()),DateUtil.parse(param.getSearchEndTime())).list(); + }else { + //查询条件都为空直接拿取所有测点匹配装置 + List lineAssIds = assPOList.stream().map(PqUserLineAssPO::getLineIndex).collect(Collectors.toList()); + result = pqDeviceMapper.queryListByLineIds(new Page(PageFactory.getPageNum(param),PageFactory.getPageSize(param)),param.getSearchValue(),lineAssIds); + } + return result; + } + + + + @Override + public List rightImportUser(LargeScreenCountParam param) { + List result = new ArrayList<>(); + List deptLineIds = commGeneralService.getLineIdsByRedis(param.getDeptId()); + if(CollUtil.isEmpty(deptLineIds)){ + return result; + } + List list = pqUserLineAssMapper.selectList(new LambdaQueryWrapper().in(PqUserLineAssPO::getLineIndex,deptLineIds)); + if(CollUtil.isEmpty(list)){ + return result; + } + List userIds = list.stream().map(PqUserLineAssPO::getUserIndex).distinct().collect(Collectors.toList()); + + List poList = pqUserLedgerMapper.selectList(new LambdaQueryWrapper().in(PqUserLedgerPO::getId,userIds).eq(PqUserLedgerPO::getIsShow,1)); + if(CollUtil.isEmpty(poList)){ + return result; + } + + List ids = poList.stream().map(PqUserLedgerPO::getId).collect(Collectors.toList()); + List assTemList = list.stream().filter(it->ids.contains(it.getUserIndex())).collect(Collectors.toList()); + + //获取监测id,用于查询暂降表 + List lineIds = assTemList.stream().map(PqUserLineAssPO::getLineIndex).distinct().collect(Collectors.toList()); + + + + List eventList = pqsEventdetailService.lambdaQuery(). + in(PqsEventdetail::getLineid,lineIds) + .in(PqsEventdetail::getWavetype,msgEventConfigService.getEventType()) + .between(PqsEventdetail::getTimeid,DateUtil.parse(param.getSearchBeginTime()),DateUtil.parse(param.getSearchEndTime())).list(); if(CollUtil.isEmpty(eventList)){ poList.forEach(item->{ UserLedgerStatisticVO.Inner inner = new UserLedgerStatisticVO.Inner(); @@ -259,7 +339,7 @@ public class EventRightServiceImpl implements EventRightService { return result; } - Map> assMap = assPOList.stream().collect(Collectors.groupingBy(PqUserLineAssPO::getUserIndex,Collectors.mapping(PqUserLineAssPO::getLineIndex,Collectors.toList()))); + Map> assMap = assTemList.stream().collect(Collectors.groupingBy(PqUserLineAssPO::getUserIndex,Collectors.mapping(PqUserLineAssPO::getLineIndex,Collectors.toList()))); poList.forEach(item->{ UserLedgerStatisticVO.Inner inner = new UserLedgerStatisticVO.Inner(); inner.setCustomId(item.getId()); diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/PqsDicTreeServiceImpl.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/PqsDicTreeServiceImpl.java new file mode 100644 index 00000000..0e244ac8 --- /dev/null +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/PqsDicTreeServiceImpl.java @@ -0,0 +1,33 @@ +package com.njcn.gather.event.transientes.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.gather.event.transientes.mapper.PqsDicTreeMapper; +import com.njcn.gather.event.transientes.pojo.po.PqsDicTreePO; +import com.njcn.gather.event.transientes.pojo.vo.PqsDicTreeVO; +import com.njcn.gather.event.transientes.service.PqsDicTreeService; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +/** + * @Author: cdf + * @CreateTime: 2025-08-01 + * @Description: + */ +@Service +public class PqsDicTreeServiceImpl extends ServiceImpl implements PqsDicTreeService { + + + /** + * 获取字典树 + */ + + @Override + public List getDicTree(String code){ + List pqsDicTreePOList = this.getBaseMapper().selectChildrenByCode(code); + return pqsDicTreePOList; + } + + +}