Browse Source

添加时间查询

yq 4 years ago
parent
commit
cda773d8d6

+ 4 - 1
fiveep-model/src/main/java/com/bizmatics/model/Device.java

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.time.LocalDateTime;
 import java.io.Serializable;
+import java.util.Date;
+
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -57,7 +59,7 @@ public class Device implements Serializable {
     /**
      * 安装时间
      */
-    private LocalDateTime installTime;
+    private Date installTime;
 
     /**
      * 创建人
@@ -69,5 +71,6 @@ public class Device implements Serializable {
      */
     private Integer enable;
 
+    private Integer deviceStatus;
 
 }

+ 2 - 0
fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/AlarmPowerMapper.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.bizmatics.model.AlarmPower;
 import com.bizmatics.common.mvc.base.CrudMapper;
 import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
 
 import java.util.Date;
 import java.util.List;
@@ -18,6 +19,7 @@ import java.util.Map;
  * @author ya
  * @since 2021-07-07
  */
+@Repository
 public interface AlarmPowerMapper extends CrudMapper<AlarmPower> {
 
     /**

+ 8 - 0
fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/DeviceMapper.java

@@ -6,6 +6,7 @@ import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 import java.util.Date;
+import java.util.List;
 
 /**
  * <p>
@@ -34,5 +35,12 @@ public interface DeviceMapper extends CrudMapper<Device> {
                     @Param("type") String type);
 
 
+    List<Device> list(@Param("userId") Integer userId,
+                      @Param("siteId") Integer siteId,
+                      @Param("deviceStatus") Integer deviceStatus,
+                      @Param("startTime") Date startTime,
+                      @Param("endTime") Date endTime,
+                      @Param("type") String type);
+
 
 }

+ 1 - 0
fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/SiteMapper.java

@@ -26,4 +26,5 @@ public interface SiteMapper extends CrudMapper<Site> {
                     @Param("name") String name);
 
 
+
 }

+ 28 - 0
fiveep-persistence/src/main/resources/mapper/mysql/DeviceMapper.xml

@@ -42,5 +42,33 @@
             </if>
         </where>
     </select>
+    <select id="list" resultType="com.bizmatics.model.Device">
+        select d.id,d.device_code,d.device_name,d.site_id,d.device_address,d.device_type,d.install_time,ds.device_status as deviceStatus
+        from user_site as us
+        inner join device_status as ds
+        on us.site_id = ds.site_id
+        inner join device as d
+        on us.site_id = d.site_Id
+        <where>
+            <if test="userId != null and userId != 0">
+                and us.user_id = #{userId}
+            </if>
+            <if test="siteId != null and siteId != 0">
+                and us.site_id = #{siteId}
+            </if>
+            <if test="deviceStatus != null">
+                and ds.device_status = #{deviceStatus}
+            </if>
+            <if test="startTime != null">
+                and ds.status_time >= #{startTime}
+            </if>
+            <if test="endTime != null">
+                and ds.status_time &lt;= #{endTime}
+            </if>
+            <if test="type != null">
+                and d.device_type = #{type}
+            </if>
+        </where>
+    </select>
 
 </mapper>

+ 3 - 3
fiveep-persistence/src/main/resources/mapper/mysql/HtAnalogDataMapper.xml

@@ -19,7 +19,7 @@
                 and us.site_id = #{siteId}
             </if>
             <if test="endTime != null and startTime != null">
-                BETWEEN #{startTime} and #{endTime}
+                and dataTime BETWEEN #{startTime} and #{endTime}
             </if>
         </where>
         order by had.id desc limit 0,1
@@ -41,7 +41,7 @@
                 and us.site_id = #{siteId}
             </if>
             <if test="endTime != null and startTime != null">
-                BETWEEN #{startTime} and #{endTime}
+                and dataTime BETWEEN #{startTime} and #{endTime}
             </if>
         </where>
         order by had.id asc limit 0,1
@@ -56,7 +56,7 @@
                 and d.site_id = #{siteId}
             </if>
             <if test="endTime != null and startTime != null">
-                BETWEEN #{startTime} and #{endTime}
+                and dataTime BETWEEN #{startTime} and #{endTime}
             </if>
         </where>
     </select>

+ 0 - 41
fiveep-persistence/src/main/resources/mapper/mysql/HtSwitchDataMapper.xml

@@ -2,46 +2,5 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.bizmatics.persistence.mapper.HtSwitchDataMapper">
 
-    <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.bizmatics.model.HtSwitchData">
-        <id column="id" property="id" />
-        <result column="deviceName" property="deviceName" />
-        <result column="ArcA" property="ArcA" />
-        <result column="ArcB" property="ArcB" />
-        <result column="ArcC" property="ArcC" />
-        <result column="BusOutage" property="BusOutage" />
-        <result column="DI1" property="di1" />
-        <result column="DI2" property="di2" />
-        <result column="DI3" property="di3" />
-        <result column="DO1" property="do1" />
-        <result column="DO2" property="do2" />
-        <result column="DevAbnormal" property="DevAbnormal" />
-        <result column="EleAlarm" property="EleAlarm" />
-        <result column="FireAlarm" property="FireAlarm" />
-        <result column="LoadBrkState" property="LoadBrkState" />
-        <result column="LoadLive" property="LoadLive" />
-        <result column="MeasFailure" property="MeasFailure" />
-        <result column="Mute" property="Mute" />
-        <result column="OverDemandP" property="OverDemandP" />
-        <result column="OverDemandS" property="OverDemandS" />
-        <result column="OverEvT" property="OverEvT" />
-        <result column="OverI" property="OverI" />
-        <result column="OverIH" property="OverIH" />
-        <result column="OverIr" property="OverIr" />
-        <result column="OverT1" property="OverT1" />
-        <result column="OverT2" property="OverT2" />
-        <result column="OverT3" property="OverT3" />
-        <result column="OverT4" property="OverT4" />
-        <result column="OverUH" property="OverUH" />
-        <result column="OverV" property="OverV" />
-        <result column="PhaseLoss" property="PhaseLoss" />
-        <result column="ResDI1" property="ResDI1" />
-        <result column="ResDI2" property="ResDI2" />
-        <result column="ResDI3" property="ResDI3" />
-        <result column="ResDI4" property="ResDI4" />
-        <result column="Trip" property="Trip" />
-        <result column="UnderV" property="UnderV" />
-        <result column="dataTime" property="dataTime" />
-    </resultMap>
 
 </mapper>

+ 2 - 7
fiveep-persistence/src/main/resources/mapper/mysql/RtAnalogDataMapper.xml

@@ -20,8 +20,6 @@
     </select>
     <select id="getOneMap" resultType="java.util.Map">
         select
-        rad.`id` as '伍继电力test_183消费组模拟量实时数据表ID',
-          `deviceName` as '阿里云平台设备名称',
           `Busot` as '母线停电次数',
           `COS` as '三相功率因数',
           `COSa` as 'A相功率因数',
@@ -110,11 +108,8 @@
             <if test="siteId != null and siteId != 0">
                 and us.site_id = #{siteId}
             </if>
-            <if test="startTime != null">
-                and rad.dataTime &gt;= #{startTime}
-            </if>
-            <if test="endTime != null">
-                and rad.dataTime &lt; #{endTime}
+            <if test="startTime != null and endTime != null">
+                and rad.dataTime BETWEEN #{startTime},#{endTime}
             </if>
         </where>
     </select>

+ 19 - 15
fiveep-service/src/main/java/com/bizmatics/service/impl/SiteServiceImpl.java

@@ -3,7 +3,9 @@ package com.bizmatics.service.impl;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.bizmatics.common.core.exception.BusinessException;
 import com.bizmatics.common.core.util.BeanMapperUtils;
+import com.bizmatics.model.Device;
 import com.bizmatics.model.Site;
+import com.bizmatics.persistence.mapper.AlarmPowerMapper;
 import com.bizmatics.persistence.mapper.DeviceMapper;
 import com.bizmatics.persistence.mapper.SiteMapper;
 import com.bizmatics.service.DeviceService;
@@ -35,6 +37,9 @@ public class SiteServiceImpl extends AbstractCrudService<SiteMapper, Site> imple
 
     @Autowired
     private DeviceMapper deviceMapper;
+
+    @Autowired
+    private AlarmPowerMapper alarmPowerMapper;
     @Override
     public DeviceCountVO selectCount() {
         Integer userId = SessionLocal.getUserId();
@@ -56,9 +61,13 @@ public class SiteServiceImpl extends AbstractCrudService<SiteMapper, Site> imple
     public List<SiteVO> siteAndStatusList(String name) {
         List<SiteVO> list = new ArrayList<>();
         Integer userId = SessionLocal.getUserId();
+        long l = System.currentTimeMillis();
         List<Site> sites = baseMapper.list(SessionLocal.getUserId(), name);
-        System.out.println(sites.size());
+        long e = System.currentTimeMillis();
+        System.out.println("结束时间"+ (e-l));
         sites.forEach(site -> list.add(enhanceSite(site,userId)));
+        long es = System.currentTimeMillis();
+        System.out.println("结束时间1"+ (es-e));
         return list;
     }
 
@@ -72,28 +81,23 @@ public class SiteServiceImpl extends AbstractCrudService<SiteMapper, Site> imple
     public SiteVO enhanceSite(Site site,Integer userId){
         long l = System.currentTimeMillis();
         SiteVO siteVo = BeanMapperUtils.map(site, SiteVO.class);
-        long change = System.currentTimeMillis();
-        log.info("转换时间"+(change-l));
-        siteVo.setDeviceCount(deviceMapper.selectCount(userId,siteVo.getId(),null,null,null,null));
-        long device = System.currentTimeMillis();
-        log.info("获取设备数时间"+(device-change));
-        int deviceCount = baseMapper.selectCount(userId,siteVo.getId(),DeviceStatusCode.DEVICE.getValue());
-        long count = System.currentTimeMillis();
-        log.info("获取状态时间"+(count-change));
-        int offLineCount = baseMapper.selectCount(userId,siteVo.getId(),DeviceStatusCode.OFFLINE.getValue());
-        int faultCount = baseMapper.selectCount(userId,siteVo.getId(),DeviceStatusCode.FAULT.getValue());
-        siteVo.setAlarmPowerCount(deviceCount);
+        List<Device> list = deviceMapper.list(userId, siteVo.getId(), null, null, null, null);
+        siteVo.setDeviceCount(list.size());
+        long deviceCount = list.stream().filter(device -> DeviceStatusCode.DEVICE.getValue().equals(device.getDeviceStatus())).count();
+        long faultCount = list.stream().filter(device -> DeviceStatusCode.FAULT.getValue().equals(device.getDeviceStatus())).count();
+        long offCount = list.stream().filter(device -> DeviceStatusCode.OFFLINE.getValue().equals(device.getDeviceStatus())).count();
+//        siteVo.setAlarmPowerCount(alarmPowerMapper.selectCount(userId,site.getId(),null,null,null,null,1));
         if (deviceCount > 0){
             siteVo.setStatus(DeviceStatusCode.FAULT.getDescribe());
-        }else if (offLineCount > 0){
+        }else if (offCount > 0){
             siteVo.setStatus(DeviceStatusCode.OFFLINE.getDescribe());
         }else if (faultCount > 0){
             siteVo.setStatus(DeviceStatusCode.FAULT.getDescribe());
         }else {
             siteVo.setStatus(DeviceStatusCode.NORMAL.getDescribe());
         }
-        long e = System.currentTimeMillis();
-        log.info("结束"+ (e-l));
+        long s = System.currentTimeMillis();
+        System.out.println("循环一次"+(s-l));
         return siteVo;
     }
 }