Browse Source

Merge branch 'saas' of http://git.dayaedu.com/yonge/mec into dev

zouxuan 1 year ago
parent
commit
2c399005e0

+ 4 - 0
mec-application/src/main/resources/exportColumnMapper.ini

@@ -366,6 +366,10 @@ fieldColumns = ["organName","studentId","studentName","createTime","time","amoun
 headColumns = ["乐团","长笛","单簧管","萨克斯","小号","圆号","长号","上低音号","大号","小军鼓","合计"]
 fieldColumns = ["musicGroupName","flute","clarinet","saxophone","trumpet","horn","trombone","euphonium","tuba","snareDrum","total"]
 
+[乐团未排课时长]
+headColumns = ["分部","乐团名称","乐团编号","学员编号","学员姓名","课堂课","综合课","基础技能课","基础技能课(线上)","合奏课","单技课","集训合奏课","集训单技课"]
+fieldColumns = ["organName","musicGroupName","musicGroupId","studentId","studentName","classroom","comprehensive","high","highOnline","mix","single","trainingMix","trainingSingle"]
+
 [云教练待激活明细]
 headColumns = ["分部","学员编号","学员姓名","手机号","学员声部","云教练类型","数量","缴费金额(元)","状态","取消原因","操作人","操作时间","获得资格时间"]
 fieldColumns = ["organName","studentId","name","phone","subjectName","type.msg","time","amount","status == 1 ? '待激活':'已取消'","cancelReason","operatorName","operateTime","createTime"]

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CloudTeacherOrderDao.java

@@ -128,4 +128,6 @@ public interface CloudTeacherOrderDao extends BaseDAO<Long, CloudTeacherOrder> {
     List<CloudTeacherOrder> queryCloudTeacherOrderByIds(@Param("ids") List<Integer> ids);
 
     List<CloudCoachActivationDetailsDto> exportCloudCoachActivationDetails(@Param("month") String month, @Param("organId") String organId);
+
+    List<CloudCoachActivationDetailsDto> exportCloudTeacherOrderInactive(@Param("organId") String organId);
 }

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/ExportEnum.java

@@ -95,6 +95,7 @@ public enum ExportEnum implements BaseEnum<String, ExportEnum> {
     CLOUD_COACH_ACTIVATION_DETAILS("CLOUD_COACH_ACTIVATION_DETAILS","云教练激活明细"),
     EXPORT_MUSIC_GROUP_ECHELON_DATA("EXPORT_MUSIC_GROUP_ECHELON_DATA","乐团梯队数据导出"),
     EXPORT_CLOUD_TEACHER_ORDER_INACTIVE("EXPORT_CLOUD_TEACHER_ORDER_INACTIVE","云教练待激活明细"),
+    EXPORT_MUSIC_GROUP_NO_COURSE("EXPORT_MUSIC_GROUP_NO_COURSE","乐团未排课时长"),
     ;
 
     private String code;

+ 17 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ExportServiceImpl.java

@@ -354,7 +354,7 @@ public class ExportServiceImpl implements ExportService {
         exportFuncMap.put(ExportEnum.EXPORT_OPERATING_REPORT_NEW, (info) -> exportOperatingNew(info));
         exportFuncMap.put(ExportEnum.EXPORT_INDEX_COOP, (info) -> exportIndexCoop(info));
         exportFuncMap.put(ExportEnum.CLOUD_COACH_ACTIVATION_DETAILS, info -> exportCloudCoachActivationDetails(info));
-        exportFuncMap.put(ExportEnum.EXPORT_CLOUD_TEACHER_ORDER_INACTIVE, info -> exportCloudTeacherOrderInActive(info));
+        exportFuncMap.put(ExportEnum.EXPORT_CLOUD_TEACHER_ORDER_INACTIVE, info -> exportCloudTeacherOrderInactive(info));
 
 
         //导出到报表中心
@@ -491,6 +491,11 @@ public class ExportServiceImpl implements ExportService {
         return cloudTeacherOrderDao.exportCloudCoachActivationDetails(month,organId);
     }
 
+    private List<CloudCoachActivationDetailsDto> exportCloudTeacherOrderInactive(Map<String, Object> info) {
+        String organId = getParam(info, "organId", String.class);
+        return cloudTeacherOrderDao.exportCloudTeacherOrderInactive(organId);
+    }
+
     private List<CloudTeacherStudent> exportCloudTeacherOrderInActive(Map<String, Object> info) {
         CloudTeacherOrderQueryInfo queryInfo = JSONObject.parseObject(JSONObject.toJSONString(info), CloudTeacherOrderQueryInfo.class);
         Integer tenantId = TenantContextHolder.getTenantId();
@@ -2754,9 +2759,9 @@ public class ExportServiceImpl implements ExportService {
         //获取对外订单关联的合作单位
         Map<Integer, String> cooperationOrganMap = new HashMap<>();
         List<Integer> cooperationOrganIds = studentPaymentOrderExportDtos.stream()
-                .filter(e -> OUTORDER.equals(e.getType()))
-                .filter(e -> e.getMusicGroupId() != null)
-                .map(e -> Integer.valueOf(e.getMusicGroupId()))
+                .filter(e -> OUTORDER.equals(e.getType()) || GroupType.OUTORDER == e.getGroupType() && (e.getType() != RENEW && e.getType() != APPLY))
+                .filter(e -> e.getCooperationId() != null)
+                .map(e -> e.getCooperationId())
                 .distinct()
                 .collect(Collectors.toList());
         if (cooperationOrganIds.size() > 0) {
@@ -2832,6 +2837,14 @@ public class ExportServiceImpl implements ExportService {
                     }
                 }
             }
+            //如果合作单位不存在取学员的第一个乐团的合作单位,乐团主管
+            if (basicOrder.getCooperationOrganName() == null) {
+                CooperationOrgan cooperationOrgan = studentService.getStudentEduTeacher(basicOrder.getUserId());
+                if (cooperationOrgan != null) {
+                    basicOrder.setCooperationOrganName(cooperationOrgan.getName());
+                    basicOrder.setEduTeacher(cooperationOrgan.getLinkman() != null ? cooperationOrgan.getLinkman() : basicOrder.getEduTeacher());
+                }
+            }
             //根据订单类型初始化业务数据
             Optional.ofNullable(groupTypeConsumerMap1.get(basicOrder.getGroupType())).ifPresent(consumer -> consumer.accept(basicOrder));
             this.setSubTypeDesc(basicOrder, userFirstVipMap, userFirstPracticeMap);

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMusicScoreServiceImpl.java

@@ -281,6 +281,10 @@ public class SysMusicScoreServiceImpl extends BaseServiceImpl<Integer, SysMusicS
             getAllCategoryIdList(categoriesIdList, sysMusicScoreCategories.getSysMusicScoreCategoriesList());
 
             queryInfo.setCategoriesIdList(categoriesIdList);
+        }else {
+            if(queryInfo.getCategoriesId() == null){
+                return new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+            }
         }
         return this.queryPage(queryInfo);
     }

+ 23 - 0
mec-biz/src/main/resources/config/mybatis/CloudTeacherOrderMapper.xml

@@ -587,4 +587,27 @@
         </if>
         ORDER BY o.id_ DESC,cto.start_time_ DESC
     </select>
+    <select id="exportCloudTeacherOrderInactive"
+            resultType="com.ym.mec.biz.dal.dto.CloudCoachActivationDetailsDto">
+        select o.name_ organName,mg.name_ musicGroupName,mg.id_ musicGroupId,mgpscd.user_id_ studentId,su.username_ studentName,
+        sum(CASE WHEN mgpscd.course_type_ = 'CLASSROOM' THEN mgpscd.sub_course_minutes_ ELSE 0 END) AS classroom,
+        sum(CASE WHEN mgpscd.course_type_ = 'COMPREHENSIVE' THEN mgpscd.sub_course_minutes_ ELSE 0 END) AS comprehensive,
+        sum(CASE WHEN mgpscd.course_type_ = 'HIGH' THEN mgpscd.sub_course_minutes_ ELSE 0 END) AS high,
+        sum(CASE WHEN mgpscd.course_type_ = 'HIGH_ONLINE' THEN mgpscd.sub_course_minutes_ ELSE 0 END) AS highOnline,
+        sum(CASE WHEN mgpscd.course_type_ = 'MIX' THEN mgpscd.sub_course_minutes_ ELSE 0 END) AS mix,
+        sum(CASE WHEN mgpscd.course_type_ = 'SINGLE' THEN mgpscd.sub_course_minutes_ ELSE 0 END) AS single,
+        sum(CASE WHEN mgpscd.course_type_ = 'TRAINING_MIX' THEN mgpscd.sub_course_minutes_ ELSE 0 END) AS trainingMix,
+        sum(CASE WHEN mgpscd.course_type_ = 'TRAINING_SINGLE' THEN mgpscd.sub_course_minutes_ ELSE 0 END) AS trainingSingle
+        from music_group mg
+        left join music_group_payment_calender mgpc ON mgpc.music_group_id_ = mg.id_
+        left join music_group_payment_student_course_detail mgpscd ON mgpscd.music_group_payment_calender_id_ = mgpc.id_
+        left join organization o ON o.id_ = mg.organ_id_
+        left join sys_user su ON su.id_ = mgpscd.user_id_
+        left join student_registration sr ON sr.user_id_ = mgpscd.user_id_ AND sr.music_group_id_ = mgpc.music_group_id_
+        where mg.status_ = 'PROGRESS' AND sr.music_group_status_ = 'NORMAL' AND mgpscd.sub_course_minutes_ > 0
+        <if test="organId != null and organId != ''">
+            AND FIND_IN_SET(mg.organ_id_,#{organId})
+        </if>
+        group by mgpscd.music_group_id_,mgpscd.user_id_ order by mg.organ_id_,mg.id_
+    </select>
 </mapper>

+ 8 - 2
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/message/provider/JiguangPushPlugin.java

@@ -308,8 +308,14 @@ public class JiguangPushPlugin implements MessageSenderPlugin, InitializingBean
                 String ret = HttpUtil.get(baseUrl + "/v3/aliases/" + alias, data, HeaderMap);
                 if (StringUtils.isNotBlank(ret)) {
                     JSONObject json = JSONObject.parseObject(ret);
-
-                    json.getJSONArray("registration_ids").forEach(item -> removeIds.add(item.toString()));
+                    JSONArray registrationIds = json.getJSONArray("registration_ids");
+                    if (CollectionUtils.isNotEmpty(registrationIds)) {
+                        for (Object item : registrationIds) {
+                            if (item != null) {
+                                removeIds.add(item.toString());
+                            }
+                        }
+                    }
                 }
             } catch (Exception e) {
                 throw new ThirdpartyException("deviceRemoveAlias 查询别名绑定设备", e);