您现在的位置: 酒店软件|酒店管理系统|酒店管理软件专业供应商论坛泰能社区灌水吧泰能酒店管理系统快捷星及this2000 V6.0 回头客统计程序
您好,,积分:,您有,0条新站内短信, 最新帖子
  
主题: 泰能酒店管理系统快捷星及this2000 V6.0 回头客统计程序   
游客


帖子:
积分:
注册时间:
泰能酒店管理系统快捷星及this2000 V6.0 回头客统计程序 1楼
泰能酒店管理系统快捷星及this2000 V6.0  的统计报表没有回头客的统计数据,这个给营业分析带来不便。
我做的这个小程序,可以统计实时在住客人中的回头客数量,也可以统计指定日期在住的回头客数量。
统计数据以客人入住时的证件号码为依据,比按姓名统计的数据准确。

说明:

1、按照证件号码检索.不按姓名检索,准确率高。
2、此检索过程会调用大量历史数据,请避开总台电脑系统使用高峰时间。
3、检索过程较慢,大概需要10-20秒钟,请稍安毋躁。
4、内招房、免费房等没有证件号码信息的,会被忽略,不统计在内。所以在住人数有时比实际人数少。
5、如果一个证件同时开两个以上房间,并且不使用同一账户的,会相应检索两次以上。此时的在住客和回头客统计人数也被相应累加。目前,一个证件开多个房间情况已不存在。
6、统计显示的结果是按照证件号码大小排序的。如果存在第5项情况,可以明显看出。
7、统计完成后,请按相关结果,从泰能系统随机查询几个客人档案进行核对。如发现错误,请及时反馈。
因上传的附件游客身份见不到,贴出程序代码让大家了解。
主界面:asp源码
<BR>
<FONT SIZE="4" COLOR="#3300FF"><CENTER>泰能酒店管理系统V6 回头客统计程序</CENTER></FONT>
<HR   width="700" color="#0000FF">
<CENTER>
<TABLE  width="700" border="1" cellspacing="0" bordercolor="#00ff00">
<TR  height="60" >
        <TD align="center"  width="400" ><BR>统计当前时间在住客人中的回头客。<BR>
        按在住客人检索,和夜审在住统计模式相同。<BR>
        不统计今天已经离店退房的客人。<BR>  </TD>
        <TD align="center" ><A HREF="now.asp">点此查询</A></TD>
</TR>
</TABLE><BR><TABLE  width="700"  border="1" cellspacing="0" bordercolor="#00CC00"><TR height="60">
        <TD align="center"  width="400">查一周内指定日期入住客人中的回头客。<BR>
        按登记日期查,只要登记日期是在指定日期的就查。<BR>
        不是的不查。
        </TD>
        <TD align="center" ><form name="form1" method="post" action="date.asp"><BR>
请输入查询的日期:<BR><BR>
<input type="text" name="date"  value="<%=Date%>">
<br><br>
<input type="submit" name="Submit" value="提交查询">  
<input type="reset" name="Submit2" value="重置">
</form>
</TD>
</TR>
</TABLE>
</CENTER>


<CENTER>
<BR><TABLE width="700" border="1" cellspacing="0" bordercolor="#009900">
<TR>
        <TD>注:<BR>
1、按照证件号码检索.不按姓名检索,准确率高。
<BR>2、此检索过程会调用大量历史数据,请避开总台电脑系统使用高峰时间。<BR>
3、检索过程较慢,大概需要10-20秒钟,请稍安毋躁。<BR>
4、内招房、免费房等没有证件号码信息的,会被忽略,不统计在内。所以在住人数有时比实际人数少。<BR>
5、如果一个证件同时开两个以上房间,并且不使用同一账户的,会相应检索两次以上。此时的在住客和回头客统计人数也被相应累加。目前,一个证件开多个房间情况已不存在。<BR>
6、统计显示的结果是按照证件号码大小排序的。如果存在第5项情况,可以明显看出。<BR>
7、统计完成后,请按相关结果,从泰能系统随机查询几个客人档案进行核对。如发现错误,请及时反馈。</TD>
</TR>
</TABLE></CENTER>
<CENTER><HR   width="700" color="#0000FF">
按日期查询回头客:
<%
myconn = "Driver={SQL Server};server=(local);uid=sa;pwd=;database=this;"
Set conn = Server.Createobject("ADODB.Connection")
conn.open myconn
%>
<BR><BR>
<FONT SIZE="3" COLOR="#3300FF"><CENTER>当前在住客人中的回头客统计列表</CENTER></FONT><BR>
<CENTER>
<TABLE  border="1">
<TR>
        <TD align="center" >当前入住记录</TD>
        <TD align="center" >历史入住记录</TD>
