Newspaper 1 vuosi sitten
vanhempi
commit
5d57c37740
16 muutettua tiedostoa jossa 310 lisäystä ja 27 poistoa
  1. 10 0
      huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/controller/FeedConsumeController.java
  2. 8 1
      huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/controller/FeedUsageController.java
  3. 12 0
      huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/eggvo/BuildEntity.java
  4. 12 0
      huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/eggvo/BuildVo.java
  5. 9 0
      huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/feedVo/AllBuildVo.java
  6. 13 0
      huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/feedVo/FeedUsedChartVo.java
  7. 12 0
      huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/feedVo/FeedVo.java
  8. 12 1
      huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/mapper/FeedConsumeMapper.java
  9. 13 1
      huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/mapper/FeedUsageMapper.java
  10. 4 0
      huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/IFeedConsumeService.java
  11. 2 0
      huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/IFeedUsageService.java
  12. 50 5
      huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/impl/FeedConsumeServiceImpl.java
  13. 29 1
      huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/impl/FeedUsageServiceImpl.java
  14. 24 11
      huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/timer/FeedConsumeTimer.java
  15. 46 6
      huimv-farm-datacenter-egg/huimv-farm-environ/src/main/resources/com/huimv/environ/eco/mapper/FeedConsumeMapper.xml
  16. 54 1
      huimv-farm-datacenter-egg/huimv-farm-environ/src/main/resources/com/huimv/environ/eco/mapper/FeedUsageMapper.xml

+ 10 - 0
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/controller/FeedConsumeController.java

@@ -34,6 +34,16 @@ public class FeedConsumeController {
         return feedConsumeService.listFeedConsume(map);
     }
 
