class CarDetailModel {
  String id;
  Null departmentId;
  String carNum;
  Null equipStatus;
  String equipType;
  String equipmentId;
  String equipName;
  String equipCode;
  String qrCode;
  Null model;
  Null vender;
  String manufacturer;
  String manufacturerId;
  Null frameNum;
  Null engineNum;
  Null engineModel;
  Null carCode;
  String country;
  Null countryId;
  Null totalMass;
  Null power;
  Null retirementDate;
  Null currentMaintenanceTime;
  Null currentMaintainDate;
  Null nextMaintainDate;
  Null batchNumber;
  Null assetNumber;
  Null color;
  Null telephone;
  Null remark;
  Null userId;
  Null queueNum;
  Null dateProduction;
  Null dateUsed;
  String equipTypeName;
  String carState;
  Null carStateId;
  String chassisBrand;
  String brand;
  Null specificPower;
  Null referencePrices;
  Null carLevel;
  Null carLevelId;
  Null installDate;
  Null carNumType;
  Null img;
  String defaultImg;
  Null chargeUserTel;
  String orgCode;
  Null chargeUser;
  int expiryDate;
  Null lastMaintainDate;
  Null chassisType;
  Null chassisModel;
  Null imUsername;
  Null imPassword;
  Null type;
  Null film;
  Null dateCreated;
  List<CarPropertyList> carPropertyList;
  ManufacturerInfo manufacturerInfo;
  Null companyName;
  Null carNumTypeId;

  CarDetailModel(
      {this.id,
      this.departmentId,
      this.carNum,
      this.equipStatus,
      this.equipType,
      this.equipmentId,
      this.equipName,
      this.equipCode,
      this.qrCode,
      this.model,
      this.vender,
      this.manufacturer,
      this.manufacturerId,
      this.frameNum,
      this.engineNum,
      this.engineModel,
      this.carCode,
      this.country,
      this.countryId,
      this.totalMass,
      this.power,
      this.retirementDate,
      this.currentMaintenanceTime,
      this.currentMaintainDate,
      this.nextMaintainDate,
      this.batchNumber,
      this.assetNumber,
      this.color,
      this.telephone,
      this.remark,
      this.userId,
      this.queueNum,
      this.dateProduction,
      this.dateUsed,
      this.equipTypeName,
      this.carState,
      this.carStateId,
      this.chassisBrand,
      this.brand,
      this.specificPower,
      this.referencePrices,
      this.carLevel,
      this.carLevelId,
      this.installDate,
      this.carNumType,
      this.img,
      this.defaultImg,
      this.chargeUserTel,
      this.orgCode,
      this.chargeUser,
      this.expiryDate,
      this.lastMaintainDate,
      this.chassisType,
      this.chassisModel,
      this.imUsername,
      this.imPassword,
      this.type,
      this.film,
      this.dateCreated,
      this.carPropertyList,
      this.manufacturerInfo,
      this.companyName,
      this.carNumTypeId});

