| | |
| | | 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; |
| | | |
| | |
| | | @Autowired |
| | | private IPayFeeConfigV1InnerServiceSMO payFeeConfigV1InnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IMeterMachineFactoryV1InnerServiceSMO meterMachineFactoryV1InnerServiceSMOImpl; |
| | | |
| | | @Override |
| | | public void saveMeterAndCreateFee(MeterMachineDetailDto meterMachineDetailDto, String degree, String batchId) { |
| | | |
| | |
| | | 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); |
| | | |
| | |
| | | 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()); |
| | |
| | | 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()); |
| | | } |
| | | |
| | | } |