123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258 |
- /*
- * @description: 安全巡检审批相关
- * @Author: LanJianRong
- * @Date: 2020-12-18
- * @FilePath: \construction_management\web\api\safe_rpc_api.go
- */
- package api
- import (
- "fmt"
- "github.com/kataras/iris/v12"
- "go.mod/services"
- "go.mod/web/utils"
- )
- type SafeAuditApi struct {
- //框架-web应用上下文环境
- Ctx iris.Context
- // 需要用的service
- SafeAuditService services.SafeAuditService
- }
- // @Summary 开始审批
- // @Tags 安全巡检-审批
- // @Description 开始审批
- // @Accept json
- // @Produce json
- // @Security ApiKeyAuth
- // @Param safe_id body string true "质量巡检id"
- // @Param bidsection_id body string true "标段id"
- // @Param auditors body array true "审核组"
- // @Param reAuditors body array true "复查组"
- // @Success 200 {string} string "{code:0成功,-1参数类错误,-2服务端内部错误,msg:错误信息}"
- // @Failure 400 {string} string "{code:0成功,-1参数类错误,-2服务端内部错误,msg:错误信息}"
- // @Router /api/safe_audit/start [post]
- func (c *SafeAuditApi) PostStart() {
- // 1.规则验证
- safeAuditData, err := c.SafeAuditService.ValidStart(c.Ctx)
- if err != nil {
- c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
- return
- }
- // 2.获取bid
- bidsectionId, err := utils.GetDecryptId(safeAuditData.BidsectionId)
- if err != nil {
- c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
- return
- }
- // 3.获取safeId
- safeId, err := utils.GetDecryptId(safeAuditData.SafeId)
- if err != nil {
- c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
- return
- }
- // 4.解析审批组id、复查组id
- var auditors []int
- for _, item := range safeAuditData.Auditors {
- auditId, _ := utils.GetDecryptId(item)
- auditors = append(auditors, auditId)
- }
- var reAuditors []int
- for _, item := range safeAuditData.ReAuditors {
- auditId, _ := utils.GetDecryptId(item)
- reAuditors = append(reAuditors, auditId)
- }
- // 5.获取当前用户id
- uid, err := utils.GetProjectAccountId(c.Ctx)
- if err != nil {
- c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
- return
- }
- // 6.获取当前项目id
- pid, err := utils.GetProjectId(c.Ctx)
- if err != nil {
- c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
- return
- }
- // 7.执行sql
- err = c.SafeAuditService.StartAudit(safeId, bidsectionId, auditors, reAuditors, uid, pid, safeAuditData.Inspection, safeAuditData.InspectionDetail, safeAuditData.Demand, safeAuditData.CreateTime)
- if err != nil {
- c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
- return
- }
- c.Ctx.JSON(iris.Map{
- "code": 0,
- "msg": "插入成功",
- })
- }
- // @Summary 关闭审批流程
- // @Tags 安全巡检-审批
- // @Description 直接停止审批流程
- // @Accept json
- // @Produce json
- // @Param id body string true "审批流程id"
- // @Param safe_id body string true "巡检id"
- // @Param opinion body string true "审批意见"
- // @Success 200 {string} string "{code:0成功,-1参数类错误,-2服务端内部错误,msg:错误信息}"
- // @Failure 400 {string} string "{code:0成功,-1参数类错误,-2服务端内部错误,msg:错误信息}"
- // @Router /api/safe_audit/close [post]
- func (c *SafeAuditApi) PostClose() {
- // 1.规则验证
- safeAuditData, err := c.SafeAuditService.ValidRule(c.Ctx)
- if err != nil {
- c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
- return
- }
- // 2.获取审批记录id
- id, err := utils.GetDecryptId(safeAuditData.Id)
- if err != nil {
- c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
- return
- }
- // 3.获取安全巡检记录id
- safeId, err := utils.GetDecryptId(safeAuditData.SafeId)
- if err != nil {
- c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
- return
- }
- // 4.解析登录id
- uid, err := utils.GetProjectAccountId(c.Ctx)
- if err != nil {
- c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
- return
- }
- // 5. 执行sql
- err = c.SafeAuditService.CloseAudit(id, safeAuditData.Opinion, uid, safeId)
- if err != nil {
- c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
- return
- }
- // 6. 返回结果
- c.Ctx.JSON(iris.Map{
- "code": 0,
- "msg": "请求成功",
- })
- }
- // @Summary 审批退回
- // @Tags 安全巡检-审批
- // @Description
- // @Accept json
- // @Produce json
- // @Param id body string true "审批id"
- // @Param safe_id body string true "巡检id"
- // @Param audit_id body string false "回滚的审批流程id, 不传则退回到上报人"
- // @Param opinion body string true "审批意见"
- // @Success 200 {string} string "{code:0成功,-1参数类错误,-2服务端内部错误,msg:错误信息}"
- // @Failure 400 {string} string "{code:0成功,-1参数类错误,-2服务端内部错误,msg:错误信息}"
- // @Router /api/safe_audit/back [post]
- func (c *SafeAuditApi) PostBack() {
- // 1.规则验证
- safeAuditData, err := c.SafeAuditService.ValidRule(c.Ctx)
- if err != nil {
- c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
- return
- }
- // 2.获取当前审批流程id
- id, err := utils.GetDecryptId(safeAuditData.Id)
- if err != nil {
- c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
- return
- }
- // 3.解析登录id
- uid, err := utils.GetProjectAccountId(c.Ctx)
- if err != nil {
- c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
- return
- }
- // 4.获取安全巡检记录id、回滚的审批流程id
- safeId, err := utils.GetDecryptId(safeAuditData.SafeId)
- if err != nil {
- c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
- return
- }
- // 说明退回到了检查人
- if safeAuditData.AuditId == "" {
- err = c.SafeAuditService.BackAudit(id, safeAuditData.Opinion, uid, safeId, 0)
- if err != nil {
- c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
- return
- }
- } else {
- auditId, err := utils.GetDecryptId(safeAuditData.AuditId)
- if err != nil {
- c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
- return
- }
- err = c.SafeAuditService.BackAudit(id, safeAuditData.Opinion, uid, safeId, auditId)
- if err != nil {
- c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
- return
- }
- }
- // 6. 返回结果
- c.Ctx.JSON(iris.Map{
- "code": 0,
- "msg": "请求成功",
- })
- }
- // @Summary 审批通过
- // @Tags 安全巡检-审批
- // @Description
- // @Accept json
- // @Produce json
- // @Param id body string true "审批id"
- // @Param safe_id body string true "巡检id"
- // @Param audit_id body string false "整改人id"
- // @Param opinion body string false "审批意见"
- // @Param rectifiedInfo body string false "整改情况"
- // @Param rectifiedTime body string false "整改日期"
- // @Success 200 {string} string "{code:0成功,-1参数类错误,-2服务端内部错误,msg:错误信息}"
- // @Failure 400 {string} string "{code:0成功,-1参数类错误,-2服务端内部错误,msg:错误信息}"
- // @Router /api/safe_audit/pass [post]
- func (c *SafeAuditApi) PostPass() {
- // 1.规则验证
- safeAuditData, err := c.SafeAuditService.ValidRule(c.Ctx)
- if err != nil {
- c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
- return
- }
- // 2.获取审批记录id
- id, err := utils.GetDecryptId(safeAuditData.Id)
- if err != nil {
- c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
- return
- }
- var auditId = 0
- if safeAuditData.AuditId != "" {
- aid, err := utils.GetDecryptId(safeAuditData.AuditId)
- if err != nil {
- c.Ctx.JSON(iris.Map{"code": -1, "msg": "解析参数,请检查参数"})
- return
- }
- auditId = aid
- }
- // 3.解析登录id
- uid, err := utils.GetProjectAccountId(c.Ctx)
- if err != nil {
- c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
- return
- }
- // 4. 执行sql
- err = c.SafeAuditService.PassAudit(id, uid, auditId, safeAuditData.Opinion, safeAuditData.RectifiedInfo, safeAuditData.RectifiedTime)
- if err != nil {
- c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
- return
- }
- // 6. 返回结果
- c.Ctx.JSON(iris.Map{
- "code": 0,
- "msg": "请求成功",
- })
- }
|