瀏覽代碼

能耗统计

wwh 2 年之前
父節點
當前提交
dbe0f0e62b

+ 26 - 0
huimv-admin/src/main/java/com/huimv/admin/controller/EnergyDataController.java

@@ -1,10 +1,18 @@
 package com.huimv.admin.controller;
 
 
+import com.huimv.admin.common.utils.Result;
+import com.huimv.admin.service.IEnergyDataService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
 /**
  * <p>
  * 耗能数据 前端控制器
@@ -15,6 +23,24 @@ import org.springframework.web.bind.annotation.RestController;
  */
 @RestController
 @RequestMapping("/energy-data")
+@CrossOrigin
 public class EnergyDataController {
 
+    @Autowired
+    private IEnergyDataService iEnergyDataService;
+
+    @RequestMapping("/listCount")
+    public Result listCount(HttpServletRequest httpServletRequest, @RequestBody Map<String,String> paramsMap) {
+        return iEnergyDataService.listCount(httpServletRequest, paramsMap);
+    }
+
+    @RequestMapping("/listData")
+    public Result listData(HttpServletRequest httpServletRequest, @RequestBody Map<String,String> paramsMap) {
+        return iEnergyDataService.listData(httpServletRequest, paramsMap);
+    }
+
+    @RequestMapping("/listRank")
+    public Result listRank(HttpServletRequest httpServletRequest, @RequestBody Map<String,String> paramsMap) {
+        return iEnergyDataService.listRank(httpServletRequest, paramsMap);
+    }
 }

+ 1 - 1
huimv-admin/src/main/java/com/huimv/admin/entity/vo/EnergyElectricityDataVo.java

@@ -9,6 +9,6 @@ import java.util.Date;
 public class EnergyElectricityDataVo {
     private String electricityValue;
 
-    @JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date createDate;
 }

+ 1 - 1
huimv-admin/src/main/java/com/huimv/admin/entity/vo/EnergyFeedDataVo.java

@@ -9,6 +9,6 @@ import java.util.Date;
 public class EnergyFeedDataVo {
     private String feedValue;
 
-    @JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date createDate;
 }

+ 1 - 1
huimv-admin/src/main/java/com/huimv/admin/entity/vo/EnergyGasDataVo.java

@@ -9,6 +9,6 @@ import java.util.Date;
 public class EnergyGasDataVo {
     private String gasValue;
 
-    @JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date createDate;
 }

+ 1 - 1
huimv-admin/src/main/java/com/huimv/admin/entity/vo/EnergyWaterDataVo.java

@@ -9,6 +9,6 @@ import java.util.Date;
 public class EnergyWaterDataVo {
     private String waterValue;
 
-    @JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date createDate;
 }

+ 8 - 0
huimv-admin/src/main/java/com/huimv/admin/service/IEnergyDataService.java

@@ -1,8 +1,12 @@
 package com.huimv.admin.service;
 
+import com.huimv.admin.common.utils.Result;
 import com.huimv.admin.entity.EnergyData;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
 /**
  * <p>
  * 耗能数据 服务类
@@ -12,5 +16,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @since 2023-02-14
  */
 public interface IEnergyDataService extends IService<EnergyData> {
+    Result listCount(HttpServletRequest httpServletRequest, Map<String,String> paramsMap);
+
+    Result listData(HttpServletRequest httpServletRequest,Map<String,String> paramsMap);
 
+    Result listRank(HttpServletRequest httpServletRequest,Map<String,String> paramsMap);
 }

+ 816 - 0
huimv-admin/src/main/java/com/huimv/admin/service/impl/EnergyDataServiceImpl.java

@@ -1,11 +1,27 @@
 package com.huimv.admin.service.impl;
 
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONException;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.admin.common.utils.DataUill;
+import com.huimv.admin.common.utils.Result;
+import com.huimv.admin.common.utils.ResultCode;
+import com.huimv.admin.entity.BasePigpen;
 import com.huimv.admin.entity.EnergyData;
+import com.huimv.admin.entity.vo.*;
+import com.huimv.admin.mapper.BasePigpenMapper;
 import com.huimv.admin.mapper.EnergyDataMapper;
 import com.huimv.admin.service.IEnergyDataService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.servlet.http.HttpServletRequest;
