123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 |
- $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
|