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

📄 frmempstatuslist.frm

📁 排队分诊管理系统源代码!该代码使用VB6开发环境
💻 FRM
字号:
VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Object = "{86CF1D34-0C5F-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCT2.OCX"
Begin VB.Form frmEmpStatusList 
   Caption         =   "员工工作状况列表"
   ClientHeight    =   6015
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   8415
   Icon            =   "frmEmpStatusList.frx":0000
   LinkTopic       =   "Form1"
   LockControls    =   -1  'True
   MDIChild        =   -1  'True
   ScaleHeight     =   6015
   ScaleWidth      =   8415
   WindowState     =   2  'Maximized
   Begin VB.CommandButton cmdQuit 
      Caption         =   "关闭(&C)"
      Height          =   375
      Left            =   7200
      TabIndex        =   6
      Top             =   5520
      Width           =   1095
   End
   Begin VB.CommandButton cmdPrint 
      Caption         =   "打印(&P)"
      Height          =   375
      Left            =   1080
      TabIndex        =   8
      Top             =   5520
      Width           =   975
   End
   Begin VB.CommandButton cmdPreview 
      Caption         =   "预览(&V)"
      Height          =   375
      Left            =   120
      TabIndex        =   7
      Top             =   5520
      Width           =   975
   End
   Begin VB.CommandButton cmdRefresh 
      Caption         =   "刷新(&R)"
      Height          =   375
      Left            =   6120
      TabIndex        =   5
      Top             =   5520
      Width           =   1095
   End
   Begin VB.Frame fra1 
      Caption         =   "员工工作状况"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   10.5
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   4575
      Left            =   120
      TabIndex        =   11
      Top             =   840
      Width           =   8175
      Begin MSComctlLib.ListView lsvService 
         Height          =   4215
         Left            =   120
         TabIndex        =   4
         Top             =   240
         Width           =   7935
         _ExtentX        =   13996
         _ExtentY        =   7435
         View            =   3
         LabelEdit       =   1
         LabelWrap       =   0   'False
         HideSelection   =   0   'False
         GridLines       =   -1  'True
         _Version        =   393217
         ForeColor       =   -2147483640
         BackColor       =   -2147483643
         Appearance      =   1
         BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
            Name            =   "宋体"
            Size            =   9.75
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         NumItems        =   6
         BeginProperty ColumnHeader(1) {BDD1F052-858B-11D1-B16A-00C0F0283628} 
            Text            =   "员工姓名"
            Object.Width           =   2540
         EndProperty
         BeginProperty ColumnHeader(2) {BDD1F052-858B-11D1-B16A-00C0F0283628} 
            Alignment       =   2
            SubItemIndex    =   1
            Text            =   "员工工号"
            Object.Width           =   2540
         EndProperty
         BeginProperty ColumnHeader(3) {BDD1F052-858B-11D1-B16A-00C0F0283628} 
            Alignment       =   2
            SubItemIndex    =   2
            Text            =   "服务人数"
            Object.Width           =   2540
         EndProperty
         BeginProperty ColumnHeader(4) {BDD1F052-858B-11D1-B16A-00C0F0283628} 
            Alignment       =   2
            SubItemIndex    =   3
            Text            =   "平均服务时间"
            Object.Width           =   3175
         EndProperty
         BeginProperty ColumnHeader(5) {BDD1F052-858B-11D1-B16A-00C0F0283628} 
            Alignment       =   2
            SubItemIndex    =   4
            Text            =   "最长服务时间"
            Object.Width           =   3175
         EndProperty
         BeginProperty ColumnHeader(6) {BDD1F052-858B-11D1-B16A-00C0F0283628} 
            Alignment       =   2
            SubItemIndex    =   5
            Text            =   "弃号人数"
            Object.Width           =   2540
         EndProperty
      End
   End
   Begin VB.Frame fra2 
      Caption         =   "服务时间"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   10.5
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   615
      Index           =   0
      Left            =   120
      TabIndex        =   10
      Top             =   120
      Width           =   2295
      Begin MSComCtl2.DTPicker dtpService 
         Height          =   300
         Left            =   120
         TabIndex        =   0
         Top             =   240
         Width           =   2055
         _ExtentX        =   3625
         _ExtentY        =   529
         _Version        =   393216
         Format          =   62980097
         CurrentDate     =   37580
      End
   End
   Begin VB.Frame fra2 
      Caption         =   "服务员工"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   10.5
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   615
      Index           =   1
      Left            =   2520
      TabIndex        =   9
      Top             =   120
      Width           =   5775
      Begin VB.OptionButton opt1 
         Caption         =   "全部员工"
         Height          =   180
         Index           =   0
         Left            =   240
         TabIndex        =   1
         Top             =   300
         Value           =   -1  'True
         Width           =   1095
      End
      Begin VB.OptionButton opt1 
         Caption         =   "指定员工"
         Height          =   180
         Index           =   1
         Left            =   1440
         TabIndex        =   2
         Top             =   300
         Width           =   1095
      End
      Begin VB.ComboBox cboEmployee 
         Enabled         =   0   'False
         Height          =   300
         Left            =   2640
         Style           =   2  'Dropdown List
         TabIndex        =   3
         Top             =   240
         Width           =   3015
      End
   End
