test_data/repository/test.data/report.chart.selection.go

45 lines
1.8 KiB
Go

package test_data
import (
"gitee.com/golang-module/carbon/v2"
"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)
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
}