| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206 |
- package com.xjrsoft.module.student.controller;
- import cn.dev33.satoken.annotation.SaCheckPermission;
- import cn.hutool.core.bean.BeanUtil;
- import com.alibaba.excel.EasyExcel;
- import com.alibaba.excel.support.ExcelTypeEnum;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.baomidou.mybatisplus.core.toolkit.Wrappers;
- import com.xjrsoft.common.annotation.XjrLog;
- import com.xjrsoft.common.enums.DeleteMark;
- import com.xjrsoft.common.enums.EnrollTypeEnum;
- import com.xjrsoft.common.model.result.RT;
- import com.xjrsoft.common.page.ConventPage;
- import com.xjrsoft.common.page.PageOutput;
- import com.xjrsoft.common.utils.TreeUtil;
- import com.xjrsoft.common.utils.VoToColumnUtil;
- import com.xjrsoft.module.base.entity.BaseGrade;
- import com.xjrsoft.module.base.service.IBaseGradeService;
- import com.xjrsoft.module.job.EnrollmentStatisticsInfoTask;
- import com.xjrsoft.module.student.dto.*;
- import com.xjrsoft.module.student.entity.PbCseFeeobjupdate;
- import com.xjrsoft.module.student.service.IEnrollmentStatisticsInfoService;
- import com.xjrsoft.module.student.service.IPbCseFeeobjupdateService;
- import com.xjrsoft.module.student.vo.*;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import lombok.AllArgsConstructor;
- import org.springframework.http.ResponseEntity;
- import org.springframework.web.bind.annotation.*;
- import org.springframework.web.multipart.MultipartFile;
- import javax.validation.Valid;
- import java.io.ByteArrayOutputStream;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.List;
- /**
- * @title:
- * @Author szs
- * @Date: 2024-03-29
- * @Version 1.0
- */
- @RestController
- @RequestMapping("/student" + "/pbCseFeeobjupdate")
- @Api(value = "/student" + "/pbCseFeeobjupdate", tags = "攀宝学生信息")
- @AllArgsConstructor
- public class PbCseFeeobjupdateController {
- private final IPbCseFeeobjupdateService pbCseFeeobjupdateService;
- private final IBaseGradeService baseGradeService;
- private final IEnrollmentStatisticsInfoService enrollmentStatisticsInfoService;
- @GetMapping(value = "/grade-enrolltype-tree")
- @ApiOperation(value = "年级招生类型树")
- @SaCheckPermission("pbcsefeeobjupdate:gradeenrolltypetree")
- @XjrLog(value = "年级招生类型树")
- public RT<List<GradeEnrolltypeTreeVo>> gradeEnrolltypeTree() {
- List<BaseGrade> baseGradeList = baseGradeService.list(
- Wrappers.<BaseGrade>query().lambda()
- .eq(BaseGrade::getDeleteMark, DeleteMark.NODELETE));
- List<GradeEnrolltypeTreeVo> voList = new ArrayList<>();
- for (BaseGrade baseGrade : baseGradeList) {
- voList.add(new GradeEnrolltypeTreeVo() {{
- setId(baseGrade.getId().toString());
- setName(baseGrade.getName());
- }});
- voList.add(new GradeEnrolltypeTreeVo() {{
- setId(baseGrade.getId().toString() + "_" + EnrollTypeEnum.SPRING_ENROLLMENT.getCode());
- setName(EnrollTypeEnum.SPRING_ENROLLMENT.getValue());
- setParentId(baseGrade.getId().toString());
- }});
- voList.add(new GradeEnrolltypeTreeVo() {{
- setId(baseGrade.getId().toString() + "_" + EnrollTypeEnum.AUTUMN_ENROLLMENT.getCode());
- setName(EnrollTypeEnum.AUTUMN_ENROLLMENT.getValue());
- setParentId(baseGrade.getId().toString());
- }});
- }
- List<GradeEnrolltypeTreeVo> treeVoList = TreeUtil.build(voList);
- return RT.ok(treeVoList);
- }
- @GetMapping(value = "/enrollment-statistics")
- @ApiOperation(value = "招生统计")
- @SaCheckPermission("pbcsefeeobjupdate:enrollmentstatistics")
- @XjrLog(value = "招生统计", saveResponseData = true)
- public RT<EnrollmentStatisticsInfoVo> getEnrollmentStatisticsInfo(@Valid EnrollmentStatisticsInfoDto dto) {
- EnrollmentStatisticsInfoVo enrollmentStatisticsInfoVo = pbCseFeeobjupdateService.getLastEnrollmentStatisticsInfo(dto);
- return RT.ok(enrollmentStatisticsInfoVo);
- }
- @GetMapping(value = "/enrollment-statistics-calendar")
- @ApiOperation(value = "招生统计每日动态数据")
- @SaCheckPermission("pbcsefeeobjupdate:enrollmentstatisticscalendar")
- @XjrLog(value = "招生统计每日动态数据", saveResponseData = true)
- public RT<EnrollmentStatisticsCalendarInfoVo> getEnrollmentStatisticsCalendarInfo(@Valid EnrollmentStatisticsCalendarInfoDto dto) {
- EnrollmentStatisticsCalendarInfoVo enrollmentStatisticsCalendarInfoVo = pbCseFeeobjupdateService.getLastEnrollmentStatisticsCalendarInfo(dto);
- return RT.ok(enrollmentStatisticsCalendarInfoVo);
- }
- @GetMapping(value = "/enrollment-statistics-graduation")
- @ApiOperation(value = "招生统计毕业学校数据")
- @SaCheckPermission("pbcsefeeobjupdate:enrollmentstatisticsgraduation")
- @XjrLog(value = "招生统计毕业学校数据", saveResponseData = true)
- public RT<EnrollmentStatisticsGraduationInfoVo> getEnrollmentStatisticsGraduationInfo(@Valid EnrollmentStatisticsGraduationInfoDto dto) {
- EnrollmentStatisticsGraduationInfoVo enrollmentStatisticsGraduationInfoVo = pbCseFeeobjupdateService.getLastEnrollmentStatisticsGraduationInfo(dto);
- return RT.ok(enrollmentStatisticsGraduationInfoVo);
- }
- @GetMapping(value = "/page")
- @ApiOperation(value = "列表(分页)")
- @SaCheckPermission("pbcsefeeobjupdate:page")
- @XjrLog(value = "列表(分页)")
- public RT<PageOutput<PbCseFeeobjupdatePageVo>> page(@Valid PbCseFeeobjupdatePageDto dto) {
- LambdaQueryWrapper<PbCseFeeobjupdate> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper
- .select(PbCseFeeobjupdate.class, x -> VoToColumnUtil.fieldsToColumns(PbCseFeeobjupdatePageVo.class).contains(x.getProperty()))
- .orderByDesc(PbCseFeeobjupdate::getCratetime)
- ;
- IPage<PbCseFeeobjupdate> page = pbCseFeeobjupdateService.page(ConventPage.getPage(dto), queryWrapper);
- PageOutput<PbCseFeeobjupdatePageVo> pageOutput = ConventPage.getPageOutput(page, PbCseFeeobjupdatePageVo.class);
- return RT.ok(pageOutput);
- }
- @GetMapping(value = "/info")
- @ApiOperation(value = "根据id查询信息")
- @SaCheckPermission("pbcsefeeobjupdate:info")
- @XjrLog(value = "根据id查询信息", saveResponseData = true)
- public RT<PbCseFeeobjupdateVo> info(@RequestParam Long id) {
- PbCseFeeobjupdate pbCseFeeobjupdate = pbCseFeeobjupdateService.getById(id);
- if (pbCseFeeobjupdate == null) {
- return RT.error("找不到此数据!");
- }
- return RT.ok(BeanUtil.toBean(pbCseFeeobjupdate, PbCseFeeobjupdateVo.class));
- }
- @PostMapping
- @ApiOperation(value = "新增")
- @SaCheckPermission("pbcsefeeobjupdate:add")
- @XjrLog(value = "新增", saveResponseData = true)
- public RT<Boolean> add(@Valid @RequestBody AddPbCseFeeobjupdateDto dto) {
- PbCseFeeobjupdate pbCseFeeobjupdate = BeanUtil.toBean(dto, PbCseFeeobjupdate.class);
- boolean isSuccess = pbCseFeeobjupdateService.save(pbCseFeeobjupdate);
- return RT.ok(isSuccess);
- }
- @PutMapping
- @ApiOperation(value = "修改")
- @SaCheckPermission("pbcsefeeobjupdate:edit")
- @XjrLog(value = "修改", saveResponseData = true)
- public RT<Boolean> update(@Valid @RequestBody UpdatePbCseFeeobjupdateDto dto) {
- PbCseFeeobjupdate pbCseFeeobjupdate = BeanUtil.toBean(dto, PbCseFeeobjupdate.class);
- return RT.ok(pbCseFeeobjupdateService.updateById(pbCseFeeobjupdate));
- }
- @DeleteMapping
- @ApiOperation(value = "删除")
- @SaCheckPermission("pbcsefeeobjupdate:delete")
- @XjrLog(value = "删除", saveResponseData = true)
- public RT<Boolean> delete(@Valid @RequestBody List<Long> ids) {
- return RT.ok(pbCseFeeobjupdateService.removeBatchByIds(ids));
- }
- @PostMapping("/import")
- @ApiOperation(value = "导入")
- @SaCheckPermission("pbcsefeeobjupdate:import")
- @XjrLog(value = "导入", saveRequestData = false, saveResponseData = true)
- public RT<Boolean> importData(@RequestParam MultipartFile file) throws IOException {
- List<PbCseFeeobjupdatePageVo> savedDataList = EasyExcel.read(file.getInputStream()).head(PbCseFeeobjupdatePageVo.class).sheet().doReadSync();
- Boolean result = pbCseFeeobjupdateService.saveBatch(BeanUtil.copyToList(savedDataList, PbCseFeeobjupdate.class));
- return RT.ok(result);
- }
- @GetMapping("/export")
- @ApiOperation(value = "导出")
- @SaCheckPermission("pbcsefeeobjupdate:export")
- @XjrLog(value = "导出")
- public ResponseEntity<byte[]> exportData(@Valid PbCseFeeobjupdatePageDto dto, @RequestParam(defaultValue = "false") Boolean isTemplate) {
- List<PbCseFeeobjupdatePageVo> customerList = isTemplate != null && isTemplate ? new ArrayList<>() : page(dto).getData().getList();
- ByteArrayOutputStream bot = new ByteArrayOutputStream();
- EasyExcel.write(bot, PbCseFeeobjupdatePageVo.class).automaticMergeHead(false).excelType(ExcelTypeEnum.XLSX).sheet().doWrite(customerList);
- return RT.fileStream(bot.toByteArray(), "PbCseFeeobjupdate" + ExcelTypeEnum.XLSX.getValue());
- }
- @GetMapping("/enrollment-statistics-start")
- @ApiOperation(value = "触发招生统计")
- @SaCheckPermission("pbcsefeeobjupdate:enrollmentstatisticsstart")
- @XjrLog(value = "触发招生统计")
- public RT<Boolean> exportData() {
- EnrollmentStatisticsInfoTask statisticsInfoTask = new EnrollmentStatisticsInfoTask();
- statisticsInfoTask.doExecute(pbCseFeeobjupdateService, enrollmentStatisticsInfoService);
- return RT.ok(true);
- }
- }
|