zouxuan 5 lat temu
rodzic
commit
55ec705862

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

@@ -264,4 +264,11 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
      * @return
      */
     int updateUser(@Param("id") Integer id,@Param("realName") String realName, @Param("idCardNo") String idCardNo);
+
+    /**
+     * 获取乐团在读人数
+     * @param musicGroupIds
+     * @return
+     */
+    List<Map<String,Integer>> countNormalNum(String musicGroupIds);
 }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupClassGroupDto.java

@@ -28,12 +28,23 @@ public class MusicGroupClassGroupDto {
     @ApiModelProperty(value = "当前课次", required = true)
     private Integer currentClassTimes;
 
+    @ApiModelProperty(value = "总课时", required = true)
+    private Integer totalClassTimes;
+
     @ApiModelProperty(value = "跟班人数", required = true)
     private Integer studyNum;
 
     @ApiModelProperty(value = "退班人数", required = true)
     private Integer quitNum;
 
+    public Integer getTotalClassTimes() {
+        return totalClassTimes;
+    }
+
+    public void setTotalClassTimes(Integer totalClassTimes) {
+        this.totalClassTimes = totalClassTimes;
+    }
+
     public Integer getClassGroupId() {
         return classGroupId;
     }

+ 5 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -854,8 +854,10 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         // 获取乐团编号列表
         Set<String> musicGroupIds = musicGroupList.stream().map(e -> e.getId()).collect(Collectors.toSet());
         // 统计乐团在读人数
-        List<Map<String, Long>> payNums = musicGroupDao.countPayNum(StringUtils.join(musicGroupIds,","));
-        Map<String, String> payNumMap = MapUtil.convertMybatisMap(payNums);
+//        List<Map<String, Long>> payNums = musicGroupDao.countPayNum(StringUtils.join(musicGroupIds,","));
+//        Map<String, String> payNumMap = MapUtil.convertMybatisMap(payNums);
+
+        Map<String, Integer> payNumMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertIntegerMap(studentRegistrationDao.countNormalNum(StringUtils.join(musicGroupIds,",")))),HashMap.class);
 
         // 获取收费类型编号列表
         Set<Integer> chargeTypeIds = musicGroupList.stream().map(e -> e.getChargeTypeId()).collect(Collectors.toSet());
@@ -878,7 +880,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             e.setCooperationOrganName(cooperationOrganNames.get(e.getCooperationOrganId()));
             e.setEducationalTeacherName(educationalTeacherNameMap.get(e.getEducationalTeacherId()));
             e.setTeamTeacherName(teamTeacherNameMap.get(e.getTeamTeacherId()));
-            e.setPayNum(payNumMap.get(e.getId()) == null ? 0 : Integer.parseInt(payNumMap.get(e.getId())));
+            e.setPayNum(payNumMap.get(e.getId()) == null ? 0 : payNumMap.get(e.getId()));
             e.setChargeTypeName(chargeTypeNameMap.get(e.getChargeTypeId()));
         });
         return musicGroupPageInfo;

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

@@ -499,11 +499,12 @@
         <result property="classGroupName" column="class_group_name_"/>
         <result property="classGroupType" column="class_group_type_"/>
         <result property="currentClassTimes" column="current_class_times_"/>
+        <result property="totalClassTimes" column="total_class_times_"/>
         <result property="classGroupId" column="class_group_id_"/>
     </resultMap>
     <select id="queryMusicGroupClassGroup" resultMap="MusicGroupClassGroupDto">
         SELECT cg.name_ class_group_name_,cg.type_ class_group_type_,
-        cg.current_class_times_,cg.id_ class_group_id_
+        cg.current_class_times_,cg.id_ class_group_id_,cg.total_class_times_
         FROM class_group cg
         WHERE cg.music_group_id_ = #{search} AND cg.del_flag_ = 0
         <include refid="global.limit"/>

+ 6 - 3
mec-biz/src/main/resources/config/mybatis/StudentManageDao.xml

@@ -314,7 +314,7 @@
         <result property="actualPrice" column="actual_price_"/>
     </resultMap>
     <select id="queryStudentPayment" resultMap="StudentPaymentDto">
