Package org.bgerp.dao.customer

# Class CustomerDAO

java.lang.Object
ru.bgcrm.dao.CommonDAO
org.bgerp.dao.customer.CustomerDAO

Direct Known Subclasses:
  `CustomerDAO`

public class CustomerDAO extends CommonDAO

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class ru.bgcrm.dao.CommonDAO

  `CommonDAO.ObjectExtractor<T>, CommonDAO.RecordUpdater<T extends Id>`

- ## Field Summary

  ### Fields inherited from class ru.bgcrm.dao.CommonDAO

  `con, log, SQL_AND, SQL_DELETE, SQL_DELETE_FROM, SQL_DESC, SQL_DISTINCT, SQL_FROM, SQL_GROUP_BY, SQL_INNER_JOIN, SQL_INSERT_IGNORE_INTO, SQL_INSERT_INTO, SQL_LEFT_JOIN, SQL_LIMIT, SQL_ON_DUP_KEY_UPDATE, SQL_ORDER_BY, SQL_REPLACE, SQL_SELECT, SQL_SELECT_ALL_FROM, SQL_SELECT_COUNT_ROWS, SQL_SET, SQL_UNION_ALL, SQL_UPDATE, SQL_VALUES, SQL_VALUES_1, SQL_VALUES_2, SQL_VALUES_3, SQL_VALUES_4, SQL_VALUES_5, SQL_WHERE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CustomerDAO(Connection con)`
  `CustomerDAO(Connection con, boolean history, int userId)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `deleteCustomer(int id)`
  Удаляет контрагента из БД по коду.
  `Customer`
  `extractCustomerWithRef(int customerId)`
  Deprecated.
  `Customer`
  `getCustomerById(int customerId)`
  Выбирает контрагента по его коду.
  `Customer`
  `getCustomerByTitle(String customerTitle)`
  Deprecated.
  `static Customer`
  `getCustomerFromRs(ResultSet rs, String prefix)`
  Возвращает созданный объект `Customer` заполненный из `ResultSet`.
  `List<String>`
  `getCustomerTitles(String title, int count)`
  Возвращает названия контрагенов с подстрокой.
  `Set<Integer>`
  `getGroupIds(int customerId)`
  `void`
  `searchCustomerByLinkedObjectTitle(Pageable<Customer> searchResult, String linkedObjectTypeLike, String linkedObjectTitle)`
  Deprecated.
  `void`
  `searchCustomerList(Pageable<Customer> searchResult, String title)`
  Выбирает контрагентов по названию.
  `void`
  `searchCustomerList(Pageable<Customer> searchResult, Set<Integer> groupIds)`
  Deprecated.
  `void`
  `searchCustomerListByAddress(Pageable<ParameterSearchedObject<Customer>> searchResult, List<Integer> addressParamIdList, int houseId, String houseFlat, String houseRoom)`
  Выбирает контрагентов по адресному параметру.
  `void`
  `searchCustomerListByAddress(Pageable<ParameterSearchedObject<Customer>> searchResult, List<Integer> addressParamIdList, int streetId, String house, String houseFlat, String houseRoom)`
  Выбирает контрагентов по адресному параметру.
  `void`
  `searchCustomerListByEmail(Pageable<ParameterSearchedObject<Customer>> searchResult, List<Integer> emailParamIdList, String email)`
  Выбирает контрагентов по параметру типа Email.
  `void`
  `searchCustomerListByPhone(Pageable<Customer> searchResult, Collection<Integer> phoneParamIdList, String... phoneNumbers)`
  Выбирает контрагентов по номеру или номерам телефонов.
  `void`
  `searchCustomerListByText(Pageable<Customer> searchResult, List<Integer> textParamIdList, String value)`
  Выбирает контрагентов по строковому параметру.
  `void`
  `updateCustomer(Customer customer)`
  Обновляет информацию о контрагенте в БД.
  `void`
  `updateCustomerTitle(String titleBefore, Customer customer, int changedParamId, Response response)`
  Обновляет название контрагента,генерируя его из параметров.
  `void`
  `updateGroupIds(int customerId, Set<Integer> groupIds)`

  ### Methods inherited from class ru.bgcrm.dao.CommonDAO

  `deleteById, foundRows, getById, getGroupedIds, getGroupedIds, getIds, getIds, getPageLimit, getPeriodSql, lastInsertId, setPeriodParamValue, setRecordCount, update, updateColumn, updateIds, updateIds, updateOrInsert`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### CustomerDAO

    public CustomerDAO(Connection con)

  - ### CustomerDAO

    public CustomerDAO(Connection con, boolean history, int userId)

- ## Method Details

  - ### searchCustomerList

    public void searchCustomerList(Pageable<Customer> searchResult, String title)
    Выбирает контрагентов по названию.
    Parameters:
      `searchResult` -
      `title` -
    Throws:
      `SQLException`

  - ### searchCustomerListByEmail

    public void searchCustomerListByEmail(Pageable<ParameterSearchedObject<Customer>> searchResult, List<Integer> emailParamIdList, String email)
    Выбирает контрагентов по параметру типа Email.
    Parameters:
      `searchResult` -
      `emailParamIdList` -
      `email` - Email, поиск идёт по точному совпадению и совпадению домена
    Throws:
      `SQLException`

  - ### searchCustomerListByText

    public void searchCustomerListByText(Pageable<Customer> searchResult, List<Integer> textParamIdList, String value) throws SQLException
    Выбирает контрагентов по строковому параметру.
    Parameters:
      `searchResult` -
      `textParamIdList` -
      `value` -
    Throws:
      `SQLException`

  - ### searchCustomerListByAddress

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

  - ### searchCustomerListByAddress

    public void searchCustomerListByAddress(Pageable<ParameterSearchedObject<Customer>> searchResult, List<Integer> addressParamIdList, int houseId, String houseFlat, String houseRoom)
    Выбирает контрагентов по адресному параметру.
    Parameters:
      `searchResult` -
      `addressParamIdList` -
      `houseId` - код дома
      `houseFlat` - квартира
      `houseRoom` - комната
    Throws:
      `SQLException`

  - ### searchCustomerListByPhone

    public void searchCustomerListByPhone(Pageable<Customer> searchResult, Collection<Integer> phoneParamIdList, String... phoneNumbers)
    Выбирает контрагентов по номеру или номерам телефонов.
    Parameters:
      `searchResult` -
      `phoneParamIdList` -
      `phoneNumbers` -

  - ### getCustomerById

    public Customer getCustomerById(int customerId)
    Выбирает контрагента по его коду.
    Parameters:
      `customerId` -
    Returns:

  - ### updateCustomer

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

  - ### deleteCustomer

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

  - ### updateCustomerTitle

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

  - ### getCustomerTitles

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

  - ### getGroupIds

    public Set<Integer> getGroupIds(int customerId) throws SQLException
    Throws:
      `SQLException`

  - ### updateGroupIds

    public void updateGroupIds(int customerId, Set<Integer> groupIds) throws SQLException
    Throws:
      `SQLException`

  - ### getCustomerFromRs

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

  - ### searchCustomerList

    @Deprecated public void searchCustomerList(Pageable<Customer> searchResult, Set<Integer> groupIds)
    Deprecated.

  - ### extractCustomerWithRef

    @Deprecated public Customer extractCustomerWithRef(int customerId)
    Deprecated.

  - ### searchCustomerByLinkedObjectTitle

    @Deprecated public void searchCustomerByLinkedObjectTitle(Pageable<Customer> searchResult, String linkedObjectTypeLike, String linkedObjectTitle)
    Deprecated.

  - ### getCustomerByTitle

    @Deprecated public Customer getCustomerByTitle(String customerTitle) throws SQLException
    Deprecated.
    Throws:
      `SQLException`