attendSalary
This commit is contained in:
parent
c89880e13f
commit
5719239899
|
@ -10,6 +10,7 @@ type StaffSalary struct {
|
||||||
Username string
|
Username string
|
||||||
Month string
|
Month string
|
||||||
BaseSalary float64
|
BaseSalary float64
|
||||||
|
AttendSalary float64
|
||||||
RealSalary float64
|
RealSalary float64
|
||||||
AwardSalary float64
|
AwardSalary float64
|
||||||
SocialInsurence float64
|
SocialInsurence float64
|
||||||
|
|
|
@ -52,11 +52,11 @@ func (s *StaffSalary) Agent(month string, ctx *gin.Context) {
|
||||||
item = append(item, cast.ToString(baseInfo.Idno))
|
item = append(item, cast.ToString(baseInfo.Idno))
|
||||||
item = append(item, cast.ToString(baseInfo.Phone))
|
item = append(item, cast.ToString(baseInfo.Phone))
|
||||||
item = append(item, cast.ToString(staff.BaseSalary))
|
item = append(item, cast.ToString(staff.BaseSalary))
|
||||||
item = append(item, cast.ToString(staff.RealSalary))
|
item = append(item, cast.ToString(staff.AttendSalary))
|
||||||
item = append(item, cast.ToString(staff.AwardSalary))
|
item = append(item, cast.ToString(staff.AwardSalary))
|
||||||
item = append(item, cast.ToString(staff.SocialInsurence))
|
item = append(item, cast.ToString(staff.SocialInsurence))
|
||||||
item = append(item, cast.ToString(staff.PersonalTax))
|
item = append(item, cast.ToString(staff.PersonalTax))
|
||||||
item = append(item, cast.ToString(butil.FloatCut(staff.RealSalary+staff.AwardSalary-staff.SocialInsurence-staff.PersonalTax)))
|
item = append(item, cast.ToString(butil.FloatCut(staff.RealSalary)))
|
||||||
|
|
||||||
datas = append(datas, item)
|
datas = append(datas, item)
|
||||||
}
|
}
|
||||||
|
@ -112,7 +112,7 @@ func (s *StaffSalary) Bank(month string, ctx *gin.Context) {
|
||||||
item := make([]string, 0)
|
item := make([]string, 0)
|
||||||
item = append(item, baseInfo.BankCard)
|
item = append(item, baseInfo.BankCard)
|
||||||
item = append(item, baseInfo.Realname)
|
item = append(item, baseInfo.Realname)
|
||||||
item = append(item, cast.ToString(butil.FloatCut(staff.RealSalary+staff.AwardSalary-staff.SocialInsurence-staff.PersonalTax)))
|
item = append(item, cast.ToString(butil.FloatCut(staff.RealSalary)))
|
||||||
item = append(item, cast.ToString(baseInfo.BankName))
|
item = append(item, cast.ToString(baseInfo.BankName))
|
||||||
item = append(item, "重庆市")
|
item = append(item, "重庆市")
|
||||||
item = append(item, fmt.Sprintf("%s工资", month))
|
item = append(item, fmt.Sprintf("%s工资", month))
|
||||||
|
@ -173,7 +173,7 @@ func (s *StaffSalary) Summary(month string, ctx *gin.Context) {
|
||||||
item = append(item, cast.ToString(baseInfo.EntryDate))
|
item = append(item, cast.ToString(baseInfo.EntryDate))
|
||||||
item = append(item, cast.ToString(baseInfo.OfficialDate))
|
item = append(item, cast.ToString(baseInfo.OfficialDate))
|
||||||
item = append(item, cast.ToString(staff.BaseSalary))
|
item = append(item, cast.ToString(staff.BaseSalary))
|
||||||
item = append(item, cast.ToString(staff.RealSalary))
|
item = append(item, cast.ToString(staff.AttendSalary))
|
||||||
item = append(item, cast.ToString(staff.AwardSalary))
|
item = append(item, cast.ToString(staff.AwardSalary))
|
||||||
item = append(item, cast.ToString(staff.SocialInsurence))
|
item = append(item, cast.ToString(staff.SocialInsurence))
|
||||||
item = append(item, cast.ToString(staff.PersonalTax))
|
item = append(item, cast.ToString(staff.PersonalTax))
|
||||||
|
@ -181,7 +181,7 @@ func (s *StaffSalary) Summary(month string, ctx *gin.Context) {
|
||||||
item = append(item, cast.ToString(staff.RealDay))
|
item = append(item, cast.ToString(staff.RealDay))
|
||||||
item = append(item, cast.ToString(extra["approvalCheckinDay"]))
|
item = append(item, cast.ToString(extra["approvalCheckinDay"]))
|
||||||
item = append(item, cast.ToString(staff.Holiday))
|
item = append(item, cast.ToString(staff.Holiday))
|
||||||
item = append(item, cast.ToString(butil.FloatCut(staff.RealSalary+staff.AwardSalary-staff.SocialInsurence-staff.PersonalTax)))
|
item = append(item, cast.ToString(butil.FloatCut(staff.RealSalary)))
|
||||||
if staff.TotalDay != cast.ToFloat64(staff.RealDay)+cast.ToFloat64(staff.Holiday) {
|
if staff.TotalDay != cast.ToFloat64(staff.RealDay)+cast.ToFloat64(staff.Holiday) {
|
||||||
item = append(item, "【异常】")
|
item = append(item, "【异常】")
|
||||||
} else {
|
} else {
|
||||||
|
@ -190,7 +190,7 @@ func (s *StaffSalary) Summary(month string, ctx *gin.Context) {
|
||||||
|
|
||||||
datas = append(datas, item)
|
datas = append(datas, item)
|
||||||
summary.BaseSalary += staff.BaseSalary
|
summary.BaseSalary += staff.BaseSalary
|
||||||
summary.RealSalary += staff.RealSalary
|
summary.AttendSalary += staff.AttendSalary
|
||||||
summary.AwardSalary += staff.AwardSalary
|
summary.AwardSalary += staff.AwardSalary
|
||||||
summary.SocialInsurence += staff.SocialInsurence
|
summary.SocialInsurence += staff.SocialInsurence
|
||||||
summary.PersonalTax += staff.PersonalTax
|
summary.PersonalTax += staff.PersonalTax
|
||||||
|
@ -198,14 +198,14 @@ func (s *StaffSalary) Summary(month string, ctx *gin.Context) {
|
||||||
}
|
}
|
||||||
summary.Holiday = butil.FloatCut(summary.Holiday)
|
summary.Holiday = butil.FloatCut(summary.Holiday)
|
||||||
summary.BaseSalary = butil.FloatCut(summary.BaseSalary)
|
summary.BaseSalary = butil.FloatCut(summary.BaseSalary)
|
||||||
summary.RealSalary = butil.FloatCut(summary.RealSalary)
|
summary.AttendSalary = butil.FloatCut(summary.AttendSalary)
|
||||||
summary.AwardSalary = butil.FloatCut(summary.AwardSalary)
|
summary.AwardSalary = butil.FloatCut(summary.AwardSalary)
|
||||||
summary.SocialInsurence = butil.FloatCut(summary.SocialInsurence)
|
summary.SocialInsurence = butil.FloatCut(summary.SocialInsurence)
|
||||||
summary.PersonalTax = butil.FloatCut(summary.PersonalTax)
|
summary.PersonalTax = butil.FloatCut(summary.PersonalTax)
|
||||||
datas = append(datas, []string{"合计", "-", "-", "-",
|
datas = append(datas, []string{"合计", "-", "-", "-",
|
||||||
cast.ToString(summary.BaseSalary), cast.ToString(summary.RealSalary), cast.ToString(summary.AwardSalary), cast.ToString(summary.SocialInsurence),
|
cast.ToString(summary.BaseSalary), cast.ToString(summary.AttendSalary), cast.ToString(summary.AwardSalary), cast.ToString(summary.SocialInsurence),
|
||||||
cast.ToString(summary.PersonalTax), "-", "-", "-", cast.ToString(summary.Holiday),
|
cast.ToString(summary.PersonalTax), "-", "-", "-", cast.ToString(summary.Holiday),
|
||||||
cast.ToString(butil.FloatCut(summary.RealSalary + summary.AwardSalary - summary.SocialInsurence - summary.PersonalTax)), "-"})
|
cast.ToString(butil.FloatCut(summary.RealSalary)), "-"})
|
||||||
|
|
||||||
if xls != "" {
|
if xls != "" {
|
||||||
filename := fmt.Sprintf("summary_%s.xlsx", time.Now().Format("20060102_150405"))
|
filename := fmt.Sprintf("summary_%s.xlsx", time.Now().Format("20060102_150405"))
|
||||||
|
|
|
@ -31,13 +31,13 @@ func (s *Staff) SendStaffSalaryBill(month string) {
|
||||||
message := make([]string, 0)
|
message := make([]string, 0)
|
||||||
message = append(message, fmt.Sprintf("【工资单】[%s][%s]", staffSalary.Username, month))
|
message = append(message, fmt.Sprintf("【工资单】[%s][%s]", staffSalary.Username, month))
|
||||||
message = append(message, fmt.Sprintf("基本工资:%.2f", staffSalary.BaseSalary))
|
message = append(message, fmt.Sprintf("基本工资:%.2f", staffSalary.BaseSalary))
|
||||||
message = append(message, fmt.Sprintf("出勤工资:%.2f", staffSalary.RealSalary))
|
message = append(message, fmt.Sprintf("出勤工资:%.2f", staffSalary.AttendSalary))
|
||||||
if staffSalary.AwardSalary >= 0.1 {
|
if staffSalary.AwardSalary >= 0.1 {
|
||||||
message = append(message, fmt.Sprintf("额外工资:%.2f", staffSalary.AwardSalary))
|
message = append(message, fmt.Sprintf("额外工资:%.2f", staffSalary.AwardSalary))
|
||||||
}
|
}
|
||||||
message = append(message, fmt.Sprintf("社保扣除:%.2f", staffSalary.SocialInsurence))
|
message = append(message, fmt.Sprintf("社保扣除:%.2f", staffSalary.SocialInsurence))
|
||||||
message = append(message, fmt.Sprintf("个税扣除:%.2f", staffSalary.PersonalTax))
|
message = append(message, fmt.Sprintf("个税扣除:%.2f", staffSalary.PersonalTax))
|
||||||
message = append(message, fmt.Sprintf("实发工资:%.2f", butil.FloatCut(staffSalary.RealSalary+staffSalary.AwardSalary-staffSalary.SocialInsurence-staffSalary.PersonalTax)))
|
message = append(message, fmt.Sprintf("实发工资:%.2f", staffSalary.RealSalary))
|
||||||
|
|
||||||
if err := global.SendMessage([]string{"jiangyong"}, strings.Join(message, "\n")); err != nil {
|
if err := global.SendMessage([]string{"jiangyong"}, strings.Join(message, "\n")); err != nil {
|
||||||
log.Errorf("send message error :%s", err.Error())
|
log.Errorf("send message error :%s", err.Error())
|
||||||
|
@ -177,10 +177,10 @@ func (s *Staff) SyncStaffSalary(month string) {
|
||||||
}
|
}
|
||||||
|
|
||||||
realWorkDays = realWorkDays + surplusHoliday
|
realWorkDays = realWorkDays + surplusHoliday
|
||||||
realSalary := salary.BaseSalary * (realWorkDays / float64(totalDays)) * discount
|
attendSalary := salary.BaseSalary * (realWorkDays / float64(totalDays)) * discount
|
||||||
staffSalaryPerDay := cast.ToFloat64(config.Get(model.StaffSalaryPerDay))
|
staffSalaryPerDay := cast.ToFloat64(config.Get(model.StaffSalaryPerDay))
|
||||||
if staffSalaryPerDay > 0 {
|
if staffSalaryPerDay > 0 {
|
||||||
realSalary = staffSalaryPerDay * realWorkDays
|
attendSalary = staffSalaryPerDay * realWorkDays
|
||||||
}
|
}
|
||||||
|
|
||||||
extra["discount"] = discount
|
extra["discount"] = discount
|
||||||
|
@ -198,7 +198,8 @@ func (s *Staff) SyncStaffSalary(month string) {
|
||||||
extra["isOfficialMonth"] = isOfficialMonth
|
extra["isOfficialMonth"] = isOfficialMonth
|
||||||
extra["surplusHoliday"] = surplusHoliday
|
extra["surplusHoliday"] = surplusHoliday
|
||||||
|
|
||||||
salary.RealSalary = butil.FloatCut(realSalary)
|
salary.AttendSalary = butil.FloatCut(attendSalary)
|
||||||
|
salary.RealSalary = butil.FloatCut(attendSalary + salary.AwardSalary - salary.SocialInsurence - salary.PersonalTax)
|
||||||
salary.SocialInsurence = socialInsurence
|
salary.SocialInsurence = socialInsurence
|
||||||
salary.Holiday = holiday
|
salary.Holiday = holiday
|
||||||
salary.TotalDay = float64(totalDays)
|
salary.TotalDay = float64(totalDays)
|
||||||
|
|
Loading…
Reference in New Issue