vacationDuration6

This commit is contained in:
jiangyong27 2025-05-06 17:56:23 +08:00
parent 0c43367e1e
commit c8004cd0f1
3 changed files with 14 additions and 4 deletions

View File

@ -3,10 +3,8 @@ package main
import ( import (
"enterprise/common/config" "enterprise/common/config"
"enterprise/common/global" "enterprise/common/global"
"enterprise/common/model"
_ "enterprise/plugin" _ "enterprise/plugin"
"enterprise/server" "enterprise/server"
"enterprise/worker"
) )
func main() { func main() {
@ -15,8 +13,8 @@ func main() {
config.LoadCorpConfig() config.LoadCorpConfig()
global.InitGlobal() global.InitGlobal()
worker.NewApproval(1000).Sync("202504", model.ApprovalTypeVacation) //worker.NewApproval(1000).Sync("202504", model.ApprovalTypeVacation)
worker.NewApproval(1002).Sync("202504", model.ApprovalTypeRefund) //worker.NewApproval(1002).Sync("202504", model.ApprovalTypeRefund)
if err := server.Start(); err != nil { if err := server.Start(); err != nil {
panic(err) panic(err)
} }

View File

@ -147,6 +147,7 @@ func (a *Approve) handleVacation(detail *qyweixin.ApproveDetail, spStatus int) {
for st := startTime; st.Format("2006-01-02") != endTime.Format("2006-01-02"); st = st.AddDate(0, 0, 1) { for st := startTime; st.Format("2006-01-02") != endTime.Format("2006-01-02"); st = st.AddDate(0, 0, 1) {
cnt += 1 cnt += 1
} }
if newData.VacationDuration > float64(cnt) { if newData.VacationDuration > float64(cnt) {
newData.VacationDuration = float64(cnt) newData.VacationDuration = float64(cnt)
} }

View File

@ -150,6 +150,17 @@ func (s *Approval) saveVacation(detail *qyweixin.ApproveDetail) {
newData.From(detail) newData.From(detail)
newData.VacationDuration = newData.VacationDuration / (cast.ToFloat64(s.corpConfig.WorkerHour) * float64(3600)) newData.VacationDuration = newData.VacationDuration / (cast.ToFloat64(s.corpConfig.WorkerHour) * float64(3600))
startTime, _ := time.ParseInLocation("2006-01-02 15:04:05", newData.VacationStartTime, time.Local)
endTime, _ := time.ParseInLocation("2006-01-02 15:04:05", newData.VacationEndTime, time.Local)
cnt := 1
for st := startTime; st.Format("2006-01-02") != endTime.Format("2006-01-02"); st = st.AddDate(0, 0, 1) {
cnt += 1
}
if newData.VacationDuration > float64(cnt) {
newData.VacationDuration = float64(cnt)
}
old, err := dbDao.GetBySpNo(s.corp.Id, detail.SpNo) old, err := dbDao.GetBySpNo(s.corp.Id, detail.SpNo)
if err != nil { if err != nil {
log.Errorf("db error :%s", err.Error()) log.Errorf("db error :%s", err.Error())