Parcourir la source

成果详情修改

Crazy il y a 2 mois
Parent
commit
6d0c9a5736

+ 35 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/userAchievement/UserAchievementController.java

@@ -145,9 +145,43 @@ public class UserAchievementController {
     @PreAuthorize("@ss.hasPermission('system:user-achievement:selfQuery')")
     public CommonResult<PageResult<UserAchievementRespVO>> getSelfAchievementPage(@Valid UserAchievementPageReqVO pageReqVO) {
         PageResult<UserAchievementDO>pageResult = userAchievementService.getUserAchievementPage(pageReqVO);
-
         return success(BeanUtils.toBean(pageResult, UserAchievementRespVO.class));
     }
 
+    @GetMapping("/collegeExport-excel")
+    @Operation(summary = "学院导出成果 Excel")
+    @PreAuthorize("@ss.hasPermission('system:user-achievement:collegeExport')")
+    @ApiAccessLog(operateType = EXPORT)
+    public void collegeExportUserAchievementExcel(@Valid UserAchievementPageReqVO pageReqVO,
+                                           HttpServletResponse response) throws IOException {
+        pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+        List<UserAchievementDO> list = userAchievementService.getUserAchievementPage(pageReqVO).getList();
+        list = list.stream()
+                .map(userAchievement -> {
+                    String sort = userAchievement.getSort();
+                    if (sort == null) {
+                        sort = "未知"; // 或者其他你想要的默认值
+                    }
+                    switch (sort) {
+                        case "1":
+                            userAchievement.setSort("第一作者");
+                            break;
+                        case "2":
+                            userAchievement.setSort("第二作者");
+                            break;
+                        case "3":
+                            userAchievement.setSort("其他");
+                            break;
+                        default:
+                            userAchievement.setSort("未知"); // 其他未定义的值
+                    }
+                    return userAchievement;
+                })
+                .collect(Collectors.toList()); // 收集回List
+        // 导出 Excel
+        ExcelUtils.write(response, "成果详情.xls", "数据", UserAchievementExportVO.class,
+                BeanUtils.toBean(list, UserAchievementExportVO.class));
+    }
+
 
 }

+ 56 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/userAchievement/vo/UserAchievementExportVO.java

@@ -0,0 +1,56 @@
+package cn.iocoder.yudao.module.system.controller.admin.userAchievement.vo;
+
+import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Schema(description = "管理后台 - 成果 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class UserAchievementExportVO {
+
+    @ExcelProperty("学生姓名")
+    private String userName;
+
+    @ExcelProperty("年级")
+    private String grade;
+
+    @ExcelProperty("学号")
+    private String userNumber;
+
+    @ExcelProperty("导师姓名")
+    private String supervisor;
+
+    @ExcelProperty("工作间名称")
+    private String deptName;
+
+    @ExcelProperty("成果名称")
+    private String achievementName;
+
+    @Schema(description = "", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
+    @ExcelProperty("成果类型")
+    private String achievementType;
+
+    @Schema(description = "照片详情")
+    @ExcelProperty("照片详情")
+    private String detail;
+
+    @Schema(description = "署名")
+    @ExcelProperty("署名")
+    private String sort;
+
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("创建时间")
+    private LocalDateTime createTime;
+
+    @ExcelProperty("成果是否达成毕业条件")
+    @DictFormat("system_student_graduate_status")
+    private String isGraduate;
+
+
+
+}

+ 0 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/userAchievement/vo/UserAchievementRespVO.java

@@ -46,8 +46,6 @@ public class UserAchievementRespVO {
     @Schema(description = "成果是否达成毕业条件")
     private Long isGraduate;
 
-    @Schema(description = "姓名")
-    private String nickName;
     @Schema(description = "导师姓名")
     private String supervisor;
     @Schema(description = "学号")