| | |
| | | package com.dy.pmsProduct.schedule; |
| | | |
| | | import com.alibaba.excel.EasyExcel; |
| | | import com.alibaba.excel.converters.Converter; |
| | | import com.dy.common.aop.SsoPowerAop; |
| | | import com.dy.common.webUtil.BaseResponse; |
| | | import com.dy.common.webUtil.BaseResponseUtils; |
| | | import com.dy.common.webUtil.QueryResultVo; |
| | | import com.dy.pmsGlobal.aop.Log; |
| | | import com.dy.pmsGlobal.pojoPr.PrSchedule; |
| | | import com.dy.pmsGlobal.util.QrCodeUtil; |
| | | import jakarta.servlet.http.HttpServletResponse; |
| | | import jakarta.validation.Valid; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.collections4.CollectionUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.io.IOException; |
| | | import java.net.URLEncoder; |
| | | import java.nio.charset.StandardCharsets; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | @RestController |
| | | @RequestMapping(path="schedule") |
| | | public class ScheduleCtrl { |
| | | |
| | | private String fileName = "排班信息" ; |
| | | private String sheetName = "排班信息" ; |
| | | private ScheduleSv sv; |
| | | @Autowired |
| | | public void setScheduleSv(ScheduleSv scheduleSv) { |
| | |
| | | return BaseResponseUtils.buildSuccess(list); |
| | | } |
| | | |
| | | private String fileName = "排班信息" ; |
| | | private String sheetName = "排班信息" ; |
| | | |
| | | @PostMapping(path="export") |
| | | @SsoPowerAop(power = "-1") |
| | | @Log("导出排班") |
| | | public void exportSchedule(@RequestBody QueryVo queryVo, HttpServletResponse response){ |
| | | List<Converter> list = new ArrayList<>() ; |
| | | public void exportSchedule(@RequestBody QueryVo queryVo, HttpServletResponse response) throws IOException { |
| | | List<ExcelVo> list = new ArrayList<>(); |
| | | |
| | | List<PrSchedule> schList = sv.selectAll(queryVo); |
| | | schList.forEach(sch -> { |
| | | sch.relList.forEach(rel -> { |
| | | ExcelVo vo = new ExcelVo(); |
| | | vo.id = sch.id.toString(); |
| | | vo.userName = sch.userName; |
| | | vo.scheduleDate = sch.scheduleDate; |
| | | vo.dt = sch.dt; |
| | | vo.planName = rel.planName; |
| | | vo.nodeName = rel.nodeName; |
| | | vo.stationName = rel.stationName; |
| | | vo.workDetails = rel.workDetails; |
| | | list.add(vo); |
| | | if (CollectionUtils.isNotEmpty(schList)) { |
| | | schList.forEach(sch -> { |
| | | if (CollectionUtils.isNotEmpty(sch.relList)) { |
| | | sch.relList.forEach(rel -> { |
| | | ExcelVo vo = new ExcelVo(); |
| | | vo.id = sch.id.toString(); |
| | | vo.userName = sch.userName; |
| | | vo.scheduleDate = sch.scheduleDate; |
| | | vo.dt = sch.dt; |
| | | vo.planName = rel.planName; |
| | | vo.nodeName = rel.nodeName; |
| | | vo.stationName = rel.stationName; |
| | | vo.workDetails = rel.workDetails; |
| | | list.add(vo); |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | try{ |
| | | response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); |
| | | response.setCharacterEncoding("utf-8"); |
| | | fileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20"); |
| | | response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); |
| | | EasyExcel.write(response.getOutputStream(), list.get(0).getClass()).sheet(sheetName) |
| | | .registerWriteHandler(new CustomCellWriteHandler()).doWrite(list); |
| | | }catch (Exception e){ |
| | | log.error("导出排班信息异常", e); |
| | | } |
| | | |
| | | response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); |
| | | response.setCharacterEncoding("utf-8"); |
| | | fileName = URLEncoder.encode(fileName, StandardCharsets.UTF_8).replaceAll("\\+", "%20"); |
| | | response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); |
| | | EasyExcel.write(response.getOutputStream(), list.get(0).getClass()).sheet(sheetName) |
| | | .registerWriteHandler(new CustomCellWriteHandler()).doWrite(list); |
| | | } |
| | | } |