$PBExportHeader$uo_basewage.sru forward global type uo_basewage from nonvisualobject end type end forward global type uo_basewage from nonvisualobject end type global uo_basewage uo_basewage forward prototypes public function integer uof_basepay_init (long arg_empid, string arg_empname, decimal arg_basepay, ref string arg_msg, boolean arg_ifcommit) public function integer uof_laborbasepay_init (long arg_empid, string arg_empname, decimal arg_basepay, decimal arg_hotamt, ref string arg_msg, boolean arg_ifcommit) end prototypes public function integer uof_basepay_init (long arg_empid, string arg_empname, decimal arg_basepay, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1 Long cnt IF arg_empid = 0 THEN arg_msg = '员工:'+arg_empname+',错误的员工ID' rslt = 0 GOTO ext END IF SELECT count(*) INTO :cnt FROM u_rs_empinfo Where empid = :arg_empid; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询员工:'+arg_empname+',基本资料失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF IF cnt = 0 THEN arg_msg = '员工:'+arg_empname+',基本资料不存在,请检查' rslt = 0 GOTO ext ELSEIF cnt > 1 THEN arg_msg = '员工:'+arg_empname+',基本资料重复,请检查' rslt = 0 GOTO ext END IF IF arg_basepay < 0 THEN arg_msg = '请输入正确的基本工资' rslt = 0 GOTO ext END IF UPDATE u_basepay SET basepay = :arg_basepay Where empid = :arg_empid; IF sqlca.SQLCode = 0 THEN IF sqlca.SQLNRows = 0 THEN INSERT INTO u_basepay (empid,basepay,moddate) Values(:arg_empid,:arg_basepay,getdate()); IF sqlca.SQLCode <> 0 THEN arg_msg = '新增员工:'+arg_empname+',基本工资失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF END IF ELSE arg_msg = '更新员工:'+arg_empname+',基本工资失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF ext: IF rslt = 0 THEN ROLLBACK; ELSEIF rslt = 1 AND arg_ifcommit THEN COMMIT; END IF RETURN rslt end function public function integer uof_laborbasepay_init (long arg_empid, string arg_empname, decimal arg_basepay, decimal arg_hotamt, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1 Long cnt IF arg_empid = 0 THEN arg_msg = '员工:'+arg_empname+',错误的员工ID' rslt = 0 GOTO ext END IF SELECT count(*) INTO :cnt FROM u_rs_empinfo Where empid = :arg_empid; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询员工:'+arg_empname+',基本资料失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF IF cnt = 0 THEN arg_msg = '员工:'+arg_empname+',基本资料不存在,请检查' rslt = 0 GOTO ext ELSEIF cnt > 1 THEN arg_msg = '员工:'+arg_empname+',基本资料重复,请检查' rslt = 0 GOTO ext END IF IF arg_basepay < 0 THEN arg_msg = '请输入正确的劳动法基本工资' rslt = 0 GOTO ext END IF IF arg_hotamt < 0 THEN arg_msg = '请输入正确的劳动法高温补贴' rslt = 0 GOTO ext END IF UPDATE u_basepay SET laborbasepay = :arg_basepay, laborhotamt = :arg_hotamt Where empid = :arg_empid; IF sqlca.SQLCode = 0 THEN IF sqlca.SQLNRows = 0 THEN INSERT INTO u_basepay (empid,laborbasepay, laborhotamt,moddate) Values(:arg_empid,:arg_basepay,:arg_hotamt, getdate()); IF sqlca.SQLCode <> 0 THEN arg_msg = '新增员工:'+arg_empname+',劳动法基本工资及高温补贴失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF END IF ELSE arg_msg = '更新员工:'+arg_empname+',劳动法基本工资及高温补贴失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF ext: IF rslt = 0 THEN ROLLBACK; ELSEIF rslt = 1 AND arg_ifcommit THEN COMMIT; END IF RETURN rslt end function on uo_basewage.create call super::create TriggerEvent( this, "constructor" ) end on on uo_basewage.destroy TriggerEvent( this, "destructor" ) call super::destroy end on