ApiYrServiceImpl.java 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. package com.jjt.biz.service.impl;
  2. import com.jjt.biz.service.IApiYrService;
  3. import com.jjt.biz.vo.*;
  4. import com.jjt.common.core.redis.RedisCache;
  5. import lombok.extern.slf4j.Slf4j;
  6. import org.springframework.stereotype.Service;
  7. import javax.annotation.Resource;
  8. import java.time.LocalDate;
  9. import java.util.ArrayList;
  10. import java.util.List;
  11. /**
  12. * 首页统计数据
  13. *
  14. * @author wukai
  15. * @date 2024/5/4 20:35
  16. */
  17. @Service
  18. @Slf4j
  19. public class ApiYrServiceImpl implements IApiYrService {
  20. @Resource
  21. private RedisCache redisCache;
  22. /**
  23. * 获取产线状态
  24. *
  25. * @return 结果
  26. */
  27. @Override
  28. public YrProdLineStatusVO status() {
  29. YrProdLineStatusVO vo = new YrProdLineStatusVO();
  30. vo.mock();
  31. return vo;
  32. }
  33. /**
  34. * 获取生产效率
  35. *
  36. * @return 结果
  37. */
  38. @Override
  39. public List<YrProdEfficiencyVO> eff() {
  40. List<YrProdEfficiencyVO> list = new ArrayList<>();
  41. for (int i = 0; i < 9; i++) {
  42. YrProdEfficiencyVO vo = new YrProdEfficiencyVO(i);
  43. vo.mock();
  44. list.add(vo);
  45. }
  46. return list;
  47. }
  48. /**
  49. * 获取生产趋势
  50. *
  51. * @return 结果
  52. */
  53. @Override
  54. public List<YrProdTradeVO> prodTrade() {
  55. return mockProd();
  56. }
  57. /**
  58. * 获取能耗趋势
  59. *
  60. * @return 结果
  61. */
  62. @Override
  63. public List<YrEnergyTradeVO> energyTrade() {
  64. return mockEnergy();
  65. }
  66. private List<YrProdTradeVO> mockProd() {
  67. List<YrProdTradeVO> list = new ArrayList<>();
  68. LocalDate end = LocalDate.now().minusDays(1);
  69. LocalDate start = end.minusDays(30);
  70. do {
  71. YrProdTradeVO vo = new YrProdTradeVO();
  72. vo.setDate(start.getDayOfMonth() + "");
  73. vo.setTips(start.toString());
  74. vo.mock();
  75. list.add(vo);
  76. start = start.plusDays(1);
  77. } while (!start.isAfter(end));
  78. return list;
  79. }
  80. private List<YrEnergyTradeVO> mockEnergy() {
  81. List<YrEnergyTradeVO> list = new ArrayList<>();
  82. LocalDate end = LocalDate.now().minusDays(1);
  83. LocalDate start = end.minusDays(30);
  84. do {
  85. YrEnergyTradeVO vo = new YrEnergyTradeVO();
  86. vo.setDate(start.getDayOfMonth() + "");
  87. vo.setTips(start.toString());
  88. vo.mock();
  89. list.add(vo);
  90. start = start.plusDays(1);
  91. } while (!start.isAfter(end));
  92. return list;
  93. }
  94. /**
  95. * 获取周几
  96. *
  97. * @param date
  98. * @return
  99. */
  100. private String week(LocalDate date) {
  101. String[] weeks = {"一", "二", "三", "四", "五", "六", "日"};
  102. return "周" + weeks[date.getDayOfWeek().getValue() - 1];
  103. }
  104. public static void main(String[] args) {
  105. int day = 7;
  106. LocalDate end = LocalDate.now().minusDays(1);
  107. LocalDate start = end.minusDays(day - 1);
  108. do {
  109. System.err.println(start + "\t" + start.getDayOfWeek().getValue());
  110. start = start.plusDays(1);
  111. } while (!start.isAfter(end));
  112. }
  113. }