Browse Source

Merge branch 'master' of https://gitee.com/zouxuan/mec

zouxuan 5 years ago
parent
commit
41ad97cbf6
65 changed files with 2781 additions and 58 deletions
  1. 8 0
      mec-web/src/main/java/com/ym/mec/web/controller/ClassGroupController.java
  2. 41 0
      mec-web/src/main/java/com/ym/mec/web/controller/CourseScheduleController.java
  3. 16 4
      mec-web/src/main/java/com/ym/mec/web/dal/dao/ClassGroupDao.java
  4. 4 4
      mec-web/src/main/java/com/ym/mec/web/dal/dao/CooperationOrganDao.java
  5. 35 0
      mec-web/src/main/java/com/ym/mec/web/dal/dao/CourseScheduleDao.java
  6. 9 0
      mec-web/src/main/java/com/ym/mec/web/dal/dao/EmployeeDao.java
  7. 9 0
      mec-web/src/main/java/com/ym/mec/web/dal/dao/MusicGroupBuildLogDao.java
  8. 9 0
      mec-web/src/main/java/com/ym/mec/web/dal/dao/MusicGroupPurchaseListDao.java
  9. 9 0
      mec-web/src/main/java/com/ym/mec/web/dal/dao/StudentRechargeDao.java
  10. 9 0
      mec-web/src/main/java/com/ym/mec/web/dal/dao/StudentWithdrawDao.java
  11. 9 0
      mec-web/src/main/java/com/ym/mec/web/dal/dao/SysMessageConfigDao.java
  12. 9 0
      mec-web/src/main/java/com/ym/mec/web/dal/dao/SysMessageDao.java
  13. 9 0
      mec-web/src/main/java/com/ym/mec/web/dal/dao/SysSuggestionDao.java
  14. 9 0
      mec-web/src/main/java/com/ym/mec/web/dal/dao/TeacherLeaveRecordDao.java
  15. 167 0
      mec-web/src/main/java/com/ym/mec/web/dal/dto/CourseScheduleDto.java
  16. 11 9
      mec-web/src/main/java/com/ym/mec/web/dal/entity/ClassGroup.java
  17. 169 0
      mec-web/src/main/java/com/ym/mec/web/dal/entity/Employee.java
  18. 81 0
      mec-web/src/main/java/com/ym/mec/web/dal/entity/MusicGroupBuildLog.java
  19. 81 0
      mec-web/src/main/java/com/ym/mec/web/dal/entity/MusicGroupPurchaseList.java
  20. 147 0
      mec-web/src/main/java/com/ym/mec/web/dal/entity/StudentRecharge.java
  21. 147 0
      mec-web/src/main/java/com/ym/mec/web/dal/entity/StudentWithdraw.java
  22. 158 0
      mec-web/src/main/java/com/ym/mec/web/dal/entity/SysMessage.java
  23. 81 0
      mec-web/src/main/java/com/ym/mec/web/dal/entity/SysMessageConfig.java
  24. 81 0
      mec-web/src/main/java/com/ym/mec/web/dal/entity/SysSuggestion.java
  25. 103 0
      mec-web/src/main/java/com/ym/mec/web/dal/entity/TeacherLeaveRecord.java
  26. 1 0
      mec-web/src/main/java/com/ym/mec/web/dal/enums/ParamEnum.java
  27. 7 0
      mec-web/src/main/java/com/ym/mec/web/service/ClassGroupService.java
  28. 32 0
      mec-web/src/main/java/com/ym/mec/web/service/CourseScheduleService.java
  29. 8 0
      mec-web/src/main/java/com/ym/mec/web/service/EmployeeService.java
  30. 8 0
      mec-web/src/main/java/com/ym/mec/web/service/MusicGroupBuildLogService.java
  31. 8 0
      mec-web/src/main/java/com/ym/mec/web/service/MusicGroupPurchaseListService.java
  32. 8 0
      mec-web/src/main/java/com/ym/mec/web/service/StudentRechargeService.java
  33. 8 0
      mec-web/src/main/java/com/ym/mec/web/service/StudentWithdrawService.java
  34. 8 0
      mec-web/src/main/java/com/ym/mec/web/service/SysMessageConfigService.java
  35. 8 0
      mec-web/src/main/java/com/ym/mec/web/service/SysMessageService.java
  36. 8 0
      mec-web/src/main/java/com/ym/mec/web/service/SysSuggestionService.java
  37. 8 0
      mec-web/src/main/java/com/ym/mec/web/service/TeacherLeaveRecordService.java
  38. 9 0
      mec-web/src/main/java/com/ym/mec/web/service/impl/ClassGroupServiceImpl.java
  39. 75 0
      mec-web/src/main/java/com/ym/mec/web/service/impl/CourseScheduleServiceImpl.java
  40. 23 0
      mec-web/src/main/java/com/ym/mec/web/service/impl/EmployeeServiceImpl.java
  41. 23 0
      mec-web/src/main/java/com/ym/mec/web/service/impl/MusicGroupBuildLogServiceImpl.java
  42. 23 0
      mec-web/src/main/java/com/ym/mec/web/service/impl/MusicGroupPurchaseListServiceImpl.java
  43. 23 0
      mec-web/src/main/java/com/ym/mec/web/service/impl/StudentRechargeServiceImpl.java
  44. 23 0
      mec-web/src/main/java/com/ym/mec/web/service/impl/StudentWithdrawServiceImpl.java
  45. 23 0
      mec-web/src/main/java/com/ym/mec/web/service/impl/SysMessageConfigServiceImpl.java
  46. 23 0
      mec-web/src/main/java/com/ym/mec/web/service/impl/SysMessageServiceImpl.java
  47. 23 0
      mec-web/src/main/java/com/ym/mec/web/service/impl/SysSuggestionServiceImpl.java
  48. 23 0
      mec-web/src/main/java/com/ym/mec/web/service/impl/TeacherLeaveRecordServiceImpl.java
  49. 25 10
      mec-web/src/main/resources/config/mybatis/ClassGroupMapper.xml
  50. 68 0
      mec-web/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  51. 108 0
      mec-web/src/main/resources/config/mybatis/EmployeeMapper.xml
  52. 76 0
      mec-web/src/main/resources/config/mybatis/MusicGroupBuildLogMapper.xml
  53. 76 0
      mec-web/src/main/resources/config/mybatis/MusicGroupPurchaseListMapper.xml
  54. 100 0
      mec-web/src/main/resources/config/mybatis/StudentRechargeMapper.xml
  55. 100 0
      mec-web/src/main/resources/config/mybatis/StudentWithdrawMapper.xml
  56. 76 0
      mec-web/src/main/resources/config/mybatis/SysMessageConfigMapper.xml
  57. 104 0
      mec-web/src/main/resources/config/mybatis/SysMessageMapper.xml
  58. 76 0
      mec-web/src/main/resources/config/mybatis/SysSuggestionMapper.xml
  59. 84 0
      mec-web/src/main/resources/config/mybatis/TeacherLeaveRecordMapper.xml
  60. 55 0
      mec-web/src/test/java/com/ym/webApplicationTest.java
  61. 7 7
      mec-workflow/src/main/java/com/ym/mec/workfow/controller/flow/OrderController.java
  62. 0 16
      mec-workflow/src/main/java/com/ym/mec/workfow/controller/flow/ProcessController.java
  63. 2 1
      mec-workflow/src/main/java/com/ym/mec/workfow/controller/flow/SurrogateController.java
  64. 9 6
      mec-workflow/src/main/java/com/ym/mec/workfow/controller/flow/TaskController.java
  65. 1 1
      mec-workflow/src/main/java/com/ym/mec/workfow/controller/web/LeaveController.java

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

@@ -50,4 +50,12 @@ public class ClassGroupController extends BaseController {
     public Object queryPage(@RequestBody QueryInfo queryInfo) {
         return succeed(classGroupService.queryPage(queryInfo));
     }
+
+    @ApiOperation(value = "合奏班相关班级获取")
+    @GetMapping("findClassGroupAboutMix")
+    public Object findClassGroupAboutMix(@ApiParam(value = "乐团编号", required = true) @RequestParam Integer musicGroupId,
+                                         @ApiParam(value = "班级编号", required = false) Integer mixClassGroupId){
+        return succeed(classGroupService.findClassGroup(musicGroupId,mixClassGroupId));
+    }
+
 }

+ 41 - 0
mec-web/src/main/java/com/ym/mec/web/controller/CourseScheduleController.java

@@ -1,6 +1,7 @@
 package com.ym.mec.web.controller;
 
 import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.web.dal.entity.CourseSchedule;
 import com.ym.mec.web.dal.page.StudentAttendanceQueryInfo;
 import com.ym.mec.web.service.CourseScheduleService;
 import com.ym.mec.web.service.StudentAttendanceService;
@@ -10,6 +11,9 @@ import io.swagger.annotations.ApiParam;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.Date;
+import java.util.List;
+
 /**
  * @Author Joburgess
  * @Date 2019/9/10
@@ -24,6 +28,43 @@ public class CourseScheduleController extends BaseController {
     @Autowired
     private StudentAttendanceService studentAttendanceService;
 
+    @ApiOperation(value = "排课")
+    @PutMapping("/batchAddCourseSchedule/{musicGroupID}")
+    public Object batchAddCourseSchedule(@RequestBody List<CourseSchedule> courseSchedules,
+                                         @ApiParam(value = "乐团编号", required = true) @PathVariable("musicGroupID") Long musicGroupID){
+        String s = scheduleService.batchAddCourseSchedule(courseSchedules);
+        if(s.isEmpty()){
+            return succeed();
+        }else{
+            return failed(s);
+        }
+    }
+
+    @ApiOperation(value = "批量跟新排课")
+    @PutMapping("/batchUpdateCourseSchedule/{musicGroupID}")
+    public Object batchUpdateCourseSchedule(@RequestBody List<CourseSchedule> courseSchedules,
+                                            @ApiParam(value = "乐团编号", required = true) @PathVariable("musicGroupID") Long musicGroupID){
+        String s = scheduleService.batchUpdateCourseSchedule(courseSchedules,musicGroupID);
+        if(s.isEmpty()){
+            return succeed();
+        }else{
+            return failed(s);
+        }
+    }
+
+    @ApiOperation(value = "根据月份获取乐团在该月有课的日期")
+    @GetMapping("/getCourseScheduleDateByMonth")
+        public Object getCourseScheduleDateByMonth(@ApiParam(value = "乐团编号", required = true) @RequestParam Long musicGroupID,
+                                                   @ApiParam(value = "月份", required = true) @RequestParam Date month) {
+        return succeed(scheduleService.getCourseScheduleDateByMonth(musicGroupID,month));
+    }
+
+    @ApiOperation(value = "根据日期获取当日排课")
+    @GetMapping("/getCourseSchedulesWithDate")
+    public Object getCourseSchedulesWithDate(@ApiParam(value = "日期", required = true) Date date){
+        return succeed(scheduleService.getCourseSchedulesWithDate(date));
+    }
+
     @ApiOperation(value = "根据课程ID查询正在或即将开始的课程")
     @GetMapping("/getCurrentCourseDetail/{courseID}")
     public Object getCurrentCourseDetail(@ApiParam(value = "课程ID", required = true) @PathVariable("courseID") Long courseID){

+ 16 - 4
mec-web/src/main/java/com/ym/mec/web/dal/dao/ClassGroupDao.java

@@ -1,10 +1,9 @@
 package com.ym.mec.web.dal.dao;
-import java.util.List;
-
-import org.apache.ibatis.annotations.Param;
-
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.web.dal.entity.ClassGroup;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
 
@@ -16,4 +15,17 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
      */
     List<ClassGroup> findClassGroup4Teacher(@Param("teacherId") Integer teacherId);
 
+    /**
+     * 获取所有合奏班
+     * @return
+     */
+    List<ClassGroup> findAllMixClassGroup(@Param("musicGroupId") Integer musicGroupId);
+
+    /**
+     * 根据合奏班ID查询该合奏班下的子班级
+     * @param mixClassGroupId
+     * @return
+     */
+    List<ClassGroup> findMixClassChildClassGroup(@Param("mixClassGroupId") Integer mixClassGroupId);
+
 }

+ 4 - 4
mec-web/src/main/java/com/ym/mec/web/dal/dao/CooperationOrganDao.java

@@ -1,11 +1,11 @@
 package com.ym.mec.web.dal.dao;
 
-import com.ym.mec.common.dal.BaseDAO;
-import com.ym.mec.web.dal.entity.CooperationOrgan;
-import com.ym.mec.web.dal.enums.YesOrNoEnum;
+import java.util.List;
+
 import org.apache.ibatis.annotations.Param;
 
-import java.util.List;
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.web.dal.entity.CooperationOrgan;
 
 public interface CooperationOrganDao extends BaseDAO<Integer, CooperationOrgan> {
 

+ 35 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dao/CourseScheduleDao.java

@@ -1,10 +1,14 @@
 package com.ym.mec.web.dal.dao;
 
 import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.web.dal.dto.CourseScheduleDto;
 import com.ym.mec.web.dal.dto.TeacherAttendanceDto;
 import com.ym.mec.web.dal.entity.CourseSchedule;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.Date;
+import java.util.List;
+
 public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
 
     /**
@@ -13,4 +17,35 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @return
      */
     TeacherAttendanceDto getCurrentCourseDetail(@Param("courseID") Long courseID);
+
+    int batchAddCourseSchedules(List<CourseSchedule> courseSchedules);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/17
+     * 统计学生所属班级数量
+     */
+    Integer[] countStudentInClass(List<Integer> classGroupIDs);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/17
+     * 根据日期获取当日排课信息
+     */
+    List<CourseScheduleDto> getCourseSchedulesWithDate(@Param("classDate") Date classDate);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/17
+     * 根据乐团ID删除排课
+     */
+    int deleteCourseSchedulesByMusicGroupID(@Param("musicGroupID") Long musicGroupID);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/17
+     * 根据月份获取乐团在该月有课的日期
+     */
+    List<Date> getCourseScheduleDateByMonth(@Param("musicGroupID") Long musicGroupID,
+                                            @Param("month") Date month);
 }

