Selaa lähdekoodia

Merge branch 'pre'

dzx 1 vuosi sitten
vanhempi
commit
f0bed1e540

+ 3 - 4
src/main/java/com/xjrsoft/module/concat/controller/ConcatController.java

@@ -63,14 +63,13 @@ public class ConcatController {
         }
         MPJLambdaWrapper<XjrUser> wrapper = new MPJLambdaWrapper<>();
         wrapper.leftJoin("xjr_user_dept_relation t2 on t.id = t2.user_id")
-                .like("t5.hierarchy", parentId + "-")
+                .like("t5.hierarchy", parentId)
                 .leftJoin("xjr_user_role_relation t3 ON t.id = t3.user_id")
                 .leftJoin("xjr_role t4 ON t4.id = t3.role_id")
-                .leftJoin("xjr_department t5 ON t2.dept_id = t4.id")
+                .leftJoin("xjr_department t5 ON t2.dept_id = t5.id")
                 .eq("t4.id", 2)
                 .eq(StrUtil.isNotEmpty(dto.getName()), XjrUser::getName, dto.getName())
-                .eq(StrUtil.isNotEmpty(dto.getMobile()), XjrUser::getMobile, dto.getMobile())
-                .eq(XjrUser::getDeleteMark, DeleteMark.NODELETE.getCode());
+                .eq(StrUtil.isNotEmpty(dto.getMobile()), XjrUser::getMobile, dto.getMobile());
         List<XjrUser> userList = xjrUserService.selectJoinList(XjrUser.class, wrapper);
         for (XjrUser user : userList) {
             concatList.add(

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

@@ -74,22 +74,27 @@ public class JianyuekbScheduleTask {
 
             gradeClassMaps.put(el.get("jianyue_id").toString(), classIds);
         }
-
+        LocalDate today = LocalDate.now();
         for (Map<String, Object> receiveMsg : receiveMsgs) {
             String updSql = "update course_receive_msg set is_callback = 0 where id = " + receiveMsg.get("id").toString();
             SqlRunnerAdapter.db().update(updSql);
 
             String eduYearSerialNo = receiveMsg.get("edu_year_serial_no").toString();
             String startDateStr = receiveMsg.get("start_date").toString();
+            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);
+            }
             //删除课表信息
-            String delSql = "delete from course_table where schedule_date between DATE_FORMAT(NOW(), '%Y-%m-%d')" +
+            String delSql = "delete from course_table where schedule_date between '" + startDateStr + "'" +
                     " and '" + endDateStr + "'" +
                     " and class_id in (" + gradeClassMaps.get(eduYearSerialNo).toString().replace("[","").replace("]","")+ ")";
             SqlRunnerAdapter.db().delete(delSql);
 
-            LocalDate startDateObj = LocalDate.parse(startDateStr);
-            LocalDate endDateObj = LocalDate.parse(endDateStr);
+
+
             long between = ChronoUnit.DAYS.between(startDateObj, endDateObj);
             int times = Integer.parseInt(((between / 7) + 1) + "");
 

+ 96 - 3
src/main/java/com/xjrsoft/module/oa/service/impl/NewsServiceImpl.java

@@ -194,6 +194,96 @@ public class NewsServiceImpl extends MPJBaseServiceImpl<NewsMapper, News> implem
             addRelation(news, addProclamationDto, 2);
             return news.getId();
         }
