瀏覽代碼

评价管理移动端结果列表页

phoenix 1 年之前
父節點
當前提交
ed6c80aa96

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

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
+import com.xjrsoft.module.evaluate.dto.DrillEvaluateClassListDto;
 import com.xjrsoft.module.evaluate.dto.EvaluateResultSaveDto;
 import com.xjrsoft.module.evaluate.dto.MobileIndexPageDto;
 import com.xjrsoft.module.evaluate.dto.MobileResultPageDto;
@@ -57,6 +58,15 @@ public class EvaluateWriteController {
         return RT.ok(pageOutput);
     }
 
+    @GetMapping(value = "/drill-ev-class-list")
+    @ApiOperation(value="教官当天评价班级集合")
+    @SaCheckPermission("evaluatemanage:detail")
+    public RT<List<DrillEvaluateClassListVo>> drillEvClassList(@Valid DrillEvaluateClassListDto dto){
+        dto.setLoginUserId(StpUtil.getLoginIdAsLong());
+        List<DrillEvaluateClassListVo> list = evaluateManageService.getDrillEvaluateClassList(dto);
+        return RT.ok(list);
+    }
+
     @GetMapping(value = "/info")
     @ApiOperation(value="根据id查询评价项信息")
     @SaCheckPermission("evaluateitem:detail")

+ 43 - 0
src/main/java/com/xjrsoft/module/evaluate/dto/DrillEvaluateClassListDto.java

@@ -0,0 +1,43 @@
+package com.xjrsoft.module.evaluate.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+
+/**
+* @title: 评价结果分页查询入参
+* @Author szs
+* @Date: 2024-01-16
+* @Version 1.0
+*/
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class DrillEvaluateClassListDto extends MobileIndexPageDto {
+    @ApiModelProperty("评分状态(1:已评分,0:未评分, null:全部)")
+    private Integer status;
+
+    @ApiModelProperty(value = "评价管理id", required = true)
+    private Long evaluateManageId;
+
+    @ApiModelProperty(value = "评价类型")
+    private String evaluateType;
+
+    @ApiModelProperty(value = "专业id")
+    private Long majorId;
+
+    @ApiModelProperty(value = "楼栋id")
+    private Long officeBuildId;
+
+    @ApiModelProperty("开始时间")
+    private LocalDateTime startTime;
+
+    @ApiModelProperty("结束时间")
+    private LocalDateTime endTime;
+
+    @ApiModelProperty(value = "评价对象id集合", hidden = true)
+    private List<Long> evaluateObjectIdList;
+}

+ 2 - 3
src/main/java/com/xjrsoft/module/evaluate/dto/MobileIndexPageDto.java

