chengf
2026-03-11 b88a288f4f787b509463678e3cd9ccfa3f37014b
service-job/src/main/java/com/java110/job/importData/adapt/ImportElectricityFeeV2QueueDataAdapt.java
@@ -69,31 +69,43 @@
    private void doImportData(AssetImportLogDetailDto assetImportLogDetailDto) {
        JSONObject data = JSONObject.parseObject(assetImportLogDetailDto.getContent());
        MeterWaterPo po = BeanConvertUtil.covertBean(data, MeterWaterPo.class);
        if (po.getCommunityId() == null) {
            throw new IllegalArgumentException("未查询到小区:" + po.getCommunityCode() + po.getCommunityName());
        }
        validateRoom(po, assetImportLogDetailDto);
        addFee(po, data, assetImportLogDetailDto.getLogId(), assetImportLogDetailDto);
        int i = 1;
        try {
            Thread.sleep(100);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }
    }
    private void addFee(MeterWaterPo po, JSONObject reqJson, String batchId, AssetImportLogDetailDto assetImportLogDetailDto) {
        PayFeePo payFeePo = BeanConvertUtil.covertBean(reqJson, PayFeePo.class);
        payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId));
        payFeePo.setIncomeObjId(reqJson.getString("storeId"));
        payFeePo.setAmount(po.getUnitPrice());
        if (payFeePo.getAmount().equals("")){
            payFeePo.setAmount("-1");
        }
//        payFeePo.setSecondaryFeeTypeCd("888800010190");
        payFeePo.setFeeTypeCd(po.getFeeTypeCd());
        payFeePo.setConfigId(po.getConfigId());
//        payFeePo.setPayerObjType("3333");
        payFeePo.setPayerObjId(po.getObjId());
        payFeePo.setBatchId(batchId);
        payFeePo.setStartTime(po.getCurReadingTime());
        payFeePo.setEndTime(po.getPreReadingTime());
        payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_ROOM);
        payFeePo.setbId("-1");
        payFeePo.setFeeFlag(FeeDto.FEE_FLAG_ONCE);
        payFeePo.setState(FeeDto.STATE_DOING);
        if (po.getRemark3() != null){
            po.setRemark(Vtil.defaultValue(po.getRemark()) + po.getRemark3());
        }
        int i = meterWaterInnerServiceSMOImpl.queryMeterWatersCountByPo(po);
        if (i > 0) {
            throw new IllegalArgumentException("重复的电费导入");
        }
        payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId));
        payFeePo.setBatchId(batchId);
        payFeePo.setbId("-1");
        payFeePo.setIncomeObjId("102025062610470035");
        payFeePo.setUserId("-1");
@@ -102,10 +114,6 @@
        po.setWaterId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_waterId));
        po.setFeeId(payFeePo.getFeeId());
        meterWaterPos.add(po);
        int i = meterWaterInnerServiceSMOImpl.queryMeterWatersCount(BeanConvertUtil.covertBean(BeanConvertUtil.beanCovertMap(po), MeterWaterDto.class));
        if (i > 0) {
            throw new IllegalArgumentException("重复的电费导入");
        }
        meterWaterInnerServiceSMOImpl.saveMeterWaters(meterWaterPos);
        int flag = payFeeV1InnerServiceSMOImpl.savePayFee(payFeePo);
@@ -140,11 +148,16 @@
        ownerDto.setRoomId(reqJson.getString("objId"));
        List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwnersByRoom(ownerDto);
        if (ownerDtos != null && ownerDtos.size() > 0) {
            feeAttrPo = new FeeAttrPo();
            feeAttrPo.setCommunityId(reqJson.getString("communityId"));
            feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_ID);
            feeAttrPo.setValue(ownerDtos.get(0).getOwnerId());
            if (ownerDtos.size() > 1) {
                feeAttrPo.setValue("导入信息中不存在业主");
            }else {
                feeAttrPo.setValue(ownerDtos.get(0).getOwnerId());
            }
            feeAttrPo.setFeeId(payFeePo.getFeeId());
            feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
            flag = feeAttrInnerServiceSMOImpl.saveFeeAttr(feeAttrPo);
