zouxuan 5 years ago
parent
commit
a371b22416

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

@@ -388,7 +388,7 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @params [vipGroupId]
      * @describe 获取vip课排课计划
      */
-    List<CourseSchedule> findVipGroupCourseSchedules(@Param("vipGroupId") Long vipGroupId);
+    List<CourseSchedule> findGroupCourseSchedules(@Param("groupId") Long groupId,@Param("groupType")String groupType);
 
     /**
      * @describe 获取对应乐团下未开始的排课计划编号列表

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseSchedule.java

@@ -127,7 +127,7 @@ public class CourseSchedule {
 
 	private String classGroupName;
 
-	private Integer isSettlement;
+	private Integer isSettlement = 0;
 
 	private String classGroupType;
 

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/PracticeGroupQueryInfo.java

@@ -12,6 +12,16 @@ public class PracticeGroupQueryInfo extends QueryInfo {
 
     private Integer teacherId;
 
+    private Long practiceId;
+
+    public Long getPracticeId() {
+        return practiceId;
+    }
+
+    public void setPracticeId(Long practiceId) {
+        this.practiceId = practiceId;
+    }
+
     public Integer getTeacherId() {
         return teacherId;
     }

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

@@ -7,10 +7,7 @@ import com.ym.mec.biz.dal.entity.CourseScheduleComplaints;
 import com.ym.mec.biz.dal.enums.AuditStatusEnum;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
-import com.ym.mec.biz.dal.page.CourseScheduleQueryInfo;
-import com.ym.mec.biz.dal.page.EndCourseScheduleQueryInfo;
-import com.ym.mec.biz.dal.page.StudentCourseScheduleRecordQueryInfo;
-import com.ym.mec.biz.dal.page.VipGroupQueryInfo;
+import com.ym.mec.biz.dal.page.*;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/PracticeGroupService.java

@@ -82,4 +82,11 @@ public interface PracticeGroupService extends BaseService<Long, PracticeGroup> {
 	 * @return
 	 */
 	PageInfo<PracticeGroupDto> findPracticeGroups(PracticeGroupQueryInfo queryInfo);
+
+	/**
+	 * 获取陪练课课程计划
+	 * @param queryInfo
+	 * @return
+	 */
+	Object findPracticeGroupCourseSchedules(PracticeGroupQueryInfo queryInfo);
 }

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

@@ -9,10 +9,7 @@ import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.*;
-import com.ym.mec.biz.dal.page.CourseScheduleQueryInfo;
-import com.ym.mec.biz.dal.page.EndCourseScheduleQueryInfo;
-import com.ym.mec.biz.dal.page.StudentCourseScheduleRecordQueryInfo;
-import com.ym.mec.biz.dal.page.VipGroupQueryInfo;
+import com.ym.mec.biz.dal.page.*;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
@@ -2169,7 +2166,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         if (vipGroup.getStatus().equals(VipGroupStatusEnum.APPLYING)) {
             dataList = JSON.parseArray(vipGroup.getCourseSchedulesJson(), CourseSchedule.class);
         } else {
-            dataList = courseScheduleDao.findVipGroupCourseSchedules(vipGroup.getId());
+            dataList = courseScheduleDao.findGroupCourseSchedules(vipGroup.getId(),GroupType.VIP.getCode());
         }
 
         int count = dataList.size();

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

@@ -54,7 +54,7 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 		//获取活动信息
 		VipGroupActivity vipGroupActivity = vipGroupActivityDao.get(vipGroupApplyBaseInfoDto.getVipGroupActivityId().intValue());
 
-		List<CourseSchedule> vipGroupCourseSchedules=courseScheduleDao.findVipGroupCourseSchedules(vipGroupId);
+		List<CourseSchedule> vipGroupCourseSchedules=courseScheduleDao.findGroupCourseSchedules(vipGroupId,GroupType.VIP.getCode());
 
 		if(CollectionUtils.isEmpty(vipGroupCourseSchedules)){
 			throw new BizException("未获取到排课信息");

+ 40 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.service.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
@@ -1391,4 +1392,43 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         return pageInfo;
     }
 
