634 lines
27 KiB
Go
634 lines
27 KiB
Go
package report_reader
|
||
|
||
import (
|
||
"errors"
|
||
"github.com/xuri/excelize/v2"
|
||
"gorm.io/gorm"
|
||
"path"
|
||
"strings"
|
||
"testData/global"
|
||
"testData/model"
|
||
"testData/utils"
|
||
)
|
||
|
||
func FTSMCReportReader(filePath string) {
|
||
f, _ := excelize.OpenFile(filePath)
|
||
sheetName := f.GetSheetName(0)
|
||
rows, _ := f.GetRows(sheetName)
|
||
titleMap := make(map[string]int)
|
||
var pmc *model.PmcFile
|
||
global.Oracle.Where("pmc03 LIKE ?", "%赛美科%").Find(&pmc)
|
||
var finalReportExcel *model.FinalReportExcel
|
||
global.PostGreSQL.Where("factory = ? AND step = ?", pmc.Pmc03, "FT").Find(&finalReportExcel)
|
||
for rowIndex, row := range rows {
|
||
if rowIndex == 0 {
|
||
continue
|
||
} else if rowIndex == 1 {
|
||
for i := 0; i < len(row); i++ {
|
||
row[i] = strings.ReplaceAll(row[i], " ", "")
|
||
row[i] = strings.ReplaceAll(row[i], "\n", "")
|
||
titleMap[row[i]] = i
|
||
}
|
||
} else {
|
||
var report *model.FinalReport
|
||
|
||
info := make(map[string]string)
|
||
FTEmptyInfoHandler(titleMap, finalReportExcel, info, row)
|
||
|
||
if errors.Is(global.PostGreSQL.Where("step = ? AND product = ? AND lot = ? AND sub_batch = ?",
|
||
"FT", row[titleMap[finalReportExcel.Product]], row[titleMap[finalReportExcel.Lot]],
|
||
row[titleMap[finalReportExcel.SubBatch]]).First(&report).Error, gorm.ErrRecordNotFound) {
|
||
global.PostGreSQL.Create(&model.FinalReport{
|
||
Step: "FT",
|
||
Product: info["product"],
|
||
Lot: info["lot"],
|
||
Factory: pmc.Pmc03,
|
||
TestProgram: info["test_program"],
|
||
PBI: info["pbi"],
|
||
SubBatch: info["sub_batch"],
|
||
ReportTestQuantity: info["report_test_quantity"],
|
||
OrderDate: strings.ReplaceAll(info["order_date"][:10], "/", "-"),
|
||
ReportPassQuantity: info["report_pass_quantity"],
|
||
ReportPassProbability: info["report_pass_probability"],
|
||
Bin1: info["bin1"],
|
||
Bin2: info["bin2"],
|
||
Bin3: info["bin3"],
|
||
Bin4: info["bin4"],
|
||
Bin5: info["bin5"],
|
||
Bin6: info["bin6"],
|
||
Bin7: info["bin7"],
|
||
Bin8: info["bin8"],
|
||
Bin9: info["bin9"],
|
||
Bin10: info["bin10"],
|
||
OutlookFail: info["outlook_fail"],
|
||
Other: info["other"],
|
||
BentStitch: info["bent_stitch"],
|
||
Scrapped: info["scrapped"],
|
||
})
|
||
} else {
|
||
global.PostGreSQL.Model(&report).Updates(map[string]interface{}{
|
||
"pbi": info["pbi"],
|
||
"sub_batch": info["sub_batch"],
|
||
"report_test_quantity": info["report_test_quantity"],
|
||
"report_pass_quantity": info["report_pass_quantity"],
|
||
"report_pass_probability": info["report_pass_probability"],
|
||
"bin2": info["bin2"],
|
||
"bin3": info["bin3"],
|
||
"bin4": info["bin4"],
|
||
"bin5": info["bin5"],
|
||
"bin6": info["bin6"],
|
||
"bin7": info["bin7"],
|
||
"bin8": info["bin8"],
|
||
"bin9": info["bin9"],
|
||
"bin10": info["bin10"],
|
||
"outlook_fail": info["outlook_fail"],
|
||
"other": info["other"],
|
||
"bent_stitch": info["bent_stitch"],
|
||
"scrapped": info["scrapped"],
|
||
})
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
//func FTSMCReportReader(filePath string) {
|
||
// f, _ := excelize.OpenFile(filePath)
|
||
// sheetName := f.GetSheetName(1)
|
||
// //sheetName := "FT0801 test Yield(2024.03)"
|
||
// rows, _ := f.GetRows(sheetName)
|
||
// titleMap := make(map[string]int)
|
||
// var pmc *model.PmcFile
|
||
// global.Oracle.Where("pmc03 LIKE ?", "%赛美科%").Find(&pmc)
|
||
// var finalReportExcel *model.FinalReportExcel
|
||
// global.PostGreSQL.Where("factory = ? AND step = ?", pmc.Pmc03, "FT").Find(&finalReportExcel)
|
||
// for rowIndex, row := range rows {
|
||
// if rowIndex == 0 {
|
||
// continue
|
||
// } else if rowIndex == 1 {
|
||
// for i := 0; i < len(row); i++ {
|
||
// row[i] = strings.ReplaceAll(row[i], " ", "")
|
||
// row[i] = strings.ReplaceAll(row[i], "\n", "")
|
||
// titleMap[row[i]] = i
|
||
// }
|
||
// } else {
|
||
// var report *model.FinalReport
|
||
//
|
||
// info := make(map[string]string)
|
||
// FTEmptyInfoHandler(titleMap, finalReportExcel, info, row)
|
||
//
|
||
// if errors.Is(global.PostGreSQL.Where("step = ? AND product = ? AND lot = ? AND sub_batch = ?",
|
||
// "FT", row[titleMap[finalReportExcel.Product]], row[titleMap[finalReportExcel.Lot]],
|
||
// row[titleMap[finalReportExcel.SubBatch]]).First(&report).Error, gorm.ErrRecordNotFound) {
|
||
// global.PostGreSQL.Create(&model.FinalReport{
|
||
// Step: "FT",
|
||
// Product: info["product"],
|
||
// Lot: info["lot"],
|
||
// Factory: pmc.Pmc03,
|
||
// TestProgram: info["test_program"],
|
||
// PBI: info["pbi"],
|
||
// SubBatch: info["sub_batch"],
|
||
// ReportTestQuantity: info["report_test_quantity"],
|
||
// ReportPassQuantity: info["report_pass_quantity"],
|
||
// ReportPassProbability: info["report_pass_probability"],
|
||
// Bin2: info["bin2"],
|
||
// Bin3: info["bin3"],
|
||
// Bin4: info["bin4"],
|
||
// Bin5: info["bin5"],
|
||
// Bin6: info["bin6"],
|
||
// Bin7: info["bin7"],
|
||
// Bin8: info["bin8"],
|
||
// Bin9: info["bin9"],
|
||
// Bin10: info["bin10"],
|
||
// OutlookFail: info["outlook_fail"],
|
||
// Other: info["other"],
|
||
// BentStitch: info["bent_stitch"],
|
||
// Scrapped: info["scrapped"],
|
||
// })
|
||
// } else {
|
||
// global.PostGreSQL.Model(&report).Updates(map[string]interface{}{
|
||
// "pbi": info["pbi"],
|
||
// "sub_batch": info["sub_batch"],
|
||
// "report_test_quantity": info["report_test_quantity"],
|
||
// "report_pass_quantity": info["report_pass_quantity"],
|
||
// "report_pass_probability": info["report_pass_probability"],
|
||
// "bin2": info["bin2"],
|
||
// "bin3": info["bin3"],
|
||
// "bin4": info["bin4"],
|
||
// "bin5": info["bin5"],
|
||
// "bin6": info["bin6"],
|
||
// "bin7": info["bin7"],
|
||
// "bin8": info["bin8"],
|
||
// "bin9": info["bin9"],
|
||
// "bin10": info["bin10"],
|
||
// "outlook_fail": info["outlook_fail"],
|
||
// "other": info["other"],
|
||
// "bent_stitch": info["bent_stitch"],
|
||
// "scrapped": info["scrapped"],
|
||
// })
|
||
// }
|
||
// }
|
||
// }
|
||
//}
|
||
|
||
func FTSuQianChangDianReportReader(filePath string) {
|
||
if path.Ext(filePath) == ".xls" {
|
||
utils.ToXlsx("xls", filePath)
|
||
filePath += ".xlsx"
|
||
}
|
||
f, _ := excelize.OpenFile(filePath)
|
||
sheetName := f.GetSheetName(0)
|
||
rows, _ := f.GetRows(sheetName)
|
||
titleMap := make(map[string]int)
|
||
var pmc *model.PmcFile
|
||
global.Oracle.Where("pmc03 LIKE ?", "%江苏长电%").Find(&pmc)
|
||
var finalReportExcel *model.FinalReportExcel
|
||
global.PostGreSQL.Where("factory = ? AND step = ?", pmc.Pmc03, "FT").Find(&finalReportExcel)
|
||
for rowIndex, row := range rows {
|
||
if rowIndex == 0 {
|
||
for i := 0; i < len(row); i++ {
|
||
row[i] = strings.ReplaceAll(row[i], " ", "")
|
||
row[i] = strings.ReplaceAll(row[i], "\n", "")
|
||
titleMap[row[i]] = i
|
||
}
|
||
} else {
|
||
var report *model.Report
|
||
info := make(map[string]string)
|
||
FTEmptyInfoHandler(titleMap, finalReportExcel, info, row)
|
||
|
||
if errors.Is(global.PostGreSQL.Where("step = ? AND product = ? AND lot = ? AND sub_batch = ?",
|
||
"FT", row[titleMap[finalReportExcel.Product]], row[titleMap[finalReportExcel.Lot]],
|
||
row[titleMap[finalReportExcel.SubBatch]]).First(&report).Error, gorm.ErrRecordNotFound) {
|
||
global.PostGreSQL.Create(&model.FinalReport{
|
||
Step: "FT",
|
||
Product: info["product"],
|
||
Lot: info["lot"],
|
||
Factory: pmc.Pmc03,
|
||
TestProgram: info["test_program"],
|
||
PBI: info["pbi"],
|
||
SubBatch: info["sub_batch"],
|
||
ReportTestQuantity: info["report_test_quantity"],
|
||
ReportPassQuantity: info["report_pass_quantity"],
|
||
ReportPassProbability: info["report_pass_probability"],
|
||
Bin2: info["bin2"],
|
||
Bin3: info["bin3"],
|
||
Bin4: info["bin4"],
|
||
Bin5: info["bin5"],
|
||
Bin6: info["bin6"],
|
||
Bin7: info["bin7"],
|
||
Bin8: info["bin8"],
|
||
Bin9: info["bin9"],
|
||
Bin10: info["bin10"],
|
||
OutlookFail: info["outlook_fail"],
|
||
Other: info["other"],
|
||
BentStitch: info["bent_stitch"],
|
||
Scrapped: info["scrapped"],
|
||
})
|
||
} else {
|
||
global.PostGreSQL.Model(&report).Updates(map[string]interface{}{
|
||
"pbi": info["pbi"],
|
||
"sub_batch": info["sub_batch"],
|
||
"report_test_quantity": info["report_test_quantity"],
|
||
"report_pass_quantity": info["report_pass_quantity"],
|
||
"report_pass_probability": info["report_pass_probability"],
|
||
"bin2": info["bin2"],
|
||
"bin3": info["bin3"],
|
||
"bin4": info["bin4"],
|
||
"bin5": info["bin5"],
|
||
"bin6": info["bin6"],
|
||
"bin7": info["bin7"],
|
||
"bin8": info["bin8"],
|
||
"bin9": info["bin9"],
|
||
"bin10": info["bin10"],
|
||
"outlook_fail": info["outlook_fail"],
|
||
"other": info["other"],
|
||
"bent_stitch": info["bent_stitch"],
|
||
"scrapped": info["scrapped"],
|
||
})
|
||
}
|
||
}
|
||
}
|
||
f.Close()
|
||
}
|
||
|
||
func FTQiPaiReportReader(filePath string) {
|
||
f, _ := excelize.OpenFile(filePath)
|
||
sheetName := f.GetSheetName(0)
|
||
rows, _ := f.GetRows(sheetName)
|
||
titleMap := make(map[string]int)
|
||
var finalReportExcel *model.FinalReportExcel
|
||
var pmc *model.PmcFile
|
||
global.Oracle.Where("pmc03 LIKE ?", "%气派%").Find(&pmc)
|
||
global.PostGreSQL.Where("factory = ? AND step = ?", pmc.Pmc03, "FT").Find(&finalReportExcel)
|
||
for rowIndex, row := range rows {
|
||
if rowIndex == 0 {
|
||
for i := 0; i < len(row); i++ {
|
||
row[i] = strings.ReplaceAll(row[i], " ", "")
|
||
row[i] = strings.ReplaceAll(row[i], "\n", "")
|
||
titleMap[row[i]] = i
|
||
}
|
||
} else {
|
||
var report *model.FinalReport
|
||
info := make(map[string]string)
|
||
FTEmptyInfoHandler(titleMap, finalReportExcel, info, row)
|
||
|
||
if errors.Is(global.PostGreSQL.Where("step = ? AND product = ? AND lot = ? AND sub_batch = ?",
|
||
"FT", row[titleMap[finalReportExcel.Product]], row[titleMap[finalReportExcel.Lot]],
|
||
row[titleMap[finalReportExcel.SubBatch]]).First(&report).Error, gorm.ErrRecordNotFound) {
|
||
global.PostGreSQL.Create(&model.FinalReport{
|
||
Step: "FT",
|
||
Product: row[titleMap[finalReportExcel.Product]],
|
||
Lot: row[titleMap[finalReportExcel.Lot]],
|
||
Factory: pmc.Pmc03,
|
||
TestProgram: row[titleMap[finalReportExcel.TestProgram]],
|
||
PBI: row[titleMap[finalReportExcel.PBI]],
|
||
SubBatch: row[titleMap[finalReportExcel.SubBatch]],
|
||
ReportTestQuantity: row[titleMap[finalReportExcel.FinalTestQuantity]],
|
||
ReportPassQuantity: row[titleMap[finalReportExcel.FinalPassQuantity]],
|
||
ReportPassProbability: row[titleMap[finalReportExcel.FinalPassProbability]],
|
||
Bin2: row[titleMap[finalReportExcel.Bin2]],
|
||
Bin3: row[titleMap[finalReportExcel.Bin3]],
|
||
Bin4: row[titleMap[finalReportExcel.Bin4]],
|
||
Bin5: row[titleMap[finalReportExcel.Bin5]],
|
||
Bin6: row[titleMap[finalReportExcel.Bin6]],
|
||
Bin7: row[titleMap[finalReportExcel.Bin7]],
|
||
Bin8: row[titleMap[finalReportExcel.Bin8]],
|
||
Bin9: row[titleMap[finalReportExcel.Bin9]],
|
||
Bin10: row[titleMap[finalReportExcel.Bin10]],
|
||
OutlookFail: row[titleMap[finalReportExcel.OutlookFail]],
|
||
Other: row[titleMap[finalReportExcel.Other]],
|
||
BentStitch: row[titleMap[finalReportExcel.BentStitch]],
|
||
Scrapped: row[titleMap[finalReportExcel.Scrapped]],
|
||
})
|
||
} else {
|
||
global.PostGreSQL.Model(&report).Updates(map[string]interface{}{
|
||
"pbi": row[titleMap[finalReportExcel.PBI]],
|
||
"sub_batch": row[titleMap[finalReportExcel.SubBatch]],
|
||
"report_test_quantity": row[titleMap[finalReportExcel.FinalTestQuantity]],
|
||
"report_pass_quantity": row[titleMap[finalReportExcel.FinalPassQuantity]],
|
||
"report_pass_probability": row[titleMap[finalReportExcel.FinalPassProbability]],
|
||
"bin2": row[titleMap[finalReportExcel.Bin2]],
|
||
"bin3": row[titleMap[finalReportExcel.Bin3]],
|
||
"bin4": row[titleMap[finalReportExcel.Bin4]],
|
||
"bin5": row[titleMap[finalReportExcel.Bin5]],
|
||
"bin6": row[titleMap[finalReportExcel.Bin6]],
|
||
"bin7": row[titleMap[finalReportExcel.Bin7]],
|
||
"bin8": row[titleMap[finalReportExcel.Bin8]],
|
||
"bin9": row[titleMap[finalReportExcel.Bin9]],
|
||
"bin10": row[titleMap[finalReportExcel.Bin10]],
|
||
"outlook_fail": row[titleMap[finalReportExcel.OutlookFail]],
|
||
"other": row[titleMap[finalReportExcel.Other]],
|
||
"bent_stitch": row[titleMap[finalReportExcel.BentStitch]],
|
||
"scrapped": row[titleMap[finalReportExcel.Scrapped]],
|
||
})
|
||
}
|
||
}
|
||
}
|
||
f.Close()
|
||
}
|
||
|
||
func FTRuiSiReportReader(filePath string) {
|
||
f, _ := excelize.OpenFile(filePath)
|
||
sheetName := f.GetSheetName(0)
|
||
rows, _ := f.GetRows(sheetName)
|
||
titleMap := make(map[string]int)
|
||
var pmc *model.PmcFile
|
||
global.Oracle.Where("pmc03 LIKE ?", "%赛美科%").Find(&pmc)
|
||
var finalReportExcel *model.FinalReportExcel
|
||
global.PostGreSQL.Where("factory = ? AND step = ?", pmc.Pmc03, "FT").Find(&finalReportExcel)
|
||
for rowIndex, row := range rows {
|
||
if rowIndex == 0 {
|
||
for i := 0; i < len(row); i++ {
|
||
row[i] = strings.ReplaceAll(row[i], " ", "")
|
||
row[i] = strings.ReplaceAll(row[i], "\n", "")
|
||
titleMap[row[i]] = i
|
||
}
|
||
} else {
|
||
if row[0] == "" {
|
||
break
|
||
}
|
||
var report *model.FinalReport
|
||
info := make(map[string]string)
|
||
FTEmptyInfoHandler(titleMap, finalReportExcel, info, row)
|
||
|
||
if errors.Is(global.PostGreSQL.Where("step = ? AND product = ? AND lot = ? AND sub_batch = ?",
|
||
"FT", row[titleMap[finalReportExcel.Product]], row[titleMap[finalReportExcel.Lot]],
|
||
row[titleMap[finalReportExcel.SubBatch]]).First(&report).Error, gorm.ErrRecordNotFound) {
|
||
global.PostGreSQL.Create(&model.FinalReport{
|
||
Step: "FT",
|
||
Product: info["product"],
|
||
Lot: info["lot"],
|
||
Factory: pmc.Pmc03,
|
||
TestProgram: info["test_program"],
|
||
PBI: info["pbi"],
|
||
SubBatch: info["sub_batch"],
|
||
ReportTestQuantity: info["report_test_quantity"],
|
||
ReportPassQuantity: info["report_pass_quantity"],
|
||
ReportPassProbability: info["report_pass_probability"],
|
||
Bin2: info["bin2"],
|
||
Bin3: info["bin3"],
|
||
Bin4: info["bin4"],
|
||
Bin5: info["bin5"],
|
||
Bin6: info["bin6"],
|
||
Bin7: info["bin7"],
|
||
Bin8: info["bin8"],
|
||
Bin9: info["bin9"],
|
||
Bin10: info["bin10"],
|
||
OutlookFail: info["outlook_fail"],
|
||
Other: info["other"],
|
||
BentStitch: info["bent_stitch"],
|
||
Scrapped: info["scrapped"],
|
||
})
|
||
} else {
|
||
global.PostGreSQL.Model(&report).Updates(map[string]interface{}{
|
||
"pbi": info["pbi"],
|
||
"sub_batch": info["sub_batch"],
|
||
"report_test_quantity": info["report_test_quantity"],
|
||
"report_pass_quantity": info["report_pass_quantity"],
|
||
"report_pass_probability": info["report_pass_probability"],
|
||
"bin2": info["bin2"],
|
||
"bin3": info["bin3"],
|
||
"bin4": info["bin4"],
|
||
"bin5": info["bin5"],
|
||
"bin6": info["bin6"],
|
||
"bin7": info["bin7"],
|
||
"bin8": info["bin8"],
|
||
"bin9": info["bin9"],
|
||
"bin10": info["bin10"],
|
||
"outlook_fail": info["outlook_fail"],
|
||
"other": info["other"],
|
||
"bent_stitch": info["bent_stitch"],
|
||
"scrapped": info["scrapped"],
|
||
})
|
||
}
|
||
}
|
||
}
|
||
f.Close()
|
||
}
|
||
|
||
func FTXinDeReportReader(filePath string) {
|
||
f, _ := excelize.OpenFile(filePath)
|
||
sheetName := f.GetSheetName(0)
|
||
rows, _ := f.GetRows(sheetName)
|
||
titleMap := make(map[string]int)
|
||
var pmc *model.PmcFile
|
||
global.Oracle.Where("pmc03 LIKE ?", "%芯德%").Find(&pmc)
|
||
var finalReportExcel *model.FinalReportExcel
|
||
global.PostGreSQL.Where("factory = ? AND step = ?", pmc.Pmc03, "FT").Find(&finalReportExcel)
|
||
for rowIndex, row := range rows {
|
||
if rowIndex == 0 {
|
||
for i := 0; i < len(row); i++ {
|
||
row[i] = strings.ReplaceAll(row[i], " ", "")
|
||
row[i] = strings.ReplaceAll(row[i], "\n", "")
|
||
titleMap[row[i]] = i
|
||
}
|
||
} else {
|
||
var report *model.FinalReport
|
||
info := make(map[string]string)
|
||
FTEmptyInfoHandler(titleMap, finalReportExcel, info, row)
|
||
|
||
if errors.Is(global.PostGreSQL.Where("step = ? AND product = ? AND lot = ? AND sub_batch = ?",
|
||
"FT", row[titleMap[finalReportExcel.Product]], row[titleMap[finalReportExcel.Lot]],
|
||
row[titleMap[finalReportExcel.SubBatch]]).First(&report).Error, gorm.ErrRecordNotFound) {
|
||
global.PostGreSQL.Create(&model.FinalReport{
|
||
Step: "FT",
|
||
Product: info["product"],
|
||
Lot: info["lot"],
|
||
Factory: pmc.Pmc03,
|
||
TestProgram: info["test_program"],
|
||
PBI: info["pbi"],
|
||
SubBatch: info["sub_batch"],
|
||
ReportTestQuantity: info["report_test_quantity"],
|
||
ReportPassQuantity: info["report_pass_quantity"],
|
||
ReportPassProbability: info["report_pass_probability"],
|
||
Bin2: info["bin2"],
|
||
Bin3: info["bin3"],
|
||
Bin4: info["bin4"],
|
||
Bin5: info["bin5"],
|
||
Bin6: info["bin6"],
|
||
Bin7: info["bin7"],
|
||
Bin8: info["bin8"],
|
||
Bin9: info["bin9"],
|
||
Bin10: info["bin10"],
|
||
OutlookFail: info["outlook_fail"],
|
||
Other: info["other"],
|
||
BentStitch: info["bent_stitch"],
|
||
Scrapped: info["scrapped"],
|
||
})
|
||
} else {
|
||
global.PostGreSQL.Model(&report).Updates(map[string]interface{}{
|
||
"pbi": info["pbi"],
|
||
"sub_batch": info["sub_batch"],
|
||
"report_test_quantity": info["report_test_quantity"],
|
||
"report_pass_quantity": info["report_pass_quantity"],
|
||
"report_pass_probability": info["report_pass_probability"],
|
||
"bin2": info["bin2"],
|
||
"bin3": info["bin3"],
|
||
"bin4": info["bin4"],
|
||
"bin5": info["bin5"],
|
||
"bin6": info["bin6"],
|
||
"bin7": info["bin7"],
|
||
"bin8": info["bin8"],
|
||
"bin9": info["bin9"],
|
||
"bin10": info["bin10"],
|
||
"outlook_fail": info["outlook_fail"],
|
||
"other": info["other"],
|
||
"bent_stitch": info["bent_stitch"],
|
||
"scrapped": info["scrapped"],
|
||
})
|
||
}
|
||
}
|
||
}
|
||
f.Close()
|
||
}
|
||
|
||
func FTEmptyInfoHandler(titleMap map[string]int, finalReportExcel *model.FinalReportExcel,
|
||
info map[string]string, row []string) map[string]string {
|
||
finalReportExcel.Product = strings.ReplaceAll(finalReportExcel.Product, " ", "")
|
||
if _, ok := titleMap[finalReportExcel.Product]; !ok {
|
||
info["product"] = ""
|
||
} else if finalReportExcel.Product != "" {
|
||
row[titleMap[finalReportExcel.Product]] = strings.ReplaceAll(row[titleMap[finalReportExcel.Product]], "(", "(")
|
||
row[titleMap[finalReportExcel.Product]] = strings.ReplaceAll(row[titleMap[finalReportExcel.Product]], ")", ")")
|
||
if strings.Contains(row[titleMap[finalReportExcel.Product]], "(") {
|
||
row[titleMap[finalReportExcel.Product]] = strings.Split(row[titleMap[finalReportExcel.Product]], "(")[0]
|
||
}
|
||
info["product"] = row[titleMap[finalReportExcel.Product]]
|
||
}
|
||
finalReportExcel.Lot = strings.ReplaceAll(finalReportExcel.Lot, " ", "")
|
||
if _, ok := titleMap[finalReportExcel.Lot]; !ok {
|
||
info["lot"] = ""
|
||
} else if finalReportExcel.Lot != "" {
|
||
if strings.Contains(row[titleMap[finalReportExcel.Lot]], "-") {
|
||
row[titleMap[finalReportExcel.Lot]] = strings.Split(row[titleMap[finalReportExcel.Lot]], "-")[0]
|
||
}
|
||
info["lot"] = row[titleMap[finalReportExcel.Lot]]
|
||
}
|
||
finalReportExcel.TestProgram = strings.ReplaceAll(finalReportExcel.TestProgram, " ", "")
|
||
if _, ok := titleMap[finalReportExcel.TestProgram]; !ok {
|
||
info["test_program"] = ""
|
||
} else if finalReportExcel.TestProgram != "" {
|
||
info["test_program"] = row[titleMap[finalReportExcel.TestProgram]]
|
||
}
|
||
finalReportExcel.PBI = strings.ReplaceAll(finalReportExcel.PBI, " ", "")
|
||
if _, ok := titleMap[finalReportExcel.PBI]; !ok {
|
||
info["pbi"] = ""
|
||
} else if finalReportExcel.PBI != "" {
|
||
info["pbi"] = row[titleMap[finalReportExcel.PBI]]
|
||
}
|
||
finalReportExcel.OrderDate = strings.ReplaceAll(finalReportExcel.OrderDate, " ", "")
|
||
if _, ok := titleMap[finalReportExcel.OrderDate]; !ok {
|
||
info["order_date"] = ""
|
||
} else if finalReportExcel.OrderDate != "" {
|
||
info["order_date"] = row[titleMap[finalReportExcel.OrderDate]]
|
||
}
|
||
finalReportExcel.SubBatch = strings.ReplaceAll(finalReportExcel.SubBatch, " ", "")
|
||
if _, ok := titleMap[finalReportExcel.SubBatch]; !ok {
|
||
info["sub_batch"] = ""
|
||
} else if finalReportExcel.SubBatch != "" {
|
||
info["sub_batch"] = row[titleMap[finalReportExcel.SubBatch]]
|
||
}
|
||
finalReportExcel.FinalTestQuantity = strings.ReplaceAll(finalReportExcel.FinalTestQuantity, " ", "")
|
||
if _, ok := titleMap[finalReportExcel.FinalTestQuantity]; !ok {
|
||
info["report_test_quantity"] = ""
|
||
} else if finalReportExcel.FinalTestQuantity != "" {
|
||
info["report_test_quantity"] = row[titleMap[finalReportExcel.FinalTestQuantity]]
|
||
}
|
||
finalReportExcel.FinalPassQuantity = strings.ReplaceAll(finalReportExcel.FinalPassQuantity, " ", "")
|
||
if _, ok := titleMap[finalReportExcel.FinalPassQuantity]; !ok {
|
||
info["report_pass_quantity"] = ""
|
||
} else if finalReportExcel.FinalPassQuantity != "" {
|
||
info["report_pass_quantity"] = row[titleMap[finalReportExcel.FinalPassQuantity]]
|
||
}
|
||
finalReportExcel.FinalPassProbability = strings.ReplaceAll(finalReportExcel.FinalPassProbability, " ", "")
|
||
if _, ok := titleMap[finalReportExcel.FinalPassProbability]; !ok {
|
||
info["report_pass_probability"] = ""
|
||
} else if finalReportExcel.FinalPassProbability != "" {
|
||
info["report_pass_probability"] = row[titleMap[finalReportExcel.FinalPassProbability]]
|
||
}
|
||
finalReportExcel.Bin1 = strings.ReplaceAll(finalReportExcel.Bin1, " ", "")
|
||
if _, ok := titleMap[finalReportExcel.Bin1]; !ok {
|
||
info["bin1"] = ""
|
||
} else if finalReportExcel.Bin1 != "" {
|
||
info["bin1"] = row[titleMap[finalReportExcel.Bin1]]
|
||
}
|
||
finalReportExcel.Bin2 = strings.ReplaceAll(finalReportExcel.Bin2, " ", "")
|
||
if _, ok := titleMap[finalReportExcel.Bin2]; !ok {
|
||
info["bin2"] = ""
|
||
} else if finalReportExcel.Bin2 != "" {
|
||
info["bin2"] = row[titleMap[finalReportExcel.Bin2]]
|
||
}
|
||
finalReportExcel.Bin3 = strings.ReplaceAll(finalReportExcel.Bin3, " ", "")
|
||
if _, ok := titleMap[finalReportExcel.Bin3]; !ok {
|
||
info["bin3"] = ""
|
||
} else if finalReportExcel.Bin3 != "" {
|
||
info["bin3"] = row[titleMap[finalReportExcel.Bin3]]
|
||
}
|
||
finalReportExcel.Bin4 = strings.ReplaceAll(finalReportExcel.Bin4, " ", "")
|
||
if _, ok := titleMap[finalReportExcel.Bin4]; !ok {
|
||
info["bin4"] = ""
|
||
} else if finalReportExcel.Bin4 != "" {
|
||
info["bin4"] = row[titleMap[finalReportExcel.Bin4]]
|
||
}
|
||
finalReportExcel.Bin5 = strings.ReplaceAll(finalReportExcel.Bin5, " ", "")
|
||
if _, ok := titleMap[finalReportExcel.Bin5]; !ok {
|
||
info["bin5"] = ""
|
||
} else if finalReportExcel.Bin5 != "" {
|
||
info["bin5"] = row[titleMap[finalReportExcel.Bin5]]
|
||
}
|
||
finalReportExcel.Bin6 = strings.ReplaceAll(finalReportExcel.Bin6, " ", "")
|
||
if _, ok := titleMap[finalReportExcel.Bin6]; !ok {
|
||
info["bin6"] = ""
|
||
} else if finalReportExcel.Bin6 != "" {
|
||
info["bin6"] = row[titleMap[finalReportExcel.Bin6]]
|
||
}
|
||
finalReportExcel.Bin7 = strings.ReplaceAll(finalReportExcel.Bin7, " ", "")
|
||
if _, ok := titleMap[finalReportExcel.Bin7]; !ok {
|
||
info["bin7"] = ""
|
||
} else if finalReportExcel.Bin7 != "" {
|
||
info["bin7"] = row[titleMap[finalReportExcel.Bin7]]
|
||
}
|
||
finalReportExcel.Bin8 = strings.ReplaceAll(finalReportExcel.Bin8, " ", "")
|
||
if _, ok := titleMap[finalReportExcel.Bin8]; !ok {
|
||
info["bin8"] = ""
|
||
} else if finalReportExcel.Bin8 != "" {
|
||
info["bin8"] = row[titleMap[finalReportExcel.Bin8]]
|
||
}
|
||
finalReportExcel.Bin9 = strings.ReplaceAll(finalReportExcel.Bin9, " ", "")
|
||
if _, ok := titleMap[finalReportExcel.Bin9]; !ok {
|
||
info["bin9"] = ""
|
||
} else if finalReportExcel.Bin9 != "" {
|
||
info["bin9"] = row[titleMap[finalReportExcel.Bin9]]
|
||
}
|
||
finalReportExcel.Bin10 = strings.ReplaceAll(finalReportExcel.Bin10, " ", "")
|
||
if _, ok := titleMap[finalReportExcel.Bin10]; !ok {
|
||
info["bin10"] = ""
|
||
} else if finalReportExcel.Bin10 != "" {
|
||
info["bin10"] = row[titleMap[finalReportExcel.Bin10]]
|
||
}
|
||
finalReportExcel.OutlookFail = strings.ReplaceAll(finalReportExcel.OutlookFail, " ", "")
|
||
if _, ok := titleMap[finalReportExcel.OutlookFail]; !ok {
|
||
info["outlook_fail"] = ""
|
||
} else if finalReportExcel.OutlookFail != "" {
|
||
info["outlook_fail"] = row[titleMap[finalReportExcel.OutlookFail]]
|
||
}
|
||
finalReportExcel.Other = strings.ReplaceAll(finalReportExcel.Other, " ", "")
|
||
if _, ok := titleMap[finalReportExcel.Other]; !ok {
|
||
info["other"] = ""
|
||
} else if finalReportExcel.Other != "" {
|
||
info["other"] = row[titleMap[finalReportExcel.Other]]
|
||
}
|
||
finalReportExcel.BentStitch = strings.ReplaceAll(finalReportExcel.BentStitch, " ", "")
|
||
if _, ok := titleMap[finalReportExcel.BentStitch]; !ok {
|
||
info["bent_stitch"] = ""
|
||
} else if finalReportExcel.BentStitch != "" {
|
||
info["bent_stitch"] = row[titleMap[finalReportExcel.BentStitch]]
|
||
}
|
||
finalReportExcel.Scrapped = strings.ReplaceAll(finalReportExcel.Scrapped, " ", "")
|
||
if _, ok := titleMap[finalReportExcel.Scrapped]; !ok {
|
||
info["scrapped"] = ""
|
||
} else if finalReportExcel.Scrapped != "" {
|
||
info["scrapped"] = row[titleMap[finalReportExcel.Scrapped]]
|
||
}
|
||
return info
|
||
}
|