baoshiwei
2025-04-19 5d36e1f987ef21e44ded2e8a1d06c28094ec1e76
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,8 @@
    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 +60,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 +146,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>
@@ -187,7 +188,8 @@
  </insert>
  <insert id="insertNodeIndex">
    insert into node_index (node_id, index_id) values (#{nodeId}, #{indexId});
        insert into node_index (node_id, index_id)
        values (#{nodeId}, #{indexId});
  </insert>
  <insert id="insertEnergyIndices">
    <foreach collection="energyIndices" item="energyIndex" separator=";">
@@ -271,7 +273,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,16 +305,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>;
  </delete>
  <delete id="deleteByIndexId">
    delete
    from energy_index
    where index_id = #{indexId}
        </foreach>
  </delete>
  <select id="getEnergyIndexMeterByCodes" resultMap="EnergyIndexResult">
@@ -341,7 +338,8 @@
    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>
      <if test="query.codeOrName != null  and query.codeOrName != ''">and (name like concat('%', #{query.codeOrName},
            <if test="query.codeOrName != null  and query.codeOrName != ''">and (name like concat('%',
                #{query.codeOrName},
        '%') or code like concat('%', #{query.codeOrName}, '%'))
      </if>
      <if test="query.indexType != null">and index_type = #{query.indexType}</if>
@@ -413,4 +411,35 @@
        </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>
    <select id="selectEnergyTypeByIndex" resultType="com.zhitan.basicdata.domain.vo.MeterImplementModel">
        select ex.index_id indexId,
               mi.id meterId,
               mi.energy_type energyType
        from energy_index ex
                 left join meter_implement mi on ex.meter_id = mi.id
        where ex.index_id in
        <foreach collection="indexIds" item="indexId" open="(" separator="," close=")">
            #{indexId}
        </foreach>
    </select>
</mapper>