Browse Source

Merge remote-tracking branch 'origin/master_saas' into master_saas

hgw 3 years ago
parent
commit
7e13ed9ff9

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentPaymentOrderExportDto.java

@@ -169,7 +169,8 @@ public class StudentPaymentOrderExportDto extends StudentPaymentOrder {
         RETAIL_GOODS("RETAIL_GOODS", "零售乐器/辅件/乐保"),
         COURSE_SCHOOL_BUY("COURSE_SCHOOL_BUY", "课程学校采买"),
         COURSE_STUDENT_BUY("COURSE_STUDENT_BUY", "课程家长采买"),
-        LARGE_MUSICAL("LARGE_MUSICAL", "大件乐器");
+        LARGE_MUSICAL("LARGE_MUSICAL", "大件乐器"),
+        OTHER("OTHER", "其他");
 
         private String code;
 

+ 37 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentVisit.java

@@ -74,6 +74,29 @@ public class StudentVisit extends BaseEntity {
             return this.code;
         }
     }
+    public enum FeedbackTypeDescEnum implements BaseEnum<String,FeedbackTypeDescEnum> {
+        PRICE("价格原因"), TIME("时间原因"),
+        TEACHING("教学不满意"), OTHER("其他");
+
+        private String msg;
+
+        FeedbackTypeDescEnum(String msg) {
+            this.msg = msg;
+        }
+
+        public String getMsg() {
+            return msg;
+        }
+
+        public void setMsg(String msg) {
+            this.msg = msg;
+        }
+
+        @Override
+        public String getCode() {
+            return this.msg;
+        }
+    }
 
     private Integer id;
 
@@ -135,6 +158,12 @@ public class StudentVisit extends BaseEntity {
     private FeedbackTypeEnum feedbackType;
 
     /**
+     * 家长反馈类型
+     */
+    @ApiModelProperty(value = "家长反馈类型明细", required = true)
+    private FeedbackTypeDescEnum feedbackTypeDesc;
+
+    /**
      * 家长反馈
      */
     @ApiModelProperty(value = "家长反馈", required = true)
@@ -154,6 +183,14 @@ public class StudentVisit extends BaseEntity {
 
     private Long objectId;
 
+    public FeedbackTypeDescEnum getFeedbackTypeDesc() {
+        return feedbackTypeDesc;
+    }
+
+    public void setFeedbackTypeDesc(FeedbackTypeDescEnum feedbackTypeDesc) {
+        this.feedbackTypeDesc = feedbackTypeDesc;
+    }
+
     public FeedbackTypeEnum getFeedbackType() {
         return feedbackType;
     }

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

@@ -39,6 +39,17 @@ public class StudentVisitQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "家长回访类型(\"THINKING\", \"考虑中\"),(\"PENDING_PAYMENT\", \"确认缴费待缴费\"),(\"LOST\", \"流失\"),(\"PAUSE\", \"暂停\"),(\"OTHER\", \"其他\")", required = false)
     private String feedbackType;
 
+    @ApiModelProperty(value = "PRICE(\"价格原因\"), TIME(\"时间原因\"),TEACHING(\"教学不满意\"), OTHER(\"其他\");", required = false)
+    private String feedbackTypeDesc;
+
+    public String getFeedbackTypeDesc() {
+        return feedbackTypeDesc;
+    }
+
+    public void setFeedbackTypeDesc(String feedbackTypeDesc) {
+        this.feedbackTypeDesc = feedbackTypeDesc;
+    }
+
     public String getFeedbackType() {
         return feedbackType;
     }

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/DegreeRegistrationServiceImpl.java

@@ -497,7 +497,7 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
                     DegreeRegistrationService.ACTIVITY_TAG,degreeRegistration.getDegreeType(),StringUtils.join(collect1,",")
                     ,null,2,degreeRegistration.getSubject());
             if(!CollectionUtils.isEmpty(userLevelDegrees)){
-                return BaseController.failed(HttpStatus.CREATED, "您选择的 " + collect.get(0).getLevel() +  " 乐器考级已报名,请勿重复选择");
+                return BaseController.failed(HttpStatus.CREATED, "您选择的 " + userLevelDegrees.get(0).getLevel() +  " 乐器考级已报名,请勿重复选择");
             }
         }
         collect = registrationDtos.stream().filter(e -> e.getType() == 2).collect(Collectors.toList());
