فهرست منبع

解决导入新增无法通过一二志愿筛选的问题

dzx 1 سال پیش
والد
کامیت
bd30b2a3e2

+ 2 - 0
src/main/java/com/xjrsoft/module/student/controller/BaseNewStudentController.java

@@ -35,6 +35,7 @@ import org.springframework.web.multipart.MultipartFile;
 import javax.validation.Valid;
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -116,6 +117,7 @@ public class BaseNewStudentController {
         BaseNewStudent baseNewStudent = BeanUtil.toBean(dto, BaseNewStudent.class);
         baseNewStudent.setFirstAmbitionId(Long.parseLong(dto.getFirstAmbition()));
         baseNewStudent.setSecondAmbitionId(Long.parseLong(dto.getSecondAmbition()));
+        baseNewStudent.setCreateDate(new Date());
         boolean isSuccess = baseNewStudentService.save(baseNewStudent);
         return RT.ok(isSuccess);
     }

+ 2 - 2
src/main/java/com/xjrsoft/module/student/service/impl/BaseNewStudentServiceImpl.java

@@ -131,9 +131,9 @@ public class BaseNewStudentServiceImpl extends MPJBaseServiceImpl<BaseNewStudent
                 student.setSource(dictMap.get(objectMap.get(7).toString()));
                 student.setStduyStatus(dictMap.get(objectMap.get(8).toString()));
                 student.setMobile(objectMap.get(9).toString());
-                student.setFirstAmbition(objectMap.get(10).toString());
+                student.setFirstAmbition(majorSetMap.get(objectMap.get(10).toString()).toString());
                 student.setFirstAmbitionId(majorSetMap.get(objectMap.get(10).toString()));
-                student.setSecondAmbition(objectMap.get(11).toString());
+                student.setSecondAmbition(majorSetMap.get(objectMap.get(10).toString()).toString());
                 student.setSecondAmbitionId(majorSetMap.get(objectMap.get(11).toString()));
                 student.setIsAdjust(YesOrNoEnum.getCode(objectMap.get(12).toString()));
                 if(objectMap.get(13) != null){

+ 3 - 1
src/main/resources/mapper/banding/BandingTaskClassMapper.xml

@@ -13,7 +13,9 @@
             WHERE a1.delete_mark = 0 AND t5.delete_mark = 0 AND t5.banding_task_class_id = t1.id
         ) as satisfy_count, (
             SELECT count(a1.id) FROM base_new_student a1
-            WHERE a1.delete_mark = 0
+            LEFT JOIN enrollment_plan a2 ON a1.enrollment_plan_id = a2.id
+            LEFT JOIN banding_task a3 ON a2.grade_id = a3.grade_id AND a2.enroll_type = a3.enroll_type
+            WHERE a1.delete_mark = 0 AND a3.id = t1.banding_task_id
             AND (a1.first_ambition_id = t1.major_set_id or a1.second_ambition_id = t1.major_set_id)
             and a1.id not in (select new_student_id from banding_task_class_student
             where delete_mark = 0 and banding_task_class_id = t1.id

+ 4 - 2
src/main/resources/mapper/student/BaseNewStudentMapper.xml

@@ -5,12 +5,14 @@
 <mapper namespace="com.xjrsoft.module.student.mapper.BaseNewStudentMapper">
     <select id="getPage" parameterType="com.xjrsoft.module.student.dto.BaseNewStudentPageDto" resultType="com.xjrsoft.module.student.vo.BaseNewStudentPageVo">
         SELECT t1.id,t1.graduate_school,t1.name,t1.gender,t2.name AS gender_cn,t1.credential_number,t1.height,t1.weight,
-        t1.score,t1.graduate_class,t1.source,t5.name as source_cn,t1.stduy_status,t3.name AS stduy_status_cn,t1.mobile,t1.first_ambition,
-        t1.second_ambition,t1.is_adjust,t1.status FROM base_new_student t1
+        t1.score,t1.graduate_class,t1.source,t5.name as source_cn,t1.stduy_status,t3.name AS stduy_status_cn,t1.mobile,t7.name as first_ambition,
+        t8.name as second_ambition,t1.is_adjust,t1.status FROM base_new_student t1
         LEFT JOIN xjr_dictionary_detail t2 ON t1.gender = t2.code AND t2.item_id = 2023000000000000004
         LEFT JOIN xjr_dictionary_detail t3 ON t1.stduy_status = t3.code AND t3.item_id = 2023000000000000030
         LEFT JOIN xjr_dictionary_detail t5 ON t1.source = t5.code AND t5.item_id = 2023000000000000028
         LEFT JOIN enrollment_plan t4 ON t1.enrollment_plan_id = t4.id
+        LEFT JOIN base_major_set t7 ON t1.first_ambition = t7.id
+        LEFT JOIN enrollment_plan t8 ON t1.second_ambition = t8.id
         WHERE t1.delete_mark = 0
         <if test="dto.name != null and dto.name != ''">
             and t1.name like concat('%', #{dto.name}, '%')