فهرست منبع

新增设备枚举值映射关系

zhangqiankun 3 سال پیش
والد
کامیت
cbe5715938

+ 170 - 0
src/main/java/com/persagy/transfer/constant/DictType.java

@@ -0,0 +1,170 @@
+package com.persagy.transfer.constant;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import com.persagy.common.utils.StringUtil;
+
+/**
+ * 万达自定义信息点枚举值的字典数据
+ * 
+ * @version 1.0.0
+ * @company persagy 
+ * @author zhangqiankun
+ * @date 2021年9月27日 下午2:04:38
+ */
+public class DictType {
+
+	/** 所有枚举信息点对应的映射数据 */
+	public static final Map<String, Map<String, String>> ALL_INFOCODE_MAP = new HashMap<String, Map<String, String>>(256);
+	
+	/** 是否 */
+	public static final Map<String, String> IS_OR_NOT = new HashMap<String, String>(4);
+	
+	/** 设备状态 */
+	public static final Map<String, String> EQUIP_STATUS = new HashMap<String, String>(4);
+	
+	/** 物业类型 */
+	public static final Map<String, String> PROPERTY_TYPE = new HashMap<String, String>(4);
+	
+	/** 设备管理归属 */
+	public static final Map<String, String> EQUIPMENT_MANAGE_OWNERSHIP = new HashMap<String, String>(4);
+	
+	/** 安装类型 */
+	public static final Map<String, String> INSTALL_TYPE = new HashMap<String, String>(4);
+	
+	/** 燃料类型 */
+	public static final Map<String, String> FUEL_TYPE = new HashMap<String, String>(4);
+	
+	/** 锅炉形式 */
+	public static final Map<String, String> BOILER_FORM = new HashMap<String, String>(4);
+	
+	/** 压缩机结构型式 */
+	public static final Map<String, String> YASUOJI_MODLE = new HashMap<String, String>(4);
+	
+	/** 冷却方式 */
+	public static final Map<String, String> LENGQUE_TYPE = new HashMap<String, String>(4);
+	
+	/** 冷热类型 */
+	public static final Map<String, String> LENGRE_TYPE = new HashMap<String, String>(4);
+	
+	/** 拖动方式 */
+	public static final Map<String, String> TUODONG_TYPE = new HashMap<String, String>(4);
+	
+	/** 控制方式 */
+	public static final Map<String, String> CTRL_TYPE = new HashMap<String, String>(4);
+	
+	/** 厅轿门形式 */
+	public static final Map<String, String> TINGJIAOMENG_TYPE = new HashMap<String, String>(4);
+	
+	/** 厅轿门开门方式 */
+	public static final Map<String, String> TINGJIAOMENG_KAIMEN_TYPE = new HashMap<String, String>(4);
+	
+	static {
+		IS_OR_NOT.put("0", "否");
+		IS_OR_NOT.put("1", "是");
+		ALL_INFOCODE_MAP.put(InfosKeyConstant.WISDOM_CLOUD_USE, IS_OR_NOT);
+		ALL_INFOCODE_MAP.put(InfosKeyConstant.MAIN_STORE, IS_OR_NOT);
+		ALL_INFOCODE_MAP.put("wD_shifoubianpinequip", IS_OR_NOT);
+		ALL_INFOCODE_MAP.put("wD_shifourebeng", IS_OR_NOT);
+		ALL_INFOCODE_MAP.put("wD_shifoubianpin", IS_OR_NOT);
+		
+		
+		EQUIP_STATUS.put("1", "运行中");
+		EQUIP_STATUS.put("2", "报废");
+		ALL_INFOCODE_MAP.put(InfosKeyConstant.EQUIPMENT_STATUS, EQUIP_STATUS);
+		
+		PROPERTY_TYPE.put("1", "自持");
+		PROPERTY_TYPE.put("2", "销售");
+		PROPERTY_TYPE.put("3", "合作方");
+		ALL_INFOCODE_MAP.put(InfosKeyConstant.PROPERTY_TYPE, PROPERTY_TYPE);
+
+		EQUIPMENT_MANAGE_OWNERSHIP.put("1", "商管");
+		EQUIPMENT_MANAGE_OWNERSHIP.put("2", "百货");
+		EQUIPMENT_MANAGE_OWNERSHIP.put("3", "大歌星");
+		EQUIPMENT_MANAGE_OWNERSHIP.put("4", "超市");
+		EQUIPMENT_MANAGE_OWNERSHIP.put("5", "影院");
+		EQUIPMENT_MANAGE_OWNERSHIP.put("6", "大酒楼");
+		EQUIPMENT_MANAGE_OWNERSHIP.put("99", "其他");
+		ALL_INFOCODE_MAP.put(InfosKeyConstant.EQUIPMENT_MANAGE_OWNERSHIP, EQUIPMENT_MANAGE_OWNERSHIP);
+		
+		INSTALL_TYPE.put("1", "立式");
+		INSTALL_TYPE.put("2", "卧式");
+		INSTALL_TYPE.put("99", "其他");
+		ALL_INFOCODE_MAP.put("installType", INSTALL_TYPE);
+		
+	
+		FUEL_TYPE.put("1", "燃油");
+		FUEL_TYPE.put("2", "燃煤");
+		FUEL_TYPE.put("3", "燃气");
+		ALL_INFOCODE_MAP.put("wD_fueltype", FUEL_TYPE);
+
+		BOILER_FORM.put("1", "常压锅炉");
+		BOILER_FORM.put("2", "蒸汽锅炉");
+		BOILER_FORM.put("3", "真空锅炉");
+		ALL_INFOCODE_MAP.put("wD_boilerform", BOILER_FORM);
+		
+		
+		YASUOJI_MODLE.put("1", "涡旋式");
+		YASUOJI_MODLE.put("2", "活塞式");
+		YASUOJI_MODLE.put("3", "离心式");
+		YASUOJI_MODLE.put("4", "螺杆式");
+		ALL_INFOCODE_MAP.put("wD_yasuojijiegouxingshi", YASUOJI_MODLE);
+		
+		
+		LENGQUE_TYPE.put("1", "风冷");
+		LENGQUE_TYPE.put("2", "水冷");
+		LENGQUE_TYPE.put("3", "横流塔");
+		LENGQUE_TYPE.put("4", "逆流塔");
+		ALL_INFOCODE_MAP.put("wD_lengquefangshi", LENGQUE_TYPE);
+		
+
+		LENGRE_TYPE.put("1", "单冷");
+		LENGRE_TYPE.put("2", "冷热");
+		ALL_INFOCODE_MAP.put("wD_lengreleixing", LENGRE_TYPE);
+		
+		
+		TUODONG_TYPE.put("1", "交流拖动");
+		TUODONG_TYPE.put("2", "直流拖动");
+		TUODONG_TYPE.put("3", "液压拖动");
+		ALL_INFOCODE_MAP.put("wD_tuodongfangshi", TUODONG_TYPE);
+		
+		
+		CTRL_TYPE.put("1", "群控");
+		CTRL_TYPE.put("2", "单控");
+		ALL_INFOCODE_MAP.put("wD_ctrltype", CTRL_TYPE);
+		
+
+		TINGJIAOMENG_TYPE.put("1", "单面门");
+		TINGJIAOMENG_TYPE.put("2", "贯通门");
+		ALL_INFOCODE_MAP.put("wD_tingjiaomenxingshi", TINGJIAOMENG_TYPE);
+		
+		
+		TINGJIAOMENG_KAIMEN_TYPE.put("1", "单开门");
+		TINGJIAOMENG_KAIMEN_TYPE.put("2", "对开门");
+		ALL_INFOCODE_MAP.put("wD_tingjiaomenkaimenfangshi", TINGJIAOMENG_KAIMEN_TYPE);
+		
+	}
+	
+	/**
+	 * 获取code属性值对应的属性描述
+	 * 
+	 * @param codeName code的属性key
+	 * @param codeValue 对应code 值
+	 * @return 当不存在描述信息时,返回 codeValue
+	 * @date 2021年9月27日 下午6:02:40
+	 */
+	public static String getCodeDesc(String codeKey, String codeValue) {
+		if (StringUtil.isBlank(codeValue) || StringUtil.isBlank(codeKey)) {
+			return SwitchConstant.EMPTY;
+		}
+		Map<String, String> map = ALL_INFOCODE_MAP.get(codeKey);
+		if (map == null) {
+			return codeValue;
+		}
+		
+		String codeDesc = map.get(codeValue);
+		return StringUtil.isBlank(codeDesc) ? codeValue : codeDesc;
+	}
+	
+}

