Browse Source

作者:张哲
时间:2023/04/21
类型:开发
描述:里程碑(3) 需求变更,组织访问重新定义接口

zizg 2 years ago
parent
commit
4dcb6101a8
20 changed files with 413 additions and 14 deletions
  1. 29 0
      src/main/java/com/redxun/knowledge/analysis/controller/AnalysisCommonController.java
  2. 1 1
      src/main/java/com/redxun/knowledge/analysis/entity/vo/AlbumCompanyVo.java
  3. 1 1
      src/main/java/com/redxun/knowledge/analysis/entity/vo/KnowledgeCompanyVo.java
  4. 1 1
      src/main/java/com/redxun/knowledge/analysis/entity/vo/MapCompanyVo.java
  5. 1 1
      src/main/java/com/redxun/knowledge/analysis/entity/vo/SynthesizeCompanyVo.java
  6. 8 0
      src/main/java/com/redxun/knowledge/analysis/mapper/AnalysisAlbumMapper.java
  7. 9 0
      src/main/java/com/redxun/knowledge/analysis/mapper/AnalysisCommonMapper.java
  8. 9 0
      src/main/java/com/redxun/knowledge/analysis/mapper/AnalysisMapMapper.java
  9. 10 0
      src/main/java/com/redxun/knowledge/analysis/mapper/AnalysisSynthesizeMapper.java
  10. 3 0
      src/main/java/com/redxun/knowledge/analysis/mapper/PvLogMapper.java
  11. 36 1
      src/main/java/com/redxun/knowledge/analysis/service/AnalysisAlbumServiceImpl.java
  12. 58 1
      src/main/java/com/redxun/knowledge/analysis/service/AnalysisCommonServiceImpl.java
  13. 41 5
      src/main/java/com/redxun/knowledge/analysis/service/AnalysisMapServiceImpl.java
  14. 41 1
      src/main/java/com/redxun/knowledge/analysis/service/AnalysisSynthesizeServiceImpl.java
  15. 1 2
      src/main/java/com/redxun/knowledge/service/CommonServiceImpl.java
  16. 31 0
      src/main/resources/mapper/knowledge/analysis/AnalysisAlbumMapper.xml
  17. 18 0
      src/main/resources/mapper/knowledge/analysis/AnalysisCommonMapper.xml
  18. 31 0
      src/main/resources/mapper/knowledge/analysis/AnalysisMapMapper.xml
  19. 79 0
      src/main/resources/mapper/knowledge/analysis/AnalysisSynthesizeMapper.xml
  20. 5 0
      src/main/resources/mapper/knowledge/analysis/PvLogMapper.xml

+ 29 - 0
src/main/java/com/redxun/knowledge/analysis/controller/AnalysisCommonController.java

@@ -102,6 +102,13 @@ public class AnalysisCommonController {
         return jsonResult;
     }
 
