$PBExportHeader$w_msg_his.srw forward global type w_msg_his from w_publ_base end type type dw_user from u_dw_rbtnfilter within w_msg_his end type type tab_1 from tab within w_msg_his end type type tabpage_1 from userobject within tab_1 end type type tab_3 from tab within tabpage_1 end type type tabpage_5 from userobject within tab_3 end type type mle_in_msg from multilineedit within tabpage_5 end type type tabpage_5 from userobject within tab_3 mle_in_msg mle_in_msg end type type tabpage_6 from userobject within tab_3 end type type lv_in_fj from uo_msg_lv within tabpage_6 end type type tabpage_6 from userobject within tab_3 lv_in_fj lv_in_fj end type type tab_3 from tab within tabpage_1 tabpage_5 tabpage_5 tabpage_6 tabpage_6 end type type dw_get from u_dw_rbtnfilter within tabpage_1 end type type tabpage_1 from userobject within tab_1 tab_3 tab_3 dw_get dw_get end type type tabpage_2 from userobject within tab_1 end type type tab_2 from tab within tabpage_2 end type type tabpage_3 from userobject within tab_2 end type type mle_out_msg from multilineedit within tabpage_3 end type type tabpage_3 from userobject within tab_2 mle_out_msg mle_out_msg end type type tabpage_4 from userobject within tab_2 end type type lv_out_fj from uo_msg_lv within tabpage_4 end type type tabpage_4 from userobject within tab_2 lv_out_fj lv_out_fj end type type tabpage_7 from userobject within tab_2 end type type dw_commit from u_dw_rbtnfilter within tabpage_7 end type type tabpage_7 from userobject within tab_2 dw_commit dw_commit end type type tab_2 from tab within tabpage_2 tabpage_3 tabpage_3 tabpage_4 tabpage_4 tabpage_7 tabpage_7 end type type dw_send from u_dw_rbtnfilter within tabpage_2 end type type tabpage_2 from userobject within tab_1 tab_2 tab_2 dw_send dw_send end type type tab_1 from tab within w_msg_his tabpage_1 tabpage_1 tabpage_2 tabpage_2 end type type em_first from editmask within w_msg_his end type type em_end from editmask within w_msg_his end type type st_1 from statictext within w_msg_his end type type st_2 from statictext within w_msg_his end type type cb_retrieve from uo_imflatbutton within w_msg_his end type type cb_delmsg from uo_imflatbutton within w_msg_his end type type cbx_all from checkbox within w_msg_his end type end forward global type w_msg_his from w_publ_base integer width = 3570 integer height = 2152 string title = "历史信息管理" dw_user dw_user tab_1 tab_1 em_first em_first em_end em_end st_1 st_1 st_2 st_2 cb_retrieve cb_retrieve cb_delmsg cb_delmsg cbx_all cbx_all end type global w_msg_his w_msg_his type variables long cur_empid end variables forward prototypes public subroutine wf_retrieve () end prototypes public subroutine wf_retrieve ();datetime ld_first datetime ld_end ld_first=datetime(date(em_first.text),time('0')) ld_end=datetime(date(em_end.text),time('23:59:59')) tab_1.tabpage_1.dw_get.retrieve(cur_empid,ld_first,ld_end) tab_1.tabpage_2.dw_send.retrieve(cur_empid,ld_first,ld_end) end subroutine on w_msg_his.create int iCurrent call super::create this.dw_user=create dw_user this.tab_1=create tab_1 this.em_first=create em_first this.em_end=create em_end this.st_1=create st_1 this.st_2=create st_2 this.cb_retrieve=create cb_retrieve this.cb_delmsg=create cb_delmsg this.cbx_all=create cbx_all iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.dw_user this.Control[iCurrent+2]=this.tab_1 this.Control[iCurrent+3]=this.em_first this.Control[iCurrent+4]=this.em_end this.Control[iCurrent+5]=this.st_1 this.Control[iCurrent+6]=this.st_2 this.Control[iCurrent+7]=this.cb_retrieve this.Control[iCurrent+8]=this.cb_delmsg this.Control[iCurrent+9]=this.cbx_all end on on w_msg_his.destroy call super::destroy destroy(this.dw_user) destroy(this.tab_1) destroy(this.em_first) destroy(this.em_end) destroy(this.st_1) destroy(this.st_2) destroy(this.cb_retrieve) destroy(this.cb_delmsg) destroy(this.cbx_all) end on event open;this.triggerevent('ue_before_open') wf_movetocenter() string ls_first_date,ls_end_date ls_first_date=string(today(),'yyyy-mm') ls_first_date=ls_first_date+'-01' em_first.text=ls_first_date ls_end_date=string(today(),'yyyy-mm-dd') em_end.text=ls_end_date dw_user.rbutton_filter_use=true dw_user.titleclick_sort_use=true tab_1.tabpage_1.dw_get.rbutton_filter_use=true tab_1.tabpage_1.dw_get.titleclick_sort_use=true tab_1.tabpage_2.dw_send.rbutton_filter_use=true tab_1.tabpage_2.dw_send.titleclick_sort_use=true tab_1.tabpage_2.tab_2.tabpage_7.dw_commit.rbutton_filter_use=true tab_1.tabpage_2.tab_2.tabpage_7.dw_commit.titleclick_sort_use=true dw_user.retrieve(publ_userid) end event event ue_before_open;call super::ue_before_open;dw_user.settransobject(sqlca) tab_1.tabpage_1.dw_get.settransobject(sqlca) tab_1.tabpage_2.dw_send.settransobject(sqlca) tab_1.tabpage_2.tab_2.tabpage_7.dw_commit.settransobject(sqlca) end event type cb_func from w_publ_base`cb_func within w_msg_his boolean visible = false integer x = 2089 boolean enabled = false end type type cb_exit from w_publ_base`cb_exit within w_msg_his integer x = 293 integer width = 293 integer height = 100 end type type dw_user from u_dw_rbtnfilter within w_msg_his integer y = 108 integer width = 882 integer height = 1944 integer taborder = 20 boolean bringtotop = true string dataobject = "dw_userindex_1" end type event clicked;call super::clicked;If (row > 0) THEN THIS.SelectRow( 0, FALSE) THIS.SelectRow( row, TRUE) ELSE THIS.SelectRow( 0, FALSE) END IF end event event rowfocuschanged;call super::rowfocuschanged;if currentrow = 0 then return cur_empid=dw_user.object.empid[currentrow] cb_retrieve.triggerevent(clicked!) end event type tab_1 from tab within w_msg_his integer x = 887 integer y = 108 integer width = 2656 integer height = 1944 integer taborder = 30 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long backcolor = 134217739 boolean raggedright = true boolean focusonbuttondown = true integer selectedtab = 1 tabpage_1 tabpage_1 tabpage_2 tabpage_2 end type on tab_1.create this.tabpage_1=create tabpage_1 this.tabpage_2=create tabpage_2 this.Control[]={this.tabpage_1,& this.tabpage_2} end on on tab_1.destroy destroy(this.tabpage_1) destroy(this.tabpage_2) end on event selectionchanged;IF tab_1.SelectedTab = 1 THEN cbx_all.Visible = FALSE cb_delmsg.Visible = FALSE ELSE cbx_all.Visible = TRUE cb_delmsg.Visible = TRUE END IF end event type tabpage_1 from userobject within tab_1 integer x = 18 integer y = 112 integer width = 2619 integer height = 1816 long backcolor = 134217739 string text = "收信息" long tabtextcolor = 33554432 long tabbackcolor = 134217739 string picturename = "graphics\newsin.BMP" long picturemaskcolor = 553648127 tab_3 tab_3 dw_get dw_get end type on tabpage_1.create this.tab_3=create tab_3 this.dw_get=create dw_get this.Control[]={this.tab_3,& this.dw_get} end on on tabpage_1.destroy destroy(this.tab_3) destroy(this.dw_get) end on type tab_3 from tab within tabpage_1 integer y = 792 integer width = 2619 integer height = 1028 integer taborder = 40 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long backcolor = 134217739 boolean raggedright = true boolean focusonbuttondown = true integer selectedtab = 1 tabpage_5 tabpage_5 tabpage_6 tabpage_6 end type on tab_3.create this.tabpage_5=create tabpage_5 this.tabpage_6=create tabpage_6 this.Control[]={this.tabpage_5,& this.tabpage_6} end on on tab_3.destroy destroy(this.tabpage_5) destroy(this.tabpage_6) end on type tabpage_5 from userobject within tab_3 integer x = 18 integer y = 112 integer width = 2583 integer height = 900 long backcolor = 134217739 string text = "内容" long tabtextcolor = 33554432 long tabbackcolor = 134217739 string picturename = "graphics\content.bmp" long picturemaskcolor = 536870912 mle_in_msg mle_in_msg end type on tabpage_5.create this.mle_in_msg=create mle_in_msg this.Control[]={this.mle_in_msg} end on on tabpage_5.destroy destroy(this.mle_in_msg) end on type mle_in_msg from multilineedit within tabpage_5 integer width = 2583 integer height = 896 integer taborder = 30 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 boolean displayonly = true borderstyle borderstyle = stylelowered! end type type tabpage_6 from userobject within tab_3 integer x = 18 integer y = 112 integer width = 2583 integer height = 900 long backcolor = 134217739 string text = "附件" long tabtextcolor = 33554432 long tabbackcolor = 134217739 string picturename = "p45workgroup.ico" long picturemaskcolor = 536870912 lv_in_fj lv_in_fj end type on tabpage_6.create this.lv_in_fj=create lv_in_fj this.Control[]={this.lv_in_fj} end on on tabpage_6.destroy destroy(this.lv_in_fj) end on type lv_in_fj from uo_msg_lv within tabpage_6 integer width = 2583 integer height = 904 integer taborder = 30 end type type dw_get from u_dw_rbtnfilter within tabpage_1 integer width = 2619 integer height = 788 integer taborder = 20 string dataobject = "dw_deal_admsg_2" boolean hscrollbar = true boolean vscrollbar = true end type event rowfocuschanged;call super::rowfocuschanged;string char_enter,ls_s_msg,ls_msg long ll_msgid,ll_empid,ll_senddtint char_enter=char(13)+char(10) tab_1.tabpage_1.tab_3.tabpage_6.lv_in_fj.deleteitems( ) if(currentrow>0) then this.selectrow( 0, false) this.selectrow( currentrow, true) tab_1.tabpage_1.tab_3.tabpage_5.mle_in_msg.text='' ll_msgid = this.Object.sys_admsgmx_msgid[currentrow] ll_empid = this.Object.sys_admsgmx_empid[currentrow] ll_senddtint = this.Object.sys_admsgmx_senddtint[currentrow] SELECT s_msg INTO :ls_s_msg FROM Sys_admsgmx WHERE Sys_admsgmx.msgid = :ll_msgid AND Sys_admsgmx.empid = :ll_empid AND Sys_admsgmx.senddtint = :ll_senddtint; IF sqlca.SQLCode <> 0 THEN ls_s_msg = '' ls_msg = '**'+this.Object.sys_admsgmx_s_msgtitle[currentrow]+'**' + char_enter + " "+ls_s_msg //dw_msg_rec.object.sys_admsgmx_s_msg [row] tab_1.tabpage_1.tab_3.tabpage_5.mle_in_msg.text = ls_msg //附件列表 Long count,ls_i Long ll_arr_fjid[] Int li_arr_filetype[] String ls_arr_filename[] listviewitem l_lvi DECLARE fj_cur CURSOR FOR SELECT fjid, filename, filetype FROM Sys_admsg_fj Where ( Sys_admsg_fj.msgid = :ll_msgid ); OPEN fj_cur; count = 1 FETCH fj_cur INTO :ll_arr_fjid[count],& :ls_arr_filename[count],& :li_arr_filetype[count]; DO WHILE sqlca.SQLCode = 0 count++ FETCH fj_cur INTO :ll_arr_fjid[count],& :ls_arr_filename[count],& :li_arr_filetype[count]; LOOP count = count - 1 CLOSE fj_cur; if count > 0 then tab_1.tabpage_1.tab_3.tabpage_6.text='附件('+string(count)+')' else tab_1.tabpage_1.tab_3.tabpage_6.text = '附件' end if FOR ls_i = 1 TO count l_lvi.Label = ls_arr_filename[ls_i] l_lvi.Data = ll_arr_fjid[ls_i] IF li_arr_filetype[ls_i] = 1 THEN //超链接时用第二种图标 l_lvi.PictureIndex = 2 ELSE l_lvi.PictureIndex = 1 END IF tab_1.tabpage_1.tab_3.tabpage_6.lv_in_fj.InsertItem(ls_i,l_lvi) NEXT end if end event event clicked;call super::clicked;if row<=0 then return if(row>0) then this.selectrow( 0, false) this.selectrow( row, true) this.setrow(row) end if end event type tabpage_2 from userobject within tab_1 integer x = 18 integer y = 112 integer width = 2619 integer height = 1816 long backcolor = 134217739 string text = "发信息" long tabtextcolor = 33554432 long tabbackcolor = 134217739 string picturename = "graphics\newsout.BMP" long picturemaskcolor = 536870912 tab_2 tab_2 dw_send dw_send end type on tabpage_2.create this.tab_2=create tab_2 this.dw_send=create dw_send this.Control[]={this.tab_2,& this.dw_send} end on on tabpage_2.destroy destroy(this.tab_2) destroy(this.dw_send) end on type tab_2 from tab within tabpage_2 integer y = 792 integer width = 2619 integer height = 1028 integer taborder = 30 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long backcolor = 134217739 boolean raggedright = true boolean focusonbuttondown = true integer selectedtab = 1 tabpage_3 tabpage_3 tabpage_4 tabpage_4 tabpage_7 tabpage_7 end type on tab_2.create this.tabpage_3=create tabpage_3 this.tabpage_4=create tabpage_4 this.tabpage_7=create tabpage_7 this.Control[]={this.tabpage_3,& this.tabpage_4,& this.tabpage_7} end on on tab_2.destroy destroy(this.tabpage_3) destroy(this.tabpage_4) destroy(this.tabpage_7) end on type tabpage_3 from userobject within tab_2 integer x = 18 integer y = 112 integer width = 2583 integer height = 900 long backcolor = 134217739 string text = "内容" long tabtextcolor = 33554432 long tabbackcolor = 134217739 string picturename = "graphics\content.bmp" long picturemaskcolor = 536870912 mle_out_msg mle_out_msg end type on tabpage_3.create this.mle_out_msg=create mle_out_msg this.Control[]={this.mle_out_msg} end on on tabpage_3.destroy destroy(this.mle_out_msg) end on type mle_out_msg from multilineedit within tabpage_3 integer width = 2578 integer height = 904 integer taborder = 30 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 boolean displayonly = true borderstyle borderstyle = stylelowered! end type type tabpage_4 from userobject within tab_2 integer x = 18 integer y = 112 integer width = 2583 integer height = 900 long backcolor = 134217739 string text = "附件" long tabtextcolor = 33554432 long tabbackcolor = 134217739 string picturename = "p45workgroup.ico" long picturemaskcolor = 536870912 lv_out_fj lv_out_fj end type on tabpage_4.create this.lv_out_fj=create lv_out_fj this.Control[]={this.lv_out_fj} end on on tabpage_4.destroy destroy(this.lv_out_fj) end on type lv_out_fj from uo_msg_lv within tabpage_4 integer width = 2583 integer height = 904 integer taborder = 30 end type type tabpage_7 from userobject within tab_2 integer x = 18 integer y = 112 integer width = 2583 integer height = 900 long backcolor = 134217739 string text = "确认列表" long tabtextcolor = 33554432 long tabbackcolor = 134217739 string picturename = "graphics\people.bmp" long picturemaskcolor = 536870912 dw_commit dw_commit end type on tabpage_7.create this.dw_commit=create dw_commit this.Control[]={this.dw_commit} end on on tabpage_7.destroy destroy(this.dw_commit) end on type dw_commit from u_dw_rbtnfilter within tabpage_7 integer y = 8 integer width = 2578 integer height = 904 integer taborder = 20 string dataobject = "dw_objdpm_user_cmmt_1" end type type dw_send from u_dw_rbtnfilter within tabpage_2 integer width = 2619 integer height = 788 integer taborder = 20 string dataobject = "dw_hismsg_1" boolean hscrollbar = true boolean vscrollbar = true end type event clicked;call super::clicked;if row<=0 then return if(row>0) then this.selectrow( 0, false) this.selectrow( row, true) this.setrow(row) end if end event event rowfocuschanged;call super::rowfocuschanged;IF currentrow <= 0 THEN RETURN Long ls_msgid //*********************** String char_enter,ls_msg,ls_s_msg Long ls_empid,ls_senddtint char_enter = Char(13)+Char(10) tab_1.tabpage_2.tab_2.tabpage_4.lv_out_fj.deleteitems( ) tab_1.tabpage_2.tab_2.tabpage_3.mle_out_msg.text='' IF currentrow > 0 THEN this.SetRow(currentrow) this.SelectRow(0,FALSE) this.SelectRow(currentrow,TRUE) ls_msgid = this.Object.msgid[currentrow] ls_empid = this.Object.sendempid[currentrow] tab_1.tabpage_2.tab_2.tabpage_7.dw_commit.retrieve(ls_msgid) // ls_senddtint=this.object.senddtint[currentrow] SELECT s_msg INTO :ls_s_msg FROM Sys_admsg WHERE Sys_admsg.msgid = :ls_msgid; IF sqlca.SQLCode <> 0 THEN ls_s_msg = '' ls_msg = '**'+this.Object.s_msgtitle[currentrow]+'**' + char_enter + " "+ls_s_msg //dw_hismsg.object.s_msg [row] tab_1.tabpage_2.tab_2.tabpage_3.mle_out_msg.text=ls_msg //附件列表 Long count,ls_i Long ll_arr_fjid[] Int li_arr_filetype[] String ls_arr_filename[] listviewitem l_lvi DECLARE fj_cur CURSOR FOR SELECT fjid, filename, filetype FROM Sys_admsg_fj Where ( Sys_admsg_fj.msgid = :ls_msgid ); OPEN fj_cur; count = 1 FETCH fj_cur INTO :ll_arr_fjid[count],& :ls_arr_filename[count],& :li_arr_filetype[count]; DO WHILE sqlca.SQLCode = 0 count++ FETCH fj_cur INTO :ll_arr_fjid[count],& :ls_arr_filename[count],& :li_arr_filetype[count]; LOOP count = count - 1 CLOSE fj_cur; if count > 0 then tab_1.tabpage_2.tab_2.tabpage_4.text = '附件('+string(count)+')' else tab_1.tabpage_2.tab_2.tabpage_4.text = '附件' end if FOR ls_i = 1 TO count l_lvi.Label = ls_arr_filename[ls_i] l_lvi.Data = ll_arr_fjid[ls_i] IF li_arr_filetype[ls_i] = 1 THEN //超链接时用第二种图标 l_lvi.PictureIndex = 2 ELSE l_lvi.PictureIndex = 1 END IF tab_1.tabpage_2.tab_2.tabpage_4.lv_out_fj.InsertItem(ls_i,l_lvi) NEXT END IF end event type em_first from editmask within w_msg_his integer x = 1138 integer y = 8 integer width = 402 integer height = 84 integer taborder = 20 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 string text = "none" borderstyle borderstyle = stylelowered! maskdatatype maskdatatype = datetimemask! string mask = "yyyy-mm-dd" boolean spin = true end type type em_end from editmask within w_msg_his integer x = 1632 integer y = 8 integer width = 402 integer height = 84 integer taborder = 30 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 string text = "none" borderstyle borderstyle = stylelowered! maskdatatype maskdatatype = datetimemask! string mask = "yyyy-mm-dd" boolean spin = true end type type st_1 from statictext within w_msg_his integer x = 901 integer y = 24 integer width = 233 integer height = 48 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 st_2 from statictext within w_msg_his integer x = 1559 integer y = 28 integer width = 69 integer height = 48 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_retrieve from uo_imflatbutton within w_msg_his integer width = 293 integer taborder = 20 boolean bringtotop = true string text = "刷新" string normalpicname = "refresh.bmp" end type event clicked;call super::clicked;wf_retrieve() end event type cb_delmsg from uo_imflatbutton within w_msg_his boolean visible = false integer x = 2277 integer y = 112 integer height = 92 integer taborder = 40 boolean bringtotop = true string text = "删除" string normalpicname = "DELETE.BMP" integer picsize = 16 end type event clicked;call super::clicked;Long cnt ,ll_i Long ll_row,ll_msgid,ll_pid Long ll_cnt Long ll_fail = 0,ll_suc = 0 Long ll_cnt_lp = 0 String ls_msgtitle String arg_msg cnt = 0 FOR ll_i = 1 TO tab_1.tabpage_2.dw_send.RowCount() IF tab_1.tabpage_2.dw_send.Object.ch[ll_i] = 1 THEN cnt++ END IF NEXT IF cnt = 0 THEN ll_row = tab_1.tabpage_2.dw_send.GetRow() IF ll_row <= 0 THEN MessageBox('系统提示','请选定要删除的信息') RETURN END IF IF MessageBox ("询问","是否确定要删除当前的信息?",Question!,YesNo! ) = 2 THEN RETURN ll_msgid = tab_1.tabpage_2.dw_send.Object.msgid[ll_row] //检查该信息除超级用户外是否全部收信人都已确认 ll_cnt = 0 SELECT count(*) INTO :ll_cnt FROM Sys_admsgmx WHERE msgid = :ll_msgid AND dealflag = 0 AND empid <> 0 ; IF sqlca.SQLCode <> 0 THEN MessageBox('系统提示','查询该信息的收信人是否全部确认失败,'+sqlca.SQLErrText) RETURN END IF IF ll_cnt > 0 THEN MessageBox('系统提示','该信息还有收信人没有确认,不允许删除') RETURN END IF //检查通过,可能删除.删除发信,收信,附件 DELETE FROM Sys_admsg Where msgid = :ll_msgid; IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('Error','删除信息失败,'+sqlca.SQLErrText) RETURN END IF DELETE FROM Sys_admsgmx Where msgid = :ll_msgid; IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('Error','删除信息的收信列表失败,'+sqlca.SQLErrText) RETURN END IF DELETE FROM Sys_admsg_fj Where msgid = :ll_msgid; IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('Error','删除信息的附件失败,'+sqlca.SQLErrText) RETURN END IF COMMIT; MessageBox('系统提示','删除信息成功') cb_retrieve.TriggerEvent(Clicked!) ELSE IF MessageBox ("询问","是否确定要删除当前选中的信息?",Question!,YesNo! ) = 2 THEN RETURN Open(w_sys_wait_jdt) //初始化进度条 w_sys_wait_jdt.Show() w_sys_wait_jdt.wf_accepttol(cnt) FOR ll_i = 1 TO tab_1.tabpage_2.dw_send.RowCount() IF tab_1.tabpage_2.dw_send.Object.ch[ll_i] = 1 THEN ll_msgid = tab_1.tabpage_2.dw_send.Object.msgid[ll_i] ll_pid = tab_1.tabpage_2.dw_send.Object.pid[ll_i] ls_msgtitle = tab_1.tabpage_2.dw_send.Object.s_msgtitle[ll_i] ll_cnt_lp++ w_sys_wait_jdt.st_msg.Text = '第'+ String(ll_pid)+'行信息正在操作...' //进度信息 w_sys_wait_jdt.wf_inc(ll_cnt_lp) //检查该信息除超级用户外是否全部收信人都已确认 ll_cnt = 0 SELECT count(*) INTO :ll_cnt FROM Sys_admsgmx WHERE msgid = :ll_msgid AND dealflag = 0 AND empid <> 0 and empid in (select empid from u_user); IF sqlca.SQLCode <> 0 THEN arg_msg = arg_msg + string(ll_pid)+ls_msgtitle +' 失败原因:查询该信息的收信人是否全部确认失败,'+sqlca.SQLErrText + '~r~n' ll_fail++ CONTINUE END IF IF ll_cnt > 0 THEN arg_msg = arg_msg + string(ll_pid)+ ls_msgtitle +' 失败原因:该信息还有收信人没有确认,不允许删除'+ '~r~n' ll_fail++ CONTINUE END IF //检查通过,可能删除.删除发信,收信,附件 DELETE FROM Sys_admsg Where msgid = :ll_msgid; IF sqlca.SQLCode <> 0 THEN ROLLBACK; arg_msg = arg_msg + string(ll_pid)+ ls_msgtitle +' 失败原因:'+sqlca.SQLErrText+ '~r~n' ll_fail++ CONTINUE END IF DELETE FROM Sys_admsgmx Where msgid = :ll_msgid; IF sqlca.SQLCode <> 0 THEN ROLLBACK; arg_msg = arg_msg + string(ll_pid)+ ls_msgtitle +' 失败原因:删除信息的收信列表失败,'+sqlca.SQLErrText + '~r~n' ll_fail++ CONTINUE END IF DELETE FROM Sys_admsg_fj Where msgid = :ll_msgid; IF sqlca.SQLCode <> 0 THEN ROLLBACK; arg_msg = arg_msg + string(ll_pid)+ ls_msgtitle +' 失败原因:删除信息的附件失败,'+sqlca.SQLErrText + '~r~n' ll_fail++ CONTINUE END IF ll_suc++ COMMIT; END IF NEXT Close(w_sys_wait_jdt) MessageBox(publ_operator,'批删除操作完成!成功:'+String(ll_suc)+',失败:'+String(ll_fail)) IF ll_fail > 0 THEN OpenWithParm(w_message_err,arg_msg) END IF cb_retrieve.TriggerEvent(Clicked!) END IF end event type cbx_all from checkbox within w_msg_his boolean visible = false integer x = 2025 integer y = 128 integer width = 238 integer height = 60 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 = "全选" end type event clicked;Long ll_i IF THIS.Checked THEN FOR ll_i = 1 TO tab_1.tabpage_2.dw_send.RowCount() tab_1.tabpage_2.dw_send.Object.ch[ll_i] = 1 NEXT ELSE FOR ll_i = 1 TO tab_1.tabpage_2.dw_send.RowCount() tab_1.tabpage_2.dw_send.Object.ch[ll_i] = 0 NEXT END IF end event