From a64a8cd39c6fa141931f71b55c95b068f928d18f Mon Sep 17 00:00:00 2001
From: 杜洪波 <1074825718@qq.com>
Date: 星期五, 23 八月 2024 16:17:22 +0800
Subject: [PATCH] 代码提交
---
src/main/java/com/product/file/config/DocumentCode.java | 4 +
src/main/java/com/product/file/controller/DocumentController.java | 59 +++++++++++++++----
src/main/java/com/product/file/config/CmnConst.java | 2
src/main/java/com/product/file/service/ide/IDocumentService.java | 1
src/main/java/com/product/file/config/FileCode.java | 2
src/main/java/com/product/file/service/DocumentService.java | 95 +++++++++++++++++++++----------
src/main/java/com/product/file/controller/DocumentDirectoryController.java | 2
7 files changed, 117 insertions(+), 48 deletions(-)
diff --git a/src/main/java/com/product/file/config/CmnConst.java b/src/main/java/com/product/file/config/CmnConst.java
index 18c8642..6794462 100644
--- a/src/main/java/com/product/file/config/CmnConst.java
+++ b/src/main/java/com/product/file/config/CmnConst.java
@@ -27,6 +27,8 @@
public static final String PRODUCT_SYS_PRINT_TEMPLATE_RECORD = "product_sys_print_template_reocrd";// 鎵撳嵃妯℃澘璁板綍琛�
public static final String PRODUCT_SYS_STAFFS = "product_sys_staffs";
public static final String TABLE_PRODUCT_SYS_ORG_LEVELS = "product_sys_org_levels";// 缁勭粐鏈烘瀯琛�
+ public static final String PRODUCT_OA_DOCUMENT_COLLECTION = "product_oa_document_collection"; // 鏂囨。鏀惰棌
+ public static final String PRODUCT_OA_DOCUMENT_HISTORY = "product_oa_document_history";
public static final String ATTACHMENT_CAPACITY = "attachment_capacity";
public static final String RESULT = "result";
diff --git a/src/main/java/com/product/file/config/DocumentCode.java b/src/main/java/com/product/file/config/DocumentCode.java
index c548011..7857aaf 100644
--- a/src/main/java/com/product/file/config/DocumentCode.java
+++ b/src/main/java/com/product/file/config/DocumentCode.java
@@ -29,6 +29,10 @@
DOCUMENT_LOG_FAIL("鑾峰彇鏃ュ織澶辫触", ModuleEnum.FILE.getValue() + "008"),
DOCUMENT_USER_RIGHT_FAIL("鐢ㄦ埛娌℃湁璇ョ洰褰曟潈闄�", ModuleEnum.FILE.getValue() + "009"),
DOCUMENT_DIRECTORY_NAME_FAIL("鏂囨。鐩綍閲嶅懡鍚嶅け璐�", ModuleEnum.FILE.getValue() + "010"),
+
+ DOCUMENT_COLLECTION_FAIL("鏂囨。鏀惰棌澶辫触锛�", ModuleEnum.FILE.getValue() + "011"),
+ DOCUMENT_CANCEL_COLLECTION_FAIL("鏂囨。鍙栨秷鏀惰棌澶辫触", ModuleEnum.FILE.getValue() + "012"),
+ DOCUMENT_OPERATE_FAIL("鏂囨。鎿嶄綔澶辫触", ModuleEnum.FILE.getValue() + "013"),
;
private String text;
diff --git a/src/main/java/com/product/file/config/FileCode.java b/src/main/java/com/product/file/config/FileCode.java
index 68c335d..e22eca9 100644
--- a/src/main/java/com/product/file/config/FileCode.java
+++ b/src/main/java/com/product/file/config/FileCode.java
@@ -78,8 +78,8 @@
DOC_MERGE_FALL("鏂囨。鍚堝悓骞跺け璐�", ModuleEnum.FILE.getValue() + "055"),
DOC_CONVERT_FILE_NOT_EXIST_FALL("鏂囨。杞崲澶辫触,鏂囦欢涓嶅瓨鍦�", ModuleEnum.FILE.getValue() + "056"),
DOC_CONVERT_NOT_SUPPORT_FILE_FALL("鏂囨。杞崲澶辫触,涓嶆敮鎸佺殑鏂囨。绫诲瀷", ModuleEnum.FILE.getValue() + "057"),
+
;
-
private String text;
private String value;
diff --git a/src/main/java/com/product/file/controller/DocumentConstoller.java b/src/main/java/com/product/file/controller/DocumentController.java
similarity index 90%
rename from src/main/java/com/product/file/controller/DocumentConstoller.java
rename to src/main/java/com/product/file/controller/DocumentController.java
index 81c1537..b91da85 100644
--- a/src/main/java/com/product/file/controller/DocumentConstoller.java
+++ b/src/main/java/com/product/file/controller/DocumentController.java
@@ -39,7 +39,7 @@
*/
@RequestMapping("/api/document")
@RestController
-public class DocumentConstoller extends AbstractBaseController {
+public class DocumentController extends AbstractBaseController {
@Autowired
public DocumentService documentService;
@@ -54,18 +54,7 @@
public String addDocument(HttpServletRequest request) {
try {
//鑾峰彇鍙傛暟
- FieldSetEntity fse = null;
- Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if (bean != null) {
- RequestParameterEntity reqp = (RequestParameterEntity) bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if (fse == null) {
- SpringMVCContextHolder
- .getSystemLogger().error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(), DocumentCode.DOCUMENT_FORM_NODATA.getText());
- return this.error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(), DocumentCode.DOCUMENT_FORM_NODATA.getText());
- }
+ FieldSetEntity fse = BaseUtil.getFieldSetEntity(request);
IDocumentService service = (IDocumentService) getProxyInstance(documentService);
String uuids = service.addDocument(fse);
return OK_Add(uuids);
@@ -382,6 +371,50 @@
return this.error(DocumentCode.DOCUMENT_LOG_FAIL.getValue(), DocumentCode.DOCUMENT_LOG_FAIL.getText());
}
}
+
+ /**
+ * 鏂囨。鏀惰棌
+ * @param request
+ * @return
+ */
+ @RequestMapping(value = "/collection/{version}", method = RequestMethod.POST)
+ @ApiVersion(1)
+ public String documentCollection(HttpServletRequest request) {
+ try {
+ //鑾峰彇鍙傛暟
+ FieldSetEntity fse = BaseUtil.getFieldSetEntity(request, CmnConst.PRODUCT_OA_DOCUMENT_COLLECTION);
+ return OK_Add(documentService.documentCollection(fse));
+ } catch (BaseException e) {
+ e.printStackTrace();
+ return this.error(e);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return this.error(DocumentCode.DOCUMENT_COLLECTION_FAIL.getValue(), DocumentCode.DOCUMENT_COLLECTION_FAIL.getText() + e.getMessage());
+ }
+ }
+ /**
+ * 鏂囨。鍙栨秷鏀惰棌
+ * @param request
+ * @return
+ */
+ @RequestMapping(value = "/cancel-collection/{version}", method = RequestMethod.POST)
+ @ApiVersion(1)
+ public String documentCancelCollection(HttpServletRequest request) {
+ try {
+ //鑾峰彇鍙傛暟
+ FieldSetEntity fse = BaseUtil.getFieldSetEntity(request, CmnConst.PRODUCT_OA_DOCUMENT_COLLECTION);
+ if (documentService.documentCancelCollection(fse.getString("document_uuid"))) {
+ return OK();
+ }
+ return error(DocumentCode.DOCUMENT_CANCEL_COLLECTION_FAIL.getValue(), DocumentCode.DOCUMENT_CANCEL_COLLECTION_FAIL.getText());
+ } catch (BaseException e) {
+ e.printStackTrace();
+ return this.error(e);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return this.error(DocumentCode.DOCUMENT_OPERATE_FAIL.getValue(), DocumentCode.DOCUMENT_OPERATE_FAIL.getText() + e.getMessage());
+ }
+ }
@RequestMapping(value = "/getApplyDocument/{version}", method = RequestMethod.POST)
diff --git a/src/main/java/com/product/file/controller/DocumentDirectoryConstoller.java b/src/main/java/com/product/file/controller/DocumentDirectoryController.java
similarity index 99%
rename from src/main/java/com/product/file/controller/DocumentDirectoryConstoller.java
rename to src/main/java/com/product/file/controller/DocumentDirectoryController.java
index e25fc03..32ed83a 100644
--- a/src/main/java/com/product/file/controller/DocumentDirectoryConstoller.java
+++ b/src/main/java/com/product/file/controller/DocumentDirectoryController.java
@@ -35,7 +35,7 @@
*/
@RequestMapping("/api/directory")
@RestController
-public class DocumentDirectoryConstoller extends AbstractBaseController {
+public class DocumentDirectoryController extends AbstractBaseController {
@Autowired
DocumentDirectoryService documentDirectoryService;
diff --git a/src/main/java/com/product/file/service/DocumentService.java b/src/main/java/com/product/file/service/DocumentService.java
index 3d72614..284ed77 100644
--- a/src/main/java/com/product/file/service/DocumentService.java
+++ b/src/main/java/com/product/file/service/DocumentService.java
@@ -54,35 +54,42 @@
@Override
@Transactional
- public String addDocument(FieldSetEntity fieldSetEntity) throws BaseException {
- //鏂囦欢闄勪欢琛╱uid
- String uuIds = fieldSetEntity.getString(CmnConst.ATTACHMENTS_UUID);
- String directory_uuid = fieldSetEntity.getString(CmnConst.DIRECTORY_UUID);
- String[] uuid = uuIds.split(",");
+ public String addDocument(FieldSetEntity fse) throws BaseException {
+ //鑾峰彇闄勪欢鐩綍鍜岄檮浠秛uid
+ String directory_uuid = fse.getString(CmnConst.DIRECTORY_UUID);
+ String fileUUIDs = fse.getString(CmnConst.ATTACHMENTS_UUID);
+ String[] fileUUIDArray = fileUUIDs.split(",");
//鑾峰彇闄勪欢淇℃伅
- DataTableEntity attachments = baseDao.listTable(CmnConst.PRODUCT_SYS_ATTACHMENTS, BaseUtil.buildQuestionMarkFilter(CmnConst.UUID, uuid.length, true), uuid);
+ DataTableEntity attachments = baseDao.listTable(CmnConst.PRODUCT_SYS_ATTACHMENTS, BaseUtil.buildQuestionMarkFilter(CmnConst.UUID, fileUUIDArray, true));
List<String> uuidList = ListUtils.newArrayList();
List<String> fileNameList = ListUtils.newArrayList();
+ //寰幆闄勪欢淇℃伅锛岀敓鎴愭枃妗d俊鎭�
for (int i = 0, length = attachments.getRows(); i < length; i++) {
- FieldSetEntity fieldSet = new FieldSetEntity();
- fieldSet.setTableName(CmnConst.PRODUCT_OA_DOCUMENT);
- FieldSetEntity fse = attachments.getFieldSetEntity(i);
- //鏂囦欢鐩綍uuid
- fieldSet.setValue(CmnConst.DIRECTORY_UUID, directory_uuid);
- //鏂囦欢澶у皬
- fieldSet.setValue(CmnConst.FILE_SIZE, fse.getString(CmnConst.ATTACHMENT_SIZE));
+ FieldSetEntity attachment = attachments.getFieldSetEntity(i);
+ //鍒涘缓鏂囨。鏁版嵁瀹瑰櫒
+ FieldSetEntity fseDocument = new FieldSetEntity(CmnConst.PRODUCT_OA_DOCUMENT);
+ fseDocument.setValue(CmnConst.ATTACHMENTS_UUID, attachment.getUUID());
+ fseDocument.setValue(CmnConst.DIRECTORY_UUID, directory_uuid);
+ fseDocument.setValue(CmnConst.FILE_SIZE, attachment.getString(CmnConst.ATTACHMENT_SIZE));
+ fseDocument.setValue(CmnConst.CREATED_BY, SpringMVCContextHolder.getCurrentUser().getUser_id());
+ fseDocument.setValue(CmnConst.CREATED_UTC_DATETIME, DateUtils.getDateTime());
//鏂囦欢鍚嶇О
- String file_name = fse.getString(CmnConst.FILE_NAME);
- fieldSet.setValue(CmnConst.FILE_NAME, file_name);
+ String file_name = attachment.getString(CmnConst.FILE_NAME);
+ fseDocument.setValue(CmnConst.FILE_NAME, file_name);
//鏂囦欢绫诲瀷
String file_type = file_name.substring(file_name.lastIndexOf(".") + 1);
- fieldSet.setValue(CmnConst.FILE_TYPE, file_type);
- //闄勪欢uuid
- fieldSet.setValue(CmnConst.ATTACHMENTS_UUID, fse.getString(CmnConst.UUID));
- fieldSet.setValue(CmnConst.CREATED_BY, SpringMVCContextHolder.getCurrentUser().getUser_id());// 鍒涘缓浜�
- fieldSet.setValue(CmnConst.CREATED_UTC_DATETIME, DateUtils.getDateTime());// 鍒涘缓鏃堕棿
- String file_uuid = baseDao.add(fieldSet);
- uuidList.add(file_uuid);
+ fseDocument.setValue(CmnConst.FILE_TYPE, file_type);
+ //淇濆瓨鏁版嵁
+ String documentUUID = baseDao.add(fseDocument);
+
+ //鍒涘缓鏂囨。鐗堟湰鏁版嵁瀹瑰櫒
+ FieldSetEntity fseDocumentHistory = new FieldSetEntity(CmnConst.PRODUCT_OA_DOCUMENT_HISTORY);
+ BaseUtil.createCreatorAndCreationTime(fseDocumentHistory);
+ fseDocument.setValue("document_uuid", documentUUID);
+ fseDocument.setValue("attachment_uuid", attachment.getUUID());
+ baseDao.add(fseDocumentHistory);
+
+ uuidList.add(documentUUID);
fileNameList.add(file_name);
}
this.documentation(uuidList.toArray(), "鏂板", fileNameList.toArray(), null);
@@ -133,16 +140,20 @@
queryFilter = " AND " + queryFilter;
}
StringBuffer sql = new StringBuffer();
- sql.append(" SELECT ")
- .append(" a.*,CONCAT(CONVERT(a.file_size / 1024, decimal(10,2)), 'KB') file_size_kb,b.show_name name")
- // .append(" concat(c.attachment_domain,'/',c.attachment_container,'/',c.module_uuid,'/',c.attachment_title,?) path ")
- .append(" FROM ")
- .append(" (SELECT * FROM PRODUCT_OA_document WHERE directory_uuid = ? ")
- .append(queryFilter)
- .append(" ) a LEFT JOIN product_sys_staffs b ON a.created_by = b.user_id ")
- .append(" LEFT JOIN product_sys_attachments c ON b.staff_avatar=c.uuid ");
- String sostoken = Global.getSystemConfig("upload.key", "");
- DataTableEntity documentData = baseDao.listTable(sql.toString(), new String[]{directory_uuid}, fieldSetEntity.getInteger(CmnConst.PAGESIZE), fieldSetEntity.getInteger(CmnConst.CPAGE));
+ sql.append("SELECT \n");
+ sql.append(" 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("FROM( \n");
+ sql.append(" SELECT * FROM product_oa_document \n");
+ sql.append(" WHERE directory_uuid = ? \n");
+ sql.append(queryFilter);
+ sql.append(")A \n");
+ 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 = ?");
+ DataTableEntity documentData = baseDao.listTable(sql.toString(), new String[]{directory_uuid, SpringMVCContextHolder.getCurrentUserId()},
+ fieldSetEntity.getInteger(CmnConst.PAGESIZE), fieldSetEntity.getInteger(CmnConst.CPAGE));
baseDao.listInternationDataTable(documentData, null);
return documentData;
}
@@ -469,6 +480,26 @@
return baseDao.listTable("SELECT CONCAT(b.show_name, a.state) log,a.created_utc_datetime FROM PRODUCT_OA_document_log a LEFT JOIN product_sys_staffs b on a.created_by = b.user_id WHERE document_uuid = ? ORDER BY a.created_utc_datetime DESC",
new String[]{fieldSetEntity.getString(CmnConst.DOCUMENT_UUID)}, fieldSetEntity.getInteger(CmnConst.PAGESIZE), fieldSetEntity.getInteger(CmnConst.CPAGE));
}
+
+ /**
+ * 鏂囨。鏀惰棌
+ * @param fse
+ * @return
+ */
+ public String documentCollection(FieldSetEntity fse) {
+ BaseUtil.createCreatorAndCreationTime(fse);
+ fse.setValue("document_collector", SpringMVCContextHolder.getCurrentUserId());
+ return baseDao.add(fse);
+ }
+
+ /**
+ * 鏂囨。鍙栨秷鏀惰棌
+ * @param documentUUID
+ * @return
+ */
+ public boolean documentCancelCollection(String documentUUID) {
+ return baseDao.delete(CmnConst.PRODUCT_OA_DOCUMENT_COLLECTION, "document_uuid = ? AND document_collector = ?", new Object[] {documentUUID, SpringMVCContextHolder.getCurrentUserId()});
+ }
@Override
public DataTableEntity getApplyDocument(FieldSetEntity fse) throws BaseException {
diff --git a/src/main/java/com/product/file/service/ide/IDocumentService.java b/src/main/java/com/product/file/service/ide/IDocumentService.java
index 2d2e3a8..0a3203c 100644
--- a/src/main/java/com/product/file/service/ide/IDocumentService.java
+++ b/src/main/java/com/product/file/service/ide/IDocumentService.java
@@ -4,7 +4,6 @@
import com.product.core.entity.DataTableEntity;
import com.product.core.entity.FieldSetEntity;
import com.product.core.exception.BaseException;
-import org.jsoup.Connection;
/**
* Copyright LX-BASE
--
Gitblit v1.9.2