pms台账bug提交,台账日志操作

This commit is contained in:
2023-02-24 15:54:49 +08:00
parent 17b075f548
commit 5915ed87ac
28 changed files with 836 additions and 51 deletions

View File

@@ -0,0 +1,28 @@
package com.njcn.device.pms.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* pqs
*
* @author cdf
* @date 2023/2/23
*/
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface TerminalOperationLogDesc {
String value();
/**
* 操作模块 0.电站 1.装置 2.线路 3.台区 4.发电用户 5.用电用户 6.主网监测点 7.配网监测点
*/
int module();
/**
* 操作事件
*/
String events() default "";
}

View File

@@ -32,7 +32,7 @@ public enum PmsDeviceResponseEnum {
GENWIRE_SAME("A00373","母线编号重复"),
POWER_CODE_SAME("A00374","台区名称或编号重复"),
POWER_CLIENT_DIS_EMPTY("A00375","发电用电用户参数不可为空"),
DIS_ADD_REPEAT("A00376","当前配网中存在该监测点"),
DIS_ADD_REPEAT("A00376","当前配网中存在相同编号该监测点"),
STATION_REPEAT("A00377","已存在相同电站"),
DEPT_STATION_REPEAT("A00378","单位下存在同名电站"),
DEPT_MONITOR_REPEAT("A00379","单位下存在同名监测点"),

View File

@@ -0,0 +1,29 @@
package com.njcn.device.pms.pojo.dto;
import lombok.Data;
/**
* pqs
*
* @author cdf
* @date 2023/2/24
*/
@Data
public class PmsDistributionMonitorDTO {
private String id;
private String name;
private String orgName;
private String powerStationName;
private String platformName;
private String lineName;
private Integer monitorSort;
}

View File

@@ -38,6 +38,8 @@ public class DistributionMonitorParam {
@ApiModelProperty(value = "III类监测点小类 0.用电用户 1.发电用户 默认用电")
private Integer smallType;
private Integer ifPowerUser;
@ApiModelProperty(value = "终端id")
private String terminalId;

View File

@@ -86,14 +86,14 @@ public class PowerClientParam {
* 合同容量
*/
@ApiModelProperty(value = "合同容量",required = true)
@NotBlank(message = "合同容量不可为空")
@NotNull(message = "合同容量不可为空")
private Float contractCapacity;
/**
* 运行容量
*/
@ApiModelProperty(value = "运行容量",required = true)
@NotBlank(message = "运行容量不可为空")
@NotNull(message = "运行容量不可为空")
private Float operatingCapacity;
/**
@@ -157,14 +157,14 @@ public class PowerClientParam {
* 是否影响电能质量0-否1
*/
@ApiModelProperty(value = "是否影响电能质量0-否1",required = true)
@NotBlank(message = "是否影响电能质量不可为空")
@NotNull(message = "是否影响电能质量不可为空")
private Integer ifPowerQuality;
/**
* 是否重要客户0-否1
*/
@ApiModelProperty(value = "是否重要客户0-否1",required = true)
@NotBlank(message = "是否重要客户不可为空")
@NotNull(message = "是否重要客户不可为空")
private Integer ifKeyCustomers;
/**

View File

@@ -1,5 +1,6 @@
package com.njcn.device.pms.pojo.param;
import com.njcn.web.pojo.annotation.DateTimeStrValid;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -9,7 +10,7 @@ import java.time.LocalDate;
/**
* pms-device
*
* 发电用户
* @author cdf
* @date 2022/10/27
*/
@@ -93,7 +94,7 @@ public class PowerGenerationUserParam {
* 总装机容量
*/
@ApiModelProperty(value = "总装机容量",required = true)
@NotBlank(message = "总装机容量不可为空")
@NotNull(message = "总装机容量不可为空")
private Float sourceCapacity;
/**
@@ -101,7 +102,8 @@ public class PowerGenerationUserParam {
*/
@ApiModelProperty(value = "并网日期",required = true)
@NotBlank(message = "并网日期不可为空")
private LocalDate connectionDate;
@DateTimeStrValid(format = "yyyy-MM-dd",message = "并网日期格式有误")
private String connectionDate;
/**
* 能源消纳方式(字典)

View File

@@ -22,4 +22,7 @@ public class TerminalQueryParam extends BaseParam {
@ApiModelProperty(value = "装置类别(字典)")
private String deviceCategory;
@ApiModelProperty(value = "监测点标签(字典)")
private String monitorTag;
}

View File

@@ -0,0 +1,66 @@
package com.njcn.device.pms.pojo.po;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
/**
* <p>
*
* </p>
*
* @author hongawen
* @since 2023-02-23
*/
@Data
@TableName("pms_terminal_log")
public class TerminalLog extends BaseEntity implements Serializable,Cloneable {
private static final long serialVersionUID = 1L;
private String id;
/**
* 0.电站 1.装置 2.台区 3.线路 4.监测点
*/
private Integer type;
/**
* 0.非监测点 1.主网监测点 2.配网监测点
*/
private Integer monitorType;
/**
* 操作对象索引(外键)
*/
private String objId;
/**
* 操作描述
*/
private String operatorDescribe;
/**
* 操作结果 0.失败 1.成功
*/
private Integer results;
/**
* 0.删除 1.正常
*/
private Integer status;
@TableField(exist = false)
private Boolean operationStatus;
}

View File

@@ -0,0 +1,400 @@
package com.njcn.device.pms.component;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import com.alibaba.fastjson.JSON;
import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.device.pms.annotation.TerminalOperationLogDesc;
import com.njcn.device.pms.mapper.majornetwork.*;
import com.njcn.device.pms.pojo.dto.PmsDistributionMonitorDTO;
import com.njcn.device.pms.pojo.param.*;
import com.njcn.device.pms.pojo.po.*;
import com.njcn.device.pms.service.majornetwork.IDistributionMonitorService;
import com.njcn.device.pms.service.majornetwork.ITerminalLogService;
import com.njcn.device.pms.service.majornetwork.ITerminalService;
import com.njcn.web.utils.RequestUtil;
import io.netty.util.concurrent.FastThreadLocal;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.*;
import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.stereotype.Component;
import org.springframework.validation.BindingResult;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import org.springframework.web.multipart.MultipartFile;
import javax.security.auth.Subject;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.lang.reflect.Method;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
/**
* pqs
*
* @author cdf
* @date 2023/2/23
*/
@Aspect
@Component
@Slf4j
@RequiredArgsConstructor
public class TerminalLoggerAspect {
private final ITerminalLogService iTerminalLogService;
private final IDistributionMonitorService iDistributionMonitorService;
private final MonitorMapper monitorMapper;
private final StatationStatMapper statationStatMapper;
private final TerminalMapper terminalMapper;
private final PmsGeneratrixWireMapper pmsGeneratrixWireMapper;
private final PowerDistributionareaMapper powerDistributionareaMapper;
private final PowerGenerationUserMapper powerGenerationUserMapper;
private final PowerClientMapper powerClientMapper;
/**
* FastThreadLocal 依赖于 netty,如果不想用netty可以使用jdk自带的 ThreadLocal
*/
final FastThreadLocal<List<TerminalLog>> logFastThreadLocal = new FastThreadLocal<>();
final DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");
/**
* 切入连接点,使用固定 controller层下的所有文件
*/
@Pointcut(value = "execution(* com.njcn.device.pms.controller.ledgerManger..*(..)))")
public void logPointcut() {
}
/**
* 请求前置通知
*/
@Before("logPointcut()")
public void beforLogger(JoinPoint joinPoint) {
String userName = RequestUtil.getUsername();
// 验证请求方法是否带有操作日志注解
Method signature = ((MethodSignature) joinPoint.getSignature()).getMethod();
TerminalOperationLogDesc operationLogDesc = signature.getAnnotation(TerminalOperationLogDesc.class);
if (operationLogDesc != null) {
log.info("--------台账日志操作开始记录--------");
int type = operationLogDesc.module();
// 操作日志记录
List<TerminalLog> terminalLogList = new ArrayList<>();
String msg = argsArrayToString(joinPoint.getArgs());
if (msg.startsWith("[")) {
JSONArray jsonArray = new JSONArray(msg);
switch (type) {
case 0:
jsonArray.forEach(item -> {
StatationStat statationStat = statationStatMapper.selectById(item.toString());
if (Objects.nonNull(statationStat)) {
String mubiao = statationStat.getOrgName() + "_" + statationStat.getPowerName();
TerminalLog terminalLog = assTerminalLog(type, operationLogDesc.value(), mubiao);
terminalLogList.add(terminalLog);
}
});
break;
case 1:
jsonArray.forEach(item -> {
PmsTerminal pmsTerminal = terminalMapper.selectById(item.toString());
if (Objects.nonNull(pmsTerminal)) {
String mubiao = pmsTerminal.getOrgName() + "_" + pmsTerminal.getPowerrName() + "_" + pmsTerminal.getName();
TerminalLog terminalLog = assTerminalLog(type, operationLogDesc.value(), mubiao);
terminalLogList.add(terminalLog);
}
});
break;
case 2:
jsonArray.forEach(item -> {
GeneratrixWire generatrixWire = pmsGeneratrixWireMapper.selectById(item.toString());
if (Objects.nonNull(generatrixWire)) {
String mubiao = generatrixWire.getStationName() + "_" + generatrixWire.getName();
TerminalLog terminalLog = assTerminalLog(type, operationLogDesc.value(), mubiao);
terminalLogList.add(terminalLog);
}
});
break;
case 3:
jsonArray.forEach(item -> {
PowerDistributionarea powerDistributionarea = powerDistributionareaMapper.selectById(item.toString());
if (Objects.nonNull(powerDistributionarea)) {
String mubiao = powerDistributionarea.getOrgName() + "_" + powerDistributionarea.getPowerrName() + "_" + powerDistributionarea.getLineName() + "_" + powerDistributionarea.getName();
TerminalLog terminalLog = assTerminalLog(type, operationLogDesc.value(), mubiao);
terminalLogList.add(terminalLog);
}
});
break;
case 4:
jsonArray.forEach(item -> {
PowerGenerationUser powerGenerationUser = powerGenerationUserMapper.selectById(item.toString());
if (Objects.nonNull(powerGenerationUser)) {
String mubiao = powerGenerationUser.getOrgName() + "_" + powerGenerationUser.getName();
TerminalLog terminalLog = assTerminalLog(type, operationLogDesc.value(), mubiao);
terminalLogList.add(terminalLog);
}
});
break;
case 5:
jsonArray.forEach(item -> {
PowerClient powerClient = powerClientMapper.selectById(item.toString());
if (Objects.nonNull(powerClient)) {
String mubiao = powerClient.getOrgName() + "_" + powerClient.getName();
TerminalLog terminalLog = assTerminalLog(type, operationLogDesc.value(), mubiao);
terminalLogList.add(terminalLog);
}
});
break;
case 6:
jsonArray.forEach(item -> {
Monitor monitor = monitorMapper.selectById(item.toString());
if (Objects.nonNull(monitor)) {
String mubiao = monitor.getOrgName() + "_" + monitor.getPowerrName() + "_" + monitor.getName();
TerminalLog terminalLog = assTerminalLog(type, operationLogDesc.value(), mubiao);
terminalLogList.add(terminalLog);
}
});
break;
case 7:
jsonArray.forEach(item -> {
DistributionMonitor distributionMonitor = iDistributionMonitorService.getById(item.toString());
if (Objects.nonNull(distributionMonitor)) {
PmsDistributionMonitorDTO pmsDistributionMonitorDTO = iDistributionMonitorService.distributionMonitorDetail(distributionMonitor.getMonitorId(), distributionMonitor.getMonitorSort(), distributionMonitor.getIfPowerUser());
if (Objects.nonNull(pmsDistributionMonitorDTO)) {
if (pmsDistributionMonitorDTO.getMonitorSort() == 1) {
String mubiao = pmsDistributionMonitorDTO.getOrgName() + "_" + pmsDistributionMonitorDTO.getPowerStationName() + "_" + pmsDistributionMonitorDTO.getLineName() + "_" + pmsDistributionMonitorDTO.getName();
TerminalLog terminalLog = assTerminalLog(type, operationLogDesc.value(), mubiao);
terminalLogList.add(terminalLog);
} else if (pmsDistributionMonitorDTO.getMonitorSort() == 2) {
String mubiao = pmsDistributionMonitorDTO.getOrgName() + "_" + pmsDistributionMonitorDTO.getPowerStationName() + "_" + pmsDistributionMonitorDTO.getLineName() + "_" + pmsDistributionMonitorDTO.getName();
TerminalLog terminalLog = assTerminalLog(type, operationLogDesc.value(), mubiao);
terminalLogList.add(terminalLog);
} else {
String mubiao = pmsDistributionMonitorDTO.getOrgName() + "_" + pmsDistributionMonitorDTO.getPowerStationName() + "_" + pmsDistributionMonitorDTO.getLineName() + "_" + pmsDistributionMonitorDTO.getPlatformName() + "_" + pmsDistributionMonitorDTO.getName();
TerminalLog terminalLog = assTerminalLog(type, operationLogDesc.value(), mubiao);
terminalLogList.add(terminalLog);
}
}
}
});
break;
default:
break;
}
} else {
TerminalLog operationLog = new TerminalLog();
operationLog.setStatus(DataStateEnum.ENABLE.getCode());
operationLog.setOperationStatus(true);
operationLog.setCreateBy(RequestUtil.getUserIndex());
operationLog.setUpdateBy(RequestUtil.getUserIndex());
operationLog.setCreateTime(LocalDateTime.now());
operationLog.setUpdateTime(LocalDateTime.now());
JSONObject jsonObject = new JSONObject(msg);
operationLog.setType(type);
switch (type) {
case 0:
StatationStatParam statationStat = jsonObject.toBean(StatationStatParam.class);
if (Objects.nonNull(statationStat)) {
operationLog.setOperatorDescribe(userName + "进行" + operationLogDesc.value() + "操作,目标电站:" + statationStat.getOrgName() + "_" + statationStat.getPowerName());
}
break;
case 1:
PmsTerminalParam terminalParam = jsonObject.toBean(PmsTerminalParam.class);
if (Objects.nonNull(terminalParam)) {
operationLog.setOperatorDescribe(userName + "进行" + operationLogDesc.value() + "操作,目标终端:" + terminalParam.getOrgName() + "_" + terminalParam.getPowerrName() + "_" + terminalParam.getName());
}
break;
case 2:
GeneratrixWireParam generatrixWireParam = jsonObject.toBean(GeneratrixWireParam.class);
if (Objects.nonNull(generatrixWireParam)) {
operationLog.setOperatorDescribe(userName + "进行" + operationLogDesc.value() + "操作,目标线路:" + generatrixWireParam.getStationName() + "_" + generatrixWireParam.getName());
}
break;
case 3:
PowerDistributionareaParam powerDistributionareaParam = jsonObject.toBean(PowerDistributionareaParam.class);
if (Objects.nonNull(powerDistributionareaParam)) {
operationLog.setOperatorDescribe(userName + "进行" + operationLogDesc.value() + "操作,目标台区:" + powerDistributionareaParam.getOrgName() + "_" + powerDistributionareaParam.getPowerrName() + "_" + powerDistributionareaParam.getLineName() + "_" + powerDistributionareaParam.getName());
}
break;
case 4:
PowerGenerationUserParam powerGenerationUserParam = jsonObject.toBean(PowerGenerationUserParam.class);
if (Objects.nonNull(powerGenerationUserParam)) {
operationLog.setOperatorDescribe(userName + "进行" + operationLogDesc.value() + "操作,目标发电用户:" + powerGenerationUserParam.getOrgName() + "_" + powerGenerationUserParam.getName());
}
break;
case 5:
PowerClientParam powerClientParam = jsonObject.toBean(PowerClientParam.class);
if (Objects.nonNull(powerClientParam)) {
operationLog.setOperatorDescribe(userName + "进行" + operationLogDesc.value() + "操作,目标用电用户:" + powerClientParam.getOrgName() + "_" + powerClientParam.getName());
}
break;
case 6:
MonitorParam monitorParam = jsonObject.toBean(MonitorParam.class);
if (Objects.nonNull(monitorParam)) {
operationLog.setOperatorDescribe(userName + "进行" + operationLogDesc.value() + "操作,目标主网监测点:" + monitorParam.getOrgName() + "_" + monitorParam.getPowerrName() + "_" + monitorParam.getName());
}
break;
case 7:
DistributionMonitorParam distributionMonitorParam = jsonObject.toBean(DistributionMonitorParam.class);
if (Objects.nonNull(distributionMonitorParam)) {
PmsDistributionMonitorDTO pmsDistributionMonitorDTO = iDistributionMonitorService.distributionMonitorDetail(distributionMonitorParam.getMonitorId(), distributionMonitorParam.getMonitorSort(), distributionMonitorParam.getIfPowerUser());
if (Objects.nonNull(pmsDistributionMonitorDTO)) {
if (pmsDistributionMonitorDTO.getMonitorSort() == 1) {
operationLog.setOperatorDescribe(userName + "进行" + operationLogDesc.value() + "操作,目标配网监测点:" + pmsDistributionMonitorDTO.getOrgName() + "_" + pmsDistributionMonitorDTO.getPowerStationName() + "_" + pmsDistributionMonitorDTO.getLineName() + "_" + pmsDistributionMonitorDTO.getName());
} else if (pmsDistributionMonitorDTO.getMonitorSort() == 2) {
operationLog.setOperatorDescribe(userName + "进行" + operationLogDesc.value() + "操作,目标配网监测点:" + pmsDistributionMonitorDTO.getOrgName() + "_" + pmsDistributionMonitorDTO.getPowerStationName() + "_" + pmsDistributionMonitorDTO.getLineName() + "_" + pmsDistributionMonitorDTO.getName());
} else {
operationLog.setOperatorDescribe(userName + "进行" + operationLogDesc.value() + "操作,目标配网监测点:" + pmsDistributionMonitorDTO.getOrgName() + "_" + pmsDistributionMonitorDTO.getPlatformName() + "_" + pmsDistributionMonitorDTO.getName());
}
}
}
break;
default:
break;
}
terminalLogList.add(operationLog);
}
if (CollectionUtil.isNotEmpty(terminalLogList)) {
logFastThreadLocal.set(terminalLogList);
}
}
}
private TerminalLog assTerminalLog(Integer type, String top, String mubiao) {
TerminalLog operationLog = new TerminalLog();
operationLog.setStatus(DataStateEnum.ENABLE.getCode());
operationLog.setOperationStatus(true);
operationLog.setCreateBy(RequestUtil.getUserIndex());
operationLog.setUpdateBy(RequestUtil.getUserIndex());
operationLog.setCreateTime(LocalDateTime.now());
operationLog.setUpdateTime(LocalDateTime.now());
operationLog.setType(type);
operationLog.setOperatorDescribe(RequestUtil.getUsername() + "进行" + top + "操作,目标:" + mubiao);
return operationLog;
}
/**
* 请求后置通知,请求完成会进入到这个方法
*
* @param result 响应结果json
*/
@AfterReturning(value = "logPointcut()", returning = "result")
public void afterReturningLogger(Object result) {
// 保存操作日志
if (logFastThreadLocal.isSet()) {
List<TerminalLog> operationLogList = logFastThreadLocal.get();
if (CollectionUtil.isNotEmpty(operationLogList)) {
for (TerminalLog terminalLog : operationLogList) {
boolean flag = terminalLog.getOperationStatus();
if (flag) {
JSONObject jsonObject = new JSONObject(result);
HttpResult httpResult = jsonObject.toBean(HttpResult.class);
if (CommonResponseEnum.SUCCESS.getCode().equals(httpResult.getCode())) {
terminalLog.setResults(1);
} else {
terminalLog.setResults(0);
}
} else {
terminalLog.setResults(0);
}
// 调用具体的 service 保存到数据库中
iTerminalLogService.save(terminalLog);
}
}
// 移除本地线程数据
logFastThreadLocal.remove();
}
}
/**
* 异常通知,请求异常会进入到这个方法
*/
@AfterThrowing(value = "logPointcut()", throwing = "throwable")
public void throwingLogger(Throwable throwable) {
//log.error("ErrorMessage请根据异常产生时间前往异常日志查看相关信息");
// 保存操作日志
if (logFastThreadLocal.isSet()) {
List<TerminalLog> operationLogList = logFastThreadLocal.get();
if (CollectionUtil.isNotEmpty(operationLogList)) {
operationLogList.forEach(item -> item.setOperationStatus(false));
// 移除本地线程数据
logFastThreadLocal.remove();
}
}
}
/**
* 参数拼装
*/
private String argsArrayToString(Object[] paramsArray) {
String params = "";
if (paramsArray != null && paramsArray.length > 0) {
for (Object o : paramsArray) {
if (null != o && !isFilterObject(o)) {
try {
Object jsonObj = JSON.toJSON(o);
params += jsonObj.toString() + " ";
} catch (Exception e) {
}
}
}
}
return params.trim();
}
@SuppressWarnings("rawtypes")
public boolean isFilterObject(final Object o) {
Class<?> clazz = o.getClass();
if (clazz.isArray()) {
return clazz.getComponentType().isAssignableFrom(MultipartFile.class);
} else if (Collection.class.isAssignableFrom(clazz)) {
Collection collection = (Collection) o;
for (Object value : collection) {
return value instanceof MultipartFile;
}
} else if (Map.class.isAssignableFrom(clazz)) {
Map map = (Map) o;
for (Object value : map.entrySet()) {
Map.Entry entry = (Map.Entry) value;
return entry.getValue() instanceof MultipartFile;
}
}
return o instanceof MultipartFile || o instanceof HttpServletRequest || o instanceof HttpServletResponse
|| o instanceof BindingResult;
}
}

View File

@@ -2,18 +2,25 @@ package com.njcn.device.pms.controller.ledgerManger;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.constant.OperateType;
import com.njcn.common.pojo.enums.common.DataStateEnum;
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.device.pms.annotation.TerminalOperationLogDesc;
import com.njcn.device.pms.pojo.dto.PmsDistributionMonitorDTO;
import com.njcn.device.pms.pojo.param.DistributionMonitorParam;
import com.njcn.device.pms.pojo.param.MonitorStatus;
import com.njcn.device.pms.pojo.param.TaiZhangDelParam;
import com.njcn.device.pms.pojo.po.DistributionMonitor;
import com.njcn.device.pms.pojo.po.TerminalLog;
import com.njcn.device.pms.pojo.vo.DoubleUserVO;
import com.njcn.device.pms.service.majornetwork.IDistributionMonitorService;
import com.njcn.device.pms.service.majornetwork.ITerminalLogService;
import com.njcn.web.utils.RequestUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -25,8 +32,11 @@ import org.springframework.web.bind.annotation.*;
import com.njcn.web.controller.BaseController;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* <p>
@@ -45,6 +55,8 @@ public class PmsDistributionMonitorController extends BaseController {
private final IDistributionMonitorService iDistributionMonitorService;
private final ITerminalLogService iTerminalLogService;
/**
* 新增配网监测点表
* @author cdf
@@ -54,6 +66,7 @@ public class PmsDistributionMonitorController extends BaseController {
@ApiImplicitParam(name = "distributionMonitorParam",value = "配网监测点实体",required = true)
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
@ApiOperation("新增配网监测点")
@TerminalOperationLogDesc(value = "新增配网监测点",module = 7)
public HttpResult<Boolean> addDistributionMonitor(@RequestBody @Validated DistributionMonitorParam distributionMonitorParam){
String methodDescribe = getMethodDescribe("addDistributionMonitor");
boolean res= iDistributionMonitorService.addDistributionMonitor(distributionMonitorParam);
@@ -74,6 +87,7 @@ public class PmsDistributionMonitorController extends BaseController {
@ApiImplicitParam(name = "distributionMonitorParam",value = "配网监测点实体",required = true)
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.UPDATE)
@ApiOperation("修改配网监测点")
@TerminalOperationLogDesc(value = "修改配网监测点",module = 7)
public HttpResult<Boolean> updateDistributionMonitor(@RequestBody @Validated DistributionMonitorParam distributionMonitorParam){
String methodDescribe = getMethodDescribe("updateDistributionMonitor");
boolean res= iDistributionMonitorService.updateDistributionMonitor(distributionMonitorParam);
@@ -175,14 +189,56 @@ public class PmsDistributionMonitorController extends BaseController {
@ApiOperation("删除配网监测点")
public HttpResult<Boolean> delDistributionMonitor(@RequestBody @Validated TaiZhangDelParam taiZhangDelParam){
String methodDescribe = getMethodDescribe("delDistributionMonitor");
List<TerminalLog> terminalLogList = new ArrayList<>();
for(String item : taiZhangDelParam.getIds()){
LambdaQueryWrapper<DistributionMonitor> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(DistributionMonitor::getMonitorId,item);
DistributionMonitor distributionMonitor = iDistributionMonitorService.getOne(lambdaQueryWrapper);
if (Objects.nonNull(distributionMonitor)) {
PmsDistributionMonitorDTO pmsDistributionMonitorDTO = iDistributionMonitorService.distributionMonitorDetail(distributionMonitor.getMonitorId(), distributionMonitor.getMonitorSort(), distributionMonitor.getIfPowerUser());
if (Objects.nonNull(pmsDistributionMonitorDTO)) {
String mubiao = "";
if (pmsDistributionMonitorDTO.getMonitorSort() == 1) {
mubiao = pmsDistributionMonitorDTO.getOrgName() + "_" + pmsDistributionMonitorDTO.getPowerStationName() + "_" + pmsDistributionMonitorDTO.getLineName() + "_" + pmsDistributionMonitorDTO.getName();
} else if (pmsDistributionMonitorDTO.getMonitorSort() == 2) {
mubiao = pmsDistributionMonitorDTO.getOrgName() + "_" + pmsDistributionMonitorDTO.getPowerStationName() + "_" + pmsDistributionMonitorDTO.getLineName() + "_" + pmsDistributionMonitorDTO.getName();
} else {
mubiao = pmsDistributionMonitorDTO.getOrgName() +"_"+ pmsDistributionMonitorDTO.getPlatformName() + "_" + pmsDistributionMonitorDTO.getName();
}
TerminalLog terminalLog = assTerminalLog(7, "删除配网监测点", mubiao);
terminalLog.setResults(1);
terminalLogList.add(terminalLog);
}
}
};
boolean res= iDistributionMonitorService.delDistributionMonitor(taiZhangDelParam);
if(res){
iTerminalLogService.saveBatch(terminalLogList);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}else {
terminalLogList = terminalLogList.stream().peek(item->item.setResults(0)).collect(Collectors.toList());
iTerminalLogService.saveBatch(terminalLogList);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
}
}
private TerminalLog assTerminalLog(Integer type, String top, String mubiao) {
TerminalLog operationLog = new TerminalLog();
operationLog.setStatus(DataStateEnum.ENABLE.getCode());
operationLog.setOperationStatus(true);
operationLog.setCreateBy(RequestUtil.getUserIndex());
operationLog.setUpdateBy(RequestUtil.getUserIndex());
operationLog.setCreateTime(LocalDateTime.now());
operationLog.setUpdateTime(LocalDateTime.now());
operationLog.setType(type);
operationLog.setOperatorDescribe(RequestUtil.getUsername() + "进行" + top + "操作,目标:" + mubiao);
return operationLog;
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.UPDATE)
@PostMapping("/updateStatus")
@ApiOperation("修改配网监测点数据状态")

View File

@@ -8,6 +8,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.device.pms.annotation.TerminalOperationLogDesc;
import com.njcn.device.pms.pojo.dto.GeneratrixAndPowerStationDTO;
import com.njcn.device.pms.pojo.dto.GeneratrixAndPowerStationSonDTO;
import com.njcn.device.pms.pojo.dto.PmsGeneratrixDTO;
@@ -51,6 +52,7 @@ public class PmsGeneratrixWireController extends BaseController {
@PostMapping("/addGeneratrixWire")
@ApiOperation("新增线路")
@ApiImplicitParam(name = "generatrixWireParam", value = "线路实体", required = true)
@TerminalOperationLogDesc(value = "新增线路",module = 2)
public HttpResult<Boolean> addGeneratrixWire(@RequestBody @Validated GeneratrixWireParam generatrixWireParam) {
String methodDescribe = getMethodDescribe("addGeneratrixWire");
boolean result = iGeneratrixWireService.addGeneratrixWire(generatrixWireParam);
@@ -65,6 +67,7 @@ public class PmsGeneratrixWireController extends BaseController {
@PostMapping("/updateGeneratrixWire")
@ApiOperation("修改线路")
@ApiImplicitParam(name = "generatrixWireParam", value = "线路实体", required = true)
@TerminalOperationLogDesc(value = "修改线路",module = 2)
public HttpResult<Boolean> updateGeneratrixWire(@RequestBody @Validated GeneratrixWireParam generatrixWireParam) {
String methodDescribe = getMethodDescribe("updateGeneratrixWire");
boolean result = iGeneratrixWireService.updateGeneratrixWire(generatrixWireParam);
@@ -79,6 +82,7 @@ public class PmsGeneratrixWireController extends BaseController {
@DeleteMapping("/delGeneratrixWire")
@ApiOperation("删除线路")
@ApiImplicitParam(name = "generatrixWireIds", value = "线路ids", required = true)
@TerminalOperationLogDesc(value = "删除线路",module = 2)
public HttpResult<Boolean> delGeneratrixWire(@RequestBody @NotEmpty(message = "线路id不可为空") List<String> generatrixWireIds) {
String methodDescribe = getMethodDescribe("delGeneratrixWire");
boolean result = iGeneratrixWireService.delGeneratrixWire(generatrixWireIds);

View File

@@ -8,6 +8,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.device.pms.annotation.TerminalOperationLogDesc;
import com.njcn.device.pms.pojo.dto.PmsMonitorDTO;
import com.njcn.device.pms.pojo.dto.PmsMonitorInfoDTO;
import com.njcn.device.pms.pojo.param.TerminalQueryParam;
@@ -175,6 +176,7 @@ public class PmsMonitorController extends BaseController {
@PostMapping("/addMonitor")
@ApiOperation("新增主网监测点")
@ApiImplicitParam(name = "monitorParam", value = "主网监测点实体", required = true)
@TerminalOperationLogDesc(value = "新增主网监测点",module = 6)
public HttpResult<Boolean> addMonitor(@RequestBody @Validated MonitorParam monitorParam) {
String methodDescribe = getMethodDescribe("addMonitor");
boolean result = monitorService.addMonitor(monitorParam);
@@ -188,6 +190,7 @@ public class PmsMonitorController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.UPDATE)
@PostMapping("/updateMonitor")
@ApiOperation("修改主网监测点")
@TerminalOperationLogDesc(value = "修改主网监测点",module = 6)
@ApiImplicitParam(name = "monitorParam", value = "主网监测点实体", required = true)
public HttpResult<Boolean> updateMonitor(@RequestBody @Validated MonitorParam monitorParam) {
String methodDescribe = getMethodDescribe("updateMonitor");
@@ -202,6 +205,7 @@ public class PmsMonitorController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.UPDATE)
@DeleteMapping("/delMonitor")
@ApiOperation("删除主网监测点")
@TerminalOperationLogDesc(value = "删除主网监测点",module = 6)
@ApiImplicitParam(name = "monitorIds", value = "主网监测点ids", required = true)
public HttpResult<Boolean> delMonitor(@RequestBody @NotEmpty(message = "主网监测点id不可为空") List<String> monitorIds) {
String methodDescribe = getMethodDescribe("delMonitor");
@@ -227,6 +231,7 @@ public class PmsMonitorController extends BaseController {
@ApiImplicitParam(name = "type", value = "0.主网 1.配网", required = true),
@ApiImplicitParam(name = "lineIds", value = "监测点ids", required = true)
})
@TerminalOperationLogDesc(value = "退役服役监测点",module = 6)
public HttpResult<Boolean> retirementMonitor(@NotNull(message = "监测类别不可为空") @RequestParam("type") Integer type,
@NotEmpty(message = "监测点不可为空") @RequestBody List<String> lineIds) {
String methodDescribe = getMethodDescribe("retirementMonitor");

View File

@@ -8,6 +8,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.device.pms.annotation.TerminalOperationLogDesc;
import com.njcn.device.pms.pojo.param.PowerClientParam;
import com.njcn.device.pms.pojo.param.PowerUserParam;
import com.njcn.device.pms.pojo.po.PowerClient;
@@ -18,6 +19,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.njcn.web.controller.BaseController;
@@ -46,7 +48,8 @@ public class PmsPowerClientController extends BaseController {
@PostMapping("/addPowerClient")
@ApiOperation("新增用电用户")
@ApiImplicitParam(name = "powerClientParam", value = "用电用户实体", required = true)
public HttpResult<Boolean> addPowerClient(@RequestBody PowerClientParam powerClientParam) {
@TerminalOperationLogDesc(value = "新增用电用户",module = 5)
public HttpResult<Boolean> addPowerClient(@RequestBody @Validated PowerClientParam powerClientParam) {
String methodDescribe = getMethodDescribe("addPowerClient");
boolean result = iPowerClientService.addPowerClient(powerClientParam);
if(result){
@@ -60,7 +63,8 @@ public class PmsPowerClientController extends BaseController {
@PostMapping("/updatePowerClient")
@ApiOperation("修改用电用户")
@ApiImplicitParam(name = "powerClientParam", value = "用电用户实体", required = true)
public HttpResult<Boolean> updatePowerClient(@RequestBody PowerClientParam powerClientParam) {
@TerminalOperationLogDesc(value = "修改用电用户",module = 5)
public HttpResult<Boolean> updatePowerClient(@RequestBody @Validated PowerClientParam powerClientParam) {
String methodDescribe = getMethodDescribe("updatePowerClient");
boolean result = iPowerClientService.updatePowerClient(powerClientParam);
if(result){
@@ -74,6 +78,7 @@ public class PmsPowerClientController extends BaseController {
@DeleteMapping("/delPowerClient")
@ApiOperation("删除用电用户")
@ApiImplicitParam(name = "powerClientIds", value = "用电用户ids", required = true)
@TerminalOperationLogDesc(value = "删除用电用户",module = 5)
public HttpResult<Boolean> delPowerClient(@RequestBody @NotEmpty(message = "用电用户id不可为空") List<String> powerClientIds) {
String methodDescribe = getMethodDescribe("delPowerClient");
boolean result = iPowerClientService.delPowerClient(powerClientIds);

View File

@@ -9,6 +9,7 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.common.utils.LogUtil;
import com.njcn.device.pms.annotation.TerminalOperationLogDesc;
import com.njcn.device.pms.pojo.param.PmsBaseParam;
import com.njcn.device.pms.pojo.param.PowerDistributionareaParam;
import com.njcn.device.pms.pojo.po.PowerDistributionarea;
@@ -91,6 +92,7 @@ public class PmsPowerDistributionareaController extends BaseController {
@OperateInfo(info = LogEnum.SYSTEM_COMMON,operateType=OperateType.ADD)
@ApiOperation("新增台区信息")
@ApiImplicitParam(name = "newParam", value = "模板实体", required = true)
@TerminalOperationLogDesc(value = "新增台区信息",module = 3)
public HttpResult<Object> add(@RequestBody @Validated PowerDistributionareaParam newParam){
String methodDescribe = getMethodDescribe("add");
boolean result = iPowerDistributionareaService.add(newParam);
@@ -110,6 +112,7 @@ public class PmsPowerDistributionareaController extends BaseController {
@OperateInfo(info = LogEnum.SYSTEM_COMMON,operateType = OperateType.UPDATE)
@ApiOperation("修改台区信息")
@ApiImplicitParam(name = "UpdateParam", value = "更新实体", required = true)
@TerminalOperationLogDesc(value = "修改台区信息",module = 3)
public HttpResult<Object> update(@RequestBody @Validated PowerDistributionareaParam UpdateParam){
String methodDescribe = getMethodDescribe("update");
boolean result = iPowerDistributionareaService.update(UpdateParam);
@@ -130,6 +133,7 @@ public class PmsPowerDistributionareaController extends BaseController {
@OperateInfo(info = LogEnum.SYSTEM_COMMON, operateType = OperateType.DELETE)
@ApiOperation("删除台区信息")
@ApiImplicitParam(name = "ids", value = "ID索引", required = true)
@TerminalOperationLogDesc(value = "删除台区信息",module = 3)
public HttpResult<Object> delete(@RequestBody List<String> ids){
String methodDescribe = getMethodDescribe("delete");
boolean result = iPowerDistributionareaService.delete(ids);

View File

@@ -8,6 +8,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.device.pms.annotation.TerminalOperationLogDesc;
import com.njcn.device.pms.pojo.param.PowerDistributionareaParam;
import com.njcn.device.pms.pojo.param.PowerGenerationUserParam;
import com.njcn.device.pms.pojo.param.PowerUserParam;
@@ -18,6 +19,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.njcn.web.controller.BaseController;
@@ -46,7 +48,8 @@ public class PmsPowerGenerationUserController extends BaseController {
@PostMapping("/addPowerGenerationUser")
@ApiOperation("新增发电用户")
@ApiImplicitParam(name = "powerGenerationUserParam", value = "发电用户实体", required = true)
public HttpResult<Boolean> addPowerGenerationUser(@RequestBody PowerGenerationUserParam powerGenerationUserParam) {
@TerminalOperationLogDesc(value = "新增发电用户",module = 4)
public HttpResult<Boolean> addPowerGenerationUser(@RequestBody @Validated PowerGenerationUserParam powerGenerationUserParam) {
String methodDescribe = getMethodDescribe("addPowerGenerationUser");
boolean result = iPowerGenerationUserService.addPowerGenerationUser(powerGenerationUserParam);
if(result){
@@ -60,7 +63,8 @@ public class PmsPowerGenerationUserController extends BaseController {
@PostMapping("/updatePowerGenerationUser")
@ApiOperation("修改发电用户")
@ApiImplicitParam(name = "powerGenerationUserParam", value = "发电用户实体", required = true)
public HttpResult<Boolean> updatePowerGenerationUser(@RequestBody PowerGenerationUserParam powerGenerationUserParam) {
@TerminalOperationLogDesc(value = "修改发电用户",module = 4)
public HttpResult<Boolean> updatePowerGenerationUser(@RequestBody @Validated PowerGenerationUserParam powerGenerationUserParam) {
String methodDescribe = getMethodDescribe("updatePowerGenerationUser");
boolean result = iPowerGenerationUserService.updatePowerGenerationUser(powerGenerationUserParam);
if(result){
@@ -74,6 +78,7 @@ public class PmsPowerGenerationUserController extends BaseController {
@DeleteMapping("/delPowerGenerationUser")
@ApiOperation("删除发电用户")
@ApiImplicitParam(name = "powerGenerationUserIds", value = "发电用户ids", required = true)
@TerminalOperationLogDesc(value = "删除发电用户",module = 4)
public HttpResult<Boolean> delPowerGenerationUser(@RequestBody @NotEmpty(message = "发电用户id不可为空") List<String> powerGenerationUserIds) {
String methodDescribe = getMethodDescribe("delPowerGenerationUser");
boolean result = iPowerGenerationUserService.delPowerGenerationUser(powerGenerationUserIds);

View File

@@ -8,6 +8,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.device.pms.annotation.TerminalOperationLogDesc;
import com.njcn.device.pms.pojo.dto.PmsStatationStatInfoDTO;
import com.njcn.device.pms.pojo.param.PmsBaseParam;
import com.njcn.device.pms.pojo.param.StatationStatParam;
@@ -72,7 +73,8 @@ public class PmsStatationStatController extends BaseController {
@PostMapping("/addstatationStat")
@ApiOperation("新增电站")
@ApiImplicitParam(name = "statationStatParam", value = "电站实体", required = true)
public HttpResult<Boolean> addstatationStat(@RequestBody StatationStatParam statationStatParam) {
@TerminalOperationLogDesc(value = "新增电站",module = 0, events = "")
public HttpResult<Boolean> addstatationStat(@RequestBody @Validated StatationStatParam statationStatParam) {
String methodDescribe = getMethodDescribe("addstatationStat");
boolean result = statationStatService.addStatationStat(statationStatParam);
if (result) {
@@ -80,13 +82,16 @@ public class PmsStatationStatController extends BaseController {
}
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPDATE)
@PostMapping("/updatestatationStat")
@ApiOperation("修改电站")
@ApiImplicitParam(name = "statationStatParam", value = "电站实体", required = true)
public HttpResult<Boolean> updatestatationStat(@RequestBody StatationStatParam statationStatParam) {
@TerminalOperationLogDesc(value = "修改电站",module = 0)
public HttpResult<Boolean> updatestatationStat(@RequestBody @Validated StatationStatParam statationStatParam) {
String methodDescribe = getMethodDescribe("updatestatationStat");
boolean result = statationStatService.updateStatationStat(statationStatParam);
if (result) {
@@ -100,6 +105,7 @@ public class PmsStatationStatController extends BaseController {
@DeleteMapping("/delstatationStat")
@ApiOperation("删除电站")
@ApiImplicitParam(name = "statationStatIds", value = "电站ids", required = true)
@TerminalOperationLogDesc(value = "删除电站",module = 0, events = "")
public HttpResult<Boolean> delstatationStat(@RequestBody @NotEmpty(message = "电站id不可为空") List<String> statationStatIds) {
String methodDescribe = getMethodDescribe("delstatationStat");
boolean result = statationStatService.delStatationStat(statationStatIds);

View File

@@ -9,6 +9,7 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.common.utils.LogUtil;
import com.njcn.device.pms.annotation.TerminalOperationLogDesc;
import com.njcn.device.pms.pojo.param.PmsBaseParam;
import com.njcn.device.pms.pojo.param.PmsTerminalParam;
import com.njcn.device.pms.pojo.param.TerminalQueryParam;
@@ -91,6 +92,7 @@ public class PmsTerminalController extends BaseController {
@OperateInfo(info = LogEnum.SYSTEM_COMMON,operateType= OperateType.ADD)
@ApiOperation("新增监测终端台账信息")
@ApiImplicitParam(name = "terminalParam", value = "新增实体", required = true)
@TerminalOperationLogDesc(value = "新增监测终端台账信息",module = 1)
public HttpResult<Object> add(@RequestBody @Validated PmsTerminalParam terminalParam){
String methodDescribe = getMethodDescribe("add");
boolean result = iTerminalService.add(terminalParam);
@@ -110,6 +112,7 @@ public class PmsTerminalController extends BaseController {
@OperateInfo(info = LogEnum.SYSTEM_COMMON,operateType = OperateType.UPDATE)
@ApiOperation("修改监测终端台账信息")
@ApiImplicitParam(name = "updateParam", value = "更新实体", required = true)
@TerminalOperationLogDesc(value = "修改监测终端台账信息",module = 1)
public HttpResult<Object> update(@RequestBody @Validated PmsTerminalParam updateParam){
String methodDescribe = getMethodDescribe("update");
boolean result = iTerminalService.update(updateParam);

View File

@@ -0,0 +1,22 @@
package com.njcn.device.pms.controller.ledgerManger;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.njcn.web.controller.BaseController;
/**
* <p>
* 前端控制器
* </p>
*
* @author hongawen
* @since 2023-02-23
*/
@RestController
@RequestMapping("/pms/terminalLog")
public class TerminalLogController extends BaseController {
}

View File

@@ -65,4 +65,8 @@ public interface DistributionMonitorMapper extends BaseMapper<DistributionMonito
List<DistributionMonitor> distributionMonitorListByCondition(@Param("deptIds")List<String> deptIds, @Param("monitorSort")String monitorSort);
}

View File

@@ -0,0 +1,17 @@
package com.njcn.device.pms.mapper.majornetwork;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.device.pms.pojo.po.TerminalLog;
/**
* <p>
* Mapper 接口
* </p>
*
* @author hongawen
* @since 2023-02-23
*/
public interface TerminalLogMapper extends BaseMapper<TerminalLog> {
}

View File

@@ -48,7 +48,7 @@
<select id="getStatationStatPageList" resultType="com.njcn.device.pms.pojo.vo.StatationStatVO">
select a.*, b.name orgName
from pms_statation_stat a
inner join sys_dept b on a.org_id = b.code
inner join sys_dept b on a.org_id = b.code and b.state = 1
where a.status = 1
<if test="baseParam.searchValue!=null and baseParam.searchValue!=''">
and a.Power_Id like concat('%',#{baseParam.searchValue},'%')

View File

@@ -1,6 +1,7 @@
package com.njcn.device.pms.service.majornetwork;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.device.pms.pojo.dto.PmsDistributionMonitorDTO;
import com.njcn.device.pms.pojo.dto.PmsMonitorBaseDTO;
import com.njcn.device.pms.pojo.param.DistributionMonitorParam;
import com.njcn.device.pms.pojo.param.MonitorStatus;
@@ -84,4 +85,12 @@ public interface IDistributionMonitorService extends IService<DistributionMonito
* @return
*/
boolean updateStatus(MonitorStatus.PwMonitorStatus monitorParam);
/**
* 获取配网详情
* @author cdf
* @date 2023/2/24
*/
PmsDistributionMonitorDTO distributionMonitorDetail(String monitorId, String monitorSort,Integer ifPowerUser);
}

View File

@@ -0,0 +1,17 @@
package com.njcn.device.pms.service.majornetwork;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.device.pms.pojo.po.TerminalLog;
/**
* <p>
* 服务类
* </p>
*
* @author hongawen
* @since 2023-02-23
*/
public interface ITerminalLogService extends IService<TerminalLog> {
}

View File

@@ -9,6 +9,7 @@ import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.device.pms.enums.PmsDeviceResponseEnum;
import com.njcn.device.pms.mapper.majornetwork.*;
import com.njcn.device.pms.pojo.dto.PmsDistributionMonitorDTO;
import com.njcn.device.pms.pojo.dto.PmsMonitorBaseDTO;
import com.njcn.device.pms.pojo.param.DistributionMonitorParam;
import com.njcn.device.pms.pojo.param.MonitorStatus;
@@ -64,7 +65,6 @@ public class DistributionMonitorServiceImpl extends ServiceImpl<DistributionMoni
private final DistributionMonitorMapper distributionMonitorMapper;
@Override
public List<PmsMonitorBaseDTO> getMonitorByCondition(List<String> deptIdList, PmsDeviceInfoParam pmsDeviceInfoParam) {
return this.baseMapper.getIdByOrgId(deptIdList, pmsDeviceInfoParam);
@@ -84,11 +84,11 @@ public class DistributionMonitorServiceImpl extends ServiceImpl<DistributionMoni
//判断配网表里是否已经存在监测点
LambdaQueryWrapper<DistributionMonitor> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(DistributionMonitor::getStatus,DataStateEnum.ENABLE.getCode())
.eq(DistributionMonitor::getMonitorId,distributionMonitorParam.getMonitorId())
.eq(DistributionMonitor::getMonitorSort,dictData.getId());
lambdaQueryWrapper.eq(DistributionMonitor::getStatus, DataStateEnum.ENABLE.getCode())
.eq(DistributionMonitor::getMonitorId, distributionMonitorParam.getMonitorId());
/*.eq(DistributionMonitor::getMonitorSort,dictData.getId());*/
int count = this.count(lambdaQueryWrapper);
if(count>0){
if (count > 0) {
throw new BusinessException(PmsDeviceResponseEnum.DIS_ADD_REPEAT);
}
@@ -139,7 +139,7 @@ public class DistributionMonitorServiceImpl extends ServiceImpl<DistributionMoni
break;
case DicDataConstant.THREE_LINE:
//三类监测点
if (distributionMonitorParam.getSmallType() == 1) {
if (distributionMonitorParam.getIfPowerUser() == 1) {
//发电
PowerGenerationUser powerGenerationUser = powerGenerationUserMapper.selectById(distributionMonitorParam.getMonitorId());
if (Objects.isNull(powerGenerationUser)) {
@@ -183,7 +183,7 @@ public class DistributionMonitorServiceImpl extends ServiceImpl<DistributionMoni
throw new BusinessException(PmsDeviceResponseEnum.NO_LINE_SORT);
}
LambdaUpdateWrapper<DistributionMonitor> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
lambdaUpdateWrapper.eq(DistributionMonitor::getMonitorSort,dictData.getId());
lambdaUpdateWrapper.eq(DistributionMonitor::getMonitorSort, dictData.getId());
switch (dictData.getCode()) {
case DicDataConstant.TWO_LINE:
//二类监测点(台区)
@@ -191,36 +191,36 @@ public class DistributionMonitorServiceImpl extends ServiceImpl<DistributionMoni
if (Objects.isNull(powerDistributionarea)) {
throw new BusinessException(PmsDeviceResponseEnum.TWO_MONITOR_NOT_FIND);
}
lambdaUpdateWrapper.eq(DistributionMonitor::getMonitorId,powerDistributionarea.getId());
lambdaUpdateWrapper.eq(DistributionMonitor::getMonitorId, powerDistributionarea.getId());
break;
case DicDataConstant.THREE_LINE:
//三类监测点
if (distributionMonitorParam.getSmallType() == 1) {
if (distributionMonitorParam.getIfPowerUser() == 1) {
//发电
PowerGenerationUser powerGenerationUser = powerGenerationUserMapper.selectById(distributionMonitorParam.getMonitorId());
if (Objects.isNull(powerGenerationUser)) {
throw new BusinessException(PmsDeviceResponseEnum.THREE_MONITOR_NOT_FIND);
}
lambdaUpdateWrapper.eq(DistributionMonitor::getMonitorId,powerGenerationUser.getId());
lambdaUpdateWrapper.eq(DistributionMonitor::getMonitorId, powerGenerationUser.getId());
} else {
//用电
PowerClient powerClient = powerClientMapper.selectById(distributionMonitorParam.getMonitorId());
if (Objects.isNull(powerClient)) {
throw new BusinessException(PmsDeviceResponseEnum.THREE_MONITOR_NOT_FIND);
}
lambdaUpdateWrapper.eq(DistributionMonitor::getMonitorId,powerClient.getId());
lambdaUpdateWrapper.eq(DistributionMonitor::getMonitorId, powerClient.getId());
}
break;
default:
throw new BusinessException(PmsDeviceResponseEnum.NO_LINE_SORT);
}
lambdaUpdateWrapper.set(DistributionMonitor::getMonitorState,distributionMonitorParam.getMonitorState())
.set(DistributionMonitor::getTerminalId,distributionMonitorParam.getTerminalId())
.set(DistributionMonitor::getTerminalWiringMethod,distributionMonitorParam.getTerminalWiringMethod())
.set(DistributionMonitor::getCt1,distributionMonitorParam.getCt1())
.set(DistributionMonitor::getCt2,distributionMonitorParam.getCt2())
.set(DistributionMonitor::getPt1,distributionMonitorParam.getPt1())
.set(DistributionMonitor::getPt2,distributionMonitorParam.getPt2());
lambdaUpdateWrapper.set(DistributionMonitor::getMonitorState, distributionMonitorParam.getMonitorState())
.set(DistributionMonitor::getTerminalId, distributionMonitorParam.getTerminalId())
.set(DistributionMonitor::getTerminalWiringMethod, distributionMonitorParam.getTerminalWiringMethod())
.set(DistributionMonitor::getCt1, distributionMonitorParam.getCt1())
.set(DistributionMonitor::getCt2, distributionMonitorParam.getCt2())
.set(DistributionMonitor::getPt1, distributionMonitorParam.getPt1())
.set(DistributionMonitor::getPt2, distributionMonitorParam.getPt2());
return this.update(lambdaUpdateWrapper);
}
@@ -239,17 +239,14 @@ public class DistributionMonitorServiceImpl extends ServiceImpl<DistributionMoni
}
@Override
public DistributionMonitor getDistributionMonitorById(String monitorSort,String id) {
public DistributionMonitor getDistributionMonitorById(String monitorSort, String id) {
DictData dictData = dicDataFeignClient.getDicDataById(monitorSort).getData();
if(Objects.isNull(dictData)){
if (Objects.isNull(dictData)) {
throw new BusinessException(PmsDeviceResponseEnum.NO_LINE_SORT);
}
LambdaUpdateWrapper<DistributionMonitor> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
lambdaUpdateWrapper.eq(DistributionMonitor::getMonitorSort,monitorSort).eq(DistributionMonitor::getMonitorId,id);
lambdaUpdateWrapper.eq(DistributionMonitor::getMonitorSort, monitorSort).eq(DistributionMonitor::getMonitorId, id);
DistributionMonitor distributionMonitor = this.getOne(lambdaUpdateWrapper);
if(Objects.nonNull(distributionMonitor)){
distributionMonitor.setMonitorSort(monitorSort);
}
return distributionMonitor;
}
@@ -274,10 +271,10 @@ public class DistributionMonitorServiceImpl extends ServiceImpl<DistributionMoni
}
DictData dictData = dicDataFeignClient.getDicDataByCode(code).getData();
if(Objects.isNull(dictData)){
if (Objects.isNull(dictData)) {
throw new BusinessException(PmsDeviceResponseEnum.NO_LINE_SORT);
}
lambdaQueryWrapper.eq(DistributionMonitor::getMonitorSort,dictData.getId());
lambdaQueryWrapper.eq(DistributionMonitor::getMonitorSort, dictData.getId());
lambdaQueryWrapper.in(DistributionMonitor::getMonitorId, taiZhangDelParam.getIds());
return this.remove(lambdaQueryWrapper);
}
@@ -285,7 +282,7 @@ public class DistributionMonitorServiceImpl extends ServiceImpl<DistributionMoni
/**
* @param orgId
* @param monitorSort
* @Description: 按部门获取旗下配网所有监测点(分一类,二类,三类)
* @Description: 按部门获取旗下配网所有监测点(分一类 二类 三类)
* @Param: [orgId, monitorSort]
* @return: java.util.List<com.njcn.device.pms.pojo.po.DistributionMonitor>
* @Author: clam
@@ -295,7 +292,7 @@ public class DistributionMonitorServiceImpl extends ServiceImpl<DistributionMoni
public List<DistributionMonitor> distributionMonitorListByCondition(String orgId, String monitorSort) {
List<String> deptIds = deptFeignClient.getDepSonSelfCodetByDeptId(orgId).getData();
List<DistributionMonitor> distributionMonitorList = distributionMonitorMapper.distributionMonitorListByCondition (deptIds,monitorSort);
List<DistributionMonitor> distributionMonitorList = distributionMonitorMapper.distributionMonitorListByCondition(deptIds, monitorSort);
return distributionMonitorList;
}
@@ -350,4 +347,80 @@ public class DistributionMonitorServiceImpl extends ServiceImpl<DistributionMoni
return true;
}
/**
* 获取配网监测点详情
*
* @author cdf
* @date 2023/2/24
*/
@Override
public PmsDistributionMonitorDTO distributionMonitorDetail(String monitorId, String monitorSort, Integer ifPowerUser) {
DictData dictData = dicDataFeignClient.getDicDataById(monitorSort).getData();
if (Objects.isNull(dictData)) {
throw new BusinessException(PmsDeviceResponseEnum.NO_LINE_SORT);
}
PmsDistributionMonitorDTO pmsDistributionMonitorDTO = new PmsDistributionMonitorDTO();
switch (dictData.getCode()) {
case DicDataConstant.ONE_LINE:
LambdaQueryWrapper<Monitor> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(Monitor::getId, monitorId).eq(Monitor::getStatus, DataStateEnum.ENABLE.getCode());
Monitor monitor = monitorMapper.selectOne(lambdaQueryWrapper);
pmsDistributionMonitorDTO.setId(monitor.getId());
pmsDistributionMonitorDTO.setName(monitor.getName());
pmsDistributionMonitorDTO.setOrgName(monitor.getOrgName());
pmsDistributionMonitorDTO.setPowerStationName(monitor.getPowerrName());
pmsDistributionMonitorDTO.setLineName(monitor.getLineName());
pmsDistributionMonitorDTO.setMonitorSort(1);
break;
case DicDataConstant.TWO_LINE:
LambdaQueryWrapper<PowerDistributionarea> powerDistributionareaLambdaQueryWrapper = new LambdaQueryWrapper<>();
powerDistributionareaLambdaQueryWrapper.eq(PowerDistributionarea::getId, monitorId).eq(PowerDistributionarea::getStatus, DataStateEnum.ENABLE.getCode());
PowerDistributionarea powerDistributionarea = powerDistributionareaMapper.selectOne(powerDistributionareaLambdaQueryWrapper);
pmsDistributionMonitorDTO.setId(powerDistributionarea.getId());
pmsDistributionMonitorDTO.setName(powerDistributionarea.getName());
pmsDistributionMonitorDTO.setOrgName(powerDistributionarea.getOrgName());
pmsDistributionMonitorDTO.setPowerStationName(powerDistributionarea.getPowerrName());
pmsDistributionMonitorDTO.setLineName(powerDistributionarea.getLineName());
pmsDistributionMonitorDTO.setMonitorSort(2);
break;
case DicDataConstant.THREE_LINE:
pmsDistributionMonitorDTO.setMonitorSort(3);
if (ifPowerUser == 1) {
LambdaQueryWrapper<PowerGenerationUser> powerGenerationUserLambdaQueryWrapper = new LambdaQueryWrapper<>();
powerGenerationUserLambdaQueryWrapper.eq(PowerGenerationUser::getId, monitorId).eq(PowerGenerationUser::getStatus, DataStateEnum.ENABLE.getCode());
PowerGenerationUser powerGenerationUser = powerGenerationUserMapper.selectOne(powerGenerationUserLambdaQueryWrapper);
if (Objects.nonNull(powerGenerationUser)) {
pmsDistributionMonitorDTO.setId(powerGenerationUser.getId());
pmsDistributionMonitorDTO.setName(powerGenerationUser.getName());
pmsDistributionMonitorDTO.setOrgName(powerGenerationUser.getOrgName());
PowerDistributionarea taiqu = powerDistributionareaMapper.selectById(powerGenerationUser.getPlatformId());
if (Objects.nonNull(taiqu)) {
pmsDistributionMonitorDTO.setPlatformName(taiqu.getName());
}
}
} else {
LambdaQueryWrapper<PowerClient> powerClientLambdaQueryWrapper = new LambdaQueryWrapper<>();
powerClientLambdaQueryWrapper.eq(PowerClient::getId, monitorId).eq(PowerClient::getStatus, DataStateEnum.ENABLE.getCode());
PowerClient powerClient = powerClientMapper.selectOne(powerClientLambdaQueryWrapper);
if (Objects.nonNull(powerClient)) {
pmsDistributionMonitorDTO.setId(powerClient.getId());
pmsDistributionMonitorDTO.setName(powerClient.getName());
pmsDistributionMonitorDTO.setOrgName(powerClient.getOrgName());
PowerDistributionarea taiqu = powerDistributionareaMapper.selectById(powerClient.getPlatformId());
if (Objects.nonNull(taiqu)) {
pmsDistributionMonitorDTO.setPlatformName(taiqu.getName());
}
}
}
break;
default:
break;
}
return pmsDistributionMonitorDTO;
}
}

View File

@@ -15,10 +15,7 @@ import com.njcn.device.pms.pojo.dto.PmsMonitorBaseDTO;
import com.njcn.device.pms.pojo.dto.PmsMonitorDTO;
import com.njcn.device.pms.pojo.dto.PmsMonitorInfoDTO;
import com.njcn.device.pms.pojo.param.*;
import com.njcn.device.pms.pojo.po.DistributionMonitor;
import com.njcn.device.pms.pojo.po.GeneratrixWire;
import com.njcn.device.pms.pojo.po.Monitor;
import com.njcn.device.pms.pojo.po.SpecialMonitor;
import com.njcn.device.pms.pojo.po.*;
import com.njcn.device.pms.pojo.vo.PmsMonitorVO;
import com.njcn.device.pms.service.majornetwork.IDistributionMonitorService;
import com.njcn.device.pms.service.majornetwork.IMonitorService;
@@ -152,6 +149,7 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
LambdaQueryWrapper<Monitor> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper
.eq(StrUtil.isNotBlank(baseParam.getMonitorState()), Monitor::getMonitorState, baseParam.getMonitorState())
.eq(StrUtil.isNotBlank(baseParam.getMonitorTag()),Monitor::getMonitorTag,baseParam.getMonitorTag())
.and(StrUtil.isNotBlank(baseParam.getSearchValue()), i -> i.like(Monitor::getName, baseParam.getSearchValue())
.or()
.like(Monitor::getId, baseParam.getSearchValue())
@@ -229,6 +227,7 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
@Override
public boolean delMonitor(List<String> monitorIds) {
this.removeByIds(monitorIds);
specialMonitorMapper.deleteBatchIds(monitorIds);
return true;

View File

@@ -1,5 +1,6 @@
package com.njcn.device.pms.service.majornetwork.impl;
import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -21,6 +22,7 @@ import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.util.List;
import java.util.Objects;
@@ -49,6 +51,7 @@ public class PowerGenerationUserServiceImpl extends ServiceImpl<PowerGenerationU
checkParam(powerGenerationUserParam,false);
PowerGenerationUser powerGenerationUser = new PowerGenerationUser();
BeanUtils.copyProperties(powerGenerationUserParam,powerGenerationUser);
powerGenerationUser.setConnectionDate(LocalDate.parse(powerGenerationUserParam.getConnectionDate()));
powerGenerationUser.setStatus(DataStateEnum.ENABLE.getCode());
return this.save(powerGenerationUser);
}
@@ -61,6 +64,7 @@ public class PowerGenerationUserServiceImpl extends ServiceImpl<PowerGenerationU
}
checkParam(powerGenerationUserParam,true);
BeanUtils.copyProperties(powerGenerationUserParam,powerGenerationUser);
powerGenerationUser.setConnectionDate(LocalDate.parse(powerGenerationUserParam.getConnectionDate()));
return this.updateById(powerGenerationUser);
}

View File

@@ -52,6 +52,8 @@ public class StatationStatServiceImpl extends ServiceImpl<StatationStatMapper, S
private final DistributionMonitorMapper distributionMonitorMapper;
private final ITerminalLogService iTerminalLogService;
/**
* 获取指定的变电站信息
*

View File

@@ -0,0 +1,20 @@
package com.njcn.device.pms.service.majornetwork.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.device.pms.mapper.majornetwork.TerminalLogMapper;
import com.njcn.device.pms.pojo.po.TerminalLog;
import com.njcn.device.pms.service.majornetwork.ITerminalLogService;
import org.springframework.stereotype.Service;
/**
* <p>
* 服务实现类
* </p>
*
* @author hongawen
* @since 2023-02-23
*/
@Service
public class TerminalLogServiceImpl extends ServiceImpl<TerminalLogMapper, TerminalLog> implements ITerminalLogService {
}