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

📄 tasktodo.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="../common/commonpage.inc" -->
<!-- #include file="tasktodo.inc" -->

<%
call CheckSecurity()

'********************************************************************************************************
' 服务器端代码

'-------------------------------------------------------------------------------------------------------------------------------------------------
' 分页相关的变量定义
'-------------------------------------------------------------------------------------------------------------------------------------------------
Dim sSQL, sWhere, sOrderby
Dim sFileName			: sFileName = "tasktodo.asp"
Dim sEmpId				: sEmpId = GetUserId
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 sMyEmpSerial		: sMyEmpSerial = GetEmpSerial()
'-------------------------------------------------------------------------------------------------------------------------------------------------
' 查询参数,任务分类,开始时间,结束时间,任务时效
'-------------------------------------------------------------------------------------------------------------------------------------------------
Dim pDay1  : pDay1 = GetParam("day1")
Dim pDay2  : pDay2 = GetParam("day2")
Dim pTaskStatus	: pTaskStatus = GetParam("task_status")

'if IsEmpty(pDay1) then pDay1 = DateSerial(year(date), month(date), 1)		'' 当月1日开始
if IsEmpty(pDay1) then pDay1 = dateserial(year(date), month(date), 1)
if IsEmpty(pDay2) then pDay2 = date


if IsEmpty(pTaskStatus) then pTaskStatus = 0			' 如果没有task_status参数,则认为是选择所有时间类型的任务
if Not IsNumeric(pTaskStatus) then pTaskStatus = 0 ' 如果task_status参数不对,也认为是选择所有时间类型的任务
pTaskStatus = CInt(pTaskStatus)							' 转换成整数类型

sFormParams = "day1=" & pDay1 & "&day2=" & pDay2 & "&task_status=" & pTaskStatus & "&"


'********************************************************************************************************
' 构造分页的SQL语句
'********************************************************************************************************
sSQL = "select T.Serial as Personal_Task_Serial, T.Task_Serial as Task_Serial, isnull(T.Progress_Percent,0) as Progress_Percent" & _
			", T1.Subject as Subject, T1.Content as Content, T1.DoFrom as DoFrom, T1.DoEnd as DoEnd" & _
			", T3.Name as Creator, T1.Create_Date as Create_Date, T1.Executor as Executor" & _
			", T1.Urgency as Urgency, T2.Urgency_Desc as Urgency_Desc" & _
			" from T_PersonalTask T" & _
			" join T_Task T1 on T1.task_serial = T.task_serial" & _
			" left join T_Urgency T2 on T2.urgency_id = T1.urgency" & _
			" left join T_Employee T3 on T3.serial = T1.creator"
'sWhere = " where T.emp_serial = " & ToSQL(sMyEmpSerial, "Number") & _
'		" and T1.Task_Serial = T.Task_Serial" & _
'		" and T1.Urgency = T2.Urgency_id" & _
'		" and T1.Creator = T3.serial"
sWhere = " where T.emp_serial = " & ToSQL(sMyEmpSerial, "Number")

'' 查询条件增加任务时间限制,检查时间范围内的任务以及那些过期未完成的任务
'sWhere = sWhere & _
'			" and (" &_
'						"(T1.DoFrom<=" & ToSQL(pDay1,"Text") & " and T1.DoEnd>=" & ToSQL(pDay1,"Text") & ")" & _
'						" or (T1.DoFrom<" & ToSQL(DateAdd("d",1,pDay2),"Text") & " and T1.DoEnd>" & ToSQL(DateAdd("d",1,pDay2),"Text") & ")" & _
'						" or (T1.DoFrom>=" & ToSQL(pDay1,"Text") & " and T1.DoEnd<" & ToSQL(DateAdd("d", 1, pDay2),"Text") & ")" & _
'					")"
dim time1, time2
time1 = pDay1
time2 = DateAdd("n", -1, DateAdd("d", 1, pDay2))		'' 加一天减一分钟


'' 如果任务完成状态选择了-所有-,则还要选择所有过期未完成的任务
dim sTemp	 : sTemp = ""
if pTaskStatus = 0 or pTaskStatus = 2 then
	sTemp = " or ((progress_percent < 100 or progress_percent is null) and doend <= " & ToSQL(now, "Text") & ")"
end if
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") & ")" & _
						sTemp & _
					")"

''response.write sWhere & "<br><br>"
'' 查询条件增加任务时效限制,后来3,4两项去掉了
'' 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 or progress_percent is null)"
'case 3:
	''sWhere = sWhere & " and (progress_percent < 100 or progress_percent is null) and doend > " & ToSQL(pDay2,"Text")
'	sWhere = sWhere & " and (progress_percent < 100 or progress_percent is null) and doend > " & ToSQL(now,"Text")
'case 4:
''	sWhere = sWhere & " and (progress_percent < 100 or progress_percent is null) and doend < " & ToSQL(DateAdd("d",1,pDay2),"Text")
'	sWhere = sWhere & " and (progress_percent < 100 or progress_percent is null) and doend <= " & ToSQL(now, "Text")
case else:
	' do nothing
end select

sOrderby = " order by doend"
'********************************************************************************************************
' 分页SQL语句构造完毕,调用PrepareListData进行分页前的准备
'-------------------------------------------------------------------------------------------------------------------------------------------------
dim arrayFields(4), sDelimiter
sDelimiter = "*"
arrayFields(0) = "urgency"
arrayFields(1) = "progress_percent"
arrayFields(2) = "dofrom"
arrayFields(3) = "doend"
arrayFields(4) = "subject"
call PrepareListData(sSQL & sWhere & sOrderby, Join(arrayFields, sDelimiter), sDelimiter)
'response.write sSQL & sWhere & sOrderby & "<br>" : response.end
'********************************************************************************************************
%>

<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 & 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 + -