Просмотр исходного кода

Merge remote-tracking branch 'origin/master'

Joburgess 5 лет назад
Родитель
Сommit
8a4a4fb0c4
39 измененных файлов с 729 добавлено и 169 удалено
  1. 6 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupDao.java
  2. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java
  3. 8 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentCalenderDao.java
  4. 14 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentEntitiesDao.java
  5. 14 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentManageDao.java
  6. 38 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDao.java
  7. 6 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDefaultMusicGroupSalaryDao.java
  8. 67 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupTeacherAttendanceDto.java
  9. 93 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupTeachersDto.java
  10. 1 5
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/SubFeeSettingDto.java
  11. 5 2
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseSchedule.java
  12. 17 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupBuildLog.java
  13. 0 6
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/MusicGroupQueryInfo.java
  14. 51 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/MusicGroupTeacherAttendanceQueryInfo.java
  15. 42 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/MusicGroupTeachersQueryInfo.java
  16. 13 7
      mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupService.java
  17. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentManageService.java
  18. 0 7
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentPaymentOrderService.java
  19. 20 1
      mec-biz/src/main/java/com/ym/mec/biz/service/TeacherService.java
  20. 43 68
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java
  21. 20 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentManageServiceImpl.java
  22. 0 6
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderServiceImpl.java
  23. 7 14
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherDefaultMusicGroupSalaryServiceImpl.java
  24. 65 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java
  25. 4 4
      mec-biz/src/main/resources/config/mybatis/ChargeTypeMapper.xml
  26. 8 0
      mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml
  27. 4 0
      mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  28. 3 1
      mec-biz/src/main/resources/config/mybatis/MusicGroupBuildLogMapper.xml
  29. 8 0
      mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderMapper.xml
  30. 12 2
      mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentEntitiesMapper.xml
  31. 10 1
      mec-biz/src/main/resources/config/mybatis/TeacherDefaultMusicGroupSalaryMapper.xml
  32. 87 0
      mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml
  33. 2 1
      mec-biz/src/main/resources/config/mybatis/VipGroupDefaultClassesCycleMapper.xml
  34. 1 1
      mec-web/src/main/java/com/ym/mec/web/controller/ClassGroupController.java
  35. 13 26
      mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupController.java
  36. 7 0
      mec-web/src/main/java/com/ym/mec/web/controller/StudentManageController.java
  37. 4 9
      mec-web/src/main/java/com/ym/mec/web/controller/StudentWithdrawController.java
  38. 21 4
      mec-web/src/main/java/com/ym/mec/web/controller/TeacherController.java
  39. 1 2
      mec-web/src/main/java/com/ym/mec/web/controller/student/StudentPaymentOrderController.java

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupDao.java

@@ -267,6 +267,12 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
     List<TeacherClassGroupDto> findTeacherVipClassGroup(@Param("teacherId") Long teacherId);
 
     /**
+     * 根据合奏班编号列表,获取单技班名称列表
+     * @param classGroupIds
+     * @return
+     */
+    List<Map<Integer, String>> queryNamesByClassId(@Param("classGroupIds") String classGroupIds);
+    /**
      * @describe 查询班级下所有学生的部门编号列表
      * @author Joburgess
      * @date 2019/10/21

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

@@ -328,4 +328,11 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @return java.util.List<java.util.Map<java.lang.Integer,java.lang.Integer>>
      */
     List<Map<Integer,Integer>> findCourseScheduleCurrentTimes(List<Integer> courseSchedules);
+
+    /**
+     * 根据乐团编号修改课程教学点
+     * @param musicGroupId
+     * @param schoolId
+     */
+    void updateByMusicGroupId(@Param("musicGroupId") String musicGroupId,@Param("schoolId") Integer schoolId);
 }

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

@@ -2,6 +2,7 @@ package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
 import com.ym.mec.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -20,4 +21,11 @@ public interface MusicGroupPaymentCalenderDao extends BaseDAO<Long, MusicGroupPa
      * @return
      */
     List<MusicGroupPaymentCalender> findByMusicGroupId(String musicGroupId);
+
+    /**
+     * 批量新增乐团缴费周期
+     * @param calender
+     * @param musicGroupId
+     */
+    void batchAdd(@Param("calender") List<Integer> calender,@Param("musicGroupId") String musicGroupId);
 }

+ 14 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentEntitiesDao.java

@@ -2,6 +2,20 @@ package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentEntities;
 import com.ym.mec.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 public interface MusicGroupPaymentEntitiesDao extends BaseDAO<Integer, MusicGroupPaymentEntities> {
+    /**
+     * 批量新增
+     * @param entities
+     */
+    void batchAdd(@Param("entities") List<MusicGroupPaymentEntities> entities,@Param("musicGroupId")String musicGroupId);
+
+    /**
+     * 根据乐团编号删除
+     * @param musicGroupId
+     */
+    void delByGroupId(String musicGroupId);
 }

+ 14 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentManageDao.java

@@ -98,4 +98,18 @@ public interface StudentManageDao {
      * @return
      */
     int countStudentPayment(Map<String, Object> params);
+
+    /**
+     * 获取乐团管理学员列表
+     * @param params
+     * @return
+     */
+    List queryMusicGroupStudent(Map<String, Object> params);
+
+    /**
+     * COUNT乐团管理学员列表
+     * @param params
+     * @return
+     */
+    int countMusicGroupStudent(Map<String, Object> params);
 }

+ 38 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDao.java

@@ -2,6 +2,8 @@ package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.BasicUserDto;
+import com.ym.mec.biz.dal.dto.MusicGroupTeacherAttendanceDto;
+import com.ym.mec.biz.dal.dto.MusicGroupTeachersDto;
 import com.ym.mec.biz.dal.dto.TeacherCloseDto;
 import com.ym.mec.biz.dal.entity.Teacher;
 import com.ym.mec.common.dal.BaseDAO;
@@ -81,7 +83,7 @@ public interface TeacherDao extends BaseDAO<Integer, Teacher> {
      * @param musicGroupId: 乐团编号
      * @return java.util.List<com.ym.mec.biz.dal.dto.BasicUserDto>
      */
-    List<BasicUserDto> findTeacherByMusicGroup(Long musicGroupId);
+    List<BasicUserDto> findTeacherByMusicGroup(String musicGroupId);
 
 
     /**
@@ -91,4 +93,39 @@ public interface TeacherDao extends BaseDAO<Integer, Teacher> {
      */
     BigDecimal findTeacherNoPay(Integer teacherId);
 
+    /**
+     * 获取乐团详情老师列表
+     * @param params
+     * @return
+     */
+    List<MusicGroupTeachersDto> queryMusicGroupTeachers(Map<String, Object> params);
+
+    /**
+     * Count乐团详情老师列表
+     * @param params
+     * @return
+     */
+    int countMusicGroupTeachers(Map<String, Object> params);
+
+    /**
+     * 根据教师编号列表,和班级编号列表获取教师签到次数
+     * @param teacherIdStr
+     * @param classGroupIdStr
+     * @return
+     */
+    List<Map<Integer, Integer>> findSignNum(@Param("teacherIdStr") String teacherIdStr,@Param("classGroupIdStr") String classGroupIdStr);
+
+    /**
+     * 获取教师乐团上课记录(乐团管理--乐团详情)
+     * @param params
+     * @return
+     */
+    List<MusicGroupTeacherAttendanceDto> queryTeacherAttendance(Map<String, Object> params);
+
+    /**
+     * COUNT教师乐团上课记录(乐团管理--乐团详情)
+     * @param params
+     * @return
+     */
+    int countTeacherAttendance(Map<String, Object> params);
 }

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDefaultMusicGroupSalaryDao.java

