yinbentan
2024-07-12 cdf1e74e60dd3bd214081577f25805ffee921b83
controllers/dict.go
@@ -5,12 +5,14 @@
   "fmt"
   "github.com/gin-gonic/gin"
   "gorm.io/gorm"
   "silkserver/constvar"
   "silkserver/controllers/request"
   "silkserver/extend/code"
   "silkserver/extend/util"
   "silkserver/models"
   "silkserver/pkg/convertx"
   "silkserver/pkg/structx"
   "strconv"
)
type DictController struct{}
@@ -158,3 +160,52 @@
   }
   util.ResponseFormat(c, code.UpdateSuccess, "删除成功")
}
// GetAutoCode
//
// @Tags   系统设置/字典
// @Summary   获取自动编码
// @Produce   application/json
// @Param   Authorization   header string true "token"
// @Param   object  query    request.CodeStandard true  "查询参数"
// @Success   200   {object}   util.Response{data=map[string]interface{}}
// @Router   /api-jl/v1/system/getAutoCode [get]
func (slf *DictController) GetAutoCode(c *gin.Context) {
   var params request.CodeStandard
   var (
      id     = 0
      prefix = ""
      err    error
   )
   if params.Type, err = strconv.Atoi(c.Query("type")); err != nil {
      util.ResponseFormat(c, code.RequestParamError, "请输入正确的类型")
      return
   }
   switch constvar.CodeStandardType(params.Type) {
   case constvar.CodeStandardType_Workshop:
      id, err = models.NewWorkshopManageSearch().MaxAutoIncr()
      prefix = "CJ"
   case constvar.CodeStandardType_Fineness:
      id, err = models.NewFinenessRegisterSearch().MaxAutoIncr()
      prefix = "XD"
   default:
      util.ResponseFormat(c, code.RequestParamError, "编码规则不存在")
      return
   }
   if err != nil {
      util.ResponseFormat(c, code.RequestParamError, "获取最大值失败")
      return
   }
   m := make(map[string]interface{})
   strMaxAutoIncr := strconv.Itoa(id + 1)
   count := 8 - len(strMaxAutoIncr)
   for i := 0; i < count; i++ {
      strMaxAutoIncr = "0" + strMaxAutoIncr
   }
   m["id"] = prefix + strMaxAutoIncr
   m["codeStandardID"] = constvar.CodeStandardType_Fineness
   m["maxAutoIncr"] = id + 1
   util.ResponseFormat(c, code.Success, m)
}