From e622bd5e3b2638b9ab9a712ed1160a66018d6fd7 Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期四, 22 二月 2024 09:21:15 +0800 Subject: [PATCH] mrshi --- server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java | 102 ++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 84 insertions(+), 18 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 f3e2e61..3f8a428 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); @@ -185,6 +187,19 @@ update.setEndTime(actEndTime); 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) + .eq(Multifile::getObjType,Constants.MultiFile.BD_DONE_PDF.getKey()) + .eq(Multifile::getObjId,update.getId()) + .set(Multifile::getIsdeleted,Constants.ONE) + .set(Multifile::getEditDate,update.getEditDate()) + .set(Multifile::getEditor,update.getEditor()) + ); insuranceApply.getBaoxiandanFile().setIsdeleted(Constants.ZERO); insuranceApply.getBaoxiandanFile().setCreator(user.getId()); @@ -443,7 +458,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); @@ -468,6 +485,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()); @@ -484,9 +502,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); @@ -680,6 +700,14 @@ update.setId(model.getId()); insuranceApplyMapper.updateById(update); + multifileMapper.update(null,new UpdateWrapper<Multifile>().lambda() + .eq(Multifile::getIsdeleted,Constants.ZERO) + .eq(Multifile::getObjType,Constants.MultiFile.BD_APPLY_PDF.getKey()) + .eq(Multifile::getObjId,update.getId()) + .set(Multifile::getIsdeleted,Constants.ONE) + .set(Multifile::getEditDate,update.getEditDate()) + .set(Multifile::getEditor,update.getEditor()) + ); insuranceApply.getToubaodanFile().setIsdeleted(Constants.ZERO); insuranceApply.getToubaodanFile().setCreator(user.getId()); insuranceApply.getToubaodanFile().setObjId(update.getId()); @@ -753,7 +781,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); @@ -798,6 +828,8 @@ Constants.InsuranceApplyStatus insuranceApplyStatus = Constants.InsuranceApplyStatus.UPLOAD; insuranceApply.setCreateDate(new Date()); insuranceApply.setCreator(loginUserInfo.getId()); + insuranceApply.setEditor(loginUserInfo.getId()); + insuranceApply.setEditDate(new Date()); insuranceApply.setIsdeleted(Constants.ZERO); insuranceApply.setCompanyId(loginUserInfo.getCompanyId()); insuranceApply.setCheckInfo(insuranceApplyStatus.getName()); @@ -836,7 +868,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); @@ -920,7 +954,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); @@ -1027,6 +1063,7 @@ applyDetail.setIdcardNo(member.getIdcardNo()); applyDetail.setSex(member.getSex()); applyDetail.setFee(countCyclePriceVO.getCyclePrice()); + applyDetail.setCurrentFee(BigDecimal.ZERO); //楠岃瘉娲鹃仯鍗曚綅淇℃伅鏄惁瀛樺湪 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崟浣嶆湭鏌ヨ鍒帮紒"); @@ -1102,7 +1139,7 @@ queryWrapper.selectAs(Company::getName,InsuranceApply::getCompanyName); queryWrapper.selectAs(Solutions::getName,InsuranceApply::getSolutionsName); queryWrapper.select(" DATEDIFF( t.END_TIME ,now() ) AS loseEfficacyDays "); - queryWrapper.select(" ( select count(1) from apply_detail ad where ad.apply_id = t.id ) as insureNum"); + 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())){ queryWrapper.select(" ifnull(( select sum(td.fee) from taxes ts inner join tax_detial td on td.TAX_ID = ts.id where ts.status != 2 and td.INSURANCE_APPLY_ID = t.id ),0) as taxesMoney"); queryWrapper.select(" ( select td.CREATE_DATE from taxes ts inner join tax_detial td on td.TAX_ID = ts.id where ts.status != 2 and td.INSURANCE_APPLY_ID = t.id order by td.CREATE_DATE desc limit 1 ) as taxesLast "); @@ -1136,19 +1173,19 @@ queryWrapper.ge(InsuranceApply::getEndTime, Utils.Date.getStart(pageWrap.getModel().getEndTimeS())); } if (pageWrap.getModel().getEndTimeE() != null) { - queryWrapper.le(InsuranceApply::getEndTime, Utils.Date.getEnd(pageWrap.getModel().getEndTimeE())); + queryWrapper.lt(InsuranceApply::getEndTime, Utils.Date.getEnd(pageWrap.getModel().getEndTimeE())); } if (pageWrap.getModel().getStartTimeS() != null) { queryWrapper.ge(InsuranceApply::getStartTime, Utils.Date.getStart(pageWrap.getModel().getStartTimeS())); } if (pageWrap.getModel().getStartTimeE() != null) { - queryWrapper.le(InsuranceApply::getStartTime, Utils.Date.getEnd(pageWrap.getModel().getStartTimeE())); + queryWrapper.lt(InsuranceApply::getStartTime, Utils.Date.getEnd(pageWrap.getModel().getStartTimeE())); } if (pageWrap.getModel().getCreateTimeS() != null) { queryWrapper.ge(InsuranceApply::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateTimeS())); } if (pageWrap.getModel().getCreateTimeE() != null) { - queryWrapper.le(InsuranceApply::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateTimeE())); + queryWrapper.lt(InsuranceApply::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateTimeE())); } if (pageWrap.getModel().getType() != null) { queryWrapper.eq(Solutions::getType, pageWrap.getModel().getType()); @@ -1157,7 +1194,7 @@ queryWrapper.eq(InsuranceApply::getCode, pageWrap.getModel().getCode()); } if (pageWrap.getModel().getStatus() != null) { - queryWrapper.eq(InsuranceApply::getStatus, pageWrap.getModel().getStatus()); + queryWrapper.in(InsuranceApply::getStatus, pageWrap.getModel().getStatus().split(",")); } if(CollectionUtils.isNotEmpty(pageWrap.getSorts())){ for(PageWrap.SortData sortData: pageWrap.getSorts()) { @@ -1182,7 +1219,7 @@ public void initApplyStatus(InsuranceApply apply){ apply.setStatusCollect(Constants.InsuranceApplyStatus.getCollectStatus(apply.getStatus())); - if(Constants.equalsInteger(apply.getStatusCollect(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())){ + if(Constants.equalsInteger(apply.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())){ //濡傛灉宸插畬鎴� if(apply.getEndTime()==null || System.currentTimeMillis()>apply.getEndTime().getTime()){ apply.setStatusCollect(Constants.THREE);//宸茶繃鏈� @@ -1243,7 +1280,7 @@ queryWrapper.eq(InsuranceApply::getCode, model.getCode()); } if (model.getStatus() != null) { - queryWrapper.eq(InsuranceApply::getStatus, model.getStatus()); + queryWrapper.in(InsuranceApply::getStatus, model.getStatus().split(",")); } if (CollectionUtils.isNotEmpty(model.getIds())) { queryWrapper.in(InsuranceApply::getId, model.getIds()); @@ -1268,7 +1305,8 @@ .selectAll(InsuranceApply.class) .selectAs(Solutions::getName,InsuranceApply::getSolutionsName) .selectAs(Company::getName,InsuranceApply::getCompanyName) - .select(" ( select count(1) from apply_detail ad where ad.apply_id = t.id ) as insureNum") + .select(" ( select max(ac.APPLY_START_TIME) from apply_change ac where ac.apply_id = t.id and ac.status = 2 ) as lastChangeDate") + .select(" ( select count(DISTINCT(ad.MEMBER_ID)) from apply_detail ad where ad.apply_id = t.id ) as insureNum") .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) .eq(InsuranceApply::getId,id) @@ -1291,6 +1329,7 @@ .selectAll(ApplyLog.class) .selectAs(SystemUser::getRealname,ApplyLog::getCreatorName) .selectAs(Company::getName,ApplyLog::getCompanyName) + .selectAs(SystemUser::getType,ApplyLog::getCreatorType) .leftJoin(SystemUser.class,SystemUser::getId,ApplyLog::getCreator) .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId) .in(ApplyLog::getObjType,Constants.ApplyLogType.getTypeList(Constants.ZERO)) @@ -1397,8 +1436,7 @@ @Transactional(rollbackFor = {Exception.class,BusinessException.class}) public void applyOpt(InsuranceApplyOptDTO insuranceApplyOptDTO){ if(Objects.isNull(insuranceApplyOptDTO) - ||Objects.isNull(insuranceApplyOptDTO.getApplyId()) - ||StringUtils.isBlank(insuranceApplyOptDTO.getOptIllustration())){ + ||Objects.isNull(insuranceApplyOptDTO.getApplyId())){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); @@ -1436,7 +1474,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); @@ -1500,6 +1540,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()); } @@ -1508,6 +1551,9 @@ insuranceApplyMapper.updateById(insuranceApply); } } +// if(1==1){ +// throw new BusinessException(ResponseStatus.NOT_ALLOWED); +// } } @@ -1531,6 +1577,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