| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package technologyservice
- import (
- "strconv"
- . "dashoo.cn/backend/api/mydb"
- "dashoo.cn/utils"
- . "dashoo.cn/utils/db"
- "github.com/go-xorm/xorm"
- )
- type OilTechnologyServiceService struct {
- MyServiceBase
- }
- func GetOilTechnologyServiceService(xormEngine *xorm.Engine) *OilTechnologyServiceService {
- s := new(OilTechnologyServiceService)
- s.DBE = xormEngine
- return s
- }
- func (s *OilTechnologyServiceService) GetMyPagingEntitiesWithOrderBytbl(tableName string, pageIndex, itemsPerPage int64, order string, asc bool, entitiesPtr interface{}, where ...string) (total int64) {
- var err error
- var resultsSlice []map[string][]byte
- //获取表名
- if len(where) == 0 {
- if asc {
- err = s.DBE.Table(tableName).Limit(int(itemsPerPage), (int(pageIndex)-1)*int(itemsPerPage)).Asc(order).Find(entitiesPtr)
- } else {
- err = s.DBE.Table(tableName).Limit(int(itemsPerPage), (int(pageIndex)-1)*int(itemsPerPage)).Desc(order).Find(entitiesPtr)
- }
- //获取总记录数
- sql := "SELECT COUNT(*) AS total FROM " + tableName
- resultsSlice, err = s.DBE.Query(sql)
- } else {
- if asc {
- err = s.DBE.Table(tableName).Where(where[0]).Limit(int(itemsPerPage), (int(pageIndex)-1)*int(itemsPerPage)).Asc(order).Find(entitiesPtr)
- } else {
- err = s.DBE.Table(tableName).Where(where[0]).Limit(int(itemsPerPage), (int(pageIndex)-1)*int(itemsPerPage)).Desc(order).Find(entitiesPtr)
- }
- sql := "SELECT COUNT(*) AS total FROM " + tableName + " where " + where[0]
- resultsSlice, err = s.DBE.Query(sql)
- }
- //LogError(err)
- if len(resultsSlice) > 0 {
- results := resultsSlice[0]
- for _, value := range results {
- total, err = strconv.ParseInt(string(value), 10, 64)
- LogError(err)
- break
- }
- }
- return total
- }
- func (s *OilTechnologyServiceService) GetTechList(techclass, where string) []TechnologyBusiness {
- if where == "" {
- where = " 1=1 "
- }
- var sql string
- sql = `select Id, Code, Name, concat(Code, ' ', Name) as CodeName, ParentId, Remark, DeletionStateCode
- from ` + techclass + ` where ` + where + ` order by Code asc `
- List := make([]TechnologyBusiness, 0)
- utils.DBE.Sql(sql).Find(&List)
- return List
- }
|