1.运行管理追加分页;

2.新增终端在线率统计接口;
3.移植运行状态接口
This commit is contained in:
njcn_dhj
2022-08-12 13:55:05 +08:00
parent 49140e026b
commit a178d230e9
33 changed files with 638 additions and 286 deletions

View File

@@ -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

View File

@@ -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<Boolean> selectDeptBindLines(@RequestParam("ids") List<String> ids);
@PostMapping("removeBind")
Integer removeBind(@RequestParam("id") String id);
}

View File

@@ -43,6 +43,12 @@ public class DeptLineFeignClientFallbackFactory implements FallbackFactory<DeptL
log.error("{}异常,降级处理,异常为:{}", "部门Ids集合查询是否绑定", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public Integer removeBind(String id) {
log.error("{}异常,降级处理,异常为:{}", "部门解除绑定", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
};
}
}

View File

@@ -1,7 +1,6 @@
package com.njcn.harmonic.pojo.param;
package com.njcn.device.pojo.param;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.harmonic.constant.HarmonicValidMessage;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.web.bind.annotation.RequestParam;
@@ -21,12 +20,10 @@ public class PulicTimeParam {
@ApiModelProperty("监测点id")
private String id;
@ApiModelProperty("开始时间")
@NotBlank(message = HarmonicValidMessage.DATA_NOT_BLANK)
@Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误")
private String searchBeginTime;
@ApiModelProperty("结束时间")
@NotBlank(message = HarmonicValidMessage.DATA_NOT_BLANK)
@Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误")
private String searchEndTime;

View File

@@ -1,4 +1,4 @@
package com.njcn.harmonic.pojo.param;
package com.njcn.device.pojo.param;
import com.njcn.common.pojo.constant.PatternRegex;
import io.swagger.annotations.ApiModelProperty;

View File

@@ -2,9 +2,11 @@ package com.njcn.device.pojo.param;
import com.njcn.common.pojo.dto.SimpleDTO;
import com.njcn.web.constant.ValidMessage;
import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Range;
@@ -18,10 +20,14 @@ import java.util.List;
* @version 1.0.0
* @date 2022/3/30
*/
/**
* 分页查询实体
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel
@NoArgsConstructor
public class RunManageParam implements Serializable {
public class RunManageParam extends BaseParam implements Serializable {
@ApiModelProperty(name = "statisticalType", value = "统计类型")
@NotNull(message = "统计类型不可为空")
@@ -31,6 +37,9 @@ public class RunManageParam implements Serializable {
@NotBlank(message = "部门索引不可为空")
private String deptIndex;
@ApiModelProperty(name = "serverName", value = "服务名称")
private String serverName;
@ApiModelProperty(name = "scale", value = "电压等级")
private List<SimpleDTO> 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<Integer> comFlag;
@ApiModelProperty(name = "runFlag", value = "终端状态")
@NotNull(message = "终端状态不可为空")
private List<Integer> runFlag;
}

View File

@@ -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;
}

View File

@@ -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;

View File

@@ -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());
}
}

View File

@@ -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<List<DeviceOnlineDataVO>> getRunOnlineRateData(@RequestBody @Validated PulicTimeParam pulicTimeParam) {
String methodDescribe = getMethodDescribe("getRunOnlineRateData");
List<DeviceOnlineDataVO> list = communicateService.getRunOnlineRateData(pulicTimeParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
}
}

View File

@@ -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);
}

View File

@@ -96,4 +96,6 @@ public class OperationContrController extends BaseController {
LineStaticsViewVO result = lineService.getLineStaticsView(startTime, endTime, lineId);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
}

View File

@@ -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<Device> {
//TODO
List<Device> getDeviceList(@Param("list") List<String> list);
/**
* 获取监测点台账信息
* @param list 监测点集合
* @param comFlag 状态
* @param runFlag 状态
* @return 结果
*/
List<RunManageVO> getRunManageList(@Param("list") List<String> list, @Param("comFlag")List<Integer> comFlag, @Param("runFlag")List<Integer> runFlag);
/**
* 获取监测点台账信息
* @param list 终端集合
* @param comFlag 状态
* @param runFlag 状态
* @return 结果
*/
List<RunTimeVO> getRunManageDevList(@Param("list") List<String> list, @Param("comFlag")List<Integer> comFlag, @Param("runFlag")List<Integer> runFlag);
}

View File

