salarybill

This commit is contained in:
jiangyong27 2025-04-10 20:44:29 +08:00
parent 2c75b82cd9
commit 8ab41cc0db
2 changed files with 10 additions and 6 deletions

View File

@ -76,23 +76,24 @@ func (s *Staff) SendStaffSalaryBill(corpId int64, month string) {
log.Errorf("db error :%s", err.Error())
continue
}
totalMessage = append(totalMessage, fmt.Sprintf("%s%s", staffSalary.Username, staffSalary.GetBillUrl(true)))
if time.Now().Day() != salaryDay {
continue
}
if staffSalary.Status != model.StaffSalaryStatusPayed {
if staffSalary.Status != model.StaffSalaryStatusPayed && staffUser.GetConfig().PayChannel != model.StaffSalaryPaymentBank {
continue
}
totalMessage = append(totalMessage, fmt.Sprintf(`%s<a href="%s">查看明细</a>`, staffSalary.Username, staffSalary.GetBillUrl(true)))
message := make([]string, 0)
message = append(message, fmt.Sprintf("【工资单】[%s][%s]", staffUser.Username, month))
message = append(message, fmt.Sprintf("实发工资:%.2f", staffSalary.GetRealSalary()))
message = append(message, fmt.Sprintf(`<a href="%s">查看明细</a>`, staffSalary.GetBillUrl(false)))
if err := global.SendMessage([]string{staffSalary.Username}, strings.Join(message, "\n")); err != nil {
if err := global.SendCorpMessage(staffUser.CorpId, []string{staffSalary.Username}, strings.Join(message, "\n")); err != nil {
log.Errorf("send message error :%s", err.Error())
}
}
if err := global.SendMessage([]string{"jiangyong"}, strings.Join(totalMessage, "\n")); err != nil {
if err := global.SendCorpMessage(corpId, []string{"jiangyong"}, strings.Join(totalMessage, "\n")); err != nil {
log.Errorf("send message error :%s", err.Error())
}
}
@ -125,6 +126,9 @@ func (s *Staff) PayStaffSalary(corpId int64, month string) {
if staffUser.GetConfig().PayChannel != model.StaffSalaryPaymentAlipay {
continue
}
if staffSalary.Status == model.StaffSalaryStatusPayed {
continue
}
salaryDay := cast.ToInt(corp.GetConfig().SalaryDay)
isSend := time.Now().Day() == salaryDay
@ -140,7 +144,7 @@ func (s *Staff) PayStaffSalary(corpId int64, month string) {
message = append(message, fmt.Sprintf("[%s]%.2f", staffSalary.Username, staffSalary.GetRealSalary()))
totalPayFee += staffSalary.GetRealSalary()
} else {
message = append(message, fmt.Sprintf("[%s]%s", staffSalary.Username, err.Error()))
message = append(message, fmt.Sprintf("[%s]ERR", staffSalary.Username))
staffSalary.SetExtra("pay_error", err.Error())
}
dao.NewStaffSalaryDao().Update(staffSalary)

View File

@ -92,7 +92,7 @@ func InitCorp1000(cron *gocron.Scheduler) {
})
//10号晚上8点发送工资单
cron.Every(1).Month(10).At("20:00").Do(func() {
cron.Every(1).Month(11).At("20:00").Do(func() {
NewStaff().PayStaffSalary(corpId, time.Now().AddDate(0, -1, 0).Format("200601"))
NewStaff().SendStaffSalaryBill(corpId, time.Now().AddDate(0, -1, 0).Format("200601"))
})