package controllers import ( "ERP_storage/Nats/NatsServer" "ERP_storage/conf" "ERP_storage/logs" "ERP_storage/models/Account" "ERP_storage/models/Basic" "ERP_storage/models/Stock" "ERP_storage/models/validationtool" "encoding/json" "errors" "fmt" "github.com/beego/beego/v2/adapter/orm" beego "github.com/beego/beego/v2/server/web" "github.com/xuri/excelize/v2" userlibs "gogs.baozhida.cn/zoie/ERP_libs/User" "gogs.baozhida.cn/zoie/ERP_libs/lib" "math" "net/url" "os" "strconv" "strings" "time" ) type ValidationController struct { beego.Controller User userlibs.User } func (c *ValidationController) Prepare() { c.User = *Account.User_r } func (c *ValidationController) AddValidation() { var ValidationList []validationtool.AddValidationTool errs := json.Unmarshal(c.Ctx.Input.RequestBody, &ValidationList) if errs != nil { c.Data["json"] = lib.JSONS{Code: 1201, Msg: "json 序列化失败!", Data: nil} c.ServeJSON() return } o := orm.NewOrm() o.Begin() // 开始事务 vali := validationtool.NewValidationTool(o) valiRecord := validationtool.NewValidationToolRecord(o) BatchNumber := time.Now().Format("2006-01-02 15:04:05") for _, tool := range ValidationList { if len(tool.T_sn) == 0 { o.Rollback() // 回滚事务 c.Data["json"] = lib.JSONS{Code: 1201, Msg: "T_sn不能为空!", Data: nil} c.ServeJSON() return } validation, err := vali.ReadValidationBytSn(tool.T_sn) if err != nil && !errors.Is(err, orm.ErrNoRows) { o.Rollback() // 回滚事务 c.Data["json"] = lib.JSONS{Code: 1201, Msg: "查询失败!", Data: nil} c.ServeJSON() return } else if errors.Is(err, orm.ErrNoRows) { var validataiontool validationtool.ValidationTool user := Stock.Read_MqttUser(tool.T_sn) validataiontool.T_iccid = user.Iccid validataiontool.T_imei = user.Imei validataiontool.T_uuid = c.User.T_uuid validataiontool.Validationnumber = tool.Validationnumber validataiontool.T_sn = tool.T_sn validataiontool.T_remark = tool.T_remark validataiontool.T_state = validationtool.ValidationToolStateStockIn validataiontool.T_class = tool.T_class validataiontool.UpdateTime = time.Now() _, err = vali.ADDValidationTool(validataiontool) if err != nil { o.Rollback() // 回滚事务 c.Data["json"] = lib.JSONS{Code: 1201, Msg: "入库失败!", Data: nil} c.ServeJSON() return } _, err = valiRecord.ADD(validataiontool, BatchNumber) if err != nil { o.Rollback() // 回滚事务 c.Data["json"] = lib.JSONS{Code: 1201, Msg: "保存历史记录失败!", Data: nil} c.ServeJSON() return } } //修改设备状态 validation.T_state = validationtool.ValidationToolStateStockIn cols := []string{"t_state"} if len(tool.T_remark) != 0 { validation.T_remark = tool.T_remark cols = append(cols, "T_remark") } else { validation.T_remark = "" cols = append(cols, "T_remark") } if len(tool.Validationnumber) != 0 { validation.Validationnumber = tool.Validationnumber cols = append(cols, "validationnumber") } validation.LendUser = "" cols = append(cols, "LendUser") validation.T_project = "" cols = append(cols, "T_project") err = vali.UpdateValidationTool(validation, cols...) if err != nil { o.Rollback() // 回滚事务 c.Data["json"] = lib.JSONS{Code: 1201, Msg: "入库失败!", Data: nil} c.ServeJSON() return } _, err = valiRecord.ADD(validation, BatchNumber) if err != nil { o.Rollback() // 回滚事务 c.Data["json"] = lib.JSONS{Code: 1201, Msg: "保存历史记录失败!", Data: nil} c.ServeJSON() return } o.Commit() // 提交事务 c.Data["json"] = lib.JSONS{Code: 200, Msg: "入库成功!", Data: nil} c.ServeJSON() return } NatsServer.AddUserLogs(c.User.T_uuid, "验证工具", "添加", ValidationList) } func (c *ValidationController) ValidationList() { // 分页参数 初始化 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_state := c.GetString("T_state") validationnumber := c.GetString("Validationnumber") T_sn := c.GetString("T_sn") t_iccid := c.GetString("t_iccid") t_imei := c.GetString("t_imei") LendUser := c.GetString("LendUser") T_project := c.GetString("T_project") T_class := c.GetString("T_class") vali := validationtool.NewValidationTool(orm.NewOrm()) R_List, R_cnt := vali.Read_Validation_List(validationnumber, T_sn, t_iccid, t_imei, T_state, LendUser, T_project, T_class, page, page_z) var r_jsons lib.R_JSONS r_jsons.Num = R_cnt r_jsons.Data = R_List r_jsons.Page = page r_jsons.Page_size = int(math.Ceil(float64(R_cnt) / float64(page_z))) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons} c.ServeJSON() return } func (c *ValidationController) DeleteValidationTool() { id := c.GetString("t_sn") if len(id) <= 0 { c.Data["json"] = lib.JSONS{Code: 1201, Msg: "t_sn不能为空!", Data: nil} c.ServeJSON() return } vali := validationtool.NewValidationTool(orm.NewOrm()) err := vali.DeleteValidationTool(id) if err != nil { c.Data["json"] = lib.JSONS{Code: 1201, Msg: "删除失败!", Data: nil} c.ServeJSON() return } c.Data["json"] = lib.JSONS{Code: 200, Msg: "删除成功!", Data: nil} c.ServeJSON() } // 出库 func (c *ValidationController) UpdateValidationTool() { var lendValidationList []validationtool.LendValidationTool err := json.Unmarshal(c.Ctx.Input.RequestBody, &lendValidationList) if err != nil { c.Data["json"] = lib.JSONS{Code: 1201, Msg: "json 序列化失败!", Data: nil} c.ServeJSON() return } o := orm.NewOrm() o.Begin() vali := validationtool.NewValidationTool(o) valiRecord := validationtool.NewValidationToolRecord(o) BatchNumber := time.Now().Format("2006-01-02 15:04:05") for _, tool := range lendValidationList { if len(tool.T_sn) <= 0 { c.Data["json"] = lib.JSONS{Code: 1201, Msg: "T_sn不能为空!", Data: nil} c.ServeJSON() return } validation, err2 := vali.ReadValidationBytSn(tool.T_sn) sprintf := fmt.Sprintf("当前sn:%v 未入库", tool.T_sn) if err2 != nil || validation.T_state != validationtool.ValidationToolStateStockIn { o.Rollback() c.Data["json"] = lib.JSONS{Code: 1201, Msg: sprintf, Data: nil} c.ServeJSON() return } //修改设备状态 validation.T_state = validationtool.ValidationToolStateStockOut cols := []string{"t_state"} if len(tool.T_remark) != 0 { validation.T_remark = tool.T_remark cols = append(cols, "T_remark") } if len(tool.Validationnumber) != 0 { validation.Validationnumber = tool.Validationnumber cols = append(cols, "validationnumber") } if len(tool.LendUser) != 0 { validation.LendUser = tool.LendUser cols = append(cols, "LendUser") } if len(tool.T_project) != 0 { validation.T_project = tool.T_project cols = append(cols, "T_project") } err = vali.UpdateValidationTool(validation, cols...) if err != nil { o.Rollback() c.Data["json"] = lib.JSONS{Code: 1201, Msg: "修改失败!", Data: nil} c.ServeJSON() return } _, err = valiRecord.ADD(validation, BatchNumber) if err != nil { o.Rollback() // 回滚事务 c.Data["json"] = lib.JSONS{Code: 1201, Msg: "保存历史记录失败!", Data: nil} c.ServeJSON() return } } err = o.Commit() // 提交事务 if err != nil { o.Rollback() // 回滚事务 c.Data["json"] = lib.JSONS{Code: 1201, Msg: "提交事务失败!", Data: nil} c.ServeJSON() return } NatsServer.AddUserLogs(c.User.T_uuid, "验证工具", "出库", lendValidationList) c.Data["json"] = lib.JSONS{Code: 200, Msg: "修改成功!", Data: nil} c.ServeJSON() return } // 报废 func (c *ValidationController) ScrapValidationTool() { var lendValidationList []validationtool.LendValidationTool err := json.Unmarshal(c.Ctx.Input.RequestBody, &lendValidationList) if err != nil { c.Data["json"] = lib.JSONS{Code: 1201, Msg: "json 序列化失败!", Data: nil} c.ServeJSON() return } o := orm.NewOrm() vali := validationtool.NewValidationTool(o) valiRecord := validationtool.NewValidationToolRecord(o) BatchNumber := time.Now().Format("2006-01-02 15:04:05") o.Begin() for _, tool := range lendValidationList { if len(tool.T_sn) <= 0 { c.Data["json"] = lib.JSONS{Code: 1201, Msg: "T_sn不能为空!", Data: nil} c.ServeJSON() return } validation, errs := vali.ReadValidationBytSn(tool.T_sn) if errs != nil { o.Rollback() if errs.Error() == orm.ErrNoRows.Error() { c.Data["json"] = lib.JSONS{Code: 1201, Msg: fmt.Sprintf("当前sn:%v 未入库", tool.T_sn), Data: nil} c.ServeJSON() return } else { c.Data["json"] = lib.JSONS{Code: 1201, Msg: fmt.Sprintf("查询sn:%v 失败", tool.T_sn), Data: nil} c.ServeJSON() return } } //修改设备状态 validation.T_state = validationtool.ValidationToolStateStockScrap cols := []string{"t_state"} if len(tool.T_remark) != 0 { validation.T_remark = tool.T_remark cols = append(cols, "T_remark") } if len(tool.Validationnumber) != 0 { validation.Validationnumber = tool.Validationnumber cols = append(cols, "validationnumber") } if len(tool.LendUser) != 0 { validation.LendUser = tool.LendUser cols = append(cols, "LendUser") } if len(tool.T_project) != 0 { validation.T_project = tool.T_project cols = append(cols, "T_project") } err = vali.UpdateValidationTool(validation, cols...) if err != nil { o.Rollback() c.Data["json"] = lib.JSONS{Code: 1201, Msg: "修改失败!", Data: nil} c.ServeJSON() return } _, err = valiRecord.ADD(validation, BatchNumber) if err != nil { o.Rollback() // 回滚事务 c.Data["json"] = lib.JSONS{Code: 1201, Msg: "保存历史记录失败!", Data: nil} c.ServeJSON() return } } err = o.Commit() // 提交事务 if err != nil { o.Rollback() // 回滚事务 c.Data["json"] = lib.JSONS{Code: 1201, Msg: "提交事务失败!", Data: nil} c.ServeJSON() return } NatsServer.AddUserLogs(c.User.T_uuid, "验证工具", "报废", lendValidationList) c.Data["json"] = lib.JSONS{Code: 200, Msg: "提交成功!", Data: nil} c.ServeJSON() return } // 维修 func (c *ValidationController) RepairValidationTool() { var lendValidationList []validationtool.LendValidationTool err := json.Unmarshal(c.Ctx.Input.RequestBody, &lendValidationList) if err != nil { c.Data["json"] = lib.JSONS{Code: 1201, Msg: "json 序列化失败!", Data: nil} c.ServeJSON() return } o := orm.NewOrm() o.Begin() vali := validationtool.NewValidationTool(o) valiRecord := validationtool.NewValidationToolRecord(o) BatchNumber := time.Now().Format("2006-01-02 15:04:05") for _, tool := range lendValidationList { if len(tool.T_sn) <= 0 { c.Data["json"] = lib.JSONS{Code: 1201, Msg: "T_sn不能为空!", Data: nil} c.ServeJSON() return } validation, errs := vali.ReadValidationBytSn(tool.T_sn) if errs != nil { o.Rollback() if errs.Error() == orm.ErrNoRows.Error() { c.Data["json"] = lib.JSONS{Code: 1201, Msg: fmt.Sprintf("当前sn:%v 未入库", tool.T_sn), Data: nil} c.ServeJSON() return } else { c.Data["json"] = lib.JSONS{Code: 1201, Msg: fmt.Sprintf("查询sn:%v 失败", tool.T_sn), Data: nil} c.ServeJSON() return } } //修改设备状态 validation.T_state = validationtool.ValidationToolStateStockRepair cols := []string{"t_state"} if len(tool.T_remark) != 0 { validation.T_remark = tool.T_remark cols = append(cols, "T_remark") } if len(tool.Validationnumber) != 0 { validation.Validationnumber = tool.Validationnumber cols = append(cols, "validationnumber") } if len(tool.LendUser) != 0 { validation.LendUser = tool.LendUser cols = append(cols, "LendUser") } if len(tool.T_project) != 0 { validation.T_project = tool.T_project cols = append(cols, "T_project") } err = vali.UpdateValidationTool(validation, cols...) if err != nil { o.Rollback() c.Data["json"] = lib.JSONS{Code: 1201, Msg: "修改失败!", Data: nil} c.ServeJSON() return } _, err = valiRecord.ADD(validation, BatchNumber) if err != nil { o.Rollback() // 回滚事务 c.Data["json"] = lib.JSONS{Code: 1201, Msg: "保存历史记录失败!", Data: nil} c.ServeJSON() return } } err = o.Commit() // 提交事务 NatsServer.AddUserLogs(c.User.T_uuid, "验证工具", "维修", lendValidationList) if err != nil { o.Rollback() // 回滚事务 c.Data["json"] = lib.JSONS{Code: 1201, Msg: "提交事务失败!", Data: nil} c.ServeJSON() return } c.Data["json"] = lib.JSONS{Code: 200, Msg: "提交成功!", Data: nil} c.ServeJSON() return } // GetValidationToolBySn 根据sn获取设备信息 func (c *ValidationController) GetValidationToolBySn() { sn := c.GetString("sn") if len(sn) <= 0 { c.Data["json"] = lib.JSONS{Code: 1201, Msg: "sn不能为空!", Data: nil} c.ServeJSON() return } vali := validationtool.NewValidationTool(orm.NewOrm()) r, err := vali.ReadValidationBytSn(sn) if err != nil { c.Data["json"] = lib.JSONS{Code: 1201, Msg: "当前设备不存在!", Data: nil} c.ServeJSON() return } c.Data["json"] = lib.JSONS{Code: 200, Msg: "成功!", Data: r} c.ServeJSON() } // UpdateValidationToolBySn 根据sn修改设备信息 func (c *ValidationController) UpdateValidationToolBySn() { sn := c.GetString("T_sn") Id := c.GetString("Id") Validationnumber := c.GetString("Validationnumber") T_remark := c.GetString("T_remark") T_state, _ := c.GetInt("T_state") T_class, _ := c.GetInt("T_class") if len(sn) <= 0 { c.Data["json"] = lib.JSONS{Code: 1201, Msg: "sn不能为空!", Data: nil} c.ServeJSON() return } if len(Id) <= 0 { c.Data["json"] = lib.JSONS{Code: 1201, Msg: "Id不能为空!", Data: nil} c.ServeJSON() return } vali := validationtool.NewValidationTool(orm.NewOrm()) valiRecord := validationtool.NewValidationToolRecord(orm.NewOrm()) r, err := vali.ReadValidationById(Id) if err != nil { c.Data["json"] = lib.JSONS{Code: 1201, Msg: "当前设备不存在!", Data: nil} c.ServeJSON() return } cols := []string{} if len(Validationnumber) > 0 { r.Validationnumber = Validationnumber cols = append(cols, "Validationnumber") } if len(T_remark) > 0 { r.T_remark = T_remark cols = append(cols, "T_remark") } if T_state > 0 { r.T_state = T_state cols = append(cols, "T_state") } if T_class > 0 { r.T_class = T_class cols = append(cols, "T_class") } if !strings.EqualFold(r.T_sn, sn) { r.T_sn = sn user := Stock.Read_MqttUser(sn) r.T_iccid = user.Iccid r.T_imei = user.Imei cols = append(cols, "T_sn", "T_iccid", "T_imei") } err = vali.UpdateValidationTool(r, cols...) if err != nil { c.Data["json"] = lib.JSONS{Code: 1201, Msg: "当前设备不存在!", Data: nil} c.ServeJSON() return } BatchNumber := time.Now().Format("2006-01-02 15:04:05") _, err = valiRecord.ADD(r, BatchNumber) if err != nil { c.Data["json"] = lib.JSONS{Code: 1201, Msg: "保存历史记录失败!", Data: nil} c.ServeJSON() return } NatsServer.AddUserLogs(c.User.T_uuid, "验证工具", "通过sn修改验证工具", r) c.Data["json"] = lib.JSONS{Code: 200, Msg: "成功!", Data: nil} c.ServeJSON() } func (c *ValidationController) ImportExcel() { // 获取上传的文件 vali := validationtool.NewValidationTool(orm.NewOrm()) f, _, err := c.GetFile("excelFile") if err != nil { c.Data["json"] = lib.JSONS{Code: 1201, Msg: "读取文件失败!", Data: nil} c.ServeJSON() return } defer f.Close() // 读取 Excel 文件 reader, err := excelize.OpenReader(f) if err != nil { c.Data["json"] = lib.JSONS{Code: 1201, Msg: "打开文件失败!", Data: nil} c.ServeJSON() return } defer func() { if err := reader.Close(); err != nil { c.Data["json"] = lib.JSONS{Code: 1201, Msg: "关闭文件失败!", Data: nil} c.ServeJSON() return } }() // 读取工作表中的数据 rows, err := reader.GetRows("Sheet1") if err != nil { c.Data["json"] = lib.JSONS{Code: 1201, Msg: "读取文件失败!", Data: nil} c.ServeJSON() return } for i, row := range rows { if i == 0 { continue // 忽略第一排 } if len(row) >= 4 { atoi, _ := strconv.Atoi(row[2]) isout, _ := strconv.Atoi(row[3]) user := Stock.Read_MqttUser(row[0]) tool := validationtool.ValidationTool{ T_sn: row[0], T_class: atoi, Validationnumber: row[1], T_uuid: c.User.T_uuid, T_state: isout, T_iccid: user.Iccid, T_imei: user.Imei, } _, err := vali.ADDValidationTool(tool) if err != nil { sprintf := fmt.Sprintf("设备sn添加失败%v", row[0]) c.Data["json"] = lib.JSONS{Code: 1201, Msg: sprintf, Data: nil} c.ServeJSON() return } } } c.Data["json"] = lib.JSONS{Code: 200, Msg: "成功!", Data: nil} c.ServeJSON() } func (c *ValidationController) ExportValidationListExcel() { // 分页参数 初始化 page, _ := c.GetInt("page") if page < 1 { page = 1 } page_z, _ := c.GetInt("page_z") if page_z < 1 { page_z = 9999 } T_state := c.GetString("T_state") validationnumber := c.GetString("validationnumber") T_sn := c.GetString("T_sn") t_iccid := c.GetString("t_iccid") t_imei := c.GetString("t_imei") LendUser := c.GetString("LendUser") T_project := c.GetString("T_project") T_class := c.GetString("T_class") vali := validationtool.NewValidationTool(orm.NewOrm()) R_List, _ := vali.Read_Validation_List(validationnumber, T_sn, t_iccid, t_imei, T_state, LendUser, T_project, T_class, page, page_z) f := excelize.NewFile() //设置单元格值 // 这里设置表头ÒÒ f.SetCellValue("Sheet1", "A1", "序号") f.SetCellValue("Sheet1", "B1", "SN") f.SetCellValue("Sheet1", "C1", "编号") f.SetCellValue("Sheet1", "D1", "模组imei") f.SetCellValue("Sheet1", "E1", "物联网卡号") f.SetCellValue("Sheet1", "F1", "设备类型") f.SetCellValue("Sheet1", "G1", "借出人") f.SetCellValue("Sheet1", "H1", "借出项目") f.SetCellValue("Sheet1", "I1", "备注") // 设置列宽 f.SetColWidth("Sheet1", "A", "A", 6) f.SetColWidth("Sheet1", "B", "B", 20) f.SetColWidth("Sheet1", "C", "C", 15) f.SetColWidth("Sheet1", "D", "D", 15) f.SetColWidth("Sheet1", "E", "E", 30) f.SetColWidth("Sheet1", "F", "F", 15) f.SetColWidth("Sheet1", "G", "G", 15) f.SetColWidth("Sheet1", "H", "H", 30) f.SetColWidth("Sheet1", "I", "J", 15) line := 1 for i, v := range R_List { line++ r, _ := Basic.Read_ProductClass_ById(v.T_class) f.SetCellValue("Sheet1", fmt.Sprintf("A%d", line), i+1) f.SetCellValue("Sheet1", fmt.Sprintf("B%d", line), v.T_sn) f.SetCellValue("Sheet1", fmt.Sprintf("C%d", line), v.Validationnumber) f.SetCellValue("Sheet1", fmt.Sprintf("D%d", line), v.T_imei) f.SetCellValue("Sheet1", fmt.Sprintf("E%d", line), v.T_iccid) f.SetCellValue("Sheet1", fmt.Sprintf("F%d", line), r.T_name) f.SetCellValue("Sheet1", fmt.Sprintf("G%d", line), v.LendUser) f.SetCellValue("Sheet1", fmt.Sprintf("H%d", line), v.T_project) f.SetCellValue("Sheet1", fmt.Sprintf("I%d", line), v.T_remark) } timeStr := time.Now().Format("20060102150405") fileName := fmt.Sprintf("验证工具记录表%v.xlsx", timeStr) filePath := "ofile/" + "验证工具记录表" + timeStr + ".xlsx" // 保存文件 if err := f.SaveAs(filePath); err != nil { logs.Error("文件失败:", err) } defer func() { os.Remove(filePath) }() c.Ctx.Output.Header("Content-Type", "application/vnd.ms-excel;charset=utf8") c.Ctx.Output.Header("Content-Disposition", "attachment; filename="+url.PathEscape(fileName)) c.Ctx.Output.Header("Content-Transfer-Encoding", "binary") c.Ctx.Output.Download(filePath, fileName) } func (c *ValidationController) Read_ValidationClass_List() { // 分页参数 初始化 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") R_List, R_cnt := validationtool.Read_ValidationToolClass_List(T_name, page, page_z) var r_jsons lib.R_JSONS r_jsons.Num = R_cnt r_jsons.Data = R_List r_jsons.Page = page r_jsons.Page_size = int(math.Ceil(float64(R_cnt) / float64(page_z))) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons} c.ServeJSON() return } // 统计验证工具 func (c *ValidationController) Validation_stat() { // 分页参数 初始化 page, _ := c.GetInt("page") if page < 1 { page = 1 } page_z, _ := c.GetInt("page_z") if page_z < 1 { page_z = conf.Page_size } LendUser := c.GetString("LendUser") T_project := c.GetString("T_project") vali := validationtool.NewValidationTool(orm.NewOrm()) R_List, R_cnt := vali.Validation_stat(LendUser, T_project, page, page_z) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: lib.R_JSONS{Data: R_List, Num: R_cnt}} c.ServeJSON() return } func (c *ValidationController) User_List() { 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") vali := validationtool.NewValidationTool(orm.NewOrm()) R_List, R_cnt := vali.Read_lend_user_List(T_name, page, page_z) for i := 0; i < len(R_List); i++ { if R_List[i].LendUser == "" { R_List[i].LendUser = "未出库" } } r_jsons.Num = R_cnt r_jsons.Data = R_List r_jsons.Page = page r_jsons.Page_size = int(math.Ceil(float64(R_cnt) / float64(page_z))) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons} c.ServeJSON() return } func (c *ValidationController) Record_List() { // 分页参数 初始化 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_state := c.GetString("T_state") validationnumber := c.GetString("Validationnumber") T_sn := c.GetString("T_sn") t_iccid := c.GetString("t_iccid") t_imei := c.GetString("t_imei") LendUser := c.GetString("LendUser") T_project := c.GetString("T_project") T_class := c.GetString("T_class") valiRecord := validationtool.NewValidationToolRecord(orm.NewOrm()) R_List, R_cnt := valiRecord.Read_Validation_List(validationnumber, T_sn, t_iccid, t_imei, T_state, LendUser, T_project, T_class, page, page_z) var r_jsons lib.R_JSONS r_jsons.Num = R_cnt r_jsons.Data = R_List r_jsons.Page = page r_jsons.Page_size = int(math.Ceil(float64(R_cnt) / float64(page_z))) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons} c.ServeJSON() return } func (c *ValidationController) Operation_List() { // 分页参数 初始化 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_state := c.GetString("T_state") T_sn := c.GetString("T_sn") LendUser := c.GetString("LendUser") T_project := c.GetString("T_project") valiRecord := validationtool.NewValidationToolRecord(orm.NewOrm()) R_List, R_cnt := valiRecord.Read_Operation_List(T_sn, T_state, LendUser, T_project, page, page_z) var r_jsons lib.R_JSONS r_jsons.Num = R_cnt r_jsons.Data = R_List r_jsons.Page = page r_jsons.Page_size = int(math.Ceil(float64(R_cnt) / float64(page_z))) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons} c.ServeJSON() return }