From f7fdd04ab30bb9a88d8399895776fa4c15673e86 Mon Sep 17 00:00:00 2001 From: 18756 <1875631620@qq.com> Date: 星期五, 23 八月 2024 15:43:09 +0800 Subject: [PATCH] 文档借阅功能8.23 --- src/main/java/com/product/file/service/ide/IDocumentService.java | 29 +++++++ src/main/java/com/product/file/service/DocumentService.java | 95 +++++++++++++++++++++++ src/main/java/com/product/file/controller/DocumentConstoller.java | 60 +++++++++++++++ 3 files changed, 184 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/product/file/controller/DocumentConstoller.java b/src/main/java/com/product/file/controller/DocumentConstoller.java index 0cf90b3..123edb9 100644 --- a/src/main/java/com/product/file/controller/DocumentConstoller.java +++ b/src/main/java/com/product/file/controller/DocumentConstoller.java @@ -25,6 +25,7 @@ import javax.servlet.http.HttpServletRequest; import java.util.*; +import java.util.function.DoubleConsumer; /** * Copyright LX-BASE @@ -382,6 +383,65 @@ } } + + @RequestMapping(value = "/getApplyDocument/{version}", method = RequestMethod.POST) + @ApiVersion(1) + public String getApplyDocument(HttpServletRequest request){ + DataTableEntity applyDocument = documentService.getApplyDocument(); + return OK_List(applyDocument); + + } + + + /** + * 鏂囨。鐢宠淇濆瓨涓庢洿鏂� + * @param request + * @return + */ + @RequestMapping(value = "/addOrUpdateApplyDocument/{version}", method = RequestMethod.POST) + @ApiVersion(1) + public String addOrUpdateApplyDocument(HttpServletRequest request){ + //鑾峰彇鍙傛暟 + 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()); + } + documentService.addOrUpdateApplyDocument(fse); + return OK(); + } + + /** + * 鍊熼槄鏂囨。鎺掑悕 + * @return + */ + @RequestMapping(value = "/getApplayFileSort/{version}", method = RequestMethod.POST) + @ApiVersion(1) + public String getApplayFileSort(){ + DataTableEntity applayFileSort = documentService.getApplayFileSort(); + return OK_List(applayFileSort); + } + + + /** + * 鏂囨。鍊熼槄浜哄憳鎺掑悕 + * @return + */ + @RequestMapping(value = "/getApplayUserSort/{version}", method = RequestMethod.POST) + @ApiVersion(1) + public String getApplayUserSort(){ + DataTableEntity applayFileSort = documentService.getApplayUserSort(); + return OK_List(applayFileSort); + } + } + diff --git a/src/main/java/com/product/file/service/DocumentService.java b/src/main/java/com/product/file/service/DocumentService.java index febc3bd..03257d8 100644 --- a/src/main/java/com/product/file/service/DocumentService.java +++ b/src/main/java/com/product/file/service/DocumentService.java @@ -1,5 +1,7 @@ package com.product.file.service; +import cn.hutool.core.lang.UUID; +import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; import com.product.common.collect.ListUtils; import com.product.common.collect.MapUtils; @@ -467,4 +469,97 @@ 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)); } + + @Override + public DataTableEntity getApplyDocument() throws BaseException { + + DataTableEntity product_oa_document = baseDao.listTable("product_oa_document"); + + return product_oa_document; + } + + @Override + public void addOrUpdateApplyDocument(FieldSetEntity fse) throws BaseException { + + String[] attachment = new String[0]; + if(ObjectUtil.isNotEmpty(fse.getString("uuid"))){ + UUID uuid = UUID.randomUUID(); + fse.setValue("uuid",uuid); + baseDao.add(fse); + + if(ObjectUtil.isNotEmpty(fse.getString("attachment_uuid"))){ + String attachment_uuid = fse.getString("attachment_uuid"); + attachment= attachment_uuid.split(","); + } + for (int i = 0; i < attachment.length; i++) { + FieldSetEntity fieldSetEntity = new FieldSetEntity(); + fieldSetEntity.setTableName("product_oa_document_borrow_sub"); + fieldSetEntity.setValue("borrow_uuid",uuid); + fieldSetEntity.setValue("sub_uuid",attachment[i]); + + } + + }else { + String uuid = fse.getString("uuid"); + String filter="borrow_uuid='"+uuid+"'"; + //鍒犻櫎鍘熸潵闄勪欢淇℃伅 + baseDao.delete("product_oa_document_borrow_sub",filter,new Object[]{}); + baseDao.update(fse); + if(ObjectUtil.isNotEmpty(fse.getString("attachment_uuid"))){ + String attachment_uuid = fse.getString("attachment_uuid"); + attachment= attachment_uuid.split(","); + } + + //閲嶆柊璺熸柊闄勪欢淇℃伅 + for (int i = 0; i < attachment.length; i++) { + FieldSetEntity fieldSetEntity = new FieldSetEntity(); + fieldSetEntity.setTableName("product_oa_document_borrow_sub"); + fieldSetEntity.setValue("borrow_uuid",uuid); + fieldSetEntity.setValue("sub_uuid",attachment[i]); + baseDao.add(fieldSetEntity); + + } + + + } + + } + + @Override + public DataTableEntity getApplayFileSort() throws BaseException { + StringBuilder sb=new StringBuilder(); + sb.append(" SELECT b.* FROM ("); + sb.append(" SELECT t.uuid,t.file_name,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(" 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"); + sb.append(" )b order by b.applyCount asc"); + DataTableEntity dataTableEntity = baseDao.listTable(sb.toString()); + return dataTableEntity; + } + + @Override + public DataTableEntity getApplayUserSort() throws BaseException { + StringBuilder sb=new StringBuilder(); + sb.append(" SELECT a.borrower,a.show_name,a.applayCount,a.applayFileCount "); + sb.append(" FROM ("); + sb.append(" SELECT w.borrower,"); + sb.append(" (select count(borrower) from product_oa_document_borrow group by borrower ) as applayCount,"); + sb.append(" count(sub_uuid) as applayFileCount "); + sb.append(" FROM product_oa_document_borrow w "); + sb.append(" JOIN product_oa_document_borrow_sub b"); + sb.append(" on b.borrow_uuid=w.uuid"); + sb.append(" JOIN product_oa_document t"); + sb.append(" on b.sub_uuid=t.uuid"); + sb.append(" 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"); + sb.append(" order by a.applayCount,a.applayFileCount asc"); + DataTableEntity dataTableEntity = baseDao.listTable(sb.toString()); + return dataTableEntity; + } } 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 fb94c34..58709f1 100644 --- a/src/main/java/com/product/file/service/ide/IDocumentService.java +++ b/src/main/java/com/product/file/service/ide/IDocumentService.java @@ -4,6 +4,7 @@ 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 @@ -115,4 +116,32 @@ * @throws BaseException */ DataTableEntity getDocumentLog(FieldSetEntity fieldSet)throws BaseException; + + /** + * 鑾峰彇鍊熼槄鏂囨。鐨勫垪琛� + * @return + * @throws BaseException + */ + DataTableEntity getApplyDocument() throws BaseException; + + /** + * 鏇存柊娣诲姞鍊熼槄鐢宠 + * @throws BaseException + */ + void addOrUpdateApplyDocument(FieldSetEntity fse) throws BaseException; + + /** + * 鑾峰彇鍊熼槄鏂囨。鎺掑悕 + * @return + * @throws BaseException + */ + + DataTableEntity getApplayFileSort() throws BaseException; + + /** + * 鑾峰彇鍊熼槄浜烘帓鍚� + * @return + * @throws BaseException + */ + DataTableEntity getApplayUserSort() throws BaseException; } -- Gitblit v1.9.2