Kaynağa Gözat

新增 气象设备风力风速展示

zhaiyifei 1 yıl önce
ebeveyn
işleme
2ca98b496c

+ 27 - 2
src/main/java/com/yunfeiyun/agmp/iot/common/constant/device/ElementFormatUtil.java

@@ -1,6 +1,8 @@
 package com.yunfeiyun.agmp.iot.common.constant.device;
 
+import com.alibaba.fastjson2.JSONObject;
 import com.yunfeiyun.agmp.common.utils.DateUtils;
+import com.yunfeiyun.agmp.common.utils.StringUtils;
 import com.yunfeiyun.agmp.iot.common.constant.devicetype.IotDeviceDictConst;
 import com.yunfeiyun.agmp.iot.common.domain.IotDevice;
 import com.yunfeiyun.agmp.iot.common.domain.IotDevicefactor;
@@ -10,6 +12,7 @@ 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.WindUtil;
 
 import java.util.*;
 
@@ -32,6 +35,8 @@ public class ElementFormatUtil {
         String eNum = dataitem.getENum();
         String eName = dataitem.getEName();
         String eKey = dataitem.getEKey();
+        String eValue = dataitem.getEValue();
+        List<JSONObject> dataList = dataitem.getDataList();
         String cName = "未知要素";
         String eUnit = "";
         if(element != null){
@@ -45,6 +50,8 @@ public class ElementFormatUtil {
         iotElementDto.setCName(cName);
         iotElementDto.setAddress(getAddress(eName, eKey));
         iotElementDto.setEUnit(eUnit);
+        iotElementDto.setEValue(eValue);
+        iotElementDto.setDataList(dataList);
 
         if(eNum.equals(EnumAdznGssqElement.DataTEMPSTR.geteNum())
                 || eNum.equals(EnumAdznGssqElement.DataSWCSTR.geteNum())){
@@ -69,6 +76,8 @@ public class ElementFormatUtil {
         EnumYfQxzElement element = EnumYfQxzElement.findEnumByeNum(eNum);
         String eName = dataitem.getEName();
         String eKey = dataitem.getEKey();
+        String eValue = dataitem.getEValue();
+        List<JSONObject> dataList = dataitem.getDataList();
         String cName = "未知要素";
         String eUnit = "";
         if(element != null){
@@ -82,6 +91,7 @@ public class ElementFormatUtil {
         iotElementDto.setCName(cName);
         iotElementDto.setAddress(getAddress(eName, eKey));
         iotElementDto.setEUnit(eUnit);
+        iotElementDto.setEValue(eValue);
 
         if(eNum.equals(EnumYfQxzElement.TYPE6.geteNum())
                 || eNum.equals(EnumYfQxzElement.TYPE6_7.geteNum())){
@@ -90,7 +100,22 @@ 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())){
+            if(StringUtils.isNotEmpty(eValue)){
+                String labelName = WindUtil.getWindSpeed(eValue);
+                iotElementDto.setEValue(eValue + " (" + labelName + ")");
+            }
+
+            if(dataList!= null && !dataList.isEmpty()){
+                for (JSONObject jsonObject : dataList) {
+                    jsonObject.put("labelName", WindUtil.getWindSpeed(jsonObject.getString("number")));
+                }
+            }
         }
+        iotElementDto.setDataList(dataList);
         return iotElementDto;
     }
 
@@ -134,8 +159,8 @@ public class ElementFormatUtil {
             iotQxzDataListRseVo.setFactorCode(eNum);
             iotQxzDataListRseVo.setFactorUnit(iotElementDto.getEUnit());
             iotQxzDataListRseVo.setFactorName(iotElementDto.getCName());
-            iotQxzDataListRseVo.setNumber(dataitem.getEValue());
-            iotQxzDataListRseVo.setDatalist(dataitem.getDataList());
+            iotQxzDataListRseVo.setNumber(iotElementDto.getEValue());
+            iotQxzDataListRseVo.setDatalist(iotElementDto.getDataList());
             Date timeDate = dataitem.getTime();
             if(timeDate != null){
                 iotQxzDataListRseVo.setTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, timeDate));

+ 0 - 28
src/main/java/com/yunfeiyun/agmp/iot/common/constant/device/xmzn/XmznEnumDeviceClass.java

@@ -1,28 +0,0 @@
-package com.yunfeiyun.agmp.iot.common.constant.device.xmzn;
-
-
-/**
- * (主要指控制类设备)类型
- */
-public enum XmznEnumDeviceClass {
-
-    UNKNOWN(0,"未知"),
-    TYPE_1(1006,"二状态设备"),
-    TYPE_2(1007,"三状态设备");
-
-
-    private Integer id;
-    private String name;
-
-    private XmznEnumDeviceClass(Integer id, String name){
-        this.id = id;
-        this.name = name;
-    }
-
-    public Integer getCode(){
-        return this.id;
-    }
-    public String getName(){
-        return this.name;
-    }
-}

+ 0 - 53
src/main/java/com/yunfeiyun/agmp/iot/common/constant/device/xmzn/XmznEnumDevsubtype.java

@@ -1,53 +0,0 @@
-package com.yunfeiyun.agmp.iot.common.constant.device.xmzn;
-
-
-import com.yunfeiyun.agmp.iot.common.enums.XmznEnumDeviceData;
-
-/**
- * 小马智农设备下面的子设备类型
- *
- * 1棚内环境监测 2气象站 3管式墒情 4卷膜 5风机 6土壤墒情站 7卷被
- *
- */
-public enum XmznEnumDevsubtype {
-
-        TYPE_1("1","棚内环境监测"),
-        TYPE_2("2","气象站"),
-        TYPE_3("3","管式墒情"),
-        TYPE_4("4","卷膜"),
-        TYPE_5("5","风机"),
-        TYPE_6("6","土壤墒情站"),
-        TYPE_7("7","卷被");
-
-
-private String code;
-private String name;
-
-private XmznEnumDevsubtype(String code, String name){
-        this.code = code;
-        this.name = name;
-        }
-
-public String getCode(){
-        return this.code;
-        }
-public String getName(){
-        return this.name;
-        }
-
-
-        /**
-         * 根据code查找
-         * @param code 枚举code
-         * @return 枚举对象
-         */
-        public static XmznEnumDevsubtype findEnumByCode(String code) {
-                for (XmznEnumDevsubtype statusEnum : XmznEnumDevsubtype.values()) {
-                        if (statusEnum.getCode().equals(code)) {
-                                return statusEnum;
-                        }
-                }
-                return null;
-        }
-
-        }

+ 0 - 88
src/main/java/com/yunfeiyun/agmp/iot/common/constant/device/xmzn/XmznFactorUtil.java

@@ -1,88 +0,0 @@
-package com.yunfeiyun.agmp.iot.common.constant.device.xmzn;
-
-import com.yunfeiyun.agmp.common.utils.DateUtils;
-import com.yunfeiyun.agmp.common.utils.StringUtils;
-import com.yunfeiyun.agmp.iot.common.domain.EnumFactorDto;
-import com.yunfeiyun.agmp.iot.common.domain.IotDevicefactor;
-import com.yunfeiyun.agmp.iot.common.domain.IotXphEnumDataDto;
-import com.yunfeiyun.agmp.iot.common.domain.IotXphLast24hDto;
-import com.yunfeiyun.agmp.iot.common.domain.resvo.IotDeviceResVo;
-import com.yunfeiyun.agmp.iot.common.domain.resvo.IotXphLast24hResVo;
-import com.yunfeiyun.agmp.iot.common.enums.EnumCommonDataFactor;
-import com.yunfeiyun.agmp.iot.common.enums.XmznEnumDeviceData;
-
-import java.util.*;
-
-public class XmznFactorUtil {
-    public static Map<String, IotDevicefactor> getDevicefactorMap(List<IotDevicefactor> factorList){
-        Map<String, IotDevicefactor> devicefactorMap = new HashMap<>();
-        for (IotDevicefactor iotDevicefactor : factorList) {
-            String dfCode = iotDevicefactor.getDfCode();
-            String dfName = iotDevicefactor.getDfAddress();
-            String key = "";
-            if (StringUtils.isNotEmpty(dfCode)) {
-                key += dfCode;
-            }
-            if (StringUtils.isNotEmpty(dfName)) {
-                key += dfName;
-            }
-            devicefactorMap.put(key, iotDevicefactor);
-        }
-        return devicefactorMap;
-    }
-
-    private static IotDevicefactor setXmznDisplayname(EnumFactorDto resVo, Map<String, IotDevicefactor> devicefactorMap){
-        IotDevicefactor iotDevicefactor = null;
-        /* 使用的是小马智农要素 */
-        XmznEnumDeviceData findEnum = XmznEnumDeviceData.findEnumByCode(resVo.getFactorCode());
-        if (findEnum != null) {
-            resVo.setFactorName(findEnum.getName());
-            resVo.setFactorUnit(findEnum.getUnit());
-        }
-
-        /* 设置自定义要素名称 */
-        String dfCode = resVo.getFactorCode();
-        String dfName = resVo.getAddress();
-        String key = "";
-        if (StringUtils.isNotEmpty(dfCode)) {
-            key += dfCode;
-        }
-        if (StringUtils.isNotEmpty(dfName)) {
-            key += dfName;
-        }
-        if (devicefactorMap.containsKey(key)) {
-            iotDevicefactor = devicefactorMap.get(key);
-            resVo.setFactorDisplayname(iotDevicefactor.getDfDisplayname());
-        }
-        return iotDevicefactor;
-    }
-
-    public static IotDevicefactor setDisplayname(EnumFactorDto resVo, Map<String, IotDevicefactor> devicefactorMap, IotXphEnumDataDto dataitem, String devtypeBid){
-        return setXmznDisplayname(resVo, devicefactorMap);
-    }
-
-    public static List<IotXphLast24hResVo> processLast24hData(List<IotXphLast24hDto> dataList, List<IotDevicefactor> factorList, IotDeviceResVo iotDeviceResVo)
-    {
-        String devtypeBid = iotDeviceResVo.getDevtypeBid();
-        Map<String, IotDevicefactor> devicefactorMap = getDevicefactorMap(factorList);
-
-        List<IotXphLast24hResVo> retList = new ArrayList<>();
-        for (IotXphLast24hDto dataitem : dataList) {
-            IotXphLast24hResVo iotXphLast24hResVo = new IotXphLast24hResVo();
-            iotXphLast24hResVo.setFactorCode(dataitem.getEKey());
-            iotXphLast24hResVo.setMaxVal(dataitem.getMaxVal());
-            iotXphLast24hResVo.setMinVal(dataitem.getMinVal());
-            iotXphLast24hResVo.setMaxValdate(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, dataitem.getMaxValdate()));
-            iotXphLast24hResVo.setMinValdate(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, dataitem.getMinValdate()));
-            iotXphLast24hResVo.setAddress(dataitem.getENum());
-
-            /* 设置要素名称 用于联合唯一 和前端区分显示 */
-            IotDevicefactor iotDevicefactor = setDisplayname(iotXphLast24hResVo, devicefactorMap, dataitem, devtypeBid);
-            if(iotDevicefactor != null && Objects.equals(iotDevicefactor.getDfDisable(), "1")) {
-                continue;
-            }
-            retList.add(iotXphLast24hResVo);
-        }
-        return retList;
-    }
-}

+ 0 - 280
src/main/java/com/yunfeiyun/agmp/iot/common/constant/device/xmzn/XmznUtil.java

@@ -1,280 +0,0 @@
-package com.yunfeiyun.agmp.iot.common.constant.device.xmzn;
-
-import cn.hutool.core.comparator.CompareUtil;
-import com.alibaba.fastjson2.JSONArray;
-import com.alibaba.fastjson2.JSONObject;
-import com.yunfeiyun.agmp.common.constant.ErrorCode;
-import com.yunfeiyun.agmp.common.exception.BaseException;
-import com.yunfeiyun.agmp.common.utils.JSONUtils;
-import com.yunfeiyun.agmp.common.utils.ObjectUtil;
-import com.yunfeiyun.agmp.common.utils.StringUtils;
-import com.yunfeiyun.agmp.iot.common.constant.IotErrorCode;
-import com.yunfeiyun.agmp.iot.common.constant.device.xmzn.XmznEnumCtrlCode;
-import com.yunfeiyun.agmp.iot.common.constant.device.xmzn.XmznEnumDeviceClass;
-import com.yunfeiyun.agmp.iot.common.constant.devicetype.IotDeviceDictConst;
-import com.yunfeiyun.agmp.iot.common.domain.IotDevice;
-import com.yunfeiyun.agmp.iot.common.domain.IotDevicefactor;
-import com.yunfeiyun.agmp.iot.common.domain.IotXmzninstdata;
-import com.yunfeiyun.agmp.iot.common.domain.IotYfqxzdata;
-import com.yunfeiyun.agmp.iot.common.domain.resvo.IotSensdataResVo;
-import com.yunfeiyun.agmp.iot.common.enums.XmznEnumDeviceData;
-import com.yunfeiyun.agmp.iot.common.exception.IotBaseException;
-import com.yunfeiyun.agmp.iot.common.exception.IotBizException;
-import com.yunfeiyun.agmp.iot.common.exception.IotUtilException;
-import org.apache.http.util.TextUtils;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class XmznUtil {
-
-    public static String getMac(String devCode){
-        String[] arr = devCode.split("-");
-        if(arr.length==3){
-            return arr[0];
-        }
-
-        return "";
-    }
-
-    public static String getAddr(String devCode){
-        String[] arr = devCode.split("-");
-        if(arr.length==3){
-            return arr[1];
-        }
-
-        return "";
-    }
-
-    public static String getCls(String devCode){
-        String[] arr = devCode.split("-");
-        if(arr.length==3){
-            return arr[2];
-        }
-
-        return "";
-    }
-
-    public static XmznEnumDeviceClass getDeviceClassIdByCtrlCode(int code){
-
-        if(XmznEnumCtrlCode.S3_1.getCode()==code
-                ||XmznEnumCtrlCode.S3_2.getCode()==code
-                ||XmznEnumCtrlCode.S3_3.getCode()==code){
-            return XmznEnumDeviceClass.TYPE_2;
-        }else if(XmznEnumCtrlCode.S2_1.getCode()==code
-                ||XmznEnumCtrlCode.S2_2.getCode()==code){
-            return XmznEnumDeviceClass.TYPE_1;
-        }
-
-        return XmznEnumDeviceClass.UNKNOWN;
-    }
-
-    public static boolean checkMac(String mac){
-        if(TextUtils.isEmpty(mac)){
-            return false;
-        }
-
-        /*
-        厂家测试环境中,设备的mac不规范!暂不校验
-        if(mac.length()!=15){
-            return false;
-        }*/
-
-        return true;
-    }
-
-    /**
-     * 根据要素code+address取出“自定义名称”
-     * @param factorCode
-     * @param address
-     * @param factorList
-     * @return
-     */
-    public static String getFactorDisplayname(String factorCode, String address, List<IotDevicefactor> factorList){
-        String ret = "";
-
-        if(StringUtils.isEmpty(factorCode)||factorList==null||factorList.size()==0
-                || StringUtils.isEmpty(address)
-        ){
-            return ret;
-        }
-
-        for (IotDevicefactor item:factorList
-        ) {
-            if(factorCode.equals(item.getDfCode())
-                && address.equals(item.getDfAddress())
-            ){
-                ret = item.getDfDisplayname();
-                break;
-            }
-        }
-
-        return ret;
-    }
-
-    public static IotDevicefactor getFactorByCode(String factorCode, List<IotDevicefactor> factorList){
-
-
-        if(TextUtils.isEmpty(factorCode)||factorList==null||factorList.size()==0){
-            return null;
-        }
-
-        for (IotDevicefactor item:factorList
-        ) {
-            if(factorCode.equals(item.getDfCode())){
-               return item;
-            }
-        }
-
-        return null;
-    }
-
-    /**
-     * 把数据加工一下:附加上数据要素的 中文名称、自定义名称、单位
-     *
-     * (注意:处理之后,arr里面是IotXmzninstdata实例)
-     *
-     * @param jarrData
-     * @return
-     */
-    public static JSONArray processInstData(String devBid, JSONArray jarrData, List<IotDevicefactor> factorList){
-
-
-
-
-        List<IotXmzninstdata> retList = new ArrayList<>();
-        for (Object item:
-                jarrData) {
-
-            IotXmzninstdata dataitem = JSONUtils.toObject(item.toString(),IotXmzninstdata.class);
-
-            if(dataitem!=null){
-
-                String factorCode = dataitem.getData_class();
-
-                if(TextUtils.isEmpty(factorCode)){
-                    continue;
-                }
-
-                XmznEnumDeviceData findEnum = XmznEnumDeviceData.findEnumByCode(factorCode);
-
-                if(findEnum!=null){
-                    dataitem.setFactorName(findEnum.getName());
-                    dataitem.setFactorUnit(findEnum.getUnit());
-                }
-
-                dataitem.setFactorDisplayname(
-                        XmznUtil.getFactorDisplayname(factorCode,""+dataitem.getAddress(),factorList)
-                );
-
-                retList.add(dataitem);
-            }
-
-
-        }
-
-
-
-        return JSONArray.copyOf(retList);
-    }
-
-    /**
-     * 判断是否是采集类设备
-     * @return
-     */
-    public static boolean isAcqdevice(IotDevice device){
-        if(device==null){
-            throw new IotBaseException(IotErrorCode.PARAM_NULL);
-        }
-
-        //根据subtype判断,废弃
-
-//        if(XmznEnumDevsubtype.TYPE_1.getCode().equals(device.getDevSubtype())
-//                ||XmznEnumDevsubtype.TYPE_2.getCode().equals(device.getDevSubtype())
-//                ||XmznEnumDevsubtype.TYPE_3.getCode().equals(device.getDevSubtype())
-//                ||XmznEnumDevsubtype.TYPE_6.getCode().equals(device.getDevSubtype())){
-//            return true;
-//        }
-
-        if(IotDeviceDictConst.TYPE_XMZN_PNHJJC.equals(device.getDevtypeBid())
-        ||IotDeviceDictConst.TYPE_XMZN_QXZ.equals(device.getDevtypeBid())
-                ||IotDeviceDictConst.TYPE_XMZN_SQZ.equals(device.getDevtypeBid())
-                ||IotDeviceDictConst.TYPE_XMZN_GSSQ.equals(device.getDevtypeBid())
-        ){
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * 查看jsonarr里面有没有key的值是val的
-     * @param jsonArray
-     * @param key
-     * @param val
-     * @return
-     */
-    public static boolean hasValue(JSONArray jsonArray,String key,Object val){
-        if(jsonArray==null||TextUtils.isEmpty(key)||val==null){
-            return false;
-        }
-
-        for (Object obj:jsonArray
-             ) {
-            JSONObject jobj = (JSONObject) obj;
-            if(val.equals(jobj.get(key))){
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    /**
-     * 判断给定的设备类型标识符是否为 小马智农 设备
-     *
-     * @param devtypeBid 设备类型标识符
-     * @return 如果给定的设备类型标识符是Xmzn设备则返回true,否则返回false
-     */
-    public static boolean isXmznDevice(String devtypeBid){
-        if (IotDeviceDictConst.TYPE_XMZN_PNHJJC.equals(devtypeBid)
-            || IotDeviceDictConst.TYPE_XMZN_QXZ.equals(devtypeBid)
-            || IotDeviceDictConst.TYPE_XMZN_GSSQ.equals(devtypeBid)
-            || IotDeviceDictConst.TYPE_XMZN_SQZ.equals(devtypeBid)
-            || IotDeviceDictConst.TYPE_XMZN_JB.equals(devtypeBid)
-            || IotDeviceDictConst.TYPE_XMZN_JM.equals(devtypeBid)
-        ){
-            return true;
-        }
-        return false;
-    }
-
-    /**
-     * 是否小马智农采集类设备
-     * @param devtypeBid
-     * @return
-     */
-    public static boolean isAcqdevice(String devtypeBid){
-        if (IotDeviceDictConst.TYPE_XMZN_PNHJJC.equals(devtypeBid)
-                || IotDeviceDictConst.TYPE_XMZN_QXZ.equals(devtypeBid)
-                || IotDeviceDictConst.TYPE_XMZN_GSSQ.equals(devtypeBid)
-                || IotDeviceDictConst.TYPE_XMZN_SQZ.equals(devtypeBid)
-        ){
-            return true;
-        }
-        return false;
-    }
-
-
-    public static boolean hasData(IotXmzninstdata data, List<IotXmzninstdata> list){
-
-        for (IotXmzninstdata item:list){
-            if((item.getData_class()+item.getAddress())
-                    .equals(data.getData_class()+data.getAddress())){
-                return true;
-            }
-        }
-
-        return false;
-    }
-}

+ 0 - 538
src/main/java/com/yunfeiyun/agmp/iot/common/constant/device/xph/XphFactorUtil.java

@@ -1,538 +0,0 @@
-package com.yunfeiyun.agmp.iot.common.constant.device.xph;
-
-import com.alibaba.fastjson2.JSONObject;
-import com.yunfeiyun.agmp.common.enums.RedisCacheKey;
-import com.yunfeiyun.agmp.common.framework.manager.RedisCacheManager;
-import com.yunfeiyun.agmp.common.utils.DateUtils;
-import com.yunfeiyun.agmp.common.utils.StringUtils;
-import com.yunfeiyun.agmp.common.utils.spring.SpringUtils;
-import com.yunfeiyun.agmp.iot.common.constant.devicetype.IotDeviceDictConst;
-import com.yunfeiyun.agmp.iot.common.domain.*;
-import com.yunfeiyun.agmp.iot.common.domain.resvo.*;
-import com.yunfeiyun.agmp.iot.common.enums.EnumCommonDataFactor;
-import com.yunfeiyun.agmp.iot.common.enums.XphEnumFactor;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.http.util.TextUtils;
-
-import java.util.*;
-
-@Slf4j
-public class XphFactorUtil {
-
-    public static Map<String, String> getXphHttpEleNameMap(IotDeviceResVo iotDeviceResVo){
-        String devtypeBid = iotDeviceResVo.getDevtypeBid();
-        String devCode = iotDeviceResVo.getDevCode();
-
-        List<JSONObject> deviceList = XphRedisUtil.getDeviceList(devtypeBid);
-
-        Map<String, Map<String, String>> eleNameMap = new HashMap<>();
-        if(deviceList == null || deviceList.isEmpty()){
-            ;
-        }else{
-            for(JSONObject jsonObject: deviceList){
-                Map<String, String> e = new HashMap<>();
-                String facId = jsonObject.getString("facId");
-                String eleName = jsonObject.getString("eleName");
-                String[] eleNameArrays = eleName.split("/");
-                for(int i=0; i<eleNameArrays.length; i++){
-                    String eKey = "e" + (i+1);
-                    String eName = eleNameArrays[i].trim();
-                    if(eName.equals("-")){
-                        continue;
-                    }
-                    e.put(eKey, eName);
-                }
-                if(!e.isEmpty()){
-                    eleNameMap.put(facId, e);
-                }
-            }
-        }
-
-        return eleNameMap.getOrDefault(devCode, new HashMap<String, String>());
-    }
-
-    private static Map<String, Integer> getEnumCounterMap(List<? extends IotXphEnumDataDto> dataList){
-        Map<String, Integer> eNumCounterMap = new HashMap<>();
-        for (IotXphEnumDataDto dataitem : dataList) {
-            String eNum = dataitem.getENum();
-            eNumCounterMap.put(eNum, eNumCounterMap.getOrDefault(eNum, 0) + 1);
-        }
-        return eNumCounterMap;
-    }
-
-    /**
-     * 取通道信息MAP
-     * @param dataList
-     * @return
-     */
-    private static Map<String, List<String>> getEnumAddressMap(List<? extends IotXphEnumDataDto> dataList){
-        Map<String, List<String>> eNumAddressMap = new HashMap<>();
-        for (IotXphEnumDataDto dataitem : dataList) {
-            String eNum = dataitem.getENum();
-            List<String> addressList = eNumAddressMap.getOrDefault(eNum, new ArrayList<>());
-            String address = String.join("-", dataitem.getEName(), dataitem.getEKey());
-            if(!addressList.contains(address)){
-                addressList.add(address);
-            }
-            eNumAddressMap.put(eNum, addressList);
-        }
-
-        //每个addressList排序一下
-        eNumAddressMap.forEach((k, v) -> {
-            Collections.sort(v);
-        });
-
-        return eNumAddressMap;
-    }
-
-    public static Map<String, IotDevicefactor> getDevicefactorMap(List<IotDevicefactor> factorList){
-        Map<String, IotDevicefactor> devicefactorMap = new HashMap<>();
-        for (IotDevicefactor iotDevicefactor : factorList) {
-            String dfCode = iotDevicefactor.getDfCode();
-            String dfName = iotDevicefactor.getDfName();
-            String key = "";
-            if (StringUtils.isNotEmpty(dfCode)) {
-                key += dfCode;
-            }
-            if (StringUtils.isNotEmpty(dfName)) {
-                key += dfName;
-            }
-            devicefactorMap.put(key, iotDevicefactor);
-        }
-        return devicefactorMap;
-    }
-
-    /**
-     * key:  code#address
-     * @param factorList
-     * @return
-     */
-    private static Map<String, IotDevicefactor> getDevicefactorMap2(List<IotDevicefactor> factorList){
-        Map<String, IotDevicefactor> devicefactorMap = new HashMap<>();
-        for (IotDevicefactor iotDevicefactor : factorList) {
-            devicefactorMap.put(iotDevicefactor.getDfCode()+"#"+iotDevicefactor.getDfAddress(), iotDevicefactor);
-        }
-        return devicefactorMap;
-    }
-
-    private static IotXphhttpeleconfig getXphHttpEleNum(String eNum){
-        RedisCacheManager redisCacheManager = SpringUtils.getBean("redisCacheManager");
-        String redisKey = XphRedisUtil.eleConfigKey;
-        Map<String, IotXphhttpeleconfig> configMap = redisCacheManager.getCacheObject(RedisCacheKey.IOT_XPH_HTTP_DATA, redisKey);
-        IotXphhttpeleconfig iotXphhttpeleconfig = null;
-        if(configMap.containsKey(eNum)){
-            iotXphhttpeleconfig = configMap.get(eNum);
-        }
-        return iotXphhttpeleconfig;
-    }
-
-    public static String getAddress(String eName, String eKey){
-        return eName + "-" + eKey;
-    }
-
-    private static IotDevicefactor setYfDisplayname(EnumFactorDto resVo, Map<String, IotDevicefactor> devicefactorMap){
-        IotDevicefactor iotDevicefactor = null;
-        /* 新浦会使用的是云飞气象站要素 */
-        //YfqxzEnumFactor findEnum = YfqxzEnumFactor.findEnumByCode(resVo.getFactorCode());
-        //改用新普惠自己的enum
-        XphEnumFactor findEnum = XphEnumFactor.findEnumByCode(resVo.getFactorCode());
-        if (findEnum != null) {
-            resVo.setFactorName(findEnum.getName());
-            resVo.setFactorUnit(findEnum.getUnit());
-
-            /* 转换成通用要素 */
-            EnumCommonDataFactor commonDataFactor = XphEnumFactor.toCommonFactor(findEnum);
-            if (commonDataFactor != null) {
-                resVo.setFactorCode(commonDataFactor.getCode());
-                resVo.setFactorName(commonDataFactor.getName());
-                resVo.setFactorUnit(commonDataFactor.getUnit());
-            }
-        }
-
-        /* 设置自定义要素名称 */
-        String dfCode = resVo.getFactorCode();
-        String dfName = resVo.getAddress();
-        String key = "";
-        if (StringUtils.isNotEmpty(dfCode)) {
-            key += dfCode;
-        }
-        if (StringUtils.isNotEmpty(dfName)) {
-            key += dfName;
-        }
-        if (devicefactorMap.containsKey(key)) {
-            iotDevicefactor = devicefactorMap.get(key);
-            resVo.setFactorDisplayname(iotDevicefactor.getDfDisplayname());
-        }
-        return iotDevicefactor;
-    }
-
-    private static IotDevicefactor setXphHttpDisplayname(EnumFactorDto resVo, Map<String, IotDevicefactor> devicefactorMap){
-        IotDevicefactor iotDevicefactor = null;
-        /* 新浦会使用的是云飞气象站要素 */
-        IotXphhttpeleconfig iotXphhttpeleconfig = getXphHttpEleNum(resVo.getFactorCode());
-        if (iotXphhttpeleconfig != null) {
-            resVo.setFactorName(iotXphhttpeleconfig.getXphEleCname());
-            resVo.setFactorUnit(iotXphhttpeleconfig.getXphEleUnit());
-        }
-
-        /* 设置自定义要素名称 */
-        String dfCode = resVo.getFactorCode();
-        String dfName = resVo.getAddress();
-        String key = "";
-        if (StringUtils.isNotEmpty(dfCode)) {
-            key += dfCode;
-        }
-        if (StringUtils.isNotEmpty(dfName)) {
-            key += dfName;
-        }
-        if (devicefactorMap.containsKey(key)) {
-            iotDevicefactor = devicefactorMap.get(key);
-            resVo.setFactorDisplayname(iotDevicefactor.getDfDisplayname());
-        }
-        return iotDevicefactor;
-    }
-
-    public static IotDevicefactor setDisplayname(EnumFactorDto resVo, Map<String, IotDevicefactor> devicefactorMap, IotXphEnumDataDto dataitem, String devtypeBid){
-        IotDevicefactor iotDevicefactor = null;
-        resVo.setAddress(getAddress(dataitem.getEName(), dataitem.getEKey()));
-        if(Objects.equals(devtypeBid, IotDeviceDictConst.TYPE_XPH_WSHJ_JC)
-                || Objects.equals(devtypeBid, IotDeviceDictConst.TYPE_XPH_TRSH_CL)
-                || Objects.equals(devtypeBid, IotDeviceDictConst.TYPE_XPH_GP_QXZ)
-        ){
-            iotDevicefactor = setXphHttpDisplayname(resVo, devicefactorMap);
-        }else{
-            iotDevicefactor = setYfDisplayname(resVo, devicefactorMap);
-        }
-        return iotDevicefactor;
-    }
-
-    public static List<IotXphSensdataResVo> processInstData(String devBid, List<IotXphdata> dataList, List<IotDevicefactor> factorList, IotDeviceResVo iotDeviceResVo){
-        return processInstData(devBid, dataList, factorList, iotDeviceResVo, true);
-    }
-
-    public static List<IotXphSensdataResVo> processInstData(
-            String devBid, List<IotXphdata> dataList, List<IotDevicefactor> factorList,
-            IotDeviceResVo iotDeviceResVo, boolean isDisable
-    ) {
-        String devtypeBid = iotDeviceResVo.getDevtypeBid();
-        String devCode = iotDeviceResVo.getDevCode();
-        //Map<String, Integer> eNumCounterMap = getEnumCounterMap(dataList);
-        Map<String, List<String>> eNumAddressMap = getEnumAddressMap(dataList);
-        Map<String, IotDevicefactor> devicefactorMap = getDevicefactorMap(factorList);
-        Map<String, String> eleNameMap = XphFactorUtil.getXphHttpEleNameMap(iotDeviceResVo);
-
-        //对dataList按照enum+ename+ekey进行排序
-        dataList.sort((o1, o2) -> {
-            return String.join("-",o1.getENum(),o1.getEName(),o1.getEKey()).compareTo(String.join("-",o2.getENum(),o2.getEName(),o2.getEKey()));
-        });
-
-        List<IotXphSensdataResVo> retList = new ArrayList<>();
-        for (IotXphdata dataitem : dataList) {
-            String eNum = dataitem.getENum();
-            //Integer eNumCount = eNumCounterMap.get(eNum);
-            List<String> addressList = eNumAddressMap.get(eNum);
-
-            IotXphSensdataResVo iotXphSensdataResVo = new IotXphSensdataResVo();
-            iotXphSensdataResVo.setFactorCode(dataitem.getENum());
-            iotXphSensdataResVo.setNumber(dataitem.getEValue());
-            iotXphSensdataResVo.setTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, dataitem.getTime()));
-            iotXphSensdataResVo.setDevBid(dataitem.getDevBid());
-            iotXphSensdataResVo.setCId(dataitem.getCId());
-
-            /* 设置要素名称 用于联合唯一 和前端区分显示 */
-            IotDevicefactor iotDevicefactor = setDisplayname(iotXphSensdataResVo, devicefactorMap, dataitem, devtypeBid);
-            String dfDisable = "0";
-            if(iotDevicefactor != null){
-                dfDisable = iotDevicefactor.getDfDisable();
-                if(!isDisable && Objects.equals(dfDisable,"1")){
-                    continue;
-                }
-            }
-            iotXphSensdataResVo.setDfDisable(dfDisable);
-
-            if(IotDeviceDictConst.TYPE_XPH_TRSH_CL.equals(devtypeBid)){
-                if(!StringUtils.isEmpty(iotXphSensdataResVo.getFactorName())){
-                    iotXphSensdataResVo.setFactorName(iotXphSensdataResVo.getFactorName().replace("大气", ""));
-                }
-                if(StringUtils.isEmpty(iotXphSensdataResVo.getFactorDisplayname())){
-                    if(eleNameMap.containsKey(dataitem.getEKey())){
-                        iotXphSensdataResVo.setFactorDisplayname(eleNameMap.get(dataitem.getEKey()));
-                    }
-                }
-            }else if(Objects.equals(devtypeBid, IotDeviceDictConst.TYPE_XPH_GP_QXZ)){
-                if(eleNameMap.containsKey(dataitem.getEKey())){
-                    iotXphSensdataResVo.setFactorName(eleNameMap.get(dataitem.getEKey()));
-                }
-            }
-
-            if(!Objects.equals(devtypeBid, IotDeviceDictConst.TYPE_XPH_GP_QXZ) && StringUtils.isEmpty(iotXphSensdataResVo.getFactorDisplayname())){
-                if(addressList.size() > 1){
-                    //log.debug("{}存在多组数据,共{}组,当前第{}组",eNum, eNumCount, eNumCounterMap2.get(eNum));
-                    //存在多组数据
-                    String address = String.join("-", dataitem.getEName(), dataitem.getEKey());
-                    String dspName = ((addressList.indexOf(address)+1) * 10) + "厘米" + iotXphSensdataResVo.getFactorName();
-                    iotXphSensdataResVo.setFactorDisplayname(dspName);
-                }/*else{
-                    log.debug("{}不存在多组数据",eNum);
-                }*/
-            }
-
-            retList.add(iotXphSensdataResVo);
-        }
-        return retList;
-    }
-
-    public static List<IotXphLast24hResVo> processLast24hData(List<IotXphLast24hDto> dataList, List<IotDevicefactor> factorList, String devtypeBid){
-        Map<String, Integer> eNumCounterMap = getEnumCounterMap(dataList);
-
-        Map<String, IotDevicefactor> devicefactorMap = getDevicefactorMap(factorList);
-
-        List<IotXphLast24hResVo> retList = new ArrayList<>();
-        for (IotXphLast24hDto dataitem : dataList) {
-            String eNum = dataitem.getENum();
-            Integer eNumCount = eNumCounterMap.get(eNum);
-
-            IotXphLast24hResVo iotXphLast24hResVo = new IotXphLast24hResVo();
-            iotXphLast24hResVo.setFactorCode(dataitem.getENum());
-            iotXphLast24hResVo.setMaxVal(dataitem.getMaxVal());
-            iotXphLast24hResVo.setMinVal(dataitem.getMinVal());
-            iotXphLast24hResVo.setMaxValdate(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, dataitem.getMaxValdate()));
-            iotXphLast24hResVo.setMinValdate(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, dataitem.getMinValdate()));
-
-            /* 设置要素名称 用于联合唯一 和前端区分显示 */
-            setDisplayname(iotXphLast24hResVo, devicefactorMap, dataitem, devtypeBid);
-            retList.add(iotXphLast24hResVo);
-        }
-        return retList;
-    }
-
-    /**
-     * 自动附加【X厘米YY】
-     * @param dataList
-     * @param factorList
-     * @param devtypeBid
-     * @return
-     */
-    public static List<IotXphLast24hResVo> processLast24hData(List<IotXphLast24hDto> dataList, List<IotDevicefactor> factorList, IotDeviceResVo iotDeviceResVo){
-        String devtypeBid = iotDeviceResVo.getDevtypeBid();
-        String devCode = iotDeviceResVo.getDevCode();
-        Map<String, String> eleNameMap = getXphHttpEleNameMap(iotDeviceResVo);
-
-        HashMap<String,ArrayList<String>> hmData = new HashMap<>();//factorcode-》{adress1,address2,...}
-        //统计多组(分层)信息
-        for (IotXphLast24hDto item:dataList){
-
-            IotSensdataResVo<IotXphLast24hDto> addItem = new IotSensdataResVo<>(item);//设备原始数据类型转换成标准数据类型
-
-            if(TextUtils.isEmpty(addItem.getFactorCode())){
-                //非法数据
-                continue;
-            }
-            if(IotDeviceDictConst.TYPE_XPH_TRSH_CL.equals(devtypeBid) && eleNameMap.containsKey(item.getEKey())){
-                continue;
-            }
-
-            if(StringUtils.isEmpty(addItem.getFactorDisplayname())){
-
-                ArrayList<String> al = hmData.get(addItem.getFactorCode());
-                if(al==null){
-                    al = new ArrayList<>();
-                }
-                if(!al.contains(addItem.getAddress())){
-                    //log.info("{}:新加入{}",addItem.getFactorCode(),addItem.getAddress());
-                    al.add(addItem.getAddress());
-                }else{
-                    //log.info("{}:已加入过{}",addItem.getFactorCode(),addItem.getAddress());
-                }
-
-                //先收集 “层标识”
-                hmData.put(addItem.getFactorCode(),al);
-
-            }
-
-        }
-        //如果存在分层数据,对address进行排序
-        if(hmData.size()>0){
-            for(ArrayList<String> addrList:hmData.values()) {
-                Collections.sort(addrList);
-            }
-        }
-
-        Map<String, IotDevicefactor> devicefactorMap = getDevicefactorMap(factorList);
-
-        List<IotXphLast24hResVo> retList = new ArrayList<>();
-        for (IotXphLast24hDto dataitem : dataList) {
-
-            IotSensdataResVo<IotXphLast24hDto> commonItem = new IotSensdataResVo<>(dataitem);
-            IotXphLast24hResVo iotXphLast24hResVo = new IotXphLast24hResVo();
-//            iotXphLast24hResVo.setFactorCode(commonItem.getFactorCode());
-//            iotXphLast24hResVo.setFactorName(commonItem.getFactorName());
-//            iotXphLast24hResVo.setFactorUnit(commonItem.getFactorUnit());
-            iotXphLast24hResVo.setFactorCode(dataitem.getENum());
-//            iotXphLast24hResVo.setAddress(commonItem.getAddress());
-            iotXphLast24hResVo.setMaxVal(dataitem.getMaxVal());
-            iotXphLast24hResVo.setMinVal(dataitem.getMinVal());
-            iotXphLast24hResVo.setMaxValdate(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, dataitem.getMaxValdate()));
-            iotXphLast24hResVo.setMinValdate(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, dataitem.getMinValdate()));
-
-            /* 设置要素名称 用于联合唯一 和前端区分显示 */
-            IotDevicefactor iotDevicefactor = setDisplayname(iotXphLast24hResVo, devicefactorMap, dataitem, devtypeBid);
-            if(iotDevicefactor!=null && Objects.equals(iotDevicefactor.getDfDisable(), "1")){
-                continue;
-            }
-
-            if(IotDeviceDictConst.TYPE_XPH_TRSH_CL.equals(devtypeBid)){
-                iotXphLast24hResVo.setFactorName(iotXphLast24hResVo.getFactorName().replace("大气", ""));
-                if(StringUtils.isEmpty(iotXphLast24hResVo.getFactorDisplayname())){
-                    iotXphLast24hResVo.setFactorDisplayname(eleNameMap.get(dataitem.getEKey()));
-                }
-            }else if(Objects.equals(devtypeBid, IotDeviceDictConst.TYPE_XPH_GP_QXZ)){
-                if(eleNameMap.containsKey(dataitem.getEKey())){
-                    iotXphLast24hResVo.setFactorName(eleNameMap.get(dataitem.getEKey()));
-                }
-            }
-
-            if(StringUtils.isEmpty(iotXphLast24hResVo.getFactorDisplayname())){//自动附加自定义名称
-                ArrayList<String> al = hmData.get(commonItem.getFactorCode());
-                if(al!=null&&al.size()>1){//超过1层
-                    log.info("{}共{}层,当前第{}层",commonItem.getFactorCode(),al.size(),(al.indexOf(commonItem.getAddress())+1));
-
-                    //if(item.getFactorCode().startsWith("soil_")){
-                    iotXphLast24hResVo.setFactorDisplayname(""+ (al.indexOf(commonItem.getAddress())+1) +"0厘米"+commonItem.getFactorName());
-                    //}else{
-                    //    item.setFactorDisplayname(item.getFactorName()+ (al.indexOf(item.getAddress())+1) );
-                    //}
-
-
-                }
-            }
-
-            retList.add(iotXphLast24hResVo);
-        }
-        return retList;
-    }
-
-    public static List<IotXphDataListResVo> processData(List<IotXphdata> dataList, List<IotDevicefactor> factorList, IotDeviceResVo iotDeviceResVo) {
-        return processData(dataList, factorList, iotDeviceResVo, true);
-    }
-    public static List<IotXphDataListResVo> processData(List<IotXphdata> dataList, List<IotDevicefactor> factorList, IotDeviceResVo iotDeviceResVo, boolean isDisable) {
-        String devtypeBid = iotDeviceResVo.getDevtypeBid();
-        Map<String, List<String>> eNumAddressMap = getEnumAddressMap(dataList);
-        Map<String, String> eleNameMap = getXphHttpEleNameMap(iotDeviceResVo);
-        Map<String, IotDevicefactor> devicefactorMap = getDevicefactorMap(factorList);
-
-        //新建一个:处理存在多组数据的要素的计数器,初始值都设置成1
-
-        //对dataList按照enum+ename+ekey进行排序
-        dataList.sort((o1, o2) -> {
-            return String.join("-",o1.getENum(),o1.getEName(),o1.getEKey()).compareTo(String.join("-",o2.getENum(),o2.getEName(),o2.getEKey()));
-        });
-
-        List<IotXphDataListResVo> retList = new ArrayList<>();
-        for (IotXphdata dataitem : dataList) {
-            String eNum = dataitem.getENum();
-            List<String> addressList = eNumAddressMap.get(eNum);
-
-            IotXphDataListResVo resVo = new IotXphDataListResVo();
-            resVo.setFactorCode(eNum);
-            resVo.setNumber(dataitem.getEValue());
-            resVo.setTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, dataitem.getTime()));
-            resVo.setDevBid(dataitem.getDevBid());
-            resVo.setCId(dataitem.getCId());
-
-            /* 设置要素名称 用于联合唯一 和前端区分显示 */
-            IotDevicefactor iotDevicefactor = setDisplayname(resVo, devicefactorMap, dataitem, devtypeBid);
-            String dfDisable = "0";
-            if(iotDevicefactor != null && Objects.equals(iotDevicefactor.getDfDisable(), "1")){
-                dfDisable = iotDevicefactor.getDfDisable();
-                if(!isDisable && Objects.equals(dfDisable,"1")){
-                    continue;
-                }
-            }
-            resVo.setDfDisable(dfDisable);
-
-            if(IotDeviceDictConst.TYPE_XPH_TRSH_CL.equals(devtypeBid)){
-                if(!StringUtils.isEmpty(resVo.getFactorName())){
-                    resVo.setFactorName(resVo.getFactorName().replace("大气", ""));
-                }
-                if(StringUtils.isEmpty(resVo.getFactorDisplayname()) && eleNameMap.containsKey(dataitem.getEKey())){
-                    resVo.setFactorDisplayname(eleNameMap.get(dataitem.getEKey()));
-                }
-
-            }else if(Objects.equals(devtypeBid, IotDeviceDictConst.TYPE_XPH_GP_QXZ) && eleNameMap.containsKey(dataitem.getEKey())){
-                resVo.setFactorName(eleNameMap.get(dataitem.getEKey()));
-            }
-
-            if(!Objects.equals(devtypeBid, IotDeviceDictConst.TYPE_XPH_GP_QXZ) && StringUtils.isEmpty(resVo.getFactorDisplayname()) && addressList.size() > 1){
-                    //存在多组数据
-                    String address = String.join("-", dataitem.getEName(), dataitem.getEKey());
-                    String dspName = ((addressList.indexOf(address)+1) * 10) + "厘米" + resVo.getFactorName();
-                    resVo.setFactorDisplayname(dspName);
-            }
-
-            retList.add(resVo);
-        }
-
-        return retList;
-    }
-
-    public static List<IotXphChartListResVo> chartProcessData(List<IotXphChartDataDto> dataList, List<IotDevicefactor> factorList, IotDeviceResVo iotDeviceResVo){
-        return chartProcessData(dataList, factorList, iotDeviceResVo, true);
-    }
-
-    public static List<IotXphChartListResVo> chartProcessData(List<IotXphChartDataDto> dataList, List<IotDevicefactor> factorList, IotDeviceResVo iotDeviceResVo, boolean isDisable) {
-        String devtypeBid = iotDeviceResVo.getDevtypeBid();
-        String devCode = iotDeviceResVo.getDevCode();
-        Map<String, Integer> eNumCounterMap = getEnumCounterMap(dataList);
-        Map<String, String> eleNameMap = getXphHttpEleNameMap(iotDeviceResVo);
-        Map<String, IotDevicefactor> devicefactorMap = getDevicefactorMap(factorList);
-
-        List<IotXphChartListResVo> retList = new ArrayList<>();
-        for (IotXphChartDataDto dataitem : dataList) {
-            String eNum = dataitem.getENum();
-            Integer eNumCount = eNumCounterMap.get(eNum);
-
-            IotXphChartListResVo resVo = new IotXphChartListResVo();
-            resVo.setFactorCode(dataitem.getENum());
-            /* 设置要素名称 用于联合唯一 和前端区分显示 */
-            IotDevicefactor iotDevicefactor = setDisplayname(resVo, devicefactorMap, dataitem, devtypeBid);
-            String dfDisable = "0";
-            if(iotDevicefactor != null){
-                dfDisable = iotDevicefactor.getDfDisable();
-                if(!isDisable && Objects.equals(dfDisable,"1")){
-                    continue;
-                }
-            }
-            resVo.setDfDisable(dfDisable);
-
-            resVo.setDatalist(dataitem.getDataList());
-            if(IotDeviceDictConst.TYPE_XPH_TRSH_CL.equals(devtypeBid)){
-                if(!StringUtils.isEmpty(resVo.getFactorName())){
-                    resVo.setFactorName(resVo.getFactorName().replace("大气", ""));
-                }
-                if(StringUtils.isEmpty(resVo.getFactorDisplayname())){
-                    if(eleNameMap.containsKey(dataitem.getEKey())){
-                        resVo.setFactorDisplayname(eleNameMap.get(dataitem.getEKey()));
-                    }
-                }
-            }else if(Objects.equals(devtypeBid, IotDeviceDictConst.TYPE_XPH_GP_QXZ)){
-                if(eleNameMap.containsKey(dataitem.getEKey())){
-                    resVo.setFactorName(eleNameMap.get(dataitem.getEKey()));
-                }
-            }
-
-            if(!Objects.equals(devtypeBid, IotDeviceDictConst.TYPE_XPH_GP_QXZ) && StringUtils.isEmpty(resVo.getFactorDisplayname())){
-                if(eNumCount > 1){
-                    String dspName = (eNumCount * 10) + "厘米" + resVo.getFactorName();
-                    resVo.setFactorDisplayname(dspName);
-                    eNumCounterMap.put(eNum, eNumCount - 1);
-                }
-            }
-
-            retList.add(resVo);
-        }
-        return retList;
-    }
-
-
-}

