⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 common_bak.inc

📁 物业管理和办公自动化系统
💻 INC
📖 第 1 页 / 共 2 页
字号:
<%
'************************************************************************************************
' 文件名: common.inc
' Copyright(c) 2001-2002 上海阿尔卡特网络支援系统有限公司

'  创建人 : 周秋舫
'  日 期 : 2002-05-08
' 修改历史 :
'   ****年**月**日 ****** 修改内容:**************************************************
' 功能描述 : 其它常用函数
'	SetUserInfor(sLoginname)	..: 保存用户信息
'	EmptyUserInfor()	..............: 清除用户信息
'	DealEmptySessionValue	......: 如果session值为空,则清空所有的session值,认为session已过期
'	SetUserId(sLoginname)	......: 保存用户登录名
'	GetUserId()	......................: 获取用户登录名,如s10072,admin
'	SetUserName(sUserName)	..: 保存用户姓名
'	GetUserName()	..................: 获取用户姓名,如周秋舫
'	SetEmpSerial(id)	..............: 保存用户序列号
'	GetEmpSerial()	..................: 获取用户序列号,如54(周秋舫的emp_serial为54)
'	SetRoleId(id)	......................: 保存用户角色标识
'	GetRoleId()	......................: 获取用户角色标识
'	SetOnline()	......................: 设置成在岗状态
'	SetOffline()	......................: 设置成离岗状态
'	GetOnlineStatus()	..............: 获取用户在岗/离岗状态
'	IsOnline	()	..........................: 用户是否在线,是true,否false
'	IsLogin()	..........................: 用户是否已经登录,是true,否false

'	IsAdministrator()	..............: 判断当前用户是不是系统管理员
'	IsOfficer()	..........................: 判断当前用户是不是办公室主任
'	IsHrAdmin	..........................: 判断当前用户是不是人事管理员
'	IsDocAdmin()		..................: 判断当前用户是不是公文管理员
'	IsRuleAdmin()	..................: 判断当前用户是不是制度管理员
'	IsHotspotAdmin()	..............: 判断当前用户是不是大事管理员
'	IsLibraryAdmin()	..............: 判断当前用户是不是图书管理员
'	IsCustomerAdmin()	..........: 判断当前用户是不是单位名录管理员
'	IsNewsAdmin()	..................: 判断当前用户是不是大楼动态新闻管理员

'	EmpSerialOfSpecialPost(post_id)	........: 根据特殊角色的 post_id 取到相应员工的emp_serial

'	HasRightToDocInfor	..........: 是否有公文查询的权限
'	HasRightToHrInfor	..............:	是否有人事信息查询的权限
'  版 本 :
'************************************************************************************************

'' 特殊角色常量定义
Const ID_OFFICER				= 1		'' 办公室主任
Const ID_HRADMIN			= 2		'' 人事管理员
Const ID_DOCADMIN			= 3		'' 公文登记员
Const ID_RULEADMIN			= 4		'' 制度管理员
Const ID_HOTSPOTADMIN	= 5		'' 大事管理员
Const ID_LIBRARYADMIN	= 6		'' 图书管理员
Const ID_CUSTOMERADMIN = 7		'' 单位名录管理员
Const ID_NEWSADMIN		= 8		'' 大楼动态新闻管理员


'' 权限常量定义
Const ID_DOCINFOR			= "0101"	'' 公文信息查询
Const ID_HRINFOR				= "0201"	'' 人事信息查询


