zouxuan 5 years ago
parent
commit
86db8f18db

+ 2 - 18
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseScheduleDto.java

@@ -35,12 +35,12 @@ public class CourseScheduleDto extends CourseSchedule {
     @ApiModelProperty(value = "班级编号,房间号",required = false)
     private String sealClassId;
 
-    @ApiModelProperty(value = "签到状态(1正常,0异常,3未签到)",required = false)
+    /*@ApiModelProperty(value = "签到状态(1正常,0异常,3未签到)",required = false)
     private Integer signInStatus;
 
     @ApiModelProperty(value = "签退状态(11正常,0异常,3未签到)",required = false)
     private Integer signOutStatus;
-
+*/
     @ApiModelProperty(value = "教师角色")
     private TeachTypeEnum teacherRole;
 
@@ -211,22 +211,6 @@ public class CourseScheduleDto extends CourseSchedule {
         this.totalStudentNum = totalStudentNum;
     }
 
-    public Integer getSignInStatus() {
-        return signInStatus;
-    }
-
-    public void setSignInStatus(Integer signInStatus) {
-        this.signInStatus = signInStatus;
-    }
-
-    public Integer getSignOutStatus() {
-        return signOutStatus;
-    }
-
-    public void setSignOutStatus(Integer signOutStatus) {
-        this.signOutStatus = signOutStatus;
-    }
-
     public String getSealClassId() {
         return sealClassId;
     }

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/MessageTypeEnum.java

@@ -91,6 +91,7 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     TEACHER_PUSH_NAMES_MESSAGE("TEACHER_PUSH_NAMES_MESSAGE", "点名提醒"),
     TEACHER_PUSH_SIGN_OUT_MESSAGE("TEACHER_PUSH_SIGN_OUT_MESSAGE", "签退提醒"),
     TEACHER_PUSH_JOB_WAIT_REPLY("TEACHER_PUSH_JOB_WAIT_REPLY", "作业待回复"),
+    TEACHER_ATTENDANCE_COMPLAINTS_RESULT("TEACHER_ATTENDANCE_COMPLAINTS_RESULT", "考勤申述结果"),
     TEACHER_PUSH_SUBSTITUTE_PLAN("TEACHER_PUSH_SUBSTITUTE_PLAN", "代课安排"),
     TEACHER_PUSH_LEAVE_RESULT("TEACHER_PUSH_LEAVE_RESULT", "请假结果"),
     TEACHER_PUSH_COURSE_SCHEDULE_CHANGE_RESULT("TEACHER_PUSH_COURSE_SCHEDULE_CHANGE_RESULT", "课时调整结果"),

+ 14 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/TeacherAttendanceService.java

@@ -159,4 +159,18 @@ public interface TeacherAttendanceService extends BaseService<Long, TeacherAtten
 	 * @param queryInfo
 	 */
 	PageInfo<TeacherAttendanceComplaintsDto> queryTeacherAttendanceComplaints(TeacherAttendanceComplaintsQueryInfo queryInfo);
+
+	/**
+	 * 同意异常考勤申述
+	 * @param signInStatus
+	 * @param signOutStatus
+	 * @param teacherAttendanceId
+	 */
+	void agreeTeacherAttendanceComplaints(Integer signInStatus, Integer signOutStatus, long teacherAttendanceId,String content);
+
+	/**
+	 * 拒绝教师课酬申述
+	 * @param teacherAttendanceId
+	 */
+	void rejectTeacherAttendanceComplaints(long teacherAttendanceId,String content);
 }

+ 59 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java

