Browse Source

经营报表课程收入逻辑调整、新增课程收入明细导出

zouxuan 1 năm trước cách đây
mục cha
commit
7bd1c537a4

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

@@ -2088,4 +2088,6 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
                                                     @Param("teacherId") Integer teacherId);
 
     CourseSchedule findByRoomUid(@Param("roomUid") String roomUid, @Param("type") GroupType type);
+
+    List<ExportCourseIncomeDto> exportCourseIncome(@Param("month") String month);
 }

+ 14 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ExportCourseIncomeDto.java

@@ -0,0 +1,14 @@
+package com.ym.mec.biz.dal.dto;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class ExportCourseIncomeDto {
+    private String organName;
+
+    private Long courseId;
+
+    private BigDecimal amount = BigDecimal.ZERO;
+}

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

@@ -91,6 +91,7 @@ public enum ExportEnum implements BaseEnum<String, ExportEnum> {
     EXPORT_OA_SUMMARY_EXPENSES("EXPORT_OA_SUMMARY_EXPENSES","oa费用汇总"),
     EXPORT_OA_SUMMARY_EXPENSES_DETAIL("EXPORT_OA_SUMMARY_EXPENSES_DETAIL","oa费用明细"),
     EXPORT_OPERATING_SUMMARY_INCOME("EXPORT_OPERATING_SUMMARY_INCOME","经营报表收入汇总"),
+    EXPORT_COURSE_INCOME("EXPORT_COURSE_INCOME","课程收入明细导出"),
     ;
 
     private String code;

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleService.java

@@ -855,4 +855,6 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	* @date 2023/6/15 14:47
 	*/
 	void sendChatRoomMessage(List<CourseSchedule> courseSchedules);
+
+    List<ExportCourseIncomeDto> exportCourseIncome(String month);
 }

+ 1 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/IndexBaseMonthDataService.java

@@ -1,9 +1,6 @@
 package com.ym.mec.biz.service;
 
-import com.ym.mec.biz.dal.dto.DecimalMapDto;
-import com.ym.mec.biz.dal.dto.EduOrganStudentDataDto;
-import com.ym.mec.biz.dal.dto.IndexBaseDto;
-import com.ym.mec.biz.dal.dto.IndexErrorDataExportDto;
+import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.IndexBaseMonthData;
 import com.ym.mec.biz.dal.entity.IndexErrInfoDto;
 import com.ym.mec.biz.dal.enums.IndexDataType;

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

@@ -6200,7 +6200,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		executor.shutdown();*/
 	}
 
