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

📄 frmhuajia.vb

📁 一个医院管理系统
💻 VB
📖 第 1 页 / 共 3 页
字号:
            ts.GridColumnStyles.Add(aColumnTextColumn)
        Next
        ts.MappingName = dtDetail.TableName
        ts.ReadOnly = False
        ts.AllowSorting = False
        Me.dgdList.TableStyles.Add(ts)
        '设置数据源
        dgdList.DataSource = dtDetail.DefaultView
        dtDetail.DefaultView.AllowNew = False
        dtDetail.DefaultView.AllowDelete = False
        dtDetail.DefaultView.AllowEdit = False
    End Sub
    Private Sub CalMXMoney()
        '计算明细金额
        Dim dPrice As Double = CType(txbPrice.Text, Double)
        Dim iCount As Integer = CInt(txbNumber.Text)
        Me.txbMMoney.Text = (dPrice * iCount).ToString
    End Sub
    Private Sub Clear()
        '清空门诊划价GroupBox中的信息
        Me.txbId.Text = ""
        Me.txbMoney.Text = ""
        Me.txbName.Text = ""
        Me.txbSex.Text = ""
    End Sub
    Private Sub ClearMX()
        '清空门诊明细的信息
        Me.txbMXId.Text = ""
        Me.txbMName.Text = ""
        Me.txbGuiGe.Text = ""
        Me.txbUnit.Text = ""
        Me.txbPrice.Text = "0"
        Me.txbNumber.Text = "1"
        Me.txbMMoney.Text = ""
        Me.txbPY.Text = ""
    End Sub
    Private Sub CalTotalMoney()
        '计算明细合计金额
        If dtDetail.Rows.Count = 0 Then
            Me.txbMoney.Text = "0"
        End If
        Dim s As String = ""
        Dim dTotal As Single = 0
        For Each dr As DataRow In dtDetail.Rows
            s = dr("金额")
            dTotal = dTotal + CSng(s.Trim)
        Next
        Me.txbMoney.Text = dTotal.ToString
    End Sub

    Private Sub txbNumber_TextChanged(ByVal sender As Object, _
    ByVal e As System.EventArgs) Handles txbNumber.TextChanged
        CalMXMoney()
    End Sub

    Private Sub btnAdd_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles btnAdd.Click
        If txbName.Text.Trim.Length = 0 Or _
        txbMXId.Text.Trim.Length = 0 Then
            Return
        End If
        CalMXMoney()
        Dim dr As DataRow = Me.dtDetail.NewRow
        dr("编号") = Me.txbMXId.Text.Trim
        dr("名称") = Me.txbMName.Text.Trim()
        dr("规格") = Me.txbGuiGe.Text.Trim
        dr("单位") = Me.txbUnit.Text.Trim
        dr("单价") = Me.txbPrice.Text.Trim
        dr("数量") = Me.txbNumber.Text.Trim
        dr("金额") = Me.txbMMoney.Text.Trim
        dr("拼音码") = Me.txbPY.Text.Trim
        dtDetail.Rows.Add(dr)
        ClearMX()
        CalTotalMoney()
    End Sub

    Private Sub txbNumber_KeyPress(ByVal sender As Object, _
    ByVal e As System.Windows.Forms.KeyPressEventArgs) _
    Handles txbNumber.KeyPress
        '判断输入的字符是否为数字
        If e.KeyChar.IsDigit(e.KeyChar) = False Then
            '不是数字的字符不处理
            e.Handled = True
            Me.txbNumber.Text = "1"
        End If
    End Sub

    Private Sub btnOpen_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles btnOpen.Click
        Dim dlg As frmSelectHuaJia = New frmSelectHuaJia
        dlg.ShowDialog()
        Dim strId As String = dlg.GetInfo().Trim
        Dim db As DataBase = New DataBase
        Dim strSQL As String = "select * from 门诊挂号 where 编号='"
        strSQL += strId + "' and 是否已划价='否'"
        Dim dv As DataView = db.RunSelectSQL(strSQL)
        Me.txbId.Text = strId
        Me.txbName.Text = dv(0)("姓名")
        Me.txbSex.Text = dv(0)("性别")
        Me.cbbDoctor.Text = dv(0)("医生")
        Me.cbbRoom.Text = dv(0)("挂号科室")
        db.Dispose()
    End Sub

    Private Sub frmHuaJia_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim db As DataBase = New DataBase
        Dim dv As DataView = db.RunSelectSQL("select 编号,名称 from 科室资料")
        Me.cbbRoom.DataSource = dv
        Me.cbbRoom.DisplayMember = "名称"
        Me.cbbRoom.ValueMember = "编号"

        dv = db.RunSelectSQL("select 编号,姓名 from 医生资料")
        Me.cbbDoctor.DataSource = dv
        Me.cbbDoctor.DisplayMember = "姓名"
        Me.cbbDoctor.ValueMember = "编号"
        db.Dispose()
        InitDataTalbe()
    End Sub

    Private Sub txbPY_KeyDown(ByVal sender As Object, _
    ByVal e As System.Windows.Forms.KeyEventArgs) _
    Handles txbPY.KeyDown
        If e.KeyCode = Keys.Enter Then
            Dim dlg As frmSelectHuaJiaMX = New frmSelectHuaJiaMX
            dlg.strPY = Me.txbPY.Text.Trim
            dlg.ShowDialog()
            Dim strId As String = dlg.GetInfo()
            Dim db As DataBase = New DataBase
            Dim dv As DataView = _
        db.RunSelectSQL("select * from v收费项目及药品 where 编号='" _
             + strId + "'")
            Me.txbMXId.Text = dv(0)("编号")
            Me.txbPY.Text = dv(0)("拼音码")
            Me.txbMName.Text = dv(0)("名称")
            Me.txbGuiGe.Text = dv(0)("规格")
            Me.txbUnit.Text = dv(0)("单位")
            Me.txbPrice.Text = dv(0)("单价")
            Me.txbNumber.Text = "1"
            db.Dispose()
        End If
    End Sub

    Private Sub btnDel_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles btnDel.Click
        Try
            '获得DataGrid当前被选中的行号
            Dim iRow = dgdList.CurrentRowIndex
            '弹出对话框让用户确认要删除记录
            '如果用户确认要删除记录
            If MessageBox.Show("你确认要删除此条记录吗?", _
       "Confirm", MessageBoxButtons.YesNo) = DialogResult.Yes Then
                '从商品清单表删除当前被选中记录()
                dtDetail.Rows(iRow).Delete()
                ' SetTaxForDelOrUpgrade()
                If dtDetail.Rows.Count = 0 Then
                    iCurrentLine = -1
                End If
                ClearMX()
            Else
                Exit Sub
            End If
        Catch ex As Exception
            MessageBox.Show("删除数据出错")
        End Try
        CalTotalMoney()
    End Sub

    Private Sub dgdList_CurrentCellChanged(ByVal sender As Object, _
    ByVal e As System.EventArgs) Handles dgdList.CurrentCellChanged
        If iCurrentLine = -1 Or iCurrentLine _
        <> dgdList.CurrentCell.RowNumber Then
            iCurrentLine = dgdList.CurrentCell.RowNumber
        End If
        Dim iRow As Integer = dgdList.CurrentRowIndex
        txbMXId.Text = dtDetail.Rows(iRow)("编号")
        txbMName.Text = dtDetail.Rows(iRow)("名称")
        txbGuiGe.Text = dtDetail.Rows(iRow)("规格")
        txbUnit.Text = dtDetail.Rows(iRow)("单位")
        txbPrice.Text = dtDetail.Rows(iRow)("单价")
        txbNumber.Text = dtDetail.Rows(iRow)("数量")
        txbMMoney.Text = dtDetail.Rows(iRow)("金额")
        txbPY.Text = dtDetail.Rows(iRow)("拼音码")
    End Sub

    Private Sub btnSave_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles btnSave.Click
        If dgdList.CurrentRowIndex = -1 Then
            Return
        End If
        iCurrentLine = dgdList.CurrentRowIndex
        dtDetail.Rows(iCurrentLine)("编号") = txbMXId.Text
        dtDetail.Rows(iCurrentLine)("名称") = txbMName.Text
        dtDetail.Rows(iCurrentLine)("规格") = txbGuiGe.Text
        dtDetail.Rows(iCurrentLine)("单位") = txbUnit.Text
        dtDetail.Rows(iCurrentLine)("单价") = txbPrice.Text
        dtDetail.Rows(iCurrentLine)("数量") = txbNumber.Text
        dtDetail.Rows(iCurrentLine)("金额") = txbMMoney.Text
        dtDetail.Rows(iCurrentLine)("拼音码") = txbPY.Text
        ClearMX()
        CalTotalMoney()
    End Sub

    Private Sub btnCancel_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles btnCancel.Click
        Me.ClearMX()
        Me.Clear()
        Me.dtDetail.Rows.Clear()
        Me.iCurrentLine = -1
    End Sub

    Private Sub btnInsert_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles btnInsert.Click
        If Me.dtDetail.Rows.Count = 0 Then
            Return
        End If
        Dim strSQL As String = ""
        Dim db As DataBase = New DataBase
        strSQL = "select max(编号) as 编号 from 门诊划价 where "
        strSQL += "编号 like '" + Date.Now.Year.ToString + "%'"
        Dim dv As DataView = db.RunSelectSQL(strSQL)
        Dim strId As String = "0000001"
        Dim strTmp As String = "0000000"
        Dim id As Integer = 0
        If dv(0)(0).GetType.ToString <> "System.DBNull" Then
            strId = dv(0)(0).ToString.Substring(4)
            id = CInt(strId) + 1
            strId = _
            strTmp.Substring(0, strTmp.Length - id.ToString.Length)
            strId += id.ToString
        End If
        strId = Date.Now.Year.ToString + strId
        strSQL = " Insert into 门诊划价(编号, 科室, 挂号编号, 医生, "
        strSQL += "划价时间, 划价员, 是否收费,划价金额, 是否发药) "
        strSQL += "values ('" + strId + "','" + cbbRoom.Text + "','"
        strSQL += txbId.Text.Trim + "','"
        strSQL += cbbDoctor.Text.Trim + "','"
        strSQL += Date.Now.ToString + "','张三','否',"
        strSQL += txbMoney.Text.Trim + ",'否')  "
        For Each dr As DataRow In dtDetail.Rows
            strSQL += "  Insert into 门诊划价明细(划价编号,"
            strSQL += " 药品编号, 单价, 数量, 金额) values ('"
            strSQL += strId + "','" + dr("编号") + "','" + dr("单价")
            strSQL += "','" + dr("数量") + "','" + dr("金额") + "')  "
        Next
        db.RunDelOrInsSQL(strSQL)
        strSQL = " update 门诊挂号 set 是否已划价='是' where 编号 = '"
        strSQL += txbId.Text.Trim + "'"
        db.RunDelOrInsSQL(strSQL)
        db.Dispose()
        Me.ClearMX()
        Me.Clear()
        Me.dtDetail.Rows.Clear()
        Me.iCurrentLine = -1
    End Sub
End Class

⌨️ 快捷键说明

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