查詢篇-按收取學(xué)費(fèi)的比例給老師發(fā)工資

2013年07月30日 09:03
點(diǎn)擊率:10961
之前的文章講過(guò)老師薪金計(jì)算的三種基本方法:http://denisedoxilly.com/docshow_c21_158.aspx

其中第三種“按上課學(xué)員實(shí)際消耗的課時(shí)產(chǎn)出計(jì)算老師提成。”精度非常高,消耗資源大,并且要特殊配置。今天我們講的也是第三種,但是參數(shù)選擇不同所以實(shí)現(xiàn)起來(lái)比較簡(jiǎn)單。單價(jià)參考的是學(xué)員最后一次交費(fèi)時(shí)的課時(shí)單價(jià),可以滿足大部分學(xué)校的需求。


主查詢:

Select
LessonDegree.TeacherID as 工號(hào),
Users.TrueName as 姓名,
sum(Attend.Lessons * (BillItem.UnitPrice + BillItem.Favorable / BillItem.Amount)) as 金額,
sum(Attend.Lessons * (BillItem.UnitPrice + BillItem.Favorable / BillItem.Amount)) * 0.2 as 提成金額,
LessonDegree.TeacherID as ShowKey
from Attend,LessonDegree,StuClass,BillItem,Users
where
Attend.LessonDegreeID = LessonDegree.LessonDegreeID
and Attend.StuClassID = StuClass.StuClassID
and StuClass.LastBillItemID = BillItem.BillItemID
and LessonDegree.TeacherID = Users.UserID
and LessonDegree.StartDate >= {@StartDate:開(kāi)始日期}
and LessonDegree.StartDate <= {@EndDate:結(jié)束日期}
group by LessonDegree.TeacherID,Users.TrueName


子查詢:

Select
StuClass.StudentID as 學(xué)號(hào),
StuClass.StudentName as 姓名,
StuClass.ClassID as 班號(hào),
StuClass.ClassName as 班名,
Attend.Lessons as 課時(shí),
BillItem.UnitPrice as 單價(jià),
LessonDegree.StartDate as 日期
from Attend,LessonDegree,StuClass,BillItem
where
Attend.LessonDegreeID = LessonDegree.LessonDegreeID
and Attend.StuClassID = StuClass.StuClassID
and StuClass.LastBillItemID = BillItem.BillItemID
and Attend.Lessons > 0
and LessonDegree.StartDate >= {@StartDate}
and LessonDegree.StartDate <= {@EndDate}
and LessonDegree.TeacherID = {@ShowKey}



統(tǒng)計(jì)某段時(shí)間學(xué)員所上課時(shí)的價(jià)值有一定的難度,因?yàn)閮?yōu)惠的客觀存在,并且某段時(shí)間內(nèi)存在學(xué)員多次購(gòu)買課時(shí)、并且單價(jià)不同的問(wèn)題。上面這段代碼選擇的是學(xué)員最后一次購(gòu)買課時(shí)的單價(jià)做為標(biāo)準(zhǔn)進(jìn)行構(gòu)造的,StuClass.LastBillItemID = BillItem.BillItemID 從這句條件語(yǔ)法可以看出來(lái)。

(BillItem.UnitPrice + BillItem.Favorable / BillItem.Amount)這段代碼用于計(jì)算課時(shí)實(shí)際單價(jià)(去除優(yōu)惠后),因?yàn)閮?yōu)惠金額在系統(tǒng)里一直使用負(fù)數(shù)表達(dá),所以這里用原單價(jià)+優(yōu)惠單價(jià)=實(shí)際單價(jià)。


sum(Attend.Lessons * (BillItem.UnitPrice + BillItem.Favorable / BillItem.Amount))這段代碼表示學(xué)員上課課時(shí)數(shù) X 最后一次購(gòu)買課時(shí)的單價(jià) = 實(shí)際課時(shí)產(chǎn)值。

sum(Attend.Lessons * (BillItem.UnitPrice + BillItem.Favorable / BillItem.Amount)) * 0.2 as 提成金額,這段代碼表示課時(shí)產(chǎn)出的20%用于老師的提成。根據(jù)學(xué)校的實(shí)際情況修改這里的0.2來(lái)調(diào)節(jié)提成比例。



(把以上代碼粘貼到《麥田培訓(xùn)學(xué)校管理軟件》查詢管理里,可直接使用)