+import java.util.*;
+
 /**
  * <p>
  * 耗能数据 服务实现类
@@ -17,4 +33,804 @@ import org.springframework.stereotype.Service;
 @Service
 public class EnergyDataServiceImpl extends ServiceImpl<EnergyDataMapper, EnergyData> implements IEnergyDataService {
 
+    @Autowired
+    private EnergyDataMapper dataMapper;
+    @Autowired
+    private BasePigpenMapper basePigpenMapper;
+
+    @Override
+    public Result listCount(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        QueryWrapper<EnergyData> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId);
+        EnergyDataVo energyDataVo = dataMapper.listCount(queryWrapper);
+        return new Result(ResultCode.SUCCESS, energyDataVo);
+    }
+
+    @Override
+    public Result listData(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String dataType = paramsMap.get("dataType");
+        String timeType = paramsMap.get("timeType");
+        String startTime = paramsMap.get("startTime");
+        String endTime = paramsMap.get("endTime");
+
+        if (dataType == null || dataType == "") {
+            dataType = "1";
+        }
+        if (timeType == null || timeType == "") {
+            timeType = "3";
+        }
+
+        QueryWrapper<EnergyData> dataQueryWrapper = new QueryWrapper<>();
+        dataQueryWrapper.eq("farm_id", farmId);
+        //用水
+        if ("1".equals(dataType)) {
+            //自定义
+            if ("4".equals(timeType)) {
+                startTime = startTime + " 00:00:00";
+                endTime = endTime + " 23:59:59";
+                dataQueryWrapper.between("create_time", startTime, endTime);
+               return new Result(ResultCode.SUCCESS, dataMapper.listDay3(dataQueryWrapper));
+            }
+            //全年
+            if ("3".equals(timeType)) {
+                DateTime dateTime = DateUtil.beginOfYear(new Date());
+                dataQueryWrapper.ge("create_date", dateTime);
+                List<EnergyWaterDataVo> energyWaterDataVos = dataMapper.listYear3(dataQueryWrapper);
+                for (EnergyWaterDataVo energyWaterDataVo : energyWaterDataVos) {
+                    if (energyWaterDataVo.getWaterValue() == null || energyWaterDataVo.getWaterValue() == "") {
+                        energyWaterDataVo.setWaterValue("0");
+                    }
+                }
+                return new Result(ResultCode.SUCCESS, energyWaterDataVos);
+            }
+            //本月
+            if ("2".equals(timeType)) {
+                Date timesMonthmorning = DataUill.getTimesMonthmorning();
+                dataQueryWrapper.ge("create_date", timesMonthmorning);
+                return new Result(ResultCode.SUCCESS, dataMapper.listDay3(dataQueryWrapper));
+            }
+            //本周
+            if ("1".equals(timeType)) {
+                Calendar calendar = Calendar.getInstance();
+                calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7);
+                dataQueryWrapper.ge("create_date", calendar.getTime());
+                List<EnergyWaterDataVo> energyWaterDataVos = dataMapper.listDay3(dataQueryWrapper);
+                for (EnergyWaterDataVo energyWaterDataVo : energyWaterDataVos) {
+                    if (energyWaterDataVo.getWaterValue() == null || energyWaterDataVo.getWaterValue() == "") {
+                        energyWaterDataVo.setWaterValue("0");
+                    }
+                }
+                return new Result(ResultCode.SUCCESS, energyWaterDataVos);
+            }
+        }
+        //用电
+        else if ("2".equals(dataType)) {
+            //自定义
+            if ("4".equals(timeType)) {
+                startTime = startTime + " 00:00:00";
+                endTime = endTime + " 23:59:59";
+                dataQueryWrapper.between("create_time", startTime, endTime);
+                return new Result(ResultCode.SUCCESS, dataMapper.listDay4(dataQueryWrapper));
+            }
+            //全年
+            if ("3".equals(timeType)) {
+                DateTime dateTime = DateUtil.beginOfYear(new Date());
+                dataQueryWrapper.ge("create_date", dateTime);
+                List<EnergyElectricityDataVo> energyElectricityDataVos = dataMapper.listYear4(dataQueryWrapper);
+                for (EnergyElectricityDataVo energyElectricityDataVo : energyElectricityDataVos) {
+                    if (energyElectricityDataVo.getElectricityValue() == null || energyElectricityDataVo.getElectricityValue() == "") {
+                        energyElectricityDataVo.setElectricityValue("0");
+                    }
+                }
+                return new Result(ResultCode.SUCCESS, energyElectricityDataVos);
+            }
+            //本月
+            if ("2".equals(timeType)) {
+                Date timesMonthmorning = DataUill.getTimesMonthmorning();
+                dataQueryWrapper.ge("create_date", timesMonthmorning);
+                return new Result(ResultCode.SUCCESS, dataMapper.listDay4(dataQueryWrapper));
+            }
+            //本周
+            if ("1".equals(timeType)) {
+                Calendar calendar = Calendar.getInstance();
+                calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7);
+                dataQueryWrapper.ge("create_date", calendar.getTime());
+                List<EnergyElectricityDataVo> energyElectricityDataVos = dataMapper.listDay4(dataQueryWrapper);
+                for (EnergyElectricityDataVo energyElectricityDataVo : energyElectricityDataVos) {
+                    if (energyElectricityDataVo.getElectricityValue() == null || energyElectricityDataVo.getElectricityValue() == "") {
+                        energyElectricityDataVo.setElectricityValue("0");
+                    }
+                }
+                return new Result(ResultCode.SUCCESS, energyElectricityDataVos);
+            }
+        }
+        //饲料
+        else if ("3".equals(dataType)) {
+            //自定义
+            if ("4".equals(timeType)) {
+                startTime = startTime + " 00:00:00";
+                endTime = endTime + " 23:59:59";
+                dataQueryWrapper.between("create_time", startTime, endTime);
+                return new Result(ResultCode.SUCCESS, dataMapper.listDay2(dataQueryWrapper));
+            }
+            //全年
+            if ("3".equals(timeType)) {
+                DateTime dateTime = DateUtil.beginOfYear(new Date());
+                dataQueryWrapper.ge("create_date", dateTime);
+                List<EnergyFeedDataVo> energyFeedDataVos = dataMapper.listYear2(dataQueryWrapper);
+                for (EnergyFeedDataVo energyFeedDataVo : energyFeedDataVos) {
+                    if (energyFeedDataVo.getFeedValue() == null || energyFeedDataVo.getFeedValue() == "") {
+                        energyFeedDataVo.setFeedValue("0");
+                    }
+                }
+                return new Result(ResultCode.SUCCESS, energyFeedDataVos);
+            }
+            //本月
+            if ("2".equals(timeType)) {
+                Date timesMonthmorning = DataUill.getTimesMonthmorning();
+                dataQueryWrapper.ge("create_date", timesMonthmorning);
+                return new Result(ResultCode.SUCCESS, dataMapper.listDay2(dataQueryWrapper));
+            }
+            //本周
+            if ("1".equals(timeType)) {
+                Calendar calendar = Calendar.getInstance();
+                calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7);
+                dataQueryWrapper.ge("create_date", calendar.getTime());
+                List<EnergyFeedDataVo> energyFeedDataVos = dataMapper.listDay2(dataQueryWrapper);
+                for (EnergyFeedDataVo energyFeedDataVo : energyFeedDataVos) {
+                    if (energyFeedDataVo.getFeedValue() == null || energyFeedDataVo.getFeedValue() == "") {
+                        energyFeedDataVo.setFeedValue("0");
+                    }
+                }
+                return new Result(ResultCode.SUCCESS, energyFeedDataVos);
+            }
+        }
+        //天然气
+        else if ("4".equals(dataType)) {
+            //自定义
+            if ("4".equals(timeType)) {
+                startTime = startTime + " 00:00:00";
+                endTime = endTime + " 23:59:59";
+                dataQueryWrapper.between("create_time", startTime, endTime);
+                return new Result(ResultCode.SUCCESS, dataMapper.listDay(dataQueryWrapper));
+            }
+            //全年
+            if ("3".equals(timeType)) {
+                DateTime dateTime = DateUtil.beginOfYear(new Date());
+                dataQueryWrapper.ge("create_date", dateTime);
+                List<EnergyGasDataVo> energyGasDataVos = dataMapper.listYear(dataQueryWrapper);
+                for (EnergyGasDataVo energyGasDataVo : energyGasDataVos) {
+                    if (energyGasDataVo.getGasValue() == null || energyGasDataVo.getGasValue() == "") {
+                        energyGasDataVo.setGasValue("0");
+                    }
+                }
+                return new Result(ResultCode.SUCCESS, energyGasDataVos);
+            }
+            //本月
+            if ("2".equals(timeType)) {
+                Date timesMonthmorning = DataUill.getTimesMonthmorning();
+                dataQueryWrapper.ge("create_date", timesMonthmorning);
+                return new Result(ResultCode.SUCCESS, dataMapper.listDay(dataQueryWrapper));
+            }
+            //本周
+            if ("1".equals(timeType)) {
+                Calendar calendar = Calendar.getInstance();
+                calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7);
+                dataQueryWrapper.ge("create_date", calendar.getTime());
+                List<EnergyGasDataVo> energyGasDataVos = dataMapper.listDay(dataQueryWrapper);
+                for (EnergyGasDataVo energyGasDataVo : energyGasDataVos) {
+                    if (energyGasDataVo.getGasValue() == null || energyGasDataVo.getGasValue() == "") {
+                        energyGasDataVo.setGasValue("0");
+                    }
+                }
+                return new Result(ResultCode.SUCCESS, energyGasDataVos);
+            }
+        }
+        return new Result(ResultCode.SUCCESS);
+    }
+
+    @Override
+    public Result listRank(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String dataType = paramsMap.get("dataType");
+        String timeType = paramsMap.get("timeType");
+        String startTime = paramsMap.get("startTime");
+        String endTime = paramsMap.get("endTime");
+        if (dataType == null || dataType == "") {
+            dataType = "1";
+        }
+        if (timeType == null || timeType == "") {
+            timeType = "3";
+        }
+        QueryWrapper<BasePigpen> basePigpenQueryWrapper = new QueryWrapper<>();
+        basePigpenQueryWrapper.eq("farm_id", farmId);
+        JSONArray jsonArray = new JSONArray();
+
+        //用水
+        if ("1".equals(dataType)) {
+            //自定义
+            if ("4".equals(timeType)) {
+                startTime = startTime + " 00:00:00";
+                endTime = endTime + " 23:59:59";
+                basePigpenQueryWrapper.eq("parent_id", 0);
+                List<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的栋舍
+                for (BasePigpen basePigpen : basePigpens) {
+                    QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
+                    queryWrapper.eq("farm_id", farmId).eq("parent_id", basePigpen.getId()).eq("f_type",2);
+                    List<BasePigpen> pigpens = basePigpenMapper.selectList(queryWrapper);//得到所有的楼层
+                    Float value = 0.00f;
+                    for (BasePigpen pigpen : pigpens) {
+                        JSONObject jsonObject = new JSONObject();
+                        QueryWrapper<BasePigpen> queryWrapper1 = new QueryWrapper<>();
+                        queryWrapper1.eq("farm_id", farmId).eq("parent_id", pigpen.getId());
+                        List<BasePigpen> basePigpens1 = basePigpenMapper.selectList(queryWrapper1);//得到所有的单元
+
+                        for (BasePigpen basePigpen1 : basePigpens1) {
+                            QueryWrapper<EnergyData> dataQueryWrapper = new QueryWrapper<>();
+                            dataQueryWrapper.eq("farm_id", farmId).eq("unit_id", basePigpen1.getId())
+                                    .between("create_date",startTime,endTime);
+                            dataQueryWrapper.select(
+                                    "IFNULL(SUM(water_value),0) waterValue  "
+                            );
+                            EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
+                            value = value + Float.parseFloat(energyData.getWaterValue()); //把所有单元的值相加
+                        }
+                        jsonObject.put("value", value);
+                        jsonObject.put("buildName", pigpen.getBuildName());
+                        jsonArray.add(jsonObject);
+                        value = 0.00f;
+                    }
+                }
+                JSONArray arraySort = jsonArraySort(jsonArray, "value", true);
+                return new Result(ResultCode.SUCCESS, arraySort);
+            }
+            //全年
+            else if ("3".equals(timeType)) {
+                DateTime dateTime = DateUtil.beginOfYear(new Date());
+                basePigpenQueryWrapper.eq("parent_id", 0);
+                List<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的栋舍
+                for (BasePigpen basePigpen : basePigpens) {
+                    QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
+                    queryWrapper.eq("farm_id", farmId).eq("parent_id", basePigpen.getId()).eq("f_type",2);
+                    List<BasePigpen> pigpens = basePigpenMapper.selectList(queryWrapper);//得到所有的楼层
+                    Float value = 0.00f;
+                    for (BasePigpen pigpen : pigpens) {
+                        JSONObject jsonObject = new JSONObject();
+                        QueryWrapper<BasePigpen> queryWrapper1 = new QueryWrapper<>();
+                        queryWrapper1.eq("farm_id", farmId).eq("parent_id", pigpen.getId());
+                        List<BasePigpen> basePigpens1 = basePigpenMapper.selectList(queryWrapper1);//得到所有的单元
+
+                        for (BasePigpen basePigpen1 : basePigpens1) {
+                            QueryWrapper<EnergyData> dataQueryWrapper = new QueryWrapper<>();
+                            dataQueryWrapper.eq("farm_id", farmId).eq("unit_id", basePigpen1.getId())
+                                    .ge("create_date",dateTime);
+                            dataQueryWrapper.select(
+                                    "IFNULL(SUM(water_value),0) waterValue  "
+                            );
+                            EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
+                            value = value + Float.parseFloat(energyData.getWaterValue()); //把所有单元的值相加
+                        }
+                        jsonObject.put("value", value);
+                        jsonObject.put("buildName", pigpen.getBuildName());
+                        jsonArray.add(jsonObject);
+                        value = 0.00f;
+                    }
+                }
+                JSONArray arraySort = jsonArraySort(jsonArray, "value", true);
+                return new Result(ResultCode.SUCCESS, arraySort);
+            }
+
+            //本月
+            else if ("2".equals(timeType)) {
+                Date timesMonthmorning = DataUill.getTimesMonthmorning();
+                basePigpenQueryWrapper.eq("parent_id", 0);
+                List<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的栋舍
+                for (BasePigpen basePigpen : basePigpens) {
+                    QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
+                    queryWrapper.eq("farm_id", farmId).eq("parent_id", basePigpen.getId()).eq("f_type",2);
+                    List<BasePigpen> pigpens = basePigpenMapper.selectList(queryWrapper);//得到所有的楼层
+                    Float value = 0.00f;
+                    for (BasePigpen pigpen : pigpens) {
+                        JSONObject jsonObject = new JSONObject();
+                        QueryWrapper<BasePigpen> queryWrapper1 = new QueryWrapper<>();
+                        queryWrapper1.eq("farm_id", farmId).eq("parent_id", pigpen.getId());
+                        List<BasePigpen> basePigpens1 = basePigpenMapper.selectList(queryWrapper1);//得到所有的单元
+
+                        for (BasePigpen basePigpen1 : basePigpens1) {
+                            QueryWrapper<EnergyData> dataQueryWrapper = new QueryWrapper<>();
+                            dataQueryWrapper.eq("farm_id", farmId).eq("unit_id", basePigpen1.getId())
+                                    .ge("create_date",timesMonthmorning);
+                            dataQueryWrapper.select(
+                                    "IFNULL(SUM(water_value),0) waterValue  "
+                            );
+                            EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
+                            value = value + Float.parseFloat(energyData.getWaterValue()); //把所有单元的值相加
+                        }
+                        jsonObject.put("value", value);
+                        jsonObject.put("buildName", pigpen.getBuildName());
+                        jsonArray.add(jsonObject);
+                        value = 0.00f;
+                    }
+                }
+                JSONArray arraySort = jsonArraySort(jsonArray, "value", true);
+                return new Result(ResultCode.SUCCESS, arraySort);
+            }
+            //本周
+            else if ("1".equals(timeType)) {
+                Calendar calendar = Calendar.getInstance();
+                calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7);
+                basePigpenQueryWrapper.eq("parent_id", 0);
+                List<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的栋舍
+                for (BasePigpen basePigpen : basePigpens) {
+                    QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
+                    queryWrapper.eq("farm_id", farmId).eq("parent_id", basePigpen.getId()).eq("f_type",2);
+                    List<BasePigpen> pigpens = basePigpenMapper.selectList(queryWrapper);//得到所有的楼层
+                    Float value = 0.00f;
+                    for (BasePigpen pigpen : pigpens) {
+                        JSONObject jsonObject = new JSONObject();
+                        QueryWrapper<BasePigpen> queryWrapper1 = new QueryWrapper<>();
+                        queryWrapper1.eq("farm_id", farmId).eq("parent_id", pigpen.getId());
+                        List<BasePigpen> basePigpens1 = basePigpenMapper.selectList(queryWrapper1);//得到所有的单元
+
+                        for (BasePigpen basePigpen1 : basePigpens1) {
+                            QueryWrapper<EnergyData> dataQueryWrapper = new QueryWrapper<>();
+                            dataQueryWrapper.eq("farm_id", farmId).eq("unit_id", basePigpen1.getId())
+                                    .ge("create_date",calendar.getTime());
+                            dataQueryWrapper.select(
+                                    "IFNULL(SUM(water_value),0) waterValue  "
+                            );
+                            EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
+                            value = value + Float.parseFloat(energyData.getWaterValue()); //把所有单元的值相加
+                        }
+                        jsonObject.put("value", value);
+                        jsonObject.put("buildName", pigpen.getBuildName());
+                        jsonArray.add(jsonObject);
+                        value = 0.00f;
+                    }
+                }
+                JSONArray arraySort = jsonArraySort(jsonArray, "value", true);
+                return new Result(ResultCode.SUCCESS, arraySort);
+            }
+        }
+        //用电
+        else if ("2".equals(dataType)) {
+            //自定义
+            if ("4".equals(timeType)) {
+                startTime = startTime + " 00:00:00";
+                endTime = endTime + " 23:59:59";
+                basePigpenQueryWrapper.eq("parent_id", 0);
+                List<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的栋舍
+                for (BasePigpen basePigpen : basePigpens) {
+                    QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
+                    queryWrapper.eq("farm_id", farmId).eq("parent_id", basePigpen.getId()).eq("f_type",2);
+                    List<BasePigpen> pigpens = basePigpenMapper.selectList(queryWrapper);//得到所有的楼层
+                    Float value = 0.00f;
+                    for (BasePigpen pigpen : pigpens) {
+                        JSONObject jsonObject = new JSONObject();
+                        QueryWrapper<BasePigpen> queryWrapper1 = new QueryWrapper<>();
+                        queryWrapper1.eq("farm_id", farmId).eq("parent_id", pigpen.getId());
+                        List<BasePigpen> basePigpens1 = basePigpenMapper.selectList(queryWrapper1);//得到所有的单元
+
+                        for (BasePigpen basePigpen1 : basePigpens1) {
+                            QueryWrapper<EnergyData> dataQueryWrapper = new QueryWrapper<>();
+                            dataQueryWrapper.eq("farm_id", farmId).eq("unit_id", basePigpen1.getId())
+                                    .between("create_date",startTime,endTime);
+                            dataQueryWrapper.select(
+                                    "IFNULL(SUM(electricity_value),0) electricityValue  "
+                            );
+                            EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
+                            value = value + Float.parseFloat(energyData.getElectricityValue()); //把所有单元的值相加
+                        }
+                        jsonObject.put("value", value);
+                        jsonObject.put("buildName", pigpen.getBuildName());
+                        jsonArray.add(jsonObject);
+                        value = 0.00f;
+                    }
+                }
+                JSONArray arraySort = jsonArraySort(jsonArray, "value", true);
+                return new Result(ResultCode.SUCCESS, arraySort);
+            }
+            //全年
+            else if ("3".equals(timeType)) {
+                DateTime dateTime = DateUtil.beginOfYear(new Date());
+                basePigpenQueryWrapper.eq("parent_id", 0);
+                List<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的栋舍
+                for (BasePigpen basePigpen : basePigpens) {
+                    QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
+                    queryWrapper.eq("farm_id", farmId).eq("parent_id", basePigpen.getId()).eq("f_type",2);
+                    List<BasePigpen> pigpens = basePigpenMapper.selectList(queryWrapper);//得到所有的楼层
+                    Float value = 0.00f;
+                    for (BasePigpen pigpen : pigpens) {
+                        JSONObject jsonObject = new JSONObject();
+                        QueryWrapper<BasePigpen> queryWrapper1 = new QueryWrapper<>();
+                        queryWrapper1.eq("farm_id", farmId).eq("parent_id", pigpen.getId());
+                        List<BasePigpen> basePigpens1 = basePigpenMapper.selectList(queryWrapper1);//得到所有的单元
+
+                        for (BasePigpen basePigpen1 : basePigpens1) {
+                            QueryWrapper<EnergyData> dataQueryWrapper = new QueryWrapper<>();
+                            dataQueryWrapper.eq("farm_id", farmId).eq("unit_id", basePigpen1.getId())
+                                    .ge("create_date",dateTime);
+                            dataQueryWrapper.select(
+                                    "IFNULL(SUM(electricity_value),0) electricityValue  "
+                            );
+                            EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
+                            value = value + Float.parseFloat(energyData.getElectricityValue()); //把所有单元的值相加
+                        }
+                        jsonObject.put("value", value);
+                        jsonObject.put("buildName", pigpen.getBuildName());
+                        jsonArray.add(jsonObject);
+                        value = 0.00f;
+                    }
+                }
+                JSONArray arraySort = jsonArraySort(jsonArray, "value", true);
+                return new Result(ResultCode.SUCCESS, arraySort);
+            }
+
+            //本月
+            else if ("2".equals(timeType)) {
+                Date timesMonthmorning = DataUill.getTimesMonthmorning();
+                basePigpenQueryWrapper.eq("parent_id", 0);
+                List<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的栋舍
+                for (BasePigpen basePigpen : basePigpens) {
+                    QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
+                    queryWrapper.eq("farm_id", farmId).eq("parent_id", basePigpen.getId()).eq("f_type",2);
+                    List<BasePigpen> pigpens = basePigpenMapper.selectList(queryWrapper);//得到所有的楼层
+                    Float value = 0.00f;
+                    for (BasePigpen pigpen : pigpens) {
+                        JSONObject jsonObject = new JSONObject();
+                        QueryWrapper<BasePigpen> queryWrapper1 = new QueryWrapper<>();
+                        queryWrapper1.eq("farm_id", farmId).eq("parent_id", pigpen.getId());
+                        List<BasePigpen> basePigpens1 = basePigpenMapper.selectList(queryWrapper1);//得到所有的单元
+
+                        for (BasePigpen basePigpen1 : basePigpens1) {
+                            QueryWrapper<EnergyData> dataQueryWrapper = new QueryWrapper<>();
+                            dataQueryWrapper.eq("farm_id", farmId).eq("unit_id", basePigpen1.getId())
+                                    .ge("create_date",timesMonthmorning);
+                            dataQueryWrapper.select(
+                                    "IFNULL(SUM(electricity_value),0) electricityValue  "
+                            );
+                            EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
+                            value = value + Float.parseFloat(energyData.getElectricityValue()); //把所有单元的值相加
+                        }
+                        jsonObject.put("value", value);
+                        jsonObject.put("buildName", pigpen.getBuildName());
+                        jsonArray.add(jsonObject);
+                        value = 0.00f;
+                    }
+                }
+                JSONArray arraySort = jsonArraySort(jsonArray, "value", true);
+                return new Result(ResultCode.SUCCESS, arraySort);
+            }
+            //本周
+            else if ("1".equals(timeType)) {
+                Calendar calendar = Calendar.getInstance();
+                calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7);
+                basePigpenQueryWrapper.eq("parent_id", 0);
+                List<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的栋舍
+                for (BasePigpen basePigpen : basePigpens) {
+                    QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
+                    queryWrapper.eq("farm_id", farmId).eq("parent_id", basePigpen.getId()).eq("f_type",2);
+                    List<BasePigpen> pigpens = basePigpenMapper.selectList(queryWrapper);//得到所有的楼层
+                    Float value = 0.00f;
+                    for (BasePigpen pigpen : pigpens) {
+                        JSONObject jsonObject = new JSONObject();
+                        QueryWrapper<BasePigpen> queryWrapper1 = new QueryWrapper<>();
+                        queryWrapper1.eq("farm_id", farmId).eq("parent_id", pigpen.getId());
+                        List<BasePigpen> basePigpens1 = basePigpenMapper.selectList(queryWrapper1);//得到所有的单元
+
+                        for (BasePigpen basePigpen1 : basePigpens1) {
+                            QueryWrapper<EnergyData> dataQueryWrapper = new QueryWrapper<>();
+                            dataQueryWrapper.eq("farm_id", farmId).eq("unit_id", basePigpen1.getId())
+                                    .ge("create_date",calendar.getTime());
+                            dataQueryWrapper.select(
+                                    "IFNULL(SUM(electricity_value),0) electricityValue  "
+                            );
+                            EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
+                            value = value + Float.parseFloat(energyData.getElectricityValue()); //把所有单元的值相加
+                        }
+                        jsonObject.put("value", value);
+                        jsonObject.put("buildName", pigpen.getBuildName());
+                        jsonArray.add(jsonObject);
+                        value = 0.00f;
+                    }
+                }
+                JSONArray arraySort = jsonArraySort(jsonArray, "value", true);
+                return new Result(ResultCode.SUCCESS, arraySort);
+            }
+        }
+        //饲料
+        else if ("3".equals(dataType)) {
+            //自定义
+            if ("4".equals(timeType)) {
+                startTime = startTime + " 00:00:00";
+                endTime = endTime + " 23:59:59";
+                basePigpenQueryWrapper.eq("parent_id", 0);
+                List<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的栋舍
+                for (BasePigpen basePigpen : basePigpens) {
+                    QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
+                    queryWrapper.eq("farm_id", farmId).eq("parent_id", basePigpen.getId()).eq("f_type", 2);
+                    List<BasePigpen> pigpens = basePigpenMapper.selectList(queryWrapper);//得到所有的楼层
+                    Float value = 0.00f;
+                    for (BasePigpen pigpen : pigpens) {
+                        JSONObject jsonObject = new JSONObject();
+                        QueryWrapper<EnergyData> dataQueryWrapper = new QueryWrapper<>();
+                        dataQueryWrapper.eq("farm_id", farmId).eq("unit_id", pigpen.getId())
+                                .between("create_date",startTime,endTime);
+                        dataQueryWrapper.select(
+                                "IFNULL(SUM(feed_value),0) feedValue  "
+                        );
+                        EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
+                        value = value + Float.parseFloat(energyData.getFeedValue()); //所有的层数据相加
+                        jsonObject.put("value", value);
+                        jsonObject.put("buildName", pigpen.getBuildName());
+                        jsonArray.add(jsonObject);
+                        value = 0.00f;
+                    }
+                }
+                JSONArray arraySort = jsonArraySort(jsonArray, "value", true);
+                return new Result(ResultCode.SUCCESS, arraySort);
+            }
+            //全年
+            else if ("3".equals(timeType)) {
+                DateTime dateTime = DateUtil.beginOfYear(new Date());
+                basePigpenQueryWrapper.eq("parent_id", 0);
+                List<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的栋舍
+                for (BasePigpen basePigpen : basePigpens) {
+                    QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
+                    queryWrapper.eq("farm_id", farmId).eq("parent_id", basePigpen.getId()).eq("f_type", 2);
+                    List<BasePigpen> pigpens = basePigpenMapper.selectList(queryWrapper);//得到所有的楼层
+                    Float value = 0.00f;
+                    for (BasePigpen pigpen : pigpens) {
+                        JSONObject jsonObject = new JSONObject();
+                        QueryWrapper<EnergyData> dataQueryWrapper = new QueryWrapper<>();
+                        dataQueryWrapper.eq("farm_id", farmId).eq("unit_id", pigpen.getId())
+                                .ge("create_date",dateTime);
+                        dataQueryWrapper.select(
+                                "IFNULL(SUM(feed_value),0) feedValue  "
+                        );
+                        EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
+                        value = value + Float.parseFloat(energyData.getFeedValue()); //所有的层数据相加
+                        jsonObject.put("value", value);
+                        jsonObject.put("buildName", pigpen.getBuildName());
+                        jsonArray.add(jsonObject);
+                        value = 0.00f;
+                    }
+                }
+                JSONArray arraySort = jsonArraySort(jsonArray, "value", true);
+                return new Result(ResultCode.SUCCESS, arraySort);
+            }
+            //本月
+            else if ("2".equals(timeType)) {
+                Date timesMonthmorning = DataUill.getTimesMonthmorning();
+                basePigpenQueryWrapper.eq("parent_id", 0);
+                List<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的栋舍
+                for (BasePigpen basePigpen : basePigpens) {
+                    QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
+                    queryWrapper.eq("farm_id", farmId).eq("parent_id", basePigpen.getId()).eq("f_type", 2);
+                    List<BasePigpen> pigpens = basePigpenMapper.selectList(queryWrapper);//得到所有的楼层
+                    Float value = 0.00f;
+                    for (BasePigpen pigpen : pigpens) {
+                        JSONObject jsonObject = new JSONObject();
+                        QueryWrapper<EnergyData> dataQueryWrapper = new QueryWrapper<>();
+                        dataQueryWrapper.eq("farm_id", farmId).eq("unit_id", pigpen.getId())
+                                .ge("create_date",timesMonthmorning);
+                        dataQueryWrapper.select(
+                                "IFNULL(SUM(feed_value),0) feedValue  "
+                        );
+                        EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
+                        value = value + Float.parseFloat(energyData.getFeedValue()); //所有的层数据相加
+                        jsonObject.put("value", value);
+                        jsonObject.put("buildName", pigpen.getBuildName());
+                        jsonArray.add(jsonObject);
+                        value = 0.00f;
+                    }
+                }
+                JSONArray arraySort = jsonArraySort(jsonArray, "value", true);
+                return new Result(ResultCode.SUCCESS, arraySort);
+            }
+            //本周
+            else if ("1".equals(timeType)) {
+                Calendar calendar = Calendar.getInstance();
+                calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7);
+                basePigpenQueryWrapper.eq("parent_id", 0);
+                List<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的栋舍
+                for (BasePigpen basePigpen : basePigpens) {
+                    QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
+                    queryWrapper.eq("farm_id", farmId).eq("parent_id", basePigpen.getId()).eq("f_type", 2);
+                    List<BasePigpen> pigpens = basePigpenMapper.selectList(queryWrapper);//得到所有的楼层
+                    Float value = 0.00f;
+                    for (BasePigpen pigpen : pigpens) {
+                        JSONObject jsonObject = new JSONObject();
+                        QueryWrapper<EnergyData> dataQueryWrapper = new QueryWrapper<>();
+                        dataQueryWrapper.eq("farm_id", farmId).eq("unit_id", pigpen.getId())
+                                .ge("create_date",calendar.getTime());
+                        dataQueryWrapper.select(
+                                "IFNULL(SUM(feed_value),0) feedValue  "
+                        );
+                        EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
+                        value = value + Float.parseFloat(energyData.getFeedValue()); //所有的层数据相加
+                        jsonObject.put("value", value);
+                        jsonObject.put("buildName", pigpen.getBuildName());
+                        jsonArray.add(jsonObject);
+                        value = 0.00f;
+                    }
+                }
+                JSONArray arraySort = jsonArraySort(jsonArray, "value", true);
+                return new Result(ResultCode.SUCCESS, arraySort);
+            }
+        }
+        //天然气
+        else if ("4".equals(dataType)) {
+            //自定义
+            if ("4".equals(timeType)) {
+                startTime = startTime + " 00:00:00";
+                endTime = endTime + " 23:59:59";
+                basePigpenQueryWrapper.eq("parent_id", 0);
+                List<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的栋舍
+                for (BasePigpen basePigpen : basePigpens) {
+                    QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
+                    queryWrapper.eq("farm_id", farmId).eq("parent_id", basePigpen.getId()).eq("f_type", 2);
+                    List<BasePigpen> pigpens = basePigpenMapper.selectList(queryWrapper);//得到所有的楼层
+                    Float value = 0.00f;
+                    for (BasePigpen pigpen : pigpens) {
+                        JSONObject jsonObject = new JSONObject();
+                        QueryWrapper<EnergyData> dataQueryWrapper = new QueryWrapper<>();
+                        dataQueryWrapper.eq("farm_id", farmId).eq("unit_id", pigpen.getId())
+                                .between("create_date",startTime,endTime);
+                        dataQueryWrapper.select(
+                                "IFNULL(SUM(gas_value),0) gasValue  "
+                        );
+                        EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
+                        value = value + Float.parseFloat(energyData.getGasValue()); //所有的层数据相加
+                        jsonObject.put("value", value);
+                        jsonObject.put("buildName", pigpen.getBuildName());
+                        jsonArray.add(jsonObject);
+                        value = 0.00f;
+                    }
+                }
+                JSONArray arraySort = jsonArraySort(jsonArray, "value", true);
+                return new Result(ResultCode.SUCCESS, arraySort);
+            }
+            //全年
+            else if ("3".equals(timeType)) {
+                DateTime dateTime = DateUtil.beginOfYear(new Date());
+                basePigpenQueryWrapper.eq("parent_id", 0);
+                List<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的栋舍
+                for (BasePigpen basePigpen : basePigpens) {
+                    QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
+                    queryWrapper.eq("farm_id", farmId).eq("parent_id", basePigpen.getId()).eq("f_type", 2);
+                    List<BasePigpen> pigpens = basePigpenMapper.selectList(queryWrapper);//得到所有的楼层
+                    Float value = 0.00f;
+                    for (BasePigpen pigpen : pigpens) {
+                        JSONObject jsonObject = new JSONObject();
+                        QueryWrapper<EnergyData> dataQueryWrapper = new QueryWrapper<>();
+                        dataQueryWrapper.eq("farm_id", farmId).eq("unit_id", pigpen.getId())
+                                .ge("create_date",dateTime);
+                        dataQueryWrapper.select(
+                                "IFNULL(SUM(gas_value),0) gasValue  "
+                        );
+                        EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
+                        value = value + Float.parseFloat(energyData.getGasValue()); //所有的层数据相加
+                        jsonObject.put("value", value);
+                        jsonObject.put("buildName", pigpen.getBuildName());
+                        jsonArray.add(jsonObject);
+                        value = 0.00f;
+                    }
+                }
+                JSONArray arraySort = jsonArraySort(jsonArray, "value", true);
+                return new Result(ResultCode.SUCCESS, arraySort);
+            }
+            //本月
+            else if ("2".equals(timeType)) {
+                Date timesMonthmorning = DataUill.getTimesMonthmorning();
+                basePigpenQueryWrapper.eq("parent_id", 0);
+                List<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的栋舍
+                for (BasePigpen basePigpen : basePigpens) {
+                    QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
+                    queryWrapper.eq("farm_id", farmId).eq("parent_id", basePigpen.getId()).eq("f_type", 2);
+                    List<BasePigpen> pigpens = basePigpenMapper.selectList(queryWrapper);//得到所有的楼层
+                    Float value = 0.00f;
+                    for (BasePigpen pigpen : pigpens) {
+                        JSONObject jsonObject = new JSONObject();
+                        QueryWrapper<EnergyData> dataQueryWrapper = new QueryWrapper<>();
+                        dataQueryWrapper.eq("farm_id", farmId).eq("unit_id", pigpen.getId())
+                                .ge("create_date",timesMonthmorning);
+                        dataQueryWrapper.select(
+                                "IFNULL(SUM(gas_value),0) gasValue  "
+                        );
+                        EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
+                        value = value + Float.parseFloat(energyData.getGasValue()); //所有的层数据相加
+                        jsonObject.put("value", value);
+                        jsonObject.put("buildName", pigpen.getBuildName());
+                        jsonArray.add(jsonObject);
+                        value = 0.00f;
+                    }
+                }
+                JSONArray arraySort = jsonArraySort(jsonArray, "value", true);
+                return new Result(ResultCode.SUCCESS, arraySort);
+            }
+            //本周
+            else if ("1".equals(timeType)) {
+                Calendar calendar = Calendar.getInstance();
+                calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7);
+                basePigpenQueryWrapper.eq("parent_id", 0);
+                List<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的栋舍
+                for (BasePigpen basePigpen : basePigpens) {
+                    QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
+                    queryWrapper.eq("farm_id", farmId).eq("parent_id", basePigpen.getId()).eq("f_type", 2);
+                    List<BasePigpen> pigpens = basePigpenMapper.selectList(queryWrapper);//得到所有的楼层
+                    Float value = 0.00f;
+                    for (BasePigpen pigpen : pigpens) {
+                        JSONObject jsonObject = new JSONObject();
+                        QueryWrapper<EnergyData> dataQueryWrapper = new QueryWrapper<>();
+                        dataQueryWrapper.eq("farm_id", farmId).eq("unit_id", pigpen.getId())
+                                .ge("create_date",calendar.getTime());
+                        dataQueryWrapper.select(
+                                "IFNULL(SUM(gas_value),0) gasValue  "
+                        );
+                        EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
+                        value = value + Float.parseFloat(energyData.getGasValue()); //所有的层数据相加
+                        jsonObject.put("value", value);
+                        jsonObject.put("buildName", pigpen.getBuildName());
+                        jsonArray.add(jsonObject);
+                        value = 0.00f;
+                    }
+                }
+                JSONArray arraySort = jsonArraySort(jsonArray, "value", true);
+                return new Result(ResultCode.SUCCESS, arraySort);
+            }
+        }
+
+
+
+        return new Result(ResultCode.SUCCESS);
+    }
+
+
+    /*数组排序*/
+    public static JSONArray jsonArraySort(JSONArray jsonArr,String sortKey,boolean is_desc) {
+        //存放排序结果json数组
+        JSONArray sortedJsonArray = new JSONArray();
+        //用于排序的list
+        List<JSONObject> jsonValues = new ArrayList<JSONObject>();
+        //将参数json数组每一项取出,放入list
+        for (int i = 0; i < jsonArr.size(); i++) {
+            jsonValues.add(jsonArr.getJSONObject(i));
+        }
+        //快速排序,重写compare方法,完成按指定字段比较,完成排序
+        Collections.sort(jsonValues, new Comparator<JSONObject>() {
+            //排序字段
+            private  final String KEY_NAME = sortKey;
+            //重写compare方法
+            @Override
+            public int compare(JSONObject a, JSONObject b) {
+                //如果用String接会导致一位数和两位数混合比对的时候不能准确比出来,要用int类型接
+                //String valA = new String();
+                //String valB = new String();
+                Float valA = 0.00f;
+                Float valB = 0.00f;
+                try {
+                    valA = Float.parseFloat(a.getString(KEY_NAME));
+                    valB = Float.parseFloat(b.getString(KEY_NAME));
+                } catch (JSONException e) {
+                    e.printStackTrace();
+                }
+                //是升序还是降序
+                if (is_desc){
+                    return -valA.compareTo(valB);
+                } else {
+                    return -valB.compareTo(valA);
+                }
+
+            }
+        });
+        //将排序后结果放入结果jsonArray
+        for (int i = 0; i < jsonArr.size(); i++) {
+            sortedJsonArray.add(jsonValues.get(i));
+        }
+        return sortedJsonArray;
+    }
+
 }