@@ -155,7 +168,11 @@
            feeAttrPo = new FeeAttrPo();
            feeAttrPo.setCommunityId(reqJson.getString("communityId"));
            feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_LINK);
            feeAttrPo.setValue(ownerDtos.get(0).getLink());
            if (ownerDtos.size() > 1) {
                feeAttrPo.setValue("导入信息中不存在业主");
            }else {
                feeAttrPo.setValue(ownerDtos.get(0).getLink());
            }
            feeAttrPo.setFeeId(payFeePo.getFeeId());
            feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
            flag = feeAttrInnerServiceSMOImpl.saveFeeAttr(feeAttrPo);
@@ -166,7 +183,11 @@
            feeAttrPo = new FeeAttrPo();
            feeAttrPo.setCommunityId(reqJson.getString("communityId"));
            feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_NAME);
            feeAttrPo.setValue(ownerDtos.get(0).getName());
            if (ownerDtos.size() > 1) {
                feeAttrPo.setValue("导入信息中不存在业主");
            }else {
                feeAttrPo.setValue(ownerDtos.get(0).getName());
            }
            feeAttrPo.setFeeId(payFeePo.getFeeId());
            feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
            flag = feeAttrInnerServiceSMOImpl.saveFeeAttr(feeAttrPo);
@@ -178,50 +199,59 @@
    private void validateRoom(MeterWaterPo po, AssetImportLogDetailDto assetImportLogDetailDto) {
        RoomDto roomDto = new RoomDto();
        roomDto.setRoadName(po.getRoadName());
        roomDto.setFloorNum(po.getFloorNum());
        roomDto.setCommunityId(po.getCommunityId());
        roomDto.setUnitNum(po.getUnitNum());
        roomDto.setRoomNum(po.getRoomNum());
        roomDto.setRoadName(po.getRoadName());
        roomDto.setFloorNum(Vtil.defaultValueToNumber(po.getFloorNum()));
        roomDto.setUnitNum(Vtil.defaultValueToNumber(po.getUnitNum()));
        roomDto.setRoomNum(Vtil.defaultValueToNumber(po.getRoomNum()));
        if (roomDto.getRoomNum().isEmpty()) {
            roomDto.setRoomNumIsNull("yes");
        }
        List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
        if (roomDtos.isEmpty()) {
//            throw new IllegalArgumentException("未查询到房屋:" + po.getObjName());
            ImportOwnerRoomDto importOwnerRoomDto = new ImportOwnerRoomDto();//房屋
            importOwnerRoomDto.setRoomId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_roomId));
            importOwnerRoomDto.setOwnerId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ownerId));
            importOwnerRoomDto.setUserId(po.getUserId());
            importOwnerRoomDto.setLayerCount("0");
            importOwnerRoomDto.setLayer("0");
            importOwnerRoomDto.setLift("未知");
            importOwnerRoomDto.setSection("10102");
            importOwnerRoomDto.setOwnerTypeCd("1001");
            importOwnerRoomDto.setPersonType(OwnerDto.PERSON_TYPE_PERSON);
            importOwnerRoomDto.setPersonRole(OwnerDto.PERSON_ROLE_OWNER);
            importOwnerRoomDto.setRoomSubType(RoomDto.ROOM_SUB_TYPE_HOUSE);
            importOwnerRoomDto.setCommunityId(po.getCommunityId());//小区编号
            //---------
            importOwnerRoomDto.setRoadName(roomDto.getRoadName());//路名
            importOwnerRoomDto.setFloorNum(roomDto.getFloorNum());//弄
            importOwnerRoomDto.setUnitNum(roomDto.getUnitNum());//门
            importOwnerRoomDto.setRoomNum(roomDto.getRoomNum());//室
            importOwnerRoomDto.setDoorRoomNum(roomDto.getUnitNum() + "-" + roomDto.getRoomNum());//门市号
            importOwnerRoomDto.setPropertyAddress(
                    roomDto.getRoadName() + roomDto.getFloorNum() + roomDto.getUnitNum() + roomDto.getRoomNum()
            );//业主地址
            importOwnerRoomDto.setBuiltUpArea("0");//面积
            importOwnerRoomDto.setRoomArea("0");//面积
            importOwnerRoomDto.setRoomRent("0");//面积
            importOwnerRoomDto.setSellState(RoomDto.STATE_FREE);//房屋状态
            importOwnerRoomDto.setRoomState(Vtil.defaultValue(importOwnerRoomDto.getOwnerName()).equals("") ? "2004" : "2001");
            int i = importOwnerRoomInnerServiceSMOImpl.saveOwnerRoom(importOwnerRoomDto);
            if (i == 0) {
                throw new IllegalArgumentException("房屋添加错误");
            }
            po.setObjId(importOwnerRoomDto.getRoomId());
            po.setObjId("1");
            po.setRemark3("\n\n房屋:" +
                            roomDto.getCommunityId() + "-" + roomDto.getRoadName() + "-" + roomDto.getFloorNum() + "-" + roomDto.getUnitNum() + "-" +
                            roomDto.getRoomNum() + "不存在,该费用存入公司账户");
