浏览代码

老师考勤申诉新增签到签退选择

zouxuan 4 年之前
父节点
当前提交
00eb85ce40

+ 21 - 10
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TeacherAttendance.java

@@ -16,21 +16,21 @@ public class TeacherAttendance {
 
 	/**  */
 	private Long id;
-	
+
 	private GroupType groupType;
-	
+
 	/**  */
 	@ApiModelProperty(value = "教师编号",required = false)
 	private Integer teacherId;
-	
+
 	/**  */
 	@ApiModelProperty(value = "乐团编号",required = false)
 	private String musicGroupId;
-	
+
 	/**  */
 	@ApiModelProperty(value = "班级编号",required = false)
 	private Integer classGroupId;
-	
+
 	/**  */
 	@ApiModelProperty(value = "课程计划编号",required = false)
 	private Long courseScheduleId;
@@ -38,11 +38,11 @@ public class TeacherAttendance {
 	/**  */
 	@ApiModelProperty(value = "实际教室编号",required = false)
 	private Long currentScheduleId;
-	
+
 	/** 签到时间 */
 	@ApiModelProperty(value = "签到时间",required = false)
 	private java.util.Date signInTime;
-	
+
 	@ApiModelProperty(value = "状态(0:签到,1:签退)",required = false)
 	private Integer status;
 
@@ -57,11 +57,11 @@ public class TeacherAttendance {
 
 	@ApiModelProperty(value = "当前课次")
 	private Integer currentClassTimes;
-	
+
 	/** 备注 */
 	@ApiModelProperty(value = "备注",required = false)
 	private String remark;
-	
+
 	/**  */
 	private java.util.Date createTime;
 
@@ -81,9 +81,12 @@ public class TeacherAttendance {
 	//申述状态0拒绝1通过2待处理3已撤销
 	private ComplaintsStatusEnum complaintsStatus;
 
-	//申述状态0拒绝1通过2待处理3已撤销
+	//修复考勤方式  SIGN_IN签到,SIGN_OUT签退,ALL所有
 	private UpdateAttendanceEnum updateAttendanceEnum;
 
+	//申诉考勤的方式  SIGN_IN签到,SIGN_OUT签退,ALL所有
+	private UpdateAttendanceEnum complaintsType;
+
 	//申述内容
 	private String complaintsContent;
 
@@ -110,6 +113,14 @@ public class TeacherAttendance {
 
 	private String deviceNum;
 
+	public UpdateAttendanceEnum getComplaintsType() {
+		return complaintsType;
+	}
+
+	public void setComplaintsType(UpdateAttendanceEnum complaintsType) {
+		this.complaintsType = complaintsType;
+	}
+
 	public String getDeviceNum() {
 		return deviceNum;
 	}

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

@@ -160,7 +160,7 @@ public interface TeacherAttendanceService extends BaseService<Long, TeacherAtten
 	 * @param courseScheduleId
 	 * @param content
 	 */
-	void addComplaints(Long courseScheduleId, String content,String url,Integer userId);
+	void addComplaints(Long courseScheduleId, String content,String url,Integer userId, UpdateAttendanceEnum complaintsType);
 
 	/**
 	 * 撤销考勤申述
@@ -176,11 +176,9 @@ public interface TeacherAttendanceService extends BaseService<Long, TeacherAtten
 
 	/**
 	 * 同意异常考勤申述
-	 * @param signInStatus
-	 * @param signOutStatus
 	 * @param teacherAttendanceId
 	 */
-	void agreeTeacherAttendanceComplaints(Integer signInStatus, Integer signOutStatus, long teacherAttendanceId,String content);
+	void agreeTeacherAttendanceComplaints(long teacherAttendanceId,String content);
 
 	/**
 	 * 拒绝教师课酬申述

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

@@ -734,7 +734,7 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public void addComplaints(Long courseScheduleId, String content,String url,Integer userId) {
+	public void addComplaints(Long courseScheduleId, String content,String url,Integer userId, UpdateAttendanceEnum complaintsType) {
 		TeacherAttendance teacherAttendance = teacherAttendanceDao.findByTeacherAttendanceInfo(userId.longValue(), courseScheduleId);
 		CourseSchedule courseSchedule = courseScheduleDao.get(courseScheduleId);
 		if(courseSchedule == null){
@@ -751,6 +751,9 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		}else if(teacherAttendance.getComplaintsStatus() != null && teacherAttendance.getComplaintsStatus() != REPEAL){
             throw new BizException("请勿重复提交考勤申述");
         }
+		if(teacherAttendance.getSignInStatus() == YesOrNoEnum.YES && teacherAttendance.getSignOutStatus() == YesOrNoEnum.YES){
+			throw new BizException("考勤正常,无需提交申诉");
+		}
 		Teacher teacher = teacherDao.get(userId);
 		Date date = new Date();
 		if(teacher.getJobNature() == PART_TIME){
@@ -767,6 +770,10 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 				throw new BizException("超出可申述时间");
 			}
 		}
+		if(complaintsType == null){
+			complaintsType = UpdateAttendanceEnum.ALL;
+		}
+		teacherAttendance.setComplaintsType(complaintsType);
 		teacherAttendance.setIsComplaints(1);
 		teacherAttendance.setComplaintsStatus(ComplaintsStatusEnum.WAIT);
 		teacherAttendance.setComplaintsContent(content);
@@ -784,6 +791,7 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		}
 		if(teacherAttendance.getComplaintsStatus() == ComplaintsStatusEnum.WAIT){
 			teacherAttendance.setComplaintsStatus(REPEAL);
+			teacherAttendance.setIsComplaints(0);
 			teacherAttendanceDao.update(teacherAttendance);
 		}else {
 			throw new BizException("操作失败: 当前申述状态不允许撤销");
@@ -811,23 +819,18 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public void agreeTeacherAttendanceComplaints(Integer signInStatus, Integer signOutStatus, long teacherAttendanceId,String content) {
+	public void agreeTeacherAttendanceComplaints(long teacherAttendanceId,String content) {
 		TeacherAttendance teacherAttendance = teacherAttendanceDao.get(teacherAttendanceId);
 		if(teacherAttendance == null){
 			throw new BizException("考勤信息不存在");
 		}
+		UpdateAttendanceEnum complaintsType = teacherAttendance.getComplaintsType();
 		if(teacherAttendance.getComplaintsStatus() == ComplaintsStatusEnum.WAIT){
-			if(signInStatus != null && signOutStatus != null){
-				teacherAttendance.setUpdateAttendanceEnum(UpdateAttendanceEnum.ALL);
-			}else if (signInStatus != null){
-				teacherAttendance.setUpdateAttendanceEnum(UpdateAttendanceEnum.SIGN_IN);
-			}else if (signOutStatus != null){
-				teacherAttendance.setUpdateAttendanceEnum(UpdateAttendanceEnum.SIGN_OUT);
-			}
+			teacherAttendance.setUpdateAttendanceEnum(complaintsType);
 			StringBuffer remark = new StringBuffer("同意异常考勤申述");
 			CourseSchedule courseSchedule = courseScheduleDao.get(teacherAttendance.getCourseScheduleId());
 			String classDate = DateUtil.format(courseSchedule.getClassDate(), DateUtil.DEFAULT_PATTERN);
-			if(signInStatus != null && teacherAttendance.getSignInStatus() != YesOrNoEnum.YES){
+			if(complaintsType != UpdateAttendanceEnum.SIGN_OUT && teacherAttendance.getSignInStatus() != YesOrNoEnum.YES){
 				if(teacherAttendance.getSignInTime() != null){
 					remark.append("  原签到时间: ").append(DateUtil.format(teacherAttendance.getSignInTime(),DateUtil.EXPANDED_DATE_TIME_FORMAT));
 				}
@@ -836,7 +839,7 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 				teacherAttendance.setSignInTime(DateUtil.addMinutes(date,-1));
 				teacherAttendance.setSignInStatus(YesOrNoEnum.YES);
 			}
-			if(signOutStatus != null && teacherAttendance.getSignOutStatus() != YesOrNoEnum.YES){
+			if(complaintsType != UpdateAttendanceEnum.SIGN_IN && teacherAttendance.getSignOutStatus() != YesOrNoEnum.YES){
 				if(teacherAttendance.getSignOutTime() != null){
 					remark.append("  原签退时间: ").append(DateUtil.format(teacherAttendance.getSignOutTime(),DateUtil.EXPANDED_DATE_TIME_FORMAT));
 				}

+ 3 - 2
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherAttendanceController.java

@@ -8,6 +8,7 @@ import com.ym.mec.biz.dal.dto.TeacherSignOutDto;
 import com.ym.mec.biz.dal.entity.StudentAttendance;
 import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 import com.ym.mec.biz.dal.enums.StudentAttendanceStatusEnum;
+import com.ym.mec.biz.dal.enums.UpdateAttendanceEnum;
 import com.ym.mec.biz.dal.page.TeacherAttendanceQueryInfo;
 import com.ym.mec.biz.service.ClassGroupService;
 import com.ym.mec.biz.service.StudentAttendanceService;
@@ -116,12 +117,12 @@ public class TeacherAttendanceController extends BaseController {
 
     @ApiOperation(value = "提交考勤申述")
     @PostMapping("/addComplaints")
-    public Object addComplaints(Long courseScheduleId,String content,String url){
+    public Object addComplaints(Long courseScheduleId, String content, String url, UpdateAttendanceEnum complaintsType){
         SysUser user = sysUserFeignService.queryUserInfo();
         if(Objects.isNull(user)){
             throw new BizException("请登录");
         }
-        teacherAttendanceService.addComplaints(courseScheduleId,content,url,user.getId());
+        teacherAttendanceService.addComplaints(courseScheduleId,content,url,user.getId(),complaintsType);
         return succeed();
     }
 

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

@@ -1,5 +1,6 @@
 package com.ym.mec.web.controller;
 
+import com.ym.mec.biz.dal.enums.UpdateAttendanceEnum;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 
@@ -122,8 +123,8 @@ public class TeacherAttendanceController extends BaseController {
     @ApiOperation(value = "同意教师异常考勤申述")
     @PostMapping("/agreeTeacherAttendanceComplaints")
     @PreAuthorize("@pcs.hasPermissions('teacherAttendance/agreeTeacherAttendanceComplaints')")
-    public Object agreeTeacherAttendanceComplaints(Integer signInStatus, Integer signOutStatus, long teacherAttendanceId, String content){
-        teacherAttendanceService.agreeTeacherAttendanceComplaints(signInStatus,signOutStatus,teacherAttendanceId,content);
+    public Object agreeTeacherAttendanceComplaints(long teacherAttendanceId, String content){
+        teacherAttendanceService.agreeTeacherAttendanceComplaints(teacherAttendanceId,content);
         return succeed();
     }
 
@@ -138,8 +139,8 @@ public class TeacherAttendanceController extends BaseController {
     @ApiOperation(value = "提交考勤申述")
     @PostMapping("/addComplaints")
     @PreAuthorize("@pcs.hasPermissions('teacherAttendance/addComplaints')")
-    public Object addComplaints(Long courseScheduleId,String content,String url,Integer userId){
-        teacherAttendanceService.addComplaints(courseScheduleId,content,url,userId);
+    public Object addComplaints(Long courseScheduleId,String content,String url,Integer userId, UpdateAttendanceEnum complaintsType){
+        teacherAttendanceService.addComplaints(courseScheduleId,content,url,userId,complaintsType);
         return succeed();
     }