@@ -506,7 +506,7 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
             List<DegreeRegistration> userLevelDegrees = degreeRegistrationDao.getUserLevelDegrees(degreeRegistration.getUserId(),
                     DegreeRegistrationService.ACTIVITY_TAG,degreeRegistration.getDegreeType(),null,StringUtils.join(collect1,","),2,null);
             if(!CollectionUtils.isEmpty(userLevelDegrees)){
-                return BaseController.failed(HttpStatus.CREATED, "您选择的 " + collect.get(0).getLevel() +  " 乐理考级已报名,请勿重复选择");
+                return BaseController.failed(HttpStatus.CREATED, "您选择的 " + userLevelDegrees.get(0).getLevel() +  " 乐理考级已报名,请勿重复选择");
             }
         }
         return BaseController.succeed();

+ 26 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ExportServiceImpl.java

@@ -1827,6 +1827,9 @@ public class ExportServiceImpl implements ExportService {
                 row.setVipCourseFee(row.getActualAmount());
             }else if(row.getGroupType() == GroupType.MEMBER){
                 row.setCloudTeacherFee(row.getActualAmount());
+                if(row.getTypeDesc() == null){
+                    row.setTypeDesc(StudentPaymentOrderExportDto.TypeDesc.OTHER);
+                }
             } else if (row.getGroupType().equals(GroupType.SPORADIC)) {
                 //考级报名
                 if (row.getType().equals(OrderTypeEnum.DEGREE_REGISTRATION)) {
@@ -1874,6 +1877,9 @@ public class ExportServiceImpl implements ExportService {
                         row.setSporadicType(chargeType.getMsg());
                     }
                 }
+                if(row.getTypeDesc() == null){
+                    row.setTypeDesc(StudentPaymentOrderExportDto.TypeDesc.OTHER);
+                }
             } else if (row.getGroupType().equals(GroupType.PRACTICE)) {
                 row.setPracticeCourseFee(row.getActualAmount());
                 PracticeCourseDto practiceGroup = practiceGroupDao.findByGroupId(Integer.parseInt(row.getMusicGroupId()));
@@ -1987,6 +1993,13 @@ public class ExportServiceImpl implements ExportService {
                         row.setPlatformFee(BigDecimal.ZERO);
                     }
                 }
+                if(row.getTypeDesc() == null){
+                    if(row.getGroupType().equals(GroupType.SUBJECT_CHANGE)){
+                        row.setTypeDesc(StudentPaymentOrderExportDto.TypeDesc.NEW_MUSIC);
+                    }else if(row.getGroupType().equals(GroupType.REPAIR)){
+                        row.setTypeDesc(StudentPaymentOrderExportDto.TypeDesc.REPAIR);
+                    }
+                }
             }
             //如果合作单位不存在取学员的第一个乐团的合作单位,乐团主管
             if (row.getCooperationOrganName() == null) {
@@ -2379,15 +2392,6 @@ public class ExportServiceImpl implements ExportService {
 						serviceChargeMap.put(row.getOrderNo(), transferFee.add(currentFee));
 					}
 				}
-                
-                /*if (countFeeFlagNum.getTotalNum() > countFeeFlagNum.getYesNum() && row.getFeeFlag().equals("Y")) {
-                    transferFee = row.getActualAmount().multiply(new BigDecimal("0.28")).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP);
-                }
-                if (countFeeFlagNum.getTotalNum().equals(countFeeFlagNum.getYesNum())) {
-                    BigDecimal totalTransferFee = row.getActualAmount().multiply(new BigDecimal("0.28")).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP);
-                    transferFee = totalTransferFee.multiply(row.getRouteAmount()).divide(row.getActualAmount(), 2, BigDecimal.ROUND_HALF_UP);
-                }*/
-                
             }
             row.setTransferFee(currentFee);
             row.setPlatformFee(row.getActualAmount().multiply(tenantConfig.getChargeRate()).divide(new BigDecimal(1000), 2, BigDecimal.ROUND_HALF_UP));
@@ -2578,6 +2582,9 @@ public class ExportServiceImpl implements ExportService {
                         row.setSporadicType(chargeType.getMsg());
                     }
                 }
