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/ApplyChangeServiceImpl.java | 98 +++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 78 insertions(+), 20 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 0a77850..8aba30d 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 @@ -171,6 +171,7 @@ update.setStatus(Constants.ApplyChangeStatus.APPROVE.getKey()); update.setCheckDate(update.getEditDate()); update.setCheckInfo(param.getCheckInfo()); + update.setApplyId(model.getApplyId()); update.setCheckUserId(user.getId()); update.setId(model.getId()); update.setValidCode(param.getValidCode()); @@ -347,6 +348,17 @@ MemberInsurance memberInsurance = new MemberInsurance(applyDetail,update.getId()); memberInsuranceJoinMapper.insert(memberInsurance); + + Member member = memberMapper.selectById(detail.getMemberId()); + if(Objects.isNull(member)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鍛樺伐鏁版嵁"); + } + member.setApplyId(update.getApplyId()); + member.setDuId(detail.getDuId()); + member.setWorktypeId(detail.getWorktypeId()); + member.setStartTime(detail.getStartTime()); + member.setEndTime(detail.getEndTime()); + memberMapper.updateById(member); } } /** @@ -389,6 +401,10 @@ for (ApplyChagneDetail detail : detailList) { + Member member = memberMapper.selectById(detail.getMemberId()); + if(Objects.isNull(member)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鍛樺伐鏁版嵁"); + } if (Constants.equalsInteger(detail.getType(), Constants.ZERO)) { //鍔犱繚 ApplyDetail add = new ApplyDetail(); @@ -450,7 +466,7 @@ applyDetailJoinMapper.update(null, new UpdateWrapper<ApplyDetail>().lambda() .setSql(" fee = ifnull(fee,0)+" + updateFee) .setSql(" current_fee = " + updateCurrentFee) - .set(ApplyDetail::getEndTime, update.getApplyStartTime()) + .set(ApplyDetail::getEndTime, DateUtil.getMontageDate(update.getApplyStartTime(), 3)) .set(ApplyDetail::getEditor, update.getEditor()) .set(ApplyDetail::getEditDate, update.getEditDate()) .eq(ApplyDetail::getId, oldModel.getId()) @@ -466,21 +482,26 @@ ); } + member.setApplyId(update.getApplyId()); + member.setDuId(detail.getDuId()); + member.setWorktypeId(detail.getWorktypeId()); + member.setStartTime(detail.getStartTime()); + member.setEndTime(detail.getEndTime()); + memberMapper.updateById(member); + if (memberInsuranceList != null && memberInsuranceList.size() > 0) { memberInsuranceJoinMapper.insertBatchSomeColumn(memberInsuranceList); } - if (totalFee.compareTo(new BigDecimal(0)) != 0) { - //濡傛灉淇濆崟閲戦鍙戠敓缂栫爜锛屾洿鏂版�讳繚鍗曢噾棰� - insuranceApplyMapper.update(null, new UpdateWrapper<InsuranceApply>().lambda() - .setSql(" fee = ifnull(fee,0)+" + totalFee) - .setSql(" current_fee = ifnull(current_fee,0)+" + currentFee) - .set(InsuranceApply::getEditor, update.getEditor()) - .set(InsuranceApply::getEditDate, update.getEditDate()) - .eq(InsuranceApply::getId, update.getApplyId()) - ); - - } - + } + if (totalFee.compareTo(new BigDecimal(0)) != 0) { + //濡傛灉淇濆崟閲戦鍙戠敓缂栫爜锛屾洿鏂版�讳繚鍗曢噾棰� + insuranceApplyMapper.update(null, new UpdateWrapper<InsuranceApply>().lambda() + .setSql(" fee = ifnull(fee,0)+" + totalFee) + .setSql(" current_fee = ifnull(current_fee,0)+" + currentFee) + .set(InsuranceApply::getEditor, update.getEditor()) + .set(InsuranceApply::getEditDate, update.getEditDate()) + .eq(InsuranceApply::getId, update.getApplyId()) + ); } } @@ -613,6 +634,8 @@ } applyChange.setCreateDate(new Date()); applyChange.setCreator(loginUserInfo.getId()); + applyChange.setEditor(loginUserInfo.getId()); + applyChange.setEditDate(new Date()); applyChange.setIsdeleted(Constants.ZERO); applyChange.setApplyStartTime(applyChange.getValidTime()); applyChange.setStatus(Constants.ZERO); @@ -856,6 +879,13 @@ applyChagneDetail.setStartTime(applyDetail.getStartTime()); applyChagneDetail.setEndTime(DateUtil.getMontageDate(applyChange.getApplyStartTime(),3)); + member.setApplyId(insuranceApply.getId()); + member.setDuId(applyChagneDetail.getDuId()); + member.setWorktypeId(applyChagneDetail.getWorktypeId()); + member.setStartTime(applyChagneDetail.getStartTime()); + member.setEndTime(applyChagneDetail.getEndTime()); + memberMapper.updateById(member); + applyChagneDetail.setFee( detailFee.multiply(new BigDecimal(-1))); applyChagneDetailJoinMapper.insert(applyChagneDetail); } @@ -880,6 +910,13 @@ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝繀濉」缂哄け"); } + applyChagneDetail.setCreateDate(new Date()); + applyChagneDetail.setCreator(loginUserInfo.getId()); + applyChagneDetail.setIsdeleted(Constants.ZERO); + applyChagneDetail.setApplyChangeId(applyChange.getId()); + applyChagneDetail.setStartTime(DateUtil.getMontageDate(applyChange.getApplyStartTime(),1)); + applyChagneDetail.setEndTime(DateUtil.getMontageDate(insuranceApply.getEndTime(),2)); + applyChagneDetail.setType(Constants.ZERO); Member member = new Member(); if(Objects.isNull(applyChagneDetail.getMemberId())){ //鏌ヨ鏄惁瀛樺湪璇ョ敤鎴� @@ -901,11 +938,15 @@ member.setApplyId(insuranceApply.getId()); member.setDuId(applyChagneDetail.getDuId()); member.setWorktypeId(applyChagneDetail.getWorktypeId()); + member.setStartTime(applyChagneDetail.getStartTime()); + member.setEndTime(applyChagneDetail.getEndTime()); memberMapper.insert(member); }else{ member.setApplyId(insuranceApply.getId()); member.setDuId(applyChagneDetail.getDuId()); member.setWorktypeId(applyChagneDetail.getWorktypeId()); + member.setStartTime(applyChagneDetail.getStartTime()); + member.setEndTime(applyChagneDetail.getEndTime()); memberMapper.updateById(member); } }else{ @@ -916,8 +957,19 @@ member.setApplyId(insuranceApply.getId()); member.setDuId(applyChagneDetail.getDuId()); member.setWorktypeId(applyChagneDetail.getWorktypeId()); + member.setStartTime(applyChagneDetail.getStartTime()); + member.setEndTime(applyChagneDetail.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(),"銆�"+applyChagneDetail.getMemberName()+"銆戝憳宸ュ勾榫勮秴鍑烘柟妗堥厤缃� 鏂规閰嶇疆銆�"+solutions.getMinAge()+" - "+solutions.getMaxAge()+"銆戝瓨鍦ㄥ紓甯告暟鎹紒"); + } + //鏌ヨ鍛樺伐鏄惁瀛樺湪 0寰呯缃� 1宸茬绔� 鐨勬绫讳笟鍔′繚鏁版嵁 鍚屼竴涓诲崟涓� if (applyChagneDetailJoinMapper.selectJoinCount( new MPJLambdaWrapper<ApplyChagneDetail>() @@ -928,6 +980,8 @@ ) > Constants.ZERO) { throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝瓨鍦ㄧ敵璇蜂腑鐨勫姞鍑忎繚/鎹㈠巶鍗曟嵁"); } + + //鏌ヨ鍛樺伐鏄湪涓诲崟涓� 鏄惁瀛樺湪鐢熸晥涓殑鏁版嵁 if(!Objects.isNull(applyChagneDetail.getMemberId())){ if (applyDetailJoinMapper.selectCount(new QueryWrapper<ApplyDetail>().lambda() @@ -948,13 +1002,6 @@ throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(), "銆�" + applyChagneDetail.getMemberName() + "銆戝憳宸ュ伐绉嶄俊鎭湭鏌ヨ鍒帮紒"); } applyChagneDetail.setMemberId(member.getId()); - applyChagneDetail.setCreateDate(new Date()); - applyChagneDetail.setCreator(loginUserInfo.getId()); - applyChagneDetail.setIsdeleted(Constants.ZERO); - applyChagneDetail.setApplyChangeId(applyChange.getId()); - applyChagneDetail.setStartTime(DateUtil.getMontageDate(applyChange.getApplyStartTime(),1)); - applyChagneDetail.setEndTime(DateUtil.getMontageDate(insuranceApply.getEndTime(),2)); - applyChagneDetail.setType(Constants.ZERO); applyChagneDetail.setFee(detailFee); applyChagneDetailJoinMapper.insert(applyChagneDetail); } @@ -1019,7 +1066,18 @@ applyChagneDetail.setIsdeleted(Constants.ZERO); applyChagneDetail.setApplyChangeId(applyChange.getId()); applyChagneDetail.setType(Constants.TWO); + applyChagneDetail.setStartTime(applyDetail.getStartTime()); + applyChagneDetail.setEndTime(applyDetail.getEndTime()); + applyChagneDetailJoinMapper.insert(applyChagneDetail); + + member.setApplyId(applyChange.getApplyId()); + member.setDuId(applyChagneDetail.getDuId()); + member.setWorktypeId(applyChagneDetail.getWorktypeId()); + member.setStartTime(applyChagneDetail.getStartTime()); + member.setEndTime(applyChagneDetail.getEndTime()); + memberMapper.updateById(member); + } } -- Gitblit v1.9.3