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

📄 frmgetdrug.frm

📁 医院门诊医生工作站,vb6 SqlServer
💻 FRM
📖 第 1 页 / 共 3 页
字号:
    usp.Load
    spd.Row = -1
    spd.Col = 11
    spd.Lock = True
    FillData 1
    If gtydSysConfig.RegPrint Then
        btg.KeyEnabled(3) = False
    End If
End Sub

Public Sub FillData(ByVal Num As Integer)
    Dim i As Integer
    Dim tmpObj As clsGetDrug
    Dim Sickobj As clsSick
    Dim DcCode As String
    Set Sickobj = New clsSick
    Sickobj.SkSerialByQuery = AllGetDrugObj.Item(Num).SkSerial
    gfnFillDataBySickRegInfo Me, Sickobj
    chkBaby.value = IIf(AllGetDrugObj.Item(Num).IsBaby, 1, 0)
    txtSkID = AllGetDrugObj.Item(Num).SkID
    spd.Redraw = False
    spd.MaxRows = 0
    For Each tmpObj In AllGetDrugObj.Item(Num)
        DcCode = tmpObj.DcCode
        spd.MaxRows = spd.MaxRows + 1
        spd.Row = spd.MaxRows
        spd.Col = 1
        spd.Text = tmpObj.ADVSerial
        spd.Col = 2
        spd.Text = tmpObj.Num
        spd.Col = 3
        spd.Text = tmpObj.ItemName
        spd.Col = 4
        spd.Text = tmpObj.batchid & "\" & tmpObj.model
        spd.Col = 5
        spd.Text = tmpObj.FreqDes
        spd.Col = 6
        spd.Text = Format(tmpObj.ModelAmount, "#######0.####") & tmpObj.ModelUnit
        spd.Col = 7
        spd.Text = tmpObj.unit
        spd.Col = 8
        spd.Text = tmpObj.Mount
        spd.Col = 9
        spd.Text = tmpObj.Cprice
        Select Case tmpObj.Status And 3
            Case 0
                spd.Col = 10
                spd.value = 0
                spd.Lock = False
                spd.Col = 11
                spd.value = 0
            Case 1
                spd.Col = 10
                spd.value = 1
                spd.Lock = False
                spd.Col = 11
                spd.value = 0
            Case 2
                spd.Col = 10
                spd.value = 0
                spd.Lock = True
                spd.Col = 11
                spd.value = 1
            Case 3
                spd.Col = 10
                spd.value = 1
                spd.Lock = True
                spd.Col = 11
                spd.value = 1
        End Select
        If tmpObj.NotStoreAmount Then
            spd.Col = 10
            spd.Lock = True
        Else
            spd.Lock = False
        End If
        spd.Col = 12
        If gdbobj.GetRs("select DcName From m_Doctor where dcCode='" & DcCode & "'") > 0 Then
            spd.Text = gdbobj.Rs(0)
        End If
        spd.Col = 13
        spd.Text = Format(tmpObj.BeginDate, "yyyy-mm-dd hh:mm:ss")
        spd.BlockMode = True
        spd.Row = spd.MaxRows
        spd.Row2 = spd.MaxRows
        spd.Col = 1
        spd.Col2 = spd.MaxCols
        If tmpObj.NotStoreAmount Then
            spd.ForeColor = RGB(255, 0, 0)
        Else
            spd.ForeColor = RGB(0, 0, 0)
        End If
        spd.BlockMode = False
        
    Next
    spd.Redraw = True
    AllGetDrugObj.Item(Num).RemFair = Sickobj.RemFair
    If AllGetDrugObj.Item(Num).CanKeep Then
        btg.KeyEnabled(0) = True
        btg.KeyEnabled(1) = True
        btg.KeyEnabled(2) = True
        btg.KeyEnabled(3) = True
    Else
        btg.KeyEnabled(0) = False
        btg.KeyEnabled(1) = False
        btg.KeyEnabled(2) = False
        btg.KeyEnabled(3) = False
    End If
End Sub


Private Sub btg_Click(ByVal WhichB As Integer)
    Dim i As Integer, SkID As String
    Dim Obj As Object, ErrDes As String, Row As Long, Col As Long
    
    Select Case WhichB
        Case 0
            For i = 1 To spd.MaxRows
                spd.Row = i
                spd.Col = 11
                If spd.value = 0 Then
                    spd.Col = 10
                    spd.value = 1
                End If
            Next i
        Case 1
            For i = 1 To spd.MaxRows
                spd.Row = i
                spd.Col = 11
                If spd.value = 0 Then
                    spd.Col = 10
                    spd.value = 0
                End If
            Next i
        Case 2
            Set Obj = ValidInput(ErrDes, Row, Col)
            If Not (Obj Is Nothing) Then
                MsgBox ErrDes, vbCritical
                hisActiveSpreadCell spd, Row, Col
                Exit Sub
            End If
            loaddata
            Me.MousePointer = 11
            If Not AllGetDrugObj.Item(Lct.CurPos).Save Then
                Me.MousePointer = 0
                If AllGetDrugObj.Item(Lct.CurPos).allFlag Then
                    Set NoStorefrm = New frmNoStore
                    Set NoStorefrm.DrugAmountsObj = AllGetDrugObj.Item(Lct.CurPos).DrugAmountsObj
                    NoStorefrm.Show
                Else
                    MsgBox gdbobj.ErrDes, vbCritical
                End If
                
            Else
                AllGetDrugObj.Item(Lct.CurPos).SetStatus
                Me.MousePointer = 0
               FillData Lct.CurPos
