| | |
| | | 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.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.yuanchu.mom.common.GetLook; |
| | | import com.yuanchu.mom.common.PrintChina; |
| | | import com.yuanchu.mom.dto.AuxiliaryCorrectionHoursDto; |
| | | import com.yuanchu.mom.dto.AuxiliaryOriginalHoursDto; |
| | | import com.yuanchu.mom.dto.AuxiliaryOriginalHoursLookDto; |
| | | import com.yuanchu.mom.dto.*; |
| | | import com.yuanchu.mom.mapper.*; |
| | | import com.yuanchu.mom.pojo.AuxiliaryCorrectionHours; |
| | | import com.yuanchu.mom.pojo.Power; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.IOException; |
| | | import java.net.URLEncoder; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | |
| | | } |
| | | } |
| | | //如果产量工时为空 |
| | | else if (ObjectUtils.isEmpty(maps)) { |
| | | else if (ObjectUtils.isNotEmpty(maps1)) { |
| | | for (Map<String, Object> objectMap : maps1) { |
| | | auxiliaryOriginalHoursDtos.add(getData(objectMap, "总工时")); |
| | | } |
| | | } else if (ObjectUtils.isEmpty(maps1)) { |
| | | } else if (ObjectUtils.isNotEmpty(maps)) { |
| | | for (Map<String, Object> objectMap : maps) { |
| | | auxiliaryOriginalHoursDtos.add(getData(objectMap, "总工时")); |
| | | } |
| | |
| | | return map; |
| | | } |
| | | |
| | | |
| | | //导出原始工时 |
| | | @Override |
| | | public void exportWorkingHours(AuxiliaryOriginalHoursLookDto auxiliaryOriginalHoursLookDto, HttpServletResponse response) throws IOException { |
| | | List<AuxiliaryOriginalHoursDto> auxiliaryOriginalHoursDtos = new ArrayList<AuxiliaryOriginalHoursDto>(); |
| | | |
| | | //查询原始工时(使用分页查询) |
| | | IPage<AuxiliaryOriginalHoursDto> body = (IPage<AuxiliaryOriginalHoursDto>) selectAuxiliaryOriginalHours(new Page(-1, -1), auxiliaryOriginalHoursLookDto).get("body"); |
| | | auxiliaryOriginalHoursDtos=body.getRecords(); |
| | | response.setContentType("application/vnd.ms-excel"); |
| | | response.setCharacterEncoding("UTF-8"); |
| | | // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系 |
| | | String fileName = URLEncoder.encode("工时统计导出", "UTF-8"); |
| | | response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); |
| | | try { |
| | | // 新建ExcelWriter |
| | | ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build(); |
| | | WriteSheet mainSheet = EasyExcel.writerSheet(0, "原始工时导出").head(AuxiliaryOriginalHoursDto.class).build(); |
| | | excelWriter.write(auxiliaryOriginalHoursDtos, mainSheet); |
| | | // 关闭流 |
| | | excelWriter.finish(); |
| | | } catch (IOException e) { |
| | | throw new RuntimeException("导出失败"); |
| | | } |
| | | |
| | | } |
| | | |
| | | private AuxiliaryOriginalHoursDto getData(Map<String, Object> objectMap, String type) { |
| | | AuxiliaryOriginalHoursDto auxiliaryOriginalHoursDto = new AuxiliaryOriginalHoursDto(); |
| | | auxiliaryOriginalHoursDto.setName(objectMap.get("name").toString());//姓名 |