From 156d13b33bd7d746415ccf0c21dd46c1ec9f4302 Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Tue, 02 Jan 2024 14:27:29 +0800
Subject: [PATCH] h5考核任务列表接口

---
 src/main/java/org/springblade/modules/assessment/wrapper/AssessmentSetAssessorWrapper.java       |   48 ++++++++++++++++++++++++
 src/main/java/org/springblade/modules/assessment/controller/AssessmentSetAssessorController.java |   11 +++++
 src/main/java/org/springblade/modules/assessment/vo/AssessmentSetAssessorVO.java                 |    6 +++
 3 files changed, 65 insertions(+), 0 deletions(-)

diff --git a/src/main/java/org/springblade/modules/assessment/controller/AssessmentSetAssessorController.java b/src/main/java/org/springblade/modules/assessment/controller/AssessmentSetAssessorController.java
index 6e462f5..721ae25 100644
--- a/src/main/java/org/springblade/modules/assessment/controller/AssessmentSetAssessorController.java
+++ b/src/main/java/org/springblade/modules/assessment/controller/AssessmentSetAssessorController.java
@@ -28,6 +28,9 @@
 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.evaluate.entity.EvaluateCandidateAssessorEntity;
+import org.springblade.modules.evaluate.vo.EvaluateCandidateAssessorVO;
+import org.springblade.modules.evaluate.wrapper.EvaluateCandidateAssessorWrapper;
 import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -80,6 +83,14 @@
 		return R.data(AssessmentSetAssessorWrapper.build().pageVO(pages));
 	}
 
+	@GetMapping("/listByAssessor")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "h5任务列表-分页", notes = "传入evaluateCandidateAssessor")
+	public R<IPage<AssessmentSetAssessorVO>> listByAssessor(@ApiIgnore @RequestParam Map<String, Object> assessmentSetAssessor, Query query) {;
+		IPage<AssessmentSetAssessorEntity> pages = assessmentSetAssessorService.page(Condition.getPage(query), Condition.getQueryWrapper(assessmentSetAssessor, AssessmentSetAssessorEntity.class));
+		return R.data(AssessmentSetAssessorWrapper.build().h5PageVO(pages, Long.valueOf(assessmentSetAssessor.get("userId").toString())));
+	}
+
 	/**
 	 * 考核任务考核人 自定义分页
 	 */
diff --git a/src/main/java/org/springblade/modules/assessment/vo/AssessmentSetAssessorVO.java b/src/main/java/org/springblade/modules/assessment/vo/AssessmentSetAssessorVO.java
index e02852b..87a7ed0 100644
--- a/src/main/java/org/springblade/modules/assessment/vo/AssessmentSetAssessorVO.java
+++ b/src/main/java/org/springblade/modules/assessment/vo/AssessmentSetAssessorVO.java
@@ -32,4 +32,10 @@
 public class AssessmentSetAssessorVO extends AssessmentSetAssessorEntity {
 	private static final long serialVersionUID = 1L;
 
+	private AssessmentSetVO assessmentSetVO;
+	private AssessmentTaskVO assessmentTaskVO;
+
+	private Boolean isAssessmentOk;
+	private AssessmentScoreVO assessmentScoreVO;
+
 }
diff --git a/src/main/java/org/springblade/modules/assessment/wrapper/AssessmentSetAssessorWrapper.java b/src/main/java/org/springblade/modules/assessment/wrapper/AssessmentSetAssessorWrapper.java
index 2049468..ea2ccf8 100644
--- a/src/main/java/org/springblade/modules/assessment/wrapper/AssessmentSetAssessorWrapper.java
+++ b/src/main/java/org/springblade/modules/assessment/wrapper/AssessmentSetAssessorWrapper.java
@@ -16,10 +16,23 @@
  */
 package org.springblade.modules.assessment.wrapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 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.AssessmentSetAssessorEntity;
+import org.springblade.modules.assessment.service.IAssessmentScoreService;
+import org.springblade.modules.assessment.service.IAssessmentSetService;
+import org.springblade.modules.assessment.service.IAssessmentTaskService;
+import org.springblade.modules.assessment.vo.AssessmentScoreVO;
 import org.springblade.modules.assessment.vo.AssessmentSetAssessorVO;
+import org.springblade.modules.assessment.vo.AssessmentSetVO;
+import org.springblade.modules.evaluate.service.IEvaluateCandidateService;
+import org.springblade.modules.evaluate.vo.EvaluateCandidateAssessorVO;
+
+import java.util.List;
 import java.util.Objects;
 
 /**
@@ -29,6 +42,18 @@
  * @since 2024-01-02
  */
 public class AssessmentSetAssessorWrapper extends BaseEntityWrapper<AssessmentSetAssessorEntity, AssessmentSetAssessorVO>  {
+
+	private static final IAssessmentSetService assessmentSetService;
+
+	private static final IAssessmentTaskService assessmentTaskService;
+
+	private static final IAssessmentScoreService assessmentScoreService;
+
+	static {
+		assessmentSetService = SpringUtil.getBean(IAssessmentSetService.class);
+		assessmentTaskService = SpringUtil.getBean(IAssessmentTaskService.class);
+		assessmentScoreService = SpringUtil.getBean(IAssessmentScoreService.class);
+	}
 
 	public static AssessmentSetAssessorWrapper build() {
 		return new AssessmentSetAssessorWrapper();
@@ -47,4 +72,27 @@
 	}
 
 
+    public IPage<AssessmentSetAssessorVO> h5PageVO(IPage<AssessmentSetAssessorEntity> pages, Long userId) {
+		List<AssessmentSetAssessorVO> records = listVO(pages.getRecords());
+
+		for (AssessmentSetAssessorVO vo : records) {
+			AssessmentSetVO assessmentSetVO = AssessmentSetWrapper.build().entityVO(assessmentSetService.getById(vo.getAssessmentSetId()));
+			vo.setAssessmentSetVO(assessmentSetVO);
+			vo.setAssessmentTaskVO(AssessmentTaskWrapper.build().entityVO(assessmentTaskService.getById(assessmentSetVO.getAssessmentTaskId())));
+
+			//是否评论完成
+			QueryWrapper queryWrapper = new QueryWrapper();
+			queryWrapper.eq("type", vo.getAssessmentTaskVO().getType());//任务状态是个人还是部门 0:个人1:部门  自己是否评论完成,根据type获取对应的考核结果数量。
+			queryWrapper.eq("score_user_id", userId);
+			queryWrapper.eq("assessment_task_id", vo.getAssessmentTaskVO().getId());// 任务id
+			AssessmentScoreVO assessmentScoreVO = AssessmentScoreWrapper.build().entityVO(assessmentScoreService.getOne(queryWrapper));
+
+			vo.setIsAssessmentOk(null != assessmentScoreVO);
+			vo.setAssessmentScoreVO(assessmentScoreVO);
+		}
+
+		IPage<AssessmentSetAssessorVO> pageVo = new Page<>(pages.getCurrent(), pages.getSize(), pages.getTotal());
+		pageVo.setRecords(records);
+		return pageVo;
+    }
 }

--
Gitblit v1.9.3