xieb
2024-01-16 2a9bd8779ebb96f2089885736734d7c6ccaaebaa
src/main/java/org/springblade/modules/assessment/controller/AssessmentScoreController.java
@@ -16,42 +16,42 @@
 */
package org.springblade.modules.assessment.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import lombok.AllArgsConstructor;
import javax.validation.Valid;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.constant.BladeConstant;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.assessment.entity.AssessmentSetDeptEntity;
import org.springblade.modules.assessment.entity.AssessmentScoreEntity;
import org.springblade.modules.assessment.entity.AssessmentSetAssessorEntity;
import org.springblade.modules.assessment.entity.AssessmentSetEntity;
import org.springblade.modules.assessment.entity.AssessmentTaskEntity;
import org.springblade.modules.assessment.excel.AssessmentScoreExcel;
import org.springblade.modules.assessment.service.IAssessmentScoreService;
import org.springblade.modules.assessment.service.IAssessmentSetAssessorService;
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;
import org.springblade.modules.assessment.entity.AssessmentScoreEntity;
import org.springblade.modules.assessment.vo.AssessmentScoreVO;
import org.springblade.modules.assessment.excel.AssessmentScoreExcel;
import org.springblade.modules.assessment.wrapper.AssessmentScoreWrapper;
import org.springblade.modules.assessment.service.IAssessmentScoreService;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.tool.constant.BladeConstant;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import java.util.Map;
/**
 * 考核评分 控制器
@@ -66,10 +66,11 @@
public class AssessmentScoreController extends BladeController {
   private final IAssessmentScoreService assessmentScoreService;
   private final IAssessmentSetService assessmentSetService;
   private final IAssessmentTaskService assessmentTaskService;
   private final IAssessmentSetService assessmentSetService;
   private final IAssessmentSetAssessorService assessmentSetAssessorService;
   /**
    * 考核评分 详情
@@ -92,42 +93,66 @@
      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);
   /**
    * 考核评分记录列表
    * @param assessmentScore
    * @param query
    * @return
    */
   @GetMapping("/listInfo")
   @ApiOperationSupport(order = 2)
   @ApiOperation(value = "分页", notes = "传入assessmentScore")
   public R<IPage<Map>> listInfo(AssessmentScoreVO assessmentScore, Query query) {
      return R.data(assessmentScoreService.selectAssessmentScoreInfoPage(Condition.getPage(query), assessmentScore));
   }
      return R.data(voList);
   @GetMapping("/listGroupByTask/{type}/{taskId}")
   @ApiOperation(value = "后台考核任务考核结果", notes = "传入要查询的任务id")
   public R listGroupByTask(@ApiIgnore @PathVariable Integer type,@PathVariable Long taskId, Query query, AssessmentScoreVO assessmentScore) {
//      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("type", type);
//      setEntityQueryWrapper.eq("assessment_task_id",taskId);
//      setEntityQueryWrapper.groupBy("be_id");
//      IPage<AssessmentScoreEntity> pages = assessmentScoreService.page(Condition.getPage(query),setEntityQueryWrapper);
      assessmentScore.setType(type);
      assessmentScore.setAssessmentTaskId(taskId);
      //增加根据登录用户部门筛选
      boolean isadmin = AuthUtil.isAdmin();
      if (!isadmin) {
         assessmentScore.setDeptId(AuthUtil.getDeptId());
      }
      IPage<AssessmentScoreEntity> pages = assessmentScoreService.selectAssessmentScoreGroupByBeidPage(Condition.getPage(query), assessmentScore);
      return R.data(AssessmentScoreWrapper.build().pageVO(pages));
   }
   @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);
      QueryWrapper<AssessmentSetEntity> setEntityQueryWrapper = new QueryWrapper<>();
      setEntityQueryWrapper.eq("user_id",userId);
      List<AssessmentSetEntity> assessmentSetEntities = assessmentSetService.list(setEntityQueryWrapper);
      List<Map<String,Object>> retList = new ArrayList<>();
      for (AssessmentTaskEntity po:assessmentTaskEntityList) {
      for (AssessmentSetEntity po:assessmentSetEntities) {
         Map<String,Object> map = new HashMap<>();
         map.put("assessmentSetVO", po.getAssessmentTaskId()); //被考核人
         map.put("assessmentTaskVO", assessmentTaskService.getById(po.getAssessmentTaskId())); //考核任务
         QueryWrapper<AssessmentSetEntity> setEntityQueryWrapper = new QueryWrapper<>();
         setEntityQueryWrapper.eq("user_id",userId);
         long userAssCount = assessmentSetService.count(setEntityQueryWrapper);
         QueryWrapper<AssessmentSetAssessorEntity> assessmentSetAssessorEntityQueryWrapper = new QueryWrapper<>();
         assessmentSetAssessorEntityQueryWrapper.eq("assessment_set_id",po.getId());
         long userAssCount = assessmentSetAssessorService.count(assessmentSetAssessorEntityQueryWrapper);
         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());
            scoreEntityQueryWrapper.eq("assessment_task_id",po.getAssessmentTaskId());
            List<AssessmentScoreEntity> scoreEntityList = assessmentScoreService.list(scoreEntityQueryWrapper);
            double score = 0.0;
            for (AssessmentScoreEntity scoreEntity:scoreEntityList) {
@@ -138,9 +163,41 @@
            retList.add(map);
         }
      }
      return R.data(retList);
//      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<AssessmentSetAssessorEntity> setEntityQueryWrapper = new QueryWrapper<>();
//         setEntityQueryWrapper.eq("user_id",userId);
//         long userAssCount = assessmentSetAssessorService.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);
   }
   /**