Prechádzať zdrojové kódy

1、毕业管理模块
2、课表接收模块

dzx 1 rok pred
rodič
commit
f6737d151f

+ 122 - 0
src/main/java/com/xjrsoft/module/schedule/controller/ScheduleController.java

@@ -0,0 +1,122 @@
+package com.xjrsoft.module.schedule.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.extension.plugins.pagination.Page;
+import com.xjrsoft.common.model.result.RT;
+import com.xjrsoft.common.page.ConventPage;
+import com.xjrsoft.common.page.PageOutput;
+import com.xjrsoft.module.room.dto.AddRoomDto;
+import com.xjrsoft.module.room.dto.RoomPageDto;
+import com.xjrsoft.module.room.dto.UpdateRoomDto;
+import com.xjrsoft.module.room.entity.Room;
+import com.xjrsoft.module.room.service.IRoomService;
+import com.xjrsoft.module.room.vo.RoomExcelVo;
+import com.xjrsoft.module.room.vo.RoomPageVo;
+import com.xjrsoft.module.room.vo.RoomVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.validation.Valid;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.util.List;
+
+/**
+* @title: 寝室
+* @Author dzx
+* @Date: 2023-12-27
+* @Version 1.0
+*/
+@RestController
+@RequestMapping("/schedule" + "/schedule")
+@Api(value = "/schedule"  + "/schedule",tags = "课表代码")
+@AllArgsConstructor
+public class ScheduleController {
+
+
+    private final IRoomService roomService;
+
+    @GetMapping(value = "/receive-msg")
+    @ApiOperation(value="接收消息")
+    @SaCheckPermission("room:detail")
+    public RT<Boolean> receiveMsg(@RequestParam String schoolId, @RequestParam String eduYearSerialNo, @RequestParam String startDate, @RequestParam String endDate){
+
+        return RT.ok(true);
+    }
+
+    @GetMapping(value = "/info")
+    @ApiOperation(value="根据id查询寝室信息")
+    @SaCheckPermission("room:detail")
+    public RT<RoomVo> info(@RequestParam Long id){
+        Room room = roomService.getById(id);
+        if (room == null) {
+           return RT.error("找不到此数据!");
+        }
+        return RT.ok(BeanUtil.toBean(room, RoomVo.class));
+    }
+
+
+    @PostMapping
+    @ApiOperation(value = "新增寝室")
+    @SaCheckPermission("room:add")
+    public RT<String> add(@Valid @RequestBody AddRoomDto dto){
+        String message = roomService.saveBatch(dto);
+        if("ok".equals(message)){
+            return RT.ok("true");
+        }
+        return RT.ok(message);
+    }
+
+    @PutMapping
+    @ApiOperation(value = "修改寝室")
+    @SaCheckPermission("room:edit")
+    public RT<Boolean> update(@Valid @RequestBody UpdateRoomDto dto){
+
+        Room room = BeanUtil.toBean(dto, Room.class);
+        return RT.ok(roomService.updateById(room));
+
+    }
+
+    @DeleteMapping
+    @ApiOperation(value = "删除寝室")
+    @SaCheckPermission("room:delete")
+    public RT<Boolean> delete(@Valid @RequestBody Long id){
+        String result = roomService.deleteReachBed(id);
+        if("ok".equals(result)){
+            return RT.ok(true);
+        }
+        return RT.error(result);
+
+    }
+    @PostMapping("/import")
+    @ApiOperation(value = "导入")
+    public RT<Boolean> importData(@RequestParam MultipartFile file) throws IOException {
+        List<RoomPageVo> savedDataList = EasyExcel.read(file.getInputStream()).head(RoomPageVo.class).sheet().doReadSync();
+        Boolean result = roomService.saveBatch(BeanUtil.copyToList(savedDataList, Room.class));
+        return RT.ok(result);
+    }
+
+    @GetMapping("/export")
+    @ApiOperation(value = "导出")
+    public ResponseEntity<byte[]> exportData(@Valid RoomPageDto dto, @RequestParam(defaultValue = "false") Boolean isTemplate) {
+        List<RoomExcelVo> customerList = roomService.getList(dto);
+        ByteArrayOutputStream bot = new ByteArrayOutputStream();
+        EasyExcel.write(bot, RoomExcelVo.class).automaticMergeHead(false).excelType(ExcelTypeEnum.XLSX).sheet().doWrite(customerList);
+
+        return RT.fileStream(bot.toByteArray(), "Room" + ExcelTypeEnum.XLSX.getValue());
+    }
+}

