EnergyEnvDeviceServiceImpl.java 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. package com.huimv.admin.service.impl;
  2. import cn.hutool.core.util.ObjectUtil;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  5. import com.baomidou.mybatisplus.core.toolkit.StringUtils;
  6. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  7. import com.huimv.admin.common.utils.Result;
  8. import com.huimv.admin.common.utils.ResultCode;
  9. import com.huimv.admin.entity.EnergyEnvDevice;
  10. import com.huimv.admin.entity.EnvDevice;
  11. import com.huimv.admin.mapper.EnergyEnvDeviceMapper;
  12. import com.huimv.admin.service.IEnergyEnvDeviceService;
  13. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.stereotype.Service;
  16. import javax.servlet.http.HttpServletRequest;
  17. import java.text.NumberFormat;
  18. import java.util.Map;
  19. /**
  20. * <p>
  21. * 服务实现类
  22. * </p>
  23. *
  24. * @author author
  25. * @since 2023-02-21
  26. */
  27. @Service
  28. public class EnergyEnvDeviceServiceImpl extends ServiceImpl<EnergyEnvDeviceMapper, EnergyEnvDevice> implements IEnergyEnvDeviceService {
  29. @Autowired
  30. private EnergyEnvDeviceMapper energyEnvDeviceMapper;
  31. @Override
  32. public Result list(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  33. String farmId = paramsMap.get("farmId");
  34. String pageSize = paramsMap.get("pageSize");
  35. String pageNo = paramsMap.get("pageNo");
  36. if (pageSize==null||pageSize=="") {
  37. pageSize = "10";
  38. }
  39. if (pageNo==null||pageNo=="") {
  40. pageNo = "1";
  41. }
  42. QueryWrapper<EnergyEnvDevice> queryWrapper = new QueryWrapper<>();
  43. queryWrapper.eq("farm_id", farmId);
  44. Page<EnergyEnvDevice> page = new Page(Integer.parseInt(pageNo),Integer.parseInt(pageSize));
  45. return new Result(ResultCode.SUCCESS,energyEnvDeviceMapper.selectPage(page, queryWrapper));
  46. }
  47. @Override
  48. public Result add(HttpServletRequest httpServletRequest, EnergyEnvDevice energyEnvDevice) {
  49. QueryWrapper<EnergyEnvDevice> queryWrapper = new QueryWrapper<>();
  50. queryWrapper.eq("device_name", energyEnvDevice.getDeviceName()).eq("farm_id",energyEnvDevice.getFarmId());
  51. Integer count = energyEnvDeviceMapper.selectCount(queryWrapper);
  52. if (count>0) {
  53. return new Result(10001,"设备名称已存在",false);
  54. }
  55. queryWrapper.clear();
  56. queryWrapper.eq("device_code", energyEnvDevice.getDeviceCode()).eq("farm_id",energyEnvDevice.getFarmId());
  57. Integer count1= energyEnvDeviceMapper.selectCount(queryWrapper);
  58. if (count1>0) {
  59. return new Result(10001,"设备id已存在",false);
  60. }
  61. queryWrapper.clear();
  62. queryWrapper.eq("unit_id", energyEnvDevice.getUnitId()).eq("farm_id",energyEnvDevice.getFarmId());
  63. Integer count2= energyEnvDeviceMapper.selectCount(queryWrapper);
  64. if (count2>0) {
  65. return new Result(10001,"该单元已绑定设备",false);
  66. }
  67. energyEnvDeviceMapper.insert(energyEnvDevice);
  68. return new Result(ResultCode.SUCCESS,"添加成功");
  69. }
  70. @Override
  71. public Result edit(HttpServletRequest httpServletRequest, EnergyEnvDevice energyEnvDevice) {
  72. String deviceName = energyEnvDevice.getDeviceName();
  73. QueryWrapper<EnergyEnvDevice> queryWrapper1 = new QueryWrapper<>();
  74. queryWrapper1.eq(StringUtils.isNotBlank(deviceName),"device_name", deviceName).ne("id",energyEnvDevice.getId());
  75. Integer count = energyEnvDeviceMapper.selectCount(queryWrapper1);
  76. if (count>0) {
  77. return new Result(10001,"设备名称已存在",false);
  78. }
  79. queryWrapper1.clear();
  80. queryWrapper1.eq("device_code", energyEnvDevice.getDeviceCode()).eq("farm_id",energyEnvDevice.getFarmId()).ne("id",energyEnvDevice.getId());
  81. Integer count1= energyEnvDeviceMapper.selectCount(queryWrapper1);
  82. if (count1>0) {
  83. return new Result(10001,"设备id已存在",false);
  84. }
  85. queryWrapper1.clear();
  86. queryWrapper1.eq("unit_id", energyEnvDevice.getUnitId()).eq("farm_id",energyEnvDevice.getFarmId()).ne("id",energyEnvDevice.getId());
  87. Integer count2= energyEnvDeviceMapper.selectCount(queryWrapper1);
  88. if (count2>0) {
  89. return new Result(10001,"该单元已绑定设备",false);
  90. }
  91. energyEnvDeviceMapper.updateById(energyEnvDevice);
  92. return new Result(ResultCode.SUCCESS);
  93. }
  94. @Override
  95. public Result delete(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  96. String farmId = paramsMap.get("farmId");
  97. String id = paramsMap.get("id");
  98. QueryWrapper<EnergyEnvDevice> queryWrapper = new QueryWrapper<>();
  99. queryWrapper.eq("id", id).eq("farm_id", farmId);
  100. energyEnvDeviceMapper.delete(queryWrapper);
  101. return new Result(ResultCode.SUCCESS,"删除成功");
  102. }
  103. @Override
  104. public Result bandingUnitId(HttpServletRequest httpServletRequest, EnergyEnvDevice envDevice) {
  105. Integer unitId = envDevice.getUnitId();
  106. int count = this.count(new QueryWrapper<EnergyEnvDevice>().eq("unit_id", unitId));
  107. if (count>0){
  108. return new Result(10001,"绑定失败,该栋舍已有设备",false);
  109. }
  110. return new Result(10000,"绑定成功",true);
  111. }
  112. @Override
  113. public Result deviceCount(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  114. String farmId = paramsMap.get("farmId");
  115. QueryWrapper<EnergyEnvDevice> queryWrapper = new QueryWrapper<>();
  116. queryWrapper.eq("farm_id", farmId);
  117. Integer count = energyEnvDeviceMapper.selectCount(queryWrapper);
  118. JSONObject jsonObject = new JSONObject();
  119. if (count == 0) {
  120. jsonObject.put("DeviceCount", 0);
  121. jsonObject.put("OnDeviceCount", 0);
  122. jsonObject.put("OffDeviceCount", 0);
  123. jsonObject.put("OnDeviceRate", 0);
  124. } else {
  125. QueryWrapper<EnergyEnvDevice> queryWrapper1 = new QueryWrapper<>();
  126. queryWrapper1.eq("device_status", 1);
  127. Integer count1 = energyEnvDeviceMapper.selectCount(queryWrapper1);
  128. Integer OffDeviceCount = count- count1;
  129. //创建一个数值格式化对象
  130. NumberFormat numberFormat = NumberFormat.getInstance();
  131. //设置精确到小数点后两位
  132. numberFormat.setMaximumFractionDigits(2);
  133. String onDeviceRate = numberFormat.format((float)count1 / (float) count* 100) + "%";
  134. jsonObject.put("DeviceCount", count);
  135. jsonObject.put("OnDeviceCount", count1);
  136. jsonObject.put("OffDeviceCount", OffDeviceCount);
  137. jsonObject.put("OnDeviceRate", onDeviceRate);
  138. }
  139. return new Result(ResultCode.SUCCESS, jsonObject);
  140. }
  141. }