Ver código fonte

Merge branch 'server-165' of uskycloud/usky-modules into master

gez 9 meses atrás
pai
commit
ea598e000e

+ 9 - 4
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/PmWorkContentController.java

@@ -34,16 +34,21 @@ public class PmWorkContentController {
     @Autowired
     private PmWorkContentService pmWorkContentService;
 
+    /**
+     * 项目名
+     *
+     * @param startDate
+     * @param endDate
+     * @param projectName
+     * @param reportId
+     * @return
+     */
     @GetMapping("/projectName")
     public ApiResult<List<PmWorkContent>> pageList(@RequestParam(value = "startDate", required = false) String startDate,
                                                    @RequestParam(value = "endDate", required = false) String endDate,
                                                    @RequestParam(value = "projectName", required = false) String projectName,
                                                    @RequestParam(value = "reportId", required = false) Integer reportId,
                                                    @RequestParam(value = "projectAscription", required = false, defaultValue = "1") Integer projectAscription) {
-        if (StringUtils.isBlank(startDate) || StringUtils.isBlank(endDate)) {
-            startDate = LocalDate.now().minusDays(2).toString();
-            endDate = LocalDate.now().toString();
-        }
         return ApiResult.success(pmWorkContentService.projectQuery(startDate, endDate, projectName, projectAscription, reportId));
     }
 

+ 1 - 1
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/PmWorkContentService.java

@@ -54,7 +54,7 @@ public interface PmWorkContentService extends CrudService<PmWorkContent> {
     List<SysUser> allNickName();
 
     /**
-     * APP报告详情分页列表
+     * 报告详情分页列表
      * @param projectAscription 1:我负责;2:我收到;3:我发出
      * @param pageNum 页数
      * @param pageSize 页大小

+ 24 - 14
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/config/DingTalkAndMessage.java

@@ -114,6 +114,9 @@ public class DingTalkAndMessage {
      */
     public String getDingTalkUserId(Long userId) {
         String dingTalkId = "";
+        if (userId == null) {
+            return dingTalkId;
+        }
         LambdaQueryWrapper<MceMbuser> dingTalkQuery = Wrappers.lambdaQuery();
         dingTalkQuery.select(MceMbuser::getDingTalkId, MceMbuser::getUserId)
                 .eq(MceMbuser::getUserId, userId);
@@ -159,27 +162,30 @@ public class DingTalkAndMessage {
         return dingTalkId;
     }
 
-    @Async("asyncServiceExecutor")//异步发送
+    @Async("asyncServiceExecutor")// 异步发送
     public void sendDingTalkDailyReport(PmWorkReport workReport, List<PmWorkContent> workContents) {
         String userName = workReport.getCreateBy();
+        try {
         log.info(userName + "的工作报告开始发送钉钉-----------------------------------");
         String ccToStr = workReport.getCcTo();
-        String[] items = ccToStr.split(",");
-        try {
-            List<Long> userIds = new ArrayList<>();
-            for (String item : items) {
-                long number = Long.parseLong(item.trim());
-                userIds.add(number);
-            }
-            List<String> ccTo = new ArrayList<>();
-            for (Long userId : userIds) {
-                String dingTalkUserId = getDingTalkUserId(userId);
-                ccTo.add(dingTalkUserId);
+        List<String> ccTo = new ArrayList<>();
+            if (StringUtils.isNotBlank(ccToStr)) {
+                String[] items = ccToStr.split(",");
+                List<Long> userIds = new ArrayList<>();
+                for (String item : items) {
+                    long number = Long.parseLong(item.trim());
+                    userIds.add(number);
+                }
+                for (Long userId : userIds) {
+                    String dingTalkUserId = getDingTalkUserId(userId);
+                    ccTo.add(dingTalkUserId);
+                }
             }
             String reportCoordinateWork = workReport.getCoordinateWork();
             String reportTomorrowPlan = workReport.getTomorrowPlan();
             String coordinateWork1 = "-";
             String tomorrowPlan1 = "-";
+
             if (reportCoordinateWork != null && reportCoordinateWork != "") {
                 coordinateWork1 = reportCoordinateWork;
             }
@@ -224,12 +230,15 @@ public class DingTalkAndMessage {
             coordinateWork.setKey(dingTalkConstant.DING_TALK_DAILY_REPORT_COORDINATE_WORK);
             list3.add(coordinateWork);
             obj1.setContents(list3);
-            obj1.setToUserids(ccTo);
+            if (!ccTo.isEmpty()) {
+                obj1.setToUserids(ccTo);
+            }
             obj1.setTemplateId(dingTalkConstant.DING_TALK_DAILY_REPORT_TEMPLATE_ID);
             obj1.setToChat(dingTalkConstant.DING_TALK_DAILY_REPORT_TO_CHAT);
             obj1.setDdFrom(dingTalkConstant.DING_TALK_CORP_ID);
             obj1.setUserid(getDingTalkUserId(workReport.getSubmitterId()));
-            //obj1.setToCids(dingTalkConstant.DING_TALK_DAILY_REPORT_TO_CIDS);//发送到群,群id
+            // obj1.setToChat(true);
+            // obj1.setToCids(dingTalkConstant.DING_TALK_DAILY_REPORT_TO_CIDS);//发送到群,群id
             req.setCreateReportParam(obj1);
             OapiReportCreateResponse rsp = client.execute(req, getDingTalkToken());
             if (rsp.isSuccess()) {
@@ -242,6 +251,7 @@ public class DingTalkAndMessage {
         } catch (Exception e) {
             log.error("钉钉报告发送消息时发生异常", e);
         }
+
         log.info(userName + "的工作报告发送钉钉结束-----------------------------------");
     }
 

+ 56 - 26
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/PmWorkContentServiceImpl.java

@@ -65,6 +65,13 @@ public class PmWorkContentServiceImpl extends AbstractCrudService<PmWorkContentM
         baseMapper.delete(deleteWrapper);
     }
 
+    /**
+     * @description: 查询报告时间段
+     * @author: fu
+     * @date: 2024/8/7 17:48
+     * @param: [startDate, endDate]
+     * @return: java.util.List<java.lang.Integer>
+     **/
     private List<Integer> reportDateQuery(String startDate, String endDate) {
         Long deptId = SecurityUtils.getLoginUser().getSysUser().getDeptId();
         Integer tenantId = SecurityUtils.getTenantId();
@@ -103,13 +110,20 @@ public class PmWorkContentServiceImpl extends AbstractCrudService<PmWorkContentM
         return reportIds.stream().map(PmWorkReport::getId).collect(Collectors.toList());
     }
 
+    /**
+     * @description: 查询我发出的报告
+     * @author: fu
+     * @date: 2024/8/7 17:48
+     * @param: []
+     * @return: java.util.List<java.lang.Integer>
+     **/
     private List<Integer> sentOut() {
-        String username = SecurityUtils.getUsername();
+        Long usernid = SecurityUtils.getUserId();
         Integer tenantId = SecurityUtils.getTenantId();
         LambdaQueryWrapper<PmWorkReport> reportQuery = Wrappers.lambdaQuery();
         reportQuery.select(PmWorkReport::getId)
                 .eq(PmWorkReport::getTenantId, tenantId)
-                .eq(PmWorkReport::getCreateBy, username);
+                .eq(PmWorkReport::getSubmitterId, usernid);
         List<PmWorkReport> reportIds = pmWorkReportMapper.selectList(reportQuery);
         List<Integer> rIds = new ArrayList<>();
         for (PmWorkReport report : reportIds) {
@@ -140,6 +154,13 @@ public class PmWorkContentServiceImpl extends AbstractCrudService<PmWorkContentM
         return rIds;
     }
 
+    /**
+     * @description: 查询项目id
+     * @author: fu
+     * @date: 2024/8/7 17:14
+     * @param: []
+     * @return: java.util.List<java.lang.Integer>
+     **/
     private List<Integer> reportList(String projectName) {
         Integer tenantId = SecurityUtils.getTenantId();
         LambdaQueryWrapper<PmWorkContent> projectQuery = Wrappers.lambdaQuery();
@@ -154,6 +175,13 @@ public class PmWorkContentServiceImpl extends AbstractCrudService<PmWorkContentM
         return rIds;
     }
 
+    /**
+     * @description: 查询项目
+     * @author: fu
+     * @date: 2024/8/7 17:14
+     * @param: [projectIds]
+     * @return: java.util.List<com.usky.iot.domain.PmProject>
+     **/
     @Override
     public List<PmWorkContent> projectQuery(String startDate, String endDate, String projectName, Integer projectAscription, Integer reportId) {
         if (reportId != null && reportId != 0) {
@@ -164,22 +192,18 @@ public class PmWorkContentServiceImpl extends AbstractCrudService<PmWorkContentM
             List<PmWorkContent> pmWorkContentList = this.list(contentLambdaQuery);
             return pmWorkContentList;
         }
-        List<Integer> reportIds = reportDateQuery(startDate, endDate);
+        List<Integer> reportIds = new ArrayList<>();
+        if (StringUtils.isBlank(startDate) && StringUtils.isBlank(endDate)) {
+            reportIds = reportDateQuery(startDate, endDate);
+        }
         List<Integer> receiveList = receive();
         List<Integer> sentOutList = sentOut();
         List<Integer> headProjects = head();
-        // LocalDate start = LocalDate.parse(startDate);
-        // LocalDate end = LocalDate.parse(endDate);
-        // String subQueryReports = "SELECT id FROM pm_work_report WHERE report_date BETWEEN '" + start + "' AND '" + end + "' AND tenant_id = " + SecurityUtils.getTenantId();
-        // String subQueryReport = "SELECT id FROM pm_work_report WHERE FIND_IN_SET('" + SecurityUtils.getUserId() + "', cc_to) > 0 AND tenant_id = " + SecurityUtils.getTenantId();
-        // String sentOut = "SELECT id FROM pm_work_report WHERE create_by = '" + SecurityUtils.getUsername() + "' AND tenant_id = " + SecurityUtils.getTenantId();
-        // String subQueryProjects = "SELECT id FROM pm_project WHERE project_head = '" + SecurityUtils.getUserId() + "' AND tenant_id = " + SecurityUtils.getTenantId();
         LambdaQueryWrapper<PmWorkContent> contentLambdaQuery = Wrappers.lambdaQuery();
         contentLambdaQuery.select(PmWorkContent::getProjectId, PmWorkContent::getProjectName);
         if (!reportIds.isEmpty()) {
             contentLambdaQuery.in(PmWorkContent::getReportId, reportIds);
         }
-        //.inSql(PmWorkContent::getReportId, subQueryReports);
         if (StringUtils.isNotBlank(projectName)) {
             contentLambdaQuery.like(PmWorkContent::getProjectName, projectName);
         }
@@ -188,15 +212,12 @@ public class PmWorkContentServiceImpl extends AbstractCrudService<PmWorkContentM
                 return new ArrayList<PmWorkContent>();
             }
             contentLambdaQuery.in(PmWorkContent::getProjectId, headProjects);
-            // contentLambdaQuery.inSql(PmWorkContent::getProjectId, subQueryProjects);
         } else if (projectAscription == 2) {
-            // contentLambdaQuery.inSql(PmWorkContent::getReportId, subQueryReport);
             if (receiveList.isEmpty()) {
                 return new ArrayList<PmWorkContent>();
             }
             contentLambdaQuery.in(PmWorkContent::getReportId, receiveList);
         } else if (projectAscription == 3) {
-            // contentLambdaQuery.in(PmWorkContent::getReportId, sentOutList);
             if (sentOutList.isEmpty()) {
                 return new ArrayList<PmWorkContent>();
             }
@@ -231,11 +252,6 @@ public class PmWorkContentServiceImpl extends AbstractCrudService<PmWorkContentM
             List<Integer> receiveList2 = receive();
             List<Integer> sentOutList = sentOut();
             List<Integer> headProjects = head();
-            // String subQueryReports = "SELECT id FROM pm_work_report WHERE report_date BETWEEN '" + start + "' AND '" + end + "' AND tenant_id = " + SecurityUtils.getTenantId();
-            // String subQueryReport = "SELECT id FROM pm_work_report WHERE FIND_IN_SET('" + SecurityUtils.getUserId() + "', cc_to) > 0 AND tenant_id = " + SecurityUtils.getTenantId();
-            // String subQueryProjects = "SELECT id FROM pm_project WHERE project_head = '" + SecurityUtils.getUserId() + "' AND tenant_id = " + SecurityUtils.getTenantId();
-            // String sentOut = "SELECT id FROM pm_work_report WHERE create_by = '" + SecurityUtils.getUsername() + "' AND tenant_id = " + SecurityUtils.getTenantId();
-            // String reportIdList = "SELECT report_id FROM pm_work_content WHERE project_name = '" + projectName + "' AND tenant_id = " + SecurityUtils.getTenantId();
             LambdaQueryWrapper<PmWorkContent> contentLambdaQuery = Wrappers.lambdaQuery();
             contentLambdaQuery.select(PmWorkContent::getReportId, PmWorkContent::getWorkContent, PmWorkContent::getWorkTime, PmWorkContent::getProjectName);
             if (StringUtils.isNotBlank(startDate) && StringUtils.isNotBlank(endDate)) {
@@ -247,18 +263,12 @@ public class PmWorkContentServiceImpl extends AbstractCrudService<PmWorkContentM
                 contentLambdaQuery.between(PmWorkContent::getCreateTime, startDateTime, endDateTime);
             }
             if (projectAscription == 1) {
-                //.inSql(PmWorkContent::getReportId, subQueryReports);
                 contentLambdaQuery.in(PmWorkContent::getProjectId, headProjects);
             } else if (projectAscription == 2) {
-                // contentLambdaQuery.inSql(PmWorkContent::getReportId, subQueryReport);
                 contentLambdaQuery.in(PmWorkContent::getReportId, receiveList2);
             } else if (projectAscription == 3) {
-                // contentLambdaQuery.inSql(PmWorkContent::getReportId, sentOut);
                 contentLambdaQuery.in(PmWorkContent::getReportId, sentOutList);
             }
-//            if (StringUtils.isNotBlank(projectName)) {
-//                contentLambdaQuery.inSql(PmWorkContent::getReportId, reportIdList);
-//            }
             if (StringUtils.isNotBlank(projectName)) {
                 List<Integer> list = reportList(projectName);
                 contentLambdaQuery.in(PmWorkContent::getReportId, list);
@@ -427,12 +437,14 @@ public class PmWorkContentServiceImpl extends AbstractCrudService<PmWorkContentM
             reportQuery.in(PmWorkReport::getId, reportIds)
                     .orderByDesc(PmWorkReport::getCreateTime);
         }
+        reportQuery.eq(PmWorkReport::getReportStatus, 1);
         IPage<PmWorkReport> reportPage = pmWorkReportMapper.selectPage(new Page<>(pageNum, pageSize), reportQuery);
         if (reportPage.getRecords() == null || reportPage.getRecords().isEmpty()) {
             return returnPage;
         }
         List<PmWorkReport> reportList = reportPage.getRecords();
 
+
         LambdaQueryWrapper<PmReceive> statusQuery = Wrappers.lambdaQuery();
         statusQuery.select(PmReceive::getReportId, PmReceive::getReadFlag)
                 .eq(PmReceive::getReceiverId, userId)
@@ -443,7 +455,7 @@ public class PmWorkContentServiceImpl extends AbstractCrudService<PmWorkContentM
             statusQuery.in(PmReceive::getReportId, reportIds);
         }
         List<PmReceive> receiveList = pmReceiveMapper.selectList(statusQuery);
-        Map<Integer, Integer> reportReadFlags = receiveList.stream()
+/*        Map<Integer, Integer> reportReadFlags = receiveList.stream()
                 .collect(Collectors.toMap(PmReceive::getReportId, PmReceive::getReadFlag));
         reportList.forEach(report -> {
             List<PmWorkContent> contents = pmWorkContentList.stream()
@@ -454,7 +466,25 @@ public class PmWorkContentServiceImpl extends AbstractCrudService<PmWorkContentM
             if (reportReadFlags.containsKey(report.getId())) {
                 report.setReadFlag(reportReadFlags.get(report.getId()));
             }
-        });
+        });*/
+
+
+        Map<Integer, Integer> reportReadFlags = new HashMap<>();
+
+        for (PmReceive pmReceive : receiveList) {
+            Integer reportId2 = pmReceive.getReportId();
+            reportReadFlags.put(reportId2, pmReceive.getReadFlag());
+        }
+
+        for (PmWorkReport report : reportList) {
+            List<PmWorkContent> contents = pmWorkContentList.stream()
+                    .filter(content -> content.getReportId().equals(report.getId()))
+                    .collect(Collectors.toList());
+            report.setWorkContents(contents);
+            userIds.add(report.getSubmitterId());
+
+            report.setReadFlag(reportReadFlags.getOrDefault(report.getId(), 0));
+        }
 
         if (!userIds.isEmpty()) {
             List<SysUser> nickNames = nickNames(userIds);

+ 9 - 5
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/PmWorkReportServiceImpl.java

@@ -298,10 +298,11 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
             }
 
             // 抄送人不为空、非定时发送
-            if (StringUtils.isNotEmpty(ccTo) && timingTime == null) {
-                // 推送消息中心
-                dingTalkAndMessage.sendAsyncMessage(newReport);
-
+            if (timingTime == null) {
+                if (StringUtils.isNotEmpty(ccTo)) {
+                    // 推送消息中心
+                    dingTalkAndMessage.sendAsyncMessage(newReport);
+                }
                 // 是否同步钉钉
                 if (pmWorkReport.getSendDingTalk().equals(1)) {
                     dingTalkAndMessage.sendDingTalkDailyReport(newReport, pmWorkContents);
@@ -359,7 +360,7 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
                 pmWorkContentMapper.insert(e);
                 contentsList.add(e);
             }
-            if (pmWorkReport.getSendDingTalk() ==1 && pmWorkReport.getTimingTime() != null && pmWorkReport.getIsRegularlySend() == 1) {
+            if (pmWorkReport.getSendDingTalk().equals(1) && pmWorkReport.getIsRegularlySend() == 0) {
                 dingTalkAndMessage.sendDingTalkDailyReport(rp, contentsList);
             }
             if (pmWorkReport.getIsRegularlySend() == 0){
@@ -372,6 +373,9 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
     }
 
     private void receiveMessages(String ids, Integer reportId) {
+        if (StringUtils.isBlank(ids)){
+            return;
+        }
         List<Long> longList = Arrays.stream(ids.split(","))
                 .map(Long::parseLong)
                 .collect(Collectors.toList());

+ 76 - 65
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/service/impl/MeetingInfoServiceImpl.java

@@ -306,9 +306,10 @@ public class MeetingInfoServiceImpl extends AbstractCrudService<MeetingInfoMappe
     @Override
     public CommonPage<MeetingInfo> meetingInfoList(MeetingInfoRequestVO requestVO){
         Page<MeetingInfo> page = new Page<>(requestVO.getCurrent(),requestVO.getSize());
+        LambdaQueryWrapper<MeetingInfo> queryWrapper = Wrappers.lambdaQuery();
 
-        List<String> initiatorIdList = new ArrayList<>();
         if(StringUtils.isNotBlank(requestVO.getName())){
+            List<String> initiatorIdList = new ArrayList<>();
             LambdaQueryWrapper<SysUser> sysUserQuery = Wrappers.lambdaQuery();
             sysUserQuery.like(SysUser::getNickName,requestVO.getName())
                         .eq(SysUser::getTenantId,SecurityUtils.getTenantId());
@@ -318,86 +319,96 @@ public class MeetingInfoServiceImpl extends AbstractCrudService<MeetingInfoMappe
                     initiatorIdList.add(userList.get(i).getUserId().toString());
                 }
             }
-        }
-        if(CollectionUtils.isNotEmpty(initiatorIdList)){
-            LambdaQueryWrapper<MeetingInfo> queryWrapper = Wrappers.lambdaQuery();
-            queryWrapper.like(StringUtils.isNotBlank(requestVO.getRoomName()),MeetingInfo::getRoomName,requestVO.getRoomName())
-                    .in(CollectionUtils.isNotEmpty(initiatorIdList),MeetingInfo::getInitiatorId,initiatorIdList)
-                    .eq(null != requestVO.getMeetingStatus(),MeetingInfo::getMeetingStatus,requestVO.getMeetingStatus())
-                    .eq(null != requestVO.getApproveStatus(),MeetingInfo::getApproveStatus,requestVO.getApproveStatus())
-                    .between(StringUtils.isNotBlank(requestVO.getStartDate()) && StringUtils.isNotBlank(requestVO.getEndDate()),MeetingInfo::getStartDate,requestVO.getStartDate(),requestVO.getEndDate())
-                    .between(StringUtils.isNotBlank(requestVO.getStartDate()) && StringUtils.isNotBlank(requestVO.getEndDate()),MeetingInfo::getEndDate,requestVO.getStartDate(),requestVO.getEndDate())
-                    .eq(MeetingInfo::getTenantId,SecurityUtils.getTenantId())
+
+            if(CollectionUtils.isNotEmpty(initiatorIdList)) {
+                queryWrapper.like(StringUtils.isNotBlank(requestVO.getRoomName()), MeetingInfo::getRoomName, requestVO.getRoomName())
+                        .in(CollectionUtils.isNotEmpty(initiatorIdList), MeetingInfo::getInitiatorId, initiatorIdList)
+                        .eq(null != requestVO.getMeetingStatus(), MeetingInfo::getMeetingStatus, requestVO.getMeetingStatus())
+                        .eq(null != requestVO.getApproveStatus(), MeetingInfo::getApproveStatus, requestVO.getApproveStatus())
+                        .between(StringUtils.isNotBlank(requestVO.getStartDate()) && StringUtils.isNotBlank(requestVO.getEndDate()), MeetingInfo::getStartDate, requestVO.getStartDate(), requestVO.getEndDate())
+                        .between(StringUtils.isNotBlank(requestVO.getStartDate()) && StringUtils.isNotBlank(requestVO.getEndDate()), MeetingInfo::getEndDate, requestVO.getStartDate(), requestVO.getEndDate())
+                        .eq(MeetingInfo::getTenantId, SecurityUtils.getTenantId())
+                        .orderByDesc(MeetingInfo::getMeetingId);
+            }
+        }else{
+            queryWrapper.like(StringUtils.isNotBlank(requestVO.getRoomName()), MeetingInfo::getRoomName, requestVO.getRoomName())
+                    .eq(null != requestVO.getMeetingStatus(), MeetingInfo::getMeetingStatus, requestVO.getMeetingStatus())
+                    .eq(null != requestVO.getApproveStatus(), MeetingInfo::getApproveStatus, requestVO.getApproveStatus())
+                    .between(StringUtils.isNotBlank(requestVO.getStartDate()) && StringUtils.isNotBlank(requestVO.getEndDate()), MeetingInfo::getStartDate, requestVO.getStartDate(), requestVO.getEndDate())
+                    .between(StringUtils.isNotBlank(requestVO.getStartDate()) && StringUtils.isNotBlank(requestVO.getEndDate()), MeetingInfo::getEndDate, requestVO.getStartDate(), requestVO.getEndDate())
+                    .eq(MeetingInfo::getTenantId, SecurityUtils.getTenantId())
                     .orderByDesc(MeetingInfo::getMeetingId);
-            page = this.page(page,queryWrapper);
-            if(page.getRecords().size() > 0){
-                List<Long> roomIdList = new ArrayList<>();
-                List<Long> initIdList = new ArrayList<>();
-                for (int i = 0; i < page.getRecords().size(); i++) {
-                    if(!roomIdList.contains(page.getRecords().get(i).getRoomId())){
-                        roomIdList.add(page.getRecords().get(i).getRoomId());
-                    }
-                    if(!initIdList.contains(page.getRecords().get(i).getInitiatorId())){
-                        initIdList.add(Long.valueOf(page.getRecords().get(i).getInitiatorId()));
-                    }
+        }
+
+        page = this.page(page,queryWrapper);
+        if(page.getRecords().size() > 0){
+            List<Long> roomIdList = new ArrayList<>();
+            List<Long> initIdList = new ArrayList<>();
+            for (int i = 0; i < page.getRecords().size(); i++) {
+                if(!roomIdList.contains(page.getRecords().get(i).getRoomId())){
+                    roomIdList.add(page.getRecords().get(i).getRoomId());
                 }
-                //房间以及对应楼层信息
-                if(roomIdList.size() > 0){
-                    LambdaQueryWrapper<MeetingRoom> meetingRoomQuery = Wrappers.lambdaQuery();
-                    meetingRoomQuery.in(MeetingRoom::getRoomId,roomIdList)
-                            .eq(MeetingRoom::getTenantId,SecurityUtils.getTenantId())
-                            .eq(MeetingRoom::getStatus,0);
-                    List<MeetingRoom> meetingRoomList = meetingRoomMapper.selectList(meetingRoomQuery);
-
-                    List<Long> floorIdList = new ArrayList<>();
-                    if(meetingRoomList.size() > 0){
-                        for (int i = 0; i < meetingRoomList.size(); i++) {
-                            if(!floorIdList.contains(meetingRoomList.get(i).getFloorId())){
-                                floorIdList.add(meetingRoomList.get(i).getFloorId());
-                            }
+                if(!initIdList.contains(page.getRecords().get(i).getInitiatorId())){
+                    initIdList.add(Long.valueOf(page.getRecords().get(i).getInitiatorId()));
+                }
+            }
+            //房间以及对应楼层信息
+            if(roomIdList.size() > 0){
+                LambdaQueryWrapper<MeetingRoom> meetingRoomQuery = Wrappers.lambdaQuery();
+                meetingRoomQuery.in(MeetingRoom::getRoomId,roomIdList)
+                        .eq(MeetingRoom::getTenantId,SecurityUtils.getTenantId())
+                        .eq(MeetingRoom::getStatus,0);
+                List<MeetingRoom> meetingRoomList = meetingRoomMapper.selectList(meetingRoomQuery);
+
+                List<Long> floorIdList = new ArrayList<>();
+                if(meetingRoomList.size() > 0){
+                    for (int i = 0; i < meetingRoomList.size(); i++) {
+                        if(!floorIdList.contains(meetingRoomList.get(i).getFloorId())){
+                            floorIdList.add(meetingRoomList.get(i).getFloorId());
                         }
-                        LambdaQueryWrapper<MeetingFloor> floorWrapper = Wrappers.lambdaQuery();
-                        floorWrapper.in(MeetingFloor::getFloorId,floorIdList)
-                                .eq(MeetingFloor::getTenantId,SecurityUtils.getTenantId());
-                        List<MeetingFloor> meetingFloorList = meetingFloorMapper.selectList(floorWrapper);
-                        for (int i = 0; i < page.getRecords().size(); i++) {
-                            for (int j = 0; j < meetingRoomList.size(); j++) {
-                                if(page.getRecords().get(i).getRoomId().equals(meetingRoomList.get(j).getRoomId())){
-                                    page.getRecords().get(i).setRoomInfo(meetingRoomList.get(j));
-                                    break;
-                                }
+                    }
+                    LambdaQueryWrapper<MeetingFloor> floorWrapper = Wrappers.lambdaQuery();
+                    floorWrapper.in(MeetingFloor::getFloorId,floorIdList)
+                            .eq(MeetingFloor::getTenantId,SecurityUtils.getTenantId());
+                    List<MeetingFloor> meetingFloorList = meetingFloorMapper.selectList(floorWrapper);
+                    for (int i = 0; i < page.getRecords().size(); i++) {
+                        for (int j = 0; j < meetingRoomList.size(); j++) {
+                            if(page.getRecords().get(i).getRoomId().equals(meetingRoomList.get(j).getRoomId())){
+                                page.getRecords().get(i).setRoomInfo(meetingRoomList.get(j));
+                                break;
                             }
-                            for (int j = 0; j < meetingFloorList.size(); j++) {
-                                if(page.getRecords().get(i).getRoomInfo().getFloorId().equals(meetingFloorList.get(j).getFloorId())){
-                                    page.getRecords().get(i).getRoomInfo().setMeetingFloor(meetingFloorList.get(j));
-                                    break;
-                                }
+                        }
+                        for (int j = 0; j < meetingFloorList.size(); j++) {
+                            if(page.getRecords().get(i).getRoomInfo().getFloorId().equals(meetingFloorList.get(j).getFloorId())){
+                                page.getRecords().get(i).getRoomInfo().setMeetingFloor(meetingFloorList.get(j));
+                                break;
                             }
                         }
                     }
                 }
-                //发起人信息
-                if(initIdList.size() > 0){
-                    LambdaQueryWrapper<SysUser> initIdQuery = Wrappers.lambdaQuery();
-                    initIdQuery.in(SysUser::getUserId,initIdList)
-                            .eq(SysUser::getTenantId,SecurityUtils.getTenantId());
-                    List<SysUser> userList = sysUserService.list(initIdQuery);
-                    if(userList.size() > 0){
-                        for (int i = 0; i < page.getRecords().size(); i++) {
-                            for (int j = 0; j < userList.size(); j++) {
-                                if(page.getRecords().get(i).getInitiatorId().equals(userList.get(j).getUserId().toString())){
-                                    page.getRecords().get(i).setInitiatorUser(userList.get(j));
-                                    break;
-                                }
+            }
+            //发起人信息
+            if(initIdList.size() > 0){
+                LambdaQueryWrapper<SysUser> initIdQuery = Wrappers.lambdaQuery();
+                initIdQuery.in(SysUser::getUserId,initIdList)
+                        .eq(SysUser::getTenantId,SecurityUtils.getTenantId());
+                List<SysUser> userList = sysUserService.list(initIdQuery);
+                if(userList.size() > 0){
+                    for (int i = 0; i < page.getRecords().size(); i++) {
+                        for (int j = 0; j < userList.size(); j++) {
+                            if(page.getRecords().get(i).getInitiatorId().equals(userList.get(j).getUserId().toString())){
+                                page.getRecords().get(i).setInitiatorUser(userList.get(j));
+                                break;
                             }
                         }
                     }
                 }
+            }
 
 
-            }
         }
 
+
         return new CommonPage<>(page.getRecords(),page.getTotal(),requestVO.getSize(),requestVO.getCurrent());
     }
 

+ 35 - 28
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/service/impl/MeetingRoomServiceImpl.java

@@ -82,9 +82,10 @@ public class MeetingRoomServiceImpl extends AbstractCrudService<MeetingRoomMappe
     @Override
     public CommonPage<MeetingRoom> dmMeetingRoomList(MeetingRoomRequestVO requestVO) {
         IPage<MeetingRoom> page = new Page<>(requestVO.getCurrent(), requestVO.getSize());
+        LambdaQueryWrapper<MeetingRoom> queryWrapper = Wrappers.lambdaQuery();
 
-        String floorId = null;
         if (StringUtils.isNotBlank(requestVO.getFloorName())) {
+            String floorId = null;
             QueryWrapper<MeetingFloor> query = Wrappers.query();
             query.select("floor_id").eq("floor_name", requestVO.getFloorName())
                     .eq("tenant_id", SecurityUtils.getTenantId());
@@ -92,40 +93,46 @@ public class MeetingRoomServiceImpl extends AbstractCrudService<MeetingRoomMappe
             if (CollectionUtils.isNotEmpty(map)) {
                 floorId = map.get(0).get("floor_id").toString();
             }
-        }
 
-        if(StringUtils.isNotBlank(floorId)){
-            LambdaQueryWrapper<MeetingRoom> queryWrapper = Wrappers.lambdaQuery();
+            if(StringUtils.isNotBlank(floorId)){
+                queryWrapper.like(StringUtils.isNotBlank(requestVO.getRoomName()), MeetingRoom::getRoomName, requestVO.getRoomName())
+                        .eq(StringUtils.isNotBlank(floorId), MeetingRoom::getFloorId, floorId)
+                        .eq(null != requestVO.getStatus(), MeetingRoom::getStatus, requestVO.getStatus())
+                        .eq(null != requestVO.getRoomStatus(), MeetingRoom::getRoomStatus, requestVO.getRoomStatus())
+                        .eq(MeetingRoom::getTenantId, SecurityUtils.getTenantId())
+                        .orderByDesc(MeetingRoom::getRoomId);
+
+            }
+        }else{
             queryWrapper.like(StringUtils.isNotBlank(requestVO.getRoomName()), MeetingRoom::getRoomName, requestVO.getRoomName())
-                    .eq(StringUtils.isNotBlank(floorId), MeetingRoom::getFloorId, floorId)
                     .eq(null != requestVO.getStatus(), MeetingRoom::getStatus, requestVO.getStatus())
                     .eq(null != requestVO.getRoomStatus(), MeetingRoom::getRoomStatus, requestVO.getRoomStatus())
                     .eq(MeetingRoom::getTenantId, SecurityUtils.getTenantId())
                     .orderByDesc(MeetingRoom::getRoomId);
-            page = this.page(page, queryWrapper);
-            if (CollectionUtils.isNotEmpty(page.getRecords())) {
-                //查询楼层信息和本地存储信息
-                List<Long> floorIdList = new ArrayList<>();
-                for (int i = 0; i < page.getRecords().size(); i++) {
-                    Long floorId1 = page.getRecords().get(i).getFloorId();
-                    if (!floorIdList.contains(floorId1)) {
-                        floorIdList.add(floorId1);
-                    }
+        }
+        page = this.page(page, queryWrapper);
+        if (CollectionUtils.isNotEmpty(page.getRecords())) {
+            //查询楼层信息和本地存储信息
+            List<Long> floorIdList = new ArrayList<>();
+            for (int i = 0; i < page.getRecords().size(); i++) {
+                Long floorId1 = page.getRecords().get(i).getFloorId();
+                if (!floorIdList.contains(floorId1)) {
+                    floorIdList.add(floorId1);
                 }
-                LambdaQueryWrapper<MeetingFloor> floorQuery = Wrappers.lambdaQuery();
-                floorQuery.in(CollectionUtils.isNotEmpty(floorIdList), MeetingFloor::getFloorId, floorIdList)
-                        .eq(MeetingFloor::getTenantId, SecurityUtils.getTenantId());
-                List<MeetingFloor> floorList = dmFloorService.list(floorQuery);
-
-                //会议室匹配对应楼层信息和本地存储信息
-                for (int i = 0; i < page.getRecords().size(); i++) {
-                    if (CollectionUtils.isNotEmpty(floorList)) {
-                        Long frId = Long.valueOf(page.getRecords().get(i).getFloorId());
-                        for (int j = 0; j < floorList.size(); j++) {
-                            if (frId.equals(floorList.get(j).getFloorId())) {
-                                page.getRecords().get(i).setMeetingFloor(floorList.get(j));
-                                break;
-                            }
+            }
+            LambdaQueryWrapper<MeetingFloor> floorQuery = Wrappers.lambdaQuery();
+            floorQuery.in(CollectionUtils.isNotEmpty(floorIdList), MeetingFloor::getFloorId, floorIdList)
+                    .eq(MeetingFloor::getTenantId, SecurityUtils.getTenantId());
+            List<MeetingFloor> floorList = dmFloorService.list(floorQuery);
+
+            //会议室匹配对应楼层信息和本地存储信息
+            for (int i = 0; i < page.getRecords().size(); i++) {
+                if (CollectionUtils.isNotEmpty(floorList)) {
+                    Long frId = Long.valueOf(page.getRecords().get(i).getFloorId());
+                    for (int j = 0; j < floorList.size(); j++) {
+                        if (frId.equals(floorList.get(j).getFloorId())) {
+                            page.getRecords().get(i).setMeetingFloor(floorList.get(j));
+                            break;
                         }
                     }
                 }