浏览代码

1、课酬确认相关
2、VIP课导出添加学生姓名和编号

Joburgess 5 年之前
父节点
当前提交
2ba88ad1e7

+ 12 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleTeacherSalaryDao.java

@@ -5,8 +5,10 @@ import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
 import com.ym.mec.biz.dal.entity.TeacherSalaryModifyLog;
 import com.ym.mec.biz.dal.enums.GroupType;
+import com.ym.mec.biz.dal.enums.TeacherSalaryConfirmStatus;
 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;
@@ -403,7 +405,7 @@ public interface CourseScheduleTeacherSalaryDao extends BaseDAO<Long, CourseSche
 	 * @return int
 	 */
 	int updateTeacherSalaryConfirmStatus(@Param("ids") List<Long> ids,
-                                         @Param("confirmStatus") Integer confirmStatus);
+                                         @Param("confirmStatus") TeacherSalaryConfirmStatus confirmStatus);
 
 	/**
 	 * @describe 统计教师指定月份不同团体类型的课酬
@@ -431,4 +433,13 @@ public interface CourseScheduleTeacherSalaryDao extends BaseDAO<Long, CourseSche
 	 * @param modifyLog
 	 */
     void updateSalary(@Param("modifyLog") TeacherSalaryModifyLog modifyLog);
+
+    /**
+     * @describe 统计指定月份已开启课酬确认的数量
+     * @author Joburgess
+     * @date 2020/4/16
+     * @param month:
+     * @return int
+     */
+    int countOpenConfirmSalarysWithMonth(@Param("month") String month);
 }

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

@@ -46,10 +46,20 @@ public class TeacherCourseSalaryDetail4WebDto {
 
     private BigDecimal reduceSalary;
 
+    private BigDecimal finalSalary;
+
     private YesOrNoEnum confirmStatus;
 
     private String memo;
 
+    public BigDecimal getFinalSalary() {
+        return finalSalary;
+    }
+
+    public void setFinalSalary(BigDecimal finalSalary) {
+        this.finalSalary = finalSalary;
+    }
+
     public Date getEndClassTime() {
         return endClassTime;
     }

+ 32 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/TeacherSalaryConfirmStatus.java

@@ -0,0 +1,32 @@
+package com.ym.mec.biz.dal.enums;
+
+import com.ym.mec.common.enums.BaseEnum;
+
+/**
+ * @Author Joburgess
+ * @Date 2020/4/16
+ */
+public enum  TeacherSalaryConfirmStatus implements BaseEnum<String, TeacherSalaryConfirmStatus> {
+    UNCONFIRMED("1", "待确认"),
+    CONFIRMED("2", "已确认"),
+    COMPLETED("3", "已完成");
+
+    private String code;
+
+    private String desc;
+
+    private TeacherSalaryConfirmStatus(String code, String desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+
+    @Override
+    public String getCode() {
+        return code;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+
+}

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleTeacherSalaryService.java

@@ -99,6 +99,8 @@ public interface CourseScheduleTeacherSalaryService extends BaseService<Long, Co
      */
     List<Long> querySettlementScheduleId(String courseScheduleIds);
 
+
+
     /**
      * @describe 确定教师指定月份的课酬
      * @author Joburgess
@@ -136,4 +138,22 @@ public interface CourseScheduleTeacherSalaryService extends BaseService<Long, Co
      * @return java.util.Map<java.lang.String,java.lang.Object>
      */
     Map<String, Object> findTeacherYearSalarys(Integer teacherId, String year);
+
+    /**
+     * @describe 开启课酬确认
+     * @author Joburgess
+     * @date 2020/4/16
+     * @param month:
+     * @return void
+     */
+    void openSalaryConfirm(String month);
+
+    /**
+     * @describe 关闭课酬确认
+     * @author Joburgess
+     * @date 2020/4/16
+     * @param month:
+     * @return void
+     */
+    void closeSalaryConfirm(String month);
 }

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

@@ -838,7 +838,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
         if(CollectionUtils.isEmpty(teacherSalaryIds)){
             return;
         }
-        courseScheduleTeacherSalaryDao.updateTeacherSalaryConfirmStatus(teacherSalaryIds,1);
+        courseScheduleTeacherSalaryDao.updateTeacherSalaryConfirmStatus(teacherSalaryIds,TeacherSalaryConfirmStatus.CONFIRMED);
     }
 
     @Override
@@ -853,6 +853,13 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
             pageInfo.setTotal(count);
             params.put("offset", pageInfo.getOffset());
             dataList = courseScheduleTeacherSalaryDao.findIsSettlementCourseSalarys(params);
+            for (TeacherCourseSalaryDetail4WebDto teacherCourseSalaryDetail4WebDto : dataList) {
+                if(Objects.nonNull(teacherCourseSalaryDetail4WebDto.getReduceSalary())){
+                    teacherCourseSalaryDetail4WebDto.setFinalSalary(teacherCourseSalaryDetail4WebDto.getActualSalary().multiply(teacherCourseSalaryDetail4WebDto.getReduceSalary()));
+                }else{
+                    teacherCourseSalaryDetail4WebDto.setFinalSalary(teacherCourseSalaryDetail4WebDto.getActualSalary());
+                }
+            }
         }
         if (count == 0) {
             dataList = new ArrayList<>();
@@ -910,4 +917,9 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
         result.put("totalSalary", totalSalary);
         return result;
     }
