| | |
| | | */ |
| | | 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; |
| | | |
| | | /** |
| | | * 考核评分 控制器 |
| | |
| | | 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; |
| | | |
| | | /** |
| | | * 考核评分 详情 |
| | |
| | | return R.data(AssessmentScoreWrapper.build().pageVO(pages)); |
| | | } |
| | | |
| | | /** |
| | | * 考核评分记录列表 |
| | | * @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)); |
| | | } |
| | | |
| | | @GetMapping("/listGroupByTask/{type}/{taskId}") |
| | | @ApiOperation(value = "评分列表", notes = "传入要查询的用户id") |
| | | public R listGroupByTask(@ApiIgnore @PathVariable Integer type,@PathVariable Long taskId, Query query) { |
| | | 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); |
| | | @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) { |
| | |
| | | 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); |
| | | } |
| | | |
| | | /** |