Browse Source

操行管理,移动端接口调整

dzx 1 year ago
parent
commit
688a1d8556

+ 5 - 17
src/main/java/com/xjrsoft/module/student/controller/BaseStudentBehaviorManageController.java

@@ -1,23 +1,21 @@
 package com.xjrsoft.module.student.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.toolkit.MPJWrappers;
 import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
-import com.xjrsoft.common.utils.VoToColumnUtil;
-import com.xjrsoft.module.base.entity.BaseClass;
 import com.xjrsoft.module.base.mapper.BaseClassMapper;
 import com.xjrsoft.module.student.dto.AddBaseStudentBehaviorManageDto;
+import com.xjrsoft.module.student.dto.BaseStudentBehaviorManageMobilePageDto;
 import com.xjrsoft.module.student.dto.BaseStudentBehaviorManagePageDto;
 import com.xjrsoft.module.student.dto.UpdateBaseStudentBehaviorManageDto;
 import com.xjrsoft.module.student.entity.BaseStudentBehaviorManage;
 import com.xjrsoft.module.student.mapper.BaseStudentBehaviorClassRelationMapper;
 import com.xjrsoft.module.student.mapper.BaseStudentBehaviorStudentRelationMapper;
 import com.xjrsoft.module.student.service.IBaseStudentBehaviorManageService;
+import com.xjrsoft.module.student.vo.BaseStudentBehaviorManageMobilePageVo;
 import com.xjrsoft.module.student.vo.BaseStudentBehaviorManagePageVo;
 import com.xjrsoft.module.student.vo.BaseStudentBehaviorManageVo;
 import io.swagger.annotations.Api;
