Browse Source

fix: 设备总数

jackzhou 4 months ago
parent
commit
a94cea9b83

+ 8 - 22
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitortarget/mapper/mapping/MonitorTargetMapper.xml

@@ -7,31 +7,13 @@
         <result column="notification_channel" property="notificationChannel" javaType="java.util.List" typeHandler="vip.xiaonuo.coldchain.core.handler.NotificationChannelListTypeHandler"/>
     </resultMap>
 
-<!--    <select id="getCountByStatus" resultType="vip.xiaonuo.coldchain.modular.monitortarget.entity.StatusCount">-->
-<!--        select status, count(`status`) as count-->
-<!--        from `monitor_target`-->
-<!--        where `CREATE_ORG` = #{orgId}-->
-<!--        and delete_flag = 'NOT_DELETE'-->
-<!--        <if test="name != null and name != ''">-->
-<!--            and name like '%${name}%'-->
-<!--            or id in (-->
-<!--            select `monitor_target_id`-->
-<!--            from `monitor_target_region`-->
-<!--            where sensor_code like '%${name}%'-->
-<!--            )-->
-<!--        </if>-->
-<!--        <if test="roomId != null and roomId != ''">-->
-<!--            and room_id=#{roomId}-->
-<!--        </if>-->
-<!--        group by status-->
-<!--    </select>-->
-
     <select id="getCountByStatus" resultType="vip.xiaonuo.coldchain.modular.monitortarget.entity.StatusCount">
-        select t.status, COUNT(*) as count
+        SELECT t.status, COUNT(DISTINCT t.id) AS count
         FROM monitor_target t
         LEFT JOIN monitor_target_region r ON r.monitor_target_id = t.id
-        WHERE 1=1
-        AND t.DELETE_FLAG = 'NOT_DELETE'
+        WHERE t.DELETE_FLAG = 'NOT_DELETE'
+<!--        &lt;!&ndash; 动态条件:仅在 r 存在时检查 r 的 DELETE_FLAG &ndash;&gt;-->
+<!--        AND (r.DELETE_FLAG = 'NOT_DELETE' OR r.id IS NULL)-->
         <!-- 动态条件:按房间ID查询 -->
         <if test="roomId != null and roomId.trim() != ''">
             AND t.room_id = #{roomId}
@@ -51,6 +33,10 @@
         GROUP BY t.status
     </select>
 
+
+
+
+
     <select id="selectMonitorTargetByPage" resultMap="MonitorTargetResultMap">
         SELECT t.*
         FROM monitor_target t