$PBExportHeader$w_mtrlware_download_ljfieb.srw forward global type w_mtrlware_download_ljfieb from w_publ_choice end type type st_sptstr from statictext within w_mtrlware_download_ljfieb end type type cb_update from uo_imflatbutton within w_mtrlware_download_ljfieb end type end forward global type w_mtrlware_download_ljfieb from w_publ_choice integer width = 3813 integer height = 2380 string title = "供应商库存推送" st_sptstr st_sptstr cb_update cb_update end type global w_mtrlware_download_ljfieb w_mtrlware_download_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_sptid uo_ljfieb uo_fieb end variables on w_mtrlware_download_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_mtrlware_download_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 SELECT CusCode INTO :ls_cuscode FROM LJFIEB_CusComm Where CusCommID = :ins_sendid Using tr_eb_sqlca; IF tr_eb_sqlca.SQLCode <> 0 THEN ls_cuscode = '' END IF IF Trim(ls_cuscode) = '' THEN MessageBox('系统提示','供应商信息不明确,请检查') RETURN END IF String ls_sptcode, ls_sptname String ls_sptmtrlcode,ls_mtrlcode_my,ls_mtrlname_my,ls_mtrlmode_my Long ll_mtrlid SELECT sptid, sptcode, name INTO :ins_sptid,:ls_sptcode,:ls_sptname FROM u_spt WHERE commcode = :ls_cuscode And commsccode = :ins_sendsccode Using sqlca; IF sqlca.SQLCode <> 0 THEN MessageBox('系统提示','查询供应商信息失败,请检查通信设置是否正确,'+sqlca.SQLErrText) RETURN END IF st_sptstr.Text = '供应商:['+ls_sptcode+']'+ls_sptname 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_mtrlware_download_ljfieb boolean visible = false end type type cb_exit from w_publ_choice`cb_exit within w_mtrlware_download_ljfieb integer x = 699 integer width = 165 string text = "退出" end type type sle_ch from w_publ_choice`sle_ch within w_mtrlware_download_ljfieb boolean visible = false end type type dw_ch from w_publ_choice`dw_ch within w_mtrlware_download_ljfieb integer width = 3794 integer height = 1972 string dataobject = "dw_mtrlware_ljfieb" end type type st_1 from w_publ_choice`st_1 within w_mtrlware_download_ljfieb boolean visible = false end type type cb_retrieve from w_publ_choice`cb_retrieve within w_mtrlware_download_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_mtrlware_download_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_mtrlware_download_ljfieb end type type ln_bar2 from w_publ_choice`ln_bar2 within w_mtrlware_download_ljfieb end type type r_bar from w_publ_choice`r_bar within w_mtrlware_download_ljfieb end type type ln_1 from w_publ_choice`ln_1 within w_mtrlware_download_ljfieb end type type ln_2 from w_publ_choice`ln_2 within w_mtrlware_download_ljfieb end type type st_sptstr from statictext within w_mtrlware_download_ljfieb integer x = 27 integer y = 188 integer width = 3685 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_mtrlware_download_ljfieb integer x = 151 integer width = 549 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;Long ll_scid,ll_mtrlwareid,ll_mtrlid String ls_mtrlcode,ls_mtrlname,ls_storagename String ls_status,ls_woodcode,ls_pcode String ls_plancode,ls_mtrlcuscode,ls_location Decimal ld_notauditnoallocqty DateTime ld_senddate,ld_senddate_ori Long ll_i FOR ll_i = 1 To dw_ch.RowCount() ll_scid = dw_ch.Object.scid[ll_i] ll_mtrlwareid = dw_ch.Object.mtrlwareid[ll_i] ll_mtrlid = dw_ch.Object.mtrlid[ll_i] ls_mtrlcode = dw_ch.Object.mtrlcode[ll_i] ls_mtrlname = dw_ch.Object.mtrlname[ll_i] ls_storagename = dw_ch.Object.storagename[ll_i] ls_status = dw_ch.Object.status[ll_i] ls_woodcode = dw_ch.Object.woodcode[ll_i] ls_pcode = dw_ch.Object.pcode[ll_i] ls_plancode = dw_ch.Object.plancode[ll_i] ls_mtrlcuscode = dw_ch.Object.mtrlcuscode[ll_i] ls_location = dw_ch.Object.Location[ll_i] ld_notauditnoallocqty = dw_ch.Object.notauditnoallocqty[ll_i] ld_senddate = dw_ch.Object.scid[ll_i] SELECT senddate INTO :ld_senddate_ori FROM u_mtrlware_propel WHERE sptid = :ins_sptid AND scid = :ll_scid And mtrlwareid = :ll_mtrlwareid ; IF sqlca.SQLCode <> 0 THEN IF sqlca.SQLCode = 100 THEN INSERT INTO u_mtrlware_propel (sptid, scid, mtrlwareid, mtrlid, mtrlcode, mtrlname, storagename, status, woodcode, pcode, plancode, mtrlcuscode, location, notauditnoallocqty, senddate) VALUES (:ins_sptid, :ll_scid, :ll_mtrlwareid, :ll_mtrlid, :ls_mtrlcode, :ls_mtrlname, :ls_storagename, :ls_status, :ls_woodcode, :ls_pcode, :ls_plancode, :ls_mtrlcuscode, :ls_location, :ld_notauditnoallocqty, :ld_senddate); IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('Error','插入供应商库存信息失败,供应商产品编码:'+ls_mtrlcode+',供应商产品名称:'+ls_mtrlname) RETURN END IF ELSE ROLLBACK; MessageBox('Error','查询供应商库存信息失败,供应商产品编码:'+ls_mtrlcode+',供应商产品名称:'+ls_mtrlname) RETURN END IF ELSE IF ld_senddate > ld_senddate_ori THEN UPDATE u_mtrlware_propel SET notauditnoallocqty = :ld_notauditnoallocqty, senddate = :ld_senddate WHERE sptid = :ins_sptid AND scid = :ll_scid And mtrlwareid = :ll_mtrlwareid; IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('Error','更新供应商库存信息失败,供应商产品编码:'+ls_mtrlcode+',供应商产品名称:'+ls_mtrlname) RETURN END IF 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 String arg_msg 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