📄 pub_memo.bas
字号:
T_LXX = t_arra_lx(KFTJ_I)
If t_code = "0" Then ' && 0 解除 1 建立
T_LXX = -T_LXX
End If
' t_rec.Edit
FIEL_STR = FIEL_STR & T_YD & "=" & T_YD & "+(" & T_LXX & "),"
FIEL_STR = FIEL_STR & T_SY & "=" & T_SY & "-(" & T_LXX & "),"
' t_rec.Fields(1 * sys_lxn + KFTJ_I) = T_YD + T_LXX
' t_rec.Fields(6 * sys_lxn + KFTJ_I) = T_SY - T_LXX
' t_rec.Update
' If t_rec.Fields(1 * sys_lxn + KFTJ_I) < 0 Then
' MsgBox "客房利用情况可能发生了错误! 请通知中心机房进行处理"
' End If
Next
' t_rec.MoveNext
' T_S_DAY = T_S_DAY + 1
'Loop
FIEL_STR = Left(FIEL_STR, Len(FIEL_STR) - 1)
PUB_data.Execute "UPDATE KF_KFLY SET " & FIEL_STR & " WHERE CSTR(RQ)>'" & CStr(T_S_DAY - 1) & "' AND CSTR(RQ)<'" & CStr(end_day + 1) & "'" 'T_S_DAY < new_e_day + 1
Pub_yd = True
End Function
Public Function Pub_free(free_s_day, free_e_day, free_kflx, free_zklx, pub_code As String) As Boolean
Dim t_rec As Recordset
'external array free_kflx
'** MYRZ_DAY - 预入住日
'** MYLD_DAY - 预离店日
'** MKF_LX_S - 订各类客房数目(数组)
'** 功能 : 用指定的参数, 在客房利用情况统计表中作出是否可接待的判断
'** 使用的数据库 : 客房利用情况统计表 DT\KF_KFLY.DBF ORDER DATE
'** 全局变量 : SYS_YL(I) 对应各类客房的最小预留数
'** 全局变量 : SYS_YLN 对应本系统内客房类型的最大数 ,1 至 SYS_LXN 的类型肯定有定义
'** 不可接待的判定: 在住留的日期内, 只要有一种类型的客房:
'** MKF_LX_S(N)+SYS_YLN > KF_KFLY->SY_LXN &&& N[1,SYS_LXN]
'** 便不可接待,间返回 .F.
'** 返回值 :
'** 可接待 .T.
'** 不可接待 .F.
'if .not. used("KF_KFLY")
' free_op=.f.
' select 0
' use kf_kfly order date exclusive
'End If
'select kf_kfly
Dim fy_str As String, yd_str As String, zr_str As String, cb_str As String, wx_str As String, nb_str As String, sy_str As String
Dim FIEL_STR As String, i As Integer, j As Integer
fy_str = ""
yd_str = ""
zr_str = ""
cb_str = ""
wx_str = ""
nb_str = ""
sy_str = ""
For i = 1 To SYS_LXN
fy_str = fy_str + "fy_lx" + CStr(i) + ","
yd_str = yd_str + "yd_lx" + CStr(i) + ","
zr_str = zr_str + "zr_lx" + CStr(i) + ","
cb_str = cb_str + "cb_lx" + CStr(i) + ","
wx_str = wx_str + "wx_lx" + CStr(i) + ","
nb_str = nb_str + "nb_lx" + CStr(i) + ","
sy_str = sy_str + "sy_lx" + CStr(i) + ","
Next
FIEL_STR = fy_str + yd_str + zr_str + cb_str + wx_str + nb_str + sy_str + "rq,lock_no"
Set t_rec = PUB_data.OpenRecordset("select " & FIEL_STR & " from KF_KFLY where cstr(rq) >='" & CStr(free_s_day) & "' And cstr(rq) <'" & CStr(free_e_day + 1) & "' ORDER BY RQ", 2, 0, 2)
If Not t_rec.BOF Then
t_rec.MoveLast
t_rec.MoveFirst
End If
Dim DAY_END As Date, DAY_START As Date
DAY_END = free_e_day
DAY_START = free_s_day
If free_zklx = LoadResString(SYS_CBLX) Then
DAY_END = Date
End If
Call Pub_ordr(DAY_START, DAY_END, pub_code)
Pub_free = True
Do While Not t_rec.EOF
For j = 0 To SYS_LXN - 1
If free_kflx(j + 1) > 0 Then
If t_rec.Fields(6 * SYS_LXN + j) < CInt(free_kflx(j + 1)) + CInt(SYS_Yl(j + 1)) Then
Pub_free = False
t_rec.Close
Exit Function
End If
End If
Next
t_rec.MoveNext
Loop
Pub_free = True
t_rec.Close
End Function
Public Sub Sys_get()
Dim LS_SYSVAR As Recordset
Set LS_SYSVAR = PUB_data.OpenRecordset("select * from SYS_XTCS", 2, 0, 2)
If Not LS_SYSVAR.BOF Then
LS_SYSVAR.MoveLast
LS_SYSVAR.MoveFirst
End If
With LS_SYSVAR
SYS_LXN = CInt(!VAR1)
SYS_TIME = CInt(!VAR2)
SYS_ZWMZY = CInt(!VAR3)
SYS_WLMZY = CInt(!VAR4)
SYS_BBSJ = Trim(!VAR5)
SYS_PWGG = CDec(!VAR6)
SYS_YHQBZ = CDec(!VAR7)
SYS_FWF_KF = CDec(!VAR8)
SYS_FWF_CT = CDec(!VAR9)
.MoveNext
SYS_FWF_XY = CDec(!VAR1)
SYS_KXFL = CDec(!VAR2)
SYS_SJFL = CDec(!VAR3)
SYS_JGTJJJ = CDec(!VAR4)
SYS_LCS = CDec(!VAR5)
SYS_LCE = CDec(!VAR6)
SYS_FHS = CDec(!VAR7)
SYS_FHE = CDec(!VAR8)
SYS_SK = Trim(!VAR9)
.MoveNext
SYS_TZYSK = Trim(!VAR1)
SYS_TD = Trim(!VAR2)
SYS_LXS = Trim(!VAR3)
SYS_GR = Trim(!VAR4)
SYS_DW = Trim(!VAR5)
SYS_NB = Trim(!VAR6)
SYS_TSNB = Trim(!VAR7)
SYS_XZJ = Trim(!VAR8)
.MoveNext
ReDim SYS_LXC(SYS_LXN)
Dim i As Integer
For i = 1 To SYS_LXN
SYS_LXC(i) = Trim(.Fields("VAR" & CStr(i)))
Next
.MoveNext
ReDim SYS_Yl(SYS_LXN)
For i = 1 To SYS_LXN
SYS_Yl(i) = CInt(.Fields("VAR" & CStr(i)))
Next
.MoveNext
ReDim SYS_CBYD(SYS_LXN)
For i = 1 To SYS_LXN
SYS_CBYD(i) = CInt(.Fields("VAR" & CStr(i)))
Next
.Close
End With
End Sub
Public Sub Sys_save()
Dim LS_SYSVAR As Recordset
Set LS_SYSVAR = PUB_data.OpenRecordset("select * from SYS_XTCS", 2, 0, 2)
If Not LS_SYSVAR.BOF Then
LS_SYSVAR.MoveLast
LS_SYSVAR.MoveFirst
End If
With LS_SYSVAR
.Edit
!XH = 0
!VAR1 = SYS_LXN
!VAR2 = SYS_TIME
!VAR3 = SYS_ZWMZY
!VAR4 = SYS_WLMZY
!VAR5 = SYS_BBSJ
!VAR6 = SYS_PWGG
!VAR7 = SYS_YHQBZ
!VAR8 = SYS_FWF_KF
!VAR9 = SYS_FWF_CT
.Update
.MoveNext
.Edit
!XH = 1
!VAR1 = SYS_FWF_XY
!VAR2 = SYS_KXFL
!VAR3 = SYS_SJFL
!VAR4 = SYS_JGTJJJ
!VAR5 = SYS_LCS
!VAR6 = SYS_LCE
!VAR7 = SYS_FHS
!VAR8 = SYS_FHE
!VAR9 = SYS_SK
.Update
.MoveNext
.Edit
!XH = 2
!VAR1 = SYS_TZYSK
!VAR2 = SYS_TD
!VAR3 = SYS_LXS
!VAR4 = SYS_GR
!VAR5 = SYS_DW
!VAR6 = SYS_NB
!VAR7 = SYS_TSNB
!VAR8 = SYS_XZJ
.Update
.MoveNext
Dim i As Integer
.Edit
!XH = 3
For i = 1 To SYS_LXN
.Fields("VAR" & CStr(i)) = SYS_LXC(i)
Next
.Update
.MoveNext
.Edit
!XH = 4
For i = 1 To SYS_LXN
.Fields("VAR" & CStr(i)) = SYS_Yl(i)
Next
.Update
.MoveNext
.Edit
!XH = 5
For i = 1 To SYS_LXN
.Fields("VAR" & CStr(i)) = SYS_CBYD(i)
Next
.Update
.MoveNext
.Close
End With
End Sub
Public Sub CENTER(f As Form)
f.Left = 0
f.Top = 0
f.Height = 9000
f.Width = 12000
End Sub
Function date_cl(t_date As String) As String
Dim year As String
Dim month As String
Dim day As String
Dim X, Y, z As Integer
year = Left(t_date, 4)
month = Mid(t_date, 6, 2)
day = Right(t_date, 2)
If year <> "____" And month <> "__" And day <> "__" Then
If Left(year, 1) = "_" Then
year = "1" + Right(year, 3)
End If
If Mid(year, 2, 1) = "_" Then
year = Left(year, 1) + "9" + Right(year, 2)
End If
If Mid(year, 3, 1) = "_" Then
year = Left(year, 2) + "9" + Right(year, 1)
End If
If Right(year, 1) = "_" Then
year = Left(year, 3) + "9"
End If
If Right(month, 1) = "_" Then
month = "0" + Left(month, 1)
End If
If Left(month, 1) = "_" Then
month = "0" + Right(month, 1)
End If
If Right(day, 1) = "_" Then
day = "0" + Left(day, 1)
End If
If Left(day, 1) = "_" Then
day = "0" + Right(day, 1)
End If
date_cl = year + "-" + month + "-" + day
If Not IsDate(date_cl) Then
date_cl = "F"
End If
Else
date_cl = "F"
End If
End Function
'**************************************************************************************************
'* 功 能 : 确定帐号使用的帐首库,帐首归档库
'* 作 成 者 : 梁卫
'* 作成日期 : 1999.03.18
'* 修改日期 : 1999.03.18
'* 参数说明 : t_zh -- 帐号
'* t_zhk -- 帐号的帐首表名
'* t_gdk -- 帐号的归档表名
'* t_fsrq -- 发生日期
'* t_zhxz -- 帐号性质
'* 返 回 值 : t_zhk -- 帐号的帐首表名
'* t_gdk -- 帐号的归档表名
'* t_zhxz -- 帐号性质
'* zw_sjk -- 找到, 返回 True; 否则, 返回 False
'**************************************************************************************************
Public Function ZW_SJK(ByVal t_zh As String, ByRef t_zhk As String, ByRef t_gdk As String, ByVal t_fsrq As Date, ByRef t_zhxz As String) As Boolean
Dim zhk_rec As Recordset
ZW_SJK = False
Set zhk_rec = PUB_data.OpenRecordset("SELECT * FROM ZW_ZHK WHERE TRIM(ZH_SW)='" & Left(Trim(t_zh), 1) & "'", 4, 0, 2)
If Not zhk_rec.BOF Then
zhk_rec.MoveLast
zhk_rec.MoveFirst
ZW_SJK = True
t_zhk = Trim(zhk_rec.Fields("ZH_K1"))
t_gdk = Trim(zhk_rec.Fields("GD_QZ")) & year(t_fsrq)
t_zhxz = Trim(zhk_rec.Fields("ZH_XZ"))
Else
t_zhk = ""
t_gdk = ""
End If
zhk_rec.Close
End Function
'**************************************************************************************************
'* 功 能 : 用于前台帐务客帐结算时检查对方帐号的合法性,并输出对应数据库
'* 作 成 者 : 梁卫
'* 作成日期 : 1999.03.18
'* 修改日期 : 1999.03.18
'* 参数说明 : t_zh -- 帐号
'* t_yn -- 是否确认帐户
'* t_zhk -- 帐号的帐首表名
'* t_gdk -- 帐号的归档表名
'* t_ft -- 是否存在帐户
'* t_fsrq -- 发生日期
'* 返 回 值 :(全部传地址)
'* t_zhk -- 帐号的帐首表名
'* t_gdk -- 帐号的归档表名
'* t_yn -- 是否确认帐户 (帐号判断的返回值 PUB_ZHPD())
'* t_ft -- 是否存在帐户
'**************************************************************************************************
Public Function ZW_ZHQR(ByVal t_zh As String, ByRef t_yn As Boolean, ByRef t_zhk As String, ByRef t_gdk As String, ByRef t_ft As Boolean, ByVal t_fsrq As Date) As Boolean
Dim t_tools As New HOTEL_TOOL.HOTEL_TOOLS
Dim zhk_rec As Recordset
Dim temp_zhxz As String
ZW_ZHQR = False
If Trim(t_zh) = "" Then
Else
temp_zhxz = ""
If Not ZW_SJK(t_zh, t_zhk, t_gdk, t_fsrq, temp_zhxz) Then
Else
If Trim(t_zhk) = "" Then
Else
t_ft = True
ZW_ZHQR = True
Set zhk_rec = PUB_data.OpenRecordset("SELECT * FROM " & t_zhk & " WHERE TRIM(ZH) = '" & Trim(t_zh) & "'", 4, 0, 2)
If Not zhk_rec.BOF Then
zhk_rec.MoveLast
zhk_rec.MoveFirst
t_ft = True
ZW_ZHQR = True
t_yn = t_tools.pub_zhpd(PUB_data, SYS_GWDM, LoadResString(SYS_GW_ZW), SYS_TZYSK, SYS_SK, SYS_TD, t_zhk, t_zh)
Else
t_ft = False
ZW_ZHQR = False
End If
End If
End If
End If
End Function
'******************************************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -