personnel.go 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. package personnel
  2. import (
  3. "dashoo.cn/modi_webapi/app/model/personnel"
  4. service "dashoo.cn/modi_webapi/app/service/personnel"
  5. "dashoo.cn/modi_webapi/library/request"
  6. "dashoo.cn/modi_webapi/library/response"
  7. "fmt"
  8. "github.com/gogf/gf/net/ghttp"
  9. "github.com/gogf/gf/os/gtime"
  10. "github.com/gogf/gf/util/gvalid"
  11. )
  12. type Controller struct {
  13. }
  14. func (c *Controller) GetAllPersonnel(r *ghttp.Request) {
  15. // tenant 租户模式
  16. tenant := r.Header.Get("Tenant")
  17. // 初始化service
  18. service, err := service.NewPersonnelService(tenant)
  19. if err != nil {
  20. response.Json(r, 1, err.Error())
  21. }
  22. page := request.GetPageInfo(r)
  23. where := ""
  24. if name := r.GetString("Name"); name != "" {
  25. if where == "" {
  26. where = fmt.Sprintf(" PersonnelName LIKE '%%%v%%'", name)
  27. } else {
  28. where += fmt.Sprintf(" AND PersonnelName LIKE '%%%v%%'", name)
  29. }
  30. }
  31. var result []personnel.Entity
  32. if err := service.GetAllPersonnel(page, where, &result); err != nil {
  33. if err.Error() == "sql: no rows in result set" {
  34. response.Json(r, 0, "")
  35. return
  36. }
  37. response.Json(r, -1, err.Error())
  38. } else {
  39. count, err1 := service.FindPersonnelCount(where)
  40. if err1 != nil {
  41. response.Json(r, -1, err1.Error())
  42. } else {
  43. var records response.PagedRecords
  44. records.Size = page.Size
  45. records.Current = page.Current
  46. records.Total = count
  47. records.Records = result
  48. response.Json(r, 0, "", records)
  49. }
  50. }
  51. }
  52. func (c *Controller) GetOnePersonnel(r *ghttp.Request) {
  53. id := r.GetInt("id")
  54. if result, err := personnel.FindOne(id); err != nil {
  55. response.Json(r, 1, err.Error())
  56. r.ExitAll()
  57. } else {
  58. var records response.PagedRecords
  59. records.Records = result
  60. response.Json(r, 0, "", records)
  61. }
  62. }
  63. // 添加
  64. func (c *Controller) AddPersonnel(r *ghttp.Request) {
  65. Personnel := new(personnel.Entity)
  66. if err := r.Parse(Personnel); err != nil {
  67. // 数据验证错误
  68. if v, ok := err.(*gvalid.Error); ok {
  69. response.Json(r, 1, v.FirstString())
  70. r.ExitAll()
  71. }
  72. // 其他错误
  73. response.Json(r, 1, err.Error())
  74. r.ExitAll()
  75. }
  76. // tenant 租户模式
  77. tenant := r.Header.Get("Tenant")
  78. // 初始化service
  79. service, err := service.NewPersonnelService(tenant)
  80. if err != nil {
  81. response.Json(r, 1, err.Error())
  82. }
  83. // 查询code是否存在
  84. info, _ := service.GetPersonnelByCode(Personnel.PersonneCode)
  85. if info != nil {
  86. response.Json(r, 1, "人员编号已存在")
  87. }
  88. realName := r.GetParamVar("realname").String()
  89. userId := r.GetParamVar("userid").Int()
  90. currentTime := gtime.Now()
  91. Personnel.CreateOn = currentTime
  92. Personnel.CreateBy = realName
  93. Personnel.CreateUserId = userId
  94. Personnel.ModifiedOn = currentTime
  95. Personnel.ModifiedBy = realName
  96. Personnel.ModifiedUserId = userId
  97. if result, err := personnel.Insert(Personnel); err != nil {
  98. response.Json(r, 1, err.Error())
  99. } else {
  100. var records response.PagedRecords
  101. id, _ := result.LastInsertId()
  102. Personnel.Id = int(id)
  103. records.Records = Personnel
  104. response.Json(r, 0, "", records)
  105. }
  106. }
  107. // 更新
  108. func (c *Controller) UpdatePersonnel(r *ghttp.Request) {
  109. // tenant 租户模式
  110. tenant := r.Header.Get("Tenant")
  111. Personnel := new(personnel.Entity)
  112. if err := r.Parse(Personnel); err != nil {
  113. // 数据验证错误
  114. if v, ok := err.(*gvalid.Error); ok {
  115. response.Json(r, 1, v.FirstString())
  116. r.ExitAll()
  117. }
  118. // 其他错误
  119. response.Json(r, 1, err.Error())
  120. r.ExitAll()
  121. }
  122. realName := r.GetParamVar("realname").String()
  123. userId := r.GetParamVar("userid").Int()
  124. currentTime := gtime.Now()
  125. Personnel.ModifiedOn = currentTime
  126. Personnel.ModifiedBy = realName
  127. Personnel.ModifiedUserId = userId
  128. // 初始化service
  129. service, err := service.NewPersonnelService(tenant)
  130. if err != nil {
  131. response.Json(r, 1, err.Error())
  132. }
  133. // 修改
  134. code, msg := service.UpdatePersonnelById(Personnel)
  135. if code {
  136. response.Json(r, 0, msg)
  137. } else {
  138. response.Json(r, -1, msg)
  139. }
  140. }
  141. // 删除
  142. func (c *Controller) DeletePersonnel(r *ghttp.Request) {
  143. id := r.GetInt("id")
  144. if _, err := personnel.Delete(fmt.Sprintf("Id=%v", id)); err != nil {
  145. response.Json(r, 1, err.Error())
  146. r.ExitAll()
  147. } else {
  148. response.Json(r, 0, "该记录已删除!")
  149. }
  150. }