|
|
- package schedule
-
- import (
- model "LAPP_ACURA_MOM_BACKEND/models/base"
- "time"
- )
-
- type WorkShiftSrv struct {
- WorkShiftNr int
- ShiftType string
- StartTime time.Time
- EndTime time.Time
- Wsstab model.WorkShift
- }
-
- func (wss *WorkShiftSrv) Init(wstab model.WorkShift) {
- wss.WorkShiftNr = wstab.WorkShiftNr
- wss.Wsstab = wstab
- }
-
- // 基于指定的人数获取效率,默认取班组设置效率
- func (wss *WorkShiftSrv) GetEffByPersonQty(pesqty int) (eff float64) {
- var (
- i int
- found bool
- )
-
- found = false
- for i = 0; i < len(wss.Wsstab.WorkShiftEffLst); i++ {
- if pesqty >= wss.Wsstab.WorkShiftEffLst[i].PlanPersonLclQty && pesqty <= wss.Wsstab.WorkShiftEffLst[i].PlanPersonUclQty {
- found = true
- eff = wss.Wsstab.WorkShiftEffLst[i].PlanEfficiency
- break
- }
- }
- if !found {
- eff = wss.Wsstab.PlanEfficiency
- }
- return
- }
-
- // 基于人员出勤等级获取效率,默认取班组设置效率
- func (wss *WorkShiftSrv) GetEffByLevel(levelid string) (eff float64) {
- var (
- i int
- found bool
- )
-
- found = false
- for i = 0; i < len(wss.Wsstab.WorkShiftEffLst); i++ {
- if levelid >= wss.Wsstab.WorkShiftEffLst[i].LevelId {
- found = true
- eff = wss.Wsstab.WorkShiftEffLst[i].PlanEfficiency
- break
- }
- }
- if !found {
- eff = wss.Wsstab.PlanEfficiency
- }
- return
- }
|