From 0c009141867c996897928c4f12490f21b78222f2 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期三, 24 一月 2024 18:12:37 +0800 Subject: [PATCH] 111 --- server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java | 109 ++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 77 insertions(+), 32 deletions(-) diff --git a/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java index 3c38a49..4be1bc8 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java @@ -488,40 +488,43 @@ if(!CollectionUtils.isNotEmpty(duWorktypeList)){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏁版嵁寮傚父锛氫繚闄╂柟妗堜笅鏈煡璇㈠埌宸ョ淇℃伅"); } - for (int i = 0; i < applyDetailList.size(); i++) { - ApplyDetail applyDetail = applyDetailList.get(i); - if(Objects.isNull(applyDetail) - ||Objects.isNull(applyDetail.getMemberId()) - ||Objects.isNull(applyDetail.getDuId()) - ||Objects.isNull(applyDetail.getWorktypeId()) - ){ - throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鎶曚繚鍛樺伐淇℃伅鏁版嵁缂哄け"); + if(CollectionUtils.isNotEmpty(applyDetailList)){ + for (int i = 0; i < applyDetailList.size(); i++) { + ApplyDetail applyDetail = applyDetailList.get(i); + if(Objects.isNull(applyDetail) + ||Objects.isNull(applyDetail.getMemberId()) + ||Objects.isNull(applyDetail.getDuId()) + ||Objects.isNull(applyDetail.getWorktypeId()) + ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鎶曚繚鍛樺伐淇℃伅鏁版嵁缂哄け"); + } + applyDetail.setCreateDate(new Date()); + applyDetail.setCreator(loginUserInfo.getId()); + applyDetail.setIsdeleted(Constants.ZERO); + applyDetail.setSortnum(i); + applyDetail.setApplyId(insuranceApply.getId()); + if(Objects.isNull(applyDetail.getMemberId())){ + throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"銆�"+applyDetail.getMemberName()+"銆戝憳宸ヤ俊鎭瓨鍦ㄥ紓甯告暟鎹紒"); + } + Member member = memberMapper.selectById(applyDetail.getMemberId()); + if(Objects.isNull(member)){ + throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"銆�"+applyDetail.getMemberName()+"銆戝憳宸ヤ俊鎭瓨鍦ㄥ紓甯告暟鎹紒"); + } + applyDetail.setIdcardNo(member.getIdcardNo()); + applyDetail.setSex(member.getSex()); + applyDetail.setFee(Constants.countDetailFee(solutions,insuranceApply.getApplyEndTime(),insuranceApply.getApplyStartTime())); + //楠岃瘉娲鹃仯鍗曚綅淇℃伅鏄惁瀛樺湪 + if(duSolutionList.stream().filter(d->d.getDispatchUnitId().equals(applyDetail.getDuId())).collect(Collectors.toList()).size()<=Constants.ZERO){ + throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"銆�"+applyDetail.getMemberName()+"銆戝憳宸ユ淳閬e崟浣嶆湭鏌ヨ鍒帮紒"); + } + if(duWorktypeList.stream().filter(d->d.getDuSolutionId().equals(applyDetail.getDuId())&&d.getWorkTypeId().equals(applyDetail.getWorktypeId())) + .collect(Collectors.toList()).size()<=Constants.ZERO){ + throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"銆�"+applyDetail.getMemberName()+"銆戝憳宸ュ伐绉嶄俊鎭湭鏌ヨ鍒帮紒"); + } } - applyDetail.setCreateDate(new Date()); - applyDetail.setCreator(loginUserInfo.getId()); - applyDetail.setIsdeleted(Constants.ZERO); - applyDetail.setSortnum(i); - applyDetail.setApplyId(insuranceApply.getId()); - if(Objects.isNull(applyDetail.getMemberId())){ - throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"銆�"+applyDetail.getMemberName()+"銆戝憳宸ヤ俊鎭瓨鍦ㄥ紓甯告暟鎹紒"); - } - Member member = memberMapper.selectById(applyDetail.getMemberId()); - if(Objects.isNull(member)){ - throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"銆�"+applyDetail.getMemberName()+"銆戝憳宸ヤ俊鎭瓨鍦ㄥ紓甯告暟鎹紒"); - } - applyDetail.setIdcardNo(member.getIdcardNo()); - applyDetail.setSex(member.getSex()); - applyDetail.setFee(Constants.countDetailFee(solutions,insuranceApply.getApplyEndTime(),insuranceApply.getApplyStartTime())); - //楠岃瘉娲鹃仯鍗曚綅淇℃伅鏄惁瀛樺湪 - if(duSolutionList.stream().filter(d->d.getDispatchUnitId().equals(applyDetail.getDuId())).collect(Collectors.toList()).size()<=Constants.ZERO){ - throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"銆�"+applyDetail.getMemberName()+"銆戝憳宸ユ淳閬e崟浣嶆湭鏌ヨ鍒帮紒"); - } - if(duWorktypeList.stream().filter(d->d.getDuSolutionId().equals(applyDetail.getDuId())&&d.getWorkTypeId().equals(applyDetail.getWorktypeId())) - .collect(Collectors.toList()).size()<=Constants.ZERO){ - throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"銆�"+applyDetail.getMemberName()+"銆戝憳宸ュ伐绉嶄俊鎭湭鏌ヨ鍒帮紒"); - } - applyDetailMapper.insert(applyDetail); + applyDetailJoinMapper.insertBatchSomeColumn(applyDetailList); } + //瀛樺偍鏃ュ織鏁版嵁 this.saveApplyLog(insuranceApply,insuranceApplyStatus,null); return insuranceApply.getId(); @@ -910,6 +913,48 @@ } + /** + * 鏇存柊淇濆崟瀹為檯閲戦 + */ + @Override + @Transactional(rollbackFor = {Exception.class}) + public void updateApplyCurrentFee(){ + List<InsuranceApply> insuranceApplyList = insuranceApplyMapper.selectList(new QueryWrapper<InsuranceApply>().lambda() + .eq(InsuranceApply::getIsdeleted,Constants.ZERO) + .eq(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey()) + .ge(InsuranceApply::getStartTime,DateUtil.getDate(new Date(),"yyyy-MM-dd") + " 00:00:00") + .le(InsuranceApply::getEndTime,DateUtil.getDate(new Date(),"yyyy-MM-dd") + " 23:59:59") + ); + + if(CollectionUtils.isNotEmpty(insuranceApplyList)){ + for (InsuranceApply insuranceApply:insuranceApplyList) { + Solutions solutions = solutionsMapper.selectById(insuranceApply.getSolutionId()); + if(Objects.isNull(solutions)){ + continue; + } + BigDecimal sumAmount = BigDecimal.ZERO; + List<ApplyDetail> applyDetailList = applyDetailMapper.selectList(new QueryWrapper<ApplyDetail>().lambda().eq(ApplyDetail::getApplyId,insuranceApply.getId())); + if(CollectionUtils.isNotEmpty(applyDetailList)){ + for (ApplyDetail applyDetail: applyDetailList) { + applyDetail.setCurrentFee(Constants.countDetailFee(solutions,new Date(),applyDetail.getStartTime())); + applyDetailMapper.updateById(applyDetail); + sumAmount = sumAmount.add(applyDetail.getCurrentFee()); + } + } + insuranceApply.setCurrentFee(sumAmount); + insuranceApplyMapper.updateById(insuranceApply); + } + } + + + + + + + } + + + } -- Gitblit v1.9.3