燕山石化溯源三维电子沙盘-【后端】-服务
1
13693261870
2023-08-09 2c786593c62d1a97cfc531b35106798047279042
src/main/java/com/yssh/service/XlsExportService.java
@@ -1,9 +1,19 @@
package com.yssh.service;
import com.yssh.entity.xls.DayExcel;
import com.yssh.utils.ExcelUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.ClassPathResource;
import org.springframework.stereotype.Service;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * Excel导出服务类
@@ -12,6 +22,25 @@
 */
@Service
public class XlsExportService {
    protected final Logger logger = LoggerFactory.getLogger(this.getClass());
    @Value("${report.path}")
    private String reportPath;
    /**
     * 获取导出路径
     */
    private String getExpPath(String type) {
        String path = reportPath + File.separator + type;
        File f = new File(path);
        if (!f.exists() || !f.isDirectory()) {
            f.mkdirs();
        }
        return path;
    }
    /**
     * 获取Excel模板
     */
@@ -21,4 +50,58 @@
        return resource.exists() ? resource.getFile().getPath() : null;
    }
    /**
     * 创建Excel
     */
    private <T> void createExcel(String source, String target, List<T> list) {
        Map<String, List<T>> map = new HashMap<>();
        map.put("data", list);
        ExcelUtils.writeToTemplate(source, target, map);
    }
    /**
     * 创建日报
     */
    public void createDayReport() {
        try {
            String type = "day";
            List<DayExcel> list = new ArrayList<>();
            for (int i = 1; i < 47; i++) {
                DayExcel day = new DayExcel("AI-" + (i < 10 ? "0" : "") + i, "lj", "ljtb", "ys", "fs", "fx", "wd");
                list.add(day);
            }
            String source = getXslTemplate(type);
            String target = String.format("%s\\%d.xlsx", getExpPath(type), 20230808);
            createExcel(source, target, list);
        } catch (Exception ex) {
            logger.error(ex.getMessage(), ex);
        }
    }
    /**
     * 创建周报
     */
    public void createWeekReport() {
        try {
            String source = getXslTemplate("week");
        } catch (Exception ex) {
            logger.error(ex.getMessage(), ex);
        }
    }
    /**
     * 创建月报
     */
    public void createMonthReport() {
        try {
            String source = getXslTemplate("month");
        } catch (Exception ex) {
            logger.error(ex.getMessage(), ex);
        }
    }
}