From 57ec72c5046cbd35d276cdc0621aac19484c5acb Mon Sep 17 00:00:00 2001
From: 杜洪波 <1074825718@qq.com>
Date: 星期五, 13 三月 2026 10:07:54 +0800
Subject: [PATCH] 文档管理历史版本BUG提交

---
 src/main/java/com/product/file/service/DocumentService.java |   38 ++++++++++++++++++--------------------
 1 files changed, 18 insertions(+), 20 deletions(-)

diff --git a/src/main/java/com/product/file/service/DocumentService.java b/src/main/java/com/product/file/service/DocumentService.java
index cc507bd..64081ff 100644
--- a/src/main/java/com/product/file/service/DocumentService.java
+++ b/src/main/java/com/product/file/service/DocumentService.java
@@ -86,7 +86,7 @@
 			BaseUtil.createCreatorAndCreationTime(fseDocumentHistory);
 			fseDocumentHistory.setValue("document_uuid", documentUUID);
 			fseDocumentHistory.setValue("attachment_uuid", attachment.getUUID());
-			fseDocumentHistory.setValue("version_number", "v1");
+			fseDocumentHistory.setValue("version_number", "1");
 			baseDao.add(fseDocumentHistory);
 
 			uuidList.add(documentUUID);
@@ -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;
 	}

--
Gitblit v1.9.2