123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- package com.ruoyi.powerdistribution.controller;
- import com.alibaba.excel.EasyExcel;
- import com.alibaba.excel.ExcelWriter;
- import com.alibaba.excel.write.metadata.WriteSheet;
- import com.alibaba.excel.write.metadata.fill.FillConfig;
- import com.ruoyi.common.core.controller.BaseController;
- import com.ruoyi.common.utils.DateUtils;
- import com.ruoyi.powerdistribution.domain.*;
- import com.ruoyi.powerdistribution.domain.dto.PdmWorkPlanDTO;
- import com.ruoyi.powerdistribution.domain.vo.ReportDayVO;
- import com.ruoyi.powerdistribution.domain.vo.ReportDayWeek;
- import com.ruoyi.powerdistribution.service.*;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import lombok.AllArgsConstructor;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.security.access.prepost.PreAuthorize;
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import javax.servlet.http.HttpServletResponse;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.util.ArrayList;
- import java.util.List;
- @RestController
- @AllArgsConstructor
- @RequestMapping("/power/report")
- //@Api(value = "powerReport", tags = "报表查询")
- public class ReportController extends BaseController {
- @Autowired
- private IPdmReportAppointmentDayService pdmReportAppointmentDayService;
- @Autowired
- private IPdmReportIllegalDayService pdmReportIllegalDayService;
- @Autowired
- private IPdmReportPlanDayService pdmReportPlanDayService;
- @Autowired
- private IPdmReportPlanNextDayService pdmReportPlanNextDayService;
- @Autowired
- private IPdmWorkPlanService pdmWorkPlanService;
- /**
- * 日报查询
- */
- @ApiOperation(value = "日报查询", notes = "日报查询")
- @GetMapping("/day")
- public ReportDayVO day(String startDate, String endDate) {
- PdmReportIllegalDay pdmReportIllegalDay = new PdmReportIllegalDay();
- pdmReportIllegalDay.setStartDate(startDate);
- pdmReportIllegalDay.setEndDate(endDate);
- List<PdmReportIllegalDay> illegalList = pdmReportIllegalDayService.selectIllegalReport(pdmReportIllegalDay);
- PdmReportAppointmentDay pdmReportAppointmentDay = new PdmReportAppointmentDay();
- pdmReportAppointmentDay.setStartDate(startDate);
- pdmReportAppointmentDay.setEndDate(endDate);
- List<PdmReportAppointmentDay> appointmentlist = pdmReportAppointmentDayService.selectAppointmentReport(pdmReportAppointmentDay);
- PdmReportPlanDay pdmReportPlanDay = new PdmReportPlanDay();
- pdmReportPlanDay.setStartDate(startDate);
- pdmReportPlanDay.setEndDate(endDate);
- List<PdmReportPlanDay> planlist = pdmReportPlanDayService.selectPlanReport(pdmReportPlanDay);
- PdmReportPlanNextDay nextDay = new PdmReportPlanNextDay();
- nextDay.setStartDate(DateUtils.getNextDateStr(endDate, DateUtils.YYYYMMDD, 1));
- nextDay.setEndDate(DateUtils.getNextDateStr(endDate, DateUtils.YYYYMMDD, 1));
- List<PdmReportPlanNextDay> nextDayList = pdmReportPlanNextDayService.selectReportPlanNext(nextDay);
- ReportDayVO vo = new ReportDayVO();
- vo.setAppointmentList(appointmentlist);
- vo.setIllegalList((illegalList == null || (illegalList.size() == 1 && illegalList.get(0).getCompany().equals("总计"))) ? new ArrayList<>() : illegalList);
- vo.setPlanList(planlist);
- vo.setNextDayList(nextDayList);
- return vo;
- }
- /**
- * 日报导出 停用
- *
- * @param response
- * @param reportDate
- * @throws IOException
- */
- @PostMapping("/dayExport")
- @ApiOperation(value = "日报导出")
- public void dayExport(HttpServletResponse response, String reportDate) throws IOException {
- PdmReportIllegalDay pdmReportIllegalDay = new PdmReportIllegalDay();
- pdmReportIllegalDay.setReportDate(reportDate);
- List<PdmReportIllegalDay> illegalList = pdmReportIllegalDayService.selectPdmReportIllegalDayList(pdmReportIllegalDay);
- PdmReportAppointmentDay pdmReportAppointmentDay = new PdmReportAppointmentDay();
- pdmReportAppointmentDay.setReportDate(reportDate);
- List<PdmReportAppointmentDay> appointmentlist = pdmReportAppointmentDayService.selectPdmReportAppointmentDayList(pdmReportAppointmentDay);
- PdmReportPlanDay pdmReportPlanDay = new PdmReportPlanDay();
- pdmReportPlanDay.setReportDate(reportDate);
- List<PdmReportPlanDay> planlist = pdmReportPlanDayService.selectPdmReportPlanDayList(pdmReportPlanDay);
- PdmReportPlanNextDay nextDay = new PdmReportPlanNextDay();
- nextDay.setReportDate(DateUtils.getNextDateStr(reportDate, DateUtils.YYYYMMDD, 1));
- List<PdmReportPlanNextDay> nextDayList = pdmReportPlanNextDayService.selectPdmReportPlanNextDayList(nextDay);
- response.setContentType("application/vnd.ms-excel");
- response.setCharacterEncoding("utf-8");
- String fileName = java.util.UUID.randomUUID() + ".xlsx";
- response.setHeader("Content-disposition", "attachment;filename=" + fileName);
- String templateFileName = "excelTemplate/dayReport.xlsx";
- InputStream fis = Thread.currentThread().getContextClassLoader().getResourceAsStream(templateFileName);
- OutputStream ops = response.getOutputStream();
- ExcelWriter excelWriter = EasyExcel.write(ops).withTemplate(fis).build();
- WriteSheet writeSheet = EasyExcel.writerSheet("违章情况").build();
- FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
- excelWriter.fill(illegalList, fillConfig, writeSheet);
- WriteSheet writeSheet2 = EasyExcel.writerSheet("作业计划").build();
- excelWriter.fill(planlist, fillConfig, writeSheet2);
- WriteSheet writeSheet3 = EasyExcel.writerSheet("履职情况").build();
- excelWriter.fill(appointmentlist, fillConfig, writeSheet3);
- WriteSheet writeSheet4 = EasyExcel.writerSheet("明日计划").build();
- excelWriter.fill(nextDayList, fillConfig, writeSheet4);
- excelWriter.finish();
- }
- /**
- * 周报查询
- */
- @ApiOperation(value = "周报查询", notes = "周报查询")
- @GetMapping("/week")
- public ReportDayWeek week(String startDate, String endDate) {
- PdmReportIllegalDay pdmReportIllegal = new PdmReportIllegalDay();
- pdmReportIllegal.setStartDate(startDate);
- pdmReportIllegal.setEndDate(endDate);
- List<PdmReportIllegalDay> illegalList = pdmReportIllegalDayService.selectIllegalReport(pdmReportIllegal);
- PdmReportAppointmentDay pdmReportAppointmentDay = new PdmReportAppointmentDay();
- pdmReportAppointmentDay.setStartDate(startDate);
- pdmReportAppointmentDay.setEndDate(endDate);
- List<PdmReportAppointmentDay> appointmentlist = pdmReportAppointmentDayService.selectAppointmentReport(pdmReportAppointmentDay);
- PdmReportPlanDay pdmReportPlanDay = new PdmReportPlanDay();
- pdmReportPlanDay.setStartDate(startDate);
- pdmReportPlanDay.setEndDate(endDate);
- List<PdmReportPlanDay> planlist = pdmReportPlanDayService.selectPlanReport(pdmReportPlanDay);
- PdmReportPlanNextDay nextDay = new PdmReportPlanNextDay();
- nextDay.setStartDate(DateUtils.getNextMonday(startDate, DateUtils.YYYYMMDD));
- nextDay.setEndDate(DateUtils.getNextSunday(endDate, DateUtils.YYYYMMDD));
- List<PdmReportPlanNextDay> nextList = pdmReportPlanNextDayService.selectReportPlanNext(nextDay);
- PdmWorkPlanDTO workPlan = new PdmWorkPlanDTO();
- workPlan.setStartDate(DateUtils.getNextMonday(startDate, DateUtils.YYYYMMDD));
- workPlan.setEndDate(DateUtils.getNextSunday(endDate, DateUtils.YYYYMMDD));
- workPlan.setLevel3Flag("1");//三级及以上作业
- List<PdmWorkPlan> workList = pdmWorkPlanService.selectPdmWorkPlanList(workPlan);
- ReportDayWeek vo = new ReportDayWeek();
- vo.setAppointmentList(appointmentlist);
- vo.setIllegalList(illegalList);
- vo.setPlanList(planlist);
- vo.setNextList(nextList);
- vo.setWorkList(workList);
- return vo;
- }
- }
|