Quellcode durchsuchen

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/EcoDeviceFlowService.java
#	huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/impl/EcoDeviceFlowServiceImpl.java
zhuoning vor 2 Jahren
Ursprung
Commit
22b893d7a8

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

@@ -5,12 +5,9 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.huimv.eartag2.admin.service.BasePigpenService;
 import com.huimv.eartag2.common.utils.Result;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.Map;
 
 /**
@@ -156,5 +153,16 @@ public class BasePigpenController {
         //
         return basePigpenService.editUnit(id,parentId,unitName,stageCode,Integer.parseInt(sort),type);
     }
+
+    @PostMapping("/listBuildings")
+    public Result listBuildings (HttpServletRequest request){
+        return basePigpenService.listBuildings(request);
+    }
+
+    @PostMapping("/listUnitByBuilding")
+    public Result listUnitByBuilding(HttpServletRequest request,@RequestBody Map<String,String> paramsMap){
+        return basePigpenService.listUnitByBuilding(request,paramsMap);
+    }
+
 }
 

+ 13 - 0
huimv-eartag2-admin/src/main/java/com/huimv/eartag2/admin/entity/dto/BuildingDto.java

@@ -0,0 +1,13 @@
+package com.huimv.eartag2.admin.entity.dto;
+
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+
+@Data
+public class BuildingDto extends Model {
+    private static final long serialVersionUID = 1L;
+
+    private String buildingName;
+
+    private Integer buildingId;
+}

+ 13 - 0
huimv-eartag2-admin/src/main/java/com/huimv/eartag2/admin/entity/dto/UnitDto.java

@@ -0,0 +1,13 @@
+package com.huimv.eartag2.admin.entity.dto;
+
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+
+@Data
+public class UnitDto extends Model {
+    private static final long serialVersionUID = 1L;
+
+    private String unitName;
+
+    private Integer unitId;
+}

+ 9 - 0
huimv-eartag2-admin/src/main/java/com/huimv/eartag2/admin/mapper/BasePigpenMapper.java

@@ -2,6 +2,11 @@ package com.huimv.eartag2.admin.mapper;
 
 import com.huimv.eartag2.admin.entity.BasePigpen;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.eartag2.admin.entity.dto.BuildingDto;
+import com.huimv.eartag2.admin.entity.dto.UnitDto;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
 
 /**
  * <p>
@@ -11,6 +16,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @author zn
  * @since 2022-11-09
  */
+@Repository
 public interface BasePigpenMapper extends BaseMapper<BasePigpen> {
 
+    List<BuildingDto> listBuildings(String farmId);
+
+    List<UnitDto> listUnitByBuilding(String farmId, String buildingId);
 }

+ 7 - 0
huimv-eartag2-admin/src/main/java/com/huimv/eartag2/admin/service/BasePigpenService.java

