From 1fc203f758ace853f4bfa900c422c2f741d09e79 Mon Sep 17 00:00:00 2001 From: yanghb <yangbhwork@163.com> Date: 星期二, 18 二月 2025 09:05:21 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- land-system/src/main/java/com/zzg/system/service/state/impl/StateApplyRecordServiceImpl.java | 64 +++++++++++++++++++++++++++----- 1 files changed, 54 insertions(+), 10 deletions(-) diff --git a/land-system/src/main/java/com/zzg/system/service/state/impl/StateApplyRecordServiceImpl.java b/land-system/src/main/java/com/zzg/system/service/state/impl/StateApplyRecordServiceImpl.java index cc8b12e..d91c39d 100644 --- a/land-system/src/main/java/com/zzg/system/service/state/impl/StateApplyRecordServiceImpl.java +++ b/land-system/src/main/java/com/zzg/system/service/state/impl/StateApplyRecordServiceImpl.java @@ -55,7 +55,11 @@ @Resource private StateApplyRecordService stateApplyRecordService; - + /** + * 分页查询 + * @param stateApplyRecordPageBO + * @return + */ @Override public PageInfo<StateApplyRecordVO> pageInfo(StateApplyRecordPageBO stateApplyRecordPageBO) { PageUtils.startPage(); @@ -86,6 +90,11 @@ } } + /** + * 保存请账 + * @param recordAndItemBO + * @return + */ @Override @Transactional public boolean saveStateApplyRecordAndItem(SaveRecordAndItemBO recordAndItemBO) { @@ -159,6 +168,7 @@ variable.put("projectId", stateApplyRecord.getProjectId()); variable.put("applyType", stateApplyRecord.getApplyType()); processStartBO.setVariable(variable); + //开启工作流程 stateProcessTemplateService.start(processStartBO); //保存请款子表 @@ -166,6 +176,11 @@ return stateApplyRecordItemService.saveOrUpdateBatch(newRecordItem); } + /** + * 通过项目id查询权利人 + * @param getApplyHouseholdOwnerBO + * @return + */ @Override public ApplyHouseholdOwnerVO getApplyHouseholdOwner(GetApplyHouseholdOwnerBO getApplyHouseholdOwnerBO) { String projectId = getApplyHouseholdOwnerBO.getProjectId(); @@ -174,6 +189,7 @@ LambdaQueryWrapper<StateProject> lqwStateProject = new LambdaQueryWrapper<>(); lqwStateProject.eq(StateProject::getId, projectId); + //查询项目 StateProject one = stateProjectService.getOne(lqwStateProject); if (Objects.isNull(one)) { return new ApplyHouseholdOwnerVO(); @@ -183,6 +199,7 @@ if (org.apache.commons.lang3.StringUtils.isNotBlank(street)) { lqwHousehold.like(StateHousehold::getStreet, street); } + //查询房产 List<StateHousehold> householdList = stateHouseholdService.list(lqwHousehold); if (CollectionUtils.isEmpty(householdList)) { return new ApplyHouseholdOwnerVO(); @@ -195,12 +212,13 @@ if (org.apache.commons.lang3.StringUtils.isNotBlank(ownerName)) { lqwHouseholdOwner.like(StateHouseholdOwner::getOwnerName, ownerName); } + //查询权利人 List<StateHouseholdOwner> ownerList = stateHouseholdOwnerService.list(lqwHouseholdOwner); if (CollectionUtils.isEmpty(ownerList)) { return new ApplyHouseholdOwnerVO(); } - + //查询项目关联的补偿标准 StateProjectCompensation compensation = stateProjectCompensationService.getById(one.getId()); Map<String, StateHousehold> stateHouseholdMap = householdList.stream().collect(Collectors.toMap(StateHousehold::getId, Function.identity())); @@ -221,6 +239,7 @@ lqwCompensateStandard.eq(StateProjectCompensateStandard::getStandardName, compensation.getPolicySubsidy()) .eq(StateProjectCompensateStandard::getCategory, status) .eq(StateProjectCompensateStandard::getCompensateType, CompensateTypeEnum.POLICY_SUBSIDY_FEE.getCode()); + //查询项目补偿标准 List<StateProjectCompensateStandard> list = stateProjectCompensateStandardService.list(lqwCompensateStandard); if (!CollectionUtils.isEmpty(list)) { StateProjectCompensateStandard stateProjectCompensateStandard = list.stream().findFirst().get(); @@ -255,6 +274,11 @@ return applyHouseholdOwnerVO; } + /** + * 分页查询一级台账 + * @param stateApplyRecordPageBO + * @return + */ @Override public StateApplyRecordPageInfoLevelVO pageInfoLevel(StateApplyRecordPageInfoLevelBO stateApplyRecordPageBO) { List<StateApplyRecordVO> allStateApplyRecordVOList = this.getBaseMapper().selectApplyRecordWithProject(stateApplyRecordPageBO); @@ -335,9 +359,15 @@ )); } + /** + * 住宅临时安置补助费户详情或者 或者 停产停业补助费详情 + * @param getApplyHouseholdOwnerBO + * @return + */ @Override public PageInfo<ApplyOwnerBO> getApplyHouseholdOwnerInfo(GetApplyHouseholdOwnerBO getApplyHouseholdOwnerBO) { PageUtils.startPage(); + //TODO 查询请款记录 由于之前产品设计的问题是以权利人作为维度的即一个请款对应是 一个权利人, 后期又修改成了 以房产为 维度 即一个请款对应一个房产 导致之前数据库设计有问题 List<ApplyOwnerBO> applyHouseholdOwnerVOS = this.getBaseMapper().selectApplyRecordWithOwnerDistinctPage(getApplyHouseholdOwnerBO); if (CollectionUtils.isEmpty(applyHouseholdOwnerVOS)) { @@ -345,7 +375,7 @@ } getApplyHouseholdOwnerBO.setStateHouseIdList(applyHouseholdOwnerVOS.stream().map(ApplyOwnerBO::getStateHouseholdId).collect(Collectors.toList())); PageInfo<ApplyOwnerBO> applyOwnerBOPageInfo = new PageInfo<>(applyHouseholdOwnerVOS); - + //TODO List<ApplyOwnerBO> applyOwnerBOS = this.getBaseMapper().selectApplyRecordWithOwnerPage(getApplyHouseholdOwnerBO); applyOwnerBOPageInfo.setList(applyOwnerBOS); List<String> projectIdList = applyOwnerBOPageInfo.getList().stream().map(ApplyOwnerBO::getProjectId).collect(Collectors.toList()); @@ -434,6 +464,11 @@ return applyOwnerBOPageInfo; } + /** + * 任务中心-请帐详情 + * @param getApplyHouseholdOwnerBO + * @return + */ @Override public ApplyBO stateApplyRecordDetail(GetApplyHouseholdOwnerBO getApplyHouseholdOwnerBO) { StateApplyRecord stateApplyRecord = this.getById(getApplyHouseholdOwnerBO.getApplyId()); @@ -448,6 +483,11 @@ return applyBO; } + /** + * 导入权利人 + * @param importApplyRecordBO + * @return + */ @Override public List<ApplyOwnerBO> importOwnerByFile(ImportApplyRecordBO importApplyRecordBO) { List<ApplyOwnerVO> dataList; @@ -475,7 +515,7 @@ if (Objects.isNull(one)) { throw new GlobalException("未查询到相应项目"); } - + //查询项目下的所有房产 LambdaQueryWrapper<StateHousehold> lqwHousehold = new LambdaQueryWrapper<>(); lqwHousehold.eq(StateHousehold::getStateProjectId, one.getId()); @@ -505,7 +545,7 @@ throw new GlobalException("未查询到相应房产权利人"); } - + //TODO 废弃代码开始 StateApplyRecord stateApplyRecord; if (org.apache.commons.lang3.StringUtils.isBlank(importApplyRecordBO.getApplyId())) { stateApplyRecord = new StateApplyRecord(); @@ -530,21 +570,25 @@ stateApplyRecord = new StateApplyRecord(); stateApplyRecord.setId(importApplyRecordBO.getApplyId()); } + //废弃代码结束 List<ApplyOwnerBO> itemList = new ArrayList<>(); ApplyOwnerBO applyOwnerBO; StateApplyRecordItem item; - List<StateHousehold> stateHouseholds = householdList.stream().filter(e -> dataList.stream().map(ApplyOwnerVO::getRealEstateCertificateNumber).collect(Collectors.toList()).contains(e.getRealEstateCertificateNumber())).collect(Collectors.toList()); + //根据导入数据的不动产权证号筛选出同项目下的房产数据 + List<StateHousehold> stateHouseholds = householdList.stream().filter(e -> dataList.stream().map(ApplyOwnerVO::getRealEstateCertificateNumber) + .collect(Collectors.toList()).contains(e.getRealEstateCertificateNumber())).collect(Collectors.toList()); ownerList.sort(Comparator.comparing(BaseEntity::getCreateTime)); + //权利人根据房产id分组 Map<String, List<StateHouseholdOwner>> ownerMap = ownerList.stream().collect(Collectors.groupingBy(StateHouseholdOwner::getStateHouseholdId)); - + //导入数据根据不同不动产权证号分组 Map<String, List<ApplyOwnerVO>> importMap = dataList.stream().collect(Collectors.groupingBy(ApplyOwnerVO::getRealEstateCertificateNumber)); DecimalFormat decimalFormat = new DecimalFormat("##0.####"); for (StateHousehold stateHousehold : stateHouseholds) { List<StateHouseholdOwner> owners = ownerMap.get(stateHousehold.getId()); if (!CollectionUtils.isEmpty(owners)) { - applyOwnerBO = StateProjectConvert.INSTANCE.toApplyOwnerBO(owners.get(0)); - applyOwnerBO.setOwnerName(owners.stream().map(StateHouseholdOwner::getOwnerName).collect(Collectors.joining("|"))); - applyOwnerBO.setStateHouseholdOwnerId(owners.stream().map(StateHouseholdOwner::getId).collect(Collectors.joining("|"))); + applyOwnerBO = StateProjectConvert.INSTANCE.toApplyOwnerBO(owners.get(0));//TODO 对象拷贝时new 了对象的 + applyOwnerBO.setOwnerName(owners.stream().map(StateHouseholdOwner::getOwnerName).collect(Collectors.joining("|"))); // 多个权利人用|分割 + applyOwnerBO.setStateHouseholdOwnerId(owners.stream().map(StateHouseholdOwner::getId).collect(Collectors.joining("|"))); //多个权利人id以|分割 applyOwnerBO.setStreet(stateHousehold.getStreet()); applyOwnerBO.setRealEstateCertificateNumber(stateHousehold.getRealEstateCertificateNumber()); -- Gitblit v1.7.1