Prechádzať zdrojové kódy

项目列表数据筛选不正确修复,添加、编辑项目问题修复

fuyuhchuan 11 mesiacov pred
rodič
commit
bd97c133b3

+ 1 - 1
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/PmProjectController.java

@@ -66,7 +66,7 @@ public class PmProjectController {
     }
 
     /**
-     * 新增项目
+     * 新增、编辑项目
      * @param pmProject
      */
     @PostMapping("/add")

+ 26 - 12
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/PmProjectServiceImpl.java

@@ -18,10 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.time.LocalDateTime;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * <p>
@@ -39,8 +36,8 @@ public class PmProjectServiceImpl extends AbstractCrudService<PmProjectMapper, P
 
     @Override
     public void addProject(PmProject project) {
-        if (project.getProjectWorkload() == null){
-            if (project.getId() == null) {
+        if (Objects.isNull(project.getProjectWorkload())) {
+            if (Objects.isNull(project.getId())) {
                 project.setCreateBy(SecurityUtils.getUsername());
                 project.setCreateTime(LocalDateTime.now());
                 project.setTenantId(SecurityUtils.getTenantId());
@@ -51,11 +48,23 @@ public class PmProjectServiceImpl extends AbstractCrudService<PmProjectMapper, P
                 project.setUpdateTime(LocalDateTime.now());
                 this.updateById(project);
             }
-        }else {
+        } else {
             if (project.getProjectWorkload().scale() > 2) {
                 throw new BusinessException("计划人/天小数位超出长度请重新输入");
             } else if (project.getProjectWorkload().precision() - project.getProjectWorkload().scale() > 4) {
                 throw new BusinessException("计划人/天整数位超出长度请重新输入");
+            } else {
+                if (Objects.isNull(project.getId())) {
+                    project.setCreateBy(SecurityUtils.getUsername());
+                    project.setCreateTime(LocalDateTime.now());
+                    project.setTenantId(SecurityUtils.getTenantId());
+                    project.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId());
+                    this.save(project);
+                } else {
+                    project.setUpdateBy(SecurityUtils.getUsername());
+                    project.setUpdateTime(LocalDateTime.now());
+                    this.updateById(project);
+                }
             }
         }
     }
@@ -92,8 +101,7 @@ public class PmProjectServiceImpl extends AbstractCrudService<PmProjectMapper, P
                 .eq(PmProject::getDelFlag, 0)
                 .and(qw -> qw
                         .eq(PmProject::getProjectHead, SecurityUtils.getUserId())
-                        .or()
-                        .apply("FIND_IN_SET('" + SecurityUtils.getUserId() + "', project_member) > 0")
+                        .or().apply("FIND_IN_SET('" + SecurityUtils.getUserId() + "', project_member) > 0")
                 )
                 .in(PmProject::getProjectStatus, 1, 2, 3);
         List<PmProject> list = this.list(wrapper);
@@ -118,10 +126,13 @@ public class PmProjectServiceImpl extends AbstractCrudService<PmProjectMapper, P
         lambdaQuery.eq(PmProject::getTenantId, SecurityUtils.getTenantId())
                 .eq(PmProject::getDelFlag, 0)
                 .orderByDesc(PmProject::getCreateTime);
-        if (projectAscription == 1) {
+        if (projectAscription == 0) {
+            lambdaQuery.and(q -> q.eq(PmProject::getProjectHead, SecurityUtils.getUserId())
+                            .or().apply("FIND_IN_SET('" + SecurityUtils.getUserId() + "', project_member) > 0")
+                            .or().eq(PmProject::getCreateBy, SecurityUtils.getUsername()));
+        } else if (projectAscription == 1) {
             lambdaQuery.eq(PmProject::getProjectHead, SecurityUtils.getUserId());
-        }
-        if (projectAscription == 2) {
+        } else if (projectAscription == 2) {
             lambdaQuery.apply("FIND_IN_SET('" + SecurityUtils.getUserId() + "', project_member) > 0");
         }
         if (!projectName.isEmpty()) {
@@ -163,6 +174,9 @@ public class PmProjectServiceImpl extends AbstractCrudService<PmProjectMapper, P
     public Map<String, Integer> sum() {
         LambdaQueryWrapper<PmProject> lambdaQuery = Wrappers.lambdaQuery();
         lambdaQuery.eq(PmProject::getTenantId, SecurityUtils.getTenantId())
+                .and(q -> q.eq(PmProject::getProjectHead, SecurityUtils.getUserId())
+                        .or().apply("FIND_IN_SET('" + SecurityUtils.getUserId() + "', project_member) > 0")
+                .or().eq(PmProject::getCreateBy, SecurityUtils.getUsername()))
                 .eq(PmProject::getDelFlag, 0);
         Integer all = this.count(lambdaQuery);