Package ru.bgcrm.dao

Class CustomerDAO

    • Constructor Detail

      • CustomerDAO

        public CustomerDAO​(java.sql.Connection con)
      • CustomerDAO

        public CustomerDAO​(java.sql.Connection con,
                           boolean history,
                           int userId)
    • Method Detail

      • searchCustomerList

        public void searchCustomerList​(SearchResult<Customer> searchResult,
                                       java.lang.String title)
                                throws BGException
        Выбирает контрагентов по названию.
        Parameters:
        searchResult -
        title -
        Throws:
        java.sql.SQLException
        BGException
      • searchCustomerList

        public void searchCustomerList​(SearchResult<Customer> searchResult,
                                       java.util.Set<java.lang.Integer> groupIds)
                                throws BGException
        Выбирает контрагентов по группам.
        Parameters:
        searchResult -
        groupIds - - группы.
        Throws:
        java.sql.SQLException
        BGException
      • searchCustomerListByEmail

        public void searchCustomerListByEmail​(SearchResult<ParameterSearchedObject<Customer>> searchResult,
                                              java.util.List<java.lang.Integer> emailParamIdList,
                                              java.lang.String email)
                                       throws BGException
        Выбирает контрагентов по параметру типа E-Mail.
        Parameters:
        searchResult -
        emailParamIdList -
        email - E-Mail, поиск идёт по точному совпадению и совпадению домена
        Throws:
        java.sql.SQLException
        BGException
      • searchCustomerListByText

        public void searchCustomerListByText​(SearchResult<Customer> searchResult,
                                             java.util.List<java.lang.Integer> textParamIdList,
                                             java.lang.String value)
                                      throws java.sql.SQLException
        Выбирает контрагентов по строковому параметру.
        Parameters:
        searchResult -
        textParamIdList -
        value -
        Throws:
        java.sql.SQLException
      • searchCustomerListByAddress

        public void searchCustomerListByAddress​(SearchResult<ParameterSearchedObject<Customer>> searchResult,
                                                java.util.List<java.lang.Integer> addressParamIdList,
                                                int streetId,
                                                java.lang.String house,
                                                java.lang.String houseFlat,
                                                java.lang.String houseRoom)
                                         throws java.sql.SQLException
        Выбирает контрагентов по адресному параметру.
        Parameters:
        searchResult -
        addressParamIdList -
        streetId -
        house -
        houseFlat -
        houseRoom -
        Throws:
        java.sql.SQLException
      • searchCustomerListByAddress

        public void searchCustomerListByAddress​(SearchResult<ParameterSearchedObject<Customer>> searchResult,
                                                java.util.List<java.lang.Integer> addressParamIdList,
                                                int houseId,
                                                java.lang.String houseFlat,
                                                java.lang.String houseRoom)
                                         throws BGException
        Выбирает контрагентов по адресному параметру.
        Parameters:
        searchResult -
        addressParamIdList -
        houseId - код дома
        houseFlat - квартира
        houseRoom - комната
        Throws:
        java.sql.SQLException
        BGException
      • searchCustomerListByPhone

        public void searchCustomerListByPhone​(SearchResult<Customer> searchResult,
                                              java.util.Collection<java.lang.Integer> phoneParamIdList,
                                              java.lang.String... phoneNumbers)
                                       throws BGException
        Выбирает контрагентов по номеру или номерам телефонов.
        Parameters:
        searchResult -
        phoneParamIdList -
        phoneNumbers -
        Throws:
        BGException
      • searchCustomerByLinkedObjectTitle

        public void searchCustomerByLinkedObjectTitle​(SearchResult<Customer> searchResult,
                                                      java.lang.String linkedObjectTypeLike,
                                                      java.lang.String linkedObjectTitle)
                                               throws BGException
        Выбирает контрагентов по привязанном объектам.
        Parameters:
        searchResult -
        linkedObjectTypeLike - LIKE строка типа привязанного объекта.
        linkedObjectTitle - LIKE строка наименования привязанного объекта.
        Throws:
        BGException
      • getCustomerById

        public Customer getCustomerById​(int customerId)
                                 throws BGException
        Выбирает контрагента по его коду.
        Parameters:
        customerId -
        Returns:
        Throws:
        BGException
      • getCustomers

        public static java.util.Set<Customer> getCustomers​(java.sql.Connection connection,
                                                           java.util.Collection<java.lang.Integer> customerIds)
                                                    throws BGException
        Получение набора контрагентов по их ID
        Parameters:
        customerIds - идентификаторы контрагентов
        Returns:
        Throws:
        BGException
      • getCustomers

        public java.util.Set<Customer> getCustomers​(java.util.Collection<java.lang.Integer> customerIds)
                                             throws BGException
        Получение набора контрагентов по их ID
        Parameters:
        customerIds - идентификаторы контрагентов
        Returns:
        Throws:
        BGException
      • getCustomerByTitle

        public Customer getCustomerByTitle​(java.lang.String customerTitle)
                                    throws java.sql.SQLException
        Выбирает контрагента по названию.
        Parameters:
        customerTitle - название
        Returns:
        Throws:
        java.sql.SQLException
      • updateCustomer

        public void updateCustomer​(Customer customer)
                            throws java.sql.SQLException
        Обновляет информацию о контрагенте в БД.
        Parameters:
        customer -
        Throws:
        java.sql.SQLException
      • deleteCustomer

        public void deleteCustomer​(int id)
                            throws java.sql.SQLException
        Удаляет контрагента из БД по коду.
        Parameters:
        id -
        Throws:
        java.sql.SQLException
      • updateCustomerTitle

        public void updateCustomerTitle​(java.lang.String titleBefore,
                                        Customer customer,
                                        int changedParamId,
                                        Response response)
                                 throws java.lang.Exception
        Обновляет название контрагента,генерируя его из параметров.
        Parameters:
        titleBefore - исходное название.
        customer - контрагент.
        changedParamId - код изменённого параметра.
        response - если параметр передан, туда будет добавлено событие о изменении названия договора.
        Throws:
        java.lang.Exception
      • getCustomerTitles

        public java.util.List<java.lang.String> getCustomerTitles​(java.lang.String title,
                                                                  int count)
                                                           throws BGException
        Возвращает названия контрагенов с подстрокой.
        Parameters:
        title - подстрока, поиск идёт с помощью LIKE выражения.
        count - количество первых названий.
        Returns:
        Throws:
        BGException
      • getGroupIds

        public java.util.Set<java.lang.Integer> getGroupIds​(int customerId)
                                                     throws BGException
        Throws:
        BGException
      • updateGroupIds

        public void updateGroupIds​(int customerId,
                                   java.util.Set<java.lang.Integer> groupIds)
                            throws java.sql.SQLException
        Throws:
        java.sql.SQLException
      • getCustomerFromRs

        public static Customer getCustomerFromRs​(java.sql.ResultSet rs,
                                                 java.lang.String prefix)
                                          throws java.sql.SQLException
        Возвращает созданный объект Customer заполненный из ResultSet.
        Parameters:
        rs -
        prefix -
        Throws:
        java.sql.SQLException