End
Attribute VB_Name = "frmEmpStatusList"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit

Dim m_tagErrInfo    As TYPE_ERRORINFO

Dim m_sDate         As String
Dim m_bEmpCode      As Boolean
Dim m_sEmpCode      As String

Private Sub cmdQuit_Click()
    On Error Resume Next
    Unload Me
End Sub

Private Sub cmdRefresh_Click()
    On Error Resume Next
    m_sDate = dtpService.Value
    If opt1(0).Value = True Then
        m_bEmpCode = True
        m_sEmpCode = ""
    Else
        If cboEmployee.ListIndex < 0 Then
            MsgBox "请选择需要统计的员工名称。", vbOKOnly, "系统提示"
            Exit Sub
        End If
        m_bEmpCode = False
        m_sEmpCode = CStr(cboEmployee.ItemData(cboEmployee.ListIndex))
    End If
    
    InitListInfo
    
End Sub

Private Sub Form_Load()
    On Error GoTo ERROR_EXIT
    Dim rs As New ADODB.Recordset, cmd As New ADODB.Command
    Dim strSQL As String, i As Integer
    
    cboEmployee.Clear
    
    dtpService.MaxDate = DateAdd("d", -1, Date)
    dtpService.Value = DateAdd("d", -1, Date)
    m_sDate = dtpService.Value
    
    m_bEmpCode = True
    m_sEmpCode = ""
    
    '连接数据库
    cmd.ActiveConnection = dbMyDB
    cmd.CommandType = adCmdText
    
    '查询数据库
    strSQL = "SELECT * FROM Employee WHERE nouse_yesno = 0"
    cmd.CommandText = strSQL
    rs.CursorLocation = adUseClient
    rs.Open cmd, , adOpenStatic, adLockReadOnly
    If Not rs.EOF And rs.RecordCount > 0 Then
        rs.MoveFirst
        For i = 1 To rs.RecordCount
            cboEmployee.AddItem rs!name_c
            cboEmployee.ItemData(i - 1) = rs!ep_id
            rs.MoveNext
        Next i
    End If
    rs.Close
    
    If rs.State = adStateOpen Then rs.Close
    Set rs = Nothing
    Set cmd = Nothing
    
    InitListInfo
    
    Exit Sub
ERROR_EXIT:
    m_tagErrInfo.strErrDate = Format(Now, "yyyy-mm-dd hh:mm:ss")
    m_tagErrInfo.strErrFile = "frmEmpStatusList"
    m_tagErrInfo.strErrFunc = "Form_Load"
    m_tagErrInfo.nErrNum = Err.Number
    m_tagErrInfo.strErrDesc = Error(Err.Number)
    If Err.Number <> 0 Then Err.Clear
    modErrorInfo.WriteErrLog m_tagErrInfo
End Sub

Private Sub Form_Resize()
    On Error Resume Next
    Dim i As Integer, j As Integer

    If Me.WindowState = 1 Then Exit Sub
    
    If Me.Width < 8535 Then Me.Width = 8535
    If Me.Height < 6420 Then Me.Height = 6420
    
    i = Me.Width - 8535
    j = Me.Height - 6420

    '修改宽度
    fra2(1).Width = i + 5775
    cboEmployee.Width = i + 3015
    
    fra1.Width = i + 8175
    lsvService.Width = i + 7935
    
    cmdRefresh.Left = i + 6120
    cmdQuit.Left = i + 7200
    
    '修改高度位置
    fra1.Height = j + 4575
    lsvService.Height = j + 4215
    
    cmdPreview.Top = j + 5520
    cmdPrint.Top = j + 5520
    cmdRefresh.Top = j + 5520
    cmdQuit.Top = j + 5520
End Sub

Private Sub Form_Terminate()
    On Error Resume Next
    Set frmEmpStatusList = Nothing
End Sub

