package oilsupplier import ( "encoding/json" "strings" "time" "dashoo.cn/backend/api/business/items" "dashoo.cn/backend/api/business/baseUser" "dashoo.cn/business/userRole" //"dashoo.cn/backend/api/business/items" "dashoo.cn/backend/api/business/oilsupplier/basisbuild" . "dashoo.cn/backend/api/controllers" "dashoo.cn/utils" ) type OilBasisBuildController struct { BaseController } // @Title 获取列表 // @Description get user by token // @Success 200 {object} []basisbuild.OilBasisBuild // @router /list [get] func (this *OilBasisBuildController) GetEntityList() { //获取分页信息 page := this.GetPageInfoForm() where := " 1=1 " orderby := "Id" asc := false Order := this.GetString("Order") Prop := this.GetString("Prop") if Order != "" && Prop != "" { orderby = Prop if Order == "asc" { asc = true } } CreateOn := this.GetString("CreateOn") Code := this.GetString("Code") Name := this.GetString("Name") if Code != "" { where = where + " and Code like '%" + Code + "%'" } if Name != "" { where = where + " and Name like '%" + Name + "%'" } if CreateOn != "" { dates := strings.Split(CreateOn, ",") if len(dates) == 2 { minDate := dates[0] maxDate := dates[1] where = where + " and CreateOn>='" + minDate + "' and CreateOn<='" + maxDate + "'" } } svc := basisbuild.GetOilBasisBuildService(utils.DBE) var list []basisbuild.OilBasisBuild total := svc.GetPagingEntitiesWithOrderBytbl("", 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 get user by token // @Success 200 {object} map[string]interface{} // @router /dictlist [get] func (this *OilBasisBuildController) GetDictList() { dictList := make(map[string]interface{}) dictSvc := items.GetItemsService(utils.DBE) userSvc := baseUser.GetBaseUserService(utils.DBE) //customerSvc := svccustomer.GetCustomerService(utils.DBE) //dictList["WellNo"] = dictSvc.GetKeyValueItems("WellNo", "") var userEntity userRole.Base_User userSvc.GetEntityById(this.User.Id, &userEntity) dictList["Supervisers"] = userSvc.GetUserListByDepartmentId("", userEntity.Departmentid) dictList["AuditStep"] = dictSvc.GetKeyValueItems("AuditStep", this.User.AccCode) //var dictCustomer []svccustomer.Customer //customerSvc.GetEntitysByWhere("" + CustomerName, "", &dictCustomer) //dictList["EntrustCorp"] = &dictCustomer var datainfo DataInfo datainfo.Items = dictList this.Data["json"] = &datainfo this.ServeJSON() } // @Title 获取实体 // @Description 获取实体 // @Success 200 {object} basisbuild.OilBasisBuild // @router /get/:id [get] func (this *OilBasisBuildController) GetEntity() { Id := this.Ctx.Input.Param(":id") var model basisbuild.OilBasisBuild svc := basisbuild.GetOilBasisBuildService(utils.DBE) svc.GetEntityByIdBytbl(""+OilBasisBuildName, Id, &model) this.Data["json"] = &model this.ServeJSON() } // @Title 添加 // @Description 新增 // @Success 200 {object} controllers.Request // @router /add [post] func (this *OilBasisBuildController) AddEntity() { var model basisbuild.OilBasisBuild var jsonBlob = this.Ctx.Input.RequestBody svc := basisbuild.GetOilBasisBuildService(utils.DBE) json.Unmarshal(jsonBlob, &model) model.CreateOn = time.Now() model.CreateBy = this.User.Realname model.CreateUserId, _ = utils.StrTo(this.User.Id).Int() //model.OrganizeId, _ = utils.StrTo(this.User.DepartmentId).Int() _, err := svc.InsertEntityBytbl(""+OilBasisBuildName, &model) var errinfo ErrorDataInfo if err == nil { //新增 errinfo.Message = "添加成功!" errinfo.Code = 0 errinfo.Item = model.Id 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} controllers.Request // @router /update/:id [post] func (this *OilBasisBuildController) UpdateEntity() { id := this.Ctx.Input.Param(":id") var errinfo ErrorInfo if id == "" { errinfo.Message = "操作失败!请求信息不完整" errinfo.Code = -2 this.Data["json"] = &errinfo this.ServeJSON() return } var model basisbuild.OilBasisBuild svc := basisbuild.GetOilBasisBuildService(utils.DBE) var jsonBlob = this.Ctx.Input.RequestBody json.Unmarshal(jsonBlob, &model) model.ModifiedOn = time.Now() model.ModifiedBy = this.User.Realname model.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int() cols := []string{ "Id", "Code", "Name", "F01", "F02", "F03", "F04", "F05", "F06", "F07", "F08", "F09", "F10", "F11", "F12", "F13", "F14", "F15", "F16", "F17", "F18", "F19", "F20", "F21", "F22", "F23", "F24", "F25", "Remark", "DeletionStateCode", "CreateOn", "CreateUserId", "CreateBy", "ModifiedOn", "ModifiedUserId", "ModifiedBy", } err := svc.UpdateEntityBytbl(""+OilBasisBuildName, 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 /delete/:Id [delete] func (this *OilBasisBuildController) DeleteEntity() { Id := this.Ctx.Input.Param(":Id") var errinfo ErrorInfo if Id == "" { errinfo.Message = "操作失败!请求信息不完整" errinfo.Code = -2 this.Data["json"] = &errinfo this.ServeJSON() return } var model basisbuild.OilBasisBuild var entityempty basisbuild.OilBasisBuild svc := basisbuild.GetOilBasisBuildService(utils.DBE) opdesc := "删除-" + Id err := svc.DeleteOperationAndWriteLogBytbl(""+OilBasisBuildName, BaseOperationLogName, Id, &model, &entityempty, utils.ToStr(this.User.Id), this.User.Username, opdesc, "", "钻井日报") 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 user by token // @Success 200 {object} models.Userblood // @router /basiclist [get] func (this *OilBasisBuildController) BasicList() { page := this.GetPageInfoForm() var list []basisbuild.OilBasisBuild svc := basisbuild.GetOilBasisBuildService(utils.DBE) where := " 1=1" orderby := "Id" asc := true Order := this.GetString("Order") Prop := this.GetString("Prop") if Order != "" && Prop != "" { orderby = Prop if Order == "asc" { asc = true } } keyword := this.GetString("keyword") if keyword != "" { where = where + " and Name like '%" + keyword + "%' or Code like '%" + keyword + "%'" } total := svc.GetPagingEntitiesWithoutAccCode(page.CurrentPage, page.Size, orderby, asc, &list, where) var datainfo DataInfo datainfo.Items = list datainfo.CurrentItemCount = total this.Data["json"] = &datainfo this.ServeJSON() }