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

📄 cls_wh_salaries.asp

📁 这是一个自己研发的薪酬管理系统
💻 ASP
字号:
<%
'文件功能:wh_salaries--数据逻辑(商业层)
'编写人员:阿房
'编写时间:2003-08-22 15:08:57
'开发平台:ASP3.0 + MSSQL2000
%>

<%
Class Cls_wh_salaries
    '********************************************************************************************
    function SaveData(pStr_PK_salary_id, pStr_salary_date, pStr_salary_month, pStr_employee_id, pStr_salary_info1, pStr_salary_info2, pStr_salary_memo)
    '功能:存储详细数据
    '参数:详细数据集合
    '返回:错误信息或空
    dim Str_ID                           '系统编码
    dim Str_Sql                          'SQL语句
        Str_ID = trim(pStr_PK_salary_id)
    
        if isdate(pStr_salary_date) then
            pStr_salary_date = "'" + FormatDate(pStr_salary_date,"yyyy-mm-dd hh:nn:ss") + "'"
        else
            pStr_salary_date = "null"
        end if
        if (Str_ID = "") then
call checksalary(pStr_salary_month,pStr_employee_id,pStr_salary_date)   
            Str_Sql =  "insert into wh_salaries (" _
            + vbCrlf + "   salary_date" _
            + vbCrlf + "  ,salary_month" _
            + vbCrlf + "  ,employee_id" _
            + vbCrlf + "  ,salary_info1" _
            + vbCrlf + "  ,salary_info2" _
            + vbCrlf + "  ,salary_memo" _
            + vbCrlf + "   )"
            Str_Sql = Str_Sql _
            + vbCrlf + " values (" _
            + vbCrlf + "    " +(pStr_salary_date) + "" _
            + vbCrlf + "  ,0" + cstr(Val(pStr_salary_month)) + "" _
            + vbCrlf + "  ,0" + cstr(Val(pStr_employee_id)) + "" _
            + vbCrlf + "  ,'" + ConvertSql(pStr_salary_info1) + "'" _
            + vbCrlf + "  ,'" + ConvertSql(pStr_salary_info2) + "'" _
            + vbCrlf + "  ,'" + ConvertSql(pStr_salary_memo) + "'" _
            + vbCrlf + "   )"
                     
        else
            Str_Sql =  "Update wh_salaries Set" _
            + vbCrlf + "   salary_date=" +(pStr_salary_date) + "" _
            + vbCrlf + "  ,salary_month=0" + cstr(Val(pStr_salary_month)) + "" _
            + vbCrlf + "  ,employee_id=0" + cstr(Val(pStr_employee_id)) + "" _
            + vbCrlf + "  ,salary_info1='" + ConvertSql(pStr_salary_info1) + "'" _
            + vbCrlf + "  ,salary_info2='" + ConvertSql(pStr_salary_info2) + "'" _
            + vbCrlf + "   Where salary_id='" + ConvertSql(Str_ID) + "'"
        end if
        
        'response.write str_sql
        'response.end
        if (not gCls_DbProcess2.ExecuteSQL(Str_Sql)) then
            SaveData = GetUpdateErrMSG
        else
            SaveData = ""
        end if
		dim lr
		if (Str_ID = "") then
			lr="<font color=green>"&now()&"</font>  <font color=blue>"&session("name")&"</font>添加<font color=blue>员工(员工ID:"&cstr(Val(pStr_employee_id))&")"&cstr(Val(pStr_salary_month))&"月份工资记录 </font> IP:<font color=red>"&REQUEST.SERVERVARIABLES("REMOTE_ADDR")&"</font>"
		else
			lr="<font color=green>"&now()&"</font>  <font color=blue>"&session("name")&"</font>修改<font color=blue>员工(员工ID:"&cstr(Val(pStr_employee_id))&")"&cstr(Val(pStr_salary_month))&"月份工资记录 </font> IP:<font color=red>"&REQUEST.SERVERVARIABLES("REMOTE_ADDR")&"</font>"
		end if
		call savelog("../pub/log.htm",lr)
    end function
    function GetData(pStr_PK_salary_id)
    '功能:读取详细数据
    '参数:数据系统编码
    '返回:详细数据
    dim Str_Sql                          'SQL语句
    dim Rec_Data                         '结果集
        Str_Sql =  "select *" _
        + vbCrlf + "   from wh_salaries" _
        + vbCrlf + "   where salary_id = '" + ConvertSql(pStr_PK_salary_id) + "'"
        'response.write str_sql
        'response.end
        call gCls_DbProcess2.RunSQLSearch(Str_Sql,Rec_Data)
        set GetData = Rec_Data
    end function
    '********************************************************************************************
    function SearchData(pStr_OrderBy, pStr_salary_date, pStr_salary_month, pStr_employee_id, pStr_salary_info1, pStr_salary_info2)
    '功能:查询资料
    '参数:查询条件
    '返回:查询结果
    dim Str_Sql                          'SQL语句
    dim Rec_Data                         '结果集
        Str_Sql="1=1 and employee_id="&session("emp")
    
    
        if isdate(pStr_salary_date) then
            Str_Sql = Str_Sql + vbCrlf + " and datediff(d,salary_date,'" + FormatDate(pStr_salary_date,"yyyy-mm-dd") + "')=0"
            'ACCESS
            'Str_Sql = Str_Sql + vbCrlf + " and datediff('d',salary_date,'" + FormatDate(pStr_salary_date,"yyyy-mm-dd") + "')=0"
        end if
    
        if isnumeric(pStr_salary_month) then
            Str_Sql=Str_Sql + vbCrlf + " and salary_month = 0" + cstr(Val(pStr_salary_month)) + ""
        end if
    
        if isnumeric(pStr_employee_id) then
            Str_Sql=Str_Sql + vbCrlf + " and employee_id = 0" + cstr(Val(pStr_employee_id)) + ""
        end if
    
        if trim(pStr_salary_info1) <> "" then
            Str_Sql = Str_Sql + vbCrlf + " and salary_info1 like '%" + ConvertSql(pStr_salary_info1) + "%'"
        end if
    
        if trim(pStr_salary_info2) <> "" then
            Str_Sql = Str_Sql + vbCrlf + " and salary_info2 like '%" + ConvertSql(pStr_salary_info2) + "%'"
        end if
    
        '排序处理
        if trim(pStr_OrderBy) = "" then
             pStr_OrderBy = "salary_date"
        end if
    
        Str_Sql =  "select *" _
        + vbCrlf + "   from wh_salaries" _
        + vbCrlf + "   where " + Str_Sql  _
        + vbCrlf + "   order by " + pStr_OrderBy
        'response.write str_sql
        'response.end
        call gCls_DbProcess2.RunSQLSearch(Str_Sql,Rec_Data)
        set SearchData = Rec_Data
    end function
    '********************************************************************************************
    function DeleteData(pStr_PK_salary_id)
    '功能:删除资料
    '参数:系统编码集合(如 'A01','A02','A03')
    '返回:错误信息或空
    dim Str_ID                       '编码集合
    dim Str_Sql                      'SQL语句
        Str_ID  = trim(pStr_PK_salary_id)
        if (Str_ID = "") then Str_ID ="''"
        if IsUsed(Str_ID) then 
            DeleteData = GetDeleteErrMSG
            exit function
        end if
        
        Str_Sql =  "delete from wh_salaries" _
        + vbCrlf + "   Where salary_id in (" + Str_ID + ")"
        'response.write str_sql
        'response.end
        if (not gCls_DbProcess2.ExecuteSQL(Str_Sql)) then
            DeleteData = GetDeleteErrMSG
        else
            DeleteData = ""
        end if
		dim lr
		Str_ID=replace(Str_ID,"'","")
		lr="<font color=green>"&now()&"</font>  <font color=blue>"&session("name")&"</font>删除工资(工资ID:"&Str_ID&")</font> IP:<font color=red>"&REQUEST.SERVERVARIABLES("REMOTE_ADDR")&"</font>"
		call savelog("../pub/log.htm",lr)
    end function
    '********************************************************************************************
    function Count()
    '功能:查询数据记录总数
    '参数:无
    '返回:记录总数
    dim Rec_Data                        '结果集
    dim Int_Count                       '记数
    dim Str_Sql                         'SQL语句
        Str_Sql =  "select count(*) as allcount" _
        + vbCrlf + "   from wh_salaries"
        'response.write str_sql
        'response.end
        call gCls_DbProcess2.RunSQLSearch(Str_Sql,Rec_Data)
        if (Rec_Data.eof) then
            Int_Count = 0
        else
            Int_Count = Val(Rec_Data.fields("allcount") & "")
        end if
        Rec_Data.close
        Count = Int_Count
    end function
    '********************************************************************************************
    function IsUsed(pStr_PK_salary_id)
    '功能:数据是否已开始使用
    '参数:系统编码集合
    '返回:是否使用
    dim Rec_Data                          '结果集
    dim Int_Count                         '记数
    dim Str_Sql                           'SQL语句
    dim Str_ID
        Str_ID     = trim(pStr_PK_salary_id)       '编码集合
        if (Str_ID = "") then Str_ID="''"
        '本句需要根据实际情况进行调整
        Str_Sql  = "select count(*) as allcount" _
        + vbCrlf + "   from wh_salaries" _
        + vbCrlf + "   where 1=2"
        'response.write str_sql
        'response.end
        call gCls_DbProcess2.RunSQLSearch(Str_Sql,Rec_Data)
        if (Rec_Data.eof) then
            Int_Count = 0
        else
            Int_Count = Val(Rec_Data.fields("allcount") & "")
        end if
        Rec_Data.Close
        if (Int_Count>0) then
            IsUsed = true
        else
            IsUsed = false
        end if
    end function
    '********************************************************************************************
    function IsExist(pStr_PK_salary_id)
    '功能:数据是否存在
    '参数:系统编码集合
    '返回:是否存在
    dim Rec_Data                          '结果集
    dim Str_Data
    dim Int_Count1                        '记数
    dim Int_Count                         '记数
    dim Str_Sql                           'SQL语句
    dim Str_ID
        Str_ID     = trim(pStr_PK_salary_id)       '编码集合
        if (Str_ID = "") then Str_ID="''"
        '本句需要根据实际情况进行调整
        Str_Sql =  "select count(*) as allcount" _
        + vbCrlf + "   from wh_salaries" _
        + vbCrlf + "  where salary_id in ("+Str_ID+")"
        'response.write str_sql
        'response.end
        call gCls_DbProcess2.RunSQLSearch(Str_Sql,Rec_Data)
        if (Rec_Data.eof) then
            Int_Count = 0
        else
            Int_Count = Val(Rec_Data.fields("allcount") & "")
        end if
        Rec_Data.Close
        Str_Data = split(cstr(Str_ID),",")
        Int_Count1 = ubound(Str_Data)+1
        if (Int_Count=Int_Count1) then
            IsExist = true
        else
            IsExist = false
        end if
    end function
    '********************************************************************************************
