diff --git a/tool-tech-admin/src/main/java/com/rzdata/web/controller/document/DocumentController.java b/tool-tech-admin/src/main/java/com/rzdata/web/controller/document/DocumentController.java index 73ae114..cc014b2 100644 --- a/tool-tech-admin/src/main/java/com/rzdata/web/controller/document/DocumentController.java +++ b/tool-tech-admin/src/main/java/com/rzdata/web/controller/document/DocumentController.java @@ -110,4 +110,14 @@ public class DocumentController extends BaseController { return toAjax(documentService.pushDoc(ids)); } + + + /** + * 文档统计,涉及文档类别统计、文档来源统计 + */ + @GetMapping("/statistics") + public AjaxResult statistics() + { + return AjaxResult.success(documentService.statistics()); + } } diff --git a/tool-tech-admin/src/main/java/com/rzdata/web/mapper/DocumentMapper.java b/tool-tech-admin/src/main/java/com/rzdata/web/mapper/DocumentMapper.java index 331e109..f42ac8a 100644 --- a/tool-tech-admin/src/main/java/com/rzdata/web/mapper/DocumentMapper.java +++ b/tool-tech-admin/src/main/java/com/rzdata/web/mapper/DocumentMapper.java @@ -3,6 +3,7 @@ package com.rzdata.web.mapper; import com.rzdata.web.domain.Document; import java.util.List; +import java.util.Map; /** * 【请填写功能名称】Mapper接口 @@ -63,4 +64,8 @@ public interface DocumentMapper public int updatePushDoc(Document doc); public int batchDeleteById(List list); + + List> countType(); + + List> countSource(); } diff --git a/tool-tech-admin/src/main/java/com/rzdata/web/service/IDocumentService.java b/tool-tech-admin/src/main/java/com/rzdata/web/service/IDocumentService.java index 43b1c0a..7f77659 100644 --- a/tool-tech-admin/src/main/java/com/rzdata/web/service/IDocumentService.java +++ b/tool-tech-admin/src/main/java/com/rzdata/web/service/IDocumentService.java @@ -3,6 +3,7 @@ package com.rzdata.web.service; import com.rzdata.web.domain.Document; import java.util.List; +import java.util.Map; /** * 【请填写功能名称】Service接口 @@ -74,4 +75,6 @@ public interface IDocumentService int pushDoc(String[] ids); public int batchDeleteById(List docIds); + + Map statistics(); } diff --git a/tool-tech-admin/src/main/java/com/rzdata/web/service/impl/DocumentServiceImpl.java b/tool-tech-admin/src/main/java/com/rzdata/web/service/impl/DocumentServiceImpl.java index 4959a06..56f87e0 100644 --- a/tool-tech-admin/src/main/java/com/rzdata/web/service/impl/DocumentServiceImpl.java +++ b/tool-tech-admin/src/main/java/com/rzdata/web/service/impl/DocumentServiceImpl.java @@ -5,8 +5,10 @@ import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.rzdata.common.constant.Constants; +import com.rzdata.common.core.domain.entity.SysDictData; import com.rzdata.common.utils.DateUtils; import com.rzdata.common.utils.SecurityUtils; +import com.rzdata.system.service.ISysDictTypeService; import com.rzdata.web.domain.Attachment; import com.rzdata.web.domain.Document; import com.rzdata.web.domain.Tool; @@ -16,9 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Arrays; -import java.util.Date; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; /** @@ -37,6 +37,9 @@ public class DocumentServiceImpl implements IDocumentService @Autowired private ToolServiceImpl toolService; + @Autowired + private ISysDictTypeService sysDictTypeService; + /** * 查询【请填写功能名称】 * @@ -236,5 +239,45 @@ public class DocumentServiceImpl implements IDocumentService public int batchDeleteById(List docIds){ return documentMapper.batchDeleteById(docIds); } + + @Override + public Map statistics() { + Map result = new HashMap<>(); + List> countType = this.documentMapper.countType(); + List> countSource = this.documentMapper.countSource(); + //组织数据 + assembleData(countType, countSource); + result.put("countType", countType); + result.put("countSource", countSource); + return result; + } + + private void assembleData(List> countType, List> countSource) { + // + List toolTypeList = sysDictTypeService.selectDictDataByType("doc_class"); + List toolSourceList = sysDictTypeService.selectDictDataByType("doc_source"); + if(CollUtil.isNotEmpty(countType)){ + for (Map map : countType) { + map.put("value", map.get("statistics")); + for (SysDictData sysDictData : toolTypeList) { + if(sysDictData.getDictValue().equals(map.get("types"))){ + map.put("name", sysDictData.getDictLabel()); + break; + } + } + } + } + if(CollUtil.isNotEmpty(countSource)){ + for (Map map : countSource) { + map.put("value", map.get("statistics")); + for (SysDictData sysDictData : toolSourceList) { + if(sysDictData.getDictValue().equals(map.get("types"))){ + map.put("name", sysDictData.getDictLabel()); + break; + } + } + } + } + } } diff --git a/tool-tech-admin/src/main/resources/mapper/DocumentMapper.xml b/tool-tech-admin/src/main/resources/mapper/DocumentMapper.xml index db63e8c..5337fce 100644 --- a/tool-tech-admin/src/main/resources/mapper/DocumentMapper.xml +++ b/tool-tech-admin/src/main/resources/mapper/DocumentMapper.xml @@ -163,4 +163,14 @@ + + + + + + \ No newline at end of file