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