Sfoglia il codice sorgente

业务部门需要的乐团相关的会员人数

zouxuan 2 anni fa
parent
commit
3b962a2cf8

+ 6 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroup.java

@@ -129,7 +129,6 @@ public class MusicGroup extends BaseEntity {
 	@ApiModelProperty(value = "家长会日期",required = false)
 	private String parentMeetingTime;
 
-	/** 缴费月份*/
 	@ApiModelProperty(value = "缴费月份(多个用,分开)",required = false)
 	private String paymentMonths;
 
@@ -147,6 +146,12 @@ public class MusicGroup extends BaseEntity {
 
 	@ApiModelProperty(value = "在读人数",required = true)
 	private Integer payNum;
+
+	@ApiModelProperty(value = "在读且有会员的人数",required = true)
+	private Integer memberNum = 0;
+
+	@ApiModelProperty(value = "在读且没有会员的人数",required = true)
+	private Integer notMemberNum = 0;
 	
 	@ApiModelProperty(value = "是否是课堂课",required = true)
 	private boolean isClassroomLessons;

+ 16 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -3407,10 +3407,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         Set<Integer> educationalTeacherIds = musicGroupList.stream().map(e -> e.getEducationalTeacherId()).collect(Collectors.toSet());
         Map<Integer, String> educationalTeacherNameMap = MapUtil.convertMybatisMap(teacherDao.queryNameByIds(StringUtils.join(educationalTeacherIds, ",")));
 
-        // 获取运营主管编号列表
-        //Set<Integer> teamTeacherIds = musicGroupList.stream().map(e -> e.getTeamTeacherId()).collect(Collectors.toSet());
-        //Map<Integer, String> teamTeacherNameMap = MapUtil.convertMybatisMap(teacherDao.queryNameByIds(StringUtils.join(teamTeacherIds, ",")));
-
         // 获取乐队指导编号列表
         Set<Integer> directorUserIds = musicGroupList.stream().map(e -> e.getDirectorUserId()).collect(Collectors.toSet());
         directorUserIds.removeAll(Collections.singleton(null));
@@ -3432,7 +3428,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         // 获取乐团编号列表
         Set<String> musicGroupIds = musicGroupList.stream().map(e -> e.getId()).collect(Collectors.toSet());
 
-        Map<String, Integer> payNumMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertIntegerMap(studentRegistrationDao.countNormalNum(StringUtils.join(musicGroupIds, ",")))), HashMap.class);
+//        Map<String, Integer> payNumMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertIntegerMap(studentRegistrationDao.countNormalNum(StringUtils.join(musicGroupIds, ",")))), HashMap.class);
 
 
         Map<String, BigDecimal> chargeStandardMap = MapUtil.convertIntegerMap(musicGroupPaymentCalenderDao.queryChargeStandard(StringUtils.join(musicGroupIds, ",")));
@@ -3447,16 +3443,26 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         Map<String, Integer> purchaseListMap = musicGroupPurchaseListCount.stream().collect(Collectors.toMap(MusicGroupPurchaseList::getMusicGroupId, MusicGroupPurchaseList::getPurchaseNum));
 
         Map<String, Boolean> viewRegButtonMap = studentRegistrationService.checkMusicGroupsRegOrPayStatus(new ArrayList<>(musicGroupIds));