+ 118 - 0
src/main/java/com/xjrsoft/module/student/controller/BaseStudentGraduateController.java

@@ -0,0 +1,118 @@
+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.extension.plugins.pagination.Page;
+import com.xjrsoft.common.model.result.RT;
+import com.xjrsoft.common.page.ConventPage;
+import com.xjrsoft.common.page.PageOutput;
+import com.xjrsoft.module.student.dto.AddBaseStudentGraduateDto;
+import com.xjrsoft.module.student.dto.BaseStudentGraduatePageDto;
+import com.xjrsoft.module.student.dto.UpdateBaseStudentGraduateDto;
+import com.xjrsoft.module.student.entity.BaseStudentGraduate;
+import com.xjrsoft.module.student.service.IBaseStudentGraduateService;
+import com.xjrsoft.module.student.vo.BaseStudentGraduatePageVo;
+import com.xjrsoft.module.student.vo.BaseStudentGraduateVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+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 dzx
+* @Date: 2024-01-26
+* @Version 1.0
+*/
+@RestController
+@RequestMapping("/student" + "/baseStudentGraduate")
+@Api(value = "/student"  + "/baseStudentGraduate",tags = "学生毕业管理代码")
+@AllArgsConstructor
+public class BaseStudentGraduateController {
+
+
+    private final IBaseStudentGraduateService baseStudentGraduateService;
+
+    @GetMapping(value = "/page")
+    @ApiOperation(value="学生毕业管理列表(分页)")
+    @SaCheckPermission("basestudentgraduate:detail")
+    public RT<PageOutput<BaseStudentGraduatePageVo>> page(@Valid BaseStudentGraduatePageDto dto){
+
+        Page<BaseStudentGraduatePageVo> page = baseStudentGraduateService.getPage(new Page<>(dto.getLimit(), dto.getSize()), dto);
+        PageOutput<BaseStudentGraduatePageVo> pageOutput = ConventPage.getPageOutput(page, BaseStudentGraduatePageVo.class);
+        return RT.ok(pageOutput);
+    }
+
+    @GetMapping(value = "/info")
+    @ApiOperation(value="根据id查询学生毕业管理信息")
+    @SaCheckPermission("basestudentgraduate:detail")
+    public RT<BaseStudentGraduateVo> info(@RequestParam Long id){
+        BaseStudentGraduate baseStudentGraduate = baseStudentGraduateService.getById(id);
+        if (baseStudentGraduate == null) {
+           return RT.error("找不到此数据!");
+        }
+        return RT.ok(BeanUtil.toBean(baseStudentGraduate, BaseStudentGraduateVo.class));
+    }
+
+
+    @PostMapping
+    @ApiOperation(value = "新增学生毕业管理")
+    @SaCheckPermission("basestudentgraduate:add")
+    public RT<Boolean> add(@Valid @RequestBody AddBaseStudentGraduateDto dto){
+        BaseStudentGraduate baseStudentGraduate = BeanUtil.toBean(dto, BaseStudentGraduate.class);
+        boolean isSuccess = baseStudentGraduateService.save(baseStudentGraduate);
+        return RT.ok(isSuccess);
+    }
+
+    @PutMapping
+    @ApiOperation(value = "修改学生毕业管理")
+    @SaCheckPermission("basestudentgraduate:edit")
+    public RT<Boolean> update(@Valid @RequestBody UpdateBaseStudentGraduateDto dto){
+
+        BaseStudentGraduate baseStudentGraduate = BeanUtil.toBean(dto, BaseStudentGraduate.class);
+        return RT.ok(baseStudentGraduateService.updateById(baseStudentGraduate));
+
+    }
+
+    @DeleteMapping
+    @ApiOperation(value = "删除学生毕业管理")
+    @SaCheckPermission("basestudentgraduate:delete")
+    public RT<Boolean> delete(@Valid @RequestBody List<Long> ids){
+        return RT.ok(baseStudentGraduateService.removeBatchByIds(ids));
+
+    }
+    @PostMapping("/import")
+    @ApiOperation(value = "导入")
+    public RT<Boolean> importData(@RequestParam MultipartFile file) throws IOException {
+        List<BaseStudentGraduatePageVo> savedDataList = EasyExcel.read(file.getInputStream()).head(BaseStudentGraduatePageVo.class).sheet().doReadSync();
+        Boolean result = baseStudentGraduateService.saveBatch(BeanUtil.copyToList(savedDataList, BaseStudentGraduate.class));
+        return RT.ok(result);
+    }
+
+    @GetMapping("/export")
+    @ApiOperation(value = "导出")
+    public ResponseEntity<byte[]> exportData(@Valid BaseStudentGraduatePageDto dto, @RequestParam(defaultValue = "false") Boolean isTemplate) {
+        List<BaseStudentGraduatePageVo> customerList = isTemplate != null && isTemplate ? new ArrayList<>() : ((PageOutput<BaseStudentGraduatePageVo>) page(dto).getData()).getList();
+        ByteArrayOutputStream bot = new ByteArrayOutputStream();
+        EasyExcel.write(bot, BaseStudentGraduatePageVo.class).automaticMergeHead(false).excelType(ExcelTypeEnum.XLSX).sheet().doWrite(customerList);
+
+        return RT.fileStream(bot.toByteArray(), "BaseStudentGraduate" + ExcelTypeEnum.XLSX.getValue());
+    }
+}

