|
@@ -2,8 +2,8 @@ package ii
|
|
|
|
|
|
import (
|
|
|
"strings"
|
|
|
-
|
|
|
- "git.simanc.com/software/golib/v4/v4/features/mo"
|
|
|
+
|
|
|
+ "git.simanc.com/software/golib/v4/features/mo"
|
|
|
)
|
|
|
|
|
|
func (f *FieldInfo) HasLookup(asName string) (*Lookup, bool) {
|
|
@@ -31,9 +31,9 @@ func (f *FieldInfo) ArgLookup(lookup *Lookup) *mo.Looker {
|
|
|
l.SetLocalField(f.Name)
|
|
|
l.SetForeignField(lookup.ForeignField)
|
|
|
l.SetAs(lookup.AS)
|
|
|
-
|
|
|
+
|
|
|
pipe := mo.Pipeline{}
|
|
|
-
|
|
|
+
|
|
|
if len(f.Fields) > 0 {
|
|
|
p := mo.Projects{}
|
|
|
for _, field := range f.Fields {
|
|
@@ -41,18 +41,18 @@ func (f *FieldInfo) ArgLookup(lookup *Lookup) *mo.Looker {
|
|
|
}
|
|
|
pipe = append(pipe, p.Pipeline())
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
if lookup.SUM != "" {
|
|
|
group := mo.Grouper{}
|
|
|
group.Add(mo.OID, nil)
|
|
|
group.Add(lookup.SUM, mo.D{{Key: mo.OptSum, Value: "$" + lookup.SUM}})
|
|
|
pipe = append(pipe, group.Pipeline())
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
if !lookup.List {
|
|
|
pipe = append(pipe, mo.NewLimiter(1).Pipeline())
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
l.SetPipe(pipe)
|
|
|
return l
|
|
|
}
|