-	@Override
+    @Override
+    public List<ExportCourseIncomeDto> exportCourseIncome(String month) {
+        return courseScheduleDao.exportCourseIncome(month);
+    }
+
+    @Override
     public List<CourseScheduleStudentDto> queryDetailList(CourseDetailQueryInfo courseDetailQueryInfo) {
 
 

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ExportServiceImpl.java

@@ -350,6 +350,7 @@ public class ExportServiceImpl implements ExportService {
         exportFuncMap.put(ExportEnum.EXPORT_STUDENT_SERVE_INFO, (info) -> exportStudentServeInfo(info));
         exportFuncMap.put(ExportEnum.EXPORT_OPERATING_REPORT_NEW, (info) -> exportOperatingNew(info));
         exportFuncMap.put(ExportEnum.EXPORT_INDEX_COOP, (info) -> exportIndexCoop(info));
+        exportFuncMap.put(ExportEnum.EXPORT_COURSE_INCOME, (info) -> exportCourseIncome(info));
 
 
         //导出到报表中心
@@ -453,6 +454,11 @@ public class ExportServiceImpl implements ExportService {
         return indexService.indexCoop(organId,startTime,endTime);
     }
 
+    private List<ExportCourseIncomeDto> exportCourseIncome(Map<String, Object> info){
+        String month = getParam(info, "month", String.class);
+        return courseScheduleService.exportCourseIncome(month);
+    }
+
 
     //导出对账单
     @Override

+ 0 - 13
mec-biz/src/main/java/com/ym/mec/biz/service/impl/OperatingReportNewServiceImpl.java

@@ -72,19 +72,6 @@ public class OperatingReportNewServiceImpl extends BaseServiceImpl<Integer, Oper
 		paramMap.put("month",currentMonth);
 		List<OperatingTotalIncomeDto> incomeDtos = studentPaymentOrderService.queryOperatingSummaryIncome(paramMap);
 		Map<Integer, OperatingTotalIncomeDto> incomeDtoMap = incomeDtos.stream().collect(Collectors.groupingBy(e -> e.getOrganId(), Collectors.collectingAndThen(Collectors.toList(), v -> v.get(0))));
-		//服务收入
-/*		//导入的服务收入  (全部记录为课程收入)
-		Map<Integer, BigDecimal> collect24 = MapUtil.convertIntegerMap(operatingReportNewDao.sumImportServerOrderAmount(currentMonth));
-		//付费课程实际收入
-		Map<Integer, BigDecimal> collect2 = MapUtil.convertIntegerMap(operatingReportNewDao.sumCourseAmount(firstDayOfMonth,lastDayOfMonth,currentYear));
-		//个人云教练当月收入
-		Map<Integer, BigDecimal> collect3 = MapUtil.convertIntegerMap(operatingReportNewDao.sumPersonalCloudAmount(currentMonth,firstDayOfMonth,lastDayOfMonth));
-		//团体云教练费用
-		Map<Integer, BigDecimal> collect4 = MapUtil.convertIntegerMap(operatingReportNewDao.sumGroupCloudAmount(currentMonth,firstDayOfMonth,lastDayOfMonth));
-		//团体云教练当月一次性结转
-		Map<Integer, BigDecimal> collect5 = MapUtil.convertIntegerMap(operatingReportNewDao.sumGroupAmount(currentMonth));
-		//乐保实收
-		Map<Integer, BigDecimal> collect26 = MapUtil.convertIntegerMap(operatingReportNewDao.sumMaintenanceAmount(currentMonth));*/
 
 		//业务退费
 		Map<Integer, BigDecimal> collect6 = MapUtil.convertIntegerMap(operatingReportNewDao.sumRefundAmount(currentMonth));

+ 9 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -4486,4 +4486,13 @@
     <select id="findByRoomUid"  resultMap="CourseSchedule">
         select * from course_schedule where live_room_id_ = #{roomUid} and group_type_ = #{type.name}
     </select>
+    <select id="exportCourseIncome" resultType="com.ym.mec.biz.dal.dto.ExportCourseIncomeDto">
+        select o.name_ organName,cs.id_ courseId,SUM(cssp.actual_price_) amount from course_schedule cs
+        left join course_schedule_student_payment cssp ON cs.id_ = cssp.course_schedule_id_
+        left join organization o ON o.id_ = cs.organ_id_
+        where DATE_FORMAT(cs.class_date_,'%Y-%m') = #{month} AND cssp.actual_price_ > 0
+          AND cs.del_flag_ = 0 AND cs.is_lock_ = 0 and cs.pre_course_flag_ = 0
+          AND cs.tenant_id_ = 1
+        group by cs.id_ order by cs.organ_id_;
+    </select>
 </mapper>

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

@@ -1112,13 +1112,10 @@
         group by cssp.user_id_ , u.organ_id_
 	</select>
     <select id="statCourseFee" resultType="java.util.Map">
-		select cs.organ_id_ 'key',SUM(cssp.actual_price_) 'value' from course_schedule cs
-		left join course_schedule_student_payment cssp ON cssp.course_schedule_id_ = cs.id_
-		left join course_schedule_teacher_salary csts ON csts.course_schedule_id_ = cs.id_
-		LEFT JOIN teacher t ON t.id_ = csts.user_id_
+		select cs.organ_id_ 'key',SUM(cssp.actual_price_) 'value' from course_schedule_student_payment cssp
+		left join course_schedule cs ON cs.id_ = cssp.course_schedule_id_
 		where cs.class_date_ BETWEEN #{cutFirstDayOfMonth} AND #{cutLastDayOfMonth} AND cssp.actual_price_ > 0
-		AND cs.del_flag_ = 0 AND cs.is_lock_ = 0 and cs.pre_course_flag_ = 0 AND t.is_settlement_salary_ = 1
-		AND csts.settlement_time_ IS NOT NULL AND cs.tenant_id_ = 1
+		AND cs.del_flag_ = 0 AND cs.is_lock_ = 0 and cs.pre_course_flag_ = 0 AND cs.tenant_id_ = 1
 		group by cs.organ_id_
 	</select>
 

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

@@ -353,3 +353,7 @@ fieldColumns = ["organName","batchNo","cooperationOrganName","applyUser","feePro
 [经营报表收入汇总]
 headColumns = ["城市","学生指导费课耗收入","承担课程云教练收入","学校课程采买课耗收入","考级","维修费用","乐保费用","其他服务收入","不承担课程云教练收入","团购乐器","团购教辅","大件乐器","其他","服务收入","销售收入"]
 fieldColumns = ["organName","studentGuidanceIncome","cloudCoachIncome","coursePurchaseIncome","examIncome","maintenanceCost","instrumentInsuranceCost","otherServiceIncome","saleCloudCoachIncome","groupPurchaseInstruments","groupPurchaseTeachingAids","largeInstruments","otherIncome","serviceIncome","salesIncome"]
+
+[课程收入明细导出]
+headColumns = ["分部","课程编号","课程收入"]
+fieldColumns = ["organName","courseId","amount"]