2
3

oiltechnologyserviceService.go 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package technologyservice
  2. import (
  3. "strconv"
  4. . "dashoo.cn/backend/api/mydb"
  5. "dashoo.cn/utils"
  6. . "dashoo.cn/utils/db"
  7. "github.com/go-xorm/xorm"
  8. )
  9. type OilTechnologyServiceService struct {
  10. MyServiceBase
  11. }
  12. func GetOilTechnologyServiceService(xormEngine *xorm.Engine) *OilTechnologyServiceService {
  13. s := new(OilTechnologyServiceService)
  14. s.DBE = xormEngine
  15. return s
  16. }
  17. func (s *OilTechnologyServiceService) GetMyPagingEntitiesWithOrderBytbl(tableName string, pageIndex, itemsPerPage int64, order string, asc bool, entitiesPtr interface{}, where ...string) (total int64) {
  18. var err error
  19. var resultsSlice []map[string][]byte
  20. //获取表名
  21. if len(where) == 0 {
  22. if asc {
  23. err = s.DBE.Table(tableName).Limit(int(itemsPerPage), (int(pageIndex)-1)*int(itemsPerPage)).Asc(order).Find(entitiesPtr)
  24. } else {
  25. err = s.DBE.Table(tableName).Limit(int(itemsPerPage), (int(pageIndex)-1)*int(itemsPerPage)).Desc(order).Find(entitiesPtr)
  26. }
  27. //获取总记录数
  28. sql := "SELECT COUNT(*) AS total FROM " + tableName
  29. resultsSlice, err = s.DBE.Query(sql)
  30. } else {
  31. if asc {
  32. err = s.DBE.Table(tableName).Where(where[0]).Limit(int(itemsPerPage), (int(pageIndex)-1)*int(itemsPerPage)).Asc(order).Find(entitiesPtr)
  33. } else {
  34. err = s.DBE.Table(tableName).Where(where[0]).Limit(int(itemsPerPage), (int(pageIndex)-1)*int(itemsPerPage)).Desc(order).Find(entitiesPtr)
  35. }
  36. sql := "SELECT COUNT(*) AS total FROM " + tableName + " where " + where[0]
  37. resultsSlice, err = s.DBE.Query(sql)
  38. }
  39. //LogError(err)
  40. if len(resultsSlice) > 0 {
  41. results := resultsSlice[0]
  42. for _, value := range results {
  43. total, err = strconv.ParseInt(string(value), 10, 64)
  44. LogError(err)
  45. break
  46. }
  47. }
  48. return total
  49. }
  50. func (s *OilTechnologyServiceService) GetTechList(techclass, where string) []TechnologyBusiness {
  51. if where == "" {
  52. where = " 1=1 "
  53. }
  54. var sql string
  55. sql = `select Id, Code, Name, concat(Code, ' ', Name) as CodeName, ParentId, Remark, DeletionStateCode
  56. from ` + techclass + ` where ` + where + ` order by Code asc `
  57. List := make([]TechnologyBusiness, 0)
  58. utils.DBE.Sql(sql).Find(&List)
  59. return List
  60. }