模板解析字典功能

This commit is contained in:
2023-05-29 13:29:35 +08:00
parent 103106ce65
commit 18aa374215
40 changed files with 802 additions and 180 deletions

View File

@@ -30,6 +30,11 @@
<artifactId>algorithm-api</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.njcn</groupId>
<artifactId>cs-system-api</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.njcn</groupId>
<artifactId>system-api</artifactId>

View File

@@ -1,6 +1,6 @@
package com.njcn.access.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.access.pojo.po.CsCtrlPO;
/**
@@ -11,6 +11,6 @@ import com.njcn.access.pojo.po.CsCtrlPO;
* @author xuyang
* @since 2023-05-19
*/
public interface CsCtrlMapper extends BaseMapper<CsCtrlPO> {
public interface CsCtrlMapper extends MppBaseMapper<CsCtrlPO> {
}

View File

@@ -0,0 +1,16 @@
package com.njcn.access.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.access.pojo.po.CsDataArrayPO;
/**
* <p>
* 详细数据表 Mapper 接口
* </p>
*
* @author xuyang
* @since 2023-05-23
*/
public interface CsDataArrayMapper extends BaseMapper<CsDataArrayPO> {
}

View File

@@ -0,0 +1,16 @@
package com.njcn.access.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.access.pojo.po.CsDataSetPO;
/**
* <p>
* 数据集表 Mapper 接口
* </p>
*
* @author xuyang
* @since 2023-05-23
*/
public interface CsDataSetMapper extends BaseMapper<CsDataSetPO> {
}

View File

@@ -1,6 +1,7 @@
package com.njcn.access.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.access.pojo.po.CsParmPO;
/**
@@ -11,6 +12,6 @@ import com.njcn.access.pojo.po.CsParmPO;
* @author xuyang
* @since 2023-05-19
*/
public interface CsParmMapper extends BaseMapper<CsParmPO> {
public interface CsParmMapper extends MppBaseMapper<CsParmPO> {
}

View File

@@ -1,6 +1,6 @@
package com.njcn.access.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.access.pojo.po.CsSetPO;
/**
@@ -11,6 +11,6 @@ import com.njcn.access.pojo.po.CsSetPO;
* @author xuyang
* @since 2023-05-19
*/
public interface CsSetMapper extends BaseMapper<CsSetPO> {
public interface CsSetMapper extends MppBaseMapper<CsSetPO> {
}

View File

@@ -1,5 +1,9 @@
package com.njcn.access.service;
import com.njcn.access.pojo.po.CsCtrlPO;
import java.util.List;
/**
* <p>
* 控制表 服务类
@@ -10,4 +14,6 @@ package com.njcn.access.service;
*/
public interface ICsCtrlService {
void saveData(List<CsCtrlPO> list);
}

View File

@@ -0,0 +1,19 @@
package com.njcn.access.service;
import com.njcn.access.pojo.po.CsDataArrayPO;
import java.util.List;
/**
* <p>
* 详细数据表 服务类
* </p>
*
* @author xuyang
* @since 2023-05-23
*/
public interface ICsDataArrayService {
void saveData(List<CsDataArrayPO> list);
}

View File

@@ -0,0 +1,17 @@
package com.njcn.access.service;
import com.njcn.access.pojo.po.CsDataSetPO;
/**
* <p>
* 数据集表 服务类
* </p>
*
* @author xuyang
* @since 2023-05-23
*/
public interface ICsDataSetService {
CsDataSetPO addOne(CsDataSetPO csDataSetPo);
}

View File

@@ -15,4 +15,6 @@ import java.util.List;
public interface ICsEpdPqdService {
void saveData(List<CsEpdPqdPO> list);
// CsEpdPqdPO findOne(Integer idx);
}

View File

@@ -1,5 +1,9 @@
package com.njcn.access.service;
import com.njcn.access.pojo.po.CsParmPO;
import java.util.List;
/**
* <p>
* 参数表 服务类
@@ -10,4 +14,6 @@ package com.njcn.access.service;
*/
public interface ICsParmService {
void saveData(List<CsParmPO> list);
}

View File

@@ -1,5 +1,9 @@
package com.njcn.access.service;
import com.njcn.access.pojo.po.CsSetPO;
import java.util.List;
/**
* <p>
* 设备定值数据表 服务类
@@ -10,4 +14,6 @@ package com.njcn.access.service;
*/
public interface ICsSetService {
void saveData(List<CsSetPO> list);
}

View File

@@ -1,11 +1,13 @@
package com.njcn.access.service.serviceImpl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.access.mapper.CsCtrlMapper;
import com.njcn.access.pojo.po.CsCtrlPO;
import com.njcn.access.service.ICsCtrlService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* <p>
* 控制表 服务实现类
@@ -15,6 +17,10 @@ import org.springframework.stereotype.Service;
* @since 2023-05-19
*/
@Service
public class CsCtrlServiceImpl extends ServiceImpl<CsCtrlMapper, CsCtrlPO> implements ICsCtrlService {
public class CsCtrlServiceImpl extends MppServiceImpl<CsCtrlMapper, CsCtrlPO> implements ICsCtrlService {
@Override
public void saveData(List<CsCtrlPO> list) {
this.saveOrUpdateBatchByMultiId(list,100);
}
}

View File

@@ -0,0 +1,26 @@
package com.njcn.access.service.serviceImpl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.access.mapper.CsDataArrayMapper;
import com.njcn.access.pojo.po.CsDataArrayPO;
import com.njcn.access.service.ICsDataArrayService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* <p>
* 详细数据表 服务实现类
* </p>
*
* @author xuyang
* @since 2023-05-23
*/
@Service
public class CsDataArrayServiceImpl extends ServiceImpl<CsDataArrayMapper, CsDataArrayPO> implements ICsDataArrayService {
@Override
public void saveData(List<CsDataArrayPO> list) {
this.saveBatch(list,100);
}
}

View File

@@ -0,0 +1,25 @@
package com.njcn.access.service.serviceImpl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.access.mapper.CsDataSetMapper;
import com.njcn.access.pojo.po.CsDataSetPO;
import com.njcn.access.service.ICsDataSetService;
import org.springframework.stereotype.Service;
/**
* <p>
* 数据集表 服务实现类
* </p>
*
* @author xuyang
* @since 2023-05-23
*/
@Service
public class CsDataSetServiceImpl extends ServiceImpl<CsDataSetMapper, CsDataSetPO> implements ICsDataSetService {
@Override
public CsDataSetPO addOne(CsDataSetPO csDataSetPo) {
this.save(csDataSetPo);
return csDataSetPo;
}
}

View File

@@ -1,12 +1,16 @@
package com.njcn.access.service.serviceImpl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.access.enums.AccessResponseEnum;
import com.njcn.access.mapper.CsEpdPqdMapper;
import com.njcn.access.pojo.po.CsEpdPqdPO;
import com.njcn.access.service.ICsEpdPqdService;
import com.njcn.common.pojo.exception.BusinessException;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Objects;
/**
* <p>
@@ -23,4 +27,15 @@ public class CsEpdPqdServiceImpl extends MppServiceImpl<CsEpdPqdMapper, CsEpdPqd
public void saveData(List<CsEpdPqdPO> list) {
this.saveOrUpdateBatchByMultiId(list,100);
}
// @Override
// public CsEpdPqdPO findOne(Integer idx) {
// LambdaQueryWrapper<CsEpdPqdPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
// lambdaQueryWrapper.eq(CsEpdPqdPO::getClassId, DataType.POWER_DATA).eq(CsEpdPqdPO::getIdx,idx);
// CsEpdPqdPO csEpdPqdPo = this.baseMapper.selectOne(lambdaQueryWrapper);
// if (Objects.isNull(csEpdPqdPo)) {
// throw new BusinessException(AccessResponseEnum.DICT_MISSING);
// }
// return csEpdPqdPo;
// }
}

View File

@@ -21,6 +21,6 @@ public class CsEvtParmServiceImpl extends MppServiceImpl<CsEvtParmMapper, CsEvtP
@Override
public boolean saveData(List<CsEvtParmPO> list) {
return this.saveOrUpdateBatchByMultiId(list,100);
return this.saveOrUpdateBatchByMultiId(list,1000);
}
}

View File

@@ -1,11 +1,14 @@
package com.njcn.access.service.serviceImpl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.access.mapper.CsParmMapper;
import com.njcn.access.pojo.po.CsParmPO;
import com.njcn.access.service.ICsParmService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* <p>
* 参数表 服务实现类
@@ -15,6 +18,10 @@ import org.springframework.stereotype.Service;
* @since 2023-05-19
*/
@Service
public class CsParmServiceImpl extends ServiceImpl<CsParmMapper, CsParmPO> implements ICsParmService {
public class CsParmServiceImpl extends MppServiceImpl<CsParmMapper, CsParmPO> implements ICsParmService {
@Override
public void saveData(List<CsParmPO> list) {
this.saveOrUpdateBatchByMultiId(list,100);
}
}

View File

@@ -1,11 +1,14 @@
package com.njcn.access.service.serviceImpl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.access.mapper.CsSetMapper;
import com.njcn.access.pojo.po.CsSetPO;
import com.njcn.access.service.ICsSetService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* <p>
* 设备定值数据表 服务实现类
@@ -15,6 +18,10 @@ import org.springframework.stereotype.Service;
* @since 2023-05-19
*/
@Service
public class CsSetServiceImpl extends ServiceImpl<CsSetMapper, CsSetPO> implements ICsSetService {
public class CsSetServiceImpl extends MppServiceImpl<CsSetMapper, CsSetPO> implements ICsSetService {
@Override
public void saveData(List<CsSetPO> list) {
this.saveOrUpdateBatchByMultiId(list,100);
}
}

View File

@@ -1,7 +1,10 @@
package com.njcn.access.service.serviceImpl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DatePattern;
import com.alibaba.nacos.shaded.com.google.gson.Gson;
import com.njcn.access.enums.AccessResponseEnum;
import com.njcn.access.enums.TypeEnum;
import com.njcn.access.pojo.dto.data.*;
import com.njcn.access.pojo.dto.devModel.*;
import com.njcn.access.pojo.param.DevModelParam;
@@ -11,24 +14,32 @@ import com.njcn.access.utils.JsonUtil;
import com.njcn.algorithm.api.CsDictFeignClient;
import com.njcn.algorithm.api.DevModelFeignClient;
import com.njcn.algorithm.pojo.dto.CsDictDTO;
import com.njcn.algorithm.pojo.param.CsDevModelAddParm;
import com.njcn.algorithm.pojo.po.CsDevModelPO;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.oss.utils.FileStorageUtil;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.api.EpdFeignClient;
import com.njcn.system.enums.DicDataEnum;
import com.njcn.system.pojo.param.EleEpdPqdParam;
import com.njcn.system.pojo.po.DictData;
import com.njcn.system.pojo.po.EleEpdPqd;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.io.IOException;
import java.sql.SQLOutput;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* 类的介绍:
@@ -78,6 +89,11 @@ public class DevModelServiceImpl implements IDevModelService {
private final ICsSetService csSetService;
private final ICsDataSetService csDataSetService;
private final ICsDataArrayService csDataArrayService;
private final EpdFeignClient epdFeignClient;
@Override
@Transactional(rollbackFor = Exception.class)
@@ -102,18 +118,6 @@ public class DevModelServiceImpl implements IDevModelService {
}
}
/**
* 新增cs_data_set
*/
// public void insertDataSet(List<DataSetDTO> dataSet,String id){
// dataSet.forEach(item->{
// DataSetDTO dataSetDTO = new DataSetDTO();
//
//
//
// });
// }
/**
* 新增直连设备、网关模板信息
*/
@@ -151,7 +155,7 @@ public class DevModelServiceImpl implements IDevModelService {
// if (!Objects.isNull(csDevModelPo)){
// throw new BusinessException(AccessResponseEnum.MODEL_REPEAT);
// }
// //录入基础模板数据
// /**录入基础模板数据*/
// CsDevModelAddParm csDevModelAddParm = new CsDevModelAddParm();
// csDevModelAddParm.setDevType(devType);
// csDevModelAddParm.setName(devType);
@@ -168,180 +172,467 @@ public class DevModelServiceImpl implements IDevModelService {
// csDevModelAddParm.setSoftInfoId(softInfoId);
// }
// devModelFeignClient.addDevModel(csDevModelAddParm);
//录入字典数据
// /**录入数据模型列表*/
//录入EPD
List<EpdPqdDto> epdDto = devModDto.getDataList().get(0).getEpdDto();
if (!CollectionUtils.isEmpty(epdDto)){
insertEpdPqd(epdDto);
DictData dictData = dicDataFeignClient.getDicDataByCode(DicDataEnum.EPD.getCode()).getData();
if (StringUtils.isBlank(dictData.getId())){
throw new BusinessException(AccessResponseEnum.EPD_DICT_MISSING);
}
insertEpdPqd(epdDto,dictData);
}
//录入PQD
List<EpdPqdDto> pqdDto = devModDto.getDataList().get(0).getPqdDto();
if (!CollectionUtils.isEmpty(pqdDto)){
insertEpdPqd(pqdDto);
DictData dictData = dicDataFeignClient.getDicDataByCode(DicDataEnum.PQD.getCode()).getData();
if (StringUtils.isBlank(dictData.getId())){
throw new BusinessException(AccessResponseEnum.PQD_DICT_MISSING);
}
insertEpdPqd(pqdDto,dictData);
}
//录入Bmd
List<BmdDto> bmdDto = devModDto.getDataList().get(0).getBmdDto();
if (!CollectionUtils.isEmpty(bmdDto)){
insertBmd(bmdDto);
DictData dictData = dicDataFeignClient.getDicDataByCode(DicDataEnum.BMD.getCode()).getData();
if (StringUtils.isBlank(dictData.getId())){
throw new BusinessException(AccessResponseEnum.BMD_DICT_MISSING);
}
insertBmd(bmdDto,dictData);
}
//录入Evt
List<EvtDto> evtDto = devModDto.getDataList().get(0).getEvtDto();
if (!CollectionUtils.isEmpty(evtDto)){
insertEvt(evtDto);
DictData dictData = dicDataFeignClient.getDicDataByCode(DicDataEnum.EVT.getCode()).getData();
if (StringUtils.isBlank(dictData.getId())){
throw new BusinessException(AccessResponseEnum.Evt_DICT_MISSING);
}
insertEvt(evtDto,dictData);
}
//录入Alm
List<AlmDto> almDto = devModDto.getDataList().get(0).getAlmDto();
if (!CollectionUtils.isEmpty(almDto)){
insertAlm(almDto);
DictData dictData = dicDataFeignClient.getDicDataByCode(DicDataEnum.ALM.getCode()).getData();
if (StringUtils.isBlank(dictData.getId())){
throw new BusinessException(AccessResponseEnum.ALM_DICT_MISSING);
}
insertAlm(almDto,dictData);
}
//录入Alm
//录入Sts
List<StsDto> stsDto = devModDto.getDataList().get(0).getStsDto();
if (!CollectionUtils.isEmpty(stsDto)){
insertSts(stsDto);
DictData dictData = dicDataFeignClient.getDicDataByCode(DicDataEnum.STS.getCode()).getData();
if (StringUtils.isBlank(dictData.getId())){
throw new BusinessException(AccessResponseEnum.STS_DICT_MISSING);
}
insertSts(stsDto,dictData);
}
//录入Di
List<DiDto> diDto = devModDto.getDataList().get(0).getDiDto();
if (!CollectionUtils.isEmpty(diDto)){
insertDi(diDto);
DictData dictData = dicDataFeignClient.getDicDataByCode(DicDataEnum.DI.getCode()).getData();
if (StringUtils.isBlank(dictData.getId())){
throw new BusinessException(AccessResponseEnum.DI_DICT_MISSING);
}
insertDi(diDto,dictData);
}
//录入Do
List<DoDto> doDto = devModDto.getDataList().get(0).getDoDto();
if (!CollectionUtils.isEmpty(doDto)){
insertDo(doDto);
DictData dictData = dicDataFeignClient.getDicDataByCode(DicDataEnum.DO.getCode()).getData();
if (StringUtils.isBlank(dictData.getId())){
throw new BusinessException(AccessResponseEnum.DO_DICT_MISSING);
}
insertDo(doDto,dictData);
}
//录入Parm
List<ParmDto> parmDto = devModDto.getDataList().get(0).getParmDto();
if (!CollectionUtils.isEmpty(parmDto)){
DictData dictData = dicDataFeignClient.getDicDataByCode(DicDataEnum.PARM.getCode()).getData();
if (StringUtils.isBlank(dictData.getId())){
throw new BusinessException(AccessResponseEnum.PARM_DICT_MISSING);
}
insertParm(parmDto,dictData);
}
//录入Set
List<SetDto> setDto = devModDto.getDataList().get(0).getSetDto();
if (!CollectionUtils.isEmpty(setDto)){
DictData dictData = dicDataFeignClient.getDicDataByCode(DicDataEnum.SET.getCode()).getData();
if (StringUtils.isBlank(dictData.getId())){
throw new BusinessException(AccessResponseEnum.SET_DICT_MISSING);
}
insertSet(setDto,dictData);
}
//录入InSet
List<InSetDto> inSetDto = devModDto.getDataList().get(0).getInSetDto();
if (!CollectionUtils.isEmpty(inSetDto)){
DictData dictData = dicDataFeignClient.getDicDataByCode(DicDataEnum.INSET.getCode()).getData();
if (StringUtils.isBlank(dictData.getId())){
throw new BusinessException(AccessResponseEnum.INSET_DICT_MISSING);
}
insertInSet(inSetDto,dictData);
}
//录入Ctrl
List<CtrlDto> ctrlDto = devModDto.getDataList().get(0).getCtrlDto();
if (!CollectionUtils.isEmpty(ctrlDto)){
DictData dictData = dicDataFeignClient.getDicDataByCode(DicDataEnum.CTRL.getCode()).getData();
if (StringUtils.isBlank(dictData.getId())){
throw new BusinessException(AccessResponseEnum.CTRL_DICT_MISSING);
}
insertCtrl(ctrlDto,dictData);
}
// /**录入数据集*/
// List<DataSetDto> dataSetDtoList = devModDto.getDataSetDtoList();
// if (!CollectionUtils.isEmpty(dataSetDtoList)){
// insertDataSet(dataSetDtoList,"60b55915717c0cfd8935e04633657034");
// }
// /**录入逻辑子设备序列*/
// List<ClDevDto> clDevDtoList = devModDto.getClDevDtoList();
}
/**
* EPD、PQD字典录入
*/
public void insertEpdPqd(List<EpdPqdDto> epdPqdDto) {
List<CsEpdPqdPO> list = epdPqdDto.stream().map(item->{
CsEpdPqdPO csEpdPqdPo = new CsEpdPqdPO();
BeanUtils.copyProperties(item,csEpdPqdPo);
CsDictDTO csDictDTO = csDictFeignClient.getOwnAndFatherData(item.getName()).getData();
public void insertEpdPqd(List<EpdPqdDto> epdPqdDto,DictData dictData) {
List<EleEpdPqd> dictList = epdFeignClient.dictMarkByDataType(dictData.getId()).getData();
List<EleEpdPqdParam> paramList = epdPqdDto.stream().map(item->{
EleEpdPqdParam param = new EleEpdPqdParam();
BeanUtils.copyProperties(item,param);
if (Objects.isNull(item.getPhase())){
csEpdPqdPo.setPhase("M");
param.setPhase("M");
}
if (!CollectionUtils.isEmpty(item.getStatMethod())){
csEpdPqdPo.setStatMethod(item.getStatMethod().stream().map(String::valueOf).collect(Collectors.joining(",")));
param.setStatMethod(item.getStatMethod().stream().map(String::valueOf).collect(Collectors.joining(",")));
}
csEpdPqdPo.setAnotherName(csDictDTO.getName());
csEpdPqdPo.setClassId(csDictDTO.getFatherName());
return csEpdPqdPo;
param.setShowName(item.getName());
param.setDataType(dictData.getId());
param.setClassId(dictData.getValue());
param.setSort(0);
param.setSystemType("");
return param;
}).collect(Collectors.toList());
csEpdPqdService.saveData(list);
if (!CollectionUtils.isEmpty(dictList)){
//两个集合取差集
paramList = paramList.stream().filter(item->!dictList.stream().map(item2->item2.getName()+"-"+item2.getPhase()+"-"+item2.getDataType()).collect(Collectors.toList()).contains(item.getName()+"-"+item.getPhase()+"-"+item.getDataType())).collect(Collectors.toList());
}
if (!CollectionUtils.isEmpty(paramList)){
epdFeignClient.addByModel(paramList);
}
}
/**
* Bmd字典录入
*/
public void insertBmd(List<BmdDto> bmdDto) {
List<CsBmdPO> list = bmdDto.stream().map(item->{
CsBmdPO csBmdPo = new CsBmdPO();
BeanUtils.copyProperties(item,csBmdPo);
CsDictDTO csDictDTO = csDictFeignClient.getOwnAndFatherData(item.getName()).getData();
public void insertBmd(List<BmdDto> bmdDto,DictData dictData) {
List<EleEpdPqd> dictList = epdFeignClient.dictMarkByDataType(dictData.getId()).getData();
List<EleEpdPqdParam> paramList = bmdDto.stream().map(item->{
EleEpdPqdParam param = new EleEpdPqdParam();
BeanUtils.copyProperties(item,param);
if (Objects.isNull(item.getPhase())){
csBmdPo.setPhase("M");
param.setPhase("M");
}
if (!CollectionUtils.isEmpty(item.getStatMethod())){
csBmdPo.setStatMethod(item.getStatMethod().stream().map(String::valueOf).collect(Collectors.joining(",")));
param.setStatMethod(item.getStatMethod().stream().map(String::valueOf).collect(Collectors.joining(",")));
}
csBmdPo.setAnotherName(csDictDTO.getName());
csBmdPo.setClassId(csDictDTO.getFatherName());
return csBmdPo;
param.setShowName(item.getName());
param.setDataType(dictData.getId());
param.setClassId(dictData.getValue());
param.setSort(0);
param.setSystemType("");
return param;
}).collect(Collectors.toList());
csBmdService.saveData(list);
if (!CollectionUtils.isEmpty(dictList)){
//两个集合取差集
paramList = paramList.stream().filter(item->!dictList.stream().map(item2->item2.getName()+"-"+item2.getPhase()+"-"+item2.getDataType()).collect(Collectors.toList()).contains(item.getName()+"-"+item.getPhase()+"-"+item.getDataType())).collect(Collectors.toList());
}
if (!CollectionUtils.isEmpty(paramList)){
epdFeignClient.addByModel(paramList);
}
}
/**
* Evt字典录入
*/
public void insertEvt(List<EvtDto> evtDto) {
List<CsEvtParmPO> parmList = new ArrayList<>();
List<CsEvtPO> evtList = evtDto.stream().map(item->{
CsEvtPO csEvtPo = new CsEvtPO();
BeanUtils.copyProperties(item,csEvtPo);
CsDictDTO csDictDTO = csDictFeignClient.getOwnAndFatherData(item.getName()).getData();
csEvtPo.setAnotherName(csDictDTO.getName());
csEvtPo.setClassId(csDictDTO.getFatherName());
return csEvtPo;
public void insertEvt(List<EvtDto> evtDto,DictData dictData) {
Map<String,List<EvtParamDto>> map = new HashMap<>();
List<EleEpdPqd> dictList = epdFeignClient.dictMarkByDataType(dictData.getId()).getData();
List<EleEpdPqdParam> paramList = evtDto.stream().map(item->{
EleEpdPqdParam param = new EleEpdPqdParam();
BeanUtils.copyProperties(item,param);
param.setPhase("M");
param.setShowName(item.getName());
param.setDataType(dictData.getId());
param.setClassId(dictData.getValue());
param.setSort(0);
param.setSystemType("");
map.put(item.getName(),item.getParam());
return param;
}).collect(Collectors.toList());
Map<String,String> map = csEvtService.saveData(evtList);
evtDto.forEach(item->{
List<EvtParamDto> evtParamDtoList = item.getParam();
if (!CollectionUtils.isEmpty(evtParamDtoList)){
evtParamDtoList.forEach(item2->{
CsEvtParmPO csEvtParmPo = new CsEvtParmPO();
BeanUtils.copyProperties(item2,csEvtParmPo);
csEvtParmPo.setPid(map.get(item.getName()));
parmList.add(csEvtParmPo);
});
}
});
if (!CollectionUtils.isEmpty(parmList)){
csEvtParmService.saveData(parmList);
if (!CollectionUtils.isEmpty(dictList)){
//两个集合取差集
paramList = paramList.stream().filter(item->!dictList.stream().map(item2->item2.getName()+"-"+item2.getPhase()+"-"+item2.getDataType()).collect(Collectors.toList()).contains(item.getName()+"-"+item.getPhase()+"-"+item.getDataType())).collect(Collectors.toList());
}
if (!CollectionUtils.isEmpty(paramList)){
List<CsEvtParmPO> evtParmList = new ArrayList<>();
Map<String,String> map2 = epdFeignClient.addEvt(paramList).getData();
paramList.forEach(item->{
List<EvtParamDto> list = map.get(item.getName());
if (!CollectionUtils.isEmpty(list)){
list.forEach(item2->{
CsEvtParmPO csEvtParmPo = new CsEvtParmPO();
BeanUtils.copyProperties(item2,csEvtParmPo);
csEvtParmPo.setPid(map2.get(item.getName()));
evtParmList.add(csEvtParmPo);
});
}
});
csEvtParmService.saveData(evtParmList);
}
}
/**
* Alm字典录入
*/
public void insertAlm(List<AlmDto> almDto) {
List<CsAlmPO> list = almDto.stream().map(item->{
CsAlmPO csAlmPo = new CsAlmPO();
BeanUtils.copyProperties(item,csAlmPo);
CsDictDTO csDictDTO = csDictFeignClient.getOwnAndFatherData(item.getName()).getData();
csAlmPo.setAnotherName(csDictDTO.getName());
csAlmPo.setClassId(csDictDTO.getFatherName());
return csAlmPo;
public void insertAlm(List<AlmDto> almDto,DictData dictData) {
List<EleEpdPqd> dictList = epdFeignClient.dictMarkByDataType(dictData.getId()).getData();
List<EleEpdPqdParam> paramList = almDto.stream().map(item->{
EleEpdPqdParam param = new EleEpdPqdParam();
BeanUtils.copyProperties(item,param);
param.setPhase("M");
param.setShowName(item.getName());
param.setDataType(dictData.getId());
param.setClassId(dictData.getValue());
param.setSort(0);
param.setSystemType("");
return param;
}).collect(Collectors.toList());
csAlmService.saveData(list);
if (!CollectionUtils.isEmpty(dictList)){
//两个集合取差集
paramList = paramList.stream().filter(item->!dictList.stream().map(item2->item2.getName()+"-"+item2.getPhase()+"-"+item2.getDataType()).collect(Collectors.toList()).contains(item.getName()+"-"+item.getPhase()+"-"+item.getDataType())).collect(Collectors.toList());
}
if (!CollectionUtils.isEmpty(paramList)){
epdFeignClient.addByModel(paramList);
}
}
/**
* Sts字典录入
*/
public void insertSts(List<StsDto> stsDto) {
List<CsStsPO> list = stsDto.stream().map(item->{
CsStsPO csStsPo = new CsStsPO();
BeanUtils.copyProperties(item,csStsPo);
CsDictDTO csDictDTO = csDictFeignClient.getOwnAndFatherData(item.getName()).getData();
csStsPo.setAnotherName(csDictDTO.getName());
csStsPo.setClassId(csDictDTO.getFatherName());
return csStsPo;
public void insertSts(List<StsDto> stsDto,DictData dictData) {
List<EleEpdPqd> dictList = epdFeignClient.dictMarkByDataType(dictData.getId()).getData();
List<EleEpdPqdParam> paramList = stsDto.stream().map(item->{
EleEpdPqdParam param = new EleEpdPqdParam();
BeanUtils.copyProperties(item,param);
param.setPhase("M");
param.setShowName(item.getName());
param.setDataType(dictData.getId());
param.setClassId(dictData.getValue());
param.setSort(0);
param.setSystemType("");
return param;
}).collect(Collectors.toList());
csStsService.saveData(list);
if (!CollectionUtils.isEmpty(dictList)){
//两个集合取差集
paramList = paramList.stream().filter(item->!dictList.stream().map(item2->item2.getName()+"-"+item2.getPhase()+"-"+item2.getDataType()).collect(Collectors.toList()).contains(item.getName()+"-"+item.getPhase()+"-"+item.getDataType())).collect(Collectors.toList());
}
if (!CollectionUtils.isEmpty(paramList)){
epdFeignClient.addByModel(paramList);
}
}
/**
* Di字典录入
*/
public void insertDi(List<DiDto> diDto) {
List<CsDiPO> list = diDto.stream().map(item->{
CsDiPO csDiPo = new CsDiPO();
BeanUtils.copyProperties(item,csDiPo);
CsDictDTO csDictDTO = csDictFeignClient.getOwnAndFatherData(item.getName()).getData();
csDiPo.setAnotherName(csDictDTO.getName());
csDiPo.setClassId(csDictDTO.getFatherName());
return csDiPo;
public void insertDi(List<DiDto> diDto,DictData dictData) {
List<EleEpdPqd> dictList = epdFeignClient.dictMarkByDataType(dictData.getId()).getData();
List<EleEpdPqdParam> paramList = diDto.stream().map(item->{
EleEpdPqdParam param = new EleEpdPqdParam();
BeanUtils.copyProperties(item,param);
param.setPhase("M");
param.setShowName(item.getName());
param.setDataType(dictData.getId());
param.setClassId(dictData.getValue());
param.setSort(0);
param.setSystemType("");
return param;
}).collect(Collectors.toList());
csDiService.saveData(list);
if (!CollectionUtils.isEmpty(dictList)){
//两个集合取差集
paramList = paramList.stream().filter(item->!dictList.stream().map(item2->item2.getName()+"-"+item2.getPhase()+"-"+item2.getDataType()).collect(Collectors.toList()).contains(item.getName()+"-"+item.getPhase()+"-"+item.getDataType())).collect(Collectors.toList());
}
if (!CollectionUtils.isEmpty(paramList)){
epdFeignClient.addByModel(paramList);
}
}
/**
* Do字典录入
*/
public void insertDo(List<DoDto> doDto) {
List<CsDoPO> list = doDto.stream().map(item->{
CsDoPO csDoPo = new CsDoPO();
BeanUtils.copyProperties(item,csDoPo);
CsDictDTO csDictDTO = csDictFeignClient.getOwnAndFatherData(item.getName()).getData();
csDoPo.setAnotherName(csDictDTO.getName());
csDoPo.setClassId(csDictDTO.getFatherName());
return csDoPo;
public void insertDo(List<DoDto> doDto,DictData dictData) {
List<EleEpdPqd> dictList = epdFeignClient.dictMarkByDataType(dictData.getId()).getData();
List<EleEpdPqdParam> paramList = doDto.stream().map(item->{
EleEpdPqdParam param = new EleEpdPqdParam();
BeanUtils.copyProperties(item,param);
param.setPhase("M");
param.setShowName(item.getName());
param.setDataType(dictData.getId());
param.setClassId(dictData.getValue());
param.setSort(0);
param.setSystemType("");
return param;
}).collect(Collectors.toList());
csDoService.saveData(list);
if (!CollectionUtils.isEmpty(dictList)){
//两个集合取差集
paramList = paramList.stream().filter(item->!dictList.stream().map(item2->item2.getName()+"-"+item2.getPhase()+"-"+item2.getDataType()).collect(Collectors.toList()).contains(item.getName()+"-"+item.getPhase()+"-"+item.getDataType())).collect(Collectors.toList());
}
if (!CollectionUtils.isEmpty(paramList)){
epdFeignClient.addByModel(paramList);
}
}
/**
* Parm字典录入
*/
public void insertParm(List<ParmDto> parmDto,DictData dictData) {
List<EleEpdPqd> dictList = epdFeignClient.dictMarkByDataType(dictData.getId()).getData();
List<EleEpdPqdParam> paramList = parmDto.stream().map(item->{
EleEpdPqdParam param = new EleEpdPqdParam();
BeanUtils.copyProperties(item,param);
if (!CollectionUtils.isEmpty(item.getSetValue())){
param.setSetValue(item.getSetValue().stream().map(String::valueOf).collect(Collectors.joining(",")));
}
param.setPhase("M");
param.setShowName(item.getName());
param.setDataType(dictData.getId());
param.setClassId(dictData.getValue());
param.setSort(0);
param.setSystemType("");
return param;
}).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(dictList)){
//两个集合取差集
paramList = paramList.stream().filter(item->!dictList.stream().map(item2->item2.getName()+"-"+item2.getPhase()+"-"+item2.getDataType()).collect(Collectors.toList()).contains(item.getName()+"-"+item.getPhase()+"-"+item.getDataType())).collect(Collectors.toList());
}
if (!CollectionUtils.isEmpty(paramList)){
epdFeignClient.addByModel(paramList);
}
}
/**
* Set字典录入
*/
public void insertSet(List<SetDto> setDto,DictData dictData) {
List<EleEpdPqd> dictList = epdFeignClient.dictMarkByDataType(dictData.getId()).getData();
List<EleEpdPqdParam> paramList = setDto.stream().map(item->{
EleEpdPqdParam param = new EleEpdPqdParam();
BeanUtils.copyProperties(item,param);
param.setPhase("M");
param.setShowName(item.getName());
param.setDataType(dictData.getId());
param.setClassId(dictData.getValue());
param.setSort(0);
param.setSystemType("");
return param;
}).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(dictList)){
//两个集合取差集
paramList = paramList.stream().filter(item->!dictList.stream().map(item2->item2.getName()+"-"+item2.getPhase()+"-"+item2.getDataType()).collect(Collectors.toList()).contains(item.getName()+"-"+item.getPhase()+"-"+item.getDataType())).collect(Collectors.toList());
}
if (!CollectionUtils.isEmpty(paramList)){
epdFeignClient.addByModel(paramList);
}
}
/**
* InSet字典录入
*/
public void insertInSet(List<InSetDto> inSetDto,DictData dictData) {
List<EleEpdPqd> dictList = epdFeignClient.dictMarkByDataType(dictData.getId()).getData();
List<EleEpdPqdParam> paramList = inSetDto.stream().map(item->{
EleEpdPqdParam param = new EleEpdPqdParam();
BeanUtils.copyProperties(item,param);
param.setPhase("M");
param.setShowName(item.getName());
param.setDataType(dictData.getId());
param.setClassId(dictData.getValue());
param.setSort(0);
param.setSystemType("");
return param;
}).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(dictList)){
//两个集合取差集
paramList = paramList.stream().filter(item->!dictList.stream().map(item2->item2.getName()+"-"+item2.getPhase()+"-"+item2.getDataType()).collect(Collectors.toList()).contains(item.getName()+"-"+item.getPhase()+"-"+item.getDataType())).collect(Collectors.toList());
}
if (!CollectionUtils.isEmpty(paramList)){
epdFeignClient.addByModel(paramList);
}
}
/**
* Ctrl字典录入
*/
public void insertCtrl(List<CtrlDto> ctrlDto,DictData dictData) {
List<EleEpdPqd> dictList = epdFeignClient.dictMarkByDataType(dictData.getId()).getData();
List<EleEpdPqdParam> paramList = ctrlDto.stream().map(item->{
EleEpdPqdParam param = new EleEpdPqdParam();
BeanUtils.copyProperties(item,param);
if (!CollectionUtils.isEmpty(item.getCtlValue())){
param.setSetValue(item.getCtlValue().stream().map(String::valueOf).collect(Collectors.joining(",")));
}
param.setPhase("M");
param.setShowName(item.getName());
param.setDataType(dictData.getId());
param.setClassId(dictData.getValue());
param.setSort(0);
param.setSystemType("");
return param;
}).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(dictList)){
//两个集合取差集
paramList = paramList.stream().filter(item->!dictList.stream().map(item2->item2.getName()+"-"+item2.getPhase()+"-"+item2.getDataType()).collect(Collectors.toList()).contains(item.getName()+"-"+item.getPhase()+"-"+item.getDataType())).collect(Collectors.toList());
}
if (!CollectionUtils.isEmpty(paramList)){
epdFeignClient.addByModel(paramList);
}
}
/**
* DataSet录入
*/
public void insertDataSet(List<DataSetDto> dataSetDtoList,String pid) {
dataSetDtoList.forEach(item->{
CsDataSetPO csDataSetPo = new CsDataSetPO();
BeanUtils.copyProperties(item,csDataSetPo);
CsDictDTO csDictDTO = csDictFeignClient.getOwnAndFatherData(item.getName()).getData();
csDataSetPo.setAnotherName(csDictDTO.getName());
if (csDictDTO.getName().contains("Rt")){
csDataSetPo.setDataType("实时数据");
} else if (csDictDTO.getName().contains("Stat")){
csDataSetPo.setDataType("统计数据");
}
csDataSetPo.setPid(pid);
csDataSetService.addOne(csDataSetPo);
List<DataArrayDto> dataArrayDto = item.getDataArrayDtoList();
if (!CollectionUtils.isEmpty(dataArrayDto)){
insertDataArray(dataArrayDto,csDataSetPo.getId());
}
});
}
/**
* DataArray录入
*/
public void insertDataArray(List<DataArrayDto> dataArrayDto,String pid) {
List<CsDataArrayPO> list = new ArrayList<>();
dataArrayDto.forEach(item->{
int sort = 0;
CsDataArrayPO csDataArrayPo = new CsDataArrayPO();
csDataArrayPo.setPid(pid);
list.add(csDataArrayPo);
});
csDataArrayService.saveData(list);
}
}

View File

@@ -31,7 +31,7 @@ spring:
shared-configs:
- data-id: share-config.yaml
refresh: true
- data-Id: share-config-datasource-db.yaml
- data-Id: algorithm-config.yaml
refresh: true
- data-Id: kafka-config.yaml
refresh: true