@@ -4,6 +4,9 @@ import com.huimv.eartag2.admin.entity.BasePigpen;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.huimv.eartag2.common.utils.Result;
 
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
 /**
  * <p>
  *  服务类
@@ -25,4 +28,8 @@ public interface BasePigpenService extends IService<BasePigpen> {
     Result editUnit(String id, String parentId, String unitName, String stageCode, Integer sort, Integer type);
 
     Result list(String farmCode, String pigpenName, String stageCode);
+
+    Result listBuildings(HttpServletRequest request);
+
+    Result listUnitByBuilding(HttpServletRequest request, Map<String, String> paramsMap);
 }

+ 13 - 0
huimv-eartag2-admin/src/main/java/com/huimv/eartag2/admin/service/impl/BasePigpenServiceImpl.java

@@ -14,6 +14,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -153,6 +154,18 @@ public class BasePigpenServiceImpl extends ServiceImpl<BasePigpenMapper, BasePig
         return new Result(ResultCode.SUCCESS,treeBasePigpens);
     }
 
+    @Override
+    public Result listBuildings(HttpServletRequest request) {
+        String farmId = request.getHeader("farmId");
+        return new Result(ResultCode.SUCCESS,basePigpenMapper.listBuildings(farmId));
+    }
+
+    @Override
+    public Result listUnitByBuilding(HttpServletRequest request, Map<String, String> paramsMap) {
+        String farmId = request.getHeader("farmId");
+        String buildingId = paramsMap.get("buildingId");
+        return new Result(ResultCode.SUCCESS,basePigpenMapper.listUnitByBuilding(farmId,buildingId));
+    }
 
 
     /**

+ 33 - 0
huimv-eartag2-admin/src/main/resources/com/huimv/eartag2/admin/mapper/BasePigpenMapper.xml

@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.eartag2.admin.mapper.BasePigpenMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.eartag2.admin.entity.BasePigpen">
+        <id column="id" property="id" />
+        <result column="pigpen_code" property="pigpenCode" />
+        <result column="pigpen_name" property="pigpenName" />
+        <result column="parent_id" property="parentId" />
+        <result column="f_type" property="fType" />
+        <result column="farm_code" property="farmCode" />
+        <result column="sort" property="sort" />
+        <result column="stage_code" property="stageCode" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, pigpen_code, pigpen_name, parent_id, f_type, farm_code, sort, stage_code
+    </sql>
+
+    <select id="listBuildings" resultType="com.huimv.eartag2.admin.entity.dto.BuildingDto">
+        SELECT DISTINCT a.pigpen_name 'buildingName',a.id 'buildingId' FROM `base_pigpen` a
+        INNER JOIN `base_pigpen` b ON a.id = b.parent_id
+        WHERE a.farm_code = #{farmId}
+    </select>
+    
+    <select id="listUnitByBuilding" resultType="com.huimv.eartag2.admin.entity.dto.UnitDto">
+        SELECT a.pigpen_name 'unitName',a.id 'unitId' FROM `base_pigpen` a INNER JOIN `base_pigpen` b ON a.parent_id = b.id
+        WHERE b.id = #{buildingId} AND b.farm_code = #{farmId}
+    </select>
+
+</mapper>

+ 7 - 2
huimv-farm-environ/src/main/java/com/huimv/environ/eco/controller/EcoDeviceFlowController.java

@@ -1,8 +1,9 @@
 package com.huimv.environ.eco.controller;
 
-
+import java.text.ParseException;
 import com.huimv.common.utils.Result;
 import com.huimv.environ.eco.service.EcoDeviceFlowService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -25,7 +26,7 @@ import java.util.Map;
 @RequestMapping("/ecoDeviceFlow")
 public class EcoDeviceFlowController {
 
-    @Resource
+    @Autowired
     private EcoDeviceFlowService ecoDeviceFlowService;
 
     @PostMapping("/getLastFlow")
@@ -34,5 +35,9 @@ public class EcoDeviceFlowController {
     }
 
 
+    @PostMapping("/listByRoom")
+    public Result listByRoom( HttpServletRequest request,@RequestBody Map<String, String> paramsMap) throws ParseException {
+        return ecoDeviceFlowService.listByRoom(request, paramsMap);
+    }
 }
 

+ 19 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/dto/EcoDeviceDto.java

@@ -0,0 +1,19 @@
+package com.huimv.environ.eco.entity.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class EcoDeviceDto {
+
+    private String roomName;
+
+    private String tem;
+
+    private String hum;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    private Date addTime;
+}

+ 21 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/mapper/EcoDeviceFlowMapper.java

@@ -1,11 +1,16 @@
 package com.huimv.environ.eco.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.huimv.environ.eco.entity.EcoDeviceFlow;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.environ.eco.entity.SysHumidity;
+import com.huimv.environ.eco.entity.dto.EcoDeviceDto;
 import com.huimv.environ.eco.entity.dto.LastFlowDto;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -20,4 +25,20 @@ import java.util.List;
 public interface EcoDeviceFlowMapper extends BaseMapper<EcoDeviceFlow> {
 
     List<LastFlowDto> getLastFlow(@Param("farmId") String farmId);
+
+    List<EcoDeviceDto> listDevice(@Param("farmId") String farmId,
+                                  @Param("unitId") String unitId,
+                                  @Param("startDate") String startDate,
+                                  @Param("endDate") String endDate);
+
+    List<EcoDeviceDto> listDayDevice(@Param("farmId") String farmId,
+                                     @Param("unitId") String unitId,
+                                     @Param("startDate") String startDate);
+
+
+    List<EcoDeviceDto> listWeekDevice(@Param("farmId") String farmId,
+                                     @Param("unitId") String unitId);
+
+    List<EcoDeviceDto> listMonthDevice(@Param("farmId") String farmId,
+                                     @Param("unitId") String unitId);
 }

+ 1 - 2
huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/EcoDeviceFlowService.java

@@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
 
 import javax.servlet.http.HttpServletRequest;
 import java.text.ParseException;
-import java.util.Date;
 import java.util.Map;
 
 /**
@@ -22,5 +21,5 @@ public interface EcoDeviceFlowService extends IService<EcoDeviceFlow> {
 
     Result getLastFlow(HttpServletRequest request);
 
-    void save(JSONObject dataJo, Date todayTime) throws ParseException;
+    void save(JSONObject dataJo) throws ParseException;
 }

+ 2 - 5
huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/impl/EcoDeviceFlowServiceImpl.java

@@ -18,7 +18,6 @@ import org.springframework.stereotype.Service;
 
 import javax.servlet.http.HttpServletRequest;
 import java.text.ParseException;
-import java.util.Date;
 
 
 /**
@@ -42,7 +41,7 @@ public class EcoDeviceFlowServiceImpl extends ServiceImpl<EcoDeviceFlowMapper, E
     }
 
     @Override
-    public void save(JSONObject dataJo, Date todayTime) throws ParseException {
+    public void save(JSONObject dataJo) throws ParseException {
         DateUtil dateUtil = new DateUtil();
         EcoDeviceFlow ecoDeviceFlow = new EcoDeviceFlow();
         ecoDeviceFlow.setDeviceCode(dataJo.getString("deviceKey"));
@@ -71,9 +70,7 @@ public class EcoDeviceFlowServiceImpl extends ServiceImpl<EcoDeviceFlowMapper, E
         ecoDeviceFlow.setId2Value(id2Value);
         ecoDeviceFlow.setId2AlarmStatus(id2Jo.getBoolean("isAlarm"));
         ecoDeviceFlow.setId2AlarmMsg(id2Jo.getString("alarmMsg"));
-        ecoDeviceFlow.setAddTime(todayTime);
-        System.out.println("ecoDeviceFlow 流水数据="+ecoDeviceFlow.toString());
+        ecoDeviceFlow.setAddTime(dateUtil.getTodayDateTime());
         ecoDeviceFlowMapper.insert(ecoDeviceFlow);
-        dataJo.put("id",ecoDeviceFlow.getId());
     }
 }

+ 31 - 0
huimv-farm-environ/src/main/resources/com/huimv/environ/eco/mapper/EcoDeviceFlowMapper.xml

@@ -33,4 +33,35 @@
         AND df.id IN (SELECT MAX(df.id) FROM `eco_device_flow` df GROUP BY device_code)
         ORDER BY a.id DESC,a.parent_id DESC
     </select>
+
+    <select id="listDevice" resultType="com.huimv.environ.eco.entity.dto.EcoDeviceDto">
+       SELECT d.location 'roomName',ROUND(AVG(df.id1_value),2) 'tem',ROUND(AVG(df.id2_value),2) 'hum',DATE_FORMAT(df.add_time,'%Y-%m-%d') 'addTime' FROM `eco_device` d
+LEFT JOIN `eco_device_flow` df ON df.device_code = d.device_code
+WHERE d.farm_id = ${farmId} AND unit_id = ${unitId}
+AND add_time BETWEEN '${startDate}' AND '${endDate}'
+GROUP BY DATE_FORMAT(df.add_time,"%Y-%m-%d")
+    </select>
+
+    <select id="listDayDevice" resultType="com.huimv.environ.eco.entity.dto.EcoDeviceDto">
+   SELECT d.location 'roomName',df.id1_value 'tem',df.id2_value 'hum',df.add_time FROM `eco_device` d
+LEFT JOIN `eco_device_flow` df ON df.device_code = d.device_code
+WHERE d.farm_id = ${farmId} AND unit_id = ${unitId}
+AND add_time BETWEEN '${startDate} 00:00:00' AND NOW()
+    </select>
+
+    <select id="listWeekDevice" resultType="com.huimv.environ.eco.entity.dto.EcoDeviceDto">
+        SELECT d.location 'roomName',ROUND(AVG(df.id1_value),2) 'tem',ROUND(AVG(df.id2_value)) 'hum',DATE_FORMAT(df.add_time,'%Y-%m-%d') add_time FROM `eco_device` d
+LEFT JOIN `eco_device_flow` df ON df.device_code = d.device_code
+WHERE d.farm_id = ${farmId} AND unit_id = ${unitId}
+AND add_time BETWEEN (SELECT DATE_SUB(CURDATE(),INTERVAL WEEKDAY(CURDATE()) DAY)) AND NOW()
+GROUP BY DATE_FORMAT(df.add_time,"%Y-%m-%d")
+    </select>
+
+    <select id="listMonthDevice" resultType="com.huimv.environ.eco.entity.dto.EcoDeviceDto">
+        SELECT d.location 'roomName',ROUND(AVG(df.id1_value),2) 'tem',ROUND(AVG(df.id2_value)) 'hum',DATE_FORMAT(df.add_time,'%Y-%m-%d') add_time FROM `eco_device` d
+LEFT JOIN `eco_device_flow` df ON df.device_code = d.device_code
+WHERE d.farm_id = ${farmId} AND unit_id = ${unitId}
+AND add_time BETWEEN (SELECT DATE_ADD(CURDATE(),INTERVAL -DAY(CURDATE())+1 DAY)) AND NOW()
+GROUP BY DATE_FORMAT(df.add_time,"%Y-%m-%d")
+    </select>
 </mapper>