package com.xjrsoft.module.evaluate.controller; import cn.dev33.satoken.annotation.SaCheckPermission; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.support.ExcelTypeEnum; import com.baomidou.mybatisplus.core.metadata.IPage; import com.xjrsoft.common.model.result.RT; import com.xjrsoft.common.page.ConventPage; import com.xjrsoft.common.page.PageOutput; import com.xjrsoft.module.evaluate.dto.EvaluateResultDetailPageDetailDto; import com.xjrsoft.module.evaluate.dto.EvaluateResultDetailPageDto; import com.xjrsoft.module.evaluate.dto.EvaluateResultIndexPageDto; import com.xjrsoft.module.evaluate.dto.ResultViewingPageDto; import com.xjrsoft.module.evaluate.service.IEvaluateResultService; import com.xjrsoft.module.evaluate.vo.*; import com.xjrsoft.module.textbook.vo.TextbookIssueRecordExcelVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.validation.Valid; import java.io.ByteArrayOutputStream; import java.util.ArrayList; import java.util.List; /** * @title: 评价结果 * @Author szs * @Date: 2024-01-16 * @Version 1.0 */ @RestController @RequestMapping("/evaluate" + "/evaluateResult") @Api(value = "/evaluate" + "/evaluateResult",tags = "评价结果代码") @AllArgsConstructor public class EvaluateResultController { private final IEvaluateResultService evaluateResultService; @GetMapping(value = "/index-page") @ApiOperation(value="评价结果首页列表(分页)") @SaCheckPermission("evaluateresult:detail") public RT> indexPage(@Valid EvaluateResultIndexPageDto dto){ IPage page = evaluateResultService.getIndexPage(dto); PageOutput pageOutput = ConventPage.getPageOutput(page, EvaluateResultIndexPageVo.class); return RT.ok(pageOutput); } @GetMapping(value = "/detail-page") @ApiOperation(value="评价结果详情查看列表(分页)") @SaCheckPermission("evaluateresult:detail") public RT> detailPage(@Valid EvaluateResultDetailPageDto dto){ IPage page = evaluateResultService.getDetailPage(dto); PageOutput pageOutput = ConventPage.getPageOutput(page, EvaluateResultDetailPageVo.class); return RT.ok(pageOutput); } @GetMapping(value = "/detail-page-detail") @ApiOperation(value="评价结果详情查看列表的详情") @SaCheckPermission("evaluateresult:detail") public RT detailPageDetail(@Valid EvaluateResultDetailPageDetailDto dto){ EvaluateResultDetailPageDetailVo evaluateResultDetailPageDetailVo = evaluateResultService.getDetailPageDetail(dto); return RT.ok(evaluateResultDetailPageDetailVo); } @GetMapping(value = "/result-viewing-page") @ApiOperation(value="结果查看(分页)") @SaCheckPermission("evaluateresult:detail") public RT> pageResultViewing(@Valid ResultViewingPageDto dto){ IPage page = evaluateResultService.pageResultViewing(dto); PageOutput pageOutput = ConventPage.getPageOutput(page, ResultViewingPageVo.class); return RT.ok(pageOutput); } @GetMapping("/export") @ApiOperation(value = "导出") public ResponseEntity exportData() { List customerList = evaluateResultService.getList(); List dataList = new ArrayList<>(); // SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); // for (TextbookIssueRecordPageVo textbookIssueRecordPageVo : customerList) { // if(textbookIssueRecordPageVo.getCreateDate() == null){ // continue; // } // textbookIssueRecordPageVo.setCreateDateStr(sdf.format(textbookIssueRecordPageVo.getCreateDate())); // dataList.add(BeanUtil.toBean(textbookIssueRecordPageVo, TextbookIssueRecordExcelVo.class)); // } ByteArrayOutputStream bot = new ByteArrayOutputStream(); EasyExcel.write(bot, TextbookIssueRecordExcelVo.class).automaticMergeHead(false).excelType(ExcelTypeEnum.XLSX).sheet().doWrite(dataList); return RT.fileStream(bot.toByteArray(), "TextbookIssueRecord" + ExcelTypeEnum.XLSX.getValue()); } }