| | |
| | | package controllers |
| | | |
| | | import ( |
| | | "errors" |
| | | "github.com/gin-gonic/gin" |
| | | "gorm.io/gorm" |
| | | "silkserver/controllers/request" |
| | | "silkserver/controllers/response" |
| | | "silkserver/extend/code" |
| | | "silkserver/extend/util" |
| | | "silkserver/models" |
| | |
| | | |
| | | type FinenessController struct{} |
| | | |
| | | // Add |
| | | // RegisterAdd |
| | | // @Tags 纤度登记 |
| | | // @Summary 纤度登记添加 |
| | | // @Produce application/json |
| | | // @Param object body request.AddFinenessRegister true "字典信息" |
| | | // @Param Authorization header string true "token" |
| | | // @Success 200 {object} util.Response "成功" |
| | | // @Router /api-jl/v1/fineness/register [post] |
| | | func (slf FinenessController) Add(c *gin.Context) { |
| | | func (slf FinenessController) RegisterAdd(c *gin.Context) { |
| | | var reqParams request.AddFinenessRegister |
| | | var params models.FinenessRegister |
| | | if err := c.BindJSON(&reqParams); err != nil { |
| | | logx.Errorf("RegisterAdd 参数解析失败:%v", err.Error()) |
| | | util.ResponseFormat(c, code.RequestParamError, "参数解析失败,数据类型错误") |
| | | return |
| | | } |
| | | if err := structx.AssignTo(reqParams, ¶ms); err != nil { |
| | | logx.Errorf("RegisterAdd 数据转换错误:%v", err.Error()) |
| | | util.ResponseFormat(c, code.RequestParamError, "数据转换错误") |
| | | return |
| | | } |
| | |
| | | if err != nil { |
| | | logx.Errorf("service.FinenessCheck err:%v, finenessRegister:%+v", err, params) |
| | | util.ResponseFormat(c, code.RequestParamError, "生成检验表失败") |
| | | return |
| | | } |
| | | |
| | | util.ResponseFormat(c, code.Success, "保存成功") |
| | | } |
| | | |
| | | func (slf FinenessController) ParamsCheck(params models.FinenessRegister) (err error) { |
| | | if params.ID == 0 { |
| | | _, err = models.NewFinenessRegisterSearch().SetNumber(params.Number).First() |
| | | if err != gorm.ErrRecordNotFound { |
| | | return errors.New("编码重复") |
| | | } |
| | | } else { |
| | | old, err := models.NewFinenessRegisterSearch().SetID(params.ID).First() |
| | | if err != nil { |
| | | return errors.New("记录不存在") |
| | | } |
| | | if old.Number != params.Number { |
| | | return errors.New("编码不能修改") |
| | | } |
| | | } |
| | | return nil |
| | | } |
| | | |
| | | // List |
| | | // RegisterList |
| | | // @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) { |
| | | func (slf FinenessController) RegisterList(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() |
| | | list, total, err := models.NewFinenessRegisterSearch().SetKeyword(params.Keyword).SetPage(params.Page, params.PageSize).Find() |
| | | if err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "查找失败") |
| | | return |
| | |
| | | util.ResponseFormatList(c, code.Success, list, total) |
| | | } |
| | | |
| | | // Info |
| | | // RegisterInfo |
| | | // @Tags 纤度登记 |
| | | // @Summary 纤度登记详情 |
| | | // @Produce application/json |
| | | // @Param id path string true "字典信息" |
| | | // @Success 200 {object} util.ResponseList{data=models.FinenessRegister} "成功" |
| | | // @Router /api-jl/v1/fineness/register/{id} [get] |
| | | func (slf FinenessController) Info(c *gin.Context) { |
| | | func (slf FinenessController) RegisterInfo(c *gin.Context) { |
| | | idStr := c.Param("id") |
| | | if idStr == "0" || idStr == "" { |
| | | util.ResponseFormat(c, code.RequestParamError, "空的记录id") |
| | |
| | | util.ResponseFormat(c, code.Success, info) |
| | | } |
| | | |
| | | // Delete |
| | | // RegisterDelete |
| | | // @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) { |
| | | func (slf FinenessController) RegisterDelete(c *gin.Context) { |
| | | idStr := c.Param("id") |
| | | if idStr == "0" || idStr == "" { |
| | | util.ResponseFormat(c, code.RequestParamError, "空的记录id") |
| | |
| | | } |
| | | util.ResponseFormat(c, code.UpdateSuccess, "删除成功") |
| | | } |
| | | |
| | | // CheckList |
| | | // @Tags 纤度检验 |
| | | // @Summary 纤度检验列表 |
| | | // @Produce application/json |
| | | // @Param object query request.GetFinenessRegisterList true "查询参数" |
| | | // @Success 200 {object} util.ResponseList{data=[]models.FinenessCheck} "成功" |
| | | // @Router /api-jl/v1/fineness/check [get] |
| | | func (slf FinenessController) CheckList(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.NewFinenessCheckSearch().SetPage(params.Page, params.PageSize).Find() |
| | | if err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "查找失败") |
| | | return |
| | | } |
| | | |
| | | util.ResponseFormatList(c, code.Success, list, total) |
| | | } |
| | | |
| | | // CheckInfo |
| | | // @Tags 纤度检验 |
| | | // @Summary 纤度检验详情 |
| | | // @Produce application/json |
| | | // @Param id path string true "字典信息" |
| | | // @Success 200 {object} util.ResponseList{data=response.FinenessCheckInfo} "成功" |
| | | // @Router /api-jl/v1/fineness/check/{id} [get] |
| | | func (slf FinenessController) CheckInfo(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 |
| | | } |
| | | |
| | | info, err := models.NewFinenessCheckSearch().SetID(id).SetPreload().First() |
| | | if err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "查找失败") |
| | | return |
| | | } |
| | | resp := new(response.FinenessCheckInfo) |
| | | resp.Info = info |
| | | resp.Items, err = models.NewFinenessCheckItemSearch().SetFinenessRegisterID(info.FinenessRegisterID).FindAll() |
| | | if err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "查找失败") |
| | | return |
| | | } |
| | | |
| | | util.ResponseFormat(c, code.Success, resp) |
| | | } |
| | | |
| | | // CheckDelete |
| | | // @Tags 纤度检验 |
| | | // @Summary 纤度检验删除 |
| | | // @Produce application/json |
| | | // @Param id path string true "字典信息" |
| | | // @Success 200 {object} util.Response "成功" |
| | | // @Router /api-jl/v1/fineness/check/{id} [delete] |
| | | func (slf FinenessController) CheckDelete(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 |
| | | } |
| | | |
| | | check, err := models.NewFinenessCheckSearch().SetID(id).First() |
| | | if err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "检验记录不存在") |
| | | return |
| | | } |
| | | |
| | | err = models.WithTransaction(func(db *gorm.DB) error { |
| | | err := models.NewFinenessCheckSearch().SetOrm(db).SetID(id).Delete() |
| | | if err != nil { |
| | | return err |
| | | } |
| | | return models.NewFinenessCheckItemSearch().SetOrm(db).SetFinenessRegisterID(check.FinenessRegisterID).Delete() |
| | | }) |
| | | |
| | | if err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "删除失败") |
| | | return |
| | | } |
| | | util.ResponseFormat(c, code.UpdateSuccess, "删除成功") |
| | | } |
| | | |
| | | // CheckEdit |
| | | // @Tags 纤度检验 |
| | | // @Summary 纤度检验修改 |
| | | // @Produce application/json |
| | | // @Param object body models.FinenessCheck true "字典信息" |
| | | // @Success 200 {object} util.Response "成功" |
| | | // @Router /api-jl/v1/fineness/check [post] |
| | | func (slf FinenessController) CheckEdit(c *gin.Context) { |
| | | var params models.FinenessCheck |
| | | if err := c.BindJSON(¶ms); err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "参数解析失败,数据类型错误") |
| | | return |
| | | } |
| | | |
| | | _, err := models.NewFinenessCheckSearch().SetID(params.ID).First() |
| | | if err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "检验记录不存在") |
| | | return |
| | | } |
| | | |
| | | err = service.FinenessReCheck(¶ms) |
| | | if err != nil { |
| | | logx.Errorf("service.FinenessReCheck err:%v, finenessCheck:%+v", err, params) |
| | | util.ResponseFormat(c, code.RequestParamError, "检验失败") |
| | | return |
| | | } |
| | | |
| | | err = models.NewFinenessCheckSearch().Save(¶ms) |
| | | if err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "保存失败") |
| | | return |
| | | } |
| | | util.ResponseFormat(c, code.Success, "保存成功") |
| | | } |