Subversion Repositories SmartDukaan

Rev

Show changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
37791 11 d 14 h amit /trunk/profitmandi-fofo/src/main/ Sale returns: Finance-only B2C settlement after a NIC GSTIN refusal

Once NIC has refused a return because the buyer's GSTIN is cancelled or
invalid, only Finance may act on it - approve, retry or reject. The pending
queue shows the refusal reason and, on the day it happened, a "Refund as
B2C" action; Logistics sees "IRN failed - awaiting Finance" and no buttons.

The B2C screen states NIC's reason and every returned line with its value
including and excluding GST, and fixes the refund at the value net of GST
in whole rupees. Finance types that figure back by hand, enters a remark and
ticks the consent box before the button enables; the server re-checks the
amount, the remark, the consent and the same-day window, so the screen is a
convenience and not the control. Cancelling or finishing returns to the
queue, and a refused approval now reloads the queue so the B2C action
appears without a manual refresh.

jsVersion 438 -> 439 for return.js.
 
37593 28 d 9 h amit /trunk/profitmandi-fofo/src/main/ Show partners their aged Apple stock and why it lowers their credit limit

Apple handsets held past 30 days are deducted when the credit limit is
calculated, but nothing told the partner - they saw a limit drop with no
explanation. Adds a dashboard banner alongside the existing 'activated but not
billed' one, shown only when the partner actually has such stock (70 of 980
today), with the unit count, the value, and View Imeis for the detail.

- dashboard-aged-apple-stock.vm, parsed in dashboard1.vm under
#if($investments.aged_apple_qty > 0)
- count and value both read from the maintained partner_investment snapshot, so
the banner never runs its own query and always matches the amount the limit is
actually reduced by
- amount wrapped in <span class="currency"> so common.js formatCurrency() renders
it instead of a raw float
- /agedAppleImeis + aged-apple-imeis.vm list the units, excluding activated ones -
those are already deducted as activated stock and shown in their own banner, so
no handset appears in both
- click handler added to the existing activated-imeis.js rather than inline in the
fragment: an inline script in an AJAX-injected fragment re-registers
$(document).on on every load and stacks duplicate requests
- jsVersion 420 -> 421
 
37543 31 d 16 h amit /trunk/profitmandi-fofo/src/main/ receive debit note: resolve the DOA section from the declared condition, not from a change

The condition dropdown renders with the partner's declared value already selected, so
a declared BAD - the ordinary DOA case - fired no change event and the DOA certificate
radios stayed hidden. The operator could not supply a certificate, and receiveDebitNoteItems
then refused the receipt for a missing one, making those debit notes unreceivable.

applyDeclaredConditions seeds each dropdown from the row's data-declared and settles the
dependent sections on load; the show/hide logic moves out of the change handler into
syncReceiveConditionState, which reads the current state of the form rather than whatever
was last touched. The change handler now calls the same function.

The server-side 'selected' stays as a fallback: without it a declared BAD would present as
GOOD if the script failed to load, and the server reads that difference as the warehouse
disagreeing with the partner, which rejects the whole debit note.

jsVersion 417 -> 418.
 
37365 51 d 8 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.
 
36447 161 d 5 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
 
36408 165 d 9 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).
 
36316 172 d 9 h aman /trunk/ Fix:Migrate legacy Purchase Return flow (Report + Bulk Create + Debit Notes) into FOFO  
36027 204 d 9 h amit /trunk/profitmandi-fofo/src/main/ Sale Returns: finance approval endpoint, invoice links in all views, invoice map for INV: returns, purchase reference check fix  
36022 205 d 9 h amit /trunk/profitmandi-fofo/src/main/ Sale Returns: invoice return flow with auto-approve, rename to Sale Returns, role-based search results, Finance L2+ access  
35998 209 d 9 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  
34580 508 d 14 h ranu /trunk/ intrasist data modification  
34525 522 d 10 h ranu /trunk/profitmandi-fofo/src/main/ activated imeis given to dashboard  
34142 630 d 16 h tejus.lohani /trunk/profitmandi-fofo/src/main/ DN request only mapped partner ,show only mapped partner  
33910 703 d 15 h amit.gupta /trunk/ Fixed logistcs changes  
30828 1515 d 17 h amit.gupta /trunk/ Fixed commit  
30466 1601 d 14 h amit.gupta /trunk/profitmandi-fofo/src/main/webapp/ Fixed issues with activated imeis  
30017 1697 d 19 h amit.gupta /trunk/ Fixed minor issues with price circular  
29937 1712 d 10 h amit.gupta /trunk/profitmandi-fofo/src/main/webapp/ OK  
27763 2068 d 10 h tejbeer /trunk/ partner onboarding panel changes  
27755 2069 d 9 h amit.gupta /trunk/profitmandi-fofo/src/main/webapp/resources/js/ Fixed live with on  

Show All