$PBExportHeader$w_gz_wage.srw forward global type w_gz_wage from w_publ_base end type type st_421 from statictext within w_gz_wage end type type em_mth from editmask within w_gz_wage end type type dw_wagemx from datawindow within w_gz_wage end type type sle_dscrp_pe from singlelineedit within w_gz_wage end type type dw_wage from u_dw_rbtnfilter within w_gz_wage end type type gb_2 from groupbox within w_gz_wage end type type cbx_hl_bz from checkbox within w_gz_wage end type type cb_dealwagemx from uo_imflatbutton within w_gz_wage end type type cb_init from uo_imflatbutton within w_gz_wage end type type cb_auditing from uo_imflatbutton within w_gz_wage end type type cb_uninit from uo_imflatbutton within w_gz_wage end type type cb_wagerpt from uo_imflatbutton within w_gz_wage end type type cb_addemp from uo_imflatbutton within w_gz_wage end type type tv_1 from uo_tv_deptype within w_gz_wage end type type ddlb_scid from uo_ddlb_scid within w_gz_wage end type type cb_delemp from uo_imflatbutton within w_gz_wage end type type cb_retrieve from uo_imflatbutton within w_gz_wage end type type cb_cancel from uo_imflatbutton within w_gz_wage end type type cb_wage_edit from uo_imflatbutton within w_gz_wage end type type cb_fillbz from uo_imflatbutton within w_gz_wage end type type cb_help from uo_imflatbutton within w_gz_wage end type type cb_other from uo_imflatbutton within w_gz_wage end type type st_5 from statictext within w_gz_wage end type type ddlb_1 from dropdownlistbox within w_gz_wage end type type r_bar from rectangle within w_gz_wage end type type ln_bar from line within w_gz_wage end type type ln_bar2 from line within w_gz_wage end type type ln_1 from line within w_gz_wage end type type ln_2 from line within w_gz_wage end type end forward global type w_gz_wage from w_publ_base integer x = 46 integer y = 48 integer width = 3611 integer height = 2380 string title = "工资表" boolean maxbox = true windowstate windowstate = maximized! boolean if_ue_filter = true boolean if_ue_sort = true boolean if_ue_sentdataout = true event ue_addemp ( ) event ue_autoaddemp ( ) event ue_basepay ( ) event ue_view_gzb ( ) event ue_p_dscrp ( ) st_421 st_421 em_mth em_mth dw_wagemx dw_wagemx sle_dscrp_pe sle_dscrp_pe dw_wage dw_wage gb_2 gb_2 cbx_hl_bz cbx_hl_bz cb_dealwagemx cb_dealwagemx cb_init cb_init cb_auditing cb_auditing cb_uninit cb_uninit cb_wagerpt cb_wagerpt cb_addemp cb_addemp tv_1 tv_1 ddlb_scid ddlb_scid cb_delemp cb_delemp cb_retrieve cb_retrieve cb_cancel cb_cancel cb_wage_edit cb_wage_edit cb_fillbz cb_fillbz cb_help cb_help cb_other cb_other st_5 st_5 ddlb_1 ddlb_1 r_bar r_bar ln_bar ln_bar ln_bar2 ln_bar2 ln_1 ln_1 ln_2 ln_2 end type global w_gz_wage w_gz_wage type variables datastore ds_wageitem uo_wage uo_mthwage String ls_handtype = '' long cur_deptid Long cur_scid Long cur_scid_arr[] Boolean if_power_sendout = true Boolean if_power_print = true long cur_wagemth end variables forward prototypes public function integer wf_refresh_face () public function integer wf_retrieve_mx () public function integer wf_retrieve () public function integer wf_retr_wageitem () public function long wf_getwageitemid (string arg_wagename) public function integer wf_init_gzmonth () end prototypes event ue_addemp();s_empselect_open s_trans string errmsg s_trans.empcode='' s_trans.wagemth=long(em_mth.text) s_trans.dispall=false if not isvalid(w_empinfo_choice) then OPENwithparm(w_empinfo_choice,s_trans) s_empselect s_select s_select=Message.PowerObjectParm //接受返回结构 IF s_select.empid>0 THEN if uo_mthwage.f_addemp(long(em_mth.text),s_select.empid,errmsg,true)=0 then MEssagebox('提示',errmsg, Information!, OK! ) return end if if uo_mthwage.f_init(cur_scid,long(em_mth.text),errmsg)=0 then MEssagebox('提示',errmsg, Information!, OK! ) return end if wf_retrieve() messagebox('提示','增加人员成功!', Information!, OK! ) END IF end if end event event ue_autoaddemp();long ls_empid,arg_empid[],i,k long count,ls_wagemth,ls_year,ls_month string errmsg="" boolean if_exist ls_wagemth=long(em_mth.text) ls_year = long(left(em_mth.text,4)) ls_month = long(right(em_mth.text,2)) count=0 ////查询计件单 //DECLARE pf_cur CURSOR FOR //SELECT distinct u_sc_taskworkmx.empid // FROM u_sc_taskworkmx,u_sc_taskwork // where u_sc_taskwork.billid = u_sc_taskworkmx.billid // and year(u_sc_taskwork.Billdate) = :ls_year // and month(u_sc_taskwork.Billdate) = :ls_month // and u_sc_taskworkmx.empid not in // (select u_gz_wage.empid // from u_gz_wage // where u_gz_wage.wagemth=:ls_wagemth); //open pf_cur; //fetch pf_cur into :ls_empid; // //do while sqlca.sqlcode=0 // count++ // arg_empid[count]=ls_empid // fetch pf_cur into :ls_empid; //loop //close pf_cur; //查询异常计件单 if_exist = false DECLARE paf_cur CURSOR FOR SELECT distinct u_sc_abnormitymx.empid FROM u_sc_abnormitymx,u_sc_abnormity where u_sc_abnormity.billid = u_sc_abnormitymx.billid and year(u_sc_abnormity.Billdate) = :ls_year and month(u_sc_abnormity.Billdate) = :ls_month and u_sc_abnormitymx.empid not in (select u_gz_wage.empid from u_gz_wage where u_gz_wage.wagemth=:ls_wagemth); open paf_cur; fetch paf_cur into :ls_empid; do while sqlca.sqlcode=0 if_exist = false for k = 1 to count if arg_empid[k] = ls_empid then if_exist = true end if next if if_exist = false then count++ arg_empid[count]=ls_empid end if fetch paf_cur into :ls_empid; loop close paf_cur; //查询奖罚单 if_exist = false DECLARE pcf_cur CURSOR FOR SELECT distinct u_gz_award_punish.empid FROM u_gz_award_punish where u_gz_award_punish.wagemth = :ls_wagemth and u_gz_award_punish.empid not in (select u_gz_wage.empid from u_gz_wage where u_gz_wage.wagemth=:ls_wagemth); open pcf_cur; fetch pcf_cur into :ls_empid; do while sqlca.sqlcode=0 if_exist = false for k = 1 to count if arg_empid[k] = ls_empid then if_exist = true end if next if if_exist = false then count++ arg_empid[count]=ls_empid end if fetch pcf_cur into :ls_empid; loop close pcf_cur; //查询考勤单 if_exist = false DECLARE pdf_cur CURSOR FOR SELECT distinct u_gz_cwork.empid FROM u_gz_cwork where u_gz_cwork.wagemth = :ls_wagemth and u_gz_cwork.empid not in (select u_gz_wage.empid from u_gz_wage where u_gz_wage.wagemth=:ls_wagemth); open pdf_cur; fetch pdf_cur into :ls_empid; do while sqlca.sqlcode=0 if_exist = false for k = 1 to count if arg_empid[k] = ls_empid then if_exist = true end if next if if_exist = false then count++ arg_empid[count]=ls_empid end if fetch pdf_cur into :ls_empid; loop close pdf_cur; open(w_sys_wait_jdt) //初始化进度条 w_sys_wait_jdt.wf_accepttol(count) for i=1 to count w_sys_wait_jdt.wf_inc(i) w_sys_wait_jdt.st_msg.text="正在读取..." if arg_empid[i]>0 then if uo_mthwage.f_addemp(long(em_mth.text),arg_empid[i],errmsg,false)=0 then messagebox('提示',errmsg, Information!, OK! ) return end if end if next commit; close(w_sys_wait_jdt) if uo_mthwage.f_init(cur_scid,long(em_mth.text),errmsg)=0 then MEssagebox('提示',errmsg, Information!, OK! ) return end if count=0 messagebox('提示','增加人员成功!', Information!, OK! ) wf_retrieve() end event event ue_basepay();IF NOT f_power_ind(1457) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF s_wageeditw_open s_wageedit_tran s_wageedit_tran.handtype = ls_handtype s_wageedit_tran.scid_arr = cur_scid_arr s_wageedit_tran.scid = cur_scid OpenWithParm(w_gz_wage_basepay_edit,s_wageedit_tran) end event event ue_view_gzb;f_sys_main(706) end event event ue_p_dscrp();String ls_str Long i Open(w_ue_pt_alter_dscrp) ls_str = Message.StringParm IF ls_str <> '' THEN FOR i = 1 To dw_wage.RowCount() dw_wage.Object.u_gz_wage_dscrp[i] = ls_str NEXT END IF end event public function integer wf_refresh_face ();//wf_refresh_face IF dw_edit_mode THEN cb_cancel.Enabled = TRUE cb_wage_edit.Text = '保存' cb_wage_edit.normalpicname = 'save.bmp' cb_init.Enabled = FALSE cb_uninit.Enabled = FALSE sle_dscrp_pe.Enabled = TRUE cb_fillbz.Enabled = TRUE cbx_hl_bz.Enabled = TRUE cb_auditing.Enabled = FALSE cb_wagerpt.Enabled = FALSE cb_func.Enabled = FALSE em_mth.Enabled = FALSE cb_retrieve.Enabled = FALSE cb_addemp.Enabled = FALSE cb_delemp.Enabled = FALSE dw_wage.SetTabOrder(1,10) dw_wage.SetTabOrder(2,20) dw_wage.SetTabOrder(3,30) ELSE cb_cancel.Enabled = FALSE cb_wage_edit.Text = '修改' cb_wage_edit.normalpicname = 'OPEN.bmp' sle_dscrp_pe.Enabled = FALSE cb_fillbz.Enabled = FALSE cbx_hl_bz.Enabled = FALSE cb_auditing.Enabled = TRUE cb_wagerpt.Enabled = TRUE cb_func.Enabled = TRUE em_mth.Enabled = TRUE cb_retrieve.Enabled = TRUE cb_addemp.Enabled = TRUE cb_delemp.Enabled = TRUE dw_wage.SetTabOrder(1,0) dw_wage.SetTabOrder(2,0) dw_wage.SetTabOrder(3,0) IF dw_wage.RowCount() > 0 THEN IF dw_wage.Object.u_gz_wage_auditingflag[1] = 0 THEN cb_auditing.Text = '审核' cb_init.Enabled = TRUE cb_uninit.Enabled = TRUE ELSE cb_auditing.Text = '撤审' cb_init.Enabled = FALSE cb_uninit.Enabled = FALSE END IF ELSE cb_auditing.Text = '审核' cb_init.Enabled = TRUE cb_uninit.Enabled = TRUE END IF cb_auditing.TriggerEvent('ue_textchange') END IF cb_wage_edit.of_init_draw() cb_wage_edit.of_paint() cb_wage_edit.TriggerEvent('ue_textchange') RETURN 0 end function public function integer wf_retrieve_mx ();//wf_retrieve_mx long ls_row,ls_newrow ls_row=dw_wage.getrow() if ls_row<=0 then dw_wagemx.reset() return 0 else dw_wagemx.retrieve(dw_wage.object.u_gz_wage_empid[ls_row],dw_wage.object.u_gz_wage_wagemth[ls_row]) end if for ls_row=1 to ds_wageitem.rowcount() if dw_wagemx.find('u_gz_wagemx_wageid='+string(ds_wageitem.object.wageid[ls_row]),1,dw_wagemx.rowcount())=0 then ls_newrow=dw_wagemx.insertrow(0) dw_wagemx.object.u_gz_wageitem_wagename[ls_newrow]=ds_wageitem.object.wagename[ls_row] dw_wagemx.object.u_gz_wageitem_wagetype[ls_newrow]=ds_wageitem.object.wagetype[ls_row] dw_wagemx.object.u_gz_wageitem_wagemode[ls_newrow]=ds_wageitem.object.wagemode[ls_row] dw_wagemx.object.u_gz_wagemx_wageid[ls_newrow]=ds_wageitem.object.wageid[ls_row] end if next // u_gz_wageitem_wagename u_gz_wageitem_wagetype u_gz_wageitem_wagemode u_gz_wagemx_wageid // u_gz_wage_auditingflag // return 0 end function public function integer wf_retrieve ();//wf_retrieve //long wagemth //wagemth=long(em_mth.text) cur_wagemth = long(em_mth.text) dw_wage.retrieve(cur_wagemth,ls_handtype,cur_scid_arr) wf_retrieve_mx() wf_refresh_face() return 0 end function public function integer wf_retr_wageitem ();//wf_retr_wageitem long ls_s ds_wageitem.retrieve() //ddlb_wageitem.reset() //for ls_s=1 to ds_wageitem.rowcount() // ddlb_wageitem.ADDItem(ds_wageitem.object.wagename[ls_s]) //next return 0 end function public function long wf_getwageitemid (string arg_wagename);//wf_getwageitemid long ls_wageid=0,ls_i for ls_i=1 to ds_wageitem.rowcount() if ds_wageitem.object.wagename[ls_i]=arg_wagename then return ds_wageitem.object.wageid[ls_i] end if next return ls_wageid end function public function integer wf_init_gzmonth ();long ll_wagemth ddlb_1.setredraw(false) ddlb_1.reset() DECLARE cur_wagemth CURSOR FOR SELECT DISTINCT (wagemth) FROM u_gz_wage order by wagemth desc; OPEN cur_wagemth; FETCH cur_wagemth INTO :ll_wagemth; cur_wagemth = ll_wagemth DO WHILE sqlca.SQLCode = 0 //循环读取明细数据 ddlb_1.AddItem (string(ll_wagemth)) FETCH cur_wagemth INTO :ll_wagemth; LOOP CLOSE cur_wagemth; ddlb_1.Text = string(cur_wagemth) ddlb_1.setredraw(true) return 1 end function on w_gz_wage.create int iCurrent call super::create this.st_421=create st_421 this.em_mth=create em_mth this.dw_wagemx=create dw_wagemx this.sle_dscrp_pe=create sle_dscrp_pe this.dw_wage=create dw_wage this.gb_2=create gb_2 this.cbx_hl_bz=create cbx_hl_bz this.cb_dealwagemx=create cb_dealwagemx this.cb_init=create cb_init this.cb_auditing=create cb_auditing this.cb_uninit=create cb_uninit this.cb_wagerpt=create cb_wagerpt this.cb_addemp=create cb_addemp this.tv_1=create tv_1 this.ddlb_scid=create ddlb_scid this.cb_delemp=create cb_delemp this.cb_retrieve=create cb_retrieve this.cb_cancel=create cb_cancel this.cb_wage_edit=create cb_wage_edit this.cb_fillbz=create cb_fillbz this.cb_help=create cb_help this.cb_other=create cb_other this.st_5=create st_5 this.ddlb_1=create ddlb_1 this.r_bar=create r_bar this.ln_bar=create ln_bar this.ln_bar2=create ln_bar2 this.ln_1=create ln_1 this.ln_2=create ln_2 iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.st_421 this.Control[iCurrent+2]=this.em_mth this.Control[iCurrent+3]=this.dw_wagemx this.Control[iCurrent+4]=this.sle_dscrp_pe this.Control[iCurrent+5]=this.dw_wage this.Control[iCurrent+6]=this.gb_2 this.Control[iCurrent+7]=this.cbx_hl_bz this.Control[iCurrent+8]=this.cb_dealwagemx this.Control[iCurrent+9]=this.cb_init this.Control[iCurrent+10]=this.cb_auditing this.Control[iCurrent+11]=this.cb_uninit this.Control[iCurrent+12]=this.cb_wagerpt this.Control[iCurrent+13]=this.cb_addemp this.Control[iCurrent+14]=this.tv_1 this.Control[iCurrent+15]=this.ddlb_scid this.Control[iCurrent+16]=this.cb_delemp this.Control[iCurrent+17]=this.cb_retrieve this.Control[iCurrent+18]=this.cb_cancel this.Control[iCurrent+19]=this.cb_wage_edit this.Control[iCurrent+20]=this.cb_fillbz this.Control[iCurrent+21]=this.cb_help this.Control[iCurrent+22]=this.cb_other this.Control[iCurrent+23]=this.st_5 this.Control[iCurrent+24]=this.ddlb_1 this.Control[iCurrent+25]=this.r_bar this.Control[iCurrent+26]=this.ln_bar this.Control[iCurrent+27]=this.ln_bar2 this.Control[iCurrent+28]=this.ln_1 this.Control[iCurrent+29]=this.ln_2 end on on w_gz_wage.destroy call super::destroy destroy(this.st_421) destroy(this.em_mth) destroy(this.dw_wagemx) destroy(this.sle_dscrp_pe) destroy(this.dw_wage) destroy(this.gb_2) destroy(this.cbx_hl_bz) destroy(this.cb_dealwagemx) destroy(this.cb_init) destroy(this.cb_auditing) destroy(this.cb_uninit) destroy(this.cb_wagerpt) destroy(this.cb_addemp) destroy(this.tv_1) destroy(this.ddlb_scid) destroy(this.cb_delemp) destroy(this.cb_retrieve) destroy(this.cb_cancel) destroy(this.cb_wage_edit) destroy(this.cb_fillbz) destroy(this.cb_help) destroy(this.cb_other) destroy(this.st_5) destroy(this.ddlb_1) destroy(this.r_bar) destroy(this.ln_bar) destroy(this.ln_bar2) destroy(this.ln_1) destroy(this.ln_2) end on event open;call super::open;em_mth.text=string(today(),'yyyymm') if_power_sendout = f_power_ind(1505) wf_init_gzmonth() wf_retrieve() end event event ue_before_open;if_ue_filter=true if_ue_sort=true uo_mthwage= create uo_wage dw_wage.settransobject(sqlca) dw_wagemx.settransobject(sqlca) ds_wageitem=create datastore ds_wageitem.settransobject(sqlca) ds_wageitem.dataobject='dw_mthwage_edit_st_wageitem' end event event ue_filter;call super::ue_filter;OPENWITHPARM(w_filter_query,dw_wage) STRING LS_EXPR LS_EXPR=Message.StringParm if len(LS_EXPR)>2 and trim(LS_EXPR)='' then return dw_wage.setfilter(LS_EXPR) dw_wage.SetRedraw (false) dw_wage.filter() dw_wage.SetRedraw (TRUE) end event event ue_sort;call super::ue_sort;OPENwithparm(w_sortrow,dw_wage) STRING LS_EXPR LS_EXPR=Message.StringParm IF ISNULL(LS_EXPR) THEN LS_EXPR=' ' if len(LS_EXPR)>2 and trim(LS_EXPR)='' then return dw_wage.setsort(LS_EXPR) dw_wage.SetRedraw (false) dw_wage.sort() dw_wage.SetRedraw (true) end event event resize;call super::resize;ln_bar.EndX = THIS.Width ln_bar2.EndX = THIS.Width ln_1.EndX = THIS.Width ln_2.EndX = THIS.Width r_bar.Width = THIS.Width Long w_width,w_height w_width = 3600 w_height = 2300 IF newwidth < w_width THEN THIS.Width = w_width IF newheight < w_height THEN THIS.Height = w_height tv_1.Height = THIS.Height - (w_height - 1840) dw_wage.Width = THIS.Width - (w_width - 2747) dw_wage.Height = THIS.Height - (w_height - 796) gb_2.Y = THIS.Height - (w_height - 1116) dw_wagemx.Y = THIS.Height - (w_height - 1168) cb_dealwagemx.Y = THIS.Height - (w_height - 1168) end event event key;call super::key;if keydown(keyF1!) then this.triggerevent("ue_help") end event event ue_sentdataout;call super::ue_sentdataout;IF NOT if_power_sendout THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF OpenWithParm(w_sentdataout,dw_wage) end event type cb_func from w_publ_base`cb_func within w_gz_wage integer x = 165 integer height = 172 end type type cb_exit from w_publ_base`cb_exit within w_gz_wage integer x = 2816 integer width = 165 integer height = 172 integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type type st_421 from statictext within w_gz_wage integer x = 571 integer y = 212 integer width = 142 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 boolean enabled = false string text = "月份:" alignment alignment = right! boolean focusrectangle = false end type type em_mth from editmask within w_gz_wage integer x = 709 integer y = 196 integer width = 311 integer height = 92 integer taborder = 120 boolean bringtotop = true integer textsize = -10 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 borderstyle borderstyle = stylelowered! maskdatatype maskdatatype = datemask! string mask = "yyyymm" boolean spin = true end type type dw_wagemx from datawindow within w_gz_wage integer x = 832 integer y = 1168 integer width = 2085 integer height = 960 integer taborder = 160 boolean bringtotop = true string dataobject = "dw_mthwage_mx_list" boolean hscrollbar = true boolean vscrollbar = true boolean livescroll = true borderstyle borderstyle = stylelowered! end type event rowfocuschanged;long ls_mode IF currentrow >0 THEN this.selectrow(0,false) this.selectrow(currentrow,true) ls_mode= dw_wagemx.object.u_gz_wageitem_wagemode[currentrow] if ls_mode=0 then cb_dealwagemx.text='录入明细' else cb_dealwagemx.text='查询明细' end if cb_dealwagemx.triggerevent('ue_textchange') end if end event event clicked;IF row >0 THEN this.selectrow(0,false) this.selectrow(row,true) end if end event type sle_dscrp_pe from singlelineedit within w_gz_wage integer x = 1047 integer y = 196 integer width = 1097 integer height = 84 integer taborder = 170 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 boolean autohscroll = false borderstyle borderstyle = stylelowered! end type type dw_wage from u_dw_rbtnfilter within w_gz_wage integer x = 814 integer y = 308 integer width = 2747 integer height = 796 integer taborder = 30 boolean bringtotop = true string dataobject = "dw_mthwage_edit" boolean hscrollbar = true boolean vscrollbar = true end type event rowfocuschanged;IF currentrow >0 THEN this.selectrow(0,false) this.selectrow(currentrow,true) end if wf_retrieve_mx() end event event clicked;call super::clicked;IF row >0 THEN this.selectrow(0,false) this.selectrow(row,true) end if end event event constructor;call super::constructor; titleclick_sort_use=true //单击标题排序功能开关 RBUTTON_FILTER_USE=true //右键查询功能开关 end event event dwnkey;call super::dwnkey;parent.triggerevent("key") end event type gb_2 from groupbox within w_gz_wage integer x = 818 integer y = 1116 integer width = 2437 integer height = 1032 integer taborder = 130 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "工资明细项目" end type type cbx_hl_bz from checkbox within w_gz_wage integer x = 2158 integer y = 208 integer width = 485 integer height = 68 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 type cb_dealwagemx from uo_imflatbutton within w_gz_wage integer x = 2935 integer y = 1168 integer width = 297 integer height = 96 integer taborder = 180 boolean bringtotop = true string text = "录入明细" end type event clicked;call super::clicked;IF NOT f_power_ind(196) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF s_wageeditw_open s_wageedit_tran Long ll_row,ls_mode,li_row ll_row = dw_wagemx.GetRow() IF ll_row = 0 THEN MessageBox('提示',"请指定要操作的工资项目!", Information!, OK! ) RETURN END IF ls_mode = dw_wagemx.Object.u_gz_wageitem_wagemode[ll_row] s_wageedit_tran.wagename = dw_wagemx.Object.u_gz_wageitem_wagename[ll_row] s_wageedit_tran.wageid = dw_wagemx.Object.u_gz_wagemx_wageid[ll_row] s_wageedit_tran.wagemth = Long(em_mth.Text) s_wageedit_tran.deptid = cur_deptid s_wageedit_tran.handtype = ls_handtype s_wageedit_tran.scid_arr = cur_scid_arr s_wageedit_tran.scid = cur_scid CHOOSE CASE ls_mode CASE 0 OpenWithParm(w_gz_wage_mx0_edit,s_wageedit_tran) CASE 13,14,15,21,22,23,24 li_row = dw_wage.GetRow() IF ll_row = 0 THEN MessageBox('提示',"请选择人员!", Information!, OK! ) RETURN END IF s_wageedit_tran.empid = dw_wage.Object.u_gz_wage_empid[dw_wage.getrow()] s_wageedit_tran.empname = dw_wage.Object.u_rs_empinfo_empname[dw_wage.getrow()] // CHOOSE CASE ls_mode // CASE 13 // OpenWithParm(w_emp_mx_taskwork,s_wageedit_tran) // CASE 14 // OpenWithParm(w_emp_mx_abnormity,s_wageedit_tran) // CASE 15 // OpenWithParm(w_emp_mx_taskwork_group,s_wageedit_tran) // CASE 21 // OpenWithParm(w_emp_mx_loanwage,s_wageedit_tran) // CASE 22 // OpenWithParm(w_emp_mx_outware,s_wageedit_tran) // CASE 23 // OpenWithParm(w_emp_mx_award_punish,s_wageedit_tran) // CASE 24 // OpenWithParm(w_emp_mx_cwork,s_wageedit_tran) // END CHOOSE END CHOOSE end event type cb_init from uo_imflatbutton within w_gz_wage integer x = 329 integer width = 247 integer height = 172 integer taborder = 150 boolean bringtotop = true string text = "初始化" string normalpicname = "p1.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;IF NOT f_power_ind(196) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF IF MessageBox ("询问","是否确定要初始化["+em_mth.Text+"]的工资表?",Question!,YesNo! ) = 2 THEN RETURN END IF String arg_msg Long rslt rslt = uo_mthwage.f_init(cur_scid,Long(em_mth.Text),arg_msg) IF rslt = 0 THEN MessageBox('提示',arg_msg, Information!, OK! ) ELSE MessageBox('提示',"初始化成功!", Information!, OK! ) wf_init_gzmonth() wf_retrieve() END IF end event type cb_auditing from uo_imflatbutton within w_gz_wage integer x = 837 integer width = 165 integer height = 172 integer taborder = 150 boolean bringtotop = true string text = "审核" string normalpicname = "audit.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;IF NOT f_power_ind(196) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF String arg_msg Long rslt IF MessageBox ("IF","是否确定要"+THIS.Text+"["+em_mth.Text+trim(left(ddlb_scid.Text,pos(ddlb_scid.Text,'[')-1))+"]工资表吗?",Question!,YesNo! ) = 2 THEN RETURN END IF IF THIS.Text = '审核' THEN rslt = uo_mthwage.f_auditing ( Long(em_mth.Text),cur_scid,0,publ_operator,arg_msg ) ELSEIF THIS.Text = '撤审' THEN rslt = uo_mthwage.f_unauditing ( Long(em_mth.Text),cur_scid,0,publ_operator,arg_msg ) END IF IF rslt = 0 THEN MessageBox('提示',arg_msg, Information!, OK! ) ELSE MessageBox('提示',THIS.Text+"["+em_mth.Text+"]工资表操作成功!", Information!, OK! ) wf_retrieve() END IF end event type cb_uninit from uo_imflatbutton within w_gz_wage integer x = 576 integer width = 261 integer height = 172 integer taborder = 160 boolean bringtotop = true string text = "反初始化" string normalpicname = "p2.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;//未注册限制 IF sys_if_register = 0 THEN MessageBox('提示','未注册版本,不能反初始化!', Information!, OK! ) RETURN END IF IF NOT f_power_ind(196) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF String arg_msg Long rslt IF MessageBox ("询问","是否确定要删除["+em_mth.Text+"]工资表?~r~n(确认后数据将不可以恢复)",Question!,YesNo! ) = 2 THEN RETURN END IF rslt = uo_mthwage.f_uninit(cur_scid,Long(em_mth.Text),arg_msg) IF rslt = 0 THEN MessageBox('提示',arg_msg, Information!, OK! ) ELSE MessageBox('提示',"删除["+em_mth.Text+"]工资表操作成功!", Information!, OK! ) wf_init_gzmonth() wf_retrieve() END IF end event type cb_wagerpt from uo_imflatbutton within w_gz_wage integer x = 2345 integer width = 306 integer height = 172 integer taborder = 150 boolean bringtotop = true string text = "查看工资表" string normalpicname = "find2.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;parent.triggerevent("ue_view_gzb") end event type cb_addemp from uo_imflatbutton within w_gz_wage integer x = 1001 integer width = 247 integer height = 172 integer taborder = 150 boolean bringtotop = true string text = "增加人员" string normalpicname = "mx1.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;if not f_power_ind(196) then messagebox('提示','你没有使用权限!', Information!, OK! ) return end if m_Dfc_Control_PopupMenu dmPopupMenu string menustr menustr="Text=手工增加~tEvent=ue_addemp" menustr=menustr + "|" + "Text=自动增加~tEvent=ue_autoaddemp" if len(trim(menustr))<>0 then dmPopupMenu = Create m_Dfc_Control_PopupMenu dmPopupMenu.mf_BuildMenu(This, menustr) dmPopupMenu.mf_PopMenu() Destroy dmPopupMenu end if end event type tv_1 from uo_tv_deptype within w_gz_wage integer y = 308 integer width = 814 integer height = 1840 integer taborder = 60 boolean bringtotop = true integer textsize = -9 fontcharset fontcharset = gb2312charset! fontfamily fontfamily = anyfont! string facename = "宋体" end type event selectionchanged;call super::selectionchanged;ls_handtype = THIS.uo_cur_info.handtype cur_deptid = THIS.uo_cur_info.departmentid ls_handtype = ls_handtype + '%' cb_retrieve.TriggerEvent(Clicked!) end event type ddlb_scid from uo_ddlb_scid within w_gz_wage integer x = 9 integer y = 196 integer width = 517 integer height = 676 boolean bringtotop = true end type event constructor;call super::constructor;cur_scid = THIS.uo_scid cur_scid_arr = THIS.uo_scid_arr end event event selectionchanged;call super::selectionchanged;cur_scid = THIS.uo_scid cur_scid_arr = THIS.uo_scid_arr cb_retrieve.TriggerEvent(Clicked!) end event type cb_delemp from uo_imflatbutton within w_gz_wage integer x = 1248 integer width = 247 integer height = 172 integer taborder = 150 boolean bringtotop = true string text = "删除人员" string normalpicname = "mx2.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;if not f_power_ind(196) then messagebox('提示','你没有使用权限!', Information!, OK! ) return end if string ls_empcode,ls_empname,errmsg long ll_empid if dw_wage.rowcount()=0 then Messagebox('提示','没有可删除的记录!', Information!, OK! ) return end if ll_empid=dw_wage.object.u_gz_wage_empid[dw_wage.getrow()] ls_empcode=dw_wage.object.u_rs_empinfo_empcode[dw_wage.getrow()] ls_empname=dw_wage.object.u_rs_empinfo_empname[dw_wage.getrow()] IF MessageBox ("IF","是否确定从"+ em_mth.text+ "工资表中删除该人员[编号:"+ls_empcode+" 姓名:"+ls_empname+"]吗?",Question!,YesNo! ) =1 THEN if uo_mthwage.f_delemp(long(em_mth.text),ll_empid,errmsg,true)=0 then Messagebox('提示',errmsg, Information!, OK! ) return end if Messagebox('提示','删除成功!', Information!, OK! ) wf_retrieve() end if end event type cb_retrieve from uo_imflatbutton within w_gz_wage integer width = 165 integer height = 172 integer taborder = 150 string text = "刷新" string normalpicname = "refresh.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;wf_retrieve() end event type cb_cancel from uo_imflatbutton within w_gz_wage integer x = 1659 integer width = 165 integer height = 172 integer taborder = 40 boolean bringtotop = true string text = "放弃" string normalpicname = "undo.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;dw_edit_mode=false wf_retrieve() end event type cb_wage_edit from uo_imflatbutton within w_gz_wage integer x = 1495 integer width = 165 integer height = 172 integer taborder = 40 boolean bringtotop = true string text = "修改" string normalpicname = "open.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;if not f_power_ind(196) then messagebox('提示','你没有使用权限!', Information!, OK! ) return end if if dw_edit_mode then dw_wage.setfilter('') dw_wage.filter() dw_wage.accepttext() if dw_wage.update()=1 then commit; messagebox('提示','保存成功!', Information!, OK! ) else rollback; messagebox('提示','保存失败!', Information!, OK! ) end if end if dw_edit_mode=not dw_edit_mode wf_refresh_face() end event type cb_fillbz from uo_imflatbutton within w_gz_wage integer x = 1824 integer width = 247 integer height = 172 integer taborder = 50 boolean bringtotop = true string text = "更新备注" string normalpicname = "mx.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;if not dw_edit_mode then return long ls_i for ls_i=1 to dw_wage.rowcount() if cbx_hl_bz.checked then if trim(dw_wage.object.u_gz_wage_dscrp[ls_i])<>'' then dw_wage.object.u_gz_wage_dscrp[ls_i]=trim(sle_dscrp_pe.text) else dw_wage.object.u_gz_wage_dscrp[ls_i]=trim(sle_dscrp_pe.text) end if next // end event type cb_help from uo_imflatbutton within w_gz_wage string tag = "帮助[F1]" integer x = 2651 integer width = 165 integer height = 172 integer taborder = 20 boolean bringtotop = true string text = "帮助" string normalpicname = "help.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;parent.triggerevent("ue_help") end event type cb_other from uo_imflatbutton within w_gz_wage integer x = 2071 integer width = 274 integer height = 172 integer taborder = 160 boolean bringtotop = true string text = "辅助功能" string normalpicname = "other.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked; m_Dfc_Control_PopupMenu dmPopupMenu String menustr menustr = "Text=设定基本工资~tEvent=ue_basepay" menustr=menustr + "|" + "Text=-" menustr=menustr + "|" + "Text=查看工资表~tEvent=ue_view_gzb" if dw_edit_mode then menustr=menustr + "|" + "Text=批设置备注~tEvent=ue_p_dscrp" end if IF Len(Trim(menustr)) <> 0 THEN dmPopupMenu = CREATE m_Dfc_Control_PopupMenu dmPopupMenu.mf_BuildMenu(THIS, menustr) dmPopupMenu.mf_PopMenu() DESTROY dmPopupMenu END IF end event type st_5 from statictext within w_gz_wage integer x = 2702 integer y = 216 integer width = 233 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 = "月份列表" alignment alignment = right! boolean focusrectangle = false end type type ddlb_1 from dropdownlistbox within w_gz_wage integer x = 2944 integer y = 200 integer width = 475 integer height = 856 integer taborder = 130 boolean bringtotop = true integer textsize = -10 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 boolean sorted = false borderstyle borderstyle = stylelowered! end type event selectionchanged;em_mth.Text = this.Text cur_wagemth = long(this.Text) cb_retrieve.triggerevent(clicked!) end event type r_bar from rectangle within w_gz_wage long linecolor = 16777215 long fillcolor = 1073741824 integer x = 3200 integer width = 73 integer height = 172 end type event constructor;this.fillcolor = 14215660 this.linecolor = 14215660 this.x = -1 this.y = -1 this.height = ln_bar2.beginy - 5 end event type ln_bar from line within w_gz_wage long linecolor = 268435456 integer linethickness = 4 integer beginy = 176 integer endx = 3429 integer endy = 176 end type type ln_bar2 from line within w_gz_wage long linecolor = 16777215 integer linethickness = 4 integer beginy = 180 integer endx = 3429 integer endy = 180 end type type ln_1 from line within w_gz_wage long linecolor = 268435456 integer linethickness = 4 integer beginy = 300 integer endx = 3429 integer endy = 300 end type type ln_2 from line within w_gz_wage long linecolor = 16777215 integer linethickness = 4 integer beginy = 304 integer endx = 3429 integer endy = 304 end type