|
|
@@ -0,0 +1,291 @@
|
|
|
+package com.gyee.power.fitting.mapper;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+import com.baomidou.dynamic.datasource.annotation.DS;
|
|
|
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
|
+import com.gyee.power.fitting.model.AlarmTs;
|
|
|
+import com.gyee.power.fitting.model.ProBasicFeatureStat;
|
|
|
+import com.gyee.power.fitting.model.vo.AlarmSimpleVo;
|
|
|
+import com.gyee.power.fitting.model.vo.AlarmTsVo;
|
|
|
+import com.gyee.power.fitting.model.vo.AlarmVo;
|
|
|
+import com.gyee.power.fitting.model.vo.SimpleVo2;
|
|
|
+import org.apache.ibatis.annotations.Insert;
|
|
|
+import org.apache.ibatis.annotations.Param;
|
|
|
+import org.apache.ibatis.annotations.Select;
|
|
|
+import org.apache.ibatis.annotations.Update;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+
|
|
|
+@DS("slave")
|
|
|
+public interface AlarmTsMapper extends BaseMapper<AlarmTs> {
|
|
|
+
|
|
|
+
|
|
|
+ @Update("CREATE STABLE if not exists ${superTableName} (ts TIMESTAMP,val INT,oval INT,confirmed BOOL) " +
|
|
|
+ "TAGS (alarmid NCHAR(100),alarmtype NCHAR(50),characteristic NCHAR(50)," +
|
|
|
+ "components NCHAR(50),description NCHAR(500),deviceid NCHAR(50),devicename NCHAR(70)," +
|
|
|
+ "devicetype NCHAR(50),enabled BOOL,lineid NCHAR(50),linename NCHAR(70),modelId NCHAR(50),projectid NCHAR(50)," +
|
|
|
+ "projectname NCHAR(70),rank INT,resettable BOOL,stationid NCHAR(50),stationname NCHAR(70),subcomponents NCHAR(50)," +
|
|
|
+ "suffix NCHAR(50),tagid NCHAR(100),triggertype INT,uniformcode NCHAR(50));")
|
|
|
+ int createAlarmSuperTable(@Param("superTableName") String superTableName);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ @Update("create table if not exists ${tbName} using ${superTableName} tags( #{alarmid}, #{alarmtype}," +
|
|
|
+ "#{characteristic}, #{components}, #{description}, #{deviceid}, #{devicename}," +
|
|
|
+ "#{devicetype}, #{enabled}, #{lineid}, #{linename}, #{modelId}, #{projectid}," +
|
|
|
+ "#{projectname}, #{rank}, #{resettable}, #{stationid}, #{stationname}, #{subcomponents}," +
|
|
|
+ "#{suffix}, #{tagid}, #{triggertype}, #{uniformcode}" +
|
|
|
+ ")")
|
|
|
+ int createTable(@Param("tbName") String tbName, @Param("alarmid") String alarmid, @Param("alarmtype") String alarmtype,
|
|
|
+ @Param("characteristic") String characteristic, @Param("components") String components,
|
|
|
+ @Param("description") String description,
|
|
|
+ @Param("deviceid") String deviceid, @Param("devicename") String devicename,
|
|
|
+ @Param("devicetype") String devicetype, @Param("enabled") Boolean enabled,
|
|
|
+ @Param("lineid") String lineid, @Param("linename") String linename,
|
|
|
+ @Param("modelId") String modelId, @Param("projectid") String projectid,
|
|
|
+ @Param("projectname") String projectname, @Param("rank") Integer rank,
|
|
|
+ @Param("resettable") Boolean resettable, @Param("stationid") String stationid,
|
|
|
+ @Param("stationname") String stationname, @Param("subcomponents") String subcomponents,
|
|
|
+ @Param("suffix") String suffix, @Param("tagid") String tagid,
|
|
|
+ @Param("triggertype") Integer triggertype, @Param("uniformcode") String uniformcode, @Param("superTableName") String superTableName
|
|
|
+
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ @Update("create table if not exists ${tbName} using ${superTableName} tags( #{alarmid}, #{alarmtype}," +
|
|
|
+ "#{characteristic}, #{components}, #{description}, #{deviceid}, #{devicename}," +
|
|
|
+ "#{devicetype}, #{enabled}, #{lineid}, #{linename}, #{modelId}, #{projectid}," +
|
|
|
+ "#{projectname}, #{rank}, #{resettable}, #{stationid}, #{stationname}, #{subcomponents}," +
|
|
|
+ "#{suffix}, #{tagid}, #{triggertype}, #{uniformcode}" +
|
|
|
+ ")")
|
|
|
+ int createTable(AlarmVo vo);
|
|
|
+
|
|
|
+ @Update("drop table if exists ${superTableName}")
|
|
|
+ void dropSuperTable(@Param("superTableName")String superTableName);
|
|
|
+
|
|
|
+ @Insert("insert into ${tbName} (ts, val,oval,confirmed) values(#{ts}, #{val}, #{oval}, #{confirmed})")
|
|
|
+ int insertOne(AlarmTs one);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ @Insert("${sql}")
|
|
|
+ int insertList(@Param("sql") String sql);
|
|
|
+
|
|
|
+ @Select("select last_row(*),alarmid,alarmtype,characteristic,components,confirmed,description,deviceid,devicename,devicetype,enabled,lineid,linename," +
|
|
|
+ "modelId,projectid,projectname,rank,resettable,stationid,stationname,subcomponents,suffix,tagid,triggertype,uniformcode from #{stbaleName} group by tbname")
|
|
|
+ List<AlarmVo> findTags(@Param("stbaleName") String stbaleName);
|
|
|
+
|
|
|
+
|
|
|
+ @Select("select deviceid,description,count(*) as val from #{superTableName} where ts>=#{begin} and ts<=#{end} stationid=#{stationid} group by description,deviceid ")
|
|
|
+ List<AlarmTsVo> selectByWpGroup(@Param("superTableName") String superTableName, @Param("stationid") String stationid, @Param("begin")long begin, @Param("end") long end);
|
|
|
+
|
|
|
+
|
|
|
+ @Select("select ts,val,oval,alarmid,alarmtype,characteristic,components,confirmed,description,deviceid,devicename,devicetype,enabled,lineid,linename," +
|
|
|
+ "modelId,projectid,projectname,rank,resettable,stationid,stationname,subcomponents,suffix,tagid,triggertype,uniformcode from #{tbName} limit #{limit} , #{offset} ")
|
|
|
+ List<AlarmVo> selectByTbName(@Param("tbName") String tbName,@Param("limit") long limit,@Param("offset") long offset);
|
|
|
+
|
|
|
+ @Select("select alarmid,description,count(*) as val,max(rank),sum(timeLong) as timeLong) from #{superTableName} where ts>=#{begin} and ts<=#{end} and deviceid=#{deviceid} group by description,alarmid ")
|
|
|
+ List<AlarmTsVo> selectByWtGroup(@Param("superTableName") String superTableName, @Param("deviceid") String deviceid, @Param("begin")long begin, @Param("end") long end);
|
|
|
+
|
|
|
+
|
|
|
+ @Select("select projectname as name,count(*) total from #{superTableName} where ts>=#{begin} and ts<=#{end} group by projectname ")
|
|
|
+ List<SimpleVo2> selectByWp(@Param("superTableName") String superTableName, @Param("begin")long begin, @Param("end") long end);
|
|
|
+
|
|
|
+ @Select("select stationname as name,count(*) as total from #{superTableName} where ts>=#{begin} and ts<=#{end} group by stationname ")
|
|
|
+ List<SimpleVo2> selectByPj(@Param("superTableName") String superTableName, @Param("begin")long begin, @Param("end") long end);
|
|
|
+
|
|
|
+// @Select("select ts,val,alarmid,alarmtype,characteristic,components,confirmed,description,deviceid,devicename,devicetype,enabled,lineid,linename," +
|
|
|
+// "modelId,projectid,projectname,rank,resettable,stationid,stationname,subcomponents,suffix,tagid,triggertype,uniformcode from #{superTableName} " +
|
|
|
+// "#{whereSql} order by ts desc limit #{limit} offset #{offset} ")
|
|
|
+
|
|
|
+// @Select({"<script>",
|
|
|
+// "select last_row(ts) as lastts,ts,val,alarmid,alarmtype,characteristic,components,confirmed,description,deviceid,devicename,devicetype,enabled,lineid,linename," +
|
|
|
+// "modelId,projectid,projectname,rank,resettable,stationid,stationname,subcomponents,suffix,tagid,triggertype,uniformcode,nemCode ,faultCause,resolvent from #{superTableName} " ,
|
|
|
+// "<where>" ,
|
|
|
+//
|
|
|
+// "<if test='modelId != null'>",
|
|
|
+// "and modelId= #{modelId}",
|
|
|
+// "</if>",
|
|
|
+// "<if test='description != null'>",
|
|
|
+// "and description like #{description}",
|
|
|
+// "</if>",
|
|
|
+// "<if test='deviceid != null'>",
|
|
|
+// "and deviceid = #{deviceid}",
|
|
|
+// "</if>",
|
|
|
+// "<if test='deviceType != null'>",
|
|
|
+// "and deviceType = #{deviceType}",
|
|
|
+// "</if>",
|
|
|
+// "<if test='components != null'>",
|
|
|
+// "and components = #{components}",
|
|
|
+// "</if>",
|
|
|
+// "<if test='stationid != null'>",
|
|
|
+// "and stationid = #{stationid}",
|
|
|
+// "</if>",
|
|
|
+// "<if test='alarmid != null'>",
|
|
|
+// "and alarmid = #{alarmid}",
|
|
|
+// "</if>",
|
|
|
+// "and ts >= #{begin}",
|
|
|
+// "and ts <= #{end}",
|
|
|
+//// " and confirmed = false ",
|
|
|
+// " and enabled = true ",
|
|
|
+// "</where>",
|
|
|
+// " group by tbname,alarmid,alarmtype,characteristic,components,description,deviceid,devicename,devicetype,enabled,lineid,linename,modelId,projectid,projectname,rank,resettable,stationid,stationname,subcomponents,suffix,tagid,triggertype,uniformcode,nemCode ,faultCause,resolvent ",
|
|
|
+// " order by ts desc limit #{limit},#{offset} ",
|
|
|
+// "</script>"})
|
|
|
+
|
|
|
+ @Select({"<script>",
|
|
|
+ "select ts ,val ,confirmed ,endts ,timeLong,tbname as id,alarmid as alarmId,alarmtype as alarmType,characteristic,components,confirmed,description,deviceid as deviceId,devicename,devicetype as deviceType,enabled,lineid,linename," +
|
|
|
+ "modelId,projectid,projectname,rank,resettable,stationid,stationname,subcomponents,suffix,tagid,triggertype,uniformcode,nemCode ,faultCause,resolvent from #{superTableName} " ,
|
|
|
+ "<where>" ,
|
|
|
+ " ts >= #{begin}",
|
|
|
+ "and ts <= #{end}",
|
|
|
+ "<if test='modelId != null'>",
|
|
|
+ "and modelId= #{modelId}",
|
|
|
+ "</if>",
|
|
|
+ "<if test='description != null'>",
|
|
|
+ "and description like #{description}",
|
|
|
+ "</if>",
|
|
|
+ "<if test='deviceid != null'>",
|
|
|
+ "and deviceid = #{deviceid}",
|
|
|
+ "</if>",
|
|
|
+ "<if test='deviceType != null'>",
|
|
|
+ "and deviceType = #{deviceType}",
|
|
|
+ "</if>",
|
|
|
+ "<if test='alarmType != null'>",
|
|
|
+ "and alarmType = #{alarmType}",
|
|
|
+ "</if>",
|
|
|
+ "<if test='components != null'>",
|
|
|
+ "and components = #{components}",
|
|
|
+ "</if>",
|
|
|
+ "<if test='stationid != null'>",
|
|
|
+ "and stationid = #{stationid}",
|
|
|
+ "</if>",
|
|
|
+ "<if test='alarmid != null'>",
|
|
|
+ "and alarmid = #{alarmid}",
|
|
|
+ "</if>",
|
|
|
+ "<if test='isclose== true'>",
|
|
|
+ "and endts is not null ",
|
|
|
+ "</if>",
|
|
|
+ "<if test='isclose== false'>",
|
|
|
+ "and endts is null ",
|
|
|
+ "</if>",
|
|
|
+
|
|
|
+ " and enabled = true ",
|
|
|
+ "</where>",
|
|
|
+ " order by ts desc,rank desc limit #{limit},#{offset} ",
|
|
|
+ "</script>"})
|
|
|
+ List<AlarmVo> selectByWtLimit(@Param("begin")long begin,@Param("end")long end,@Param("modelId")String modelId,@Param("superTableName") String superTableName,@Param("alarmType")String alarmType,@Param("stationid")String stationid,@Param("deviceid")String deviceid,@Param("description")String description, @Param("deviceType")String deviceType, @Param("components")String components, @Param("alarmid")String alarmid, @Param("isclose")Boolean isclose,@Param("limit")int limit, @Param("offset") int offset);
|
|
|
+
|
|
|
+ @Select({"<script>",
|
|
|
+ "select count(tbname) from #{superTableName} " ,
|
|
|
+ "<where>" ,
|
|
|
+ " ts >= #{begin}",
|
|
|
+ "and ts <= #{end}",
|
|
|
+ "<if test='modelId != null'>",
|
|
|
+ "and modelId= #{modelId}",
|
|
|
+ "</if>",
|
|
|
+ "<if test='description != null'>",
|
|
|
+ "and description like #{description}",
|
|
|
+ "</if>",
|
|
|
+ "<if test='deviceid != null'>",
|
|
|
+ "and deviceid = #{deviceid}",
|
|
|
+ "</if>",
|
|
|
+ "<if test='deviceType != null'>",
|
|
|
+ "and deviceType = #{deviceType}",
|
|
|
+ "</if>",
|
|
|
+ "<if test='components != null'>",
|
|
|
+ "and components = #{components}",
|
|
|
+ "</if>",
|
|
|
+ "<if test='stationid != null'>",
|
|
|
+ "and stationid = #{stationid}",
|
|
|
+ "</if>",
|
|
|
+ "<if test='alarmid != null'>",
|
|
|
+ "and alarmid = #{alarmid}",
|
|
|
+ "</if>",
|
|
|
+ "<if test='alarmType != null'>",
|
|
|
+ "and alarmType = #{alarmType}",
|
|
|
+ "</if>",
|
|
|
+ "<if test='isclose== true'>",
|
|
|
+ "and endts is null ",
|
|
|
+ "</if>",
|
|
|
+ "<if test='isclose== false'>",
|
|
|
+ "and endts is not null ",
|
|
|
+ "</if>",
|
|
|
+// " and confirmed = false ",
|
|
|
+ " and enabled = true ",
|
|
|
+ "</where>",
|
|
|
+
|
|
|
+ "</script>"})
|
|
|
+ List<Integer> selectByWtCount(@Param("begin")long begin,@Param("end")long end,@Param("modelId")String modelId,@Param("superTableName") String superTableName,@Param("alarmType")String alarmType,@Param("stationid")String stationid,@Param("deviceid")String deviceid,@Param("description")String description, @Param("deviceType")String deviceType, @Param("components")String components,@Param("alarmid")String alarmid, @Param("isclose")Boolean isclose);
|
|
|
+// @Select("select deviceid as wtId,stationid as stationId,alarmid,description,components as typeCode,max(timeLong) as maxSeconds,min(timeLong) as minSeconds,avg(timeLong) as avgSeconds,sum(timeLong) as totalSeconds,count(*) as total from alarmWt where ts>=#{begin} and ts<=#{end} and alarmtype='windturbine' and #{begin} group by deviceid,components,stationid,alarmid,description")
|
|
|
+
|
|
|
+ @Select({"<script>",
|
|
|
+ "select deviceid as wtId,stationid as stationId,alarmid,description,components as typeCode,max(timeLong) as maxSeconds,min(timeLong) as minSeconds,avg(timeLong) as avgSeconds,sum(timeLong) as totalSeconds,count(*) as total from #{superTableName} " ,
|
|
|
+ "<where>" ,
|
|
|
+
|
|
|
+ " ts >= #{begin}",
|
|
|
+ "and ts <= #{end}",
|
|
|
+ "and stationid = #{stationid}",
|
|
|
+
|
|
|
+ "<if test='alarmid != null'>",
|
|
|
+ "and alarmid in (${alarmid}) ",
|
|
|
+ "</if>",
|
|
|
+ "<if test='components != null'>",
|
|
|
+ "and components in (${components}) ",
|
|
|
+ "</if>",
|
|
|
+ "<if test='modelId != null'>",
|
|
|
+ "and modelId = #{modelId}",
|
|
|
+ "</if>",
|
|
|
+ "<if test='alarmType != null'>",
|
|
|
+ "and alarmType = #{alarmType}",
|
|
|
+ "</if>",
|
|
|
+
|
|
|
+ "</where>",
|
|
|
+
|
|
|
+ " group by deviceid,components,stationid,alarmid,description ",
|
|
|
+ " order by deviceid , total desc ",
|
|
|
+ "</script>"})
|
|
|
+ List<ProBasicFeatureStat> findWtFeatureStat(@Param("superTableName") String superTableName, @Param("begin")long begin, @Param("end") long end, @Param("stationid") String stationid, @Param("modelId")String modelId, @Param("components") String components, @Param("alarmid") String alarmid, @Param("alarmType") String alarmType);
|
|
|
+
|
|
|
+ @Select({"<script>",
|
|
|
+ "select deviceid as wtId,stationid as stationId,alarmid,description,components as typeCode,max(timeLong) as maxSeconds,min(timeLong) as minSeconds,avg(timeLong) as avgSeconds,sum(timeLong) as totalSeconds,count(*) as total from #{superTableName} " ,
|
|
|
+ "<where>" ,
|
|
|
+
|
|
|
+ " ts >= #{begin}",
|
|
|
+ "and ts <= #{end}",
|
|
|
+ "and deviceid = #{deviceid}",
|
|
|
+
|
|
|
+
|
|
|
+ "</where>",
|
|
|
+
|
|
|
+ " group by deviceid,components,stationid,alarmid,description ",
|
|
|
+ " order by deviceid , total desc ",
|
|
|
+ "</script>"})
|
|
|
+ List<ProBasicFeatureStat> findWtFeatureStatWt(@Param("superTableName") String superTableName, @Param("begin")long begin, @Param("end") long end, @Param("deviceid") String deviceid);
|
|
|
+
|
|
|
+ @Select({"<script>",
|
|
|
+ "select deviceid as wtId,stationid as stationId,alarmid,description,components as typeCode,max(timeLong) as maxSeconds,min(timeLong) as minSeconds,avg(timeLong) as avgSeconds,sum(timeLong) as totalSeconds,count(*) as total from alarmCt " ,
|
|
|
+ "<where>" ,
|
|
|
+
|
|
|
+ " ts >= #{begin}",
|
|
|
+ "and ts <= #{end}",
|
|
|
+
|
|
|
+ "and deviceid = #{wtId}",
|
|
|
+
|
|
|
+ "<if test='deviceType != null'>",
|
|
|
+ "and deviceType = #{deviceType}",
|
|
|
+ "</if>",
|
|
|
+ "</where>",
|
|
|
+
|
|
|
+ " group by deviceid,components,stationid,alarmid,description ",
|
|
|
+ " order by deviceid, total desc ",
|
|
|
+ "</script>"})
|
|
|
+ List<ProBasicFeatureStat> findCtFeatureStat(@Param("wtId") String wtId, @Param("begin")long begin, @Param("end") long end, @Param("deviceType")String deviceType);
|
|
|
+
|
|
|
+ @Select("${sql}")
|
|
|
+ List<AlarmSimpleVo> selectLastRowByTbname(@Param("sql") String sql);
|
|
|
+}
|