xieb
2023-12-14 63a4dd5239676ff135d05bfa31362a3fb36af3c1
我的评分列表
6 files modified
129 ■■■■■ changed files
src/main/java/org/springblade/modules/assessment/controller/AssessmentScoreController.java 65 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/assessment/entity/AssessmentScoreEntity.java 11 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/assessment/entity/AssessmentTaskEntity.java 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/assessment/vo/AssessmentScoreVO.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/assessment/wrapper/AssessmentScoreWrapper.java 40 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/evaluate/entity/EvaluateTaskEntity.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/assessment/controller/AssessmentScoreController.java
@@ -28,6 +28,11 @@
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.assessment.entity.AssessmentSetDeptEntity;
import org.springblade.modules.assessment.entity.AssessmentSetEntity;
import org.springblade.modules.assessment.entity.AssessmentTaskEntity;
import org.springblade.modules.assessment.service.IAssessmentSetService;
import org.springblade.modules.assessment.service.IAssessmentTaskService;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -41,6 +46,9 @@
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.tool.constant.BladeConstant;
import springfox.documentation.annotations.ApiIgnore;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
@@ -53,11 +61,15 @@
 */
@RestController
@AllArgsConstructor
@RequestMapping("assessmentScore/assessmentScore")
@RequestMapping("assessment/assessmentScore")
@Api(value = "考核评分", tags = "考核评分接口")
public class AssessmentScoreController extends BladeController {
    private final IAssessmentScoreService assessmentScoreService;
    private final IAssessmentTaskService assessmentTaskService;
    private final IAssessmentSetService assessmentSetService;
    /**
     * 考核评分 详情
@@ -80,6 +92,57 @@
        return R.data(AssessmentScoreWrapper.build().pageVO(pages));
    }
    @GetMapping("/listGroupByTask/{scoreUserId}")
    @ApiOperation(value = "我的得分列表", notes = "传入要查询的用户id")
    public R listGroupByTask(@ApiIgnore @PathVariable Long scoreUserId) {
        QueryWrapper<AssessmentScoreEntity> setEntityQueryWrapper = new QueryWrapper<>();
        setEntityQueryWrapper.select("id,assessment_task_id,be_id,score_user_id,SUM(weight*score_val*0.01) as score_val,type");
        setEntityQueryWrapper.eq("be_id",scoreUserId);
        setEntityQueryWrapper.eq("type", 0l);
        setEntityQueryWrapper.groupBy("assessment_task_id");
        List<AssessmentScoreEntity> list = assessmentScoreService.list(setEntityQueryWrapper);
        List<AssessmentScoreVO> voList = AssessmentScoreWrapper.build().listVO(list);
        return R.data(voList);
    }
    @GetMapping("/listMyScore/{userId}")
    @ApiOperation(value = "我的得分列表", notes = "传入要查询的用户id")
    public R listMyScore(@ApiIgnore @PathVariable Long userId) {
        QueryWrapper<AssessmentTaskEntity> taskEntityQueryWrapper = new QueryWrapper<>();
        taskEntityQueryWrapper.eq("type", 0l);
        List<AssessmentTaskEntity> assessmentTaskEntityList = assessmentTaskService.list(taskEntityQueryWrapper);
        List<Map<String,Object>> retList = new ArrayList<>();
        for (AssessmentTaskEntity po:assessmentTaskEntityList) {
            Map<String,Object> map = new HashMap<>();
            QueryWrapper<AssessmentSetEntity> setEntityQueryWrapper = new QueryWrapper<>();
            setEntityQueryWrapper.eq("user_id",userId);
            long userAssCount = assessmentSetService.count(setEntityQueryWrapper);
            if (userAssCount > 0) {
                map.put("assessmentTaskVO", po);
                //已经考核数量 获取得分
                QueryWrapper<AssessmentScoreEntity> scoreEntityQueryWrapper = new QueryWrapper<>();
                scoreEntityQueryWrapper.eq("be_id",userId);
                scoreEntityQueryWrapper.eq("type", 0l);
                scoreEntityQueryWrapper.eq("assessment_task_id",po.getId());
                List<AssessmentScoreEntity> scoreEntityList = assessmentScoreService.list(scoreEntityQueryWrapper);
                double score = 0.0;
                for (AssessmentScoreEntity scoreEntity:scoreEntityList) {
                    score += scoreEntity.getWeight() * scoreEntity.getScoreVal() * 0.01;
                }
                map.put("scoreVal", score);
                map.put("isAssessmentOk", userAssCount == scoreEntityList.size());
                retList.add(map);
            }
        }
        return R.data(retList);
    }
    /**
     * 考核评分 自定义分页
     */
src/main/java/org/springblade/modules/assessment/entity/AssessmentScoreEntity.java
@@ -69,4 +69,15 @@
    @ApiModelProperty(value = "类型(0:员工评分,1:部门评分)")
    private Integer type;
    /**
     * 权值
     */
    @ApiModelProperty(value = "权值")
    private Integer weight;
    /**
     * 范围
     */
    @ApiModelProperty(value = "范围")
    private Integer rangeVal;
}
src/main/java/org/springblade/modules/assessment/entity/AssessmentTaskEntity.java
@@ -49,7 +49,7 @@
    /**
     * 考核类型(0:员工考核,1:部门考核)
     */
    @ApiModelProperty(value = "考核目的")
    @ApiModelProperty(value = "考核类型")
    private Integer type;
    /**
     * 开始时间
src/main/java/org/springblade/modules/assessment/vo/AssessmentScoreVO.java
@@ -32,4 +32,9 @@
public class AssessmentScoreVO extends AssessmentScoreEntity {
    private static final long serialVersionUID = 1L;
    private Boolean isAssessmentOk;//是否考核完成
    private AssessmentTaskVO assessmentTaskVO;//考核任务
}
src/main/java/org/springblade/modules/assessment/wrapper/AssessmentScoreWrapper.java
@@ -16,11 +16,22 @@
 */
