import 'package:domain/generated/json/base/json_convert_content.dart';
import 'package:domain/entity/response/t_h_applied_edit_entity.dart';
import 'package:domain/entity/response/index_option_entity.dart';


THAppliedEditEntity $THAppliedEditEntityFromJson(Map<String, dynamic> json) {
  final THAppliedEditEntity tHAppliedEditEntity = THAppliedEditEntity();
  final THAppliedEditApplied? applied = jsonConvert.convert<THAppliedEditApplied>(json['applied']);
  if (applied != null) {
    tHAppliedEditEntity.applied = applied;
  }
  final String? appliedId = jsonConvert.convert<String>(json['applied_id']);
  if (appliedId != null) {
    tHAppliedEditEntity.appliedId = appliedId;
  }
  final String? memberId = jsonConvert.convert<String>(json['member_id']);
  if (memberId != null) {
    tHAppliedEditEntity.memberId = memberId;
  }
  final String? remark = jsonConvert.convert<String>(json['remark']);
  if (remark != null) {
    tHAppliedEditEntity.remark = remark;
  }
  final String? startTime = jsonConvert.convert<String>(json['start_time']);
  if (startTime != null) {
    tHAppliedEditEntity.startTime = startTime;
  }
  final String? endTime = jsonConvert.convert<String>(json['end_time']);
  if (endTime != null) {
    tHAppliedEditEntity.endTime = endTime;
  }
  final String? defaultStart = jsonConvert.convert<String>(json['default_start']);
  if (defaultStart != null) {
    tHAppliedEditEntity.defaultStart = defaultStart;
  }
  final String? defaultEnd = jsonConvert.convert<String>(json['default_end']);
  if (defaultEnd != null) {
    tHAppliedEditEntity.defaultEnd = defaultEnd;
  }
  final String? securityIn = jsonConvert.convert<String>(json['security_in']);
  if (securityIn != null) {
    tHAppliedEditEntity.securityIn = securityIn;
  }
  final String? defSecurityIn = jsonConvert.convert<String>(json['def_security_in']);
  if (defSecurityIn != null) {
    tHAppliedEditEntity.defSecurityIn = defSecurityIn;
  }
  final String? securityOut = jsonConvert.convert<String>(json['security_out']);
  if (securityOut != null) {
    tHAppliedEditEntity.securityOut = securityOut;
  }
  final String? defSecurityOut = jsonConvert.convert<String>(json['def_security_out']);
  if (defSecurityOut != null) {
    tHAppliedEditEntity.defSecurityOut = defSecurityOut;
  }
  final String? workIn = jsonConvert.convert<String>(json['work_in']);
  if (workIn != null) {
    tHAppliedEditEntity.workIn = workIn;
  }
  final String? defWorkIn = jsonConvert.convert<String>(json['def_work_in']);
  if (defWorkIn != null) {
    tHAppliedEditEntity.defWorkIn = defWorkIn;
  }
  final String? workOut = jsonConvert.convert<String>(json['work_out']);
  if (workOut != null) {
    tHAppliedEditEntity.workOut = workOut;
  }
  final String? defWorkOut = jsonConvert.convert<String>(json['def_work_out']);
  if (defWorkOut != null) {
    tHAppliedEditEntity.defWorkOut = defWorkOut;
  }
  final String? adjustHours = jsonConvert.convert<String>(json['adjust_hours']);
  if (adjustHours != null) {
    tHAppliedEditEntity.adjustHours = adjustHours;
  }
  final String? subtractHours = jsonConvert.convert<String>(json['subtract_hours']);
  if (subtractHours != null) {
    tHAppliedEditEntity.subtractHours = subtractHours;
  }
  final List<String>? ballroomList = (json['ballroom_list'] as List<dynamic>?)?.map(
          (e) => jsonConvert.convert<String>(e) as String).toList();
  if (ballroomList != null) {
    tHAppliedEditEntity.ballroomList = ballroomList;
  }
  final List<IndexOptionEntity>? statusList = (json['status_list'] as List<dynamic>?)?.map(
          (e) => jsonConvert.convert<IndexOptionEntity>(e) as IndexOptionEntity).toList();
  if (statusList != null) {
    tHAppliedEditEntity.statusList = statusList;
  }
  final List<IndexOptionEntity>? reasonList = (json['reason_list'] as List<dynamic>?)?.map(
          (e) => jsonConvert.convert<IndexOptionEntity>(e) as IndexOptionEntity).toList();
  if (reasonList != null) {
    tHAppliedEditEntity.reasonList = reasonList;
  }
  return tHAppliedEditEntity;
}

