Class ImportService
java.lang.Object
ru.bgcrm.dao.CommonDAO
org.bgerp.plugin.inventory.sync1c.service.ImportService
Imports stock data from 1C into BGERP inventory tables.
For each
EngineerWarehouse:
1. Calls Api1cClient.getStocks(warehouseName, locationName)
2. Upserts inventory_item (by ext_id param = product_id)
3. Upserts inventory_store (by ext_id param = warehouse_id), links to engineer_warehouse.store_id
4. Writes to inventory_sync1c_import_pending (NOT directly to inventory_balance).
The warehouse owner must confirm in user UI to apply balances.
5. Zeroes out items previously known at this store that are absent from the batch — per the
1C API contract, an exhausted (qty=0) item is omitted from the response entirely rather
than sent with quantity=0 (see ImportPendingDAO.getKnownItemIds(int, int)).-
Nested Class Summary
Nested classes/interfaces inherited from class CommonDAO
CommonDAO.ObjectExtractor<T>, CommonDAO.RecordUpdater<T> -
Field Summary
Fields inherited from class CommonDAO
con, 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 -
Method Summary
Modifier and TypeMethodDescriptionintimportFromRows(Sync1cConnector instance, EngineerWarehouse ew, List<Api1cStock> stocks) Applies a list of stock rows (already fetched, protocol-agnostic — same shape regardless of whether they came from the HS API, a parsed CSV file, or (in the future) an inbound EPF push) for one engineer warehouse mapping: upserts item/store, writes to inventory_sync1c_import_pending, logs to inventory_sync1c_import_log.intsyncEngineerWarehouse(Sync1cConnector instance, EngineerWarehouse ew) Runs import for one engineer warehouse mapping over the HS protocol (calls Api1cClient).Methods inherited from class CommonDAO
deleteById, foundRows, getById, getGroupedIds, getGroupedIds, getIds, getIds, getPageLimit, getPeriodSql, lastInsertId, setPeriodParamValue, setRecordCount, update, updateColumn, updateIds, updateIds, updateOrInsert
-
Constructor Details
-
ImportService
-
-
Method Details
-
syncEngineerWarehouse
Runs import for one engineer warehouse mapping over the HS protocol (calls Api1cClient). Logs progress to inventory_sync1c_import_log.- Returns:
- number of items synced; -1 on API error
-
importFromRows
Applies a list of stock rows (already fetched, protocol-agnostic — same shape regardless of whether they came from the HS API, a parsed CSV file, or (in the future) an inbound EPF push) for one engineer warehouse mapping: upserts item/store, writes to inventory_sync1c_import_pending, logs to inventory_sync1c_import_log.- Returns:
- number of items synced; -1 on error
-