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-common/src/main/java/com/java110/common/smartMeter/SmartMeterCoreReadImpl.java | 79 +++++++++++++++++++++++++++------------
1 files changed, 55 insertions(+), 24 deletions(-)
diff --git a/service-common/src/main/java/com/java110/common/smartMeter/SmartMeterCoreReadImpl.java b/service-common/src/main/java/com/java110/common/smartMeter/SmartMeterCoreReadImpl.java
index 4a264b7..e2d51f9 100644
--- a/service-common/src/main/java/com/java110/common/smartMeter/SmartMeterCoreReadImpl.java
+++ b/service-common/src/main/java/com/java110/common/smartMeter/SmartMeterCoreReadImpl.java
@@ -1,30 +1,34 @@
package com.java110.common.smartMeter;
import com.java110.core.factory.GenerateCodeFactory;
-import com.java110.dto.CommunityMemberDto;
+import com.java110.dto.community.CommunityMemberDto;
import com.java110.dto.fee.FeeAttrDto;
import com.java110.dto.fee.FeeConfigDto;
import com.java110.dto.fee.FeeDto;
-import com.java110.dto.meterMachine.MeterMachineDto;
-import com.java110.dto.meterMachineDetail.MeterMachineDetailDto;
-import com.java110.dto.meterWater.MeterWaterDto;
+import com.java110.dto.meter.MeterMachineDto;
+import com.java110.dto.meter.MeterMachineDetailDto;
+import com.java110.dto.meter.MeterMachineFactoryDto;
+import com.java110.dto.meter.MeterWaterDto;
import com.java110.dto.owner.OwnerDto;
-import com.java110.dto.payFeeBatch.PayFeeBatchDto;
+import com.java110.dto.payFee.PayFeeBatchDto;
import com.java110.intf.common.IMeterMachineDetailV1InnerServiceSMO;
+import com.java110.intf.common.IMeterMachineFactoryV1InnerServiceSMO;
import com.java110.intf.common.IMeterMachineV1InnerServiceSMO;
import com.java110.intf.community.ICommunityMemberV1InnerServiceSMO;
import com.java110.intf.fee.*;
import com.java110.intf.user.IOwnerInnerServiceSMO;
import com.java110.po.fee.FeeAttrPo;
import com.java110.po.fee.PayFeePo;
-import com.java110.po.meterMachine.MeterMachinePo;
-import com.java110.po.meterMachineDetail.MeterMachineDetailPo;
-import com.java110.po.meterWater.MeterWaterPo;
-import com.java110.po.payFeeBatch.PayFeeBatchPo;
+import com.java110.po.meter.MeterMachinePo;
+import com.java110.po.meter.MeterMachineDetailPo;
+import com.java110.po.meter.MeterWaterPo;
+import com.java110.po.payFee.PayFeeBatchPo;
import com.java110.utils.exception.CmdException;
+import com.java110.utils.factory.ApplicationContextFactory;
import com.java110.utils.util.Assert;
import com.java110.utils.util.DateUtil;
import com.java110.utils.util.StringUtil;
+import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -65,6 +69,9 @@
@Autowired
private IPayFeeConfigV1InnerServiceSMO payFeeConfigV1InnerServiceSMOImpl;
+ @Autowired
+ private IMeterMachineFactoryV1InnerServiceSMO meterMachineFactoryV1InnerServiceSMOImpl;
+
@Override
public void saveMeterAndCreateFee(MeterMachineDetailDto meterMachineDetailDto, String degree, String batchId) {
@@ -74,12 +81,27 @@
List<MeterMachineDto> meterMachineDtos = meterMachineV1InnerServiceSMOImpl.queryMeterMachines(meterMachineDto);
Assert.listOnlyOne(meterMachineDtos, "琛ㄤ笉瀛樺湪");
+ String preDegrees = "0";
+ String preReadingTime = DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A);
+
+ //璐圭敤鎶勮〃
+ MeterWaterDto meterWaterDto = new MeterWaterDto();
+ meterWaterDto.setObjType(MeterWaterDto.OBJ_TYPE_ROOM);
+ meterWaterDto.setObjId(meterMachineDtos.get(0).getRoomId());
+ meterWaterDto.setCommunityId(meterMachineDtos.get(0).getCommunityId());
+ meterWaterDto.setMeterType(meterMachineDtos.get(0).getMeterType());
+ List<MeterWaterDto> meterWaterDtos = meterWaterInnerServiceSMOImpl.queryMeterWaters(meterWaterDto);
+
+ if (meterWaterDtos != null && meterWaterDtos.size() > 0) {
+ preDegrees = meterWaterDtos.get(0).getCurDegrees();
+ preReadingTime = meterWaterDtos.get(0).getCurReadingTime();
+ }
MeterMachineDetailPo meterMachineDetailPo = new MeterMachineDetailPo();
meterMachineDetailPo.setDetailId(meterMachineDetailDto.getDetailId());
meterMachineDetailPo.setCurDegrees(degree);
meterMachineDetailPo.setState(MeterMachineDetailDto.STATE_C);
- meterMachineDetailPo.setPrestoreDegrees(degree);
+ meterMachineDetailPo.setPrestoreDegrees(preDegrees);
meterMachineDetailPo.setCurReadingTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
meterMachineDetailV1InnerServiceSMOImpl.updateMeterMachineDetail(meterMachineDetailPo);
@@ -95,21 +117,7 @@
return;
}
- String preDegrees = "0";
- String preReadingTime = DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A);
- //璐圭敤鎶勮〃
- MeterWaterDto meterWaterDto = new MeterWaterDto();
- meterWaterDto.setObjType(MeterWaterDto.OBJ_TYPE_ROOM);
- meterWaterDto.setObjId(meterMachineDtos.get(0).getRoomId());
- meterWaterDto.setCommunityId(meterMachineDtos.get(0).getCommunityId());
- meterMachinePo.setMeterType(meterMachineDtos.get(0).getMeterType());
- List<MeterWaterDto> meterWaterDtos = meterWaterInnerServiceSMOImpl.queryMeterWaters(meterWaterDto);
-
- if (meterWaterDtos != null && meterWaterDtos.size() > 0) {
- preDegrees = meterWaterDtos.get(0).getPreDegrees();
- preReadingTime = meterWaterDtos.get(0).getCurReadingTime();
- }
CommunityMemberDto communityMemberDto = new CommunityMemberDto();
communityMemberDto.setCommunityId(meterMachineDtos.get(0).getCommunityId());
@@ -246,4 +254,27 @@
return payFeeBatchPo.getBatchId();
}
+ @Override
+ public double getMeterDegree(MeterMachineDto meterMachineDto) {
+
+ MeterMachineFactoryDto meterMachineFactoryDto = new MeterMachineFactoryDto();
+ meterMachineFactoryDto.setFactoryId(meterMachineDto.getImplBean());
+ List<MeterMachineFactoryDto> meterMachineFactoryDtos = meterMachineFactoryV1InnerServiceSMOImpl.queryMeterMachineFactorys(meterMachineFactoryDto);
+ Assert.listOnlyOne(meterMachineFactoryDtos, "鏅鸿兘姘寸數琛ㄥ巶瀹朵笉瀛樺湪");
+ ISmartMeterFactoryAdapt smartMeterFactoryAdapt = ApplicationContextFactory.getBean(meterMachineFactoryDtos.get(0).getBeanImpl(), ISmartMeterFactoryAdapt.class);
+ if (smartMeterFactoryAdapt == null) {
+ throw new CmdException("鍘傚鎺ュ彛鏈疄鐜�");
+ }
+
+ ResultVo resultVo = smartMeterFactoryAdapt.requestRead(meterMachineDto);
+
+ if(ResultVo.CODE_OK != resultVo.getCode()){
+ return 0.0;
+ }
+ if(resultVo.getData() == null){
+ return 0.0;
+ }
+ return Double.parseDouble(resultVo.getData().toString());
+ }
+
}
--
Gitblit v1.8.0