模板适配调整
This commit is contained in:
@@ -36,6 +36,11 @@ public class DataSetDto implements Serializable {
|
||||
@ApiModelProperty("0-不存储;1-存储")
|
||||
private Integer storeFlag;
|
||||
|
||||
@SerializedName("DataAttr")
|
||||
@NotNull(message = "数据集类型")
|
||||
@ApiModelProperty("Stat-统计数据 Rt-实时数据")
|
||||
private String dataAttr;
|
||||
|
||||
@SerializedName("DataLevel")
|
||||
@NotNull(message = "数据标识(一次值、二次值),不可为空")
|
||||
@ApiModelProperty("Primary-一次值;Secondary-二次值")
|
||||
|
||||
@@ -851,6 +851,7 @@ public class CsDevModelServiceImpl implements ICsDevModelService {
|
||||
csDataSet.setPeriod(item1.getPeriod());
|
||||
csDataSet.setStoreFlag(item1.getStoreFlag());
|
||||
csDataSet.setDataList(String.join(",",templateDto.getDataList()));
|
||||
csDataSet.setDataType(item1.getDataAttr());
|
||||
csDataSet.setType(0);
|
||||
csDataSet.setClDev(0);
|
||||
csDataSet.setDataLevel(item1.getDataLevel());
|
||||
@@ -888,6 +889,7 @@ public class CsDevModelServiceImpl implements ICsDevModelService {
|
||||
csDataSet.setStoreFlag(item4.getStoreFlag());
|
||||
csDataSet.setDataList(String.join(",",item3.getDataList()));
|
||||
csDataSet.setDataLevel(item4.getDataLevel());
|
||||
csDataSet.setDataType(item4.getDataAttr());
|
||||
//fixme 先用数据类型来区分模板的类型
|
||||
if (item3.getDataList().contains("Apf") || item3.getDataList().contains("Dvr")){
|
||||
csDataSet.setType(1);
|
||||
@@ -1187,7 +1189,7 @@ public class CsDevModelServiceImpl implements ICsDevModelService {
|
||||
* 数据集名称调整
|
||||
*/
|
||||
public String dataSetName(String name,String code){
|
||||
String showName = null;
|
||||
String showName = name;
|
||||
switch (name) {
|
||||
//数据集
|
||||
case "Ds$Apf$Master$01":
|
||||
|
||||
@@ -20,11 +20,10 @@ import com.njcn.access.utils.MqttUtil;
|
||||
import com.njcn.common.pojo.dto.DeviceLogDTO;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.csdevice.api.CsLogsFeignClient;
|
||||
import com.njcn.csdevice.api.EquipmentFeignClient;
|
||||
import com.njcn.csdevice.api.ProcessFeignClient;
|
||||
import com.njcn.csdevice.api.*;
|
||||
import com.njcn.csdevice.pojo.param.CsDevModelRelationAddParm;
|
||||
import com.njcn.csdevice.pojo.param.CsLedgerParam;
|
||||
import com.njcn.csdevice.pojo.param.CsLineParam;
|
||||
import com.njcn.csdevice.pojo.po.*;
|
||||
import com.njcn.csdevice.pojo.vo.CsEquipmentDeliveryVO;
|
||||
import com.njcn.redis.pojo.enums.AppRedisKey;
|
||||
@@ -76,6 +75,8 @@ public class CsDeviceServiceImpl implements ICsDeviceService {
|
||||
private final CsDeviceUserPOService csDeviceUserPOService;
|
||||
private final ICsDataSetService csDataSetService;
|
||||
private final ChannelObjectUtil channelObjectUtil;
|
||||
private final CsLineFeignClient csLineFeignClient;
|
||||
private final DataSetFeignClient dataSetFeignClient;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = {Exception.class})
|
||||
@@ -361,7 +362,7 @@ public class CsDeviceServiceImpl implements ICsDeviceService {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean manualAccess(String nDid) {
|
||||
String version = csTopicService.getVersion(nDid);
|
||||
return devAccessAskTemplate(nDid,version,new Random().nextInt(10000));
|
||||
return devAccessAskTemplate(nDid,version,1);
|
||||
}
|
||||
|
||||
|
||||
@@ -534,6 +535,7 @@ public class CsDeviceServiceImpl implements ICsDeviceService {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean devAccessAskTemplate(String nDid,String version,Integer mid) {
|
||||
boolean result = false;
|
||||
Map<Integer,String> modelMap = new HashMap<>();
|
||||
try {
|
||||
redisUtil.delete(AppRedisKey.MODEL + nDid);
|
||||
//询问装置当前所用模板
|
||||
@@ -557,9 +559,17 @@ public class CsDeviceServiceImpl implements ICsDeviceService {
|
||||
po.setDid(item.getDid());
|
||||
po.setUpdateTime(LocalDateTime.now());
|
||||
csDevModelRelationService.addRelation(po);
|
||||
modelMap.put(item.getType(),item.getModelId());
|
||||
}
|
||||
//修改监测点使用的模板和数据集
|
||||
List<CsLinePO> lineList = csLineFeignClient.findByNdid(nDid).getData();
|
||||
for (CsLinePO item : lineList) {
|
||||
if (item.getClDid() == 0) {
|
||||
updateLineIds(modelMap.get(0),item.getClDid(),nDid);
|
||||
} else {
|
||||
updateLineIds(modelMap.get(1),item.getClDid(),nDid);
|
||||
}
|
||||
}
|
||||
//fixme 修改监测点使用的模板和数据集
|
||||
|
||||
//发起接入
|
||||
reqAndResParam.setType(Integer.parseInt(TypeEnum.TYPE_5.getCode()));
|
||||
publisher.send("/Pfm/DevCmd/"+version+"/"+nDid, new Gson().toJson(reqAndResParam),1,false);
|
||||
@@ -573,6 +583,20 @@ public class CsDeviceServiceImpl implements ICsDeviceService {
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改监测点的模板id和数据集id
|
||||
*/
|
||||
public void updateLineIds(String modelId, Integer clDid, String nDid) {
|
||||
CsDataSet dataSet = dataSetFeignClient.getSetByModelId(modelId,clDid).getData().get(0);
|
||||
CsLineParam csLineParam = new CsLineParam();
|
||||
csLineParam.setLineId(nDid + clDid);
|
||||
csLineParam.setDataSetId(dataSet.getId());
|
||||
csLineParam.setModelId(modelId);
|
||||
csLineFeignClient.updateIds(csLineParam);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 平台对设备发起主题询问命令
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user