package controllers import ( "Cold_WorkOrder/Nats" "Cold_WorkOrder/conf" "Cold_WorkOrder/lib" "Cold_WorkOrder/models/Account" "Cold_WorkOrder/models/WorkOrder" beego "github.com/beego/beego/v2/server/web" "math" ) type WorkOrderController struct { beego.Controller } // 列表 - func (c *WorkOrderController) List() { b_, user_r := Nats.Verification(c.Ctx.GetCookie("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"} c.ServeJSON() return } if user_r.T_pid > 0 { c.Data["json"] = lib.JSONS{Code: 201, Msg: "无权查看!"} c.ServeJSON() return } var r_jsons lib.R_JSONS page, _ := c.GetInt("page") if page < 1 { page = 1 } page_z, _ := c.GetInt("page_z") if page_z < 1 { page_z = conf.Page_size } Company_name := c.GetString("Company_name") T_Status, err := c.GetInt("T_Status") if err != nil { T_Status = 0 } var CompanyIds []int var Company_list []Account.Company Company_list = Nats.CompanyListAllByT_name(Company_name) if len(Company_name) > 0 { for _, v := range Company_list { CompanyIds = append(CompanyIds, v.Id) } } CompanyMap := Account.CompanyListToMap(Company_list) AdminMap := Account.AdminListToMap(Nats.UserListAll()) var cnt int64 List, cnt := WorkOrder.Read_WorkOrder_List(T_Status, page, page_z, CompanyIds, CompanyMap, AdminMap) page_size := math.Ceil(float64(cnt) / float64(page_z)) r_jsons.List = List r_jsons.Page = page r_jsons.Page_size = int(page_size) r_jsons.Pages = lib.Func_page(int64(page), int64(page_size)) r_jsons.Num = int(cnt) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons} c.ServeJSON() return } // 列表 - func (c *WorkOrderController) User_List() { b_, user_r := Nats.Verification(c.Ctx.GetCookie("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"} c.ServeJSON() return } var r_jsons lib.R_JSONS page, _ := c.GetInt("page") if page < 1 { page = 1 } page_z, _ := c.GetInt("page_z") if page_z < 1 { page_z = conf.Page_size } var cnt int64 List, cnt := WorkOrder.Read_UserWorkOrder_List(user_r.T_uuid, page, page_z) page_size := math.Ceil(float64(cnt) / float64(page_z)) r_jsons.List = List r_jsons.Page = page r_jsons.Page_size = int(page_size) r_jsons.Pages = lib.Func_page(int64(page), int64(page_size)) r_jsons.Num = int(cnt) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons} c.ServeJSON() return } // 标签修改- func (c *WorkOrderController) Get() { b_, _ := Nats.Verification(c.Ctx.GetCookie("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"} c.ServeJSON() return } Id, err := c.GetInt("Id") if err != nil || Id == 0 { c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"} c.ServeJSON() return } r, err := WorkOrder.Read_WorkOrder_ById(Id) if err != nil { c.Data["json"] = lib.JSONS{Code: 202, Msg: "添加失败!"} c.ServeJSON() return } c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r} c.ServeJSON() return } // 添加- func (c *WorkOrderController) Add() { b_, user_r := Nats.Verification(c.Ctx.GetCookie("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"} c.ServeJSON() return } T_title := c.GetString("T_title") T_text := c.GetString("T_text") var_ := WorkOrder.WorkOrder{ T_uuid: user_r.T_uuid, T_Company_Id: user_r.T_pid, T_title: T_title, T_text: T_text, T_Status: 1, // 状态 1 未解决 2 已解决 T_State: 1, } Id, err := WorkOrder.Add_WorkOrder(var_) if err != nil { c.Data["json"] = lib.JSONS{Code: 202, Msg: "添加失败!"} c.ServeJSON() return } Nats.AddUserLogs(user_r.T_uuid, "工单系统", "添加", var_) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Id} c.ServeJSON() return } // 标签修改- func (c *WorkOrderController) Up() { b_, user_r := Nats.Verification(c.Ctx.GetCookie("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"} c.ServeJSON() return } Id, err := c.GetInt("Id") if err != nil || Id == 0 { c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"} c.ServeJSON() return } T_title := c.GetString("T_title") T_text := c.GetString("T_text") T_Status, T_Status_err := c.GetInt("T_Status") r, err := WorkOrder.Read_WorkOrder_ById(Id) if err != nil { c.Data["json"] = lib.JSONS{Code: 202, Msg: "添加失败!"} c.ServeJSON() return } // ....... if len(T_title) > 0 { r.T_title = T_title } if len(T_text) > 0 { r.T_text = T_text } if T_Status_err == nil { r.T_Status = T_Status } // ....... if !WorkOrder.Update_WorkOrder(r, "T_title", "T_text", "T_Status") { c.Data["json"] = lib.JSONS{Code: 202, Msg: "修改失败!"} c.ServeJSON() return } Nats.AddUserLogs(user_r.T_uuid, "工单系统", "修改", r) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"} c.ServeJSON() return } // 标签删除- func (c *WorkOrderController) Del() { b_, user_r := Nats.Verification(c.Ctx.GetCookie("User_tokey")) if !b_ { c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"} c.ServeJSON() return } Id, err := c.GetInt("Id") if err != nil || Id == 0 { c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"} c.ServeJSON() return } r, err := WorkOrder.Read_WorkOrder_ById(Id) if err != nil { c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"} c.ServeJSON() return } if err := WorkOrder.Delete_WorkOrder(r); err != nil { c.Data["json"] = lib.JSONS{Code: 202, Msg: "删除失败!"} c.ServeJSON() return } Nats.AddUserLogs(user_r.T_uuid, "工单系统", "删除", r) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"} c.ServeJSON() return }