123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261 |
- /*
- * @description: 质量巡检审批相关
- * @Author: LanJianRong
- * @Date: 2020-12-18
- * @FilePath: \construction_management\web\api\quality_audit_api.go
- */
- package api
- import (
- "fmt"
- "github.com/kataras/iris/v12"
- "go.mod/services"
- "go.mod/web/utils"
- )
- type QualityAuditApi struct {
- //框架-web应用上下文环境
- Ctx iris.Context
- // 需要用的service
- QualityAuditService services.QualityAuditService
- }
- // @Summary 开始审批
- // @Tags 质量巡检-审批
- // @Description 开始审批
- // @Accept json
- // @Produce json
- // @Security ApiKeyAuth
- // @Param quality_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/quality_audit/start [post]
- func (c *QualityAuditApi) PostStart() {
- // 1.规则验证
- qualityAuditData, err := c.QualityAuditService.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(qualityAuditData.BidsectionId)
- if err != nil {
- c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
- return
- }
- // 3.获取qualityId
- qualityId, err := utils.GetDecryptId(qualityAuditData.QualityId)
- if err != nil {
- c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
- return
- }
- // 4.解析审批组id、复查组id
- var auditors []int
- for _, item := range qualityAuditData.Auditors {
- auditId, _ := utils.GetDecryptId(item)
- auditors = append(auditors, auditId)
- }
- var reAuditors []int
- for _, item := range qualityAuditData.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.QualityAuditService.StartAudit(qualityId, bidsectionId, auditors, reAuditors, uid, pid, qualityAuditData.Inspection, qualityAuditData.InspectionDetail, qualityAuditData.Demand, qualityAuditData.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 quality_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/quality_audit/close [post]
- func (c *QualityAuditApi) PostClose() {
- // 1.规则验证
- qualityAuditData, err := c.QualityAuditService.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(qualityAuditData.Id)
- if err != nil {
- c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
- return
- }
- // 3.获取质量巡检记录id
- qualityId, err := utils.GetDecryptId(qualityAuditData.QualityId)
- 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.QualityAuditService.CloseAudit(id, qualityAuditData.Opinion, uid, qualityId)
- 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 quality_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/quality_audit/back [post]
- func (c *QualityAuditApi) PostBack() {
- // 1.规则验证
- qualityAuditData, err := c.QualityAuditService.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(qualityAuditData.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
- qualityId, err := utils.GetDecryptId(qualityAuditData.QualityId)
- if err != nil {
- c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
- return
- }
- // 说明退回到了检查人
- if qualityAuditData.AuditId == "" {
- err = c.QualityAuditService.BackAudit(id, qualityAuditData.Opinion, uid, qualityId, 0)
- if err != nil {
- c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
- return
- }
- } else {
- auditId, err := utils.GetDecryptId(qualityAuditData.AuditId)
- if err != nil {
- c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
- return
- }
- err = c.QualityAuditService.BackAudit(id, qualityAuditData.Opinion, uid, qualityId, 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 quality_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/quality_audit/pass [post]
- func (c *QualityAuditApi) PostPass() {
- // 1.规则验证
- qualityAuditData, err := c.QualityAuditService.ValidRule(c.Ctx)
- fmt.Println("---------------------------------------------------------")
- fmt.Println(qualityAuditData.RectifiedTime)
- fmt.Println("---------------------------------------------------------")
- if err != nil {
- c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
- return
- }
- // 2.获取审批记录id
- id, err := utils.GetDecryptId(qualityAuditData.Id)
- if err != nil {
- c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
- return
- }
- var auditId = 0
- if qualityAuditData.AuditId != "" {
- aid, err := utils.GetDecryptId(qualityAuditData.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.QualityAuditService.PassAudit(id, uid, auditId, qualityAuditData.Opinion, qualityAuditData.RectifiedInfo, qualityAuditData.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": "请求成功",
- })
- }
|