safe_audit_api.go 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. /*
  2. * @description: 安全巡检审批相关
  3. * @Author: LanJianRong
  4. * @Date: 2020-12-18
  5. * @FilePath: \construction_management\web\api\safe_rpc_api.go
  6. */
  7. package api
  8. import (
  9. "fmt"
  10. "github.com/kataras/iris/v12"
  11. "go.mod/services"
  12. "go.mod/web/utils"
  13. )
  14. type SafeAuditApi struct {
  15. //框架-web应用上下文环境
  16. Ctx iris.Context
  17. // 需要用的service
  18. SafeAuditService services.SafeAuditService
  19. }
  20. // @Summary 添加审批流程
  21. // @Tags 安全巡检-审批
  22. // @Description 增加审批人进审批流程
  23. // @Accept json
  24. // @Produce json
  25. // @Security ApiKeyAuth
  26. // @Param safe_id body string true "质量巡检id"
  27. // @Param bidsection_id body string true "标段id"
  28. // @Param times body string true "审批次数"
  29. // @Param audit_id body string true "审批人id"
  30. // @Success 200 {string} string "{code:0成功,-1参数类错误,-2服务端内部错误,msg:错误信息}"
  31. // @Failure 400 {string} string "{code:0成功,-1参数类错误,-2服务端内部错误,msg:错误信息}"
  32. // @Router /api/safe_audit/add [post]
  33. func (c *SafeAuditApi) PostAdd() {
  34. // 1.规则验证
  35. safeAuditData, err := c.SafeAuditService.ValidRule(c.Ctx)
  36. if err != nil {
  37. c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
  38. return
  39. }
  40. bidsectionId, err := utils.GetDecryptId(safeAuditData.BidsectionId)
  41. if err != nil {
  42. c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
  43. return
  44. }
  45. auditId, err := utils.GetDecryptId(safeAuditData.AuditId)
  46. if err != nil {
  47. c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
  48. return
  49. }
  50. safeId, err := utils.GetDecryptId(safeAuditData.SafeId)
  51. if err != nil {
  52. c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
  53. return
  54. }
  55. err = c.SafeAuditService.AddAuditor(safeId, bidsectionId, auditId, safeAuditData.Times)
  56. if err != nil {
  57. c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
  58. return
  59. }
  60. c.Ctx.JSON(iris.Map{
  61. "code": 0,
  62. "msg": "插入成功",
  63. })
  64. }
  65. // @Summary 关闭审批流程
  66. // @Tags 安全巡检-审批
  67. // @Description 直接停止审批流程
  68. // @Accept json
  69. // @Produce json
  70. // @Param id body string true "审批id"
  71. // @Param safe_id body string true "巡检id"
  72. // @Param opinion body string true "审批意见"
  73. // @Success 200 {string} string "{code:0成功,-1参数类错误,-2服务端内部错误,msg:错误信息}"
  74. // @Failure 400 {string} string "{code:0成功,-1参数类错误,-2服务端内部错误,msg:错误信息}"
  75. // @Router /api/safe_audit/close [post]
  76. func (c *SafeAuditApi) PostClose() {
  77. // 1.规则验证
  78. safeAuditData, err := c.SafeAuditService.ValidRule(c.Ctx)
  79. if err != nil {
  80. c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
  81. return
  82. }
  83. // 2.获取审批记录id
  84. id, err := utils.GetDecryptId(safeAuditData.Id)
  85. if err != nil {
  86. c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
  87. return
  88. }
  89. // 3.获取安全巡检记录id
  90. safeId, err := utils.GetDecryptId(safeAuditData.SafeId)
  91. if err != nil {
  92. c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
  93. return
  94. }
  95. // 4.解析登录id
  96. uid, err := utils.GetProjectAccountId(c.Ctx)
  97. if err != nil {
  98. c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
  99. return
  100. }
  101. // 5. 执行sql
  102. err = c.SafeAuditService.CloseAudit(id, safeAuditData.Opinion, uid, safeId)
  103. if err != nil {
  104. c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
  105. return
  106. }
  107. // 6. 返回结果
  108. c.Ctx.JSON(iris.Map{
  109. "code": 0,
  110. "msg": "请求成功",
  111. })
  112. }
  113. // @Summary 审批退回
  114. // @Tags 安全巡检-审批
  115. // @Description
  116. // @Accept json
  117. // @Produce json
  118. // @Param id body string true "审批id"
  119. // @Param safe_id body string true "巡检id"
  120. // @Param audit_id body string true "回滚的审批人id"
  121. // @Param progress body string true "退回的类型,0审批,1整改,2复查,不传则为原报"
  122. // @Param opinion body string true "审批意见"
  123. // @Success 200 {string} string "{code:0成功,-1参数类错误,-2服务端内部错误,msg:错误信息}"
  124. // @Failure 400 {string} string "{code:0成功,-1参数类错误,-2服务端内部错误,msg:错误信息}"
  125. // @Router /api/safe_audit/back [post]
  126. func (c *SafeAuditApi) PostBack() {
  127. // 1.规则验证
  128. safeAuditData, err := c.SafeAuditService.ValidRule(c.Ctx)
  129. if err != nil {
  130. c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
  131. return
  132. }
  133. // 2.获取审批记录id
  134. id, err := utils.GetDecryptId(safeAuditData.Id)
  135. if err != nil {
  136. c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
  137. return
  138. }
  139. // 3.获取安全巡检记录id、回滚的审批人id
  140. safeId, err := utils.GetDecryptId(safeAuditData.SafeId)
  141. if err != nil {
  142. c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
  143. return
  144. }
  145. auditId, err := utils.GetDecryptId(safeAuditData.AuditId)
  146. if err != nil {
  147. c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
  148. return
  149. }
  150. // 4.解析登录id
  151. uid, err := utils.GetProjectAccountId(c.Ctx)
  152. if err != nil {
  153. c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
  154. return
  155. }
  156. // 5. 执行sql
  157. err = c.SafeAuditService.BackAudit(id, safeAuditData.Opinion, uid, safeId, auditId, safeAuditData.Progress)
  158. if err != nil {
  159. c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
  160. return
  161. }
  162. // 6. 返回结果
  163. c.Ctx.JSON(iris.Map{
  164. "code": 0,
  165. "msg": "请求成功",
  166. })
  167. }