wwh 8 月之前
父节点
当前提交
20003d7177

+ 11 - 0
huimv-env-admin/src/main/java/com/huimv/env/admin/controller/EnergyEnvDeviceController.java

@@ -87,4 +87,15 @@ public class EnergyEnvDeviceController {
         String path = "G://getData.xls";
         PdfUtil.returnPdfStream3(response, path, "电表列表");
     }
+
+    @GetMapping("/printDeviceList")
+    public void printDeviceList(HttpServletResponse response,@RequestParam("farmId") String farmId) throws Exception {
+        energyEnvDeviceService.getDeviceList(farmId);
+        String path = "G://getDeviceList.xls";
+        PdfUtil.returnPdfStream3(response, path, "水电表设备列表");
+    }
+    @RequestMapping("/updateStart")
+    public Result updateStart(@RequestBody Map<String, String> paramsMap) {
+        return energyEnvDeviceService.updateStart(paramsMap);
+    }
 }

+ 2 - 52
huimv-env-admin/src/main/java/com/huimv/env/admin/timer/WaterAndElectricity.java

@@ -47,11 +47,9 @@ public class WaterAndElectricity {
         HashMap<String, String> paramsMap = new HashMap<>();
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("result", devices);
-        System.out.println(jsonObject);
         paramsMap.put("Content-Type", "application/json;charset=utf-8");
         String post = HttpRequest.post("https://huatong.ifarmcloud.com/huatongApi/energy-data/getDeviceStatus")
                 .headerMap(paramsMap, false).body(jsonObject.toJSONString()).timeout(30 * 1000).execute().body();
-        System.out.println(post);
     }
 
 
@@ -98,11 +96,9 @@ public class WaterAndElectricity {
         HashMap<String, String> paramsMap = new HashMap<>();
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("result", jsonArray);
-        System.out.println(jsonObject);
         paramsMap.put("Content-Type", "application/json;charset=utf-8");
         String post = HttpRequest.post("https://huatong.ifarmcloud.com/huatongApi/energy-data/getData")
                 .headerMap(paramsMap, false).body(jsonObject.toJSONString()).timeout(30 * 1000).execute().body();
-        System.out.println(post);
     }
 
     @Scheduled(cron = "0 59 * * * ? ")
@@ -161,11 +157,9 @@ public class WaterAndElectricity {
         HashMap<String, String> paramsMap = new HashMap<>();
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("result", jsonArray);
-        System.out.println(jsonObject);
         paramsMap.put("Content-Type", "application/json;charset=utf-8");
         String post = HttpRequest.post("https://huatong.ifarmcloud.com/huatongApi/energy-data/getData2")
                 .headerMap(paramsMap, false).body(jsonObject.toJSONString()).timeout(30 * 1000).execute().body();
-        System.out.println(post);
     }
 
 
@@ -208,28 +202,12 @@ public class WaterAndElectricity {
             jsonArray.add(jsonObject);
         }
 
-//        RestTemplate restTemplate = new RestTemplate();
-//        HttpHeaders headers = new HttpHeaders();
-//        headers.setContentType(MediaType.APPLICATION_JSON);
-//
-//        MultiValueMap<String, Object> map = new LinkedMultiValueMap<>();
-////        Map<String, Object> map = new HashMap<>();
-//        map.put("result", jsonArray);
-//
-//        HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity<>(map, headers);
-//
-//        String url = "https://huatong.ifarmcloud.com/huatongApi/energy-data/getData";
-//        String responseBody = restTemplate.postForObject(url, httpEntity, String.class);
-//        System.out.println(responseBody);
-
         HashMap<String, String> paramsMap = new HashMap<>();
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("result", jsonArray);
-        System.out.println(jsonObject);
         paramsMap.put("Content-Type", "application/json;charset=utf-8");
         String post = HttpRequest.post("https://huatong.ifarmcloud.com/huatongApi/energy-data/getData3")
                 .headerMap(paramsMap, false).body(jsonObject.toJSONString()).timeout(30 * 1000).execute().body();
-        System.out.println(post);
     }
 
     @Scheduled(cron = "0 59 * * * ? ")
@@ -275,11 +253,10 @@ public class WaterAndElectricity {
         HashMap<String, String> paramsMap = new HashMap<>();
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("result", jsonArray);
-        System.out.println(jsonObject);
         paramsMap.put("Content-Type", "application/json;charset=utf-8");
         String post = HttpRequest.post("https://huatong.ifarmcloud.com/huatongApi/energy-data/getData4")
                 .headerMap(paramsMap, false).body(jsonObject.toJSONString()).timeout(30 * 1000).execute().body();
-        System.out.println(post);
+
     }
 
     //正康21
