From 50fb58286ed3b718c39a97e0987ee7561a295651 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期五, 04 七月 2025 17:56:41 +0800 Subject: [PATCH] git ch --- server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java | 680 +++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 596 insertions(+), 84 deletions(-) diff --git a/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java index c7a167c..c6f2cf7 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java @@ -14,6 +14,7 @@ import com.doumee.core.utils.Utils; import com.doumee.dao.business.*; import com.doumee.dao.business.dto.*; +import com.doumee.dao.business.join.ApplyDetailJoinMapper; import com.doumee.dao.business.join.MultifileJoinMapper; import com.doumee.dao.business.join.SettleClaimsJoinMapper; import com.doumee.dao.business.join.SettleClaimsLogJoinMapper; @@ -23,6 +24,7 @@ import com.doumee.dao.business.vo.SettleClaimsMoneyVO; import com.doumee.dao.business.vo.SettleParentStatusVO; import com.doumee.dao.business.vo.dataBoard.DataListVO; +import com.doumee.dao.business.vo.dataBoard.InsuranceDataVO; import com.doumee.dao.business.vo.dataBoard.SettleClaimsDataVO; import com.doumee.dao.system.model.SystemUser; import com.doumee.service.business.SettleClaimsLogService; @@ -53,6 +55,7 @@ import java.math.BigDecimal; import java.net.URLEncoder; import java.nio.charset.Charset; +import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -100,6 +103,18 @@ @Autowired private ApplyDetailMapper applyDetailMapper; + @Autowired + private AreasMapper areasMapper; + + + @Autowired + private WorktypeMapper worktypeMapper; + + @Autowired + private InsuranceMapper insuranceMapper; + + @Autowired + private ApplyDetailJoinMapper applyDetailJoinMapper; /** * 鍒犻櫎闄勪欢 * @return @@ -391,20 +406,22 @@ settleClaims.setOrigin(Constants.ONE); if(Objects.isNull(settleClaims) || Objects.isNull(settleClaims.getExtData()) + || Objects.isNull(settleClaims.getExtData().getBxName()) || Objects.isNull(settleClaims.getExtData().getMemberName()) || Objects.isNull(settleClaims.getExtData().getMemberIdcardType()) - || Objects.isNull(settleClaims.getExtData().getMemberIdcard())){ + || Objects.isNull(settleClaims.getExtData().getMemberIdcard()) + || Objects.isNull(settleClaims.getStatus()) + ){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } - if(!Constants.equalsObject(settleClaims.getStatus(),Constants.ZERO) - &&( Objects.isNull(settleClaims.getExtData().getBxName()) - || Objects.isNull(settleClaims.getExtData().getReportDate()) - || Objects.isNull(settleClaims.getExtData().getBxCode()) - || Objects.isNull(settleClaims.getExtData().getBxEnddate()) - || Objects.isNull(settleClaims.getExtData().getBxOrg()) - || Objects.isNull(settleClaims.getInformantPhone()) )){ - throw new BusinessException(ResponseStatus.BAD_REQUEST); - } +// if(!Constants.equalsObject(settleClaims.getStatus(),Constants.ZERO) +// &&( Objects.isNull(settleClaims.getExtData().getReportDate()) +// || Objects.isNull(settleClaims.getExtData().getBxCode()) +// || Objects.isNull(settleClaims.getExtData().getBxEnddate()) +// || Objects.isNull(settleClaims.getExtData().getBxOrg()) +// || Objects.isNull(settleClaims.getInformantPhone()) )){ +// throw new BusinessException(ResponseStatus.BAD_REQUEST); +// } if(!Constants.equalsInteger(loginUserInfo.getType(),Constants.ZERO)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炲钩鍙扮鐞嗗憳鏃犳硶杩涜璇ユ搷浣�"); } @@ -872,10 +889,17 @@ ); settleClaims.setSupplementSettleClaimsLog(settleClaimsLog); } - - - + dealNoticeOldDataBiz(settleClaims);//澶勭悊寰呭姙鑴忔暟鎹� return settleClaims; + } + + private void dealNoticeOldDataBiz(SettleClaims settleClaims) { + if(Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.CLOSE_CASE.getKey()) + ||Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.RETURN.getKey()) + ||Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.WAIT_DISCUSS_REJECT.getKey()) + ||Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.REJECT_DEAL.getKey())){ + deletedNoticeBiz(null,settleClaims); + } } @@ -1124,7 +1148,7 @@ public void saveSettleClaimsLog(SettleClaims settleClaims, Constants.SettleClaimsLogType settleClaimsLogType, String content,Constants.SettleClaimsStatus settleClaimsStatus){ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); SettleClaimsLog settleClaimsLog = new SettleClaimsLog(); - settleClaimsLog.setCreateDate(new Date()); + settleClaimsLog.setCreateDate(Objects.isNull(settleClaims.getEditDate())?new Date():settleClaims.getEditDate()); settleClaimsLog.setCreator(loginUserInfo.getId()); settleClaimsLog.setIsdeleted(Constants.ZERO); settleClaimsLog.setSettleClainmsId(settleClaims.getId()); @@ -1289,7 +1313,7 @@ queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getInformantName()),SettleClaims::getInformantName, pageWrap.getModel().getInformantName()); queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getHappenTime()),SettleClaims::getHappenTime, pageWrap.getModel().getHappenTime()); queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCreateDateStr()),SettleClaims::getCreateDate, pageWrap.getModel().getCreateDateStr()); - queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()),SettleClaimsExt::getMemberName, pageWrap.getModel().getMemberName()); + queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getExtData().getMemberName()),SettleClaimsExt::getMemberName, pageWrap.getModel().getExtData().getMemberName()); queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getSolutionName()),SettleClaimsExt::getBxName, pageWrap.getModel().getSolutionName()); queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getApplyCode()),SettleClaimsExt::getBxCode, pageWrap.getModel().getApplyCode()); queryWrapper.eq(pageWrap.getModel().getInHospital()!=null,SettleClaims::getInHospital, pageWrap.getModel().getInHospital()); @@ -1342,24 +1366,39 @@ ||Objects.isNull(settleClaimsDTO.getMedicalInsurance()) ||StringUtils.isBlank(settleClaimsDTO.getInformantName()) ||StringUtils.isBlank(settleClaimsDTO.getInformantPhone()) - ||StringUtils.isBlank(settleClaimsDTO.getReceiveUserName()) - ||StringUtils.isBlank(settleClaimsDTO.getReceiveBank()) - ||StringUtils.isBlank(settleClaimsDTO.getReceiveAccount()) +// ||StringUtils.isBlank(settleClaimsDTO.getReceiveUserName()) +// ||StringUtils.isBlank(settleClaimsDTO.getReceiveBank()) +// ||StringUtils.isBlank(settleClaimsDTO.getReceiveAccount()) ){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } + } + InsuranceApply insuranceApply = insuranceApplyMapper.selectById(settleClaimsDTO.getInsuranceApplyId()); + if(Objects.isNull(insuranceApply)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + ApplyDetail applyDetail = applyDetailMapper.selectById(settleClaimsDTO.getApplyDetailId()); + if(Objects.isNull(applyDetail)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); } Member member =memberMapper.selectById(settleClaimsDTO.getMemberId()); if(member == null){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝鍑洪櫓浜轰俊鎭笉姝g‘锛�"); } + if(!(Constants.equalsInteger(insuranceApply.getId(),applyDetail.getApplyId())||Constants.equalsInteger(applyDetail.getMemberId(),member.getId()))){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"淇℃伅鍖归厤閿欒"); + } SettleClaims settleClaims = new SettleClaims(); BeanUtils.copyProperties(settleClaimsDTO,settleClaims); + settleClaims.setEditDate(new Date()); settleClaims.setReportNumStatus(Constants.ZERO); settleClaims.setCompanyId(loginUserInfo.getCompanyId()); settleClaims.setOrigin(Constants.ZERO); settleClaims.setMemberName(member.getName()); settleClaims.setCreateDate(new Date()); + settleClaims.setMemberAge( + Constants.calculateAge(member.getIdcardNo(),DateUtil.StringToDate(settleClaims.getHappenTime())) + ); if(Constants.equalsInteger(settleClaimsDTO.getSaveType(),Constants.ONE)&&StringUtils.isBlank(settleClaims.getCode())){ Long nextCode = settleClaimsMapper.selectCount(new QueryWrapper<SettleClaims>().lambda().ne(SettleClaims::getStatus,Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey()) .eq(SettleClaims::getOrigin,Constants.ZERO) .like(SettleClaims::getCreateDate,DateUtil.getDate(new Date(),"yyyy-MM-dd")) @@ -1369,11 +1408,21 @@ ); } if(Objects.nonNull(settleClaims.getId())){ + SettleClaims model = settleClaimsMapper.selectById(settleClaims.getId()); + if(Objects.isNull(model)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + if(!(Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey()) + ||Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey()) + ||Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.FINISH_ACCEPTANCE.getKey()))){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏁版嵁鐘舵�佸凡娴佽浆锛屾棤娉曡繘琛屼慨鏀�"); + } settleClaims.setEditDate(new Date()); settleClaims.setEditor(loginUserInfo.getId()); settleClaims.setStatus(Constants.equalsInteger(settleClaimsDTO.getSaveType(),Constants.ONE)? Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey():Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey()); - if(Constants.equalsInteger(settleClaimsDTO.getSaveType(),Constants.ONE)){ + if(Constants.equalsInteger(settleClaimsDTO.getSaveType(),Constants.ONE)&& + Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey())){ //澶勭悊椋庨櫓淇℃伅 this.saveRisk(settleClaims,settleClaimsDTO,systemDictDataService); } @@ -1397,24 +1446,32 @@ this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.PLATFORM_REGISTER,null,Constants.SettleClaimsStatus.CONFIRM_INFORMATION); } } + deletedNoticeBiz(null,settleClaims);//鍒犻櫎閫氱煡 if( Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey()) || Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey())){ - //-濡傛灉鏄緟绔嬫鎴栬�呭凡绔嬫寰呭鏍革紝鍙戝緟鍔為�氱煡------------- - Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.SETTLE_CLAIMS; - noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,settleClaims.getId())); - Notices notices = new Notices(noticeObjectType,Constants.ZERO,settleClaims.getId(),getNoticeConttent(settleClaims), - settleClaims.getCompanyId(), - Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey())?Constants.NoticeType.ZERO:Constants.NoticeType.TWO); - noticesMapper.insert(notices); + //-濡傛灉鏄緟绔嬫鎴栬�呭凡绔嬫寰呭鏍革紝缁欏钩鍙扮鍙戝緟鍔為�氱煡------------- + sendNoticeBiz(Constants.ZERO,settleClaims,Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey())?Constants.NoticeType.ZERO:Constants.NoticeType.TWO); } return settleClaims.getId(); } private String getNoticeConttent(SettleClaims settleClaims) { + if(StringUtils.isBlank(settleClaims.getMemberName()) && settleClaims.getMemberId()!=null){ + Member member = memberMapper.selectById(settleClaims.getMemberId()); + if(member!=null){ + settleClaims.setMemberName(member.getName()); + } + } return "鎶ユ鍙凤細"+StringUtils.defaultString(settleClaims.getCode(),"")+" 鍑洪櫓浜猴細"+StringUtils.defaultString(settleClaims.getMemberName(),""); } public void saveRisk(SettleClaims settleClaims, SettleClaimsDTO settleClaimsDTO, SystemDictDataServiceImpl systemDictDataService){ + settleClaims.setRiskDelayUnit(Constants.ZERO); + settleClaims.setRiskUnTakeEffect(Constants.ZERO); + settleClaims.setRiskNewUser(Constants.ZERO); + settleClaims.setRiskTimesCx(Constants.ZERO); + settleClaims.setRiskTimesSp(Constants.ZERO); + settleClaims.setRiskRepeat(Constants.ZERO); //鏍规嵁淇濆崟淇℃伅 鏌ヨ鍑轰富鏂规 InsuranceApply insuranceApply = insuranceApplyMapper.selectById(settleClaims.getInsuranceApplyId()); if(Objects.isNull(insuranceApply)){ @@ -1441,6 +1498,7 @@ if(Constants.equalsInteger(solutionsBase.getRiskNewUserStatus(),Constants.ONE) && Objects.nonNull(solutionsBase.getRiskNewUserUnit()) && Objects.nonNull(solutionsBase.getRiskNewUserTime()) + && happenTime.getTime() < applyDetail.getStartTime().getTime() ){ if(happenTime.getTime() > applyDetail.getEndTime().getTime()){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"浜嬫晠鍙戠敓鏃堕棿鏈湪浜哄憳淇濋殰鏃ユ湡鑼冨洿鍐�"); @@ -1457,10 +1515,12 @@ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"浜嬫晠鍙戠敓鏃堕棿鏈湪浜哄憳淇濋殰鏃ユ湡鑼冨洿鍐�"); } } + if(happenTime.getTime() < startDate.getTime() ){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"浜嬫晠鍙戠敓鏃堕棿鏈湪浜哄憳淇濋殰鏃ユ湡鑼冨洿鍐�"); }else{ map.put("info","浜嬫晠鍙戠敓鏃堕棿鏃╀簬淇濆崟鐢熸晥鏃堕棿"+solutionsBase.getRiskNewUserUnit()+(Constants.equalsInteger(solutionsBase.getRiskNewUserUnit(),Constants.ONE)?"灏忔椂鍐�":"澶╁唴")); + settleClaims.setRiskUnTakeEffect(Constants.ONE); riskList.add(map); } }else{ @@ -1476,18 +1536,21 @@ //鏍规嵁閰嶇疆 鏌ヨ 寤惰繜鎶ユ鎻愰啋鏃堕棿鍗曚綅 0鍒嗛挓 1灏忔椂 2澶� if(Constants.equalsInteger(solutionsBase.getRiskDelayUnit(),Constants.ZERO)){ if(DateUtil.getBetweenMin(happenTime,new Date())>solutionsBase.getRiskDelayTime()){ - map.put("info","鎶ユ鏃堕棿瓒呰繃妗堝彂鏃堕棿"+solutionsBase.getRiskDelayUnit()+"鍒嗛挓"); + map.put("info","鎶ユ鏃堕棿瓒呰繃妗堝彂鏃堕棿"+solutionsBase.getRiskDelayTime()+"鍒嗛挓"); + settleClaims.setRiskDelayUnit(Constants.ONE); riskList.add(map); } }else if(Constants.equalsInteger(solutionsBase.getRiskDelayUnit(),Constants.ONE)){ if(DateUtil.getBetweenHours(happenTime,new Date())>solutionsBase.getRiskDelayTime()){ - map.put("info","鎶ユ鏃堕棿瓒呰繃妗堝彂鏃堕棿"+solutionsBase.getRiskDelayUnit()+"灏忔椂"); + map.put("info","鎶ユ鏃堕棿瓒呰繃妗堝彂鏃堕棿"+solutionsBase.getRiskDelayTime()+"灏忔椂"); riskList.add(map); + settleClaims.setRiskDelayUnit(Constants.ONE); } }else if(Constants.equalsInteger(solutionsBase.getRiskDelayUnit(),Constants.TWO)){ if(DateUtil.getBetweenDay(happenTime,new Date())>solutionsBase.getRiskDelayTime()){ - map.put("info","鎶ユ鏃堕棿瓒呰繃妗堝彂鏃堕棿"+solutionsBase.getRiskDelayUnit()+"澶�"); + map.put("info","鎶ユ鏃堕棿瓒呰繃妗堝彂鏃堕棿"+solutionsBase.getRiskDelayTime()+"澶�"); riskList.add(map); + settleClaims.setRiskDelayUnit(Constants.ONE); } } } @@ -1502,7 +1565,7 @@ .ne(Objects.nonNull(settleClaims.getId()),SettleClaims::getId,settleClaims.getId()) .apply(" HAPPEN_TIME > DATE_SUB(now(), INTERVAL 365 DAY) ") ); - if(cxcs>Integer.valueOf(riskConfigVO.getRiskTimesReportTimes())){ + if(cxcs>=Integer.valueOf(riskConfigVO.getRiskTimesReportTimes())){ Map<String,String> map = new HashMap<>(); map.put("title","鐤戜技澶氭鍑洪櫓"); map.put("info","鍑洪櫓浜轰竴骞村唴宸插嚭闄�"+cxcs+"娆�"); @@ -1518,10 +1581,10 @@ Long cxcs = settleClaimsMapper.selectCount(new QueryWrapper<SettleClaims>().lambda() .eq(SettleClaims::getMemberId,settleClaimsDTO.getMemberId()) .ne(Objects.nonNull(settleClaims.getId()),SettleClaims::getId,settleClaims.getId()) - .apply(riskConfigVO.getRiskRepeatReportTimeUnit().equals("1")," HAPPEN_TIME > DATE_SUB(now(), INTERVAL "+riskConfigVO.getRiskRepeatReportTime()+" HOUR) ") - .apply(riskConfigVO.getRiskRepeatReportTimeUnit().equals("2")," HAPPEN_TIME > DATE_SUB(now(), INTERVAL "+riskConfigVO.getRiskRepeatReportTime()+" DAY) ") + .apply(riskConfigVO.getRiskRepeatReportTimeUnit().equals("1")," CREATE_DATE > DATE_SUB(now(), INTERVAL "+riskConfigVO.getRiskRepeatReportTime()+" HOUR) ") + .apply(riskConfigVO.getRiskRepeatReportTimeUnit().equals("2")," CREATE_DATE > DATE_SUB(now(), INTERVAL "+riskConfigVO.getRiskRepeatReportTime()+" DAY) ") ); - if(cxcs > Constants.TWO){ + if(cxcs >= Constants.ONE){ Map<String,String> map = new HashMap<>(); map.put("title","鐤戜技閲嶅鎶ユ"); map.put("info","璇ュ嚭闄╀汉鍦�"+riskConfigVO.getRiskRepeatReportTime()+(riskConfigVO.getRiskRepeatReportTimeUnit().equals("1")?"灏忔椂":"澶�")+"鍐呭凡鎶ユ"+cxcs+"娆�"); @@ -1537,8 +1600,9 @@ && StringUtils.isNotBlank(riskConfigVO.getRiskClaimTimes())){ Long cxcs = settleClaimsMapper.selectCount(new QueryWrapper<SettleClaims>().lambda() .eq(SettleClaims::getInsuranceApplyId,settleClaimsDTO.getInsuranceApplyId()) + .eq(SettleClaims::getIsdeleted,Constants.ZERO) .ne(Objects.nonNull(settleClaims.getId()),SettleClaims::getId,settleClaims.getId()) - .apply(" HAPPEN_TIME > DATE_SUB(now(), INTERVAL 365 DAY) ") + .apply(" CREATE_DATE > DATE_SUB(now(), INTERVAL 365 DAY) ") ); if(cxcs > Integer.valueOf(riskConfigVO.getRiskClaimTimes())){ Map<String,String> map = new HashMap<>(); @@ -1553,7 +1617,7 @@ if(StringUtils.isNotBlank(riskConfigVO.getRiskSensitiveWordsOpen()) && StringUtils.equals(riskConfigVO.getRiskSensitiveWordsOpen(),Constants.ONE+"") && StringUtils.isNotBlank(riskConfigVO.getRiskSensitiveWords())){ - String [] words = riskConfigVO.getRiskSensitiveWords().split(","); + String [] words = riskConfigVO.getRiskSensitiveWords().split(";"); String sensitiveWord = ""; for (String word:words) { if(settleClaims.getContent().indexOf(word)>=Constants.ZERO){ @@ -1804,12 +1868,17 @@ if(Constants.equalsInteger(settleClaims.getWaitSupplement(),Constants.ONE)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"寰呬紒涓氳ˉ鍏呮枃浠讹紝璇风瓑寰呬紒涓氳ˉ鍏呮枃浠�"); } + settleClaims.setEditDate(new Date()); //瀛樺偍鏃ュ織 this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.SUPPLEMENT_DESCRIBE,dto.getDescribe(),null); settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda() .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,DateUtil.getCurrDateTime()) .set(SettleClaims::getWaitSupplementInfo,dto.getDescribe()) .set(SettleClaims::getWaitSupplement,Constants.ONE)); + + deletedNoticeBiz(null,settleClaims);//鍒犻櫎閫氱煡 + //濡傛灉鍙戣捣浠e姙,閫氱煡浼佷笟 + sendNoticeBiz(Constants.ONE,settleClaims,Constants.NoticeType.THREE); } @Override @@ -1874,8 +1943,13 @@ multifileJoinMapper.insert(multifile); } } + settleClaims.setEditDate(new Date()); //瀛樺偍鏃ュ織 this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.SUPPLEMENT,null,null); + //鍒犻櫎浼佷笟鐨勪唬鍔為�氱煡------ + deletedNoticeBiz(null,settleClaims ); + sendNoticeBiz(Constants.ZERO,settleClaims,Constants.NoticeType.TWO); + } @@ -1902,13 +1976,15 @@ if(!Constants.equalsInteger(settleClaims.getCompanyId(),loginUserInfo.getCompanyId())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炴偍浼佷笟鐨勬暟鎹紝鎮ㄦ棤娉曡繘琛岃鎿嶄綔"); } -// if(!Constants.equalsInteger(Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey(),settleClaims.getStatus())){ -// throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~"); -// } + settleClaims.setEditDate(new Date()); //瀛樺偍鏃ュ織 this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.RETURN_SETTLE,null,Constants.SettleClaimsStatus.RETURN); settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda() - .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,DateUtil.getCurrDateTime()).set(SettleClaims::getStatus,Constants.SettleClaimsStatus.RETURN.getKey())); + .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,settleClaims.getEditDate()) + .set(SettleClaims::getStatus,Constants.SettleClaimsStatus.RETURN.getKey())); + deletedNoticeBiz(null,settleClaims);//鍒犻櫎閫氱煡 + //缁欎紒涓氬彂閫氱煡锛屽凡缁撴------------- + sendNoticeBiz(Constants.ZERO,settleClaims ,Constants.NoticeType.FOURTEEN); } @@ -1935,11 +2011,12 @@ ){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~"); } + settleClaims.setEditDate(new Date()); //瀛樺偍鏃ュ織 this.saveSettleClaimsLog(settleClaims, Constants.SettleClaimsLogType.UPD_CASE_TYPE,Constants.SettleClaimsLogType.UPD_CASE_TYPE.getInfo(),null); settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda() .eq(SettleClaims::getId,dto.getId()) - .set(SettleClaims::getEditDate,DateUtil.getCurrDateTime()) + .set(SettleClaims::getEditDate,settleClaims.getEditDate()) .set(SettleClaims::getEditor,loginUserInfo.getId()) .set(SettleClaims::getCaseType,dto.getCaseType())); } @@ -1971,12 +2048,22 @@ Constants.SettleClaimsStatus settleClaimsStatus = Constants.equalsInteger(dto.getRegisterStatus(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey())?Constants.SettleClaimsStatus.CONFIRM_INFORMATION:Constants.SettleClaimsStatus.FINISH_ACCEPTANCE; //瀛樺偍鏃ュ織 + settleClaims.setEditDate(new Date()); this.saveSettleClaimsLog(settleClaims, Constants.equalsInteger(dto.getRegisterStatus(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey())?Constants.SettleClaimsLogType.PLATFORM_REGISTER:Constants.SettleClaimsLogType.PLATFORM_RETURN,dto.getDescribe(),settleClaimsStatus); settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda() .eq(SettleClaims::getId,dto.getId()) - .set(SettleClaims::getEditDate, DateUtil.getCurrDateTime()) + .set(SettleClaims::getEditDate, settleClaims.getEditDate()) .set(SettleClaims::getEditor,loginUserInfo.getId()) .set(SettleClaims::getStatus,settleClaimsStatus.getKey())); + + deletedNoticeBiz(null,settleClaims);//鍒犻櫎閫氱煡 + if( Constants.equalsInteger(settleClaimsStatus.getKey(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey()) ){ + //濡傛灉鏄鏍搁�氳繃宸茬珛妗堝緟瀹℃牳锛岀粰骞冲彴鍙戝緟鍙楃悊寰呭姙閫氱煡------------- + sendNoticeBiz(Constants.ZERO,settleClaims ,Constants.NoticeType.TWO); + }else{ + //濡傛灉鏄鏍镐笉閫氳繃锛岄��鍥炵珛妗� 锛岀粰浼佷笟鍙戦�氱煡------------- + sendNoticeBiz(Constants.ONE,settleClaims ,Constants.NoticeType.ONE); + } } @@ -2029,12 +2116,14 @@ // if(Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey())&&StringUtils.isNotBlank(model.getReportNum())){ // throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"宸蹭慨鏀规姤妗堝彿锛屾棤娉曞啀娆′慨鏀�"); // } - settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda() - .eq(SettleClaims::getId,param.getId()).set(SettleClaims::getEditDate, - DateUtil.getCurrDateTime()).set(SettleClaims::getReportNum,param.getReportNum())); SettleClaims update = new SettleClaims(); update.setEditDate(new Date()); + + settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda() + .eq(SettleClaims::getId,param.getId()).set(SettleClaims::getEditDate, + update.getEditDate()).set(SettleClaims::getReportNum,param.getReportNum())); + update.setEditor(user.getId()); update.setReportNumStatus(model.getReportNumStatus()+Constants.ONE); update.setId(model.getId()); @@ -2048,6 +2137,7 @@ String info =applyLogType.getInfo(); info = info.replace("${param}", update.getReportNum()); SettleClaimsLog log = new SettleClaimsLog(update,applyLogType.getName(), info,update.getId(),applyLogType.getKey(), JSONObject.toJSONString(model), JSONObject.toJSONString(update)); + log.setCreateDate(update.getEditDate()); settleClaimsLogMapper.insert(log); return 1; @@ -2091,6 +2181,7 @@ String info =applyLogType.getInfo(); info = info.replace("${param}", param.getDescribe()); SettleClaimsLog log = new SettleClaimsLog(update,applyLogType.getName(), info,update.getId(),applyLogType.getKey(), JSONObject.toJSONString(model), JSONObject.toJSONString(update)); + log.setCreateDate(update.getEditDate()); settleClaimsLogMapper.insert(log); return 1; @@ -2124,19 +2215,21 @@ if(!Constants.equalsInteger(Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey(),settleClaims.getStatus())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~"); } + settleClaims.setEditDate(new Date()); if(Constants.equalsInteger(dto.getStatus(),Constants.ZERO) || Constants.equalsInteger(dto.getStatus(),Constants.THREE)){ //鍙楃悊 settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda() - .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,DateUtil.getCurrDateTime()).set(SettleClaims::getEditor,loginUserInfo.getId()) + .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,settleClaims.getEditDate()).set(SettleClaims::getEditor,loginUserInfo.getId()) .set(SettleClaims::getStatus,Constants.SettleClaimsStatus.ACCEPTANCE.getKey())); //瀛樺偍鏃ュ織 this.saveSettleClaimsLog(settleClaims, Constants.equalsInteger(dto.getStatus(),Constants.ZERO)?Constants.SettleClaimsLogType.PLATFORM_ACCEPTANCE:Constants.SettleClaimsLogType.PLATFORM_DISCUSS, - dto.getDescribe(),Constants.SettleClaimsStatus.ACCEPTANCE); + Constants.equalsInteger(dto.getStatus(),Constants.ZERO)?dto.getDescribe():(dto.getDescribe() + " 闂绫诲瀷锛�"+dto.getSyProblemOpts()) + ,Constants.SettleClaimsStatus.ACCEPTANCE); }else if(Constants.equalsInteger(dto.getStatus(),Constants.ONE)){ //鎷掔粷鍙楃悊 settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda() - .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,DateUtil.getCurrDateTime()).set(SettleClaims::getEditor,loginUserInfo.getId()) + .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,settleClaims.getEditDate()).set(SettleClaims::getEditor,loginUserInfo.getId()) .set(SettleClaims::getStatus,Constants.SettleClaimsStatus.REJECT_DEAL.getKey())); //瀛樺偍鏃ュ織 this.saveSettleClaimsLog(settleClaims, @@ -2145,26 +2238,55 @@ }else if(Constants.equalsInteger(dto.getStatus(),Constants.TWO)){ //鍙楃悊鍟嗚瀹℃壒 settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda() - .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,DateUtil.getCurrDateTime()).set(SettleClaims::getEditor,loginUserInfo.getId()) + .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,settleClaims.getEditDate()).set(SettleClaims::getEditor,loginUserInfo.getId()) .set(SettleClaims::getStatus,Constants.SettleClaimsStatus.WAIT_DISCUSS_AUDIT.getKey())); //瀛樺偍鏃ュ織 this.saveSettleClaimsLog(settleClaims, Constants.SettleClaimsLogType.PLATFORM_WAIT_DISCUSS, - dto.getDescribe(),Constants.SettleClaimsStatus.WAIT_DISCUSS_AUDIT); + dto.getDescribe() + " 闂绫诲瀷锛�"+dto.getSyProblemOpts(),Constants.SettleClaimsStatus.WAIT_DISCUSS_AUDIT); } - - if( Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.ACCEPTANCE.getKey()) || - Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.WAIT_DISCUSS_AUDIT.getKey())){ - //-濡傛灉鏄緟绔嬫鎴栬�呭凡绔嬫寰呭鏍革紝鍙戝緟鍔為�氱煡------------- - Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.SETTLE_CLAIMS; - noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,settleClaims.getId())); - Notices notices = new Notices(noticeObjectType,Constants.ZERO,settleClaims.getId(),getNoticeConttent(settleClaims), - settleClaims.getCompanyId(), - Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey())?Constants.NoticeType.ZERO:Constants.NoticeType.TWO); - noticesMapper.insert(notices); + deletedNoticeBiz(null,settleClaims);//鍒犻櫎閫氱煡 + if(Constants.equalsInteger(dto.getStatus(),Constants.ZERO) || Constants.equalsInteger(dto.getStatus(),Constants.THREE)){ + //-濡傛灉鏄鎵归�氳繃锛屾垚涓哄凡鍙楃悊锛岀粰骞冲彴绔彂浠g悊绠楀緟鍔為�氱煡------------- + sendNoticeBiz(Constants.ZERO,settleClaims , Constants.NoticeType.EIGHT ); + sendNoticeBiz(Constants.ONE,settleClaims,Constants.NoticeType.FIFTEEN); + }else if(Constants.equalsInteger(dto.getStatus(),Constants.TWO)){ + //濡傛灉鍙戣捣鍟嗚瀹℃壒锛岄�氱煡骞冲彴 + sendNoticeBiz(Constants.ZERO, settleClaims , Constants.NoticeType.FIVE ); + sendNoticeBiz(Constants.ONE,settleClaims,Constants.NoticeType.SIXTEEN); + }else{ + //濡傛灉鏄彈鐞嗘嫆缁�,閫氱煡浼佷笟 + sendNoticeBiz(Constants.ONE, settleClaims,Constants.NoticeType.SEVEN); } } + private void sendNoticeBiz(int plat, SettleClaims settleClaims, Constants.NoticeType noticeType) { + Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.SETTLE_CLAIMS; + Notices notices = new Notices(noticeObjectType + ,plat + ,settleClaims.getId() + ,getNoticeConttent(settleClaims) + ,settleClaims.getCompanyId() + ,noticeType); + noticesMapper.insert(notices); + } + private void deletedNoticeBiz(Integer plat, SettleClaims settleClaim ) { + Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.SETTLE_CLAIMS; + noticesMapper.delete(new QueryWrapper<Notices>().lambda() + .eq(plat!=null,Notices::getPalt,plat) + .eq(Notices::getObjType,noticeObjectType.getKey()) + .eq(Notices::getObjId,settleClaim.getId()) + .notIn(Notices::getType,Constants.NoticeType.ONE.getStatus(), + Constants.NoticeType.FOUR.getStatus(), + Constants.NoticeType.SEVEN.getStatus(), + Constants.NoticeType.FOURTEEN.getStatus(), + Constants.NoticeType.FIFTEEN.getStatus(), + Constants.NoticeType.SIXTEEN.getStatus(), + Constants.NoticeType.SEVENTEEN.getStatus(), + Constants.NoticeType.THIRTEEN.getStatus(), + Constants.NoticeType.EIGHTEEN.getStatus()))//1, 3, 4, 7,13, 14, 15, 16, 17, 18 + ; + } @Override public List<CompensationVO> getCompensation(CompensationFeeDTO compensationFeeDTO){ @@ -2228,7 +2350,7 @@ } List<CompensationVO> modelList = JSONArray.parseArray(dto.getCompensationJson(),CompensationVO.class); - + settleClaims.setEditDate(new Date()); SettleClaims update = new SettleClaims(); update.setEditDate(new Date()); update.setEditor(loginUserInfo.getId()); @@ -2242,12 +2364,16 @@ update.setId(settleClaims.getId()); update.setStatus(Constants.SettleClaimsStatus.WAIT_AUDIT_COMPENSATION.getKey()); settleClaimsMapper.updateById(update); - //瀛樺偍鏃ュ織 this.saveSettleClaimsLog(settleClaims, Constants.SettleClaimsLogType.PLATFORM_LP_DEAL, Constants.SettleClaimsLogType.PLATFORM_LP_DEAL.getInfo(),Constants.SettleClaimsStatus.WAIT_AUDIT_COMPENSATION); - } + deletedNoticeBiz(null,settleClaims);//鍒犻櫎閫氱煡 + //缁欏钩鍙板彂寰呮牳璧斿緟鍔為�氱煡------------- + sendNoticeBiz(Constants.ZERO,settleClaims ,Constants.NoticeType.NINE); + //缁欎紒涓氬彂閫氬凡鐞嗙畻------------- + sendNoticeBiz(Constants.ONE,settleClaims ,Constants.NoticeType.SEVENTEEN); +} /** @@ -2281,12 +2407,21 @@ //瀛樺偍鏃ュ織 Constants.SettleClaimsLogType settleClaimsLogType = Constants.equalsInteger(dto.getStatus(),Constants.ZERO) ?Constants.SettleClaimsLogType.PLATFORM_DISCUSS_PASS:Constants.SettleClaimsLogType.PLATFORM_DISCUSS_REFUSE; + settleClaims.setEditDate(new Date()); this.saveSettleClaimsLog(settleClaims, settleClaimsLogType ,settleClaimsLogType.getInfo().replace("${param}",dto.getDescribe()),settleClaimsStatus); settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda() - .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate, DateUtil.getCurrDateTime()) + .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate, settleClaims.getEditDate()) .set(SettleClaims::getEditor,loginUserInfo.getId()) .set(SettleClaims::getStatus,settleClaimsStatus.getKey())); + deletedNoticeBiz(null,settleClaims);//鍒犻櫎閫氱煡 + if( Constants.equalsInteger(settleClaimsStatus.getKey(),Constants.SettleClaimsStatus.ACCEPTANCE.getKey()) ){ + //濡傛灉鏄鏍搁�氳繃宸茬珛妗堝緟瀹℃牳锛岀粰骞冲彴鍙戝緟鍙楃悊寰呭姙閫氱煡------------- + sendNoticeBiz(Constants.ZERO,settleClaims ,Constants.NoticeType.TWO); + }else{ + //濡傛灉鏄鏍镐笉閫氳繃锛岄��鍥炵珛妗� 锛岀粰浼佷笟鍙戦�氱煡------------- + sendNoticeBiz(Constants.ONE,settleClaims ,Constants.NoticeType.ONE); + } } @@ -2317,9 +2452,9 @@ List<CompensationVO> modelList = JSONArray.parseArray(dto.getCompensationJson(),CompensationVO.class); - + settleClaims.setEditDate(new Date()); SettleClaims update = new SettleClaims(); - update.setEditDate(new Date()); + update.setEditDate(settleClaims.getEditDate()); update.setEditor(loginUserInfo.getId()); update.setHpAccountContent(dto.getCompensationJson()); update.setHpAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ZERO)).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); @@ -2332,6 +2467,9 @@ this.saveSettleClaimsLog(settleClaims, Constants.SettleClaimsLogType.PLATFORM_HP_DEAL, Constants.SettleClaimsLogType.PLATFORM_HP_DEAL.getInfo(),Constants.SettleClaimsStatus.COMPENSATION); + deletedNoticeBiz(null,settleClaims);//鍒犻櫎閫氱煡 + //缁欎紒涓氬彂閫氬凡鏍歌禂寰呯‘璁ら噾棰濓紝鍙戜唬鍔�------------- + sendNoticeBiz(Constants.ONE,settleClaims ,Constants.NoticeType.TEN); } @@ -2359,9 +2497,9 @@ } List<CompensationVO> modelList = JSONArray.parseArray(dto.getCompensationJson(),CompensationVO.class); - + settleClaims.setEditDate(new Date()); SettleClaims update = new SettleClaims(); - update.setEditDate(new Date()); + update.setEditDate(settleClaims.getEditDate()); update.setEditor(loginUserInfo.getId()); if(Constants.equalsInteger(Constants.SettleClaimsStatus.CONFIRM_FEE.getKey(),settleClaims.getStatus())){ update.setFeeUpdate(Constants.ONE); @@ -2397,6 +2535,9 @@ this.saveSettleClaimsLog(settleClaims, Constants.SettleClaimsLogType.PLATFORM_UPD_FEE, dto.getDescribe(),null); + deletedNoticeBiz(null,settleClaims);//鍒犻櫎閫氱煡 + //缁欎紒涓氬彂閫氶噾棰濆彉鏇撮�氱煡------------- + sendNoticeBiz(Constants.ONE,settleClaims ,Constants.NoticeType.EIGHTEEN); } @@ -2415,8 +2556,9 @@ if(!Constants.equalsInteger(settleClaims.getCompanyId(),loginUserInfo.getCompanyId())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炴偍浼佷笟鐨勬暟鎹紝鎮ㄦ棤娉曡繘琛岃鎿嶄綔"); } + settleClaims.setEditDate(new Date()); SettleClaims update = new SettleClaims(); - update.setEditDate(new Date()); + update.setEditDate(settleClaims.getEditDate()); update.setEditor(loginUserInfo.getId()); update.setStatus(Constants.SettleClaimsStatus.CONFIRM_FEE.getKey()); update.setId(settleClaims.getId()); @@ -2426,6 +2568,9 @@ this.saveSettleClaimsLog(settleClaims, Constants.SettleClaimsLogType.CONFIRM_FEE, Constants.SettleClaimsLogType.CONFIRM_FEE.getInfo(),Constants.SettleClaimsStatus.CONFIRM_FEE); + deletedNoticeBiz(null,settleClaims);//鍒犻櫎閫氱煡 + //缁欏钩鍙板彂寰呭姙锛屽凡纭閲戦锛屽彂寰呯粨妗堜唬鍔�------------- + sendNoticeBiz(Constants.ZERO,settleClaims ,Constants.NoticeType.TWELVE); } @@ -2449,8 +2594,9 @@ if(!Constants.equalsInteger(Constants.SettleClaimsStatus.CONFIRM_FEE.getKey(),settleClaims.getStatus())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~"); } + settleClaims.setEditDate(new Date()); SettleClaims update = new SettleClaims(); - update.setEditDate(new Date()); + update.setEditDate(settleClaims.getEditDate()); update.setEditor(loginUserInfo.getId()); update.setStatus(Constants.SettleClaimsStatus.CLOSE_CASE.getKey()); update.setCheckDate(new Date()); @@ -2487,6 +2633,9 @@ this.saveSettleClaimsLog(settleClaims, Constants.SettleClaimsLogType.PLATFORM_FINISH, dto.getDescribe(),Constants.SettleClaimsStatus.CLOSE_CASE); + deletedNoticeBiz(null,settleClaims);//鍒犻櫎閫氱煡 + //缁欎紒涓氬彂閫氱煡锛屽凡缁撴------------- + sendNoticeBiz(Constants.ONE,settleClaims ,Constants.NoticeType.THIRTEEN); } @@ -2668,15 +2817,18 @@ } if(!(Constants.equalsInteger(Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey(),settleClaims.getStatus()) || Constants.equalsInteger(Constants.SettleClaimsStatus.ACCEPTANCE.getKey(),settleClaims.getStatus()) - // || Constants.equalsInteger(Constants.SettleClaimsStatus.WAIT_DEAL.getKey(),settleClaims.getStatus()) + || Constants.equalsInteger(Constants.SettleClaimsStatus.CONFIRM_FEE.getKey(),settleClaims.getStatus()) + || Constants.equalsInteger(Constants.SettleClaimsStatus.COMPENSATION.getKey(),settleClaims.getStatus()) + || Constants.equalsInteger(Constants.SettleClaimsStatus.WAIT_AUDIT_COMPENSATION.getKey(),settleClaims.getStatus()) )){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~"); } if(!Constants.equalsInteger(settleClaims.getHurtType(),Constants.TWO)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"宸蹭慨鏀硅繃锛屾棤娉曞啀娆′慨鏀�"); } + settleClaims.setEditDate(new Date()); SettleClaims update = new SettleClaims(); - update.setEditDate(new Date()); + update.setEditDate(settleClaims.getEditDate()); update.setEditor(loginUserInfo.getId()); update.setHurtType(dto.getHurtType()); update.setId(settleClaims.getId()); @@ -2717,9 +2869,9 @@ ){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~"); } - + settleClaims.setEditDate(new Date()); SettleClaims update = new SettleClaims(); - update.setEditDate(new Date()); + update.setEditDate(settleClaims.getEditDate()); update.setEditor(loginUserInfo.getId()); update.setReceiveBank(dto.getReceiveBank()); update.setReceiveAccount(dto.getReceiveAccount()); @@ -2807,7 +2959,7 @@ settleClaimsTotal.setDataFirst(monthData); settleClaimsTotal.setDataSecond( - settleClaimsList.stream().filter(j->DateUtil.DateToStr(j.getCreateDate(),"yyyy-MM").equals(monthData)).collect(Collectors.toList()).toString() + settleClaimsList.stream().filter(j->DateUtil.DateToStr(j.getCreateDate(),"yyyy-MM").equals(monthData)).collect(Collectors.toList()).size()+"" ); settleClaimsFee.setDataFirst(monthData); @@ -2817,9 +2969,14 @@ averageSettleClaims.setDataFirst(monthData); Integer sumHours = closeCaseMonthList.stream().map(j-> j.getTotalHours()).reduce(Constants.ZERO,Integer::sum); - averageSettleClaims.setDataSecond( - new BigDecimal(sumHours.toString()).divide(new BigDecimal((closeCaseMonthList.size()*24)+"")).toString() - ); + if(Objects.isNull(sumHours)||CollectionUtils.isEmpty(closeCaseMonthList) + || Constants.equalsInteger(sumHours,Constants.ZERO)){ + averageSettleClaims.setDataSecond("0"); + }else{ + averageSettleClaims.setDataSecond( + new BigDecimal(sumHours.toString()).divide(new BigDecimal((closeCaseMonthList.size()*24)+""),2,BigDecimal.ROUND_HALF_UP).toString()); + } + ; settleClaimsTotalList.add(settleClaimsTotal); settleClaimsFeeList.add(settleClaimsFee); @@ -2837,24 +2994,379 @@ settleClaimsDataVO.setSettleClaimsTotal(settleClaimsList.size()); //骞冲潎鐞嗚禂澶勭悊鏃堕暱澶╂暟 鎬昏澶勭悊鏃堕暱锛堝崟浣嶅皬鏃讹級闄や互 璁板綍鏁� 鎹㈢畻鍒板ぉ - settleClaimsDataVO.setAverageSettleClaimsTime( - new BigDecimal(closeCaseList.stream().map(i->i.getTotalHours()).reduce(Constants.ZERO,Integer::sum).toString()) - .divide(new BigDecimal((closeCaseList.size()*24)+"") ,2,BigDecimal.ROUND_HALF_UP) - - ); + if(CollectionUtils.isNotEmpty(closeCaseList)){ + settleClaimsDataVO.setAverageSettleClaimsTime( + new BigDecimal(closeCaseList.stream().map(i->i.getTotalHours()).reduce(Constants.ZERO,Integer::sum).toString()) + .divide(new BigDecimal((closeCaseList.size()*24)+"") ,2,BigDecimal.ROUND_HALF_UP) + ); + } + + String monthDate = DateUtil.getFomartDate(new Date(),"yyyy-MM"); + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.MONTH, -1); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM"); + String lastMonth = sdf.format(calendar.getTime()); + + //椋庨櫓妗堜欢鍗犳瘮鏁版嵁 + settleClaimsDataVO.setRiskTimesCxTotal(settleClaimsList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(monthDate) + &&Constants.equalsInteger(i.getRiskTimesCx(),Constants.ONE)) + .collect(Collectors.toList()).size()); + Integer lastMonthTotal = settleClaimsList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(lastMonth) + &&Constants.equalsInteger(i.getRiskTimesCx(),Constants.ONE)) + .collect(Collectors.toList()).size(); + settleClaimsDataVO.setRiskTimesCxRata(this.jsRata(settleClaimsDataVO.getRiskTimesCxTotal(),lastMonthTotal)); + + settleClaimsDataVO.setRiskRepeatTotal(settleClaimsList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(monthDate) + &&Constants.equalsInteger(i.getRiskRepeat(),Constants.ONE)) + .collect(Collectors.toList()).size()); + lastMonthTotal = settleClaimsList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(lastMonth) + &&Constants.equalsInteger(i.getRiskRepeat(),Constants.ONE)) + .collect(Collectors.toList()).size(); + settleClaimsDataVO.setRiskRepeatRata(this.jsRata(settleClaimsDataVO.getRiskRepeatTotal(),lastMonthTotal)); + + settleClaimsDataVO.setRiskTimesSpTotal(settleClaimsList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(monthDate) + &&Constants.equalsInteger(i.getRiskTimesSp(),Constants.ONE)) + .collect(Collectors.toList()).size()); + lastMonthTotal = settleClaimsList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(lastMonth) + &&Constants.equalsInteger(i.getRiskTimesSp(),Constants.ONE)) + .collect(Collectors.toList()).size(); + settleClaimsDataVO.setRiskTimesSpRata(this.jsRata(settleClaimsDataVO.getRiskTimesSpTotal(),lastMonthTotal)); + + settleClaimsDataVO.setRiskNewUserTotal(settleClaimsList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(monthDate) + &&Constants.equalsInteger(i.getRiskNewUser(),Constants.ONE)) + .collect(Collectors.toList()).size()); + lastMonthTotal = settleClaimsList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(lastMonth) + &&Constants.equalsInteger(i.getRiskNewUser(),Constants.ONE)) + .collect(Collectors.toList()).size(); + settleClaimsDataVO.setRiskNewUserRata(this.jsRata(settleClaimsDataVO.getRiskNewUserTotal(),lastMonthTotal)); + + settleClaimsDataVO.setRiskSensitiveTotal(settleClaimsList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(monthDate) + &&StringUtils.isNotBlank(i.getRiskSensitive())) + .collect(Collectors.toList()).size()); + lastMonthTotal = settleClaimsList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(lastMonth) + &&StringUtils.isNotBlank(i.getRiskSensitive())) + .collect(Collectors.toList()).size(); + settleClaimsDataVO.setRiskSensitiveRata(this.jsRata(settleClaimsDataVO.getRiskSensitiveTotal(),lastMonthTotal)); + + settleClaimsDataVO.setRiskDelayUnitTotal(settleClaimsList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(monthDate) + &&Constants.equalsInteger(i.getRiskDelayUnit(),Constants.ONE)) + .collect(Collectors.toList()).size()); + lastMonthTotal = settleClaimsList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(lastMonth) + &&Constants.equalsInteger(i.getRiskDelayUnit(),Constants.ONE)) + .collect(Collectors.toList()).size(); + settleClaimsDataVO.setRiskDelayUnitRata(this.jsRata(settleClaimsDataVO.getRiskDelayUnitTotal(),lastMonthTotal)); + + + settleClaimsDataVO.setRiskUnTakeEffectTotal(settleClaimsList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(monthDate) + &&Constants.equalsInteger(i.getRiskUnTakeEffect(),Constants.ONE)) + .collect(Collectors.toList()).size()); + lastMonthTotal = settleClaimsList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(lastMonth) + &&Constants.equalsInteger(i.getRiskUnTakeEffect(),Constants.ONE)) + .collect(Collectors.toList()).size(); + settleClaimsDataVO.setRiskUnTakeEffectRata(this.jsRata(settleClaimsDataVO.getRiskUnTakeEffectTotal(),lastMonthTotal)); + + //椋庨櫓鏁忔劅璇嶆姤琛� + List<String> sensitiveList = settleClaimsList.stream().filter(i->StringUtils.isNotBlank(i.getRiskSensitive())).map(i->i.getRiskSensitive()).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(sensitiveList)){ + List<String> allSensitiveStrList = new ArrayList<>(); + for (String string:sensitiveList) { + allSensitiveStrList.addAll(Arrays.asList(string.split(","))); + } + Set<String> sensitiveSetList = new HashSet<>(allSensitiveStrList); + List<DataListVO> sensitiveDataList = new ArrayList<>(); + for (String string:sensitiveSetList) { + DataListVO dataListVO = new DataListVO(); + dataListVO.setDataFirst(string); + dataListVO.setDataSecond(allSensitiveStrList.stream().filter(i->i.equals(string)).collect(Collectors.toList()).size()+""); + sensitiveDataList.add(dataListVO); + } + settleClaimsDataVO.setSensitiveDataList(sensitiveDataList); + } + + //鍖哄煙妗堜欢绫诲瀷鍒嗗竷 + this.getAreaDistribution(settleClaimsDataVO, + settleClaimsList.stream().filter(i->StringUtils.isNotBlank(i.getAreaId())).collect(Collectors.toList())); + + //鍚勭被鍨嬫浠跺垎甯� + this.getCaseType(settleClaimsDataVO, + settleClaimsList.stream().filter(i->Objects.nonNull(i.getCaseType())).collect(Collectors.toList())); + + //鎸夋湀缁熻妗堜欢閲戦 + this.getSettleTotalMoneyData(settleClaimsDataVO, + settleClaimsList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.SettleClaimsStatus.CLOSE_CASE.getKey())).collect(Collectors.toList())); + + //缁撴鐜� + this.getCloseRata(settleClaimsDataVO, + settleClaimsList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.SettleClaimsStatus.CLOSE_CASE.getKey())).collect(Collectors.toList())); + + //骞撮緞鍒嗗竷 + this.getMemberAgeDataList(settleClaimsDataVO, + settleClaimsList.stream().filter(i->Objects.nonNull(i.getMemberAge())).collect(Collectors.toList())); + + //宸ョ鏁版嵁鍒嗗竷 + this.getWorkTypeDate(settleClaimsDataVO, + settleClaimsList.stream().filter(i->Objects.nonNull(i.getWorktypeId())).collect(Collectors.toList())); } - - return settleClaimsDataVO; + } + public BigDecimal jsRata(Integer a,Integer b){ + if(Objects.isNull(a)||Objects.isNull(b)||Constants.equalsInteger(a,Constants.ZERO)||Constants.equalsInteger(b,Constants.ZERO)){ + return BigDecimal.ZERO; + } + return new BigDecimal(a.toString()).divide(new BigDecimal(b.toString()),2,BigDecimal.ROUND_HALF_UP).subtract(BigDecimal.ONE); } + public void getAreaDistribution(SettleClaimsDataVO settleClaimsDataVO, List<SettleClaims> settleClaimsList){ + List<Areas> areasList = areasMapper.selectList(new QueryWrapper<Areas>().lambda().isNull(Areas::getParentId).orderByAsc(Areas::getId)); + List<DataListVO> areaDataList = new ArrayList<>(); + for (Areas areas:areasList) { + DataListVO dataListVO = new DataListVO(); + dataListVO.setDataFirst(areas.getName()); + dataListVO.setDataSecond( + settleClaimsList.stream().filter(i->i.getAreaId().indexOf(areas.getCode())>=Constants.ZERO).collect(Collectors.toList()).size()+"" + ); + dataListVO.setDataThird(areas.getCode()); + areaDataList.add(dataListVO); + } + settleClaimsDataVO.setAreaDataList(areaDataList); + } + + + public void getCaseType(SettleClaimsDataVO settleClaimsDataVO, List<SettleClaims> settleClaimsList){ + List<DataListVO> caseTypeDataList = new ArrayList<>(); + //1=鍖荤枟锛�2=浼ゆ畫锛�3=姝讳骸 + for (int i = 1; i <= 3; i++) { + int finalI = i; + DataListVO dataListVO = new DataListVO(); + if(finalI==1){ + dataListVO.setDataFirst("鍖荤枟"); + }else{ + dataListVO.setDataFirst(Constants.equalsInteger(finalI,Constants.TWO)?"浼ゆ畫":"姝讳骸"); + } + dataListVO.setDataSecond(settleClaimsList.stream() + .filter(j->Objects.nonNull(j.getCaseType())&&Constants.equalsInteger(j.getCaseType(), finalI)).collect(Collectors.toList()).size()+""); + caseTypeDataList.add(dataListVO); + } + settleClaimsDataVO.setCaseTypeDataList(caseTypeDataList); + } + + + public void getSettleTotalMoneyData(SettleClaimsDataVO settleClaimsDataVO, List<SettleClaims> settleClaimsList){ + List<DataListVO> monthTotalMoneyDataList = new ArrayList<>(); + for (int i = -11; i <= 0 ; i++) { + String month = DateUtil.DateToStr( + DateUtil.afterDateByType(new Date(),1,i),"yyyy-MM"); + DataListVO dataListVO = new DataListVO(); + dataListVO.setDataFirst(month); + BigDecimal hpAccount = settleClaimsList.stream().filter(j->DateUtil.DateToStr(j.getCreateDate(),"yyyy-MM").equals(month)) + .map(j->j.getHpAccount().add(j.getHpOtherAccount())).reduce(BigDecimal.ZERO,BigDecimal::add); + dataListVO.setDataSecond(hpAccount.compareTo(BigDecimal.ZERO)>Constants.ZERO? + hpAccount.divide(new BigDecimal("10000"),2,BigDecimal.ROUND_HALF_UP).toString():"0" + ); + monthTotalMoneyDataList.add(dataListVO); + } + settleClaimsDataVO.setMonthTotalMoneyDataList(monthTotalMoneyDataList); + } + public void getCloseRata(SettleClaimsDataVO settleClaimsDataVO, List<SettleClaims> settleClaimsList){ + List<DataListVO> closeRataDataList = new ArrayList<>(); + for (int i = -5; i <= 0 ; i++) { + String month = DateUtil.DateToStr( + DateUtil.afterDateByType(new Date(),1,i),"yyyy-MM"); + DataListVO dataListVO = new DataListVO(); + dataListVO.setDataFirst(month); + List<SettleClaims> monthList = settleClaimsList.stream().filter(j->DateUtil.DateToStr(j.getCreateDate(),"yyyy-MM").equals(month)).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(monthList)){ + List<SettleClaims> closeCaseList = monthList.stream().filter(j->Constants.equalsInteger(j.getStatus(),Constants.SettleClaimsStatus.CLOSE_CASE.getKey())).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(closeCaseList)){ + dataListVO.setDataSecond("0"); + }else{ + dataListVO.setDataSecond(new BigDecimal(closeCaseList.size()+"").divide(new BigDecimal(monthList.size()+""),2,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%"); + } + }else{ + dataListVO.setDataSecond("0"); + } + closeRataDataList.add(dataListVO); + } + settleClaimsDataVO.setCloseRataDataList(closeRataDataList); + } + + + public void getType(SettleClaimsDataVO settleClaimsDataVO, List<SettleClaims> settleClaimsList){ + List<DataListVO> typeDataList = new ArrayList<>(); + //0宸ヤ綔鏈熼棿鍙椾激 1涓婁笅鐝�斾腑鍙椾激 2闈炲伐浣滄椂闂村彈浼� 3鎰忓鍙椾激 + for (int i = 0; i <= 3; i++) { + int finalI = i; + DataListVO dataListVO = new DataListVO(); + if(finalI==0){ + dataListVO.setDataFirst("宸ヤ綔鏈熼棿鍙椾激"); + }else if(finalI==1){ + dataListVO.setDataFirst("涓婁笅鐝�斾腑鍙椾激"); + }else{ + dataListVO.setDataFirst(Constants.equalsInteger(finalI,Constants.TWO)?"闈炲伐浣滄椂闂村彈浼�":"鎰忓鍙椾激"); + } + dataListVO.setDataSecond(settleClaimsList.stream() + .filter(j->Objects.nonNull(j.getType())&&Constants.equalsInteger(j.getCaseType(), finalI)).collect(Collectors.toList()).size()+""); + typeDataList.add(dataListVO); + } + settleClaimsDataVO.setTypeDataList(typeDataList); + } + + + public void getMemberAgeDataList(SettleClaimsDataVO settleClaimsDataVO, List<SettleClaims> settleClaimsList){ + List<DataListVO> memberAgeDataList = new ArrayList<>(); + + DataListVO dataListVOa = new DataListVO(); + dataListVOa.setDataFirst("18-25"); + dataListVOa.setDataSecond( + settleClaimsList.stream() + .filter(j->Objects.nonNull(j.getMemberAge())&& + (j.getMemberAge() >= 18 || j.getMemberAge() <= 25)) + .collect(Collectors.toList()).size()+"" + ); + memberAgeDataList.add(dataListVOa); + + + DataListVO dataListVOb = new DataListVO(); + dataListVOb.setDataFirst("26-35"); + dataListVOb.setDataSecond( + settleClaimsList.stream() + .filter(j->Objects.nonNull(j.getMemberAge())&& + (j.getMemberAge() >= 26 || j.getMemberAge() <= 35)) + .collect(Collectors.toList()).size()+"" + ); + memberAgeDataList.add(dataListVOb); + + DataListVO dataListVOc = new DataListVO(); + dataListVOc.setDataFirst("36-45"); + dataListVOc.setDataSecond( + settleClaimsList.stream() + .filter(j->Objects.nonNull(j.getMemberAge())&& + (j.getMemberAge() >= 36 || j.getMemberAge() <= 45)) + .collect(Collectors.toList()).size()+"" + ); + memberAgeDataList.add(dataListVOc); + + DataListVO dataListVOd = new DataListVO(); + dataListVOd.setDataFirst("46-55"); + dataListVOd.setDataSecond( + settleClaimsList.stream() + .filter(j->Objects.nonNull(j.getMemberAge())&& + (j.getMemberAge() >= 46 || j.getMemberAge() <= 55)) + .collect(Collectors.toList()).size()+"" + ); + memberAgeDataList.add(dataListVOd); + + DataListVO dataListVOe = new DataListVO(); + dataListVOe.setDataFirst("56-65"); + dataListVOe.setDataSecond( + settleClaimsList.stream() + .filter(j->Objects.nonNull(j.getMemberAge())&& + (j.getMemberAge() >= 56 || j.getMemberAge() <= 65)) + .collect(Collectors.toList()).size()+"" + ); + memberAgeDataList.add(dataListVOe); + + + DataListVO dataListVOf = new DataListVO(); + dataListVOf.setDataFirst("65+"); + dataListVOf.setDataSecond( + settleClaimsList.stream() + .filter(j->Objects.nonNull(j.getMemberAge())&& + j.getMemberAge() >= 66 ) + .collect(Collectors.toList()).size()+"" + ); + memberAgeDataList.add(dataListVOf); + settleClaimsDataVO.setMemberAgeDataList(memberAgeDataList); + } + + + + public void getWorkTypeDate(SettleClaimsDataVO settleClaimsDataVO, List<SettleClaims> settleClaimsList){ + List<DataListVO> workTypeDataList = new ArrayList<>(); + if(CollectionUtils.isEmpty(settleClaimsList)){ + return ; + } + List<Integer> workTypeIdList = settleClaimsList.stream().map(i->i.getWorktypeId()).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(workTypeIdList)){ + return ; + } + Set<Integer> setWorkType = new HashSet<>(workTypeIdList); + List<Worktype> workTypeList = worktypeMapper.selectList(new QueryWrapper<Worktype>().lambda().eq(Worktype::getIsdeleted,Constants.ZERO).in(Worktype::getId,setWorkType)); + if(CollectionUtils.isEmpty(workTypeList)){ + return ; + } + for (Worktype worktype:workTypeList) { + DataListVO dataListVO = new DataListVO(); + dataListVO.setDataFirst(worktype.getName()); + dataListVO.setDataSecond( + settleClaimsList.stream().filter(i->Constants.equalsInteger(i.getWorktypeId(),worktype.getId())).collect(Collectors.toList()).size()+""); + workTypeDataList.add(dataListVO); + } + workTypeDataList = workTypeDataList.stream().sorted(Comparator.comparing(DataListVO::getDataSecond).reversed()).collect(Collectors.toList()); + settleClaimsDataVO.setWorkTypeDataList(workTypeDataList); + } + + + + @Override + public InsuranceDataVO getInsuranceDataVO(){ + InsuranceDataVO insuranceDataVO = new InsuranceDataVO(); + insuranceDataVO.setInsuranceTotal(Constants.ZERO); + insuranceDataVO.setInsuranceAddTotal(Constants.ZERO); + insuranceDataVO.setInsuranceApplyTotal(Constants.ZERO); + insuranceDataVO.setInsuranceApplyAddTotal(Constants.ZERO); + insuranceDataVO.setInsuranceUserTotal(Constants.ZERO); + insuranceDataVO.setInsuranceUserAddTotal(Constants.ZERO); + insuranceDataVO.setTotalAddFee(BigDecimal.ZERO); + insuranceDataVO.setTotalFee(BigDecimal.ZERO); + //鏈湀鏃ユ湡 + String monthData = DateUtil.DateToStr(new Date(),"yyyy-MM"); + //淇濋櫓鍏徃鏁伴噺 + List<Insurance> insuranceList = insuranceMapper.selectList(new QueryWrapper<Insurance>().lambda().eq(Insurance::getIsdeleted,Constants.ZERO).eq(Insurance::getStatus,Constants.ZERO)); + if(CollectionUtils.isNotEmpty(insuranceList)){ + insuranceDataVO.setInsuranceTotal(insuranceList.size()); + insuranceDataVO.setInsuranceAddTotal(insuranceList.stream().filter(i->Objects.nonNull(i.getCreateDate())&&DateUtil.DateToStr(i.getCreateDate(),"yyyy-MM").equals(monthData)).collect(Collectors.toList()).size()); + } + + //淇濆崟鏁伴噺 + List<InsuranceApply> insuranceApplyList = insuranceApplyMapper.selectList(new QueryWrapper<InsuranceApply>() + .lambda().eq(InsuranceApply::getIsdeleted,Constants.ZERO).in(InsuranceApply::getStatus, + Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey(),Constants.InsuranceApplyStatus.WTB_DONE.getKey()) + ); + if(CollectionUtils.isNotEmpty(insuranceApplyList)){ + insuranceDataVO.setInsuranceApplyTotal(insuranceApplyList.size()); + insuranceDataVO.setInsuranceApplyAddTotal(insuranceApplyList.stream().filter(i->Objects.nonNull(i.getCreateDate())&&DateUtil.DateToStr(i.getCreateDate(),"yyyy-MM").equals(monthData)).collect(Collectors.toList()).size()); + } + + //鍦ㄤ繚浜烘暟 + List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectJoinList(ApplyDetail.class,new MPJLambdaWrapper<ApplyDetail>().selectAll(ApplyDetail.class) + .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId) + .eq(InsuranceApply::getIsdeleted,Constants.ZERO).in(InsuranceApply::getStatus, + Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey(),Constants.InsuranceApplyStatus.WTB_DONE.getKey()) + .eq(ApplyDetail::getIsdeleted,Constants.ZERO) + .apply(" ( t.START_TIME >= now() and t.END_TIME <= now() ) ") + ); + if(CollectionUtils.isNotEmpty(applyDetailList)){ + insuranceDataVO.setInsuranceUserTotal(applyDetailList.size()); + insuranceDataVO.setInsuranceUserAddTotal( + applyDetailList.stream().filter(i->Objects.nonNull(i.getCreateDate())&&DateUtil.DateToStr(i.getCreateDate(),"yyyy-MM") + .equals(monthData)).collect(Collectors.toList()).size()); + + insuranceDataVO.setTotalFee(applyDetailList.stream().map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); + insuranceDataVO.setTotalAddFee(applyDetailList.stream() + .filter(i->Objects.nonNull(i.getCreateDate())&&DateUtil.DateToStr(i.getCreateDate(),"yyyy-MM") + .equals(monthData)).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); + } + + return insuranceDataVO; + } -- Gitblit v1.9.3