+    @ApiOperation("组织创建知识数量(新)")
+    @GetMapping("organizationKnowledge")
+    public JsonResult organizationKnowledge(@RequestParam("type") String type,@RequestParam("organizationId") String organizationId) {
+        KnowledgeCompanyVo result = analysisCommonService.organizationKnowledge(type,organizationId);
+        return JsonResult.getSuccessResult(result);
+    }
+
     @ApiOperation("专辑创建总量")
     @GetMapping("albumAmount")
     public JsonResult albumAmount(@RequestParam("type") String type) {
@@ -134,6 +141,14 @@ public class AnalysisCommonController {
         return jsonResult;
     }
 
+    @ApiOperation("组织创建和访问专辑数量(新)")
+    @GetMapping("organizationAlbum")
+    public JsonResult organizationAlbum(@RequestParam("type") String type,
+                                           @RequestParam("organizationId") String organizationId) {
+        AlbumCompanyVo result = analysisAlbumService.organizationAlbum(type, organizationId);
+        return JsonResult.getSuccessResult(result);
+    }
+
     @ApiOperation("地图创建总量")
     @GetMapping("mapAmount")
     public JsonResult mapAmount(@RequestParam("type") String type) {
@@ -164,6 +179,13 @@ public class AnalysisCommonController {
         return jsonResult;
     }
 
+    @ApiOperation("组织创建和访问地图数量(新)")
+    @GetMapping("organizationMap")
+    public JsonResult organizationMap(@RequestParam("type") String type,@RequestParam("organizationId") String organizationId){
+        MapCompanyVo result = analysisMapService.organizationMap(type,organizationId);
+        return JsonResult.getSuccessResult(result);
+    }
+
     @ApiOperation("各业务系统分布")
     @GetMapping("searchSystemDetailVisits")
     public JsonResult searchSystemDetailVisits(@RequestParam("type") String type) {
@@ -211,4 +233,11 @@ public class AnalysisCommonController {
         jsonResult.setPageData(result);
         return jsonResult;
     }
+
+    @ApiOperation("组织访问量(新)")
+    @GetMapping("organizationVisit")
+    public JsonResult organizationVisit(@RequestParam("type") String type,@RequestParam("organizationId")String organizationId){
+        SynthesizeCompanyVo result = analysisSynthesizeService.organizationVisit(type,organizationId);
+        return JsonResult.getSuccessResult(result);
+    }
 }

+ 1 - 1
src/main/java/com/redxun/knowledge/analysis/entity/vo/AlbumCompanyVo.java

@@ -20,7 +20,7 @@ import java.io.Serializable;
 public class AlbumCompanyVo implements Serializable {
 
     @ApiModelProperty("公司名称")
-    private String company;
+    private String organization;
 
     @ApiModelProperty("专辑创建总量")
     private Integer album;

+ 1 - 1
src/main/java/com/redxun/knowledge/analysis/entity/vo/KnowledgeCompanyVo.java

@@ -20,7 +20,7 @@ import java.io.Serializable;
 public class KnowledgeCompanyVo implements Serializable {
 
     @ApiModelProperty("公司名称")
-    private String company;
+    private String organization;
 
     @ApiModelProperty("知识创建总量")
     private Integer total;

+ 1 - 1
src/main/java/com/redxun/knowledge/analysis/entity/vo/MapCompanyVo.java

@@ -20,7 +20,7 @@ import java.io.Serializable;
 public class MapCompanyVo implements Serializable {
 
     @ApiModelProperty("公司名称")
-    private String company;
+    private String organization;
 
     @ApiModelProperty("地图创建总量")
     private Integer map;

+ 1 - 1
src/main/java/com/redxun/knowledge/analysis/entity/vo/SynthesizeCompanyVo.java

@@ -21,7 +21,7 @@ import java.io.Serializable;
 public class SynthesizeCompanyVo implements Serializable {
 
     @ApiModelProperty("公司名称")
-    private String company;
+    private String organization;
 
     @ApiModelProperty("总访问量")
     private Integer total;

+ 8 - 0
src/main/java/com/redxun/knowledge/analysis/mapper/AnalysisAlbumMapper.java

@@ -62,4 +62,12 @@ public interface AnalysisAlbumMapper {
 
     String selectCategoryName(String categoryId);
 
+    /**
+     * 组织创建和访问专辑数量(新)
+     * @param firstDay
+     * @param lastDay
+     * @param organizationId
+     * @return
+     */
+    AlbumCompanyVo organizationAlbum(@Param("firstDay") String firstDay,@Param("lastDay") String lastDay, @Param("organizationId") String organizationId);
 }

+ 9 - 0
src/main/java/com/redxun/knowledge/analysis/mapper/AnalysisCommonMapper.java

@@ -2,6 +2,7 @@ package com.redxun.knowledge.analysis.mapper;
 
 
 import com.redxun.knowledge.analysis.entity.dao.KnowledgeDao;
+import com.redxun.knowledge.analysis.entity.vo.KnowledgeCompanyVo;
 import com.redxun.knowledge.analysis.entity.vo.SearchParticipleWordCloudVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -87,4 +88,12 @@ public interface AnalysisCommonMapper {
      * @return
      */
     List<KnowledgeDao> organizationKnowledges(@Param("firstDay") String firstDay, @Param("lastDay") String lastDay);
+
+    /**
+     * 组织创建知识数量(新)
+     * @param firstDay
+     * @param lastDay
+     * @return
+     */
+    List<KnowledgeDao> organizationVisit(@Param("firstDay") String firstDay, @Param("lastDay") String lastDay,@Param("organizationId") String organizationId);
 }

+ 9 - 0
src/main/java/com/redxun/knowledge/analysis/mapper/AnalysisMapMapper.java

@@ -55,4 +55,13 @@ public interface AnalysisMapMapper {
      * @return
      */
     List<CreateCountLabel> mapAmount(@Param("firstDay") String firstDay, @Param("lastDay") String lastDay,@Param("type") String type);
+
+    /**
+     * 组织创建和访问地图数量(新)
+     * @param firstDay
+     * @param lastDay
+     * @param organizationId
+     * @return
+     */
+    MapCompanyVo organizationMap(@Param("firstDay") String firstDay, @Param("lastDay") String lastDay,@Param("organizationId") String organizationId);
 }

+ 10 - 0
src/main/java/com/redxun/knowledge/analysis/mapper/AnalysisSynthesizeMapper.java

@@ -53,4 +53,14 @@ public interface AnalysisSynthesizeMapper {
      * @return
      */
     List<CreateUserViewLabel> totalUserVisits(@Param("firstDay") String firstDay, @Param("lastDay") String lastDay,@Param("module") String module,@Param("type") String type);
+
+    /**
+     * 组织访问量
+     * @param firstDay
+     * @param lastDay
+     * @param organizationId
+     * @return
+     */
+    SynthesizeCompanyVo organizationVisit(@Param("firstDay") String firstDay, @Param("lastDay") String lastDay,@Param("organizationId") String organizationId);
+
 }

+ 3 - 0
src/main/java/com/redxun/knowledge/analysis/mapper/PvLogMapper.java

@@ -33,4 +33,7 @@ public interface PvLogMapper extends BaseDao<PvLog> {
      * @return
      */
     SearchVisitHistogramVo searchVisitHistogram(@Param("firstDay")String firstOfYear,@Param("lastDay") String lastOfYear);
+
+    String findAllDeptIdByDeptId(String organizationId);
+
 }

+ 36 - 1
src/main/java/com/redxun/knowledge/analysis/service/AnalysisAlbumServiceImpl.java

@@ -205,7 +205,42 @@ public class AnalysisAlbumServiceImpl {
         } else {
             result = result.stream().limit(10).collect(Collectors.toList());
         }
-        result.forEach(e -> e.setCompany(userService.findDeptByDeptId(e.getCompany()).getName()));
+        result.forEach(e -> e.setOrganization(userService.findDeptByDeptId(e.getOrganization()).getName()));
         return PageListUtils.getPages(queryData.getPageNo(),queryData.getPageSize(),result);
     }
+
+    /**
+     * 组织创建和访问专辑数量(新)
+     * @param type
+     * @param organizationId
+     * @return
+     */
+    public AlbumCompanyVo organizationAlbum(String type, String organizationId) {
+        Calendar calendar = Calendar.getInstance();
+        int year = calendar.get(Calendar.YEAR);
+        AlbumCompanyVo result = new AlbumCompanyVo();
+        if ("total".equals(type)) {
+            result = analysisAlbumMapper.organizationAlbum(null, null,organizationId);
+        } else if ("year".equals(type)) {
+            result = analysisAlbumMapper.organizationAlbum(DateUtils.format(DateUtils.getFirstOfYear(year)),
+                    DateUtils.format(DateUtils.getLastOfYear(year)),organizationId);
+        } else if ("month".equals(type)) {
+            int month = calendar.get(Calendar.MONTH);
+            String firstOfMonth = DateUtils.getFirstOfMonth(year, month + 1, 15);
+            String lastOfMonth = DateUtils.getLastOfMonth(year, month + 1, 15);
+            result = analysisAlbumMapper.organizationAlbum(firstOfMonth, lastOfMonth,organizationId);
+        }
+        String deptPath = pvLogMapper.findAllDeptIdByDeptId(organizationId);
+        deptPath = deptPath.substring(deptPath.indexOf(".") + 1);
+        String[] split = deptPath.split("\\.");
+        if (split.length > 6){
+            String first = Arrays.stream(split).limit(3).map(e -> userService.findDeptByDeptId(e).getName()).collect(Collectors.joining(">"));
+            String end = Arrays.stream(split).skip(split.length - 3).map(e -> userService.findDeptByDeptId(e).getName()).collect(Collectors.joining(">"));
+            result.setOrganization(first + ">...>" + end);
+        } else {
+            String organization = Arrays.stream(split).map(e -> userService.findDeptByDeptId(e).getName()).collect(Collectors.joining(">"));
+            result.setOrganization(organization);
+        }
+        return result;
+    }
 }

+ 58 - 1
src/main/java/com/redxun/knowledge/analysis/service/AnalysisCommonServiceImpl.java

@@ -9,6 +9,7 @@ import com.redxun.knowledge.analysis.entity.dao.KnowledgeDao;
 import com.redxun.knowledge.analysis.entity.vo.*;
 import com.redxun.knowledge.analysis.mapper.AnalysisCommonMapper;
 import com.redxun.knowledge.analysis.mapper.PvLogMapper;
+import com.redxun.knowledge.common.UserService;
 import com.redxun.knowledge.utils.DateUtils;
 
 import com.redxun.knowledge.utils.PageListUtils;
@@ -39,6 +40,9 @@ public class AnalysisCommonServiceImpl {
     @Autowired
     private PvLogMapper pvLogMapper;
 
+    @Autowired
+    private UserService userService;
+
     /**
      * 各模块整体数量统计:知识仓库(知识总数量);知识地图(地图总数量);知识专辑(专辑总数量)
      *
@@ -222,7 +226,7 @@ public class AnalysisCommonServiceImpl {
         }
         List<KnowledgeCompanyVo> result = count.parallelStream().map(e -> {
             KnowledgeCompanyVo knowledgeCompanyVo = new KnowledgeCompanyVo();
-            knowledgeCompanyVo.setCompany(e.getCompanyId());
+            knowledgeCompanyVo.setOrganization(e.getCompanyId());
             e.getCounts().forEach(c -> {
                 if (c.containsKey("type") && c.get("type").intValue() == 1) {
                     knowledgeCompanyVo.setArchive(c.get("count").intValue());
@@ -277,4 +281,57 @@ public class AnalysisCommonServiceImpl {
         }
         return PageListUtils.getPages(queryData.getPageNo(),queryData.getPageSize(),result);
     }
+
+    /**
+     * 组织创建知识数量(新)
+     * @param type
+     * @param organizationId
+     * @return
+     */
+    public KnowledgeCompanyVo organizationKnowledge(String type, String organizationId) {
+        Calendar calendar = Calendar.getInstance();
+        int year = calendar.get(Calendar.YEAR);
+        List<KnowledgeDao> count = new ArrayList<>();
+        if (("total").equals(type)) {
+            count = analysisCommonMapper.organizationVisit(null, null,organizationId);
+        } else if ("year".equals(type)) {
+            count = analysisCommonMapper.organizationVisit(DateUtils.format(DateUtils.getFirstOfYear(year)),
+                    DateUtils.format(DateUtils.getLastOfYear(year)),organizationId);
+        } else if ("month".equals(type)) {
+            int month = calendar.get(Calendar.MONTH);
+            String firstOfMonth = DateUtils.getFirstOfMonth(year, month + 1, 15);
+            String lastOfMonth = DateUtils.getLastOfMonth(year, month + 1, 15);
+            count = analysisCommonMapper.organizationVisit(firstOfMonth, lastOfMonth,organizationId);
+        }
+
+        KnowledgeCompanyVo knowledgeCompanyVo = new KnowledgeCompanyVo();
+        count.parallelStream().forEach(e -> e.getCounts().forEach(c -> {
+            if (c.containsKey("type") && c.get("type").intValue() == 1) {
+                knowledgeCompanyVo.setArchive(c.get("count").intValue());
+            }
+            if (c.containsKey("type") && c.get("type").intValue() == 2) {
+                knowledgeCompanyVo.setWiki(c.get("count").intValue());
+            }
+        }));
+
+        String deptPath = pvLogMapper.findAllDeptIdByDeptId(organizationId);
+        deptPath = deptPath.substring(deptPath.indexOf(".") + 1);
+        String[] split = deptPath.split("\\.");
+        if (split.length > 6){
+            String first = Arrays.stream(split).limit(3).map(e -> userService.findDeptByDeptId(e).getName()).collect(Collectors.joining(">"));
+            String end = Arrays.stream(split).skip(split.length - 3).map(e -> userService.findDeptByDeptId(e).getName()).collect(Collectors.joining(">"));
+            knowledgeCompanyVo.setOrganization(first + ">...>" + end);
+        } else {
+            String organization = Arrays.stream(split).map(e -> userService.findDeptByDeptId(e).getName()).collect(Collectors.joining(">"));
+            knowledgeCompanyVo.setOrganization(organization);
+        }
+        if (knowledgeCompanyVo.getArchive() == null){
+            knowledgeCompanyVo.setArchive(0);
+        }
+        if (knowledgeCompanyVo.getWiki() == null){
+            knowledgeCompanyVo.setWiki(0);
+        }
+        knowledgeCompanyVo.setTotal(knowledgeCompanyVo.getArchive() + knowledgeCompanyVo.getWiki());
+        return knowledgeCompanyVo;
+    }
 }

+ 41 - 5
src/main/java/com/redxun/knowledge/analysis/service/AnalysisMapServiceImpl.java

@@ -5,6 +5,7 @@ import com.redxun.common.base.entity.QueryData;
 import com.redxun.common.tool.StringUtils;
 import com.redxun.knowledge.analysis.entity.vo.*;
 import com.redxun.knowledge.analysis.mapper.AnalysisMapMapper;
+import com.redxun.knowledge.analysis.mapper.PvLogMapper;
 import com.redxun.knowledge.common.UserService;
 import com.redxun.knowledge.entity.vo.DicVo;
 import com.redxun.knowledge.mapper.CommonMapper;
@@ -14,10 +15,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Comparator;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -39,6 +37,9 @@ public class AnalysisMapServiceImpl {
     @Autowired
     private UserService userService;
 
+    @Autowired
+    private PvLogMapper pvLogMapper;
+
 
 
     /**
@@ -166,7 +167,42 @@ public class AnalysisMapServiceImpl {
         } else {
             result = result.stream().limit(10).collect(Collectors.toList());
         }
-        result.forEach(e -> e.setCompany(userService.findDeptByDeptId(e.getCompany()).getName()));
+        result.forEach(e -> e.setOrganization(userService.findDeptByDeptId(e.getOrganization()).getName()));
         return PageListUtils.getPages(queryData.getPageNo(),queryData.getPageSize(),result);
     }
+
+    /**
+     * 组织创建和访问地图数量(新)
+     * @param type
+     * @param organizationId
+     * @return
+     */
+    public MapCompanyVo organizationMap(String type, String organizationId) {
+        Calendar calendar = Calendar.getInstance();
+        int year = calendar.get(Calendar.YEAR);
+        MapCompanyVo result = new MapCompanyVo();
+        if ("total".equals(type)) {
+            result = analysisMapMapper.organizationMap(null, null,organizationId);
+        } else if ("year".equals(type)) {
+            result = analysisMapMapper.organizationMap(DateUtils.format(DateUtils.getFirstOfYear(year)),
+                    DateUtils.format(DateUtils.getLastOfYear(year)),organizationId);
+        } else if ("month".equals(type)) {
+            int month = calendar.get(Calendar.MONTH);
+            String firstOfMonth = DateUtils.getFirstOfMonth(year, month + 1, 15);
+            String lastOfMonth = DateUtils.getLastOfMonth(year, month + 1, 15);
+            result = analysisMapMapper.organizationMap(firstOfMonth, lastOfMonth,organizationId);
+        }
+        String deptPath = pvLogMapper.findAllDeptIdByDeptId(organizationId);
+        deptPath = deptPath.substring(deptPath.indexOf(".") + 1);
+        String[] split = deptPath.split("\\.");
+        if (split.length > 6){
+            String first = Arrays.stream(split).limit(3).map(e -> userService.findDeptByDeptId(e).getName()).collect(Collectors.joining(">"));
+            String end = Arrays.stream(split).skip(split.length - 3).map(e -> userService.findDeptByDeptId(e).getName()).collect(Collectors.joining(">"));
+            result.setOrganization(first + ">...>" + end);
+        } else {
+            String organization = Arrays.stream(split).map(e -> userService.findDeptByDeptId(e).getName()).collect(Collectors.joining(">"));
+            result.setOrganization(organization);
+        }
+        return result;
+    }
 }

+ 41 - 1
src/main/java/com/redxun/knowledge/analysis/service/AnalysisSynthesizeServiceImpl.java

@@ -3,8 +3,10 @@ package com.redxun.knowledge.analysis.service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.redxun.common.base.entity.QueryData;
 import com.redxun.common.tool.StringUtils;
+import com.redxun.feign.org.OsGroupMenuClient;
 import com.redxun.knowledge.analysis.entity.vo.*;
 import com.redxun.knowledge.analysis.mapper.AnalysisSynthesizeMapper;
+import com.redxun.knowledge.analysis.mapper.PvLogMapper;
 import com.redxun.knowledge.common.UserService;
 import com.redxun.knowledge.utils.DateUtils;
 import com.redxun.knowledge.utils.PageListUtils;
@@ -31,6 +33,9 @@ public class AnalysisSynthesizeServiceImpl {
     @Autowired
     private AnalysisSynthesizeMapper analysisSynthesizeMapper;
 
+    @Autowired
+    private PvLogMapper pvLogMapper;
+
     @Autowired
     private UserService userService;
 
@@ -107,7 +112,7 @@ public class AnalysisSynthesizeServiceImpl {
             result = result.stream().limit(10).collect(Collectors.toList());
         }
         //公司名称赋值
-        result.forEach(e -> e.setCompany(userService.findDeptByDeptId(e.getCompany()).getName()));
+        result.forEach(e -> e.setOrganization(userService.findDeptByDeptId(e.getOrganization()).getName()));
         return PageListUtils.getPages(queryData.getPageNo(), queryData.getPageSize(), result);
     }
 
@@ -191,4 +196,39 @@ public class AnalysisSynthesizeServiceImpl {
         createUserView.setLables(createUserViewLabel);
         return createUserView;
     }
+
+    /**
+     * 组织访问量(新)
+     * @param type
+     * @param organizationId
+     * @return
+     */
+    public SynthesizeCompanyVo organizationVisit(String type, String organizationId) {
+        Calendar calendar = Calendar.getInstance();
+        int year = calendar.get(Calendar.YEAR);
+        SynthesizeCompanyVo result = new SynthesizeCompanyVo();
+        if ("total".equals(type)) {
+            result = analysisSynthesizeMapper.organizationVisit(null, null,organizationId);
+        } else if ("year".equals(type)) {
+            result = analysisSynthesizeMapper.organizationVisit(DateUtils.format(DateUtils.getFirstOfYear(year)),
+                    DateUtils.format(DateUtils.getLastOfYear(year)),organizationId);
+        } else if ("month".equals(type)) {
+            int month = calendar.get(Calendar.MONTH);
+            String firstOfMonth = DateUtils.getFirstOfMonth(year, month + 1, 15);
+            String lastOfMonth = DateUtils.getLastOfMonth(year, month + 1, 15);
+            result = analysisSynthesizeMapper.organizationVisit(firstOfMonth, lastOfMonth,organizationId);
+        }
+        String deptPath = pvLogMapper.findAllDeptIdByDeptId(organizationId);
+        deptPath = deptPath.substring(deptPath.indexOf(".") + 1);
+        String[] split = deptPath.split("\\.");
+        if (split.length > 6){
+            String first = Arrays.stream(split).limit(3).map(e -> userService.findDeptByDeptId(e).getName()).collect(Collectors.joining(">"));
+            String end = Arrays.stream(split).skip(split.length - 3).map(e -> userService.findDeptByDeptId(e).getName()).collect(Collectors.joining(">"));
+            result.setOrganization(first + ">...>" + end);
+        } else {
+            String organization = Arrays.stream(split).map(e -> userService.findDeptByDeptId(e).getName()).collect(Collectors.joining(">"));
+            result.setOrganization(organization);
+        }
+        return result;
+    }
 }

+ 1 - 2
src/main/java/com/redxun/knowledge/service/CommonServiceImpl.java

@@ -126,8 +126,7 @@ public class CommonServiceImpl extends SuperServiceImpl<CommonMapper, CommonEnti
         }
         BeanUtils.copyProperties(systemLogDto,pvLog);
         pvLog.setPkId(IdGenerator.getIdStr());
-        OsUserDto osUserDto = userService.queryOsUserDto(users.getUserId());
-        pvLog.setCompanyId(osUserDto.getCompanyId());
+        pvLog.setCompanyId(systemLogDto.getCompanyId());
         pvLog.setCreateDepId(users.getDeptId());
         pvLog.setTenantId(users.getTenantId());
         pvLog.setCreateBy(users.getUserId());

+ 31 - 0
src/main/resources/mapper/knowledge/analysis/AnalysisAlbumMapper.xml

@@ -119,5 +119,36 @@
         select NAME from KM_ALBUM_CATEGORY where PK_ID = #{categoryId}
     </select>
 
+    <select id="organizationAlbum" resultType="com.redxun.knowledge.analysis.entity.vo.AlbumCompanyVo">
+        select NVL(album, 0) as album, NVL(pv, 0) as pv
+        from (select count(*) pv
+              from KM_PV_LOG
+        <where>
+            COMPANY_ID in (
+            select GROUP_ID_
+            from LEARNING_USER_DEV.OS_GROUP
+            where GROUP_ID_ in (
+            SELECT GROUP_ID_
+            FROM LEARNING_USER_DEV.OS_GROUP c
+            START WITH c.GROUP_ID_ = #{organizationId}
+            CONNECT BY PRIOR c.GROUP_ID_ = c.PARENT_ID_
+            )
+            )
+            and MODULE = '知识专辑'
+            <if test="firstDay != null and lastDay != null">
+                and TO_CHAR(CREATE_TIME_,'yyyy-mm-dd') &gt;= #{firstDay}
+                and TO_CHAR(CREATE_TIME_,'yyyy-mm-dd') &lt;= #{lastDay}
+            </if>
+        </where>
+        ),
+        (select count(*) album from KM_ALBUM_INFO album
+        <where>CREATE_DEP_ID_ = #{organizationId}
+            <if test="firstDay != null and lastDay != null">
+             and TO_CHAR(CREATE_TIME_,'yyyy-mm-dd') &gt;= #{firstDay}
+             and TO_CHAR(CREATE_TIME_,'yyyy-mm-dd') &lt;= #{lastDay}
+         </if>
+    </where>)
+    </select>
+
 
 </mapper>

+ 18 - 0
src/main/resources/mapper/knowledge/analysis/AnalysisCommonMapper.xml

@@ -83,6 +83,24 @@
         group by users.COMPANY_ID_,TYPE,NAME_
     </select>
 
+    <select id="organizationVisit" resultMap="info">
+        select count(*) as count,TYPE as type
+        from KM_KNOWLEDGE
+        <where>
+            CREATE_DEP_ID_ in (
+            select GROUP_ID_ from LEARNING_USER_DEV.OS_GROUP where GROUP_ID_ in(
+            SELECT GROUP_ID_ FROM LEARNING_USER_DEV.OS_GROUP c
+            START WITH c.GROUP_ID_ = #{organizationId} CONNECT BY PRIOR c.GROUP_ID_ = c.PARENT_ID_
+            )
+            )
+            <if test="firstDay != null and lastDay != null">
+                and TO_CHAR(CREATE_TIME_,'yyyy-mm-dd') &gt;= #{firstDay}
+                and TO_CHAR(CREATE_TIME_,'yyyy-mm-dd') &lt;= #{lastDay}
+            </if>
+        </where>
+        group by TYPE
+    </select>
+
 
 </mapper>
 

+ 31 - 0
src/main/resources/mapper/knowledge/analysis/AnalysisMapMapper.xml

@@ -110,4 +110,35 @@
         </if>
     </select>
 
+    <select id="organizationMap" resultType="com.redxun.knowledge.analysis.entity.vo.MapCompanyVo">
+        select NVL(album, 0) as map, NVL(pv, 0) as pv
+        from (select count(*) pv
+        from KM_PV_LOG
+        <where>
+            COMPANY_ID in (
+            select GROUP_ID_
+            from LEARNING_USER_DEV.OS_GROUP
+            where GROUP_ID_ in (
+            SELECT GROUP_ID_
+            FROM LEARNING_USER_DEV.OS_GROUP c
+            START WITH c.GROUP_ID_ = #{organizationId}
+            CONNECT BY PRIOR c.GROUP_ID_ = c.PARENT_ID_
+            )
+            )
+            and MODULE = '知识地图'
+            <if test="firstDay != null and lastDay != null">
+                and TO_CHAR(CREATE_TIME_,'yyyy-mm-dd') &gt;= #{firstDay}
+                and TO_CHAR(CREATE_TIME_,'yyyy-mm-dd') &lt;= #{lastDay}
+            </if>
+        </where>
+        ),
+        (select count(*) album from KM_MAP album
+        <where>CREATE_DEP_ID_ = #{organizationId}
+            <if test="firstDay != null and lastDay != null">
+                and TO_CHAR(CREATE_TIME_,'yyyy-mm-dd') &gt;= #{firstDay}
+                and TO_CHAR(CREATE_TIME_,'yyyy-mm-dd') &lt;= #{lastDay}
+            </if>
+        </where>)
+    </select>
+
 </mapper>

+ 79 - 0
src/main/resources/mapper/knowledge/analysis/AnalysisSynthesizeMapper.xml

@@ -223,4 +223,83 @@
         order by monthlist
         </if>
     </select>
+
+    <select id="organizationVisit" resultType="com.redxun.knowledge.analysis.entity.vo.SynthesizeCompanyVo">
+        select
+            NVL(total, 0) as total,NVL(knowledge, 0) as knowledge,NVL(map, 0) as
+                             map,
+            NVL(album, 0) as album,NVL(search, 0) as search
+        from
+            (select sum(count(*)) over () total
+             from KM_PV_LOG
+            <where>
+                COMPANY_ID in (
+                select GROUP_ID_ from LEARNING_USER_DEV.OS_GROUP where GROUP_ID_ in(
+                SELECT GROUP_ID_ FROM LEARNING_USER_DEV.OS_GROUP c
+                START WITH c.GROUP_ID_ = #{organizationId} CONNECT BY PRIOR c.GROUP_ID_ = c.PARENT_ID_
+                )
+                )
+                <if test="firstDay != null and lastDay != null">
+                    and TO_CHAR(CREATE_TIME_, 'yyyy-mm-dd') &gt;= #{firstDay}
+                    and TO_CHAR(CREATE_TIME_, 'yyyy-mm-dd') &lt;= #{lastDay}
+                </if>
+            </where>) total,
+        (select sum(count(*)) over () knowledge
+        from KM_PV_LOG
+        <where>
+            COMPANY_ID in (
+            select GROUP_ID_ from LEARNING_USER_DEV.OS_GROUP where GROUP_ID_ in(
+            SELECT GROUP_ID_ FROM LEARNING_USER_DEV.OS_GROUP c
+            START WITH c.GROUP_ID_ = #{organizationId} CONNECT BY PRIOR c.GROUP_ID_ = c.PARENT_ID_
+            )
+            ) and MODULE = '知识仓库'
+            <if test="firstDay != null and lastDay != null">
+                and TO_CHAR(CREATE_TIME_, 'yyyy-mm-dd') &gt;= #{firstDay}
+                and TO_CHAR(CREATE_TIME_, 'yyyy-mm-dd') &lt;= #{lastDay}
+            </if>
+        </where>) knowledge,
+        (select sum(count(*)) over () map
+        from KM_PV_LOG
+        <where>
+            COMPANY_ID in (
+            select GROUP_ID_ from LEARNING_USER_DEV.OS_GROUP where GROUP_ID_ in(
+            SELECT GROUP_ID_ FROM LEARNING_USER_DEV.OS_GROUP c
+            START WITH c.GROUP_ID_ = #{organizationId} CONNECT BY PRIOR c.GROUP_ID_ = c.PARENT_ID_
+            )
+            ) and MODULE = '知识地图'
+            <if test="firstDay != null and lastDay != null">
+                and TO_CHAR(CREATE_TIME_, 'yyyy-mm-dd') &gt;= #{firstDay}
+                and TO_CHAR(CREATE_TIME_, 'yyyy-mm-dd') &lt;= #{lastDay}
+            </if>
+        </where>) map,
+        (select sum(count(*)) over () album
+        from KM_PV_LOG
+        <where>
+            COMPANY_ID in (
+            select GROUP_ID_ from LEARNING_USER_DEV.OS_GROUP where GROUP_ID_ in(
+            SELECT GROUP_ID_ FROM LEARNING_USER_DEV.OS_GROUP c
+            START WITH c.GROUP_ID_ = #{organizationId} CONNECT BY PRIOR c.GROUP_ID_ = c.PARENT_ID_
+            )
+            ) and MODULE = '知识专辑'
+            <if test="firstDay != null and lastDay != null">
+                and TO_CHAR(CREATE_TIME_, 'yyyy-mm-dd') &gt;= #{firstDay}
+                and TO_CHAR(CREATE_TIME_, 'yyyy-mm-dd') &lt;= #{lastDay}
+            </if>
+        </where>) album,
+        (select sum(count(*)) over () search
+        from KM_PV_LOG
+        <where>
+            COMPANY_ID in (
+            select GROUP_ID_ from LEARNING_USER_DEV.OS_GROUP where GROUP_ID_ in(
+            SELECT GROUP_ID_ FROM LEARNING_USER_DEV.OS_GROUP c
+            START WITH c.GROUP_ID_ = #{organizationId} CONNECT BY PRIOR c.GROUP_ID_ = c.PARENT_ID_
+            )
+            ) and MODULE = '搜索服务'
+            <if test="firstDay != null and lastDay != null">
+                and TO_CHAR(CREATE_TIME_, 'yyyy-mm-dd') &gt;= #{firstDay}
+                and TO_CHAR(CREATE_TIME_, 'yyyy-mm-dd') &lt;= #{lastDay}
+            </if>
+        </where>) search
+    </select>
+
 </mapper>

+ 5 - 0
src/main/resources/mapper/knowledge/analysis/PvLogMapper.xml

@@ -120,6 +120,11 @@
         order by value desc
     </select>
 
+    <select id="findAllDeptIdByDeptId" resultType="string">
+        select PATH_
+        from LEARNING_USER_DEV.OS_GROUP where GROUP_ID_ = #{organizationId}
+    </select>
+
 </mapper>