+
+    @Override
+    public void openSalaryConfirm(String month) {
+
+    }
 }

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

@@ -449,7 +449,7 @@
 		WHERE course_schedule_id_ = #{modifyLog.courseScheduleId} AND user_id_ = #{modifyLog.teacherId}
 	</update>
 	<update id="updateTeacherSalaryConfirmStatus">
-		UPDATE course_schedule_teacher_salary SET confirm_status_=#{confirmStatus}
+		UPDATE course_schedule_teacher_salary SET confirm_status_=#{confirmStatus, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
 		WHERE id_ IN
 		<foreach collection="ids" item="id" open="(" close=")" separator=",">
 			#{id}
@@ -879,4 +879,14 @@
 			AND DATE_FORMAT( cs.class_date_, '%Y-%m' ) = #{month}
 	</select>
 
+	<select id="countOpenConfirmSalarysWithMonth" resultType="int">
+		SELECT
+			COUNT(csts.id_)
+		FROM
+			course_schedule_teacher_salary csts
+			LEFT JOIN course_schedule cs ON cs.id_ = csts.course_schedule_id_
+		WHERE
+			DATE_FORMAT( cs.class_date_, '%Y-%m' ) = #{month}
+			AND csts.settlement_time_ IS NOT NULL AND csts.confirm_status_ IS NOT NULL
+	</select>
 </mapper>

+ 16 - 0
mec-web/src/main/java/com/ym/mec/web/controller/CourseScheduleTeacherSalaryController.java

@@ -74,4 +74,20 @@ public class CourseScheduleTeacherSalaryController extends BaseController {
         }
         return succeed(courseScheduleTeacherSalaryService.findIsSettlementCourseSalarys(queryInfo));
     }
+
+    @ApiOperation(value = "开启课酬确认")
+    @GetMapping("/openSalaryConfirm")
+    @PreAuthorize("@pcs.hasPermissions('courseScheduleTeacherSalary/openSalaryConfirm')")
+    public HttpResponseResult openSalaryConfirm(String month){
+        courseScheduleTeacherSalaryService.openSalaryConfirm(month);
+        return succeed();
+    }
+
+    @ApiOperation(value = "关闭课酬确认")
+    @GetMapping("/closeSalaryConfirm")
+    @PreAuthorize("@pcs.hasPermissions('courseScheduleTeacherSalary/closeSalaryConfirm')")
+    public HttpResponseResult closeSalaryConfirm(String month){
+        courseScheduleTeacherSalaryService.closeSalaryConfirm(month);
+        return succeed();
+    }
 }

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

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