$PBExportHeader$w_gz_wageitemdef.srw forward global type w_gz_wageitemdef from w_publ_edit_index end type type cbx_1 from checkbox within w_gz_wageitemdef end type end forward global type w_gz_wageitemdef from w_publ_edit_index integer width = 2491 integer height = 1620 string title = "工资项目" boolean minbox = true windowtype windowtype = popup! cbx_1 cbx_1 end type global w_gz_wageitemdef w_gz_wageitemdef type variables boolean if_addnew=false end variables on w_gz_wageitemdef.create int iCurrent call super::create this.cbx_1=create cbx_1 iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.cbx_1 end on on w_gz_wageitemdef.destroy call super::destroy destroy(this.cbx_1) end on event ue_usual_query_filt;call super::ue_usual_query_filt;if dw_edit_mode or keydown(keyf4!) or keydown(keyf5!) then return string obj_expr='' if trim(sle_usual_query.text)<>'' then IF POS(trim(sle_usual_query.text),'%')=0 THEN obj_expr=obj_expr+'( wagename LIKE "%'+trim(sle_usual_query.text)+'%" )' ELSE obj_expr=obj_expr+'( wagename LIKE "'+trim(sle_usual_query.text)+'" )' END IF end if dw_UC.setfilter(obj_expr) dw_UC.SetRedraw(False) dw_INDEX.SetRedraw(False) dw_UC.filter() if dw_index.rowcount()>=1 then dw_index.selectrow(0,false) dw_index.selectrow(1,true) end if dw_UC.SetRedraw(TRUE) dw_INDEX.SetRedraw(TRUE) end event event ue_usual_query_retr;call super::ue_usual_query_retr;if dw_edit_mode or keydown(keyf4!) or keydown(keyf5!) then return string ls_querystrpart='' ls_newselect=lower(ori_oldselect) if trim(sle_usual_query.text)<>'' then if pos(trim(sle_usual_query.text),'%')=0 then ls_querystrpart="(wagename like '%"+trim(sle_usual_query.text)+"%')" else ls_querystrpart="(wagename like '"+trim(sle_usual_query.text)+"')" end if if Pos(ls_newselect," where ") <> 0 then ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')' else ls_newselect=ls_newselect+" where ("+ls_querystrpart+')' end if end if wf_retrieveuc(dw_uc,ls_newselect,1) this.triggerevent('retrieve_uc') //注意必须有此句 end event event retrieve_uc;boolean cb_firstpage_enabled,cb_nextpage_enabled,cb_retrieveall_enabled boolean cb_priorpage_enabled,cb_func_enabled,cb_retrieve_enabled cb_firstpage_enabled=cb_firstpage.enabled cb_nextpage_enabled=cb_nextpage.enabled cb_retrieveall_enabled=cb_retrieveall.enabled cb_priorpage_enabled=cb_priorpage.enabled cb_func_enabled=cb_func.enabled cb_retrieve_enabled=cb_retrieve.enabled cb_firstpage.enabled=false cb_nextpage.enabled=false cb_retrieveall.enabled=false cb_priorpage.enabled=false cb_func.enabled=false cb_retrieve.enabled=false Long ifuse IF NOT cbx_1.Checked THEN ifuse = -1 ELSE ifuse = 1 END IF dw_UC.setredraw(false) dw_index.ShareDataOff() SetPointer(HourGlass!) dw_UC.retrieve(ifuse) SetPointer(Arrow!) dw_uc.sharedata(dw_index) dw_UC.setredraw(true) if dw_index.rowcount()>=1 then dw_index.selectrow(0,false) dw_index.selectrow(1,true) end if cb_firstpage.enabled=cb_firstpage_enabled cb_nextpage.enabled=cb_nextpage_enabled cb_retrieveall.enabled=cb_retrieveall_enabled cb_priorpage.enabled=cb_priorpage_enabled cb_func.enabled=cb_func_enabled cb_retrieve.enabled=cb_retrieve_enabled end event type cb_func from w_publ_edit_index`cb_func within w_gz_wageitemdef end type type cb_exit from w_publ_edit_index`cb_exit within w_gz_wageitemdef integer x = 1179 end type type sle_usual_query from w_publ_edit_index`sle_usual_query within w_gz_wageitemdef end type type cb_nextpage from w_publ_edit_index`cb_nextpage within w_gz_wageitemdef end type type cb_priorpage from w_publ_edit_index`cb_priorpage within w_gz_wageitemdef end type type cb_firstpage from w_publ_edit_index`cb_firstpage within w_gz_wageitemdef end type type cb_retrieveall from w_publ_edit_index`cb_retrieveall within w_gz_wageitemdef end type type em_pagerowno from w_publ_edit_index`em_pagerowno within w_gz_wageitemdef end type type st_pagerowno from w_publ_edit_index`st_pagerowno within w_gz_wageitemdef end type type st_1 from w_publ_edit_index`st_1 within w_gz_wageitemdef string text = "名称含:" end type type cb_add from w_publ_edit_index`cb_add within w_gz_wageitemdef end type event cb_add::clicked;if not f_power_ind(195) then messagebox('提示','你没有使用权限!', Information!, OK! ) return end if long ll_wageid=0,ls_itemtype string errmsg='',ls_name IF dw_edit_mode THEN dw_uc.accepttext() if dw_uc.GetNextModified(0, Primary!)=0 then MESSAGEBOX('提示','没有任何修改,不可以保存!', Information!, OK! ) RETURN end if if DW_UC.getrow()=0 then return end if IF isnull(DW_UC.OBJECT.wagename[DW_UC.GETROW()]) or trim(DW_UC.OBJECT.wagename[DW_UC.GETROW()])='' THEN MESSAGEBOX('提示','请输入工资项目名称!', Information!, OK! ) RETURN END IF ls_name=DW_UC.OBJECT.wagename[DW_UC.GETROW()] ls_itemtype=DW_UC.OBJECT.wagetype[DW_UC.GETROW()] ll_wageid=dw_uc.object.wageid[dw_uc.getrow()] if ll_wageid=0 then ll_wageid=f_sys_scidentity(0,"u_gz_wageitem","wageid",errmsg,false,sqlca) if ll_wageid<0 then messagebox("提示",errmsg, Information!, OK! ) return else dw_uc.object.wageid[DW_UC.GETROW()]=ll_wageid if_addnew=true end if end if ///////////////////////////// end if CALL SUPER::CLICKED if dw_edit_mode then dw_uc.setcolumn('wagename') else if not if_addnew then //修改时 //更新未审核的明细的项目名字/类型 UPDATE u_gz_wagemx SET wagetype = :ls_itemtype, Wagename = :ls_name from u_gz_wagemx,u_gz_wage where u_gz_wage.wagemth=u_gz_wagemx.wagemth and u_gz_wage.empid=u_gz_wagemx.empid and u_gz_wagemx.wageid=:ll_wageid and u_gz_wage.Auditingflag=0 and ( u_gz_wagemx.wagetype <> :ls_itemtype or u_gz_wagemx.Wagename <> :ls_name); if sqlca.sqlcode<>0 then errmsg=sqlca.sqlerrtext rollback; messagebox('提示',"更新未审核的明细的项目"+string(ls_name)+"名字以及计算类型失败>>"+errmsg, Information!, OK! ) else commit; end if end if cb_retrieve.triggerevent(clicked!) end if end event type cb_edit from w_publ_edit_index`cb_edit within w_gz_wageitemdef end type event cb_edit::clicked;if not f_power_ind(195) then messagebox('提示','你没有使用权限!', Information!, OK! ) return end if if_addnew = FALSE Long cnt = 0,ls_row,ls_id String ls_name ls_row = dw_uc.GetRow() IF ls_row = 0 THEN MessageBox('提示','没有修改对象!', Information!, OK! ) RETURN END IF //IF dw_uc.Object.wagemode[ls_row] = 12 THEN // // ls_id = dw_uc.Object.wageid[ls_row] // ls_name = dw_uc.Object.wagename[ls_row] // // SELECT count(u_gz_mltaskmx.wageid) as cnt // INTO :cnt // FROM u_gz_mltaskmx // Where u_gz_mltaskmx.wageid = :ls_id; // IF sqlca.SQLCode <> 0 THEN // MessageBox('提示','查询工资项目['+ls_name+']是否使用操作失败!>>'+sqlca.SQLErrText) // RETURN // END IF // IF cnt > 0 THEN // dw_uc.SetTabOrder("wagemode",0) // RETURN // END IF //END IF CALL SUPER::Clicked end event type cb_delet from w_publ_edit_index`cb_delet within w_gz_wageitemdef end type event cb_delet::clicked;call super::clicked;IF Not f_power_ind(195) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF Long cnt = 0,ls_row,ls_id String ls_name ls_row = dw_uc.GetRow() IF ls_row = 0 THEN MessageBox('提示','没有删除对象!', Information!, OK! ) RETURN END IF ls_id = dw_uc.Object.wageid[ls_row] ls_name = dw_uc.Object.wagename[ls_row] SELECT count(u_gz_wagemx.wageid) as cnt INTO :cnt FROM u_gz_wagemx Where u_gz_wagemx.wageid = :ls_id; IF sqlca.SQLCode <> 0 THEN MessageBox('提示','查询工资项目['+ls_name+']是否在工资表中使用操作失败!>>'+sqlca.SQLErrText, Information!, OK! ) RETURN END IF IF cnt > 0 THEN MessageBox('提示','工资项目['+ls_name+']已经在工资表中使用,不可以删除!', Information!, OK! ) RETURN END IF ////20101210 SELECT count(u_gz_award_punish.wageid) as cnt INTO :cnt FROM u_gz_award_punish Where u_gz_award_punish.wageid = :ls_id; IF sqlca.SQLCode <> 0 THEN MessageBox('提示','查询工资项目['+ls_name+']是否在奖罚单中使用操作失败!>>'+sqlca.SQLErrText, Information!, OK! ) RETURN END IF IF cnt > 0 THEN MessageBox('提示','工资项目['+ls_name+']已经在奖罚单中使用,不可以删除!', Information!, OK! ) RETURN END IF SELECT count(u_gz_cwork.wageid) as cnt INTO :cnt FROM u_gz_cwork Where u_gz_cwork.wageid = :ls_id; IF sqlca.SQLCode <> 0 THEN MessageBox('提示','查询工资项目['+ls_name+']是否在考勤单中使用操作失败!>>'+sqlca.SQLErrText, Information!, OK! ) RETURN END IF IF cnt > 0 THEN MessageBox('提示','工资项目['+ls_name+']已经在考勤单中使用,不可以删除!', Information!, OK! ) RETURN END IF SELECT count(u_gz_loanwage.wageid) as cnt INTO :cnt FROM u_gz_loanwage Where u_gz_loanwage.wageid = :ls_id; IF sqlca.SQLCode <> 0 THEN MessageBox('提示','查询工资项目['+ls_name+']是否在借支单中使用操作失败!>>'+sqlca.SQLErrText, Information!, OK! ) RETURN END IF IF cnt > 0 THEN MessageBox('提示','工资项目['+ls_name+']已经在借支单中使用,不可以删除!', Information!, OK! ) RETURN END IF SELECT count(u_outware.relid) as cnt INTO :cnt FROM u_outware Where u_outware.relid = :ls_id and u_outware.billtype = 10; IF sqlca.SQLCode <> 0 THEN MessageBox('提示','查询工资项目['+ls_name+']是否在扣费品单中使用操作失败!>>'+sqlca.SQLErrText, Information!, OK! ) RETURN END IF IF cnt > 0 THEN MessageBox('提示','工资项目['+ls_name+']已经在扣费品单中使用,不可以删除!', Information!, OK! ) RETURN END IF SELECT count(u_sc_abnormity.wageid) as cnt INTO :cnt FROM u_sc_abnormity Where u_sc_abnormity.wageid = :ls_id; IF sqlca.SQLCode <> 0 THEN MessageBox('提示','查询工资项目['+ls_name+']是否在个人工序计件单中使用操作失败!>>'+sqlca.SQLErrText, Information!, OK! ) RETURN END IF IF cnt > 0 THEN MessageBox('提示','工资项目['+ls_name+']已经在个人工序计件单中使用,不可以删除!', Information!, OK! ) RETURN END IF SELECT count(u_sc_taskwork.wageid) as cnt INTO :cnt FROM u_sc_taskwork Where u_sc_taskwork.wageid = :ls_id; IF sqlca.SQLCode <> 0 THEN MessageBox('提示','查询工资项目['+ls_name+']是否在产品个人工序计件单中使用操作失败!>>'+sqlca.SQLErrText, Information!, OK! ) RETURN END IF IF cnt > 0 THEN MessageBox('提示','工资项目['+ls_name+']已经在产品个人工序计件单中使用,不可以删除!', Information!, OK! ) RETURN END IF SELECT count(u_scwg_taskwork_2.wageid) as cnt INTO :cnt FROM u_scwg_taskwork_2 Where u_scwg_taskwork_2.wageid = :ls_id; IF sqlca.SQLCode <> 0 THEN MessageBox('提示','查询工资项目['+ls_name+']是否在个人产品工序计件单中使用操作失败!>>'+sqlca.SQLErrText, Information!, OK! ) RETURN END IF IF cnt > 0 THEN MessageBox('提示','工资项目['+ls_name+']已经在个人产品工序计件单中使用,不可以删除!', Information!, OK! ) RETURN END IF //// IF MessageBox ("询问","是否确定要删除当前记录["+ls_name+"]?(选择确定后记录将不可恢复)",Question!,YesNo! ) = 2 THEN RETURN END IF dw_uc.SetRedraw (False) dw_uc.DeleteRow (ls_row) dw_uc.TriggerEvent (RowFocusChanged!) IF dw_uc.Update() = -1 THEN ROLLBACK; MessageBox ("NO","删除记录操作失败!",Exclamation!,OK!) ELSE COMMIT; END IF dw_uc.SetRedraw (True) WF_INDEX_UC() end event type cb_choice from w_publ_edit_index`cb_choice within w_gz_wageitemdef integer x = 1029 end type type cb_cancel from w_publ_edit_index`cb_cancel within w_gz_wageitemdef end type type cbx_mlselect from w_publ_edit_index`cbx_mlselect within w_gz_wageitemdef integer x = 1778 integer y = 212 end type type cbx_allselect from w_publ_edit_index`cbx_allselect within w_gz_wageitemdef integer x = 2112 integer y = 212 end type type cb_mode_itfchg_b from w_publ_edit_index`cb_mode_itfchg_b within w_gz_wageitemdef end type type cb_mode_itfchg from w_publ_edit_index`cb_mode_itfchg within w_gz_wageitemdef integer x = 1330 end type type gb_1 from w_publ_edit_index`gb_1 within w_gz_wageitemdef end type type dw_uc from w_publ_edit_index`dw_uc within w_gz_wageitemdef integer x = 1221 integer width = 1216 integer height = 1232 string dataobject = "dw_wageitem_def_edit" end type type cb_retrieve from w_publ_edit_index`cb_retrieve within w_gz_wageitemdef end type type cb_print from w_publ_edit_index`cb_print within w_gz_wageitemdef end type event cb_print::clicked;call super::clicked;S_print_MSG LS_PRMSG LS_PRMSG.obj_dwNAME='dw_rp_wageitem_index' LS_PRMSG.SHARE_DW=DW_UC LS_PRMSG.TAG_TEXT='工资项目' LS_PRMSG.SETUP_FLAG=0 LS_PRMSG.PAGECH_FLAG=1 Openwithparm(w_publ_preview,LS_PRMSG) end event type ln_bar from w_publ_edit_index`ln_bar within w_gz_wageitemdef end type type ln_bar2 from w_publ_edit_index`ln_bar2 within w_gz_wageitemdef end type type r_bar from w_publ_edit_index`r_bar within w_gz_wageitemdef end type type ln_1 from w_publ_edit_index`ln_1 within w_gz_wageitemdef end type type ln_2 from w_publ_edit_index`ln_2 within w_gz_wageitemdef end type type dw_index from w_publ_edit_index`dw_index within w_gz_wageitemdef integer y = 296 integer width = 1221 integer height = 1232 string dataobject = "dw_wageitem_def_index" end type event dw_index::constructor;call super::constructor; titleclick_sort_use=true //单击标题排序功能开关 RBUTTON_FILTER_USE=true //右键查询功能开关 end event type cb_help from w_publ_edit_index`cb_help within w_gz_wageitemdef end type type cbx_1 from checkbox within w_gz_wageitemdef integer x = 919 integer y = 212 integer width = 402 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;int ll_ifuse if this.checked then ll_ifuse = 1 else ll_ifuse = -1 end if f_SetProfileString (sys_empid,dw_uc.DATAOBJECT, "if_user",string(ll_ifuse) ) parent.triggerevent('retrieve_uc') end event event constructor;Int ll_ifuse ll_ifuse = Long(f_ProfileString (sys_empid,dw_uc.DataObject, "if_user",'-1')) IF ll_ifuse = 1 THEN THIS.Checked = TRUE ELSE THIS.Checked = FALSE END IF end event