瀏覽代碼

Merge remote-tracking branch 'origin/teacher_income' into teacher_income

zouxuan 4 年之前
父節點
當前提交
3f77502a27

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

@@ -12,6 +12,8 @@ import java.util.List;
  */
 public class TeacherIncomeDto extends CourseSchedule {
 
+    private BigDecimal expectIncome;
+
     private java.math.BigDecimal expectSalary;
 
     private java.math.BigDecimal subsidy;
@@ -24,6 +26,14 @@ public class TeacherIncomeDto extends CourseSchedule {
 
     private List<TeacherSalaryDeductReasonDto> deductReasons;
 
+    public BigDecimal getExpectIncome() {
+        return expectIncome;
+    }
+
+    public void setExpectIncome(BigDecimal expectIncome) {
+        this.expectIncome = expectIncome;
+    }
+
     public TeacherAttendance getTeacherAttendance() {
         return teacherAttendance;
     }

+ 21 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleTeacherSalaryServiceImpl.java

@@ -1569,6 +1569,10 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
             }
 
             teacherSalary = teacherSalary.add(subsidy);
+            teacherSalary = teacherSalary.add(subsidy);
+            if(BigDecimal.ZERO.compareTo(teacherSalary)>0){
+                teacherSalary = new BigDecimal(0);
+            }
 
             BigDecimal expectTeacherSalary = teacherSalary;
 
@@ -1647,6 +1651,9 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
                 subsidy = school.getSubsidy();
             }
             teacherSalary = teacherSalary.add(subsidy);
+            if(BigDecimal.ZERO.compareTo(teacherSalary)>0){
+                teacherSalary = new BigDecimal(0);
+            }
 
             BigDecimal expectTeacherSalary = teacherSalary;
 
@@ -1790,6 +1797,9 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
         }
         courseScheduleTeacherSalary.setSubsidy(subsidy);
         expectSalary = expectSalary.add(subsidy);
+        if(BigDecimal.ZERO.compareTo(expectSalary)>0){
+            expectSalary = new BigDecimal(0);
+        }
 
         BigDecimal expectTeacherSalary = expectSalary;
 
@@ -1889,6 +1899,9 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
         }
         courseScheduleTeacherSalary.setSubsidy(subsidy);
         expectSalary = expectSalary.add(subsidy);
+        if(BigDecimal.ZERO.compareTo(expectSalary)>0){
+            expectSalary = new BigDecimal(0);
+        }
 
         BigDecimal expectTeacherSalary = expectSalary;
 
@@ -1973,10 +1986,13 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
         LocalDate monthFirstDay = nowDate.with(TemporalAdjusters.firstDayOfMonth());
         LocalDate monthLastDay = nowDate.with(TemporalAdjusters.lastDayOfMonth());
 
-        TeacherIncomeReviewDto teacherSalaryOverview = courseScheduleTeacherSalaryDao.getTeacherSalaryOverview(teacherId, monthFirstDay.toString(), monthLastDay.toString(), CourseStatusEnum.OVER);
+        TeacherIncomeReviewDto teacherSalaryOverview = courseScheduleTeacherSalaryDao.getTeacherSalaryOverview(teacherId, monthFirstDay.toString(), monthLastDay.toString(), null);
         if(Objects.isNull(teacherSalaryOverview)){
             teacherSalaryOverview = new TeacherIncomeReviewDto();
         }
+        if(BigDecimal.ZERO.compareTo(teacherSalaryOverview.getThisMonthExpectIncome())>0){
+            teacherSalaryOverview.setThisMonthExpectIncome(BigDecimal.ZERO);
+        }
 
         List<CourseSchedule> teacherCourses = courseScheduleDao.getTeacherCourseWithClassDate(teacherId, monthFirstDay.toString(), monthLastDay.toString(), CourseStatusEnum.OVER);
         if(CollectionUtils.isEmpty(teacherCourses)){
@@ -2138,6 +2154,10 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
                 teacherIncomeInfo.setDeductReasons(teacherSalary.getDeductReasons());
                 teacherIncomeInfo.setTeacherAttendance(teacherAttendances.get(0));
                 teacherIncomeInfo.setBelongToDaya(teacherSalary.getBelongToDaya());
+                teacherIncomeInfo.setExpectIncome(teacherIncomeInfo.getExpectSalary().add(teacherIncomeInfo.getSubsidy()));
+                if(BigDecimal.ZERO.compareTo(teacherIncomeInfo.getExpectIncome())>0){
+                    teacherIncomeInfo.setExpectIncome(BigDecimal.ZERO);
+                }
                 dataList.add(teacherIncomeInfo);
             }
         }

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

@@ -1087,10 +1087,11 @@
     <select id="getTeacherSalaryOverview" resultType="com.ym.mec.biz.dal.dto.TeacherIncomeReviewDto">
 		SELECT
 			SUM(csts.actual_salary_) totalIncome,
-			SUM(CASE DATE_FORMAT(cs.class_date_, '%Y-%m') WHEN DATE_FORMAT(#{startDay}, '%Y-%m') THEN csts.expect_salary_ ELSE 0 END) thisMonthExpectIncome
+			SUM((CASE DATE_FORMAT(cs.class_date_, '%Y-%m') WHEN DATE_FORMAT(#{startDay}, '%Y-%m') THEN csts.expect_salary_ + IF(s.subsidy_ IS NULL, 0, s.subsidy_) ELSE 0 END)) thisMonthExpectIncome
 		FROM
 			course_schedule_teacher_salary csts
 			LEFT JOIN course_schedule cs ON csts.course_schedule_id_ = cs.id_
+			LEFT JOIN school s ON cs.schoole_id_=s.id_
 		WHERE
 			( cs.del_flag_ IS NULL OR cs.del_flag_ = 0 )
 			AND (cs.is_lock_=0 OR cs.is_lock_ IS NULL)