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 ad95174..a2557b5 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 @@ -10,6 +10,7 @@ import com.njcn.rdms.module.project.controller.admin.overtime.vo.OvertimeApplica import com.njcn.rdms.module.project.controller.admin.overtime.vo.OvertimeApplicationRespVO; import com.njcn.rdms.module.project.controller.admin.overtime.vo.OvertimeApplicationSaveReqVO; import com.njcn.rdms.module.project.controller.admin.overtime.vo.OvertimeApplicationStatusActionReqVO; +import com.njcn.rdms.module.project.controller.admin.overtime.vo.OvertimeApplicationStatusDictRespVO; import com.njcn.rdms.module.project.controller.admin.overtime.vo.OvertimeApplicationStatusLogRespVO; import com.njcn.rdms.module.project.service.overtime.OvertimeApplicationService; import io.swagger.v3.oas.annotations.Operation; @@ -67,6 +68,13 @@ public class OvertimeApplicationController { return success(overtimeApplicationService.getApplication(id)); } + @GetMapping("/status/dict") + @Operation(summary = "获取加班申请所有状态字典") + @PreAuthorize("@ss.hasPermission('" + OvertimeApplicationConstants.PERMISSION_QUERY + "')") + public CommonResult> getStatusDict() { + return success(overtimeApplicationService.getStatusDict()); + } + @GetMapping("/page") @Operation(summary = "获取我的加班申请分页") @PreAuthorize("@ss.hasPermission('" + OvertimeApplicationConstants.PERMISSION_QUERY + "')") 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 new file mode 100644 index 0000000..e647b2c --- /dev/null +++ b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/controller/admin/overtime/vo/OvertimeApplicationStatusDictRespVO.java @@ -0,0 +1,30 @@ +package com.njcn.rdms.module.project.controller.admin.overtime.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * 管理后台 - 加班申请状态字典 Response VO + */ +@Schema(description = "管理后台 - 加班申请状态字典 Response VO") +@Data +public class OvertimeApplicationStatusDictRespVO { + + @Schema(description = "状态编码", example = "pending") + private String statusCode; + + @Schema(description = "状态名称", example = "待审批") + private String statusName; + + @Schema(description = "排序值", example = "10") + private Integer sort; + + @Schema(description = "是否初始状态", example = "true") + private Boolean initialFlag; + + @Schema(description = "是否终态", example = "false") + private Boolean terminalFlag; + + @Schema(description = "是否允许编辑", example = "false") + private Boolean allowEdit; +} diff --git a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/overtime/OvertimeApplicationService.java b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/overtime/OvertimeApplicationService.java index 5fceb8e..d30aa05 100644 --- a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/overtime/OvertimeApplicationService.java +++ b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/overtime/OvertimeApplicationService.java @@ -6,6 +6,7 @@ import com.njcn.rdms.module.project.controller.admin.overtime.vo.OvertimeApplica import com.njcn.rdms.module.project.controller.admin.overtime.vo.OvertimeApplicationRespVO; import com.njcn.rdms.module.project.controller.admin.overtime.vo.OvertimeApplicationSaveReqVO; import com.njcn.rdms.module.project.controller.admin.overtime.vo.OvertimeApplicationStatusActionReqVO; +import com.njcn.rdms.module.project.controller.admin.overtime.vo.OvertimeApplicationStatusDictRespVO; import com.njcn.rdms.module.project.controller.admin.overtime.vo.OvertimeApplicationStatusLogRespVO; import java.util.List; @@ -26,6 +27,8 @@ public interface OvertimeApplicationService { OvertimeApplicationRespVO getApplication(Long id); + List getStatusDict(); + PageResult getMyPage(OvertimeApplicationPageReqVO reqVO); PageResult getApprovalPage(OvertimeApplicationPageReqVO reqVO); 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 d6a57ad..65f2fc4 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 @@ -12,6 +12,7 @@ import com.njcn.rdms.module.project.controller.admin.overtime.vo.OvertimeApplica import com.njcn.rdms.module.project.controller.admin.overtime.vo.OvertimeApplicationRespVO; import com.njcn.rdms.module.project.controller.admin.overtime.vo.OvertimeApplicationSaveReqVO; import com.njcn.rdms.module.project.controller.admin.overtime.vo.OvertimeApplicationStatusActionReqVO; +import com.njcn.rdms.module.project.controller.admin.overtime.vo.OvertimeApplicationStatusDictRespVO; import com.njcn.rdms.module.project.controller.admin.overtime.vo.OvertimeApplicationStatusLogRespVO; import com.njcn.rdms.module.project.dal.dataobject.audit.BizAuditLogDO; import com.njcn.rdms.module.project.dal.dataobject.overtime.OvertimeApplicationDO; @@ -38,6 +39,7 @@ import java.util.List; import java.util.Map; import java.util.Objects; import java.util.function.Function; +import java.util.stream.Collectors; import static com.njcn.rdms.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.njcn.rdms.framework.common.exception.util.ServiceExceptionUtil.invalidParamException; @@ -180,6 +182,15 @@ public class OvertimeApplicationServiceImpl implements OvertimeApplicationServic return toRespVO(application); } + @Override + public List getStatusDict() { + List statusModels = objectStatusModelMapper + .selectListByObjectTypeEnabled(OvertimeApplicationConstants.STATUS_OBJECT_TYPE); + return statusModels.stream() + .map(this::buildStatusDictRespVO) + .collect(Collectors.toList()); + } + @Override public PageResult getMyPage(OvertimeApplicationPageReqVO reqVO) { Long loginUserId = SecurityFrameworkUtils.getLoginUserId(); @@ -326,6 +337,17 @@ public class OvertimeApplicationServiceImpl implements OvertimeApplicationServic respVO.setTerminal(Boolean.TRUE.equals(statusModel.getTerminalFlag())); } + private OvertimeApplicationStatusDictRespVO buildStatusDictRespVO(ObjectStatusModelDO statusModel) { + OvertimeApplicationStatusDictRespVO respVO = new OvertimeApplicationStatusDictRespVO(); + respVO.setStatusCode(statusModel.getStatusCode()); + respVO.setStatusName(statusModel.getStatusName()); + respVO.setSort(statusModel.getSort()); + respVO.setInitialFlag(statusModel.getInitialFlag()); + respVO.setTerminalFlag(statusModel.getTerminalFlag()); + respVO.setAllowEdit(statusModel.getAllowEdit()); + return respVO; + } + private void writeStatusLog(OvertimeApplicationDO application, String actionType, String fromStatus, String toStatus, String reason) { OvertimeApplicationStatusLogDO log = new OvertimeApplicationStatusLogDO();