+ 5 - 0
src/main/java/com/yunfeiyun/agmp/iot/common/domain/dto/IotElementDto.java

@@ -1,7 +1,10 @@
 package com.yunfeiyun.agmp.iot.common.domain.dto;
 
+import com.alibaba.fastjson2.JSONObject;
 import lombok.Data;
 
+import java.util.List;
+
 @Data
 public class IotElementDto {
     public String eNum;
@@ -17,4 +20,6 @@ public class IotElementDto {
     private String address;
 
     private String eUnit;
+
+    public List<JSONObject> dataList;
 }

+ 0 - 326
src/main/java/com/yunfeiyun/agmp/iot/common/domain/resvo/IotSensdataResVo.java

@@ -1,326 +0,0 @@
-package com.yunfeiyun.agmp.iot.common.domain.resvo;
-
-import com.yunfeiyun.agmp.common.annotation.Excel;
-import com.yunfeiyun.agmp.common.utils.DateUtils;
-import com.yunfeiyun.agmp.common.utils.StringUtils;
-import com.yunfeiyun.agmp.iot.common.domain.*;
-import com.yunfeiyun.agmp.iot.common.enums.*;
-import lombok.Data;
-import lombok.extern.slf4j.Slf4j;
-import java.util.Date;
-
-
-/**
- * 采集数据
- * 通用封装
- *
- * @author mzq
- */
-@Slf4j
-@Data
-public class IotSensdataResVo<T> {
-
-    /**
-     * 客户ID
-     */
-    public String cId;
-
-    /**
-     * 设备ID
-     */
-    public String devBid;
-
-
-    /**
-     * 要素编码
-     */
-    public String factorCode;
-
-    /**
-     * 要素名称
-     */
-    @Excel(name = "要素名称")
-    public String factorName;
-    /**
-     * 要素自定义名称
-     */
-    public String factorDisplayname;
-
-    /**
-     * 要素单位
-     */
-    public String factorUnit;
-
-    /**
-     * 要素的值
-     */
-    @Excel(name = "值")
-    public String number;
-
-    /**
-     * 采集时间 (yyyy-MM-dd HH:mm:ss)
-     */
-    public String time;
-
-    /**
-     * 针对同一要素有一组传感器的情况
-     * 能够区分不同传感器的序号或者标识
-     */
-    public String address;
-
-
-    /**
-     * 采集时间 (复制原始值)
-     */
-    public Date datetime;
-
-
-    /**
-     * TODO
-     * 要素单位(项目定制)
-     */
-    public String factorCustomunit;
-
-    public String dfDisable;
-
-
-    public IotSensdataResVo() {
-
-    }
-
-    /**
-     * 原始数据 构造成 标准数据
-     *
-     * @param dataitemT 设备原始数据
-     */
-    public IotSensdataResVo(T dataitemT) {
-
-        if (dataitemT instanceof IotYfqxzdata) {//云飞气象站协议:address是自己拼的,目前是 借用 ename 和 ekey 组合起来行标识
-            IotYfqxzdata dataitem = (IotYfqxzdata) dataitemT;
-
-            //this.factorCode = dataitem.getENum();
-
-            //对应到【标准要素code】
-            YfqxzEnumFactor origFactor = YfqxzEnumFactor.findEnumByCode(dataitem.getENum());
-            if (origFactor == null) {
-                log.error("未定义的原始要素:【{}】", dataitem.getENum());
-                return;
-            }
-            EnumCommonDataFactor commonFactor = YfqxzEnumFactor.toCommonFactor(origFactor);
-            if (commonFactor == null) {
-                log.error("找不到相应的标准要素:【{}】", origFactor);
-                return;
-            }
-            this.factorCode = commonFactor.getCode();
-            this.factorName = commonFactor.getName();
-            this.factorUnit = commonFactor.getUnit();
-
-            this.number = dataitem.getEValue();
-            this.datetime = dataitem.getTime();
-            if (dataitem.getTime() != null) {
-                this.time = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, dataitem.getTime());
-            }
-            this.devBid = dataitem.getDevBid();
-            this.cId = dataitem.getCId();
-            //增加通道标识(必须含分隔符"-")
-            if (!StringUtils.isEmpty(dataitem.getEName())
-                    && !StringUtils.isEmpty(dataitem.getEKey())
-            ) {
-                this.address = dataitem.getEName() + "-" + dataitem.getEKey();
-            } else if (!StringUtils.isEmpty(dataitem.getEName())
-                    && StringUtils.isEmpty(dataitem.getEKey())
-            ) {
-                this.address = dataitem.getEName() + "-";
-            } else if (StringUtils.isEmpty(dataitem.getEName())
-                    && !StringUtils.isEmpty(dataitem.getEKey())
-            ) {
-                this.address = "-" + dataitem.getEKey();
-            } else {
-                this.address = "-";
-            }
-
-        } else if (dataitemT instanceof IotXmzninstdata) {//小马智农:address直接使用
-            IotXmzninstdata dataitem = (IotXmzninstdata) dataitemT;
-
-            //this.factorCode = dataitem.getData_class();
-
-            //对应到【标准要素code】 小马智农是标准的子集,所以直接使用即可
-            EnumCommonDataFactor commonFactor = EnumCommonDataFactor.findEnumByCode(dataitem.getData_class());
-            if (commonFactor == null) {
-                log.error("找不到相应的标准要素:【{}】", dataitem.getData_class());
-                return;
-            }
-            this.factorCode = commonFactor.getCode();
-            this.factorName = commonFactor.getName();
-            this.factorUnit = commonFactor.getUnit();
-
-            this.number = dataitem.getNumber();
-            this.datetime = dataitem.getTime();
-            if (dataitem.getTime() != null) {
-                this.time = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, dataitem.getTime());
-            }
-            this.devBid = dataitem.getDevBid();
-            this.cId = dataitem.getCId();
-            this.address = "" + dataitem.getAddress();
-
-        }
-//        else if (dataitemT instanceof IotAdzngssqdata) {//爱迪智农管式墒情:address直接使用
-//            IotAdzngssqdata dataitem = (IotAdzngssqdata) dataitemT;
-//
-//            //this.factorCode = dataitem.getCode();
-//
-//            //对应到【标准要素code】
-//            EnumCommonDataFactor commonFactor = AdzngssqEnumFactor.toCommonFactor(dataitem.getCode());
-//            if (commonFactor == null) {
-//                log.error("找不到相应的标准要素:【{}】", dataitem.getCode());
-//                return;
-//            }
-//            this.factorCode = commonFactor.getCode();
-//            this.factorName = commonFactor.getName();
-//            this.factorUnit = commonFactor.getUnit();
-//
-//            this.number = dataitem.getValue();
-//            this.datetime = dataitem.getTime();
-//            if (dataitem.getTime() != null) {
-//                this.time = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, dataitem.getTime());
-//            }
-//            this.devBid = dataitem.getDevBid();
-//            this.cId = dataitem.getCId();
-//            this.address = "" + dataitem.getAddress();
-//
-//        }
-        else if (dataitemT instanceof IotXphdata) {// 新浦会,也基本是 云飞气象站协议:address是自己拼的,目前是 借用 ename 和 ekey 组合起来行标识
-            IotXphdata dataitem = (IotXphdata) dataitemT;
-
-            //this.factorCode = dataitem.getENum();
-
-            //对应到【标准要素code】
-            XphEnumFactor origFactor = XphEnumFactor.findEnumByCode(dataitem.getENum());
-            if (origFactor == null) {
-                log.error("暂不支持的原始要素:【{}】", dataitem.getENum());
-                return;
-            }
-            EnumCommonDataFactor commonFactor = XphEnumFactor.toCommonFactor(origFactor);
-            if (commonFactor == null) {
-                log.error("找不到相应的标准要素:【{}】", origFactor);
-                return;
-            }
-            this.factorCode = commonFactor.getCode();
-            this.factorName = commonFactor.getName();
-            this.factorUnit = commonFactor.getUnit();
-
-            this.number = dataitem.getEValue();
-            this.datetime = dataitem.getTime();
-            if (dataitem.getTime() != null) {
-                this.time = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, dataitem.getTime());
-            }
-            this.devBid = dataitem.getDevBid();
-            this.cId = dataitem.getCId();
-            //增加通道标识(必须含分隔符"-")
-            if (!StringUtils.isEmpty(dataitem.getEName())
-                    && !StringUtils.isEmpty(dataitem.getEKey())
-            ) {
-                this.address = dataitem.getEName() + "-" + dataitem.getEKey();
-            } else if (!StringUtils.isEmpty(dataitem.getEName())
-                    && StringUtils.isEmpty(dataitem.getEKey())
-            ) {
-                this.address = dataitem.getEName() + "-";
-            } else if (StringUtils.isEmpty(dataitem.getEName())
-                    && !StringUtils.isEmpty(dataitem.getEKey())
-            ) {
-                this.address = "-" + dataitem.getEKey();
-            } else {
-                this.address = "-";
-            }
-
-        } else if (dataitemT instanceof IotXphChartDataDto) {// 新浦会,也基本是 云飞气象站协议:address是自己拼的,目前是 借用 ename 和 ekey 组合起来行标识
-            IotXphChartDataDto dataitem = (IotXphChartDataDto) dataitemT;
-
-            //this.factorCode = dataitem.getENum();
-
-            //对应到【标准要素code】
-            XphEnumFactor origFactor = XphEnumFactor.findEnumByCode(dataitem.getENum());
-            if (origFactor == null) {
-                log.error("暂不支持的原始要素:【{}】", dataitem.getENum());
-                return;
-            }
-            EnumCommonDataFactor commonFactor = XphEnumFactor.toCommonFactor(origFactor);
-            if (commonFactor == null) {
-                log.error("找不到相应的标准要素:【{}】", origFactor);
-                return;
-            }
-            this.factorCode = commonFactor.getCode();
-            this.factorName = commonFactor.getName();
-            this.factorUnit = commonFactor.getUnit();
-
-            this.number = dataitem.getEValue();
-/*            if(dataitem.getTime()!=null){
-                this.time = DateUtils.parseDateToStr( DateUtils.YYYY_MM_DD_HH_MM_SS, dataitem.getTime());
-            }
-            this.devBid = dataitem.getDevBid();
-            this.cId = dataitem.getCId();*/
-            //增加通道标识(必须含分隔符"-")
-            if (!StringUtils.isEmpty(dataitem.getEName())
-                    && !StringUtils.isEmpty(dataitem.getEKey())
-            ) {
-                this.address = dataitem.getEName() + "-" + dataitem.getEKey();
-            } else if (!StringUtils.isEmpty(dataitem.getEName())
-                    && StringUtils.isEmpty(dataitem.getEKey())
-            ) {
-                this.address = dataitem.getEName() + "-";
-            } else if (StringUtils.isEmpty(dataitem.getEName())
-                    && !StringUtils.isEmpty(dataitem.getEKey())
-            ) {
-                this.address = "-" + dataitem.getEKey();
-            } else {
-                this.address = "-";
-            }
-
-        } else if (dataitemT instanceof IotXphLast24hDto) {
-            IotXphLast24hDto dataitem = (IotXphLast24hDto) dataitemT;
-
-            //this.factorCode = dataitem.getENum();
-
-            //对应到【标准要素code】
-            XphEnumFactor origFactor = XphEnumFactor.findEnumByCode(dataitem.getENum());
-            if (origFactor == null) {
-                log.error("暂不支持的原始要素:【{}】", dataitem.getENum());
-                return;
-            }
-            EnumCommonDataFactor commonFactor = XphEnumFactor.toCommonFactor(origFactor);
-            if (commonFactor == null) {
-                log.error("找不到相应的标准要素:【{}】", origFactor);
-                return;
-            }
-            this.factorCode = commonFactor.getCode();
-            this.factorName = commonFactor.getName();
-            this.factorUnit = commonFactor.getUnit();
-
-            this.number = dataitem.getEValue();
-/*            if(dataitem.getTime()!=null){
-                this.time = DateUtils.parseDateToStr( DateUtils.YYYY_MM_DD_HH_MM_SS, dataitem.getTime());
-            }
-            this.devBid = dataitem.getDevBid();
-            this.cId = dataitem.getCId();*/
-            //增加通道标识(必须含分隔符"-")
-            if (!StringUtils.isEmpty(dataitem.getEName())
-                    && !StringUtils.isEmpty(dataitem.getEKey())
-            ) {
-                this.address = dataitem.getEName() + "-" + dataitem.getEKey();
-            } else if (!StringUtils.isEmpty(dataitem.getEName())
-                    && StringUtils.isEmpty(dataitem.getEKey())
-            ) {
-                this.address = dataitem.getEName() + "-";
-            } else if (StringUtils.isEmpty(dataitem.getEName())
-                    && !StringUtils.isEmpty(dataitem.getEKey())
-            ) {
-                this.address = "-" + dataitem.getEKey();
-            } else {
-                this.address = "-";
-            }
-        }
-
-        this.dfDisable = "0";   //默认“不禁用”
-    }
-
-}

