ソースを参照

生物防控人员2

523096025 4 日 前
コミット
0bc2d8acb5

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

@@ -38,7 +38,7 @@ public class InterceptorConfig implements WebMvcConfigurer {
                         ,"/huatongApi/energy-data/getData21"
                         ,"/huatongApi/energy-data/getData22"
                         ,"/huatongApi/energy-data/getData30"
-                        ,"/huatongApi/test/test3"
+                        ,"/huatongApi/test/*"
                         ,"/huatongApi/energy-data/getDeviceStatus");
     }
 }

+ 8 - 3
huimv-admin/src/main/java/com/huimv/admin/controller/CameraHKVSSync.java

@@ -156,6 +156,7 @@ public class CameraHKVSSync {
         Map<String, Object> paramMap = new HashMap<String, Object>();// post请求Form表单参数
         paramMap.put("cameraIndexCode",cameraIndexCode);
         paramMap.put("streamType",0);
+//        paramMap.put("protocol","wss");
         paramMap.put("protocol","ws");
         paramMap.put("transmode",1);
         paramMap.put("expand","streamform=rtp");
@@ -200,6 +201,7 @@ public class CameraHKVSSync {
      * <p>请将地址配置正确.</p>
      * <p>默认情况下是127.0.0.1:80 ,如果地址不通请根据实际情况修改IP端口</p>
      */
+//    private static final String OPENAPI_IP_PORT_HTTP = "http://61.153.248.106:100";
     private static final String OPENAPI_IP_PORT_HTTP = "http://61.153.248.106:100";
 //    private static final String OPENAPI_IP_PORT_HTTP = "http://172.21.90:80";
 
@@ -282,7 +284,7 @@ public class CameraHKVSSync {
 //        System.out.println(testGetCameras_Https());
 
         /***http方式调用(海康新平台)***/
-//        String callPostApiGetSubRegions = callPostApiGetSubRegions();
+//        String callPostApiGetSubRegions = callPostApiGetSubRegions("500d8b6a-2554-43f3-bda7-e686577eb741");
 //        System.out.println(callPostApiGetSubRegions);
 //        HkvsRegionDto hkvsRegionDto = JSONUtil.toBean(callPostApiGetSubRegions, HkvsRegionDto.class);
 //        if (ObjectUtil.isNotEmpty(hkvsRegionDto) && "0".equals(hkvsRegionDto.getCode())) {
@@ -292,7 +294,7 @@ public class CameraHKVSSync {
 //                System.out.println(hkvsRegionDtoDatumList);
 //            }
 //        }
-//        String callPostApiGetCameras = callPostApiGetCameras();
+//        String callPostApiGetCameras = callPostApiGetCameras("901343d5-182e-4777-98fb-5451c153e61e");
 //        System.out.println(callPostApiGetCameras);
 //        HkvsNewCameraDto hkvsNewCameraDto = JSONUtil.toBean(callPostApiGetCameras, HkvsNewCameraDto.class);
 //        if (ObjectUtil.isNotEmpty(hkvsNewCameraDto) && "0".equals(hkvsNewCameraDto.getCode())) {
@@ -302,6 +304,8 @@ public class CameraHKVSSync {
 //                System.out.println(hkvsNewCameraDtoDatumList);
 //            }
 //        }
+        System.out.println(callPostApiGetPreviewURLs("83af6ee1565c46c9b096c7552cf75a51"));
+
     }
 
     /**
@@ -537,7 +541,8 @@ public class CameraHKVSSync {
 
     private static final String NEW_SECRET = "S5qgrKdBd75M0NZRzGAh";
 
-    private static final String OPENAPI_IP = "61.153.248.109";
+//    private static final String OPENAPI_IP = "61.153.248.109";
+    private static final String OPENAPI_IP = "www.htzj.fun";
 
     private static final String ZK_REGION = "500d8b6a-2554-43f3-bda7-e686577eb741";
 

+ 89 - 25
huimv-admin/src/main/java/com/huimv/admin/jinghongtimer/EnergyFeedTimer.java

@@ -87,6 +87,7 @@ public class EnergyFeedTimer {
                     energyData.setUnitId(energyEnvDevice.getUnitId());
                     energyData.setUnitName(energyEnvDevice.getUnitName());
                     energyData.setFarmId(energyEnvDevice.getFarmId());
+                    energyData.setOriginalFeedValue(record.getBeforeWeight()+"");
                     energyDataMapper.insert(energyData);
                 }
             }
@@ -95,42 +96,105 @@ public class EnergyFeedTimer {
     }
 
 
-    private  String getToke(){
+    private  String getToke() {
         String url = "http://api.infoexdata.cn/foreignApps/foreignApplications/getToken?appId=farnek23dxr5yk8ymvwuhbmup&appKey=x6re4jt63kcpyt3jhyjzb4ckj";
         TokenVo forObject = restTemplate.getForObject(url, TokenVo.class);
-        if (ObjectUtil.isNotEmpty(forObject) &&forObject.getCode() ==200 ){
+        if (ObjectUtil.isNotEmpty(forObject) && forObject.getCode() == 200) {
             return forObject.getData();
-        }else {
+        } else {
             return null;
         }
     }
+}
 
 
     //华统料塔
 //    @Scheduled(cron = "0 0 * * * ? ")
-//    private void action(){
-//        BigDecimal feedConsume;
-//        BasePigpen basePigpen = basePigpenMapper.selectOne(new QueryWrapper<BasePigpen>().lambda()
-//                .eq(BasePigpen::getFType, 3)
-//                .eq(BasePigpen::getFarmId, 26).last("Limit 1"));
-//        if (ObjectUtil.isNotEmpty(basePigpen)){
-//            EnergyData energyData = new EnergyData();
-//            ProdStock prodStock = prodStockMapper.selectOne(new QueryWrapper<ProdStock>().lambda()
-//                    .eq(ProdStock::getFarmId, 26)
-//                    .eq(ProdStock::getDisplayType, 0).orderByDesc(ProdStock::getCreatTime).last("LIMIT 1"));
-//            if (ObjectUtil.isNotEmpty(prodStock)){
-//                feedConsume = BigDecimal.valueOf((800*2.5)*prodStock.getZcl()/1000/12);
-//                feedConsume = feedConsume.setScale(2, RoundingMode.UP);
-//                energyData.setFeedValue(feedConsume.toString());
-//                energyData.setFarmId(26);
-//                energyData.setCreateDate(new Date());
-//                energyData.setDisplayType(1);
-//                energyData.setUnitId(basePigpen.getId());
-//                energyData.setUnitName(basePigpen.getBuildName());
-//                energyDataMapper.insert(energyData);
+//    public void action(){
+//        DateTime dateTime = DateUtil.offsetHour(new Date(),-1);
+//        DateTime endOfMonth = new DateTime();
+//        List<EnergyEnvDevice> remark = energyEnvDeviceMapper.selectList(new QueryWrapper<EnergyEnvDevice>().eq("remark", 3));
+//        String url = "http://api.infoexdata.cn/foreignApps/foreignerDevice/getDeviceInventoryList";
+//        String token = getToke();
+//        for (EnergyEnvDevice energyEnvDevice : remark) {
+//
+//            MultiValueMap<String, String> formData = new LinkedMultiValueMap<>();
+//            formData.add("pageNum", "1");
+//            formData.add("pageSize", "20");
+//            formData.add("uniqueNo", energyEnvDevice.getDeviceCode());
+//            formData.add("type", "2");
+//            formData.add("compensate", "0");
+//            formData.add("startTime", dateTime.toString("yyyy-MM-dd HH:mm:ss"));
+//            formData.add("endTime", endOfMonth.toString("yyyy-MM-dd HH:mm:ss"));
+//
+//            // 设置请求头,指定内容类型为 form-data
+//            HttpHeaders headers = new HttpHeaders();
+//            headers.set("token",token);
+//            headers.setContentType(MediaType.MULTIPART_FORM_DATA);
+//            // 创建 HttpEntity
+//            HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(formData, headers);
+//            // 发送 POST 请求
+//            ResponseEntity<EneryDataVo> response = restTemplate.postForEntity(url, requestEntity, EneryDataVo.class);
+//            EneryDataVo body = response.getBody();
+//            System.out.println(body);
+//            if (ObjectUtil.isEmpty(body) || ObjectUtil.isEmpty(body.getData())){
+//                continue;
 //            }
+//            if (body.getData().getRecords() !=null){
+//                List<EneryDataVo3> records = body.getData().getRecords();
+//                for (EneryDataVo3 record : records) {
+//                    EnergyData energyData = new EnergyData();
+////                    energyData.setCreateDate(DateUtil.parse(record.getEndTime(),"yyyy-MM-dd HH:mm:ss"));
+//                    energyData.setCreateDate(record.getEndTime());
+//                    energyData.setDisplayType(0);
+//                    energyData.setFeedValue(record.getNum()+"");
+//                    energyData.setUnitId(energyEnvDevice.getUnitId());
+//                    energyData.setUnitName(energyEnvDevice.getUnitName());
+//                    energyData.setFarmId(energyEnvDevice.getFarmId());
+//                    energyDataMapper.insert(energyData);
+//                }
+//            }
+//        }
 //
+//    }
+//
+//
+//    private  String getToke(){
+//        String url = "http://api.infoexdata.cn/foreignApps/foreignApplications/getToken?appId=farnek23dxr5yk8ymvwuhbmup&appKey=x6re4jt63kcpyt3jhyjzb4ckj";
+//        TokenVo forObject = restTemplate.getForObject(url, TokenVo.class);
+//        if (ObjectUtil.isNotEmpty(forObject) &&forObject.getCode() ==200 ){
+//            return forObject.getData();
+//        }else {
+//            return null;
 //        }
 //    }
-    //景宏料塔
-}
+//
+//
+//    //华统料塔
+////    @Scheduled(cron = "0 0 * * * ? ")
+////    private void action(){
+////        BigDecimal feedConsume;
+////        BasePigpen basePigpen = basePigpenMapper.selectOne(new QueryWrapper<BasePigpen>().lambda()
+////                .eq(BasePigpen::getFType, 3)
+////                .eq(BasePigpen::getFarmId, 26).last("Limit 1"));
+////        if (ObjectUtil.isNotEmpty(basePigpen)){
+////            EnergyData energyData = new EnergyData();
+////            ProdStock prodStock = prodStockMapper.selectOne(new QueryWrapper<ProdStock>().lambda()
+////                    .eq(ProdStock::getFarmId, 26)
+////                    .eq(ProdStock::getDisplayType, 0).orderByDesc(ProdStock::getCreatTime).last("LIMIT 1"));
+////            if (ObjectUtil.isNotEmpty(prodStock)){
+////                feedConsume = BigDecimal.valueOf((800*2.5)*prodStock.getZcl()/1000/12);
+////                feedConsume = feedConsume.setScale(2, RoundingMode.UP);
+////                energyData.setFeedValue(feedConsume.toString());
+////                energyData.setFarmId(26);
+////                energyData.setCreateDate(new Date());
+////                energyData.setDisplayType(1);
+////                energyData.setUnitId(basePigpen.getId());
+////                energyData.setUnitName(basePigpen.getBuildName());
+////                energyDataMapper.insert(energyData);
+////            }
+////
+////        }
+////    }
+//    //景宏料塔
+//}

+ 27 - 0
huimv-admin/src/main/java/com/huimv/admin/jinghongtimer/HexUtils.java

@@ -0,0 +1,27 @@
+package com.huimv.admin.jinghongtimer;
+
+public class HexUtils {
+    
+    // 16进制字符串转字节数组(例如:"A1B2" → byte[]{0xA1, 0xB2})
+    public static byte[] hexStringToBytes(String hex) {
+        hex = hex.replaceAll("\\s", ""); // 移除空格
+        if (hex.length() % 2 != 0) {
+            throw new IllegalArgumentException("Hex string length must be even");
+        }
+        byte[] bytes = new byte[hex.length() / 2];
+        for (int i = 0; i < hex.length(); i += 2) {
+            String byteStr = hex.substring(i, i + 2);
+            bytes[i/2] = (byte) Integer.parseInt(byteStr, 16);
+        }
+        return bytes;
+    }
+
+    // 字节数组转16进制字符串(带空格分隔)
+    public static String bytesToHexString(byte[] bytes) {
+        StringBuilder sb = new StringBuilder();
+        for (byte b : bytes) {
+            sb.append(String.format("%02X ", b));
+        }
+        return sb.toString().trim();
+    }
+}

+ 53 - 0
huimv-admin/src/main/java/com/huimv/admin/jinghongtimer/LiaoTaTimer.java

@@ -0,0 +1,53 @@
+package com.huimv.admin.jinghongtimer;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
+
+import java.io.*;
+import java.net.Socket;
+
+@Configuration
+@EnableScheduling
+public class LiaoTaTimer {
+    @Scheduled(cron = "0 59 * * * ? ")
+    private void readDataFromTcp()   {
+
+
+    }
+
+    public static void main(String[] args) throws IOException {
+
+        sendHexCommand("000000000006010300000068");
+    }
+
+
+    private static String host = "192.168.2.2";
+    private static Integer port =  502;
+    private static Integer timeout = 5000;
+    public static String sendHexCommand(String hexCommand) throws IOException {
+        try (Socket socket = new Socket(host, port)) {
+            socket.setSoTimeout(timeout);
+
+            // 发送16进制数据
+            OutputStream output = socket.getOutputStream();
+            byte[] commandBytes = HexUtils.hexStringToBytes(hexCommand);
+            output.write(commandBytes);
+            output.flush();
+
+            // 接收响应(需根据协议调整读取逻辑)
+            InputStream input = socket.getInputStream();
+            ByteArrayOutputStream buffer = new ByteArrayOutputStream();
+            byte[] temp = new byte[1024];
+            int bytesRead;
+            while ((bytesRead = input.read(temp)) != -1) {
+                buffer.write(temp, 0, bytesRead);
+                // 根据协议判断是否读取完成(示例:固定长度或结束符)
+                if (buffer.size() >= 128) { // 假设预期响应长度128字节
+                    break;
+                }
+            }
+            return HexUtils.bytesToHexString(buffer.toByteArray());
+        }
+    }
+}

+ 889 - 0
huimv-admin/src/main/java/com/huimv/admin/jinghongtimer/WaterAndElcTimer.java

@@ -0,0 +1,889 @@
+package com.huimv.admin.jinghongtimer;
+
+
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.admin.common.utils.DataUill;
+import com.huimv.admin.entity.EnergyEnvDevice;
+import com.huimv.admin.entity.EnergyScreen;
+import com.huimv.admin.entity.vo.EnergyDataScreenVo;
+import com.huimv.admin.mapper.EnergyDataMapper;
+import com.huimv.admin.mapper.EnergyEnvDeviceMapper;
+import com.huimv.admin.mapper.EnergyScreenMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
+
+import java.text.DecimalFormat;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+
+@Configuration
+@EnableScheduling
+public class WaterAndElcTimer {
+
+    @Autowired
+    private EnergyEnvDeviceMapper envDeviceMapper;
+    @Autowired
+    private EnergyDataMapper dataMapper;
+    @Autowired
+    private EnergyScreenMapper screenMapper;
+
+
+  //芙江28
+  @Scheduled(cron = "0 59 * * * ? ")
+  private void getShenChan19() throws Exception {
+      QueryWrapper<EnergyEnvDevice> queryWrapper = new QueryWrapper<>();
+      queryWrapper.eq("farm_id", 28);
+      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(), "28");
+
+          QueryWrapper<EnergyScreen> queryWrapper1 = new QueryWrapper<>();
+          queryWrapper1.eq("farm_id", 28).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);
+                  energyScreen.setBuildName(envDevice.getUnitName());
+              } else if ("3".equals(envDevice.getRemark())) {
+                  //用料
+                  energyScreen.setCreateDate(new Date());
+                  energyScreen.setTodayRead(dataScreenVo.getFeedValueToday());
+                  energyScreen.setTodayConsume(dataScreenVo.getFeedValueTodayUsage());
+                  energyScreen.setYesterdayConsume(dataScreenVo.getFeedValueYesterdayUsage());
+                  energyScreen.setWeekConsume(dataScreenVo.getFeedValueThisWeekUsage());
+                  energyScreen.setLastWeekConsume(dataScreenVo.getFeedValueLastWeekUsage());
+                  energyScreen.setMonthConsume(dataScreenVo.getFeedValueThisMonthUsage());
+                  energyScreen.setLastMonthConsume(dataScreenVo.getFeedValueLastMonthUsage());
+                  double day2 = Double.parseDouble(dataScreenVo.getFeedValueTodayUsage());
+                  double day3 = Double.parseDouble(dataScreenVo.getFeedValueYesterdayUsage());
+                  double week1 = Double.parseDouble(dataScreenVo.getFeedValueThisWeekUsage());
+                  double week2 = Double.parseDouble(dataScreenVo.getFeedValueLastWeekUsage());
+                  double month1 = Double.parseDouble(dataScreenVo.getFeedValueThisMonthUsage());
+                  double month2 = Double.parseDouble(dataScreenVo.getFeedValueLastMonthUsage());
+                  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.setBuildName(envDevice.getUnitName());
+                  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());
+                  energyScreen.setBuildName(envDevice.getUnitName());
+                  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(28);
+                  screen.setBuildName(envDevice.getUnitName());
+                  screen.setDeviceCode(envDevice.getDeviceCode());
+                  screen.setType(1);
+                  screen.setFarmName("芙江养殖基地");
+              } else if ("3".equals(envDevice.getRemark())) {
+                  screen.setCreateDate(new Date());
+                  screen.setTodayRead(dataScreenVo.getFeedValueToday());
+                  screen.setTodayConsume(dataScreenVo.getFeedValueTodayUsage());
+                  screen.setYesterdayConsume(dataScreenVo.getFeedValueYesterdayUsage());
+                  screen.setWeekConsume(dataScreenVo.getFeedValueThisWeekUsage());
+                  screen.setLastWeekConsume(dataScreenVo.getFeedValueLastWeekUsage());
+                  screen.setMonthConsume(dataScreenVo.getFeedValueThisMonthUsage());
+                  screen.setLastMonthConsume(dataScreenVo.getFeedValueLastMonthUsage());
+                  double day2 = Double.parseDouble(dataScreenVo.getFeedValueTodayUsage());
+                  double day3 = Double.parseDouble(dataScreenVo.getFeedValueYesterdayUsage());
+                  double week1 = Double.parseDouble(dataScreenVo.getFeedValueThisWeekUsage());
+                  double week2 = Double.parseDouble(dataScreenVo.getFeedValueLastWeekUsage());
+                  double month1 = Double.parseDouble(dataScreenVo.getFeedValueThisMonthUsage());
+                  double month2 = Double.parseDouble(dataScreenVo.getFeedValueLastMonthUsage());
+                  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(28);
+                  screen.setBuildName(envDevice.getUnitName());
+                  screen.setDeviceCode(envDevice.getDeviceCode());
+                  screen.setType(3);
+                  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(28);
+                  screen.setBuildName(envDevice.getUnitName());
+                  screen.setDeviceCode(envDevice.getDeviceCode());
+                  screen.setType(2);
+                  screen.setFarmName("芙江养殖基地");
+              }
+              screenMapper.insert(screen);
+          }
+
+      }
+  }
+
+    //庙贝29
+    @Scheduled(cron = "0 59 * * * ? ")
+    private void getShenChan20() throws Exception {
+        QueryWrapper<EnergyEnvDevice> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", 29);
+        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(), "29");
+
+            QueryWrapper<EnergyScreen> queryWrapper1 = new QueryWrapper<>();
+            queryWrapper1.eq("farm_id", 29).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());
+                    energyScreen.setBuildName(envDevice.getUnitName());
+                    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 if ("3".equals(envDevice.getRemark())) {
+                    //用料
+                    energyScreen.setCreateDate(new Date());
+                    energyScreen.setTodayRead(dataScreenVo.getFeedValueToday());
+                    energyScreen.setTodayConsume(dataScreenVo.getFeedValueTodayUsage());
+                    energyScreen.setYesterdayConsume(dataScreenVo.getFeedValueYesterdayUsage());
+                    energyScreen.setWeekConsume(dataScreenVo.getFeedValueThisWeekUsage());
+                    energyScreen.setLastWeekConsume(dataScreenVo.getFeedValueLastWeekUsage());
+                    energyScreen.setMonthConsume(dataScreenVo.getFeedValueThisMonthUsage());
+                    energyScreen.setLastMonthConsume(dataScreenVo.getFeedValueLastMonthUsage());
+                    energyScreen.setBuildName(envDevice.getUnitName());
+                    double day2 = Double.parseDouble(dataScreenVo.getFeedValueTodayUsage());
+                    double day3 = Double.parseDouble(dataScreenVo.getFeedValueYesterdayUsage());
+                    double week1 = Double.parseDouble(dataScreenVo.getFeedValueThisWeekUsage());
+                    double week2 = Double.parseDouble(dataScreenVo.getFeedValueLastWeekUsage());
+                    double month1 = Double.parseDouble(dataScreenVo.getFeedValueThisMonthUsage());
+                    double month2 = Double.parseDouble(dataScreenVo.getFeedValueLastMonthUsage());
+                    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());
+                    energyScreen.setBuildName(envDevice.getUnitName());
+                    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(29);
+                    screen.setBuildName(envDevice.getUnitName());
+                    screen.setDeviceCode(envDevice.getDeviceCode());
+                    screen.setType(1);
+                    screen.setFarmName("庙贝养殖基地");
+                }else if ("3".equals(envDevice.getRemark())) {
+                    screen.setCreateDate(new Date());
+                    screen.setTodayRead(dataScreenVo.getFeedValueToday());
+                    screen.setTodayConsume(dataScreenVo.getFeedValueTodayUsage());
+                    screen.setYesterdayConsume(dataScreenVo.getFeedValueYesterdayUsage());
+                    screen.setWeekConsume(dataScreenVo.getFeedValueThisWeekUsage());
+                    screen.setLastWeekConsume(dataScreenVo.getFeedValueLastWeekUsage());
+                    screen.setMonthConsume(dataScreenVo.getFeedValueThisMonthUsage());
+                    screen.setLastMonthConsume(dataScreenVo.getFeedValueLastMonthUsage());
+                    double day2 = Double.parseDouble(dataScreenVo.getFeedValueTodayUsage());
+                    double day3 = Double.parseDouble(dataScreenVo.getFeedValueYesterdayUsage());
+                    double week1 = Double.parseDouble(dataScreenVo.getFeedValueThisWeekUsage());
+                    double week2 = Double.parseDouble(dataScreenVo.getFeedValueLastWeekUsage());
+                    double month1 = Double.parseDouble(dataScreenVo.getFeedValueThisMonthUsage());
+                    double month2 = Double.parseDouble(dataScreenVo.getFeedValueLastMonthUsage());
+                    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(29);
+                    screen.setBuildName(envDevice.getUnitName());
+                    screen.setDeviceCode(envDevice.getDeviceCode());
+                    screen.setType(3);
+                    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(29);
+                    screen.setBuildName(envDevice.getUnitName());
+                    screen.setDeviceCode(envDevice.getDeviceCode());
+                    screen.setType(2);
+                    screen.setFarmName("庙贝养殖基地");
+                }
+                screenMapper.insert(screen);
+            }
+
+        }
+    }
+
+    //潞水30
+    @Scheduled(cron = "0 59 * * * ? ")
+    private void getShenChan21() throws Exception {
+        QueryWrapper<EnergyEnvDevice> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", 30);
+        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(), "30");
+
+            QueryWrapper<EnergyScreen> queryWrapper1 = new QueryWrapper<>();
+            queryWrapper1.eq("farm_id", 30).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());
+                    energyScreen.setBuildName(envDevice.getUnitName());
+                    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 if ("3".equals(envDevice.getRemark())) {
+                    //用料
+                    energyScreen.setCreateDate(new Date());
+                    energyScreen.setTodayRead(dataScreenVo.getFeedValueToday());
+                    energyScreen.setTodayConsume(dataScreenVo.getFeedValueTodayUsage());
+                    energyScreen.setYesterdayConsume(dataScreenVo.getFeedValueYesterdayUsage());
+                    energyScreen.setWeekConsume(dataScreenVo.getFeedValueThisWeekUsage());
+                    energyScreen.setLastWeekConsume(dataScreenVo.getFeedValueLastWeekUsage());
+                    energyScreen.setMonthConsume(dataScreenVo.getFeedValueThisMonthUsage());
+                    energyScreen.setLastMonthConsume(dataScreenVo.getFeedValueLastMonthUsage());
+                    double day2 = Double.parseDouble(dataScreenVo.getFeedValueTodayUsage());
+                    double day3 = Double.parseDouble(dataScreenVo.getFeedValueYesterdayUsage());
+                    double week1 = Double.parseDouble(dataScreenVo.getFeedValueThisWeekUsage());
+                    double week2 = Double.parseDouble(dataScreenVo.getFeedValueLastWeekUsage());
+                    double month1 = Double.parseDouble(dataScreenVo.getFeedValueThisMonthUsage());
+                    double month2 = Double.parseDouble(dataScreenVo.getFeedValueLastMonthUsage());
+                    energyScreen.setBuildName(envDevice.getUnitName());
+                    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());
+                    energyScreen.setBuildName(envDevice.getUnitName());
+                    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(30);
+                    screen.setBuildName(envDevice.getUnitName());
+                    screen.setDeviceCode(envDevice.getDeviceCode());
+                    screen.setType(1);
+                    screen.setFarmName("潞水养殖基地");
+                } else if ("3".equals(envDevice.getRemark())) {
+                    screen.setCreateDate(new Date());
+                    screen.setTodayRead(dataScreenVo.getFeedValueToday());
+                    screen.setTodayConsume(dataScreenVo.getFeedValueTodayUsage());
+                    screen.setYesterdayConsume(dataScreenVo.getFeedValueYesterdayUsage());
+                    screen.setWeekConsume(dataScreenVo.getFeedValueThisWeekUsage());
+                    screen.setLastWeekConsume(dataScreenVo.getFeedValueLastWeekUsage());
+                    screen.setMonthConsume(dataScreenVo.getFeedValueThisMonthUsage());
+                    screen.setLastMonthConsume(dataScreenVo.getFeedValueLastMonthUsage());
+                    double day2 = Double.parseDouble(dataScreenVo.getFeedValueTodayUsage());
+                    double day3 = Double.parseDouble(dataScreenVo.getFeedValueYesterdayUsage());
+                    double week1 = Double.parseDouble(dataScreenVo.getFeedValueThisWeekUsage());
+                    double week2 = Double.parseDouble(dataScreenVo.getFeedValueLastWeekUsage());
+                    double month1 = Double.parseDouble(dataScreenVo.getFeedValueThisMonthUsage());
+                    double month2 = Double.parseDouble(dataScreenVo.getFeedValueLastMonthUsage());
+                    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(30);
+                    screen.setBuildName(envDevice.getUnitName());
+                    screen.setDeviceCode(envDevice.getDeviceCode());
+                    screen.setType(3);
+                    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(30);
+                    screen.setBuildName(envDevice.getUnitName());
+                    screen.setDeviceCode(envDevice.getDeviceCode());
+                    screen.setType(2);
+                    screen.setFarmName("潞水养殖基地");
+                }
+                screenMapper.insert(screen);
+            }
+
+        }
+    }
+
+    //凤行31
+    @Scheduled(cron = "0 59 * * * ? ")
+    private void getShenChan22() throws Exception {
+        QueryWrapper<EnergyEnvDevice> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", 31);
+        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(), "31");
+
+            QueryWrapper<EnergyScreen> queryWrapper1 = new QueryWrapper<>();
+            queryWrapper1.eq("farm_id", 31).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());
+                    energyScreen.setBuildName(envDevice.getUnitName());
+                    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 if ("3".equals(envDevice.getRemark())) {
+                    //用料
+                    energyScreen.setCreateDate(new Date());
+                    energyScreen.setTodayRead(dataScreenVo.getFeedValueToday());
+                    energyScreen.setTodayConsume(dataScreenVo.getFeedValueTodayUsage());
+                    energyScreen.setYesterdayConsume(dataScreenVo.getFeedValueYesterdayUsage());
+                    energyScreen.setWeekConsume(dataScreenVo.getFeedValueThisWeekUsage());
+                    energyScreen.setLastWeekConsume(dataScreenVo.getFeedValueLastWeekUsage());
+                    energyScreen.setMonthConsume(dataScreenVo.getFeedValueThisMonthUsage());
+                    energyScreen.setLastMonthConsume(dataScreenVo.getFeedValueLastMonthUsage());
+                    energyScreen.setBuildName(envDevice.getUnitName());
+                    double day2 = Double.parseDouble(dataScreenVo.getFeedValueTodayUsage());
+                    double day3 = Double.parseDouble(dataScreenVo.getFeedValueYesterdayUsage());
+                    double week1 = Double.parseDouble(dataScreenVo.getFeedValueThisWeekUsage());
+                    double week2 = Double.parseDouble(dataScreenVo.getFeedValueLastWeekUsage());
+                    double month1 = Double.parseDouble(dataScreenVo.getFeedValueThisMonthUsage());
+                    double month2 = Double.parseDouble(dataScreenVo.getFeedValueLastMonthUsage());
+                    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());
+                    energyScreen.setBuildName(envDevice.getUnitName());
+                    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(31);
+                    screen.setBuildName(envDevice.getUnitName());
+                    screen.setDeviceCode(envDevice.getDeviceCode());
+                    screen.setType(1);
+                    screen.setFarmName("凤形养殖基地");
+                } else if ("3".equals(envDevice.getRemark())) {
+                    screen.setCreateDate(new Date());
+                    screen.setTodayRead(dataScreenVo.getFeedValueToday());
+                    screen.setTodayConsume(dataScreenVo.getFeedValueTodayUsage());
+                    screen.setYesterdayConsume(dataScreenVo.getFeedValueYesterdayUsage());
+                    screen.setWeekConsume(dataScreenVo.getFeedValueThisWeekUsage());
+                    screen.setLastWeekConsume(dataScreenVo.getFeedValueLastWeekUsage());
+                    screen.setMonthConsume(dataScreenVo.getFeedValueThisMonthUsage());
+                    screen.setLastMonthConsume(dataScreenVo.getFeedValueLastMonthUsage());
+                    double day2 = Double.parseDouble(dataScreenVo.getFeedValueTodayUsage());
+                    double day3 = Double.parseDouble(dataScreenVo.getFeedValueYesterdayUsage());
+                    double week1 = Double.parseDouble(dataScreenVo.getFeedValueThisWeekUsage());
+                    double week2 = Double.parseDouble(dataScreenVo.getFeedValueLastWeekUsage());
+                    double month1 = Double.parseDouble(dataScreenVo.getFeedValueThisMonthUsage());
+                    double month2 = Double.parseDouble(dataScreenVo.getFeedValueLastMonthUsage());
+                    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(31);
+                    screen.setBuildName(envDevice.getUnitName());
+                    screen.setDeviceCode(envDevice.getDeviceCode());
+                    screen.setType(3);
+                    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(31);
+                    screen.setBuildName(envDevice.getUnitName());
+                    screen.setDeviceCode(envDevice.getDeviceCode());
+                    screen.setType(2);
+                    screen.setFarmName("凤形养殖基地");
+                }
+                screenMapper.insert(screen);
+            }
+
+        }
+    }
+    /**
+     * 获取上周开始时间和结束时间
+     */
+    public static JSONObject getLastWeekRange() {
+        Calendar calendar = Calendar.getInstance();
+        calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
+        calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
+        calendar.add(Calendar.DAY_OF_WEEK, -7);
+        Date startTime = calendar.getTime();
+        calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 23, 59, 59);
+        calendar.add(Calendar.DAY_OF_WEEK, 6);
+        Date stopTime = calendar.getTime();
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("startTime", startTime);
+        jsonObject.put("stopTime", stopTime);
+        return jsonObject;
+    }
+
+    /**
+     * 获取上月开始时间和结束时间
+     */
+    public static JSONObject getLastMonthRange() {
+        Calendar calendar = Calendar.getInstance();
+        calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
+        calendar.add(Calendar.MONTH, -1);
+        calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
+        Date startTime = calendar.getTime();
+        calendar.add(Calendar.DAY_OF_WEEK, 7);
+        calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
+        //calendar.set(Calendar.HOUR_OF_DAY, 24);
+        calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 23, 59, 59);
+        Date stopTime = calendar.getTime();
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("startTime", startTime);
+        jsonObject.put("stopTime", stopTime);
+        return jsonObject;
+    }
+
+    /**
+     * 获取昨天开始时间和结束时间
+     */
+    public static JSONObject getYesterdayRange() {
+        Calendar calendar = Calendar.getInstance();
+        calendar.set(Calendar.MILLISECOND, 0);
+        calendar.set(Calendar.SECOND, 0);
+        calendar.set(Calendar.MINUTE, 0);
+        calendar.set(Calendar.HOUR_OF_DAY, -24);
+        Date startTime = calendar.getTime();
+        calendar.set(Calendar.MILLISECOND, 0);
+        calendar.set(Calendar.SECOND, 59);
+        calendar.set(Calendar.MINUTE, 59);
+        calendar.set(Calendar.HOUR_OF_DAY, 23);
+        Date stopTime = calendar.getTime();
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("startTime", startTime);
+        jsonObject.put("stopTime", stopTime);
+        return jsonObject;
+    }
+}

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

@@ -111,7 +111,8 @@ public class BaseSpecificVideoServiceImpl extends ServiceImpl<BaseSpecificVideoM
 
     private static final String NEW_SECRET = "S5qgrKdBd75M0NZRzGAh";
 
-    private static final String OPENAPI_IP = "61.153.248.109";
+//    private static final String OPENAPI_IP = "61.153.248.109";
+    private static final String OPENAPI_IP = "www.htzj.fun";
 
     private static final String ZK_REGION = "500d8b6a-2554-43f3-bda7-e686577eb741";
 

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

@@ -150,7 +150,8 @@ public class CameraAreaServiceImpl extends ServiceImpl<CameraAreaMapper, CameraA
                         cameraArea.setRegionUuid(dto.getIndexCode());
                         cameraArea.setParentUuid(dto.getParentIndexCode());
                         cameraArea.setFarmId(farmId);
-                        cameraArea.setPublicUrl("61.153.248.109");
+//                        cameraArea.setPublicUrl("61.153.248.109");
+                        cameraArea.setPublicUrl("www.htzj.fun");
                         this.save(cameraArea);
                     }
                 }

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

