| | |
| | | package com.yuanchu.mom.service.impl; |
| | | |
| | | import cn.hutool.core.date.DateUtil; |
| | | import com.alibaba.excel.EasyExcel; |
| | | import com.alibaba.excel.support.ExcelTypeEnum; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | |
| | | import com.yuanchu.mom.pojo.Sale; |
| | | import com.yuanchu.mom.mapper.SaleMapper; |
| | | import com.yuanchu.mom.pojo.SaleMaterial; |
| | | import com.yuanchu.mom.pojo.dto.ConsignmentDto1; |
| | | import com.yuanchu.mom.pojo.dto.ConsignmentDto2; |
| | | import com.yuanchu.mom.pojo.dto.SaleDto; |
| | | import com.yuanchu.mom.pojo.dto.SaleMaterialDto; |
| | | import com.yuanchu.mom.pojo.dto.*; |
| | | import com.yuanchu.mom.pojo.vo.SaleVo; |
| | | import com.yuanchu.mom.service.SaleMaterialService; |
| | | import com.yuanchu.mom.service.SaleService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.yuanchu.mom.utils.easyexcel.CustemHandler; |
| | | import com.yuanchu.mom.utils.easyexcel.EasyExcelUtils; |
| | | import com.yuanchu.mom.utils.easyexcel.LocalDateConverter; |
| | | import com.yuanchu.mom.utils.easyexcel.template.ExportSaleTemplate; |
| | | import com.yuanchu.mom.vo.Result; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.IOException; |
| | | import java.net.URLEncoder; |
| | | import java.nio.charset.StandardCharsets; |
| | | import java.time.LocalDateTime; |
| | | import java.time.LocalTime; |
| | | import java.time.format.DateTimeFormatter; |
| | |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | @Override |
| | | public void exportSale(ExportSaleDto dto, HttpServletResponse response) { |
| | | try{ |
| | | List<ExportSaleTemplate> exportSaleTemplates = saleMapper.selectSaleListByExport(dto.getOrderNumber(), dto.getName(), dto.getType(), dto.getDelTime()); |
| | | for (int i = 0; i < exportSaleTemplates.size(); i++) { |
| | | exportSaleTemplates.get(i).setId(i+1); |
| | | } |
| | | String fileName = String.valueOf(new StringBuilder() |
| | | .append("销售订单_") |
| | | .append(DateUtil.today()) |
| | | .append(ExcelTypeEnum.XLS.getValue())); |
| | | fileName = URLEncoder.encode(fileName, StandardCharsets.UTF_8.toString()); |
| | | response.setContentType("application/octet-stream"); |
| | | response.setHeader("Cache-Control", "no-cache"); |
| | | response.setHeader("Content-Disposition", "attachment;filename=" + fileName); |
| | | response.setHeader("Access-Control-Expose-Headers", "Content-Disposition"); |
| | | EasyExcel.write(response.getOutputStream()) |
| | | .head(ExportSaleTemplate.class) |
| | | .registerConverter(new LocalDateConverter()) |
| | | .autoCloseStream(true) |
| | | .excelType(ExcelTypeEnum.XLS) |
| | | .registerWriteHandler(new CustemHandler()) |
| | | .registerWriteHandler(EasyExcelUtils.getStyleStrategy()) |
| | | .sheet("Sheet1") |
| | | .doWrite(exportSaleTemplates); |
| | | }catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } finally { |
| | | try { |
| | | response.getOutputStream().close(); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | } |