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