From 85fb76049712a9f670a54fafc25c9235e86decea Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期日, 22 十一月 2020 18:10:44 +0800
Subject: [PATCH] 优化代码
---
service-fee/src/main/java/com/java110/fee/bmo/meterWater/impl/QueryPreMeterWaterImpl.java | 99 +++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 99 insertions(+), 0 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 90eedf9..aff42e4 100644
--- 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
@@ -1,7 +1,10 @@
package com.java110.fee.bmo.meterWater.impl;
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.fee.FeeConfigDto;
import com.java110.dto.fee.FeeDto;
import com.java110.dto.meterWater.ImportExportMeterWaterDto;
import com.java110.dto.meterWater.MeterWaterDto;
@@ -9,7 +12,11 @@
import com.java110.fee.bmo.meterWater.IQueryPreMeterWater;
import com.java110.intf.community.IParkingSpaceInnerServiceSMO;
import com.java110.intf.community.IRoomInnerServiceSMO;
+import com.java110.intf.fee.IFeeInnerServiceSMO;
import com.java110.intf.fee.IMeterWaterInnerServiceSMO;
+import com.java110.po.fee.PayFeePo;
+import com.java110.po.meterWater.MeterWaterPo;
+import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.utils.util.DateUtil;
import com.java110.utils.util.StringUtil;
@@ -39,6 +46,9 @@
@Autowired
private IParkingSpaceInnerServiceSMO parkingSpaceInnerServiceSMOImpl;
+
+ @Autowired
+ private IFeeInnerServiceSMO feeInnerServiceSMOImpl;
@Override
@@ -78,6 +88,95 @@
return ResultVo.createResponseEntity(1, importExportMeterWaterDtos.size(), importExportMeterWaterDtos);
}
+ @Override
+ public ResponseEntity<String> importMeterWater(JSONObject reqJson) {
+ String communityId = reqJson.getString("communityId");
+ String storeId = reqJson.getString("storeId");
+ String configId = reqJson.getString("configId");
+ String userId = reqJson.getString("userId");
+ String feeTypeCd = reqJson.getString("feeTypeCd");
+ JSONArray importMeteWaterFees = reqJson.getJSONArray("importMeteWaterFees");
+ JSONObject meteWaterJson = null;
+ ImportExportMeterWaterDto importExportMeterWaterDto = null;
+
+ List<PayFeePo> fees = new ArrayList<>();
+ List<MeterWaterPo> meterWaterPos = new ArrayList<>();
+ for (int meteWaterIndex = 0; meteWaterIndex < importMeteWaterFees.size(); meteWaterIndex++) {
+ meteWaterJson = importMeteWaterFees.getJSONObject(meteWaterIndex);
+
+ importExportMeterWaterDto = BeanConvertUtil.covertBean(meteWaterJson, ImportExportMeterWaterDto.class);
+
+ dealImportExportMeterWater(importExportMeterWaterDto,
+ communityId,
+ storeId,
+ configId,
+ userId,
+ feeTypeCd,
+ fees,
+ meterWaterPos
+ );
+ }
+
+ if (fees.size() < 1 || meterWaterPos.size() < 1) {
+ return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "鎵归噺鎶勮〃澶辫触");
+ }
+
+ feeInnerServiceSMOImpl.saveFee(fees);
+
+ meterWaterInnerServiceSMOImpl.saveMeterWaters(meterWaterPos);
+ return ResultVo.success();
+ }
+
+ private void dealImportExportMeterWater(ImportExportMeterWaterDto importExportMeterWaterDto, String communityId,
+ String storeId, String configId, String userId, String feeTypeCd,
+ List<PayFeePo> fees, List<MeterWaterPo> meterWaterPos) {
+
+ RoomDto roomDto = new RoomDto();
+ roomDto.setCommunityId(communityId);
+ roomDto.setFloorNum(importExportMeterWaterDto.getFloorNum());
+ roomDto.setUnitNum(importExportMeterWaterDto.getUnitNum());
+ roomDto.setRoomNum(importExportMeterWaterDto.getRoomNum());
+ List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
+
+ Assert.listOnlyOne(roomDtos, "鎴垮眿鏈壘鍒版垨鎵惧埌澶氭潯" + importExportMeterWaterDto.getFloorNum() + "-" + importExportMeterWaterDto.getUnitNum() + "-" + importExportMeterWaterDto.getRoomNum());
+
+ if (FeeConfigDto.FEE_TYPE_CD_WATER.equals(feeTypeCd)) {
+ importExportMeterWaterDto.setMeterType("1010");
+ } else {
+ importExportMeterWaterDto.setMeterType("2020");
+ }
+
+ PayFeePo payFeePo = new PayFeePo();
+ payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId));
+ payFeePo.setIncomeObjId(storeId);
+ payFeePo.setAmount("-1");
+ payFeePo.setStartTime(importExportMeterWaterDto.getPreReadingTime());
+ payFeePo.setEndTime(importExportMeterWaterDto.getPreReadingTime());
+ payFeePo.setPayerObjId(roomDtos.get(0).getRoomId());
+ //payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_ROOM);
+ payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_ROOM);
+ payFeePo.setFeeFlag(FeeDto.FEE_FLAG_ONCE);
+ payFeePo.setState(FeeDto.STATE_DOING);
+ payFeePo.setUserId(userId);
+ payFeePo.setFeeTypeCd(feeTypeCd);
+ payFeePo.setConfigId(configId);
+ fees.add(payFeePo);
+
+ MeterWaterPo meterWaterPo = new MeterWaterPo();
+ meterWaterPo.setCommunityId(communityId);
+ meterWaterPo.setCurDegrees(importExportMeterWaterDto.getCurDegrees());
+ meterWaterPo.setCurReadingTime(importExportMeterWaterDto.getCurReadingTime());
+ meterWaterPo.setFeeId(payFeePo.getFeeId());
+ meterWaterPo.setMeterType(importExportMeterWaterDto.getMeterType());
+ meterWaterPo.setObjId(roomDtos.get(0).getRoomId());
+ meterWaterPo.setObjName(importExportMeterWaterDto.getFloorNum() + "鏍�" + importExportMeterWaterDto.getUnitNum() + "鍗曞厓" + importExportMeterWaterDto.getRoomNum() + "瀹�");
+ meterWaterPo.setObjType(MeterWaterDto.OBJ_TYPE_ROOM);
+ meterWaterPo.setPreDegrees(importExportMeterWaterDto.getPreDegrees());
+ meterWaterPo.setPreReadingTime(importExportMeterWaterDto.getPreReadingTime());
+ meterWaterPo.setWaterId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_waterId));
+ meterWaterPos.add(meterWaterPo);
+ }
+
private boolean freshFeeDtoParam(MeterWaterDto meterWaterDto, String roomNum) {
if (StringUtil.isEmpty(roomNum)) {
--
Gitblit v1.8.0