'************************************************************************************************
' 函数名 : SetUserInfor
' 输 入 : sLoginname	---- 用户登录名,字符串类型
' 输 出 : SetUserInfor函数名作为返回值,成功返回空字串,出错返回错误信息
' 功能描述: 设置全局性的用户信息
' 调用模块: 
' 作 者 : 周秋舫
' 日 期 : 2002-05-29
' 版 本 : 
'************************************************************************************************
Function SetUserInfor(sLoginname)
	dim crs, rs, sSQL
	dim iEmpSerial, sUserName, iRoleId, iDepartmentId, iNodeId, iCoId, sCoName
	dim sError

	DebugStr("start in function SetUserInfor...")
	DebugStr("Loginname:" & sLoginname)

	sError = ""
	sSQL = "select T1.role_id as role_id, T2.serial as emp_serial, T2.name as emp_name, T2.node_id as node_id, T2.co_id as co_id, T4.parent_node_id as department_id, T3.co_name as co_name" & _
		" from T_Account T1" & _
		" left join T_Employee t2 on t2.emp_id = t1.account_id" & _
		" left join T_Company t3 on t3.co_id = t2.co_id" & _
		" left join T_node t4 on t4.node_id = t2.node_id" & _
		" where t1.account_id = " & ToSQL(sLoginname, "Text")

	set crs = New CRecordset
	set rs = crs.Open(dbLocal, sSQL)
	
	if Not rs.EOF then
		iEmpSerial		= crs.GetValue("emp_serial")
		sUserName	= crs.GetValue("emp_name")
		iRoleId			= crs.GetValue("role_id")
		iCoId				= crs.GetValue("co_id")
		iNodeId			= crs.GetValue("node_id")
		iDepartmentId	= crs.GetValue("department_id")
		sCoName		= crs.GetValue("co_name")
		
		'' 保存用户信息
		SetUserId( sLoginname )			' 用户标识,即登录账号
		SetEmpSerial( iEmpSerial )		' 用户流水号
		SetUserName( sUserName )	' 用户姓名
		SetRoleId( iRoleId )				' 用户角色标识
		SetCoId( iCoId )					' 用户所在公司的公司标识
		SetNodeId( iNodeId )				' 用户所在岗位的标识
		SetDepartmentId( iDepartmentId)'用户所在部门的标识
		SetCoName( sCoName )			' 用户所在公司的公司名称
		SetOnline()							' 用户在岗状态

		'' 判断用户数据是否完整,这里仅判断NodeId,如果不完整,但如果是人事管理员,则让其进入,其他则拒绝
		if iNodeId = "" or iDepartmentId = "" then
			if IsHrAdmin or IsAdministrator then
				'' 只有人事管理员和系统管理员可以进入
			else
				'' 清除用户信息
				call EmptyUserInfor()
				Response.Redirect "../common/error.asp?error=您的员工信息不完整(尚未指定部门和岗位),如有疑问,请直接联系人事管理员。&"
				Response.end
			end if
		end if
	else
		sError = "该用户名不存在或数据库数据不全!"	
	end if
	crs.Close()
	SetUserInfor = sError
End Function

'************************************************************************************************
' 函数名 : EmptyUserInfor
' 输 入 : (无)
' 输 出 : (无)
' 功能描述: 清除Session和Cookie值
' 调用模块: 
' 作 者 : 周秋舫
' 日 期 : 2002-05-29
' 版 本 : 
'************************************************************************************************
Sub EmptyUserInfor()
	' 清除Session.Contents集合中的每一项的值
	Dim Item
	For Each Item in Session.Contents 
		Session.Contents(Item) = empty
	Next

	' 清除Response.Cookies集合中的每一项的值
	For Each Item in Response.Cookies
		Response.Cookies(Item) = empty
	Next
End Sub

'************************************************************************************************
' 函数名 : DealEmptySessionValue
' 输 入 : sessionvalue,某个session值
' 输 出 : (无)
' 功能描述: 如果输入的session值为空,则清除所有全局性的用户信息,并转向登录页面
' 调用模块: 
' 作 者 : 周秋舫
' 日 期 : 2002-08-27
' 版 本 : 
'************************************************************************************************
Sub DealEmptySessionValue(sessionvalue)
	if IsNull(sessionvalue) then sessionvalue = ""
	if IsEmpty(sessionvalue) then sessionvalue = ""
	if sessionvalue = "" then
		'' 彻底清除所有全局性的用户信息,并转向登录页面
		''Response.Write "sessionvalue:" & session()
		''call EmptyUserInfor()
		Response.Clear
		Response.Redirect "/oa/"
		Response.end
	end if
End Sub


'************************************************************************************************
' 函数名 : SetUserId
' 输 入 : sLoginname	---- 用户登录名
' 输 出 : (无)
' 功能描述: 用Session来保存用户登录名,如wangjiewei,admin
' 调用模块: 
' 作 者 : 周秋舫
' 日 期 : 2002-05-29
' 版 本 : 
'************************************************************************************************
Sub SetUserId(sLoginname)
	Session("UserID") = sLoginname
	''Response.Cookies("UserID") = sLoginname
	''Response.Cookies("UserID").Expires=#2010-1-1#
End Sub

'************************************************************************************************
' 函数名 : GetUserId
' 输 入 : (无)
' 输 出 : GetUserId函数名作为返回值,返回当前用户的登录名,类型为字符串
' 功能描述: 取出当前用户的登录名
' 调用模块: 
' 作 者 : 周秋舫
' 日 期 : 2002-05-29
' 版 本 : 
'************************************************************************************************
Function GetUserId()
	dim sTemp
	sTemp = Session("UserID")
	''sTemp = Request.Cookies("UserID")

	call DealEmptySessionValue(sTemp)
	GetUserId = sTemp
End Function

'************************************************************************************************
' 函数名 : SetUserName
' 输 入 : sUserName	---- 用户姓名,字符串类型
' 输 出 : (无)
' 功能描述: 用Session来保存用户姓名
' 调用模块: 
' 作 者 : 周秋舫
' 日 期 : 2002-05-29
' 版 本 : 
'************************************************************************************************
Sub SetUserName(sUserName)
	Session("UserName") = sUserName
	''Response.Cookies("UserName") = sUserName
	''Response.Cookies("UserName").Expires=#2010-1-1#
