Class MovementDAO
java.lang.Object
ru.bgcrm.dao.CommonDAO
org.bgerp.plugin.inventory.dao.MovementDAO
-
Nested Class Summary
Nested classes/interfaces inherited from class CommonDAO
CommonDAO.ObjectExtractor<T>, CommonDAO.RecordUpdater<T> -
Field Summary
Fields inherited from class 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 -
Method Summary
Modifier and TypeMethodDescriptionvoidAppends a movement record and updates the balance accordingly.static MovementgetBalanceItems(Collection<Integer> storeIds) Returns balance data for given store IDs as a flat list of maps.getBalanceList(int storeId) Returns balance for a store as list of maps with keys: itemTitle, quantity, reserved.getById(long id) getListByProcess(int processId) getListByStore(int storeId, int limit) booleanisActiveReserve(long reserveId) Returns true if the given reserve movement is still active, i.e.Methods inherited from class CommonDAO
deleteById, foundRows, getById, getGroupedIds, getGroupedIds, getIds, getIds, getPageLimit, getPeriodSql, lastInsertId, setPeriodParamValue, setRecordCount, update, updateColumn, updateIds, updateIds, updateOrInsert
-
Constructor Details
-
MovementDAO
-
-
Method Details
-
getById
- Throws:
SQLException
-
isActiveReserve
Returns true if the given reserve movement is still active, i.e. no unreserve/writeoff already references it via ref_movement_id. Used to reject a duplicate/stale unreserve request instead of silently recording a phantom cancellation on top of an already-settled reserve.- Throws:
SQLException
-
getListByStore
- Throws:
SQLException
-
getListByProcess
- Throws:
SQLException
-
append
Appends a movement record and updates the balance accordingly. For "reserve" adds to reserved; for "unreserve"/"writeoff"/"return" adjusts reserved/quantity.- Parameters:
m- movement to record- Throws:
IllegalStateException- if the operation would make balance negativeSQLException
-
getBalanceItems
Returns balance data for given store IDs as a flat list of maps. Each map has keys: storeId, itemId, quantity, reserved. Used for JS-driven balance hints in the process materials tab.- Throws:
SQLException
-
getBalanceList
Returns balance for a store as list of maps with keys: itemTitle, quantity, reserved. Ordered by item title. Only rows with quantity > 0 or reserved > 0.- Throws:
SQLException
-
fromRs
- Throws:
SQLException
-