Browse Source

平望牧场水电数据接入2

wwh 1 year ago
parent
commit
a922ec30a2

+ 5 - 1
huimv-admin/src/main/java/com/huimv/admin/config/InterceptorConfig.java

@@ -23,6 +23,10 @@ public class InterceptorConfig implements WebMvcConfigurer {
         registry.addInterceptor(jwtInterceptor()).
                 excludePathPatterns("/huatongApi/admin/my/*","/huatongApi/env-nh3-n/send")
                 .excludePathPatterns("/huatongApi/receive/feed","/huatongApi/energy-data/getData"
-                        ,"/huatongApi/energy-data/getData2" ,"/huatongApi/energy-data/getData3","/huatongApi/energy-data/getData4");
+                        ,"/huatongApi/energy-data/getData2" ,"/huatongApi/energy-data/getData3","/huatongApi/energy-data/getData4"
+                        ,"/huatongApi/energy-data/getData5"
+                        ,"/huatongApi/energy-data/getData6"
+                        ,"/huatongApi/energy-data/getData7"
+                        ,"/huatongApi/energy-data/getData8");
     }
 }

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

@@ -172,6 +172,90 @@ public class EnergyDataController {
             iEnergyDataService.save(energyData);
         }
     }
+    @RequestMapping("/getData5")
+    public void getData5(@RequestBody Map<String, List<WaterAndElectricity>> paramsMap) {
+        List<WaterAndElectricity> result = (List) paramsMap.get("result");
+        System.out.println("接受到的数据格式:" + result);
+        for (WaterAndElectricity jsonObject : result) {
+            EnergyData energyData = new EnergyData();
+            energyData.setFeedValue("0.00");
+            energyData.setWaterValue(jsonObject.getWater());
+            energyData.setElectricityValue(jsonObject.getElectricity());
+            energyData.setGasValue("0.00");
+            energyData.setFarmId(21);
+            energyData.setCreateDate(new Date());
+            QueryWrapper<EnergyEnvDevice> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("farm_id", 21).eq("device_code", jsonObject.getDeviceCode());
+            EnergyEnvDevice device = deviceService.getOne(queryWrapper);
+            if (ObjectUtil.isNotEmpty(device)) {
+                energyData.setUnitId(device.getUnitId());
+            }
+            iEnergyDataService.save(energyData);
+        }
+    }
+    @RequestMapping("/getData6")
+    public void getData6(@RequestBody Map<String, List<WaterAndElectricity>> paramsMap) {
+        List<WaterAndElectricity> result = (List) paramsMap.get("result");
+        System.out.println("接受到的数据格式:" + result);
+        for (WaterAndElectricity jsonObject : result) {
+            EnergyData energyData = new EnergyData();
+            energyData.setFeedValue("0.00");
+            energyData.setWaterValue(jsonObject.getWater());
+            energyData.setElectricityValue(jsonObject.getElectricity());
+            energyData.setGasValue("0.00");
+            energyData.setFarmId(33);
+            energyData.setCreateDate(new Date());
+            QueryWrapper<EnergyEnvDevice> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("farm_id", 33).eq("device_code", jsonObject.getDeviceCode());
+            EnergyEnvDevice device = deviceService.getOne(queryWrapper);
+            if (ObjectUtil.isNotEmpty(device)) {
+                energyData.setUnitId(device.getUnitId());
+            }
+            iEnergyDataService.save(energyData);
+        }
+    }
+    @RequestMapping("/getData7")
+    public void getData7(@RequestBody Map<String, List<WaterAndElectricity>> paramsMap) {
+        List<WaterAndElectricity> result = (List) paramsMap.get("result");
+        System.out.println("接受到的数据格式:" + result);
+        for (WaterAndElectricity jsonObject : result) {
+            EnergyData energyData = new EnergyData();
+            energyData.setFeedValue("0.00");
+            energyData.setWaterValue(jsonObject.getWater());
+            energyData.setElectricityValue(jsonObject.getElectricity());
+            energyData.setGasValue("0.00");
+            energyData.setFarmId(34);
+            energyData.setCreateDate(new Date());
+            QueryWrapper<EnergyEnvDevice> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("farm_id", 34).eq("device_code", jsonObject.getDeviceCode());
+            EnergyEnvDevice device = deviceService.getOne(queryWrapper);
+            if (ObjectUtil.isNotEmpty(device)) {
+                energyData.setUnitId(device.getUnitId());
+            }
+            iEnergyDataService.save(energyData);
+        }
+    }
+    @RequestMapping("/getData8")
+    public void getData8(@RequestBody Map<String, List<WaterAndElectricity>> paramsMap) {
+        List<WaterAndElectricity> result = (List) paramsMap.get("result");
+        System.out.println("接受到的数据格式:" + result);
+        for (WaterAndElectricity jsonObject : result) {
+            EnergyData energyData = new EnergyData();
+            energyData.setFeedValue("0.00");
+            energyData.setWaterValue(jsonObject.getWater());
+            energyData.setElectricityValue(jsonObject.getElectricity());
+            energyData.setGasValue("0.00");
+            energyData.setFarmId(35);
+            energyData.setCreateDate(new Date());
+            QueryWrapper<EnergyEnvDevice> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("farm_id", 35).eq("device_code", jsonObject.getDeviceCode());
+            EnergyEnvDevice device = deviceService.getOne(queryWrapper);
+            if (ObjectUtil.isNotEmpty(device)) {
+                energyData.setUnitId(device.getUnitId());
+            }
+            iEnergyDataService.save(energyData);
+        }
+    }
     @PostMapping("/add")
     public Result add(@RequestBody EnergyData energyData) {
         iEnergyDataService.save(energyData);

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

@@ -623,7 +623,7 @@ public class EnergyDataServiceImpl extends ServiceImpl<EnergyDataMapper, EnergyD
         List<String> list = new ArrayList<>();
         if ("".equals(deviceCode) || null == deviceCode) {
             QueryWrapper<EnergyEnvDevice> queryWrapper1 = new QueryWrapper<>();
-            queryWrapper1.in("farm_id", 26,29,22,28);
+            queryWrapper1.in("farm_id", 26,29,22,28,21,33,34,35);
             if ("1".equals(type)) {
                 queryWrapper1.eq("remark", 1);
             } else {

+ 580 - 0
huimv-admin/src/main/java/com/huimv/admin/timer/WaterAndElcTimer.java

@@ -616,6 +616,586 @@ public class WaterAndElcTimer {
 
         }
     }
+
+    //正康
+    @Scheduled(cron = "0 59 * * * ? ")
+    private void getShenChan5() throws Exception {
+        QueryWrapper<EnergyEnvDevice> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", 21);
+        List<EnergyEnvDevice> envDevices = envDeviceMapper.selectList(queryWrapper);
+
+        Date timesmorning = DataUill.getTimesmorning();
+        DateTime dateTime = DateUtil.beginOfWeek(new Date());//本周
+        Date timesMonthmorning = DataUill.getTimesMonthmorning();//本月
+        Date dayStart = (Date) getYesterdayRange().get("startTime");
+        Date dayEnd = (Date) getYesterdayRange().get("stopTime");
+        Date weekStart = (Date) getLastWeekRange().get("startTime");
+        Date weekEnd = (Date) getLastWeekRange().get("stopTime");
+        Date monthStart = (Date) getLastMonthRange().get("startTime");
+        Date monthEnd = (Date) getLastMonthRange().get("stopTime");
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+
+        for (EnergyEnvDevice envDevice : envDevices) {
+            EnergyDataScreenVo dataScreenVo = dataMapper.listDataAll(sdf.format(timesmorning), sdf.format(dateTime), sdf.format(timesMonthmorning),
+                    sdf.format(dayStart), sdf.format(dayEnd)
+                    , sdf.format(weekStart), sdf.format(weekEnd)
+                    , sdf.format(monthStart), sdf.format(monthEnd)
+                    , envDevice.getUnitId(), "21");
+
+            QueryWrapper<EnergyScreen> queryWrapper1 = new QueryWrapper<>();
+            queryWrapper1.eq("farm_id", 21).ge("create_date", timesMonthmorning).eq("device_code", envDevice.getDeviceCode());
+            EnergyScreen energyScreen = screenMapper.selectOne(queryWrapper1);
+
+            if (ObjectUtil.isNotEmpty(energyScreen)) {
+                //说明今天的数据已经存在 后续只需要更新即可
+                if ("1".equals(envDevice.getRemark())) {
+                    //用水
+                    energyScreen.setCreateDate(new Date());
+                    energyScreen.setTodayRead(dataScreenVo.getWaterValueToday());
+                    energyScreen.setTodayConsume(dataScreenVo.getWaterValueTodayUsage());
+                    energyScreen.setYesterdayConsume(dataScreenVo.getWaterValueYesterdayUsage());
+                    energyScreen.setWeekConsume(dataScreenVo.getWaterValueThisWeekUsage());
+                    energyScreen.setLastWeekConsume(dataScreenVo.getWaterValueLastWeekUsage());
+                    energyScreen.setMonthConsume(dataScreenVo.getWaterValueThisMonthUsage());
+                    energyScreen.setLastMonthConsume(dataScreenVo.getWaterValueLastMonthUsage());
+                    double day2 = Double.parseDouble(dataScreenVo.getWaterValueTodayUsage());
+                    double day3 = Double.parseDouble(dataScreenVo.getWaterValueYesterdayUsage());
+                    double week1 = Double.parseDouble(dataScreenVo.getWaterValueThisWeekUsage());
+                    double week2 = Double.parseDouble(dataScreenVo.getWaterValueLastWeekUsage());
+                    double month1 = Double.parseDouble(dataScreenVo.getWaterValueThisMonthUsage());
+                    double month2 = Double.parseDouble(dataScreenVo.getWaterValueLastMonthUsage());
+                    DecimalFormat def = new DecimalFormat("0.00");
+                    String day4 = def.format(day2 - day3);
+                    String week3 = def.format(week1 - week2);
+                    String month3 = def.format(month1 - month2);
+                    energyScreen.setDayDifference(day4);
+                    energyScreen.setWeekDifference(week3);
+                    energyScreen.setMonthDifference(month3);
+                } else {
+                    //用电
+                    energyScreen.setCreateDate(new Date());
+                    energyScreen.setTodayRead(dataScreenVo.getElectricityValueToday());
+                    energyScreen.setTodayConsume(dataScreenVo.getElectricityValueTodayUsage());
+                    energyScreen.setYesterdayConsume(dataScreenVo.getElectricityValueYesterdayUsage());
+                    energyScreen.setWeekConsume(dataScreenVo.getElectricityValueThisWeekUsage());
+                    energyScreen.setLastWeekConsume(dataScreenVo.getElectricityValueLastWeekUsage());
+                    energyScreen.setMonthConsume(dataScreenVo.getElectricityValueThisMonthUsage());
+                    energyScreen.setLastMonthConsume(dataScreenVo.getElectricityValueLastMonthUsage());
+                    double day2 = Double.parseDouble(dataScreenVo.getElectricityValueTodayUsage());
+                    double day3 = Double.parseDouble(dataScreenVo.getElectricityValueYesterdayUsage());
+                    double week1 = Double.parseDouble(dataScreenVo.getElectricityValueThisWeekUsage());
+                    double week2 = Double.parseDouble(dataScreenVo.getElectricityValueLastWeekUsage());
+                    double month1 = Double.parseDouble(dataScreenVo.getElectricityValueThisMonthUsage());
+                    double month2 = Double.parseDouble(dataScreenVo.getElectricityValueLastMonthUsage());
+                    DecimalFormat def = new DecimalFormat("0.00");
+                    String day4 = def.format(day2 - day3);
+                    String week3 = def.format(week1 - week2);
+                    String month3 = def.format(month1 - month2);
+                    energyScreen.setDayDifference(day4);
+                    energyScreen.setWeekDifference(week3);
+                    energyScreen.setMonthDifference(month3);
+                }
+                screenMapper.updateById(energyScreen);
+            }else {
+                //添加一天的第一条数据
+                EnergyScreen screen = new EnergyScreen();
+                if ("1".equals(envDevice.getRemark())) {
+                    //添加用水
+                    screen.setCreateDate(new Date());
+                    screen.setTodayRead(dataScreenVo.getWaterValueToday());
+                    screen.setTodayConsume(dataScreenVo.getWaterValueTodayUsage());
+                    screen.setYesterdayConsume(dataScreenVo.getWaterValueYesterdayUsage());
+                    screen.setWeekConsume(dataScreenVo.getWaterValueThisWeekUsage());
+                    screen.setLastWeekConsume(dataScreenVo.getWaterValueLastWeekUsage());
+                    screen.setMonthConsume(dataScreenVo.getWaterValueThisMonthUsage());
+                    screen.setLastMonthConsume(dataScreenVo.getWaterValueLastMonthUsage());
+                    double day2 = Double.parseDouble(dataScreenVo.getWaterValueTodayUsage());
+                    double day3 = Double.parseDouble(dataScreenVo.getWaterValueYesterdayUsage());
+                    double week1 = Double.parseDouble(dataScreenVo.getWaterValueThisWeekUsage());
+                    double week2 = Double.parseDouble(dataScreenVo.getWaterValueLastWeekUsage());
+                    double month1 = Double.parseDouble(dataScreenVo.getWaterValueThisMonthUsage());
+                    double month2 = Double.parseDouble(dataScreenVo.getWaterValueLastMonthUsage());
+                    DecimalFormat def = new DecimalFormat("0.00");
+                    String day4 = def.format(day2 - day3);
+                    String week3 = def.format(week1 - week2);
+                    String month3 = def.format(month1 - month2);
+                    screen.setDayDifference(day4);
+                    screen.setWeekDifference(week3);
+                    screen.setMonthDifference(month3);
+                    screen.setFarmId(21);
+                    screen.setBuildName(envDevice.getUnitName());
+                    screen.setDeviceCode(envDevice.getDeviceCode());
+                    screen.setType(1);
+                    screen.setFarmName("华统股份正康智慧牧场");
+                } else {
+                    screen.setCreateDate(new Date());
+                    screen.setTodayRead(dataScreenVo.getElectricityValueToday());
+                    screen.setTodayConsume(dataScreenVo.getElectricityValueTodayUsage());
+                    screen.setYesterdayConsume(dataScreenVo.getElectricityValueYesterdayUsage());
+                    screen.setWeekConsume(dataScreenVo.getElectricityValueThisWeekUsage());
+                    screen.setLastWeekConsume(dataScreenVo.getElectricityValueLastWeekUsage());
+                    screen.setMonthConsume(dataScreenVo.getElectricityValueThisMonthUsage());
+                    screen.setLastMonthConsume(dataScreenVo.getElectricityValueLastMonthUsage());
+                    double day2 = Double.parseDouble(dataScreenVo.getElectricityValueTodayUsage());
+                    double day3 = Double.parseDouble(dataScreenVo.getElectricityValueYesterdayUsage());
+                    double week1 = Double.parseDouble(dataScreenVo.getElectricityValueThisWeekUsage());
+                    double week2 = Double.parseDouble(dataScreenVo.getElectricityValueLastWeekUsage());
+                    double month1 = Double.parseDouble(dataScreenVo.getElectricityValueThisMonthUsage());
+                    double month2 = Double.parseDouble(dataScreenVo.getElectricityValueLastMonthUsage());
+                    DecimalFormat def = new DecimalFormat("0.00");
+                    String day4 = def.format(day2 - day3);
+                    String week3 = def.format(week1 - week2);
+                    String month3 = def.format(month1 - month2);
+                    screen.setDayDifference(day4);
+                    screen.setWeekDifference(week3);
+                    screen.setMonthDifference(month3);
+                    screen.setFarmId(21);
+                    screen.setBuildName(envDevice.getUnitName());
+                    screen.setDeviceCode(envDevice.getDeviceCode());
+                    screen.setType(2);
+                    screen.setFarmName("华统股份正康智慧牧场");
+                }
+                screenMapper.insert(screen);
+            }
+
+        }
+    }
+
+    //莲花
+    @Scheduled(cron = "0 59 * * * ? ")
+    private void getShenChan6() throws Exception {
+        QueryWrapper<EnergyEnvDevice> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", 33);
+        List<EnergyEnvDevice> envDevices = envDeviceMapper.selectList(queryWrapper);
+
+        Date timesmorning = DataUill.getTimesmorning();
+        DateTime dateTime = DateUtil.beginOfWeek(new Date());//本周
+        Date timesMonthmorning = DataUill.getTimesMonthmorning();//本月
+        Date dayStart = (Date) getYesterdayRange().get("startTime");
+        Date dayEnd = (Date) getYesterdayRange().get("stopTime");
+        Date weekStart = (Date) getLastWeekRange().get("startTime");
+        Date weekEnd = (Date) getLastWeekRange().get("stopTime");
+        Date monthStart = (Date) getLastMonthRange().get("startTime");
+        Date monthEnd = (Date) getLastMonthRange().get("stopTime");
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+
+        for (EnergyEnvDevice envDevice : envDevices) {
+            EnergyDataScreenVo dataScreenVo = dataMapper.listDataAll(sdf.format(timesmorning), sdf.format(dateTime), sdf.format(timesMonthmorning),
+                    sdf.format(dayStart), sdf.format(dayEnd)
+                    , sdf.format(weekStart), sdf.format(weekEnd)
+                    , sdf.format(monthStart), sdf.format(monthEnd)
+                    , envDevice.getUnitId(), "33");
+
+            QueryWrapper<EnergyScreen> queryWrapper1 = new QueryWrapper<>();
+            queryWrapper1.eq("farm_id", 33).ge("create_date", timesMonthmorning).eq("device_code", envDevice.getDeviceCode());
+            EnergyScreen energyScreen = screenMapper.selectOne(queryWrapper1);
+
+            if (ObjectUtil.isNotEmpty(energyScreen)) {
+                //说明今天的数据已经存在 后续只需要更新即可
+                if ("1".equals(envDevice.getRemark())) {
+                    //用水
+                    energyScreen.setCreateDate(new Date());
+                    energyScreen.setTodayRead(dataScreenVo.getWaterValueToday());
+                    energyScreen.setTodayConsume(dataScreenVo.getWaterValueTodayUsage());
+                    energyScreen.setYesterdayConsume(dataScreenVo.getWaterValueYesterdayUsage());
+                    energyScreen.setWeekConsume(dataScreenVo.getWaterValueThisWeekUsage());
+                    energyScreen.setLastWeekConsume(dataScreenVo.getWaterValueLastWeekUsage());
+                    energyScreen.setMonthConsume(dataScreenVo.getWaterValueThisMonthUsage());
+                    energyScreen.setLastMonthConsume(dataScreenVo.getWaterValueLastMonthUsage());
+                    double day2 = Double.parseDouble(dataScreenVo.getWaterValueTodayUsage());
+                    double day3 = Double.parseDouble(dataScreenVo.getWaterValueYesterdayUsage());
+                    double week1 = Double.parseDouble(dataScreenVo.getWaterValueThisWeekUsage());
+                    double week2 = Double.parseDouble(dataScreenVo.getWaterValueLastWeekUsage());
+                    double month1 = Double.parseDouble(dataScreenVo.getWaterValueThisMonthUsage());
+                    double month2 = Double.parseDouble(dataScreenVo.getWaterValueLastMonthUsage());
+                    DecimalFormat def = new DecimalFormat("0.00");
+                    String day4 = def.format(day2 - day3);
+                    String week3 = def.format(week1 - week2);
+                    String month3 = def.format(month1 - month2);
+                    energyScreen.setDayDifference(day4);
+                    energyScreen.setWeekDifference(week3);
+                    energyScreen.setMonthDifference(month3);
+                } else {
+                    //用电
+                    energyScreen.setCreateDate(new Date());
+                    energyScreen.setTodayRead(dataScreenVo.getElectricityValueToday());
+                    energyScreen.setTodayConsume(dataScreenVo.getElectricityValueTodayUsage());
+                    energyScreen.setYesterdayConsume(dataScreenVo.getElectricityValueYesterdayUsage());
+                    energyScreen.setWeekConsume(dataScreenVo.getElectricityValueThisWeekUsage());
+                    energyScreen.setLastWeekConsume(dataScreenVo.getElectricityValueLastWeekUsage());
+                    energyScreen.setMonthConsume(dataScreenVo.getElectricityValueThisMonthUsage());
+                    energyScreen.setLastMonthConsume(dataScreenVo.getElectricityValueLastMonthUsage());
+                    double day2 = Double.parseDouble(dataScreenVo.getElectricityValueTodayUsage());
+                    double day3 = Double.parseDouble(dataScreenVo.getElectricityValueYesterdayUsage());
+                    double week1 = Double.parseDouble(dataScreenVo.getElectricityValueThisWeekUsage());
+                    double week2 = Double.parseDouble(dataScreenVo.getElectricityValueLastWeekUsage());
+                    double month1 = Double.parseDouble(dataScreenVo.getElectricityValueThisMonthUsage());
+                    double month2 = Double.parseDouble(dataScreenVo.getElectricityValueLastMonthUsage());
+                    DecimalFormat def = new DecimalFormat("0.00");
+                    String day4 = def.format(day2 - day3);
+                    String week3 = def.format(week1 - week2);
+                    String month3 = def.format(month1 - month2);
+                    energyScreen.setDayDifference(day4);
+                    energyScreen.setWeekDifference(week3);
+                    energyScreen.setMonthDifference(month3);
+                }
+                screenMapper.updateById(energyScreen);
+            }else {
+                //添加一天的第一条数据
+                EnergyScreen screen = new EnergyScreen();
+                if ("1".equals(envDevice.getRemark())) {
+                    //添加用水
+                    screen.setCreateDate(new Date());
+                    screen.setTodayRead(dataScreenVo.getWaterValueToday());
+                    screen.setTodayConsume(dataScreenVo.getWaterValueTodayUsage());
+                    screen.setYesterdayConsume(dataScreenVo.getWaterValueYesterdayUsage());
+                    screen.setWeekConsume(dataScreenVo.getWaterValueThisWeekUsage());
+                    screen.setLastWeekConsume(dataScreenVo.getWaterValueLastWeekUsage());
+                    screen.setMonthConsume(dataScreenVo.getWaterValueThisMonthUsage());
+                    screen.setLastMonthConsume(dataScreenVo.getWaterValueLastMonthUsage());
+                    double day2 = Double.parseDouble(dataScreenVo.getWaterValueTodayUsage());
+                    double day3 = Double.parseDouble(dataScreenVo.getWaterValueYesterdayUsage());
+                    double week1 = Double.parseDouble(dataScreenVo.getWaterValueThisWeekUsage());
+                    double week2 = Double.parseDouble(dataScreenVo.getWaterValueLastWeekUsage());
+                    double month1 = Double.parseDouble(dataScreenVo.getWaterValueThisMonthUsage());
+                    double month2 = Double.parseDouble(dataScreenVo.getWaterValueLastMonthUsage());
+                    DecimalFormat def = new DecimalFormat("0.00");
+                    String day4 = def.format(day2 - day3);
+                    String week3 = def.format(week1 - week2);
+                    String month3 = def.format(month1 - month2);
+                    screen.setDayDifference(day4);
+                    screen.setWeekDifference(week3);
+                    screen.setMonthDifference(month3);
+                    screen.setFarmId(33);
+                    screen.setBuildName(envDevice.getUnitName());
+                    screen.setDeviceCode(envDevice.getDeviceCode());
+                    screen.setType(1);
+                    screen.setFarmName("华统股份莲花智慧牧场");
+                } else {
+                    screen.setCreateDate(new Date());
+                    screen.setTodayRead(dataScreenVo.getElectricityValueToday());
+                    screen.setTodayConsume(dataScreenVo.getElectricityValueTodayUsage());
+                    screen.setYesterdayConsume(dataScreenVo.getElectricityValueYesterdayUsage());
+                    screen.setWeekConsume(dataScreenVo.getElectricityValueThisWeekUsage());
+                    screen.setLastWeekConsume(dataScreenVo.getElectricityValueLastWeekUsage());
+                    screen.setMonthConsume(dataScreenVo.getElectricityValueThisMonthUsage());
+                    screen.setLastMonthConsume(dataScreenVo.getElectricityValueLastMonthUsage());
+                    double day2 = Double.parseDouble(dataScreenVo.getElectricityValueTodayUsage());
+                    double day3 = Double.parseDouble(dataScreenVo.getElectricityValueYesterdayUsage());
+                    double week1 = Double.parseDouble(dataScreenVo.getElectricityValueThisWeekUsage());
+                    double week2 = Double.parseDouble(dataScreenVo.getElectricityValueLastWeekUsage());
+                    double month1 = Double.parseDouble(dataScreenVo.getElectricityValueThisMonthUsage());
+                    double month2 = Double.parseDouble(dataScreenVo.getElectricityValueLastMonthUsage());
+                    DecimalFormat def = new DecimalFormat("0.00");
+                    String day4 = def.format(day2 - day3);
+                    String week3 = def.format(week1 - week2);
+                    String month3 = def.format(month1 - month2);
+                    screen.setDayDifference(day4);
+                    screen.setWeekDifference(week3);
+                    screen.setMonthDifference(month3);
+                    screen.setFarmId(33);
+                    screen.setBuildName(envDevice.getUnitName());
+                    screen.setDeviceCode(envDevice.getDeviceCode());
+                    screen.setType(2);
+                    screen.setFarmName("华统股份莲花智慧牧场");
+                }
+                screenMapper.insert(screen);
+            }
+
+        }
+    }
+
+    //百凤林
+/*    @Scheduled(cron = "0 59 * * * ? ")
+    private void getShenChan7() throws Exception {
+        QueryWrapper<EnergyEnvDevice> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", 34);
+        List<EnergyEnvDevice> envDevices = envDeviceMapper.selectList(queryWrapper);
+
+        Date timesmorning = DataUill.getTimesmorning();
+        DateTime dateTime = DateUtil.beginOfWeek(new Date());//本周
+        Date timesMonthmorning = DataUill.getTimesMonthmorning();//本月
+        Date dayStart = (Date) getYesterdayRange().get("startTime");
+        Date dayEnd = (Date) getYesterdayRange().get("stopTime");
+        Date weekStart = (Date) getLastWeekRange().get("startTime");
+        Date weekEnd = (Date) getLastWeekRange().get("stopTime");
+        Date monthStart = (Date) getLastMonthRange().get("startTime");
+        Date monthEnd = (Date) getLastMonthRange().get("stopTime");
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+
+        for (EnergyEnvDevice envDevice : envDevices) {
+            EnergyDataScreenVo dataScreenVo = dataMapper.listDataAll(sdf.format(timesmorning), sdf.format(dateTime), sdf.format(timesMonthmorning),
+                    sdf.format(dayStart), sdf.format(dayEnd)
+                    , sdf.format(weekStart), sdf.format(weekEnd)
+                    , sdf.format(monthStart), sdf.format(monthEnd)
+                    , envDevice.getUnitId(), "34");
+
+            QueryWrapper<EnergyScreen> queryWrapper1 = new QueryWrapper<>();
+            queryWrapper1.eq("farm_id", 34).ge("create_date", timesMonthmorning).eq("device_code", envDevice.getDeviceCode());
+            EnergyScreen energyScreen = screenMapper.selectOne(queryWrapper1);
+
+            if (ObjectUtil.isNotEmpty(energyScreen)) {
+                //说明今天的数据已经存在 后续只需要更新即可
+                if ("1".equals(envDevice.getRemark())) {
+                    //用水
+                    energyScreen.setCreateDate(new Date());
+                    energyScreen.setTodayRead(dataScreenVo.getWaterValueToday());
+                    energyScreen.setTodayConsume(dataScreenVo.getWaterValueTodayUsage());
+                    energyScreen.setYesterdayConsume(dataScreenVo.getWaterValueYesterdayUsage());
+                    energyScreen.setWeekConsume(dataScreenVo.getWaterValueThisWeekUsage());
+                    energyScreen.setLastWeekConsume(dataScreenVo.getWaterValueLastWeekUsage());
+                    energyScreen.setMonthConsume(dataScreenVo.getWaterValueThisMonthUsage());
+                    energyScreen.setLastMonthConsume(dataScreenVo.getWaterValueLastMonthUsage());
+                    double day2 = Double.parseDouble(dataScreenVo.getWaterValueTodayUsage());
+                    double day3 = Double.parseDouble(dataScreenVo.getWaterValueYesterdayUsage());
+                    double week1 = Double.parseDouble(dataScreenVo.getWaterValueThisWeekUsage());
+                    double week2 = Double.parseDouble(dataScreenVo.getWaterValueLastWeekUsage());
+                    double month1 = Double.parseDouble(dataScreenVo.getWaterValueThisMonthUsage());
+                    double month2 = Double.parseDouble(dataScreenVo.getWaterValueLastMonthUsage());
+                    DecimalFormat def = new DecimalFormat("0.00");
+                    String day4 = def.format(day2 - day3);
+                    String week3 = def.format(week1 - week2);
+                    String month3 = def.format(month1 - month2);
+                    energyScreen.setDayDifference(day4);
+                    energyScreen.setWeekDifference(week3);
+                    energyScreen.setMonthDifference(month3);
+                } else {
+                    //用电
+                    energyScreen.setCreateDate(new Date());
+                    energyScreen.setTodayRead(dataScreenVo.getElectricityValueToday());
+                    energyScreen.setTodayConsume(dataScreenVo.getElectricityValueTodayUsage());
+                    energyScreen.setYesterdayConsume(dataScreenVo.getElectricityValueYesterdayUsage());
+                    energyScreen.setWeekConsume(dataScreenVo.getElectricityValueThisWeekUsage());
+                    energyScreen.setLastWeekConsume(dataScreenVo.getElectricityValueLastWeekUsage());
+                    energyScreen.setMonthConsume(dataScreenVo.getElectricityValueThisMonthUsage());
+                    energyScreen.setLastMonthConsume(dataScreenVo.getElectricityValueLastMonthUsage());
+                    double day2 = Double.parseDouble(dataScreenVo.getElectricityValueTodayUsage());
+                    double day3 = Double.parseDouble(dataScreenVo.getElectricityValueYesterdayUsage());
+                    double week1 = Double.parseDouble(dataScreenVo.getElectricityValueThisWeekUsage());
+                    double week2 = Double.parseDouble(dataScreenVo.getElectricityValueLastWeekUsage());
+                    double month1 = Double.parseDouble(dataScreenVo.getElectricityValueThisMonthUsage());
+                    double month2 = Double.parseDouble(dataScreenVo.getElectricityValueLastMonthUsage());
+                    DecimalFormat def = new DecimalFormat("0.00");
+                    String day4 = def.format(day2 - day3);
+                    String week3 = def.format(week1 - week2);
+                    String month3 = def.format(month1 - month2);
+                    energyScreen.setDayDifference(day4);
+                    energyScreen.setWeekDifference(week3);
+                    energyScreen.setMonthDifference(month3);
+                }
+                screenMapper.updateById(energyScreen);
+            }else {
+                //添加一天的第一条数据
+                EnergyScreen screen = new EnergyScreen();
+                if ("1".equals(envDevice.getRemark())) {
+                    //添加用水
+                    screen.setCreateDate(new Date());
+                    screen.setTodayRead(dataScreenVo.getWaterValueToday());
+                    screen.setTodayConsume(dataScreenVo.getWaterValueTodayUsage());
+                    screen.setYesterdayConsume(dataScreenVo.getWaterValueYesterdayUsage());
+                    screen.setWeekConsume(dataScreenVo.getWaterValueThisWeekUsage());
+                    screen.setLastWeekConsume(dataScreenVo.getWaterValueLastWeekUsage());
+                    screen.setMonthConsume(dataScreenVo.getWaterValueThisMonthUsage());
+                    screen.setLastMonthConsume(dataScreenVo.getWaterValueLastMonthUsage());
+                    double day2 = Double.parseDouble(dataScreenVo.getWaterValueTodayUsage());
+                    double day3 = Double.parseDouble(dataScreenVo.getWaterValueYesterdayUsage());
+                    double week1 = Double.parseDouble(dataScreenVo.getWaterValueThisWeekUsage());
+                    double week2 = Double.parseDouble(dataScreenVo.getWaterValueLastWeekUsage());
+                    double month1 = Double.parseDouble(dataScreenVo.getWaterValueThisMonthUsage());
+                    double month2 = Double.parseDouble(dataScreenVo.getWaterValueLastMonthUsage());
+                    DecimalFormat def = new DecimalFormat("0.00");
+                    String day4 = def.format(day2 - day3);
+                    String week3 = def.format(week1 - week2);
+                    String month3 = def.format(month1 - month2);
+                    screen.setDayDifference(day4);
+                    screen.setWeekDifference(week3);
+                    screen.setMonthDifference(month3);
+                    screen.setFarmId(34);
+                    screen.setBuildName(envDevice.getUnitName());
+                    screen.setDeviceCode(envDevice.getDeviceCode());
+                    screen.setType(1);
+                    screen.setFarmName("华统股份百凤林智慧牧场");
+                } else {
+                    screen.setCreateDate(new Date());
+                    screen.setTodayRead(dataScreenVo.getElectricityValueToday());
+                    screen.setTodayConsume(dataScreenVo.getElectricityValueTodayUsage());
+                    screen.setYesterdayConsume(dataScreenVo.getElectricityValueYesterdayUsage());
+                    screen.setWeekConsume(dataScreenVo.getElectricityValueThisWeekUsage());
+                    screen.setLastWeekConsume(dataScreenVo.getElectricityValueLastWeekUsage());
+                    screen.setMonthConsume(dataScreenVo.getElectricityValueThisMonthUsage());
+                    screen.setLastMonthConsume(dataScreenVo.getElectricityValueLastMonthUsage());
+                    double day2 = Double.parseDouble(dataScreenVo.getElectricityValueTodayUsage());
+                    double day3 = Double.parseDouble(dataScreenVo.getElectricityValueYesterdayUsage());
+                    double week1 = Double.parseDouble(dataScreenVo.getElectricityValueThisWeekUsage());
+                    double week2 = Double.parseDouble(dataScreenVo.getElectricityValueLastWeekUsage());
+                    double month1 = Double.parseDouble(dataScreenVo.getElectricityValueThisMonthUsage());
+                    double month2 = Double.parseDouble(dataScreenVo.getElectricityValueLastMonthUsage());
+                    DecimalFormat def = new DecimalFormat("0.00");
+                    String day4 = def.format(day2 - day3);
+                    String week3 = def.format(week1 - week2);
+                    String month3 = def.format(month1 - month2);
+                    screen.setDayDifference(day4);
+                    screen.setWeekDifference(week3);
+                    screen.setMonthDifference(month3);
+                    screen.setFarmId(34);
+                    screen.setBuildName(envDevice.getUnitName());
+                    screen.setDeviceCode(envDevice.getDeviceCode());
+                    screen.setType(2);
+                    screen.setFarmName("华统股份百凤林智慧牧场");
+                }
+                screenMapper.insert(screen);
+            }
+
+        }
+    }*/
+
+    //瑞溪
+/*    @Scheduled(cron = "0 59 * * * ? ")
+    private void getShenChan8() throws Exception {
+        QueryWrapper<EnergyEnvDevice> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", 35);
+        List<EnergyEnvDevice> envDevices = envDeviceMapper.selectList(queryWrapper);
+
+        Date timesmorning = DataUill.getTimesmorning();
+        DateTime dateTime = DateUtil.beginOfWeek(new Date());//本周
+        Date timesMonthmorning = DataUill.getTimesMonthmorning();//本月
+        Date dayStart = (Date) getYesterdayRange().get("startTime");
+        Date dayEnd = (Date) getYesterdayRange().get("stopTime");
+        Date weekStart = (Date) getLastWeekRange().get("startTime");
+        Date weekEnd = (Date) getLastWeekRange().get("stopTime");
+        Date monthStart = (Date) getLastMonthRange().get("startTime");
+        Date monthEnd = (Date) getLastMonthRange().get("stopTime");
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+
+        for (EnergyEnvDevice envDevice : envDevices) {
+            EnergyDataScreenVo dataScreenVo = dataMapper.listDataAll(sdf.format(timesmorning), sdf.format(dateTime), sdf.format(timesMonthmorning),
+                    sdf.format(dayStart), sdf.format(dayEnd)
+                    , sdf.format(weekStart), sdf.format(weekEnd)
+                    , sdf.format(monthStart), sdf.format(monthEnd)
+                    , envDevice.getUnitId(), "35");
+
+            QueryWrapper<EnergyScreen> queryWrapper1 = new QueryWrapper<>();
+            queryWrapper1.eq("farm_id", 35).ge("create_date", timesMonthmorning).eq("device_code", envDevice.getDeviceCode());
+            EnergyScreen energyScreen = screenMapper.selectOne(queryWrapper1);
+
+            if (ObjectUtil.isNotEmpty(energyScreen)) {
+                //说明今天的数据已经存在 后续只需要更新即可
+                if ("1".equals(envDevice.getRemark())) {
+                    //用水
+                    energyScreen.setCreateDate(new Date());
+                    energyScreen.setTodayRead(dataScreenVo.getWaterValueToday());
+                    energyScreen.setTodayConsume(dataScreenVo.getWaterValueTodayUsage());
+                    energyScreen.setYesterdayConsume(dataScreenVo.getWaterValueYesterdayUsage());
+                    energyScreen.setWeekConsume(dataScreenVo.getWaterValueThisWeekUsage());
+                    energyScreen.setLastWeekConsume(dataScreenVo.getWaterValueLastWeekUsage());
+                    energyScreen.setMonthConsume(dataScreenVo.getWaterValueThisMonthUsage());
+                    energyScreen.setLastMonthConsume(dataScreenVo.getWaterValueLastMonthUsage());
+                    double day2 = Double.parseDouble(dataScreenVo.getWaterValueTodayUsage());
+                    double day3 = Double.parseDouble(dataScreenVo.getWaterValueYesterdayUsage());
+                    double week1 = Double.parseDouble(dataScreenVo.getWaterValueThisWeekUsage());
+                    double week2 = Double.parseDouble(dataScreenVo.getWaterValueLastWeekUsage());
+                    double month1 = Double.parseDouble(dataScreenVo.getWaterValueThisMonthUsage());
+                    double month2 = Double.parseDouble(dataScreenVo.getWaterValueLastMonthUsage());
+                    DecimalFormat def = new DecimalFormat("0.00");
+                    String day4 = def.format(day2 - day3);
+                    String week3 = def.format(week1 - week2);
+                    String month3 = def.format(month1 - month2);
+                    energyScreen.setDayDifference(day4);
+                    energyScreen.setWeekDifference(week3);
+                    energyScreen.setMonthDifference(month3);
+                } else {
+                    //用电
+                    energyScreen.setCreateDate(new Date());
+                    energyScreen.setTodayRead(dataScreenVo.getElectricityValueToday());
+                    energyScreen.setTodayConsume(dataScreenVo.getElectricityValueTodayUsage());
+                    energyScreen.setYesterdayConsume(dataScreenVo.getElectricityValueYesterdayUsage());
+                    energyScreen.setWeekConsume(dataScreenVo.getElectricityValueThisWeekUsage());
+                    energyScreen.setLastWeekConsume(dataScreenVo.getElectricityValueLastWeekUsage());
+                    energyScreen.setMonthConsume(dataScreenVo.getElectricityValueThisMonthUsage());
+                    energyScreen.setLastMonthConsume(dataScreenVo.getElectricityValueLastMonthUsage());
+                    double day2 = Double.parseDouble(dataScreenVo.getElectricityValueTodayUsage());
+                    double day3 = Double.parseDouble(dataScreenVo.getElectricityValueYesterdayUsage());
+                    double week1 = Double.parseDouble(dataScreenVo.getElectricityValueThisWeekUsage());
+                    double week2 = Double.parseDouble(dataScreenVo.getElectricityValueLastWeekUsage());
+                    double month1 = Double.parseDouble(dataScreenVo.getElectricityValueThisMonthUsage());
+                    double month2 = Double.parseDouble(dataScreenVo.getElectricityValueLastMonthUsage());
+                    DecimalFormat def = new DecimalFormat("0.00");
+                    String day4 = def.format(day2 - day3);
+                    String week3 = def.format(week1 - week2);
+                    String month3 = def.format(month1 - month2);
+                    energyScreen.setDayDifference(day4);
+                    energyScreen.setWeekDifference(week3);
+                    energyScreen.setMonthDifference(month3);
+                }
+                screenMapper.updateById(energyScreen);
+            }else {
+                //添加一天的第一条数据
+                EnergyScreen screen = new EnergyScreen();
+                if ("1".equals(envDevice.getRemark())) {
+                    //添加用水
+                    screen.setCreateDate(new Date());
+                    screen.setTodayRead(dataScreenVo.getWaterValueToday());
+                    screen.setTodayConsume(dataScreenVo.getWaterValueTodayUsage());
+                    screen.setYesterdayConsume(dataScreenVo.getWaterValueYesterdayUsage());
+                    screen.setWeekConsume(dataScreenVo.getWaterValueThisWeekUsage());
+                    screen.setLastWeekConsume(dataScreenVo.getWaterValueLastWeekUsage());
+                    screen.setMonthConsume(dataScreenVo.getWaterValueThisMonthUsage());
+                    screen.setLastMonthConsume(dataScreenVo.getWaterValueLastMonthUsage());
+                    double day2 = Double.parseDouble(dataScreenVo.getWaterValueTodayUsage());
+                    double day3 = Double.parseDouble(dataScreenVo.getWaterValueYesterdayUsage());
+                    double week1 = Double.parseDouble(dataScreenVo.getWaterValueThisWeekUsage());
+                    double week2 = Double.parseDouble(dataScreenVo.getWaterValueLastWeekUsage());
+                    double month1 = Double.parseDouble(dataScreenVo.getWaterValueThisMonthUsage());
+                    double month2 = Double.parseDouble(dataScreenVo.getWaterValueLastMonthUsage());
+                    DecimalFormat def = new DecimalFormat("0.00");
+                    String day4 = def.format(day2 - day3);
+                    String week3 = def.format(week1 - week2);
+                    String month3 = def.format(month1 - month2);
+                    screen.setDayDifference(day4);
+                    screen.setWeekDifference(week3);
+                    screen.setMonthDifference(month3);
+                    screen.setFarmId(35);
+                    screen.setBuildName(envDevice.getUnitName());
+                    screen.setDeviceCode(envDevice.getDeviceCode());
+                    screen.setType(1);
+                    screen.setFarmName("华统股份瑞溪智慧牧场");
+                } else {
+                    screen.setCreateDate(new Date());
+                    screen.setTodayRead(dataScreenVo.getElectricityValueToday());
+                    screen.setTodayConsume(dataScreenVo.getElectricityValueTodayUsage());
+                    screen.setYesterdayConsume(dataScreenVo.getElectricityValueYesterdayUsage());
+                    screen.setWeekConsume(dataScreenVo.getElectricityValueThisWeekUsage());
+                    screen.setLastWeekConsume(dataScreenVo.getElectricityValueLastWeekUsage());
+                    screen.setMonthConsume(dataScreenVo.getElectricityValueThisMonthUsage());
+                    screen.setLastMonthConsume(dataScreenVo.getElectricityValueLastMonthUsage());
+                    double day2 = Double.parseDouble(dataScreenVo.getElectricityValueTodayUsage());
+                    double day3 = Double.parseDouble(dataScreenVo.getElectricityValueYesterdayUsage());
+                    double week1 = Double.parseDouble(dataScreenVo.getElectricityValueThisWeekUsage());
+                    double week2 = Double.parseDouble(dataScreenVo.getElectricityValueLastWeekUsage());
+                    double month1 = Double.parseDouble(dataScreenVo.getElectricityValueThisMonthUsage());
+                    double month2 = Double.parseDouble(dataScreenVo.getElectricityValueLastMonthUsage());
+                    DecimalFormat def = new DecimalFormat("0.00");
+                    String day4 = def.format(day2 - day3);
+                    String week3 = def.format(week1 - week2);
+                    String month3 = def.format(month1 - month2);
+                    screen.setDayDifference(day4);
+                    screen.setWeekDifference(week3);
+                    screen.setMonthDifference(month3);
+                    screen.setFarmId(35);
+                    screen.setBuildName(envDevice.getUnitName());
+                    screen.setDeviceCode(envDevice.getDeviceCode());
+                    screen.setType(2);
+                    screen.setFarmName("华统股份瑞溪智慧牧场");
+                }
+                screenMapper.insert(screen);
+            }
+
+        }
+    }*/
     /**
      * 获取上周开始时间和结束时间
      */