Browse Source

开学报到调整

dzx 10 months ago
parent
commit
5884a9df33

+ 1 - 0
src/main/java/com/xjrsoft/module/student/controller/StudentReportPlanController.java

@@ -199,6 +199,7 @@ public class StudentReportPlanController {
                         setId(e.getId());
                         setName(e.getName());
                         setParentId(e.getSemesterId());
+                        setStatus(e.getStatus());
                     }}
             );
         }));

+ 1 - 1
src/main/java/com/xjrsoft/module/student/mapper/StudentReportPlanMapper.java

@@ -23,5 +23,5 @@ public interface StudentReportPlanMapper extends MPJBaseMapper<StudentReportPlan
     Page<StudentReportPlanPageVo> getPage(Page<StudentReportPlanPageVo> page, @Param("dto") StudentReportPlanPageDto dto);
 
 
-    List<BaseClass> validateClass(@Param("id") Long id, @Param("classIds") List<Long> classIds);
+    List<BaseClass> validateClass(@Param("id") Long id, @Param("semesterId") Long semesterId, @Param("classIds") List<Long> classIds);
 }

+ 3 - 1
src/main/java/com/xjrsoft/module/student/service/impl/StudentReportPlanServiceImpl.java

@@ -123,7 +123,8 @@ public class StudentReportPlanServiceImpl extends MPJBaseServiceImpl<StudentRepo
 
     @Override
     public List<BaseClass> validateClass(Long id, List<Long> classIds) {
-        return this.baseMapper.validateClass(id, classIds);
+        StudentReportPlan plan = this.getById(id);
+        return this.baseMapper.validateClass(id, plan.getSemesterId(), classIds);
     }
 
     /**
@@ -202,6 +203,7 @@ public class StudentReportPlanServiceImpl extends MPJBaseServiceImpl<StudentRepo
                         .eq(teacherId != null, BaseClass::getTeacherId, teacherId)
                         .eq(classId != null, BaseClass::getId, classId)
                         .eq(StudentReportPlan::getEnabledMark, EnabledMark.ENABLED.getCode())
+                        .eq(StudentReportPlan::getStatus, 1)
                         .le(StudentReportPlan::getStartTime, now)
                         .ge(StudentReportPlan::getEndTime, now)
                         .orderByDesc(StudentReportPlan::getId)

+ 22 - 12
src/main/java/com/xjrsoft/module/student/service/impl/StudentReportRecordServiceImpl.java

@@ -2,6 +2,7 @@ package com.xjrsoft.module.student.service.impl;
 
 import cn.dev33.satoken.stp.StpUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.xjrsoft.common.enums.DeleteMark;
@@ -10,6 +11,7 @@ import com.xjrsoft.common.enums.StudentChangeTypeEnum;
 import com.xjrsoft.common.enums.StudyStatusEnum;
 import com.xjrsoft.module.organization.entity.User;
 import com.xjrsoft.module.organization.service.IUserService;
+import com.xjrsoft.module.room.entity.RoomBed;
 import com.xjrsoft.module.student.dto.StudentReportRecordPageDto;
 import com.xjrsoft.module.student.dto.StudentReportRecordStatisticsDto;
 import com.xjrsoft.module.student.dto.StudentReportSignDto;
@@ -80,20 +82,28 @@ public class StudentReportRecordServiceImpl extends MPJBaseServiceImpl<StudentRe
         StudentReportRecord record = this.getById(dto.getId());
         record.setModifyDate(new Date());
         record.setUserId(StpUtil.getLoginIdAsLong());
-        record.setReportTime(new Date());
-        this.updateById(record);
+        if(record.getReportTime() != null){
+            UpdateWrapper<StudentReportRecord> updateWrapper = new UpdateWrapper<>();
+            updateWrapper.eq("id", dto.getId());
+            updateWrapper.setSql("report_time = null");
+            this.update(record, updateWrapper);
+        }else{
+            record.setReportTime(new Date());
+            this.updateById(record);
 
-        BaseStudent student = studentService.getOne(
-                new QueryWrapper<BaseStudent>().lambda()
-                        .eq(BaseStudent::getUserId, record.getUserId())
-                        .eq(BaseStudent::getDeleteMark, DeleteMark.NODELETE.getCode())
-        );
-        student.setIsNormal(1);
-        studentService.updateById(student);
+            BaseStudent student = studentService.getOne(
+                    new QueryWrapper<BaseStudent>().lambda()
+                            .eq(BaseStudent::getUserId, record.getUserId())
+                            .eq(BaseStudent::getDeleteMark, DeleteMark.NODELETE.getCode())
+            );
+            student.setIsNormal(1);
+            studentService.updateById(student);
+
+            User user = userService.getById(record.getUserId());
+            user.setEnabledMark(EnabledMark.ENABLED.getCode());
+            userService.updateById(user);
+        }
 
-        User user = userService.getById(record.getUserId());
-        user.setEnabledMark(EnabledMark.ENABLED.getCode());
-        userService.updateById(user);
         return true;
     }
 

+ 1 - 1
src/main/resources/mapper/student/StudentReportPlanMapper.xml

@@ -26,7 +26,7 @@
         INNER JOIN student_report_plan_class_relation t2 ON t1.id = t2.class_id
         INNER JOIN student_report_plan t3 ON t2.student_report_plan_id = t3.id
         WHERE t3.delete_mark = 0 AND NOW() BETWEEN t3.start_time AND t3.end_time
-        AND t3.id != #{id}
+        AND t3.id != #{id} and t3.semester_id != #{semesterId}
         and t1.id in
         <foreach item="classId" index="index" collection="classIds" open="(" close=")" separator=",">
             #{classId}