|
|
@@ -1,18 +1,26 @@
|
|
|
package com.xjrsoft.module.evaluate.service.impl;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.fasterxml.jackson.core.type.TypeReference;
|
|
|
+import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import com.github.yulichang.base.MPJBaseServiceImpl;
|
|
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
|
|
import com.xjrsoft.common.utils.VoToColumnUtil;
|
|
|
import com.xjrsoft.module.evaluate.dto.AddEvaluateItemDto;
|
|
|
import com.xjrsoft.module.evaluate.dto.MakeEvaluateItemDto;
|
|
|
import com.xjrsoft.module.evaluate.entity.EvaluateItem;
|
|
|
+import com.xjrsoft.module.evaluate.entity.EvaluateTemplate;
|
|
|
import com.xjrsoft.module.evaluate.mapper.EvaluateItemMapper;
|
|
|
+import com.xjrsoft.module.evaluate.mapper.EvaluateTemplateMapper;
|
|
|
import com.xjrsoft.module.evaluate.service.IEvaluateItemService;
|
|
|
import com.xjrsoft.module.evaluate.vo.EvaluateItemGroupByTopicVo;
|
|
|
import com.xjrsoft.module.evaluate.vo.EvaluateItemVo;
|
|
|
import com.xjrsoft.module.evaluate.vo.MakeEvaluateItemVo;
|
|
|
+import com.xjrsoft.module.organization.entity.Department;
|
|
|
+import com.xjrsoft.module.organization.mapper.DepartmentMapper;
|
|
|
+import com.xjrsoft.module.system.entity.DictionaryDetail;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
@@ -34,10 +42,44 @@ import java.util.stream.Collectors;
|
|
|
public class EvaluateItemServiceImpl extends MPJBaseServiceImpl<EvaluateItemMapper, EvaluateItem> implements IEvaluateItemService {
|
|
|
|
|
|
private EvaluateItemMapper evaluateItemMapper;
|
|
|
+
|
|
|
+ private EvaluateTemplateMapper evaluateTemplateMapper;
|
|
|
+
|
|
|
+ private DepartmentMapper departmentMapper;
|
|
|
@Override
|
|
|
- public MakeEvaluateItemVo getMakeEvaluateItem(MakeEvaluateItemDto dto) {
|
|
|
- MakeEvaluateItemVo makeEvaluateItemVo = new MakeEvaluateItemVo();
|
|
|
+ public MakeEvaluateItemVo getMakeEvaluateItem(MakeEvaluateItemDto dto){
|
|
|
//获取模板基本信息
|
|
|
+ MPJLambdaWrapper<EvaluateTemplate> evaluateTemplateMPJLambdaWrapper = new MPJLambdaWrapper<>();
|
|
|
+ evaluateTemplateMPJLambdaWrapper
|
|
|
+ .select(EvaluateTemplate::getId)
|
|
|
+ .selectAs(DictionaryDetail::getName, MakeEvaluateItemVo::getEvaluateTypeCN)
|
|
|
+ .select(EvaluateTemplate.class, x -> VoToColumnUtil.fieldsToColumns(MakeEvaluateItemVo.class).contains(x.getProperty()))
|
|
|
+ .eq(EvaluateTemplate::getId, dto.getEvaluateTemplateId())
|
|
|
+ .leftJoin(DictionaryDetail.class, DictionaryDetail::getCode, EvaluateTemplate::getEvaluateType);
|
|
|
+ MakeEvaluateItemVo makeEvaluateItemVo = evaluateTemplateMapper.selectJoinOne(MakeEvaluateItemVo.class,evaluateTemplateMPJLambdaWrapper);
|
|
|
+
|
|
|
+ List<String> deptIdList = new ArrayList<>();
|
|
|
+ try {
|
|
|
+ ObjectMapper objectMapper = new ObjectMapper();
|
|
|
+ deptIdList = objectMapper.readValue(makeEvaluateItemVo.getDeptIds(), new TypeReference<List<String>>() {});
|
|
|
+ }catch (Exception e){
|
|
|
+ }
|
|
|
+ if(deptIdList != null && deptIdList.size() > 0){
|
|
|
+ LambdaQueryWrapper<Department> departmentLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ departmentLambdaQueryWrapper
|
|
|
+ .in(Department::getId, deptIdList);
|
|
|
+ List<Department> departmentList = departmentMapper.selectList(departmentLambdaQueryWrapper);
|
|
|
+ StringBuilder deptStr = new StringBuilder();
|
|
|
+
|
|
|
+ for (int i = 0; i < departmentList.size(); i++) {
|
|
|
+ deptStr.append(departmentList.get(i).getName());
|
|
|
+ if(i < departmentList.size() - 1){
|
|
|
+ deptStr.append(",");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ makeEvaluateItemVo.setDeptIdsCN(deptStr.toString());
|
|
|
+ }
|
|
|
|
|
|
//获取模板下的所有评价子项集合
|
|
|
MPJLambdaWrapper<EvaluateItem> evaluateItemWrapper = new MPJLambdaWrapper<>();
|