Browse Source

Merge remote-tracking branch 'origin/master'

周箭河 5 years ago
parent
commit
6e4aa88d9d

+ 9 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleStudentPaymentDao.java

@@ -8,7 +8,6 @@ import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
 
 import java.math.BigDecimal;
-import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -255,4 +254,13 @@ public interface CourseScheduleStudentPaymentDao extends BaseDAO<Long, CourseSch
     List<StudentCourseTimesDto> queryStudentNotStartCourseTimesOfOnline();
 
     List<StudentTeacherCourseDto> findAllStudentCourseInfo();
+
+    /**
+     * @describe 统计每节课的收款
+     * @author Joburgess
+     * @date 2020.05.09
+     * @param courseScheduleIds:
+     * @return java.util.List<java.util.Map<java.lang.Long,java.math.BigDecimal>>
+     */
+    List<Map<Long, BigDecimal>> findCoursePayment(@Param("courseScheduleIds") List<Long> courseScheduleIds);
 }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherCourseSalaryDetail4WebDto.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.dal.dto;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.TeacherSalaryConfirmStatus;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
+import io.swagger.annotations.ApiModelProperty;
 
 import java.math.BigDecimal;
 import java.util.Date;
@@ -45,6 +46,9 @@ public class TeacherCourseSalaryDetail4WebDto {
     private YesOrNoEnum signOutStatus;
     private String signOutStatusStr;
 
+    @ApiModelProperty(value = "实际收款")
+    private BigDecimal actualReceipts;
+
     private java.math.BigDecimal expectSalary;
 
     private java.math.BigDecimal actualSalary;
@@ -57,6 +61,13 @@ public class TeacherCourseSalaryDetail4WebDto {
 
     private String memo;
 
+    public BigDecimal getActualReceipts() {
+        return actualReceipts;
+    }
+
+    public void setActualReceipts(BigDecimal actualReceipts) {
+        this.actualReceipts = actualReceipts;
+    }
 
     public Integer getCourseTimes() {
         return courseTimes;

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleTeacherSalaryServiceImpl.java

@@ -926,12 +926,17 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
             pageInfo.setTotal(count);
             params.put("offset", pageInfo.getOffset());
             dataList = courseScheduleTeacherSalaryDao.findIsSettlementCourseSalarys(params);
+            List<Long> courseScheduleIds = dataList.stream().map(TeacherCourseSalaryDetail4WebDto::getCourseScheduleId).collect(Collectors.toList());
+            List<Map<Long, BigDecimal>> coursePaymentMaps = courseScheduleStudentPaymentDao.findCoursePayment(courseScheduleIds);
+            Map<Long, BigDecimal> coursePaymentMap = MapUtil.convertIntegerMap(coursePaymentMaps);
             for (TeacherCourseSalaryDetail4WebDto teacherCourseSalaryDetail4WebDto : dataList) {
                 if(Objects.nonNull(teacherCourseSalaryDetail4WebDto.getReduceSalary())){
                     teacherCourseSalaryDetail4WebDto.setFinalSalary(teacherCourseSalaryDetail4WebDto.getActualSalary().subtract(teacherCourseSalaryDetail4WebDto.getReduceSalary()));
                 }else{
                     teacherCourseSalaryDetail4WebDto.setFinalSalary(teacherCourseSalaryDetail4WebDto.getActualSalary());
                 }
+                BigDecimal paymentPrice = coursePaymentMap.get(teacherCourseSalaryDetail4WebDto.getCourseScheduleId());
+                teacherCourseSalaryDetail4WebDto.setActualReceipts(paymentPrice);
             }
         }
         if (count == 0) {

+ 13 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleStudentPaymentMapper.xml

@@ -416,4 +416,17 @@
 			LEFT JOIN class_group_teacher_mapper cgtm ON cssp.class_group_id_=cgtm.class_group_id_
 		WHERE cs.type_ IN ('PRACTICE', 'VIP', 'SINGLE', 'MIX') AND cgtm.teacher_role_='BISHOP';
 	</select>
+    <select id="findCoursePayment" resultType="map">
+		SELECT
+			course_schedule_id_ AS 'key',
+			SUM( CASE WHEN actual_price_ IS NULL THEN expect_price_ ELSE actual_price_ END ) AS 'value'
+		FROM
+			course_schedule_student_payment
+		WHERE course_schedule_id_ IN
+		<foreach collection="courseScheduleIds" item="courseScheduleId" open="(" close=")" separator=",">
+			#{courseScheduleId}
+		</foreach>
+		GROUP BY
+			course_schedule_id_
+    </select>
 </mapper>

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

@@ -294,7 +294,7 @@
 		left join extracurricular_exercises ee on eer.extracurricular_exercises_id_ = ee.id_
 		left join sys_user u on eer.user_id_ = u.id_
 		left join teacher t on t.id_ = ee.teacher_id_
-		left join organization o on o.id_ = t.organ_id_
+		left join organization o on o.id_ = u.organ_id_
 		<include refid="queryExtraExercisesCondition"/>
 		ORDER BY eer.id_ <include refid="global.limit"/>
 	</select>
@@ -303,7 +303,7 @@
 		left join extracurricular_exercises ee on eer.extracurricular_exercises_id_ = ee.id_
 		left join sys_user u on eer.user_id_ = u.id_
 		left join teacher t on t.id_ = ee.teacher_id_
-		left join organization o on o.id_ = t.organ_id_
+		left join organization o on o.id_ = u.organ_id_
 		<include refid="queryExtraExercisesCondition"/>
 	</select>
     <select id="findNoPracticeStudentExercisesInWeek" resultMap="ExtracurricularExercisesReply">

+ 3 - 3
mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -1298,10 +1298,10 @@ public class ExportController extends BaseController {
         OutputStream ouputStream = null;
         try {
             HSSFWorkbook workbook = POIUtil.exportExcel(
-                    new String[]{"分部", "课程组类型", "课程编号", "时间", "课程名称", "老师编号", "老师姓名", "签到时间", "签退时间", "应发课酬",
-                            "课酬扣款", "结算课酬", "状态", "备注"},
+                    new String[]{"分部", "课程组类型", "课程编号", "时间", "课程名称", "老师编号", "老师姓名", "签到时间", "签退时间",
+                            "实际收款", "应发课酬", "课酬扣款", "结算课酬", "状态", "备注"},
                     new String[]{"organName", "groupType.desc", "courseScheduleId", "startClassTime", "courseName", "teacherId", "teacherName",
-                            "signInStatusStr", "signOutStatusStr", "actualSalary", "reduceSalary", "finalSalary", "confirmStatus.desc", "memo"}, rows);
+                            "signInStatusStr", "signOutStatusStr", "actualReceipts", "actualSalary", "reduceSalary", "finalSalary", "confirmStatus.desc", "memo"}, rows);
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=lender-" + DateUtil.getDate(new Date()) + ".xls");
             ouputStream = response.getOutputStream();