+ 63 - 0
src/main/java/com/xjrsoft/module/student/dto/AddBaseStudentGraduateDto.java

@@ -0,0 +1,63 @@
+package com.xjrsoft.module.student.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Date;
+
+
+
+/**
+* @title: 学生毕业管理
+* @Author dzx
+* @Date: 2024-01-26
+* @Version 1.0
+*/
+@Data
+public class AddBaseStudentGraduateDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 序号
+    */
+    @ApiModelProperty("序号")
+    private Integer sortCode;
+    /**
+    * 学生(xjr_user)
+    */
+    @ApiModelProperty("学生(xjr_user)")
+    private Long userId;
+    /**
+    * 证书编号
+    */
+    @ApiModelProperty("证书编号")
+    private String certificateNumber;
+    /**
+    * 发证日期
+    */
+    @ApiModelProperty("发证日期")
+    private Date certificateDate;
+    /**
+    * 离寝日期(住读的学生才村)
+    */
+    @ApiModelProperty("离寝日期(住读的学生才村)")
+    private Date leavingBedDate;
+    /**
+    * 附件id
+    */
+    @ApiModelProperty("附件id")
+    private Long folderId;
+    /**
+    * 证书发放状态(0:未发放 1:已发放)
+    */
+    @ApiModelProperty("证书发放状态(0:未发放 1:已发放)")
+    private Integer status;
+
+}

+ 39 - 0
src/main/java/com/xjrsoft/module/student/dto/BaseStudentGraduatePageDto.java