-        SELECT cs.class_date_,cs.start_class_time_,cs.type_ class_group_type_ ,cs.name_ class_group_name_,
+        SELECT cs.class_date_,cs.start_class_time_,cs.type_ class_group_type_ ,cg.name_ class_group_name_,
         cg.total_class_times_,sa.current_class_times_,sa.status_,cssp.expect_price_,cssp.actual_price_
         FROM course_schedule_student_payment cssp
         LEFT JOIN course_schedule cs ON cssp.course_schedule_id_ = cs.id_
@@ -386,7 +386,7 @@
         SELECT sr.user_id_,su.username_ real_name_,su.gender_,sr.parents_phone_,sr.current_grade_,
         sr.current_class_,sr.music_group_status_,sr.payment_status_,
         s.name_ subject_name_,sr.music_group_id_,
-        IF(sr.create_time_ > mg.payment_expire_date_,1,0) is_new_student_
+        IF(DATE_FORMAT(sr.create_time_,'%Y-%m-%d') > DATE_FORMAT(mg.payment_expire_date_,'%Y-%m-%d'),1,0) is_new_student_
         FROM student_registration sr
         LEFT JOIN sys_user su ON sr.user_id_ = su.id_
         LEFT JOIN `subject` s ON s.id_ = sr.actual_subject_id_
@@ -395,6 +395,7 @@
         ORDER BY sr.create_time_ DESC
         <include refid="global.limit"/>
     </select>
+
     <select id="countMusicGroupStudent" resultType="java.lang.Integer">
         SELECT COUNT(sr.user_id_)
         FROM student_registration sr
@@ -402,11 +403,13 @@
         LEFT JOIN `subject` s ON s.id_ = sr.actual_subject_id_
         <include refid="queryMusicGroupStudentSql"/>
     </select>
+
     <select id="countStudyNum" resultType="java.lang.Integer">
         SELECT COUNT(sr.user_id_) FROM student_registration sr
         WHERE sr.music_group_id_ = #{musicGroupId}
         AND sr.music_group_status_ != 'QUIT'
     </select>
+
     <select id="countQuitNum" resultType="java.lang.Integer">
         SELECT COUNT(sr.user_id_) FROM student_registration sr
         WHERE sr.music_group_id_ = #{musicGroupId}
@@ -426,7 +429,7 @@
         <result property="courseScheduleName" column="name_"/>
     </resultMap>
     <select id="queryMusicGroupStudentsSign" resultMap="MusicGroupStudentSignDto">
-        SELECT sa.create_time_,su.real_name_,sa.status_,cs.name_
+        SELECT sa.create_time_,su.username_ real_name_,sa.status_,cs.name_
         FROM student_attendance sa
         LEFT JOIN sys_user su ON sa.user_id_ = su.id_
         LEFT JOIN course_schedule cs ON sa.course_schedule_id_ = cs.id_

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

@@ -520,6 +520,11 @@
     <select id="findMusicGroupStudentNum" resultType="integer">
         SELECT Count(*) FROM student_registration WHERE music_group_id_ = #{musicGroupId} AND payment_status_ = '2' AND music_group_status_ != 'QUIT'
     </select>
+    <select id="countNormalNum" resultType="java.util.Map">
+        SELECT sr.music_group_id_ 'key',COUNT(DISTINCT sr.user_id_) 'value' FROM student_registration sr
+        WHERE sr.payment_status_ = 2 AND sr.music_group_status_ != 'QUIT' AND FIND_IN_SET(sr.music_group_id_,#{musicGroupIds})
+        GROUP BY sr.music_group_id_
+    </select>
 
     <update id="updateUser">
         UPDATE sys_user SET real_name_ = #{realName},id_card_no_=#{idCardNo} WHERE id_=#{id}

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

@@ -31,7 +31,7 @@
 	<sql id="queryCondition">
 		<where>
 			<if test="userId != null">
-				and user_id_ = #{userId,jdbcType=BIGINT}
+				and user_id_ = #{userId}
 			</if>
 			<if test="receiver != null">
 				and receiver_ like '%' #{receiver} '%'