package core

import "github.com/linlexing/dbx/common"

func queryDept(db common.Queryer, where, order string, args ...interface{}) ([]*Dept, error) {
	strSQL := `select code,name,dlevel from dept`
	if len(where) > 0 {
		strSQL += " where " + where
	}
	if len(order) > 0 {
		strSQL += " order by " + order
	}
	rows, err := db.Query(strSQL, args...)
	if err != nil {
		return nil, err
	}
	defer rows.Close()
	rev := []*Dept{}
	for rows.Next() {
		oneDept := &Dept{}
		if err := rows.Scan(&oneDept.Code, &oneDept.Name, &oneDept.Level); err != nil {
			return nil, err
		}
		rev = append(rev, oneDept)
	}
	return rev, nil
}
