| 
					
				 | 
			
			
				@@ -2271,7 +2271,6 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Map<String, Object> result = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         result.put("total", BigDecimal.ZERO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        result.put("salary", BigDecimal.ZERO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         LocalDate minDate = LocalDate.of(2021, 3, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         LocalDate startDate = LocalDate.of(year, Objects.isNull(month)?1:month, 1); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2280,9 +2279,28 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             startDate = startDate.withMonth(3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        result.put("total", BigDecimal.ZERO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        result.put("salary", BigDecimal.ZERO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        result.put("data", Collections.emptyList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<Map<String, Object>> data = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<String, Object> salaryResult = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        salaryResult.put("desc", "课酬"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        salaryResult.put("amount", BigDecimal.ZERO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        salaryResult.put("data", Collections.emptyList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<String, Object> subsidyResult = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        subsidyResult.put("desc", "教学点补贴"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        subsidyResult.put("amount", BigDecimal.ZERO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        subsidyResult.put("data", Collections.emptyList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<String, Object> saleRewardResult = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        saleRewardResult.put("desc", "销售奖励"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        saleRewardResult.put("amount", BigDecimal.ZERO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        saleRewardResult.put("data", Collections.emptyList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data.add(salaryResult); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data.add(subsidyResult); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data.add(saleRewardResult); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        result.put("data", data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(startDate.compareTo(minDate)<0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return result; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2324,9 +2342,32 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         BigDecimal reduce = monthIncomeMapList.stream().map(LocalDateBigDecimalMapDto::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        result.put("total", reduce); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        result.put("salary", reduce); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        result.put("data", monthIncomeMapList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        BigDecimal subsidy = monthIncomeMapList.stream().map(LocalDateBigDecimalMapDto::getSubsidy).reduce(BigDecimal.ZERO, BigDecimal::add); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        result.put("total", reduce.add(subsidy)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        salaryResult.put("salary", reduce); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        salaryResult.put("data", monthIncomeMapList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<LocalDateBigDecimalMapDto> subsidyList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<LocalDateBigDecimalMapDto> saleRewardList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (LocalDateBigDecimalMapDto localDateBigDecimalMapDto : monthIncomeMapList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(localDateBigDecimalMapDto.getAmount().compareTo(BigDecimal.ZERO)<0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                localDateBigDecimalMapDto.setAmount(BigDecimal.ZERO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            LocalDateBigDecimalMapDto subsidyData = new LocalDateBigDecimalMapDto(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            BeanUtils.copyProperties(localDateBigDecimalMapDto, subsidyData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            subsidyData.setAmount(subsidyData.getSubsidy()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            subsidyList.add(subsidyData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            LocalDateBigDecimalMapDto saleRewardData = new LocalDateBigDecimalMapDto(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            saleRewardData.setAmount(BigDecimal.ZERO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            saleRewardList.add(saleRewardData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        subsidyResult.put("data", subsidyList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        saleRewardResult.put("data", saleRewardList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 |