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

📄 结算价格.frm

📁 不处的管理软件包
💻 FRM
📖 第 1 页 / 共 4 页
字号:
Private Sub treStyle_LostFocus()
    If Me.treStyle.Nodes.count > 0 Then
        Me.treStyle.Nodes(NodeKey).Selected = True
    End If
End Sub

Public Sub AddNew()
    Dim objEO            As U8FDEso.EntityObject
    Dim objSettlePriceBI As New U8FDBso.clsSettlePriceBI

    On Error GoTo lblHandle
    '1、申请权限

    '初始化实体对象
    Set objEO = objSettlePriceBI.Init(g_sDataSourceName, m_conBIStyle)

    '----用于备份
    If Not m_EO Is Nothing Then Set m_OldEO = m_EO.Clone(U8FDEso.esoStructureAndData)
    Set m_EO = objEO

    m_EO.State = U8FDEso.esoAddNew

    Set objEO = Nothing
    Set objSettlePriceBI = Nothing

    '----设置界面(值和状态)
    SetUI

    Exit Sub
lblHandle:
    MsgBox Err.Description, vbInformation, g_conSysName
End Sub

Public Sub Edit(Optional OID As U8FDEso.OIDObject)
    Dim objSettlePriceBI As New U8FDBso.clsSettlePriceBI
    Dim objLockMgr       As New U8FDMgr.LockManager
    Dim objEO            As U8FDEso.EntityObject

    On Error GoTo lblHandle
    '----申请权限

    '----
    If Not OID Is Nothing Then
        Set m_EO = objSettlePriceBI.MoveTo(g_sDataSourceName, U8FDEso.esoCurrent, m_conBIStyle, OID)
    End If

    '----锁定实体对象
    If m_EO.OID <> "" Then
        objLockMgr.LockIt g_sDataSourceName, m_EO.OID, zjLogInfo.cUserName, ComputerName
        '----用于备份
        Set m_OldEO = m_EO.Clone(U8FDEso.esoStructureAndData)
        m_EO.State = U8FDEso.esoEdit
    Else
        Set objEO = objSettlePriceBI.Init(g_sDataSourceName, m_conBIStyle)
        Set m_OldEO = m_EO.Clone(U8FDEso.esoStructureAndData)
        Set m_EO = objEO
        m_EO.State = U8FDEso.esoAddNew
    End If
    Set objSettlePriceBI = Nothing
    Set objLockMgr = Nothing
    Set objEO = Nothing
    '----设置界面
    SetUI

    Exit Sub
lblHandle:
    MsgBox Err.Description, vbInformation, g_conSysName
End Sub

Public Sub AddCol()
    Dim objSettlePriceBI As New U8FDBso.clsSettlePriceBI
    Dim objLockMgr       As New U8FDMgr.LockManager
    Dim objEO            As U8FDEso.EntityObject

    On Error GoTo lblHandle
    '----申请权限
    If Len(NodeKey) > 15 Then
        m_EO.OID = objSettlePriceBI.FindByCode(g_sDataSourceName, mID(Me.treStyle.Nodes(NodeKey).Parent.key, 2)).OID
    End If
    
    '----锁定实体对象
    If m_EO.OID <> "" Then
        objLockMgr.LockIt g_sDataSourceName, m_EO.OID, zjLogInfo.cUserName, ComputerName
        '----用于备份
        Set m_OldEO = m_EO.Clone(U8FDEso.esoStructureAndData)
        m_EO.State = U8FDEso.esoEdit
    Else
        Set objEO = objSettlePriceBI.FindByCode(g_sDataSourceName, mID(NodeKey, 2))
        Set m_OldEO = m_EO.Clone(U8FDEso.esoStructureAndData)
        If objEO(objEO.SourceOIDField) = "" Then
            Set objEO = objSettlePriceBI.Init(g_sDataSourceName)
        End If
        Set m_EO = objEO
        m_EO.State = U8FDEso.esoAddNew
    End If
    Set objSettlePriceBI = Nothing
    Set objLockMgr = Nothing
    Set objEO = Nothing
    '----设置界面
    SetUI

    Exit Sub
lblHandle:
    MsgBox Err.Description, vbInformation, g_conSysName
End Sub