+ 0 - 61
src/main/java/com/yunfeiyun/agmp/iot/common/domain/resvo/IotXmzninstaggregdataResVo.java

@@ -1,61 +0,0 @@
-package com.yunfeiyun.agmp.iot.common.domain.resvo;
-
-
-import com.alibaba.fastjson2.JSONObject;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.yunfeiyun.agmp.common.annotation.Excel;
-import com.yunfeiyun.agmp.iot.common.domain.IotBaseEntity;
-import com.yunfeiyun.agmp.iot.common.domain.IotYfqxzdata;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-import java.util.Date;
-import java.util.List;
-
-/**
- * 小马智农 “实时”数据:各要素合并到一个json *
- *
- */
-@Data
-public class IotXmzninstaggregdataResVo<T>  implements Cloneable{
-
-
-    private String id;
-
-    //@Excel(name = "设备ID")
-    private String devBid;
-
-    @Excel(name = "设备编号")
-    private String devCode;
-
-    @Excel(name = "设备类型")
-    private String devtypeName;
-
-    private Date time;
-
-    @Excel(name = "采集时间")
-    private String timeStr;
-
-    private JSONObject xmzninstdataContent;
-
-    //@Excel(name = "采集数据")
-    private String xmzninstdataContentStr;
-
-    /**
-     * (本分钟)每个上报数据要素详情
-     */
-    @Excel(name = "采集数据")
-    private List<IotSensdataResVo<T>> dataList;
-
-
-    @Override
-    public IotXmzninstaggregdataResVo clone() {
-        try {
-            IotXmzninstaggregdataResVo clone = (IotXmzninstaggregdataResVo) super.clone();
-            // TODO: 复制此处的可变状态,这样此克隆就不能更改初始克隆的内部项
-            return clone;
-        } catch (CloneNotSupportedException e) {
-            throw new AssertionError();
-        }
-    }
-}

