package com.xw.yunwei.model import android.os.Parcelable import com.google.gson.annotations.SerializedName import kotlinx.parcelize.Parcelize /** * 打卡状态VO * 包含上下班打卡状态及关联的打卡地址、班次信息 */ @Parcelize data class ClockInStatusModel( /** * 是否已上班打卡 */ @SerializedName("clockIn") val clockIn: Boolean? = null, /** * 是否已下班打卡 */ @SerializedName("clockOut") val clockOut: Boolean? = null, /** * 打卡地址信息 */ @SerializedName("xpCheckLocation") val xpCheckLocation: XpCheckLocationVO? = null, /** * 班次信息 */ @SerializedName("xpShift") val xpShift: XpShiftVO? = null, /** * 打卡信息 */ @SerializedName("xpClockIn") val xpClockIn: XpClockInVO? = null ) : Parcelable /** * 打卡地址管理VO */ @Parcelize data class XpCheckLocationVO( /** * 记录创建人(前端忽略) */ @SerializedName("createBy") val createBy: String? = null, /** * 记录创建时间(前端忽略) */ @SerializedName("createTime") val createTime: String? = null, /** * 是否删除:false-未删除,true-已删除 */ @SerializedName("deleted") val deleted: Boolean? = null, /** * 地址ID */ @SerializedName("id") val id: Long? = null, /** * 打卡地址 */ @SerializedName("locationAddress") val locationAddress: String? = null, /** * 纬度 */ @SerializedName("locationLat") val locationLat: Double? = null, /** * 经度 */ @SerializedName("locationLon") val locationLon: Double? = null, /** * 打卡范围(米) */ @SerializedName("locationRange") val locationRange: Double? = null, /** * 状态 * 1 = 启用 * 0 = 禁用 */ @SerializedName("status") val status: Int? = null, /** * 记录修改人(前端忽略) */ @SerializedName("upStringBy") val upStringBy: String? = null, /** * 记录修改时间(前端忽略) */ @SerializedName("upStringTime") val upStringTime: String? = null ): Parcelable /** * 班次管理VO */ @Parcelize data class XpShiftVO( /** * 记录创建人(前端忽略) */ @SerializedName("createBy") val createBy: String? = null, /** * 记录创建时间(前端忽略) */ @SerializedName("createTime") val createTime: String? = null, /** * 是否删除:false-未删除,true-已删除 */ @SerializedName("deleted") val deleted: Boolean? = null, /** * 结束时间(HH:mm 格式) */ @SerializedName("endTime") val endTime: String? = null, /** * 班次ID */ @SerializedName("id") val id: Long? = null, /** * 是否开启休息 * true = 是 * false = 否 */ @SerializedName("isRest") val isRest: Boolean? = null, /** * 休息结束时间(HH:mm 格式) */ @SerializedName("restEndTime") val restEndTime: String? = null, /** * 休息开始时间(HH:mm 格式) */ @SerializedName("restStartTime") val restStartTime: String? = null, /** * 班次颜色(色号,如 #FF5733) */ @SerializedName("shiftColor") val shiftColor: String? = null, /** * 班次名称 */ @SerializedName("shiftName") val shiftName: String? = null, /** * 开始时间(HH:mm 格式) */ @SerializedName("startTime") val startTime: String? = null, /** * 记录修改人(前端忽略) */ @SerializedName("upStringBy") val upStringBy: String? = null, /** * 记录修改时间(前端忽略) */ @SerializedName("upStringTime") val upStringTime: String? = null ): Parcelable /** * 用户打卡记录实体类 * 包含上下班打卡的完整信息及打卡结果 */ @Parcelize data class XpClockInVO( /** * 主键ID */ @SerializedName("id") val id: Long? = null, /** * 用户ID */ @SerializedName("appUserId") val appUserId: Long? = null, /** * 上班打卡时间 * 格式:yyyy-MM-dd HH:mm:ss */ @SerializedName("clockInTime") val clockInTime: String? = null, /** * 下班打卡时间 * 格式:yyyy-MM-dd HH:mm:ss */ @SerializedName("clockOutTime") val clockOutTime: String? = null, /** * 班次ID */ @SerializedName("shiftId") val shiftId: Long? = null, /** * 上班打卡结果 * 1 = 正常 * 2 = 迟到 * 3 = 缺卡 */ @SerializedName("clockInResult") val clockInResult: Int? = null, /** * 下班打卡结果 * 1 = 正常 * 2 = 早退 * 3 = 缺卡 */ @SerializedName("clockOutResult") val clockOutResult: Int? = null, /** * 上班打卡经度 */ @SerializedName("clockInLon") val clockInLon: Double? = null, /** * 上班打卡纬度 */ @SerializedName("clockInLat") val clockInLat: Double? = null, /** * 下班打卡经度 */ @SerializedName("clockOutLon") val clockOutLon: Double? = null, /** * 下班打卡纬度 */ @SerializedName("clockOutLat") val clockOutLat: Double? = null, /** * 下班打卡纬度 */ @SerializedName("clockOutAddress") val clockOutAddress: String? = null, /** * 上班打卡纬度 */ @SerializedName("clockInAddress") val clockInAddress: String? = null, ): Parcelable