From 45a8fb5db1b0aa6d5cd39198ffc30dba5ec8b2d9 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期三, 10 四月 2024 18:24:15 +0800 Subject: [PATCH] git ch --- server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java | 107 ++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 97 insertions(+), 10 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 3f93b3f..65345a0 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 @@ -320,7 +320,7 @@ } /** - * 澶勭悊鍔犲噺淇濇槑缁嗘暟鎹� + * 澶勭悊鎹㈠巶鏄庣粏鏁版嵁 * @param update */ private void dealDetailsDUdata(ApplyChange update,InsuranceApply insuranceApply) { @@ -351,7 +351,6 @@ //瀹為檯鎵瑰崟鐢熸晥鏃ユ湡 Date applyStartTime = DateUtil.getMontageDate(update.getApplyStartTime(),1); for(ApplyChagneDetail detail : detailList){ - //鏌ヨ鍑忎繚浜哄憳鏄惁瀛樺湪 鍐茬獊鐨� 淇濆崟鏄庣粏鏁版嵁 if(applyDetailJoinMapper.selectCount(new QueryWrapper<ApplyDetail>() .lambda() .eq(ApplyDetail::getApplyId,update.getApplyId()) @@ -883,7 +882,9 @@ if (Objects.isNull(insuranceApply)) { throw new BusinessException(ResponseStatus.DATA_EMPTY); } - if (!Constants.equalsInteger(insuranceApply.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())) { + if (!(Constants.equalsInteger(insuranceApply.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey()) + ||Constants.equalsInteger(insuranceApply.getStatus(),Constants.InsuranceApplyStatus.WTB_DONE.getKey()) + )) { throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(), "淇濆崟鐘舵�侀敊璇�"); } if (DateUtil.compareDate(insuranceApply.getEndTime(),new Date()) >= Constants.ZERO @@ -1010,7 +1011,8 @@ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "璇ヤ紒涓氬垎閰嶄繚闄╂柟妗堟棤娉曡繘琛屽噺淇�"); } //鍑忎繚鏄庣粏鏁版嵁 璁$畻閲戦 鏍规嵁鎵瑰崟鏃堕棿 鍓嶄竴澶� 璁$畻 - applyChangeCyclePriceDTO.setValidTime(DateUtil.getMontageDate(applyChange.getValidTime(),2)); + applyChangeCyclePriceDTO.setValidTime(DateUtil.getMontageDate(applyChange.getValidTime(),3)); + CountCyclePriceVO countCyclePriceVO = this.getChangeCountCyclePriceVO(applyChangeCyclePriceDTO); BigDecimal detailFee = countCyclePriceVO.getCyclePrice(); this.delChangeDetail(applyChange,delDetailList,insuranceApply,solutions,loginUserInfo,detailFee,applyChangeCyclePriceDTO.getValidTime()); @@ -1020,6 +1022,13 @@ //鎹㈠巶涓氬姟 List<ApplyChagneDetail> changeDetailList = applyChange.getChangeDetailList(); if (CollectionUtils.isNotEmpty(changeDetailList)) { + //楠岃瘉鏄惁瀛樺湪閲嶅鏁版嵁 + List<String> idcarNo = changeDetailList.stream().map(m->m.getIdcardNo()).collect(Collectors.toList()); + Set<String> set = new HashSet<>(idcarNo); + if(idcarNo.size() != set.size()){ + throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"瀵逛笉璧凤紝浜哄憳褰曞叆鏁版嵁瀛樺湪鐩稿悓鏁版嵁锛�"); + } + this.changeDetail(applyChange,changeDetailList,duWorktypeList,duSolutionList,loginUserInfo); } return fee; @@ -1096,6 +1105,9 @@ if (applyChange.getValidTime().compareTo(applyDetail.getEndTime()) > 0) { throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍑忎繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戜繚鍗曚繚闅滄棩鏈熻嚦锛氥��" + applyDetail.getEndTime() + "銆戞棤娉曢�氳繃鏈鐢宠"); } + + + applyChagneDetail.setPrice(applyDetail.getPrice()); applyChagneDetail.setCreateDate(new Date()); applyChagneDetail.setCreator(loginUserInfo.getId()); applyChagneDetail.setIsdeleted(Constants.ZERO); @@ -1112,7 +1124,10 @@ member.setEndTime(applyChagneDetail.getEndTime()); memberMapper.updateById(member); - applyChagneDetail.setFee( detailFee.multiply(new BigDecimal(-1))); + //鏌ヨ鍑忎繚鏃ユ湡 + Integer delDays = DateUtil.daysBetweenDates(applyDetail.getEndTime(),endTime); + + applyChagneDetail.setFee( new BigDecimal(delDays).multiply(applyDetail.getPrice()).multiply(new BigDecimal(-1))); applyChagneDetailJoinMapper.insert(applyChagneDetail); } } @@ -1149,6 +1164,13 @@ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "褰撳墠淇濆崟涓嬶紝鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝瓨鍦ㄦ棩鏈熷啿绐佺殑鏁版嵁"); } + ApplyDetail applyDetail = applyDetailJoinMapper.selectOne(new QueryWrapper<ApplyDetail>() + .lambda() + .eq(ApplyDetail::getApplyId,applyChange.getApplyId()).last("limit 1")); + if(Objects.isNull(applyDetail)){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "淇濆崟涓湭瀛樺湪鏄庣粏璁板綍"); + } + applyChagneDetail.setPrice(applyDetail.getPrice()); applyChagneDetail.setCreateDate(new Date()); applyChagneDetail.setCreator(loginUserInfo.getId()); applyChagneDetail.setIsdeleted(Constants.ZERO); @@ -1318,6 +1340,7 @@ && applyChagneDetail.getOldWorktypeId().equals(applyChagneDetail.getWorktypeId())){ throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(), "鎹㈠巶浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戞崲鍘傛暟鎹浉鍚岋紒"); } + applyChagneDetail.setPrice(applyDetail.getPrice()); applyChagneDetail.setCreateDate(new Date()); applyChagneDetail.setCreator(loginUserInfo.getId()); applyChagneDetail.setIsdeleted(Constants.ZERO); @@ -1517,6 +1540,9 @@ queryWrapper .selectAll(ApplyChange.class) .selectAs(InsuranceApply::getCode,ApplyChange::getApplyCode) + .selectAs(InsuranceApply::getStartTime,ApplyChange::getStartTime) + .selectAs(InsuranceApply::getCode,ApplyChange::getValidCode) + .selectAs(InsuranceApply::getEndTime,ApplyChange::getEndTime) .selectAs(Solutions::getName,ApplyChange::getSolutionsName) .selectAs(Solutions::getType,ApplyChange::getSolutionType) .selectAs(Company::getName,ApplyChange::getCompanyName) @@ -1537,6 +1563,7 @@ // .eq(!Objects.isNull(model.getSolutionsId()),ApplyChange::getSolutionsId,model.getSolutionsId()) .eq(!Objects.isNull(model.getSolutionType()),Solutions::getType,model.getSolutionType()) .eq(!Objects.isNull(model.getApplyId()),ApplyChange::getApplyId,model.getApplyId()) + .eq(!Objects.isNull(model.getUnionChangeId()),ApplyChange::getUnionChangeId,model.getUnionChangeId()) .eq(!Objects.isNull(model.getBaseSolutionsId()),Solutions::getBaseId,model.getBaseSolutionsId()) .like(StringUtils.isNotBlank(model.getSolutionsName()),Solutions::getName,model.getSolutionsName()) .ge(StringUtils.isNotBlank(model.getCreateDateS()),ApplyChange::getCreateDate, model.getCreateDateS()+" 00:00:00" ) @@ -1567,7 +1594,46 @@ } queryWrapper.orderByDesc(ApplyDetail::getCreateDate); - return applyChangeJoinMapper.selectJoinList(ApplyChange.class,queryWrapper); + List<ApplyChange> list =applyChangeJoinMapper.selectJoinList(ApplyChange.class,queryWrapper); + if(Constants.equalsObject(model.getGetFiles(),Constants.ONE)){ + //濡傛灉鏄悎骞跺崟,闇�瑕佹煡璇㈤檮浠朵俊鎭� + initFileForList(list); + } + return list; + } + private void initFileForList(List<ApplyChange> list) { + List<Integer> objList = new ArrayList<>(); + if(list!=null && list.size()>0){ + for(ApplyChange param : list){ + objList.add(param.getId()); + } + }else{ + return; + } + List<Multifile> multifiles = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda() + .in(Multifile::getObjId,objList) + .in(Multifile::getObjType,Arrays.asList(new Integer[]{Constants.MultiFile.CA_PD_PDF.getKey()})) + .eq(Multifile::getIsdeleted,Constants.ZERO) + .orderByAsc(Multifile::getId)); + if(multifiles!=null && multifiles.size()>0){ + String path = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode() + +systemDictDataBiz.queryByCode(Constants.OSS,Constants.APPLY_FILE).getCode(); + for(ApplyChange model : list){ + for(Multifile f : multifiles) { + if (StringUtils.isBlank(f.getFileurl())) { + continue; + } + f.setFileurlFull(path+f.getFileurl()); + if(Constants.equalsInteger(f.getObjId(), model.getId()) ){ + if (Constants.equalsInteger(f.getObjType(), Constants.MultiFile.CA_PD_PDF.getKey())) { + //绛剧讲鍓嶇殑鎶曚繚鍗� + model.setPidanFile(f); + } + } + } + } + } + } @@ -1727,9 +1793,9 @@ List<Multifile> multifiles = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda() .eq(Multifile::getObjId, applyChange.getId() ) - .in(Multifile::getObjType, Arrays.asList(new Integer[]{Constants.MultiFile.CA_APPLY_JIAJIAN_SIGN.getKey() - ,Constants.MultiFile.CA_PD_PDF.getKey() - ,Constants.MultiFile.CA_APPLY_CHANGEUNIT_SIGN.getKey()})) +// .in(Multifile::getObjType, Arrays.asList(new Integer[]{Constants.MultiFile.CA_APPLY_JIAJIAN_SIGN.getKey() +// ,Constants.MultiFile.CA_PD_PDF.getKey() +// ,Constants.MultiFile.CA_APPLY_CHANGEUNIT_SIGN.getKey()})) .eq(Multifile::getIsdeleted,Constants.ZERO)); if(multifiles!=null){ String path = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode() @@ -1952,6 +2018,10 @@ if(Objects.isNull(solutions)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈡柟妗堜俊鎭�"); } + ApplyDetail applyDetail = applyDetailJoinMapper.selectOne(new QueryWrapper<ApplyDetail>().lambda().eq(ApplyDetail::getIsdeleted,Constants.ZERO).eq(ApplyDetail::getApplyId,insuranceApply.getId()).last("limit 1")); + if(Objects.isNull(applyDetail)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌淇濆崟鏄庣粏璁板綍"); + } //鏍规嵁鎵瑰崟鏃ユ湡 鍜� 缁撴潫鏃ユ湡 璁$畻閲戦 //楠岃瘉鎵瑰崟鏃ユ湡鏄惁鍦ㄥ綋鍓嶆棩鏈熷悗 涓� 鍦ㄤ繚鍗曠粨鏉熸棩鏈熷墠 鐢宠鏃堕棿蹇呴』澶勪簬淇濆崟鐨勬椂闂磋寖鍥村唴 if (!(DateUtil.compareDate( insuranceApply.getStartTime(),applyChangeCyclePriceDTO.getValidTime()) >= Constants.ZERO @@ -1968,7 +2038,8 @@ BigDecimal sumPrice = countCyclePriceVO.getCyclePrice(); CountCyclePriceVO returnCountCyclePriceVO = new CountCyclePriceVO(); //鍔犲噺淇濋噾棰� - returnCountCyclePriceVO.setCyclePrice(sumPrice.multiply(new BigDecimal(optDays)).divide(new BigDecimal(sumDays),2, RoundingMode.HALF_UP)); +// returnCountCyclePriceVO.setCyclePrice(sumPrice.multiply(new BigDecimal(optDays)).divide(new BigDecimal(sumDays),2, RoundingMode.HALF_UP)); + returnCountCyclePriceVO.setCyclePrice(applyDetail.getPrice().multiply(new BigDecimal(optDays)).setScale(2, RoundingMode.HALF_UP)); return returnCountCyclePriceVO; } @@ -2109,6 +2180,9 @@ } if(applyChange.getId() == null){ throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + if(Objects.isNull(applyChange)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); } ApplyChange model = applyChangeJoinMapper.selectJoinOne(ApplyChange.class, new MPJLambdaWrapper<ApplyChange>() @@ -2148,6 +2222,19 @@ update.setStatus(Constants.ApplyChangeStatus.CHECHED_PASSED.getKey()); } applyChangeJoinMapper.updateById(update); + + + Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_HBD_AUDIT; + String info = applyChange.getCheckInfo(); + if(StringUtils.isNotBlank(applyChange.getCheckInfo())){ + info = info.replace("${param}", applyChange.getCheckInfo()); + }else{ + info = info.replace("${param}", ""); + } + ApplyLog log = new ApplyLog(update,applyLogType.getName(),info,update.getId(),applyLogType.getKey(), null, null); + applyLogMapper.insert(log); + + Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.APPLY_CHANGE; if(Constants.equalsInteger(applyChange.getType(),Constants.ONE)){ noticeObjectType = Constants.NoticeObjectType.CHANGE_FACTORY; -- Gitblit v1.9.3