From 42c48ce1d64e941d28c7bfe4093f9659e77bd523 Mon Sep 17 00:00:00 2001
From: yn147 <2270338776@qq.com>
Date: 星期四, 23 十一月 2023 20:23:37 +0800
Subject: [PATCH] 学籍,毕业,档案,考勤

---
 src/main/java/com/qxueyou/scc/teach/student/service/impl/StudentService.java |   77 ++++++++++++++++++++++++++++++--------
 1 files changed, 61 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/qxueyou/scc/teach/student/service/impl/StudentService.java b/src/main/java/com/qxueyou/scc/teach/student/service/impl/StudentService.java
index cfb6802..19b3f81 100644
--- a/src/main/java/com/qxueyou/scc/teach/student/service/impl/StudentService.java
+++ b/src/main/java/com/qxueyou/scc/teach/student/service/impl/StudentService.java
@@ -1,16 +1,15 @@
 package com.qxueyou.scc.teach.student.service.impl;
 
 import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 import cn.hutool.core.date.LocalDateTimeUtil;
 import cn.hutool.core.util.RandomUtil;
 import com.qxueyou.scc.admin.classes.model.ClsClass;
+import com.qxueyou.scc.base.dao.CommonDAO;
 import com.qxueyou.scc.exam.model.ExamResultV;
+import com.qxueyou.scc.exercise.model.ExerciseCompleteInfo;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -32,6 +31,7 @@
 import com.qxueyou.scc.user.model.QUser;
 import com.qxueyou.scc.user.model.User;
 import com.qxueyou.scc.user.service.IUserService;
+import org.springframework.util.DigestUtils;
 
 @Service
 public class StudentService extends CommonAppService implements IStudentService {
@@ -47,6 +47,9 @@
 
     @Autowired
     StudentDAO dao;
+
+    @Autowired
+    CommonDAO commonDAO;
 
     @Override
     public Result insertStudent(String classId, String name, String studentNo, boolean sex, String phoneNo, String orgId) {
@@ -126,11 +129,11 @@
     public Result updateStudent(String studentId, String name,String password, String studentNo, boolean sex, String phoneNo) {
         //鏍规嵁瀛﹀鍛業D锛岃幏鍙栫敤鎴蜂俊鎭�
         StuStudent stu = this.read(StuStudent.class, studentId);
-
-        if (!stu.getStudentNo().equals(studentNo) && dao.exists(studentNo,ClientUtils.getOrgId())) {
-            return new Result(false, "瀛﹀彿宸插瓨鍦�");
+        if(stu.getStudentNo() != null){
+            if (!stu.getStudentNo().equals(studentNo) && dao.exists(studentNo,ClientUtils.getOrgId())) {
+                return new Result(false, "瀛﹀彿宸插瓨鍦�");
+            }
         }
-
         stu.setName(name);
         stu.setSex(sex);
         stu.setStudentNo(studentNo);
@@ -142,8 +145,14 @@
         user.setAccount(studentNo);
         user.setSex(sex);
         user.setMobilePhone(phoneNo);
-        if(!StringUtils.isEmpty(password)){
-            user.setPassword(password);
+        //闅忔満瀛楃涓�
+        String salt= UUID.randomUUID().toString();
+        //鐩愬��
+        user.setSalt(salt);
+        //瀵瑰瘑鐮佽繘琛屽姞瀵嗗鐞�
+        String newPassword= DigestUtils.md5DigestAsHex((salt+password).getBytes());
+        if(!StringUtils.isEmpty(newPassword)){
+            user.setPassword(newPassword);
         }
         user.setName(name);
         save(user);
@@ -176,6 +185,19 @@
                     map.put("score", tuple.get(qStuStudent.score));
                     map.put("graduationText", tuple.get(qStuStudent.graduationText));
                     map.put("imgPath", tuple.get(qUser.imgPath));
+                    map.put("photo", tuple.get(qStuStudent.photo));
+                    map.put("passporName", tuple.get(qStuStudent.passporName));
+                    map.put("nationality", tuple.get(qStuStudent.nationality));
+                    map.put("ancestralHome", tuple.get(qStuStudent.ancestralHome));
+                    map.put("birthday", tuple.get(qStuStudent.birthday));
+                    map.put("birthplace", tuple.get(qStuStudent.birthplace));
+                    map.put("chinaStatus", tuple.get(qStuStudent.chinaStatus));
+                    map.put("registeredAddress", tuple.get(qStuStudent.registeredAddress));
+                    map.put("homeAddress", tuple.get(qStuStudent.homeAddress));
+                    map.put("religiousBelief", tuple.get(qStuStudent.religiousBelief));
+                    map.put("email", tuple.get(qStuStudent.email));
+                    map.put("workUnit", tuple.get(qStuStudent.workUnit));
+                    map.put("graduationDestination", tuple.get(qStuStudent.graduationDestination));
                     return map;
                 }).collect(Collectors.toList());
     }
@@ -224,6 +246,7 @@
     public Result doActivateStudent(String[] studentIds) {
         for (String studentId : studentIds) {
             activateStudent(studentId, StuStudent.STATUS_ACTIVE);
+            ModeUpdate(studentId,StuStudent.STATUS_ACTIVE);
         }
         return new Result(true);
     }
@@ -232,6 +255,28 @@
     public Result doDeActivateStudent(String[] studentIds) {
         for (String studentId : studentIds) {
             activateStudent(studentId, StuStudent.STATUS_DEACTIVE);
+            ModeUpdate(studentId,StuStudent.STATUS_DEACTIVE);
+        }
+        return new Result(true);
+    }
+
+    private Result ModeUpdate(String studentId,String status){
+        if(status.equals(StuStudent.STATUS_ACTIVE)){
+            String	hql = "from ExerciseCompleteInfo where studentId=? and deleteFlag is false";
+            List<Object> Params =  CollectionUtils.newList(studentId);
+            ExerciseCompleteInfo unique = findUnique(hql, Params, ExerciseCompleteInfo.class);
+            if(unique!=null) {
+                unique.setDeleteFlag(false);
+                commonDAO.update(unique);
+            }
+        }else {
+            String	hql = "from ExerciseCompleteInfo where studentId=? and deleteFlag is false";
+            List<Object> Params =  CollectionUtils.newList(studentId);
+            ExerciseCompleteInfo unique = findUnique(hql, Params, ExerciseCompleteInfo.class);
+            if(unique!=null){
+                unique.setDeleteFlag(true);
+                commonDAO.update(unique);
+            }
         }
         return new Result(true);
     }
@@ -244,13 +289,13 @@
         }
 
         TraceUtils.setUpdateTrace(student);
-        String currentTime = LocalDateTimeUtil.format(LocalDateTime.now(), "yyMMddHHmmssSSS");
-
-        String examCardNo = currentTime.concat(RandomUtil.randomNumbers(1));
-
-        student.setStudentNumber(examCardNo);
+//        String currentTime = LocalDateTimeUtil.format(LocalDateTime.now(), "yyMMddHHmmssSSS");
+//
+//        String examCardNo = currentTime.concat(RandomUtil.randomNumbers(1));
+//
+//        student.setStudentNumber(examCardNo);
         student.setStatus(status);
-        save(student);
+        commonDAO.update(student);
 
         clsService.addStudent(student.getClassId(), StuStudent.STATUS_DEACTIVE.equals(status) ? -1 : 1);
 

--
Gitblit v1.8.0