Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/master'

周箭河 5 gadi atpakaļ
vecāks
revīzija
4ff78d5890

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentRegisterPerDto.java

@@ -3,12 +3,22 @@ package com.ym.mec.biz.dal.dto;
 public class StudentRegisterPerDto {
     private String organName;
 
+    private String organId;
+
     private Integer studentNum;
 
     private Integer perNum;
 
     private float per;
 
+    public String getOrganId() {
+        return organId;
+    }
+
+    public void setOrganId(String organId) {
+        this.organId = organId;
+    }
+
     public String getOrganName() {
         return organName;
     }

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

@@ -631,13 +631,12 @@
         GROUP_CONCAT(DISTINCT vg.name_) vip_group_name_,GROUP_CONCAT(DISTINCT o.name_) organ_name_,GROUP_CONCAT(DISTINCT s.name_) music_group_subject_
         FROM sys_user su
         LEFT JOIN course_schedule_student_payment cssp ON su.id_ = cssp.user_id_
-        LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_
         LEFT JOIN music_group mg ON cssp.music_group_id_ = mg.id_ AND cssp.group_type_ = 'MUSIC'
         LEFT JOIN vip_group vg ON cssp.music_group_id_ = vg.id_ AND cssp.group_type_ = 'VIP'
         LEFT JOIN organization o ON su.organ_id_ = o.id_
         LEFT JOIN student_registration sr ON su.id_ = sr.user_id_ AND cssp.music_group_id_ = sr.music_group_id_
         LEFT JOIN `subject` s ON s.id_ = sr.actual_subject_id_
-        WHERE cs.status_ != 'OVER' AND su.password_ IS NULL AND su.user_type_ = 'STUDENT'
+        WHERE cssp.id_ IS NOT NULL AND su.user_type_ = 'STUDENT' AND (sr.music_group_status_ != 'QUIT' OR sr.id_ IS NULL) AND su.password_ IS NULL
         <if test="organId != null and organId != ''">
             AND FIND_IN_SET(su.organ_id_,#{organId})
         </if>

+ 13 - 15
mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml

@@ -561,22 +561,20 @@
         <result property="perNum" column="per_num_"/>
     </resultMap>
     <select id="queryStudentPer" resultMap="StudentRegisterPerDtoMap">
-        SELECT a.name_ organ_name_,a.num student_num_,b.num per_num_,ifnull(b.num,0)*100/a.num per_ FROM (
-        SELECT b.name_,COUNT(a.id_) num,b.id_ FROM sys_user a LEFT JOIN organization b ON a.organ_id_=b.id_
-        WHERE a.id_ IN(
-        SELECT b.id_ FROM course_schedule_student_payment a LEFT JOIN sys_user b ON a.user_id_=b.id_
-        LEFT JOIN course_schedule c ON a.course_schedule_id_=c.id_ WHERE b.user_type_='STUDENT' AND c.status_ IN('UNDERWAY','NOT_START')
-        GROUP BY a.user_id_,b.organ_id_ )
-        GROUP BY organ_id_) a
+        SELECT a.name_ organ_name_,a.num_ student_num_,b.num_ per_num_,ifnull(b.num_,0)*100/a.num_ per_
+        FROM (SELECT o.id_,o.name_,COUNT(DISTINCT su.id_) num_ FROM sys_user su
+        LEFT JOIN course_schedule_student_payment cssp ON su.id_ = cssp.user_id_
+        LEFT JOIN student_registration sr ON su.id_ = sr.user_id_ AND cssp.music_group_id_ = sr.music_group_id_
+        LEFT JOIN organization o ON su.organ_id_ = o.id_
+        WHERE cssp.id_ IS NOT NULL AND su.user_type_ = 'STUDENT' AND (sr.id_ IS NULL OR sr.music_group_status_ != 'QUIT')
+        GROUP BY su.organ_id_) a
         LEFT JOIN
-        (SELECT b.name_,COUNT(a.id_) num,b.id_ FROM sys_user a LEFT JOIN organization b ON a.organ_id_=b.id_
-        WHERE a.id_ IN(
-        SELECT b.id_ FROM course_schedule_student_payment a LEFT JOIN sys_user b ON a.user_id_=b.id_
-        LEFT JOIN course_schedule c ON a.course_schedule_id_ = c.id_
-        WHERE b.user_type_='STUDENT' AND password_ IS NOT NULL AND c.status_ IN('UNDERWAY','NOT_START') GROUP BY a.user_id_,b.organ_id_ )
-        GROUP BY organ_id_) b
-        ON a.id_=b.id_
-        WHERE a.name_ IS NOT NULL
+        (SELECT su.organ_id_ id_,COUNT(DISTINCT su.id_) num_ FROM sys_user su
+        LEFT JOIN course_schedule_student_payment cssp ON su.id_ = cssp.user_id_
+        LEFT JOIN student_registration sr ON su.id_ = sr.user_id_ AND cssp.music_group_id_ = sr.music_group_id_
+        WHERE cssp.id_ IS NOT NULL AND su.user_type_ = 'STUDENT' AND (sr.id_ IS NULL OR sr.music_group_status_ != 'QUIT') AND su.password_ IS NOT NULL
+        GROUP BY su.organ_id_) b
+        ON a.id_ = b.id_
         ORDER BY per_ DESC
     </select>
 

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

@@ -205,7 +205,7 @@
         FROM
             course_schedule cs left join teacher_attendance ta  ON ta.course_schedule_id_=cs.id_
         <include refid="queryCondition"/>
-        ORDER BY cs.class_date_ DESC,cs.start_class_time_ DESC
+        ORDER BY cs.class_date_ ASC,cs.start_class_time_ ASC
         <include refid="global.limit"/>
     </select>
 

+ 1 - 1
mec-teacher/src/main/java/com/ym/mec/teacher/config/ResourceServerConfig.java

@@ -25,7 +25,7 @@ public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
 	@Override
 	public void configure(HttpSecurity http) throws Exception {
 		http.csrf().disable().exceptionHandling().accessDeniedHandler(baseAccessDeniedHandler).authenticationEntryPoint(baseAuthenticationEntryPoint).and()
-				.authorizeRequests().antMatchers("/v2/api-docs","/code/*","/teacher/queryStudentApply","/teacher/querySubByMusicGroupId").permitAll().anyRequest().authenticated().and().httpBasic();
+				.authorizeRequests().antMatchers("/v2/api-docs","/code/*","/teacher/queryStudentApply","/teacher/querySubByMusicGroupId","/studentRegistration/updateSubject").permitAll().anyRequest().authenticated().and().httpBasic();
 	}
 
 	@Override

+ 13 - 3
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherManageController.java

@@ -9,13 +9,12 @@ import com.ym.mec.biz.service.*;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.UploadReturnBean;
 import com.ym.mec.util.upload.UploadUtil;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
+import io.swagger.annotations.*;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 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.RequestParam;
@@ -38,6 +37,8 @@ public class TeacherManageController extends BaseController {
     private ClassGroupService classGroupService;
     @Autowired
     private SysUserBankCardService sysUserBankCardService;
+    @Autowired
+    private StudentRegistrationService studentRegistrationService;
 
     private final static Logger LOGGER = LoggerFactory.getLogger(TeacherManageController.class);
 
@@ -143,4 +144,13 @@ public class TeacherManageController extends BaseController {
         }
         return succeed(sysUserBankCardService.findByUser(sysUser.getId()));
     }
+
+    @ApiOperation(value = "调剂学生报名专业")
+    @PostMapping("studentRegistration/updateSubject")
+    public Object batchUpdateSubject(Integer userId,Integer subId,String musicGroupId) throws Exception {
+        if (null == userId || subId == null || StringUtils.isEmpty(musicGroupId)) {
+            return failed("参数校验异常");
+        }
+        return succeed(studentRegistrationService.batchUpdateSubject(userId, subId,musicGroupId));
+    }
 }