+ 2 - 0
src/main/java/com/yunfeiyun/agmp/iot/common/enums/EnumYfQxzElement.java

@@ -11,6 +11,7 @@ public enum EnumYfQxzElement {
     TYPE1("101","大气温度","℃"),
     TYPE2("102","大气湿度","%RH"),
     TYPE3("103","大气压强","hpa"),
+    // 单次降雨量,每次上报后清零
     TYPE4("104","雨量","mm"),
     TYPE5("105","简易总辐射","w/㎡"),
     TYPE6("106","土壤温度","°C"),
@@ -22,6 +23,7 @@ public enum EnumYfQxzElement {
     TYPE11("112","照度","LUX"),
     TYPE12("113","日照时数","h"),
     TYPE13("114","光合","w/㎡"),
+    // 0-24小时雨量累计,每天0点清零
     TYPE14("115","雨量累计","mm"),
     TYPE15("116","辐射累计","MJ/㎡"),
     TYPE16("117","有无雨雪",""),

+ 0 - 72
src/main/java/com/yunfeiyun/agmp/iot/common/enums/XmznEnumDeviceData.java

@@ -1,72 +0,0 @@
-package com.yunfeiyun.agmp.iot.common.enums;
-
-
-/**
- * 小马智农设备    上报数据定义
- */
-public enum XmznEnumDeviceData {
-
-    TYPE1("temperature","温度","℃"),
-    TYPE2("humidity","湿度","%"),
-    TYPE3("co2","二氧化碳浓度","ppm"),
-    TYPE4("illumination","光照度","lx"),
-    TYPE5("soil_temperature","土壤温度","℃"),
-    TYPE6("soil_humidity","土壤湿度","%"),
-    TYPE7("soil_ph","土壤pH",""),
-    TYPE8("soil_ec","土壤EC","uS/cm"),
-    TYPE9("wind_velocity","风速","m/s"),
-    TYPE10("flow","流量","l/h"),
-    TYPE11("wind_direction","风向","度"),
-    TYPE12("sleet","下雨(雪)",""),
-    TYPE13("rainfall","降雨量","mm"),
-    TYPE14("water_ec","水溶液EC",""),
-    TYPE15("water_ph","水溶液pH",""),
-    TYPE16("water_temperature","水溶液温度","℃"),
-    TYPE17("pm25","PM2.5","ug/m3"),
-    TYPE18("pm10","PM10","ug/m3"),
-    TYPE19("noise","噪声","dB"),
-    TYPE20("air_pressure","气压","Kpa"),
-    TYPE25("electric","电流","A"),
-    TYPE26("electric_energy","电能","Kwh"),
-    TYPE27("frequency","频率","hz"),
-    TYPE28("longitude","经度","°"),
-    TYPE29("latitude","纬度","°");
-
-
-    private String code;
-    private String name;
-
-    private String unit;
-
-    private XmznEnumDeviceData(String code, String name, String unit){
-        this.code = code;
-        this.name = name;
-        this.unit = unit;
-    }
-
-    public String getCode(){
-        return this.code;
-    }
-    public String getName(){
-        return this.name;
-    }
-
-    public String getUnit(){
-        return this.unit;
-    }
-
-
-    /**
-     * 根据code查找
-     * @param code 枚举code
-     * @return 枚举对象
-     */
-    public static XmznEnumDeviceData findEnumByCode(String code) {
-        for (XmznEnumDeviceData statusEnum : XmznEnumDeviceData.values()) {
-            if (statusEnum.getCode().equals(code)) {
-                return statusEnum;
-            }
-        }
-       return null;
-    }
-}

+ 0 - 430
src/main/java/com/yunfeiyun/agmp/iot/common/enums/XphEnumFactor.java

@@ -1,430 +0,0 @@
-package com.yunfeiyun.agmp.iot.common.enums;
-
-
-/**
- * 新普惠    上报数据定义
- *
- * 注意:每个项目 需要根据 实际安装的设备的enum定义 来重新整理
- */
-public enum XphEnumFactor {
-
-    TYPE1("101","大气温度","℃"),
-    TYPE2("102","大气湿度","%RH"),
-    TYPE3("103","大气压强","hpa"),
-    TYPE4("104","雨量","mm"),
-    TYPE5("105","简易总辐射","w/㎡"),
-    TYPE6("106","土壤温度","°C"),
-    TYPE6_7("107","土壤湿度","%RH"),
-    TYPE7("108","风速","m/s"),
-    TYPE8("109","风向","°"),
-    TYPE9("110","蒸发","mm"),
-    TYPE10("111","雪量","mm"),
-    TYPE11("112","照度","LUX"),
-    TYPE12("113","日照时数","h"),
-    TYPE13("114","光合","w/㎡"),
-    TYPE14("115","雨量累计","mm"),
-    TYPE15("116","辐射累计","MJ/㎡"),
-    TYPE16("117","有无雨雪",""),
-    TYPE17("118","噪声","分贝"),
-    TYPE18("119","水位","cm"),
-    TYPE19("120","二氧化碳","PPM"),
-    TYPE20("121","曝辐量","cal/cm2"),
-    TYPE25("122","液位","mm"),
-    TYPE26("123","光合有效辐射","W/m2"),
-    TYPE27("124","电压","V"),
-    TYPE28("125","紫外线","w/㎡"),
-    TYPE29("126","粉尘","ug/m3"),
-    TYPE30("127","大气压强","hpa"),
-    TYPE31("128","PH值",""),
-    TYPE32("129","最大风速","m/s"),
-    TYPE33("130","平均风速","m/s"),
-    TYPE34("131","经度","°"),
-    TYPE35("132","纬度","°"),
-    TYPE36("133","海拔高度","m"),
-    TYPE37("134","TBQ总辐射","w/㎡"),
-    TYPE38("135","直接辐射","w/㎡"),
-    TYPE39("136","散射辐射","w/㎡"),
-    TYPE40("138","紫外辐射","w/㎡"),
-    TYPE41("139","贴片温度","°C"),
-    TYPE42("140","露点温度","°C"),
-    TYPE43("141","一氧化碳","PPM"),
-    TYPE44("142","电流","mA"),
-    TYPE45("143","超声波风速","m/s"),
-    TYPE46("144","水温","°C"),
-    TYPE47("145","PM2.5","ug/m³"),
-    TYPE48("146","PM10","ug/m³"),
-    TYPE49("147","PH",""),
-    TYPE50("148","溶解氧","mg/l"),
-    TYPE51("149","氨氮","mg/l"),
-    /*TYPE52("150","电导率","mS/cm"),*/
-    TYPE53("151","浊度","NTU"),
-    TYPE54("152","能见度","m"),
-    TYPE55("153","氨气","ppm"),
-    TYPE56("154","盐分","mg/L"),
-    TYPE57("155","氮","mg/kg"),
-    TYPE58("156","磷","mg/kg"),
-    TYPE59("157","钾","mg/kg"),
-    TYPE60("158","热通量","w/㎡"),
-    TYPE61("159","叶面温度","°C"),
-    TYPE62("160","叶面湿度","%RH"),
-    TYPE63("161","茎秆","cm"),
-    TYPE64("162","负氧离子","个/cm3"),
-    //TYPE65("201","土壤水势","KPA"),
-    TYPE66("202","露点温度","°C"),
-    TYPE67("203","PM100","ug/m³"),
-    /*TYPE68("208","照度","Lux"),*/
-    TYPE69("224","信号强度",""),
-    TYPE70("228","水质pH","Lux"),
-    TYPE71("256","悬浮物","mg/L"),
-    TYPE72("257","透明度","NTU"),
-    TYPE73("211","电导率","mS/cm"),
-    TYPE74("220","土壤电导率","mS/cm")/*新浦会-土壤水势*/,
-    TYPE75("277","土壤水势","KPa")/*新浦会-土壤水势,  跟201重复了,废弃201 */;
-
-
-    private String code;
-    private String name;
-
-    private String unit;
-
-    private XphEnumFactor(String code, String name, String unit){
-        this.code = code;
-        this.name = name;
-        this.unit = unit;
-    }
-
-    public String getCode(){
-        return this.code;
-    }
-    public String getName(){
-        return this.name;
-    }
-
-    public String getUnit(){
-        return this.unit;
-    }
-
-
-    /**
-     * 根据code查找
-     * @param code 枚举code
-     * @return 枚举对象
-     */
-    public static XphEnumFactor findEnumByCode(String code) {
-        for (XphEnumFactor statusEnum : XphEnumFactor.values()) {
-            if (statusEnum.getCode().equals(code)) {
-                return statusEnum;
-            }
-        }
-       return null;
-    }
-
-
-    public static XphEnumFactor fromCommonCode(String commonCode){
-        XphEnumFactor ret = null;
-
-        EnumCommonDataFactor commonFactor = EnumCommonDataFactor.findEnumByCode(commonCode);
-
-        if(commonFactor!=null){
-            if(EnumCommonDataFactor.TYPE_101.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE1;
-            }else if(EnumCommonDataFactor.TYPE_102.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE2;
-            }else if(EnumCommonDataFactor.TYPE_103.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE3;
-            }else if(EnumCommonDataFactor.TYPE_104.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE4;
-            }else if(EnumCommonDataFactor.TYPE_105.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE5;
-            }else if(EnumCommonDataFactor.TYPE_106.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE6;
-            }else if(EnumCommonDataFactor.TYPE_107.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE6_7;
-            }else if(EnumCommonDataFactor.TYPE_108.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE7;
-            }else if(EnumCommonDataFactor.TYPE_109.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE8;
-            }else if(EnumCommonDataFactor.TYPE_110.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE9;
-            }else if(EnumCommonDataFactor.TYPE_111.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE10;
-            }else if(EnumCommonDataFactor.TYPE_112.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE11;
-            }else if(EnumCommonDataFactor.TYPE_113.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE12;
-            }/*else if(EnumCommonDataFactor.TYPE_114.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE13;
-            }*/else if(EnumCommonDataFactor.TYPE_115.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE14;
-            }else if(EnumCommonDataFactor.TYPE_116.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE15;
-            }else if(EnumCommonDataFactor.TYPE_117.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE16;
-            }else if(EnumCommonDataFactor.TYPE_118.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE17;
-            }else if(EnumCommonDataFactor.TYPE_119.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE18;
-            }else if(EnumCommonDataFactor.TYPE_120.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE19;
-            }else if(EnumCommonDataFactor.TYPE_121.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE20;
-            }else if(EnumCommonDataFactor.TYPE_122.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE25;
-            }else if(EnumCommonDataFactor.TYPE_114.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE26;
-            }else if(EnumCommonDataFactor.TYPE_124.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE27;
-            }else if(EnumCommonDataFactor.TYPE_125.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE28;
-            }else if(EnumCommonDataFactor.TYPE_126.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE29;
-            }else if(EnumCommonDataFactor.TYPE_127.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE30;
-            }else if(EnumCommonDataFactor.TYPE_128.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE31;
-            }else if(EnumCommonDataFactor.TYPE_129.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE32;
-            }else if(EnumCommonDataFactor.TYPE_130.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE33;
-            }else if(EnumCommonDataFactor.TYPE_131.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE34;
-            }else if(EnumCommonDataFactor.TYPE_132.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE35;
-            }else if(EnumCommonDataFactor.TYPE_133.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE36;
-            }else if(EnumCommonDataFactor.TYPE_134.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE37;
-            }else if(EnumCommonDataFactor.TYPE_135.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE38;
-            }else if(EnumCommonDataFactor.TYPE_136.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE39;
-            }else if(EnumCommonDataFactor.TYPE_138.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE40;
-            }else if(EnumCommonDataFactor.TYPE_139.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE41;
-            }/*else if(EnumCommonDataFactor.TYPE_140.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE42;
-            }*/else if(EnumCommonDataFactor.TYPE_141.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE43;
-            }else if(EnumCommonDataFactor.TYPE_142.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE44;
-            }else if(EnumCommonDataFactor.TYPE_143.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE45;
-            }else if(EnumCommonDataFactor.TYPE_144.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE46;
-            }else if(EnumCommonDataFactor.TYPE_145.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE47;
-            }else if(EnumCommonDataFactor.TYPE_146.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE48;
-            }else if(EnumCommonDataFactor.TYPE_147.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE49;
-            }else if(EnumCommonDataFactor.TYPE_148.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE50;
-            }else if(EnumCommonDataFactor.TYPE_149.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE51;
-            }/*else if(EnumCommonDataFactor.TYPE_150.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE52;
-            }*/else if(EnumCommonDataFactor.TYPE_151.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE53;
-            }else if(EnumCommonDataFactor.TYPE_152.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE54;
-            }else if(EnumCommonDataFactor.TYPE_153.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE55;
-            }else if(EnumCommonDataFactor.TYPE_154.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE56;
-            }else if(EnumCommonDataFactor.TYPE_155.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE57;
-            }else if(EnumCommonDataFactor.TYPE_156.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE58;
-            }else if(EnumCommonDataFactor.TYPE_157.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE59;
-            }else if(EnumCommonDataFactor.TYPE_158.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE60;
-            }else if(EnumCommonDataFactor.TYPE_159.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE61;
-            }else if(EnumCommonDataFactor.TYPE_160.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE62;
-            }else if(EnumCommonDataFactor.TYPE_161.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE63;
-            }else if(EnumCommonDataFactor.TYPE_162.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE64;
-            }else if(EnumCommonDataFactor.TYPE_201.getCode().equals(commonCode)){
-                //ret = YfqxzEnumFactor.TYPE65;
-                ret = XphEnumFactor.TYPE75;
-            }else if(EnumCommonDataFactor.TYPE_140.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE66;
-            }else if(EnumCommonDataFactor.TYPE_203.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE67;
-            }/*else if(EnumCommonDataFactor.TYPE_112.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE68;
-            }*/else if(EnumCommonDataFactor.TYPE_224.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE69;
-            }else if(EnumCommonDataFactor.TYPE_228.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE70;
-            }else if(EnumCommonDataFactor.TYPE_256.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE71;
-            }else if(EnumCommonDataFactor.TYPE_257.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE72;
-            }else if(EnumCommonDataFactor.TYPE_150.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE73;
-            }else if(EnumCommonDataFactor.TYPE_401.getCode().equals(commonCode)){
-                ret = XphEnumFactor.TYPE74;
-            }
-        }
-
-        return ret;
-    }
-
-    public static EnumCommonDataFactor toCommonFactor(XphEnumFactor yfqxzEnumFactor){
-        if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE1)){
-            return EnumCommonDataFactor.TYPE_101;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE2)){
-            return EnumCommonDataFactor.TYPE_102;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE3)){
-            return EnumCommonDataFactor.TYPE_103;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE4)){
-            return EnumCommonDataFactor.TYPE_104;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE5)){
-            return EnumCommonDataFactor.TYPE_105;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE6)){
-            return EnumCommonDataFactor.TYPE_106;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE6_7)){
-            return EnumCommonDataFactor.TYPE_107;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE7)){
-            return EnumCommonDataFactor.TYPE_108;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE8)){
-            return EnumCommonDataFactor.TYPE_109;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE9)){
-            return EnumCommonDataFactor.TYPE_110;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE10)){
-            return EnumCommonDataFactor.TYPE_111;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE11)){
-            return EnumCommonDataFactor.TYPE_112;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE12)){
-            return EnumCommonDataFactor.TYPE_113;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE13)){
-            return EnumCommonDataFactor.TYPE_114;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE14)){
-            return EnumCommonDataFactor.TYPE_115;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE15)){
-            return EnumCommonDataFactor.TYPE_116;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE16)){
-            return EnumCommonDataFactor.TYPE_117;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE17)){
-            return EnumCommonDataFactor.TYPE_118;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE18)){
-            return EnumCommonDataFactor.TYPE_119;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE19)){
-            return EnumCommonDataFactor.TYPE_120;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE20)){
-            return EnumCommonDataFactor.TYPE_121;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE25)){
-            return EnumCommonDataFactor.TYPE_122;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE26)){
-            return EnumCommonDataFactor.TYPE_114;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE27)){
-            return EnumCommonDataFactor.TYPE_124;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE28)){
-            return EnumCommonDataFactor.TYPE_125;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE29)){
-            return EnumCommonDataFactor.TYPE_126;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE30)){
-            return EnumCommonDataFactor.TYPE_127;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE31)){
-            return EnumCommonDataFactor.TYPE_128;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE32)){
-            return EnumCommonDataFactor.TYPE_129;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE33)){
-            return EnumCommonDataFactor.TYPE_130;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE34)){
-            return EnumCommonDataFactor.TYPE_131;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE35)){
-            return EnumCommonDataFactor.TYPE_132;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE36)){
-            return EnumCommonDataFactor.TYPE_133;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE37)){
-            return EnumCommonDataFactor.TYPE_134;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE38)){
-            return EnumCommonDataFactor.TYPE_135;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE39)){
-            return EnumCommonDataFactor.TYPE_136;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE40)){
-            return EnumCommonDataFactor.TYPE_138;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE41)){
-            return EnumCommonDataFactor.TYPE_139;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE42)){
-            return EnumCommonDataFactor.TYPE_140;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE43)){
-            return EnumCommonDataFactor.TYPE_141;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE44)){
-            return EnumCommonDataFactor.TYPE_142;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE45)){
-            return EnumCommonDataFactor.TYPE_143;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE46)){
-            return EnumCommonDataFactor.TYPE_144;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE47)){
-            return EnumCommonDataFactor.TYPE_145;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE48)){
-            return EnumCommonDataFactor.TYPE_146;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE49)){
-            return EnumCommonDataFactor.TYPE_147;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE50)){
-            return EnumCommonDataFactor.TYPE_148;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE51)){
-            return EnumCommonDataFactor.TYPE_149;
-        }/*else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE52)){
-            return EnumCommonDataFactor.TYPE_150;
-        }*/else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE53)){
-            return EnumCommonDataFactor.TYPE_151;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE54)){
-            return EnumCommonDataFactor.TYPE_152;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE55)){
-            return EnumCommonDataFactor.TYPE_153;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE56)){
-            return EnumCommonDataFactor.TYPE_154;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE57)){
-            return EnumCommonDataFactor.TYPE_155;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE58)){
-            return EnumCommonDataFactor.TYPE_156;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE59)){
-            return EnumCommonDataFactor.TYPE_157;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE60)){
-            return EnumCommonDataFactor.TYPE_158;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE61)){
-            return EnumCommonDataFactor.TYPE_159;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE62)){
-            return EnumCommonDataFactor.TYPE_160;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE63)){
-            return EnumCommonDataFactor.TYPE_161;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE64)){
-            return EnumCommonDataFactor.TYPE_162;
-        }/*else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE65)){
-            return EnumCommonDataFactor.TYPE_201;
-        }*/else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE66)){
-            return EnumCommonDataFactor.TYPE_140;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE67)){
-            return EnumCommonDataFactor.TYPE_203;
-        }/*else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE68)){
-            return EnumCommonDataFactor.TYPE_112;
-        }*/else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE69)){
-            return EnumCommonDataFactor.TYPE_224;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE70)){
-            return EnumCommonDataFactor.TYPE_128;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE71)){
-            return EnumCommonDataFactor.TYPE_256;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE72)){
-            return EnumCommonDataFactor.TYPE_257;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE73)){
-            return EnumCommonDataFactor.TYPE_150;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE74)){
-            return EnumCommonDataFactor.TYPE_401;
-        }else if(yfqxzEnumFactor.equals(XphEnumFactor.TYPE75)){
-            return EnumCommonDataFactor.TYPE_201;
-        }
-
-
-        return null;
-
-    }
-
-}

