Pārlūkot izejas kodu

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

大数据与最优化研究所 9 mēneši atpakaļ
vecāks
revīzija
53b4c6e257

+ 1 - 1
src/main/java/com/xjrsoft/module/banding/controller/BandingTaskController.java

@@ -171,7 +171,7 @@ public class BandingTaskController {
     @SaCheckPermission("bandingTaskClass:sure")
     @XjrLog(value = "确认分班")
     public RT<Boolean> sure(@Valid @RequestBody SureBandingTaskDto dto){
-        Boolean isSuccess = bandingTaskService.sure(dto);
+        Boolean isSuccess = bandingTaskService.sureReport(dto);
         return RT.ok(isSuccess);
     }
 

+ 3 - 0
src/main/java/com/xjrsoft/module/banding/service/IBandingTaskService.java

@@ -49,4 +49,7 @@ public interface IBandingTaskService extends MPJBaseService<BandingTask> {
 
     Page<BandingTaskPageVo> getPage(Page<BandingTaskPageVo> page, BandingTaskPageDto dto);
 
+
+    Boolean sureReport(SureBandingTaskDto dto);
+
 }

+ 8 - 2
src/main/java/com/xjrsoft/module/banding/service/impl/BandingTaskClassServiceImpl.java

@@ -274,6 +274,7 @@ public class BandingTaskClassServiceImpl extends MPJBaseServiceImpl<BandingTaskC
                 baseClass.setClassroomId(taskClass.getClassroomId());
                 baseClass.setIsOrderClass(taskClass.getIsOrderClass());
                 baseClass.setOrgId(majorDeptMap.get(taskClass.getMajorSetId()));
+                baseClass.setEnrollType(task.getEnrollType());
                 updateClassList.add(baseClass);
             }else{
                 BaseClass baseClass = new BaseClass();
@@ -283,7 +284,12 @@ public class BandingTaskClassServiceImpl extends MPJBaseServiceImpl<BandingTaskC
                 baseClass.setClassroomId(taskClass.getClassroomId());
                 baseClass.setIsOrderClass(taskClass.getIsOrderClass());
                 baseClass.setOrgId(majorDeptMap.get(taskClass.getMajorSetId()));
+                baseClass.setName(taskClass.getName());
                 baseClass.setGradeId(task.getGradeId());
+                baseClass.setEnrollType(task.getEnrollType());
+                baseClass.setIsGraduate(1);
+                baseClass.setCreateUserId(StpUtil.getLoginIdAsLong());
+                baseClass.setCreateDate(new Date());
                 insertClassList.add(baseClass);
             }
         }
@@ -331,8 +337,8 @@ public class BandingTaskClassServiceImpl extends MPJBaseServiceImpl<BandingTaskC
         }
         BandingTaskClass one = this.getOne(
                 new MPJLambdaWrapper<BandingTaskClass>()
-                        .select(BandingTask::getId)
-                        .select(BandingTask.class, x -> VoToColumnUtil.fieldsToColumns(BandingTask.class).contains(x.getProperty()))
+                        .select(BandingTaskClass::getId)
+                        .select(BandingTaskClass.class, x -> VoToColumnUtil.fieldsToColumns(BandingTaskClass.class).contains(x.getProperty()))
                         .innerJoin(BandingTask.class, BandingTask::getId, BandingTaskClass::getBandingTaskId)
                         .eq(BandingTaskClass::getDeleteMark, DeleteMark.NODELETE.getCode())
                         .eq(BandingTaskClass::getName, baseClass.getName())

+ 14 - 0
src/main/java/com/xjrsoft/module/banding/service/impl/BandingTaskServiceImpl.java

@@ -528,6 +528,9 @@ public class BandingTaskServiceImpl extends MPJBaseServiceImpl<BandingTaskMapper
         return classStudentMap;
     }
 
+    /**
+     * 确认分班,老规则,确认之后直接进入学生基本信息中(2025年3月6日停用)
+     */
     @Transactional
     @Override
     public Boolean sure(SureBandingTaskDto dto) {
@@ -709,6 +712,17 @@ public class BandingTaskServiceImpl extends MPJBaseServiceImpl<BandingTaskMapper
         return this.baseMapper.getPage(page, dto);
     }
 
