worksitedesign.go 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. package work
  2. import (
  3. "zhiyuan/pkg/app"
  4. "zhiyuan/pkg/utils"
  5. "zhiyuan/services/form"
  6. "zhiyuan/services/work/worksitedesign"
  7. "github.com/gin-gonic/gin"
  8. )
  9. func WorkSiteDesignList(c *gin.Context) {
  10. page := app.HandlePageNums(c)
  11. where := map[string]string{
  12. "where": "`zy_work_site_design`.`id`>0 AND `zy_work_site_design`.`deleted_at`=0",
  13. "_order_by": "`zy_work_site_design`.`id` desc",
  14. }
  15. if page.PageSize != 0 {
  16. where["_page_size"] = utils.ToStr(page.PageSize)
  17. where["_page_num"] = utils.ToStr(page.PageNum)
  18. }
  19. param := make(map[string]interface{})
  20. site_id := utils.ToInt(c.Query("site_id"))
  21. if site_id != 0 {
  22. where["where"] = where["where"] + " AND `zy_work_site_design`.`site_id`={{site_id}}"
  23. param["site_id"] = site_id
  24. }
  25. type_id := utils.ToInt(c.Query("type_id"))
  26. if type_id != 0 {
  27. where["where"] = where["where"] + " AND `zy_work_site_design`.`type_id`={{type_id}}"
  28. param["type_id"] = type_id
  29. }
  30. designer_id := utils.ToInt(c.Query("designer_id"))
  31. if designer_id != 0 {
  32. where["where"] = where["where"] + " AND `zy_work_site_design`.`designer_id`={{designer_id}}"
  33. param["designer_id"] = designer_id
  34. }
  35. total, err := worksitedesign.CountRaw(where["where"], param)
  36. if err != nil {
  37. app.Error(c, err.Error())
  38. return
  39. }
  40. type WorkSiteDesignList struct {
  41. ID int `json:"id"`
  42. SiteId int `json:"site_id"`
  43. NodeId int `json:"node_id"`
  44. Name string `json:"name"`
  45. WorkerId int `json:"worker_id"`
  46. StartTime int `json:"starttime"`
  47. EndTime int `json:"endtime"`
  48. ProcessIds string `json:"process_ids"`
  49. Mark string `json:"mark"`
  50. State int `json:"state"`
  51. CreatedAt int `json:"created_at"`
  52. UpdatedAt int `json:"updated_at"`
  53. TypeName string `json:"type_name"`
  54. DesignerName string `json:"designer_name"`
  55. DesignerPhone string `json:"designer_phone"`
  56. }
  57. workSiteDesignList := make([]WorkSiteDesignList, 0)
  58. if err = worksitedesign.GetWorkSiteDesignsRaw(where, param, &workSiteDesignList); err != nil {
  59. app.Error(c, err.Error())
  60. return
  61. }
  62. data := gin.H{
  63. "list": workSiteDesignList,
  64. "total": total,
  65. "limit": page.PageSize,
  66. }
  67. app.Success(c, data)
  68. }
  69. func WorkSiteDesignInfo(c *gin.Context) {
  70. id := utils.StrTo(c.Param("id")).MustInt()
  71. if id <= 0 {
  72. app.ErrorMsg(c, "department id must be a number", nil)
  73. return
  74. }
  75. type WorkSiteDesignInfo struct {
  76. ID int `json:"id"`
  77. SiteId int `json:"site_id"`
  78. NodeId int `json:"node_id"`
  79. Name string `json:"name"`
  80. WorkerId int `json:"worker_id"`
  81. StartTime int `json:"starttime"`
  82. EndTime int `json:"endtime"`
  83. ProcessIds string `json:"process_ids"`
  84. Mark string `json:"mark"`
  85. State int `json:"state"`
  86. CreatedAt int `json:"created_at"`
  87. UpdatedAt int `json:"updated_at"`
  88. TypeName string `json:"type_name"`
  89. DesignerName string `json:"designer_name"`
  90. DesignerPhone string `json:"designer_phone"`
  91. }
  92. var workSiteDesignInfo WorkSiteDesignInfo
  93. err := worksitedesign.GetWorkSiteDesignByID(id, &workSiteDesignInfo)
  94. if err != nil {
  95. app.Error(c, err.Error())
  96. return
  97. }
  98. app.Success(c, workSiteDesignInfo)
  99. }
  100. func WorkSiteDesignAdd(c *gin.Context) {
  101. var addForm form.WorkSiteDesignAdd
  102. if app.Bind(c, &addForm) != nil {
  103. return
  104. }
  105. id, err := worksitedesign.Add(addForm, c.GetInt("adminID"))
  106. if err != nil {
  107. app.Error(c, err.Error())
  108. return
  109. }
  110. app.Success(c, gin.H{"id": id})
  111. }
  112. func WorkSiteDesignEdit(c *gin.Context) {
  113. id := utils.ToInt(c.Param("id"))
  114. if id <= 0 {
  115. app.ErrorMsg(c, "id must be a number", nil)
  116. return
  117. }
  118. var editForm form.WorkSiteDesignEdit
  119. if app.Bind(c, &editForm) != nil {
  120. return
  121. }
  122. err := worksitedesign.EditByID(editForm, id, c.GetInt("adminID"))
  123. if err != nil {
  124. app.ErrorMsg(c, err.Error(), nil)
  125. return
  126. }
  127. app.Success(c, nil)
  128. }
  129. func WorkSiteDesignDel(c *gin.Context) {
  130. id := utils.ToInt(c.Param("id"))
  131. if id <= 0 {
  132. app.ErrorMsg(c, "id must be a number", nil)
  133. return
  134. }
  135. err := worksitedesign.DeleteByID(id, c.GetInt("adminID"))
  136. if err != nil {
  137. app.Error(c, err.Error())
  138. return
  139. }
  140. app.Success(c, nil)
  141. }