V0 FT记录调整

This commit is contained in:
jh_peng 2024-11-29 10:30:44 +08:00
parent f262b32c3d
commit 9cb6b68a82

View File

@ -1155,6 +1155,40 @@ func FTList(r *request.FTList) ([]*model.FTShowList, int64) {
} }
var reportListSites []*model.ReportListSites var reportListSites []*model.ReportListSites
for _, v := range siteMap { 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) reportListSites = append(reportListSites, &v)
} }
sort.Slice(reportListSites, func(i, j int) bool { 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 { sort.Slice(hardBinFail, func(i, j int) bool {
return hardBinFail[i].Quantity > hardBinFail[j].Quantity return hardBinFail[i].Quantity > hardBinFail[j].Quantity
}) })
for _, site := range ftShowList.Site { //for _, site := range ftShowList.Site {
var siteSoftBinFail, siteHardBinFail []*model.ReportBinFail // var siteSoftBinFail, siteHardBinFail []*model.ReportBinFail
for softBin, softBinQuantity := range site.SoftBinFailMap { // for softBin, softBinQuantity := range site.SoftBinFailMap {
siteSoftBinFail = append(siteSoftBinFail, &model.ReportBinFail{ // siteSoftBinFail = append(siteSoftBinFail, &model.ReportBinFail{
Bin: softBin, // Bin: softBin,
Quantity: softBinQuantity, // Quantity: softBinQuantity,
}) // })
} // }
sort.Slice(siteSoftBinFail, func(i, j int) bool { // sort.Slice(siteSoftBinFail, func(i, j int) bool {
return siteSoftBinFail[i].Quantity > siteSoftBinFail[j].Quantity // return siteSoftBinFail[i].Quantity > siteSoftBinFail[j].Quantity
}) // })
for hardBin, hardBinQuantity := range site.HardBinFailMap { // for hardBin, hardBinQuantity := range site.HardBinFailMap {
siteHardBinFail = append(siteHardBinFail, &model.ReportBinFail{ // siteHardBinFail = append(siteHardBinFail, &model.ReportBinFail{
Bin: hardBin, // Bin: hardBin,
Quantity: hardBinQuantity, // Quantity: hardBinQuantity,
}) // })
} // }
sort.Slice(siteHardBinFail, func(i, j int) bool { // sort.Slice(siteHardBinFail, func(i, j int) bool {
return siteHardBinFail[i].Quantity > siteHardBinFail[j].Quantity // return siteHardBinFail[i].Quantity > siteHardBinFail[j].Quantity
}) // })
site.SoftBinFail = siteSoftBinFail // site.SoftBinFail = siteSoftBinFail
site.HardBinFail = siteHardBinFail // site.HardBinFail = siteHardBinFail
} //}
sort.Slice(ftShowList.Site, func(i, j int) bool { //sort.Slice(ftShowList.Site, func(i, j int) bool {
iDecimal, _ := decimal.NewFromString(ftShowList.Site[i].PassProbability[:len(ftShowList.Site[i].PassProbability)-1]) // 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]) // jDecimal, _ := decimal.NewFromString(ftShowList.Site[j].PassProbability[:len(ftShowList.Site[j].PassProbability)-1])
return jDecimal.LessThan(iDecimal) // return jDecimal.LessThan(iDecimal)
}) //})
ftShowList.SoftBinFail = softBinFail ftShowList.SoftBinFail = softBinFail
ftShowList.HardBinFail = hardBinFail ftShowList.HardBinFail = hardBinFail
ftShowLists = append(ftShowLists, &ftShowList) ftShowLists = append(ftShowLists, &ftShowList)