projectWorkingHours.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package dao
  2. import (
  3. "github.com/shopspring/decimal"
  4. "server/global"
  5. )
  6. type ProjectWorkingHours struct {
  7. global.GVA_MODEL
  8. ProjectCode string `json:"projectCode" form:"projectCode" gorm:"comment:项目编号"`
  9. People string `json:"people" form:"people" gorm:"comment:报工人"`
  10. Days float64 `json:"days" form:"days" gorm:"type:double(5,1);not null;comment:天数"`
  11. Price decimal.Decimal `json:"price" form:"price" gorm:"type:decimal(10,2);not null;comment:人天单价"`
  12. }
  13. func (ProjectWorkingHours) TableName() string {
  14. return "project_working_hours"
  15. }
  16. // TODO:工时查询
  17. // QueryWorkingHoursList 查询工时列表
  18. func QueryWorkingHoursList(limit, offset int, code, name string) (projectWorkingHours []ProjectWorkingHours, total int64, err error) {
  19. // 创建db
  20. db := global.GVA_DB.Model(&ProjectWorkingHours{}).Where("project_code = ?", code)
  21. // 如果有条件搜索 下方会自动创建搜索语句
  22. if name != "" {
  23. db = db.Where("people 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(&projectWorkingHours).Error
  30. return projectWorkingHours, total, err
  31. }
  32. // QueryWorkingHours 查询工时
  33. func QueryWorkingHours(code string) (workingHours []ProjectWorkingHours, err error) {
  34. err = global.GVA_DB.Model(&ProjectWorkingHours{}).Where("project_code = ?", code).Find(&workingHours).Error
  35. return workingHours, err
  36. }
  37. // QueryWorkingHoursByCode 查询单个工时 按id
  38. func QueryWorkingHoursByCode(code string, people string) (workingHours ProjectWorkingHours, err error) {
  39. err = global.GVA_DB.Model(&ProjectWorkingHours{}).Where("code = ? and people = ?", code, people).First(&workingHours).Error
  40. return workingHours, err
  41. }
  42. // TODO:工时新增
  43. // CreateWorkingHours 创建工时
  44. func (pwh ProjectWorkingHours) CreateWorkingHours() error {
  45. return global.GVA_DB.Create(&pwh).Error
  46. }
  47. // TODO:工时修改
  48. // UpdateWorkingHours 修改工时
  49. func (pwh ProjectWorkingHours) UpdateWorkingHours() error {
  50. return global.GVA_DB.Model(&ProjectWorkingHours{}).Updates(&pwh).Error
  51. }
  52. // TODO:工时删除
  53. // DeleteWorkingHours 删除工时
  54. func (pwh ProjectWorkingHours) DeleteWorkingHours() error {
  55. return global.GVA_DB.Model(&ProjectWorkingHours{}).Unscoped().Delete(&pwh).Error
  56. }