+ 1 - 1
src/main/java/com/persagy/transfer/constant/InfosKeyConstant.java

@@ -45,7 +45,7 @@ public class InfosKeyConstant {
     /**
      * 设备状态
      */
-    public static final String EQUIPMENT_STATUS = "equipStatus";
+    public static final String EQUIPMENT_STATUS = "wD_equipstatus";
 
     /**
      * 设备序号

+ 5 - 4
src/main/java/com/persagy/transfer/service/impl/HydomcAssetServiceImpl.java

@@ -13,6 +13,7 @@ import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
 import com.persagy.common.utils.DateUtil;
 import com.persagy.common.utils.StringUtil;
 import com.persagy.db.service.impl.SuperServiceImpl;
+import com.persagy.transfer.constant.DictType;
 import com.persagy.transfer.constant.InfosKeyConstant;
 import com.persagy.transfer.constant.SwitchConstant;
 import com.persagy.transfer.mapper.HydomcAssetMapper;
@@ -76,10 +77,10 @@ public class HydomcAssetServiceImpl extends SuperServiceImpl<HydomcAssetMapper,
     
     @Override
     public HydomcAsset buildHydomcAsset(JSONObject infos, String wdProjectId, String classstructureid, String updateUser, int valid, Date updateTime) {
-    	String sfhysy = StringTool.object2String(infos.get(InfosKeyConstant.WISDOM_CLOUD_USE));
+    	String sfhysy = DictType.getCodeDesc(InfosKeyConstant.WISDOM_CLOUD_USE, StringTool.object2String(infos.get(InfosKeyConstant.WISDOM_CLOUD_USE))); 
     	sfhysy = StringUtil.isBlank(sfhysy) ? "是" : sfhysy;
     	
-    	String sfzld = StringTool.object2String(infos.get(InfosKeyConstant.MAIN_STORE));
+    	String sfzld = DictType.getCodeDesc(InfosKeyConstant.MAIN_STORE, StringTool.object2String(infos.get(InfosKeyConstant.MAIN_STORE)));  
     	sfzld = StringUtil.isBlank(sfzld) ? "否" : sfzld;
     	
     	HydomcAsset hydomcAsset = HydomcAsset.builder().siteid(wdProjectId) // 项目唯一id,可采用租赁系统广场id,同步后不可更改 
@@ -128,9 +129,9 @@ public class HydomcAssetServiceImpl extends SuperServiceImpl<HydomcAssetMapper,
 		    	// 大修周期 单位为月
 		    	.dxzq(StringTool.object2Integer(infos.get(InfosKeyConstant.OVERHAUL_CYCLE))) 
 		    	// 物业类型 自持/销售/合作方
-		    	.wylx(StringTool.object2String(infos.get(InfosKeyConstant.PROPERTY_TYPE))) 
+		    	.wylx(DictType.getCodeDesc(InfosKeyConstant.PROPERTY_TYPE, StringTool.object2String(infos.get(InfosKeyConstant.PROPERTY_TYPE)))) 
 		    	// 设备管理归属 商管/百货/大歌星/超市/影院/大酒楼/其他
-		    	.sbglgs(StringTool.object2String(infos.get(InfosKeyConstant.EQUIPMENT_MANAGE_OWNERSHIP))) 
+		    	.sbglgs(DictType.getCodeDesc(InfosKeyConstant.EQUIPMENT_MANAGE_OWNERSHIP, StringTool.object2String(infos.get(InfosKeyConstant.EQUIPMENT_MANAGE_OWNERSHIP)))) 
 		    	// 慧云设备编码
 		    	.hysbbm(StringTool.object2String(infos.get(InfosKeyConstant.WISDOM_CLOUD_LOCAL_CODE))) 
 		    	// 是否慧云使用 是/否   缺省为 是

+ 3 - 1
src/main/java/com/persagy/transfer/service/impl/HydomcAssetspecServiceImpl.java

@@ -14,6 +14,7 @@ import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
 import com.persagy.common.utils.DateUtil;
 import com.persagy.common.utils.StringUtil;
 import com.persagy.db.service.impl.SuperServiceImpl;
+import com.persagy.transfer.constant.DictType;
 import com.persagy.transfer.constant.InfosKeyConstant;
 import com.persagy.transfer.constant.SwitchConstant;
 import com.persagy.transfer.mapper.HydomcAssetspecMapper;
@@ -116,7 +117,8 @@ public class HydomcAssetspecServiceImpl extends SuperServiceImpl<HydomcAssetspec
 			hydomcAssetspec.setNumvalue(StringTool.object2Double(infos.get(wdfacilityRelPersagy.getCode()))); // 设备参数数字值
 		} else {
 			// 默认字符串
-			hydomcAssetspec.setAlnvalue(StringTool.object2String(infos.get(wdfacilityRelPersagy.getCode()))); // 设备参数文本值
+			String codeValue = StringTool.object2String(infos.get(wdfacilityRelPersagy.getCode()));
+			hydomcAssetspec.setAlnvalue(DictType.getCodeDesc(wdfacilityRelPersagy.getCode(), codeValue)); // 设备参数文本值
 		}
 
 		// 主键ID 赋值

+ 77 - 28
src/main/java/com/persagy/transfer/utils/StringTool.java

@@ -1,12 +1,13 @@
 package com.persagy.transfer.utils;
 
+import java.util.Date;
+
 import org.apache.commons.lang3.StringUtils;
 
-import java.time.LocalDateTime;
-import java.time.ZoneId;
-import java.time.ZonedDateTime;
-import java.time.format.DateTimeFormatter;
-import java.util.Date;
+import com.persagy.common.utils.DateUtil;
+import com.persagy.common.utils.StringUtil;
+
+import cn.hutool.core.date.DateTime;
 
 /**
  * @description: 字符串相关扩展工具类
@@ -15,39 +16,87 @@ import java.util.Date;
  **/
 public class StringTool {
 
+	/**
+	 * 将object类型转为string类型
+	 * 
+	 * @param obj
+	 * @return
+	 * @date 2021年9月27日 下午6:07:20
+	 */
     public static String object2String(Object obj) {
-        if (obj != null && StringUtils.isNotBlank(String.valueOf(obj)) && !"null".equals(String.valueOf(obj))) {
-            return String.valueOf(obj);
-        } else {
-            return StringUtils.EMPTY;
-        }
+    	if (obj == null) {
+    		return StringUtils.EMPTY;
+		}
+    	String valueOf = String.valueOf(obj);
+    	if (StringUtil.isBlank(valueOf) || "null".equalsIgnoreCase(valueOf.trim())) {
+    		return StringUtils.EMPTY;
+		}
+    	
+    	return valueOf.trim();
     }
 
+    /**
+	 * 将object类型转为Double类型
+	 * 
+	 * @param obj
+	 * @return
+	 * @date 2021年9月27日 下午6:07:20
+	 */
     public static Double object2Double(Object obj) {
-        if (obj != null && StringUtils.isNotBlank(String.valueOf(obj))) {
-            return Double.valueOf(String.valueOf(obj));
-        } else {
-            return 0d;
-        }
+    	if (obj == null) {
+    		return null;
+		}
+    	String valueOf = String.valueOf(obj);
+    	if (StringUtil.isBlank(valueOf) || "null".equalsIgnoreCase(valueOf.trim())) {
+    		return null;
+		}
+    	
+    	return Double.valueOf(valueOf.trim());
     }
 
+    /**
+     * 将object类型转为Date类型
+     * 
+     * @param obj
+     * @return
+     * @date 2021年9月27日 下午6:10:42
+     */
     public static Date object2DateTime(Object obj) {
-        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
-        if (obj != null && StringUtils.isNotBlank(String.valueOf(obj))) {
-            ZoneId zoneId = ZoneId.systemDefault();
-            ZonedDateTime zdt = LocalDateTime.parse(String.valueOf(obj), dtf).atZone(zoneId);
-            return Date.from(zdt.toInstant());
-        } else {
-            return null;
-        }
+    	if (obj == null) {
+    		return null;
+		}
+    	if (obj instanceof Long) {
+			return new Date((long)obj);
+		}
+    	
+    	try {
+        	String valueOf = String.valueOf(obj);
+        	DateTime dateTime = DateUtil.parse(valueOf);
+        	return dateTime == null ? null : dateTime.toJdkDate();
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+    	
+    	return null;
     }
 
+    /**
+	 * 将object类型转为Integer类型
+	 * 
+	 * @param obj
+	 * @return
+	 * @date 2021年9月27日 下午6:07:20
+	 */
     public static Integer object2Integer(Object obj) {
-        if (obj != null && StringUtils.isNotBlank(String.valueOf(obj))) {
-            return Integer.valueOf(String.valueOf(obj));
-        } else {
-            return 0;
-        }
+    	if (obj == null) {
+    		return null;
+		}
+    	String valueOf = String.valueOf(obj);
+    	if (StringUtil.isBlank(valueOf) || "null".equalsIgnoreCase(valueOf.trim())) {
+    		return null;
+		}
+    	
+    	return Integer.valueOf(valueOf.trim());
     }
 
 }