+                if(row.getTypeDesc() == null){
+                    row.setTypeDesc(StudentPaymentOrderExportDto.TypeDesc.OTHER);
+                }
             } else if (row.getGroupType().equals(GroupType.PRACTICE)) {
                 row.setPracticeCourseFee(row.getActualAmount());
                 PracticeCourseDto practiceGroup = practiceGroupDao.findByGroupId(Integer.parseInt(row.getMusicGroupId()));
@@ -2587,6 +2594,9 @@ public class ExportServiceImpl implements ExportService {
                 }
             } else if (row.getGroupType().equals(GroupType.MEMBER)) {
                 row.setCloudTeacherFee(row.getActualAmount());
+                if(row.getTypeDesc() == null){
+                    row.setTypeDesc(StudentPaymentOrderExportDto.TypeDesc.OTHER);
+                }
             } else if (row.getGroupType().equals(GroupType.REPLACEMENT)) {
                 row.setMusicalFee(row.getActualAmount());
                 ReplacementInstrumentActivityStatDto info = replacementInstrumentActivityDao.getInfo(Integer.parseInt(row.getMusicGroupId()));
@@ -2622,6 +2632,13 @@ public class ExportServiceImpl implements ExportService {
                     row.setTransferFee(BigDecimal.ZERO);
                     row.setPlatformFee(BigDecimal.ZERO);
                 }
+                if(row.getTypeDesc() == null){
+                    if(row.getGroupType().equals(GroupType.SUBJECT_CHANGE)){
+                        row.setTypeDesc(StudentPaymentOrderExportDto.TypeDesc.NEW_MUSIC);
+                    }else if(row.getGroupType().equals(GroupType.REPAIR)){
+                        row.setTypeDesc(StudentPaymentOrderExportDto.TypeDesc.REPAIR);
+                    }
+                }
             }
             //如果合作单位不存在取学员的第一个乐团的合作单位和教学点
             if (row.getCooperationOrganName() == null) {

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

@@ -168,7 +168,7 @@ public class ExtracurricularExercisesReplyServiceImpl extends BaseServiceImpl<Lo
 			throw new BizException("作业不存在");
 		}
 		Date now=new Date();
-		if (DateUtil.daysBetween(extracurricularExercises.getCreateTime(), now)>=14){
+		if (DateUtil.daysBetween(extracurricularExercises.getCreateTime(), now) >= 7){
 			throw new BizException("该作业已超出可提交时间范围,无法提交作业。");
 		}
 		existExtra.setAttachments(extracurricularExercisesReply.getAttachments());

+ 8 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ExtracurricularExercisesServiceImpl.java

@@ -267,6 +267,9 @@ public class ExtracurricularExercisesServiceImpl extends BaseServiceImpl<Long, E
 						}else if(noRepliedNum<=0&&notSubmitNum<=0){
 							homeworkListDto.setStatus(3);
 						}
+						if(homeworkListDto.getIsSubmit() == 0){
+							homeworkListDto.setIsReplied(0);
+						}
 					}
 					dataList.addAll(byIdList);
 				}
@@ -300,12 +303,16 @@ public class ExtracurricularExercisesServiceImpl extends BaseServiceImpl<Long, E
 						}else if(noRepliedNum<=0&&notSubmitNum<=0){
 							teacherHomeworkListDto.setStatus(3);
 						}
+						if(teacherHomeworkListDto.getIsSubmit() == 0){
+							teacherHomeworkListDto.setIsReplied(0);
+						}
 					}
 					dataList.addAll(byIdList);
 				}
 			}
 			dataList.removeAll(Collections.singleton(null));
-			dataList = dataList.stream().sorted(Comparator.comparing(TeacherHomeworkListDto::getDay).reversed()).collect(Collectors.toList());
+			dataList = dataList.stream().sorted(Comparator.comparing(TeacherHomeworkListDto::getDay).reversed()).
+					sorted(Comparator.comparing(TeacherHomeworkListDto::getIsReplied)).collect(Collectors.toList());
 			pageInfo.setRows(dataList);
 		}
 		return pageInfo;

+ 16 - 30
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentCourseHomeworkServiceImpl.java

@@ -16,6 +16,8 @@ import java.util.Objects;
 import java.util.Set;
 import java.util.stream.Collectors;
 
+import com.ym.mec.biz.dal.dao.*;
+import com.ym.mec.biz.dal.entity.*;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -24,21 +26,6 @@ import org.springframework.util.CollectionUtils;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.dao.ClassGroupDao;
-import com.ym.mec.biz.dal.dao.CourseHomeworkDao;
-import com.ym.mec.biz.dal.dao.CourseScheduleDao;
-import com.ym.mec.biz.dal.dao.CourseScheduleReviewDao;
-import com.ym.mec.biz.dal.dao.ExtracurricularExercisesReplyDao;
-import com.ym.mec.biz.dal.dao.MusicGroupDao;
-import com.ym.mec.biz.dal.dao.PracticeGroupDao;
-import com.ym.mec.biz.dal.dao.StudentCourseHomeworkDao;
-import com.ym.mec.biz.dal.dao.StudentDao;
-import com.ym.mec.biz.dal.dao.StudentRegistrationDao;
-import com.ym.mec.biz.dal.dao.SubjectDao;
-import com.ym.mec.biz.dal.dao.SysConfigDao;
-import com.ym.mec.biz.dal.dao.SysMusicScoreDao;
-import com.ym.mec.biz.dal.dao.TeacherDao;
-import com.ym.mec.biz.dal.dao.VipGroupDao;
 import com.ym.mec.biz.dal.dto.CourseHomeworkDto;
 import com.ym.mec.biz.dal.dto.CourseHomeworkStudentDetailDto;
 import com.ym.mec.biz.dal.dto.EduHomeworkCardDto;