  CarDetailModel.fromJson(Map<String, dynamic> json) {
    id = json['id'];
    departmentId = json['departmentId'];
    carNum = json['carNum'];
    equipStatus = json['equipStatus'];
    equipType = json['equipType'];
    equipmentId = json['equipmentId'];
    equipName = json['equipName'];
    equipCode = json['equipCode'];
    qrCode = json['qrCode'];
    model = json['model'];
    vender = json['vender'];
    manufacturer = json['manufacturer'];
    manufacturerId = json['manufacturerId'];
    frameNum = json['frameNum'];
    engineNum = json['engineNum'];
    engineModel = json['engineModel'];
    carCode = json['carCode'];
    country = json['country'];
    countryId = json['countryId'];
    totalMass = json['totalMass'];
    power = json['power'];
    retirementDate = json['retirementDate'];
    currentMaintenanceTime = json['currentMaintenanceTime'];
    currentMaintainDate = json['currentMaintainDate'];
    nextMaintainDate = json['nextMaintainDate'];
    batchNumber = json['batchNumber'];
    assetNumber = json['assetNumber'];
    color = json['color'];
    telephone = json['telephone'];
    remark = json['remark'];
    userId = json['userId'];
    queueNum = json['queueNum'];
    dateProduction = json['dateProduction'];
    dateUsed = json['dateUsed'];
    equipTypeName = json['equipTypeName'];
    carState = json['carState'];
    carStateId = json['carStateId'];
    chassisBrand = json['chassisBrand'];
    brand = json['brand'];
    specificPower = json['specificPower'];
    referencePrices = json['referencePrices'];
    carLevel = json['carLevel'];
    carLevelId = json['carLevelId'];
    installDate = json['installDate'];
    carNumType = json['carNumType'];
    img = json['img'];
    defaultImg = json['defaultImg'];
    chargeUserTel = json['chargeUserTel'];
    orgCode = json['orgCode'];
    chargeUser = json['chargeUser'];
    expiryDate = json['expiryDate'];
    lastMaintainDate = json['lastMaintainDate'];
    chassisType = json['chassisType'];
    chassisModel = json['chassisModel'];
    imUsername = json['imUsername'];
    imPassword = json['imPassword'];
    type = json['type'];
    film = json['film'];
    dateCreated = json['dateCreated'];
    if (json['carPropertyList'] != null) {
      carPropertyList = new List<CarPropertyList>();
      json['carPropertyList'].forEach((v) {
        carPropertyList.add(new CarPropertyList.fromJson(v));
      });
    }
    manufacturerInfo = json['manufacturerInfo'] != null
        ? new ManufacturerInfo.fromJson(json['manufacturerInfo'])
        : null;
    companyName = json['companyName'];
    carNumTypeId = json['carNumTypeId'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['id'] = this.id;
    data['departmentId'] = this.departmentId;
    data['carNum'] = this.carNum;
    data['equipStatus'] = this.equipStatus;
    data['equipType'] = this.equipType;
    data['equipmentId'] = this.equipmentId;
    data['equipName'] = this.equipName;
    data['equipCode'] = this.equipCode;
    data['qrCode'] = this.qrCode;
    data['model'] = this.model;
    data['vender'] = this.vender;
    data['manufacturer'] = this.manufacturer;
    data['manufacturerId'] = this.manufacturerId;
    data['frameNum'] = this.frameNum;
    data['engineNum'] = this.engineNum;
    data['engineModel'] = this.engineModel;
    data['carCode'] = this.carCode;
    data['country'] = this.country;
    data['countryId'] = this.countryId;
    data['totalMass'] = this.totalMass;
    data['power'] = this.power;
    data['retirementDate'] = this.retirementDate;
    data['currentMaintenanceTime'] = this.currentMaintenanceTime;
    data['currentMaintainDate'] = this.currentMaintainDate;
    data['nextMaintainDate'] = this.nextMaintainDate;
    data['batchNumber'] = this.batchNumber;
    data['assetNumber'] = this.assetNumber;
    data['color'] = this.color;
    data['telephone'] = this.telephone;
    data['remark'] = this.remark;
    data['userId'] = this.userId;
    data['queueNum'] = this.queueNum;
    data['dateProduction'] = this.dateProduction;
    data['dateUsed'] = this.dateUsed;
    data['equipTypeName'] = this.equipTypeName;
    data['carState'] = this.carState;
    data['carStateId'] = this.carStateId;
    data['chassisBrand'] = this.chassisBrand;
    data['brand'] = this.brand;
    data['specificPower'] = this.specificPower;
    data['referencePrices'] = this.referencePrices;
    data['carLevel'] = this.carLevel;
    data['carLevelId'] = this.carLevelId;
    data['installDate'] = this.installDate;
    data['carNumType'] = this.carNumType;
    data['img'] = this.img;
    data['defaultImg'] = this.defaultImg;
    data['chargeUserTel'] = this.chargeUserTel;
    data['orgCode'] = this.orgCode;
    data['chargeUser'] = this.chargeUser;
    data['expiryDate'] = this.expiryDate;
    data['lastMaintainDate'] = this.lastMaintainDate;
    data['chassisType'] = this.chassisType;
    data['chassisModel'] = this.chassisModel;
    data['imUsername'] = this.imUsername;
    data['imPassword'] = this.imPassword;
    data['type'] = this.type;
    data['film'] = this.film;
    data['dateCreated'] = this.dateCreated;
    if (this.carPropertyList != null) {
      data['carPropertyList'] =
          this.carPropertyList.map((v) => v.toJson()).toList();
    }
    if (this.manufacturerInfo != null) {
      data['manufacturerInfo'] = this.manufacturerInfo.toJson();
    }
    data['companyName'] = this.companyName;
    data['carNumTypeId'] = this.carNumTypeId;
    return data;
  }
}

class CarPropertyList {
  String id;
  Null createDate;
  String carId;
  String value;
  Null remark;
  Null equipmentIndexId;
  String unitName;
  Null perfQuotaName;
  Null groupName;
  Null nameKey;

  CarPropertyList(
      {this.id,
      this.createDate,
      this.carId,
      this.value,
      this.remark,
      this.equipmentIndexId,
      this.unitName,
      this.perfQuotaName,
      this.groupName,
      this.nameKey});

