From 0166044275aefa9bbcf23e40ab7a2280fd43af52 Mon Sep 17 00:00:00 2001
From: ZQN <364596817@qq.com>
Date: 星期二, 25 三月 2025 17:40:17 +0800
Subject: [PATCH] 脱敏

---
 project-report/src/main/java/com/project/report/service/impl/ReportServiceImpl.java |  147 ++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 115 insertions(+), 32 deletions(-)

diff --git a/project-report/src/main/java/com/project/report/service/impl/ReportServiceImpl.java b/project-report/src/main/java/com/project/report/service/impl/ReportServiceImpl.java
index b3df464..281cc20 100644
--- a/project-report/src/main/java/com/project/report/service/impl/ReportServiceImpl.java
+++ b/project-report/src/main/java/com/project/report/service/impl/ReportServiceImpl.java
@@ -1,22 +1,26 @@
 package com.project.report.service.impl;
 
 import com.project.common.core.domain.entity.SysDept;
+import com.project.common.core.domain.entity.SysDictData;
 import com.project.common.core.domain.entity.SysUser;
 import com.project.common.vo.KeyVal;
 import com.project.enforce.domain.EnforceOrder;
 import com.project.enforce.service.IEnforceComplaintLogService;
 import com.project.enforce.service.IEnforceOrderService;
+import com.project.report.domain.bo.query.ReportQueryBo;
+import com.project.report.mapper.ReportMapper;
 import com.project.report.service.IReportService;
 import com.project.system.domain.SysCompany;
 import com.project.system.domain.SysDoc;
-import com.project.system.service.ISysCompanyService;
-import com.project.system.service.ISysDeptService;
-import com.project.system.service.ISysDocService;
-import com.project.system.service.ISysUserService;
+import com.project.system.service.*;
 import lombok.RequiredArgsConstructor;
+import org.jetbrains.annotations.NotNull;
 import org.springframework.stereotype.Service;
 
-import java.util.*;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -34,41 +38,119 @@
     private final ISysDeptService deptService;
     private final ISysUserService userService;
     private final ISysDocService docService;
+    private final ISysDictDataService dictDataService;
     private final IEnforceOrderService orderService;
     private final IEnforceComplaintLogService complaintLogService;
+    private final ReportMapper reportMapper;
+
 
     private final String[] months = {"1","2","3","4","5","6","7","8","9","10","11","12"};
+    private final String[] complaintStatus = {"-1","0","1","2"};
 
     @Override//姹囨��
     public Map<String, Object> getTotalInfo()
     {
-
-        int companyNum = companyService.count(companyService.lq().eq(SysCompany::getCompanyStatus, 0));
-        int enforceCompanyNum = orderService.count(orderService.lq().groupBy(EnforceOrder::getCompanyId));
+        int companyNum = companyService.count(companyService.lq()
+                .eq(SysCompany::getCompanyStatus, 0)
+                .eq(SysCompany::getCheckStatus, 2)
+        );
+        int enforceCompanyNum = orderService.getDistinctCompanyNum();
         int enforceDeptNum = deptService.count(deptService.lq().eq(SysDept::getParentId,100));
-        int enforceUserNum = userService.count(userService.lq().ne(SysUser::getUserType,"02"));
+        int enforceUserNum = userService.count(userService.lq()
+                .ne(SysUser::getUserType,"02")
+                .ne(SysUser::getUserName,"admin")
+                .eq(SysUser::getStatus,"0")
+                .eq(SysUser::getDelFlag,"0")
+        );
         int enforceOrderNum = orderService.count();
+        int enforceOrderCheckedNum = orderService.count(orderService.lq().ge(EnforceOrder::getCheckStatus,2));
+        int enforceOrderCompleteNum = orderService.count(orderService.lq().eq(EnforceOrder::getOrderStatus,4));
         int complaintNum = complaintLogService.count();
         int docNum = docService.count(docService.lq().eq(SysDoc::getDocStatus,0));
-
         Map<String, Object> result = new HashMap<>(7);
-        result.put("companyNum", companyNum);
-        result.put("enforceCompanyNum", enforceCompanyNum);
-        result.put("enforceDeptNum", enforceDeptNum);
-        result.put("enforceUserNum", enforceUserNum);
-        result.put("enforceOrderNum", enforceOrderNum);
-        result.put("complaintNum", complaintNum);
-        result.put("docNum", docNum);
+        result.put("companyNum", companyNum); //浼佷笟鏁�
+        result.put("enforceCompanyNum", enforceCompanyNum);//琚墽娉曚紒涓氭暟
+        result.put("enforceDeptNum", enforceDeptNum);//鎵ф硶鍗曚綅
+        result.put("enforceUserNum", enforceUserNum);//鎵ф硶浜哄憳
+        result.put("enforceOrderNum", enforceOrderNum);//鎵ф硶鍗曟�绘暟
+        result.put("enforceOrderCheckedNum", enforceOrderCheckedNum);//宸插鎵规墽娉曞崟鏁�
+        result.put("enforceOrderCompleteNum", enforceOrderCompleteNum);//鎵ф硶鍗曞畬鎴愭暟
+        result.put("complaintNum", complaintNum);//鎶曡瘔鏁�
+        result.put("docNum", docNum);//鏀跨瓥鏁�
         return result;
     }
 
     @Override//鎵ф硶鍗曚綅鎵ф硶娆℃暟鏈堝害鍒嗗竷
