3 天以前 b852254d90e7d1955db31db154193ec8ee84d8b3
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/performanceappraise/HrmPerformanceAppraiseController.java
@@ -1,6 +1,8 @@
package cn.iocoder.yudao.module.hrm.controller.admin.performanceappraise;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
@@ -179,10 +181,21 @@
        return success(buildResultRespVO(result, employeeService.getEmployee(employeeId)));
    }
    @PostMapping("/generate-appraisees")
    @Operation(summary = "生成被考核人(按考核范围,幂等)")
    @Parameter(name = "appraiseId", description = "方案编号", required = true, example = "1")
    @PreAuthorize("@ss.hasPermission('hrm:performance-appraise:update')")
    public CommonResult<Integer> generateAppraisees(@RequestParam("appraiseId") Long appraiseId) {
        return success(appraiseService.generateAppraisees(appraiseId));
    }
    // ========== 内部方法:拼装 VO ==========
    private HrmPerformanceAppraiseRespVO buildAppraiseRespVO(HrmPerformanceAppraiseDO appraise) {
        HrmPerformanceAppraiseRespVO vo = BeanUtils.toBean(appraise, HrmPerformanceAppraiseRespVO.class);
        if (StrUtil.isNotEmpty(appraise.getScopeTeamIds())) {
            vo.setScopeTeamIds(JSONUtil.toList(appraise.getScopeTeamIds(), Long.class));
        }
        vo.setStatusName(convertAppraiseStatusName(appraise.getStatus()));
        vo.setAuditStatusName(HrmAuditStatusEnum.getNameByStatus(appraise.getAuditStatus()));
        vo.setItemCount(appraiseService.getAppraiseItemList(appraise.getId()).size());