浏览代码

大屏接口

Newspaper 2 年之前
父节点
当前提交
2ddec4d9b6

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

@@ -110,4 +110,9 @@ public class BaseBuildingController {
     public Result listScreenFeed(@RequestBody Map<String, String> map){
         return baseBuildingService.listScreenFeed(map);
     }
+
+    @PostMapping("/listScreenDuck")
+    public Result listScreenDuck(@RequestBody Map<String, String> map){
+        return baseBuildingService.listScreenDuck(map);
+    }
 }

+ 12 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/entity/vo/ScreenDuckVo.java

@@ -0,0 +1,12 @@
+package com.huimv.guowei.admin.entity.vo;
+
+import lombok.Data;
+
+@Data
+public class ScreenDuckVo {
+    private String duckNum;
+    private Integer eggNum;
+    private String nowWeight;
+    private String feddWeight;
+    private String unitName;
+}

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

@@ -2,6 +2,7 @@ package com.huimv.guowei.admin.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.huimv.guowei.admin.entity.BaseBuilding;
+import com.huimv.guowei.admin.entity.vo.ScreenDuckVo;
 import com.huimv.guowei.admin.entity.vo.ScreenEnergyVo;
 import com.huimv.guowei.admin.entity.vo.ScreenFeedVo;
 import org.apache.ibatis.annotations.Param;
@@ -26,4 +27,6 @@ public interface BaseBuildingMapper extends BaseMapper<BaseBuilding> {
     List<ScreenEnergyVo> listScreenEnergy();
 
     List<ScreenFeedVo> listScreenFeed();
+
+    List<ScreenDuckVo> listScreenDuck(String farmId);
 }

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

@@ -37,4 +37,6 @@ public interface IBaseBuildingService extends IService<BaseBuilding> {
     Result listScreenEnergy();
 
     Result listScreenFeed(Map<String, String> map);
+
+    Result listScreenDuck(Map<String, String> map);
 }

+ 12 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/BaseBuildingServiceImpl.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fasterxml.jackson.databind.ser.Serializers;
 import com.huimv.guowei.admin.common.utils.Result;
 import com.huimv.guowei.admin.common.utils.ResultCode;
 import com.huimv.guowei.admin.common.utils.ResultUtil;
@@ -245,6 +246,17 @@ public class BaseBuildingServiceImpl extends ServiceImpl<BaseBuildingMapper, Bas
         return new Result(ResultCode.SUCCESS,resultMap);
     }
 
+    @Override
+    public Result listScreenDuck(Map<String, String> map) {
+        String farmId = map.get("farmId");
+        Map resultMap = new HashMap();
+        List<ScreenDuckVo> screenDuckVos = baseBuildingMapper.listScreenDuck(farmId);
+        resultMap.put("list",screenDuckVos);
+        Integer count = baseDuckInfoMapper.selectCount(new QueryWrapper<BaseDuckInfo>().eq("farm_id", 21));
+        resultMap.put("totalDuck",count);
+        return new Result(ResultCode.SUCCESS,resultMap);
+    }
+
 
 //    @Override
 //    public Result list(String farmCode, String buildName, String stageCode) {

+ 76 - 24
huimv-admin/src/main/resources/com/huimv/guowei/admin/mapper/BaseBuildingMapper.xml

@@ -7,38 +7,90 @@
 </select>
 
    <select id="listScreenEnergy" resultType="com.huimv.guowei.admin.entity.vo.ScreenEnergyVo">
-      SELECT
+    SELECT
     q.quarter,
-    COALESCE(ROUND(SUM(DISTINCT(w.water_value)),2),0) AS waterValue,
-    COALESCE(ROUND(SUM(DISTINCT(e.electricity_value)),2),0) AS electricityValue,
-    COALESCE(ROUND(SUM(DISTINCT(f.duck_weight)),2),0) AS feedValue
+    COALESCE(ROUND(w.waterValue, 2), 0) AS waterValue,
+    COALESCE(ROUND(e.electricityValue, 2), 0) AS electricityValue,
+    COALESCE(ROUND(f.feedValue, 2), 0) AS feedValue
 FROM quarters q