+    @Override
+    public Object findPracticeGroupCourseSchedules(PracticeGroupQueryInfo queryInfo) {
+        PageInfo pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        if (Objects.isNull(queryInfo.getPracticeId())) {
+            throw new BizException("请指定陪练课课程");
+        }
+
+        Map<String, Object> params = new HashMap<>();
+        MapUtil.populateMap(params, queryInfo);
+
+        PracticeGroup practiceGroup = practiceGroupDao.get(queryInfo.getPracticeId());
+        if (Objects.isNull(practiceGroup)) {
+            throw new BizException("指定的陪练课不存在");
+        }
+
+        List<CourseSchedule> dataList = courseScheduleDao.findGroupCourseSchedules(practiceGroup.getId(),GroupType.PRACTICE.getCode());
+        int count = dataList.size();
+        if (count > 0) {
+            pageInfo.setTotal(count);
+            List<Long> courseScheduleIds = dataList.stream()
+                    .map(courseSchedule -> courseSchedule.getId())
+                    .distinct().collect(Collectors.toList());
+            List<Map<Long, Integer>> courseSettlementMaps = courseScheduleTeacherSalaryDao.checkCoursesIsSettlement(courseScheduleIds);
+            Map<Long, Long> courseSettlementMap = MapUtil.convertIntegerMap(courseSettlementMaps);
+            dataList.forEach(courseSchedule -> {
+                Long isSettlement = courseSettlementMap.get(courseSchedule.getId().longValue());
+                if (Objects.isNull(isSettlement) || isSettlement <= 0) {
+                    courseSchedule.setIsSettlement(0);
+                } else {
+                    courseSchedule.setIsSettlement(1);
+                }
+            });
+        }
+        pageInfo.setRows(dataList);
+        Map<String, Object> result = new HashMap<>();
+        result.put("pageInfo", pageInfo);
+        return result;
+    }
+
 }

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

@@ -453,7 +453,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 				.collect(Collectors.toList());
 
 		//指定VIP课原有的课程列表
-		List<CourseSchedule> vipGroupCourseSchedules = courseScheduleDao.findVipGroupCourseSchedules(vipGroupUpdateInfo.getId());
+		List<CourseSchedule> vipGroupCourseSchedules = courseScheduleDao.findGroupCourseSchedules(vipGroupUpdateInfo.getId(),GroupType.VIP.getCode());
 
 		if(!CollectionUtils.isEmpty(updateCourseSchedules)){
 			//需要删除的课程编号列表

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

@@ -942,7 +942,7 @@
         LEFT JOIN sys_user su ON sa.user_id_=su.id_
         WHERE sa.course_schedule_id_=#{courseScheduleId} AND status_ = 'NORMAL'
     </select>
-    <select id="findVipGroupCourseSchedules" resultMap="CourseSchedule">
+    <select id="findGroupCourseSchedules" resultMap="CourseSchedule">
         SELECT
             cs.id_,
             cs.group_type_,
@@ -969,7 +969,7 @@
         	course_schedule cs
         	LEFT JOIN school s ON cs.schoole_id_=s.id_
         WHERE
-          cs.music_group_id_ =#{vipGroupId} AND cs.group_type_ = 'VIP'
+          cs.music_group_id_ =#{groupId} AND cs.group_type_ = #{groupType}
         ORDER BY start_class_time_
     </select>
     <select id="findVipGroupNotStartCourseScheduleIds" resultType="long">

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

@@ -12,6 +12,7 @@ import com.ym.mec.biz.dal.enums.AuditStatusEnum;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.TeachModeEnum;
 import com.ym.mec.biz.dal.page.EndCourseScheduleQueryInfo;
+import com.ym.mec.biz.dal.page.PracticeGroupQueryInfo;
 import com.ym.mec.biz.dal.page.StudentAttendanceQueryInfo;
 import com.ym.mec.biz.dal.page.VipGroupQueryInfo;
 import com.ym.mec.biz.service.CourseScheduleComplaintsService;
@@ -122,13 +123,6 @@ public class CourseScheduleController extends BaseController {
         return succeed(scheduleService.findVipGroupCourseSchedules(queryInfo));
     }
 
-    /*@ApiOperation(value = "获取陪练课课程计划")
-    @PostMapping(value = "/findVipGroupCourseSchedules")
-    @PreAuthorize("@pcs.hasPermissions('courseSchedule/findVipGroupCourseSchedules')")
-    public Object findVipGroupCourseSchedules(VipGroupQueryInfo queryInfo){
-        return succeed(scheduleService.findVipGroupCourseSchedules(queryInfo));
-    }*/
-
     @ApiOperation(value = "根据月份获取乐团在该月有课的日期")
     @GetMapping("/getCourseScheduleDateByMonth")
     @PreAuthorize("@pcs.hasPermissions('courseSchedule/getCourseScheduleDateByMonth')")

+ 7 - 0
mec-web/src/main/java/com/ym/mec/web/controller/PracticeGroupManageController.java

@@ -64,4 +64,11 @@ public class PracticeGroupManageController extends BaseController {
         }
         return succeed(practiceGroupService.findPracticeGroups(queryInfo));
     }
+
+    @ApiOperation(value = "获取陪练课课程计划")
+    @GetMapping(value = "/findPracticeGroupCourseSchedules")
+    @PreAuthorize("@pcs.hasPermissions('practiceGroupManage/findPracticeGroupCourseSchedules')")
+    public Object findPracticeGroupCourseSchedules(PracticeGroupQueryInfo queryInfo){
+        return succeed(practiceGroupService.findPracticeGroupCourseSchedules(queryInfo));
+    }
 }