package controllers import ( "ColdVerify_server/conf" "ColdVerify_server/lib" "ColdVerify_server/models/Account" "ColdVerify_server/models/Certificate" "ColdVerify_server/models/Device" "ColdVerify_server/models/System" "fmt" beego "github.com/beego/beego/v2/server/web" "math" "strings" ) type DeviceClassController struct { beego.Controller } // 列表 - func (c *DeviceClassController) List() { // 验证登录 User_is, User_r User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !User_is { 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 } T_name := c.GetString("T_name") var cnt int64 List, cnt := Device.Read_DeviceClass_List(User_r.T_uuid, T_name, 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 *DeviceClassController) Get() { // 验证登录 User_is, User_r _, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !User_is { c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"} c.ServeJSON() return } Id, err := c.GetInt("Id") if err != nil { c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"} c.ServeJSON() return } r, is := Device.Read_DeviceClass_ById(Id) if !is { c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"} c.ServeJSON() return } c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r} c.ServeJSON() return } // 添加- func (c *DeviceClassController) Add() { // 验证登录 User_is, User_r User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !User_is { c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"} c.ServeJSON() return } T_name := c.GetString("T_name") var_ := Device.DeviceClass{ T_uuid: User_r.T_uuid, T_name: T_name, T_State: 1, } Id, is := Device.Add_DeviceClass(var_) if !is { c.Data["json"] = lib.JSONS{Code: 202, Msg: "添加失败!"} c.ServeJSON() return } System.Add_UserLogs_T(User_r.T_uuid, "分类管理", "添加", var_) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Id} c.ServeJSON() return } // 修改- func (c *DeviceClassController) Up() { // 验证登录 User_is, User_r User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !User_is { c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"} c.ServeJSON() return } T_name := c.GetString("T_name") Id, err := c.GetInt("Id") if err != nil { c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"} c.ServeJSON() return } r, is := Device.Read_DeviceClass_ById(Id) if !is { c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"} c.ServeJSON() return } // ....... if len(T_name) > 0 { r.T_name = T_name } // ....... if !Device.Update_DeviceClass(r, "T_name") { c.Data["json"] = lib.JSONS{Code: 202, Msg: "修改失败!"} c.ServeJSON() return } System.Add_UserLogs_T(User_r.T_uuid, "分类管理", "修改", r) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"} c.ServeJSON() return } // 删除- func (c *DeviceClassController) Del() { // 验证登录 User_is, User_r User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !User_is { c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"} c.ServeJSON() return } Id, err := c.GetInt("Id") if err != nil { c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"} c.ServeJSON() return } if r, is := Device.Read_DeviceClass_ById(Id); is { if !Device.Delete_DeviceClass_(r) { c.Data["json"] = lib.JSONS{Code: 202, Msg: "删除失败!"} c.ServeJSON() return } System.Add_UserLogs_T(User_r.T_uuid, "分类管理", "删除", r) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"} c.ServeJSON() return } c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"} c.ServeJSON() return } //-------------------------- // 列表 - func (c *DeviceClassController) List_List() { // 验证登录 User_is, User_r _, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !User_is { 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 } T_class, _ := c.GetInt("T_class") T_sn := c.GetString("T_sn") _, is := Device.Read_DeviceClass_ById(T_class) if !is { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_class 错误!"} c.ServeJSON() return } var cnt int64 //List, cnt := Device.Read_DeviceClassList_List(T_class, T_sn, page, 9999) List, cnt := Device.Read_DeviceClassList_OrderList(T_class, T_sn, page, 9999) 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 *DeviceClassController) List_Add() { // 验证登录 User_is, User_r User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !User_is { c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"} c.ServeJSON() return } T_class, _ := c.GetInt("T_class") //方式1:001,002,003,004,005,008 //方式2:001~005,008 T_layout_no_list := c.GetString("T_layout_no_list") //T_sn := c.GetString("T_sn") T_remark := c.GetString("T_remark") _, is := Device.Read_DeviceClass_ById(T_class) if !is { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_class 错误"} c.ServeJSON() return } list := strings.Split(strings.TrimRight(T_layout_no_list, ","), ",") snMap := make(map[string]string) excludeId := make(map[string]struct{}) errList := []string{} var successNum int // 成功数量 for _, v := range list { if strings.Contains(v, "!") { excludeId[fmt.Sprintf("%03d", lib.To_int(strings.TrimLeft(strings.Trim(v, "!"), "0")))] = struct{}{} continue } // 001~005 if strings.Contains(v, "~") { vlist := strings.Split(v, "~") if len(vlist) != 2 { c.Data["json"] = lib.JSONS{Code: 202, Msg: "布局编号格式错误!"} c.ServeJSON() return } vstart, vend := lib.To_int(strings.TrimLeft(vlist[0], "0")), lib.To_int(strings.TrimLeft(vlist[1], "0")) for i := vstart; i < vend+1; i++ { T_id := fmt.Sprintf("%03d", i) cert, is := Certificate.Read_Certificate_ByT_layout_no(T_id) if !is { //c.Data["json"] = lib.JSONS{Code: 202, Msg: fmt.Sprintf("%s布局编号不存在!", T_id)} //c.ServeJSON() //return errList = append(errList, fmt.Sprintf("%s布局编号不存在!", T_id)) continue } snMap[T_id] = cert.T_sn } } else { // 001,002 cert, is := Certificate.Read_Certificate_ByT_layout_no(v) if !is { //c.Data["json"] = lib.JSONS{Code: 202, Msg: fmt.Sprintf("%s布局编号不存在!", v)} //c.ServeJSON() //return errList = append(errList, v) continue } snMap[v] = cert.T_sn } } errList2 := []string{} succesId := []string{} for T_id, T_sn := range snMap { if _, ok := excludeId[T_id]; ok { continue } //if _, is = Device.Read_Device(T_sn); !is { // c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_sn 不存在!"} // c.ServeJSON() // return //} if dc, is := Device.Read_DeviceClassList_T_class_T_sn(T_class, T_sn); is && dc.Id > 0 { successNum += 1 continue } var pdf Certificate.CertificatePdf pdfList, _ := Certificate.Read_CertificatePdf_Newest(T_sn) if len(pdfList) > 0 { pdf = pdfList[0] } var_ := Device.DeviceClassList{ T_class: T_class, T_id: T_id, T_sn: T_sn, T_failure_time: pdf.T_failure_time, T_pdf: pdf.T_pdf, T_remark: T_remark, T_State: 1, } _, is = Device.Add_DeviceClassList(var_) if !is { //c.Data["json"] = lib.JSONS{Code: 202, Msg: "添加失败!"} //c.ServeJSON() //return errList2 = append(errList2, T_id) continue } successNum += 1 succesId = append(succesId, T_id) System.Add_UserLogs_T(User_r.T_uuid, "分类设备管理", "添加", var_) } if len(errList) == 0 && len(errList2) == 0 { c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: successNum} c.ServeJSON() return } var errStr string if len(errList) > 0 { errStr += strings.Join(errList, ",") + "编号不存在" } if len(errList2) > 0 { if len(errStr) > 0 { errStr += "," } errStr += strings.Join(errList2, ",") + "添加失败" } //if len(succesId) > 0 { // if len(errStr) > 0 { // errStr += "," // } // errStr += strings.Join(succesId, ",") + "添加成功" //} c.Data["json"] = lib.JSONS{Code: 210, Msg: errStr, Data: successNum} c.ServeJSON() return } // 修改- func (c *DeviceClassController) List_Up() { // 验证登录 User_is, User_r User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !User_is { c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"} c.ServeJSON() return } T_id := c.GetString("T_id") T_remark := c.GetString("T_remark") Id, err := c.GetInt("Id") if err != nil { c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"} c.ServeJSON() return } r, is := Device.Read_DeviceClassList_ById(Id) if !is { c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"} c.ServeJSON() return } _, is = Device.Read_DeviceClass_ById(r.T_class) if !is { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_class 错误!"} c.ServeJSON() return } if len(T_id) > 0 { r.T_id = T_id } if len(T_remark) > 0 { r.T_remark = T_remark } if !Device.Update_DeviceClassList(r, "T_id", "T_remark") { c.Data["json"] = lib.JSONS{Code: 202, Msg: "修改失败!"} c.ServeJSON() return } System.Add_UserLogs_T(User_r.T_uuid, "分类设备管理", "修改", r) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"} c.ServeJSON() return } // 删除- func (c *DeviceClassController) List_Del() { // 验证登录 User_is, User_r User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey")) if !User_is { c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"} c.ServeJSON() return } Id, err := c.GetInt("Id") if err != nil { c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"} c.ServeJSON() return } if r, is := Device.Read_DeviceClassList_ById(Id); is { _, is = Device.Read_DeviceClass_ById(r.T_class) if !is { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_class 错误!"} c.ServeJSON() return } if !Device.Delete_DeviceClassList_(r) { c.Data["json"] = lib.JSONS{Code: 202, Msg: "删除失败!"} c.ServeJSON() return } System.Add_UserLogs_T(User_r.T_uuid, "分类设备管理", "删除", r) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"} c.ServeJSON() return } c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"} c.ServeJSON() return }