+
+        if(addProclamationDto.getSendRange() == 1){
+            MPJLambdaWrapper<XjrUser> queryUser = new MPJLambdaWrapper<>();
+            queryUser
+                    .leftJoin(UserRoleRelation.class, UserRoleRelation::getUserId, XjrUser::getId)
+                    .leftJoin(Role.class, Role::getId, UserRoleRelation::getRoleId)
+                    .eq(Role::getId, 2);
+            List<XjrUser> userList = xjrUserMapper.selectJoinList(XjrUser.class,queryUser);
+            for (XjrUser user: userList) {
+                NewsRelation newsRelation = new NewsRelation();
+                newsRelation.setUserId(user.getId());
+                newsRelation.setReadMark(0);
+                newsRelation.setNewsId(news.getId());
+                newsRelation.setCreateDate(LocalDateTime.now());
+                newsRelationMapper.insert(newsRelation);
+            }
+            List<BaseStudentInfoPageVo> studyingList = baseStudentSchoolRollMapper.getStudyingList(new BaseStudentInfoPageDto());
+            for (BaseStudentInfoPageVo user: studyingList) {
+                NewsRelation newsRelation = new NewsRelation();
+                newsRelation.setUserId(user.getId());
+                newsRelation.setNewsId(news.getId());
+                newsRelation.setReadMark(0);
+                newsRelation.setCreateDate(LocalDateTime.now());
+                newsRelationMapper.insert(newsRelation);
+            }
+        } else if(addProclamationDto.getSendRange() == 2){
+            MPJLambdaWrapper<XjrUser> queryUser = new MPJLambdaWrapper<>();
+            queryUser
+                    .leftJoin(UserRoleRelation.class, UserRoleRelation::getUserId, XjrUser::getId)
+                    .leftJoin(Role.class, Role::getId, UserRoleRelation::getRoleId)
+                    .eq(Role::getId, 2);
+            List<XjrUser> userList = xjrUserMapper.selectJoinList(XjrUser.class,queryUser);
+            for (XjrUser user: userList) {
+                NewsRelation newsRelation = new NewsRelation();
+                newsRelation.setUserId(user.getId());
+                newsRelation.setNewsId(news.getId());
+                newsRelation.setReadMark(0);
+                newsRelation.setCreateDate(LocalDateTime.now());
+                newsRelationMapper.insert(newsRelation);
+            }
+
+        } else if (addProclamationDto.getSendRange() == 3) {
+            for (AddNewsRelationDto relationDto : addProclamationDto.getRelationList()) {
+
+                NewsRelationConfig newsRelationConfig = BeanUtil.toBean(relationDto, NewsRelationConfig.class);
+                newsRelationConfig.setNewsId(news.getId());
+                newsRelationConfigMapper.insert(newsRelationConfig);
+
+                NewsRelation newsRelation = BeanUtil.toBean(relationDto, NewsRelation.class);
+                newsRelation.setNewsId(news.getId());
+                newsRelation.setReadMark(0);
+                if (relationDto.getRelationType() == 1) {
+                    // 获取部门下的人员添加
+                    Long deptId = relationDto.getRelationId();
+                    MPJLambdaWrapper<XjrUser> queryUser = new MPJLambdaWrapper<>();
+                    queryUser
+                            .leftJoin(UserDeptRelation.class, UserDeptRelation::getUserId, XjrUser::getId)
+                            .leftJoin(Department.class, Department::getId, UserDeptRelation::getDeptId)
+                            .eq(Department::getId, deptId);
+                    List<XjrUser> userList = xjrUserMapper.selectJoinList(XjrUser.class, queryUser);
+                    for (XjrUser user : userList) {
+                        newsRelation.setUserId(user.getId());
+                        newsRelationMapper.insert(newsRelation);
+                    }
+                }
+                if (relationDto.getRelationType() == 2) {
+                    newsRelation.setUserId(relationDto.getRelationId());
+                    newsRelationMapper.insert(newsRelation);
+                }
+                if (relationDto.getRelationType() == 3) {
+                    // 获取班级下的人员添加
+                    Long deptId = relationDto.getRelationId();
+                    MPJLambdaWrapper<XjrUser> queryUser = new MPJLambdaWrapper<>();
+                    queryUser
+                            .leftJoin(UserDeptRelation.class, UserDeptRelation::getUserId, XjrUser::getId)
+                            .leftJoin(Department.class, Department::getId, UserDeptRelation::getDeptId)
+                            .eq(Department::getId, deptId);
+                    List<XjrUser> userList = xjrUserMapper.selectJoinList(XjrUser.class, queryUser);
+                    List<Long> userIdList = new ArrayList<>();
+                    for (XjrUser user : userList) {
+                        userIdList.add(user.getId());
+                    }
+                    for (Long userId : userIdList) {
+                        newsRelation.setUserId(userId);
+                        newsRelationMapper.insert(newsRelation);
+                    }
+                }
+            }
+        }
+
         //没有任何问题返回
         return -1L;
     }
