workprocess.go 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. package work
  2. import (
  3. "zhiyuan/models"
  4. "zhiyuan/pkg/app"
  5. "zhiyuan/pkg/utils"
  6. "zhiyuan/services/form"
  7. "zhiyuan/services/work/workprocess"
  8. "github.com/gin-gonic/gin"
  9. )
  10. func WorkProcessList(c *gin.Context) {
  11. page := app.HandlePageNums(c)
  12. where := map[string]string{
  13. "where": "`zy_work_process`.`id`>0 AND `zy_work_process`.`deleted_at`=0",
  14. "_order_by": "`zy_work_process`.`order_at` desc",
  15. }
  16. if page.PageSize != 0 {
  17. where["_page_size"] = utils.ToStr(page.PageSize)
  18. where["_page_num"] = utils.ToStr(page.PageNum)
  19. }
  20. param := make(map[string]interface{})
  21. name := c.Query("name")
  22. if name != "" {
  23. where["where"] = where["where"] + " AND `zy_work_process`.`name` LIKE {{name}}"
  24. param["name"] = "%" + name + "%"
  25. }
  26. node_id := utils.ToInt(c.Query("node_id"))
  27. if node_id != 0 {
  28. where["where"] = where["where"] + " AND `zy_work_process`.`node_id`={{node_id}}"
  29. param["node_id"] = node_id
  30. }
  31. total, err := workprocess.CountRaw(where["where"], param)
  32. if err != nil {
  33. app.Error(c, err.Error())
  34. return
  35. }
  36. workProcessList := make([]models.WorkProcess, 0)
  37. if _, err = workprocess.GetWorkProcesssRaw(where, param, &workProcessList); err != nil {
  38. app.Error(c, err.Error())
  39. return
  40. }
  41. data := gin.H{
  42. "list": workProcessList,
  43. "total": total,
  44. "limit": page.PageSize,
  45. }
  46. app.Success(c, data)
  47. }
  48. func WorkProcessAdd(c *gin.Context) {
  49. var addForm form.WorkProcessAdd
  50. if app.Bind(c, &addForm) != nil {
  51. return
  52. }
  53. id, err := workprocess.Add(addForm)
  54. if err != nil {
  55. app.Error(c, err.Error())
  56. return
  57. }
  58. app.Success(c, gin.H{"id": id})
  59. }
  60. func WorkProcessEdit(c *gin.Context) {
  61. id := utils.ToInt(c.Param("id"))
  62. if id <= 0 {
  63. app.ErrorMsg(c, "workprocess id must be a number", nil)
  64. return
  65. }
  66. var addForm form.WorkProcessAdd
  67. if app.Bind(c, &addForm) != nil {
  68. return
  69. }
  70. err := workprocess.EditByID(addForm, id)
  71. if err != nil {
  72. app.ErrorMsg(c, err.Error(), nil)
  73. return
  74. }
  75. app.Success(c, nil)
  76. }
  77. func WorkProcessDel(c *gin.Context) {
  78. id := utils.ToInt(c.Param("id"))
  79. if id <= 0 {
  80. app.ErrorMsg(c, "workprocess id must be a number", nil)
  81. return
  82. }
  83. err := workprocess.DeleteByID(id)
  84. if err != nil {
  85. app.Error(c, err.Error())
  86. return
  87. }
  88. app.Success(c, nil)
  89. }