Przeglądaj źródła

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

yonge 5 lat temu
rodzic
commit
eec2112135

+ 4 - 6
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleRewardsRulesDao.java

@@ -1,15 +1,13 @@
 package com.ym.mec.biz.dal.dao;
 
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
 import com.ym.mec.biz.dal.dto.TaskRewardsRulesDto;
-import org.apache.ibatis.annotations.Param;
-
 import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
 import com.ym.mec.biz.dal.entity.CourseScheduleRewardsRules;
 import com.ym.mec.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
 
 public interface CourseScheduleRewardsRulesDao extends BaseDAO<Integer, CourseScheduleRewardsRules> {
 

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysUserCashAccountDetailDao.java

@@ -24,9 +24,9 @@ public interface SysUserCashAccountDetailDao extends BaseDAO<Long, SysUserCashAc
     Map<String, Object> queryStatistics(@Param("organId") String organId);
 
     /**
-     * 查看当前月是否执行过教师奖励
+     * 查看当前月当前老师是否执行过教师奖励
      * @param currentMonth
      * @return
      */
-    Integer countByTypeAndTime(String currentMonth);
+    Integer countByTypeAndTime(@Param("currentMonth") String currentMonth,@Param("teacherId")Integer teacherId);
 }

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

@@ -1209,7 +1209,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
                     Teacher teacher = teacherMap.get(classGroupTeacherMapper.getUserId());
                     SalarySettlementTypeEnum settlementType = musicGroup.getSettlementType();
