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/meterWater/impl/QueryPreMeterWaterImpl.java |   58 +++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 43 insertions(+), 15 deletions(-)

diff --git a/service-fee/src/main/java/com/java110/fee/bmo/meterWater/impl/QueryPreMeterWaterImpl.java b/service-fee/src/main/java/com/java110/fee/bmo/meterWater/impl/QueryPreMeterWaterImpl.java
index b731940..9110a10 100755
--- a/service-fee/src/main/java/com/java110/fee/bmo/meterWater/impl/QueryPreMeterWaterImpl.java
+++ b/service-fee/src/main/java/com/java110/fee/bmo/meterWater/impl/QueryPreMeterWaterImpl.java
@@ -3,15 +3,16 @@
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.factory.GenerateCodeFactory;
-import com.java110.dto.RoomDto;
+import com.java110.dto.room.RoomDto;
 import com.java110.dto.contract.ContractRoomDto;
 import com.java110.dto.fee.FeeAttrDto;
 import com.java110.dto.fee.FeeDto;
-import com.java110.dto.meterWater.ImportExportMeterWaterDto;
-import com.java110.dto.meterWater.MeterWaterDto;
+import com.java110.dto.meter.ImportExportMeterWaterDto;
+import com.java110.dto.meter.MeterWaterDto;
 import com.java110.dto.owner.OwnerDto;
 import com.java110.dto.parking.ParkingSpaceDto;
 import com.java110.fee.bmo.meterWater.IQueryPreMeterWater;
+import com.java110.fee.feeMonth.IPayFeeMonth;
 import com.java110.intf.community.IParkingSpaceInnerServiceSMO;
 import com.java110.intf.community.IRoomInnerServiceSMO;
 import com.java110.intf.fee.IFeeAttrInnerServiceSMO;
@@ -21,7 +22,7 @@
 import com.java110.intf.user.IOwnerInnerServiceSMO;
 import com.java110.po.fee.FeeAttrPo;
 import com.java110.po.fee.PayFeePo;
-import com.java110.po.meterWater.MeterWaterPo;
+import com.java110.po.meter.MeterWaterPo;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.DateUtil;
@@ -65,6 +66,8 @@
     @Autowired
     private IOwnerInnerServiceSMO ownerInnerServiceSMOImpl;
 
+    @Autowired
+    private IPayFeeMonth payFeeMonthImpl;
 
     @Override
     public ResponseEntity<String> query(MeterWaterDto meterWaterDto, String roomNum) {
@@ -155,7 +158,15 @@
             feeAttrInnerServiceSMOImpl.saveFeeAttrs(feeAttrPos);
         }
 
+
         meterWaterInnerServiceSMOImpl.saveMeterWaters(meterWaterPos);
+
+        // todo 杩欓噷寮傛鐨勬柟寮忚绠� 鏈堟暟鎹� 鍜屾瑺璐规暟鎹�
+        List<String> feeIds = new ArrayList<>();
+        for (PayFeePo feePo : fees) {
+            feeIds.add(feePo.getFeeId());
+        }
+        payFeeMonthImpl.doGeneratorFeeMonths(feeIds, fees.get(0).getCommunityId());
         return ResultVo.success();
     }
 
@@ -174,6 +185,8 @@
 
         Assert.listOnlyOne(roomDtos, "鎴垮眿鏈壘鍒版垨鎵惧埌澶氭潯" + importExportMeterWaterDto.getFloorNum() + "-" + importExportMeterWaterDto.getUnitNum() + "-" + importExportMeterWaterDto.getRoomNum());
 
+        String roomName = importExportMeterWaterDto.getFloorNum() + "-" + importExportMeterWaterDto.getUnitNum() + "-" + importExportMeterWaterDto.getRoomNum();
+
         importExportMeterWaterDto.setMeterType(meterType);
         //鏌ヨ鎴垮眿鏄惁鏈夊悎鍚�
         ContractRoomDto contractRoomDto = new ContractRoomDto();
@@ -184,7 +197,7 @@
 
 
         PayFeePo payFeePo = new PayFeePo();
-        payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId));
+        payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId,true));
         payFeePo.setIncomeObjId(storeId);
         payFeePo.setAmount("-1");
         payFeePo.setStartTime(importExportMeterWaterDto.getPreReadingTime());
@@ -200,10 +213,9 @@
             payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_CONTRACT);
             FeeAttrPo feeAttrPo = new FeeAttrPo();
             feeAttrPo.setCommunityId(communityId);
-            feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+            feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId,true));
             feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_IMPORT_FEE_NAME);
