Query filters for ratedAccount and ratedSubject

This commit is contained in:
DanB
2014-07-17 20:29:13 +02:00
parent ae78f8fba0
commit 5e75234ede
2 changed files with 76 additions and 27 deletions

View File

@@ -852,6 +852,34 @@ func (self *SQLStorage) GetStoredCdrs(cgrIds, runIds, tors, cdrHosts, cdrSources
}
fltr.Write(qIds.Bytes())
}
if len(ratedAccounts) != 0 {
qIds := bytes.NewBufferString(" (")
for idx, ratedAccount := range ratedAccounts {
if idx != 0 {
qIds.WriteString(" OR")
}
qIds.WriteString(fmt.Sprintf(" %s.account='%s'", utils.TBL_COST_DETAILS, ratedAccount))
}
qIds.WriteString(" )")
if fltr.Len() != 0 {
fltr.WriteString(" AND")
}
fltr.Write(qIds.Bytes())
}
if len(ratedSubjects) != 0 {
qIds := bytes.NewBufferString(" (")
for idx, ratedSubject := range ratedSubjects {
if idx != 0 {
qIds.WriteString(" OR")
}
qIds.WriteString(fmt.Sprintf(" %s.subject='%s'", utils.TBL_COST_DETAILS, ratedSubject))
}
qIds.WriteString(" )")
if fltr.Len() != 0 {
fltr.WriteString(" AND")
}
fltr.Write(qIds.Bytes())
}
if orderIdStart != 0 {
if fltr.Len() != 0 {
fltr.WriteString(" AND")