From 15e588eb6a7549ecd2aaffb45e67f11e68354eb6 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期一, 05 二月 2024 18:22:19 +0800 Subject: [PATCH] 111 --- server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java | 243 +++++++++++++++++++++++++++++++++--------------- 1 files changed, 168 insertions(+), 75 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 10f893b..f3e2e61 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 @@ -96,6 +96,9 @@ @Autowired private DuWorktypeMapper duWorktypeMapper; + @Autowired + private NoticesMapper noticesMapper; + @Override @Transactional(rollbackFor = {Exception.class,BusinessException.class}) public Integer back(InsuranceApply insuranceApply) { @@ -110,6 +113,12 @@ if(Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵"); } + + Solutions solutions = solutionsMapper.selectById(model.getSolutionId()); + if(Objects.isNull(solutions)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈡柟妗堜俊鎭�"); + } + LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); InsuranceApply update = new InsuranceApply(); update.setEditDate(new Date()); @@ -120,6 +129,15 @@ update.setCheckUserId(user.getId()); update.setId(model.getId()); insuranceApplyMapper.updateById(update); + + //瀛樺偍寰呭姙淇℃伅 + Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY; + //鍒犻櫎鍏朵粬寰呭姙 + noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,insuranceApply.getId())); + Notices notices = new Notices(noticeObjectType,Constants.ONE,insuranceApply.getId(),solutions.getName(), + model.getCompanyId(), Constants.NoticeType.FOUR); + noticesMapper.insert(notices); + Constants.ApplyLogType applyLogType = Constants.ApplyLogType.PLATFORM_RETURN; String info =applyLogType.getInfo(); @@ -344,11 +362,14 @@ if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){ throw new BusinessException(ResponseStatus.DATA_EMPTY); } - + Solutions solutions = solutionsMapper.selectById(model.getSolutionId()); + if(Objects.isNull(solutions)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈡柟妗堜俊鎭�"); + } LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); Constants.ApplyLogType applyLogType = null; String info = ""; - //濡傛灉鏄┏鍥�,鍙兘鍙┏鍥炲凡绛剧珷鐘舵�佷笅鐨勯��鍥炵敵璇风姸鎬佽繘琛屾搷浣� + //濡傛灉鏄┏鍥�,鍙兘鍙┏鍥炲凡绛剧珷鐘舵�佷笅鐨勯��鍥炵敵璇风姸鎬佽繘琛屾搷浣� if(!Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵"); } @@ -384,6 +405,7 @@ update.setEditDate(new Date()); update.setSignApplyNo(applyNo); insuranceApplyMapper.updateById(update); + return link; } public String uploadSignFile(String link){ @@ -418,6 +440,13 @@ update.setId(model.getId()); insuranceApplyMapper.updateById(update); + //瀛樺偍寰呭姙淇℃伅 + Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY; + //鍒犻櫎鍏朵粬寰呭姙 + noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,model.getId())); + Notices notices = new Notices(noticeObjectType,Constants.ZERO,model.getId(),model.getSolutionsName(),model.getCompanyId(),Constants.NoticeType.TWO); + noticesMapper.insert(notices); + Multifile f = new Multifile(); f.setIsdeleted(Constants.ZERO); f.setCreator(model.getCreator()); @@ -448,6 +477,18 @@ update.setCheckUserId(model.getCreator()); update.setId(model.getId()); applyChangeMapper.updateById(update); + + //瀛樺偍寰呭姙淇℃伅 + Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.APPLY_CHANGE; + if(model.getType().equals(Constants.ONE)){ + noticeObjectType = Constants.NoticeObjectType.CHANGE_FACTORY; + } + //鍒犻櫎鍏朵粬寰呭姙 + noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,model.getId())); + Notices notices = new Notices(noticeObjectType,Constants.ZERO,model.getId(),model.getSolutionsName(), + model.getCompanyId(), Constants.NoticeType.TWO); + notices.setParam1(model.getApplyId().toString()); + noticesMapper.insert(notices); Multifile f = new Multifile(); f.setIsdeleted(Constants.ZERO); @@ -526,6 +567,7 @@ .selectAs(Solutions::getName,InsuranceApply::getSolutionsName) .selectAs(Solutions::getEmail,InsuranceApply::getSolutionEmail) .selectAs(Company::getName,InsuranceApply::getCompanyName) + .selectAs(InsuranceApply::getCompanyId,ApplyChange::getCompanyId) .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyChange::getApplyId) .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) @@ -584,6 +626,7 @@ .selectAs(Solutions::getName,InsuranceApply::getSolutionsName) .selectAs(Solutions::getEmail,InsuranceApply::getSolutionEmail) .selectAs(Company::getName,InsuranceApply::getCompanyName) + .selectAs(InsuranceApply::getCompanyId,ApplyChange::getCompanyId) .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyChange::getApplyId) .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) @@ -651,6 +694,11 @@ // info = info.replace("${param}", update.getCheckInfo()); ApplyLog log = new ApplyLog(update,applyLogType.getName(),StringUtils.isNotBlank(update.getCheckInfo())?info:"",update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update)); applyLogMapper.insert(log); + + //鍒犻櫎鍏朵粬寰呭姙 + Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY; + noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,insuranceApply.getId())); + return 1; } @@ -675,6 +723,11 @@ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵"); } + Solutions solutions = solutionsMapper.selectById(model.getSolutionId()); + if(Objects.isNull(solutions)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈡柟妗堜俊鎭�"); + } + Constants.ApplyLogType applyLogType = null; LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); InsuranceApply update = new InsuranceApply(); @@ -684,20 +737,30 @@ update.setCheckInfo(insuranceApply.getCheckInfo()); update.setCheckUserId(user.getId()); update.setId(model.getId()); + Constants.NoticeType noticeType = Constants.NoticeType.ONE; if(insuranceApply.getDealBackApply() ==1){ //濡傛灉鏄笉閫氳繃 applyLogType = Constants.ApplyLogType.PLATFORM_RETURN ; update.setStatus(Constants.InsuranceApplyStatus.PLATFORM_RETURN.getKey()); + + noticeType = Constants.NoticeType.FOUR; }else{ applyLogType = Constants.ApplyLogType.PLATFORM_CHECK_PASS; update.setStatus(Constants.InsuranceApplyStatus.PLATFORM_CHECK_PASS.getKey()); } insuranceApplyMapper.updateById(update); + + //瀛樺偍寰呭姙淇℃伅 + Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY; + //鍒犻櫎鍏朵粬寰呭姙 + noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,model.getId())); + Notices notices = new Notices(noticeObjectType,Constants.ONE,model.getId(),solutions.getName(),model.getCompanyId(),noticeType); + noticesMapper.insert(notices); + String info =applyLogType.getInfo(); info = info.replace("${param}", update.getCheckInfo()); ApplyLog log = new ApplyLog(update,applyLogType.getName(),info,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update)); applyLogMapper.insert(log); - return 1; } @@ -717,6 +780,13 @@ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); if(!loginUserInfo.getType().equals(Constants.ONE)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛绫诲瀷閿欒锛氶潪浼佷笟鐢ㄦ埛鏃犳硶杩涜璇ユ搷浣�"); + } + Solutions solutions = solutionsMapper.selectById(insuranceApply.getSolutionId()); + if(Objects.isNull(solutions)){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏈煡璇㈠埌鏂规淇℃伅"); + } + if(!(solutions.getIsdeleted().equals(Constants.ZERO)||solutions.getStatus().equals(Constants.ZERO))){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏂规淇℃伅宸茶绂佺敤"); } List<ApplyDetail> applyDetailList = insuranceApply.getApplyDetailList(); //鍒ゆ柇鏄惁瀛樺湪閲嶅淇℃伅 @@ -747,13 +817,29 @@ //澶勭悊涓嬬骇鏁版嵁 - this.dealApplyDetailData(insuranceApply,applyDetailList,loginUserInfo,countCyclePriceVO); + this.dealApplyDetailData(insuranceApply,solutions,applyDetailList,loginUserInfo,countCyclePriceVO); InsuranceApply updBean = new InsuranceApply(); updBean.setId(insuranceApply.getId()); updBean.setFee(applyDetailList.stream().map(ApplyDetail::getFee).reduce(BigDecimal.ZERO,BigDecimal::add)); insuranceApplyMapper.updateById(updBean); //瀛樺偍鏃ュ織鏁版嵁 - this.saveApplyLog(insuranceApply,insuranceApplyStatus,null); + Constants.ApplyLogType applyLogType = Constants.ApplyLogType.UPLOAD; + String info =applyLogType.getInfo(); +// info = info.replace("${param}", update.getCheckInfo()); + ApplyLog log = new ApplyLog(insuranceApply,applyLogType.getName(),info,insuranceApply.getId(),applyLogType.getKey(),null, null); + applyLogMapper.insert(log); + + + + //鍙戦�佸緟鍔炰笟鍔� + + //瀛樺偍寰呭姙淇℃伅 + Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY; + //鍒犻櫎鍏朵粬寰呭姙 + noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,insuranceApply.getId())); + Notices notices = new Notices(noticeObjectType,Constants.ZERO,insuranceApply.getId(),solutions.getName(),insuranceApply.getCompanyId(),Constants.NoticeType.ZERO); + noticesMapper.insert(notices); + return insuranceApply.getId(); } @@ -812,22 +898,38 @@ insuranceApply.setEndTime(countCyclePriceVO.getEndDate()); applyDetailMapper.delete(new QueryWrapper<ApplyDetail>().lambda().eq(ApplyDetail::getApplyId,insuranceApply.getId())); + + Solutions solutions = solutionsMapper.selectById(insuranceApply.getSolutionId()); + if(Objects.isNull(solutions)){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏈煡璇㈠埌鏂规淇℃伅"); + } + //澶勭悊涓嬬骇鏁版嵁 - this.dealApplyDetailData(insuranceApply,applyDetailList,loginUserInfo,countCyclePriceVO); + this.dealApplyDetailData(insuranceApply,solutions,applyDetailList,loginUserInfo,countCyclePriceVO); insuranceApply.setFee(applyDetailList.stream().map(ApplyDetail::getFee).reduce(BigDecimal.ZERO,BigDecimal::add)); insuranceApplyMapper.updateById(insuranceApply); //瀛樺偍鏃ュ織鏁版嵁 - this.saveApplyLog(insuranceApply,insuranceApplyStatus,null); + + Constants.ApplyLogType applyLogType = Constants.ApplyLogType.UPLOAD_AGAIN; + String info =applyLogType.getInfo(); +// info = info.replace("${param}", update.getCheckInfo()); + ApplyLog log = new ApplyLog(insuranceApply,applyLogType.getName(),info,insuranceApply.getId(),applyLogType.getKey(),null, null); + applyLogMapper.insert(log); + + + //瀛樺偍寰呭姙淇℃伅 + Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY; + //鍒犻櫎鍏朵粬寰呭姙 + noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,insuranceApply.getId())); + Notices notices = new Notices(noticeObjectType,Constants.ZERO,insuranceApply.getId(),solutions.getName(),insuranceApply.getCompanyId(),Constants.NoticeType.ZERO); + noticesMapper.insert(notices); + return insuranceApply.getId(); } - public void dealApplyDetailData(InsuranceApply insuranceApply,List<ApplyDetail> applyDetailList,LoginUserInfo loginUserInfo,CountCyclePriceVO countCyclePriceVO){ - Solutions solutions = solutionsMapper.selectById(insuranceApply.getSolutionId()); - if(Objects.isNull(solutions)){ - throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏈煡璇㈠埌鏂规淇℃伅"); - } + public void dealApplyDetailData(InsuranceApply insuranceApply,Solutions solutions,List<ApplyDetail> applyDetailList,LoginUserInfo loginUserInfo,CountCyclePriceVO countCyclePriceVO){ //鏌ヨ淇濋櫓鏂规涓嬬殑鎵�鏈夋淳閬e崟浣� List<DuSolution> duSolutionList = duSolutionJoinMapper.selectJoinList(DuSolution.class,new MPJLambdaWrapper<DuSolution>() .selectAll(DuSolution.class) @@ -888,6 +990,8 @@ member.setSex(Constants.getSexByIdCard(applyDetail.getIdcardNo())); member.setIdcardNo(applyDetail.getIdcardNo()); member.setApplyId(insuranceApply.getId()); + member.setStartTime(applyDetail.getStartTime()); + member.setEndTime(applyDetail.getEndTime()); member.setDuId(applyDetail.getDuId()); member.setWorktypeId(applyDetail.getWorktypeId()); memberMapper.insert(member); @@ -895,6 +999,8 @@ member.setApplyId(insuranceApply.getId()); member.setDuId(applyDetail.getDuId()); member.setWorktypeId(applyDetail.getWorktypeId()); + member.setStartTime(applyDetail.getStartTime()); + member.setEndTime(applyDetail.getEndTime()); memberMapper.updateById(member); } }else{ @@ -905,7 +1011,17 @@ member.setApplyId(insuranceApply.getId()); member.setDuId(applyDetail.getDuId()); member.setWorktypeId(applyDetail.getWorktypeId()); + member.setStartTime(applyDetail.getStartTime()); + member.setEndTime(applyDetail.getEndTime()); memberMapper.updateById(member); + } + + //鏍规嵁鍛樺伐韬唤璇佽繘琛屽垽鏂勾榫� + long age = Constants.getAgeByIdCard(member.getIdcardNo()); + if(Objects.isNull(age) + || age > solutions.getMaxAge() + || age < solutions.getMinAge()){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆�"+applyDetail.getMemberName()+"銆戝憳宸ュ勾榫勮秴鍑烘柟妗堥厤缃�,鏂规閰嶇疆銆�"+solutions.getMinAge()+" - "+solutions.getMaxAge()+"銆戯紒"); } applyDetail.setMemberId(member.getId()); applyDetail.setIdcardNo(member.getIdcardNo()); @@ -923,43 +1039,6 @@ applyDetailJoinMapper.insertBatchSomeColumn(applyDetailList); } } - - - public void saveApplyLog(InsuranceApply insuranceApply,Constants.InsuranceApplyStatus insuranceApplyStatus,String content){ - LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); - ApplyLog applyLog = new ApplyLog(); - applyLog.setCreateDate(new Date()); - applyLog.setCreator(loginUserInfo.getId()); - applyLog.setIsdeleted(Constants.ZERO); - applyLog.setApplyId(insuranceApply.getId()); - applyLog.setTitle(insuranceApplyStatus.getName()); - applyLog.setContent(content); - applyLog.setObjType(insuranceApplyStatus.getKey()); - applyLog.setObjId( insuranceApply.getId()); - applyLog.setStatus(insuranceApply.getStatus()); - applyLogMapper.insert(applyLog); - } - - - -// public BigDecimal countDetailFee(Solutions solutions ,Date startDate,Date endDate){ -// //鏌ヨ淇濋櫓瀹為檯鍛ㄦ湡 -// Integer cycle = DateUtil.calculateBetween(endDate,startDate,solutions.getDataType()); -// if(cycle==-1){ -// throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏃ユ湡淇℃伅閿欒!"); -// } -// return solutions.getPrice().multiply(new BigDecimal(cycle)); -// } - -// public static void main(String[] args) { -// Date date1 = DateUtil.StringToDate("2023-03-01 00:00:00"); -// Date date2 = DateUtil.StringToDate("2023-04-01 00:00:00"); -// System.out.println(DateUtil.calculateBetween(date1,date2,0)); -// System.out.println(DateUtil.calculateBetween(date1,date2,1)); -// System.out.println(DateUtil.calculateBetween(date1,date2,2)); -// System.out.println(DateUtil.calculateBetween(date1,date2,3)); -// -// } @Override @@ -1015,7 +1094,6 @@ @Override public PageData<InsuranceApply> findPage(PageWrap<InsuranceApplyQueryDTO> pageWrap) { - LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); IPage<InsuranceApply> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); MPJLambdaWrapper<InsuranceApply> queryWrapper = new MPJLambdaWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); @@ -1023,10 +1101,10 @@ queryWrapper.selectAll(InsuranceApply.class); queryWrapper.selectAs(Company::getName,InsuranceApply::getCompanyName); queryWrapper.selectAs(Solutions::getName,InsuranceApply::getSolutionsName); - queryWrapper.select(" DATEDIFF( t.END_TIME ,now() ) AS loseEfficacyDays "); + 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"); if(!Objects.isNull(pageWrap.getModel())&&!Objects.isNull(pageWrap.getModel().getType())){ - queryWrapper.select(" ( 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 ) as taxesMoney"); + 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 "); } queryWrapper.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId); @@ -1038,6 +1116,8 @@ queryWrapper.eq(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey()); queryWrapper.lt(InsuranceApply::getEndTime, Utils.Date.getStart(new Date())); } + LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + //浼佷笟浜哄憳鏌ョ湅鏈紒涓氭暟鎹� if(loginUserInfo.getType().equals(Constants.ONE)){ queryWrapper.eq(InsuranceApply::getCompanyId, loginUserInfo.getCompanyId()); @@ -1047,6 +1127,7 @@ }else{ queryWrapper.eq(InsuranceApply::getCompanyId, -1); } + queryWrapper.eq(pageWrap.getModel().getCompanyId()!=null,InsuranceApply::getCompanyId, pageWrap.getModel().getCompanyId()); } if (pageWrap.getModel().getSolutionId() != null) { queryWrapper.eq(InsuranceApply::getSolutionId, pageWrap.getModel().getSolutionId()); @@ -1201,13 +1282,9 @@ if(insuranceApply.getStartTime().compareTo(new Date())<0 && insuranceApply.getEndTime().compareTo(new Date()) > 0 ){ insuranceApply.setLoseEfficacyDays(DateUtil.daysBetweenDates(insuranceApply.getEndTime(),new Date())); } - - initApplyStatus(insuranceApply); - //鏌ヨ闄勪欢鏁版嵁 initImgData(insuranceApply); - //鏌ヨ鎿嶄綔璁板綍 List<ApplyLog> applyLogList = applyLogJoinMapper.selectJoinList(ApplyLog.class, new MPJLambdaWrapper<ApplyLog>() @@ -1216,6 +1293,7 @@ .selectAs(Company::getName,ApplyLog::getCompanyName) .leftJoin(SystemUser.class,SystemUser::getId,ApplyLog::getCreator) .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId) + .in(ApplyLog::getObjType,Constants.ApplyLogType.getTypeList(Constants.ZERO)) .eq(ApplyLog::getApplyId,insuranceApply.getId()) .orderByAsc(ApplyLog::getCreateDate) ); @@ -1229,12 +1307,14 @@ if(insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())){ //濡傛灉褰撳墠鏃堕棿澶т簬缁撴潫鏃ユ湡 鍒欎娇鐢ㄧ粨鏉熸棩鏈熷姣斿紑濮嬫棩鏈� if(DateUtil.compareDate(new Date(),insuranceApply.getEndTime())>=Constants.ZERO){ - insuranceApply.setServiceDays(DateUtil.daysBetweenDates(insuranceApply.getEndTime(),insuranceApply.getStartTime())); + insuranceApply.setServiceDays( + DateUtil.daysBetweenDates(insuranceApply.getEndTime(),insuranceApply.getStartTime())+1 + ); }else if(DateUtil.compareDate(insuranceApply.getStartTime(),new Date())>=Constants.ZERO){ //鏈紑濮� insuranceApply.setServiceDays(Constants.ZERO); }else{ - insuranceApply.setServiceDays(DateUtil.daysBetweenDates(new Date(),insuranceApply.getStartTime())); + insuranceApply.setServiceDays(DateUtil.daysBetweenDates(new Date(),insuranceApply.getStartTime())+1); } } } @@ -1265,17 +1345,17 @@ model.setBaoxiandanFile(f); } - if(model.getStatus().equals(Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())){ - //濡傛灉褰撳墠鏃堕棿澶т簬缁撴潫鏃ユ湡 鍒欎娇鐢ㄧ粨鏉熸棩鏈熷姣斿紑濮嬫棩鏈� - if(DateUtil.compareDate(new Date(),model.getEndTime())>=Constants.ZERO){ - model.setServiceDays(DateUtil.daysBetweenDates(model.getEndTime(),model.getStartTime())); - }else if(DateUtil.compareDate(model.getStartTime(),new Date())>=Constants.ZERO){ - //鏈紑濮� - model.setServiceDays(Constants.ZERO); - }else{ - model.setServiceDays(DateUtil.daysBetweenDates(new Date(),model.getStartTime())); - } - } +// if(model.getStatus().equals(Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())){ +// //濡傛灉褰撳墠鏃堕棿澶т簬缁撴潫鏃ユ湡 鍒欎娇鐢ㄧ粨鏉熸棩鏈熷姣斿紑濮嬫棩鏈� +// if(DateUtil.compareDate(new Date(),model.getEndTime())>=Constants.ZERO){ +// model.setServiceDays(DateUtil.daysBetweenDates(model.getEndTime(),model.getStartTime())); +// }else if(DateUtil.compareDate(model.getStartTime(),new Date())>=Constants.ZERO){ +// //鏈紑濮� +// model.setServiceDays(Constants.ZERO); +// }else{ +// model.setServiceDays(DateUtil.daysBetweenDates(new Date(),model.getStartTime())); +// } +// } } } } @@ -1332,8 +1412,14 @@ if(insuranceApply.getIsdeleted().equals(Constants.ONE)){ throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"鏁版嵁宸插垹闄�,鏃犳硶杩涜璇ユ搷浣�"); } + Solutions solutions = solutionsMapper.selectById(insuranceApply.getSolutionId()); + if(Objects.isNull(solutions)){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏈煡璇㈠埌鏂规淇℃伅"); + } + //-----TODU-------RJ-------瀹屽杽閫�鍥炵姸鎬佸垎寮�鏍囪------------------ Constants.InsuranceApplyStatus insuranceApplyStatus = Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_SIGNATURE; + Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY; if(insuranceApplyOptDTO.getOptType().equals(Constants.ONE)){ if(!(insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.UPLOAD.getKey()) ||insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey()) @@ -1347,6 +1433,15 @@ }else if(insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.SIGNATURE.getKey())){ insuranceApplyStatus = Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_SIGNATURE; } + + //瀛樺偍寰呭姙淇℃伅 + //鍒犻櫎鍏朵粬寰呭姙 + noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,insuranceApply.getId())); + Notices notices = new Notices(noticeObjectType,Constants.ONE,insuranceApply.getId(),solutions.getName(), + insuranceApply.getCompanyId(), Constants.NoticeType.THREE); + noticesMapper.insert(notices); + + }else if(insuranceApplyOptDTO.getOptType().equals(Constants.TWO)){ insuranceApplyStatus = Constants.InsuranceApplyStatus.CLOSE; if(insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.CLOSE.getKey())){ @@ -1357,6 +1452,8 @@ ||insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.PLATFORM_CHECK_PASS.getKey()))){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏁版嵁鐘舵�侀潪鍙敵璇烽��鍥�!"); } + //鍒犻櫎鍏朵粬寰呭姙 + noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,insuranceApply.getId())); } insuranceApply.setStatus(insuranceApplyStatus.getKey()); insuranceApply.setCheckDate(new Date()); @@ -1369,7 +1466,6 @@ info = info.replace("${param}", insuranceApplyOptDTO.getOptIllustration()); ApplyLog log = new ApplyLog(insuranceApply,applyLogType.getName(),info,insuranceApply.getId(),applyLogType.getKey(),JSONObject.toJSONString(insuranceApply), JSONObject.toJSONString(insuranceApply)); applyLogMapper.insert(log); -// this.saveApplyLog(insuranceApply,insuranceApplyStatus,null); } @@ -1398,16 +1494,13 @@ if(CollectionUtils.isNotEmpty(applyDetailList)){ for (ApplyDetail applyDetail: applyDetailList) { //2024-1-30 10:04:24 淇敼 鏍规嵁瀹為檯澶╂暟杩涜璁$畻 褰撳墠璐圭敤 鎬婚噾棰�/鎬诲ぉ鏁�*瀹為檯澶╂暟 - Integer maxDays = DateUtil.calculateBetween(applyDetail.getStartTime(),applyDetail.getEndTime(),0) + 1 ; + Integer maxDays = DateUtil.calculateBetween(applyDetail.getStartTime(),applyDetail.getEndTime(),0); BigDecimal fee = applyDetail.getFee(); if(applyDetail.getStartTime().compareTo(new Date()) <= 0 && applyDetail.getEndTime().compareTo(new Date()) >= 0 ){ - Integer days = DateUtil.calculateBetween(applyDetail.getStartTime(),new Date(),0) + 1 ; + 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); } -// DateUtil.daysBetweenDates(applyDetail.getEndTime(),applyDetail.getStartTime()); -// applyDetail.setCurrentFee(Constants.countDetailFee(solutions,new Date(),applyDetail.getStartTime())); -// applyDetailMapper.updateById(applyDetail); sumAmount = sumAmount.add(applyDetail.getCurrentFee()); } } -- Gitblit v1.9.3