From 3d3620b81b9c2ae8e8f41ef542f0e5fa8ae43c00 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期四, 06 三月 2025 10:53:27 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java |   86 ++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 80 insertions(+), 6 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
index 5f7d60e..aa262d1 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
@@ -8,7 +8,9 @@
 import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
-import com.doumee.dao.business.dao.UserActionMapper;
+import com.doumee.dao.business.dao.*;
+import com.doumee.dao.business.vo.GeneralDataVO;
+import com.doumee.dao.business.vo.HiddenDangerDataVO;
 import com.doumee.service.business.third.model.LoginUserInfo;
 import com.doumee.service.business.third.model.PageData;
 import com.doumee.service.business.third.model.PageWrap;
@@ -19,9 +21,6 @@
 import com.doumee.core.wx.wxPlat.WxPlatConstants;
 import com.doumee.core.wx.wxPlat.WxPlatNotice;
 import com.doumee.dao.business.*;
-import com.doumee.dao.business.dao.MemberMapper;
-import com.doumee.dao.business.dao.SmsConfigMapper;
-import com.doumee.dao.business.dao.SmsEmailMapper;
 import com.doumee.dao.business.model.*;
 import com.doumee.dao.business.model.Member;
 import com.doumee.dao.system.MultifileMapper;
@@ -41,7 +40,9 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
+import java.math.BigDecimal;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 闅愭偅淇℃伅琛⊿ervice瀹炵幇
@@ -73,6 +74,9 @@
     private HiddenDangerLogMapper hiddenDangerLogMapper;
     @Autowired
     private UserActionMapper userActionMapper;
+
+    @Autowired
+    private CompanyMapper companyMapper;
 
 
     @Autowired
@@ -471,8 +475,8 @@
 
                 .and(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()), ms->ms.like(Member::getName,pageWrap.getModel().getMemberName())
                         .or().like(Member::getPhone,pageWrap.getModel().getMemberName()))
-                .ge(Objects.nonNull(pageWrap.getModel().getQueryStartTime()), Empower::getCreateDate,pageWrap.getModel().getQueryStartTime())
-                .le(Objects.nonNull(pageWrap.getModel().getQueryEndTime()),Empower::getCreateDate,pageWrap.getModel().getQueryEndTime())
+                .ge(Objects.nonNull(pageWrap.getModel().getQueryStartTime()), HiddenDanger::getCreateDate,pageWrap.getModel().getQueryStartTime())
+                .le(Objects.nonNull(pageWrap.getModel().getQueryEndTime()),HiddenDanger::getCreateDate,pageWrap.getModel().getQueryEndTime())
                 .orderByDesc(Visits::getCreateDate)
         ;
         for(PageWrap.SortData sortData: pageWrap.getSorts()) {
@@ -772,4 +776,74 @@
     }
 
 
