📄 tasks.asp
字号:
<%
'************************************************************************************************
' 文件名: tasktodo.asp
' Copyright(c) 2001-2002 上海阿尔卡特网络支援系统有限公司
'
' 创建人 : 周秋舫
' 日 期 : 2002-05-13
' 修改历史 :
' ****年**月**日 ****** 修改内容:**************************************************
' 功能描述 : 待办事宜,查询某种任务类型和时效类型,某一时段(指定开始时间和结束时间)的待办事宜
' 版 本 :
'************************************************************************************************
option explicit
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "no-cache"
Response.Expires = -1
%>
<!-- #include file="../include/config.inc" -->
<!-- #include file="../include/common.inc" -->
<!-- #include file="../include/debug.inc" -->
<!-- #include file="../include/db.inc" -->
<!-- #include file="../include/date.inc" -->
<!-- #include file="../include/datahandle.inc" -->
<!-- #include file="../include/recordlist.inc" -->
<!-- #include file="../include/security.inc" -->
<!-- #include file="../include/emp.inc" -->
<!-- #include file="../common/commonpage.inc" -->
<!-- #include file="tasks.inc" -->
<%
call CheckSecurity()
'********************************************************************************************************
' 服务器端代码
'-------------------------------------------------------------------------------------------------------------------------------------------------
' 分页相关的变量定义
'-------------------------------------------------------------------------------------------------------------------------------------------------
Dim sSQL, sWhere, sGroupby, sOrderby
Dim sFileName : sFileName = "tasks.asp"
Dim sEmpId : sEmpId = GetUserId
Dim iEmpSerial : iEmpSerial = GetEmpSerial
Dim iTotalRecords : iTotalRecords = 0 ' 分页
Dim iRecordsPerPage : iRecordsPerPage = 15
Dim iTotalPages : iTotalPages = 0
Dim iCols : iCols = 5
Dim iCurrentPage : iCurrentPage = GetParam("Page")
Dim iSort : iSort = GetParam("Sorting")
Dim iSorted : iSorted = GetParam("Sorted")
Dim sSortParams : sSortParams = ""
Dim sFormParams : sFormParams = ""
Dim sDirection : sDirection = ""
'-------------------------------------------------------------------------------------------------------------------------------------------------
' 查询参数,开始时间,结束时间,任务时效
'-------------------------------------------------------------------------------------------------------------------------------------------------
Dim pDay1 : pDay1 = GetParam("day1")
Dim pDay2 : pDay2 = GetParam("day2")
''if IsEmpty(pDay1) then pDay1 = date
if IsEmpty(pDay1) then pDay1 = DateSerial(year(date), month(date), 1) '' 当月1日开始
if IsEmpty(pDay2) then pDay2 = date
'' 任务的时效状态
Dim pTaskStatus : pTaskStatus = GetParam("task_status")
if IsEmpty(pTaskStatus) then pTaskStatus = 0 ' 如果没有task_status参数,则认为是选择所有时间类型的任务
if Not IsNumeric(pTaskStatus) then pTaskStatus = 0 ' 如果task_status参数不对,也认为是选择所有时间类型的任务
pTaskStatus = CInt(pTaskStatus) ' 转换成整数类型
'' 主题或正文关键字
Dim pKeyword : pKeyword = GetParam("keyword")
sFormParams = "day1=" & pDay1 & "&day2=" & pDay2 & "&task_status=" & pTaskStatus & "&keyword=" & pKeyword & "&"
'********************************************************************************************************
' 构造分页的SQL语句
'********************************************************************************************************
sSQL = "select t1.task_serial, t1.subject, t1.dofrom, t1.doend, t1.executor, t2.urgency_desc," & _
" min(isnull(t3.progress_percent,0)) as progress_percent" & _
" from T_Task t1" & _
" left join T_Urgency t2 on t2.urgency_id = t1.urgency" & _
" join T_PersonalTask t3 on t3.task_serial = t1.task_serial"
sWhere = " where t1.emp_serial = " & iEmpSerial & _
" and t1.task_type = 1"
sGroupby = " group by t1.task_serial, t1.subject, t1.dofrom, t1.doend, t1.executor, t2.urgency_desc"
sOrderby = " order by t1.task_serial desc"
sWhere = " where t1.Creator = " & iEmpSerial
' 查询条件增加任务时间限制
dim time1, time2
time1 = pDay1
time2 = DateAdd("n", -1, DateAdd("d", 1, pDay2)) '' 加一天减一分钟
sWhere = sWhere & _
" and (" & _
" (t1.dofrom<=" & ToSQL(time1,"Text") & " and t1.doend>=" & ToSQL(time1,"Text") & ")" & _
" or (t1.dofrom<=" & ToSQL(time2,"Text") & " and t1.doend>=" & ToSQL(time2,"Text") & ")" & _
" or (t1.dofrom>=" & ToSQL(time1,"Text") & " and t1.doend<=" & ToSQL(time2,"Text") & ")" & _
")"
' 查询条件增加任务时效限制
' 0:全部;1:所有已完成任务;2:所有未完成任务;3:正常未完成任务;4:过时未完成任务
select case pTaskStatus
case 0:
' do nothing
case 1:
sWhere = sWhere & " and progress_percent = 100"
case 2:
sWhere = sWhere & " and progress_percent < 100"
case 3:
sWhere = sWhere & " and progress_percent < 100 and doend > " & ToSQL(pDay2,"Text")
case 4:
sWhere = sWhere & " and progress_percent < 100 and doend <= " & ToSQL(pDay2,"Text")
case else:
' do nothing
end select
'' 查询条件增加关键字限制
if Not IsEmpty(pKeyword) then
sWhere = sWhere & " and " & _
"(subject like " & ToSQL("%" & pKeyword & "%", "Text") & _
" or content like " & ToSQL("%" & pKeyword & "%", "Text") & _
")"
end if
'response.write sSQL & sWhere & sGroupby & sOrderby & "<br>" : response.end
'********************************************************************************************************
' 分页SQL语句构造完毕,调用PrepareListData进行分页前的准备
'-------------------------------------------------------------------------------------------------------------------------------------------------
dim arrayFields(4), sDelimiter
sDelimiter = "*"
arrayFields(0) = "urgency"
arrayFields(1) = "subject"
arrayFields(2) = "dofrom"
arrayFields(3) = "doend"
arrayFields(4) = "executor"
call PrepareListData(sSQL & sWhere & sOrderby, Join(arrayFields, sDelimiter), sDelimiter)
'********************************************************************************************************
%>
<html>
<head>
<title>上海信息大楼 Shanghai Information Tower</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" href="../common/common.css" type="text/css">
<!-- 日历 -->
<IFRAME style="display:none;position:absolute;width:148;height:194;z-index=100" ID="CalFrame" MarginHeight=0 MarginWidth=0 noresize frameborder=0 scrolling=no src="../common/cal/calendar.htm"></IFRAME>
<script language="javascript" src="../common/cal/calendar.js"></script>
<script for=document event="onclick()">
<!--
document.all.CalFrame.style.display="none";
//-->
</script>
<!-- 日历 -->
<script language="VBScript">
Sub btnSearch_OnClick()
document.all.frmSearchTask.submit()
End Sub
</script>
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" background="../images/bg/bg0.jpg">
<br>
<%
Response.Write OuterTableHeader
Response.Write HeaderWithMenu
Response.Write InnerTableHeader
'********************************************************************************************************
' 主体从这里开始
'-------------------------------------------------------------------------------------------------------------------------------------------------
Response.Write TableSearch
Response.Write TableHeader
Response.Write TableRecords(sSQL & sWhere & sGroupby & sOrderby, iCols, iRecordsPerPage, iTotalRecords, iCurrentPage, iTotalPages, sFileName, sFormParams, sSortParams )
Response.Write TableLink
'-------------------------------------------------------------------------------------------------------------------------------------------------
' 主体到这里结束
'********************************************************************************************************
Response.Write InnerTableTailer
Response.Write Footer
Response.Write OuterTableTailer
%>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -