<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
|
<%Session.CodePage=65001%>
|
<%
|
'Response.Cookies("OA")("adminID")=""
|
'Response.end
|
searchTXT=Request("searchTXT")
|
ReportType=SafeRequest(Request("ReportType"))
|
state=request("state")
|
If state<>"" Then
|
stateSP=split(state,"|")
|
for i = 0 to UBOUND(stateSP)
|
If InStr(stateSP(i),"searchTXT=")=1 Then
|
searchTXT=Replace(stateSP(i),"searchTXT=","")
|
ElseIf InStr(stateSP(i),"ReportType=")=1 Then
|
ReportType=Replace(stateSP(i),"ReportType=","")
|
End If
|
Next
|
End If
|
If ReportType="" Then ReportType="2"
|
'if OrdState="" then Response.Redirect "/"
|
state=ReportType%>
|
<!--#include virtual="/weixin/OAuth2.gds"-->
|
<!--#include virtual="/inc/function.gds"-->
|
<%
|
Set rs = Server.CreateObject("ADODB.Recordset")
|
'session("adminID")=85
|
if session("adminID")="" then Response.Redirect "/"
|
'个人信息
|
sql="select * from OA_User where OA_User_ID="&session("adminID")
|
rs.open sql,objConn,1,1
|
If not rs.Eof then
|
OA_weixinUserID = rs("OA_weixinUserID")
|
OA_Name = rs("OA_Name")
|
OA_weixinAvatar = rs("OA_weixinAvatar")
|
OA_DepartmentID = rs("OA_DepartmentID")
|
session("admin_Power")=rs("OA_Power")
|
admin_Power=session("admin_Power")
|
End If
|
rs.close()
|
If isDepartment("0702")=0 Then Response.Redirect "/m_logout.html"
|
If OA_weixinAvatar="" Then OA_weixinAvatar="/resources/images/icon_avatar_default.png"
|
|
'显示相关公司
|
If UnitIDCookies<>"" Then
|
sql="SELECT OrderClassIDs = STUFF((select ','+vOrder2 from dictionary where vType>=1 and vtitle='UnitName' and vID in ("&UnitIDCookies&") FOR XML PATH('')), 1, 1, '')"
|
rs.open Sql,objConn,1,1
|
If not rs.Eof Then
|
OrderClassIDs = rs(0)
|
End If
|
rs.close()
|
If OrderClassIDs<>"" Then
|
OrdClassListSql=""
|
sql="select vOrder2 from dictionary where vType>=1 and vtitle='OrderClass' and vID in ("&OrderClassIDs&") order by vOrder"
|
rs.open Sql,objConn,1,1
|
do while not rs.Eof
|
OrdClassListSql = OrdClassListSql &"','"& rs("vOrder2")
|
rs.movenext
|
Loop
|
rs.close()
|
If OrdClassListSql<>"" Then OrdClassListSql=Mid(OrdClassListSql,4)
|
Else
|
UnitIDCookies=""
|
End If
|
End If
|
%>
|
<!doctype html>
|
<html>
|
<head>
|
<meta charset="utf-8">
|
<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<title>业务报表</title>
|
|
<!-- Bootstrap -->
|
<link href="/css/bootstrap.css" rel="stylesheet">
|
<link href="/css/layout.css" rel="stylesheet">
|
|
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
|
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
<!--[if lt IE 9]>
|
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
|
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
|
<![endif]-->
|
|
</head>
|
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
|
<script src="/js/jquery-1.12.3.min.js"></script>
|
|
<!-- Include all compiled plugins (below), or include individual files as needed -->
|
<script src="/js/bootstrap.js"></script>
|
<script src="/js/Chart.js"></script>
|
<script src="/js/main.js"></script>
|
<body style="width:100%;margin:0;padding:0;">
|
<%
|
If searchTXT="" Then
|
searchDate="getdate()"
|
Else
|
searchDate="'"&searchTXT&"'"
|
End If
|
If ReportType="1" then '日
|
SqlDate=" between dateadd(ms,0,DATEDIFF(d,0,"&searchDate&")) and dateadd(ms,3,DATEDIFF(d,-1,"&searchDate&")) "
|
DateFF="h"
|
DateDD="d"
|
ElseIf ReportType="2" Then '周
|
SqlDate=" between dateadd(ms,0,DATEDIFF(d,6,"&searchDate&")) and dateadd(ms,-3,DATEDIFF(d,-1,"&searchDate&")) "
|
DateFF="d"
|
DateDD="ww"
|
ElseIf ReportType="3" Then '月
|
SqlDate=" between dateadd(ms,0,DATEDIFF(d,29,"&searchDate&")) and dateadd(ms,-3,DATEDIFF(d,-1,"&searchDate&")) "
|
DateFF="d"
|
DateDD="m"
|
ElseIf ReportType="4" Then '年
|
SqlDate=" between dateadd(mm,-12,DATEADD(mm, DATEDIFF(m,0,"&searchDate&")+1,0)) and dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,"&searchDate&")+1,0)) "
|
DateFF="d"
|
DateDD="yyyy"
|
End if
|
'SqlDate=" between dateadd(ms,0,DATEDIFF(d,86,getdate())) and dateadd(ms,0,DATEDIFF(d,79,getdate())) "
|
sql=Replace(Replace(SqlDate," between","select ")," and ",",")
|
'Response.Write sql
|
rs.open sql,objConn,1,1
|
DateA=rs(0)
|
DateB=rs(1)
|
DateB=dateadd(DateFF,-1,DateB)
|
DateC=DateA
|
rs.close()
|
DateDay = DateDiff("d",DateA,DateB)+1
|
'Response.Write DateDay
|
'Response.end
|
labelsArr=labelsArr_A(DateA,DateB)
|
|
If ReportType="1" then '日
|
DateH2 = Year(DateA) &"年"& Month(DateA) &"月"& Day(DateA) &"日"
|
ElseIf ReportType="2" Then '周
|
DateH2 = Month(DateA) &"月"& Day(DateA) &"日~"
|
If Month(DateA)<>Month(DateB) Then
|
DateH2 = DateH2 & Month(DateB) &"月"& Day(DateB) &"日"
|
Else
|
DateH2 = DateH2 & Day(DateB) &"日"
|
End If
|
ElseIf ReportType="3" Then '月
|
DateH2 = Month(DateA) &"月"& Day(DateA) &"日~"
|
If Month(DateA)<>Month(DateB) Then
|
DateH2 = DateH2 & Month(DateB) &"月"& Day(DateB) &"日"
|
Else
|
DateH2 = DateH2 & Day(DateB) &"日"
|
End If
|
ElseIf ReportType="4" Then '年
|
DateH2 = Right(Year(DateA),2) &"年"& Month(DateA) &"月~"
|
If Year(DateA)<>Year(DateB) Then
|
DateH2 = DateH2 & Right(Year(DateB),2) &"年"& Month(DateB) &"月"
|
Else
|
DateH2 = DateH2 & Month(DateB) &"月"
|
End If
|
End if
|
%>
|
<a href="?ReportType=<%=ReportType%>&searchTXT=<%=dateadd(DateDD,-1,DateB)%>"><div style="float:left;margin-top: 5%;margin-left: 4%;width: 6%;margin-bottom: 4%;position:absolute;top:0;left:0;"><img src="/resources/images/xiangleft.png" width="100%"></div></a>
|
<div class="container">
|
<h1 class="text-center h2"><%=DateH2%></h1>
|
</div>
|
<a href="?ReportType=<%=ReportType%>&searchTXT=<%=dateadd(DateDD,1,DateB)%>"><div style="float:right;margin-top: 5%;margin-left: 90%;width: 6%;margin-bottom: 4%;position:absolute;top:0;left:0;"><img src="/resources/images/xiangright.png" width="100%"></div></a>
|
<div class="container-fluid">
|
<ul class="row time-list">
|
<li class="col-xs-3 text-center"><a href="?ReportType=1&searchTXT=<%=searchTXT%>"<%If ReportType="1" then Response.Write " class=""active"""%>>日</a></li>
|
<li class="col-xs-3 text-center"><a href="?ReportType=2&searchTXT=<%=searchTXT%>"<%If ReportType="2" then Response.Write " class=""active"""%>>周</a></li>
|
<li class="col-xs-3 text-center"><a href="?ReportType=3&searchTXT=<%=searchTXT%>"<%If ReportType="3" then Response.Write " class=""active"""%>>月</a></li>
|
<li class="col-xs-3 text-center"><a href="?ReportType=4&searchTXT=<%=searchTXT%>"<%If ReportType="4" then Response.Write " class=""active"""%>>年</a></li>
|
</ul>
|
</div>
|
|
<%
|
Sum_OrdInt=0
|
Sum_TraTxnPrice=0
|
DateC=DateA
|
dataArr1=""
|
dataArr2=""
|
If ReportType="1" then '日
|
sql="select OrdInt=SUM(OrdInt),TraTxnPrice=SUM(TraTxnPrice+StretcherMoney),yy,mm,dd,hh from (select OrdInt=COUNT(DispatchOrdID),StretcherMoney=sum(StretcherMoney),case when isnull(SUM(ServiceOrdTraTxnPrice),0)=0 or DispatchOrdPerfomance=0 then 0 else SUM(ServiceOrdTraTxnPrice)/((select SUM(DispatchOrdPerfomance) from DispatchOrd where ServiceOrdIDDt=ServiceOrdID and DispatchOrdState not in (0,10,14))/DispatchOrdPerfomance) END as TraTxnPrice,yy=YEAR(DispatchOrd_NS_Time),mm=MONTH(DispatchOrd_NS_Time),dd=day(DispatchOrd_NS_Time),hh=DATEPART(hh,DispatchOrd_NS_Time) from DispatchOrd LEFT JOIN ServiceOrder on ServiceOrdIDDt=ServiceOrdID where DispatchOrd_NS_Time "&SqlDate&" and DispatchOrdState not in (0,10,14) and (ServiceOrdClass in ('"&OrdClassListSql&"') or DispatchOrdClass in ('"&OrdClassListSql&"')) GROUP BY YEAR(DispatchOrd_NS_Time),MONTH(DispatchOrd_NS_Time),day(DispatchOrd_NS_Time),DATEPART(hh,DispatchOrd_NS_Time),ServiceOrdID,DispatchOrdPerfomance) as aa GROUP BY yy,mm,dd,hh order by yy,mm,dd,hh"
|
DateFF="h"
|
ReportOrdURL="m_ReportOrdList1.gds?ReportType=1&searchTXT="&searchTXT
|
ElseIf ReportType="2" Or ReportType="3" Then '周
|
sql="select OrdInt=SUM(OrdInt),TraTxnPrice=SUM(TraTxnPrice+StretcherMoney),yy,mm,dd,hh from (select OrdInt=COUNT(DispatchOrdID),StretcherMoney=sum(StretcherMoney),case when isnull(SUM(ServiceOrdTraTxnPrice),0)=0 or DispatchOrdPerfomance=0 then 0 else SUM(ServiceOrdTraTxnPrice)/((select SUM(DispatchOrdPerfomance) from DispatchOrd where ServiceOrdIDDt=ServiceOrdID and DispatchOrdState not in (0,10,14))/DispatchOrdPerfomance) END as TraTxnPrice,yy=YEAR(DispatchOrd_NS_Time),mm=MONTH(DispatchOrd_NS_Time),dd=day(DispatchOrd_NS_Time),hh=0 from DispatchOrd LEFT JOIN ServiceOrder on ServiceOrdIDDt=ServiceOrdID where DispatchOrd_NS_Time "&SqlDate&" and DispatchOrdState not in (0,10,14) and (ServiceOrdClass in ('"&OrdClassListSql&"') or DispatchOrdClass in ('"&OrdClassListSql&"')) GROUP BY YEAR(DispatchOrd_NS_Time),MONTH(DispatchOrd_NS_Time),day(DispatchOrd_NS_Time),ServiceOrdID,DispatchOrdPerfomance) as aa GROUP BY yy,mm,dd,hh order by yy,mm,dd,hh"
|
DateFF="d"
|
ReportOrdURL="m_ReportOrdList.gds?ListType=1&ReportType="&ReportType&"&searchTXT="&searchTXT
|
ElseIf ReportType="4" Then '年
|
sql="select OrdInt=SUM(OrdInt),TraTxnPrice=SUM(TraTxnPrice+StretcherMoney),yy,mm,dd,hh from (select OrdInt=COUNT(DispatchOrdID),StretcherMoney=sum(StretcherMoney),case when isnull(SUM(ServiceOrdTraTxnPrice),0)=0 or DispatchOrdPerfomance=0 then 0 else SUM(ServiceOrdTraTxnPrice)/((select SUM(DispatchOrdPerfomance) from DispatchOrd where ServiceOrdIDDt=ServiceOrdID and DispatchOrdState not in (0,10,14))/DispatchOrdPerfomance) END as TraTxnPrice,yy=YEAR(DispatchOrd_NS_Time),mm=MONTH(DispatchOrd_NS_Time),dd=1,hh=0 from DispatchOrd LEFT JOIN ServiceOrder on ServiceOrdIDDt=ServiceOrdID where DispatchOrd_NS_Time "&SqlDate&" and DispatchOrdState not in (0,10,14) and (ServiceOrdClass in ('"&OrdClassListSql&"') or DispatchOrdClass in ('"&OrdClassListSql&"')) GROUP BY YEAR(DispatchOrd_NS_Time),MONTH(DispatchOrd_NS_Time),ServiceOrdID,DispatchOrdPerfomance) as aa GROUP BY yy,mm,dd,hh order by yy,mm,dd,hh"
|
DateFF="m"
|
ReportOrdURL="m_ReportOrdList.gds?ListType=2&ReportType="&ReportType&"&searchTXT="&searchTXT
|
End If
|
'Response.Write sql
|
'Response.end
|
rs.open sql,objConn,1,1
|
do While not rs.Eof
|
OrdInt = rs("OrdInt") '订单数量
|
TraTxnPrice = int(rs("TraTxnPrice")) '金额汇总
|
yy = rs("yy")
|
mm = rs("mm")
|
dd = rs("dd")
|
hh = rs("hh")
|
Sum_OrdInt = Sum_OrdInt+OrdInt
|
Sum_TraTxnPrice=Sum_TraTxnPrice+TraTxnPrice
|
If DateDiff(DateFF,DateC,dateadd("h",hh,DateSerial(yy,mm,dd)))=0 Then
|
dataArr1=dataArr1&","&TraTxnPrice
|
dataArr2=dataArr2&","&OrdInt
|
DateC=dateadd(DateFF,1,DateC)
|
|
Else
|
do while DateC<DateB And DateDiff(DateFF,DateC,dateadd("h",hh,DateSerial(yy,mm,dd)))<>-1
|
'Response.Write DateDiff(DateFF,DateC,dateadd("h",hh,DateSerial(yy,mm,dd)))
|
If DateDiff(DateFF,DateC,dateadd("h",hh,DateSerial(yy,mm,dd)))=0 Then
|
dataArr1=dataArr1&","&TraTxnPrice
|
dataArr2=dataArr2&","&OrdInt
|
Else
|
dataArr1=dataArr1&",0"
|
dataArr2=dataArr2&",0"
|
End If
|
DateC=dateadd(DateFF,1,DateC)
|
Loop
|
End If
|
rs.movenext
|
loop
|
rs.close()
|
'Response.Write dataArr1
|
dataArr1=Mid(dataArr1,2)
|
dataArr2=Mid(dataArr2,2)
|
%>
|
<div class="container">
|
<h1 class="text-center h5" style="margin-bottom: 1px;text-align: left;margin-left: 5px;border-bottom: 1px solid #c0c0c0;">金额汇总<span class="text-center h5" style="margin-left: 50%;"><%=Sum_TraTxnPrice%></span></h1>
|
</div>
|
<a href="<%=ReportOrdURL%>&RType=1"><canvas id="myChart7" style="width:100%;height:100%;margin:0px auto;padding:0;display:block;">
|
您的浏览器不支持HTML5 canvas 请更换浏览器使用!
|
</canvas></a>
|
<script>
|
var ctx = document.getElementById("myChart7").getContext("2d");
|
// X轴 日期
|
var labelsArr = [<%=labelsArr%>]
|
//Y轴 参数
|
var dataArr = [<%=dataArr1%>]
|
var datas = {
|
labels : labelsArr, // X轴 标签
|
datasets : [
|
{
|
fillColor : "rgba(255,0,0,0.5)", //柱颜色
|
strokeColor : "rgba(255,0,0,1)",
|
data : dataArr //Y轴标签
|
}
|
]
|
}
|
new Chart(ctx).Bar(datas,option);
|
</script>
|
|
|
|
<div class="container">
|
<h1 class="text-center h5" style="margin-bottom: 1px;text-align: left;margin-left: 5px;border-bottom: 1px solid #c0c0c0;">订单数量<span class="text-center h5" style="margin-left: 50%;"><%=Sum_OrdInt%></span></h1>
|
</div>
|
<a href="<%=ReportOrdURL%>&RType=2"><canvas id="myChart30" style="width:100%;height:100%;margin:0px auto;padding:0;display:block;">
|
您的浏览器不支持HTML5 canvas 请更换浏览器使用!
|
</canvas></a>
|
<script>
|
var ctx30 = document.getElementById("myChart30").getContext("2d");
|
// X轴 标签
|
var labelsArr = [<%=labelsArr%>]
|
//Y轴标签
|
var dataArr = [<%=dataArr2%>]
|
var datas = {
|
labels : labelsArr, // X轴 标签
|
datasets : [
|
{
|
fillColor : "rgba(255,0,0,0.5)", //柱颜色
|
strokeColor : "rgba(255,0,0,1)",
|
data : dataArr //Y轴标签
|
}
|
]
|
}
|
new Chart(ctx30).Bar(datas,option);
|
</script>
|
<!--#include virtual="/m_Report_footer.gds"-->
|
|
|
</body>
|
</html>
|