java110
2021-05-07 e835c41eda498229bec8af7b74520fd5d046a4e3
service-fee/src/main/java/com/java110/fee/bmo/meterWater/impl/QueryPreMeterWaterImpl.java
old mode 100644 new mode 100755
@@ -4,6 +4,8 @@
import com.alibaba.fastjson.JSONObject;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.dto.RoomDto;
import com.java110.dto.contractRoom.ContractRoomDto;
import com.java110.dto.fee.FeeAttrDto;
import com.java110.dto.fee.FeeConfigDto;
import com.java110.dto.fee.FeeDto;
import com.java110.dto.meterWater.ImportExportMeterWaterDto;
@@ -12,8 +14,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.IFeeAttrInnerServiceSMO;
import com.java110.intf.fee.IFeeInnerServiceSMO;
import com.java110.intf.fee.IMeterWaterInnerServiceSMO;
import com.java110.intf.store.IContractRoomInnerServiceSMO;
import com.java110.po.fee.FeeAttrPo;
import com.java110.po.fee.PayFeePo;
import com.java110.po.meterWater.MeterWaterPo;
import com.java110.utils.util.Assert;
@@ -50,6 +55,12 @@
    @Autowired
    private IFeeInnerServiceSMO feeInnerServiceSMOImpl;
    @Autowired
    private IContractRoomInnerServiceSMO contractRoomInnerServiceSMOImpl;
    @Autowired
    private IFeeAttrInnerServiceSMO feeAttrInnerServiceSMOImpl;
    @Override
    public ResponseEntity<String> query(MeterWaterDto meterWaterDto, String roomNum) {
@@ -78,9 +89,9 @@
            meterWaterDto.setObjId(tmpRoomDto.getRoomId());
            List<MeterWaterDto> meterWaterDtos = meterWaterInnerServiceSMOImpl.queryMeterWaters(meterWaterDto);
            importExportMeterWaterDto = BeanConvertUtil.covertBean(tmpRoomDto, ImportExportMeterWaterDto.class);
            String preDegree = "0" ;
            String preDegree = "0";
            String preReadTime = DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_B);
            if(meterWaterDtos != null && meterWaterDtos.size()> 0){
            if (meterWaterDtos != null && meterWaterDtos.size() > 0) {
                preDegree = meterWaterDtos.get(0).getCurDegrees();
                preReadTime = DateUtil.dateTimeToDate(meterWaterDtos.get(0).getCurReadingTime());
            }
@@ -104,6 +115,7 @@
        List<PayFeePo> fees = new ArrayList<>();
        List<MeterWaterPo> meterWaterPos = new ArrayList<>();
        List<FeeAttrPo> feeAttrPos = new ArrayList<>();
        for (int meteWaterIndex = 0; meteWaterIndex < importMeteWaterFees.size(); meteWaterIndex++) {
            meteWaterJson = importMeteWaterFees.getJSONObject(meteWaterIndex);
@@ -116,7 +128,8 @@
                    userId,
                    feeTypeCd,
                    fees,
                    meterWaterPos
                    meterWaterPos,
                    feeAttrPos
            );
        }
@@ -126,13 +139,17 @@
        feeInnerServiceSMOImpl.saveFee(fees);
        if (feeAttrPos.size() > 0) {
            feeAttrInnerServiceSMOImpl.saveFeeAttrs(feeAttrPos);
        }
        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) {
                                            List<PayFeePo> fees, List<MeterWaterPo> meterWaterPos, List<FeeAttrPo> feeAttrPos) {
        RoomDto roomDto = new RoomDto();
        roomDto.setCommunityId(communityId);
@@ -145,9 +162,19 @@
        if (FeeConfigDto.FEE_TYPE_CD_WATER.equals(feeTypeCd)) {
            importExportMeterWaterDto.setMeterType("1010");
        }else if(FeeConfigDto.FEE_TYPE_CD_GAS.equals(feeTypeCd)){
            importExportMeterWaterDto.setMeterType("3030");
        } else {
            importExportMeterWaterDto.setMeterType("2020");
        }
        //查询房屋是否有合同
        ContractRoomDto contractRoomDto = new ContractRoomDto();
        contractRoomDto.setRoomId(roomDtos.get(0).getRoomId());
        List<ContractRoomDto> contractRoomDtos = contractRoomInnerServiceSMOImpl.queryContractRooms(contractRoomDto);
        PayFeePo payFeePo = new PayFeePo();
        payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId));
@@ -158,6 +185,26 @@
        payFeePo.setPayerObjId(roomDtos.get(0).getRoomId());
        //payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_ROOM);
        payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_ROOM);
        if (contractRoomDtos != null && contractRoomDtos.size() > 0) {
            payFeePo.setPayerObjId(contractRoomDtos.get(0).getContractId());
            //payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_ROOM);
            payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_CONTRACT);
            FeeAttrPo feeAttrPo = new FeeAttrPo();
            feeAttrPo.setCommunityId(communityId);
            feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
            feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_IMPORT_FEE_NAME);
            String feeName = importExportMeterWaterDto.getFloorNum() + "栋" + importExportMeterWaterDto.getUnitNum() + "单元" + importExportMeterWaterDto.getRoomNum() + "室";
            if("1010".equals(importExportMeterWaterDto.getMeterType())){
                feeName +="水费";
            }else{
                feeName +="电费";
            }
            feeAttrPo.setValue(feeName);
            feeAttrPo.setFeeId(payFeePo.getFeeId());
            feeAttrPos.add(feeAttrPo);
        }
        payFeePo.setFeeFlag(FeeDto.FEE_FLAG_ONCE);
        payFeePo.setState(FeeDto.STATE_DOING);
        payFeePo.setUserId(userId);
@@ -166,6 +213,7 @@
        payFeePo.setCommunityId(communityId);
        fees.add(payFeePo);
        MeterWaterPo meterWaterPo = new MeterWaterPo();
        meterWaterPo.setCommunityId(communityId);
        meterWaterPo.setCurDegrees(importExportMeterWaterDto.getCurDegrees());
@@ -173,7 +221,7 @@
        meterWaterPo.setFeeId(payFeePo.getFeeId());
        meterWaterPo.setMeterType(importExportMeterWaterDto.getMeterType());
        meterWaterPo.setObjId(roomDtos.get(0).getRoomId());
        meterWaterPo.setObjName(importExportMeterWaterDto.getFloorNum() + "栋" + importExportMeterWaterDto.getUnitNum() + "单元" + importExportMeterWaterDto.getRoomNum() + "室");
        meterWaterPo.setObjName(importExportMeterWaterDto.getFloorNum() + "-" + importExportMeterWaterDto.getUnitNum() + "-" + importExportMeterWaterDto.getRoomNum());
        meterWaterPo.setObjType(MeterWaterDto.OBJ_TYPE_ROOM);
        meterWaterPo.setPreDegrees(importExportMeterWaterDto.getPreDegrees());
        meterWaterPo.setPreReadingTime(importExportMeterWaterDto.getPreReadingTime());