Browse Source

fix:1、考勤;2、课酬

Joburgess 4 năm trước cách đây
mục cha
commit
09e56d7d98

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -841,6 +841,16 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     List<CourseSchedule> findCourseScheduleWithDate(@Param("startDate") String startDate, @Param("endDate") String endDate);
 
     /**
+     * @describe 统计指定时间段内已结算的课程组类型数量
+     * @author Joburgess
+     * @date 2020/12/29 0029
+     * @param startDate:
+     * @param endDate:
+     * @return int
+     */
+    int countIsSalaryGroupTypes(@Param("startDate") String startDate, @Param("endDate") String endDate);
+
+    /**
      * @param classGroupId: 班级编号
      * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
      * @describe 根据班级获取课程计划

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseScheduleTeacherSalary.java

@@ -67,6 +67,16 @@ public class CourseScheduleTeacherSalary {
 
 	private String deductionReason;
 
+	private Boolean belongToDaya;
+
+	public Boolean getBelongToDaya() {
+		return belongToDaya;
+	}
+
+	public void setBelongToDaya(Boolean belongToDaya) {
+		this.belongToDaya = belongToDaya;
+	}
+
 	public BigDecimal getTeacherActualSalary() {
 		return teacherActualSalary;
 	}

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

@@ -192,7 +192,7 @@ public interface CourseScheduleTeacherSalaryService extends BaseService<Long, Co
      * @date 2020/12/25 0025
      * @return void
      */
-    void salaryMark();
+    void salaryMark(String startDate, String endDate);
 
     /**
      * @describe 组合工资,使其最接近给定的金额

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

@@ -1354,8 +1354,11 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
     }
 
     @Override
-    public void salaryMark() {
-
+    public void salaryMark(String startDate, String endDate) {
+        int isSalaryGroupTypes = courseScheduleDao.countIsSalaryGroupTypes(startDate, endDate);
+        if(isSalaryGroupTypes<3){
+            return;
+        }
     }
 
     @Override

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java

@@ -234,6 +234,10 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 				}
 			}
 
+			if(Objects.isNull(teacherAttendance.getSignInTime())){
+				throw new BizException("未签到不可点名和签退");
+			}
+
 			//正常签退范围(结束后1小时内)
 			teacherAttendance.setSignOutTime(date);
 			teacherAttendance.setSignOutAttachments(teacherSignOutDto.getCourseHomeworkInfo().getAttachments());

+ 15 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -1828,6 +1828,21 @@
           AND cs.group_type_ = 'MUSIC'
           AND (cs.del_flag_ IS NULL OR cs.del_flag_ = 0)
     </select>
+
+    <select id="countIsSalaryGroupTypes" resultType="int">
+        SELECT
+            COUNT(DISTINCT csts.group_type_)
+        FROM
+            course_schedule_teacher_salary csts
+                LEFT JOIN course_schedule cs ON csts.course_schedule_id_ = cs.id_
+        WHERE
+            cs.class_date_ BETWEEN #{startDate} AND #{endDate}
+          AND ( cs.del_flag_ IS NULL OR cs.del_flag_ = 0 )
+          AND csts.settlement_time_ IS NOT NULL
+        GROUP BY
+            csts.group_type_
+    </select>
+
     <select id="findByClassGroup" resultMap="CourseSchedule">
         select cs.id_,
                cs.class_group_id_,

+ 14 - 6
mec-biz/src/main/resources/config/mybatis/CourseScheduleTeacherSalaryMapper.xml

@@ -31,6 +31,7 @@
 		<result column="reduce_salary" property="reduceSalary" />
 		<result column="confirm_status_" property="confirmStatus" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 		<result column="memo_" property="memo" />
+		<result column="is_belong_to_daya_" property="belongToDaya" />
 	</resultMap>
 	
 	<resultMap type="com.ym.mec.biz.dal.dto.TeacherVipSalaryDto" id="teacherVipSalaryDto" extends="CourseScheduleTeacherSalary">
@@ -54,20 +55,21 @@
 	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
 		INSERT INTO course_schedule_teacher_salary (id_,group_type_,music_group_id_,course_schedule_id_,teacher_role_,
 		user_id_,expect_salary_,create_time_,update_time_,subsidy_,actual_salary_,settlement_time_,class_group_id_,
-		reduce_salary,confirm_status_,memo_)
+		reduce_salary,confirm_status_,memo_,is_belong_to_daya_)
 		VALUES(#{id},#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{musicGroupId},#{courseScheduleId},
 		#{teacherRole},#{userId},#{expectSalary},now(),now(),#{subsidy},#{actualSalary},#{settlementTime},#{classGroupId},
-		#{reduceSalary},#{confirmStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{memo})
+		#{reduceSalary},#{confirmStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{memo},#{belongToDaya})
 	</insert>
     <insert id="batchInsert" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id_">
 		INSERT INTO course_schedule_teacher_salary (id_,group_type_,music_group_id_,course_schedule_id_,teacher_role_,
 		user_id_,expect_salary_,create_time_,update_time_,subsidy_,actual_salary_,settlement_time_,class_group_id_,
-		reduce_salary,confirm_status_,memo_)
+		reduce_salary,confirm_status_,memo_,is_belong_to_daya_)
 		VALUES
 		<foreach collection="list" item="data" separator=",">
 			(#{data.id},#{data.groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{data.musicGroupId},#{data.courseScheduleId},
 			#{data.teacherRole},#{data.userId},#{data.expectSalary},now(),now(),#{data.subsidy},#{data.actualSalary},#{data.settlementTime},
-			#{data.classGroupId},#{data.reduceSalary},#{data.confirmStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{data.memo})
+			#{data.classGroupId},#{data.reduceSalary},#{data.confirmStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{data.memo},
+			#{data.belongToDaya})
 		</foreach>
     </insert>
 
@@ -120,6 +122,9 @@
 			<if test="deductionReason != null">
 				deduction_reason_ = #{deductionReason},
 			</if>
+			<if test="belongToDaya != null">
+				is_belong_to_daya_ = #{belongToDaya},
+			</if>
 		</set> WHERE id_ = #{id} 
 	</update>
 
@@ -136,12 +141,15 @@
         <foreach collection="courseScheduleTeacherSalaries" item="courseScheduleTeacherSalary" separator=";">
             UPDATE course_schedule_teacher_salary
             <set>
-                <if test="courseScheduleTeacherSalary.expectSalary">
+                <if test="courseScheduleTeacherSalary.expectSalary!=null">
                     expect_salary_ = #{courseScheduleTeacherSalary.expectSalary},
                 </if>
-                <if test="courseScheduleTeacherSalary.userId">
+                <if test="courseScheduleTeacherSalary.userId!=null">
                     user_id_ = #{courseScheduleTeacherSalary.userId},
                 </if>
+				<if test="courseScheduleTeacherSalary.belongToDaya!=null">
+					is_belong_to_daya_ = #{courseScheduleTeacherSalary.belongToDaya},
+				</if>
                 update_time_ = NOW()
             </set>
             WHERE