From 7922d864a5c862573513e1422a84d48402e99bdb Mon Sep 17 00:00:00 2001 From: zhangxin Date: Tue, 30 Mar 2021 14:31:11 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E8=BD=A6=E4=BD=8D=E8=B4=B9=E8=BF=94=E5=9B=9E=E8=AF=A5=E4=B8=9A?= =?UTF-8?q?=E4=B8=BB=E6=89=80=E6=9C=89=E8=BD=A6=E4=BD=8Did=E7=9A=84?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/controllers/carporttab_controller.go | 3 +++ web/models/accesscardtab.go | 1 + web/models/carporttab.go | 13 ++++++++++++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/web/controllers/carporttab_controller.go b/web/controllers/carporttab_controller.go index 963a970..2ab9ef5 100644 --- a/web/controllers/carporttab_controller.go +++ b/web/controllers/carporttab_controller.go @@ -194,6 +194,9 @@ func SearchCarporttab(ctx iris.Context) { buildingid := ctx.URLParam("buildingid") unit := ctx.URLParam("unit") room := ctx.URLParam("room") + if me.Propertyid == "" { + me.Propertyid = buildingid + "-" + unit + "-" + room + } data, err := me.Search(buildingid, unit, room) if err != nil { glog.InfoExt("缴费","查询车位费:%v",err) diff --git a/web/models/accesscardtab.go b/web/models/accesscardtab.go index 239881d..801d88c 100644 --- a/web/models/accesscardtab.go +++ b/web/models/accesscardtab.go @@ -130,6 +130,7 @@ type ContractInfo struct { Unitprice float64 `json:"unitprice"` Chargetime string `json:"chargetime"` AccesscardidList []string `json:"accesscardlist"` + CarportidList []string `json:"carportidlist"` Contracttab Contracttab `json:"contracttab"` } diff --git a/web/models/carporttab.go b/web/models/carporttab.go index 30488d6..2adda8a 100644 --- a/web/models/carporttab.go +++ b/web/models/carporttab.go @@ -113,9 +113,10 @@ type CarporttabContract struct { func (t *Carporttab) Search(buildingid string, unit string, room string) (ContractInfo, error) { //联查 data := ContractInfo{} + carPortIdList := make([]string, 0) var info CarporttabContract e := db.MasterEngine() - query := e.Table("carporttab").Join("LEFT", "propertytab", "carporttab.propertyid=propertytab.propertyid and carporttab.cid=propertytab.cid").Join("LEFT", "propertytypetab", "carporttab.propertytypeid=propertytypetab.propertytypeid and carporttab.cid=propertytypetab.cid").Join("LEFT", "contracttab", "carporttab.contractid=contracttab.contractid and carporttab.cid=contracttab.cid").Where("carporttab.cid = ?", t.Cid) + query := e.Table("carporttab").Join("RIGHT", "propertytab", "carporttab.propertyid=propertytab.propertyid and carporttab.cid=propertytab.cid").Join("LEFT", "propertytypetab", "carporttab.propertytypeid=propertytypetab.propertytypeid and carporttab.cid=propertytypetab.cid").Join("LEFT", "contracttab", "carporttab.contractid=contracttab.contractid and carporttab.cid=contracttab.cid").Where("propertytab.cid = ?", t.Cid) if !utils.ValueIsEmpty(buildingid){ query = query.And("propertytab.buildingid = ?",buildingid) } @@ -128,10 +129,19 @@ func (t *Carporttab) Search(buildingid string, unit string, room string) (Contra if !utils.ValueIsEmpty(t.Carportid){ query = query.And("carporttab.carportid = ?",t.Carportid) } + if utils.ValueIsEmpty(info.Propertytab.Propertyid) { + data.Propertyid = buildingid + "-" + unit + "-" + room + } else { + data.Propertyid = info.Propertytab.Propertyid + } _, err := query.Get(&info) if err != nil { return data, err } + err = e.Table(t.TableName()).Where("cid = ? and propertyid = ?", t.Cid, t.Propertyid).Cols("carportid").Find(&carPortIdList) + if err != nil { + return data, err + } data.Propertyid = info.Propertytab.Propertyid data.Carportid = info.Carporttab.Carportid data.Cid = info.Propertytab.Cid @@ -147,5 +157,6 @@ func (t *Carporttab) Search(buildingid string, unit string, room string) (Contra data.Unitprice = info.Propertytypetab.Unitprice data.Contracttab = info.Contracttab data.Chargetype = 3 + data.CarportidList = carPortIdList return data, err } From 21ba39883307d876bda1156a6ed06a41adfdbd27 Mon Sep 17 00:00:00 2001 From: zhangxin Date: Thu, 1 Apr 2021 14:31:46 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=A1=AB=E5=85=A5?= =?UTF-8?q?=E8=BD=A6=E4=BD=8D=E5=8F=B7=E7=BC=B4=E8=B4=B9=E4=B9=8B=E5=90=8E?= =?UTF-8?q?=E6=8A=8A=E8=BD=A6=E4=BD=8D=E5=8F=B7=E5=AD=98=E5=85=A5=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=EF=BC=8C=E4=BF=AE=E5=A4=8D=E6=9F=A5=E4=B8=8D?= =?UTF-8?q?=E5=88=B0=E4=B8=9A=E4=B8=BB=E4=BF=A1=E6=81=AF=E5=92=8C=E7=BC=B4?= =?UTF-8?q?=E8=B4=B9=E9=87=91=E9=A2=9D=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/controllers/contracttab_controller.go | 16 +++ web/models/carporttab.go | 121 ++++++++++++++-------- 2 files changed, 96 insertions(+), 41 deletions(-) diff --git a/web/controllers/contracttab_controller.go b/web/controllers/contracttab_controller.go index bc17e65..c0c0011 100644 --- a/web/controllers/contracttab_controller.go +++ b/web/controllers/contracttab_controller.go @@ -62,6 +62,7 @@ func InsertContracttab(ctx iris.Context) { access.Createtime = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") access.Lastmodifytime = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") access.Descr = "电梯卡费" + access.Lastmodifyby = user.Userid err := access.Add() if err != nil { supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil) @@ -69,6 +70,21 @@ func InsertContracttab(ctx iris.Context) { } case 3: lengthdate = data.Contracttab.Chargedexpense / data.Unitprice + carport := new(models.Carporttab) + carport.Cid = user.Pid + carport.Carportid = data.Carportid + carport.Descr = "车位费" + carport.Status = 1 + carport.Propertyid = data.Propertyid + carport.Propertytypeid = "车位费" + carport.Createtime = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") + carport.Lastmodifytime = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") + carport.Lastmodifyby = user.Userid + err := carport.Add() + if err != nil { + supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil) + return + } default: lengthdate = data.Contracttab.Chargedexpense / data.Unitprice } diff --git a/web/models/carporttab.go b/web/models/carporttab.go index 2adda8a..bcc9719 100644 --- a/web/models/carporttab.go +++ b/web/models/carporttab.go @@ -92,7 +92,7 @@ func (t *Carporttab) GetPage(pageSize int, pageIndex int) ([]Carporttab, int, er table = table.And("descr like ?", descr) } Offset := (pageIndex - 1) * pageSize - err := query.Limit(pageSize,Offset).Desc("createtime").Find(&data) + err := query.Limit(pageSize, Offset).Desc("createtime").Find(&data) pcount := new(Carporttab) count, err := table.Count(pcount) @@ -108,55 +108,94 @@ type CarporttabContract struct { Propertytypetab `xorm:"extends"` Contracttab `xorm:"extends"` } - +type CarporttabInfo struct { + Propertytab `xorm:"extends"` + Propertytypetab `xorm:"extends"` +} //车位费查询 -func (t *Carporttab) Search(buildingid string, unit string, room string) (ContractInfo, error) { +func (t *Carporttab) Search(buildingid string, unit string, room string) (data ContractInfo, err error) { //联查 - data := ContractInfo{} - carPortIdList := make([]string, 0) - var info CarporttabContract + e := db.MasterEngine() - query := e.Table("carporttab").Join("RIGHT", "propertytab", "carporttab.propertyid=propertytab.propertyid and carporttab.cid=propertytab.cid").Join("LEFT", "propertytypetab", "carporttab.propertytypeid=propertytypetab.propertytypeid and carporttab.cid=propertytypetab.cid").Join("LEFT", "contracttab", "carporttab.contractid=contracttab.contractid and carporttab.cid=contracttab.cid").Where("propertytab.cid = ?", t.Cid) - if !utils.ValueIsEmpty(buildingid){ - query = query.And("propertytab.buildingid = ?",buildingid) - } - if !utils.ValueIsEmpty(unit){ - query = query.And("propertytab.unit = ?",unit) - } - if !utils.ValueIsEmpty(room){ - query = query.And("propertytab.room = ?",room) - } - if !utils.ValueIsEmpty(t.Carportid){ - query = query.And("carporttab.carportid = ?",t.Carportid) - } - if utils.ValueIsEmpty(info.Propertytab.Propertyid) { - data.Propertyid = buildingid + "-" + unit + "-" + room + if !utils.ValueIsEmpty(t.Carportid) { + var info CarporttabContract + query := e.Table("carporttab").Join("RIGHT", "propertytab", "carporttab.propertyid=propertytab.propertyid and carporttab.cid=propertytab.cid").Join("LEFT", "propertytypetab", "carporttab.propertytypeid=propertytypetab.propertytypeid and carporttab.cid=propertytypetab.cid").Join("LEFT", "contracttab", "carporttab.contractid=contracttab.contractid and carporttab.cid=contracttab.cid").Where("carporttab.cid = ?", t.Cid) + if !utils.ValueIsEmpty(buildingid) { + query = query.And("propertytab.buildingid = ?", buildingid) + } + if !utils.ValueIsEmpty(unit) { + query = query.And("propertytab.unit = ?", unit) + } + if !utils.ValueIsEmpty(room) { + query = query.And("propertytab.room = ?", room) + } + if !utils.ValueIsEmpty(t.Carportid) { + query = query.And("carporttab.carportid = ?", t.Carportid) + } + if utils.ValueIsEmpty(info.Propertytab.Propertyid) { + data.Propertyid = buildingid + "-" + unit + "-" + room + } else { + data.Propertyid = info.Propertytab.Propertyid + } + _, err = query.Get(&info) + if err != nil { + return data, err + } + data.Propertyid = info.Propertytab.Propertyid + data.Carportid = info.Carporttab.Carportid + data.Cid = info.Propertytab.Cid + data.Room = info.Propertytab.Room + data.Unit = info.Unit + data.Buildingid = info.Propertytab.Buildingid + data.Contractid = info.Propertytab.Contractid + data.Descr = info.Propertytab.Descr + data.Contact = info.Propertytab.Contact + data.Phone1 = info.Propertytab.Phone1 + data.Phone2 = info.Propertytab.Phone2 + data.Constructionarea = info.Propertytab.Constructionarea + data.Unitprice = info.Propertytypetab.Unitprice + data.Contracttab = info.Contracttab + data.Chargetype = 3 } else { + var info CarporttabInfo + query := e.Table("propertytab").Join("LEFT", "propertytypetab", "propertytab.cid=propertytypetab.cid").Where("propertytab.cid = ? and propertytypetab.propertytypeid = ?", t.Cid, "车位费") + if !utils.ValueIsEmpty(buildingid) { + query = query.And("propertytab.buildingid = ?", buildingid) + } + if !utils.ValueIsEmpty(unit) { + query = query.And("propertytab.unit = ?", unit) + } + if !utils.ValueIsEmpty(room) { + query = query.And("propertytab.room = ?", room) + } + if utils.ValueIsEmpty(info.Propertytab.Propertyid) { + data.Propertyid = buildingid + "-" + unit + "-" + room + } else { + data.Propertyid = info.Propertytab.Propertyid + } + _, err = query.Get(&info) + if err != nil { + return data, err + } data.Propertyid = info.Propertytab.Propertyid + data.Cid = info.Propertytab.Cid + data.Room = info.Propertytab.Room + data.Unit = info.Unit + data.Buildingid = info.Propertytab.Buildingid + data.Contractid = info.Propertytab.Contractid + data.Descr = info.Propertytab.Descr + data.Contact = info.Propertytab.Contact + data.Phone1 = info.Propertytab.Phone1 + data.Phone2 = info.Propertytab.Phone2 + data.Constructionarea = info.Propertytab.Constructionarea + data.Unitprice = info.Propertytypetab.Unitprice + data.Chargetype = 3 } - _, err := query.Get(&info) - if err != nil { - return data, err - } + carPortIdList := make([]string, 0) err = e.Table(t.TableName()).Where("cid = ? and propertyid = ?", t.Cid, t.Propertyid).Cols("carportid").Find(&carPortIdList) if err != nil { return data, err } - data.Propertyid = info.Propertytab.Propertyid - data.Carportid = info.Carporttab.Carportid - data.Cid = info.Propertytab.Cid - data.Room = info.Propertytab.Room - data.Unit = info.Unit - data.Buildingid = info.Propertytab.Buildingid - data.Contractid = info.Propertytab.Contractid - data.Descr = info.Propertytab.Descr - data.Contact = info.Propertytab.Contact - data.Phone1 = info.Propertytab.Phone1 - data.Phone2 = info.Propertytab.Phone2 - data.Constructionarea = info.Propertytab.Constructionarea - data.Unitprice = info.Propertytypetab.Unitprice - data.Contracttab = info.Contracttab - data.Chargetype = 3 data.CarportidList = carPortIdList - return data, err + return data, nil }