package com.yuanchu.mom.service.impl; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yuanchu.mom.dto.SupplierManagementDto; import com.yuanchu.mom.mapper.SupplierManagementMapper; import com.yuanchu.mom.pojo.SupplierManagement; import com.yuanchu.mom.service.SupplierManagementService; import com.yuanchu.mom.utils.QueryWrappers; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.util.List; /** *

* 服务实现类 *

* * @author 芯导软件(江苏)有限公司 * @since 2024-11-15 02:46:45 */ @Service public class SupplierManagementServiceImpl extends ServiceImpl implements SupplierManagementService { @Autowired private SupplierManagementMapper supplierManagementMapper; public SupplierManagementServiceImpl(SupplierManagementMapper supplierManagementMapper) { this.supplierManagementMapper = supplierManagementMapper; } @Override public List selectSupplierManagement( SupplierManagement supplierManagement) { return this.list(); } @Override public void exportSupplierManagement(Integer parentId, HttpServletResponse response) { List data = supplierManagementMapper.selectSupplierManagementAll(parentId); response.setContentType("application/vnd.ms-excel"); response.setCharacterEncoding("UTF-8"); // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系 try { String fileName = URLEncoder.encode("供应商管理", "UTF-8"); response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); // 新建ExcelWriter ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build(); WriteSheet writeSheet = EasyExcel.writerSheet(0, "供应商管理").head(SupplierManagementDto.class).build(); excelWriter.write(data, writeSheet); // 关闭流 excelWriter.finish(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); throw new RuntimeException("导出失败"); } catch (IOException e) { e.printStackTrace(); throw new RuntimeException("导出失败"); } } @Override public IPage selectQualifiedSupplierManagement(Page page, SupplierManagement supplierManagement) { return baseMapper.selectQualifiedSupplierManagement(page, QueryWrappers.queryWrappers(supplierManagement)); } @Override public List selectQualifiedSupplierManagementById(Integer supplierManagementId) { return this.list(new QueryWrapper().lambda().eq(SupplierManagement::getSupplierManagementId , supplierManagementId)); } @Override public List selectSupplierManagementByParentId(Integer parentId) { return supplierManagementMapper.selectSupplierManagement(parentId); } @Override public List selectSupplierManagementAll() { return supplierManagementMapper.selectList(null); } }