Просмотр исходного кода

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

# Conflicts:
#	mec-web/src/main/java/com/ym/mec/web/controller/IndexController.java
yonge 5 лет назад
Родитель
Сommit
27acdc3f2d

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

@@ -69,6 +69,7 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @date 2019/11/16
      */
     List<CourseSchedule> findMusicGroupCourseSchedules(@Param("musicGroupId") String musicGroupId,
+                                                       @Param("groupType") String groupType,
                                                        @Param("status") String status);
 
 

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

@@ -43,7 +43,7 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	 * @param musicGroupId:
 	 * @return void
 	 */
-	void batchDeleteMusicGroupNotStartCourse(String musicGroupId);
+	void batchDeleteMusicGroupNotStartCourse(String musicGroupId,GroupType groupType);
 
 	/**
 	 * @describe 删除指定乐团下指定状态的课程

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

@@ -384,26 +384,29 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
         BigDecimal teacherSalary = new BigDecimal(0);
 
         //课时长度
-        int duration = DateUtil.minutesBetween(courseSchedule.getEndClassTime(), courseSchedule.getStartClassTime());
+        int duration = DateUtil.minutesBetween(courseSchedule.getStartClassTime(), courseSchedule.getEndClassTime());
 
         //如果结算方式是教师默认课酬
-        if (settlementType.equals(SalarySettlementTypeEnum.TEACHER_DEFAULT)) {
+        if (settlementType.equals(SalarySettlementTypeEnum.TEACHER_DEFAULT.getCode())) {
             //课程时长与结算单位时长占比
             BigDecimal classTimeDuty = new BigDecimal(duration).divide(new BigDecimal(30),6,BigDecimal.ROUND_DOWN);
             BigDecimal teacherDefaultSalary = teachType == TeachTypeEnum.BISHOP ? teacherDefaultMusicGroupSalaryWithTeacherId.getMainTeacher30MinSalary() : teacherDefaultMusicGroupSalaryWithTeacherId.getAssistantTeacher30MinSalary();
             teacherSalary = teacherDefaultSalary.multiply(classTimeDuty).setScale(2, BigDecimal.ROUND_HALF_UP);
-        } else if (settlementType.equals(SalarySettlementTypeEnum.GRADIENT_SALARY)) {
+        } else if (settlementType.equals(SalarySettlementTypeEnum.GRADIENT_SALARY.getCode())) {
             //课程时长与结算单位时长占比
             BigDecimal classTimeDuty = new BigDecimal(duration).divide(new BigDecimal(90),6,BigDecimal.ROUND_DOWN);
             BigDecimal teacherDefaultSalary = teachType == TeachTypeEnum.BISHOP ? teacherDefaultMusicGroupSalaryWithTeacherId.getMainTeacher90MinSalary() : teacherDefaultMusicGroupSalaryWithTeacherId.getAssistantTeacher90MinSalary();
             teacherSalary = teacherDefaultSalary.multiply(classTimeDuty).setScale(2, BigDecimal.ROUND_HALF_UP);
         }
-        return new CourseScheduleTeacherSalary(
+        CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary(
                 courseSchedule.getId(),
                 teachType,
                 teacherId,
                 teacherSalary,
                 subsidy,
                 courseSchedule.getClassGroupId());
+        courseScheduleTeacherSalary.setGroupType(courseSchedule.getGroupType());
+        courseScheduleTeacherSalary.setMusicGroupId(courseSchedule.getMusicGroupId());
+        return courseScheduleTeacherSalary;
     }
 }

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

@@ -120,11 +120,11 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 	}
 
 	@Override
-	public void batchDeleteMusicGroupNotStartCourse(String musicGroupId) {
+	public void batchDeleteMusicGroupNotStartCourse(String musicGroupId,GroupType groupType) {
 		if(StringUtils.isBlank(musicGroupId)){
 			throw new BizException("请指定乐团");
 		}
-		List<CourseSchedule> musicGroupCourseSchedules = courseScheduleDao.findMusicGroupCourseSchedules(musicGroupId, CourseStatusEnum.NOT_START.getCode());
+		List<CourseSchedule> musicGroupCourseSchedules = courseScheduleDao.findMusicGroupCourseSchedules(musicGroupId, groupType.getCode(), CourseStatusEnum.NOT_START.getCode());
 		if(CollectionUtils.isEmpty(musicGroupCourseSchedules)){
 			throw new BizException("此乐团不存在未上课程");
 		}
@@ -693,8 +693,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 					}
 				}
 			}else{
-				if(Objects.isNull(oldCourseSchedule.getActualTeacherId())
-						||!oldCourseSchedule.getActualTeacherId().equals(newCourseSchedule.getActualTeacherId())){
+				if(Objects.nonNull(newCourseSchedule.getActualTeacherId())&&(Objects.isNull(oldCourseSchedule.getActualTeacherId())
+						||!oldCourseSchedule.getActualTeacherId().equals(newCourseSchedule.getActualTeacherId()))){
 					if(Objects.nonNull(oldCourseSchedule.getActualTeacherId())){
 						beReplaceTeacherIds.add(oldCourseSchedule.getActualTeacherId().intValue());
 					}
@@ -734,6 +734,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				}
 
 				if(!newCourseSchedule.isBishopTeacherSalaryNotCreate()||!CollectionUtils.isEmpty(newCreateSalaryTeachingTeacherIds)){
+					newCourseSchedule.setGroupType(oldCourseSchedule.getGroupType());
+					newCourseSchedule.setMusicGroupId(oldCourseSchedule.getMusicGroupId());
 					//如果主教或者助教发生了变化,则需要重新生成课酬
 					needCreateCourseScheduleTeacherSalaryCourse.add(newCourseSchedule);
 				}

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

@@ -79,6 +79,7 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 		employee.setPassword(new BCryptPasswordEncoder().encode(ParamEnum.INIT_PASSWORD.getCode().toString()));
 		employee.setUserType(SysUserType.SYSTEM);
 		employee.setUsername(employee.getRealName());
+		employee.setOrganId(employee.getOrganIdList());
 		teacherDao.addSysUser(employee);
 		employee.setUserId(employee.getId());
         employeeDao.insert(employee);

+ 4 - 1
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -347,6 +347,8 @@
     <select id="findByCourseScheduleIds" resultMap="CourseSchedule">
         SELECT
             cs.id_,
+            cs.music_group_id_,
+            cs.group_type_,
             cs.class_group_id_,
             cs.status_,
             cs.subsidy_,
@@ -378,7 +380,7 @@
         FROM
           course_schedule_teacher_salary csts
         WHERE
-          csts.teacher_role_ = 'BISHOP'
+          csts.teacher_role_ = 'TEACHING'
         AND csts.course_schedule_id_ IN
         <foreach collection="courseScheduleIds" item="id" open="(" close=")" separator=",">
             #{id}
@@ -1379,6 +1381,7 @@
             LEFT JOIN class_group cg ON cs.class_group_id_=cg.id_
         WHERE
             cg.music_group_id_=#{musicGroupId}
+            AND cs.group_type_=#{groupType}
             AND status_ = #{status}
             AND cs.type_!='HIGH'
     </select>

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

@@ -233,6 +233,7 @@
 			#{courseScheduleId}
 		</foreach>
 		AND csts.teacher_role_=#{teacherRole}
+		AND csts.expect_salary_!=0
 	</select>
 	<select id="findMusicGroupSettlementTypeByCourse" resultType="map">
 		SELECT

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

@@ -220,7 +220,7 @@ public class CourseScheduleController extends BaseController {
     @GetMapping("/batchDeleteMusicGroupNotStartCourse")
     @PreAuthorize("@pcs.hasPermissions('courseSchedule/batchDeleteMusicGroupNotStartCourse')")
 	public Object batchDeleteMusicGroupNotStartCourse(String musicGroupId){
-        scheduleService.batchDeleteMusicGroupNotStartCourse(musicGroupId);
+        scheduleService.batchDeleteMusicGroupNotStartCourse(musicGroupId,GroupType.MUSIC);
         return succeed();
     }
 

+ 19 - 25
mec-web/src/main/java/com/ym/mec/web/controller/IndexController.java

@@ -3,7 +3,6 @@ package com.ym.mec.web.controller;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 
-import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.commons.lang3.StringUtils;
@@ -31,22 +30,22 @@ public class IndexController extends BaseController {
 
 	@Autowired
 	private MusicGroupDao musicGroupDao;
-
+	
 	@Autowired
 	private TeacherDao teacherDao;
-
+	
 	@Autowired
 	private StudentRegistrationDao studentRegistrationDao;
-
+	
 	@Autowired
 	private VipGroupDao vipGroupDao;
-
+	
 	@Autowired
 	private DemoGroupDao demoGroupDao;
 
 	@Autowired
 	private SysUserFeignService sysUserFeignService;
-
+	
 	@Autowired
 	private SysUserCashAccountDetailDao sysUserCashAccountDetailDao;
 
@@ -62,36 +61,31 @@ public class IndexController extends BaseController {
 		String organId = sysUser.getOrganId();
 		if (sysUser.getIsSuperAdmin()) {
 			organId = null;
-		} else if (StringUtils.isEmpty(organId)) {
+		}else if(StringUtils.isEmpty(organId)){
 			return failed(HttpStatus.INTERNAL_SERVER_ERROR, "分部信息错误");
 		}
 
 		Map<String, Integer> musicDatas = musicGroupDao.queryOrganMusicGroupNum(organId);
-
+		
 		Map<String, Integer> teacherDatas = teacherDao.queryOrganTeacherNum(organId);
-
+		
 		Map<String, Integer> studentDatas = studentRegistrationDao.queryStudentNum(organId);
-
+		
 		Map<String, Integer> vipDatas = vipGroupDao.queryVipGroupNum(organId);
-
-		Map<String, Integer> demoDatas = new HashMap<String, Integer>();
-
-		Integer demoGroupNum = 0;
-
-		if (StringUtils.isBlank(organId)) {
-			demoDatas = demoGroupDao.queryDemoGroupNum(null);
-			demoGroupNum = demoGroupDao.queryCurrentMonthCoursesNum(null);
-		} else {
-			demoDatas = demoGroupDao.queryDemoGroupNum(organId.split(","));
-			demoGroupNum = demoGroupDao.queryCurrentMonthCoursesNum(organId.split(","));
+		String[] organIds = null;
+		if(StringUtils.isNotEmpty(organId)){
+			organIds = organId.split(",");
 		}
-
+		Map<String, Integer> demoDatas = demoGroupDao.queryDemoGroupNum(organIds);
+		
 		Integer musicGroupNum = musicGroupDao.queryCurrentMonthCoursesNum(organId);
-
+		
 		Integer vipGroupNum = vipGroupDao.queryCurrentMonthCoursesNum(organId);
-
+		
+		Integer demoGroupNum = demoGroupDao.queryCurrentMonthCoursesNum(organIds);
+		
 		Map<String, Object> incomeExpendMap = sysUserCashAccountDetailDao.queryStatistics(organId);
-
+		
 		ModelMap model = new ModelMap();
 		model.put("musicDatas", musicDatas);
 		model.put("teacherDatas", teacherDatas);