@ -1,10 +1,10 @@
package models
import (
"errors"
"lapp_-wy/db"
"lapp_-wy/utils"
"xorm.io/core"
"errors"
)
//电梯卡表
@ -128,6 +128,8 @@ type ContractInfo struct {
Contractid string ` json:"contractid" `
Accesscardid string ` json:"accesscardid" `
Unitprice float64 ` json:"unitprice" `
Chargetime string ` json:"chargetime" `
AccesscardidList [ ] string ` json:"accesscardlist" `
Contracttab Contracttab ` json:"contracttab" `
}
@ -135,6 +137,7 @@ type ContractInfo struct {
func ( t * Accesscardtab ) Search ( buildingid string , unit string , room string ) ( ContractInfo , error ) {
//联查
data := ContractInfo { }
accesscardidList := make ( [ ] string , 0 )
var info AccesscardContract
e := db . MasterEngine ( )
query := e . Table ( "accesscardtab" ) . Join ( "LEFT" , "propertytab" , "accesscardtab.propertyid=propertytab.propertyid and accesscardtab.cid=propertytab.cid" ) . Join ( "LEFT" , "propertytypetab" , "accesscardtab.propertytypeid=propertytypetab.propertytypeid and accesscardtab.cid=propertytypetab.cid" ) . Join ( "LEFT" , "contracttab" , "accesscardtab.contractid=contracttab.contractid and accesscardtab.cid=contracttab.cid" ) . Where ( "accesscardtab.cid=? " , t . Cid )
@ -154,6 +157,10 @@ func (t *Accesscardtab) Search(buildingid string, unit string, room string) (Con
if err != nil {
return data , err
}
err = e . Table ( t . TableName ( ) ) . Where ( "cid = ? and propertyid = ?" , t . Cid , t . Propertyid ) . Cols ( "accesscardid" ) . Find ( & accesscardidList )
if err != nil {
return data , err
}
if utils . ValueIsEmpty ( info . Propertytab . Propertyid ) {
data . Propertyid = buildingid + "-" + unit + "-" + room
} else {
@ -174,6 +181,7 @@ func (t *Accesscardtab) Search(buildingid string, unit string, room string) (Con
} else {
data . Buildingid = info . Propertytab . Buildingid
}
data . AccesscardidList = accesscardidList
data . Accesscardid = t . Accesscardid
data . Cid = t . Cid
data . Contractid = info . Propertytab . Contractid