inductanceDetails.go 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package dao
  2. import "server/global"
  3. type InductanceDetails struct {
  4. ID int `json:"id" form:"id" gorm:"primarykey"` // 主键ID
  5. DeviceSn string `json:"deviceSn" form:"deviceSn" gorm:"comment:电感编码"` // 电感编码
  6. VoltageA int64 `json:"voltageA" form:"voltageA" gorm:"comment:电压A"`
  7. VoltageB int64 `json:"voltageB" form:"voltageB" gorm:"comment:电压B"`
  8. VoltageC int64 `json:"voltageC" form:"voltageC" gorm:"comment:电压C"`
  9. CurrentA float64 `json:"currentA" form:"currentA" gorm:"comment:电流A"`
  10. CurrentB float64 `json:"currentB" form:"currentB" gorm:"comment:电流B"`
  11. CurrentC float64 `json:"currentC" form:"currentC" gorm:"comment:电流C"`
  12. ActivePowerA int `json:"activePowerA" form:"activePowerA" gorm:"comment:有功功率A"`
  13. ActivePowerB int `json:"activePowerB" form:"activePowerB" gorm:"comment:有功功率B"`
  14. ActivePowerC int `json:"activePowerC" form:"activePowerC" gorm:"comment:有功功率C"`
  15. TotalActivePower int `json:"totalActivePower" form:"totalActivePower" gorm:"comment:总有功功率"`
  16. ApparentPowerA int `json:"apparentPowerA" form:"apparentPowerA" gorm:"comment:视在功率A"`
  17. ApparentPowerB int `json:"apparentPowerB" form:"apparentPowerB" gorm:"comment:视在功率B"`
  18. ApparentPowerC int `json:"apparentPowerC" form:"apparentPowerC" gorm:"comment:视在功率C"`
  19. TotalApparentPower int `json:"totalApparentPower" form:"totalApparentPower" gorm:"comment:总视在功率"`
  20. PowerFactorA float64 `json:"powerFactorA" form:"powerFactorA" gorm:"comment:功率因数A"`
  21. PowerFactorB float64 `json:"powerFactorB" form:"powerFactorB" gorm:"comment:功率因数B"`
  22. PowerFactorC float64 `json:"powerFactorC" form:"powerFactorC" gorm:"comment:功率因数C"`
  23. TotalPowerFactor float64 `json:"totalPowerFactor" form:"totalPowerFactor" gorm:"comment:总功率因数"`
  24. UploadTime string `json:"uploadTime" form:"uploadTime" gorm:"comment:上传时间"`
  25. }
  26. func (InductanceDetails) TableName() string {
  27. return "inductance_details"
  28. }
  29. func (id InductanceDetails) CreateInductanceDetails() error {
  30. return global.GVA_DB.Create(&id).Error
  31. }
  32. func QueryInductanceDetailsByCode(inductanceCode string) (inductanceDetails []InductanceDetails, err error) {
  33. err = global.GVA_DB.Model(&InductanceDetails{}).Where("device_sn =?", inductanceCode).Scan(&inductanceDetails).Error
  34. return
  35. }
  36. // QueryInductanceDetailsList 查询电感详情列表
  37. func QueryInductanceDetailsList(limit, offset int, code string) (list []InductanceDetails, total int64, err error) {
  38. db := global.GVA_DB.Model(&InductanceDetails{}).Where("device_sn", code).Order("upload_time DESC")
  39. err = db.Count(&total).Error
  40. if err != nil {
  41. return
  42. }
  43. err = db.Limit(limit).Offset(offset).Find(&list).Error
  44. return list, total, err
  45. }
  46. // TimingDeleteInductanceDetails 定时删除电感详情
  47. func TimingDeleteInductanceDetails() error {
  48. return global.GVA_DB.Unscoped().Delete(&InductanceDetails{}, "upload_time < DATE_SUB(NOW(), INTERVAL 5 DAY)").Error
  49. }