@@ -0,0 +1,39 @@
+package com.xjrsoft.module.student.dto;
+
+import com.xjrsoft.common.page.PageInput;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.Date;
+
+
+/**
+* @title: 学生毕业管理分页查询入参
+* @Author dzx
+* @Date: 2024-01-26
+* @Version 1.0
+*/
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class BaseStudentGraduatePageDto extends PageInput {
+
+    @ApiModelProperty("学籍状态")
+    public String archivesStatus;
+
+    @ApiModelProperty("姓名")
+    public String name;
+
+    @ApiModelProperty("学号")
+    public String studentId;
+
+    @ApiModelProperty("是否发放毕业证(0:未发放 1:已发放)")
+    public Integer status;
+
+    @ApiModelProperty("证书编号")
+    public String certificateNumber;
+}

+ 32 - 0
src/main/java/com/xjrsoft/module/student/dto/UpdateBaseStudentGraduateDto.java

@@ -0,0 +1,32 @@
+package com.xjrsoft.module.student.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.List;
+import java.util.Date;
+
+
+
+/**
+* @title: 学生毕业管理
+* @Author dzx
+* @Date: 2024-01-26
+* @Version 1.0
+*/
+@Data
+public class UpdateBaseStudentGraduateDto extends AddBaseStudentGraduateDto {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键编号
+    */
+    @ApiModelProperty("主键编号")
+    private Long id;
+}

+ 113 - 0
src/main/java/com/xjrsoft/module/student/entity/BaseStudentGraduate.java

@@ -0,0 +1,113 @@
+package com.xjrsoft.module.student.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.github.yulichang.annotation.EntityMapping;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Date;
+
+
+/**
+* @title: 学生毕业管理
+* @Author dzx
+* @Date: 2024-01-26
+* @Version 1.0
+*/
+@Data
+@TableName("base_student_graduate")
+@ApiModel(value = "base_student_graduate", description = "学生毕业管理")
+public class BaseStudentGraduate implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键编号
+    */
+    @ApiModelProperty("主键编号")
+    @TableId
+    private Long id;
+    /**
+    * 创建人
+    */
+    @ApiModelProperty("创建人")
+    @TableField(fill = FieldFill.INSERT)
+    private Long createUserId;
+    /**
+    * 创建时间
+    */
+    @ApiModelProperty("创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private Date createDate;
+    /**
+    * 修改人
+    */
+    @ApiModelProperty("修改人")
+    @TableField(fill = FieldFill.UPDATE)
+    private Long modifyUserId;
+    /**
+    * 修改时间
+    */
+    @ApiModelProperty("修改时间")
+    @TableField(fill = FieldFill.UPDATE)
+    private Date modifyDate;
+    /**
+    * 删除标记
+    */
+    @ApiModelProperty("删除标记")
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer deleteMark;
+    /**
+    * 有效标志
+    */
+    @ApiModelProperty("有效标志")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer enabledMark;
+    /**
+    * 序号
+    */
+    @ApiModelProperty("序号")
+    private Integer sortCode;
+    /**
+    * 学生(xjr_user)
+    */
+    @ApiModelProperty("学生(xjr_user)")
+    private Long userId;
+    /**
+    * 证书编号
+    */
+    @ApiModelProperty("证书编号")
+    private String certificateNumber;
+    /**
+    * 发证日期
+    */
+    @ApiModelProperty("发证日期")
+    private Date certificateDate;
+    /**
+    * 离寝日期(住读的学生才村)
+    */
+    @ApiModelProperty("离寝日期(住读的学生才村)")
+    private Date leavingBedDate;
+    /**
+    * 附件id
+    */
+    @ApiModelProperty("附件id")
+    private Long folderId;
+    /**
+    * 证书发放状态(0:未发放 1:已发放)
+    */
+    @ApiModelProperty("证书发放状态(0:未发放 1:已发放)")
+    private Integer status;
+
+
+}

+ 27 - 0
src/main/java/com/xjrsoft/module/student/mapper/BaseStudentGraduateMapper.java

