| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285 | 
							- /*
 
-  * @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   times     body    string     true        "审批次数"
 
- // @Param   audit_id     body    string     true        "审批人id"
 
- // @Success 200 {string} string	"{code:0成功,-1参数类错误,-2服务端内部错误,msg:错误信息}"
 
- // @Failure 400 {string} string	"{code:0成功,-1参数类错误,-2服务端内部错误,msg:错误信息}"
 
- // @Router /api/safe_audit/add [post]
 
- func (c *SafeAuditApi) PostAdd() {
 
- 	// 1.规则验证
 
- 	safeAuditData, err := c.SafeAuditService.ValidRule(c.Ctx)
 
- 	if err != nil {
 
- 		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
 
- 		return
 
- 	}
 
- 	bidsectionId, err := utils.GetDecryptId(safeAuditData.BidsectionId)
 
- 	if err != nil {
 
- 		c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
 
- 		return
 
- 	}
 
- 	auditId, err := utils.GetDecryptId(safeAuditData.AuditId)
 
- 	if err != nil {
 
- 		c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
 
- 		return
 
- 	}
 
- 	safeId, err := utils.GetDecryptId(safeAuditData.SafeId)
 
- 	if err != nil {
 
- 		c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
 
- 		return
 
- 	}
 
- 	err = c.SafeAuditService.AddAuditor(safeId, bidsectionId, auditId, safeAuditData.Times)
 
- 	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
 
- // @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
 
- 	}
 
- 	bidsectionId, err := utils.GetDecryptId(safeAuditData.BidsectionId)
 
- 	if err != nil {
 
- 		c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
 
- 		return
 
- 	}
 
- 	safeId, err := utils.GetDecryptId(safeAuditData.SafeId)
 
- 	if err != nil {
 
- 		c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
 
- 		return
 
- 	}
 
- 	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)
 
- 	}
 
- 	uid, err := utils.GetProjectAccountId(c.Ctx)
 
- 	if err != nil {
 
- 		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
 
- 		return
 
- 	}
 
- 	err = c.SafeAuditService.StartAudit(safeId, bidsectionId, safeAuditData.Times, auditors, reAuditors, uid)
 
- 	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     true        "回滚的审批人id"
 
- // @Param   progress     body    string     true        "退回的类型,uncheck退回检查人,checking整改人,checkNo复查人,checked审批人"
 
- // @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、回滚的审批人id
 
- 	safeId, err := utils.GetDecryptId(safeAuditData.SafeId)
 
- 	if err != nil {
 
- 		c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
 
- 		return
 
- 	}
 
- 	auditId, err := utils.GetDecryptId(safeAuditData.AuditId)
 
- 	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.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 "整改情况"
 
- // @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)
 
- 	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":  "请求成功",
 
- 	})
 
- }
 
 
  |