Jelajahi Sumber

插班规则调整

dzx 8 bulan lalu
induk
melakukan
1dff02e879

+ 0 - 5
src/main/java/com/xjrsoft/module/student/entity/StudentTransfer.java

@@ -65,11 +65,6 @@ public class StudentTransfer implements Serializable {
     @ApiModelProperty("有效标志")
     @TableField(fill = FieldFill.INSERT)
     private Integer enabledMark;
-    /**
-     * 序号
-     */
-    @ApiModelProperty("序号")
-    private Integer sortCode;
 
     @ApiModelProperty("学生id")
     private Long studentUserId;

+ 125 - 0
src/test/java/com/xjrsoft/module/liteflow/node/StudentTransferNodeTest.java

@@ -0,0 +1,125 @@
+package com.xjrsoft.module.liteflow.node;
+
+import cn.dev33.satoken.secure.BCrypt;
+import cn.hutool.core.convert.Convert;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.xjrsoft.XjrSoftApplication;
+import com.xjrsoft.common.enums.ArchivesStatusEnum;
+import com.xjrsoft.common.enums.DeleteMark;
+import com.xjrsoft.common.enums.EnabledMark;
+import com.xjrsoft.common.utils.LocalDateUtil;
+import com.xjrsoft.config.CommonPropertiesConfig;
+import com.xjrsoft.module.base.entity.BaseClass;
+import com.xjrsoft.module.base.mapper.BaseClassMapper;
+import com.xjrsoft.module.organization.dto.GetUserByParamDto;
+import com.xjrsoft.module.organization.entity.User;
+import com.xjrsoft.module.organization.service.IUserService;
+import com.xjrsoft.module.student.entity.BaseClassMajorSet;
+import com.xjrsoft.module.student.entity.BaseNewStudent;
+import com.xjrsoft.module.student.entity.BaseStudentSchoolRoll;
+import com.xjrsoft.module.student.entity.StudentTransfer;
+import com.xjrsoft.module.student.mapper.BaseClassMajorSetMapper;
+import com.xjrsoft.module.student.mapper.StudentTransferMapper;
+import com.xjrsoft.module.student.service.IBaseNewStudentService;
+import com.xjrsoft.module.student.service.IBaseStudentSchoolRollService;
+import org.junit.jupiter.api.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.Map;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+/**
+ * @author dzx
+ * @date 2025/3/21
+ */
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = XjrSoftApplication.class)
+class StudentTransferNodeTest {
+    @Autowired
+    private StudentTransferMapper studentTransferMapper;
+    @Autowired
+    private IBaseStudentSchoolRollService studentSchoolRollService;
+
+    @Autowired
+    private BaseClassMapper baseClassMapper;
+
+    @Autowired
+    private BaseClassMajorSetMapper baseClassMajorSetMapper;
+
+    @Autowired
+    private IBaseNewStudentService newStudentService;
+
+    @Autowired
+    private IUserService userService;
+
+    @Autowired
+    private CommonPropertiesConfig propertiesConfig;
+
+    @Test
+    public void process() throws Exception {
+        // 获取表单中数据编号
+        Long formId = 1902955784296742912L;
+        if (formId != null) {
+            //查询出数据
+            StudentTransfer studentTransfer = studentTransferMapper.selectById(formId);
+
+            BaseNewStudent newStudent = newStudentService.getById(studentTransfer.getStudentUserId());
+            User user = userService.getUserByParam(
+                    new GetUserByParamDto() {{
+                        setCredentialNumber(newStudent.getCredentialNumber());
+                    }}
+            );
+            LocalDate birthDate = LocalDateUtil.getBirthDate(newStudent.getCredentialNumber());
+            BaseClass baseClass = baseClassMapper.selectById(studentTransfer.getClassId());
+            if(user == null){
+                User xjrUser = new User() {{
+                    setCreateDate(LocalDateTime.now());
+                    setPassword(BCrypt.hashpw(propertiesConfig.getDefaultPassword(), BCrypt.gensalt()));
+                    setName(newStudent.getName());
+                    setUserName(newStudent.getCredentialNumber());
+                    setCredentialNumber(newStudent.getCredentialNumber());
+                    setCredentialType("ZZLS10007");
+                    setMobile(newStudent.getMobile());
+                    setEnabledMark(EnabledMark.ENABLED.getCode());
+                    setGender(newStudent.getGender());
+                    setIsChangePassword(1);
+                    setBirthDate(birthDate.atStartOfDay());
+                }};
+                userService.save(xjrUser);
+
+                BaseClassMajorSet majorSet = baseClassMajorSetMapper.selectOne(
+                        new QueryWrapper<BaseClassMajorSet>().lambda()
+                                .eq(BaseClassMajorSet::getClassId, studentTransfer.getClassId())
+                                .eq(BaseClassMajorSet::getDeleteMark, DeleteMark.NODELETE.getCode())
+                );
+                BaseStudentSchoolRoll roll = new BaseStudentSchoolRoll();
+                roll.setStduyStatus(studentTransfer.getStudyStatus());
+                roll.setClassId(studentTransfer.getClassId());
+                roll.setEnrollType(baseClass.getEnrollType());
+                roll.setCreateDate(LocalDateTime.now());
+                roll.setGradeId(baseClass.getGradeId());
+                roll.setMajorSetId(majorSet.getMajorSetId());
+                roll.setCreateUserId(studentTransfer.getCreateUserId());
+                roll.setArchivesStatus(ArchivesStatusEnum.FB2901.getCode());
+                roll.setUserId(xjrUser.getId());
+                roll.setDeleteMark(DeleteMark.NODELETE.getCode());
+                roll.setEnabledMark(EnabledMark.ENABLED.getCode());
+                //新增学籍信息
+                studentSchoolRollService.save(roll);
+            }else{
+                studentSchoolRollService.updateStudentClass(studentTransfer.getClassId(), user.getId());
+            }
+
+            newStudent.setRemarks("通过插班进入" + baseClass.getName());
+            newStudent.setStatus(1);
+            newStudent.setOperateMode(2);
+            newStudentService.updateById(newStudent);
+        }
+    }
+}