Map<String, dynamic> $THAppliedEditEntityToJson(THAppliedEditEntity entity) {
  final Map<String, dynamic> data = <String, dynamic>{};
  data['applied'] = entity.applied?.toJson();
  data['applied_id'] = entity.appliedId;
  data['member_id'] = entity.memberId;
  data['remark'] = entity.remark;
  data['start_time'] = entity.startTime;
  data['end_time'] = entity.endTime;
  data['default_start'] = entity.defaultStart;
  data['default_end'] = entity.defaultEnd;
  data['security_in'] = entity.securityIn;
  data['def_security_in'] = entity.defSecurityIn;
  data['security_out'] = entity.securityOut;
  data['def_security_out'] = entity.defSecurityOut;
  data['work_in'] = entity.workIn;
  data['def_work_in'] = entity.defWorkIn;
  data['work_out'] = entity.workOut;
  data['def_work_out'] = entity.defWorkOut;
  data['adjust_hours'] = entity.adjustHours;
  data['subtract_hours'] = entity.subtractHours;
  data['ballroom_list'] = entity.ballroomList;
  data['status_list'] = entity.statusList.map((v) => v.toJson()).toList();
  data['reason_list'] = entity.reasonList.map((v) => v.toJson()).toList();
  return data;
}

extension THAppliedEditEntityExtension on THAppliedEditEntity {
  THAppliedEditEntity copyWith({
    THAppliedEditApplied? applied,
    String? appliedId,
    String? memberId,
    String? remark,
    String? startTime,
    String? endTime,
    String? defaultStart,
    String? defaultEnd,
    String? securityIn,
    String? defSecurityIn,
    String? securityOut,
    String? defSecurityOut,
    String? workIn,
    String? defWorkIn,
    String? workOut,
    String? defWorkOut,
    String? adjustHours,
    String? subtractHours,
    List<String>? ballroomList,
    List<IndexOptionEntity>? statusList,
    List<IndexOptionEntity>? reasonList,
  }) {
    return THAppliedEditEntity()
      ..applied = applied ?? this.applied
      ..appliedId = appliedId ?? this.appliedId
      ..memberId = memberId ?? this.memberId
      ..remark = remark ?? this.remark
      ..startTime = startTime ?? this.startTime
      ..endTime = endTime ?? this.endTime
      ..defaultStart = defaultStart ?? this.defaultStart
      ..defaultEnd = defaultEnd ?? this.defaultEnd
      ..securityIn = securityIn ?? this.securityIn
      ..defSecurityIn = defSecurityIn ?? this.defSecurityIn
      ..securityOut = securityOut ?? this.securityOut
      ..defSecurityOut = defSecurityOut ?? this.defSecurityOut
      ..workIn = workIn ?? this.workIn
      ..defWorkIn = defWorkIn ?? this.defWorkIn
      ..workOut = workOut ?? this.workOut
      ..defWorkOut = defWorkOut ?? this.defWorkOut
      ..adjustHours = adjustHours ?? this.adjustHours
      ..subtractHours = subtractHours ?? this.subtractHours
      ..ballroomList = ballroomList ?? this.ballroomList
      ..statusList = statusList ?? this.statusList
      ..reasonList = reasonList ?? this.reasonList;
  }
}

