sinake
2 天以前 d6e936e3dcb645658fa7e0c3e02c1daa30bfeb68
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonorpaymentController.java
@@ -3,10 +3,12 @@
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.constant.HttpStatus;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.project.domain.ServiceDonorpayment;
import com.ruoyi.project.service.IServiceDonorpaymentService;
@@ -122,27 +124,25 @@
        configuration.setDirectoryForTemplateLoading(new File(filePath));
        Template t = null;
        try {
            t = configuration.getTemplate("浙江省OPO收款结算单.ftl");
//            t = configuration.getTemplate("浙江省OPO收款结算单.ftl");
            t = configuration.getTemplate("浙江省接收器官结算表.ftl");
        } catch (IOException e) {
            e.printStackTrace();
        }
        String newTime = String.valueOf(Calendar.getInstance().getTimeInMillis());
        String name = "浙江省OPO收款结算单_"+ newTime;
        String name = "浙江省接收器官结算表_"+ newTime;
        //输出文档路径及名称
        File outFile = new File(RuoYiConfig.getProfile() + "/download/wordtemplate/" + name + ".doc");
        Writer out = null;
        try {
            out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "utf-8"));
        } catch (FileNotFoundException e1) {
            e1.printStackTrace();
        if (t == null) {
            throw new ServiceException("模板加载失败,请检查模板文件是否存在", HttpStatus.NO_CONTENT);
        }
        try {
        // Writer 必须关闭/刷新:BufferedWriter 带缓冲,不关闭会造成文件句柄泄漏且内容可能不完整
        try (Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "utf-8"))) {
            t.process(dataMap, out);
        } catch (TemplateException e) {
            e.printStackTrace();
        } catch (TemplateException | IOException e) {
            logger.error("生成模板文档失败, name={}", name, e);
            throw new ServiceException("生成文档失败", HttpStatus.ERROR);
        }
        Map<String, Object> map = new HashMap<>();
        map.put("downloadUrl", "/profile/download/wordtemplate/" + name + ".doc");