enterprise/worker/worker.go

40 lines
844 B
Go

package worker
import (
"github.com/go-co-op/gocron"
"time"
)
func Init() error {
timezone, _ := time.LoadLocation("Asia/Shanghai")
cron := gocron.NewScheduler(timezone)
staff := new(Staff)
checkIn := new(Checkin)
// 每天同步企业人事信息
cron.Every(1).Day().At("01:00").Do(func() {
go staff.SyncStaffInfo()
})
//同步每日考勤数据
cron.Every(1).Day().At("05:00").Do(func() {
go checkIn.SyncCheckinDay("")
})
cron.Every(1).Month(1).At("05:20").Do(func() {
go checkIn.SyncCheckinMonth("")
})
// 1-10号计算工资信息
cron.Every(1).Month(1).At("05:30").Do(func() {
go staff.SyncStaffSalary("")
})
//10号晚上8点发送工资单
cron.Every(1).Month(10).At("20:00").Do(func() {
go staff.SendStaffSalaryBill(time.Now().AddDate(0, -1, 0).Format("200601"))
})
cron.StartAsync()
return nil
}