+ 0 - 437
src/main/java/com/yunfeiyun/agmp/iot/common/enums/YfqxzEnumFactor.java

@@ -1,437 +0,0 @@
-package com.yunfeiyun.agmp.iot.common.enums;
-
-
-/**
- * 云飞气象站    上报数据定义
- *
- * 注意:每个项目 需要根据 实际安装的设备的enum定义 来重新整理
- */
-public enum YfqxzEnumFactor {
-    // code 每个设备厂商不一样,name 都是固定的,要建立一个通用的 name工具类
-    TYPE1("101","大气温度","℃"),
-    TYPE2("102","大气湿度","%RH"),
-    TYPE3("103","大气压强","hpa"),
-    // 单次降雨量,每次上报后清零
-    TYPE4("104","雨量","mm"),
-    TYPE5("105","简易总辐射","w/㎡"),
-    TYPE6("106","土壤温度","°C"),
-    TYPE6_7("107","土壤湿度","%RH"),
-    TYPE7("108","风速","m/s"),
-    TYPE8("109","风向","°"),
-    TYPE9("110","蒸发","mm"),
-    TYPE10("111","雪量","mm"),
-    TYPE11("112","照度","LUX"),
-    TYPE12("113","日照时数","h"),
-    TYPE13("114","光合","w/㎡"),
-    // 24小时雨量累计,每天0点清零
-    TYPE14("115","雨量累计","mm"),
-    TYPE15("116","辐射累计","MJ/㎡"),
-    TYPE16("117","有无雨雪",""),
-    TYPE17("118","噪声","分贝"),
-    TYPE18("119","水位","cm"),
-    TYPE19("120","二氧化碳","PPM"),
-    TYPE20("121","曝辐量","cal/cm2"),
-    TYPE25("122","液位","mm"),
-    TYPE26("123","光合有效辐射","W/m2"),
-    TYPE27("124","电压","V"),
-    TYPE28("125","紫外线","w/㎡"),
-    TYPE29("126","粉尘","ug/m3"),
-    TYPE30("127","大气压强","hpa"),
-    TYPE31("128","PH值",""),
-    TYPE32("129","最大风速","m/s"),
-    TYPE33("130","平均风速","m/s"),
-    TYPE34("131","经度","°"),
-    TYPE35("132","纬度","°"),
-    TYPE36("133","海拔高度","m"),
-    TYPE37("134","TBQ总辐射","w/㎡"),
-    TYPE38("135","直接辐射","w/㎡"),
-    TYPE39("136","散射辐射","w/㎡"),
-    TYPE40("138","紫外辐射","w/㎡"),
-    TYPE41("139","贴片温度","°C"),
-    TYPE42("140","露点温度","°C"),
-    TYPE43("141","一氧化碳","PPM"),
-    TYPE44("142","电流","mA"),
-    TYPE45("143","超声波风速","m/s"),
-    TYPE46("144","水温","°C"),
-    TYPE47("145","PM2.5","ug/m³"),
-    TYPE48("146","PM10","ug/m³"),
-    TYPE49("147","PH",""),
-    TYPE50("148","溶解氧","mg/l"),
-    TYPE51("149","氨氮","mg/l"),
-    TYPE52("150","电导率","mS/cm"),
-    TYPE53("151","浊度","NTU"),
-    TYPE54("152","能见度","m"),
-    TYPE55("153","氨气","ppm"),
-    TYPE56("154","盐分","mg/L"),
-    TYPE57("155","氮","mg/kg"),
-    TYPE58("156","磷","mg/kg"),
-    TYPE59("157","钾","mg/kg"),
-    TYPE60("158","热通量","w/㎡"),
-    TYPE61("159","叶面温度","°C"),
-    TYPE62("160","叶面湿度","%RH"),
-    TYPE63("161","茎秆","cm"),
-    TYPE64("162","负氧离子","个/cm3"),
-    TYPE65("201","土壤水势","KPa"),
-    TYPE66("202","露点温度","°C"),
-    TYPE67("203","PM100","ug/m³"),
-    TYPE68("208","照度","Lux"),
-    TYPE69("224","信号强度",""),
-    TYPE70("228","水质pH","Lux"),
-    TYPE71("256","悬浮物","mg/L"),
-    TYPE72("257","透明度","NTU"),
-    TYPE73("211","电导率","uS/cm"),
-    TYPE74("220","土壤电导率","uS/cm"),
-    TYPE75("232","二氧化氮","PPM"),
-    TYPE178("178","电导率","uS/cm"),
-    TYPE223("223","溶解氧","mg/L");
-
-
-
-
-    private String code;
-    private String name;
-
-    private String unit;
-
-    private YfqxzEnumFactor(String code, String name, String unit){
-        this.code = code;
-        this.name = name;
-        this.unit = unit;
-    }
-
-    public String getCode(){
-        return this.code;
-    }
-    public String getName(){
-        return this.name;
-    }
-
-    public String getUnit(){
-        return this.unit;
-    }
-
-
-    /**
-     * 根据code查找
-     * @param code 枚举code
-     * @return 枚举对象
-     */
-    public static YfqxzEnumFactor findEnumByCode(String code) {
-        for (YfqxzEnumFactor statusEnum : YfqxzEnumFactor.values()) {
-            if (statusEnum.getCode().equals(code)) {
-                return statusEnum;
-            }
-        }
-       return null;
-    }
-
-
-    public static YfqxzEnumFactor  fromCommonCode(String commonCode){
-        YfqxzEnumFactor ret = null;
-
-        EnumCommonDataFactor commonFactor = EnumCommonDataFactor.findEnumByCode(commonCode);
-
-        if(commonFactor!=null){
-            if(EnumCommonDataFactor.TYPE_101.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE1;
-            }else if(EnumCommonDataFactor.TYPE_102.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE2;
-            }else if(EnumCommonDataFactor.TYPE_103.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE3;
-            }else if(EnumCommonDataFactor.TYPE_104.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE4;
-            }else if(EnumCommonDataFactor.TYPE_105.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE5;
-            }else if(EnumCommonDataFactor.TYPE_106.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE6;
-            }else if(EnumCommonDataFactor.TYPE_107.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE6_7;
-            }else if(EnumCommonDataFactor.TYPE_108.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE7;
-            }else if(EnumCommonDataFactor.TYPE_109.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE8;
-            }else if(EnumCommonDataFactor.TYPE_110.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE9;
-            }else if(EnumCommonDataFactor.TYPE_111.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE10;
-            }else if(EnumCommonDataFactor.TYPE_112.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE11;
-            }else if(EnumCommonDataFactor.TYPE_113.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE12;
-            }/*else if(EnumCommonDataFactor.TYPE_114.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE13;
-            }*/else if(EnumCommonDataFactor.TYPE_115.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE14;
-            }else if(EnumCommonDataFactor.TYPE_116.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE15;
-            }else if(EnumCommonDataFactor.TYPE_117.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE16;
-            }else if(EnumCommonDataFactor.TYPE_118.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE17;
-            }else if(EnumCommonDataFactor.TYPE_119.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE18;
-            }else if(EnumCommonDataFactor.TYPE_120.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE19;
-            }else if(EnumCommonDataFactor.TYPE_121.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE20;
-            }else if(EnumCommonDataFactor.TYPE_122.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE25;
-            }else if(EnumCommonDataFactor.TYPE_114.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE26;
-            }else if(EnumCommonDataFactor.TYPE_124.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE27;
-            }else if(EnumCommonDataFactor.TYPE_125.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE28;
-            }else if(EnumCommonDataFactor.TYPE_126.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE29;
-            }else if(EnumCommonDataFactor.TYPE_127.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE30;
-            }else if(EnumCommonDataFactor.TYPE_128.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE31;
-            }else if(EnumCommonDataFactor.TYPE_129.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE32;
-            }else if(EnumCommonDataFactor.TYPE_130.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE33;
-            }else if(EnumCommonDataFactor.TYPE_131.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE34;
-            }else if(EnumCommonDataFactor.TYPE_132.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE35;
-            }else if(EnumCommonDataFactor.TYPE_133.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE36;
-            }else if(EnumCommonDataFactor.TYPE_134.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE37;
-            }else if(EnumCommonDataFactor.TYPE_135.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE38;
-            }else if(EnumCommonDataFactor.TYPE_136.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE39;
-            }else if(EnumCommonDataFactor.TYPE_138.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE40;
-            }else if(EnumCommonDataFactor.TYPE_139.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE41;
-            }/*else if(EnumCommonDataFactor.TYPE_140.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE42;
-            }*/else if(EnumCommonDataFactor.TYPE_141.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE43;
-            }else if(EnumCommonDataFactor.TYPE_142.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE44;
-            }else if(EnumCommonDataFactor.TYPE_143.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE45;
-            }else if(EnumCommonDataFactor.TYPE_144.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE46;
-            }else if(EnumCommonDataFactor.TYPE_145.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE47;
-            }else if(EnumCommonDataFactor.TYPE_146.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE48;
-            }else if(EnumCommonDataFactor.TYPE_147.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE49;
-            }else if(EnumCommonDataFactor.TYPE_148.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE50;
-            }else if(EnumCommonDataFactor.TYPE_149.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE51;
-            }/*else if(EnumCommonDataFactor.TYPE_150.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE52;
-            }*/else if(EnumCommonDataFactor.TYPE_151.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE53;
-            }else if(EnumCommonDataFactor.TYPE_152.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE54;
-            }else if(EnumCommonDataFactor.TYPE_153.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE55;
-            }else if(EnumCommonDataFactor.TYPE_154.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE56;
-            }else if(EnumCommonDataFactor.TYPE_155.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE57;
-            }else if(EnumCommonDataFactor.TYPE_156.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE58;
-            }else if(EnumCommonDataFactor.TYPE_157.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE59;
-            }else if(EnumCommonDataFactor.TYPE_158.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE60;
-            }else if(EnumCommonDataFactor.TYPE_159.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE61;
-            }else if(EnumCommonDataFactor.TYPE_160.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE62;
-            }else if(EnumCommonDataFactor.TYPE_161.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE63;
-            }else if(EnumCommonDataFactor.TYPE_162.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE64;
-            }else if(EnumCommonDataFactor.TYPE_201.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE65;
-            }else if(EnumCommonDataFactor.TYPE_140.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE66;
-            }else if(EnumCommonDataFactor.TYPE_203.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE67;
-            }/*else if(EnumCommonDataFactor.TYPE_112.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE68;
-            }*/else if(EnumCommonDataFactor.TYPE_224.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE69;
-            }else if(EnumCommonDataFactor.TYPE_228.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE70;
-            }else if(EnumCommonDataFactor.TYPE_256.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE71;
-            }else if(EnumCommonDataFactor.TYPE_257.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE72;
-            }else if(EnumCommonDataFactor.TYPE_150.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE73;
-            }else if(EnumCommonDataFactor.TYPE_401.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE74;
-            }else if(EnumCommonDataFactor.TYPE_232.getCode().equals(commonCode)){
-                ret = YfqxzEnumFactor.TYPE75;
-            }
-        }
-
-        return ret;
-    }
-
-    public static EnumCommonDataFactor toCommonFactor(YfqxzEnumFactor yfqxzEnumFactor){
-        if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE1)){
-            return EnumCommonDataFactor.TYPE_101;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE2)){
-            return EnumCommonDataFactor.TYPE_102;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE3)){
-            return EnumCommonDataFactor.TYPE_103;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE4)){
-            return EnumCommonDataFactor.TYPE_104;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE5)){
-            return EnumCommonDataFactor.TYPE_105;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE6)){
-            return EnumCommonDataFactor.TYPE_106;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE6_7)){
-            return EnumCommonDataFactor.TYPE_107;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE7)){
-            return EnumCommonDataFactor.TYPE_108;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE8)){
-            return EnumCommonDataFactor.TYPE_109;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE9)){
-            return EnumCommonDataFactor.TYPE_110;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE10)){
-            return EnumCommonDataFactor.TYPE_111;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE11)){
-            return EnumCommonDataFactor.TYPE_112;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE12)){
-            return EnumCommonDataFactor.TYPE_113;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE13)){
-            return EnumCommonDataFactor.TYPE_114;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE14)){
-            return EnumCommonDataFactor.TYPE_115;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE15)){
-            return EnumCommonDataFactor.TYPE_116;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE16)){
-            return EnumCommonDataFactor.TYPE_117;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE17)){
-            return EnumCommonDataFactor.TYPE_118;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE18)){
-            return EnumCommonDataFactor.TYPE_119;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE19)){
-            return EnumCommonDataFactor.TYPE_120;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE20)){
-            return EnumCommonDataFactor.TYPE_121;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE25)){
-            return EnumCommonDataFactor.TYPE_122;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE26)){
-            return EnumCommonDataFactor.TYPE_114;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE27)){
-            return EnumCommonDataFactor.TYPE_124;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE28)){
-            return EnumCommonDataFactor.TYPE_125;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE29)){
-            return EnumCommonDataFactor.TYPE_126;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE30)){
-            return EnumCommonDataFactor.TYPE_127;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE31)){
-            return EnumCommonDataFactor.TYPE_128;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE32)){
-            return EnumCommonDataFactor.TYPE_129;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE33)){
-            return EnumCommonDataFactor.TYPE_130;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE34)){
-            return EnumCommonDataFactor.TYPE_131;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE35)){
-            return EnumCommonDataFactor.TYPE_132;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE36)){
-            return EnumCommonDataFactor.TYPE_133;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE37)){
-            return EnumCommonDataFactor.TYPE_134;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE38)){
-            return EnumCommonDataFactor.TYPE_135;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE39)){
-            return EnumCommonDataFactor.TYPE_136;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE40)){
-            return EnumCommonDataFactor.TYPE_138;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE41)){
-            return EnumCommonDataFactor.TYPE_139;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE42)){
-            return EnumCommonDataFactor.TYPE_140;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE43)){
-            return EnumCommonDataFactor.TYPE_141;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE44)){
-            return EnumCommonDataFactor.TYPE_142;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE45)){
-            return EnumCommonDataFactor.TYPE_143;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE46)){
-            return EnumCommonDataFactor.TYPE_144;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE47)){
-            return EnumCommonDataFactor.TYPE_145;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE48)){
-            return EnumCommonDataFactor.TYPE_146;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE49)){
-            return EnumCommonDataFactor.TYPE_147;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE50)){
-            return EnumCommonDataFactor.TYPE_148;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE51)){
-            return EnumCommonDataFactor.TYPE_149;
-        }/*else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE52)){
-            return EnumCommonDataFactor.TYPE_150;
-        }*/else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE53)){
-            return EnumCommonDataFactor.TYPE_151;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE54)){
-            return EnumCommonDataFactor.TYPE_152;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE55)){
-            return EnumCommonDataFactor.TYPE_153;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE56)){
-            return EnumCommonDataFactor.TYPE_154;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE57)){
-            return EnumCommonDataFactor.TYPE_155;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE58)){
-            return EnumCommonDataFactor.TYPE_156;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE59)){
-            return EnumCommonDataFactor.TYPE_157;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE60)){
-            return EnumCommonDataFactor.TYPE_158;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE61)){
-            return EnumCommonDataFactor.TYPE_159;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE62)){
-            return EnumCommonDataFactor.TYPE_160;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE63)){
-            return EnumCommonDataFactor.TYPE_161;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE64)){
-            return EnumCommonDataFactor.TYPE_162;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE65)){
-            return EnumCommonDataFactor.TYPE_201;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE66)){
-            return EnumCommonDataFactor.TYPE_140;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE67)){
-            return EnumCommonDataFactor.TYPE_203;
-        }/*else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE68)){
-            return EnumCommonDataFactor.TYPE_112;
-        }*/else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE69)){
-            return EnumCommonDataFactor.TYPE_224;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE70)){
-            return EnumCommonDataFactor.TYPE_228;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE71)){
-            return EnumCommonDataFactor.TYPE_256;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE72)){
-            return EnumCommonDataFactor.TYPE_257;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE73)){
-            return EnumCommonDataFactor.TYPE_150;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE74)){
-            return EnumCommonDataFactor.TYPE_401;
-        }else if(yfqxzEnumFactor.equals(YfqxzEnumFactor.TYPE75)){
-            return EnumCommonDataFactor.TYPE_232;
-        }
-
-
-        return null;
-
-    }
-
-}

