Jelajahi Sumber

Merge remote-tracking branch 'origin/dev' into pre

# Conflicts:
#	src/main/resources/sqlScript/视图信息.sql
dzx 11 bulan lalu
induk
melakukan
5358281fc7

+ 16 - 0
src/main/java/com/xjrsoft/module/student/controller/BaseStudentAssessmentInspectionController.java

@@ -4,6 +4,7 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.core.bean.BeanUtil;
 import com.alibaba.excel.support.ExcelTypeEnum;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xjrsoft.common.enums.EnabledMark;
@@ -154,7 +155,22 @@ public class BaseStudentAssessmentInspectionController {
     public RT<Boolean>  cancelStudent(@RequestBody CancelStudentDto dto){
         BaseStudentAssessmentStudentRelation relation = studentRelationService.getById(dto.getId());
         relation.setEnabledMark(EnabledMark.DISABLED.getCode());
+        relation.setModifyDate(new Date());
         boolean update = studentRelationService.updateById(relation);
+
+        long count = studentRelationService.count(
+                new QueryWrapper<BaseStudentAssessmentStudentRelation>().lambda()
+                        .eq(BaseStudentAssessmentStudentRelation::getBaseStudentAssessmentInspectionId, relation.getBaseStudentAssessmentInspectionId())
+                        .eq(BaseStudentAssessmentStudentRelation::getEnabledMark, EnabledMark.ENABLED.getCode())
+        );
+
+        BaseStudentAssessmentInspection inspection = inspectionService.getById(relation.getBaseStudentAssessmentInspectionId());
+        inspection.setModifyDate(new Date());
+        inspection.setModifyUserId(StpUtil.getLoginIdAsLong());
+        if(count == 0){
+            inspection.setEnabledMark(EnabledMark.DISABLED.getCode());
+        }
+        inspectionService.updateById(inspection);
         return RT.ok(update);
     }
 }

+ 11 - 4
src/main/java/com/xjrsoft/module/student/service/impl/BaseStudentAssessmentInspectionServiceImpl.java

@@ -673,6 +673,8 @@ public class BaseStudentAssessmentInspectionServiceImpl extends MPJBaseServiceIm
             if(dto.getEndTime() != null){
                 setStartTime(dto.getEndTime());
             }
+            setYear(dto.getYear());
+            setMonth(dto.getMonth());
         }});
         Map<Long , QuantitativeAssessmentSingleScoreVo> individualBehaviorMap = new HashMap<>();
         for (QuantitativeAssessmentSingleScoreVo q : individualBehaviorList) {
@@ -866,7 +868,12 @@ public class BaseStudentAssessmentInspectionServiceImpl extends MPJBaseServiceIm
 
             columnNumber ++;
             cell = dataRow.createCell(columnNumber);
-            cell.setCellValue(pageVo.getClassStatusCn());
+            if(pageVo.getClassStatus() != null && pageVo.getClassStatus() == 1){
+                cell.setCellValue("在读");
+            }else{
+                cell.setCellValue("毕业");
+            }
+
             cell.setCellStyle(cellStyle);
 
             columnNumber ++;
@@ -1022,7 +1029,7 @@ public class BaseStudentAssessmentInspectionServiceImpl extends MPJBaseServiceIm
 
         columnNumber ++;
         cell = row.createCell(columnNumber);
-        cell.setCellValue("准军事化管理效果");
+        cell.setCellValue("国防教学特色");
         cell.setCellStyle(cellStyle);
         sheet.addMergedRegion(new CellRangeAddress(0, 0, columnNumber, columnNumber + 1));
         columnNumber ++;
@@ -1100,7 +1107,7 @@ public class BaseStudentAssessmentInspectionServiceImpl extends MPJBaseServiceIm
         columnNumber ++;
 
         cell = row.createCell(columnNumber);
-        cell.setCellValue("指数");
+        cell.setCellValue("扣分");
         cell.setCellStyle(cellStyle);
         columnNumber ++;
 
@@ -1117,7 +1124,7 @@ public class BaseStudentAssessmentInspectionServiceImpl extends MPJBaseServiceIm
         cell = row.createCell(columnNumber);
         cell.setCellValue("此项得分");
         cell.setCellStyle(cellStyle);
-
+        columnNumber ++;
 
         cell = row.createCell(columnNumber);
         cell.setCellValue("扣分");

+ 20 - 15
src/main/resources/mapper/student/BaseStudentAssessmentInspectionMapper.xml

@@ -4,14 +4,12 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.xjrsoft.module.student.mapper.BaseStudentAssessmentInspectionMapper">
     <select id="getPage" parameterType="com.xjrsoft.module.student.dto.BaseStudentAssessmentInspectionPageDto" resultType="com.xjrsoft.module.student.vo.BaseStudentAssessmentInspectionPageVo">
-        SELECT t.id,t.score,t.total_score,t.score_type,t.assessment_date,t.reason,t1.name AS assessment_category_name,t2.name AS assessment_project_name,t3.name AS semester_name,t4.name AS grade_name,t5.name AS assessment_user_name,t6.name AS score_type_cn,
+        SELECT t.id,t.score,(t.score * IF(personal_student_user_ids IS NULL, 1, (SELECT COUNT(*) FROM base_student_assessment_student_relation WHERE base_student_assessment_inspection_id = t.id AND delete_mark = 0 AND enabled_mark = 1))) as total_score,t.score_type,t.assessment_date,t.reason,t1.name AS assessment_category_name,t2.name AS assessment_project_name,t3.name AS semester_name,t4.name AS grade_name,t5.name AS assessment_user_name,t6.name AS score_type_cn,
         (
         SELECT NAME FROM base_class
         WHERE id = t.class_ids
         ) AS assessment_class_names,
-        (
-        (LENGTH(personal_student_user_ids) - LENGTH(REPLACE(personal_student_user_ids, ',', '')))
-        ) + 1 AS student_count,t.enabled_mark,t.assessment_type
+        (SELECT COUNT(*) FROM base_student_assessment_student_relation WHERE base_student_assessment_inspection_id = t.id AND delete_mark = 0 AND enabled_mark = 1) AS student_count,t.enabled_mark,t.assessment_type
         FROM base_student_assessment_inspection t
         LEFT JOIN base_student_assessment_category t1 ON (t1.id = t.base_student_assessment_category_id)
         LEFT JOIN base_student_assessment_project t2 ON (t2.id = t.base_student_assessment_project_id)
@@ -51,7 +49,7 @@
     <select id="getInfo" resultType="com.xjrsoft.module.student.vo.BaseStudentAssessmentInspectionVo">
         select t.id,t.score,t.score_type,t.assessment_date,t.reason,t1.name as assessment_category_name,t2.name as assessment_project_name,
         t3.name as semester_name,t4.name as grade_name,t5.name as assessment_user_name,t6.name as score_type_cn,t.file_id,t7.name as create_user_name
-        ,t.total_score
+        ,(t.score * IF(personal_student_user_ids IS NULL, 1, (SELECT COUNT(*) FROM base_student_assessment_student_relation WHERE base_student_assessment_inspection_id = t.id AND delete_mark = 0 AND enabled_mark = 1))) as total_score
         from base_student_assessment_inspection t
         left join base_student_assessment_category t1 on (t1.id = t.base_student_assessment_category_id)
         left join base_student_assessment_project t2 on (t2.id = t.base_student_assessment_project_id)
@@ -65,11 +63,7 @@
 
     <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.total_score as 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 AND delete_mark = 0 and enabled_mark = 1
-        ) AS student_count,t1.assessment_type,
+        assessment_class_name,t1.reason,(t1.score * IF(personal_student_user_ids IS NULL, 1, (SELECT COUNT(*) FROM base_student_assessment_student_relation WHERE base_student_assessment_inspection_id = t1.id AND delete_mark = 0 AND enabled_mark = 1))) as 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 AND delete_mark = 0 and enabled_mark = 1
@@ -97,13 +91,24 @@
         <if test="dto.endDate != null and dto.endDate != ''">
             and t1.assessment_date &lt;= #{dto.endDate}
         </if>
