Browse Source

Merge remote-tracking branch 'origin/master'

周箭河 5 years ago
parent
commit
2e4e9b24d2

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentExtracurricularExercisesSituationDao.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.biz.dal.dto.StudentExercisesSituationDto;
+import com.ym.mec.biz.dal.dto.TeacherExercisesServiceDto;
 import com.ym.mec.biz.dal.entity.StudentExtracurricularExercisesSituation;
 import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
@@ -32,5 +33,16 @@ public interface StudentExtracurricularExercisesSituationDao extends BaseDAO<Lon
     int countExercisesSituations(Map<String, Object> params);
 
     List<StudentExercisesSituationDto> findExercisesSituationsById(@Param("ids") List<Long> ids);
+
+    /**
+     * @describe 统计老师指定星期的服务指标
+     * @author Joburgess
+     * @date 2020/4/17
+     * @param monday:
+     * @param teacherIds:
+     * @return java.util.List<com.ym.mec.biz.dal.dto.TeaherExercisesServiceDto>
+     */
+    List<TeacherExercisesServiceDto> findTeacherExercisesServiceSituations(@Param("monday") String monday,
+                                                                           @Param("teacherIds") List<Integer> teacherIds);
 	
 }

+ 40 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherExercisesServiceDto.java

@@ -0,0 +1,40 @@
+package com.ym.mec.biz.dal.dto;
+
+/**
+ * @Author Joburgess
+ * @Date 2020/4/17
+ */
+public class TeacherExercisesServiceDto {
+
+    private Integer teacherId;
+
+    /** 预期训练次数 */
+    private Integer expectExercisesNum;
+
+    /** 实际训练次数 */
+    private Integer actualExercisesNum;
+
+    public Integer getTeacherId() {
+        return teacherId;
+    }
+
+    public void setTeacherId(Integer teacherId) {
+        this.teacherId = teacherId;
+    }
+
+    public Integer getExpectExercisesNum() {
+        return expectExercisesNum;
+    }
+
+    public void setExpectExercisesNum(Integer expectExercisesNum) {
+        this.expectExercisesNum = expectExercisesNum;
+    }
+
+    public Integer getActualExercisesNum() {
+        return actualExercisesNum;
+    }
+
+    public void setActualExercisesNum(Integer actualExercisesNum) {
+        this.actualExercisesNum = actualExercisesNum;
+    }
+}

+ 25 - 7
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Teacher.java

@@ -1,16 +1,15 @@
 package com.ym.mec.biz.dal.entity;
 
-import io.swagger.annotations.ApiModelProperty;
-
-import java.util.Date;
-import java.util.List;
-
-import org.apache.commons.lang3.builder.ToStringBuilder;
-
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.enums.JobNatureEnum;
 import com.ym.mec.biz.dal.enums.JobTypeEnum;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