@@ -326,11 +303,10 @@ public class WaterAndElectricity {
         HashMap<String, String> paramsMap = new HashMap<>();
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("result", jsonArray);
-        System.out.println(jsonObject);
         paramsMap.put("Content-Type", "application/json;charset=utf-8");
         String post = HttpRequest.post("https://huatong.ifarmcloud.com/huatongApi/energy-data/getData5")
                 .headerMap(paramsMap, false).body(jsonObject.toJSONString()).timeout(30 * 1000).execute().body();
-        System.out.println(post);
+
     }
 
     //莲花28
@@ -377,11 +353,9 @@ public class WaterAndElectricity {
         HashMap<String, String> paramsMap = new HashMap<>();
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("result", jsonArray);
-        System.out.println(jsonObject);
         paramsMap.put("Content-Type", "application/json;charset=utf-8");
         String post = HttpRequest.post("https://huatong.ifarmcloud.com/huatongApi/energy-data/getData6")
                 .headerMap(paramsMap, false).body(jsonObject.toJSONString()).timeout(30 * 1000).execute().body();
-        System.out.println(post);
     }
 
     //百风林31
@@ -427,11 +401,9 @@ public class WaterAndElectricity {
         HashMap<String, String> paramsMap = new HashMap<>();
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("result", jsonArray);
-        System.out.println(jsonObject);
         paramsMap.put("Content-Type", "application/json;charset=utf-8");
         String post = HttpRequest.post("https://huatong.ifarmcloud.com/huatongApi/energy-data/getData7")
                 .headerMap(paramsMap, false).body(jsonObject.toJSONString()).timeout(30 * 1000).execute().body();
-        System.out.println(post);
     }
 
     //瑞溪32
@@ -476,11 +448,9 @@ public class WaterAndElectricity {
         HashMap<String, String> paramsMap = new HashMap<>();
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("result", jsonArray);
-        System.out.println(jsonObject);
         paramsMap.put("Content-Type", "application/json;charset=utf-8");
         String post = HttpRequest.post("https://huatong.ifarmcloud.com/huatongApi/energy-data/getData8")
                 .headerMap(paramsMap, false).body(jsonObject.toJSONString()).timeout(30 * 1000).execute().body();
-        System.out.println(post);
     }
 
 
@@ -526,11 +496,9 @@ public class WaterAndElectricity {
         HashMap<String, String> paramsMap = new HashMap<>();
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("result", jsonArray);
-        System.out.println(jsonObject);
         paramsMap.put("Content-Type", "application/json;charset=utf-8");
         String post = HttpRequest.post("https://huatong.ifarmcloud.com/huatongApi/energy-data/getData9")
                 .headerMap(paramsMap, false).body(jsonObject.toJSONString()).timeout(30 * 1000).execute().body();
-        System.out.println(post);
     }
 
     //瓦垚头33
@@ -575,11 +543,9 @@ public class WaterAndElectricity {
         HashMap<String, String> paramsMap = new HashMap<>();
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("result", jsonArray);
-        System.out.println(jsonObject);
         paramsMap.put("Content-Type", "application/json;charset=utf-8");
         String post = HttpRequest.post("https://huatong.ifarmcloud.com/huatongApi/energy-data/getData10")
                 .headerMap(paramsMap, false).body(jsonObject.toJSONString()).timeout(30 * 1000).execute().body();
-        System.out.println(post);
     }
 
     //下各水34
@@ -624,11 +590,9 @@ public class WaterAndElectricity {
         HashMap<String, String> paramsMap = new HashMap<>();
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("result", jsonArray);
-        System.out.println(jsonObject);
         paramsMap.put("Content-Type", "application/json;charset=utf-8");
         String post = HttpRequest.post("https://huatong.ifarmcloud.com/huatongApi/energy-data/getData11")
                 .headerMap(paramsMap, false).body(jsonObject.toJSONString()).timeout(30 * 1000).execute().body();
-        System.out.println(post);
     }
 
     //同壮35
@@ -673,11 +637,9 @@ public class WaterAndElectricity {
         HashMap<String, String> paramsMap = new HashMap<>();
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("result", jsonArray);
-        System.out.println(jsonObject);
         paramsMap.put("Content-Type", "application/json;charset=utf-8");
         String post = HttpRequest.post("https://huatong.ifarmcloud.com/huatongApi/energy-data/getData12")
                 .headerMap(paramsMap, false).body(jsonObject.toJSONString()).timeout(30 * 1000).execute().body();
-        System.out.println(post);
     }
 
     //天台27
