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/DocumentService.java | 36 ++++++++++++++++++++++++++++++------ 1 files changed, 30 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/product/file/service/DocumentService.java b/src/main/java/com/product/file/service/DocumentService.java index a53d8b6..435cf4a 100644 --- a/src/main/java/com/product/file/service/DocumentService.java +++ b/src/main/java/com/product/file/service/DocumentService.java @@ -143,11 +143,12 @@ StringBuffer sql = new StringBuffer(); sql.append("SELECT \n"); - sql.append(" A.*,B.show_name name, \n"); + sql.append(" E.route_name,A.*,B.show_name name, \n"); sql.append(" CONCAT(CONVERT(a.file_size / 1024, decimal(10,2)), 'KB') file_size_kb, \n"); sql.append(" CASE WHEN D.document_uuid IS NOT NULL THEN '1' ELSE '0' END AS is_collection, \n"); sql.append(" (SELECT case when COUNT(*)=0 then 1 else COUNT(*) end FROM product_oa_document_history where product_oa_document_history.document_uuid=A.uuid) -1 history_count "); - sql.append("FROM( \n"); + sql.append(" ,if(A.turn_button is null,'鍚�','鏄�') turn"); + sql.append(" FROM( \n"); if ("!borrow".equals(directory_uuid)) { //鍊熼槄鏂囦欢澶规煡璇㈡枃浠剁壒娈婂鐞� sql.append("SELECT\n"); @@ -183,6 +184,8 @@ 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_sys_function_buttons E ON E.uuid = A.turn_button "); + DataTableEntity documentData = baseDao.listTable(sql.toString(), new String[]{directory_uuid, SpringMVCContextHolder.getCurrentUserId()}, fieldSetEntity.getInteger(CmnConst.PAGESIZE), fieldSetEntity.getInteger(CmnConst.CPAGE)); baseDao.listInternationDataTable(documentData, null); @@ -337,13 +340,14 @@ String directory_uuid = fieldSetEntity.getString(CmnConst.DIRECTORY_UUID); //String key = "%,140,%"; DataTableEntity dataTableEntity = new DataTableEntity(); - FieldSetEntity org = baseDao.getFieldSetByFilter(CmnConst.PRODUCT_OA_DIRECTORY_RIGHTS, "directory_uuid=?", new String[]{directory_uuid}, false); + + FieldSetEntity org = recursionRole(directory_uuid); if (verifyOrgExist(org.getString("storage_uuid"))) { StringBuffer sql = new StringBuffer(); sql.append(" SELECT substring_index(substring_index(a.rigths,',',b.help_topic_id+1),',',-1) fun FROM PRODUCT_OA_directory_rights a ") .append(" INNER join mysql.help_topic b on b.help_topic_id < (length(a.rigths) - length(replace(a.rigths,',',''))+1) ") .append(" WHERE a.directory_uuid = ? "); - dataTableEntity = baseDao.listTable(sql.toString(), new String[]{directory_uuid}); + dataTableEntity = baseDao.listTable(sql.toString(), new String[]{org.getString("directory_uuid")}); } StringBuffer button = new StringBuffer(); if (!BaseUtil.dataTableIsEmpty(dataTableEntity)) { @@ -391,6 +395,21 @@ fse.setSubData(dataMap); return fse; + } + + /** + * 閫掑綊鑾峰彇鏉冮檺濡傛灉褰撳墠鏂囨。鏈厤缃潈闄愬氨鍘婚�掑綊鏌ヨ鐖剁骇鏉冮檺 + * @param directory_uuid + * @return + */ + private FieldSetEntity recursionRole(String directory_uuid){ + FieldSetEntity org = baseDao.getFieldSetByFilter(CmnConst.PRODUCT_OA_DIRECTORY_RIGHTS, "directory_uuid=?", new String[]{directory_uuid}, false); + if (FieldSetEntity.isEmpty(org)&&!StringUtils.isEmpty(directory_uuid)){ + FieldSetEntity directoryFs = baseDao.getFieldSet(CmnConst.PRODUCT_OA_DIRECTORY, directory_uuid,false); + FieldSetEntity parentFs = baseDao.getFieldSetByFilter(CmnConst.PRODUCT_OA_DIRECTORY, "tricode=?",new String[]{directoryFs.getString("tricode_parent")},false); + org=recursionRole(parentFs.getUUID()); + } + return org; } @Override @@ -813,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