From 274d9de5e50cc2d23b25ba271a8e66021b448916 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期五, 23 二月 2024 10:11:54 +0800 Subject: [PATCH] 111 --- server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java | 78 ++++++++++++++++++++++++++++++++++---- 1 files changed, 69 insertions(+), 9 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 1a722e1..14aa6b2 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 @@ -133,7 +133,9 @@ //瀛樺偍寰呭姙淇℃伅 Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY; //鍒犻櫎鍏朵粬寰呭姙 - noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,insuranceApply.getId())); + noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()) + .ne(Notices::getType,Constants.NoticeType.SIX.getStatus()) + .eq(Notices::getObjId,insuranceApply.getId())); Notices notices = new Notices(noticeObjectType,Constants.ONE,insuranceApply.getId(),solutions.getName(), model.getCompanyId(), Constants.NoticeType.FOUR); noticesMapper.insert(notices); @@ -186,6 +188,9 @@ update.setStartTime(insuranceApply.getStartTime()); insuranceApplyMapper.updateById(update); + //淇敼鏄庣粏琛岀殑寮�濮嬬粨鏉熸棩鏈� + applyDetailMapper.update(null,new UpdateWrapper<ApplyDetail>().lambda().set(ApplyDetail::getStartTime,insuranceApply.getStartTime()) + .set(ApplyDetail::getEndTime,actEndTime).eq(ApplyDetail::getApplyId,model.getId())); multifileMapper.update(null,new UpdateWrapper<Multifile>().lambda() .eq(Multifile::getIsdeleted,Constants.ZERO) @@ -239,6 +244,7 @@ List<MemberInsurance> memberInsuranceList = new ArrayList<>(); for (ApplyDetail applyDetail:applyDetailList) { MemberInsurance memberInsurance = new MemberInsurance(applyDetail,user.getId()); + memberInsurance.setRelationType(Constants.ZERO); memberInsuranceList.add(memberInsurance); } memberInsuranceJoinMapper.insertBatchSomeColumn(memberInsuranceList); @@ -277,6 +283,13 @@ update.setId(model.getId()); update.setCode(param.getCode()); insuranceApplyMapper.updateById(update); + //淇敼鍛樺伐淇濆崟璁板綍 + memberInsuranceJoinMapper.update(null,new UpdateWrapper<MemberInsurance>() + .lambda() + .set(MemberInsurance::getBdCode,param.getCode()) + .eq(MemberInsurance::getApplyId,model.getId()) + ); + //鍒犻櫎鍘熸湁鐨勪繚鍗曚俊鎭� multifileMapper.delete(new UpdateWrapper<Multifile>().lambda() .set(Multifile::getIsdeleted,Constants.ZERO) @@ -453,7 +466,9 @@ //瀛樺偍寰呭姙淇℃伅 Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY; //鍒犻櫎鍏朵粬寰呭姙 - noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,model.getId())); + noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()) + .ne(Notices::getType,Constants.NoticeType.SIX.getStatus()) + .eq(Notices::getObjId,model.getId())); Notices notices = new Notices(noticeObjectType,Constants.ZERO,model.getId(),model.getSolutionsName(),model.getCompanyId(),Constants.NoticeType.TWO); noticesMapper.insert(notices); @@ -478,6 +493,7 @@ } public Multifile uploadChangeSignedFileDo(ApplyChange model,String fileurl,String fullurl) { + Integer companyId = model.getCompanyId(); ApplyChange update = new ApplyChange(); update.setEditDate(new Date()); update.setEditor(model.getCreator()); @@ -494,9 +510,11 @@ noticeObjectType = Constants.NoticeObjectType.CHANGE_FACTORY; } //鍒犻櫎鍏朵粬寰呭姙 - noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,model.getId())); + noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()) + .ne(Notices::getType,Constants.NoticeType.SIX.getStatus()) + .eq(Notices::getObjId,model.getId())); Notices notices = new Notices(noticeObjectType,Constants.ZERO,model.getId(),model.getSolutionsName(), - model.getCompanyId(), Constants.NoticeType.TWO); + companyId, Constants.NoticeType.TWO); notices.setParam1(model.getApplyId().toString()); noticesMapper.insert(notices); @@ -729,7 +747,7 @@ @Override @Transactional(rollbackFor = {Exception.class,BusinessException.class}) public Integer check(InsuranceApply insuranceApply) { - if(insuranceApply.getId() == null || StringUtils.isBlank(insuranceApply.getCheckInfo())){ + if(insuranceApply.getId() == null){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } InsuranceApply model = insuranceApplyMapper.selectById(insuranceApply.getId()); @@ -771,7 +789,9 @@ //瀛樺偍寰呭姙淇℃伅 Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY; //鍒犻櫎鍏朵粬寰呭姙 - noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,model.getId())); + noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()) + .ne(Notices::getType,Constants.NoticeType.SIX.getStatus()) + .eq(Notices::getObjId,model.getId())); Notices notices = new Notices(noticeObjectType,Constants.ONE,model.getId(),solutions.getName(),model.getCompanyId(),noticeType); noticesMapper.insert(notices); @@ -856,7 +876,9 @@ //瀛樺偍寰呭姙淇℃伅 Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY; //鍒犻櫎鍏朵粬寰呭姙 - noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,insuranceApply.getId())); + noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()) + .ne(Notices::getType,Constants.NoticeType.SIX.getStatus()) + .eq(Notices::getObjId,insuranceApply.getId())); Notices notices = new Notices(noticeObjectType,Constants.ZERO,insuranceApply.getId(),solutions.getName(),insuranceApply.getCompanyId(),Constants.NoticeType.ZERO); noticesMapper.insert(notices); @@ -940,7 +962,9 @@ //瀛樺偍寰呭姙淇℃伅 Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY; //鍒犻櫎鍏朵粬寰呭姙 - noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,insuranceApply.getId())); + noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()) + .ne(Notices::getType,Constants.NoticeType.SIX.getStatus()) + .eq(Notices::getObjId,insuranceApply.getId())); Notices notices = new Notices(noticeObjectType,Constants.ZERO,insuranceApply.getId(),solutions.getName(),insuranceApply.getCompanyId(),Constants.NoticeType.ZERO); noticesMapper.insert(notices); @@ -1122,6 +1146,10 @@ queryWrapper.selectAll(InsuranceApply.class); queryWrapper.selectAs(Company::getName,InsuranceApply::getCompanyName); queryWrapper.selectAs(Solutions::getName,InsuranceApply::getSolutionsName); + queryWrapper.selectAs(Solutions::getMaxAge,InsuranceApply::getMaxAge); + queryWrapper.selectAs(Solutions::getMinAge,InsuranceApply::getMinAge); + queryWrapper.selectAs(Solutions::getPrice,InsuranceApply::getPrice); + queryWrapper.selectAs(Solutions::getTimeUnit,InsuranceApply::getTimeUnit); queryWrapper.select(" DATEDIFF( t.END_TIME ,now() ) AS loseEfficacyDays "); queryWrapper.select(" ( select count(DISTINCT(ad.MEMBER_ID)) from apply_detail ad where ad.apply_id = t.id ) as insureNum"); if(!Objects.isNull(pageWrap.getModel())&&!Objects.isNull(pageWrap.getModel().getType())){ @@ -1287,6 +1315,10 @@ MPJLambdaWrapper wrapper= new MPJLambdaWrapper<InsuranceApply>() .selectAll(InsuranceApply.class) + .selectAs(Solutions::getMaxAge,InsuranceApply::getMaxAge) + .selectAs(Solutions::getMinAge,InsuranceApply::getMinAge) + .selectAs(Solutions::getPrice,InsuranceApply::getPrice) + .selectAs(Solutions::getTimeUnit,InsuranceApply::getTimeUnit) .selectAs(Solutions::getName,InsuranceApply::getSolutionsName) .selectAs(Company::getName,InsuranceApply::getCompanyName) .select(" ( select max(ac.APPLY_START_TIME) from apply_change ac where ac.apply_id = t.id and ac.status = 2 ) as lastChangeDate") @@ -1458,7 +1490,9 @@ //瀛樺偍寰呭姙淇℃伅 //鍒犻櫎鍏朵粬寰呭姙 - noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,insuranceApply.getId())); + noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()) + .ne(Notices::getType,Constants.NoticeType.SIX.getStatus()) + .eq(Notices::getObjId,insuranceApply.getId())); Notices notices = new Notices(noticeObjectType,Constants.ONE,insuranceApply.getId(),solutions.getName(), insuranceApply.getCompanyId(), Constants.NoticeType.THREE); noticesMapper.insert(notices); @@ -1522,6 +1556,9 @@ Integer days = DateUtil.calculateBetween(applyDetail.getStartTime(),new Date(),0); applyDetail.setCurrentFee(fee.divide(BigDecimal.valueOf(maxDays),2, BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(days))); applyDetailMapper.updateById(applyDetail); + }else if(applyDetail.getStartTime().compareTo(new Date()) <= 0&&applyDetail.getEndTime().compareTo(new Date()) <= 0){ + applyDetail.setCurrentFee(fee); + applyDetailMapper.updateById(applyDetail); } sumAmount = sumAmount.add(applyDetail.getCurrentFee()); } @@ -1530,6 +1567,9 @@ insuranceApplyMapper.updateById(insuranceApply); } } +// if(1==1){ +// throw new BusinessException(ResponseStatus.NOT_ALLOWED); +// } } @@ -1553,6 +1593,26 @@ } + /** + * 鐢熸垚 寰呭鎵归�氱煡 + */ + @Override + public void generateNotice(){ + List<InsuranceApply> insuranceApplyList = insuranceApplyJoinMapper.selectJoinList(InsuranceApply.class,new MPJLambdaWrapper<InsuranceApply>() + .selectAll(InsuranceApply.class) + .selectAs(Solutions::getName,InsuranceApply::getSolutionsName) + .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) + .eq(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey()) + .ge(InsuranceApply::getEndTime,DateUtil.getDate(new Date(),"yyyy-MM-dd HH:mm:ss")) + .apply(" DATEDIFF(t.END_TIME,CURRENT_DATE() ) <= 5 ") + .notExists(" select 1 from notices n where n.obj_type = 0 and n.type = 6 and n.obj_id = t.id ") + ); + for (InsuranceApply insuranceApply:insuranceApplyList) { + Notices notices = new Notices(Constants.NoticeObjectType.INSURANCE_APPLY,Constants.ONE,insuranceApply.getId(),insuranceApply.getSolutionsName(), + insuranceApply.getCompanyId(), Constants.NoticeType.SIX); + noticesMapper.insert(notices); + } + } -- Gitblit v1.9.3