Browse Source

add:预报名统计

yonge 4 years ago
parent
commit
29b2eb38a5

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentPreRegistrationDao.java

@@ -8,6 +8,7 @@ import org.apache.ibatis.annotations.Param;
 import com.ym.mec.biz.dal.dto.StudentPreRegistrationDto;
 import com.ym.mec.biz.dal.entity.StudentPreRegistration;
 import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.entity.Mapper;
 
 public interface StudentPreRegistrationDao extends BaseDAO<Long, StudentPreRegistration> {
 
@@ -18,4 +19,9 @@ public interface StudentPreRegistrationDao extends BaseDAO<Long, StudentPreRegis
 	List<StudentPreRegistration> queryByMusicGroupId(String musicGroupId);
 	
 	List<StudentPreRegistrationDto> queryListForPage(Map<String,Object> params);
+	
+	//统计第一专业
+	List<Mapper> queryFirstSubjectNum(String musicGroupId);
+	
+	List<Mapper> querySecondSubjectNum(String musicGroupId);
 }

+ 34 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/PreRegisterSubjectDto.java

@@ -0,0 +1,34 @@
+package com.ym.mec.biz.dal.dto;
+
+public class PreRegisterSubjectDto {
+
+	private String subjectName;
+	
+	private int firstSubjectNum;
+	
+	private int secondSubjectNum;
+
+	public String getSubjectName() {
+		return subjectName;
+	}
+
+	public void setSubjectName(String subjectName) {
+		this.subjectName = subjectName;
+	}
+
+	public int getFirstSubjectNum() {
+		return firstSubjectNum;
+	}
+
+	public void setFirstSubjectNum(int firstSubjectNum) {
+		this.firstSubjectNum = firstSubjectNum;
+	}
+
+	public int getSecondSubjectNum() {
+		return secondSubjectNum;
+	}
+
+	public void setSecondSubjectNum(int secondSubjectNum) {
+		this.secondSubjectNum = secondSubjectNum;
+	}
+}

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentPreRegistrationService.java

@@ -1,5 +1,8 @@
 package com.ym.mec.biz.service;
 
+import java.util.List;
+
+import com.ym.mec.biz.dal.dto.PreRegisterSubjectDto;
 import com.ym.mec.biz.dal.dto.StudentPreRegistrationDto;
 import com.ym.mec.biz.dal.entity.StudentPreRegistration;
 import com.ym.mec.common.page.PageInfo;
@@ -9,4 +12,6 @@ import com.ym.mec.common.service.BaseService;
 public interface StudentPreRegistrationService extends BaseService<Long, StudentPreRegistration> {
 	
 	public PageInfo<StudentPreRegistrationDto> queryListForPage(QueryInfo queryInfo);
+	
+	public List<PreRegisterSubjectDto> querySubjectNum(String musicGroupId);
 }

+ 35 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPreRegistrationServiceImpl.java

@@ -2,17 +2,21 @@ package com.ym.mec.biz.service.impl;
 
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.ym.mec.biz.dal.dao.StudentPreRegistrationDao;
+import com.ym.mec.biz.dal.dto.PreRegisterSubjectDto;
 import com.ym.mec.biz.dal.dto.StudentPreRegistrationDto;
 import com.ym.mec.biz.dal.entity.StudentPreRegistration;
 import com.ym.mec.biz.service.StudentPreRegistrationService;
 import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.entity.Mapper;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
@@ -48,5 +52,36 @@ public class StudentPreRegistrationServiceImpl extends BaseServiceImpl<Long, Stu
 		pageInfo.setRows(dataList);
 		return pageInfo;
 	}
+
+	@Override
+	public List<PreRegisterSubjectDto> querySubjectNum(String musicGroupId) {
+		Set<String> subjectNames = new HashSet<String>();
+		Map<String, Integer> firstMap = new HashMap<String, Integer>();
+		Map<String, Integer> secondMap = new HashMap<String, Integer>();
+
+		List<Mapper> firstMapperList = studentPreRegistrationDao.queryFirstSubjectNum(musicGroupId);
+		for (Mapper mapper : firstMapperList) {
+			firstMap.put(String.valueOf(mapper.getKey()), Integer.parseInt(mapper.getValue().toString()));
+			subjectNames.add(String.valueOf(mapper.getKey()));
+		}
+
+		List<Mapper> secondMapperList = studentPreRegistrationDao.querySecondSubjectNum(musicGroupId);
+		for (Mapper mapper : secondMapperList) {
+			secondMap.put(String.valueOf(mapper.getKey()), Integer.parseInt(mapper.getValue().toString()));
+			subjectNames.add(String.valueOf(mapper.getKey()));
+		}
+
+		List<PreRegisterSubjectDto> list = new ArrayList<PreRegisterSubjectDto>();
+		for (String subjectName : subjectNames) {
+			PreRegisterSubjectDto dto = new PreRegisterSubjectDto();
+			dto.setSubjectName(subjectName);
+			dto.setFirstSubjectNum(firstMap.get(subjectName) == null ? 0 : firstMap.get(subjectName));
+			dto.setSecondSubjectNum(secondMap.get(subjectName) == null ? 0 : secondMap.get(subjectName));
+
+			list.add(dto);
+		}
+
+		return list;
+	}
 	
 }

