checkinrule

This commit is contained in:
jiangyong 2025-03-10 00:12:57 +08:00
parent b2001738a4
commit 8fa7509eb5
1 changed files with 10 additions and 8 deletions

View File

@ -163,7 +163,7 @@ func (q *AppCheckin) GetCheckinDataV2(startDay, endDay string, userIds []string)
reqData := make(map[string]interface{})
reqData["starttime"] = dayTime.Unix()
reqData["endtime"] = endTime.Unix() + 86400
reqData["endtime"] = endTime.Unix() + 86400 - 1
reqData["useridlist"] = userIds
reqUrl := fmt.Sprintf("https://qyapi.weixin.qq.com/cgi-bin/checkin/getcheckin_daydata?access_token=%s", q.GetToken())
rspBody, err := util.HttpPostJson(reqUrl, nil, []byte(goutil.EncodeJSON(reqData)))
@ -178,6 +178,11 @@ func (q *AppCheckin) GetCheckinDataV2(startDay, endDay string, userIds []string)
userDatas := make([]*UserCheckIn, 0)
for _, dat := range g.Get("datas").Array() {
ruleCheckinTimes := dat.Get("base_info.rule_info.checkintime").Array()
if len(ruleCheckinTimes) < 2 {
continue
}
userData := new(UserCheckIn)
dayTimestamp := dat.Get("base_info.date").Int()
userId := dat.Get("base_info.acctid").String()
@ -205,14 +210,11 @@ func (q *AppCheckin) GetCheckinDataV2(startDay, endDay string, userIds []string)
}
if earliestTime == lastestTime {
ruleCheckinTimes := dat.Get("base_info.rule_info.checkintime").Array()
if len(ruleCheckinTimes) > 2 {
if earliestTime < ruleCheckinTimes[1].Get("work_sec").Int() {
userData.Exception = "下班未打卡"
} else {
userData.Exception = "上班未打卡"
}
}
} else {
if dat.Get("summary_info.regular_work_sec").Int() < dat.Get("summary_info.standard_work_sec").Int() {
userData.Exception = "出勤异常"