From 50fb58286ed3b718c39a97e0987ee7561a295651 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期五, 04 七月 2025 17:56:41 +0800 Subject: [PATCH] git ch --- server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java | 180 +++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 160 insertions(+), 20 deletions(-) diff --git a/server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java index 5c1ffc7..ac53146 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java @@ -2,6 +2,7 @@ import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; +import com.doumee.core.model.LoginUserInfo; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; @@ -18,6 +19,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -94,20 +96,25 @@ @Override public List<ApplyDetail> findList(ApplyDetail applyDetailPageDTO) { - if(applyDetailPageDTO.getApplyId() == null){ + if(applyDetailPageDTO.getApplyId()==null && applyDetailPageDTO.getUnionApplyId() ==null){ return new ArrayList<>(); } MPJLambdaWrapper<ApplyDetail> queryWrapper = new MPJLambdaWrapper<>(); Utils.MP.blankToNull(applyDetailPageDTO); queryWrapper.selectAll(ApplyDetail.class); queryWrapper.selectAs(DispatchUnit::getName,ApplyDetail::getDuName); + queryWrapper.selectAs(Company::getName,ApplyDetail::getCompanyName); queryWrapper.selectAs(Worktype::getName,ApplyDetail::getWorkTypeName); queryWrapper.selectAs(Member::getIdcardNo,ApplyDetail::getIdcardNo); queryWrapper.selectAs(Member::getName,ApplyDetail::getMemberName); queryWrapper.leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyDetail::getDuId); queryWrapper.leftJoin(Worktype.class,Worktype::getId,ApplyDetail::getWorktypeId); queryWrapper.leftJoin(Member.class,Member::getId,ApplyDetail::getMemberId); - queryWrapper.eq( ApplyDetail::getApplyId,applyDetailPageDTO.getApplyId()); + queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId); + queryWrapper.eq( applyDetailPageDTO.getApplyId()!=null,ApplyDetail::getApplyId,applyDetailPageDTO.getApplyId()); + queryWrapper.eq( applyDetailPageDTO.getUnionApplyId()!=null,ApplyDetail::getUnionApplyId,applyDetailPageDTO.getUnionApplyId()); + queryWrapper.ge(Objects.nonNull(applyDetailPageDTO.getIsExcel())&&Constants.equalsInteger(applyDetailPageDTO.getIsExcel(),Constants.ONE), + ApplyDetail::getEndTime,DateUtil.getPlusTime2(new Date())); List<ApplyDetail> pageData= applyDetailJoinMapper.selectJoinList( ApplyDetail.class, queryWrapper); if(pageData!=null){ int num = 1; @@ -190,7 +197,7 @@ @Override public PageData<ApplyDetail> findPageForCompany(PageWrap<ApplyDetailPageDTO> pageWrap) { IPage<ApplyDetail> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); - if(pageWrap.getModel().getApplyId() == null){ + if(pageWrap.getModel().getApplyId() == null && pageWrap.getModel().getUnionApplyId() == null){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } MPJLambdaWrapper<ApplyDetail> queryWrapper = new MPJLambdaWrapper<>(); @@ -201,14 +208,16 @@ queryWrapper.selectAs(Member::getIdcardNo,ApplyDetail::getIdcardNo); queryWrapper.selectAs(Member::getName,ApplyDetail::getMemberName); queryWrapper.selectAs(Solutions::getName,ApplyDetail::getSolutionName); + queryWrapper.selectAs(Solutions::getType,ApplyDetail::getSolutionType); queryWrapper.selectAs(Company::getName,ApplyDetail::getCompanyName); - queryWrapper.selectAs(InsuranceApply::getStatus,ApplyDetail::getSolutionName); + queryWrapper.selectAs(InsuranceApply::getStatus,ApplyDetail::getStatus); queryWrapper.leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyDetail::getDuId); queryWrapper.leftJoin(Worktype.class,Worktype::getId,ApplyDetail::getWorktypeId); queryWrapper.leftJoin(Member.class,Member::getId,ApplyDetail::getMemberId); queryWrapper.leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId); queryWrapper.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId); queryWrapper.leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId); + queryWrapper.eq(ApplyDetail::getIsdeleted,Constants.ZERO); ApplyDetailPageDTO applyDetailPageDTO = pageWrap.getModel(); @@ -217,40 +226,70 @@ //鍦ㄤ繚 if(!Objects.isNull(applyDetailPageDTO.getApplyStatus()) &&applyDetailPageDTO.getApplyStatus().equals(Constants.ONE)){ - queryWrapper.apply(" now() <= t.END_TIME "); + queryWrapper.apply(" now() <= t.END_TIME and now() >= t.START_TIME "); + queryWrapper.in(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey(),Constants.InsuranceApplyStatus.WTB_DONE.getKey()); } //涓嶅湪淇� if(!Objects.isNull(applyDetailPageDTO.getApplyStatus()) &&applyDetailPageDTO.getApplyStatus().equals(Constants.TWO)){ queryWrapper.apply("now() > t.END_TIME "); + queryWrapper.in(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey(),Constants.InsuranceApplyStatus.WTB_DONE.getKey()); + } + //寰呯敓鏁� + if(!Objects.isNull(applyDetailPageDTO.getApplyStatus()) + &&applyDetailPageDTO.getApplyStatus().equals(Constants.THREE)){ + queryWrapper.apply("now() < t.START_TIME "); + queryWrapper.in(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey(),Constants.InsuranceApplyStatus.WTB_DONE.getKey()); } queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getDuId()),ApplyDetail::getDuId,applyDetailPageDTO.getDuId()); + queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getCompanyId()),InsuranceApply::getCompanyId,applyDetailPageDTO.getCompanyId()); queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getWorkTypeId()),ApplyDetail::getWorktypeId,applyDetailPageDTO.getWorkTypeId()); queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getUnionApplyId()),ApplyDetail::getUnionApplyId,applyDetailPageDTO.getUnionApplyId()); queryWrapper.like(StringUtils.isNotBlank(applyDetailPageDTO.getMemberName()),Member::getName,applyDetailPageDTO.getMemberName()); + queryWrapper.like(StringUtils.isNotBlank(applyDetailPageDTO.getCompanyName()),Company::getName,applyDetailPageDTO.getCompanyName()); queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeS()),ApplyDetail::getStartTime,applyDetailPageDTO.getStartTimeS()+" 00:00:00.0"); queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeE()),ApplyDetail::getStartTime,applyDetailPageDTO.getStartTimeE()+" 23:59:59.0"); queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeS()),ApplyDetail::getEndTime,applyDetailPageDTO.getEndTimeS()+" 00:00:00.0"); queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeE()),ApplyDetail::getEndTime,applyDetailPageDTO.getEndTimeE()+" 23:59:59.0"); +// queryWrapper.ge(Objects.nonNull(applyDetailPageDTO.getIsExcel())&&Constants.equalsInteger(applyDetailPageDTO.getIsExcel(),Constants.ONE), +// ApplyDetail::getEndTime,DateUtil.getPlusTime2(new Date())); - for(PageWrap.SortData sortData: pageWrap.getSorts()) { - if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { - queryWrapper.orderByDesc(sortData.getProperty()); - } else { - queryWrapper.orderByAsc(sortData.getProperty()); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(pageWrap.getSorts())){ + for(PageWrap.SortData sortData: pageWrap.getSorts()) { + if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { + queryWrapper.orderByDesc(sortData.getProperty()); + } else { + queryWrapper.orderByAsc(ApplyDetail::getSortnum); + } } + }else{ + queryWrapper.orderByAsc(ApplyDetail::getSortnum); } PageData<ApplyDetail> pageData = PageData.from(applyDetailJoinMapper.selectJoinPage(page,ApplyDetail.class, queryWrapper)); if(pageData.getRecords()!=null){ int num = 1; for (ApplyDetail d : pageData.getRecords()){ d.setSortnum(num++); - if(d.getEndTime().compareTo(new Date())<0){ - d.setApplyStatus(Constants.ONE); + if(Constants.equalsInteger(d.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey()) + || Constants.equalsInteger(d.getStatus(),Constants.InsuranceApplyStatus.WTB_DONE.getKey())){ + if(d.getEndTime().getTime()< System.currentTimeMillis()){ + d.setApplyStatus(Constants.ONE); + }else if(d.getStartTime().getTime()> System.currentTimeMillis()){ + d.setApplyStatus(Constants.TWO); + }else{ + d.setApplyStatus(Constants.ZERO); + } }else{ - d.setApplyStatus(Constants.ZERO); + d.setApplyStatus(-Constants.ONE); } + if(Objects.nonNull(d.getReduceMoney())){ + d.setFee(d.getFee().add(d.getReduceMoney())); + } + +// d.setPrice(Constants.getTwoPoint(d.getPrice())); +// d.setFee(Constants.getTwoPoint(d.getFee())); + } } @@ -261,6 +300,64 @@ @Override + public PageData<ApplyDetail> findPageForMini(PageWrap<ApplyDetailPageDTO> pageWrap) { + IPage<ApplyDetail> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); + + MPJLambdaWrapper<ApplyDetail> queryWrapper = new MPJLambdaWrapper<>(); + Utils.MP.blankToNull(pageWrap.getModel()); + queryWrapper.selectAll(ApplyDetail.class); + queryWrapper.selectAs(DispatchUnit::getName,ApplyDetail::getDuName); + queryWrapper.selectAs(Worktype::getName,ApplyDetail::getWorkTypeName); + queryWrapper.selectAs(Member::getIdcardNo,ApplyDetail::getIdcardNo); + queryWrapper.selectAs(Member::getName,ApplyDetail::getMemberName); + queryWrapper.selectAs(Solutions::getName,ApplyDetail::getSolutionName); + queryWrapper.selectAs(Solutions::getType,ApplyDetail::getSolutionType); + queryWrapper.selectAs(Company::getName,ApplyDetail::getCompanyName); + queryWrapper.selectAs(InsuranceApply::getStatus,ApplyDetail::getStatus); + queryWrapper.leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyDetail::getDuId); + queryWrapper.leftJoin(Worktype.class,Worktype::getId,ApplyDetail::getWorktypeId); + queryWrapper.leftJoin(Member.class,Member::getId,ApplyDetail::getMemberId); + queryWrapper.leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId); + queryWrapper.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId); + queryWrapper.leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId); + queryWrapper.eq(ApplyDetail::getIsdeleted,Constants.ZERO); + + ApplyDetailPageDTO applyDetailPageDTO = pageWrap.getModel(); + queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getCompanyId()),InsuranceApply::getCompanyId,applyDetailPageDTO.getCompanyId()); + queryWrapper.in(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey(),Constants.InsuranceApplyStatus.WTB_DONE.getKey()); + queryWrapper.and(StringUtils.isNotBlank(applyDetailPageDTO.getMemberName()),i->i.like(Member::getIdcardNo,applyDetailPageDTO.getMemberName()).or().like(Member::getName,applyDetailPageDTO.getMemberName())); + + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(pageWrap.getSorts())){ + for(PageWrap.SortData sortData: pageWrap.getSorts()) { + if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { + queryWrapper.orderByDesc(sortData.getProperty()); + } else { + queryWrapper.orderByAsc(ApplyDetail::getSortnum); + } + } + }else{ + queryWrapper.orderByAsc(ApplyDetail::getSortnum); + } + PageData<ApplyDetail> pageData = PageData.from(applyDetailJoinMapper.selectJoinPage(page,ApplyDetail.class, queryWrapper)); + if(pageData.getRecords()!=null){ + int num = 1; + for (ApplyDetail d : pageData.getRecords()){ + d.setSortnum(num++); + if(d.getEndTime().getTime()<System.currentTimeMillis()){ + d.setStatus(0); + }else{ + d.setStatus(1); + } + if(StringUtils.isNotBlank(d.getIdcardNo())){ + d.setAge(Constants.getAgeByIdCard(d.getIdcardNo())); + } + } + } + return pageData; + } + + + @Override public List<ApplyDetail> findListForCompany(ApplyDetailPageDTO applyDetailPageDTO) { MPJLambdaWrapper<ApplyDetail> queryWrapper = new MPJLambdaWrapper<>(); queryWrapper.selectAll(ApplyDetail.class); @@ -268,24 +365,31 @@ queryWrapper.selectAs(InsuranceApply::getCode,ApplyDetail::getApplyCode); queryWrapper.selectAs(Solutions::getId,ApplyDetail::getSolutionId); queryWrapper.selectAs(Solutions::getName,ApplyDetail::getSolutionName); + queryWrapper.selectAs(Solutions::getType,ApplyDetail::getSolutionType); + queryWrapper.selectAs(Insurance::getBaseId,ApplyDetail::getInsuranceId); queryWrapper.selectAs(Worktype::getName,ApplyDetail::getWorkTypeName); queryWrapper.selectAs(Member::getIdcardNo,ApplyDetail::getIdcardNo); queryWrapper.selectAs(Member::getName,ApplyDetail::getMemberName); + queryWrapper.selectAs(InsuranceApply::getStartTime,ApplyDetail::getParentStartTime); + queryWrapper.selectAs(InsuranceApply::getEndTime,ApplyDetail::getParentEndTime); + + queryWrapper.selectAs(Solutions::getParentId,ApplyDetail::getSolutionBaseId); queryWrapper.leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyDetail::getDuId); queryWrapper.leftJoin(Worktype.class,Worktype::getId,ApplyDetail::getWorktypeId); queryWrapper.leftJoin(Member.class,Member::getId,ApplyDetail::getMemberId); queryWrapper.leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId); queryWrapper.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId); + queryWrapper.leftJoin(Insurance.class,Insurance::getId,Solutions::getInsuranceId); queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getApplyId()),ApplyDetail::getApplyId,applyDetailPageDTO.getApplyId()); - queryWrapper.ge(!Objects.isNull(applyDetailPageDTO.getApplyStatus()) - &&!applyDetailPageDTO.getApplyStatus().equals(Constants.ZERO), - ApplyDetail::getStartTime, DateUtil.getDate(new Date(),"yyyy-MM-dd")+" 00:00:00"); +// queryWrapper.ge(!Objects.isNull(applyDetailPageDTO.getApplyStatus()) +// &&!applyDetailPageDTO.getApplyStatus().equals(Constants.ZERO), +// ApplyDetail::getStartTime, DateUtil.getDate(new Date(),"yyyy-MM-dd")+" 00:00:00"); //鍦ㄤ繚 - queryWrapper.le(!Objects.isNull(applyDetailPageDTO.getApplyStatus()) - &&applyDetailPageDTO.getApplyStatus().equals(Constants.ONE), - ApplyDetail::getEndTime, DateUtil.getDate(new Date(),"yyyy-MM-dd")+" 23:59:59"); - //涓嶅湪淇� queryWrapper.ge(!Objects.isNull(applyDetailPageDTO.getApplyStatus()) + &&applyDetailPageDTO.getApplyStatus().equals(Constants.ONE), + ApplyDetail::getEndTime, DateUtil.getDate(new Date(),"yyyy-MM-dd HH:mm:ss")); + //涓嶅湪淇� + queryWrapper.le(!Objects.isNull(applyDetailPageDTO.getApplyStatus()) &&applyDetailPageDTO.getApplyStatus().equals(Constants.TWO), ApplyDetail::getEndTime, DateUtil.getDate(new Date(),"yyyy-MM-dd")+" 23:59:59"); queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getDuId()),ApplyDetail::getDuId,applyDetailPageDTO.getDuId()); @@ -296,6 +400,11 @@ queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeE()),ApplyDetail::getStartTime,applyDetailPageDTO.getStartTimeE()+" 23:59:59.0"); queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeS()),ApplyDetail::getEndTime,applyDetailPageDTO.getEndTimeS()+" 00:00:00.0"); queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeE()),ApplyDetail::getEndTime,applyDetailPageDTO.getEndTimeE()+" 23:59:59.0"); + + + queryWrapper.apply(Objects.nonNull(applyDetailPageDTO.getIsSettleClaims())&&Constants.equalsInteger(applyDetailPageDTO.getIsSettleClaims(),Constants.ONE), + " ( t4.START_TIME <= now() and t4.END_TIME >= DATE_SUB(now(), INTERVAL 30 DAY) ) "); + return applyDetailJoinMapper.selectJoinList(ApplyDetail.class,queryWrapper); } @@ -331,6 +440,37 @@ } + /** + * 鏌ヨ浜哄憳鍙姤妗堟暟鎹� + * @param memberId + * @return + */ + @Override + public List<ApplyDetail> getMemberSettleClaimsList(Integer memberId){ + LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectJoinList(ApplyDetail.class, + new MPJLambdaWrapper<ApplyDetail>() + .selectAll(ApplyDetail.class) + .selectAs(InsuranceApply::getCode,ApplyDetail::getApplyCode) + .selectAs(InsuranceApply::getStartTime,ApplyDetail::getParentStartTime) + .selectAs(InsuranceApply::getEndTime,ApplyDetail::getParentEndTime) + .selectAs(Company::getName,ApplyDetail::getCompanyName) + .selectAs(Solutions::getName,ApplyDetail::getSolutionName) + .selectAs(Worktype::getName,ApplyDetail::getWorkTypeName) + .selectAs(DispatchUnit::getName,ApplyDetail::getDuName) + .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId) + .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) + .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) + .leftJoin(Worktype.class,Worktype::getId,ApplyDetail::getWorktypeId) + .leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyDetail::getDuId) + .in(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey(), + Constants.InsuranceApplyStatus.WTB_DONE.getKey()) + .eq(ApplyDetail::getIsdeleted,Constants.ZERO) + .eq(InsuranceApply::getCompanyId,user.getCompanyId()) + .eq(ApplyDetail::getMemberId,memberId) + ); + return applyDetailList; + } } -- Gitblit v1.9.3