package controllers
|
|
import (
|
"github.com/gin-gonic/gin"
|
"gorm.io/gorm"
|
"silkserver/constvar"
|
"silkserver/controllers/request"
|
"silkserver/extend/code"
|
"silkserver/extend/util"
|
"silkserver/models"
|
"silkserver/pkg/structx"
|
)
|
|
type YieldRegisterController struct {
|
}
|
|
// SaveYieldRegister
|
//
|
// @Tags 生产管理/产量登记表
|
// @Summary 保存产量登记表
|
// @Produce application/json
|
// @Param object body request.YieldRegisterInfo true "参数"
|
// @Success 200 {object} util.Response "成功"
|
// @Router /api-jl/v1/fineness/saveYieldRegister [post]
|
func (slf YieldRegisterController) SaveYieldRegister(c *gin.Context) {
|
var params request.YieldRegisterInfo
|
var yield models.YieldRegister
|
err := c.BindJSON(¶ms)
|
if err != nil {
|
util.ResponseFormat(c, code.RequestParamError, "参数解析失败,数据类型错误")
|
return
|
}
|
err = structx.AssignTo(params, &yield)
|
if err != nil {
|
util.ResponseFormat(c, code.RequestParamError, "数据转换失败")
|
return
|
}
|
if yield.ID > 0 {
|
//更新
|
err = models.WithTransaction(func(db *gorm.DB) error {
|
err = models.NewYieldRegisterItemSearch().SetOrm(db).SetYieldRegisterId(yield.ID).Delete()
|
if err != nil {
|
return err
|
}
|
err = models.NewYieldRegisterCircleSearch().SetOrm(db).SetYieldRegisterId(yield.ID).Delete()
|
if err != nil {
|
return err
|
}
|
err = models.NewYieldRegisterSearch().SetOrm(db).Save(&yield)
|
return err
|
})
|
|
if err != nil {
|
util.ResponseFormat(c, code.RequestParamError, "保存失败")
|
return
|
}
|
} else {
|
//保存
|
err = models.NewYieldRegisterSearch().Create(&yield)
|
if err != nil {
|
util.ResponseFormat(c, code.RequestParamError, "保存失败")
|
return
|
}
|
}
|
util.ResponseFormat(c, code.Success, "保存成功")
|
}
|
|
// GetYieldRegisterList
|
//
|
// @Tags 生产管理/产量登记表
|
// @Summary 获取产量登记表
|
// @Produce application/json
|
// @Param object body request.GetYieldRegisterList true "参数"
|
// @Success 200 {object} util.ResponseList{data=[]models.YieldRegister} "成功"
|
// @Router /api-jl/v1/fineness/getYieldRegisterList [post]
|
func (slf YieldRegisterController) GetYieldRegisterList(c *gin.Context) {
|
var params request.GetYieldRegisterList
|
err := c.BindJSON(¶ms)
|
if err != nil {
|
util.ResponseFormat(c, code.RequestParamError, "参数解析失败,数据类型错误")
|
return
|
}
|
list, total, err := models.NewYieldRegisterSearch().SetPage(params.Page, params.PageSize).Find()
|
if err != nil {
|
util.ResponseFormat(c, code.RequestParamError, "查询失败")
|
return
|
}
|
all, err := models.NewDictSearch().SetDictTypes([]constvar.DictType{constvar.DictTypeMarket, constvar.DictTypeWorkshop}).FindAll()
|
if err != nil {
|
util.ResponseFormat(c, code.RequestParamError, "查询失败")
|
return
|
}
|
for _, register := range list {
|
for _, dict := range all {
|
if register.MarketId == dict.ID {
|
register.MarketName = dict.Name
|
break
|
}
|
}
|
}
|
util.ResponseFormatList(c, code.Success, list, total)
|
}
|
|
// GetYieldRegisterInfo
|
//
|
// @Tags 生产管理/产量登记表
|
// @Summary 获取产量登记表详情
|
// @Produce application/json
|
// @Param object body request.GetYieldRegisterList true "参数"
|
// @Success 200 {object} util.Response{data=models.YieldRegister} "成功"
|
// @Router /api-jl/v1/fineness/getYieldRegisterInfo [post]
|
func (slf YieldRegisterController) GetYieldRegisterInfo(c *gin.Context) {
|
var params request.GetYieldRegisterList
|
err := c.BindJSON(¶ms)
|
if err != nil {
|
util.ResponseFormat(c, code.RequestParamError, "参数解析失败,数据类型错误")
|
return
|
}
|
register, err := models.NewYieldRegisterSearch().SetPreload(true).SetNumber(params.Number).First()
|
if err != nil {
|
util.ResponseFormat(c, code.RequestParamError, "查询失败")
|
return
|
}
|
util.ResponseFormat(c, code.Success, register)
|
}
|