Browse Source

修复定时日报修改问题,修复私有项目不显示问题

fuyuchuan 5 months ago
parent
commit
f1da632601

+ 35 - 22
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/PmProjectServiceImpl.java

@@ -212,6 +212,7 @@ public class PmProjectServiceImpl extends AbstractCrudService<PmProjectMapper, P
         String username = SecurityUtils.getUsername();
         String nickName = SecurityUtils.getLoginUser().getSysUser().getNickName();
         Integer tenantId = SecurityUtils.getTenantId();
+
         LambdaQueryWrapper<PmProject> lambdaQuery = Wrappers.lambdaQuery();
         lambdaQuery.eq(PmProject::getTenantId, SecurityUtils.getTenantId()).eq(PmProject::getDelFlag, 0)
                 .eq(visibleRange != null, PmProject::getVisibleRange, visibleRange);
@@ -225,9 +226,17 @@ public class PmProjectServiceImpl extends AbstractCrudService<PmProjectMapper, P
                 if (visibleRange != null && visibleRange == 1) {
                     break;
                 }
-                lambdaQuery.and(q -> q.eq(PmProject::getProjectHead, userId)
-                        .or().apply("FIND_IN_SET('" + SecurityUtils.getUserId() + "', project_member) > 0")
-                        .or().eq(PmProject::getCreateBy, username));
+                lambdaQuery.and(wrapper -> wrapper
+                                .eq(PmProject::getVisibleRange, 2)
+                                .or()
+                                .eq(PmProject::getProjectHead, userId)
+                                .or()
+                                .apply("FIND_IN_SET('" + userId + "', project_member) > 0")
+                                .or()
+                                .eq(PmProject::getCreateBy, username)
+                        )
+                        .or()
+                        .eq(PmProject::getVisibleRange, 1);
                 break;
             case 1:
                 lambdaQuery.eq(PmProject::getProjectHead, userId);
@@ -238,15 +247,9 @@ public class PmProjectServiceImpl extends AbstractCrudService<PmProjectMapper, P
             default:
                 throw new BusinessException("查询项目列表参数错误");
         }
