Răsfoiți Sursa

Merge remote-tracking branch 'origin/master'

chen.cheng 5 luni în urmă
părinte
comite
c7a2203159

+ 1 - 1
common-cloud/ruoyi-modules/ruoyi-gen/src/main/resources/application-local.yml

@@ -6,7 +6,7 @@ spring:
     password:
   datasource:
     driver-class-name: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://172.192.10.105:30002/ems_db?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+    url: jdbc:mysql://172.192.10.105:30002/sys_ct?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
     username: root
     password: root
 

+ 81 - 0
ems/ems-cloud/ems-server/src/main/java/com/ruoyi/ems/controller/EmsObjAttrEnumController.java

@@ -0,0 +1,81 @@
+package com.ruoyi.ems.controller;
+
+import com.huashe.common.domain.AjaxResult;
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.ems.domain.EmsObjAttrEnum;
+import com.ruoyi.ems.service.IEmsObjAttrEnumService;
+import io.swagger.annotations.Api;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * 能源对象属性枚举Controller
+ *
+ * @author ruoyi
+ * @date 2025-02-26
+ */
+@RestController
+@RequestMapping("/object/attr/emum")
+@Api(value = "EmsObjAttrEnumController", description = "能源对象属性枚举管理")
+public class EmsObjAttrEnumController extends BaseController {
+    @Autowired
+    private IEmsObjAttrEnumService objAttrEnumService;
+
+    /**
+     * 查询能源对象属性枚举列表
+     */
+    @GetMapping("/list")
+    public AjaxResult list(@RequestParam(name = "modelCode") String modelCode,
+        @RequestParam(name = "attrKey", required = false) String attrKey) {
+        List<EmsObjAttrEnum> list = objAttrEnumService.getObjAttrEnumList(modelCode, attrKey);
+        return success(list);
+    }
+
+    /**
+     * 获取能源对象属性枚举详细信息
+     */
+    @GetMapping
+    public AjaxResult getInfo(@RequestParam(name = "modelCode") String modelCode,
+        @RequestParam(name = "attrKey") String attrKey, @RequestParam(name = "attrValue") String attrValue) {
+        EmsObjAttrEnum ret = objAttrEnumService.getObjAttrEnum(modelCode, attrKey, attrValue);
+        return success(ret);
+    }
+
+    /**
+     * 新增能源对象属性枚举
+     */
+    @PostMapping
+    public AjaxResult add(@RequestBody EmsObjAttrEnum objAttrEnum) {
+        return success(objAttrEnumService.addObjAttrEnum(objAttrEnum));
+    }
+
+    @PostMapping("/batch")
+    public AjaxResult addBatch(@RequestBody List<EmsObjAttrEnum> objAttrEnums) {
+        return success(objAttrEnumService.addObjAttrEnumBatch(objAttrEnums));
+    }
+
+    /**
+     * 删除能源对象属性枚举
+     */
+    @DeleteMapping("/deleteByModelCode")
+    public AjaxResult deleteByModelCode(@RequestParam(name = "modelCode") String modelCode) {
+        return success(objAttrEnumService.deleteByModelCode(modelCode));
+    }
+
+    /**
+     * 删除能源对象属性枚举
+     */
+    @DeleteMapping("/{id}")
+    public AjaxResult deleteById(@PathVariable Long id) {
+        return success(objAttrEnumService.deleteById(id));
+    }
+}

+ 24 - 0
ems/ems-core/src/main/java/com/ruoyi/ems/domain/EmsObjAttr.java

@@ -4,6 +4,8 @@ import com.huashe.common.domain.BaseEntity;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 
+import java.util.List;
+
 /**
  * 能源对象属性对象 adm_ems_obj_attr
  * 
@@ -32,6 +34,11 @@ public class EmsObjAttr extends BaseEntity
     /** 属性单位 */
     private String attrUnit;
 
+    /** 属性值类型 */
+    private String attrValueType;
+
+    private List<EmsObjAttrEnum> valueEnums;
+
     public void setId(Long id) 
     {
         this.id = id;
@@ -88,6 +95,22 @@ public class EmsObjAttr extends BaseEntity
         return attrUnit;
     }
 
