DYL0109
2025-04-18 940bdec33a4c2a6b52d1497e6eeffddb1b6b4585
zhitan-system/src/main/resources/mapper/model/ModelNodeMapper.xml
@@ -89,9 +89,9 @@
            resultType="com.zhitan.model.domain.EnergyIndex">
        select ei.index_id as indexId, code, name, index_type as indexType
        from energy_index ei
                 left join node_index ni on ei.index_id = ni.index_id
        left join node_index ni on ei.index_id = ni.index_id
        where ni.node_id = #{nodeId}
          and ei.index_type = #{indexType}
        and ei.index_type = #{indexType}
        <if test="code != null  and code != ''">
            and code like concat('%', #{code}, '%')
        </if>
@@ -292,7 +292,7 @@
    </select>
    <select id="getModelNodeIndexIdRelationInforByCode"
            resultType="com.zhitan.model.domain.vo.ModelNodeIndexInfor">
            resultType="com.zhitan.model.domain.vo.ModelNodeIndexInfo">
        SELECT mn.node_id  nodeId,
               mn."name"   "name",
               ni.index_id indexId
@@ -303,7 +303,7 @@
    </select>
    <select id="listModelNodeIndexIdRelationInforByParentId"
            resultType="com.zhitan.model.domain.vo.ModelNodeIndexInfor">
            resultType="com.zhitan.model.domain.vo.ModelNodeIndexInfo">
        SELECT mn.node_id  nodeId,
               mn."name"   "name",
               ni.index_id indexId
@@ -313,7 +313,7 @@
    </select>
    <select id="getModelNodeIndexIdRelationInforByNodeId"
            resultType="com.zhitan.model.domain.vo.ModelNodeIndexInfor">
            resultType="com.zhitan.model.domain.vo.ModelNodeIndexInfo">
        SELECT mn.node_id  nodeId,
               mn."name"   "name",
               ni.index_id indexId
@@ -332,11 +332,12 @@
               node_category nodeCategory
        FROM "model_node"
        WHERE model_code = #{indexCode}
          AND parent_id IS NULL LIMIT 1;
          AND parent_id IS NULL
        LIMIT 1;
    </select>
    <select id="selectIndexByModelCodeAndNodeId"
            resultType="com.zhitan.model.domain.vo.ModelNodeIndexInfor">
        SELECT mn.node_id nodeId,
            resultType="com.zhitan.model.domain.vo.ModelNodeIndexInfo">
        SELECT mn.node_id  nodeId,
               mn."name",
               ni.index_id indexId
        FROM model_node mn
@@ -347,15 +348,15 @@
    <select id="getSettingDeviceIndex" resultType="com.zhitan.basicdata.domain.MeterImplement">
        SELECT distinct
               m."id",
               m.code,
               m.meter_name AS meterName,
               m.meter_type    meterType,
               m.wire_diameter    wireDiameter,
               m.max_allowable_power    maxAllowablePower
        m."id",
        m.code,
        m.meter_name AS meterName,
        m.meter_type meterType,
        m.wire_diameter wireDiameter,
        m.max_allowable_power maxAllowablePower
        FROM meter_implement m
                 LEFT JOIN energy_index ei ON ei.meter_id = m."id"
                 LEFT JOIN node_index ni ON ni.index_id = ei.index_id
        LEFT JOIN energy_index ei ON ei.meter_id = m."id"
        LEFT JOIN node_index ni ON ni.index_id = ei.index_id
        WHERE ni.node_id = #{nodeId}
        <if test="energyType!=null and energyType!=''">
            AND M.energy_type = #{energyType}
@@ -365,11 +366,12 @@
    <delete id="delIndexNodeIdAndIndexType">
        delete
        from node_index
        where node_id = #{nodeId} and index_id in (
            select ni.index_id
            from node_index ni left join energy_index ei on ni.index_id = ei.index_id
            where node_id = #{nodeId} and ei.index_type = #{indexType}
        );
        where node_id = #{nodeId}
          and index_id in (select ni.index_id
                           from node_index ni
                                    left join energy_index ei on ni.index_id = ei.index_id
                           where node_id = #{nodeId}
                             and ei.index_type = #{indexType});
    </delete>
    <insert id="setIndexAndNodeId">
        <foreach collection="indexIds" item="indexId" separator=";">
@@ -378,12 +380,13 @@
        </foreach>
    </insert>
    <select id="getModelNodeIndexIdByNodeId" resultType="com.zhitan.model.domain.vo.ModelNodeIndexInfor">
        SELECT mn.node_id  nodeId,
               mn."name"   "name",
               ni.index_id indexId,
               ei.energy_id energyId,
               ei.index_type indexType
    <select id="getModelNodeIndexIdByNodeId" resultType="com.zhitan.model.domain.vo.ModelNodeIndexInfo">
        SELECT mn.node_id nodeId,
        mn."name" "name",
        ni.index_id indexId,
        ei.energy_id energyId,
        ei.index_type indexType,
        ei.unit_id unitId
        FROM "model_node" mn
        LEFT JOIN "node_index" ni ON mn.node_id = ni.node_id
        LEFT JOIN energy_index ei on ni.index_id = ei.index_id
@@ -392,7 +395,7 @@
            and ei.energy_id = #{energyType}
        </if>
    </select>
    <select id="getModelNodeByParentId" resultType="com.zhitan.model.domain.vo.ModelNodeIndexInfor">
    <select id="getModelNodeByParentId" resultType="com.zhitan.model.domain.vo.ModelNodeIndexInfo">
        SELECT mn.node_id  nodeId,
               mn."name"   "name",
               ni.index_id indexId,
@@ -400,16 +403,17 @@
        FROM "model_node" mn
                 LEFT JOIN "node_index" ni ON mn.node_id = ni.node_id
                 left join energy_index ei on ni.index_id = ei.index_id
        WHERE mn.parent_id = #{parentId} and ei.index_type = 'STATISTIC'
        WHERE mn.parent_id = #{parentId}
          and ei.index_type = 'STATISTIC'
    </select>
    <select id="getFirstModeNodeInfo" resultType="com.zhitan.model.domain.ModelNode">
        <include refid="selectModelNodeVo"/>
        where model_code = #{modelCode}  AND parent_id is null
        where model_code = #{modelCode} AND parent_id is null
        order by order_num
    </select>
    <select id="selectIndexByNodeIds" resultType="com.zhitan.model.domain.vo.ModelNodeIndexInfor">
        SELECT mn.node_id  nodeId,
        mn."name"   "name",
    <select id="selectIndexByNodeIds" resultType="com.zhitan.model.domain.vo.ModelNodeIndexInfo">
        SELECT mn.node_id nodeId,
        mn."name" "name",
        ni.index_id indexId,
        ei.energy_id
        FROM "model_node" mn
@@ -417,15 +421,67 @@
        left join energy_index ei on ni.index_id = ei.index_id
        <where>
            mn.model_code = #{modelCode}
          AND mn.node_id in
        <foreach collection="nodeIds" index="index" item="item" open="(" separator="," close=")">
            #{item}
        </foreach>
        <if test="modelCode!=null and modelCode!='' and nodeIds.size>0">
            and ei.index_type='STATISTIC'
        </if>
            AND mn.node_id in
            <foreach collection="nodeIds" index="index" item="item" open="(" separator="," close=")">
                #{item}
            </foreach>
            <if test="modelCode!=null and modelCode!='' and nodeIds.size>0">
                and ei.index_type='STATISTIC'
            </if>
        </where>
    </select>
    <select id="getDataItemByParentNodeId" resultType="com.zhitan.dataitem.domain.vo.NodeIndexValueVO">
        SELECT mn.node_id  nodeId,
               mn."name"   nodeName,
               di.index_id indexId,
               di."value"  value
        FROM model_node mn
                 LEFT JOIN "node_index" ni ON mn.node_id = ni.node_id
                 LEFT JOIN "energy_index" ei ON ei.index_id = ni.index_id
                 LEFT JOIN "data_item" di ON ei.index_id = di.index_id
        WHERE mn.parent_id = #{parentId}
          AND ei.energy_id = #{energyType}
          AND ei.index_type = 'STATISTIC'
          AND di.time_type = #{timeType.name}
          AND di.data_time >= #{dateTimeMap.startTime}
          AND di.data_time &lt;= #{dateTimeMap.endTime}
    </select>
    <select id="getDataItemByNodeId" resultType="com.zhitan.dataitem.domain.vo.NodeIndexValueVO">
        SELECT mn.node_id  nodeId,
               mn."name"   nodeName,
               di.index_id indexId,
               di."value"  value
        FROM "model_node" mn
                 LEFT JOIN "node_index" ni ON mn.node_id = ni.node_id
                 LEFT JOIN "energy_index" ei ON ei.index_id = ni.index_id
                 LEFT JOIN "data_item" di ON ei.index_id = di.index_id
        WHERE mn.node_id = #{nodeId}
          AND ei.energy_id = #{energyType}
          AND ei.index_type = 'STATISTIC'
          AND di.time_type = #{timeType.name}
          AND di.data_time >= #{dateTimeMap.startTime}
          AND di.data_time &lt;= #{dateTimeMap.endTime}
    </select>
    <select id="getAllModelNodeIndexByAddress" resultType="com.zhitan.model.domain.vo.ModelNodeIndexInfo">
        SELECT
            mn.node_id nodeId,
            mn.code nodeCode,
            mn."name" nodeName,
            ni.index_id indexId,
            ei."name" indexName,
            ei.index_type indexType,
            mi.energy_type
        FROM
            "model_node" mn
                LEFT JOIN "node_index" ni ON mn.node_id = ni.node_id
                LEFT JOIN energy_index ei ON ni.index_id = ei.index_id
                LEFT JOIN meter_implement mi ON mi."id" = ei.meter_id
        WHERE
            mn.model_code = #{modelCode}
          AND mn.address LIKE concat( #{address} , '%' )
    </select>
</mapper>