xieb
2024-01-15 34a4a46e889622da977fc039eaef7e9a47731d76
src/main/java/org/springblade/modules/assessment/wrapper/AssessmentScoreWrapper.java
@@ -16,18 +16,19 @@
 */
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.common.cache.SysCache;
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 org.springblade.modules.system.entity.User;
import org.springblade.modules.system.service.IUserService;
import java.util.List;
import java.util.Objects;
@@ -42,15 +43,16 @@
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;
   private static final IUserService userService;
   static {
      assessmentSetService = SpringUtil.getBean(IAssessmentSetService.class);
      assessmentSetDeptService = SpringUtil.getBean(IAssessmentSetDeptService.class);
      assessmentScoreService = SpringUtil.getBean(IAssessmentScoreService.class);
      assessmentTaskService = SpringUtil.getBean(IAssessmentTaskService.class);
      userService = SpringUtil.getBean(IUserService.class);
   }
   public static AssessmentScoreWrapper build() {
@@ -66,21 +68,38 @@
      //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 IPage<AssessmentScoreVO> pageVO(IPage<AssessmentScoreEntity> pages) {
      List<AssessmentScoreVO> records = listVO(pages.getRecords());
      //开始处理
      for (AssessmentScoreVO vo: records) {
         if (vo.getType() == 0) {
            User user = userService.getById(vo.getBeId()); //被考核人
            vo.setUserName(user.getName());
            vo.setCode(user.getCode());
            vo.setDeptName(SysCache.getDeptName(Long.valueOf(user.getDeptId())));
            vo.setPostName(SysCache.getPostName(Long.valueOf(user.getPostId())));
         } else {
            vo.setDeptName(SysCache.getDeptName(Long.valueOf(vo.getBeId())));
         }
         User scoreUser = userService.getById(vo.getScoreUserId()); //考核人
         vo.setScoreUserName(scoreUser.getName());
         vo.setScoreDeptName(SysCache.getDeptName(Long.valueOf(scoreUser.getDeptId())));
         vo.setScorePostName(SysCache.getPostName(Long.valueOf(scoreUser.getPostId())));
      }
      IPage<AssessmentScoreVO> pageVo = new Page<>(pages.getCurrent(), pages.getSize(), pages.getTotal());
      pageVo.setRecords(records);
      return pageVo;
   }
   @Override
   public List<AssessmentScoreVO> listVO(List<AssessmentScoreEntity> list) {
      return list.stream().map(this::entityVO).collect(Collectors.toList());