@@ -15,9 +15,8 @@ import lombok.EqualsAndHashCode;
 @Data
 @EqualsAndHashCode(callSuper = false)
 public class MobileIndexPageDto extends PageInput {
-
-    @ApiModelProperty("评分状态(1:已评分,0:未评分, null:全部)")
-    private Integer status;
+    @ApiModelProperty(value = "关键字")
+    private String keyword;
 
     @ApiModelProperty(value = "登录者id(前端不传,后端传)", hidden = true)
     private Long loginUserId;

+ 6 - 7
src/main/java/com/xjrsoft/module/evaluate/dto/MobileResultPageDto.java

@@ -5,7 +5,6 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 
 import java.time.LocalDateTime;
-import java.util.List;
 
 
 /**
@@ -17,21 +16,21 @@ import java.util.List;
 @Data
 @EqualsAndHashCode(callSuper = false)
 public class MobileResultPageDto extends MobileIndexPageDto {
+    @ApiModelProperty("评分状态(1:已评分,0:未评分, null:全部)")
+    private Integer status;
+
     @ApiModelProperty(value = "评价管理id", required = true)
     private Long evaluateManageId;
 
-    @ApiModelProperty(value = "评价类型", required = true)
+    @ApiModelProperty(value = "评价类型")
     private String evaluateType;
 
     @ApiModelProperty(value = "专业id")
     private Long majorId;
 
-    @ApiModelProperty("开始时间")
+    @ApiModelProperty(value = "开始时间", hidden = true)
     private LocalDateTime startTime;
 
-    @ApiModelProperty("结束时间")
+    @ApiModelProperty(value = "结束时间", hidden = true)
     private LocalDateTime endTime;
-
-    @ApiModelProperty(value = "评价对象id集合", hidden = true)
-    private List<Long> evaluateObjectIdList;
 }

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

@@ -31,6 +31,8 @@ public interface EvaluateManageMapper extends MPJBaseMapper<EvaluateManage> {
 
     Page<MobileResultPageVo> getMobileResultPage(Page<EvaluateWritePageDto> page, MobileResultPageDto dto);
 
+    List<DrillEvaluateClassListVo> getDrillEvaluateClassList(DrillEvaluateClassListDto dto);
+
     EvaluateWriteVo getWriteInfo(Long id);
 
 

+ 3 - 4
src/main/java/com/xjrsoft/module/evaluate/service/IEvaluateManageService.java

@@ -2,10 +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.EvaluateManagePageDto;
-import com.xjrsoft.module.evaluate.dto.EvaluateWritePageDto;
-import com.xjrsoft.module.evaluate.dto.MobileIndexPageDto;
-import com.xjrsoft.module.evaluate.dto.MobileResultPageDto;
+import com.xjrsoft.module.evaluate.dto.*;
 import com.xjrsoft.module.evaluate.entity.EvaluateManage;
 import com.xjrsoft.module.evaluate.vo.*;
 
@@ -62,6 +59,8 @@ public interface IEvaluateManageService extends MPJBaseService<EvaluateManage> {
 
     Page<MobileResultPageVo> getMobileResultPage(Page<EvaluateWritePageDto> page, MobileResultPageDto dto);
 
+    List<DrillEvaluateClassListVo> getDrillEvaluateClassList(DrillEvaluateClassListDto dto);
+
     EvaluateWriteVo getWriteInfo(Long id);
 
     //查询题目信息

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

@@ -164,6 +164,11 @@ public class EvaluateManageServiceImpl extends MPJBaseServiceImpl<EvaluateManage
         return mobileResultPage;
     }
 
+    @Override
+    public List<DrillEvaluateClassListVo> getDrillEvaluateClassList(DrillEvaluateClassListDto dto) {
+        return evaluateManageMapper.getDrillEvaluateClassList(dto);
+    }
+
     @Override
     public EvaluateWriteVo getWriteInfo(Long id) {
         return evaluateManageMapper.getWriteInfo(id);

+ 83 - 0
src/main/java/com/xjrsoft/module/evaluate/vo/DrillEvaluateClassListVo.java

@@ -0,0 +1,83 @@
+package com.xjrsoft.module.evaluate.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+* @title: 教官评价班级评价页出参
+* @Author dzx
+* @Date: 2024-01-16
+* @Version 1.0
+*/
+@Data
+public class DrillEvaluateClassListVo {
+
+    /**
+    * 主键编号
+    */
+    @ApiModelProperty("评价管理编号")
+    private String evaluateManageId;
+    /**
+     * 评价名称
+     */
+    @ApiModelProperty("评价名称")
+    private String name;
+    /**
+     * 评价对象编号
+     */
+    @ApiModelProperty("评价对象编号")
+    private String evaluateObjectId;
+    /**
+     * 评价对象具体人或班级编号
+     */
+    @ApiModelProperty("评价对象具体人或班级编号")
+    private String objectId;
+    /**
+     * 评价对象具体人或班级编号
+     */
+    @ApiModelProperty("评价对象具体人或班级编号")
+    private String objectIdCn;
+    /**
+     * 参评对象编号
+     */
+    @ApiModelProperty("参评对象编号")
+    private String evaluateUserId;
+    /**
+     * 评价对象具体人或班级编号
+     */
+    @ApiModelProperty("参评对象具体人编号")
+    private String userId;
+    /**
+     * 评价对象具体人或班级编号
+     */
+    @ApiModelProperty("参评对象具体人编号")
+    private String userIdCn;
+    /**
+     * 评价类型
+     */
+    @ApiModelProperty("评价类型")
+    private String evaluateType;
+    /**
+    * 评价类型-中文
+    */
+    @ApiModelProperty("评价类型-中文")
+    private String evaluateTypeCn;
+    /**
+    * 开始时间
+    */
+    @ApiModelProperty("开始时间")
+    private Date startTime;
+    /**
+    * 结束时间
+    */
+    @ApiModelProperty("结束时间")
+    private Date endTime;
+
+    @ApiModelProperty("题目数量")
+    private Integer itemCount;
+
+    @ApiModelProperty("评价状态(0:未评价,1:已评价)")
+    private Integer evaluateStatus;
+}

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

@@ -26,7 +26,7 @@ public class MobileIndexPageVo {
     * 评价类型-中文
     */
     @ApiModelProperty("评价类型-中文")
-    private String evaluateTypeCN;
+    private String evaluateTypeCn;
     /**
     * 评价名称
     */

+ 3 - 3
src/main/java/com/xjrsoft/module/evaluate/vo/MobileResultPageVo.java

@@ -38,7 +38,7 @@ public class MobileResultPageVo {
      * 评价对象具体人或班级编号
      */
     @ApiModelProperty("评价对象具体人或班级编号")
-    private String objectIdCN;
+    private String objectIdCn;
     /**
      * 参评对象编号
      */
@@ -53,7 +53,7 @@ public class MobileResultPageVo {
      * 评价对象具体人或班级编号
      */
     @ApiModelProperty("参评对象具体人编号")
-    private String userIdCN;
+    private String userIdCn;
     /**
      * 评价类型
      */
@@ -63,7 +63,7 @@ public class MobileResultPageVo {
     * 评价类型-中文
     */
     @ApiModelProperty("评价类型-中文")
-    private String evaluateTypeCN;
+    private String evaluateTypeCn;
     /**
     * 开始时间
     */

+ 50 - 3
src/main/resources/mapper/evaluate/EvaluateManageMapper.xml

@@ -53,6 +53,8 @@
                       left join evaluate_executer tb3 on tb3.evaluate_manage_id = tb1.id
              where tb1.delete_mark = 0
                and tb3.delete_mark = 0
+               and tb1.status &lt;&gt; -1
+               and tb3.status = 0
                and tb3.id = t3.id
                and tb1.id = t.id) as ratedCount
         from evaluate_manage t
@@ -61,7 +63,12 @@
                  left join xjr_dictionary_detail t4 on t4.code = t2.evaluate_type
         where t.delete_mark = 0
           and t3.delete_mark = 0
+          and t.status &lt;&gt; -1
           and t3.user_id = #{dto.loginUserId}
+        <if test="dto.keyword != null and dto.keyword != ''">
+            and (t.name like concat('%', #{dto.keyword}, '%')
+                or t4.name like concat('%', #{dto.keyword}, '%'))
+        </if>
     </select>
 
     <select id="getMobileResultPage" parameterType="com.xjrsoft.module.evaluate.dto.MobileResultPageDto" resultType="com.xjrsoft.module.evaluate.vo.MobileResultPageVo">
@@ -70,12 +77,12 @@
             t1.name,
             t.id as evaluateObjectId,
             t.object_id as objectId,
-            ifnull(t5.name, t6.name) as objectIdCN,
+            ifnull(t5.name, t6.name) as objectIdCn,
             t3.id as evaluateUserId,
             t3.user_id as userId,
-            t7.name as userIdCN,
+            t7.name as userIdCn,
             t2.evaluate_type as evaluateType,
-            t4.name as evaluateTypeCN,
+            t4.name as evaluateTypeCn,
             t1.start_time,
             t1.end_time,
             t3.status as evaluateStatus
@@ -104,6 +111,46 @@
         order by t3.status;
     </select>
 
+    <select id="getDrillEvaluateClassList" parameterType="com.xjrsoft.module.evaluate.dto.DrillEvaluateClassListDto" resultType="com.xjrsoft.module.evaluate.vo.DrillEvaluateClassListVo">
+        select
+            t1.id as evaluateManageId,
+            t1.name,
+            t.id as evaluateObjectId,
+            t.object_id as objectId,
+            ifnull(t5.name, t6.name) as objectIdCn,
+            t3.id as evaluateUserId,
+            t3.user_id as userId,
+            t7.name as userIdCn,
+            t2.evaluate_type as evaluateType,
+            t4.name as evaluateTypeCn,
+            t1.start_time,
+            t1.end_time,
+            t3.status as evaluateStatus
+        from evaluate_object t
+                 left join evaluate_manage t1 on t1.id = t.evaluate_manage_id
+                 left join evaluate_template t2 on t2.id = t1.evaluate_template_id
+                 left join evaluate_executer t3 on t3.evaluate_object_id = t.id
+                 left join xjr_dictionary_detail t4 on t4.code = t2.evaluate_type
+                 left join xjr_user t5 on t5.id = t.object_id
+                 left join base_class t6 on t6.id = t.object_id
+                 left join xjr_user t7 on t7.id = t3.user_id
+                 left join base_classroom t8 on t8.id = t6.classroom_id
+                 left join base_class_major_set t9 on t9.class_id = t6.id
+                 left join base_major_set t10 on t10.id = t9.major_set_id
+        where t.delete_mark = 0
+          and t3.delete_mark = 0
+          and t1.status = 1
+          and t3.user_id = #{dto.loginUserId}
+          and t.evaluate_manage_id = #{dto.evaluateManageId}
+        <if test="dto.majorId != null and dto.majorId > 0">
+            and t10.major_id = #{dto.majorId}
+        </if>
+        <if test="dto.officeBuildId != null and dto.officeBuildId > 0">
+            and t8.officeBuildId = #{dto.officeBuildId}
+        </if>
+        order by t3.status;
+    </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