📄 ct_zdjs.frm
字号:
If Len(Trim(tx_th.Text)) = 0 Then
temp_ft = False
Else
'按字符判断台号的合法性
For temp_i = 1 To Len(Trim(tx_th.Text))
temp_char = Mid(Trim(tx_th.Text), temp_i, 1)
If Not (IsNumeric(temp_char) Or (UCase(temp_char) >= "A" And UCase(temp_char) <= "Z")) Then
temp_ft = False
Exit For
End If
Next
End If
If temp_ft Then
Dim tzlb_rec As Recordset
Set tzlb_rec = LOCAL_data.OpenRecordset("SELECT * FROM CT_TZLB WHERE TRIM(TH)='" & Trim(tx_th.Text) & "'", 4, 0, 2)
If Not tzlb_rec.BOF Then
'读取当前的费用
tzlb_rec.MoveLast
zdjs_XFHJ = tzlb_rec.Fields("HJ")
zdjs_SJHJ = tzlb_rec.Fields("SJHJ")
zdjs_FWF = tzlb_rec.Fields("FWF")
zdjs_FJF = tzlb_rec.Fields("FJF")
zdjs_ZKL = tzlb_rec.Fields("ZKL")
zdjs_SJF = tzlb_rec.Fields("SJF")
zdjs_JSF = tzlb_rec.Fields("JSJE")
Dim tzk_rec As Recordset
Set tzk_rec = LOCAL_data.OpenRecordset("SELECT * FROM CT_TZK WHERE TRIM(TH)='" & Trim(tx_th) & "' AND DY_FT='0'", 4, 0, 2)
If Not tzk_rec.BOF Then
tzk_rec.MoveLast
Call MsgBox("该客人尚有未打印帐单的消费, 请打印帐单!", vbOKOnly, Trim(SYS_GWMC) & "客帐结算")
Call CMD_EXIT_Click
End If
tzk_rec.Close
tx_zdh.Enabled = True
tx_th.Enabled = False
Else
frm_msg.Visible = True
frm_msg.Caption = "此台号无消费"
tx_th.SetFocus
End If
tzlb_rec.Close
Else
frm_msg.Visible = True
frm_msg.Caption = "此台号不合理, 应该用数字或字母组合 !"
tx_th.SetFocus
End If
End Sub
'**************************************************************************************************
Private Sub tx_zdh_LostFocus()
If Trim(tx_zdh.Text) = "" Then
Call CMD_EXIT_Click
Else
tx_zdh.Enabled = False
' tx_fkfs.SetFocus
End If
End Sub
'**************************************************************************************************
'* -- 免费早餐卡结算 --
Private Function ct_mfjs(t_ZH As String, t_TH As String, t_ZDH As String, t_TZLB As String, t_TZK As String, t_HZK As String, t_R2 As String, t_JSMC As String, t_SJHJ As Double) As Boolean
Dim mfjs_ZCKBZ As Double
Dim mfjs_ZCKCT As Double
Dim mfjs_ZCKKF As Double
Dim mfjs_MFCK As Integer
Dim mfjs_MFJE1 As Double
Dim mfjs_MFJE2 As Double
Dim mfjs_FWJE As Double
Dim mfjs_ZY As String
frm_msg.Visible = True
frm_msg.Caption = ""
mfjs_ZCKBZ = 0
mfjs_ZCKCT = 0
mfjs_ZCKKF = 0
mfjs_MFCK = 0
Call tPzck_JS(mfjs_ZCKBZ, mfjs_ZCKCT, mfjs_ZCKKF, mfjs_MFCK)
mfjs_MFJE1 = mfjs_ZCKBZ
mfjs_MFJE2 = 0
ct_mfjs = False
If Len(Trim(t_ZH)) < 4 Or mfjs_MFCK = 0 Then
ct_mfjs = False
Else
Dim tzlb_rec As Recordset
Set tzlb_rec = LOCAL_data.OpenRecordset("SELECT * FROM CT_TZLB WHERE TRIM(TH)='" & Trim(t_TH) & "'", 2, 0, 2)
If Not tzlb_rec.BOF Then
tzlb_rec.MoveLast
If t_SJHJ > mfjs_MFJE1 * (1 + tzlb_rec!FWFL) Then
Call MsgBox("免费早餐卡不足以付清餐费, 请采用现场结算")
ct_mfjs = False
Else
frm_msg.Caption = "正在结算, 请稍候..."
'? zdjs_R4 = "1"
'? t_xfxm = "免费早餐卡"
'? do ct_dxcl()
'修改合计, 服务费率, 服务费
tzlb_rec.Edit
tzlb_rec!SJHJ = mfjs_MFJE1
tzlb_rec!FWFL = 0
tzlb_rec!FWF = 0
tzlb_rec.Update
mfjs_FWJE = 0
mfjs_ZY = "免费早餐卡"
Call CT_KZGD(Trim(t_TZLB), Trim(t_TZK), Trim(t_HZK), Trim(t_ZDH), t_R2, Trim(t_JSMC), "0", "*", "*", mfjs_MFCK, 0, 0, Trim(t_TH), 0, 0, 0, mfjs_ZCKBZ, mfjs_ZCKCT, mfjs_MFJE1, mfjs_MFJE2, mfjs_FWJE, 1, 0, mfjs_ZY, Date, Time)
ct_mfjs = True
End If
Else
ct_mfjs = False
End If
tzlb_rec.Close
End If
End Function
'**************************************************************************************************
'* -- 现场结算 --
Private Function ct_xcjs(t_TH As String, t_ZDH As String, t_TZLB As String, t_TZK As String, t_HZK As String, t_R1 As String, t_R2 As String, t_R4 As String, t_R5 As String, t_JSMC As String, t_FKMC As String, t_SJHJ As Double, t_FWF As Double, t_FJF As Double, t_JSF As Double, t_YHQ As Integer) As Boolean
Dim xcjs_XJ As Double
Dim xcjs_ZP As Double
Dim xcjs_XYK As Double
Dim xcjs_ZY As String
Dim xcjs_YE As Double
Dim xcjs_YE1 As Double
Dim xcjs_FWJE As Double
Dim xcjs_ZCKBZ As Double
Dim xcjs_ZCKCT As Double
Dim xcjs_ZCKKF As Double
Dim xcjs_MFCK As Integer
Dim xcjs_MFJE1 As Double
Dim xcjs_MFJE2 As Double
frm_msg.Visible = True
frm_msg.Caption = ""
xcjs_ZCKBZ = 0
xcjs_ZCKCT = 0
xcjs_ZCKKF = 0
xcjs_MFCK = 0
If op_mfck(1).Value Then
Call tPzck_JS(xcjs_ZCKBZ, xcjs_ZCKCT, xcjs_ZCKKF, xcjs_MFCK)
End If
xcjs_MFJE1 = xcjs_ZCKBZ ' 张数 * 免费卡标准
xcjs_MFJE2 = t_YHQ * SYS_YHQBZ ' 张数 * 优惠卡标准
xcjs_YE = t_SJHJ - xcjs_MFJE1 - xcjs_MFJE2 ' 应收款余额=总消费 - 免费卡 - 优惠卡
If xcjs_YE < 0 Then ' 如果余额<0 THEN
If xcjs_MFJE2 > 0 Then ' 如果优惠卡>0 THEN 优惠卡=优惠卡+余额
xcjs_MFJE2 = xcjs_MFJE2 + xcjs_YE ' (冲减优惠)
End If
If xcjs_MFJE2 < 0 Then ' 如果冲减后的值<0 THEN 优惠卡=0
xcjs_MFJE2 = 0
End If
xcjs_YE = t_SJHJ - xcjs_MFJE1 - xcjs_MFJE2 ' 应收款余额=总消费 - 免费卡 - 优惠卡
If xcjs_YE < 0 Then ' 如果冲减后的余额<0 THEN 免费卡=免费卡+余额
xcjs_MFJE1 = xcjs_MFJE1 + xcjs_YE ' (冲减免费)
xcjs_YE = 0 ' 余额=0
End If ' END 余额<0
End If
t_R4 = "1"
Dim xcjs_bl As Single
xcjs_bl = 1
frm_msg.Visible = True
frm_msg.Caption = "正在结算, 请稍候..."
'? do ct_fxcl with t_hzk,t_yyxm,t_R1,t_R2,r4,xcjs_bl,t_zdh," ",xcjs_rq
If xcjs_MFJE1 > 0 Then
'? t_xfxm = "免费早餐卡"
'? do ct_dxcl with t_xfxm,t_yyxm,t_R1,t_R2,r4,'0',t_zdh,pub_mfje1,1," ",xcjs_rq
End If
If xcjs_MFJE2 > 0 Then
'? t_xfxm = "优惠券"
'? do ct_dxcl with t_xfxm,t_yyxm,t_R1,t_R2,r4,'0',t_zdh,pub_mfje2,1," ",xcjs_rq
End If
xcjs_FWJE = t_FWF + t_FJF + t_JSF
If xcjs_FWJE > 0 Then
'? t_xfxm = "服务费"
'? do ct_dxcl with t_xfxm,t_yyxm,t_R1,t_R2,r4,'0',t_zdh,t_fwje,1," ",xcjs_rq
End If
xcjs_XJ = 0
xcjs_ZP = 0
xcjs_XYK = 0
xcjs_ZY = "*"
xcjs_YE1 = 0
If xcjs_YE > 0 Then
Call CT_YECL(Trim(t_R1), Trim(t_R2), Trim(t_R4), Trim(t_R5), Trim(t_FKMC), Trim(t_ZDH), xcjs_YE, "*", 1, xcjs_YE1, "YYXMA", Trim(xcjs_ZY), Date)
Call CT_YEXS(xcjs_YE, xcjs_YE1, Trim(t_FKMC), xcjs_XJ, xcjs_ZP, xcjs_XYK)
'? =ct_yexs(xcjs_ye,xcjs_ye1,t_FKMC,xcjs_xj,xcjs_zp,xcjs_xyk)
End If
'? t_jsdm = t_R1 + t_R2 + r3 + r4 + t_R5
If xcjs_YE > 0 And t_FKMC <> "现金" And Len(t_FKMC) <> 0 Then
'???? 支票信用卡登记 do zw_zpdj with t_jsdm,t_FKMC,xcjs_ye,xcjs_ye1,t_zdh,xcjs_zh,sys_gwmc,xcjs_rq
End If
If MsgBox("是否向客人赠送优惠券?", vbOKCancel, Trim(SYS_GWMC) & "客帐结算") = vbOK Then
Call CT_YHQ("发放", 0)
End If
Call CT_KZGD(Trim(t_TZLB), Trim(t_TZK), Trim(t_HZK), Trim(t_ZDH), t_R2, Trim(t_JSMC), t_R5, Trim(t_FKMC), "*", xcjs_MFCK, t_YHQ, 0, Trim(t_TH), xcjs_XJ, xcjs_ZP, xcjs_XYK, xcjs_ZCKBZ, xcjs_ZCKCT, xcjs_MFJE1, xcjs_MFJE2, xcjs_FWJE, xcjs_bl, xcjs_YE, xcjs_ZY, Date, Time)
ct_xcjs = True
End Function
'**************************************************************************************************
'* -- 挂帐结算 --
Private Function ct_gzjs(t_TH As String, t_ZDH As String, t_TZLB As String, t_TZK As String, t_HZK As String, t_ZHK As String, t_R1 As String, t_R2 As String, t_R3 As String, t_R4 As String, t_R5 As String, t_JSMC As String, t_FKMC As String, t_SJHJ As Double, t_FWF As Double, t_FJF As Double, t_JSF As Double, t_YHQ As Integer, t_ZKL As Single, t_SPR As String, T_MC As String) As Boolean
Dim gzjs_XJ As Double
Dim gzjs_ZP As Double
Dim gzjs_XYK As Double
Dim gzjs_ZY As String
Dim gzjs_YE As Double
Dim gzjs_YE1 As Double
Dim gzjs_FWJE As Double
Dim gzjs_ZCKBZ As Double
Dim gzjs_ZCKCT As Double
Dim gzjs_ZCKKF As Double
Dim gzjs_MFCK As Integer
Dim gzjs_MFJE1 As Double
Dim gzjs_MFJE2 As Double
frm_msg.Visible = True
frm_msg.Caption = ""
gzjs_ZCKBZ = 0
gzjs_ZCKCT = 0
gzjs_ZCKKF = 0
gzjs_MFCK = 0
If op_mfck(1).Value Then
Call tPzck_JS(gzjs_ZCKBZ, gzjs_ZCKCT, gzjs_ZCKKF, gzjs_MFCK)
End If
gzjs_MFJE1 = gzjs_ZCKBZ ' 张数 * 免费卡标准
gzjs_MFJE2 = t_YHQ * SYS_YHQBZ ' 张数 * 优惠卡标准
gzjs_YE = t_SJHJ - gzjs_MFJE1 - gzjs_MFJE2 ' 应收款余额=总消费 - 免费卡 - 优惠卡
If gzjs_YE < 0 Then ' 如果余额<0 THEN
If gzjs_MFJE2 > 0 Then ' 如果优惠卡>0 THEN 优惠卡=优惠卡+余额
gzjs_MFJE2 = gzjs_MFJE2 + gzjs_YE ' (冲减优惠)
End If
If gzjs_MFJE2 < 0 Then ' 如果冲减后的值<0 THEN 优惠卡=0
gzjs_MFJE2 = 0
End If
gzjs_YE = t_SJHJ - gzjs_MFJE1 - gzjs_MFJE2 ' 应收款余额=总消费 - 免费卡 - 优惠卡
If gzjs_YE < 0 Then ' 如果冲减后的余额<0 THEN 免费卡=免费卡+余额
gzjs_MFJE1 = gzjs_MFJE1 + gzjs_YE ' (冲减免费)
gzjs_YE = 0 ' 余额=0
End If ' END 余额<0
End If
t_R4 = "1"
Dim gzjs_bl As Single
gzjs_bl = 1
frm_msg.Visible = True
frm_msg.Caption = "正在结算, 请稍候..."
'? do ct_fxcl with t_hzk,t_yyxm,t_R1,t_R2,r4,gzjs_bl,t_zdh," ",gzjs_rq
If gzjs_MFJE1 > 0 Then
'? t_xfxm = "免费早餐卡"
'? do ct_dxcl with t_xfxm,t_yyxm,t_R1,t_R2,r4,'0',t_zdh,pub_mfje1,1," ",gzjs_rq
End If
If gzjs_MFJE2 > 0 Then
'? t_xfxm = "优惠券"
'? do ct_dxcl with t_xfxm,t_yyxm,t_R1,t_R2,r4,'0',t_zdh,pub_mfje2,1," ",gzjs_rq
End If
'?
gzjs_FWJE = t_FWF + t_FJF + t_JSF
If gzjs_FWJE > 0 Then
'? t_xfxm = "服务费"
'? do ct_dxcl with t_xfxm,t_yyxm,t_R1,t_R2,r4,'0',t_zdh,t_fwje,1," ",gzjs_rq
End If
gzjs_XJ = 0
gzjs_ZP = 0
gzjs_XYK = 0
gzjs_ZY = "*"
gzjs_YE1 = 0
If gzjs_YE > 0 Then
t_R3 = "00"
Call CT_YECL1("YYXMA", Trim(t_R1), Trim(t_R2), "1", Trim(tx_dfzh.Text), Trim(t_ZDH), gzjs_YE, Trim(gzjs_ZY), Trim(T_MC), Trim(t_R3), "*", Time)
Dim gzjs_JSDM As String
gzjs_JSDM = t_R1 + t_R2 + t_R3 + t_R4 + "0"
Call ZW_KZDJ(Trim(gzjs_JSDM), Trim(gzjs_ZY), Trim(tx_dfzh.Text), Date, gzjs_YE, Trim(t_ZDH), "*", Trim(t_ZHK), "0", Trim(t_SPR), t_ZKL)
Call CT_FLCS(Trim(t_HZK), Trim(tx_dfzh.Text), Trim(t_ZDH), "YYXMA", gzjs_FWJE, gzjs_MFJE1, gzjs_MFJE2, Date, "0")
Call CT_YEXS(gzjs_YE, gzjs_YE1, "*", gzjs_XJ, gzjs_ZP, gzjs_XYK)
End If
If MsgBox("是否向客人赠送优惠券?", vbOKCancel, Trim(SYS_GWMC) & "客帐结算") = vbOK Then
Call CT_YHQ("发放", 0)
End If
Call CT_KZGD(Trim(t_TZLB), Trim(t_TZK), Trim(t_HZK), Trim(t_ZDH), t_R2, t_JSMC, t_R5, t_FKMC, "*", gzjs_MFCK, t_YHQ, 0, Trim(t_TH), gzjs_XJ, gzjs_ZP, gzjs_XYK, gzjs_ZCKBZ, gzjs_ZCKCT, gzjs_MFJE1, gzjs_MFJE2, gzjs_FWJE, gzjs_bl, gzjs_YE, gzjs_ZY, Date, T
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -