Browse Source

管乐迷迭代

zouxuan 3 years ago
parent
commit
71cfb71a94

+ 96 - 36
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentVipPracticeExportDto.java

@@ -9,17 +9,109 @@ public class StudentVipPracticeExportDto{
 
     private Integer vipNotStartNum;
 
-    private String vipTeacherIds;
+    private String vipOverTeacherIds;
 
-    private String vipTeacherNames;
+    private String vipOverTeacherNames;
+
+    private String vipNotStartTeacherIds;
+
+    private String vipNotStartTeacherNames;
 
     private Integer practiceOverNum;
 
     private Integer practiceNotStartNum;
 
-    private String practiceTeacherIds;
+    private String practiceOverTeacherIds;
+
+    private String practiceOverTeacherNames;
+
+    private String practiceNotStartTeacherIds;
+
+    private String practiceNotStartTeacherNames;
+
+    private Integer teacherId;
+
+    private String teacherName;
+
+    public String getVipOverTeacherIds() {
+        return vipOverTeacherIds;
+    }
+
+    public void setVipOverTeacherIds(String vipOverTeacherIds) {
+        this.vipOverTeacherIds = vipOverTeacherIds;
+    }
+
+    public String getVipOverTeacherNames() {
+        return vipOverTeacherNames;
+    }
+
+    public void setVipOverTeacherNames(String vipOverTeacherNames) {
+        this.vipOverTeacherNames = vipOverTeacherNames;
+    }
+
+    public String getVipNotStartTeacherIds() {
+        return vipNotStartTeacherIds;
+    }
+
+    public void setVipNotStartTeacherIds(String vipNotStartTeacherIds) {
+        this.vipNotStartTeacherIds = vipNotStartTeacherIds;
+    }
+
+    public String getVipNotStartTeacherNames() {
+        return vipNotStartTeacherNames;
+    }
+
+    public void setVipNotStartTeacherNames(String vipNotStartTeacherNames) {
+        this.vipNotStartTeacherNames = vipNotStartTeacherNames;
+    }
+
+    public String getPracticeOverTeacherIds() {
+        return practiceOverTeacherIds;
+    }
+
+    public void setPracticeOverTeacherIds(String practiceOverTeacherIds) {
+        this.practiceOverTeacherIds = practiceOverTeacherIds;
+    }
+
+    public String getPracticeOverTeacherNames() {
+        return practiceOverTeacherNames;
+    }
+
+    public void setPracticeOverTeacherNames(String practiceOverTeacherNames) {
+        this.practiceOverTeacherNames = practiceOverTeacherNames;
+    }
+
+    public String getPracticeNotStartTeacherIds() {
+        return practiceNotStartTeacherIds;
+    }
+
+    public void setPracticeNotStartTeacherIds(String practiceNotStartTeacherIds) {
+        this.practiceNotStartTeacherIds = practiceNotStartTeacherIds;
+    }
+
+    public String getPracticeNotStartTeacherNames() {
+        return practiceNotStartTeacherNames;
+    }
+
+    public void setPracticeNotStartTeacherNames(String practiceNotStartTeacherNames) {
+        this.practiceNotStartTeacherNames = practiceNotStartTeacherNames;
+    }
+
+    public Integer getTeacherId() {
+        return teacherId;
+    }
+
+    public void setTeacherId(Integer teacherId) {
+        this.teacherId = teacherId;
+    }
+
+    public String getTeacherName() {
+        return teacherName;
+    }
 
-    private String practiceTeacherNames;
+    public void setTeacherName(String teacherName) {
+        this.teacherName = teacherName;
+    }
 
     public Integer getUserId() {
         return userId;
@@ -53,22 +145,6 @@ public class StudentVipPracticeExportDto{
         this.vipNotStartNum = vipNotStartNum;
     }
 
-    public String getVipTeacherIds() {
-        return vipTeacherIds;
-    }
-
-    public void setVipTeacherIds(String vipTeacherIds) {
-        this.vipTeacherIds = vipTeacherIds;
-    }
-
-    public String getVipTeacherNames() {
-        return vipTeacherNames;
-    }
-
-    public void setVipTeacherNames(String vipTeacherNames) {
-        this.vipTeacherNames = vipTeacherNames;
-    }
-
     public Integer getPracticeOverNum() {
         return practiceOverNum;
     }
@@ -84,20 +160,4 @@ public class StudentVipPracticeExportDto{
     public void setPracticeNotStartNum(Integer practiceNotStartNum) {
         this.practiceNotStartNum = practiceNotStartNum;
     }
-
-    public String getPracticeTeacherIds() {
-        return practiceTeacherIds;
-    }
-
-    public void setPracticeTeacherIds(String practiceTeacherIds) {
-        this.practiceTeacherIds = practiceTeacherIds;
-    }
-
-    public String getPracticeTeacherNames() {
-        return practiceTeacherNames;
-    }
-
-    public void setPracticeTeacherNames(String practiceTeacherNames) {
-        this.practiceTeacherNames = practiceTeacherNames;
-    }
 }

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/JobNatureEnum.java

@@ -6,7 +6,8 @@ import com.ym.mec.common.enums.BaseEnum;
 public enum JobNatureEnum implements BaseEnum<String,JobNatureEnum> {
     PART_TIME("PART_TIME","兼职"),
     FULL_TIME("FULL_TIME","全职"),
-    TEMPORARY("TEMPORARY","零时工");
+    TEMPORARY("TEMPORARY","零时工"),
+    LABOUR("LABOUR","劳务");
 
     private String code;
 

+ 18 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ExportServiceImpl.java

@@ -887,6 +887,20 @@ public class ExportServiceImpl implements ExportService {
     @Override
     public void studentVipPractice(Integer organId, ManagerDownload managerDownload) throws FileNotFoundException {
         List<StudentVipPracticeExportDto> studentVipPracticeExportDtos = courseScheduleStudentPaymentDao.exportStudentVipPractice(organId);
+        for (StudentVipPracticeExportDto studentVipPracticeExportDto : studentVipPracticeExportDtos) {
+            String vipOverTeacherIds = studentVipPracticeExportDto.getVipOverTeacherIds();
+            String vipOverTeacherNames = studentVipPracticeExportDto.getVipOverTeacherNames();
+            if(StringUtils.isNotEmpty(vipOverTeacherIds) && vipOverTeacherIds.contains(",")){
+                studentVipPracticeExportDto.setVipOverTeacherIds(vipOverTeacherIds.split(",")[0]);
+                studentVipPracticeExportDto.setVipOverTeacherNames(vipOverTeacherNames.split(",")[0]);
+            }
+            String practiceOverTeacherIds = studentVipPracticeExportDto.getPracticeOverTeacherIds();
+            String practiceOverTeacherNames = studentVipPracticeExportDto.getPracticeOverTeacherNames();
+            if(StringUtils.isNotEmpty(practiceOverTeacherIds) && practiceOverTeacherIds.contains(",")){
+                studentVipPracticeExportDto.setPracticeOverTeacherIds(practiceOverTeacherIds.split(",")[0]);
+                studentVipPracticeExportDto.setPracticeOverTeacherNames(practiceOverTeacherNames.split(",")[0]);
+            }
+        }
 
         String basePath = new ApplicationHome(this.getClass()).getSource().getParentFile().getPath();
         File file = new File(basePath + "/" + managerDownload.getName());
@@ -894,9 +908,10 @@ public class ExportServiceImpl implements ExportService {
 
         HSSFWorkbook workbook = null;
         try {
-            String[] header = {"学员编号", "学生姓名", "VIP已结束课时数", "VIP未开始课时数", "VIP上课老师编号", "VIP上课老师", "网管课已结束课时数", "网管课未开始课时数", "网管课上课老师编号", "网管课上课老师"};
-            String[] body = {"userId", "username", "vipOverNum", "vipNotStartNum", "vipTeacherIds", "vipTeacherNames"
-                    , "practiceOverNum", "practiceNotStartNum", "practiceTeacherIds", "practiceTeacherNames"};
+            String[] header = {"学员编号", "学生姓名", "VIP已结束课时数", "VIP未开始课时数", "已结束VIP上课老师编号", "已结束VIP上课老师",
+                    "网管课已结束课时数", "网管课未开始课时数", "已结束网管课上课老师编号", "已结束网管课上课老师", "指导老师编号", "指导老师"};
+            String[] body = {"userId", "username", "vipOverNum", "vipNotStartNum", "vipOverTeacherIds", "vipOverTeacherNames"
+                    , "practiceOverNum", "practiceNotStartNum", "practiceOverTeacherIds", "practiceOverTeacherNames","teacherId","teacherName"};
             workbook = POIUtil.exportExcel(header, body, studentVipPracticeExportDtos);
             workbook.write(fileOutputStream);
             fileOutputStream.getFD().sync();

+ 0 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/GroupClassServiceImpl.java

@@ -173,9 +173,6 @@ public class GroupClassServiceImpl implements GroupClassService {
             if (!practiceGroup.getGroupStatus().equals(GroupStatusEnum.NORMAL) || practiceGroup.getCoursesExpireDate().before(now)) {
                 throw new BizException("当前课程组不可关闭");
             }
-            if(Objects.isNull(returnFeeDto.getAmount())){
-                throw new BizException("请确定退费金额");
-            }
             if (Objects.nonNull(returnFeeDto.getAmount()) && returnFeeDto.getAmount().compareTo(BigDecimal.ZERO) > 0) {
                 Map<String, BigDecimal> studentSurplusCourseFee = practiceGroupService.getStudentSurplusCourseFee(groupId);
                 BigDecimal suplusCourseFee = studentSurplusCourseFee.get("suplusCourseOriginalFee");

+ 17 - 9
mec-biz/src/main/resources/config/mybatis/CourseScheduleStudentPaymentMapper.xml

@@ -848,27 +848,35 @@
 		<result property="username" column="username_"/>
 		<result property="vipOverNum" column="vip_over_num_"/>
 		<result property="vipNotStartNum" column="vip_not_start_num_"/>
-		<result property="vipTeacherIds" column="vip_teacher_ids_"/>
-		<result property="vipTeacherNames" column="vip_teacher_names_"/>
+		<result property="vipOverTeacherIds" column="vip_over_teacher_ids_"/>
+		<result property="vipOverTeacherNames" column="vip_over_teacher_names_"/>
+		<result property="vipNotStartTeacherIds" column="vip_not_start_teacher_ids_"/>
+		<result property="vipNotStartTeacherNames" column="vip_not_start_teacher_names_"/>
 		<result property="practiceOverNum" column="practice_over_num_"/>
 		<result property="practiceNotStartNum" column="practice_not_start_num_"/>
-		<result property="practiceTeacherIds" column="practice_teacher_ids_"/>
-		<result property="practiceTeacherNames" column="practice_teacher_names_"/>
+		<result property="practiceOverTeacherIds" column="practice_over_teacher_ids_"/>
+		<result property="practiceOverTeacherNames" column="practice_over_teacher_names_"/>
+		<result property="practiceNotStartTeacherIds" column="practice_not_start_teacher_ids_"/>
+		<result property="practiceNotStartTeacherNames" column="practice_not_start_teacher_names_"/>
+		<result property="teacherId" column="teacher_id_"/>
+		<result property="teacherName" column="real_name_"/>
 	</resultMap>
 	<select id="exportStudentVipPractice" resultMap="StudentVipPracticeExportDto">
 		SELECT s.user_id_,su.username_,
 		COUNT(CASE WHEN cssp.group_type_ = 'VIP' AND cs.status_ != 'NOT_START' THEN 1 ELSE NULL END) vip_over_num_,
 		COUNT(CASE WHEN cssp.group_type_ = 'VIP' AND cs.status_ = 'NOT_START' THEN 1 ELSE NULL END) vip_not_start_num_,
-		GROUP_CONCAT(DISTINCT (CASE WHEN cssp.group_type_ = 'VIP' THEN sut.id_ ELSE NULL END)) vip_teacher_ids_,
-		GROUP_CONCAT(DISTINCT (CASE WHEN cssp.group_type_ = 'VIP' THEN sut.real_name_ ELSE NULL END)) vip_teacher_names_,
+		GROUP_CONCAT(DISTINCT (CASE WHEN cssp.group_type_ = 'VIP' AND cs.status_ != 'NOT_START' THEN sut.id_ ELSE NULL END) ORDER BY cs.class_date_,start_class_time_ DESC) vip_over_teacher_ids_,
+		GROUP_CONCAT(DISTINCT (CASE WHEN cssp.group_type_ = 'VIP' AND cs.status_ != 'NOT_START' THEN sut.real_name_ ELSE NULL END) ORDER BY cs.class_date_,start_class_time_ DESC) vip_over_teacher_names_,
 		COUNT(CASE WHEN cssp.group_type_ = 'PRACTICE' AND cs.status_ != 'NOT_START' THEN 1 ELSE NULL END) practice_over_num_,
 		COUNT(CASE WHEN cssp.group_type_ = 'PRACTICE' AND cs.status_ = 'NOT_START' THEN 1 ELSE NULL END) practice_not_start_num_,
-		GROUP_CONCAT(DISTINCT (CASE WHEN cssp.group_type_ = 'PRACTICE' THEN sut.id_ ELSE NULL END)) practice_teacher_ids_,
-		GROUP_CONCAT(DISTINCT (CASE WHEN cssp.group_type_ = 'PRACTICE' THEN sut.real_name_ ELSE NULL END)) practice_teacher_names_
+		GROUP_CONCAT(DISTINCT (CASE WHEN cssp.group_type_ = 'PRACTICE' AND cs.status_ != 'NOT_START' THEN sut.id_ ELSE NULL END) ORDER BY cs.class_date_,start_class_time_ DESC) practice_over_teacher_ids_,
+		GROUP_CONCAT(DISTINCT (CASE WHEN cssp.group_type_ = 'PRACTICE' AND cs.status_ != 'NOT_START' THEN sut.real_name_ ELSE NULL END) ORDER BY cs.class_date_,start_class_time_ DESC) practice_over_teacher_names_,
+		s.teacher_id_,ste.real_name_
 		FROM student s
-		LEFT JOIN sys_user su ON s.user_id_ = su.id_
 		LEFT JOIN course_schedule_student_payment cssp FORCE INDEX(group_type_) ON cssp.user_id_ = s.user_id_
 		LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_
+		LEFT JOIN sys_user su ON s.user_id_ = su.id_
+		LEFT JOIN sys_user ste ON s.teacher_id_ = ste.id_
 		LEFT JOIN sys_user sut ON cs.actual_teacher_id_ = sut.id_
 		WHERE cssp.group_type_ IN ('VIP','PRACTICE')
 		<if test="organId != null">