From ca32a4e3c6f98f9ffdad17f068cc7b6ec5cdc096 Mon Sep 17 00:00:00 2001 From: wr <1754607820@qq.com> Date: Mon, 25 Nov 2024 12:09:48 +0800 Subject: [PATCH] =?UTF-8?q?1.=E8=A7=A3=E5=86=B3=E7=9B=91=E6=B5=8B=E7=82=B9?= =?UTF-8?q?=E8=B6=85=E6=A0=87=E9=97=AE=E9=A2=98=202.=E8=A7=A3=E5=86=B3?= =?UTF-8?q?=E7=9B=91=E6=B5=8B=E7=82=B9=E7=BB=88=E7=AB=AFmd3=E5=8A=A0?= =?UTF-8?q?=E5=AF=86=E6=98=BE=E7=A4=BA=203.=E8=A7=A3=E5=86=B3=E5=85=A8?= =?UTF-8?q?=E6=99=AF=E6=8A=80=E6=9C=AF=E7=9B=91=E7=9D=A3=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E6=95=B0=E9=87=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pq/pojo/bo/excel/OracleTerminalExcel.java | 3 + .../com/njcn/device/pq/utils/DeviceUtil.java | 0 .../service/impl/TerminalBaseServiceImpl.java | 48 ++++++++++++- .../service/impl/TerminalTreeServiceImpl.java | 70 +++++++++++-------- .../service/impl/GridServiceImpl.java | 4 +- .../impl/RStatLimitServiceImpl.java | 18 ++--- .../mapping/TempLineRunTestWarningMapper.xml | 12 +++- .../impl/GridDiagramServiceImpl.java | 64 ++++++++++++----- 8 files changed, 154 insertions(+), 65 deletions(-) rename pqs-device/pq-device/{pq-device-boot => pq-device-api}/src/main/java/com/njcn/device/pq/utils/DeviceUtil.java (100%) diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/bo/excel/OracleTerminalExcel.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/bo/excel/OracleTerminalExcel.java index a5f04d406..67e1d30e6 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/bo/excel/OracleTerminalExcel.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/bo/excel/OracleTerminalExcel.java @@ -225,6 +225,9 @@ public class OracleTerminalExcel implements Serializable { @Excel(name = "监测点对象名称", width = 15) private String objName; + @Excel(name = "电网侧变电站", width = 15) + private String powerSubstationName; + @Excel(name = "人为干预统计", replace = {"不参与统计_0", "参与统计_1"}, width = 15) @NotNull(message = "统计标志不为空") private Integer statFlag; diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/utils/DeviceUtil.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/utils/DeviceUtil.java similarity index 100% rename from pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/utils/DeviceUtil.java rename to pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/utils/DeviceUtil.java diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java index 58b685e9e..61e24f29e 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java @@ -43,11 +43,13 @@ import com.njcn.device.pq.pojo.param.oracle.*; import com.njcn.device.pq.pojo.po.*; import com.njcn.device.pq.pojo.vo.*; import com.njcn.device.pq.service.*; +import com.njcn.device.pq.utils.DeviceUtil; import com.njcn.device.pq.utils.ExcelStyleUtil; import com.njcn.oss.constant.OssPath; import com.njcn.oss.utils.FileStorageUtil; import com.njcn.poi.excel.ExcelUtil; import com.njcn.poi.util.PoiUtil; +import com.njcn.redis.utils.RedisUtil; import com.njcn.system.api.AreaFeignClient; import com.njcn.system.api.DicDataFeignClient; import com.njcn.system.enums.DicDataEnum; @@ -103,6 +105,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple private final LineBakService lineBakService; private final DeviceBakService deviceBakService; private final FileStorageUtil fileStorageUtil; + private final RedisUtil redisUtil; @Value("${oracle.isSync}") @@ -266,7 +269,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple deviceDetail.setUpdateTime(LocalDateTime.now()); //处理装置识别码秘钥 - + coderM3d(deviceDetail); deviceMapper.insert(deviceDetail); //装置功能 List funList = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.DEV_FUN.getName()).getData(); @@ -625,6 +628,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple Device deviceDetail = new Device(); BeanUtils.copyProperties(updateDeviceParam, deviceDetail); deviceDetail.setId(updateDeviceParam.getDevIndex()); + coderM3d(deviceDetail); this.updateById(device); deviceMapper.updateById(deviceDetail); } @@ -804,6 +808,23 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple return true; } + private void coderM3d(Device deviceDetail){ + if(StrUtil.isNotBlank(deviceDetail.getDevKey())){ + deviceDetail.setDevKey(DeviceUtil.encodeString(1,deviceDetail.getDevKey())); + } + if(StrUtil.isNotBlank(deviceDetail.getSeries())){ + deviceDetail.setSeries(DeviceUtil.encodeString(1,deviceDetail.getSeries())); + } + } + private void decoderM3d(Device deviceDetail){ + if(StrUtil.isNotBlank(deviceDetail.getDevKey())){ + deviceDetail.setDevKey(DeviceUtil.decoderString(1,deviceDetail.getDevKey())); + } + if(StrUtil.isNotBlank(deviceDetail.getSeries())){ + deviceDetail.setSeries(DeviceUtil.decoderString(1,deviceDetail.getSeries())); + } + } + /** * 查询监测点信息修改处,并新增日志 * @@ -924,6 +945,8 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple Device deviceDetail = deviceMapper.selectById(device.getId()); + //解密 + decoderM3d(deviceDetail); BeanUtils.copyProperties(deviceDetail, deviceVO); deviceVO.setDevIndex(device.getId()); //母线 @@ -982,6 +1005,8 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple deviceVO.setSort(obj.getSort()); Device deviceDetail = deviceMapper.selectById(obj.getId()); + //解密 + decoderM3d(deviceDetail); BeanUtils.copyProperties(deviceDetail, deviceVO); deviceVO.setDevIndex(obj.getId()); @@ -1076,6 +1101,8 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple deviceVO.setName(device.getName()); deviceVO.setSort(device.getSort()); Device deviceDetail = deviceMapper.selectById(device.getId()); + //解密 + decoderM3d(deviceDetail); BeanUtils.copyProperties(deviceDetail, deviceVO); deviceVO.setDevIndex(device.getId()); @@ -1125,6 +1152,8 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple BeanUtils.copyProperties(device, deviceVO); Device deviceDetail = deviceMapper.selectById(device.getId()); + //解密 + decoderM3d(deviceDetail); BeanUtils.copyProperties(deviceDetail, deviceVO); deviceVO.setDevIndex(device.getId()); @@ -1861,6 +1890,23 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple Integer oracleDevId = Integer.valueOf(body.get("oracleDevId").toString()); syncTerminalParam.setOracleLineId(oracleLineId); syncTerminalParam.setOracleDevId(oracleDevId); + + Map DevIdMapping = new HashMap<>(); + Map LineIdMapping = new HashMap<>(); + List resultList = lineBakService.list(); + for (LineBak row : resultList) { + String id = row.getId(); + String lineId = row.getLineId()+""; + LineIdMapping.put(lineId,id ); + } + redisUtil.saveByKey("LineIdMapping",LineIdMapping); + List list = deviceBakService.list(); + for (DeviceBak row : list) { + String id = row.getId(); + String devId = row.getDevId()+""; + DevIdMapping.put(devId,id ); + } + redisUtil.saveByKey("DevIdMapping",DevIdMapping); } } String projectIndex = null; diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalTreeServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalTreeServiceImpl.java index e3853bcd9..55b1ef0ac 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalTreeServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalTreeServiceImpl.java @@ -1,5 +1,6 @@ package com.njcn.device.pq.service.impl; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; @@ -330,21 +331,23 @@ public class TerminalTreeServiceImpl implements TerminalTreeService { List subInfoList = new ArrayList<>(); lineObjNameMap.forEach((key, value)->{ - final List subVLine = collect1; + List terminalTrees = Collections.unmodifiableList(collect1); //获取变电信息 List collect = subList.stream().filter(x -> x.getName().equals(key)).collect(Collectors.toList()); //电网侧监测点 List powerFlag = value.stream().filter(x -> x.getPowerFlag().equals(LineBaseEnum.POWER_FLAG.getCode())).collect(Collectors.toList()); - if(CollUtil.isEmpty(collect)){ + if(CollUtil.isEmpty(powerFlag)){ //解决变电站下没有监测点显示问题(变电站-》终端-》母线) powerFlag.addAll(collect); } - List subChildren = getRecursionChildren(powerFlag, subVLine); + List subChildren = new ArrayList<>(); + getRecursionChildren(powerFlag,subChildren, terminalTrees); //非电网侧监测点 List powerFlagNot = value.stream().filter(x -> x.getPowerFlag().equals(LineBaseEnum.POWER_FLAG_NOT.getCode())).collect(Collectors.toList()); - List notSubChildren = getRecursionChildren(powerFlagNot,subVLine); + List notSubChildren = new ArrayList<>(); + getRecursionChildren(powerFlagNot,notSubChildren,terminalTrees); if(CollUtil.isNotEmpty(collect)){ List valueList = new ArrayList<>(); @@ -434,33 +437,39 @@ public class TerminalTreeServiceImpl implements TerminalTreeService { //todo 变电站层级处理不存在下面信息的监测点信息(默认信息就是给他当成电网侧) List dw = new ArrayList<>(); dw.addAll(subInfoList.stream().collect(Collectors.toList())); + //暂时解决跨部门不显示电站问题(风光储) dw.addAll(subInfoList.stream().flatMap(x -> x.getChildren().get(0).getChildren().stream()).collect(Collectors.toList())); dw.addAll(subInfoList.stream().flatMap(x -> x.getChildren().get(1).getChildren().stream()).collect(Collectors.toList())); - List collect = subList.stream().filter(x -> !dw.stream().map(TerminalTree::getId).collect(Collectors.toList()).contains(x.getId())) + List collect = subList.stream().filter(x -> !dw.stream().map(TerminalTree::getId).collect(Collectors.toList()).contains(x.getId()) || + x.getName().equals("220kV金阳变电站")) .distinct().collect(Collectors.toList()); for (TerminalTree notSub : collect) { - + //只显示变电站下有装置的 TerminalTree notSub1 = findParents(collect1, notSub); - List valueList = new ArrayList<>(); - TerminalTree sub = new TerminalTree(); - sub.setId(notSub.getId()); - sub.setName(notSub.getName()); - sub.setPid(notSub.getPid()); + if(CollUtil.isNotEmpty(notSub1.getChildren())){ + List valueList = new ArrayList<>(); - TerminalTree powerTree = new TerminalTree(); - powerTree.setId(notSub.getId()); - powerTree.setName("电网侧"); - powerTree.setChildren(Arrays.asList(notSub1)); - valueList.add(powerTree); + TerminalTree sub = new TerminalTree(); + sub.setId(notSub.getId()); + sub.setName(notSub.getName()); + sub.setPid(notSub.getPid()); - TerminalTree notPowerTree = new TerminalTree(); - notPowerTree.setName("非电网侧"); - notPowerTree.setChildren(new ArrayList<>()); - valueList.add(notPowerTree); + TerminalTree powerTree = new TerminalTree(); + powerTree.setId(notSub.getId()); + powerTree.setName("电网侧"); + powerTree.setChildren(Arrays.asList(notSub1)); + valueList.add(powerTree); - sub.setChildren(valueList); - subInfoList.add(sub); + TerminalTree notPowerTree = new TerminalTree(); + notPowerTree.setName("非电网侧"); + notPowerTree.setChildren(new ArrayList<>()); + valueList.add(notPowerTree); + + sub.setChildren(valueList); + subInfoList.add(sub); + dw.add(sub); + } } gdList.forEach(gd -> gd.setChildren(getChildren(gd, subInfoList))); @@ -497,26 +506,25 @@ public class TerminalTreeServiceImpl implements TerminalTreeService { * @param all 检测对象 * @return */ - public List getRecursionChildren(List line, List all) { - List info=new ArrayList<>(); - + public void getRecursionChildren(List line, List info,List all) { List aa=new ArrayList<>(); for (TerminalTree lineTree : line) { findParentsRecursive(lineTree, all,aa); aa.add(lineTree); } - List distinctList =new ArrayList<>(); - distinctList.addAll(aa.stream().distinct().collect(Collectors.toList())); - aa.addAll(all); + List distinctList =new ArrayList<>(aa.stream().distinct().collect(Collectors.toList())); + long count = line.stream().filter(x -> !x.getLevel().equals(LineBaseEnum.LINE_LEVEL.getCode())).count(); + if(count>0){ + aa.addAll(all); + } List lines = aa.stream().distinct().sorted(Comparator.comparing(TerminalTree::getSort)).collect(Collectors.toList()); List collect = distinctList.stream().filter(x -> x.getLevel() == LineBaseEnum.SUB_LEVEL.getCode()).collect(Collectors.toList()); if(CollUtil.isNotEmpty(collect)){ for (TerminalTree tree : collect) { - info.add(findParents(lines,tree)); + TerminalTree terminalTree = BeanUtil.copyProperties(tree, TerminalTree.class); + info.add(findParents(lines,terminalTree)); } - } - return info; } private static void findParentsRecursive(TerminalTree tree, List all,List newParents) { diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/GridServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/GridServiceImpl.java index 9b9ae0761..386b8e099 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/GridServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/GridServiceImpl.java @@ -494,7 +494,9 @@ public class GridServiceImpl implements IGridService { .collect(Collectors.toList()); if (CollUtil.isNotEmpty(lineList)) { //获取监测点越限集合 - List overLimitList = rStatLimitTargetDMapper.getSumTargetDetails(lineList,param.getStartTime(),param.getEndTime()); + List overLimitList = rStatLimitTargetDMapper.getSumTargetDetails(lineList, + param.getStartTime(), + param.getEndTime()); //获取部门 List deptList = deptFeignClient.getDepSonDetailByDeptId(param.getDeptIndex()).getData(); deptList.forEach(item->{ diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatLimitServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatLimitServiceImpl.java index ac9154ef8..cea9613b4 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatLimitServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatLimitServiceImpl.java @@ -100,14 +100,12 @@ public class RStatLimitServiceImpl implements RStatLimitService { //监测点总数量 List lineIds = list.stream().flatMap(x -> x.getLineIndexes().stream()).distinct().collect(Collectors.toList()); //超标监测点信息 - List limitTargetList =new ArrayList<>(); + List limitTargetList =new ArrayList<>(); List integrityList =new ArrayList<>(); if(CollUtil.isNotEmpty(lineIds)){ - limitTargetList = rStatLimitTargetDMapper.selectList(new LambdaQueryWrapper() - .select(RStatLimitTargetDPO::getLineId, RStatLimitTargetDPO::getAllTime, RStatLimitTargetDPO::getFlickerAllTime) - .in(RStatLimitTargetDPO::getLineId, lineIds) - .ge(StrUtil.isNotBlank(deviceInfoParam.getSearchBeginTime()), RStatLimitTargetDPO::getTime, DateUtil.beginOfDay(DateUtil.parse(deviceInfoParam.getSearchBeginTime()))) - .le(StrUtil.isNotBlank(deviceInfoParam.getSearchEndTime()), RStatLimitTargetDPO::getTime, DateUtil.endOfDay(DateUtil.parse(deviceInfoParam.getSearchEndTime())))); + limitTargetList = rStatLimitTargetDMapper.getSumTargetDetails(lineIds, + DateUtil.beginOfDay(DateUtil.parse(deviceInfoParam.getSearchBeginTime())).toString(), + DateUtil.endOfDay(DateUtil.parse(deviceInfoParam.getSearchEndTime())).toString()); integrityList = lineIntegrityClient.getIntegrityByLineIds(lineIds, deviceInfoParam.getSearchBeginTime(), deviceInfoParam.getSearchEndTime()).getData(); } //终端在线率 @@ -675,7 +673,7 @@ public class RStatLimitServiceImpl implements RStatLimitService { } - private void onLineAndIntegrity(List lineIds, List onIntegrityByIds, List devIds, List onlineRateByDevIds,List limitTargetList, GridDiagramVO.LineData lineData) { + private void onLineAndIntegrity(List lineIds, List onIntegrityByIds, List devIds, List onlineRateByDevIds,List limitTargetList, GridDiagramVO.LineData lineData) { //监测完整率 List integrityDS = onIntegrityByIds.stream().filter(x -> lineIds.contains(x.getLineIndex())).collect(Collectors.toList()); if (CollUtil.isNotEmpty(integrityDS)) { @@ -695,11 +693,9 @@ public class RStatLimitServiceImpl implements RStatLimitService { lineData.setOnLineRate(0.0f); } //监测点超标占比 - List limitTarget = limitTargetList.stream().filter(x -> lineIds.contains(x.getLineId())).collect(Collectors.toList()); + List limitTarget = limitTargetList.stream().filter(x -> lineIds.contains(x.getLineId())).collect(Collectors.toList()); if (CollUtil.isNotEmpty(limitTarget)) { - long count = limitTarget.stream() - .filter(x -> x.getAllTime() > 0 || x.getFlickerAllTime() > 0) - .map(RStatLimitTargetDPO::getLineId).distinct().count(); + long count = limitTarget.stream().filter(o->o.getAllOvertime() > 0 || o.getFlickerAllTime()>0).count(); lineData.setOutOfStandardRate(NumberUtil.round(count * 100.0 / lineIds.size(), 2).floatValue()); } else { lineData.setOutOfStandardRate(0.0f); diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/TempLineRunTestWarningMapper.xml b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/TempLineRunTestWarningMapper.xml index 5c3c7cc3c..9da86cc77 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/TempLineRunTestWarningMapper.xml +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/TempLineRunTestWarningMapper.xml @@ -13,13 +13,21 @@ INNER JOIN supervision_temp_line_run_test b ON a.id = b.id INNER JOIN supervision_temp_line_run_test_warning c ON c.line_run_id = b.id - c.create_time BETWEEN #{param.startTime} AND #{param.endTime} + (c.create_time BETWEEN #{param.startTime} AND #{param.endTime} - AND a.org_id IN + AND a.org_id IN + + #{orgId} + + ) + or (c.deal_State = 0 + + AND a.org_id IN #{orgId} + ) diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/gridDiagram/impl/GridDiagramServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/gridDiagram/impl/GridDiagramServiceImpl.java index f78147082..a142f0c66 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/gridDiagram/impl/GridDiagramServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/gridDiagram/impl/GridDiagramServiceImpl.java @@ -7,7 +7,9 @@ import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.njcn.common.pojo.enums.common.DataStateEnum; import com.njcn.common.pojo.param.StatisticsBizBaseParam; +import com.njcn.supervision.enums.FlowStatusEnum; import com.njcn.supervision.mapper.device.TempLineRunTestWarningMapper; import com.njcn.supervision.pojo.po.device.LineWarning; import com.njcn.supervision.pojo.po.leaflet.WarningLeaflet; @@ -47,7 +49,7 @@ public class GridDiagramServiceImpl implements GridDiagramService { @Override public GridDiagramVO.Info getSupervisionData(StatisticsBizBaseParam param) { - List deptIds = deptFeignClient.getDepSonIdByDeptId(param.getId()).getData(); + List deptIds = deptFeignClient.getDepSonIdtByDeptId(param.getId()).getData(); return supervisionDetailsAdd(null, deptIds, param); } @@ -96,18 +98,30 @@ public class GridDiagramServiceImpl implements GridDiagramService { ); //用户投诉问题(添加出来就是有问题的) List userComplaintList = userComplaintPOService.list(new LambdaQueryWrapper() - .in(SupervisionUserComplaintPO::getDutyOrgId, deptIds) - .eq(SupervisionUserComplaintPO::getState, 1) - .ge(StrUtil.isNotBlank(param.getStartTime()), SupervisionUserComplaintPO::getCreateTime, DateUtil.beginOfDay(DateUtil.parse(param.getStartTime()))) - .le(StrUtil.isNotBlank(param.getEndTime()), SupervisionUserComplaintPO::getCreateTime, DateUtil.endOfDay(DateUtil.parse(param.getEndTime()))) + .and(x->x .in(SupervisionUserComplaintPO::getDutyOrgId, deptIds) + .eq(SupervisionUserComplaintPO::getState, DataStateEnum.ENABLE.getCode()) + .ge(StrUtil.isNotBlank(param.getStartTime()), SupervisionUserComplaintPO::getCreateTime, DateUtil.beginOfDay(DateUtil.parse(param.getStartTime()))) + .le(StrUtil.isNotBlank(param.getEndTime()), SupervisionUserComplaintPO::getCreateTime, DateUtil.endOfDay(DateUtil.parse(param.getEndTime())))) + .or(x->x.eq(SupervisionUserComplaintPO::getDealState,0) + .eq(SupervisionUserComplaintPO::getState, DataStateEnum.ENABLE.getCode()) + ) + ); //计划问题(有问题的单子) List surveyTestList = surveyTestService.list(new LambdaQueryWrapper() - .in(SurveyTest::getDeptId, deptIds) - .eq(SurveyTest::getState, 1) - .eq(SurveyTest::getProblemFlag, 1) - .ge(StrUtil.isNotBlank(param.getStartTime()), SurveyTest::getCreateTime, DateUtil.beginOfDay(DateUtil.parse(param.getStartTime()))) - .le(StrUtil.isNotBlank(param.getEndTime()), SurveyTest::getCreateTime, DateUtil.endOfDay(DateUtil.parse(param.getEndTime()))) + .and(x->x.in(SurveyTest::getDeptId, deptIds) + .eq(SurveyTest::getState, DataStateEnum.ENABLE.getCode()) + .eq(SurveyTest::getStatus, FlowStatusEnum.APPROVE.getCode()) + .eq(SurveyTest::getProblemFlag, 1) + .ge(StrUtil.isNotBlank(param.getStartTime()), SurveyTest::getCreateTime, DateUtil.beginOfDay(DateUtil.parse(param.getStartTime()))) + .le(StrUtil.isNotBlank(param.getEndTime()), SurveyTest::getCreateTime, DateUtil.endOfDay(DateUtil.parse(param.getEndTime())))) + .or(x->x.eq(SurveyTest::getDealState,0) + .in(SurveyTest::getDeptId, deptIds) + .eq(SurveyTest::getState, DataStateEnum.ENABLE.getCode()) + .eq(SurveyTest::getStatus, FlowStatusEnum.APPROVE.getCode()) + .eq(SurveyTest::getProblemFlag, 1) + + ) ); //试运行问题单子 List runWarningsIds = warningsMapper.selectWarningsIds(deptIds, param); @@ -201,19 +215,31 @@ public class GridDiagramServiceImpl implements GridDiagramService { gridDiagramVO.setOnLineNum(lineWarningList.size()); //用户投诉问题(添加出来就是有问题的) List userComplaintList = userComplaintPOService.list(new LambdaQueryWrapper() - .in(SupervisionUserComplaintPO::getDutyOrgId, ids) - .eq(SupervisionUserComplaintPO::getState, 1) - .ge(StrUtil.isNotBlank(baseParam.getStartTime()), SupervisionUserComplaintPO::getCreateTime, DateUtil.beginOfDay(DateUtil.parse(baseParam.getStartTime()))) - .le(StrUtil.isNotBlank(baseParam.getEndTime()), SupervisionUserComplaintPO::getCreateTime, DateUtil.endOfDay(DateUtil.parse(baseParam.getEndTime()))) + .and(x->x.in(SupervisionUserComplaintPO::getDutyOrgId, ids) + .eq(SupervisionUserComplaintPO::getState, 1) + .ge(StrUtil.isNotBlank(baseParam.getStartTime()), SupervisionUserComplaintPO::getCreateTime, DateUtil.beginOfDay(DateUtil.parse(baseParam.getStartTime()))) + .le(StrUtil.isNotBlank(baseParam.getEndTime()), SupervisionUserComplaintPO::getCreateTime, DateUtil.endOfDay(DateUtil.parse(baseParam.getEndTime())))) + .or(x->x.eq(SupervisionUserComplaintPO::getDealState,0) + .in(SupervisionUserComplaintPO::getDutyOrgId, ids) + .eq(SupervisionUserComplaintPO::getState, 1) + ) ); gridDiagramVO.setUserNum(userComplaintList.size()); //计划问题(有问题的单子) List surveyTestList = surveyTestService.list(new LambdaQueryWrapper() - .in(SurveyTest::getDeptId, ids) - .eq(SurveyTest::getState, 1) - .eq(SurveyTest::getProblemFlag, 1) - .ge(StrUtil.isNotBlank(baseParam.getStartTime()), SurveyTest::getCreateTime, DateUtil.beginOfDay(DateUtil.parse(baseParam.getStartTime()))) - .le(StrUtil.isNotBlank(baseParam.getEndTime()), SurveyTest::getCreateTime, DateUtil.endOfDay(DateUtil.parse(baseParam.getEndTime()))) + .and(x->x.in(SurveyTest::getDeptId, ids) + .eq(SurveyTest::getState, DataStateEnum.ENABLE.getCode()) + .eq(SurveyTest::getStatus, FlowStatusEnum.APPROVE.getCode()) + .eq(SurveyTest::getProblemFlag, 1) + .ge(StrUtil.isNotBlank(baseParam.getStartTime()), SurveyTest::getCreateTime, DateUtil.beginOfDay(DateUtil.parse(baseParam.getStartTime()))) + .le(StrUtil.isNotBlank(baseParam.getEndTime()), SurveyTest::getCreateTime, DateUtil.endOfDay(DateUtil.parse(baseParam.getEndTime())))) + .or(x->x.eq(SurveyTest::getDealState,0) + .in(SurveyTest::getDeptId, ids) + .eq(SurveyTest::getState, DataStateEnum.ENABLE.getCode()) + .eq(SurveyTest::getStatus, FlowStatusEnum.APPROVE.getCode()) + .eq(SurveyTest::getProblemFlag, 1) + ) + ); gridDiagramVO.setSurveyNum(surveyTestList.size());