浏览代码

Merge remote-tracking branch 'origin/master'

周箭河 5 年之前
父节点
当前提交
34b982ea2b

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupCourseScheduleDto.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.dal.dto;
 import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
 import io.swagger.annotations.ApiModelProperty;
 
+import java.util.Date;
 import java.util.List;
 
 public class MusicGroupCourseScheduleDto {
@@ -50,6 +51,9 @@ public class MusicGroupCourseScheduleDto {
     @ApiModelProperty(value = "签退状态",required = false)
     private String signOutStatus;
 
+    @ApiModelProperty(value = "结算时间",required = false)
+    private Date settlementTime;
+
     @ApiModelProperty(value = "主教老师编号")
     private Integer masterTeacherId;
 
@@ -62,6 +66,14 @@ public class MusicGroupCourseScheduleDto {
     @ApiModelProperty(value = "老师人数",required = false)
     private Integer teacherNum;
 
+    public Date getSettlementTime() {
+        return settlementTime;
+    }
+
+    public void setSettlementTime(Date settlementTime) {
+        this.settlementTime = settlementTime;
+    }
+
     public String getStartClassTimeStr() {
         return startClassTimeStr;
     }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/queryMusicGroupCourseScheduleQueryInfo.java

@@ -23,6 +23,17 @@ public class queryMusicGroupCourseScheduleQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "班级编号",required = false)
     private Integer classGroupId;
 
+    @ApiModelProperty(value = "是否结算",required = false)
+    private Integer isSettlement;
+
+    public Integer getIsSettlement() {
+        return isSettlement;
+    }
+
+    public void setIsSettlement(Integer isSettlement) {
+        this.isSettlement = isSettlement;
+    }
+
     public Integer getClassGroupId() {
         return classGroupId;
     }

+ 8 - 27
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -2265,31 +2265,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         PageInfo pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
         Map<String, Object> params = new HashMap<>(16);
         MapUtil.populateMap(params, queryInfo);
-        Set<Integer> courseScheduleIdSet = new HashSet<>();
-
-        if(StringUtils.isNotBlank(queryInfo.getSearch())||StringUtils.isNotBlank(queryInfo.getOrganIdList())){
-//            params.put("musicGroupStatus", MusicGroupStatusEnum.PROGRESS);
-//            params.put("vipGroupStatus", VipGroupStatusEnum.PROGRESS);
-            //获取相关的乐团和vip课集合
-            courseScheduleIdSet.addAll(courseScheduleDao.queryMusicCourseScheduleIds(params));
-            courseScheduleIdSet.addAll(courseScheduleDao.queryVipCourseScheduleIds(params));
-            if(courseScheduleIdSet.size() > 0){
-                params.put("courseScheduleIds", courseScheduleIdSet);
-            }
-            /*List<Group> groups = groupDao.searchGroups(params);
-            if(groups != null && groups.size() > 0){
-                params.put("groups", groups);
-            }
-            //通过search获取相关学员课程
-            Set<Integer> studentCourseIds=courseScheduleDao.findCourseIdsByStudent(queryInfo.getSearch());
-            //通过search获取相关老师课程
-            Set<Integer> teacherCourseIds=courseScheduleDao.findCourseIdsByTeacher(queryInfo.getSearch());
-            studentCourseIds.addAll(teacherCourseIds);
-            if(studentCourseIds.size() > 0){
-                params.put("courseIds", studentCourseIds);
-            }*/
-        }
-
         if(StringUtils.isNotBlank(queryInfo.getTeacherName())){
             List<TeacherBasicDto> teachers = teacherDao.searchTeachers(params);
             if(!CollectionUtils.isEmpty(teachers)){
@@ -2297,7 +2272,13 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                 params.put("teacherIdList",StringUtils.join(teacherIds.toArray(),","));
             }
         }
-
+        Set<Integer> courseScheduleIdSet = new HashSet<>();
+        courseScheduleIdSet.addAll(courseScheduleDao.queryMusicCourseScheduleIds(params));
+        courseScheduleIdSet.addAll(courseScheduleDao.queryVipCourseScheduleIds(params));
+        if(courseScheduleIdSet.size() == 0){
+            return pageInfo;
+        }
+        params.put("courseScheduleIds", courseScheduleIdSet);
         List<CourseScheduleEndDto> results = new ArrayList<>();
         int count = courseScheduleDao.endCountCourseSchedules(params);
         if (count > 0) {
@@ -2317,7 +2298,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                 groups.add(group);
                 teacherIds.add(courseScheduleEndDto.getActualTeacherId());
             }
-            List<Map<Integer, String>> nameIdMaps = teacherDao.queryUsernameByIds(teacherIds);
+            List<Map<Integer, String>> nameIdMaps = teacherDao.queryNameByIds(StringUtils.join(teacherIds,","));
             Map<Integer, String> nameIdMap=MapUtil.convertIntegerMap(nameIdMaps);
             groups = groupDao.findByGroupIds(groups);
             Map<String, Map<GroupType, List<Group>>> groupsGroupByGroup = groups.stream().collect(Collectors.groupingBy(Group::getId, Collectors.groupingBy(Group::getGroupType)));

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

@@ -582,6 +582,12 @@
             <if test="classGroupId != null">
                 AND cg.id_ = #{classGroupId}
             </if>
+            <if test="isSettlement == 0">
+                AND csts.settlement_time_ IS NULL
+            </if>
+            <if test="isSettlement == 1">
+                AND csts.settlement_time_ IS NOT NULL
+            </if>
         </where>
     </sql>
     <resultMap id="MusicGroupCourseScheduleDto" type="com.ym.mec.biz.dal.dto.MusicGroupCourseScheduleDto">
@@ -598,6 +604,7 @@
         <result property="courseScheduleStatus" column="course_schedule_status_"/>
         <result property="signInStatus" column="sign_in_status_"/>
         <result property="signOutStatus" column="sign_out_status_"/>
+        <result property="settlementTime" column="settlement_time_"/>
     </resultMap>
     <select id="queryMusicGroupCourseSchedule" resultMap="MusicGroupCourseScheduleDto">
         SELECT cs.id_ course_schedule_id_,cs.class_date_,cs.start_class_time_,cs.end_class_time_,cs.class_group_id_,
@@ -620,10 +627,12 @@
         SELECT cs.id_ course_schedule_id_,cs.class_date_,cs.start_class_time_,cs.end_class_time_,cs.class_group_id_,
         cs.type_ course_schedule_type_,cs.status_ course_schedule_status_,cg.name_ course_schedule_name_,
         IF(ta.sign_in_status_ IS NULL,3,ta.sign_in_status_) sign_in_status_,
-        IF(ta.sign_out_status_ IS NULL,3,ta.sign_out_status_) sign_out_status_
+        IF(ta.sign_out_status_ IS NULL,3,ta.sign_out_status_) sign_out_status_,
+        csts.settlement_time_
         FROM course_schedule cs
         LEFT JOIN class_group cg ON cg.id_ = cs.class_group_id_
         LEFT JOIN teacher_attendance ta ON ta.course_schedule_id_ = cs.id_
+        LEFT JOIN course_schedule_teacher_salary csts ON csts.course_schedule_id_ = cs.id_ AND csts.teacher_role_ = 'BISHOP'
         <include refid="queryMusicGroupCourseScheduleDetailSql"/>
         ORDER BY cs.class_date_ ,cs.start_class_time_ ,cg.name_
         <include refid="global.limit"/>
@@ -634,6 +643,7 @@
         FROM course_schedule cs
         LEFT JOIN class_group cg ON cg.id_ = cs.class_group_id_
         LEFT JOIN teacher_attendance ta ON ta.course_schedule_id_ = cs.id_
+        LEFT JOIN course_schedule_teacher_salary csts ON csts.course_schedule_id_ = cs.id_ AND csts.teacher_role_ = 'BISHOP'
         <include refid="queryMusicGroupCourseScheduleDetailSql"/>
     </select>
 

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

@@ -1929,9 +1929,6 @@
                     #{courseId}
                 </foreach>
             </if>
-            <if test="teacherIdList != null">
-                AND FIND_IN_SET(cs.actual_teacher_id_,#{teacherIdList})
-            </if>
         </where>
     </sql>
 
@@ -2061,6 +2058,9 @@
         <if test="schoolId!=null">
             AND cs.schoole_id_ = #{schoolId}
         </if>
+        <if test="teacherIdList != null">
+            AND FIND_IN_SET(cs.actual_teacher_id_,#{teacherIdList})
+        </if>
     </sql>
     <select id="queryVipCourseScheduleIds" resultType="java.lang.Integer">
         SELECT cs.id_ FROM course_schedule cs

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

@@ -272,9 +272,18 @@ public class CourseScheduleController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        Employee employee = employeeDao.get(sysUser.getId());
-        if(StringUtils.isEmpty(queryInfo.getOrganIdList())&&Objects.nonNull(employee)){
-            queryInfo.setOrganIdList(employee.getOrganIdList());
+        if(!sysUser.getIsSuperAdmin()){
+            Employee employee = employeeDao.get(sysUser.getId());
+            if (org.apache.commons.lang3.StringUtils.isEmpty(queryInfo.getOrganIdList())) {
+                queryInfo.setOrganIdList(employee.getOrganIdList());
+            }else if(org.apache.commons.lang3.StringUtils.isEmpty(employee.getOrganIdList())){
+                return failed("用户所在分部异常");
+            }else {
+                List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
+                if(!list.containsAll(Arrays.asList(queryInfo.getOrganIdList().split(",")))){
+                    return failed("非法请求");
+                }
+            }
         }
         return succeed(scheduleService.endFindCourseSchedules(queryInfo));
     }