From cdd6551b190b981b807a3b95e9635c559ccc769d Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期一, 19 五月 2025 09:45:07 +0800 Subject: [PATCH] git ch --- server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java | 172 +++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 148 insertions(+), 24 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 20d8c43..3dacf38 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 @@ -1,5 +1,7 @@ package com.doumee.service.business.impl; +import com.doumee.core.constants.ResponseStatus; +import com.doumee.core.exception.BusinessException; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; @@ -20,6 +22,7 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Objects; @@ -90,9 +93,34 @@ } @Override - public List<ApplyDetail> findList(ApplyDetail applyDetail) { - QueryWrapper<ApplyDetail> wrapper = new QueryWrapper<>(applyDetail); - return applyDetailMapper.selectList(wrapper); + public List<ApplyDetail> findList(ApplyDetail applyDetailPageDTO) { + 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.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; + for (ApplyDetail d : pageData){ + d.setSortnum(num++); + } + } + return pageData; } @@ -167,27 +195,130 @@ @Override public PageData<ApplyDetail> findPageForCompany(PageWrap<ApplyDetailPageDTO> pageWrap) { IPage<ApplyDetail> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); + if(pageWrap.getModel().getApplyId() == null && pageWrap.getModel().getUnionApplyId() == null){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } 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.getApplyId()),ApplyDetail::getApplyId,applyDetailPageDTO.getApplyId()); + + //鍦ㄤ繚 + if(!Objects.isNull(applyDetailPageDTO.getApplyStatus()) + &&applyDetailPageDTO.getApplyStatus().equals(Constants.ONE)){ + 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.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())); + + 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(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.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())); + + + } + } + return pageData; + } + + + + + @Override + public List<ApplyDetail> findListForCompany(ApplyDetailPageDTO applyDetailPageDTO) { + MPJLambdaWrapper<ApplyDetail> queryWrapper = new MPJLambdaWrapper<>(); + queryWrapper.selectAll(ApplyDetail.class); + queryWrapper.selectAs(DispatchUnit::getName,ApplyDetail::getDuName); + queryWrapper.selectAs(InsuranceApply::getCode,ApplyDetail::getApplyCode); + queryWrapper.selectAs(Solutions::getId,ApplyDetail::getSolutionId); + queryWrapper.selectAs(Solutions::getName,ApplyDetail::getSolutionName); + 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); - - - ApplyDetailPageDTO applyDetailPageDTO = pageWrap.getModel(); + queryWrapper.leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId); + queryWrapper.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId); 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.le(!Objects.isNull(applyDetailPageDTO.getApplyStatus()) - &&applyDetailPageDTO.getApplyStatus().equals(Constants.ONE), + &&applyDetailPageDTO.getApplyStatus().equals(Constants.ONE), ApplyDetail::getEndTime, DateUtil.getDate(new Date(),"yyyy-MM-dd")+" 23:59:59"); //涓嶅湪淇� queryWrapper.ge(!Objects.isNull(applyDetailPageDTO.getApplyStatus()) @@ -196,21 +327,15 @@ queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getDuId()),ApplyDetail::getDuId,applyDetailPageDTO.getDuId()); queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getWorkTypeId()),ApplyDetail::getWorktypeId,applyDetailPageDTO.getWorkTypeId()); queryWrapper.like(StringUtils.isNotBlank(applyDetailPageDTO.getMemberName()),Member::getName,applyDetailPageDTO.getMemberName()); - queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeS()),ApplyDetail::getStartTime,applyDetailPageDTO.getStartTimeS()+" 00:00:00"); - queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeE()),ApplyDetail::getStartTime,applyDetailPageDTO.getStartTimeE()+" 23:59:59"); - queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeS()),ApplyDetail::getEndTime,applyDetailPageDTO.getEndTimeS()+" 00:00:00"); - queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeE()),ApplyDetail::getEndTime,applyDetailPageDTO.getEndTimeE()+" 23:59:59"); - - for(PageWrap.SortData sortData: pageWrap.getSorts()) { - if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { - queryWrapper.orderByDesc(sortData.getProperty()); - } else { - queryWrapper.orderByAsc(sortData.getProperty()); - } - } - PageData<ApplyDetail> pageData = PageData.from(applyDetailJoinMapper.selectJoinPage(page,ApplyDetail.class, queryWrapper)); - return pageData; + queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getMemberId()),Member::getId,applyDetailPageDTO.getMemberId()); + 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"); + return applyDetailJoinMapper.selectJoinList(ApplyDetail.class,queryWrapper); } + + @Override public long count(ApplyDetail applyDetail) { @@ -226,7 +351,6 @@ .selectAll(ApplyDetail.class) .selectAs(DispatchUnit::getName,ApplyDetail::getDuName) .selectAs(Worktype::getName,ApplyDetail::getWorkTypeName) - .selectAs(Member::getName,ApplyDetail::getMemberName) .selectAs(Solutions::getName,ApplyDetail::getSolutionName) .selectAs(ApplyChange::getValidCode,ApplyDetail::getValidCode) .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId) -- Gitblit v1.9.3