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