浏览代码

能耗统计排名修改

wwh 2 年之前
父节点
当前提交
440fc903e4
共有 1 个文件被更改,包括 282 次插入192 次删除
  1. 282 192
      huimv-admin/src/main/java/com/huimv/admin/service/impl/EnergyDataServiceImpl.java

+ 282 - 192
huimv-admin/src/main/java/com/huimv/admin/service/impl/EnergyDataServiceImpl.java

@@ -266,7 +266,7 @@ public class EnergyDataServiceImpl extends ServiceImpl<EnergyDataMapper, EnergyD
                 Float value = 0.00f;
                 List<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的栋舍
                 QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
-                queryWrapper.eq("farm_id",farmId).in("other2",basePigpens);
+                queryWrapper.eq("farm_id", farmId).in("other2", basePigpens);
                 List<BasePigpen> basePigpens1 = basePigpenMapper.selectList(queryWrapper);//得到所有下属的楼层和单元
                 System.out.println(basePigpens1);
                 for (BasePigpen basePigpen : basePigpens1) { //查找数据,到单元层次
@@ -301,7 +301,7 @@ public class EnergyDataServiceImpl extends ServiceImpl<EnergyDataMapper, EnergyD
                 List<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的栋舍
                 for (BasePigpen basePigpen : basePigpens) {
                     QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
-                    queryWrapper.eq("farm_id",farmId).like("other2",basePigpen.getId());
+                    queryWrapper.eq("farm_id", farmId).like("other2", basePigpen.getId());
                     List<BasePigpen> selectList = basePigpenMapper.selectList(queryWrapper);//所有下属
                     for (BasePigpen pigpen : selectList) {
                         QueryWrapper<EnergyData> dataQueryWrapper = new QueryWrapper<>();
@@ -311,7 +311,7 @@ public class EnergyDataServiceImpl extends ServiceImpl<EnergyDataMapper, EnergyD
                                 "IFNULL(SUM(water_value),'0') waterValue  "
                         );
                         EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
-                        if (Float.parseFloat(energyData.getWaterValue())!=0.0f) {
+                        if (Float.parseFloat(energyData.getWaterValue()) != 0.0f) {
                             value = value + Float.parseFloat(energyData.getWaterValue());
                             QueryWrapper<BasePigpen> queryWrapper1 = new QueryWrapper<>();
                             queryWrapper1.eq("id", pigpen.getParentId()).eq("farm_id", farmId);
@@ -558,27 +558,34 @@ public class EnergyDataServiceImpl extends ServiceImpl<EnergyDataMapper, EnergyD
                 List<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的栋舍
                 for (BasePigpen basePigpen : basePigpens) {
                     QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
-                    queryWrapper.eq("farm_id", farmId).like("other2",basePigpen.getId());
+                    queryWrapper.eq("farm_id", farmId).like("other2", 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);
-                        if (Float.parseFloat(energyData.getFeedValue())!=0.0f) {
-                            value = value + Float.parseFloat(energyData.getFeedValue());
-                            QueryWrapper<BasePigpen> queryWrapper1 = new QueryWrapper<>();
-                            queryWrapper1.eq("id", pigpen.getParentId()).eq("farm_id", farmId);
-                            BasePigpen basePigpen1 = basePigpenMapper.selectOne(queryWrapper1);
-                            jsonObject.put("value", value);
-                            jsonObject.put("buildName", basePigpen1.getBuildName());
-                            jsonArray.add(jsonObject);
-                            value = 0.00f;
+                    for (BasePigpen pigpen : pigpens) { //一层 二层
+                        QueryWrapper<BasePigpen> queryWrapper1 = new QueryWrapper<>();
+                        queryWrapper1.like("other2", pigpen.getId()).eq("farm_id", farmId);
+                        List<BasePigpen> basePigpens1 = basePigpenMapper.selectList(queryWrapper1);//所有单元
+                        for (BasePigpen pigpen1 : basePigpens1) {
+                            JSONObject jsonObject = new JSONObject();
+                            QueryWrapper<EnergyData> dataQueryWrapper = new QueryWrapper<>();
+                            dataQueryWrapper.eq("farm_id", farmId).eq("unit_id", pigpen1.getId())
+                                    .between("create_date",startTime,endTime );
+                            dataQueryWrapper.select(
+                                    "IFNULL(SUM(feed_value),0) feedValue  "
+                            );
+                            EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
+                            if (Float.parseFloat(energyData.getFeedValue()) != 0.0f) {
+                                value = value + Float.parseFloat(energyData.getFeedValue());
+                                jsonObject.put("value", value);
+                                jsonObject.put("buildName", pigpen.getBuildName());
+                                jsonArray.add(jsonObject);
+                                value = 0.00f;
+                            } else {
+                                jsonObject.put("value", 0);
+                                jsonObject.put("buildName", pigpen.getBuildName());
+                                jsonArray.add(jsonObject);
+                                value = 0.00f;
+                            }
                         }
                     }
                 }
@@ -592,27 +599,34 @@ public class EnergyDataServiceImpl extends ServiceImpl<EnergyDataMapper, EnergyD
                 List<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的栋舍
                 for (BasePigpen basePigpen : basePigpens) {
                     QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
-                    queryWrapper.eq("farm_id", farmId).like("other2",basePigpen.getId());
+                    queryWrapper.eq("farm_id", farmId).like("other2", 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);
-                        if (Float.parseFloat(energyData.getFeedValue())!=0.0f) {
-                            value = value + Float.parseFloat(energyData.getFeedValue());
-                            QueryWrapper<BasePigpen> queryWrapper1 = new QueryWrapper<>();
-                            queryWrapper1.eq("id", pigpen.getParentId()).eq("farm_id", farmId);
-                            BasePigpen basePigpen1 = basePigpenMapper.selectOne(queryWrapper1);
-                            jsonObject.put("value", value);
-                            jsonObject.put("buildName", basePigpen1.getBuildName());
-                            jsonArray.add(jsonObject);
-                            value = 0.00f;
+                    for (BasePigpen pigpen : pigpens) { //一层 二层
+                        QueryWrapper<BasePigpen> queryWrapper1 = new QueryWrapper<>();
+                        queryWrapper1.like("other2", pigpen.getId()).eq("farm_id", farmId);
+                        List<BasePigpen> basePigpens1 = basePigpenMapper.selectList(queryWrapper1);//所有单元
+                        for (BasePigpen pigpen1 : basePigpens1) {
+                            JSONObject jsonObject = new JSONObject();
+                            QueryWrapper<EnergyData> dataQueryWrapper = new QueryWrapper<>();
+                            dataQueryWrapper.eq("farm_id", farmId).eq("unit_id", pigpen1.getId())
+                                    .ge("create_date", dateTime);
+                            dataQueryWrapper.select(
+                                    "IFNULL(SUM(feed_value),0) feedValue  "
+                            );
+                            EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
+                            if (Float.parseFloat(energyData.getFeedValue()) != 0.0f) {
+                                value = value + Float.parseFloat(energyData.getFeedValue());
+                                jsonObject.put("value", value);
+                                jsonObject.put("buildName", pigpen.getBuildName());
+                                jsonArray.add(jsonObject);
+                                value = 0.00f;
+                            } else {
+                                jsonObject.put("value", 0);
+                                jsonObject.put("buildName", pigpen.getBuildName());
+                                jsonArray.add(jsonObject);
+                                value = 0.00f;
+                            }
                         }
                     }
                 }
@@ -626,27 +640,34 @@ public class EnergyDataServiceImpl extends ServiceImpl<EnergyDataMapper, EnergyD
                 List<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的栋舍
                 for (BasePigpen basePigpen : basePigpens) {
                     QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
-                    queryWrapper.eq("farm_id", farmId).like("other2",basePigpen.getId());
+                    queryWrapper.eq("farm_id", farmId).like("other2", 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);
-                        if (Float.parseFloat(energyData.getFeedValue())!=0.0f) {
-                            value = value + Float.parseFloat(energyData.getFeedValue());
-                            QueryWrapper<BasePigpen> queryWrapper1 = new QueryWrapper<>();
-                            queryWrapper1.eq("id", pigpen.getParentId()).eq("farm_id", farmId);
-                            BasePigpen basePigpen1 = basePigpenMapper.selectOne(queryWrapper1);
-                            jsonObject.put("value", value);
-                            jsonObject.put("buildName", basePigpen1.getBuildName());
-                            jsonArray.add(jsonObject);
-                            value = 0.00f;
+                    for (BasePigpen pigpen : pigpens) { //一层 二层
+                        QueryWrapper<BasePigpen> queryWrapper1 = new QueryWrapper<>();
+                        queryWrapper1.like("other2", pigpen.getId()).eq("farm_id", farmId);
+                        List<BasePigpen> basePigpens1 = basePigpenMapper.selectList(queryWrapper1);//所有单元
+                        for (BasePigpen pigpen1 : basePigpens1) {
+                            JSONObject jsonObject = new JSONObject();
+                            QueryWrapper<EnergyData> dataQueryWrapper = new QueryWrapper<>();
+                            dataQueryWrapper.eq("farm_id", farmId).eq("unit_id", pigpen1.getId())
+                                    .ge("create_date", timesMonthmorning);
+                            dataQueryWrapper.select(
+                                    "IFNULL(SUM(feed_value),0) feedValue  "
+                            );
+                            EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
+                            if (Float.parseFloat(energyData.getFeedValue()) != 0.0f) {
+                                value = value + Float.parseFloat(energyData.getFeedValue());
+                                jsonObject.put("value", value);
+                                jsonObject.put("buildName", pigpen.getBuildName());
+                                jsonArray.add(jsonObject);
+                                value = 0.00f;
+                            } else {
+                                jsonObject.put("value", 0);
+                                jsonObject.put("buildName", pigpen.getBuildName());
+                                jsonArray.add(jsonObject);
+                                value = 0.00f;
+                            }
                         }
                     }
                 }
@@ -659,34 +680,36 @@ public class EnergyDataServiceImpl extends ServiceImpl<EnergyDataMapper, EnergyD
                 calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7);
                 basePigpenQueryWrapper.eq("parent_id", 0);
                 List<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的栋舍
-                for (BasePigpen basePigpen : basePigpens) {
+                for (BasePigpen basePigpen : basePigpens) { //一栋
                     QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
-                    queryWrapper.eq("farm_id", farmId).like("other2",basePigpen.getId());
+                    queryWrapper.eq("farm_id", farmId).like("other2", 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);
-
+                    for (BasePigpen pigpen : pigpens) { //一层 二层
                         QueryWrapper<BasePigpen> queryWrapper1 = new QueryWrapper<>();
-                        queryWrapper1.eq("id", pigpen.getParentId()).eq("farm_id", farmId);
-                        BasePigpen basePigpen1 = basePigpenMapper.selectOne(queryWrapper1);
-                        if (Float.parseFloat(energyData.getFeedValue()) != 0.0f) {
-                            value = value + Float.parseFloat(energyData.getFeedValue());
-                            jsonObject.put("value", value);
-                            jsonObject.put("buildName", basePigpen1.getBuildName());
-                            jsonArray.add(jsonObject);
-                            value = 0.00f;
-                        } else {
-                            jsonObject.put("value", 0);
-                            jsonObject.put("buildName", basePigpen1.getBuildName());
-                            jsonArray.add(jsonObject);
+                        queryWrapper1.like("other2", pigpen.getId()).eq("farm_id", farmId);
+                        List<BasePigpen> basePigpens1 = basePigpenMapper.selectList(queryWrapper1);//所有单元
+                        for (BasePigpen pigpen1 : basePigpens1) {
+                            JSONObject jsonObject = new JSONObject();
+                            QueryWrapper<EnergyData> dataQueryWrapper = new QueryWrapper<>();
+                            dataQueryWrapper.eq("farm_id", farmId).eq("unit_id", pigpen1.getId())
+                                    .ge("create_date", calendar.getTime());
+                            dataQueryWrapper.select(
+                                    "IFNULL(SUM(feed_value),0) feedValue  "
+                            );
+                            EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
+                            if (Float.parseFloat(energyData.getFeedValue()) != 0.0f) {
+                                value = value + Float.parseFloat(energyData.getFeedValue());
+                                jsonObject.put("value", value);
+                                jsonObject.put("buildName", pigpen.getBuildName());
+                                jsonArray.add(jsonObject);
+                                value = 0.00f;
+                            } else {
+                                jsonObject.put("value", 0);
+                                jsonObject.put("buildName", pigpen.getBuildName());
+                                jsonArray.add(jsonObject);
+                                value = 0.00f;
+                            }
                         }
                     }
                 }
@@ -704,27 +727,34 @@ public class EnergyDataServiceImpl extends ServiceImpl<EnergyDataMapper, EnergyD
                 List<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的栋舍
                 for (BasePigpen basePigpen : basePigpens) {
                     QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
-                    queryWrapper.eq("farm_id", farmId).like("other2",basePigpen.getId());
+                    queryWrapper.eq("farm_id", farmId).like("other2", 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);
-                        if (Float.parseFloat(energyData.getGasValue())!=0.0f) {
-                            value = value + Float.parseFloat(energyData.getGasValue());
-                            QueryWrapper<BasePigpen> queryWrapper1 = new QueryWrapper<>();
-                            queryWrapper1.eq("id", pigpen.getParentId()).eq("farm_id", farmId);
-                            BasePigpen basePigpen1 = basePigpenMapper.selectOne(queryWrapper1);
-                            jsonObject.put("value", value);
-                            jsonObject.put("buildName", basePigpen1.getBuildName());
-                            jsonArray.add(jsonObject);
-                            value = 0.00f;
+                    for (BasePigpen pigpen : pigpens) { //一层 二层
+                        QueryWrapper<BasePigpen> queryWrapper1 = new QueryWrapper<>();
+                        queryWrapper1.like("other2", pigpen.getId()).eq("farm_id", farmId);
+                        List<BasePigpen> basePigpens1 = basePigpenMapper.selectList(queryWrapper1);//所有单元
+                        for (BasePigpen pigpen1 : basePigpens1) {
+                            JSONObject jsonObject = new JSONObject();
+                            QueryWrapper<EnergyData> dataQueryWrapper = new QueryWrapper<>();
+                            dataQueryWrapper.eq("farm_id", farmId).eq("unit_id", pigpen1.getId())
+                                    .between("create_date", startTime,endTime);
+                            dataQueryWrapper.select(
+                                    "IFNULL(SUM(gas_value),0) gasValue  "
+                            );
+                            EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
+                            if (Float.parseFloat(energyData.getGasValue()) != 0.0f) {
+                                value = value + Float.parseFloat(energyData.getGasValue());
+                                jsonObject.put("value", value);
+                                jsonObject.put("buildName", pigpen.getBuildName());
+                                jsonArray.add(jsonObject);
+                                value = 0.00f;
+                            } else {
+                                jsonObject.put("value", 0);
+                                jsonObject.put("buildName", pigpen.getBuildName());
+                                jsonArray.add(jsonObject);
+                                value = 0.00f;
+                            }
                         }
                     }
                 }
@@ -738,27 +768,34 @@ public class EnergyDataServiceImpl extends ServiceImpl<EnergyDataMapper, EnergyD
                 List<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的栋舍
                 for (BasePigpen basePigpen : basePigpens) {
                     QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
-                    queryWrapper.eq("farm_id", farmId).like("other2",basePigpen.getId());
+                    queryWrapper.eq("farm_id", farmId).like("other2", 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);
-                        if (Float.parseFloat(energyData.getGasValue())!=0.0f) {
-                            value = value + Float.parseFloat(energyData.getGasValue());
-                            QueryWrapper<BasePigpen> queryWrapper1 = new QueryWrapper<>();
-                            queryWrapper1.eq("id", pigpen.getParentId()).eq("farm_id", farmId);
-                            BasePigpen basePigpen1 = basePigpenMapper.selectOne(queryWrapper1);
-                            jsonObject.put("value", value);
-                            jsonObject.put("buildName", basePigpen1.getBuildName());
-                            jsonArray.add(jsonObject);
-                            value = 0.00f;
+                    for (BasePigpen pigpen : pigpens) { //一层 二层
+                        QueryWrapper<BasePigpen> queryWrapper1 = new QueryWrapper<>();
+                        queryWrapper1.like("other2", pigpen.getId()).eq("farm_id", farmId);
+                        List<BasePigpen> basePigpens1 = basePigpenMapper.selectList(queryWrapper1);//所有单元
+                        for (BasePigpen pigpen1 : basePigpens1) {
+                            JSONObject jsonObject = new JSONObject();
+                            QueryWrapper<EnergyData> dataQueryWrapper = new QueryWrapper<>();
+                            dataQueryWrapper.eq("farm_id", farmId).eq("unit_id", pigpen1.getId())
+                                    .ge("create_date", dateTime);
+                            dataQueryWrapper.select(
+                                    "IFNULL(SUM(gas_value),0) gasValue  "
+                            );
+                            EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
+                            if (Float.parseFloat(energyData.getGasValue()) != 0.0f) {
+                                value = value + Float.parseFloat(energyData.getGasValue());
+                                jsonObject.put("value", value);
+                                jsonObject.put("buildName", pigpen.getBuildName());
+                                jsonArray.add(jsonObject);
+                                value = 0.00f;
+                            } else {
+                                jsonObject.put("value", 0);
+                                jsonObject.put("buildName", pigpen.getBuildName());
+                                jsonArray.add(jsonObject);
+                                value = 0.00f;
+                            }
                         }
                     }
                 }
@@ -772,27 +809,34 @@ public class EnergyDataServiceImpl extends ServiceImpl<EnergyDataMapper, EnergyD
                 List<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的栋舍
                 for (BasePigpen basePigpen : basePigpens) {
                     QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
-                    queryWrapper.eq("farm_id", farmId).like("other2",basePigpen.getId());
+                    queryWrapper.eq("farm_id", farmId).like("other2", 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);
-                        if (Float.parseFloat(energyData.getGasValue())!=0.0f) {
-                            value = value + Float.parseFloat(energyData.getGasValue());
-                            QueryWrapper<BasePigpen> queryWrapper1 = new QueryWrapper<>();
-                            queryWrapper1.eq("id", pigpen.getParentId()).eq("farm_id", farmId);
-                            BasePigpen basePigpen1 = basePigpenMapper.selectOne(queryWrapper1);
-                            jsonObject.put("value", value);
-                            jsonObject.put("buildName", basePigpen1.getBuildName());
-                            jsonArray.add(jsonObject);
-                            value = 0.00f;
+                    for (BasePigpen pigpen : pigpens) { //一层 二层
+                        QueryWrapper<BasePigpen> queryWrapper1 = new QueryWrapper<>();
+                        queryWrapper1.like("other2", pigpen.getId()).eq("farm_id", farmId);
+                        List<BasePigpen> basePigpens1 = basePigpenMapper.selectList(queryWrapper1);//所有单元
+                        for (BasePigpen pigpen1 : basePigpens1) {
+                            JSONObject jsonObject = new JSONObject();
+                            QueryWrapper<EnergyData> dataQueryWrapper = new QueryWrapper<>();
+                            dataQueryWrapper.eq("farm_id", farmId).eq("unit_id", pigpen1.getId())
+                                    .ge("create_date", timesMonthmorning);
+                            dataQueryWrapper.select(
+                                    "IFNULL(SUM(gas_value),0) gasValue  "
+                            );
+                            EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
+                            if (Float.parseFloat(energyData.getGasValue()) != 0.0f) {
+                                value = value + Float.parseFloat(energyData.getGasValue());
+                                jsonObject.put("value", value);
+                                jsonObject.put("buildName", pigpen.getBuildName());
+                                jsonArray.add(jsonObject);
+                                value = 0.00f;
+                            } else {
+                                jsonObject.put("value", 0);
+                                jsonObject.put("buildName", pigpen.getBuildName());
+                                jsonArray.add(jsonObject);
+                                value = 0.00f;
+                            }
                         }
                     }
                 }
@@ -808,27 +852,34 @@ public class EnergyDataServiceImpl extends ServiceImpl<EnergyDataMapper, EnergyD
                 List<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的栋舍
                 for (BasePigpen basePigpen : basePigpens) {
                     QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
-                    queryWrapper.eq("farm_id", farmId).like("other2",basePigpen.getId());
+                    queryWrapper.eq("farm_id", farmId).like("other2", 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);
-                        if (Float.parseFloat(energyData.getGasValue())!=0.0f) {
-                            value = value + Float.parseFloat(energyData.getGasValue());
-                            QueryWrapper<BasePigpen> queryWrapper1 = new QueryWrapper<>();
-                            queryWrapper1.eq("id", pigpen.getParentId()).eq("farm_id", farmId);
-                            BasePigpen basePigpen1 = basePigpenMapper.selectOne(queryWrapper1);
-                            jsonObject.put("value", value);
-                            jsonObject.put("buildName", basePigpen1.getBuildName());
-                            jsonArray.add(jsonObject);
-                            value = 0.00f;
+                    for (BasePigpen pigpen : pigpens) { //一层 二层
+                        QueryWrapper<BasePigpen> queryWrapper1 = new QueryWrapper<>();
+                        queryWrapper1.like("other2", pigpen.getId()).eq("farm_id", farmId);
+                        List<BasePigpen> basePigpens1 = basePigpenMapper.selectList(queryWrapper1);//所有单元
+                        for (BasePigpen pigpen1 : basePigpens1) {
+                            JSONObject jsonObject = new JSONObject();
+                            QueryWrapper<EnergyData> dataQueryWrapper = new QueryWrapper<>();
+                            dataQueryWrapper.eq("farm_id", farmId).eq("unit_id", pigpen1.getId())
+                                    .ge("create_date", calendar.getTime());
+                            dataQueryWrapper.select(
+                                    "IFNULL(SUM(gas_value),0) gasValue  "
+                            );
+                            EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
+                            if (Float.parseFloat(energyData.getGasValue()) != 0.0f) {
+                                value = value + Float.parseFloat(energyData.getGasValue());
+                                jsonObject.put("value", value);
+                                jsonObject.put("buildName", pigpen.getBuildName());
+                                jsonArray.add(jsonObject);
+                                value = 0.00f;
+                            } else {
+                                jsonObject.put("value", 0);
+                                jsonObject.put("buildName", pigpen.getBuildName());
+                                jsonArray.add(jsonObject);
+                                value = 0.00f;
+                            }
                         }
                     }
                 }
@@ -855,7 +906,7 @@ public class EnergyDataServiceImpl extends ServiceImpl<EnergyDataMapper, EnergyD
         jsonObject.put("water", energyWaterDataVos);
         jsonObject.put("energyElectricity", energyElectricityDataVos);
         jsonObject.put("feed", energyFeedDataVos);
-        return new Result(ResultCode.SUCCESS,jsonObject);
+        return new Result(ResultCode.SUCCESS, jsonObject);
     }
 
 
@@ -866,41 +917,80 @@ public class EnergyDataServiceImpl extends ServiceImpl<EnergyDataMapper, EnergyD
         //用于排序的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);
+        if (jsonArr.size() < 8) {
+            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));
+            }
+        } else {
+            for (int i = 0; i < 8; 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 < 8; i++) {
+                sortedJsonArray.add(jsonValues.get(i));
             }
-        });
-        //将排序后结果放入结果jsonArray
-        for (int i = 0; i < jsonArr.size(); i++) {
-            sortedJsonArray.add(jsonValues.get(i));
         }
+
         return sortedJsonArray;
     }