浏览代码

评价管理页面检索入参

phoenix 1 年之前
父节点
当前提交
c7254f5734

+ 11 - 0
src/main/java/com/xjrsoft/module/evaluate/controller/EvaluateManageController.java

@@ -1,6 +1,7 @@
 package com.xjrsoft.module.evaluate.controller;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
@@ -25,6 +26,7 @@ import lombok.AllArgsConstructor;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -80,6 +82,13 @@ public class EvaluateManageController {
             Boolean release = evaluateManageService.release(dto.getId());
             return RT.ok(release);
         }
+        if(dto.getStatus() == 0){
+            EvaluateManage evaluateManage = BeanUtil.toBean(dto, EvaluateManage.class);
+            evaluateManage.setModifyDate(new Date());
+            evaluateManage.setModifyUserId(StpUtil.getLoginIdAsLong());
+
+            return RT.ok(evaluateManageService.updateById(evaluateManage));
+        }
 
         return RT.ok(true);
     }
@@ -90,6 +99,8 @@ public class EvaluateManageController {
     @SaCheckPermission("evaluatemanage:add")
     public RT<Boolean> add(@Valid @RequestBody AddEvaluateManageDto dto){
         EvaluateManage evaluateManage = BeanUtil.toBean(dto, EvaluateManage.class);
+        evaluateManage.setCreateDate(new Date());
+        evaluateManage.setCreateUserId(StpUtil.getLoginIdAsLong());
         boolean isSuccess = evaluateManageService.add(evaluateManage);
         return RT.ok(isSuccess);
     }

+ 10 - 2
src/main/java/com/xjrsoft/module/evaluate/controller/EvaluateWriteController.java

@@ -63,6 +63,16 @@ public class EvaluateWriteController {
         return RT.ok(pageOutput);
     }
 
+    @GetMapping(value = "/result-page")
+    @ApiOperation(value="评价结果页列表(分页)")
+    @SaCheckPermission("evaluatemanage:detail")
+    public RT<PageOutput<EvaluateWritePageVo>> resultPage(@Valid EvaluateWritePageDto dto){
+        dto.setLoginUserId(StpUtil.getLoginIdAsLong());
+        Page<EvaluateWritePageVo> page = evaluateManageService.getMobileIndexPage(new Page<>(dto.getLimit(), dto.getSize()), dto);
+        PageOutput<EvaluateWritePageVo> pageOutput = ConventPage.getPageOutput(page, EvaluateWritePageVo.class);
+        return RT.ok(pageOutput);
+    }
+
     @GetMapping(value = "/info")
     @ApiOperation(value="根据id查询评价项信息")
     @SaCheckPermission("evaluateitem:detail")
@@ -97,6 +107,4 @@ public class EvaluateWriteController {
         String isSuccess = evaluateResultService.saveBatch(dto);
         return RT.ok(isSuccess);
     }
-
-
 }

+ 3 - 0
src/main/java/com/xjrsoft/module/evaluate/dto/EvaluateManagePageDto.java

@@ -27,6 +27,9 @@ public class EvaluateManagePageDto extends PageInput {
     @ApiModelProperty("评价类型")
     private String evaluateType;
 
+    @ApiModelProperty("管理名称")
+    private String name;
+
     @ApiModelProperty("状态(-1:未发布,0:暂停,1:进行中,2:已结束)")
     private Integer status;
 

+ 5 - 13
src/main/java/com/xjrsoft/module/evaluate/service/impl/EvaluateManageServiceImpl.java

@@ -18,10 +18,7 @@ import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -90,18 +87,15 @@ public class EvaluateManageServiceImpl extends MPJBaseServiceImpl<EvaluateManage
             EvaluateManageItem manageItem = BeanUtil.toBean(evaluateItem, EvaluateManageItem.class);
             manageItem.setEvaluateManageId(evaluateManage.getId());
             manageItem.setEvaluateItemId(manageItem.getId());
+            manageItem.setCreateDate(new Date());
+            manageItem.setCreateUserId(StpUtil.getLoginIdAsLong());
             evaluateManageItemMapper.insert(manageItem);
         }
         //将评价管理状态改为进行中
         evaluateManage.setStatus(1);
+        evaluateManage.setModifyDate(new Date());
+        evaluateManage.setModifyUserId(StpUtil.getLoginIdAsLong());
 
-        //设置两个定时器
-        //第一个定时器控制结束
-
-        //第二个定时器控制定时生成新的评价
-        if(evaluateManage.getIsAutoCreate() != null && evaluateManage.getIsAutoCreate() == 1 && evaluateManage.getCreateFrequency() != null){
-
-        }
         evaluateManageMapper.updateById(evaluateManage);
         return true;
     }
@@ -151,8 +145,6 @@ public class EvaluateManageServiceImpl extends MPJBaseServiceImpl<EvaluateManage
 
     public Page<EvaluateWritePageVo> getMobileIndexPage(Page<EvaluateWritePageDto> page, EvaluateWritePageDto dto) {
         Page<EvaluateWritePageVo> mobilePage = evaluateManageMapper.getMobilePage(page, dto);
-
-
         return mobilePage;
     }
 

