Browse Source

栋舍详情

Newspaper 1 year ago
parent
commit
bddc27c35b

+ 5 - 0
src/main/java/com/huimv/admin/controller/BasePigpenController.java

@@ -70,6 +70,11 @@ public class BasePigpenController {
     public Result listDetail(HttpServletRequest httpServletRequest,@RequestBody Map<String, String> paramsMap) {
         return  basePigpenService.listDetail(httpServletRequest, paramsMap);
     }
+    @PostMapping("/listUnit")
+    public Result listUnit(HttpServletRequest httpServletRequest,@RequestBody Map<String, String> paramsMap){
+        return  basePigpenService.listUnit(httpServletRequest, paramsMap);
+    }
+
     @PostMapping( "/listByUnit")
     public Result listByUnit(HttpServletRequest httpServletRequest,@RequestBody Map<String, String> paramsMap) {
         return  basePigpenService.listByUnit(httpServletRequest, paramsMap);

+ 20 - 0
src/main/java/com/huimv/admin/entity/vo/EnvTempVo.java

@@ -0,0 +1,20 @@
+package com.huimv.admin.entity.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+public class EnvTempVo {
+    private String value1;
+    private String value2;
+    private String value3;
+    private String value4;
+    private String value5;
+    private String value6;
+    private String value7;
+    private String value8;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private LocalDateTime hourTime;
+}

+ 18 - 0
src/main/java/com/huimv/admin/entity/vo/UnitDetailVo.java

@@ -0,0 +1,18 @@
+package com.huimv.admin.entity.vo;
+
+import lombok.Data;
+
+@Data
+public class UnitDetailVo {
+    private String avgTemp;
+    private String targetTemp;
+    private String outsideTemp;
+    private String avgHum;
+    private String pressure;
+    private String ventilate;
+    private String water;
+    private String consumable;
+    private String electricity;
+    private String feed;
+    private String deviceStatus;
+}

+ 9 - 0
src/main/java/com/huimv/admin/entity/vo/UnitVo.java

@@ -0,0 +1,9 @@
+package com.huimv.admin.entity.vo;
+
+import lombok.Data;
+
+@Data
+public class UnitVo extends UnitDetailVo{
+    private String fanStatus;
+    private String currentDayAge;
+}

+ 7 - 0
src/main/java/com/huimv/admin/mapper/EnvTempMapper.java

@@ -2,6 +2,10 @@ package com.huimv.admin.mapper;
 
 import com.huimv.admin.entity.EnvTemp;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.admin.entity.vo.EnvTempVo;
+
+import java.util.Date;
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +17,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface EnvTempMapper extends BaseMapper<EnvTemp> {
 
+    List<EnvTempVo> listTempDayDeatil(List<String> deviceCodeList, String deviceCodes, Date timesmorning);
+
+    List<EnvTempVo> listTempCustomDeatil(List<String> deviceCodeList, String deviceCodes, String startTime, String endTime);
 }

+ 2 - 0
src/main/java/com/huimv/admin/service/IBasePigpenService.java

@@ -39,4 +39,6 @@ public interface IBasePigpenService extends IService<BasePigpen> {
     Result listByWarning(HttpServletRequest httpServletRequest,Map<String,String> paramsMap);//预警信息
 
     Result countAll(Map<String, String> paramsMap);
+
+    Result listUnit(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
 }

+ 234 - 47
src/main/java/com/huimv/admin/service/impl/BasePigpenServiceImpl.java

@@ -17,8 +17,7 @@ import com.huimv.admin.common.utils.ResultCode;
 import com.huimv.admin.common.utils.ResultUtil;
 import com.huimv.admin.entity.*;
 import com.huimv.admin.entity.dto.BasePigpenDto;
-import com.huimv.admin.entity.vo.BasePigpenCountVo;
-import com.huimv.admin.entity.vo.TreeBasePigpen;
+import com.huimv.admin.entity.vo.*;
 import com.huimv.admin.mapper.*;
 import com.huimv.admin.service.IBasePigpenService;
 import com.huimv.admin.service.IEnvWarningService;
@@ -215,6 +214,7 @@ public class BasePigpenServiceImpl extends ServiceImpl<BasePigpenMapper, BasePig
     public Result listDetail(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
         String farmId = paramsMap.get("farmId");
         String unitId = paramsMap.get("unitId");//单元id
+        Date timesmorning = DataUill.getTimesmorning();
         QueryWrapper<EnvDevice> deviceQueryWrapper = new QueryWrapper<>();
         deviceQueryWrapper.eq("farm_id", farmId).eq("unit_id", unitId);
         EnvDevice envDevice = envDeviceMapper.selectOne(deviceQueryWrapper);//单元对应的设备
@@ -350,6 +350,53 @@ public class BasePigpenServiceImpl extends ServiceImpl<BasePigpenMapper, BasePig
             }
         }
         map.put("price", jsonArray3);
+
+        //单元状况
+        UnitDetailVo unitDetailVo = new UnitDetailVo();
+        unitDetailVo.setAvgTemp(envDeviceRecentlyData.get(10).getChipValue());
+        unitDetailVo.setTargetTemp(envDeviceRecentlyData.get(9).getChipValue());
+        unitDetailVo.setOutsideTemp(envDeviceRecentlyData.get(8).getChipValue());
+        BigDecimal hum1 =BigDecimal.ZERO;
+        if (!ObjectUtil.isNull(envDeviceRecentlyData.get(11).getChipValue())){
+            hum1 = new BigDecimal(envDeviceRecentlyData.get(11).getChipValue());
+        }
+        BigDecimal hum2 =BigDecimal.ZERO;
+        if (!ObjectUtil.isNull(envDeviceRecentlyData.get(12).getChipValue())){
+           hum2 = new BigDecimal(envDeviceRecentlyData.get(12).getChipValue());
+        }
+        BigDecimal hum3 =BigDecimal.ZERO;
+        if (!ObjectUtil.isNull(envDeviceRecentlyData.get(13).getChipValue())){
+            hum3 = new BigDecimal(envDeviceRecentlyData.get(13).getChipValue());
+        }
+        BigDecimal totalHum = hum1.add(hum2).add(hum3);
+        unitDetailVo.setAvgHum(totalHum.divide(new BigDecimal("3"), 1, BigDecimal.ROUND_HALF_UP).toString());
+        unitDetailVo.setPressure(envDeviceRecentlyData.get(10).getChipValue());
+        unitDetailVo.setVentilate(envDeviceRecentlyData.get(18).getChipValue());
+        BigDecimal dayWater = envWaterMapper.getWater(new QueryWrapper<EnvWater>().ge("update_time", timesmorning).eq("farm_id", farmId).eq("unit_id",unitId));
+        if (ObjectUtil.isNull(dayWater)) {
+            dayWater = BigDecimal.ZERO;
+        }
+        unitDetailVo.setWater(dayWater.toString());
+        BigDecimal dayElectricity = envElectricityMapper.getElectricity(new QueryWrapper<EnvElectricity>()
+                .ge("update_time", timesmorning)
+                .eq("farm_id", farmId)
+                .eq("unit_id",unitId));
+        if (ObjectUtil.isNull(dayElectricity)) {
+            dayElectricity = BigDecimal.ZERO;
+        }
+        unitDetailVo.setElectricity(dayElectricity.toString());
+        BigDecimal dayFeed = envFeedMapper.getFeed(new QueryWrapper<EnvFeed>()
+                .ge("update_time", timesmorning)
+                .eq("farm_id", farmId)
+                .eq("unit_id",unitId));
+        if (ObjectUtil.isNull(dayFeed)) {
+            dayFeed = BigDecimal.ZERO;
+        }
+        unitDetailVo.setFeed(dayFeed.toString());
+        Integer on = envDeviceMapper.selectCount(new QueryWrapper<EnvDevice>().eq("farm_id", farmId).eq("unit_id", unitId).eq("device_status", 1));
+        Integer total = envDeviceMapper.selectCount(new QueryWrapper<EnvDevice>().eq("farm_id", farmId).eq("unit_id", unitId));
+        unitDetailVo.setDeviceStatus(on.toString()+"/"+total.toString());
+        map.put("unitDetail",unitDetailVo);
         return new Result(ResultCode.SUCCESS, map);
     }
 
@@ -419,29 +466,14 @@ public class BasePigpenServiceImpl extends ServiceImpl<BasePigpenMapper, BasePig
                 if (ObjectUtil.isEmpty(envDevice)){
                     return new Result(ResultCode.FAIL,"栋舍内无设备");
                 }
-                QueryWrapper<EnvDeviceRecentlyData> deviceDataQueryWrapper = new QueryWrapper<>();
-                deviceDataQueryWrapper.eq("device_code",envDevice.getDeviceSortCode()).le("chip_type",8).eq("farm_id",farmId);
-                List<EnvDeviceRecentlyData> envDeviceRecentlyData = envDeviceRecentlyDataMapper.selectList(deviceDataQueryWrapper);
-                //按类型排序获取到8个温度
-                envDeviceRecentlyData.sort((a,b) -> a.getChipType().compareTo(b.getChipType()));
-                System.out.println(envDeviceRecentlyData);
-                map.put("name", "temp");
-                int i = 1 ;
-                for (EnvDeviceRecentlyData envDeviceRecentlyDatum : envDeviceRecentlyData) {
-                    QueryWrapper<EnvTemp> tempQueryWrapper = new QueryWrapper<>();
-                    tempQueryWrapper.eq("chip_code",envDeviceRecentlyDatum.getChipCode())
-                                    .eq("farm_id",farmId)
-                                    .eq("unit_id",unitId)
-                                    .ge("ask_time", timesmorning)
-                                    .orderByAsc("ask_time");
-                    List<EnvTemp> envTemps = tempMapper.selectList(tempQueryWrapper);
-                    map.put("value"+i , envTemps);
-                    i++;
+                List<String> deviceCodeList = new ArrayList<>();
+                for (int i = 1; i <= 8; i++) {
+                    deviceCodeList.add(envDevice.getDeviceSortCode()+"140"+i);
                 }
-
-//                tempQueryWrapper.eq("farm_id", farmId).eq("unit_id", unitId).eq("chip_code",10011411)
-//                        .ge("ask_time", timesmorning).orderByAsc("ask_time");
-//                List<EnvTemp> envTemps = tempMapper.selectList(tempQueryWrapper);
+                String deviceCodes = String.join(",", deviceCodeList);
+                deviceCodes = "(" + deviceCodes + ")";
+                List<EnvTempVo> envTempVoList = tempMapper.listTempDayDeatil(deviceCodeList,deviceCodes,timesmorning);
+                map.put("value", envTempVoList);
                 map.put("name", "temp");
 
             }
@@ -497,31 +529,16 @@ public class BasePigpenServiceImpl extends ServiceImpl<BasePigpenMapper, BasePig
                 if (ObjectUtil.isEmpty(envDevice)){
                     return new Result(ResultCode.FAIL,"栋舍内无设备");
                 }
-                QueryWrapper<EnvDeviceRecentlyData> deviceDataQueryWrapper = new QueryWrapper<>();
-                deviceDataQueryWrapper.eq("device_code",envDevice.getDeviceSortCode()).le("chip_type",8).eq("farm_id",farmId);
-                List<EnvDeviceRecentlyData> envDeviceRecentlyData = envDeviceRecentlyDataMapper.selectList(deviceDataQueryWrapper);
-                //按类型排序获取到8个温度
-                envDeviceRecentlyData.sort((a,b) -> a.getChipType().compareTo(b.getChipType()));
-                System.out.println(envDeviceRecentlyData);
-                map.put("name", "temp");
-                int i = 1 ;
-                for (EnvDeviceRecentlyData envDeviceRecentlyDatum : envDeviceRecentlyData) {
-                    QueryWrapper<EnvTemp> tempQueryWrapper = new QueryWrapper<>();
-                    tempQueryWrapper.eq("chip_code",envDeviceRecentlyDatum.getChipCode())
-                            .eq("farm_id",farmId)
-                            .eq("unit_id",unitId)
-                            .between("ask_time", startTime,endTime)
-                            .orderByAsc("update_time");
-                    List<EnvTemp> envTemps = tempMapper.selectList(tempQueryWrapper);
-                    map.put("value"+i , envTemps);
-                    i++;
+                List<String> deviceCodeList = new ArrayList<>();
+                for (int i = 1; i <= 8; i++) {
+                    deviceCodeList.add(envDevice.getDeviceSortCode()+"140"+i);
                 }
-//                QueryWrapper<EnvTemp> tempQueryWrapper = new QueryWrapper<>();
-//                tempQueryWrapper.eq("farm_id", farmId).eq("unit_id", unitId).eq("chip_code",10011411)
-//                        .between("ask_time", startTime, endTime).orderByAsc("update_time");
-//                List<EnvTemp> envTemps = tempMapper.selectList(tempQueryWrapper);
+                String deviceCodes = String.join(",", deviceCodeList);
+                deviceCodes = "(" + deviceCodes + ")";
+                List<EnvTempVo> envTempVoList = tempMapper.listTempCustomDeatil(deviceCodeList,deviceCodes,startTime,endTime);
+                map.put("value", envTempVoList);
+                map.put("name", "temp");
 
-//                map.put("value", envTemps);
             }
             if ("2".equals(dataType)) {
                 QueryWrapper<EnvHumi> humiQueryWrapper = new QueryWrapper<>();
@@ -653,6 +670,176 @@ public class BasePigpenServiceImpl extends ServiceImpl<BasePigpenMapper, BasePig
     }
 
     @Override
+    public Result listUnit(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        Date timesmorning = DataUill.getTimesmorning();
+        List resultList = new ArrayList();
+        List<EnvDevice> farms = envDeviceMapper.selectList(new QueryWrapper<EnvDevice>().eq("farm_id", farmId));
+        for (EnvDevice farm : farms) {
+            QueryWrapper<EnvDevice> deviceQueryWrapper = new QueryWrapper<>();
+            deviceQueryWrapper.eq("farm_id", farmId).eq("unit_id", farm.getUnitId());
+            EnvDevice envDevice = envDeviceMapper.selectOne(deviceQueryWrapper);//单元对应的设备
+            String deviceSortCode = envDevice.getDeviceSortCode();//生成的设备编码
+            Map<String, Object> map = new HashMap<>();
+            //风机
+            QueryWrapper<EnvDeviceFan> fanQueryWrapper = new QueryWrapper<>();
+            fanQueryWrapper.eq("farm_id", farmId).eq("device_code", deviceSortCode);
+            List<EnvDeviceFan> envDeviceFans = fanMapper.selectList(fanQueryWrapper);
+            JSONArray jsonArray = new JSONArray();
+            for (EnvDeviceFan envDeviceFan : envDeviceFans) {
+                JSONObject jsonObject = new JSONObject();
+                jsonObject.put("name", envDeviceFan.getChipName());
+                jsonObject.put("status", envDeviceFan.getChipStatus());
+                jsonObject.put("type", envDeviceFan.getFengType());
+                jsonArray.add(jsonObject);
+            }
+            map.put("fengji", jsonArray);
+            //小窗
+            JSONArray jsonArray1 = new JSONArray();
+            QueryWrapper<EnvDeviceFenestrule> fenestruleQueryWrapper = new QueryWrapper<>();
+            fenestruleQueryWrapper.eq("farm_id", farmId).eq("device_code", deviceSortCode);
+            List<EnvDeviceFenestrule> envDeviceFenestrules = fenestruleMapper.selectList(fenestruleQueryWrapper);
+            for (EnvDeviceFenestrule envDeviceFenestrule : envDeviceFenestrules) {
+                JSONObject jsonObject = new JSONObject();
+                jsonObject.put("name", envDeviceFenestrule.getChipName());
+                jsonObject.put("status", envDeviceFenestrule.getChipStatus());
+                jsonObject.put("value", envDeviceFenestrule.getChipValue());
+                jsonArray1.add(jsonObject);
+            }
+            map.put("xiaochuang", jsonArray1);
+            //其他
+            JSONArray jsonArray2 = new JSONArray();
+            QueryWrapper<EnvDeviceOther> otherQueryWrapper = new QueryWrapper<>();
+            otherQueryWrapper.eq("farm_id", farmId).eq("device_code", deviceSortCode);
+            List<EnvDeviceOther> envDeviceOthers = otherMapper.selectList(otherQueryWrapper);
+            for (EnvDeviceOther envDeviceOther : envDeviceOthers) {
+                JSONObject jsonObject = new JSONObject();
+                jsonObject.put("name", envDeviceOther.getChipName());
+                jsonObject.put("status", envDeviceOther.getChipStatus());
+                jsonArray2.add(jsonObject);
+            }
+            map.put("other", jsonArray2);
+            //湿帘
+            JSONArray jsonArray4 = new JSONArray();
+            QueryWrapper<EnvDevicePad> padQueryWrapper = new QueryWrapper<>();
+            padQueryWrapper.eq("farm_id", farmId).eq("device_code", deviceSortCode);
+            List<EnvDevicePad> envDevicePads = padMapper.selectList(padQueryWrapper);
+            for (EnvDevicePad envDevicePad : envDevicePads) {
+                JSONObject jsonObject = new JSONObject();
+                jsonObject.put("name", envDevicePad.getChipName());
+                jsonObject.put("status", envDevicePad.getChipStatus());
+                jsonArray4.add(jsonObject);
+            }
+            map.put("shilian", jsonArray4);
+            //导流板
+            JSONArray jsonArray5 = new JSONArray();
+            QueryWrapper<EnvDeviceDeflector> deviceDeflectorQueryWrapper = new QueryWrapper<>();
+            deviceDeflectorQueryWrapper.eq("farm_id", farmId).eq("device_code", deviceSortCode);
+            List<EnvDeviceDeflector> envDeviceDeflectors = deflectorMapper.selectList(deviceDeflectorQueryWrapper);
+            for (EnvDeviceDeflector envDevicePad : envDeviceDeflectors) {
+                JSONObject jsonObject = new JSONObject();
+                jsonObject.put("name", envDevicePad.getChipName());
+                jsonObject.put("status", envDevicePad.getChipStatus());
+                jsonObject.put("value", envDevicePad.getChipValue());
+                jsonArray5.add(jsonObject);
+            }
+            map.put("daoliuban", jsonArray5);
+            //喷雾
+            JSONArray jsonArray6 = new JSONArray();
+            QueryWrapper<EnvDeviceAtomizing> atomizingQueryWrapper = new QueryWrapper<>();
+            atomizingQueryWrapper.eq("farm_id", farmId).eq("device_code", deviceSortCode);
+            List<EnvDeviceAtomizing> atomizings = atomizingMapper.selectList(atomizingQueryWrapper);
+            for (EnvDeviceAtomizing envDevicePad : atomizings) {
+                JSONObject jsonObject = new JSONObject();
+                jsonObject.put("name", envDevicePad.getChipName());
+                jsonObject.put("status", envDevicePad.getChipStatus());
+                jsonArray6.add(jsonObject);
+            }
+            map.put("penwu", jsonArray6);
+            //加热器
+            JSONArray jsonArray7 = new JSONArray();
+            QueryWrapper<EnvDeviceHeater> heaterQueryWrapper = new QueryWrapper<>();
+            heaterQueryWrapper.eq("farm_id", farmId).eq("device_code", deviceSortCode);
+            List<EnvDeviceHeater> heaters = heaterMapper.selectList(heaterQueryWrapper);
+            for (EnvDeviceHeater envDevicePad : heaters) {
+                JSONObject jsonObject = new JSONObject();
+                jsonObject.put("name", envDevicePad.getChipName());
+                jsonObject.put("status", envDevicePad.getChipStatus());
+                jsonArray7.add(jsonObject);
+            }
+            map.put("jiareqi", jsonArray7);
+            //照明灯
+            JSONArray jsonArray8 = new JSONArray();
+            QueryWrapper<EnvDeviceFloodlight> floodlightQueryWrapper = new QueryWrapper<>();
+            floodlightQueryWrapper.eq("farm_id", farmId).eq("device_code", deviceSortCode);
+            List<EnvDeviceFloodlight> floodlights = floodlightMapper.selectList(floodlightQueryWrapper);
+            for (EnvDeviceFloodlight envDevicePad : floodlights) {
+                JSONObject jsonObject = new JSONObject();
+                jsonObject.put("name", envDevicePad.getChipName());
+                jsonObject.put("status", envDevicePad.getChipStatus());
+                jsonObject.put("value", envDevicePad.getChipValue());
+                jsonArray8.add(jsonObject);
+            }
+            map.put("zhaomingdeng", jsonArray8);
+
+            //实时数据
+            JSONArray jsonArray3 = new JSONArray();
+            QueryWrapper<EnvDeviceRecentlyData> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("farm_id", farmId).eq("device_code", deviceSortCode);
+            List<EnvDeviceRecentlyData> envDeviceRecentlyData = envDeviceRecentlyDataMapper.selectList(queryWrapper);
+            for (int i = 0; i < envDeviceRecentlyData.size(); i++) {
+                if (i < 11) {
+                    JSONObject jsonObject = new JSONObject();
+                    jsonObject.put("name", envDeviceRecentlyData.get(i).getChipName());
+                    jsonObject.put("value", envDeviceRecentlyData.get(i).getChipValue());
+                    jsonObject.put("unit", "℃");
+                    jsonArray3.add(jsonObject);
+                } else if (i > 10 && i < 14) {
+                    JSONObject jsonObject = new JSONObject();
+                    jsonObject.put("name", envDeviceRecentlyData.get(i).getChipName());
+                    jsonObject.put("value", envDeviceRecentlyData.get(i).getChipValue());
+                    jsonObject.put("unit", "RH");
+                    jsonArray3.add(jsonObject);
+                } else {
+                    JSONObject jsonObject = new JSONObject();
+                    jsonObject.put("name", envDeviceRecentlyData.get(i).getChipName());
+                    jsonObject.put("value", envDeviceRecentlyData.get(i).getChipValue());
+                    jsonObject.put("unit", "");
+                    jsonArray3.add(jsonObject);
+                }
+            }
+            map.put("price", jsonArray3);
+
+            //单元状况
+            UnitVo unitDetailVo = new UnitVo();
+            unitDetailVo.setAvgTemp(envDeviceRecentlyData.get(10).getChipValue());
+            unitDetailVo.setTargetTemp(envDeviceRecentlyData.get(9).getChipValue());
+            unitDetailVo.setVentilate(envDeviceRecentlyData.get(18).getChipValue());
+            BigDecimal dayWater = envWaterMapper.getWater(new QueryWrapper<EnvWater>().ge("update_time", timesmorning).eq("farm_id", farmId).eq("unit_id",farm.getUnitId()));
+            if (ObjectUtil.isNull(dayWater)) {
+                dayWater = BigDecimal.ZERO;
+            }
+            unitDetailVo.setWater(dayWater.toString());
+            BigDecimal dayElectricity = envElectricityMapper.getElectricity(new QueryWrapper<EnvElectricity>()
+                    .ge("update_time", timesmorning)
+                    .eq("farm_id", farmId)
+                    .eq("unit_id",farm.getUnitId()));
+            if (ObjectUtil.isNull(dayElectricity)) {
+                dayElectricity = BigDecimal.ZERO;
+            }
+            unitDetailVo.setElectricity(dayElectricity.toString());
+            Integer on = fanMapper.selectCount(new QueryWrapper<EnvDeviceFan>().eq("farm_id", farmId).eq("device_code", deviceSortCode).eq("chip_status", 2));
+            Integer total = fanMapper.selectCount(new QueryWrapper<EnvDeviceFan>().eq("farm_id", farmId).eq("device_code", deviceSortCode));
+            unitDetailVo.setDeviceStatus(on.toString()+"/"+total.toString());
+            unitDetailVo.setCurrentDayAge(farm.getDayAge());
+            map.put("unitDetail",unitDetailVo);
+            map.put("unitName",farm.getBuildLocation());
+            resultList.add(map);
+        }
+        return new Result(ResultCode.SUCCESS,resultList);
+    }
+
+    @Override
     public Result list(String farmCode, String buildName, String stageCode) {
         QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
         queryWrapper.like(StringUtils.isNotBlank(buildName), "build_name", buildName);

+ 20 - 0
src/main/resources/mapper/EnvTempMapper.xml

@@ -2,4 +2,24 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.huimv.admin.mapper.EnvTempMapper">
 
+    <select id="listTempDayDeatil" resultType="com.huimv.admin.entity.vo.EnvTempVo">
+        SELECT DATE_FORMAT(update_time, "%Y-%m-%d %H:00:00") AS hour_time,
+        <foreach collection="deviceCodeList" item="code" index="index" separator=",">
+            ROUND(IFNULL(AVG(CASE WHEN chip_code = ${code} THEN handle_value END), 0),1) AS 'value${index+1}'
+        </foreach>
+        FROM `env_temp`
+        WHERE chip_code IN ${deviceCodes} AND DATE(update_time) = CURDATE()
+        GROUP BY hour_time;
+    </select>
+
+    <select id="listTempCustomDeatil" resultType="com.huimv.admin.entity.vo.EnvTempVo">
+        SELECT DATE_FORMAT(update_time, "%Y-%m-%d %H:00:00") AS hour_time,
+        <foreach collection="deviceCodeList" item="code" index="index" separator=",">
+            ROUND(IFNULL(AVG(CASE WHEN chip_code = ${code} THEN handle_value END), 0),1) AS 'value${index+1}'
+        </foreach>
+        FROM `env_temp`
+        WHERE chip_code IN ${deviceCodes} AND update_time BETWEEN '${startTime}' AND '${endTime}'
+        GROUP BY hour_time;
+    </select>
+
 </mapper>