DYL0109
2025-04-18 afae558d8eb1832769b6621d0d9c30103f7fdd89
zhitan-system/src/main/resources/mapper/model/EnergyIndexMapper.xml
@@ -4,7 +4,7 @@
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zhitan.model.mapper.EnergyIndexMapper">
  <resultMap type="EnergyIndex" id="EnergyIndexResult">
  <resultMap type="com.zhitan.model.domain.EnergyIndex" id="EnergyIndexResult">
    <result property="indexId" column="index_id"/>
    <result property="name" column="name"/>
    <result property="code" column="code"/>
@@ -34,7 +34,7 @@
    from energy_index
  </sql>
  <select id="selectEnergyIndexList" parameterType="EnergyIndex" resultMap="EnergyIndexResult">
  <select id="selectEnergyIndexList" parameterType="com.zhitan.model.domain.EnergyIndex" resultMap="EnergyIndexResult">
    select ni.index_id, name, code, index_type, remark, unit_id, index_category
    from energy_index ei left join node_index ni on ei.index_id = ni.index_id
    <where>
@@ -59,7 +59,7 @@
    <include refid="selectEnergyIndexVo"/>
    where
        index_id IN
        <foreach collection="list" item="indexId" open="(" separator="," close=")">
        <foreach collection="indexIds" item="indexId" open="(" separator="," close=")">
          #{indexId}
        </foreach>
  </select>
@@ -145,7 +145,7 @@
    order by ei.order_num
  </select>
  <insert id="insertEnergyIndex" parameterType="EnergyIndex">
  <insert id="insertEnergyIndex" parameterType="com.zhitan.model.domain.EnergyIndex">
    insert into energy_index
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="indexId != null  and indexId != ''">index_id,</if>
@@ -271,7 +271,7 @@
    </foreach>
  </insert>
  <update id="updateEnergyIndex" parameterType="EnergyIndex">
  <update id="updateEnergyIndex" parameterType="com.zhitan.model.domain.EnergyIndex">
    update energy_index
    <trim prefix="SET" suffixOverrides=",">
      <if test="name != null  and name != ''">name = #{name},</if>
@@ -303,11 +303,11 @@
    from energy_index
    where meter_id = #{meterId}
  </delete>
  <delete id="removeNodeIndex">
    delete from node_index where node_id = #{nodeId} and index_id in
    <foreach item="indexId" collection="indexIds" open="(" separator="," close=")">
  <delete id="removeEnergyIndex">
    delete from energy_index where index_id in
    <foreach collection="indexIds" item="indexId" open="(" separator="," close=")">
      #{indexId}
    </foreach>;
    </foreach>
  </delete>
  <select id="getEnergyIndexMeterByCodes" resultMap="EnergyIndexResult">
@@ -391,4 +391,40 @@
        </if>
    </where>
  </select>
  <select id="getIndexByMeterIdIndexCode" resultType="com.zhitan.model.domain.EnergyIndex">
    SELECT ei.code,mi.meter_name||'_'||ei.name as name from energy_index ei
    LEFT JOIN node_device nd on ei.meter_id =  nd.device_id
    LEFT JOIN meter_implement  mi on mi."id" = nd.device_id
    <where>
        <if test="nodeId != null  and nodeId != ''">and nd.node_id  = #{nodeId}</if>
        <if test="indexCode != null  and indexCode != ''">
          and (mi.meter_name like concat('%', #{indexCode}, '%')
          or ei.code like concat('%', #{indexCode}, '%')
          or ei.name like concat('%', #{indexCode}, '%')
          )
        </if>
        <if test="meterId != null  and meterId != ''">
          and ei.meter_id = #{meterId}
        </if>
    </where>
  </select>
    <select id="getModelNodeIndexInfoListByIndexIds"
            resultType="com.zhitan.model.domain.vo.ModelNodeIndexInfo">
        SELECT    mi.model_name modelName,
          mi.model_code,
          mn."name" "name",
          ei.index_id,
          ei.code indexCode,
          ei."name" indexName,
          ei.energy_id,
          ei.energy_id
        FROM node_index ni
        INNER JOIN energy_index ei ON ni.index_id = ei.index_id
        LEFT JOIN model_node mn ON ni.node_id = mn.node_id
        LEFT JOIN model_info mi ON mn.model_code = mi.model_code
        WHERE ei.index_id IN
        <foreach collection="indexIds" item="indexId" open="(" separator="," close=")">
            #{indexId}
        </foreach>
    </select>
</mapper>