From a4d27567652c7cd81eeb0d4628cc55ffb07f8167 Mon Sep 17 00:00:00 2001 From: 杜洪波 <1074825718@qq.com> Date: 星期三, 17 九月 2025 09:29:01 +0800 Subject: [PATCH] 代码提交 --- src/main/java/com/product/file/service/DocumentDirectoryService.java | 28 ++++++++++++++++++---------- src/main/java/com/product/file/service/DocumentService.java | 9 +++++++-- 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/product/file/service/DocumentDirectoryService.java b/src/main/java/com/product/file/service/DocumentDirectoryService.java index 500400f..ff3fd4d 100644 --- a/src/main/java/com/product/file/service/DocumentDirectoryService.java +++ b/src/main/java/com/product/file/service/DocumentDirectoryService.java @@ -8,6 +8,7 @@ import com.product.common.collect.ListUtils; import com.product.core.cache.DataPoolCacheImpl; import com.product.core.config.CoreConst; +import com.product.core.connection.ConnectionManager; import com.product.core.dao.BaseDao; import com.product.core.entity.DataTableEntity; import com.product.core.entity.FieldSetEntity; @@ -25,6 +26,8 @@ import com.product.tool.table.enums.FieldType; import com.product.util.BaseUtil; import com.product.util.SystemParamReplace; +import com.product.util.UnifySQLFunction; + import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -549,19 +552,23 @@ DataTableEntity data; SystemUser user = SpringMVCContextHolder.getCurrentUser(); StringBuffer sql = new StringBuffer(); - sql.append("SELECT a.*,ifnull(b.number,0) number FROM PRODUCT_OA_directory a LEFT JOIN "); - sql.append( - "(SELECT COUNT(*) number,directory_uuid FROM PRODUCT_OA_document GROUP BY directory_uuid) b on a.uuid=b.directory_uuid "); + sql.append("\nSELECT a.*,").append(UnifySQLFunction.ifnull("B.number", "0")).append(" AS number"); + sql.append("\nFROM product_oa_directory a"); + sql.append("\nLEFT JOIN ("); + sql.append("\n SELECT COUNT(*) AS number,directory_uuid"); + sql.append("\n FROM PRODUCT_OA_document"); + sql.append("\n GROUP BY directory_uuid"); + sql.append("\n) b ON a.uuid = b.directory_uuid "); if ("1".equals(directory_type)) { String org_level_uuid = user.getOrg_level_uuid(); - sql.append("where directory_type = 1 AND org_level_uuid = ? "); + sql.append("WHERE directory_type = 1 AND org_level_uuid = ? "); data = baseDao.listTable(sql.toString(), new Object[]{org_level_uuid}); // data = baseDao.listTable(CmnConst.PRODUCT_OA_DIRECTORY, " directory_type = 1 AND org_level_uuid = ?", new String[]{org_level_uuid}, "tricode"); // 涓汉鏂囦欢澶� } else { Integer userId = user.getUser_id(); - sql.append("where directory_type = 2 AND created_by = ? "); + sql.append("WHERE directory_type = 2 AND created_by = ? "); data = baseDao.listTable(sql.toString(), new Object[]{userId}); // data = baseDao.listTable(CmnConst.PRODUCT_OA_DIRECTORY, " directory_type = 2 AND created_by = ?", new Object[]{userId}, "tricode"); @@ -582,11 +589,12 @@ if (!"1".equals(directory_type)) { // 鏌ヨ鏁伴噺 sql.setLength(0); - sql.append(" SELECT\n"); - sql.append(" ( SELECT count(*) FROM product_oa_document_collection WHERE document_collector = ? ) collection_count,\n"); - sql.append(" ( SELECT count(distinct sub_uuid ) FROM product_oa_document_borrow_sub WHERE borrow_uuid IN ( SELECT uuid FROM product_oa_document_borrow WHERE borrower = ? and flow_flag=2) ) borrow_count\n"); - sql.append(" FROM\n"); - sql.append("DUAL\n"); + sql.append("\nSELECT"); + sql.append("\n (SELECT count(*) FROM product_oa_document_collection WHERE document_collector = ? ) collection_count,"); + sql.append("\n (SELECT count(distinct sub_uuid ) FROM product_oa_document_borrow_sub WHERE borrow_uuid IN ( SELECT uuid FROM product_oa_document_borrow WHERE borrower = ? and flow_flag=2) ) borrow_count"); + if(ConnectionManager.DATABASE_TYPE_ORACLE.equals(ConnectionManager.getDatabaseType())) { + sql.append("\nFROM DUAL"); + } FieldSetEntity fieldSetBySQL = baseDao.getFieldSetBySQL(sql.toString(), new Object[]{user.getUser_id(), user.getUser_id()}, false); int collectionCount = 0; int borrowCount = 0; diff --git a/src/main/java/com/product/file/service/DocumentService.java b/src/main/java/com/product/file/service/DocumentService.java index 9b6469d..435cf4a 100644 --- a/src/main/java/com/product/file/service/DocumentService.java +++ b/src/main/java/com/product/file/service/DocumentService.java @@ -832,8 +832,13 @@ 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[]{}); + StringBuilder sbSql = new StringBuilder(); + sbSql.append("\n SELECT b.classify_name,COUNT(1) AS number"); + sbSql.append("\n FROM product_oa_document a"); + sbSql.append("\n LEFT JOIN product_oa_document_classify_config b ON a.business_classify_uuid = b.uuid"); + sbSql.append("\n WHERE classify_name IS NOT NULL "); + sbSql.append("\n GROUP BY b.classify_name ORDER BY COUNT(1)"); + DataTableEntity dt = baseDao.listTable(sbSql.toString(),new String[]{}); for (int i = 0; i <dt.getRows() ; i++) { dt.setFieldValue(i,"ranking",i+1); } -- Gitblit v1.9.2