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

📄 tasks.asp

📁 物业管理和办公自动化系统
💻 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 + -