sfd
2025-05-26 2a64b537e8e3bce9ce030585a3da17d48379c0ad
aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsGasPipelinePredictionController.java
@@ -7,23 +7,28 @@
import com.aps.common.log.annotation.Log;
import com.aps.common.log.enums.BusinessType;
import com.aps.common.security.annotation.RequiresPermissions;
import com.aps.common.security.utils.DictUtils;
import com.aps.core.domain.ApsGasPipelinePrediction;
import com.aps.core.domain.ApsMaterialProductGroupManagement;
import com.aps.core.service.IApsGasPipelinePredictionService;
import com.aps.system.api.domain.SysDictData;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletResponse;
import lombok.SneakyThrows;
import org.apache.commons.io.IOUtils;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.ByteArrayResource;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.InputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.List;
@@ -75,6 +80,20 @@
    @GetMapping("/template")
    public ResponseEntity<ByteArrayResource> exportTemplate() {
        byte[] file = IOUtils.resourceToByteArray("/templates/气体预测数据模板v1.0.xlsx");
        Workbook workbook = WorkbookFactory.create(new ByteArrayInputStream(file));
        Sheet sheet = workbook.getSheet("字典-生产基地");
        List<SysDictData> sysDictDataList = DictUtils.getDictCache("aps_factory");
        if (sysDictDataList != null) {
            for (int i = 0; i < sysDictDataList.size(); i++) {
                Row row = sheet.createRow(i + 1);
                row.createCell(0).setCellValue(sysDictDataList.get(i).getDictValue());
                row.createCell(1).setCellValue(sysDictDataList.get(i).getDictLabel());
            }
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            workbook.write(baos);
            file = baos.toByteArray();
        }
        workbook.close();
        ByteArrayResource resource = new ByteArrayResource(file);
        return ResponseEntity.ok()
                .header("Access-Control-Expose-Headers", HttpHeaders.CONTENT_DISPOSITION)