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

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

yonge 4 лет назад
Родитель
Сommit
c3c6ef4fe7
37 измененных файлов с 1629 добавлено и 90 удалено
  1. 8 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/InspectionDao.java
  2. 8 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/InspectionItemDao.java
  3. 8 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/InspectionItemPlanConclusionDao.java
  4. 8 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/InspectionItemPlanDao.java
  5. 6 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java
  6. 8 3
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherCourseStatisticsDao.java
  7. 3 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDao.java
  8. 120 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Inspection.java
  9. 176 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/InspectionItem.java
  10. 218 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/InspectionItemPlan.java
  11. 285 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/InspectionItemPlanConclusion.java
  12. 37 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TeacherCourseStatistics.java
  13. 43 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/IndexErrorType.java
  14. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/service/IndexBaseMonthDataService.java
  15. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/service/InspectionItemPlanConclusionService.java
  16. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/service/InspectionItemPlanService.java
  17. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/service/InspectionItemService.java
  18. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/service/InspectionService.java
  19. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/service/SysConfigService.java
  20. 13 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java
  21. 32 8
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupStudentMapperServiceImpl.java
  22. 27 11
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupMemberServiceImpl.java
  23. 9 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/IndexBaseMonthDataServiceImpl.java
  24. 25 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/InspectionItemPlanConclusionServiceImpl.java
  25. 26 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/InspectionItemPlanServiceImpl.java
  26. 24 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/InspectionItemServiceImpl.java
  27. 24 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/InspectionServiceImpl.java
  28. 9 19
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java
  29. 34 16
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherCourseStatisticsServiceImpl.java
  30. 12 16
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherDefaultVipGroupSalaryServiceImpl.java
  31. 84 0
      mec-biz/src/main/resources/config/mybatis/InspectionItemMapper.xml
  32. 122 0
      mec-biz/src/main/resources/config/mybatis/InspectionItemPlanConclusionMapper.xml
  33. 99 0
      mec-biz/src/main/resources/config/mybatis/InspectionItemPlanMapper.xml
  34. 77 0
      mec-biz/src/main/resources/config/mybatis/InspectionMapper.xml
  35. 7 0
      mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml
  36. 24 14
      mec-biz/src/main/resources/config/mybatis/TeacherCourseStatisticsMapper.xml
  37. 8 1
      mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml

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

@@ -0,0 +1,8 @@
+package com.ym.mec.biz.dal.dao;
+
+import com.ym.mec.biz.dal.entity.Inspection;
+import com.ym.mec.common.dal.BaseDAO;
+
+public interface InspectionDao extends BaseDAO<Long, Inspection> {
+
+}

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

@@ -0,0 +1,8 @@
+package com.ym.mec.biz.dal.dao;
+
+import com.ym.mec.biz.dal.entity.InspectionItem;
+import com.ym.mec.common.dal.BaseDAO;
+
+public interface InspectionItemDao extends BaseDAO<Long,InspectionItem> {
+
+}

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

@@ -0,0 +1,8 @@
+package com.ym.mec.biz.dal.dao;
+
+import com.ym.mec.biz.dal.entity.InspectionItemPlanConclusion;
+import com.ym.mec.common.dal.BaseDAO;
+
+public interface InspectionItemPlanConclusionDao extends BaseDAO<Long,InspectionItemPlanConclusion> {
+
+}

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

@@ -0,0 +1,8 @@
+package com.ym.mec.biz.dal.dao;
+
+import com.ym.mec.biz.dal.entity.InspectionItemPlan;
+import com.ym.mec.common.dal.BaseDAO;
+
+public interface InspectionItemPlanDao extends BaseDAO<Long, InspectionItemPlan> {
+
+}

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

@@ -444,4 +444,10 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
      * @return
      */
     List<Map<Integer,String>> getStudentSubjectNameByStuIds(@Param("musicGroupId") String musicGroupId, @Param("studentIds") Collection<Integer> studentIds);
+
+    /**
+     * 将学员报名缴费状态更新至已缴费
+     * @param calenderId
+     */
+    void updatePaymentStatusByClaenderId(Long calenderId);
 }

+ 8 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherCourseStatisticsDao.java

@@ -10,9 +10,14 @@ import java.util.List;
 
 public interface TeacherCourseStatisticsDao extends BaseDAO<Long, TeacherCourseStatistics> {
 
-    List<TeacherCourseStatistics> findUserByWarringSalary(@Param("startDate") Date startDate, @Param("endDate") Date endDate, @Param("salary") BigDecimal salary);
+    int deleteByMonth(@Param("date") Date date);
 
-    List<TeacherCourseStatistics> findUserCourseSalaryByUserIds(@Param("userIds") List<Integer> userIds,@Param("startDate") Date startDate, @Param("endDate") Date endDate);
+    List<TeacherCourseStatistics> findUserByWarringSalary(@Param("startDate") Date startDate,
+                                                          @Param("endDate") Date endDate);
+
+    List<TeacherCourseStatistics> findUserCourseSalaryByUserIds(@Param("userIds") List<Integer> userIds,
+                                                                @Param("startDate") Date startDate,
+                                                                @Param("endDate") Date endDate);
 
     int batchAdd(@Param("lists") List<TeacherCourseStatistics> lists);
-}
+}

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDao.java

@@ -10,6 +10,7 @@ import com.ym.mec.common.entity.ImUserModel;
 import org.apache.ibatis.annotations.Param;
 
 import java.math.BigDecimal;
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -61,6 +62,8 @@ public interface TeacherDao extends BaseDAO<Integer, Teacher> {
 
     List<Map<Integer, String>> queryUserNameByIdList(@Param("userIds") List<Integer> userIds);
 
+    List<Map<Integer, String>> queryNickNameByRole(@Param("userIds") Set<Integer> userIds, @Param("userRoleMap") Map<Integer,String> userRoleMap);
+
     List<Map<Integer, String>> querySubjectNameByIdList(@Param("userIds") List<Integer> userIds);
 
     /**

+ 120 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Inspection.java

@@ -0,0 +1,120 @@
+package com.ym.mec.biz.dal.entity;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.util.Date;
+
+@ApiModel(value = "com-ym-mec-biz-dal-entity-Inspection")
+public class Inspection {
+    /**
+     * id
+     */
+    @ApiModelProperty(value = "id")
+    private Long id;
+
+    /**
+     * 分部id
+     */
+    @ApiModelProperty(value = "分部id")
+    private Integer organId;
+
+    /**
+     * 主管userId
+     */
+    @ApiModelProperty(value = "主管userId")
+    private Integer userId;
+
+    /**
+     * 月份
+     */
+    @ApiModelProperty(value = "月份")
+    private Date month;
+
+    /**
+     * 处理意见
+     */
+    @ApiModelProperty(value = "处理意见")
+    private String memo;
+
+    /**
+     * 操作人
+     */
+    @ApiModelProperty(value = "操作人")
+    private Integer operation;
+
+    /**
+     * 创建时间
+     */
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+
+    /**
+     * 修改时间
+     */
+    @ApiModelProperty(value = "修改时间")
+    private Date updateTime;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Integer getOrganId() {
+        return organId;
+    }
+
+    public void setOrganId(Integer organId) {
+        this.organId = organId;
+    }
+
+    public Integer getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Integer userId) {
+        this.userId = userId;
+    }
+
+    public Date getMonth() {
+        return month;
+    }
+
+    public void setMonth(Date month) {
+        this.month = month;
+    }
+
+    public String getMemo() {
+        return memo;
+    }
+
+    public void setMemo(String memo) {
+        this.memo = memo;
+    }
+
+    public Integer getOperation() {
+        return operation;
+    }
+
+    public void setOperation(Integer operation) {
+        this.operation = operation;
+    }
+
+    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;
+    }
+}

+ 176 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/InspectionItem.java

@@ -0,0 +1,176 @@
+package com.ym.mec.biz.dal.entity;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.util.Date;
+
+@ApiModel(value = "com-ym-mec-biz-dal-entity-InspectionItem")
+public class InspectionItem {
+    /**
+     * 巡查任务项id
+     */
+    @ApiModelProperty(value = "巡查任务项id")
+    private Long id;
+
+    /**
+     * 巡查任务id
+     */
+    @ApiModelProperty(value = "巡查任务id")
+    private Long inspectionId;
+
+    /**
+     * 分部id
+     */
+    @ApiModelProperty(value = "分部id")
+    private Integer organId;
+
+    /**
+     * 乐团主管id
+     */
+    @ApiModelProperty(value = "乐团主管id")
+    private Integer userId;
+
+    /**
+     * 任务项
+     */
+    @ApiModelProperty(value = "任务项")
+    private String item;
+
+    /**
+     * 任务次数
+     */
+    @ApiModelProperty(value = "任务次数")
+    private Integer times;
+
+    /**
+     * 已安排日程次数
+     */
+    @ApiModelProperty(value = "已安排日程次数")
+    private Integer plannedTimes;
+
+    /**
+     * 已提交任务数
+     */
+    @ApiModelProperty(value = "已提交任务数")
+    private Integer submittedTimes;
+
+    /**
+     * 处理意见
+     */
+    @ApiModelProperty(value = "处理意见")
+    private String memo;
+
+    /**
+     * 操作人
+     */
+    @ApiModelProperty(value = "操作人")
+    private Integer operation;
+
+    /**
+     * 创建时间
+     */
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+
+    /**
+     * 修改时间
+     */
+    @ApiModelProperty(value = "修改时间")
+    private Date updateTime;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getInspectionId() {
+        return inspectionId;
+    }
+
+    public void setInspectionId(Long inspectionId) {
+        this.inspectionId = inspectionId;
+    }
+
+    public Integer getOrganId() {
+        return organId;
+    }
+
+    public void setOrganId(Integer organId) {
+        this.organId = organId;
+    }
+
+    public Integer getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Integer userId) {
+        this.userId = userId;
+    }
+
+    public String getItem() {
+        return item;
+    }
+
+    public void setItem(String item) {
+        this.item = item;
+    }
+
+    public Integer getTimes() {
+        return times;
+    }
+
+    public void setTimes(Integer times) {
+        this.times = times;
+    }
+
+    public Integer getPlannedTimes() {
+        return plannedTimes;
+    }
+
+    public void setPlannedTimes(Integer plannedTimes) {
+        this.plannedTimes = plannedTimes;
+    }
+
+    public Integer getSubmittedTimes() {
+        return submittedTimes;
+    }
+
+    public void setSubmittedTimes(Integer submittedTimes) {
+        this.submittedTimes = submittedTimes;
+    }
+
+    public String getMemo() {
+        return memo;
+    }
+
+    public void setMemo(String memo) {
+        this.memo = memo;
+    }
+
+    public Integer getOperation() {
+        return operation;
+    }
+
+    public void setOperation(Integer operation) {
+        this.operation = operation;
+    }
+
+    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;
+    }
+}