-LEFT JOIN
-    `energy_water` w ON YEAR(w.create_date) = YEAR(CURDATE()) AND q.quarter = QUARTER(w.create_date)
-LEFT JOIN
-    `energy_electricity` e ON YEAR(e.create_date) = YEAR(CURDATE()) AND q.quarter = QUARTER(e.create_date)
-LEFT JOIN
-    `env_regular_call_feeding` f ON YEAR(f.call_date) = YEAR(CURDATE()) AND q.quarter = QUARTER(f.call_date)
-GROUP BY
-    q.quarter
-ORDER BY
-    q.quarter
+LEFT JOIN (
+    SELECT
+        QUARTER(create_date) AS QUARTER,
+        SUM(water_value) AS waterValue
+    FROM energy_water
+    WHERE YEAR(create_date) = YEAR(CURDATE())
+    GROUP BY QUARTER(create_date)
+) w ON q.quarter = w.quarter
+LEFT JOIN (
+    SELECT
+        QUARTER(create_date) AS QUARTER,
+        SUM(electricity_value) AS electricityValue
+    FROM energy_electricity
+    WHERE YEAR(create_date) = YEAR(CURDATE())
+    GROUP BY QUARTER(create_date)
+) e ON q.quarter = e.quarter
+LEFT JOIN (
+    SELECT
+        QUARTER(call_date) AS QUARTER,
+        SUM(duck_weight) AS feedValue
+    FROM env_regular_call_feeding
+    WHERE YEAR(call_date) = YEAR(CURDATE())
+    GROUP BY QUARTER(call_date)
+) f ON q.quarter = f.QUARTER
+ORDER BY q.quarter
    </select>
 
     <select id="listScreenFeed" resultType="com.huimv.guowei.admin.entity.vo.ScreenFeedVo">
       SELECT
     m.month,
-    COALESCE(SUM(DISTINCT(e.egg_num)),0) AS eggNum,
-    COALESCE(ROUND(SUM(DISTINCT(f.duck_weight)),2),0) AS feedValue
+    COALESCE(e.eggNum, 0) AS eggNum,
+    COALESCE(ROUND(f.feedValue, 2), 0) AS feedValue
 FROM months m
-LEFT JOIN
-    `env_regular_call_egg` e ON YEAR(e.call_date) = YEAR(CURDATE()) AND m.month = MONTH(e.call_date)
-LEFT JOIN
-    `env_regular_call_feeding` f ON YEAR(f.call_date) = YEAR(CURDATE()) AND m.month = MONTH(f.call_date)
-GROUP BY
-    m.month
-ORDER BY
-   m.month
+LEFT JOIN (
+    SELECT
+        MONTH(call_date) AS MONTH,
+        SUM(egg_num) AS eggNum
+    FROM env_regular_call_egg
+    WHERE YEAR(call_date) = YEAR(CURDATE())
+    GROUP BY MONTH(call_date)
+) e ON m.month = e.month
+LEFT JOIN (
+    SELECT
+        MONTH(call_date) AS MONTH,
+        SUM(duck_weight) AS feedValue
+    FROM env_regular_call_feeding
+    WHERE YEAR(call_date) = YEAR(CURDATE())
+    GROUP BY MONTH(call_date)
+) f ON m.month = f.month
+ORDER BY m.month
    </select>
 
+    <select id="listScreenDuck" resultType="com.huimv.guowei.admin.entity.vo.ScreenDuckVo">
+        SELECT
+    d.duck_num,
+    COALESCE(e.eggNum, 0) AS eggNum,
+    COALESCE(ROUND(d.now_weight, 2), 0) AS nowWeight,
+    COALESCE(ROUND(f.duckWeight, 2), 0) AS feedWeight,
+    d.unit_name
+FROM base_duck_info d
+LEFT JOIN (
+    SELECT
+        duck_num,
+        SUM(egg_num) AS eggNum
+    FROM env_regular_call_egg
+    GROUP BY duck_num
+) e ON d.duck_num = e.duck_num
+LEFT JOIN (
+    SELECT
+        duck_num,
+        SUM(duck_weight) AS duckWeight
+    FROM env_regular_call_feeding
+    WHERE DATE(call_date) = CURDATE()
+    GROUP BY duck_num
+) f ON d.duck_num = f.duck_num
+WHERE d.farm_id = #{farmId}
+GROUP BY d.duck_num
+ORDER BY duck_num
+    </select>
+
 </mapper>