diff --git a/web/models/accesscardtab.go b/web/models/accesscardtab.go index a35ab99..18cd703 100644 --- a/web/models/accesscardtab.go +++ b/web/models/accesscardtab.go @@ -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