|
@@ -48,6 +48,8 @@ import java.util.function.BiFunction;
|
|
|
import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
+import static com.ym.mec.biz.dal.enums.OrderTypeEnum.OUTORDER;
|
|
|
+
|
|
|
@Service
|
|
|
public class ExportServiceImpl implements ExportService {
|
|
|
|
|
@@ -1600,7 +1602,7 @@ public class ExportServiceImpl implements ExportService {
|
|
|
long i = 1;
|
|
|
Map<Integer, String> cooperationOrganMap = new HashMap<>();
|
|
|
List<Integer> cooperationOrganIds = studentPaymentOrderExportDtos.stream()
|
|
|
- .filter(e -> OrderTypeEnum.OUTORDER.equals(e.getType()))
|
|
|
+ .filter(e -> OUTORDER.equals(e.getType()))
|
|
|
.filter(e -> e.getMusicGroupId() != null)
|
|
|
.map(e -> Integer.valueOf(e.getMusicGroupId()))
|
|
|
.distinct()
|
|
@@ -1636,6 +1638,12 @@ public class ExportServiceImpl implements ExportService {
|
|
|
if(musicGroupIds != null && musicGroupIds.size() > 0){
|
|
|
musicGroupNameMap = MapUtil.convertIntegerMap(musicGroupDao.queryMusicGroupNameMap(musicGroupIds));
|
|
|
}
|
|
|
+ //获取外部订单的商品销售金额
|
|
|
+ List<Long> outOrderList = studentPaymentOrderExportDtos.stream().filter(e -> e.getType() == OUTORDER).map(e -> e.getId()).collect(Collectors.toList());
|
|
|
+ Map<Long,BigDecimal> outOrderAmountMap = new HashMap<>();
|
|
|
+ if(org.apache.commons.collections.CollectionUtils.isNotEmpty(outOrderList)){
|
|
|
+ outOrderAmountMap = MapUtil.convertIntegerMap(sellOrderDao.sumOutOrderAmount(outOrderList));
|
|
|
+ }
|
|
|
|
|
|
for (StudentPaymentOrderExportDto row : studentPaymentOrderExportDtos) {
|
|
|
if (row.getActualAmount() == null) {
|
|
@@ -1871,8 +1879,13 @@ public class ExportServiceImpl implements ExportService {
|
|
|
row.setRetailGoodsFee(row.getActualAmount());
|
|
|
row.setTypeDesc(StudentPaymentOrderExportDto.TypeDesc.RETAIL_GOODS);
|
|
|
} else if (row.getGroupType().equals(GroupType.OUTORDER)) {
|
|
|
- row.setLargeMusicalFee(row.getActualAmount());
|
|
|
- row.setTypeDesc(StudentPaymentOrderExportDto.TypeDesc.LARGE_MUSICAL);
|
|
|
+ if(outOrderAmountMap.get(row.getId()) == null){
|
|
|
+ row.setCourseSchoolBuyAmount(row.getActualAmount());
|
|
|
+ row.setTypeDesc(StudentPaymentOrderExportDto.TypeDesc.COURSE_SCHOOL_BUY);
|
|
|
+ }else {
|
|
|
+ row.setLargeMusicalFee(row.getActualAmount());
|
|
|
+ row.setTypeDesc(StudentPaymentOrderExportDto.TypeDesc.LARGE_MUSICAL);
|
|
|
+ }
|
|
|
} else {
|
|
|
StudentPaymentOrderExportDto feeByType = sellOrderDao.getFeeByType(row.getId());
|
|
|
BigDecimal childRepairFee = sellOrderDao.getChildRepair(row.getId());
|
|
@@ -1891,7 +1904,7 @@ public class ExportServiceImpl implements ExportService {
|
|
|
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)) {
|
|
|
+ } else if (row.getType().equals(OUTORDER)) {
|
|
|
row.setMusicGroupCourseFee(feeByType.getActualAmount().subtract(feeByType.getMusicalFee()).subtract(row.getTeachingFee()).subtract(row.getMaintenanceProductFee()).subtract(feeByType.getOtherFee()));
|
|
|
row.setTransferFee(BigDecimal.ZERO);
|
|
|
row.setPlatformFee(BigDecimal.ZERO);
|
|
@@ -1905,7 +1918,7 @@ public class ExportServiceImpl implements ExportService {
|
|
|
row.setEduTeacher(cooperationOrgan.getLinkman() != null ? cooperationOrgan.getLinkman() : row.getEduTeacher());
|
|
|
}
|
|
|
}
|
|
|
- if (row.getType().equals(OrderTypeEnum.OUTORDER) && row.getMusicGroupId() != null) {
|
|
|
+ if (row.getType().equals(OUTORDER) && row.getMusicGroupId() != null) {
|
|
|
if (cooperationOrganMap.containsKey(Integer.valueOf(row.getMusicGroupId()))) {
|
|
|
row.setCooperationOrganName(cooperationOrganMap.get(Integer.valueOf(row.getMusicGroupId())));
|
|
|
CooperationOrgan cooperationOrganEduTeacher = musicGroupDao.findCooperationOrganEduTeacher(Integer.valueOf(row.getMusicGroupId()));
|
|
@@ -1942,30 +1955,6 @@ public class ExportServiceImpl implements ExportService {
|
|
|
Map<String, String> headMap = getExportMap(new ExportDto(ExportEnum.ORDER_LIST1, headColumns));
|
|
|
String[] header = headMap.keySet().toArray(new String[headMap.keySet().size()]);
|
|
|
String[] body = headMap.values().toArray(new String[headMap.keySet().size()]);
|
|
|
- /*if(isPlatformUser){
|
|
|
- String[] header = {"序号", "学生编号", "学生姓名", "交易流水号", "订单编号", "收款渠道", "收款账户", "订单金额", "应付金额", "现金支付", "余额支付", "优惠金额",
|
|
|
- "乐团课", "VIP课", "网管课", "乐理课", "考级", "维修费用", "乐保费用", "团练宝", "押金", "乐器", "教辅费用", "上门费",
|
|
|
- "账户充值", "其它", "汇付手续费","平台手续费", "到账时间",
|
|
|
- "关联乐团ID/VIP课ID", "课程形态", "零星收款类别", "专业", "分部", "教学点", "合作单位", "乐团主管", "备注"};
|
|
|
-
|
|
|
- String[] body = {"id", "userId", "user.username", "transNo", "orderNo", "paymentChannel", "merNos", "orderAmount", "expectAmount", "actualAmount", "balancePaymentAmount", "couponRemitFee",
|
|
|
- "musicGroupCourseFee", "vipCourseFee", "practiceCourseFee", "theoryCourseFee", "degreeFee", "repairFee", "maintenanceFee", "cloudTeacherFee",
|
|
|
- "leaseFee", "musicalFee", "teachingFee", "visitFee", "rechargeFee", "otherFee", "transferFee", "platformFee", "payTime", "musicGroupId",
|
|
|
- "groupType.desc", "sporadicType", "subjectName", "organName", "schoolName", "cooperationOrganName", "eduTeacher", "memo"};
|
|
|
- workbook = POIUtil.exportExcel(header, body, studentPaymentOrderExportDtos);
|
|
|
- }else{
|
|
|
- String[] header = {"序号", "学生编号", "学生姓名", "交易流水号", "订单编号", "收款渠道", "收款账户", "订单金额", "应付金额", "现金支付", "余额支付", "优惠金额",
|
|
|
- "乐团课", "VIP课", "网管课", "乐理课", "考级", "维修费用", "乐保费用", "团练宝", "押金", "乐器", "教辅费用", "上门费",
|
|
|
- "账户充值", "其它","平台手续费", "到账时间",
|
|
|
- "关联乐团ID/VIP课ID", "课程形态", "零星收款类别", "专业", "分部", "教学点", "合作单位", "乐团主管", "备注"};
|
|
|
-
|
|
|
- String[] body = {"id", "userId", "user.username", "transNo", "orderNo", "paymentChannel", "merNos", "orderAmount", "expectAmount", "actualAmount", "balancePaymentAmount", "couponRemitFee",
|
|
|
- "musicGroupCourseFee", "vipCourseFee", "practiceCourseFee", "theoryCourseFee", "degreeFee", "repairFee", "maintenanceFee", "cloudTeacherFee",
|
|
|
- "leaseFee", "musicalFee", "teachingFee", "visitFee", "rechargeFee", "otherFee", "platformFee", "payTime", "musicGroupId",
|
|
|
- "groupType.desc", "sporadicType", "subjectName", "organName", "schoolName", "cooperationOrganName", "eduTeacher", "memo"};
|
|
|
- workbook = POIUtil.exportExcel(header, body, studentPaymentOrderExportDtos);
|
|
|
- }*/
|
|
|
-
|
|
|
workbook = POIUtil.exportExcel(header, body, studentPaymentOrderExportDtos);
|
|
|
workbook.write(fileOutputStream);
|
|
|
fileOutputStream.getFD().sync();
|
|
@@ -1996,7 +1985,7 @@ public class ExportServiceImpl implements ExportService {
|
|
|
long i = 1;
|
|
|
Map<Integer, String> cooperationOrganMap = new HashMap<>();
|
|
|
List<Integer> cooperationOrganIds = studentPaymentOrderExportDtos.stream()
|
|
|
- .filter(e -> OrderTypeEnum.OUTORDER.equals(e.getType()))
|
|
|
+ .filter(e -> OUTORDER.equals(e.getType()))
|
|
|
.filter(e -> e.getMusicGroupId() != null)
|
|
|
.map(e -> Integer.valueOf(e.getMusicGroupId()))
|
|
|
.distinct()
|
|
@@ -2287,7 +2276,7 @@ public class ExportServiceImpl implements ExportService {
|
|
|
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)) {
|
|
|
+ } else if (row.getType().equals(OUTORDER)) {
|
|
|
row.setMusicGroupCourseFee(feeByType.getActualAmount().subtract(feeByType.getMusicalFee()).subtract(row.getTeachingFee()).subtract(row.getMaintenanceProductFee()).subtract(feeByType.getOtherFee()));
|
|
|
row.setTransferFee(BigDecimal.ZERO);
|
|
|
row.setPlatformFee(BigDecimal.ZERO);
|
|
@@ -2301,7 +2290,7 @@ public class ExportServiceImpl implements ExportService {
|
|
|
row.setEduTeacher(cooperationOrgan.getLinkman() != null ? cooperationOrgan.getLinkman() : row.getEduTeacher());
|
|
|
}
|
|
|
}
|
|
|
- if (row.getType().equals(OrderTypeEnum.OUTORDER) && row.getMusicGroupId() != null) {
|
|
|
+ if (row.getType().equals(OUTORDER) && row.getMusicGroupId() != null) {
|
|
|
if (cooperationOrganMap.containsKey(Integer.valueOf(row.getMusicGroupId()))) {
|
|
|
row.setCooperationOrganName(cooperationOrganMap.get(Integer.valueOf(row.getMusicGroupId())));
|
|
|
CooperationOrgan cooperationOrganEduTeacher = musicGroupDao.findCooperationOrganEduTeacher(Integer.valueOf(row.getMusicGroupId()));
|
|
@@ -2338,30 +2327,6 @@ public class ExportServiceImpl implements ExportService {
|
|
|
Map<String, String> headMap = getExportMap(new ExportDto(ExportEnum.ORDER_LIST1, headColumns));
|
|
|
String[] header = headMap.keySet().toArray(new String[headMap.keySet().size()]);
|
|
|
String[] body = headMap.values().toArray(new String[headMap.keySet().size()]);
|
|
|
- /*if(isPlatformUser){
|
|
|
- String[] header = {"序号", "学生编号", "学生姓名", "交易流水号", "订单编号", "收款渠道", "收款账户", "订单金额", "应付金额", "现金支付", "余额支付", "优惠金额",
|
|
|
- "乐团课", "VIP课", "网管课", "乐理课", "考级", "维修费用", "乐保费用", "团练宝", "押金", "乐器", "教辅费用", "上门费",
|
|
|
- "账户充值", "其它", "汇付手续费","平台手续费", "到账时间",
|
|
|
- "关联乐团ID/VIP课ID", "课程形态", "零星收款类别", "专业", "分部", "教学点", "合作单位", "乐团主管", "备注"};
|
|
|
-
|
|
|
- String[] body = {"id", "userId", "user.username", "transNo", "orderNo", "paymentChannel", "merNos", "orderAmount", "expectAmount", "actualAmount", "balancePaymentAmount", "couponRemitFee",
|
|
|
- "musicGroupCourseFee", "vipCourseFee", "practiceCourseFee", "theoryCourseFee", "degreeFee", "repairFee", "maintenanceFee", "cloudTeacherFee",
|
|
|
- "leaseFee", "musicalFee", "teachingFee", "visitFee", "rechargeFee", "otherFee", "transferFee", "platformFee", "payTime", "musicGroupId",
|
|
|
- "groupType.desc", "sporadicType", "subjectName", "organName", "schoolName", "cooperationOrganName", "eduTeacher", "memo"};
|
|
|
- workbook = POIUtil.exportExcel(header, body, studentPaymentOrderExportDtos);
|
|
|
- }else{
|
|
|
- String[] header = {"序号", "学生编号", "学生姓名", "交易流水号", "订单编号", "收款渠道", "收款账户", "订单金额", "应付金额", "现金支付", "余额支付", "优惠金额",
|
|
|
- "乐团课", "VIP课", "网管课", "乐理课", "考级", "维修费用", "乐保费用", "团练宝", "押金", "乐器", "教辅费用", "上门费",
|
|
|
- "账户充值", "其它","平台手续费", "到账时间",
|
|
|
- "关联乐团ID/VIP课ID", "课程形态", "零星收款类别", "专业", "分部", "教学点", "合作单位", "乐团主管", "备注"};
|
|
|
-
|
|
|
- String[] body = {"id", "userId", "user.username", "transNo", "orderNo", "paymentChannel", "merNos", "orderAmount", "expectAmount", "actualAmount", "balancePaymentAmount", "couponRemitFee",
|
|
|
- "musicGroupCourseFee", "vipCourseFee", "practiceCourseFee", "theoryCourseFee", "degreeFee", "repairFee", "maintenanceFee", "cloudTeacherFee",
|
|
|
- "leaseFee", "musicalFee", "teachingFee", "visitFee", "rechargeFee", "otherFee", "platformFee", "payTime", "musicGroupId",
|
|
|
- "groupType.desc", "sporadicType", "subjectName", "organName", "schoolName", "cooperationOrganName", "eduTeacher", "memo"};
|
|
|
- workbook = POIUtil.exportExcel(header, body, studentPaymentOrderExportDtos);
|
|
|
- }*/
|
|
|
-
|
|
|
workbook = POIUtil.exportExcel(header, body, studentPaymentOrderExportDtos);
|
|
|
workbook.write(fileOutputStream);
|
|
|
fileOutputStream.getFD().sync();
|
|
@@ -2392,7 +2357,7 @@ public class ExportServiceImpl implements ExportService {
|
|
|
|
|
|
Map<Integer, String> cooperationOrganMap = new HashMap<>();
|
|
|
List<Integer> cooperationOrganIds = studentPaymentOrderExportDtos.stream()
|
|
|
- .filter(e -> OrderTypeEnum.OUTORDER.equals(e.getType()))
|
|
|
+ .filter(e -> OUTORDER.equals(e.getType()))
|
|
|
.filter(e -> e.getMusicGroupId() != null)
|
|
|
.map(e -> Integer.valueOf(e.getMusicGroupId()))
|
|
|
.distinct()
|
|
@@ -2713,7 +2678,7 @@ public class ExportServiceImpl implements ExportService {
|
|
|
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)) {
|
|
|
+ } else if (row.getType().equals(OUTORDER)) {
|
|
|
row.setMusicGroupCourseFee(feeByType.getActualAmount().subtract(feeByType.getMusicalFee()).subtract(feeByType.getTeachingFee()).subtract(feeByType.getRepairFee()).subtract(feeByType.getOtherFee()));
|
|
|
row.setTransferFee(BigDecimal.ZERO);
|
|
|
row.setPlatformFee(BigDecimal.ZERO);
|
|
@@ -2727,7 +2692,7 @@ public class ExportServiceImpl implements ExportService {
|
|
|
row.setEduTeacher(cooperationOrgan.getLinkman() != null ? cooperationOrgan.getLinkman() : row.getEduTeacher());
|
|
|
}
|
|
|
}
|
|
|
- if (row.getType().equals(OrderTypeEnum.OUTORDER) && row.getMusicGroupId() != null) {
|
|
|
+ if (row.getType().equals(OUTORDER) && row.getMusicGroupId() != null) {
|
|
|
if (cooperationOrganMap.containsKey(Integer.valueOf(row.getMusicGroupId()))) {
|
|
|
row.setCooperationOrganName(cooperationOrganMap.get(Integer.valueOf(row.getMusicGroupId())));
|
|
|
CooperationOrgan cooperationOrganEduTeacher = musicGroupDao.findCooperationOrganEduTeacher(Integer.valueOf(row.getMusicGroupId()));
|
|
@@ -2849,7 +2814,7 @@ public class ExportServiceImpl implements ExportService {
|
|
|
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)) {
|
|
|
+ } else if (order.getType().equals(OUTORDER)) {
|
|
|
musicGroupCourseFee = order.getRouteAmount().subtract(musicalFee).subtract(teachingFee).subtract(maintenanceProductFee).subtract(otherFee);
|
|
|
}
|
|
|
}
|