package model type ClockInReq struct { StaffUID uint64 `json:"staffUID"` ActionType string `json:"actionType"` ActionTime string `json:"actionTime"` WorkTime string `json:"workTime"` CheckAddress string `json:"checkAddress"` Longitude string `json:"longitude"` Latitude string `json:"latitude"` CheckMethod int32 `json:"checkMethod"` // 打卡方式 FacePhoto string `json:"facePhoto"` // 人脸照片 存放 照片URL ClientID string `json:"clientID"` // 使用的手机 存放 手机的唯一标识 OutworkPic []string `json:"outworkPic"` } type ActionTypeRes struct { WorkDate string `json:"workDate"` WorkTime string `json:"workTime"` ActionType string `json:"actionType"` // 打卡类型 common 正常 late 迟到 before 早退 hadApplyOutWork 有外勤申请的外勤打卡 outWork 无外勤申请的外勤打卡 out 外出 back 回来 outNoClock 外出不可打卡 backNoClock 回来的不可打卡 noClock 不可打卡 OnOff string `json:"onOff"` // 上下班 on 上班 off 下班 OutWorkLat string `json:"outWorkLat"` // 有外勤申请的的外勤 打卡经纬度 默认 范围 500m OutWorkLng string `json:"outWorkLng"` // 有外勤申请的的外勤 打卡经纬度 OutWorkAddress string `json:"outWorkAddress"` // 有外勤申请的的外勤 打卡地址 IsWorkDay int `json:"isWorkDay"` // 是否工作日 } var OutWorkAddressRange float64 = 500 // 单位 m const ( ActionTypeCommon = "common" // 正常 // 正常 ActionTypeLate = "late" // 迟到 ActionTypeBefore = "before" // 早退 ActionTypeHadApplyOutWork = "hadApplyOutWork" // 有外勤申请的外勤打卡 ActionTypeOutWork = "outWork" // 无外勤申请的外勤打卡 ActionTypeOutWorkBefore = "outWorkBefore" // 无外勤申请的外勤打卡 早退 ActionTypeOutWorkLate = "outWorkLate" // 无外勤申请的外勤打卡 迟到 ActionTypeOut = "out" // 外出 ActionTypeOutNoClock = "outNoClock" // 外出不可打卡 ActionTypeBack = "back" // 回来 ActionTypeBackNoClock = "backNoClock" // 回来不可打卡 ActionTypeNoClock = "noClock" // 不可打卡 ) const ( IsNotWorkDay = iota + 1 IsWorkDay ) const ( OnWork = "on" OffWork = "off" ) // 是否按照考勤周期 const ( // AttendanceCycleNo 不按照考勤周期 AttendanceCycleNo = iota + 1 // AttendanceCycleYes 按照考勤周期 AttendanceCycleYes ) // 假勤规则 keyword const ( OvertimeRule = "Overtime" MakeUpRule = "MakeUp" ) // 是否用于调休 const ( // ForDayOffNo 不用于调休 ForDayOffNo = 1 // ForDayOffYes 用于调休 ForDayOffYes = 2 ) // 时间限制 const ( // TimeLimitMonth 可申请本月内的加班 TimeLimitMonth = 1 // TimeLimitYesterday 可申请自昨日起的加班 TimeLimitYesterday = 2 ) // 打卡方式 const ( CheckMethodFace = 1 // 人脸识别 CheckMethodPhone = 2 // 手机 CheckMethodPunchClock = 3 // 打卡机 ) // 是否换成薪资 const ( // ForMoneyNo 不用于换成薪资 ForMoneyNo = 1 // ForMoneyYes 用于换成薪资 ForMoneyYes = 2 ForMoneyYesDefaultZero = 0 )