EnergyGasServiceImpl.java 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. package com.huimv.admin.service.impl;
  2. import cn.hutool.core.date.DateTime;
  3. import cn.hutool.core.date.DateUtil;
  4. import cn.hutool.core.util.ObjectUtil;
  5. import com.alibaba.fastjson.JSONArray;
  6. import com.alibaba.fastjson.JSONObject;
  7. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  8. import com.huimv.admin.common.utils.DataUill;
  9. import com.huimv.admin.common.utils.Result;
  10. import com.huimv.admin.common.utils.ResultCode;
  11. import com.huimv.admin.entity.BasePigpen;
  12. import com.huimv.admin.entity.EnergyData;
  13. import com.huimv.admin.entity.EnergyGas;
  14. import com.huimv.admin.entity.vo.EnergyDataVo;
  15. import com.huimv.admin.entity.vo.EnergyGasDataVo;
  16. import com.huimv.admin.mapper.BasePigpenMapper;
  17. import com.huimv.admin.mapper.EnergyDataMapper;
  18. import com.huimv.admin.mapper.EnergyGasMapper;
  19. import com.huimv.admin.service.IEnergyGasService;
  20. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  21. import org.springframework.beans.factory.annotation.Autowired;
  22. import org.springframework.stereotype.Service;
  23. import javax.servlet.http.HttpServletRequest;
  24. import java.util.Calendar;
  25. import java.util.Date;
  26. import java.util.List;
  27. import java.util.Map;
  28. /**
  29. * <p>
  30. * 服务实现类
  31. * </p>
  32. *
  33. * @author author
  34. * @since 2023-02-14
  35. */
  36. @Service
  37. public class EnergyGasServiceImpl extends ServiceImpl<EnergyGasMapper, EnergyGas> implements IEnergyGasService {
  38. @Autowired
  39. private EnergyGasMapper energyGasMapper;
  40. @Autowired
  41. private BasePigpenMapper basePigpenMapper;
  42. @Autowired
  43. private EnergyDataMapper dataMapper;
  44. @Override
  45. public Result listPigpen(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  46. String farmId = paramsMap.get("farmId");
  47. String id = paramsMap.get("id");
  48. JSONArray jsonArray = new JSONArray();
  49. if (id == null || id == "") {
  50. QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
  51. queryWrapper.eq("farm_id", farmId).eq("parent_id", 0);
  52. List<BasePigpen> basePigpens = basePigpenMapper.selectList(queryWrapper);
  53. for (int i = 0; i < basePigpens.size(); i++) {
  54. QueryWrapper<BasePigpen> basePigpenQueryWrapper = new QueryWrapper<>();
  55. basePigpenQueryWrapper.eq("parent_id", basePigpens.get(i).getId()).eq("farm_id", farmId);
  56. List<BasePigpen> basePigpens1 = basePigpenMapper.selectList(basePigpenQueryWrapper);
  57. for (BasePigpen basePigpen : basePigpens1) {
  58. JSONObject jsonObject = new JSONObject();
  59. QueryWrapper<EnergyData> queryWrapper1 = new QueryWrapper<>();
  60. queryWrapper1.eq("unit_id", basePigpen.getId()).eq("farm_id", farmId)
  61. .orderByDesc("create_date").last(" limit 1");
  62. EnergyData energyGas = dataMapper.selectOne(queryWrapper1);
  63. if (ObjectUtil.isEmpty(energyGas)) {
  64. jsonObject.put("buildName", basePigpen.getBuildName());
  65. jsonObject.put("value", 0);
  66. jsonObject.put("id", basePigpen.getId());
  67. } else {
  68. jsonObject.put("buildName", basePigpen.getBuildName());
  69. jsonObject.put("value", energyGas.getGasValue());
  70. jsonObject.put("id", basePigpen.getId());
  71. }
  72. jsonArray.add(jsonObject);
  73. }
  74. }
  75. } else {
  76. QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
  77. queryWrapper.eq("farm_id", farmId).eq("parent_id", id);
  78. List<BasePigpen> basePigpens = basePigpenMapper.selectList(queryWrapper);
  79. for (BasePigpen basePigpen : basePigpens) {
  80. JSONObject jsonObject = new JSONObject();
  81. QueryWrapper<EnergyData> queryWrapper1 = new QueryWrapper<>();
  82. queryWrapper1.eq("unit_id", basePigpen.getId()).eq("farm_id", farmId)
  83. .orderByDesc("create_date").last(" limit 1");
  84. EnergyData energyGas = dataMapper.selectOne(queryWrapper1);
  85. if (ObjectUtil.isEmpty(energyGas)) {
  86. jsonObject.put("buildName", basePigpen.getBuildName());
  87. jsonObject.put("value", 0);
  88. jsonObject.put("id", basePigpen.getId());
  89. } else {
  90. jsonObject.put("buildName", basePigpen.getBuildName());
  91. jsonObject.put("value", energyGas.getGasValue());
  92. jsonObject.put("id", basePigpen.getId());
  93. }
  94. jsonArray.add(jsonObject);
  95. }
  96. }
  97. return new Result(ResultCode.SUCCESS, jsonArray);
  98. }
  99. @Override
  100. public Result listData(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  101. String farmId = paramsMap.get("farmId");
  102. String type = paramsMap.get("type");
  103. String id = paramsMap.get("id");//楼层id
  104. String startTime = paramsMap.get("startTime");
  105. String endTime = paramsMap.get("endTime");
  106. List<EnergyGasDataVo> energyGasList = null;
  107. //默认显示本年
  108. if (type == null || type == "") {
  109. type = "3";
  110. }
  111. QueryWrapper<EnergyData> queryWrapper = new QueryWrapper<>();
  112. queryWrapper.eq("farm_id", farmId).eq("unit_id", id);
  113. //自定义查询
  114. if ("4".equals(type)) {
  115. startTime = startTime + " 00:00:00";
  116. endTime = endTime + " 23:59:59";
  117. queryWrapper.between("create_date", startTime, endTime);
  118. energyGasList = dataMapper.listDay(queryWrapper);
  119. }
  120. //全年
  121. else if ("3".equals(type)) {
  122. DateTime dateTime = DateUtil.beginOfYear(new Date());
  123. queryWrapper.ge("create_date", dateTime);
  124. List<EnergyGasDataVo> energyGasDataVos = dataMapper.listYear(queryWrapper);
  125. for (EnergyGasDataVo energyGasDataVo : energyGasDataVos) {
  126. if (energyGasDataVo.getGasValue() == null || energyGasDataVo.getGasValue() == "") {
  127. energyGasDataVo.setGasValue("0");
  128. }
  129. }
  130. energyGasList = dataMapper.listYear(queryWrapper);
  131. }
  132. //本月
  133. else if ("2".equals(type)) {
  134. Date timesMonthmorning = DataUill.getTimesMonthmorning();
  135. queryWrapper.ge("create_date", timesMonthmorning);
  136. energyGasList = dataMapper.listDay(queryWrapper);
  137. }
  138. //本周
  139. else if ("1".equals(type)) {
  140. Calendar calendar = Calendar.getInstance();
  141. calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7);
  142. queryWrapper.ge("create_date", calendar.getTime());
  143. List<EnergyGasDataVo> energyGasDataVos = dataMapper.listDay(queryWrapper);
  144. for (EnergyGasDataVo energyGasDataVo : energyGasDataVos) {
  145. if (energyGasDataVo.getGasValue() == null || energyGasDataVo.getGasValue() == "") {
  146. energyGasDataVo.setGasValue("0");
  147. }
  148. }
  149. energyGasList =energyGasDataVos;
  150. }
  151. return new Result(ResultCode.SUCCESS, energyGasList);
  152. }
  153. }