package model import ( "gorm.io/gorm" "time" ) type WaferList struct { ID int64 `json:"id" gorm:"primaryKey"` Status string `json:"status"` // 状态 OrderDate string `json:"order_date"` // 下单日期 PBI string `json:"pbi"` // 订单号 Product string `json:"product"` // 晶圆型号 Factory string `json:"factory"` // 晶圆厂 WaferSize string `json:"wafer_size"` // 晶圆尺寸 Quantity float64 `json:"quantity"` // 投片数量 OnlineQuantity float64 `json:"online_quantity"` // 在线数量 ReturnQuantity float64 `json:"return_quantity"` // 回货数量 DieQuantity float64 `json:"die_quantity"` // Die数量 WaferStock []WaferStock `json:"wafer_stock" gorm:"foreignKey:WaferListID;references:ID"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"-"` DeletedAt gorm.DeletedAt `json:"-" gorm:"index"` } type WaferStock struct { ID int64 `json:"id" gorm:"primaryKey"` WaferListID int64 `json:"wafer_list_id"` PBI string `json:"pbi"` // 订单号 Product string `json:"product"` // 晶圆型号 Specification string `json:"specification"` // 规格 ReturnDate string `json:"return_date"` // 回货日期 Lot string `json:"lot"` // 批次 WaferID string `json:"wafer_id"` // 片号 ReturnQuantity float64 `json:"return_quantity"` // 回货数量 DieQuantity float64 `json:"die_quantity"` // DIE数量 CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"-"` DeletedAt gorm.DeletedAt `json:"-" gorm:"index"` } type ABList struct { ID int64 `json:"id" gorm:"primaryKey"` Status string `json:"status"` // 是否已完成 OrderDate string `json:"order_date"` // 下单日期 PBI string `json:"pbi"` // 订单号 OutsourcingPBI string `json:"outsourcing_pbi"` // 委外工单号 Product string `json:"product"` // 成品型号 WaferProduct string `json:"wafer_product"` // 晶圆型号 Package string `json:"package"` // 封装 Factory string `json:"factory"` // 封装厂 Lot string `json:"lot"` // 批号 Seal string `json:"seal"` // 丝印 WaferID string `json:"wafer_id"` // 片号 Quantity float64 `json:"quantity"` // 订单数量 OnlineQuantity float64 `json:"online_quantity"` // 在线数量 PassProbability string `json:"pass_probability"` // 良率 StockOutQuantity float64 `json:"stock_out_quantity"` // 出库数 StockInQuantity float64 `json:"stock_in_quantity"` // 入库数 PassQuantity float64 `json:"pass_quantity"` // 封装良品 FailQuantity float64 `json:"fail_quantity"` // 封装不良品 ABListStock []ABListStock `json:"ab_list_stock" gorm:"foreignKey:ABListID;references:ID"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"-"` DeletedAt gorm.DeletedAt `json:"-" gorm:"index"` } type ABListStock struct { ID int64 `json:"id" gorm:"primaryKey"` ABListID int64 `json:"ab_list_id"` ReturnDate string `json:"return_date"` PassQuantity float64 `json:"pass_quantity"` FailQuantity float64 `json:"fail_quantity"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"-"` DeletedAt gorm.DeletedAt `json:"-" gorm:"index"` } type ABWaferList struct { Material string `json:"material"` // 料号 Product string `json:"product"` // 品名 Specification string `json:"specification"` // 规格 Lot string `json:"lot"` // 批号 WaferID string `json:"wafer_id"` // 片号 } type BPList struct { ID int64 `json:"id" gorm:"primaryKey"` Status string `json:"status"` // 状态 OrderDate string `json:"order_date"` // 下单日期 PBI string `json:"pbi"` // 订单号 OutsourcingPBI string `json:"outsourcing_pbi"` // 委外工单号 Product string `json:"product"` // 晶圆型号 Package string `json:"package"` // 封装 Factory string `json:"factory"` // CP测试厂 Lot string `json:"lot"` // 批号 WaferID string `json:"wafer_id"` // 片号 Quantity float64 `json:"quantity"` // 订单数量 OnlineQuantity float64 `json:"online_quantity"` // 在线数量 ReturnQuantity float64 `json:"return_quantity"` // 回货数量 DieQuantity float64 `json:"die_quantity"` // Die数量 BPListStock []BPListStock `json:"bp_list_stock" gorm:"foreignKey:BPListID;references:ID"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"-"` DeletedAt gorm.DeletedAt `json:"-" gorm:"index"` } type BPListStock struct { ID int64 `json:"id" gorm:"primaryKey"` BPListID int64 `json:"bp_list_id"` ReturnDate string `json:"return_date"` Quantity float64 `json:"quantity"` DieQuantity float64 `json:"die_quantity"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"-"` DeletedAt gorm.DeletedAt `json:"-" gorm:"index"` } type CPList struct { ID int64 `json:"id" gorm:"primaryKey"` Status string `json:"status"` OrderDate string `json:"order_date"` // 下单日期(订单日期) PBI string `json:"pbi"` // PBI(订单号) OutsourcingPBI string `json:"outsourcing_pbi"` // 委外工单号 Product string `json:"product"` // 晶圆型号 Package string `json:"package"` // 封装(规格) Factory string `json:"factory"` // CP测试厂 Lot string `json:"lot"` // 批号 WaferID string `json:"wafer_id"` // 片号 TestProgram string `json:"test_program"` // 测试程序 TestProgramVersion string `json:"test_program_version"` // 测试程序版本 Quantity float64 `json:"quantity"` // 订单数量 OnlineQuantity float64 `json:"online_quantity"` // 未交数量 ReturnQuantity float64 `json:"return_quantity"` // 回货数量 DieQuantity float64 `json:"die_quantity"` // Die数量 CPListStock []CPListStock `json:"cp_list_stock" gorm:"foreignKey:CPListID;references:ID"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"-"` DeletedAt gorm.DeletedAt `json:"-" gorm:"index"` } type CPListStock struct { ID int64 `json:"id" gorm:"primaryKey"` CPListID int64 `json:"cp_list_id"` ReturnDate string `json:"return_date"` Quantity float64 `json:"quantity"` DieQuantity float64 `json:"die_quantity"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"-"` DeletedAt gorm.DeletedAt `json:"-" gorm:"index"` } type CPShowList struct { Status string `json:"status"` OrderDate string `json:"order_date"` // 下单日期(订单日期) PBI string `json:"pbi"` // PBI(订单号) OutsourcingPBI string `json:"outsourcing_pbi"` // 委外工单号 Product string `json:"product"` // 晶圆型号 Package string `json:"package"` // 封装(规格) Factory string `json:"factory"` // CP测试厂 Lot string `json:"lot"` // 批号 WaferID string `json:"wafer_id"` // 片号 TestProgram string `json:"test_program"` // 测试程序 TestProgramVersion string `json:"test_program_version"` // 测试程序版本 Quantity float64 `json:"quantity"` // 订单数量 OnlineQuantity float64 `json:"online_quantity"` // 未交数量 ReturnQuantity float64 `json:"return_quantity"` // 回货数量 DieQuantity float64 `json:"die_quantity"` // Die数量 CPListStock []CPListStock `json:"cp_list_stock" gorm:"foreignKey:CPListID;references:ID"` TestMachine string `json:"test_machine"` // 测试机台 TestQuantity string `json:"test_quantity"` // 测试数量 FirstPassQuantity string `json:"first_pass_quantity"` // 初测良品数量 FirstPassProbability string `json:"first_pass_probability"` // 初测良率 PassQuantity string `json:"pass_quantity"` // 良品数量(包括回收数据) PassProbability string `json:"pass_probability"` // 良率(包括回收数据) ReportTestQuantity string `json:"report_test_quantity"` // 报表测试数量 ReportPassQuantity string `json:"report_pass_quantity"` // 报表良品数量 ReportPassProbability string `json:"report_pass_probability"` // 报表良率 TestTime string `json:"test_time"` // 测试时间 TestQuantityDiff string `json:"test_quantity_diff"` // 测试数量差异 TestQuantityDiffLabel bool `json:"test_quantity_diff_label"` PassQuantityDiff string `json:"pass_quantity_diff"` // 良品数量差异 PassQuantityDiffLabel bool `json:"pass_quantity_diff_label"` ReturnProbability string `json:"return_probability"` // 回收率 ReturnProbabilityLabel bool `json:"return_probability_label"` StackingMaterials bool `json:"stacking_materials"` // 是否叠料 SoftBinFailMap map[string]float64 `json:"soft_bin_fail_map"` // 软件Bin的不良数量 HardBinFailMap map[string]float64 `json:"hard_bin_fail_map"` // 硬件Bin的不良数量 SoftBinFail []*ReportBinFail `json:"soft_bin_fail"` // 软件Bin的不良数量 HardBinFail []*ReportBinFail `json:"hard_bin_fail"` // 硬件Bin的不良数量 Site []*ReportListSites `json:"site"` // Site测试情况 WaferDetails []ReportList `json:"wafer_details"` // 片号细节 } type FTList struct { ID int64 `json:"id" gorm:"primaryKey"` Status string `json:"status"` OrderDate string `json:"order_date"` // 下单日期(订单日期) PBI string `json:"pbi"` // PBI(订单号) OutsourcingPBI string `json:"outsourcing_pbi"` // 委外工单号 Product string `json:"product"` // 成品型号 WaferProduct string `json:"wafer_product"` // 晶圆型号 Package string `json:"package"` // 封装(规格) Factory string `json:"factory"` // FT测试厂 Lot string `json:"lot"` // 批号 Seal string `json:"seal"` // 丝印 TestProgram string `json:"test_program"` // FT测试程序 TestProgramVersion string `json:"test_program_version"` // 测试程序版本 Quantity float64 `json:"quantity"` // 订单数量 OnlineQuantity float64 `json:"online_quantity"` // 未交数量 ReturnQuantity float64 `json:"return_quantity"` // 回货数量 PassQuantity float64 `json:"pass_quantity"` // FT良品 FailQuantity float64 `json:"fail_quantity"` // FT不良品 FTListStock []FTListStock `json:"ft_list_stock" gorm:"foreignKey:FTListID;references:ID"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"-"` DeletedAt gorm.DeletedAt `json:"-" gorm:"index"` } type FTListStock struct { ID int64 `json:"id" gorm:"primaryKey"` FTListID int64 `json:"cp_list_id"` ReturnDate string `json:"return_date"` PassQuantity float64 `json:"pass_quantity"` FailQuantity float64 `json:"fail_quantity"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"-"` DeletedAt gorm.DeletedAt `json:"-" gorm:"index"` } type FTShowList struct { Status string `json:"status"` OrderDate string `json:"order_date"` // 下单日期(订单日期) PBI string `json:"pbi"` // PBI(订单号) OutsourcingPBI string `json:"outsourcing_pbi"` // 委外工单号 Product string `json:"product"` // 成品型号 WaferProduct string `json:"wafer_product"` // 晶圆型号 Package string `json:"package"` // 封装(规格) Factory string `json:"factory"` // CP测试厂 Lot string `json:"lot"` // 批号 Seal string `json:"seal"` // 丝印 TestProgram string `json:"test_program"` // 测试程序 TestProgramVersion string `json:"test_program_version"` // 测试程序版本 Quantity float64 `json:"quantity"` // 订单数量 OnlineQuantity float64 `json:"online_quantity"` // 未交数量 ReturnQuantity float64 `json:"return_quantity"` // 回货数量 FTPassQuantity float64 `json:"ft_pass_quantity"` // FT良品 FTFailQuantity float64 `json:"ft_fail_quantity"` // FT不良品 FTListStock []FTListStock `json:"ft_list_stock" gorm:"foreignKey:FTListID;references:ID"` TestMachine string `json:"test_machine"` // 测试机台 TestQuantity string `json:"test_quantity"` // 测试数量 FirstPassQuantity string `json:"first_pass_quantity"` // 初测良品数量 FirstPassProbability string `json:"first_pass_probability"` // 初测良率 PassQuantity string `json:"pass_quantity"` // 良品数量(包括回收数据) PassProbability string `json:"pass_probability"` // 良率(包括回收数据) ReportTestQuantity string `json:"report_test_quantity"` // 报表测试数量 ReportPassQuantity string `json:"report_pass_quantity"` // 报表良品数量 ReportPassProbability string `json:"report_pass_probability"` // 报表良率 TestTime string `json:"test_time"` // 测试时间 TestQuantityDiff string `json:"test_quantity_diff"` // 测试数量差异 TestQuantityDiffLabel bool `json:"test_quantity_diff_label"` PassQuantityDiff string `json:"pass_quantity_diff"` // 良品数量差异 PassQuantityDiffLabel bool `json:"pass_quantity_diff_label"` ReturnProbability string `json:"return_probability"` // 回收率 ReturnProbabilityLabel bool `json:"return_probability_label"` StackingMaterials bool `json:"stacking_materials"` // 是否叠料 SoftBinFailMap map[string]float64 `json:"soft_bin_fail_map"` // 软件Bin的不良数量 HardBinFailMap map[string]float64 `json:"hard_bin_fail_map"` // 硬件Bin的不良数量 SoftBinFail []*ReportBinFail `json:"soft_bin_fail"` // 软件Bin的不良数量 HardBinFail []*ReportBinFail `json:"hard_bin_fail"` // 硬件Bin的不良数量 Site []*ReportListSites `json:"site"` // Site测试情况 SubBatchDetails []ReportList `json:"sub_batch_details"` // 子批号细节 } type TRList struct { ID int64 `json:"id" gorm:"primaryKey"` Status string `json:"status"` // 是否已完成 OrderDate string `json:"order_date"` // 下单日期 PBI string `json:"pbi"` // 订单号 OutsourcingPBI string `json:"outsourcing_pbi"` // 委外工单号 Product string `json:"product"` // 成品型号 WaferProduct string `json:"wafer_product"` // 晶圆型号 Package string `json:"package"` // 封装 Factory string `json:"factory"` // FT测试厂 Lot string `json:"lot"` // 批号 Seal string `json:"seal"` // 丝印 Quantity float64 `json:"quantity"` // 订单数量 OnlineQuantity float64 `json:"online_quantity"` // 在线数量 PassQuantity float64 `json:"pass_quantity"` // FT良品 FailQuantity float64 `json:"fail_quantity"` // FT不良品 TRListStock []TRListStock `json:"tr_list_stock" gorm:"foreignKey:TRListID;references:ID"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"-"` DeletedAt gorm.DeletedAt `json:"-" gorm:"index"` } type TRListStock struct { ID int64 `json:"id" gorm:"primaryKey"` TRListID int64 `json:"tr_list_id"` ReturnDate string `json:"return_date"` PassQuantity float64 `json:"pass_quantity"` FailQuantity float64 `json:"fail_quantity"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"-"` DeletedAt gorm.DeletedAt `json:"-" gorm:"index"` }