package oilsupplier import ( "encoding/json" "fmt" "time" "dashoo.cn/backend/api/business/oilsupplier/tableheader" . "dashoo.cn/backend/api/controllers" "dashoo.cn/utils" ) type TableHeaderController struct { BaseController } type SeBaseTableheader struct { SearchName string SearchSupplierTypeName string } // @Title 获取表头数据 // @Description get tableheaders // @Success 200 {object} []tableheader.BaseTableheader // @router /gettableheaderlist [post] func (this *TableHeaderController) GetTableHeaderList() { fmt.Println("进入TableHeaderController") var model2 SeBaseTableheader var jsonBlob = this.Ctx.Input.RequestBody json.Unmarshal(jsonBlob, &model2) fmt.Println(model2.SearchName) fmt.Println(model2.SearchSupplierTypeName) //获取分页信息 page := this.GetPageInfoForm() //包括当前页、每页书数量 var where string = " 1=1" if model2.SearchName != "" { where = where + " and Name like '%" + model2.SearchName + "%'" } if model2.SearchSupplierTypeName != "" { where = where + " and CategoryCode = '" + model2.SearchSupplierTypeName + "'" } orderby := "Id" asc := true svc := tableheader.GetTableHeaderService(utils.DBE) //获得数据库引擎 var list []tableheader.BaseTableheader total := svc.GetMyPagingEntitiesWithOrderBytbl(BaseTableHeader, page.CurrentPage, page.Size, orderby, asc, &list, where) var datainfo DataInfo datainfo.Items = list datainfo.CurrentItemCount = total datainfo.PageIndex = page.CurrentPage datainfo.ItemsPerPage = page.Size this.Data["json"] = &datainfo this.ServeJSON() } // @Title 添加 // @Description 新增 // @Success 200 {object} // @router /add [post] func (this *TableHeaderController) AddEntity() { var model tableheader.BaseTableheader var jsonBlob = this.Ctx.Input.RequestBody var errinfo ErrorDataInfo svc := tableheader.GetTableHeaderService(utils.DBE) json.Unmarshal(jsonBlob, &model) //判断名称是否已拥有 var Name = model.Name where := "1=1 and name='" + Name + "'" total := svc.GetName(BaseTableHeader, where) if total != 0 { errinfo.Message = "已有重复数据" errinfo.Code = -2 this.Data["json"] = &errinfo this.ServeJSON() } else { var Categorycode = model.Categorycode if Categorycode == "01" { model.Categoryname = "物资类" } else if Categorycode == "02" { model.Categoryname = "基建类" } else { model.Categoryname = "技术服务类" } model.Createon = time.Now() model.Createby = this.User.Realname model.Createuserid, _ = utils.StrTo(this.User.Id).Int() _, err := svc.InsertEntityBytbl(BaseTableHeader, &model) if err == nil { //新增 errinfo.Message = "添加成功!" errinfo.Code = 0 this.Data["json"] = &errinfo this.ServeJSON() } else { errinfo.Message = "添加失败!" + utils.AlertProcess(err.Error()) errinfo.Code = -1 this.Data["json"] = &errinfo this.ServeJSON() } } } // @Title 获取位置 // @Description get locations // @Success 200 {object} // @router /getlocations [get] func (this *TableHeaderController) Getlocations() { var val = this.GetString("val") svc := tableheader.GetTableHeaderService(utils.DBE) //获得数据库引擎 var results []map[string]string var dbName = utils.Cfg.MustValue("db", "name") var sql string = "" if val == "01" { sql = "select column_name from information_schema.COLUMNS where table_name='" + OilGoodsAptitudeName + "'" + "and TABLE_SCHEMA='" + dbName + "'and column_name like 'F%'" + "and column_name not in (select code from " + BaseTableHeader + " where categorycode='" + val + "')" } else if val == "02" { sql = "select column_name from information_schema.COLUMNS where table_name='" + OilBasisBuildName + "'" + "and TABLE_SCHEMA='" + dbName + "'and column_name like 'F%'" + "and column_name not in (select code from " + BaseTableHeader + " where categorycode='" + val + "')" } else { sql = "select column_name from information_schema.COLUMNS where table_name='" + OilTechnologyServiceName + "'" + "and TABLE_SCHEMA='" + dbName + "'and column_name like 'F%'" + "and column_name not in (select code from " + BaseTableHeader + " where categorycode='" + val + "')" } results, _ = svc.DBE.QueryString(sql) var datainfo DataInfo datainfo.Items = results this.Data["json"] = &datainfo this.ServeJSON() } type SBaseTableheader struct { EditName string } // @Title 通过id更新 // @Description update by id // @Success 200 {object} // @router /updatebyid/:id [post] func (this *TableHeaderController) UpdateById() { id := this.Ctx.Input.Param(":id") var errinfo ErrorInfo var cols []string if id == "" { errinfo.Message = "操作失败!请求信息不完整" errinfo.Code = -2 this.Data["json"] = &errinfo this.ServeJSON() return } svc := tableheader.GetTableHeaderService(utils.DBE) //获得数据库引擎 var model tableheader.BaseTableheader var model1 SBaseTableheader var jsonBlob = this.Ctx.Input.RequestBody json.Unmarshal(jsonBlob, &model1) model.Modifiedon = time.Now() model.Modifiedby = this.User.Realname model.Modifieduserid, _ = utils.StrTo(this.User.Id).Int() model.Name = model1.EditName var Name = model.Name where := "1=1 and name='" + Name + "'" total := svc.GetName(BaseTableHeader, where) if total != 0 { errinfo.Message = "已有重复数据" errinfo.Code = -2 this.Data["json"] = &errinfo this.ServeJSON() } else { cols = []string{"Name", "Modifiedon", "Modifieduserid", "Modifiedby"} err := svc.UpdateEntityBytbl(BaseTableHeader, id, &model, cols) if err == nil { errinfo.Message = "修改成功!" errinfo.Code = 0 this.Data["json"] = &errinfo this.ServeJSON() } else { errinfo.Message = "修改失败!" + utils.AlertProcess(err.Error()) errinfo.Code = -1 this.Data["json"] = &errinfo this.ServeJSON() } } } // @Title 删除单条信息 // @Description // @Success 200 {object} ErrorInfo // @Failure 403 :id 为空 // @router /deletebyid [get] func (this *TableHeaderController) Deletebyid() { id := this.GetString("id") var errinfo ErrorInfo if id == "" { errinfo.Message = "操作失败!请求信息不完整" errinfo.Code = -2 this.Data["json"] = &errinfo this.ServeJSON() return } svc := tableheader.GetTableHeaderService(utils.DBE) err := svc.DeleteById(BaseTableHeader, id) if err == nil { errinfo.Message = "删除成功" errinfo.Code = 0 this.Data["json"] = &errinfo this.ServeJSON() } else { errinfo.Message = "删除失败!" + utils.AlertProcess(err.Error()) errinfo.Code = -1 this.Data["json"] = &errinfo this.ServeJSON() } } // @Title 获取物资类表头数据 // @Description get tableheaders // @Success 200 {object} // @router /listgoodtableheader [get] func (this *TableHeaderController) ListGoodTableHeader() { svc := tableheader.GetTableHeaderService(utils.DBE) //获得数据库引擎 var list []map[string]string sql := "select Name as label,Code as prop,'270' as width,'true' as sort from " + BaseTableHeader + " where " + "1=1 and CategoryCode='01'" list, _ = svc.DBE.QueryString(sql) fmt.Println(list) var datainfo DataInfo datainfo.Items = list this.Data["json"] = &datainfo this.ServeJSON() } // @Title 获取技术服务类表头数据 // @Description get tableheaders // @Success 200 {object} // @router /listtstableheader [get] func (this *TableHeaderController) ListTsTableHeader() { svc := tableheader.GetTableHeaderService(utils.DBE) //获得数据库引擎 var list []map[string]string sql := "select Name as label,Code as prop,'270' as width,'true' as sort from " + BaseTableHeader + " where " + "1=1 and CategoryCode='03'" list, _ = svc.DBE.QueryString(sql) fmt.Println(list) var datainfo DataInfo datainfo.Items = list this.Data["json"] = &datainfo this.ServeJSON() } // @Title 获取技术服务类表头数据 // @Description get tableheaders // @Success 200 {object} // @router /listbbtableheader [get] func (this *TableHeaderController) ListBbTableHeader() { svc := tableheader.GetTableHeaderService(utils.DBE) //获得数据库引擎 var list []map[string]string sql := "select Name as label,Code as prop,'270' as width,'true' as sort from " + BaseTableHeader + " where " + "1=1 and CategoryCode='02'" list, _ = svc.DBE.QueryString(sql) fmt.Println(list) var datainfo DataInfo datainfo.Items = list this.Data["json"] = &datainfo this.ServeJSON() }