+    /**
+     * 确认分班后,进入
+     * @param dto
+     * @return
+     */
+    @Override
+    @Transactional
+    public Boolean sureReport(SureBandingTaskDto dto) {
+        return null;
+    }
+
     LocalDate getBirthDate(String idCardNumber){
         // 获取出生日期前6位,即yyyyMM
         String birthdayString = idCardNumber.substring(6, 14);

+ 32 - 12
src/main/java/com/xjrsoft/module/job/BaseNewStudentTask.java

@@ -8,6 +8,7 @@ import com.xjrsoft.common.enums.EnrollTypeEnum;
 import com.xjrsoft.common.enums.GenderDictionaryEnum;
 import com.xjrsoft.common.enums.StudentTypeEnum;
 import com.xjrsoft.common.enums.StudyStatusEnum;
+import com.xjrsoft.common.mybatis.SqlRunnerAdapter;
 import com.xjrsoft.module.base.entity.BaseGrade;
 import com.xjrsoft.module.base.entity.BaseMajorSet;
 import com.xjrsoft.module.base.service.IBaseGradeService;
@@ -19,6 +20,7 @@ import com.xjrsoft.module.student.service.IBaseNewStudentService;
 import com.xjrsoft.module.student.service.IEnrollmentPlanService;
 import com.xjrsoft.module.student.service.IPbCseFeeobjupdateService;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
@@ -63,8 +65,10 @@ public class BaseNewStudentTask {
 
     void doExecute(){
         List<PbCseFeeobjupdate> dataList = cseFeeobjupdateService.list();
-        Map<String, String> gradeMap = dataList.stream().filter(x -> StrUtil.isNotEmpty(x.getEnteryear()) && StrUtil.isNotEmpty(x.getUserdef6()))
-                .collect(Collectors.toMap(PbCseFeeobjupdate::getEnteryear, PbCseFeeobjupdate::getUserdef6));
+
+        String sql = "select distinct enteryear, userdef6 from pb_cse_feeobjupdate";
+        List<Map<String, Object>> gradeList = SqlRunnerAdapter.db().selectList(sql);
+
 
         List<EnrollmentPlan> planDataList = planService.list(
                 new QueryWrapper<EnrollmentPlan>().lambda()
@@ -75,14 +79,14 @@ public class BaseNewStudentTask {
 
         Map<String, Long> planMap = new HashMap<>();
         //插入招生计划数据
-        gradeMap.forEach((enteryear, userdef6)->{
+        gradeList.forEach((x)->{
             EnrollmentPlan plan = new EnrollmentPlan();
             plan.setCreateDate(new Date());
             plan.setEnabledMark(EnabledMark.ENABLED.getCode());
             plan.setDeleteMark(DeleteMark.NODELETE.getCode());
-            if("1".equals(userdef6)){
+            if("1".equals(x.get("userdef6").toString())){
                 plan.setEnrollType(EnrollTypeEnum.SPRING_ENROLLMENT.getCode());
-            }else if("2".equals(userdef6)){
+            }else if("2".equals(x.get("userdef6").toString())){
                 plan.setEnrollType(EnrollTypeEnum.AUTUMN_ENROLLMENT.getCode());
             }
 
@@ -90,18 +94,18 @@ public class BaseNewStudentTask {
             BaseGrade grade = gradeService.getOne(
                     new QueryWrapper<BaseGrade>().lambda()
                             .eq(BaseGrade::getDeleteMark, DeleteMark.NODELETE.getCode())
-                            .like(BaseGrade::getTitle, enteryear)
+                            .like(BaseGrade::getTitle, x.get("enteryear").toString())
             );
             plan.setGradeId(grade.getId());
 
             Long oldPlanId = planDataMap.get(plan.getEnrollType() + plan.getGradeId());
 
-            planMap.put(enteryear + userdef6, oldPlanId);
+            planMap.put(x.get("enteryear").toString() + x.get("userdef6").toString(), oldPlanId);
 
             //判断是否已经存在,不存在就新增
             if(oldPlanId == null){
                 planService.save(plan);
-                planMap.put(enteryear + userdef6, plan.getId());
+                planMap.put(x.get("enteryear").toString() + x.get("userdef6").toString(), plan.getId());
             }
         });
 
@@ -132,8 +136,16 @@ public class BaseNewStudentTask {
                 existsNewStudent.setProvince(feeobjupdate.getProvince());
                 existsNewStudent.setCity(feeobjupdate.getCity());
                 existsNewStudent.setMyarea(feeobjupdate.getMyarea());
-                existsNewStudent.setHeight(BigDecimal.valueOf(Double.parseDouble(feeobjupdate.getSg())));
-                existsNewStudent.setWeight(BigDecimal.valueOf(Double.parseDouble(feeobjupdate.getTz())));
+                if(StrUtil.isNotEmpty(feeobjupdate.getSg())){
+                    if(StringUtils.isNumeric(feeobjupdate.getSg())){
+                        existsNewStudent.setHeight(BigDecimal.valueOf(Double.parseDouble(feeobjupdate.getSg())));
+                    }
+                }
+                if(StrUtil.isNotEmpty(feeobjupdate.getTz())){
+                    if(StringUtils.isNumeric(feeobjupdate.getTz())){
+                        existsNewStudent.setWeight(BigDecimal.valueOf(Double.parseDouble(feeobjupdate.getTz())));
+                    }
+                }
                 existsNewStudent.setGraduateSchool(feeobjupdate.getGraduations());
                 existsNewStudent.setStduyStatus(StudyStatusEnum.getCode(feeobjupdate.getQuartername()));
                 existsNewStudent.setSource(StudentTypeEnum.getCode(feeobjupdate.getResourcename()));
@@ -161,8 +173,16 @@ public class BaseNewStudentTask {
                         setProvince(feeobjupdate.getProvince());
                         setCity(feeobjupdate.getCity());
                         setMyarea(feeobjupdate.getMyarea());
-                        setHeight(BigDecimal.valueOf(Double.parseDouble(feeobjupdate.getSg())));
-                        setWeight(BigDecimal.valueOf(Double.parseDouble(feeobjupdate.getTz())));
+                        if(StrUtil.isNotEmpty(feeobjupdate.getSg())){
+                            if(StringUtils.isNumeric(feeobjupdate.getSg())){
+                                setHeight(BigDecimal.valueOf(Double.parseDouble(feeobjupdate.getSg())));
+                            }
+                        }
+                        if(StrUtil.isNotEmpty(feeobjupdate.getTz())){
+                            if(StringUtils.isNumeric(feeobjupdate.getTz())){
+                                setWeight(BigDecimal.valueOf(Double.parseDouble(feeobjupdate.getTz())));
+                            }
+                        }
                         setGraduateSchool(feeobjupdate.getGraduations());
                         setStduyStatus(StudyStatusEnum.getCode(feeobjupdate.getQuartername()));
                         setSource(StudentTypeEnum.getCode(feeobjupdate.getResourcename()));

+ 33 - 12
src/test/java/com/xjrsoft/module/job/BaseNewStudentTaskTest.java

@@ -9,6 +9,7 @@ import com.xjrsoft.common.enums.EnrollTypeEnum;
 import com.xjrsoft.common.enums.GenderDictionaryEnum;
 import com.xjrsoft.common.enums.StudentTypeEnum;
 import com.xjrsoft.common.enums.StudyStatusEnum;
+import com.xjrsoft.common.mybatis.SqlRunnerAdapter;
 import com.xjrsoft.module.base.entity.BaseGrade;
 import com.xjrsoft.module.base.entity.BaseMajorSet;
 import com.xjrsoft.module.base.service.IBaseGradeService;
@@ -19,6 +20,7 @@ import com.xjrsoft.module.student.entity.PbCseFeeobjupdate;
 import com.xjrsoft.module.student.service.IBaseNewStudentService;
 import com.xjrsoft.module.student.service.IEnrollmentPlanService;
 import com.xjrsoft.module.student.service.IPbCseFeeobjupdateService;
+import org.apache.commons.lang.StringUtils;
 import org.junit.jupiter.api.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -67,8 +69,10 @@ class BaseNewStudentTaskTest {
 
     void doExecute(){
         List<PbCseFeeobjupdate> dataList = cseFeeobjupdateService.list();
-        Map<String, String> gradeMap = dataList.stream().filter(x -> StrUtil.isNotEmpty(x.getEnteryear()) && StrUtil.isNotEmpty(x.getUserdef6()))
-                .collect(Collectors.toMap(PbCseFeeobjupdate::getEnteryear, PbCseFeeobjupdate::getUserdef6));
+
+        String sql = "select distinct enteryear, userdef6 from pb_cse_feeobjupdate";
+        List<Map<String, Object>> gradeList = SqlRunnerAdapter.db().selectList(sql);
+
 
         List<EnrollmentPlan> planDataList = planService.list(
                 new QueryWrapper<EnrollmentPlan>().lambda()
@@ -79,14 +83,14 @@ class BaseNewStudentTaskTest {
 
         Map<String, Long> planMap = new HashMap<>();
         //插入招生计划数据
-        gradeMap.forEach((enteryear, userdef6)->{
+        gradeList.forEach((x)->{
             EnrollmentPlan plan = new EnrollmentPlan();
             plan.setCreateDate(new Date());
             plan.setEnabledMark(EnabledMark.ENABLED.getCode());
             plan.setDeleteMark(DeleteMark.NODELETE.getCode());
-            if("1".equals(userdef6)){
+            if("1".equals(x.get("userdef6").toString())){
                 plan.setEnrollType(EnrollTypeEnum.SPRING_ENROLLMENT.getCode());
-            }else if("2".equals(userdef6)){
+            }else if("2".equals(x.get("userdef6").toString())){
                 plan.setEnrollType(EnrollTypeEnum.AUTUMN_ENROLLMENT.getCode());
             }
 
@@ -94,18 +98,18 @@ class BaseNewStudentTaskTest {
             BaseGrade grade = gradeService.getOne(
                     new QueryWrapper<BaseGrade>().lambda()
                             .eq(BaseGrade::getDeleteMark, DeleteMark.NODELETE.getCode())
-                            .like(BaseGrade::getTitle, enteryear)
+                            .like(BaseGrade::getTitle, x.get("enteryear").toString())
             );
             plan.setGradeId(grade.getId());
 
             Long oldPlanId = planDataMap.get(plan.getEnrollType() + plan.getGradeId());
 
-            planMap.put(enteryear + userdef6, oldPlanId);
+            planMap.put(x.get("enteryear").toString() + x.get("userdef6").toString(), oldPlanId);
 
             //判断是否已经存在,不存在就新增
             if(oldPlanId == null){
                 planService.save(plan);
-                planMap.put(enteryear + userdef6, plan.getId());
+                planMap.put(x.get("enteryear").toString() + x.get("userdef6").toString(), plan.getId());
             }
         });
 
@@ -136,8 +140,16 @@ class BaseNewStudentTaskTest {
                 existsNewStudent.setProvince(feeobjupdate.getProvince());
                 existsNewStudent.setCity(feeobjupdate.getCity());
                 existsNewStudent.setMyarea(feeobjupdate.getMyarea());
-                existsNewStudent.setHeight(BigDecimal.valueOf(Double.parseDouble(feeobjupdate.getSg())));
-                existsNewStudent.setWeight(BigDecimal.valueOf(Double.parseDouble(feeobjupdate.getTz())));
+                if(StrUtil.isNotEmpty(feeobjupdate.getSg())){
+                    if(StringUtils.isNumeric(feeobjupdate.getSg())){
+                        existsNewStudent.setHeight(BigDecimal.valueOf(Double.parseDouble(feeobjupdate.getSg())));
+                    }
+                }
+                if(StrUtil.isNotEmpty(feeobjupdate.getTz())){
+                    if(StringUtils.isNumeric(feeobjupdate.getTz())){
+                        existsNewStudent.setWeight(BigDecimal.valueOf(Double.parseDouble(feeobjupdate.getTz())));
+                    }
+                }
                 existsNewStudent.setGraduateSchool(feeobjupdate.getGraduations());
                 existsNewStudent.setStduyStatus(StudyStatusEnum.getCode(feeobjupdate.getQuartername()));
                 existsNewStudent.setSource(StudentTypeEnum.getCode(feeobjupdate.getResourcename()));
@@ -165,8 +177,17 @@ class BaseNewStudentTaskTest {
                         setProvince(feeobjupdate.getProvince());
                         setCity(feeobjupdate.getCity());
                         setMyarea(feeobjupdate.getMyarea());
-                        setHeight(BigDecimal.valueOf(Double.parseDouble(feeobjupdate.getSg())));
-                        setWeight(BigDecimal.valueOf(Double.parseDouble(feeobjupdate.getTz())));
+                        if(StrUtil.isNotEmpty(feeobjupdate.getSg())){
+                            if(StringUtils.isNumeric(feeobjupdate.getSg())){
+                                setHeight(BigDecimal.valueOf(Double.parseDouble(feeobjupdate.getSg())));
+                            }
+                        }
+                        if(StrUtil.isNotEmpty(feeobjupdate.getTz())){
+                            if(StringUtils.isNumeric(feeobjupdate.getTz())){
+                                setWeight(BigDecimal.valueOf(Double.parseDouble(feeobjupdate.getTz())));
+                            }
+                        }
+
                         setGraduateSchool(feeobjupdate.getGraduations());
                         setStduyStatus(StudyStatusEnum.getCode(feeobjupdate.getQuartername()));
                         setSource(StudentTypeEnum.getCode(feeobjupdate.getResourcename()));

+ 8 - 1
src/test/java/com/xjrsoft/xjrsoftboot/IdCreateTest.java

@@ -1,8 +1,11 @@
 package com.xjrsoft.xjrsoftboot;
 
 import cn.hutool.core.util.IdUtil;
+import org.apache.commons.lang.StringUtils;
 import org.junit.jupiter.api.Test;
 
+import java.math.BigDecimal;
+
 /**
  * @author dzx
  * @date 2024/3/12
@@ -10,6 +13,10 @@ import org.junit.jupiter.api.Test;
 public class IdCreateTest {
     @Test
     void test(){
-        System.out.println(IdUtil.getSnowflakeNextId());
+        String sg = "1米7";
+        System.out.println(StringUtils.isNumeric(sg));
+
+        String sg2 = "170";
+        System.out.println(StringUtils.isNumeric(sg2));
     }
 }