Merge branch 'master' of http://192.168.5.5:10010/r/silk/silkServer
| | |
| | | .idea |
| | | *.db |
| | | vendor |
| | | logs |
| | | logs |
| | | silkserver |
| | |
| | | ## WMS |
| | | ## SilkServer 缫丝系统 |
| | | |
| | | > 基于 GIN + JWT + Gorm 开发。 |
| | | |
| | |
| | | |
| | | ### 快速开始 |
| | | |
| | | |
| | | ```bash |
| | | $ cd wms |
| | | $ cd silkServer |
| | | |
| | | # 配置国内代理(可选) |
| | | $ export GOPROXY=https://goproxy.cn |
| | | |
| | | $ go build -v |
| | | |
| | | $ ./wms |
| | | $ ./silkServer |
| | | ``` |
| | | |
| | | ### 更新接口文档 |
| | | ```bash |
| | | swag init -pd |
| | | ``` |
| | |
| | | } |
| | | |
| | | id := convertx.StringToUInt(idStr) |
| | | if id == 0 { |
| | | util.ResponseFormat(c, code.RequestParamError, "空的记录id") |
| | | return |
| | | } |
| | | err := models.NewDictSearch().SetID(id).Delete() |
| | | if err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "删除失败") |
New file |
| | |
| | | package controllers |
| | | |
| | | import ( |
| | | "github.com/gin-gonic/gin" |
| | | "silkserver/controllers/request" |
| | | "silkserver/extend/code" |
| | | "silkserver/extend/util" |
| | | "silkserver/models" |
| | | "silkserver/pkg/convertx" |
| | | "silkserver/pkg/structx" |
| | | ) |
| | | |
| | | type FinenessController struct{} |
| | | |
| | | // Add |
| | | // @Tags 纤度登记 |
| | | // @Summary 纤度登记添加 |
| | | // @Produce application/json |
| | | // @Param object body request.AddFinenessRegister true "字典信息" |
| | | // @Success 200 {object} util.Response "成功" |
| | | // @Router /api-jl/v1/fineness/register [post] |
| | | func (slf FinenessController) Add(c *gin.Context) { |
| | | var reqParams request.AddFinenessRegister |
| | | var params models.FinenessRegister |
| | | if err := c.BindJSON(&reqParams); err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "参数解析失败,数据类型错误") |
| | | return |
| | | } |
| | | if err := structx.AssignTo(reqParams, ¶ms); err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "数据转换错误") |
| | | return |
| | | } |
| | | |
| | | if err := slf.ParamsCheck(params); err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, err.Error()) |
| | | return |
| | | } |
| | | if err := models.NewFinenessRegisterSearch().Create(¶ms); err != nil { |
| | | util.ResponseFormat(c, code.SaveFail, "插入失败") |
| | | return |
| | | } |
| | | |
| | | util.ResponseFormat(c, code.Success, "添加成功") |
| | | } |
| | | |
| | | func (slf FinenessController) ParamsCheck(params models.FinenessRegister) (err error) { |
| | | return nil |
| | | } |
| | | |
| | | // List |
| | | // @Tags 纤度登记 |
| | | // @Summary 纤度登记列表 |
| | | // @Produce application/json |
| | | // @Param object query request.GetFinenessRegisterList true "查询参数" |
| | | // @Success 200 {object} util.ResponseList{data=[]models.FinenessRegister} "成功" |
| | | // @Router /api-jl/v1/fineness/register [get] |
| | | func (slf FinenessController) List(c *gin.Context) { |
| | | var params request.GetFinenessRegisterList |
| | | if err := c.ShouldBindQuery(¶ms); err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, err.Error()) |
| | | return |
| | | } |
| | | |
| | | list, total, err := models.NewFinenessRegisterSearch().Find() |
| | | if err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "查找失败") |
| | | return |
| | | } |
| | | |
| | | util.ResponseFormatList(c, code.Success, list, int(total)) |
| | | } |
| | | |
| | | // Delete |
| | | // @Tags 纤度登记 |
| | | // @Summary 纤度登记删除 |
| | | // @Produce application/json |
| | | // @Param id path string true "字典信息" |
| | | // @Success 200 {object} util.Response "成功" |
| | | // @Router /api-jl/v1/fineness/register/{id} [delete] |
| | | func (slf FinenessController) Delete(c *gin.Context) { |
| | | idStr := c.Param("id") |
| | | if idStr == "0" || idStr == "" { |
| | | util.ResponseFormat(c, code.RequestParamError, "空的记录id") |
| | | return |
| | | } |
| | | |
| | | id := convertx.StringToUInt(idStr) |
| | | if id == 0 { |
| | | util.ResponseFormat(c, code.RequestParamError, "空的记录id") |
| | | return |
| | | } |
| | | |
| | | err := models.NewFinenessRegisterSearch().SetID(id).Delete() |
| | | if err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "删除失败") |
| | | return |
| | | } |
| | | util.ResponseFormat(c, code.UpdateSuccess, "删除成功") |
| | | } |
New file |
| | |
| | | package request |
| | | |
| | | import "github.com/shopspring/decimal" |
| | | |
| | | type AddFinenessRegister struct { |
| | | Number string `gorm:"type:varchar(255);not null;comment:编号" json:"number"` //编号 |
| | | FinishDate string `gorm:"type:varchar(255);not null;comment:落丝时间" json:"finishDate"` //落丝时间 |
| | | Workshop string `gorm:"type:varchar(255);not null;comment:车间" json:"name"` //车间 |
| | | WorkshopGroup string `gorm:"type:varchar(255);not null;comment:车组" json:"workshopGroup"` //车组 |
| | | Market string `gorm:"type:varchar(255);not null;comment:庄口" json:"market"` //庄口 |
| | | Spec string `gorm:"type:varchar(255);not null;comment:规格" json:"spec"` //规格 |
| | | StartCircle uint8 `gorm:"type:varchar(255);not null;comment:开始回数" json:"startCircle"` //开始回数 |
| | | EndCircle uint8 `gorm:"type:varchar(255);not null;comment:结束回数" json:"endCircle"` //结束回数 |
| | | FinenessList []FinenessItem `json:"finenessList"` |
| | | Sum FinenessItem `json:"sum"` |
| | | } |
| | | |
| | | type FinenessItem struct { |
| | | Position int8 `json:"position"` |
| | | Fineness decimal.Decimal `json:"fineness"` |
| | | Quantity decimal.Decimal `json:"quantity"` |
| | | Sum decimal.Decimal `json:"sum"` |
| | | } |
| | | |
| | | type GetFinenessRegisterList struct { |
| | | PageInfo |
| | | } |
| | |
| | | "host": "{{.Host}}", |
| | | "basePath": "{{.BasePath}}", |
| | | "paths": { |
| | | "/api-jl/v1/fineness/register": { |
| | | "get": { |
| | | "produces": [ |
| | | "application/json" |
| | | ], |
| | | "tags": [ |
| | | "纤度登记" |
| | | ], |
| | | "summary": "纤度登记列表", |
| | | "parameters": [ |
| | | { |
| | | "type": "integer", |
| | | "description": "页码", |
| | | "name": "page", |
| | | "in": "query" |
| | | }, |
| | | { |
| | | "type": "integer", |
| | | "description": "每页大小", |
| | | "name": "pageSize", |
| | | "in": "query" |
| | | } |
| | | ], |
| | | "responses": { |
| | | "200": { |
| | | "description": "成功", |
| | | "schema": { |
| | | "allOf": [ |
| | | { |
| | | "$ref": "#/definitions/util.ResponseList" |
| | | }, |
| | | { |
| | | "type": "object", |
| | | "properties": { |
| | | "data": { |
| | | "type": "array", |
| | | "items": { |
| | | "$ref": "#/definitions/models.FinenessRegister" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | ] |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | "post": { |
| | | "produces": [ |
| | | "application/json" |
| | | ], |
| | | "tags": [ |
| | | "纤度登记" |
| | | ], |
| | | "summary": "纤度登记添加", |
| | | "parameters": [ |
| | | { |
| | | "description": "字典信息", |
| | | "name": "object", |
| | | "in": "body", |
| | | "required": true, |
| | | "schema": { |
| | | "$ref": "#/definitions/request.AddFinenessRegister" |
| | | } |
| | | } |
| | | ], |
| | | "responses": { |
| | | "200": { |
| | | "description": "成功", |
| | | "schema": { |
| | | "$ref": "#/definitions/util.Response" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | "/api-jl/v1/fineness/register/{id}": { |
| | | "delete": { |
| | | "produces": [ |
| | | "application/json" |
| | | ], |
| | | "tags": [ |
| | | "纤度登记" |
| | | ], |
| | | "summary": "纤度登记删除", |
| | | "parameters": [ |
| | | { |
| | | "type": "string", |
| | | "description": "字典信息", |
| | | "name": "id", |
| | | "in": "path", |
| | | "required": true |
| | | } |
| | | ], |
| | | "responses": { |
| | | "200": { |
| | | "description": "成功", |
| | | "schema": { |
| | | "$ref": "#/definitions/util.Response" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | "/api-jl/v1/system/dict": { |
| | | "get": { |
| | | "produces": [ |
| | |
| | | } |
| | | } |
| | | }, |
| | | "models.FinenessItem": { |
| | | "type": "object", |
| | | "properties": { |
| | | "createdAt": { |
| | | "type": "string" |
| | | }, |
| | | "deletedAt": { |
| | | "$ref": "#/definitions/gorm.DeletedAt" |
| | | }, |
| | | "fineness": { |
| | | "type": "number" |
| | | }, |
| | | "finenessRegisterID": { |
| | | "type": "integer" |
| | | }, |
| | | "id": { |
| | | "type": "integer" |
| | | }, |
| | | "position": { |
| | | "type": "integer" |
| | | }, |
| | | "quantity": { |
| | | "type": "number" |
| | | }, |
| | | "sum": { |
| | | "type": "number" |
| | | }, |
| | | "updatedAt": { |
| | | "type": "string" |
| | | } |
| | | } |
| | | }, |
| | | "models.FinenessRegister": { |
| | | "type": "object", |
| | | "properties": { |
| | | "createdAt": { |
| | | "type": "string" |
| | | }, |
| | | "deletedAt": { |
| | | "$ref": "#/definitions/gorm.DeletedAt" |
| | | }, |
| | | "endCircle": { |
| | | "description": "结束回数", |
| | | "type": "integer" |
| | | }, |
| | | "finenessList": { |
| | | "type": "array", |
| | | "items": { |
| | | "$ref": "#/definitions/models.FinenessItem" |
| | | } |
| | | }, |
| | | "finishDate": { |
| | | "description": "落丝时间", |
| | | "type": "string" |
| | | }, |
| | | "id": { |
| | | "type": "integer" |
| | | }, |
| | | "market": { |
| | | "description": "庄口", |
| | | "type": "string" |
| | | }, |
| | | "name": { |
| | | "description": "车间", |
| | | "type": "string" |
| | | }, |
| | | "number": { |
| | | "description": "编号", |
| | | "type": "string" |
| | | }, |
| | | "spec": { |
| | | "description": "规格", |
| | | "type": "string" |
| | | }, |
| | | "startCircle": { |
| | | "description": "开始回数", |
| | | "type": "integer" |
| | | }, |
| | | "updatedAt": { |
| | | "type": "string" |
| | | }, |
| | | "workshopGroup": { |
| | | "description": "车组", |
| | | "type": "string" |
| | | } |
| | | } |
| | | }, |
| | | "request.AddDict": { |
| | | "type": "object", |
| | | "properties": { |
| | |
| | | } |
| | | } |
| | | }, |
| | | "request.AddFinenessRegister": { |
| | | "type": "object", |
| | | "properties": { |
| | | "endCircle": { |
| | | "description": "结束回数", |
| | | "type": "integer" |
| | | }, |
| | | "finenessList": { |
| | | "type": "array", |
| | | "items": { |
| | | "$ref": "#/definitions/request.FinenessItem" |
| | | } |
| | | }, |
| | | "finishDate": { |
| | | "description": "落丝时间", |
| | | "type": "string" |
| | | }, |
| | | "market": { |
| | | "description": "庄口", |
| | | "type": "string" |
| | | }, |
| | | "name": { |
| | | "description": "车间", |
| | | "type": "string" |
| | | }, |
| | | "number": { |
| | | "description": "编号", |
| | | "type": "string" |
| | | }, |
| | | "spec": { |
| | | "description": "规格", |
| | | "type": "string" |
| | | }, |
| | | "startCircle": { |
| | | "description": "开始回数", |
| | | "type": "integer" |
| | | }, |
| | | "sum": { |
| | | "$ref": "#/definitions/request.FinenessItem" |
| | | }, |
| | | "workshopGroup": { |
| | | "description": "车组", |
| | | "type": "string" |
| | | } |
| | | } |
| | | }, |
| | | "request.FinenessItem": { |
| | | "type": "object", |
| | | "properties": { |
| | | "fineness": { |
| | | "type": "number" |
| | | }, |
| | | "position": { |
| | | "type": "integer" |
| | | }, |
| | | "quantity": { |
| | | "type": "number" |
| | | }, |
| | | "sum": { |
| | | "type": "number" |
| | | } |
| | | } |
| | | }, |
| | | "request.UpdateDict": { |
| | | "type": "object", |
| | | "properties": { |
| | |
| | | "contact": {} |
| | | }, |
| | | "paths": { |
| | | "/api-jl/v1/fineness/register": { |
| | | "get": { |
| | | "produces": [ |
| | | "application/json" |
| | | ], |
| | | "tags": [ |
| | | "纤度登记" |
| | | ], |
| | | "summary": "纤度登记列表", |
| | | "parameters": [ |
| | | { |
| | | "type": "integer", |
| | | "description": "页码", |
| | | "name": "page", |
| | | "in": "query" |
| | | }, |
| | | { |
| | | "type": "integer", |
| | | "description": "每页大小", |
| | | "name": "pageSize", |
| | | "in": "query" |
| | | } |
| | | ], |
| | | "responses": { |
| | | "200": { |
| | | "description": "成功", |
| | | "schema": { |
| | | "allOf": [ |
| | | { |
| | | "$ref": "#/definitions/util.ResponseList" |
| | | }, |
| | | { |
| | | "type": "object", |
| | | "properties": { |
| | | "data": { |
| | | "type": "array", |
| | | "items": { |
| | | "$ref": "#/definitions/models.FinenessRegister" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | ] |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | "post": { |
| | | "produces": [ |
| | | "application/json" |
| | | ], |
| | | "tags": [ |
| | | "纤度登记" |
| | | ], |
| | | "summary": "纤度登记添加", |
| | | "parameters": [ |
| | | { |
| | | "description": "字典信息", |
| | | "name": "object", |
| | | "in": "body", |
| | | "required": true, |
| | | "schema": { |
| | | "$ref": "#/definitions/request.AddFinenessRegister" |
| | | } |
| | | } |
| | | ], |
| | | "responses": { |
| | | "200": { |
| | | "description": "成功", |
| | | "schema": { |
| | | "$ref": "#/definitions/util.Response" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | "/api-jl/v1/fineness/register/{id}": { |
| | | "delete": { |
| | | "produces": [ |
| | | "application/json" |
| | | ], |
| | | "tags": [ |
| | | "纤度登记" |
| | | ], |
| | | "summary": "纤度登记删除", |
| | | "parameters": [ |
| | | { |
| | | "type": "string", |
| | | "description": "字典信息", |
| | | "name": "id", |
| | | "in": "path", |
| | | "required": true |
| | | } |
| | | ], |
| | | "responses": { |
| | | "200": { |
| | | "description": "成功", |
| | | "schema": { |
| | | "$ref": "#/definitions/util.Response" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | "/api-jl/v1/system/dict": { |
| | | "get": { |
| | | "produces": [ |
| | |
| | | } |
| | | } |
| | | }, |
| | | "models.FinenessItem": { |
| | | "type": "object", |
| | | "properties": { |
| | | "createdAt": { |
| | | "type": "string" |
| | | }, |
| | | "deletedAt": { |
| | | "$ref": "#/definitions/gorm.DeletedAt" |
| | | }, |
| | | "fineness": { |
| | | "type": "number" |
| | | }, |
| | | "finenessRegisterID": { |
| | | "type": "integer" |
| | | }, |
| | | "id": { |
| | | "type": "integer" |
| | | }, |
| | | "position": { |
| | | "type": "integer" |
| | | }, |
| | | "quantity": { |
| | | "type": "number" |
| | | }, |
| | | "sum": { |
| | | "type": "number" |
| | | }, |
| | | "updatedAt": { |
| | | "type": "string" |
| | | } |
| | | } |
| | | }, |
| | | "models.FinenessRegister": { |
| | | "type": "object", |
| | | "properties": { |
| | | "createdAt": { |
| | | "type": "string" |
| | | }, |
| | | "deletedAt": { |
| | | "$ref": "#/definitions/gorm.DeletedAt" |
| | | }, |
| | | "endCircle": { |
| | | "description": "结束回数", |
| | | "type": "integer" |
| | | }, |
| | | "finenessList": { |
| | | "type": "array", |
| | | "items": { |
| | | "$ref": "#/definitions/models.FinenessItem" |
| | | } |
| | | }, |
| | | "finishDate": { |
| | | "description": "落丝时间", |
| | | "type": "string" |
| | | }, |
| | | "id": { |
| | | "type": "integer" |
| | | }, |
| | | "market": { |
| | | "description": "庄口", |
| | | "type": "string" |
| | | }, |
| | | "name": { |
| | | "description": "车间", |
| | | "type": "string" |
| | | }, |
| | | "number": { |
| | | "description": "编号", |
| | | "type": "string" |
| | | }, |
| | | "spec": { |
| | | "description": "规格", |
| | | "type": "string" |
| | | }, |
| | | "startCircle": { |
| | | "description": "开始回数", |
| | | "type": "integer" |
| | | }, |
| | | "updatedAt": { |
| | | "type": "string" |
| | | }, |
| | | "workshopGroup": { |
| | | "description": "车组", |
| | | "type": "string" |
| | | } |
| | | } |
| | | }, |
| | | "request.AddDict": { |
| | | "type": "object", |
| | | "properties": { |
| | |
| | | } |
| | | } |
| | | }, |
| | | "request.AddFinenessRegister": { |
| | | "type": "object", |
| | | "properties": { |
| | | "endCircle": { |
| | | "description": "结束回数", |
| | | "type": "integer" |
| | | }, |
| | | "finenessList": { |
| | | "type": "array", |
| | | "items": { |
| | | "$ref": "#/definitions/request.FinenessItem" |
| | | } |
| | | }, |
| | | "finishDate": { |
| | | "description": "落丝时间", |
| | | "type": "string" |
| | | }, |
| | | "market": { |
| | | "description": "庄口", |
| | | "type": "string" |
| | | }, |
| | | "name": { |
| | | "description": "车间", |
| | | "type": "string" |
| | | }, |
| | | "number": { |
| | | "description": "编号", |
| | | "type": "string" |
| | | }, |
| | | "spec": { |
| | | "description": "规格", |
| | | "type": "string" |
| | | }, |
| | | "startCircle": { |
| | | "description": "开始回数", |
| | | "type": "integer" |
| | | }, |
| | | "sum": { |
| | | "$ref": "#/definitions/request.FinenessItem" |
| | | }, |
| | | "workshopGroup": { |
| | | "description": "车组", |
| | | "type": "string" |
| | | } |
| | | } |
| | | }, |
| | | "request.FinenessItem": { |
| | | "type": "object", |
| | | "properties": { |
| | | "fineness": { |
| | | "type": "number" |
| | | }, |
| | | "position": { |
| | | "type": "integer" |
| | | }, |
| | | "quantity": { |
| | | "type": "number" |
| | | }, |
| | | "sum": { |
| | | "type": "number" |
| | | } |
| | | } |
| | | }, |
| | | "request.UpdateDict": { |
| | | "type": "object", |
| | | "properties": { |
| | |
| | | updatedAt: |
| | | type: string |
| | | type: object |
| | | models.FinenessItem: |
| | | properties: |
| | | createdAt: |
| | | type: string |
| | | deletedAt: |
| | | $ref: '#/definitions/gorm.DeletedAt' |
| | | fineness: |
| | | type: number |
| | | finenessRegisterID: |
| | | type: integer |
| | | id: |
| | | type: integer |
| | | position: |
| | | type: integer |
| | | quantity: |
| | | type: number |
| | | sum: |
| | | type: number |
| | | updatedAt: |
| | | type: string |
| | | type: object |
| | | models.FinenessRegister: |
| | | properties: |
| | | createdAt: |
| | | type: string |
| | | deletedAt: |
| | | $ref: '#/definitions/gorm.DeletedAt' |
| | | endCircle: |
| | | description: 结束回数 |
| | | type: integer |
| | | finenessList: |
| | | items: |
| | | $ref: '#/definitions/models.FinenessItem' |
| | | type: array |
| | | finishDate: |
| | | description: 落丝时间 |
| | | type: string |
| | | id: |
| | | type: integer |
| | | market: |
| | | description: 庄口 |
| | | type: string |
| | | name: |
| | | description: 车间 |
| | | type: string |
| | | number: |
| | | description: 编号 |
| | | type: string |
| | | spec: |
| | | description: 规格 |
| | | type: string |
| | | startCircle: |
| | | description: 开始回数 |
| | | type: integer |
| | | updatedAt: |
| | | type: string |
| | | workshopGroup: |
| | | description: 车组 |
| | | type: string |
| | | type: object |
| | | request.AddDict: |
| | | properties: |
| | | dictType: |
| | |
| | | remark: |
| | | description: 备注 |
| | | type: string |
| | | type: object |
| | | request.AddFinenessRegister: |
| | | properties: |
| | | endCircle: |
| | | description: 结束回数 |
| | | type: integer |
| | | finenessList: |
| | | items: |
| | | $ref: '#/definitions/request.FinenessItem' |
| | | type: array |
| | | finishDate: |
| | | description: 落丝时间 |
| | | type: string |
| | | market: |
| | | description: 庄口 |
| | | type: string |
| | | name: |
| | | description: 车间 |
| | | type: string |
| | | number: |
| | | description: 编号 |
| | | type: string |
| | | spec: |
| | | description: 规格 |
| | | type: string |
| | | startCircle: |
| | | description: 开始回数 |
| | | type: integer |
| | | sum: |
| | | $ref: '#/definitions/request.FinenessItem' |
| | | workshopGroup: |
| | | description: 车组 |
| | | type: string |
| | | type: object |
| | | request.FinenessItem: |
| | | properties: |
| | | fineness: |
| | | type: number |
| | | position: |
| | | type: integer |
| | | quantity: |
| | | type: number |
| | | sum: |
| | | type: number |
| | | type: object |
| | | request.UpdateDict: |
| | | properties: |
| | |
| | | info: |
| | | contact: {} |
| | | paths: |
| | | /api-jl/v1/fineness/register: |
| | | get: |
| | | parameters: |
| | | - description: 页码 |
| | | in: query |
| | | name: page |
| | | type: integer |
| | | - description: 每页大小 |
| | | in: query |
| | | name: pageSize |
| | | type: integer |
| | | produces: |
| | | - application/json |
| | | responses: |
| | | "200": |
| | | description: 成功 |
| | | schema: |
| | | allOf: |
| | | - $ref: '#/definitions/util.ResponseList' |
| | | - properties: |
| | | data: |
| | | items: |
| | | $ref: '#/definitions/models.FinenessRegister' |
| | | type: array |
| | | type: object |
| | | summary: 纤度登记列表 |
| | | tags: |
| | | - 纤度登记 |
| | | post: |
| | | parameters: |
| | | - description: 字典信息 |
| | | in: body |
| | | name: object |
| | | required: true |
| | | schema: |
| | | $ref: '#/definitions/request.AddFinenessRegister' |
| | | produces: |
| | | - application/json |
| | | responses: |
| | | "200": |
| | | description: 成功 |
| | | schema: |
| | | $ref: '#/definitions/util.Response' |
| | | summary: 纤度登记添加 |
| | | tags: |
| | | - 纤度登记 |
| | | /api-jl/v1/fineness/register/{id}: |
| | | delete: |
| | | parameters: |
| | | - description: 字典信息 |
| | | in: path |
| | | name: id |
| | | required: true |
| | | type: string |
| | | produces: |
| | | - application/json |
| | | responses: |
| | | "200": |
| | | description: 成功 |
| | | schema: |
| | | $ref: '#/definitions/util.Response' |
| | | summary: 纤度登记删除 |
| | | tags: |
| | | - 纤度登记 |
| | | /api-jl/v1/system/dict: |
| | | get: |
| | | parameters: |
| | |
| | | Code int `json:"code"` |
| | | Msg string `json:"msg"` |
| | | Data interface{} `json:"data"` |
| | | Total int `json:"total"` |
| | | Total interface{} `json:"total"` |
| | | Page int `json:"page"` |
| | | PageSize int `json:"pageSize"` |
| | | } |
| | |
| | | } |
| | | |
| | | // ResponseFormatList 返回包含总数的列表 |
| | | func ResponseFormatList(c *gin.Context, respStatus *code.Code, data interface{}, count int) { |
| | | func ResponseFormatList(c *gin.Context, respStatus *code.Code, data interface{}, count interface{}) { |
| | | if respStatus == nil { |
| | | respStatus = code.RequestParamError |
| | | } |
| | |
| | | }) |
| | | } |
| | | |
| | | func ResponseFormatListWithPage(c *gin.Context, respStatus *code.Code, data interface{}, count int, page, pageSize int) { |
| | | func ResponseFormatListWithPage(c *gin.Context, respStatus *code.Code, data interface{}, count interface{}, page, pageSize int) { |
| | | if respStatus == nil { |
| | | respStatus = code.RequestParamError |
| | | } |
| | |
| | | github.com/pelletier/go-toml/v2 v2.1.0 // indirect |
| | | github.com/sagikazarmark/locafero v0.4.0 // indirect |
| | | github.com/sagikazarmark/slog-shim v0.1.0 // indirect |
| | | github.com/shopspring/decimal v1.3.1 // indirect |
| | | github.com/sourcegraph/conc v0.3.0 // indirect |
| | | github.com/spf13/afero v1.11.0 // indirect |
| | | github.com/spf13/cast v1.6.0 // indirect |
| | |
| | | package main |
| | | |
| | | import ( |
| | | "context" |
| | | "net/http" |
| | | "os" |
| | | "os/signal" |
| | | "silkserver/conf" |
| | | "silkserver/constvar" |
| | | "silkserver/models" |
| | | "silkserver/pkg/logx" |
| | | "silkserver/router" |
| | |
| | | logx.Errorf("db init error! ", err.Error()) |
| | | return |
| | | } |
| | | |
| | | go shutdown() |
| | | logx.Infof("server start serve...") |
| | | server := &http.Server{ |
| | | Addr: ":" + conf.WebConf.Port, |
| | |
| | | ReadTimeout: 5 * time.Second, |
| | | WriteTimeout: 5 * time.Second, |
| | | } |
| | | |
| | | go shutdown(server) |
| | | logx.Error(server.ListenAndServe().Error()) |
| | | } |
| | | |
| | | func shutdown() { |
| | | func shutdown(server *http.Server) { |
| | | quit := make(chan os.Signal, 1) |
| | | signal.Notify(quit, syscall.SIGKILL, syscall.SIGQUIT, syscall.SIGINT, syscall.SIGTERM) |
| | | <-quit |
| | | |
| | | _ = constvar.GrpcClient.Close() |
| | | logx.Infof("server exited...") |
| | | os.Exit(0) |
| | | // 创建一个上下文,设置超时时间 |
| | | ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) |
| | | defer cancel() |
| | | logx.Infof("server exiting...") |
| | | if err := server.Shutdown(ctx); err != nil { |
| | | logx.Warnf("服务优雅退出失败: %v", err) |
| | | return |
| | | } |
| | | logx.Infof("server exited success") |
| | | } |
| | |
| | | db := mysqlx.GetDB() |
| | | err := db.AutoMigrate( |
| | | Dict{}, |
| | | FinenessRegister{}, |
| | | FinenessItem{}, |
| | | ) |
| | | return err |
| | | } |
New file |
| | |
| | | package models |
| | | |
| | | import ( |
| | | "fmt" |
| | | "gorm.io/gorm" |
| | | "silkserver/pkg/mysqlx" |
| | | ) |
| | | |
| | | type ( |
| | | // FinenessRegister 纤度登记 |
| | | FinenessRegister struct { |
| | | gorm.Model |
| | | Number string `gorm:"type:varchar(255);not null;comment:编号" json:"number"` //编号 |
| | | FinishDate string `gorm:"type:varchar(255);not null;comment:落丝时间" json:"finishDate"` //落丝时间 |
| | | Workshop string `gorm:"type:varchar(255);not null;comment:车间" json:"name"` //车间 |
| | | WorkshopGroup string `gorm:"type:varchar(255);not null;comment:车组" json:"workshopGroup"` //车组 |
| | | Market string `gorm:"type:varchar(255);not null;comment:庄口" json:"market"` //庄口 |
| | | Spec string `gorm:"type:varchar(255);not null;comment:规格" json:"spec"` //规格 |
| | | StartCircle uint8 `gorm:"type:varchar(255);not null;comment:开始回数" json:"startCircle"` //开始回数 |
| | | EndCircle uint8 `gorm:"type:varchar(255);not null;comment:结束回数" json:"endCircle"` //结束回数 |
| | | FinenessList []FinenessItem `gorm:"foreignkey:FinenessRegisterID" json:"finenessList"` |
| | | } |
| | | FinenessRegisterSearch struct { |
| | | FinenessRegister |
| | | Order string |
| | | PageNum int |
| | | PageSize int |
| | | Orm *gorm.DB |
| | | } |
| | | ) |
| | | |
| | | func (slf *FinenessRegister) TableName() string { |
| | | return "fineness_register" |
| | | } |
| | | |
| | | func NewFinenessRegisterSearch() *FinenessRegisterSearch { |
| | | return &FinenessRegisterSearch{Orm: mysqlx.GetDB()} |
| | | } |
| | | |
| | | func (slf *FinenessRegisterSearch) SetOrm(tx *gorm.DB) *FinenessRegisterSearch { |
| | | slf.Orm = tx |
| | | return slf |
| | | } |
| | | |
| | | func (slf *FinenessRegisterSearch) SetPage(page, size int) *FinenessRegisterSearch { |
| | | slf.PageNum, slf.PageSize = page, size |
| | | return slf |
| | | } |
| | | |
| | | func (slf *FinenessRegisterSearch) SetOrder(order string) *FinenessRegisterSearch { |
| | | slf.Order = order |
| | | return slf |
| | | } |
| | | |
| | | func (slf *FinenessRegisterSearch) SetID(id uint) *FinenessRegisterSearch { |
| | | slf.ID = id |
| | | return slf |
| | | } |
| | | |
| | | func (slf *FinenessRegisterSearch) SetNumber(number string) *FinenessRegisterSearch { |
| | | slf.Number = number |
| | | return slf |
| | | } |
| | | |
| | | func (slf *FinenessRegisterSearch) build() *gorm.DB { |
| | | var db = slf.Orm.Table(slf.TableName()) |
| | | |
| | | if slf.ID != 0 { |
| | | db = db.Where("id = ?", slf.ID) |
| | | } |
| | | |
| | | if slf.Order != "" { |
| | | db = db.Order(slf.Order) |
| | | } |
| | | |
| | | if slf.Number != "" { |
| | | db = db.Where("number = ?", slf.Number) |
| | | } |
| | | |
| | | return db |
| | | } |
| | | |
| | | // Create 单条插入 |
| | | func (slf *FinenessRegisterSearch) Create(record *FinenessRegister) error { |
| | | var db = slf.build() |
| | | |
| | | if err := db.Create(record).Error; err != nil { |
| | | return fmt.Errorf("create err: %v, record: %+v", err, record) |
| | | } |
| | | |
| | | return nil |
| | | } |
| | | |
| | | // CreateBatch 批量插入 |
| | | func (slf *FinenessRegisterSearch) CreateBatch(records []*FinenessRegister) error { |
| | | var db = slf.build() |
| | | |
| | | if err := db.Create(&records).Error; err != nil { |
| | | return fmt.Errorf("create batch err: %v, records: %+v", err, records) |
| | | } |
| | | |
| | | return nil |
| | | } |
| | | |
| | | func (slf *FinenessRegisterSearch) Save(record *FinenessRegister) error { |
| | | var db = slf.build() |
| | | |
| | | if err := db.Omit("CreatedAt").Save(record).Error; err != nil { |
| | | return fmt.Errorf("save err: %v, record: %+v", err, record) |
| | | } |
| | | |
| | | return nil |
| | | } |
| | | |
| | | func (slf *FinenessRegisterSearch) Update(record *FinenessRegister) error { |
| | | var db = slf.build() |
| | | |
| | | if err := db.Updates(record).Error; err != nil { |
| | | return fmt.Errorf("save err: %v, record: %+v", err, record) |
| | | } |
| | | |
| | | return nil |
| | | } |
| | | |
| | | func (slf *FinenessRegisterSearch) UpdateByMap(upMap map[string]interface{}) error { |
| | | var ( |
| | | db = slf.build() |
| | | ) |
| | | |
| | | if err := db.Updates(upMap).Error; err != nil { |
| | | return fmt.Errorf("update by map err: %v, upMap: %+v", err, upMap) |
| | | } |
| | | |
| | | return nil |
| | | } |
| | | |
| | | func (slf *FinenessRegisterSearch) UpdateByQuery(query string, args []interface{}, upMap map[string]interface{}) error { |
| | | var ( |
| | | db = slf.Orm.Table(slf.TableName()).Where(query, args...) |
| | | ) |
| | | |
| | | if err := db.Updates(upMap).Error; err != nil { |
| | | return fmt.Errorf("update by query err: %v, query: %s, args: %+v, upMap: %+v", err, query, args, upMap) |
| | | } |
| | | |
| | | return nil |
| | | } |
| | | |
| | | func (slf *FinenessRegisterSearch) Delete() error { |
| | | var db = slf.build() |
| | | |
| | | if err := db.Unscoped().Delete(&FinenessRegister{}).Error; err != nil { |
| | | return err |
| | | } |
| | | |
| | | return nil |
| | | } |
| | | |
| | | func (slf *FinenessRegisterSearch) First() (*FinenessRegister, error) { |
| | | var ( |
| | | record = new(FinenessRegister) |
| | | db = slf.build() |
| | | ) |
| | | |
| | | if err := db.First(record).Error; err != nil { |
| | | return record, err |
| | | } |
| | | |
| | | return record, nil |
| | | } |
| | | |
| | | func (slf *FinenessRegisterSearch) Find() ([]*FinenessRegister, int64, error) { |
| | | var ( |
| | | records = make([]*FinenessRegister, 0) |
| | | total int64 |
| | | db = slf.build() |
| | | ) |
| | | |
| | | if err := db.Count(&total).Error; err != nil { |
| | | return records, total, fmt.Errorf("find count err: %v", err) |
| | | } |
| | | if slf.PageNum*slf.PageSize > 0 { |
| | | db = db.Offset((slf.PageNum - 1) * slf.PageSize).Limit(slf.PageSize) |
| | | } |
| | | if err := db.Find(&records).Error; err != nil { |
| | | return records, total, fmt.Errorf("find records err: %v", err) |
| | | } |
| | | |
| | | return records, total, nil |
| | | } |
| | | |
| | | func (slf *FinenessRegisterSearch) FindAll() ([]*FinenessRegister, error) { |
| | | var ( |
| | | records = make([]*FinenessRegister, 0) |
| | | db = slf.build() |
| | | ) |
| | | |
| | | if slf.PageNum*slf.PageSize > 0 { |
| | | db = db.Offset((slf.PageNum - 1) * slf.PageSize).Limit(slf.PageSize) |
| | | } |
| | | if err := db.Find(&records).Error; err != nil { |
| | | return records, fmt.Errorf("find records err: %v", err) |
| | | } |
| | | |
| | | return records, nil |
| | | } |
| | | |
| | | // FindByQuery 指定条件查询. |
| | | func (slf *FinenessRegisterSearch) FindByQuery(query string, args []interface{}) ([]*FinenessRegister, int64, error) { |
| | | var ( |
| | | records = make([]*FinenessRegister, 0) |
| | | total int64 |
| | | db = slf.Orm.Table(slf.TableName()).Where(query, args...) |
| | | ) |
| | | |
| | | if err := db.Count(&total).Error; err != nil { |
| | | return records, total, fmt.Errorf("find by query count err: %v", err) |
| | | } |
| | | if slf.PageNum*slf.PageSize > 0 { |
| | | db = db.Offset((slf.PageNum - 1) * slf.PageSize).Limit(slf.PageSize) |
| | | } |
| | | if err := db.Find(&records).Error; err != nil { |
| | | return records, total, fmt.Errorf("find by query records err: %v, query: %s, args: %+v", err, query, args) |
| | | } |
| | | |
| | | return records, total, nil |
| | | } |
| | | |
| | | // FindByQueryNotTotal 指定条件查询&不查询总条数. |
| | | func (slf *FinenessRegisterSearch) FindByQueryNotTotal(query string, args []interface{}) ([]*FinenessRegister, error) { |
| | | var ( |
| | | records = make([]*FinenessRegister, 0) |
| | | db = slf.Orm.Table(slf.TableName()).Where(query, args...) |
| | | ) |
| | | |
| | | if slf.PageNum*slf.PageSize > 0 { |
| | | db = db.Offset((slf.PageNum - 1) * slf.PageSize).Limit(slf.PageSize) |
| | | } |
| | | if err := db.Find(&records).Error; err != nil { |
| | | return records, fmt.Errorf("find by query records err: %v, query: %s, args: %+v", err, query, args) |
| | | } |
| | | |
| | | return records, nil |
| | | } |
| | | |
| | | // InitDefaultData 初始化数据 |
| | | func (slf *FinenessRegisterSearch) InitDefaultData() error { |
| | | return nil |
| | | } |
New file |
| | |
| | | package models |
| | | |
| | | import ( |
| | | "fmt" |
| | | "github.com/shopspring/decimal" |
| | | "gorm.io/gorm" |
| | | "silkserver/pkg/mysqlx" |
| | | ) |
| | | |
| | | type ( |
| | | // FinenessItem 纤度登记 |
| | | FinenessItem struct { |
| | | gorm.Model |
| | | FinenessRegisterID uint `json:"finenessRegisterID"` |
| | | Position int8 `json:"position"` |
| | | Fineness decimal.Decimal `json:"fineness"` |
| | | Quantity decimal.Decimal `json:"quantity"` |
| | | Sum decimal.Decimal `json:"sum"` |
| | | } |
| | | |
| | | FinenessItemSearch struct { |
| | | FinenessItem |
| | | Order string |
| | | PageNum int |
| | | PageSize int |
| | | Orm *gorm.DB |
| | | } |
| | | ) |
| | | |
| | | func (slf *FinenessItem) TableName() string { |
| | | return "fineness_register_item" |
| | | } |
| | | |
| | | func NewFinenessItemSearch() *FinenessItemSearch { |
| | | return &FinenessItemSearch{Orm: mysqlx.GetDB()} |
| | | } |
| | | |
| | | func (slf *FinenessItemSearch) SetOrm(tx *gorm.DB) *FinenessItemSearch { |
| | | slf.Orm = tx |
| | | return slf |
| | | } |
| | | |
| | | func (slf *FinenessItemSearch) SetPage(page, size int) *FinenessItemSearch { |
| | | slf.PageNum, slf.PageSize = page, size |
| | | return slf |
| | | } |
| | | |
| | | func (slf *FinenessItemSearch) SetOrder(order string) *FinenessItemSearch { |
| | | slf.Order = order |
| | | return slf |
| | | } |
| | | |
| | | func (slf *FinenessItemSearch) SetID(id uint) *FinenessItemSearch { |
| | | slf.ID = id |
| | | return slf |
| | | } |
| | | |
| | | func (slf *FinenessItemSearch) build() *gorm.DB { |
| | | var db = slf.Orm.Table(slf.TableName()) |
| | | |
| | | if slf.ID != 0 { |
| | | db = db.Where("id = ?", slf.ID) |
| | | } |
| | | |
| | | if slf.Order != "" { |
| | | db = db.Order(slf.Order) |
| | | } |
| | | |
| | | return db |
| | | } |
| | | |
| | | // Create 单条插入 |
| | | func (slf *FinenessItemSearch) Create(record *FinenessItem) error { |
| | | var db = slf.build() |
| | | |
| | | if err := db.Create(record).Error; err != nil { |
| | | return fmt.Errorf("create err: %v, record: %+v", err, record) |
| | | } |
| | | |
| | | return nil |
| | | } |
| | | |
| | | // CreateBatch 批量插入 |
| | | func (slf *FinenessItemSearch) CreateBatch(records []*FinenessItem) error { |
| | | var db = slf.build() |
| | | |
| | | if err := db.Create(&records).Error; err != nil { |
| | | return fmt.Errorf("create batch err: %v, records: %+v", err, records) |
| | | } |
| | | |
| | | return nil |
| | | } |
| | | |
| | | func (slf *FinenessItemSearch) Save(record *FinenessItem) error { |
| | | var db = slf.build() |
| | | |
| | | if err := db.Omit("CreatedAt").Save(record).Error; err != nil { |
| | | return fmt.Errorf("save err: %v, record: %+v", err, record) |
| | | } |
| | | |
| | | return nil |
| | | } |
| | | |
| | | func (slf *FinenessItemSearch) Update(record *FinenessItem) error { |
| | | var db = slf.build() |
| | | |
| | | if err := db.Updates(record).Error; err != nil { |
| | | return fmt.Errorf("save err: %v, record: %+v", err, record) |
| | | } |
| | | |
| | | return nil |
| | | } |
| | | |
| | | func (slf *FinenessItemSearch) UpdateByMap(upMap map[string]interface{}) error { |
| | | var ( |
| | | db = slf.build() |
| | | ) |
| | | |
| | | if err := db.Updates(upMap).Error; err != nil { |
| | | return fmt.Errorf("update by map err: %v, upMap: %+v", err, upMap) |
| | | } |
| | | |
| | | return nil |
| | | } |
| | | |
| | | func (slf *FinenessItemSearch) UpdateByQuery(query string, args []interface{}, upMap map[string]interface{}) error { |
| | | var ( |
| | | db = slf.Orm.Table(slf.TableName()).Where(query, args...) |
| | | ) |
| | | |
| | | if err := db.Updates(upMap).Error; err != nil { |
| | | return fmt.Errorf("update by query err: %v, query: %s, args: %+v, upMap: %+v", err, query, args, upMap) |
| | | } |
| | | |
| | | return nil |
| | | } |
| | | |
| | | func (slf *FinenessItemSearch) Delete() error { |
| | | var db = slf.build() |
| | | |
| | | if err := db.Unscoped().Delete(&FinenessItem{}).Error; err != nil { |
| | | return err |
| | | } |
| | | |
| | | return nil |
| | | } |
| | | |
| | | func (slf *FinenessItemSearch) First() (*FinenessItem, error) { |
| | | var ( |
| | | record = new(FinenessItem) |
| | | db = slf.build() |
| | | ) |
| | | |
| | | if err := db.First(record).Error; err != nil { |
| | | return record, err |
| | | } |
| | | |
| | | return record, nil |
| | | } |
| | | |
| | | func (slf *FinenessItemSearch) Find() ([]*FinenessItem, int64, error) { |
| | | var ( |
| | | records = make([]*FinenessItem, 0) |
| | | total int64 |
| | | db = slf.build() |
| | | ) |
| | | |
| | | if err := db.Count(&total).Error; err != nil { |
| | | return records, total, fmt.Errorf("find count err: %v", err) |
| | | } |
| | | if slf.PageNum*slf.PageSize > 0 { |
| | | db = db.Offset((slf.PageNum - 1) * slf.PageSize).Limit(slf.PageSize) |
| | | } |
| | | if err := db.Find(&records).Error; err != nil { |
| | | return records, total, fmt.Errorf("find records err: %v", err) |
| | | } |
| | | |
| | | return records, total, nil |
| | | } |
| | | |
| | | func (slf *FinenessItemSearch) FindAll() ([]*FinenessItem, error) { |
| | | var ( |
| | | records = make([]*FinenessItem, 0) |
| | | db = slf.build() |
| | | ) |
| | | |
| | | if slf.PageNum*slf.PageSize > 0 { |
| | | db = db.Offset((slf.PageNum - 1) * slf.PageSize).Limit(slf.PageSize) |
| | | } |
| | | if err := db.Find(&records).Error; err != nil { |
| | | return records, fmt.Errorf("find records err: %v", err) |
| | | } |
| | | |
| | | return records, nil |
| | | } |
| | | |
| | | // FindByQuery 指定条件查询. |
| | | func (slf *FinenessItemSearch) FindByQuery(query string, args []interface{}) ([]*FinenessItem, int64, error) { |
| | | var ( |
| | | records = make([]*FinenessItem, 0) |
| | | total int64 |
| | | db = slf.Orm.Table(slf.TableName()).Where(query, args...) |
| | | ) |
| | | |
| | | if err := db.Count(&total).Error; err != nil { |
| | | return records, total, fmt.Errorf("find by query count err: %v", err) |
| | | } |
| | | if slf.PageNum*slf.PageSize > 0 { |
| | | db = db.Offset((slf.PageNum - 1) * slf.PageSize).Limit(slf.PageSize) |
| | | } |
| | | if err := db.Find(&records).Error; err != nil { |
| | | return records, total, fmt.Errorf("find by query records err: %v, query: %s, args: %+v", err, query, args) |
| | | } |
| | | |
| | | return records, total, nil |
| | | } |
| | | |
| | | // FindByQueryNotTotal 指定条件查询&不查询总条数. |
| | | func (slf *FinenessItemSearch) FindByQueryNotTotal(query string, args []interface{}) ([]*FinenessItem, error) { |
| | | var ( |
| | | records = make([]*FinenessItem, 0) |
| | | db = slf.Orm.Table(slf.TableName()).Where(query, args...) |
| | | ) |
| | | |
| | | if slf.PageNum*slf.PageSize > 0 { |
| | | db = db.Offset((slf.PageNum - 1) * slf.PageSize).Limit(slf.PageSize) |
| | | } |
| | | if err := db.Find(&records).Error; err != nil { |
| | | return records, fmt.Errorf("find by query records err: %v, query: %s, args: %+v", err, query, args) |
| | | } |
| | | |
| | | return records, nil |
| | | } |
| | | |
| | | // InitDefaultData 初始化数据 |
| | | func (slf *FinenessItemSearch) InitDefaultData() error { |
| | | return nil |
| | | } |
| | |
| | | systemApi.DELETE("dict/:id", DictController.Delete) // 删除词典 |
| | | } |
| | | |
| | | // 生产管理 |
| | | FinenessController := new(controllers.FinenessController) |
| | | finenessApi := r.Group(urlPrefix + "/fineness") |
| | | { |
| | | finenessApi.GET("register", FinenessController.List) // 获取纤度登记列表 |
| | | finenessApi.DELETE("register/:id", FinenessController.Delete) // 删除纤度登记 |
| | | finenessApi.POST("register", FinenessController.Add) // 新增纤度登记 |
| | | } |
| | | |
| | | return r |
| | | } |