From 9cb6b68a82e4c9ae46b7903c851e10e16be06cec Mon Sep 17 00:00:00 2001 From: jh_peng Date: Fri, 29 Nov 2024 10:30:44 +0800 Subject: [PATCH] =?UTF-8?q?V0=20FT=E8=AE=B0=E5=BD=95=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- repository/test.data/report.list.go | 90 ++++++++++++++++++++--------- 1 file changed, 62 insertions(+), 28 deletions(-) diff --git a/repository/test.data/report.list.go b/repository/test.data/report.list.go index 2ded657..37b2985 100644 --- a/repository/test.data/report.list.go +++ b/repository/test.data/report.list.go @@ -1155,6 +1155,40 @@ func FTList(r *request.FTList) ([]*model.FTShowList, int64) { } var reportListSites []*model.ReportListSites for _, v := range siteMap { + var siteSoftBinFail, siteHardBinFail []*model.ReportBinFail + siteTestQuantity, _ := decimal.NewFromString(v.TestQuantity) + for softBin, softBinQuantity := range v.SoftBinFailMap { + var proportion string + if !siteTestQuantity.IsZero() { + proportion = decimal.NewFromFloat(softBinQuantity).Div(siteTestQuantity).Round(4). + Mul(decimal.NewFromInt(100)).String() + "%" + } + siteSoftBinFail = append(siteSoftBinFail, &model.ReportBinFail{ + Bin: softBin, + Quantity: softBinQuantity, + Proportion: proportion, + }) + } + sort.Slice(siteSoftBinFail, func(i, j int) bool { + return siteSoftBinFail[i].Quantity > siteSoftBinFail[j].Quantity + }) + for hardBin, hardBinQuantity := range v.HardBinFailMap { + var proportion string + if !siteTestQuantity.IsZero() { + proportion = decimal.NewFromFloat(hardBinQuantity).Div(siteTestQuantity).Round(4). + Mul(decimal.NewFromInt(100)).String() + "%" + } + siteHardBinFail = append(siteHardBinFail, &model.ReportBinFail{ + Bin: hardBin, + Quantity: hardBinQuantity, + Proportion: proportion, + }) + } + sort.Slice(siteHardBinFail, func(i, j int) bool { + return siteHardBinFail[i].Quantity > siteHardBinFail[j].Quantity + }) + v.SoftBinFail = siteSoftBinFail + v.HardBinFail = siteHardBinFail reportListSites = append(reportListSites, &v) } sort.Slice(reportListSites, func(i, j int) bool { @@ -1463,34 +1497,34 @@ func FTList(r *request.FTList) ([]*model.FTShowList, int64) { sort.Slice(hardBinFail, func(i, j int) bool { return hardBinFail[i].Quantity > hardBinFail[j].Quantity }) - for _, site := range ftShowList.Site { - var siteSoftBinFail, siteHardBinFail []*model.ReportBinFail - for softBin, softBinQuantity := range site.SoftBinFailMap { - siteSoftBinFail = append(siteSoftBinFail, &model.ReportBinFail{ - Bin: softBin, - Quantity: softBinQuantity, - }) - } - sort.Slice(siteSoftBinFail, func(i, j int) bool { - return siteSoftBinFail[i].Quantity > siteSoftBinFail[j].Quantity - }) - for hardBin, hardBinQuantity := range site.HardBinFailMap { - siteHardBinFail = append(siteHardBinFail, &model.ReportBinFail{ - Bin: hardBin, - Quantity: hardBinQuantity, - }) - } - sort.Slice(siteHardBinFail, func(i, j int) bool { - return siteHardBinFail[i].Quantity > siteHardBinFail[j].Quantity - }) - site.SoftBinFail = siteSoftBinFail - site.HardBinFail = siteHardBinFail - } - sort.Slice(ftShowList.Site, func(i, j int) bool { - iDecimal, _ := decimal.NewFromString(ftShowList.Site[i].PassProbability[:len(ftShowList.Site[i].PassProbability)-1]) - jDecimal, _ := decimal.NewFromString(ftShowList.Site[j].PassProbability[:len(ftShowList.Site[j].PassProbability)-1]) - return jDecimal.LessThan(iDecimal) - }) + //for _, site := range ftShowList.Site { + // var siteSoftBinFail, siteHardBinFail []*model.ReportBinFail + // for softBin, softBinQuantity := range site.SoftBinFailMap { + // siteSoftBinFail = append(siteSoftBinFail, &model.ReportBinFail{ + // Bin: softBin, + // Quantity: softBinQuantity, + // }) + // } + // sort.Slice(siteSoftBinFail, func(i, j int) bool { + // return siteSoftBinFail[i].Quantity > siteSoftBinFail[j].Quantity + // }) + // for hardBin, hardBinQuantity := range site.HardBinFailMap { + // siteHardBinFail = append(siteHardBinFail, &model.ReportBinFail{ + // Bin: hardBin, + // Quantity: hardBinQuantity, + // }) + // } + // sort.Slice(siteHardBinFail, func(i, j int) bool { + // return siteHardBinFail[i].Quantity > siteHardBinFail[j].Quantity + // }) + // site.SoftBinFail = siteSoftBinFail + // site.HardBinFail = siteHardBinFail + //} + //sort.Slice(ftShowList.Site, func(i, j int) bool { + // iDecimal, _ := decimal.NewFromString(ftShowList.Site[i].PassProbability[:len(ftShowList.Site[i].PassProbability)-1]) + // jDecimal, _ := decimal.NewFromString(ftShowList.Site[j].PassProbability[:len(ftShowList.Site[j].PassProbability)-1]) + // return jDecimal.LessThan(iDecimal) + //}) ftShowList.SoftBinFail = softBinFail ftShowList.HardBinFail = hardBinFail ftShowLists = append(ftShowLists, &ftShowList)