@@ -722,11 +684,9 @@ public class WaterAndElectricity {
         HashMap<String, String> paramsMap = new HashMap<>();
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("result", jsonArray);
-        System.out.println(jsonObject);
         paramsMap.put("Content-Type", "application/json;charset=utf-8");
         String post = HttpRequest.post("https://huatong.ifarmcloud.com/huatongApi/energy-data/getData13")
                 .headerMap(paramsMap, false).body(jsonObject.toJSONString()).timeout(30 * 1000).execute().body();
-        System.out.println(post);
     }
 
     //里塘36
@@ -771,11 +731,9 @@ public class WaterAndElectricity {
         HashMap<String, String> paramsMap = new HashMap<>();
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("result", jsonArray);
-        System.out.println(jsonObject);
         paramsMap.put("Content-Type", "application/json;charset=utf-8");
         String post = HttpRequest.post("https://huatong.ifarmcloud.com/huatongApi/energy-data/getData14")
                 .headerMap(paramsMap, false).body(jsonObject.toJSONString()).timeout(30 * 1000).execute().body();
-        System.out.println(post);
     }
 
     //苍杭37
@@ -820,11 +778,9 @@ public class WaterAndElectricity {
         HashMap<String, String> paramsMap = new HashMap<>();
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("result", jsonArray);
-        System.out.println(jsonObject);
         paramsMap.put("Content-Type", "application/json;charset=utf-8");
         String post = HttpRequest.post("https://huatong.ifarmcloud.com/huatongApi/energy-data/getData15")
                 .headerMap(paramsMap, false).body(jsonObject.toJSONString()).timeout(30 * 1000).execute().body();
-        System.out.println(post);
     }
 
     //乐清38
@@ -869,11 +825,9 @@ public class WaterAndElectricity {
         HashMap<String, String> paramsMap = new HashMap<>();
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("result", jsonArray);
-        System.out.println(jsonObject);
         paramsMap.put("Content-Type", "application/json;charset=utf-8");
         String post = HttpRequest.post("https://huatong.ifarmcloud.com/huatongApi/energy-data/getData16")
                 .headerMap(paramsMap, false).body(jsonObject.toJSONString()).timeout(30 * 1000).execute().body();
-        System.out.println(post);
     }
 
     //三亩田39
@@ -918,11 +872,9 @@ public class WaterAndElectricity {
         HashMap<String, String> paramsMap = new HashMap<>();
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("result", jsonArray);
-        System.out.println(jsonObject);
         paramsMap.put("Content-Type", "application/json;charset=utf-8");
         String post = HttpRequest.post("https://huatong.ifarmcloud.com/huatongApi/energy-data/getData17")
                 .headerMap(paramsMap, false).body(jsonObject.toJSONString()).timeout(30 * 1000).execute().body();
-        System.out.println(post);
     }
 
     //东阳24
@@ -967,10 +919,8 @@ public class WaterAndElectricity {
         HashMap<String, String> paramsMap = new HashMap<>();
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("result", jsonArray);
-        System.out.println(jsonObject);
         paramsMap.put("Content-Type", "application/json;charset=utf-8");
         String post = HttpRequest.post("https://huatong.ifarmcloud.com/huatongApi/energy-data/getData18")
                 .headerMap(paramsMap, false).body(jsonObject.toJSONString()).timeout(30 * 1000).execute().body();
-        System.out.println(post);
     }
 }

+ 21 - 0
huimv-env-common/pom.xml

@@ -256,4 +256,25 @@
                 <version>1.0.6</version>
             </dependency>
         </dependencies>
+    <!--在build中配置resources,来防止我们资源导出失败的问题-->
+    <build>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+                <includes>
+                    <include>**/*.properties</include>
+                    <include>**/*.xml</include>
+                </includes>
+                <filtering>true</filtering>
+            </resource>
+            <resource>
+                <directory>src/main/java</directory>
+                <includes>
+                    <include>**/*.properties</include>
+                    <include>**/*.xml</include>
+                </includes>
+                <filtering>true</filtering>
+            </resource>
+        </resources>
+    </build>
 </project>

+ 2 - 1
huimv-env-common/src/main/java/com/huimv/env/common/config/InterceptorConfig.java