</TR>
<%
cartno=0
ii=0
arrivaldate1="2007.09.08"
arrivaldate2="2007.09.08"
arrivaldaten="2007.09.08"
Status="I"
sql1="select CertNO,ArrivalDate,FirstName from Guests where Status = '"&Status&"' order by CertNO"
'取得在住客人证号,入住时间,姓名(rs1)
i=0
set rs1=server.createobject("adodb.recordset")
rs1.open sql1,conn,1,1

do while not rs1.eof '开始查找历史同卡号记录


     okok=0
     cartno=rs1("CertNO")
         arrivaldate=rs1("ArrivalDate")
     If cartno>="00001" Then '忽略空卡号
'统计当前客人中的回头客(rs2)
%>
<TR>        <TD  bordercolor="#9900FF">
<FONT SIZE="" COLOR="#006600">
<%
response.write "当前在住:"+rs1("CertNO")+rs1("FirstName")
%>
</FONT>
</TD>
        <TD  bordercolor="#9900FF">
        <%
     set rs2=server.createobject("adodb.recordset")
     rs2.open "select CertNO,FirstName,ArrivalDate from Guests where Status <> '"&Status&"' and CertNO='"&cartno&"' and ArrivalDate<>'"&arrivaldate&"'",conn,1,1
         '当前客人数据库中查找没有在住/入住时间不同/证件号码相同的记录
             if rs2.eof and rs2.bof Then
             Else
                         arrivaldate2=rs2("ArrivalDate")
             %>
             <FONT SIZE="" COLOR="#FF0000">
                         <%=arrivaldate2%>
             <%
                       response.write rs2("CertNO")+rs2("FirstName")
                       %>
             </FONT>
             <%
                     ii=ii+1
                     okok=1 '历史客人入住记录已经查到
                     End If
          rs2.close
          '统计历史客人中的回头客(rs)
                If okok=0 Then '历史客人入住记录未查到则到历史库中查询
             set rs=server.createobject("adodb.recordset")
             rs.open "select CertNO,FirstName,ArrivalDate from HisGuests where CertNO = '"&cartno&"'",conn,1,1
                '历史客人数据库中查找证件号码相同的记录(rs)
                 if rs.eof and rs.bof Then
                  Else
                                  arrivaldaten=rs("ArrivalDate")
                  %>
                  <FONT SIZE="" COLOR="#0000FF">
                                   <%=arrivaldaten%>
                  <%
                        response.write rs("CertNO")+rs("FirstName")
                        %>
                  
                  </FONT>
                  <%
                        ii=ii+1
                        End If
              rs.close
              Else
              okok=0
                      End If
                           %>
    </TD>
     <%
         Else
     End If
          %>
         
</TR>

<%
i=i+1
rs1.movenext
Loop

rs1.close

iii=ii/i*100

%>

当前在住客人总数 <font color="#cc0000"><%=i%></font> 人,<BR>其中回头客 <font color="#cc0000"><%=ii%></font> 人, 回头率 = <%=iii%>%
</TABLE>
</CENTER>

<BR> <CENTER><TABLE width="700" border="1" cellspacing="0" bordercolor="#009900">
<TR>
        <TD>备注:历史信息是从历史数据库中,按照相同的证件号码检索,一般是提取最早的入住记录,供参考.
如果回头客人用红色字体,表示近一周内有重复入住记录,显示的是最近一周内的入住记录.</TD>
</TR>
</TABLE></CENTER>

<CENTER><HR   width="700" color="#0000FF">
查询实时在住客人中的回头客,统计结果实时显示,不保存到数据库中:
<%
myconn = "Driver={SQL Server};server=(local);uid=sa;pwd=;database=this;"
Set conn = Server.Createobject("ADODB.Connection")
conn.open myconn

