浏览代码

Merge remote-tracking branch 'origin/master'

Joburgess 4 年之前
父节点
当前提交
0234bc96a5

+ 5 - 15
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupStudentsDto.java

@@ -54,9 +54,7 @@ public class MusicGroupStudentsDto{
 
     private Boolean isActive = false;
 
-    private Boolean hasVip;
-
-    private Boolean hasPractice;
+    private Boolean hasCourse;
 
     private Integer isLock;
 
@@ -74,20 +72,12 @@ public class MusicGroupStudentsDto{
     @ApiModelProperty(value = "欠费金额",required = false)
     private BigDecimal noPaymentAmount;
 
-    public Boolean getHasVip() {
-        return hasVip;
-    }
-
-    public void setHasVip(Boolean hasVip) {
-        this.hasVip = hasVip;
-    }
-
-    public Boolean getHasPractice() {
-        return hasPractice;
+    public Boolean getHasCourse() {
+        return hasCourse;
     }
 
-    public void setHasPractice(Boolean hasPractice) {
-        this.hasPractice = hasPractice;
+    public void setHasCourse(Boolean hasCourse) {
+        this.hasCourse = hasCourse;
     }
 
     public BigDecimal getNoPaymentAmount() {

+ 6 - 17
mec-biz/src/main/java/com/ym/mec/biz/dal/page/MusicGroupStudentQueryInfo.java

@@ -20,11 +20,8 @@ public class MusicGroupStudentQueryInfo extends QueryInfo {
   @ApiModelProperty(value = "是否激活")
   private Boolean isActive;
 
-  @ApiModelProperty(value = "是否有未开始的vip课")
-  private Boolean hasVip;
-
-  @ApiModelProperty(value = "是否有未开始的网管课")
-  private Boolean hasPractice;
+  @ApiModelProperty(value = "是否有未开始的vip课、网管课")
+  private Boolean hasCourse;
 
   @ApiModelProperty(value = "是否锁定")
   private Integer isLock;
@@ -37,20 +34,12 @@ public class MusicGroupStudentQueryInfo extends QueryInfo {
 
   private boolean isExport = false;
 
-  public Boolean getHasVip() {
-    return hasVip;
-  }
-
-  public void setHasVip(Boolean hasVip) {
-    this.hasVip = hasVip;
-  }
-
-  public Boolean getHasPractice() {
-    return hasPractice;
+  public Boolean getHasCourse() {
+    return hasCourse;
   }
 
-  public void setHasPractice(Boolean hasPractice) {
-    this.hasPractice = hasPractice;
+  public void setHasCourse(Boolean hasCourse) {
+    this.hasCourse = hasCourse;
   }
 
   public boolean getIsExport() {

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/TeacherCloseQueryInfo.java

@@ -4,6 +4,9 @@ import com.ym.mec.common.page.QueryInfo;
 import io.swagger.annotations.ApiModelProperty;
 
 public class TeacherCloseQueryInfo extends QueryInfo {
+    @ApiModelProperty(value = "考勤编号列表")
+    private String teacherAttendanceId;
+
     @ApiModelProperty(value = "教师编号")
     private Integer teacherId;
 
@@ -34,6 +37,14 @@ public class TeacherCloseQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "分部")
     private String organId;
 
+    public String getTeacherAttendanceId() {
+        return teacherAttendanceId;
+    }
+
+    public void setTeacherAttendanceId(String teacherAttendanceId) {
+        this.teacherAttendanceId = teacherAttendanceId;
+    }
+
     public String getCourseScheduleStatus() {
         return courseScheduleStatus;
     }

+ 19 - 35
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentManageServiceImpl.java

@@ -12,6 +12,7 @@ import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.CourseStatusEnum;
 import com.ym.mec.biz.dal.enums.SporadicChargeTypeEnum;
+import com.ym.mec.biz.dal.enums.StudentMusicGroupStatusEnum;
 import com.ym.mec.biz.dal.page.*;
 import com.ym.mec.biz.service.SysConfigService;
 
@@ -421,21 +422,13 @@ public class StudentManageServiceImpl implements StudentManageService {
             return pageInfo;
         }
         List<Integer> userIds = studentRegistrations.stream().map(e -> e.getUserId()).collect(Collectors.toList());
-        if(queryInfo.getHasVip() != null){
+        if(queryInfo.getHasCourse() != null){
             //有剩余课程的学员
-            List<Integer> hasVipStudent = courseScheduleDao.findHasCourseStudent(userIds,"VIP");
-            if(queryInfo.getHasVip()){
-                userIds = hasVipStudent;
+            List<Integer> hasCourseStudent = courseScheduleDao.findHasCourseStudent(userIds,"VIP,PRACTICE");
+            if(queryInfo.getHasCourse()){
+                userIds = hasCourseStudent;
             }else {
-                userIds.removeAll(hasVipStudent);
-            }
-        }
-        if(queryInfo.getHasPractice() != null && userIds.size() > 0){
-            List<Integer> hasPracticeStudent = courseScheduleDao.findHasCourseStudent(userIds,"PRACTICE");
-            if(queryInfo.getHasPractice()){
-                userIds = hasPracticeStudent;
-            }else {
-                userIds.removeAll(hasPracticeStudent);
+                userIds.removeAll(hasCourseStudent);
             }
         }
         if(userIds.size() == 0){
@@ -464,11 +457,9 @@ public class StudentManageServiceImpl implements StudentManageService {
                 }
             }
             List<Integer> collect = dataList.stream().map(e -> e.getUserId()).collect(Collectors.toList());
-            List<Integer> hasVipStudent = courseScheduleDao.findHasCourseStudent(collect,"VIP");
-            List<Integer> hasPracticeStudent = courseScheduleDao.findHasCourseStudent(collect,"PRACTICE");
+            List<Integer> hasCourseStudent = courseScheduleDao.findHasCourseStudent(collect,"VIP,PRACTICE");
             dataList.forEach(e->{
-                e.setHasVip(hasVipStudent.contains(e.getUserId()));
-                e.setHasPractice(hasPracticeStudent.contains(e.getUserId()));
+                e.setHasCourse(hasCourseStudent.contains(e.getUserId()));
                 e.setNoPaymentAmount(totalAmountMap.get(e.getUserId()));
             });
         }
@@ -481,7 +472,7 @@ public class StudentManageServiceImpl implements StudentManageService {
 
     @Override
     public Object musicGroupStudentsSum(String musicGroupId) {
-        Map<String, Object> resultMap = new HashMap<>(3);
+        Map<String, Object> resultMap = new HashMap<>(4);
         //乐团在读人数
         resultMap.put("studying", studentManageDao.countStudyNum(musicGroupId));
         //退团人数
@@ -490,25 +481,18 @@ public class StudentManageServiceImpl implements StudentManageService {
         resultMap.put("add", studentManageDao.countAddNum(musicGroupId));
         //未完成vip、网管课学员数量/该乐团在读学员人数*100%
         List<StudentRegistration> studentRegistrations = studentRegistrationDao.getMusicGroupStu(musicGroupId);
-        if(studentRegistrations.size() == 0){
-            resultMap.put("vipRate","0.00%");
-            resultMap.put("practiceRate","0.00%");
-        }
-        List<Integer> userIds = studentRegistrations.stream().map(e -> e.getUserId()).collect(Collectors.toList());
-        List<Integer> hasVipStudent = courseScheduleDao.findHasCourseStudent(userIds,"VIP");
-        double size = userIds.size()+0d;
-        if(hasVipStudent.size() == 0){
-            resultMap.put("vipRate","0.00%");
-        }else {
-            double d = (hasVipStudent.size() / size) * 100;
-            resultMap.put("vipRate",String.format("%.2f", d) + "%");
+        List<Integer> userIds = studentRegistrations.stream().filter(e -> e.getMusicGroupStatus() != StudentMusicGroupStatusEnum.QUIT).map(StudentRegistration::getUserId).collect(Collectors.toList());
+        if(userIds.size() == 0){
+            resultMap.put("courseRate","0.00%");
+            return resultMap;
         }
-        List<Integer> hasPracticeStudent = courseScheduleDao.findHasCourseStudent(userIds,"PRACTICE");
-        if(hasPracticeStudent.size() == 0){
-            resultMap.put("practiceRate","0.00%");
+        List<Integer> hasCourseStudent = courseScheduleDao.findHasCourseStudent(userIds,"VIP,PRACTICE");
+        double size = userIds.size() + 0d;
+        if(hasCourseStudent.size() == 0){
+            resultMap.put("courseRate","0.00%");
         }else {
-            double d = (hasPracticeStudent.size() / size) * 100;
-            resultMap.put("practiceRate",String.format("%.2f", d) + "%");
+            double d = (hasCourseStudent.size() / size) * 100;
+            resultMap.put("courseRate",String.format("%.2f", d) + "%");
         }
         return resultMap;
     }

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

@@ -3546,7 +3546,7 @@
             #{item}
         </foreach>
         AND CONCAT(cs.class_date_,' ',cs.start_class_time_) > NOW()
-        AND cs.group_type_ = #{groupType}
+        AND FIND_IN_SET(cs.group_type_,#{groupType})
         GROUP BY cssp.user_id_
     </select>
 </mapper>

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

@@ -203,7 +203,7 @@
                 AND FIND_IN_SET(organ_id_,#{organId})
             </if>
             <if test="musicGroupName != null and musicGroupName != ''">
-                AND (name_ LIKE CONCAT('%',#{musicGroupName},'%') or id_ like CONCAT('%',#{musicGroupName},'%'))
+                AND (name_ LIKE CONCAT('%',#{musicGroupName},'%') OR id_ LIKE CONCAT('%',#{musicGroupName},'%'))
             </if>
             <if test="chargeTypeId != null">
                 AND charge_type_id_ = #{chargeTypeId}

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/TeacherAttendanceMapper.xml

@@ -308,6 +308,9 @@
             <if test="organId != null and organId != ''">
                 AND FIND_IN_SET(cs.organ_id_,#{organId})
             </if>
+            <if test="teacherAttendanceId != null and teacherAttendanceId != ''">
+                AND FIND_IN_SET(ta.id_,#{teacherAttendanceId})
+            </if>
         </where>
     </sql>