ソースを参照

fix: 收入报表空日期不再用空字符串过滤——仅非空时加paid_at条件

lq 1 ヶ月 前
コミット
60179fec66
1 ファイル変更4 行追加2 行削除
  1. 4 2
      internal/modules/report/service/service.go

+ 4 - 2
internal/modules/report/service/service.go

@@ -21,8 +21,10 @@ func (s *ReportService) RevenueReport(startDate, endDate string, lotID uint) ([]
 			COALESCE(SUM(CASE WHEN p.payment_method='free' THEN p.amount ELSE 0 END),0) as free,
 			COALESCE(SUM(p.amount),0) as total, COUNT(*) as count`).
 		Joins("LEFT JOIN vehicle_record vr ON vr.id = p.record_id").
-		Joins("LEFT JOIN parking_lot pr ON pr.id = vr.parking_lot_id").
-		Where("p.paid_at >= ? AND p.paid_at <= ?", startDate, endDate+" 23:59:59")
+		Joins("LEFT JOIN parking_lot pr ON pr.id = vr.parking_lot_id")
+	if startDate != "" && endDate != "" {
+		db = db.Where("p.paid_at >= ? AND p.paid_at <= ?", startDate, endDate+" 23:59:59")
+	}
 	if lotID > 0 {
 		db = db.Where("vr.parking_lot_id = ?", lotID)
 	}