+    @PostMapping("/listBuild")
+    public Result listBuild(@RequestBody Map<String,String> map) {
+        return feedConsumeService.listBuild(map);
+    }
+
+    @PostMapping("/listChartConsume")
+    public Result listChartConsume(@RequestBody Map<String,String> map) {
+        return feedConsumeService.listChartConsume(map);
+    }
+
     @PostMapping("/listFeed")
     public Result listFeed(@RequestBody Map<String,String> map) {
         return feedConsumeService.listFeed(map);

+ 8 - 1
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/controller/FeedUsageController.java

@@ -3,6 +3,7 @@ package com.huimv.environ.eco.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.api.R;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.huimv.common.utils.Result;
@@ -36,8 +37,9 @@ public class FeedUsageController {
     public Result page(@RequestBody Map<String,String> map){
         String pageNum = map.get("pageNum");
         String pageSize = map.get("pageSize");
+        String date = map.get("date");
         Page<FeedUsage> page = new Page<>(Integer.parseInt(pageNum),Integer.parseInt(pageSize));
-        Page<FeedUsage> feedUsagePage = feedUsageService.page(page,new QueryWrapper<FeedUsage>().lambda().orderByDesc(FeedUsage::getUsedDate).orderByAsc(FeedUsage::getUnitName));
+        Page<FeedUsage> feedUsagePage = feedUsageService.page(page,new QueryWrapper<FeedUsage>().lambda().eq(StringUtils.isNotBlank(date),FeedUsage::getUsedDate,date).orderByDesc(FeedUsage::getUsedDate).orderByAsc(FeedUsage::getUnitName));
         return new Result(ResultCode.SUCCESS,feedUsagePage);
     }
 
@@ -46,4 +48,9 @@ public class FeedUsageController {
         return feedUsageService.listUse(map);
     }
 
+    @PostMapping("/listChartUse")
+    public Result listChartUse(@RequestBody Map<String,String> map){
+        return feedUsageService.listChartUse(map);
+    }
+
 }

+ 12 - 0
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/eggvo/BuildEntity.java

@@ -0,0 +1,12 @@
+package com.huimv.environ.eco.entity.eggvo;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class BuildEntity {
+    private Integer code;
+    private Double delta;
+    private List<BuildVo> data;
+}

+ 12 - 0
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/eggvo/BuildVo.java

@@ -0,0 +1,12 @@
+package com.huimv.environ.eco.entity.eggvo;
+
+import lombok.Data;
+
+@Data
+public class BuildVo {
+    private String cpu_id;
+    private String i;
+    private String model;
+    private String protocol;
+    private Boolean status;
+}

+ 9 - 0
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/feedVo/AllBuildVo.java

@@ -0,0 +1,9 @@
+package com.huimv.environ.eco.entity.feedVo;
+
+import lombok.Data;
+
+@Data
+public class AllBuildVo {
+    private String name;
+    private String value;
+}

+ 13 - 0
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/feedVo/FeedUsedChartVo.java

@@ -0,0 +1,13 @@
+package com.huimv.environ.eco.entity.feedVo;
+
+import com.huimv.environ.eco.entity.FeedUsage;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@Data
+public class FeedUsedChartVo {
+    private BigDecimal totalUsed;
+    private List<FeedVo> list;
+}

+ 12 - 0
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/feedVo/FeedVo.java

@@ -0,0 +1,12 @@
+package com.huimv.environ.eco.entity.feedVo;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class FeedVo {
+    private String time;
+    private BigDecimal value;
+
+}

+ 12 - 1
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/mapper/FeedConsumeMapper.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.huimv.environ.eco.entity.feedVo.FeedConsumeChartVo;
 import com.huimv.environ.eco.entity.feedVo.FeedConsumeVo;
 import com.huimv.environ.eco.entity.feedVo.FeedFormVo;
+import com.huimv.environ.eco.entity.feedVo.FeedUsedChartVo;
 
 import java.util.Date;
 import java.util.List;
@@ -20,9 +21,19 @@ import java.util.List;
  */
 public interface FeedConsumeMapper extends BaseMapper<FeedConsume> {
 
-    FeedConsumeChartVo getTotal(String startDate, String endDate);
+    FeedConsumeChartVo listTotalGroupByDay(String startDate, String endDate);
 
     List<FeedFormVo> list(String startDate, String endDate);
 
     Page<FeedConsumeVo> listFeed(Page<FeedConsume> page, String date);
+
+    FeedConsumeChartVo getTotal(String startDate, String endDate);
+
+    FeedConsumeChartVo getYearOrMonthTotal(String startDate);
+
+    List<FeedFormVo> listFeedGroupByWeek(String startDate, String endDate);
+
+    List<FeedFormVo> listFeedGroupByMonth(String startDate);
+
+    List<FeedFormVo> listFeedGroupByYear(String startDate);
 }

+ 13 - 1
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/mapper/FeedUsageMapper.java

@@ -2,7 +2,9 @@ package com.huimv.environ.eco.mapper;
 
 import com.huimv.environ.eco.entity.FeedUsage;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.environ.eco.entity.feedVo.FeedUsedChartVo;
 import com.huimv.environ.eco.entity.feedVo.FeedUsedVo;
+import com.huimv.environ.eco.entity.feedVo.FeedVo;
 
 import java.util.Date;
 import java.util.List;
@@ -17,5 +19,15 @@ import java.util.List;
  */
 public interface FeedUsageMapper extends BaseMapper<FeedUsage> {
 
-    List<FeedUsedVo> listTotal(String startDate, String endDate);
+    List<FeedUsedVo> listTotalGroupByDay(String startDate, String endDate);
+
+    FeedUsedChartVo getTotal(String startDate, String endDate, String unitName);
+
+    FeedUsedChartVo getYearOrMonthTotal(String startDate, String unitName);
+
+    List<FeedVo> listFeedGroupByWeek(String startDate, String endDate, String unitName);
+
+    List<FeedVo> listFeedGroupByMonth(String startDate, String unitName);
+
+    List<FeedVo> listFeedGroupByYear(String startDate, String unitName);
 }

+ 4 - 0
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/IFeedConsumeService.java

@@ -22,4 +22,8 @@ public interface IFeedConsumeService extends IService<FeedConsume> {
     Result listFeedConsume(Map<String, String> map) ;
 
     Result listFeed(Map<String, String> map) ;
+
+    Result listChartConsume(Map<String, String> map);
+
+    Result listBuild(Map<String, String> map);
 }

+ 2 - 0
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/IFeedUsageService.java

@@ -18,4 +18,6 @@ import java.util.Map;
 public interface IFeedUsageService extends IService<FeedUsage> {
 
     Result listUse(Map<String, String> map);
+
+    Result listChartUse(Map<String, String> map);
 }

+ 50 - 5
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/impl/FeedConsumeServiceImpl.java

@@ -7,12 +7,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.huimv.common.utils.Result;
 import com.huimv.common.utils.ResultCode;
 import com.huimv.environ.eco.entity.FeedConsume;
+import com.huimv.environ.eco.entity.eggvo.BuildEntity;
+import com.huimv.environ.eco.entity.eggvo.BuildVo;
 import com.huimv.environ.eco.entity.eggvo.HistoryEntity;
 import com.huimv.environ.eco.entity.eggvo.HistroyOne;
-import com.huimv.environ.eco.entity.feedVo.FeedConsumeChartVo;
-import com.huimv.environ.eco.entity.feedVo.FeedConsumeVo;
-import com.huimv.environ.eco.entity.feedVo.FeedFormVo;
-import com.huimv.environ.eco.entity.feedVo.TodayFeedVo;
+import com.huimv.environ.eco.entity.feedVo.*;
 import com.huimv.environ.eco.mapper.FeedConsumeMapper;
 import com.huimv.environ.eco.service.IFeedConsumeService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -47,6 +46,7 @@ public class FeedConsumeServiceImpl extends ServiceImpl<FeedConsumeMapper, FeedC
     private static  final  String BASE_URL= "https://iot1.bigherdsman.com/api/v2/";
     private static  final  String TOKEN= "72438b180e9168fe90db126e3310cd0b20a7196d";
     private static  final  String HISTORY_LIST= "history/list/?code=";
+    private static  final  String LIST_ORIGIN_HOUSE= "hardware/list-origin-house/?code=";
     private static final String FARM_CODE = "2022011710";
 
     @Override
@@ -89,7 +89,7 @@ public class FeedConsumeServiceImpl extends ServiceImpl<FeedConsumeMapper, FeedC
     public Result listFeedConsume(Map<String, String> map){
         String startDate = map.get("startDate");
         String endDate = map.get("endDate");
-        FeedConsumeChartVo feedConsumeVo = feedConsumeMapper.getTotal(startDate,endDate);
+        FeedConsumeChartVo feedConsumeVo = feedConsumeMapper.listTotalGroupByDay(startDate,endDate);
         List<FeedFormVo> feedFormVos = feedConsumeMapper.list(startDate,endDate);
         if (ObjectUtil.isNotEmpty(feedFormVos)){
             feedConsumeVo.setList(feedFormVos);
@@ -106,4 +106,49 @@ public class FeedConsumeServiceImpl extends ServiceImpl<FeedConsumeMapper, FeedC
         Page<FeedConsumeVo> feedConsumeVoList = feedConsumeMapper.listFeed(page, date);
         return new Result(ResultCode.SUCCESS,feedConsumeVoList);
     }
+
+    @Override
+    public Result listChartConsume(Map<String, String> map) {
+        String startDate = map.get("startDate");
+        String endDate = map.get("endDate");
+        String type = map.get("type");
+        FeedConsumeChartVo feedConsumeChartVo;
+        List<FeedFormVo> feedVos;
+        if ("0".equals(type)){
+            feedConsumeChartVo = feedConsumeMapper.getTotal(startDate,endDate);
+            feedVos = feedConsumeMapper.listFeedGroupByWeek(startDate,endDate);
+        }else if ("1".equals(type)){
+            feedConsumeChartVo = feedConsumeMapper.getYearOrMonthTotal(startDate);
+            feedVos = feedConsumeMapper.listFeedGroupByMonth(startDate);
+        }else {
+            feedConsumeChartVo = feedConsumeMapper.getYearOrMonthTotal(startDate);
+            feedVos = feedConsumeMapper.listFeedGroupByYear(startDate);
+        }
+        if (ObjectUtil.isNotEmpty(feedVos)){
+            feedConsumeChartVo.setList(feedVos);
+        }
+        return new Result(ResultCode.SUCCESS,feedConsumeChartVo);
+    }
+
+    @Override
+    public Result listBuild(Map<String, String> map) {
+        HttpHeaders headers = new HttpHeaders();
+        headers.set("Authorization","Token "+TOKEN);
+        HttpEntity<JSONObject> httpEntity = new HttpEntity<>(headers);
+        RestTemplate restTemplate = new RestTemplate();
+        ResponseEntity<BuildEntity> todayForEntity = restTemplate.exchange(BASE_URL + LIST_ORIGIN_HOUSE+FARM_CODE, HttpMethod.GET, httpEntity,BuildEntity.class );
+        List<BuildVo> data = todayForEntity.getBody().getData();
+        List<AllBuildVo> buildName = new ArrayList<>();
+        AllBuildVo allBuild = new AllBuildVo();
+        allBuild.setName("全部");
+        allBuild.setValue("");
+        buildName.add(allBuild);
+        for (BuildVo datum : data) {
+            AllBuildVo allBuildVo = new AllBuildVo();
+            allBuildVo.setName(datum.getI()+"舍");
+            allBuildVo.setValue(datum.getI()+"舍");
+            buildName.add(allBuildVo);
+        }
+        return new Result(ResultCode.SUCCESS,buildName);
+    }
 }

+ 29 - 1
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/impl/FeedUsageServiceImpl.java

@@ -1,10 +1,13 @@
 package com.huimv.environ.eco.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.huimv.common.utils.Result;
 import com.huimv.common.utils.ResultCode;
 import com.huimv.environ.eco.entity.FeedUsage;
+import com.huimv.environ.eco.entity.feedVo.FeedUsedChartVo;
 import com.huimv.environ.eco.entity.feedVo.FeedUsedVo;
+import com.huimv.environ.eco.entity.feedVo.FeedVo;
 import com.huimv.environ.eco.mapper.FeedUsageMapper;
 import com.huimv.environ.eco.service.IFeedUsageService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -13,6 +16,7 @@ import org.springframework.stereotype.Service;
 
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -34,7 +38,7 @@ public class FeedUsageServiceImpl extends ServiceImpl<FeedUsageMapper, FeedUsage
     public Result listUse(Map<String, String> map){
         String startDate = map.get("startDate");
         String endDate = map.get("endDate");
-        List<FeedUsedVo> feedUsedVo = feedUsageMapper.listTotal(startDate,endDate);
+        List<FeedUsedVo> feedUsedVo = feedUsageMapper.listTotalGroupByDay(startDate,endDate);
         for (FeedUsedVo usedVo : feedUsedVo) {
             List<FeedUsage> feedUsages = feedUsageMapper.selectList(new QueryWrapper<FeedUsage>().lambda()
                     .eq(FeedUsage::getUsedDate,usedVo.getDate())
@@ -44,4 +48,28 @@ public class FeedUsageServiceImpl extends ServiceImpl<FeedUsageMapper, FeedUsage
         }
         return new Result(ResultCode.SUCCESS,feedUsedVo);
     }
+
+    @Override
+    public Result listChartUse(Map<String, String> map) {
+        String startDate = map.get("startDate");
+        String endDate = map.get("endDate");
+        String unitName = map.get("unitName");
+        String type = map.get("type");
+        FeedUsedChartVo feedUsedVo;
+        List<FeedVo> feedVos;
+        if ("0".equals(type)){
+            feedUsedVo = feedUsageMapper.getTotal(startDate,endDate,unitName);
+            feedVos = feedUsageMapper.listFeedGroupByWeek(startDate,endDate,unitName);
+        }else if ("1".equals(type)){
+            feedUsedVo = feedUsageMapper.getYearOrMonthTotal(startDate,unitName);
+            feedVos = feedUsageMapper.listFeedGroupByMonth(startDate,unitName);
+        }else {
+            feedUsedVo = feedUsageMapper.getYearOrMonthTotal(startDate,unitName);
+            feedVos = feedUsageMapper.listFeedGroupByYear(startDate,unitName);
+        }
+        if (ObjectUtil.isNotEmpty(feedVos)){
+            feedUsedVo.setList(feedVos);
+        }
+        return new Result(ResultCode.SUCCESS,feedUsedVo);
+    }
 }

+ 24 - 11
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/timer/FeedConsumeTimer.java

@@ -3,6 +3,7 @@ package com.huimv.environ.eco.timer;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.json.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.huimv.environ.eco.entity.FeedUsage;
 import com.huimv.environ.eco.entity.eggvo.*;
 import com.huimv.environ.eco.service.IFeedUsageService;
@@ -36,8 +37,8 @@ public class FeedConsumeTimer {
     private IFeedUsageService feedUsageService;
 
 
-    @Scheduled(cron = "0 0 23 * * ?")
-//    @Scheduled(cron = "0 0/1 * * * ?")
+//    @Scheduled(cron = "0 0 23 * * ?")
+    @Scheduled(cron = "0 0 * * * *")
     public void saveFeedConsumeData(){
         HttpHeaders headers = new HttpHeaders();
         headers.set("Authorization","Token "+TOKEN);
@@ -60,17 +61,29 @@ public class FeedConsumeTimer {
             if (ObjectUtil.isNotEmpty(datum.getData().getQty_re())){
                 stock = datum.getData().getQty_re();
             }
-            feedUsage.setUnitName(datum.getI()+"舍");
-            feedUsage.setAge(datum.getData().getAge());
-            feedUsage.setStock(stock);
-            feedUsage.setUsedDate(sdf.format(new Date()));
-            feedUsage.setTotalConsume(BigDecimal.valueOf(totalConsume));
-            if ("0".equals(stock)){
-                feedUsage.setSingleConsume(BigDecimal.ZERO);
+            FeedUsage one = feedUsageService.getOne(new QueryWrapper<FeedUsage>().lambda().eq(FeedUsage::getUsedDate, sdf.format(new Date())).eq(FeedUsage::getUnitName, datum.getI() + "舍"));
+            if (ObjectUtil.isNotEmpty(one)){
+                one.setStock(stock);
+                one.setTotalConsume(BigDecimal.valueOf(totalConsume));
+                if ("0".equals(stock)){
+                    feedUsage.setSingleConsume(BigDecimal.ZERO);
+                }else {
+                    feedUsage.setSingleConsume(BigDecimal.valueOf(totalConsume).multiply(BigDecimal.valueOf(1000)).divide(BigDecimal.valueOf(Double.valueOf(stock)),2,RoundingMode.HALF_UP));
+                }
+                feedUsageService.updateById(one);
             }else {
-                feedUsage.setSingleConsume(BigDecimal.valueOf(totalConsume).multiply(BigDecimal.valueOf(1000)).divide(BigDecimal.valueOf(Double.valueOf(stock)),2,RoundingMode.HALF_UP));
+                feedUsage.setUnitName(datum.getI()+"舍");
+                feedUsage.setAge(datum.getData().getAge());
+                feedUsage.setStock(stock);
+                feedUsage.setUsedDate(sdf.format(new Date()));
+                feedUsage.setTotalConsume(BigDecimal.valueOf(totalConsume));
+                if ("0".equals(stock)){
+                    feedUsage.setSingleConsume(BigDecimal.ZERO);
+                }else {
+                    feedUsage.setSingleConsume(BigDecimal.valueOf(totalConsume).multiply(BigDecimal.valueOf(1000)).divide(BigDecimal.valueOf(Double.valueOf(stock)),2,RoundingMode.HALF_UP));
+                }
+                feedUsageService.save(feedUsage);
             }
-            feedUsageService.save(feedUsage);
         }
     }
 

+ 46 - 6
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/resources/com/huimv/environ/eco/mapper/FeedConsumeMapper.xml

@@ -6,12 +6,12 @@
     <sql id="Base_Column_List">
         id, date, time, num1, batch, type, except, reality
     </sql>
-    <select id="getTotal" resultType="com.huimv.environ.eco.entity.feedVo.FeedConsumeChartVo">
-        SELECT ROUND(SUM(reality), 2) AS totalConsume FROM `feed_consume` WHERE DATE BETWEEN '${startDate}' AND '${endDate}'
+    <select id="listTotalGroupByDay" resultType="com.huimv.environ.eco.entity.feedVo.FeedConsumeChartVo">
+        SELECT ROUND(SUM(reality), 2) AS totalConsume FROM `feed_consume` WHERE TRIM(BOTH '"' FROM DATE) BETWEEN '${startDate}' AND '${endDate}'
     </select>
     <select id="list" resultType="com.huimv.environ.eco.entity.feedVo.FeedFormVo">
-        SELECT DATE AS 'date',ROUND(SUM(reality), 2) AS consume FROM `feed_consume` WHERE DATE BETWEEN '${startDate}' AND '${endDate}'
-        GROUP BY DATE(DATE)
+        SELECT TRIM(BOTH '"' FROM DATE) AS 'date',ROUND(SUM(reality), 2) AS consume FROM `feed_consume` WHERE TRIM(BOTH '"' FROM DATE) BETWEEN '${startDate}' AND '${endDate}'
+        GROUP BY TRIM(BOTH '"' FROM DATE)
         ORDER BY DATE
     </select>
     <select id="listFeed" resultType="com.huimv.environ.eco.entity.feedVo.FeedConsumeVo">
@@ -23,12 +23,52 @@
         FROM
             `feed_consume`
         <if test="date != null and date != ''">
-            WHERE DATE = '${date}'
+            WHERE TRIM(BOTH '"' FROM DATE) = '${date}'
         </if>
         GROUP BY
-            DATE,batchName
+            TRIM(BOTH '"' FROM DATE),batchName
         ORDER BY
             DATE DESC,num1 ASC
     </select>
 
+    <select id="getTotal" resultType="com.huimv.environ.eco.entity.feedVo.FeedConsumeChartVo">
+        SELECT ROUND(SUM(reality), 2) AS totalConsume FROM `feed_consume` WHERE TRIM(BOTH '"' FROM DATE) BETWEEN '${startDate}' AND '${endDate}'
+    </select>
+
+    <select id="getYearOrMonthTotal" resultType="com.huimv.environ.eco.entity.feedVo.FeedConsumeChartVo">
+        SELECT ROUND(SUM(reality),2) AS 'totalConsume' FROM `feed_consume` WHERE TRIM(BOTH '"' FROM DATE) LIKE CONCAT(#{startDate}, '%')
+    </select>
+    <select id="listFeedGroupByWeek" resultType="com.huimv.environ.eco.entity.feedVo.FeedFormVo">
+        SELECT TRIM(BOTH '"' FROM DATE) AS 'date',ROUND(SUM(reality), 2) AS consume FROM `feed_consume` WHERE TRIM(BOTH '"' FROM DATE) BETWEEN '${startDate}' AND '${endDate}'
+        GROUP BY TRIM(BOTH '"' FROM DATE)
+        ORDER BY DATE ASC
+    </select>
+
+    <select id="listFeedGroupByMonth" resultType="com.huimv.environ.eco.entity.feedVo.FeedFormVo">
+        SELECT TRIM(BOTH '"' FROM DATE) AS 'date',ROUND(SUM(reality), 2) AS consume FROM `feed_consume` WHERE TRIM(BOTH '"' FROM DATE)  LIKE CONCAT(#{startDate}, '%')
+        GROUP BY TRIM(BOTH '"' FROM DATE)
+        ORDER BY DATE ASC
+    </select>
+
+    <select id="listFeedGroupByYear" resultType="com.huimv.environ.eco.entity.feedVo.FeedFormVo">
+        SELECT
+            m.month AS 'date',
+            COALESCE(ROUND(c.reality, 2), 0) AS 'consume'
+        FROM
+            months m
+        LEFT JOIN (
+            SELECT
+                MONTH(TRIM(BOTH '"' FROM DATE)) AS MONTH,
+                SUM(reality) AS 'reality'
+            FROM
+                `feed_consume`
+            WHERE
+                YEAR(TRIM(BOTH '"' FROM DATE)) = #{startDate}
+            GROUP BY
+                MONTH(TRIM(BOTH '"' FROM DATE))
+        ) c ON m.month = c.month
+        ORDER BY
+            m.month;
+    </select>
+
 </mapper>

+ 54 - 1
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/resources/com/huimv/environ/eco/mapper/FeedUsageMapper.xml

@@ -6,10 +6,63 @@
     <sql id="Base_Column_List">
         id, used_date, unit_name, stock, age, single_consume
     </sql>
-    <select id="listTotal" resultType="com.huimv.environ.eco.entity.feedVo.FeedUsedVo">
+    <select id="listTotalGroupByDay" resultType="com.huimv.environ.eco.entity.feedVo.FeedUsedVo">
         SELECT used_date AS 'date',ROUND(SUM(total_consume),2) AS 'totalUsed' FROM `feed_usage` WHERE used_date BETWEEN '${startDate}' AND '${endDate}'
         GROUP BY DATE(used_date)
         ORDER BY used_date ASC
     </select>
+    <select id="getTotal" resultType="com.huimv.environ.eco.entity.feedVo.FeedUsedChartVo">
+        SELECT ROUND(SUM(total_consume),2) AS 'totalUsed' FROM `feed_usage` WHERE used_date BETWEEN '${startDate}' AND '${endDate}'
+        <if test="unitName != null and unitName != ''">
+            AND unit_name = #{unitName}
+        </if>
+    </select>
+    <select id="getYearOrMonthTotal" resultType="com.huimv.environ.eco.entity.feedVo.FeedUsedChartVo">
+        SELECT ROUND(SUM(total_consume),2) AS 'totalUsed' FROM `feed_usage` WHERE used_date LIKE CONCAT(#{startDate}, '%')
+        <if test="unitName != null and unitName != ''">
+            AND unit_name = #{unitName}
+        </if>
+    </select>
+    <select id="listFeedGroupByWeek" resultType="com.huimv.environ.eco.entity.feedVo.FeedVo">
+        SELECT used_date AS 'time',ROUND(SUM(total_consume),2) AS 'value' FROM `feed_usage` WHERE used_date BETWEEN '${startDate}' AND '${endDate}'
+        <if test="unitName != null and unitName != ''">
+            AND unit_name = #{unitName}
+        </if>
+        GROUP BY DATE(used_date)
+        ORDER BY used_date ASC
+    </select>
+
+    <select id="listFeedGroupByMonth" resultType="com.huimv.environ.eco.entity.feedVo.FeedVo">
+        SELECT used_date AS 'time',ROUND(SUM(total_consume),2) AS 'value' FROM `feed_usage` WHERE used_date LIKE CONCAT(#{startDate}, '%')
+        <if test="unitName != null and unitName != ''">
+            AND unit_name = #{unitName}
+        </if>
+        GROUP BY DATE(used_date)
+        ORDER BY used_date ASC
+    </select>
+
+    <select id="listFeedGroupByYear" resultType="com.huimv.environ.eco.entity.feedVo.FeedVo">
+        SELECT
+            m.month AS 'time',
+            COALESCE(ROUND(u.total_consume, 2), 0) AS 'value'
+        FROM
+            months m
+        LEFT JOIN (
+            SELECT
+                MONTH(used_date) AS MONTH,
+                SUM(total_consume) AS 'total_consume'
+            FROM
+                `feed_usage`
+            WHERE
+                YEAR(used_date) = #{startDate}
+                <if test="unitName != null and unitName != ''">
+                    AND unit_name = #{unitName}
+                </if>
+            GROUP BY
+                MONTH(used_date)
+        ) u ON m.month = u.month
+        ORDER BY
+            m.month;
+    </select>
 
 </mapper>