From a178d230e9858a5b8e19a31a6335d80abb1e61b5 Mon Sep 17 00:00:00 2001 From: njcn_dhj <123456> Date: Fri, 12 Aug 2022 13:55:05 +0800 Subject: [PATCH] =?UTF-8?q?1.=E8=BF=90=E8=A1=8C=E7=AE=A1=E7=90=86=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0=E5=88=86=E9=A1=B5=EF=BC=9B=202.=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E7=BB=88=E7=AB=AF=E5=9C=A8=E7=BA=BF=E7=8E=87=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=EF=BC=9B=203.=E7=A7=BB=E6=A4=8D=E8=BF=90?= =?UTF-8?q?=E8=A1=8C=E7=8A=B6=E6=80=81=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/njcn/common/utils/HttpResultUtil.java | 2 + .../njcn/device/api/DeptLineFeignClient.java | 4 + .../DeptLineFeignClientFallbackFactory.java | 6 + .../device}/pojo/param/PulicTimeParam.java | 5 +- .../pojo/param/PulicTimeStatisParam.java | 2 +- .../device/pojo/param/RunManageParam.java | 16 +- .../pojo/vo/CommunicateStatisticsVO.java | 2 +- .../device/pojo/vo/DeviceOnlineDataVO.java | 26 ++ .../com/njcn/device/pojo/vo/RunTimeVO.java | 3 + .../com/njcn/device/utils/PublicDateUtil.java | 43 ++++ .../controller/CommunicateController.java | 29 ++- .../device/controller/DeptLineController.java | 5 +- .../controller/OperationContrController.java | 2 + .../com/njcn/device/mapper/DeviceMapper.java | 19 ++ .../com/njcn/device/mapper/LineMapper.java | 2 +- .../device/mapper/mapping/DeviceMapper.xml | 159 ++++++++++++ .../device/service/CommunicateService.java | 23 ++ .../service/impl/CommunicateServiceImpl.java | 229 ++++++++++++++++++ .../service/impl/RunManageServiceImpl.java | 156 ++++-------- .../service/impl/TerminalTreeServiceImpl.java | 24 +- .../harmonic/pojo/param/HarmInHarmParam.java | 3 +- .../harmonic/controller/AssesController.java | 2 +- .../controller/HistoryResultController.java | 6 +- .../controller/SteadyDataController.java | 2 +- .../njcn/harmonic/service/AssesService.java | 2 +- .../harmonic/service/CommunicateService.java | 18 -- .../harmonic/service/SteadyDataService.java | 2 +- .../service/impl/AssesServiceImpl.java | 5 +- .../service/impl/CommunicateServiceImpl.java | 96 -------- .../impl/HistoryResultServiceImpl.java | 6 +- .../service/impl/SteadyDataServiceImpl.java | 2 +- .../njcn/user/controller/DeptController.java | 2 +- .../user/service/impl/DeptServiceImpl.java | 21 +- 33 files changed, 638 insertions(+), 286 deletions(-) rename {pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic => pqs-device/device-api/src/main/java/com/njcn/device}/pojo/param/PulicTimeParam.java (77%) rename {pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic => pqs-device/device-api/src/main/java/com/njcn/device}/pojo/param/PulicTimeStatisParam.java (94%) rename {pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic => pqs-device/device-api/src/main/java/com/njcn/device}/pojo/vo/CommunicateStatisticsVO.java (90%) create mode 100644 pqs-device/device-api/src/main/java/com/njcn/device/pojo/vo/DeviceOnlineDataVO.java create mode 100644 pqs-device/device-api/src/main/java/com/njcn/device/utils/PublicDateUtil.java rename {pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic => pqs-device/device-boot/src/main/java/com/njcn/device}/controller/CommunicateController.java (67%) create mode 100644 pqs-device/device-boot/src/main/java/com/njcn/device/service/CommunicateService.java create mode 100644 pqs-device/device-boot/src/main/java/com/njcn/device/service/impl/CommunicateServiceImpl.java delete mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/CommunicateService.java delete mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/CommunicateServiceImpl.java diff --git a/pqs-common/common-core/src/main/java/com/njcn/common/utils/HttpResultUtil.java b/pqs-common/common-core/src/main/java/com/njcn/common/utils/HttpResultUtil.java index 324d2e6f7..9ab0cd6a4 100644 --- a/pqs-common/common-core/src/main/java/com/njcn/common/utils/HttpResultUtil.java +++ b/pqs-common/common-core/src/main/java/com/njcn/common/utils/HttpResultUtil.java @@ -6,6 +6,8 @@ import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.exception.BusinessException; +import java.util.Date; + /** * @author hongawen * @version 1.0.0 diff --git a/pqs-device/device-api/src/main/java/com/njcn/device/api/DeptLineFeignClient.java b/pqs-device/device-api/src/main/java/com/njcn/device/api/DeptLineFeignClient.java index 626e48dba..a97cb4e63 100644 --- a/pqs-device/device-api/src/main/java/com/njcn/device/api/DeptLineFeignClient.java +++ b/pqs-device/device-api/src/main/java/com/njcn/device/api/DeptLineFeignClient.java @@ -3,6 +3,7 @@ package com.njcn.device.api; import com.njcn.common.pojo.constant.ServerInfo; import com.njcn.common.pojo.response.HttpResult; import com.njcn.device.api.fallback.DeptLineFeignClientFallbackFactory; +import io.lettuce.core.dynamic.annotation.Param; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -22,4 +23,7 @@ public interface DeptLineFeignClient { @PostMapping("/selectDeptBindLines") HttpResult selectDeptBindLines(@RequestParam("ids") List ids); + + @PostMapping("removeBind") + Integer removeBind(@RequestParam("id") String id); } diff --git a/pqs-device/device-api/src/main/java/com/njcn/device/api/fallback/DeptLineFeignClientFallbackFactory.java b/pqs-device/device-api/src/main/java/com/njcn/device/api/fallback/DeptLineFeignClientFallbackFactory.java index 2541b7bc0..d9c9dd7aa 100644 --- a/pqs-device/device-api/src/main/java/com/njcn/device/api/fallback/DeptLineFeignClientFallbackFactory.java +++ b/pqs-device/device-api/src/main/java/com/njcn/device/api/fallback/DeptLineFeignClientFallbackFactory.java @@ -43,6 +43,12 @@ public class DeptLineFeignClientFallbackFactory implements FallbackFactory scale; @@ -54,12 +63,15 @@ public class RunManageParam implements Serializable { * 1-非电网侧 */ @ApiModelProperty("电网侧标识") - @Range(min = 0, max = 1, message = "电网侧标识" + ValidMessage.PARAM_FORMAT_ERROR) + @Range(min = 0, max = 2, message = "电网侧标识" + ValidMessage.PARAM_FORMAT_ERROR) private int powerFlag; @ApiModelProperty(name = "comFlag", value = "通讯状态") + @NotNull(message = "通讯状态不可为空") private List comFlag; @ApiModelProperty(name = "runFlag", value = "终端状态") + @NotNull(message = "终端状态不可为空") private List runFlag; + } diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/CommunicateStatisticsVO.java b/pqs-device/device-api/src/main/java/com/njcn/device/pojo/vo/CommunicateStatisticsVO.java similarity index 90% rename from pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/CommunicateStatisticsVO.java rename to pqs-device/device-api/src/main/java/com/njcn/device/pojo/vo/CommunicateStatisticsVO.java index aa7336cb5..f1ed2c010 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/CommunicateStatisticsVO.java +++ b/pqs-device/device-api/src/main/java/com/njcn/device/pojo/vo/CommunicateStatisticsVO.java @@ -1,4 +1,4 @@ -package com.njcn.harmonic.pojo.vo; +package com.njcn.device.pojo.vo; import lombok.Data; diff --git a/pqs-device/device-api/src/main/java/com/njcn/device/pojo/vo/DeviceOnlineDataVO.java b/pqs-device/device-api/src/main/java/com/njcn/device/pojo/vo/DeviceOnlineDataVO.java new file mode 100644 index 000000000..70ac730ae --- /dev/null +++ b/pqs-device/device-api/src/main/java/com/njcn/device/pojo/vo/DeviceOnlineDataVO.java @@ -0,0 +1,26 @@ +package com.njcn.device.pojo.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @version 1.0.0 + * @author denghuajun + * @date 2022/05/26 18:41 + */ + +@Data +public class DeviceOnlineDataVO implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("年") + private String year; + + @ApiModelProperty("月") + private String month; + + @ApiModelProperty("在线率") + private Float onlineRate; +} diff --git a/pqs-device/device-api/src/main/java/com/njcn/device/pojo/vo/RunTimeVO.java b/pqs-device/device-api/src/main/java/com/njcn/device/pojo/vo/RunTimeVO.java index d352deb56..108c59e65 100644 --- a/pqs-device/device-api/src/main/java/com/njcn/device/pojo/vo/RunTimeVO.java +++ b/pqs-device/device-api/src/main/java/com/njcn/device/pojo/vo/RunTimeVO.java @@ -18,6 +18,9 @@ public class RunTimeVO implements Serializable { @ApiModelProperty(name = "runNo",value = "序号") private Integer runNo; + @ApiModelProperty(name = "id",value = "终端id") + private String id; + @ApiModelProperty(name = "areaName",value = "工程名称") private String areaName; diff --git a/pqs-device/device-api/src/main/java/com/njcn/device/utils/PublicDateUtil.java b/pqs-device/device-api/src/main/java/com/njcn/device/utils/PublicDateUtil.java new file mode 100644 index 000000000..e39574df6 --- /dev/null +++ b/pqs-device/device-api/src/main/java/com/njcn/device/utils/PublicDateUtil.java @@ -0,0 +1,43 @@ +package com.njcn.device.utils; + +import java.text.SimpleDateFormat; +import java.util.Calendar; + +public class PublicDateUtil { + + /** + * 获取某年某月的第一天 + */ + public static String getFisrtDayOfMonth(int year,int month){ + Calendar cal = Calendar.getInstance(); + //设置年份 + cal.set(Calendar.YEAR,year); + //设置月份 + cal.set(Calendar.MONTH, month-1); + //获取某月最小天数 + int firstDay = cal.getActualMinimum(Calendar.DAY_OF_MONTH); + //设置日历中月份的最小天数 + cal.set(Calendar.DAY_OF_MONTH, firstDay); + //格式化日期 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + return sdf.format(cal.getTime()); + } + /** + * 获取某月的最后一天 + */ + public static String getLastDayOfMonth(int year,int month) + { + Calendar cal = Calendar.getInstance(); + //设置年份 + cal.set(Calendar.YEAR,year); + //设置月份 + cal.set(Calendar.MONTH, month-1); + //获取某月最大天数 + int lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH); + //设置日历中月份的最大天数 + cal.set(Calendar.DAY_OF_MONTH, lastDay); + //格式化日期 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + return sdf.format(cal.getTime()); + } +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/CommunicateController.java b/pqs-device/device-boot/src/main/java/com/njcn/device/controller/CommunicateController.java similarity index 67% rename from pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/CommunicateController.java rename to pqs-device/device-boot/src/main/java/com/njcn/device/controller/CommunicateController.java index 708040e64..361a11970 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/CommunicateController.java +++ b/pqs-device/device-boot/src/main/java/com/njcn/device/controller/CommunicateController.java @@ -1,4 +1,4 @@ -package com.njcn.harmonic.controller; +package com.njcn.device.controller; import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.enums.common.LogEnum; @@ -6,29 +6,34 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; import com.njcn.device.pojo.vo.CommunicateVO; -import com.njcn.harmonic.pojo.param.PulicTimeParam; -import com.njcn.harmonic.pojo.param.PulicTimeStatisParam; -import com.njcn.harmonic.pojo.vo.CommunicateStatisticsVO; -import com.njcn.harmonic.service.CommunicateService; +import com.njcn.device.pojo.param.PulicTimeParam; +import com.njcn.device.pojo.param.PulicTimeStatisParam; +import com.njcn.device.pojo.vo.CommunicateStatisticsVO; +import com.njcn.device.pojo.vo.DeviceOnlineDataVO; +import com.njcn.device.service.CommunicateService; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.util.List; + /** * @author denghuajun * @date 2022/2/28 * */ +@Validated @Slf4j +@Api(tags = "运行状态管理") @RestController @RequestMapping("/communicate") -@Api(tags = "运行状态管理") -@AllArgsConstructor +@RequiredArgsConstructor public class CommunicateController extends BaseController { private final CommunicateService communicateService; @@ -52,4 +57,14 @@ public class CommunicateController extends BaseController { CommunicateStatisticsVO list = communicateService.getRunInfoData(pulicTimeStatisParam); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getRunOnlineRateData") + @ApiOperation("终端在线率统计") + @ApiImplicitParam(name = "pulicTimeParam", value = "终端在线率统计", required = true) + public HttpResult> getRunOnlineRateData(@RequestBody @Validated PulicTimeParam pulicTimeParam) { + String methodDescribe = getMethodDescribe("getRunOnlineRateData"); + List list = communicateService.getRunOnlineRateData(pulicTimeParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } } diff --git a/pqs-device/device-boot/src/main/java/com/njcn/device/controller/DeptLineController.java b/pqs-device/device-boot/src/main/java/com/njcn/device/controller/DeptLineController.java index 2c5d7cb12..af2915570 100644 --- a/pqs-device/device-boot/src/main/java/com/njcn/device/controller/DeptLineController.java +++ b/pqs-device/device-boot/src/main/java/com/njcn/device/controller/DeptLineController.java @@ -91,10 +91,9 @@ public class DeptLineController extends BaseController { @PostMapping("/removeBind") @ApiOperation("部门解除绑定监测点") @ApiImplicitParam(name = "id", value = "部门id", required = true) - public HttpResult removeBind(@RequestParam("id") String id) { + public Integer removeBind(@RequestParam("id") String id) { String methodDescribe = getMethodDescribe("removeBind"); - deptLineService.removeBind(id); - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + return deptLineService.removeBind(id); } diff --git a/pqs-device/device-boot/src/main/java/com/njcn/device/controller/OperationContrController.java b/pqs-device/device-boot/src/main/java/com/njcn/device/controller/OperationContrController.java index 42e450b94..7d3788fd1 100644 --- a/pqs-device/device-boot/src/main/java/com/njcn/device/controller/OperationContrController.java +++ b/pqs-device/device-boot/src/main/java/com/njcn/device/controller/OperationContrController.java @@ -96,4 +96,6 @@ public class OperationContrController extends BaseController { LineStaticsViewVO result = lineService.getLineStaticsView(startTime, endTime, lineId); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } + + } diff --git a/pqs-device/device-boot/src/main/java/com/njcn/device/mapper/DeviceMapper.java b/pqs-device/device-boot/src/main/java/com/njcn/device/mapper/DeviceMapper.java index db116d4ac..c84e37d7f 100644 --- a/pqs-device/device-boot/src/main/java/com/njcn/device/mapper/DeviceMapper.java +++ b/pqs-device/device-boot/src/main/java/com/njcn/device/mapper/DeviceMapper.java @@ -3,6 +3,8 @@ package com.njcn.device.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.njcn.device.pojo.po.Device; +import com.njcn.device.pojo.vo.RunManageVO; +import com.njcn.device.pojo.vo.RunTimeVO; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -25,4 +27,21 @@ public interface DeviceMapper extends BaseMapper { //TODO List getDeviceList(@Param("list") List list); + /** + * 获取监测点台账信息 + * @param list 监测点集合 + * @param comFlag 状态 + * @param runFlag 状态 + * @return 结果 + */ + List getRunManageList(@Param("list") List list, @Param("comFlag")List comFlag, @Param("runFlag")List runFlag); + + /** + * 获取监测点台账信息 + * @param list 终端集合 + * @param comFlag 状态 + * @param runFlag 状态 + * @return 结果 + */ + List getRunManageDevList(@Param("list") List list, @Param("comFlag")List comFlag, @Param("runFlag")List runFlag); } diff --git a/pqs-device/device-boot/src/main/java/com/njcn/device/mapper/LineMapper.java b/pqs-device/device-boot/src/main/java/com/njcn/device/mapper/LineMapper.java index e453df8e5..08a9be7c1 100644 --- a/pqs-device/device-boot/src/main/java/com/njcn/device/mapper/LineMapper.java +++ b/pqs-device/device-boot/src/main/java/com/njcn/device/mapper/LineMapper.java @@ -97,7 +97,7 @@ public interface LineMapper extends BaseMapper { /** * 返回省份的上级 */ - String selectProject(@Param("areaId") String areaId); + List selectProject(@Param("areaId") String areaId); /** * @param areaId diff --git a/pqs-device/device-boot/src/main/java/com/njcn/device/mapper/mapping/DeviceMapper.xml b/pqs-device/device-boot/src/main/java/com/njcn/device/mapper/mapping/DeviceMapper.xml index ad0f65a79..7c73394a7 100644 --- a/pqs-device/device-boot/src/main/java/com/njcn/device/mapper/mapping/DeviceMapper.xml +++ b/pqs-device/device-boot/src/main/java/com/njcn/device/mapper/mapping/DeviceMapper.xml @@ -7,4 +7,163 @@ + + + diff --git a/pqs-device/device-boot/src/main/java/com/njcn/device/service/CommunicateService.java b/pqs-device/device-boot/src/main/java/com/njcn/device/service/CommunicateService.java new file mode 100644 index 000000000..975046d85 --- /dev/null +++ b/pqs-device/device-boot/src/main/java/com/njcn/device/service/CommunicateService.java @@ -0,0 +1,23 @@ +package com.njcn.device.service; + +import com.njcn.device.pojo.vo.CommunicateVO; +import com.njcn.device.pojo.param.PulicTimeParam; +import com.njcn.device.pojo.param.PulicTimeStatisParam; +import com.njcn.device.pojo.vo.CommunicateStatisticsVO; +import com.njcn.device.pojo.vo.DeviceOnlineDataVO; + +import java.util.List; + +/** + * @author denghuajun + * @date 2022/2/28 + * + */ +public interface CommunicateService { + + CommunicateVO getComFlagInfoData(PulicTimeParam pulicTimeParam); + + CommunicateStatisticsVO getRunInfoData(PulicTimeStatisParam pulicTimeStatisParam); + + List getRunOnlineRateData(PulicTimeParam pulicTimeParam); +} diff --git a/pqs-device/device-boot/src/main/java/com/njcn/device/service/impl/CommunicateServiceImpl.java b/pqs-device/device-boot/src/main/java/com/njcn/device/service/impl/CommunicateServiceImpl.java new file mode 100644 index 000000000..4bba0373a --- /dev/null +++ b/pqs-device/device-boot/src/main/java/com/njcn/device/service/impl/CommunicateServiceImpl.java @@ -0,0 +1,229 @@ +package com.njcn.device.service.impl; + +import com.njcn.device.api.LineFeignClient; +import com.njcn.device.pojo.vo.CommunicateVO; +import com.njcn.device.pojo.param.PulicTimeParam; +import com.njcn.device.pojo.param.PulicTimeStatisParam; +import com.njcn.device.pojo.vo.CommunicateStatisticsVO; +import com.njcn.device.pojo.vo.DeviceOnlineDataVO; +import com.njcn.device.service.CommunicateService; +import com.njcn.device.service.LineService; +import com.njcn.device.utils.PublicDateUtil; +import com.njcn.influxdb.utils.InfluxDbUtils; +import lombok.AllArgsConstructor; +import lombok.SneakyThrows; +import org.apache.commons.lang.StringUtils; +import org.apache.xmlbeans.SimpleValue; +import org.influxdb.dto.QueryResult; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.math.BigDecimal; +import java.text.DecimalFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import static com.njcn.influxdb.param.InfluxDBPublicParam.*; + +/** + * @author denghuajun + * @date 2022/2/28 + */ +@Service +@AllArgsConstructor +public class CommunicateServiceImpl implements CommunicateService { + + private final LineService lineService; + + private final InfluxDbUtils influxDbUtils; + + @Override + public CommunicateVO getComFlagInfoData(PulicTimeParam pulicTimeParam) { + //根据监测点id获取终端状态信息 + return lineService.getComFlagInfoData(pulicTimeParam.getId(), pulicTimeParam.getSearchBeginTime(), pulicTimeParam.getSearchEndTime()); + } + + @Override + public CommunicateStatisticsVO getRunInfoData(PulicTimeStatisParam pulicTimeStatisParam) { + CommunicateStatisticsVO communicateStatisticsVO = new CommunicateStatisticsVO(); + //根据监测点id获取终端id + String devId = lineService.getLineIdByDevId(pulicTimeStatisParam.getId()); + List floatList = new ArrayList<>(); + List floats = new ArrayList<>(); + floatList.add(getCondition(pulicTimeStatisParam.getId(), pulicTimeStatisParam.getSearchBeginTime(), pulicTimeStatisParam.getSearchEndTime(), 0) * 100); + floats.add(getCondition(devId, pulicTimeStatisParam.getSearchBeginTime(), pulicTimeStatisParam.getSearchEndTime(), 1) * 100); + if (StringUtils.isNotBlank(pulicTimeStatisParam.getPeriodBeginTime()) && StringUtils.isNotBlank(pulicTimeStatisParam.getPeriodEndTime())) { + floatList.add(getCondition(pulicTimeStatisParam.getId(), pulicTimeStatisParam.getPeriodBeginTime(), pulicTimeStatisParam.getPeriodEndTime(), 0) * 100); + floats.add(getCondition(devId, pulicTimeStatisParam.getPeriodBeginTime(), pulicTimeStatisParam.getPeriodEndTime(), 1) * 100); + } + communicateStatisticsVO.setOnlineRateData(floats); + communicateStatisticsVO.setIntegrityData(floatList); + return communicateStatisticsVO; + } + + @SneakyThrows + @Override + public List getRunOnlineRateData(PulicTimeParam pulicTimeParam) { + List deviceOnlineDataList = new ArrayList<>(); + //根据监测点id获取终端id + String devId = lineService.getLineIdByDevId(pulicTimeParam.getId()); + DecimalFormat decimalFormat=new DecimalFormat(".00"); + Float floatList; + // 获取两个时间的之间的月份 + List intervalTime = this.getIntervalTime(pulicTimeParam.getSearchBeginTime(), pulicTimeParam.getSearchEndTime()); + for (String interTime : intervalTime) { + DeviceOnlineDataVO inter = new DeviceOnlineDataVO(); + String startTime, endTime; + inter.setMonth(interTime.substring(5)); + inter.setYear(interTime.substring(0, 4)); + startTime = PublicDateUtil.getFisrtDayOfMonth(Integer.parseInt(interTime.substring(0,4)),Integer.parseInt(interTime.substring(5))); + endTime = PublicDateUtil.getLastDayOfMonth(Integer.parseInt(interTime.substring(0,4)),Integer.parseInt(interTime.substring(5))); + SimpleValue temp; + floatList = getCondition(devId, startTime, endTime, 1); + inter.setOnlineRate(Float.parseFloat(decimalFormat.format(floatList*100))); + deviceOnlineDataList.add(inter); + } + return deviceOnlineDataList; + } + + /** + * influxDB相关操作 + * 查询监测点的数据完整性 + */ + private Float getCondition(String lineList, String startTime, String endTime, Integer state) { + final Float[] resultList = {0.0f}; + //组装sql语句 + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.append(TIME + " >= '").append(startTime).append(START_TIME).append("' and ").append(TIME).append(" <= '").append(endTime).append(END_TIME).append("' and ("); + //sql语句 + String sql = ""; + if (state == 0) { + stringBuilder.append(LINE_ID + "='").append(lineList).append("')"); + sql = "SELECT SUM(" + REAL + ")/SUM(" + DUE + ") AS integrity FROM pqs_integrity WHERE " + stringBuilder.toString() + " group by " + LINE_ID + " tz('Asia/Shanghai')"; + } else { + stringBuilder.append(DEV_INDEX + "='").append(lineList).append("')"); + sql = "SELECT SUM(" + ONLINE_MIN + ")/(SUM(" + OFFLINE_MIN + ")+SUM(" + ONLINE_MIN + ")) AS onlineRate FROM pqs_onlinerate WHERE " + stringBuilder.toString() + " group by " + DEV_INDEX + " tz('Asia/Shanghai')"; + } + //结果集 + QueryResult result = influxDbUtils.query(sql); + //处理结果集 + List list = result.getResults().get(0).getSeries(); + if (!CollectionUtils.isEmpty(list)) { + list.forEach(po -> { + List> valueList = po.getValues(); + if (!CollectionUtils.isEmpty(valueList)) { + for (List value : valueList) { + //数据完整性 保留四位小数 + resultList[0] = value.get(1) == null ? null : BigDecimal.valueOf(Float.parseFloat(value.get(1).toString())).setScale(4, BigDecimal.ROUND_HALF_UP).floatValue(); + } + } + }); + } + + return resultList[0]; + } + + /** + * 根据用户选择的时间区间返回月份日期 + */ + @SneakyThrows + private List getIntervalTime(String startTime, String endTime) { + List times = new ArrayList<>(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM"); + Date start = sdf.parse(startTime); + Date end = sdf.parse(endTime); + // 同月 + if (start.getTime() == end.getTime()) { + String time = startTime.substring(0, 7); + times.add(time); + } else if (start.getYear() == end.getYear()) { + // 同年 + int startM = start.getMonth() + 1; + int endM = end.getMonth() + 1; + int temp = endM - startM; + for (int i = 0; i <= temp; i++) { + String time = start.getYear() + 1900 + ""; + int month = startM + i; + if (month < 10) { + time = time + "-0" + month; + } else { + time = time + "-" + month; + } + times.add(time); + } + } else { + // 不同年!!!!这里忽略了年份之间跨年的情况 + int startY = start.getYear() + 1900; + int startM = start.getMonth() + 1; + int endY = end.getYear() + 1900; + int endM = end.getMonth() + 1; + int tempS = 12 - startM; + // 连续的年份 + if (endY - startY == 1) { + // 第一年的时间获取 + for (int i = 0; i <= tempS; i++) { + int month = startM + i; + String time = startY + "-"; + if (month < 10) { + time = time + "0" + month; + } else { + time = time + month; + } + times.add(time); + } + // 第二年的时间获取 + + for (int i = 1; i <= endM; i++) { + String time = endY + "-"; + if (i < 10) { + time = time + "0" + i; + } else { + time = time + i; + } + times.add(time); + } + } else { + // 不连续的年份 + // 第一年的时间获取 + for (int i = 0; i <= tempS; i++) { + int month = startM + i; + String time = startY + "-"; + if (month < 10) { + time = time + "0" + month; + } else { + time = time + month; + } + times.add(time); + } + int tempY = endY - startY; + // 中间年份的时间 + for (int i = 1; i < tempY; i++) { + for (int j = 1; j <= 12; j++) { + String time = startY + i + "-"; + if (j < 10) { + time = time + "0" + j; + } else { + time = time + j; + } + times.add(time); + } + } + // 最后一年的时间获取 + for (int i = 1; i <= endM; i++) { + String time = endY + "-"; + if (i < 10) { + time = time + "0" + i; + } else { + time = time + i; + } + times.add(time); + } + } + + } + return times; + } +} diff --git a/pqs-device/device-boot/src/main/java/com/njcn/device/service/impl/RunManageServiceImpl.java b/pqs-device/device-boot/src/main/java/com/njcn/device/service/impl/RunManageServiceImpl.java index 37e3adf69..d39eeeaec 100644 --- a/pqs-device/device-boot/src/main/java/com/njcn/device/service/impl/RunManageServiceImpl.java +++ b/pqs-device/device-boot/src/main/java/com/njcn/device/service/impl/RunManageServiceImpl.java @@ -78,46 +78,18 @@ public class RunManageServiceImpl implements RunManageService { List runManageVOList = new ArrayList<>(); DeviceInfoParam deviceInfoParam = new DeviceInfoParam(); BeanUtil.copyProperties(runManageParam, deviceInfoParam); - List generalDeviceDTOList = generalDeviceService.getDeviceInfoAsDept(deviceInfoParam, Stream.of(0).collect(Collectors.toList()), Stream.of(1).collect(Collectors.toList())); + List generalDeviceDTOList = generalDeviceService.getDeviceInfo(deviceInfoParam, runManageParam.getRunFlag(), Stream.of(1).collect(Collectors.toList())); List lineIndexes = new ArrayList<>(); - List devIndexes = new ArrayList<>(); - List lineIndex = new ArrayList<>(); if (!CollectionUtils.isEmpty(generalDeviceDTOList)) { for (GeneralDeviceDTO generalDeviceDTO : generalDeviceDTOList) { lineIndexes.addAll(generalDeviceDTO.getLineIndexes()); } - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.in("pq_device.Com_Flag", runManageParam.getComFlag()); - queryWrapper.in("pq_device.Run_Flag", runManageParam.getRunFlag()); - List deviceList = deviceMapper.selectList(queryWrapper); - //获取满足条件的终端id - for (Device device : deviceList) { - devIndexes.add(device.getId()); - } - //根据终端id获取监测点id - QueryWrapper lineQueryWrapper = new QueryWrapper<>(); - lineQueryWrapper.in("pq_line.pid", devIndexes); - List lineList = lineMapper.selectList(lineQueryWrapper); - for (Line line : lineList) { - QueryWrapper queryWrappers = new QueryWrapper<>(); - queryWrappers.eq("pq_line.pid", line.getId()); - List lines = lineMapper.selectList(queryWrappers); - for (Line l : lines) { - lineIndex.add(l.getId()); - } - } - lineIndexes.retainAll(lineIndex); - Integer i = 1; - for (String line : lineIndexes) { - RunManageVO runManageVO = new RunManageVO(); - //获取监测点详情 - LineDetailDataVO lineDataVO = lineService.getLineDetailData(line); - //获取越限详情 - LineOverLimitVO lineOverLimitVO = lineService.getLineOverLimitData(line); - BeanUtil.copyProperties(lineDataVO, runManageVO); - BeanUtil.copyProperties(lineOverLimitVO, runManageVO); + List list = deviceMapper.getRunManageList(lineIndexes, runManageParam.getComFlag(), runManageParam.getRunFlag()); + runManageVOList = list.stream().skip((runManageParam.getPageNum() - 1) * runManageParam.getPageSize()).limit(runManageParam.getPageSize()). + collect(Collectors.toList()); + int i = 1; + for (RunManageVO runManageVO : runManageVOList) { runManageVO.setRunNo(i); - runManageVOList.add(runManageVO); i++; } } @@ -126,68 +98,24 @@ public class RunManageServiceImpl implements RunManageService { @Override public List getRuntimeDetail(RunManageParam runManageParam) { - DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd"); - DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss"); List runTimeVOList = new ArrayList<>(); DeviceInfoParam deviceInfoParam = new DeviceInfoParam(); BeanUtil.copyProperties(runManageParam, deviceInfoParam); - List generalDeviceDTOList = generalDeviceService.getDeviceInfoAsDept(deviceInfoParam, Stream.of(0).collect(Collectors.toList()), Stream.of(1).collect(Collectors.toList())); + List generalDeviceDTOList = generalDeviceService.getDeviceInfo(deviceInfoParam, Stream.of(0).collect(Collectors.toList()), Stream.of(1).collect(Collectors.toList())); List devIndexes = new ArrayList<>(); - List devIndex = new ArrayList<>(); if (!CollectionUtils.isEmpty(generalDeviceDTOList)) { for (GeneralDeviceDTO generalDeviceDTO : generalDeviceDTOList) { devIndexes.addAll(generalDeviceDTO.getDeviceIndexes()); } - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.in("pq_device.Com_Flag", runManageParam.getComFlag()); - queryWrapper.in("pq_device.Run_Flag", runManageParam.getRunFlag()); - List deviceList = deviceMapper.selectList(queryWrapper); - for (Device device : deviceList) { - devIndex.add(device.getId()); - } - devIndexes.retainAll(devIndex); - Integer i = 1; - for (String devIndexs : devIndexes) { - RunTimeVO runTimeVO = new RunTimeVO(); - Device device = deviceMapper.selectById(devIndexs); - //根据id查询当前信息的pids - List pids = Arrays.asList(lineMapper.selectById(devIndexs).getPids().split(",")); - List list = new ArrayList<>(pids); - list.add(devIndexs); - List lineDataVOList = lineMapper.getLineDetail(list); + List list = deviceMapper.getRunManageDevList(devIndexes, runManageParam.getComFlag(), runManageParam.getRunFlag()); + runTimeVOList = list.stream().skip((runManageParam.getPageNum() - 1) * runManageParam.getPageSize()).limit(runManageParam.getPageSize()). + collect(Collectors.toList()); + int i = 1; + for (RunTimeVO runTimeVO : runTimeVOList) { runTimeVO.setRunNo(i); - String areaId = ""; - for (LineDataVO lineDataVO : lineDataVOList) { - switch (lineDataVO.getLevel()) { - case 1: - areaId = lineDataVO.getName(); - break; - case 2: - runTimeVO.setGdName(lineDataVO.getName()); - break; - case 3: - runTimeVO.setBdName(lineDataVO.getName()); - break; - case 4: - runTimeVO.setDevName(lineDataVO.getName()); - break; - default: - break; - } - } - runTimeVO.setAreaName(areaFeignClient.selectIdArea(areaId).getData().getName()); - runTimeVO.setManufacturer(dicDataFeignClient.getDicDataById(device.getManufacturer()).getData().getName()); - runTimeVO.setComFlag(PubUtils.comFlag(device.getComFlag())); - runTimeVO.setRunFlag(PubUtils.runFlag(device.getRunFlag())); - runTimeVO.setIp(device.getIp()); - runTimeVO.setLoginTime(fmt.format(device.getLoginTime())); - runTimeVO.setDevType(dicDataFeignClient.getDicDataById(device.getDevType()).getData().getName()); - runTimeVO.setPort(device.getPort().toString()); - runTimeVO.setUpdateTime(dateTimeFormatter.format(device.getUpdateTime())); //获取在线率 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - runTimeVO.setOnlineEvaluate(getCondition(formatter.format(DateUtil.lastMonth()), formatter.format(DateUtil.dateNew(new Date())), devIndexs) * 100); - runTimeVOList.add(runTimeVO); + runTimeVO.setOnlineEvaluate(getCondition(formatter.format(DateUtil.lastMonth()), formatter.format(DateUtil.dateNew(new Date())), runTimeVO.getId()) * 100); i++; } } @@ -199,9 +127,9 @@ public class RunManageServiceImpl implements RunManageService { QueryResult queryResult; if (!lineId.isEmpty()) { //组装sql语句 - String stringBuilder = "time >= '" + startTime + "' and " + "time <= '" + endTime + "' and (" + DEV_INDEX +" ='" + lineId + "') "; + String stringBuilder = "time >= '" + startTime + "' and " + "time <= '" + endTime + "' and (" + DEV_INDEX + " ='" + lineId + "') "; //sql语句 - String sql = "SELECT SUM("+ ONLINE_MIN+")/(SUM("+OFFLINE_MIN+")+SUM("+ONLINE_MIN+")) AS onlineRate FROM "+PQS_ONLINERATE+" WHERE " + stringBuilder+TIME_ZONE; + String sql = "SELECT SUM(" + ONLINE_MIN + ")/(SUM(" + OFFLINE_MIN + ")+SUM(" + ONLINE_MIN + ")) AS onlineRate FROM " + PQS_ONLINERATE + " WHERE " + stringBuilder + TIME_ZONE; queryResult = influxDbUtils.query(sql); //处理结果集 List list = queryResult.getResults().get(0).getSeries(); @@ -275,7 +203,7 @@ public class RunManageServiceImpl implements RunManageService { for (SimpleDTO simpleDTO : scales) { List voltageScaleIds = terminalBaseService.getVoltageIdByScale(generalDeviceDTO.getVoltageIndexes(), simpleDTO.getId()); GeneralDeviceDTO general = assembleDataByLine(simpleDTO, lines, voltageScaleIds, LineBaseEnum.SUB_V_LEVEL.getCode()); - toCountMod(itemDataList,general,1); + toCountMod(itemDataList, general, 1); } temData.setList(itemDataList); return temData; @@ -284,15 +212,15 @@ public class RunManageServiceImpl implements RunManageService { /** * 过滤干扰源类型 */ - private TerminalLedgerVO.TemData filterLoadType(GeneralDeviceDTO generalDeviceDTO,List loadType){ - TerminalLedgerVO.TemData temData =new TerminalLedgerVO.TemData(); + private TerminalLedgerVO.TemData filterLoadType(GeneralDeviceDTO generalDeviceDTO, List loadType) { + TerminalLedgerVO.TemData temData = new TerminalLedgerVO.TemData(); temData.setName(DicDataTypeEnum.INTERFERENCE_SOURCE_TYPE.getName()); - if(CollectionUtil.isEmpty(loadType)){ + if (CollectionUtil.isEmpty(loadType)) { //如果为空则加载所有干扰源类型 List loadTypeDictData = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.INTERFERENCE_SOURCE_TYPE.getName()).getData(); loadType = loadTypeDictData.stream().map(dictData -> { SimpleDTO simpleDTO = new SimpleDTO(); - BeanUtil.copyProperties(dictData,simpleDTO); + BeanUtil.copyProperties(dictData, simpleDTO); return simpleDTO; }).collect(Collectors.toList()); } @@ -305,7 +233,7 @@ public class RunManageServiceImpl implements RunManageService { for (SimpleDTO simpleDTO : loadType) { List lineLoadTypeIds = terminalBaseService.getLineIdByLoadType(generalDeviceDTO.getLineIndexes(), simpleDTO.getId()); GeneralDeviceDTO general = assembleDataByLine(simpleDTO, lines, lineLoadTypeIds, LineBaseEnum.LINE_LEVEL.getCode()); - toCountMod(itemDataList,general,2); + toCountMod(itemDataList, general, 2); } temData.setList(itemDataList); @@ -315,15 +243,15 @@ public class RunManageServiceImpl implements RunManageService { /** * 过滤厂家 */ - private TerminalLedgerVO.TemData filterManufacturer(GeneralDeviceDTO generalDeviceDTO,List manufacturer){ - TerminalLedgerVO.TemData temData =new TerminalLedgerVO.TemData(); + private TerminalLedgerVO.TemData filterManufacturer(GeneralDeviceDTO generalDeviceDTO, List manufacturer) { + TerminalLedgerVO.TemData temData = new TerminalLedgerVO.TemData(); temData.setName(DicDataTypeEnum.DEV_MANUFACTURER.getName()); - if(CollectionUtil.isEmpty(manufacturer)){ + if (CollectionUtil.isEmpty(manufacturer)) { //如果为空则加载所有干扰源类型 List manufacturerDictData = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.DEV_MANUFACTURER.getName()).getData(); manufacturer = manufacturerDictData.stream().map(dictData -> { SimpleDTO simpleDTO = new SimpleDTO(); - BeanUtil.copyProperties(dictData,simpleDTO); + BeanUtil.copyProperties(dictData, simpleDTO); return simpleDTO; }).collect(Collectors.toList()); } @@ -336,7 +264,7 @@ public class RunManageServiceImpl implements RunManageService { for (SimpleDTO simpleDTO : manufacturer) { List devIds = terminalBaseService.getDeviceIdByManufacturer(generalDeviceDTO.getDeviceIndexes(), simpleDTO.getId()); GeneralDeviceDTO general = assembleDataByLine(simpleDTO, lines, devIds, LineBaseEnum.DEVICE_LEVEL.getCode()); - toCountMod(itemDataList,general,2); + toCountMod(itemDataList, general, 2); } temData.setList(itemDataList); return temData; @@ -345,38 +273,38 @@ public class RunManageServiceImpl implements RunManageService { /** * 上报类型 */ - private TerminalLedgerVO.TemData filterMonitor(GeneralDeviceDTO generalDeviceDTO,Integer monitorFlag){ - TerminalLedgerVO.TemData temData =new TerminalLedgerVO.TemData(); + private TerminalLedgerVO.TemData filterMonitor(GeneralDeviceDTO generalDeviceDTO, Integer monitorFlag) { + TerminalLedgerVO.TemData temData = new TerminalLedgerVO.TemData(); temData.setName(StatisticsEnum.REPORT_TYPE.getName()); List lines = terminalBaseService.getLineById(generalDeviceDTO.getLineIndexes()); List lineIds = lines.stream().map(Line::getId).collect(Collectors.toList()); - List lineDetailList = lineDetailMapper.selectBatchIds(lineIds); + List lineDetailList = lineDetailMapper.selectBatchIds(lineIds); List itemDataList = new ArrayList<>(); - if(monitorFlag == 2) { - List line1 = lineDetailList.stream().filter((item)->item.getMonitorFlag()==1).map(LineDetail::getId).collect(Collectors.toList()); + if (monitorFlag == 2) { + List line1 = lineDetailList.stream().filter((item) -> item.getMonitorFlag() == 1).map(LineDetail::getId).collect(Collectors.toList()); SimpleDTO simpleDTO = new SimpleDTO(); simpleDTO.setName("灿能上报"); GeneralDeviceDTO general = assembleDataByLine(simpleDTO, lines, line1, LineBaseEnum.LINE_LEVEL.getCode()); - toCountMod(itemDataList,general,2); + toCountMod(itemDataList, general, 2); - List line2 = lineDetailList.stream().filter((item)->item.getMonitorFlag()==0).map(LineDetail::getId).collect(Collectors.toList()); + List line2 = lineDetailList.stream().filter((item) -> item.getMonitorFlag() == 0).map(LineDetail::getId).collect(Collectors.toList()); SimpleDTO simpleDTO2 = new SimpleDTO(); simpleDTO2.setName("非灿能上报"); GeneralDeviceDTO general2 = assembleDataByLine(simpleDTO2, lines, line2, LineBaseEnum.LINE_LEVEL.getCode()); - toCountMod(itemDataList,general2,2); + toCountMod(itemDataList, general2, 2); - }else if(monitorFlag == 1){ + } else if (monitorFlag == 1) { SimpleDTO simpleDTO = new SimpleDTO(); simpleDTO.setName("灿能上报"); GeneralDeviceDTO general = assembleDataByLine(simpleDTO, lines, generalDeviceDTO.getLineIndexes(), LineBaseEnum.LINE_LEVEL.getCode()); - toCountMod(itemDataList,general,2); + toCountMod(itemDataList, general, 2); - }else if(monitorFlag == 0){ + } else if (monitorFlag == 0) { SimpleDTO simpleDTO = new SimpleDTO(); simpleDTO.setName("非灿能上报"); GeneralDeviceDTO general = assembleDataByLine(simpleDTO, lines, generalDeviceDTO.getLineIndexes(), LineBaseEnum.LINE_LEVEL.getCode()); - toCountMod(itemDataList,general,2); + toCountMod(itemDataList, general, 2); } temData.setList(itemDataList); return temData; @@ -413,12 +341,12 @@ public class RunManageServiceImpl implements RunManageService { /** * 数据组装 */ - private void toCountMod(List itemDataList,GeneralDeviceDTO general,int type){ - if(general.getLineIndexes().size()!=0 || general.getDeviceIndexes().size()!=0 || general.getSubIndexes().size()!=0){ + private void toCountMod(List itemDataList, GeneralDeviceDTO general, int type) { + if (general.getLineIndexes().size() != 0 || general.getDeviceIndexes().size() != 0 || general.getSubIndexes().size() != 0) { TerminalLedgerVO.ItemData itemData = new TerminalLedgerVO.ItemData(); - if(type == 1){ + if (type == 1) { //电压时候进行排序处理 - itemData.setVoltage(Float.parseFloat(general.getName().substring(0,general.getName().indexOf("k")))); + itemData.setVoltage(Float.parseFloat(general.getName().substring(0, general.getName().indexOf("k")))); } itemData.setLineCount(general.getLineIndexes().size()); itemData.setDevCount(general.getDeviceIndexes().size()); diff --git a/pqs-device/device-boot/src/main/java/com/njcn/device/service/impl/TerminalTreeServiceImpl.java b/pqs-device/device-boot/src/main/java/com/njcn/device/service/impl/TerminalTreeServiceImpl.java index 8ebff4a16..98a5cafda 100644 --- a/pqs-device/device-boot/src/main/java/com/njcn/device/service/impl/TerminalTreeServiceImpl.java +++ b/pqs-device/device-boot/src/main/java/com/njcn/device/service/impl/TerminalTreeServiceImpl.java @@ -119,14 +119,14 @@ public class TerminalTreeServiceImpl implements TerminalTreeService { List subList = treeMapper.getSubList(generalDeviceDTO.getSubIndexes()); List lineList = treeMapper.getLineList(generalDeviceDTO.getLineIndexes()); //处理变电站 - dealChildrenData(subList,lineList,true); + dealChildrenData(subList, lineList, true); //处理供电公司 - dealChildrenData(gdList,subList,false); + dealChildrenData(gdList, subList, false); if (deviceInfoParam.getStatisticalType().getCode().equalsIgnoreCase(StatisticsEnum.POWER_NETWORK.getCode())) { terminalTree.setChildren(gdList); } else { //还需要额外处理省会 - dealChildrenData(proList,gdList,false); + dealChildrenData(proList, gdList, false); terminalTree.setChildren(proList); } terminalTree.setId(generalDeviceDTO.getIndex()); @@ -136,21 +136,21 @@ public class TerminalTreeServiceImpl implements TerminalTreeService { } return taiZhang; } else { - return new ArrayList<>(); + return new ArrayList<>(); } } private void dealChildrenData(List targetData, List childrenData, boolean isLine) { - Map> groupLine; - if(isLine){ + Map> groupLine; + if (isLine) { groupLine = childrenData.stream().collect(Collectors.groupingBy(terminalTree -> { String[] pid = terminalTree.getPids().split(","); return pid[LineBaseEnum.SUB_LEVEL.getCode()]; })); - }else{ + } else { groupLine = childrenData.stream().collect(Collectors.groupingBy(TerminalTree::getPid)); } - targetData=targetData.stream().peek(terminalTree -> { + targetData = targetData.stream().peek(terminalTree -> { terminalTree.setChildren(groupLine.get(terminalTree.getId())); }).collect(Collectors.toList()); } @@ -207,7 +207,7 @@ public class TerminalTreeServiceImpl implements TerminalTreeService { String areaId = areaDetail.getId(); if (CollectionUtil.isNotEmpty(allList)) { - List projectList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.PROJECT_LEVEL.getCode()) && item.getId().equals(lineMapper.selectProject(areaId))).collect(Collectors.toList()); + List projectList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.PROJECT_LEVEL.getCode()) && lineMapper.selectProject(areaId).contains(item.getId())).collect(Collectors.toList()); List provinceList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.PROVINCE_LEVEL.getCode()) && item.getName().equals(areaId)).collect(Collectors.toList()); for (TerminalTree terminalTree : provinceList) { terminalTree.setName(lineMapper.getProviceName(terminalTree.getName())); @@ -282,7 +282,7 @@ public class TerminalTreeServiceImpl implements TerminalTreeService { String areaId = areaDetail.getId(); if (CollectionUtil.isNotEmpty(allList)) { - List projectList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.PROJECT_LEVEL.getCode()) && item.getId().equals(lineMapper.selectProject(areaId))).collect(Collectors.toList()); + List projectList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.PROJECT_LEVEL.getCode()) && lineMapper.selectProject(areaId).contains(item.getId())).collect(Collectors.toList()); List provinceList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.PROVINCE_LEVEL.getCode()) && item.getName().equals(areaId)).collect(Collectors.toList()); for (TerminalTree terminalTree : provinceList) { terminalTree.setName(lineMapper.getProviceName(terminalTree.getName())); @@ -348,7 +348,7 @@ public class TerminalTreeServiceImpl implements TerminalTreeService { String areaId = areaDetail.getId(); if (CollectionUtil.isNotEmpty(allList)) { - List projectList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.PROJECT_LEVEL.getCode()) && item.getId().equals(lineMapper.selectProject(areaId))).collect(Collectors.toList()); + List projectList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.PROJECT_LEVEL.getCode()) && lineMapper.selectProject(areaId).contains(item.getId())).collect(Collectors.toList()); List provinceList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.PROVINCE_LEVEL.getCode()) && item.getName().equals(areaId)).collect(Collectors.toList()); for (TerminalTree terminalTree : provinceList) { terminalTree.setName(lineMapper.getProviceName(terminalTree.getName())); @@ -422,7 +422,7 @@ public class TerminalTreeServiceImpl implements TerminalTreeService { String areaId = areaDetail.getId(); if (CollectionUtil.isNotEmpty(allList)) { - List projectList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.PROJECT_LEVEL.getCode()) && item.getId().equals(lineMapper.selectProject(areaId))).collect(Collectors.toList()); + List projectList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.PROJECT_LEVEL.getCode()) && lineMapper.selectProject(areaId).contains(item.getId())).collect(Collectors.toList()); List provinceList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.PROVINCE_LEVEL.getCode()) && item.getName().equals(areaId)).collect(Collectors.toList()); for (TerminalTree terminalTree : provinceList) { terminalTree.setName(lineMapper.getProviceName(terminalTree.getName())); diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/HarmInHarmParam.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/HarmInHarmParam.java index 636fec9bd..91fd7069d 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/HarmInHarmParam.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/HarmInHarmParam.java @@ -1,5 +1,6 @@ package com.njcn.harmonic.pojo.param; +import com.njcn.device.pojo.param.PulicTimeParam; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -10,7 +11,7 @@ import lombok.Data; * @date 2022/3/17 */ @Data -public class HarmInHarmParam extends PulicTimeParam{ +public class HarmInHarmParam extends PulicTimeParam { @ApiModelProperty("0--谐波电压含有率;1--谐波电流幅值") private Integer harmState; diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/AssesController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/AssesController.java index 934918f98..46fd81fc8 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/AssesController.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/AssesController.java @@ -5,7 +5,7 @@ import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; -import com.njcn.harmonic.pojo.param.PulicTimeStatisParam; +import com.njcn.device.pojo.param.PulicTimeStatisParam; import com.njcn.harmonic.pojo.vo.AssesVO; import com.njcn.harmonic.service.AssesService; import com.njcn.web.controller.BaseController; diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/HistoryResultController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/HistoryResultController.java index 7b8360ed8..70e4b055e 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/HistoryResultController.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/HistoryResultController.java @@ -16,11 +16,9 @@ import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import java.util.Date; import java.util.List; /** diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/SteadyDataController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/SteadyDataController.java index 592da2ab4..04c763f8d 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/SteadyDataController.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/SteadyDataController.java @@ -5,7 +5,7 @@ import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; -import com.njcn.harmonic.pojo.param.PulicTimeStatisParam; +import com.njcn.device.pojo.param.PulicTimeStatisParam; import com.njcn.harmonic.pojo.vo.SteadyInfoData; import com.njcn.harmonic.service.SteadyDataService; import com.njcn.web.controller.BaseController; diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/AssesService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/AssesService.java index 87a3c6120..d08e00edd 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/AssesService.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/AssesService.java @@ -1,6 +1,6 @@ package com.njcn.harmonic.service; -import com.njcn.harmonic.pojo.param.PulicTimeStatisParam; +import com.njcn.device.pojo.param.PulicTimeStatisParam; import com.njcn.harmonic.pojo.vo.AssesVO; /** diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/CommunicateService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/CommunicateService.java deleted file mode 100644 index 994d6df99..000000000 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/CommunicateService.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.njcn.harmonic.service; - -import com.njcn.device.pojo.vo.CommunicateVO; -import com.njcn.harmonic.pojo.param.PulicTimeParam; -import com.njcn.harmonic.pojo.param.PulicTimeStatisParam; -import com.njcn.harmonic.pojo.vo.CommunicateStatisticsVO; - -/** - * @author denghuajun - * @date 2022/2/28 - * - */ -public interface CommunicateService { - - CommunicateVO getComFlagInfoData(PulicTimeParam pulicTimeParam); - - CommunicateStatisticsVO getRunInfoData(PulicTimeStatisParam pulicTimeStatisParam); -} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/SteadyDataService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/SteadyDataService.java index 01a1cf414..dd8b39268 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/SteadyDataService.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/SteadyDataService.java @@ -1,6 +1,6 @@ package com.njcn.harmonic.service; -import com.njcn.harmonic.pojo.param.PulicTimeStatisParam; +import com.njcn.device.pojo.param.PulicTimeStatisParam; import com.njcn.harmonic.pojo.vo.SteadyInfoData; /** diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/AssesServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/AssesServiceImpl.java index e868eea18..7429a236b 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/AssesServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/AssesServiceImpl.java @@ -1,8 +1,6 @@ package com.njcn.harmonic.service.impl; -import com.njcn.device.pojo.po.Communicate; -import com.njcn.harmonic.constant.Param; -import com.njcn.harmonic.pojo.param.PulicTimeStatisParam; +import com.njcn.device.pojo.param.PulicTimeStatisParam; import com.njcn.harmonic.pojo.vo.AssesVO; import com.njcn.harmonic.service.AssesService; import com.njcn.influxdb.param.InfluxDBPublicParam; @@ -16,7 +14,6 @@ import org.influxdb.impl.InfluxDBResultMapper; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; -import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/CommunicateServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/CommunicateServiceImpl.java deleted file mode 100644 index b6610f505..000000000 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/CommunicateServiceImpl.java +++ /dev/null @@ -1,96 +0,0 @@ -package com.njcn.harmonic.service.impl; - -import com.njcn.device.api.LineFeignClient; -import com.njcn.device.pojo.vo.CommunicateVO; -import com.njcn.harmonic.pojo.param.PulicTimeParam; -import com.njcn.harmonic.pojo.param.PulicTimeStatisParam; -import com.njcn.harmonic.pojo.vo.CommunicateStatisticsVO; -import com.njcn.harmonic.service.CommunicateService; -import com.njcn.influxdb.utils.InfluxDbUtils; -import lombok.AllArgsConstructor; -import org.apache.commons.lang.StringUtils; -import org.influxdb.dto.QueryResult; -import org.springframework.stereotype.Service; -import org.springframework.util.CollectionUtils; - -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.List; - -import static com.njcn.influxdb.param.InfluxDBPublicParam.*; - -/** - * @author denghuajun - * @date 2022/2/28 - * - */ -@Service -@AllArgsConstructor -public class CommunicateServiceImpl implements CommunicateService { - - private final LineFeignClient lineFeignClient; - - private final InfluxDbUtils influxDbUtils; - - @Override - public CommunicateVO getComFlagInfoData(PulicTimeParam pulicTimeParam) { - //根据监测点id获取终端状态信息 - return lineFeignClient.getComFlagInfoData(pulicTimeParam.getId(), pulicTimeParam.getSearchBeginTime(), pulicTimeParam.getSearchEndTime()).getData(); - } - - @Override - public CommunicateStatisticsVO getRunInfoData(PulicTimeStatisParam pulicTimeStatisParam) { - CommunicateStatisticsVO communicateStatisticsVO = new CommunicateStatisticsVO(); - //根据监测点id获取终端id - String devId = lineFeignClient.getLineIdByDevId(pulicTimeStatisParam.getId()).getData(); - List floatList = new ArrayList<>(); - List floats = new ArrayList<>(); - floatList.add(getCondition(pulicTimeStatisParam.getId(), pulicTimeStatisParam.getSearchBeginTime(), pulicTimeStatisParam.getSearchEndTime(),0) * 100); - floats.add(getCondition(devId, pulicTimeStatisParam.getSearchBeginTime(), pulicTimeStatisParam.getSearchEndTime(),1) * 100); - if (StringUtils.isNotBlank(pulicTimeStatisParam.getPeriodBeginTime())&& StringUtils.isNotBlank(pulicTimeStatisParam.getPeriodEndTime())){ - floatList.add(getCondition(pulicTimeStatisParam.getId(), pulicTimeStatisParam.getPeriodBeginTime(), pulicTimeStatisParam.getPeriodEndTime(),0)*100); - floats.add(getCondition(devId, pulicTimeStatisParam.getPeriodBeginTime(), pulicTimeStatisParam.getPeriodEndTime(),1)*100); - } - communicateStatisticsVO.setOnlineRateData(floats); - communicateStatisticsVO.setIntegrityData(floatList); - return communicateStatisticsVO; - } - - /** - * influxDB相关操作 - * 查询监测点的数据完整性 - */ - private Float getCondition(String lineList, String startTime, String endTime,Integer state) { - final Float[] resultList = {0.0f}; - //组装sql语句 - StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.append(TIME + " >= '").append(startTime).append(START_TIME).append("' and ").append(TIME).append(" <= '").append(endTime).append(END_TIME).append("' and ("); - //sql语句 - String sql = ""; - if (state == 0) { - stringBuilder.append(LINE_ID + "='").append(lineList).append("')"); - sql = "SELECT SUM(" + REAL+ ")/SUM(" + DUE + ") AS integrity FROM pqs_integrity WHERE " + stringBuilder.toString() + " group by " + LINE_ID; - } else { - stringBuilder.append(DEV_INDEX + "='").append(lineList).append("')"); - sql = "SELECT SUM(" + ONLINE_MIN + ")/(SUM(" + OFFLINE_MIN + ")+SUM(" + ONLINE_MIN + ")) AS onlineRate FROM pqs_onlinerate WHERE " + stringBuilder.toString() + " group by " + DEV_INDEX; - } - stringBuilder.append(TIME_ZONE); - //结果集 - QueryResult result = influxDbUtils.query(sql); - //处理结果集 - List list = result.getResults().get(0).getSeries(); - if (!CollectionUtils.isEmpty(list)) { - list.forEach(po -> { - List> valueList = po.getValues(); - if (!CollectionUtils.isEmpty(valueList)) { - for (List value : valueList) { - //数据完整性 保留四位小数 - resultList[0] = value.get(1) == null ? null : BigDecimal.valueOf(Float.parseFloat(value.get(1).toString())).setScale(4, BigDecimal.ROUND_HALF_UP).floatValue(); - } - } - }); - } - - return resultList[0]; - } -} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/HistoryResultServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/HistoryResultServiceImpl.java index ad8106d59..d315b59ea 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/HistoryResultServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/HistoryResultServiceImpl.java @@ -202,10 +202,10 @@ public class HistoryResultServiceImpl implements HistoryResultService { valueTypeName = "AVG"; break; case 2: - valueTypeName = "MAX"; + valueTypeName = "MIN"; break; case 3: - valueTypeName = "MIN"; + valueTypeName = "MAX"; break; case 4: valueTypeName = "CP95"; @@ -271,7 +271,7 @@ public class HistoryResultServiceImpl implements HistoryResultService { case 14: //电压不平衡 sql = "SELECT time as time, v_zero as aValue FROM data_v WHERE " + stringBuilder.toString() + - " and (phasic_type ='A' or phasic_type ='B' or phasic_type ='C') group by phasic_type order by time asc tz('Asia/Shanghai');"; + " and (phasic_type ='T') group by phasic_type order by time asc tz('Asia/Shanghai');"; phasicType.add("零序电压"); phasicType.add("正序电压"); phasicType.add("负序电压"); diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/SteadyDataServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/SteadyDataServiceImpl.java index 0e29d6677..bdaec2926 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/SteadyDataServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/SteadyDataServiceImpl.java @@ -1,6 +1,6 @@ package com.njcn.harmonic.service.impl; -import com.njcn.harmonic.pojo.param.PulicTimeStatisParam; +import com.njcn.device.pojo.param.PulicTimeStatisParam; import com.njcn.harmonic.pojo.vo.SteadyInfoData; import com.njcn.harmonic.service.SteadyDataService; import com.njcn.influxdb.param.InfluxDBPublicParam; diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/controller/DeptController.java b/pqs-user/user-boot/src/main/java/com/njcn/user/controller/DeptController.java index 30d88f52f..5a404a1f7 100644 --- a/pqs-user/user-boot/src/main/java/com/njcn/user/controller/DeptController.java +++ b/pqs-user/user-boot/src/main/java/com/njcn/user/controller/DeptController.java @@ -277,7 +277,7 @@ public class DeptController extends BaseController { */ @OperateInfo(info = LogEnum.SYSTEM_COMMON) @GetMapping("/getDeptById") - @ApiOperation("获取所有单位") + @ApiOperation("根据部门Id获取部门信息") public HttpResult getDeptById(@RequestParam("deptId")String deptId) { String methodDescribe = getMethodDescribe("getDeptById"); Dept result = deptService.getDeptById(deptId); diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/DeptServiceImpl.java b/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/DeptServiceImpl.java index ef0be7cbd..7ae3739a9 100644 --- a/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/DeptServiceImpl.java +++ b/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/DeptServiceImpl.java @@ -58,6 +58,7 @@ public class DeptServiceImpl extends ServiceImpl implements ID private final UserMapper userMapper; + @Override public Page listDept(DeptParam.QueryParam queryParam) { QueryWrapper queryWrapper = new QueryWrapper<>(); @@ -87,6 +88,9 @@ public class DeptServiceImpl extends ServiceImpl implements ID checkDicDataCode(deptParam, false); Dept dept = new Dept(); BeanUtil.copyProperties(deptParam, dept); + //进行先解绑,再新增 + Integer httpResult=deptLineFeignClient.removeBind(deptParam.getPid()); + System.out.println(httpResult); if (deptParam.getPid().equals("-1")) { //上层节点 dept.setPids("0"); @@ -118,7 +122,7 @@ public class DeptServiceImpl extends ServiceImpl implements ID List allIds = new ArrayList<>(); for (String id : ids) { for (Dept dept : deptList) { - if (dept.getId().equalsIgnoreCase(id) || dept.getPids().indexOf(id) > 0){ + if (dept.getId().equalsIgnoreCase(id) || dept.getPids().indexOf(id) > 0) { allIds.add(dept.getId()); } } @@ -145,7 +149,7 @@ public class DeptServiceImpl extends ServiceImpl implements ID .peek(deptFirst -> { deptFirst.setChildren(getChildren(deptFirst, deptList)); if (deptFirst.getType() == 0) { - deptFirst.setName(deptFirst.getAreaName()); + deptFirst.setName(deptFirst.getName()); } }) .collect(Collectors.toList()); @@ -206,7 +210,7 @@ public class DeptServiceImpl extends ServiceImpl implements ID */ List userList = userMapper.selectDeptsId(ids, DataStateEnum.ENABLE.getCode()); - if (dept.size() > 0 || deptLineVOHttpResult.getData() || userList.size() > 0) { + if (dept.size() > 0 || deptLineVOHttpResult.getData() != null || userList.size() > 0) { return true; } else { return false; @@ -248,21 +252,20 @@ public class DeptServiceImpl extends ServiceImpl implements ID @Override public String getTopDeptId() { - return this.lambdaQuery().eq(Dept::getPid,"0").one().getId(); + return this.lambdaQuery().eq(Dept::getPid, "0").one().getId(); } @Override - public List allDeptList(){ + public List allDeptList() { return this.baseMapper.allDeptList(); } @Override - public Dept getDeptById(String id){ + public Dept getDeptById(String id) { return this.baseMapper.selectById(id); } - /** * 校验参数,检查是否存在相同编码的部门 */ @@ -312,7 +315,7 @@ public class DeptServiceImpl extends ServiceImpl implements ID * 根据部门id获取部门详情 */ @Override - public List getDepSonIdtByDeptId(String id){ - return this.baseMapper.getDeptSonIds(id); + public List getDepSonIdtByDeptId(String id) { + return this.baseMapper.getDeptSonIds(id); } }