+    public String getAttrValueType() {
+        return attrValueType;
+    }
+
+    public void setAttrValueType(String attrValueType) {
+        this.attrValueType = attrValueType;
+    }
+
+    public List<EmsObjAttrEnum> getValueEnums() {
+        return valueEnums;
+    }
+
+    public void setValueEnums(List<EmsObjAttrEnum> valueEnums) {
+        this.valueEnums = valueEnums;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
@@ -97,6 +120,7 @@ public class EmsObjAttr extends BaseEntity
             .append("attrKey", getAttrKey())
             .append("attrName", getAttrName())
             .append("attrUnit", getAttrUnit())
+            .append("attrValueType", getAttrValueType())
             .toString();
     }
 }

+ 79 - 0
ems/ems-core/src/main/java/com/ruoyi/ems/domain/EmsObjAttrEnum.java

@@ -0,0 +1,79 @@
+package com.ruoyi.ems.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+/**
+ * 能源对象属性值对象 adm_ems_obj_attr_value
+ * 
+ * @author ruoyi
+ * @date 2024-09-25
+ */
+public class EmsObjAttrEnum
+{
+    /** 序号 */
+    private Long id;
+
+    /** 模型code */
+    private String modelCode;
+
+    /** 属性标识 */
+    private String attrKey;
+
+    /** 枚举值 */
+    private String attrValue;
+
+    /** 属性值描述 */
+    private String attrValueName;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getModelCode() {
+        return modelCode;
+    }
+
+    public void setModelCode(String modelCode) {
+        this.modelCode = modelCode;
+    }
+
+    public String getAttrKey() {
+        return attrKey;
+    }
+
+    public void setAttrKey(String attrKey) {
+        this.attrKey = attrKey;
+    }
+
+    public String getAttrValue() {
+        return attrValue;
+    }
+
+    public void setAttrValue(String attrValue) {
+        this.attrValue = attrValue;
+    }
+
+    public String getAttrValueName() {
+        return attrValueName;
+    }
+
+    public void setAttrValueName(String attrValueName) {
+        this.attrValueName = attrValueName;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("modelCode", getModelCode())
+            .append("attrKey", getAttrKey())
+            .append("attrValue", getAttrValue())
+            .append("attrValueName", getAttrValueName())
+            .toString();
+    }
+}

+ 67 - 0
ems/ems-core/src/main/java/com/ruoyi/ems/mapper/EmsObjAttrEnumMapper.java

@@ -0,0 +1,67 @@
+package com.ruoyi.ems.mapper;
+
+import java.util.List;
+
+import com.ruoyi.ems.domain.EmsObjAttrEnum;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 能源对象属性枚举Mapper接口
+ *
+ * @author ruoyi
+ * @date 2025-02-26
+ */
+@Mapper
+public interface EmsObjAttrEnumMapper {
+    /**
+     * 查询能源对象属性枚举列表
+     *
+     * @param modelCode 模型代码
+     * @param attrKey   模型代码
+     * @return 能源对象属性枚举集合
+     */
+    List<EmsObjAttrEnum> selectObjAttrEnumList(@Param("modelCode") String modelCode, @Param("attrKey") String attrKey);
+
+    /**
+     * 查询能源对象属性枚举列表
+     *
+     * @param modelCode 模型代码
+     * @param attrKey   属性标识
+     * @return 能源对象属性枚举集合
+     */
+    EmsObjAttrEnum selectObjAttrEnum(@Param("modelCode") String modelCode, @Param("attrKey") String attrKey,
+        @Param("attrValue") String attrValue);
+
+    /**
+     * 新增能源对象属性枚举
+     *
+     * @param objAttrEnum 能源对象属性枚举
+     * @return 结果
+     */
+    int insertObjAttrEnum(EmsObjAttrEnum objAttrEnum);
+
+    /**
+     * 新增能源对象属性枚举
+     *
+     * @param objAttrEnums 能源对象属性枚举列表
+     * @return 结果
+     */
+    int insertObjAttrEnumBatch(List<EmsObjAttrEnum> objAttrEnums);
+
+    /**
+     * 批量删除能源对象属性枚举
+     *
+     * @param modelCode 模型代码
+     * @return 结果
+     */
+    int deleteByModelCode(@Param("modelCode") String modelCode);
+
+    /**
+     * 删除能源对象属性枚举信息
+     *
+     * @param id 主键id
+     * @return 结果
+     */
+    int deleteById(Long id);
+}

