终端相关代码修改

This commit is contained in:
2022-07-01 15:13:47 +08:00
parent 19966fd1c7
commit 4eac5c3028
4 changed files with 79 additions and 75 deletions

View File

@@ -42,9 +42,9 @@ public class DeviceParam {
/**
* 通讯类型MMS、CLD字典表
*/
@ApiModelProperty(name = "comType",value = "通讯类型",required = true)
@ApiModelProperty(name = "frontType",value = "通讯类型",required = true)
@NotBlank(message = "通讯类型不能为空")
private String comType;
private String frontType;
@ApiModelProperty(name = "ip",value = "装置ip",required = true)
@NotBlank(message = "设备ip不能为空")

View File

@@ -64,7 +64,7 @@ public class TerminalBaseController extends BaseController {
@ApiOperation("终端新增操作")
@OperateInfo(operateType = OperateType.ADD, info = LogEnum.BUSINESS_MEDIUM)
@PostMapping("addTerminal")
public HttpResult addTerminal(@Valid @RequestBody AddTerminalParam addTerminalParam) {
public HttpResult<Object> addTerminal(@Valid @RequestBody AddTerminalParam addTerminalParam) {
String methodDescribe = getMethodDescribe("addTerminal");
//装置母线监测点相关检验
if (CollectionUtil.isNotEmpty(addTerminalParam.getDeviceParam())) {

View File

@@ -135,28 +135,23 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
if (Objects.nonNull(addTerminalParam.getProjectParam())) {
if (StrUtil.isBlank(projectIndex)) {
checkName(addTerminalParam, LineBaseEnum.PROJECT_LEVEL.getCode(), null);
Line line = assembleLine(addTerminalParam.getProjectParam().getName(),LineBaseEnum.PROJECT_LEVEL.getCode(),"0","0",addTerminalParam.getProjectParam().getSort());
Line line = assembleLine(addTerminalParam.getProjectParam().getName(), LineBaseEnum.PROJECT_LEVEL.getCode(), "0", "0", addTerminalParam.getProjectParam().getSort());
this.baseMapper.insert(line);
projectIndex = line.getId();
} else {
//throw new BusinessException(DeviceResponseEnum.REQUEST_DATA_ERROR);
}
}
//省份
if (Objects.nonNull(addTerminalParam.getProvinceParam())) {
if (StrUtil.isBlank(provinceIndex) && StrUtil.isNotBlank(projectIndex)) {
HttpResult<Area> provinceDic = areaFeignClient.selectIdArea(addTerminalParam.getProvinceParam().getName());
Area result = provinceDic.getData();
Area result = areaFeignClient.selectIdArea(addTerminalParam.getProvinceParam().getName()).getData();
if (Objects.isNull(result)) {
throw new BusinessException(DeviceResponseEnum.PROVINCE_GET_ERROR);
}
LogUtil.njcnDebug(log, "获取区域信息:{}", result.toString());
checkName(addTerminalParam, LineBaseEnum.PROVINCE_LEVEL.getCode(), projectIndex);
Line province = assembleLine(result.getId(),LineBaseEnum.PROVINCE_LEVEL.getCode(),projectIndex,projectIndex,addTerminalParam.getProvinceParam().getSort());
Line province = assembleLine(result.getId(), LineBaseEnum.PROVINCE_LEVEL.getCode(), projectIndex, projectIndex, addTerminalParam.getProvinceParam().getSort());
this.baseMapper.insert(province);
provinceIndex = province.getId();
} else {
//throw new BusinessException(DeviceResponseEnum.REQUEST_DATA_ERROR);
}
}
@@ -164,7 +159,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
if (Objects.nonNull(addTerminalParam.getGdInformationParam())) {
if (StrUtil.isBlank(gdIndex) && StrUtil.isNotBlank(provinceIndex)) {
checkName(addTerminalParam, LineBaseEnum.GD_LEVEL.getCode(), provinceIndex);
Line gdInformation = assembleLine(addTerminalParam.getGdInformationParam().getName(),LineBaseEnum.GD_LEVEL.getCode(),provinceIndex,projectIndex + StrUtil.COMMA + provinceIndex,addTerminalParam.getGdInformationParam().getSort());
Line gdInformation = assembleLine(addTerminalParam.getGdInformationParam().getName(), LineBaseEnum.GD_LEVEL.getCode(), provinceIndex, projectIndex + StrUtil.COMMA + provinceIndex, addTerminalParam.getGdInformationParam().getSort());
this.baseMapper.insert(gdInformation);
gdIndex = gdInformation.getId();
}
@@ -174,7 +169,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
if (Objects.nonNull(addTerminalParam.getSubStationParam())) {
if (StrUtil.isBlank(subIndex) && StrUtil.isNotBlank(gdIndex)) {
checkName(addTerminalParam, LineBaseEnum.SUB_LEVEL.getCode(), gdIndex);
Line subStation = assembleLine(addTerminalParam.getSubStationParam().getName(),LineBaseEnum.SUB_LEVEL.getCode(),gdIndex,projectIndex + StrUtil.COMMA + provinceIndex + StrUtil.COMMA + gdIndex,addTerminalParam.getSubStationParam().getSort());
Line subStation = assembleLine(addTerminalParam.getSubStationParam().getName(), LineBaseEnum.SUB_LEVEL.getCode(), gdIndex, projectIndex + StrUtil.COMMA + provinceIndex + StrUtil.COMMA + gdIndex, addTerminalParam.getSubStationParam().getSort());
this.baseMapper.insert(subStation);
subIndex = subStation.getId();
@@ -190,39 +185,21 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
//装置
if (Objects.nonNull(addTerminalParam.getDeviceParam())) {
LambdaQueryWrapper<Line> lineLambdaQueryWrapper = new LambdaQueryWrapper<>();
if (CollectionUtil.isNotEmpty(addTerminalParam.getDeviceParam()) && StrUtil.isNotBlank(subIndex)) {
List<String> devNameList = addTerminalParam.getDeviceParam().stream()
.filter((dev -> dev.getDevIndex() == null))
.map(DeviceParam::getName)
.collect(Collectors.toList());
LambdaQueryWrapper<Line> lineLambdaQueryWrapper = new LambdaQueryWrapper<>();
if (CollectionUtil.isNotEmpty(devNameList)) {
lineLambdaQueryWrapper.eq(Line::getPid, subIndex).in(Line::getName, devNameList);
List<Line> deviceListRes = this.list(lineLambdaQueryWrapper);
//校验当前变电站下是否有同名设备
if (CollectionUtil.isNotEmpty(deviceListRes)) {
List<String> stringList = deviceListRes.stream().map(Line::getName).collect(Collectors.toList());
throw new BusinessException(DeviceResponseEnum.DEVICE_SAME_NAME, String.join(";", stringList));
}
}
List<String> devIpList = addTerminalParam.getDeviceParam().stream().filter((dev -> dev.getDevIndex() == null)).map(DeviceParam::getIp).collect(Collectors.toList());
if (CollectionUtil.isNotEmpty(devIpList)) {
List<Device> deviceListIpRes = lineMapper.getDeviceBySubId(subIndex, devIpList);
//校验当前变电站下是否有相同ip
if (CollectionUtil.isNotEmpty(deviceListIpRes)) {
List<String> stringList = deviceListIpRes.stream().map(Device::getIp).collect(Collectors.toList());
throw new BusinessException(DeviceResponseEnum.DEVICE_SAME_IP, String.join(";", stringList));
}
}
//校验变电站下的装置名称ip是否重复
checkDev(addTerminalParam, subIndex,lineLambdaQueryWrapper);
for (DeviceParam deviceParam : addTerminalParam.getDeviceParam()) {
//用于记录装置id
String devIdIndex;
//监测点索引最后一位数
List<Integer> listId = Stream.of(1, 2, 3, 4, 5, 6).collect(Collectors.toList());
//监测点序号
List<Integer> listLineNum = Stream.of(1, 2, 3, 4, 5, 6).collect(Collectors.toList());
//母线序号
List<Integer> listVoltageNum = Stream.of(1, 2, 3, 4, 5, 6).collect(Collectors.toList());
//标识当前装置下的监测点数量
int lineNum = 0;
int lineNum = 0, voltageNum = 0;
//校验监测点总数不超过6
if (CollectionUtil.isNotEmpty(deviceParam.getSubVoltageParam())) {
for (SubVoltageParam subVoltage : deviceParam.getSubVoltageParam()) {
@@ -238,7 +215,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
if (StrUtil.isBlank(deviceParam.getDevIndex())) {
Line device = assembleLine(deviceParam.getName(),LineBaseEnum.DEVICE_LEVEL.getCode(),subIndex,projectIndex + StrUtil.COMMA + provinceIndex + StrUtil.COMMA + gdIndex + StrUtil.COMMA + subIndex,deviceParam.getSort());
Line device = assembleLine(deviceParam.getName(), LineBaseEnum.DEVICE_LEVEL.getCode(), subIndex, projectIndex + StrUtil.COMMA + provinceIndex + StrUtil.COMMA + gdIndex + StrUtil.COMMA + subIndex, deviceParam.getSort());
this.baseMapper.insert(device);
devIdIndex = device.getId();
@@ -256,8 +233,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
deviceDetail.setUpdateTime(LocalDateTime.now());
deviceMapper.insert(deviceDetail);
//装置功能
HttpResult<List<DictData>> httpResult = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.DEV_FUN.getName());
List<DictData> funList = httpResult.getData();
List<DictData> funList = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.DEV_FUN.getName()).getData();
if (CollectionUtil.isEmpty(funList)) {
throw new BusinessException(DeviceResponseEnum.DIC_GET_EMPTY);
}
@@ -281,7 +257,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
if (CollectionUtil.isNotEmpty(lineDetails)) {
lineNum = lineNum + lineDetails.size();
for (LineDetail sline : lineDetails) {
listId.removeIf(integer -> sline.getNum().equals(integer));
listLineNum.removeIf(integer -> sline.getNum().equals(integer));
}
}
}
@@ -317,17 +293,17 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
String subvIndex;
if (StrUtil.isBlank(subVoltageParam.getSubvIndex()) && StrUtil.isNotBlank(devIdIndex)) {
HttpResult<DictData> scaleRes = dicDataFeignClient.getDicDataById(subVoltageParam.getScale());
if (Objects.isNull(scaleRes.getData())) {
DictData scaleRes = dicDataFeignClient.getDicDataById(subVoltageParam.getScale()).getData();
if (Objects.isNull(scaleRes)) {
throw new BusinessException(DeviceResponseEnum.DIC_GET_EMPTY);
}
Line subVoltage = assembleLine(subVoltageParam.getName(),LineBaseEnum.SUB_V_LEVEL.getCode(),devIdIndex,projectIndex + StrUtil.COMMA + provinceIndex + StrUtil.COMMA + gdIndex + StrUtil.COMMA + subIndex + StrUtil.COMMA + devIdIndex,subVoltageParam.getSort());
Line subVoltage = assembleLine(subVoltageParam.getName(), LineBaseEnum.SUB_V_LEVEL.getCode(), devIdIndex, projectIndex + StrUtil.COMMA + provinceIndex + StrUtil.COMMA + gdIndex + StrUtil.COMMA + subIndex + StrUtil.COMMA + devIdIndex, subVoltageParam.getSort());
this.baseMapper.insert(subVoltage);
subvIndex = subVoltage.getId();
Voltage voltage = new Voltage();
voltage.setId(subVoltage.getId());
voltage.setNum(subVoltageParam.getNum());
voltage.setScale(scaleRes.getData().getId());
voltage.setScale(scaleRes.getId());
voltage.setModel(subVoltageParam.getModel());
voltageMapper.insert(voltage);
} else {
@@ -353,18 +329,18 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
for (LineParam lineParam : subVoltageParam.getLineParam()) {
if (StrUtil.isBlank(lineParam.getLineIndex()) && StrUtil.isNotBlank(subvIndex)) {
//判断监测点序号是否重复
if (CollectionUtil.isNotEmpty(listId)) {
if (!listId.contains(lineParam.getNum())) {
if (CollectionUtil.isNotEmpty(listLineNum)) {
if (!listLineNum.contains(lineParam.getNum())) {
throw new BusinessException(DeviceResponseEnum.LINE_NUM_USE, "监测点序号:" + lineParam.getNum());
}
} else {
throw new BusinessException(DeviceResponseEnum.DEVICE_LINE_BIG);
}
//删除与当前线路号重复的项
listId.removeIf(lineNo -> lineNo.equals(lineParam.getNum()));
listLineNum.removeIf(lineNo -> lineNo.equals(lineParam.getNum()));
HttpResult<DictData> httpScale = dicDataFeignClient.getDicDataById(subVoltageParam.getScale());
Float jcap = DeviceUtil.getJCAPByScale(httpScale.getData().getName());
Line line = assembleLine(lineParam.getName(),LineBaseEnum.LINE_LEVEL.getCode(),subvIndex,projectIndex + StrUtil.COMMA + provinceIndex + StrUtil.COMMA + gdIndex + StrUtil.COMMA + subIndex + StrUtil.COMMA + devIdIndex+ StrUtil.COMMA + subvIndex,lineParam.getSort());
Line line = assembleLine(lineParam.getName(), LineBaseEnum.LINE_LEVEL.getCode(), subvIndex, projectIndex + StrUtil.COMMA + provinceIndex + StrUtil.COMMA + gdIndex + StrUtil.COMMA + subIndex + StrUtil.COMMA + devIdIndex + StrUtil.COMMA + subvIndex, lineParam.getSort());
this.baseMapper.insert(line);
LineDetail lineDetail = new LineDetail();
BeanUtils.copyProperties(lineParam, lineDetail);
@@ -399,6 +375,34 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
return true;
}
/**
* 校验装置
*/
private void checkDev(AddTerminalParam addTerminalParam, String subIndex,LambdaQueryWrapper<Line> lineLambdaQueryWrapper) {
List<String> devNameList = addTerminalParam.getDeviceParam().stream().filter((dev -> dev.getDevIndex() == null)).map(DeviceParam::getName).collect(Collectors.toList());
if (CollectionUtil.isNotEmpty(devNameList)) {
lineLambdaQueryWrapper.eq(Line::getPid, subIndex).in(Line::getName, devNameList);
List<Line> deviceListRes = this.list(lineLambdaQueryWrapper);
//校验当前变电站下是否有同名设备
if (CollectionUtil.isNotEmpty(deviceListRes)) {
List<String> stringList = deviceListRes.stream().map(Line::getName).collect(Collectors.toList());
throw new BusinessException(DeviceResponseEnum.DEVICE_SAME_NAME, String.join(";", stringList));
}
}
List<String> devIpList = addTerminalParam.getDeviceParam().stream().filter((dev -> dev.getDevIndex() == null)).map(DeviceParam::getIp).collect(Collectors.toList());
if (CollectionUtil.isNotEmpty(devIpList)) {
List<Device> deviceListIpRes = lineMapper.getDeviceBySubId(subIndex, devIpList);
//校验当前变电站下的装置是否有相同ip
if (CollectionUtil.isNotEmpty(deviceListIpRes)) {
List<String> stringList = deviceListIpRes.stream().map(Device::getIp).collect(Collectors.toList());
throw new BusinessException(DeviceResponseEnum.DEVICE_SAME_IP, String.join(";", stringList));
}
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean updateTerminal(UpdateTerminalParam updateTerminalParam) {
@@ -657,30 +661,30 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
TerminalVO terminalVO = new TerminalVO();
if (obj.getLevel().equals(LineBaseEnum.PROJECT_LEVEL.getCode())) {
//点击项目节点
assProject(obj,terminalVO);
assProject(obj, terminalVO);
} else if (obj.getLevel().equals(LineBaseEnum.PROVINCE_LEVEL.getCode())) {
//点击省份节点
Line project = this.getById(obj.getPid());
assProject(project,terminalVO);
assProvince(obj,terminalVO);
assProject(project, terminalVO);
assProvince(obj, terminalVO);
} else if (obj.getLevel().equals(LineBaseEnum.GD_LEVEL.getCode())) {
//点击供电公司节点
assGd(obj,terminalVO);
assGd(obj, terminalVO);
Line province = this.getById(obj.getPid());
assProvince(province,terminalVO);
assProvince(province, terminalVO);
Line project = this.getById(province.getPid());
assProject(project,terminalVO);
assProject(project, terminalVO);
} else if (obj.getLevel().equals(LineBaseEnum.SUB_LEVEL.getCode())) {
//变电站
assSub(obj,terminalVO);
assSub(obj, terminalVO);
Line gdInformation = this.getById(obj.getPid());
assGd(gdInformation,terminalVO);
assGd(gdInformation, terminalVO);
Line province = this.getById(gdInformation.getPid());
assProvince(province,terminalVO);
assProvince(province, terminalVO);
Line project = this.getById(province.getPid());
assProject(project,terminalVO);
assProject(project, terminalVO);
//展示所有下级装置母线监测点
@@ -1255,8 +1259,8 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
}
@Override
public List<TerminalBaseVO> getDeviceByIdOnOrOff(List<String> devIds, DeviceType deviceType,Integer comFlag){
return this.baseMapper.getDeviceByIdOnOrOff(devIds, deviceType,comFlag);
public List<TerminalBaseVO> getDeviceByIdOnOrOff(List<String> devIds, DeviceType deviceType, Integer comFlag) {
return this.baseMapper.getDeviceByIdOnOrOff(devIds, deviceType, comFlag);
}
@Override
@@ -1613,7 +1617,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
}
lineDetailMapper.insert(lineDetail);
LineBak lineBak= new LineBak();
LineBak lineBak = new LineBak();
lineBak.setId(temp.getId());
lineBak.setLineId(oracleTerminalExcel.getId());
lineBakService.save(lineBak);
@@ -1931,7 +1935,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
return line;
}
private Line assembleLine(String name, Integer level, String pid, String pids,Integer sort) {
private Line assembleLine(String name, Integer level, String pid, String pids, Integer sort) {
Line line = new Line();
line.setName(name);
line.setLevel(level);
@@ -2089,16 +2093,16 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
Line subStation = this.getById(subId);
if (Objects.nonNull(subStation)) {
assSub(subStation,terminalVO);
assSub(subStation, terminalVO);
Line gdInformation = this.getById(subStation.getPid());
assGd(gdInformation,terminalVO);
assGd(gdInformation, terminalVO);
Line province = this.getById(gdInformation.getPid());
assProvince(province,terminalVO);
assProvince(province, terminalVO);
Line project = this.getById(province.getPid());
assProject(project,terminalVO);
assProject(project, terminalVO);
return terminalVO;
} else {
@@ -2110,7 +2114,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
/**
* 组装项目
*/
private void assProject(Line project,TerminalVO terminalVO){
private void assProject(Line project, TerminalVO terminalVO) {
ProjectVO projectVO = new ProjectVO();
projectVO.setProjectIndex(project.getId());
projectVO.setName(project.getName());
@@ -2122,7 +2126,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
/**
* 组装省份
*/
private void assProvince(Line province,TerminalVO terminalVO){
private void assProvince(Line province, TerminalVO terminalVO) {
ProvinceVO provinceVO = new ProvinceVO();
provinceVO.setProvinceIndex(province.getId());
provinceVO.setName(province.getName());
@@ -2133,7 +2137,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
/**
* 组装供电公司
*/
private void assGd(Line gdInformation,TerminalVO terminalVO){
private void assGd(Line gdInformation, TerminalVO terminalVO) {
GdInformationVO gdInformationVO = new GdInformationVO();
gdInformationVO.setGdIndex(gdInformation.getId());
gdInformationVO.setName(gdInformation.getName());
@@ -2144,7 +2148,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
/**
* 组装变电站
*/
private void assSub(Line subStation,TerminalVO terminalVO){
private void assSub(Line subStation, TerminalVO terminalVO) {
Substation substation = substationMapper.selectById(subStation.getId());
SubStationVO subStationVO = new SubStationVO();
subStationVO.setSubIndex(subStation.getId());