From 3e76748af46dcc2602205f80caf8e9ea357c1e53 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期三, 11 六月 2025 18:28:16 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/2.0.1' into 2.0.1 --- server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java | 87 ++++++++++++++++++++++--------------------- 1 files changed, 45 insertions(+), 42 deletions(-) diff --git a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java index 3edb558..4055cf6 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java @@ -1435,6 +1435,15 @@ .eq(Member::getIsdeleted,Constants.ZERO) .in(Member::getIdcardNo,addDetailList.stream().map(i->i.getIdcardNo()).collect(Collectors.toList())) ); + ApplyDetail applyDetail = applyDetailJoinMapper.selectOne(new QueryWrapper<ApplyDetail>().lambda() + .eq(ApplyDetail::getApplyId,applyChange.getApplyId()) + .isNotNull(ApplyDetail::getPrice) + .last("limit 1 ") + ); + if(Objects.isNull(applyDetail)){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "淇濆崟涓嬫棤鏄庣粏鏁版嵁"); + } + List<Member> updMemberList = new ArrayList<>(); //鏌ヨ鏈鍔犱繚鎵�鏈変汉鍛樼殑鍘嗗彶淇濆崟璁板綍 List<ApplyDetail> applyDetailAllList = applyDetailJoinMapper.selectJoinList(ApplyDetail.class, new MPJLambdaWrapper<ApplyDetail>() @@ -1458,6 +1467,7 @@ .in(Member::getIdcardNo,memberList.stream().map(i->i.getId()).collect(Collectors.toList())) .in(ApplyChange::getStatus, Constants.ZERO, Constants.ONE)); + List<ApplyChagneDetail> applyChagneDetailList = new ArrayList<>(); for (int i = 0; i < addDetailList.size(); i++) { ApplyChagneDetail applyChagneDetail = addDetailList.get(i); if ( @@ -1503,9 +1513,9 @@ member.setWorktypeId(applyChagneDetail.getWorktypeId()); member.setStartTime(applyChagneDetail.getStartTime()); member.setEndTime(applyChagneDetail.getEndTime()); - memberMapper.updateById(member); +// memberMapper.updateById(member); + updMemberList.add(member); applyChagneDetail.setMemberId(member.getId()); - if(applyChangeDetailAllList.stream().filter( j->Constants.equalsInteger(j.getMemberId(),applyChagneDetail.getMemberId()) ).collect(Collectors.toList()).size()>Constants.ZERO){ @@ -1516,36 +1526,24 @@ List<ApplyDetail> memberApplyDetailList = new ArrayList<>(); if(CollectionUtils.isNotEmpty(applyDetailAllList)){ memberApplyDetailList = applyDetailAllList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo())).collect(Collectors.toList()); - } - if(CollectionUtils.isEmpty(memberApplyDetailList)){ - throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "淇濆崟涓湭瀛樺湪鏄庣粏璁板綍"); - } - if(memberApplyDetailList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo())&&Constants.equalsInteger(j.getApplyId(),applyChange.getApplyId()) - && j.getStartTime().getTime() <= DateUtil.getMontageDate(applyChange.getApplyStartTime(),1).getTime() - && j.getEndTime().getTime() >= DateUtil.getMontageDate(insuranceApply.getEndTime(),2).getTime() - ).collect(Collectors.toList()).size()>Constants.ZERO){ - throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "褰撳墠淇濆崟涓嬶紝鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝瓨鍦ㄦ棩鏈熷啿绐佺殑鏁版嵁"); - }; + if(memberApplyDetailList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo())&&Constants.equalsInteger(j.getApplyId(),applyChange.getApplyId()) + && j.getStartTime().getTime() <= DateUtil.getMontageDate(applyChange.getApplyStartTime(),1).getTime() + && j.getEndTime().getTime() >= DateUtil.getMontageDate(insuranceApply.getEndTime(),2).getTime() + ).collect(Collectors.toList()).size()>Constants.ZERO){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "褰撳墠淇濆崟涓嬶紝鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝瓨鍦ㄦ棩鏈熷啿绐佺殑鏁版嵁"); + }; + + if(memberApplyDetailList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo()) + &&Constants.equalsInteger(j.getApplyId(),applyChange.getApplyId()) + && j.getStartTime().getTime() <= System.currentTimeMillis() + && j.getEndTime().getTime() >= System.currentTimeMillis() + ).collect(Collectors.toList()).size()>Constants.ZERO){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝瓨鍦ㄤ繚闅滀腑鐨勪繚鍗曚俊鎭紝鏃犳硶杩涜鍔犱繚"); + }; - if(memberApplyDetailList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo()) - &&Constants.equalsInteger(j.getApplyId(),applyChange.getApplyId()) - && j.getStartTime().getTime() <= System.currentTimeMillis() - && j.getEndTime().getTime() >= System.currentTimeMillis() - ).collect(Collectors.toList()).size()>Constants.ZERO){ - throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝瓨鍦ㄤ繚闅滀腑鐨勪繚鍗曚俊鎭紝鏃犳硶杩涜鍔犱繚"); - }; + } - - List<ApplyDetail> optApplyDetailList = applyDetailAllList.stream() - .filter(j->Constants.equalsInteger(j.getApplyId(),applyChange.getApplyId()) - ).collect(Collectors.toList()); - - if(CollectionUtils.isEmpty(optApplyDetailList)){ - throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "淇濆崟涓湭瀛樺湪鏄庣粏璁板綍"); - } - - ApplyDetail applyDetail = optApplyDetailList.get(Constants.ZERO); applyChagneDetail.setPrice(applyDetail.getPrice()); applyChagneDetail.setCreateDate(new Date()); applyChagneDetail.setCreator(loginUserInfo.getId()); @@ -1578,18 +1576,6 @@ } }; - //鏌ヨ鍛樺伐鏄湪涓诲崟涓� 鏄惁瀛樺湪鐢熸晥涓殑鏁版嵁 - if(!Objects.isNull(applyChagneDetail.getMemberId())){ - if (applyDetailJoinMapper.selectCount(new QueryWrapper<ApplyDetail>().lambda() - .eq(ApplyDetail::getApplyId, applyChange.getApplyId()) - .eq(ApplyDetail::getMemberId, applyChagneDetail.getMemberId()) - .le(ApplyDetail::getStartTime, "now()") - .ge(ApplyDetail::getEndTime, "now()") - ) > Constants.ZERO) { - throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝瓨鍦ㄤ繚闅滀腑鐨勪繚鍗曚俊鎭紝鏃犳硶杩涜鍔犱繚"); - } - } - //楠岃瘉娲鹃仯鍗曚綅淇℃伅 涓庡伐绉嶄俊鎭� 鏄惁瀛樺湪 if(Constants.equalsInteger(solutions.getHasDispatchUnit(),Constants.ZERO)){ if (duSolutionList.stream().filter(d -> d.getDispatchUnitId().equals(applyChagneDetail.getDuId())).collect(Collectors.toList()).size() <= Constants.ZERO) { @@ -1608,7 +1594,24 @@ }else{ applyChagneDetail.setFee(detailFee); } - applyChagneDetailJoinMapper.insert(applyChagneDetail); + applyChagneDetail.setId(null); + applyChagneDetailList.add(applyChagneDetail); + } + if(CollectionUtils.isNotEmpty(applyChagneDetailList)){ + applyChagneDetailJoinMapper.insert(applyChagneDetailList); + } + if(CollectionUtils.isNotEmpty(updMemberList)){ + Thread t1=new Thread(new Runnable() { + @Override + public void run() { + try { + memberMapper.insertOrUpdate(updMemberList); + }catch (Exception e){ + e.printStackTrace(); + } + } + }); + t1.start(); } } -- Gitblit v1.9.3