wwh 2 лет назад
Родитель
Сommit
97b2735320

+ 148 - 66
huimv-admin/src/main/java/com/huimv/admin/service/impl/EnergyDataServiceImpl.java

@@ -265,60 +265,29 @@ public class EnergyDataServiceImpl extends ServiceImpl<EnergyDataMapper, EnergyD
                 basePigpenQueryWrapper.eq("parent_id", 0);
                 Float value = 0.00f;
                 List<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的栋舍
-                QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
-                queryWrapper.eq("farm_id", farmId).in("other2", basePigpens);
-                List<BasePigpen> basePigpens1 = basePigpenMapper.selectList(queryWrapper);//得到所有下属的楼层和单元
-                System.out.println(basePigpens1);
-                for (BasePigpen basePigpen : basePigpens1) { //查找数据,到单元层次
-                    QueryWrapper<EnergyData> dataQueryWrapper = new QueryWrapper<>();
-                    dataQueryWrapper.eq("farm_id", farmId).eq("unit_id", basePigpen.getId())
-                            .between("create_date", startTime, endTime);
-                    dataQueryWrapper.select(
-                            "IFNULL(SUM(water_value),'0') waterValue  "
-                    );
-                    EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
-                    if (ObjectUtil.isNotEmpty(energyData)) {
-                        value = value + Float.parseFloat(energyData.getWaterValue());
-                        QueryWrapper<BasePigpen> queryWrapper1 = new QueryWrapper<>();
-                        queryWrapper1.eq("id", basePigpen.getParentId()).eq("farm_id", farmId);
-                        BasePigpen basePigpen1 = basePigpenMapper.selectOne(queryWrapper1);
-                        JSONObject jsonObject = new JSONObject();
-                        jsonObject.put("value", value);
-                        jsonObject.put("buildName", basePigpen1.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);
-                Float value = 0.00f;
-                List<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的栋舍
                 for (BasePigpen basePigpen : basePigpens) {
+                    JSONObject jsonObject = new JSONObject();
                     QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
                     queryWrapper.eq("farm_id", farmId).like("other2", basePigpen.getId());
                     List<BasePigpen> selectList = basePigpenMapper.selectList(queryWrapper);//所有下属
                     for (BasePigpen pigpen : selectList) {
                         QueryWrapper<EnergyData> dataQueryWrapper = new QueryWrapper<>();
                         dataQueryWrapper.eq("farm_id", farmId).eq("unit_id", pigpen.getId())
-                                .ge("create_date", dateTime);
+                                .between("create_date", startTime, endTime);
                         dataQueryWrapper.select(
                                 "IFNULL(SUM(water_value),'0') waterValue  "
                         );
+                        // EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
                         EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
                         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);
-                            BasePigpen basePigpen1 = basePigpenMapper.selectOne(queryWrapper1);
-                            JSONObject jsonObject = new JSONObject();
                             jsonObject.put("value", value);
-                            jsonObject.put("buildName", basePigpen1.getBuildName());
+                            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;
                         }
@@ -329,6 +298,52 @@ public class EnergyDataServiceImpl extends ServiceImpl<EnergyDataMapper, EnergyD
                 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);
+                            if (Float.parseFloat(energyData.getWaterValue()) != 0.0f) {
+                                value = value + Float.parseFloat(energyData.getWaterValue());
+                                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;
+                            }
+                        }
+                  /*      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)) {
@@ -354,12 +369,23 @@ public class EnergyDataServiceImpl extends ServiceImpl<EnergyDataMapper, EnergyD
                                     "IFNULL(SUM(water_value),0) waterValue  "
                             );
                             EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
-                            value = value + Float.parseFloat(energyData.getWaterValue()); //把所有单元的值相加
+                            if (Float.parseFloat(energyData.getWaterValue()) != 0.0f) {
+                                value = value + Float.parseFloat(energyData.getWaterValue());
+                                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;
+                            }
                         }
-                        jsonObject.put("value", value);
+                  /*      jsonObject.put("value", value);
                         jsonObject.put("buildName", pigpen.getBuildName());
                         jsonArray.add(jsonObject);
-                        value = 0.00f;
+                        value = 0.00f;*/
                     }
                 }
                 JSONArray arraySort = jsonArraySort(jsonArray, "value", true);
@@ -390,12 +416,23 @@ public class EnergyDataServiceImpl extends ServiceImpl<EnergyDataMapper, EnergyD
                                     "IFNULL(SUM(water_value),0) waterValue  "
                             );
                             EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
-                            value = value + Float.parseFloat(energyData.getWaterValue()); //把所有单元的值相加
+                            if (Float.parseFloat(energyData.getWaterValue()) != 0.0f) {
+                                value = value + Float.parseFloat(energyData.getWaterValue());
+                                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;
+                            }
                         }
-                        jsonObject.put("value", value);
+                        /*jsonObject.put("value", value);
                         jsonObject.put("buildName", pigpen.getBuildName());
                         jsonArray.add(jsonObject);
-                        value = 0.00f;
+                        value = 0.00f;*/
                     }
                 }
                 JSONArray arraySort = jsonArraySort(jsonArray, "value", true);
@@ -429,12 +466,23 @@ public class EnergyDataServiceImpl extends ServiceImpl<EnergyDataMapper, EnergyD
                                     "IFNULL(SUM(electricity_value),0) electricityValue  "
                             );
                             EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
-                            value = value + Float.parseFloat(energyData.getElectricityValue()); //把所有单元的值相加
+                            if (Float.parseFloat(energyData.getElectricityValue()) != 0.0f) {
+                                value = value + Float.parseFloat(energyData.getElectricityValue());
+                                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;
+                            }
                         }