@@ -33,7 +31,6 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
-import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -65,18 +62,9 @@ public class BaseStudentBehaviorManageController {
     @GetMapping(value = "/miblie-page")
     @ApiOperation(value="学生操行分记录管理列表(移动端)")
     @SaCheckPermission("basestudentbehaviormanage:detail")
-    public RT<PageOutput<BaseStudentBehaviorManagePageVo>> mibliePage(@Valid BaseStudentBehaviorManagePageDto dto){
-
-        List<BaseClass> classList = baseClassMapper.selectList(
-                MPJWrappers.<BaseClass>lambdaJoin()
-                .eq(BaseClass::getTeacherId, StpUtil.getLoginIdAsLong())
-                .select(BaseClass.class, x -> VoToColumnUtil.fieldsToColumns(BaseClass.class).contains(x.getProperty()))
-        );
-        List<Long> classIds = new ArrayList<>();
-        for (BaseClass baseClass : classList) {
-            classIds.add(baseClass.getId());
-        }
-        return RT.ok(getData(dto));
+    public RT<PageOutput<BaseStudentBehaviorManageMobilePageVo>> mibliePage(@Valid BaseStudentBehaviorManageMobilePageDto dto){
+        Page<BaseStudentBehaviorManageMobilePageVo> page = baseStudentBehaviorManageService.getMobilePage(new Page<>(dto.getLimit(), dto.getSize()), dto);
+        return RT.ok(ConventPage.getPageOutput(page, BaseStudentBehaviorManageMobilePageVo.class));
     }
 
     PageOutput<BaseStudentBehaviorManagePageVo> getData(BaseStudentBehaviorManagePageDto dto){

+ 5 - 0
src/main/java/com/xjrsoft/module/student/dto/BaseStudentBehaviorManageMobilePageDto.java

@@ -81,4 +81,9 @@ public class BaseStudentBehaviorManageMobilePageDto extends PageInput {
      */
     @ApiModelProperty("等级人")
     private String createUserName;
+    /**
+     * 教师id
+     */
+    @ApiModelProperty("教师id")
+    private Long teacherId;
 }

+ 9 - 1
src/main/java/com/xjrsoft/module/student/service/impl/BaseStudentBehaviorManageServiceImpl.java

@@ -1,5 +1,6 @@
 package com.xjrsoft.module.student.service.impl;
 
+import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -183,7 +184,14 @@ public class BaseStudentBehaviorManageServiceImpl extends MPJBaseServiceImpl<Bas
 
     @Override
     public Page<BaseStudentBehaviorManageMobilePageVo> getMobilePage(Page<BaseStudentBehaviorManageMobilePageDto> page, BaseStudentBehaviorManageMobilePageDto dto) {
-        return null;
+        dto.setTeacherId(StpUtil.getLoginIdAsLong());
+        Page<BaseStudentBehaviorManageMobilePageVo> result = baseStudentBehaviorManageMapper.getMobilePage(page, dto);
+        result.getRecords().forEach((node) -> {
+            if (node.getScoreType().equals(ScoreTypeEnum.ScoreMinus.getCode())) {
+                node.setScore(node.getScore() * -1);
+            }
+        });
+        return result;
     }
 
     @Override

+ 19 - 41
src/main/java/com/xjrsoft/module/student/vo/BaseStudentBehaviorManageMobilePageVo.java

@@ -14,11 +14,6 @@ import java.util.Date;
 @Data
 public class BaseStudentBehaviorManageMobilePageVo {
 
-    /**
-    * 主键编号
-    */
-    @ApiModelProperty("主键编号")
-    private String id;
     /**
     * 序号
     */
@@ -30,51 +25,16 @@ public class BaseStudentBehaviorManageMobilePageVo {
     @ApiModelProperty("考核时间")
     private Date assessmentDate;
     /**
-    * 总分
-    */
-    @ApiModelProperty("总分")
-    private Double totalScore;
-    /**
     * 分数
     */
     @ApiModelProperty("分数")
     private Double score;
-    /**
-    * 分数次数
-    */
-    @ApiModelProperty("分数次数")
-    private Double scoreNumber;
-    /**
-    * 是否影响(1:是 0:否)
-    */
-    @ApiModelProperty("是否影响(1:是 0:否)")
-    private Integer isAffect;
 
     /**
     * 考核地点
     */
     @ApiModelProperty("考核地点")
     private String assessmentAddress;
-    /**
-    * 备注
-    */
-    @ApiModelProperty("备注")
-    private String remark;
-    /**
-    * 文件ID(xjr_file)
-    */
-    @ApiModelProperty("文件ID(xjr_file)")
-    private Long fileId;
-    /**
-    * 状态(1:结束 0:未结束)
-    */
-    @ApiModelProperty("状态(1:结束 0:未结束)")
-    private Integer status;
-    /**
-     * 学期
-     */
-    @ApiModelProperty("学期")
-    private String semesterName;
     /**
      * 考核类别
      */
@@ -96,11 +56,29 @@ public class BaseStudentBehaviorManageMobilePageVo {
      * 班级名称
      */
     @ApiModelProperty("班级名称")
-    private String behaviorClassNames;
+    private String className;
 
     /**
      * 考核人
      */
     @ApiModelProperty("考核人")
     private String assessmentUserName;
+
+    /**
+     * 学生姓名
+     */
+    @ApiModelProperty("学生姓名")
+    private String name;
+
+    /**
+     * 学生姓名
+     */
+    @ApiModelProperty("考核类别")
+    private String categoryName;
+
+    /**
+     * 学生姓名
+     */
+    @ApiModelProperty("考核项")
+    private String projectName;
 }

+ 12 - 42
src/main/resources/mapper/student/BaseStudentBehaviorManageMapper.xml

@@ -65,48 +65,18 @@
           AND t.id = #{id}
     </select>
 
-    <select id="getMobilePage" parameterType="com.xjrsoft.module.student.dto.BaseStudentAssessmentInspectionMobilePageDto" resultType="com.xjrsoft.module.student.vo.BaseStudentAssessmentInspectionMobilePageVo">
-        select t.id,t1.assessment_date,t2.name as assessment_category_name,t3.name as assessment_project_name,t5.name as
-        assessment_class_name,t1.reason,t1.score,t1.score_type,t4.name as score_type_cn,
-        (
-            SELECT count(*) FROM base_student_assessment_student_relation WHERE base_student_assessment_inspection_id =
-            t1.id and class_id=t.class_id
-        ) as student_count
-        from base_student_assessment_class_relation t
-        left join base_student_assessment_inspection t1 on t1.id=t.base_student_assessment_inspection_id
-        left join base_student_assessment_category t2 on (t2.id = t1.base_student_assessment_category_id)
-        left join base_student_assessment_project t3 on (t3.id = t1.base_student_assessment_project_id)
-        left join xjr_dictionary_detail t4 on t4.code=t1.score_type
-        left join base_class t5 on t5.id=t.class_id
-        where t1.delete_mark=0 and t1.status=1 and t.class_id in
-        <foreach item="classId" index="index" collection="dto.classIds" open="(" close=")" separator=",">
-            #{classId}
-        </foreach>
-        <if test="dto.projectIds != null">
-            and t1.base_student_assessment_project_id in
-            <foreach item="projectId" index="index" collection="dto.projectIds" open="(" close=")" separator=",">
-                #{projectId}
-            </foreach>
-        </if>
-        <if test="dto.startDate != null and dto.startDate != ''">
-            and t1.assessment_date &gt;= #{dto.startDate}
-        </if>
-        <if test="dto.endDate != null and dto.endDate != ''">
-            and t1.assessment_date &lt;= #{dto.endDate}
-        </if>
+    <select id="getMobilePage" parameterType="com.xjrsoft.module.student.dto.BaseStudentBehaviorManageMobilePageDto" resultType="com.xjrsoft.module.student.vo.BaseStudentBehaviorManageMobilePageVo">
+        SELECT t1.sort_code,t1.name,t1.class_name,t.assessment_date,
+        t3.name AS categoryName,t4.name AS projectName,t.score,t4.score_type  FROM base_student_behavior_manage t
+        INNER JOIN base_student_behavior_student_relation t1 ON t1.base_student_behavior_manage_id = t.id
+        LEFT JOIN xjr_user t2 ON t2.id = t.assessment_user_id
+        LEFT JOIN base_student_behavior_category t3 ON t3.id = t.base_student_behavior_category_id
+        LEFT JOIN base_student_behavior_project t4 ON t4.id = t.base_student_behavior_project_id
+        LEFT JOIN base_student_school_roll t5 ON t1.user_id = t5.user_id
+        WHERE t.status = 1 AND t.delete_mark = 0
+        AND t5.class_id IN (
+        SELECT id FROM base_class WHERE teacher_id = #{dto.teacherId}
+        )
     </select>
 
-    <select id="getMobileInfo" resultType="com.xjrsoft.module.student.vo.BaseStudentAssessmentInspectionMobileVo">
-        select t.id,t.class_id,t.base_student_assessment_inspection_id,t1.score,t5.name as assessment_class_name,t2.name as assessment_category_name,t3.name as assessment_project_name,t1.assessment_date,t1.reason,
-        t6.name as assessment_user_name,t7.name as create_user_name,t1.create_date,t1.file_id,t1.score_type,t4.name as score_type_cn
-        from base_student_assessment_class_relation t
-        left join base_student_assessment_inspection t1 on t1.id=t.base_student_assessment_inspection_id
-        left join base_student_assessment_category t2 on (t2.id = t1.base_student_assessment_category_id)
-        left join base_student_assessment_project t3 on (t3.id = t1.base_student_assessment_project_id)
-        left join xjr_dictionary_detail t4 on t4.code=t1.score_type
-        left join base_class t5 on t5.id=t.class_id
-        left join xjr_user t6 on t1.assessment_user_id=t6.id
-        left join xjr_user t7 on t1.create_user_id=t7.id
-        where t.id=#{id};
-    </select>
 </mapper>