|
|
@@ -12,11 +12,13 @@ import com.yunfeiyun.agmp.iot.common.domain.dto.IotElementDto;
|
|
|
import com.yunfeiyun.agmp.iot.common.enums.EnumAdznGssqElement;
|
|
|
import com.yunfeiyun.agmp.iot.common.enums.EnumYfQxzElement;
|
|
|
import com.yunfeiyun.agmp.iot.common.util.dev.QxzTypeUtil;
|
|
|
+import com.yunfeiyun.agmp.iot.common.util.dev.RainfallUtil;
|
|
|
import com.yunfeiyun.agmp.iot.common.util.dev.WindUtil;
|
|
|
|
|
|
import java.util.*;
|
|
|
|
|
|
import static com.yunfeiyun.agmp.iot.common.enums.EnumYfQxzElement.TYPE6;
|
|
|
+import static com.yunfeiyun.agmp.iot.common.enums.EnumYfQxzElement.TYPE7;
|
|
|
|
|
|
public class ElementFormatUtil {
|
|
|
|
|
|
@@ -66,6 +68,54 @@ public class ElementFormatUtil {
|
|
|
return iotElementDto;
|
|
|
}
|
|
|
|
|
|
+ private static IotElementDto setLabelName(IotElementDto iotElementDto){
|
|
|
+ String eNum = iotElementDto.getENum();
|
|
|
+ String eValue = iotElementDto.getEValue();
|
|
|
+ List<JSONObject> dataList = iotElementDto.getDataList();
|
|
|
+
|
|
|
+ if(StringUtils.isEmpty(eNum)){
|
|
|
+ return iotElementDto;
|
|
|
+ }
|
|
|
+
|
|
|
+ if(eNum.equals(TYPE7.geteNum())
|
|
|
+ || eNum.equals(EnumYfQxzElement.TYPE32.geteNum())
|
|
|
+ || eNum.equals(EnumYfQxzElement.TYPE33.geteNum())
|
|
|
+ || eNum.equals(EnumYfQxzElement.TYPE45.geteNum())
|
|
|
+ || eNum.equals(EnumYfQxzElement.TYPE8.geteNum())){
|
|
|
+ if(StringUtils.isNotEmpty(eValue)){
|
|
|
+ String labelName = WindUtil.getWindSpeedName(eValue);
|
|
|
+ if(eNum.equals(EnumYfQxzElement.TYPE8.geteNum())){
|
|
|
+ labelName = WindUtil.getWindDirectionName(eValue);
|
|
|
+ }
|
|
|
+ iotElementDto.setEValue(eValue + " (" + labelName + ")");
|
|
|
+ }
|
|
|
+
|
|
|
+ if(dataList!= null && !dataList.isEmpty()){
|
|
|
+ for (JSONObject jsonObject : dataList) {
|
|
|
+ String eNumber = jsonObject.getString("number");
|
|
|
+ String labelName = WindUtil.getWindSpeedName(eNumber);
|
|
|
+ if(eNum.equals(EnumYfQxzElement.TYPE8.geteNum())){
|
|
|
+ labelName = WindUtil.getWindDirectionName(eNumber);
|
|
|
+ }
|
|
|
+ jsonObject.put("labelName", labelName);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else if(eNum.equals(EnumYfQxzElement.TYPE4.geteNum()) || eNum.equals(EnumYfQxzElement.TYPE14.geteNum())){
|
|
|
+ if(StringUtils.isNotEmpty(eValue)){
|
|
|
+ String labelName = RainfallUtil.getRainfallName(eValue);
|
|
|
+ iotElementDto.setEValue(eValue + " (" + labelName + ")");
|
|
|
+ }
|
|
|
+ if(dataList!= null && !dataList.isEmpty()){
|
|
|
+ for (JSONObject jsonObject : dataList) {
|
|
|
+ String eNumber = jsonObject.getString("number");
|
|
|
+ jsonObject.put("labelName", RainfallUtil.getRainfallName(eNumber));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ iotElementDto.setDataList(dataList);
|
|
|
+ return iotElementDto;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 云飞气象站,墒情站
|
|
|
* 新普惠mqtt设备 公用此要素
|
|
|
@@ -94,6 +144,7 @@ public class ElementFormatUtil {
|
|
|
iotElementDto.setAddress(getAddress(eName, eKey));
|
|
|
iotElementDto.setEUnit(eUnit);
|
|
|
iotElementDto.setEValue(eValue);
|
|
|
+ iotElementDto.setDataList(dataList);
|
|
|
|
|
|
if(eNum.equals(TYPE6.geteNum())
|
|
|
|| eNum.equals(EnumYfQxzElement.TYPE6_7.geteNum())){
|
|
|
@@ -102,32 +153,8 @@ public class ElementFormatUtil {
|
|
|
elementMap.put(eNum, new ArrayList<>());
|
|
|
}
|
|
|
elementMap.get(eNum).add(Integer.parseInt(eKey.replace("e", "")));
|
|
|
- }else if(eNum.equals(EnumYfQxzElement.TYPE7.geteNum())
|
|
|
- || eNum.equals(EnumYfQxzElement.TYPE32.geteNum())
|
|
|
- || eNum.equals(EnumYfQxzElement.TYPE33.geteNum())
|
|
|
- || eNum.equals(EnumYfQxzElement.TYPE45.geteNum())
|
|
|
- || eNum.equals(EnumYfQxzElement.TYPE8.geteNum())){
|
|
|
- if(StringUtils.isNotEmpty(eValue)){
|
|
|
- String labelName = WindUtil.getWindSpeed(eValue);
|
|
|
- if(eNum.equals(EnumYfQxzElement.TYPE8.geteNum())){
|
|
|
- labelName = WindUtil.getWindDirection(eValue);
|
|
|
- }
|
|
|
- iotElementDto.setEValue(eValue + " (" + labelName + ")");
|
|
|
- }
|
|
|
-
|
|
|
- if(dataList!= null && !dataList.isEmpty()){
|
|
|
- for (JSONObject jsonObject : dataList) {
|
|
|
- String eNumber = jsonObject.getString("number");
|
|
|
- String labelName = WindUtil.getWindSpeed(eNumber);
|
|
|
- if(eNum.equals(EnumYfQxzElement.TYPE8.geteNum())){
|
|
|
- labelName = WindUtil.getWindDirection(eNumber);
|
|
|
- }
|
|
|
- jsonObject.put("labelName", labelName);
|
|
|
- }
|
|
|
- }
|
|
|
}
|
|
|
- iotElementDto.setDataList(dataList);
|
|
|
- return iotElementDto;
|
|
|
+ return setLabelName(iotElementDto);
|
|
|
}
|
|
|
|
|
|
private static IotElementDto getElement(IotDevice iotDevice, QxzDataDto dataitem, Map<String, List<Integer>> elementMap){
|