-    public List<KeyVal> getMonthCount(Long deptId)
+    public List<KeyVal> getMonthCount(ReportQueryBo bo)
     {
-        List<KeyVal> list = orderService.getMonthCount(deptId);
-        Map<String, Object> resultMap = list.stream().collect(Collectors.toMap(KeyVal::getK,KeyVal::getV));
+        List<KeyVal> list = reportMapper.getMonthCount(bo);
+        return getKeyVal(list, months);
+    }
 
-        return Arrays.stream(months).map(e -> {
+    @Override//鎵ф硶鍗曚綅鎵ф硶娆℃暟閮ㄩ棬鍒嗗竷
+    public List<KeyVal> getDeptCount(ReportQueryBo bo)
+    {
+        List<KeyVal> list = reportMapper.getDeptCount(bo);
+        Map<String, Object> resultMap = list.stream().collect(Collectors.toMap(KeyVal::getK,KeyVal::getV));
+        List<SysDept> deptList = deptService.list(deptService.lq().eq(SysDept::getParentId, 100));
+        return deptList.stream().map(e -> {
+            KeyVal keyVal;
+            if (resultMap.get(e.getDeptId().toString()) == null) {
+                keyVal = new KeyVal(e.getDeptName(), 0);
+            } else {
+                keyVal = new KeyVal(e.getDeptName(), resultMap.get(e.getDeptId().toString()));
+            }
+            return keyVal;
+        }).collect(Collectors.toList());
+    }
+
+    @Override//浼佷笟琚墽娉曟鏁板垎甯�
+    public List<KeyVal> getCompanyCount(ReportQueryBo bo)
+    {
+        return reportMapper.getCompanyCount(bo);
+    }
+
+    @Override//鎵ф硶绫诲瀷
+    public List<KeyVal> getEnforceTypeCount(ReportQueryBo bo)
+    {
+        List<KeyVal> list = reportMapper.getEnforceTypeCount(bo);
+        Map<String, Object> resultMap = list.stream().collect(Collectors.toMap(KeyVal::getK, KeyVal::getV));
+        List<SysDictData> dictDataList = dictDataService.list(dictDataService.lq().eq(SysDictData::getDictType,"enforce_type"));
+        return getKeyVal(resultMap, dictDataList);
+    }
+
+
+    @Override//鎶曡瘔澶勭悊鐘舵��
+    public List<KeyVal> getComplaintStatusCount(ReportQueryBo bo)
+    {
+        List<KeyVal> list = reportMapper.getComplaintStatusCount(bo);
+        return getKeyVal(list, complaintStatus);
+    }
+
+
+    @Override//鎶曡瘔绫诲瀷
+    public List<KeyVal> getComplaintTypeCount(ReportQueryBo bo)
+    {
+        List<KeyVal> list = reportMapper.getComplaintTypeCount(bo);
+        Map<String, Object> resultMap = list.stream().collect(Collectors.toMap(KeyVal::getK, KeyVal::getV));
+        List<SysDictData> dictDataList = dictDataService.list(dictDataService.lq().eq(SysDictData::getDictType,"complaint_type"));
+        return getKeyVal(resultMap, dictDataList);
+    }
+
+
+//-----------------------------------------------------------------------------
+
+    /**
+     * 閫氳繃鏁扮粍鑾峰彇杩斿洖鏁版嵁
+     * @param list  缁撴灉
+     * @param array   鏁扮粍
+     * @return  缁撴灉
+     */
+    @NotNull
+    private List<KeyVal> getKeyVal(List<KeyVal> list, String[] array)
+    {
+        Map<String, Object> resultMap = list.stream().collect(Collectors.toMap(KeyVal::getK,KeyVal::getV));
+        return Arrays.stream(array).map(e -> {
             KeyVal keyVal;
             if (resultMap.get(e) == null) {
                 keyVal = new KeyVal(e, 0);
@@ -79,20 +161,21 @@
         }).collect(Collectors.toList());
     }
 
-    @Override//鎵ф硶鍗曚綅鎵ф硶娆℃暟閮ㄩ棬鍒嗗竷
-    public List<KeyVal> getDeptCount(String yearMonth)
+    /**
+     * 閫氳繃瀛楀吀鑾峰彇杩斿洖鏁版嵁
+     * @param resultMap  缁撴灉
+     * @param dictDataList   瀛楀吀
+     * @return  缁撴灉
+     */
+    @NotNull
+    private List<KeyVal> getKeyVal(Map<String, Object> resultMap, List<SysDictData> dictDataList)
     {
-        List<KeyVal> list = orderService.getDeptCount(yearMonth);
-        Map<String, Object> resultMap = list.stream().collect(Collectors.toMap(KeyVal::getK,KeyVal::getV));
-
-        List<SysDept> depts = deptService.list(deptService.lq().eq(SysDept::getParentId, 100));
-
-        return depts.stream().map(e -> {
+        return dictDataList.stream().map(e -> {
             KeyVal keyVal;
-            if (resultMap.get(e.getDeptId().toString()) == null) {
-                keyVal = new KeyVal(e.getDeptName(), 0);
+            if (resultMap.get(e.getDictCode().toString()) == null) {
+                keyVal = new KeyVal(e.getDictLabel(), 0);
             } else {
-                keyVal = new KeyVal(e.getDeptName(), resultMap.get(e.getDeptId().toString()));
+                keyVal = new KeyVal(e.getDictLabel(), resultMap.get(e.getDictCode().toString()));
             }
             return keyVal;
         }).collect(Collectors.toList());

--
Gitblit v1.9.1