yonge há 5 anos atrás
pai
commit
0dcbc2a3db

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

@@ -631,12 +631,13 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
                                                                           @Param("endTime") Date endTime);
 
     /**
-     * 查询班级未开始的课程
+     * 查询班级上指定状态的课程
      *
      * @param classGroupId
+     * @param status
      * @return
      */
-    List<CourseSchedule> findNoStartCoursesByClassGroupId(@Param("classGroupId") Integer classGroupId);
+    List<CourseSchedule> findCoursesByClassGroupId(@Param("classGroupId") Integer classGroupId,@Param("status") CourseStatusEnum status);
 
     /**
      * @param courseScheduleId: 课程编号

+ 23 - 12
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ClassGroup.java

@@ -1,5 +1,8 @@
 package com.ym.mec.biz.dal.entity;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import io.swagger.annotations.ApiModelProperty;
 
 import org.apache.commons.lang3.builder.ToStringBuilder;
@@ -23,10 +26,6 @@ public class ClassGroup {
 	private String musicGroupId;
 
 	/**  */
-	@ApiModelProperty(value = "上课模式", required = true)
-	private String teachMode = "OFFLINE";
-
-	/**  */
 	@ApiModelProperty(value = "科目编号(多个,号分割)", required = true)
 	private String subjectIdList;
 