@@ -671,4 +671,63 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		pageInfo.setRows(dataList);
 		return pageInfo;
 	}
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void agreeTeacherAttendanceComplaints(Integer signInStatus, Integer signOutStatus, long teacherAttendanceId,String content) {
+		SysUser user = sysUserFeignService.queryUserInfo();
+		if(Objects.isNull(user)){
+			throw new BizException("请登录");
+		}
+		TeacherAttendance teacherAttendance = teacherAttendanceDao.get(teacherAttendanceId);
+		if(teacherAttendance == null){
+			throw new BizException("考勤信息不存在");
+		}
+		if(teacherAttendance.getComplaintsStatus() == ComplaintsStatusEnum.WAIT){
+			if(signInStatus != null){
+				teacherAttendance.setSignInStatus(YesOrNoEnum.YES);
+			}
+			if(signOutStatus != null){
+				teacherAttendance.setSignOutStatus(YesOrNoEnum.YES);
+			}
+			teacherAttendance.setDisposeContent(content);
+			teacherAttendance.setOperator(user.getId());
+			teacherAttendance.setComplaintsStatus(ComplaintsStatusEnum.PASS);
+			teacherAttendanceDao.update(teacherAttendance);
+			CourseSchedule courseSchedule = courseScheduleDao.get(teacherAttendance.getCourseScheduleId());
+			String format = DateUtil.format(courseSchedule.getClassDate(), DateUtil.DEFAULT_PATTERN);
+			Map<Integer, String> receivers = new HashMap<>(1);
+			receivers.put(user.getId(),user.getId().toString());
+			sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_JOB_WAIT_REPLY, receivers, null, 0, null, "TEACHER",
+					format,courseSchedule.getName(),"通过");
+		}else {
+			throw new BizException("操作失败: 当前申述状态不允许该操作");
+		}
+	}
+
+	@Override
+	public void rejectTeacherAttendanceComplaints(long teacherAttendanceId,String content) {
+		SysUser user = sysUserFeignService.queryUserInfo();
+		if(Objects.isNull(user)){
+			throw new BizException("请登录");
+		}
+		TeacherAttendance teacherAttendance = teacherAttendanceDao.get(teacherAttendanceId);
+		if(teacherAttendance == null){
+			throw new BizException("考勤信息不存在");
+		}
+		if(teacherAttendance.getComplaintsStatus() == ComplaintsStatusEnum.WAIT){
+			teacherAttendance.setDisposeContent(content);
+			teacherAttendance.setOperator(user.getId());
+			teacherAttendance.setComplaintsStatus(ComplaintsStatusEnum.REJECT);
+			teacherAttendanceDao.update(teacherAttendance);
+			CourseSchedule courseSchedule = courseScheduleDao.get(teacherAttendance.getCourseScheduleId());
+			String format = DateUtil.format(courseSchedule.getClassDate(), DateUtil.DEFAULT_PATTERN);
+			Map<Integer, String> receivers = new HashMap<>(1);
+			receivers.put(user.getId(),user.getId().toString());
+			sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_JOB_WAIT_REPLY, receivers, null, 0, null, "TEACHER",
+					format,courseSchedule.getName(),"拒绝");
+		}else {
+			throw new BizException("操作失败: 当前申述状态不允许该操作");
+		}
+	}
 }

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

@@ -53,8 +53,8 @@
         <result column="name_" property="classGroupName"/>
         <result column="type_" property="type" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="school_name_" property="schoolName"/>
-        <result column="sign_in_status_" property="signInStatus"/>
-        <result column="sign_out_status_" property="signOutStatus"/>
+        <result column="sign_in_status_" property="signInStatusEnum" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="sign_out_status_" property="signOutStatusEnum" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="sign_in_time_" property="signInTime"/>
         <result column="sign_out_time_" property="signOutTime"/>
         <result column="is_complaints_" property="isComplaints"/>

+ 3 - 0
mec-task/src/main/java/com/ym/mec/task/jobs/PushTeacherExceptionAttendanceTask.java

@@ -6,6 +6,9 @@ import com.ym.mec.task.core.TaskException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+/**
+ * 教师异常考勤推送
+ */
 @Service
 public class PushTeacherExceptionAttendanceTask extends BaseTask {
 

+ 6 - 4
mec-web/src/main/java/com/ym/mec/web/controller/TeacherAttendanceController.java

@@ -97,14 +97,16 @@ public class TeacherAttendanceController extends BaseController {
     @ApiOperation(value = "同意教师课酬申述")
     @PostMapping("/agreeTeacherAttendanceComplaints")
     @PreAuthorize("@pcs.hasPermissions('teacherAttendance/agreeTeacherAttendanceComplaints')")
-    public Object agreeTeacherAttendanceComplaints(TeacherAttendanceComplaintsQueryInfo queryInfo){
-        return succeed(teacherAttendanceService.queryTeacherAttendanceComplaints(queryInfo));
+    public Object agreeTeacherAttendanceComplaints(Integer signInStatus,Integer signOutStatus,long teacherAttendanceId,String content){
+        teacherAttendanceService.agreeTeacherAttendanceComplaints(signInStatus,signOutStatus,teacherAttendanceId,content);
+        return succeed();
     }
 
     @ApiOperation(value = "拒绝教师课酬申述")
     @PostMapping("/rejectTeacherAttendanceComplaints")
     @PreAuthorize("@pcs.hasPermissions('teacherAttendance/rejectTeacherAttendanceComplaints')")
-    public Object rejectTeacherAttendanceComplaints(TeacherAttendanceComplaintsQueryInfo queryInfo){
-        return succeed(teacherAttendanceService.queryTeacherAttendanceComplaints(queryInfo));
+    public Object rejectTeacherAttendanceComplaints(long teacherAttendanceId,String content){
+        teacherAttendanceService.rejectTeacherAttendanceComplaints(teacherAttendanceId,content);
+        return succeed();
     }
 }