-            String feeName = importExportMeterWaterDto.getFloorNum() + "鏍�" + importExportMeterWaterDto.getUnitNum() + "鍗曞厓" + importExportMeterWaterDto.getRoomNum() + "瀹�";
-
+            String feeName = roomName;
             if ("1010".equals(importExportMeterWaterDto.getMeterType())) {
                 feeName += "姘磋垂";
             } else if ("2020".equals(importExportMeterWaterDto.getMeterType())) {
@@ -216,18 +228,28 @@
             feeAttrPos.add(feeAttrPo);
         }
 
+
+        //todo 淇濆瓨鎴垮眿鍚嶇О
+        FeeAttrPo feeAttrPo = new FeeAttrPo();
+        feeAttrPo.setCommunityId(communityId);
+        feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_PAY_OBJECT_NAME);
+        feeAttrPo.setValue(roomName);
+        feeAttrPo.setFeeId(payFeePo.getFeeId());
+        feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId,true));
+        feeAttrPos.add(feeAttrPo);
+
         OwnerDto ownerDto = new OwnerDto();
         ownerDto.setCommunityId(communityId);
         ownerDto.setRoomId(roomDtos.get(0).getRoomId());
         List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwnersByRoom(ownerDto);
 
         if (ownerDtos != null && ownerDtos.size() > 0) {
-            FeeAttrPo feeAttrPo = new FeeAttrPo();
+            feeAttrPo = new FeeAttrPo();
             feeAttrPo.setCommunityId(communityId);
             feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_ID);
             feeAttrPo.setValue(ownerDtos.get(0).getOwnerId());
             feeAttrPo.setFeeId(payFeePo.getFeeId());
-            feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+            feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId,true));
             feeAttrPos.add(feeAttrPo);
 
             feeAttrPo = new FeeAttrPo();
@@ -235,7 +257,7 @@
             feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_LINK);
             feeAttrPo.setValue(ownerDtos.get(0).getLink());
             feeAttrPo.setFeeId(payFeePo.getFeeId());
-            feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+            feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId,true));
             feeAttrPos.add(feeAttrPo);
 
             feeAttrPo = new FeeAttrPo();
@@ -243,12 +265,18 @@
             feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_NAME);
             feeAttrPo.setValue(ownerDtos.get(0).getName());
             feeAttrPo.setFeeId(payFeePo.getFeeId());
-            feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+            feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId,true));
             feeAttrPos.add(feeAttrPo);
 
         }
         payFeePo.setFeeFlag(FeeDto.FEE_FLAG_ONCE);
         payFeePo.setState(FeeDto.STATE_DOING);
+        //todo 濡傛灉 褰撳墠璇绘暟灏忎簬绛変簬涓婃湡璇绘暟
+        //todo 杩欓噷娉ㄩ噴锛屾湰鏉ユ兂鐫� 鏂逛究鐗╀笟鍐嶄笉鐢ㄥ幓缂磋垂 璇绘暟涓�0 鐨勶紝缁撴灉鐗╀笟杩樹範鎯笉浜� 鎬讳互涓鸿鏁颁负0 鐨勬病鏈夋妱琛ㄦ垚鍔燂紝涓嶄細鍘荤粨鏉熻垂鐢ㄤ腑鏌ョ湅
+//        if (Double.parseDouble(importExportMeterWaterDto.getCurDegrees()) <= Double.parseDouble(importExportMeterWaterDto.getPreDegrees())) {
+//            payFeePo.setState(FeeDto.STATE_FINISH);
+//        }
+
         payFeePo.setUserId(userId);
         payFeePo.setFeeTypeCd(feeTypeCd);
         payFeePo.setConfigId(configId);
@@ -267,7 +295,7 @@
         meterWaterPo.setObjType(MeterWaterDto.OBJ_TYPE_ROOM);
         meterWaterPo.setPreDegrees(importExportMeterWaterDto.getPreDegrees());
         meterWaterPo.setPreReadingTime(importExportMeterWaterDto.getPreReadingTime());
-        meterWaterPo.setWaterId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_waterId));
+        meterWaterPo.setWaterId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_waterId,true));
         meterWaterPo.setRemark(importExportMeterWaterDto.getRemark());
         meterWaterPo.setPrice(importExportMeterWaterDto.getPrice());
         meterWaterPos.add(meterWaterPo);
@@ -283,7 +311,7 @@
             return false;
         }
         if (MeterWaterDto.METER_TYPE_ROOM.equals(meterWaterDto.getObjType())) {
-            String[] nums = roomNum.split("-",3);
+            String[] nums = roomNum.split("-", 3);
             if (nums.length != 3) {
                 return false;
             }
@@ -300,7 +328,7 @@
             meterWaterDto.setObjId(roomDtos.get(0).getRoomId());
 
         } else {
-            String[] nums = roomNum.split("-",2);
+            String[] nums = roomNum.split("-", 2);
             if (nums.length != 2) {
                 return false;
             }

--
Gitblit v1.8.0