HiveBeehiveServiceImpl.java 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. package com.huimv.beeboxs.service.impl;
  2. import cn.hutool.poi.excel.ExcelUtil;
  3. import cn.hutool.poi.excel.ExcelWriter;
  4. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  5. import com.baomidou.mybatisplus.core.toolkit.StringUtils;
  6. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  7. import com.huimv.beeboxs.common.utils.Result;
  8. import com.huimv.beeboxs.common.utils.ResultCode;
  9. import com.huimv.beeboxs.entity.HiveBeehive;
  10. import com.huimv.beeboxs.entity.dto.ExcelDto;
  11. import com.huimv.beeboxs.mapper.HiveBeehiveMapper;
  12. import com.huimv.beeboxs.service.IHiveBeehiveService;
  13. import org.springframework.stereotype.Service;
  14. import javax.servlet.ServletOutputStream;
  15. import javax.servlet.http.HttpServletResponse;
  16. import java.io.*;
  17. import java.util.ArrayList;
  18. import java.util.List;
  19. import java.util.Map;
  20. /**
  21. * <p>
  22. * 服务实现类
  23. * </p>
  24. *
  25. * @author author
  26. * @since 2022-04-21
  27. */
  28. @Service
  29. public class HiveBeehiveServiceImpl extends ServiceImpl<HiveBeehiveMapper, HiveBeehive> implements IHiveBeehiveService {
  30. @Override
  31. public Result searchList(Map map) {
  32. // String.format("%.2f",maxWater);
  33. String startDate = (String)map.get("startDate");
  34. String endDate = (String)map.get("endDate");
  35. String hiveId = (String)map.get("hiveId");
  36. QueryWrapper<HiveBeehive> wrapper = new QueryWrapper<>();
  37. if (StringUtils.isBlank(hiveId)){
  38. return new Result(10001,"请选择蜂箱",false);
  39. }
  40. wrapper.eq("hive_id",hiveId);
  41. // wrapper.orderByDesc("create_date");
  42. wrapper.ge(StringUtils.isNotBlank(startDate),"create_date",startDate);
  43. wrapper.le(StringUtils.isNotBlank(endDate),"create_date",endDate);
  44. List<HiveBeehive> list = this.list(wrapper);
  45. // for (HiveBeehive hiveBeehive : list) {
  46. //
  47. // Double humi = Double.parseDouble(hiveBeehive.getHumi());
  48. // double random = Math.random()*2;
  49. // if (humi >55.0){
  50. // hiveBeehive.setHumi(String.format("%.2f",47+random));
  51. // }
  52. //
  53. // }
  54. return new Result(ResultCode.SUCCESS,list);
  55. }
  56. @Override
  57. public void listExcel(Map map, HttpServletResponse response) {
  58. String startDate = (String)map.get("startDate");
  59. String endDate = (String)map.get("endDate");
  60. String hiveId = (String)map.get("hiveId");
  61. QueryWrapper<HiveBeehive> wrapper = new QueryWrapper<>();
  62. wrapper.eq("hive_id",hiveId);
  63. wrapper.ge(StringUtils.isNotBlank(startDate),"create_date",startDate);
  64. wrapper.le(StringUtils.isNotBlank(endDate),"create_date",endDate);
  65. List<HiveBeehive> list = this.list(wrapper);
  66. List<ExcelDto> excelDtos = new ArrayList<>();
  67. for (int i = 1 ; i<=list.size();i++){
  68. HiveBeehive hiveBeehive = list.get(i - 1);
  69. ExcelDto excelDto = new ExcelDto();
  70. excelDto.setSerial(i);
  71. excelDto.setUploadTime(hiveBeehive.getCreateDate());
  72. excelDto.setHumi(hiveBeehive.getHumi());
  73. excelDto.setHumiOut(hiveBeehive.getHumiOut());
  74. excelDto.setTemp(hiveBeehive.getTemp());
  75. excelDto.setTempOut(hiveBeehive.getTempOut());
  76. excelDto.setOther1(hiveBeehive.getOther1());
  77. excelDtos.add(excelDto);
  78. }
  79. ExcelWriter writer = ExcelUtil.getWriter();
  80. // ExcelWriter writer = ExcelUtil.getWriter("d:/writeBeanTest.xlsx");
  81. writer.addHeaderAlias("serial", "序号");
  82. writer.addHeaderAlias("uploadTime", "时间");
  83. writer.addHeaderAlias("temp", "室内温度");
  84. writer.addHeaderAlias("humi", "室内湿度");
  85. writer.addHeaderAlias("tempOut", "室外温度");
  86. writer.addHeaderAlias("humiOut", "室外湿度");
  87. writer.addHeaderAlias("other1", "蜜蜂状态");
  88. writer.write(excelDtos,true);
  89. ServletOutputStream out = null;
  90. try {
  91. out = response.getOutputStream();
  92. } catch (IOException e) {
  93. e.printStackTrace();
  94. }
  95. writer.flush(out);
  96. writer.close();
  97. // return new Result(ResultCode.SUCCESS,excelDtos);
  98. }
  99. }