+ 9 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dao/EmployeeDao.java

@@ -0,0 +1,9 @@
+package com.ym.mec.web.dal.dao;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.web.dal.entity.Employee;
+
+public interface EmployeeDao extends BaseDAO<Integer, Employee> {
+
+	
+}

+ 9 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dao/MusicGroupBuildLogDao.java

@@ -0,0 +1,9 @@
+package com.ym.mec.web.dal.dao;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.web.dal.entity.MusicGroupBuildLog;
+
+public interface MusicGroupBuildLogDao extends BaseDAO<Integer, MusicGroupBuildLog> {
+
+	
+}

+ 9 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dao/MusicGroupPurchaseListDao.java

@@ -0,0 +1,9 @@
+package com.ym.mec.web.dal.dao;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.web.dal.entity.MusicGroupPurchaseList;
+
+public interface MusicGroupPurchaseListDao extends BaseDAO<Integer, MusicGroupPurchaseList> {
+
+	
+}

+ 9 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dao/StudentRechargeDao.java

@@ -0,0 +1,9 @@
+package com.ym.mec.web.dal.dao;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.web.dal.entity.StudentRecharge;
+
+public interface StudentRechargeDao extends BaseDAO<String, StudentRecharge> {
+
+	
+}

+ 9 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dao/StudentWithdrawDao.java

@@ -0,0 +1,9 @@
+package com.ym.mec.web.dal.dao;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.web.dal.entity.StudentWithdraw;
+
+public interface StudentWithdrawDao extends BaseDAO<String, StudentWithdraw> {
+
+	
+}

+ 9 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dao/SysMessageConfigDao.java

@@ -0,0 +1,9 @@
+package com.ym.mec.web.dal.dao;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.web.dal.entity.SysMessageConfig;
+
+public interface SysMessageConfigDao extends BaseDAO<Integer, SysMessageConfig> {
+
+	
+}

+ 9 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dao/SysMessageDao.java

@@ -0,0 +1,9 @@
+package com.ym.mec.web.dal.dao;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.web.dal.entity.SysMessage;
+
+public interface SysMessageDao extends BaseDAO<Long, SysMessage> {
+
+	
+}

+ 9 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dao/SysSuggestionDao.java

@@ -0,0 +1,9 @@
+package com.ym.mec.web.dal.dao;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.web.dal.entity.SysSuggestion;
+
+public interface SysSuggestionDao extends BaseDAO<Long, SysSuggestion> {
+
+	
+}

+ 9 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dao/TeacherLeaveRecordDao.java

@@ -0,0 +1,9 @@
+package com.ym.mec.web.dal.dao;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.web.dal.entity.TeacherLeaveRecord;
+
+public interface TeacherLeaveRecordDao extends BaseDAO<Long, TeacherLeaveRecord> {
+
+	
+}

+ 167 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dto/CourseScheduleDto.java

