|
|
package dao
|
|
|
|
|
|
import (
|
|
|
"fmt"
|
|
|
|
|
|
pgTransaction "github.com/linmadan/egglib-go/transaction/pg"
|
|
|
)
|
|
|
|
|
|
type RewardSumaryDao struct {
|
|
|
transactionContext *pgTransaction.TransactionContext
|
|
|
}
|
|
|
|
|
|
func NewRewardSumaryDao(transactionContext *pgTransaction.TransactionContext) (*RewardSumaryDao, error) {
|
|
|
if transactionContext == nil {
|
|
|
return nil, fmt.Errorf("transactionContext参数不能为nil")
|
|
|
} else {
|
|
|
return &RewardSumaryDao{
|
|
|
transactionContext: transactionContext,
|
|
|
}, nil
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// 功过看板-日榜
|
|
|
type RewardSummaryDay struct {
|
|
|
Id int `json:"id"` //id
|
|
|
RecordDateStr string `json:"record_date_str"`
|
|
|
SectionName string `json:"sectionName"` //工段名称
|
|
|
WorkerName string `json:"workerName"` //员工名称
|
|
|
SummaryResult string `json:"summaryResult"` //奖惩结果
|
|
|
YieldResult string `json:"yieldResult"` //产效功过结果
|
|
|
UpToStandardResult string `json:"upToStandardResult"` //合格率功过结果
|
|
|
AccidentResult1 string `json:"accidentResult1"` //质量事故功过结果
|
|
|
AccidentResul2 string `json:"accidentResul2"` //安全事故功过结果
|
|
|
AccidentResul3 string `json:"accidentResul3"` //异物 功过结果
|
|
|
}
|
|
|
|
|
|
// 功过看板-日榜
|
|
|
func (d *RewardSumaryDao) SeachRewardSummaryDay(companyId int, orgId int, recordDate string) ([]RewardSummaryDay, error) {
|
|
|
sqlStr := `SELECT
|
|
|
"id",record_date_str,
|
|
|
work_station->>'sectionName',
|
|
|
worker->>'userName' as worker_name,
|
|
|
summary_result,
|
|
|
yield_result,
|
|
|
up_to_standard_result,
|
|
|
accident_result1,
|
|
|
accident_result2,
|
|
|
accident_result3
|
|
|
FROM "reward_summary"
|
|
|
WHERE company_id=?
|
|
|
and org_id=?
|
|
|
and record_date_str=?`
|
|
|
tx := d.transactionContext.PgTx
|
|
|
var result []RewardSummaryDay
|
|
|
_, err := tx.Query(&result, sqlStr, companyId, orgId, recordDate)
|
|
|
return result, err
|
|
|
}
|
|
|
|
|
|
// 功过看板-产效
|
|
|
type RewardSummaryYield struct {
|
|
|
RecordDateStr string `json:"record_date_str"`
|
|
|
SectionName string `json:"sectionName"` //工段名称
|
|
|
WorkerName string `json:"workerName"` //员工名称
|
|
|
Yield string `json:"yield"` //产效
|
|
|
YieldResult string `json:"yieldResult"` //产效功过结果
|
|
|
YieldMax string `json:"yildMax"` //产效历史最佳
|
|
|
}
|
|
|
|
|
|
// 功过看板-产效
|
|
|
func (d *RewardSumaryDao) SeachRewardSummaryYield(companyId int, orgId int, recordDate string) ([]RewardSummaryYield, error) {
|
|
|
sqlStr := `SELECT
|
|
|
record_date_str,
|
|
|
work_station->>'sectionName',
|
|
|
worker->>'userName' as worker_name,
|
|
|
yield_result,
|
|
|
yield,
|
|
|
"24" as yield_max
|
|
|
FROM "reward_summary"
|
|
|
WHERE company_id=?
|
|
|
and org_id=?
|
|
|
and record_date_str=?`
|
|
|
tx := d.transactionContext.PgTx
|
|
|
var result []RewardSummaryYield
|
|
|
_, err := tx.Query(&result, sqlStr, companyId, orgId, recordDate)
|
|
|
return result, err
|
|
|
|
|
|
}
|
|
|
|
|
|
// 功过看板-合格率
|
|
|
type RewardSummaryUpToStandard struct {
|
|
|
RecordDateStr string `json:"record_date_str"`
|
|
|
SectionName string `json:"sectionName"` //工段名称
|
|
|
WorkerName string `json:"workerName"` //员工名称
|
|
|
UpToStandard string `json:"upToStandard"` //合格率
|
|
|
UpToStandardResult string `json:"upToStandardResult"` //合格率功过结果
|
|
|
UpToStandardMax string `json:"upToStandardMax"` //合格率历史最佳
|
|
|
}
|
|
|
|
|
|
// 功过看板-合格率
|
|
|
func (d *RewardSumaryDao) SeachRewardUpToStandard(companyId int, orgId int, recordDate string) ([]RewardSummaryUpToStandard, error) {
|
|
|
sqlStr := `SELECT
|
|
|
"id",record_date_str,
|
|
|
work_station->>'sectionName',
|
|
|
worker->>'userName' as worker_name,
|
|
|
up_to_standard_result,
|
|
|
up_to_standard,
|
|
|
'90' as up_to_standard_max
|
|
|
FROM "reward_summary"
|
|
|
WHERE company_id=23
|
|
|
and org_id=487
|
|
|
and record_date_str='2022-10-29'`
|
|
|
tx := d.transactionContext.PgTx
|
|
|
var result []RewardSummaryUpToStandard
|
|
|
_, err := tx.Query(&result, sqlStr, companyId, orgId, recordDate)
|
|
|
return result, err
|
|
|
}
|
|
|
|
|
|
// 功过看板-异常
|
|
|
type RewardAccident struct {
|
|
|
RecordDateStr string `json:"record_date_str"`
|
|
|
SectionName string `json:"sectionName"` //工段名称
|
|
|
WorkerName string `json:"workerName"` //员工名称
|
|
|
SummaryResult string `json:"summaryResult"` //奖惩结果
|
|
|
YieldResult string `json:"yieldResult"` //产效功过结果
|
|
|
UpToStandardResult string `json:"upToStandardResult"` //合格率功过结果
|
|
|
AccidentResult1 string `json:"accidentResult1"` //质量事故功过结果
|
|
|
AccidentResul2 string `json:"accidentResul2"` //安全事故功过结果
|
|
|
AccidentResul3 string `json:"accidentResul3"` //异物 功过结果
|
|
|
}
|
|
|
|
|
|
// 功过看板-异常
|
|
|
func (d *RewardSumaryDao) SeachRewardAccident(companyId int, orgId int, recordDate string) ([]RewardAccident, error) {
|
|
|
sqlStr := `SELECT
|
|
|
"id",record_date_str,
|
|
|
work_station->>'sectionName',
|
|
|
worker->>'userName' as worker_name,
|
|
|
up_to_standard_result,
|
|
|
up_to_standard,
|
|
|
'90' as up_to_standard_max
|
|
|
FROM "reward_summary"
|
|
|
WHERE company_id=?
|
|
|
and org_id=?
|
|
|
and record_date_str=?`
|
|
|
tx := d.transactionContext.PgTx
|
|
|
var result []RewardAccident
|
|
|
_, err := tx.Query(&result, sqlStr, companyId, orgId, recordDate)
|
|
|
return result, err
|
|
|
} |
...
|
...
|
|