Quellcode durchsuchen

完善添加评价项页面模板信息

phoenix vor 1 Jahr
Ursprung
Commit
432c9ae105

+ 1 - 0
src/main/java/com/xjrsoft/module/evaluate/controller/EvaluateItemController.java

@@ -2,6 +2,7 @@ package com.xjrsoft.module.evaluate.controller;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.hutool.core.bean.BeanUtil;
+import com.fasterxml.jackson.core.JsonProcessingException;
 import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.module.evaluate.dto.AddEvaluateItemDto;
 import com.xjrsoft.module.evaluate.dto.MakeEvaluateItemDto;

+ 44 - 2
src/main/java/com/xjrsoft/module/evaluate/service/impl/EvaluateItemServiceImpl.java

@@ -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<>();

+ 10 - 0
src/main/java/com/xjrsoft/module/evaluate/vo/MakeEvaluateItemVo.java

@@ -29,6 +29,16 @@ public class MakeEvaluateItemVo {
     */
     @ApiModelProperty("评价类型")
     private String evaluateTypeCN;
+    /**
+     * 使用部门ids
+     */
+    @ApiModelProperty("使用部门ids")
+    private String deptIds;
+    /**
+     * 使用部门ids
+     */
+    @ApiModelProperty("使用部门ids")
+    private String deptIdsCN;
     /**
     * 评价总分
     */

+ 1 - 1
src/main/resources/sqlScript/20240112_sql.sql

@@ -83,7 +83,7 @@ CREATE TABLE evaluate_manage
     `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
     `evaluate_template_id` BIGINT NOT NULL COMMENT '评价模版编号',
     `base_semester_id` BIGINT NULL DEFAULT NULL COMMENT '学期id',
-    `org_id` BIGINT NULL DEFAULT NULL COMMENT '题目分数(最小为0,只能整数)',
+    `org_id` BIGINT NULL DEFAULT NULL COMMENT '发送部门id',
     `name` VARCHAR(255) NULL DEFAULT NULL COMMENT '评价名称',
     `start_time` DATETIME NULL DEFAULT NULL COMMENT '开始时间',
     `end_time` DATETIME NULL DEFAULT NULL COMMENT '结束时间',

+ 32 - 0
src/test/java/com/xjrsoft/xjrsoftboot/FreeMarkerGeneratorTest.java

@@ -1969,4 +1969,36 @@ public class FreeMarkerGeneratorTest {
         apiGeneratorService.generateCodes(params);
 
     }
+
+    /**
+     * 评价结果
+     * @throws IOException
+     */
+    @Test
+    public void gcEvaluateResult() throws IOException {
+        List<TableConfig> tableConfigs = new ArrayList<>();
+        TableConfig mainTable = new TableConfig();
+        mainTable.setTableName("evaluate_result");//init_sql中的表名
+        mainTable.setIsMain(true);//是否是主表,一般默认为true
+        mainTable.setPkField(GlobalConstant.DEFAULT_PK);//设置主键
+        mainTable.setPkType(GlobalConstant.DEFAULT_PK_TYPE);//设置主键类型
+        tableConfigs.add(mainTable);
+
+        ApiGenerateCodesDto params = new ApiGenerateCodesDto();
+        params.setAuthor("szs");//作者名称
+        params.setPackageName("evaluate");//包名
+        params.setTableConfigs(tableConfigs);
+        params.setPage(true);//是否生成分页接口
+        params.setImport(false);//是否生成导入接口
+        params.setExport(false);//是否生成导出接口
+        params.setOutMainDir(true);//是否生成在主目录,前期测试可设置成false
+        params.setDs(ds);
+
+        IApiGeneratorService apiGeneratorService = new ApiGeneratorServiceImpl();
+
+        apiGeneratorService.generateCodes(params);
+
+    }
+
+
 }