zouxuan 5 năm trước cách đây
mục cha
commit
498649ce54

+ 10 - 0
mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/entity/SysMenu.java

@@ -69,6 +69,16 @@ public class SysMenu {
 	@ApiModelProperty(value = "子节点列表",required = false)
 	private List<SysMenu> sysMenus;
 
+	private String memo;
+
+	public String getMemo() {
+		return memo;
+	}
+
+	public void setMemo(String memo) {
+		this.memo = memo;
+	}
+
 	public String getParentPermission() {
 		return parentPermission;
 	}

+ 6 - 2
mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysMenuMapper.xml

@@ -23,6 +23,7 @@
         <result column="update_time_" property="updateTime"/>
         <result column="del_flag_" property="delFlag"/>
         <result column="hidden_" property="hid"/>
+        <result column="memo_" property="memo"/>
     </resultMap>
 
     <!-- 根据主键查询一条记录 -->
@@ -39,8 +40,8 @@
     <insert id="insert" parameterType="com.ym.mec.auth.api.entity.SysMenu" useGeneratedKeys="true" keyColumn="id"
             keyProperty="id">
         INSERT INTO sys_menu
-        (id_,name_,permission_,path_,parent_id_,icon_,component_,sort_,type_,create_time_,update_time_,hidden_,parent_permission_)
-        VALUES(#{id},#{name},#{permission},#{path},#{parentId},#{icon},#{component},#{sort},#{type},now(),now(),#{hid},#{parentPermission})
+        (id_,name_,permission_,path_,parent_id_,icon_,component_,sort_,type_,create_time_,update_time_,hidden_,parent_permission_,memo_)
+        VALUES(#{id},#{name},#{permission},#{path},#{parentId},#{icon},#{component},#{sort},#{type},now(),now(),#{hid},#{parentPermission},#{memo})
     </insert>
 
     <!-- 根据主键查询一条记录 -->
@@ -86,6 +87,9 @@
             <if test="hid != null">
                 hidden_ = #{hid},
             </if>
+            <if test="memo != null">
+                memo_ = #{memo},
+            </if>
         </set>
         WHERE id_ = #{id}
     </update>

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

@@ -1530,4 +1530,12 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @return
      */
     List<CourseSchedule> queryNoStartCourseByTeacherId(@Param("classGroupIds") String classGroupIds, @Param("teacherId") Integer teacherId, @Param("teacherRole") String teacherRole);
+
+    /**
+     * 当前班级是否有未开始的课程
+     * @param classGroupIds
+     * @param teacherId
+     * @return
+     */
+    List<Map<Integer, Integer>> queryHasReatClass(@Param("classGroupIds") Set<String> classGroupIds, @Param("teacherId") String teacherId);
 }

+ 25 - 97
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -1,105 +1,15 @@
 package com.ym.mec.biz.service.impl;
 
-import static com.ym.mec.biz.dal.enums.GroupType.COMM;
-import static com.ym.mec.biz.dal.enums.GroupType.PRACTICE;
-import static com.ym.mec.biz.dal.enums.GroupType.VIP;
-
-import java.math.BigDecimal;
-import java.time.Duration;
-import java.time.Instant;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.ZoneId;
-import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Calendar;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Set;
-import java.util.stream.Collectors;
-
-import com.ym.mec.biz.dal.dao.*;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Propagation;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.CollectionUtils;
-
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.dto.ClassGroup4MixDto;
-import com.ym.mec.biz.dal.dto.ClassGroupImGroupDto;
-import com.ym.mec.biz.dal.dto.ClassGroupTeacherMapDto;
-import com.ym.mec.biz.dal.dto.ClassGroupTeachersDto;
-import com.ym.mec.biz.dal.dto.CourseListDto;
-import com.ym.mec.biz.dal.dto.CourseTimeDto;
-import com.ym.mec.biz.dal.dto.HighClassGroupDto;
-import com.ym.mec.biz.dal.dto.MusicGroupClassGroupDto;
-import com.ym.mec.biz.dal.dto.MusicGroupCourseScheduleDto;
-import com.ym.mec.biz.dal.dto.StudentAttendanceViewDto;
-import com.ym.mec.biz.dal.dto.StudentPayInfoDto;
-import com.ym.mec.biz.dal.dto.SuperClassGroupDto;
-import com.ym.mec.biz.dal.dto.TeacherClassGroupDto;
-import com.ym.mec.biz.dal.dto.TeacherClassHeadInfo;
-import com.ym.mec.biz.dal.dto.TeacherMusicClassInfoDto;
-import com.ym.mec.biz.dal.dto.TeacherVipClassInfoDto;
-import com.ym.mec.biz.dal.dto.UserMusicGroupQueryInfo;
-import com.ym.mec.biz.dal.entity.ClassGroup;
-import com.ym.mec.biz.dal.entity.ClassGroupRelation;
-import com.ym.mec.biz.dal.entity.ClassGroupStudentMapper;
-import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
-import com.ym.mec.biz.dal.entity.CourseSchedule;
-import com.ym.mec.biz.dal.entity.CourseScheduleEvaluate;
-import com.ym.mec.biz.dal.entity.CourseScheduleStudentPayment;
-import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
-import com.ym.mec.biz.dal.entity.CoursesGroup;
-import com.ym.mec.biz.dal.entity.Group;
-import com.ym.mec.biz.dal.entity.MusicGroup;
-import com.ym.mec.biz.dal.entity.MusicGroupBuildLog;
-import com.ym.mec.biz.dal.entity.PracticeGroup;
-import com.ym.mec.biz.dal.entity.StudentRegistration;
-import com.ym.mec.biz.dal.entity.Subject;
-import com.ym.mec.biz.dal.entity.SysConfig;
-import com.ym.mec.biz.dal.entity.Teacher;
-import com.ym.mec.biz.dal.entity.TeacherDefaultMusicGroupSalary;
-import com.ym.mec.biz.dal.entity.VipGroup;
-import com.ym.mec.biz.dal.enums.ClassGroupStudentStatusEnum;
-import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
-import com.ym.mec.biz.dal.enums.CourseStatusEnum;
-import com.ym.mec.biz.dal.enums.GroupType;
-import com.ym.mec.biz.dal.enums.MusicGroupStatusEnum;
-import com.ym.mec.biz.dal.enums.SalarySettlementTypeEnum;
-import com.ym.mec.biz.dal.enums.StudentAttendanceStatusEnum;
-import com.ym.mec.biz.dal.enums.TeachModeEnum;
-import com.ym.mec.biz.dal.enums.TeachTypeEnum;
-import com.ym.mec.biz.dal.enums.VipGroupStatusEnum;
-import com.ym.mec.biz.dal.enums.YesOrNoEnum;
-import com.ym.mec.biz.dal.page.ClassGroupQueryInfo;
-import com.ym.mec.biz.dal.page.CourseScheduleQueryInfo;
-import com.ym.mec.biz.dal.page.EndCourseScheduleQueryInfo;
-import com.ym.mec.biz.dal.page.StudentPayLogQueryInfo;
-import com.ym.mec.biz.dal.page.TeacherMusicClassQueryInfo;
-import com.ym.mec.biz.dal.page.VipClassQueryInfo;
-import com.ym.mec.biz.dal.page.queryMusicGroupCourseScheduleQueryInfo;
-import com.ym.mec.biz.service.ClassGroupRelationService;
-import com.ym.mec.biz.service.ClassGroupService;
-import com.ym.mec.biz.service.ClassGroupTeacherMapperService;
-import com.ym.mec.biz.service.CourseScheduleService;
-import com.ym.mec.biz.service.CourseScheduleStudentPaymentService;
-import com.ym.mec.biz.service.CourseScheduleTeacherSalaryService;
-import com.ym.mec.biz.service.StudentRegistrationService;
-import com.ym.mec.biz.service.SubjectService;
-import com.ym.mec.biz.service.SysConfigService;
-import com.ym.mec.biz.service.TeacherDefaultMusicGroupSalaryService;
+import com.ym.mec.biz.dal.dao.*;
+import com.ym.mec.biz.dal.dto.*;
+import com.ym.mec.biz.dal.entity.*;
+import com.ym.mec.biz.dal.enums.*;
+import com.ym.mec.biz.dal.page.*;
+import com.ym.mec.biz.service.*;
 import com.ym.mec.common.constant.CommonConstants;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.ImGroupMember;
@@ -115,6 +25,20 @@ import com.ym.mec.jiari.JiaRiFeignService;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateConvertor;
 import com.ym.mec.util.date.DateUtil;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+
+import java.math.BigDecimal;
+import java.time.*;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
+import java.util.stream.Collectors;
+
+import static com.ym.mec.biz.dal.enums.GroupType.*;
 
 @Service
 public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup> implements ClassGroupService {
@@ -618,9 +542,13 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             HashMap<String, Object> param = new HashMap<>();
             param.put("teacherId", queryInfo.getSearch());
             param.put("attendanceStatus", YesOrNoEnum.YES);
+            Set<String> classGroupIds = dataList.stream().map(e -> e.getClassGroupIds()).collect(Collectors.toSet());
+            Map<Integer,Long> hasRestClassMap = MapUtil.convertIntegerMap(courseScheduleDao.queryHasReatClass(classGroupIds,queryInfo.getSearch()));
+            int teacherPersonalAttendancesCount = teacherAttendanceDao.getTeacherPersonalAttendancesCount(param);
             dataList.forEach(e -> {
                 param.put("musicGroupId", e.getMusicGroupId());
-                e.setAttendanceNum(teacherAttendanceDao.getTeacherPersonalAttendancesCount(param));
+                e.setAttendanceNum(teacherPersonalAttendancesCount);
+                e.setHasRestClass(hasRestClassMap.get(Integer.parseInt(e.getClassGroupIds())).intValue());
             });
         }
         if (count == 0) {

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

@@ -3139,5 +3139,15 @@
         WHERE FIND_IN_SET(cs.class_group_id_,#{classGroupIds}) AND csts.teacher_role_ = #{teacherRole}
         AND csts.user_id_ = #{teacherId} AND CONCAT(cs.class_date_,' ',cs.start_class_time_) > NOW() AND cs.del_flag_ = 0
     </select>
+    <select id="queryHasReatClass" resultType="java.util.Map">
+        SELECT cgtm.class_group_id_ 'key',CASE WHEN COUNT(cs.id_) > 0 THEN 1 ELSE 0 END 'value'
+        FROM class_group_teacher_mapper cgtm
+        LEFT JOIN course_schedule cs ON cs.class_group_id_ = cgtm.class_group_id_ AND CONCAT(cs.class_date_,' ',cs.start_class_time_) > NOW() AND cs.del_flag_ = 0
+        WHERE cgtm.user_id_ = #{teacherId} AND cgtm.group_type_ = 'MUSIC' AND cgtm.class_group_id_ IN
+        <foreach collection="classGroupIds" item="classGroupId" separator="," open="(" close=")">
+            #{classGroupId}
+        </foreach>
+        GROUP BY cgtm.class_group_id_
+    </select>
 
 </mapper>