From 4f25ff9a1c24c9a5bd8aafca8927b7f87593595a Mon Sep 17 00:00:00 2001 From: louwenzhi Date: Tue, 13 Apr 2021 12:55:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- calloff/Callofftask.go | 5 +-- msg/Msgparser.go | 82 +++++++++++++++++++++--------------------- 2 files changed, 45 insertions(+), 42 deletions(-) diff --git a/calloff/Callofftask.go b/calloff/Callofftask.go index 728d84b..c45e6c2 100644 --- a/calloff/Callofftask.go +++ b/calloff/Callofftask.go @@ -86,7 +86,7 @@ func ParseCalloffNew() { mail.Body = body mail.Subject = "calloff解析错误" mail.Name = projtablst[i].From_email - mail.Tomail = projtablst[i].Tod_error_to_recievers + mail.Tomail = projtablst[i].Calloff_error_to_recievers mail.Host = host mail.Password = projtablst[i].From_pwd mail.Username = projtablst[i].From_email @@ -251,6 +251,7 @@ func ParseCalloffOrder() { } if len(sgdict) != len(cftablst) { // 整车副缺零件族 + glog.InfoExtln("CALLOFF-Debug", "整车副缺零件族len(cftablst):", len(cftablst), "整车副缺零件族len(sgdict):", len(sgdict)) continue } // 校验是否解析有错误 @@ -331,7 +332,7 @@ func ParseCalloffOrder() { mail.Body = body mail.Subject = "calloff解析错误" mail.Name = projtablst[i].From_email - mail.Tomail = projtablst[i].Tod_error_to_recievers + mail.Tomail = projtablst[i].Calloff_error_to_recievers mail.Host = host mail.Password = projtablst[i].From_pwd mail.Username = projtablst[i].From_email diff --git a/msg/Msgparser.go b/msg/Msgparser.go index a9432cd..bbffcee 100644 --- a/msg/Msgparser.go +++ b/msg/Msgparser.go @@ -76,7 +76,7 @@ func ParseOpenPrintMsg(pe *service.BL_PrintEngine) (err error) { case common.MSG_TYPE_PACK: // 获取包装单,基于打印模板生成打印数据 - packordtab = db.Jit_packorder{Finr:db.G_FINR,Packorderid: ordmsgtablst[i].Msgobjid} + packordtab = db.Jit_packorder{Finr: db.G_FINR, Packorderid: ordmsgtablst[i].Msgobjid} if packordtab, err = packordtab.SelectOne(); err != nil { glog.InfoExtln("Msg解析", "解析打印消息失败:", err) return @@ -184,13 +184,14 @@ func ParseShipOrderMsg() (err error) { packordtab db.Jit_packorder vdatalst []db.VCustorderPackorder pfdict map[string]ASN_ARD_PF + asnsnr string asnardpf ASN_ARD_PF i, j, k, m int - ok,found bool - sgtab db.Me_supplygroup - sglst []db.Me_supplygroup - sgdict map[string]db.Me_supplygroup - pfid string + ok, found bool + sgtab db.Me_supplygroup + sglst []db.Me_supplygroup + sgdict map[string]db.Me_supplygroup + pfid string ) // 查询发运单消息 @@ -225,7 +226,7 @@ func ParseShipOrderMsg() (err error) { glog.InfoExtln("BBAASN", "获取项目供应组失败: ", err) return } - sgdict = make( map[string]db.Me_supplygroup ) + sgdict = make(map[string]db.Me_supplygroup) for j = 0; j < len(sglst); j++ { sgdict[sglst[j].Supplygroupid] = sglst[j] } @@ -282,10 +283,16 @@ func ParseShipOrderMsg() (err error) { } } } - + if shipordtab.Shiptype != "REO" { + // 获取ASN流水号 + if asnsnr, err = service.SN_GetNextSnr(projtab.Asn_snr); err != nil { + glog.InfoExtln("BBAASN", "解析发运单消息失败: ", err) + return + } + } // 按零件族生成ASN文件 for _, asnardpf = range pfdict { - if err = GenAsnFileForShipOrderByPartFamily(&asnardpf, shipordtab); err != nil { + if err = GenAsnFileForShipOrderByPartFamily(&asnardpf, shipordtab, asnsnr); err != nil { glog.InfoExtln("BBAASN", "解析发运单消息失败: ", err) return } @@ -302,7 +309,7 @@ func ParseShipOrderMsg() (err error) { } // 将发运单基于零件族归集的发运项生成对应的ASN文件,并放到项目指定的文件夹中 -func GenAsnFileForShipOrderByPartFamily(asnardpf *ASN_ARD_PF, shipordtab db.Jit_shiporder) (err error) { +func GenAsnFileForShipOrderByPartFamily(asnardpf *ASN_ARD_PF, shipordtab db.Jit_shiporder, asnsnr string) (err error) { var ( stdeftab db.Stdeftab stdeftablst []db.Stdeftab @@ -320,9 +327,9 @@ func GenAsnFileForShipOrderByPartFamily(asnardpf *ASN_ARD_PF, shipordtab db.Jit_ bbaasntmptab db.Jit_bbaasntemplate session *xorm.Session bl_asnmsg service.BL_Ordmsg - kvmap,binmap map[string]string - key,asnsnr string - ok bool + kvmap, binmap map[string]string + key string + ok bool ) // 查询项目 @@ -357,11 +364,6 @@ func GenAsnFileForShipOrderByPartFamily(asnardpf *ASN_ARD_PF, shipordtab db.Jit_ glog.InfoExtln("BBAASN", "解析Reorder发运单消息失败: ", err) return } - }else{ - if asnsnr, err = service.SN_GetNextSnr(projtab.Asn_snr); err != nil { - glog.InfoExtln("BBAASN", "解析发运单消息失败: ", err) - return - } } // 组合流水号 @@ -404,19 +406,19 @@ func GenAsnFileForShipOrderByPartFamily(asnardpf *ASN_ARD_PF, shipordtab db.Jit_ } } - bbaasntab.Bol = bolnr - bbaasntab.Shipto = bbaasntmptab.Shipto + bbaasntab.Bol = bolnr + bbaasntab.Shipto = bbaasntmptab.Shipto // 生成ARD数据行 - kvmap = make( map[string]string ) - binmap= make( map[string]string ) + kvmap = make(map[string]string) + binmap = make(map[string]string) for i, vdata = range asnardpf.DataList { - if common.ValueIsEmpty(strings.TrimSpace(vdata.Pln_custorder.Oemordernr)){ - fmt.Printf("vdata.Pln_custorder.Oemordernr:%v",vdata.Pln_custorder.Oemordernr) + if common.ValueIsEmpty(strings.TrimSpace(vdata.Pln_custorder.Oemordernr)) { + fmt.Printf("vdata.Pln_custorder.Oemordernr:%v", vdata.Pln_custorder.Oemordernr) continue } key = strconv.Itoa(vdata.Pln_custorder.Calloffnr) + strings.TrimSpace(vdata.Pln_custorder.Oemordernr) + strings.TrimSpace(asnardpf.Pfid) - if strings.TrimSpace(vdata.Pln_workorder.Partfamilyid) == strings.TrimSpace(asnardpf.Pfid){ + if strings.TrimSpace(vdata.Pln_workorder.Partfamilyid) == strings.TrimSpace(asnardpf.Pfid) { if _, ok = kvmap[key]; !ok { kvmap[key] = key ard = ASN_ARD{} @@ -431,20 +433,20 @@ func GenAsnFileForShipOrderByPartFamily(asnardpf *ASN_ARD_PF, shipordtab db.Jit_ // ASN数据行 bbaasnitemtab = db.Jit_bbaasn_itemlst{Finr: db.G_FINR, Asn: ae.mid.Field1, Pos: i + 1} if shipordtab.Shiptype == "REO" { - bbaasnitemtab.Calloffnr,_ = strconv.Atoi(vdata.Pln_workorder.Orderinfo) - }else{ + bbaasnitemtab.Calloffnr, _ = strconv.Atoi(vdata.Pln_workorder.Orderinfo) + } else { bbaasnitemtab.Calloffnr = vdata.Pln_custorder.Calloffnr } - bbaasnitemtab.Modelcode = vdata.Pln_custorder.Projnr - bbaasnitemtab.Oemordernr = vdata.Pln_custorder.Oemordernr - bbaasnitemtab.Partfamilyid = asnardpf.Pfid + bbaasnitemtab.Modelcode = vdata.Pln_custorder.Projnr + bbaasnitemtab.Oemordernr = vdata.Pln_custorder.Oemordernr + bbaasnitemtab.Partfamilyid = asnardpf.Pfid bbaasnitemtab.Supplygroupid = vdata.Pln_workorder.Supplygroupid - bbaasnitemtab.Packorderid = vdata.Jit_packorder.Packorderid - bbaasnitemtab.Swet = vdata.Pln_custorder.Calloffswet - bbaasnitemtab.Binnr = vdata.Jit_packorder.Boxsn - bbaasnitemtab.Lastuser = "bbaasn_service" - bbaasnitemtab.Lastmodif = common.Date(time.Now().Unix(), "YYYYMMDDHHmmss") - bbaasnitemtab.Credatuz = common.Date(time.Now().Unix(), "YYYYMMDDHHmmss") + bbaasnitemtab.Packorderid = vdata.Jit_packorder.Packorderid + bbaasnitemtab.Swet = vdata.Pln_custorder.Calloffswet + bbaasnitemtab.Binnr = vdata.Jit_packorder.Boxsn + bbaasnitemtab.Lastuser = "bbaasn_service" + bbaasnitemtab.Lastmodif = common.Date(time.Now().Unix(), "YYYYMMDDHHmmss") + bbaasnitemtab.Credatuz = common.Date(time.Now().Unix(), "YYYYMMDDHHmmss") bbaasntab.Itemlst = append(bbaasntab.Itemlst, bbaasnitemtab) // 统计包装数 @@ -454,10 +456,10 @@ func GenAsnFileForShipOrderByPartFamily(asnardpf *ASN_ARD_PF, shipordtab db.Jit_ ae.unt.Read(len(ae.ardlst)+5, asnnr) ae.unz.Read(asnnr) - bbaasntab.Totalbinqty = len(binmap) - bbaasntab.Lastuser = "bbaasn_service" - bbaasntab.Lastmodif = common.Date(time.Now().Unix(), "YYYYMMDDHHmmss") - bbaasntab.Credatuz = common.Date(time.Now().Unix(), "YYYYMMDDHHmmss") + bbaasntab.Totalbinqty = len(binmap) + bbaasntab.Lastuser = "bbaasn_service" + bbaasntab.Lastmodif = common.Date(time.Now().Unix(), "YYYYMMDDHHmmss") + bbaasntab.Credatuz = common.Date(time.Now().Unix(), "YYYYMMDDHHmmss") // 保存ASN记录 if err = bbaasntab.Insert(session); err != nil {