123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221 |
- $PBExportHeader$w_gz_wage_mx0_edit.srw
- forward
- global type w_gz_wage_mx0_edit from w_publ_base
- end type
- type em_mth from editmask within w_gz_wage_mx0_edit
- end type
- type st_421 from statictext within w_gz_wage_mx0_edit
- end type
- type cb_retrieve from uo_imflatbutton within w_gz_wage_mx0_edit
- end type
- type cb_wage_edit from uo_imflatbutton within w_gz_wage_mx0_edit
- end type
- type cb_cancel from uo_imflatbutton within w_gz_wage_mx0_edit
- end type
- type ddlb_scid from uo_ddlb_scid within w_gz_wage_mx0_edit
- end type
- type cb_2 from uo_imflatbutton within w_gz_wage_mx0_edit
- end type
- type tv_1 from uo_tv_deptype within w_gz_wage_mx0_edit
- end type
- type dw_wage from u_dw_rbtnfilter within w_gz_wage_mx0_edit
- end type
- type ddlb_wageitem from dropdownlistbox within w_gz_wage_mx0_edit
- end type
- type rb_1 from radiobutton within w_gz_wage_mx0_edit
- end type
- type rb_2 from radiobutton within w_gz_wage_mx0_edit
- end type
- type cb_copybasepay from uo_imflatbutton within w_gz_wage_mx0_edit
- end type
- type cb_1 from uo_imflatbutton within w_gz_wage_mx0_edit
- end type
- type gb_1 from groupbox within w_gz_wage_mx0_edit
- end type
- type ln_bar from line within w_gz_wage_mx0_edit
- end type
- type ln_bar2 from line within w_gz_wage_mx0_edit
- end type
- type r_bar from rectangle within w_gz_wage_mx0_edit
- end type
- end forward
- global type w_gz_wage_mx0_edit from w_publ_base
- integer x = 59
- integer y = 32
- integer width = 3611
- integer height = 2380
- string title = "[每月直接录入]工资项目数据录入"
- boolean maxbox = true
- windowstate windowstate = maximized!
- em_mth em_mth
- st_421 st_421
- cb_retrieve cb_retrieve
- cb_wage_edit cb_wage_edit
- cb_cancel cb_cancel
- ddlb_scid ddlb_scid
- cb_2 cb_2
- tv_1 tv_1
- dw_wage dw_wage
- ddlb_wageitem ddlb_wageitem
- rb_1 rb_1
- rb_2 rb_2
- cb_copybasepay cb_copybasepay
- cb_1 cb_1
- gb_1 gb_1
- ln_bar ln_bar
- ln_bar2 ln_bar2
- r_bar r_bar
- end type
- global w_gz_wage_mx0_edit w_gz_wage_mx0_edit
- type variables
- Long cur_0_wageid
- String ls_handtype = ''
- Long cur_scid
- Long cur_scid_arr[]
- Long cur_wageid[]
- Int cur_temp_wagecount
- String cur_column_string[]
- Int cur_column_style = 0 //0 纵向列表 1 横向列表
- end variables
- forward prototypes
- public function integer wf_retreve ()
- public function integer wf_refresh_face ()
- public subroutine wf_find_tvchild (long arg_handl, long arg_deptid)
- public subroutine wf_find_tvnext (long arg_handl, long arg_deptid)
- public subroutine wf_setopen (long arg_deptid, long arg_scid)
- public function integer wf_save (ref string arg_msg, boolean ifcommit)
- public function integer wf_retrieve_wagemx ()
- public function long wf_getwageid (string arg_wagename)
- public function integer wf_columnstyle ()
- public function integer wf_copybasepay (ref string arg_msg)
- public function integer wf_retrieve_wagemx_1 ()
- end prototypes
- public function integer wf_retreve ();//wf_retreve
- Long ll_wagemth
- ll_wagemth = Long(em_mth.Text)
- IF cur_column_style = 0 THEN
- dw_wage.SetTransObject(sqlca)
- dw_wage.Retrieve(Long(em_mth.Text),wf_getwageid(ddlb_wageitem.Text),cur_scid_arr,ls_handtype)
- dw_wage.Object.u_gz_wagemx_wageamt_t.Text = ddlb_wageitem.Text
- ELSE
- dw_wage.setredraw(false)
- dw_wage.SetTransObject(sqlca)
- dw_wage.Retrieve(ll_wagemth,cur_scid_arr,ls_handtype)
-
- String ls_wageitem = ''
- Long ls_wageid
- Int ls_j = 1
-
-
-
- DO WHILE ls_j <= 20
- dw_wage.Modify("u_gz_wage_wage"+String(ls_j)+"_t.visible=true")
- dw_wage.Modify("u_gz_wage_wage"+String(ls_j)+".visible=true")
- ls_j++
- LOOP
- DECLARE wageitem_cur CURSOR FOR
-
- SELECT DISTINCT u_gz_wageitem.Wagename, u_gz_wageitem.wageid
- FROM u_gz_wagemx INNER JOIN
- u_gz_wageitem ON u_gz_wagemx.wageid = u_gz_wageitem.wageid
- WHERE (u_gz_wageitem.useflag = 1) AND (u_gz_wageitem.wagemode = 0) &
- AND (u_gz_wagemx.wagemth = :ll_wagemth)
- Order By u_gz_wageitem.wageid;
-
- OPEN wageitem_cur;
- ls_j = 1
- FETCH wageitem_cur INTO :ls_wageitem,:ls_wageid;
-
- DO WHILE sqlca.SQLCode = 0
- cur_wageid[ls_j] = ls_wageid
- cur_column_string[ls_j] = "u_gz_wage_wage"+String(ls_j)
- dw_wage.Modify("u_gz_wage_wage"+String(ls_j)+"_t.Text='"+ls_wageitem+"'")
-
- FETCH wageitem_cur INTO :ls_wageitem,:ls_wageid;
- ls_j++
- LOOP
- CLOSE wageitem_cur;
- cur_temp_wagecount = ls_j - 1
-
- DO WHILE ls_j <= 20
- dw_wage.Modify("u_gz_wage_wage"+String(ls_j)+"_t.visible=false")
- dw_wage.Modify("u_gz_wage_wage"+String(ls_j)+".visible=false")
- ls_j++
- LOOP
-
-
- String arg_msg = ''
- IF wf_retrieve_wagemx() = 0 THEN
- MessageBox('提示',arg_msg, Information!, OK! )
- RETURN 0
- END IF
-
- dw_wage.setredraw(true)
- END IF
- RETURN 0
- end function
- public function integer wf_refresh_face ();//wf_refresh_face
- Int ls_i
- cb_func.Enabled = NOT dw_edit_mode
- ddlb_scid.Enabled = NOT dw_edit_mode
- rb_1.Enabled = NOT dw_edit_mode
- rb_2.Enabled = NOT dw_edit_mode
- ddlb_wageitem.Enabled = NOT dw_edit_mode
- cb_copybasepay.Enabled = dw_edit_mode
- IF dw_edit_mode THEN
- cb_cancel.Enabled = TRUE
- cb_wage_edit.Text = '保存'
- cb_wage_edit.normalpicname = 'Save.bmp'
-
- em_mth.Enabled = FALSE
- cb_retrieve.Enabled = FALSE
- IF cur_column_style = 0 THEN
- dw_wage.SetTabOrder(1,10)
- ELSE
- ls_i = 1
- DO WHILE ls_i <= 20
- dw_wage.SetTabOrder("u_gz_wage_wage"+String(ls_i),10*ls_i)
- ls_i++
- LOOP
- END IF
- ELSE
- cb_cancel.Enabled = FALSE
- cb_wage_edit.Text = '修改'
- cb_wage_edit.normalpicname = 'open.bmp'
-
- em_mth.Enabled = TRUE
- cb_retrieve.Enabled = TRUE
-
- IF dw_wage.RowCount() > 0 THEN
- IF dw_wage.Object.u_gz_wage_auditingflag[1] = 0 THEN
- cb_wage_edit.Enabled = TRUE
- ELSE
- cb_wage_edit.Enabled = FALSE
- END IF
- ELSE
- cb_wage_edit.Enabled = TRUE
- END IF
- IF cur_column_style = 0 THEN
- dw_wage.SetTabOrder(1,0)
- ELSE
- ls_i = 1
- DO WHILE ls_i <= 20
- dw_wage.SetTabOrder("u_gz_wage_wage"+String(ls_i),0)
- ls_i++
- LOOP
- END IF
- END IF
- cb_wage_edit.of_init_draw()
- cb_wage_edit.of_paint()
- cb_wage_edit.TriggerEvent('ue_textchange')
- RETURN 0
- end function
- public subroutine wf_find_tvchild (long arg_handl, long arg_deptid);Long ll_handl
- Long ll_deptid
- treeviewitem tvi
- ll_handl = arg_handl
- ll_handl = tv_1.FindItem(ChildTreeItem!,ll_handl)
- DO WHILE ll_handl > 0
- tv_1.GetItem(ll_handl,tvi)
- ll_deptid = tvi.Data
-
- IF ll_deptid = arg_deptid THEN
- tv_1.SelectItem (ll_handl)
- RETURN
- END IF
-
- wf_find_tvnext(ll_handl,arg_deptid)
- ll_handl = tv_1.FindItem(ChildTreeItem!,ll_handl)
- LOOP
- end subroutine
- public subroutine wf_find_tvnext (long arg_handl, long arg_deptid);Long ll_handl
- Long ll_deptid
- treeviewitem tvi
- ll_handl = arg_handl
- ll_handl = tv_1.FindItem(NextTreeItem!,ll_handl)
- DO WHILE ll_handl > 0
- tv_1.GetItem(ll_handl,tvi)
- ll_deptid = tvi.Data
-
- IF ll_deptid = arg_deptid THEN
- tv_1.SelectItem ( ll_handl )
- RETURN
- END IF
-
- wf_find_tvchild(ll_handl,arg_deptid)
- ll_handl = tv_1.FindItem(NextTreeItem!,ll_handl)
- LOOP
- end subroutine
- public subroutine wf_setopen (long arg_deptid, long arg_scid);//tv
- Long ll_handl
- ll_handl = tv_1.FindItem(RootTreeItem!,0)
- IF ll_handl > 0 THEN wf_find_tvchild(ll_handl,arg_deptid)
- //ddlb
- String ls_scname
- Int li_spacenum
- String ls_space
- String ls_name
- Long ll_finditem
- IF arg_scid = -1 THEN
- ls_name = '[全部]'
- ELSE
-
- SELECT scname
- INTO :ls_scname
- FROM u_scdef
- Where scid = :arg_scid;
- IF sqlca.SQLCode <> 0 OR IsNull(ls_scname) THEN ls_scname = ''
-
- li_spacenum = 50 - Len(Trim(ls_scname)) - 2 - Len(String(arg_scid))
- ls_space = Fill(' ',li_spacenum)
-
- ls_name = ls_scname+ls_space+'['+String(arg_scid)+']'
- END IF
- ll_finditem = ddlb_scid.FindItem(ls_name,0)
- IF ll_finditem > 0 THEN
- ddlb_scid.SelectItem ( ls_name, ll_finditem )
- END IF
- end subroutine
- public function integer wf_save (ref string arg_msg, boolean ifcommit);int ls_rowcount,ls_j,ls_k,rslt=1
- long ll_empid,ll_wagemth,ll_wageid
- decimal ld_temp_amt
- long ll_flag
- dw_wage.accepttext()
- ls_rowcount=dw_wage.rowcount()
- for ls_j=1 to ls_rowcount
- ll_flag=dw_wage.object.u_gz_wage_auditingflag[ls_j]
- if ll_flag=1 then
- rslt=0
- arg_msg='工资项已经审核,在第'+string(ls_j)+'行'
- goto ext
- end if
- ll_wagemth=dw_wage.object.u_gz_wage_wagemth[ls_j]
- ll_empid=dw_wage.object.u_gz_wage_empid[ls_j]
- for ls_k=1 to cur_temp_wagecount
- ll_wageid= cur_wageid[ls_k]
- choose case ls_k
- case 1
- ld_temp_amt=dw_wage.object.u_gz_wage_wage1[ls_j]
- case 2
- ld_temp_amt=dw_wage.object.u_gz_wage_wage2[ls_j]
- case 3
- ld_temp_amt=dw_wage.object.u_gz_wage_wage3[ls_j]
- case 4
- ld_temp_amt=dw_wage.object.u_gz_wage_wage4[ls_j]
- case 5
- ld_temp_amt=dw_wage.object.u_gz_wage_wage5[ls_j]
- case 6
- ld_temp_amt=dw_wage.object.u_gz_wage_wage6[ls_j]
- case 7
- ld_temp_amt=dw_wage.object.u_gz_wage_wage7[ls_j]
- case 8
- ld_temp_amt=dw_wage.object.u_gz_wage_wage8[ls_j]
- case 9
- ld_temp_amt=dw_wage.object.u_gz_wage_wage9[ls_j]
- case 10
- ld_temp_amt=dw_wage.object.u_gz_wage_wage10[ls_j]
- case 11
- ld_temp_amt=dw_wage.object.u_gz_wage_wage11[ls_j]
- case 12
- ld_temp_amt=dw_wage.object.u_gz_wage_wage12[ls_j]
- case 13
- ld_temp_amt=dw_wage.object.u_gz_wage_wage13[ls_j]
- case 14
- ld_temp_amt=dw_wage.object.u_gz_wage_wage14[ls_j]
- case 15
- ld_temp_amt=dw_wage.object.u_gz_wage_wage15[ls_j]
- case 16
- ld_temp_amt=dw_wage.object.u_gz_wage_wage16[ls_j]
- case 17
- ld_temp_amt=dw_wage.object.u_gz_wage_wage17[ls_j]
- case 18
- ld_temp_amt=dw_wage.object.u_gz_wage_wage18[ls_j]
- case 19
- ld_temp_amt=dw_wage.object.u_gz_wage_wage19[ls_j]
- case 20
- ld_temp_amt=dw_wage.object.u_gz_wage_wage20[ls_j]
- end choose
- update u_gz_wagemx
- set u_gz_wagemx.wageamt=:ld_temp_amt
- where u_gz_wagemx.empid=:ll_empid and u_gz_wagemx.wageid=:ll_wageid &
- and u_gz_wagemx.wagemth=:ll_wagemth;
- if sqlca.sqlcode<>0 then
- rslt=0
- arg_msg='更新工资失败,在第'+string(ls_j)+'行,第'+string(ls_k)+'列工资项目'
- goto ext
- end if
-
- next
-
- next
- dw_wage.accepttext()
- ext:
- if rslt=1 and ifcommit then
- commit;
- else
- rollback;
- end if
- return rslt
- end function
- public function integer wf_retrieve_wagemx ();Int ls_rowcount,ls_j,ls_k,rslt = 1
- Long ll_empid,ll_wagemth,ll_wageid
- Decimal ld_temp_amt
- ls_rowcount = dw_wage.RowCount()
- FOR ls_j = 1 TO ls_rowcount
- ll_wagemth = dw_wage.Object.u_gz_wage_wagemth[ls_j]
- ll_empid = dw_wage.Object.u_gz_wage_empid[ls_j]
- FOR ls_k = 1 TO cur_temp_wagecount
- ll_wageid = cur_wageid[ls_k]
- SELECT wageamt
- INTO :ld_temp_amt
- FROM u_gz_wagemx
- WHERE u_gz_wagemx.wageid = :ll_wageid AND &
- u_gz_wagemx.empid = :ll_empid AND &
- u_gz_wagemx.wagemth = :ll_wagemth ;
- IF sqlca.SQLCode <> 0 THEN
- ld_temp_amt = 0
- END IF
- CHOOSE CASE ls_k
- CASE 1
- dw_wage.Object.u_gz_wage_wage1[ls_j] = ld_temp_amt
- CASE 2
- dw_wage.Object.u_gz_wage_wage2[ls_j] = ld_temp_amt
- CASE 3
- dw_wage.Object.u_gz_wage_wage3[ls_j] = ld_temp_amt
- CASE 4
- dw_wage.Object.u_gz_wage_wage4[ls_j] = ld_temp_amt
- CASE 5
- dw_wage.Object.u_gz_wage_wage5[ls_j] = ld_temp_amt
- CASE 6
- dw_wage.Object.u_gz_wage_wage6[ls_j] = ld_temp_amt
- CASE 7
- dw_wage.Object.u_gz_wage_wage7[ls_j] = ld_temp_amt
- CASE 8
- dw_wage.Object.u_gz_wage_wage8[ls_j] = ld_temp_amt
- CASE 9
- dw_wage.Object.u_gz_wage_wage9[ls_j] = ld_temp_amt
- CASE 10
- dw_wage.Object.u_gz_wage_wage10[ls_j] = ld_temp_amt
- CASE 11
- dw_wage.Object.u_gz_wage_wage11[ls_j] = ld_temp_amt
- CASE 12
- dw_wage.Object.u_gz_wage_wage12[ls_j] = ld_temp_amt
- CASE 13
- dw_wage.Object.u_gz_wage_wage13[ls_j] = ld_temp_amt
- CASE 14
- dw_wage.Object.u_gz_wage_wage14[ls_j] = ld_temp_amt
- CASE 15
- dw_wage.Object.u_gz_wage_wage15[ls_j] = ld_temp_amt
- CASE 16
- dw_wage.Object.u_gz_wage_wage16[ls_j] = ld_temp_amt
- CASE 17
- dw_wage.Object.u_gz_wage_wage17[ls_j] = ld_temp_amt
- CASE 18
- dw_wage.Object.u_gz_wage_wage18[ls_j] = ld_temp_amt
- CASE 19
- dw_wage.Object.u_gz_wage_wage19[ls_j] = ld_temp_amt
- CASE 20
- dw_wage.Object.u_gz_wage_wage20[ls_j] = ld_temp_amt
- END CHOOSE
-
- NEXT
-
- NEXT
- dw_wage.AcceptText()
- RETURN rslt
- end function
- public function long wf_getwageid (string arg_wagename);//wf_getwageid(arg_wagename)
- string ls_name
- long ls_wageid=0
- ls_name=ddlb_wageitem.text
- SELECT u_gz_wageitem.wageid
- INTO :ls_wageid
- FROM u_gz_wageitem
- WHERE u_gz_wageitem.Wagename = :ls_name ;
- return ls_wageid
- end function
- public function integer wf_columnstyle ();
- if cur_column_style = 0 then
- ddlb_wageitem.enabled=true
- dw_wage.dataobject='dw_mthwage_mx0_edit'
- else
- ddlb_wageitem.enabled=false
- dw_wage.dataobject='dw_mthwage_mx0_edit_1'
- end if
- return 0
- end function
- public function integer wf_copybasepay (ref string arg_msg);Int ls_rowcount,ls_j,ls_k,rslt = 1
- Long ll_empid,ll_wagemth,ll_wageid
- Decimal ld_temp_amt
- ls_rowcount = dw_wage.RowCount()
- dw_wage.SetRedraw(FALSE)
- IF cur_column_style = 0 THEN
- IF ddlb_wageitem.Text <> "基本工资" THEN
- arg_msg = '工资项目名称不是"基本工资",不能导入基本工资'
- rslt = 0
- GOTO ext
- END IF
- // ll_wageid = wf_getwageid(ddlb_wageitem.Text)
- FOR ls_j = 1 TO ls_rowcount
- // ll_wagemth = dw_wage.Object.u_gz_wage_wagemth[ls_j] -1
- ll_empid = dw_wage.Object.u_gz_wage_empid[ls_j]
- SELECT BasePay
- INTO :ld_temp_amt
- FROM U_BasePay
- Where U_BasePay.EmpId = :ll_empid ;
- IF sqlca.SQLCode <> 0 THEN
- ld_temp_amt = 0
- END IF
- dw_wage.Object.u_gz_wagemx_wageamt[ls_j] = ld_temp_amt
- NEXT
- ELSE
- FOR ls_j = 1 TO ls_rowcount
- ll_wagemth = dw_wage.Object.u_gz_wage_wagemth[ls_j] -1
- ll_empid = dw_wage.Object.u_gz_wage_empid[ls_j]
- FOR ls_k = 1 TO cur_temp_wagecount
- ll_wageid = cur_wageid[ls_k]
- IF ll_wageid <> wf_getwageid("基本工资") THEN CONTINUE
- ll_empid = dw_wage.Object.u_gz_wage_empid[ls_j]
- SELECT BasePay
- INTO :ld_temp_amt
- FROM U_BasePay
- Where U_BasePay.EmpId = :ll_empid ;
- IF sqlca.SQLCode <> 0 THEN
- ld_temp_amt = 0
- END IF
- CHOOSE CASE ls_k
- CASE 1
- dw_wage.Object.u_gz_wage_wage1[ls_j] = ld_temp_amt
- CASE 2
- dw_wage.Object.u_gz_wage_wage2[ls_j] = ld_temp_amt
- CASE 3
- dw_wage.Object.u_gz_wage_wage3[ls_j] = ld_temp_amt
- CASE 4
- dw_wage.Object.u_gz_wage_wage4[ls_j] = ld_temp_amt
- CASE 5
- dw_wage.Object.u_gz_wage_wage5[ls_j] = ld_temp_amt
- CASE 6
- dw_wage.Object.u_gz_wage_wage6[ls_j] = ld_temp_amt
- CASE 7
- dw_wage.Object.u_gz_wage_wage7[ls_j] = ld_temp_amt
- CASE 8
- dw_wage.Object.u_gz_wage_wage8[ls_j] = ld_temp_amt
- CASE 9
- dw_wage.Object.u_gz_wage_wage9[ls_j] = ld_temp_amt
- CASE 10
- dw_wage.Object.u_gz_wage_wage10[ls_j] = ld_temp_amt
- CASE 11
- dw_wage.Object.u_gz_wage_wage11[ls_j] = ld_temp_amt
- CASE 12
- dw_wage.Object.u_gz_wage_wage12[ls_j] = ld_temp_amt
- CASE 13
- dw_wage.Object.u_gz_wage_wage13[ls_j] = ld_temp_amt
- CASE 14
- dw_wage.Object.u_gz_wage_wage14[ls_j] = ld_temp_amt
- CASE 15
- dw_wage.Object.u_gz_wage_wage15[ls_j] = ld_temp_amt
- CASE 16
- dw_wage.Object.u_gz_wage_wage16[ls_j] = ld_temp_amt
- CASE 17
- dw_wage.Object.u_gz_wage_wage17[ls_j] = ld_temp_amt
- CASE 18
- dw_wage.Object.u_gz_wage_wage18[ls_j] = ld_temp_amt
- CASE 19
- dw_wage.Object.u_gz_wage_wage19[ls_j] = ld_temp_amt
- CASE 20
- dw_wage.Object.u_gz_wage_wage20[ls_j] = ld_temp_amt
- END CHOOSE
- NEXT
- NEXT
- END IF
- ext:
- dw_wage.AcceptText()
- dw_wage.SetRedraw(TRUE)
- RETURN rslt
-
- end function
- public function integer wf_retrieve_wagemx_1 ();Int ls_rowcount,ls_j,ls_k,rslt = 1
- Long ll_empid,ll_wagemth,ll_wagemth1,ll_wageid
- Decimal ld_temp_amt
- ls_rowcount = dw_wage.RowCount()
- FOR ls_j = 1 TO ls_rowcount
- ll_wagemth = dw_wage.Object.u_gz_wage_wagemth[ls_j]
- ll_wagemth1 = f_mth(ll_wagemth)
- ll_empid = dw_wage.Object.u_gz_wage_empid[ls_j]
- FOR ls_k = 1 TO cur_temp_wagecount
- ll_wageid = cur_wageid[ls_k]
- SELECT wageamt
- INTO :ld_temp_amt
- FROM u_gz_wagemx
- WHERE u_gz_wagemx.wageid = :ll_wageid AND &
- u_gz_wagemx.empid = :ll_empid AND &
- u_gz_wagemx.wagemth = :ll_wagemth1 ;
- IF sqlca.SQLCode <> 0 THEN
- ld_temp_amt = 0
- END IF
- CHOOSE CASE ls_k
- CASE 1
- dw_wage.Object.u_gz_wage_wage1[ls_j] = ld_temp_amt
- CASE 2
- dw_wage.Object.u_gz_wage_wage2[ls_j] = ld_temp_amt
- CASE 3
- dw_wage.Object.u_gz_wage_wage3[ls_j] = ld_temp_amt
- CASE 4
- dw_wage.Object.u_gz_wage_wage4[ls_j] = ld_temp_amt
- CASE 5
- dw_wage.Object.u_gz_wage_wage5[ls_j] = ld_temp_amt
- CASE 6
- dw_wage.Object.u_gz_wage_wage6[ls_j] = ld_temp_amt
- CASE 7
- dw_wage.Object.u_gz_wage_wage7[ls_j] = ld_temp_amt
- CASE 8
- dw_wage.Object.u_gz_wage_wage8[ls_j] = ld_temp_amt
- CASE 9
- dw_wage.Object.u_gz_wage_wage9[ls_j] = ld_temp_amt
- CASE 10
- dw_wage.Object.u_gz_wage_wage10[ls_j] = ld_temp_amt
- CASE 11
- dw_wage.Object.u_gz_wage_wage11[ls_j] = ld_temp_amt
- CASE 12
- dw_wage.Object.u_gz_wage_wage12[ls_j] = ld_temp_amt
- CASE 13
- dw_wage.Object.u_gz_wage_wage13[ls_j] = ld_temp_amt
- CASE 14
- dw_wage.Object.u_gz_wage_wage14[ls_j] = ld_temp_amt
- CASE 15
- dw_wage.Object.u_gz_wage_wage15[ls_j] = ld_temp_amt
- CASE 16
- dw_wage.Object.u_gz_wage_wage16[ls_j] = ld_temp_amt
- CASE 17
- dw_wage.Object.u_gz_wage_wage17[ls_j] = ld_temp_amt
- CASE 18
- dw_wage.Object.u_gz_wage_wage18[ls_j] = ld_temp_amt
- CASE 19
- dw_wage.Object.u_gz_wage_wage19[ls_j] = ld_temp_amt
- CASE 20
- dw_wage.Object.u_gz_wage_wage20[ls_j] = ld_temp_amt
- END CHOOSE
-
- NEXT
-
- NEXT
- dw_wage.AcceptText()
- RETURN rslt
- end function
- on w_gz_wage_mx0_edit.create
- int iCurrent
- call super::create
- this.em_mth=create em_mth
- this.st_421=create st_421
- this.cb_retrieve=create cb_retrieve
- this.cb_wage_edit=create cb_wage_edit
- this.cb_cancel=create cb_cancel
- this.ddlb_scid=create ddlb_scid
- this.cb_2=create cb_2
- this.tv_1=create tv_1
- this.dw_wage=create dw_wage
- this.ddlb_wageitem=create ddlb_wageitem
- this.rb_1=create rb_1
- this.rb_2=create rb_2
- this.cb_copybasepay=create cb_copybasepay
- this.cb_1=create cb_1
- this.gb_1=create gb_1
- this.ln_bar=create ln_bar
- this.ln_bar2=create ln_bar2
- this.r_bar=create r_bar
- iCurrent=UpperBound(this.Control)
- this.Control[iCurrent+1]=this.em_mth
- this.Control[iCurrent+2]=this.st_421
- this.Control[iCurrent+3]=this.cb_retrieve
- this.Control[iCurrent+4]=this.cb_wage_edit
- this.Control[iCurrent+5]=this.cb_cancel
- this.Control[iCurrent+6]=this.ddlb_scid
- this.Control[iCurrent+7]=this.cb_2
- this.Control[iCurrent+8]=this.tv_1
- this.Control[iCurrent+9]=this.dw_wage
- this.Control[iCurrent+10]=this.ddlb_wageitem
- this.Control[iCurrent+11]=this.rb_1
- this.Control[iCurrent+12]=this.rb_2
- this.Control[iCurrent+13]=this.cb_copybasepay
- this.Control[iCurrent+14]=this.cb_1
- this.Control[iCurrent+15]=this.gb_1
- this.Control[iCurrent+16]=this.ln_bar
- this.Control[iCurrent+17]=this.ln_bar2
- this.Control[iCurrent+18]=this.r_bar
- end on
- on w_gz_wage_mx0_edit.destroy
- call super::destroy
- destroy(this.em_mth)
- destroy(this.st_421)
- destroy(this.cb_retrieve)
- destroy(this.cb_wage_edit)
- destroy(this.cb_cancel)
- destroy(this.ddlb_scid)
- destroy(this.cb_2)
- destroy(this.tv_1)
- destroy(this.dw_wage)
- destroy(this.ddlb_wageitem)
- destroy(this.rb_1)
- destroy(this.rb_2)
- destroy(this.cb_copybasepay)
- destroy(this.cb_1)
- destroy(this.gb_1)
- destroy(this.ln_bar)
- destroy(this.ln_bar2)
- destroy(this.r_bar)
- end on
- event open;call super::open;dw_wage.SetTransObject(sqlca)
- s_wageeditw_open s_wageedit_tran
- s_wageedit_tran = Message.PowerObjectParm
- cur_0_wageid = s_wageedit_tran.wageid
- ddlb_wageitem.text=s_wageedit_tran.wagename
- em_mth.Text = String(s_wageedit_tran.wagemth)
- ls_handtype = s_wageedit_tran.handtype
- cur_scid_arr = s_wageedit_tran.scid_arr
- cur_scid = s_wageedit_tran.scid
- wf_setopen(s_wageedit_tran.deptid,s_wageedit_tran.scid)
- wf_columnstyle()
- wf_retreve()
- wf_refresh_face()
- 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 close;call super::close;Int ls_j
- FOR ls_j = 1 TO 20
- SetNull(cur_wageid[ls_j])
- SetNull(cur_column_string[ls_j])
- NEXT
- cur_temp_wagecount = 0
- 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 - tv_1.y - 140
- dw_wage.width=this.width - dw_wage.x - 40
- dw_wage.height=this.height - dw_wage.y - 140
- end event
- type cb_func from w_publ_base`cb_func within w_gz_wage_mx0_edit
- boolean visible = false
- integer x = 2363
- integer y = 112
- integer width = 274
- boolean enabled = false
- end type
- type cb_exit from w_publ_base`cb_exit within w_gz_wage_mx0_edit
- integer x = 1687
- integer width = 165
- integer height = 172
- integer taborder = 100
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- type em_mth from editmask within w_gz_wage_mx0_edit
- integer x = 1582
- integer y = 212
- integer width = 320
- integer height = 84
- integer taborder = 30
- 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 st_421 from statictext within w_gz_wage_mx0_edit
- integer x = 1417
- integer y = 232
- integer width = 160
- 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 cb_retrieve from uo_imflatbutton within w_gz_wage_mx0_edit
- integer x = 261
- integer width = 329
- integer height = 172
- integer taborder = 90
- boolean bringtotop = true
- string text = "刷新工资表"
- string normalpicname = "refresh.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;wf_retreve()
- end event
- type cb_wage_edit from uo_imflatbutton within w_gz_wage_mx0_edit
- integer x = 590
- 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;string ls_msg=''
- if dw_edit_mode then
- dw_wage.setfilter('')
- dw_wage.filter()
- dw_wage.accepttext()
-
- if cur_column_style=0 then
-
- if dw_wage.update()=1 then
- commit;
- messagebox('提示','保存成功!', Information!, OK! )
- else
- rollback;
- messagebox('提示','保存失败!', Information!, OK! )
- end if
-
- else
- if wf_save(ls_msg,true)=1 then
- messagebox('提示','保存成功!', Information!, OK! )
- else
- messagebox('提示','保存失败!原因:'+ls_msg, Information!, OK! )
- end if
- end if
-
- end if
- dw_edit_mode=not dw_edit_mode
- wf_refresh_face()
- end event
- type cb_cancel from uo_imflatbutton within w_gz_wage_mx0_edit
- integer x = 754
- integer width = 165
- integer height = 172
- integer taborder = 60
- 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_retreve()
- wf_refresh_face()
- end event
- type ddlb_scid from uo_ddlb_scid within w_gz_wage_mx0_edit
- integer x = 1915
- integer y = 212
- integer width = 517
- integer height = 676
- integer taborder = 50
- boolean bringtotop = true
- end type
- event constructor;call super::constructor;cur_scid_arr = THIS.uo_scid_arr
- end event
- event selectionchanged;call super::selectionchanged;cur_scid_arr = THIS.uo_scid_arr
- cb_retrieve.TriggerEvent(Clicked!)
- end event
- type cb_2 from uo_imflatbutton within w_gz_wage_mx0_edit
- integer width = 261
- integer height = 172
- integer taborder = 70
- boolean bringtotop = true
- string text = "刷新部门"
- string normalpicname = "refresh.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- type tv_1 from uo_tv_deptype within w_gz_wage_mx0_edit
- integer y = 320
- integer width = 814
- integer height = 1740
- integer taborder = 10
- 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
- ls_handtype = ls_handtype + '%'
- cb_retrieve.TriggerEvent(Clicked!)
- end event
- type dw_wage from u_dw_rbtnfilter within w_gz_wage_mx0_edit
- integer x = 818
- integer y = 320
- integer width = 2720
- integer height = 1740
- integer taborder = 20
- boolean bringtotop = true
- string dataobject = "dw_mthwage_mx0_edit"
- boolean hscrollbar = true
- boolean vscrollbar = true
- end type
- event constructor;call super::constructor; titleclick_sort_use=true //单击标题排序功能开关
- RBUTTON_FILTER_USE=true //右键查询功能开关
- end event
- event rowfocuschanged;call super::rowfocuschanged;IF currentrow >0 THEN
- this.selectrow(0,false)
- this.selectrow(currentrow,true)
- end if
- end event
- event dwnkey;call super::dwnkey;IF Key = KeyEnter! THEN //
- keybd_event ( 9, 0, 0 , 0 ) // 按下tab
- keybd_event ( 9, 0, 2, 0 ) // 释放tab
- RETURN 1
- END IF
- end event
- type ddlb_wageitem from dropdownlistbox within w_gz_wage_mx0_edit
- integer x = 704
- integer y = 224
- integer width = 667
- integer height = 676
- integer taborder = 110
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 16777215
- borderstyle borderstyle = stylelowered!
- end type
- event constructor;
- string ls_wageitem=''
- long ls_wageid
- DECLARE wageitem_cur CURSOR FOR
- SELECT u_gz_wageitem.Wagename ,
- u_gz_wageitem.wageid
- FROM u_gz_wageitem
- WHERE ( u_gz_wageitem.useflag = 1 ) AND
- ( u_gz_wageitem.wagemode = 0 )
- order by u_gz_wageitem.Wagename;
- open wageitem_cur;
- fetch wageitem_cur into :ls_wageitem,:ls_wageid;
- do while sqlca.sqlcode=0
- ddlb_wageitem.ADDItem(ls_wageitem)
- fetch wageitem_cur into :ls_wageitem,:ls_wageid;
- loop
- close wageitem_cur;
- end event
- event selectionchanged;wf_retreve()
- end event
- type rb_1 from radiobutton within w_gz_wage_mx0_edit
- integer x = 46
- integer y = 232
- integer width = 320
- 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;cur_column_style = 1
- wf_columnstyle()
- wf_retreve()
- end event
- type rb_2 from radiobutton within w_gz_wage_mx0_edit
- integer x = 366
- integer y = 236
- integer width = 320
- 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 = "单一列表"
- boolean checked = true
- end type
- event clicked;cur_column_style=0
- wf_columnstyle()
- wf_retreve()
- end event
- type cb_copybasepay from uo_imflatbutton within w_gz_wage_mx0_edit
- integer x = 919
- integer width = 384
- integer height = 172
- integer taborder = 50
- boolean bringtotop = true
- boolean enabled = false
- string text = "导入基本工资"
- string normalpicname = "other.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;IF MessageBox ("IF","是否确定要导入基本工资吗?一旦导入,你所做的所有修改将会丢失。",Question!,YesNo! ) = 2 THEN RETURN
- String arg_msg
- IF wf_copybasepay(arg_msg) = 0 THEN
- MessageBox('系统提示',arg_msg)
- RETURN
- END IF
- end event
- type cb_1 from uo_imflatbutton within w_gz_wage_mx0_edit
- integer x = 1303
- integer width = 384
- integer height = 172
- integer taborder = 60
- 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;// u_gz_wagemx.wagemth,
- // u_gz_wagemx.empid,
- // u_gz_wagemx.wageid,
- //u_gz_wagemx_wageamt
- //em_mth
- Long i,ll_mth,ll_s_mth,ll_wageid,ll_empid
- Decimal de_wageamt
- string arg_msg
- IF cur_column_style = 0 THEN
- FOR i = 1 To dw_wage.RowCount()
- ll_mth = Long(dw_wage.Object.u_gz_wage_wagemth[i])
- ll_s_mth = f_mth(ll_mth)
- ll_wageid = Long(dw_wage.Object.u_gz_wagemx_wageid[i])
- ll_empid = Long(dw_wage.Object.u_gz_wagemx_empid[i])
- SELECT top 1 wageamt INTO :de_wageamt FROM u_gz_wagemx WHERE wagemth = :ll_s_mth AND
- wageid = :ll_wageid And empid = :ll_empid;
- IF IsNull(de_wageamt) THEN de_wageamt = 0
- dw_wage.Object.u_gz_wagemx_wageamt[i] = de_wageamt
- NEXT
- ELSE
- IF wf_retrieve_wagemx_1() = 0 THEN
- MessageBox('提示',arg_msg, Information!, OK! )
- RETURN 0
- END IF
- END IF
- end event
- type gb_1 from groupbox within w_gz_wage_mx0_edit
- integer y = 188
- integer width = 1408
- integer height = 128
- integer taborder = 30
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- end type
- type ln_bar from line within w_gz_wage_mx0_edit
- 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_mx0_edit
- long linecolor = 16777215
- integer linethickness = 4
- integer beginy = 180
- integer endx = 3429
- integer endy = 180
- end type
- type r_bar from rectangle within w_gz_wage_mx0_edit
- 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
|