3
2

limsreportdetelectoxygenSessionService.go 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package limsreportdetelectoxygen
  2. import (
  3. "dashoo.cn/backend/api/business/limsreportalertor"
  4. "fmt"
  5. "strconv"
  6. . "dashoo.cn/backend/api/mydb"
  7. . "dashoo.cn/utils/db"
  8. "dashoo.cn/utils"
  9. "github.com/go-xorm/xorm"
  10. )
  11. type LimsReportOxygenSessionService struct {
  12. MySessionBase
  13. }
  14. func GetLimsReportOxygenSessionService(xormEngine *xorm.Session) *LimsReportOxygenSessionService {
  15. s := new(LimsReportOxygenSessionService)
  16. s.Session = xormEngine
  17. return s
  18. }
  19. //获取ben信息
  20. func (s *LimsReportOxygenSessionService) GetAllPagingEntitiesWithOrderBytbl(tblbalance string, tblentry string, pageIndex, itemsPerPage int64, order, where string) (int64, []LimsReportBenModel) {
  21. var err error
  22. var total int64
  23. if order != "" {
  24. order = " order by " + order
  25. }
  26. //获取总记录数
  27. if where == "" {
  28. where = "1=1"
  29. }
  30. sqlCount := " select count(*) from " + tblentry + " a left join " + tblbalance + " b on a.DocId = b.DataDocId where " + where
  31. var sql string
  32. sql = ` select a.Id,a.DocKey,a.DocAddress,a.CheckStatus,a.DocId,a.DocType,b.* from
  33. ` + tblentry + ` a left join ` + tblbalance + ` b on a.DocId = b.DataDocId where ` + where + order + `
  34. limit ` + utils.ToStr((pageIndex-1)*itemsPerPage) + "," + utils.ToStr(itemsPerPage) + ""
  35. fmt.Println(sql)
  36. List := make([]LimsReportBenModel, 0)
  37. utils.DBE.Sql(sql).Find(&List)
  38. resultsSlice, err := s.Session.Query(sqlCount)
  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, List
  49. }
  50. //获取信息
  51. func (s *LimsReportOxygenSessionService) GetEntityByOrderbyWhereMain(tbldataentry, tblalertor, order, dataentryid string) (entity limsreportalertor.LimsAlertorMainModel) {
  52. if order != "" {
  53. order = " order by " + order
  54. }
  55. where := "a.Id = "+dataentryid
  56. var sql string
  57. sql = ` select a.Id DataEntryId, a.TaskId TaskBalanceId, b.Id Id, a.*,b.* from
  58. ` + tbldataentry + ` a left join ` + tblalertor + ` b on a.Id = b.DataEntryId where ` + where + order
  59. fmt.Println(sql)
  60. s.Session.Sql(sql).Get(&entity)
  61. return
  62. }