  CarPropertyList.fromJson(Map<String, dynamic> json) {
    id = json['id'];
    createDate = json['createDate'];
    carId = json['carId'];
    value = json['value'];
    remark = json['remark'];
    equipmentIndexId = json['equipmentIndexId'];
    unitName = json['unitName'];
    perfQuotaName = json['perfQuotaName'];
    groupName = json['groupName'];
    nameKey = json['nameKey'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['id'] = this.id;
    data['createDate'] = this.createDate;
    data['carId'] = this.carId;
    data['value'] = this.value;
    data['remark'] = this.remark;
    data['equipmentIndexId'] = this.equipmentIndexId;
    data['unitName'] = this.unitName;
    data['perfQuotaName'] = this.perfQuotaName;
    data['groupName'] = this.groupName;
    data['nameKey'] = this.nameKey;
    return data;
  }
}

class ManufacturerInfo {
  String id;
  String createDate;
  String name;
  Null address;
  Null remark;
  Null contactNumber;
  Null maintenanceservices;
  Null oldName;
  String legalRep;
  Null salesTel;
  Null serviceTel;
  Null technicalStandard;
  Null number;
  Null technicianNumber;
  Null fixedAssets;
  String testingEquipment;
  Null qualifications;
  Null historicalEvolution;
  Null researchRecord;
  String productType;
  String img;
  Null registeredCapital;
  String natureId;
  Null typeId;
  String countryId;
  String provinceId;
  String country;
  String nature;
  String province;
  Null type;

  ManufacturerInfo(
      {this.id,
      this.createDate,
      this.name,
      this.address,
      this.remark,
      this.contactNumber,
      this.maintenanceservices,
      this.oldName,
      this.legalRep,
      this.salesTel,
      this.serviceTel,
      this.technicalStandard,
      this.number,
      this.technicianNumber,
      this.fixedAssets,
      this.testingEquipment,
      this.qualifications,
      this.historicalEvolution,
      this.researchRecord,
      this.productType,
      this.img,
      this.registeredCapital,
      this.natureId,
      this.typeId,
      this.countryId,
      this.provinceId,
      this.country,
      this.nature,
      this.province,
      this.type});

  ManufacturerInfo.fromJson(Map<String, dynamic> json) {
    id = json['id'];
    createDate = json['createDate'];
    name = json['name'];
    address = json['address'];
    remark = json['remark'];
    contactNumber = json['contactNumber'];
    maintenanceservices = json['maintenanceservices'];
    oldName = json['oldName'];
    legalRep = json['legalRep'];
    salesTel = json['salesTel'];
    serviceTel = json['serviceTel'];
    technicalStandard = json['technicalStandard'];
    number = json['number'];
    technicianNumber = json['technicianNumber'];
    fixedAssets = json['fixedAssets'];
    testingEquipment = json['testingEquipment'];
    qualifications = json['qualifications'];
    historicalEvolution = json['historicalEvolution'];
    researchRecord = json['researchRecord'];
    productType = json['productType'];
    img = json['img'];
    registeredCapital = json['registeredCapital'];
    natureId = json['natureId'];
    typeId = json['typeId'];
    countryId = json['countryId'];
    provinceId = json['provinceId'];
    country = json['country'];
    nature = json['nature'];
    province = json['province'];
    type = json['type'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['id'] = this.id;
    data['createDate'] = this.createDate;
    data['name'] = this.name;
    data['address'] = this.address;
    data['remark'] = this.remark;
    data['contactNumber'] = this.contactNumber;
    data['maintenanceservices'] = this.maintenanceservices;
    data['oldName'] = this.oldName;
    data['legalRep'] = this.legalRep;
    data['salesTel'] = this.salesTel;
    data['serviceTel'] = this.serviceTel;
    data['technicalStandard'] = this.technicalStandard;
    data['number'] = this.number;
    data['technicianNumber'] = this.technicianNumber;
    data['fixedAssets'] = this.fixedAssets;
    data['testingEquipment'] = this.testingEquipment;
    data['qualifications'] = this.qualifications;
    data['historicalEvolution'] = this.historicalEvolution;
    data['researchRecord'] = this.researchRecord;
    data['productType'] = this.productType;
    data['img'] = this.img;
    data['registeredCapital'] = this.registeredCapital;
    data['natureId'] = this.natureId;
    data['typeId'] = this.typeId;
    data['countryId'] = this.countryId;
    data['provinceId'] = this.provinceId;
    data['country'] = this.country;
    data['nature'] = this.nature;
    data['province'] = this.province;
    data['type'] = this.type;
    return data;
  }
}