+ 6 - 1
src/main/java/com/xjrsoft/module/evaluate/vo/EvaluateManagePageVo.java

@@ -29,11 +29,16 @@ public class EvaluateManagePageVo {
     */
     @ApiModelProperty("发布部门")
     private String orgName;
+    /**
+     * 评价类型-中文
+     */
+    @ApiModelProperty("评价类型-中文")
+    private String evaluateType;
     /**
     * 评价类型-中文
     */
     @ApiModelProperty("评价类型-中文")
-    private String evaluateTypeCn;
+    private String evaluateTypeCN;
     /**
     * 评价名称
     */

+ 9 - 2
src/main/java/com/xjrsoft/module/evaluate/vo/EvaluateWritePageVo.java

@@ -39,17 +39,21 @@ public class EvaluateWritePageVo {
      */
     @ApiModelProperty("参评对象编号")
     private String evaluateUserId;
+    /**
+     * 评价类型-中文
+     */
+    @ApiModelProperty("评价类型-中文")
+    private String evaluateType;
     /**
     * 评价类型-中文
     */
     @ApiModelProperty("评价类型-中文")
-    private String evaluateTypeCn;
+    private String evaluateTypeCN;
     /**
     * 评价名称
     */
     @ApiModelProperty("评价名称")
     private String name;
-
     /**
     * 开始时间
     */
@@ -70,4 +74,7 @@ public class EvaluateWritePageVo {
 
     @ApiModelProperty("状态(-1:未发布,0:暂停,1:进行中,2:结束)")
     private Integer status;
+
+    @ApiModelProperty("状态(0:表示该用户所有都已经评价)")
+    private Integer ratedCount;
 }

+ 28 - 1
src/main/resources/mapper/evaluate/EvaluateManageMapper.xml

@@ -4,7 +4,7 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.xjrsoft.module.evaluate.mapper.EvaluateManageMapper">
     <select id="getPage" parameterType="com.xjrsoft.module.evaluate.dto.EvaluateManagePageDto" resultType="com.xjrsoft.module.evaluate.vo.EvaluateManagePageVo">
-        SELECT t1.id,t2.name AS semester_name,t4.name AS org_name,t5.name AS evaluate_type_cn,t1.name,t1.start_time,t1.end_time,t1.status FROM evaluate_manage t1
+        SELECT t1.id,t2.name AS semester_name,t4.name AS org_name,t3.evaluate_type,t5.name AS evaluate_type_cn,t1.name,t1.start_time,t1.end_time,t1.status FROM evaluate_manage t1
         LEFT JOIN base_semester t2 ON t2.id = t1.base_semester_id
         LEFT JOIN evaluate_template t3 ON t3.id = t1.evaluate_template_id
         LEFT JOIN xjr_department t4 ON t4.id = t1.org_id
@@ -28,8 +28,12 @@
         <if test="dto.endTime != null">
             and #{dto.endTime} >= t1.end_time
         </if>
+        <if test="dto.name != null and dto.name != ''">
+            and t1.name like concat('%', #{dto.name}, '%')
+        </if>
         ORDER BY t1.create_date DESC
     </select>
+
     <select id="getList" parameterType="com.xjrsoft.module.room.dto.RoomPageDto" resultType="com.xjrsoft.module.room.vo.RoomExcelVo">
     </select>
     <select id="getMaxSortCode" resultType="java.lang.Integer">
@@ -63,6 +67,29 @@
           and t3.user_id = #{dto.loginUserId}
     </select>
 
+    <select id="getMobileIndexPage" parameterType="com.xjrsoft.module.evaluate.dto.EvaluateWritePageDto" resultType="com.xjrsoft.module.evaluate.vo.EvaluateWritePageVo">
+        select
+            t.id as evaluateManageId,
+            t.name,
+            t2.evaluate_type,
+            t4.name as evaluateTypeCN,
+            (select
+                 count(tb3.status)
+             from evaluate_manage tb1
+                      left join evaluate_executer tb3 on tb3.evaluate_manage_id = tb1.id
+             where tb1.delete_mark = 0
+               and tb3.delete_mark = 0
+               and tb3.id = t3.id
+               and tb1.id = t.id) as ratedCount
+        from evaluate_manage t
+                 left join evaluate_template t2 on t2.id = t.evaluate_template_id
+                 left join evaluate_executer t3 on t3.evaluate_manage_id = t.id
+                 left join xjr_dictionary_detail t4 on t4.code = t2.evaluate_type
+        where t.delete_mark = 0
+          and t3.delete_mark = 0
+          and t3.user_id = #{dto.loginUserId}
+    </select>
+
     <select id="getWriteInfo" parameterType="com.xjrsoft.module.evaluate.dto.EvaluateWritePageDto" resultType="com.xjrsoft.module.evaluate.vo.EvaluateWriteVo">
         select t1.id, t1.name,t2.total as sumScore,t1.start_time,t1.end_time,
                (SELECT COUNT(id) FROM evaluate_manage_item a WHERE t1.delete_mark = 0 AND a.evaluate_manage_id = t1.id) AS item_count