$PBExportHeader$w_mtrl_match_ljfieb.srw forward global type w_mtrl_match_ljfieb from w_publ_choice end type type st_sptstr from statictext within w_mtrl_match_ljfieb end type type cb_update from uo_imflatbutton within w_mtrl_match_ljfieb end type end forward global type w_mtrl_match_ljfieb from w_publ_choice integer width = 3113 integer height = 2380 string title = "产品编码匹配信息反馈" st_sptstr st_sptstr cb_update cb_update end type global w_mtrl_match_ljfieb w_mtrl_match_ljfieb type variables Transaction tr_eb_sqlca s_packet_ljfieb s_inscust string ins_sn long ins_sendid,ins_receid string ins_sendsccode,ins_reccesccode string ins_RelatedCode datetime ins_addtime string ins_adduser long ins_cusid,ins_sptid uo_ljfieb uo_fieb end variables on w_mtrl_match_ljfieb.create int iCurrent call super::create this.st_sptstr=create st_sptstr this.cb_update=create cb_update iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.st_sptstr this.Control[iCurrent+2]=this.cb_update end on on w_mtrl_match_ljfieb.destroy call super::destroy destroy(this.st_sptstr) destroy(this.cb_update) end on event ue_before_open;call super::ue_before_open;tr_eb_sqlca = sys_email_sqlca // 电子商务连接 IF sys_email_sqlca.DBHandle() = 0 THEN MessageBox('Error','电子商务数据库连接失败,请检查') RETURN END IF uo_fieb = Create uo_ljfieb uo_fieb.commit_transaction = tr_eb_sqlca s_inscust = Message.PowerObjectParm ins_sn = s_inscust.serialnum ins_sendid = s_inscust.sendcuscommid ins_receid = s_inscust.receivecuscommid ins_sendsccode = s_inscust.sendsccode ins_reccesccode = s_inscust.receivesccode ins_RelatedCode = s_inscust.RelatedCode ins_addtime = s_inscust.addtime ins_adduser = s_inscust.adduser String ls_cuscode_comm SELECT CusCode INTO :ls_cuscode_comm FROM LJFIEB_CusComm Where CusCommID = :ins_sendid Using tr_eb_sqlca; IF tr_eb_sqlca.SQLCode <> 0 THEN ls_cuscode_comm = '' END IF IF Trim(ls_cuscode_comm) = '' THEN MessageBox('系统提示','客户信息不明确,请检查') RETURN END IF String ls_cuscode, ls_cusname string ls_sptcode, ls_sptname String ls_sptmtrlcode,ls_mtrlcode_my,ls_mtrlname_my,ls_mtrlmode_my Long ll_mtrlid SELECT cusid, cuscode, name INTO :ins_cusid,:ls_cuscode,:ls_cusname FROM u_cust WHERE commcode = :ls_cuscode_comm And commsccode = :ins_sendsccode Using sqlca; IF sqlca.SQLCode <> 0 THEN ins_cusid = 0 ls_cuscode = '' ls_cusname = '' // MessageBox('系统提示','查询客户信息失败,请检查通信设置是否正确,'+sqlca.SQLErrText) // RETURN END IF SELECT sptid, sptcode, name INTO :ins_sptid,:ls_sptcode,:ls_sptname FROM u_spt WHERE commcode = :ls_cuscode_comm And commsccode = :ins_sendsccode Using sqlca; IF sqlca.SQLCode <> 0 THEN ins_sptid = 0 ls_sptcode = '' ls_sptname = '' // MessageBox('系统提示','查询客户信息失败,请检查通信设置是否正确,'+sqlca.SQLErrText) // RETURN END IF if ins_cusid = 0 and ins_sptid = 0 then MessageBox('系统提示','查询客户(供应商)信息失败,请检查通信设置是否正确,'+sqlca.SQLErrText) RETURN end if string ls_msg = '' if ins_cusid > 0 then ls_msg = '客户:['+ls_cuscode+']'+ls_cusname end if if ins_sptid > 0 then if ins_cusid > 0 then ls_msg += ';' end if ls_msg += '供应商:['+ls_sptcode+']'+ls_sptname end if st_sptstr.Text = ls_msg Long ll_status,ll_Complete DateTime ld_ConfirmTime String ls_ConfirmUser SELECT status,Complete,ConfirmTime,ConfirmUser INTO :ll_status,:ll_Complete,:ld_ConfirmTime,:ls_ConfirmUser FROM LJFIEB_packet Where serialnum = :ins_sn Using tr_eb_sqlca; IF tr_eb_sqlca.SQLCode <> 0 THEN MessageBox('Error','查询通信数据失败,'+sqlca.SQLErrText) RETURN END IF IF ll_status <> 5 THEN cb_update.Enabled = False END IF IF ll_Complete = 1 THEN st_sptstr.Text = st_sptstr.Text + ',本批反馈信息已于 '+String(ld_ConfirmTime,'yyyy-mm-dd hh:mm')+' 由 '+ls_ConfirmUser+' 更新到客户物料别名' END IF end event event open;This.TriggerEvent('ue_before_open') wf_movetocenter() if_ue_sort = True dw_CH.SetTransObject (tr_eb_sqlca) cb_retrieve.TriggerEvent(Clicked!) end event type cb_func from w_publ_choice`cb_func within w_mtrl_match_ljfieb boolean visible = false end type type cb_exit from w_publ_choice`cb_exit within w_mtrl_match_ljfieb integer x = 864 integer width = 165 string text = "退出" end type type sle_ch from w_publ_choice`sle_ch within w_mtrl_match_ljfieb boolean visible = false end type type dw_ch from w_publ_choice`dw_ch within w_mtrl_match_ljfieb integer width = 3081 integer height = 1972 string dataobject = "dw_mtrl_match_ljfieb" end type type st_1 from w_publ_choice`st_1 within w_mtrl_match_ljfieb boolean visible = false end type type cb_retrieve from w_publ_choice`cb_retrieve within w_mtrl_match_ljfieb end type event cb_retrieve::clicked;dw_ch.retrieve(ins_sn) end event type cb_choice from w_publ_choice`cb_choice within w_mtrl_match_ljfieb boolean visible = false integer x = 151 integer width = 549 string text = "更新供应商库存列表" string normalpicname = "update.BMP" end type type ln_bar from w_publ_choice`ln_bar within w_mtrl_match_ljfieb end type type ln_bar2 from w_publ_choice`ln_bar2 within w_mtrl_match_ljfieb end type type r_bar from w_publ_choice`r_bar within w_mtrl_match_ljfieb end type type ln_1 from w_publ_choice`ln_1 within w_mtrl_match_ljfieb end type type ln_2 from w_publ_choice`ln_2 within w_mtrl_match_ljfieb end type type st_sptstr from statictext within w_mtrl_match_ljfieb integer x = 27 integer y = 188 integer width = 3040 integer height = 72 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "供应商:" boolean focusrectangle = false end type type cb_update from uo_imflatbutton within w_mtrl_match_ljfieb integer x = 151 integer width = 713 integer height = 164 integer taborder = 30 boolean bringtotop = true string text = "更新客户(供应商)物料别名" string normalpicname = "update.BMP" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;String ls_mtrlcode_spt,ls_mtrlcode_self,ls_mtrlname_self,ls_mtrlmode_self Long ll_mtrlid String arg_msg Long ll_i FOR ll_i = 1 To dw_ch.RowCount() ls_mtrlcode_spt = dw_ch.Object.mtrlcode_spt[ll_i] ls_mtrlcode_self = dw_ch.Object.mtrlcode_self[ll_i] ls_mtrlname_self = dw_ch.Object.mtrlname_self[ll_i] ls_mtrlmode_self = dw_ch.Object.mtrlmode_self[ll_i] SELECT mtrlid INTO :ll_mtrlid FROM u_mtrldef Where mtrlcode = :ls_mtrlcode_spt; IF sqlca.SQLCode <> 0 THEN arg_msg = arg_msg +'~r~n'+'第'+String(ll_i)+'行,查询本地资料信息失败,'+sqlca.SQLErrText CONTINUE END IF IF ins_cusid > 0 THEN UPDATE u_cusmtrlname SET cusmtrlcode = :ls_mtrlcode_self, cusmtrlname = :ls_mtrlname_self, cusmtrlmode = :ls_mtrlmode_self WHERE cusid = :ins_cusid And mtrlid = :ll_mtrlid; IF sqlca.SQLCode = 0 THEN IF sqlca.SQLNRows = 0 THEN INSERT INTO u_cusmtrlname (cusid, mtrlid, cusmtrlcode, cusmtrlname, cusmtrlmode) VALUES (:ins_cusid, :ll_mtrlid, :ls_mtrlcode_self, :ls_mtrlname_self, :ls_mtrlmode_self); IF sqlca.SQLCode <> 0 THEN arg_msg = arg_msg +'~r~n'+'第'+String(ll_i)+'行,新增客户物料别名信息失败,'+sqlca.SQLErrText GOTO _upspt END IF END IF ELSE arg_msg = arg_msg +'~r~n'+'第'+String(ll_i)+'行,更新客户物料别名信息失败,'+sqlca.SQLErrText GOTO _upspt END IF END IF _upspt: IF ins_sptid > 0 THEN UPDATE u_sptmtrlname SET sptmtrlcode = :ls_mtrlcode_self, sptmtrlname = :ls_mtrlname_self, sptmtrlmode = :ls_mtrlmode_self WHERE sptid = :ins_sptid And mtrlid = :ll_mtrlid; IF sqlca.SQLCode = 0 THEN IF sqlca.SQLNRows = 0 THEN INSERT INTO u_sptmtrlname (sptid, mtrlid, sptmtrlcode, sptmtrlname, sptmtrlmode) VALUES (:ins_sptid, :ll_mtrlid, :ls_mtrlcode_self, :ls_mtrlname_self, :ls_mtrlmode_self); IF sqlca.SQLCode <> 0 THEN arg_msg = arg_msg +'~r~n'+'第'+String(ll_i)+'行,新增供应商物料别名信息失败,'+sqlca.SQLErrText CONTINUE END IF END IF ELSE arg_msg = arg_msg +'~r~n'+'第'+String(ll_i)+'行,更新供应商物料别名信息失败,'+sqlca.SQLErrText CONTINUE END IF END IF NEXT COMMIT; //更新本地通信记录 UPDATE LJFIEB_packet SET status = 6, Complete = 1, ConfirmTime = getdate(), ConfirmUser = :publ_operator Where SerialNum = :ins_sn Using tr_eb_sqlca; IF tr_eb_sqlca.SQLCode <> 0 THEN ROLLBACK Using tr_eb_sqlca; MessageBox('Error','更新本地通信记录失败,'+tr_eb_sqlca.SQLErrText) RETURN END IF String ls_SerialNum SELECT TOP 1 NEWID() INTO :ls_SerialNum From u_user Using sqlca; IF sqlca.SQLCode <> 0 THEN ROLLBACK Using sqlca; MessageBox('Error','生成序列号失败,'+sqlca.SQLErrText) RETURN END IF IF IsNull(ls_SerialNum) THEN ls_SerialNum = '' IF ls_SerialNum = '' THEN MessageBox('Error','错误的发送序列号') RETURN END IF IF uo_fieb.add_packet(ls_SerialNum,'',ins_receid,ins_reccesccode,ins_sendid,ins_sendsccode,6,'更新物料匹配信息','','',ins_sn,ins_RelatedCode,0,arg_msg,True) = 0 THEN MessageBox('系统提示','发送确认指令失败 '+arg_msg) RETURN END IF MessageBox('系统提示','更新客户(供应商)物料别名成功!') Close(Parent) end event