Jelajahi Sumber

经营报表统计

zouxuan 2 tahun lalu
induk
melakukan
880d66158a

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/OASummaryExpensesDto.java

@@ -71,4 +71,7 @@ public class OASummaryExpensesDto {
 
     // 学员管理费调整
     private BigDecimal studentManagementFeeAdjustment;
+
+    // 手续费税费
+    private BigDecimal commissionAndTax;
 }

+ 3 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/HumanCostTypeEnum.java

@@ -9,7 +9,9 @@ public enum HumanCostTypeEnum implements BaseEnum<String, HumanCostTypeEnum> {
 	NETWORK_CLASSROOM("NETWORK_CLASSROOM","网络教室成本"),
 	CLOUD_COACHING_COST("CLOUD_COACHING_COST","云教练成本"),
 	INTERNAL_SETTLEMENT("INTERNAL_SETTLEMENT","内部结算"),
-	STUDENT_MANAGEMENT_FEE_ADJUSTMENT("STUDENT_MANAGEMENT_FEE_ADJUSTMENT","学员管理费调整");
+	STUDENT_MANAGEMENT_FEE_ADJUSTMENT("STUDENT_MANAGEMENT_FEE_ADJUSTMENT","学员管理费调整"),
+	COMMISSION_AND_TAX("COMMISSION_AND_TAX","手续费税费"),
+	;
 
 	@EnumValue
 	private String code;

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

@@ -158,15 +158,6 @@ public class OperatingReportNewServiceImpl extends BaseServiceImpl<Integer, Oper
 			}
 			//业务退费
 			operatingReportNew.setBusinessRefund(getAmount(collect6.get(organId)));
-			//服务收入
-//			operatingReportNew.setServiceAmount(
-//					getAmount(collect3.get(organId))
-//					.add(getAmount(collect2.get(organId)))
-//					.add(getAmount(collect4.get(organId)))
-//					.add(getAmount(collect5.get(organId)))
-//					.add(getAmount(collect24.get(organId)))
-//					.add(getAmount(collect26.get(organId)))
-//					.add(operatingReportNew.getCourseAmount()));
 			//收入合计
 			operatingReportNew.setTotalIncome(operatingReportNew.getSaleAmount().add(operatingReportNew.getServiceAmount()).subtract(operatingReportNew.getBusinessRefund()));
 			//内部结算

+ 6 - 10
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderServiceImpl.java

@@ -1754,7 +1754,7 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
                 if (row.getBalancePaymentAmount() == null) {
                     row.setBalancePaymentAmount(BigDecimal.ZERO);
                 }