+    /**
+     * 闅忔墜鎷嶇粺璁℃暟鎹�
+     */
+    @Override
+    public HiddenDangerDataVO hiddenDangerData(HiddenDanger hiddenDanger){
+        HiddenDangerDataVO hiddenDangerDataVO = new HiddenDangerDataVO();
+        List<HiddenDanger> hiddenDangerAllList = hiddenDangerMapper.selectJoinList(HiddenDanger.class,
+                new MPJLambdaWrapper<HiddenDanger>()
+                        .selectAll(HiddenDanger.class)
+                .selectAs(HiddenDangerParam::getCompanyId, HiddenDanger::getAreaCompanyId)
+                .leftJoin(HiddenDangerParam.class,HiddenDangerParam::getId,HiddenDanger::getAreaId) //闅愭偅鍖哄煙
+                .eq(Objects.nonNull(hiddenDanger.getStatus()),HiddenDanger::getStatus,hiddenDanger.getStatus())
+                .ge(Objects.nonNull(hiddenDanger.getQueryStartTime()), HiddenDanger::getCreateDate,hiddenDanger.getQueryStartTime())
+                .le(Objects.nonNull(hiddenDanger.getQueryEndTime()),HiddenDanger::getCreateDate,hiddenDanger.getQueryEndTime())
+        );
+        hiddenDangerDataVO.setTotal(hiddenDangerAllList.size());
+        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(hiddenDangerAllList)){
+            List<Integer> cateList =  hiddenDangerAllList.stream().map(i->i.getCateId()).collect(Collectors.toList());
+            //鍏ㄩ儴闅愭偅鍒嗙被鏁版嵁
+            if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(cateList)){
+                List<GeneralDataVO> cateGeneralDataList = new ArrayList<>();
+                Set<Integer> cateSetList = new HashSet<>(cateList);
+                List<HiddenDangerParam> hiddenDangerParamList = hiddenDangerParamMapper.selectList(new QueryWrapper<HiddenDangerParam>()
+                        .lambda().eq(HiddenDangerParam::getIsdeleted,Constants.ZERO).eq(HiddenDangerParam::getType,Constants.ONE));
+                for (Integer cateId:cateSetList) {
+                    Optional<HiddenDangerParam> optionalHiddenDanger = hiddenDangerParamList.stream().filter(i->Constants.equalsInteger(i.getId(),cateId)).findAny();
+                    if(optionalHiddenDanger.isPresent()){
+                        GeneralDataVO generalDataVO = new GeneralDataVO();
+                        HiddenDangerParam hiddenDangerParam = optionalHiddenDanger.get();
+                        Integer total = hiddenDangerAllList.stream().filter(i->Constants.equalsInteger(i.getCateId(),hiddenDangerParam.getId())).collect(Collectors.toList()).size();
+                        generalDataVO.setName(hiddenDangerParam.getName());
+                        generalDataVO.setTotal(total);
+                        generalDataVO.setRata(
+                                    Constants.equalsInteger(total,Constants.ZERO)?
+                                        BigDecimal.ZERO:new BigDecimal(total.toString()).divide(new BigDecimal(hiddenDangerDataVO.getTotal().toString()),2).multiply(new BigDecimal("100"))
+                                );
+                        cateGeneralDataList.add(generalDataVO);
+                    }
+                }
+                hiddenDangerDataVO.setCateList(cateGeneralDataList);
+            }
+            //鍏ㄩ儴闅愭偅鍖哄煙閮ㄩ棬鏁版嵁
+            List<Integer> companyIdList =  hiddenDangerAllList.stream().map(i->i.getAreaCompanyId()).collect(Collectors.toList());
+            if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(companyIdList)){
+                List<GeneralDataVO> companyGeneralDataList = new ArrayList<>();
+                Set<Integer> companyIdSetList = new HashSet<>(companyIdList);
+                List<Company> companyList = companyMapper.selectList(new QueryWrapper<Company>()
+                        .lambda().eq(Company::getIsdeleted,Constants.ZERO));
+                for (Integer companyId:companyIdSetList) {
+                    Optional<Company> optionalCompany = companyList.stream().filter(i->Constants.equalsInteger(i.getId(),companyId)).findAny();
+                    if(optionalCompany.isPresent()){
+                        GeneralDataVO generalDataVO = new GeneralDataVO();
+                        Company company = optionalCompany.get();
+                        Integer total = hiddenDangerAllList.stream().filter(i->Constants.equalsInteger(i.getAreaCompanyId(),company.getId())).collect(Collectors.toList()).size();
+                        generalDataVO.setName(company.getName());
+                        generalDataVO.setTotal(total);
+                        companyGeneralDataList.add(generalDataVO);
+                    }
+                }
+                hiddenDangerDataVO.setDepartmentList(companyGeneralDataList);
+            }
+        }
+
+        return hiddenDangerDataVO;
+    }
+
+
+
+
+
 }

--
Gitblit v1.9.3