From c925d58b091b29e2126815e1a79809f1c5d60aad Mon Sep 17 00:00:00 2001 From: zhangxin Date: Thu, 11 May 2023 13:10:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=9B=9E=E5=86=B2=E6=9B=B4?= =?UTF-8?q?=E6=96=B0serialOrder=E4=B8=8A=E7=9A=84ShipBackFlushToggle?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E5=A4=B1=E8=B4=A5=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- etl_task/BackFlushShipOrder.go | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/etl_task/BackFlushShipOrder.go b/etl_task/BackFlushShipOrder.go index 848a738..e7f8186 100644 --- a/etl_task/BackFlushShipOrder.go +++ b/etl_task/BackFlushShipOrder.go @@ -27,7 +27,6 @@ import ( //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_ETL2;user id=sa;password=Leit2020;port=1433;encrypt=disable" "LAPP_ETL2" "97" - func main() { var err error var plantNr = 100 @@ -169,6 +168,7 @@ func main() { waitWriteLi := make([]string, 0) var pos = 1 serialOrderIdLi := make([]string, 0) + serialOrderMap := make(map[string]struct{}) for _, shipOrderData := range shipOrderDataLi { artQtyMap := make(map[string]int) artErpQtyMap := make(map[string]int, len(artQtyMap)) @@ -205,7 +205,12 @@ func main() { } else { artQtyMap[packOrderItem.PartId] += 1 } - serialOrderIdLi = append(serialOrderIdLi, packOrderItem.SerialOrderId) + _, exist = serialOrderMap[packOrderItem.SerialOrderId] + if !exist { + serialOrderIdLi = append(serialOrderIdLi, packOrderItem.SerialOrderId) + serialOrderMap[packOrderItem.SerialOrderId] = struct{}{} + } + } for artId, qty := range artQtyMap { //article, err := daoArticle.SelectOne(artId) @@ -249,7 +254,7 @@ func main() { index8, writeOrderId, strconv.Itoa(pos), - ) + ) //str := []string{index1, index2, index3, index4, index5, index6, index7, index8, shipOrderId, strconv.Itoa(pos), "\n"} //需要写入csv的数据,切片类型 pos++ waitWriteLi = append(waitWriteLi, str) @@ -273,6 +278,7 @@ func main() { fmt.Println("查询工单失败, 错误:" + err.Error()) return } + updateSerialOrderIdLi = append(updateSerialOrderIdLi, serialOrderId) for _, order := range originSerialOrderLi { updateSerialOrderIdLi = append(updateSerialOrderIdLi, order.SerialOrderId) } @@ -288,17 +294,19 @@ func main() { fmt.Println("更新发运单回冲状态失败, error:" + err.Error()) return } - _, err = daoSerialOrderDao.UpdateShipBackFlushFlag(updateSerialOrderIdLi) + var count int64 + count, err = daoSerialOrderDao.UpdateShipBackFlushFlag(updateSerialOrderIdLi) if err != nil { + sql, args := acuraSession.LastSQL() _ = acuraSession.Rollback() - fmt.Println("更新工单回冲状态失败, error:" + err.Error()) + fmt.Println("更新工单回冲状态失败, error:"+err.Error(), "Sql:"+sql, args) + return + } + if int(count) != len(updateSerialOrderIdLi) { + _ = acuraSession.Rollback() + fmt.Println("更新工单回冲状态数量和查询的数量不一致, 更新数量:" + strconv.Itoa(int(count)) + ", 查询数量:" + strconv.Itoa(len(serialOrderIdLi))) return } - //if int(count) != len(serialOrderIdLi) { - // _ = acuraSession.Rollback() - // fmt.Println("更新工单回冲状态数量和查询的数量不一致, 更新数量:" + strconv.Itoa(int(count)) + ", 查询数量:" + strconv.Itoa(len(serialOrderIdLi))) - // return - //} //OpenFile读取文件,不存在时则创建,使用追加模式 File, err := os.OpenFile(filepath, os.O_RDWR|os.O_APPEND|os.O_CREATE, 0777) if err != nil {