@@ -23,6 +23,7 @@ public class InterceptorConfig implements WebMvcConfigurer {
     public void addInterceptors(InterceptorRegistry registry) {
         registry.addInterceptor(jwtInterceptor()).
                 excludePathPatterns("/huimvAdmin/admin/my/*","/huimvAdmin/arrange-record/test")
-                .excludePathPatterns("/huimvAdmin/receive/feed","/huimvAdmin/energy-electricity/sendData","/huimvAdmin/admin/energyEnvDevice/printData");
+                .excludePathPatterns("/huimvAdmin/receive/feed","/huimvAdmin/energy-electricity/sendData"
+                        ,"/huimvAdmin/admin/energyEnvDevice/printData","/huimvAdmin/admin/energyEnvDevice/printDeviceList");
     }
 }

+ 13 - 0
huimv-env-common/src/main/java/com/huimv/env/common/entity/vo/DeviceListVo.java

@@ -0,0 +1,13 @@
+package com.huimv.env.common.entity.vo;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class DeviceListVo {
+    private String deviceCode;
+    private String buildName;
+    private Integer count;
+    private String type;
+}

+ 4 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/IEnergyEnvDeviceService.java

@@ -36,4 +36,8 @@ public interface IEnergyEnvDeviceService extends IService<EnergyEnvDevice> {
     Result updateName(HttpServletRequest httpServletRequest, MultipartFile files) throws Exception;
 
     void getData() throws Exception;
+
+    void getDeviceList(String farmId) throws Exception;
+
+    Result updateStart(Map<String, String> paramsMap);
 }

+ 118 - 52
huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnergyEnvDeviceServiceImpl.java

@@ -9,11 +9,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
 import com.huimv.env.common.entity.BaseFarm;
+import com.huimv.env.common.entity.EnergyElectricity;
 import com.huimv.env.common.entity.EnergyEnvDevice;
-import com.huimv.env.common.entity.vo.EnergyEnvImport;
-import com.huimv.env.common.entity.vo.EnergyUpdateVo;
-import com.huimv.env.common.entity.vo.GetWaterAndElectricityVo;
-import com.huimv.env.common.entity.vo.WaterAndElectricityCount;
+import com.huimv.env.common.entity.EnergyWater;
+import com.huimv.env.common.entity.vo.*;
 import com.huimv.env.common.mapper.*;
 import com.huimv.env.common.service.IEnergyElectricityService;
 import com.huimv.env.common.service.IEnergyEnvDeviceService;
@@ -26,16 +25,19 @@ import org.apache.poi.ss.usermodel.Workbook;
 import org.hibernate.engine.jdbc.batch.spi.Batch;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
 import java.io.InputStream;
