杜洪波
2025-11-27 9c4566eab5f4353fbab15f43345f863b76a6b37f
src/main/java/com/product/file/service/DocumentService.java
@@ -152,20 +152,16 @@
      sql.append(" FROM( \n");
      if ("!borrow".equals(directory_uuid)) {
         //借阅文件夹查询文件特殊处理
         sql.append("SELECT\n");
         sql.append("doc.*\n");
         sql.append("      FROM\n");
         sql.append("product_oa_directory dir\n");
         sql.append("JOIN product_oa_document doc ON dir.uuid = doc.uuid\n");
         sql.append("WHERE\n");
         sql.append("dir.directory_type = 1\n");
         sql.append("AND doc.attachments_uuid IN (\n");
         sql.append("      SELECT\n");
         sql.append("   sub_uuid\n");
         sql.append("      FROM\n");
         sql.append("   product_oa_document_borrow_sub\n");
         sql.append("      WHERE\n");
         sql.append("   borrow_uuid IN ( SELECT uuid FROM product_oa_document_borrow WHERE borrower = ? AND flow_flag=2))\n");
         sql.append("  SELECT\n");
         sql.append("    doc.*\n");
         sql.append("  FROM product_oa_document doc \n");
         sql.append("  JOIN product_oa_directory dir ON dir.uuid = doc.directory_uuid \n");
         sql.append("  WHERE dir.directory_type = 1\n");
         sql.append("  AND doc.attachments_uuid IN (\n");
         sql.append("    SELECT sub_uuid\n");
         sql.append("    FROM product_oa_document_borrow_sub\n");
         sql.append("    WHERE borrow_uuid IN ( SELECT uuid FROM product_oa_document_borrow WHERE borrower = ? AND flow_flag=2)\n");
         sql.append("  )\n");
         directory_uuid = SpringMVCContextHolder.getCurrentUserId();
      } else if ("!favorite".equals(directory_uuid)) {
         sql.append("SELECT\n");
@@ -184,7 +180,7 @@
      sql.append(")A \n");
      sql.append("LEFT JOIN product_sys_staffs B ON B.user_id = A.created_by \n");
      sql.append("LEFT JOIN product_sys_attachments C ON C.uuid = B.staff_avatar \n");
      sql.append("LEFT JOIN product_oa_document_collection D ON D.document_uuid = A.uuid AND D.created_by = ?");
      sql.append("LEFT JOIN product_oa_document_collection D ON D.document_uuid = A.uuid AND D.created_by = ? \n");
      sql.append("LEFT JOIN product_sys_function_buttons E ON E.uuid = A.turn_button ");
      DataTableEntity documentData = baseDao.listTable(sql.toString(), new String[]{directory_uuid, SpringMVCContextHolder.getCurrentUserId()},
@@ -351,9 +347,9 @@
            }
            if (!BaseUtil.strIsNull(buttonPermissions)) {
               // 判断是否包含查看权限,包含查看权限则获取文件列表
               if (buttonPermissions.contains(",1,")) {
//               if (buttonPermissions.contains(",1,")) {
                  dataTable = this.documentAll(fieldSetEntity);
               }
//               }
               finalButtonPermissions = Arrays.stream(buttonPermissions.split(","))
                         .filter(s -> !s.isEmpty())
                         .distinct()
@@ -400,9 +396,11 @@
   private DataTableEntity recursionRole(String directory_uuid){
      DataTableEntity dtOperationPermissions = baseDao.listTable(CmnConst.PRODUCT_OA_DIRECTORY_RIGHTS, "directory_uuid = ?", new Object[] {directory_uuid});
      if (BaseUtil.dataTableIsEmpty(dtOperationPermissions)) {
         FieldSetEntity fseDirectory = baseDao.getFieldSet(CmnConst.PRODUCT_OA_DIRECTORY, directory_uuid,false);
         FieldSetEntity fseDirectory = baseDao.getFieldSet(CmnConst.PRODUCT_OA_DIRECTORY, directory_uuid, false);
         FieldSetEntity fseDirectoryParent = baseDao.getFieldSetByFilter(CmnConst.PRODUCT_OA_DIRECTORY, "tricode=?",new String[]{fseDirectory.getString("tricode_parent")},false);
         dtOperationPermissions = recursionRole(fseDirectoryParent.getUUID());
         if (!fseDirectoryParent.isEmpty()) {
            dtOperationPermissions = recursionRole(fseDirectoryParent.getUUID());
         }
      }
      return dtOperationPermissions;
   }