Przeglądaj źródła

Merge remote-tracking branch 'origin/dev' into dev

fanxp 6 miesięcy temu
rodzic
commit
6c783ac94b

+ 95 - 95
src/main/java/com/xjrsoft/module/banding/service/impl/BandingTaskClassStudentServiceImpl.java

@@ -117,7 +117,7 @@ public class BandingTaskClassStudentServiceImpl extends MPJBaseServiceImpl<Bandi
                         .in(BaseNewStudent::getId, dto.getNewStudentIds())
         );
 
-        List<BaseNewStudent> notPaymnyList = list.stream().filter(x -> "未费".equals(x.getPaymnystate())).collect(Collectors.toList());
+        List<BaseNewStudent> notPaymnyList = list.stream().filter(x -> "未费".equals(x.getPaymnystate())).collect(Collectors.toList());
         if(!notPaymnyList.isEmpty() && dto.getIsHandle() == 1){
             throw new MyException("选择的学生中存在未交费情况,无法手动分班");
         }
@@ -182,100 +182,100 @@ public class BandingTaskClassStudentServiceImpl extends MPJBaseServiceImpl<Bandi
             if(!updateList.isEmpty()){
                 newStudentService.updateBatchById(updateList);
             }
-            {
-                /**
-                 * 新增学生数据
-                 * 1、新增用户xjr_user,需要先查询用户信息是否已经存在
-                 * 2、新增用户与角色的关系xjr_user_role_relation
-                 * 3、新增学生基本信息base_student
-                 * 4、新增学籍信息表base_student_school_roll
-                 * 5、新增家庭信息表base_student_family
-                 */
-                LocalDateTime now = LocalDateTime.now();
-                List<String> idNumbers = updateList.stream().map(BaseNewStudent::getCredentialNumber).collect(Collectors.toList());
-                List<User> students = userService.list(
-                        new MPJLambdaWrapper<User>()
-                                .disableLogicDel()
-                                .in(User::getCredentialNumber, idNumbers)
-                                .orderByAsc(User::getCreateDate)
-                );
-                Map<String, Long> userSet = new HashMap<>();
-                Map<String, Integer> userDeleteMarkMap = new HashMap<>();
-                for (User student : students) {
-                    userSet.put(student.getCredentialNumber(), student.getId());
-                    userDeleteMarkMap.put(student.getCredentialNumber(), student.getDeleteMark());
-                }
-                for (BaseNewStudent student : updateList) {
-                    if(userSet.containsKey(student.getCredentialNumber())){
-                        schoolRollService.updateStudentClass(dto.getBandingTaskClassId(), userSet.get(student.getCredentialNumber()));
-                        Integer deleteMark = userDeleteMarkMap.get(student.getCredentialNumber());
-                        if(deleteMark != null && deleteMark == 1){
-                            userService.recoveryStudentInfo(userSet.get(student.getCredentialNumber()));
-                        }
-                        continue;
-                    }
-                    LocalDate birthDate = LocalDateUtil.getBirthDate(student.getCredentialNumber());
-                    User xjrUser = new User() {{
-                        setCreateDate(now);
-                        setPassword(BCrypt.hashpw(propertiesConfig.getDefaultPassword(), BCrypt.gensalt()));
-                        setName(student.getName());
-                        setUserName(student.getCredentialNumber());
-                        setCredentialNumber(student.getCredentialNumber());
-                        setCredentialType("ZZLS10007");
-                        setMobile(student.getMobile());
-                        setEnabledMark(EnabledMark.DISABLED.getCode());
-                        setGender(student.getGender());
-                        setIsChangePassword(1);
-                        setBirthDate(birthDate.atStartOfDay());
-                    }};
-                    userService.save(xjrUser);
-
-                    UserRoleRelation userRoleRelation = new UserRoleRelation() {{
-                        setRoleId(RoleEnum.STUDENT.getCode());
-                        setUserId(xjrUser.getId());
-                    }};
-                    roleRelationService.save(userRoleRelation);
-
-                    BaseStudent baseStudent = new BaseStudent() {{
-                        setUserId(xjrUser.getId());
-                        setCreateDate(now);
-                        setStudentId(student.getCredentialNumber());
-                        if(student.getHeight() != null){
-                            setHeight(student.getHeight().doubleValue());
-                        }
-                        if(student.getWeight() != null){
-                            setWeight(student.getWeight().doubleValue());
-                        }
-                    }};
-                    studentService.save(baseStudent);
-
-                    BaseStudentSchoolRoll schoolRoll = new BaseStudentSchoolRoll() {{
-                        setUserId(xjrUser.getId());
-                        if(student.getScore() != null){
-                            setGraduatedScore(student.getScore().doubleValue());
-                        }
-
-                        setGraduatedUniversity(student.getGraduateSchool());
-                        setClassId(dto.getBandingTaskClassId());
-                        setMajorSetId(aClass.getMajorSetId());
-                        setStduyStatus(student.getStduyStatus());
-                        setEnrollType(aClass.getEnrollType());
-                        setStudentSource(student.getSource());
-                        setGradeId(aClass.getGradeId());
-                        setArchivesStatus(ArchivesStatusEnum.FB2901.getCode());
-                        setCreateDate(now);
-                    }};
-                    schoolRollService.save(schoolRoll);
-
-                    BaseStudentFamily studentFamily = new BaseStudentFamily() {{
-                        setCreateDate(now);
-                        setUserId(xjrUser.getId());
-                        setTelephone(student.getFamilyMobile());
-                        setAddress(student.getFamilyAddress());
-                    }};
-                    familyService.save(studentFamily);
-                }
-            }
+//            {
+//                /**
+//                 * 新增学生数据
+//                 * 1、新增用户xjr_user,需要先查询用户信息是否已经存在
+//                 * 2、新增用户与角色的关系xjr_user_role_relation
+//                 * 3、新增学生基本信息base_student
+//                 * 4、新增学籍信息表base_student_school_roll
+//                 * 5、新增家庭信息表base_student_family
+//                 */
+//                LocalDateTime now = LocalDateTime.now();
+//                List<String> idNumbers = updateList.stream().map(BaseNewStudent::getCredentialNumber).collect(Collectors.toList());
+//                List<User> students = userService.list(
+//                        new MPJLambdaWrapper<User>()
+//                                .disableLogicDel()
+//                                .in(User::getCredentialNumber, idNumbers)
+//                                .orderByAsc(User::getCreateDate)
+//                );
+//                Map<String, Long> userSet = new HashMap<>();
+//                Map<String, Integer> userDeleteMarkMap = new HashMap<>();
+//                for (User student : students) {
+//                    userSet.put(student.getCredentialNumber(), student.getId());
+//                    userDeleteMarkMap.put(student.getCredentialNumber(), student.getDeleteMark());
+//                }
+//                for (BaseNewStudent student : updateList) {
+//                    if(userSet.containsKey(student.getCredentialNumber())){
+//                        schoolRollService.updateStudentClass(dto.getBandingTaskClassId(), userSet.get(student.getCredentialNumber()));
+//                        Integer deleteMark = userDeleteMarkMap.get(student.getCredentialNumber());
+//                        if(deleteMark != null && deleteMark == 1){
+//                            userService.recoveryStudentInfo(userSet.get(student.getCredentialNumber()));
+//                        }
+//                        continue;
+//                    }
+//                    LocalDate birthDate = LocalDateUtil.getBirthDate(student.getCredentialNumber());
+//                    User xjrUser = new User() {{
+//                        setCreateDate(now);
+//                        setPassword(BCrypt.hashpw(propertiesConfig.getDefaultPassword(), BCrypt.gensalt()));
+//                        setName(student.getName());
+//                        setUserName(student.getCredentialNumber());
+//                        setCredentialNumber(student.getCredentialNumber());
+//                        setCredentialType("ZZLS10007");
+//                        setMobile(student.getMobile());
+//                        setEnabledMark(EnabledMark.DISABLED.getCode());
+//                        setGender(student.getGender());
+//                        setIsChangePassword(1);
+//                        setBirthDate(birthDate.atStartOfDay());
+//                    }};
+//                    userService.save(xjrUser);
+//
+//                    UserRoleRelation userRoleRelation = new UserRoleRelation() {{
+//                        setRoleId(RoleEnum.STUDENT.getCode());
+//                        setUserId(xjrUser.getId());
+//                    }};
+//                    roleRelationService.save(userRoleRelation);
+//
+//                    BaseStudent baseStudent = new BaseStudent() {{
+//                        setUserId(xjrUser.getId());
+//                        setCreateDate(now);
+//                        setStudentId(student.getCredentialNumber());
+//                        if(student.getHeight() != null){
+//                            setHeight(student.getHeight().doubleValue());
+//                        }
+//                        if(student.getWeight() != null){
+//                            setWeight(student.getWeight().doubleValue());
+//                        }
+//                    }};
+//                    studentService.save(baseStudent);
+//
+//                    BaseStudentSchoolRoll schoolRoll = new BaseStudentSchoolRoll() {{
+//                        setUserId(xjrUser.getId());
+//                        if(student.getScore() != null){
+//                            setGraduatedScore(student.getScore().doubleValue());
+//                        }
+//
+//                        setGraduatedUniversity(student.getGraduateSchool());
+//                        setClassId(dto.getBandingTaskClassId());
+//                        setMajorSetId(aClass.getMajorSetId());
+//                        setStduyStatus(student.getStduyStatus());
+//                        setEnrollType(aClass.getEnrollType());
+//                        setStudentSource(student.getSource());
+//                        setGradeId(aClass.getGradeId());
+//                        setArchivesStatus(ArchivesStatusEnum.FB2901.getCode());
+//                        setCreateDate(now);
+//                    }};
+//                    schoolRollService.save(schoolRoll);
+//
+//                    BaseStudentFamily studentFamily = new BaseStudentFamily() {{
+//                        setCreateDate(now);
+//                        setUserId(xjrUser.getId());
+//                        setTelephone(student.getFamilyMobile());
+//                        setAddress(student.getFamilyAddress());
+//                    }};
+//                    familyService.save(studentFamily);
+//                }
+//            }
             CompletableFuture.runAsync(() -> {
                 List<User> userList = userService.list();
                 redisUtil.set(GlobalConstant.USER_CACHE_KEY, userList);

+ 34 - 17
src/main/java/com/xjrsoft/module/organization/controller/UserController.java

@@ -55,9 +55,12 @@ import com.xjrsoft.module.teacher.entity.BaseTeacherRegular;
 import com.xjrsoft.module.teacher.entity.XjrUser;
 import com.xjrsoft.module.workflow.constant.WorkflowConstant;
 import com.xjrsoft.module.workflow.entity.WorkflowCirculated;
+import com.xjrsoft.module.workflow.entity.WorkflowExtra;
+import com.xjrsoft.module.workflow.entity.WorkflowFormRelation;
 import com.xjrsoft.module.workflow.entity.WorkflowSchema;
 import com.xjrsoft.module.workflow.service.IWorkflowCirculatedService;
 import com.xjrsoft.module.workflow.service.IWorkflowExecuteService;
+import com.xjrsoft.module.workflow.service.IWorkflowExtraService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
@@ -72,6 +75,7 @@ import javax.validation.Valid;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
+import java.util.Set;
 import java.util.concurrent.CompletableFuture;
 import java.util.stream.Collectors;
 
@@ -120,6 +124,8 @@ public class UserController {
     private final IWorkflowCirculatedService circulatedService;
     private final IBaseNewStudentService baseNewStudentService;
 
+    private final IWorkflowExtraService workflowExtraService;
+
     @GetMapping(value = "/list")
     @ApiOperation(value = "用户列表(不分页)")
     @XjrLog(value = "用户列表(不分页)")
@@ -417,24 +423,35 @@ public class UserController {
         PendingCountDto pendingCountDto = new PendingCountDto();
         pendingCountDto.setWfPendingCount(workflowExecuteService.pendingCount());
 
-        HistoricProcessInstanceQuery historicProcessInstanceQuery = historyService.createHistoricProcessInstanceQuery()
-                .variableValueEquals(WorkflowConstant.PROCESS_START_USER_ID_KEY, StpUtil.getLoginIdAsLong())
-                .variableValueEquals(WorkflowConstant.PROCESS_ISRECYCLE_FLAG_KEY, WorkflowIsRecycleType.NO.getCode());
-        List<HistoricProcessInstance> historicProcessInstances = historicProcessInstanceQuery.orderByProcessInstanceStartTime().desc().list();
-
-        //获取到所有流程id
-        int myApplicationCount = 0;
-        for (HistoricProcessInstance historicProcessInstance : historicProcessInstances) {
-            Long countByProcessId = workflowExecuteService.getCountByProcessId(historicProcessInstance.getId());
-            if (countByProcessId == 0L) {
-                continue;
+        List<WorkflowExtra> extraList = workflowExtraService.list(
+                new MPJLambdaWrapper<WorkflowExtra>()
+                        .select(WorkflowExtra::getId)
+                        .select(WorkflowExtra.class, x -> VoToColumnUtil.fieldsToColumns(WorkflowExtra.class).contains(x.getProperty()))
+                        .innerJoin(WorkflowFormRelation.class, WorkflowFormRelation::getProcessId, WorkflowExtra::getProcessId)
+                        .eq(WorkflowFormRelation::getCurrentState, HistoricProcessInstance.STATE_ACTIVE)
+                        .eq(WorkflowExtra::getStartUserId, StpUtil.getLoginIdAsLong())
+                        .isNull(WorkflowFormRelation::getEndTime)
+        );
+        Set<String> processIdSet = extraList.stream().map(WorkflowExtra::getProcessId).collect(Collectors.toSet());
 
-            }
-            if (!ObjectUtil.isNotNull(historicProcessInstance.getEndTime())) {
-                myApplicationCount++;
-            }
-        }
-        pendingCountDto.setMyApplicationCount(myApplicationCount);
+//        HistoricProcessInstanceQuery historicProcessInstanceQuery = historyService.createHistoricProcessInstanceQuery()
+//                .variableValueEquals(WorkflowConstant.PROCESS_START_USER_ID_KEY, StpUtil.getLoginIdAsLong())
+//                .variableValueEquals(WorkflowConstant.PROCESS_ISRECYCLE_FLAG_KEY, WorkflowIsRecycleType.NO.getCode());
+//        List<HistoricProcessInstance> historicProcessInstances = historicProcessInstanceQuery.orderByProcessInstanceStartTime().desc().list();
+//
+//        //获取到所有流程id
+//        int myApplicationCount = 0;
+//        for (HistoricProcessInstance historicProcessInstance : historicProcessInstances) {
+//            Long countByProcessId = workflowExecuteService.getCountByProcessId(historicProcessInstance.getId());
+//            if (countByProcessId == 0L) {
+//                continue;
+//
+//            }
+//            if (!ObjectUtil.isNotNull(historicProcessInstance.getEndTime())) {
+//                myApplicationCount++;
+//            }
+//        }
+        pendingCountDto.setMyApplicationCount(processIdSet.size());
 
         long circulatedCount = circulatedService.count(
                 MPJWrappers.<WorkflowCirculated>lambdaJoin()

+ 3 - 0
src/main/java/com/xjrsoft/module/student/mapper/BaseStudentSchoolRollMapper.java

@@ -68,5 +68,8 @@ public interface BaseStudentSchoolRollMapper extends MPJBaseMapper<BaseStudentSc
 
     List<BaseStudentInfoPageVo> getStudyingList(BaseStudentInfoPageDto dto);
 
+    @Update("UPDATE base_student_school_roll SET archives_status = 'FB2901', delete_mark = 0, enabled_mark = 1, modify_user_id = #{modifyUserId}, modify_date = now() where id = #{id}")
+    Boolean activateStudentSchoolRoll(@Param("id") Long id, @Param("modifyUserId") Long modifyUserId);
+
 }
 

+ 1 - 6
src/main/java/com/xjrsoft/module/student/service/impl/BaseStudentSchoolRollServiceImpl.java

@@ -318,12 +318,7 @@ public class BaseStudentSchoolRollServiceImpl extends MPJBaseServiceImpl<BaseStu
                         .select(BaseStudentSchoolRoll.class, x -> VoToColumnUtil.fieldsToColumns(BaseStudentSchoolRoll.class).contains(x.getProperty()))
                         .eq(BaseStudentSchoolRoll::getUserId, userId)
         );
-        schoolRoll.setDeleteMark(DeleteMark.NODELETE.getCode());
-        schoolRoll.setEnabledMark(EnabledMark.ENABLED.getCode());
-        schoolRoll.setArchivesStatus(ArchivesStatusEnum.FB2901.getCode());
-        schoolRoll.setModifyUserId(modifyUserId);
-        schoolRoll.setModifyDate(LocalDateTime.now());
-        this.updateById(schoolRoll);
+        this.baseMapper.activateStudentSchoolRoll(schoolRoll.getId(), modifyUserId);
 
         //将学生基本信息中状态改为正常
         BaseStudent baseStudent = baseStudentMapper.selectOne(

+ 1 - 1
src/main/java/com/xjrsoft/module/student/service/impl/StudentReportRecordServiceImpl.java

@@ -292,7 +292,7 @@ public class StudentReportRecordServiceImpl extends MPJBaseServiceImpl<StudentRe
         }});
 
         if(record.getReportTime() != null && user != null){
-
+            rollService.activateStudent(user.getId(), StpUtil.getLoginIdAsLong());
             BaseStudentSchoolRoll roll = rollService.getOne(
                     new QueryWrapper<BaseStudentSchoolRoll>().lambda()
                             .eq(BaseStudentSchoolRoll::getUserId, user.getId())