| | |
| | | "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{} |
| | |
| | | } |
| | | 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) |
| | | } |