From c71507499acb076b7b134c6df95c44655a4d7fca Mon Sep 17 00:00:00 2001
From: xiaogang <905166056@qq.com>
Date: 星期二, 07 九月 2021 11:49:18 +0800
Subject: [PATCH] 1、调整小区仓库调拨记录流程2、调整物品发放流程3、新增优惠申请核验记录4、新增组合支付(未完成,待续)5、优化费用显示问题

---
 service-report/src/main/java/com/java110/report/bmo/reportFeeMonthStatistics/impl/GetReportFeeMonthStatisticsBMOImpl.java |   53 ++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 46 insertions(+), 7 deletions(-)

diff --git a/service-report/src/main/java/com/java110/report/bmo/reportFeeMonthStatistics/impl/GetReportFeeMonthStatisticsBMOImpl.java b/service-report/src/main/java/com/java110/report/bmo/reportFeeMonthStatistics/impl/GetReportFeeMonthStatisticsBMOImpl.java
index aeeb100..2f8b9b6 100755
--- a/service-report/src/main/java/com/java110/report/bmo/reportFeeMonthStatistics/impl/GetReportFeeMonthStatisticsBMOImpl.java
+++ b/service-report/src/main/java/com/java110/report/bmo/reportFeeMonthStatistics/impl/GetReportFeeMonthStatisticsBMOImpl.java
@@ -428,13 +428,52 @@
                         OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
                         ownerRoomRelDto.setRoomId(repairDtos.get(0).getRepairObjId());
                         List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
-                        Assert.listOnlyOne(ownerRoomRelDtos, "鏌ヨ涓氫富鎴垮眿鍏崇郴琛ㄩ敊璇紒");
-                        OwnerDto ownerDto = new OwnerDto();
-                        ownerDto.setOwnerId(ownerRoomRelDtos.get(0).getOwnerId());
-                        ownerDto.setOwnerTypeCd("1001"); //涓氫富鏈汉
-                        List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto);
-                        Assert.listOnlyOne(ownerDtos, "鏌ヨ涓氫富淇℃伅閿欒锛�");
-                        reportFeeMonthStatistics.setOwnerName(ownerDtos.get(0).getName());
+                        if (ownerRoomRelDtos != null && ownerRoomRelDtos.size() == 0) { //鏌ヨ鏉℃暟涓�0鏉�
+                            OwnerRoomRelDto ownerRoomRel = new OwnerRoomRelDto();
+                            ownerRoomRel.setRoomId(repairDtos.get(0).getRepairObjId());
+                            ownerRoomRel.setStatusCd("1"); //鐪嬬湅涓氫富鎴垮眿鍏崇郴鏁版嵁鏄惁鍒犻櫎浜�
+                            List<OwnerRoomRelDto> ownerRoomRels = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRel);
+                            Assert.listOnlyOne(ownerRoomRels, "鏌ヨ涓氫富鎴垮眿鍏崇郴琛ㄩ敊璇紒");
+                            OwnerDto owner = new OwnerDto();
+                            owner.setOwnerId(ownerRoomRels.get(0).getOwnerId());
+                            owner.setOwnerTypeCd("1001"); //涓氫富鏈汉
+                            List<OwnerDto> owners = ownerInnerServiceSMOImpl.queryOwners(owner);
+                            if (owners != null && owners.size() == 0) { //鏌ュ嚭鏉℃暟涓�0鏉�
+                                //鍒ゆ柇涓氫富鏄惁鍒犻櫎浜�
+                                OwnerDto newOwner = new OwnerDto();
+                                newOwner.setOwnerId(ownerRoomRels.get(0).getOwnerId());
+                                newOwner.setOwnerTypeCd("1001"); //涓氫富鏈汉
+                                newOwner.setStatusCd("1");
+                                List<OwnerDto> newOwners = ownerInnerServiceSMOImpl.queryOwners(newOwner);
+                                Assert.listOnlyOne(newOwners, "鏌ヨ涓氫富淇℃伅閿欒锛�");
+                                reportFeeMonthStatistics.setOwnerName(newOwners.get(0).getName());
+                            } else if (owners != null && owners.size() == 1) { //鏌ュ嚭鏉℃暟涓�1鏉�
+                                reportFeeMonthStatistics.setOwnerName(owners.get(0).getName());
+                            } else {
+                                throw new IllegalArgumentException("鏌ヨ涓氫富淇℃伅閿欒锛�");
+                            }
+                        } else if (ownerRoomRelDtos != null && ownerRoomRelDtos.size() == 1) { //鏌ヨ鏉℃暟涓�1鏉�
+                            OwnerDto ownerDto = new OwnerDto();
+                            ownerDto.setOwnerId(ownerRoomRelDtos.get(0).getOwnerId());
+                            ownerDto.setOwnerTypeCd("1001"); //涓氫富鏈汉
+                            List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto);
+                            if (ownerDtos != null && ownerDtos.size() == 0) { //涓氫富鏌ヨ鏉℃暟涓�0鏉�
+                                //鍒ゆ柇涓氫富鏄惁鍒犻櫎浜�
+                                OwnerDto newOwner = new OwnerDto();
+                                newOwner.setOwnerId(ownerRoomRelDtos.get(0).getOwnerId());
+                                newOwner.setOwnerTypeCd("1001"); //涓氫富鏈汉
+                                newOwner.setStatusCd("1");
+                                List<OwnerDto> newOwners = ownerInnerServiceSMOImpl.queryOwners(newOwner);
+                                Assert.listOnlyOne(newOwners, "鏌ヨ涓氫富淇℃伅閿欒锛�");
+                                reportFeeMonthStatistics.setOwnerName(newOwners.get(0).getName());
+                            } else if (ownerDtos != null || ownerDtos.size() == 1) {
+                                reportFeeMonthStatistics.setOwnerName(ownerDtos.get(0).getName());
+                            } else {
+                                throw new IllegalArgumentException("鏌ヨ涓氫富淇℃伅閿欒锛�");
+                            }
+                        } else {
+                            throw new IllegalArgumentException("鏌ヨ涓氫富鎴垮眿鍏崇郴琛ㄩ敊璇紒");
+                        }
                     }
                 }
                 reportList.add(reportFeeMonthStatistics);

--
Gitblit v1.8.0