@@ -0,0 +1,27 @@
+package com.xjrsoft.module.student.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.student.dto.BaseStudentGraduatePageDto;
+import com.xjrsoft.module.student.entity.BaseStudentGraduate;
+import com.xjrsoft.module.student.vo.BaseStudentGraduatePageVo;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @title: 学生毕业管理
+* @Author dzx
+* @Date: 2024-01-26
+* @Version 1.0
+*/
+@Mapper
+public interface BaseStudentGraduateMapper extends MPJBaseMapper<BaseStudentGraduate> {
+
+    /**
+     * 分页查询
+     * @param page
+     * @param dto
+     * @return
+     */
+    Page<BaseStudentGraduatePageVo> getPage(Page<BaseStudentGraduatePageDto> page, BaseStudentGraduatePageDto dto);
+}

+ 25 - 0
src/main/java/com/xjrsoft/module/student/service/IBaseStudentGraduateService.java

@@ -0,0 +1,25 @@
+package com.xjrsoft.module.student.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.base.MPJBaseService;
+import com.xjrsoft.module.student.dto.BaseStudentGraduatePageDto;
+import com.xjrsoft.module.student.entity.BaseStudentGraduate;
+import com.xjrsoft.module.student.vo.BaseStudentGraduatePageVo;
+
+/**
+* @title: 学生毕业管理
+* @Author dzx
+* @Date: 2024-01-26
+* @Version 1.0
+*/
+
+public interface IBaseStudentGraduateService extends MPJBaseService<BaseStudentGraduate> {
+
+    /**
+     * 分页查询
+     * @param page
+     * @param dto
+     * @return
+     */
+    Page<BaseStudentGraduatePageVo> getPage(Page<BaseStudentGraduatePageDto> page, BaseStudentGraduatePageDto dto);
+}

+ 36 - 0
src/main/java/com/xjrsoft/module/student/service/impl/BaseStudentGraduateServiceImpl.java

@@ -0,0 +1,36 @@
+package com.xjrsoft.module.student.service.impl;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.xjrsoft.module.student.dto.BaseStudentGraduatePageDto;
+import com.xjrsoft.module.student.entity.BaseStudentGraduate;
+import com.xjrsoft.module.student.mapper.BaseStudentGraduateMapper;
+import com.xjrsoft.module.student.service.IBaseStudentGraduateService;
+import com.xjrsoft.module.student.vo.BaseStudentGraduatePageVo;
+import com.xjrsoft.module.system.entity.File;
+import com.xjrsoft.module.system.service.IFileService;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+/**
+* @title: 学生毕业管理
+* @Author dzx
+* @Date: 2024-01-26
+* @Version 1.0
+*/
+@Service
+@AllArgsConstructor
+public class BaseStudentGraduateServiceImpl extends MPJBaseServiceImpl<BaseStudentGraduateMapper, BaseStudentGraduate> implements IBaseStudentGraduateService {
+    private final BaseStudentGraduateMapper baseStudentGraduateMapper;
+
+    private final IFileService fileService;
+    @Override
+    public Page<BaseStudentGraduatePageVo> getPage(Page<BaseStudentGraduatePageDto> page, BaseStudentGraduatePageDto dto) {
+        Page<BaseStudentGraduatePageVo> voPage = baseStudentGraduateMapper.getPage(page, dto);
+        for (BaseStudentGraduatePageVo record : voPage.getRecords()) {
+            record.setFileInfos(fileService.list(Wrappers.<File>query().lambda().eq(File::getFolderId,record.getFolderId())));
+        }
+        return voPage;
+    }
+}

+ 115 - 0
src/main/java/com/xjrsoft/module/student/vo/BaseStudentGraduatePageVo.java