@@ -97,7 +97,7 @@ public interface LineMapper extends BaseMapper<Line> {
/**
* 返回省份的上级
*/
String selectProject(@Param("areaId") String areaId);
List<String> selectProject(@Param("areaId") String areaId);
/**
* @param areaId

View File

@@ -7,4 +7,163 @@
</select>
<select id="getRunManageList" resultType="com.njcn.device.pojo.vo.RunManageVO">
SELECT
linedetail.Num AS id,
line.NAME AS lineName,
area.NAME AS areaName,
gd.NAME AS gdName,
sub.NAME AS bdName,
scaleId.Name as scale,
manufacturerId.name as manufacturer,
dev.name as devName,
device.IP as ip,
case device.Run_Flag when 0 then "投运"
when 1 then "热备用"
when 2 then "停运"
end as runFlag,
case device.Com_Flag when 0 then "中断"
when 1 then "正常"
end as comFlag,
loadtypeId.Name as loadType,
businesstypeId.name as businessType,
IFNULL(linedetail.Obj_Name,"/") as objName,
case linedetail.PT_Type when 0 then "星型接线"
when 1 then "三角型接线"
when 2 then "开口三角型接线"
end as ptType,
CONCAT(linedetail.PT1,"/", linedetail.PT2) as pt,
CONCAT(linedetail.CT1,"/", linedetail.CT2) as ct,
linedetail.Standard_Capacity as standardCapacity,
linedetail.Short_Capacity as shortCapacity,
linedetail.Dev_Capacity as devCapacity,
linedetail.Deal_Capacity as dealCapacity,
over.Freq_Dev as freqDev,
over.Voltage_Dev as voltageDev,
over.Uvoltage_Dev as uvoltageDev,
over.Ubalance as ubalance,
over.I_Neg as iNeg,
over.Flicker as flicker,
over.Uaberrance as uaberrance,
over.Uharm_3 as oddHarm,
over.Uharm_2 as evenHarm,
over.Iharm_2 as iharm2,
over.Iharm_3 as iharm3,
over.Iharm_4 as iharm4,
over.Iharm_5 as iharm5,
over.Iharm_6 as iharm6,
over.Iharm_7 as iharm7,
over.Iharm_8 as iharm8,
over.Iharm_9 as iharm9,
over.Iharm_10 as iharm10,
over.Iharm_11 as iharm11,
over.Iharm_12 as iharm12,
over.Iharm_13 as iharm13,
over.Iharm_14 as iharm14,
over.Iharm_15 as iharm15,
over.Iharm_16 as iharm16,
over.Iharm_17 as iharm17,
over.Iharm_18 as iharm18,
over.Iharm_19 as iharm19,
over.Iharm_20 as iharm20,
over.Iharm_21 as iharm21,
over.Iharm_22 as iharm22,
over.Iharm_23 as iharm23,
over.Iharm_24 as iharm24,
over.Iharm_25 as iharm25,
over.InUharm_1 as inUharm,
over.InUharm_16 as inUharm16
FROM
pq_line line
INNER JOIN pq_line vol ON vol.Id = line.Pid
INNER JOIN pq_line dev ON dev.Id = vol.Pid
INNER JOIN pq_line sub ON sub.Id = dev.Pid
INNER JOIN pq_line gd ON gd.Id = sub.Pid
INNER JOIN pq_line areaId ON areaId.Id = gd.Pid
INNER JOIN sys_area area ON area.Id = areaId.NAME
INNER JOIN pq_overlimit over ON over.Id = line.Id
INNER JOIN pq_voltage voltage ON voltage.Id = vol.Id
INNER JOIN sys_dict_data scaleId ON scaleId.Id = voltage.Scale
INNER JOIN pq_device device ON device.Id = dev.Id
INNER JOIN sys_dict_data manufacturerId ON manufacturerId.Id = device.Manufacturer
INNER JOIN pq_line_detail linedetail ON linedetail.Id = line.Id
INNER JOIN sys_dict_data loadtypeId ON loadtypeId.Id = linedetail.Load_Type
INNER JOIN sys_dict_data businesstypeId ON businesstypeId.Id = linedetail.Business_Type
WHERE line.Id in
<foreach item="item" collection="list" open="(" separator="," close=")">
#{item}
</foreach>
<if test="runFlag == '' and type !=null">
and device.Run_Flag in
<foreach item="item1" collection="runFlag" open="(" separator="," close=")">
#{item1}
</foreach>
</if>
<if test="comFlag == '' and type !=null">
and device.Com_Flag in
<foreach item="item2" collection="comFlag" open="(" separator="," close=")">
#{item2}
</foreach>
</if>
ORDER BY
areaId.NAME
</select>
<select id="getRunManageDevList" resultType="com.njcn.device.pojo.vo.RunTimeVO">
SELECT
dev.Id as id,
area.NAME AS areaName,
gd.NAME AS gdName,
sub.NAME AS bdName,
manufacturerId.NAME AS manufacturer,
dev.NAME AS devName,
device.IP AS ip,
device.Login_Time AS loginTime,
devT.Name AS devType,
device.PORT AS PORT,
CASE
device.Run_Flag
WHEN 0 THEN
"投运"
WHEN 1 THEN
"热备用"
WHEN 2 THEN
"停运"
END AS runFlag,
CASE
device.Com_Flag
WHEN 0 THEN
"中断"
WHEN 1 THEN
"正常"
END AS comFlag,
device.Update_Time AS updateTime
FROM
pq_line dev
INNER JOIN pq_line sub ON sub.Id = dev.Pid
INNER JOIN pq_line gd ON gd.Id = sub.Pid
INNER JOIN pq_line areaId ON areaId.Id = gd.Pid
INNER JOIN sys_area area ON area.Id = areaId.
NAME INNER JOIN pq_device device ON device.Id = dev.Id
INNER JOIN sys_dict_data manufacturerId ON manufacturerId.Id = device.Manufacturer
INNER JOIN sys_dict_data devT ON devT.Id = device.Dev_Type
WHERE dev.Id in
<foreach item="item" collection="list" open="(" separator="," close=")">
#{item}
</foreach>
<if test="runFlag == '' and type !=null">
and device.Run_Flag in
<foreach item="item1" collection="runFlag" open="(" separator="," close=")">
#{item1}
</foreach>
</if>
<if test="comFlag == '' and type !=null">
and device.Com_Flag in
<foreach item="item2" collection="comFlag" open="(" separator="," close=")">
#{item2}
</foreach>
</if>
ORDER BY
areaId.NAME
</select>
</mapper>

View File

@@ -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<DeviceOnlineDataVO> getRunOnlineRateData(PulicTimeParam pulicTimeParam);
}

View File

@@ -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<Float> floatList = new ArrayList<>();
List<Float> 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<DeviceOnlineDataVO> getRunOnlineRateData(PulicTimeParam pulicTimeParam) {
List<DeviceOnlineDataVO> deviceOnlineDataList = new ArrayList<>();
//根据监测点id获取终端id
String devId = lineService.getLineIdByDevId(pulicTimeParam.getId());
DecimalFormat decimalFormat=new DecimalFormat(".00");
Float floatList;
// 获取两个时间的之间的月份
List<String> 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<QueryResult.Series> list = result.getResults().get(0).getSeries();
if (!CollectionUtils.isEmpty(list)) {
list.forEach(po -> {
List<List<Object>> valueList = po.getValues();
if (!CollectionUtils.isEmpty(valueList)) {
for (List<Object> 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<String> getIntervalTime(String startTime, String endTime) {
List<String> 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;
}
}

View File

@@ -78,46 +78,18 @@ public class RunManageServiceImpl implements RunManageService {
List<RunManageVO> runManageVOList = new ArrayList<>();
DeviceInfoParam deviceInfoParam = new DeviceInfoParam();
BeanUtil.copyProperties(runManageParam, deviceInfoParam);
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceService.getDeviceInfoAsDept(deviceInfoParam, Stream.of(0).collect(Collectors.toList()), Stream.of(1).collect(Collectors.toList()));
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceService.getDeviceInfo(deviceInfoParam, runManageParam.getRunFlag(), Stream.of(1).collect(Collectors.toList()));
List<String> lineIndexes = new ArrayList<>();
List<String> devIndexes = new ArrayList<>();
List<String> lineIndex = new ArrayList<>();
if (!CollectionUtils.isEmpty(generalDeviceDTOList)) {
for (GeneralDeviceDTO generalDeviceDTO : generalDeviceDTOList) {
lineIndexes.addAll(generalDeviceDTO.getLineIndexes());
}
QueryWrapper<Device> queryWrapper = new QueryWrapper<>();
queryWrapper.in("pq_device.Com_Flag", runManageParam.getComFlag());
queryWrapper.in("pq_device.Run_Flag", runManageParam.getRunFlag());
List<Device> deviceList = deviceMapper.selectList(queryWrapper);
//获取满足条件的终端id
for (Device device : deviceList) {
devIndexes.add(device.getId());
}
//根据终端id获取监测点id
QueryWrapper<Line> lineQueryWrapper = new QueryWrapper<>();
lineQueryWrapper.in("pq_line.pid", devIndexes);
List<Line> lineList = lineMapper.selectList(lineQueryWrapper);
for (Line line : lineList) {
QueryWrapper<Line> queryWrappers = new QueryWrapper<>();
queryWrappers.eq("pq_line.pid", line.getId());
List<Line> 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<RunManageVO> 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<RunTimeVO> getRuntimeDetail(RunManageParam runManageParam) {
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd");
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss");
List<RunTimeVO> runTimeVOList = new ArrayList<>();
DeviceInfoParam deviceInfoParam = new DeviceInfoParam();
BeanUtil.copyProperties(runManageParam, deviceInfoParam);
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceService.getDeviceInfoAsDept(deviceInfoParam, Stream.of(0).collect(Collectors.toList()), Stream.of(1).collect(Collectors.toList()));
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceService.getDeviceInfo(deviceInfoParam, Stream.of(0).collect(Collectors.toList()), Stream.of(1).collect(Collectors.toList()));
List<String> devIndexes = new ArrayList<>();
List<String> devIndex = new ArrayList<>();
if (!CollectionUtils.isEmpty(generalDeviceDTOList)) {
for (GeneralDeviceDTO generalDeviceDTO : generalDeviceDTOList) {
devIndexes.addAll(generalDeviceDTO.getDeviceIndexes());
}
QueryWrapper<Device> queryWrapper = new QueryWrapper<>();
queryWrapper.in("pq_device.Com_Flag", runManageParam.getComFlag());
queryWrapper.in("pq_device.Run_Flag", runManageParam.getRunFlag());
List<Device> 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<String> pids = Arrays.asList(lineMapper.selectById(devIndexs).getPids().split(","));
List<String> list = new ArrayList<>(pids);
list.add(devIndexs);
List<LineDataVO> lineDataVOList = lineMapper.getLineDetail(list);
List<RunTimeVO> 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++;
}
}

View File

@@ -207,7 +207,7 @@ public class TerminalTreeServiceImpl implements TerminalTreeService {
String areaId = areaDetail.getId();
if (CollectionUtil.isNotEmpty(allList)) {
List<TerminalTree> projectList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.PROJECT_LEVEL.getCode()) && item.getId().equals(lineMapper.selectProject(areaId))).collect(Collectors.toList());
List<TerminalTree> projectList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.PROJECT_LEVEL.getCode()) && lineMapper.selectProject(areaId).contains(item.getId())).collect(Collectors.toList());
List<TerminalTree> 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<TerminalTree> projectList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.PROJECT_LEVEL.getCode()) && item.getId().equals(lineMapper.selectProject(areaId))).collect(Collectors.toList());
List<TerminalTree> projectList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.PROJECT_LEVEL.getCode()) && lineMapper.selectProject(areaId).contains(item.getId())).collect(Collectors.toList());
List<TerminalTree> 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<TerminalTree> projectList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.PROJECT_LEVEL.getCode()) && item.getId().equals(lineMapper.selectProject(areaId))).collect(Collectors.toList());
List<TerminalTree> projectList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.PROJECT_LEVEL.getCode()) && lineMapper.selectProject(areaId).contains(item.getId())).collect(Collectors.toList());
List<TerminalTree> 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<TerminalTree> projectList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.PROJECT_LEVEL.getCode()) && item.getId().equals(lineMapper.selectProject(areaId))).collect(Collectors.toList());
List<TerminalTree> projectList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.PROJECT_LEVEL.getCode()) && lineMapper.selectProject(areaId).contains(item.getId())).collect(Collectors.toList());
List<TerminalTree> 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()));

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;
/**

View File

@@ -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;

View File

@@ -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;
/**

View File

@@ -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);
}

View File

@@ -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;
/**

View File

@@ -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;

View File

@@ -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<Float> floatList = new ArrayList<>();
List<Float> 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<QueryResult.Series> list = result.getResults().get(0).getSeries();
if (!CollectionUtils.isEmpty(list)) {
list.forEach(po -> {
List<List<Object>> valueList = po.getValues();
if (!CollectionUtils.isEmpty(valueList)) {
for (List<Object> 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];
}
}

View File

@@ -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("负序电压");

View File

@@ -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;

View File

@@ -277,7 +277,7 @@ public class DeptController extends BaseController {
*/
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
@GetMapping("/getDeptById")
@ApiOperation("获取所有单位")
@ApiOperation("根据部门Id获取部门信息")
public HttpResult<Dept> getDeptById(@RequestParam("deptId")String deptId) {
String methodDescribe = getMethodDescribe("getDeptById");
Dept result = deptService.getDeptById(deptId);

View File

@@ -58,6 +58,7 @@ public class DeptServiceImpl extends ServiceImpl<DeptMapper, Dept> implements ID
private final UserMapper userMapper;
@Override
public Page<DeptVO> listDept(DeptParam.QueryParam queryParam) {
QueryWrapper<DeptVO> queryWrapper = new QueryWrapper<>();
@@ -87,6 +88,9 @@ public class DeptServiceImpl extends ServiceImpl<DeptMapper, Dept> 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");
@@ -145,7 +149,7 @@ public class DeptServiceImpl extends ServiceImpl<DeptMapper, Dept> 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<DeptMapper, Dept> implements ID
*/
List<User> 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;
@@ -262,7 +266,6 @@ public class DeptServiceImpl extends ServiceImpl<DeptMapper, Dept> implements ID
}
/**
* 校验参数,检查是否存在相同编码的部门
*/