| Rev |
Age |
Author |
Path |
Log message |
Diff |
| 36448 |
4 d 12 h |
amit |
/trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/fofo/ |
DN lifecycle: add acknowledge rejected return V2 REST endpoint for partnerapp |
|
| 36447 |
4 d 12 h |
amit |
/trunk/profitmandi-fofo/src/main/ |
DN lifecycle UI: acknowledge rejected return endpoint, status labels, JS handler
- Add PUT /return/debit-note/reject/acknowledge/{debitNoteId} endpoint
- invoice-return.vm: Rejected-Pending Acknowledgment + Cancelled status labels, Acknowledge Receipt button
- return.js: click handler for acknowledge-rejected-return |
|
| 36446 |
4 d 12 h |
amit |
/trunk/profitmandi-dao/src/main/ |
DN lifecycle: decouple rejection from restore, add DebitNoteStatus, retailer acknowledgment flow
- Add DebitNoteStatus enum (CREATED/RECEIVED/APPROVED/REJECTED/CANCELLED) on debit_note table
- Add retailer_acknowledge_timestamp on purchase_return_order
- rejectReturn() no longer calls restoreReturnedItems() — inventory stays reduced until retailer confirms goods received back
- New acknowledgeRejectedReturn(): retailer confirms receipt, restores inventory+schemes+offers, DN→CANCELLED
- Set DN status in receiveDebitNoteItems (RECEIVED), refundOrder (APPROVED), rejectReturn (REJECTED)
- notifyReturnRejected: updated message, added Finance L1+L2 to CC
- notifyItemsReceived: added Finance L1
- New notifyRejectedGoodsAcknowledged notification
- SQL migration with backfill for existing data |
|
| 36445 |
4 d 16 h |
ranu |
/trunk/ |
knowlarity username password update |
|
| 36444 |
4 d 17 h |
ranu |
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/knowlarity/ |
uday sing maill added in po approval |
|
| 36443 |
4 d 20 h |
amit |
/trunk/profitmandi-dao/src/main/resources/sql/ |
Add ALTER TABLE migration to rename monitor_type normal to base |
|
| 36442 |
4 d 22 h |
amit |
/trunk/profitmandi-fofo/src/ |
Rename monitor type 'normal' to 'base' in controller, validator, UI, and tests |
|
| 36441 |
4 d 22 h |
amit |
/trunk/profitmandi-dao/src/main/ |
Rename monitor type 'normal' to 'base' in enum and SQL schema |
|
| 36440 |
5 d 0 h |
amit |
/trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/ |
Set outlet_name from retailerAddress on FofoStore creation in RetailerController |
|
| 36439 |
5 d 0 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. |
|
| 36438 |
5 d 0 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ |
Fix SD Credit over-utilization: use live loan SUM + row lock + sanction guard
- blockLoan: use SELECT FOR UPDATE to prevent concurrent orders from both passing credit check
- processLoanRequest: replace stored utilized_limit counter with live SUM(pending_amount) from loan table
- processLoanRequest + getAvailableAmount: only add sanction amount if not already used today
- Prevents credit limit from going negative due to counter drift or race conditions |
|
| 36437 |
5 d 1 h |
aman |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/dtr/ |
Fix |
|
| 36436 |
5 d 18 h |
ranu |
/trunk/ |
without vendor catalog pricing po will not create |
|
| 36435 |
5 d 23 h |
aman |
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/ |
Fix:Mark Inauguration Timestamp & Create Store Timeline Entry on Training Completion |
|
| 36434 |
6 d 13 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/ |
Fix: wrap PDF file save in try-catch for test reissue method (path may not exist locally) |
|
| 36433 |
6 d 13 h |
amit |
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/ |
Fix: move testReissueOneCN and reissueMarginsCN CLI triggers out of morning block so they can run standalone |
|
| 36432 |
6 d 13 h |
amit |
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/ |
Add testReissueOneCN and reissueMarginsCN CLI triggers for credit note reissue |
|
| 36431 |
6 d 13 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ |
Add reissueMarginsCN: reissue MARGINS credit notes with /A suffix, March 31 book date, Delhi GST skip, consolidated partner emails |
|
| 36430 |
6 d 13 h |
amit |
/trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ |
Add fixStuckLimitBlocks remediation for stuck limit_block=1 loans (Apr 27-29). Calls createLoanForBilling per invoice for each stuck limit block, creating actual loans and settling blocked limits. Validated locally: 59 fixes, 0 failures, all wallets net to zero. |
|
| 36429 |
6 d 17 h |
amit |
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ |
Fix credit limit settlement not happening on billing and post-billing cancellation
createLoanForBilling has REQUIRES_NEW (added for lock isolation against
order row locks held by the billing method). Inside that new transaction it
queried orders to find which were just billed — but the billing timestamps
set in the suspended outer transaction are invisible, so the condition
always evaluates FALSE when all orders are billed in one call. The limit
block is never converted to a loan and never released.
Fix: remove the order query. The caller already passes invoiceAmount (sum
of walletAmount for the billed orders). Use it directly with Math.min to
cap at pendingAmount. REQUIRES_NEW kept for lock isolation.
Also: cancelInvoiceFully and applyInvoiceReturnViaCreditNote (post-billing
invoice cancellation/return paths) credit the partner wallet but never
settle the non-limit loan created during billing. Added settleLoan call
after wallet credit in both paths, guarded by settledOn == null check.
Data defect: 95 stuck limit blocks totaling Rs 56.95 lakh across partners.
Most have no actual loan created. Needs one-time remediation via
fixBlockedCredit() in ScheduledTasks. |
|