Subversion Repositories SmartDukaan

Rev

Show changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
37784 1 d 21 h vikas /trunk/ Corrected LMS Data and Added filter  
37782 1 d 22 h amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/ fix(catalog): add serializedOnly overloads of selectAllItems/selectAllBrands

r37776 committed InventoryServiceImpl calling the 3-arg selectAllItems and
selectAllBrands, but the repository overloads and the named-query parameters
they bind were left uncommitted, so a build from trunk failed.

serializedOnly = true restricts the model/brand pickers to IMEI items; the
2-arg forms delegate with false, unchanged behaviour.
 
37779 1 d 23 h amit /trunk/profitmandi-dao/src/main/ feat(cs): demo partner access for sales team

New cs.demo_partner_access binding (sales auth user -> partner) used only to
open a partner's dashboard/app for demos. Read only at partner-view entry
points; CsService position mappings are untouched, so performance, targets,
reports and cron mails are unaffected.

- DemoPartnerAccess entity + repository
- DemoPartnerAccessService: grant (sales-only, active store, skips duplicate
and position-mapped), soft revoke, isAllowed (position OR demo),
demo emails for app lists, canManage (mirrors sidebar menu rule)
- AdminUser.ALL_MENU_EMAILS extracted so canManage and the sidebar share it
- migration_demo_partner_access.sql: table + "Demo Partner Access" menu
under Admin Control (NOT yet applied on hadb1)
 
37778 2 d 14 h amit /trunk/profitmandi-dao/src/main/ fix(catalog): delist cron retires only models it darkened in the same run

Step 4 scanned every mobile model with no active listing and moved it to OTHER,
so new launches (categorised before listing) and hand-paused models were retired
the next morning, e.g. Nothing Phone 4 1026596-603 on 2026-09-15. Scope it to
models whose listing this run delisted (_delist_audit run_date = today).
Add fix_dark_model_retire_20260924.sql to restore the 16 models still stuck on OTHER.
 
37776 2 d 16 h amit /trunk/profitmandi-dao/src/main/ returns: reverse a refunded debit-note return whose goods never reached the warehouse

Once a return was refunded nothing could undo it - rejectReturn refuses an already
refunded one - so a return booked and paid for goods that never arrived left phantom
warehouse stock, the unit missing from partner stock, the order marked returned, a
wallet credit and a filed credit note, with no way back.

ReturnReversalService.reverse(imei, reason, by, dryRun) undoes exactly one unit:
the warehouse return scan (row deleted so a genuine return later is not rejected as a
duplicate) and the stock it added, partner stock with its schemes/price drop/offers,
the order's return quantity and status, the wallet refund as a REVERSAL entry, and the
return item / debit note. Guards refuse anything that has moved since the refund, and a
dry run reports the plan without writing.

The credit note follows movement and the NIC clock: inside the 24h window, and only
when the note credits nothing but this unit, its IRN is cancelled and the note marked
cancelled; past it a DBN with its own IRN is issued against the note
(CreditNoteService.issueReturnReversalDebitNote, stored as CN_CANCELLATION with no
margin month so the statement does not show it twice - the wallet REVERSAL is the
statement line); a note never filed at NIC is voided locally. Every local write happens
first and NIC last, so a refusal rolls the whole reversal back.

fofo.return_reversal (return_reversal_20260921.sql) records each reversal and, unique
per return item, makes it once-only. Also adds cancelled=0 to the RETURNS_CN branches of
the account statement queries, without which a cancelled note keeps crediting the
statement - no current effect, no RETURNS note is cancelled today.
 
37775 2 d 17 h ranu /trunk/ aging po approval process  
37769 2 d 18 h amit /trunk/profitmandi-dao/src/ fix(movement): receive a movement invoice only against its own PO, stop auto-closing movements, cancel reduces the PO line

- GRN: movement invoice resolves invoice -> orders -> transaction -> its own movement PO (or a receive-only PO
from the billing warehouse); supplier/warehouse keyed at entry must match; scanned IMEIs must be the billed ones
- Cancelling an unbilled movement order takes its qty off the PO line; PO CLOSED/PRECLOSED once nothing is open
- reopenedAt removed (movements no longer auto-close); PO records createdBy
- SupplierStateResolver: a supplier's state is derived from its GSTIN on save
- sql: add_po_created_by (applied), drop_po_reopened_at (run AFTER fofo/cron/web deploy)
 
37767 2 d 18 h amit /trunk/profitmandi-dao/src/ fix(orders): movements ship from their source only; a row reserved beyond its stock gives nothing

Internal movement orders were allocated by the partner allocator, which spills a source
shortfall to every warehouse the brand mapping links to the destination - stock billed
there has no PO to be received against (PO 54279: 3 units put on Jaipur for a UP->Delhi
movement). createTransactionInternally now keeps the source's own rows only; a shortfall
still parks on the source's Dummy.

getItemQty took min(qty, netAvailability) on a row reserved beyond its stock - always the
case on a Dummy holding an open order - so a -1 row added a unit to the shortfall, which
then parked on the Dummy as an extra order (24 Sep: 9 units raised for a movement of 8,
refused by the cart-value guard). Rows with nothing free are now skipped and no longer
offset another row's free stock in the warehouse total.

Removes the empty, uncalled markOrdersAsGrnCompleted.
 
37764 2 d 19 h amit /trunk/profitmandi-dao/src/main/ feat(store-closure): require reason, remark and approval mail to close a store; mail closure report

- fofo.store_closure audit table (reason, remark, approval document, closed_by); migration applied on hadb1
- StoreClosureService: validates and closes, queues closure report with approval attached to the
partner's Sales L2, top 3 Sales levels, top Accounts level and the closer
- StoreAccess: single home for store close/deactivate/activate/extend-billing access lists;
neeraj.gupta can close, mohit.gulati removed from extend billing
 
37762 2 d 23 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/warehouse/ aging po approval process  
37761 2 d 23 h ranu /trunk/ aging po approval process  
37759 3 d 17 h vikas /trunk/ LMS Call for App  
37758 3 d 17 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/model/ aging po approval process  
37757 3 d 17 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/model/ aging po approval process  
37756 3 d 17 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/warehouse/ aging po approval process  
37755 3 d 17 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/warehouse/ aging po approval process  
37754 3 d 17 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/warehouse/ aging po approval process  
37753 3 d 17 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/warehouse/ aging po approval process  
37752 3 d 17 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/warehouse/ today po rbm view showing only for l7 and above  
37751 3 d 17 h ranu /trunk/ aging po approval mail to some collected users  

Show All