chengf
2025-08-15 1ac555ce49a45e2c7fc015dbb16b104840788c21
service-job/src/main/java/com/java110/job/importData/adapt/ImportRoomFeeQueueDataAdapt.java
@@ -47,6 +47,7 @@
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@Service("importRoomFeeQueueData")
public class ImportRoomFeeQueueDataAdapt extends DefaultImportData implements IImportDataAdapt {
@@ -101,14 +102,8 @@
    public void importData(List<AssetImportLogDetailDto> assetImportLogDetailDtos) {
        for (AssetImportLogDetailDto assetImportLogDetailDto : assetImportLogDetailDtos) {
            try {
                doImportData(assetImportLogDetailDto);
                updateImportLogDetailState(assetImportLogDetailDto.getDetailId());
            } catch (Exception e) {
                e.printStackTrace();
                updateImportLogDetailState(assetImportLogDetailDto.getDetailId(), e);
            }
        }
    }
@@ -251,6 +246,7 @@
        feeConfigDto.setComputingFormula(null);
        List<FeeConfigDto> feeConfigDtos = payFeeConfigV1InnerServiceSMOImpl.queryPayFeeConfigs(feeConfigDto);
        if (ListUtil.isNull(feeConfigDtos)) {
            throw new IllegalArgumentException("费用项不存在,或者费用项公式不是动态费用");
        }
        payFeePo = new PayFeePo();
@@ -268,18 +264,27 @@
            }
            importRoomFee.setFeeTypeCd(feeConfigDtos.get(0).getFeeTypeCd());
            payFeePo.setFeeTypeCd(feeConfigDtos.get(0).getFeeTypeCd());
            payFeePo.setContractFee(importRoomFee.getContractId());
            payFeePo.setContractFee(contractDtos.get(0).getContractId());
//            payFeePo.setCreateTime(importFeeDetailPo.getC);
            ContractPartyaDto contractPartyaDto = new ContractPartyaDto();
            contractPartyaDto.setPartyA(importRoomFee.getPayerObjName());
            if(importRoomFee.getPayerObjName() == null || Objects.equals(importRoomFee.getPayerObjName(), "")){
                contractPartyaDto.setPartyA(importRoomFee.getPayerObjName());
            }
            else{
                contractPartyaDto.setPartyaId(contractDtos.get(0).getbPartyaId());
            }
            List<ContractPartyaDto> contractPartyaDtos = iContractPartyaInnerServiceSMO.queryContractPartyas(contractPartyaDto);
            if (ListUtil.isNull(contractPartyaDtos)) {
                throw new IllegalArgumentException("不存在合同主体:"+importRoomFee.getPayerObjName());
            }else if (contractPartyaDtos.size() > 1){
                throw new IllegalArgumentException("合同主体"+importRoomFee.getPayerObjName()+"存在重名");
            }
            importRoomFee.setOwnerName(contractPartyaDtos.get(0).getPartyA());
            payFeePo.setPayerObjId(contractPartyaDtos.get(0).getPartyaId());
            payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_CONTRACT);
            payFeePo.setIsContractFee("O");
            payFeePo.setEndTime(importRoomFee.getEndTime());
        } else if (FeeDto.PAYER_OBJ_TYPE_CAR.equals(importRoomFee.getObjType())) {
            payFeePo.setPayerObjId(importRoomFee.getCarId());
            payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_CAR);
@@ -288,7 +293,7 @@
            payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_ROOM);
        }
        payFeePo.setCreateTime(importRoomFee.getCreateTime());
        FeeDto feeDto = new FeeDto();
        feeDto.setFeeTypeCd(importRoomFee.getFeeTypeCd());
        feeDto.setCommunityId(importRoomFee.getCommunityId());
@@ -319,6 +324,9 @@
        payFeePo.setBatchId(batchId);
        payFeePo.setEndTime(importRoomFee.getStartTime());
        payFeePo.setStartTime(importRoomFee.getStartTime());
        if (FeeDto.PAYER_OBJ_TYPE_CONTRACT.equals(importRoomFee.getObjType())){
//            payFeePo.setEndTime(importRoomFee.getEndTime());
        }
        if(payFeePo.getAmount() == null && importRoomFee.getFeeName() == null){
            throw new IllegalArgumentException("收费内容和收费金额不能同时为空");
        }
@@ -358,6 +366,9 @@
            feeAttrPo.setValue(importRoomFee.getRoomName());
        }
        feeAttrPo.setFeeId(payFeePo.getFeeId());
        if(feeAttrPo.getValue() == null){
            feeAttrPo.setValue(importRoomFee.getPayerObjName());
        }
        feeAttrPos.add(feeAttrPo);
        //todo 不是周期性费用的场景需要写入结束时间
@@ -378,7 +389,9 @@
            feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_ID);
            feeAttrPo.setValue(importRoomFee.getOwnerId());
            feeAttrPo.setFeeId(payFeePo.getFeeId());
            feeAttrPos.add(feeAttrPo);
            if(feeAttrPo.getValue() != null){
                feeAttrPos.add(feeAttrPo);
            }
            feeAttrPo = new FeeAttrPo();
            feeAttrPo.setCommunityId(importRoomFee.getCommunityId());