From 7958f1dddb8a7f4e70d232b07a7703955ecedae0 Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期六, 26 八月 2023 12:45:33 +0800
Subject: [PATCH] 优化diamante

---
 service-fee/src/main/java/com/java110/fee/bmo/feeManualCollection/impl/SaveFeeManualCollectionBMOImpl.java |   65 +++++++++++++++++++++++++-------
 1 files changed, 50 insertions(+), 15 deletions(-)

diff --git a/service-fee/src/main/java/com/java110/fee/bmo/feeManualCollection/impl/SaveFeeManualCollectionBMOImpl.java b/service-fee/src/main/java/com/java110/fee/bmo/feeManualCollection/impl/SaveFeeManualCollectionBMOImpl.java
old mode 100644
new mode 100755
index 79da201..dfccf8f
--- a/service-fee/src/main/java/com/java110/fee/bmo/feeManualCollection/impl/SaveFeeManualCollectionBMOImpl.java
+++ b/service-fee/src/main/java/com/java110/fee/bmo/feeManualCollection/impl/SaveFeeManualCollectionBMOImpl.java
@@ -3,20 +3,23 @@
 import com.java110.core.annotation.Java110Transactional;
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.core.smo.IComputeFeeSMO;
+import com.java110.dto.room.RoomDto;
 import com.java110.dto.fee.FeeDto;
-import com.java110.dto.feeManualCollection.FeeManualCollectionDto;
-import com.java110.dto.feeManualCollectionDetail.FeeManualCollectionDetailDto;
+import com.java110.dto.fee.FeeManualCollectionDto;
+import com.java110.dto.fee.FeeManualCollectionDetailDto;
 import com.java110.dto.owner.OwnerCarDto;
 import com.java110.dto.owner.OwnerDto;
 import com.java110.fee.bmo.feeManualCollection.ISaveFeeManualCollectionBMO;
-import com.java110.intf.IFeeManualCollectionDetailInnerServiceSMO;
+import com.java110.intf.fee.IFeeManualCollectionDetailInnerServiceSMO;
+import com.java110.intf.community.IRoomInnerServiceSMO;
 import com.java110.intf.fee.IFeeInnerServiceSMO;
 import com.java110.intf.fee.IFeeManualCollectionInnerServiceSMO;
 import com.java110.intf.user.IOwnerCarInnerServiceSMO;
 import com.java110.intf.user.IOwnerInnerServiceSMO;
-import com.java110.po.feeManualCollection.FeeManualCollectionPo;
-import com.java110.po.feeManualCollectionDetail.FeeManualCollectionDetailPo;
+import com.java110.po.fee.FeeManualCollectionPo;
+import com.java110.po.fee.FeeManualCollectionDetailPo;
 import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.DateUtil;
 import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
@@ -48,6 +51,9 @@
     @Autowired
     private IOwnerCarInnerServiceSMO ownerCarInnerServiceSMOImpl;
 
+    @Autowired
+    private IRoomInnerServiceSMO roomInnerServiceSMOImpl;
+
     /**
      * 娣诲姞灏忓尯淇℃伅
      *
@@ -56,6 +62,15 @@
      */
     @Java110Transactional
     public ResponseEntity<String> save(FeeManualCollectionPo feeManualCollectionPo) {
+
+        RoomDto roomDto = new RoomDto();
+        roomDto.setRoomId(feeManualCollectionPo.getRoomId());
+        roomDto.setCommunityId(feeManualCollectionPo.getCommunityId());
+        List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
+
+        Assert.listOnlyOne(roomDtos, "鏈壘鍒版埧灞嬩俊鎭�");
+
+        roomDto = roomDtos.get(0);
 
         FeeDto feeDto = new FeeDto();
         feeDto.setPayerObjId(feeManualCollectionPo.getRoomId());
@@ -98,17 +113,27 @@
             return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "褰撳墠鎴垮眿涓嶅瓨鍦ㄦ墭鏀惰垂鐢�");
         }
 
