Ver Fonte

移动端评价管理列表增加状态增加分数

dzx há 1 ano atrás
pai
commit
85038ccf40

+ 2 - 3
src/main/java/com/xjrsoft/module/evaluate/controller/EvaluateTemplateController.java

@@ -68,9 +68,8 @@ public class EvaluateTemplateController {
     @ApiOperation(value = "新增评价模版")
     @SaCheckPermission("evaluatetemplate:add")
     public RT<Boolean> add(@Valid @RequestBody AddEvaluateTemplateDto dto){
-        EvaluateTemplate evaluateTemplate = BeanUtil.toBean(dto, EvaluateTemplate.class);
-        boolean isSuccess = evaluateTemplateService.save(evaluateTemplate);
-    return RT.ok(isSuccess);
+        boolean isSuccess = evaluateTemplateService.saveCustom(dto);
+        return RT.ok(isSuccess);
     }
 
     @PutMapping

+ 3 - 0
src/main/java/com/xjrsoft/module/evaluate/mapper/EvaluateManageMapper.java

@@ -7,6 +7,7 @@ import com.xjrsoft.module.evaluate.dto.EvaluateWritePageDto;
 import com.xjrsoft.module.evaluate.entity.EvaluateManage;
 import com.xjrsoft.module.evaluate.vo.EvaluateManageItemVo;
 import com.xjrsoft.module.evaluate.vo.EvaluateManagePageVo;
+import com.xjrsoft.module.evaluate.vo.EvaluateManageScoreVo;
 import com.xjrsoft.module.evaluate.vo.EvaluateWritePageVo;
 import com.xjrsoft.module.evaluate.vo.EvaluateWriteVo;
 import org.apache.ibatis.annotations.Mapper;
@@ -45,4 +46,6 @@ public interface EvaluateManageMapper extends MPJBaseMapper<EvaluateManage> {
     List<EvaluateManageItemVo> getItemList(Long id);
 
     List<EvaluateManageItemVo> getResultList(Long id, Long userId);
+
+    List<EvaluateManageScoreVo> getScoreList();
 }

+ 1 - 0
src/main/java/com/xjrsoft/module/evaluate/service/IEvaluateManageService.java

@@ -8,6 +8,7 @@ import com.xjrsoft.module.evaluate.entity.EvaluateManage;
 import com.xjrsoft.module.evaluate.entity.EvaluateObject;
 import com.xjrsoft.module.evaluate.vo.EvaluateManageItemVo;
 import com.xjrsoft.module.evaluate.vo.EvaluateManagePageVo;
+import com.xjrsoft.module.evaluate.vo.EvaluateManageScoreVo;
 import com.xjrsoft.module.evaluate.vo.EvaluateWritePageVo;
 import com.xjrsoft.module.evaluate.vo.EvaluateWriteVo;
 

+ 3 - 0
src/main/java/com/xjrsoft/module/evaluate/service/IEvaluateTemplateService.java

@@ -2,6 +2,7 @@ package com.xjrsoft.module.evaluate.service;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseService;
+import com.xjrsoft.module.evaluate.dto.AddEvaluateTemplateDto;
 import com.xjrsoft.module.evaluate.entity.EvaluateTemplate;
 import com.xjrsoft.module.evaluate.dto.EvaluateTemplatePageDto;
 import com.xjrsoft.module.evaluate.vo.EvaluateTemplatePageVo;
@@ -15,4 +16,6 @@ import com.xjrsoft.module.evaluate.vo.EvaluateTemplatePageVo;
 
 public interface IEvaluateTemplateService extends MPJBaseService<EvaluateTemplate> {
     Page<EvaluateTemplatePageVo> getPage(Page<EvaluateTemplatePageDto> page, EvaluateTemplatePageDto dto);
+
+    Boolean saveCustom(AddEvaluateTemplateDto dto);
 }

+ 15 - 1
src/main/java/com/xjrsoft/module/evaluate/service/impl/EvaluateManageServiceImpl.java

@@ -22,6 +22,7 @@ import com.xjrsoft.module.evaluate.mapper.EvaluateObjectMapper;
 import com.xjrsoft.module.evaluate.service.IEvaluateManageService;
 import com.xjrsoft.module.evaluate.vo.EvaluateManageItemVo;
 import com.xjrsoft.module.evaluate.vo.EvaluateManagePageVo;
+import com.xjrsoft.module.evaluate.vo.EvaluateManageScoreVo;
 import com.xjrsoft.module.evaluate.vo.EvaluateWritePageVo;
 import com.xjrsoft.module.evaluate.vo.EvaluateWriteVo;
 import lombok.AllArgsConstructor;
@@ -106,7 +107,20 @@ public class EvaluateManageServiceImpl extends MPJBaseServiceImpl<EvaluateManage
 
     @Override
     public Page<EvaluateWritePageVo> getMobilePage(Page<EvaluateWritePageDto> page, EvaluateWritePageDto dto) {
-        return evaluateManageMapper.getMobilePage(page, dto);
+        Page<EvaluateWritePageVo> mobilePage = evaluateManageMapper.getMobilePage(page, dto);
+        if(dto.getStatus() == 1){
+            List<EvaluateManageScoreVo> scoreList = evaluateManageMapper.getScoreList();
+            for (EvaluateWritePageVo record : mobilePage.getRecords()) {
+                for (EvaluateManageScoreVo evaluateManageScoreVo : scoreList) {
+                    if(!record.getId().equals(evaluateManageScoreVo.getEvaluateManageId())){
+                        continue;
+                    }
+                    record.setTotalScore(evaluateManageScoreVo.getScore());
+                }
+            }
+        }
+
+        return mobilePage;
     }
 
     @Override

+ 19 - 0
src/main/java/com/xjrsoft/module/evaluate/service/impl/EvaluateTemplateServiceImpl.java

@@ -1,7 +1,11 @@
 package com.xjrsoft.module.evaluate.service.impl;
 
+import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.google.gson.JsonArray;
+import com.google.gson.JsonObject;
+import com.xjrsoft.module.evaluate.dto.AddEvaluateTemplateDto;
 import com.xjrsoft.module.evaluate.dto.EvaluateTemplatePageDto;
 import com.xjrsoft.module.evaluate.entity.EvaluateTemplate;
 import com.xjrsoft.module.evaluate.mapper.EvaluateTemplateMapper;
@@ -25,4 +29,19 @@ public class EvaluateTemplateServiceImpl extends MPJBaseServiceImpl<EvaluateTemp
     public Page<EvaluateTemplatePageVo> getPage(Page<EvaluateTemplatePageDto> page, EvaluateTemplatePageDto dto) {
         return evaluateTemplateMapper.getPage(page, dto);
     }
+
+    @Override
+    public Boolean saveCustom(AddEvaluateTemplateDto dto) {
+        EvaluateTemplate template = BeanUtil.toBean(dto, EvaluateTemplate.class);
+        String[] split = dto.getDeptIds().split(",");
+        JsonArray array = new JsonArray();
+        for (String orgId : split) {
+            JsonObject orgObj = new JsonObject();
+            orgObj.addProperty("org_id", orgId.trim());
+            array.add(orgObj);
+        }
+        template.setDeptIds(array.toString());
+        evaluateTemplateMapper.insert(template);
+        return true;
+    }
 }

