package limsreportdetelectoxygen import ( "dashoo.cn/backend/api/business/limsreportalertor" "fmt" "strconv" . "dashoo.cn/backend/api/mydb" . "dashoo.cn/utils/db" "dashoo.cn/utils" "github.com/go-xorm/xorm" ) type LimsReportOxygenSessionService struct { MySessionBase } func GetLimsReportOxygenSessionService(xormEngine *xorm.Session) *LimsReportOxygenSessionService { s := new(LimsReportOxygenSessionService) s.Session = xormEngine return s } //获取ben信息 func (s *LimsReportOxygenSessionService) GetAllPagingEntitiesWithOrderBytbl(tblbalance string, tblentry string, pageIndex, itemsPerPage int64, order, where string) (int64, []LimsReportBenModel) { var err error var total int64 if order != "" { order = " order by " + order } //获取总记录数 if where == "" { where = "1=1" } sqlCount := " select count(*) from " + tblentry + " a left join " + tblbalance + " b on a.DocId = b.DataDocId where " + where var sql string sql = ` select a.Id,a.DocKey,a.DocAddress,a.CheckStatus,a.DocId,a.DocType,b.* from ` + tblentry + ` a left join ` + tblbalance + ` b on a.DocId = b.DataDocId where ` + where + order + ` limit ` + utils.ToStr((pageIndex-1)*itemsPerPage) + "," + utils.ToStr(itemsPerPage) + "" fmt.Println(sql) List := make([]LimsReportBenModel, 0) utils.DBE.Sql(sql).Find(&List) resultsSlice, err := s.Session.Query(sqlCount) 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, List } //获取信息 func (s *LimsReportOxygenSessionService) GetEntityByOrderbyWhereMain(tbldataentry, tblalertor, order, dataentryid string) (entity limsreportalertor.LimsAlertorMainModel) { if order != "" { order = " order by " + order } where := "a.Id = "+dataentryid var sql string sql = ` select a.Id DataEntryId, a.TaskId TaskBalanceId, b.Id Id, a.*,b.* from ` + tbldataentry + ` a left join ` + tblalertor + ` b on a.Id = b.DataEntryId where ` + where + order fmt.Println(sql) s.Session.Sql(sql).Get(&entity) return }