cartno=0
ii=0
arrivaldate1=request.form("date")
arrivaldate2="2007.09.08"
arrivaldaten="2007.09.08"
sql1="select CertNO,ArrivalDate,FirstName from Guests where ArrivalDate = '"&ArrivalDate1&"' order by CertNO"
i=0
set rs1=server.createobject("adodb.recordset")
rs1.open sql1,conn,1,1
if rs1.eof and rs1.bof Then
%>
<CENTER><FONT SIZE="3" COLOR="#FF0000">出错啦出错啦!!!<BR>
您查询的日期在当前数据库里貌似没有找到有人入住的样子......<BR>
注意:本程序不查找一周以前的回头客入住情况。<BR></FONT></CENTER>
<%
Else
%>
<BR><BR>
<FONT SIZE="3" COLOR="#3300FF"><CENTER>查询当日入住客人中的回头客</CENTER></FONT><BR>
<CENTER>
<TABLE  border="1">
<TR>
        <TD align="center" ><%=arrivaldate1%>入住记录</TD>
        <TD align="center" >历史入住记录</TD>
</TR>        
        <%

do while not rs1.eof
     okok=0
     cartno=rs1("CertNO")
         arrivaldate1=rs1("ArrivalDate")
     If cartno>="00001" Then '忽略空卡号
'统计当前客人中的回头客(rs2)
%>
<TR>        <TD  bordercolor="#9900FF">
<FONT SIZE="" COLOR="#006600">
<%
response.write rs1("CertNO")+rs1("FirstName")
%>
</FONT>
</TD>
        <TD  bordercolor="#9900FF">
        <%
     set rs2=server.createobject("adodb.recordset")
     rs2.open "select CertNO,FirstName,ArrivalDate from Guests where Status <> '"&Status&"' and CertNO='"&cartno&"' and ArrivalDate < '"&arrivaldate1&"'",conn,1,1
         '当前客人数据库中查找没有在住/入住时间不同/证件号码相同的记录
             if rs2.eof and rs2.bof Then
             Else
                         arrivaldate2=rs2("ArrivalDate")'取得回头时间并显示
             %>
             <FONT SIZE="" COLOR="#FF0000">
                         <%=arrivaldate2%>
             <%
                       response.write rs2("CertNO")+rs2("FirstName")
                       %>
             </FONT>
             <%
                     ii=ii+1
                     okok=1 '历史客人入住记录已经查到
                     End If
          rs2.close


          '统计历史客人中的回头客(rs)
                If okok=0 Then '当前客人入住记录未查到则到历史库中查询

             set rs=server.createobject("adodb.recordset")
             rs.open "select CertNO,FirstName,ArrivalDate from HisGuests where CertNO = '"&cartno&"'",conn,1,1
                '历史客人数据库中查找证件号码相同的记录(rs)
                 if rs.eof and rs.bof Then
                  Else
                                  arrivaldaten=rs("ArrivalDate")
                  %>
                  <FONT SIZE="" COLOR="#0000FF">
                                   <%=arrivaldaten%>
                  <%
                        response.write rs("CertNO")+rs("FirstName")
                        %>
                  
                  </FONT>
                  <%
                        ii=ii+1
                        End If
              rs.close
              Else
              okok=0
                      End If
                           %>
    </TD>
     <%
         Else
     End If
          %>
         
</TR>

<%
i=i+1
rs1.movenext
Loop
rs1.close
iii=ii/i*100
%>

<%=arrivaldate1%>日新入住客人总数 <font color="#cc0000"><%=i%></font> 人<BR>其中回头客 <font color="#cc0000"><%=ii%></font> 人 , 回头率 = <%=iii%>%
</TABLE>
</CENTER>
<%
End If
%>

<BR><CENTER><TABLE width="700" border="1" cellspacing="0" bordercolor="#009900">
<TR>
        <TD>备注:历史信息是从历史数据库中,按照相同的证件号码检索<BR>
        一般是提取最早的入住记录,供参考<BR>
如果回头客人用红色字体,表示近一周内有重复入住记录<BR>
回头客的检索只检索指定的日期之前的入住记录。
</TD>
</TR>
</TABLE></CENTER>
<CENTER><HR   width="700" color="#0000FF">

关键词:程序 管理 回头 酒店 快捷 


09-5-9 10:12 1楼
  插入邮件地址  发短消息     回复
游客


帖子:
积分:
注册时间:
2楼
泰能确实缺少按这种方式的统计。。。



09-6-2 11:48 2楼
  插入邮件地址  发短消息     回复