V0 MT737机台处理
This commit is contained in:
parent
e8ea1a8cb2
commit
ebeb17d3ea
@ -5,6 +5,7 @@ import (
|
||||
"encoding/csv"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"gitee.com/golang-module/carbon/v2"
|
||||
"github.com/extrame/xls"
|
||||
"github.com/xuri/excelize/v2"
|
||||
"golang.org/x/text/encoding/simplifiedchinese"
|
||||
@ -83,49 +84,74 @@ func MT737(summary, dataLog *model.FileText, step string) {
|
||||
sBinMap := make(map[string]string)
|
||||
sbinStartIndex, sbinEndIndex := -1, -1
|
||||
for i := 1; i < len(summaryRows); i++ {
|
||||
if summaryRows[i][0] == "" || strings.Contains(summaryRows[i][0], "----------------------") {
|
||||
if summaryRows[i][0] == "" {
|
||||
continue
|
||||
}
|
||||
if sbinEndIndex < 0 {
|
||||
if strings.Contains(summaryRows[i][0], "SBin-HBin") {
|
||||
if sbinStartIndex < 0 {
|
||||
sbinStartIndex = i
|
||||
}
|
||||
s := summaryRows[i][0]
|
||||
s = strings.ReplaceAll(s, " ", "")
|
||||
sBinHBin := strings.Split(s, " ")
|
||||
sBinHBinArray := strings.Split(sBinHBin[0], "-")
|
||||
sBinMap[sBinHBinArray[0]] = sBinHBinArray[1]
|
||||
} else {
|
||||
if sbinStartIndex > 0 {
|
||||
sbinEndIndex = i
|
||||
continue
|
||||
}
|
||||
}
|
||||
}
|
||||
summaryRows[i][0] = strings.ReplaceAll(summaryRows[i][0], ":", ":")
|
||||
splitIndex := strings.Index(summaryRows[i][0], ":")
|
||||
if splitIndex != -1 {
|
||||
details[summaryRows[i][0][:splitIndex]] = summaryRows[i][0][splitIndex+1:]
|
||||
}
|
||||
summaryRows[i][0] = strings.ReplaceAll(summaryRows[i][0], ": ", ":")
|
||||
//splitIndex := strings.Index(summaryRows[i][0], ":")
|
||||
//if splitIndex != -1 {
|
||||
// details[summaryRows[i][0][:splitIndex]] = summaryRows[i][0][splitIndex+1:]
|
||||
//}
|
||||
if strings.Contains(summaryRows[i][0], "Program:") {
|
||||
startIndex := strings.Index(summaryRows[i][0], "Program:")
|
||||
startIndex := strings.Index(summaryRows[i][0], "Program:") + 8
|
||||
for endIndex := startIndex; endIndex < len(summaryRows[i][0]); endIndex++ {
|
||||
if string(summaryRows[i][0][endIndex]) == " " {
|
||||
details["Program"] = summaryRows[i][0][startIndex:endIndex]
|
||||
if string(summaryRows[i][0][endIndex]) == " " || endIndex == len(summaryRows[i][0])-1 {
|
||||
details["Program"] = summaryRows[i][0][startIndex : endIndex+1]
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
if strings.Contains(summaryRows[i][0], "Tester_NO:") {
|
||||
startIndex := strings.Index(summaryRows[i][0], "Tester_NO:")
|
||||
startIndex := strings.Index(summaryRows[i][0], "Tester_NO:") + 10
|
||||
for endIndex := startIndex; endIndex < len(summaryRows[i][0]); endIndex++ {
|
||||
if string(summaryRows[i][0][endIndex]) == " " {
|
||||
details["Tester_NO"] = summaryRows[i][0][startIndex:endIndex]
|
||||
if string(summaryRows[i][0][endIndex]) == " " || endIndex == len(summaryRows[i][0])-1 {
|
||||
details["Tester_NO"] = summaryRows[i][0][startIndex : endIndex+1]
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
if strings.Contains(summaryRows[i][0], "Start:") {
|
||||
startIndex := strings.Index(summaryRows[i][0], "Start:") + 6
|
||||
for endIndex := startIndex; endIndex < len(summaryRows[i][0]); endIndex++ {
|
||||
if endIndex == len(summaryRows[i][0])-1 || string(summaryRows[i][0][endIndex:endIndex+2]) == " " {
|
||||
details["Start"] = carbon.Parse(summaryRows[i][0][startIndex:endIndex]).Format("Y-m-d H:i:s")
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
if strings.Contains(summaryRows[i][0], "End:") {
|
||||
startIndex := strings.Index(summaryRows[i][0], "End:") + 4
|
||||
for endIndex := startIndex; endIndex < len(summaryRows[i][0]); endIndex++ {
|
||||
if endIndex == len(summaryRows[i][0])-1 || string(summaryRows[i][0][endIndex:endIndex+2]) == " " {
|
||||
details["End"] = carbon.Parse(summaryRows[i][0][startIndex : endIndex+1]).Format("Y-m-d H:i:s")
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
if sbinEndIndex < 0 {
|
||||
if strings.Contains(summaryRows[i][0], "SBin-HBin") {
|
||||
if sbinStartIndex < 0 {
|
||||
sbinStartIndex = i + 2
|
||||
continue
|
||||
}
|
||||
}
|
||||
if sbinStartIndex > 0 && i >= sbinStartIndex {
|
||||
if strings.Contains(summaryRows[i][0], "---------------") {
|
||||
sbinEndIndex = i
|
||||
continue
|
||||
}
|
||||
index := strings.Index(summaryRows[i][0], "-")
|
||||
endIndex := index + 2
|
||||
for {
|
||||
if string(summaryRows[i][0][endIndex]) == " " {
|
||||
break
|
||||
}
|
||||
endIndex++
|
||||
}
|
||||
sBinMap[strings.ReplaceAll(summaryRows[i][0][:index], " ", "")] = strings.ReplaceAll(summaryRows[i][0][index+2:endIndex], " ", "")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if details["Test_Code"] == "" {
|
||||
@ -245,7 +271,7 @@ func MT737(summary, dataLog *model.FileText, step string) {
|
||||
if strings.Contains(dataLogRows[i][2], "TestItem") {
|
||||
titleIndex = i
|
||||
title = append(title, []string{"SITE_NUM", "PART_ID", "SOFT_BIN"}...)
|
||||
title = append(title, dataLogRows[i][2:]...)
|
||||
title = append(title, dataLogRows[i][3:]...)
|
||||
continue
|
||||
}
|
||||
} else {
|
||||
@ -278,8 +304,8 @@ func MT737(summary, dataLog *model.FileText, step string) {
|
||||
}
|
||||
}
|
||||
if unitIndex > 0 { //dataIndex < 0 &&
|
||||
if dataLogRows[i][0] != dataLogRows[i][1] {
|
||||
dataIndex = i
|
||||
if dataLogRows[i][1] == "X-Y" {
|
||||
dataIndex = i + 1
|
||||
break
|
||||
}
|
||||
}
|
||||
@ -293,13 +319,14 @@ func MT737(summary, dataLog *model.FileText, step string) {
|
||||
LimitU: dataLogRows[limitUIndex][k],
|
||||
}
|
||||
}
|
||||
for i := 3; i < len(title); i++ {
|
||||
for i := 3; i < len(title)-1; i++ {
|
||||
paramsMap[title[i]] = dataLogRows[binIndex][i]
|
||||
}
|
||||
for i := dataIndex; i < len(dataLogRows); i++ {
|
||||
if len(dataLogRows[i]) < len(dataLogRows[titleIndex]) {
|
||||
dataLogRows[i] = append(dataLogRows[i], utils.FillData(len(dataLogRows[titleIndex])-len(dataLogRows[i]))...)
|
||||
}
|
||||
dataLogRows[i][0] = strings.ReplaceAll(dataLogRows[i][0], "Site", "")
|
||||
newExcel = append(newExcel, dataLogRows[i])
|
||||
}
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user