| Rev |
Age |
Author |
Path |
Log message |
Diff |
| 37953 |
3 d 12 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ |
Flag a store whose GSTIN NIC refuses and block billing until Accounts revalidates
NIC refuses an IRN when the buyer's GSTIN is cancelled (HRHIS1445 06JHOPS3042G1Z0:
NSHRGGN794 on 19-Oct, NSHRGGN1058 on 23-Oct). Nothing recorded it against the store, so
billing kept printing the dead GSTIN on invoices that can never be filed, and each one
then got stuck at return/cancellation.
FofoStore: gst_invalid / gst_invalid_reason / gst_invalid_timestamp (DDL in
claude-data/sql-migrations/store_gst_invalid_flag_20261023.sql - must be applied BEFORE
this is deployed, the entity maps the columns).
GstProService.getEInvoice: when NIC's refusal is about the buyer's GSTIN
(isInvalidBuyerGstin - not state-code, not our seller, not transporter) the store is
flagged in the same filing transaction. One way only; internal stores skipped.
revalidateStoreGst: the only way the flag clears - a live GSTIN lookup of the store's
current GSTIN must return Active; otherwise the flag stays and the reason is returned.
fetchGstDetails: uncached lookup; getGstDetails keeps its fortnightly cache and delegates.
TransactionServiceImpl.addBillingDetailsForGrouppedOrders: validateBuyerGstinForBilling
refuses billing to a flagged store, before the lock, next to the transporter check. |
|
| 37948 |
3 d 15 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/fofo/ |
FofoStore: drop the legacy closed field; store_status is the only source |
|
| 37946 |
3 d 15 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/ |
FofoStore: drop the legacy active field; store_status is the only source |
|
| 37943 |
3 d 21 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ |
Store status: readers use store_status instead of the active / closed columns
- HQL named queries and repository lookups: active = ACTIVE + PAUSED, inactive = SUSPENDED + CLOSED,
not closed = store_status <> CLOSED
- Native SQL report / snapshot / ageing / delist queries moved to fofo_store.store_status
- PAUSED stores now count as active everywhere (incl. the internal stores whose active column is still 0) |
|
| 37935 |
4 d 14 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ |
Store status lifecycle: ACTIVE / PAUSED / SUSPENDED / CLOSED with a status log
- fofo_store.store_status is the source of truth; active / closed are written in step for old readers
- StoreStatusService is the only writer: transition rules, permissions (pause: Tarun, Kamini, Sales L5+
for their partners; suspend / activate / temp: Tarun, Kamini, Neeraj, Accounts L4+; close: Tarun,
Kamini, Accounts L3+), mandatory reason, fofo.store_status_log row, status-change mail
- Closure only from SUSPENDED with a zero wallet and no open loan (limit blocks included)
- Revival: SUSPENDED comes back on the same store, CLOSED gets a new store; both kept in fofo.store_revival
- PAUSED blocks partner wallet spends (recharge, prebooking, insurance at sale)
- Temporary activation expiry and the weekly closure reminder
- selectInActiveStore renamed selectInactiveStores (SUSPENDED + CLOSED, uncached) |
|
| 37850 |
21 d 13 h |
amit |
/trunk/profitmandi-dao/src/main/ |
refactor(warehouse): retire hardcoded Delhi ids - allocation fallback vendor warehouse 7573 -> 13368 (central HR-NSSPL/GGN); Vivo Noida/Ghaziabad partner-sale rule 7573 -> 13370; drop unused InventoryWarehouse WH_DL/WH_HR_DL/WAREHOUSE_IDS; migration 20261005_hr_ggn_central_brand_mapping.sql (13368 central for every ACTIVE warehouse, all brands except Oppo/Vivo, 532 rows, applied on hadb1) |
|
| 37804 |
28 d 8 h |
amit |
/trunk/profitmandi-dao/src/main/ |
fix(fofo-store): store every GSTIN in upper case at the entity setter
FofoStore.setGstNumber now normalises through StringUtils.normalizeGstNumber,
so no write path can store a mixed-case GSTIN. Only the partner-update path
normalised before; the LOI and trial-form paths wrote the field directly,
which is how 06bmlpk3545g1z0 and 03AAccn9802g1zp reached the table. NIC
expects upper case, and case-sensitive comparisons (including the own-seller
GSTIN check behind a NIC refusal) silently failed to match.
uppercase_fofo_store_gstin_20260928.sql corrects the four rows already on
record; it is already applied on hadb1 (0 mixed-case GSTINs remain). |
|
| 36727 |
151 d 16 h |
ranu |
/trunk/ |
beat plan info commit |
|
| 36439 |
178 d 20 h |
amit |
/trunk/profitmandi-dao/src/main/ |
Add outlet_name field to FofoStore entity, set from address.name on store creation
Adds outlet_name (VARCHAR 255) to FofoStore entity so the store's display
name is persisted directly on fofo_store instead of requiring a join through
retailer_registered_address -> address every time it is needed.
Sets fofoStore.setOutletName(retailerAddress.getName()) in both creation
paths: RetailerServiceImpl.createFofoStoreCodeByRetailerId (primary) and
RetailerController.createFofoStore (secondary).
Includes migration SQL script (migration_outlet_name_to_fofo_store.sql) to
ALTER TABLE and backfill existing rows from address.name. Must be run during
low-traffic window - fofo_store is heavily queried and ALTER takes a metadata
lock that blocks all concurrent SELECTs. |
|
| 36242 |
199 d 13 h |
aman |
/trunk/ |
Fix:Attachment is Full-stock payment approval ,Timeline ui graphical summary, wod initianl mail after store code creation |
|
| 35961 |
233 d 19 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/fofo/ |
Add closed state to FofoStore - permanent store closure with store code confirmation. Closed stores cannot be reactivated. |
|
| 35848 |
243 d 17 h |
amit |
/trunk/ |
Refactor investment logic to use own investment (total - utilized), remove minimumInvestmentOld, add OK_INVESTMENT_SHORT_PERCENTAGE constant, update thresholds CUTOFF_INVESTMENT=10 MIN_INVESTMENT_PERCENTAGE=5 |
|
| 35463 |
310 d 4 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/ |
Optimize /getMobileBrandWise and /getMobileLMSGraph queries
- Replace concat(year(), month()) pattern with date range comparisons
- Enables index usage on create_timestamp and activation_timestamp columns
- Update repository methods to pass date range parameters instead of string patterns |
|
| 35323 |
334 d 17 h |
amit |
/trunk/ |
Fixed changes regarding to FofoStore having expired field now ignored |
|
| 35301 |
341 d 14 h |
amit |
/trunk/ |
Fixed minimum investment logic |
|
| 35297 |
342 d 14 h |
amit |
/trunk/ |
Added logic to handle retailer |
|
| 35289 |
345 d 23 h |
amit |
/trunk/ |
Added trial franchisee feature |
|
| 35284 |
347 d 7 h |
aman |
/trunk/ |
Fix:Monthly acceories sale |
|
| 35079 |
395 d 20 h |
vikas |
/trunk/ |
Live Tracking and Shopify Products List Sync |
|
| 33124 |
951 d 17 h |
ranu |
/trunk/ |
area territory for fofo store(phase one) |
|