@@ -0,0 +1,167 @@
+package com.ym.mec.web.dal.dto;
+
+import com.ym.mec.web.dal.enums.ClassGroupTypeEnum;
+import com.ym.mec.web.dal.enums.CourseStatusEnum;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+
+/**
+ * @Author Joburgess
+ * @Date 2019/9/17
+ */
+public class CourseScheduleDto {
+
+    /**  */
+    private Long id;
+
+    /** 班级编号 */
+    @ApiModelProperty(value = "班级编号",required = false)
+    private Integer classGroupId;
+
+    /** 班级名称 */
+    @ApiModelProperty(value = "班级名称",required = false)
+    private String classGroupName;
+
+    /** 班级类型(普通班级、合奏班级) */
+    @ApiModelProperty(value = "班级类型(普通班级、合奏班级、提高课班级、VIP班级)",required = false)
+    private ClassGroupTypeEnum type;
+
+    /** 课程状态 */
+    @ApiModelProperty(value = "课程状态  NOT_START未开始,SIGN_IN已签到,SIGN_OUT已签退",required = false)
+    private CourseStatusEnum status;
+
+    /** 补贴 */
+    @ApiModelProperty(value = "补贴",required = false)
+    private long subsidy;
+
+    /** 上课日期 */
+    @ApiModelProperty(value = "上课日期",required = false)
+    private java.util.Date classDate;
+
+    /** 上课时间 */
+    @ApiModelProperty(value = "上课时间",required = false)
+    private java.util.Date startClassTime;
+
+    /** 结束时间 */
+    @ApiModelProperty(value = "结束时间",required = false)
+    private java.util.Date endClassTime;
+
+    /** 上课教师 */
+    @ApiModelProperty(value = "上课教师",required = false)
+    private Long teacherId;
+
+    /** 实际上课教师 */
+    @ApiModelProperty(value = "实际上课教师",required = false)
+    private Long actualTeacherId;
+
+    /**  */
+    private java.util.Date createTime;
+
+    /**  */
+    private java.util.Date updateTime;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Integer getClassGroupId() {
+        return classGroupId;
+    }
+
+    public void setClassGroupId(Integer classGroupId) {
+        this.classGroupId = classGroupId;
+    }
+
+    public String getClassGroupName() {
+        return classGroupName;
+    }
+
+    public void setClassGroupName(String classGroupName) {
+        this.classGroupName = classGroupName;
+    }
+
+    public ClassGroupTypeEnum getType() {
+        return type;
+    }
+
+    public void setType(ClassGroupTypeEnum type) {
+        this.type = type;
+    }
+
+    public CourseStatusEnum getStatus() {
+        return status;
+    }
+
+    public void setStatus(CourseStatusEnum status) {
+        this.status = status;
+    }
+
+    public long getSubsidy() {
+        return subsidy;
+    }
+
+    public void setSubsidy(long subsidy) {
+        this.subsidy = subsidy;
+    }
+
+    public Date getClassDate() {
+        return classDate;
+    }
+
+    public void setClassDate(Date classDate) {
+        this.classDate = classDate;
+    }
+
+    public Date getStartClassTime() {
+        return startClassTime;
+    }
+
+    public void setStartClassTime(Date startClassTime) {
+        this.startClassTime = startClassTime;
+    }
+
+    public Date getEndClassTime() {
+        return endClassTime;
+    }
+
+    public void setEndClassTime(Date endClassTime) {
+        this.endClassTime = endClassTime;
+    }
+
+    public Long getTeacherId() {
+        return teacherId;
+    }
+
+    public void setTeacherId(Long teacherId) {
+        this.teacherId = teacherId;
+    }
+
+    public Long getActualTeacherId() {
+        return actualTeacherId;
+    }
+
+    public void setActualTeacherId(Long actualTeacherId) {
+        this.actualTeacherId = actualTeacherId;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+}

+ 11 - 9
mec-web/src/main/java/com/ym/mec/web/dal/entity/ClassGroup.java

@@ -1,10 +1,12 @@
 package com.ym.mec.web.dal.entity;
 
-import com.ym.mec.web.dal.enums.ClassGroupTypeEnum;
-import com.ym.mec.web.dal.enums.YesOrNoEnum;
 import io.swagger.annotations.ApiModelProperty;
+
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
+import com.ym.mec.web.dal.enums.ClassGroupTypeEnum;
+import com.ym.mec.web.dal.enums.YesOrNoEnum;
+
 /**
  * 对应数据库表(class_group):
  */
@@ -20,7 +22,7 @@ public class ClassGroup {
 	
 	/**  */
 	@ApiModelProperty(value = "科目编号",required = false)
-	private String subjectId;
+	private String subjectIdList;
 	
 	/** 班级名称 */
 	@ApiModelProperty(value = "班级名称",required = false)
@@ -68,14 +70,14 @@ public class ClassGroup {
 		return this.musicGroupId;
 	}
 			
-	public void setSubjectId(String subjectId){
-		this.subjectId = subjectId;
+	public String getSubjectIdList() {
+		return subjectIdList;
 	}
-	
-	public String getSubjectId(){
-		return this.subjectId;
+
+	public void setSubjectIdList(String subjectIdList) {
+		this.subjectIdList = subjectIdList;
 	}
-			
+
 	public void setName(String name){
 		this.name = name;
 	}

+ 169 - 0
mec-web/src/main/java/com/ym/mec/web/dal/entity/Employee.java

@@ -0,0 +1,169 @@
+package com.ym.mec.web.dal.entity;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(employee):
+ */
+public class Employee {
+
+	/**  */
+	private Integer userId;
+	
+	/**  */
+	private Integer organId;
+	
+	/** 工作性质(兼职、全职、临时) */
+	private String jobNature;
+	
+	/** 是否试用期(1-是 0-否) */
+	private String isProbationPeriod;
+	
+	/** 学历 */
+	private String educationBackground;
+	
+	/** 毕业学校 */
+	private String graduateSchool;
+	
+	/** 技术职称 */
+	private String technicalTitles;
+	
+	/** 入职时间 */
+	private java.util.Date entryDate;
+	
+	/** 证件类型 */
+	private String certificateType;
+	
+	/** 证件号码 */
+	private String certificateNum;
+	
+	/**  */
+	private java.util.Date updateTime;
+	
+	/**  */
+	private java.util.Date createTime;
+	
+	/** 介绍 */
+	private String introduction;
+	
+	/** 离职日期 */
+	private java.util.Date demissionDate;
+	
+	public void setUserId(Integer userId){
+		this.userId = userId;
+	}
+	
+	public Integer getUserId(){
+		return this.userId;
+	}
+			
+	public void setOrganId(Integer organId){
+		this.organId = organId;
+	}
+	
+	public Integer getOrganId(){
+		return this.organId;
+	}
+			
+	public void setJobNature(String jobNature){
+		this.jobNature = jobNature;
+	}
+	
+	public String getJobNature(){
+		return this.jobNature;
+	}
+			
+	public void setIsProbationPeriod(String isProbationPeriod){
+		this.isProbationPeriod = isProbationPeriod;
+	}
+	
+	public String getIsProbationPeriod(){
+		return this.isProbationPeriod;
+	}
+			
+	public void setEducationBackground(String educationBackground){
+		this.educationBackground = educationBackground;
+	}
+	
+	public String getEducationBackground(){
+		return this.educationBackground;
+	}
+			
+	public void setGraduateSchool(String graduateSchool){
+		this.graduateSchool = graduateSchool;
+	}
+	
+	public String getGraduateSchool(){
+		return this.graduateSchool;
+	}
+			
+	public void setTechnicalTitles(String technicalTitles){
+		this.technicalTitles = technicalTitles;
+	}
+	
+	public String getTechnicalTitles(){
+		return this.technicalTitles;
+	}
+			
+	public void setEntryDate(java.util.Date entryDate){
+		this.entryDate = entryDate;
+	}
+	
+	public java.util.Date getEntryDate(){
+		return this.entryDate;
+	}
+			
+	public void setCertificateType(String certificateType){
+		this.certificateType = certificateType;
+	}
+	
+	public String getCertificateType(){
+		return this.certificateType;
+	}
+			
+	public void setCertificateNum(String certificateNum){
+		this.certificateNum = certificateNum;
+	}
+	
+	public String getCertificateNum(){
+		return this.certificateNum;
+	}
+			
+	public void setUpdateTime(java.util.Date updateTime){
+		this.updateTime = updateTime;
+	}
+	
+	public java.util.Date getUpdateTime(){
+		return this.updateTime;
+	}
+			
+	public void setCreateTime(java.util.Date createTime){
+		this.createTime = createTime;
+	}
+	
+	public java.util.Date getCreateTime(){
+		return this.createTime;
+	}
+			
+	public void setIntroduction(String introduction){
+		this.introduction = introduction;
+	}
+	
+	public String getIntroduction(){
+		return this.introduction;
+	}
+			
+	public void setDemissionDate(java.util.Date demissionDate){
+		this.demissionDate = demissionDate;
+	}
+	
+	public java.util.Date getDemissionDate(){
+		return this.demissionDate;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 81 - 0
mec-web/src/main/java/com/ym/mec/web/dal/entity/MusicGroupBuildLog.java

@@ -0,0 +1,81 @@
+package com.ym.mec.web.dal.entity;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(music_group_build_log):
+ */
+public class MusicGroupBuildLog {
+
+	/**  */
+	private Integer id;
+	
+	/**  */
+	private Integer musicGroupId;
+	
+	/** 事件 */
+	private String event;
+	
+	/**  */
+	private Integer operator;
+	
+	/**  */
+	private String memo;
+	
+	/**  */
+	private java.util.Date createTime;
+	
+	public void setId(Integer id){
+		this.id = id;
+	}
+	
+	public Integer getId(){
+		return this.id;
+	}
+			
+	public void setMusicGroupId(Integer musicGroupId){
+		this.musicGroupId = musicGroupId;
+	}
+	
+	public Integer getMusicGroupId(){
+		return this.musicGroupId;
+	}
+			
+	public void setEvent(String event){
+		this.event = event;
+	}
+	
+	public String getEvent(){
+		return this.event;
+	}
+			
+	public void setOperator(Integer operator){
+		this.operator = operator;
+	}
+	
+	public Integer getOperator(){
+		return this.operator;
+	}
+			
+	public void setMemo(String memo){
+		this.memo = memo;
+	}
+	
+	public String getMemo(){
+		return this.memo;
+	}
+			
+	public void setCreateTime(java.util.Date createTime){
+		this.createTime = createTime;
+	}
+	
+	public java.util.Date getCreateTime(){
+		return this.createTime;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 81 - 0
mec-web/src/main/java/com/ym/mec/web/dal/entity/MusicGroupPurchaseList.java

@@ -0,0 +1,81 @@
+package com.ym.mec.web.dal.entity;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(music_group_purchase_list):
+ */
+public class MusicGroupPurchaseList {
+
+	/**  */
+	private Integer id;
+	
+	/**  */
+	private Integer musicGroupId;
+	
+	/**  */
+	private Integer goodsId;
+	
+	/** 采购数量 */
+	private Integer purchaseNum;
+	
+	/**  */
+	private java.util.Date createTime;
+	
+	/**  */
+	private java.util.Date updateTime;
+	
+	public void setId(Integer id){
+		this.id = id;
+	}
+	
+	public Integer getId(){
+		return this.id;
+	}
+			
+	public void setMusicGroupId(Integer musicGroupId){
+		this.musicGroupId = musicGroupId;
+	}
+	
+	public Integer getMusicGroupId(){
+		return this.musicGroupId;
+	}
+			
+	public void setGoodsId(Integer goodsId){
+		this.goodsId = goodsId;
+	}
+	
+	public Integer getGoodsId(){
+		return this.goodsId;
+	}
+			
+	public void setPurchaseNum(Integer purchaseNum){
+		this.purchaseNum = purchaseNum;
+	}
+	
+	public Integer getPurchaseNum(){
+		return this.purchaseNum;
+	}
+			
+	public void setCreateTime(java.util.Date createTime){
+		this.createTime = createTime;
+	}
+	
+	public java.util.Date getCreateTime(){
+		return this.createTime;
+	}
+			
+	public void setUpdateTime(java.util.Date updateTime){
+		this.updateTime = updateTime;
+	}
+	
+	public java.util.Date getUpdateTime(){
+		return this.updateTime;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 147 - 0
mec-web/src/main/java/com/ym/mec/web/dal/entity/StudentRecharge.java

@@ -0,0 +1,147 @@
+package com.ym.mec.web.dal.entity;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(student_recharge):
+ */
+public class StudentRecharge {
+
+	/** 充值流水号 */
+	private String id;
+	
+	/** 用户编号 */
+	private Long userId;
+	
+	/** 交易流水号,第三方支付机构返回的 */
+	private String transNo;
+	
+	/** 1,交易中;2,成功交易;3,交易失败;4,交易关闭 */
+	private Integer status;
+	
+	/** 充值金额 */
+	private long amount;
+	
+	/** 用户承担的充值费用(单位:分) */
+	private long feeUser;
+	
+	/** 平台承担的费用(单位:分) */
+	private long feePlatform;
+	
+	/** 第三方支付平台名称(用拼音简称代替) */
+	private String payPlatform;
+	
+	/** 描述 */
+	private String description;
+	
+	/** 后台备注 */
+	private String comment;
+	
+	/** 创建时间 */
+	private java.util.Date createTime;
+	
+	/** 最后修改时间 */
+	private java.util.Date modifyTime;
+	
+	public void setId(String id){
+		this.id = id;
+	}
+	
+	public String getId(){
+		return this.id;
+	}
+			
+	public void setUserId(Long userId){
+		this.userId = userId;
+	}
+	
+	public Long getUserId(){
+		return this.userId;
+	}
+			
+	public void setTransNo(String transNo){
+		this.transNo = transNo;
+	}
+	
+	public String getTransNo(){
+		return this.transNo;
+	}
+			
+	public void setStatus(Integer status){
+		this.status = status;
+	}
+	
+	public Integer getStatus(){
+		return this.status;
+	}
+			
+	public void setAmount(long amount){
+		this.amount = amount;
+	}
+	
+	public long getAmount(){
+		return this.amount;
+	}
+			
+	public void setFeeUser(long feeUser){
+		this.feeUser = feeUser;
+	}
+	
+	public long getFeeUser(){
+		return this.feeUser;
+	}
+			
+	public void setFeePlatform(long feePlatform){
+		this.feePlatform = feePlatform;
+	}
+	
+	public long getFeePlatform(){
+		return this.feePlatform;
+	}
+			
+	public void setPayPlatform(String payPlatform){
+		this.payPlatform = payPlatform;
+	}
+	
+	public String getPayPlatform(){
+		return this.payPlatform;
+	}
+			
+	public void setDescription(String description){
+		this.description = description;
+	}
+	
+	public String getDescription(){
+		return this.description;
+	}
+			
+	public void setComment(String comment){
+		this.comment = comment;
+	}
+	
+	public String getComment(){
+		return this.comment;
+	}
+			
+	public void setCreateTime(java.util.Date createTime){
+		this.createTime = createTime;
+	}
+	
+	public java.util.Date getCreateTime(){
+		return this.createTime;
+	}
+			
+	public void setModifyTime(java.util.Date modifyTime){
+		this.modifyTime = modifyTime;
+	}
+	
+	public java.util.Date getModifyTime(){
+		return this.modifyTime;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 147 - 0
mec-web/src/main/java/com/ym/mec/web/dal/entity/StudentWithdraw.java

@@ -0,0 +1,147 @@
+package com.ym.mec.web.dal.entity;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(student_withdraw):
+ */
+public class StudentWithdraw {
+
+	/** 提现流水号 */
+	private String id;
+	
+	/** 用户编号 */
+	private Long userId;
+	
+	/** 银行卡号 */
+	private String bankCardNo;
+	
+	/** 银行流水号 */
+	private String transNo;
+	
+	/** 交易状态(1,交易中;2,成功交易;3,交易失败;4,交易关闭) */
+	private Integer status;
+	
+	/** 提现金额 */
+	private long amount;
+	
+	/** 用户承担的费用(单位:分) */
+	private long feeUser;
+	
+	/** 平台承担的费用(单位:分) */
+	private long feePlatform;
+	
+	/** 描述 */
+	private String description;
+	
+	/** 备注 */
+	private String comment;
+	
+	/** 创建时间 */
+	private java.util.Date createTime;
+	
+	/** 修改时间 */
+	private java.util.Date modifyTime;
+	
+	public void setId(String id){
+		this.id = id;
+	}
+	
+	public String getId(){
+		return this.id;
+	}
+			
+	public void setUserId(Long userId){
+		this.userId = userId;
+	}
+	
+	public Long getUserId(){
+		return this.userId;
+	}
+			
+	public void setBankCardNo(String bankCardNo){
+		this.bankCardNo = bankCardNo;
+	}
+	
+	public String getBankCardNo(){
+		return this.bankCardNo;
+	}
+			
+	public void setTransNo(String transNo){
+		this.transNo = transNo;
+	}
+	
+	public String getTransNo(){
+		return this.transNo;
+	}
+			
+	public void setStatus(Integer status){
+		this.status = status;
+	}
+	
+	public Integer getStatus(){
+		return this.status;
+	}
+			
+	public void setAmount(long amount){
+		this.amount = amount;
+	}
+	
+	public long getAmount(){
+		return this.amount;
+	}
+			
+	public void setFeeUser(long feeUser){
+		this.feeUser = feeUser;
+	}
+	
+	public long getFeeUser(){
+		return this.feeUser;
+	}
+			
+	public void setFeePlatform(long feePlatform){
+		this.feePlatform = feePlatform;
+	}
+	
+	public long getFeePlatform(){
+		return this.feePlatform;
+	}
+			
+	public void setDescription(String description){
+		this.description = description;
+	}
+	
+	public String getDescription(){
+		return this.description;
+	}
+			
+	public void setComment(String comment){
+		this.comment = comment;
+	}
+	
+	public String getComment(){
+		return this.comment;
+	}
+			
+	public void setCreateTime(java.util.Date createTime){
+		this.createTime = createTime;
+	}
+	
+	public java.util.Date getCreateTime(){
+		return this.createTime;
+	}
+			
+	public void setModifyTime(java.util.Date modifyTime){
+		this.modifyTime = modifyTime;
+	}
+	
+	public java.util.Date getModifyTime(){
+		return this.modifyTime;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 158 - 0
mec-web/src/main/java/com/ym/mec/web/dal/entity/SysMessage.java

@@ -0,0 +1,158 @@
+package com.ym.mec.web.dal.entity;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(sys_message):
+ */
+public class SysMessage {
+
+	/** 主键 */
+	private Long id;
+	
+	/** 标题 */
+	private String title;
+	
+	/** 消息内容 */
+	private String content;
+	
+	/** 消息类型;1,表示短信;2,表示邮件; 3,app推送消息 */
+	private Integer type;
+	
+	/** 状态,-1,发送失败;0,待发送;1,发送中;2,发送完成 */
+	private Integer status;
+	
+	/** 接收人(多个人用逗号分隔) */
+	private String receiver;
+	
+	/** 发送时间 */
+	private java.util.Date sendTime;
+	
+	/** 错误信息 */
+	private String errorMsg;
+	
+	/** 创建时间 */
+	private java.util.Date createOn;
+	
+	/** 修改时间 */
+	private java.util.Date modifyOn;
+	
+	/** 用户编号 */
+	private Long userId;
+	
+	/** 备注 */
+	private String memo;
+	
+	/** 是否已读 */
+	private String readStatus;
+	
+	public void setId(Long id){
+		this.id = id;
+	}
+	
+	public Long getId(){
+		return this.id;
+	}
+			
+	public void setTitle(String title){
+		this.title = title;
+	}
+	
+	public String getTitle(){
+		return this.title;
+	}
+			
+	public void setContent(String content){
+		this.content = content;
+	}
+	
+	public String getContent(){
+		return this.content;
+	}
+			
+	public void setType(Integer type){
+		this.type = type;
+	}
+	
+	public Integer getType(){
+		return this.type;
+	}
+			
+	public void setStatus(Integer status){
+		this.status = status;
+	}
+	
+	public Integer getStatus(){
+		return this.status;
+	}
+			
+	public void setReceiver(String receiver){
+		this.receiver = receiver;
+	}
+	
+	public String getReceiver(){
+		return this.receiver;
+	}
+			
+	public void setSendTime(java.util.Date sendTime){
+		this.sendTime = sendTime;
+	}
+	
+	public java.util.Date getSendTime(){
+		return this.sendTime;
+	}
+			
+	public void setErrorMsg(String errorMsg){
+		this.errorMsg = errorMsg;
+	}
+	
+	public String getErrorMsg(){
+		return this.errorMsg;
+	}
+			
+	public void setCreateOn(java.util.Date createOn){
+		this.createOn = createOn;
+	}
+	
+	public java.util.Date getCreateOn(){
+		return this.createOn;
+	}
+			
+	public void setModifyOn(java.util.Date modifyOn){
+		this.modifyOn = modifyOn;
+	}
+	
+	public java.util.Date getModifyOn(){
+		return this.modifyOn;
+	}
+			
+	public void setUserId(Long userId){
+		this.userId = userId;
+	}
+	
+	public Long getUserId(){
+		return this.userId;
+	}
+			
+	public void setMemo(String memo){
+		this.memo = memo;
+	}
+	
+	public String getMemo(){
+		return this.memo;
+	}
+			
+	public void setReadStatus(String readStatus){
+		this.readStatus = readStatus;
+	}
+	
+	public String getReadStatus(){
+		return this.readStatus;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 81 - 0
mec-web/src/main/java/com/ym/mec/web/dal/entity/SysMessageConfig.java

@@ -0,0 +1,81 @@
+package com.ym.mec.web.dal.entity;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(sys_message_config):
+ */
+public class SysMessageConfig {
+
+	/**  */
+	private Integer id;
+	
+	/** 消息类型 */
+	private String messageType;
+	
+	/** 消息内容 */
+	private String content;
+	
+	/** 描述 */
+	private String description;
+	
+	/** 最后修改时间 */
+	private java.util.Date modifyOn;
+	
+	/** 跳转url */
+	private String url;
+	
+	public void setId(Integer id){
+		this.id = id;
+	}
+	
+	public Integer getId(){
+		return this.id;
+	}
+			
+	public void setMessageType(String messageType){
+		this.messageType = messageType;
+	}
+	
+	public String getMessageType(){
+		return this.messageType;
+	}
+			
+	public void setContent(String content){
+		this.content = content;
+	}
+	
+	public String getContent(){
+		return this.content;
+	}
+			
+	public void setDescription(String description){
+		this.description = description;
+	}
+	
+	public String getDescription(){
+		return this.description;
+	}
+			
+	public void setModifyOn(java.util.Date modifyOn){
+		this.modifyOn = modifyOn;
+	}
+	
+	public java.util.Date getModifyOn(){
+		return this.modifyOn;
+	}
+			
+	public void setUrl(String url){
+		this.url = url;
+	}
+	
+	public String getUrl(){
+		return this.url;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 81 - 0
mec-web/src/main/java/com/ym/mec/web/dal/entity/SysSuggestion.java

@@ -0,0 +1,81 @@
+package com.ym.mec.web.dal.entity;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(sys_suggestion):
+ */
+public class SysSuggestion {
+
+	/** 编号 */
+	private Long id;
+	
+	/** 联系方式 */
+	private String mobileNo;
+	
+	/** 标题 */
+	private String title;
+	
+	/** 内容 */
+	private String content;
+	
+	/** 用户编号 */
+	private Long userId;
+	
+	/** 提交时间 */
+	private java.util.Date createTime;
+	
+	public void setId(Long id){
+		this.id = id;
+	}
+	
+	public Long getId(){
+		return this.id;
+	}
+			
+	public void setMobileNo(String mobileNo){
+		this.mobileNo = mobileNo;
+	}
+	
+	public String getMobileNo(){
+		return this.mobileNo;
+	}
+			
+	public void setTitle(String title){
+		this.title = title;
+	}
+	
+	public String getTitle(){
+		return this.title;
+	}
+			
+	public void setContent(String content){
+		this.content = content;
+	}
+	
+	public String getContent(){
+		return this.content;
+	}
+			
+	public void setUserId(Long userId){
+		this.userId = userId;
+	}
+	
+	public Long getUserId(){
+		return this.userId;
+	}
+			
+	public void setCreateTime(java.util.Date createTime){
+		this.createTime = createTime;
+	}
+	
+	public java.util.Date getCreateTime(){
+		return this.createTime;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 103 - 0
mec-web/src/main/java/com/ym/mec/web/dal/entity/TeacherLeaveRecord.java

@@ -0,0 +1,103 @@
+package com.ym.mec.web.dal.entity;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(teacher_leave_record):
+ */
+public class TeacherLeaveRecord {
+
+	/**  */
+	private Long id;
+	
+	/**  */
+	private Integer userId;
+	
+	/** 请假天数 */
+	private Integer days;
+	
+	/** 请假类型 */
+	private String type;
+	
+	/** 请假状态(审批中、拒绝、通过) */
+	private String status;
+	
+	/** 备注 */
+	private String remark;
+	
+	/**  */
+	private java.util.Date createTime;
+	
+	/**  */
+	private java.util.Date updateTime;
+	
+	public void setId(Long id){
+		this.id = id;
+	}
+	
+	public Long getId(){
+		return this.id;
+	}
+			
+	public void setUserId(Integer userId){
+		this.userId = userId;
+	}
+	
+	public Integer getUserId(){
+		return this.userId;
+	}
+			
+	public void setDays(Integer days){
+		this.days = days;
+	}
+	
+	public Integer getDays(){
+		return this.days;
+	}
+			
+	public void setType(String type){
+		this.type = type;
+	}
+	
+	public String getType(){
+		return this.type;
+	}
+			
+	public void setStatus(String status){
+		this.status = status;
+	}
+	
+	public String getStatus(){
+		return this.status;
+	}
+			
+	public void setRemark(String remark){
+		this.remark = remark;
+	}
+	
+	public String getRemark(){
+		return this.remark;
+	}
+			
+	public void setCreateTime(java.util.Date createTime){
+		this.createTime = createTime;
+	}
+	
+	public java.util.Date getCreateTime(){
+		return this.createTime;
+	}
+			
+	public void setUpdateTime(java.util.Date updateTime){
+		this.updateTime = updateTime;
+	}
+	
+	public java.util.Date getUpdateTime(){
+		return this.updateTime;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 1 - 0
mec-web/src/main/java/com/ym/mec/web/dal/enums/ParamEnum.java

@@ -8,6 +8,7 @@ import com.ym.mec.common.enums.BaseEnum;
  */
 public enum  ParamEnum implements BaseEnum<Integer, ParamEnum> {
 
+    ONE(1,""),
     TEACHER_ATTENDANCE_TIME_GAP(-20,"教师正常签到时差");
 
     private Integer code;

+ 7 - 0
mec-web/src/main/java/com/ym/mec/web/service/ClassGroupService.java

@@ -14,4 +14,11 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
      */
     List<ClassGroup> findClassGroup4Teacher(Integer teacherId);
 
+    /**
+     * 合奏班相关班级获取
+     * @param mixClassGroupId
+     * @return
+     */
+    List<ClassGroup> findClassGroup(Integer musicGroupId,Integer mixClassGroupId);
+
 }

+ 32 - 0
mec-web/src/main/java/com/ym/mec/web/service/CourseScheduleService.java

@@ -1,9 +1,13 @@
 package com.ym.mec.web.service;
 
 import com.ym.mec.common.service.BaseService;
+import com.ym.mec.web.dal.dto.CourseScheduleDto;
 import com.ym.mec.web.dal.dto.TeacherAttendanceDto;
 import com.ym.mec.web.dal.entity.CourseSchedule;
 
+import java.util.Date;
+import java.util.List;
+
 public interface CourseScheduleService extends BaseService<Long, CourseSchedule> {
 
     /**
@@ -12,4 +16,32 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
      * 根据课程ID获取当前课程的信息
      */
     TeacherAttendanceDto getCurrentCourseDetail(Long courseID);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/17
+     * 批量插入课程计划
+     */
+    String batchAddCourseSchedule(List<CourseSchedule> courseSchedules);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/17
+     * 批量更新课程计划
+     */
+    String batchUpdateCourseSchedule(List<CourseSchedule> courseSchedules,Long musicGroupID);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/17
+     * 根据日期获取当日排课信息
+     */
+    List<CourseScheduleDto> getCourseSchedulesWithDate(Date classDate);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/17
+     * 根据月份获取乐团在该月有课的日期
+     */
+    List<Date> getCourseScheduleDateByMonth(Long musicGroupID, Date month);
 }

+ 8 - 0
mec-web/src/main/java/com/ym/mec/web/service/EmployeeService.java

@@ -0,0 +1,8 @@
+package com.ym.mec.web.service;
+
+import com.ym.mec.common.service.BaseService;
+import com.ym.mec.web.dal.entity.Employee;
+
+public interface EmployeeService extends BaseService<Integer, Employee> {
+
+}

+ 8 - 0
mec-web/src/main/java/com/ym/mec/web/service/MusicGroupBuildLogService.java

@@ -0,0 +1,8 @@
+package com.ym.mec.web.service;
+
+import com.ym.mec.common.service.BaseService;
+import com.ym.mec.web.dal.entity.MusicGroupBuildLog;
+
+public interface MusicGroupBuildLogService extends BaseService<Integer, MusicGroupBuildLog> {
+
+}

+ 8 - 0
mec-web/src/main/java/com/ym/mec/web/service/MusicGroupPurchaseListService.java

@@ -0,0 +1,8 @@
+package com.ym.mec.web.service;
+
+import com.ym.mec.common.service.BaseService;
+import com.ym.mec.web.dal.entity.MusicGroupPurchaseList;
+
+public interface MusicGroupPurchaseListService extends BaseService<Integer, MusicGroupPurchaseList> {
+
+}

+ 8 - 0
mec-web/src/main/java/com/ym/mec/web/service/StudentRechargeService.java

@@ -0,0 +1,8 @@
+package com.ym.mec.web.service;
+
+import com.ym.mec.common.service.BaseService;
+import com.ym.mec.web.dal.entity.StudentRecharge;
+
+public interface StudentRechargeService extends BaseService<String, StudentRecharge> {
+
+}

+ 8 - 0
mec-web/src/main/java/com/ym/mec/web/service/StudentWithdrawService.java

@@ -0,0 +1,8 @@
+package com.ym.mec.web.service;
+
+import com.ym.mec.common.service.BaseService;
+import com.ym.mec.web.dal.entity.StudentWithdraw;
+
+public interface StudentWithdrawService extends BaseService<String, StudentWithdraw> {
+
+}

+ 8 - 0
mec-web/src/main/java/com/ym/mec/web/service/SysMessageConfigService.java

@@ -0,0 +1,8 @@
+package com.ym.mec.web.service;
+
+import com.ym.mec.common.service.BaseService;
+import com.ym.mec.web.dal.entity.SysMessageConfig;
+
+public interface SysMessageConfigService extends BaseService<Integer, SysMessageConfig> {
+
+}

+ 8 - 0
mec-web/src/main/java/com/ym/mec/web/service/SysMessageService.java

@@ -0,0 +1,8 @@
+package com.ym.mec.web.service;
+
+import com.ym.mec.common.service.BaseService;
+import com.ym.mec.web.dal.entity.SysMessage;
+
+public interface SysMessageService extends BaseService<Long, SysMessage> {
+
+}

+ 8 - 0
mec-web/src/main/java/com/ym/mec/web/service/SysSuggestionService.java

@@ -0,0 +1,8 @@
+package com.ym.mec.web.service;
+
+import com.ym.mec.common.service.BaseService;
+import com.ym.mec.web.dal.entity.SysSuggestion;
+
+public interface SysSuggestionService extends BaseService<Long, SysSuggestion> {
+
+}

+ 8 - 0
mec-web/src/main/java/com/ym/mec/web/service/TeacherLeaveRecordService.java

@@ -0,0 +1,8 @@
+package com.ym.mec.web.service;
+
+import com.ym.mec.common.service.BaseService;
+import com.ym.mec.web.dal.entity.TeacherLeaveRecord;
+
+public interface TeacherLeaveRecordService extends BaseService<Long, TeacherLeaveRecord> {
+
+}

+ 9 - 0
mec-web/src/main/java/com/ym/mec/web/service/impl/ClassGroupServiceImpl.java

@@ -26,4 +26,13 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     public List<ClassGroup> findClassGroup4Teacher(Integer teacherId) {
         return classGroupDao.findClassGroup4Teacher(teacherId);
     }
+
+	@Override
+	public List<ClassGroup> findClassGroup(Integer musicGroupId,Integer mixClassGroupId) {
+		if(null==mixClassGroupId){
+			return classGroupDao.findAllMixClassGroup(musicGroupId);
+		}else{
+			return classGroupDao.findMixClassChildClassGroup(mixClassGroupId);
+		}
+	}
 }

+ 75 - 0
mec-web/src/main/java/com/ym/mec/web/service/impl/CourseScheduleServiceImpl.java

@@ -3,6 +3,7 @@ package com.ym.mec.web.service.impl;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.web.dal.dao.CourseScheduleDao;
+import com.ym.mec.web.dal.dto.CourseScheduleDto;
 import com.ym.mec.web.dal.dto.TeacherAttendanceDto;
 import com.ym.mec.web.dal.entity.CourseSchedule;
 import com.ym.mec.web.dal.enums.ParamEnum;
@@ -10,7 +11,11 @@ import com.ym.mec.web.service.CourseScheduleService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.text.SimpleDateFormat;
 import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 @Service
 public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSchedule>  implements CourseScheduleService {
@@ -30,4 +35,74 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		currentCourseDetail.setTeacherAttendanceTimeGap(ParamEnum.TEACHER_ATTENDANCE_TIME_GAP);
 		return currentCourseDetail;
 	}
+
+	@Override
+	public String batchAddCourseSchedule(List<CourseSchedule> courseSchedules) {
+		String result=checkCourseSchedule(courseSchedules);
+		if(result.isEmpty()){
+			courseScheduleDao.batchAddCourseSchedules(courseSchedules);
+			return result;
+		}else{
+			return result;
+		}
+	}
+
+	@Override
+	public String batchUpdateCourseSchedule(List<CourseSchedule> courseSchedules, Long musicGroupID) {
+		String result=checkCourseSchedule(courseSchedules);
+		if(result.isEmpty()){
+			courseScheduleDao.deleteCourseSchedulesByMusicGroupID(musicGroupID);
+			courseScheduleDao.batchAddCourseSchedules(courseSchedules);
+			return result;
+		}else{
+			return result;
+		}
+	}
+
+	@Override
+	public List<CourseScheduleDto> getCourseSchedulesWithDate(Date classDate) {
+		return courseScheduleDao.getCourseSchedulesWithDate(classDate);
+	}
+
+	@Override
+	public List<Date> getCourseScheduleDateByMonth(Long musicGroupID, Date month) {
+		return courseScheduleDao.getCourseScheduleDateByMonth(musicGroupID,month);
+	}
+
+	/**
+	 * 判断课程安排中是否存在冲突
+	 * @param courseSchedules
+	 * @return
+	 */
+	private String checkCourseSchedule(List<CourseSchedule> courseSchedules){
+		Map<Date, List<CourseSchedule>> collect = courseSchedules.stream().collect(Collectors.groupingBy(CourseSchedule::getClassDate));
+		for(Date keyDate:collect.keySet()){
+			List<CourseSchedule> currentCourses=collect.get(keyDate);
+			Map<Date, List<CourseSchedule>> collect1 = currentCourses.stream().collect(Collectors.groupingBy(CourseSchedule::getStartClassTime));
+			if(currentCourses.size()==collect1.size()){
+				continue;
+			}else{
+				for(Date keyDate2:collect1.keySet()){
+					List<CourseSchedule> currentCourses1=collect.get(keyDate2);
+					if(currentCourses1.size()>ParamEnum.ONE.getCode()){
+						Map<Long, List<CourseSchedule>> collect2 = currentCourses1.stream().collect(
+								Collectors.groupingBy(CourseSchedule::getTeacherId));
+						for (Long teacherID:collect2.keySet()){
+							if(collect2.get(teacherID).size()>ParamEnum.ONE.getCode()){
+								return new SimpleDateFormat("yyyy-MM-dd").format(keyDate)+"日的课程安排在教师分配上有冲突!";
+							}
+						}
+						List<Integer> repeatClassGroupIds = currentCourses1.stream().map(CourseSchedule::getClassGroupId).collect(Collectors.toList());
+						Integer[] counts=courseScheduleDao.countStudentInClass(repeatClassGroupIds);
+						for (Integer i:counts){
+							if (i>ParamEnum.ONE.getCode()){
+								return new SimpleDateFormat("yyyy-MM-dd").format(keyDate)+"日的课程安排有学生重复!";
+							}
+						}
+					}
+				}
+			}
+		}
+		return "";
+	}
 }

+ 23 - 0
mec-web/src/main/java/com/ym/mec/web/service/impl/EmployeeServiceImpl.java

@@ -0,0 +1,23 @@
+package com.ym.mec.web.service.impl;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.web.dal.dao.EmployeeDao;
+import com.ym.mec.web.dal.entity.Employee;
+import com.ym.mec.web.service.EmployeeService;
+
+@Service
+public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  implements EmployeeService {
+	
+	@Autowired
+	private EmployeeDao employeeDao;
+
+	@Override
+	public BaseDAO<Integer, Employee> getDAO() {
+		return employeeDao;
+	}
+	
+}

+ 23 - 0
mec-web/src/main/java/com/ym/mec/web/service/impl/MusicGroupBuildLogServiceImpl.java

@@ -0,0 +1,23 @@
+package com.ym.mec.web.service.impl;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.web.dal.dao.MusicGroupBuildLogDao;
+import com.ym.mec.web.dal.entity.MusicGroupBuildLog;
+import com.ym.mec.web.service.MusicGroupBuildLogService;
+
+@Service
+public class MusicGroupBuildLogServiceImpl extends BaseServiceImpl<Integer, MusicGroupBuildLog>  implements MusicGroupBuildLogService {
+	
+	@Autowired
+	private MusicGroupBuildLogDao musicGroupBuildLogDao;
+
+	@Override
+	public BaseDAO<Integer, MusicGroupBuildLog> getDAO() {
+		return musicGroupBuildLogDao;
+	}
+	
+}

+ 23 - 0
mec-web/src/main/java/com/ym/mec/web/service/impl/MusicGroupPurchaseListServiceImpl.java

@@ -0,0 +1,23 @@
+package com.ym.mec.web.service.impl;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.web.dal.dao.MusicGroupPurchaseListDao;
+import com.ym.mec.web.dal.entity.MusicGroupPurchaseList;
+import com.ym.mec.web.service.MusicGroupPurchaseListService;
+
+@Service
+public class MusicGroupPurchaseListServiceImpl extends BaseServiceImpl<Integer, MusicGroupPurchaseList>  implements MusicGroupPurchaseListService {
+	
+	@Autowired
+	private MusicGroupPurchaseListDao musicGroupPurchaseListDao;
+
+	@Override
+	public BaseDAO<Integer, MusicGroupPurchaseList> getDAO() {
+		return musicGroupPurchaseListDao;
+	}
+	
+}

+ 23 - 0
mec-web/src/main/java/com/ym/mec/web/service/impl/StudentRechargeServiceImpl.java

@@ -0,0 +1,23 @@
+package com.ym.mec.web.service.impl;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.web.dal.dao.StudentRechargeDao;
+import com.ym.mec.web.dal.entity.StudentRecharge;
+import com.ym.mec.web.service.StudentRechargeService;
+
+@Service
+public class StudentRechargeServiceImpl extends BaseServiceImpl<String, StudentRecharge>  implements StudentRechargeService {
+	
+	@Autowired
+	private StudentRechargeDao studentRechargeDao;
+
+	@Override
+	public BaseDAO<String, StudentRecharge> getDAO() {
+		return studentRechargeDao;
+	}
+	
+}

+ 23 - 0
mec-web/src/main/java/com/ym/mec/web/service/impl/StudentWithdrawServiceImpl.java

@@ -0,0 +1,23 @@
+package com.ym.mec.web.service.impl;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.web.dal.dao.StudentWithdrawDao;
+import com.ym.mec.web.dal.entity.StudentWithdraw;
+import com.ym.mec.web.service.StudentWithdrawService;
+
+@Service
+public class StudentWithdrawServiceImpl extends BaseServiceImpl<String, StudentWithdraw>  implements StudentWithdrawService {
+	
+	@Autowired
+	private StudentWithdrawDao studentWithdrawDao;
+
+	@Override
+	public BaseDAO<String, StudentWithdraw> getDAO() {
+		return studentWithdrawDao;
+	}
+	
+}

+ 23 - 0
mec-web/src/main/java/com/ym/mec/web/service/impl/SysMessageConfigServiceImpl.java

@@ -0,0 +1,23 @@
+package com.ym.mec.web.service.impl;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.web.dal.dao.SysMessageConfigDao;
+import com.ym.mec.web.dal.entity.SysMessageConfig;
+import com.ym.mec.web.service.SysMessageConfigService;
+
+@Service
+public class SysMessageConfigServiceImpl extends BaseServiceImpl<Integer, SysMessageConfig>  implements SysMessageConfigService {
+	
+	@Autowired
+	private SysMessageConfigDao sysMessageConfigDao;
+
+	@Override
+	public BaseDAO<Integer, SysMessageConfig> getDAO() {
+		return sysMessageConfigDao;
+	}
+	
+}

+ 23 - 0
mec-web/src/main/java/com/ym/mec/web/service/impl/SysMessageServiceImpl.java

@@ -0,0 +1,23 @@
+package com.ym.mec.web.service.impl;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.web.dal.dao.SysMessageDao;
+import com.ym.mec.web.dal.entity.SysMessage;
+import com.ym.mec.web.service.SysMessageService;
+
+@Service
+public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage>  implements SysMessageService {
+	
+	@Autowired
+	private SysMessageDao sysMessageDao;
+
+	@Override
+	public BaseDAO<Long, SysMessage> getDAO() {
+		return sysMessageDao;
+	}
+	
+}

+ 23 - 0
mec-web/src/main/java/com/ym/mec/web/service/impl/SysSuggestionServiceImpl.java

@@ -0,0 +1,23 @@
+package com.ym.mec.web.service.impl;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.web.dal.dao.SysSuggestionDao;
+import com.ym.mec.web.dal.entity.SysSuggestion;
+import com.ym.mec.web.service.SysSuggestionService;
+
+@Service
+public class SysSuggestionServiceImpl extends BaseServiceImpl<Long, SysSuggestion>  implements SysSuggestionService {
+	
+	@Autowired
+	private SysSuggestionDao sysSuggestionDao;
+
+	@Override
+	public BaseDAO<Long, SysSuggestion> getDAO() {
+		return sysSuggestionDao;
+	}
+	
+}

+ 23 - 0
mec-web/src/main/java/com/ym/mec/web/service/impl/TeacherLeaveRecordServiceImpl.java

@@ -0,0 +1,23 @@
+package com.ym.mec.web.service.impl;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.web.dal.dao.TeacherLeaveRecordDao;
+import com.ym.mec.web.dal.entity.TeacherLeaveRecord;
+import com.ym.mec.web.service.TeacherLeaveRecordService;
+
+@Service
+public class TeacherLeaveRecordServiceImpl extends BaseServiceImpl<Long, TeacherLeaveRecord>  implements TeacherLeaveRecordService {
+	
+	@Autowired
+	private TeacherLeaveRecordDao teacherLeaveRecordDao;
+
+	@Override
+	public BaseDAO<Long, TeacherLeaveRecord> getDAO() {
+		return teacherLeaveRecordDao;
+	}
+	
+}

+ 25 - 10
mec-web/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -8,23 +8,23 @@
     <resultMap type="com.ym.mec.web.dal.entity.ClassGroup" id="ClassGroup">
         <result column="id_" property="id"/>
         <result column="music_group_id_" property="musicGroupId"/>
-        <result column="subject_id_" property="subjectId"/>
+        <result column="subject_id_list_" property="subjectIdList"/>
         <result column="name_" property="name"/>
         <result column="student_num_" property="studentNum"/>
         <result column="create_time_" property="createTime"/>
         <result column="update_time_" property="updateTime"/>
         <result column="type_" property="type" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="del_flag_" property="delFlag" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
-        <association property="musicGroupId" javaType="com.ym.mec.web.dal.entity.MusicGroup" >
-            <result column="name_" property="name"/>
-            <result column="status_" property="status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
-        </association>
+        <!--<association property="musicGroupId" javaType="com.ym.mec.web.dal.entity.MusicGroup" >-->
+            <!--<result column="name_" property="name"/>-->
+            <!--<result column="status_" property="status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>-->
+        <!--</association>-->
     </resultMap>
 
     <resultMap type="com.ym.mec.web.dal.entity.ClassGroup4Teacher" id="ClassGroup4Teacher">
         <result column="id_" property="id"/>
         <result column="music_group_id_" property="musicGroupId"/>
-        <result column="subject_id_" property="subjectId"/>
+        <result column="subject_id_list_" property="subjectIdList"/>
         <result column="name_" property="name"/>
         <result column="student_num_" property="studentNum"/>
         <result column="create_time_" property="createTime"/>
@@ -40,7 +40,7 @@
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="id!=null">id_,</if>
             <if test="musicGroupId!=null">music_group_id_,</if>
-            <if test="subjectId!=null">subject_id_,</if>
+            <if test="subjectIdList!=null">subject_id_list_,</if>
             <if test="name!=null">name_,</if>
             <if test="studentNum!=null">student_num_,</if>
             <if test="createTime!=null">create_time_,</if>
@@ -51,7 +51,7 @@
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="id!=null">#{id},</if>
             <if test="musicGroupId!=null">#{musicGroupId},</if>
-            <if test="subjectId!=null">#{subjectId},</if>
+            <if test="subjectIdList!=null">#{subjectIdList},</if>
             <if test="name!=null">#{name},</if>
             <if test="studentNum!=null">#{studentNum},</if>
             <if test="createTime!=null">#{createTime},</if>
@@ -74,8 +74,8 @@
     <update id="update" parameterType="com.ym.mec.web.dal.entity.ClassGroup">
         UPDATE class_group
         <set>
-            <if test="subjectId != null">
-                subject_id_ = #{subjectId},
+            <if test="subjectIdList != null">
+                subject_id_list_ = #{subjectIdList},
             </if>
             <if test="studentNum != null">
                 student_num_ = #{studentNum},
@@ -125,4 +125,19 @@
         OR
         c.assistant_teacher_id_ = #{teacherId}
     </select>
+    <select id="findAllMixClassGroup" resultMap="ClassGroup">
+        SELECT
+            *
+        FROM
+            class_group cg
+        WHERE cg.type_="MIX" AND cg.music_group_id_=#{musicGroupId}
+    </select>
+    <select id="findMixClassChildClassGroup" resultMap="ClassGroup">
+        SELECT
+            cg.*
+        FROM
+            class_group_relation cgr
+        LEFT JOIN class_group cg ON cgr.class_group_id_=cg.id_
+        WHERE cgr.sub_class_group_id_=#{mixClassGroupId}
+    </select>
 </mapper>

+ 68 - 0
mec-web/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -20,6 +20,22 @@
         <result column="update_time_" property="updateTime"/>
     </resultMap>
 
+    <resultMap type="com.ym.mec.web.dal.dto.CourseScheduleDto" id="courseScheduleDto">
+        <result column="id_" property="id"/>
+        <result column="class_group_id_" property="classGroupId"/>
+        <result column="status_" property="status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="subsidy_" property="subsidy"/>
+        <result column="class_date_" property="classDate"/>
+        <result column="start_class_time_" property="startClassTime"/>
+        <result column="end_class_time_" property="endClassTime"/>
+        <result column="teacher_id_" property="teacherId"/>
+        <result column="actual_teacher_id_" property="actualTeacherId"/>
+        <result column="create_time_" property="createTime"/>
+        <result column="update_time_" property="updateTime"/>
+        <result column="name_" property="classGroupName"/>
+        <result column="type_" property="type" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+    </resultMap>
+
     <!-- 根据主键查询一条记录 -->
     <select id="get" resultMap="CourseSchedule">
 		SELECT * FROM course_schedule WHERE id_ = #{id} 
@@ -43,6 +59,15 @@
         VALUES(#{id},#{classGroupId},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{subsidy},#{classDate},#{startClassTime},#{endClassTime},#{teacherId},#{actualTeacherId},now(),now())
     </insert>
 
+    <insert id="batchAddCourseSchedules" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id_">
+        INSERT INTO course_schedule
+        (id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,teacher_id_,actual_teacher_id_,create_time_,update_time_)
+        VALUE
+        <foreach collection="list" item="course" separator=",">
+            (#{course.id},#{course.classGroupId},#{course.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.subsidy},#{course.classDate},#{course.startClassTime},#{course.endClassTime},#{course.teacherId},#{course.actualTeacherId},now(),now())
+        </foreach>
+    </insert>
+
     <!-- 根据主键查询一条记录 -->
     <update id="update" parameterType="com.ym.mec.web.dal.entity.CourseSchedule">
         UPDATE course_schedule
@@ -83,6 +108,15 @@
 		DELETE FROM course_schedule WHERE id_ = #{id} 
 	</delete>
 
+    <delete id="deleteCourseSchedulesByMusicGroupID">
+        DELETE
+          cs
+        FROM
+            course_schedule cs
+        INNER JOIN class_group cg ON cs.class_group_id_=cg.id_
+        WHERE cg.music_group_id_=#{musicGroupID}
+    </delete>
+
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="CourseSchedule" parameterType="map">
         SELECT * FROM course_schedule ORDER BY id_
@@ -163,4 +197,38 @@
         LEFT JOIN `subject` s ON cg.subject_id_=s.id_
         WHERE cgsm.class_group_id_=#{classID} AND cgsm.status_!="DROP_OUT"
     </select>
+
+    <select id="countStudentInClass" resultType="java.lang.Integer">
+        SELECT
+            COUNT(class_group_id_)
+        FROM
+            class_group_student_mapper cgsm
+        WHERE class_group_id_ IN
+        <foreach collection="list" item="item" index="index" separator="," open="(" close=")">
+            #{item}
+        </foreach>
+        GROUP BY user_id_
+    </select>
+
+    <select id="getCourseSchedulesWithDate" resultMap="courseScheduleDto">
+        SELECT
+            cg.*,
+            cs.class_date_,
+            cs.start_class_time_
+        FROM
+            course_schedule cs
+        LEFT JOIN class_group cg ON cs.class_group_id_=cg.id_
+        WHERE cs.class_date_=DATE_FORMAT(#{classDate},'%Y%m%d')
+    </select>
+
+    <select id="getCourseScheduleDateByMonth" resultType="java.util.Date">
+        SELECT
+            cs.class_date_
+        FROM
+            course_schedule cs
+        LEFT JOIN class_group cg ON cs.class_group_id_=cg.id_
+        WHERE DATE_FORMAT(cs.class_date_,'%Y%m')=DATE_FORMAT(#{month},'%Y%m')
+        AND cg.music_group_id_=#{musicGroupID}
+        GROUP BY cs.class_date_
+    </select>
 </mapper>

+ 108 - 0
mec-web/src/main/resources/config/mybatis/EmployeeMapper.xml

@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+这个文件是自动生成的。
+不要修改此文件。所有改动将在下次重新自动生成时丢失。
+-->
+<mapper namespace="com.ym.mec.web.dal.dao.EmployeeDao">
+	
+	<resultMap type="com.ym.mec.web.dal.entity.Employee" id="Employee">
+		<result column="user_id_" property="userId" />
+		<result column="organ_id_" property="organId" />
+		<result column="job_nature_" property="jobNature" />
+		<result column="is_probation_period_" property="isProbationPeriod" />
+		<result column="education_background_" property="educationBackground" />
+		<result column="graduate_school_" property="graduateSchool" />
+		<result column="technical_titles_" property="technicalTitles" />
+		<result column="entry_date_" property="entryDate" />
+		<result column="certificate_type_" property="certificateType" />
+		<result column="certificate_num_" property="certificateNum" />
+		<result column="update_time_" property="updateTime" />
+		<result column="create_time_" property="createTime" />
+		<result column="introduction_" property="introduction" />
+		<result column="demission_date_" property="demissionDate" />
+	</resultMap>
+	
+	<!-- 根据主键查询一条记录 -->
+	<select id="get" resultMap="Employee" >
+		SELECT * FROM employee WHERE user_id_ = #{userId} 
+	</select>
+	
+	<!-- 全查询 -->
+	<select id="findAll" resultMap="Employee">
+		SELECT * FROM employee ORDER BY user_id_
+	</select>
+	
+	<!-- 向数据库增加一条记录 -->
+	<insert id="insert" parameterType="com.ym.mec.web.dal.entity.Employee" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
+		<!--
+		<selectKey resultClass="int" keyProperty="id" > 
+		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
+		</selectKey>
+		-->
+		INSERT INTO employee (user_id_,organ_id_,job_nature_,is_probation_period_,education_background_,graduate_school_,technical_titles_,entry_date_,certificate_type_,certificate_num_,update_time_,create_time_,introduction_,demission_date_) VALUES(#{userId},#{organId},#{jobNature},#{isProbationPeriod},#{educationBackground},#{graduateSchool},#{technicalTitles},#{entryDate},#{certificateType},#{certificateNum},#{updateTime},#{createTime},#{introduction},#{demissionDate})
+	</insert>
+	
+	<!-- 根据主键查询一条记录 -->
+	<update id="update" parameterType="com.ym.mec.web.dal.entity.Employee">
+		UPDATE employee <set>
+<if test="isProbationPeriod != null">
+is_probation_period_ = #{isProbationPeriod},
+</if>
+<if test="graduateSchool != null">
+graduate_school_ = #{graduateSchool},
+</if>
+<if test="organId != null">
+organ_id_ = #{organId},
+</if>
+<if test="introduction != null">
+introduction_ = #{introduction},
+</if>
+<if test="technicalTitles != null">
+technical_titles_ = #{technicalTitles},
+</if>
+<if test="entryDate != null">
+entry_date_ = #{entryDate},
+</if>
+<if test="jobNature != null">
+job_nature_ = #{jobNature},
+</if>
+<if test="createTime != null">
+create_time_ = #{createTime},
+</if>
+<if test="userId != null">
+user_id_ = #{userId},
+</if>
+<if test="certificateType != null">
+certificate_type_ = #{certificateType},
+</if>
+<if test="updateTime != null">
+update_time_ = #{updateTime},
+</if>
+<if test="educationBackground != null">
+education_background_ = #{educationBackground},
+</if>
+<if test="certificateNum != null">
+certificate_num_ = #{certificateNum},
+</if>
+<if test="demissionDate != null">
+demission_date_ = #{demissionDate},
+</if>
+</set> WHERE user_id_ = #{userId} 
+	</update>
+	
+	<!-- 根据主键删除一条记录 -->
+	<delete id="delete" >
+		DELETE FROM employee WHERE user_id_ = #{userId} 
+	</delete>
+	
+	<!-- 分页查询 -->
+	<select id="queryPage" resultMap="Employee" parameterType="map">
+		SELECT * FROM employee ORDER BY user_id_ <include refid="global.limit"/>
+	</select>
+	
+	<!-- 查询当前表的总记录数 -->
+	<select id="queryCount" resultType="int">
+		SELECT COUNT(*) FROM employee
+	</select>
+</mapper>

+ 76 - 0
mec-web/src/main/resources/config/mybatis/MusicGroupBuildLogMapper.xml

@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+这个文件是自动生成的。
+不要修改此文件。所有改动将在下次重新自动生成时丢失。
+-->
+<mapper namespace="com.ym.mec.web.dal.dao.MusicGroupBuildLogDao">
+	
+	<resultMap type="com.ym.mec.web.dal.entity.MusicGroupBuildLog" id="MusicGroupBuildLog">
+		<result column="id_" property="id" />
+		<result column="music_group_id_" property="musicGroupId" />
+		<result column="event_" property="event" />
+		<result column="operator_" property="operator" />
+		<result column="memo_" property="memo" />
+		<result column="create_time_" property="createTime" />
+	</resultMap>
+	
+	<!-- 根据主键查询一条记录 -->
+	<select id="get" resultMap="MusicGroupBuildLog" >
+		SELECT * FROM music_group_build_log WHERE id_ = #{id} 
+	</select>
+	
+	<!-- 全查询 -->
+	<select id="findAll" resultMap="MusicGroupBuildLog">
+		SELECT * FROM music_group_build_log ORDER BY id_
+	</select>
+	
+	<!-- 向数据库增加一条记录 -->
+	<insert id="insert" parameterType="com.ym.mec.web.dal.entity.MusicGroupBuildLog" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
+		<!--
+		<selectKey resultClass="int" keyProperty="id" > 
+		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
+		</selectKey>
+		-->
+		INSERT INTO music_group_build_log (id_,music_group_id_,event_,operator_,memo_,create_time_) VALUES(#{id},#{musicGroupId},#{event},#{operator},#{memo},#{createTime})
+	</insert>
+	
+	<!-- 根据主键查询一条记录 -->
+	<update id="update" parameterType="com.ym.mec.web.dal.entity.MusicGroupBuildLog">
+		UPDATE music_group_build_log <set>
+<if test="operator != null">
+operator_ = #{operator},
+</if>
+<if test="event != null">
+event_ = #{event},
+</if>
+<if test="id != null">
+id_ = #{id},
+</if>
+<if test="memo != null">
+memo_ = #{memo},
+</if>
+<if test="musicGroupId != null">
+music_group_id_ = #{musicGroupId},
+</if>
+<if test="createTime != null">
+create_time_ = #{createTime},
+</if>
+</set> WHERE id_ = #{id} 
+	</update>
+	
+	<!-- 根据主键删除一条记录 -->
+	<delete id="delete" >
+		DELETE FROM music_group_build_log WHERE id_ = #{id} 
+	</delete>
+	
+	<!-- 分页查询 -->
+	<select id="queryPage" resultMap="MusicGroupBuildLog" parameterType="map">
+		SELECT * FROM music_group_build_log ORDER BY id_ <include refid="global.limit"/>
+	</select>
+	
+	<!-- 查询当前表的总记录数 -->
+	<select id="queryCount" resultType="int">
+		SELECT COUNT(*) FROM music_group_build_log
+	</select>
+</mapper>

+ 76 - 0
mec-web/src/main/resources/config/mybatis/MusicGroupPurchaseListMapper.xml

@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+这个文件是自动生成的。
+不要修改此文件。所有改动将在下次重新自动生成时丢失。
+-->
+<mapper namespace="com.ym.mec.web.dal.dao.MusicGroupPurchaseListDao">
+	
+	<resultMap type="com.ym.mec.web.dal.entity.MusicGroupPurchaseList" id="MusicGroupPurchaseList">
+		<result column="id_" property="id" />
+		<result column="music_group_id_" property="musicGroupId" />
+		<result column="goods_id_" property="goodsId" />
+		<result column="purchase_num_" property="purchaseNum" />
+		<result column="create_time_" property="createTime" />
+		<result column="update_time_" property="updateTime" />
+	</resultMap>
+	
+	<!-- 根据主键查询一条记录 -->
+	<select id="get" resultMap="MusicGroupPurchaseList" >
+		SELECT * FROM music_group_purchase_list WHERE id_ = #{id} 
+	</select>
+	
+	<!-- 全查询 -->
+	<select id="findAll" resultMap="MusicGroupPurchaseList">
+		SELECT * FROM music_group_purchase_list ORDER BY id_
+	</select>
+	
+	<!-- 向数据库增加一条记录 -->
+	<insert id="insert" parameterType="com.ym.mec.web.dal.entity.MusicGroupPurchaseList" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
+		<!--
+		<selectKey resultClass="int" keyProperty="id" > 
+		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
+		</selectKey>
+		-->
+		INSERT INTO music_group_purchase_list (id_,music_group_id_,goods_id_,purchase_num_,create_time_,update_time_) VALUES(#{id},#{musicGroupId},#{goodsId},#{purchaseNum},#{createTime},#{updateTime})
+	</insert>
+	
+	<!-- 根据主键查询一条记录 -->
+	<update id="update" parameterType="com.ym.mec.web.dal.entity.MusicGroupPurchaseList">
+		UPDATE music_group_purchase_list <set>
+<if test="purchaseNum != null">
+purchase_num_ = #{purchaseNum},
+</if>
+<if test="id != null">
+id_ = #{id},
+</if>
+<if test="updateTime != null">
+update_time_ = #{updateTime},
+</if>
+<if test="musicGroupId != null">
+music_group_id_ = #{musicGroupId},
+</if>
+<if test="goodsId != null">
+goods_id_ = #{goodsId},
+</if>
+<if test="createTime != null">
+create_time_ = #{createTime},
+</if>
+</set> WHERE id_ = #{id} 
+	</update>
+	
+	<!-- 根据主键删除一条记录 -->
+	<delete id="delete" >
+		DELETE FROM music_group_purchase_list WHERE id_ = #{id} 
+	</delete>
+	
+	<!-- 分页查询 -->
+	<select id="queryPage" resultMap="MusicGroupPurchaseList" parameterType="map">
+		SELECT * FROM music_group_purchase_list ORDER BY id_ <include refid="global.limit"/>
+	</select>
+	
+	<!-- 查询当前表的总记录数 -->
+	<select id="queryCount" resultType="int">
+		SELECT COUNT(*) FROM music_group_purchase_list
+	</select>
+</mapper>

+ 100 - 0
mec-web/src/main/resources/config/mybatis/StudentRechargeMapper.xml

@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+这个文件是自动生成的。
+不要修改此文件。所有改动将在下次重新自动生成时丢失。
+-->
+<mapper namespace="com.ym.mec.web.dal.dao.StudentRechargeDao">
+	
+	<resultMap type="com.ym.mec.web.dal.entity.StudentRecharge" id="StudentRecharge">
+		<result column="id_" property="id" />
+		<result column="user_id_" property="userId" />
+		<result column="trans_no_" property="transNo" />
+		<result column="status_" property="status" />
+		<result column="amount_" property="amount" />
+		<result column="fee_user_" property="feeUser" />
+		<result column="fee_platform_" property="feePlatform" />
+		<result column="pay_platform_" property="payPlatform" />
+		<result column="description_" property="description" />
+		<result column="comment_" property="comment" />
+		<result column="create_time_" property="createTime" />
+		<result column="modify_time_" property="modifyTime" />
+	</resultMap>
+	
+	<!-- 根据主键查询一条记录 -->
+	<select id="get" resultMap="StudentRecharge" >
+		SELECT * FROM student_recharge WHERE id_ = #{id} 
+	</select>
+	
+	<!-- 全查询 -->
+	<select id="findAll" resultMap="StudentRecharge">
+		SELECT * FROM student_recharge ORDER BY id_
+	</select>
+	
+	<!-- 向数据库增加一条记录 -->
+	<insert id="insert" parameterType="com.ym.mec.web.dal.entity.StudentRecharge" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
+		<!--
+		<selectKey resultClass="int" keyProperty="id" > 
+		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
+		</selectKey>
+		-->
+		INSERT INTO student_recharge (id_,user_id_,trans_no_,status_,amount_,fee_user_,fee_platform_,pay_platform_,description_,comment_,create_time_,modify_time_) VALUES(#{id},#{userId},#{transNo},#{status},#{amount},#{feeUser},#{feePlatform},#{payPlatform},#{description},#{comment},#{createTime},#{modifyTime})
+	</insert>
+	
+	<!-- 根据主键查询一条记录 -->
+	<update id="update" parameterType="com.ym.mec.web.dal.entity.StudentRecharge">
+		UPDATE student_recharge <set>
+<if test="status != null">
+status_ = #{status},
+</if>
+<if test="userId != null">
+user_id_ = #{userId},
+</if>
+<if test="id != null">
+id_ = #{id},
+</if>
+<if test="modifyTime != null">
+modify_time_ = #{modifyTime},
+</if>
+<if test="feePlatform != null">
+fee_platform_ = #{feePlatform},
+</if>
+<if test="comment != null">
+comment_ = #{comment},
+</if>
+<if test="amount != null">
+amount_ = #{amount},
+</if>
+<if test="feeUser != null">
+fee_user_ = #{feeUser},
+</if>
+<if test="description != null">
+description_ = #{description},
+</if>
+<if test="transNo != null">
+trans_no_ = #{transNo},
+</if>
+<if test="payPlatform != null">
+pay_platform_ = #{payPlatform},
+</if>
+<if test="createTime != null">
+create_time_ = #{createTime},
+</if>
+</set> WHERE id_ = #{id} 
+	</update>
+	
+	<!-- 根据主键删除一条记录 -->
+	<delete id="delete" >
+		DELETE FROM student_recharge WHERE id_ = #{id} 
+	</delete>
+	
+	<!-- 分页查询 -->
+	<select id="queryPage" resultMap="StudentRecharge" parameterType="map">
+		SELECT * FROM student_recharge ORDER BY id_ <include refid="global.limit"/>
+	</select>
+	
+	<!-- 查询当前表的总记录数 -->
+	<select id="queryCount" resultType="int">
+		SELECT COUNT(*) FROM student_recharge
+	</select>
+</mapper>

+ 100 - 0
mec-web/src/main/resources/config/mybatis/StudentWithdrawMapper.xml

@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+这个文件是自动生成的。
+不要修改此文件。所有改动将在下次重新自动生成时丢失。
+-->
+<mapper namespace="com.ym.mec.web.dal.dao.StudentWithdrawDao">
+	
+	<resultMap type="com.ym.mec.web.dal.entity.StudentWithdraw" id="StudentWithdraw">
+		<result column="id_" property="id" />
+		<result column="user_id_" property="userId" />
+		<result column="bank_card_no_" property="bankCardNo" />
+		<result column="trans_no_" property="transNo" />
+		<result column="status_" property="status" />
+		<result column="amount_" property="amount" />
+		<result column="fee_user_" property="feeUser" />
+		<result column="fee_platform_" property="feePlatform" />
+		<result column="description_" property="description" />
+		<result column="comment_" property="comment" />
+		<result column="create_time_" property="createTime" />
+		<result column="modify_time_" property="modifyTime" />
+	</resultMap>
+	
+	<!-- 根据主键查询一条记录 -->
+	<select id="get" resultMap="StudentWithdraw" >
+		SELECT * FROM student_withdraw WHERE id_ = #{id} 
+	</select>
+	
+	<!-- 全查询 -->
+	<select id="findAll" resultMap="StudentWithdraw">
+		SELECT * FROM student_withdraw ORDER BY id_
+	</select>
+	
+	<!-- 向数据库增加一条记录 -->
+	<insert id="insert" parameterType="com.ym.mec.web.dal.entity.StudentWithdraw" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
+		<!--
+		<selectKey resultClass="int" keyProperty="id" > 
+		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
+		</selectKey>
+		-->
+		INSERT INTO student_withdraw (id_,user_id_,bank_card_no_,trans_no_,status_,amount_,fee_user_,fee_platform_,description_,comment_,create_time_,modify_time_) VALUES(#{id},#{userId},#{bankCardNo},#{transNo},#{status},#{amount},#{feeUser},#{feePlatform},#{description},#{comment},#{createTime},#{modifyTime})
+	</insert>
+	
+	<!-- 根据主键查询一条记录 -->
+	<update id="update" parameterType="com.ym.mec.web.dal.entity.StudentWithdraw">
+		UPDATE student_withdraw <set>
+<if test="status != null">
+status_ = #{status},
+</if>
+<if test="userId != null">
+user_id_ = #{userId},
+</if>
+<if test="id != null">
+id_ = #{id},
+</if>
+<if test="modifyTime != null">
+modify_time_ = #{modifyTime},
+</if>
+<if test="feePlatform != null">
+fee_platform_ = #{feePlatform},
+</if>
+<if test="comment != null">
+comment_ = #{comment},
+</if>
+<if test="amount != null">
+amount_ = #{amount},
+</if>
+<if test="feeUser != null">
+fee_user_ = #{feeUser},
+</if>
+<if test="bankCardNo != null">
+bank_card_no_ = #{bankCardNo},
+</if>
+<if test="description != null">
+description_ = #{description},
+</if>
+<if test="transNo != null">
+trans_no_ = #{transNo},
+</if>
+<if test="createTime != null">
+create_time_ = #{createTime},
+</if>
+</set> WHERE id_ = #{id} 
+	</update>
+	
+	<!-- 根据主键删除一条记录 -->
+	<delete id="delete" >
+		DELETE FROM student_withdraw WHERE id_ = #{id} 
+	</delete>
+	
+	<!-- 分页查询 -->
+	<select id="queryPage" resultMap="StudentWithdraw" parameterType="map">
+		SELECT * FROM student_withdraw ORDER BY id_ <include refid="global.limit"/>
+	</select>
+	
+	<!-- 查询当前表的总记录数 -->
+	<select id="queryCount" resultType="int">
+		SELECT COUNT(*) FROM student_withdraw
+	</select>
+</mapper>

+ 76 - 0
mec-web/src/main/resources/config/mybatis/SysMessageConfigMapper.xml

@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+这个文件是自动生成的。
+不要修改此文件。所有改动将在下次重新自动生成时丢失。
+-->
+<mapper namespace="com.ym.mec.web.dal.dao.SysMessageConfigDao">
+	
+	<resultMap type="com.ym.mec.web.dal.entity.SysMessageConfig" id="SysMessageConfig">
+		<result column="id_" property="id" />
+		<result column="message_type_" property="messageType" />
+		<result column="content_" property="content" />
+		<result column="description_" property="description" />
+		<result column="modify_on_" property="modifyOn" />
+		<result column="url_" property="url" />
+	</resultMap>
+	
+	<!-- 根据主键查询一条记录 -->
+	<select id="get" resultMap="SysMessageConfig" >
+		SELECT * FROM sys_message_config WHERE id_ = #{id} 
+	</select>
+	
+	<!-- 全查询 -->
+	<select id="findAll" resultMap="SysMessageConfig">
+		SELECT * FROM sys_message_config ORDER BY id_
+	</select>
+	
+	<!-- 向数据库增加一条记录 -->
+	<insert id="insert" parameterType="com.ym.mec.web.dal.entity.SysMessageConfig" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
+		<!--
+		<selectKey resultClass="int" keyProperty="id" > 
+		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
+		</selectKey>
+		-->
+		INSERT INTO sys_message_config (id_,message_type_,content_,description_,modify_on_,url_) VALUES(#{id},#{messageType},#{content},#{description},#{modifyOn},#{url})
+	</insert>
+	
+	<!-- 根据主键查询一条记录 -->
+	<update id="update" parameterType="com.ym.mec.web.dal.entity.SysMessageConfig">
+		UPDATE sys_message_config <set>
+<if test="modifyOn != null">
+modify_on_ = #{modifyOn},
+</if>
+<if test="messageType != null">
+message_type_ = #{messageType},
+</if>
+<if test="id != null">
+id_ = #{id},
+</if>
+<if test="url != null">
+url_ = #{url},
+</if>
+<if test="content != null">
+content_ = #{content},
+</if>
+<if test="description != null">
+description_ = #{description},
+</if>
+</set> WHERE id_ = #{id} 
+	</update>
+	
+	<!-- 根据主键删除一条记录 -->
+	<delete id="delete" >
+		DELETE FROM sys_message_config WHERE id_ = #{id} 
+	</delete>
+	
+	<!-- 分页查询 -->
+	<select id="queryPage" resultMap="SysMessageConfig" parameterType="map">
+		SELECT * FROM sys_message_config ORDER BY id_ <include refid="global.limit"/>
+	</select>
+	
+	<!-- 查询当前表的总记录数 -->
+	<select id="queryCount" resultType="int">
+		SELECT COUNT(*) FROM sys_message_config
+	</select>
+</mapper>

+ 104 - 0
mec-web/src/main/resources/config/mybatis/SysMessageMapper.xml

@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+这个文件是自动生成的。
+不要修改此文件。所有改动将在下次重新自动生成时丢失。
+-->
+<mapper namespace="com.ym.mec.web.dal.dao.SysMessageDao">
+	
+	<resultMap type="com.ym.mec.web.dal.entity.SysMessage" id="SysMessage">
+		<result column="id_" property="id" />
+		<result column="title_" property="title" />
+		<result column="content_" property="content" />
+		<result column="type_" property="type" />
+		<result column="status_" property="status" />
+		<result column="receiver_" property="receiver" />
+		<result column="send_time_" property="sendTime" />
+		<result column="error_msg_" property="errorMsg" />
+		<result column="create_on_" property="createOn" />
+		<result column="modify_on_" property="modifyOn" />
+		<result column="user_id_" property="userId" />
+		<result column="memo_" property="memo" />
+		<result column="read_status_" property="readStatus" />
+	</resultMap>
+	
+	<!-- 根据主键查询一条记录 -->
+	<select id="get" resultMap="SysMessage" >
+		SELECT * FROM sys_message WHERE id_ = #{id} 
+	</select>
+	
+	<!-- 全查询 -->
+	<select id="findAll" resultMap="SysMessage">
+		SELECT * FROM sys_message ORDER BY id_
+	</select>
+	
+	<!-- 向数据库增加一条记录 -->
+	<insert id="insert" parameterType="com.ym.mec.web.dal.entity.SysMessage" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
+		<!--
+		<selectKey resultClass="int" keyProperty="id" > 
+		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
+		</selectKey>
+		-->
+		INSERT INTO sys_message (id_,title_,content_,type_,status_,receiver_,send_time_,error_msg_,create_on_,modify_on_,user_id_,memo_,read_status_) VALUES(#{id},#{title},#{content},#{type},#{status},#{receiver},#{sendTime},#{errorMsg},#{createOn},#{modifyOn},#{userId},#{memo},#{readStatus})
+	</insert>
+	
+	<!-- 根据主键查询一条记录 -->
+	<update id="update" parameterType="com.ym.mec.web.dal.entity.SysMessage">
+		UPDATE sys_message <set>
+<if test="status != null">
+status_ = #{status},
+</if>
+<if test="receiver != null">
+receiver_ = #{receiver},
+</if>
+<if test="modifyOn != null">
+modify_on_ = #{modifyOn},
+</if>
+<if test="id != null">
+id_ = #{id},
+</if>
+<if test="sendTime != null">
+send_time_ = #{sendTime},
+</if>
+<if test="readStatus != null">
+read_status_ = #{readStatus},
+</if>
+<if test="content != null">
+content_ = #{content},
+</if>
+<if test="memo != null">
+memo_ = #{memo},
+</if>
+<if test="userId != null">
+user_id_ = #{userId},
+</if>
+<if test="errorMsg != null">
+error_msg_ = #{errorMsg},
+</if>
+<if test="title != null">
+title_ = #{title},
+</if>
+<if test="createOn != null">
+create_on_ = #{createOn},
+</if>
+<if test="type != null">
+type_ = #{type},
+</if>
+</set> WHERE id_ = #{id} 
+	</update>
+	
+	<!-- 根据主键删除一条记录 -->
+	<delete id="delete" >
+		DELETE FROM sys_message WHERE id_ = #{id} 
+	</delete>
+	
+	<!-- 分页查询 -->
+	<select id="queryPage" resultMap="SysMessage" parameterType="map">
+		SELECT * FROM sys_message ORDER BY id_ <include refid="global.limit"/>
+	</select>
+	
+	<!-- 查询当前表的总记录数 -->
+	<select id="queryCount" resultType="int">
+		SELECT COUNT(*) FROM sys_message
+	</select>
+</mapper>

+ 76 - 0
mec-web/src/main/resources/config/mybatis/SysSuggestionMapper.xml

@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+这个文件是自动生成的。
+不要修改此文件。所有改动将在下次重新自动生成时丢失。
+-->
+<mapper namespace="com.ym.mec.web.dal.dao.SysSuggestionDao">
+	
+	<resultMap type="com.ym.mec.web.dal.entity.SysSuggestion" id="SysSuggestion">
+		<result column="id_" property="id" />
+		<result column="mobile_no_" property="mobileNo" />
+		<result column="title_" property="title" />
+		<result column="content_" property="content" />
+		<result column="user_id_" property="userId" />
+		<result column="create_time_" property="createTime" />
+	</resultMap>
+	
+	<!-- 根据主键查询一条记录 -->
+	<select id="get" resultMap="SysSuggestion" >
+		SELECT * FROM sys_suggestion WHERE id_ = #{id} 
+	</select>
+	
+	<!-- 全查询 -->
+	<select id="findAll" resultMap="SysSuggestion">
+		SELECT * FROM sys_suggestion ORDER BY id_
+	</select>
+	
+	<!-- 向数据库增加一条记录 -->
+	<insert id="insert" parameterType="com.ym.mec.web.dal.entity.SysSuggestion" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
+		<!--
+		<selectKey resultClass="int" keyProperty="id" > 
+		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
+		</selectKey>
+		-->
+		INSERT INTO sys_suggestion (id_,mobile_no_,title_,content_,user_id_,create_time_) VALUES(#{id},#{mobileNo},#{title},#{content},#{userId},#{createTime})
+	</insert>
+	
+	<!-- 根据主键查询一条记录 -->
+	<update id="update" parameterType="com.ym.mec.web.dal.entity.SysSuggestion">
+		UPDATE sys_suggestion <set>
+<if test="userId != null">
+user_id_ = #{userId},
+</if>
+<if test="id != null">
+id_ = #{id},
+</if>
+<if test="title != null">
+title_ = #{title},
+</if>
+<if test="content != null">
+content_ = #{content},
+</if>
+<if test="mobileNo != null">
+mobile_no_ = #{mobileNo},
+</if>
+<if test="createTime != null">
+create_time_ = #{createTime},
+</if>
+</set> WHERE id_ = #{id} 
+	</update>
+	
+	<!-- 根据主键删除一条记录 -->
+	<delete id="delete" >
+		DELETE FROM sys_suggestion WHERE id_ = #{id} 
+	</delete>
+	
+	<!-- 分页查询 -->
+	<select id="queryPage" resultMap="SysSuggestion" parameterType="map">
+		SELECT * FROM sys_suggestion ORDER BY id_ <include refid="global.limit"/>
+	</select>
+	
+	<!-- 查询当前表的总记录数 -->
+	<select id="queryCount" resultType="int">
+		SELECT COUNT(*) FROM sys_suggestion
+	</select>
+</mapper>

+ 84 - 0
mec-web/src/main/resources/config/mybatis/TeacherLeaveRecordMapper.xml

@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+这个文件是自动生成的。
+不要修改此文件。所有改动将在下次重新自动生成时丢失。
+-->
+<mapper namespace="com.ym.mec.web.dal.dao.TeacherLeaveRecordDao">
+	
+	<resultMap type="com.ym.mec.web.dal.entity.TeacherLeaveRecord" id="TeacherLeaveRecord">
+		<result column="id_" property="id" />
+		<result column="user_id_" property="userId" />
+		<result column="days_" property="days" />
+		<result column="type_" property="type" />
+		<result column="status_" property="status" />
+		<result column="remark_" property="remark" />
+		<result column="create_time_" property="createTime" />
+		<result column="update_time_" property="updateTime" />
+	</resultMap>
+	
+	<!-- 根据主键查询一条记录 -->
+	<select id="get" resultMap="TeacherLeaveRecord" >
+		SELECT * FROM teacher_leave_record WHERE id_ = #{id} 
+	</select>
+	
+	<!-- 全查询 -->
+	<select id="findAll" resultMap="TeacherLeaveRecord">
+		SELECT * FROM teacher_leave_record ORDER BY id_
+	</select>
+	
+	<!-- 向数据库增加一条记录 -->
+	<insert id="insert" parameterType="com.ym.mec.web.dal.entity.TeacherLeaveRecord" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
+		<!--
+		<selectKey resultClass="int" keyProperty="id" > 
+		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
+		</selectKey>
+		-->
+		INSERT INTO teacher_leave_record (id_,user_id_,days_,type_,status_,remark_,create_time_,update_time_) VALUES(#{id},#{userId},#{days},#{type},#{status},#{remark},#{createTime},#{updateTime})
+	</insert>
+	
+	<!-- 根据主键查询一条记录 -->
+	<update id="update" parameterType="com.ym.mec.web.dal.entity.TeacherLeaveRecord">
+		UPDATE teacher_leave_record <set>
+<if test="status != null">
+status_ = #{status},
+</if>
+<if test="userId != null">
+user_id_ = #{userId},
+</if>
+<if test="remark != null">
+remark_ = #{remark},
+</if>
+<if test="id != null">
+id_ = #{id},
+</if>
+<if test="days != null">
+days_ = #{days},
+</if>
+<if test="updateTime != null">
+update_time_ = #{updateTime},
+</if>
+<if test="type != null">
+type_ = #{type},
+</if>
+<if test="createTime != null">
+create_time_ = #{createTime},
+</if>
+</set> WHERE id_ = #{id} 
+	</update>
+	
+	<!-- 根据主键删除一条记录 -->
+	<delete id="delete" >
+		DELETE FROM teacher_leave_record WHERE id_ = #{id} 
+	</delete>
+	
+	<!-- 分页查询 -->
+	<select id="queryPage" resultMap="TeacherLeaveRecord" parameterType="map">
+		SELECT * FROM teacher_leave_record ORDER BY id_ <include refid="global.limit"/>
+	</select>
+	
+	<!-- 查询当前表的总记录数 -->
+	<select id="queryCount" resultType="int">
+		SELECT COUNT(*) FROM teacher_leave_record
+	</select>
+</mapper>

+ 55 - 0
mec-web/src/test/java/com/ym/webApplicationTest.java

@@ -2,7 +2,11 @@ package com.ym;
 
 import com.ym.mec.common.security.SecurityUtils;
 import com.ym.mec.web.WebApplication;
+import com.ym.mec.web.dal.dao.ClassGroupDao;
+import com.ym.mec.web.dal.dao.CourseScheduleDao;
 import com.ym.mec.web.dal.dao.StudentAttendanceDao;
+import com.ym.mec.web.dal.dto.CourseScheduleDto;
+import com.ym.mec.web.dal.entity.CourseSchedule;
 import com.ym.mec.web.dal.entity.StudentAttendance;
 import com.ym.mec.web.dal.enums.StudentAttendanceStatusEnum;
 import com.ym.mec.web.service.CourseScheduleService;
@@ -19,7 +23,10 @@ import org.springframework.web.client.RestTemplate;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * Unit test for simple App.
@@ -39,6 +46,12 @@ public class webApplicationTest
     @Autowired
     private StudentAttendanceDao sad;
 
+    @Autowired
+    private ClassGroupDao cgd;
+
+    @Autowired
+    private CourseScheduleDao csd;
+
     @Test
     public void test(){
 
@@ -76,4 +89,46 @@ public class webApplicationTest
         System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(new StringBuilder("2019-09-11 15:10:01").toString()));
     }
 
+    @Test
+    public void test3() throws ParseException {
+        List<CourseSchedule> courseSchedules=new ArrayList<>();
+        CourseSchedule cs1=new CourseSchedule();
+        cs1.setClassDate(new SimpleDateFormat("yyyy-MM-dd").parse("2019-09-17"));
+        cs1.setStartClassTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2019-09-17 15:00:00"));
+        cs1.setClassGroupId(1);
+        courseSchedules.add(cs1);
+        CourseSchedule cs2=new CourseSchedule();
+        cs2.setClassDate(new SimpleDateFormat("yyyy-MM-dd").parse("2019-09-17"));
+        cs2.setStartClassTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2019-09-17 15:00:00"));
+        cs2.setClassGroupId(1);
+        courseSchedules.add(cs2);
+        CourseSchedule cs3=new CourseSchedule();
+        cs3.setClassDate(new SimpleDateFormat("yyyy-MM-dd").parse("2019-09-17"));
+        cs3.setStartClassTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2019-09-17 16:00:00"));
+        cs3.setClassGroupId(1);
+        courseSchedules.add(cs3);
+        Map<Date, List<CourseSchedule>> collect = courseSchedules.stream().collect(
+                Collectors.groupingBy(CourseSchedule::getClassDate));
+        for(Date keyDate:collect.keySet()){
+            List<CourseSchedule> currentCourses=collect.get(keyDate);
+            Map<Date, List<CourseSchedule>> collect1 = currentCourses.stream().collect(Collectors.groupingBy(CourseSchedule::getStartClassTime));
+            System.out.println(collect1.size());
+        }
+    }
+
+    @Test
+    public void test4(){
+        List<Integer> temp=new ArrayList<>();
+        temp.add(1);
+        temp.add(2);
+        Integer[] integers = csd.countStudentInClass(temp);
+        System.out.println(integers.length);
+    }
+
+    @Test
+    public void test5() throws ParseException {
+        List<CourseScheduleDto> courseSchedules = csd.getCourseSchedulesWithDate(new SimpleDateFormat("yyyyMMdd").parse("20190912"));
+        System.out.println(courseSchedules.size());
+    }
+
 }

+ 7 - 7
mec-workflow/src/main/java/com/ym/mec/workfow/controller/flow/FlowController.java → mec-workflow/src/main/java/com/ym/mec/workfow/controller/flow/OrderController.java

@@ -15,8 +15,8 @@ import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.common.controller.BaseController;
 
 @RestController
-@RequestMapping(value = "/snaker/flow")
-public class FlowController extends BaseController {
+@RequestMapping(value = "/snaker/order")
+public class OrderController extends BaseController {
 
 	@Autowired
 	private SnakerEngine snakerEngine;
@@ -30,22 +30,22 @@ public class FlowController extends BaseController {
 	 * @param page
 	 * @return
 	 */
-	@GetMapping(value = "order")
+	@GetMapping(value = "list")
 	public Object order(Page<HistoryOrder> page) {
 		return succeed(snakerEngine.query().getHistoryOrders(page, new QueryFilter()));
 	}
 
 	/**
 	 * 抄送实例已读
-	 * @param id
+	 * @param orderId
 	 * @param url
 	 * @return
 	 */
-	@PostMapping(value = "ccread")
-	public Object ccread(String id) {
+	@PostMapping(value = "setCcread")
+	public Object ccread(String orderId) {
 		SysUser user = SysUserFeignService.queryUserInfo();
 
-		snakerEngine.order().updateCCStatus(id, new String[] { user.getId() + "" });
+		snakerEngine.order().updateCCStatus(orderId, new String[] { user.getId() + "" });
 		return succeed();
 	}
 

+ 0 - 16
mec-workflow/src/main/java/com/ym/mec/workfow/controller/flow/ProcessController.java

@@ -31,7 +31,6 @@ import org.snaker.engine.helper.AssertHelper;
 import org.snaker.engine.helper.StringHelper;
 import org.snaker.engine.model.ProcessModel;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -126,19 +125,4 @@ public class ProcessController extends BaseController {
 		return jsonMap;
 	}
 
-	@GetMapping(value = "display")
-	public Object display(String orderId) {
-		List<HistoryTask> tasks = snakerEngine.query().getHistoryTasks(new QueryFilter().setOrderId(orderId));
-		return succeed(tasks);
-	}
-
-	/**
-	 * 显示独立的流程图
-	 */
-	@GetMapping(value = "diagram")
-	public String diagram(Model model, String processId, String orderId) {
-		model.addAttribute("processId", processId);
-		model.addAttribute("orderId", orderId);
-		return "snaker/diagram";
-	}
 }

+ 2 - 1
mec-workflow/src/main/java/com/ym/mec/workfow/controller/flow/SurrogateController.java

@@ -17,6 +17,7 @@ package com.ym.mec.workfow.controller.flow;
 import org.snaker.engine.SnakerEngine;
 import org.snaker.engine.access.Page;
 import org.snaker.engine.access.QueryFilter;
+import org.snaker.engine.core.AccessService;
 import org.snaker.engine.entity.Surrogate;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -54,7 +55,7 @@ public class SurrogateController extends BaseController {
 		surrogate.setSdate(surrogate.getSdate() + " 00:00:00");
 		surrogate.setEdate(surrogate.getEdate() + " 23:59:59");
 		if (surrogate.getState() == null) {
-			surrogate.setState(1);
+			surrogate.setState(AccessService.STATE_ACTIVE);
 		}
 		snakerEngine.manager().saveOrUpdate(surrogate);
 		return succeed();

+ 9 - 6
mec-workflow/src/main/java/com/ym/mec/workfow/controller/flow/TaskController.java

@@ -9,12 +9,13 @@ import org.apache.commons.lang.StringUtils;
 import org.snaker.engine.SnakerEngine;
 import org.snaker.engine.access.Page;
 import org.snaker.engine.access.QueryFilter;
+import org.snaker.engine.core.AccessService;
 import org.snaker.engine.entity.HistoryOrder;
 import org.snaker.engine.entity.Task;
 import org.snaker.engine.entity.WorkItem;
 import org.snaker.engine.model.TaskModel.TaskType;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.ui.Model;
+import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -39,8 +40,8 @@ public class TaskController extends BaseController {
 	@Autowired
 	private SysUserFeignService SysUserFeignService;
 
-	@GetMapping(value = "active")
-	public Object homeTaskList(Model model) {
+	@GetMapping(value = "home")
+	public Object homeTaskList() {
 
 		SysUser user = SysUserFeignService.queryUserInfo();
 
@@ -59,6 +60,8 @@ public class TaskController extends BaseController {
 				new QueryFilter().setOperators(assignees).setTaskType(TaskType.Aidant.ordinal()));
 		List<HistoryOrder> ccWorks = snakerEngine.query().getCCWorks(ccorderPage, new QueryFilter().setOperators(assignees).setState(1));
 
+		ModelMap model = new ModelMap();
+		
 		model.addAttribute("majorWorks", majorWorks);
 		model.addAttribute("majorTotal", majorPage.getTotalCount());
 		model.addAttribute("aidantWorks", aidantWorks);
@@ -73,8 +76,8 @@ public class TaskController extends BaseController {
 	 * @param model
 	 * @return
 	 */
-	@GetMapping(value = "user")
-	public Object userTaskList(Page<WorkItem> page) {
+	@GetMapping(value = "queryWaitList")
+	public Object queryWaitList(Page<WorkItem> page) {
 		SysUser user = SysUserFeignService.queryUserInfo();
 
 		snakerEngine.query().getWorkItems(page, new QueryFilter().setOperator(user.getUsername()));
@@ -147,7 +150,7 @@ public class TaskController extends BaseController {
 
 		String[] assignees = new String[list.size()];
 		list.toArray(assignees);
-		snakerEngine.query().getCCWorks(page, new QueryFilter().setOperators(assignees).setState(1));
+		snakerEngine.query().getCCWorks(page, new QueryFilter().setOperators(assignees).setState(AccessService.STATE_ACTIVE));
 		return succeed(page);
 	}
 

+ 1 - 1
mec-workflow/src/main/java/com/ym/mec/workfow/controller/web/LeaveController.java

@@ -60,7 +60,7 @@ public class LeaveController extends BaseController {
 		if (tasks.size() == 0) {
 			System.out.println("**********流程已结束*********");
 		} else {
-			System.out.println("**********流程未结束*********");
+			System.out.println("**********审批中*********");
 		}
 
 		return succeed();