@@ -27,4 +27,10 @@ public interface TeacherDefaultMusicGroupSalaryDao extends BaseDAO<Long, Teacher
      * @param settlementType
      */
     void delByTeacherId(@Param("userId")Integer userId, @Param("settlementType") String settlementType);
+
+    /**
+     * 批量新增
+     * @param salaries
+     */
+    void batchAdd(@Param("salaries") List<TeacherDefaultMusicGroupSalary> salaries);
 }

+ 67 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupTeacherAttendanceDto.java

@@ -0,0 +1,67 @@
+package com.ym.mec.biz.dal.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+
+public class MusicGroupTeacherAttendanceDto {
+
+    @ApiModelProperty(value = "课程计划ID",required = false)
+    private String classDate;
+
+    private String startClassTime;
+
+    private String courseScheduleName;
+
+    private String realName;
+
+    private String signInStatus;
+
+    private String signOutStatus;
+
+    public String getClassDate() {
+        return classDate;
+    }
+
+    public void setClassDate(String classDate) {
+        this.classDate = classDate;
+    }
+
+    public String getStartClassTime() {
+        return startClassTime;
+    }
+
+    public void setStartClassTime(String startClassTime) {
+        this.startClassTime = startClassTime;
+    }
+
+    public String getCourseScheduleName() {
+        return courseScheduleName;
+    }
+
+    public void setCourseScheduleName(String courseScheduleName) {
+        this.courseScheduleName = courseScheduleName;
+    }
+
+    public String getRealName() {
+        return realName;
+    }
+
+    public void setRealName(String realName) {
+        this.realName = realName;
+    }
+
+    public String getSignInStatus() {
+        return signInStatus;
+    }
+
+    public void setSignInStatus(String signInStatus) {
+        this.signInStatus = signInStatus;
+    }
+
+    public String getSignOutStatus() {
+        return signOutStatus;
+    }
+
+    public void setSignOutStatus(String signOutStatus) {
+        this.signOutStatus = signOutStatus;
+    }
+}

+ 93 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupTeachersDto.java

@@ -0,0 +1,93 @@
+package com.ym.mec.biz.dal.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+
+public class MusicGroupTeachersDto{
+    @ApiModelProperty(value = "教师名称",required = true)
+    private String teacherName;
+
+    @ApiModelProperty(value = "教师编号",required = true)
+    private Integer teacherId;
+
+    @ApiModelProperty(value = "联系电话",required = true)
+    private String teacherPhone;
+
+    @ApiModelProperty(value = "工作类型",required = true)
+    private String jobNature;
+
+    @ApiModelProperty(value = "合奏班名称",required = true)
+    private String classGroupName;
+
+    @ApiModelProperty(value = "合奏班级编号",required = true)
+    private Integer classGroupId;
+
+    @ApiModelProperty(value = "执教班级名称",required = true)
+    private String courseScheduleName;
+
+    @ApiModelProperty(value = "出勤次数",required = true)
+    private Integer num;
+
+    public Integer getTeacherId() {
+        return teacherId;
+    }
+
+    public void setTeacherId(Integer teacherId) {
+        this.teacherId = teacherId;
+    }
+
+    public Integer getClassGroupId() {
+        return classGroupId;
+    }
+
+    public void setClassGroupId(Integer classGroupId) {
+        this.classGroupId = classGroupId;
+    }
+
+    public String getTeacherName() {
+        return teacherName;
+    }
+
+    public void setTeacherName(String teacherName) {
+        this.teacherName = teacherName;
+    }
+
+    public String getTeacherPhone() {
+        return teacherPhone;
+    }
+
+    public void setTeacherPhone(String teacherPhone) {
+        this.teacherPhone = teacherPhone;
+    }
+
+    public String getJobNature() {
+        return jobNature;
+    }
+
+    public void setJobNature(String jobNature) {
+        this.jobNature = jobNature;
+    }
+
+    public String getClassGroupName() {
+        return classGroupName;
+    }
+
+    public void setClassGroupName(String classGroupName) {
+        this.classGroupName = classGroupName;
+    }
+
+    public String getCourseScheduleName() {
+        return courseScheduleName;
+    }
+
+    public void setCourseScheduleName(String courseScheduleName) {
+        this.courseScheduleName = courseScheduleName;
+    }
+
+    public Integer getNum() {
+        return num;
+    }
+
+    public void setNum(Integer num) {
+        this.num = num;
+    }
+}

+ 1 - 5
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/SubFeeSettingDto.java

@@ -1,14 +1,10 @@
 package com.ym.mec.biz.dal.dto;
 
+import com.ym.mec.biz.dal.entity.*;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.util.List;
 
