Przeglądaj źródła

Merge branch 'musicGroup_reg_feature_5_8'

周箭河 4 lat temu
rodzic
commit
197e795400

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentPaymentOrderExportDto.java

@@ -53,6 +53,8 @@ public class StudentPaymentOrderExportDto extends StudentPaymentOrder {
     private BigDecimal maintenanceFee = BigDecimal.ZERO;
     //商品乐保
     private BigDecimal maintenanceProductFee = BigDecimal.ZERO;
+    //云教练费用
+    private BigDecimal cloudTeacherFee = BigDecimal.ZERO;
 
     private String organName;
     private String schoolName;
@@ -339,4 +341,12 @@ public class StudentPaymentOrderExportDto extends StudentPaymentOrder {
     public void setEduTeacher(String eduTeacher) {
         this.eduTeacher = eduTeacher;
     }
+
+    public BigDecimal getCloudTeacherFee() {
+        return cloudTeacherFee;
+    }
+
+    public void setCloudTeacherFee(BigDecimal cloudTeacherFee) {
+        this.cloudTeacherFee = cloudTeacherFee;
+    }
 }

+ 33 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ExportServiceImpl.java

@@ -137,12 +137,21 @@ public class ExportServiceImpl implements ExportService {
                             break;
                         case OTHER:
                             row.setOtherFee(row.getOtherFee().add(orderDetail.getPrice()));
+                            break;
                         case MAINTENANCE:
                             BigDecimal repairFee = BigDecimal.ZERO;
                             if (row.getExpectAmount().compareTo(BigDecimal.ZERO) > 0) {
                                 repairFee = orderDetail.getPrice().multiply(row.getActualAmount()).divide(row.getExpectAmount(), 2, BigDecimal.ROUND_DOWN);
                             }
                             row.setMaintenanceFee(repairFee);
+                            break;
+                        case CLOUD_TEACHER:
+                            BigDecimal cloudTeacherFee = BigDecimal.ZERO;
+                            if (row.getExpectAmount().compareTo(BigDecimal.ZERO) > 0) {
+                                cloudTeacherFee = orderDetail.getPrice().multiply(row.getActualAmount()).divide(row.getExpectAmount(), 2, BigDecimal.ROUND_DOWN);
+                            }
+                            row.setCloudTeacherFee(cloudTeacherFee);
+                            break;
                         default:
                             break;
                     }
@@ -235,7 +244,7 @@ public class ExportServiceImpl implements ExportService {
                         row.setCooperationOrganName(studentRegistration.getRemark());
                         row.setEduTeacher(studentRegistration.getName());
                     }
-                    row.setMusicGroupCourseFee(feeByType.getActualAmount().subtract(feeByType.getMusicalFee()).subtract(row.getTeachingFee()).subtract(row.getMaintenanceFee()).subtract(row.getMaintenanceProductFee()).subtract(feeByType.getOtherFee()).subtract(row.getLeaseFee()));
+                    row.setMusicGroupCourseFee(feeByType.getActualAmount().subtract(feeByType.getMusicalFee()).subtract(row.getTeachingFee()).subtract(row.getMaintenanceFee()).subtract(row.getMaintenanceProductFee()).subtract(feeByType.getOtherFee()).subtract(row.getLeaseFee()).subtract(row.getCloudTeacherFee()));
                 } else if (row.getType().equals(OrderTypeEnum.REPAIR)) {
                     row.setRepairFee(feeByType.getActualAmount().subtract(feeByType.getMusicalFee()).subtract(feeByType.getTeachingFee()).subtract(feeByType.getOtherFee()));
                 } else if (row.getType().equals(OrderTypeEnum.OUTORDER)) {
@@ -284,9 +293,9 @@ public class ExportServiceImpl implements ExportService {
 
         HSSFWorkbook workbook = null;
         try {
-            String[] header = {"序号", "学生姓名", "交易流水号", "订单编号", "收款渠道", "收款账户", "应付金额", "现金支付", "余额支付", "乐团课", "VIP课", "网管课", "乐理课", "考级", "维修费用", "押金", "乐器", "教辅费用", "其它", "手续费", "到账时间",
+            String[] header = {"序号", "学生姓名", "交易流水号", "订单编号", "收款渠道", "收款账户", "应付金额", "现金支付", "余额支付", "乐团课", "VIP课", "网管课", "乐理课", "考级", "维修费用","云教练","押金", "乐器", "教辅费用", "其它", "手续费", "到账时间",
                     "关联乐团ID/VIP课ID", "课程形态", "零星收款类别", "专业", "分部", "教学点", "合作单位", "乐团主管", "备注"};
-            String[] body = {"id", "user.username", "transNo", "orderNo", "paymentChannel", "merNos", "expectAmount", "actualAmount", "balancePaymentAmount", "musicGroupCourseFee", "vipCourseFee", "practiceCourseFee", "theoryCourseFee", "degreeFee", "repairFee", "leaseFee", "musicalFee", "teachingFee", "otherFee", "transferFee", "payTime", "musicGroupId",
+            String[] body = {"id", "user.username", "transNo", "orderNo", "paymentChannel", "merNos", "expectAmount", "actualAmount", "balancePaymentAmount", "musicGroupCourseFee", "vipCourseFee", "practiceCourseFee", "theoryCourseFee", "degreeFee", "repairFee","cloudTeacherFee", "leaseFee", "musicalFee", "teachingFee", "otherFee", "transferFee", "payTime", "musicGroupId",
                     "groupType.desc", "sporadicType", "subjectName", "organName", "schoolName", "cooperationOrganName", "eduTeacher", "memo"};
             workbook = POIUtil.exportExcel(header, body, studentPaymentOrderExportDtos);
             workbook.write(fileOutputStream);
@@ -389,12 +398,21 @@ public class ExportServiceImpl implements ExportService {
                             break;
                         case OTHER:
                             row.setOtherFee(row.getOtherFee().add(orderDetail.getPrice()));
+                            break;
                         case MAINTENANCE:
                             BigDecimal maintenanceFee = BigDecimal.ZERO;
                             if (row.getExpectAmount().compareTo(BigDecimal.ZERO) > 0) {
                                 maintenanceFee = orderDetail.getPrice().multiply(row.getActualAmount()).divide(row.getExpectAmount(), 2, BigDecimal.ROUND_DOWN);
                             }
                             row.setMaintenanceFee(maintenanceFee);
+                            break;
+                        case CLOUD_TEACHER:
+                            BigDecimal cloudTeacherFee = BigDecimal.ZERO;
+                            if (row.getExpectAmount().compareTo(BigDecimal.ZERO) > 0) {
+                                cloudTeacherFee = orderDetail.getPrice().multiply(row.getActualAmount()).divide(row.getExpectAmount(), 2, BigDecimal.ROUND_DOWN);
+                            }
+                            row.setCloudTeacherFee(cloudTeacherFee);
+                            break;
                         default:
                             break;
                     }
@@ -487,7 +505,7 @@ public class ExportServiceImpl implements ExportService {
                         row.setCooperationOrganName(studentRegistration.getRemark());
                         row.setEduTeacher(studentRegistration.getName());
                     }
-                    row.setMusicGroupCourseFee(feeByType.getActualAmount().subtract(feeByType.getMusicalFee()).subtract(row.getTeachingFee()).subtract(row.getMaintenanceFee()).subtract(row.getMaintenanceProductFee()).subtract(feeByType.getOtherFee()).subtract(row.getLeaseFee()));
+                    row.setMusicGroupCourseFee(feeByType.getActualAmount().subtract(feeByType.getMusicalFee()).subtract(row.getTeachingFee()).subtract(row.getMaintenanceFee()).subtract(row.getMaintenanceProductFee()).subtract(feeByType.getOtherFee()).subtract(row.getLeaseFee()).subtract(row.getCloudTeacherFee()));
                 } else if (row.getType().equals(OrderTypeEnum.REPAIR)) {
                     row.setRepairFee(feeByType.getActualAmount().subtract(feeByType.getMusicalFee()).subtract(feeByType.getTeachingFee()).subtract(feeByType.getOtherFee()));
                 } else if (row.getType().equals(OrderTypeEnum.OUTORDER)) {
@@ -543,6 +561,7 @@ public class ExportServiceImpl implements ExportService {
             BigDecimal routeMusicalFee = BigDecimal.ZERO;
             BigDecimal routeTeachingFee = BigDecimal.ZERO;
             BigDecimal routeOtherFee = BigDecimal.ZERO;
+            BigDecimal routeCloudTeacherFee = BigDecimal.ZERO;
             for (StudentPaymentOrderExportDto order : orders) {
                 Date endDate = DateUtil.stringToDate("2021-04-01", "yyyy-MM-dd");
                 if (order.getPayTime() == null || order.getPayTime().compareTo(endDate) < 0) {
@@ -554,10 +573,12 @@ public class ExportServiceImpl implements ExportService {
                     order.setPracticeCourseFee(BigDecimal.ZERO);
                     order.setTheoryCourseFee(BigDecimal.ZERO);
                     order.setDegreeFee(BigDecimal.ZERO);
+                    order.setCloudTeacherFee(BigDecimal.ZERO);
                     order.setRepairFee(order.getMaintenanceProductFee());
                     continue;
                 } else if (order.getSaleAmount().compareTo(BigDecimal.ZERO) == 0 && order.getServiceAmount().compareTo(BigDecimal.ZERO) > 0) {
                     order.setRepairFee(order.getRepairFee().add(order.getMaintenanceFee()));
+                    order.setCloudTeacherFee(order.getCloudTeacherFee());
                     order.setMusicalFee(BigDecimal.ZERO);
                     order.setTeachingFee(BigDecimal.ZERO);
                     order.setOtherFee(BigDecimal.ZERO);
@@ -576,6 +597,7 @@ public class ExportServiceImpl implements ExportService {
                 BigDecimal musicalFee = BigDecimal.ZERO;
                 BigDecimal teachingFee = BigDecimal.ZERO;
                 BigDecimal otherFee = BigDecimal.ZERO;
+                BigDecimal cloudTeacherFee = BigDecimal.ZERO;
 
                 if (order.getActualAmount() != null && order.getActualAmount().compareTo(BigDecimal.ZERO) > 0) {
                     musicGroupCourseFee = order.getMusicGroupCourseFee().multiply(order.getRouteAmount()).divide(order.getActualAmount(), 2, BigDecimal.ROUND_DOWN);
@@ -590,6 +612,7 @@ public class ExportServiceImpl implements ExportService {
                     musicalFee = order.getMusicalFee().multiply(order.getRouteAmount()).divide(order.getActualAmount(), 2, BigDecimal.ROUND_DOWN);
                     teachingFee = order.getTeachingFee().multiply(order.getRouteAmount()).divide(order.getActualAmount(), 2, BigDecimal.ROUND_DOWN);
                     otherFee = order.getOtherFee().multiply(order.getRouteAmount()).divide(order.getActualAmount(), 2, BigDecimal.ROUND_DOWN);
+                    cloudTeacherFee = order.getCloudTeacherFee().multiply(order.getRouteAmount()).divide(order.getActualAmount(), 2, BigDecimal.ROUND_DOWN);
                 }
 
                 if (order.getGroupType().equals(GroupType.VIP)) {
@@ -611,7 +634,7 @@ public class ExportServiceImpl implements ExportService {
                     practiceCourseFee = order.getRouteAmount();
                 } else {
                     if (order.getGroupType().equals(GroupType.MUSIC)) {
-                        musicGroupCourseFee = order.getRouteAmount().subtract(musicalFee).subtract(teachingFee).subtract(maintenanceFee).subtract(maintenanceProductFee).subtract(otherFee).subtract(leaseFee);
+                        musicGroupCourseFee = order.getRouteAmount().subtract(musicalFee).subtract(teachingFee).subtract(maintenanceFee).subtract(maintenanceProductFee).subtract(otherFee).subtract(leaseFee).subtract(cloudTeacherFee);
                     } else if (order.getType().equals(OrderTypeEnum.REPAIR)) {
                         repairFee = order.getRouteAmount().subtract(musicalFee).subtract(teachingFee).subtract(otherFee);
                     } else if (order.getType().equals(OrderTypeEnum.OUTORDER)) {
@@ -632,6 +655,7 @@ public class ExportServiceImpl implements ExportService {
                     musicalFee = order.getMusicalFee().subtract(routeMusicalFee);
                     teachingFee = order.getTeachingFee().subtract(routeTeachingFee);
                     otherFee = order.getOtherFee().subtract(routeOtherFee);
+                    cloudTeacherFee = order.getCloudTeacherFee().subtract(routeCloudTeacherFee);
                 }
                 j++;
 
@@ -647,6 +671,7 @@ public class ExportServiceImpl implements ExportService {
                 routeMusicalFee = routeMusicalFee.add(musicalFee);
                 routeTeachingFee = routeTeachingFee.add(teachingFee);
                 routeOtherFee = routeOtherFee.add(otherFee);
+                routeCloudTeacherFee = routeCloudTeacherFee.add(cloudTeacherFee);
 
                 order.setMusicGroupCourseFee(musicGroupCourseFee);
                 order.setVipCourseFee(vipCourseFee);
@@ -660,6 +685,7 @@ public class ExportServiceImpl implements ExportService {
                 order.setMusicalFee(musicalFee);
                 order.setTeachingFee(teachingFee);
                 order.setOtherFee(otherFee);
+                order.setCloudTeacherFee(cloudTeacherFee);
             }
         });
         String[] organIdArr = params.get("oldOrganId").toString().split(",");
@@ -672,9 +698,9 @@ public class ExportServiceImpl implements ExportService {
 
         HSSFWorkbook workbook = null;
         try {
-            String[] header = {"序号", "学生姓名", "交易流水号", "订单编号", "收款渠道", "收款账户", "应付金额", "现金支付", "余额支付", "分润账户", "分润金额", "分润余额", "乐团课", "VIP课", "网管课", "乐理课", "考级", "维修费用", "押金", "乐器", "教辅费用", "其它", "手续费", "到账时间",
+            String[] header = {"序号", "学生姓名", "交易流水号", "订单编号", "收款渠道", "收款账户", "应付金额", "现金支付", "余额支付", "分润账户", "分润金额", "分润余额", "乐团课", "VIP课", "网管课", "乐理课", "考级", "维修费用","云教练", "押金", "乐器", "教辅费用", "其它", "手续费", "到账时间",
                     "关联乐团ID/VIP课ID", "课程形态", "零星收款类别", "专业", "分部", "教学点", "合作单位", "乐团主管", "备注"};
-            String[] body = {"id", "user.username", "transNo", "orderNo", "paymentChannel", "merNos", "expectAmount", "actualAmount", "balancePaymentAmount", "routeMerNo", "routeAmount", "routeBalance", "musicGroupCourseFee", "vipCourseFee", "practiceCourseFee", "theoryCourseFee", "degreeFee", "repairFee", "leaseFee", "musicalFee", "teachingFee", "otherFee", "transferFee", "payTime", "musicGroupId",
+            String[] body = {"id", "user.username", "transNo", "orderNo", "paymentChannel", "merNos", "expectAmount", "actualAmount", "balancePaymentAmount", "routeMerNo", "routeAmount", "routeBalance", "musicGroupCourseFee", "vipCourseFee", "practiceCourseFee", "theoryCourseFee", "degreeFee", "repairFee","cloudTeacherFee", "leaseFee", "musicalFee", "teachingFee", "otherFee", "transferFee", "payTime", "musicGroupId",
                     "groupType.desc", "sporadicType", "subjectName", "organName", "schoolName", "cooperationOrganName", "eduTeacher", "memo"};
             workbook = POIUtil.exportExcel(header, body, studentPaymentOrderExportDtos);
             workbook.write(fileOutputStream);