查詢篇--老師課時工資算法詳解

2012年04月21日 06:20
點擊率:19741
培訓機構里常見的課時薪資算法介紹:

一、按員工課時費計算老師課時工資:(SQL Server版)

公式:
上課課時數(shù) × 每課時分鐘 ÷ 60 × 每小時薪資 = 實際課時費

實際運算中,由于不同班級每課時的分鐘數(shù)不一定相同,所以程序是按照每課次結算費用,最后將所有費用匯總得出最終數(shù)據(jù)的。
這個方法是最簡單方便的課時工資計算公式,在很多培訓機構里被采納。老師每小時薪資在員工詳細信息里設置:
麥田培訓學校管理軟件細節(jié)

語法:
Select
LessonDegree.TeacherID as 工號,
Users.TrueName as 姓名,
Sum(LessonDegree.Lessons) as 課時,
cast(Sum(LessonDegree.Lessons * Class.LessonMinute) as decimal) / 60 * Users.HourFee as 工資
from
LessonDegree,Class,Users
where LessonDegree.ClassID = Class.ClassID
and LessonDegree.TeacherID = Users.UserID
and LessonDegree.LeStateID = 1
and LessonDegree.StartDate >= {@StartDate:開始日期}
and LessonDegree.StartDate <= {@EndDate:結束日期}
group by LessonDegree.TeacherID,Users.TrueName,Users.HourFee
order by LessonDegree.TeacherID

如果是ACCESS版本,只要將cast(Sum(LessonDegree.Lessons * Class.LessonMinute) as decimal)修改為Sum(LessonDegree.Lessons * Class.LessonMinute)即可。


二、按班級每課時薪資計算老師課時工資:(SQL Server版)

公式:
上課課時數(shù) × 班級每課時薪金 = 實際課時費

實際運算中,由于不同班級每課時提成不一定相同,所以程序是按照每課次結算費用,最后將所有費用匯總得出最終數(shù)據(jù)的。
這個方法略有點繁瑣,需要每次開班時都要設置好班級每課時薪金。
課時提成設置方法:
麥田培訓學校管理軟件細節(jié)

語法:
Select

LessonDegree.TeacherID as 工號,
Users.TrueName as 姓名,
Sum(LessonDegree.Lessons) as 課時,
Sum(LessonDegree.Lessons * Class.LessonCommission) as 工資
from
LessonDegree,Class,Users
where LessonDegree.ClassID = Class.ClassID
and LessonDegree.TeacherID = Users.UserID
and LessonDegree.LeStateID = 1
and LessonDegree.StartDate >= {@StartDate:開始日期}
and LessonDegree.StartDate <= {@EndDate:結束日期}
group by LessonDegree.TeacherID,Users.TrueName
order by LessonDegree.TeacherID

ACCESS版同上。

三、按上課學員實際消耗的課時產(chǎn)出計算老師提成。

公式:某時間內(nèi)老師所帶學員課時消費總額 × 百分比例 = 老師實際課時費

由于優(yōu)惠數(shù)據(jù)的存在、多次交費不同單價的存在,學員的實際消費金額與考勤消耗很難精確計算,所以這種計算方式需要付出一定的成本。麥田培訓管理軟件默認未開啟這種精密計算。因為它需要占用很多的資源、消耗更多的性能。所以只有SQL SERVER版用戶支持,并且需要預約開啟并支付額外的服務費用。


以上內(nèi)容介紹了培訓機構最基本的三種算法,實際應用時SQL構造可能要復雜得多。有的機構可能是兩個模式混合使用、大班與一對一分開算法計算、加入基本工資、獎罰數(shù)據(jù)運算、兼職全職分開運算等。但萬變不離其中,理解以上基本算法,就可以輕松實現(xiàn)更復雜的構造。