From 09a49f7cd53acba5261802daf491cf01a10f8d9b Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 13 五月 2025 09:40:06 +0800
Subject: [PATCH] 最新版本541200007
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java | 151 ++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 144 insertions(+), 7 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 6cafaea..d276e6a 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,10 @@
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.HiddenDangerCompanyVO;
+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 +22,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 +41,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瀹炵幇
@@ -74,6 +76,9 @@
@Autowired
private UserActionMapper userActionMapper;
+ @Autowired
+ private CompanyMapper companyMapper;
+
@Autowired
private NoticesJoinMapper noticesJoinMapper;
@@ -90,6 +95,9 @@
@Autowired
private WxNoticeConfigMapper wxNoticeConfigMapper;
+
+ @Autowired
+ private ApproveMapper approveMapper;
@Override
@@ -286,6 +294,12 @@
params[2]=model.getAreaName()+"-銆�"+model.getContent()+"銆�";
//璁板綍鍒犻櫎鏃ュ織
UserActionServiceImpl.saveUserActionBiz(user,id,Constants.UserActionType.HIDEN_DANGER_DEL,userActionMapper,date,params,JSONObject.toJSONString(model));
+
+ //鏍囪浠诲姟璁板綍
+ VisitsServiceImpl.dealCancelNoticesData(noticesJoinMapper,approveMapper,"绯荤粺鍒犻櫎",model.getId(),
+ null,
+ Constants.noticesObjectType.dangerDeal
+ );
}
@Override
@@ -406,6 +420,7 @@
@Override
public List<HiddenDanger> findList(HiddenDanger hiddenDanger) {
+ hiddenDanger.setIsdeleted(Constants.ZERO);
QueryWrapper<HiddenDanger> wrapper = new QueryWrapper<>(hiddenDanger);
return hiddenDangerMapper.selectList(wrapper);
}
@@ -438,7 +453,7 @@
//鍙兘鐪嬭嚜宸�
queryWrapper.and(w->{
w.eq(HiddenDanger::getCreator,userInfo.getId()).or().
- eq(HiddenDanger::getCheckUserId,userInfo.getId());
+ eq(HiddenDanger::getCheckUserId,userInfo.getMemberId());
});
}else{
queryWrapper.in("t1.company_id" ,userInfo.getCompanyIdList());
@@ -471,8 +486,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::getSubmitTime,pageWrap.getModel().getQueryStartTime())
+ .le(Objects.nonNull(pageWrap.getModel().getQueryEndTime()),HiddenDanger::getSubmitTime,pageWrap.getModel().getQueryEndTime())
.orderByDesc(Visits::getCreateDate)
;
for(PageWrap.SortData sortData: pageWrap.getSorts()) {
@@ -487,6 +502,7 @@
@Override
public long count(HiddenDanger hiddenDanger) {
+ hiddenDanger.setIsdeleted(Constants.ZERO);
QueryWrapper<HiddenDanger> wrapper = new QueryWrapper<>(hiddenDanger);
return hiddenDangerMapper.selectCount(wrapper);
}
@@ -772,4 +788,125 @@
}
+ /**
+ * 闅忔墜鎷嶇粺璁℃暟鎹�
+ */
+ @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(HiddenDanger::getIsdeleted,Constants.ZERO)
+ .eq(Objects.nonNull(hiddenDanger.getStatus()),HiddenDanger::getStatus,hiddenDanger.getStatus())
+// .apply(" ( DATE_FORMAT(t.CREATE_DATE, '%Y') = DATE_FORMAT(now(), '%Y') ) ")
+// .ge(Objects.nonNull(hiddenDanger.getQueryStartTime()), HiddenDanger::getCreateDate,hiddenDanger.getQueryStartTime())
+// .le(Objects.nonNull(hiddenDanger.getQueryEndTime()),HiddenDanger::getCreateDate,hiddenDanger.getQueryEndTime())
+ );
+ List<GeneralDataVO> yearDataList = new ArrayList<>();
+ if(CollectionUtils.isEmpty(hiddenDangerAllList)){
+ return hiddenDangerDataVO;
+ }
+ Integer nowYear = DateUtil.getNowYearNum();
+ Integer nowMonth = DateUtil.getNowMonthNum();
+ String nowDate = DateUtil.getFomartDate(new Date(),"yyyy-MM-dd");
+ for (int i = 1; i <=12 ; i++) {
+ GeneralDataVO generalDataVO = new GeneralDataVO();
+ generalDataVO.setName(Integer.toString(i));
+ generalDataVO.setTotal(
+ hiddenDangerAllList.stream().filter(j->Constants.equalsInteger(nowYear,Integer.valueOf(DateUtil.formatDate(j.getCreateDate(),"yyyy")))&&Constants.equalsInteger(Integer.valueOf(generalDataVO.getName()),
+ Integer.valueOf(DateUtil.formatDate(j.getCreateDate(),"MM")))).collect(Collectors.toList()).size());
+ generalDataVO.setName(generalDataVO.getName()+"鏈�");
+ yearDataList.add(generalDataVO);
+ }
+ hiddenDangerDataVO.setYearList(yearDataList);
+
+
+
+ hiddenDangerDataVO.setTotal(hiddenDangerAllList.size());
+ hiddenDangerDataVO.setWaitDeal(hiddenDangerAllList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ZERO)).collect(Collectors.toList()).size());
+ hiddenDangerDataVO.setBack(hiddenDangerAllList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.TWO)).collect(Collectors.toList()).size());
+ hiddenDangerDataVO.setDealFinish(hiddenDangerAllList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ONE)).collect(Collectors.toList()).size());
+ hiddenDangerDataVO.setTodayNew(hiddenDangerAllList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM-dd").equals(DateUtil.formatDate(new Date(),"yyyy-MM-dd"))).collect(Collectors.toList()).size());
+
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(hiddenDangerAllList)){
+ List<Integer> cateList = hiddenDangerAllList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(nowDate.substring(0,7))).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) {
+ if(Objects.isNull(cateId)){
+ continue;
+ }
+ 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())&& DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(nowDate.substring(0,7))).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,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))
+ );
+ cateGeneralDataList.add(generalDataVO);
+ }
+ }
+ hiddenDangerDataVO.setCateList(cateGeneralDataList);
+ }
+ //鍏ㄩ儴闅愭偅鍖哄煙閮ㄩ棬鏁版嵁
+
+ List<HiddenDangerCompanyVO> hiddenDangerCompanyVOList = hiddenDangerAllList.stream().
+ filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(nowDate.substring(0,7)))
+ .map(i->new HiddenDangerCompanyVO(i.getAreaName(),i.getAreaCompanyId())).collect(Collectors.toList());
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(hiddenDangerCompanyVOList)){
+ List<GeneralDataVO> companyGeneralDataList = new ArrayList<>();
+ Set<HiddenDangerCompanyVO> companyIdSetList = new HashSet<>(hiddenDangerCompanyVOList);
+ List<Company> companyList = companyMapper.selectList(new QueryWrapper<Company>()
+ .lambda().eq(Company::getIsdeleted,Constants.ZERO));
+ for (HiddenDangerCompanyVO hiddenDangerCompanyVO:companyIdSetList) {
+ if(Objects.isNull(hiddenDangerCompanyVO)
+ || Objects.isNull(hiddenDangerCompanyVO.getId())
+ || StringUtils.isBlank(hiddenDangerCompanyVO.getCategoryName())){
+ continue;
+ }
+ Optional<Company> optionalCompany = companyList.stream().filter(i->Constants.equalsInteger(i.getId(),hiddenDangerCompanyVO.getId())).findAny();
+ if(optionalCompany.isPresent()){
+ GeneralDataVO generalDataVO = new GeneralDataVO();
+ Company company = optionalCompany.get();
+ Integer total = hiddenDangerAllList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(nowDate.substring(0,7))&&Constants.equalsInteger(i.getAreaCompanyId(),company.getId())).collect(Collectors.toList()).size();
+ generalDataVO.setName(company.getName());
+ generalDataVO.setTotal(total);
+ generalDataVO.setCategoryName(hiddenDangerCompanyVO.getCategoryName());
+ companyGeneralDataList.add(generalDataVO);
+ }
+ }
+ hiddenDangerDataVO.setDepartmentList(companyGeneralDataList);
+ }
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(hiddenDangerDataVO.getDepartmentList())){
+ List<GeneralDataVO> topList = hiddenDangerDataVO.getDepartmentList();
+ Collections.sort(topList, new Comparator<GeneralDataVO>() {
+ @Override
+ public int compare(GeneralDataVO o1, GeneralDataVO o2) {
+ // 杩斿洖鍊间负int绫诲瀷锛屽ぇ浜�0琛ㄧず姝e簭锛屽皬浜�0琛ㄧず閫嗗簭
+ return o2.getTotal() - o1.getTotal();
+ }
+ });
+ hiddenDangerDataVO.setDepartmentSortList(topList);
+ }
+ }
+
+ return hiddenDangerDataVO;
+ }
+
+
+
+
+
}
--
Gitblit v1.9.3