| Rev |
Age |
Author |
Path |
Log message |
Diff |
| 37845 |
3 d 9 h |
amit |
/trunk/profitmandi-dao/src/ |
feat(warehouse): ACTIVE/SUSPENDED/INACTIVE status + label on sellerwarehouse replace WAREHOUSE_MAP - BillingWarehouseService (active for dashboards, active+suspended for warehouse screens, names in every state, 5 min cache); setup service: guarded status change (no suspend while franchise stores or brand mapping route there, no close while stock/unshipped orders), rename, all-warehouse overview with usage; partner store assignable only to an active warehouse; daily stock alert for suspended/inactive warehouses to logistics/accounts top 2 staffed levels + leadership; dashboard warehouse list = active (replaces r37834 stock-holding loop); migration sellerwarehouse_status_display_name_20261005.sql (applied on hadb1) |
|
| 37834 |
4 d 14 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ |
fix(dashboard): warehouse-wise stock lists every warehouse holding stock in tbl_cis, not only franchise-store warehouses plus hardcoded 7573 - HR hubs (internal stores only) now show |
|
| 37822 |
7 d 6 h |
amit |
/trunk/profitmandi-dao/src/ |
feat(warehouse): physical warehouse setup service, supplier mapping PO guard, address active flag
- WarehouseSetupService + WarehouseSetupValidator: create seller (state from GSTIN,
unique label/GSTIN), address master (city stored last, 6-digit pin, contact),
physical warehouse (OURS/BAD vendor 40 + Dummy/G + sellerwarehouse + mapping in
one transaction), activate/deactivate (sellerwarehouse.is_active), remap address
with internal store sync. Limits follow column sizes (sql_mode is empty).
- WarehouseAddressMaster.active: only active addresses are offered for assignment.
Migration sql/20261001_warehouseaddressmaster_active.sql (applied on hadb1).
- PO guard: createPurchaseOrder refuses a supplier with no OURS/GOOD vendor
warehouse at the destination (GRN could never receive it).
InventoryWarehouseRepository.hasGoodSupplierWarehouse / selectSupplierIdsWithGoodWarehouse
use existence checks; 67 pairs carry duplicate OURS/GOOD rows.
- SellerService.syncInternalStoreAddress(store); RetailerServiceImpl syncs an
INTERNAL store's address when it moves warehouse or becomes internal.
- Record of 2026-10-01 HR Gurugram setup SQL (seller 21, warehouses 13368/13370/13372).
- Tests: WarehouseSetupValidatorTest (10), WarehouseSetupServiceImplTest (7). |
|
| 37634 |
23 d 10 h |
amit |
/trunk/profitmandi-dao/src/main/ |
feat(pricing): tag_listing price change log; retire vendoritempricing writes/reads in dao; price drops no longer touch vendor catalog pricing
- New catalog.tag_listing_price_log (sql/create_tag_listing_price_log_20260915.sql, applied on prod 2026-09-15) + TagListingPriceService: the single setter for tag_listing DP/MOP/MRP, logging old/new values, source and user
- Remove applyPriceDrop (r37622): price drops write only price_drop + tag_listing; sql/revert_price_drop_vendor_catalog_pricing_20260915.sql restores the 30 rows it wrote (run on prod)
- VendorCatalogPricingService: reference TP = latest approved external TP (single + batched); internal suppliers rejected on create, bulk upload and approval
- Stop copying pricing into vendoritempricing on approval and item upload; tag listing detail TP from reference TP; indent DP from tag_listing only |
|
| 37603 |
26 d 11 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ |
Price internal warehouse movements from the stock's original vendor
Stock moving between our own warehouses was priced from the sending internal supplier's
own vendor catalog, which only ever holds prices copied from elsewhere - so every hop let
the price drift further from what the group actually paid, and a movement was blocked
outright whenever that supplier happened to have no row for the item.
It is now derived from the stock being moved: the original EXTERNAL vendor is established
per unit and that vendor's current catalog price is used. Origin is looked for in
descending order of certainty - the serial traced back to the external purchase that first
brought the unit in, then the unit's own inbound PO when that was external, both of which
are facts that survive any number of internal hops. Non-serialised stock that has already
moved internally has no recoverable origin at all, since fungible units carry no identity
and the movement records nothing linking the receiving row to its source, so those fall
back to the most recent externally approved price for the catalog and are never recorded
as though their vendor were known.
A purchase order carries one price per item, so an item can only move from one original
vendor at a time. Where a requested quantity would run past the oldest vendor's stock into
another's, this refuses and reports how many can move now and at what price, leaving the
second order to whoever is moving the stock, rather than averaging the two or silently
splitting the order. Each order therefore stays attributable to one vendor.
Receiving no longer validates price for these movements: both sides of the comparison come
from the same derivation, so a mismatch cannot mean anything. That also removes a null
dereference in GrnRequestServiceImpl, which assumed every supplier has a circular.
Removes addVendorPricingIfMissing, which wrote permanent approved pricing rows onto internal
suppliers sourced from hardcoded vendor 334 for Samsung or an arbitrary findFirst() vendor
otherwise, stamped with hardcoded auth ids. Those rows are now not just unnecessary but
harmful: they would pin a stale price that wins over the derived one.
Verified against live data: covers every unit in every warehouse with none unresolved,
agrees exactly with the origin join the FOCO/ImeiSupplierPricing report already runs in
production, and prices 12,305 of 13,589 units within 2% of what was actually paid.
Resolution takes 0.7ms for one item and 1.1ms for ten. |
|
| 37375 |
49 d 8 h |
ranu |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/ |
total show on warehouse wise stock value on item detail |
|
| 36464 |
157 d 14 h |
amit |
/trunk/ |
Add vendor pricing changes Excel download report on Vendor Price Circular page. Flat file with Vendor/Date/Model/CatalogId/TP/DP/MOP columns, filterable by vendor. Shows baseline pricing as of start date plus subsequent TP changes within period for all non-internal suppliers. |
|
| 36309 |
172 d 3 h |
amit |
/trunk/profitmandi-dao/src/main/ |
Route phantom orders to per-region Dummy warehouse; complete applyColorChange rename
- Phantom allocations in getFulfillments route to the Dummy/GOOD/OURS warehouse under
vendor 40 for the partner's billing region. WarehouseServiceImpl.ensureDummyForBillingRegion
returns the existing Dummy or creates one on the fly. createVendorWarehouse hook auto-seeds
a Dummy when a new billing region's first warehouse is created.
- WarehouseRepository.selectByVendorBillingAndType supports the lookup.
- OrderService interface: rename notifyColorChange -> applyColorChange to match r36305's impl
rename (r36305 renamed only the impl, leaving trunk inconsistent).
- PurchaseOrderServiceImpl: remove auto-rebalance on PO receive. Real-wh rebalancing and
phantom-to-real binding are now ops-driven via the order billing UI
(changeFulfillmentWarehouse / applyColorChange / moveOrdersFulfilmentWarehouse).
- migration_dummy_warehouses.sql: idempotent seeding script for 14 Dummy/GOOD/OURS warehouses
under vendor 40, one per WAREHOUSE_MAP billing region that lacked one. Already applied to
hadb1 and local. |
|
| 35394 |
296 d 2 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ |
Improved performance |
|
| 35278 |
330 d 10 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ |
Fixed inventoryWarehouse related changes |
|
| 34329 |
566 d 11 h |
aman.kumar |
/trunk/ |
Edit Supplier feature developed |
|
| 34099 |
640 d 12 h |
tejus.lohani |
/trunk/ |
DMS Code panel,fix some bugs , and Brand wise DMS Report download |
|
| 33750 |
759 d 8 h |
ranu |
/trunk/ |
vendor pricing log request view and download csv option created |
|
| 33248 |
901 d 13 h |
ranu |
/trunk/ |
exception added |
|
| 33247 |
901 d 13 h |
ranu |
/trunk/ |
warehouse billing phase one and added signature exception |
|
| 33245 |
901 d 14 h |
ranu |
/trunk/ |
added signature |
|
| 33188 |
915 d 12 h |
amit.gupta |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/inventory/ |
Previous purchases |
|
| 33183 |
916 d 8 h |
shampa |
/trunk/ |
show all vendors data report without select any particular vendor. Add download csv file. |
|
| 32926 |
975 d 13 h |
amit.gupta |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/inventory/ |
Changed name |
|
| 32763 |
1022 d 3 h |
amit.gupta |
/trunk/ |
Minor refactoring |
|