+ 63 - 0
ems/ems-core/src/main/java/com/ruoyi/ems/service/IEmsObjAttrEnumService.java

@@ -0,0 +1,63 @@
+package com.ruoyi.ems.service;
+
+import java.util.List;
+
+import com.ruoyi.ems.domain.EmsObjAttrEnum;
+
+/**
+ * 能源对象属性枚举Service接口
+ *
+ * @author ruoyi
+ * @date 2025-02-26
+ */
+public interface IEmsObjAttrEnumService {
+    /**
+     * 查询能源对象属性枚举列表
+     *
+     * @param modelCode 模型代码
+     * @param attrKey 模型代码
+     * @return 能源对象属性枚举集合
+     */
+    List<EmsObjAttrEnum> getObjAttrEnumList(String modelCode, String attrKey);
+
+    /**
+     * 查询能源对象属性枚举列表
+     *
+     * @param modelCode 模型代码
+     * @param attrKey 属性标识
+     * @return 能源对象属性枚举集合
+     */
+    EmsObjAttrEnum getObjAttrEnum(String modelCode, String attrKey, String attrValue);
+
+    /**
+     * 新增能源对象属性枚举
+     *
+     * @param objAttrEnum 能源对象属性枚举
+     * @return 结果
+     */
+    int addObjAttrEnum(EmsObjAttrEnum objAttrEnum);
+
+    /**
+     * 新增能源对象属性枚举
+     *
+     * @param objAttrEnums 能源对象属性枚举列表
+     * @return 结果
+     */
+    int addObjAttrEnumBatch(List<EmsObjAttrEnum> objAttrEnums);
+
+    /**
+     * 批量删除能源对象属性枚举
+     *
+     * @param modelCode 模型代码
+     * @return 结果
+     */
+    int deleteByModelCode(String modelCode);
+
+    /**
+     * 删除能源对象属性枚举信息
+     *
+     * @param id 主键id
+     * @return 结果
+     */
+    int deleteById(Long id);
+}

+ 51 - 0
ems/ems-core/src/main/java/com/ruoyi/ems/service/impl/EmsObjAttrEnumServiceImpl.java

@@ -0,0 +1,51 @@
+package com.ruoyi.ems.service.impl;
+
+import com.ruoyi.ems.domain.EmsObjAttrEnum;
+import com.ruoyi.ems.mapper.EmsObjAttrEnumMapper;
+import com.ruoyi.ems.service.IEmsObjAttrEnumService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 能源对象属性枚举Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2025-02-26
+ */
+@Service
+public class EmsObjAttrEnumServiceImpl implements IEmsObjAttrEnumService {
+    @Autowired
+    private EmsObjAttrEnumMapper objAttrEnumMapper;
+
+    @Override
+    public List<EmsObjAttrEnum> getObjAttrEnumList(String modelCode, String attrKey) {
+        return objAttrEnumMapper.selectObjAttrEnumList(modelCode, attrKey);
+    }
+
+    @Override
+    public EmsObjAttrEnum getObjAttrEnum(String modelCode, String attrKey, String attrValue) {
+        return objAttrEnumMapper.selectObjAttrEnum(modelCode, attrKey, attrValue);
+    }
+
+    @Override
+    public int addObjAttrEnum(EmsObjAttrEnum objAttrEnum) {
+        return objAttrEnumMapper.insertObjAttrEnum(objAttrEnum);
+    }
+
+    @Override
+    public int addObjAttrEnumBatch(List<EmsObjAttrEnum> objAttrEnums) {
+        return objAttrEnumMapper.insertObjAttrEnumBatch(objAttrEnums);
+    }
+
+    @Override
+    public int deleteByModelCode(String modelCode) {
+        return objAttrEnumMapper.deleteByModelCode(modelCode);
+    }
+
+    @Override
+    public int deleteById(Long id) {
+        return objAttrEnumMapper.deleteById(id);
+    }
+}

