xieb
2024-01-09 8b262e97118ce2f7cdb52277a90ec393f1396e9d
src/main/java/org/springblade/modules/evaluate/wrapper/EvaluateTaskCategoryWrapper.java
@@ -16,11 +16,20 @@
 */
package org.springblade.modules.evaluate.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.evaluate.entity.EvaluateCandidateResultEntity;
import org.springblade.modules.evaluate.entity.EvaluateTaskCategoryEntity;
import org.springblade.modules.evaluate.entity.EvaluateTaskEntity;
import org.springblade.modules.evaluate.service.IEvaluateCandidateResultService;
import org.springblade.modules.evaluate.service.IEvaluateTaskService;
import org.springblade.modules.evaluate.vo.EvaluateTaskCategoryVO;
import java.util.Objects;
import java.util.*;
/**
 * 评优任务类别 包装类,返回视图层所需的字段
@@ -29,6 +38,14 @@
 * @since 2024-01-04
 */
public class EvaluateTaskCategoryWrapper extends BaseEntityWrapper<EvaluateTaskCategoryEntity, EvaluateTaskCategoryVO>  {
   private static final IEvaluateTaskService evaluateTaskService;
   private static final IEvaluateCandidateResultService evaluateCandidateResultService;
   static {
      evaluateTaskService = SpringUtil.getBean(IEvaluateTaskService.class);
      evaluateCandidateResultService = SpringUtil.getBean(IEvaluateCandidateResultService.class);
   }
   public static EvaluateTaskCategoryWrapper build() {
      return new EvaluateTaskCategoryWrapper();
@@ -47,4 +64,32 @@
   }
   public Object listByResult(List<EvaluateTaskCategoryEntity> list) {
      List<Map<String,Object>> ret = new ArrayList<>();
      for (EvaluateTaskCategoryEntity po: list) {
         Map<String,Object> map = new HashMap<>();
         map.put("category",po);
         QueryWrapper queryWrapper = new QueryWrapper();
         queryWrapper.eq("evaluate_task_category_id", po.getId());
         queryWrapper.select("*,count(*)");
         EvaluateTaskEntity taskEntity = evaluateTaskService.getById(po.getId());
         if (taskEntity.getType() == 0) {
            queryWrapper.groupBy("user_id");
         } else {
            queryWrapper.groupBy("dept_id");
         }
         queryWrapper.orderByDesc("count(*)");
         Page page = new Page(1,po.getPeopleNum());
         IPage<List<EvaluateCandidateResultEntity>> entities = evaluateCandidateResultService.page(page, queryWrapper);
         map.put("resultList",entities.getRecords());
         ret.add(map);
      }
      return ret;
   }
}