+ 218 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/InspectionItemPlan.java

@@ -0,0 +1,218 @@
+package com.ym.mec.biz.dal.entity;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.util.Date;
+
+@ApiModel(value = "com-ym-mec-biz-dal-entity-InspectionItemPlan")
+public class InspectionItemPlan {
+    /**
+     * 计划id
+     */
+    @ApiModelProperty(value = "计划id")
+    private Long id;
+
+    /**
+     * 巡查任务id
+     */
+    @ApiModelProperty(value = "巡查任务id")
+    private Long inspectionId;
+
+    /**
+     * 巡查任务id
+     */
+    @ApiModelProperty(value = "巡查任务id")
+    private Long itemId;
+
+    /**
+     * 乐团主管user_id_
+     */
+    @ApiModelProperty(value = "乐团主管user_id_")
+    private Integer userId;
+
+    /**
+     * 日程开始时间
+     */
+    @ApiModelProperty(value = "日程开始时间")
+    private Date planStart;
+
+    /**
+     * 日程结束时间
+     */
+    @ApiModelProperty(value = "日程结束时间")
+    private Date planEnd;
+
+    /**
+     * 合作单位id
+     */
+    @ApiModelProperty(value = "合作单位id")
+    private Integer cooperationOrganId;
+
+    /**
+     * 乐团id
+     */
+    @ApiModelProperty(value = "乐团id")
+    private String musicGroupId;
+
+    /**
+     * 教学点gps
+     */
+    @ApiModelProperty(value = "教学点gps")
+    private String schoolGps;
+
+    /**
+     * 提交时gps
+     */
+    @ApiModelProperty(value = "提交时gps")
+    private String submitedGps;
+
+    /**
+     * 提交时间
+     */
+    @ApiModelProperty(value = "提交时间")
+    private Date submitedTime;
+
+    /**
+     * 处理方式
+     */
+    @ApiModelProperty(value = "处理方式")
+    private String memo;
+
+    /**
+     * 0 -未提交 1-正常 2-异常
+     */
+    @ApiModelProperty(value = "0 -未提交 1-正常 2-异常")
+    private Integer status;
+
+    /**
+     * 创建时间
+     */
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+
+    /**
+     * 修改时间
+     */
+    @ApiModelProperty(value = "修改时间")
+    private Date updateTime;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getInspectionId() {
+        return inspectionId;
+    }
+
+    public void setInspectionId(Long inspectionId) {
+        this.inspectionId = inspectionId;
+    }
+
+    public Long getItemId() {
+        return itemId;
+    }
+
+    public void setItemId(Long itemId) {
+        this.itemId = itemId;
+    }
+
+    public Integer getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Integer userId) {
+        this.userId = userId;
+    }
+
+    public Date getPlanStart() {
+        return planStart;
+    }
+
+    public void setPlanStart(Date planStart) {
+        this.planStart = planStart;
+    }
+
+    public Date getPlanEnd() {
+        return planEnd;
+    }
+
+    public void setPlanEnd(Date planEnd) {
+        this.planEnd = planEnd;
+    }
+
+    public Integer getCooperationOrganId() {
+        return cooperationOrganId;
+    }
+
+    public void setCooperationOrganId(Integer cooperationOrganId) {
+        this.cooperationOrganId = cooperationOrganId;
+    }
+
+    public String getMusicGroupId() {
+        return musicGroupId;
+    }
+
+    public void setMusicGroupId(String musicGroupId) {
+        this.musicGroupId = musicGroupId;
+    }
+
+    public String getSchoolGps() {
+        return schoolGps;
+    }
+
+    public void setSchoolGps(String schoolGps) {
+        this.schoolGps = schoolGps;
+    }
+
+    public String getSubmitedGps() {
+        return submitedGps;
+    }
+
+    public void setSubmitedGps(String submitedGps) {
+        this.submitedGps = submitedGps;
+    }
+
+    public Date getSubmitedTime() {
+        return submitedTime;
+    }
+
+    public void setSubmitedTime(Date submitedTime) {
+        this.submitedTime = submitedTime;
+    }
+
+    public String getMemo() {
+        return memo;
+    }
+
+    public void setMemo(String memo) {
+        this.memo = memo;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    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;
+    }
+}

+ 285 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/InspectionItemPlanConclusion.java

@@ -0,0 +1,285 @@
+package com.ym.mec.biz.dal.entity;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.util.Date;
+
+@ApiModel(value = "com-ym-mec-biz-dal-entity-InspectionItemPlanConclusion")
+public class InspectionItemPlanConclusion {
+    @ApiModelProperty(value = "")
+    private Long id;
+
+    /**
+     * 计划id
+     */
+    @ApiModelProperty(value = "计划id")
+    private Long planId;
+
+    /**
+     * 老师id
+     */
+    @ApiModelProperty(value = "老师id")
+    private Integer teacherId;
+
+    /**
+     * 老师是否提前准备板书(本课内容、作业)
+     */
+    @ApiModelProperty(value = "老师是否提前准备板书(本课内容、作业)")
+    private Integer checkItem1;
+
+    /**
+     * 老师是否佩戴工牌
+     */
+    @ApiModelProperty(value = "老师是否佩戴工牌")
+    private Integer checkItem2;
+
+    /**
+     * 老师是否仪容仪表整洁
+     */
+    @ApiModelProperty(value = "老师是否仪容仪表整洁")
+    private Integer checkItem3;
+
+    /**
+     * 老师是否携带乐器
+     */
+    @ApiModelProperty(value = "老师是否携带乐器")
+    private Integer checkItem4;
+
+    /**
+     * 老师是否携带教学资料、设备
+     */
+    @ApiModelProperty(value = "老师是否携带教学资料、设备")
+    private Integer checkItem5;
+
+    /**
+     * 老师是否合理安排学员座位
+     */
+    @ApiModelProperty(value = "老师是否合理安排学员座位")
+    private Integer checkItem6;
+
+    /**
+     * 乐器箱包、书包是否摆放整齐
+     */
+    @ApiModelProperty(value = "乐器箱包、书包是否摆放整齐")
+    private Integer checkItem7;
+
+    /**
+     * 课堂纪律是否保持良好
+     */
+    @ApiModelProperty(value = "课堂纪律是否保持良好")
+    private Integer checkItem8;
+
+    /**
+     * 老师是否全程站立教学
+     */
+    @ApiModelProperty(value = "老师是否全程站立教学")
+    private Integer checkItem9;
+
+    /**
+     * 老师是否全程使用节拍器或教学音频
+     */
+    @ApiModelProperty(value = "老师是否全程使用节拍器或教学音频")
+    private Integer checkItem10;
+
+    /**
+     * 是否发现学员需要更换新乐器
+     */
+    @ApiModelProperty(value = "是否发现学员需要更换新乐器")
+    private Integer checkItem11;
+
+    /**
+     * 老师是否将上课照片/视频发送到声部群
+     */
+    @ApiModelProperty(value = "老师是否将上课照片/视频发送到声部群")
+    private Integer checkItem12;
+
+    /**
+     * 老师是否保持教室环境卫生
+     */
+    @ApiModelProperty(value = "老师是否保持教室环境卫生")
+    private Integer checkItem13;
+
+    /**
+     * 老师是否关好所有电源、门窗
+     */
+    @ApiModelProperty(value = "老师是否关好所有电源、门窗")
+    private Integer checkItem14;
+
+    /**
+     * 老师是否有序组织学员放学
+     */
+    @ApiModelProperty(value = "老师是否有序组织学员放学")
+    private Integer checkItem15;
+
+    /**
+     * 创建时间
+     */
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+
+    /**
+     * 更新时间
+     */
+    @ApiModelProperty(value = "更新时间")
+    private Date updateTime;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getPlanId() {
+        return planId;
+    }
+
+    public void setPlanId(Long planId) {
+        this.planId = planId;
+    }
+
+    public Integer getTeacherId() {
+        return teacherId;
+    }
+
+    public void setTeacherId(Integer teacherId) {
+        this.teacherId = teacherId;
+    }
+
+    public Integer getCheckItem1() {
+        return checkItem1;
+    }
+
+    public void setCheckItem1(Integer checkItem1) {
+        this.checkItem1 = checkItem1;
+    }
+
+    public Integer getCheckItem2() {
+        return checkItem2;
+    }
+
+    public void setCheckItem2(Integer checkItem2) {
+        this.checkItem2 = checkItem2;
+    }
+
+    public Integer getCheckItem3() {
+        return checkItem3;
+    }
+
+    public void setCheckItem3(Integer checkItem3) {
+        this.checkItem3 = checkItem3;
+    }
+
+    public Integer getCheckItem4() {
+        return checkItem4;
+    }
+
+    public void setCheckItem4(Integer checkItem4) {
+        this.checkItem4 = checkItem4;
+    }
+
+    public Integer getCheckItem5() {
+        return checkItem5;
+    }
+
+    public void setCheckItem5(Integer checkItem5) {
+        this.checkItem5 = checkItem5;
+    }
+
+    public Integer getCheckItem6() {
+        return checkItem6;
+    }
+
+    public void setCheckItem6(Integer checkItem6) {
+        this.checkItem6 = checkItem6;
+    }
+
+    public Integer getCheckItem7() {
+        return checkItem7;
+    }
+
+    public void setCheckItem7(Integer checkItem7) {
+        this.checkItem7 = checkItem7;
+    }
+
+    public Integer getCheckItem8() {
+        return checkItem8;
+    }
+
+    public void setCheckItem8(Integer checkItem8) {
+        this.checkItem8 = checkItem8;
+    }
+
+    public Integer getCheckItem9() {
+        return checkItem9;
+    }
+
+    public void setCheckItem9(Integer checkItem9) {
+        this.checkItem9 = checkItem9;
+    }
+
+    public Integer getCheckItem10() {
+        return checkItem10;
+    }
+
+    public void setCheckItem10(Integer checkItem10) {
+        this.checkItem10 = checkItem10;
+    }
+
+    public Integer getCheckItem11() {
+        return checkItem11;
+    }
+
+    public void setCheckItem11(Integer checkItem11) {
+        this.checkItem11 = checkItem11;
+    }
+
+    public Integer getCheckItem12() {
+        return checkItem12;
+    }
+
+    public void setCheckItem12(Integer checkItem12) {
+        this.checkItem12 = checkItem12;
+    }
+
+    public Integer getCheckItem13() {
+        return checkItem13;
+    }
+
+    public void setCheckItem13(Integer checkItem13) {
+        this.checkItem13 = checkItem13;
+    }
+
+    public Integer getCheckItem14() {
+        return checkItem14;
+    }
+
+    public void setCheckItem14(Integer checkItem14) {
+        this.checkItem14 = checkItem14;
+    }
+
+    public Integer getCheckItem15() {
+        return checkItem15;
+    }
+
+    public void setCheckItem15(Integer checkItem15) {
+        this.checkItem15 = checkItem15;
+    }
+
+    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;
+    }
+}

