EnvDayagePeizhiServiceImpl.java 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. package com.huimv.admin.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.huimv.admin.common.utils.Result;
  4. import com.huimv.admin.common.utils.ResultCode;
  5. import com.huimv.admin.entity.EnvDayagePeizhi;
  6. import com.huimv.admin.entity.EnvDevice;
  7. import com.huimv.admin.entity.EnvDeviceFan;
  8. import com.huimv.admin.entity.EnvFengPeizhi;
  9. import com.huimv.admin.entity.vo.PublicDeployVo;
  10. import com.huimv.admin.mapper.EnvDayagePeizhiMapper;
  11. import com.huimv.admin.mapper.EnvDeviceFanMapper;
  12. import com.huimv.admin.mapper.EnvDeviceMapper;
  13. import com.huimv.admin.mapper.EnvFengPeizhiMapper;
  14. import com.huimv.admin.service.IEnvDayagePeizhiService;
  15. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.stereotype.Service;
  18. import org.springframework.transaction.annotation.Transactional;
  19. import javax.annotation.Resource;
  20. import java.time.LocalDate;
  21. import java.time.LocalDateTime;
  22. import java.time.LocalTime;
  23. import java.time.format.DateTimeFormatter;
  24. import java.util.List;
  25. import java.util.Map;
  26. /**
  27. * <p>
  28. * 服务实现类
  29. * </p>
  30. *
  31. * @author author
  32. * @since 2023-04-10
  33. */
  34. @Service
  35. public class EnvDayagePeizhiServiceImpl extends ServiceImpl<EnvDayagePeizhiMapper, EnvDayagePeizhi> implements IEnvDayagePeizhiService {
  36. @Resource
  37. private EnvDayagePeizhiMapper envDayagePeizhiMapper;
  38. @Resource
  39. private EnvFengPeizhiMapper envFengPeizhiMapper;
  40. @Resource
  41. private EnvDeviceMapper envDeviceMapper;
  42. @Resource
  43. private EnvDeviceFanMapper envDeviceFanMapper;
  44. @Override
  45. public Result listDeploy(Map<String, String> paramsMap) {
  46. List<PublicDeployVo> publicDeployVos = envDayagePeizhiMapper.listPublicDeploy();
  47. return new Result(ResultCode.SUCCESS,publicDeployVos);
  48. }
  49. @Override
  50. public Result listDeployByDevice(Map<String, String> paramsMap) {
  51. String deviceCode = paramsMap.get("deviceCode");
  52. List<EnvDayagePeizhi> envDayagePeizhis = envDayagePeizhiMapper.selectList(new QueryWrapper<EnvDayagePeizhi>()
  53. .eq("device_code", deviceCode)
  54. .groupBy("time_dayage"));
  55. return new Result(ResultCode.SUCCESS,envDayagePeizhis);
  56. }
  57. @Override
  58. @Transactional
  59. public Result rename(Map<String, String> paramsMap) {
  60. String deployName = paramsMap.get("newDeployName");
  61. String timeDayAge = paramsMap.get("timeDayAge");
  62. List<EnvDayagePeizhi> time_dayage = envDayagePeizhiMapper.selectList(new QueryWrapper<EnvDayagePeizhi>().eq("time_dayage", timeDayAge));
  63. for (EnvDayagePeizhi envDayagePeizhi : time_dayage) {
  64. envDayagePeizhi.setDeployName(deployName);
  65. envDayagePeizhiMapper.updateById(envDayagePeizhi);
  66. }
  67. List<EnvFengPeizhi> windDeploy = envFengPeizhiMapper.selectList(new QueryWrapper<EnvFengPeizhi>().eq("time_feng", timeDayAge));
  68. for (EnvFengPeizhi envWindPeizhi : windDeploy) {
  69. envWindPeizhi.setDeployName(deployName);
  70. envFengPeizhiMapper.updateById(envWindPeizhi);
  71. }
  72. return Result.SUCCESS();
  73. }
  74. @Override
  75. @Transactional
  76. public Result apply(Map<String, String> paramsMap) {
  77. String deviceCode = paramsMap.get("deviceCode");
  78. String timeDayAge = paramsMap.get("timeDayAge");
  79. String farmId = paramsMap.get("farmId");
  80. DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
  81. LocalDateTime time = LocalDateTime.parse(timeDayAge, formatter);
  82. System.out.println(time);
  83. EnvDevice envDevice = envDeviceMapper.selectOne(new QueryWrapper<EnvDevice>().eq("device_sort_code", deviceCode).eq("farm_id", farmId));
  84. envDevice.setDisposeTime(time);
  85. envDeviceMapper.updateById(envDevice);
  86. List<EnvFengPeizhi> timeDayAge1 = envFengPeizhiMapper.selectList(new QueryWrapper<EnvFengPeizhi>().eq("time_feng",timeDayAge));
  87. for (EnvFengPeizhi envFengPeizhi : timeDayAge1) {
  88. String fansCtrl = envFengPeizhi.getFansCtrl();
  89. Integer fanNum = envDeviceFanMapper.selectCount(new QueryWrapper<EnvDeviceFan>().eq("device_code", deviceCode).eq("farm_id", farmId));
  90. if (fanNum != fansCtrl.length()+1){
  91. return new Result(ResultCode.FAIL,"设备风机数量不等于配置所需!");
  92. }
  93. }
  94. //应用的变1
  95. List<EnvDayagePeizhi> envDayagePeizhis = envDayagePeizhiMapper.selectList(new QueryWrapper<EnvDayagePeizhi>().eq("device_code", deviceCode).eq("time_dayage", time));
  96. for (EnvDayagePeizhi envDayagePeizhi : envDayagePeizhis) {
  97. envDayagePeizhi.setUsingStart(1);
  98. envDayagePeizhiMapper.updateById(envDayagePeizhi);
  99. }
  100. List<EnvFengPeizhi> envFengPeizhis = envFengPeizhiMapper.selectList(new QueryWrapper<EnvFengPeizhi>().eq("device_code", deviceCode).eq("time_feng", time));
  101. for (EnvFengPeizhi envFengPeizhi : envFengPeizhis) {
  102. envFengPeizhi.setUsingStart(1);
  103. envFengPeizhiMapper.updateById(envFengPeizhi);
  104. }
  105. //其他0
  106. List<EnvDayagePeizhi> envDayage = envDayagePeizhiMapper.selectList(new QueryWrapper<EnvDayagePeizhi>().eq("device_code", deviceCode).ne("time_dayage", time));
  107. for (EnvDayagePeizhi envDayagePeizhi : envDayage) {
  108. envDayagePeizhi.setUsingStart(0);
  109. envDayagePeizhiMapper.updateById(envDayagePeizhi);
  110. }
  111. List<EnvFengPeizhi> envFeng = envFengPeizhiMapper.selectList(new QueryWrapper<EnvFengPeizhi>().eq("device_code", deviceCode).ne("time_feng", time));
  112. for (EnvFengPeizhi envFengPeizhi : envFeng) {
  113. envFengPeizhi.setUsingStart(0);
  114. envFengPeizhiMapper.updateById(envFengPeizhi);
  115. }
  116. return Result.SUCCESS();
  117. }
  118. @Override
  119. @Transactional
  120. public Result uplode(Map<String, String> paramsMap) {
  121. String timeDayAge = paramsMap.get("timeDayAge");
  122. String deviceCode = paramsMap.get("deviceCode");
  123. List<EnvDayagePeizhi> envDayagePeizhis = envDayagePeizhiMapper.selectList(new QueryWrapper<EnvDayagePeizhi>().eq("device_code", deviceCode).eq("time_dayage", timeDayAge));
  124. for (EnvDayagePeizhi envDayagePeizhi : envDayagePeizhis) {
  125. envDayagePeizhi.setOpenStatus(1);
  126. envDayagePeizhiMapper.updateById(envDayagePeizhi);
  127. }
  128. List<EnvFengPeizhi> envFengPeizhis = envFengPeizhiMapper.selectList(new QueryWrapper<EnvFengPeizhi>().eq("device_code", deviceCode).eq("time_feng", timeDayAge));
  129. for (EnvFengPeizhi envFengPeizhi : envFengPeizhis) {
  130. envFengPeizhi.setOpenStatus(1);
  131. envFengPeizhiMapper.updateById(envFengPeizhi);
  132. }
  133. return Result.SUCCESS();
  134. }
  135. @Override
  136. public Result listDayAge(Map<String, String> paramsMap) {
  137. String deviceCode = paramsMap.get("deviceCode");
  138. String timeDayAge = paramsMap.get("timeDayAge");
  139. List<EnvDayagePeizhi> envDayagePeizhis = envDayagePeizhiMapper.selectList(new QueryWrapper<EnvDayagePeizhi>()
  140. .eq("device_code", deviceCode)
  141. .eq("time_dayage", timeDayAge)
  142. .orderByAsc("level_dayage"));
  143. return new Result(ResultCode.SUCCESS,envDayagePeizhis);
  144. }
  145. }