THAppliedEditApplied $THAppliedEditAppliedFromJson(Map<String, dynamic> json) {
  final THAppliedEditApplied tHAppliedEditApplied = THAppliedEditApplied();
  final String? id = jsonConvert.convert<String>(json['id']);
  if (id != null) {
    tHAppliedEditApplied.id = id;
  }
  final String? jobId = jsonConvert.convert<String>(json['job_id']);
  if (jobId != null) {
    tHAppliedEditApplied.jobId = jobId;
  }
  final String? sId = jsonConvert.convert<String>(json['s_id']);
  if (sId != null) {
    tHAppliedEditApplied.sId = sId;
  }
  final String? memberId = jsonConvert.convert<String>(json['member_id']);
  if (memberId != null) {
    tHAppliedEditApplied.memberId = memberId;
  }
  final String? labourerId = jsonConvert.convert<String>(json['labourer_id']);
  if (labourerId != null) {
    tHAppliedEditApplied.labourerId = labourerId;
  }
  final String? labourerName = jsonConvert.convert<String>(json['labourer_name']);
  if (labourerName != null) {
    tHAppliedEditApplied.labourerName = labourerName;
  }
  final String? labourerNric = jsonConvert.convert<String>(json['labourer_nric']);
  if (labourerNric != null) {
    tHAppliedEditApplied.labourerNric = labourerNric;
  }
  final int? sourceType = jsonConvert.convert<int>(json['source_type']);
  if (sourceType != null) {
    tHAppliedEditApplied.sourceType = sourceType;
  }
  final String? employerId = jsonConvert.convert<String>(json['employer_id']);
  if (employerId != null) {
    tHAppliedEditApplied.employerId = employerId;
  }
  final String? employerName = jsonConvert.convert<String>(json['employer_name']);
  if (employerName != null) {
    tHAppliedEditApplied.employerName = employerName;
  }
  final String? agencyId = jsonConvert.convert<String>(json['agency_id']);
  if (agencyId != null) {
    tHAppliedEditApplied.agencyId = agencyId;
  }
  final String? agencyName = jsonConvert.convert<String>(json['agency_name']);
  if (agencyName != null) {
    tHAppliedEditApplied.agencyName = agencyName;
  }
  final String? jobTitle = jsonConvert.convert<String>(json['job_title']);
  if (jobTitle != null) {
    tHAppliedEditApplied.jobTitle = jobTitle;
  }
  final String? outletId = jsonConvert.convert<String>(json['outlet_id']);
  if (outletId != null) {
    tHAppliedEditApplied.outletId = outletId;
  }
  final String? outletName = jsonConvert.convert<String>(json['outlet_name']);
  if (outletName != null) {
    tHAppliedEditApplied.outletName = outletName;
  }
  final String? ballroomId = jsonConvert.convert<String>(json['ballroom_id']);
  if (ballroomId != null) {
    tHAppliedEditApplied.ballroomId = ballroomId;
  }
  final String? ballroomName = jsonConvert.convert<String>(json['ballroom_name']);
  if (ballroomName != null) {
    tHAppliedEditApplied.ballroomName = ballroomName;
  }
  final String? jobDate = jsonConvert.convert<String>(json['job_date']);
  if (jobDate != null) {
    tHAppliedEditApplied.jobDate = jobDate;
  }
  final int? startTime = jsonConvert.convert<int>(json['start_time']);
  if (startTime != null) {
    tHAppliedEditApplied.startTime = startTime;
  }
  final int? endTime = jsonConvert.convert<int>(json['end_time']);
  if (endTime != null) {
    tHAppliedEditApplied.endTime = endTime;
  }
  final String? workingHours = jsonConvert.convert<String>(json['working_hours']);
  if (workingHours != null) {
    tHAppliedEditApplied.workingHours = workingHours;
  }
  final String? adjustHours = jsonConvert.convert<String>(json['adjust_hours']);
  if (adjustHours != null) {
    tHAppliedEditApplied.adjustHours = adjustHours;
  }
  final String? totalHours = jsonConvert.convert<String>(json['total_hours']);
  if (totalHours != null) {
    tHAppliedEditApplied.totalHours = totalHours;
  }
  final String? hourlyRate = jsonConvert.convert<String>(json['hourly_rate']);
  if (hourlyRate != null) {
    tHAppliedEditApplied.hourlyRate = hourlyRate;
  }
  final String? grossWage = jsonConvert.convert<String>(json['gross_wage']);
  if (grossWage != null) {
    tHAppliedEditApplied.grossWage = grossWage;
  }
  final int? securityClockIn = jsonConvert.convert<int>(json['security_clock_in']);
  if (securityClockIn != null) {
    tHAppliedEditApplied.securityClockIn = securityClockIn;
  }
  final int? securityClockOut = jsonConvert.convert<int>(json['security_clock_out']);
  if (securityClockOut != null) {
    tHAppliedEditApplied.securityClockOut = securityClockOut;
  }
  final int? workClockIn = jsonConvert.convert<int>(json['work_clock_in']);
  if (workClockIn != null) {
    tHAppliedEditApplied.workClockIn = workClockIn;
  }
  final int? workClockOut = jsonConvert.convert<int>(json['work_clock_out']);
  if (workClockOut != null) {
    tHAppliedEditApplied.workClockOut = workClockOut;
  }
  final int? securityIn = jsonConvert.convert<int>(json['security_in']);
  if (securityIn != null) {
    tHAppliedEditApplied.securityIn = securityIn;
  }
  final int? securityOut = jsonConvert.convert<int>(json['security_out']);
  if (securityOut != null) {
    tHAppliedEditApplied.securityOut = securityOut;
  }
  final int? workIn = jsonConvert.convert<int>(json['work_in']);
  if (workIn != null) {
    tHAppliedEditApplied.workIn = workIn;
  }
  final int? workOut = jsonConvert.convert<int>(json['work_out']);
  if (workOut != null) {
    tHAppliedEditApplied.workOut = workOut;
  }
  final String? status = jsonConvert.convert<String>(json['status']);
  if (status != null) {
    tHAppliedEditApplied.status = status;
  }
  final int? remarkStatus = jsonConvert.convert<int>(json['remark_status']);
  if (remarkStatus != null) {
    tHAppliedEditApplied.remarkStatus = remarkStatus;
  }
  final String? createdAt = jsonConvert.convert<String>(json['created_at']);
  if (createdAt != null) {
    tHAppliedEditApplied.createdAt = createdAt;
  }
  final String? updatedAt = jsonConvert.convert<String>(json['updated_at']);
  if (updatedAt != null) {
    tHAppliedEditApplied.updatedAt = updatedAt;
  }
  final int? syncPayroll = jsonConvert.convert<int>(json['sync_payroll']);
  if (syncPayroll != null) {
    tHAppliedEditApplied.syncPayroll = syncPayroll;
  }
  final String? signImage = jsonConvert.convert<String>(json['sign_image']);
  if (signImage != null) {
    tHAppliedEditApplied.signImage = signImage;
  }
  final String? eventName = jsonConvert.convert<String>(json['event_name']);
  if (eventName != null) {
    tHAppliedEditApplied.eventName = eventName;
  }
  final String? eventType = jsonConvert.convert<String>(json['event_type']);
  if (eventType != null) {
    tHAppliedEditApplied.eventType = eventType;
  }
  final int? workingType = jsonConvert.convert<int>(json['working_type']);
  if (workingType != null) {
    tHAppliedEditApplied.workingType = workingType;
  }
  final String? epfEmployer = jsonConvert.convert<String>(json['epf_employer']);
  if (epfEmployer != null) {
    tHAppliedEditApplied.epfEmployer = epfEmployer;
  }
  final String? epfEmployee = jsonConvert.convert<String>(json['epf_employee']);
  if (epfEmployee != null) {
    tHAppliedEditApplied.epfEmployee = epfEmployee;
  }
  final String? epfTotal = jsonConvert.convert<String>(json['epf_total']);
  if (epfTotal != null) {
    tHAppliedEditApplied.epfTotal = epfTotal;
  }
  final String? netPay = jsonConvert.convert<String>(json['net_pay']);
  if (netPay != null) {
    tHAppliedEditApplied.netPay = netPay;
  }
  final String? socso = jsonConvert.convert<String>(json['socso']);
  if (socso != null) {
    tHAppliedEditApplied.socso = socso;
  }
  final int? paymentStatus = jsonConvert.convert<int>(json['payment_status']);
  if (paymentStatus != null) {
    tHAppliedEditApplied.paymentStatus = paymentStatus;
  }
  final String? paidTime = jsonConvert.convert<String>(json['paid_time']);
  if (paidTime != null) {
    tHAppliedEditApplied.paidTime = paidTime;
  }
  final String? agencyRate = jsonConvert.convert<String>(json['agency_rate']);
  if (agencyRate != null) {
    tHAppliedEditApplied.agencyRate = agencyRate;
  }
  final String? agencyWage = jsonConvert.convert<String>(json['agency_wage']);
  if (agencyWage != null) {
    tHAppliedEditApplied.agencyWage = agencyWage;
  }
  final String? remark = jsonConvert.convert<String>(json['remark']);
  if (remark != null) {
    tHAppliedEditApplied.remark = remark;
  }
  final String? reasonType = jsonConvert.convert<String>(json['reason_type']);
  if (reasonType != null) {
    tHAppliedEditApplied.reasonType = reasonType;
  }
  final int? auditReject = jsonConvert.convert<int>(json['audit_reject']);
  if (auditReject != null) {
    tHAppliedEditApplied.auditReject = auditReject;
  }
  final String? reviseHours = jsonConvert.convert<String>(json['revise_hours']);
  if (reviseHours != null) {
    tHAppliedEditApplied.reviseHours = reviseHours;
  }
  final String? reviseGrossWage = jsonConvert.convert<String>(json['revise_gross_wage']);
  if (reviseGrossWage != null) {
    tHAppliedEditApplied.reviseGrossWage = reviseGrossWage;
  }
  final String? reviseAgencyWage = jsonConvert.convert<String>(json['revise_agency_wage']);
  if (reviseAgencyWage != null) {
    tHAppliedEditApplied.reviseAgencyWage = reviseAgencyWage;
  }
  final int? isOt = jsonConvert.convert<int>(json['is_ot']);
  if (isOt != null) {
    tHAppliedEditApplied.isOt = isOt;
  }
  final String? rejectMsg = jsonConvert.convert<String>(json['reject_msg']);
  if (rejectMsg != null) {
    tHAppliedEditApplied.rejectMsg = rejectMsg;
  }
  return tHAppliedEditApplied;
}