-        if (StringUtils.isNotBlank(projectName)) {
-            lambdaQuery.like(PmProject::getProjectName, projectName);
-        }
-        if (projectType != 0) {
-            lambdaQuery.eq(PmProject::getProjectType, projectType);
-        }
-        if (projectStatus != 0) {
-            lambdaQuery.eq(PmProject::getProjectStatus, projectStatus);
-        }
+        lambdaQuery.like(projectName != null, PmProject::getProjectName, projectName);
+        lambdaQuery.eq(projectType != null, PmProject::getProjectType, projectType);
+        lambdaQuery.eq(projectStatus != null, PmProject::getProjectStatus, projectStatus);
         lambdaQuery.orderByDesc(PmProject::getCreateTime);
         List<PmProject> pmProjects = pmProjectMapper.selectList(lambdaQuery);
         if (pmProjects.isEmpty()) {
@@ -309,25 +312,35 @@ public class PmProjectServiceImpl extends AbstractCrudService<PmProjectMapper, P
      */
     @Override
     public Map<String, Integer> sum() {
+        Integer tenantId = SecurityUtils.getTenantId();
+        Long userId = SecurityUtils.getUserId();
+
         LambdaQueryWrapper<PmProject> lambdaQuery = Wrappers.lambdaQuery();
-        lambdaQuery.eq(PmProject::getTenantId, SecurityUtils.getTenantId())
-                .and(q -> q.eq(PmProject::getProjectHead, SecurityUtils.getUserId())
-                        .or().eq(PmProject::getVisibleRange, 1)
-                        .or().apply("FIND_IN_SET('" + SecurityUtils.getUserId() + "', project_member) > 0")
-                        .or().eq(PmProject::getCreateBy, SecurityUtils.getUsername()))
+        lambdaQuery.eq(PmProject::getTenantId, tenantId)
+                .eq(PmProject::getDelFlag, 0)
+                .eq(PmProject::getVisibleRange, 2)
+                .and(q -> q.or().eq(PmProject::getProjectHead, userId)
+                        .or().apply("FIND_IN_SET('" + userId + "', project_member) > 0")
+                        .or().eq(PmProject::getCreateBy, SecurityUtils.getUsername()));
+        Integer allA = this.count(lambdaQuery);
+
+        LambdaQueryWrapper<PmProject> lambdaQuery3 = Wrappers.lambdaQuery();
+        lambdaQuery3.eq(PmProject::getTenantId, tenantId)
+                .eq(PmProject::getVisibleRange, 1)
                 .eq(PmProject::getDelFlag, 0);
-        Integer all = this.count(lambdaQuery);
+        Integer allB = this.count(lambdaQuery3);
+        int all = allA + allB;
 
         LambdaQueryWrapper<PmProject> lambdaQuery1 = Wrappers.lambdaQuery();
-        lambdaQuery1.eq(PmProject::getTenantId, SecurityUtils.getTenantId())
+        lambdaQuery1.eq(PmProject::getTenantId, tenantId)
                 .eq(PmProject::getDelFlag, 0)
-                .eq(PmProject::getProjectHead, SecurityUtils.getUserId());
+                .eq(PmProject::getProjectHead, userId);
         Integer head = this.count(lambdaQuery1);
 
         LambdaQueryWrapper<PmProject> lambdaQuery2 = Wrappers.lambdaQuery();
-        lambdaQuery2.eq(PmProject::getTenantId, SecurityUtils.getTenantId())
+        lambdaQuery2.eq(PmProject::getTenantId, tenantId)
                 .eq(PmProject::getDelFlag, 0)
-                .apply("FIND_IN_SET('" + SecurityUtils.getUserId() + "', project_member) > 0");
+                .apply("FIND_IN_SET('" + userId + "', project_member) > 0");
         Integer join = this.count(lambdaQuery2);
 
         Map<String, Integer> sumMap = new HashMap<>();

+ 10 - 8
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/PmWorkReportServiceImpl.java

@@ -336,6 +336,15 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
             }
         } else {
             PmWorkReport rp = new PmWorkReport();
+            if (pmWorkReport.getReportStatus().equals(0)) {
+                if (timingTime == null) {
+                    rp.setTimingTime(timingTime);
+                } else if (timingTime.isAfter(currentTimePlusMinutes)) {
+                    rp.setTimingTime(timingTime);
+                } else {
+                    throw new BusinessException("定时发送支持选中5分钟后的时间,请重新选择时间!");
+                }
+            }
             rp.setId(rid);
             // rp.setReportDate(pmWorkReport.getReportDate());
             rp.setSubmitterId(pmWorkReport.getSubmitterId());
@@ -355,13 +364,6 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
             rp.setIsRegularlySend(pmWorkReport.getIsRegularlySend());
             rp.setReportFile(pmWorkReport.getReportFile());
             rp.setReportImage(pmWorkReport.getReportImage());
-            if (timingTime == null) {
-                rp.setTimingTime(timingTime);
-            } else if (timingTime.isAfter(currentTimePlusMinutes)) {
-                rp.setTimingTime(timingTime);
-            } else {
-                throw new BusinessException("定时发送支持选中5分钟后的时间,请重新选择时间!");
-            }
             rp.setSendDingTalk(pmWorkReport.getSendDingTalk());
             pmWorkReportMapper.updateById(rp);
 
@@ -387,7 +389,7 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
             }
             if (pmWorkReport.getIsRegularlySend().equals(0)) {
                 rp.setTimingTime(null);
-                if (rp.getReportStatus() == null){
+                if (rp.getReportStatus() == null) {
                     dingTalkAndMessage.sendDingTalkDailyReport(rp, contents);
                 }
                 rp.setReportStatus(1);