EnergyElectricityServiceImpl.java 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  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.EnergyElectricity;
  14. import com.huimv.admin.entity.vo.EnergyElectricityDataVo;
  15. import com.huimv.admin.mapper.BasePigpenMapper;
  16. import com.huimv.admin.mapper.EnergyDataMapper;
  17. import com.huimv.admin.mapper.EnergyElectricityMapper;
  18. import com.huimv.admin.service.IEnergyElectricityService;
  19. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  20. import org.springframework.beans.factory.annotation.Autowired;
  21. import org.springframework.stereotype.Service;
  22. import javax.servlet.http.HttpServletRequest;
  23. import java.text.DecimalFormat;
  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 EnergyElectricityServiceImpl extends ServiceImpl<EnergyElectricityMapper, EnergyElectricity> implements IEnergyElectricityService {
  38. @Autowired
  39. private EnergyElectricityMapper energyElectricityMapper;
  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");//层id
  48. JSONArray jsonArray = new JSONArray();
  49. QueryWrapper<BasePigpen> basePigpenQueryWrapper = new QueryWrapper<>();
  50. basePigpenQueryWrapper.eq("farm_id", farmId).like("other2", id);
  51. List<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//所有的单元
  52. for (BasePigpen basePigpen : basePigpens) {
  53. JSONObject jsonObject = new JSONObject();
  54. QueryWrapper<EnergyData> queryWrapper = new QueryWrapper<>();
  55. queryWrapper.eq("farm_id", farmId).eq("unit_id", basePigpen.getId());
  56. queryWrapper.select(" IFNULL(SUM(electricity_value),'0') electricityValue");
  57. DateTime dateTime = DateUtil.beginOfDay(new Date());
  58. queryWrapper.ge("create_date", dateTime);
  59. EnergyData energyElectricity = dataMapper.selectOne(queryWrapper);
  60. if (ObjectUtil.isEmpty(energyElectricity)) {
  61. jsonObject.put("buildName", basePigpen.getBuildName());
  62. jsonObject.put("value", 0);
  63. jsonObject.put("id", basePigpen.getId());
  64. } else {
  65. DecimalFormat df = new DecimalFormat("0.00");
  66. jsonObject.put("buildName", basePigpen.getBuildName());
  67. jsonObject.put("value", df.format(Float.parseFloat(energyElectricity.getElectricityValue())));
  68. jsonObject.put("id", basePigpen.getId());
  69. }
  70. jsonArray.add(jsonObject);
  71. }
  72. return new Result(ResultCode.SUCCESS, jsonArray);
  73. }
  74. @Override
  75. public Result listData(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  76. String farmId = paramsMap.get("farmId");
  77. String type = paramsMap.get("type");
  78. String id = paramsMap.get("id");
  79. String startTime = paramsMap.get("startTime");
  80. String endTime = paramsMap.get("endTime");
  81. if (type == null || type == "") {
  82. type = "3";
  83. }
  84. QueryWrapper<EnergyData> queryWrapper = new QueryWrapper<>();
  85. queryWrapper.eq("farm_id", farmId).eq("unit_id", id);
  86. List<EnergyElectricityDataVo> electricityList = null;
  87. //自定义查询
  88. if ("4".equals(type)) {
  89. startTime = startTime + " 00:00:00";
  90. endTime = endTime + " 23:59:59";
  91. queryWrapper.between("create_date", startTime, endTime);
  92. electricityList = dataMapper.listDay4(queryWrapper);
  93. }
  94. //本年
  95. else if ("3".equals(type)) {
  96. DateTime dateTime = DateUtil.beginOfYear(new Date());
  97. queryWrapper.ge("create_date", dateTime);
  98. List<EnergyElectricityDataVo> energyElectricityDataVos = dataMapper.listYear4(queryWrapper);
  99. electricityList = energyElectricityDataVos;
  100. }
  101. //本月
  102. else if ("2".equals(type)) {
  103. Date timesMonthmorning = DataUill.getTimesMonthmorning();
  104. queryWrapper.ge("create_date", timesMonthmorning);
  105. electricityList = dataMapper.listDay4(queryWrapper);
  106. }
  107. //本周
  108. else if ("1".equals(type)) {
  109. Calendar calendar = Calendar.getInstance();
  110. calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7);
  111. queryWrapper.ge("create_date", calendar.getTime());
  112. List<EnergyElectricityDataVo> energyElectricityDataVos = dataMapper.listDay4(queryWrapper);
  113. electricityList = energyElectricityDataVos;
  114. }
  115. return new Result(ResultCode.SUCCESS, electricityList);
  116. }
  117. }