From 63a4dd5239676ff135d05bfa31362a3fb36af3c1 Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Thu, 14 Dec 2023 16:03:57 +0800
Subject: [PATCH] 我的评分列表
---
src/main/java/org/springblade/modules/assessment/vo/AssessmentScoreVO.java | 5 +
src/main/java/org/springblade/modules/assessment/wrapper/AssessmentScoreWrapper.java | 40 +++++++++++++
src/main/java/org/springblade/modules/assessment/entity/AssessmentTaskEntity.java | 2
src/main/java/org/springblade/modules/evaluate/entity/EvaluateTaskEntity.java | 6 ++
src/main/java/org/springblade/modules/assessment/entity/AssessmentScoreEntity.java | 11 +++
src/main/java/org/springblade/modules/assessment/controller/AssessmentScoreController.java | 65 +++++++++++++++++++++
6 files changed, 127 insertions(+), 2 deletions(-)
diff --git a/src/main/java/org/springblade/modules/assessment/controller/AssessmentScoreController.java b/src/main/java/org/springblade/modules/assessment/controller/AssessmentScoreController.java
index 108d4bd..03052c7 100644
--- a/src/main/java/org/springblade/modules/assessment/controller/AssessmentScoreController.java
+++ b/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);
+ }
+
/**
* 考核评分 自定义分页
*/
diff --git a/src/main/java/org/springblade/modules/assessment/entity/AssessmentScoreEntity.java b/src/main/java/org/springblade/modules/assessment/entity/AssessmentScoreEntity.java
index b94c90c..52da8c2 100644
--- a/src/main/java/org/springblade/modules/assessment/entity/AssessmentScoreEntity.java
+++ b/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;
+
}
diff --git a/src/main/java/org/springblade/modules/assessment/entity/AssessmentTaskEntity.java b/src/main/java/org/springblade/modules/assessment/entity/AssessmentTaskEntity.java
index 3fa8a25..32f966e 100644
--- a/src/main/java/org/springblade/modules/assessment/entity/AssessmentTaskEntity.java
+++ b/src/main/java/org/springblade/modules/assessment/entity/AssessmentTaskEntity.java
@@ -49,7 +49,7 @@
/**
* 考核类型(0:员工考核,1:部门考核)
*/
- @ApiModelProperty(value = "考核目的")
+ @ApiModelProperty(value = "考核类型")
private Integer type;
/**
* 开始时间
diff --git a/src/main/java/org/springblade/modules/assessment/vo/AssessmentScoreVO.java b/src/main/java/org/springblade/modules/assessment/vo/AssessmentScoreVO.java
index 2b4dc83..cdb7e90 100644
--- a/src/main/java/org/springblade/modules/assessment/vo/AssessmentScoreVO.java
+++ b/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;//考核任务
+
}
diff --git a/src/main/java/org/springblade/modules/assessment/wrapper/AssessmentScoreWrapper.java b/src/main/java/org/springblade/modules/assessment/wrapper/AssessmentScoreWrapper.java
index 265e4f6..44a057d 100644
--- a/src/main/java/org/springblade/modules/assessment/wrapper/AssessmentScoreWrapper.java
+++ b/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());
+ }
+
}
diff --git a/src/main/java/org/springblade/modules/evaluate/entity/EvaluateTaskEntity.java b/src/main/java/org/springblade/modules/evaluate/entity/EvaluateTaskEntity.java
index 40a5828..564aaf6 100644
--- a/src/main/java/org/springblade/modules/evaluate/entity/EvaluateTaskEntity.java
+++ b/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 = "任务名称")
--
Gitblit v1.9.3