| | |
| | | import cn.hutool.core.bean.BeanUtil; |
| | | import cn.hutool.core.convert.Convert; |
| | | import cn.hutool.core.date.LocalDateTimeUtil; |
| | | import cn.hutool.core.io.FileUtil; |
| | | import cn.hutool.core.lang.Assert; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | |
| | | import com.ruoyi.common.enums.FileNameType; |
| | | import com.ruoyi.common.enums.SaleEnum; |
| | | import com.ruoyi.common.exception.base.BaseException; |
| | | import com.ruoyi.common.utils.*; |
| | | import com.ruoyi.common.utils.DateUtils; |
| | | import com.ruoyi.common.utils.EnumUtil; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.ruoyi.framework.security.LoginUser; |
| | | import com.ruoyi.framework.web.domain.AjaxResult; |
| | |
| | | import java.lang.reflect.Field; |
| | | import java.math.BigDecimal; |
| | | import java.math.RoundingMode; |
| | | import java.net.URLEncoder; |
| | | import java.nio.charset.StandardCharsets; |
| | | import java.nio.file.Files; |
| | | import java.nio.file.Path; |
| | | import java.nio.file.Paths; |
| | |
| | | } |
| | | |
| | | @SneakyThrows |
| | | private void exportProcessContractToWord(@NotNull ExportProcessContractVo exportProcessContract){ |
| | | private void exportProcessContractToWord(@NotNull ExportProcessContractVo exportProcessContract) { |
| | | // 确保 saleProducts 不为 null |
| | | if (exportProcessContract.getSaleProducts() == null) { |
| | | exportProcessContract.setSaleProducts(new ArrayList<>()); |
| | |
| | | HttpServletResponse response = |
| | | ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())) |
| | | .getResponse(); |
| | | String rawFileName = StrUtil.format("{}-{}合同.docx", |
| | | exportProcessContract.getPartyAClientName(), |
| | | exportProcessContract.getCreateTime()); |
| | | String encodedFileName = URLEncoder.encode(rawFileName, StandardCharsets.UTF_8.toString()); |
| | | response.setHeader("Content-Disposition", "attachment; filename*=UTF-8''" + encodedFileName); |
| | | response.setContentType("application/vnd.openxmlformats-officedocument.wordprocessingml.document"); |
| | | response.setHeader("Content-Disposition", "attachment;filename="+ StrUtil.format("{}-{}",exportProcessContract.getPartyAClientName(),exportProcessContract.getCreateTime()) +"合同.docx"); |
| | | |
| | | template.write(response.getOutputStream()); |
| | | template.close(); |
| | | response.flushBuffer(); |