Subversion Repositories SmartDukaan

Rev

Show changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
37310 3 h 4 m vikas /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/scratch/ Scratch Offers now selects only active partners  
37309 5 h 10 m vikas /trunk/ Scratch Offers now selects only active partners  
37308 5 h 28 m amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/inventory/ DN receipt: reject on condition mismatch instead of silently reclassifying

The receive screen defaulted the Condition dropdown to GOOD and receiveDebitNoteItems
overwrote purchase_return_item.type with whatever was submitted. A DOA return received
without touching the dropdown was rewritten BAD->GOOD, so on reject -> acknowledge the
restoreInventory branch put the unit back into good (sellable) stock instead of bad.
UKHD948/57: IMEI 353243710802439 was declared DOA, rejected as 'wrong entry', restored
as good stock and resold at MOP 3h44m later.

- receiveDebitNoteItems now compares each submitted condition against the stored one and
rejects the WHOLE debit note on any mismatch (PRO + rejectReturn are both per-DN and
there is no model for a partial receipt). PRO is still persisted so the receipt attempt
stays on record, then stamped rejected; no scans, no refund, no IRN work.
- Removed the pri.setReturnType(rt) overwrite. Past the gate the submitted condition always
equals the stored one, and applyReceipt already reads it off the entity. Rejected returns
now keep the declared type, so restoreReturnedItems restores to the right bucket.
- New notifyReturnRejectedConditionMismatch: to partner, cc Logistics L2/L3, RBM L1/L2 and
Sales L1 + first populated level in L2..L4. Sales ladder is sparse (L2 262 partners,
L3 64, L4 1582 of 1524 open stores) so a fixed L2/L3 rule resolves to nobody for most.
- getTeamEmails now filters inactive users and dedupes. csService.getAuthUserByCategoryId
(2-arg) does not filter active unlike its 1-arg sibling; fixed here rather than in
CsServiceImpl because that overload has ~25 other call sites where dropping inactive
users would change report scoping.
 
37307 5 h 53 m amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/scheme/ Block activation of item-less schemes (SELLIN/SELLOUT/SPECIAL_SUPPORT): validateSchemeHasItems guards activeSchemeById and activeSchemeByIds, fixes /todayOfferList NPE caused by scheme 7877  
37306 5 h 53 m amit /trunk/profitmandi-common/src/main/resources/ Block activation of item-less SELLIN/SELLOUT/SPECIAL_SUPPORT schemes: add SCHM_1009 response code  
37305 6 h 13 m ranu /trunk/ carry bag for silver at 1  
37304 6 h 19 m ranu /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/ v2 version some fixes  
37303 8 h 5 m ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/ one assist ew at 99 up to 20k  
37302 10 h 3 m amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ Split refurbished (margin scheme) items into their own order at placement

Refurbished lines are invoiced on the RF- series, but only the partner checkout path
split them out. Internal POs and bulk orders raised a single mixed transaction, which
billed as one invoice on whichever series its first line happened to resolve to
(NSPJB2757, NSPJB3212, NSUPDL3898/3899/4365/4366).

- PurchaseOrderServiceImpl: split a mixed internal PO into a regular PO and a margin
scheme PO, each with its own PO number, PDF and internal transaction. External vendor
POs raise no transaction, so they are left intact.
- BulkOrderService: raise one transaction per billing group, each with its own loan
sized to the wallet balance left to it. Pricing, combo, credit availability and the
first-PO gates still validate the order as a whole, so a split first PO cannot block
its own second half.
- TransactionServiceImpl: drop the float narrowing of walletUsed in
createTransactionForCartLines - the field is a double and the cart total is validated
within 0.001, so any total carrying paise was rejected.
 
37301 10 h 23 m ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/ one assist ew at 99 up to 20k  
37300 1 d 0 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/integrations/oneassist/ one assist ew at 99 up to 20k  
37299 1 d 0 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/ scratch offer live  
37298 1 d 1 h amit /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/ Default subCategoryId to 0 on endpoints that declare it required=false

subCategoryId is a primitive int, so a required=false declaration with no
defaultValue makes Spring throw when the param is omitted:

Optional int parameter 'subCategoryId' is present but cannot be translated
into a null value due to being declared as a primitive type.

v1 DealsController and GuestController already default it to 0; their v2
wrappers dropped that, and StoreController never had it on either version. Any
caller omitting the param got a 500 with a message that does not name the
parameter at fault.

Adding the default only removes that failure path — every currently working
caller already sends a value, so no existing behaviour changes.
 
37297 1 d 8 h ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/integrations/oneassist/ 13 to 16 ew at 99 rs u to 20k  
37296 1 d 8 h amit /trunk/profitmandi-web/src/main/resources/ external api v2: docs - color removed from all record shapes  
37295 1 d 8 h amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ external api v2: never expose item color on partner APIs (filter at API layer; catalog.item untouched)  
37294 1 d 10 h ranu /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/ all active brand in hot deals  
37293 1 d 11 h amit /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/fofo/ Fix region-ALL (fofoId=0 sentinel) handling on RBM home

active-offers: regionId resolved via rows.get(0).getFofoId(), which is 0 for
region ALL, so selectByRetailerId(0) threw FOFOSTR_1000 'Fofo store not found'
(400) for every region-ALL user. Now filters fofoId>0, picks an active store,
and falls back to the caller's fofoId when a region resolves to nothing.

rbm-regions: dropdown now lists only regions holding an active retailer (with
activePartners count), which drops the ALL pseudo-region; users carrying the
sentinel get every live region as assignedRegionIds instead of an empty set.

rbm-dashboard: expand the sentinel like CsServiceImpl does (row region ->
its partners; region ALL -> all active stores) so the partners tile stops
reporting 0/1. Scope-wide batches limited to stores/targets/purchases/
last-billed; name, wallet and loan lookups now run only over the returned
slice. partners and alerts capped via ?limit (default 50, max 200) with
partnersReturned/totalAlerts/alertsReturned/limit added to summary. Partners
with no target this month rank after those actually missing a target, so the
capped slice is not filled by unset-target stores.
 
37292 2 d 7 h amit /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ Hot deals: javadoc matches reindex-based sync

syncHotDealFlags no longer mirrors model_hot_deal into tag_listing.hot_deals;
since r37276 hot_deal_b is derived from the active window at index time, so the
daily job re-indexes models whose window opened today or closed yesterday.
Comment-only, no behaviour change.
 
37291 2 d 12 h amit /trunk/profitmandi-web/src/main/resources/ external api v2: docs - parameters-at-a-glance table, per-endpoint optional/required params, clamp semantics  

Show All