@@ -615,7 +705,7 @@ public class NewsServiceImpl extends MPJBaseServiceImpl<NewsMapper, News> implem
 
         //公告需要添加阅读关系,发送范围 1=全校教职工 2=全校师生 3=指定人员
         //1=全校教职工,添加全校教职工到关系表
-        if(addNewsDto.getTypeId() == 2 && addNewsDto.getSendRange() == 1){
+        if(addNewsDto.getSendRange() == 1){
             MPJLambdaWrapper<XjrUser> queryUser = new MPJLambdaWrapper<>();
             queryUser
                     .leftJoin(UserRoleRelation.class, UserRoleRelation::getUserId, XjrUser::getId)
@@ -625,6 +715,7 @@ public class NewsServiceImpl extends MPJBaseServiceImpl<NewsMapper, News> implem
             for (XjrUser user: userList) {
                 NewsRelation newsRelation = new NewsRelation();
                 newsRelation.setUserId(user.getId());
+                newsRelation.setReadMark(0);
                 newsRelation.setNewsId(news.getId());
                 newsRelation.setCreateDate(LocalDateTime.now());
                 newsRelationMapper.insert(newsRelation);
@@ -634,10 +725,11 @@ public class NewsServiceImpl extends MPJBaseServiceImpl<NewsMapper, News> implem
                 NewsRelation newsRelation = new NewsRelation();
                 newsRelation.setUserId(user.getId());
                 newsRelation.setNewsId(news.getId());
+                newsRelation.setReadMark(0);
                 newsRelation.setCreateDate(LocalDateTime.now());
                 newsRelationMapper.insert(newsRelation);
             }
-        } else if(addNewsDto.getTypeId() == 2 && addNewsDto.getSendRange() == 2){
+        } else if(addNewsDto.getSendRange() == 2){
             MPJLambdaWrapper<XjrUser> queryUser = new MPJLambdaWrapper<>();
             queryUser
                     .leftJoin(UserRoleRelation.class, UserRoleRelation::getUserId, XjrUser::getId)
@@ -648,11 +740,12 @@ public class NewsServiceImpl extends MPJBaseServiceImpl<NewsMapper, News> implem
                 NewsRelation newsRelation = new NewsRelation();
                 newsRelation.setUserId(user.getId());
                 newsRelation.setNewsId(news.getId());
+                newsRelation.setReadMark(0);
                 newsRelation.setCreateDate(LocalDateTime.now());
                 newsRelationMapper.insert(newsRelation);
             }
 
-        } else if (addNewsDto.getTypeId() == 2 && addNewsDto.getSendRange() == 3) {
+        } else if (addNewsDto.getSendRange() == 3) {
             for (AddNewsRelationDto relationDto : addNewsDto.getRelationList()) {
 
                 NewsRelationConfig newsRelationConfig = BeanUtil.toBean(relationDto, NewsRelationConfig.class);

+ 10 - 0
src/main/java/com/xjrsoft/module/student/controller/BaseNewStudentController.java

@@ -356,6 +356,16 @@ public class BaseNewStudentController {
     @PostMapping("/report-export-query")
     @ApiOperation(value = "导出")
     public ResponseEntity<byte[]> exportData(@Valid BaseNewStudentPageDto dto) {
+        if(dto.getBaseSemesterId() == null){
+            LambdaQueryWrapper<BaseSemester> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper
+                    .orderByDesc(BaseSemester::getStartDate)
+                    .select(BaseSemester.class,x -> VoToColumnUtil.fieldsToColumns(BaseSemester.class).contains(x.getProperty()));
+            List<BaseSemester> semesterList = semesterService.list(queryWrapper);
+            if(!semesterList.isEmpty()){
+                dto.setBaseSemesterId(semesterList.get(0).getId());
+            }
+        }
         List<BaseNewStudentPageVo> reportList = baseNewStudentService.getReportList(dto);
         List<BaseNewStudentExportVo> exportVos = new ArrayList<>();
         DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");