Ver código fonte

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

大数据与最优化研究所 1 semana atrás
pai
commit
74813e7dc9

+ 7 - 4
src/main/java/com/xjrsoft/module/job/JianyuekbScheduleTask.java

@@ -420,10 +420,13 @@ public class JianyuekbScheduleTask {
                 courseCount += exchangeCourseIds.length;
             }
             //查询顶课老师在本条申请的课程中的节次是否包含课
-            Integer substituteTeacherCourseCount = courseTableService.getSubstituteTeacherCourseCountByParams(new ClassTeacherDto() {{
-                setWfCourseAdjustId(courseAdjust.getId());
-                setTeacherId(Long.parseLong(courseAdjust.getExchangeTeacherId()));
-            }});
+            Integer substituteTeacherCourseCount = 0;
+            if(CourseAdjustTypeEnum.courseSubstitute.getCode().equals(courseAdjust.getAdjustType())){
+                substituteTeacherCourseCount = courseTableService.getSubstituteTeacherCourseCountByParams(new ClassTeacherDto() {{
+                    setWfCourseAdjustId(courseAdjust.getId());
+                    setTeacherId(Long.parseLong(courseAdjust.getExchangeTeacherId()));
+                }});
+            }
             if (courseList.size() != courseCount || substituteTeacherCourseCount > 0) {
                 //表明课程变化了,需要重新申请,需要将原来的申请作废并进行微信消息通知
                 courseAdjust.setEnabledMark(EnabledMark.DISABLED.getCode());

+ 1 - 2
src/main/java/com/xjrsoft/module/liteflow/node/WfStudentRepeatStudyNode.java

@@ -107,7 +107,7 @@ public class WfStudentRepeatStudyNode extends NodeComponent {
                                 List<AddBaseStudentSchoolRollDto> baseStudentSchoolRollList = new ArrayList<>();
                                 AddBaseStudentSchoolRollDto rollDto = new AddBaseStudentSchoolRollDto();
                                 rollDto.setStduyStatus(objectMap.get("stduy_status").toString());
-                                rollDto.setStduyStatus(ArchivesStatusEnum.FB2901.getCode());
+                                rollDto.setArchivesStatus(ArchivesStatusEnum.FB2901.getCode());
                                 rollDto.setMajorSetId(Long.parseLong(objectMap.get("major_set_id").toString()));
                                 rollDto.setStudentType(StudentTypeEnum.FB2801.getCode());
                                 rollDto.setClassId(Long.parseLong(objectMap.get("class_id").toString()));
@@ -132,7 +132,6 @@ public class WfStudentRepeatStudyNode extends NodeComponent {
                                 baseStudentUser.setBaseStudentFamilyList(baseStudentFamilyList);
 
                                 List<AddBaseStudentFamilyMemberDto> baseStudentFamilyMemberList = new ArrayList<>();
-                                baseStudentFamilyMemberList.add(new AddBaseStudentFamilyMemberDto());
                                 baseStudentUser.setBaseStudentFamilyMemberList(baseStudentFamilyMemberList);
 
                                 List<AddBaseStudentSubsidizeDto> baseStudentSubsidizeList = new ArrayList<>();

+ 26 - 9
src/main/java/com/xjrsoft/module/system/service/impl/MenuServiceImpl.java

@@ -418,6 +418,9 @@ public class MenuServiceImpl extends MPJBaseServiceImpl<MenuMapper, Menu> implem
 
         List<MenuVo> childMenus = new ArrayList<>();
 
+        Map<Long, MenuVo> menuMap = menuVos.stream()
+                .collect(Collectors.toMap(MenuVo::getId, menu -> menu));
+
         menuVos.forEach((node) -> {
             Long parentId = node.getParentId();
 
@@ -434,16 +437,19 @@ public class MenuServiceImpl extends MPJBaseServiceImpl<MenuMapper, Menu> implem
 
             if (!StrUtil.isEmptyIfStr(parentId) || !StrUtil.equals(String.valueOf(parentId), String.valueOf(GlobalConstant.FIRST_NODE_VALUE))) {
                 // 给每条数据设置子系统信息
-                menuVos.stream().filter(x -> StrUtil.equals(x.getId().toString(), String.valueOf(parentId)))
-                        .findAny()
-                        .ifPresent(parentNode -> {
-                            node.setSystemId(parentNode.getSystemId());
-                            node.setSystemName(parentNode.getSystemName());
-                            node.setParentSortCode(parentNode.getSortCode());
-                        });
+//                menuVos.stream().filter(x -> StrUtil.equals(x.getId().toString(), String.valueOf(parentId)))
+//                        .findAny()
+//                        .ifPresent(parentNode -> {
+//                            node.setSystemId(parentNode.getSystemId());
+//                            node.setSystemName(parentNode.getSystemName());
+//                            node.setParentSortCode(parentNode.getSortCode());
+//                        });
                 Long number = menuVos.stream().filter(x -> x.getParentId().equals(node.getId())).count();
-                if (number == 0) {
-                    node.setParentSortCode(node.getParentSortCode() == null ? 0 : node.getParentSortCode());
+                if (number == 0 && !Objects.equals(parentId, GlobalConstant.FIRST_NODE_VALUE)) {
+                    MenuVo parentMenu = getParentMenu(parentId, menuMap);
+                    node.setSystemId(parentMenu.getSystemId());
+                    node.setSystemName(parentMenu.getSystemName());
+                    node.setParentSortCode(parentMenu.getSortCode());
                     childMenus.add(node);
                 }
             }
@@ -458,6 +464,17 @@ public class MenuServiceImpl extends MPJBaseServiceImpl<MenuMapper, Menu> implem
         return new ArrayList<>(menuVoMap.values());
     }
 
+    /**
+     * 找到顶级菜单
+     */
+    private MenuVo getParentMenu(Long parentId, Map<Long, MenuVo> menuMap) {
+        MenuVo menuVo = menuMap.get(parentId);
+        if (menuVo.getParentId().equals(GlobalConstant.FIRST_NODE_VALUE)) {
+            return menuVo;
+        }
+        return getParentMenu(menuVo.getParentId(), menuMap);
+    }
+
     /**
      * 获取所有子级菜单
      */

+ 15 - 11
src/test/java/com/xjrsoft/module/job/JianyuekbScheduleTaskTest.java

@@ -151,9 +151,9 @@ class JianyuekbScheduleTaskTest {
     }
     public void doExecute() {
         String active = SpringUtil.getActiveProfile();
-        if(!"prod".equals(active)){
-            return;
-        }
+//        if(!"prod".equals(active)){
+//            return;
+//        }
         String sql = "SELECT * FROM course_receive_msg WHERE delete_mark = 0 AND is_callback = -1";
         List<Map<String, Object>> receiveMsgs = SqlRunnerAdapter.db().selectList(sql);
         if(receiveMsgs.isEmpty()){
@@ -212,9 +212,9 @@ class JianyuekbScheduleTaskTest {
                 LocalDate startDateObj = LocalDate.parse(startDateStr);
                 String endDateStr = receiveMsg.get("end_date").toString();
                 LocalDate endDateObj = LocalDate.parse(endDateStr);
-                if(today.isAfter(startDateObj)){
-                    startDateStr = today.format(formatter);
-                }
+//                if(today.isAfter(startDateObj)){
+//                    startDateStr = today.format(formatter);
+//                }
 
                 //删除课表信息;
                 List<BaseClass> classList = gradeClassMaps.get(eduYearSerialNo);
@@ -286,7 +286,7 @@ class JianyuekbScheduleTaskTest {
 
         Set<String> techerIds = dataUtil.insertCourseTableEntiy(scheduleInfo, classroomMap, courseMap, semesterMap,
                 teacherMap, classMap, String.valueOf(courseReceiveMsgId), startDate, endDate);
-        sendMsg(techerIds, courseReceiveMsgId);
+        //sendMsg(techerIds, courseReceiveMsgId);
         dataUtil.insertClassTime(scheduleInfo);
     }
 
@@ -419,10 +419,14 @@ class JianyuekbScheduleTaskTest {
                 courseCount += exchangeCourseIds.length;
             }
             //查询顶课老师在本条申请的课程中的节次是否包含课
-            Integer substituteTeacherCourseCount = courseTableService.getSubstituteTeacherCourseCountByParams(new ClassTeacherDto() {{
-                setWfCourseAdjustId(courseAdjust.getId());
-                setTeacherId(Long.parseLong(courseAdjust.getExchangeTeacherId()));
-            }});
+            Integer substituteTeacherCourseCount = 0;
+            if(CourseAdjustTypeEnum.courseSubstitute.getCode().equals(courseAdjust.getAdjustType())){
+                substituteTeacherCourseCount = courseTableService.getSubstituteTeacherCourseCountByParams(new ClassTeacherDto() {{
+                    setWfCourseAdjustId(courseAdjust.getId());
+                    setTeacherId(Long.parseLong(courseAdjust.getExchangeTeacherId()));
+                }});
+            }
+
             if(courseList.size() != courseCount || substituteTeacherCourseCount > 0){
                 //表明课程变化了,需要重新申请,需要将原来的申请作废并进行微信消息通知
                 courseAdjust.setEnabledMark(EnabledMark.DISABLED.getCode());

+ 1 - 2
src/test/java/com/xjrsoft/module/liteflow/node/WfStudentRepeatStudyNodeTest.java

@@ -54,7 +54,7 @@ class WfStudentRepeatStudyNodeTest {
 
     @Test
     void test(){
-        Long formId = 1907360900683227136L;
+        Long formId = 1907636186804998144L;
 
         String tableName = "wf_student_repeat_study";
         Entity where = Entity.create(tableName);
@@ -108,7 +108,6 @@ class WfStudentRepeatStudyNodeTest {
             baseStudentUser.setBaseStudentFamilyList(baseStudentFamilyList);
 
             List<AddBaseStudentFamilyMemberDto> baseStudentFamilyMemberList = new ArrayList<>();
-            baseStudentFamilyMemberList.add(new AddBaseStudentFamilyMemberDto());
             baseStudentUser.setBaseStudentFamilyMemberList(baseStudentFamilyMemberList);
 
             List<AddBaseStudentSubsidizeDto> baseStudentSubsidizeList = new ArrayList<>();