+ 4 - 2
huimv-admin/src/main/java/com/huimv/admin/service/impl/EnergyElectricityServiceImpl.java

@@ -22,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -148,8 +149,9 @@ public class EnergyElectricityServiceImpl extends ServiceImpl<EnergyElectricityM
         }
         //本周
         else if ("1".equals(type)) {
-            DateTime dateTime = DateUtil.beginOfWeek(new Date());
-            queryWrapper.ge("create_date", dateTime);
+            Calendar calendar = Calendar.getInstance();
+            calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7);
+            queryWrapper.ge("create_date", calendar.getTime());
             List<EnergyElectricityDataVo> energyElectricityDataVos = dataMapper.listDay4(queryWrapper);
             for (EnergyElectricityDataVo energyElectricityDataVo : energyElectricityDataVos) {
                 if (energyElectricityDataVo.getElectricityValue() == null || energyElectricityDataVo.getElectricityValue() == "") {

+ 4 - 2
huimv-admin/src/main/java/com/huimv/admin/service/impl/EnergyFeedServiceImpl.java

@@ -22,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -143,8 +144,9 @@ public class EnergyFeedServiceImpl extends ServiceImpl<EnergyFeedMapper, EnergyF
         }
         //本周
         else if ("1".equals(type)) {
-            DateTime dateTime = DateUtil.beginOfWeek(new Date());
-            queryWrapper.ge("create_date", dateTime);
+            Calendar calendar = Calendar.getInstance();
+            calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7);
+            queryWrapper.ge("create_date", calendar.getTime());
             List<EnergyFeedDataVo> energyFeedDataVos = dataMapper.listDay2(queryWrapper);
             for (EnergyFeedDataVo energyFeedDataVo : energyFeedDataVos) {
                 if (energyFeedDataVo.getFeedValue() == null || energyFeedDataVo.getFeedValue() == "") {

+ 4 - 2
huimv-admin/src/main/java/com/huimv/admin/service/impl/EnergyGasServiceImpl.java

@@ -23,6 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -148,8 +149,9 @@ public class EnergyGasServiceImpl extends ServiceImpl<EnergyGasMapper, EnergyGas
         }
         //本周
         else if ("1".equals(type)) {
-            DateTime dateTime = DateUtil.beginOfWeek(new Date());
-            queryWrapper.ge("create_date", dateTime);
+            Calendar calendar = Calendar.getInstance();
+            calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7);
+            queryWrapper.ge("create_date", calendar.getTime());
             List<EnergyGasDataVo> energyGasDataVos = dataMapper.listDay(queryWrapper);
             for (EnergyGasDataVo energyGasDataVo : energyGasDataVos) {
                 if (energyGasDataVo.getGasValue() == null || energyGasDataVo.getGasValue() == "") {

+ 4 - 2
huimv-admin/src/main/java/com/huimv/admin/service/impl/EnergyWaterServiceImpl.java

@@ -22,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -151,8 +152,9 @@ public class EnergyWaterServiceImpl extends ServiceImpl<EnergyWaterMapper, Energ
         }
         //本周
         else if ("1".equals(type)) {
-            DateTime dateTime = DateUtil.beginOfWeek(new Date());
-            queryWrapper.ge("create_date", dateTime);
+            Calendar calendar = Calendar.getInstance();
+            calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7);
+            queryWrapper.ge("create_date", calendar.getTime());
             List<EnergyWaterDataVo> energyWaterDataVos = dataMapper.listDay3(queryWrapper);
             for (EnergyWaterDataVo energyWaterDataVo : energyWaterDataVos) {
                 if (energyWaterDataVo.getWaterValue() == null || energyWaterDataVo.getWaterValue() == "") {