-import com.ym.mec.biz.dal.entity.MusicGroup;
-import com.ym.mec.biz.dal.entity.MusicGroupPaymentEntities;
-import com.ym.mec.biz.dal.entity.MusicGroupSubjectGoodsGroup;
-import com.ym.mec.biz.dal.entity.MusicGroupSubjectPlan;
-
 public class SubFeeSettingDto {
 
     @ApiModelProperty(value = "乐团明细",required = false)

+ 5 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseSchedule.java

@@ -24,8 +24,11 @@ public class CourseSchedule {
 
 	public enum CourseScheduleType implements BaseEnum<String, CourseScheduleType> {
 
-		SINGLE("SINGLE", "单技课"), MIX("MIX", "合奏课"), HIGH("HIGH", "小班课"), VIP("VIP", "vip课"), DEMO("DEMO", "试听课"), COMPREHENSIVE("COMPREHENSIVE", "综合课"), PRACTICE(
-				"PRACTICE", "练习课"), ENLIGHTENMENT("ENLIGHTENMENT", "启蒙课"), TRAINING("TRAINING", "集训课");
+		SINGLE("SINGLE", "单技课"), MIX("MIX", "合奏课"),
+		HIGH("HIGH", "小班课"), VIP("VIP", "vip课"),
+		DEMO("DEMO", "试听课"), COMPREHENSIVE("COMPREHENSIVE", "综合课"),
+		PRACTICE("PRACTICE", "练习课"), ENLIGHTENMENT("ENLIGHTENMENT", "启蒙课"),
+		TRAINING("TRAINING", "集训课");
 
 		private String code;
 

+ 17 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupBuildLog.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.entity;
 
+import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 /**
@@ -11,20 +12,36 @@ public class MusicGroupBuildLog {
 	private Integer id;
 	
 	/**  */
+	@ApiModelProperty(value = "乐团编号",required = false)
 	private String musicGroupId;
 	
 	/** 事件 */
+	@ApiModelProperty(value = "事件",required = false)
 	private String event;
 	
 	/**  */
+	@ApiModelProperty(value = "创建人编号",required = false)
 	private Integer operator;
 	
 	/**  */
+	@ApiModelProperty(value = "备注",required = false)
 	private String memo;
+
+	/**  */
+	@ApiModelProperty(value = "创建人名字",required = false)
+	private String realName;
 	
 	/**  */
 	private java.util.Date createTime;
 
+	public String getRealName() {
+		return realName;
+	}
+
+	public void setRealName(String realName) {
+		this.realName = realName;
+	}
+
 	public MusicGroupBuildLog(String musicGroupId, String event, Integer operator, String memo) {
 		this.musicGroupId = musicGroupId;
 		this.event = event;

+ 0 - 6
mec-biz/src/main/java/com/ym/mec/biz/dal/page/MusicGroupQueryInfo.java

@@ -1,6 +0,0 @@
-package com.ym.mec.biz.dal.page;
-
-import com.ym.mec.common.page.QueryInfo;
-
-public class MusicGroupQueryInfo extends QueryInfo {
-}

+ 51 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/MusicGroupTeacherAttendanceQueryInfo.java

@@ -0,0 +1,51 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
+
+public class MusicGroupTeacherAttendanceQueryInfo extends QueryInfo {
+
+    @ApiModelProperty(value = "乐团编号",required = false)
+    private String musicGroupId;
+
+    @ApiModelProperty(value = "老师名称",required = false)
+    private String teacherName;
+
+    @ApiModelProperty(value = "开始时间(不包含时分秒)",required = false)
+    private String startTime;
+
+    @ApiModelProperty(value = "结束时间(不包含时分秒)",required = false)
+    private String endTime;
+
+    public String getTeacherName() {
+        return teacherName;
+    }
+
+    public void setTeacherName(String teacherName) {
+        this.teacherName = teacherName;
+    }
+
+    public String getStartTime() {
+        return startTime;
+    }
+
+    public void setStartTime(String startTime) {
+        this.startTime = startTime;
+    }
+
+    public String getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(String endTime) {
+        this.endTime = endTime;
+    }
+
+    public String getMusicGroupId() {
+        return musicGroupId;
+    }
+
+    public void setMusicGroupId(String musicGroupId) {
+        this.musicGroupId = musicGroupId;
+    }
+}

+ 42 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/MusicGroupTeachersQueryInfo.java

@@ -0,0 +1,42 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+
+public class MusicGroupTeachersQueryInfo extends QueryInfo {
+
+    @ApiModelProperty(value = "乐团编号",required = false)
+    private String musicGroupId;
+
+    @ApiModelProperty(value = "工作类型",required = false)
+    private String jobNature;
+
+    @ApiModelProperty(value = "合奏班名称",required = false)
+    private String classGroupName;
+
+    public String getMusicGroupId() {
+        return musicGroupId;
+    }
+
+    public void setMusicGroupId(String musicGroupId) {
+        this.musicGroupId = musicGroupId;
+    }
+
+    public String getJobNature() {
+        return jobNature;
+    }
+
+    public void setJobNature(String jobNature) {
+        this.jobNature = jobNature;
+    }
+
+    public String getClassGroupName() {
+        return classGroupName;
+    }
+
+    public void setClassGroupName(String classGroupName) {
+        this.classGroupName = classGroupName;
+    }
+}

+ 13 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupService.java

@@ -1,20 +1,20 @@
 package com.ym.mec.biz.service;
 
-import java.math.BigDecimal;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.BasicUserDto;
 import com.ym.mec.biz.dal.dto.MusicCardDto;
 import com.ym.mec.biz.dal.dto.SubFeeSettingDto;
 import com.ym.mec.biz.dal.entity.ApprovalStatus;
 import com.ym.mec.biz.dal.entity.MusicGroup;
-import com.ym.mec.biz.dal.page.MusicGroupQueryInfo;
 import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.BaseService;
 
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
 public interface MusicGroupService extends BaseService<String, MusicGroup> {
 	/**
 	 * 建团申请数据提交
@@ -110,5 +110,11 @@ public interface MusicGroupService extends BaseService<String, MusicGroup> {
 	 * @param queryInfo
 	 * @return
 	 */
-	PageInfo<MusicGroup> queryMusicGroupPage(MusicGroupQueryInfo queryInfo);
+	PageInfo<MusicGroup> queryMusicGroupPage(QueryInfo queryInfo);
+
+	/**
+	 * 修改乐团基本信息
+	 * @param subFeeSettingDto
+	 */
+    void updateBaseInfo(SubFeeSettingDto subFeeSettingDto);
 }

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentManageService.java

@@ -71,4 +71,11 @@ public interface StudentManageService {
      * @return
      */
     PageInfo queryStudentPayment(TeacherPaymentRecordInfo queryInfo);
+
+    /**
+     * 获取乐团管理、学员列表
+     * @param queryInfo
+     * @return
+     */
+    PageInfo queryMusicGroupStudent(StudentManageQueryInfo queryInfo);
 }

+ 0 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/StudentPaymentOrderService.java

@@ -43,11 +43,4 @@ public interface StudentPaymentOrderService extends BaseService<Long, StudentPay
 	 * @return
 	 */
 	int findPayOrderNum();
-
-	/**
-	 * 获取学员的缴费订单
-	 * @param queryInfo
-	 * @return
-	 */
-    PageInfo queryOrderPage(StudentPaymentOrderQueryInfo queryInfo);
 }

+ 20 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/TeacherService.java

@@ -1,12 +1,17 @@
 package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.dto.BasicUserDto;
+import com.ym.mec.biz.dal.dto.MusicGroupTeacherAttendanceDto;
+import com.ym.mec.biz.dal.dto.MusicGroupTeachersDto;
 import com.ym.mec.biz.dal.dto.TeacherCloseDto;
 import com.ym.mec.biz.dal.entity.Teacher;
+import com.ym.mec.biz.dal.page.MusicGroupTeacherAttendanceQueryInfo;
+import com.ym.mec.biz.dal.page.MusicGroupTeachersQueryInfo;
 import com.ym.mec.biz.dal.page.TeacherCloseQueryInfo;
 import com.ym.mec.biz.dal.page.TeacherQueryInfo;
 import com.ym.mec.common.entity.ImGroupModel;
 import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.BaseService;
 import org.apache.ibatis.annotations.Param;
 
@@ -92,7 +97,7 @@ public interface TeacherService extends BaseService<Integer, Teacher> {
      * @param musicGroupId:
      * @return java.util.List<com.ym.mec.biz.dal.dto.BasicUserDto>
      */
-    List<BasicUserDto> queryMusicGroupTeacher(Long musicGroupId);
+    List<BasicUserDto> queryMusicGroupTeacher(String musicGroupId);
 
 
     /**
@@ -101,4 +106,18 @@ public interface TeacherService extends BaseService<Integer, Teacher> {
      * @return
      */
     BigDecimal findTeacherNoPay(Integer teacherId);
+
+    /**
+     * 获取乐团详情老师列表
+     * @param queryInfo
+     * @return
+     */
+    PageInfo<MusicGroupTeachersDto> queryMusicGroupTeachers(QueryInfo queryInfo);
+
+    /**
+     * 获取教师上课记录列表(乐团管理--乐团详情)
+     * @param queryInfo
+     * @return
+     */
+    PageInfo<MusicGroupTeacherAttendanceDto> queryTeacherAttendance(MusicGroupTeacherAttendanceQueryInfo queryInfo);
 }

+ 43 - 68
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -1,74 +1,32 @@
 package com.ym.mec.biz.service.impl;
 
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.stream.Collectors;
-
-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 com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.dao.ChargeTypeDao;
-import com.ym.mec.biz.dal.dao.ClassGroupStudentMapperDao;
-import com.ym.mec.biz.dal.dao.CourseScheduleDao;
-import com.ym.mec.biz.dal.dao.CourseScheduleTeacherSalaryDao;
-import com.ym.mec.biz.dal.dao.MusicGroupBuildLogDao;
-import com.ym.mec.biz.dal.dao.MusicGroupDao;
-import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDao;
-import com.ym.mec.biz.dal.dao.MusicGroupPaymentEntitiesDao;
-import com.ym.mec.biz.dal.dao.MusicGroupQuitDao;
-import com.ym.mec.biz.dal.dao.MusicGroupStudentFeeDao;
-import com.ym.mec.biz.dal.dao.MusicGroupSubjectGoodsGroupDao;
-import com.ym.mec.biz.dal.dao.MusicGroupSubjectPlanDao;
-import com.ym.mec.biz.dal.dao.SchoolDao;
-import com.ym.mec.biz.dal.dao.StudentPaymentOrderDao;
-import com.ym.mec.biz.dal.dao.TeacherDao;
+import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.BasicUserDto;
 import com.ym.mec.biz.dal.dto.MusicCardDto;
 import com.ym.mec.biz.dal.dto.SubFeeSettingDto;
-import com.ym.mec.biz.dal.entity.ApprovalStatus;
-import com.ym.mec.biz.dal.entity.CourseSchedule;
-import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
-import com.ym.mec.biz.dal.entity.MusicGroup;
-import com.ym.mec.biz.dal.entity.MusicGroupBuildLog;
-import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
-import com.ym.mec.biz.dal.entity.MusicGroupPaymentEntities;
-import com.ym.mec.biz.dal.entity.MusicGroupQuit;
-import com.ym.mec.biz.dal.entity.MusicGroupStudentFee;
+import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.entity.MusicGroupStudentFee.PaymentStatus;
-import com.ym.mec.biz.dal.entity.MusicGroupSubjectGoodsGroup;
-import com.ym.mec.biz.dal.entity.MusicGroupSubjectPlan;
-import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
-import com.ym.mec.biz.dal.entity.StudentRegistration;
-import com.ym.mec.biz.dal.enums.ClassGroupStudentStatusEnum;
-import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
-import com.ym.mec.biz.dal.enums.DealStatusEnum;
-import com.ym.mec.biz.dal.enums.MusicGroupStatusEnum;
-import com.ym.mec.biz.dal.enums.OrderTypeEnum;
-import com.ym.mec.biz.dal.enums.PlatformCashAccountDetailTypeEnum;
-import com.ym.mec.biz.dal.page.MusicGroupQueryInfo;
-import com.ym.mec.biz.service.MusicGroupService;
-import com.ym.mec.biz.service.PayService;
-import com.ym.mec.biz.service.StudentRegistrationService;
-import com.ym.mec.biz.service.SysUserCashAccountDetailService;
-import com.ym.mec.biz.service.SysUserCashAccountService;
+import com.ym.mec.biz.dal.enums.*;
+import com.ym.mec.biz.service.*;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.ImGroupMember;
 import com.ym.mec.common.entity.ImGroupModel;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.IdGeneratorService;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.im.ImFeignService;
 import com.ym.mec.util.collection.MapUtil;
+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 java.math.BigDecimal;
+import java.util.*;
+import java.util.stream.Collectors;
 
 @Service
 public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> implements MusicGroupService {
@@ -135,7 +93,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 	@Transactional(rollbackFor = Exception.class)
 	public String createGroup(SubFeeSettingDto subFeeSettingDto, Integer userId) {
 		MusicGroup musicGroup = subFeeSettingDto.getMusicGroup();
-		List<MusicGroupPaymentEntities> musicGroupPaymentEntities = subFeeSettingDto.getMusicGroupPaymentEntities();
 		List<MusicGroupSubjectGoodsGroup> musicGroupSubjectGoodsGroups = subFeeSettingDto.getMusicGroupSubjectGoodsGroups();
 		List<MusicGroupSubjectPlan> musicGroupSubjectPlans = subFeeSettingDto.getMusicGroupSubjectPlans();
 		String musicGroupId = idGeneratorService.generatorId() + "";
@@ -143,20 +100,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 		// 保存乐团基本信息
 		musicGroupDao.insert(musicGroup);
 		// 保存乐团付费主体列表
-		musicGroupPaymentEntities.forEach(e -> {
-			e.setMusicGroupId(musicGroupId);
-			musicGroupPaymentEntitiesDao.insert(e);
-		});
+		//批量新增
+		musicGroupPaymentEntitiesDao.batchAdd(subFeeSettingDto.getMusicGroupPaymentEntities(),musicGroupId);
 		// 保存学员付费周期
 		List<Integer> months = subFeeSettingDto.getMonths();
 		if (months != null && months.size() > 0) {
-			MusicGroupPaymentCalender mg;
-			for (Integer month : months) {
-				mg = new MusicGroupPaymentCalender();
-				mg.setMusicGroupId(musicGroupId);
-				mg.setPaymentMonth(month);
-				musicGroupPaymentCalenderDao.insert(mg);
-			}
+			musicGroupPaymentCalenderDao.batchAdd(months,musicGroupId);
 		}
 		// 保存乐团声部规划
 		if (musicGroupSubjectPlans == null) {
@@ -463,7 +412,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 	}
 
 	@Override
-	public PageInfo<MusicGroup> queryMusicGroupPage(MusicGroupQueryInfo queryInfo) {
+	public PageInfo<MusicGroup> queryMusicGroupPage(QueryInfo queryInfo) {
 		PageInfo<MusicGroup> musicGroupPageInfo = queryPage(queryInfo);
 		List<MusicGroup> musicGroupList = musicGroupPageInfo.getRows();
 		// 获取学校编号列表
@@ -503,4 +452,30 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 		});
 		return musicGroupPageInfo;
 	}
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void updateBaseInfo(SubFeeSettingDto subFeeSettingDto) {
+		MusicGroup musicGroup = subFeeSettingDto.getMusicGroup();
+		String musicGroupId = musicGroup.getId();
+		MusicGroup group = musicGroupDao.get(musicGroupId);
+		if(group != null){
+			musicGroupDao.update(musicGroup);
+			//修改课程里面的教学点
+			if(!group.getSchoolId().equals(musicGroup.getSchoolId())){
+				courseScheduleDao.updateByMusicGroupId(musicGroupId,musicGroup.getSchoolId());
+			}
+			// 删除乐团付费主体列表
+			musicGroupPaymentEntitiesDao.delByGroupId(musicGroupId);
+			//批量新增
+			musicGroupPaymentEntitiesDao.batchAdd(subFeeSettingDto.getMusicGroupPaymentEntities(),musicGroupId);
+
+			// 修改学员付费周期
+			List<Integer> calender = subFeeSettingDto.getMonths();
+			//删除乐团相关付费周期
+			musicGroupPaymentCalenderDao.delByGroupId(musicGroupId);
+			//批量插入
+			musicGroupPaymentCalenderDao.batchAdd(calender,musicGroupId);
+		}
+	}
 }

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentManageServiceImpl.java

@@ -148,4 +148,24 @@ public class StudentManageServiceImpl implements StudentManageService {
         pageInfo.setRows(dataList);
         return pageInfo;
     }
+
+    @Override
+    public PageInfo queryMusicGroupStudent(StudentManageQueryInfo queryInfo) {
+        PageInfo pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        Map<String, Object> params = new HashMap<>();
+        MapUtil.populateMap(params, queryInfo);
+
+        List dataList = null;
+        int count = studentManageDao.countMusicGroupStudent(params);
+        if (count > 0) {
+            pageInfo.setTotal(count);
+            params.put("offset", pageInfo.getOffset());
+            dataList = studentManageDao.queryMusicGroupStudent(params);
+        }
+        if (count == 0) {
+            dataList = new ArrayList<>();
+        }
+        pageInfo.setRows(dataList);
+        return pageInfo;
+    }
 }

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

@@ -45,10 +45,4 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
     public int findPayOrderNum() {
         return studentPaymentOrderDao.findPayOrderNum();
     }
-
-    @Override
-    public PageInfo queryOrderPage(StudentPaymentOrderQueryInfo queryInfo) {
-        return queryPage(queryInfo);
-    }
-
 }

+ 7 - 14
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherDefaultMusicGroupSalaryServiceImpl.java

@@ -1,18 +1,14 @@
 package com.ym.mec.biz.service.impl;
 
-import com.ym.mec.biz.dal.enums.SalarySettlementTypeEnum;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
 import com.ym.mec.biz.dal.dao.TeacherDefaultMusicGroupSalaryDao;
 import com.ym.mec.biz.dal.entity.TeacherDefaultMusicGroupSalary;
-import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
-import com.ym.mec.biz.dal.enums.YesOrNoEnum;
+import com.ym.mec.biz.dal.enums.SalarySettlementTypeEnum;
 import com.ym.mec.biz.service.TeacherDefaultMusicGroupSalaryService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
 
-import java.util.Date;
 import java.util.List;
 
 @Service
@@ -32,16 +28,13 @@ public class TeacherDefaultMusicGroupSalaryServiceImpl extends BaseServiceImpl<L
     }
 
 	@Override
