liujc 2 年之前
父節點
當前提交
bd5164e18c

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherAttendanceDao.java

@@ -282,7 +282,7 @@ public interface TeacherAttendanceDao extends BaseDAO<Long, TeacherAttendance> {
 	* @author zx
 	* @date 2023/5/10 11:55
 	*/
-    List<TeacherAttendanceListDto> getClassTeacherAttendance(@Param("classGroupId") Integer classGroupId, @Param("teacherId") Integer teacherId);
+    List<TeacherAttendanceListDto> getClassTeacherAttendance(@Param("query") TeacherAttendanceWrapper.ClassTeacherAttendanceQuery query);
 
 	/**
 	* @description: 获取课程关联的老师考勤

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/school/dto/TeacherAttendanceDto.java

@@ -23,10 +23,10 @@ public class TeacherAttendanceDto {
     private Date signOutTime;
 
     @ApiModelProperty(value = "教学点签到状态")
-    private Boolean signInAddressStatus = false;
+    private Boolean signInAddressStatus = true;
 
     @ApiModelProperty(value = "教学点签退状态")
-    private Boolean signOutAddressStatus = false;
+    private Boolean signOutAddressStatus = true;
 
     @ApiModelProperty(value = "签到经纬度")
     private String signInLongitudeLatitude;

+ 16 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/TeacherAttendanceWrapper.java

@@ -1,7 +1,9 @@
 package com.ym.mec.biz.dal.wrapper;
 
+import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.enums.CourseStatusEnum;
 import com.ym.mec.biz.dal.enums.TeachModeEnum;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 public class TeacherAttendanceWrapper {
@@ -26,4 +28,18 @@ public class TeacherAttendanceWrapper {
 
         private TeachModeEnum teachMode;
     }
+
+    @Data
+    public static class ClassTeacherAttendanceQuery{
+        private String courseType;
+
+        @ApiModelProperty("班级编号")
+        private Integer classGroupId;
+
+        @ApiModelProperty("老师编号")
+        private Integer teacherId;
+
+        @ApiModelProperty("考勤状态")
+        private Boolean signStatus;
+    }
 }

+ 2 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/TeacherAttendanceService.java

@@ -14,6 +14,7 @@ import com.ym.mec.biz.dal.school.dto.TeacherAttendanceDto;
 import com.ym.mec.biz.dal.school.dto.TeacherAttendanceListDto;
 import com.ym.mec.biz.dal.school.dto.TeacherAttendanceSumDto;
 import com.ym.mec.biz.dal.school.page.TeacherAttendanceQueryInfo;
+import com.ym.mec.biz.dal.wrapper.TeacherAttendanceWrapper;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 
@@ -176,13 +177,11 @@ public interface TeacherAttendanceService extends BaseService<Long, TeacherAtten
 
 	/**
 	* @description: 获取本学期当前班级老师所有课程考勤
-	 * @param classGroupId
-	 * @param teacherId
 	* @return java.util.List<com.ym.mec.biz.dal.school.dto.TeacherAttendanceListDto>
 	* @author zx
 	* @date 2023/5/5 09:54
 	*/
-	List<TeacherAttendanceListDto> getClassTeacherAttendance(Integer classGroupId, Integer teacherId);
+	List<TeacherAttendanceListDto> getClassTeacherAttendance(TeacherAttendanceWrapper.ClassTeacherAttendanceQuery query);
 
 	/**
 	* @description: 获取课程老师考勤

+ 10 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java

@@ -1261,8 +1261,8 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
     }
 
 	@Override
-	public List<TeacherAttendanceListDto> getClassTeacherAttendance(Integer classGroupId, Integer teacherId) {
-		List<TeacherAttendanceListDto> attendanceDtos = teacherAttendanceDao.getClassTeacherAttendance(classGroupId,teacherId);
+	public List<TeacherAttendanceListDto> getClassTeacherAttendance(TeacherAttendanceWrapper.ClassTeacherAttendanceQuery query) {
+		List<TeacherAttendanceListDto> attendanceDtos = teacherAttendanceDao.getClassTeacherAttendance(query);
 		Integer tenantId = TenantContextHolder.getTenantId();
 		//计算考勤范围
 		//定位范围
@@ -1280,6 +1280,14 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 					}
 				}
 			}
+			if(query.getSignStatus() != null){
+				if(query.getSignStatus()){
+					attendanceDtos = attendanceDtos.stream().filter(e->e.getSignInStatus() && e.getSignOutStatus() && e.getSignInAddressStatus() && e.getSignOutAddressStatus()).collect(Collectors.toList());
+				}else {
+					attendanceDtos = attendanceDtos.stream().filter(e->!e.getSignInStatus() || !e.getSignOutStatus() || !e.getSignInAddressStatus() || !e.getSignOutAddressStatus()).collect(Collectors.toList());
+				}
+			}
+
 		}
 		return attendanceDtos;
 	}

+ 15 - 11
mec-biz/src/main/resources/config/mybatis/TeacherAttendanceMapper.xml

@@ -666,17 +666,6 @@
         <include refid="queryTeacherAttendanceSql"/>
         group by cs.actual_teacher_id_
     </select>
-    <select id="getClassTeacherAttendance" resultType="com.ym.mec.biz.dal.school.dto.TeacherAttendanceListDto">
-        select cs.type_ courseScheduleType,CONCAT(cs.class_date_,' ',cs.start_class_time_,'~',cs.end_class_time_) classDate,
-               ta.sign_in_time_ signInTime,ta.sign_in_status_ signInStatus,ta.sign_in_longitude_latitude_ signInLongitudeLatitude,
-               ta.sign_out_time_ signOutTime,ta.sign_out_status_ signOutStatus,ta.sign_out_longitude_latitude_ signOutLongitudeLatitude,
-               s.longitude_latitude_ schoolLongitudeLatitude,cs.teach_mode_ teachMode
-        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 school s ON s.id_ = cs.schoole_id_
-        where cs.class_group_id_ = #{classGroupId} and cs.actual_teacher_id_ = #{teacherId} AND CONCAT(cs.class_date_,' ',cs.start_class_time_) &lt; NOW()
-        AND cs.is_lock_ = 0 AND cs.del_flag_ = 0 AND cs.pre_course_flag_ = 0 AND cs.new_course_id_ IS NULL
-    </select>
     <select id="getCourseTeacherAttendance" resultType="com.ym.mec.biz.dal.school.dto.TeacherAttendanceDto">
         select ta.sign_in_time_ signInTime,ta.sign_in_status_ signInStatus,ta.sign_in_longitude_latitude_ signInLongitudeLatitude,
                ta.sign_out_time_ signOutTime,ta.sign_out_status_ signOutStatus,ta.sign_out_longitude_latitude_ signOutLongitudeLatitude,
@@ -690,6 +679,21 @@
     	UPDATE teacher_attendance SET sign_out_status_ = 1,sign_out_time_= now()
     	WHERE FIND_IN_SET(course_schedule_id_,#{courseScheduleIdList}) AND sign_in_status_ = 1
     </update>
+    <select id="getClassTeacherAttendance" resultType="com.ym.mec.biz.dal.school.dto.TeacherAttendanceListDto">
+        select cs.type_ courseScheduleType,CONCAT(cs.class_date_,' ',cs.start_class_time_,'~',cs.end_class_time_) classDate,
+        ta.sign_in_time_ signInTime,ta.sign_in_status_ signInStatus,ta.sign_in_longitude_latitude_ signInLongitudeLatitude,
+        ta.sign_out_time_ signOutTime,ta.sign_out_status_ signOutStatus,ta.sign_out_longitude_latitude_ signOutLongitudeLatitude,
+        s.longitude_latitude_ schoolLongitudeLatitude,cs.teach_mode_ teachMode
+        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 school s ON s.id_ = cs.schoole_id_
+        where cs.class_group_id_ = #{query.classGroupId} and cs.actual_teacher_id_ = #{query.teacherId}
+        AND CONCAT(cs.class_date_,' ',cs.start_class_time_) &lt; NOW()
+        <if test="query.courseType != null and query.courseType != ''">
+            AND cs.type_ = #{query.courseType}
+        </if>
+        AND cs.is_lock_ = 0 AND cs.del_flag_ = 0 AND cs.pre_course_flag_ = 0 AND cs.new_course_id_ IS NULL
+    </select>
     <update id="cleanCourseTeacherSignInfo">
         UPDATE teacher_attendance
         SET sign_in_time_ = NULL,sign_in_status_=NULL,sign_out_status_ = NULL,sign_out_time_= NULL

+ 4 - 1
mec-student/src/main/java/com/ym/mec/student/controller/MusicGroupController.java

@@ -212,7 +212,10 @@ public class MusicGroupController extends BaseController {
         musicGroupQuit.setReasonEnum(reasonEnum);
 		musicGroupQuit.setStatus(ApprovalStatus.PROCESSING);
         musicGroupQuit.setOperatorId(userId);
-        musicGroupQuit.setSchoolStaffAuditStatus(EQuitGroupAuditStatusEnum.ING);
+        MusicGroup musicGroup = musicGroupService.get(musicGroupId);
+        if(musicGroup.getStatus() == MusicGroupStatusEnum.PROGRESS){
+            musicGroupQuit.setSchoolStaffAuditStatus(EQuitGroupAuditStatusEnum.ING);
+        }
         return succeed(musicGroupService.applyQuitMusicGroup(null, musicGroupQuit,"STUDENT"));
     }
 

+ 4 - 7
mec-web/src/main/java/com/ym/mec/web/controller/school/SchoolTeacherAttendanceController.java

@@ -5,6 +5,7 @@ import com.ym.mec.biz.dal.school.dto.TeacherAttendanceListDto;
 import com.ym.mec.biz.dal.school.dto.TeacherAttendanceSumDto;
 import com.ym.mec.biz.dal.school.page.TeacherAttendanceQueryDto;
 import com.ym.mec.biz.dal.school.page.TeacherAttendanceQueryInfo;
+import com.ym.mec.biz.dal.wrapper.TeacherAttendanceWrapper;
 import com.ym.mec.biz.service.TeacherAttendanceService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
@@ -57,13 +58,9 @@ public class SchoolTeacherAttendanceController extends BaseController {
     }
 
 
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "classGroupId", dataType = "Integer", required = true, value = "班级编号"),
-            @ApiImplicitParam(name = "teacherId", dataType = "Integer", required = true, value = "老师编号"),
-    })
     @ApiOperation(value = "获取单个老师所在班级考勤列表----获取本学期当前班级老师所有课程考勤")
-    @GetMapping("/getClassTeacherAttendance")
-    public HttpResponseResult<List<TeacherAttendanceListDto>> getClassTeacherAttendance(Integer classGroupId, Integer teacherId) {
-        return succeed(teacherAttendanceService.getClassTeacherAttendance(classGroupId,teacherId));
+    @PostMapping("/getClassTeacherAttendance")
+    public HttpResponseResult<List<TeacherAttendanceListDto>> getClassTeacherAttendance(@RequestBody TeacherAttendanceWrapper.ClassTeacherAttendanceQuery query) {
+        return succeed(teacherAttendanceService.getClassTeacherAttendance(query));
     }
 }