collection.go 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. package dao
  2. import (
  3. "github.com/shopspring/decimal"
  4. "server/global"
  5. )
  6. type Collection struct {
  7. global.GVA_MODEL
  8. ProjectCode string `json:"projectCode" from:"projectCode" gorm:"comment:项目编码"`
  9. CollectionPrice decimal.Decimal `json:"collectionPrice" from:"collectionPrice" gorm:"type:decimal(10,2);not null;comment:收款金额"`
  10. Remarks string `json:"remarks" from:"remarks" gorm:"comment:备注"`
  11. CollectionTime string `json:"collectionTime" from:"collectionTime" gorm:"comment:收款日期;type:datetime"`
  12. SerialNumber string `json:"serialNumber" from:"serialNumber" gorm:"comment:银行流水单号"`
  13. }
  14. func (Collection) TableName() string {
  15. return "collection"
  16. }
  17. // TODO:收款查询
  18. // QueryCollection 查询收款
  19. func QueryCollection(code string) (collection []Collection, err error) {
  20. err = global.GVA_DB.Model(&Collection{}).Where("project_code = ?", code).Find(&collection).Error
  21. return collection, err
  22. }
  23. // QueryCollectionList 查询报销列表
  24. func QueryCollectionList(limit, offset int, code, time string) (collection []Collection, total int64, err error) {
  25. // 创建db
  26. db := global.GVA_DB.Model(&Collection{}).Where("project_code = ?", code)
  27. // 如果有条件搜索 下方会自动创建搜索语句
  28. if time != "" {
  29. db = db.Where("DATE_FORMAT(collection_time, '%Y-%m') = ?", time)
  30. }
  31. err = db.Count(&total).Error
  32. if err != nil {
  33. return
  34. }
  35. err = db.Order("id desc").Limit(limit).Offset(offset).Find(&collection).Error
  36. return collection, total, err
  37. }
  38. // TODO:收款新增
  39. // CreateCollection 新增收款
  40. func (c Collection) CreateCollection() error {
  41. return global.GVA_DB.Create(&c).Error
  42. }
  43. // TODO:收款修改
  44. // UpdateCollection 修改收款
  45. func (c Collection) UpdateCollection() error {
  46. return global.GVA_DB.Model(&c).Where("id = ?", c.ID).Updates(&c).Error
  47. }
  48. // TODO:收款删除
  49. // DeleteCollection 删除收款
  50. func (c Collection) DeleteCollection() error {
  51. return global.GVA_DB.Unscoped().Delete(&c).Error
  52. }