diff --git a/CLAUDE.md b/CLAUDE.md index 081a916..129f9e6 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -120,7 +120,7 @@ - 错误码文案用「{}」占位中文名(正面样板 `PERSONAL_ITEM_STATUS_ACTION_NOT_ALLOWED`),不要把 code 写死进文案。 - 新对象类型只要在状态机两张表配好 `status_name` / `action_name`,resolver 自动生效,无需改代码。 -完整规范、落地清单与已知缺口(加班申请 `OvertimeApplicationServiceImpl` 待补)见 [`docs/architecture/用户可见错误文案规范.html`](./docs/architecture/用户可见错误文案规范.html)。来源 TD-012。 +完整规范、落地清单与已知缺口(业务学习 `OvertimeApplicationServiceImpl` 待补)见 [`docs/architecture/用户可见错误文案规范.html`](./docs/architecture/用户可见错误文案规范.html)。来源 TD-012。 ## 数据与 SQL diff --git a/rdms-project/rdms-project-api/src/main/java/com/njcn/rdms/module/project/enums/ErrorCodeConstants.java b/rdms-project/rdms-project-api/src/main/java/com/njcn/rdms/module/project/enums/ErrorCodeConstants.java index 21cc688..6567725 100644 --- a/rdms-project/rdms-project-api/src/main/java/com/njcn/rdms/module/project/enums/ErrorCodeConstants.java +++ b/rdms-project/rdms-project-api/src/main/java/com/njcn/rdms/module/project/enums/ErrorCodeConstants.java @@ -231,18 +231,18 @@ public interface ErrorCodeConstants { ErrorCode PERSONAL_ITEM_NOT_ALLOW_DELETE = new ErrorCode(1_008_008_008, "仅初始态(待开始)的个人事项允许删除"); ErrorCode PERSONAL_ITEM_WRITE_FORBIDDEN = new ErrorCode(1_008_008_009, "无权修改个人事项"); - // ========== 加班申请 1_008_009_xxx ========== - ErrorCode OVERTIME_APPLICATION_NOT_EXISTS = new ErrorCode(1_008_009_001, "加班申请不存在"); - ErrorCode OVERTIME_APPLICATION_STATUS_MODEL_NOT_EXISTS_OR_DISABLED = new ErrorCode(1_008_009_002, "加班申请状态定义不存在或已停用"); - ErrorCode OVERTIME_APPLICATION_STATUS_ACTION_NOT_ALLOWED = new ErrorCode(1_008_009_003, "当前加班申请为「{}」状态,不支持「{}」操作"); + // ========== 业务学习 1_008_009_xxx ========== + ErrorCode OVERTIME_APPLICATION_NOT_EXISTS = new ErrorCode(1_008_009_001, "业务学习不存在"); + ErrorCode OVERTIME_APPLICATION_STATUS_MODEL_NOT_EXISTS_OR_DISABLED = new ErrorCode(1_008_009_002, "业务学习状态定义不存在或已停用"); + ErrorCode OVERTIME_APPLICATION_STATUS_ACTION_NOT_ALLOWED = new ErrorCode(1_008_009_003, "当前业务学习为「{}」状态,不支持「{}」操作"); ErrorCode OVERTIME_APPLICATION_STATUS_ACTION_REASON_REQUIRED = new ErrorCode(1_008_009_004, "「{}」操作必须填写原因"); - ErrorCode OVERTIME_APPLICATION_STATUS_CONCURRENT_MODIFIED = new ErrorCode(1_008_009_005, "加班申请状态已发生变化,请刷新后重试"); + ErrorCode OVERTIME_APPLICATION_STATUS_CONCURRENT_MODIFIED = new ErrorCode(1_008_009_005, "业务学习状态已发生变化,请刷新后重试"); ErrorCode OVERTIME_APPLICATION_APPLICANT_ONLY = new ErrorCode(1_008_009_006, "仅申请人可执行该操作"); ErrorCode OVERTIME_APPLICATION_APPROVER_ONLY = new ErrorCode(1_008_009_007, "仅当前审核人可执行该操作"); ErrorCode OVERTIME_APPLICATION_APPROVER_INVALID = new ErrorCode(1_008_009_008, "审核人不是有效系统用户"); ErrorCode OVERTIME_APPLICATION_APPROVER_SELF_FORBIDDEN = new ErrorCode(1_008_009_009, "审核人不能选择申请人本人"); - ErrorCode OVERTIME_APPLICATION_READ_FORBIDDEN = new ErrorCode(1_008_009_010, "无权查看该加班申请"); - ErrorCode OVERTIME_APPLICATION_DELETE_ONLY_REJECTED = new ErrorCode(1_008_009_011, "仅已退回的加班申请允许删除"); + ErrorCode OVERTIME_APPLICATION_READ_FORBIDDEN = new ErrorCode(1_008_009_010, "无权查看该业务学习"); + ErrorCode OVERTIME_APPLICATION_DELETE_ONLY_REJECTED = new ErrorCode(1_008_009_011, "仅已退回的业务学习允许删除"); ErrorCode TEAM_DASHBOARD_PERMISSION_REQUIRED = new ErrorCode(1_008_009_012, "当前用户无团队视角权限"); ErrorCode TEAM_DASHBOARD_SUBORDINATE_SCOPE_INVALID = new ErrorCode(1_008_009_013, "查询目标超出当前用户下属范围"); // ========== 工作报告 1_008_010_xxx ========== diff --git a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/constant/OvertimeApplicationConstants.java b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/constant/OvertimeApplicationConstants.java index bbaa2de..80407aa 100644 --- a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/constant/OvertimeApplicationConstants.java +++ b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/constant/OvertimeApplicationConstants.java @@ -1,7 +1,7 @@ package com.njcn.rdms.module.project.constant; /** - * 加班申请常量。 + * 业务学习常量。 */ public final class OvertimeApplicationConstants { diff --git a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/OvertimeApplicationController.java b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/OvertimeApplicationController.java index bdeac0d..48cd6e4 100644 --- a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/OvertimeApplicationController.java +++ b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/OvertimeApplicationController.java @@ -39,7 +39,7 @@ import java.util.List; import static com.njcn.rdms.framework.apilog.core.enums.OperateTypeEnum.EXPORT; import static com.njcn.rdms.framework.common.pojo.CommonResult.success; -@Tag(name = "管理后台 - 加班申请") +@Tag(name = "管理后台 - 业务学习") @RestController @RequestMapping("/project/overtime-applications") @Validated @@ -49,14 +49,14 @@ public class OvertimeApplicationController { private OvertimeApplicationService overtimeApplicationService; @PostMapping - @Operation(summary = "新增加班申请并提交") + @Operation(summary = "新增业务学习并提交") @PreAuthorize("@ss.hasPermission('" + OvertimeApplicationConstants.PERMISSION_CREATE + "')") public CommonResult create(@Valid @RequestBody OvertimeApplicationSaveReqVO reqVO) { return success(overtimeApplicationService.createApplication(reqVO)); } @PutMapping("/{id}") - @Operation(summary = "退回后修改并重新提交加班申请") + @Operation(summary = "退回后修改并重新提交业务学习") @PreAuthorize("@ss.hasPermission('" + OvertimeApplicationConstants.PERMISSION_UPDATE + "')") public CommonResult resubmit(@PathVariable("id") Long id, @Valid @RequestBody OvertimeApplicationSaveReqVO reqVO) { @@ -65,35 +65,35 @@ public class OvertimeApplicationController { } @GetMapping("/{id}") - @Operation(summary = "获取加班申请详情") + @Operation(summary = "获取业务学习详情") @PreAuthorize("@ss.hasPermission('" + OvertimeApplicationConstants.PERMISSION_QUERY + "')") public CommonResult get(@PathVariable("id") Long id) { return success(overtimeApplicationService.getApplication(id)); } @GetMapping("/status/dict") - @Operation(summary = "获取加班申请所有状态字典") + @Operation(summary = "获取业务学习所有状态字典") @PreAuthorize("@ss.hasPermission('" + OvertimeApplicationConstants.PERMISSION_QUERY + "')") public CommonResult> getStatusDict() { return success(overtimeApplicationService.getStatusDict()); } @GetMapping("/page") - @Operation(summary = "获取我的加班申请分页") + @Operation(summary = "获取我的业务学习分页") @PreAuthorize("@ss.hasPermission('" + OvertimeApplicationConstants.PERMISSION_QUERY + "')") public CommonResult> page(@Valid OvertimeApplicationPageReqVO reqVO) { return success(overtimeApplicationService.getMyPage(reqVO)); } @GetMapping("/approval-page") - @Operation(summary = "获取待我审批的加班申请分页") + @Operation(summary = "获取待我审批的业务学习分页") @PreAuthorize("@ss.hasPermission('" + OvertimeApplicationConstants.PERMISSION_APPROVE + "')") public CommonResult> approvalPage(@Valid OvertimeApplicationPageReqVO reqVO) { return success(overtimeApplicationService.getApprovalPage(reqVO)); } @PostMapping("/{id}/approve") - @Operation(summary = "审核通过加班申请") + @Operation(summary = "审核通过业务学习") @PreAuthorize("@ss.hasPermission('" + OvertimeApplicationConstants.PERMISSION_APPROVE + "')") public CommonResult approve(@PathVariable("id") Long id, @Valid @RequestBody OvertimeApplicationStatusActionReqVO reqVO) { @@ -102,7 +102,7 @@ public class OvertimeApplicationController { } @PostMapping("/{id}/reject") - @Operation(summary = "审核退回加班申请") + @Operation(summary = "审核退回业务学习") @PreAuthorize("@ss.hasPermission('" + OvertimeApplicationConstants.PERMISSION_APPROVE + "')") public CommonResult reject(@PathVariable("id") Long id, @Valid @RequestBody OvertimeApplicationStatusActionReqVO reqVO) { @@ -111,7 +111,7 @@ public class OvertimeApplicationController { } @PostMapping("/batch-approve") - @Operation(summary = "批量审核通过加班申请") + @Operation(summary = "批量审核通过业务学习") @PreAuthorize("@ss.hasPermission('" + OvertimeApplicationConstants.PERMISSION_APPROVE + "')") public CommonResult batchApprove( @Valid @RequestBody OvertimeApplicationBatchActionReqVO reqVO) { @@ -119,7 +119,7 @@ public class OvertimeApplicationController { } @PostMapping("/batch-reject") - @Operation(summary = "批量审核退回加班申请") + @Operation(summary = "批量审核退回业务学习") @PreAuthorize("@ss.hasPermission('" + OvertimeApplicationConstants.PERMISSION_APPROVE + "')") public CommonResult batchReject( @Valid @RequestBody OvertimeApplicationBatchActionReqVO reqVO) { @@ -127,7 +127,7 @@ public class OvertimeApplicationController { } @DeleteMapping("/{id}") - @Operation(summary = "删除已退回的加班申请") + @Operation(summary = "删除已退回的业务学习") @PreAuthorize("@ss.hasPermission('" + OvertimeApplicationConstants.PERMISSION_DELETE + "')") public CommonResult delete(@PathVariable("id") Long id) { overtimeApplicationService.deleteApplication(id); @@ -135,26 +135,26 @@ public class OvertimeApplicationController { } @GetMapping("/{id}/status-logs") - @Operation(summary = "获取加班申请状态日志") + @Operation(summary = "获取业务学习状态日志") @PreAuthorize("@ss.hasPermission('" + OvertimeApplicationConstants.PERMISSION_QUERY + "')") public CommonResult> statusLogs(@PathVariable("id") Long id) { return success(overtimeApplicationService.getStatusLogs(id)); } @GetMapping("/{id}/approval-records") - @Operation(summary = "获取加班申请审核记录") + @Operation(summary = "获取业务学习审核记录") @PreAuthorize("@ss.hasPermission('" + OvertimeApplicationConstants.PERMISSION_QUERY + "')") public CommonResult> approvalRecords(@PathVariable("id") Long id) { return success(overtimeApplicationService.getApprovalRecords(id)); } @GetMapping("/export") - @Operation(summary = "导出我的加班申请") + @Operation(summary = "导出我的业务学习") @PreAuthorize("@ss.hasPermission('" + OvertimeApplicationConstants.PERMISSION_EXPORT + "')") @ApiAccessLog(operateType = EXPORT) public void export(@Valid OvertimeApplicationPageReqVO reqVO, HttpServletResponse response) throws IOException { List list = overtimeApplicationService.getExportList(reqVO); - ExcelUtils.write(response, "加班申请_" + LocalDate.now() + ".xls", "加班申请", + ExcelUtils.write(response, "业务学习_" + LocalDate.now() + ".xls", "业务学习", OvertimeApplicationExportVO.class, list); } } diff --git a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/team/TeamOvertimeController.java b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/team/TeamOvertimeController.java index 01e8bb3..ffc0075 100644 --- a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/team/TeamOvertimeController.java +++ b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/team/TeamOvertimeController.java @@ -17,7 +17,7 @@ import org.springframework.web.bind.annotation.RestController; import static com.njcn.rdms.framework.common.pojo.CommonResult.success; -@Tag(name = "管理后台 - 团队加班申请") +@Tag(name = "管理后台 - 团队业务学习") @RestController @RequestMapping("/project/overtime-applications/team") @Validated @@ -27,7 +27,7 @@ public class TeamOvertimeController { private TeamOvertimeService teamOvertimeService; @GetMapping("/summary") - @Operation(summary = "获取团队加班申请统计") + @Operation(summary = "获取团队业务学习统计") @PreAuthorize("@ss.hasPermission('" + OvertimeApplicationConstants.PERMISSION_TEAM_DASHBOARD + "')") public CommonResult getSummary(@Valid TeamOvertimeSummaryReqVO reqVO) { return success(teamOvertimeService.getSummary(reqVO)); diff --git a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/team/vo/TeamOvertimeSummaryReqVO.java b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/team/vo/TeamOvertimeSummaryReqVO.java index 18b0497..1d7bf58 100644 --- a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/team/vo/TeamOvertimeSummaryReqVO.java +++ b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/team/vo/TeamOvertimeSummaryReqVO.java @@ -8,15 +8,15 @@ import java.time.LocalDate; import static com.njcn.rdms.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY; -@Schema(description = "管理后台 - 团队加班申请统计 Request VO") +@Schema(description = "管理后台 - 团队业务学习统计 Request VO") @Data public class TeamOvertimeSummaryReqVO { - @Schema(description = "加班日期区间起始(不传默认当月第一天)", example = "2026-06-01") + @Schema(description = "学习日期区间起始(不传默认当月第一天)", example = "2026-06-01") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) private LocalDate overtimeDateStart; - @Schema(description = "加班日期区间结束(不传默认当月最后一天)", example = "2026-06-30") + @Schema(description = "学习日期区间结束(不传默认当月最后一天)", example = "2026-06-30") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) private LocalDate overtimeDateEnd; } diff --git a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/team/vo/TeamOvertimeSummaryRespVO.java b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/team/vo/TeamOvertimeSummaryRespVO.java index 6f1e802..81ff73b 100644 --- a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/team/vo/TeamOvertimeSummaryRespVO.java +++ b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/team/vo/TeamOvertimeSummaryRespVO.java @@ -5,14 +5,14 @@ import lombok.Data; import java.time.LocalDate; -@Schema(description = "管理后台 - 团队加班申请统计 Response VO") +@Schema(description = "管理后台 - 团队业务学习统计 Response VO") @Data public class TeamOvertimeSummaryRespVO { - @Schema(description = "实际查询加班日期区间起始", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "实际查询学习日期区间起始", requiredMode = Schema.RequiredMode.REQUIRED) private LocalDate overtimeDateStart; - @Schema(description = "实际查询加班日期区间结束", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "实际查询学习日期区间结束", requiredMode = Schema.RequiredMode.REQUIRED) private LocalDate overtimeDateEnd; @Schema(description = "申请总数", requiredMode = Schema.RequiredMode.REQUIRED, example = "12") diff --git a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationApprovalRecordRespVO.java b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationApprovalRecordRespVO.java index 7b8e20e..ad2aec4 100644 --- a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationApprovalRecordRespVO.java +++ b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationApprovalRecordRespVO.java @@ -5,7 +5,7 @@ import lombok.Data; import java.time.LocalDateTime; -@Schema(description = "管理后台 - 加班申请审核记录 Response VO") +@Schema(description = "管理后台 - 业务学习审核记录 Response VO") @Data public class OvertimeApplicationApprovalRecordRespVO { diff --git a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationBatchActionReqVO.java b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationBatchActionReqVO.java index e049a1b..25aa369 100644 --- a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationBatchActionReqVO.java +++ b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationBatchActionReqVO.java @@ -7,16 +7,16 @@ import lombok.Data; import java.util.List; -@Schema(description = "管理后台 - 加班申请批量审批 Request VO") +@Schema(description = "管理后台 - 业务学习批量审批 Request VO") @Data public class OvertimeApplicationBatchActionReqVO { - @Schema(description = "加班申请编号列表", requiredMode = Schema.RequiredMode.REQUIRED, example = "[1,2,3]") - @NotEmpty(message = "加班申请编号列表不能为空") + @Schema(description = "业务学习编号列表", requiredMode = Schema.RequiredMode.REQUIRED, example = "[1,2,3]") + @NotEmpty(message = "业务学习编号列表不能为空") private List ids; @Schema(description = "审批意见。是否必填以状态机配置为准;当前退回必填", - example = "已确认,同意加班") + example = "已确认,同意学习") @Size(max = 1000, message = "审批意见长度不能超过 1000 个字符") private String reason; diff --git a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationBatchResultRespVO.java b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationBatchResultRespVO.java index ff32849..77ac8e5 100644 --- a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationBatchResultRespVO.java +++ b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationBatchResultRespVO.java @@ -8,7 +8,7 @@ import lombok.Data; import java.util.ArrayList; import java.util.List; -@Schema(description = "管理后台 - 加班申请批量审批结果 Response VO") +@Schema(description = "管理后台 - 业务学习批量审批结果 Response VO") @Data public class OvertimeApplicationBatchResultRespVO { @@ -18,14 +18,14 @@ public class OvertimeApplicationBatchResultRespVO { @Schema(description = "失败的数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") private Integer failCount; - @Schema(description = "失败的加班申请编号列表") + @Schema(description = "失败的业务学习编号列表") private List failItems = new ArrayList<>(); @Data @Schema(description = "批量审批失败项") public static class FailItem { - @Schema(description = "加班申请编号", example = "3") + @Schema(description = "业务学习编号", example = "3") @JsonSerialize(using = ToStringSerializer.class) private Long id; diff --git a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationExportVO.java b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationExportVO.java index a6eba33..ca48aab 100644 --- a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationExportVO.java +++ b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationExportVO.java @@ -14,16 +14,16 @@ public class OvertimeApplicationExportVO { @ExcelProperty("申请人") private String applicantName; - @ExcelProperty("加班日期") + @ExcelProperty("学习日期") private LocalDate overtimeDate; - @ExcelProperty("加班时长") + @ExcelProperty("学习时长") private String overtimeDuration; - @ExcelProperty("加班原因") + @ExcelProperty("学习原因") private String overtimeReason; - @ExcelProperty("加班内容") + @ExcelProperty("学习内容") private String overtimeContent; @ExcelProperty("状态") diff --git a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationPageReqVO.java b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationPageReqVO.java index 13427c1..dc81e4c 100644 --- a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationPageReqVO.java +++ b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationPageReqVO.java @@ -14,7 +14,7 @@ import java.util.List; import static com.njcn.rdms.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY; import static com.njcn.rdms.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; -@Schema(description = "管理后台 - 加班申请分页 Request VO") +@Schema(description = "管理后台 - 业务学习分页 Request VO") @Data @EqualsAndHashCode(callSuper = true) public class OvertimeApplicationPageReqVO extends PageParam { @@ -22,7 +22,7 @@ public class OvertimeApplicationPageReqVO extends PageParam { @Schema(description = "团队视角下的申请人用户编号列表") private List applicantIds; - @Schema(description = "关键词,匹配加班原因或加班内容", example = "上线") + @Schema(description = "关键词,匹配学习原因或学习内容", example = "上线") private String keyword; @Schema(description = "申请人姓名,模糊匹配", example = "张三") @@ -38,7 +38,7 @@ public class OvertimeApplicationPageReqVO extends PageParam { @Size(max = 32, message = "状态编码长度不能超过32个字符") private String statusCode; - @Schema(description = "加班日期范围", example = "[2026-06-01, 2026-06-30]") + @Schema(description = "学习日期范围", example = "[2026-06-01, 2026-06-30]") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) private LocalDate[] overtimeDate; diff --git a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationRespVO.java b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationRespVO.java index 0030c56..dd1ecde 100644 --- a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationRespVO.java +++ b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationRespVO.java @@ -6,11 +6,11 @@ import lombok.Data; import java.time.LocalDate; import java.time.LocalDateTime; -@Schema(description = "管理后台 - 加班申请 Response VO") +@Schema(description = "管理后台 - 业务学习 Response VO") @Data public class OvertimeApplicationRespVO { - @Schema(description = "加班申请编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "9001") + @Schema(description = "业务学习编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "9001") private Long id; @Schema(description = "申请人用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "3001") @@ -19,16 +19,16 @@ public class OvertimeApplicationRespVO { @Schema(description = "申请人姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") private String applicantName; - @Schema(description = "加班日期", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "学习日期", requiredMode = Schema.RequiredMode.REQUIRED) private LocalDate overtimeDate; - @Schema(description = "加班时长", requiredMode = Schema.RequiredMode.REQUIRED, example = "1天") + @Schema(description = "学习时长", requiredMode = Schema.RequiredMode.REQUIRED, example = "1天") private String overtimeDuration; - @Schema(description = "加班原因", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "学习原因", requiredMode = Schema.RequiredMode.REQUIRED) private String overtimeReason; - @Schema(description = "加班内容", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "学习内容", requiredMode = Schema.RequiredMode.REQUIRED) private String overtimeContent; @Schema(description = "审核人用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1001") diff --git a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationSaveReqVO.java b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationSaveReqVO.java index a7ca505..eed992d 100644 --- a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationSaveReqVO.java +++ b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationSaveReqVO.java @@ -8,27 +8,27 @@ import lombok.Data; import java.time.LocalDate; -@Schema(description = "管理后台 - 加班申请保存 Request VO") +@Schema(description = "管理后台 - 业务学习保存 Request VO") @Data public class OvertimeApplicationSaveReqVO { - @Schema(description = "加班日期", requiredMode = Schema.RequiredMode.REQUIRED, example = "2026-06-01") - @NotNull(message = "加班日期不能为空") + @Schema(description = "学习日期", requiredMode = Schema.RequiredMode.REQUIRED, example = "2026-06-01") + @NotNull(message = "学习日期不能为空") private LocalDate overtimeDate; - @Schema(description = "加班时长", requiredMode = Schema.RequiredMode.REQUIRED, example = "1天") - @NotBlank(message = "加班时长不能为空") - @Size(max = 30, message = "加班时长长度不能超过30个字符") + @Schema(description = "学习时长", requiredMode = Schema.RequiredMode.REQUIRED, example = "1天") + @NotBlank(message = "学习时长不能为空") + @Size(max = 30, message = "学习时长长度不能超过30个字符") private String overtimeDuration; - @Schema(description = "加班原因", requiredMode = Schema.RequiredMode.REQUIRED, example = "版本上线保障") - @NotBlank(message = "加班原因不能为空") - @Size(max = 500, message = "加班原因长度不能超过500个字符") + @Schema(description = "学习原因", requiredMode = Schema.RequiredMode.REQUIRED, example = "版本上线保障") + @NotBlank(message = "学习原因不能为空") + @Size(max = 500, message = "学习原因长度不能超过500个字符") private String overtimeReason; - @Schema(description = "加班内容", requiredMode = Schema.RequiredMode.REQUIRED, example = "处理上线验证和问题修复") - @NotBlank(message = "加班内容不能为空") - @Size(max = 1000, message = "加班内容长度不能超过1000个字符") + @Schema(description = "学习内容", requiredMode = Schema.RequiredMode.REQUIRED, example = "处理上线验证和问题修复") + @NotBlank(message = "学习内容不能为空") + @Size(max = 1000, message = "学习内容长度不能超过1000个字符") private String overtimeContent; @Schema(description = "审核人用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1001") diff --git a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationStatusActionReqVO.java b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationStatusActionReqVO.java index 9d1a706..560d71e 100644 --- a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationStatusActionReqVO.java +++ b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationStatusActionReqVO.java @@ -4,12 +4,12 @@ import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.Size; import lombok.Data; -@Schema(description = "管理后台 - 加班申请状态动作 Request VO") +@Schema(description = "管理后台 - 业务学习状态动作 Request VO") @Data public class OvertimeApplicationStatusActionReqVO { @Schema(description = "动作原因或审核意见。是否必填以状态机配置为准;当前退回必填", - example = "请补充加班内容") + example = "请补充学习内容") @Size(max = 1000, message = "动作原因长度不能超过 1000 个字符") private String reason; } diff --git a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationStatusDictRespVO.java b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationStatusDictRespVO.java index e647b2c..31552f3 100644 --- a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationStatusDictRespVO.java +++ b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationStatusDictRespVO.java @@ -4,9 +4,9 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; /** - * 管理后台 - 加班申请状态字典 Response VO + * 管理后台 - 业务学习状态字典 Response VO */ -@Schema(description = "管理后台 - 加班申请状态字典 Response VO") +@Schema(description = "管理后台 - 业务学习状态字典 Response VO") @Data public class OvertimeApplicationStatusDictRespVO { diff --git a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationStatusLogRespVO.java b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationStatusLogRespVO.java index faa9762..9309e0a 100644 --- a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationStatusLogRespVO.java +++ b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationStatusLogRespVO.java @@ -6,14 +6,14 @@ import lombok.Data; import java.time.LocalDate; import java.time.LocalDateTime; -@Schema(description = "管理后台 - 加班申请状态日志 Response VO") +@Schema(description = "管理后台 - 业务学习状态日志 Response VO") @Data public class OvertimeApplicationStatusLogRespVO { @Schema(description = "日志编号", requiredMode = Schema.RequiredMode.REQUIRED) private Long id; - @Schema(description = "加班申请编号", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "业务学习编号", requiredMode = Schema.RequiredMode.REQUIRED) private Long applicationId; @Schema(description = "动作编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "approve") @@ -37,10 +37,10 @@ public class OvertimeApplicationStatusLogRespVO { @Schema(description = "申请人姓名快照", requiredMode = Schema.RequiredMode.REQUIRED) private String applicantNameSnapshot; - @Schema(description = "加班日期快照", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "学习日期快照", requiredMode = Schema.RequiredMode.REQUIRED) private LocalDate overtimeDateSnapshot; - @Schema(description = "加班时长快照", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "学习时长快照", requiredMode = Schema.RequiredMode.REQUIRED) private String overtimeDurationSnapshot; @Schema(description = "备注") diff --git a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/dal/dataobject/overtime/OvertimeApplicationApprovalRecordDO.java b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/dal/dataobject/overtime/OvertimeApplicationApprovalRecordDO.java index fc391fa..f5206b8 100644 --- a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/dal/dataobject/overtime/OvertimeApplicationApprovalRecordDO.java +++ b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/dal/dataobject/overtime/OvertimeApplicationApprovalRecordDO.java @@ -9,7 +9,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; /** - * 加班申请审核记录。 + * 业务学习审核记录。 */ @TableName("rdms_overtime_application_approval_record") @Data diff --git a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/dal/dataobject/overtime/OvertimeApplicationDO.java b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/dal/dataobject/overtime/OvertimeApplicationDO.java index e5e942a..4b1ca04 100644 --- a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/dal/dataobject/overtime/OvertimeApplicationDO.java +++ b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/dal/dataobject/overtime/OvertimeApplicationDO.java @@ -12,7 +12,7 @@ import java.time.LocalDate; import java.time.LocalDateTime; /** - * 加班申请表。 + * 业务学习表。 */ @TableName("rdms_overtime_application") @Data diff --git a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/dal/dataobject/overtime/OvertimeApplicationStatusLogDO.java b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/dal/dataobject/overtime/OvertimeApplicationStatusLogDO.java index 7e9a1ad..a897773 100644 --- a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/dal/dataobject/overtime/OvertimeApplicationStatusLogDO.java +++ b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/dal/dataobject/overtime/OvertimeApplicationStatusLogDO.java @@ -9,7 +9,7 @@ import lombok.EqualsAndHashCode; import java.time.LocalDate; /** - * 加班申请状态日志表。 + * 业务学习状态日志表。 */ @TableName("rdms_overtime_application_status_log") @Data diff --git a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/overtime/OvertimeApplicationServiceImpl.java b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/overtime/OvertimeApplicationServiceImpl.java index b9fec15..4427262 100644 --- a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/overtime/OvertimeApplicationServiceImpl.java +++ b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/overtime/OvertimeApplicationServiceImpl.java @@ -295,7 +295,7 @@ public class OvertimeApplicationServiceImpl implements OvertimeApplicationServic for (Long id : reqVO.getIds()) { OvertimeApplicationDO app = appMap.get(id); if (app == null) { - addFailItem(result, id, "加班申请不存在"); + addFailItem(result, id, "业务学习不存在"); } else if (!Objects.equals(app.getApproverId(), loginUserId)) { addFailItem(result, id, "您不是该申请的审批人"); } else if (!Objects.equals(app.getStatusCode(), OvertimeApplicationConstants.STATUS_PENDING)) { @@ -461,9 +461,9 @@ public class OvertimeApplicationServiceImpl implements OvertimeApplicationServic private void applySaveFields(OvertimeApplicationDO target, OvertimeApplicationSaveReqVO reqVO, AdminUserRespDTO approver) { target.setOvertimeDate(reqVO.getOvertimeDate()); - target.setOvertimeDuration(normalizeRequiredText(reqVO.getOvertimeDuration(), "加班时长不能为空")); - target.setOvertimeReason(normalizeRequiredText(reqVO.getOvertimeReason(), "加班原因不能为空")); - target.setOvertimeContent(normalizeRequiredText(reqVO.getOvertimeContent(), "加班内容不能为空")); + target.setOvertimeDuration(normalizeRequiredText(reqVO.getOvertimeDuration(), "学习时长不能为空")); + target.setOvertimeReason(normalizeRequiredText(reqVO.getOvertimeReason(), "学习原因不能为空")); + target.setOvertimeContent(normalizeRequiredText(reqVO.getOvertimeContent(), "学习内容不能为空")); target.setApproverId(approver.getId()); target.setApproverName(defaultText(approver.getNickname())); } @@ -546,8 +546,8 @@ public class OvertimeApplicationServiceImpl implements OvertimeApplicationServic private String buildSnapshotRemark(OvertimeApplicationDO application) { return "申请人:" + defaultText(application.getApplicantName()) - + ",加班日期:" + application.getOvertimeDate() - + ",加班时长:" + defaultText(application.getOvertimeDuration()); + + ",学习日期:" + application.getOvertimeDate() + + ",学习时长:" + defaultText(application.getOvertimeDuration()); } private String buildFieldChanges(OvertimeApplicationDO before, OvertimeApplicationDO after) { diff --git a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/team/TeamDashboardAccessService.java b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/team/TeamDashboardAccessService.java index 96bf960..6118f7a 100644 --- a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/team/TeamDashboardAccessService.java +++ b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/team/TeamDashboardAccessService.java @@ -27,7 +27,7 @@ public interface TeamDashboardAccessService { List resolveRequestedSubordinateUserIds(Collection candidateUserIds, String permission); /** - * 判断当前登录用户是否可读取指定工作报告/加班申请所属人员的数据。 + * 判断当前登录用户是否可读取指定工作报告/业务学习所属人员的数据。 * * @param userId 目标人员 ID * @return 是否可读 diff --git a/rdms-project/rdms-project-boot/src/main/resources/application.yaml b/rdms-project/rdms-project-boot/src/main/resources/application.yaml index 68391eb..5b8bd69 100644 --- a/rdms-project/rdms-project-boot/src/main/resources/application.yaml +++ b/rdms-project/rdms-project-boot/src/main/resources/application.yaml @@ -123,7 +123,7 @@ rdms: enabled: true weekly: enabled: true - cron: "0 0 12 ? * SUN" + cron: "0 0 12 ? * FRI" monthly: enabled: true cron: "0 0 12 1-31 * ?" diff --git a/rdms-project/rdms-project-boot/src/test/java/com/njcn/rdms/module/project/service/overtime/OvertimeApplicationServiceImplTest.java b/rdms-project/rdms-project-boot/src/test/java/com/njcn/rdms/module/project/service/overtime/OvertimeApplicationServiceImplTest.java index 7e8dd22..ceeebca 100644 --- a/rdms-project/rdms-project-boot/src/test/java/com/njcn/rdms/module/project/service/overtime/OvertimeApplicationServiceImplTest.java +++ b/rdms-project/rdms-project-boot/src/test/java/com/njcn/rdms/module/project/service/overtime/OvertimeApplicationServiceImplTest.java @@ -28,7 +28,7 @@ import static org.mockito.Mockito.mockStatic; import static org.mockito.Mockito.when; /** - * 加班申请状态机错误文案单测(TD-012)。 + * 业务学习状态机错误文案单测(TD-012)。 * 验证:状态机「动作不允许 / 缺原因」抛错时,message 填的是 {@link StatusActionTextResolver} 翻出的中文名, * 不外泄英文动作 / 状态 code(技术 token 只进 log,不进用户可见 message)。 * resolver 自身的 DB 翻译由 StatusActionTextResolverTest 覆盖,这里只验证 service 填进 message 的是中文名。 diff --git a/rdms-system/rdms-system-api/src/main/java/com/njcn/rdms/module/system/enums/DictTypeConstants.java b/rdms-system/rdms-system-api/src/main/java/com/njcn/rdms/module/system/enums/DictTypeConstants.java index 0720a39..1aae928 100644 --- a/rdms-system/rdms-system-api/src/main/java/com/njcn/rdms/module/system/enums/DictTypeConstants.java +++ b/rdms-system/rdms-system-api/src/main/java/com/njcn/rdms/module/system/enums/DictTypeConstants.java @@ -33,12 +33,12 @@ public interface DictTypeConstants { String RDMS_TASK_ITEM_TYPE="rdms_task_item_type"; /** - * 加班申请审批状态字典。 + * 业务学习审批状态字典。 */ String RDMS_OVERTIME_APPLICATION_STATUS = "rdms_overtime_application_status"; /** - * 加班申请时长快捷选项字典。 + * 业务学习时长快捷选项字典。 */ String RDMS_OVERTIME_DURATION = "rdms_overtime_duration";