Bladeren bron

fix 导出分发清单声部问题

周箭河 4 jaren geleden
bovenliggende
commit
96e3248036

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SubjectDao.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.dal.dao;
 import com.ym.mec.biz.dal.dto.ConditionDto;
 import com.ym.mec.biz.dal.dto.StudentAttendanceViewDto;
 import com.ym.mec.biz.dal.dto.SubjectApplyDetailDto;
+import com.ym.mec.biz.dal.entity.StudentRegistration;
 import com.ym.mec.biz.dal.entity.Subject;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.common.dal.BaseDAO;
@@ -142,4 +143,14 @@ public interface SubjectDao extends BaseDAO<Integer, Subject> {
      * @return
      */
     String findNames(String subjectIdList);
+
+
+    /**
+     * 获取学生报名的声部
+     * @param musicGroupId
+     * @param userIds
+     * @return
+     */
+    List<StudentRegistration> getRegisterSubject(@Param("musicGroupId") String musicGroupId,
+                                                 @Param("userIds") List<Integer> userIds);
 }

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

@@ -187,7 +187,7 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
             Map<Long, BigDecimal> accessoriesAmountMap = MapUtil.convertIntegerMap(studentPaymentOrderDetailDao.queryGoodsPrice(paymentOrderNo,"ACCESSORIES"));
             Map<Long, BigDecimal> courseAmountMap = MapUtil.convertIntegerMap(studentPaymentOrderDetailDao.queryGoodsPrice(paymentOrderNo,"COURSE"));
             Map<Long, String> purchaseTypeMap = MapUtil.convertIntegerMap(studentRegistrationDao.queryPurchaseTypeMap(musicGroupId));
-            Map<Integer,String> userSubjectMap = MapUtil.convertIntegerMap(subjectDao.findByMusicGroupUserSubject(musicGroupId, userIds));
+            Map<Integer, String> userSubjectMap = subjectDao.getRegisterSubject(musicGroupId, userIds).stream().collect(Collectors.toMap(StudentRegistration::getUserId, StudentRegistration::getSubjectName));
             musicalListDetailDtos.forEach(e->{
                 e.setGoodsNames(goodsNameMap.get(e.getPaymentOrderId()));
                 e.setMusicGroupName(musicGroup.getName());

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

@@ -20,7 +20,7 @@
 
     <!-- 根据主键查询一条记录 -->
     <select id="get" resultMap="Subject">
-		SELECT * FROM subject WHERE id_ = #{id} 
+		SELECT * FROM subject WHERE id_ = #{id}
 	</select>
 
     <!-- 全查询 -->
@@ -229,4 +229,14 @@
           #{subjectId}
       </foreach>
     </select>
+
+    <select id="getRegisterSubject" resultMap="com.ym.mec.biz.dal.dao.StudentRegistrationDao.StudentRegistration">
+        SELECT sr.user_id_, s.name_ subject_name_ FROM student_registration sr
+        LEFT JOIN subject s ON sr.actual_subject_id_=s.id_
+        WHERE sr.music_group_id_=#{musicGroupId} AND s.del_flag_ = 0 AND sr.music_group_status_ != 'QUIT'
+        AND sr.user_id_ IN
+        <foreach collection="userIds" item="userId" open="(" close=")" separator=",">
+            #{userId}
+        </foreach>
+    </select>
 </mapper>