123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396 |
- $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
|