@@ -0,0 +1,115 @@
+package com.xjrsoft.module.student.vo;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ContentStyle;
+import com.xjrsoft.module.system.entity.File;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+* @title: 学生毕业管理分页列表出参
+* @Author dzx
+* @Date: 2024-01-26
+* @Version 1.0
+*/
+@Data
+public class BaseStudentGraduatePageVo {
+
+    /**
+    * 毕业证id
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("主键编号(null时为毕业登记,有值时为修改)")
+    @ApiModelProperty("主键编号(null时为毕业登记,有值时为修改)")
+    private String id;
+    /**
+     * 学生user_id
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("学生user_id")
+    @ApiModelProperty("学生user_id")
+    private String userId;
+    /**
+    * 学籍号
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("学籍号")
+    @ApiModelProperty("学籍号")
+    private String studentId;
+    /**
+    * 学生姓名
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("学生姓名")
+    @ApiModelProperty("学生姓名")
+    private String name;
+    /**
+    * 专业
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("专业")
+    @ApiModelProperty("专业")
+    private String majorName;
+    /**
+    * 修改时间
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("就读方式")
+    @ApiModelProperty("就读方式")
+    private String stduyStatusCn;
+    /**
+    * 删除标记
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("证书发放状态(0:未发放 1:已发放)")
+    @ApiModelProperty("证书发放状态(0:未发放 1:已发放)")
+    private Integer status;
+    /**
+    * 证书编号
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("证书编号")
+    @ApiModelProperty("证书编号")
+    private String certificateNumber;
+    /**
+    * 发证日期
+    */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("发证日期")
+    @ApiModelProperty("发证日期")
+    private Date certificateDate;
+
+    /**
+     * 班级名称
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("班级名称")
+    @ApiModelProperty("班级名称")
+    private String className;
+
+    /**
+     * 年级名称
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("年级名称")
+    @ApiModelProperty("年级名称")
+    private String gradeName;
+
+
+    /**
+     * 附件id
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("附件id")
+    @ApiModelProperty("附件id")
+    private Long folderId;
+
+    /**
+     * 公文附件列表
+     */
+    @ApiModelProperty("公文附件列表")
+    private List<File> fileInfos;
+}

+ 64 - 0
src/main/java/com/xjrsoft/module/student/vo/BaseStudentGraduateVo.java

@@ -0,0 +1,64 @@
+package com.xjrsoft.module.student.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Date;
+
+/**
+* @title: 学生毕业管理表单出参
+* @Author dzx
+* @Date: 2024-01-26
+* @Version 1.0
+*/
+@Data
+public class BaseStudentGraduateVo {
+
+    /**
+    * 主键编号
+    */
+    @ApiModelProperty("主键编号")
+    private Long id;
+    /**
+    * 序号
+    */
+    @ApiModelProperty("序号")
+    private Integer sortCode;
+    /**
+    * 学生(xjr_user)
+    */
+    @ApiModelProperty("学生(xjr_user)")
+    private Long userId;
+    /**
+    * 证书编号
+    */
+    @ApiModelProperty("证书编号")
+    private String certificateNumber;
+    /**
+    * 发证日期
+    */
+    @ApiModelProperty("发证日期")
+    private Date certificateDate;
+    /**
+    * 离寝日期(住读的学生才村)
+    */
+    @ApiModelProperty("离寝日期(住读的学生才村)")
+    private Date leavingBedDate;
+    /**
+    * 附件id
+    */
+    @ApiModelProperty("附件id")
+    private Long folderId;
+    /**
+    * 证书发放状态(0:未发放 1:已发放)
+    */
+    @ApiModelProperty("证书发放状态(0:未发放 1:已发放)")
+    private Integer status;
+
+
+
+}

+ 34 - 0
src/main/resources/mapper/student/BaseStudentGraduateMapper.xml

