/*
 * @Author: XianKaiQun
 * @Date: 2020-04-22 15:58:35
 * @LastEditors: XianKaiQun
 * @LastEditTime: 2020-04-22 16:02:13
 * @Descripttion: 
 */

///{
//     "billChargeItemVos": [
//         {
//             "feeName": "物业服务费1.8元",
//             "arrearsFee": 160.98,
//             "identification": "167022930150273025"
//         },
//         {
//             "feeName": "物业服务费0.56",
//             "arrearsFee": 45.07,
//             "identification": "182836196405129217"
//         },
//         {
//             "feeName": "物业费服务费2元",
//             "arrearsFee": 160.98,
//             "identification": "174836151519313921"
//         }
//     ],
//     "billArrearsVos": [
//         {
//             "chargeYearMonth": "2019-10",
//             "billDetails": [
//                 {
//                     "arrearsFee": 160.98,
//                     "assetName": "1-4-201",
//                     "feeName": "物业服务费1.8元"
//                 },
//                 {
//                     "arrearsFee": 45.07,
//                     "assetName": "1-4-201",
//                     "feeName": "物业服务费0.56"
//                 },
//                 {
//                     "arrearsFee": 160.98,
//                     "assetName": "1-4-201",
//                     "feeName": "物业费服务费2元"
//                 }
//             ]
//         }
//     ],
//     "arrearsFeeTotal": 367.03,
//     "houseName": "14单元2层1-4-201",
//     "qrCodeUrl": "https://m.huifuwu.cn/qrcode/165810482510991360_billPay_182815994892509184"
// }

///收费管理列表详情
class HouseBillDetailsModel {
  List<BillChargeItemVosOfHouseBillDetailsModel>? billChargeItemVos;
  List<BillArrearsVosOfHouseBillDetailsModel>? billArrearsVos;
  num? arrearsFeeTotal;
  String? houseName;
  String? qrCodeUrl;

  HouseBillDetailsModel({
    this.billChargeItemVos,
    this.billArrearsVos,
    this.arrearsFeeTotal,
    this.houseName,
    this.qrCodeUrl,
  });

  HouseBillDetailsModel.fromJson(json) {
    Map<String, dynamic> map = Map.from(json ?? {});

    billChargeItemVos = List<BillChargeItemVosOfHouseBillDetailsModel>.from(
        (map["billChargeItemVos"] ?? [])
            .map((x) => BillChargeItemVosOfHouseBillDetailsModel.fromJson(x)));
    billArrearsVos = List<BillArrearsVosOfHouseBillDetailsModel>.from(
        (map["billArrearsVos"] ?? [])
            .map((x) => BillArrearsVosOfHouseBillDetailsModel.fromJson(x)));
    arrearsFeeTotal = map['arrearsFeeTotal'];
    houseName = map['houseName'];
    qrCodeUrl = map['qrCodeUrl'];
  }

  Map<String, dynamic> toJson() {
    Map<String, dynamic> json = Map<String, dynamic>();

    json['billChargeItemVos'] =
        List<dynamic>.from((billChargeItemVos ?? []).map((x) => x.toJson()));
    json['billArrearsVos'] =
        List<dynamic>.from((billArrearsVos ?? []).map((x) => x.toJson()));
    json['arrearsFeeTotal'] = this.arrearsFeeTotal;
    json['houseName'] = this.houseName;
    json['qrCodeUrl'] = this.qrCodeUrl;

    return json;
  }
}

class BillChargeItemVosOfHouseBillDetailsModel {
  String? feeName;
  num? arrearsFee;
  String? identification;

  BillChargeItemVosOfHouseBillDetailsModel({
    this.feeName,
    this.arrearsFee,
    this.identification,
  });

  BillChargeItemVosOfHouseBillDetailsModel.fromJson(json) {
    Map<String, dynamic> map = Map.from(json ?? {});

    feeName = map['feeName'];
    arrearsFee = map['arrearsFee'];
    identification = map['identification'];
  }

  Map<String, dynamic> toJson() {
    Map<String, dynamic> json = Map<String, dynamic>();

    json['feeName'] = this.feeName;
    json['arrearsFee'] = this.arrearsFee;
    json['identification'] = this.identification;

    return json;
  }
}

class BillArrearsVosOfHouseBillDetailsModel {
  String? chargeYearMonth;
  List<BillDetailsOfBillArrearsVosOfHouseBillDetailsModel>? billDetails;

  BillArrearsVosOfHouseBillDetailsModel({
    this.chargeYearMonth,
    this.billDetails,
  });

  BillArrearsVosOfHouseBillDetailsModel.fromJson(json) {
    Map<String, dynamic> map = Map.from(json ?? {});

    chargeYearMonth = map['chargeYearMonth'];
    billDetails = List<BillDetailsOfBillArrearsVosOfHouseBillDetailsModel>.from(
        (map["billDetails"] ?? []).map((x) =>
            BillDetailsOfBillArrearsVosOfHouseBillDetailsModel.fromJson(x)));
  }

  Map<String, dynamic> toJson() {
    Map<String, dynamic> json = Map<String, dynamic>();

    json['chargeYearMonth'] = this.chargeYearMonth;
    json['billDetails'] =
        List<dynamic>.from((billDetails ?? []).map((x) => x.toJson()));

    return json;
  }
}

class BillDetailsOfBillArrearsVosOfHouseBillDetailsModel {
  num? arrearsFee;
  String? assetName;
  String? feeName;

  BillDetailsOfBillArrearsVosOfHouseBillDetailsModel({
    this.arrearsFee,
    this.assetName,
    this.feeName,
  });

  BillDetailsOfBillArrearsVosOfHouseBillDetailsModel.fromJson(json) {
    Map<String, dynamic> map = Map.from(json ?? {});

    arrearsFee = map['arrearsFee'];
    assetName = map['assetName'];
    feeName = map['feeName'];
  }

  Map<String, dynamic> toJson() {
    Map<String, dynamic> json = Map<String, dynamic>();

    json['arrearsFee'] = this.arrearsFee;
    json['assetName'] = this.assetName;
    json['feeName'] = this.feeName;

    return json;
  }
}
