new salary2
This commit is contained in:
parent
e533de5422
commit
f475a829b9
|
@ -13,9 +13,12 @@ func main() {
|
||||||
config.LoadAliPay()
|
config.LoadAliPay()
|
||||||
global.InitGlobal()
|
global.InitGlobal()
|
||||||
|
|
||||||
if err := worker.InitCorp(1000); err != nil {
|
checkIn := worker.NewCheckin(1002)
|
||||||
panic(err)
|
checkIn.SyncCheckinMonth("")
|
||||||
}
|
|
||||||
|
return
|
||||||
|
|
||||||
|
worker.InitCorp()
|
||||||
|
|
||||||
if err := server.Start(); err != nil {
|
if err := server.Start(); err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
|
|
|
@ -24,17 +24,12 @@ func NewCheckin(corpId int64) *Checkin {
|
||||||
corpConfig: corp.GetConfig(),
|
corpConfig: corp.GetConfig(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
func (c *Checkin) SyncCheckinMonth(corpId int64, month string) error {
|
func (c *Checkin) SyncCheckinMonth(month string) error {
|
||||||
if month == "" {
|
if month == "" {
|
||||||
month = time.Now().AddDate(0, -1, 0).Format("200601")
|
month = time.Now().AddDate(0, -1, 0).Format("200601")
|
||||||
}
|
}
|
||||||
corp, err := dao.NewCorpDao().Get(corpId)
|
|
||||||
if err != nil {
|
|
||||||
log.Errorf("db error :%s", err.Error())
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
cfg := corp.GetConfig()
|
cfg := c.corp.GetConfig()
|
||||||
|
|
||||||
startTime, _ := time.ParseInLocation("20060102", month+"01", time.Local)
|
startTime, _ := time.ParseInLocation("20060102", month+"01", time.Local)
|
||||||
endDay := startTime.AddDate(0, 1, -1).Format("2006-01-02")
|
endDay := startTime.AddDate(0, 1, -1).Format("2006-01-02")
|
||||||
|
@ -147,6 +142,7 @@ func (c *Checkin) saveToDB(user *qyweixin.UserCheckIn) error {
|
||||||
checkin.EndTime = user.EndTime
|
checkin.EndTime = user.EndTime
|
||||||
checkin.Month = user.Month
|
checkin.Month = user.Month
|
||||||
checkin.Rawdata = user.Rawdata
|
checkin.Rawdata = user.Rawdata
|
||||||
|
checkin.CorpId = c.corp.Id
|
||||||
|
|
||||||
if isNew {
|
if isNew {
|
||||||
_, err = dao.NewCheckinDao().Create(checkin)
|
_, err = dao.NewCheckinDao().Create(checkin)
|
||||||
|
|
|
@ -6,15 +6,18 @@ import (
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
func InitCorp(corpId int64) error {
|
func InitCorp() {
|
||||||
|
|
||||||
timezone, _ := time.LoadLocation("Asia/Shanghai")
|
timezone, _ := time.LoadLocation("Asia/Shanghai")
|
||||||
cron := gocron.NewScheduler(timezone)
|
cron := gocron.NewScheduler(timezone)
|
||||||
staff := new(Staff)
|
InitCorp1000(cron)
|
||||||
|
InitCorp1002(cron)
|
||||||
|
|
||||||
cron.Every(1).Day().At("09:00").Do(func() {
|
cron.StartAsync()
|
||||||
go staff.MontorWorkAge(corpId)
|
}
|
||||||
})
|
|
||||||
|
func InitCorp1002(cron *gocron.Scheduler) {
|
||||||
|
corpId := int64(1002)
|
||||||
|
staff := new(Staff)
|
||||||
|
|
||||||
//同步每日考勤数据
|
//同步每日考勤数据
|
||||||
cron.Every(1).Day().At("05:00").Do(func() {
|
cron.Every(1).Day().At("05:00").Do(func() {
|
||||||
|
@ -29,7 +32,7 @@ func InitCorp(corpId int64) error {
|
||||||
//每月1号同步上月考勤、补卡审批、请假审批、报销审批
|
//每月1号同步上月考勤、补卡审批、请假审批、报销审批
|
||||||
cron.Every(1).Month(1).At("05:30").Do(func() {
|
cron.Every(1).Month(1).At("05:30").Do(func() {
|
||||||
checkIn := NewCheckin(corpId)
|
checkIn := NewCheckin(corpId)
|
||||||
checkIn.SyncCheckinMonth(corpId, "")
|
checkIn.SyncCheckinMonth("")
|
||||||
lastMonth := time.Now().AddDate(0, -1, 0).Format("200601")
|
lastMonth := time.Now().AddDate(0, -1, 0).Format("200601")
|
||||||
|
|
||||||
approve := NewApproval(corpId)
|
approve := NewApproval(corpId)
|
||||||
|
@ -50,6 +53,48 @@ func InitCorp(corpId int64) error {
|
||||||
go staff.SendStaffSalaryBill(corpId, time.Now().AddDate(0, -1, 0).Format("200601"))
|
go staff.SendStaffSalaryBill(corpId, time.Now().AddDate(0, -1, 0).Format("200601"))
|
||||||
//go staff.SendStaffSalaryBill(1002, time.Now().AddDate(0, -1, 0).Format("200601"))
|
//go staff.SendStaffSalaryBill(1002, time.Now().AddDate(0, -1, 0).Format("200601"))
|
||||||
})
|
})
|
||||||
cron.StartAsync()
|
}
|
||||||
return nil
|
|
||||||
|
func InitCorp1000(cron *gocron.Scheduler) {
|
||||||
|
corpId := int64(1000)
|
||||||
|
staff := new(Staff)
|
||||||
|
cron.Every(1).Day().At("09:00").Do(func() {
|
||||||
|
go staff.MontorWorkAge(corpId)
|
||||||
|
})
|
||||||
|
|
||||||
|
//同步每日考勤数据
|
||||||
|
cron.Every(1).Day().At("05:00").Do(func() {
|
||||||
|
checkIn := NewCheckin(corpId)
|
||||||
|
go checkIn.SyncCheckinDay(corpId, "")
|
||||||
|
})
|
||||||
|
cron.Every(1).Day().At("08:00").Do(func() {
|
||||||
|
checkIn := NewCheckin(corpId)
|
||||||
|
go checkIn.MonitorCheckinDay(corpId, "")
|
||||||
|
})
|
||||||
|
|
||||||
|
//每月1号同步上月考勤、补卡审批、请假审批、报销审批
|
||||||
|
cron.Every(1).Month(1).At("05:30").Do(func() {
|
||||||
|
checkIn := NewCheckin(corpId)
|
||||||
|
checkIn.SyncCheckinMonth("")
|
||||||
|
lastMonth := time.Now().AddDate(0, -1, 0).Format("200601")
|
||||||
|
|
||||||
|
approve := NewApproval(corpId)
|
||||||
|
approve.Sync(corpId, lastMonth, model.ApprovalTypeCheckin)
|
||||||
|
approve.Sync(corpId, lastMonth, model.ApprovalTypeVacation)
|
||||||
|
approve.Sync(corpId, lastMonth, model.ApprovalTypeRefund)
|
||||||
|
approve.Sync(corpId, lastMonth, model.ApprovalTypePayment)
|
||||||
|
})
|
||||||
|
|
||||||
|
// 1号计算工资信息
|
||||||
|
cron.Every(1).Month(1, 2, 3, 4, 5, 6, 7, 8, 9).At("06:00").Do(func() {
|
||||||
|
go staff.SyncStaffSalary(corpId, "")
|
||||||
|
//go staff.SyncStaffSalary(1002, "")
|
||||||
|
})
|
||||||
|
|
||||||
|
//10号晚上8点发送工资单
|
||||||
|
cron.Every(1).Month(10).At("20:00").Do(func() {
|
||||||
|
go staff.SendStaffSalaryBill(corpId, time.Now().AddDate(0, -1, 0).Format("200601"))
|
||||||
|
//go staff.SendStaffSalaryBill(1002, time.Now().AddDate(0, -1, 0).Format("200601"))
|
||||||
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue