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/DocumentDirectoryService.java | 63 +++++++++++++++++++++++--------
1 files changed, 46 insertions(+), 17 deletions(-)
diff --git a/src/main/java/com/product/file/service/DocumentDirectoryService.java b/src/main/java/com/product/file/service/DocumentDirectoryService.java
index 5f4218a..c005b8c 100644
--- a/src/main/java/com/product/file/service/DocumentDirectoryService.java
+++ b/src/main/java/com/product/file/service/DocumentDirectoryService.java
@@ -40,9 +40,10 @@
public BaseDao baseDao;
@Autowired
public DocumentDirectoryService documentDirectoryService;
-
+
/**
- * 鍗曚綅鏂囦欢澶规爲
+ * 鍗曚綅鏂囦欢澶规爲
+ *
* @return
*/
public DataTableEntity allDirectoryTree() {
@@ -54,7 +55,8 @@
}
/**
- * 鏂囨。鐩綍淇濆瓨
+ * 鏂囨。鐩綍淇濆瓨
+ *
* @param fse
* @return
*/
@@ -63,11 +65,11 @@
BaseUtil.createCreatorAndCreationTime(fse);
String tricode = null;
String tricodeParent = BaseUtil.strIsNull(fse.getString(CmnConst.TRICODE_PARENT)) ? "" : fse.getString(CmnConst.TRICODE_PARENT);
- if(BaseUtil.strIsNull(fse.getUUID())) {
+ if (BaseUtil.strIsNull(fse.getUUID())) {
tricode = CodeUtil.getNewCodeByTemp(CmnConst.PRODUCT_OA_DIRECTORY, CmnConst.TRICODE, tricodeParent);
} else {
FieldSetEntity fseOrigin = baseDao.getFieldSetEntity(CmnConst.PRODUCT_OA_DIRECTORY, fse.getUUID(), false);
- if(fseOrigin == null) {
+ if (fseOrigin == null) {
fse.remove(CoreConst.UUID);
}
String originParent = BaseUtil.strIsNull(fseOrigin.getString(CmnConst.TRICODE_PARENT)) ? "" : fseOrigin.getString(CmnConst.TRICODE_PARENT);
@@ -79,8 +81,8 @@
sql.append("set tricode=concat(replace(substring(tricode,1,locate(?,tricode)+length(?)),?,?),substring(tricode,locate(?,tricode)+length(?)+1)), ");
sql.append("tricode_parent=concat(replace(substring(tricode_parent,1,locate(?,tricode_parent)+length(?)),?,?),substring(tricode_parent,locate(?,tricode_parent)+length(?)+1)) ");
sql.append("where tricode like ? ");
- baseDao.executeUpdate(sql.toString(), new Object[] {originTricode,originTricode,originTricode,tricode,originTricode,originTricode,
- originTricode,originTricode,originTricode,tricode,originTricode,originTricode,originTricode+"-%"});
+ baseDao.executeUpdate(sql.toString(), new Object[]{originTricode, originTricode, originTricode, tricode, originTricode, originTricode,
+ originTricode, originTricode, originTricode, tricode, originTricode, originTricode, originTricode + "-%"});
}else {
tricode = fseOrigin.getString(CmnConst.TRICODE);
}
@@ -89,7 +91,7 @@
fse.setValue(CmnConst.DIRECTORY_TIER, tricode.split(",").length);
return baseDao.saveFieldSetEntity(fse);
}
-
+
@Override
@Transactional
@@ -103,10 +105,10 @@
DataTableEntity dataTableEntity = baseDao.listTable(
"SELECT * FROM PRODUCT_OA_directory WHERE directory_type = ? AND tricode_parent = (SELECT tricode FROM PRODUCT_OA_directory where uuid = ?)"
+ filter,
- new String[] { directory_type, uuid });
+ new String[]{directory_type, uuid});
if (BaseUtil.dataTableIsEmpty(dataTableEntity)) {
- baseDao.delete(CmnConst.PRODUCT_OA_DOCUMENT, "directory_uuid = ?", new String[] { uuid });
- return baseDao.delete(CmnConst.PRODUCT_OA_DIRECTORY, new String[] { uuid });
+ baseDao.delete(CmnConst.PRODUCT_OA_DOCUMENT, "directory_uuid = ?", new String[]{uuid});
+ return baseDao.delete(CmnConst.PRODUCT_OA_DIRECTORY, new String[]{uuid});
} else {
throw new BaseException(DocumentCode.DOCUMENT_CATALOG_DELETE_FAIL.getValue(),
DocumentCode.DOCUMENT_CATALOG_DELETE_FAIL.getText(), this.getClass(),
@@ -116,7 +118,7 @@
/**
* 鑾峰彇褰撳墠鏂囦欢璺緞
- *
+ *
* @param fieldSetEntity
* @return
* @throws BaseException
@@ -174,13 +176,13 @@
if ("1".equals(directory_type)) {
String org_level_uuid = user.getOrg_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(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 = ? ");
- data = baseDao.listTable(sql.toString(), new Object[] { userId });
+ 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");
}
@@ -193,13 +195,40 @@
orgLevelInfo.put("org_level_uuid", user.getOrg_level_uuid());
orgLevelInfo.put("children", menus);
JSONArray array = new JSONArray();
+ 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( sub_uuid ) FROM product_oa_document_borrow_sub WHERE borrow_uuid IN ( SELECT uuid FROM product_oa_document_borrow WHERE borrower = ? ) GROUP BY sub_uuid ) borrow_count\n");
+ sql.append(" FROM\n");
+ sql.append("DUAL\n");
+ FieldSetEntity fieldSetBySQL = baseDao.getFieldSetBySQL(sql.toString(), new Object[]{user.getUser_id(), user.getUser_id()}, false);
+ int collectionCount = 0;
+ int borrowCount = 0;
+ if (fieldSetBySQL != null) {
+ collectionCount = BaseUtil.ifNull(fieldSetBySQL.getInteger("collection_count"), 0);
+ borrowCount = BaseUtil.ifNull(fieldSetBySQL.getInteger("borrow_count"), 0);
+ }
+ //娣诲姞鏀惰棌澶瑰拰鍊熼槄鏂囦欢澶�
+ JSONObject favorite = new JSONObject();
+ favorite.put("directory_name", "鏀惰棌澶�");
+ favorite.put("uuid", "!favorite");
+ favorite.put("number", collectionCount);
+ menus.add(0, favorite);
+ JSONObject borrow = new JSONObject();
+ borrow.put("directory_name", "鍊熼槄鏂囦欢");
+ borrow.put("uuid", "!borrow");
+ borrow.put("number", borrowCount);
+ menus.add(1, borrow);
+ }
array.add(orgLevelInfo);
return array;
}
/**
* 灏佽鏍戞柟娉�
- *
+ *
* @param
* @return
* @throws BaseException
@@ -241,7 +270,7 @@
/**
* 绉诲姩鍒扮洰褰曞垪琛紙鏍规嵁褰撳墠鐢ㄦ埛杩囨护灞曠ず鐩綍鍒楄〃锛� 鑾峰彇鐢ㄦ埛鏈夋柊澧烇紙涓婁紶锛夋潈闄愮殑鍒楄〃
- *
+ *
* @param
* @return
* @throws BaseException
@@ -263,7 +292,7 @@
param.append(userId);
sql.append("SELECT * FROM PRODUCT_OA_directory ").append(" WHERE directory_type = 2 AND created_by = ? ");
}
- DataTableEntity dataTableEntity = baseDao.listTable(sql.toString(), new String[] { param.toString() });
+ DataTableEntity dataTableEntity = baseDao.listTable(sql.toString(), new String[]{param.toString()});
baseDao.listInternationDataTable(dataTableEntity, null);
return dataTableEntity;
}
--
Gitblit v1.9.2