Merge remote-tracking branch 'origin/master'

This commit is contained in:
2023-04-13 11:34:58 +08:00
7 changed files with 189 additions and 108 deletions

View File

@@ -0,0 +1,43 @@
package com.njcn.device.pq.pojo.param;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import javax.validation.Valid;
/**
*
* @author zbj
* @date 2023/4/13
*/
@Data
@ApiModel
@Valid
public class SuperDataParam {
/**
* 监测点名称
*/
private String mName;
/**
* 母线名称
*/
private String pName;
/**
* 设备名称
*/
private String devName;
/**
* 变电站名称
*/
private String subName;
/**
* 市区名称
*/
private String urbanName;
}

View File

@@ -42,26 +42,6 @@ public class PqsTerminalLogs extends BaseEntity {
*/
private String terminalDescribe;
/**
* 更新时间
*/
private LocalDateTime updateTime;
/**
* 更新用户
*/
private String updateBy;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 创建用户
*/
private String createBy;
/**
* 状态 0-删除1-正常;默认正常
*/

View File

@@ -1,6 +1,7 @@
package com.njcn.device.pq.mapper;
import com.njcn.device.pq.pojo.param.SuperDataParam;
import org.apache.ibatis.annotations.Param;
import java.util.Map;
@@ -14,6 +15,8 @@ import java.util.Map;
* @since 2023-04-12
*/
public interface UserMapper {
Map<String, Object> getUser(@Param("userId") String userId);
Map<String,Object> getPointSuper(@Param("id") String id);
SuperDataParam getPointSuper(@Param("id") String id);
SuperDataParam getDeviceSuper(@Param("id") String id);
}

View File

@@ -2,21 +2,4 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.device.pq.mapper.PqsTerminalLogsMapper">
<insert id="InsertLog">
INSERT INTO pqs_terminal_logs(`Obj_Index`,
`Terminal_Type`,
`Terminal_Describe`,
`Create_Time`,
`Create_By`,
`State`)
VALUES (#{objIndex},
(SELECT Id
FROM `sys_dict_data`
WHERE `Code` = 'Line_Parameter'),
#{terminalDescribe},
now(),
#{createBy},
1
)
</insert>
</mapper>

View File

@@ -2,12 +2,8 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.device.pq.mapper.UserMapper">
<select id="getUser" resultType="java.util.Map">
SELECT `Name` as "name",Login_Name as "loginName"
FROM `sys_user` where id = #{userId}
</select>
<select id="getPointSuper" resultType="java.util.Map">
<select id="getPointSuper" resultType="com.njcn.device.pq.pojo.param.SuperDataParam">
SELECT pl.`Name` AS "mName",
pl1.`Name` AS "pName",
pl2.`Name` AS "devName",
@@ -20,4 +16,18 @@
LEFT JOIN pq_line pl4 ON pl3.Pid = pl4.Id
WHERE pl.Id = #{id}
</select>
<select id="getDeviceSuper" resultType="com.njcn.device.pq.pojo.param.SuperDataParam">
SELECT
pl.`Name` AS "devName",
pl1.`Name` AS "subName",
pl2.`Name` AS "urbanName"
FROM
pq_line pl
LEFT JOIN pq_line pl1 ON pl.Pid = pl1.Id
LEFT JOIN pq_line pl2 ON pl1.Pid = pl2.Id
WHERE
pl.Id = #{id}
</select>
</mapper>

View File

@@ -41,6 +41,7 @@ import com.njcn.system.enums.DicDataEnum;
import com.njcn.system.enums.DicDataTypeEnum;
import com.njcn.system.pojo.po.Area;
import com.njcn.system.pojo.po.DictData;
import com.njcn.user.pojo.vo.UserVO;
import com.njcn.web.utils.RequestUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -100,7 +101,6 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
private final DeviceBakService deviceBakService;
/**
* 终端新增操作
*
@@ -698,12 +698,11 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
Overlimit overlimit = new Overlimit(line.getId(), scaleResult.getData().getValue(), lineDetail.getShortCapacity(), lineDetail.getStandardCapacity(), lineDetail.getDealCapacity(), lineDetail.getDevCapacity());
overlimitMapper.insert(overlimit);
}
//todo 插入日志
String userId = RequestUtil.getUserIndex();
//String userId = "5dd232f9a70c49c58d2f9e7f69776394";
Map<String, Object> map = userMapper.getUser(userId);
String userName = map.get("name").toString();
String loginName = map.get("loginName").toString();
//获取用户信息
String userName = RequestUtil.getUsername();
String loginName = RequestUtil.getLoginName();
//String userName = "zbj";
//String loginName = "njcnser";
LineDetail lineDetailResOld = lineDetailMapper.selectById(lineId);
queryUpdateAndInsertLog(userName, loginName, lineDetailRes, lineDetailResOld);
}
@@ -725,11 +724,11 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
*/
@Async
public void queryUpdateAndInsertLog(String userName, String loginName, LineDetail newLine, LineDetail oldLine) {
Map<String, Object> map = userMapper.getPointSuper(newLine.getId());
SuperDataParam superDataParam = userMapper.getPointSuper(newLine.getId());
StringBuilder sb = new StringBuilder();
sb.append(userName).append("修改了").append(map.get("urbanName")).append(" - ")
.append(map.get("subName")).append(" - ").append(map.get("devName")).append(" - ").append(map.get("pName"))
.append(" - ").append(map.get("mName")).append(" - 监测点的参数;");
sb.append(userName).append("修改了").append(superDataParam.getUrbanName()).append(" - ")
.append(superDataParam.getSubName()).append(" - ").append(superDataParam.getDevName()).append(" - ").append(superDataParam.getPName())
.append(" - ").append(superDataParam.getMName()).append(" - 监测点的参数;");
StringBuilder sbNew = new StringBuilder();
StringBuilder sbOld = new StringBuilder();
sbNew.append("操作历史,");

View File

@@ -3,33 +3,29 @@ package com.njcn.device.pq.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.njcn.common.pojo.dto.SimpleDTO;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.device.pq.enums.DeviceResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.device.pq.mapper.TerminalMaintainMapper;
import com.njcn.device.pq.mapper.UserMapper;
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
import com.njcn.device.pq.pojo.param.PqsParam;
import com.njcn.device.pq.pojo.param.TerminalMainQueryParam;
import com.njcn.device.pq.pojo.param.TerminalParam;
import com.njcn.device.pq.pojo.po.Communicate;
import com.njcn.device.pq.pojo.po.DevMeal;
import com.njcn.device.pq.pojo.po.DevStrategy;
import com.njcn.device.pq.pojo.po.Device;
import com.njcn.device.pq.pojo.param.*;
import com.njcn.device.pq.pojo.po.*;
import com.njcn.device.pq.pojo.po.influxdb.DeviceDayFlow;
import com.njcn.device.pq.pojo.vo.LineFlowMealDetailVO;
import com.njcn.device.pq.pojo.vo.TerminalDaliyFlowVO;
import com.njcn.device.pq.pojo.vo.TerminalMaintainVO;
import com.njcn.device.pq.service.IDevMealService;
import com.njcn.device.pq.service.IDevStrategyService;
import com.njcn.device.pq.service.IDeviceService;
import com.njcn.device.pq.service.TerminalMaintainService;
import com.njcn.device.pq.service.*;
import com.njcn.influxdb.param.InfluxDBPublicParam;
import com.njcn.influxdb.utils.InfluxDbUtils;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.enums.DicDataEnum;
import com.njcn.system.pojo.enums.StatisticsEnum;
import com.njcn.system.pojo.po.DictData;
import com.njcn.user.api.DeptFeignClient;
import com.njcn.web.utils.RequestUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.influxdb.dto.QueryResult;
@@ -39,7 +35,7 @@ import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.time.Instant;
import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -47,6 +43,7 @@ import java.util.stream.Stream;
/**
* pqs
* 终端运维
*
* @author cdf
* @date 2022/5/11
*/
@@ -69,6 +66,12 @@ public class TerminalMaintainServiceImpl implements TerminalMaintainService {
private final InfluxDbUtils influxDbUtils;
private final UserMapper userMapper;
private final DicDataFeignClient dicDataFeignClient;
private final IPqsTerminalLogsService iPqsTerminalLogsService;
@Override
public List<TerminalMaintainVO> getTerminalMainList(TerminalMainQueryParam terminalMainQueryParam) {
List<TerminalMaintainVO> resList = new ArrayList<>();
@@ -105,6 +108,7 @@ public class TerminalMaintainServiceImpl implements TerminalMaintainService {
}
return resList;
}
List<TerminalMaintainVO> dealTerminalData(List<TerminalMaintainVO> parent, List<TerminalMaintainVO> children) {
return parent.stream().peek(item -> item.setChildren(getChildren(item.getId(), children))).collect(Collectors.toList());
}
@@ -137,7 +141,69 @@ public class TerminalMaintainServiceImpl implements TerminalMaintainService {
device.setRunFlag(terminalParam.getRunFlag());
tem.add(device);
});
return iDeviceService.updateBatchById(tem);
QueryWrapper<Device> wrapper = new QueryWrapper<>();
List<String> idList = tem.stream().map(Device::getId).collect(Collectors.toList());
wrapper.in("id", idList);
List<Device> newList = iDeviceService.list(wrapper);
boolean b = iDeviceService.updateBatchById(tem);
//添加日志信息
if (b) {
List<Device> oldList = iDeviceService.list(wrapper);
for (Device device : newList) {
for (Device device1 : oldList) {
//如果设备id相同,终端运行状态不同
if (Objects.equals(device1.getId(), device.getId()) && !Objects.equals(device1.getRunFlag(), device.getRunFlag())) {
//获取用户信息
String userName = RequestUtil.getUsername();
String loginName = RequestUtil.getLoginName();
//String userName = "zbj";
//String loginName = "njcnser";
//获取上级信息
SuperDataParam superDataParam = userMapper.getDeviceSuper(device.getId());
StringBuilder sb = new StringBuilder();
sb.append(userName).append("修改了").append(superDataParam.getUrbanName()).append(" - ")
.append(superDataParam.getSubName()).append(" - ").append(superDataParam.getDevName()).append(" - 设备的参数;");
StringBuilder sbNew = new StringBuilder();
StringBuilder sbOld = new StringBuilder();
sbNew.append("操作历史,");
sbOld.append("修改后参数,");
String newFlag = "";
String oldFlag = "";
if (device.getRunFlag() == 0) {
newFlag = "投运";
}else if (device.getRunFlag() == 1){
newFlag = "热备用";
}else if (device.getRunFlag() == 2){
newFlag = "停运";
}
if (device1.getRunFlag() == 0) {
oldFlag = "投运";
}else if (device1.getRunFlag() == 1){
oldFlag = "热备用";
}else if (device1.getRunFlag() == 2){
oldFlag = "停运";
}
sbNew.append("终端运行状态: ").append(newFlag).append(";");
sbOld.append("终端运行状态: ").append(oldFlag).append(";");
sb.append(sbNew).append(sbOld);
HttpResult<DictData> dicDataByCode = dicDataFeignClient.getDicDataByCode(DicDataEnum.LINE_PARAMETER.getCode());
DictData data = dicDataByCode.getData();
//创建对象
PqsTerminalLogs terminalLogsNew = new PqsTerminalLogs();
terminalLogsNew.setObjIndex(device.getId());
terminalLogsNew.setTerminalDescribe(sb.toString());
terminalLogsNew.setCreateBy(loginName);
terminalLogsNew.setCreateTime(LocalDateTime.now());
terminalLogsNew.setTerminalType(data.getId());
terminalLogsNew.setState(1);
iPqsTerminalLogsService.save(terminalLogsNew);
}
}
}
}
return b;
}
@Override
@@ -236,7 +302,4 @@ public class TerminalMaintainServiceImpl implements TerminalMaintainService {
}
}