diff --git a/db/db.go b/db/db.go index f51f532..478b585 100644 --- a/db/db.go +++ b/db/db.go @@ -41,7 +41,7 @@ func MasterEngine() *xorm.Engine { c.User, c.Pwd, c.Host, c.Port, c.DbName) engine, err := xorm.NewEngine(conf.DriverName, driveSource) //开启sql,debug - //engine.ShowSQL(true) + engine.ShowSQL(true) if err != nil { log.Fatal("dbhelper.DbinstanceMaster error= ", err) return nil diff --git a/web/controllers/accesscardtab_controller.go b/web/controllers/accesscardtab_controller.go index 8aff496..bff85d8 100644 --- a/web/controllers/accesscardtab_controller.go +++ b/web/controllers/accesscardtab_controller.go @@ -40,6 +40,7 @@ func GetAccesscardtabList(ctx iris.Context) { } data.Cid = user.Pid data.Descr = ctx.URLParam("descr") + data.Accesscardid = ctx.URLParam("accesscardid") result, count, err := data.GetPage(pageSize, pageIndex) if err != nil { supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil) diff --git a/web/controllers/carporttab_controller.go b/web/controllers/carporttab_controller.go index fdcbf78..a8ec299 100644 --- a/web/controllers/carporttab_controller.go +++ b/web/controllers/carporttab_controller.go @@ -12,7 +12,7 @@ import ( func GetCarporttabList(ctx iris.Context) { user, ok := jwts.ParseToken(ctx) - utils.TrimStruct(user,*user) + utils.TrimStruct(user, *user) if !ok { supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) return @@ -24,7 +24,7 @@ func GetCarporttabList(ctx iris.Context) { logs.Function = "GetCarporttabList" logs.Message = "车位列表查看" logs.Operator = user.Userid - logs.TimeStamp = utils.TimeFormat(time.Now(),"yyyyMMddHHmmss") + logs.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") logs.InsertRecord() var data models.Carporttab var err error @@ -40,6 +40,7 @@ func GetCarporttabList(ctx iris.Context) { } data.Cid = user.Pid data.Descr = ctx.URLParam("descr") + data.Carportid = ctx.URLParam("carportid") result, count, err := data.GetPage(pageSize, pageIndex) if err != nil { supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil) @@ -55,7 +56,7 @@ func GetCarporttabList(ctx iris.Context) { func GetCarporttab(ctx iris.Context) { user, ok := jwts.ParseToken(ctx) - utils.TrimStruct(user,*user) + utils.TrimStruct(user, *user) if !ok { supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) return @@ -64,7 +65,7 @@ func GetCarporttab(ctx iris.Context) { me.Cid = user.Pid me.Carportid = ctx.URLParam("carportid") result, err := me.SelectOne() - if err !=nil{ + if err != nil { supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil) return } @@ -73,7 +74,7 @@ func GetCarporttab(ctx iris.Context) { func InsertCarporttab(ctx iris.Context) { user, ok := jwts.ParseToken(ctx) - utils.TrimStruct(user,*user) + utils.TrimStruct(user, *user) if !ok { supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) return @@ -85,12 +86,12 @@ func InsertCarporttab(ctx iris.Context) { logs.Function = "InsertCarporttab" logs.Message = "添加车位" logs.Operator = user.Userid - logs.TimeStamp = utils.TimeFormat(time.Now(),"yyyyMMddHHmmss") + logs.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") logs.InsertRecord() data := new(models.Carporttab) data.Lastmodifyby = user.Userid - data.Createtime = utils.TimeFormat(time.Now(),"yyyyMMddHHmmss") - data.Lastmodifytime = utils.TimeFormat(time.Now(),"yyyyMMddHHmmss") + data.Createtime = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") + data.Lastmodifytime = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") if err := ctx.ReadJSON(data); err != nil { logs := new(models.LeitServerLog) logs.File = "/controllers/Carporttab_controller.go" @@ -98,15 +99,15 @@ func InsertCarporttab(ctx iris.Context) { logs.Function = "InsertCarporttab" logs.Message = error.Error(err) logs.Operator = user.Userid - logs.TimeStamp = utils.TimeFormat(time.Now(),"yyyyMMddHHmmss") + logs.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") logs.InsertRecord() supports.Error(ctx, iris.StatusBadRequest, "json解析错误", nil) return } data.Cid = user.Pid err := data.Add() - if err != nil{ - supports.Error(ctx, iris.StatusBadRequest,"添加失败!" + err.Error(), nil) + if err != nil { + supports.Error(ctx, iris.StatusBadRequest, "添加失败!"+err.Error(), nil) return } supports.Ok(ctx, supports.OptionSuccess, data) @@ -114,7 +115,7 @@ func InsertCarporttab(ctx iris.Context) { func UpdateCarporttab(ctx iris.Context) { user, ok := jwts.ParseToken(ctx) - utils.TrimStruct(user,*user) + utils.TrimStruct(user, *user) if !ok { supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) return @@ -126,7 +127,7 @@ func UpdateCarporttab(ctx iris.Context) { logs.Function = "UpdateCarporttab" logs.Message = "更新车位" logs.Operator = user.Userid - logs.TimeStamp = utils.TimeFormat(time.Now(),"yyyyMMddHHmmss") + logs.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") logs.InsertRecord() data := new(models.Carporttab) if err := ctx.ReadJSON(data); err != nil { @@ -135,8 +136,8 @@ func UpdateCarporttab(ctx iris.Context) { } data.Lastmodifyby = user.Userid data.Cid = user.Pid - res:= data.Update() - if !res{ + res := data.Update() + if !res { supports.Error(ctx, iris.StatusBadRequest, "更新失败", nil) return } @@ -146,7 +147,7 @@ func UpdateCarporttab(ctx iris.Context) { func DeleteCarporttab(ctx iris.Context) { user, ok := jwts.ParseToken(ctx) - utils.TrimStruct(user,*user) + utils.TrimStruct(user, *user) if !ok { supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) return @@ -158,9 +159,9 @@ func DeleteCarporttab(ctx iris.Context) { logs.Function = "DeleteCarporttab" logs.Message = "删除车位" logs.Operator = user.Userid - logs.TimeStamp = utils.TimeFormat(time.Now(),"yyyyMMddHHmmss") + logs.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") logs.InsertRecord() - me:=new(models.Carporttab) + me := new(models.Carporttab) me.Cid = user.Pid me.Carportid = ctx.URLParam("carportid") res := me.Del() @@ -173,7 +174,7 @@ func DeleteCarporttab(ctx iris.Context) { func SearchCarporttab(ctx iris.Context) { user, ok := jwts.ParseToken(ctx) - utils.TrimStruct(user,*user) + utils.TrimStruct(user, *user) if !ok { supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) return @@ -185,15 +186,15 @@ func SearchCarporttab(ctx iris.Context) { logs.Function = "SearchCarporttab" logs.Message = "查询车位费" logs.Operator = user.Userid - logs.TimeStamp = utils.TimeFormat(time.Now(),"yyyyMMddHHmmss") + logs.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") logs.InsertRecord() - me:=new(models.Carporttab) + me := new(models.Carporttab) me.Cid = user.Pid me.Carportid = ctx.URLParam("carportid") data, err := me.Search() if err != nil { - glog.InfoExt("缴费","查询车位费:%v",err) - supports.Error(ctx, iris.StatusBadRequest, "查询失败, error: "+ err.Error(), nil) + glog.InfoExt("缴费", "查询车位费:%v", err) + supports.Error(ctx, iris.StatusBadRequest, "查询失败, error: "+err.Error(), nil) return } supports.Ok(ctx, "查询成功", data) diff --git a/web/controllers/contracttab_controller.go b/web/controllers/contracttab_controller.go index 1cad2fe..5166b5d 100644 --- a/web/controllers/contracttab_controller.go +++ b/web/controllers/contracttab_controller.go @@ -95,6 +95,14 @@ func InsertContracttab(ctx iris.Context) { *lengthdate : 缴费时长 **************/ lengthdate := data.Contracttab.Chargedexpense / data.Unitprice + if utils.ValueIsEmpty(data.Propertyid) || data.Propertyid == "--"{ + supports.Error(ctx, iris.StatusBadRequest, "房间号录入错误", nil) + return + } + if utils.ValueIsEmpty(data.Accesscardid) { + supports.Error(ctx, iris.StatusBadRequest, "电梯卡号不能为空!", nil) + return + } //判断是否 access := new(models.Accesscardtab) access.Cid = user.Pid @@ -354,6 +362,7 @@ func ExcelContracttab(ctx iris.Context) { me.Chargetime = strings.TrimSpace(tt3) me.Createtime = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") me.Createby = utils.ValueToString(v[4], "") + me.Enddate = strings.TrimSpace(tt2) //lengthdays := utils.TimeSub(t2, t1) //lengthday := utils.ValueToFloat(lengthdays, 0.0) / 30 @@ -385,6 +394,7 @@ func ExcelContracttab(ctx iris.Context) { glog.InfoExtln("导入合同", "lengthdays", lengthdays) glog.InfoExtln("导入合同", "Lengthdate", me.Lengthdate) data.Chargetime = me.Chargetime + me.Contractid = infodata.Contractid if utils.ValueIsEmpty(infodata.Contractid) { err = me.Add(data) } else { diff --git a/web/controllers/otherchargetab_controller.go b/web/controllers/otherchargetab_controller.go index ed82e4f..7204857 100644 --- a/web/controllers/otherchargetab_controller.go +++ b/web/controllers/otherchargetab_controller.go @@ -77,7 +77,6 @@ func InsertOtherchargetab(ctx iris.Context) { return } data.Cid = user.Pid - data.Createtime = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") if utils.ValueIsEmpty(data.Chargestartdate){ data.Chargestartdate = utils.TimeFormat(time.Now(), "yyyyMMdd") } @@ -105,6 +104,7 @@ func GetOtherchargetab(ctx iris.Context) { me.Contact = ctx.URLParam("contact") me.Category = ctx.URLParam("category") me.Remark = ctx.URLParam("remark") + me.Serialnumber = ctx.URLParam("serialnumber") result, err := me.SelectOne() if err != nil { supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil) diff --git a/web/controllers/snrtab_controller.go b/web/controllers/snrtab_controller.go index 49efc77..d05b54d 100644 --- a/web/controllers/snrtab_controller.go +++ b/web/controllers/snrtab_controller.go @@ -167,3 +167,22 @@ func DeleteSnrtab(ctx iris.Context) { } supports.Ok(ctx, "删除成功", "") } + +func GetNextSnrtab(ctx iris.Context) { + user, ok := jwts.ParseToken(ctx) + utils.TrimStruct(user, *user) + if !ok { + supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) + return + } + var me models.Snrtab + snrid:= ctx.URLParam("snrid") + me.Cid = user.Pid + me.Snrid = snrid + result, err := me.GetNextSnr(snrid) + if err !=nil{ + supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil) + return + } + supports.Ok(ctx, supports.OptionSuccess, result) +} \ No newline at end of file diff --git a/web/models/accesscardtab.go b/web/models/accesscardtab.go index 333dabb..be74d7a 100644 --- a/web/models/accesscardtab.go +++ b/web/models/accesscardtab.go @@ -85,6 +85,12 @@ func (t *Accesscardtab) GetPage(pageSize int, pageIndex int) ([]Accesscardtab, i query := e.Table("accesscardtab").Where("cid = ? ", t.Cid) table := e.Table("accesscardtab").Where("cid = ? ", t.Cid) + + if !utils.ValueIsEmpty(t.Accesscardid) { + query = query.And("accesscardid = ?", t.Accesscardid) + table = table.And("accesscardid = ?", t.Accesscardid) + } + if !utils.ValueIsEmpty(t.Descr) { descr := "%" + t.Descr + "%" query = query.And("descr like ?", descr) diff --git a/web/models/carporttab.go b/web/models/carporttab.go index d1db109..4d053ad 100644 --- a/web/models/carporttab.go +++ b/web/models/carporttab.go @@ -100,6 +100,10 @@ func (t *Carporttab) GetPage(pageSize int, pageIndex int) ([]Carporttab, int, er query := e.Table("carporttab").Where("cid = ? ", t.Cid) table := e.Table("carporttab").Where("cid = ? ", t.Cid) + if !utils.ValueIsEmpty(t.Carportid) { + query = query.And("carportid = ?", t.Carportid) + table = table.And("carportid = ?", t.Carportid) + } if !utils.ValueIsEmpty(t.Descr) { descr := "%" + t.Descr + "%" query = query.And("descr like ?", descr) diff --git a/web/models/chargetab.go b/web/models/chargetab.go index afad126..b727d49 100644 --- a/web/models/chargetab.go +++ b/web/models/chargetab.go @@ -621,7 +621,7 @@ func (t *Chargetab) ReadData(startDate string, searchtime string) ([]ChargeUsers query = query.And("contracttab.enddate < ?", searchtime) } if !utils.ValueIsEmpty(startDate) { - query = query.And("contracttab.enddate > ?", startDate) + query = query.And("contracttab.enddate < ?", startDate) } query = query.And("contracttab.chargetype = ?", 1) err := query.Desc("contracttab.createtime").Find(&data) @@ -642,7 +642,7 @@ func (t *Chargetab) ReadData(startDate string, searchtime string) ([]ChargeUsers query = query.And("contracttab.enddate < ?", searchtime) } if !utils.ValueIsEmpty(startDate) { - query = query.And("contracttab.enddate > ?", startDate) + query = query.And("contracttab.enddate < ?", startDate) } query = query.And("contracttab.chargetype = ?", 2) err := query.Desc("contracttab.createtime").Find(&data) @@ -664,7 +664,7 @@ func (t *Chargetab) ReadData(startDate string, searchtime string) ([]ChargeUsers query = query.And("contracttab.enddate < ?", searchtime) } if !utils.ValueIsEmpty(startDate) { - query = query.And("contracttab.enddate > ?", startDate) + query = query.And("contracttab.enddate < ?", startDate) } query = query.And("contracttab.chargetype = ?", 3) err := query.Desc("contracttab.createtime").Find(&data) @@ -684,7 +684,7 @@ func (t *Chargetab) ReadData(startDate string, searchtime string) ([]ChargeUsers query = query.And("contracttab.enddate < ?", searchtime) } if !utils.ValueIsEmpty(startDate) { - query = query.And("contracttab.enddate > ?", startDate) + query = query.And("contracttab.enddate < ?", startDate) } query = query.And("contracttab.chargetype = ?", 1) err := query.Desc("contracttab.createtime").Find(&data) @@ -729,6 +729,12 @@ func (t *Chargetab) ReadExcel(startDate string, searchtime string) (excelfile st cell = row.AddCell() cell.Value = "物业编号" + cell = row.AddCell() + cell.Value = "电梯卡编号" + + cell = row.AddCell() + cell.Value = "车位编号" + cell = row.AddCell() cell.Value = "收费起始日" @@ -767,6 +773,14 @@ func (t *Chargetab) ReadExcel(startDate string, searchtime string) (excelfile st cell = row.AddCell() cell.Value = utils.ValueToString(val.Propertyid, "") + //电梯费 + cell = row.AddCell() + cell.Value = utils.ValueToString(val.Accesscardid, "") + + //车位费 + cell = row.AddCell() + cell.Value = utils.ValueToString(val.Carportid, "") + cell = row.AddCell() cell.Value = utils.ValueToString(val.Begdate, "") @@ -1438,7 +1452,7 @@ func (t *Chargetab) Del() error { up := new(Propertytab) up.Contractid = "" - _, err = session.Table("accesscardtab").Cols("contractid").Where("cid = ? and propertyid =?", t.Cid, info.Propertyid).Update(up) + _, err = session.Table("accesscardtab").Cols("contractid").Where("cid = ? and accesscardid =?", t.Cid, info.Accesscardid).Update(up) if err != nil { session.Rollback() return err @@ -1874,7 +1888,7 @@ func (t *Chargetab) GetChargeStatisticData(cid, year int, selectType string, cha count, err := query.Sum(chargeAllocation, "chargeallocationtab.allocateexpense") result.Cid = cid - result.Count = utils.Round(count) + result.Count = fmt.Sprintf("%0.2f", count) result.Type = selectType return result, nil } @@ -1990,6 +2004,9 @@ func (t *Chargetab) ExportChargeArrearageExcel(datalist []*ChargeArrearageExcelD "项目号", "缴费类型", "物业编号", + "电梯卡编号", + "车位编号", + "房屋面积", "业主", "收费起始日期", "收费结束日期", @@ -2034,6 +2051,15 @@ func (t *Chargetab) ExportChargeArrearageExcel(datalist []*ChargeArrearageExcelD cell = row.AddCell() cell.Value = utils.ValueToString(val.Chargetab.Propertyid, "") + cell = row.AddCell() + cell.Value = utils.ValueToString(val.Chargetab.Accesscardid, "") + + cell = row.AddCell() + cell.Value = utils.ValueToString(val.Chargetab.Carportid, "") + + cell = row.AddCell() + cell.Value = fmt.Sprintf("%0.3f", val.Propertytab.Constructionarea) + cell = row.AddCell() cell.Value = utils.ValueToString(val.Propertytab.Contact, "") diff --git a/web/models/contracttab.go b/web/models/contracttab.go index 18860db..79a0b47 100644 --- a/web/models/contracttab.go +++ b/web/models/contracttab.go @@ -242,11 +242,15 @@ func (t *Contracttab) Update(me *ContractInfo) error { return err } t.Serialnumber = serialnumber - _, err = session.Table("contracttab").Cols("linkman", "mobile", "begdate", "enddate", "createtime", "createby", "lengthdate", "chargableexpense", "chargedexpense", "remake", "chargetime", "chargeway", "serialnumber").Where("cid = ? and contractid = ?", t.Cid, t.Contractid).Update(t) + row, err := session.Table("contracttab").Cols("linkman", "mobile", "begdate", "enddate", "createtime", "createby", "lengthdate", "chargableexpense", "chargedexpense", "remake", "chargetime", "chargeway", "serialnumber").Where("cid = ? and contractid = ?", t.Cid, t.Contractid).Update(t) if err != nil { session.Rollback() return err } + if row < 1{ + session.Rollback() + return err + } switch t.Chargetype { case 1: //物业费 diff --git a/web/models/otherchargetab.go b/web/models/otherchargetab.go index 562f068..ba9031c 100644 --- a/web/models/otherchargetab.go +++ b/web/models/otherchargetab.go @@ -58,7 +58,7 @@ func (t *Otherchargetab) Add() error { } t.Serialnumber = serialnumber t.Otherid = utils.ValueToInt(Otherid, 0) - t.Chargetime = utils.TimeFormat(time.Now(), "yyyy-MM-dd") + t.Createtime = utils.TimeFormat(time.Now(),"yyyyMMddHHmmss") _, err = session.Table("otherchargetab").Insert(t) if err != nil { session.Rollback() @@ -78,8 +78,8 @@ func (t *Otherchargetab) Add() error { charge.Cid = t.Cid charge.Chargetype = 4 charge.Info = t.Remark - charge.Createtime = t.Createtime - charge.Lastmodifytime = t.Createtime + charge.Createtime = utils.TimeFormat(time.Now(),"yyyyMMddHHmmss") + charge.Lastmodifytime = utils.TimeFormat(time.Now(),"yyyyMMddHHmmss") charge.Chargableexpense = t.ChargeMoney charge.Chargedexpense = t.ChargeMoney charge.Chargetime = t.Chargetime @@ -120,6 +120,9 @@ func (t *Otherchargetab) SelectOne() (data Otherchargetab,err error) { if !utils.ValueIsEmpty(t.Category) { query = query.And("category = ?", t.Category) } + if !utils.ValueIsEmpty(t.Serialnumber) { + query = query.And("serialnumber = ?", t.Serialnumber) + } _, err = query.Desc("createtime").Get(&data) if err != nil { return data, err diff --git a/web/models/response/chargeallocationtab.go b/web/models/response/chargeallocationtab.go index a2dfb8f..d12f1d1 100644 --- a/web/models/response/chargeallocationtab.go +++ b/web/models/response/chargeallocationtab.go @@ -10,8 +10,8 @@ package response type ChargeStatisticResponse struct { - Cid int `json:"cid"` - Court string `json:"court"` - Type string `json:"type"` - Count int `json:"count"` + Cid int `json:"cid"` + Court string `json:"court"` + Type string `json:"type"` + Count string `json:"count"` } diff --git a/web/routes/routes.go b/web/routes/routes.go index 450cafb..b1b23b6 100644 --- a/web/routes/routes.go +++ b/web/routes/routes.go @@ -91,6 +91,7 @@ func Hub(app *iris.Application) { snrtab.Post("/addinfo", controllers.InsertSnrtab) snrtab.Delete("/del", controllers.DeleteSnrtab) snrtab.Put("/upinfo", controllers.UpdateSnrtab) + snrtab.Get("/nextsnr", controllers.GetNextSnrtab) // 导入表 scripttab := admin.Party("/scripttab")