package bo import ( "fmt" "scd_check_tools/logger" "scd_check_tools/models/enum" "strconv" "github.com/astaxie/beego/orm" ) //检测任务报告模型 type T_data_task_report struct { Id int `orm:"pk"` Name string // '报告名称' , Code string // '报告编号' , TaskId int // '所属检测任务' , State int // '生成状态;1 生成中 2生成结束' , Doc string //'下载路径' , Cr int // '创建人' , Ct string // '创建时间' , Ur int // '更新人' , Ut string // '更新时间' } //检测任务管理对象 type TaskReportMgr struct { Model T_data_task_report DeviceBaseModel } var modelDesc3 = "检测报告" func init() { orm.RegisterModel(new(T_data_task_report)) } //生成报告 func (c *TaskReportMgr) Make() (err error) { dblog := new(SystemLog) dblog.SetUserInfo(c.GetUserInfo()) dblog.Audittype = enum.AuditType_check_task dblog.Logtype = enum.LogType_Insert dblog.Eventtype = enum.OptEventType_Bus dblog.Eventlevel = enum.OptEventLevel_Hight db := orm.NewOrm() if c.Model.Id == 0 { c.Model.Cr, _ = strconv.Atoi(c.GetUserId()) _, err = db.Insert(&c.Model) } else { c.Model.Ur, _ = strconv.Atoi(c.GetUserId()) _, err = db.Update(&c.Model) } if err != nil { logger.Logger.Error(err) dblog.Description = fmt.Sprintf("生成%s失败:%s,操作数据:%+v", modelDesc3, err.Error(), c.Model) dblog.Fail2() } else { dblog.Description = fmt.Sprintf("生成%s成功,操作数据:%+v", modelDesc3, c.Model) dblog.Success2() } return err } func (c *TaskReportMgr) One(taskid int) (T_data_task_report, error) { o := orm.NewOrm() c.Model.TaskId = taskid err := o.Read(&c.Model) if err != nil { logger.Logger.Error(err) } return c.Model, err } //根据model中指定的id删除检测任务报告 func (c *TaskReportMgr) Delete() (err error) { dblog := new(SystemLog) dblog.SetUserInfo(c.GetUserInfo()) dblog.Audittype = enum.AuditType_check_task dblog.Logtype = enum.LogType_Delete dblog.Eventtype = enum.OptEventType_Bus dblog.Eventlevel = enum.OptEventLevel_Hight db := orm.NewOrm() if c.Model.Id > 0 { db.Read(&c.Model) _, err = db.Delete(&c.Model) } if c.Model.TaskId > 0 { _, err = db.Raw("delete from t_data_task_report where task_id=?", c.Model.TaskId).Exec() } if err != nil { logger.Logger.Error(err) dblog.Description = fmt.Sprintf("删除%s%d失败:%s", modelDesc3, c.Model.TaskId, err.Error()) dblog.Fail2() } else { dblog.Description = fmt.Sprintf("删除%s%d成功", modelDesc3, c.Model.TaskId) dblog.Success2() } return err }