Private Sub opt1_Click(Index As Integer)
    On Error Resume Next
    If Index = 0 And opt1(0).Value = True Then
        cboEmployee.Enabled = False
    ElseIf Index = 1 And opt1(1).Value = True Then
        cboEmployee.Enabled = True
    End If
End Sub

'//////////////////////////////////////////////////////////////////////////////////////
'/显示当前的数据
Private Function InitListInfo() As Boolean
    On Error GoTo ERROR_EXIT
    Dim rs As New ADODB.Recordset, cmd As New ADODB.Command
    Dim strSQL As String, i As Integer, j As Integer
    Dim itmX As ListItem, sName As String, sCode As String
    Dim sTime1 As String, sTime2 As String
    Dim l As Long, n As Long, m As Long
    Dim iHour As Long, iMinute As Long, iSecond As Long
    Dim iCount As Integer, iGiveup As Integer
    Dim sEmployee() As String
    
    lsvService.ListItems.Clear
    
    '初始化员工编号
    If cboEmployee.ListCount < 1 Then
        InitListInfo = True
        Exit Function
    End If
    If m_bEmpCode = False Then
        ReDim sEmployee(0)
        sEmployee(0) = m_sEmpCode
    Else
        ReDim sEmployee(cboEmployee.ListCount - 1)
        For i = 1 To cboEmployee.ListCount
            sEmployee(i - 1) = cboEmployee.ItemData(i - 1)
        Next i
    End If
    
    '连接数据库
    cmd.ActiveConnection = dbMyDB
    cmd.CommandType = adCmdText
    
    '查询数据库
    For i = 0 To UBound(sEmployee)
        strSQL = "SELECT * FROM VIEW_LIST_Emp_Service WHERE cq_start_data = '" & DateValue(m_sDate) & _
             "' AND ep_id = '" & sEmployee(i) & "' ORDER BY cq_code"
        cmd.CommandText = strSQL
        rs.CursorLocation = adUseClient
        rs.Open cmd, , adOpenStatic, adLockReadOnly
        If Not rs.EOF And rs.RecordCount > 0 Then
            rs.MoveFirst
            sName = ""
            m = 0
            n = 0
            iCount = 0
            iGiveup = 0
            For j = 1 To rs.RecordCount
                If rs!end_state <> 1 And rs!end_state <> 2 Then
                    iCount = iCount + 1
                    If sName <> rs!name_c Then
                        sName = rs!name_c
                    End If
                    If Not IsNull(rs!ep_code) Then
                        sCode = rs!st_name
                    End If
                    '服务时间
                    If Not IsNull(rs!start_time) Then
                        sTime1 = TimeValue(rs!start_time)
                    End If
                    If Not IsNull(rs!end_time) Then
                        sTime2 = TimeValue(rs!end_time)
                    End If
                    l = DateDiff("s", sTime1, sTime2)
                    m = l + m                           '总服务时间
                    If l > n Then n = l                 '最长服务时间
                End If
                If rs!end_state = 1 Then
                    iGiveup = iGiveup + 1
                End If
                rs.MoveNext
            Next j
                        
            '平均服务时间
            m = m / iCount
            iHour = m / 3600
            iMinute = (m - iHour * 3600) / 60
            iSecond = m - iHour * 3600 - iMinute * 60
            sTime1 = TimeSerial(iHour, iMinute, iSecond)
            '最长服务时间
            iHour = n / 3600
            iMinute = (n - iHour * 3600) / 60
            iSecond = n - iHour * 3600 - iMinute * 60
            sTime2 = TimeSerial(iHour, iMinute, iSecond)
            '显示数据
            Set itmX = lsvService.ListItems.Add(, , sName)
            itmX.SubItems(1) = sCode
            itmX.SubItems(2) = iCount
            itmX.SubItems(3) = sTime1
            itmX.SubItems(4) = sTime2
            itmX.SubItems(5) = iGiveup
        End If
        rs.Close
    Next i
            
    If rs.State = adStateOpen Then rs.Close
    Set rs = Nothing
    Set cmd = Nothing
    
    InitListInfo = True
    Exit Function
ERROR_EXIT:
    m_tagErrInfo.strErrDate = Format(Now, "yyyy-mm-dd hh:mm:ss")
    m_tagErrInfo.strErrFile = "frmEmpStatusList"
    m_tagErrInfo.strErrFunc = "InitListInfo"
    m_tagErrInfo.nErrNum = Err.Number
    m_tagErrInfo.strErrDesc = Error(Err.Number)
    If Err.Number <> 0 Then Err.Clear
    modErrorInfo.WriteErrLog m_tagErrInfo
    
    InitListInfo = False
End Function

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -