package com.mh.user.mapper;
import com.mh.user.entity.NowDataEntity;
import com.mh.user.entity.NowPublicDataEntity;
import com.mh.user.mapper.provider.NowPublicDataProvider;
import com.mh.user.model.TempModel;
import org.apache.ibatis.annotations.*;
import java.util.List;
@Mapper
public interface NowPublicDataMapper {
//保存监控界面公共实时信息
@Insert("insert into now_public_data(cur_date,building_id,building_name,up_water,use_water,back_water,use_water_temp,back_water_temp) values (" +
" getDate(),#{buildingId},#{buildingName},#{upWater},#{useWater},#{backWater},#{useWaterTemp},#{backWaterTemp})")
void saveNowPublicData(NowPublicDataEntity nowPublicDataEntity);
//修改监控界面公共实时信息
@Update("")
void updateNowPublicData(NowPublicDataEntity nowPublicDataEntity);
//查询监控界面公共实时信息
@Results(value = {
@Result(property="curDate",column="cur_date"),
@Result(property="buildingId",column="building_id"),
@Result(property="buildingName",column="building_name"),
@Result(property="upWater",column="up_water"),
@Result(property ="useWater",column ="use_water"),
@Result(property ="backWater",column ="back_water"),
@Result(property="useWaterTemp",column="use_water_temp"),
@Result(property ="backWaterTemp",column ="back_water_temp")
})
@Select("select * from now_public_data where building_id=#{buildingId}")
NowPublicDataEntity queryNowPublicData(@Param("buildingId") String buildingId);
//保存监控界面公共历史信息
@Insert("insert into history_public_data(cur_date,building_id,building_name,up_water,use_water,back_water,use_water_temp,back_water_temp) values (" +
" #{curDate},#{buildingId},#{buildingName},#{upWater},#{useWater},#{backWater},#{useWaterTemp},#{backWaterTemp})")
void saveHistoryPublicData(NowPublicDataEntity nowPublicDataEntity);
//修改监控界面公共历史信息
@Update("")
void updateHistoryPublicData(NowPublicDataEntity nowPublicDataEntity);
//查询监控界面公共历史信息
@SelectProvider(type = NowPublicDataProvider.class,method = "queryHistoryPublicData")
List queryHistoryPublicData(@Param("curDate") String curDate, @Param("buildingId") String buildingId,
@Param("page") int page, @Param("limit") int limit);
//查询记录数
@SelectProvider(type = NowPublicDataProvider.class,method = "getHistoryPublicDataCount")
int getHistoryPublicDataCount(@Param("curDate") String curDate, @Param("buildingId") String buildingId,
@Param("page") int page, @Param("limit") int limit);
//判断实时表有没有记录(非热泵)
@Select("select count(*) from now_public_data where building_id=#{buildingId} ")
int selectNowPublicDataCount(@Param("buildingId") String buildingId);
//判断历史表有没有记录(非热泵)
@Select("select count(*) from history_public_data where convert(varchar(19),cur_date,121)=#{curDate} and building_id=#{buildingId} ")
int selectHistoryPublicDataCount(@Param("curDate") String curDate,@Param("buildingId") String buildingId);
//查询所有楼栋水箱平均温度
@Results(value = {
@Result(property="buildingId",column="building_id"),
@Result(property="buildingName",column="building_name"),
@Result(property ="singleTemp",column ="single_temp"),
@Result(property ="avgTemp",column ="use_water_temp")
})
@Select("select building_id,building_name,use_water_temp+3,single_temp+3 from now_public_data order by building_id ")
List queryWtTemp();
//查询单个楼栋水箱平均温度
@Results(value = {
@Result(property="buildingId",column="building_id"),
@Result(property="buildingName",column="building_name"),
@Result(property ="singleTemp",column ="single_temp"),
@Result(property ="avgTemp",column ="use_water_temp")
})
@Select("select building_id,building_name,use_water_temp,single_temp from now_public_data where building_id=#{buildingId} ")
TempModel queryWtTemp2(@Param("buildingId") String buildingId);
//更新单箱温度
@Update("update now_public_data set single_temp=#{singleTemp} where building_id=#{buildingId}")
void updateSingleTemp(@Param("singleTemp") String singleTemp,@Param("buildingId") String buildingId);
}