function exname(FileNamm)  '此函数用于取出一个文件名的扩展名
    dim filenama,str
	filenama=filenamm
    filenama=right(filenama,6)
    str=instr(filenama,".")
    exname=right(filenama,len(filenama)-str)
end function

function ReadText(FileName)  
'这是一个用于读出文本文件的函数
	dim adf,path
    if UCASE(exname(filename))<>"MDB" AND UCASE(exname(filename))<>"SWF" AND     UCASE(exname(filename))<>"FLA" AND UCASE(exname(filename))<>"JPG" AND  UCASE(exname(filename))<>"GIF"     AND UCASE(exname(filename))<>"PSD" AND UCASE(exname(filename))<>"DOC" AND UCASE(exname(filename))<>"WPS"      AND UCASE(exname(filename))<>"DLL" THEN
	set adf=server.CreateObject("Adodb.Stream")
	if instr(filename,":\")<>0 then
	  path=filename
	else
	  
	  path=server.MapPath(FileName)
	end if
 
	with adf
	 'response.write  path
		.Type=2
		.LineSeparator=13
		.Open
		.LoadFromFile (path)
		.Charset="GB2312"
		.Position=2
		ReadText=.ReadText
		.Cancel()
		.Close()
	end with
	set adF=nothing
 end if
end function

sub savelog(filename,lr)
'记录操作及非法日志
	dim filr
    filr=readtext(filename)
    filr=lr&"<br>"&chr(13)&chr(10)&filr
    call savetext(filename,filr)
end sub

sub SaveText(FileName,Data)  
'这是一个用于写文本文件的过程
	dim fs,path,ts
	set fs=createobject("scripting.filesystemobject") 
	if instr(filename,":\")<>0 then
	  path=filename
	else
	  path=server.MapPath(FileName)
	end if
   set ts=fs.createtextfile(path,true)
    ts.writeline(data)
    ts.close
    set ts=nothing
    set fs=nothing
end sub

function checksalary(mon,emp,dat)
'检查该月份(mon)是否已发放给该员工(emp)工资
	dim conn
	dim connStr
	Set Conn=Server.CreateObject("ADODB.Connection") 
	connStr=gStr_WebDSN
	Conn.Open connstr 	
	dim sql
	sql = "select * from wh_salaries where salary_month="&mon&" and employee_id="&emp&" and salary_date like '%"&year(replace(dat,"'",""))&"%'"
	'response.write sql
	'response.end
	set rs=conn.execute(sql)
	if not rs.eof then
		response.redirect("../error.asp?msg=3")
		response.end
	end if
end function



end Class
dim mCls_wh_salaries
set mCls_wh_salaries = new Cls_wh_salaries
%>

⌨️ 快捷键说明

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