From 4ed22ab2c783a4317860025bdc2fb994afe2e3fc Mon Sep 17 00:00:00 2001
From: zm <2369059705qq.com>
Date: 星期三, 04 九月 2024 18:43:24 +0800
Subject: [PATCH] 归档优化

---
 src/main/java/com/product/file/service/DocumentDirectoryService.java |   14 ++++++++------
 1 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/product/file/service/DocumentDirectoryService.java b/src/main/java/com/product/file/service/DocumentDirectoryService.java
index 3b608a6..06b2361 100644
--- a/src/main/java/com/product/file/service/DocumentDirectoryService.java
+++ b/src/main/java/com/product/file/service/DocumentDirectoryService.java
@@ -200,8 +200,8 @@
 		sb.append(",c.user_name ");
 		sb.append(" from ");
 		sb.append(table.getString("table_name")).append(" a ");
-		sb.append(" LEFT JOIN (SELECT max(uuid) uuid,directory_name FROM product_oa_directory where tricode_parent='").append(fs.getString("filing_catalog")).append("' GROUP BY directory_name)  b ");
-		sb.append("on a.").append(fs.getString("field_title")).append("=b.directory_name ");
+		sb.append(" LEFT JOIN (SELECT uuid,directory_name,filing_config_field_uuid FROM product_oa_directory where tricode_parent='").append(fs.getString("filing_catalog")).append("')  b ");
+		sb.append("on a.").append(fs.getString("field_title")).append("=b.directory_name and a.uuid=b.filing_config_field_uuid	");
 
 		sb.append(" LEFT JOIN  product_sys_users c on a.").append(fs.getString("field_send_user")).append("=c.user_id");
 		sb.append(" where (a.archive_flag!=1 or a.archive_flag is null) ");
@@ -237,7 +237,7 @@
 		DataTableEntity nodeDt = baseDao.listTable(nodeSal, new String[]{});
 		for (int i = 0; i <nodeDt.getRows() ; i++) {
 			FieldSetEntity fieldfs = fieldDt.getFieldSetEntity(nodeDt.getString(i, "uuid")).get(0);
-            if (FieldSetEntity.isEmpty(fieldfs)){
+            if (!FieldSetEntity.isEmpty(fieldfs)){
 				if (StringUtils.isEmpty(fieldfs.getString("file"))){
 					fieldfs.setValue("file",nodeDt.getString(i,"flow_attachment"));
 				}else {
@@ -265,7 +265,7 @@
 						String tricode = CodeUtil.getNewCodeByTemp(CmnConst.PRODUCT_OA_DIRECTORY, CmnConst.TRICODE, filing_catalog);
 						//鑾峰彇鐩綍鍚嶇О
 						String title = fs.getString(field_title);
-						directoryUUID = addDirectory(title, tricode, filing_catalog, parentDirectory.getInteger("directory_tier") + 1);
+						directoryUUID = addDirectory(title, tricode, filing_catalog, parentDirectory.getInteger("directory_tier") + 1,fs.getUUID());
 
 				}else {
 					directoryUUID=fs.getString("directory_uuid");
@@ -317,7 +317,7 @@
 	 * @param directory_tier 鐩綍灞傜骇
 	 */
 
-    private String addDirectory(String field_title,String tricode,String tricode_parent,Integer directory_tier){
+    private String addDirectory(String field_title,String tricode,String tricode_parent,Integer directory_tier,String filing_config_field_uuid){
         //鏂板缓鐩綍
 		FieldSetEntity fsDirectory = new FieldSetEntity();
 		fsDirectory.setTableName(CmnConst.PRODUCT_OA_DIRECTORY);
@@ -329,7 +329,9 @@
 		fsDirectory.setValue("directory_type", 1);
 		fsDirectory.setValue("tricode", tricode);
 		fsDirectory.setValue("tricode_parent", tricode_parent);
-        baseDao.saveFieldSetEntity(fsDirectory);
+		fsDirectory.setValue("filing_config_field_uuid", filing_config_field_uuid);
+
+		baseDao.saveFieldSetEntity(fsDirectory);
 		return fsDirectory.getUUID();
 	}
 

--
Gitblit v1.9.2