Public Class CSupplier
    Dim m_SQL As New CSQLInterface
    Public Shared cst_TABLE_NAME As String = "供应商信息表"

    Public Shared m_COLS_NAME() As String = {
        "序号",
        "供应商ID",
        "中文名称",
        "英文名称",
        "供应商工厂全称",
        "供应商网址",
        "供应商地址",
        "公司资本类型",
        "公司主营产品",
        "公司现有人数",
        "公司电话1",
        "公司电话2",
        "公司电话3",
        "公司电话4",
        "公司传真",
        "主要业务联系人",
        "主要业务联系人职务",
        "主要业务联系人公司工作年限",
        "主要业务联系人联系电话",
        "主要业务联系人分机",
        "主要业务联系人手机",
        "主要业务联系人邮箱",
        "主要品质负责人",
        "主要品质负责人职务",
        "主要品质负责人公司工作年限",
        "主要品质负责人联系电话",
        "主要品质负责人分机",
        "主要品质负责人手机",
        "主要品质负责人邮箱",
        "对公账号",
        "对公账号开户行",
        "对公账号户名",
        "对公账号帐号",
        "对私帐号",
        "对私帐号开户行",
        "对私帐号户名",
        "对私帐号帐号",
        "年审情况"
            }

    Public Enum COLS
        序号
        供应商ID
        中文名称
        英文名称
        供应商工厂全称
        供应商网址
        供应商地址
        公司资本类型
        公司主营产品
        公司现有人数
        公司电话1
        公司电话2
        公司电话3
        公司电话4
        公司传真
        主要业务联系人
        主要业务联系人职务
        主要业务联系人公司工作年限
        主要业务联系人联系电话
        主要业务联系人分机
        主要业务联系人手机
        主要业务联系人邮箱
        主要品质负责人
        主要品质负责人职务
        主要品质负责人公司工作年限
        主要品质负责人联系电话
        主要品质负责人分机
        主要品质负责人手机
        主要品质负责人邮箱
        对公账号
        对公账号开户行
        对公账号户名
        对公账号帐号
        对私帐号
        对私帐号开户行
        对私帐号户名
        对私帐号帐号
        年审情况
        max
    End Enum

    '权限
    Public Shared AccessRight As Integer = RIGHTS.NONE

    Public Function AddItem(ByRef SectionName() As String,
                            ByRef Value() As String
                            ) As ERROR_CODE
        If CBool(AccessRight And RIGHTS.WRITE) = False Then
            Return ERROR_CODE.NORIGHT
        End If

        '"INSERT INTO [dbo].[TABLE1] ([11],[22],[33],[44],[55]) VALUES ('11','2','3','4','5')"
        Dim strSql As String = "INSERT INTO `" & cst_TABLE_NAME & "` ("
        '加入列名  取消第一个序号 序号自增   
        Dim isFirst As Boolean = True
        For i As Integer = 1 To SectionName.Length - 1
            If isFirst = True Then
                isFirst = False
            Else
                strSql &= ","
                End If
                strSql &= "`" & SectionName(i) & "`"
        Next
        strSql &= ") VALUES ("

        isFirst = True
        For i As Integer = 1 To SectionName.Length - 1

            If isFirst = True Then
                isFirst = False
            Else
                strSql &= ","
            End If
            strSql &= "'" & Value(i) & "'"
        Next
        strSql &= ")"

        If SQL_ExeCommand(COL_RIGHTS.供应商管理, strSql) = True Then
            Return ERROR_CODE.SUCCESS
        End If

        Return ERROR_CODE.ACCESS
    End Function

    Public Function QueryAll_IDAndName(ByRef rTable As Data.DataTable) As ERROR_CODE
        If CBool(AccessRight And RIGHTS.READ) = False Then
            Return ERROR_CODE.NORIGHT
        End If

        Dim strSQL As String = "SELECT 供应商ID,中文名称 FROM " & cst_TABLE_NAME

        If SQL_Query(COL_RIGHTS.供应商管理, strSQL, rTable) = True Then
            Return ERROR_CODE.SUCCESS
        End If

        Return ERROR_CODE.ACCESS
    End Function

    Public Function CheckSupplierID(ByVal 供应商ID As String, ByRef isExist As Boolean) As ERROR_CODE
        If CBool(AccessRight And RIGHTS.READ) = False Then
            Return ERROR_CODE.NORIGHT
        End If

        Dim strSql As String = "SELECT `" & m_COLS_NAME(COLS.供应商ID) & "` FROM `" & cst_TABLE_NAME & "` WHERE "
        strSql &= "`" & m_COLS_NAME(COLS.供应商ID) & "`='" & 供应商ID & "'"

        Dim rTable As New System.Data.DataTable
        If SQL_Query(COL_RIGHTS.供应商管理, strSql, rTable) = True Then
            isExist = False

            If rTable.Rows.Count > 0 Then
                'If rTable.Rows(0).Item(0) = 料号PN Then
                isExist = True
                'End If
            End If

            Return ERROR_CODE.SUCCESS
        End If

        Return ERROR_CODE.ACCESS
    End Function

    Public Function DeleteItem(ByRef 供应商ID As String) As ERROR_CODE
        If CBool(AccessRight And RIGHTS.WRITE) = False Then
            Return ERROR_CODE.NORIGHT
        End If

        '"INSERT INTO [dbo].[TABLE1] ([11],[22],[33],[44],[55]) VALUES ('11','2','3','4','5')"
        Dim strSql As String = "DELETE FROM `" & cst_TABLE_NAME & "` WHERE "
        strSql &= "`" & m_COLS_NAME(COLS.供应商ID) & "`= '" & 供应商ID & "'"

        If SQL_ExeCommand(COL_RIGHTS.供应商管理, strSql) = True Then
            Return ERROR_CODE.SUCCESS
        End If

        Return ERROR_CODE.ACCESS
    End Function

End Class
