123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687 |
- $PBExportHeader$w_ljsmc_services.srw
- forward
- global type w_ljsmc_services from window
- end type
- type cb_exit from commandbutton within w_ljsmc_services
- end type
- type cb_update from commandbutton within w_ljsmc_services
- end type
- type cb_reflash from commandbutton within w_ljsmc_services
- end type
- type cbx_1 from checkbox within w_ljsmc_services
- end type
- type dw_2 from u_dw_rbtnfilter within w_ljsmc_services
- end type
- type dw_1 from u_dw_rbtnfilter within w_ljsmc_services
- end type
- type ln_bar from line within w_ljsmc_services
- end type
- type ln_bar2 from line within w_ljsmc_services
- end type
- type r_bar from rectangle within w_ljsmc_services
- end type
- type ln_1 from line within w_ljsmc_services
- end type
- type ln_2 from line within w_ljsmc_services
- end type
- type ln_3 from line within w_ljsmc_services
- end type
- type ln_4 from line within w_ljsmc_services
- end type
- end forward
- global type w_ljsmc_services from window
- integer width = 2039
- integer height = 960
- boolean titlebar = true
- string title = "智能升级"
- boolean controlmenu = true
- boolean minbox = true
- boolean maxbox = true
- boolean resizable = true
- windowtype windowtype = popup!
- long backcolor = 67108864
- string icon = "AppIcon!"
- boolean center = true
- event ue_retrieve_child ( )
- cb_exit cb_exit
- cb_update cb_update
- cb_reflash cb_reflash
- cbx_1 cbx_1
- dw_2 dw_2
- dw_1 dw_1
- ln_bar ln_bar
- ln_bar2 ln_bar2
- r_bar r_bar
- ln_1 ln_1
- ln_2 ln_2
- ln_3 ln_3
- ln_4 ln_4
- end type
- global w_ljsmc_services w_ljsmc_services
- type prototypes
- function integer of_connect(string as_host,string as_user,string as_password) library "gyFTPdll.dll" alias for "of_connect;Ansi"
- function integer of_ChangeDir(string as_DirName) library "gyFTPdll.dll" alias for "of_ChangeDir;Ansi"
- function integer of_downLoadfile(string as_fileName,string as_localFile,boolean ab_resum) library "gyFTPdll.dll" alias for "of_downLoadfile;Ansi"
- function integer of_Upfile(string as_fileName,string as_localFile,boolean ab_resum) library "gyFTPdll.dll" alias for "of_Upfile;Ansi"
- function integer of_init() library "gyFTPdll.dll"
- function integer of_close() library "gyFTPdll.dll"
- end prototypes
- type variables
- uo_ljsmc ljsmc
- String is_servername,is_username,is_password
- boolean if_connect=false
- string app_parth_q
- s_update s_L1_zx,s_L1_wd,s_QJL_zx,s_QJL_wd //L1,企精灵 最新和稳定
- string udateversion="稳定版"
- end variables
- forward prototypes
- public subroutine wf_insert_clientupdate ()
- public subroutine wf_read_updatelog ()
- public function integer read_xml (string arg_filepath, ref string arg_msg)
- end prototypes
- event ue_retrieve_child();Long ll_row
- String arg_msg
- ll_row = dw_1.GetRow()
- IF ll_row > 0 THEN
- IF dw_1.Object.ServerName[ll_row] <> '' and dw_1.Object.ServerName[ll_row] <>'客户端更新' THEN
- IF ljsmc.uf_getinstancestatus(dw_1.Object.ServerName[ll_row], Ref dw_2, Ref arg_msg) <> 1 THEN
- MessageBox('ERROR', arg_msg)
- END IF
- ELSE
- dw_2.Reset()
- END IF
- ELSE
- dw_2.Reset()
- END IF
- end event
- public subroutine wf_insert_clientupdate ();//long ll_row
- //ll_row=dw_1.insertrow(0)
- //dw_1.object.servername[ll_row]="客户端更新"
- end subroutine
- public subroutine wf_read_updatelog ();String arg_msg
- String Filename,Filepath,Filepath1,version
- long ll_row
- ll_row=dw_1.insertrow(0)
- dw_1.object.servername[ll_row]="客户端更新"
- //ftp 服务 ,用户名,密码
- is_servername = f_psw_bczh(ProfileString (sys_inifilename, "update", "servername", ""),1,sys_power_key)
- is_username = f_psw_bczh(ProfileString (sys_inifilename, "update", "username", ""),1,sys_power_key)
- is_password = f_psw_bczh(ProfileString (sys_inifilename, "update", "password", ""),1,sys_power_key)
- IF is_servername = "" THEN
- is_servername = "ftp.longjoe.com"
- SetProfileString (sys_inifilename, "update", "servername", f_psw_bczh("ftp.longjoe.com",0,sys_power_key))
- END IF
- IF is_username = "" THEN
- is_username = "longjoewhzg010"
- SetProfileString (sys_inifilename, "update", "username", f_psw_bczh("longjoewhzg010",0,sys_power_key))
- END IF
- IF is_password = "" THEN
- is_password = "long010659"
- SetProfileString (sys_inifilename, "update", "password", f_psw_bczh("long010659",0,sys_power_key))
- END IF
- if_connect = True
- app_parth_q=sys_cur_path
- CreateDirectory ( app_parth_q + "\updatexetmp" )
- CreateDirectory ( app_parth_q + "\updatexetmp\autoupdate" )
- CreateDirectory ( app_parth_q + "\updatexetmp\autoupdate\temp" )
- Yield()
- of_init()
- IF of_connect(is_servername,is_username,is_password) < 0 THEN
- MessageBox("Error","连接远程服务器失败")
- HALT
- END IF
- Int li_Rc
- li_Rc = of_downLoadfile("qjl_updatelong.xml","updatexetmp/autoupdate/qjl_updatelong.xml",True)
- of_close()
- read_xml(app_parth_q+"updatexetmp\autoupdate\qjl_updatelong.xml",arg_msg)
- Filename = ""
- IF udateversion = "最新版" THEN
- Filename = s_QJL_zx.rar
- version = s_QJL_zx.version
- ELSE
- Filename = s_QJL_wd.rar
- version = s_QJL_wd.version
- END IF
- IF version = "" THEN
- MessageBox("Error","获取升级文件失败,请重新打开智能升级")
- HALT
- END IF
- Integer ls_stable
- String ls_update_version,ss_stable
- SELECT stable,update_version Into :ls_stable,:ls_update_version From sys_DB_version Using sqlca;
- IF ls_stable = 0 THEN
- ss_stable = "稳定版"
- ELSE
- ss_stable = "最新版"
- END IF
- dw_1.object.version[ll_row]=ls_update_version
- dw_1.object.newversion[ll_row]=version
- end subroutine
- public function integer read_xml (string arg_filepath, ref string arg_msg);Int rslt = 1
- IF Not FileExists(arg_filepath) THEN
- rslt = 0
- arg_msg = '文件' + arg_filepath + '不存在'
- GOTO ext
- END IF
- //功能:读取文本节点 到数组里
- //参数 as_xml 需要解析的xml ,as_xmlreturn[] 返回的数组
- String st,st1
- PBDOM_BUILDER pbdom_builder_new
- PBDOM_DOCUMENT pbdom_doc
- Int i,j
- pbdom_builder_new = Create PBDOM_BUILDER
- //解析xml,生成Document
- pbdom_doc = pbdom_builder_new.buildfromfile(arg_filepath)
- //PBDOM元素
- PBDOM_ELEMENT pbdom_elem,pbdom_elem_product
- pbdom_elem_product = Create PBDOM_ELEMENT
- pbdom_elem = Create PBDOM_ELEMENT
- pbdom_elem = pbdom_doc.GetRootElement()
- //messagebox("ii",pbdom_elem.getName()) //取得最外层节点名称
- //messagebox("i11i",pbdom_elem.hasChildElements())//element的所有子元素个数
- //得到跟节点下的所有row子节点
- PBDOM_ELEMENT pbdom_elems_product[]
- PBDOM_ELEMENT pbdom_elems_L1_Release[]
- PBDOM_ELEMENT pbdom_elems_QJL_Release[]
- PBDOM_ELEMENT pbdom_elems_L1_updatetime[]
- PBDOM_ELEMENT pbdom_elems_QJL_updatetime[]
- PBDOM_ELEMENT pbdom_elems_L1_dscrp[]
- PBDOM_ELEMENT pbdom_elems_QJL_dscrp[]
- PBDOM_ELEMENT pbdom_elems_L1_rar[]
- PBDOM_ELEMENT pbdom_elems_QJL_rar[]
- pbdom_elem.GetChildElements("Product",pbdom_elems_product[])
- FOR i = 1 To UpperBound(pbdom_elems_product)
- st = pbdom_elems_product[i].GetAttributeValue("Name")
- // MessageBox("",st)
- IF st = "L1-ERP" THEN
- pbdom_elems_product[i].GetChildElements("Release",pbdom_elems_L1_Release[])
- FOR j = 1 To UpperBound(pbdom_elems_L1_Release)
- st1 = pbdom_elems_L1_Release[j].GetAttributeValue("stable")
- IF st1 = "true" THEN //L1-ERP最新版
- s_L1_zx.Name = "L1-ERP最新版"
-
- s_L1_zx.version = pbdom_elems_L1_Release[j].GetAttributeValue("Version")
-
- pbdom_elems_L1_Release[j].GetChildElements("updatetime",pbdom_elems_L1_updatetime[])
- s_L1_zx.updatetime = pbdom_elems_L1_updatetime[1].GetText()
-
- pbdom_elems_L1_Release[j].GetChildElements("dscrp",pbdom_elems_L1_dscrp[])
- s_L1_zx.dscrp = pbdom_elems_L1_dscrp[1].GetText()
-
- pbdom_elems_L1_Release[j].GetChildElements("rar",pbdom_elems_L1_rar[])
- s_L1_zx.rar = pbdom_elems_L1_rar[1].GetText()
-
- END IF
- IF st1 = "false" THEN //L1-ERP稳定版
- s_L1_wd.Name = "L1-ERP稳定版"
-
- s_L1_wd.version = pbdom_elems_L1_Release[j].GetAttributeValue("Version")
-
- pbdom_elems_L1_Release[j].GetChildElements("updatetime",pbdom_elems_L1_updatetime[])
- s_L1_wd.updatetime = pbdom_elems_L1_updatetime[1].GetText()
-
- pbdom_elems_L1_Release[j].GetChildElements("dscrp",pbdom_elems_L1_dscrp[])
- s_L1_wd.dscrp = pbdom_elems_L1_dscrp[1].GetText()
-
- pbdom_elems_L1_Release[j].GetChildElements("rar",pbdom_elems_L1_rar[])
- s_L1_wd.rar = pbdom_elems_L1_rar[1].GetText()
- END IF
- NEXT
- END IF
- IF st = "企精灵" THEN
- pbdom_elems_product[i].GetChildElements("Release",pbdom_elems_QJL_Release[])
- FOR j = 1 To UpperBound(pbdom_elems_QJL_Release)
- st1 = pbdom_elems_QJL_Release[j].GetAttributeValue("stable")
- IF st1 = "true" THEN //企精灵最新版
- s_QJL_zx.Name = "企精灵最新版"
-
- s_QJL_zx.version = pbdom_elems_QJL_Release[j].GetAttributeValue("Version")
-
- pbdom_elems_QJL_Release[j].GetChildElements("updatetime",pbdom_elems_QJL_updatetime[])
- s_QJL_zx.updatetime = pbdom_elems_QJL_updatetime[1].GetText()
-
- pbdom_elems_QJL_Release[j].GetChildElements("dscrp",pbdom_elems_QJL_dscrp[])
- s_QJL_zx.dscrp = pbdom_elems_QJL_dscrp[1].GetText()
-
- pbdom_elems_QJL_Release[j].GetChildElements("rar",pbdom_elems_QJL_rar[])
- s_QJL_zx.rar = pbdom_elems_QJL_rar[1].GetText()
-
- END IF
- IF st1 = "false" THEN //企精灵稳定版
- s_QJL_wd.Name = "企精灵稳定版"
-
- s_QJL_wd.version = pbdom_elems_QJL_Release[j].GetAttributeValue("Version")
-
- pbdom_elems_QJL_Release[j].GetChildElements("updatetime",pbdom_elems_QJL_updatetime[])
- s_QJL_wd.updatetime = pbdom_elems_QJL_updatetime[1].GetText()
-
- pbdom_elems_QJL_Release[j].GetChildElements("dscrp",pbdom_elems_QJL_dscrp[])
- s_QJL_wd.dscrp = pbdom_elems_QJL_dscrp[1].GetText()
-
- pbdom_elems_QJL_Release[j].GetChildElements("rar",pbdom_elems_QJL_rar[])
- s_QJL_wd.rar = pbdom_elems_QJL_rar[1].GetText()
- END IF
- NEXT
- END IF
-
- NEXT
- //
- //MessageBox("1",s_L1_zx.Name )
- //MessageBox("2",s_L1_zx.version )
- //MessageBox("3",s_L1_zx.updatetime )
- //MessageBox("4",s_L1_zx.dscrp )
- //MessageBox("5",s_L1_zx.rar )
- //
- //
- //MessageBox("1",s_L1_wd.Name )
- //MessageBox("2",s_L1_wd.version )
- //MessageBox("3",s_L1_wd.updatetime )
- //MessageBox("4",s_L1_wd.dscrp )
- //MessageBox("5",s_L1_wd.rar )
- //
- //
- //MessageBox("1",s_QJL_zx.Name )
- //MessageBox("2",s_QJL_zx.version )
- //MessageBox("3",s_QJL_zx.updatetime )
- //MessageBox("4",s_QJL_zx.dscrp )
- //MessageBox("5",s_QJL_zx.rar )
- //
- //
- //MessageBox("1",s_QJL_wd.Name )
- //MessageBox("2",s_QJL_wd.version )
- //MessageBox("3",s_QJL_wd.updatetime )
- //MessageBox("4",s_QJL_wd.dscrp )
- //MessageBox("5",s_QJL_wd.rar )
- ext:
- RETURN rslt
- end function
- on w_ljsmc_services.create
- this.cb_exit=create cb_exit
- this.cb_update=create cb_update
- this.cb_reflash=create cb_reflash
- this.cbx_1=create cbx_1
- this.dw_2=create dw_2
- this.dw_1=create dw_1
- this.ln_bar=create ln_bar
- this.ln_bar2=create ln_bar2
- this.r_bar=create r_bar
- this.ln_1=create ln_1
- this.ln_2=create ln_2
- this.ln_3=create ln_3
- this.ln_4=create ln_4
- this.Control[]={this.cb_exit,&
- this.cb_update,&
- this.cb_reflash,&
- this.cbx_1,&
- this.dw_2,&
- this.dw_1,&
- this.ln_bar,&
- this.ln_bar2,&
- this.r_bar,&
- this.ln_1,&
- this.ln_2,&
- this.ln_3,&
- this.ln_4}
- end on
- on w_ljsmc_services.destroy
- destroy(this.cb_exit)
- destroy(this.cb_update)
- destroy(this.cb_reflash)
- destroy(this.cbx_1)
- destroy(this.dw_2)
- destroy(this.dw_1)
- destroy(this.ln_bar)
- destroy(this.ln_bar2)
- destroy(this.r_bar)
- destroy(this.ln_1)
- destroy(this.ln_2)
- destroy(this.ln_3)
- destroy(this.ln_4)
- end on
- event resize;ln_bar.EndX = This.Width
- ln_bar2.EndX = This.Width
- ln_1.EndX = This.Width
- ln_2.EndX = This.Width
- ln_3.EndX = This.Width
- ln_4.EndX = This.Width
- r_bar.Width = This.Width
- //dw_1.Width = This.WorkSpaceWidth() - dw_1.X - dw_2.Width
- //dw_1.Height = This.WorkSpaceHeight() - dw_1.Y
- //
- //dw_2.X = dw_1.X + dw_1.Width
- //dw_2.Height = dw_1.Height
- end event
- event open;ljsmc = create uo_ljsmc
- cb_reflash.TriggerEvent(clicked!)
- end event
- event close;destroy ljsmc
- end event
- type cb_exit from commandbutton within w_ljsmc_services
- integer x = 1207
- integer y = 728
- integer width = 402
- integer height = 104
- integer taborder = 50
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- string text = "退出"
- end type
- event clicked;Close(PARENT)
- end event
- type cb_update from commandbutton within w_ljsmc_services
- integer x = 325
- integer y = 728
- integer width = 402
- integer height = 104
- integer taborder = 40
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- string text = "更新"
- end type
- event clicked;Long ll_row,i
- ll_row = dw_1.GetRow()
- //IF ll_row <= 0 THEN
- // MessageBox('提示', '请选择目标对象')
- // RETURN
- //END IF
- String arg_msg
- //dw_1.object.servername[i]="客户端更新"
- IF ljsmc.uf_update('LJUpdateSvr', Ref arg_msg) <> 1 THEN
- MessageBox('ERROR', arg_msg)
- END IF
- FOR i = 1 To dw_1.RowCount()
- IF dw_1.Object.ch[i] = 1 THEN
- IF ljsmc.uf_update(dw_1.Object.ServerName[i], Ref arg_msg) <> 1 And dw_1.Object.ServerName[i] <> "客户端更新" THEN
- MessageBox('ERROR', arg_msg)
- ELSEIF dw_1.Object.ServerName[i] = "客户端更新" THEN
- f_run_download_auto()
- END IF
- END IF
- NEXT
- end event
- type cb_reflash from commandbutton within w_ljsmc_services
- integer x = 82
- integer y = 944
- integer width = 402
- integer height = 104
- integer taborder = 30
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- string text = "刷新"
- end type
- event clicked;
- String arg_msg
- Long i
- IF ljsmc.uf_GetServiceStatus(Ref dw_1, Ref arg_msg) <> 1 THEN
- MessageBox('ERROR', arg_msg)
- END IF
- Parent.TriggerEvent('ue_retrieve_child')
- wf_read_updatelog()
- FOR i = 1 To dw_1.RowCount()
- IF dw_1.Object.version[i] <> dw_1.Object.newversion[i] THEN
- dw_1.Object.if_update[i] = "是"
- ELSE
- dw_1.Object.if_update[i] = "否"
- dw_1.Object.ch[i] = 0
- END IF
-
-
- NEXT
- FOR i = 1 To dw_1.RowCount()
- IF dw_1.Object.ServerName[i] = 'LJUpdateSvr' THEN
- dw_1.DeleteRow(i)
- END IF
- NEXT
- end event
- type cbx_1 from checkbox within w_ljsmc_services
- boolean visible = false
- integer x = 2011
- integer y = 744
- integer width = 219
- integer height = 60
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 67108864
- string text = "详细"
- end type
- event clicked;IF This.Checked = False THEN
- dw_2.Visible = True
- parent.width=dw_1.width
- // dw_1.Modify( 'displayname.Visible = 0')
- ELSE
- dw_2.Visible = true
- parent.width= dw_1.width + dw_2.width
- // dw_1.Modify( 'displayname.Visible = 1')
- END IF
- end event
- type dw_2 from u_dw_rbtnfilter within w_ljsmc_services
- boolean visible = false
- integer x = 2789
- integer y = 184
- integer width = 832
- integer height = 1328
- integer taborder = 30
- string dataobject = "dw_ljsmc_instances"
- end type
- event clicked;call super::clicked;IF row > 0 THEN
- This.SetRow(row)
- END IF
- end event
- event rowfocuschanged;call super::rowfocuschanged;This.SelectRow(0, False)
- IF currentrow > 0 THEN
- This.SelectRow(currentrow, True)
- END IF
- end event
- type dw_1 from u_dw_rbtnfilter within w_ljsmc_services
- integer width = 1984
- integer height = 696
- integer taborder = 20
- string dataobject = "dw_ljsmc_services"
- boolean hscrollbar = true
- boolean vscrollbar = true
- end type
- event clicked;call super::clicked; IF row <= 0 THEN RETURN
- THIS.SelectRow(0,FALSE)
- THIS.SelectRow(row,TRUE)
- IF row > 0 THEN
- This.SetRow(row)
- END IF
- end event
- event rowfocuschanged;call super::rowfocuschanged;This.SelectRow(0, False)
- IF currentrow > 0 THEN
- This.SelectRow(currentrow, True)
- END IF
- Parent.TriggerEvent('ue_retrieve_child')
- end event
- type ln_bar from line within w_ljsmc_services
- long linecolor = 268435456
- integer linethickness = 4
- integer beginy = -48
- integer endx = 2007
- integer endy = -48
- end type
- type ln_bar2 from line within w_ljsmc_services
- long linecolor = 16777215
- integer linethickness = 4
- integer beginy = -44
- integer endx = 2039
- integer endy = -44
- end type
- type r_bar from rectangle within w_ljsmc_services
- long linecolor = 16777215
- integer linethickness = 4
- long fillcolor = 1073741824
- integer x = 2139
- integer width = 146
- integer height = 68
- end type
- event constructor;this.fillcolor = 14215660
- this.linecolor = 14215660
- this.x = -1
- this.y = -1
- this.height = ln_bar.beginy - 5
- end event
- type ln_1 from line within w_ljsmc_services
- boolean visible = false
- long linecolor = 268435456
- integer linethickness = 4
- integer beginy = 292
- integer endx = 2016
- integer endy = 292
- end type
- type ln_2 from line within w_ljsmc_services
- boolean visible = false
- long linecolor = 16777215
- integer linethickness = 4
- integer beginy = 296
- integer endx = 2048
- integer endy = 296
- end type
- type ln_3 from line within w_ljsmc_services
- boolean visible = false
- long linecolor = 268435456
- integer linethickness = 4
- integer beginy = 412
- integer endx = 2016
- integer endy = 412
- end type
- type ln_4 from line within w_ljsmc_services
- boolean visible = false
- long linecolor = 16777215
- integer linethickness = 4
- integer beginy = 416
- integer endx = 2048
- integer endy = 416
- end type
|