sys_department.go 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. package system
  2. import (
  3. "eta_gn/eta_api/global"
  4. "time"
  5. )
  6. type SysDepartmentAddReq struct {
  7. DepartmentName string `description:"部门名称"`
  8. }
  9. type SysDepartment struct {
  10. DepartmentId int `orm:"column(department_id);pk" description:"部门Id"`
  11. DepartmentName string `description:"部门名称"`
  12. Sort int `description:"排序"`
  13. CreateTime time.Time `description:"创建时间"`
  14. }
  15. func GetSysDepartmentCount(departmentName string) (count int, err error) {
  16. sql := `SELECT COUNT(1) AS count FROM sys_department WHERE department_name=? `
  17. // o := orm.NewOrm()
  18. //err = o.Raw(sql, departmentName).QueryRow(&count)
  19. err = global.DEFAULT_DmSQL.Raw(sql, departmentName).Scan(&count).Error
  20. return
  21. }
  22. func AddSysDepartment(item *SysDepartment) (lastId int64, err error) {
  23. // o := orm.NewOrm()
  24. //lastId, err = o.Insert(item)
  25. err = global.DEFAULT_DmSQL.Create(item).Error
  26. return
  27. }
  28. type SysDepartmentEditReq struct {
  29. DepartmentId int `description:"部门Id"`
  30. DepartmentName string `description:"部门名称"`
  31. }
  32. func GetSysDepartmentById(departmentId int) (item *SysDepartment, err error) {
  33. sql := `SELECT * FROM sys_department WHERE department_id=? `
  34. // o := orm.NewOrm()
  35. //err = o.Raw(sql, departmentId).QueryRow(&item)
  36. err = global.DEFAULT_DmSQL.Raw(sql, departmentId).First(&item).Error
  37. return
  38. }
  39. func GetSysDepartmentByName(departmentName string) (item *SysDepartment, err error) {
  40. sql := `SELECT * FROM sys_department WHERE department_name=? `
  41. // o := orm.NewOrm()
  42. //err = o.Raw(sql, departmentName).QueryRow(&item)
  43. err = global.DEFAULT_DmSQL.Raw(sql, departmentName).First(&item).Error
  44. return
  45. }
  46. func ModifySysDepartment(departmentName string, departmentId int) (err error) {
  47. // o := orm.NewOrm()
  48. //to, err := o.Begin()
  49. //if err != nil {
  50. // return
  51. //}
  52. //defer func() {
  53. // if err != nil {
  54. // _ = to.Rollback()
  55. // } else {
  56. // _ = to.Commit()
  57. // }
  58. //}()
  59. //sql := `UPDATE sys_department SET department_name=? WHERE department_id=? `
  60. //_, err = to.Raw(sql, departmentName, departmentId).Exec()
  61. //if err != nil {
  62. // return
  63. //}
  64. //sql = `UPDATE admin SET department_name=? WHERE department_id=? `
  65. //_, err = to.Raw(sql, departmentName, departmentId).Exec()
  66. tx := global.DEFAULT_DmSQL.Begin()
  67. defer func() {
  68. if err != nil {
  69. _ = tx.Rollback()
  70. return
  71. }
  72. _ = tx.Commit()
  73. }()
  74. sql := `UPDATE sys_department SET department_name=? WHERE department_id=? `
  75. //_, err = to.Raw(sql, departmentName, departmentId).Exec()
  76. err = tx.Exec(sql, departmentName, departmentId).Error
  77. if err != nil {
  78. return
  79. }
  80. sql = `UPDATE admin SET department_name=? WHERE department_id=? `
  81. //_, err = to.Raw(sql, departmentName, departmentId).Exec()
  82. err = tx.Exec(sql, departmentName, departmentId).Error
  83. return
  84. }
  85. type SysDepartmentDeleteReq struct {
  86. DepartmentId int `description:"部门Id"`
  87. }
  88. func DeleteSysDepartment(departmentId int) (err error) {
  89. sql := `DELETE FROM sys_department WHERE department_id=? `
  90. // o := orm.NewOrm()
  91. //_, err = o.Raw(sql, departmentId).Exec()
  92. err = global.DEFAULT_DmSQL.Exec(sql, departmentId).Error
  93. return
  94. }
  95. type SysDepartmentList struct {
  96. DepartmentId int `orm:"column(department_id);pk" description:"部门Id"`
  97. DepartmentName string `description:"部门名称"`
  98. CreateTime time.Time `description:"创建时间"`
  99. Child []*SysGroupList `gorm:"-" description:"分组"`
  100. IsDepartment bool `description:"true:部门,false:分组"`
  101. }
  102. func GetDepartmentList() (items []*SysDepartmentList, err error) {
  103. // o := orm.NewOrm()
  104. sql := `SELECT * FROM sys_department ORDER BY sort ASC, create_time ASC `
  105. //_, err = o.Raw(sql).QueryRows(&items)
  106. err = global.DEFAULT_DmSQL.Raw(sql).Find(&items).Error
  107. return
  108. }
  109. // GetDepartmentListByIds 根据部门id集合获取部门列表信息
  110. func GetDepartmentListByIds(departmentIds string) (items []*SysDepartmentList, err error) {
  111. // o := orm.NewOrm()
  112. sql := `SELECT * FROM sys_department where 1 = 1 `
  113. if departmentIds != "" {
  114. sql += `and department_id in(` + departmentIds + `) `
  115. }
  116. sql += ` ORDER BY sort ASC, create_time ASC `
  117. //_, err = o.Raw(sql).QueryRows(&items)
  118. err = global.DEFAULT_DmSQL.Raw(sql).Find(&items).Error
  119. return
  120. }
  121. type SysDepartmentListResp struct {
  122. List []*SysDepartmentList
  123. }
  124. func GetSysDepartmentAll() (item []*SysDepartment, err error) {
  125. sql := `SELECT * FROM sys_department ORDER BY sort ASC, department_id ASC `
  126. // o := orm.NewOrm()
  127. //_, err = o.Raw(sql).QueryRows(&item)
  128. err = global.DEFAULT_DmSQL.Raw(sql).Find(&item).Error
  129. return
  130. }
  131. type DepartmentSort struct {
  132. DepartmentId int
  133. Sort int
  134. }
  135. func MultiUpdateDepartmentSort(items []*DepartmentSort) (err error) {
  136. if len(items) == 0 {
  137. return
  138. }
  139. // o := orm.NewOrm()
  140. sql := "UPDATE sys_department SET sort = ? WHERE department_id = ?"
  141. //p, err := o.Raw("UPDATE sys_department SET sort = ? WHERE department_id = ?").Prepare()
  142. //if err != nil {
  143. // return
  144. //}
  145. //defer func() {
  146. // _ = p.Close()
  147. //}()
  148. //for _, v := range items {
  149. // _, err = p.Exec(v.Sort, v.DepartmentId)
  150. // if err != nil {
  151. // return
  152. // }
  153. //}
  154. for _, v := range items {
  155. err = global.DEFAULT_DmSQL.Exec(sql, v.Sort, v.DepartmentId).Error
  156. if err != nil {
  157. return
  158. }
  159. }
  160. return
  161. }
  162. // DepartmentUserTree 部门用户树
  163. type DepartmentUserTree struct {
  164. NodeId int `description:"节点ID"`
  165. NodeType int `description:"节点类型:1-部门;2-分组;3-用户"`
  166. NodeName string `description:"节点名称"`
  167. Children []*DepartmentUserTree `gorm:"-" description:"子节点"`
  168. }