⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmfullunpack.frm

📁 一个完整的非接触IC卡会员管理系统
💻 FRM
📖 第 1 页 / 共 2 页
字号:
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 + -