-	public void batchUpset(List<TeacherDefaultMusicGroupSalary> teacherDefaultMusicGroupSalaries) {
-		if(teacherDefaultMusicGroupSalaries != null && teacherDefaultMusicGroupSalaries.size() > 0){
+	public void batchUpset(List<TeacherDefaultMusicGroupSalary> salaries) {
+		if(salaries != null && salaries.size() > 0){
 			//删除当前教师所有的结算类型的数据
-			TeacherDefaultMusicGroupSalary salary = teacherDefaultMusicGroupSalaries.get(0);
+			TeacherDefaultMusicGroupSalary salary = salaries.get(0);
 			teacherDefaultMusicGroupSalaryDao.delByTeacherId(salary.getUserId(),salary.getSettlementType().getCode());
 			//批量新增
-			teacherDefaultMusicGroupSalaries.forEach(e->{
-				teacherDefaultMusicGroupSalaryDao.insert(e);
-			});
-
+			teacherDefaultMusicGroupSalaryDao.batchAdd(salaries);
 			/*Date date = new Date();
 			teacherDefaultMusicGroupSalaries.forEach(e->{
 				if(e.getId() == null){

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

@@ -6,10 +6,14 @@ import com.ym.mec.auth.api.enums.SysUserType;
 import com.ym.mec.auth.api.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.BasicUserDto;
+import com.ym.mec.biz.dal.dto.MusicGroupTeacherAttendanceDto;
+import com.ym.mec.biz.dal.dto.MusicGroupTeachersDto;
 import com.ym.mec.biz.dal.dto.TeacherCloseDto;
 import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.School;
 import com.ym.mec.biz.dal.entity.Teacher;
+import com.ym.mec.biz.dal.page.MusicGroupTeacherAttendanceQueryInfo;
+import com.ym.mec.biz.dal.page.MusicGroupTeachersQueryInfo;
 import com.ym.mec.biz.dal.page.TeacherCloseQueryInfo;
 import com.ym.mec.biz.dal.page.TeacherQueryInfo;
 import com.ym.mec.biz.service.TeacherService;
@@ -19,6 +23,7 @@ import com.ym.mec.common.entity.ImResult;
 import com.ym.mec.common.entity.ImUserModel;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.im.ImFeignService;
 import com.ym.mec.util.collection.MapUtil;
@@ -186,7 +191,66 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 	}
 
 	@Override
-	public List<BasicUserDto> queryMusicGroupTeacher(Long musicGroupId) {
+	public PageInfo<MusicGroupTeachersDto> queryMusicGroupTeachers(QueryInfo queryInfo) {
+		PageInfo<MusicGroupTeachersDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+		Map<String, Object> params = new HashMap<>();
+		MapUtil.populateMap(params, queryInfo);
+
+		List<MusicGroupTeachersDto> dataList = null;
+		int count = teacherDao.countMusicGroupTeachers(params);
+		if (count > 0) {
+			pageInfo.setTotal(count);
+			params.put("offset", pageInfo.getOffset());
+			dataList = teacherDao.queryMusicGroupTeachers(params);
+			//获取合奏班id列表
+			Set<Integer> classGroupIds = dataList.stream().map(e -> e.getClassGroupId()).collect(Collectors.toSet());
+			String classGroupIdStr = StringUtils.join(classGroupIds,",");
+			//获取教师id列表
+			Set<Integer> teacherIds = dataList.stream().map(e -> e.getClassGroupId()).collect(Collectors.toSet());
+			String teacherIdStr = StringUtils.join(teacherIds,",");
+
+			//根据教师编号和班级编号,获取老师签到次数
+			List<Map<Integer,Integer>> signNum =  teacherDao.findSignNum(teacherIdStr,classGroupIdStr);
+			Map<Integer,Integer> signNumMap = MapUtil.convertMybatisMap(signNum);
+
+			//根据合奏班编号,获取子班级名称列表
+			List<Map<Integer,String>> classNames =  classGroupDao.queryNamesByClassId(classGroupIdStr);
+			Map<Integer,String> classNameMap = MapUtil.convertMybatisMap(classNames);
+
+			dataList.forEach(e->{
+				e.setCourseScheduleName(classNameMap.get(e.getClassGroupId()));
+				e.setNum(signNumMap.get(e.getTeacherId()));
+			});
+		}
+		if (count == 0) {
+			dataList = new ArrayList<>();
+		}
+		pageInfo.setRows(dataList);
+		return pageInfo;
+	}
+
+	@Override
+	public PageInfo<MusicGroupTeacherAttendanceDto> queryTeacherAttendance(MusicGroupTeacherAttendanceQueryInfo queryInfo) {
+		PageInfo<MusicGroupTeacherAttendanceDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+		Map<String, Object> params = new HashMap<>();
+		MapUtil.populateMap(params, queryInfo);
+
+		List<MusicGroupTeacherAttendanceDto> dataList = null;
+		int count = teacherDao.countTeacherAttendance(params);
+		if (count > 0) {
+			pageInfo.setTotal(count);
+			params.put("offset", pageInfo.getOffset());
+			dataList = teacherDao.queryTeacherAttendance(params);
+		}
+		if (count == 0) {
+			dataList = new ArrayList<>();
+		}
+		pageInfo.setRows(dataList);
+		return pageInfo;
+	}
+
+	@Override
+	public List<BasicUserDto> queryMusicGroupTeacher(String musicGroupId) {
 		if(Objects.isNull(musicGroupId)){
 			throw new BizException("请指定乐团");
 		}

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

@@ -22,12 +22,12 @@
 
     <!-- 根据主键查询一条记录 -->
     <select id="get" resultMap="ChargeType">
-		SELECT * FROM charge_type WHERE id_ = #{id} 
+		SELECT * FROM charge_type WHERE id_ = #{id}
 	</select>
 
     <!-- 全查询 -->
     <select id="findAll" resultMap="ChargeType">
-		SELECT * FROM charge_type ORDER BY id_
+		SELECT * FROM charge_type WHERE del_flag_ = 0 ORDER BY id_
 	</select>
 
     <!-- 向数据库增加一条记录 -->
@@ -68,7 +68,7 @@
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="ChargeType" parameterType="map">
         SELECT ct.*,s.id_ subject_id_,s.name_ subject_name_
-        FROM (SELECT * FROM charge_type <include refid="global.limit"/>) ct
+        FROM (SELECT * FROM charge_type WHERE del_flag_ = 0 <include refid="global.limit"/>) ct
         LEFT JOIN charge_type_subject_mapper ctsm ON ct.id_ = ctsm.charge_type_id_
         LEFT JOIN `subject` s ON ctsm.subject_id_ = s.id_
         ORDER BY ct.update_time_
@@ -76,7 +76,7 @@
 
     <!-- 查询当前表的总记录数 -->
     <select id="queryCount" resultType="int">
-		SELECT COUNT(*) FROM charge_type
+		SELECT COUNT(*) FROM charge_type WHERE del_flag_ = 0
 	</select>
     <select id="queryNameByIds" resultType="java.util.Map" parameterType="list">
         SELECT id_ `key`,name_ `value` FROM charge_type WHERE id_ IN

+ 8 - 0
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -525,6 +525,14 @@
             WHERE cgsm.class_group_id_=#{classGroupId}
     </select>
 
+    <select id="queryNamesByClassId" resultType="java.util.Map">
+        SELECT cgr.class_group_id_ 'key',GROUP_CONCAT(cg.name_) 'value'
+        FROM class_group_relation cgr
+        LEFT JOIN class_group cg ON cgr.sub_class_group_id_ = cg.id_
+        WHERE FIND_IN_SET(cgr.class_group_id_,#{classGroupIds})
+        GROUP BY cgr.class_group_id_
+    </select>
+
     <!-- 增加实际学生人数 -->
     <update id="addStudentNum" parameterType="com.ym.mec.biz.dal.entity.ClassGroup">
         UPDATE class_group SET student_num_ = student_num_+1,update_time_=#{updateTime} WHERE id_ = #{id} AND

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

@@ -749,6 +749,10 @@
         WHERE id_ = #{item.id}
         </foreach>
     </update>
+    <update id="updateByMusicGroupId">
+        UPDATE course_schedule cs SET cs.schoole_id_ = #{schoolId}
+        WHERE cs.class_group_id_ IN (SELECT cg.id_ FROM class_group cg WHERE cg.music_group_id_ = #{musicGroupId})
+    </update>
 
     <select id="queryNoSignInListByBeforeMinutes" resultMap="CourseSchedule">
         SELECT cs.* FROM course_schedule cs left join teacher_attendance ta on ta.course_schedule_id_ = cs.id_ WHERE ta.sign_in_time_ is null and SUBTIME(start_class_time_, CONCAT(#{minutes},'00')) &lt; CURRENT_TIME()

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

@@ -13,6 +13,7 @@
         <result column="operator_" property="operator"/>
         <result column="memo_" property="memo"/>
         <result column="create_time_" property="createTime"/>
+        <result column="real_name_" property="realName"/>
     </resultMap>
 
     <!-- 根据主键查询一条记录 -->
@@ -68,6 +69,7 @@
 		SELECT COUNT(*) FROM music_group_build_log
 	</select>
     <select id="findById" resultMap="MusicGroupBuildLog">
-		SELECT * FROM music_group_build_log WHERE music_group_id_ = #{musicGroupId}
+		SELECT mgbl.*,su.real_name_ FROM music_group_build_log mgbl LEFT JOIN sys_user su ON mgbl.operator_ = su.id_
+		WHERE music_group_id_ = #{musicGroupId}
 	</select>
 </mapper>

+ 8 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderMapper.xml

@@ -32,6 +32,14 @@
         (id_,music_group_id_,payment_month_,start_payment_date_,create_time_,update_time_)
         VALUES(#{id},#{musicGroupId},#{paymentMonth},#{startPaymentDate},now(),now())
     </insert>
+    <insert id="batchAdd">
+        INSERT INTO music_group_payment_calender
+        (music_group_id_,payment_month_,create_time_,update_time_)
+        VALUES
+        <foreach collection="calender" item="item" separator=",">
+            (#{musicGroupId},#{item},now(),now())
+        </foreach>
+    </insert>
 
     <!-- 根据主键查询一条记录 -->
     <update id="update" parameterType="com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender">

+ 12 - 2
mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentEntitiesMapper.xml

@@ -32,8 +32,15 @@
 		INSERT INTO music_group_payment_entities (id_,music_group_id_,name_,payment_method_,amount_,memo_,create_time_,update_time_)
 		VALUES(#{id},#{musicGroupId},#{name},#{paymentMethod, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{amount},#{memo},now(),now())
 	</insert>
+    <insert id="batchAdd">
+		INSERT INTO music_group_payment_entities (music_group_id_,name_,payment_method_,amount_,memo_,create_time_,update_time_)
+		VALUES
+		<foreach collection="entities" item="item" separator=",">
+			(#{musicGroupId},#{item.name},#{item.paymentMethod.code},#{item.amount},now(),now())
+		</foreach>
+	</insert>
 
-	<!-- 根据主键查询一条记录 -->
+    <!-- 根据主键查询一条记录 -->
 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.MusicGroupPaymentEntities">
 		UPDATE music_group_payment_entities
 		<set>
@@ -63,7 +70,10 @@
 	<delete id="delete" >
 		DELETE FROM music_group_payment_entities WHERE id_ = #{id} 
 	</delete>
-	
+	<delete id="delByGroupId">
+		DELETE FROM music_group_payment_entities WHERE music_group_id_ = #{musicGroupId}
+	</delete>
+
 	<!-- 分页查询 -->
 	<select id="queryPage" resultMap="MusicGroupPaymentEntities" parameterType="map">
 		SELECT * FROM music_group_payment_entities ORDER BY id_ <include refid="global.limit"/>

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

@@ -38,6 +38,16 @@
 		#{settlementType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{durationMin},#{durationMax},
 		#{mainTeacherSalary},#{assistantTeacherSalary},now(),now())
 	</insert>
+	<insert id="batchAdd" parameterType="list">
+		INSERT INTO teacher_default_music_group_salary
+		(user_id_,course_schedule_type_,settlement_type_,duration_min_,duration_max_,main_teacher_salary_,
+		assistant_teacher_salary_,create_time_,update_time_)
+		VALUES
+		<foreach collection="salaries" item="item" separator=",">
+			(#{item.userId},#{item.courseScheduleType.code},#{item.settlementType.code},#{item.durationMin},
+			#{item.durationMax},#{item.mainTeacherSalary},#{item.assistantTeacherSalary},now(),now())
+		</foreach>
+	</insert>
 
 	<!-- 根据主键查询一条记录 -->
 	<update id="update"
@@ -76,7 +86,6 @@
 	<delete id="delete">
 		DELETE FROM teacher_default_music_group_salary WHERE id_ = #{id}
 	</delete>
-
     <delete id="delByTeacherId">
 		DELETE FROM teacher_default_music_group_salary WHERE user_id_ = #{userId} AND settlement_type_ = #{settlementType}
 	</delete>

+ 87 - 0
mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -309,6 +309,93 @@
             LEFT JOIN sys_user su ON cgtm.user_id_=su.id_
             WHERE cg.music_group_id_=#{musicGroupId}
     </select>
+    <resultMap id="MusicGroupTeachersDto" type="com.ym.mec.biz.dal.dto.MusicGroupTeachersDto">
+        <result property="teacherName" column="real_name_"/>
+        <result property="teacherPhone" column="phone_"/>
+        <result property="jobNature" column="job_nature_"/>
+        <result property="classGroupName" column="class_group_name_"/>
+        <result property="classGroupId" column="class_group_id_"/>
+        <result property="teacherId" column="teacher_id_"/>
+    </resultMap>
+    <select id="queryMusicGroupTeachers" resultMap="MusicGroupTeachersDto">
+        SELECT su.real_name_,su.phone_,t.job_nature_,GROUP_CONCAT(cg.name_) class_group_name_,cgtm.class_group_id_,t.id_ teacher_id_
+        FROM teacher t
+        LEFT JOIN class_group_teacher_mapper cgtm ON t.id_ = cgtm.user_id_
+        LEFT JOIN class_group cg ON cg.id_ = cgtm.class_group_id_
+        LEFT JOIN sys_user su ON t.id_ = su.id_
+        <include refid="queryMusicGroupTeachersSql"/>
+        GROUP BY t.id_,cgtm.class_group_id_
+        <include refid="global.limit"/>
+    </select>
+    <select id="countMusicGroupTeachers" resultType="java.lang.Integer">
+        SELECT COUNT(DISTINCT t.id_)
+        FROM teacher t
+        LEFT JOIN class_group_teacher_mapper cgtm ON t.id_ = cgtm.user_id_
+        LEFT JOIN class_group cg ON cg.id_ = cgtm.class_group_id_
+        LEFT JOIN sys_user su ON t.id_ = su.id_
+        <include refid="queryMusicGroupTeachersSql"/>
+    </select>
+    <sql id="queryMusicGroupTeachersSql">
+        <where>
+                cg.type_ = 'MIX'
+            <if test="musicGroupId != null and musicGroupId != ''">
+                AND cg.music_group_id_ = #{musicGroupId}
+            </if>
+            <if test="jobNature != null and jobNature != ''">
+                AND t.job_nature_ = #{jobNature}
+            </if>
+            <if test="classGroupName != null and classGroupName != ''">
+                AND cg.name_ LIKE CONCAT('%',#{classGroupName},'%')
+            </if>
+        </where>
+    </sql>
+
+    <select id="findSignNum" resultType="java.util.Map">
+        SELECT ta.teacher_id_ 'key',COUNT(ta.id_) 'value' FROM teacher_attendance ta
+        WHERE FIND_IN_SET(ta.teacher_id_,#{teacherIdStr}) AND FIND_IN_SET(ta.class_group_id_,#{classGroupIdStr})
+        GROUP BY ta.teacher_id_,ta.class_group_id_
+    </select>
+
+    <sql id="queryTeacherAttendanceSql">
+        <where>
+            (cs.type_ = 'SINGLE' OR cs.type_ = 'MIX')
+            <if test="startTime != null and startTime != ''">
+                AND cs.class_date_ &gt;= #{startTime}
+            </if>
+            <if test="endTime != null and endTime != ''">
+                AND cs.class_date_ &lt;= #{endTime}
+            </if>
+            <if test="musicGroupId != null and musicGroupId != ''">
+                AND ta.music_group_id_ = #{musicGroupId}
+            </if>
+            <if test="teacherName != null and teacherName != ''">
+                AND su.real_name_ LIKE CONCAT('%',#{teacherName},'%')
+            </if>
+        </where>
+    </sql>
+    <resultMap id="MusicGroupTeacherAttendanceDto" type="com.ym.mec.biz.dal.dto.MusicGroupTeacherAttendanceDto">
+        <result property="classDate" column="class_date_"/>
+        <result property="startClassTime" column="start_class_time_"/>
+        <result property="courseScheduleName" column="name_"/>
+        <result property="realName" column="real_name_"/>
+        <result property="signInStatus" column="sign_in_status_"/>
+        <result property="signOutStatus" column="sign_out_status_"/>
+    </resultMap>
+    <select id="queryTeacherAttendance" resultMap="MusicGroupTeacherAttendanceDto">
+        SELECT cs.class_date_,cs.start_class_time_,cs.name_,su.real_name_,ta.sign_in_status_,ta.sign_out_status_
+        FROM course_schedule cs
+        LEFT JOIN teacher_attendance ta ON cs.id_ = ta.course_schedule_id_
+        LEFT JOIN sys_user su ON su.id_ = ta.teacher_id_
+        <include refid="queryTeacherAttendanceSql"/>
+        <include refid="global.limit"/>
+    </select>
+    <select id="countTeacherAttendance" resultType="java.lang.Integer">
+        SELECT COUNT(cs.id_)
+        FROM course_schedule cs
+        LEFT JOIN teacher_attendance ta ON cs.id_ = ta.course_schedule_id_
+        LEFT JOIN sys_user su ON su.id_ = ta.teacher_id_
+        <include refid="queryTeacherAttendanceSql"/>
+    </select>
 
     <sql id="queryCloses">
         <where>

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

@@ -36,7 +36,8 @@
 		INSERT INTO vip_group_default_classes_cycle (id_,min_class_times_,max_class_times_,month_,create_time_,update_time_,organ_id_)
 		VALUE
 		<foreach collection="list" item="vipGroupDefaultClassesCycle" separator=",">
-			(#{vipGroupDefaultClassesCycle.id},#{vipGroupDefaultClassesCycle.minClassTimes},#{vipGroupDefaultClassesCycle.maxClassTimes},#{vipGroupDefaultClassesCycle.month},now(),now(),#{vipGroupDefaultClassesCycle.organId})
+			(#{vipGroupDefaultClassesCycle.id},#{vipGroupDefaultClassesCycle.minClassTimes},
+			#{vipGroupDefaultClassesCycle.maxClassTimes},#{vipGroupDefaultClassesCycle.month},now(),now(),#{vipGroupDefaultClassesCycle.organId})
 		</foreach>
 	</insert>
 

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/ClassGroupController.java

@@ -49,7 +49,7 @@ public class ClassGroupController extends BaseController {
 
     @ApiOperation(value = "新增提高班")
     @PostMapping("/addHighClass")
-    //@PreAuthorize("@pcs.hasPermissions('classGroup/addHighClass')")
+    @PreAuthorize("@pcs.hasPermissions('classGroup/addHighClass')")
     @ApiParam(value = "乐团提高班json", required = true)
     public Object addHighClass(@RequestBody List<HighClassGroupDto> highClassGroupDtoList) throws Exception {
         if (highClassGroupDtoList.size() <= 0) {

+ 13 - 26
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupController.java

@@ -2,27 +2,15 @@ package com.ym.mec.web.controller;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
-
+import com.ym.mec.biz.dal.dto.SubFeeSettingDto;
+import com.ym.mec.biz.service.MusicGroupService;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.page.QueryInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
-
-import java.util.Date;
-
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import com.ym.mec.biz.dal.dto.SubFeeSettingDto;
-import com.ym.mec.biz.dal.entity.MusicGroup;
-import com.ym.mec.biz.dal.page.MusicGroupQueryInfo;
-import com.ym.mec.biz.service.MusicGroupService;
-import com.ym.mec.common.controller.BaseController;
+import org.springframework.web.bind.annotation.*;
 
 @RequestMapping("musicGroup")
 @Api(tags = "乐团服务")
@@ -34,26 +22,25 @@ public class MusicGroupController extends BaseController {
     @Autowired
     private SysUserFeignService sysUserFeignService;
 
-    @ApiOperation(value = "修改乐团")
+    @ApiOperation(value = "修改乐团基本信息")
     @PostMapping("/update")
     @PreAuthorize("@pcs.hasPermissions('musicGroup/update')")
-    public Object update(MusicGroup musicGroup){
-        musicGroup.setUpdateTime(new Date());
-        musicGroupService.update(musicGroup);
+    public Object update(@RequestBody SubFeeSettingDto subFeeSettingDto){
+        musicGroupService.updateBaseInfo(subFeeSettingDto);
         return succeed();
     }
 
-    @ApiOperation(value = "根据乐团编号查询乐团")
-    @GetMapping("/get/{id}")
+    @ApiOperation(value = "根据乐团编号查询乐团详情")
+    @GetMapping("/get")
     @PreAuthorize("@pcs.hasPermissions('musicGroup/get')")
-    public Object get(@ApiParam(value = "乐团编号", required = true) @PathVariable("id") String id){
-        return succeed(musicGroupService.get(id));
+    public Object get(String musicGroupId){
+        return succeed(musicGroupService.get(musicGroupId));
     }
 
     @ApiOperation(value = "分页查询乐团列表")
     @GetMapping("/queryPage")
     @PreAuthorize("@pcs.hasPermissions('musicGroup/queryPage')")
-    public Object queryPage(MusicGroupQueryInfo queryInfo){
+    public Object queryPage(QueryInfo queryInfo){
         return succeed(musicGroupService.queryMusicGroupPage(queryInfo));
     }
 

+ 7 - 0
mec-web/src/main/java/com/ym/mec/web/controller/StudentManageController.java

@@ -34,6 +34,13 @@ public class StudentManageController extends BaseController {
         return succeed(studentManageService.findStudentsByOrganId(queryInfo));
     }
 
+    @ApiOperation(value = "乐团管理--乐团详情--获取学员列表")
+    @GetMapping("/queryMusicGroupStudent")
+    @PreAuthorize("@pcs.hasPermissions('studentManage/queryMusicGroupStudent')")
+    public Object queryMusicGroupStudent(StudentManageQueryInfo queryInfo){
+        return succeed(studentManageService.queryMusicGroupStudent(queryInfo));
+    }
+
     @ApiOperation(value = "根据学生ID获取学生基本报名信息")
     @GetMapping("/findStudentBaseInfo")
     @PreAuthorize("@pcs.hasPermissions('studentManage/findStudentBaseInfo')")

+ 4 - 9
mec-web/src/main/java/com/ym/mec/web/controller/StudentWithdrawController.java

@@ -3,22 +3,17 @@ package com.ym.mec.web.controller;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.WithdrawDto;
-import com.ym.mec.biz.dal.entity.CooperationOrgan;
 import com.ym.mec.biz.dal.entity.StudentWithdraw;
-import com.ym.mec.biz.service.CooperationOrganService;
 import com.ym.mec.biz.service.StudentWithdrawService;
 import com.ym.mec.common.controller.BaseController;
-import com.ym.mec.common.page.QueryInfo;
-
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
-
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.Date;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 @RequestMapping("studentWithdraw")
 @Api(tags = "提现服务")

+ 21 - 4
mec-web/src/main/java/com/ym/mec/web/controller/TeacherController.java

@@ -1,13 +1,15 @@
 package com.ym.mec.web.controller;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.biz.dal.entity.CourseSchedule;
+import com.ym.mec.biz.dal.page.MusicGroupTeacherAttendanceQueryInfo;
+import com.ym.mec.biz.dal.page.MusicGroupTeachersQueryInfo;
 import com.ym.mec.biz.service.TeacherService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
-
+import com.ym.mec.common.page.QueryInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -33,9 +35,24 @@ public class TeacherController extends BaseController {
     }
 
     @ApiOperation(value = "获取乐团所有老师")
-    @GetMapping("/findMusicGoupTeachers")
-    public HttpResponseResult findMusicGoupTeachers(Long musicGroupId){
+    @GetMapping("/findMusicGroupTeachers")
+    @PreAuthorize("@pcs.hasPermissions('teacher/findMusicGroupTeachers')")
+    public HttpResponseResult findMusicGroupTeachers(String musicGroupId){
         return succeed(teacherService.queryMusicGroupTeacher(musicGroupId));
     }
 
+    @ApiOperation(value = "分页查询乐团管理--详情--老师列表")
+    @GetMapping("/queryMusicGroupTeachers")
+    @PreAuthorize("@pcs.hasPermissions('teacher/queryMusicGroupTeachers')")
+    public HttpResponseResult queryMusicGroupTeachers(MusicGroupTeachersQueryInfo queryInfo){
+        return succeed(teacherService.queryMusicGroupTeachers(queryInfo));
+    }
+
+    @ApiOperation(value = "分页查询乐团管理--详情--老师上课记录")
+    @GetMapping("/queryTeacherAttendance")
+    @PreAuthorize("@pcs.hasPermissions('teacher/queryTeacherAttendance')")
+    public HttpResponseResult queryTeacherAttendance(MusicGroupTeacherAttendanceQueryInfo queryInfo){
+        return succeed(teacherService.queryTeacherAttendance(queryInfo));
+    }
+
 }

+ 1 - 2
mec-web/src/main/java/com/ym/mec/web/controller/student/StudentPaymentOrderController.java

@@ -22,8 +22,7 @@ public class StudentPaymentOrderController extends BaseController {
     @ApiOperation(value = "获取学员订单列表")
     @GetMapping("/queryOrderPage")
     public Object queryOrderPage(StudentPaymentOrderQueryInfo queryInfo){
-        studentPaymentOrderService.queryOrderPage(queryInfo);
-        return succeed();
+        return succeed(studentPaymentOrderService.queryPage(queryInfo));
     }
 
 }