新增一次值、二次值标识

This commit is contained in:
xy
2024-08-09 08:30:43 +08:00
parent 329143772b
commit 6a0e15ef84
4 changed files with 83 additions and 76 deletions

View File

@@ -36,6 +36,11 @@ public class DataSetDto implements Serializable {
@ApiModelProperty("0-不存储;1-存储")
private Integer storeFlag;
@SerializedName("DataLevel")
@NotNull(message = "数据标识(一次值、二次值),不可为空")
@ApiModelProperty("Primary-一次值;Secondary-二次值")
private String dataLevel;
@SerializedName("DataArray")
@NotEmpty(message = "数据集合描述,不可为空")
private List<DataArrayDto> dataArrayDtoList;

View File

@@ -460,8 +460,8 @@ public class MqttMessageHandler {
case 4865:
//设置心跳时间,超时改为掉线
redisUtil.saveByKeyWithExpire("MQTT:" + nDid, Instant.now().toEpochMilli(),180L);
//装置改成在线
csEquipmentDeliveryService.updateRunStatusBynDid(nDid,AccessEnum.ONLINE.getCode());
//有心跳,则将装置改成在线
//csEquipmentDeliveryService.updateRunStatusBynDid(nDid,AccessEnum.ONLINE.getCode());
//处理心跳
ReqAndResDto.Res reqAndResParam = new ReqAndResDto.Res();
reqAndResParam.setMid(res.getMid());

View File

@@ -1,47 +1,47 @@
package com.njcn.access.runner;
import com.njcn.access.service.ICsEquipmentDeliveryService;
import com.njcn.access.service.ICsTopicService;
import com.njcn.access.service.impl.CsDeviceServiceImpl;
import com.njcn.csdevice.pojo.po.CsEquipmentDeliveryPO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.List;
import java.util.Objects;
/**
* 类的介绍:用来重新发起设备的接入,存在程序意外停止了,缓存失效导致无法更新装置的状态,所以需要在程序启动时发起设备的接入
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/8/28 13:57
*/
@Component
@Slf4j
public class AccessApplicationRunner implements ApplicationRunner {
@Resource
private CsDeviceServiceImpl csDeviceService;
@Resource
private ICsTopicService csTopicService;
@Resource
private ICsEquipmentDeliveryService csEquipmentDeliveryService;
@Override
public void run(ApplicationArguments args){
List<CsEquipmentDeliveryPO> list = csEquipmentDeliveryService.getAll();
list.forEach(item->{
String version = csTopicService.getVersion(item.getNdid());
if (!Objects.isNull(version)){
csDeviceService.devAccess(item.getNdid(),version);
}
});
}
}
//package com.njcn.access.runner;
//
//import com.njcn.access.service.ICsEquipmentDeliveryService;
//import com.njcn.access.service.ICsTopicService;
//import com.njcn.access.service.impl.CsDeviceServiceImpl;
//import com.njcn.csdevice.pojo.po.CsEquipmentDeliveryPO;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.boot.ApplicationArguments;
//import org.springframework.boot.ApplicationRunner;
//import org.springframework.stereotype.Component;
//
//import javax.annotation.Resource;
//import java.util.List;
//import java.util.Objects;
//
///**
// * 类的介绍:用来重新发起设备的接入,存在程序意外停止了,缓存失效导致无法更新装置的状态,所以需要在程序启动时发起设备的接入
// *
// * @author xuyang
// * @version 1.0.0
// * @createTime 2023/8/28 13:57
// */
//@Component
//@Slf4j
//public class AccessApplicationRunner implements ApplicationRunner {
//
// @Resource
// private CsDeviceServiceImpl csDeviceService;
//
// @Resource
// private ICsTopicService csTopicService;
//
// @Resource
// private ICsEquipmentDeliveryService csEquipmentDeliveryService;
//
// @Override
// public void run(ApplicationArguments args){
// List<CsEquipmentDeliveryPO> list = csEquipmentDeliveryService.getAll();
// list.forEach(item->{
// String version = csTopicService.getVersion(item.getNdid());
// if (!Objects.isNull(version)){
// csDeviceService.devAccess(item.getNdid(),version);
// }
// });
// }
//
//}

View File

@@ -689,18 +689,19 @@ public class CsDevModelServiceImpl implements ICsDevModelService {
if (CollectionUtil.isNotEmpty(dataSetList)){
dataSetList.forEach(item1->{
String id = IdUtil.fastSimpleUUID();
CsDataSet CsDataSet = new CsDataSet();
CsDataSet.setId(id);
CsDataSet.setPid(pId);
CsDataSet.setName(item1.getName());
CsDataSet.setAnotherName(dataSetName(item1.getName(),code));
CsDataSet.setIdx(item1.getIdx());
CsDataSet.setPeriod(item1.getPeriod());
CsDataSet.setStoreFlag(item1.getStoreFlag());
CsDataSet.setDataList(String.join(",",templateDto.getDataList()));
CsDataSet.setType(0);
CsDataSet.setClDev(0);
setList.add(CsDataSet);
CsDataSet csDataSet = new CsDataSet();
csDataSet.setId(id);
csDataSet.setPid(pId);
csDataSet.setName(item1.getName());
csDataSet.setAnotherName(dataSetName(item1.getName(),code));
csDataSet.setIdx(item1.getIdx());
csDataSet.setPeriod(item1.getPeriod());
csDataSet.setStoreFlag(item1.getStoreFlag());
csDataSet.setDataList(String.join(",",templateDto.getDataList()));
csDataSet.setType(0);
csDataSet.setClDev(0);
csDataSet.setDataLevel(item1.getDataLevel());
setList.add(csDataSet);
List<DataArrayDto> list = item1.getDataArrayDtoList();
if(CollectionUtil.isNotEmpty(list)) {
int i = 0;
@@ -724,23 +725,24 @@ public class CsDevModelServiceImpl implements ICsDevModelService {
if (CollectionUtil.isNotEmpty(clDataSetList)){
clDataSetList.forEach(item4->{
String id = IdUtil.fastSimpleUUID();
CsDataSet CsDataSet = new CsDataSet();
CsDataSet.setId(id);
CsDataSet.setPid(pId);
CsDataSet.setName(item4.getName());
CsDataSet.setAnotherName(dataSetName(item4.getName(),code));
CsDataSet.setIdx(item4.getIdx());
CsDataSet.setPeriod(item4.getPeriod());
CsDataSet.setStoreFlag(item4.getStoreFlag());
CsDataSet.setDataList(String.join(",",item3.getDataList()));
CsDataSet csDataSet = new CsDataSet();
csDataSet.setId(id);
csDataSet.setPid(pId);
csDataSet.setName(item4.getName());
csDataSet.setAnotherName(dataSetName(item4.getName(),code));
csDataSet.setIdx(item4.getIdx());
csDataSet.setPeriod(item4.getPeriod());
csDataSet.setStoreFlag(item4.getStoreFlag());
csDataSet.setDataList(String.join(",",item3.getDataList()));
csDataSet.setDataLevel(item4.getDataLevel());
//fixme 先用数据类型来区分模板的类型
if (item3.getDataList().contains("Apf") || item3.getDataList().contains("Dvr")){
CsDataSet.setType(1);
csDataSet.setType(1);
} else {
CsDataSet.setType(2);
csDataSet.setType(2);
}
CsDataSet.setClDev(item3.getClDid());
setList.add(CsDataSet);
csDataSet.setClDev(item3.getClDid());
setList.add(csDataSet);
List<DataArrayDto> list = item4.getDataArrayDtoList();
if(CollectionUtil.isNotEmpty(list)) {
@@ -1063,14 +1065,14 @@ public class CsDevModelServiceImpl implements ICsDevModelService {
showName = "APF模块8数据";
break;
case "Ds$Pqd$Stat$01":
if (Objects.isNull(code)){
if (Objects.equals(code, DicDataEnum.CONNECT_DEV.getCode()) || Objects.isNull(code)){
showName = "电网侧数据";
} else if (Objects.equals(code, DicDataEnum.PORTABLE.getCode())){
showName = "监测1路数据";
}
break;
case "Ds$Pqd$Stat$02":
if (Objects.isNull(code)){
if (Objects.equals(code, DicDataEnum.CONNECT_DEV.getCode()) || Objects.isNull(code)){
showName = "负载侧数据";
} else if (Objects.equals(code, DicDataEnum.PORTABLE.getCode())){
showName = "监测2路数据";