End Sub

'************************************************************************************************
' 函数名 : GetUserName
' 输 入 : (无)
' 输 出 : 用户姓名,字符串类型
' 功能描述: 获取当前用户的姓名
' 调用模块: 
' 作 者 : 周秋舫
' 日 期 : 2002-05-29
' 版 本 : 
'************************************************************************************************
Function GetUserName()
	dim sTemp
	sTemp = Session("UserName")
	''sTemp = Request.Cookies("UserName")

	call DealEmptySessionValue(sTemp)
	GetUserName = sTemp
End Function

'************************************************************************************************
' 函数名 : SetEmpSerial
' 输 入 : id	---- 用户序列号,整型
' 输 出 : (无)
' 功能描述: 用Session来保存用户序列号
' 调用模块: 
' 作 者 : 周秋舫
' 日 期 : 2002-05-29
' 版 本 : 
'************************************************************************************************
Sub SetEmpSerial(id)
	Session("EmpSerial") = id
	''Response.Cookies("EmpSerial") = id
	''Response.Cookies("EmpSerial").Expires=#2010-1-1#
End Sub

'************************************************************************************************
' 函数名 : GetEmpSerial
' 输 入 : (无)
' 输 出 : 用户序列号,整型
' 功能描述: 获取当前用户的序列号
' 调用模块: 
' 作 者 : 周秋舫
' 日 期 : 2002-05-29
' 版 本 : 
'************************************************************************************************
Function GetEmpSerial()
	dim sTemp
	sTemp = Session("EmpSerial")
	''sTemp = Request.Cookies("EmpSerial")

	call DealEmptySessionValue(sTemp)
	GetEmpSerial = sTemp
End Function

'************************************************************************************************
' 函数名 : SetRoleId
' 输 入 : id	---- 用户角色标识,整型
' 输 出 : (无)
' 功能描述: 用Session来保存用户角色标识
' 调用模块: 
' 作 者 : 周秋舫
' 日 期 : 2002-05-29
' 版 本 : 
'************************************************************************************************
Sub SetRoleId(id)
	Session("RoleID") = id
	''Response.Cookies("RoleID") = id
	''Response.Cookies("RoleID").Expires=#2010-1-1#
End Sub

'************************************************************************************************
' 函数名 : GetRoleId
' 输 入 : (无)
' 输 出 : 用户角色标识,整型
' 功能描述: 获取当前用户的角色标识
' 调用模块: 
' 作 者 : 周秋舫
' 日 期 : 2002-05-29
' 版 本 : 
'************************************************************************************************
Function GetRoleId()
	dim sTemp
	sTemp = Session("RoleID")
	''sTemp = Request.Cookies("RoleID")
	
	call DealEmptySessionValue(sTemp)
	GetRoleId = sTemp
End Function


'************************************************************************************************
' 函数名 : SetOnline
' 输 入 : (无)
' 输 出 : (无)
' 功能描述: 用Cookie来保存用户在岗状态为“on”
' 调用模块: 
' 作 者 : 周秋舫
' 日 期 : 2002-05-29
' 版 本 : 
'************************************************************************************************
Sub SetOnline()
	Session("online") = "on"
	''Response.Cookies("online") = "on"
	''Response.Cookies("online").Expires=#2010-1-1#
End Sub

'************************************************************************************************
' 函数名 : SetOffline
' 输 入 : (无)
' 输 出 : (无)
' 功能描述: 用Cookie来保存用户在岗状态为“off”
' 调用模块: 
' 作 者 : 周秋舫
' 日 期 : 2002-05-29
' 版 本 : 
'************************************************************************************************
Sub SetOffline()
	Session("online") = "off"
	''Response.Cookies("online") = "off"
	''Response.Cookies("online").Expires=#2010-1-1#
End Sub

'************************************************************************************************
' 函数名 : GetOnlineStatus
' 输 入 : (无)
' 输 出 : 用户在岗状态“on” 或“off”,字符串类型
' 功能描述: 获取当前用户的在岗状态,“on” 或 “off”
' 调用模块: 
' 作 者 : 周秋舫
' 日 期 : 2002-05-29
' 版 本 : 
'************************************************************************************************
Function GetOnlineStatus()
	dim sTemp
	sTemp = Session("online")
	''sTemp = Request.Cookies("online")

	call DealEmptySessionValue(sTemp)
	GetOnlineStatus = sTemp
End Function

'************************************************************************************************
' 函数名 : IsOnline
' 输 入 : (无)
' 输 出 : 用户在岗状态true 或false,布尔类型
' 功能描述: 获取当前用户的在岗状态,在岗返回true,离岗返回false
' 调用模块: 
' 作 者 : 周秋舫
' 日 期 : 2002-05-29
' 版 本 : 
'************************************************************************************************
Function IsOnline()
	if GetOnlineStatus = "on" then
	''if Request.Cookies("online") = "on" then

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -