📄 frmfullunpack.frm
字号:
VERSION 5.00
Begin VB.Form frmFullUnpack
BorderStyle = 3 'Fixed Dialog
Caption = "就餐"
ClientHeight = 2988
ClientLeft = 36
ClientTop = 420
ClientWidth = 6180
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 2988
ScaleWidth = 6180
ShowInTaskbar = 0 'False
StartUpPosition = 3 '窗口缺省
Begin VB.Timer Timer1
Enabled = 0 'False
Interval = 1000
Left = 480
Top = 480
End
Begin VB.CommandButton cmdStop
Caption = "暂停"
Enabled = 0 'False
BeginProperty Font
Name = "宋体"
Size = 10.8
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 490
Left = 3000
TabIndex = 1
Top = 600
Width = 1450
End
Begin VB.CommandButton cmdBegin
Caption = "启动"
BeginProperty Font
Name = "宋体"
Size = 10.8
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 490
Left = 1440
TabIndex = 0
Top = 600
Width = 1450
End
Begin VB.Label Label2
Caption = "当前就餐人数统计:"
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 370
Left = 1080
TabIndex = 3
Top = 2280
Width = 2170
End
Begin VB.Label strRecordSum
Alignment = 1 'Right Justify
BorderStyle = 1 'Fixed Single
Caption = "0"
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 370
Left = 3480
TabIndex = 2
Top = 2280
Width = 1450
End
End
Attribute VB_Name = "frmFullUnpack"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim ComputerName As String
Dim txtMoney As Currency
Dim pbout(3) As Byte
Dim rsdb As New ADODB.Recordset
Private Sub cmdBegin_Click()
Timer1.Enabled = True
cmdBegin.Enabled = False
cmdStop.Enabled = True
End Sub
Private Sub cmdStop_Click()
Timer1.Enabled = False
cmdStop.Enabled = False
cmdBegin.Enabled = True
End Sub
Private Sub Form_Load()
icdev = rf_init(0, 115200) '''''''''''''打开读写器,建立连接
If icdev < 0 Then
icdev = rf_init(1, 115200)
If icdev < 0 Then
MsgBox "IC卡读写器初始化失败!", vbCritical + vbOKOnly, "警告"
cmdAdd.Enabled = False
cmdDel.Enabled = False
Exit Sub
End If
End If
Me.Top = (Screen.Height - Me.Height) / 2 + 200
Me.Left = (Screen.Width - Me.Width) / 2
'ComputerName = GetPCName()
End Sub
Private Sub FullUnpack()
''''' Dim rs As New ADODB.Recordset '充值临时库
''''' Dim rsdb As New ADODB.Recordset
''''' Dim poAddmoney_tmp As New ADODB.Recordset '充值临时库
''''' Dim poSellIC_tmp As New ADODB.Recordset '售卡临时库
''''' Dim pbIn(0 To 31) As Byte '每条交易记录
''''' Dim psFileHead As String
''''' Dim piRet As Boolean
''''' Dim psIn As String
''''' Dim L As Long
''''' Dim plCardNO As Long '4 发行卡流水号
''''' Dim plOrderId As Long '4 卡片交易流水
''''' Dim piCardType As Integer '1 卡类
''''' Dim piBusinessType As Integer '1 交易类型
''''' Dim piTotleBusinessTimes As Integer '2 累计交易次数
''''' Dim plOldTimes As Long '4 原来次数
''''' Dim plBusinessTimes As Long '2 交易次数
''''' Dim pdDatetime As String '7 交易日期、交易时间
''''' Dim UseDate As String '2 使用日期
''''' Dim plOldMoney As Currency '4 余额
''''' Dim plBusinessMoney As Currency '3 交易'金额
''''' Dim plFullNO As Long '4 充值员卡号
''''' Dim plSamNO As Long '4 SAM卡卡号
''''' Dim pdValidityDate As String '2 有效期
''''' Dim psPathFile As String
''''' Dim psDept_id As String '9 部门编号
''''' Dim psEQUIP_ID As String
''''' Dim poEmp As New ADODB.Recordset
''''' Dim psRybh As String
''''' Dim pssql As String
''''' Dim plCardID As String
''''' Dim plCdate As String
''''' Dim plCtime As String
Dim M1Key As String
Dim stCardID As String
Dim stName As String
Dim stMoneyOld As String
Dim stMoney As String
M1Key = "e0e1e2e3e4e5"
For i = 0 To 3
st = rf_load_key_hex(ByVal icdev, 0, 14, ByVal M1Key)
If st = 0 Then Exit For
If i = 3 Then Exit Sub
Next
For i = 0 To 3
st = rf_card(ByVal icdev, 1, pbout(0))
If st = 0 Then Exit For
If i = 3 Then Exit Sub
Next
For i = 0 To 3
st = rf_authentication(ByVal icdev, 0, 14) '验正14扇区密码
If st = 0 Then Exit For
If i = 3 Then Exit Sub
Next
st = rf_read_hex(ByVal icdev, 57, databuff32)
If Mid(databuff32, 1, 8) = "ffffffff" Then
Exit Sub
End If
stCardID = Mid(databuff32, 1, 8)
Set rs = GetRecordset(maSys_db, "select * from LinkUser_Dict where M1_CardID='" & Trim(stCardID) & "'")
If Not (rs.EOF And rs.BOF) Then
stName = rs.Fields("cname")
Else
Exit Sub
End If
stMoney = 500
wvalue = stMoney
For i = 0 To 3
st = rf_decrement(ByVal icdev, 58, ByVal wvalue) '块减值操作
If st = 0 Then Exit For
If i = 3 Then Exit Sub
Next
For i = 0 To 3
st = rf_readval(ByVal icdev, 58, rvalue) ''读值
If st = 0 Then Exit For
If i = 3 Then Exit Sub
Next
stMoneyOld = rvalue / 100
st = rf_halt(ByVal icdev)
rsdb.Open "select * from linksfmoney", maSys_db, 3, 3
rsdb.AddNew
rsdb.Fields("m1_cardid") = stCardID
rsdb.Fields("m1_name") = stName
rsdb.Fields("m1_money") = stMoney / 100
rsdb.Fields("m1_balance") = stMoneyOld
rsdb.Fields("m1_date") = Format(Now, "yyyy-mm-dd hh:mm:ss")
rsdb.Update
rsdb.Close
st = rf_beep(icdev, 30)
strRecordSum.Caption = Val(strRecordSum.Caption) + 1
''''' cn.Execute "delete from addmoney_tmp where pcname='" & ComputerName & "'", 64
''''' cn.Execute "delete from sellic_tmp where pcname='" & ComputerName & "'", 64
''''' poAddmoney_tmp.Open "select * from addmoney_tmp where pcname='" & ComputerName & "'", cn, adOpenStatic, adLockPessimistic
''''' poSellIC_tmp.Open "select * from sellic_tmp where pcname='" & ComputerName & "'", cn, adOpenStatic, adLockPessimistic
''''' L = 256
''''' psPathFile = File1.Path + "\" + File1.FileName
''' pssql = "select * from LinkAddmoneyBuffer where R_send='03' order by Cpu_CardID"
''' Set rs = GetRecordset(maSys_db, pssql)
''' If rs.RecordCount <> 0 Then
''' rs.MoveFirst
''' End If
''' Do While Not rs.EOF
''' plCardID = rs.Fields("m1_cardid")
''' plCdate = rs.Fields("m1_cdate")
''' plCtime = rs.Fields("m1_ctime")
''' ''''''''''''''''''''''''''''''''''''根据认证卡号查询充值员人员编号与部门编号
''' plFullNO = rs.Fields("Cpu_CardID") ''''''''''Left(psIn, 8) '(pbIn(3) * L * L * L + pbIn(2) * L * L + pbIn(1) * L + pbIn(0)
''' poEmp.Open "select proposer from controlic_dict where controlic_id='" & plFullNO & "' and state_date=(select max(state_date) from controlic_dict where controlic_id='" & plFullNO & "')", maSys_db, adOpenStatic, adLockPessimistic
''' If Not poEmp.EOF And Not poEmp.BOF Then
''' psRybh = poEmp!proposer
''' End If
''' poEmp.Close
''' poEmp.Open "select dept_id from operate_dict where operate_id='" & psRybh & "'", maSys_db, adOpenStatic, adLockPessimistic
''' If Not poEmp.EOF And Not poEmp.BOF Then
''''' psDept_id = poEmp!DEPT_ID
''''' End If
''''' poEmp.Close
'''''
''''' plCardNO = Val(rs.Fields("M1_CardID")) ''''''''''卡号
''''' piCardType = Val(rs.Fields("M1_CardType")) '''''''''卡类
''''' pdDatetime = rs.Fields("M1_Cdate") + " " + rs.Fields("M1_Ctime") ''''''''交易时间
''''' plBusinessMoney = rs.Fields("M1_addmoney") ''''''''''''交易金额
''''' plOldMoney = rs.Fields("M1_balance") ''''''''''''''''''余额
''''' piBusinessType = 80 '''''''''''''''''''''''''''交易类型
''''' psEQUIP_ID = rs.Fields("Cpu_CardID") '''''''''''设备号,认证卡号
'''''
''''' pssql = "select * from addmoney_dict where motorist_id=" & plCardNO & " and consume_date='" & pdDatetime & "'"
''''' Set rsdb = GetRecordset(maSys_db, pssql)
''''' If rsdb.RecordCount = 0 Then
''''' poAddmoney_tmp.Open "select * from addmoney_dict ", maSys_db, adOpenStatic, adLockPessimistic
''''' With poAddmoney_tmp
''''' .AddNew
''''' !Motorist_id = plCardNO
''''' !Ic_id = piCardType
''''' !Consume_date = pdDatetime
''''' !DEPT_ID = psDept_id
''''' !EQUIP_ID = psEQUIP_ID 'Mid(psFileHead, 15, 9)
''''' ' If pbIn(9) = 80 Then
''''' !add_MONEY = plBusinessMoney 'plBusinessMoney / 100
''''' !Balance = plOldMoney '(plOldMoney + plBusinessMoney) / 100
''''' ' Else
''''' ' !add_MONEY = -plBusinessMoney / 100
''''' ' !Balance = (plOldMoney - plBusinessMoney) / 100
''''' ' End If
''''' !CONSUME_NUM = 0
''''' !SURPLUS_NUM = 0
''''' !VALID = "2050-12-31"
''''' !balance_oid = 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -