Browse Source

外部单位文件管理调整

sangwenwei 2 months ago
parent
commit
09262c90f8

+ 61 - 67
src/main/java/com/jeeplus/modules/externalUnit/service/ExternalUnitProjectRecordsService.java

@@ -365,11 +365,9 @@ public class ExternalUnitProjectRecordsService extends CrudService<ExternalUnitP
             }
         }
         List<ExternalUnitWorkClientAttachment> result = new ArrayList<>();
-
-        if (isSgf){
-            //从人员文件关联表中找到当前项目下与当前登录人有关的信息
-            List<ExternalUnitUserFile> userFiles = externalUnitUserFileDao.getByUserIdAndProId(user.getId(),projectRecords.getId());
-
+        //从人员文件关联表中找到当前项目下与当前登录人有关的信息
+        List<ExternalUnitUserFile> userFiles = externalUnitUserFileDao.getByUserIdAndProId(user.getId(),projectRecords.getId());
+        if (CollectionUtils.isNotEmpty(userFiles)){
             // 遍历 userFiles 列表
             for (ExternalUnitUserFile userFile : userFiles) {
                 String fileId = userFile.getFileId(); // 获取fileId
@@ -381,10 +379,14 @@ public class ExternalUnitProjectRecordsService extends CrudService<ExternalUnitP
                     }
                 }
             }
-        }else {
-            result.addAll(attachmentList);
         }
 
+//        if (isSgf){
+//
+//        }else {
+//            result.addAll(attachmentList);
+//        }
+
         //获取项目下审核未完成的提资需求信息
         List<ExternalUnitCapitalDemand> capitalDemandList = capitalDemandDao.findByProjectId(projectRecords.getId());
         ArrayList<String> ids = new ArrayList<>();
@@ -393,17 +395,20 @@ public class ExternalUnitProjectRecordsService extends CrudService<ExternalUnitP
                 ids.add(capitalDemand.getId());
             }
         }
-        //把查询出来的文件信息中包含这些id的文件给去除掉
-        for (Iterator<ExternalUnitWorkClientAttachment> iterator = result.iterator(); iterator.hasNext(); ) {
-            ExternalUnitWorkClientAttachment attachment = iterator.next();
-            if (ids.contains(attachment.getAttachmentId())) {
-                iterator.remove();  // 删除符合条件的文件
+        if (CollectionUtils.isNotEmpty(result)){
+            //把查询出来的文件信息中包含这些id的文件给去除掉
+            for (Iterator<ExternalUnitWorkClientAttachment> iterator = result.iterator(); iterator.hasNext(); ) {
+                ExternalUnitWorkClientAttachment attachment = iterator.next();
+                if (ids.contains(attachment.getAttachmentId())) {
+                    iterator.remove();  // 删除符合条件的文件
+                }
             }
-        }
 
-        workattachmentService.exterunitAttachmentManageOnUrl(result);
+            workattachmentService.exterunitAttachmentManageOnUrl(result);
+
+            result.sort((a, b) -> b.getCreateDate().compareTo(a.getCreateDate()));
+        }
 
-        result.sort((a, b) -> b.getCreateDate().compareTo(a.getCreateDate()));
         // 处理分页逻辑
         int totalRecords = result.size(); // 总记录数
         page.setCount(totalRecords);  // 设置总记录数
@@ -420,7 +425,6 @@ public class ExternalUnitProjectRecordsService extends CrudService<ExternalUnitP
         }
 
 
-
         // 对数据进行分页切割
         List<ExternalUnitWorkClientAttachment> pagedList = result.subList(startRow, endRow);
 
@@ -472,64 +476,54 @@ public class ExternalUnitProjectRecordsService extends CrudService<ExternalUnitP
                     }else{
                         workattachmentService.updateOnExterWorkAttachment(workClientAttachment);
                     }
-                }else{
-                    workClientAttachmentDao.deleteExterunit(workClientAttachment);
-                }
-            }
-        }
-        /**
-         * /获取文件信息,并将文件添加到关联表中
-         */
 
-        ExternalUnitWorkClientAttachment workClientAttachment = new ExternalUnitWorkClientAttachment();
-        workClientAttachment.setAttachmentId(projectRecords.getId());
-        workClientAttachment.setAttachmentFlag("160");
-        workClientAttachment.setDivIdType("_exterNoProcess");
-        List<ExternalUnitWorkClientAttachment> attachmentList = workattachmentService.getAttachmentListExter(workClientAttachment);
-        //查询项目组成员
-        List<User> members = unitProjectRecordsDao.isDelFalg(projectRecords.getId(), "");
-        if (CollectionUtils.isNotEmpty(members)){
-            //将项目组成员中的施工方从list中剔除掉
-            for (Iterator<User> iterator = members.iterator(); iterator.hasNext(); ) {
-                User member = iterator.next();
-                User user1 = UserUtils.get(member.getId());
-
-                if (user1.getRoleList() != null) {
-                    for (Role role : user1.getRoleList()) {
-                        if (role.getEnname().equals("sgf")) {
-                            // 删除 members 中的对应 user
-                            iterator.remove();
-                            break;
+                    //查询项目组成员
+                    List<User> members = unitProjectRecordsDao.isDelFalg(projectRecords.getId(), "");
+                    if (CollectionUtils.isNotEmpty(members)){
+                        //将项目组成员中的施工方从list中剔除掉
+                        for (Iterator<User> iterator = members.iterator(); iterator.hasNext(); ) {
+                            User member = iterator.next();
+                            User user1 = UserUtils.get(member.getId());
+
+                            if (user1.getRoleList() != null) {
+                                for (Role role : user1.getRoleList()) {
+                                    if (role.getEnname().equals("sgf")) {
+                                        // 删除 members 中的对应 user
+                                        iterator.remove();
+                                        break;
+                                    }
+                                }
+                            }
+                        }
+                        //当前登录人是否在项目租成员中,不存在则添加进去
+                        User user = UserUtils.getUser();
+                        boolean containsUser = members.stream().anyMatch(member -> member.getId().equals(user.getId()));
+                        // 如果没有包含,则将 user 添加到 members 列表中
+                        if (!containsUser) {
+                            members.add(user);
+                        }
+                        //如果项目组成员中没有创建人,将创建人添加进去
+                        User user1 = UserUtils.get(projectRecords.getCreateBy().getId());
+                        boolean containsUser1 = members.stream().anyMatch(member -> member.getId().equals(user1.getId()));
+                        // 如果没有包含,则将 user 添加到 members 列表中
+                        if (!containsUser1) {
+                            members.add(user1);
+                        }
+                        for (User member : members) {
+                            ExternalUnitUserFile externalUnitUserFile = new ExternalUnitUserFile();
+                            externalUnitUserFile.setFileId(workClientAttachment.getId());
+                            externalUnitUserFile.setProjectId(projectRecords.getId());
+                            externalUnitUserFile.setUserId(member.getId());
+                            externalUnitUserFileDao.insert(externalUnitUserFile);
                         }
                     }
-                }
-            }
-            //当前登录人是否在项目租成员中,不存在则添加进去
-            User user = UserUtils.getUser();
-            boolean containsUser = members.stream().anyMatch(member -> member.getId().equals(user.getId()));
-            // 如果没有包含,则将 user 添加到 members 列表中
-            if (!containsUser) {
-                members.add(user);
-            }
-            if (CollectionUtils.isNotEmpty(attachmentList)){
-                for (ExternalUnitWorkClientAttachment attachment : attachmentList) {
-                    //先在关联表中查询文件id是否已经存在
-                    List<ExternalUnitUserFile> externalUnitUserFiles = externalUnitUserFileDao.getByFileId(attachment.getId());
-                    if (CollectionUtils.isNotEmpty(externalUnitUserFiles)){
-//                        externalUnitUserFileDao.deleteByFileId(attachment.getId());
-                        continue;
-                    }
-                    for (User member : members) {
-                        ExternalUnitUserFile externalUnitUserFile = new ExternalUnitUserFile();
-                        externalUnitUserFile.setFileId(attachment.getId());
-                        externalUnitUserFile.setProjectId(projectRecords.getId());
-                        externalUnitUserFile.setUserId(member.getId());
-                        externalUnitUserFileDao.insert(externalUnitUserFile);
-                    }
+                }else{
+                    workClientAttachmentDao.deleteExterunit(workClientAttachment);
                 }
             }
         }
 
+
     }
 
     /**

+ 5 - 5
src/main/java/com/jeeplus/modules/externalUnit/web/ExternalUnitProjectRecordsController.java

@@ -250,11 +250,11 @@ public class ExternalUnitProjectRecordsController extends BaseController {
      */
     @RequestMapping(value = "fileForm")
     public String fileForm(ExternalUnitProjectRecords projectRecords, Model model) {
-        if (projectRecords!=null&&StringUtils.isNotBlank(projectRecords.getId())) {
-            projectRecords = unitProjectRecordsService.get(projectRecords.getId());
-            //查询无流程文件
-//            unitProjectRecordsService.getNoProcessFile(projectRecords);
-        }
+//        if (projectRecords!=null&&StringUtils.isNotBlank(projectRecords.getId())) {
+//            projectRecords = unitProjectRecordsService.get(projectRecords.getId());
+//            //查询无流程文件
+////            unitProjectRecordsService.getNoProcessFile(projectRecords);
+//        }
         model.addAttribute("projectRecords", projectRecords);
         return "modules/externalUnit/externalUnitFileForm";
     }