+        <if test="dto.keyword != null and dto.keyword != ''">
+            and (
+            t2.name like concat('%', #{dto.keyword}, '%')
+            or t3.name like concat('%', #{dto.keyword}, '%')
+            or t5.name like concat('%', #{dto.keyword}, '%')
+            or t6.name like concat('%', #{dto.keyword}, '%')
+            or t1.reason like concat('%', #{dto.keyword}, '%')
+            )
+        </if>
         order by t1.id desc
     </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,
+        select t.id,t.class_id,t.base_student_assessment_inspection_id,
+        (t1.score * IF(personal_student_user_ids IS NULL, 1, (SELECT COUNT(*) FROM base_student_assessment_student_relation WHERE base_student_assessment_inspection_id = t1.id AND delete_mark = 0 AND enabled_mark = 1))) as 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,t1.assessment_type,
-        t8.name as assessment_item_name,t9.name as modify_user_name,if(t1.modify_date > t.modify_date, t1.modify_date, t.modify_date) as modify_date
+        t8.name as assessment_item_name,t9.name as modify_user_name, t1.modify_date
         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)
@@ -114,7 +119,7 @@
         left join xjr_user t6 on t1.assessment_user_id = t6.id
         left join xjr_user t7 on t1.create_user_id = t7.id
         left join xjr_user t9 on t1.modify_user_id = t9.id
-        where t.id = #{id};
+        where t.id = #{id} and t1.enabled_mark = 1;
     </select>
 
     <select id="getStudentIndividualBehaviorExcelVoList" parameterType="com.xjrsoft.module.student.dto.QuantitativeAssessmentExcelDto" resultType="com.xjrsoft.module.student.vo.QuantitativeAssessmentSubTableExcelVo">
@@ -259,7 +264,7 @@
             and t.create_date &lt; #{dto.endTime}
         </if>
         <if test="dto.year != null and dto.month != null">
-            and DATE_FORMAT(t.assessment_date, '%Y-%m') = concat(#{dto.year}, '-', #{dto.month})
+            and YEAR(t.assessment_date) = #{dto.year} and month(t.assessment_date) = #{dto.month}
         </if>
         group by t.class_ids;
     </select>
@@ -337,6 +342,6 @@
         INNER JOIN base_major_set t5 ON t4.major_set_id = t5.id
         LEFT JOIN xjr_dictionary_detail t6 ON t3.nation = t6.code
         LEFT JOIN xjr_dictionary_detail t7 ON t2.gender = t7.code
-        WHERE t1.base_student_assessment_inspection_id = #{id}
+        WHERE t1.base_student_assessment_inspection_id = #{id} and t1.enabled_mark = 1
     </select>
 </mapper>