@@ -47,21 +34,7 @@ import com.ym.mec.biz.dal.dto.SimpleUserDto;
 import com.ym.mec.biz.dal.dto.StudentCourseHomeworkDto;
 import com.ym.mec.biz.dal.dto.StudentHomeworkRecordDto;
 import com.ym.mec.biz.dal.dto.StudentVisitCourseHomeWorkDto;
-import com.ym.mec.biz.dal.entity.ClassGroup;
-import com.ym.mec.biz.dal.entity.CourseHomework;
-import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
-import com.ym.mec.biz.dal.entity.CourseScheduleReview;
-import com.ym.mec.biz.dal.entity.MusicGroup;
-import com.ym.mec.biz.dal.entity.MusicGroupTrainPlan;
-import com.ym.mec.biz.dal.entity.MusicGroupTrainPlanSaveDto;
-import com.ym.mec.biz.dal.entity.PracticeGroup;
-import com.ym.mec.biz.dal.entity.Student;
-import com.ym.mec.biz.dal.entity.StudentCourseHomework;
-import com.ym.mec.biz.dal.entity.StudentRegistration;
-import com.ym.mec.biz.dal.entity.Subject;
-import com.ym.mec.biz.dal.entity.SysMusicScore;
-import com.ym.mec.biz.dal.entity.VipGroup;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 import com.ym.mec.biz.dal.enums.MusicGroupStatusEnum;
@@ -129,6 +102,8 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
     private SysMusicScoreDao sysMusicScoreDao;
     @Autowired
 	private MusicGroupTrainPlanService musicGroupTrainPlanService;
+    @Autowired
+	private StudentExtracurricularExercisesSituationDao studentExtracurricularExercisesSituationDao;
 
     @Override
     public BaseDAO<Long, StudentCourseHomework> getDAO() {
@@ -165,7 +140,18 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
             throw new BizException("作业不存在");
         }
         Date now = new Date();
