Sfoglia il codice sorgente

学生导入调整

dzx 1 anno fa
parent
commit
e07df83817

+ 18 - 10
src/main/java/com/xjrsoft/module/student/service/impl/StudentManagerServiceImpl.java

@@ -3,6 +3,7 @@ package com.xjrsoft.module.student.service.impl;
 import cn.dev33.satoken.secure.BCrypt;
 import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -405,7 +406,7 @@ public class StudentManagerServiceImpl extends MPJBaseServiceImpl<BaseStudentUse
         List<BaseStudentSchoolRoll> baseStudentSchoolRolls = schoolRollService.selectJoinList(BaseStudentSchoolRoll.class,
                 new MPJLambdaWrapper<BaseStudentSchoolRoll>()
                         .leftJoin(BaseStudent.class, BaseStudent::getUserId, BaseStudentSchoolRoll::getUserId)
-                        .in(BaseStudentSchoolRoll::getUserId, userIds)
+                        .in(!userIds.isEmpty(), BaseStudentSchoolRoll::getUserId, userIds)
         );
         Map<Long, BaseStudentSchoolRoll> studentSchoolRollMap = new HashMap<>();
         for (BaseStudentSchoolRoll schoolRoll : baseStudentSchoolRolls) {
@@ -413,7 +414,6 @@ public class StudentManagerServiceImpl extends MPJBaseServiceImpl<BaseStudentUse
         }
 
         SimpleDateFormat sdf = new SimpleDateFormat();
-        String dateformat = "yyyy-MM-dd HH:mm:ss";
 
         //查询年级
         List<BaseGrade> gradeList = baseGradeMapper.selectList(new QueryWrapper<BaseGrade>().lambda().eq(BaseGrade::getDeleteMark, DeleteMark.NODELETE.getCode()));
@@ -470,18 +470,22 @@ public class StudentManagerServiceImpl extends MPJBaseServiceImpl<BaseStudentUse
 
 //        long createUserId = StpUtil.getLoginIdAsLong();
         long createUserId = 1000000000000000000L;
-        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+        int row = 3;
         for (Map<Integer, Object> dataMaps : excelDataList) {
+            if(dataMaps.get(0) == null){
+                throw new MyException("第" + row + "行数据身份证号为空,无法导入");
+            }
             String credentialNumber = dataMaps.get(0).toString();//身份证号
             //已存在,更新
             BaseStudentUser user = studentUserMap.get(credentialNumber);
-            user.setDeleteMark(DeleteMark.NODELETE.getCode());
             BaseStudent baseStudent;
             BaseStudentSchoolRoll schoolRoll;
             BaseStudentSubsidize subsidize;
             BaseStudentFamily studentFamily;
             BaseStudentContact contact;
             if(user != null){
+                user.setDeleteMark(DeleteMark.NODELETE.getCode());
+
                 baseStudent = baseStudentMap.get(user.getId());
                 baseStudent.setDeleteMark(DeleteMark.NODELETE.getCode());
 
@@ -497,29 +501,30 @@ public class StudentManagerServiceImpl extends MPJBaseServiceImpl<BaseStudentUse
                 contact = contactMap.get(user.getId());
                 contact.setDeleteMark(DeleteMark.NODELETE.getCode());
             }else{
+                long userId = IdUtil.getSnowflakeNextId();
                 user = new BaseStudentUser();
                 baseStudent = new BaseStudent();
-                baseStudent.setUserId(user.getId());
+                baseStudent.setUserId(userId);
                 baseStudent.setCreateUserId(createUserId);
                 baseStudent.setCreateDate(LocalDateTime.now());
 
                 schoolRoll = new BaseStudentSchoolRoll();
-                schoolRoll.setUserId(user.getId());
+                schoolRoll.setUserId(userId);
                 schoolRoll.setCreateUserId(createUserId);
                 schoolRoll.setCreateDate(LocalDateTime.now());
 
                 subsidize = new BaseStudentSubsidize();
-                subsidize.setUserId(user.getId());
+                subsidize.setUserId(userId);
                 subsidize.setCreateUserId(createUserId);
                 subsidize.setCreateDate(LocalDateTime.now());
 
                 studentFamily = new BaseStudentFamily();
-                studentFamily.setUserId(user.getId());
+                studentFamily.setUserId(userId);
                 studentFamily.setCreateUserId(createUserId);
                 studentFamily.setCreateDate(LocalDateTime.now());
 
                 contact = new BaseStudentContact();
-                contact.setUserId(user.getId());
+                contact.setUserId(userId);
                 contact.setCreateUserId(createUserId);
                 contact.setCreateDate(LocalDateTime.now());
             }
@@ -791,11 +796,14 @@ public class StudentManagerServiceImpl extends MPJBaseServiceImpl<BaseStudentUse
             }else{
                 insertStudentUserList.add(user);
                 insertBaseStudentList.add(baseStudent);
-                insertSchoolRollList.add(schoolRoll);
+                if(schoolRoll.getClassId() != null && schoolRoll.getGradeId() != null && schoolRoll.getMajorSetId() ==null){
+                    insertSchoolRollList.add(schoolRoll);
+                }
                 insertSubsidizeList.add(subsidize);
                 insertFamilyList.add(studentFamily);
                 insertContactList.add(contact);
             }
+            row ++;
         }
         //批量修改
         if(!updateStudentUserList.isEmpty()){