fix(加班申请): 给加班申请提供一个专门返回状态dict的接口。

This commit is contained in:
dk
2026-06-04 10:46:45 +08:00
parent 55a50eb3d5
commit f23f1930e9
4 changed files with 63 additions and 0 deletions

View File

@@ -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.OvertimeApplicationRespVO;
import com.njcn.rdms.module.project.controller.admin.overtime.vo.OvertimeApplicationSaveReqVO; 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.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.controller.admin.overtime.vo.OvertimeApplicationStatusLogRespVO;
import com.njcn.rdms.module.project.service.overtime.OvertimeApplicationService; import com.njcn.rdms.module.project.service.overtime.OvertimeApplicationService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
@@ -67,6 +68,13 @@ public class OvertimeApplicationController {
return success(overtimeApplicationService.getApplication(id)); return success(overtimeApplicationService.getApplication(id));
} }
@GetMapping("/status/dict")
@Operation(summary = "获取加班申请所有状态字典")
@PreAuthorize("@ss.hasPermission('" + OvertimeApplicationConstants.PERMISSION_QUERY + "')")
public CommonResult<List<OvertimeApplicationStatusDictRespVO>> getStatusDict() {
return success(overtimeApplicationService.getStatusDict());
}
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获取我的加班申请分页") @Operation(summary = "获取我的加班申请分页")
@PreAuthorize("@ss.hasPermission('" + OvertimeApplicationConstants.PERMISSION_QUERY + "')") @PreAuthorize("@ss.hasPermission('" + OvertimeApplicationConstants.PERMISSION_QUERY + "')")

View File

@@ -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;
}

View File

@@ -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.OvertimeApplicationRespVO;
import com.njcn.rdms.module.project.controller.admin.overtime.vo.OvertimeApplicationSaveReqVO; 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.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.controller.admin.overtime.vo.OvertimeApplicationStatusLogRespVO;
import java.util.List; import java.util.List;
@@ -26,6 +27,8 @@ public interface OvertimeApplicationService {
OvertimeApplicationRespVO getApplication(Long id); OvertimeApplicationRespVO getApplication(Long id);
List<OvertimeApplicationStatusDictRespVO> getStatusDict();
PageResult<OvertimeApplicationRespVO> getMyPage(OvertimeApplicationPageReqVO reqVO); PageResult<OvertimeApplicationRespVO> getMyPage(OvertimeApplicationPageReqVO reqVO);
PageResult<OvertimeApplicationRespVO> getApprovalPage(OvertimeApplicationPageReqVO reqVO); PageResult<OvertimeApplicationRespVO> getApprovalPage(OvertimeApplicationPageReqVO reqVO);

View File

@@ -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.OvertimeApplicationRespVO;
import com.njcn.rdms.module.project.controller.admin.overtime.vo.OvertimeApplicationSaveReqVO; 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.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.controller.admin.overtime.vo.OvertimeApplicationStatusLogRespVO;
import com.njcn.rdms.module.project.dal.dataobject.audit.BizAuditLogDO; import com.njcn.rdms.module.project.dal.dataobject.audit.BizAuditLogDO;
import com.njcn.rdms.module.project.dal.dataobject.overtime.OvertimeApplicationDO; 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.Map;
import java.util.Objects; import java.util.Objects;
import java.util.function.Function; 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.exception;
import static com.njcn.rdms.framework.common.exception.util.ServiceExceptionUtil.invalidParamException; import static com.njcn.rdms.framework.common.exception.util.ServiceExceptionUtil.invalidParamException;
@@ -180,6 +182,15 @@ public class OvertimeApplicationServiceImpl implements OvertimeApplicationServic
return toRespVO(application); return toRespVO(application);
} }
@Override
public List<OvertimeApplicationStatusDictRespVO> getStatusDict() {
List<ObjectStatusModelDO> statusModels = objectStatusModelMapper
.selectListByObjectTypeEnabled(OvertimeApplicationConstants.STATUS_OBJECT_TYPE);
return statusModels.stream()
.map(this::buildStatusDictRespVO)
.collect(Collectors.toList());
}
@Override @Override
public PageResult<OvertimeApplicationRespVO> getMyPage(OvertimeApplicationPageReqVO reqVO) { public PageResult<OvertimeApplicationRespVO> getMyPage(OvertimeApplicationPageReqVO reqVO) {
Long loginUserId = SecurityFrameworkUtils.getLoginUserId(); Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
@@ -326,6 +337,17 @@ public class OvertimeApplicationServiceImpl implements OvertimeApplicationServic
respVO.setTerminal(Boolean.TRUE.equals(statusModel.getTerminalFlag())); 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, private void writeStatusLog(OvertimeApplicationDO application, String actionType, String fromStatus,
String toStatus, String reason) { String toStatus, String reason) {
OvertimeApplicationStatusLogDO log = new OvertimeApplicationStatusLogDO(); OvertimeApplicationStatusLogDO log = new OvertimeApplicationStatusLogDO();