Joburgess пре 4 година
родитељ
комит
2299a98c5c

+ 17 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/LocalDateBigDecimalMapDto.java

@@ -14,6 +14,8 @@ public class LocalDateBigDecimalMapDto {
 
     private String dateStr;
 
+    private BigDecimal subsidy = new BigDecimal("0");
+
     private BigDecimal amount;
 
     public LocalDateBigDecimalMapDto(Date date, String dateStr, BigDecimal amount) {
@@ -22,6 +24,13 @@ public class LocalDateBigDecimalMapDto {
         this.amount = amount;
     }
 
+    public LocalDateBigDecimalMapDto(Date date, String dateStr, BigDecimal subsidy, BigDecimal amount) {
+        this.date = date;
+        this.dateStr = dateStr;
+        this.subsidy = subsidy;
+        this.amount = amount;
+    }
+
     public LocalDateBigDecimalMapDto() {
     }
 
@@ -41,6 +50,14 @@ public class LocalDateBigDecimalMapDto {
         this.dateStr = dateStr;
     }
 
+    public BigDecimal getSubsidy() {
+        return subsidy;
+    }
+
+    public void setSubsidy(BigDecimal subsidy) {
+        this.subsidy = subsidy;
+    }
+
     public BigDecimal getAmount() {
         return amount;
     }

+ 48 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleTeacherSalaryServiceImpl.java

@@ -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;
     }

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

@@ -1110,7 +1110,8 @@
 				DATE_FORMAT( cs.class_date_, '%Y-%m-%d' ) date,
 				DATE_FORMAT( cs.class_date_, '%Y-%m-%d' ) dateStr,
 			</if>
-			SUM( csts.actual_salary_ ) amount
+		    SUM(csts.subsidy_) subsidy,
+			SUM( csts.actual_salary_ - csts.subsidy_ ) amount
 		FROM
 			course_schedule_teacher_salary csts
 				LEFT JOIN course_schedule cs ON csts.course_schedule_id_ = cs.id_