浏览代码

修改权限bug

523096025 2 年之前
父节点
当前提交
1baba3adcb

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

@@ -49,6 +49,11 @@ public class EnergyEnvDeviceController {
     public Result getDeviceDelete(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
         return energyEnvDeviceService.delete(httpServletRequest,paramsMap);
     }
+    @RequestMapping("/deviceCount")
+    public Result  deviceCount(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
+        return energyEnvDeviceService.deviceCount(httpServletRequest,paramsMap);
+    }
+
 
     @RequestMapping("/bandingUnitId")
     public Result bandingUnitId(HttpServletRequest httpServletRequest, @RequestBody EnergyEnvDevice envDevice) {

+ 2 - 0
huimv-admin/src/main/java/com/huimv/admin/service/IEnergyEnvDeviceService.java

@@ -27,4 +27,6 @@ public interface IEnergyEnvDeviceService extends IService<EnergyEnvDevice> {
     Result delete(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
 
     Result bandingUnitId(HttpServletRequest httpServletRequest, EnergyEnvDevice envDevice);
+
+    Result deviceCount(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
 }

+ 64 - 7
huimv-admin/src/main/java/com/huimv/admin/service/impl/EnergyEnvDeviceServiceImpl.java

@@ -1,6 +1,7 @@
 package com.huimv.admin.service.impl;
 
 import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -15,6 +16,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.servlet.http.HttpServletRequest;
+import java.text.NumberFormat;
 import java.util.Map;
 
 /**
@@ -51,12 +53,24 @@ public class EnergyEnvDeviceServiceImpl extends ServiceImpl<EnergyEnvDeviceMappe
     public Result add(HttpServletRequest httpServletRequest, EnergyEnvDevice energyEnvDevice) {
         QueryWrapper<EnergyEnvDevice> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("device_name", energyEnvDevice.getDeviceName()).eq("farm_id",energyEnvDevice.getFarmId());
-        EnergyEnvDevice device = energyEnvDeviceMapper.selectOne(queryWrapper);
-        if (ObjectUtil.isEmpty(device)) {
-            energyEnvDeviceMapper.insert(energyEnvDevice);
-        } else {
+        Integer count = energyEnvDeviceMapper.selectCount(queryWrapper);
+        if (count>0) {
             return new Result(ResultCode.FAIL, "设备名称已存在");
         }
+        queryWrapper.clear();
+        queryWrapper.eq("device_code", energyEnvDevice.getDeviceCode()).eq("farm_id",energyEnvDevice.getFarmId());
+        Integer count1= energyEnvDeviceMapper.selectCount(queryWrapper);
+        if (count1>0) {
+            return new Result(ResultCode.FAIL, "设备id已存在");
+        }
+        queryWrapper.clear();
+        queryWrapper.eq("unit_id", energyEnvDevice.getUnitId()).eq("farm_id",energyEnvDevice.getFarmId());
+        Integer count2= energyEnvDeviceMapper.selectCount(queryWrapper);
+        if (count2>0) {
+            return new Result(ResultCode.FAIL, "该单元已绑定栋舍");
+        }
+
+        energyEnvDeviceMapper.insert(energyEnvDevice);
         return new Result(ResultCode.SUCCESS,"添加成功");
     }
 
@@ -66,11 +80,24 @@ public class EnergyEnvDeviceServiceImpl extends ServiceImpl<EnergyEnvDeviceMappe
 
         QueryWrapper<EnergyEnvDevice> queryWrapper1 = new QueryWrapper<>();
         queryWrapper1.eq(StringUtils.isNotBlank(deviceName),"device_name", deviceName).ne("id",energyEnvDevice.getId());
-        if (ObjectUtil.isEmpty(energyEnvDeviceMapper.selectOne(queryWrapper1))) {
-            energyEnvDeviceMapper.updateById(energyEnvDevice);
-        } else {
+
+        Integer count = energyEnvDeviceMapper.selectCount(queryWrapper1);
+        if (count>0) {
             return new Result(ResultCode.FAIL, "设备名称已存在");
         }
+        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(ResultCode.FAIL, "设备id已存在");
+        }
+        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(ResultCode.FAIL, "该单元已绑定栋舍");
+        }
+         energyEnvDeviceMapper.updateById(energyEnvDevice);
         return new Result(ResultCode.SUCCESS);
     }
 
@@ -93,4 +120,34 @@ public class EnergyEnvDeviceServiceImpl extends ServiceImpl<EnergyEnvDeviceMappe
         }
         return new Result(10000,"绑定成功",true);
     }
+
+    @Override
+    public Result deviceCount(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        QueryWrapper<EnergyEnvDevice> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId);
+        Integer count = energyEnvDeviceMapper.selectCount(queryWrapper);
+        JSONObject jsonObject = new JSONObject();
+        if (count == 0) {
+            jsonObject.put("DeviceCount", 0);
+            jsonObject.put("OnDeviceCount", 0);
+            jsonObject.put("OffDeviceCount", 0);
+            jsonObject.put("OnDeviceRate", 0);
+        } else {
+            QueryWrapper<EnergyEnvDevice> queryWrapper1 = new QueryWrapper<>();
+            queryWrapper1.eq("device_status", 1);
+            Integer count1 = energyEnvDeviceMapper.selectCount(queryWrapper1);
+            Integer OffDeviceCount = count- count1;
+            //创建一个数值格式化对象
+            NumberFormat numberFormat = NumberFormat.getInstance();
+            //设置精确到小数点后两位
+            numberFormat.setMaximumFractionDigits(2);
+            String onDeviceRate = numberFormat.format((float)count1 / (float) count* 100) + "%";
+            jsonObject.put("DeviceCount", count);
+            jsonObject.put("OnDeviceCount", count1);
+            jsonObject.put("OffDeviceCount", OffDeviceCount);
+            jsonObject.put("OnDeviceRate", onDeviceRate);
+        }
+        return new Result(ResultCode.SUCCESS, jsonObject);
+    }
 }

+ 2 - 3
huimv-admin/src/main/java/com/huimv/admin/service/impl/ProtThresholdServiceImpl.java

@@ -51,9 +51,8 @@ public class ProtThresholdServiceImpl extends ServiceImpl<ProtThresholdMapper, P
         Integer userId = TokenSign.getMemberIdByJwtToken(httpServletRequest);
         List<Integer> userIds =sysAccountMultilevelMapper.getLowerLevel( userId,farmId);
         List<Integer> collect =new ArrayList<>();
-        String userIds1 = protThresholdList.get(0).getUserIds();
-        if (StringUtils.isNotBlank(userIds1)){
-            collect = Arrays.stream(userIds1.split(",")).map(Integer::valueOf).filter(userIds::contains).collect(Collectors.toList());
+        if (ObjectUtil.isNotEmpty(protThresholdList) &&StringUtils.isNotBlank(protThresholdList.get(0).getUserIds())){
+            collect = Arrays.stream(protThresholdList.get(0).getUserIds().split(",")).map(Integer::valueOf).filter(userIds::contains).collect(Collectors.toList());
         }
 
         if (protThresholdList.size() == 0) {