Subversion Repositories SmartDukaan

Rev

Show changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
37099 56 m amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/warehouse/ GRN: default supplier invoiceDate to received date when blank

Operators frequently leave invoiceDate empty on PO-based GRN uploads
(addPORowModels), persisting NULL invoice.invoiceDate (~26% of received
invoices historically). This breaks the warehouse ageing/valuation
reports that key off invoiceDate. Default it to the received date at the
single feed into addWarehouseSupplierInvoice, matching the historical
backfill convention. Fofo newReceiveInvoice already enforces this.
 
37098 2 h 27 m amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/catalog/ Align CatalogRepository.selectCatalog signature with impl param order (brand, modelNumber, modelName)

Interface declared (brand, modelName, modelNumber) while CatalogRepositoryImpl
binds equalsMap keys off its own params (brand, modelNumber, modelName). The lone
caller, ItemLoaderService.addItem, passes impl order, so lookups worked by accident.
Any new caller trusting the interface signature would have silently swapped
modelName/modelNumber and minted phantom catalogs on lookup miss.

Names only; binary signature (String,String,String) is unchanged, so behaviour and
all callers are unaffected.
 
37097 19 h 53 m ranu /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ bulletin api giving us error  
37096 20 h 1 m ranu /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/ old version app disabled for rbm  
37095 21 h 34 m ranu /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/ old version app disabled for rbm  
37094 1 d 1 h ranu /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/ v2 version some fixes  
37093 1 d 1 h ranu /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/ old version app disabled for rbm  
37092 1 d 3 h ranu /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/ old version app disabled for rbm  
37091 1 d 19 h amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/order/ Bulk orders: enforce combo requirements for RBM/SALES creators

Bulk PO path skipped combo validation, letting RBM/SALES-created bulk orders bill a
combo main without its required side(s). Now, when the creator holds an RBM(18) or
SALES(4) position, run the existing cart-path comboService.validateCombo on the
per-partner cart (already built via cartService.setCartItems) right before the
transaction is created. Restrict-only: throws 'Missing required Qty for Combo' if a
side is missing; never auto-injects. Gate fail-open; other creators (incl AUTO PO) unaffected.
 
37090 1 d 23 h amit /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/ partnerPerformance: cut per-request query load

- Live-read credit utilization from sd_credit_requirement (match Wallet page, not the 3h-cached blob)
- Remove dead duplicate order query + hot-path debug logging
- Batch monthly targets; use fofoId-scoped billing-avg and month-bucketed earnings queries
(getEarning arithmetic unchanged); drop dead category-upgrade query
 
37089 1 d 23 h amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/ Optimize partnerPerformance data access: fofoId-scoped + month-bucketed query variants

- Order: fofoId-scoped billing-avg named queries (replace all-partner scan+filter)
- MonthlyTarget: selectByDatesAndFofoId batches 7 per-month lookups into one
- SchemeInOut/OfferPayout: month-bucketed ...ByMonth earnings queries collapsing the
per-month loop; new MonthlyBrandIncomeModel / MonthlyOfferPayoutModel
All additive; existing shared queries and their callers unchanged.
 
37088 1 d 23 h amit /trunk/profitmandi-fofo/src/main/ Add Warehouse column to purchase order listing (warehouseId -> name via WAREHOUSE_MAP)  
37087 1 d 23 h amit /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ Partner limit read-phase per-partner isolation + drop dead reject wrapper

- PartnerLimitHelper.calculateChangedPartnerLimits: wrap the per-partner body in
try/catch so one partner's bad data (null limit/util in compareTo, or a
billing-date / risk lookup failure) no longer aborts the whole read phase and
silently updates zero partners every 20 min. Mirrors the write phase's
REQUIRES_NEW isolation.
- Remove dead ScheduledTasks.rejectPriceDropsOfApprovedImeis wrapper; the
@Scheduled trigger now delegates to PriceDropBatchService.
 
37086 1 d 23 h amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/pricing/ Remove dead rejectPriceDropsOfApprovedImeis (superseded by PriceDropBatchService)

The noon reprocess now runs via PriceDropBatchService (per-drop REQUIRES_NEW);
the old single-transaction PriceDropService.rejectPriceDropsOfApprovedImeis and
its interface declaration have no remaining callers.
 
37085 1 d 23 h amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/invoicing/ Show PO No and Order Date on transaction invoices/delivery challans

Populate InvoicePdfModel.orderDate (order createTimestamp) on every invoice
and delivery challan. Populate poNumber from the mapped warehouse PO for
internal-PO-derived orders, falling back to the transaction id as the PO
number for non-internal orders. Display-only; no e-invoice/IRN impact.
 
37084 1 d 23 h ranu /trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/v2/controller/ v2 version some fixes  
37083 2 d 1 h amit /trunk/profitmandi-cron/src/main/java/com/smartdukaan/cron/scheduled/ Wire noon price-drop cron to per-drop batch (PriceDropBatchService)

@Scheduled("0 0 12") now delegates to
BatchScheduledTasks.reprocessPriceDropsWithBatch() -> PriceDropBatchService,
so each price drop commits in its own REQUIRES_NEW transaction instead of one
~20-min transaction holding user_wallet locks and timing out live
wallet/order/scan traffic at noon.

Requires profitmandi-dao PriceDropBatchService / PriceDropProcessingHelper.
 
37082 2 d 1 h amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/pricing/ Fix noon price-drop lock storm + wallet-rollback divergence

Per-drop transaction isolation for the noon price-drop reprocess, mirroring
the offer batch pattern (OfferBatchService / OfferProcessingHelper):
- PriceDropProcessingHelper: readOnly id fetch + REQUIRES_NEW per-drop
reprocess (processPriceDrop) + markItemSuccess
- PriceDropBatchService: no-@Transactional orchestrator - fetch ids,
createBatch, per-drop loop with markItemFailed, finalizeBatch

Previously the whole reprocess ran under ScheduledTasks' class-level
@Transactional as one ~20-min transaction, holding user_wallet
PESSIMISTIC_WRITE locks for the entire run and timing out live
/addAmountToWallet, /create-order and /scanSerialized at noon
(LockAcquisitionException).

Also narrow the rollback catch in PriceDropServiceImpl from Exception to
ProfitMandiBusinessException: lock/DB failures now propagate and roll back
the drop's REQUIRES_NEW unit (stays APPROVED, retried next run) instead of
being swallowed while the IMEI is marked REJECTED with the payout still in
the partner's wallet.
 
37081 2 d 1 h ranu /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/ old version app disabled for rbm  
37080 2 d 1 h amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/biuedart/ T16: split ShippingRequest.java into one-class-per-file (Services/Request/Consignee/ReturnAddress/Commodity/Dimension/ItemDetail/Shipper/Profile) to fix intermittent gradle incremental 'cannot find symbol Services/Request' Bluedart build failures; no logic change  

Show All