| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- package com.ydtech.modules.largescreen.service.impl;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.ydtech.constants.enums.dict.InsOrderStatusEnum;
- import com.ydtech.modules.largescreen.dao.AgreementDataMapper;
- import com.ydtech.modules.largescreen.model.*;
- import com.ydtech.modules.largescreen.model.query.DataQuery;
- import com.ydtech.modules.largescreen.service.IAgreementDataService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.time.LocalDate;
- import java.time.LocalDateTime;
- import java.time.format.DateTimeFormatter;
- import java.util.ArrayList;
- import java.util.List;
- @Service
- public class AgreementDataService implements IAgreementDataService {
- @Autowired
- AgreementDataMapper agreementDataMapper;
- @Override
- public List<AgreementData> getCompanySumData(DataQuery dataQuery) {
- return agreementDataMapper.getCompanySumData(dataQuery);
- }
- @Override
- public List<OrderStatusData> getOrderStatusData(DataQuery dataQuery) {
- List<OrderStatusData> orderStatusData = agreementDataMapper.getOrderStatusData(dataQuery);
- List<OrderStatusData> newOrderStatusData = new ArrayList<>();
- orderStatusData.forEach(item -> {
- InsOrderStatusEnum insOrderStatusEnum = InsOrderStatusEnum.matchKey(item.getOrderStatusCode());
- if (insOrderStatusEnum != null) {
- item.setOrderStatusName(insOrderStatusEnum.getDesc());
- newOrderStatusData.add(item);
- }
- });
- return newOrderStatusData;
- }
- @Override
- public List<MapData> getMapData(DataQuery dataQuery) {
- return agreementDataMapper.getMapData(dataQuery);
- }
- @Override
- public Integer getOrderNumber(DataQuery dataQuery) {
- return agreementDataMapper.getOrderNumber(dataQuery);
- }
- /**
- * 获取一周内的数据
- * @return
- */
- @Override
- public List<OrderStatusData> getWeekData() {
- //获取一周内的起始日期
- List<String> weekDate = this.getWeekDate();
- List<OrderStatusData> resultList = new ArrayList<>();
- weekDate.forEach(date -> {
- DataQuery dataQuery = new DataQuery();
- dataQuery.startDate = date + " 00:00:00";
- dataQuery.endDate = date + " 23:59:59";
- dataQuery.orderStatus = "3";
- List<OrderStatusData> orderStatusData = agreementDataMapper.getOrderStatusData(dataQuery);
- if(orderStatusData.isEmpty()){
- OrderStatusData orderStatusData1 = new OrderStatusData();
- orderStatusData1.setOrderStatusName("已完成");
- orderStatusData1.setOrderStatusCode("3");
- orderStatusData1.setDate(date);
- orderStatusData.add(orderStatusData1);
- }else{
- orderStatusData.get(0).setDate(date);
- }
- resultList.addAll(orderStatusData);
- });
- return resultList;
- }
- @Override
- public List<CompanyData> getCompanys() {
- List<CompanyData> companys = agreementDataMapper.getCompanys();
- List<Agreement> agreements = agreementDataMapper.getAgreements();
- companys.forEach(companyData -> {
- List<Agreement> agreements1 = new ArrayList<>();
- agreements.forEach(agreement -> {
- if(agreement.getCompanyId().equals(companyData.getCompanyId())){
- agreements1.add(agreement);
- }
- });
- companyData.setAgreementList(agreements1);
- });
- return companys;
- }
- //获取一周内的日期
- public static List<String> getWeekDate(){
- List<String> list = new ArrayList<>();
- //获取一周内的起始日期
- // 获取当前日期
- LocalDate currentDate = LocalDate.now();
- // 获取前一周的起始日期
- LocalDate oneWeekAgo = currentDate.minusWeeks(1);
- // 包括今天 去除1天
- oneWeekAgo = oneWeekAgo.plusDays(1);
- // 输出前一周每天的起始日期
- for (int i = 0; i < 6; i++) {
- // 获取每天的起始日期时间
- LocalDateTime startOfDay = oneWeekAgo.atStartOfDay();
- list.add(startOfDay.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
- oneWeekAgo = oneWeekAgo.plusDays(1);
- }
- list.add(currentDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
- return list;
- }
- }
|