| 
					
				 | 
			
			
				@@ -28,6 +28,7 @@ import com.ym.mec.util.ini.IniFileUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.util.upload.UploadUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.apache.commons.lang3.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.apache.poi.hssf.usermodel.HSSFWorkbook; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.snaker.engine.entity.Order; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.beans.factory.annotation.Value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.boot.system.ApplicationHome; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -44,8 +45,8 @@ import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.concurrent.CompletableFuture; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.concurrent.ExecutorService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.concurrent.Executors; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.function.BiConsumer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.function.BiFunction; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.function.Consumer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.function.Function; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.stream.Collectors; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1391,7 +1392,7 @@ public class ExportServiceImpl implements ExportService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //        queryInfo.setRoutingOrganId(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ManagerDownload managerDownload = saveManagerDownload(ExportTypeEnum.ROUTE_ORDER,sysUser.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return this.asyncExport(() -> this.routeOrderList(params, managerDownload, headColumns), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return this.asyncExport(() -> this.routeOrderList1(params, managerDownload, headColumns), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 managerDownload.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2225,6 +2226,227 @@ public class ExportServiceImpl implements ExportService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         exportManagerDownload(workbook,managerDownload); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public BigDecimal subtract(BigDecimal a, BigDecimal b) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        BigDecimal subtract = a.subtract(b); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (subtract.compareTo(BigDecimal.ZERO) < 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            subtract = BigDecimal.ZERO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return subtract; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void routeOrderList1(Map<String, Object> params, ManagerDownload managerDownload,List<String> headColumns){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //获取分润订单(不包含订单详情)(纯余额支付不处理) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<StudentPaymentOrderExportDto> studentPaymentOrderExportDtos = studentPaymentRouteOrderDao.ExportQueryPage1(params); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (CollectionUtils.isEmpty(studentPaymentOrderExportDtos)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Set<Long> paymentOrderIds = studentPaymentOrderExportDtos.stream().map(e -> e.getId()).collect(Collectors.toSet()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //获取商品订单详情 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<SellOrder> sellOrders = sellOrderDao.querySellOrderByOrderIds(paymentOrderIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Long, List<SellOrder>> sellOrderMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Integer, Goods> goodsMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(!CollectionUtils.isEmpty(sellOrders)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            sellOrderMap = sellOrders.stream().collect(Collectors.groupingBy(SellOrder::getOrderId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //获取商品列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<Goods> goodsList = goodsService.findGoodsByIds(sellOrders.stream().map(e -> e.getGoodsId().toString()).distinct().collect(Collectors.joining(","))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            goodsMap = goodsList.stream().collect(Collectors.toMap(Goods::getId, Function.identity())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //获取订单详情 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<StudentPaymentOrderDetail> orderDetails = studentPaymentOrderDetailService.getDao().getOrderDetailByOrderId(new ArrayList<>(paymentOrderIds)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Long, List<StudentPaymentOrderDetail>> orderDetailMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //订单详情塞到对应的订单中 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!CollectionUtils.isEmpty(orderDetails)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            orderDetailMap = orderDetails.stream().collect(Collectors.groupingBy(StudentPaymentOrderDetail::getPaymentOrderId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (StudentPaymentOrderExportDto basicOrder : studentPaymentOrderExportDtos) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(basicOrder.getRouteAmount().compareTo(BigDecimal.ZERO) == 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //如果有订单详情 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<StudentPaymentOrderDetail> detailList = orderDetailMap.get(basicOrder.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (!CollectionUtils.isEmpty(detailList)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(basicOrder.getServiceAmount().compareTo(BigDecimal.ZERO) > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //计算服务收入 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Consumer<StudentPaymentOrderDetail> con = (orderDetail)->this.setServiceFee(basicOrder,orderDetail); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    detailList.stream().forEach(con); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }else if(basicOrder.getSaleAmount().compareTo(BigDecimal.ZERO) > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //计算销售收入 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Consumer<StudentPaymentOrderDetail> con = (orderDetail)->this.setSaleFee(basicOrder,orderDetail); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    detailList.stream().forEach(con); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //如果没有订单详情,则计算商品收入 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<SellOrder> sellOrderList = sellOrderMap.get(basicOrder.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (!CollectionUtils.isEmpty(sellOrderList)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(basicOrder.getServiceAmount().compareTo(BigDecimal.ZERO) > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //计算服务收入(如果商品编号是76)那么算乐器保养费用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(sellOrderList.stream().anyMatch(e -> e.getGoodsId().equals("76"))){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        sellOrderList.stream().forEach(e->basicOrder.setMaintenanceProductFee(basicOrder.getMaintenanceProductFee().add(e.getActualAmount()))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }else if(basicOrder.getSaleAmount().compareTo(BigDecimal.ZERO) > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //计算销售收入,排除商品编号是76的商品,其他的商品按分类统计 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    for (SellOrder e : sellOrderList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        this.setSaleFee(basicOrder,e,goodsMap.get(e.getGoodsId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //如果只有订单,那么按分类统计 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(basicOrder.getServiceAmount().compareTo(BigDecimal.ZERO) > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //计算服务收入 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.setServiceFee(basicOrder); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }else if(basicOrder.getSaleAmount().compareTo(BigDecimal.ZERO) > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //计算销售收入 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.setSaleFee(basicOrder); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.setServiceFee(basicOrder); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.setSaleFee(basicOrder); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        HSSFWorkbook workbook = getHSSFWorkbook(studentPaymentOrderExportDtos,headColumns,ExportEnum.ROUTE_ORDER_LIST1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        exportManagerDownload(workbook,managerDownload); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void setServiceFee(StudentPaymentOrderExportDto basicOrder){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        BigDecimal actualAmount = basicOrder.getActualAmount(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch (basicOrder.getGroupType()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case ACTIVITY: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case VIP: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                basicOrder.setVipCourseFee(basicOrder.getVipCourseFee().add(actualAmount)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case MEMBER: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                basicOrder.setCloudTeacherFee(basicOrder.getCloudTeacherFee().add(actualAmount)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case MUSIC: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //历史订单无法区分,统一放在乐团课下,原来的财务导出明细都是空的 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                basicOrder.setMusicGroupCourseFee(basicOrder.getMusicGroupCourseFee().add(actualAmount)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case PRACTICE: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                basicOrder.setPracticeCourseFee(basicOrder.getPracticeCourseFee().add(actualAmount)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case REPAIR: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                basicOrder.setRepairFee(basicOrder.getRepairFee().add(actualAmount)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case SPORADIC: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(basicOrder.getType() == OrderTypeEnum.DEGREE_REGISTRATION){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    basicOrder.setDegreeFee(basicOrder.getDegreeFee().add(actualAmount)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void setSaleFee(StudentPaymentOrderExportDto basicOrder){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        BigDecimal actualAmount = basicOrder.getActualAmount(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch (basicOrder.getGroupType()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case GOODS_SELL: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                basicOrder.setMusicalFee(basicOrder.getMusicalFee().add(actualAmount)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case REPLACEMENT: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //乐器置换统一算到乐器收入 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                basicOrder.setMusicalFee(basicOrder.getMusicalFee().add(actualAmount)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case SPORADIC: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(basicOrder.getType() != OrderTypeEnum.DEGREE_REGISTRATION){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    basicOrder.setOtherFee(basicOrder.getOtherFee().add(actualAmount)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case SUBJECT_CHANGE: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //有一部分声部更换没有定义,放到辅件里面 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                basicOrder.setTeachingFee(basicOrder.getTeachingFee().add(actualAmount)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void setServiceFee(StudentPaymentOrderExportDto basicOrder, StudentPaymentOrderDetail orderDetail){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        BigDecimal price = orderDetail.getPrice(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch (orderDetail.getType()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case COURSE: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case CLASSROOM: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case SINGLE: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case MIX: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case COMPREHENSIVE: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case ENLIGHTENMENT: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case TRAINING_SINGLE: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case TRAINING_MIX: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case MUSIC_NETWORK: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case HIGH: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case HIGH_ONLINE: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case HIGH_ONLINE_COURSE: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                basicOrder.setMusicGroupCourseFee(basicOrder.getMusicGroupCourseFee().add(price)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case DEGREE_REGISTRATION: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                basicOrder.setDegreeFee(basicOrder.getDegreeFee().add(price)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case CLOUD_TEACHER: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case CLOUD_TEACHER_PLUS: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                basicOrder.setCloudTeacherFee(basicOrder.getCloudTeacherFee().add(price)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case THEORY_COURSE: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                basicOrder.setTheoryCourseFee(basicOrder.getTheoryCourseFee().add(price)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case PRACTICE: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                basicOrder.setPracticeCourseFee(basicOrder.getPracticeCourseFee().add(price)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case VIP: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                basicOrder.setVipCourseFee(basicOrder.getVipCourseFee().add(price)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case REPAIR: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                basicOrder.setRepairFee(basicOrder.getRepairFee().add(price)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //如果是内部库存转化部分收入为云教练收入 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(orderDetail.getType() == OrderDetailTypeEnum.MUSICAL || 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                orderDetail.getType() == OrderDetailTypeEnum.TEACHING || 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                orderDetail.getType() == OrderDetailTypeEnum.OTHER || 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                orderDetail.getType() == OrderDetailTypeEnum.ACCESSORIES){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            basicOrder.setCloudTeacherFee(basicOrder.getCloudTeacherFee().add(orderDetail.getIncome())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void setSaleFee(StudentPaymentOrderExportDto basicOrder,StudentPaymentOrderDetail orderDetail){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        BigDecimal price = orderDetail.getPrice(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch (orderDetail.getType()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case OTHER: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                basicOrder.setOtherFee(basicOrder.getOtherFee().add(price)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case MAINTENANCE: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                basicOrder.setMaintenanceFee(basicOrder.getMaintenanceFee().add(price)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case MUSICAL: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (orderDetail.getKitGroupPurchaseType() != null && orderDetail.getKitGroupPurchaseType().equals(KitGroupPurchaseTypeEnum.LEASE)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    basicOrder.setLeaseFee(price); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    basicOrder.setMusicalFee(this.subtract(price,orderDetail.getIncome())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case TEACHING: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case ACCESSORIES: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                basicOrder.setTeachingFee(basicOrder.getTeachingFee().add(price)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void setSaleFee(StudentPaymentOrderExportDto basicOrder,SellOrder sellOrder,Goods goods){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(sellOrder.getOrderId().equals("76")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch (goods.getType()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case ACCESSORIES: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case TEACHING: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case STAFF: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                basicOrder.setTeachingFee(basicOrder.getTeachingFee().add(sellOrder.getActualAmount())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case INSTRUMENT: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                basicOrder.setMusicalFee(basicOrder.getMusicalFee().add(sellOrder.getActualAmount())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case OTHER: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                basicOrder.setOtherFee(basicOrder.getOtherFee().add(sellOrder.getActualAmount())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void routeOrderList(Map<String, Object> params, ManagerDownload managerDownload,List<String> headColumns){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<StudentPaymentOrderExportDto> studentPaymentOrderExportDtos = studentPaymentRouteOrderDao.ExportQueryPage(params); 
			 |