| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- $PBExportHeader$f_update_login.srf
- global type f_update_login from function_object
- end type
- forward prototypes
- global function integer f_update_login (integer arg_type)
- end prototypes
- global function integer f_update_login (integer arg_type);Int rslt = 1
- IF sys_if_network = 1 THEN RETURN rslt
- Long ll_cnt
- String ls_host, ls_ip
- String arg_msg
- IF arg_type = 1 THEN //登陆
- UPDATE sys_lck
- SET host = :ls_host,
- ip = :ls_ip,
- logintime = getdate(),
- chktime = getdate(),
- UserID = :publ_operator;
- ELSEIF arg_type = 2 THEN //更新
- SELECT count(*)
- INTO :ll_cnt
- FROM sys_lck
- Where UserID = :publ_operator;
- IF sqlca.SQLCode <> 0 THEN
-
- END IF
-
- IF ll_cnt = 0 THEN
- arg_msg = "其他用户已登录"
- rslt = 0
- GOTO ext
- END IF
-
- UPDATE sys_lck
- SET chktime = getdate()
- Where UserID = :publ_operator;
- ELSE //注销
- UPDATE sys_lck
- SET host = '',
- ip = '',
- logintime = NULL,
- chktime = NULL,
- UserID = '';
- END IF
- IF sqlca.SQLCode <> 0 THEN
- IF sqlca.SQLNRows = 0 THEN
- INSERT INTO sys_lck
- (host, ip, chktime, logintime, userid)
- Values (:ls_host, :ls_ip, GETDATE(), GETDATE(), :publ_operator);
- IF sqlca.SQLCode <> 0 THEN
- ROLLBACK;
- ELSE
- COMMIT;
- END IF
-
- ELSE
- ROLLBACK;
- END IF
- ELSE
- COMMIT;
- END IF
- ext:
- RETURN rslt
- end function
|