diff --git a/etl_task/BackFlushPackOrder.go b/etl_task/BackFlushPackOrder.go index a4339b3..60c68ad 100644 --- a/etl_task/BackFlushPackOrder.go +++ b/etl_task/BackFlushPackOrder.go @@ -6,19 +6,24 @@ import ( dalOm "LAPP_ACURA_MOM_BACKEND/dao/om" "LAPP_ACURA_MOM_BACKEND/etl_task/model" "LAPP_ACURA_MOM_BACKEND/grmi" + meta "LAPP_ACURA_MOM_BACKEND/meta/base" "LAPP_ACURA_MOM_BACKEND/utils" "encoding/csv" "fmt" _ "github.com/denisenkom/go-mssqldb" _ "github.com/go-sql-driver/mysql" "github.com/go-xorm/xorm" + "golang.org/x/text/encoding/simplifiedchinese" + "golang.org/x/text/transform" + "io/ioutil" "os" "path" "strconv" + "strings" "time" ) -//BackFlushPackOrder.exe "server=101.201.121.115;database=LAPP_ACURA_MES;user id=sa;password=Leit2020;port=1433;encrypt=disable" "LAPP_ACURA_MES" "server=101.201.121.115;database=LAPP_ETL;user id=sa;password=Leit2020;port=1433;encrypt=disable" "LAPP_ETL" "10" +//BackFlushPackOrder.exe "server=101.201.121.115;database=LAPP_ACURA_MES2;user id=sa;password=Leit2020;port=1433;encrypt=disable" "LAPP_ACURA_MES2" "server=101.201.121.115;database=LAPP_ETL2;user id=sa;password=Leit2020;port=1433;encrypt=disable" "LAPP_ETL2" "98" func main() { var err error @@ -28,7 +33,7 @@ func main() { return } var plantNr = 100 - var userId = "BackFlush" + var userId = "BackFlush" now := time.Now() year, month, day := now.Date() hour := now.Hour() @@ -113,6 +118,54 @@ func main() { dir = param.ParamValue } } + // index1编码转换 + tempReader := transform.NewReader(strings.NewReader(index1), simplifiedchinese.GBK.NewEncoder()) + tempBytes, err := ioutil.ReadAll(tempReader) + if err != nil { + fmt.Println("转码失败, 错误:" + err.Error()) + return + } + index1 = string(tempBytes) + // index2编码转换 + tempReader = transform.NewReader(strings.NewReader(index2), simplifiedchinese.GBK.NewEncoder()) + tempBytes, err = ioutil.ReadAll(tempReader) + if err != nil { + fmt.Println("转码失败, 错误:" + err.Error()) + return + } + index2 = string(tempBytes) + // index3 编码转换 + tempReader = transform.NewReader(strings.NewReader(index3), simplifiedchinese.GBK.NewEncoder()) + tempBytes, err = ioutil.ReadAll(tempReader) + if err != nil { + fmt.Println("转码失败, 错误:" + err.Error()) + return + } + index3 = string(tempBytes) + // index5 编码转换 + tempReader = transform.NewReader(strings.NewReader(index5), simplifiedchinese.GBK.NewEncoder()) + tempBytes, err = ioutil.ReadAll(tempReader) + if err != nil { + fmt.Println("转码失败, 错误:" + err.Error()) + return + } + index5 = string(tempBytes) + // index8 编码转换 + tempReader = transform.NewReader(strings.NewReader(index8), simplifiedchinese.GBK.NewEncoder()) + tempBytes, err = ioutil.ReadAll(tempReader) + if err != nil { + fmt.Println("转码失败, 错误:" + err.Error()) + return + } + index8 = string(tempBytes) + // index12 编码转换 + tempReader = transform.NewReader(strings.NewReader(index12), simplifiedchinese.GBK.NewEncoder()) + tempBytes, err = ioutil.ReadAll(tempReader) + if err != nil { + fmt.Println("转码失败, 错误:" + err.Error()) + return + } + index12 = string(tempBytes) dir = path.Join(baseDir, dir) filename := "bkfl" + fmt.Sprintf("%d%02d%02d%d", year, int(month), day, 3600*hour+60*minute+second) + "ACURA.csv" filepath := path.Join(dir, filename) @@ -184,16 +237,18 @@ func main() { writeLi := make([][]string, 0) for artId, qty := range ArtMap { - article, err := daoArticle.SelectOne(artId) + //article, err := daoArticle.SelectOne(artId) + articleLi, err := daoArticle.Select([]grmi.Predicate{meta.Article_ArtId.NewPredicate(grmi.Equal, artId)}, nil) if err != nil { fmt.Println("查询物料数据失败, error:" + err.Error()) return } - if article == nil { + if len(articleLi) == 0 { _ = acuraSession.Rollback() fmt.Println("物料不存在, 物料ID:" + artId) return } + article := articleLi[0] qadArtId := article.ArtSpec3 if qadArtId == "" { fmt.Println("未获取到ERP零件号, 物料ID:" + artId) @@ -216,6 +271,7 @@ func main() { strconv.Itoa(qty), index11, index12, + "\n", } writeLi = append(writeLi, str) }