Private Sub DeleteCol()
    Dim objIRateBI   As New U8FDBso.clsIRateBI
    Dim objLockMgr   As New U8FDMgr.LockManager

    If MsgBox("真的要删除当前记录吗?", vbQuestion + vbYesNo) = vbNo Then Exit Sub

    On Error GoTo lblHandle
    '----删除当前记录
    '----锁定实体对象
    objLockMgr.LockIt g_sDataSourceName, m_EO.OID, zjLogInfo.cUserName, ComputerName

    '先验证这个时间是否可以删除,然后删除eo的子表集
    m_EO.EOS.Delete NodeKey
    If objIRateBI.Save(g_sDataSourceName, m_EO, m_conBIStyle) Then
        '----解除锁定
        objLockMgr.UnlockIt g_sDataSourceName, m_EO.OID
        
        
        If Me.treStyle.Nodes(NodeKey).Parent.children > 1 Then
            Dim NodeTemp As String
            If NodeKey = Me.treStyle.Nodes(NodeKey).LastSibling.key Then
                NodeTemp = Me.treStyle.Nodes(NodeKey).Previous.key
            Else
                NodeTemp = Me.treStyle.Nodes(NodeKey).Next.key
            End If
            Me.treStyle.Nodes.Remove NodeKey
            NodeKey = NodeTemp
        Else
            Dim NodekeyTemp As String
            NodekeyTemp = Me.treStyle.Nodes(NodeKey).Parent.key
            Me.treStyle.Nodes.Remove NodeKey
            NodeKey = NodekeyTemp
            Me.treStyle.Nodes(NodeKey).Image = 3
        End If
        Me.treStyle.Nodes(NodeKey).Selected = True

        '----设置界面
        SetUI
    Else
        MsgBox "删除没有成功!"
    End If

    Set objLockMgr = Nothing
    Set objIRateBI = Nothing

    Exit Sub
lblHandle:
    MsgBox Err.Description, vbInformation, g_conSysName
End Sub

Public Sub View(Optional OID As U8FDEso.OIDObject)
    Dim objSettlePriceBI As New U8FDBso.clsSettlePriceBI

    On Error GoTo lblHandle
    '1、申请权限

    '----
    If Not OID Is Nothing Then
        Set m_EO = objSettlePriceBI.MoveTo(g_sDataSourceName, U8FDEso.esoCurrent, m_conBIStyle, OID)
    End If

    '----
    If m_EO Is Nothing Then
        Set m_EO = objSettlePriceBI.MoveTo(g_sDataSourceName, U8FDEso.esoLast, m_conBIStyle)
    End If

    '----设置界面
    SetUI

    Set objSettlePriceBI = Nothing

    Exit Sub
lblHandle:
    MsgBox Err.Description, vbInformation, g_conSysName
End Sub