//            ImportOwnerRoomDto importOwnerRoomDto = new ImportOwnerRoomDto();//房屋
//            importOwnerRoomDto.setRoomId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_roomId));
//            importOwnerRoomDto.setOwnerId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ownerId));
//            importOwnerRoomDto.setUserId(po.getUserId());
//            importOwnerRoomDto.setLayerCount("0");
//            importOwnerRoomDto.setLayer("0");
//            importOwnerRoomDto.setLift("未知");
//            importOwnerRoomDto.setSection("10102");
//            importOwnerRoomDto.setOwnerTypeCd("1001");
//            importOwnerRoomDto.setPersonType(OwnerDto.PERSON_TYPE_PERSON);
//            importOwnerRoomDto.setPersonRole(OwnerDto.PERSON_ROLE_OWNER);
//            importOwnerRoomDto.setRoomSubType(RoomDto.ROOM_SUB_TYPE_HOUSE);
//            importOwnerRoomDto.setCommunityId(po.getCommunityId());//小区编号
//            //---------
//
//            importOwnerRoomDto.setRoadName(roomDto.getRoadName());//路名
//            importOwnerRoomDto.setFloorNum(roomDto.getFloorNum());//弄
//            importOwnerRoomDto.setUnitNum(roomDto.getUnitNum());//门
//            importOwnerRoomDto.setRoomNum(roomDto.getRoomNum());//室
//            importOwnerRoomDto.setDoorRoomNum(roomDto.getUnitNum() + "-" + roomDto.getRoomNum());//门市号
//            importOwnerRoomDto.setPropertyAddress(
//                    roomDto.getRoadName() + roomDto.getFloorNum() + roomDto.getUnitNum() + roomDto.getRoomNum()
//            );//业主地址
//            importOwnerRoomDto.setBuiltUpArea("0");//面积
//            importOwnerRoomDto.setRoomArea("0");//面积
//            importOwnerRoomDto.setRoomRent("0");//面积
//            importOwnerRoomDto.setSellState(RoomDto.STATE_FREE);//房屋状态
//            importOwnerRoomDto.setRoomState(Vtil.defaultValue(importOwnerRoomDto.getOwnerName()).equals("") ? "2004" : "2001");
//            int i = importOwnerRoomInnerServiceSMOImpl.saveOwnerRoom(importOwnerRoomDto);
//
//            if (i == 0) {
//                throw new IllegalArgumentException("房屋添加错误");
//            }
//            po.setObjId(importOwnerRoomDto.getRoomId());
        } else if (roomDtos.size() > 1) {
            throw new IllegalArgumentException("存在重复的房屋:" + po.getObjName());
            po.setObjId("1");
            po.setRemark3("\n\n房屋:" +
                    roomDto.getCommunityId() + "-" + roomDto.getRoadName() + "-" + roomDto.getFloorNum() + "-" + roomDto.getUnitNum() + "-" +
                    roomDto.getRoomNum() + "不存在,该费用存入公司账户");
        } else {
            po.setObjId(roomDtos.get(0).getRoomId());
        }