+ 19 - 0
mec-biz/src/main/resources/config/mybatis/StudentPreRegistrationMapper.xml

@@ -29,6 +29,11 @@
 		<result column="is_registered_" property="isRegistered" />
 	</resultMap>
 	
+	<resultMap type="com.ym.mec.common.entity.Mapper" id="Mapper">
+		<result column="key_" property="key" />
+		<result column="value_" property="value" />
+	</resultMap>
+	
 	<!-- 根据主键查询一条记录 -->
 	<select id="get" resultMap="StudentPreRegistration" >
 		SELECT * FROM student_pre_registration WHERE id_ = #{id} 
@@ -147,6 +152,20 @@
 		</where>
 	</select>
 	
+	<select id="queryFirstSubjectNum" resultMap="Mapper">
+		SELECT ifnull(s.name_,'其他') key_,COUNT(spr.id_) value_ FROM student_pre_registration spr 
+		left join subject s on s.id_ = spr.subject_first_
+		where spr.music_group_id_ = #{musicGroupId}
+		group by spr.subject_first_
+	</select>
+	
+	<select id="querySecondSubjectNum" resultMap="Mapper">
+		SELECT ifnull(s.name_,'其他') key_,COUNT(spr.id_) value_ FROM student_pre_registration spr  
+		left join subject s on s.id_ = spr.subject_second_
+		where spr.music_group_id_ = #{musicGroupId}
+		group by spr.subject_second_
+	</select>
+	
 	<select id="queryByMusicGroupIdAndUserId" resultMap="StudentPreRegistration" parameterType="map">
 		SELECT * FROM student_pre_registration WHERE user_id_ = #{userId} and music_group_id_ = #{musicGroupId}
 	</select>

+ 24 - 0
mec-common/common-core/src/main/java/com/ym/mec/common/entity/Mapper.java

@@ -0,0 +1,24 @@
+package com.ym.mec.common.entity;
+
+public class Mapper {
+
+	private Object key;
+
+	private Object value;
+
+	public Object getKey() {
+		return key;
+	}
+
+	public void setKey(Object key) {
+		this.key = key;
+	}
+
+	public Object getValue() {
+		return value;
+	}
+
+	public void setValue(Object value) {
+		this.value = value;
+	}
+}

+ 19 - 9
mec-web/src/main/java/com/ym/mec/web/controller/StudentRegistrationController.java

@@ -1,22 +1,17 @@
 package com.ym.mec.web.controller;
 
-import com.ym.mec.biz.dal.dao.MusicGroupDao;
-import com.ym.mec.biz.dal.dto.StudentPreRegistrationDto;
-import com.ym.mec.biz.dal.entity.*;
-import com.ym.mec.common.page.PageInfo;
-import com.ym.mec.util.date.DateUtil;
-import com.ym.mec.util.excel.POIUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 
-import java.io.EOFException;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.util.Date;
 import java.util.List;
 
+import javax.servlet.http.HttpServletResponse;
+
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -27,11 +22,18 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import com.ym.mec.biz.dal.dao.MusicGroupDao;
 import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderCourseSettingsDao;
 import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDao;
 import com.ym.mec.biz.dal.dto.DelRegisterDto;
 import com.ym.mec.biz.dal.dto.MusicGroupSubjectGoodsAndInfoDto;
 import com.ym.mec.biz.dal.dto.StudentAddDto;
+import com.ym.mec.biz.dal.dto.StudentPreRegistrationDto;
+import com.ym.mec.biz.dal.entity.MusicGroup;
+import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
+import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderCourseSettings;
+import com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail;
+import com.ym.mec.biz.dal.entity.StudentRegistration;
 import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
 import com.ym.mec.biz.dal.page.StudentPreRegistrationQueryInfo;
 import com.ym.mec.biz.dal.page.StudentRegistrationQueryInfo;
@@ -40,8 +42,9 @@ import com.ym.mec.biz.service.StudentPreRegistrationService;
 import com.ym.mec.biz.service.StudentRegistrationService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
-
-import javax.servlet.http.HttpServletResponse;
+import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.util.date.DateUtil;
+import com.ym.mec.util.excel.POIUtil;
 
 @RequestMapping("studentRegistration")
 @Api(tags = "学生报名信息服务")
@@ -68,6 +71,13 @@ public class StudentRegistrationController extends BaseController {
         return succeed(studentPreRegistrationService.queryListForPage(queryInfo));
     }
 
+    @ApiOperation(value = "乐团预报名声部列表查询")
+    @GetMapping("/queryPreApplySubjectList")
+    @PreAuthorize("@pcs.hasPermissions('studentRegistration/queryPreApplySubjectList')")
+    public Object queryPreApplySubjectList(String musicGroupId) {
+        return succeed(studentPreRegistrationService.querySubjectNum(musicGroupId));
+    }
+
     @ApiOperation(value = "乐团添加学员")
     @PostMapping("/insertStudent")
     @PreAuthorize("@pcs.hasPermissions('studentRegistration/insertStudent')")