liujc пре 2 година
родитељ
комит
bd8207ad9e

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SubjectDao.java

@@ -166,4 +166,6 @@ public interface SubjectDao extends BaseDAO<Integer, Subject> {
     int queryPageByIdOrNameCount(Map<String, Object> params);
 
     List<Subject> list();
+
+    List<Subject> getSubjectListByIdAndCoopId(@Param("musicGroupId") String musicGroupId, @Param("coopId") Integer coopId);
 }

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

@@ -251,6 +251,36 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     //小小训练营-训练营开始训练推送
     JIGUANG_TEMP_LITTLE_ARTIST_START_TRAIN("JIGUANG_TEMP_LITTLE_ARTIST_START_TRAIN","训练营开始训练推送-极光推送"),
 
+
+    //  老师异常签到
+    JIGUANG_TEACHER_SIGN_IN_EXCEPTION("JIGUANG_TEACHER_SIGN_IN_EXCEPTION","老师异常签到-极光推送"),
+
+    // 老师异常签退
+    JIGUANG_TEACHER_SIGN_OUT_EXCEPTION("JIGUANG_TEACHER_SIGN_OUT_EXCEPTION","老师异常签退-极光推送"),
+
+    // 老师请假
+    JIGUANG_TEACHER_LEAVE("JIGUANG_TEACHER_LEAVE","老师请假-极光推送"),
+
+    // 学员退团申请消息
+    JIGUANG_STUDENT_QUIT_GROUP_APPLY("JIGUANG_STUDENT_QUIT_GROUP_APPLY","学员退团申请消息-极光推送"),
+    // 学员退团消息
+    JIGUANG_STUDENT_QUIT_GROUP("JIGUANG_STUDENT_QUIT_GROUP","学员退团消息-极光推送"),
+
+    // 学员请假消息
+    JIGUANG_STUDENT_LEAVE("JIGUANG_STUDENT_LEAVE","学员请假消息-极光推送"),
+
+    // 课程变更消息
+    JIGUANG_COURSE_CHANGE("JIGUANG_COURSE_CHANGE","课程变更消息-极光推送"),
+
+    // 课程安排
+    JIGUANG_COURSE_ARRANGE("JIGUANG_COURSE_ARRANGE","课程安排-极光推送"),
+
+    // 学校端账户注册
+    JIGUANG_SCHOOL_ACCOUNT_REGISTER("JIGUANG_SCHOOL_ACCOUNT_REGISTER","学校端账户注册-极光推送"),
+
+    // 学校端账户注册通知
+    JIGUANG_SCHOOL_ACCOUNT_REGISTER_NOTICE("JIGUANG_SCHOOL_ACCOUNT_REGISTER_NOTICE","学校端账户注册通知-极光推送"),
+
     ;
 
     MessageTypeEnum(String code, String msg) {

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/SchoolActivityWrapper.java

@@ -151,6 +151,10 @@ public class SchoolActivityWrapper {
     @ApiModel(" SchoolActivityStudentQuery-学校活动学生查询对象")
     public static class SchoolActivityStudentQuery {
 
+
+        @ApiModelProperty("活动节目编号")
+        private Integer activityDetailId;
+
         @ApiModelProperty("乐团ID")
         private String musicGroupId;
 
@@ -197,6 +201,9 @@ public class SchoolActivityWrapper {
         @ApiModelProperty("学生名")
         private String studentName;
 
+        @ApiModelProperty("是否已经选择")
+        private Boolean selected;
+
 
         @ApiModelProperty("学生头像")
         private String studentAvatar;

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/StudentWrapper.java

@@ -189,6 +189,8 @@ public class StudentWrapper {
         @ApiModelProperty(value = "在团状态 在团 IN 退团 OUT 申请退团 APPLY_OUT 报名:APPLY 休学:QUIT_SCHOOL")
         private EInGroupStatus inGroupStatus;
 
+        @ApiModelProperty(value = "退团时间")
+        private Date quitTime;
     }
 
 

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupService.java

@@ -453,4 +453,12 @@ public interface MusicGroupService extends BaseService<String, MusicGroup> {
      * 获取乐团信息
      */
     Map<Long,MusicGroup> getMapByIds(List<Long> musicGroupIds);
+
+    /**
+     * 获取乐团信息
+     *
+     * @param musicGroupId 乐团id
+     * @param coopId 合作单位id
+     */
+    List<Subject> getSubjectListByIdAndCoopId(String musicGroupId, Integer coopId);
 }

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CoursePatrolEvaluationServiceImpl.java

@@ -21,6 +21,8 @@ import com.ym.mec.biz.dal.wrapper.CoursePatrolEvaluationWrapper;
 import com.ym.mec.biz.dal.mapper.CoursePatrolEvaluationMapper;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.time.LocalDate;
+import java.time.ZoneId;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -159,6 +161,10 @@ public class CoursePatrolEvaluationServiceImpl extends ServiceImpl<CoursePatrolE
         if (courseSchedule.getStatus().equals(CourseStatusEnum.NOT_START)) {
             throw new BizException("课程未开始,不允许做巡堂评价");
         }
+        LocalDate localDate = courseSchedule.getClassDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
+        if (localDate.isBefore(LocalDate.now())) {
+            throw new BizException("不可添加昨天及昨天之前的课堂评价");
+        }
 
         CoursePatrolEvaluation one = this.lambdaQuery().eq(CoursePatrolEvaluation::getCourseScheduleId, coursePatrolEvaluation.getCourseScheduleId())
                 .last("limit 1")

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -3908,4 +3908,16 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         }
         return musicGroupByIds.stream().collect(Collectors.toMap(o -> Long.parseLong(o.getId()), Function.identity()));
     }
+
+
+    /**
+     * 获取乐团信息
+     *
+     * @param musicGroupId 乐团id
+     * @param coopId 合作单位id
+     */
+    @Override
+    public List<Subject> getSubjectListByIdAndCoopId(String musicGroupId, Integer coopId) {
+        return subjectDao.getSubjectListByIdAndCoopId(musicGroupId,coopId);
+    }
 }

+ 9 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServiceImpl.java

@@ -1323,7 +1323,9 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
     @Override
     public IPage<StudentWrapper.StudentList> userPage(IPage<StudentWrapper.StudentList> page, StudentWrapper.StudentQuery queryInfo) {
 
-        queryInfo.setStatusList(Arrays.asList(StudentMusicGroupStatusEnum.NORMAL, StudentMusicGroupStatusEnum.QUIT, StudentMusicGroupStatusEnum.QUIT_SCHOOL));
+        if (CollectionUtils.isEmpty(queryInfo.getStatusList())) {
+            queryInfo.setStatusList(Arrays.asList(StudentMusicGroupStatusEnum.NORMAL, StudentMusicGroupStatusEnum.QUIT, StudentMusicGroupStatusEnum.QUIT_SCHOOL));
+        }
         List<StudentWrapper.StudentList> studentLists = studentPlusMapper.userPage(page, queryInfo);
 
         if (CollectionUtils.isEmpty(studentLists)) {
@@ -1364,7 +1366,6 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
         // 查询作业
         studentHomeworkData(studentLists, studentAttendanceQuery);
 
-
         return page.setRecords(studentLists);
     }
 
@@ -1381,7 +1382,7 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
         StudentWrapper.StudentDetail studentDetail = JSON.parseObject(JSON.toJSONString(studentList), StudentWrapper.StudentDetail.class);
 
         // 查询学生信息
-        StudentRegistration studentRegister = studentRegistrationService.getStudentRegister(queryInfo.getMusicGroupId().toString(), queryInfo.getStudentId());
+        StudentRegistration studentRegister = studentRegistrationService.getStudentRegister(queryInfo.getMusicGroupId(), queryInfo.getStudentId());
         if (studentRegister == null) {
             return studentDetail;
         }
@@ -1402,8 +1403,9 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
                 .cooperationOrganId(queryInfo.getCooperationOrganId())
                 .studentId(queryInfo.getStudentId())
                 .musicGroupId(queryInfo.getMusicGroupId())
-                .startTime(DateUtil.toDate(DateUtil.getStartTerm(new Date())))
-                .endTime(DateUtil.toDateTime(DateUtil.getEndTerm(new Date()) + " 23:59:59"))
+                // 时间为本学期
+//                .startTime(DateUtil.toDate(DateUtil.getStartTerm(new Date())))
+//                .endTime(DateUtil.toDateTime(DateUtil.getEndTerm(new Date()) + " 23:59:59"))
                 .build();
         List<SchoolActivityWrapper.SchoolActivity> schoolActivities = schoolActivityMapper.selectPage(new Page<>(1, -1), build);
         if (!CollectionUtils.isEmpty(schoolActivities)) {
@@ -1412,12 +1414,13 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
 
         // 在团状态
         MusicGroupQuit musicGroupQuit = musicGroupQuitDao
-                .queryByUserIdAndMusicGroupId(queryInfo.getStudentId(), queryInfo.getMusicGroupId().toString());
+                .queryByUserIdAndMusicGroupId(queryInfo.getStudentId(), queryInfo.getMusicGroupId());
 
         if (StudentMusicGroupStatusEnum.APPLY.equals(studentRegister.getMusicGroupStatus())) {
             studentDetail.setInGroupStatus(EInGroupStatus.APPLY);
         } else if (StudentMusicGroupStatusEnum.QUIT.equals(studentRegister.getMusicGroupStatus())) {
             studentDetail.setInGroupStatus(EInGroupStatus.OUT);
+            studentDetail.setQuitTime(musicGroupQuit.getQuitDate());
         } else if (StudentMusicGroupStatusEnum.NORMAL.equals(studentRegister.getMusicGroupStatus())) {
             studentDetail.setInGroupStatus(EInGroupStatus.IN);
             if (musicGroupQuit != null && musicGroupQuit.getStatus().equals(ApprovalStatus.PROCESSING)) {

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

@@ -287,6 +287,16 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 			}else{
 				teacherAttendanceDao.insert(teacherAttendance);
 			}
+            // 推送异常考勤消息
+            if(YesOrNoEnum.NO.equals(teacherAttendance.getSignInStatus())){
+
+//                Map<Integer, String> userMap = new HashMap<>();
+//                userMap.put();
+//
+//                sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.JIGUANG_TEACHER_SIGN_IN_EXCEPTION,
+//                        userMap, null, 0, "", null);
+            }
+
 			return result;
 		}else if(teacherAttendance.getSignOutTime() == null && teacherSignOutDto.getTeacherAttendanceInfo().getStatus().equals(SignStatusEnum.SIGN_OUT.getCode())){
 			int i = studentAttendanceDao.countByCourseSchedule(courseSchedule.getId());

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/MusicGroupMapper.xml

@@ -133,7 +133,7 @@
                 #{delFlag}, #{paymentValidStartDate}, #{paymentValidEndDate}, #{paymentPattern},
                 #{courseViewType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}, #{transactionTeacherId},#{homeworkPushFlag},#{memberCourseShowFlag},#{tenantId},#{isGiveAccessories},
                 #{extracurricularTeacher,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{firstCourseStartTime},
-                #{musicGroupPlanMakingId},#{firstRecruitGrade},#{defaultChargeStandard},#{singleTrainMinutes},#{coursePlan},#{saleActivityDesc},#{graduateGrade},#{basicStudentNum},#{paymentUserType},#{chargeMode}.#{gradeType})
+                #{musicGroupPlanMakingId},#{firstRecruitGrade},#{defaultChargeStandard},#{singleTrainMinutes},#{coursePlan},#{saleActivityDesc},#{graduateGrade},#{basicStudentNum},#{paymentUserType},#{chargeMode},#{gradeType})
     </insert>
 
     <!-- 根据主键查询一条记录 -->

+ 7 - 0
mec-biz/src/main/resources/config/mybatis/SchoolActivityMapper.xml

@@ -43,9 +43,16 @@
     <select id="getUserList" resultType="com.ym.mec.biz.dal.wrapper.SchoolActivityWrapper$SchoolActivityStudent">
         select distinct s.user_id_ as studentId
             , sr.actual_subject_id_ as subjectId
+        <if test="param.activityDetailId != null">
+            ,if(sadu.id_ is null, false, true) as selected
+        </if>
         from student s
         left join student_registration sr on sr.user_id_ = s.user_id_
 
+        <if test="param.activityDetailId != null">
+            left join school_activity_detail_user sadu on sadu.student_id_ = s.user_id_ and sadu.school_activity_detail_id_ = #{param.activityDetailId}
+        </if>
+
         <where>
             <if test="param.musicGroupId != null and param.musicGroupId != ''">
                 and sr.music_group_id_ = #{param.musicGroupId}

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

@@ -9,9 +9,7 @@
         group_concat(sr.music_group_id_) as musicGroupIds
         from student s
 
-        <if test="param.keyword != null and param.keyword != ''">
-            left join sys_user su on su.id_ = s.user_id_
-        </if>
+        left join sys_user su on su.id_ = s.user_id_
         left join student_registration sr on sr.user_id_ = s.user_id_
         <where>
             sr.music_group_status_ in
@@ -42,7 +40,7 @@
                 </if>
             </if>
         </where>
-        group by s.user_id_
+        group by su.username_ ,s.user_id_
     </select>
 
 </mapper>

+ 17 - 0
mec-biz/src/main/resources/config/mybatis/SubjectMapper.xml

@@ -272,4 +272,21 @@
         select * from subject where del_flag_ = 0 and parent_subject_id_ != 0
     </select>
 
+    <select id="getSubjectListByIdAndCoopId" resultType="com.ym.mec.biz.dal.entity.Subject">
+        SELECT
+            s.id_ as id
+        ,s.name_ as name
+        FROM
+            `subject` s
+            LEFT JOIN music_group_subject_plan mgsp on s.id_ = mgsp.subject_id_
+            LEFT JOIN music_group mg on mg.id_ = mgsp.music_group_id_
+        WHERE
+            s.del_flag_ = 0
+            <if test="musicGroupId != null and musicGroupId != ''">
+                AND mg.id_ = #{musicGroupId}
+            </if>
+            <if test="coopId != null">
+                AND mg.cooperation_organ_id_ = #{coopId}
+            </if>
+    </select>
 </mapper>

+ 13 - 4
mec-web/src/main/java/com/ym/mec/web/controller/StudentManageController.java

@@ -2,10 +2,7 @@ package com.ym.mec.web.controller;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ym.mec.biz.dal.dto.*;
-import com.ym.mec.biz.dal.entity.ApprovalStatus;
-import com.ym.mec.biz.dal.entity.MusicGroup;
-import com.ym.mec.biz.dal.entity.MusicGroupQuit;
-import com.ym.mec.biz.dal.entity.Student;
+import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.StudentMusicGroupStatusEnum;
 import com.ym.mec.biz.dal.page.*;
 import com.ym.mec.biz.dal.wrapper.StudentWrapper;
@@ -505,4 +502,16 @@ public class StudentManageController extends BaseController {
         musicGroupQuit.setOperatorId(operatorId);
         return succeed(musicGroupService.applyQuitMusicGroup(null, musicGroupQuit));
     }
+
+
+    @ApiOperation(value = "学校端-声部列表")
+    @PostMapping("/coopSubjectList")
+    public HttpResponseResult<List<Subject>> HttpResponseResult(String musicGroupId, @RequestHeader Integer coopId) {
+        if (coopId == null) {
+            return succeed();
+        }
+
+        return succeed(musicGroupService.getSubjectListByIdAndCoopId(musicGroupId, coopId));
+    }
+
 }