Map<String, dynamic> $THAppliedEditAppliedToJson(THAppliedEditApplied entity) {
  final Map<String, dynamic> data = <String, dynamic>{};
  data['id'] = entity.id;
  data['job_id'] = entity.jobId;
  data['s_id'] = entity.sId;
  data['member_id'] = entity.memberId;
  data['labourer_id'] = entity.labourerId;
  data['labourer_name'] = entity.labourerName;
  data['labourer_nric'] = entity.labourerNric;
  data['source_type'] = entity.sourceType;
  data['employer_id'] = entity.employerId;
  data['employer_name'] = entity.employerName;
  data['agency_id'] = entity.agencyId;
  data['agency_name'] = entity.agencyName;
  data['job_title'] = entity.jobTitle;
  data['outlet_id'] = entity.outletId;
  data['outlet_name'] = entity.outletName;
  data['ballroom_id'] = entity.ballroomId;
  data['ballroom_name'] = entity.ballroomName;
  data['job_date'] = entity.jobDate;
  data['start_time'] = entity.startTime;
  data['end_time'] = entity.endTime;
  data['working_hours'] = entity.workingHours;
  data['adjust_hours'] = entity.adjustHours;
  data['total_hours'] = entity.totalHours;
  data['hourly_rate'] = entity.hourlyRate;
  data['gross_wage'] = entity.grossWage;
  data['security_clock_in'] = entity.securityClockIn;
  data['security_clock_out'] = entity.securityClockOut;
  data['work_clock_in'] = entity.workClockIn;
  data['work_clock_out'] = entity.workClockOut;
  data['security_in'] = entity.securityIn;
  data['security_out'] = entity.securityOut;
  data['work_in'] = entity.workIn;
  data['work_out'] = entity.workOut;
  data['status'] = entity.status;
  data['remark_status'] = entity.remarkStatus;
  data['created_at'] = entity.createdAt;
  data['updated_at'] = entity.updatedAt;
  data['sync_payroll'] = entity.syncPayroll;
  data['sign_image'] = entity.signImage;
  data['event_name'] = entity.eventName;
  data['event_type'] = entity.eventType;
  data['working_type'] = entity.workingType;
  data['epf_employer'] = entity.epfEmployer;
  data['epf_employee'] = entity.epfEmployee;
  data['epf_total'] = entity.epfTotal;
  data['net_pay'] = entity.netPay;
  data['socso'] = entity.socso;
  data['payment_status'] = entity.paymentStatus;
  data['paid_time'] = entity.paidTime;
  data['agency_rate'] = entity.agencyRate;
  data['agency_wage'] = entity.agencyWage;
  data['remark'] = entity.remark;
  data['reason_type'] = entity.reasonType;
  data['audit_reject'] = entity.auditReject;
  data['revise_hours'] = entity.reviseHours;
  data['revise_gross_wage'] = entity.reviseGrossWage;
  data['revise_agency_wage'] = entity.reviseAgencyWage;
  data['is_ot'] = entity.isOt;
  data['reject_msg'] = entity.rejectMsg;
  return data;
}