@@ -86,6 +85,10 @@ public class ClassGroup {
 	
 	@ApiModelProperty(value = "班级图标",required = false)
 	private String img;
+	
+	private List<ClassGroupTeacherMapper> teacherMapperList = new ArrayList<ClassGroupTeacherMapper>();
+	
+	private List<CourseSchedule> courseScheduleList = new ArrayList<CourseSchedule>();
 
 	public String getViewGroupName() {
 		return viewGroupName;
@@ -111,14 +114,6 @@ public class ClassGroup {
 		this.groupName = groupName;
 	}
 
-	public String getTeachMode() {
-		return teachMode;
-	}
-
-	public void setTeachMode(String teachMode) {
-		this.teachMode = teachMode;
-	}
-
 	public Integer getCurrentClassTimes() {
 		return currentClassTimes;
 	}
@@ -255,6 +250,22 @@ public class ClassGroup {
 		this.img = img;
 	}
 
+	public List<ClassGroupTeacherMapper> getTeacherMapperList() {
+		return teacherMapperList;
+	}
+
+	public void setTeacherMapperList(List<ClassGroupTeacherMapper> teacherMapperList) {
+		this.teacherMapperList = teacherMapperList;
+	}
+
+	public List<CourseSchedule> getCourseScheduleList() {
+		return courseScheduleList;
+	}
+
+	public void setCourseScheduleList(List<CourseSchedule> courseScheduleList) {
+		this.courseScheduleList = courseScheduleList;
+	}
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

+ 65 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/ClassGroupQueryInfo.java

@@ -0,0 +1,65 @@
+package com.ym.mec.biz.dal.page;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
+import com.ym.mec.biz.dal.enums.GroupType;
+import com.ym.mec.common.page.QueryInfo;
+
+public class ClassGroupQueryInfo extends QueryInfo {
+	
+	@ApiModelProperty(value = "班级编号", required = false)
+	private Integer id;
+
+	@ApiModelProperty(value = "课程组编号", required = true)
+    private String musicGroupId;
+    
+	@ApiModelProperty(value = "班级类型(普通班级、合奏班级、提高课班级、VIP班级、试听课)", required = true)
+    private ClassGroupTypeEnum type;
+    
+	@ApiModelProperty(value = "课程组类型(MUSIC、VIP、DEMO、PRACTICE、COMM、REPAIR)", required = true)
+    private GroupType groupType;
+    
+    @ApiModelProperty(value = "班级名称", required = true)
+    private String name;
+
+	public Integer getId() {
+		return id;
+	}
+
+	public void setId(Integer id) {
+		this.id = id;
+	}
+
+	public String getMusicGroupId() {
+		return musicGroupId;
+	}
+
+	public void setMusicGroupId(String musicGroupId) {
+		this.musicGroupId = musicGroupId;
+	}
+
+	public ClassGroupTypeEnum getType() {
+		return type;
+	}
+
+	public void setType(ClassGroupTypeEnum type) {
+		this.type = type;
+	}
+
+	public GroupType getGroupType() {
+		return groupType;
+	}
+
+	public void setGroupType(GroupType groupType) {
+		this.groupType = groupType;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+}

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

@@ -16,6 +16,10 @@ import java.util.List;
 import java.util.Map;
 
 public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
+	
+	public PageInfo<ClassGroup> queryPage(ClassGroupQueryInfo queryInfo);
+	
+	boolean createClassGroup(ClassGroup classGroup);
 
     /**
      * 查询老师乐团课课程

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

@@ -24,6 +24,7 @@ import com.ym.mec.jiari.JiaRiFeignService;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateConvertor;
 import com.ym.mec.util.date.DateUtil;
+
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -124,6 +125,32 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     }
 
     @Override
+	public PageInfo<ClassGroup> queryPage(ClassGroupQueryInfo queryInfo) {
+    	PageInfo<ClassGroup> pageInfo = new PageInfo<ClassGroup>(queryInfo.getPage(), queryInfo.getRows());
+		Map<String, Object> params = new HashMap<String, Object>();
+		MapUtil.populateMap(params, queryInfo);
+		
+		List<ClassGroup> dataList = new ArrayList<ClassGroup>();
+		int count = this.findCount(params);
+		if (count > 0) {
+			pageInfo.setTotal(count);
+			params.put("offset", pageInfo.getOffset());
+			dataList = this.getDAO().queryPage(params);
+		}
+		for (ClassGroup cg : dataList) {
+			cg.setTeacherMapperList(classGroupTeacherMapperDao.findClassGroupTeachers(cg.getId() + ""));
+			cg.setCourseScheduleList(courseScheduleDao.findCoursesByClassGroupId(cg.getId(), null));
+		}
+		pageInfo.setRows(dataList);
+		return pageInfo;
+	}
+
+	@Override
+	public boolean createClassGroup(ClassGroup classGroup) {
+		return true;
+	}
+
+	@Override
     public List<ClassGroup> findClassGroup4Teacher(Integer teacherId) {
         return classGroupDao.findClassGroup4Teacher(teacherId);
     }

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

@@ -3413,7 +3413,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
     @Override
     public List<CourseSchedule> findNoStartCoursesByClassGroupId(Integer classGroupId) {
-        return courseScheduleDao.findNoStartCoursesByClassGroupId(classGroupId);
+        return courseScheduleDao.findCoursesByClassGroupId(classGroupId, CourseStatusEnum.NOT_START);
     }
 
 

+ 37 - 8
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -22,10 +22,6 @@
         <result column="total_class_times_" property="totalClassTimes"/>
         <result column="img_" property="img"/>
         <result column="current_class_times_" property="currentClassTimes"/>
-        <!--<association property="musicGroupId" javaType="com.ym.mec.biz.dal.entity.MusicGroup" >-->
-        <!--<result column="name_" property="name"/>-->
-        <!--<result column="status_" property="status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>-->
-        <!--</association>-->
     </resultMap>
 
     <resultMap type="com.ym.mec.biz.dal.entity.ClassGroup4Teacher" id="ClassGroup4Teacher">
@@ -151,15 +147,48 @@
 
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="ClassGroup" parameterType="map">
-        SELECT * FROM class_group where del_flag_ = 0 ORDER BY id_
+        SELECT * FROM class_group 
+        <where>
+        	<if test="id != null">
+				id_ = #{id}
+			</if>
+        	<if test="type != null">
+				type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+			</if>
+        	<if test="groupType != null">
+				group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+			</if>
+        	<if test="musicGroupId != null and musicGroupId != ''">
+				music_group_id_ = #{musicGroupId}
+			</if>
+        	<if test="name != null and name != ''">
+				name_ LIKE CONCAT('%',#{name},'%')
+			</if>
+        </where>
+        ORDER BY id_ desc
         <include refid="global.limit"/>
     </select>
 
     <!-- 查询当前表的总记录数 -->
     <select id="queryCount" resultType="int">
-        SELECT COUNT(*)
-        FROM class_group
-        where del_flag_ = 0
+        SELECT COUNT(*) FROM class_group
+        <where>
+        	<if test="id != null">
+				id_ = #{id}
+			</if>
+        	<if test="type != null">
+				type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+			</if>
+        	<if test="groupType != null">
+				group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+			</if>
+        	<if test="musicGroupId != null and musicGroupId != ''">
+				music_group_id_ = #{musicGroupId}
+			</if>
+        	<if test="name != null and name != ''">
+				name_ LIKE CONCAT('%',#{name},'%')
+			</if>
+        </where>
     </select>
 
     <!-- 查询根据主教助教查询班级信息 -->

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

@@ -1468,12 +1468,13 @@
         ORDER BY CONCAT(cs.class_date_,' ',cs.start_class_time_)
     </select>
     <!-- 查找班级未开始的课程 -->
-    <select id="findNoStartCoursesByClassGroupId" resultMap="CourseSchedule">
+    <select id="findCoursesByClassGroupId" resultMap="CourseSchedule">
         SELECT *
         FROM course_schedule
         WHERE class_group_id_ = #{classGroupId}
-          AND status_ = 'NOT_START'
-          AND group_type_ = 'MUSIC'
+        <if test="status != null">
+            and status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+        </if>
     </select>
 
     <resultMap id="CourseAttendanceDetailHeadInfoDto" type="com.ym.mec.biz.dal.dto.CourseAttendanceDetailHeadInfoDto">

+ 1 - 1
mec-util/src/main/java/com/ym/mec/util/idcard/IdcardInfoExtractor.java

@@ -6,7 +6,7 @@ import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.Properties;
 
-import org.apache.commons.lang.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringBuilder;
 
 import com.ym.mec.util.exception.UtilException;
 

+ 27 - 15
mec-web/src/main/java/com/ym/mec/web/controller/ClassGroupController.java

@@ -1,5 +1,24 @@
 package com.ym.mec.web.controller;
 
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+
+import java.util.Date;
+import java.util.List;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.ClassGroup4MixDto;
@@ -10,6 +29,7 @@ import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
 import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.SalarySettlementTypeEnum;
+import com.ym.mec.biz.dal.page.ClassGroupQueryInfo;
 import com.ym.mec.biz.dal.page.EndCourseScheduleQueryInfo;
 import com.ym.mec.biz.dal.page.queryMusicGroupCourseScheduleQueryInfo;
 import com.ym.mec.biz.service.ClassGroupService;
@@ -17,14 +37,6 @@ import com.ym.mec.biz.service.ClassGroupTeacherMapperService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.page.QueryInfo;
-import io.swagger.annotations.*;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.Date;
-import java.util.List;
 
 @RequestMapping("classGroup")
 @Api(tags = "班级服务")
@@ -38,6 +50,13 @@ public class ClassGroupController extends BaseController {
     @Autowired
     private SysUserFeignService sysUserFeignService;
 
+    @ApiOperation(value = "分页查询班级列表")
+    @GetMapping("/queryPage")
+    @PreAuthorize("@pcs.hasPermissions('classGroup/queryPage')")
+    public Object queryPage(ClassGroupQueryInfo queryInfo) {
+        return succeed(classGroupService.queryPage(queryInfo));
+    }
+
     @ApiOperation(value = "新增单技班班级")
     @PostMapping("/add")
     @PreAuthorize("@pcs.hasPermissions('classGroup/add')")
@@ -90,13 +109,6 @@ public class ClassGroupController extends BaseController {
         return succeed();
     }
 
-    @ApiOperation(value = "分页查询班级列表")
-    @GetMapping("/queryPage")
-    @PreAuthorize("@pcs.hasPermissions('classGroup/queryPage')")
-    public Object queryPage(QueryInfo queryInfo) {
-        return succeed(classGroupService.queryPage(queryInfo));
-    }
-
     @ApiOperation(value = "合奏班相关班级获取")
     @GetMapping("/findClassGroupAboutMix")
     @PreAuthorize("@pcs.hasPermissions('classGroup/findClassGroupAboutMix')")