Browse Source

1、乐团课新增排课教师课酬计算逻辑调整

Joburgess 5 years ago
parent
commit
e6bd60afb2

+ 37 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseScheduleTeacherSalaryDto.java

@@ -0,0 +1,37 @@
+package com.ym.mec.biz.dal.dto;
+
+import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+
+/**
+ * @Author Joburgess
+ * @Date 2020/1/27
+ */
+public class CourseScheduleTeacherSalaryDto extends CourseScheduleTeacherSalary {
+
+    /** 上课时间 */
+    @ApiModelProperty(value = "上课时间", required = false)
+    private java.util.Date startClassTime;
+
+    /** 结束时间 */
+    @ApiModelProperty(value = "结束时间", required = false)
+    private java.util.Date endClassTime;
+
+    public Date getStartClassTime() {
+        return startClassTime;
+    }
+
+    public void setStartClassTime(Date startClassTime) {
+        this.startClassTime = startClassTime;
+    }
+
+    public Date getEndClassTime() {
+        return endClassTime;
+    }
+
+    public void setEndClassTime(Date endClassTime) {
+        this.endClassTime = endClassTime;
+    }
+}

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -1535,7 +1535,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                     for (CourseScheduleTeacherSalary teacherSalary : allTeacherSalarys) {
                         if(teacherSalary.getUserId().equals(classGroupTeacherMapper.getUserId())
                             &&teacherSalary.getTeacherRole().equals(classGroupTeacherMapper.getTeacherRole())){
-                            salary=teacherSalary.getExpectSalary();
+                            int duration=DateUtil.minutesBetween(teacherSalary.getCourseSchedule().getStartClassTime(),teacherSalary.getCourseSchedule().getEndClassTime());
+                            salary=teacherSalary.getExpectSalary().divide(new BigDecimal(duration), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).multiply(classTimeDuty).setScale(2, BigDecimal.ROUND_HALF_UP);
                             break;
                         }
                     }

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupTeacherMapperServiceImpl.java

@@ -347,7 +347,8 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
                 for (CourseScheduleTeacherSalary teacherSalary : allTeacherSalarys) {
                     if(teacherSalary.getUserId().equals(classGroupTeacherMapper.getUserId())
                             &&teacherSalary.getTeacherRole().equals(classGroupTeacherMapper.getTeacherRole())){
-                        salary=teacherSalary.getExpectSalary();
+                        int oldDuration=DateUtil.minutesBetween(teacherSalary.getCourseSchedule().getStartClassTime(),teacherSalary.getCourseSchedule().getEndClassTime());
+                        salary=teacherSalary.getExpectSalary().divide(new BigDecimal(oldDuration), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).multiply(classTimeDuty).setScale(2, BigDecimal.ROUND_HALF_UP);
                         break;
                     }
                 }

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

@@ -429,6 +429,8 @@
 	</select>
     <select id="findByTeacher" resultMap="CourseScheduleTeacherSalary">
 		SELECT
+			CONCAT(cs.class_date_,' ',cs.start_class_time_) start_class_time_,
+			CONCAT(cs.class_date_,' ',cs.end_class_time_) end_class_time_,
 			csts.*
 		FROM
 			course_schedule cs