Subversion Repositories SmartDukaan

Rev

Hide changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff Changes
37798 10 d 7 h amit /trunk/profitmandi-fofo/src/main/ Show a settled debit note as settled instead of offering Receive

The DN screens decided everything from "does a purchase_return_order exist",
which no return settled before the receive workflow ever had. A note settled
years ago therefore read "Pending Receive" with a Receive button, and receiving
one handed a partner back a phone already returned, refunded and resold
(DN UPBLY975/4, IMEI 864973083197734).

The debit note's own status now carries the fact - CREATED means there is
genuinely something to receive, anything else means it is settled - so the
screens read it directly instead of re-deriving it from warehouse scans on
every page load. r37797 backfilled the 4,154 notes the old flow left behind.

- invoice-return-results, debit-notes-table, debit-note-details,
receive-debit-note: Receive only while the note is CREATED with no return
order; otherwise "Processed - settled earlier".
- debit-notes-table: Refund only on a note received and not yet settled,
rather than on every row.
- PurchaseReturnController: the admin debit-note list now loads the return
orders its Refund button needs.

Deploy with profitmandi-dao r37797.
 
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/PurchaseReturnController.java
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/debit-note-details.vm
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/debit-notes-table.vm
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/invoice-return-results.vm
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/receive-debit-note.vm
37365 50 d 3 h amit /trunk/profitmandi-fofo/src/main/ Debit note receive: surface the partner-declared condition and warn before rejecting

The receive screen defaulted every row's condition to GOOD regardless of what the
partner declared, so a warehouse user could not see what they were disagreeing with -
and the backend treats any disagreement as a rejection of the whole debit note.

- Show 'Declared By Partner' per row and preselect the condition to match it, so
submitting unchanged is a genuine agreement rather than an accident of the default.
- A changed row now switches the submit button to 'Reject Return', shows what rejection
means (no refund; partner, Logistics, RBM and Sales notified), makes the remark
mandatory and confirms before posting.
- SMTP timeouts raised to 30s connect / 120s read-write; the 10s read timeout was
cutting off larger attachment sends.
- jsVersion 405 -> 406 for the return.js change.
 
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/receive-debit-note.vm
/trunk/profitmandi-fofo/src/main/webapp/resources/js/business/return.js
36408 164 d 4 h amit /trunk/profitmandi-fofo/src/main/ Sale-return reversal: controller wiring + UI for cancellability gate + INV reject + date filter

PurchaseReturnController:
/return/invoice/process — autoApprove now isIrnCancellable && !isShipped.
!isShipped guard restored: shipped goods route through manual approval
even within 24h, so the physical return goes through CN flow.
/return/invoice/reject/{proId} — new endpoint for finance to reject a
pending INV PRO (sale stands, no inventory/wallet/GST action).
/return/invoice — date filter (fromDate/toDate query params, default
last 30 days) backed by selectByWarehouseIdsAndDateRange. Limit
bumped to 200 to accommodate longer ranges.
receive-debit-note view — passes $requiresFinanceApproval so the
template can render the finance-approval banner when DN's IRN is
past the 24h window.

invoice-return.vm:
Added From/To date inputs + Apply button.
Added Reject button next to Approve & Refund for pending INV PROs.

receive-debit-note.vm:
Added one informational banner (#if $requiresFinanceApproval) above
the receipt form. No layout / JS / submit-URL change.

return.js:
#invoice-return-date-apply handler — POSTs the selected range to
/return/invoice and refreshes the table.
.reject-invoice-return handler — prompts for reason, calls the new
reject endpoint.

dev/staging/prod.properties: feature flag finance.receipt.approval.email.enabled
(default false, flip per env when mail infra is ready).
 
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/PurchaseReturnController.java
/trunk/profitmandi-fofo/src/main/resources/META-INF/dev.properties
/trunk/profitmandi-fofo/src/main/resources/META-INF/prod.properties
/trunk/profitmandi-fofo/src/main/resources/META-INF/staging.properties
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/invoice-return.vm
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/receive-debit-note.vm
/trunk/profitmandi-fofo/src/main/webapp/resources/js/business/return.js
35998 208 d 4 h amit /trunk/profitmandi-fofo/src/main/ Invoice Return: controller endpoints, UI views (receive/refund/reject/details/search), JS handlers, role-based access, dashboard menu  
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/debit-note-details.vm
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/invoice-return-results.vm
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/invoice-return.vm
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/receive-debit-note.vm
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/refund-debit-note.vm
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/PurchaseReturnController.java
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/dashboard-readonly.vm
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/debit-notes-table.vm
/trunk/profitmandi-fofo/src/main/webapp/resources/js/business/return.js