package org.springblade.modules.assessment.wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.SpringUtil;
import org.springblade.modules.assessment.entity.AssessmentScoreEntity;
import org.springblade.modules.assessment.entity.AssessmentSetDeptEntity;
import org.springblade.modules.assessment.entity.AssessmentSetEntity;
import org.springblade.modules.assessment.service.IAssessmentScoreService;
import org.springblade.modules.assessment.service.IAssessmentSetDeptService;
import org.springblade.modules.assessment.service.IAssessmentSetService;
import org.springblade.modules.assessment.service.IAssessmentTaskService;
import org.springblade.modules.assessment.vo.AssessmentScoreVO;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
 * 考核评分 包装类,返回视图层所需的字段
@@ -29,6 +40,18 @@
 * @since 2023-12-13
 */
public class AssessmentScoreWrapper extends BaseEntityWrapper<AssessmentScoreEntity, AssessmentScoreVO>  {
    private static final IAssessmentSetService assessmentSetService;
    private static final IAssessmentSetDeptService assessmentSetDeptService;
    private static final IAssessmentScoreService assessmentScoreService;
    private static final IAssessmentTaskService assessmentTaskService;
    static {
        assessmentSetService = SpringUtil.getBean(IAssessmentSetService.class);
        assessmentSetDeptService = SpringUtil.getBean(IAssessmentSetDeptService.class);
        assessmentScoreService = SpringUtil.getBean(IAssessmentScoreService.class);
        assessmentTaskService = SpringUtil.getBean(IAssessmentTaskService.class);
    }
    public static AssessmentScoreWrapper build() {
        return new AssessmentScoreWrapper();
@@ -43,8 +66,25 @@
        //assessmentScoreVO.setCreateUserName(createUser.getName());
        //assessmentScoreVO.setUpdateUserName(updateUser.getName());
        //考核数量
        QueryWrapper<AssessmentSetEntity> AssessmentSetEntityWrapper = new QueryWrapper<>();
        AssessmentSetEntityWrapper.eq("user_id",assessmentScoreVO.getBeId());
        long userAssCount = assessmentSetService.count(AssessmentSetEntityWrapper);
        //已经考核数量
        QueryWrapper<AssessmentScoreEntity> wrapper = new QueryWrapper<>();
        wrapper.eq("be_id",assessmentScoreVO.getBeId());
        long assCount = assessmentScoreService.count(wrapper);
        assessmentScoreVO.setIsAssessmentOk(userAssCount == assCount);
        assessmentScoreVO.setAssessmentTaskVO(AssessmentTaskWrapper.build().entityVO(assessmentTaskService.getById(assessmentScoreVO.getAssessmentTaskId())));
        return assessmentScoreVO;
    }
    @Override
    public List<AssessmentScoreVO> listVO(List<AssessmentScoreEntity> list) {
        return list.stream().map(this::entityVO).collect(Collectors.toList());
    }
}
src/main/java/org/springblade/modules/evaluate/entity/EvaluateTaskEntity.java
@@ -40,6 +40,12 @@
public class EvaluateTaskEntity extends TenantEntity {
    /**
     * 评优类型(0:员工评优,1:部门评优)
     */
    @ApiModelProperty(value = "评优类型")
    private Integer type;
    /**
     * 任务名称
     */
    @ApiModelProperty(value = "任务名称")