+ 37 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TeacherCourseStatistics.java

@@ -38,6 +38,11 @@ public class TeacherCourseStatistics {
     private Integer musicCourseNum;
 
     /**
+     * 网管课节数
+     */
+    private Integer practiceCourseNum;
+
+    /**
     * 预计乐团课酬
     */
     private BigDecimal expectMusicCourseSalary;
@@ -48,6 +53,11 @@ public class TeacherCourseStatistics {
     private BigDecimal expectVipCourseSalary;
 
     /**
+     * 预计小课课酬
+     */
+    private BigDecimal expectPracticeCourseSalary;
+
+    /**
     * 预计合计课酬
     */
     private BigDecimal expectTotalSalary;
@@ -57,6 +67,8 @@ public class TeacherCourseStatistics {
     */
     private Integer averageClassMinutes;
 
+    private Boolean lowSalary;
+
     /**
     * 统计时间
     */
@@ -132,6 +144,22 @@ public class TeacherCourseStatistics {
         this.musicCourseNum = musicCourseNum;
     }
 
+    public Integer getPracticeCourseNum() {
+        return practiceCourseNum;
+    }
+
+    public void setPracticeCourseNum(Integer practiceCourseNum) {
+        this.practiceCourseNum = practiceCourseNum;
+    }
+
+    public BigDecimal getExpectPracticeCourseSalary() {
+        return expectPracticeCourseSalary;
+    }
+
+    public void setExpectPracticeCourseSalary(BigDecimal expectPracticeCourseSalary) {
+        this.expectPracticeCourseSalary = expectPracticeCourseSalary;
+    }
+
     public BigDecimal getExpectMusicCourseSalary() {
         return expectMusicCourseSalary;
     }
@@ -227,4 +255,12 @@ public class TeacherCourseStatistics {
     public void setSubjectListStr(String subjectListStr) {
         this.subjectListStr = subjectListStr;
     }
-}
+
+    public Boolean getLowSalary() {
+        return lowSalary;
+    }
+
+    public void setLowSalary(Boolean lowSalary) {
+        this.lowSalary = lowSalary;
+    }
+}

+ 43 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/IndexErrorType.java

@@ -0,0 +1,43 @@
+package com.ym.mec.biz.dal.enums;
+
+import com.ym.mec.common.enums.BaseEnum;
+
+/**
+ * @Author Joburgess
+ * @Date 2021/1/18 0018
+ **/
+public enum IndexErrorType implements BaseEnum<String, IndexErrorType> {
+    HIGH_CLASS_STUDENT_LESS_THAN_THREE("HIGH_CLASS_STUDENT_LESS_THAN_THREE", "基础技能班学员数量异常"),
+    MUSIC_PATROL_ITEM("MUSIC_PATROL_ITEM", "乐团巡查事项异常"),
+
+    STUDENT_COURSE_FEE_NOT_ENOUGH("STUDENT_COURSE_FEE_NOT_ENOUGH", "学员欠费上课"),
+    STUDENT_NOT_PAYMENT("STUDENT_NOT_PAYMENT", "学员未缴费"),
+    STUDENT_APPLY_FOR_QUIT_MUSIC_GROUP("STUDENT_APPLY_FOR_QUIT_MUSIC_GROUP", "学员退团申请"),
+    ;
+
+    private String code;
+
+    private String msg;
+
+    IndexErrorType(String code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+
+    @Override
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    public void setMsg(String msg) {
+        this.msg = msg;
+    }
+}

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/IndexBaseMonthDataService.java

@@ -13,4 +13,6 @@ public interface IndexBaseMonthDataService extends BaseService<Long, IndexBaseMo
 
     Map<String, List<IndexBaseDto>> indexBaseDataTask(String month);
 
+
+
 }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/InspectionItemPlanConclusionService.java

@@ -0,0 +1,11 @@
+package com.ym.mec.biz.service;
+
+import com.ym.mec.biz.dal.entity.InspectionItemPlanConclusion;
+import com.ym.mec.common.service.BaseService;
+
+public interface InspectionItemPlanConclusionService extends BaseService<Long, InspectionItemPlanConclusion> {
+
+}
+
+
+

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

@@ -0,0 +1,10 @@
+package com.ym.mec.biz.service;
+
+import com.ym.mec.biz.dal.entity.InspectionItemPlan;
+import com.ym.mec.common.service.BaseService;
+
+public interface InspectionItemPlanService extends BaseService<Long, InspectionItemPlan> {
+
+}
+
+

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

@@ -0,0 +1,10 @@
+package com.ym.mec.biz.service;
+
+import com.ym.mec.biz.dal.entity.InspectionItem;
+import com.ym.mec.common.service.BaseService;
+
+public interface InspectionItemService extends BaseService<Long, InspectionItem> {
+
+}
+
+

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

@@ -0,0 +1,10 @@
+package com.ym.mec.biz.service;
+
+import com.ym.mec.biz.dal.entity.Inspection;
+import com.ym.mec.common.service.BaseService;
+
+public interface InspectionService extends BaseService<Long, Inspection> {
+
+}
+
+

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/SysConfigService.java

@@ -211,6 +211,8 @@ public interface SysConfigService extends BaseService<Long, SysConfig> {
 
     String DAYA_BASE_SALARY_AMOUNT = "daya_base_salary_amount";
 
+    String WARNING_MIN_COURSE_SALARY = "warning_min_course_salary";
+
     /**
      * @return com.ym.mec.biz.dal.entity.SysConfig
      * @params paramName

+ 13 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -287,6 +287,19 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         // 加入IM群组
         if (userIdList.size() > 0) {
             addImGroup(classGroup, userIdList, teacherIdList);
+        }else {
+            MusicGroup musicGroup = musicGroupDao.get(classGroup.getMusicGroupId());
+            Map<Integer,String> userRoleMap = new HashMap<>();
+            userRoleMap.put(musicGroup.getEducationalTeacherId(), "乐团主管");
+            userRoleMap.put(musicGroup.getTeamTeacherId(), "运营主管");
+            userRoleMap.put(musicGroup.getDirectorUserId(), "乐队指导");
+            if(teacherIdList != null && teacherIdList.size() > 0){
+                for(Integer teacherId : teacherIdList){
+                    userRoleMap.put(teacherId, "指导老师");
+                }
+            }
+            imGroupService.create(classGroup.getId().longValue(), null, classGroup.getName(), musicGroup.getName(), musicGroup.getName(), musicGroup.getName(), null, "MUSIC");
+            imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
         }
         return true;
     }

+ 32 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupStudentMapperServiceImpl.java

@@ -14,6 +14,7 @@ import java.util.Objects;
 import java.util.Set;
 import java.util.stream.Collectors;
 
+import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.service.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -41,12 +42,6 @@ import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
 import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.StudentRegistration;
 import com.ym.mec.biz.dal.entity.TeacherDefaultMusicGroupSalary;
-import com.ym.mec.biz.dal.enums.ClassGroupStudentStatusEnum;
-import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
-import com.ym.mec.biz.dal.enums.CourseStatusEnum;
-import com.ym.mec.biz.dal.enums.GroupType;
-import com.ym.mec.biz.dal.enums.MusicGroupStatusEnum;
-import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.ImGroupMember;
 import com.ym.mec.common.entity.ImGroupModel;
@@ -473,6 +468,19 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
 
         List<CourseSchedule> classGroupNotStartCourse = courseScheduleDao.findCoursesByClassGroupId(classGroupId.intValue(), CourseStatusEnum.NOT_START);
         if (CollectionUtils.isEmpty(classGroupNotStartCourse)) {
+            if (!CollectionUtils.isEmpty(addStudentIds)) {
+                if(musicGroup.getStatus() == MusicGroupStatusEnum.PROGRESS){
+                    Map<Integer,String> userRoleMap = new HashMap<>();
+                    for (Integer addStudentId : addStudentIds) {
+                        userRoleMap.put(addStudentId, "");
+                    }
+                    //5、添加进IM群组
+                    imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
+                }
+            }
+            if(musicGroup.getStatus() == MusicGroupStatusEnum.PROGRESS){
+                imUserFriendService.refreshClassImUserFriend(classGroup.getId());
+            }
             return;
         }
 
@@ -502,11 +510,27 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
                     TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalary = collect.get(CourseSchedule.CourseScheduleType.HIGH_ONLINE);
 
                     int studentNum = studentIds.size();
-                    if (studentNum > 5) {
+                    if (classGroup.getType().equals(ClassGroupTypeEnum.HIGH_ONLINE) && studentNum > 5) {
                         studentNum = 5;
                     }
 
-                    BigDecimal salary = JSON.parseObject(teacherDefaultMusicGroupSalary.getSalaryRuleJson()).getBigDecimal(studentNum + "");
+                    BigDecimal salary = null;
+                    if(classGroup.getType().equals(ClassGroupTypeEnum.HIGH_ONLINE)){
+                        salary = JSON.parseObject(teacherDefaultMusicGroupSalary.getSalaryRuleJson()).getBigDecimal(studentNum + "");
+                    }else if(classGroup.getType().equals(ClassGroupTypeEnum.HIGH)){
+                        TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalaryHigh = collect.get(CourseSchedule.CourseScheduleType.HIGH);
+                        if(Objects.isNull(teacherDefaultMusicGroupSalaryHigh)){
+                            throw new BizException("请设置老师课酬");
+                        }
+                        salary = TeachTypeEnum.BISHOP.equals(classGroupTeacher.getTeacherRole()) ? teacherDefaultMusicGroupSalaryHigh.getMainTeacher30MinSalary() : teacherDefaultMusicGroupSalaryHigh.getAssistantTeacher30MinSalary();
+                        if (musicGroup.getSettlementType().equals(SalarySettlementTypeEnum.GRADIENT_SALARY)) {
+                            salary = TeachTypeEnum.BISHOP.equals(classGroupTeacher.getTeacherRole()) ? teacherDefaultMusicGroupSalaryHigh.getMainTeacher90MinSalary() : teacherDefaultMusicGroupSalaryHigh.getAssistantTeacher90MinSalary();
+                        }
+                        salary = salary.multiply(new BigDecimal(studentNum));
+                    }
+                    if(Objects.isNull(salary)){
+                        throw new BizException("请设置老师课酬");
+                    }
 
                     CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();
                     courseScheduleTeacherSalary.setCourseScheduleId(courseSchedule.getId());

+ 27 - 11
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupMemberServiceImpl.java

@@ -1,11 +1,7 @@
 package com.ym.mec.biz.service.impl;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.Map.Entry;
-import java.util.Objects;
 import java.util.stream.Collectors;
 
 import org.apache.commons.lang3.StringUtils;
@@ -112,29 +108,49 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 		List<GroupMember> groupMemberList = new ArrayList<GroupMember>();
 
 		String groupId = imGroup.getId().toString();
-		Map<Integer, String> nameIdMap= MapUtil.convertIntegerMap(teacherDao.queryUserNameByIdList(new ArrayList<>(userRoleMap.keySet())));
+		List<Integer> usernameIds = new ArrayList<>();
+		List<Integer> realNameIds = new ArrayList<>();
+
+//		Map<Integer, String> nameIdMap = MapUtil.convertIntegerMap(teacherDao.queryNickNameByRole(userRoleMap.keySet(),userRoleMap));
 		for (Entry<Integer, String> entry : userRoleMap.entrySet()) {
-			
 			if(existUserIdList.contains(entry.getKey())||Objects.isNull(entry.getKey())){
 				continue;
 			}
-
 			ImGroupMember imGroupMember = new ImGroupMember();
 			imGroupMember.setCreateTime(date);
 			imGroupMember.setImGroupId(imGroupId);
 			imGroupMember.setIsAdmin(false);
 			imGroupMember.setRoleType(entry.getValue());
+			if(StringUtils.isEmpty(entry.getValue())){
+				usernameIds.add(entry.getKey());
+			}else {
+				realNameIds.add(entry.getKey());
+			}
 			imGroupMember.setUpdateTime(date);
 			imGroupMember.setUserId(entry.getKey());
-			imGroupMember.setNickname(nameIdMap.get(imGroupMember.getUserId()));
-
+//			imGroupMember.setNickname(nameIdMap.get(imGroupMember.getUserId()));
 			imGroupMemberList.add(imGroupMember);
 			groupMemberList.add(new GroupMember(imGroupMember.getUserId().toString(), groupId));
 		}
 
+
 		if (imGroupMemberList.size() > 0) {
+			Map<Integer, String> usernameMap = new HashMap<>();
+			Map<Integer, String> realNameMap = new HashMap<>();
+			if(usernameIds.size() > 0){
+				usernameMap = MapUtil.convertIntegerMap(teacherDao.queryUserNameByIdList(usernameIds));
+			}
+			if(realNameIds.size() > 0){
+				realNameMap = MapUtil.convertIntegerMap(teacherDao.queryNameByIdList(realNameIds));
+			}
+			for (ImGroupMember imGroupMember : imGroupMemberList) {
+				if(StringUtils.isEmpty(imGroupMember.getRoleType())){
+					imGroupMember.setNickname(usernameMap.get(imGroupMember.getUserId()));
+				}else {
+					imGroupMember.setNickname(realNameMap.get(imGroupMember.getUserId()));
+				}
+			}
 			imGroupMemberDao.batchInsert(imGroupMemberList);
-
 			imGroup.setMemberNum(imGroup.getMemberNum() + imGroupMemberList.size());
 			imGroup.setUpdateTime(date);
 			imGroupDao.update(imGroup);

+ 9 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/IndexBaseMonthDataServiceImpl.java

@@ -63,6 +63,9 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 		startDate = startDate.withDayOfMonth(1);
 
 		LocalDate endDate = startDate.withMonth(12);
+		if(nowDate.getYear()>endDate.getYear()){
+			currentMonth = Date.from(endDate.atStartOfDay(DateUtil.zoneId).toInstant());
+		}
 
 		Set<Integer> organIds = null;
 		if(StringUtils.isNotBlank(organIdsStr)){
@@ -192,6 +195,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 		preStudentNumData.setTitle(IndexDataType.STUDENT_CONVERSION_PRE_STUDENT_NUM.getMsg());
 		preStudentNumData.setTotalNum(preStudentNum.stream().map(IndexBaseMonthData::getTotalNum).reduce(BigDecimal.ZERO, BigDecimal::add));
 		preStudentNumData.setActivateNum(preStudentNum.stream().map(IndexBaseMonthData::getActivateNum).reduce(BigDecimal.ZERO, BigDecimal::add));
+		preStudentNumData.setPercent(preStudentNumData.getActivateNum());
 
 		List<IndexBaseMonthData> studentNum = typeDataMap.get(IndexDataType.STUDENT_CONVERSION_STUDENT_NUM).getIndexMonthData();
 
@@ -220,7 +224,11 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 		convertStudentNumData.setTotalNum(convertStudentNum.stream().map(IndexBaseMonthData::getTotalNum).reduce(BigDecimal.ZERO, BigDecimal::add));
 		convertStudentNumData.setActivateNum(convertStudentNum.stream().map(IndexBaseMonthData::getActivateNum).reduce(BigDecimal.ZERO, BigDecimal::add));
 
-		if(preStudentNumData.getActivateNum().compareTo(BigDecimal.ZERO)==0){
+		if(true){
+			studentNumData.setPercent(studentNumData.getActivateNum());
+			paymentStudentNumData.setPercent(paymentStudentNumData.getActivateNum());
+			convertStudentNumData.setPercent(convertStudentNumData.getActivateNum());
+		}else if(preStudentNumData.getActivateNum().compareTo(BigDecimal.ZERO)==0){
 			studentNumData.setPercent(BigDecimal.ZERO);
 			paymentStudentNumData.setPercent(BigDecimal.ZERO);
 			convertStudentNumData.setPercent(BigDecimal.ZERO);

+ 25 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/InspectionItemPlanConclusionServiceImpl.java

@@ -0,0 +1,25 @@
+package com.ym.mec.biz.service.impl;
+
+import com.ym.mec.biz.dal.dao.InspectionItemPlanConclusionDao;
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ym.mec.biz.dal.entity.InspectionItemPlanConclusion;
+import com.ym.mec.biz.service.InspectionItemPlanConclusionService;
+
+@Service
+public class InspectionItemPlanConclusionServiceImpl extends BaseServiceImpl<Long, InspectionItemPlanConclusion> implements InspectionItemPlanConclusionService {
+
+    @Autowired
+    private InspectionItemPlanConclusionDao inspectionItemPlanConclusionDao;
+
+    @Override
+    public BaseDAO<Long, InspectionItemPlanConclusion> getDAO() {
+        return inspectionItemPlanConclusionDao;
+    }
+
+}
+
+
+

+ 26 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/InspectionItemPlanServiceImpl.java

@@ -0,0 +1,26 @@
+package com.ym.mec.biz.service.impl;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ym.mec.biz.dal.dao.InspectionItemPlanDao;
+import com.ym.mec.biz.dal.entity.InspectionItemPlan;
+import com.ym.mec.biz.service.InspectionItemPlanService;
+
+@Service
+public class InspectionItemPlanServiceImpl extends BaseServiceImpl<Long,InspectionItemPlan> implements InspectionItemPlanService {
+
+    @Autowired
+    private InspectionItemPlanDao inspectionItemPlanDao;
+
+    @Override
+    public BaseDAO<Long, InspectionItemPlan> getDAO() {
+        return inspectionItemPlanDao;
+    }
+
+
+
+}
+
+

+ 24 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/InspectionItemServiceImpl.java

@@ -0,0 +1,24 @@
+package com.ym.mec.biz.service.impl;
+
+import com.ym.mec.biz.dal.dao.InspectionItemDao;
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ym.mec.biz.dal.entity.InspectionItem;
+import com.ym.mec.biz.service.InspectionItemService;
+
+@Service
+public class InspectionItemServiceImpl extends BaseServiceImpl<Long, InspectionItem> implements InspectionItemService {
+
+    @Autowired
+    private InspectionItemDao inspectionItemDao;
+
+    @Override
+    public BaseDAO<Long, InspectionItem> getDAO() {
+        return inspectionItemDao;
+    }
+
+}
+
+

+ 24 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/InspectionServiceImpl.java

@@ -0,0 +1,24 @@
+package com.ym.mec.biz.service.impl;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ym.mec.biz.dal.entity.Inspection;
+import com.ym.mec.biz.dal.dao.InspectionDao;
+import com.ym.mec.biz.service.InspectionService;
+
+@Service
+public class InspectionServiceImpl extends BaseServiceImpl<Long,Inspection> implements InspectionService {
+
+    @Autowired
+    private InspectionDao inspectionDao;
+
+    @Override
+    public BaseDAO<Long, Inspection> getDAO() {
+        return inspectionDao;
+    }
+
+}
+
+

+ 9 - 19
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -9,6 +9,7 @@ import static com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentType.AD
 import static com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentType.MUSIC_APPLY;
 import static com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentType.MUSIC_RENEW;
 import static com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentType.SPAN_GROUP_CLASS_ADJUST;
+import static com.ym.mec.biz.dal.enums.PaymentStatusEnum.YES;
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
@@ -24,7 +25,9 @@ import java.util.Map.Entry;
 import java.util.Set;
 import java.util.stream.Collectors;
 
+import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.enums.GroupType;
+import com.ym.mec.biz.dal.enums.StudentMusicGroupStatusEnum;
 import com.ym.mec.biz.service.*;
 import org.apache.commons.beanutils.BeanUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -37,25 +40,6 @@ import com.alibaba.fastjson.JSON;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.auth.api.entity.SysUserRole;
-import com.ym.mec.biz.dal.dao.ClassGroupDao;
-import com.ym.mec.biz.dal.dao.ClassGroupStudentMapperDao;
-import com.ym.mec.biz.dal.dao.CourseScheduleDao;
-import com.ym.mec.biz.dal.dao.CourseScheduleTeacherSalaryDao;
-import com.ym.mec.biz.dal.dao.MusicGroupBuildLogDao;
-import com.ym.mec.biz.dal.dao.MusicGroupDao;
-import com.ym.mec.biz.dal.dao.MusicGroupOrganizationCourseSettingsDao;
-import com.ym.mec.biz.dal.dao.MusicGroupOrganizationCourseSettingsDetailDao;
-import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderCourseSettingsDao;
-import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDao;
-import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDetailDao;
-import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderStudentDetailDao;
-import com.ym.mec.biz.dal.dao.MusicGroupPaymentStudentCourseDetailDao;
-import com.ym.mec.biz.dal.dao.MusicGroupStudentClassAdjustDao;
-import com.ym.mec.biz.dal.dao.MusicGroupStudentFeeDao;
-import com.ym.mec.biz.dal.dao.OrganizationCourseUnitPriceSettingsDao;
-import com.ym.mec.biz.dal.dao.OrganizationDao;
-import com.ym.mec.biz.dal.dao.SysConfigDao;
-import com.ym.mec.biz.dal.dao.TeacherAttendanceDao;
 import com.ym.mec.biz.dal.dto.CalenderPushDto;
 import com.ym.mec.biz.dal.dto.ClassGroup4MixDto;
 import com.ym.mec.biz.dal.dto.MusicGroupPaymentCalenderAuditDetailDto;
@@ -160,6 +144,8 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 	private MusicGroupPaymentCalenderDetailService musicGroupPaymentCalenderDetailService;
 	@Autowired
 	private MusicGroupPaymentCalenderStudentDetailDao musicGroupPaymentCalenderStudentDetailDao;
+	@Autowired
+	private StudentRegistrationDao studentRegistrationDao;
 
 	@Override
 	public BaseDAO<Long, MusicGroupPaymentCalender> getDAO() {
@@ -1214,6 +1200,10 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 				updateMusicGroupPaymentCalenderList.add(mgpc);
 				//将0元未缴费学员缴费状态更新为已缴费
 				musicGroupPaymentCalenderDetailDao.updateNoPaymentAndZeroPaymentStatus(mgpc.getId());
+				//如果是进行中加学员,将报名表状态改为NORMAL
+				if(mgpc.getPaymentType() == MusicGroupPaymentCalender.PaymentType.ADD_STUDENT){
+					studentRegistrationDao.updatePaymentStatusByClaenderId(mgpc.getId());
+				}
 			} else if (mgpc.getStartPaymentDate() != null && date.after(mgpc.getStartPaymentDate()) && mgpc.getStatus() == PaymentCalenderStatusEnum.NO) {
 				MusicGroup musicGroup = musicGroupDao.get(mgpc.getMusicGroupId());
 				if(musicGroup == null){

+ 34 - 16
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherCourseStatisticsServiceImpl.java

@@ -1,11 +1,13 @@
 package com.ym.mec.biz.service.impl;
 
-
-import com.ym.mec.biz.dal.dao.SysConfigDao;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.biz.dal.dao.TeacherCourseStatisticsDao;
 import com.ym.mec.biz.dal.entity.Subject;
+import com.ym.mec.biz.dal.entity.SysConfig;
 import com.ym.mec.biz.dal.entity.TeacherCourseStatistics;
 import com.ym.mec.biz.dal.page.TeacherCourseStatisticsQueryInfo;
+import com.ym.mec.biz.service.SysConfigService;
 import com.ym.mec.biz.service.TeacherCourseStatisticsService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.page.PageInfo;
@@ -26,7 +28,7 @@ public class TeacherCourseStatisticsServiceImpl extends BaseServiceImpl<Long, Te
     @Autowired
     private TeacherCourseStatisticsDao teacherCourseStatisticsDao;
     @Autowired
-    private SysConfigDao sysConfigDao;
+    private SysConfigService sysConfigService;
 
     @Override
     public BaseDAO<Long, TeacherCourseStatistics> getDAO() {
@@ -53,39 +55,54 @@ public class TeacherCourseStatisticsServiceImpl extends BaseServiceImpl<Long, Te
 
     @Override
     public void teacherCourseStatistic() {
-        Date nextMonthDate = DateUtil.addMonths(new Date(), 1);
+        Date nextMonthDate = new Date();
         Date startDate = DateUtil.getFirstDayOfMonth(nextMonthDate);
         Date endDate = DateUtil.getLastDayOfMonth(nextMonthDate);
-        String salaryConfig = sysConfigDao.findConfigValue("warning_min_course_salary");
-        BigDecimal salary = new BigDecimal(salaryConfig);
-        List<TeacherCourseStatistics> teacherCourseStatisticsList = teacherCourseStatisticsDao.findUserByWarringSalary(startDate, endDate, salary);
+        List<TeacherCourseStatistics> teacherCourseStatisticsList = teacherCourseStatisticsDao.findUserByWarringSalary(startDate, endDate);
         if (teacherCourseStatisticsList.size() == 0) {
             return;
         }
+        SysConfig salaryConfig = sysConfigService.findByParamName(SysConfigService.WARNING_MIN_COURSE_SALARY);
+        JSONObject salaryConfigObject = JSON.parseObject(salaryConfig.getParanValue());
+
         List<Integer> userIds = teacherCourseStatisticsList.stream().map(TeacherCourseStatistics::getUserId).collect(Collectors.toList());
-        List<TeacherCourseStatistics> teCourseSalaryStatisAndTypes = teacherCourseStatisticsDao.findUserCourseSalaryByUserIds(userIds, startDate, endDate);
+        List<TeacherCourseStatistics> teCourseSalaryStaticsAndTypes = teacherCourseStatisticsDao.findUserCourseSalaryByUserIds(userIds, startDate, endDate);
 
         for (TeacherCourseStatistics teacherCourseStatistics : teacherCourseStatisticsList) {
             int vipCourseNum = 0;
             int musicCourseNum = 0;
+            int practiceCourseNum = 0;
             BigDecimal expectVipCourseSalary = BigDecimal.ZERO;
             BigDecimal expectMusicCourseSalary = BigDecimal.ZERO;
+            BigDecimal expectPracticeCourseSalary = BigDecimal.ZERO;
 
-            for (TeacherCourseStatistics teCourseSalaryStatisAndType : teCourseSalaryStatisAndTypes) {
-                if (!teacherCourseStatistics.getUserId().equals(teCourseSalaryStatisAndType.getUserId())) continue;
+            for (TeacherCourseStatistics teCourseSalaryStaticsAndType : teCourseSalaryStaticsAndTypes) {
+                if (!teacherCourseStatistics.getUserId().equals(teCourseSalaryStaticsAndType.getUserId())) continue;
 
-                if (teCourseSalaryStatisAndType.getGroupType().equals("VIP")) {
-                    expectVipCourseSalary = teCourseSalaryStatisAndType.getExpectTotalSalary();
-                    vipCourseNum = teCourseSalaryStatisAndType.getMusicCourseNum();
-                } else if (teCourseSalaryStatisAndType.getGroupType().equals("MUSIC")) {
-                    expectMusicCourseSalary = teCourseSalaryStatisAndType.getExpectTotalSalary();
-                    musicCourseNum = teCourseSalaryStatisAndType.getMusicCourseNum();
+                if (teCourseSalaryStaticsAndType.getGroupType().equals("VIP")) {
+                    expectVipCourseSalary = teCourseSalaryStaticsAndType.getExpectTotalSalary();
+                    vipCourseNum = teCourseSalaryStaticsAndType.getMusicCourseNum();
+                } else if (teCourseSalaryStaticsAndType.getGroupType().equals("MUSIC")) {
+                    expectMusicCourseSalary = teCourseSalaryStaticsAndType.getExpectTotalSalary();
+                    musicCourseNum = teCourseSalaryStaticsAndType.getMusicCourseNum();
+                } else if (teCourseSalaryStaticsAndType.getGroupType().equals("PRACTICE")) {
+                    expectPracticeCourseSalary = teCourseSalaryStaticsAndType.getExpectTotalSalary();
+                    practiceCourseNum = teCourseSalaryStaticsAndType.getMusicCourseNum();
                 }
             }
             teacherCourseStatistics.setExpectVipCourseSalary(expectVipCourseSalary);
             teacherCourseStatistics.setExpectMusicCourseSalary(expectMusicCourseSalary);
+            teacherCourseStatistics.setExpectPracticeCourseSalary(expectPracticeCourseSalary);
             teacherCourseStatistics.setVipCourseNum(vipCourseNum);
             teacherCourseStatistics.setMusicCourseNum(musicCourseNum);
+            teacherCourseStatistics.setPracticeCourseNum(practiceCourseNum);
+
+            BigDecimal organWarningSalary = salaryConfigObject.getBigDecimal(teacherCourseStatistics.getOrganId().toString());
+            if(Objects.isNull(organWarningSalary)||teacherCourseStatistics.getExpectTotalSalary().compareTo(organWarningSalary)<=0){
+                teacherCourseStatistics.setLowSalary(true);
+            }else{
+                teacherCourseStatistics.setLowSalary(false);
+            }
 
             if (teacherCourseStatistics.getSubjectIdList() == null) {
                 teacherCourseStatistics.setSubjectIdList("");
@@ -93,6 +110,7 @@ public class TeacherCourseStatisticsServiceImpl extends BaseServiceImpl<Long, Te
             teacherCourseStatistics.setMonth(startDate);
         }
 
+        teacherCourseStatisticsDao.deleteByMonth(startDate);
         teacherCourseStatisticsDao.batchAdd(teacherCourseStatisticsList);
     }
 }

+ 12 - 16
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherDefaultVipGroupSalaryServiceImpl.java

@@ -10,6 +10,7 @@ import java.util.Objects;
 import java.util.Set;
 import java.util.stream.Collectors;
 
+import com.ym.mec.biz.service.VipGroupService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -54,6 +55,9 @@ public class TeacherDefaultVipGroupSalaryServiceImpl extends BaseServiceImpl<Lon
 	@Autowired
 	private TeacherDao teacherDao;
 
+	@Autowired
+	private VipGroupService vipGroupService;
+
 	@Override
 	public BaseDAO<Long, TeacherDefaultVipGroupSalary> getDAO() {
 		return teacherDefaultVipGroupSalaryDao;
@@ -157,23 +161,15 @@ public class TeacherDefaultVipGroupSalaryServiceImpl extends BaseServiceImpl<Lon
 							TeacherDefaultVipGroupSalary tdms = salaryMap.get(vipGroup.getVipGroupCategoryId());
 							TeacherDefaultVipGroupSalary origTdms = map.get(vipGroup.getVipGroupCategoryId());
 							if (tdms != null && origTdms != null) {
-								if (vipGroupSalarySettlementDto.getOnlineSalarySettlement() != null
-										&& vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSalarySettlementType() == SalarySettlementTypeEnum.TEACHER_DEFAULT
-										&& (ts.getCourseSchedule().getTeachMode() == TeachModeEnum.ONLINE)) {// 线上课
-									if (teacher.getJobNature() != JobNatureEnum.FULL_TIME
-											&& ts.getExpectSalary().compareTo(origTdms.getOfflineClassesSalary()) == 0
-											&& tdms.getOfflineClassesSalary().compareTo(origTdms.getOfflineClassesSalary()) != 0) {
-										ts.setExpectSalary(tdms.getOfflineClassesSalary());
-										list.add(ts);
-									}
-								} else if (vipGroupSalarySettlementDto.getOfflineSalarySettlement() != null
-										&& vipGroupSalarySettlementDto.getOfflineSalarySettlement().getSalarySettlementType() == SalarySettlementTypeEnum.TEACHER_DEFAULT
-										&& ts.getCourseSchedule().getTeachMode() == TeachModeEnum.OFFLINE
-										&& ts.getExpectSalary().compareTo(origTdms.getOfflineClassesSalary()) == 0
-										&& tdms.getOfflineClassesSalary().compareTo(origTdms.getOfflineClassesSalary()) != 0) {// 线下课
-									ts.setExpectSalary(tdms.getOfflineClassesSalary());
-									list.add(ts);
+								Map<String, BigDecimal> teachModeSalaryMap = vipGroupService.countVipGroupCoursePredictFee(vipGroup, ts.getUserId(), ts.getCourseScheduleId());
+								if(TeachModeEnum.ONLINE.equals(ts.getCourseSchedule().getTeachMode())&&teachModeSalaryMap.containsKey("onlineTeacherSalary")){
+									ts.setExpectSalary(teachModeSalaryMap.get("onlineTeacherSalary"));
+								}else if(TeachModeEnum.OFFLINE.equals(ts.getCourseSchedule().getTeachMode())&&teachModeSalaryMap.containsKey("offlineTeacherSalary")){
+									ts.setExpectSalary(teachModeSalaryMap.get("offlineTeacherSalary"));
 								}
+
+								ts.setExpectSalary(tdms.getOfflineClassesSalary());
+								list.add(ts);
 							}
 						}
 					}

+ 84 - 0
mec-biz/src/main/resources/config/mybatis/InspectionItemMapper.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.biz.dal.dao.InspectionItemDao">
+  <resultMap id="InspectionItem" type="com.ym.mec.biz.dal.entity.InspectionItem">
+    <!--@mbg.generated-->
+    <!--@Table inspection_item-->
+    <id column="id_" property="id" />
+    <result column="inspection_id_" property="inspectionId" />
+    <result column="organ_id_" property="organId" />
+    <result column="user_id_" property="userId" />
+    <result column="item_" property="item" />
+    <result column="times_" property="times" />
+    <result column="planned_times_" property="plannedTimes" />
+    <result column="submitted_times" property="submittedTimes" />
+    <result column="memo_" property="memo" />
+    <result column="operation_" property="operation" />
+    <result column="create_time_" property="createTime" />
+    <result column="update_time_" property="updateTime" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--@mbg.generated-->
+    id_, inspection_id_, organ_id_, user_id_, item_, times_, planned_times_, submitted_times, 
+    memo_, operation_, create_time_, update_time_
+  </sql>
+  <select id="get" parameterType="java.lang.Long" resultMap="InspectionItem">
+    <!--@mbg.generated-->
+    select 
+    <include refid="Base_Column_List" />
+    from inspection_item
+    where id_ = #{id}
+  </select>
+  <delete id="delete" parameterType="java.lang.Long">
+    <!--@mbg.generated-->
+    delete from inspection_item
+    where id_ = #{id}
+  </delete>
+  <insert id="insert" keyColumn="id_" keyProperty="id" parameterType="com.ym.mec.biz.dal.entity.InspectionItem" useGeneratedKeys="true">
+    <!--@mbg.generated-->
+    insert into inspection_item (inspection_id_, organ_id_, user_id_, item_, times_, planned_times_, 
+      submitted_times, memo_, operation_, create_time_, update_time_)
+    values (#{inspectionId}, #{organId}, #{userId}, #{item}, #{times}, #{plannedTimes}, 
+      #{submittedTimes}, #{memo}, #{operation}, #{createTime}, #{updateTime})
+  </insert>
+  <update id="update" parameterType="com.ym.mec.biz.dal.entity.InspectionItem">
+    <!--@mbg.generated-->
+    update inspection_item
+    <set>
+      <if test="inspectionId != null">
+        inspection_id_ = #{inspectionId},
+      </if>
+      <if test="organId != null">
+        organ_id_ = #{organId},
+      </if>
+      <if test="userId != null">
+        user_id_ = #{userId},
+      </if>
+      <if test="item != null">
+        item_ = #{item},
+      </if>
+      <if test="times != null">
+        times_ = #{times},
+      </if>
+      <if test="plannedTimes != null">
+        planned_times_ = #{plannedTimes},
+      </if>
+      <if test="submittedTimes != null">
+        submitted_times = #{submittedTimes},
+      </if>
+      <if test="memo != null">
+        memo_ = #{memo},
+      </if>
+      <if test="operation != null">
+        operation_ = #{operation},
+      </if>
+      <if test="createTime != null">
+        create_time_ = #{createTime},
+      </if>
+      <if test="updateTime != null">
+        update_time_ = #{updateTime},
+      </if>
+    </set>
+    where id_ = #{id}
+  </update>
+</mapper>

+ 122 - 0
mec-biz/src/main/resources/config/mybatis/InspectionItemPlanConclusionMapper.xml

@@ -0,0 +1,122 @@
+<?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.biz.dal.dao.InspectionItemPlanConclusionDao">
+  <resultMap id="BaseResultMap" type="com.ym.mec.biz.dal.entity.InspectionItemPlanConclusion">
+    <!--@mbg.generated-->
+    <!--@Table inspection_item_plan_conclusion-->
+    <id column="id_" property="id" />
+    <result column="plan_id_" property="planId" />
+    <result column="teacher_id_" property="teacherId" />
+    <result column="check item1" property="checkItem1" />
+    <result column="check item2" property="checkItem2" />
+    <result column="check item3" property="checkItem3" />
+    <result column="check item4" property="checkItem4" />
+    <result column="check item5" property="checkItem5" />
+    <result column="check item6" property="checkItem6" />
+    <result column="check item7" property="checkItem7" />
+    <result column="check item8" property="checkItem8" />
+    <result column="check item9" property="checkItem9" />
+    <result column="check item10" property="checkItem10" />
+    <result column="check item11" property="checkItem11" />
+    <result column="check item12" property="checkItem12" />
+    <result column="check item13" property="checkItem13" />
+    <result column="check item14" property="checkItem14" />
+    <result column="check item15" property="checkItem15" />
+    <result column="create_time_" property="createTime" />
+    <result column="update_time_" property="updateTime" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--@mbg.generated-->
+    id_, plan_id_, teacher_id_, `check item1`, `check item2`, `check item3`, `check item4`, 
+    `check item5`, `check item6`, `check item7`, `check item8`, `check item9`, `check item10`, 
+    `check item11`, `check item12`, `check item13`, `check item14`, `check item15`, create_time_, 
+    update_time_
+  </sql>
+  <select id="get" parameterType="java.lang.Integer" resultMap="BaseResultMap">
+    <!--@mbg.generated-->
+    select 
+    <include refid="Base_Column_List" />
+    from inspection_item_plan_conclusion
+    where id_ = #{id}
+  </select>
+  <delete id="delete" parameterType="java.lang.Integer">
+    <!--@mbg.generated-->
+    delete from inspection_item_plan_conclusion
+    where id_ = #{id}
+  </delete>
+  <insert id="insert" keyColumn="id_" keyProperty="id" parameterType="com.ym.mec.biz.dal.entity.InspectionItemPlanConclusion" useGeneratedKeys="true">
+    <!--@mbg.generated-->
+    insert into inspection_item_plan_conclusion (plan_id_, teacher_id_, `check item1`, `check item2`, `check item3`, `check item4`, 
+      `check item5`, `check item6`, `check item7`, `check item8`, `check item9`, `check item10`, 
+      `check item11`, `check item12`, `check item13`, `check item14`, `check item15`, 
+      create_time_, update_time_)
+    values (#{planId}, #{teacherId}, #{checkItem1}, #{checkItem2}, #{checkItem3}, #{checkItem4}, 
+      #{checkItem5}, #{checkItem6}, #{checkItem7}, #{checkItem8}, #{checkItem9}, #{checkItem10}, 
+      #{checkItem11}, #{checkItem12}, #{checkItem13}, #{checkItem14}, #{checkItem15}, 
+      #{createTime}, #{updateTime})
+  </insert>
+  <update id="update" parameterType="com.ym.mec.biz.dal.entity.InspectionItemPlanConclusion">
+    <!--@mbg.generated-->
+    update inspection_item_plan_conclusion
+    <set>
+      <if test="planId != null">
+        plan_id_ = #{planId},
+      </if>
+      <if test="teacherId != null">
+        teacher_id_ = #{teacherId},
+      </if>
+      <if test="checkItem1 != null">
+        `check item1` = #{checkItem1},
+      </if>
+      <if test="checkItem2 != null">
+        `check item2` = #{checkItem2},
+      </if>
+      <if test="checkItem3 != null">
+        `check item3` = #{checkItem3},
+      </if>
+      <if test="checkItem4 != null">
+        `check item4` = #{checkItem4},
+      </if>
+      <if test="checkItem5 != null">
+        `check item5` = #{checkItem5},
+      </if>
+      <if test="checkItem6 != null">
+        `check item6` = #{checkItem6},
+      </if>
+      <if test="checkItem7 != null">
+        `check item7` = #{checkItem7},
+      </if>
+      <if test="checkItem8 != null">
+        `check item8` = #{checkItem8},
+      </if>
+      <if test="checkItem9 != null">
+        `check item9` = #{checkItem9},
+      </if>
+      <if test="checkItem10 != null">
+        `check item10` = #{checkItem10},
+      </if>
+      <if test="checkItem11 != null">
+        `check item11` = #{checkItem11},
+      </if>
+      <if test="checkItem12 != null">
+        `check item12` = #{checkItem12},
+      </if>
+      <if test="checkItem13 != null">
+        `check item13` = #{checkItem13},
+      </if>
+      <if test="checkItem14 != null">
+        `check item14` = #{checkItem14},
+      </if>
+      <if test="checkItem15 != null">
+        `check item15` = #{checkItem15},
+      </if>
+      <if test="createTime != null">
+        create_time_ = #{createTime},
+      </if>
+      <if test="updateTime != null">
+        update_time_ = #{updateTime},
+      </if>
+    </set>
+    where id_ = #{id}
+  </update>
+</mapper>

+ 99 - 0
mec-biz/src/main/resources/config/mybatis/InspectionItemPlanMapper.xml

@@ -0,0 +1,99 @@
+<?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.biz.dal.dao.InspectionItemPlanDao">
+  <resultMap id="InspectionItemPlan" type="com.ym.mec.biz.dal.entity.InspectionItemPlan">
+    <!--@mbg.generated-->
+    <!--@Table inspection_item_plan-->
+    <id column="id_" property="id" />
+    <result column="inspection_id_" property="inspectionId" />
+    <result column="item_id_" property="itemId" />
+    <result column="user_id_" property="userId" />
+    <result column="plan_start_" property="planStart" />
+    <result column="plan_end_" property="planEnd" />
+    <result column="cooperation_organ_id_" property="cooperationOrganId" />
+    <result column="music_group_id_" property="musicGroupId" />
+    <result column="school_gps_" property="schoolGps" />
+    <result column="submited_gps_" property="submitedGps" />
+    <result column="submited_time_" property="submitedTime" />
+    <result column="memo_" property="memo" />
+    <result column="status_" property="status" />
+    <result column="create_time_" property="createTime" />
+    <result column="update_time_" property="updateTime" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--@mbg.generated-->
+    id_, inspection_id_, item_id_, user_id_, plan_start_, plan_end_, cooperation_organ_id_, 
+    music_group_id_, school_gps_, submited_gps_, submited_time_, memo_, status_, create_time_, 
+    update_time_
+  </sql>
+  <select id="get" parameterType="java.lang.Integer" resultMap="InspectionItemPlan">
+    <!--@mbg.generated-->
+    select 
+    <include refid="Base_Column_List" />
+    from inspection_item_plan
+    where id_ = #{id}
+  </select>
+  <delete id="delete" parameterType="java.lang.Integer">
+    <!--@mbg.generated-->
+    delete from inspection_item_plan
+    where id_ = #{id}
+  </delete>
+  <insert id="insert" keyColumn="id_" keyProperty="id" parameterType="com.ym.mec.biz.dal.entity.InspectionItemPlan" useGeneratedKeys="true">
+    <!--@mbg.generated-->
+    insert into inspection_item_plan (inspection_id_, item_id_, user_id_, plan_start_, plan_end_, cooperation_organ_id_, 
+      music_group_id_, school_gps_, submited_gps_, submited_time_, memo_, status_, 
+      create_time_, update_time_)
+    values (#{inspectionId}, #{itemId}, #{userId}, #{planStart}, #{planEnd}, #{cooperationOrganId}, 
+      #{musicGroupId}, #{schoolGps}, #{submitedGps}, #{submitedTime}, #{memo}, #{status}, 
+      #{createTime}, #{updateTime})
+  </insert>
+  <update id="update" parameterType="com.ym.mec.biz.dal.entity.InspectionItemPlan">
+    <!--@mbg.generated-->
+    update inspection_item_plan
+    <set>
+      <if test="inspectionId != null">
+        inspection_id_ = #{inspectionId},
+      </if>
+      <if test="itemId != null">
+        item_id_ = #{itemId},
+      </if>
+      <if test="userId != null">
+        user_id_ = #{userId},
+      </if>
+      <if test="planStart != null">
+        plan_start_ = #{planStart},
+      </if>
+      <if test="planEnd != null">
+        plan_end_ = #{planEnd},
+      </if>
+      <if test="cooperationOrganId != null">
+        cooperation_organ_id_ = #{cooperationOrganId},
+      </if>
+      <if test="musicGroupId != null">
+        music_group_id_ = #{musicGroupId},
+      </if>
+      <if test="schoolGps != null">
+        school_gps_ = #{schoolGps},
+      </if>
+      <if test="submitedGps != null">
+        submited_gps_ = #{submitedGps},
+      </if>
+      <if test="submitedTime != null">
+        submited_time_ = #{submitedTime},
+      </if>
+      <if test="memo != null">
+        memo_ = #{memo},
+      </if>
+      <if test="status != null">
+        status_ = #{status},
+      </if>
+      <if test="createTime != null">
+        create_time_ = #{createTime},
+      </if>
+      <if test="updateTime != null">
+        update_time_ = #{updateTime},
+      </if>
+    </set>
+    where id_ = #{id}
+  </update>
+</mapper>

+ 77 - 0
mec-biz/src/main/resources/config/mybatis/InspectionMapper.xml

@@ -0,0 +1,77 @@
+<?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.biz.dal.dao.InspectionDao">
+  <resultMap id="Inspection" type="com.ym.mec.biz.dal.entity.Inspection">
+    <!--@mbg.generated-->
+    <!--@Table inspection-->
+    <id column="id_" property="id" />
+    <result column="organ_id_" property="organId" />
+    <result column="user_id_" property="userId" />
+    <result column="month_" property="month" />
+    <result column="memo_" property="memo" />
+    <result column="operation_" property="operation" />
+    <result column="create_time_" property="createTime" />
+    <result column="update_time_" property="updateTime" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--@mbg.generated-->
+    id_, organ_id_, user_id_, month_, memo_, operation_, create_time_, update_time_
+  </sql>
+  <select id="get" parameterType="java.lang.Long" resultMap="Inspection">
+    <!--@mbg.generated-->
+    select 
+    <include refid="Base_Column_List" />
+    from inspection
+    where id_ = #{id}
+  </select>
+  <delete id="delete" parameterType="java.lang.Long">
+    <!--@mbg.generated-->
+    delete from inspection
+    where id_ = #{id}
+  </delete>
+  <insert id="insert" keyColumn="id_" keyProperty="id" parameterType="com.ym.mec.biz.dal.entity.Inspection" useGeneratedKeys="true">
+    <!--@mbg.generated-->
+    insert into inspection (organ_id_, user_id_, month_, memo_, operation_, create_time_, update_time_
+      )
+    values (#{organId}, #{userId}, #{month}, #{memo}, #{operation}, #{createTime}, #{updateTime}
+      )
+  </insert>
+  <update id="update" parameterType="com.ym.mec.biz.dal.entity.Inspection">
+    <!--@mbg.generated-->
+    update inspection
+    <set>
+      <if test="organId != null">
+        organ_id_ = #{organId},
+      </if>
+      <if test="userId != null">
+        user_id_ = #{userId},
+      </if>
+      <if test="month != null">
+        month_ = #{month},
+      </if>
+      <if test="memo != null">
+        memo_ = #{memo},
+      </if>
+      <if test="operation != null">
+        operation_ = #{operation},
+      </if>
+      <if test="createTime != null">
+        create_time_ = #{createTime},
+      </if>
+      <if test="updateTime != null">
+        update_time_ = #{updateTime},
+      </if>
+    </set>
+    where id_ = #{id}
+  </update>
+
+  <!-- 分页查询 -->
+  <select id="queryPage" resultMap="Inspection" parameterType="map">
+    SELECT * FROM inspection ORDER BY id_ <include refid="global.limit"/>
+  </select>
+
+  <!-- 查询当前表的总记录数 -->
+  <select id="queryCount" resultType="int">
+    SELECT COUNT(*) FROM inspection
+  </select>
+</mapper>

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

@@ -623,6 +623,13 @@
         UPDATE student_registration sr SET sr.current_grade_ = #{currentGrade},sr.current_class_ = #{currentClass},sr.current_grade_date_= NOW(),sr.update_time_ = NOW()
         WHERE sr.user_id_ = #{userId}
     </update>
+    <update id="updatePaymentStatusByClaenderId">
+        UPDATE student_registration sr
+        LEFT JOIN music_group_payment_calender mgpc ON mgpc.music_group_id_ = sr.music_group_id_
+        LEFT JOIN music_group_payment_calender_detail mgpcd ON mgpc.id_ = mgpcd.music_group_payment_calender_id_
+        SET sr.payment_status_ = 2,sr.music_group_status_ = 'NORMAL',sr.update_time_ = NOW()
+        WHERE mgpcd.user_id_ = sr.user_id_ AND mgpcd.expect_amount_ = 0 AND mgpc.id_ = #{calenderId}
+    </update>
 
     <select id="findStudentByMusicGroupIdAndUserId" resultMap="StudentRegistration">
         SELECT s.name_ school_name_,s2.name_ subject_name_,mgsp.kit_group_purchase_type_ kit_group_purchase_type_,

+ 24 - 14
mec-biz/src/main/resources/config/mybatis/TeacherCourseStatisticsMapper.xml

@@ -9,9 +9,12 @@
         <result column="subject_id_list_" jdbcType="VARCHAR" property="subjectIdList"/>
         <result column="vip_course_num_" jdbcType="INTEGER" property="vipCourseNum"/>
         <result column="music_course_num_" jdbcType="INTEGER" property="musicCourseNum"/>
+        <result column="practice_course_num_" jdbcType="INTEGER" property="practiceCourseNum"/>
         <result column="expect_music_course_salary_" jdbcType="DECIMAL" property="expectMusicCourseSalary"/>
         <result column="expect_vip_course_salary_" jdbcType="DECIMAL" property="expectVipCourseSalary"/>
+        <result column="expect_practice_course_salary_" jdbcType="DECIMAL" property="expectPracticeCourseSalary"/>
         <result column="expect_total_salary_" jdbcType="DECIMAL" property="expectTotalSalary"/>
+        <result column="low_salary" jdbcType="DECIMAL" property="lowSalary"/>
         <result column="average_class_minutes_" jdbcType="INTEGER" property="averageClassMinutes"/>
         <result column="statistics_date_time_" jdbcType="DATE" property="statisticsDateTime"/>
         <result column="group_type_" jdbcType="VARCHAR" property="groupType"/>
@@ -27,30 +30,36 @@
     <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.TeacherCourseStatistics" useGeneratedKeys="true"
             keyColumn="id" keyProperty="id">
         INSERT INTO teacher_course_statistics (id_, user_id_, organ_id_, month_,
-        subject_id_list_, vip_course_num_, music_course_num_,
-        expect_music_course_salary_, expect_vip_course_salary_,
+        subject_id_list_, vip_course_num_, music_course_num_, practice_course_num_,
+        expect_music_course_salary_, expect_vip_course_salary_, expect_practice_course_salary_,
         expect_total_salary_, average_class_minutes_,
-        statistics_date_time_)
+        statistics_date_time_,low_salary)
         VALUES (#{id,jdbcType=BIGINT}, #{userId,jdbcType=INTEGER}, #{organId,jdbcType=INTEGER}, #{month,jdbcType=DATE},
-        #{subjectIdList,jdbcType=VARCHAR}, #{vipCourseNum,jdbcType=INTEGER}, #{musicCourseNum,jdbcType=INTEGER},
-        #{expectMusicCourseSalary,jdbcType=DECIMAL}, #{expectVipCourseSalary,jdbcType=DECIMAL},
-        #{expectTotalSalary,jdbcType=DECIMAL}, #{averageClassMinutes,jdbcType=INTEGER},NOW())
+        #{subjectIdList,jdbcType=VARCHAR}, #{vipCourseNum,jdbcType=INTEGER}, #{musicCourseNum,jdbcType=INTEGER}, #{practiceCourseNum},
+        #{expectMusicCourseSalary,jdbcType=DECIMAL}, #{expectVipCourseSalary,jdbcType=DECIMAL}, #{expectPracticeCourseSalary},
+        #{expectTotalSalary,jdbcType=DECIMAL}, #{averageClassMinutes,jdbcType=INTEGER},NOW(),#{lowSalary})
     </insert>
 
     <insert id="batchAdd" parameterType="java.util.List" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
         INSERT INTO teacher_course_statistics (id_, user_id_, organ_id_, month_,
-        subject_id_list_, vip_course_num_, music_course_num_,
-        expect_music_course_salary_, expect_vip_course_salary_,
-        expect_total_salary_, average_class_minutes_,statistics_date_time_)
+        subject_id_list_, vip_course_num_, music_course_num_, practice_course_num_,
+        expect_music_course_salary_, expect_vip_course_salary_, expect_practice_course_salary_,
+        expect_total_salary_, average_class_minutes_,statistics_date_time_,low_salary)
         VALUE
         <foreach collection="lists" item="list" separator=",">
         (#{list.id,jdbcType=BIGINT}, #{list.userId,jdbcType=INTEGER}, #{list.organId,jdbcType=INTEGER}, #{list.month,jdbcType=DATE},
         #{list.subjectIdList,jdbcType=VARCHAR}, #{list.vipCourseNum,jdbcType=INTEGER}, #{list.musicCourseNum,jdbcType=INTEGER},
+            #{list.practiceCourseNum},
         #{list.expectMusicCourseSalary,jdbcType=DECIMAL}, #{list.expectVipCourseSalary,jdbcType=DECIMAL},
-        #{list.expectTotalSalary,jdbcType=DECIMAL}, #{list.averageClassMinutes,jdbcType=INTEGER},NOW())
+            #{list.expectPracticeCourseSalary},
+        #{list.expectTotalSalary,jdbcType=DECIMAL}, #{list.averageClassMinutes,jdbcType=INTEGER},NOW(),#{list.lowSalary})
         </foreach>
     </insert>
 
+    <delete id="deleteByMonth">
+        DELETE FROM teacher_course_statistics WHERE month_=#{date}
+    </delete>
+
     <!-- 查找下月排课小于基准课酬的老师-->
     <select id="findUserByWarringSalary" resultMap="TeacherCourseStatistics"><![CDATA[
         SELECT SUM(csts.expect_salary_) expect_total_salary_, csts.user_id_,t.organ_id_,t.subject_id_ subject_id_list_,
@@ -58,8 +67,9 @@
         FROM course_schedule_teacher_salary csts
         LEFT JOIN course_schedule cs ON cs.id_ = csts.course_schedule_id_
         LEFT JOIN teacher t on t.id_ = csts.user_id_
-        WHERE cs.class_date_ >= #{startDate} AND cs.class_date_ <= #{endDate} AND csts.group_type_ IN ('VIP','MUSIC') AND cs.del_flag_ != 1
-        GROUP BY csts.user_id_ HAVING expect_total_salary_ <= #{salary}
+        WHERE cs.class_date_ >= #{startDate} AND cs.class_date_ <= #{endDate} AND csts.group_type_ IN ('VIP','MUSIC', 'PRACTICE')
+          AND cs.del_flag_ != 1 AND t.organ_id_ IS NOT NULL
+        GROUP BY csts.user_id_
         ]]>
   </select>
     <select id="findUserCourseSalaryByUserIds" resultMap="TeacherCourseStatistics">
@@ -69,7 +79,7 @@
         <foreach collection="userIds" item="userId" open="(" separator="," close=")">
             #{userId}
         </foreach>
-        <![CDATA[AND cs.class_date_ >= #{startDate} AND cs.class_date_ <= #{endDate} AND csts.group_type_ IN ('VIP','MUSIC') AND cs.del_flag_ != 1
+        <![CDATA[AND cs.class_date_ >= #{startDate} AND cs.class_date_ <= #{endDate} AND csts.group_type_ IN ('VIP', 'MUSIC', 'PRACTICE') AND cs.del_flag_ != 1
         GROUP BY csts.user_id_, csts.group_type_;
   ]]></select>
 
@@ -102,4 +112,4 @@
             </if>
         </where>
     </sql>
-</mapper>
+</mapper>

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

@@ -367,7 +367,7 @@
         select id_ `key`,IF(real_name_ IS NUll,'',real_name_) `value` FROM sys_user s WHERE FIND_IN_SET(id_,#{userIds})
     </select>
     <select id="queryNameByIdList" resultType="java.util.Map">
-        select id_ `key`,IF(real_name_ IS NUll,'',real_name_) `value` FROM sys_user s WHERE id_ IN
+        select id_ `key`,IF(real_name_ IS NUll,username_,real_name_) `value` FROM sys_user s WHERE id_ IN
         <foreach collection="userIds" item="userId" separator="," open="(" close=")">
             #{userId}
         </foreach>
@@ -379,6 +379,13 @@
         </foreach>
     </select>
 
+    <select id="queryNickNameByRole" resultType="java.util.Map">
+        select id_ `key`,IF(username_ IS NUll,real_name_,username_) `value` FROM sys_user s WHERE id_ IN
+        <foreach collection="userIds" item="userId" separator="," open="(" close=")">
+            #{userId}
+        </foreach>
+    </select>
+
     <select id="querySubjectNameByIdList" resultType="java.util.Map">
         select t.id_ `key`,GROUP_CONCAT(s.name_) `value`
         FROM teacher t