zouxuan 5 年之前
父節點
當前提交
937a82cafd

+ 3 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentAttendanceServiceImpl.java

@@ -528,8 +528,8 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 						String courseEndDateTime;
 						for (CourseSchedule e:courseSchedules) {
 							//获取当前课程的单节课时长
-							int signClassMinutes = courseScheduleDao.getSingleClassMinutes(e.getId());
-							totalMinutes -= signClassMinutes;
+//							int signClassMinutes = courseScheduleDao.getSingleClassMinutes(e.getId());
+//							totalMinutes -= signClassMinutes;
 							//补充签到签退时间
 							courseClassDate = DateUtil.format(e.getClassDate(), DateUtil.DEFAULT_PATTERN);
 							courseStartDateTime = DateUtil.format(e.getStartClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
@@ -557,7 +557,7 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 								byStatusAndCourseScheduleId.setCurrentClassTimes(classGroup.getCurrentClassTimes() + 1);
 								studentAttendanceDao.insert(byStatusAndCourseScheduleId);
 							}
-							if(totalMinutes < 0){
+							if(!date.before(endDateTime)){
 								break;
 							}
 						}

+ 11 - 14
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java

@@ -337,22 +337,19 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 						String courseEndDateTime;
 						for (CourseSchedule e:courseSchedules) {
 							//获取当前课程的单节课时长
-							int signClassMinutes = courseScheduleDao.getSingleClassMinutes(e.getId());
-							totalMinutes -= signClassMinutes;
-							if(totalMinutes >= 0){
-								//补充签到签退时间
-								courseClassDate = DateUtil.format(e.getClassDate(), DateUtil.DEFAULT_PATTERN);
-								courseStartDateTime = DateUtil.format(e.getStartClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
-								courseEndDateTime = DateUtil.format(e.getEndClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
-								Date startDateTime = DateUtil.stringToDate(courseClassDate + " " + courseStartDateTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
-								Date endDateTime = DateUtil.stringToDate(courseClassDate + " " + courseEndDateTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
+//							int signClassMinutes = courseScheduleDao.getSingleClassMinutes(e.getId());
+							courseClassDate = DateUtil.format(e.getClassDate(), DateUtil.DEFAULT_PATTERN);
+							courseStartDateTime = DateUtil.format(e.getStartClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
+							courseEndDateTime = DateUtil.format(e.getEndClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
+							Date startDateTime = DateUtil.stringToDate(courseClassDate + " " + courseStartDateTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
+							Date endDateTime = DateUtil.stringToDate(courseClassDate + " " + courseEndDateTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
+							//如果签退时间大于课程结束时间
+							if(date.before(endDateTime)){
 								teacherAttendanceDao.cuntinueCourseSign(e.getId(),startDateTime,endDateTime,1);
+							}else if (date.equals(endDateTime)){
+								teacherAttendanceDao.cuntinueCourseSign(e.getId(),startDateTime,endDateTime,1);
+								break;
 							}else {
-								courseClassDate = DateUtil.format(e.getClassDate(), DateUtil.DEFAULT_PATTERN);
-								courseStartDateTime = DateUtil.format(e.getStartClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
-								courseEndDateTime = DateUtil.format(e.getEndClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
-								Date startDateTime = DateUtil.stringToDate(courseClassDate + " " + courseStartDateTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
-								Date endDateTime = DateUtil.stringToDate(courseClassDate + " " + courseEndDateTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
 								teacherAttendanceDao.cuntinueCourseSign(e.getId(),startDateTime,endDateTime,0);
 								break;
 							}

+ 3 - 1
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -2957,10 +2957,12 @@
     </select>
     <select id="getLastCourse" resultMap="CourseSchedule">
         SELECT cs.* FROM course_schedule cs
+        LEFT JOIN teacher_attendance ta ON cs.id_ = ta.course_schedule_id_ AND ta.teacher_id_ = cs.actual_teacher_id_
+        LEFT JOIN student_attendance sa ON cs.id_ = sa.course_schedule_id_
         WHERE cs.class_group_id_ = #{classGroupId}
         AND TIMESTAMPDIFF(MINUTE, CONCAT(cs.class_date_," ",cs.end_class_time_),#{startTime}) &lt;= #{continueCourseTime}
         AND TIMESTAMPDIFF(MINUTE, CONCAT(cs.class_date_," ",cs.end_class_time_),#{startTime}) >= 0
-        AND cs.actual_teacher_id_ = #{teacherId} AND CONCAT(cs.class_date_," ",cs.end_class_time_) > NOW()
+        AND cs.actual_teacher_id_ = #{teacherId} AND ta.sign_in_time_ IS NOT NULL AND sa.id_ IS NOT NULL
         ORDER BY cs.class_date_ DESC,cs.end_class_time_ DESC
         LIMIT 1
     </select>

+ 17 - 0
mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java

@@ -245,6 +245,23 @@ public class RoomServiceImpl implements RoomService {
         log.info("roomSignIn: roomId={}, userId={}", roomId, userId);
         Teacher teacher = teacherDao.get(Integer.parseInt(userId));
         CourseSchedule courseSchedule = courseScheduleDao.get(roomId);
+
+        String continueCourseTime = sysConfigDao.findConfigValue(SysConfigService.ONLINE_CONTINUE_COURSE_TIME);
+        if(StringUtils.isEmpty(continueCourseTime)){
+            continueCourseTime = "3";
+        }
+        CourseSchedule schedule = courseSchedule;
+        //如果当前课程是连堂课,那么获取第一节课的课程编号
+        while (true){
+            String classDate = DateUtil.format(schedule.getClassDate(), DateUtil.DEFAULT_PATTERN);
+            String startClassTime = DateUtil.format(schedule.getStartClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
+            schedule = courseScheduleDao.getLastCourse(schedule.getClassGroupId(),classDate + " " + startClassTime,schedule.getActualTeacherId(),continueCourseTime);
+            if(schedule != null){
+                roomId = schedule.getId();
+            }else {
+                break;
+            }
+        }
         try {
             if(teacher != null && teacher.getId().equals(courseSchedule.getActualTeacherId())){
                 teacherAttendanceService.addTeacherAttendanceRecord(roomId.intValue(),courseSchedule.getActualTeacherId(), SignStatusEnum.SIGN_IN,true);

+ 7 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherSalaryComplaintsController.java

@@ -4,6 +4,7 @@ import com.ym.mec.biz.dal.entity.TeacherSalaryComplaints;
 import com.ym.mec.biz.dal.page.TeacherSalaryModifyQueryInfo;
 import com.ym.mec.biz.service.TeacherSalaryComplaintsService;
 import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.page.QueryInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -19,6 +20,12 @@ public class TeacherSalaryComplaintsController extends BaseController {
     @Autowired
     private TeacherSalaryComplaintsService teacherSalaryComplaintsService;
 
+    @ApiOperation(value = "申述列表")
+    @RequestMapping("/queryPage")
+    public Object queryPage(QueryInfo queryInfo){
+        return succeed(teacherSalaryComplaintsService.queryPage(queryInfo));
+    }
+
     @ApiOperation(value = "课酬申述")
     @RequestMapping("/add")
     public Object add(TeacherSalaryComplaints complaints){

+ 2 - 2
mec-web/src/main/java/com/ym/mec/web/controller/TeacherSalaryModifyLogController.java

@@ -11,14 +11,14 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 @RequestMapping("teacherSalaryModifyLog")
-@Api(tags = "班级服务")
+@Api(tags = "教师课酬调整")
 @RestController
 public class TeacherSalaryModifyLogController extends BaseController {
 
     @Autowired
     private TeacherSalaryModifyLogService teacherSalaryModifyLogService;
 
-    @ApiOperation(value = "终极班级信息获取")
+    @ApiOperation(value = "调整课酬")
     @RequestMapping("/add")
     @PreAuthorize("@pcs.hasPermissions('teacherSalaryModifyLog/add')")
     public Object add(TeacherSalaryModifyLog modifyLog){