Browse Source

提交

master
娄文智 3 years ago
parent
commit
4f25ff9a1c
2 changed files with 45 additions and 42 deletions
  1. +3
    -2
      calloff/Callofftask.go
  2. +42
    -40
      msg/Msgparser.go

+ 3
- 2
calloff/Callofftask.go View File

@ -86,7 +86,7 @@ func ParseCalloffNew() {
mail.Body = body mail.Body = body
mail.Subject = "calloff解析错误" mail.Subject = "calloff解析错误"
mail.Name = projtablst[i].From_email 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.Host = host
mail.Password = projtablst[i].From_pwd mail.Password = projtablst[i].From_pwd
mail.Username = projtablst[i].From_email mail.Username = projtablst[i].From_email
@ -251,6 +251,7 @@ func ParseCalloffOrder() {
} }
if len(sgdict) != len(cftablst) { if len(sgdict) != len(cftablst) {
// 整车副缺零件族 // 整车副缺零件族
glog.InfoExtln("CALLOFF-Debug", "整车副缺零件族len(cftablst):", len(cftablst), "整车副缺零件族len(sgdict):", len(sgdict))
continue continue
} }
// 校验是否解析有错误 // 校验是否解析有错误
@ -331,7 +332,7 @@ func ParseCalloffOrder() {
mail.Body = body mail.Body = body
mail.Subject = "calloff解析错误" mail.Subject = "calloff解析错误"
mail.Name = projtablst[i].From_email 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.Host = host
mail.Password = projtablst[i].From_pwd mail.Password = projtablst[i].From_pwd
mail.Username = projtablst[i].From_email mail.Username = projtablst[i].From_email


+ 42
- 40
msg/Msgparser.go View File

@ -76,7 +76,7 @@ func ParseOpenPrintMsg(pe *service.BL_PrintEngine) (err error) {
case common.MSG_TYPE_PACK: 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 { if packordtab, err = packordtab.SelectOne(); err != nil {
glog.InfoExtln("Msg解析", "解析打印消息失败:", err) glog.InfoExtln("Msg解析", "解析打印消息失败:", err)
return return
@ -184,13 +184,14 @@ func ParseShipOrderMsg() (err error) {
packordtab db.Jit_packorder packordtab db.Jit_packorder
vdatalst []db.VCustorderPackorder vdatalst []db.VCustorderPackorder
pfdict map[string]ASN_ARD_PF pfdict map[string]ASN_ARD_PF
asnsnr string
asnardpf ASN_ARD_PF asnardpf ASN_ARD_PF
i, j, k, m int 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) glog.InfoExtln("BBAASN", "获取项目供应组失败: ", err)
return return
} }
sgdict = make( map[string]db.Me_supplygroup )
sgdict = make(map[string]db.Me_supplygroup)
for j = 0; j < len(sglst); j++ { for j = 0; j < len(sglst); j++ {
sgdict[sglst[j].Supplygroupid] = 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文件 // 按零件族生成ASN文件
for _, asnardpf = range pfdict { for _, asnardpf = range pfdict {
if err = GenAsnFileForShipOrderByPartFamily(&asnardpf, shipordtab); err != nil {
if err = GenAsnFileForShipOrderByPartFamily(&asnardpf, shipordtab, asnsnr); err != nil {
glog.InfoExtln("BBAASN", "解析发运单消息失败: ", err) glog.InfoExtln("BBAASN", "解析发运单消息失败: ", err)
return return
} }
@ -302,7 +309,7 @@ func ParseShipOrderMsg() (err error) {
} }
// 将发运单基于零件族归集的发运项生成对应的ASN文件,并放到项目指定的文件夹中 // 将发运单基于零件族归集的发运项生成对应的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 ( var (
stdeftab db.Stdeftab stdeftab db.Stdeftab
stdeftablst []db.Stdeftab stdeftablst []db.Stdeftab
@ -320,9 +327,9 @@ func GenAsnFileForShipOrderByPartFamily(asnardpf *ASN_ARD_PF, shipordtab db.Jit_
bbaasntmptab db.Jit_bbaasntemplate bbaasntmptab db.Jit_bbaasntemplate
session *xorm.Session session *xorm.Session
bl_asnmsg service.BL_Ordmsg 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) glog.InfoExtln("BBAASN", "解析Reorder发运单消息失败: ", err)
return 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数据行 // 生成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 { 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 continue
} }
key = strconv.Itoa(vdata.Pln_custorder.Calloffnr) + strings.TrimSpace(vdata.Pln_custorder.Oemordernr) + strings.TrimSpace(asnardpf.Pfid) 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 { if _, ok = kvmap[key]; !ok {
kvmap[key] = key kvmap[key] = key
ard = ASN_ARD{} ard = ASN_ARD{}
@ -431,20 +433,20 @@ func GenAsnFileForShipOrderByPartFamily(asnardpf *ASN_ARD_PF, shipordtab db.Jit_
// ASN数据行 // ASN数据行
bbaasnitemtab = db.Jit_bbaasn_itemlst{Finr: db.G_FINR, Asn: ae.mid.Field1, Pos: i + 1} bbaasnitemtab = db.Jit_bbaasn_itemlst{Finr: db.G_FINR, Asn: ae.mid.Field1, Pos: i + 1}
if shipordtab.Shiptype == "REO" { 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.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.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) 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.unt.Read(len(ae.ardlst)+5, asnnr)
ae.unz.Read(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记录 // 保存ASN记录
if err = bbaasntab.Insert(session); err != nil { if err = bbaasntab.Insert(session); err != nil {


Loading…
Cancel
Save