package test_data import ( "gitee.com/golang-module/carbon/v2" "strings" "testData/global" "testData/model" "testData/request" ) func GetProductSelection(r *request.ProbabilitySelection) []string { var products []string global.PostGreSQL.Model(&model.Report{}).Where("step = ? AND created_at BETWEEN Date(?) AND Date(?)", r.Step, r.StartDate, carbon.Parse(r.EndDate).AddDay().Format("Y-m-d")).Group("product").Select("product").Find(&products) return products } func GetLotSelection(r *request.ProbabilitySelection) []string { var lots []string global.PostGreSQL.Model(&model.Report{}).Where("step = ? AND created_at BETWEEN Date(?) AND Date(?)", r.Step, r.StartDate, carbon.Parse(r.EndDate).AddDay().Format("Y-m-d")).Group("lot").Select("lot").Find(&lots) return lots } func GetProductSelectionByFinalReport(r *request.ProbabilitySelection) []string { var products []string r.StartDate = carbon.Now().SubYear().AddMonth().StartOfMonth().Format("Y-m-d") r.EndDate = carbon.Now().AddMonth().StartOfMonth().Format("Y-m-d") global.PostGreSQL.Model(&model.FinalReport{}).Where("step = ? AND created_at BETWEEN Date(?) AND Date(?)", r.Step, r.StartDate, carbon.Parse(r.EndDate)).Group("product").Select("product").Find(&products) for _, product := range products { if strings.Contains(product, "-") { product = strings.Split(product, "-")[0] } } return products } func GetABFactorySelection(r *request.ProbabilitySelection) []string { var sql string if r.StartDate != "" && r.EndDate != "" { sql += "tc_sfc02 BETWEEN DATE '" + r.StartDate + "' AND DATE '" + r.EndDate + "'" } var factoryCodes []string global.Oracle.Model(&model.TcSfcFile{}).Where("tc_sfc08 LIKE ?", "%AB%").Where(sql). Group("tc_sfc04").Select("tc_sfc04").Find(&factoryCodes) var factories []string global.Oracle.Model(&model.PmcFile{}).Where("pmc01 IN ?", factoryCodes).Select("pmc03").Find(&factories) return factories }