+ 53 - 4
ems/ems-core/src/main/java/com/ruoyi/ems/service/impl/EmsObjAttrServiceImpl.java

@@ -1,8 +1,11 @@
 package com.ruoyi.ems.service.impl;
 
 import com.ruoyi.ems.domain.EmsObjAttr;
+import com.ruoyi.ems.domain.EmsObjAttrEnum;
 import com.ruoyi.ems.mapper.EmsObjAttrMapper;
+import com.ruoyi.ems.service.IEmsObjAttrEnumService;
 import com.ruoyi.ems.service.IEmsObjAttrService;
+import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -19,6 +22,9 @@ public class EmsObjAttrServiceImpl implements IEmsObjAttrService {
     @Autowired
     private EmsObjAttrMapper objAttrMapper;
 
+    @Autowired
+    private IEmsObjAttrEnumService enumService;
+
     /**
      * 查询能源对象属性
      *
@@ -27,6 +33,13 @@ public class EmsObjAttrServiceImpl implements IEmsObjAttrService {
      */
     @Override
     public EmsObjAttr selectObjAttrById(Long id) {
+        EmsObjAttr objAttr = objAttrMapper.selectObjAttrById(id);
+
+        if (null != objAttr) {
+            List<EmsObjAttrEnum> valueEnums = enumService.getObjAttrEnumList(objAttr.getModelCode(), null);
+            objAttr.setValueEnums(valueEnums);
+        }
+
         return objAttrMapper.selectObjAttrById(id);
     }
 
@@ -38,12 +51,30 @@ public class EmsObjAttrServiceImpl implements IEmsObjAttrService {
      */
     @Override
     public List<EmsObjAttr> selectObjAttrList(EmsObjAttr objAttr) {
-        return objAttrMapper.selectObjAttrList(objAttr);
+        List<EmsObjAttr> list = objAttrMapper.selectObjAttrList(objAttr);
+
+        if (CollectionUtils.isNotEmpty(list)) {
+            for (EmsObjAttr obj : list) {
+                List<EmsObjAttrEnum> valueEnums = enumService.getObjAttrEnumList(obj.getModelCode(), null);
+                obj.setValueEnums(valueEnums);
+            }
+        }
+
+        return list;
     }
 
     @Override
     public List<EmsObjAttr> selectByModelCode(String modelCode) {
-        return objAttrMapper.selectByModelCode(modelCode);
+        List<EmsObjAttr> list = objAttrMapper.selectByModelCode(modelCode);
+
+        if (CollectionUtils.isNotEmpty(list)) {
+            for (EmsObjAttr obj : list) {
+                List<EmsObjAttrEnum> valueEnums = enumService.getObjAttrEnumList(obj.getModelCode(), null);
+                obj.setValueEnums(valueEnums);
+            }
+        }
+
+        return list;
     }
 
     /**
@@ -81,6 +112,14 @@ public class EmsObjAttrServiceImpl implements IEmsObjAttrService {
      */
     @Override
     public int deleteObjAttrByIds(Long[] ids) {
+        for (Long id : ids) {
+            EmsObjAttr objAttr = objAttrMapper.selectObjAttrById(id);
+
+            if (null != objAttr) {
+                enumService.deleteByModelCode(objAttr.getModelCode());
+            }
+        }
+
         return objAttrMapper.deleteObjAttrByIds(ids);
     }
 
@@ -92,11 +131,21 @@ public class EmsObjAttrServiceImpl implements IEmsObjAttrService {
      */
     @Override
     public int deleteObjAttrById(Long id) {
-        return objAttrMapper.deleteObjAttrById(id);
+        int cnt = 0;
+        EmsObjAttr objAttr = objAttrMapper.selectObjAttrById(id);
+
+        if (null != objAttr) {
+            cnt = objAttrMapper.deleteObjAttrById(id);
+            enumService.deleteByModelCode(objAttr.getModelCode());
+        }
+
+        return cnt;
     }
 
     @Override
     public int deleteByModelCode(String modelCode) {
-        return objAttrMapper.deleteByModelCode(modelCode);
+        int cnt = objAttrMapper.deleteByModelCode(modelCode);
+        enumService.deleteByModelCode(modelCode);
+        return cnt;
     }
 }

+ 71 - 0
ems/ems-core/src/main/resources/mapper/ems/EmsObjAttrEnumMapper.xml

@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.ems.mapper.EmsObjAttrEnumMapper">
+
+    <resultMap type="EmsObjAttrEnum" id="EmsObjAttrEnumResult">
+        <result property="id" column="id"/>
+        <result property="modelCode" column="model_code"/>
+        <result property="attrKey" column="attr_key"/>
+        <result property="attrValue" column="attr_value"/>
+        <result property="attrValueName" column="attr_value_name"/>
+    </resultMap>
+
+    <sql id="selectEmsObjAttrEnumVo">
+        select id, model_code, attr_key, attr_value, attr_value_name
+        from adm_ems_obj_attr_enum
+    </sql>
+
+    <select id="selectObjAttrEnum" resultMap="EmsObjAttrEnumResult">
+        <include refid="selectEmsObjAttrEnumVo"/>
+        <where>
+            <if test="modelCode != null  and modelCode != ''">and model_code = #{modelCode}</if>
+            <if test="attrKey != null  and attrKey != ''">and attr_key = #{attrKey}</if>
+            <if test="attrValue != null  and attrValue != ''">and attr_value = #{attrValue}</if>
+        </where>
+    </select>
+
+    <select id="selectObjAttrEnumList" resultMap="EmsObjAttrEnumResult">
+        <include refid="selectEmsObjAttrEnumVo"/>
+        <where>
+            <if test="modelCode != null  and modelCode != ''">and model_code = #{modelCode}</if>
+            <if test="attrKey != null  and attrKey != ''">and attr_key = #{attrKey}</if>
+        </where>
+    </select>
+
+    <insert id="insertObjAttrEnum" parameterType="EmsObjAttrEnum" useGeneratedKeys="true" keyProperty="id">
+        insert into adm_ems_obj_attr_enum
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="modelCode != null and modelCode != ''">model_code,</if>
+            <if test="attrKey != null and attrKey != ''">attr_key,</if>
+            <if test="attrValue != null and attrValue != ''">attr_value,</if>
+            <if test="attrValueName != null">attr_value_name,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="modelCode != null and modelCode != ''">#{modelCode},</if>
+            <if test="attrKey != null and attrKey != ''">#{attrKey},</if>
+            <if test="attrValue != null and attrValue != ''">#{attrValue},</if>
+            <if test="attrValueName != null">#{attrValueName},</if>
+        </trim>
+    </insert>
+
+    <insert id="insertObjAttrEnumBatch" parameterType="java.util.List">
+        insert into adm_ems_obj_attr_enum (model_code, attr_key, attr_value, attr_value_name) values
+        <foreach collection="list" item="item" index="index" separator=",">
+            (#{item.modelCode}, #{item.attrKey}, #{item.attrValue}, #{item.attrValueName})
+        </foreach>
+    </insert>
+
+    <delete id="deleteByModelCode" parameterType="java.lang.String">
+        delete
+        from adm_ems_obj_attr_enum
+        where model_code = #{modelCode}
+    </delete>
+
+    <delete id="deleteById">
+        delete
+        from adm_ems_obj_attr_enum
+        where id = #{id}
+    </delete>
+</mapper>

+ 7 - 3
ems/ems-core/src/main/resources/mapper/ems/EmsObjAttrMapper.xml

@@ -11,10 +11,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="attrKey"    column="attr_key"    />
         <result property="attrName"    column="attr_name"    />
         <result property="attrUnit"    column="attr_unit"    />
+        <result property="attrValueType"    column="attr_value_type"    />
     </resultMap>
 
     <sql id="selectAdmEmsObjAttrVo">
-        select id, model_code, attr_type, attr_key, attr_name, attr_unit from adm_ems_obj_attr
+        select id, model_code, attr_type, attr_key, attr_name, attr_unit, attr_value_type from adm_ems_obj_attr
     </sql>
 
     <select id="selectObjAttrList" parameterType="com.ruoyi.ems.domain.EmsObjAttr" resultMap="ObjAttrResult">
@@ -45,6 +46,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="attrKey != null and attrKey != ''">attr_key,</if>
             <if test="attrName != null and attrName != ''">attr_name,</if>
             <if test="attrUnit != null">attr_unit,</if>
+            <if test="attrValueType != null">attr_value_type,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="modelCode != null and modelCode != ''">#{modelCode},</if>
@@ -52,14 +54,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="attrKey != null and attrKey != ''">#{attrKey},</if>
             <if test="attrName != null and attrName != ''">#{attrName},</if>
             <if test="attrUnit != null">#{attrUnit},</if>
+            <if test="attrValueType != null">#{attrValueType},</if>
          </trim>
     </insert>
 
     <insert id="insertBatch" parameterType="java.util.List">
-        insert into adm_ems_obj_attr (model_code, attr_type, attr_key, attr_name, attr_unit)
+        insert into adm_ems_obj_attr (model_code, attr_type, attr_key, attr_name, attr_unit, attr_value_type)
         values
         <foreach collection="list" item="item" index="index" separator=",">
-            (#{item.modelCode}, #{item.attrType}, #{item.attrKey}, #{item.attrName}, #{item.attrUnit})
+            (#{item.modelCode}, #{item.attrType}, #{item.attrKey}, #{item.attrName}, #{item.attrUnit}, #{item.attrValueType})
         </foreach>
     </insert>
 
@@ -71,6 +74,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="attrKey != null and attrKey != ''">attr_key = #{attrKey},</if>
             <if test="attrName != null and attrName != ''">attr_name = #{attrName},</if>
             <if test="attrUnit != null">attr_unit = #{attrUnit},</if>
+            <if test="attrValueType != null">attr_value_type = #{attrValueType},</if>
         </trim>
         where id = #{id}
     </update>

+ 35 - 18
ems/sql/ems_server.sql

@@ -573,30 +573,47 @@ create table adm_ems_obj_attr  (
   `attr_key`        varchar(128)    not null                     comment '属性标识',
   `attr_name`       varchar(256)    default null                 comment '属性名称',
   `attr_unit`       varchar(32)     default null                 comment '属性单位',
+  `attr_value_type` varchar(32)     default null                 comment '属性单位值类型',
   primary key (`id`),
   unique key ux_ems_obj_attr(`model_code`, `attr_key`)
 ) engine=innodb auto_increment=1 comment = '能源对象属性表';
 
 
 -- 对象属性初始数据
-INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_type`, `attr_key`, `attr_name`, `attr_unit`) VALUES ('M_W2', 0, 'voltageLevel', '电压等级', 'kV');
-INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_type`, `attr_key`, `attr_name`, `attr_unit`) VALUES ('M_W2', 0, 'frequency', '电流频率', 'Hz');
-INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_type`, `attr_key`, `attr_name`, `attr_unit`) VALUES ('M_E5', 0, 'installedCapacity', '装机容量', 'kw');
-INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_type`, `attr_key`, `attr_name`, `attr_unit`) VALUES ('M_C1', 0, 'storageCapacity',   '储能容量', 'kW-h');
-
-INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_type`, `attr_key`, `attr_name`, `attr_unit`) VALUES ('M_W2_T', 0, 'ratedCapacity', '额定容量', 'kVA');
-INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_type`, `attr_key`, `attr_name`, `attr_unit`) VALUES ('M_W2_T', 0, 'ratedVoltage', '额定电压', 'kV');
-INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_type`, `attr_key`, `attr_name`, `attr_unit`) VALUES ('M_W2_T', 0, 'ratedFrequency', '额定频率', 'Hz');
-INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_type`, `attr_key`, `attr_name`, `attr_unit`) VALUES ('M_W2_T', 0, 'phaseNumber', '相数', '相');
-
-INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_type`, `attr_key`, `attr_name`, `attr_unit`) VALUES ('M_W2_QR', 0, 'ratedVoltage', '额定电压', 'V');
-INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_type`, `attr_key`, `attr_name`, `attr_unit`) VALUES ('M_W2_QR', 0, 'ratedCurrent', '额定电流', 'A');
-INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_type`, `attr_key`, `attr_name`, `attr_unit`) VALUES ('M_W2_QR', 0, 'triggerCurrent', '触发电流', 'A');
-INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_type`, `attr_key`, `attr_name`, `attr_unit`) VALUES ('M_W2_QR', 1, 'onOffState', '开关状态', null);
-
-INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_type`, `attr_key`, `attr_name`, `attr_unit`) VALUES ('M_W2_QF', 0, 'ratedVoltage', '额定电压', 'V');
-INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_type`, `attr_key`, `attr_name`, `attr_unit`) VALUES ('M_W2_QF', 0, 'ratedCurrent', '额定电流', 'A');
-INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_type`, `attr_key`, `attr_name`, `attr_unit`) VALUES ('M_W2_QF', 1, 'onOffState', '开关状态', null);
+INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_type`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_W2', 0, 'voltageLevel', '电压等级', 'kV', 'Value');
+INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_type`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_W2', 0, 'frequency', '电流频率', 'Hz', 'Value');
+INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_type`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_E5', 0, 'installedCapacity', '装机容量', 'kw', 'Value');
+INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_type`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_C1', 0, 'storageCapacity',   '储能容量', 'kW-h', 'Value');
+
+INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_type`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_W2_T', 0, 'ratedCapacity', '额定容量', 'kVA', 'Value');
+INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_type`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_W2_T', 0, 'ratedVoltage', '额定电压', 'kV', 'Value');
+INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_type`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_W2_T', 0, 'ratedFrequency', '额定频率', 'Hz', 'Value');
+INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_type`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_W2_T', 0, 'phaseNumber', '相数', '相', 'Value');
+
+INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_type`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_W2_QR', 0, 'ratedVoltage', '额定电压', 'V', 'Value');
+INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_type`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_W2_QR', 0, 'ratedCurrent', '额定电流', 'A', 'Value');
+INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_type`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_W2_QR', 0, 'triggerCurrent', '触发电流', 'A', 'Value');
+INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_type`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_W2_QR', 1, 'onOffState', '开关状态', null, 'Value');
+
+INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_type`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_W2_QF', 0, 'ratedVoltage', '额定电压', 'V', 'Value');
+INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_type`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_W2_QF', 0, 'ratedCurrent', '额定电流', 'A', 'Value');
+INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_type`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_W2_QF', 1, 'onOffState', '开关状态', null, 'Value');
+
+
+-- ----------------------------
+-- 能源对象属性值表
+-- ----------------------------
+drop table if exists adm_ems_obj_attr_enum;
+create table adm_ems_obj_attr_enum  (
+  `id`               bigint(20)      not null auto_increment      comment '序号',
+  `model_code`       varchar(64)     not null                     comment '对象代码',
+  `attr_key`         varchar(128)    not null                     comment '属性标识',
+  `attr_value`       varchar(32)     not null                     comment '属性枚举值',
+  `attr_value_name`  varchar(32)     default null                 comment '属性枚举值描述',
+  primary key (`id`),
+  unique key ux_ems_obj_attr_value(`model_code`, `attr_key`, `attr_value`)
+) engine=innodb auto_increment=1 comment = '能源对象属性枚举表';
+
 
 -- ----------------------------
 -- 能源对象属性值表