ProcudeFeed.java 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. package com.huimv.guowei.admin.timer;
  2. import cn.hutool.core.date.DateTime;
  3. import cn.hutool.core.date.DateUtil;
  4. import cn.hutool.core.util.ObjectUtil;
  5. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  6. import com.huimv.guowei.admin.common.utils.NumberUtils;
  7. import com.huimv.guowei.admin.entity.*;
  8. import com.huimv.guowei.admin.entity.vo.FeedingVo;
  9. import com.huimv.guowei.admin.mapper.BaseDuckInfoMapper;
  10. import com.huimv.guowei.admin.mapper.EnvDeviceMapper;
  11. import com.huimv.guowei.admin.mapper.EnvRegularCallEggMapper;
  12. import com.huimv.guowei.admin.mapper.EnvRegularCallFeedingMapper;
  13. import com.huimv.guowei.admin.service.IBaseDuckInfoService;
  14. import com.huimv.guowei.admin.service.IEnvDeviceOnlineService;
  15. import com.huimv.guowei.admin.service.IEnvDeviceService;
  16. import com.huimv.guowei.admin.service.IRawDataService;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.scheduling.annotation.EnableScheduling;
  19. import org.springframework.scheduling.annotation.Scheduled;
  20. import org.springframework.stereotype.Component;
  21. import javax.annotation.Resource;
  22. import java.math.BigDecimal;
  23. import java.math.RoundingMode;
  24. import java.util.Date;
  25. import java.util.List;
  26. @Component
  27. @EnableScheduling
  28. public class ProcudeFeed {
  29. @Autowired
  30. private EnvRegularCallFeedingMapper feedingMapper;
  31. @Autowired
  32. private EnvRegularCallEggMapper eggMapper;
  33. @Autowired
  34. private EnvDeviceMapper deviceMapper;
  35. @Autowired
  36. private BaseDuckInfoMapper infoMapper;
  37. // @Scheduled(cron = "*/5 * * * * ?")
  38. @Scheduled(cron = "0 0 9 * * ?")
  39. private void saveOnlineDevice() {
  40. QueryWrapper<EnvDevice> queryWrapper = new QueryWrapper<>();
  41. queryWrapper.eq("farm_id", 21).eq("device_type", 3);
  42. List<EnvDevice> devices = deviceMapper.selectList(queryWrapper);
  43. for (EnvDevice device : devices) {
  44. QueryWrapper<EnvRegularCallFeeding> queryWrapper1 = new QueryWrapper<>();
  45. queryWrapper1.eq("farm_id", 21).ge("call_date", new Date())
  46. .eq("call_code", device.getDeviceCode());
  47. FeedingVo feedingVo = feedingMapper.FeedTime(queryWrapper1);
  48. if (ObjectUtil.isEmpty(feedingVo) || feedingVo.getDuckWeight().compareTo(BigDecimal.ZERO) == 0) {
  49. QueryWrapper<BaseDuckInfo> queryWrapper2 = new QueryWrapper<>();
  50. queryWrapper2.eq("farm_id", 21).eq("unit_id", device.getUnitId())
  51. .eq("is_cage", 0);
  52. BaseDuckInfo duckInfo = infoMapper.selectOne(queryWrapper2);
  53. EnvRegularCallFeeding feeding = new EnvRegularCallFeeding();
  54. feeding.setCallName(device.getDeviceName());
  55. feeding.setCallCode(device.getDeviceCode());
  56. feeding.setDuckNum(duckInfo.getDuckNum());
  57. String num = NumberUtils.getNum(220, 230, 1);
  58. feeding.setDuckWeight(Double.valueOf(num));
  59. feeding.setDuckFeedingOriginal(0);
  60. feeding.setCallDate(new Date());
  61. feeding.setFarmId(21);
  62. feeding.setDuckId(duckInfo.getId());
  63. feeding.setBattery("8.0");
  64. feeding.setUnitId(device.getUnitId());
  65. feeding.setUnitName(device.getUnitName());
  66. feeding.setEventType(0);
  67. feeding.setChiNum(duckInfo.getChiNum());
  68. feeding.setJiaoNum(duckInfo.getJiaoNum());
  69. feeding.setBatchNum(duckInfo.getBatchNum());
  70. feedingMapper.insert(feeding);
  71. EnvRegularCallEgg egg = new EnvRegularCallEgg();
  72. egg.setCallName(device.getDeviceName());
  73. egg.setCallCode(device.getDeviceCode());
  74. egg.setDuckNum(duckInfo.getDuckNum());
  75. String num1 = NumberUtils.getNum(60, 70, 1);
  76. egg.setDuckWeight(Double.valueOf(num1));
  77. egg.setDuckFeedingOriginal(0);
  78. egg.setEggNum(1);
  79. egg.setCallDate(new Date());
  80. egg.setFarmId(21);
  81. egg.setDuckId(duckInfo.getId());
  82. egg.setBattery("8.0");
  83. egg.setUnitId(device.getUnitId());
  84. egg.setUnitName(device.getUnitName());
  85. egg.setChiNum(duckInfo.getChiNum());
  86. egg.setJiaoNum(duckInfo.getJiaoNum());
  87. egg.setBatchNum(duckInfo.getBatchNum());
  88. eggMapper.insert(egg);
  89. }
  90. }
  91. }
  92. }