-        if (DateUtil.daysBetween(existHomework.getCreateTime(), now) >= 14) {
+        //若下周有服务指标课程,则在课程开始当天不可提交
+        List<StudentExtracurricularExercisesSituation> exercisesSituations = studentExtracurricularExercisesSituationDao.findServiceWithCourse(
+                DateUtil.format(DateUtil.addDays(DateUtil.getLastDayOfMonth(now), 1), DateUtil.ISO_EXPANDED_DATE_FORMAT),
+                existHomework.getCourseScheduleId());
+        if(!CollectionUtils.isEmpty(exercisesSituations)){
+            CourseSchedule courseSchedule = courseScheduleDao.get(existHomework.getCourseScheduleId());
+            int i = courseSchedule.getClassDate().compareTo(DateUtil.stringToDate(DateUtil.format(now, DateUtil.ISO_EXPANDED_DATE_FORMAT), DateUtil.ISO_EXPANDED_DATE_FORMAT));
+            if(i <= 0){
+                throw new BizException("该作业已超出可提交时间范围,无法提交作业。");
+            }
+        }
+        if (DateUtil.daysBetween(existHomework.getCreateTime(), now) >= 7) {
             throw new BizException("该作业已超出可提交时间范围,无法提交作业。");
         }
 

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

@@ -106,7 +106,7 @@
 
 	<delete id="deleteWithMonthAndType">
 		DELETE FROM index_base_month_data
-		WHERE tenant_id_ = #{tenantId} and DATE_FORMAT(month_, '%Y-%m-%d') IN
+		WHERE tenant_id_ = #{tenantId} AND month_ IN
 		<foreach collection="months" item="month" open="(" close=")" separator=",">
 			#{month}
 		</foreach>

+ 7 - 2
mec-biz/src/main/resources/config/mybatis/StudentVisitMapper.xml

@@ -21,11 +21,12 @@
         <result column="object_id_" property="objectId"/>
         <result column="tenant_id_" property="tenantId"/>
         <result column="feedback_type_" property="feedbackType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="feedback_type_desc_" property="feedbackTypeDesc" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
     </resultMap>
     <sql id="Base_Column_List">
         <!--@mbg.generated-->
         id_, music_group_id_, organ_id_, student_id_, teacher_id_, visiter_type_, type_, purpose_, overview_, feedback_,
-        visit_time_, create_time_,tenant_id_,feedback_type_
+        visit_time_, create_time_,tenant_id_,feedback_type_,feedback_type_desc_
     </sql>
     <select id="get" parameterType="java.lang.Integer" resultMap="StudentVisit">
         select
@@ -41,12 +42,13 @@
     <insert id="insert" keyColumn="id_" keyProperty="id" parameterType="com.ym.mec.biz.dal.entity.StudentVisit"
             useGeneratedKeys="true">
         <!--@mbg.generated-->
-        insert into student_visit (music_group_id_, organ_id_, student_id_, teacher_id_, visiter_type_, feedback_type_,
+        insert into student_visit (music_group_id_, organ_id_, student_id_, teacher_id_, visiter_type_, feedback_type_,feedback_type_desc_,
         type_, purpose_, overview_,
         feedback_, visit_time_, create_time_,object_id_,tenant_id_)
         values (#{musicGroupId,jdbcType=VARCHAR}, #{organId,jdbcType=INTEGER}, #{studentId,jdbcType=INTEGER},
         #{teacherId,jdbcType=INTEGER},#{visiterType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
                 #{feedbackType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+                #{feedbackTypeDesc,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
         #{type,jdbcType=VARCHAR}, #{purpose,jdbcType=VARCHAR}, #{overview,jdbcType=VARCHAR},
         #{feedback,jdbcType=VARCHAR}, #{visitTime}, #{createTime},#{objectId},#{tenantId})
     </insert>
@@ -133,6 +135,9 @@
             <if test="feedbackType != null and feedbackType != ''">
                 AND sv.feedback_type_ = #{feedbackType}
             </if>
+            <if test="feedbackTypeDesc != null and feedbackTypeDesc != ''">
+                AND sv.feedback_type_desc_ = #{feedbackTypeDesc}
+            </if>
             <if test="purpose != null">
                 AND sv.purpose_ = #{purpose}
             </if>

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

@@ -172,14 +172,14 @@
 	<select id="queryPage" parameterType="map" resultMap="message">
 		select m.* from sys_message m
 		<include refid="queryCondition" />
-		order by m.create_on_ desc
+		order by m.read_status_,m.create_on_ desc
 		<include refid="global.limit" />
 	</select>
 
 	<select id="queryListPage" parameterType="map" resultMap="messageDto">
 		select m.*,u.username_ from sys_message m left join sys_user u on m.user_id_ = u.id_
 		<include refid="queryCondition" />
-		order by m.create_on_ desc
+		order by m.read_status_,m.create_on_ desc
 		<include refid="global.limit" />
 	</select>
 

+ 9 - 11
mec-student/src/main/java/com/ym/mec/student/controller/StudentCourseHomeworkReplyController.java

@@ -1,18 +1,19 @@
 package com.ym.mec.student.controller;
 
-import com.netflix.discovery.converters.Auto;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.CourseScheduleDao;
-import com.ym.mec.biz.dal.dao.ExtracurricularExercisesDao;
-import com.ym.mec.biz.dal.dao.ExtracurricularExercisesReplyDao;
 import com.ym.mec.biz.dal.dao.StudentCourseHomeworkDao;
-import com.ym.mec.biz.dal.entity.*;
+import com.ym.mec.biz.dal.entity.CourseSchedule;
+import com.ym.mec.biz.dal.entity.ExtracurricularExercisesMessage;
+import com.ym.mec.biz.dal.entity.StudentCourseHomework;
+import com.ym.mec.biz.dal.entity.StudentCourseHomeworkReply;
 import com.ym.mec.biz.dal.page.StudentCourseHomeworkReplyQueryInfo;
 import com.ym.mec.biz.service.ExtracurricularExercisesMessageService;
 import com.ym.mec.biz.service.StudentCourseHomeworkReplyService;
 import com.ym.mec.biz.service.StudentServeService;
 import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.exception.BizException;
 import com.yonge.log.model.AuditLogAnnotation;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -47,10 +48,6 @@ public class StudentCourseHomeworkReplyController extends BaseController {
     private StudentServeService studentServeService;
     @Autowired
     private CourseScheduleDao courseScheduleDao;
-    @Autowired
-    private ExtracurricularExercisesReplyDao extracurricularExercisesReplyDao;
-    @Autowired
-    private ExtracurricularExercisesDao extracurricularExercisesDao;
 
     @ApiOperation(value = "新增回复")
     @PostMapping("/add")
@@ -72,14 +69,12 @@ public class StudentCourseHomeworkReplyController extends BaseController {
         if (sysUser == null) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
-        Integer teacherId = null;
         if(!studentCourseHomeworkReply.isExtra()){
             studentCourseHomeworkReply.setUserId(sysUser.getId());
             studentCourseHomeworkReplyService.insert(studentCourseHomeworkReply);
             StudentCourseHomework studentCourseHomework = studentCourseHomeworkDao.get(studentCourseHomeworkReply.getStudentCourseHomeworkId());
             CourseSchedule courseSchedule = courseScheduleDao.get(studentCourseHomework.getCourseScheduleId());
-            teacherId=courseSchedule.getActualTeacherId();
-            studentServeService.updateExercisesSituation(courseSchedule.getClassDate(), new ArrayList<>(Arrays.asList(sysUser.getId())), teacherId);
+            studentServeService.updateExercisesSituation(courseSchedule.getClassDate(), new ArrayList<>(Arrays.asList(sysUser.getId())), courseSchedule.getActualTeacherId());
         }else{
             ExtracurricularExercisesMessage extracurricularExercisesMessage=new ExtracurricularExercisesMessage();
             extracurricularExercisesMessage.setExtracurricularExercisesReplyId(studentCourseHomeworkReply.getStudentCourseHomeworkId());
@@ -101,6 +96,9 @@ public class StudentCourseHomeworkReplyController extends BaseController {
     @ApiOperation(value = "回复查询-公用")
     @PostMapping("/queryPagePublic")
     public Object queryPagePublic(@RequestBody StudentCourseHomeworkReplyQueryInfo queryInfo){
+        if(queryInfo.getStudentCourseHomeworkId() == null){
+            throw new BizException("参数校验异常");
+        }
         if(!queryInfo.isExtra()){
             return succeed(studentCourseHomeworkReplyService.queryPage(queryInfo));
         }else{

+ 3 - 0
mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -1822,6 +1822,9 @@ public class ExportController extends BaseController {
         map.put("六级","6");map.put("七级","7");map.put("八级","8");map.put("九级","9");map.put("十级","10");
         for (DegreeRegistration row : pageList.getRows()) {
             row.setActivityTag(map.get(row.getLevel()));
+            if(row.getType() == 2){
+                row.setSubject("乐理");
+            }
         }
         OutputStream outputStream = response.getOutputStream();
         try {

+ 9 - 5
mec-web/src/main/java/com/ym/mec/web/controller/StudentStatisticsController.java

@@ -64,9 +64,12 @@ public class StudentStatisticsController extends BaseController {
     @ApiOperation(value = "小课学员管理汇总")
     @GetMapping("/studentSmallClassStatisticsSum")
     @PreAuthorize("@pcs.hasPermissions('studentStatistics/studentSmallClassStatisticsSum')")
-    @ApiImplicitParam(name = "groupType", value = "VIP、THEORY、PRACTICE", required = true, dataType = "String")
-    public HttpResponseResult<StudentStatisticsSumDto> studentSmallClassStatisticsSum(String groupType) {
-        return succeed(studentStatisticsService.studentSmallClassStatisticsSum(groupType,organizationService.getEmployeeOrgan(null)));
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "groupType", value = "VIP、THEORY、PRACTICE", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "organId", value = "分部", dataType = "String"),
+    })
+    public HttpResponseResult<StudentStatisticsSumDto> studentSmallClassStatisticsSum(String groupType,String organId) {
+        return succeed(studentStatisticsService.studentSmallClassStatisticsSum(groupType,organizationService.getEmployeeOrgan(organId)));
     }
 
     @ApiOperation(value = "小课学员管理按时间汇总")
@@ -75,10 +78,11 @@ public class StudentStatisticsController extends BaseController {
             @ApiImplicitParam(name = "groupType", value = "VIP、THEORY、PRACTICE", required = true, dataType = "String"),
             @ApiImplicitParam(name = "startDate", value = "开始时间-年月日", dataType = "String"),
             @ApiImplicitParam(name = "endDate", value = "结束时间-年月日", dataType = "String"),
+            @ApiImplicitParam(name = "organId", value = "分部", dataType = "String"),
     })
     @PreAuthorize("@pcs.hasPermissions('studentStatistics/studentSmallClassStatisticsSumForDate')")
-    public HttpResponseResult<StudentStatisticsSumForDateDto> studentSmallClassStatisticsSumForDate(String groupType, String startDate, String endDate) {
-        return succeed(studentStatisticsService.studentSmallClassStatisticsSumForDate(groupType,startDate,endDate,organizationService.getEmployeeOrgan(null)));
+    public HttpResponseResult<StudentStatisticsSumForDateDto> studentSmallClassStatisticsSumForDate(String groupType, String startDate, String endDate,String organId) {
+        return succeed(studentStatisticsService.studentSmallClassStatisticsSumForDate(groupType,startDate,endDate,organizationService.getEmployeeOrgan(organId)));
     }
 
     @ApiOperation(value = "获取指导老师列表")

+ 4 - 4
mec-web/src/main/resources/exportColumnMapper.ini

@@ -111,11 +111,11 @@ headColumns = ["用户编号", "用户名", "手机号", "课程类型", "实际
 fieldColumns = ["userId", "username", "phone", "type.msg", "name", "actualSalary", "subsidy", "settlementTime", "teacherRole.msg"]
 
 [订单列表导出1]
-headColumns = ["序号", "学生编号", "学生姓名", "交易流水号", "订单编号", "收款渠道", "收款账户", "订单金额", "应付金额", "现金支付", "余额支付", "优惠金额", "课程家长采买","课程学校采买", "VIP课", "网管课", "乐理课", "考级", "维修费用", "乐保费用", "团练宝", "押金", "乐器", "教辅费用", "上门费","账户充值", "零售乐器","大件乐器", "其它", "汇付手续费","平台手续费", "到账时间","关联乐团ID/VIP课ID","课程形态","课程形态描述","收费乐团编号","收费乐团","零星收款类别", "专业", "分部", "教学点", "合作单位", "乐团主管", "备注"]
+headColumns = ["序号", "学生编号", "学生姓名", "交易流水号", "订单编号", "收款渠道", "收款账户", "订单金额", "应付金额", "现金支付", "余额支付", "优惠金额", "课程家长采买","课程学校采买", "VIP课", "网管课", "乐理课", "考级", "维修费用", "乐保费用", "团练宝", "押金", "乐器", "教辅费用", "上门费","账户充值", "零售乐器","大件乐器", "其它", "汇付手续费","平台手续费", "到账时间","关联乐团ID/VIP课ID","课程形态","类型","收费乐团编号","收费乐团","零星收款类别", "专业", "分部", "教学点", "合作单位", "乐团主管", "备注"]
 fieldColumns = ["id", "userId", "user.username", "transNo", "orderNo", "paymentChannel", "merNos", "orderAmount", "expectAmount", "actualAmount","balancePaymentAmount","couponRemitFee","musicGroupCourseFee","courseSchoolBuyAmount", "vipCourseFee", "practiceCourseFee", "theoryCourseFee", "degreeFee", "repairFee", "maintenanceFee", "cloudTeacherFee","leaseFee", "musicalFee", "teachingFee", "visitFee", "rechargeFee","retailGoodsFee","largeMusicalFee", "otherFee", "transferFee", "platformFee", "payTime", "musicGroupId","groupType.desc","typeDesc.msg","feeMusicGroupId","feeMusicGroupName", "sporadicType", "subjectName", "organName", "schoolName", "cooperationOrganName", "eduTeacher", "memo"]
 
 [订单列表导出2]
-headColumns = ["序号", "学生编号", "学生姓名", "交易流水号", "订单编号", "收款渠道", "收款账户", "订单金额", "应付金额", "现金支付", "余额支付", "优惠金额","课程家长采买","课程学校采买", "VIP课", "网管课", "乐理课", "考级", "维修费用", "乐保费用", "团练宝", "押金", "乐器", "教辅费用", "上门费","账户充值", "零售乐器","大件乐器", "其它","平台手续费", "到账时间",    "关联乐团ID/VIP课ID", "课程形态","课程形态描述","收费乐团编号","收费乐团", "零星收款类别", "专业", "分部", "教学点", "合作单位", "乐团主管", "备注"]
+headColumns = ["序号", "学生编号", "学生姓名", "交易流水号", "订单编号", "收款渠道", "收款账户", "订单金额", "应付金额", "现金支付", "余额支付", "优惠金额","课程家长采买","课程学校采买", "VIP课", "网管课", "乐理课", "考级", "维修费用", "乐保费用", "团练宝", "押金", "乐器", "教辅费用", "上门费","账户充值", "零售乐器","大件乐器", "其它","平台手续费", "到账时间",    "关联乐团ID/VIP课ID", "课程形态","类型","收费乐团编号","收费乐团", "零星收款类别", "专业", "分部", "教学点", "合作单位", "乐团主管", "备注"]
 fieldColumns = ["id", "userId", "user.username", "transNo", "orderNo", "paymentChannel", "merNos", "orderAmount", "expectAmount", "actualAmount", "balancePaymentAmount",  "couponRemitFee",     "musicGroupCourseFee","courseSchoolBuyAmount", "vipCourseFee", "practiceCourseFee", "theoryCourseFee", "degreeFee", "repairFee", "maintenanceFee", "cloudTeacherFee",     "leaseFee", "musicalFee", "teachingFee", "visitFee", "rechargeFee","retailGoodsFee","largeMusicalFee", "otherFee", "platformFee", "payTime", "musicGroupId", "groupType.desc","typeDesc.msg","feeMusicGroupId","feeMusicGroupName", "sporadicType", "subjectName", "organName", "schoolName", "cooperationOrganName", "eduTeacher", "memo"]
 
 [订单列表汇总导出]
@@ -171,11 +171,11 @@ headColumns = ["分部", "单位编号", "单位名称", "是否启用","乐团
 fieldColumns = ["organization.name", "id", "name", "isEnable == true ? '是':'否'", "realName", "isEnable == true ? '开启' : '未开启'"]
 
 [财务管理导出1]
-headColumns = ["序号", "学生编号", "学生姓名", "交易流水号", "订单编号", "收款渠道", "收款账户", "订单金额", "应付金额", "现金支付", "余额支付", "分润账户", "分润金额", "分配余额", "优惠金额", "乐团课", "VIP课", "网管课", "乐理课", "考级", "维修费用", "乐保费用", "团练宝", "押金", "乐器", "教辅费用", "上门费", "账户充值", "其它", "汇付手续费", "平台手续费", "到账时间", "关联乐团ID/VIP课ID", "课程形态","课程形态描述","收费乐团编号","收费乐团", "零星收款类别", "专业", "分部", "教学点", "合作单位", "乐团主管", "备注"]
+headColumns = ["序号", "学生编号", "学生姓名", "交易流水号", "订单编号", "收款渠道", "收款账户", "订单金额", "应付金额", "现金支付", "余额支付", "分润账户", "分润金额", "分配余额", "优惠金额", "乐团课", "VIP课", "网管课", "乐理课", "考级", "维修费用", "乐保费用", "团练宝", "押金", "乐器", "教辅费用", "上门费", "账户充值", "其它", "汇付手续费", "平台手续费", "到账时间", "关联乐团ID/VIP课ID", "课程形态","类型","收费乐团编号","收费乐团", "零星收款类别", "专业", "分部", "教学点", "合作单位", "乐团主管", "备注"]
 fieldColumns = ["id", "userId", "user.username", "transNo", "orderNo", "paymentChannel", "merNos", "orderAmount", "expectAmount", "actualAmount", "balancePaymentAmount", "routeMerNo", "routeAmount", "routeBalance",  "couponRemitFee",     "musicGroupCourseFee", "vipCourseFee", "practiceCourseFee", "theoryCourseFee", "degreeFee", "repairFee", "maintenanceFee", "cloudTeacherFee", "leaseFee", "musicalFee", "teachingFee", "visitFee", "rechargeFee", "otherFee", "transferFee", "platformFee", "payTime", "musicGroupId", "groupType.desc","typeDesc.msg","feeMusicGroupId","feeMusicGroupName", "sporadicType", "subjectName", "organName", "schoolName", "cooperationOrganName", "eduTeacher", "memo"]
 
 [财务管理导出2]
-headColumns = ["序号", "学生编号", "学生姓名", "交易流水号", "订单编号", "收款渠道", "收款账户", "订单金额", "应付金额", "现金支付", "余额支付", "分润账户", "分润金额", "分配余额", "优惠金额", "乐团课", "VIP课", "网管课", "乐理课", "考级", "维修费用", "乐保费用", "团练宝", "押金", "乐器", "教辅费用", "上门费", "账户充值", "其它", "平台手续费", "到账时间", "关联乐团ID/VIP课ID", "课程形态","课程形态描述","收费乐团编号","收费乐团", "零星收款类别", "专业", "分部", "教学点", "合作单位", "乐团主管", "备注"]
+headColumns = ["序号", "学生编号", "学生姓名", "交易流水号", "订单编号", "收款渠道", "收款账户", "订单金额", "应付金额", "现金支付", "余额支付", "分润账户", "分润金额", "分配余额", "优惠金额", "乐团课", "VIP课", "网管课", "乐理课", "考级", "维修费用", "乐保费用", "团练宝", "押金", "乐器", "教辅费用", "上门费", "账户充值", "其它", "平台手续费", "到账时间", "关联乐团ID/VIP课ID", "课程形态","类型","收费乐团编号","收费乐团", "零星收款类别", "专业", "分部", "教学点", "合作单位", "乐团主管", "备注"]
 fieldColumns = ["id", "userId", "user.username", "transNo", "orderNo", "paymentChannel", "merNos", "orderAmount" , "expectAmount", "actualAmount", "balancePaymentAmount", "routeMerNo", "routeAmount", "routeBalance",  "couponRemitFee",     "musicGroupCourseFee", "vipCourseFee", "practiceCourseFee", "theoryCourseFee", "degreeFee", "repairFee", "maintenanceFee", "cloudTeacherFee", "leaseFee", "musicalFee", "teachingFee", "visitFee", "rechargeFee", "otherFee", "platformFee", "payTime", "musicGroupId", "groupType.desc","typeDesc.msg","feeMusicGroupId","feeMusicGroupName", "sporadicType", "subjectName", "organName", "schoolName", "cooperationOrganName", "eduTeacher", "memo"]
 
 [老师默认课酬导出]