Private Function Save() As Boolean
    Dim objSettlePriceBI As New U8FDBso.clsSettlePriceBI
    Dim objLockMgr       As New U8FDMgr.LockManager
    Dim objOIDMgr        As New U8FDMgr.OIDManager
    Dim Child_EO         As U8FDEso.EntityObject
    Dim i                As Long
    Dim ParentKey        As String
    Dim NodeTemp         As MSComctlLib.Node
    
    On Error GoTo lblHandle
    '----赋值
    If m_EditCol = 0 Then
        If Len(Me.treStyle.SelectedItem.key) > 15 Then
            ParentKey = Me.treStyle.SelectedItem.Parent.key
            
            Set NodeTemp = Me.treStyle.SelectedItem.FirstSibling
            For i = 1 To Me.treStyle.SelectedItem.Parent.children
                If Me.treStyle.SelectedItem.key <> NodeTemp.key And Me.treStyle.Nodes(NodeTemp.key).Text = Me.cboMoneyName.Text Then
                    MsgBox "该币别已设置好结算价格!", vbInformation, App.ProductName
                    Exit Function
                End If
                Set NodeTemp = NodeTemp.Next
            Next
            Set NodeTemp = Nothing
        Else
            ParentKey = Me.treStyle.SelectedItem.key
            
            Set NodeTemp = Me.treStyle.SelectedItem.child
            For i = 1 To Me.treStyle.SelectedItem.children
                If Me.treStyle.SelectedItem.key <> NodeTemp.key And Me.treStyle.Nodes(NodeTemp.key).Text = Me.cboMoneyName.Text Then
                    MsgBox "该币别已设置好结算价格!", vbInformation, App.ProductName
                    Exit Function
                End If
                Set NodeTemp = NodeTemp.Next
            Next
            Set NodeTemp = Nothing
        End If
    ElseIf m_EditCol = 1 Then
        If Len(Me.treStyle.SelectedItem.key) > 15 Then
            ParentKey = Me.treStyle.SelectedItem.Parent.key
            
            Set NodeTemp = Me.treStyle.SelectedItem.FirstSibling
            For i = 1 To Me.treStyle.SelectedItem.Parent.children
                If Me.treStyle.Nodes(NodeTemp.key).Text = Me.cboMoneyName.Text Then
                    MsgBox "该币别已设置好结算价格!", vbInformation, App.ProductName
                    Exit Function
                End If
                Set NodeTemp = NodeTemp.Next
            Next
            Set NodeTemp = Nothing
        Else
            ParentKey = Me.treStyle.SelectedItem.key
            
            Set NodeTemp = Me.treStyle.SelectedItem.child
            For i = 1 To Me.treStyle.SelectedItem.children
                If Me.treStyle.Nodes(NodeTemp.key).Text = Me.cboMoneyName.Text Then
                    MsgBox "该币别已设置好结算价格!", vbInformation, App.ProductName
                    Exit Function
                End If
                Set NodeTemp = NodeTemp.Next
            Next
            Set NodeTemp = Nothing
        End If
    End If
    If Me.txtSettleType(1).Visible = True Then
        If Not IsNumeric(Me.txtSettleType(0).Text) Then
            MsgBox "计提比例不能为空!", vbInformation, App.ProductName
            Me.txtSettleType(0).SetFocus
            Exit Function
        End If
    Else
        If Not IsNumeric(Me.txtSettleType(0).Text) Then
            MsgBox "单价不能为空!", vbInformation, App.ProductName
            Me.txtSettleType(0).SetFocus
            Exit Function
        End If
    End If
    If Me.txtSettleType(1).Visible = True Then
        If Not IsNumeric(Me.txtSettleType(1).Text) Then
            MsgBox "计提基线不能为空!", vbInformation, App.ProductName
            Me.txtSettleType(1).SetFocus
            Exit Function
        End If
    End If
    
    If Len(Me.treStyle.SelectedItem.key) > 15 Then
        m_EO("settle_code") = mID(Me.treStyle.SelectedItem.Parent.key, 2)
    Else
        m_EO("settle_code") = mID(Me.treStyle.SelectedItem.key, 2)
    End If
    If Me.Charge(0).Value = True Then
        m_EO("charge_flag") = 0
    Else
        m_EO("charge_flag") = 1
    End If

    With m_EO
        If m_EO.State = U8FDEso.esoAddNew Then
            Set Child_EO = objSettlePriceBI.Init(g_sDataSourceName, m_conChildBIStyle)
            If Me.Charge(1).Value = True Then
                Child_EO("money_name") = Me.cboMoneyName.Text
                Child_EO("unitprice_mny") = Me.txtSettleType(0).Text
                Child_EO("limit_mny") = Me.txtSettleType(1).Text
                Child_EO("digest") = Me.txtSettleType(2).Text
            Else
                Child_EO("money_name") = Me.cboMoneyName.Text
                Child_EO("unitprice_mny") = Me.txtSettleType(0).Text
                Child_EO("limit_mny") = ""
                Child_EO("digest") = Me.txtSettleType(2).Text
            End If
            m_EO.EOS.Append Child_EO, "K" & Child_EO.OID
        ElseIf m_EO.State = U8FDEso.esoEdit Then
            If m_EditCol = 0 Then
                If Me.Charge(1).Value = True Then
                    EO.EOS(NodeKey)("money_name") = Me.cboMoneyName.Text
                    EO.EOS(NodeKey)("unitprice_mny") = Me.txtSettleType(0).Text
                    EO.EOS(NodeKey)("limit_mny") = Me.txtSettleType(1).Text
                    EO.EOS(NodeKey)("digest") = Me.txtSettleType(2).Text
                Else
                    EO.EOS(NodeKey)("money_name") = Me.cboMoneyName.Text
                    EO.EOS(NodeKey)("unitprice_mny") = Me.txtSettleType(0).Text
                    EO.EOS(NodeKey)("limit_mny") = ""
                    EO.EOS(NodeKey)("digest") = Me.txtSettleType(2).Text
                End If
            ElseIf m_EditCol = 1 Then
                Set Child_EO = objSettlePriceBI.Init(g_sDataSourceName, m_conChildBIStyle)
                If Me.Charge(1).Value = True Then
                    Child_EO("money_name") = Me.cboMoneyName.Text
                    Child_EO("unitprice_mny") = Me.txtSettleType(0).Text
                    Child_EO("limit_mny") = Me.txtSettleType(1).Text
                    Child_EO("digest") = Me.txtSettleType(2).Text
                Else
                    Child_EO("money_name") = Me.cboMoneyName.Text
                    Child_EO("unitprice_mny") = Me.txtSettleType(0).Text
                    Child_EO("limit_mny") = ""
                    Child_EO("digest") = Me.txtSettleType(2).Text
                End If
                m_EO.EOS.Append Child_EO, "K" & Child_EO.OID
            End If
        End If
    End With
    '----实体对象验证
    If Not m_EO.Validate Then
        For i = 1 To m_EO.EOS.count
            m_EO.EOS.Delete 1
        Next
        Exit Function
    End If
    
    '----调用业务对象并保存
    If objSettlePriceBI.Save(g_sDataSourceName, m_EO, m_conBIStyle) = False Then Exit Function
    
    If m_EO.State = U8FDEso.esoAddNew Then
        Me.treStyle.Nodes.Add ParentKey, tvwChild, "K" & m_EO.EOS(1)("settle_b_id"), m_EO.EOS(1)("money_name")
        Me.treStyle.Nodes(ParentKey).Expanded = True
        Me.treStyle.Nodes(ParentKey).Image = 2
        Me.treStyle.Nodes("K" & m_EO.EOS(1)("settle_b_id")).Image = 3
        Me.treStyle.Nodes("K" & m_EO.EOS(1)("settle_b_id")).Selected = True
        NodeKey = "K" & m_EO.EOS(1)("settle_b_id")
    ElseIf m_EO.State = U8FDEso.esoEdit Then
        If m_EditCol = 0 Then '编辑
            Me.treStyle.Nodes(NodeKey).Text = m_EO.EOS(NodeKey)("money_name")
        ElseIf m_EditCol = 1 Then '增列
            Me.treStyle.Nodes.Add ParentKey, tvwChild, "K" & m_EO.EOS(m_EO.EOS.count)("settle_b_id"), m_EO.EOS(m_EO.EOS.count)("money_name")
            Me.treStyle.Nodes(ParentKey).Expanded = True
            Me.treStyle.Nodes(ParentKey).Image = 2
            Me.treStyle.Nodes("K" & m_EO.EOS(m_EO.EOS.count)("settle_b_id")).Image = 3
            Me.treStyle.Nodes("K" & m_EO.EOS(m_EO.EOS.count)("settle_b_id")).Selected = True
            NodeKey = "K" & m_EO.EOS(m_EO.EOS.count)("settle_b_id")
        ElseIf m_EditCol = 2 Then '删列
            Me.treStyle.Nodes.Remove NodeKey
        End If
    End If
    
    '----解除锁定
    If m_EO.State = U8FDEso.esoEdit Then
        objLockMgr.UnlockIt g_sDataSourceName, m_EO.OID
    End If

    m_EO.State = U8FDEso.esoInstance

    '----释放任务
    Set objLockMgr = Nothing
    Set objSettlePriceBI = Nothing
    m_EditCol = 3
    '----设置界面
    SetUI

    Save = True

    Exit Function
lblHandle:
    MsgBox Err.Description, vbInformation, g_conSysName
End Function

Private Sub Delete()
    If MsgBox("真的要删除当前记录吗?", vbQuestion + vbYesNo) = vbNo Then Exit Sub

    Dim objDataMgr       As New U8FDMgr.DataManager
    Dim objSettlePriceBI As New U8FDBso.clsSettlePriceBI

    On Error GoTo lblHandle
    '----删除当前记录

⌨️ 快捷键说明

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