Browse Source

异动记录调整

dzx 1 month ago
parent
commit
ed04398708

+ 49 - 0
src/main/java/com/xjrsoft/common/enums/RollModalityEnum.java

@@ -0,0 +1,49 @@
+package com.xjrsoft.common.enums;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @description: 学籍形式learn_status
+ * @author: dzx
+ * @create2025228
+ * @Version 1.0
+ */
+public enum RollModalityEnum {
+
+    borrowing("borrowing", "在校无本班学籍"),
+
+    normal("normal", "在校本班学籍"),
+
+    practice("practice", "外出实习本班学籍"),
+
+    practiceno("practiceno", "外出实习无本班学籍");
+
+    final String code;
+    final String value;
+
+    private static final Map<String, String> lookup = new HashMap<>();
+
+    static {
+        for (RollModalityEnum s : RollModalityEnum.values()) {
+            lookup.put(s.getCode(), s.getValue());
+        }
+    }
+
+    public String getCode() {
+        return this.code;
+    }
+
+    public String getValue() {
+        return this.value;
+    }
+
+    RollModalityEnum(final String code, final String message) {
+        this.code = code;
+        this.value = message;
+    }
+
+    public static String fromCode(String code) {
+        return lookup.get(code);
+    }
+}

+ 30 - 0
src/main/java/com/xjrsoft/module/student/service/impl/BaseStudentSchoolRollServiceImpl.java

@@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.xjrsoft.common.enums.DeleteMark;
 import com.xjrsoft.common.enums.GenderDictionaryEnum;
+import com.xjrsoft.common.enums.RollModalityEnum;
+import com.xjrsoft.common.enums.StudentChangeTypeEnum;
 import com.xjrsoft.common.enums.StudyStatusEnum;
 import com.xjrsoft.module.base.entity.BaseClass;
 import com.xjrsoft.module.base.mapper.BaseClassMapper;
@@ -23,6 +25,7 @@ import com.xjrsoft.module.student.mapper.BaseStudentSchoolRollMapper;
 import com.xjrsoft.module.student.mapper.PbSemesterConfigMapper;
 import com.xjrsoft.module.student.mapper.PbVXsxxsfytbMapper;
 import com.xjrsoft.module.student.service.IBaseStudentSchoolRollService;
+import com.xjrsoft.module.student.service.IStudentChangeRecordService;
 import com.xjrsoft.module.student.vo.BaseStudentInfoCategoryVo;
 import com.xjrsoft.module.student.vo.BaseStudentInfoDetailVo;
 import com.xjrsoft.module.student.vo.BaseStudentInfoPageDataVo;
@@ -54,6 +57,7 @@ public class BaseStudentSchoolRollServiceImpl extends MPJBaseServiceImpl<BaseStu
     private final PbSemesterConfigMapper pbSemesterConfigMapper;
     private final PbVXsxxsfytbMapper pbVXsxxsfytbMapper;
     private final UserMapper userMapper;
+    private final IStudentChangeRecordService recordService;
 
 
     @Override
@@ -102,6 +106,32 @@ public class BaseStudentSchoolRollServiceImpl extends MPJBaseServiceImpl<BaseStu
     @Override
     public Boolean updateInfo(UpdateBaseStudentInfoDto dto) {
         for (Long id : dto.getUserIds()) {
+            BaseStudentSchoolRoll schoolRoll = this.getOne(new QueryWrapper<BaseStudentSchoolRoll>().lambda().eq(BaseStudentSchoolRoll::getUserId, id));
+            if(!dto.getStduyStatus().equals(schoolRoll.getStduyStatus())){
+                recordService.insertData(
+                        StudyStatusEnum.fromCode(schoolRoll.getStduyStatus()),
+                        schoolRoll.getStduyStatus(),
+                        StudyStatusEnum.fromCode(dto.getStduyStatus()),
+                        dto.getStduyStatus(),
+                        id,
+                        StpUtil.getLoginIdAsLong(),
+                        StudentChangeTypeEnum.StduyStatus.getCode(),
+                        2
+                );
+            }
+            if(!dto.getRollModality().equals(schoolRoll.getLearnStatus())){
+                recordService.insertData(
+                        RollModalityEnum.fromCode(schoolRoll.getLearnStatus()),
+                        schoolRoll.getLearnStatus(),
+                        RollModalityEnum.fromCode(dto.getRollModality()),
+                        dto.getRollModality(),
+                        id,
+                        StpUtil.getLoginIdAsLong(),
+                        StudentChangeTypeEnum.LearnStatus.getCode(),
+                        2
+                );
+            }
+
             baseStudentSchoolRollMapper.updateInfoByUserId(dto, id);
         }
         return true;

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

@@ -8,6 +8,7 @@ import com.xjrsoft.common.enums.ArchivesStatusEnum;
 import com.xjrsoft.common.enums.DeleteMark;
 import com.xjrsoft.common.enums.EnabledMark;
 import com.xjrsoft.common.enums.LearnStatusEnum;
+import com.xjrsoft.common.enums.RollModalityEnum;
 import com.xjrsoft.common.enums.RoomApplicantTypeEnum;
 import com.xjrsoft.common.enums.StudentChangeTypeEnum;
 import com.xjrsoft.common.enums.StudentTypeEnum;
@@ -244,9 +245,9 @@ public class StudentChangeRecordServiceImpl extends MPJBaseServiceImpl<StudentCh
 
         if(!beforeRoll.getLearnStatus().equals(afterRoll.getLearnStatus())){
             StudentChangeRecord record = new StudentChangeRecord() {{
-                setAfterData(LearnStatusEnum.fromCode(afterRoll.getLearnStatus()));
+                setAfterData(RollModalityEnum.fromCode(afterRoll.getLearnStatus()));
                 setAfterDataCode(afterRoll.getLearnStatus());
-                setBeforeData(LearnStatusEnum.fromCode(beforeRoll.getLearnStatus()));
+                setBeforeData(RollModalityEnum.fromCode(beforeRoll.getLearnStatus()));
                 setBeforeDataCode(beforeRoll.getLearnStatus());
                 setChangeType(StudentChangeTypeEnum.LearnStatus.getCode());
                 setUserId(beforeRoll.getUserId());