package dao

import (
	"enterprise/common/model"
	"gorm.io/gorm"
)

type UnifyKctData struct {
}

func NewUnifyKctData() *UnifyKctData {
	return &UnifyKctData{}
}

func (d *UnifyKctData) TableName() string {
	return "view_unify_kct_summary"
}

func (d *UnifyKctData) QueryData(startDay, endDay string) ([]*model.ExternalUnifyKctSummary, error) {
	tx := unifyDB.Table(d.TableName())

	var o []*model.ExternalUnifyKctSummary

	if startDay != "" {
		tx = tx.Where("day >= ?", startDay)
	}
	if endDay != "" {
		tx = tx.Where("day <= ?", endDay)
	}
	tx.Order("day DESC")

	tx = tx.Find(&o)
	if tx.Error == gorm.ErrRecordNotFound {
		return o, nil
	}

	if tx.Error != nil {
		return nil, tx.Error
	}
	return o, nil
}