From 02de694f6deabb1ab8d2fa37c923980a9e6c0538 Mon Sep 17 00:00:00 2001
From: 18756 <1875631620@qq.com>
Date: 星期五, 30 八月 2024 14:54:48 +0800
Subject: [PATCH] 借阅文档排名优化8.30

---
 src/main/java/com/product/file/service/DocumentService.java |   55 +++++++++++++++++++++++++++++++++----------------------
 1 files changed, 33 insertions(+), 22 deletions(-)

diff --git a/src/main/java/com/product/file/service/DocumentService.java b/src/main/java/com/product/file/service/DocumentService.java
index 9863320..a53d8b6 100644
--- a/src/main/java/com/product/file/service/DocumentService.java
+++ b/src/main/java/com/product/file/service/DocumentService.java
@@ -634,24 +634,27 @@
 	@Override
 	public DataTableEntity getApplyDocument(FieldSetEntity fse) throws BaseException {
 
-		DataTableEntity product_oa_document = new DataTableEntity();
-		StringBuilder sb = new StringBuilder();
-		sb.append(" select  d.*,f.show_name ");
-		sb.append(" from product_oa_document d ");
-		sb.append(" left join  product_sys_staffs f ");
-		sb.append(" on d.created_by=f.user_id ");
-		List<String> param = new ArrayList<>();
-		if (!ObjectUtil.isNotEmpty(fse.getString("document_name"))) {
-			product_oa_document = baseDao.listTable(sb.toString(), param.toArray());
+		String sub_uuid = fse.getString("sub_uuid");
+		String sub_uuid_replace = sub_uuid.replace("\"", "");
+		String[] sub_uuid_split = sub_uuid_replace.split(",");
+		String sub_uuids="";
+		for (int i = 0; i < sub_uuid_split.length; i++) {
 
-		} else {
-			String document_name = fse.getString("document_name");
-			sb.append(" where d.file_name like '%" + document_name + "%'");
-			product_oa_document = baseDao.listTable(sb.toString(), param.toArray());
-
-
+			if(i==sub_uuid_split.length-1){
+				sub_uuids=sub_uuids+"\""+sub_uuid_split[i]+"\"";
+			}else {
+				sub_uuids=sub_uuids+"\""+sub_uuid_split[i]+"\",";
+			}
 		}
-		return product_oa_document;
+		List<String> param = new ArrayList<>();
+		StringBuilder sb=new StringBuilder();
+		sb.append(" SELECT a.*,f.show_name");
+		sb.append(" FROM product_sys_attachments a  ");
+		sb.append(" LEFT JOIN  product_sys_staffs f ");
+		sb.append(" on a.created_by =f.user_id ");
+		sb.append(" where a.uuid in ("+sub_uuids+")");
+        DataTableEntity product_sys_attachments = baseDao.listTable(sb.toString(),param.toArray());
+        return product_sys_attachments;
 	}
 
 	@Override
@@ -706,14 +709,14 @@
 		StringBuilder sb = new StringBuilder();
 		List<String> param = new ArrayList<>();
 		sb.append(" SELECT b.* FROM (");
-		sb.append(" SELECT t.uuid,t.file_name,t.file_size,s.show_name,t.created_utc_datetime,count(t.uuid) as applyCount");
+		sb.append(" SELECT t.uuid,t.file_name,t.attachment_size as file_size,s.show_name,t.created_utc_datetime,count(t.uuid) as applyCount");
 		sb.append(" FROM product_oa_document_borrow_sub b");
-		sb.append(" JOIN product_oa_document t");
+		sb.append(" JOIN product_sys_attachments t");
 		sb.append(" on b.sub_uuid=t.uuid");
 		sb.append(" JOIN product_sys_staffs s ");
 		sb.append(" on t.created_by=s.user_id");
-		sb.append(" group by t.file_name,t.uuid,s.show_name,t.created_utc_datetime,t.file_size");
-		sb.append(" )b order by  b.applyCount asc");
+		sb.append(" group by t.file_name,t.uuid,s.show_name,t.created_utc_datetime,t.attachment_size");
+		sb.append(" )b order by  b.applyCount DESC");
 		DataTableEntity dataTableEntity = baseDao.listTable(sb.toString(), param.toArray());
 		return dataTableEntity;
 	}
@@ -737,14 +740,14 @@
 		sb.append(" FROM product_oa_document_borrow  w ");
 		sb.append(" left JOIN product_oa_document_borrow_sub b");
 		sb.append(" on b.borrow_uuid=w.uuid");
-		sb.append(" left JOIN product_oa_document t");
+		sb.append(" left JOIN product_sys_attachments t");
 		sb.append(" on b.sub_uuid=t.uuid");
 		sb.append(" left JOIN product_sys_staffs s");
 		sb.append(" on w.borrower=s.user_id");
 		sb.append(" GROUP BY w.borrower,s.show_name");
 		sb.append(" )a )b");
 		sb.append(" on a.borrower=b.borrower ");
-		sb.append(" order by a.applayCount,b.applayFileCount asc");
+		sb.append(" order by a.applayCount,b.applayFileCount DESC");
 		DataTableEntity dataTableEntity = baseDao.listTable(sb.toString(), param.toArray());
 		return dataTableEntity;
 	}
@@ -809,4 +812,12 @@
 		}
 		return permission;
 	}
+	public DataTableEntity getFileItemize(FieldSetEntity fes) throws BaseException {
+		DataTableEntity dt = baseDao.listTable("SELECT b.classify_name,COUNT(1) number FROM product_oa_document a LEFT JOIN product_oa_document_classify_config b  on  a.business_classify_uuid=b.uuid\n" +
+				"where classify_name is not null GROUP BY b.classify_name ORDER BY COUNT(1)",new String[]{});
+		for (int i = 0; i <dt.getRows() ; i++) {
+			dt.setFieldValue(i,"ranking",i+1);
+		}
+		return dt;
+	}
 }

--
Gitblit v1.9.2