+import java.math.BigDecimal;
+import java.text.DecimalFormat;
 import java.text.NumberFormat;
 import java.util.*;
 
 /**
  * <p>
- *  服务实现类
+ * 服务实现类
  * </p>
  *
  * @author author
@@ -64,15 +66,15 @@ public class EnergyEnvDeviceServiceImpl extends ServiceImpl<EnergyEnvDeviceMappe
         String farmId = paramsMap.get("farmId");
         String pageSize = paramsMap.get("pageSize");
         String pageNo = paramsMap.get("pageNum");
-        if (pageSize==null||pageSize=="") {
+        if (pageSize == null || pageSize == "") {
             pageSize = "10";
         }
-        if (pageNo==null||pageNo=="") {
+        if (pageNo == null || pageNo == "") {
             pageNo = "1";
         }
         QueryWrapper<EnergyEnvDevice> queryWrapper = new QueryWrapper<>();
-        queryWrapper.like(StringUtils.isNotBlank(deviceCode),"device_code",deviceCode);
-        queryWrapper.eq(StringUtils.isNotBlank(status),"device_status",status);
+        queryWrapper.like(StringUtils.isNotBlank(deviceCode), "device_code", deviceCode);
+        queryWrapper.eq(StringUtils.isNotBlank(status), "device_status", status);
         queryWrapper.eq("farm_id", farmId);
         if ("1".equals(type)) {
             queryWrapper.in("device_type", 1, 2);
@@ -80,8 +82,8 @@ public class EnergyEnvDeviceServiceImpl extends ServiceImpl<EnergyEnvDeviceMappe
         if ("3".equals(type)) {
             queryWrapper.eq("device_type", 3);
         }
-        Page<EnergyEnvDevice> page = new Page(Integer.parseInt(pageNo),Integer.parseInt(pageSize));
-        return new Result(ResultCode.SUCCESS,energyEnvDeviceMapper.selectPage(page, queryWrapper));
+        Page<EnergyEnvDevice> page = new Page(Integer.parseInt(pageNo), Integer.parseInt(pageSize));
+        return new Result(ResultCode.SUCCESS, energyEnvDeviceMapper.selectPage(page, queryWrapper));
     }
 
     @Override
@@ -90,53 +92,40 @@ public class EnergyEnvDeviceServiceImpl extends ServiceImpl<EnergyEnvDeviceMappe
         farmQueryWrapper.eq("id", energyEnvDevice.getFarmId());
         BaseFarm farm = farmMapper.selectOne(farmQueryWrapper);
         QueryWrapper<EnergyEnvDevice> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("device_name", energyEnvDevice.getDeviceName()).eq("farm_id",energyEnvDevice.getFarmId());
-        Integer count = energyEnvDeviceMapper.selectCount(queryWrapper);
-        if (count>0) {
-            return new Result(10001,"设备名称已存在",false);
-        }
         queryWrapper.clear();
-        queryWrapper.eq("device_code", energyEnvDevice.getDeviceCode()).eq("farm_id",energyEnvDevice.getFarmId());
-        Integer count1= energyEnvDeviceMapper.selectCount(queryWrapper);
-        if (count1>0) {
-            return new Result(10001,"设备id已存在",false);
+        queryWrapper.eq("device_code", energyEnvDevice.getDeviceCode()).eq("farm_id", energyEnvDevice.getFarmId());
+        Integer count1 = energyEnvDeviceMapper.selectCount(queryWrapper);
+        if (count1 > 0) {
+            return new Result(10001, "设备id已存在", false);
         }
         queryWrapper.clear();
-        queryWrapper.eq("unit_id", energyEnvDevice.getUnitId()).eq("farm_id",energyEnvDevice.getFarmId());
-        Integer count2= energyEnvDeviceMapper.selectCount(queryWrapper);
-        if (count2>0) {
-            return new Result(10001,"该单元已绑定设备",false);
+        queryWrapper.eq("unit_id", energyEnvDevice.getUnitId()).eq("farm_id", energyEnvDevice.getFarmId());
+        Integer count2 = energyEnvDeviceMapper.selectCount(queryWrapper);
+        if (count2 > 0) {
+            return new Result(10001, "该单元已绑定设备", false);
         }
         energyEnvDevice.setRemark(farm.getFarmName());
+        energyEnvDevice.setUnitName(energyEnvDevice.getDeviceName());
         energyEnvDeviceMapper.insert(energyEnvDevice);
-        return new Result(ResultCode.SUCCESS,"添加成功");
+        return new Result(ResultCode.SUCCESS, "添加成功");
     }
 
     @Override
-    public Result edit(HttpServletRequest httpServletRequest,  EnergyEnvDevice energyEnvDevice) {
-        String deviceName = energyEnvDevice.getDeviceName();
-
+    public Result edit(HttpServletRequest httpServletRequest, EnergyEnvDevice energyEnvDevice) {
         QueryWrapper<EnergyEnvDevice> queryWrapper1 = new QueryWrapper<>();
-        queryWrapper1.eq(StringUtils.isNotBlank(deviceName), "device_name", deviceName).ne("id", energyEnvDevice.getId())
-                .eq("farm_id", energyEnvDevice.getFarmId());
-
-        Integer count = energyEnvDeviceMapper.selectCount(queryWrapper1);
-        if (count>0) {
-            return new Result(10001,"设备名称已存在",false);
-        }
         queryWrapper1.clear();
-        queryWrapper1.eq("device_code", energyEnvDevice.getDeviceCode()).eq("farm_id",energyEnvDevice.getFarmId()).ne("id",energyEnvDevice.getId());
-        Integer count1= energyEnvDeviceMapper.selectCount(queryWrapper1);
-        if (count1>0) {
-            return new Result(10001,"设备id已存在",false);
+        queryWrapper1.eq("device_code", energyEnvDevice.getDeviceCode()).eq("farm_id", energyEnvDevice.getFarmId()).ne("id", energyEnvDevice.getId());
+        Integer count1 = energyEnvDeviceMapper.selectCount(queryWrapper1);
+        if (count1 > 0) {
+            return new Result(10001, "设备id已存在", false);
         }
         queryWrapper1.clear();
-        queryWrapper1.eq("unit_id", energyEnvDevice.getUnitId()).eq("farm_id",energyEnvDevice.getFarmId()).ne("id",energyEnvDevice.getId());
-        Integer count2= energyEnvDeviceMapper.selectCount(queryWrapper1);
-        if (count2>0) {
-            return new Result(10001,"该单元已绑定设备",false);
+        queryWrapper1.eq("unit_id", energyEnvDevice.getUnitId()).eq("farm_id", energyEnvDevice.getFarmId()).ne("id", energyEnvDevice.getId());
+        Integer count2 = energyEnvDeviceMapper.selectCount(queryWrapper1);
+        if (count2 > 0) {
+            return new Result(10001, "该单元已绑定设备", false);
         }
-         energyEnvDeviceMapper.updateById(energyEnvDevice);
+        energyEnvDeviceMapper.updateById(energyEnvDevice);
         return new Result(ResultCode.SUCCESS);
     }
 
@@ -147,17 +136,17 @@ public class EnergyEnvDeviceServiceImpl extends ServiceImpl<EnergyEnvDeviceMappe
         QueryWrapper<EnergyEnvDevice> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("id", id).eq("farm_id", farmId);
         energyEnvDeviceMapper.delete(queryWrapper);
-        return new Result(ResultCode.SUCCESS,"删除成功");
+        return new Result(ResultCode.SUCCESS, "删除成功");
     }
 
     @Override
     public Result bandingUnitId(HttpServletRequest httpServletRequest, EnergyEnvDevice envDevice) {
         Integer unitId = envDevice.getUnitId();
         int count = this.count(new QueryWrapper<EnergyEnvDevice>().eq("unit_id", unitId));
-        if (count>0){
-            return new Result(10001,"绑定失败,该栋舍已有设备",false);
+        if (count > 0) {
+            return new Result(10001, "绑定失败,该栋舍已有设备", false);
         }
-        return new Result(10000,"绑定成功",true);
+        return new Result(10000, "绑定成功", true);
     }
 
     @Override
@@ -174,14 +163,14 @@ public class EnergyEnvDeviceServiceImpl extends ServiceImpl<EnergyEnvDeviceMappe
             jsonObject.put("OnDeviceRate", 0);
         } else {
             QueryWrapper<EnergyEnvDevice> queryWrapper1 = new QueryWrapper<>();
-            queryWrapper1.eq("device_status", 1).eq("farm_id",farmId);
+            queryWrapper1.eq("device_status", 1).eq("farm_id", farmId);
             Integer count1 = energyEnvDeviceMapper.selectCount(queryWrapper1);
-            Integer OffDeviceCount = count- count1;
+            Integer OffDeviceCount = count - count1;
             //创建一个数值格式化对象
             NumberFormat numberFormat = NumberFormat.getInstance();
             //设置精确到小数点后两位
             numberFormat.setMaximumFractionDigits(2);
-            String onDeviceRate = numberFormat.format((float)count1 / (float) count* 100) + "%";
+            String onDeviceRate = numberFormat.format((float) count1 / (float) count * 100) + "%";
             jsonObject.put("DeviceCount", count);
             jsonObject.put("OnDeviceCount", count1);
             jsonObject.put("OffDeviceCount", OffDeviceCount);
@@ -261,7 +250,7 @@ public class EnergyEnvDeviceServiceImpl extends ServiceImpl<EnergyEnvDeviceMappe
             Sheet sheet = workbook.getSheetAt(0);
             List<EnergyUpdateVo> list = ExcelImportSheet.getListFromExcel(sheet, EnergyUpdateVo.class, map);
             QueryWrapper<EnergyEnvDevice> queryWrapper = new QueryWrapper<>();
-            queryWrapper.in("device_type", 1,2);
+            queryWrapper.in("device_type", 1, 2);
             List<EnergyEnvDevice> envDevices = energyEnvDeviceMapper.selectList(queryWrapper);
             for (EnergyUpdateVo energyUpdateVo : list) {
                 if (StringUtils.isNotBlank(energyUpdateVo.getDeviceCode())) {
@@ -306,4 +295,81 @@ public class EnergyEnvDeviceServiceImpl extends ServiceImpl<EnergyEnvDeviceMappe
         Print.printDuck(voList);
     }
 
+    @Override
+    public void getDeviceList(String farmId) throws Exception {
+        List<EnergyEnvDevice> devices = energyEnvDeviceMapper.selectList(new QueryWrapper<EnergyEnvDevice>().eq("farm_id", farmId));
+        List<DeviceListVo> voList = new ArrayList<>();
+        for (EnergyEnvDevice device : devices) {
+            DeviceListVo deviceListVo = new DeviceListVo();
+            if (device.getDeviceType() == 1 || device.getDeviceType() == 2) {
+                deviceListVo.setType("水表");
+                deviceListVo.setBuildName(device.getDeviceName());
+                deviceListVo.setCount(0);
+                deviceListVo.setDeviceCode(device.getDeviceCode());
+            }
+            if (device.getDeviceType()==3) {
+                deviceListVo.setType("电表");
+                deviceListVo.setBuildName(device.getDeviceName());
+                deviceListVo.setCount(device.getTransformer());
+                deviceListVo.setDeviceCode(device.getDeviceCode());
+            }
+            voList.add(deviceListVo);
+        }
+        Print.printDeviceList(voList);
+    }
+
+    @Transactional
+    @Override
+    public Result updateStart(Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        QueryWrapper<EnergyEnvDevice> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId);
+        List<EnergyEnvDevice> devices = energyEnvDeviceMapper.selectList(queryWrapper);
+        for (EnergyEnvDevice device : devices) {
+            if (device.getDeviceType() == 3) {
+                //dian
+                QueryWrapper<EnergyElectricity> queryWrapper1 = new QueryWrapper<>();
+                queryWrapper1.eq("chip_code", device.getDeviceCode()).orderByAsc("id").last(" limit 1");
+                EnergyElectricity electricity = electricityMapper.selectOne(queryWrapper1);
+
+                QueryWrapper<EnergyElectricity> queryWrapper2 = new QueryWrapper<>();
+                queryWrapper2.eq("chip_code", device.getDeviceCode()).orderByDesc("id").last(" limit 1");
+                EnergyElectricity electricity1 = electricityMapper.selectOne(queryWrapper2);
+                if (ObjectUtil.isNotEmpty(electricity)) {
+                    if (StringUtils.isNotBlank(electricity.getOther3())) {
+                        BigDecimal b1 = new BigDecimal(electricity.getOther3());//最初的数据
+                        BigDecimal b2 = new BigDecimal(electricity1.getOther3());
+                        BigDecimal subtract = b2.subtract(b1);
+                        String s = subtract.toString();
+                        System.out.println(s);
+                        DecimalFormat def = new DecimalFormat("#.0");
+                        electricity1.setOther3(def.format(subtract));
+                        electricityMapper.updateById(electricity1);
+                    }
+                }
+            } else {
+                //shui
+                QueryWrapper<EnergyWater> queryWrapper1 = new QueryWrapper<>();
+                queryWrapper1.eq("chip_code", device.getDeviceCode()).orderByAsc("id").last(" limit 1");
+                EnergyWater electricity = waterMapper.selectOne(queryWrapper1);
+
+                QueryWrapper<EnergyWater> queryWrapper2 = new QueryWrapper<>();
+                queryWrapper2.eq("chip_code", device.getDeviceCode()).orderByDesc("id").last(" limit 1");
+                EnergyWater electricity1 = waterMapper.selectOne(queryWrapper2);
+                if (ObjectUtil.isNotEmpty(electricity)) {
+                    if (StringUtils.isNotBlank(electricity.getOther3())) {
+                        BigDecimal b1 = new BigDecimal(electricity.getOther3());//最初的数据
+                        BigDecimal b2 = new BigDecimal(electricity1.getOther3());
+                        BigDecimal subtract = b2.subtract(b1);
+                        DecimalFormat def = new DecimalFormat("#.0");
+                        electricity1.setOther3(def.format(subtract.toString()));
+                        waterMapper.updateById(electricity1);
+                    }
+                }
+
+            }
+        }
+        return Result.SUCCESS();
+    }
+
 }

+ 27 - 0
huimv-env-common/src/main/java/com/huimv/env/common/utils/Print.java

@@ -2,6 +2,7 @@ package com.huimv.env.common.utils;
 
 import cn.hutool.core.util.ObjectUtil;
 import com.huimv.env.common.entity.EnergyWater;
+import com.huimv.env.common.entity.vo.DeviceListVo;
 import com.huimv.env.common.entity.vo.GetWaterAndElectricityVo;
 import org.jxls.common.Context;
 import org.jxls.util.JxlsHelper;
@@ -48,4 +49,30 @@ public class Print {
         JxlsHelper.getInstance().processTemplate(is, os, context);
     }
 
+    public static void printDeviceList(List<DeviceListVo> list) throws Exception {
+
+        //准备数据
+        String path = "G://getDeviceList.xls";
+        //获取模板文件,你自己当前模板的位置  我这里为当前项目下
+        InputStream is = new FileInputStream("G://getDeviceList.xlsx");
+        //根据模板生成的文件保存路径  我这里保存在本地D盘
+        OutputStream os = new FileOutputStream(path);
+        //绑定数据
+        Context context = new Context();
+//        List<GetWaterAndElectricityVo> list1 = new ArrayList<>();
+//        for (GetWaterAndElectricityVo vo : list) {
+//            GetWaterAndElectricityVo vo1 = new GetWaterAndElectricityVo();
+//            vo1.setFarmName(vo.getFarmName());
+//            vo1.setTypeName(vo.getTypeName());
+//            vo1.setCount1(vo.getCount1());
+//            vo1.setCount2(vo.getCount2());
+//            vo1.setDeviceCode(vo.getDeviceCode());
+//            list1.add(vo1);
+//        }
+        context.putVar("list", list);
+
+        //生成
+        JxlsHelper.getInstance().processTemplate(is, os, context);
+    }
+
 }

+ 10 - 0
huimv-env-common/src/main/java/resources/com/huimv/env/common/mapper/GroupMenuMapper.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.env.common.mapper.GroupMenuMapper">
+
+
+
+    <delete id="removeGroupMenu">
+        DELETE FROM sys_group_menu WHERE group_id=#{groupId}
+    </delete>
+</mapper>

+ 34 - 0
huimv-env-device/src/main/java/com/huimv/env/device/service/impl/DataServiceImpl.java

@@ -2,6 +2,9 @@ package com.huimv.env.device.service.impl;
 
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.http.Header;
+import cn.hutool.http.HttpRequest;
+import com.alibaba.fastjson.JSONObject;
 import com.auth0.jwt.interfaces.Payload;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.huimv.env.common.entity.EnergyElectricity;
@@ -60,9 +63,40 @@ public class DataServiceImpl implements DataService {
             //小口径水表
             if ("01".equals(devType) || "02".equals(devType)) {
                 saveShui(devType, voltage, originalData, timestamp, nodeEui, payload, farmId, unitId, deviceCode.getDeviceName(), deviceCode.getRemark(), deviceCode.getTransformer(), deviceCode.getDifference());
+                QueryWrapper<EnergyWater> queryWrapper = new QueryWrapper<>();
+                queryWrapper.eq("farm_id", farmId).eq("chip_code", deviceCode.getDeviceCode()).orderByDesc("id").last(" limit 1");
+                EnergyWater energyWater = energyWaterService.getOne(queryWrapper);
+                JSONObject paramMap = new JSONObject();
+                paramMap.put("name", energyWater.getOther2());
+                paramMap.put("address", energyWater.getOther1());
+                paramMap.put("number", energyWater.getChipCode());
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                paramMap.put("date", sdf.format(energyWater.getCreateDate()));
+                paramMap.put("dosage", energyWater.getWaterValue());
+                paramMap.put("reading", energyWater.getOther3());
+                paramMap.put("type", "水表");
+                String result = HttpRequest.post("http://wxdj.htpig.cn:9006/index.php/index/hydropower/hydropowerAdd").header(Header.CONTENT_TYPE, "application/json")
+                        .body(paramMap.toJSONString())
+                        .timeout(30 * 1000).execute().body();
             }
+
             if ("03".equals(devType)) {
                 saveDian(devType, voltage, originalData, timestamp, nodeEui, payload, farmId, unitId, deviceCode.getDeviceName(), deviceCode.getRemark(), deviceCode.getTransformer(), deviceCode.getDifference());
+                QueryWrapper<EnergyElectricity> queryWrapper = new QueryWrapper<>();
+                queryWrapper.eq("farm_id", farmId).eq("chip_code", deviceCode.getDeviceCode()).orderByDesc("id").last(" limit 1");
+                EnergyElectricity energyElectricity = energyElectricityService.getOne(queryWrapper);
+                JSONObject paramMap = new JSONObject();
+                paramMap.put("name", energyElectricity.getOther2());
+                paramMap.put("address", energyElectricity.getOther1());
+                paramMap.put("number", energyElectricity.getChipCode());
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                paramMap.put("date", sdf.format(energyElectricity.getCreateDate()));
+                paramMap.put("dosage", energyElectricity.getElectricityValue());
+                paramMap.put("reading", energyElectricity.getOther3());
+                paramMap.put("type", "电表");
+                String result = HttpRequest.post("http://wxdj.htpig.cn:9006/index.php/index/hydropower/hydropowerAdd").header(Header.CONTENT_TYPE, "application/json")
+                        .body(paramMap.toJSONString())
+                        .timeout(30 * 1000).execute().body();
             }
         }