Procházet zdrojové kódy

Merge remote-tracking branch 'origin/master'

Joburgess před 5 roky
rodič
revize
9c55eae58c

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -774,4 +774,13 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     PageInfo<CourseListDto> queryStudentCourse(Map<String, Object> params);
 
     int countVipGroupCourses(@Param("vipGroupId") Integer vipGroupId);
+
+    /**
+     * 获取vip未上课时数
+     * @param vipGroupId
+     * @return
+     */
+    Integer findCourseNoStartNum(Long vipGroupId);
+
+    Integer findCourseEndNum(Long vipGroupId);
 }

+ 22 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeachingRecordBaseInfo.java

@@ -14,12 +14,34 @@ public class TeachingRecordBaseInfo {
     @ApiModelProperty(value = "当前课次",required = false)
     private Integer currentClassTimes;
 
+    @ApiModelProperty(value = "未上课时",required = false)
+    private Integer courseNoStartNum;
+
+    @ApiModelProperty(value = "已消耗课时",required = false)
+    private Integer courseEndNum;
+
     @ApiModelProperty(value = "已结算数量")
     private Integer isSalaryNum;
 
     @ApiModelProperty(value = "被投诉数量")
     private Integer complaintsNum;
 
+    public Integer getCourseNoStartNum() {
+        return courseNoStartNum;
+    }
+
+    public void setCourseNoStartNum(Integer courseNoStartNum) {
+        this.courseNoStartNum = courseNoStartNum;
+    }
+
+    public Integer getCourseEndNum() {
+        return courseEndNum;
+    }
+
+    public void setCourseEndNum(Integer courseEndNum) {
+        this.courseEndNum = courseEndNum;
+    }
+
     public Integer getTotalClassTimes() {
         return totalClassTimes;
     }

+ 8 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -507,7 +507,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 	@Override
 	public Map<String, Object> findVipGroupTeachingRecord(VipGroupTeachingRecordQueryInfo queryInfo) {
-		if(Objects.isNull(queryInfo.getVipGroupId())){
+		Long vipGroupId = queryInfo.getVipGroupId();
+		if(Objects.isNull(vipGroupId)){
 			throw new BizException("请指定vip课程!");
 		}
 		PageInfo pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
@@ -525,11 +526,12 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			dataList = new ArrayList<>();
 		}
 		pageInfo.setRows(dataList);
-		TeachingRecordBaseInfo classTimes = vipGroupDao.getClassTimes(queryInfo.getVipGroupId());
-		if(!Objects.isNull(classTimes)){
-			classTimes.setIsSalaryNum(vipGroupDao.countIsSalaryNum(queryInfo.getVipGroupId()));
-			classTimes.setComplaintsNum(vipGroupDao.countComplaintsNum(queryInfo.getVipGroupId()));
-		}
+//		TeachingRecordBaseInfo classTimes = vipGroupDao.getClassTimes(queryInfo.getVipGroupId());
+		TeachingRecordBaseInfo classTimes = new TeachingRecordBaseInfo();
+		classTimes.setCourseNoStartNum(courseScheduleDao.findCourseNoStartNum(vipGroupId));
+		classTimes.setCourseEndNum(courseScheduleDao.findCourseEndNum(vipGroupId));
+		classTimes.setIsSalaryNum(vipGroupDao.countIsSalaryNum(vipGroupId));
+		classTimes.setComplaintsNum(vipGroupDao.countComplaintsNum(vipGroupId));
 		Map<String,Object> result=new HashMap<>();
 		result.put("pageInfo",pageInfo);
 		result.put("baseInfo",classTimes);

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

@@ -1601,4 +1601,10 @@
     <select id="countVipGroupCourses" resultType="int">
         SELECT count(cs.id_) FROM course_schedule cs WHERE cs.music_group_id_ = #{vipGroupId} AND cs.group_type_='VIP'
     </select>
+    <select id="findCourseNoStartNum" resultType="java.lang.Integer">
+        SELECT COUNT(cs.id_) FROM course_schedule cs WHERE cs.music_group_id_ = #{vipGroupId} AND cs.group_type_ = 'VIP' AND cs.status_ = 'NOT_START'
+    </select>
+    <select id="findCourseEndNum" resultType="java.lang.Integer">
+        SELECT COUNT(cs.id_) FROM course_schedule cs WHERE cs.music_group_id_ = #{vipGroupId} AND cs.group_type_ = 'VIP' AND cs.status_ != 'NOT_START'
+    </select>
 </mapper>

+ 21 - 4
mec-biz/src/main/resources/config/mybatis/TeacherAttendanceMapper.xml

@@ -49,17 +49,28 @@
         </selectKey>
         -->
         INSERT INTO teacher_attendance
-        (id_,group_type_,teacher_id_,music_group_id_,class_group_id_,course_schedule_id_,sign_in_time_,sign_in_status_,remark_,create_time_,sign_out_time_,sign_out_status_,current_class_times_,sign_in_longitude_latitude_,sign_out_longitude_latitude_)
-        VALUES(#{id},#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{teacherId},#{musicGroupId},#{classGroupId},#{courseScheduleId},#{signInTime},#{signInStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{remark},now(),#{signOutTime},#{signOutStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{currentClassTimes},#{signInLongitudeLatitude},#{signOutLongitudeLatitude})
+        (id_,group_type_,teacher_id_,music_group_id_,class_group_id_,course_schedule_id_,sign_in_time_,sign_in_status_,remark_,create_time_,sign_out_time_,
+        sign_out_status_,current_class_times_,sign_in_longitude_latitude_,sign_out_longitude_latitude_)
+        VALUES(#{id},#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{teacherId},
+        #{musicGroupId},#{classGroupId},#{courseScheduleId},#{signInTime},#{signInStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{remark},
+        now(),#{signOutTime},#{signOutStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+        #{currentClassTimes},#{signInLongitudeLatitude},#{signOutLongitudeLatitude})
     </insert>
 
     <insert id="batchInsert" parameterType="com.ym.mec.biz.dal.entity.TeacherAttendance" useGeneratedKeys="true"
             keyColumn="id" keyProperty="id">
         INSERT INTO teacher_attendance
-        (group_type_,teacher_id_,music_group_id_,class_group_id_,course_schedule_id_,sign_in_time_,sign_in_status_,remark_,create_time_,sign_out_time_,sign_out_status_,sign_in_longitude_latitude_,sign_out_longitude_latitude_)
+        (group_type_,teacher_id_,music_group_id_,class_group_id_,course_schedule_id_,sign_in_time_,sign_in_status_,
+        remark_,create_time_,sign_out_time_,sign_out_status_,sign_in_longitude_latitude_,sign_out_longitude_latitude_)
         VALUE
         <foreach collection="teacherAttendances" item="teacherAttendance" separator=",">
-            (#{teacherAttendance.groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{teacherAttendance.teacherId},#{teacherAttendance.musicGroupId},#{teacherAttendance.classGroupId},#{teacherAttendance.courseScheduleId},#{teacherAttendance.signInTime},#{teacherAttendance.signInStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{teacherAttendance.remark},now(),#{teacherAttendance.signOutTime},#{teacherAttendance.signOutStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{teacherAttendance.signInLongitudeLatitude},#{teacherAttendance.signOutLongitudeLatitude})
+            (#{teacherAttendance.groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+            #{teacherAttendance.teacherId},#{teacherAttendance.musicGroupId},#{teacherAttendance.classGroupId},
+            #{teacherAttendance.courseScheduleId},#{teacherAttendance.signInTime},
+            #{teacherAttendance.signInStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+            #{teacherAttendance.remark},now(),#{teacherAttendance.signOutTime},
+            #{teacherAttendance.signOutStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+            #{teacherAttendance.signInLongitudeLatitude},#{teacherAttendance.signOutLongitudeLatitude})
         </foreach>
     </insert>
 
@@ -100,6 +111,12 @@
             <if test="currentClassTimes != null">
                 current_class_times_ = #{currentClassTimes},
             </if>
+            <if test="signInLongitudeLatitude != null">
+                sign_in_longitude_latitude_ = #{signInLongitudeLatitude},
+            </if>
+            <if test="signOutLongitudeLatitude != null">
+                sign_out_longitude_latitude_ = #{signOutLongitudeLatitude},
+            </if>
         </set>
         WHERE id_ = #{id}
     </update>