extension THAppliedEditAppliedExtension on THAppliedEditApplied {
  THAppliedEditApplied copyWith({
    String? id,
    String? jobId,
    String? sId,
    String? memberId,
    String? labourerId,
    String? labourerName,
    String? labourerNric,
    int? sourceType,
    String? employerId,
    String? employerName,
    String? agencyId,
    String? agencyName,
    String? jobTitle,
    String? outletId,
    String? outletName,
    String? ballroomId,
    String? ballroomName,
    String? jobDate,
    int? startTime,
    int? endTime,
    String? workingHours,
    String? adjustHours,
    String? totalHours,
    String? hourlyRate,
    String? grossWage,
    int? securityClockIn,
    int? securityClockOut,
    int? workClockIn,
    int? workClockOut,
    int? securityIn,
    int? securityOut,
    int? workIn,
    int? workOut,
    String? status,
    int? remarkStatus,
    String? createdAt,
    String? updatedAt,
    int? syncPayroll,
    String? signImage,
    String? eventName,
    String? eventType,
    int? workingType,
    String? epfEmployer,
    String? epfEmployee,
    String? epfTotal,
    String? netPay,
    String? socso,
    int? paymentStatus,
    String? paidTime,
    String? agencyRate,
    String? agencyWage,
    String? remark,
    String? reasonType,
    int? auditReject,
    String? reviseHours,
    String? reviseGrossWage,
    String? reviseAgencyWage,
    int? isOt,
    String? rejectMsg,
  }) {
    return THAppliedEditApplied()
      ..id = id ?? this.id
      ..jobId = jobId ?? this.jobId
      ..sId = sId ?? this.sId
      ..memberId = memberId ?? this.memberId
      ..labourerId = labourerId ?? this.labourerId
      ..labourerName = labourerName ?? this.labourerName
      ..labourerNric = labourerNric ?? this.labourerNric
      ..sourceType = sourceType ?? this.sourceType
      ..employerId = employerId ?? this.employerId
      ..employerName = employerName ?? this.employerName
      ..agencyId = agencyId ?? this.agencyId
      ..agencyName = agencyName ?? this.agencyName
      ..jobTitle = jobTitle ?? this.jobTitle
      ..outletId = outletId ?? this.outletId
      ..outletName = outletName ?? this.outletName
      ..ballroomId = ballroomId ?? this.ballroomId
      ..ballroomName = ballroomName ?? this.ballroomName
      ..jobDate = jobDate ?? this.jobDate
      ..startTime = startTime ?? this.startTime
      ..endTime = endTime ?? this.endTime
      ..workingHours = workingHours ?? this.workingHours
      ..adjustHours = adjustHours ?? this.adjustHours
      ..totalHours = totalHours ?? this.totalHours
      ..hourlyRate = hourlyRate ?? this.hourlyRate
      ..grossWage = grossWage ?? this.grossWage
      ..securityClockIn = securityClockIn ?? this.securityClockIn
      ..securityClockOut = securityClockOut ?? this.securityClockOut
      ..workClockIn = workClockIn ?? this.workClockIn
      ..workClockOut = workClockOut ?? this.workClockOut
      ..securityIn = securityIn ?? this.securityIn
      ..securityOut = securityOut ?? this.securityOut
      ..workIn = workIn ?? this.workIn
      ..workOut = workOut ?? this.workOut
      ..status = status ?? this.status
      ..remarkStatus = remarkStatus ?? this.remarkStatus
      ..createdAt = createdAt ?? this.createdAt
      ..updatedAt = updatedAt ?? this.updatedAt
      ..syncPayroll = syncPayroll ?? this.syncPayroll
      ..signImage = signImage ?? this.signImage
      ..eventName = eventName ?? this.eventName
      ..eventType = eventType ?? this.eventType
      ..workingType = workingType ?? this.workingType
      ..epfEmployer = epfEmployer ?? this.epfEmployer
      ..epfEmployee = epfEmployee ?? this.epfEmployee
      ..epfTotal = epfTotal ?? this.epfTotal
      ..netPay = netPay ?? this.netPay
      ..socso = socso ?? this.socso
      ..paymentStatus = paymentStatus ?? this.paymentStatus
      ..paidTime = paidTime ?? this.paidTime
      ..agencyRate = agencyRate ?? this.agencyRate
      ..agencyWage = agencyWage ?? this.agencyWage
      ..remark = remark ?? this.remark
      ..reasonType = reasonType ?? this.reasonType
      ..auditReject = auditReject ?? this.auditReject
      ..reviseHours = reviseHours ?? this.reviseHours
      ..reviseGrossWage = reviseGrossWage ?? this.reviseGrossWage
      ..reviseAgencyWage = reviseAgencyWage ?? this.reviseAgencyWage
      ..isOt = isOt ?? this.isOt
      ..rejectMsg = rejectMsg ?? this.rejectMsg;
  }
}