'               btg.KeyEnabled(3) = False
                If gtydSysConfig.ifGetMarkPrint Then
                    MsgBox "此病人记帐完成!请打开打印机,打印摆药单!", vbInformation
                    printspd
                Else
                    MsgBox "此病人记帐完成!", vbInformation
                
                End If
            End If
            
        Case 3
            printspd
        
        Case 4
            Unload Me
        Case 5
            SkID = InputBox("请输入病人病案号:", "记帐病人查询")
            i = AllGetDrugObj.SkIDIndex(SkID)
            If i > 0 Then
                Lct.CurPos = i
            End If
    End Select
    
End Sub


Private Sub Form_Load()
    hisFormToCenter Me, frmMain
    InitForm
End Sub

Private Sub Form_Unload(Cancel As Integer)
    Set frmGetDrug = Nothing
End Sub


Private Sub Lct_PosChanged(ByVal Pos As Long, ByVal OldPos As Long)
    FillData Pos
End Sub


Private Sub NoStorefrm_act(Opt As Integer)
    changflag Opt
End Sub

Private Sub spd_LeaveCell(ByVal Col As Long, ByVal Row As Long, ByVal NewCol As Long, ByVal NewRow As Long, Cancel As Boolean)
    gpdSpreadControl spd, Col, Row, NewCol, NewRow
End Sub
Private Function ValidInput(ErrDes As String, Row As Long, Col As Long) As Object
    Dim i As Integer, Having As Boolean
    Dim Flag As Integer, Mark As Boolean
    For i = 1 To spd.MaxRows
        spd.Row = i
        spd.Col = 10
        Flag = spd.value
        spd.Col = 11
        If spd.value = 0 And Flag = 1 Then
            Having = True
        End If
        If spd.value = 1 Then Mark = True
    Next i
    If Not Having Then
        If Mark Then
            ErrDes = "已经记过帐不能记账!"
        Else
            ErrDes = "请选择记帐项目!"
        End If
        Set ValidInput = spd
        Row = 1
        Col = 10
        Exit Function
    
    End If
End Function
Private Sub loaddata()
    Dim tmpObj As clsGetDrug
    Dim ADVSerial As String
    Dim Num As Integer, i As Integer
    
    For i = 1 To spd.MaxRows
        spd.Row = i
        spd.Col = 10
        If spd.value = 1 Then
            spd.Col = 1
            ADVSerial = spd.Text
            spd.Col = 2
            Num = Val(spd.Text)
            Set tmpObj = AllGetDrugObj.ADVItem(ADVSerial, Num)
            If Not (tmpObj Is Nothing) Then
                If (tmpObj.Status And 2) = 0 Then
                    tmpObj.Status = 1
                End If
            End If
        Else
            spd.Col = 1
            ADVSerial = spd.Text
            spd.Col = 2
            Num = Val(spd.Text)
            Set tmpObj = AllGetDrugObj.ADVItem(ADVSerial, Num)
            If Not (tmpObj Is Nothing) Then
                spd.Col = 11
                If spd.value = 1 Then
                    tmpObj.Status = 2
                Else
                    tmpObj.Status = 0
                End If
            End If
        
        End If
    Next i
End Sub


Private Sub spd_RightClick(ByVal ClickType As Integer, ByVal Col As Long, ByVal Row As Long, ByVal MouseX As Long, ByVal MouseY As Long)
    Call usp.RightClick
End Sub

Private Sub changflag(Flag As Integer)
    Dim i As Integer
    Dim TmpItem As clsGetDrug
    Dim tmpObj As clsSickGetDrug
    For i = 1 To AllGetDrugObj.Item(Lct.CurPos).DrugAmountsObj.Count
        If AllGetDrugObj.Item(Lct.CurPos).DrugAmountsObj(i).Storage < AllGetDrugObj.Item(Lct.CurPos).DrugAmountsObj(i).Amount Then
            If AllGetDrugObj.Item(Lct.CurPos).CanKeep Then
                For Each TmpItem In AllGetDrugObj.Item(Lct.CurPos)
                    If TmpItem.ItemCode = AllGetDrugObj.Item(Lct.CurPos).DrugAmountsObj(i).ItemCode Then
                        If (TmpItem.Status And 2) = 0 Then
                            TmpItem.Status = 0
                        End If
                    End If
                Next
            End If
        End If
    Next i
    FillData Lct.CurPos
End Sub

Private Sub printspd()
    Dim i As Integer
    Dim Flag As Integer
    Dim selenum As Integer
    spd.PrintHeader = "                               /fz""12"" /fb1 " & "住院病人摆药单" _
        & "                                  /n/n" _
        & "/fz""10"" /fb0 病案号:" & txtSkID _
        & Space(6) & "姓名:" & lblName _
        & Space(6) & "性别:" & lblSex _
        & Space(6) & "入院日期:" & Format(gfnGetTime, gstrCHINA_DATE) _
        & Space(4) & "病区:" & lblDepCode _
        & Space(4) & "打印日期:" & gfnGetTime(gstrCHINA_DATE) & "/r/n"
    spd.PrintRowHeaders = False
    spd.PrintShadows = False
    spd.PrintMarginLeft = 0
    spd.PrintUseDataMax = False
    selenum = 0
    For i = 1 To spd.MaxRows
        spd.Row = i
        spd.Col = 10
        Flag = spd.value
        'spd.Col = 11
        If spd.value = 0 And Flag = 0 Then
            spd.RowHidden = True
        Else
            If spd.value = 1 Then selenum = selenum + 1
        End If
    Next i
    If selenum > 0 Then
        spd.Action = SS_ACTION_PRINT
    Else
        MsgBox "请先选择记账后再打印!", vbCritical
    End If
    For i = 1 To spd.MaxRows
        spd.Row = i
        spd.RowHidden = False
    Next i

End Sub

⌨️ 快捷键说明

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