projectMaterials.go 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package dao
  2. import "server/global"
  3. type ProjectMaterials struct {
  4. global.GVA_MODEL
  5. Name string `json:"name" form:"name" gorm:"comment:名称"`
  6. Unit string `json:"unit" form:"unit" gorm:"comment:单位"`
  7. Number int `json:"number" form:"number" gorm:"comment:数量"`
  8. Remarks string `json:"remarks" form:"remarks" gorm:"comment:备注"`
  9. ProjectCode string `json:"projectCode" form:"projectCode" gorm:"comment:项目编号"`
  10. Project Project `json:"project" form:"project" gorm:"foreignKey:ProjectCode;references:code;"`
  11. }
  12. func (ProjectMaterials) TableName() string {
  13. return "project_materials"
  14. }
  15. func QueryProjectMaterialsList(limit, offset int, code, name string) (projectMaterials []ProjectMaterials, total int64, err error) {
  16. // 创建db
  17. db := global.GVA_DB.Model(&ProjectMaterials{})
  18. // 如果有条件搜索 下方会自动创建搜索语句
  19. if code != "" {
  20. db = db.Where("project_code = ?", code)
  21. }
  22. if name != "" {
  23. db = db.Where("name LIKE ?", "%"+name+"%")
  24. }
  25. err = db.Count(&total).Error
  26. if err != nil {
  27. return
  28. }
  29. err = db.Order("id desc").Limit(limit).Offset(offset).Find(&projectMaterials).Error
  30. return projectMaterials, total, err
  31. }
  32. func QueryProjectMaterialsByProjectCode(code string) (projectMaterials []ProjectMaterials, err error) {
  33. err = global.GVA_DB.Model(&ProjectMaterials{}).Where("project_code=?", code).Find(&projectMaterials).Error
  34. return
  35. }
  36. func (pm ProjectMaterials) CreateProjectMaterials() error {
  37. return global.GVA_DB.Create(&pm).Error
  38. }
  39. func (pm ProjectMaterials) UpdateProjectMaterials() error {
  40. return global.GVA_DB.Model(&pm).Where("id = ?", pm.ID).Updates(&pm).Error
  41. }
  42. func DeleteProjectMaterials(id int) error {
  43. return global.GVA_DB.Delete(&ProjectMaterials{}, id).Error
  44. }