字典解析调整

This commit is contained in:
2023-08-29 17:13:46 +08:00
parent 5ac70b96ac
commit c84468884a
5 changed files with 122 additions and 3 deletions

View File

@@ -36,6 +36,8 @@ public interface DataModel {
String CTRL = "Ctrl";
String WAVE = "Wave";
/**
* 数据模型临时表
*/

View File

@@ -0,0 +1,36 @@
package com.njcn.access.pojo.dto.data;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/8/29 15:39
*/
@Data
public class WaveDto implements Serializable {
@SerializedName("OpAttr")
@NotNull(message = "读写操作属性,不为空")
private String opAttr;
@SerializedName("Name")
@NotNull(message = "事件信息名称,不为空")
private String name;
@SerializedName("Idx")
@NotNull(message = "事件编号,不为空")
private Integer idx;
@SerializedName("Parm")
private List<WaveParamDto> param;
}

View File

@@ -0,0 +1,31 @@
package com.njcn.access.pojo.dto.data;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/8/29 15:40
*/
@Data
public class WaveParamDto implements Serializable {
@SerializedName("Name")
@NotNull(message = "参数名称,不为空")
private String name;
@SerializedName("Type")
@NotNull(message = "参数类型,不为空")
private String type;
@SerializedName("Data")
@NotNull(message = "参数值,不为空")
private Object data;
}

View File

@@ -95,4 +95,8 @@ public class TemplateDto implements Serializable {
@ApiModelProperty("控制")
private List<CtrlDto> ctrlDto;
@SerializedName("Wave")
@ApiModelProperty("波形文件")
private List<WaveDto> waveDto;
}

View File

@@ -20,8 +20,10 @@ import com.njcn.oss.constant.OssPath;
import com.njcn.oss.utils.FileStorageUtil;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.api.EleEvtFeignClient;
import com.njcn.system.api.EleWaveFeignClient;
import com.njcn.system.api.EpdFeignClient;
import com.njcn.system.enums.DicDataEnum;
import com.njcn.system.pojo.param.CsWaveParam;
import com.njcn.system.pojo.param.EleEpdPqdParam;
import com.njcn.system.pojo.param.EleEvtParam;
import com.njcn.system.pojo.po.EleEpdPqd;
@@ -74,6 +76,8 @@ public class CsDevModelServiceImpl implements ICsDevModelService {
private final CsLogsFeignClient csLogsFeignClient;
private final EleWaveFeignClient waveFeignClient;
@Override
@Transactional(rollbackFor = {Exception.class})
public void addModel(MultipartFile file) {
@@ -232,17 +236,22 @@ public class CsDevModelServiceImpl implements ICsDevModelService {
EleEpdPqd po = epdFeignClient.add(eleEpdPqdParam).getData();
if (CollectionUtil.isNotEmpty(evt.getParam())){
evt.getParam().forEach(param->{
//录入字典表
eleEpdPqdParam.setName(param.getName());
eleEpdPqdParam.setOtherName(param.getName());
eleEpdPqdParam.setShowName(param.getName());
eleEpdPqdParam.setSort(evt.getIdx());
eleEpdPqdParam.setDataType(id);
eleEpdPqdParam.setPhase("M");
epdFeignClient.add(eleEpdPqdParam).getData();
//录入关系表
EleEvtParam eleEvtParam = new EleEvtParam();
eleEvtParam.setPid(po.getId());
eleEvtParam.setData(param.getData());
eleEvtParam.setName(param.getName());
eleEvtParam.setShowName(param.getName());
eleEvtParam.setType(param.getType());
eleEvtParam.setUnit(param.getUnit());
eleEvtFeignClient.add(eleEvtParam);
//录入字典表
});
}
}
@@ -570,6 +579,43 @@ public class CsDevModelServiceImpl implements ICsDevModelService {
}
});
break;
case DataModel.WAVE:
log.info("处理wave字典数据");
List<WaveDto> waveDto = templateDto.getWaveDto();
waveDto.forEach(wave->{
String id = dicDataFeignClient.getDicDataByCode(item).getData().getId();
List<EleEpdPqd> list = epdFeignClient.judgeExist(wave.getName(),id).getData();
if (CollectionUtil.isEmpty(list)){
EleEpdPqdParam eleEpdPqdParam = new EleEpdPqdParam();
eleEpdPqdParam.setName(wave.getName());
eleEpdPqdParam.setOtherName(wave.getName());
eleEpdPqdParam.setShowName(wave.getName());
eleEpdPqdParam.setSort(wave.getIdx());
eleEpdPqdParam.setDataType(id);
eleEpdPqdParam.setPhase("M");
EleEpdPqd po = epdFeignClient.add(eleEpdPqdParam).getData();
if (CollectionUtil.isNotEmpty(wave.getParam())){
wave.getParam().forEach(param->{
//录入字典表
eleEpdPqdParam.setName(param.getName());
eleEpdPqdParam.setOtherName(param.getName());
eleEpdPqdParam.setShowName(param.getName());
eleEpdPqdParam.setSort(wave.getIdx());
eleEpdPqdParam.setDataType(id);
eleEpdPqdParam.setPhase("M");
epdFeignClient.add(eleEpdPqdParam);
//录入关系表
CsWaveParam csWaveParam = new CsWaveParam();
csWaveParam.setPid(po.getId());
csWaveParam.setName(param.getName());
csWaveParam.setType(param.getType());
csWaveParam.setData(param.getData().toString());
waveFeignClient.add(csWaveParam);
});
}
}
});
break;
default:
break;
}