浏览代码

环境信息

Newspaper 2 年之前
父节点
当前提交
40fa3b3db1

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

@@ -0,0 +1,9 @@
+package com.huimv.admin.entity.vo;
+
+import com.huimv.admin.entity.EnvData;
+import lombok.Data;
+
+@Data
+public class EnvDataVo extends EnvData {
+    private String buildName;
+}

+ 3 - 0
huimv-admin/src/main/java/com/huimv/admin/mapper/EnvDataMapper.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.huimv.admin.entity.EnvData;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.admin.entity.vo.EnvDataVo;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
@@ -22,4 +23,6 @@ public interface EnvDataMapper extends BaseMapper<EnvData> {
     List<EnvData> listDay(@Param(Constants.WRAPPER) QueryWrapper<EnvData> queryWrapper);
 
     List<EnvData> listNow(@Param(Constants.WRAPPER) QueryWrapper<EnvData> queryWrapper);
+
+    List<EnvDataVo> listPigpenAll(@Param("farmId") String farmId);
 }

+ 8 - 8
huimv-admin/src/main/java/com/huimv/admin/service/impl/EnvDeviceServiceImpl.java

@@ -21,6 +21,7 @@ import com.huimv.admin.entity.EnvData;
 import com.huimv.admin.entity.EnvDevice;
 import com.huimv.admin.entity.EnvWarningInfo;
 import com.huimv.admin.entity.dto.DeviceDto;
+import com.huimv.admin.entity.vo.EnvDataVo;
 import com.huimv.admin.entity.zengxindto.*;
 import com.huimv.admin.mapper.*;
 import com.huimv.admin.service.IEnvDeviceService;
@@ -373,26 +374,25 @@ public class EnvDeviceServiceImpl extends ServiceImpl<EnvDeviceMapper, EnvDevice
         //TODO 优化一下
         String farmId = paramsMap.get("farmId");
         List objects = new ArrayList<>();
-        List<BasePigpen> basePigpens = basePigpenMapper.selectList(new QueryWrapper<BasePigpen>().eq("farm_id", farmId).eq("f_type",3));
-        for (BasePigpen basePigpen : basePigpens) {
-            Integer id = basePigpen.getId();
-            EnvData envData = dataMapper.selectOne(new QueryWrapper<EnvData>().eq("unit_id", id).orderByDesc("id").last("limit 1"));
+        List<EnvDataVo> envDatas = dataMapper.listPigpenAll(farmId);
+        for (EnvDataVo envData : envDatas) {
             JSONObject jsonObject = new JSONObject();
             if (ObjectUtil.isNotEmpty(envData)){
                 jsonObject.put("temp", envData.getEnvTemp());//温度
                 jsonObject.put("hum", envData.getEnvHum());//湿度
-                jsonObject.put("location", basePigpen.getBuildName());
-                jsonObject.put("unit_id", basePigpen.getId());//单元id
+                jsonObject.put("location", envData.getBuildName());
+                jsonObject.put("unit_id", envData.getId());//单元id
                 jsonObject.put("aq", 0);//单元id
             }else {
                 jsonObject.put("temp", 0);//温度
                 jsonObject.put("hum", 0);//湿度
-                jsonObject.put("location", basePigpen.getBuildName());
-                jsonObject.put("unit_id", basePigpen.getId());//单元id
+                jsonObject.put("location", envData.getBuildName());
+                jsonObject.put("unit_id", envData.getId());//单元id
                 jsonObject.put("aq", 0);//单元id
             }
             objects.add(jsonObject);
         }
+
         return new Result(ResultCode.SUCCESS,objects);
     }
 

+ 2 - 0
huimv-admin/src/main/java/com/huimv/admin/timer/ShenChanTimer.java

@@ -76,6 +76,7 @@ public class ShenChanTimer {
                     prodStock.setYfzcl(Integer.parseInt(stock.get(14).toString()));
                     prodStock.setZcl(Integer.parseInt(stock.get(15).toString()));
                     prodStock.setCreatTime(new Date());
+                    prodStock.setFarmId(21);
                     prodStockService.updateById(prodStock);
                 }else {
                     prodStock = new ProdStock();
@@ -92,6 +93,7 @@ public class ShenChanTimer {
                     prodStock.setKhzcl(212);
                     prodStock.setSpzcl(1020);
                     prodStock.setCreatTime(new Date());
+                    prodStock.setFarmId(21);
                     prodStockService.save(prodStock);
                 }
 

+ 16 - 0
huimv-admin/src/main/resources/com/huimv/admin/mapper/EnvDataMapper.xml

@@ -29,4 +29,20 @@
     ${ew.customSqlSegment}
     ORDER BY create_time ASC
     </select>
+
+    <select id="listPigpenAll" resultType="com.huimv.admin.entity.vo.EnvDataVo">
+        SELECT t1.id,t1.build_name,t4.env_temp,t4.env_hum,t4.create_time
+        FROM `base_pigpen` t1
+        INNER JOIN
+        (
+            SELECT t2.id,t2.unit_id,t2.env_temp,t2.env_hum,t2.create_time FROM `env_data` t2 INNER JOIN (
+             (
+                SELECT MAX(ed.id),ed.unit_id,MAX(ed.create_time)  AS create_time
+                FROM `env_data` ed
+                GROUP BY ed.unit_id
+                ORDER BY ed.id
+            )t3
+            ) ON t2.unit_id = t3.unit_id WHERE t2.create_time = t3.create_time) t4
+              ON t1.id = t4.unit_id AND t1.farm_id = #{farmId} AND t1.f_type = 3
+    </select>
 </mapper>