+ 4 - 0
src/main/java/com/yunfeiyun/agmp/iot/common/util/BigDecimalUtil.java

@@ -12,6 +12,10 @@ public class BigDecimalUtil {
     }
 
     public static BigDecimal format(String value) {
+        return format(value, scale);
+    }
+
+    public static BigDecimal format(String value, int scale) {
         return new BigDecimal(value).setScale(scale, roundingMode);
     }
 

+ 0 - 339
src/main/java/com/yunfeiyun/agmp/iot/common/util/SensdataUtil.java

@@ -1,339 +0,0 @@
-package com.yunfeiyun.agmp.iot.common.util;
-
-import com.yunfeiyun.agmp.common.utils.StringUtils;
-import com.yunfeiyun.agmp.iot.common.constant.device.xmzn.XmznUtil;
-import com.yunfeiyun.agmp.iot.common.constant.device.xph.XphFactorUtil;
-import com.yunfeiyun.agmp.iot.common.constant.devicetype.IotDeviceDictConst;
-import com.yunfeiyun.agmp.iot.common.domain.IotDevicefactor;
-import com.yunfeiyun.agmp.iot.common.domain.IotXphTrshCldata;
-import com.yunfeiyun.agmp.iot.common.domain.resvo.IotDeviceResVo;
-import com.yunfeiyun.agmp.iot.common.domain.resvo.IotSensdataResVo;
-import com.yunfeiyun.agmp.iot.common.enums.EnumCommonDataFactor;
-import com.yunfeiyun.agmp.iot.common.enums.XmznEnumDeviceData;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.http.util.TextUtils;
-
-import java.util.*;
-
-/**
- * 采集类数据工具类
- */
-@Slf4j
-public class SensdataUtil {
-
-    /**
-     * 把原始数据加工一下:附加上数据要素的 中文名称、自定义名称、单位
-     最近改动:
-     * 已支持 相同数据要素 多组/层时, 针对每组/层 自定义名称;
-     * 多层 土壤类要素,如果没有自定义名称,会自动设置为 X0厘米[标准名称],其它要素 自动设置为 [标准名称]X。
-     *
-     * @param jarrData    原始数据
-     * @param factorList  自定义要素列表
-     * @return
-     */
-
-    public static <T> List<IotSensdataResVo<T>> processInstData(String devBid, List<T> jarrData, List<IotDevicefactor> factorList){
-        return processInstData(devBid,jarrData,factorList,true);
-    }
-
-    public static <T> List<IotSensdataResVo<T>> processInstData(
-            String devBid, List<T> jarrData, List<IotDevicefactor> factorList, boolean isDisable){
-
-
-        List<IotSensdataResVo<T>> retList = new ArrayList<>();
-
-        HashMap<String,ArrayList<String>> hmData = new HashMap<>();//factorcode-》{adress1,address2,...}
-
-        for (T dataitem: jarrData) {
-
-            if(dataitem!=null){
-
-                IotSensdataResVo<T> addItem = new IotSensdataResVo<>(dataitem);//设备原始数据类型转换成标准数据类型
-
-                if(TextUtils.isEmpty(addItem.getFactorCode())){
-                    //非法数据
-                    continue;
-                }
-                IotDevicefactor iotDevicefactor = getDevicefactor(addItem.getFactorCode(),addItem.getAddress(),factorList);
-                if(!isDisable && iotDevicefactor!=null && Objects.equals(iotDevicefactor.getDfDisable(), "1")){
-                    continue;
-                }
-                String factorDisplayname = "";
-                String dfDisable = "0";
-                if(iotDevicefactor!=null) {
-                    factorDisplayname = iotDevicefactor.getDfDisplayname();
-                    dfDisable = iotDevicefactor.getDfDisable();
-                }
-                addItem.setFactorDisplayname(factorDisplayname);
-                addItem.setDfDisable(dfDisable);
-
-                if(StringUtils.isEmpty(addItem.getFactorDisplayname())){
-
-                        ArrayList<String> al = hmData.get(addItem.getFactorCode());
-                        if(al==null){
-                            al = new ArrayList<>();
-                        }
-                        if(!al.contains(addItem.getAddress())){
-                            //log.info("{}:新加入{}",addItem.getFactorCode(),addItem.getAddress());
-                            al.add(addItem.getAddress());
-                        }else{
-                            //log.info("{}:已加入过{}",addItem.getFactorCode(),addItem.getAddress());
-                        }
-
-                        //先收集 “层标识”
-                        hmData.put(addItem.getFactorCode(),al);
-
-                }
-
-                retList.add(addItem);
-            }
-
-
-        }
-
-
-        //如果存在分层数据,对address进行排序
-        if(hmData.size()>0){
-            for(ArrayList<String> addrList:hmData.values()) {
-                Collections.sort(addrList);
-            }
-        }
-
-        //对dataList按照code+address进行排序
-        retList.sort((o1, o2) -> {
-            return String.join("-",o1.getFactorCode(),o1.getAddress()).compareTo(String.join("-",o2.getFactorCode(),o2.getAddress()));
-        });
-
-        for(IotSensdataResVo<T> item:retList){
-            if(StringUtils.isEmpty(item.getFactorDisplayname())){
-
-                ArrayList<String> al = hmData.get(item.getFactorCode());
-                if(al!=null&&al.size()>1){//超过1层
-                    log.debug("{}共{}层,当前第{}层",item.getFactorCode(),al.size(),(al.indexOf(item.getAddress())+1));
-
-                    if(item.getFactorCode().startsWith("soil_")){
-                        item.setFactorDisplayname(""+ (al.indexOf(item.getAddress())+1) +"0厘米"+item.getFactorName());
-                    }else{
-                        item.setFactorDisplayname(item.getFactorName()+ "-" +(al.indexOf(item.getAddress())+1) );
-                    }
-
-
-                }
-
-            }
-        }
-
-
-        return retList;
-    }
-
-    public static <T> List<IotSensdataResVo<T>> processInstData(IotDeviceResVo iotDeviceResVo, List<T> jarrData, List<IotDevicefactor> factorList){
-
-
-        List<IotSensdataResVo<T>> retList = new ArrayList<>();
-
-        HashMap<String,ArrayList<String>> hmData = new HashMap<>();//factorcode-》{adress1,address2,...}
-
-        for (T dataitem:
-                jarrData) {
-
-            if(dataitem!=null){
-
-                IotSensdataResVo<T> addItem = new IotSensdataResVo<>(dataitem);//设备原始数据类型转换成标准数据类型
-
-                if(TextUtils.isEmpty(addItem.getFactorCode())){
-                    //非法数据
-                    continue;
-                }
-
-                addItem.setFactorDisplayname(getFactorDisplayname(addItem.getFactorCode(),addItem.getAddress(),factorList));
-
-                if(StringUtils.isEmpty(addItem.getFactorDisplayname())){
-
-                    ArrayList<String> al = hmData.get(addItem.getFactorCode());
-                    if(al==null){
-                        al = new ArrayList<>();
-                    }
-                    if(!al.contains(addItem.getAddress())){
-                        //log.info("{}:新加入{}",addItem.getFactorCode(),addItem.getAddress());
-                        al.add(addItem.getAddress());
-                    }else{
-                        //log.info("{}:已加入过{}",addItem.getFactorCode(),addItem.getAddress());
-                    }
-
-                    //先收集 “层标识”
-                    hmData.put(addItem.getFactorCode(),al);
-
-                }
-
-                retList.add(addItem);
-            }
-
-
-        }
-
-
-        //如果存在分层数据,对address进行排序
-        if(hmData.size()>0){
-            for(ArrayList<String> addrList:hmData.values()) {
-                Collections.sort(addrList);
-            }
-        }
-
-        //对dataList按照code+address进行排序
-        retList.sort((o1, o2) -> {
-            return String.join("-",o1.getFactorCode(),o1.getAddress()).compareTo(String.join("-",o2.getFactorCode(),o2.getAddress()));
-        });
-
-        if(Objects.equals(iotDeviceResVo.getDevtypeBid(), IotDeviceDictConst.TYPE_XPH_GP_QXZ)){
-            return retList;
-        }
-        for(IotSensdataResVo<T> item:retList){
-            if(StringUtils.isEmpty(item.getFactorDisplayname())){
-
-                ArrayList<String> al = hmData.get(item.getFactorCode());
-                if(al!=null&&al.size()>1){//超过1层
-                    log.debug("{}共{}层,当前第{}层",item.getFactorCode(),al.size(),(al.indexOf(item.getAddress())+1));
-
-                    //if(item.getFactorCode().startsWith("soil_")){
-                    item.setFactorDisplayname(""+ (al.indexOf(item.getAddress())+1) +"0厘米"+item.getFactorName());
-                    //}else{
-                    //    item.setFactorDisplayname(item.getFactorName()+ (al.indexOf(item.getAddress())+1) );
-                    //}
-
-
-                }
-
-            }
-        }
-
-
-        return retList;
-    }
-
-    public static <T> List<IotSensdataResVo<T>> processInstData(String devBid, List<T> jarrData, List<IotDevicefactor> factorList, IotDeviceResVo iotDeviceResVo){
-        String devtypeBid = iotDeviceResVo.getDevtypeBid();
-        String devCode = iotDeviceResVo.getDevCode();
-        Map<String, String> eleNameMap = XphFactorUtil.getXphHttpEleNameMap(iotDeviceResVo);
-        Map<String, IotDevicefactor> devicefactorMap = XphFactorUtil.getDevicefactorMap(factorList);
-
-        List<IotSensdataResVo<T>> retList = new ArrayList<>();
-
-        HashMap<String,ArrayList<String>> hmData = new HashMap<>();//factorcode-》{adress1,address2,...}
-
-        for (T dataitem: jarrData) {
-
-            if(dataitem!=null){
-
-                IotSensdataResVo<T> addItem = new IotSensdataResVo<>(dataitem);//设备原始数据类型转换成标准数据类型
-
-                if(TextUtils.isEmpty(addItem.getFactorCode())){
-                    //非法数据
-                    continue;
-                }
-                addItem.setFactorDisplayname(getFactorDisplayname(addItem.getFactorCode(),addItem.getAddress(),factorList));
-
-                if(IotDeviceDictConst.TYPE_XPH_TRSH_CL.equals(devtypeBid) && !StringUtils.isEmpty(addItem.getFactorName())){
-                    addItem.setFactorName(addItem.getFactorName().replace("大气", ""));
-                }
-
-                if(StringUtils.isEmpty(addItem.getFactorDisplayname())){
-                    if(IotDeviceDictConst.TYPE_XPH_TRSH_CL.equals(devtypeBid)){
-                        IotXphTrshCldata iotXphTrshCldata = (IotXphTrshCldata) dataitem;
-                        if(eleNameMap.containsKey(iotXphTrshCldata.getEKey())){
-                            addItem.setFactorDisplayname(eleNameMap.get(iotXphTrshCldata.getEKey()));
-                        }
-                    }else{
-                        ArrayList<String> al = hmData.get(addItem.getFactorCode());
-                        if(al==null){
-                            al = new ArrayList<>();
-                        }
-                        if(!al.contains(addItem.getAddress())){
-                            //log.info("{}:新加入{}",addItem.getFactorCode(),addItem.getAddress());
-                            al.add(addItem.getAddress());
-                        }else{
-                            //log.info("{}:已加入过{}",addItem.getFactorCode(),addItem.getAddress());
-                        }
-
-                        //先收集 “层标识”
-                        hmData.put(addItem.getFactorCode(),al);
-                    }
-                }
-
-                retList.add(addItem);
-            }
-        }
-
-
-        //如果存在分层数据,对address进行排序
-        if(hmData.size()>0){
-            for(ArrayList<String> addrList:hmData.values()) {
-                Collections.sort(addrList);
-            }
-        }
-
-        for(IotSensdataResVo<T> item:retList){
-
-            if(StringUtils.isEmpty(item.getFactorDisplayname())){
-
-                ArrayList<String> al = hmData.get(item.getFactorCode());
-                if(al!=null&&al.size()>1){//超过1层
-                    log.info("{}共{}层,当前第{}层",item.getFactorCode(),al.size(),(al.indexOf(item.getAddress())+1));
-
-                    //if(item.getFactorCode().startsWith("soil_")){
-                    item.setFactorDisplayname(""+ (al.indexOf(item.getAddress())+1) +"0厘米"+item.getFactorName());
-                    //}else{
-                    //    item.setFactorDisplayname(item.getFactorName()+ (al.indexOf(item.getAddress())+1) );
-                    //}
-
-
-                }
-
-            }
-        }
-
-
-        return retList;
-    }
-
-    /**
-     * 根据要素code和address取出“自定义名称”
-     * @param factorCode
-     * @param address
-     * @param factorList
-     * @return
-     */
-    public static String getFactorDisplayname(String factorCode,String address, List<IotDevicefactor> factorList){
-        String ret = "";
-
-        if(StringUtils.isEmpty(factorCode)||factorList==null||factorList.size()==0
-                ||StringUtils.isEmpty(address)
-        ){
-            return ret;
-        }
-
-        for (IotDevicefactor item:factorList) {
-            if(factorCode.equals(item.getDfCode()) && address.equals(item.getDfAddress())){
-                ret = item.getDfDisplayname();
-                break;
-            }
-        }
-        return ret;
-    }
-
-    public static IotDevicefactor getDevicefactor(String factorCode,String address, List<IotDevicefactor> factorList){
-        IotDevicefactor iotDevicefactor = null;
-
-        if(StringUtils.isEmpty(factorCode)||factorList==null||factorList.size()==0 ||StringUtils.isEmpty(address)){
-            return iotDevicefactor;
-        }
-
-        for (IotDevicefactor item:factorList) {
-            if(factorCode.equals(item.getDfCode()) && address.equals(item.getDfAddress())){
-                iotDevicefactor = item;
-                break;
-            }
-        }
-        return iotDevicefactor;
-    }
-}