-                    if(teacher.getEntryDate().after(entryDate)){
+                    if(teacher.getEntryDate().after(entryDate)||teacher.getEntryDate().getTime()==entryDate.getTime()){
                         settlementType = SalarySettlementTypeEnum.GRADIENT_SALARY;
                     }
 
@@ -1440,7 +1440,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
                     Teacher teacher = teacherMap.get(classGroupTeacherMapper.getUserId());
                     SalarySettlementTypeEnum settlementType = musicGroup.getSettlementType();
-                    if(teacher.getEntryDate().after(entryDate)){
+                    if(teacher.getEntryDate().after(entryDate)||teacher.getEntryDate().getTime()==entryDate.getTime()){
                         settlementType = SalarySettlementTypeEnum.GRADIENT_SALARY;
                     }
 
@@ -1693,7 +1693,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
                     Teacher teacher = teacherMap.get(classGroupTeacherMapper.getUserId());
                     SalarySettlementTypeEnum settlementType = musicGroup.getSettlementType();
-                    if(teacher.getEntryDate().after(entryDate)){
+                    if(teacher.getEntryDate().after(entryDate)||teacher.getEntryDate().getTime()==entryDate.getTime()){
                         settlementType = SalarySettlementTypeEnum.GRADIENT_SALARY;
                     }
 

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

@@ -212,7 +212,7 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
 
                 Teacher teacher = teacherMap.get(classGroupTeacherMapper.getUserId());
                 SalarySettlementTypeEnum settlementType = musicGroup.getSettlementType();
-                if(teacher.getEntryDate().after(entryDate)){
+                if(teacher.getEntryDate().after(entryDate)||teacher.getEntryDate().getTime()==entryDate.getTime()){
                     settlementType = SalarySettlementTypeEnum.GRADIENT_SALARY;
                 }
 
@@ -303,7 +303,7 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
 
                 Teacher teacher = teacherMap.get(classGroupTeacherMapper.getUserId());
                 SalarySettlementTypeEnum settlementType = musicGroup.getSettlementType();
-                if(teacher.getEntryDate().after(entryDate)){
+                if(teacher.getEntryDate().after(entryDate)||teacher.getEntryDate().getTime()==entryDate.getTime()){
                     settlementType = SalarySettlementTypeEnum.GRADIENT_SALARY;
                 }
 
@@ -421,7 +421,7 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
 
             if (!courseSchedule.isBishopTeacherSalaryNotCreate()) {
                 Teacher teacher = teacherMap.get(courseSchedule.getActualTeacherId());
-                if(teacher.getEntryDate().after(entryDate)){
+                if(teacher.getEntryDate().after(entryDate)||teacher.getEntryDate().getTime()==entryDate.getTime()){
                     settlementType = SalarySettlementTypeEnum.GRADIENT_SALARY.getCode();
                 }
 
@@ -444,7 +444,7 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
             }
             for (Integer teacherId : teachingTeacherIdList) {
                 Teacher teacher = teacherMap.get(teacherId);
-                if(teacher.getEntryDate().after(entryDate)){
+                if(teacher.getEntryDate().after(entryDate)||teacher.getEntryDate().getTime()==entryDate.getTime()){
                     settlementType = SalarySettlementTypeEnum.GRADIENT_SALARY.getCode();
                 }
                 TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalaryWithTeacherId = teacherDefaultMusicGroupSalariesGroupByTeacherId.get(teacherId);

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

@@ -449,7 +449,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
             String settlementType = musicGroupSettlementsMap.get(courseScheduleTeacherSalary.getCourseScheduleId());
             Teacher teacher=teacherMap.get(courseScheduleTeacherSalary.getUserId());
             //如果当前教师是在指定日期之后入职的,则按照3.0的方式结算
-            if(teacher.getEntryDate().after(entryDate)){
+            if(teacher.getEntryDate().after(entryDate)||teacher.getEntryDate().getTime()==entryDate.getTime()){
                 settlementType = SalarySettlementTypeEnum.GRADIENT_SALARY.getCode();
             }
 

+ 27 - 28
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -1583,37 +1583,36 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			List<Integer> activeIds = rewardsRulesDtos.stream().map(e -> e.getActiveId()).collect(Collectors.toList());
 			List<CourseScheduleRewardsRules> rewardsRules = courseScheduleRewardsRulesService.findByIds(activeIds);
 			Map<Integer, List<CourseScheduleRewardsRules>> integerListMap = rewardsRules.stream().collect(Collectors.groupingBy(CourseScheduleRewardsRules::getId));
+			String currentMonth = DateUtil.format(new Date(),DateUtil.ISO_YEAR_MONTH_FORMAT);
 			rewardsRulesDtos.forEach(e->{
-				CourseScheduleRewardsRules rewardsRule = integerListMap.get(e.getActiveId()).get(0);
-				String rewardsRulesJson = rewardsRule.getRewardsRulesJson();
-				List<RewardsRulesJsonDto> rulesJsonDtos = JSONObject.parseArray(rewardsRulesJson, RewardsRulesJsonDto.class);
-				BigDecimal money = BigDecimal.ZERO;
-				//STAIR 阶梯, PER 累计, TOTAL
-				switch (rewardsRule.getRewardMode()){
-					case STAIR:
-						rulesJsonDtos.forEach(rule->{
-							if(e.getTimes() >= rule.getMin()){
-								money.add(rule.getMoney());
+				//当前用户是否已经发放过上月奖励
+				Integer num = sysUserCashAccountDetailDao.countByTypeAndTime(currentMonth,e.getTeacherId());
+				if(num == null || num == 0) {
+					CourseScheduleRewardsRules rewardsRule = integerListMap.get(e.getActiveId()).get(0);
+					List<RewardsRulesJsonDto> rulesJsonDtos = JSONObject.parseArray(rewardsRule.getRewardsRulesJson(), RewardsRulesJsonDto.class);
+					BigDecimal money = BigDecimal.ZERO;
+					//STAIR 阶梯, PER 累计, TOTAL
+					switch (rewardsRule.getRewardMode()) {
+						case STAIR:
+							for (RewardsRulesJsonDto rule : rulesJsonDtos) {
+								if (e.getTimes() >= rule.getMin()) {
+									money = money.add(rule.getMoney());
+								}
 							}
-						});
-						break;
-					case PER:
-						int count = 0;
-						for (RewardsRulesJsonDto rule:rulesJsonDtos) {
-							if(e.getTimes() >= rule.getMin()){
-								count++;
-								rule.getMoney().multiply(new BigDecimal(count));
+							break;
+						case PER:
+							int count = 0;
+							for (RewardsRulesJsonDto rule : rulesJsonDtos) {
+								if (e.getTimes() >= rule.getMin()) {
+									count++;
+									money = rule.getMoney().multiply(new BigDecimal(count));
+								}
 							}
-						}
-						break;
-					case TOTAL:
-						break;
-				}
-				if (money.doubleValue() > 0) {
-					//当前用户是否已经发放过上月奖励
-					String currentMonth = DateUtil.format(new Date(),DateUtil.ISO_YEAR_MONTH_FORMAT);
-					Integer num = sysUserCashAccountDetailDao.countByTypeAndTime(currentMonth);
-					if(num == null || num == 0){
+							break;
+						case TOTAL:
+							break;
+					}
+					if (money.doubleValue() > 0) {
 						sysUserCashAccountDetailService.addCashAccountDetail(e.getTeacherId(), money, "", SysUserCashAccountDetailService.ORGAN,
 								PlatformCashAccountDetailTypeEnum.REWARDS, null, DealStatusEnum.SUCCESS, "分部奖励");
 					}

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

@@ -148,7 +148,8 @@
 		LEFT JOIN vip_group vg ON FIND_IN_SET(vg.vip_group_category_id_,csrr.vip_group_category_id_list_)
 		LEFT JOIN course_schedule cs ON vg.id_ = cs.music_group_id_ AND FIND_IN_SET(cs.actual_teacher_id_,csrr.teacher_id_)
 		LEFT JOIN course_schedule_teacher_salary csts ON csts.course_schedule_id_ = cs.id_ AND csts.user_id_ = cs.actual_teacher_id_
-		WHERE cs.group_type_ = 'VIP' AND csts.settlement_time_ IS NULL AND cs.class_date_ &gt;= #{firstDayOfMonth} AND cs.class_date_ &lt;= #{lastDayOfMonth}
+		WHERE cs.group_type_ = 'VIP' AND csts.settlement_time_ IS NOT NULL
+		AND cs.class_date_ &gt;= #{firstDayOfMonth} AND cs.class_date_ &lt;= #{lastDayOfMonth}
 		GROUP BY cs.actual_teacher_id_,csrr.id_
 	</select>
 	<select id="findByIds" resultMap="CourseScheduleRewardsRules">

+ 1 - 0
mec-biz/src/main/resources/config/mybatis/SysUserCashAccountDetailMapper.xml

@@ -192,5 +192,6 @@
     <select id="countByTypeAndTime" resultType="java.lang.Integer">
       SELECT COUNT(s.id_) FROM sys_user_cash_account_detail s
       WHERE s.type_ = 'REWARDS' AND DATE_FORMAT(s.create_time_,'%Y-%m') = #{currentMonth}
+      AND s.user_id_ = #{teacherId}
     </select>
 </mapper>