+ 25 - 0
src/main/java/com/xjrsoft/module/evaluate/vo/EvaluateManageScoreVo.java

@@ -0,0 +1,25 @@
+package com.xjrsoft.module.evaluate.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+* @title: 评价项表单出参
+* @Author szs
+* @Date: 2024-01-15
+* @Version 1.0
+*/
+@Data
+public class EvaluateManageScoreVo {
+
+    /**
+    * 评价管理编号
+    */
+    @ApiModelProperty("评价管理编号")
+    private String evaluateManageId;
+    /**
+    * 题目分数(最小为0,只能整数)
+    */
+    @ApiModelProperty("题目分数(最小为0,只能整数)")
+    private Integer score;
+}

+ 6 - 0
src/main/java/com/xjrsoft/module/evaluate/vo/EvaluateWritePageVo.java

@@ -44,4 +44,10 @@ public class EvaluateWritePageVo {
     @ApiModelProperty("题目数量")
     private Integer itemCount;
 
+
+    @ApiModelProperty("总分")
+    private Integer totalScore;
+
+    @ApiModelProperty("状态(-1:未发布,0:暂停,1:进行中,2:结束)")
+    private Integer status;
 }

+ 10 - 2
src/main/resources/mapper/evaluate/EvaluateManageMapper.xml

@@ -37,7 +37,7 @@
     </select>
 
     <select id="getMobilePage" parameterType="com.xjrsoft.module.evaluate.dto.EvaluateWritePageDto" resultType="com.xjrsoft.module.evaluate.vo.EvaluateWritePageVo">
-        select t2.id, t2.name,t4.name as evaluate_type_cn,t2.start_time,t2.end_time
+        select t2.id, t2.name,t4.name as evaluate_type_cn,t2.start_time,t2.end_time,t2.status
         from evaluate_executer t1
         left join evaluate_manage t2 on t2.id = t1.evaluate_manage_id
         left join evaluate_template t3 on t3.id = t2.evaluate_template_id
@@ -56,7 +56,7 @@
     <select id="getItemList" resultType="com.xjrsoft.module.evaluate.vo.EvaluateManageItemVo">
         SELECT * FROM evaluate_manage_item WHERE delete_mark = 0 AND evaluate_manage_id = #{id} ORDER BY sort_code
     </select>
-    <select id="getItemList" resultType="com.xjrsoft.module.evaluate.vo.EvaluateManageItemVo">
+    <select id="getResultList" resultType="com.xjrsoft.module.evaluate.vo.EvaluateManageItemVo">
         SELECT t1.id,t1.sort_code,t1.evaluate_manage_id,t1.topic,t1.problem,t1.score,t2.score AS actul_score,t2.opinion,t1.input_not_null FROM evaluate_manage_item t1
         LEFT JOIN evaluate_result t2 ON t1.id = t2.evaluate_item_id
         WHERE t1.delete_mark = 0
@@ -65,4 +65,12 @@
         AND t2.user_id = #{userId}
         ORDER BY t1.sort_code
     </select>
+    <select id="getScoreList" resultType="com.xjrsoft.module.evaluate.vo.EvaluateManageItemVo">
+        select t2.evaluate_manage_id,sum(t1.score) from evaluate_result t1
+        left join evaluate_manage_item t2 on t1.evaluate_item_id = t2.id
+        left join evaluate_executer t3 on t1.user_id = t3.id
+        where t1.delete_mark = 0 and t2.delete_mark = 0 and t3.delete_mark = 0
+        group by t2.evaluate_manage_id
+    </select>
+
 </mapper>