purchase.go 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. package dao
  2. import (
  3. "github.com/shopspring/decimal"
  4. "server/global"
  5. )
  6. type Purchase struct {
  7. global.GVA_MODEL
  8. ProjectCode string `json:"projectCode" form:"projectCode" gorm:"comment:项目编码"`
  9. Name string `json:"name" form:"name" gorm:"comment:名称"`
  10. Quantity int `json:"quantity" form:"quantity" gorm:"comment:数量"`
  11. Company string `json:"company" form:"company" gorm:"comment:规格(单位)"`
  12. Origin string `json:"origin" form:"origin" gorm:"comment:产地"`
  13. Price decimal.Decimal `json:"price" form:"price" gorm:"type:decimal(10,2);not null;"`
  14. Amount decimal.Decimal `json:"amount" form:"amount" gorm:"type:decimal(10,2);not null;"`
  15. Method string `json:"method" form:"method" gorm:"comment:付款方式"`
  16. }
  17. func (Purchase) TableName() string {
  18. return "purchase"
  19. }
  20. // TODO:采购查询
  21. // QueryPurchase 查询采购
  22. func QueryPurchase(code string) (purchase []Purchase, err error) {
  23. err = global.GVA_DB.Model(&Purchase{}).Where("project_code = ?", code).Find(&purchase).Error
  24. return purchase, err
  25. }
  26. func QueryPurchaseList(limit, offset int) (purchase []Purchase, total int64, err error) {
  27. // 创建db
  28. db := global.GVA_DB.Model(&Purchase{})
  29. // 如果有条件搜索 下方会自动创建搜索语句
  30. err = db.Count(&total).Error
  31. if err != nil {
  32. return
  33. }
  34. err = db.Order("id desc").Limit(limit).Offset(offset).Find(&purchase).Error
  35. return purchase, total, err
  36. }
  37. // TODO:采购新增
  38. // CreatePurchase 新建采购
  39. func (p Purchase) CreatePurchase() error {
  40. return global.GVA_DB.Create(&p).Error
  41. }
  42. // TODO:采购修改
  43. // UpdatePurchase 修改采购
  44. func (p Purchase) UpdatePurchase() error {
  45. return global.GVA_DB.Model(&p).Where("id = ?", p.ID).Updates(&p).Error
  46. }
  47. // TODO:采购删除
  48. // DeletePurchase 删除采购
  49. func (p Purchase) DeletePurchase() error {
  50. return global.GVA_DB.Unscoped().Delete(&p).Error
  51. }