+		List<MusicGroup> instrument = studentRegistrationDao.countInstrument(new ArrayList<>(musicGroupIds));
+		Map<String, List<MusicGroup>> collect = new HashMap<>();
+		if (instrument != null && instrument.size() > 0) {
+			collect = instrument.stream().collect(Collectors.groupingBy(MusicGroup::getId));
+		}
         //获取分部名称map
         for (MusicGroup e : musicGroupList) {
-//            e.setSchoolName(schoolNameMap.get(e.getSchoolId()));
+			List<MusicGroup> musicGroups = collect.get(e.getId());
+			if (CollectionUtils.isNotEmpty(musicGroups)) {
+				MusicGroup musicGroup1 = musicGroups.get(0);
+				e.setPayNum(musicGroup1.getPayNum());
+				e.setHasInstrumentNum(musicGroup1.getHasInstrumentNum());
+				e.setMemberNum(musicGroup1.getMemberNum());
+				e.setNotMemberNum(e.getPayNum() - e.getMemberNum());
+			}
             e.setOrganName(organNames.get(e.getOrganId()));
             e.setCooperationOrganName(cooperationOrganNames.get(e.getCooperationOrganId()));
             e.setEducationalTeacherName(educationalTeacherNameMap.get(e.getEducationalTeacherId()));
-            //e.setTeamTeacherName(teamTeacherNameMap.get(e.getTeamTeacherId()));
             e.setRepairUserName(repairUserNameMap.get(e.getRepairUserId()));
             e.setDirectorUserName(directorUserNameMap.get(e.getDirectorUserId()));
-            e.setPayNum(payNumMap.get(e.getId()) == null ? 0 : payNumMap.get(e.getId()));
             e.setGroupMemberNum(e.getGroupMemberNum() == null ? 0 : e.getGroupMemberNum());
             e.setHasVerifyMusicalList(purchaseListMap.get(e.getId()) != null);
             if (e.getStatus().equals(MusicGroupStatusEnum.PREPARE) || e.getStatus().equals(MusicGroupStatusEnum.PROGRESS)) {
@@ -3491,6 +3497,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                         MusicGroup musicGroup1 = musicGroups.get(0);
                         musicGroup.setPayNum(musicGroup1.getPayNum());
                         musicGroup.setHasInstrumentNum(musicGroup1.getHasInstrumentNum());
+						musicGroup.setMemberNum(musicGroup1.getMemberNum());
+						musicGroup.setNotMemberNum(musicGroup.getPayNum() - musicGroup.getMemberNum());
                     }
                 }
             }

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

@@ -1875,11 +1875,14 @@
         <result property="payNum" column="pay_num_"/>
         <result property="hasInstrumentNum" column="has_instrument_num_"/>
         <result property="id" column="music_group_id_"/>
+        <result property="memberNum" column="memberNum"/>
     </resultMap>
     <select id="countInstrument" resultMap="MusicGroup">
-        SELECT sr.music_group_id_,COUNT(DISTINCT sr.user_id_) pay_num_,SUM(CASE WHEN si.id_ IS NULL THEN 0 ELSE 1 END) has_instrument_num_ FROM student_registration sr
+        SELECT sr.music_group_id_,COUNT(DISTINCT sr.user_id_) pay_num_,SUM(CASE WHEN si.id_ IS NULL THEN 0 ELSE 1 END) has_instrument_num_,COUNT(distinct st.user_id_) memberNum
+        FROM student_registration sr
         LEFT JOIN (SELECT * FROM student_instrument WHERE del_flag_ = 0 AND end_time_ > NOW()
         GROUP BY student_id_ ) si ON sr.user_id_ = si.student_id_ AND si.del_flag_ = 0 AND si.end_time_ > NOW()
+        left join (select * from student where membership_end_time_ > NOW()) st ON st.user_id_ = sr.user_id_
         WHERE sr.music_group_status_ = 'NORMAL' AND sr.music_group_id_ IN
         <foreach collection="musicGroupIds" separator="," item="id" open="(" close=")">
             #{id}

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

@@ -231,9 +231,9 @@ public class ExportController extends BaseController {
         OutputStream outputStream = response.getOutputStream();
         try {
             HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"分部", "乐团编号", "乐团名称", "合作单位", "乐团状态",
-                    "收费模式", "收费类型", "乐团主管", "成团人数", "在读人数", "申请时间", "成团时间", "清单状态", "收费标准"}, new String[]{
+                    "收费模式", "收费类型", "乐团主管", "成团人数", "在读人数",  "会员人数",  "非会员人数", "申请时间", "成团时间", "清单状态", "收费标准"}, new String[]{
                     "organName", "id", "name", "cooperationOrganName", "status.msg", "courseViewType.msg", "chargeTypeName",
-                    "educationalTeacherName", "groupMemberNum", "payNum"
+                    "educationalTeacherName", "groupMemberNum", "payNum", "memberNum", "notMemberNum"
                     , "createTime", "billStartDate", "hasVerifyMusicalList?'已确认':'未确认'", "chargeStandard"}, rows);
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attac:wq" +