| | |
| | | |
| | | import ( |
| | | "github.com/gin-gonic/gin" |
| | | "github.com/mitchellh/mapstructure" |
| | | "go.uber.org/zap" |
| | | "gorm.io/gorm" |
| | | "srm/global" |
| | | "srm/model/common/request" |
| | | "srm/model/common/response" |
| | | "srm/model/purchase" |
| | | purchaserequest "srm/model/purchase/request" |
| | | "strconv" |
| | | "strings" |
| | | |
| | | //"srm/model/purchase" |
| | | |
| | |
| | | response.FailWithMessage(err.Error(), c) |
| | | return |
| | | } |
| | | err = service.NewPurchaseService().CreatePurchase(params) |
| | | |
| | | var purchaseRecord purchase.Purchase |
| | | if err := mapstructure.Decode(params.Purchase, &purchaseRecord); err != nil { |
| | | response.FailWithMessage(err.Error(), c) |
| | | return |
| | | } |
| | | |
| | | purchaseRecord.ID = 0 |
| | | purchaseRecord.Status = purchase.OrderStatusConfirmed |
| | | err = service.NewPurchaseService().CreatePurchase(&purchaseRecord, params.ProductList) |
| | | |
| | | if err != nil { |
| | | if err == gorm.ErrDuplicatedKey || strings.Contains(err.Error(), "Duplicate entry") { |
| | | response.FailWithMessage("编号重复", c) |
| | | return |
| | | } |
| | | global.GVA_LOG.Error("创建失败!", zap.Error(err)) |
| | | response.FailWithMessage("创建失败", c) |
| | | return |
| | |
| | | // @Security ApiKeyAuth |
| | | // @accept application/json |
| | | // @Produce application/json |
| | | // @Param data body purchaserequest.AddPurchase true "采购单ID, 采购单信息" |
| | | // @Param data body purchaserequest.UpdatePurchase true "采购单ID, 采购单信息" |
| | | // @Success 200 {object} response.Response{msg=string} "更新采购单信息" |
| | | // @Router /purchase/purchase [put] |
| | | func (e *PurchaseApi) UpdatePurchase(c *gin.Context) { |
| | | var params purchaserequest.AddPurchase |
| | | var params purchaserequest.UpdatePurchase |
| | | err := c.ShouldBindJSON(¶ms) |
| | | if err != nil { |
| | | response.FailWithMessage(err.Error(), c) |
| | | return |
| | | } |
| | | err = utils.Verify(params.Purchase.GVA_MODEL, utils.IdVerify) |
| | | if err != nil { |
| | | |
| | | var purchaseRecord purchase.Purchase |
| | | if err := mapstructure.Decode(params.Purchase, &purchaseRecord); err != nil { |
| | | response.FailWithMessage(err.Error(), c) |
| | | return |
| | | } |
| | | err = service.NewPurchaseService().UpdatePurchase(¶ms) |
| | | |
| | | err = service.NewPurchaseService().UpdatePurchase(&purchaseRecord, params.ProductList) |
| | | if err != nil { |
| | | global.GVA_LOG.Error("更新失败!", zap.Error(err)) |
| | | response.FailWithMessage("更新失败", c) |
| | |
| | | // @Success 200 {object} response.Response{msg=string} "提交采购单" |
| | | // @Router /purchase/submit/{id} [post] |
| | | func (e *PurchaseApi) Submit(c *gin.Context) { |
| | | var params purchaserequest.AddPurchase |
| | | err := c.ShouldBindJSON(¶ms) |
| | | if err != nil { |
| | | response.FailWithMessage(err.Error(), c) |
| | | id, _ := strconv.Atoi(c.Param("id")) |
| | | if id == 0 { |
| | | response.FailWithMessage("参数缺失", c) |
| | | return |
| | | } |
| | | err = utils.Verify(params.Purchase.GVA_MODEL, utils.IdVerify) |
| | | if err != nil { |
| | | response.FailWithMessage(err.Error(), c) |
| | | return |
| | | } |
| | | err = service.NewPurchaseService().UpdatePurchase(¶ms) |
| | | err := service.NewPurchaseService().Submit(uint(id)) |
| | | if err != nil { |
| | | global.GVA_LOG.Error("更新失败!", zap.Error(err)) |
| | | response.FailWithMessage("更新失败", c) |
| | |
| | | } |
| | | response.OkWithMessage("更新成功", c) |
| | | } |
| | | |
| | | // SavePurchaseType |
| | | // @Tags Purchase |
| | | // @Summary 创建采购类型 |
| | | // @Security ApiKeyAuth |
| | | // @accept application/json |
| | | // @Produce application/json |
| | | // @Param data body []purchaserequest.PurchaseType true "采购类型list" |
| | | // @Success 200 {object} response.Response{msg=string} "创建采购类型" |
| | | // @Router /purchase/purchaseType [post] |
| | | func (e *PurchaseApi) SavePurchaseType(c *gin.Context) { |
| | | var params []*purchaserequest.PurchaseType |
| | | err := c.ShouldBindJSON(¶ms) |
| | | if err != nil { |
| | | response.FailWithMessage(err.Error(), c) |
| | | return |
| | | } |
| | | |
| | | purchaseTypeList := make([]*purchase.PurchaseType, 0, len(params)) |
| | | if err := mapstructure.Decode(params, &purchaseTypeList); err != nil { |
| | | response.FailWithMessage(err.Error(), c) |
| | | return |
| | | } |
| | | |
| | | err = service.NewPurchaseService().SavePurchaseType(purchaseTypeList) |
| | | |
| | | if err != nil { |
| | | global.GVA_LOG.Error("创建失败!", zap.Error(err)) |
| | | response.FailWithMessage("创建失败", c) |
| | | return |
| | | } |
| | | response.OkWithMessage("创建成功", c) |
| | | } |
| | | |
| | | // GetPurchaseTypeList |
| | | // @Tags Purchase |
| | | // @Summary 获取采购类型列表 |
| | | // @Security ApiKeyAuth |
| | | // @accept application/json |
| | | // @Produce application/json |
| | | // @Success 200 {object} response.Response{data=[]purchase.PurchaseType,msg=string} "获取采购类型列表" |
| | | // @Router /purchase/purchaseTypeList [get] |
| | | func (e *PurchaseApi) GetPurchaseTypeList(c *gin.Context) { |
| | | list, err := service.NewPurchaseService().GetPurchaseTypeList() |
| | | if err != nil { |
| | | global.GVA_LOG.Error("获取失败!", zap.Error(err)) |
| | | response.FailWithMessage("获取失败"+err.Error(), c) |
| | | return |
| | | } |
| | | response.OkWithDetailed(list, "获取成功", c) |
| | | } |