From ee8ac99608f610b82cbe8186dc4a30fa7d65ccd3 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期四, 06 三月 2025 10:49:29 +0800
Subject: [PATCH] 代码初始化

---
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/GeneralDataVO.java                 |   24 ++++++++
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerCloudController.java         |   10 +++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/HiddenDangerService.java          |    3 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java |   86 ++++++++++++++++++++++++++--
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/HiddenDangerDataVO.java            |   20 ++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java               |    3 +
 6 files changed, 140 insertions(+), 6 deletions(-)

diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerCloudController.java
index 6861738..fa14171 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerCloudController.java
@@ -117,4 +117,14 @@
         return ApiResponse.success("鎿嶄綔鎴愬姛");
     }
 
+
+    @ApiOperation("闅愭偅鏁版嵁缁熻")
+    @PostMapping("/hiddenDangerData")
+    public ApiResponse hiddenDangerData (@RequestBody HiddenDanger hiddenDanger,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
+        hiddenDanger.setLoginUserInfo(getLoginUser(token));
+        hiddenDangerService.hiddenDangerData(hiddenDanger);
+        return ApiResponse.success("鎿嶄綔鎴愬姛");
+    }
+
+
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java
index 862e7ea..1be3932 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java
@@ -157,5 +157,8 @@
     @TableField(exist = false)
     private List<Multifile> multifileList;
 
+    @ApiModelProperty(value = "闅愭偅鍖哄煙閮ㄩ棬涓婚敭", example = "1",hidden = true)
+    @TableField(exist = false)
+    private Integer areaCompanyId;
 
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/GeneralDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/GeneralDataVO.java
new file mode 100644
index 0000000..f56e68e
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/GeneralDataVO.java
@@ -0,0 +1,24 @@
+package com.doumee.dao.business.vo;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.service.business.third.model.LoginUserModel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+public class GeneralDataVO{
+
+    @ApiModelProperty(value = "鍚嶇О")
+    private String name;
+
+    @ApiModelProperty(value = "鏁伴噺")
+    private Integer total ;
+
+    @ApiModelProperty(value = "鍗犳瘮")
+    private BigDecimal rata ;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/HiddenDangerDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/HiddenDangerDataVO.java
new file mode 100644
index 0000000..dd29a21
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/HiddenDangerDataVO.java
@@ -0,0 +1,20 @@
+package com.doumee.dao.business.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@Data
+public class HiddenDangerDataVO {
+
+    @ApiModelProperty(value = "鎬绘暟")
+    private Integer total;
+
+    @ApiModelProperty(value = "闅愭偅绫诲瀷缁熻")
+    private List<GeneralDataVO> cateList ;
+
+    @ApiModelProperty(value = "闅愭偅閮ㄩ棬缁熻")
+    private List<GeneralDataVO> departmentList ;
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/HiddenDangerService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/HiddenDangerService.java
index bfd3bd5..7cb29aa 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/HiddenDangerService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/HiddenDangerService.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business;
 
+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;
@@ -100,4 +101,6 @@
     void dealHiddenDanger(HiddenDanger hiddenDanger);
 
     void transferHiddenDanger(HiddenDanger hiddenDanger);
+
+    HiddenDangerDataVO hiddenDangerData(HiddenDanger hiddenDanger);
 }
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