-                if (row.getOrderDetailList() != null) {
+                if (row.getOrderDetailList() != null && GroupType.GOODS_SELL != row.getGroupType()) {
                     for (StudentPaymentOrderDetail orderDetail : row.getOrderDetailList()) {
                         switch (orderDetail.getType()) {
                             case COURSE:
@@ -1772,12 +1772,10 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
                                 row.setMusicGroupCourseFee(row.getMusicGroupCourseFee().add(orderDetail.getPrice()));
                                 break;
                             case MUSICAL:
-                                if (row.getGroupType() != GroupType.GOODS_SELL) {
-                                    if (orderDetail.getKitGroupPurchaseType() != null && orderDetail.getKitGroupPurchaseType().equals(KitGroupPurchaseTypeEnum.LEASE)) {
-                                        row.setLeaseFee(getActualAmount(orderDetail.getPrice(), row));
-                                    } else {
-                                        row.setMusicalFee(orderDetail.getPrice());
-                                    }
+                                if (orderDetail.getKitGroupPurchaseType() != null && orderDetail.getKitGroupPurchaseType().equals(KitGroupPurchaseTypeEnum.LEASE)) {
+                                    row.setLeaseFee(getActualAmount(orderDetail.getPrice(), row));
+                                } else {
+                                    row.setMusicalFee(orderDetail.getPrice());
                                 }
                                 break;
                             case ACCESSORIES:
@@ -1871,9 +1869,7 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
                 } else if (row.getGroupType().equals(GroupType.REPLACEMENT)) {
                     row.setMusicalFee(row.getActualAmount());
                 } else if (row.getGroupType().equals(GroupType.GOODS_SELL)) {
-                    if (CollectionUtils.isEmpty(row.getOrderDetailList())){
-                        row.setRetailGoodsFee(row.getActualAmount());
-                    }
+                    row.setRetailGoodsFee(row.getActualAmount());
                 } else {
                     List<StudentPaymentOrderExportDto> exportDtoList = feeByTypeMap.get(row.getId());
                     if (!org.springframework.util.CollectionUtils.isEmpty(exportDtoList)) {

+ 11 - 7
mec-biz/src/main/resources/config/mybatis/OperatingReportNewMapper.xml

@@ -372,16 +372,20 @@
 			SUM(CASE WHEN fee_project_ = 17 THEN fe.current_amount_ ELSE 0 END) AS hospitality,
 			SUM(CASE WHEN fee_project_ = 19 THEN fe.current_amount_ ELSE 0 END) AS refund,
 			SUM(CASE WHEN fee_project_ = 26 THEN fe.current_amount_ ELSE 0 END) AS other,
-			SUM(CASE WHEN hc.human_cost_type_ = 'FIXED' THEN hc.amount_ ELSE 0 END) AS fixedHumanCost,
-			SUM(CASE WHEN hc.human_cost_type_ = 'VARIABLE' THEN hc.amount_ ELSE 0 END) AS variableHumanCost,
-			SUM(CASE WHEN hc.human_cost_type_ = 'NETWORK_CLASSROOM' THEN hc.amount_ ELSE 0 END) AS network,
-			SUM(CASE WHEN hc.human_cost_type_ = 'CLOUD_COACHING_COST' THEN hc.amount_ ELSE 0 END) AS cloudCoachingCost,
-			SUM(CASE WHEN hc.human_cost_type_ = 'INTERNAL_SETTLEMENT' THEN hc.amount_ ELSE 0 END) AS internalSettlement,
-			SUM(CASE WHEN hc.human_cost_type_ = 'STUDENT_MANAGEMENT_FEE_ADJUSTMENT' THEN hc.amount_ ELSE 0 END) AS studentManagementFeeAdjustment
+			hc.fixedHumanCost,hc.fixedHumanCost, hc.variableHumanCost, hc.network, hc.cloudCoachingCost, hc.internalSettlement, hc.studentManagementFeeAdjustment
 		FROM
 			organization o
 				left join financial_expenditure fe ON o.id_ = fe.organ_id_ AND fe.process_id_ IN (19,22,23,28,51) AND fe.fee_project_ NOT IN (1,2,13,14) AND effective_time_= #{month} AND fe.del_flag_ = 0
-				left join human_cost hc ON hc.organ_id_ = o.id_  AND hc.month_ = #{month}
+				left join (select organ_id_,
+								  SUM(CASE WHEN hc.human_cost_type_ = 'FIXED' THEN hc.amount_ ELSE 0 END) AS fixedHumanCost,
+								  SUM(CASE WHEN hc.human_cost_type_ = 'VARIABLE' THEN hc.amount_ ELSE 0 END) AS variableHumanCost,
+								  SUM(CASE WHEN hc.human_cost_type_ = 'NETWORK_CLASSROOM' THEN hc.amount_ ELSE 0 END) AS network,
+								  SUM(CASE WHEN hc.human_cost_type_ = 'CLOUD_COACHING_COST' THEN hc.amount_ ELSE 0 END) AS cloudCoachingCost,
+								  SUM(CASE WHEN hc.human_cost_type_ = 'INTERNAL_SETTLEMENT' THEN hc.amount_ ELSE 0 END) AS internalSettlement,
+								  SUM(CASE WHEN hc.human_cost_type_ = 'STUDENT_MANAGEMENT_FEE_ADJUSTMENT' THEN hc.amount_ ELSE 0 END) AS studentManagementFeeAdjustment,
+								  SUM(CASE WHEN hc.human_cost_type_ = 'COMMISSION_AND_TAX' THEN hc.amount_ ELSE 0 END) AS commissionAndTax
+						   from human_cost hc where month_ = #{month}
+						   group by organ_id_) hc ON hc.organ_id_ = o.id_
 		WHERE
 			o.tenant_id_ = 1 AND o.del_flag_ = 0
 		GROUP BY

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

@@ -772,11 +772,11 @@
     <select id="ExportQueryPage2" resultMap="orderAndDetail" parameterType="map">
         select spo.*,spod.id_ detail_id_,spod.type_ detail_type_,spod.price_
                               detail_price_,spod.kit_group_purchase_type_ detail_kit_group_purchase_type_,
-               sci.charge_type_ from (select distinct order_no_ from sell_order where DATE_FORMAT(delivery_time_,'%Y-%m') = #{month}) so
-                                         left join student_payment_order spo ON so.order_no_ = spo.order_no_
+               sci.charge_type_ from student_payment_order spo
                                          LEFT JOIN student_payment_order_detail spod on spo.id_ = spod.payment_order_id_
                                          LEFT JOIN sporadic_charge_info sci on spo.music_group_id_ = sci.id_
         where spo.tenant_id_ = 1 AND spo.status_ = 'SUCCESS'
+        AND spo.order_no_ IN (select distinct order_no_ from sell_order where DATE_FORMAT(delivery_time_,'%Y-%m') = #{month})
     </select>
     <resultMap id="SporadicChargeInfoDtoMap" type="com.ym.mec.biz.dal.dto.SporadicChargeInfoDto">
         <result property="organName" column="organ_name_"/>

+ 2 - 2
mec-web/src/main/resources/exportColumnMapper.ini

@@ -343,8 +343,8 @@ headColumns = ["分部", "老师姓名", "声部", "课程时长(分)", "课
 fieldColumns = ["organName", "teacherName", "subjectName", "courseTime", "playTime", "totalPlayTime"]
 
 [oa费用汇总]
-headColumns = ["城市","固定人力成本","房屋","办公","水电物业","变动人力成本","差旅","外部服务","福利","活动","交通","考级","临时场地租赁","通讯","邮递运输","招待费","其他","学员管理费","云教练成本","网络教室成本","业务退费","内部结算"]
-fieldColumns = ["organName", "fixedHumanCost", "house", "office", "mainsProperty","variableHumanCost", "travel","services", "welfare", "activities", "traffic", "certificates", "instrument","communications", "postalTransport", "hospitality", "other", "studentManagementFeeAdjustment","cloudCoachingCost", "network", "refund", "internalSettlement"]
+headColumns = ["城市","固定人力成本","房屋","办公","水电物业","变动人力成本","差旅","外部服务","福利","活动","交通","考级","临时场地租赁","通讯","邮递运输","招待费","其他","学员管理费","云教练成本","网络教室成本","业务退费","内部结算","手续费税费"]
+fieldColumns = ["organName", "fixedHumanCost", "house", "office", "mainsProperty","variableHumanCost", "travel","services", "welfare", "activities", "traffic", "certificates", "instrument","communications", "postalTransport", "hospitality", "other", "studentManagementFeeAdjustment","cloudCoachingCost", "network", "refund", "internalSettlement", "commissionAndTax"]
 
 [oa费用明细]
 headColumns = ["城市","钉钉流程编号","费用归属学校","申请人","费用项目","费用类型","付款金额","付款时间","明细","学员编号","当期金额"]