+import io.swagger.annotations.ApiModelProperty;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
 
 /**
  * 对应数据库表(teacher):
@@ -116,6 +115,25 @@ public class Teacher extends SysUser {
 	
 	private String memo;
 
+	private BigDecimal operatingIndex;
+	private BigDecimal serviceIndex;
+
+	public BigDecimal getOperatingIndex() {
+		return operatingIndex;
+	}
+
+	public void setOperatingIndex(BigDecimal operatingIndex) {
+		this.operatingIndex = operatingIndex;
+	}
+
+	public BigDecimal getServiceIndex() {
+		return serviceIndex;
+	}
+
+	public void setServiceIndex(BigDecimal serviceIndex) {
+		this.serviceIndex = serviceIndex;
+	}
+
 	public Integer getLectureNum() {
 		return lectureNum;
 	}

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

@@ -500,7 +500,7 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 			if(DateUtil.minutesBetween(classEndDateTime,date) >= 0){
 				String continueCourseTime = sysConfigDao.findConfigValue(SysConfigService.ONLINE_CONTINUE_COURSE_TIME);
 				if(StringUtils.isEmpty(continueCourseTime)){
-					continueCourseTime = "10";
+					continueCourseTime = "5";
 				}
 				List<CourseSchedule> courseSchedules = new ArrayList<>();
 				CourseSchedule cs = courseSchedule;
@@ -528,37 +528,36 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 						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);
-								StudentAttendance byStatusAndCourseScheduleId = studentAttendanceDao.findByStatusAndCourseScheduleId(userId, e.getId().intValue());
-								if(byStatusAndCourseScheduleId != null){
-									byStatusAndCourseScheduleId.setSignOutTime(date);
-									byStatusAndCourseScheduleId.setStatus(statusEnum);
-									byStatusAndCourseScheduleId.setUpdateTime(date);
-									studentAttendanceDao.update(byStatusAndCourseScheduleId);
-								}else {
-									byStatusAndCourseScheduleId = new StudentAttendance();
-									byStatusAndCourseScheduleId.setSignOutTime(endDateTime);
-									byStatusAndCourseScheduleId.setStatus(statusEnum);
-									byStatusAndCourseScheduleId.setSignInTime(startDateTime);
-									byStatusAndCourseScheduleId.setUpdateTime(date);
-									byStatusAndCourseScheduleId.setUserId(userId);
-									byStatusAndCourseScheduleId.setTeacherId(courseSchedule.getActualTeacherId());
-									byStatusAndCourseScheduleId.setClassGroupId(e.getClassGroupId());
-									byStatusAndCourseScheduleId.setCourseScheduleId(e.getId());
-									byStatusAndCourseScheduleId.setMusicGroupId(e.getMusicGroupId());
-									byStatusAndCourseScheduleId.setGroupType(e.getGroupType());
-									byStatusAndCourseScheduleId.setCurrentClassTimes(classGroup.getCurrentClassTimes() + 1);
-									studentAttendanceDao.insert(byStatusAndCourseScheduleId);
-								}
+//							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);
+							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);
+							StudentAttendance byStatusAndCourseScheduleId = studentAttendanceDao.findByStatusAndCourseScheduleId(userId, e.getId().intValue());
+							if(byStatusAndCourseScheduleId != null){
+								byStatusAndCourseScheduleId.setSignOutTime(date);
+								byStatusAndCourseScheduleId.setStatus(statusEnum);
+								byStatusAndCourseScheduleId.setUpdateTime(date);
+								studentAttendanceDao.update(byStatusAndCourseScheduleId);
 							}else {
+								byStatusAndCourseScheduleId = new StudentAttendance();
+								byStatusAndCourseScheduleId.setSignOutTime(endDateTime);
+								byStatusAndCourseScheduleId.setStatus(statusEnum);
+								byStatusAndCourseScheduleId.setSignInTime(startDateTime);
+								byStatusAndCourseScheduleId.setUpdateTime(date);
+								byStatusAndCourseScheduleId.setUserId(userId);
+								byStatusAndCourseScheduleId.setTeacherId(courseSchedule.getActualTeacherId());
+								byStatusAndCourseScheduleId.setClassGroupId(e.getClassGroupId());
+								byStatusAndCourseScheduleId.setCourseScheduleId(e.getId());
+								byStatusAndCourseScheduleId.setMusicGroupId(e.getMusicGroupId());
+								byStatusAndCourseScheduleId.setGroupType(e.getGroupType());
+								byStatusAndCourseScheduleId.setCurrentClassTimes(classGroup.getCurrentClassTimes() + 1);
+								studentAttendanceDao.insert(byStatusAndCourseScheduleId);
+							}
+							if(!date.before(endDateTime)){
 								break;
 							}
 						}
@@ -596,7 +595,7 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 		//是否是连堂课
 		String continueCourseTime = sysConfigDao.findConfigValue(SysConfigService.ONLINE_CONTINUE_COURSE_TIME);
 		if(StringUtils.isEmpty(continueCourseTime)){
-			continueCourseTime = "10";
+			continueCourseTime = "5";
 		}
 		Date date = new Date();
 		for (CourseSchedule courseSchedule : courseScheduleList) {

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

@@ -38,8 +38,6 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 	@Autowired
 	private CourseHomeworkService courseHomeworkService;
 	@Autowired
-	private StudentAttendanceDao studentAttendanceDao;
-	@Autowired
 	private StudentCourseHomeworkDao studentCourseHomeworkDao;
 	@Autowired
 	private SysUserFeignService sysUserFeignService;
@@ -274,7 +272,7 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		//签到
 		String continueCourseTime = sysConfigDao.findConfigValue(SysConfigService.ONLINE_CONTINUE_COURSE_TIME);
 		if(StringUtils.isEmpty(continueCourseTime)){
-			continueCourseTime = "10";
+			continueCourseTime = "5";
 		}
 		if(teacherAttendance.getSignInTime() == null && SignStatusEnum.SIGN_IN.equals(signStatus)){
 			YesOrNoEnum yesOrNoEnum = courseScheduleService.enableOnlyNormalAttendance(courseSchedule.getStartClassTime(),
@@ -291,7 +289,6 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 				//正常签到范围(开始之前)
 				isSign = true;
 			}else {
-//			}else if(DateUtil.minutesBetween(add1Minutes,date) >= 0){
 				//异常签到范围(开始之后)
 				isSign = true;
 				teacherAttendance.setSignInStatus(YesOrNoEnum.NO);
@@ -340,17 +337,20 @@ 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 {
+								teacherAttendanceDao.cuntinueCourseSign(e.getId(),startDateTime,endDateTime,0);
 								break;
 							}
 						}

+ 13 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherSalaryModifyLogServiceImpl.java

@@ -1,5 +1,7 @@
 package com.ym.mec.biz.service.impl;
 
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.CourseScheduleTeacherSalaryDao;
 import com.ym.mec.biz.dal.dao.TeacherSalaryModifyLogDao;
 import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
@@ -7,11 +9,14 @@ import com.ym.mec.biz.dal.entity.TeacherSalaryModifyLog;
 import com.ym.mec.biz.service.CourseScheduleTeacherSalaryService;
 import com.ym.mec.biz.service.TeacherSalaryModifyLogService;
 import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.math.BigDecimal;
+
 @Service
 public class TeacherSalaryModifyLogServiceImpl extends BaseServiceImpl<Long, TeacherSalaryModifyLog>  implements TeacherSalaryModifyLogService {
 	
@@ -19,6 +24,8 @@ public class TeacherSalaryModifyLogServiceImpl extends BaseServiceImpl<Long, Tea
 	private TeacherSalaryModifyLogDao teacherSalaryModifyLogDao;
 	@Autowired
 	private CourseScheduleTeacherSalaryDao courseScheduleTeacherSalaryDao;
+	@Autowired
+	private SysUserFeignService sysUserFeignService;
 
 	@Override
 	public BaseDAO<Long, TeacherSalaryModifyLog> getDAO() {
@@ -28,12 +35,17 @@ public class TeacherSalaryModifyLogServiceImpl extends BaseServiceImpl<Long, Tea
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public Object add(TeacherSalaryModifyLog modifyLog) {
+		SysUser sysUser = sysUserFeignService.queryUserInfo();
+		if (sysUser == null) {
+			throw new BizException("用户信息获取失败");
+		}
 		//获取之前的课酬信息
 		CourseScheduleTeacherSalary salary = courseScheduleTeacherSalaryDao.queryByCourseScheduleIdAndUserId(modifyLog.getCourseScheduleId(), modifyLog.getTeacherId());
 		courseScheduleTeacherSalaryDao.updateSalary(modifyLog);
 		//修改教师课酬
 		modifyLog.setPreExpectSalary(salary.getActualSalary());
-		modifyLog.setPreReduceSalary(salary.getReduceSalary());
+		modifyLog.setPreReduceSalary(salary.getReduceSalary()==null? BigDecimal.ZERO:salary.getReduceSalary());
+		modifyLog.setOperatorId(sysUser.getId());
 		return teacherSalaryModifyLogDao.insert(modifyLog);
 	}
 }

+ 21 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java

@@ -10,6 +10,7 @@ import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.page.*;
 import com.ym.mec.biz.service.ClassGroupService;
 import com.ym.mec.biz.service.TeacherService;
+import com.ym.mec.common.constant.CommonConstants;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.ImGroupModel;
 import com.ym.mec.common.entity.ImResult;
@@ -19,14 +20,17 @@ import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.im.ImFeignService;
 import com.ym.mec.util.collection.MapUtil;
+import com.ym.mec.util.date.DateUtil;
 import com.ym.mec.util.idcard.IdcardValidator;
-
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
+import java.time.DayOfWeek;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -59,6 +63,8 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 	private ImFeignService imFeignService;
 	@Autowired
 	private SysConfigDao configDao;
+	@Autowired
+	private StudentExtracurricularExercisesSituationDao studentExtracurricularExercisesSituationDao;
 
 
 	@Override
@@ -439,6 +445,12 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 
 			Set<Integer> organIds = rows.stream().map(e -> e.getTeacherOrganId()).collect(Collectors.toSet());
 			Map<Integer,String> organNames = MapUtil.convertMybatisMap(organizationDao.findOrganNameMapList(organIds));
+
+			LocalDate nowDate = LocalDateTime.now(DateUtil.zoneId).toLocalDate();
+			LocalDate monDayDate = nowDate.with(DateUtil.weekFields.dayOfWeek(), DayOfWeek.MONDAY.getValue());
+			List<TeacherExercisesServiceDto> teacherExercisesServiceSituations = studentExtracurricularExercisesSituationDao.findTeacherExercisesServiceSituations(monDayDate.toString(), new ArrayList<>(teachers));
+			Map<Integer, TeacherExercisesServiceDto> teacherServiceMap = teacherExercisesServiceSituations.stream().collect(Collectors.toMap(TeacherExercisesServiceDto::getTeacherId, t -> t));
+
 			rows.forEach(e->{
 //				e.setSubjectName(subjectDao.findBySubIds(e.getSubjectId()));
 				e.setOrganName(organNames.get(e.getTeacherOrganId()));
@@ -449,6 +461,14 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 				e.setVipNum(num == null?0:num);
 				Integer demoNum = demoNumMap.get(e.getId());
 				e.setDemoNum(demoNum == null?0:demoNum);
+
+				TeacherExercisesServiceDto teacherService = teacherServiceMap.get(e.getId());
+				if(Objects.nonNull(teacherService)){
+					BigDecimal serviceIndex = new BigDecimal(teacherService.getActualExercisesNum()).multiply(new BigDecimal(100)).divide(new BigDecimal(teacherService.getExpectExercisesNum()), CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP);
+					e.setServiceIndex(serviceIndex);
+				}else{
+					e.setServiceIndex(BigDecimal.ZERO);
+				}
 			});
 		}
 		return pageInfo;

+ 10 - 4
mec-biz/src/main/resources/config/mybatis/CourseScheduleTeacherSalaryMapper.xml

@@ -450,7 +450,8 @@
 	</update>
 	<update id="updateTeacherSalaryConfirmStatus">
 		UPDATE course_schedule_teacher_salary SET confirm_status_=#{confirmStatus, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
-		WHERE id_ IN
+		WHERE group_type_!='COMM'
+		AND id_ IN
 		<foreach collection="ids" item="id" open="(" close=")" separator=",">
 			#{id}
 		</foreach>
@@ -458,6 +459,7 @@
 	<update id="updateTeacherSalaryConfirmStatusToComplied">
 		UPDATE course_schedule_teacher_salary SET confirm_status_=3
 		WHERE confirm_status_!=2
+        AND group_type_!='COMM'
 		AND id_ IN
 		<foreach collection="ids" item="id" open="(" close=")" separator=",">
 			#{id}
@@ -754,6 +756,7 @@
 	<sql id="queryCourseSalaryCondition">
 		<where>
 			(cs.del_flag_ IS NULL OR cs.del_flag_=0)
+            AND csts.group_type_!='COMM'
 			AND csts.settlement_time_ IS NOT NULL
 			<if test="teacherId!=null">
 				AND csts.user_id_=#{teacherId}
@@ -882,6 +885,7 @@
 			LEFT JOIN course_schedule cs ON csts.course_schedule_id_ = cs.id_
 		WHERE
 			( cs.del_flag_ IS NULL OR cs.del_flag_ = 0 )
+			AND csts.group_type_!='COMM'
 			AND csts.settlement_time_ IS NOT NULL
 			<if test="teacherId!=null">
 				AND csts.user_id_ = #{teacherId}
@@ -895,9 +899,10 @@
         course_schedule_teacher_salary csts
         LEFT JOIN course_schedule cs ON csts.course_schedule_id_ = cs.id_
         WHERE
-        ( cs.del_flag_ IS NULL OR cs.del_flag_ = 0 )
-        AND csts.settlement_time_ IS NOT NULL
-        AND DATE_FORMAT( cs.class_date_, '%Y-%m' ) = #{month}
+        	( cs.del_flag_ IS NULL OR cs.del_flag_ = 0 )
+			AND csts.group_type_!='COMM'
+        	AND csts.settlement_time_ IS NOT NULL
+        	AND DATE_FORMAT( cs.class_date_, '%Y-%m' ) = #{month}
     </select>
 
 	<select id="countOpenConfirmSalarysWithMonth" resultType="int">
@@ -908,6 +913,7 @@
 			LEFT JOIN course_schedule cs ON cs.id_ = csts.course_schedule_id_
 		WHERE
 			DATE_FORMAT( cs.class_date_, '%Y-%m' ) = #{month}
+			AND csts.group_type_!='COMM'
 			AND csts.settlement_time_ IS NOT NULL
 			<if test="confirmStatus!=null">
 				AND csts.confirm_status_=#{confirmStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}

+ 15 - 0
mec-biz/src/main/resources/config/mybatis/StudentExtracurricularExercisesSituationMapper.xml

@@ -233,4 +233,19 @@
 			#{id}
 		</foreach>
 	</select>
+    <select id="findTeacherExercisesServiceSituations" resultType="com.ym.mec.biz.dal.dto.TeacherExercisesServiceDto">
+		SELECT
+			teacher_id_ teacherId,
+			COUNT( exercises_reply_num_ ) expectExercisesNum,
+			COUNT( CASE WHEN actual_exercises_num_ = 1 THEN 1 ELSE NULL END ) actualExercisesNum
+		FROM
+			student_extracurricular_exercises_situation_
+		WHERE monday_ = #{monday}
+			AND teacher_id_ IN
+			<foreach collection="teacherIds" item="teacherId" open="(" close=")" separator=",">
+				#{teacherId}
+			</foreach>
+		GROUP BY
+			teacher_id_;
+    </select>
 </mapper>

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

@@ -112,9 +112,9 @@ public class RoomServiceImpl implements RoomService {
         Teacher teacher = teacherDao.get(Integer.parseInt(userId));
         CourseSchedule courseSchedule = courseScheduleDao.get(Long.parseLong(roomId));
 
-        /*String continueCourseTime = sysConfigDao.findConfigValue(SysConfigService.ONLINE_CONTINUE_COURSE_TIME);
+        String continueCourseTime = sysConfigDao.findConfigValue(SysConfigService.ONLINE_CONTINUE_COURSE_TIME);
         if(StringUtils.isEmpty(continueCourseTime)){
-            continueCourseTime = "3";
+            continueCourseTime = "5";
         }
         CourseSchedule schedule = courseSchedule;
         //如果当前课程是连堂课,那么获取第一节课的课程编号
@@ -127,8 +127,8 @@ public class RoomServiceImpl implements RoomService {
             }else {
                 break;
             }
-        }*/
-        try {
+        }
+        /*try {
             if(teacher != null && teacher.getId().equals(courseSchedule.getActualTeacherId())){
                 teacherAttendanceService.addTeacherAttendanceRecord(Integer.parseInt(roomId),courseSchedule.getActualTeacherId(), SignStatusEnum.SIGN_IN,true);
             }else {
@@ -136,7 +136,7 @@ public class RoomServiceImpl implements RoomService {
             }
         }catch (Exception e){
             e.printStackTrace();
-        }
+        }*/
         if(courseSchedule.getGroupType() == GroupType.COMM){
             roomId = "I" + roomId;
         }else {
@@ -246,9 +246,9 @@ public class RoomServiceImpl implements RoomService {
         Teacher teacher = teacherDao.get(Integer.parseInt(userId));
         CourseSchedule courseSchedule = courseScheduleDao.get(roomId);
 
-        /*String continueCourseTime = sysConfigDao.findConfigValue(SysConfigService.ONLINE_CONTINUE_COURSE_TIME);
+        String continueCourseTime = sysConfigDao.findConfigValue(SysConfigService.ONLINE_CONTINUE_COURSE_TIME);
         if(StringUtils.isEmpty(continueCourseTime)){
-            continueCourseTime = "3";
+            continueCourseTime = "5";
         }
         CourseSchedule schedule = courseSchedule;
         //如果当前课程是连堂课,那么获取第一节课的课程编号
@@ -261,7 +261,7 @@ public class RoomServiceImpl implements RoomService {
             }else {
                 break;
             }
-        }*/
+        }
         try {
             if(teacher != null && teacher.getId().equals(courseSchedule.getActualTeacherId())){
                 teacherAttendanceService.addTeacherAttendanceRecord(roomId.intValue(),courseSchedule.getActualTeacherId(), SignStatusEnum.SIGN_IN,true);

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

@@ -13,7 +13,6 @@ import com.ym.mec.biz.service.VipGroupService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.exception.BizException;
-import com.ym.mec.util.date.DateUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -77,11 +76,11 @@ public class CourseScheduleTeacherSalaryController extends BaseController {
 
         Map<String, Object> result=new HashMap<>();
         result.put("pageInfo", courseScheduleTeacherSalaryService.findIsSettlementCourseSalarys(queryInfo));
-        int i = courseScheduleTeacherSalaryDao.countOpenConfirmSalarysWithMonth(DateUtil.dateToString(DateUtil.addMonths(new Date(), -1), "yyyy-MM"), TeacherSalaryConfirmStatus.UNCONFIRMED);
+        int i = courseScheduleTeacherSalaryDao.countOpenConfirmSalarysWithMonth(queryInfo.getMonth(), TeacherSalaryConfirmStatus.UNCONFIRMED);
         if(i>0){
             result.put("isOpenConfirm", 1);
         }else{
-            int j = courseScheduleTeacherSalaryDao.countOpenConfirmSalarysWithMonth(DateUtil.dateToString(DateUtil.addMonths(new Date(), -1), "yyyy-MM"), null);
+            int j = courseScheduleTeacherSalaryDao.countOpenConfirmSalarysWithMonth(queryInfo.getMonth(), null);
             if(j<=0){
                 result.put("isOpenConfirm", 2);
             }else{