Parcourir la source

开学报到导出调整

dzx il y a 9 mois
Parent
commit
d86d04c2d8

+ 3 - 2
src/main/java/com/xjrsoft/module/student/entity/StudentReportPlan.java

@@ -11,6 +11,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.io.Serializable;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.util.Date;
 import java.util.List;
@@ -96,12 +97,12 @@ public class StudentReportPlan implements Serializable {
     * 数据修改开始时间
     */
     @ApiModelProperty("数据修改开始时间")
-    private Date updateStartTime;
+    private LocalDate updateStartTime;
     /**
     * 数据修改结束时间
     */
     @ApiModelProperty("数据修改结束时间")
-    private Date updateEndTime;
+    private LocalDate updateEndTime;
     /**
     * 状态(0:草稿 1:进行中 2:已结束)
     */

+ 13 - 0
src/main/java/com/xjrsoft/module/student/service/impl/StudentReportRecordServiceImpl.java

@@ -9,6 +9,7 @@ import com.xjrsoft.common.enums.DeleteMark;
 import com.xjrsoft.common.enums.EnabledMark;
 import com.xjrsoft.common.enums.StudentChangeTypeEnum;
 import com.xjrsoft.common.enums.StudyStatusEnum;
+import com.xjrsoft.common.exception.MyException;
 import com.xjrsoft.module.organization.entity.User;
 import com.xjrsoft.module.organization.service.IUserService;
 import com.xjrsoft.module.student.dto.StudentReportRecordPageDto;
@@ -16,11 +17,13 @@ import com.xjrsoft.module.student.dto.StudentReportRecordStatisticsDto;
 import com.xjrsoft.module.student.dto.StudentReportSignDto;
 import com.xjrsoft.module.student.entity.BaseStudent;
 import com.xjrsoft.module.student.entity.BaseStudentSchoolRoll;
+import com.xjrsoft.module.student.entity.StudentReportPlan;
 import com.xjrsoft.module.student.entity.StudentReportRecord;
 import com.xjrsoft.module.student.mapper.StudentReportRecordMapper;
 import com.xjrsoft.module.student.service.IBaseStudentSchoolRollService;
 import com.xjrsoft.module.student.service.IBaseStudentService;
 import com.xjrsoft.module.student.service.IStudentChangeRecordService;
+import com.xjrsoft.module.student.service.IStudentReportPlanService;
 import com.xjrsoft.module.student.service.IStudentReportRecordService;
 import com.xjrsoft.module.student.vo.StudentReportRecordPageVo;
 import com.xjrsoft.module.student.vo.StudentReportRecordPlanPageVo;
@@ -30,6 +33,8 @@ import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.time.LocalDate;
+import java.time.LocalDateTime;
 import java.util.Date;
 import java.util.List;
 
@@ -47,6 +52,7 @@ public class StudentReportRecordServiceImpl extends MPJBaseServiceImpl<StudentRe
     private final IUserService userService;
     private final IBaseStudentSchoolRollService rollService;
     private final IStudentChangeRecordService changeRecordService;
+    private final IStudentReportPlanService planService;
     @Override
     public StudentReportRecordStatisticsVo getClassStatistics(StudentReportRecordStatisticsDto dto) {
         return this.baseMapper.getClassStatistics(dto);
@@ -154,7 +160,14 @@ public class StudentReportRecordServiceImpl extends MPJBaseServiceImpl<StudentRe
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean updateStduyStatus(StudentReportSignDto dto) {
+        LocalDate now = LocalDate.now();
         StudentReportRecord record = this.getById(dto.getId());
+        StudentReportPlan reportPlan = planService.getById(record.getStudentReportPlanId());
+        if(!(now.isAfter(reportPlan.getUpdateStartTime()) && now.isBefore(reportPlan.getUpdateEndTime())) || !now.equals(reportPlan.getUpdateStartTime()) || !now.equals(reportPlan.getUpdateEndTime())){
+            throw new MyException("不在修改时间内,无法修改");
+        }
+
+
         BaseStudentSchoolRoll roll = rollService.getOne(
                 new QueryWrapper<BaseStudentSchoolRoll>().lambda()
                         .eq(BaseStudentSchoolRoll::getUserId, record.getUserId())