FeedingDataServiceImpl.java 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. package com.huimv.admin.service.impl;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  4. import com.huimv.admin.common.utils.DataUill;
  5. import com.huimv.admin.common.utils.DateUtil;
  6. import com.huimv.admin.common.utils.Result;
  7. import com.huimv.admin.common.utils.ResultCode;
  8. import com.huimv.admin.entity.FeedingData;
  9. import com.huimv.admin.entity.FeedingEnv;
  10. import com.huimv.admin.entity.vo.FeedDataVo2;
  11. import com.huimv.admin.mapper.FeedingDataMapper;
  12. import com.huimv.admin.mapper.FeedingEnvMapper;
  13. import com.huimv.admin.service.IFeedingDataService;
  14. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.stereotype.Service;
  17. import java.text.SimpleDateFormat;
  18. import java.util.Date;
  19. import java.util.List;
  20. import java.util.Map;
  21. /**
  22. * <p>
  23. * 服务实现类
  24. * </p>
  25. *
  26. * @author author
  27. * @since 2023-09-19
  28. */
  29. @Service
  30. public class FeedingDataServiceImpl extends ServiceImpl<FeedingDataMapper, FeedingData> implements IFeedingDataService {
  31. @Autowired
  32. private FeedingDataMapper dataMapper;
  33. @Autowired
  34. private FeedingEnvMapper envMapper;
  35. @Override
  36. public Result listFeed(Map<String, String> paramsMap) {
  37. String farmId = paramsMap.get("farmId");
  38. QueryWrapper<FeedingData> queryWrapper = new QueryWrapper<>();
  39. queryWrapper.eq("farm_id", farmId);
  40. List<FeedDataVo2> dataVo2s = dataMapper.listDayFeed(queryWrapper);
  41. for (FeedDataVo2 dataVo2 : dataVo2s) {
  42. Date dateTime = dataVo2.getDateTime();
  43. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  44. String format = sdf.format(dateTime);
  45. String start = format + " 00:00:00";
  46. String end = format + " 23:59:59";
  47. QueryWrapper<FeedingData> queryWrapper1 = new QueryWrapper<>();
  48. queryWrapper1.eq("farm_id", farmId).between("upload_time", start, end);
  49. queryWrapper1.groupBy("device_code");
  50. List<FeedingData> feedingData = dataMapper.selectList(queryWrapper1);
  51. dataVo2.setCount(feedingData.size());
  52. }
  53. return new Result(ResultCode.SUCCESS, dataVo2s);
  54. }
  55. @Override
  56. public Result listPig(Map<String, String> paramsMap) {
  57. String farmId = paramsMap.get("farmId");
  58. QueryWrapper<FeedingEnv> queryWrapper = new QueryWrapper<>();
  59. queryWrapper.eq("farm_id", farmId).eq("device_type", 0);
  60. Integer integer = envMapper.selectCount(queryWrapper);//哺乳
  61. QueryWrapper<FeedingEnv> queryWrapper1 = new QueryWrapper<>();
  62. queryWrapper1.eq("farm_id", farmId).eq("device_type", 1);
  63. Integer integer1 = envMapper.selectCount(queryWrapper);//配怀
  64. Date timesmorning = DataUill.getTimesmorning();
  65. QueryWrapper<FeedingData> queryWrapper2 = new QueryWrapper<>();
  66. queryWrapper2.eq("farm_id", farmId).ge("upload_time", timesmorning).groupBy("device_code");
  67. Integer integer2 = dataMapper.selectCount(queryWrapper2);//头数
  68. JSONObject jsonObject = new JSONObject();
  69. jsonObject.put("peihuai", integer1);
  70. jsonObject.put("buru", integer);
  71. jsonObject.put("oneHour", integer2);
  72. jsonObject.put("threeHour", integer2);
  73. jsonObject.put("allHour", integer1 + integer);
  74. return new Result(ResultCode.SUCCESS, jsonObject);
  75. }
  76. @Override
  77. public Result listEnv(Map<String, String> paramsMap) {
  78. String farmId = paramsMap.get("farmId");
  79. QueryWrapper<FeedingEnv> queryWrapper = new QueryWrapper<>();
  80. queryWrapper.eq("farm_id", farmId).orderByDesc("last_time").groupBy("device_code");
  81. List<FeedingEnv> feedingEnvs = envMapper.selectList(queryWrapper);
  82. return new Result(ResultCode.SUCCESS, feedingEnvs);
  83. }
  84. @Override
  85. public Result listMeals(Map<String, String> paramsMap) {
  86. String farmId = paramsMap.get("farmId");
  87. QueryWrapper<FeedingData> queryWrapper = new QueryWrapper<>();
  88. queryWrapper.eq("farm_id", farmId).groupBy("device_code").eq("meals", 0);
  89. List<FeedingData> feedingData = dataMapper.selectList(queryWrapper);
  90. QueryWrapper<FeedingData> queryWrapper2 = new QueryWrapper<>();
  91. queryWrapper2.eq("farm_id", farmId).groupBy("device_code").eq("meals", 1);
  92. List<FeedingData> feedingData2 = dataMapper.selectList(queryWrapper2);
  93. QueryWrapper<FeedingData> queryWrapper3 = new QueryWrapper<>();
  94. queryWrapper3.eq("farm_id", farmId).groupBy("device_code").eq("meals", 2);
  95. List<FeedingData> feedingData3 = dataMapper.selectList(queryWrapper3);
  96. JSONObject jsonObject = new JSONObject();
  97. jsonObject.put("first", feedingData.size());
  98. jsonObject.put("second", feedingData2.size());
  99. jsonObject.put("third", feedingData3.size());
  100. jsonObject.put("huai", feedingData.size());
  101. jsonObject.put("yun", feedingData2.size());
  102. return new Result(ResultCode.SUCCESS, jsonObject);
  103. }
  104. }