-                        jsonObject.put("value", value);
+                       /* jsonObject.put("value", value);
                         jsonObject.put("buildName", pigpen.getBuildName());
                         jsonArray.add(jsonObject);
-                        value = 0.00f;
+                        value = 0.00f;*/
                     }
                 }
                 JSONArray arraySort = jsonArraySort(jsonArray, "value", true);
@@ -464,12 +512,23 @@ public class EnergyDataServiceImpl extends ServiceImpl<EnergyDataMapper, EnergyD
                                     "IFNULL(SUM(electricity_value),0) electricityValue  "
                             );
                             EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
-                            value = value + Float.parseFloat(energyData.getElectricityValue()); //把所有单元的值相加
+                            if (Float.parseFloat(energyData.getElectricityValue()) != 0.0f) {
+                                value = value + Float.parseFloat(energyData.getElectricityValue());
+                                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;
+                            }
                         }
-                        jsonObject.put("value", value);
+                     /*   jsonObject.put("value", value);
                         jsonObject.put("buildName", pigpen.getBuildName());
                         jsonArray.add(jsonObject);
-                        value = 0.00f;
+                        value = 0.00f;*/
                     }
                 }
                 JSONArray arraySort = jsonArraySort(jsonArray, "value", true);
@@ -500,12 +559,23 @@ public class EnergyDataServiceImpl extends ServiceImpl<EnergyDataMapper, EnergyD
                                     "IFNULL(SUM(electricity_value),0) electricityValue  "
                             );
                             EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
-                            value = value + Float.parseFloat(energyData.getElectricityValue()); //把所有单元的值相加
+                            if (Float.parseFloat(energyData.getElectricityValue()) != 0.0f) {
+                                value = value + Float.parseFloat(energyData.getElectricityValue());
+                                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;
+                            }
                         }
-                        jsonObject.put("value", value);
+                    /*    jsonObject.put("value", value);
                         jsonObject.put("buildName", pigpen.getBuildName());
                         jsonArray.add(jsonObject);
-                        value = 0.00f;
+                        value = 0.00f;*/
                     }
                 }
                 JSONArray arraySort = jsonArraySort(jsonArray, "value", true);
@@ -535,13 +605,25 @@ public class EnergyDataServiceImpl extends ServiceImpl<EnergyDataMapper, EnergyD
                             dataQueryWrapper.select(
                                     "IFNULL(SUM(electricity_value),0) electricityValue  "
                             );
+
                             EnergyData energyData = dataMapper.selectOne(dataQueryWrapper);
-                            value = value + Float.parseFloat(energyData.getElectricityValue()); //把所有单元的值相加
-                        }
+                            if (Float.parseFloat(energyData.getElectricityValue()) != 0.0f) {
+                                value = value + Float.parseFloat(energyData.getElectricityValue());
+                                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;
+                            }
+                        }/*
                         jsonObject.put("value", value);
                         jsonObject.put("buildName", pigpen.getBuildName());
                         jsonArray.add(jsonObject);
-                        value = 0.00f;
+                        value = 0.00f;*/
                     }
                 }
                 JSONArray arraySort = jsonArraySort(jsonArray, "value", true);
@@ -558,7 +640,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()).eq("f_type",2);
+                    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) { //一层 二层
@@ -569,7 +651,7 @@ public class EnergyDataServiceImpl extends ServiceImpl<EnergyDataMapper, EnergyD
                             JSONObject jsonObject = new JSONObject();
                             QueryWrapper<EnergyData> dataQueryWrapper = new QueryWrapper<>();
                             dataQueryWrapper.eq("farm_id", farmId).eq("unit_id", pigpen1.getId())
-                                    .between("create_date",startTime,endTime );
+                                    .between("create_date", startTime, endTime);
                             dataQueryWrapper.select(
                                     "IFNULL(SUM(feed_value),0) feedValue  "
                             );
@@ -599,7 +681,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()).eq("f_type",2);
+                    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) { //一层 二层
@@ -727,7 +809,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()).eq("f_type",2);
+                    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) { //一层 二层
@@ -738,7 +820,7 @@ public class EnergyDataServiceImpl extends ServiceImpl<EnergyDataMapper, EnergyD
                             JSONObject jsonObject = new JSONObject();
                             QueryWrapper<EnergyData> dataQueryWrapper = new QueryWrapper<>();
                             dataQueryWrapper.eq("farm_id", farmId).eq("unit_id", pigpen1.getId())
-                                    .between("create_date", startTime,endTime);
+                                    .between("create_date", startTime, endTime);
                             dataQueryWrapper.select(
                                     "IFNULL(SUM(gas_value),0) gasValue  "
                             );
@@ -768,7 +850,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()).eq("f_type",2);
+                    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) { //一层 二层
@@ -809,7 +891,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()).eq("f_type",2);
+                    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) { //一层 二层
@@ -852,7 +934,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()).eq("f_type",2);
+                    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) { //一层 二层

+ 1 - 1
huimv-admin/src/main/java/com/huimv/admin/timer/EnvTimer.java

@@ -220,7 +220,7 @@ public class EnvTimer {
     }
 
     @Scheduled(cron = "0 0 0 * * ? ")
-    private void update(HttpServletRequest httpServletRequest) throws Exception {
+    private void update() throws Exception {
         Date date = new Date();
         DateTime beginOfMonth = DateUtil.beginOfMonth(date);
         List<Farm> list = farmService.list();