jackzhou 4 місяців тому
батько
коміт
a941c28720

+ 0 - 2
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/app/service/AppDeviceService.java

@@ -124,7 +124,6 @@ public class AppDeviceService {
             // 将转换后的设备对象添加到最终的设备列表中
             rlt.add(appDevice);
         });
-
         // 创建分页返回对象,设置分页信息和记录数据
         Page<AppDevice> pageResult = new Page<>();
         pageResult.setCurrent(appDevicePageParam.getCurrent()); // 当前页
@@ -132,7 +131,6 @@ public class AppDeviceService {
         pageResult.setTotal(pageByUser.getTotal()); // 总记录数
         pageResult.setPages(pageByUser.getPages()); // 总页数
         pageResult.setRecords(rlt); // 设置当前页的设备数据
-
         // 返回分页结果
         return pageResult;
     }

+ 3 - 1
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitortarget/mapper/MonitorTargetMapper.java

@@ -13,6 +13,8 @@
 package vip.xiaonuo.coldchain.modular.monitortarget.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Param;
 import vip.xiaonuo.coldchain.modular.monitortarget.entity.MonitorTarget;
 import vip.xiaonuo.coldchain.modular.monitortarget.entity.StatusCount;
@@ -34,5 +36,5 @@ public interface MonitorTargetMapper extends BaseMapper<MonitorTarget> {
      * @param monitorTargetPageParam 查询参数对象,封装了所有查询条件
      * @return MonitorTarget 列表
      */
-    List<MonitorTarget> selectMonitorTargetByPage(@Param("param") MonitorTargetPageParam monitorTargetPageParam);
+    IPage<MonitorTarget> selectMonitorTargetByPage(Page<MonitorTarget> page, @Param("param") MonitorTargetPageParam monitorTargetPageParam);
 }

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

@@ -1,40 +1,62 @@
 <?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="vip.xiaonuo.coldchain.modular.monitortarget.mapper.MonitorTargetMapper">
+
     <resultMap id="MonitorTargetResultMap" type="vip.xiaonuo.coldchain.modular.monitortarget.entity.MonitorTarget">
         <result column="alarm_users" property="alarmUsers" javaType="java.util.List" typeHandler="vip.xiaonuo.coldchain.core.handler.SensorAlarmUserTypeHandler"/>
         <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 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}%'
-            )
+        select t.status, COUNT(*) as count
+        FROM monitor_target t
+        LEFT JOIN monitor_target_region r ON r.monitor_target_id = t.id
+        WHERE 1=1
+        <!-- 过滤条件:MonitorTarget 删除标志 -->
+        AND t.DELETE_FLAG = 'NOT_DELETE'
+        <!-- 过滤条件:monitor_target_region 删除标志 -->
+        AND r.DELETE_FLAG = 'NOT_DELETE'
+        <!-- 动态条件:按房间ID查询 -->
+        <if test="roomId != null and roomId.trim() != ''">
+            AND t.room_id = #{roomId}
         </if>
-        <if test="roomId != null and roomId != ''">
-            and room_id=#{roomId}
+        <!-- 动态条件:按机构ID查询 -->
+        <if test="orgId != null and orgId.trim() != ''">
+            AND t.create_org = #{orgId}
+        </if>
+        <!-- 动态条件:按 sensor_code 或 name 模糊查询 -->
+        <if test="name != null and name.trim() != ''">
+            AND (r.sensor_code LIKE CONCAT('%', #{name}, '%')
+            OR r.name LIKE CONCAT('%', #{name}, '%'))
         </if>
-        group by status
+        GROUP BY t.status
     </select>
 
-
-    <!-- 查询 MonitorTarget 列表 -->
     <select id="selectMonitorTargetByPage" resultMap="MonitorTargetResultMap">
         SELECT t.*
         FROM monitor_target t
         LEFT JOIN monitor_target_region r ON r.monitor_target_id = t.id
         WHERE 1=1
-        <!-- 过滤条件:MonitorTarget 删除标志 -->
         AND t.DELETE_FLAG = 'NOT_DELETE'
-        <!-- 过滤条件:monitor_target_region 删除标志 -->
         AND r.DELETE_FLAG = 'NOT_DELETE'
         <!-- 动态条件:按名称模糊查询 -->
         <if test="param.name != null and param.name.trim() != ''">
@@ -52,9 +74,6 @@
         <if test="param.orgId != null and param.orgId.trim() != ''">
             AND t.create_org = #{param.orgId}
         </if>
-        <if test="param.orgId == null or param.orgId.trim() == ''">
-            AND t.create_org = #{param.orgId}
-        </if>
         <!-- 动态条件:按 sensor_code 或 name 模糊查询 -->
         <if test="param.searchKey != null and param.searchKey.trim() != ''">
             AND (r.sensor_code LIKE CONCAT('%', #{param.searchKey}, '%')
@@ -75,9 +94,10 @@
                 ORDER BY t.status ASC, t.name ASC
             </otherwise>
         </choose>
-        <!-- 分页 -->
-        LIMIT #{param.offset}, #{param.size}
+<!--        &lt;!&ndash; 分页 &ndash;&gt;-->
+<!--        LIMIT #{param.offset}, #{param.size}-->
     </select>
 
 
+
 </mapper>

+ 1 - 5
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitortarget/service/impl/MonitorTargetServiceImpl.java

@@ -207,12 +207,8 @@ public class MonitorTargetServiceImpl extends ServiceImpl<MonitorTargetMapper, M
         if (StrUtil.isBlank(monitorTargetPageParam.getOrgId())) {
             monitorTargetPageParam.setOrgId(StpLoginUserUtil.getLoginUser().getOrgId());
         }
-        List<MonitorTarget> list = monitorTargetMapper.selectMonitorTargetByPage(monitorTargetPageParam);
-        // 构造分页结果
         Page<MonitorTarget> page = new Page<>(monitorTargetPageParam.getCurrent(), monitorTargetPageParam.getSize());
-        page.setRecords(list);
-        // 如果需要查询总数,可以再查询一遍总数
-        return page;
+        return (Page<MonitorTarget>) monitorTargetMapper.selectMonitorTargetByPage(page,monitorTargetPageParam);
     }