-        feeManualCollectionPo.setOwnerId(ownerDtos.get(0).getOwnerId());
-        feeManualCollectionPo.setLink(ownerCarDtos.get(0).getLink());
-        feeManualCollectionPo.setOwnerName(ownerCarDtos.get(0).getOwnerName());
-        feeManualCollectionPo.setState(FeeManualCollectionDto.STATE_COLLECTION);
+        FeeManualCollectionDto feeManualCollectionDto = new FeeManualCollectionDto();
+        feeManualCollectionDto.setRoomId(roomDto.getRoomId());
+        feeManualCollectionDto.setCommunityId(roomDto.getCommunityId());
+        List<FeeManualCollectionDto> feeManualCollectionDtos = feeManualCollectionInnerServiceSMOImpl.queryFeeManualCollections(feeManualCollectionDto);
+        if (feeManualCollectionDtos == null || feeManualCollectionDtos.size() < 1) {
+            feeManualCollectionPo.setOwnerId(ownerDtos.get(0).getOwnerId());
+            feeManualCollectionPo.setLink(ownerDtos.get(0).getLink());
+            feeManualCollectionPo.setOwnerName(ownerDtos.get(0).getName());
+            feeManualCollectionPo.setState(FeeManualCollectionDto.STATE_COLLECTION);
+            feeManualCollectionPo.setRoomArea(roomDto.getBuiltUpArea());
+            feeManualCollectionPo.setRoomName(roomDto.getFloorNum() + "-" + roomDto.getUnitNum() + "-" + roomDto.getRoomNum());
+            feeManualCollectionPo.setCollectionId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_receiptId));
+            int flag = feeManualCollectionInnerServiceSMOImpl.saveFeeManualCollection(feeManualCollectionPo);
 
-        feeManualCollectionPo.setCollectionId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_receiptId));
-        int flag = feeManualCollectionInnerServiceSMOImpl.saveFeeManualCollection(feeManualCollectionPo);
-
-        if (flag < 1) {
-            return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "淇濆瓨澶辫触");
+            if (flag < 1) {
+                return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "淇濆瓨澶辫触");
+            }
+        } else {
+            feeManualCollectionPo = BeanConvertUtil.covertBean(feeManualCollectionDtos.get(0), FeeManualCollectionPo.class);
         }
+
 
         for (FeeDto tmpFeeDto : tmpFeeDtos) {
             saveFeeManualCollectionDetailInfo(tmpFeeDto, feeManualCollectionPo);
@@ -129,7 +154,17 @@
         feeManualCollectionDetailPo.setFeeName(StringUtil.isEmpty(tmpFeeDto.getImportFeeName()) ? tmpFeeDto.getFeeName() : tmpFeeDto.getImportFeeName());
         feeManualCollectionDetailPo.setStartTime(DateUtil.getFormatTimeString(tmpFeeDto.getEndTime(), DateUtil.DATE_FORMATE_STRING_A));
         feeManualCollectionDetailPo.setState(FeeManualCollectionDetailDto.STATE_COLLECTION);
-        feeManualCollectionDetailInnerServiceSMOImpl.saveFeeManualCollectionDetail(feeManualCollectionDetailPo);
+        FeeManualCollectionDetailDto feeManualCollectionDetailDto = new FeeManualCollectionDetailDto();
+        feeManualCollectionDetailDto.setFeeId(tmpFeeDto.getFeeId());
+        feeManualCollectionDetailDto.setCollectionId(feeManualCollectionPo.getCollectionId());
+        feeManualCollectionDetailDto.setCommunityId(feeManualCollectionPo.getCommunityId());
+        List<FeeManualCollectionDetailDto> feeManualCollectionDetailDtos = feeManualCollectionDetailInnerServiceSMOImpl.queryFeeManualCollectionDetails(feeManualCollectionDetailDto);
+        if (feeManualCollectionDetailDtos == null || feeManualCollectionDetailDtos.size() < 1) {
+            feeManualCollectionDetailInnerServiceSMOImpl.saveFeeManualCollectionDetail(feeManualCollectionDetailPo);
+        } else {
+            feeManualCollectionDetailPo.setDetailId(feeManualCollectionDetailDtos.get(0).getDetailId());
+            feeManualCollectionDetailInnerServiceSMOImpl.updateFeeManualCollectionDetail(feeManualCollectionDetailPo);
+        }
     }
 
     /**

--
Gitblit v1.8.0