liujiandao
2024-04-09 e99cc5acf40323379cf538bc5f08228a42aa2bee
controllers/yield_register_controller.go
@@ -2,9 +2,12 @@
import (
   "github.com/gin-gonic/gin"
   "gorm.io/gorm"
   "silkserver/controllers/request"
   "silkserver/extend/code"
   "silkserver/extend/util"
   "silkserver/models"
   "silkserver/pkg/structx"
)
type YieldRegisterController struct {
@@ -15,14 +18,94 @@
//   @Tags      生产管理/产量登记表
//   @Summary   保存产量登记表
//   @Produce   application/json
//   @Param      object   body      models.WorkshopManage   true   "参数"
//   @Param      object   body      request.YieldRegisterInfo   true   "参数"
//   @Success   200      {object}   util.Response      "成功"
//   @Router      /api-jl/v1/system/saveYieldRegister [post]
func (slf WorkshopManageController) SaveYieldRegister(c *gin.Context) {
//   @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(&params)
   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(&params)
   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
   }
   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(&params)
   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)
}