@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.xjrsoft.module.student.mapper.BaseStudentGraduateMapper">
+    <select id="getPage" parameterType="com.xjrsoft.module.student.dto.BaseStudentGraduatePageDto" resultType="com.xjrsoft.module.student.vo.BaseStudentGraduatePageVo">
+        SELECT t5.id,t1.user_id,t1.student_id,t2.name,t4.name AS major_name,t6.name AS stduy_status_cn,
+        IFNULL(t5.status,0) AS STATUS,t5.certificate_number,t5.certificate_date,t7.name AS class_name,t8.name AS grade_name,t5.folder_id FROM base_student t1
+        LEFT JOIN xjr_user t2 ON t1.user_id = t2.id
+        LEFT JOIN base_student_school_roll t3 ON t1.user_id = t3.user_id
+        LEFT JOIN base_major_set t4 ON t3.major_set_id = t4.id
+        LEFT JOIN base_student_graduate t5 ON t1.user_id = t5.user_id
+        LEFT JOIN xjr_dictionary_detail t6 ON t3.stduy_status = t6.code AND t6.item_id = 2023000000000000030
+        LEFT JOIN base_class t7 ON t7.id = t3.class_id
+        LEFT JOIN base_grade t8 ON t8.id = t3.grade_id
+        WHERE t1.delete_mark = 0 AND t2.delete_mark = 0
+        AND t3.delete_mark = 0
+        <if test="dto.archivesStatus != null and dto.archivesStatus != ''">
+            and t3.archives_status = #{dto.archivesStatus}
+        </if>
+        <if test="dto.archivesStatus != null and dto.archivesStatus != ''">
+            and t3.archives_status = #{dto.archivesStatus}
+        </if>
+    </select>
+    <!--姓名和性别,测试阶段采用姓名第一个字拼接user_id的方式脱敏-->
+    <select id="getJianyueStudentList" resultType="com.xjrsoft.module.schedule.vo.StudentJianyuekbVo">
+        SELECT t1.id AS registerNo, CONCAT(SUBSTRING(t2.name,1,1),t2.id) AS realName,t3.grade_id AS gradeSerialNo,CONCAT(SUBSTRING(t2.name,1,1),t2.id) AS alias,t2.gender,t2.id AS extendId FROM base_student t1
+        INNER JOIN xjr_user t2 ON t1.user_id = t2.id
+        INNER JOIN base_student_school_roll t3 ON t1.user_id = t3.user_id
+        WHERE t1.delete_mark = 0 AND t2.delete_mark = 0
+        AND t1.student_id IS NOT NULL AND t1.student_id != ''
+        AND t3.archives_status = 'FB2901';
+    </select>
+</mapper>

+ 26 - 0
src/test/java/com/xjrsoft/xjrsoftboot/FreeMarkerGeneratorTest.java

@@ -2073,4 +2073,30 @@ public class FreeMarkerGeneratorTest {
         apiGeneratorService.generateCodes(params);
 
     }
+
+    @Test
+    public void gcBaseStudentGraduate() throws IOException {
+        List<TableConfig> tableConfigs = new ArrayList<>();
+        TableConfig mainTable = new TableConfig();
+        mainTable.setTableName("base_student_graduate");//init_sql中的表名
+        mainTable.setIsMain(true);//是否是主表,一般默认为true
+        mainTable.setPkField(GlobalConstant.DEFAULT_PK);//设置主键
+        mainTable.setPkType(GlobalConstant.DEFAULT_PK_TYPE);//设置主键类型
+        tableConfigs.add(mainTable);
+
+        ApiGenerateCodesDto params = new ApiGenerateCodesDto();
+        params.setAuthor("dzx");//作者名称
+        params.setPackageName("student");//包名
+        params.setTableConfigs(tableConfigs);
+        params.setPage(true);//是否生成分页接口
+        params.setImport(true);//是否生成导入接口
+        params.setExport(true);//是否生成导出接口
+        params.setOutMainDir(true);//是否生成在主目录,前期测试可设置成false
+        params.setDs(ds);
+
+        IApiGeneratorService apiGeneratorService = new ApiGeneratorServiceImpl();
+
+        apiGeneratorService.generateCodes(params);
+
+    }
 }