package com.jjt.biz.service.impl; import com.jjt.biz.service.IApiYrService; import com.jjt.biz.vo.*; import com.jjt.common.core.redis.RedisCache; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.time.LocalDate; import java.util.ArrayList; import java.util.List; /** * 首页统计数据 * * @author wukai * @date 2024/5/4 20:35 */ @Service @Slf4j public class ApiYrServiceImpl implements IApiYrService { @Resource private RedisCache redisCache; /** * 获取产线状态 * * @return 结果 */ @Override public YrProdLineStatusVO status() { YrProdLineStatusVO vo = new YrProdLineStatusVO(); vo.mock(); return vo; } /** * 获取生产效率 * * @return 结果 */ @Override public List eff() { List list = new ArrayList<>(); for (int i = 0; i < 9; i++) { YrProdEfficiencyVO vo = new YrProdEfficiencyVO(i); vo.mock(); list.add(vo); } return list; } /** * 获取生产趋势 * * @return 结果 */ @Override public List prodTrade() { return mockProd(); } /** * 获取能耗趋势 * * @return 结果 */ @Override public List energyTrade() { return mockEnergy(); } private List mockProd() { List list = new ArrayList<>(); LocalDate end = LocalDate.now().minusDays(1); LocalDate start = end.minusDays(30); do { YrProdTradeVO vo = new YrProdTradeVO(); vo.setDate(start.getDayOfMonth() + ""); vo.setTips(start.toString()); vo.mock(); list.add(vo); start = start.plusDays(1); } while (!start.isAfter(end)); return list; } private List mockEnergy() { List list = new ArrayList<>(); LocalDate end = LocalDate.now().minusDays(1); LocalDate start = end.minusDays(30); do { YrEnergyTradeVO vo = new YrEnergyTradeVO(); vo.setDate(start.getDayOfMonth() + ""); vo.setTips(start.toString()); vo.mock(); list.add(vo); start = start.plusDays(1); } while (!start.isAfter(end)); return list; } /** * 获取周几 * * @param date * @return */ private String week(LocalDate date) { String[] weeks = {"一", "二", "三", "四", "五", "六", "日"}; return "周" + weeks[date.getDayOfWeek().getValue() - 1]; } public static void main(String[] args) { int day = 7; LocalDate end = LocalDate.now().minusDays(1); LocalDate start = end.minusDays(day - 1); do { System.err.println(start + "\t" + start.getDayOfWeek().getValue()); start = start.plusDays(1); } while (!start.isAfter(end)); } }