@@ -233,7 +233,8 @@ public class CameraBaseServiceImpl extends ServiceImpl<CameraBaseMapper, CameraB
 
     private static final String NEW_SECRET = "S5qgrKdBd75M0NZRzGAh";
 
-    private static final String OPENAPI_IP = "61.153.248.109";
+//    private static final String OPENAPI_IP = "61.153.248.109";
+    private static final String OPENAPI_IP = "www.htzj.fun";
 
     private static final String ZK_REGION = "500d8b6a-2554-43f3-bda7-e686577eb741";
 
@@ -275,9 +276,6 @@ public class CameraBaseServiceImpl extends ServiceImpl<CameraBaseMapper, CameraB
         return s;
     }
 
-    public static void main(String[] args) {
-
-    }
     /* *//**
      * 查询结果 转换成树形结构
      * @param bizBaseAreas 原始数据

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

@@ -1082,7 +1082,7 @@ public class ProtDataServiceImpl extends ServiceImpl<ProtDataMapper, ProtData> i
         QueryWrapper<ProtData> protDataQueryWrapper = new QueryWrapper<>();
         ArrayList<Map> maps = new ArrayList<>();
         Date now = new Date();
-        for (int i = 0; i < 8; i++) {
+        for (int i = 8; i >0 ; i--) {
             DateTime dateTime = DateUtil.offsetDay(now, -i);
             HashMap<Object, Object> objectObjectHashMap = new HashMap<>();
             ProtData protData = getListFlowScreenWrapper(protDataQueryWrapper,1,dateTime,farmId);
@@ -1100,11 +1100,13 @@ public class ProtDataServiceImpl extends ServiceImpl<ProtDataMapper, ProtData> i
     @Override
     public Result listAllScreen(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
         String farmId = paramsMap.get("farmId");
-        QueryWrapper<ProtData> queryWrapper = new QueryWrapper<ProtData>().eq("farm_id", farmId);
+        QueryWrapper<ProtData> queryWrapper = new QueryWrapper<ProtData>();
         Date date = new Date();
         List<ProtData> list   = new ArrayList();
         for (int i = 0; i < 8; i++) {
             DateTime dateTime = DateUtil.offsetDay(date, -i);
+            queryWrapper.clear();
+            queryWrapper.eq("farm_id", farmId);
             queryWrapper.select("create_date,MAX(CAST(ph AS DECIMAL(10,3) )) ph , MAX(CAST(cod AS DECIMAL(10,2) )) cod, MAX(CAST(NH3N AS DECIMAL(10,3) )) NH3N " +
                     ",MAX(CAST(other2 AS DECIMAL(10,3) )) other2 ");
             queryWrapper.between("create_date",DateUtil.beginOfDay(dateTime),DateUtil.endOfDay(dateTime));

+ 1 - 1
huimv-admin/src/main/resources/com/huimv/admin/mapper/EnergyDataMapper.xml

@@ -174,7 +174,7 @@ SELECT
     -- 当日读数
     CONVERT(IFNULL(SUM(CASE WHEN 1 = 1 THEN water_value ELSE 0 END), '0'), DECIMAL(10, 2)) AS waterValueToday,
     CONVERT(IFNULL(SUM(CASE WHEN 1 = 1 THEN electricity_value ELSE 0 END), '0'), DECIMAL(10, 2)) AS electricityValueToday,
-    CONVERT(IFNULL(SUM(CASE WHEN 1 = 1 THEN feed_value ELSE 0 END), '0'), DECIMAL(10, 2)) AS feedValueToday,
+    CONVERT(IFNULL( feed_value, '0'), DECIMAL(10, 2)) AS feedValueToday,
 
     -- 当日用量
     CONVERT(IFNULL(SUM(CASE WHEN create_date &gt;= #{today} THEN water_value ELSE 0 END), '0'), DECIMAL(10, 2)) AS waterValueTodayUsage,