process.go 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package dao
  2. import "server/global"
  3. type Process struct {
  4. global.GVA_MODEL
  5. ProcessName string `json:"processName" form:"processName" gorm:"comment:审批流程名称"`
  6. ProcessContent string `json:"processContent" form:"processContent" gorm:"审批流程内容"`
  7. ProcessType string `json:"processType" form:"processType" gorm:"审批流程类型"`
  8. Nodes []Node `json:"nodes" form:"nodes" gorm:"many2many:process_nodes;"`
  9. }
  10. func (Process) TableName() string {
  11. return "process"
  12. }
  13. func QueryAllProcess() (processes []Process, err error) {
  14. err = global.GVA_DB.Model(&Process{}).Find(&processes).Error
  15. return processes, err
  16. }
  17. func QueryProcessList(limit, offset int) (processes []Process, total int64, err error) {
  18. // 创建db
  19. db := global.GVA_DB.Model(&Process{})
  20. // 如果有条件搜索 下方会自动创建搜索语句
  21. err = db.Count(&total).Error
  22. if err != nil {
  23. return
  24. }
  25. err = db.Order("id desc").Limit(limit).Offset(offset).Find(&processes).Error
  26. return processes, total, err
  27. }
  28. func QueryProcessById(id int) (process Process, err error) {
  29. err = global.GVA_DB.Model(&Process{}).Where("id = ?", id).Find(&process).Error
  30. return process, err
  31. }
  32. func (p Process) CreateProcess() error {
  33. err := global.GVA_DB.Create(&p).Error
  34. return err
  35. }
  36. func (p Process) UpdateProcess() error {
  37. // 清除现有的节点
  38. err := global.GVA_DB.Model(&p).Association("Nodes").Clear()
  39. // 添加新的节点
  40. err = global.GVA_DB.Model(&p).Association("Nodes").Append(p.Nodes)
  41. err = global.GVA_DB.Where("id = ?", p.ID).Updates(&p).Error
  42. return err
  43. }
  44. func (p Process) DeleteProcess() error {
  45. err := global.GVA_DB.Unscoped().Delete(&p).Error
  46. return err
  47. }