|
@@ -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);
|
|
|
+ }
|
|
|
}
|