From cf0a6437bdfedad6b3eb8ec02ecf468457f56960 Mon Sep 17 00:00:00 2001
From: 许鹏程 <1821349743@qq.com>
Date: 星期六, 14 九月 2024 19:02:20 +0800
Subject: [PATCH] commit

---
 src/main/java/com/product/file/service/DocumentDirectoryService.java |   20 ++++++++++++--------
 1 files changed, 12 insertions(+), 8 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..8f2996b 100644
--- a/src/main/java/com/product/file/service/DocumentDirectoryService.java
+++ b/src/main/java/com/product/file/service/DocumentDirectoryService.java
@@ -3,7 +3,6 @@
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.product.common.collect.ListUtils;
-import com.product.common.lang.DateUtils;
 import com.product.core.config.CoreConst;
 import com.product.core.dao.BaseDao;
 import com.product.core.entity.DataTableEntity;
@@ -200,8 +199,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 filing_config_table=? and 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) ");
@@ -232,12 +231,12 @@
 
 		//鑾峰彇鐖剁被鏂囨。淇℃伅
 		FieldSetEntity parentDirectory = baseDao.getFieldSetByFilter(CmnConst.PRODUCT_OA_DIRECTORY, "tricode=?", new String[]{filing_catalog}, false);
-		DataTableEntity fieldDt = baseDao.listTable(sql, new String[]{});
+		DataTableEntity fieldDt = baseDao.listTable(sql, new String[]{table});
 		//鑾峰彇娴佺▼闄勪欢骞跺姞鍏ュ埌file閲�
 		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 +264,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(),table);
 
 				}else {
 					directoryUUID=fs.getString("directory_uuid");
@@ -317,7 +316,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,String table){
         //鏂板缓鐩綍
 		FieldSetEntity fsDirectory = new FieldSetEntity();
 		fsDirectory.setTableName(CmnConst.PRODUCT_OA_DIRECTORY);
@@ -329,7 +328,10 @@
 		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);
+		fsDirectory.setValue("filing_config_table", table);
+
+		baseDao.saveFieldSetEntity(fsDirectory);
 		return fsDirectory.getUUID();
 	}
 
@@ -431,6 +433,8 @@
 
 //      data = baseDao.listTable(CmnConst.PRODUCT_OA_DIRECTORY, " directory_type = 2 AND created_by = ?", new Object[]{userId}, "tricode");
 		}
+
+
 		baseDao.listInternationDataTable(data, null);
 		JSONArray menus = this.encapsulationTree(data);
 		// 鑾峰彇褰撳墠鍏徃

--
Gitblit v1.9.2