jiangping
2024-01-26 8ebca068bb00e530ce44e10e7d009bcaa46c6579
server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
@@ -770,6 +770,7 @@
        queryWrapper.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId);
        queryWrapper.leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId);
        queryWrapper.eq(InsuranceApply::getIsdeleted,Constants.ZERO);
        queryWrapper.eq(pageWrap.getModel().getBaseSolutionId()!=null,Solutions::getBaseId,pageWrap.getModel().getBaseSolutionId());
        queryWrapper.in(statusList.size()>0,InsuranceApply::getStatus,statusList);
        if(Constants.equalsInteger(pageWrap.getModel().getStatusCollect(),Constants.THREE) ){
            queryWrapper.eq(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey());
@@ -819,18 +820,24 @@
        PageData<InsuranceApply> pageData = PageData.from(insuranceApplyJoinMapper.selectJoinPage(page,InsuranceApply.class, queryWrapper));
        if(pageData.getRecords()!=null){
            for (InsuranceApply apply : pageData.getRecords()){
                apply.setStatusCollect(Constants.InsuranceApplyStatus.getCollectStatus(apply.getStatus()));
                if(Constants.equalsInteger(apply.getStatusCollect(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())){
                    //如果已完成
                    if(apply.getEndTime()==null || System.currentTimeMillis()>apply.getEndTime().getTime()){
                        apply.setStatusCollect(Constants.THREE);//已过期
                    }
                }
            }
                initApplyStatus(apply) ;
             }
        }
        return pageData;
    }
    public void    initApplyStatus(InsuranceApply apply){
        apply.setStatusCollect(Constants.InsuranceApplyStatus.getCollectStatus(apply.getStatus()));
        if(Constants.equalsInteger(apply.getStatusCollect(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())){
            //如果已完成
            if(apply.getEndTime()==null || System.currentTimeMillis()>apply.getEndTime().getTime()){
                apply.setStatusCollect(Constants.THREE);//已过期
            }
        }
        setServiceDays(apply);
        apply.setStatusInfo(Constants.ApplyCollectStatus.getName(apply.getStatusCollect()));
    }
    @Override
    public List<InsuranceApply> findListByDTO(InsuranceApplyQueryDTO model) {
@@ -901,6 +908,7 @@
                .selectAll(InsuranceApply.class)
                .selectAs(Solutions::getName,InsuranceApply::getSolutionsName)
                .selectAs(Company::getName,ApplyLog::getCompanyName)
                .select(" ( select count(1) 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)
@@ -910,21 +918,10 @@
        if(Objects.isNull(insuranceApply)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        insuranceApply.setInsureNum(applyDetailMapper.selectCount(new QueryWrapper<ApplyDetail>().lambda().eq(ApplyDetail::getApplyId,insuranceApply.getId())
                .eq(ApplyDetail::getIsdeleted,Constants.ZERO)));
        //设置在保时长(天数)
        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()));
            }else if(DateUtil.compareDate(insuranceApply.getStartTime(),new Date())>=Constants.ZERO){
                //未开始
                insuranceApply.setServiceDays(Constants.ZERO);
            }else{
                insuranceApply.setServiceDays(DateUtil.daysBetweenDates(new Date(),insuranceApply.getStartTime()));
            }
        }
        initApplyStatus(insuranceApply);
        //查询附件数据
        initImgData(insuranceApply);
@@ -943,6 +940,23 @@
        insuranceApply.setApplyLogList(applyLogList);
        return insuranceApply;
    }
    private void setServiceDays(InsuranceApply insuranceApply) {
        //设置在保时长(天数)
        insuranceApply.setServiceDays(Constants.ZERO);
        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()));
            }else if(DateUtil.compareDate(insuranceApply.getStartTime(),new Date())>=Constants.ZERO){
                //未开始
                insuranceApply.setServiceDays(Constants.ZERO);
            }else{
                insuranceApply.setServiceDays(DateUtil.daysBetweenDates(new Date(),insuranceApply.getStartTime()));
            }
        }
    }
    private void initImgData(InsuranceApply model) {
        List<Multifile> multifiles = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda()
                .eq(Multifile::getObjId,model.getId())