+ 73 - 0
src/main/java/com/yunfeiyun/agmp/iot/common/util/dev/WindUtil.java

@@ -0,0 +1,73 @@
+package com.yunfeiyun.agmp.iot.common.util.dev;
+
+import com.yunfeiyun.agmp.iot.common.util.BigDecimalUtil;
+
+import java.math.BigDecimal;
+import java.util.HashMap;
+import java.util.Map;
+
+public class WindUtil {
+    private static final int scale = 2;
+    /**
+     * 获取风向
+     * @param windDirection 风向
+     * @return 风向
+     */
+//    public static String getWindDirection(String windDirection) {
+//
+//    }
+
+    /**
+     * 获取风速
+     * @param windSpeed 风速
+     * @return 风速
+     */
+    public static String getWindSpeed(String windSpeed) {
+
+        String[] speedArray = {
+                "0.2",
+                "1.5",
+                "3.3",
+                "5.4",
+                "7.9",
+                "10.7",
+                "13.8",
+                "17.1",
+                "20.7",
+                "24.4",
+                "28.4",
+                "32.6",
+                "36.9",
+        };
+
+        Map<String, String> speedNameMap = new HashMap<>();
+        speedNameMap.put("0.2", "0级 无风");
+        speedNameMap.put("1.5", "1级 软风");
+        speedNameMap.put("3.3", "2级 轻风");
+        speedNameMap.put("5.4", "3级 微风");
+        speedNameMap.put("7.9", "4级 和风");
+        speedNameMap.put("10.7", "5级 清风");
+        speedNameMap.put("13.8", "6级 强风");
+        speedNameMap.put("17.1", "7级 疾风");
+        speedNameMap.put("20.7", "8级 大风");
+        speedNameMap.put("24.4", "9级 烈风");
+        speedNameMap.put("28.4", "10级 狂风");
+        speedNameMap.put("32.6", "11级 暴风");
+        speedNameMap.put("36.9", "12级 飓风");
+
+        String speedName = "未知";
+        try{
+            BigDecimal speed = BigDecimalUtil.format(windSpeed, scale);
+            for (String s : speedArray) {
+                if (speed.compareTo(BigDecimalUtil.format(s, scale)) <= 0) {
+                    speedName = speedNameMap.getOrDefault(s, "未知");
+                    break;
+                }
+            }
+        }catch (Exception e){
+
+        }
+
+        return speedName;
+    }
+}